From 8d2892058a0c11a64c2be4d04955ad4ac063a7af Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Fri, 15 Nov 2019 15:26:01 +0800 Subject: [PATCH 001/172] #191 Upgrade new best practice model for cn version --- .../database/ch/01.cmdb.schema_ch.sql | 460 ++++--- .../database/ch/02.cmdb.system.data_ch.sql | 587 +++++---- .../ch/03.cmdb.system.data.mysql_ch.sql | 1101 ++++++++-------- .../ch/04.cmdb.experience.data_ch.sql | 402 ------ .../local/ch/03.cmdb.system.data.h2_ch.sql | 1102 +++++++++-------- 5 files changed, 1801 insertions(+), 1851 deletions(-) diff --git a/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql b/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql index 4fcef4793..5eccd5a32 100755 --- a/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql @@ -400,7 +400,7 @@ CREATE TABLE IF NOT EXISTS `adm_state_transition` ( CONSTRAINT `fk_adm_state_transition_target_state` FOREIGN KEY (`target_state`) REFERENCES `adm_basekey_code` (`id_adm_basekey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `block_storage` ( +CREATE TABLE IF NOT EXISTS `block_storage` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -416,17 +416,17 @@ CREATE TABLE `block_storage` ( `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', + `block_storage_type` int(15) DEFAULT NULL COMMENT '块存储类型', `charge_type` int(15) DEFAULT NULL COMMENT '计费模式', `disk_size` int(15) DEFAULT NULL COMMENT '容量(GB)', - `host` varchar(15) DEFAULT NULL COMMENT '主机', - `instance_num` int(2) DEFAULT NULL COMMENT '计费周期(月)', + `end_date` datetime DEFAULT NULL COMMENT '截止时间,包年包月时必须给出', `mount_point` varchar(50) DEFAULT NULL COMMENT '挂载点', `name` varchar(50) DEFAULT NULL COMMENT '名称', - `type` int(15) DEFAULT NULL COMMENT '类型', + `resource_instance` varchar(15) DEFAULT NULL COMMENT '资源实例', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `DCN` ( +CREATE TABLE IF NOT EXISTS `business_app_instance` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -441,13 +441,42 @@ CREATE TABLE `DCN` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `dcn_design` varchar(15) DEFAULT NULL COMMENT '数据中心节点设计', + `cpu` varchar(50) DEFAULT NULL COMMENT 'CPU(核)', + `deploy_package` varchar(15) DEFAULT NULL COMMENT '部署包', + `deploy_package_url` varchar(200) DEFAULT NULL COMMENT '部署包路径', + `deploy_user_password` varchar(200) DEFAULT NULL COMMENT '部署用户密码', + `memory` varchar(50) DEFAULT NULL COMMENT '内存(GB)', + `port` varchar(50) DEFAULT NULL COMMENT '端口', + `resource_instance` varchar(15) DEFAULT NULL COMMENT '资源实例', + `storage` int(50) DEFAULT NULL COMMENT '存储空间(GB)', + `unit` varchar(15) DEFAULT NULL COMMENT '单元', + `unit_type` int(15) DEFAULT NULL COMMENT '单元类型', + PRIMARY KEY (`guid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `business_zone` ( + `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', + `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', + `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', + `updated_by` varchar(50) DEFAULT NULL COMMENT '更新用户', + `updated_date` datetime DEFAULT NULL COMMENT '更新日期', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建用户', + `created_date` datetime DEFAULT NULL COMMENT '创建日期', + `key_name` varchar(200) DEFAULT NULL COMMENT '唯一名称', + `state` int(15) DEFAULT NULL COMMENT '状态', + `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', + `code` varchar(50) DEFAULT NULL COMMENT '编码', + `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', + `orchestration` int(15) DEFAULT NULL COMMENT '编排', + `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', + `dcn_design` varchar(15) DEFAULT NULL COMMENT '业务区域设计', `name` varchar(50) DEFAULT NULL COMMENT '名称', - `zone` varchar(15) DEFAULT NULL COMMENT '安全区域', + `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', + `network_zone` varchar(15) DEFAULT NULL COMMENT '网络区域', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `DCN_desgin` ( +CREATE TABLE IF NOT EXISTS `business_zone_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -463,12 +492,12 @@ CREATE TABLE `DCN_desgin` ( `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `business_group` int(15) DEFAULT NULL COMMENT '业务群组', - `type` int(15) DEFAULT NULL COMMENT '类型', + `network_segment_design` varchar(15) DEFAULT NULL COMMENT '网段设计', `zone_design` varchar(15) DEFAULT NULL COMMENT '安全区域设计', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `host` ( +CREATE TABLE IF NOT EXISTS `data_center` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -483,22 +512,16 @@ CREATE TABLE `host` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', - `charge_type` int(15) DEFAULT NULL COMMENT '计费模式', - `disk` int(15) DEFAULT NULL COMMENT '系统盘(G)', - `instance_num` int(2) DEFAULT NULL COMMENT '计费周期(月)', - `internet_nat_ip` varchar(15) DEFAULT NULL COMMENT '外网IP', - `intranet_ip` varchar(15) DEFAULT NULL COMMENT '内网IP', + `auth_parameter` int(15) DEFAULT NULL COMMENT '认证参数', + `data_center_design` varchar(15) DEFAULT NULL COMMENT '数据中心设计', + `deploy_environment` int(15) DEFAULT NULL COMMENT '部署环境', `name` varchar(50) DEFAULT NULL COMMENT '名称', - `os` int(15) DEFAULT NULL COMMENT '操作系统', - `password` varchar(64) DEFAULT NULL COMMENT '主机登陆密码', - `resource_set` varchar(15) DEFAULT NULL COMMENT '资源集', - `type` int(15) DEFAULT NULL COMMENT '类型', - `username` varchar(50) DEFAULT NULL COMMENT '主机登陆用户名', + `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', + `user_id` varchar(50) DEFAULT NULL, PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `IDC` ( +CREATE TABLE IF NOT EXISTS `data_center_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -513,17 +536,12 @@ CREATE TABLE `IDC` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `address` varchar(1000) DEFAULT NULL COMMENT '地址', - `city` varchar(50) DEFAULT NULL COMMENT '城市', - `env_type` int(15) DEFAULT NULL COMMENT '类型', - `idc_design` varchar(15) DEFAULT NULL COMMENT '机房设计', `name` varchar(50) DEFAULT NULL COMMENT '名称', - `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', - `parameter` varchar(1000) DEFAULT NULL COMMENT '远程参数', + `network_segment_design` varchar(15) DEFAULT NULL COMMENT '网段设计', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `IDC_design` ( +CREATE TABLE IF NOT EXISTS `deploy_package` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -538,12 +556,58 @@ CREATE TABLE `IDC_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `env_type` int(15) DEFAULT NULL COMMENT '环境类型', - `name` varchar(50) DEFAULT NULL COMMENT '名称', + `absolute_deploy_file_path` varchar(200) DEFAULT NULL COMMENT '执行部署脚本文件', + `absolute_start_file_path` varchar(200) DEFAULT NULL COMMENT '启动脚步文件', + `absolute_stop_file_path` varchar(200) DEFAULT NULL COMMENT '停止脚步文件', + `deploy_file_path` varchar(200) DEFAULT NULL COMMENT '执行部署脚本文件', + `deploy_package_url` varchar(200) DEFAULT NULL COMMENT '存储路径', + `deploy_path` varchar(200) DEFAULT NULL COMMENT '部署路径', + `deploy_user` varchar(15) DEFAULT NULL COMMENT '部署用户', + `diff_conf_file` varchar(200) DEFAULT NULL COMMENT '差异配置文件', + `md5_value` varchar(50) DEFAULT NULL COMMENT 'MD5值', + `name` varchar(50) DEFAULT NULL COMMENT '包名称', + `start_file_path` varchar(200) DEFAULT NULL COMMENT '启动脚步文件', + `stop_file_path` varchar(200) DEFAULT NULL COMMENT '停止脚步文件', + `unit_design` varchar(15) DEFAULT NULL COMMENT '单元设计', + `upload_time` datetime DEFAULT NULL COMMENT '上传时间', + `upload_user` varchar(50) DEFAULT NULL COMMENT '上传人', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `invoke` ( +CREATE TABLE IF NOT EXISTS `deploy_package$diff_conf_variable` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `from_guid` varchar(15) NOT NULL, + `to_code` int(11) NOT NULL, + `seq_no` int(5) DEFAULT '0', + PRIMARY KEY (`id`), + KEY `deploy_package$diff_conf_variable_fk_code` (`to_code`), + CONSTRAINT `deploy_package$diff_conf_variable_fk_code` FOREIGN KEY (`to_code`) REFERENCES `adm_basekey_code` (`id_adm_basekey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `deploy_user` ( + `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', + `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', + `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', + `updated_by` varchar(50) DEFAULT NULL COMMENT '更新用户', + `updated_date` datetime DEFAULT NULL COMMENT '更新日期', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建用户', + `created_date` datetime DEFAULT NULL COMMENT '创建日期', + `key_name` varchar(200) DEFAULT NULL COMMENT '唯一名称', + `state` int(15) DEFAULT NULL COMMENT '状态', + `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', + `code` varchar(50) DEFAULT NULL COMMENT '编码', + `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', + `orchestration` int(15) DEFAULT NULL COMMENT '编排', + `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', + `group_id` varchar(50) DEFAULT NULL COMMENT '用户组ID', + `group_name` varchar(50) DEFAULT NULL COMMENT '用户组名', + `home_path` varchar(200) DEFAULT NULL COMMENT 'home目录', + `name` varchar(50) DEFAULT NULL COMMENT '用户名', + `user_id` varchar(50) DEFAULT NULL COMMENT '用户ID', + PRIMARY KEY (`guid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `invoke` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -559,12 +623,13 @@ CREATE TABLE `invoke` ( `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `invoke_design` varchar(15) DEFAULT NULL COMMENT '调用设计', + `invoke_type` int(15) DEFAULT NULL COMMENT '调用类型', `service` varchar(15) DEFAULT NULL COMMENT '服务', `unit` varchar(15) DEFAULT NULL COMMENT '单元', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `invoke_design` ( +CREATE TABLE IF NOT EXISTS `invoke_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -579,13 +644,13 @@ CREATE TABLE `invoke_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', + `invoke_type` int(15) DEFAULT NULL COMMENT '调用类型', `service_design` varchar(15) DEFAULT NULL COMMENT '服务设计', - `type` int(15) DEFAULT NULL COMMENT '类型', `unit_design` varchar(15) DEFAULT NULL COMMENT '单元设计', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `invoke_sequence_design` ( +CREATE TABLE IF NOT EXISTS `invoke_seq_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -600,12 +665,12 @@ CREATE TABLE `invoke_sequence_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `name` varchar(50) DEFAULT NULL COMMENT '服务名称', - `service_design` varchar(15) DEFAULT NULL COMMENT '服务设计', + `name` varchar(50) DEFAULT NULL COMMENT '时序名称', + `system_design` varchar(15) DEFAULT NULL COMMENT '系统设计', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `invoke_sequence_design$invoke_design_sequence` ( +CREATE TABLE IF NOT EXISTS `invoke_seq_design$invoke_design_sequence` ( `id` int(11) NOT NULL AUTO_INCREMENT, `from_guid` varchar(15) NOT NULL, `to_guid` varchar(15) NOT NULL, @@ -613,7 +678,7 @@ CREATE TABLE `invoke_sequence_design$invoke_design_sequence` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `ip_addr` ( +CREATE TABLE IF NOT EXISTS `ip_address` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -628,13 +693,14 @@ CREATE TABLE `ip_addr` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `network_segment` varchar(15) DEFAULT NULL COMMENT 'IP网段', - `type` int(15) DEFAULT NULL COMMENT '类型', + `ip_address_usage` int(15) DEFAULT NULL COMMENT 'IP用途', + `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', + `network_segment_type` int(15) DEFAULT NULL COMMENT '网段类型', `used_record` varchar(1000) DEFAULT NULL COMMENT '使用记录', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `network_segment` ( +CREATE TABLE IF NOT EXISTS `network_segment` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -649,16 +715,16 @@ CREATE TABLE `network_segment` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', `f_network_segment` varchar(15) DEFAULT NULL COMMENT '父网段', `gateway_ip` varchar(15) DEFAULT NULL COMMENT '网关IP地址', - `mask` int(15) DEFAULT NULL COMMENT '子网', - `name` varchar(50) DEFAULT NULL COMMENT '服务名称', - `type` int(15) DEFAULT NULL COMMENT '类型', + `mask` int(15) DEFAULT NULL COMMENT '子网掩码', + `name` varchar(50) DEFAULT NULL COMMENT '名称', + `network_segment_design` varchar(15) DEFAULT NULL COMMENT '网段设计', + `network_segment_type` int(15) DEFAULT NULL COMMENT '网段类型', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `package` ( +CREATE TABLE IF NOT EXISTS `network_segment_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -673,32 +739,59 @@ CREATE TABLE `package` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `deploy_file` varchar(200) DEFAULT NULL COMMENT '部署脚本文件', - `deploy_path` varchar(200) DEFAULT NULL COMMENT '部署路径', - `deploy_user` int(15) DEFAULT NULL COMMENT '部署用户', - `diff_conf_file` varchar(200) DEFAULT NULL COMMENT '差异配置文件', - `md5_value` varchar(50) DEFAULT NULL COMMENT 'MD5值', - `name` varchar(50) DEFAULT NULL COMMENT '包名称', - `start_file` varchar(200) DEFAULT NULL COMMENT '启动脚本文件', - `stop_file` varchar(200) DEFAULT NULL COMMENT '停止脚本文件', - `unit_design` varchar(15) DEFAULT NULL COMMENT '单元设计', - `upload_time` datetime DEFAULT NULL COMMENT '上传时间', - `upload_user` varchar(50) DEFAULT NULL COMMENT '上传人', - `url` varchar(200) DEFAULT NULL COMMENT '存储路径', + `f_network_segment` varchar(15) DEFAULT NULL COMMENT '父网段', + `mask` int(15) DEFAULT NULL COMMENT '子网掩码', + `name` varchar(50) DEFAULT NULL COMMENT '名称', + `network_segment_type` int(15) DEFAULT NULL COMMENT '网段类型', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `package$diff_conf_variable` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `from_guid` varchar(15) NOT NULL, - `to_code` int(11) NOT NULL, - `seq_no` int(5) DEFAULT '0', - PRIMARY KEY (`id`), - KEY `package$diff_conf_variable_fk_code` (`to_code`), - CONSTRAINT `package$diff_conf_variable_fk_code` FOREIGN KEY (`to_code`) REFERENCES `adm_basekey_code` (`id_adm_basekey`) +CREATE TABLE IF NOT EXISTS `network_zone` ( + `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', + `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', + `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', + `updated_by` varchar(50) DEFAULT NULL COMMENT '更新用户', + `updated_date` datetime DEFAULT NULL COMMENT '更新日期', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建用户', + `created_date` datetime DEFAULT NULL COMMENT '创建日期', + `key_name` varchar(200) DEFAULT NULL COMMENT '唯一名称', + `state` int(15) DEFAULT NULL COMMENT '状态', + `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', + `code` varchar(50) DEFAULT NULL COMMENT '编码', + `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', + `orchestration` int(15) DEFAULT NULL COMMENT '编排', + `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', + `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', + `data_center` varchar(15) DEFAULT NULL COMMENT '数据中心', + `name` varchar(50) DEFAULT NULL COMMENT '服务名称', + `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', + `network_zone_design` varchar(15) DEFAULT NULL COMMENT '安全区域设计', + `network_zone_layer` int(15) DEFAULT NULL COMMENT '网络区域层级', + PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `resource_set` ( +CREATE TABLE IF NOT EXISTS `network_zone_design` ( + `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', + `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', + `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', + `updated_by` varchar(50) DEFAULT NULL COMMENT '更新用户', + `updated_date` datetime DEFAULT NULL COMMENT '更新日期', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建用户', + `created_date` datetime DEFAULT NULL COMMENT '创建日期', + `key_name` varchar(200) DEFAULT NULL COMMENT '唯一名称', + `state` int(15) DEFAULT NULL COMMENT '状态', + `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', + `code` varchar(50) DEFAULT NULL COMMENT '编码', + `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', + `orchestration` int(15) DEFAULT NULL COMMENT '编排', + `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', + `data_center_design` varchar(15) DEFAULT NULL COMMENT '数据中心设计', + `network_segment_design` varchar(15) DEFAULT NULL COMMENT '网段设计', + `network_zone_layer` int(15) DEFAULT NULL COMMENT '网络区域层级', + PRIMARY KEY (`guid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `network_zone_link` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -714,15 +807,16 @@ CREATE TABLE `resource_set` ( `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', - `dcn` varchar(15) DEFAULT NULL COMMENT 'DCN', - `env` int(15) DEFAULT NULL COMMENT '环境', `name` varchar(50) DEFAULT NULL COMMENT '名称', - `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', - `resource_set_design` varchar(15) DEFAULT NULL COMMENT '资源集设计', + `netband_width` varchar(50) DEFAULT NULL COMMENT '网络带宽(M)', + `network_zone_1` varchar(15) DEFAULT NULL COMMENT '网络区域1', + `network_zone_2` varchar(15) DEFAULT NULL COMMENT '网络区域2', + `network_zone_link_design` varchar(15) DEFAULT NULL COMMENT '网络区域连接设计', + `network_zone_link_type` int(15) DEFAULT NULL COMMENT '网络连接类型', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `resource_set_design` ( +CREATE TABLE IF NOT EXISTS `network_zone_link_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -737,12 +831,13 @@ CREATE TABLE `resource_set_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `dcn_design` varchar(15) DEFAULT NULL COMMENT '数据中心节点设计', - `type` int(15) DEFAULT NULL COMMENT '类型', + `network_zone_design_1` varchar(15) DEFAULT NULL COMMENT '网络区域设计1', + `network_zone_design_2` varchar(15) DEFAULT NULL COMMENT '网络区域设计2', + `network_zone_link_type` int(15) DEFAULT NULL COMMENT '网络连接类型', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `running_instance` ( +CREATE TABLE IF NOT EXISTS `resource_instance` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -759,17 +854,25 @@ CREATE TABLE `running_instance` ( `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', `charge_type` int(15) DEFAULT NULL COMMENT '计费模式', - `host` varchar(15) DEFAULT NULL COMMENT '资源集', - `instance_disk` int(4) DEFAULT NULL COMMENT '实例磁盘(GB)', - `instance_mem` int(2) DEFAULT NULL COMMENT '实例内存(GB)', - `instance_num` int(2) DEFAULT NULL COMMENT '计费周期(月)', - `port` varchar(50) DEFAULT NULL COMMENT '端口', - `type` int(15) DEFAULT NULL COMMENT '类型', - `unit` varchar(15) DEFAULT NULL COMMENT '单元', + `cluster_node_type` int(15) DEFAULT NULL COMMENT '集群节点类型', + `cpu` varchar(50) DEFAULT NULL COMMENT 'CPU(核)', + `end_date` datetime DEFAULT NULL COMMENT '截止时间,包年包月时必须给出', + `internet_ip` varchar(15) DEFAULT NULL COMMENT '外网IP', + `intranet_ip` varchar(15) DEFAULT NULL COMMENT '内网IP', + `memory` varchar(50) DEFAULT NULL COMMENT '内存(GB)', + `name` varchar(50) DEFAULT NULL COMMENT '名称', + `resource_instance_spec` int(15) DEFAULT NULL COMMENT '资源实例规格', + `resource_instance_type` int(15) DEFAULT NULL COMMENT '资源实例类型', + `resource_set` varchar(15) DEFAULT NULL COMMENT '资源集合', + `resource_system` int(15) DEFAULT NULL COMMENT '资源系统', + `storage` varchar(50) DEFAULT NULL COMMENT '存储空间(GB)', + `unit_type` int(15) DEFAULT NULL COMMENT '单元类型', + `user_name` varchar(50) DEFAULT NULL COMMENT '管理员用户名', + `user_password` varchar(200) DEFAULT NULL COMMENT '管理员用户密码', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `service` ( +CREATE TABLE IF NOT EXISTS `resource_set` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -784,17 +887,28 @@ CREATE TABLE `service` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `dns_domain` int(15) DEFAULT NULL COMMENT '域名域', - `dns_name` varchar(50) DEFAULT NULL COMMENT '域名名', - `ha_type` int(15) DEFAULT NULL COMMENT '高可用', - `service_design` varchar(15) DEFAULT NULL COMMENT '服务设计', - `service_ip` varchar(15) DEFAULT NULL COMMENT '服务IP', - `service_port` varchar(50) DEFAULT NULL COMMENT '服务端口', - `unit` varchar(15) DEFAULT NULL COMMENT '单元', + `business_zone` varchar(15) DEFAULT NULL COMMENT '业务区域', + `cluster_type` int(15) DEFAULT NULL COMMENT '集群类型', + `internet_ip_segment` varchar(15) DEFAULT NULL COMMENT '互联网网段', + `name` varchar(50) DEFAULT NULL COMMENT '名称', + `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', + `resource_set_design` varchar(15) DEFAULT NULL COMMENT '资源集合设计', + `routing_table_asset_code` varchar(50) DEFAULT NULL COMMENT '路由表资产编码', + `subnet_asset_code` varchar(50) DEFAULT NULL COMMENT '子网资产编码', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `service_design` ( +CREATE TABLE IF NOT EXISTS `resource_set$deploy_environment` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `from_guid` varchar(15) NOT NULL, + `to_code` int(11) NOT NULL, + `seq_no` int(5) DEFAULT '0', + PRIMARY KEY (`id`), + KEY `resource_set$deploy_environment_fk_code` (`to_code`), + CONSTRAINT `resource_set$deploy_environment_fk_code` FOREIGN KEY (`to_code`) REFERENCES `adm_basekey_code` (`id_adm_basekey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `resource_set_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -809,14 +923,24 @@ CREATE TABLE `service_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `ha_type` int(15) DEFAULT NULL COMMENT '高可用', - `name` varchar(50) DEFAULT NULL COMMENT '服务名称', - `type` int(15) DEFAULT NULL COMMENT '类型', - `unit_design` varchar(15) DEFAULT NULL COMMENT '单元设计', + `business_zone_design` varchar(15) DEFAULT NULL COMMENT '业务区域设计', + `internet_network_segment_design` varchar(15) DEFAULT NULL COMMENT '互联网网段设计', + `network_segment_design` varchar(15) DEFAULT NULL COMMENT '网段设计', + `unit_design_type` int(15) DEFAULT NULL COMMENT '单元设计类型', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `subsys` ( +CREATE TABLE IF NOT EXISTS `resource_set_design$cluster_type` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `from_guid` varchar(15) NOT NULL, + `to_code` int(11) NOT NULL, + `seq_no` int(5) DEFAULT '0', + PRIMARY KEY (`id`), + KEY `resource_set_design$cluster_type_fk_code` (`to_code`), + CONSTRAINT `resource_set_design$cluster_type_fk_code` FOREIGN KEY (`to_code`) REFERENCES `adm_basekey_code` (`id_adm_basekey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `routing_rule` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -831,13 +955,15 @@ CREATE TABLE `subsys` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `env` int(15) DEFAULT NULL COMMENT '环境', - `manager` varchar(50) DEFAULT NULL COMMENT '运维人员', - `subsys_design` varchar(20) DEFAULT NULL COMMENT '子系统设计', + `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', + `dest_network_segment` varchar(15) DEFAULT NULL COMMENT '目标网段', + `network_zone_link_design` varchar(15) DEFAULT NULL COMMENT '网络区域连接', + `resource_set` varchar(15) DEFAULT NULL COMMENT '资源集合', + `routing_rule_design` varchar(15) DEFAULT NULL COMMENT '路由规则设计', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `subsys_design` ( +CREATE TABLE IF NOT EXISTS `routing_rule_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -852,14 +978,13 @@ CREATE TABLE `subsys_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `business_group` int(15) DEFAULT NULL COMMENT '业务群组', - `dcn_design_type` int(15) DEFAULT NULL COMMENT 'DCN设计类型', - `name` varchar(50) DEFAULT NULL COMMENT '名称', - `system_design` varchar(15) DEFAULT NULL COMMENT '系统设计', + `dest_network_segment` varchar(15) DEFAULT NULL COMMENT '目标网段', + `network_zone_link_design` varchar(15) DEFAULT NULL COMMENT '网络区域连接', + `resource_set` varchar(15) DEFAULT NULL COMMENT '资源集合', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `system_design` ( +CREATE TABLE IF NOT EXISTS `service` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -874,12 +999,42 @@ CREATE TABLE `system_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `business_group` int(50) DEFAULT NULL COMMENT '业务群组', - `name` varchar(50) DEFAULT NULL COMMENT '名称', + `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', + `cluster_type` int(15) DEFAULT NULL COMMENT '集群类型', + `dns_name` varchar(50) DEFAULT NULL COMMENT '域名名', + `internet_service_ip` varchar(15) DEFAULT NULL COMMENT '互联网服务IP', + `service_design` varchar(15) DEFAULT NULL COMMENT '服务设计', + `service_dns_domain` int(15) DEFAULT NULL COMMENT '域名域', + `service_ip` varchar(15) DEFAULT NULL COMMENT '服务IP', + `service_port` varchar(50) DEFAULT NULL COMMENT '服务端口', + `service_type` int(15) DEFAULT NULL COMMENT '服务类型', + `unit` varchar(15) DEFAULT NULL COMMENT '单元', + PRIMARY KEY (`guid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `service_design` ( + `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', + `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', + `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', + `updated_by` varchar(50) DEFAULT NULL COMMENT '更新用户', + `updated_date` datetime DEFAULT NULL COMMENT '更新日期', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建用户', + `created_date` datetime DEFAULT NULL COMMENT '创建日期', + `key_name` varchar(200) DEFAULT NULL COMMENT '唯一名称', + `state` int(15) DEFAULT NULL COMMENT '状态', + `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', + `code` varchar(50) DEFAULT NULL COMMENT '编码', + `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', + `orchestration` int(15) DEFAULT NULL COMMENT '编排', + `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', + `cluster_type` int(15) DEFAULT NULL COMMENT '集群类型', + `name` varchar(50) DEFAULT NULL COMMENT '服务名称', + `service_type` int(15) DEFAULT NULL COMMENT '服务类型', + `unit_design` varchar(15) DEFAULT NULL COMMENT '单元设计', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `unit` ( +CREATE TABLE IF NOT EXISTS `subsys` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -894,14 +1049,13 @@ CREATE TABLE `unit` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `instance_num` int(3) DEFAULT NULL COMMENT '实例数量', - `package` varchar(20) DEFAULT NULL COMMENT '部署包', - `subsys` varchar(20) DEFAULT NULL COMMENT '子系统', - `unit_design` varchar(15) DEFAULT NULL COMMENT '单元统设计', + `manager` varchar(50) DEFAULT NULL COMMENT '运维人员', + `subsys_design` varchar(15) DEFAULT NULL COMMENT '子系统设计', + `system` varchar(15) DEFAULT NULL COMMENT '系统', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `unit$resource_set` ( +CREATE TABLE IF NOT EXISTS `subsys$business_zone` ( `id` int(11) NOT NULL AUTO_INCREMENT, `from_guid` varchar(15) NOT NULL, `to_guid` varchar(15) NOT NULL, @@ -909,7 +1063,7 @@ CREATE TABLE `unit$resource_set` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `unit_design` ( +CREATE TABLE IF NOT EXISTS `subsys_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -924,16 +1078,14 @@ CREATE TABLE `unit_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `across_idc` int(15) DEFAULT NULL COMMENT '跨IDC部署', - `name` varchar(50) DEFAULT NULL COMMENT '单元名称', - `resource_set_design` varchar(15) DEFAULT NULL COMMENT '资源集设计', - `resource_set_design_type` int(15) DEFAULT NULL COMMENT '资源集设计类型', - `subsys_design` varchar(15) DEFAULT NULL COMMENT '系统', - `type` int(15) DEFAULT NULL COMMENT '类型', + `business_group` int(15) DEFAULT NULL COMMENT '业务群组', + `business_zone_design` varchar(15) DEFAULT NULL COMMENT '业务区域设计', + `name` varchar(50) DEFAULT NULL COMMENT '名称', + `system_design` varchar(15) DEFAULT NULL COMMENT '系统设计', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `zone` ( +CREATE TABLE IF NOT EXISTS `system` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -948,18 +1100,12 @@ CREATE TABLE `zone` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', - `idc` varchar(15) DEFAULT NULL COMMENT '机房', - `name` varchar(50) DEFAULT NULL COMMENT '服务名称', - `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', - `type` int(15) DEFAULT NULL COMMENT '类型', - `vpc` varchar(50) DEFAULT NULL COMMENT '虚拟专用网', - `zone_design` varchar(15) DEFAULT NULL COMMENT '安全区域设计', - `zone_layer` int(15) DEFAULT NULL COMMENT '层级', + `deploy_environment` int(15) DEFAULT NULL COMMENT '部署环境', + `system_design` varchar(15) DEFAULT NULL COMMENT '系统设计', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `zone_design` ( +CREATE TABLE IF NOT EXISTS `system_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -974,13 +1120,12 @@ CREATE TABLE `zone_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `idc_design` varchar(15) DEFAULT NULL COMMENT '机房设计', - `type` int(15) DEFAULT NULL COMMENT '类型', - `zone_layer` int(15) DEFAULT NULL COMMENT '层级', + `business_group` int(15) DEFAULT NULL COMMENT '业务群组', + `name` varchar(50) DEFAULT NULL COMMENT '名称', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `zone_link` ( +CREATE TABLE IF NOT EXISTS `unit` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -995,15 +1140,40 @@ CREATE TABLE `zone_link` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', - `name` varchar(50) DEFAULT NULL COMMENT '名称', - `zone1` varchar(15) DEFAULT NULL COMMENT '安全区域1', - `zone2` varchar(15) DEFAULT NULL COMMENT '安全区域2', - `zone_link_design` varchar(15) DEFAULT NULL COMMENT '安全区域连接设计', + `manager` varchar(50) DEFAULT NULL COMMENT '运维人员', + `subsys` varchar(15) DEFAULT NULL COMMENT '子系统', + `unit_design` varchar(15) DEFAULT NULL COMMENT '单元设计', + `security_group_asset_code` varchar(50) DEFAULT NULL COMMENT '安全组资产编码', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE `zone_link_design` ( +CREATE TABLE IF NOT EXISTS `unit$deploy_package` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `from_guid` varchar(15) NOT NULL, + `to_guid` varchar(15) NOT NULL, + `seq_no` int(5) DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `unit$resource_set` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `from_guid` varchar(15) NOT NULL, + `to_guid` varchar(15) NOT NULL, + `seq_no` int(5) DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `unit$unit_type` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `from_guid` varchar(15) NOT NULL, + `to_code` int(11) NOT NULL, + `seq_no` int(5) DEFAULT '0', + PRIMARY KEY (`id`), + KEY `unit$unit_type_fk_code` (`to_code`), + CONSTRAINT `unit$unit_type_fk_code` FOREIGN KEY (`to_code`) REFERENCES `adm_basekey_code` (`id_adm_basekey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `unit_design` ( `guid` varchar(15) NOT NULL COMMENT '全局唯一ID', `p_guid` varchar(15) DEFAULT NULL COMMENT '前全局唯一ID', `r_guid` varchar(15) DEFAULT NULL COMMENT '根全局唯一ID', @@ -1018,10 +1188,12 @@ CREATE TABLE `zone_link_design` ( `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', `orchestration` int(15) DEFAULT NULL COMMENT '编排', `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', - `zone_design1` varchar(15) DEFAULT NULL COMMENT '安全区域设计', - `zone_design2` varchar(15) DEFAULT NULL COMMENT '安全区域设计', + `across_resource_set` int(15) DEFAULT NULL COMMENT '跨资源集合部署', + `name` varchar(50) DEFAULT NULL COMMENT '单元名称', + `resource_set_design` varchar(15) DEFAULT NULL COMMENT '资源集合设计', + `subsys_design` varchar(15) DEFAULT NULL COMMENT '系统', + `unit_design_type` int(15) DEFAULT NULL COMMENT '单元设计类型', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file diff --git a/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql b/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql index 3a1be8ce5..b89fdfa3d 100644 --- a/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql @@ -1,21 +1,4 @@ SET FOREIGN_KEY_CHECKS=0; - -INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`) VALUES - (1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, 0), - (1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '编排', '编排', 'select', 'orchestration', 'int', 15, 31, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'notCreated', 0, 0, 0, NULL, 1), - (1, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'notCreated', 0, 0, 0, NULL, 1), - (1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0); - INSERT INTO `adm_basekey_cat` (`id_adm_basekey_cat`, `cat_name`, `description`, `id_adm_role`, `id_adm_basekey_cat_type`, `group_type_id`) VALUES (1, 'ci_layer', '层级', NULL, 1, NULL), (2, 'ci_catalog', '目录', NULL, 1, NULL), @@ -37,121 +20,98 @@ INSERT INTO `adm_basekey_cat` (`id_adm_basekey_cat`, `cat_name`, `description`, (18, 'tab_of_deploy_design', '部署设计CI标签', NULL, 1, NULL), (19, 'tab_query_of_deploy_design', '部署设计标签查询', NULL, 1, 18), (20, 'business_group', '业务群组', NULL, 2, NULL), - (21, 'unit_type', '部署单元类型', NULL, 2, NULL), - (22, 'env_type', '环境类型', NULL, 2, NULL), - (23, 'env', '环境', NULL, 2, 22), - (24, 'charge_type', '计费模式', NULL, 2, NULL), - (25, 'zone_design_type', '安全区域设计类型', NULL, 2, NULL), - (26, 'zone_layer', '安全区域设计层级', NULL, 2, NULL), - (27, 'dcn_design_type', 'DCN设计类型', NULL, 2, NULL), - (28, 'resource_set_design_type', '资源集设计类型', NULL, 2, NULL), - (29, 'ha_type', '高可用类型', NULL, 2, NULL), - (30, 'diff_conf', '差异配置', NULL, 2, NULL), - (31, 'orchestration', '编排', NULL, 3, NULL), - (32, 'orchestration', '编排', NULL, 4, NULL), - (33, 'orchestration', '编排', NULL, 5, NULL), - (34, 'across_idc', '跨IDC部署模式', NULL, 5, NULL), - (35, 'orchestration', '编排', NULL, 6, NULL), - (36, 'service_type', '服务类型', NULL, 6, NULL), - (37, 'orchestration', '编排', NULL, 7, NULL), - (38, 'invoke_type', '调用类型', NULL, 7, NULL), - (39, 'orchestration', '编排', NULL, 8, NULL), - (40, 'orchestration', '编排', NULL, 9, NULL), - (41, 'orchestration', '编排', NULL, 10, NULL), - (42, 'orchestration', '编排', NULL, 11, NULL), - (43, 'service_dns_domain', '服务域名域', NULL, 11, NULL), - (44, 'orchestration', '编排', NULL, 12, NULL), - (45, 'orchestration', '编排', NULL, 13, NULL), - (46, 'deploy_user', '部署用户', NULL, 13, NULL), - (47, 'orchestration', '编排', NULL, 14, NULL), - (48, 'host_type', '主机类型', NULL, 14, NULL), - (49, 'host_os_type', '主机操作系统类型', NULL, 14, NULL), - (50, 'host_sys_disk', '主机系统磁盘', NULL, 14, NULL), - (51, 'orchestration', '编排', NULL, 15, NULL), - (52, 'block_storage_type', '块存储类型', NULL, 15, NULL), - (53, 'orchestration', '编排', NULL, 16, NULL), - (54, 'ip_addr_type', 'IP地址类型', NULL, 16, NULL), - (55, 'orchestration', '编排', NULL, 17, NULL), - (56, 'Instance_type', '实例类型', NULL, 17, 21), - (57, 'orchestration', '编排', NULL, 18, NULL), - (58, 'orchestration', '编排', NULL, 19, NULL), - (59, 'orchestration', '编排', NULL, 20, NULL), - (60, 'orchestration', '编排', NULL, 21, NULL), - (61, 'orchestration', '编排', NULL, 22, NULL), - (62, 'network_segment_type', '网段类型', NULL, 23, NULL), - (63, 'orchestration', '编排', NULL, 23, NULL), - (64, 'orchestration', '编排', NULL, 24, NULL), - (65, 'orchestration', '编排', NULL, 25, NULL), - (66, 'orchestration', '编排', NULL, 26, NULL), - (67, 'orchestration', '编排', NULL, 27, NULL), - (68, 'orchestration', '编排', NULL, 28, NULL), - (69, 'seed', '种子', NULL, 1, NULL), - (70, 'deploy_tree_layer', '部署树层级', NULL, 2, 1); + (21, 'unit_design_type', '单元设计类型', NULL, 2, NULL), + (22, 'unit_type', '单元类型', NULL, 2, 21), + (24, 'deploy_environment', '部署环境', NULL, 2, NULL), + (25, 'charge_type', '计费模式', NULL, 2, NULL), + (26, 'network_zone_type', '网络区域类型', NULL, 2, NULL), + (27, 'network_zone_layer', '网络区域层级', NULL, 2, NULL), + (28, 'service_type', '服务类型', NULL, 2, NULL), + (29, 'invoke_type', '调用类型', NULL, 2, NULL), + (30, 'cluster_type', '集群类型', NULL, 2, 21), + (32, 'network_segment_type', '网段类型', NULL, 2, NULL), + (33, 'network_segment_usage', '网段用途', NULL, 2, 32), + (34, 'network_zone_link_type', '网络连接类型', NULL, 2, NULL), + (35, 'across_resource_set', '跨资源集合部署', NULL, 5, NULL), + (36, 'service_dns_domain', '服务域名域', NULL, 11, NULL), + (37, 'diff_conf_variable', '差异配置变量', NULL, 14, NULL), + (38, 'resource_instance_type', '资源实例类型', NULL, 17, 21), + (39, 'resource_system', '资源系统', NULL, 17, 21), + (40, 'resource_instance_spec', '资源实例规格', NULL, 17, 21), + (41, 'cluster_node_type', '集群节点类型', NULL, 17, 30), + (42, 'block_storage_type', '块存储类型', NULL, 18, NULL), + (43, 'ip_address_usage', 'IP地址用途', NULL, 19, 32), + (44, 'auth_parameter', '认证参数', NULL, 20, NULL); INSERT INTO `adm_basekey_cat_type` (`id_adm_basekey_cat_type`, `name`, `description`, `ci_type_id`, `type`) VALUES (1, 'sys', NULL, NULL, 1), (2, 'common', NULL, NULL, 2), - (3, 'system_design', NULL, 1, 3), - (4, 'subsys_design', NULL, 2, 3), - (5, 'unit_design', NULL, 3, 3), - (6, 'service_design', NULL, 4, 3), - (7, 'invoke_design', NULL, 5, 3), - (8, 'invoke_sequence_design', NULL, 6, 3), - (9, 'subsys', NULL, 7, 3), - (10, 'unit', NULL, 8, 3), - (11, 'service', NULL, 9, 3), - (12, 'invoke', NULL, 10, 3), - (13, 'package', NULL, 11, 3), - (14, 'host', NULL, 12, 3), - (15, 'block_storage', NULL, 13, 3), - (16, 'ip_used', NULL, 14, 3), - (17, 'running_instance', NULL, 15, 3), - (18, 'IDC', NULL, 16, 3), - (19, 'zone', NULL, 17, 3), - (20, 'zone_link', NULL, 18, 3), - (21, 'DCN', NULL, 19, 3), - (22, 'resource_set', NULL, 20, 3), - (23, 'network_segment', NULL, 21, 3), - (24, 'IDC_design', NULL, 22, 3), - (25, 'zone_design', NULL, 23, 3), - (26, 'zone_link_design', NULL, 24, 3), - (27, 'DCN_desgin', NULL, 25, 3), - (28, 'resource_set_design', NULL, 26, 3); + (3, 'system_design', '系统设计', 1, 3), + (4, 'subsys_design', '子系统设计', 2, 3), + (5, 'unit_design', '单元设计', 3, 3), + (6, 'service_design', '服务设计', 4, 3), + (7, 'invoke_design', '调用设计', 5, 3), + (8, 'invoke_seq_design', '调用时序设计', 6, 3), + (9, 'system', '系统', 7, 3), + (10, 'subsys', '子系统', 8, 3), + (11, 'unit', '单元', 9, 3), + (12, 'service', '服务', 10, 3), + (13, 'invoke', '调用', 11, 3), + (14, 'deploy_package', '部署包', 12, 3), + (15, 'deploy_user', '部署用户', 13, 3), + (16, 'business_app_instance', '业务应用实例', 14, 3), + (17, 'resource_instance', '资源实例', 15, 3), + (18, 'block_storage', '块存储', 16, 3), + (19, 'ip_address', 'IP地址', 17, 3), + (20, 'data_center', '数据中心', 18, 3), + (21, 'network_zone', '网络区域', 19, 3), + (22, 'network_zone_link', '网络区域连接', 20, 3), + (23, 'business_zone', '业务区域', 21, 3), + (24, 'resource_set', '资源集合', 22, 3), + (25, 'network_segment', '网段', 23, 3), + (26, 'routing_rule', '路由规则', 24, 3), + (27, 'data_center_design', '数据中心设计', 25, 3), + (28, 'network_zone_design', '网络区域设计', 26, 3), + (29, 'network_zone_link_design', '网络区域连接设计', 27, 3), + (30, 'business_zone_design', '业务区域设计', 28, 3), + (31, 'resource_set_design', '资源集合设计', 29, 3), + (32, 'network_segment_design', '网段设计', 30, 3), + (33, 'routing_rule_design', '路由规则设计', 31, 3); INSERT INTO `adm_basekey_code` (`id_adm_basekey`, `id_adm_basekey_cat`, `code`, `value`, `group_code_id`, `code_description`, `seq_no`, `status`) VALUES - (1, 1, 'AAL', '应用架构层', NULL, NULL, 1, 'active'), - (2, 1, 'ADL', '应用部署层', NULL, NULL, 2, 'active'), - (3, 1, 'SRL', '资源运行层', NULL, NULL, 3, 'active'), - (4, 1, 'RPL', '资源规划层', NULL, NULL, 4, 'active'), - (5, 1, 'PDL', '规划设计层', NULL, NULL, 5, 'active'), - (6, 2, 'AAL', '应用架构层', NULL, NULL, 1, 'active'), - (7, 2, 'ADL', '应用部署层', NULL, NULL, 2, 'active'), - (8, 2, 'SRL', '资源运行层', NULL, NULL, 3, 'active'), - (9, 2, 'RPL', '资源规划层', NULL, NULL, 4, 'active'), - (10, 2, 'PDL', '规划设计层', NULL, NULL, 5, 'active'), - (11, 3, '1', '1', NULL, NULL, 1, 'active'), - (12, 3, '2', '2', NULL, NULL, 2, 'active'), - (13, 3, '3', '3', NULL, NULL, 3, 'active'), - (14, 3, '4', '4', NULL, NULL, 4, 'active'), - (15, 3, '5', '5', NULL, NULL, 5, 'active'), - (16, 4, 'text', '文本', NULL, NULL, 1, 'active'), - (17, 4, 'area', '文本域', NULL, NULL, 2, 'active'), - (18, 4, 'number', '整型数字', NULL, NULL, 3, 'active'), - (19, 4, 'regular_text', '正则校验文本', NULL, NULL, 4, 'active'), - (20, 4, 'datetime', '时间', NULL, NULL, 5, 'active'), - (21, 4, 'select', '下拉选择', NULL, NULL, 6, 'active'), - (22, 4, 'multiSelect', '多选下拉选择', NULL, NULL, 7, 'active'), - (23, 4, 'ref', '引用', NULL, NULL, 8, 'active'), - (24, 4, 'multiRef', '多选引用', NULL, NULL, 9, 'active'), - (25, 4, 'orchestration_ref', '编排引用', NULL, NULL, 10, 'active'), - (26, 4, 'orchestration_multi_ref', '编排多选引用', NULL, NULL, 11, 'active'), - (27, 5, 'common', '公共枚举', NULL, NULL, 1, 'active'), - (28, 5, 'private', '私有枚举', NULL, NULL, 2, 'active'), - (29, 6, 'belong', '属于', NULL, NULL, 1, 'active'), - (30, 6, 'running', '运行在', NULL, NULL, 2, 'active'), - (31, 6, 'composition', '组成', NULL, NULL, 3, 'active'), - (32, 6, 'relation', '关联', NULL, NULL, 4, 'active'), - (33, 6, 'realize', '实现', NULL, NULL, 5, 'active'), + (1, 1, 'AAL', '应用架构层', NULL, '应用架构层', 1, 'active'), + (2, 1, 'ADL', '应用部署层', NULL, '应用部署层', 2, 'active'), + (3, 1, 'SRL', '资源运行层', NULL, '资源运行层', 3, 'active'), + (4, 1, 'RPL', '资源规划层', NULL, '资源规划层', 4, 'active'), + (5, 1, 'PDL', '规划设计层', NULL, '规划设计层', 5, 'active'), + (6, 2, 'AAL', '应用架构层', NULL, '应用架构层', 1, 'active'), + (7, 2, 'ADL', '应用部署层', NULL, '应用部署层', 2, 'active'), + (8, 2, 'SRL', '资源运行层', NULL, '资源运行层', 3, 'active'), + (9, 2, 'RPL', '资源规划层', NULL, '资源规划层', 4, 'active'), + (10, 2, 'PDL', '规划设计层', NULL, '规划设计层', 5, 'active'), + (11, 3, '1', '1', NULL, 'Zoom Level 1', 1, 'active'), + (12, 3, '2', '2', NULL, 'Zoom Level 2', 2, 'active'), + (13, 3, '3', '3', NULL, 'Zoom Level 3', 3, 'active'), + (14, 3, '4', '4', NULL, 'Zoom Level 4', 4, 'active'), + (15, 3, '5', '5', NULL, 'Zoom Level 5', 5, 'active'), + (16, 4, 'text', '文本', NULL, '文本', 1, 'active'), + (17, 4, 'area', '文本域', NULL, '文本域', 2, 'active'), + (18, 4, 'number', '整型数字', NULL, '整型数字', 3, 'active'), + (19, 4, 'regular_text', '正则校验文本', NULL, '正则校验文本', 4, 'inactive'), + (20, 4, 'datetime', '时间', NULL, '时间', 5, 'active'), + (21, 4, 'select', '下拉选择', NULL, '下拉选择', 6, 'active'), + (22, 4, 'multi_enum', '多选下拉选择', NULL, '多选下拉选择', 7, 'active'), + (23, 4, 'ref', '引用', NULL, '引用', 8, 'active'), + (24, 4, 'multi_ref', '多选引用', NULL, '多选引用', 9, 'active'), + (25, 4, '预留2', '预留2', NULL, '预留2', 10, 'inactive'), + (26, 4, '预留3', '预留3', NULL, '预留3', 11, 'inactive'), + (27, 5, 'common', '公共枚举', NULL, '公共枚举', 1, 'active'), + (28, 5, 'private', '私有枚举', NULL, '私有枚举', 2, 'active'), + (29, 6, 'belong', '属于', NULL, '属于', 1, 'active'), + (30, 6, 'use', '使用', NULL, '使用', 2, 'active'), + (31, 6, 'depend', '依赖', NULL, '依赖', 3, 'active'), + (32, 6, 'relation', '关联', NULL, '关联', 4, 'active'), + (33, 6, 'realize', '实现', NULL, '实现', 5, 'active'), (34, 7, 'new', '新增', NULL, NULL, 1, 'active'), (35, 7, 'update', '更新', NULL, NULL, 2, 'active'), (36, 7, 'delete', '删除', NULL, NULL, 3, 'active'), @@ -176,188 +136,203 @@ INSERT INTO `adm_basekey_code` (`id_adm_basekey`, `id_adm_basekey_cat`, `code`, (55, 11, 'update-delete', '更新-删除', NULL, NULL, 4, 'active'), (56, 11, 'update', '更新', NULL, NULL, 5, 'active'), (57, 11, 'confirm', '确认', NULL, NULL, 6, 'active'), - (58, 12, '22', '机房设计', NULL, NULL, 1, 'active'), - (59, 13, 'guid_of_IDC_design', NULL, 58, NULL, 1, 'active'), - (60, 12, '23', '安全区域设计', NULL, NULL, 2, 'active'), - (61, 13, 'guid_of_zone_design', '[{"ciTypeId":23},{"ciTypeId":22,"parentRs":{"attrId":442,"isReferedFromParent":1}}]', 60, NULL, 2, 'active'), - (62, 12, '24', '安全区域连接设计', NULL, NULL, 3, 'active'), - (63, 13, 'guid_of_zone_link_design', '[{"ciTypeId":24},{"ciTypeId":23,"parentRs":{"attrId":459,"isReferedFromParent":1}},{"ciTypeId":22,"parentRs":{"attrId":442,"isReferedFromParent":1}}]', 62, NULL, 3, 'active'), - (64, 12, '25', '数据中心节点设计', NULL, NULL, 4, 'active'), - (65, 13, 'guid_of_set_design', '[{"ciTypeId":25},{"ciTypeId":23,"parentRs":{"attrId":475,"isReferedFromParent":1}},{"ciTypeId":22,"parentRs":{"attrId":442,"isReferedFromParent":1}}]', 64, NULL, 5, 'active'), - (66, 12, '26', '资源集设计', NULL, NULL, 5, 'active'), - (67, 13, 'guid_of_DCN_design', '[{"ciTypeId":26},{"ciTypeId":25,"parentRs":{"attrId":492,"isReferedFromParent":1}},{"ciTypeId":23,"parentRs":{"attrId":475,"isReferedFromParent":1}},{"ciTypeId":22,"parentRs":{"attrId":442,"isReferedFromParent":1}}]', 66, NULL, 4, 'active'), - (68, 14, '16', '机房', NULL, NULL, 1, 'active'), - (69, 15, 'guid_of_IDC', NULL, 68, NULL, 1, 'active'), - (70, 14, '17', '安全区域', NULL, NULL, 2, 'active'), - (71, 15, 'guid_of_zone', '[{"ciTypeId":17},{"ciTypeId":16,"parentRs":{"attrId":328,"isReferedFromParent":1}}]', 70, NULL, 2, 'active'), - (72, 14, '18', '安全区域连接', NULL, NULL, 3, 'active'), - (73, 15, 'guid_of_zone_link', '[{"ciTypeId":18},{"ciTypeId":17,"parentRs":{"attrId":351,"isReferedFromParent":1}},{"ciTypeId":16,"parentRs":{"attrId":328,"isReferedFromParent":1}}]', 72, NULL, 3, 'active'), - (74, 14, '19', '数据中心节点', NULL, NULL, 4, 'active'), - (75, 15, 'guid_of_DCN', '[{"ciTypeId":19},{"ciTypeId":17,"parentRs":{"attrId":369,"isReferedFromParent":1}},{"ciTypeId":16,"parentRs":{"attrId":328,"isReferedFromParent":1}}]', 74, NULL, 4, 'active'), - (76, 14, '20', '资源集', NULL, NULL, 5, 'active'), - (77, 15, 'guid_of_set', '[{"ciTypeId":20},{"ciTypeId":19,"parentRs":{"attrId":386,"isReferedFromParent":1}},{"ciTypeId":17,"parentRs":{"attrId":369,"isReferedFromParent":1}},{"ciTypeId":16,"parentRs":{"attrId":328,"isReferedFromParent":1}}]', 76, NULL, 5, 'active'), - (78, 14, '21', '网段', NULL, NULL, 5, 'active'), - (79, 15, 'guid_of_network_segment', NULL, 78, NULL, 6, 'active'), - (80, 16, '2', '子系统设计', NULL, NULL, 2, 'active'), - (81, 17, 'guid_of_subsys_design', '[{"ciTypeId":2},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 80, NULL, 1, 'active'), - (82, 16, '3', '单元设计', NULL, NULL, 3, 'active'), - (83, 17, 'guid_of_unit_design', '[{"ciTypeId":3},{"ciTypeId":2,"parentRs":{"attrId":49,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 82, NULL, 2, 'active'), - (84, 16, '4', '服务设计', NULL, NULL, 4, 'active'), - (85, 17, 'guid_of_service_design', '[{"ciTypeId":4},{"ciTypeId":3,"parentRs":{"attrId":69,"isReferedFromParent":1}},{"ciTypeId":2,"parentRs":{"attrId":49,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 84, NULL, 3, 'active'), - (86, 16, '5', '调用设计', NULL, NULL, 5, 'active'), - (87, 17, 'guid_of_invoke_design', '[{"ciTypeId":5},{"ciTypeId":3,"parentRs":{"attrId":87,"isReferedFromParent":1}},{"ciTypeId":2,"parentRs":{"attrId":49,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 86, NULL, 4, 'active'), - (88, 16, '6', '调用时序设计', NULL, NULL, 6, 'active'), - (89, 17, 'guid_of_invoke_sequence_design', '[{"ciTypeId":6},{"ciTypeId":4,"parentRs":{"attrId":104,"isReferedFromParent":1}},{"ciTypeId":3,"parentRs":{"attrId":69,"isReferedFromParent":1}},{"ciTypeId":2,"parentRs":{"attrId":49,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 88, NULL, 5, 'active'), - (90, 18, '7', '子系统', NULL, NULL, 1, 'active'), - (91, 19, 'guid_of_subsys', '[{"ciTypeId":7},{"ciTypeId":2,"parentRs":{"attrId":121,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 90, NULL, 1, 'active'), - (92, 18, '8', '单元', NULL, NULL, 2, 'active'), - (93, 19, 'guid_of_unit', '[{"ciTypeId":8},{"ciTypeId":7,"parentRs":{"attrId":138,"isReferedFromParent":1}},{"ciTypeId":2,"parentRs":{"attrId":121,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 92, NULL, 2, 'active'), - (94, 18, '9', '服务', NULL, NULL, 3, 'active'), - (95, 19, 'guid_of_service', ' [{"ciTypeId":9},{"ciTypeId":8,"parentRs":{"attrId":157,"isReferedFromParent":1}},{"ciTypeId":7,"parentRs":{"attrId":138,"isReferedFromParent":1}},{"ciTypeId":2,"parentRs":{"attrId":121,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 94, NULL, 3, 'active'), - (96, 18, '10', '调用', NULL, NULL, 4, 'active'), - (97, 19, 'guid_of_invoke', '[{"ciTypeId":10},{"ciTypeId":8,"parentRs":{"attrId":178,"isReferedFromParent":1}},{"ciTypeId":7,"parentRs":{"attrId":138,"isReferedFromParent":1}},{"ciTypeId":2,"parentRs":{"attrId":121,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 96, NULL, 4, 'active'), - (98, 18, '12', '主机', NULL, NULL, 5, 'active'), - (99, 19, 'guid_of_host', '[{"ciTypeId":12},{"ciTypeId":20,"parentRs":{"attrId":222,"isReferedFromParent":1}},{"ciTypeId":8,"parentRs":{"attrId":142,"isReferedFromParent":0}},{"ciTypeId":7,"parentRs":{"attrId":138,"isReferedFromParent":1}},{"ciTypeId":2,"parentRs":{"attrId":121,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 98, NULL, 5, 'active'), - (100, 18, '13', '块存储', NULL, NULL, 6, 'active'), - (101, 19, 'guid_of_block_storage', '[{"ciTypeId":13},{"ciTypeId":12,"parentRs":{"attrId":246,"isReferedFromParent":1}},{"ciTypeId":20,"parentRs":{"attrId":222,"isReferedFromParent":1}},{"ciTypeId":8,"parentRs":{"attrId":142,"isReferedFromParent":0}},{"ciTypeId":7,"parentRs":{"attrId":138,"isReferedFromParent":1}},{"ciTypeId":2,"parentRs":{"attrId":121,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 100, NULL, 6, 'active'), - (102, 18, '15', '运行实例', NULL, NULL, 7, 'active'), - (103, 19, 'guid_of_instance', '[{"ciTypeId":15},{"ciTypeId":8,"parentRs":{"attrId":285,"isReferedFromParent":1}},{"ciTypeId":7,"parentRs":{"attrId":138,"isReferedFromParent":1}},{"ciTypeId":2,"parentRs":{"attrId":121,"isReferedFromParent":1}},{"ciTypeId":1,"parentRs":{"attrId":31,"isReferedFromParent":1}}]', 102, NULL, 7, 'active'), - (104, 20, 'loan_group', '贷款业务群组', NULL, NULL, 1, 'active'), - (105, 20, 'deposit_group', '存款业务群组', NULL, NULL, 2, 'active'), - (106, 21, 'TOMCAT', 'TOMCAT', NULL, NULL, 2, 'active'), - (107, 21, 'MYSQL', 'MYSQL', NULL, NULL, 1, 'active'), - (108, 21, 'REDIS', 'REDIS', NULL, NULL, 3, 'active'), - (109, 22, 'PRD', '生产', NULL, NULL, 1, 'active'), - (110, 22, 'STG', '准生产', NULL, NULL, 2, 'active'), - (111, 23, 'PRD', '生产环境', 109, NULL, 1, 'active'), - (112, 23, 'STGi', 'STGi环境', 110, NULL, 2, 'active'), - (113, 23, 'STGk', 'STGk环境', 110, NULL, 3, 'active'), - (114, 24, 'PREPAID', '包年包月', NULL, NULL, 1, 'active'), - (115, 24, 'POSTPAID_BY_HOUR', '按量计费', NULL, NULL, 2, 'active'), - (116, 25, 'INTERNET', '互联网', NULL, NULL, 1, 'active'), - (117, 25, 'PARTNERNET', '伙伴网', NULL, NULL, 2, 'active'), - (118, 25, 'INTRANET', '内部网', NULL, NULL, 3, 'active'), - (119, 25, 'DMZ', 'DMZ', NULL, NULL, 4, 'active'), - (120, 25, 'ECN', 'ECN', NULL, NULL, 5, 'active'), - (121, 25, 'MGMT', 'MGMT', NULL, NULL, 6, 'active'), - (122, 25, 'SF', 'SF', NULL, NULL, 7, 'active'), - (123, 26, 'client_layer', '客户层', NULL, NULL, 1, 'active'), - (124, 26, 'link_layer', '接入层', NULL, NULL, 2, 'active'), - (125, 26, 'buss_layer', '业务层', NULL, NULL, 3, 'active'), - (126, 27, 'h5', 'H5', NULL, NULL, 1, 'active'), - (127, 27, 'API', 'API', NULL, NULL, 2, 'active'), - (128, 27, 'APP', 'APP', NULL, NULL, 3, 'active'), - (129, 27, 'DMZ', 'DMZ', NULL, NULL, 4, 'active'), - (130, 27, 'ECN', 'ECN', NULL, NULL, 5, 'active'), - (131, 27, 'MGMT', 'MGMT', NULL, NULL, 6, 'active'), - (132, 27, 'ADM', 'ADM', NULL, NULL, 7, 'active'), - (133, 27, 'CS', 'CS', NULL, NULL, 8, 'active'), - (134, 27, 'CDCN', 'CDCN', NULL, NULL, 9, 'active'), - (135, 27, 'RDCN', 'RDCN', NULL, NULL, 10, 'active'), - (136, 28, 'APP', '应用', NULL, NULL, 1, 'active'), - (137, 28, 'DB', '数据库', NULL, NULL, 2, 'active'), - (138, 28, 'CACHE', '缓存', NULL, NULL, 3, 'active'), - (139, 29, 'DNS', 'DNS', NULL, NULL, 1, 'active'), - (140, 29, 'CLB_INTRANET', '腾讯云内网负载均衡', NULL, NULL, 2, 'active'), - (141, 29, 'CLB_INTERNET', '腾讯云外网负载均衡', NULL, NULL, 3, 'active'), - (142, 29, 'MYSQL_MS', 'mysql主从切换', NULL, NULL, 4, 'active'), - (143, 30, 'rmb_ip', NULL, NULL, NULL, 1, 'active'), - (144, 30, 'rmb_port', NULL, NULL, NULL, 2, 'active'), - (145, 30, 'rmb_name', NULL, NULL, NULL, 3, 'active'), - (146, 34, 'CROSS_REGIONAL', '异地IDC', NULL, NULL, 1, 'active'), - (147, 34, 'CROSS_LOCAL', '同城IDC', NULL, NULL, 2, 'active'), - (148, 34, 'SINGLE_IDC', '单IDC', NULL, NULL, 3, 'active'), - (149, 36, 'TCP_LONG', 'tcp长连接', NULL, NULL, 1, 'active'), - (150, 36, 'TCP_SHORT', 'tcp短连接', NULL, NULL, 2, 'active'), - (151, 36, 'UDP', 'udp', NULL, NULL, 3, 'active'), - (152, 38, 'sync_invoke', '同步调用', NULL, NULL, 1, 'active'), - (153, 38, 'sync_request', '同步请求', NULL, NULL, 2, 'active'), - (154, 38, 'async_respond', '异步返回', NULL, NULL, 3, 'active'), - (155, 43, 'app.wbtest.com', '内网应用域名', NULL, NULL, 1, 'active'), - (156, 43, 'db.wbtest.com', '内网数据库域名', NULL, NULL, 2, 'active'), - (157, 43, 'cache.wbtest.com', '内网缓存域名', NULL, NULL, 3, 'active'), - (158, 43, 'wbtest.com', '外网应用域名', NULL, NULL, 4, 'active'), - (159, 46, 'app', 'app', NULL, NULL, 1, 'active'), - (160, 46, 'mysql', 'mysql', NULL, NULL, 2, 'active'), - (161, 46, 'redis', 'redis', NULL, NULL, 3, 'active'), - (162, 48, 'SA1.SMALL2', '标准型-1Core 2G', NULL, NULL, 1, 'active'), - (163, 48, 'SA1.MEDIUM4', '标准型-2Core 4G', NULL, NULL, 2, 'active'), - (164, 49, 'img-31tjrtph', 'CentOs 7.2 64位', NULL, NULL, 1, 'active'), - (165, 49, 'img-6ns5om13', 'CentOs 6.8 64位', NULL, NULL, 2, 'active'), - (166, 50, '50', '50 GB', NULL, NULL, 1, 'active'), - (167, 50, '100', '100 GB', NULL, NULL, 2, 'active'), - (168, 50, '200', '200 GB', NULL, NULL, 3, 'active'), - (169, 52, 'high_performance', '高性能', NULL, NULL, 1, 'active'), - (170, 52, 'high_capacity', '高容量', NULL, NULL, 2, 'active'), - (171, 52, 'ssd', 'SSD', NULL, NULL, 3, 'active'), - (172, 54, 'intranet_ip', '内网IP', NULL, NULL, 1, 'active'), - (173, 54, 'internet_ip', '外网IP', NULL, NULL, 2, 'active'), - (174, 56, 'tomcat_balance', 'TOMCAT负载均衡节点', 106, NULL, 1, 'active'), - (175, 56, 'mysql_master', 'MYSQL 主节点', 107, NULL, 2, 'active'), - (176, 56, 'mysql_slave', 'MYSQL 从节点', 107, NULL, 3, 'active'), - (177, 56, 'redis_master', 'REDIS 主节点', 108, NULL, 4, 'active'), - (178, 56, 'redis_slave', 'REDIS 从节点', 108, NULL, 5, 'active'), - (179, 62, 'IDC', '机房网段', NULL, NULL, 1, 'active'), - (180, 62, 'VPC', 'VPC网段', NULL, NULL, 2, 'active'), - (181, 62, 'SUBNET', 'VPC子网网段', NULL, NULL, 3, 'active'), - (182, 62, 'INTERNET', '互联网网段', NULL, NULL, 4, 'active'), - (218, 19, 'guid_of_deploy_detail', '[{"ciTypeId": 7},{ "ciTypeId": 2, "parentRs": { "attrId": 121, "isReferedFromParent": 1}},{ "ciTypeId": 1,"parentRs": { "attrId": 31,"isReferedFromParent": 1}}]', NULL, NULL, 8, 'active'), - (219, 58, 'wecube-zone-create', '创建安全区域', NULL, NULL, 1, 'active'), - (220, 61, 'wecube1563966107126', '销毁资源集下的虚拟主机', NULL, NULL, 1, 'active'), - (221, 28, 'USER', '客户资源', NULL, NULL, 4, 'active'), - (222, 48, 'SA1.SMALL1', '标准型-1Core 1G', NULL, NULL, 3, 'active'), - (223, 39, 'wecube-appdeploy', '应用部署', NULL, NULL, 1, 'active'), - (224, 58, 'wecube-zone-creation', '创建安全区域_子网_虚拟机', NULL, NULL, 2, 'active'), - (225, 61, 'wecube_destory_set_vm', '销毁资源集下的虚拟机', NULL, NULL, 2, 'active'), - (226, 59, 'wecube_destory_set_vm', '销毁资源集下的虚拟机', NULL, NULL, 1, 'active'), - (227, 47, 'wecube-TerminateVM', '销毁主机-726', NULL, NULL, 1, 'active'), - (228, 47, 'wecube-CreateVM', '创建主机-726', NULL, NULL, 2, 'active'), - (229, 58, 'wecube-createVpc', '创建VPC-726', NULL, NULL, 3, 'active'), - (231, 41, 'wecube-appdeploy', '应用部署-726', NULL, NULL, 1, 'active'), - (232, 58, 'create-SubNet', '创建子网-726', NULL, NULL, 4, 'active'), - (233, 46, 'root', 'root', NULL, NULL, 4, 'active'), - (234, 58, 'delete-SubNet', '销毁子网-726-01', NULL, NULL, 5, 'active'), - (235, 41, 'deploy-app-726-12', '应用部署-726-12', NULL, NULL, 2, 'active'), - (237, 30, 'code1', 'value1', NULL, NULL, 4, 'active'), - (238, 58, 'wecube1564467202875', 'test', NULL, NULL, 6, 'active'), - (239, 31, 'wecube1564468847441', 'test\n', NULL, NULL, 1, 'active'), - (240, 69, 'seed123456', 'seed', NULL, NULL, 1, 'active'), - (241, 70, '1', '系统', 2, NULL, 1, 'active'), - (242, 70, '7', '子系统', 2, NULL, 2, 'active'), - (243, 70, '8', '单元', 2, NULL, 3, 'active'), - (244, 70, '15', '运行实例', 2, NULL, 4, 'active'), - (245, 70, '9', '服务', 2, NULL, 5, 'active'), - (246, 70, '10', '调用', 2, NULL, 6, 'active'), - (247, 16, '1', '系统设计', NULL, NULL, 1, 'active'), - (248, 17, 'guid_of_sys_design', NULL, 245, NULL, 1, 'active'); + (58, 20, 'business_group_A', '业务群组A', NULL, '业务群组A', 1, 'active'), + (59, 20, 'business_group_B', '业务群组B', NULL, '业务群组B', 2, 'active'), + (60, 21, 'tomcat', 'tomcat', NULL, 'tomcat', 2, 'active'), + (61, 21, 'mysql', 'mysql', NULL, 'mysql', 1, 'active'), + (62, 21, 'redis', 'redis', NULL, 'redis', 3, 'active'), + (63, 22, 'tomcat_7', 'tomcat_7', 60, 'tomcat_7', 1, 'active'), + (64, 22, 'tomcat_8', 'tomcat_8', 60, 'tomcat_8', 2, 'active'), + (65, 22, 'mysql_7', 'mysql_7', 61, 'mysql_7', 3, 'active'), + (66, 22, 'mysql_8', 'mysql_8', 61, 'mysql_8', 4, 'active'), + (67, 22, 'redis_4', 'redis_4', 62, 'redis_4', 5, 'active'), + (68, 22, 'redis_5', 'redis_5', 62, 'redis_5', 6, 'active'), + (69, 24, 'PRD', '生产环境', NULL, '生产环境', 1, 'active'), + (70, 24, 'DR', '容灾环境', NULL, '容灾环境', 2, 'active'), + (71, 24, 'STGi', 'STGi环境', NULL, 'STGi环境', 3, 'active'), + (72, 24, 'STGk', 'STGk环境', NULL, 'STGk环境', 4, 'active'), + (73, 24, 'INTi', 'INTi环境', NULL, 'INTi环境', 5, 'active'), + (74, 24, 'INTk', 'INTk环境', NULL, 'INTk环境', 6, 'active'), + (75, 24, 'DEV', '开发环境', NULL, '开发环境', 7, 'active'), + (76, 25, 'PERPAID', '包年包月', NULL, '包年包月', 1, 'active'), + (77, 25, 'POSTPAID_BY_HOUR', '按量计费', NULL, '按量计费', 2, 'active'), + (78, 27, 'client_layer', '客户层', NULL, '客户层', 1, 'active'), + (79, 27, 'link_layer', '接入层', NULL, '接入层', 2, 'active'), + (80, 27, 'buss_layer', '业务层', NULL, '业务层', 3, 'active'), + (81, 28, 'tcp_long', 'tcp长连接', NULL, 'tcp长连接', 1, 'active'), + (82, 28, 'tcp_short', 'tcp短连接', NULL, 'tcp短连接', 2, 'active'), + (83, 28, 'udp', 'udp', NULL, 'udp', 3, 'active'), + (84, 29, 'sync_invoke', '同步调用', NULL, '同步调用', 1, 'active'), + (85, 29, 'sync_request', '同步请求', NULL, '同步请求', 2, 'active'), + (86, 29, 'async_respond', '异步返回', NULL, '异步返回', 3, 'active'), + (87, 30, 'loadblacne', '负载均衡', 60, '负载均衡', 1, 'active'), + (88, 30, 'keepalived', 'keepalived', 60, 'keepalived', 2, 'active'), + (89, 30, 'mysql_ms', 'mysql_主从', 61, 'mysql_主从', 3, 'active'), + (90, 30, 'mysql_alone', 'mysql_单机', 61, 'mysql_单机', 4, 'active'), + (91, 30, 'redis_ms', 'redis_主从', 62, 'redis_主从', 5, 'active'), + (92, 30, 'redis_alone', 'redis_单机', 62, 'redis_单机', 6, 'active'), + (93, 32, 'intranet', '内网网段', NULL, '内网网段', 1, 'active'), + (94, 32, 'internet', '互联网网段', NULL, '互联网网段', 2, 'active'), + (95, 33, 'data_center', '数据中心', 93, '数据中心', 1, 'active'), + (96, 33, 'network_zone', '网络区域', 93, '网络区域', 2, 'active'), + (97, 33, 'business_zone', '业务区域', 93, '业务区域', 3, 'active'), + (98, 33, 'resource_set', '资源集合', 93, '资源集合', 4, 'active'), + (99, 33, 'internet', '互联网', 94, '互联网', 1, 'active'), + (101, 34, 'peer_connection', '对等连接', NULL, '对等连接', 1, 'active'), + (102, 34, 'nat_gateway', 'NAT网关', NULL, 'NAT网关', 2, 'active'), + (103, 35, 'single', '单资源集合', NULL, '单资源集合', 3, 'active'), + (104, 35, 'local', '同城资源集合', NULL, '同城资源集合', 1, 'active'), + (105, 35, 'remote', '异地资源集合', NULL, '异地资源集合', 2, 'active'), + (106, 36, 'app.demo.com', '内网应用域名', NULL, '内网应用域名', 1, 'active'), + (107, 36, 'db.demo.com', '内网数据库域名', NULL, '内网数据库域名', 2, 'active'), + (108, 36, 'cache.demo.com', '内网缓存域名', NULL, '内网缓存域名', 3, 'active'), + (109, 36, 'demo.com', '外网应用域名', NULL, '外网应用域名', 4, 'active'), + (110, 38, 'standard_type', '标准型CVM', 60, '标准型CVM', 1, 'active'), + (111, 38, 'mem_type', '内存型CVM', 60, '内存型CVM', 2, 'active'), + (112, 38, 'mysql_standard_type', '基础版mysql', 61, '基础版mysql', 3, 'active'), + (113, 38, 'mysql_ha_type', '高可用版mysql', 61, '高可用版mysql', 4, 'active'), + (114, 38, 'redis_standard_type', '基础版redis', 62, '基础版redis', 5, 'active'), + (115, 38, 'redis_ha_type', '高可用版redis', 62, '高可用版redis', 6, 'active'), + (116, 39, 'img-31tjrtph', 'CentOs 7.2 64位', 60, 'CentOs 7.2 64位', 1, 'active'), + (117, 39, 'img-6ns5om13', 'CentOs 6.8 64位', 60, 'CentOs 6.8 64位', 2, 'active'), + (118, 39, 'mysql5.5', 'mysql5.5', 61, 'mysql5.5', 3, 'active'), + (119, 39, 'mysql5.6', 'mysql5.6', 61, 'mysql5.6', 4, 'active'), + (120, 39, 'redis3.0', 'redis3.0', 62, 'redis3.0', 5, 'active'), + (121, 39, 'redis4.0', 'redis4.0', 62, 'redis4.0', 6, 'active'), + (122, 40, '1C2G_CVM', '1核2GB', 60, '1核2GB', 1, 'active'), + (123, 40, '2C4G_CVM', '2核4GB', 60, '2核4GB', 2, 'active'), + (124, 40, '1C2G_MYSQL', '1核2GB', 61, '1核2GB', 3, 'active'), + (125, 40, '2C4G_MYSQL', '2核4GB', 61, '2核4GB', 4, 'active'), + (126, 40, '4G', '4GB', 62, '4GB', 5, 'active'), + (127, 40, '8G', '8GB', 62, '8GB', 6, 'active'), + (128, 41, 'loadblance_node', '负载均衡节点', 87, '负载均衡节点', 1, 'active'), + (129, 41, 'keepalived_master', 'Keepalived主节点', 88, 'Keepalived主节点', 2, 'active'), + (130, 41, 'keepalived_slave', 'Keepalived从节点', 88, 'Keepalived从节点', 3, 'active'), + (131, 41, 'mysql_ms_master', 'mysql主节点', 89, 'mysql主节点', 4, 'active'), + (132, 41, 'mysql_ms_slave', 'mysql从节点', 89, 'mysql从节点', 5, 'active'), + (133, 41, 'mysql_alone_node', 'mysql节点', 90, 'mysql节点', 6, 'active'), + (134, 41, 'redis_ms_master', 'redis主节点', 91, 'redis主节点', 7, 'active'), + (135, 41, 'redis_ms_slave', 'redis从节点', 91, 'redis从节点', 8, 'active'), + (136, 41, 'redis_alone_node', 'redis节点', 92, 'redis节点', 9, 'active'), + (137, 42, 'high_performance', '高性能', NULL, '高性能', 1, 'active'), + (138, 42, 'high_capacity', '高容量', NULL, '高容量', 2, 'active'), + (139, 42, 'ssd', 'SSD', NULL, 'SSD', 3, 'active'), + (140, 43, '业务IP', '业务IP', 93, '业务IP', 1, 'active'), + (141, 43, '网关IP', '网关IP', 93, '网关IP', 2, 'active'), + (142, 43, '广播IP', '广播IP', 93, '广播IP', 3, 'active'), + (143, 43, '外网IP', '主机IP', 94, '外网IP', 4, 'active'), + (145, 44, 'redis_master', '认证参数', 108, '认证参数', 4, 'active'); INSERT INTO `adm_ci_type` (`id_adm_ci_type`, `name`, `description`, `id_adm_tenement`, `table_name`, `status`, `catalog_id`, `ci_global_unique_id`, `seq_no`, `layer_id`, `zoom_level_id`, `image_file_id`, `ci_state_type`) VALUES - (1, '系统设计', '系统设计', NULL, 'system_design', 'created', 6, NULL, 1, 1, NULL, 1, NULL), - (2, '子系统设计', '子系统设计', NULL, 'subsys_design', 'created', 6, NULL, 2, 1, NULL, 2, NULL), - (3, '单元设计', '单元设计', NULL, 'unit_design', 'created', 6, NULL, 3, 1, NULL, 3, NULL), - (4, '服务设计', '服务设计', NULL, 'service_design', 'created', 6, NULL, 4, 1, NULL, 4, NULL), - (5, '调用设计', '调用设计', NULL, 'invoke_design', 'created', 6, NULL, 5, 1, NULL, 5, NULL), - (6, '调用时序设计', '调用时序设计', NULL, 'invoke_sequence_design', 'created', 6, NULL, 6, 1, NULL, 6, NULL), - (7, '子系统', '子系统', NULL, 'subsys', 'created', 7, NULL, 1, 2, NULL, 7, NULL), - (8, '单元', '单元', NULL, 'unit', 'created', 7, NULL, 2, 2, NULL, 8, NULL), - (9, '服务', '服务', NULL, 'service', 'created', 7, NULL, 3, 2, NULL, 9, NULL), - (10, '调用', '调用', NULL, 'invoke', 'created', 7, NULL, 4, 2, NULL, 10, NULL), - (11, '应用包', '应用包', NULL, 'package', 'created', 7, NULL, 5, 2, NULL, 11, NULL), - (12, '主机', '主机', NULL, 'host', 'created', 8, NULL, 1, 3, NULL, 12, NULL), - (13, '块存储', '块存储', NULL, 'block_storage', 'created', 8, NULL, 2, 3, NULL, 13, NULL), - (14, 'IP地址', 'IP地址', NULL, 'ip_addr', 'created', 8, NULL, 3, 3, NULL, 14, NULL), - (15, '运行实例', '运行实例', NULL, 'running_instance', 'created', 8, NULL, 4, 3, NULL, 15, NULL), - (16, '机房', '机房', NULL, 'IDC', 'created', 9, NULL, 1, 4, NULL, 16, NULL), - (17, '安全区域', '安全区域', NULL, 'zone', 'created', 9, NULL, 2, 4, NULL, 17, NULL), - (18, '安全区域连接', '安全区域连接', NULL, 'zone_link', 'created', 9, NULL, 3, 4, NULL, 18, NULL), - (19, '数据中心节点', '数据中心节点', NULL, 'DCN', 'created', 9, NULL, 4, 4, NULL, 19, NULL), - (20, '资源集', '资源集', NULL, 'resource_set', 'created', 9, NULL, 5, 4, NULL, 20, NULL), - (21, '网段', '网段', NULL, 'network_segment', 'created', 9, NULL, 6, 3, NULL, 21, NULL), - (22, '机房设计', '机房设计', NULL, 'IDC_design', 'created', 10, NULL, 1, 5, NULL, 22, NULL), - (23, '安全区域设计', '安全区域设计', NULL, 'zone_design', 'created', 10, NULL, 2, 5, NULL, 23, NULL), - (24, '安全区域连接设计', '安全区域连接设计', NULL, 'zone_link_design', 'created', 10, NULL, 3, 5, NULL, 24, NULL), - (25, '数据中心节点设计', '数据中心节点设计', NULL, 'DCN_desgin', 'created', 10, NULL, 4, 5, NULL, 25, NULL), - (26, '资源集设计', '资源集设计', NULL, 'resource_set_design', 'created', 10, NULL, 5, 5, NULL, 26, NULL); + (1, '系统设计', '系统设计', NULL, 'system_design', 'created', 6, NULL, 1, 1, 1, 35, NULL), + (2, '子系统设计', '子系统设计', NULL, 'subsys_design', 'created', 6, NULL, 2, 1, 1, 36, NULL), + (3, '单元设计', '单元设计', NULL, 'unit_design', 'created', 6, NULL, 3, 1, 1, 37, NULL), + (4, '服务设计', '服务设计', NULL, 'service_design', 'created', 6, NULL, 4, 1, 1, 38, NULL), + (5, '调用设计', '调用设计', NULL, 'invoke_design', 'created', 6, NULL, 5, 1, 1, 39, NULL), + (6, '调用时序设计', '调用时序设计', NULL, 'invoke_seq_design', 'created', 6, NULL, 6, 1, 1, 40, NULL), + (7, '系统', '系统', NULL, 'system', 'created', 7, NULL, 1, 2, 1, 67, NULL), + (8, '子系统', '子系统', NULL, 'subsys', 'created', 7, NULL, 2, 2, 1, 41, NULL), + (9, '单元', '单元', NULL, 'unit', 'created', 7, NULL, 3, 2, 1, 42, NULL), + (10, '服务', '服务', NULL, 'service', 'created', 7, NULL, 4, 2, 1, 43, NULL), + (11, '调用', '调用', NULL, 'invoke', 'created', 7, NULL, 5, 2, 1, 44, NULL), + (12, '部署包', '部署包', NULL, 'deploy_package', 'created', 7, NULL, 6, 2, 1, 47, NULL), + (13, '部署用户', '部署用户', NULL, 'deploy_user', 'created', 7, NULL, 7, 2, 1, 46, NULL), + (14, '业务应用实例', '业务应用实例', NULL, 'business_app_instance', 'created', 8, NULL, 1, 3, 1, 48, NULL), + (15, '资源实例', '资源实例', NULL, 'resource_instance', 'created', 8, NULL, 2, 3, 1, 49, NULL), + (16, '块存储', '块存储', NULL, 'block_storage', 'created', 8, NULL, 3, 3, 1, 50, NULL), + (17, 'IP地址', 'IP地址', NULL, 'ip_address', 'created', 8, NULL, 4, 3, 1, 51, NULL), + (18, '数据中心', '数据中心', NULL, 'data_center', 'created', 9, NULL, 1, 4, 1, 52, NULL), + (19, '网络区域', '网络区域', NULL, 'network_zone', 'created', 9, NULL, 2, 4, 1, 53, NULL), + (20, '网络区域连接', '网络区域连接', NULL, 'network_zone_link', 'created', 9, NULL, 3, 4, 1, 54, NULL), + (21, '业务区域', '业务区域', NULL, 'business_zone', 'created', 9, NULL, 4, 4, 1, 55, NULL), + (22, '资源集合', '资源集合', NULL, 'resource_set', 'created', 9, NULL, 5, 4, 1, 56, NULL), + (23, '网段', '网段', NULL, 'network_segment', 'created', 9, NULL, 6, 4, 1, 57, NULL), + (24, '路由规则', '路由规则', NULL, 'routing_rule', 'created', 9, NULL, 7, 4, 1, 59, NULL), + (25, '数据中心设计', '数据中心设计', NULL, 'data_center_design', 'created', 10, NULL, 1, 5, 1, 60, NULL), + (26, '网络区域设计', '网络区域设计', NULL, 'network_zone_design', 'created', 10, NULL, 2, 5, 1, 61, NULL), + (27, '网络区域连接设计', '网络区域连接设计', NULL, 'network_zone_link_design', 'created', 10, NULL, 3, 5, 1, 62, NULL), + (28, '业务区域设计', '业务区域设计', NULL, 'business_zone_design', 'created', 10, NULL, 4, 5, 1, 63, NULL), + (29, '资源集合设计', '资源集合设计', NULL, 'resource_set_design', 'created', 10, NULL, 5, 5, 1, 64, NULL), + (30, '网段设计', '网段设计', NULL, 'network_segment_design', 'created', 10, NULL, 6, 5, 1, 65, NULL), + (31, '路由规则设计', '路由规则设计', NULL, 'routing_rule_design', 'created', 10, NULL, 7, 5, 1, 66, NULL); + +INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `regular_expression_rule`, `is_refreshable`) VALUES + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, NULL, '1', NULL), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '1', NULL), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '1', NULL), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, NULL, 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":1},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":12,\\"isReferedFromParent\\":1}}]"}]', '0', NULL), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL); + +INSERT INTO `adm_role_ci_type` (`id_adm_role_ci_type`, `id_adm_role`, `id_adm_ci_type`, `ci_type_name`, `creation_permission`, `removal_permission`, `modification_permission`, `enquiry_permission`, `execution_permission`, `grant_permission`) VALUES + (806, 1, 1, '系统设计', 'Y', 'Y', 'Y', 'Y', 'Y', 'N'), + (807, 1, 7, '系统', 'N', 'N', 'N', 'N', 'N', 'N'), + (808, 1, 14, '业务应用实例', 'N', 'N', 'N', 'N', 'N', 'N'), + (809, 1, 18, '数据中心', 'N', 'N', 'N', 'N', 'N', 'N'), + (810, 1, 25, '数据中心设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (811, 1, 2, '子系统设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (812, 1, 8, '子系统', 'N', 'N', 'N', 'N', 'N', 'N'), + (813, 1, 15, '资源实例', 'N', 'N', 'N', 'N', 'N', 'N'), + (814, 1, 19, '网络区域', 'N', 'N', 'N', 'N', 'N', 'N'), + (815, 1, 26, '网络区域设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (816, 1, 3, '单元设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (817, 1, 9, '单元', 'N', 'N', 'N', 'N', 'N', 'N'), + (818, 1, 16, '块存储', 'N', 'N', 'N', 'N', 'N', 'N'), + (819, 1, 20, '网络区域连接', 'N', 'N', 'N', 'N', 'N', 'N'), + (820, 1, 27, '网络区域连接设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (821, 1, 4, '服务设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (822, 1, 10, '服务', 'N', 'N', 'N', 'N', 'N', 'N'), + (823, 1, 17, 'IP地址', 'N', 'N', 'N', 'N', 'N', 'N'), + (824, 1, 21, '业务区域', 'N', 'N', 'N', 'N', 'N', 'N'), + (825, 1, 28, '业务区域设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (826, 1, 5, '调用设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (827, 1, 11, '调用', 'N', 'N', 'N', 'N', 'N', 'N'), + (828, 1, 22, '资源集合', 'N', 'N', 'N', 'N', 'N', 'N'), + (829, 1, 29, '资源集合设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (830, 1, 6, '调用时序设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (831, 1, 12, '部署包', 'N', 'N', 'N', 'N', 'N', 'N'), + (832, 1, 23, '网段', 'N', 'N', 'N', 'N', 'N', 'N'), + (833, 1, 30, '网段设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (834, 1, 13, '部署用户', 'N', 'N', 'N', 'N', 'N', 'N'), + (835, 1, 24, '路由规则', 'N', 'N', 'N', 'N', 'N', 'N'), + (836, 1, 31, '路由规则设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (837, 2, 1, '系统设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (838, 2, 7, '系统', 'N', 'N', 'N', 'N', 'N', 'N'), + (839, 2, 14, '业务应用实例', 'N', 'N', 'N', 'N', 'N', 'N'), + (840, 2, 18, '数据中心', 'N', 'N', 'N', 'N', 'N', 'N'), + (841, 2, 25, '数据中心设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (842, 2, 2, '子系统设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (843, 2, 8, '子系统', 'N', 'N', 'N', 'N', 'N', 'N'), + (844, 2, 15, '资源实例', 'N', 'N', 'N', 'N', 'N', 'N'), + (845, 2, 19, '网络区域', 'N', 'N', 'N', 'N', 'N', 'N'), + (846, 2, 26, '网络区域设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (847, 2, 3, '单元设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (848, 2, 9, '单元', 'N', 'N', 'N', 'N', 'N', 'N'), + (849, 2, 16, '块存储', 'N', 'N', 'N', 'N', 'N', 'N'), + (850, 2, 20, '网络区域连接', 'N', 'N', 'N', 'N', 'N', 'N'), + (851, 2, 27, '网络区域连接设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (852, 2, 4, '服务设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (853, 2, 10, '服务', 'N', 'N', 'N', 'N', 'N', 'N'), + (854, 2, 17, 'IP地址', 'N', 'N', 'N', 'N', 'N', 'N'), + (855, 2, 21, '业务区域', 'N', 'N', 'N', 'N', 'N', 'N'), + (856, 2, 28, '业务区域设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (857, 2, 5, '调用设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (858, 2, 11, '调用', 'N', 'N', 'N', 'N', 'N', 'N'), + (859, 2, 22, '资源集合', 'N', 'N', 'N', 'N', 'N', 'N'), + (860, 2, 29, '资源集合设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (861, 2, 6, '调用时序设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (862, 2, 12, '部署包', 'N', 'N', 'N', 'N', 'N', 'N'), + (863, 2, 23, '网段', 'N', 'N', 'N', 'N', 'N', 'N'), + (864, 2, 30, '网段设计', 'N', 'N', 'N', 'N', 'N', 'N'), + (865, 2, 13, '部署用户', 'N', 'N', 'N', 'N', 'N', 'N'), + (866, 2, 24, '路由规则', 'N', 'N', 'N', 'N', 'N', 'N'), + (867, 2, 31, '路由规则设计', 'N', 'N', 'N', 'N', 'N', 'N'); INSERT INTO `adm_state_transition` (`id_adm_state_transition`, `current_state`, `current_state_is_confirmed`, `target_state`, `target_state_is_confirmed`, `operation`, `action`, `status`) VALUES (1, 37, 0, NULL, NULL, 48, 54, 'active'), diff --git a/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql b/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql index 4a9aed6e0..e83188950 100644 --- a/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql @@ -25,503 +25,606 @@ INSERT INTO `adm_files` VALUES (23,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000018A1494441547801ED5D099854C5B5AEBADD7D6FB3884BE2026E094F515C12F37D2646991946167990206AA2F2F99E8A9AA7E133C2135460661070665814718B91A851F173275FE4B98028C8303342F2F0695CE312371617242E28D2F7F6DC5BEF3FCDF4706FD5ED9EEE99E9EEDB4DDFF9E6EB5BA74E6DE79CAA3A55E7545DC6CACF1E4D019E49EB670BA17D7C270B65825BC6090605065CCAECD99C3B9DD5C65700AAEF15D1B68FE31770E19CC918AF1442F4E92CA3727CF028C039DFC19868115C7B3C3C20727FD3453C26D7521180AA06F35C307CA160EC1019B91C2E5E0A80D19B21105735D7198FBA5BD1210034CCAF6A885FCF9833D58D507E2F350A6837B6D445AE8630A08F33A6259BB7BAC16A28333F498D52FE75A65635588DC9162646808AB9B15F329B3D9904FAFD42626C26F0577E824F01CE38A6F1F44A7B888D6DAD893EC5ABD788705BABF53A9485A3E496219F770567B35848FF5BEB0CFEBE1C5F0E07970215F3C440665B2761A09F837E7BA45A53FE76B8423F8E57CE35CF10B6785C41E07C69FFDEFA854BA7F09D4A5C19503414387B91E8F5C977D61226C4D972A531AA9FA131878D932310DEB85F44BFA4CC7C1FCA1419887848BC249EFA54FD8C3066F5939408CE6E79621AFF4681173900BACE206EF3FF649C0DC79477E8AEE6F04DA0C1EAB02E1E5C332DFA769137D1B7FAC4CB8A86D82D68E78D1E04F03E0C620C9055BB9016DAE0412CF2006D6CD91F9B8B98C32FC57C18F2B6372108A7B4C5794D6563ECCE837A19534B71E4239EDAB6EDE52478AF415BDCDB0B652CE484FD860B19AD28C223E68BBDEDCD56B370D8C4749A31C5110EE6CB664A53148DCBA2927E3C25DE77EC03B8F3D268622881070DE4669BF9087AFD4F336E8E102722CDA39436E3344580988AA7BE025004EDC9A88A55732D6C6BB37FCF08D9858434A32A1BADF12E50C9BE96B4008091D3FC3887E5CFBD218D8DA17FC6F93D7E3818037DD3FAE21631305CC4754F5B75CCE387C5E2E6090A92C6A7B7D41A0B5CF015950DE6DB18F2DD30448B1F0F6B10873F5FC73F72E196DC6BC98E00A6DD3658E6167636BF1A51A3DF20C387D7EA0B31127C29C32DA1E621E3147BB864050086AD7D65E640B37DCFCF49A21DF69E8CCFB89A878253E480921500E168DB64DE40AD3F6AF4ADC290E104C39EF9D1329C09ED7305566280921500430BBF8661DDB39CC572B0EF375FC7A5B99EB16FB7C7E7539C87B7481B36C2309295F653B24AE0EA5AFE59657D6C1D2460889785CEE48A0673285602EB211ED8FB11A708E128CA22468BF54DD7F04FBD694B2F54B20290609516AA678EFD8CC236214E80D67F8267789090E020552F814A3258B2530071ABA536B2123D7D49F69CE3F7B7CE8CA882937D46814F51D20240D4EFDB4FBF0CBA405A6F273797B0547C6AAFBDF54BDDB0527E2F79015831899B236AF533183680E0E2BE3D3533F9768DF319C3EBF4719426355E69C594BC0010BB689DDF8ADDBF3E7DF41F32AE3DA7B090879E3342FA40B84CCF6FDF1350504A15B047084092792BA7F02FA0F92B4B3BCEC41BAB6BF8BF92787BD2EF1E25007B1263336D6B512F03E9304B53D3EEB30D9934DA7E218E0EEFC584E53FE11DED85661F6A3A95B7659FAAB0298A56002EFDA388AC6AB05E86D5EED86E93D07126B7B59A93BB9B4F757DFCD4A69991A6EEE693CFF4453B05BCB9CD9AD223CCEF416ADBDC51B6997B30FB9C6455940240767AB8B35F9B138A742353EC2EFE0CE72C7EDD8D2CF29EB42805202EACDFA3F7F7CE3BB53229D0618D74DA2A13D420E0149D00244E3231F1CB2010CFAF0E18050641D1FC8D5F5C10614523A944BCD36E107D769AE6AD2A21F977618D0F8984235BD5382FC48CC76739C2F16CF572AEDD158D44667B313B0FD971C6311AAD8151513A7BE75C3BF68FE2FE272FE3DF759E4B61318A4A00769A16567EACFD448F8B701ABBAEA956FFBB0B92F2B5B2D1DC8C65E0462F82D8FCDC34FEB11796590823520D4E562F7563A38EFDBFDC665D0958C7316C777C90DE79457D4C5A1533168D1887AF9ACE252215B6DA55F3CDE3459CBD84DEE6115A58FBDE1CBCBF7EC29D97F178A16A58596FFE2FEA259D3DE0DB697B39283B8CED4EB21FC9342A0A1D00F32A17717187CC7C6A0C67DAC46C992F5E64BD772E670FE3FF017A9789926D58D3341F1772D1CF72E275D9E6956FFCA21080A10DF18B55CF1E309FF3FB9AEB22CDD9102DB68A0D34B7B2F59806C6E3FF3FCCCFD83A826593878CBBB636B28673E6E33F20262696AC72820085032F00D50BC5F7D1FF7D3658F817A1A87E75A6B4C4BCCCD1E32F6616A611C17E944C07C1FA31C1288E7092F06C7FC3616D3A24D2339D62E432A02436649B573EF1032F0076CCBA1E84FC9E4C14AEF1694D5771C5F357C6A3706C393BCD5CC1FE0F3DFE4F60B272F03301431CE110AE5F1E9DC1D64CD75F01FB1F94F12011E741F1EC103839BED0E1400BC0D0B9F14A1070824C240CFDEB9A6B227F92E17238FE0CAB04435783C12BF1FF13395E0E130EE1521A4A2BC777160E85F59998982C2F9EC0096C36DF0B0B4EC8A35107A75A8C91B1E7CDADD61DD8F1F30CCB30DCB5F130FB2D84C03BDCBEC822E657EC50AC05E0F0C94E416F3FB3CDEEDADC8EF4C3907658EC69F63E2685C731BFAF1311F677631FB6899FC852AE369A66F00F2B1BAC3F60C4FA6F0F2D85180D435175100D4581158094C61ECE6E6E9E6EBC662E67F74002E8DE9B08981D8E7DB6EB2A5B8F5478B82005387B210111B2DBF86E3CE43510794F85404C65701243190C42614328C8EC0BBB327BCC18C32ED99D02772B44238D6D3BAD8B21B8FDDCF07643D1496E5810DE033905A432F6A0276EEA65E8B38970B804B73718D317FF061815CA82981B712A78427434ABA27F7A47DA8D99A6A7B21265A26CD4A18F9C8EF4128DB31B64384685401A8A02290016B36EF335F6687CD2B357D3FDB778B2D5D839FB177AECD4286783F4D16C0984C9A17F7A2718C5A167F7885B58D4D06F427EEAA192001A8A02270038AA3D0E579A8D957B10B96BB7D418CB3AE08A5F4F478CE7058C784BD3D88C2886F3E82FD8223E860673EF43308A231CC2A5345E8CEC420921E5DA1C39154681414E6BDC3365C838F90E074A00C8D80322F91A7BA0615FD11971D0A34905D882DF27300C4F0F85D98960EC6063349B0F26A77109DF9533E1102EA5A1B49407E5D59E27E5ED7DD28C42A12191BB21B4EF7A13904AEBCC82A1A8DBBB8F72BE5D0D074A09DC19B366A12187C98D0123EA49C3F6C07D888F9E3B03CCF3D934F2A4CC28A08FC2BE014BFC27F0A1744E830464BC9C23FF409C41AC85483EE62E10FA43A00C45811901AA1BCDE34028B2A0791E2CF7DE3C7A7FFD460F90023E5300168CD0CB72F37425EFD63A632946810D4A8D1C76CDF0B9EAE69682970740200400C33EB71DB1B8A78C3D79A05BC64504DD50140801E849634FC69CC91362D00D450517809E32F6E4899F5D2A26A5A18859F55DCAB00713155C007AC2D8D383F4C84956290D45304717DA50545001A86E885740B39E20533D53638F9C2EC8E1A01A8A0A260064EC6913CE626CFA60F5B6FB21630F34FC89B2B167374671BEED5AC67218B7A4A7DD502441F3162C9800FCE373729A548F7561797F0B2E727C356F14C86341E15E113887A8771414F244514104808C3DD810A14D1FCF835DB74DBDA31105EE412AE2405A435183F9AB4234AD20020037296CF7FA6C87BA8D3D85A0461ECA4C6928626C6E214E14E55D008636C64762C3E77499D6E8FDCF7B8C3D3242A1C3A8744F54810C45D07AFCCCC5839C75F1F37AA28C6CF2C8BB008479F825687D8A2F1FE6FE9F54CE15FB6753F962C585A25B25D73DA1FC469CF5323CD7E1BC0B40E2A084A6A9DEBC42ECCB1C4BDDF34F4101089162DD835EA1387CA6489E35D82F6FAEA975E82CE3AA86382EA614E3143C4DDCD57C4D54B11E2A783D0CC8BB0050FDE1D0B9043F2D725B4098F32BE7C687CA70BF303C023FF0811FE103EB1910674ADE29EA90B63C47D88A45114BDE1DA188715DDA84398A2C8800D01A3F12E113E147AF3A58DACE1DB447D0697B391C36A507A342A79EBF52928C83BE79FBD4215D86431B626311AF781B43B9B8A950D7D216440088486BA61B6F40AD5A24130CBAD660EC11A853848C1862AFC8200CD383ACE5ECE732BCBB616B253B09792B5F566561B50EA9CAA2FB8C6CC1E7C9F110AC6D7BF553BF6120E3E52A5C3001A006ED7B807E1D76FD3E921B871E5157552F7E28C3DD6163147B0B2B8797DC307A47DAFF9261DD0D3B6D6A9E28FB656324FB47A679E3CBEC17FA6D7C418F68C0C5948A3E9369BEDDC52BA800D0F9F9106357288D10A29760740B48278F60F7CB18E8A9175ACFE0B8570F3DED794DF0C94E29DB072701A2EF16E2AECA39723C84E8C3038F34D4ED61193187E1820A00B56B6D5DF4492C81763B7BB6371653C1183888A6DD1D33C2EC611031E6A60F468010BE8F88C319185BBAF9501EB6C36EA73CDD59519946883DE486A57B77B698BF435E87CA386877DDD273E4934432566EC30517006A9E11D1279326AC3455889BAB6F973EE4E042E2A3D8563047D95401CA29E8B9D7BA50BBF46AAD603331A70C911383990BA96C19EE17AEBE49ECE3083E438DE3AFACADD5331622357DCF400221007419055CFC66CB4D02730FB1BF885F27C3DDE1E80170D4E46CB31B46EF60D22C1CF63C5B86671AA6B4287FB60FFE96683873E7D0B66FADE9A8CD7E6A3E1A3C8EB1902CF0130801201A68438C9B3124BEA6D2435C71EA7CCB774E275F429CD5FB0E5EC3CAAA81866F7C0E6449574EFB521A4A4B79C8F5C1B981ABD1FB3DA315D543C6A3308C5E072387494A1C676B82F23D82C00840E29AD590467B039E5E015D20DC46B7834844AE6A30A75735580F9DFD9808C197FF11CCCB77C9844646BD007B0ABD79BC1C972A0CF7EF7331EC3FD99ED683068DFD6E94F5B01B58D168CEC281D0FBA81E6E38BD5BCC9C83A188EAE0794221BF1B453C28790B044600A8C52D35111CD814F7C8AD87109C8C1DC28EE51D94C36B1D21E6013EFED377AC7B698D6D1CCE7E87DEF65725AD6011F4E487622BD88D623933E4F86498E2D0F31782F10FE35F4FC25DBF7F330E6397BBC28C8490393475890B3E7DDB7AC06DCDAB5A600EC68836C18D9F78E77CE9DA19BAEA2AAE20E607102801A0261B9A310DE3A9622C424F9A4FC62230BF11A3C19C2479F07EFEAA46EB2E768C88636EA655C3C6645CF2B77D3A988233611B20086392F0E42FC1280E787412D86F38DF188DB25FF163D1A9DB9F8A86D81412C2649884D17EC17A24B98B292C361775F38C0A1088364D17B5C93441F80DE42D6115F5D64538FFAB8C04F0A67903BDED585FC27136B9B52E7AAB58C90E356DB60A8C1CE48B0720A60BD2359E6F8F1F06DCE353E232F6AEA1B3117CE46EC1AAAA8F0F7398BDDA2F0D98FC8466680B6DD36E96E351EEE296BAE844199E8F7051DD12D65217B90F44695109E3CF7C10F6D9FEBD8D840E00056D13185605D8AB6AFA5D106238FE27B7FFA7663EF2300C56E9663EE5B0B62EBC068AE71FFCF2C74870BA6D0A655F2361F0D18D8E91CB2F6D2160819B028808698D45129580FB74DF7EC6E94BA7F09DC9283E827D66F463156092CF2892C44AFF8BB4F7521E94978C49F56BAE8B5E8E1B466F96E376851D65D907BDA260061FFF3AEE82065200A86A096311578D45EEC660B85D76D020FD2CBF8F3CF10AF60DDDDE01CD7D1C66F58C366D12790397D220EDC59487BB3CF9BDA54E87632B5F20C3E530948A821A7CE4FAB8C38115005A5661417898BBB2EE77E86ACB4315FAD99D6DA5E2169027A221361053C224FCBFE7CEC3FD4E718413EDC5FE8DD2B8E3D2BDB7CE34A64310EBD3E168A1D00D8534F8A4AB5B385D64A1E26839F5E90BD603D0A2CF4D55070CD122D34FB4B46FDCDC8639FFF6B6956C88BD4BE93BA63DEF3743500AC3A3D80B1000275579E9E02D338D6BABEA4D079FA19DE587E7D8CEAFB1257C67D395FC2BBFF842C2F22E00B4B76F7F6D8DC0B2EE48EEF0BDD19371BD137F69F88CF0FAD93099256E076BB51E81B67F563AC240387E5135D73CABB9C6F84B3A3C775C3B8349B9F45130DD985D78E7E25BB245FB3D500C7F6AEFB0568F5A2446D297CB082771244CF053D0CEFE98A26298263E125C7FAEA5867FEE9747AE60795B060E6F140762676C16AEC8B818CC533664C09C4FB8D016E056D091C4DC4C1A0CA26D0EED670C6EBA9C7F9B097EAE70C8E0833D7F4C2F7E7BFEBB4B85F2F82A3634B1E52DAE86500CDE1D937CE334022D8BE8A266CDB4E8DB49684FFC167419880B1F4F3685F90AF6D727FA319F1A88E1B9BFC39C9BD3301FBB84DE071DEE10FBCB78C19756A90D3E527D85F811ED6FF8339F7005743271563CCE5FC60891F1F6B5B794EC42395702E99A77CC81CF62783C30BBAAEDC6C6726B51B8C2A8C6FAF0F5DDD0F6372126A5321629B83900A434F808FE1656085DD229D01B7AA1B33C98B8302B0775766799530120650EEE548F41E2FBBA0BCDEA9DF3F9586E4D25858F6BDA6F21049E991679FB1A8BB22AA31BC87166CE2686C9598422FC024DE31761D8B7E5B8CCC2892B66EFC7C559076486DF35AC9C2A81B812ED420C6947CB5523A28071CDD00736216E38700E9671284C3D1FCCEF70A6206311F6E0EF41D4256E7CE475322C83CB10975F050A1F22463D2E40FDDDD5814EC7FFDC6EF0D95031DF6CC3BDA20F00052A8BFC247C019F42C43E881D8AE9AF8F1743F4DB69C6A9FDD86FC8CD935301C09568E749B40153D9E721C6C734D5192F269B54591F5F29987D5A329CFC15CCF928F99EFC256391659BE340F2EF2761F40B21385D2ECB1D9F8B7794A9640BE6B77143D4242342B6F6892D6C95F97029B707E9C7AD3F67D70E66F53CF103BBCD7A02797AB7A685337EB6105367638594CCB3277F733A05A00F0F512ACBF994A63ABD83F914DF3233320AA3C13B0A2EC35E9CF4D0C922C1B46B247070825CDCED3EE103C5566903E8F2CD5EFD8C6392CCA7CAD3FD01E1083F5F6E0844ECA055F3CC2364784F85732600740D9A9FC61F32F467FC2ACF43FC0619CE851820C3289C301671D6EA17574818A6B61D21D9E0E3D3062C0597F86D5FD35532980A54DB030BF5CF55BB722600A188D75B37D900C731F74DBEBB7FE1BFB58F3B9C78973C7E93F120B48884392984F1242C08BFE8AD3E061F2D26D70DD5EF27C3289CF02A127C2F390ED38292878CD3D570CE74003A065D591FDB26CFD58EA95D86CA5EE5AEF0E85B85F1CDD7D604599902CE076E3CF73B198B7013E78598737D3654DC98F97BEFDB4F5F289786A9FB43EC71781FCEC68E5C2006C89FAAFBF4DD38A600F5DE847038A2E842DE0CBB1ECA990024AAC4F90A2C91A4794D5C09C6C5B9A62F6A9EC1B60D5B601DF3ED76F316E01F2B37039F855921C3DC61DCC4F9B03B1CC47787336A83D76C8C93D03B2DEB596C904D3CE088F03AF303D6FB2B2B7E81E388EBE53640C05FCEE5B9C19C4D01D4107CD26DB1DC2048B806A1982E6C736B65A3B5231E17AFA3876029A83C1BB5FEFA72055A6480D69AE83B58F93CAF565B1C6BDB76337C1A777C11B7BE86B2F87BBFDE0F2ADEA1A6ED39484E05009F745B87F9FAC194D5F5D940E9C0E5FCAAA68B78CEE6BE8E72F2F012E2DA54D0C1F42B2AA1284B1ECF493CA479E9A0A322B4EF91B327A70240B5DE677FFD520C631BB26901F0E7D145CBD9A409326EE2B3B69CFD06BD39F3B53CC7B5F74C3F03FE0E5DDC49CC8C223917003A00DA2BAA9F0A697EB4B32A81F1308B6A93605FEFD848E92C4DB1C4E3EABB07B8467723ED3207A7AB3768B5AE57C4F859735D62A7341D6AB7E3722E0054435A11B4D419E37928540D262F0311BEF3D49CA45D63B771AE0F6A99A9DFE6892BA1404B6DF4E968441FA8313E074BD8B7DC4D035DDAA02BACD6381FDF5CAB57C82B04376E4FBEE7CD1FC05D6972FAF8E7E76C405BD8EA17B1F5ADAB6BE114B2073E7010D9CFB2ACFE3CAEC79C43D8965CEA3CA9FC0172BB0C4CC1D4F68F3DE76C6D9BA2D8C081DBBD83121E4285AA5C5EA6804235AE5C6EE714280B40E7342A698CB20094347B3B6F5C59003AA75149634000D4CD09278EEFF1969F92A2803F4FB943E72B946353716E1D5752AD2F37065FBA56794ABCA71180FCF2BC8FE043BD8072A8E829E0CB53BE099B52EC39B9717040B8BCD01F3392EB540E779D02C44BE2A9920378AF8570658912C1840E93ED325CCBA2FAF4A9C86548802990E021780953B372ED0DF13EE1AD0A078DBF80E167AAED8082C8D9FF00E9AFD8ABFF271C5B32B766A999952179A200F8A5E160C911E0D7CFE1B88CABE9E9C491F470FE382CAE67EDDA0A0EE95731DBAA861048FE7AE4BCC1CE4446678A9C1A25A5CA9583DDA200F895FEE1FC4B463CC793908CD619FC7D08C9394173B24CDF8A726C9728408EB4E07582E74901A08C7071E1AA90A60DA7831B5DCAB89C28F014481CCA018F89D7C9CA7AE686B53591169D1BC7037131D9A79348E5DFE2A640BBAFC162E22DF1D8DD9A8412E80624DFE950622C161F8BF3FA9558421C8C4CF6833E90123F99AEFC1B000A6087073CFB023CDBC2056F8946234FC22947D9F00B404DCB552853A04C813205CA142853A04C813205CA1428040502A5D59FBE40ECF5A56D8D2A0421F25DA6C6B42D5892ADCF77B9727905F10A962B910C6FB7AD83852D7C8C53498CD2F9B5B9F3385A93F62EC47CB4D6B311948F02CB65048B02650108163FF25E9BB200E49DE4C12A30503A80E6E83B39B336048B4439ABCDBB39CBB99C719902650A9429901105FE1F560CE88BB1690FF80000000049454E44AE426082), (24,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000158A494441547801ED5D0B9814D5953EB7BABB7A188206038828B0F81609AE462509330801445440FC842446A32E312E311245549E0BC8F052D42F9A3509F105CB262A4920222F411D99594982ACC40DEB2A04230AA8C8C317D355DD5577FFDBD093AEBAD5EFAAEA9E99BA7C43D73DF7DC73CF3DE7D4BDE73E8B28086D5A022C9FDACFE25CD9BB9842F9E006389521816E3F24631663662E6E1C0D60E093BC2AB137FE7DC6CDD144AC9673DE3E17A120BDF224C018FB82883770A6AC08778B2CADBF89C5EC5C4A0630A04EFB3614BE88139D62470EE22D570250F4FB3088499BA6479F49AF45B30188667E635DFC3E22F3CE7484E0B9B5494079A0617AE42E1803DE71222555BD17EBF4BA40F92969B4E65FF3CE0175FADC540D932D40CDBCD89564D0AA14D0E917166310C7BF2054BE04183174E3D99DF6108D689C5AF53C1BF8320F271AF5BFC25938CB5E33D0D9C119CDA490FAA7C6296C973D3D8857AE046AE6F353C9D0FBA1A19F8DF7F60C9953F656B846EDC36AE769577183AF9010185B7E52B57AC3F289AC494A0B002D4602631EE4EDF61DD19710E763EC4CA355BF4A219346D91310DF7D42441D1728DF41322D0C247428742974EAC03A0C80533F2981D14F9FBB877D26C103408B94405297D0A9C43C74AF10A36EF6849012DA628705F1962D01479D42F70ABCC5E3ED550B9961A7E6C28E16C45B90049C742A74DF3C0F905E17251C0CF7D2E5D11A9E33E9D4D1005A4385833AE42781C000F29353ABC50A0CA0D5AA36BF8A85F343F3070B4E099B3D1BE3922C61E64CE2A9858C2C68654BCAA70E82B959B372AFD5FB510956332726CDEF5745A23D374E66BBBD6660401DEFCE997E1DE734126E676F4C471F97B34CAC6231E21FC30C3673622BC3A7447EE3B4CE9D938E8B083573E24388196360B943C1D32998758BE4220F23D680F32EA6DBD731853DFDCAD4C8E65C794A491FB280F788C5B577ED34CA620062C389B1479F0DA54FC03C75959DA942E210BA58E79E8C75EEFF2C249F1BB88316E8E7C5E3E623A0555B2A3DD4617584AB3F796906FB5BA9B49CF2673200DF7D80DAB9FC24E37D7D139ACABB4B55BEA8A8D8B86272BE6C405DECDFC5C29653E5BD80D5D46963E271FE2A6897AC7CC11FE47185CEF42DB573E383BDE037134D5F0D60E442DE819BFA0628FEA24C0C150B3739FDC878557BB8D8FC85E4AB9D1BBB0296F734D4565D48BE9CB89C7724D37CBEB64EBF3827AE4B08BE1AC0415D7F0C423BD725DE2532DCA4F13575FAF552828B00D1947293FD1AF5F04476475B457325CA9166685DAC463329DF9ACCDA79F1FEDC30C636979CFEC0D80AF4E54B4211756B872FD3C1F424FBF3E787F45E46825D68129F8C76F36C7B3A7173C1885FF2DFADBA851D91D25C006809B1734A7656E1CC7D8EF1CB7C464ABD1A0E6F6FD791E2998A3B7490A2E144E23C839943E1004F023D351D17B09362097D326053D2E15E3CFB66006498774B158047AF3076E3A669EA52292D33603B92B6C3917C068EE4CFD177DE6843ED76E8E3F875802DB6C14B8E7EAB8E9FAC73FD7B3221B63D1456AFAC9FC2FE2EA739428471D68BBF8173B5DF1826AD15BE4C3A265E88DBB0967FAFD74BF29E3463E91511CF7823AB31761B6A8743FF3F2B50F9CD24C4D0EF4BC7A9FF0AEFF97F9B81A907CEAF4A3DBAF91BE7F19152D3CF583CACB0EB0A50BE85A5FA69D1BF320A89F57A4B8061B7FF30A64932B320B910F1C5000E1F489C8FE6BA9D855F689F2BD19916588191B51398C618CDB567C3DBF34D3BCC9D3897E862CBD5EFEAA7A9DB4AA1BF6946E405E46FB0D3300D269567C72935EE8B0170D3EC66671482DB897D8687ECF082E3112EED5DC0DB73BC68750AA6952B03E3523D3893CBCF45C6299D3145AA078C5B2ACF296F29307F7C00C63AA205B0F2C9B82B9B4C958BA2EF988D6252CD1A3ED99F98583B47FFC40A2D35C6BBA30BB01009117BC70228328217629795320871EA5824B9BCB3F9630079B3533862E7FDC4F7396433B931C7015C12084B1507D0BD58822936D5B5E0E04B17D082E5D3EA590F0CA0D5AB387B050303C82E9F569FDAE27D804C1AC2FCC07AA449C7A133E1E703C742F40598AAFD4A3EB82D05A7D51A4084D4712F4D677BDC5444ED1CEDBF410F2381D613822EA0F5E8B2A89AF863009C1CCE17626EC085B07FB7F3583952ED5466890532992637DCA907CEF33AC9C3D52ECCA9F63E19009387EA9CFABAB181C3D0125FB3570CFDBFB67E22CBBAAA68CF93675CAE87624AE5E749CB82867932890EEAB1D782E441C4170308ABE1FFB3F32ED6BD8D57F56BECF082E3A62956FE2C01C294CAB3201419C18CCF9BF6AC98C11B2936BAD8E185C4872EC41433A341F63C4EE5D9714A8DFB6200F5F730B16F4F3850D660F247C412AB15987F6CC03CED6A1892640098AD7B2E7F2AF96386424CA20B63EB7E28AEFF347F2A56CC31CFF250535C7F4CAC5F5852B058168A449EB7C03C88F86200826FEC967DDCCE3F2CBC539CB4D7C5FEBA59581BB4A7678A8B851E78E4F3B003E8590907CBB3589B5F2AC15D00D44F8EBC865BD3FE622705E5DD5453177B61C01CDECB9E962D8EBD007D3E785B7F15EB24C3ED78D8F9BC5EBC3876B8DB71DF8681BD3B477EF5E647FAED7863CF48AF04DEA0CE308F677147D1E710E2368CB573F5DDBD0EEFD77B834EC871169EF1C5589BDF995E865BCF68C538366DDEC34D639D4493D35093B45DD866BF9B18DB8EAE21E38E20387C51F07E5EC2E45D253A490033C36136D939CD5DA86F06B0F81616AF99AF7F17771135487B03502728F44BF8AF06BFB96B980105DBB2FE27F465D553C1354C8BACC7A6D047D0FADC9681D11EA85F8F0C2C1ECD923511280A4D7D79B22AB53419CA2B099C77B35B5229C732374E51B73285AEC51BE2302C2CAD04AC9DEF44D33FB2FE56ECCDF338743D237A078CEDB75E14837AFCAC715A74A117B49D68FA6A00828186A9D195616203E0F5FECD89A16260689A57575747FB15BB2DABD032978F65C6A6E9EA58943B133E815E687E277CD0FA8298726BC3F4AA4C2D8B53B69261BE1B80E0B87EBAFA5AEFCED173B083768268B68BAA059C3D18D106DC7C7169C3F4E8951E8DFB33B226FC01947BAF42EAD968D19EC05F71BB9B187D8856F19190AA9EDE385D7D3463811E2594E56898BD2E49EF39A49D83814037CEB17B9893C55184A12C439E3F8B7CD85C7A18C2DF1BAA0E6FADBF831DB6D32A575C4C6A2536C7BF4626EF8156A1339CC0D03F78E1F7C3B789FE238E6E5E2138C44AC3E0A9916DB3F2B8D4393D6F31CF998E86F9E60466637AD30CF60ED2C51F612420B65D5B0D80D14634B94B447AA586FA412CD1B48EAA15834E572FA785E8CB9B6FEA164356F06D3100CC296C84A3B7BD615A796B54962EA0BC5576BF740C6599B686A6E12ED50DD0FA3C3CAFE7EBA98BFB25B94F31308012650A4577D7D6D27A9C4DACC3E82ED9ECE37748CCA06DB1B5747989E43DCF1E18409122E66B280A05DFA525683B5A80A112191CEFC25CC1EAA635F474D7E8DF313B5D9921308002F5C25FA6B0BE8EAED738BD0905DF87B73DFB4210A76F3FDEBB6FF5CD274FA18E910F0B2CCD7BF4C000F29431DEF8CEB1D5F493D811DA6918B4148ACF7BDE3F82034C634F7C8896F5399326749F40A755FB32C99757CD2A62149017A73E23E1EA877689C3748121AED265340C474FBE05A5679517DAF923C0DD872EE134277655DC0A33A2F3E2E45F9C479F8BACA6673107B0395A457F6683E803A73C5EC3B256C8EBC22B813EDEEA0731B77031E61EC250202629498502BB6887A98BF0EE933C42F3B902867DEBB13C35BECAA0BD31861101D15DC89FF1FA1BB40AA782E6647423845685C0C76788EF41894DC827169212E2AF4AA5916C287D82674F429B370008FC3C28BFBF906E52CFC7940D25E415A078713A7952D5E5B4362DC3BFF117E9F198460B40F43B69F08C8F284EF812671F65220D2D4E6A5ACCF5C7C0072852A478C3FF82D9BC6BA3C3A9AF4DF9498A6C30BDDBEE72FA6E2842E79B2CFC5BE01B4516E569B6A0052840BC78DBBFC09BFA07FC2EAD1A4EE2DC41CEA05E4A383A9E18135B03BF80D138DC0EF81DD0E89533630A01A74F538F5EFC06069045AA5034467BF43A34F027FC35AA5D680DBB108E5E1101AD8458FD9C2AFEF435F475D015D7C3F4C36F3FC03A1541D2952C8101388951C15D3F117A2C1AA2DDF0CE8533E66AC05AC11F4150FC258398364E987426FE1A5230BF7E03037092B4493BAA86D02EA7242F606C187D8409A64F1345B52DA571143881A5C9AFC5E70E0CA05254D8240D007DE12C30005FC45CB985040650B9BAF185B3C0007C1173E5165271A3006C12DD878313EF5844A670314FDE36435B98081A3C979F6886F44E3CC13A6049E651685AFC59C2C005F19A2420C163A4F0CFE32175CF7F051FB7B4C8A89848D95A804BEFE7ED639A7E07EEFABF5933B51E47B750625E4CAC83E50A985567A6CE6BEBB42D3845733FCE1A78724823171BAD21BD2C3E006E0EBFA449D37640F97320C41E45091297F6E150E6C5F8F0F5729CC7DB34F0BE4CE7EC8AA2DE6632F96E0003EAB4EFE1EAD80D98073FC94529D71A9AB665D0C2D8592ED26C13A47C35808175F11AEC9E7D028727236E4B179DC729099DADAA99EF78D58ADBC5B51A7ABEF900C31FE6D1CF3ED59641728E1B1CB0DAF6018E576D457AD6E3E13861D30B2385F3D1FCB7B76B01696790A12F027C9C3D2D883B4BC03703F8FC33ED4798ECEC6967034BAEEFE12E8C1F1CBB32DD9EEC1817B76AECDBA14FC2F1ABD93004CB891B18D20D03166A8B36DD1395AE737124D6C681FE750126BBC92E6B287F5FA82A7A4121CA1734C4E95C71841ADF1B1969A70983089971FABE1D1EC49D25E08B01F4175F0B23FE55990536BE7E12FB5886E707118603237A4CC2E63442826502385C61079A276442F70CAE64285397AFA67393075F0C001E9FF502A4640DD891AE67AA255F828417FE1907819C819600BD41EE00AC031296ED74B294EE0120C1AC0762451130C404BB9C3EF5A0B86692BE1840C2D0E4AF77307A4334E5CD9C14F9D0BE7D58BE7D0C5FE11AF4007D251F9210C05B763C18C5D97698D7F184414E43588937B7F9F0C500148385EC8CE3162C57F6BA1F778AF39E7925663D8E6D2F3F15C7DD64C97B075271F18BA6A33F5FE7EA3C453A79C76738B463ED09E043E2CD8E536ADC17032895492FF3473BD12BD0F847E96560922AAC9BF42FE9302F9F631BE954F030D85E06E63696DB616EC7DBBC0160976F1C7DAD989FB0044C58DD2C4E005B805E4534FA318CCEEEB3ECC19983BCB69E97C2966FF300A530594C5E7CE0715ECD1C2DAFAC13DF6E38FE81D387D8717BC68E6EE39E694F7033AEADA73EDCA01F4B1BC2182D81619A6E96E544ABD51A005EA751187A3A8C3E6431BCF1690DBDF1590DF5EDD0684944BF3C59DB404F4787CA77045B108B8C88B71E770C2C86F22D53E3507C1CE70CE5E16D91E564CBD6E6BB8094707EFEFE22D1065B4625E8835553A7A7B0653BE321CF54FE627EF5B5242EC4FA863D2F0CE38176C38EDE99644F733B1E18C03189EE6CFA676A323B3CE920E08BB526FA0F873EDA01357F10EE11BA0606365FCA81A9F1AA30D549708F00E53400BBD3535415F777969CA7A2E8884C4FEDBF572844BAC603CABF06F700DD5F34615BC6F87AFA2694EF68540AA3DB7150E40B5B16CFA23EF9002AFC29AB4306019CEE4AAD36EBCE74145CD546ACA0FABD14BFFD83F1EC8E9BD02CAF027F96B90B18C19D38E09980673E057D34928B0B4D6B69A091A0152020772B70FC40FFF7C5512E2E5741022AAE08A288424734BB3FCBE9D4818B78A752D602043FA6C970B8D2A60FDCDAD9302D2A37AF7954005A592B2E7F82FFFDA01D1D46700FD27A62787823A668AD166D4776886BABE95A5C08F124B8755A127FB5AA27FDD0219BA7205FBA00234E079277E1DAAA9288690B6CA082A2625FA149E60C874C8D0EB0BC4138FAFD109AE2271C33E0C28718A75760086739A63B00C57533C07F0053CCCB32287F37FAFDD1EC5C72E5DE61071632827C3180FA594C9CB05D2771C1691C3EF07C9B04CF03203ED3D214D39FC2CB7F9A84CED90A09562040ED49E3D1D4AFC990AD1FCADD862EE14E716B58069C2438BE966A70DDCC36BCF913D182C87E0F662195305D210E8866A3E3555A56E6DD2C9487D87C0CB2AEC676308B1038990FD7D6C546E1F3E94B4321BE3561A807B395ABB0C43F19A671D1C1B83611783D255C46EF76382EF26B095E2040BC8D50EE28DCDF235A82EBEDD9A14CD1872F42FA6D78BB1F8C76A027594DF29E1F54911478F9626AF76E1CF91E62CF9B8A4310BBF07C697458F2EE8014D8D75F5F2F8BC636EE27B04C7B939735642136C6CD6DE2E2AD152300FCDE998D6F285378396FC1BC0FE3B92FF0A52D6BE9F981B32D5A4DC3FDBA1D2CD365D1BE7401A98A77AD566FC522F76BA9B8DBBFF033EE7353F9823FE1F1E3768F49387FF0033C675C9B47DFAEE0EF1C740DDFC8A57C74044BA38C2EF14BF9D9E4ECAB012C9FC89AA28A7A1904509F8DA962D230E49BBF699A779F8B69379C1EC78D217D60042F14C35F320FA3BD5818BF129747DDE0F5468F7C79F4D50004532F4E6507C2FD31BBAEB0E978BF32BE51F956006FFDDB2146231B6644A7E2192FA177018EDA7B680D8685140C031DBE2198A964D17200FFA1AA76746ED565B43A135E39E0BE3981E9951377EB233E17F300BF4CC4E263B1E8350A4D676FCED889B9CF0CB023D0F35E7C39E28F68495686FAAB7F38462FBD084F9FD5E1B404CDFC52387A43C0C304147619E2922C9346C2E8D1683B7A0ACDBDE7DF322AA6D212D3C5102936CFB149A0E6C3A0621FDF2D8B6541A6D3175F1F4B8F97EB59F806287B83F8E3AF5175E2005D681AD41DFB0854287E3FAE7F7D1D7705EE29177FF9965B5603B03379AC09AF0805DB79CB163F7675DCA66C38959AE6BB0F50A98268AB7C0506D056357FACDE81010406D0C625D0C6AB1FB4008101B47109B4F1EAA305C005E6B680D3B5965DAAB6E420DA0225E0AC536662DF0397D6A1E34CEFD302EB18B09C45024E3A15BA172DC07B523ECE2E916001A0654BC051A7EC3D0573D9623AD31270A0E2D6DAB95A5F0B3088B45809085D0A9D4A1580EE9510630E0710B98A459995B8CEADBF942900B428092475085D62E3ACB41155E81EEB16E28BDDDAEFA1F0D172CDE020327C23075FB7C0F7ED7662F5437218E53C01A4DC1280BE14EC413C1DFAFA3A96AC4641F9F2709FB1158DD3A3571F5D0C0AA99370BBD6401841472BF3C8C86934088DC601C620B41009405FD903B6CD93D03942D2321AA7B05D3092B1D8FFD4E256E2B2D73448952420740C5D27759E320081D43823B231A42883B1CEBD5FCA14005A8504846E858E85AE5315B2F40DAF4C8D34A82CFA5520FE027BECC4AE9D20B40209085D0A9D0ADD0A1DA75729E904A60352CF3875D325168B8FC095CCB518429C0C2227C01FC8889FCA17FC56800430C3039D1D84CEF630CE1AAAAA22AB5EB88B49137E15C069C0422081400281040209041208241048209040392450515EBD38F27DC8D0879543107E97A990B20743B2CD7E976B2FAFA2CE057C6AE8278B6F00D9996C8D718399E20E83ABCB5D37CB4450B99909CAF75F028101F82FF38A2A3130808A5287FFCC54940FA0986A13237D8BFF62284B893BCA526A50682081400281049A25F0FFCE0DE132F3F3CEFF0000000049454E44AE426082), (25,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000220C494441547801ED5D097C1445D6AFEA99E949B83C1114415D7751C4FB5E4842385CD445D7135D5D57D95DEF5B5124090A9B04F0763DD6630F3C5677156F76C583232441C155BCE5130F944B94552E49A67B66BABEFF9BC924DD55DD93C9CC6432E034BF3055AF5E9DEF75D5ABF75E553356787ED423C053E9FDA8E962BB90603BA5825BC0C98F1128E2ECBB3937F08DEDB5C69501CA6788A2C89AF06FB9B04E668C970A21BAB75750213DFF468073BE8531D120B8F69C7FB7C0A375E378486EA5C2006535C61920F86D82B1DD65E4427CEB1D01107A1518627C7D55F0497B2F5A1960B210DA9C9AF02D8C59D7DA110AE16D6D04B4DB1BAA02D78119F08E33A625BA37B7C6AC29103F311ADBF2AF756D598D599BE8616C0628991A1AC3A26C5602E8F60B8E8932817F8527FF4780338E65DC97B4A13E76426345D1BF79F97CE18F349A1F4258D847CE80723E159CDDC47CFAE2C689FC0B39BD10CFDF112899267EC2A2E65198E8A7E0BDFD99DA52FE89BF44DF9F974E354E1251F19C82C0F9CC5DBBE9E7CEBC86372B6905C0563302A7DF218ABF6E321F61429C2E371AB3FA491AB3D8AFE404C457EC18D07F5F20BECBC86C6520A221D19268EAD2743080604729099CFDE9C5097CB3022F00B6CA1188D11234551A0FDA6B8CB3DDE4049FE6FBAF0C2BC4B7EE1170A52968AF415ADC4EEE9ACFF2BB4D17325A21BE158D801B4D89F6AD7A007B5F347F61BB671F8F6D21EC45535706C8F70E83735B3598F9DED67C6F9F3FDF1B48ED1B3635FC73CB8A8E63829723DABFACD60C945687D6C350B5082A8FB93ECEE7D45506A1CB283C1D1D81BC66805FDC2ABA3787CC87A3D1E869F18EB52822E33F3B437935068BD5988810ACB4DAF8806BAC664485FEF464CEAD8E0EC48F153F6F9780B21AD1BFC9301BA1C56A217E721201EF00CB124FC2A6F16159AD71566199483E5E89D4BC6480D39F123E8B99CF427B7570A2A1A9FE82110681111E2FAD355E25264A35DF8F152F2F19E0EB65C69520FEE1191145B05182991F94D498E76454CE369E39EF18A0FC4EB13D8C507F94C79DAC9180DFCA7DBE12EEE3837D1A3B1E5AAC5A7274907113F1988E43588F96D6184F97DF277A24E085DFB611C83B21D06A0A9F08C2292E6820F4D9F5931CDE2C1FA31BB3B15CDCF4ED32E3788BF1E9C8B75F5BD7DA42809F1A596FEE3DA2468C9957C557B7A5746E0842EC2ECD6173086CB37B5B96D69F33B193E0C2D098B6051BD90F7C4C2CEAEADD4BDE3180B0C4A90A59387B4D76654AE0CC1C0B3F05C666C1AC3D3BBAD0B80C5B433837A9DA4D92274C6E2C2EAF35C7D455EAEF26F267F317156B73A7454AB9151D0B55C5314D212366868D6F5AACB8760D110BFF281241E525D5C6DBDCC7A63754049FCE665B522D2BAF9600F24D806D62B4DC78EE66C89090EA86F3484355D15D01A60F46198D52723C2A58BFA8251ACAA6868E774D4F1358562DF6C23273EBDC1A63B58846EB2CC12E71B7C1BB55200E83397E26F2CF20675C378CCE84E51503B0456C77BCBD414787E1BBE6EB165CE8802589D014EF1F1A1CCE389F8EBFF8CB67C307617A88287F61588D018FE7CC9ED2A9E1612535C68BD8B17C86768F47657DD32D11F9CF8BAE32FF996EFE74F3E51503082BB297DC1190F0B3BAABF906199E2C4EB34163557022D3C489101EE11AED7CC0047EAC1B4F0EAB099DE04C492D06CD6469494D681EBDED585A5086C8CA38A25D2795D586AE4CAD15D9C1CA4AC3B3D314C6303DEF29978541592BC3528D93CF9BE6E3C3B184AC53F2081180E03873586DE83825CD03307CBA31B8B426F40A3493F558C3877BA039C0A87B2598F0059A91A0A9BC1EE1091A677F06D20A07624B044ACDCA5C2E057925046A9AD5CB9294B818B04D6E03952A6CC144FDBF65B784863293BD82C175CC30B4DC58823F5B521D3EA17152608E5799F0AFDB815BC69448985D8C69BEFD31E3FC2DCC0AFFF46BFCA5BA8AE0FFB9958BDDCB155F2F8327B61037D8D3D1C6DED69AF058C01EB5C33B2B9C573300B334128C1D0F064499C21D082944EAAF2FFAD4A70787408FB05446C70C03C1CB7AA1BCC674553CC1F0F45B1E353F1516BB9C960E397F220E46DD8237FC1E10FD002C3F47345615DDE1457CCA43BB97D832C5D9FC4419895F30667922DCD9BFF9C500F19D91A3CF9842159D800321C548DDF57C6D91AE8FC20EE173358BE81665D68B76D531CE430EC0743FDBB2AC4740909DD43C710808FF1DD37855B76EFA8086CAA22B3ABEAFD76628650BE6CA8C0A5E16009E1C9D85B2D32942990130456E9F4E416E795E9BC0D780B0234261A301E903EC3898697685EA7816348625D6F7E1B34311F356ACF33DED38F630BDF1580EEEECD14BBF75F615E92F537E28842228C8FE4059B48B3DDE99E1BC6200747C435C5BD2D665C1B9E2B2D696DAF1104ECCAE289F264646A3463D11DD59823828FA3DA67B26FACAED68C58B6F2D67E85CAF985BC9BF6985A71BD0021B9865387273C19D5B61476A762379B504081FFF52EE1E54C0FD6558A6F1BA89FC33BF5F3B0E32C10F725931E2CBC09638F0DF81A66A08D6EEDF6785F854AE65AA360A8E735A397AF28A018222F0A5DC6FACBFDB914E5D86671A9F7F83FE9EC6C559501D4BFB0E9792396FD634367E64957E785D95BEC805236D509469FD94CC82AD51609D04C82B06985BC1BF737B2B8D70649FCEE83FEF1E6C8050E8BA4D4BD487F6BC0185D2C1F59545B7778EA751F4C0445D895F188A5625C29DFD9B570CD0D2D9E572A72DA19E5B94713A1A87C3C881912DC65B10325D2D88541E969F75D66EFA6828949675B4FC94F12D7EA40BEE7B2EB04E01E51F0370B644EEA910D611322C93784C056CB18510F4F64E560E84F3DEDA1AF3A1643899A491E713DEF69172199A26DE90619D15CF3F06107CB1DC5948C53F9761E9C64B6B435747057F1EC29E2A7CB9140ABC334B6BCDF35C923206AD5B16F93966A01D1C0561972158F047CC001A5318006FE2E0E3EE16BD1C03D5C108999AA1D8B91F1ABD3B5C8D371878ECED1F76130A2188DE4D26DF0E56D92E7A9445CF969160FC7AB3A182ABB60B19314BF1BC9B017C4302EF43F00A39FB27B4A6CD11F510AB13C93386A9568F2C349FC2AB75911B12297520E59FD650151C07CDE3140547889E16371E9D0C870F252D4D00B5094E23A4F3773E9A78C609E8DC58D63A94AD669229176FE8DB727951CB52D64A19C72D4EE7E3D72E335EC454EB65FF5FE3E7BE33823E7D11F923FAFAE9B8278991A6D0F908563277AA39C1094C3FF6CD3213E7F5C58E7209012BF8AC0CEBCC785E69025B3BCAF9AB20D8D0D6380538FB25FE7758CE88609661F68747CD0098E4FB23CF00E041C52BFAE3EDEA0361AAFBD74D461F087B014759CEC86E612BF2EFB009BE339110530D69D00D60BEC0512407AA60D525B5663F00E152C65772BFB542EBA1AFACBB54552839F2B94450C1553218E52E983789BBD82A64CCECC5F392017C8CBF1461C239150BB13F84B13BB01EEF8981DA07D4E91FF9C1B0E9EA5BF43948883F82C9A6E5444AFBBF96EBCC88BAE1C7292E4D5421C030D6F7068357D07A30D90AB46B29AEDD7A1F8CF3BECF1F7CAF6E0277DDCF97D7844B2222AA187CB014DDDF7EDBB28B91770C109BB24391EE5086D2BBE890D485655D4DDD4F1020BB4391416971497E07B4EB20F87B9E4925454C628CD037984416E2FCE242A6690BF7DB29B0E4A10B7938C2A237BAD4F66D9F81FA732EF04E05E50503C061E36796C9A09B67C7ADDD629663EB051BFD36F008D607EC7A0A38F614B83BB18FBF353795569BEF40AF314CE99DC6EF868F002D42397DBA8C016091DBD38A9A6762A53DCB32C401D4EBF89B9DABF79B9B90F89B513F361DAC18537B3239214B4411BDC0DC2AF119DF54E4D3EFCD52251D2A26A70C407B71EB75F3149CDDBB2C12314A3BD4522F64186AB0775E854D3C4CB3D641E0229B5C10CF84B515D6353E9E6981C78B03AC69C878D62CEBF5492B672C67DD421A2B8E18ACD8D2CC628B73FAEBCE23D60CACFF3F753601B572B8F66787717A181113E719C3F7D457F85F457B73F516305E528D7BC0A5A72810DC83ECE61238ED281DCBB2D69B97E168C46520906AFDEA40C9189CAFB1AEDEE4E3EC1D9F16584E062452126DDE642E00310E568BE2A6E663BFAEAF487F7B5532CD3C8C45C49B98A31CC221DAB284717D0C1791BDF0661F8ABF4350FFA1F81B9C3E63F04F50EE5D837A07FE46F282DA9FF420E4E1044798AFE4DC9DCA00204C70CB66E32248E315A8B803265D9868E33601109BDCAE6D0FDE0EBF4FFF096CFA5F1294EAD8BCC978198C554E71C783D9C1C7C5A90B2A8B663BE06944A045BC07CBC5654A56CEAE84FFDFDD76382979BEFE3C7C00341A8732CD3A4458BC0CCC33D88ED35E18CBD372C1B49B4655061E9767ABF6F2BAA57B318083A3DD32A60B2BAB0997FDB0D1FC00C4BF0B65B44B7C0880FF03D1FF06F7E9B1DDBBEBBDC9B172D781FA6988E32610DB830D7E346A9E45109AB6F1E6FFD395F80C0295D04ECC06F1A9AE1EBD829520CAD714763C825797DF020F22DB43C25CE344FDED8649FA5FE0277809BC87A0C3E04D3694768360B6BD180EB6E2BE8345E5B5C6FEED66481321EB0C406F64496DE85E9C7FABC394183B1BE7D5364C751BB16F7E906BBE517DF709F6C59BF407107EE62BD7F0EF294F5C2A1633D5FCE2FCC950CB42C3773F6608170D1FB770DEEEEC64AEDE6A99C92131BF3FCEAF51B144AFA869DCA4C2DB2061663C8019A05B1BA435047F84E437B1620C8F8858EC6D5CE35F053904EF49769FAC32C0C85AD1076FFD7CEC852F05613C1B0BC2BFA971EDBCBEDDF45D1B2B8B2E6AA80CCC253769B7AEF999EF31198EB763CFB9B5E613F83D5F4EA338CABFB4330E5B365406FF8559EA35A54EC1FF805D8D2424C6B140B8B3D1CE63E53C984D5E6D9C5454E6EFAEEFC6997605B6224B659CB6B8D0E113518D5BBE9FA56B73DAE09987B2C600E4526D08633138D6D3748B4ECFC3858523607439AABE4A7F2495AB68EBAA028DA0E8877257F1369C21C328CE357E6343958E37AE731EF8FD5F010673302BFAECC7B25423D7484B03DA494BA0F3C15B2F7CC18B0948C7DEB054DC83F1188C534CA7A2EC254EE4B618EA39A9D930EB49E86D836616CA0A038CBE43EC2884F90AD6E23DDC9A834E2DA30B1D707A77E482CAC07C379C6430186AFF9C2C3D910606BB176F697522EEF56BBCC4F63366B31B422FB187F0773FFEAE6A9ECDF6F4C2B7C3E3873DC40C3B8CC282B1B15055D30EA0F5C1D23003F09D5B012D01B4B35ABE7D1D632468A7525FA91F0E2EFE2D70547903F9C1508742E87D81965AB9DC74E2596180A626F35170E720A501E8143A765BDF81FA01990863BE1D038F6116487A7731A6D07FD55706AF50DA600388B7B0CF7F89DD0DA27C08E1741A2D21F8BB087F7762DFF10918A352CC6FFFE8972F109C82FA42B6A28932F0E4B0A6276065D5E6A5285799FAD18F7707EDACDF96C0937F89111AABF4C72074EE8BF0E3727A2C8E1DCF964DF47597CC9F8C19008690D3C1959072A587841B9CCEC5747F5DA62A4EB2B681C19E946A688DE26D7975D02E3ADE1A6F058A788D6D677CCB96802897E34F914FC0145867594DA889CD6D8F095A8C3CF7B436201110EC9861B5E1E17488D4E2E2D60438F18BF6193808724E2AFB7B123A3176BFE15CC352A17A2E4326B86CD834336357B98C1900233939D1C1C42F7514D7A01C4BA77313B04C7E2743E20791D51906856280D6E16D39BDBD410D85D99F40F87D52684799D91CD35B2445157E7D1A66810D32120873230E913E8719A1584EC31531551D3D3A46F20C9C55CE91CBC294A35911E1665452519340326200D290E1EDDF4F2E1F13FFB5F555817A199E6E7CCE54731276164EFF8096C260F4E5CD3D63967CCFE2B1BE9763913ED713414AC06C5085A5626F09EC88620D5F8F2DAC320D631928C76CA56C7FC1C0F5232A8377380A493182A5ED0930BA5BDE63333D33911103C0C2354CEE033AFA599F7D025993C2CBAAC323407C6F4E176C676B55F8F7723BEC712C0CCA8E01ED34709AF73E2C068F220C9AB73D982902809FD206710FF9B6D7EFC114E45454B9A06246FC0E72C3D99333B8C134E80FFC11F3DD267BF160343F5D42658775349C1103609ADFC3A5C297BDF6F42EB84941B48DB278F4099AEE92215ADCBA2E76BF900712A8AB2C1F58BAFE58741CBBACF878762EC233E4AC609A7D65981C27D90478C9AD78904B7002E91C2FE710B94CAF387D0514ED6C94D32179BAD14046F38C271D58CF5C2D09987E751907CBB5F3A4A38C90621C4B0B8753C5637837FBB49B05DBCF4863D8659D6CCDE96F0DB504C014AD6F2EC2DFCBE910080332CC2DEE2BD6EFC6B6ADD92DAD057673263B207BB950ADA9639B623BEDE5D8C319310084A0AFEC855118B3290C1F993F38B97339883F4A2E09D3F597A8F723190E53F064CFBDB160CB657C107D72F37FD81F42B3D9D5A8E712391DF12F5C600A4817AC19F9B7280900A09D6FC09E51E596D65118199830B6472BF9786656DB8C18C012DA5B7283B02E1D81C317EAB650464C122F9F6A60FAC52D5FD243BB0BEED34E81F05523255174C00F9B0D3742C21B8BBDA8E08B9881EA2F744E00CCD04D4EF7F9937F4791F0C91805CD1CF6EA96A2EC6929AF315BCBE1DA4FC2174236D9556EA7A5E90A0D649C64F18C186054957F1ED87CB55281C51E268F1F059E0280D6F26814F7E3B86CA3E05B37B17EA2FECEC80AFD2930C3FB4A718257BAA949F563D9D39839EA147C0F002E719AA18F666F7B24B78271C7CF4358AA7ED50A90027819CE4E269B48E89ED1D21AF348F45DD52B30B650D6287A16E291901103B448B5CAF6046FD4CED188D15076B3A1085F1EED6805475F37AEA659A415D0120001E742551AD3AB53BD5C1313651C1063279887AF93E124E563FD1C875F87142DE3B5C4BFD2035816DA79A0009B86527FD70EDA6ED185A62783B49337964C6675F4EB35FCA9AA5F1FF7D428A65236E164C40054C0AE03837FC25AF70E85ED0F9860772BCC169335CC0E4F16C65DBE7BC07962B28283AD16B651E7E1AD47B1F1A7BEA2E82510B43E114FFC4252BE5AB6CF535AF171EC4BA633F2D851F2B4E6E5EC9922CE8EE0C7B08D0998DB2F9D2F04F16F704B5361E26215D63E0404E76535A1F196B0607D548D3F188B1760F17CBEFD92926364CC00B4C6F97CEC2C34E83BA52A3A5225C43FF0358FE752395B1766E67DE8ACB21EA3EC6BDCB6519AE653888081EB1E354D457EA0B6158D625F141DCFCA21139C85A5EB49FCBD853F7C76863D029DC02F91761A3FDEE54E415BC7E8FA79D0E6761BA82DC835C5540CADF3087C9B79601B52FB21DC677C30AE8E5D809D08A67DA1ECB4D0DECF8B83FA05ED97D43E46D65CC270CDDAD1F8BAF41C22805BB59825E07CC8EFE35AE0F6864AF8F5490F5DDD1A15E259094CA2F41C388A1CA3C05B00C45C58324E92D371AD7C79434560810CCF244E770CD335B3A84FD95682491FDFBEB77EC1866FCDD548DFDE590FBFB97152506156270E63E41E2F4C3E11C2DEB95EBA0FCC706B853F38B4A36B7FA7BB84D1D529B8E3671808A60A85E82906A508D2F2B54C98CBE131F4C0F0E9E6418901B8E041BAB553DC9288B7FDC28DCA17BCB02DAE86B80EBD3D77719E8C5AF753B96A8EF420588B8758513ED39DF8ECE541BDF571B32EE44D60F247941AB880FB3BA4108F87AE9EC51BFF2F107F29F0C679111FFDFC90B3E0908E12DFA3DA1838E325C05E38F9C1711E3C024CD06887DBC3E86010AADD0BC361EB5D747A3124DC8BFE6F9D39015CFF533B1E85312DD7B4D7D9FA09C1A5E02E1741540C5ABA4E1508E53A528993200617B79741187579627C717130785AC218E5D7D8C34A995054954D8B3854B624EFD01A8F19EC63BA7A16E37206FE7C4ADE1600669867F00DE021F593F8722F9C74E0595B02EC954F863A706E4DF8520CD854BC313DEC69AE6112EEA4370402DE7258F906C12CAA6ABFA4424E7850745BBFCEF8188CB087230926694DE883331934F8EA8F8681C7C3BAC797EA3EBD945CD3EDF5628700A614D065D81ED81DB00C3E84361E8BBFD3D06165A763C3B607BFD5347E390C424FD9811D0D77FA12606F106DD3C8CD2918D00783731FC69FC385CA8E1B0B4BC46F49FF1C4E0F67964D370E686F2F4D532F5E9DCB5DCA2DC6E58FC975F54AA63640E954E3249C47A4A3E5AA69377609B43E5A263EE506F33ED1564A3C0485D3C5F818C67B78CB6F4E85F82433910530E80BEE9729F1E5B6D8E39D3203D82BA030E9034498DD04CE3F159D570428195F8ED36000F681D0C412EC5C97F8055B52DC2BF0813C3B780A849CD3E50FCFC8E5268BB738733EECD65E12C4B8CE47C4961F1442075FA21B2307B1A838140A1B1C10C117D9858B8754B20A5BD262C2B2261EF1FB83356E3B9F148A7045F19A0172C200891691E3287C07B12F16E76390BCD4A709F4A4BFF15945ACC129211C0B63AB30702B21489275EE7A940F81D3F64030F5EF10DC37D573FC38C089F68907508E2A23412701C7D3177127414F30427F107C77087EB859D45BC8B3B524597005EE1CFE7390EB7F759B5592654C252D2F1820D150326CACFDDC3C4144D83F14622590B2FDCB19CD22B887908C37315FFC2678F13523AE215E0CF2619A17C560A49D314D6F97EDEADDCA435D1B50EFB398EA9F1859E19F4F4BA71B5E36605E0CD0E1E9381B8D211F41084A5070486F6A360AF72A43309A15FA61E6C113FF9F7E5AE3ADA096400CAF33FE83F54E13B3C078B37BF4D4E72496B186CACEA8ABFD32BB8401A85950CF5FA40C353EB4E0E7FCFC28DCAAF0560EC5344C5BA7DDDAEFC6D68381B77E3A5CD7EFCF9716770903C42E843098E2378005F7AE964FBABD8B01BA8B0689AC8A387471188207E20FCA237120D6DC3DB3B0E6A2B8EC3D24934097F1194A7C0F8BCAFB3E21DEC77D84BF467BF1677FC4B188FDB8194084F9691818FBA860EBC4BFDBB7B7FE54BD038A9333F153C05F02DC2AC593E387B111C62616E96F69744194180001101F666403208B41306304EB29159559947CFFE2F700E11B406205E6B095A86705D6EF953ECBBFC21ACA56C76F386BAB06CB5C11F23818006B7E691B46D787BA6406C09B728ADC752C094F26B469729A1C6F59373F079CFE5C1FFAF092B52A32046E6BAFA85B396C2BB9361BA76F7F054654257D94083FF4599A4FBF0277876DECD99D3525D66AD7CA3C809CEB8D42487A2CDC2744E708E9CA7A8F6C3905E79C014A6BC5AEC2320E977B8913C2FF906199C4EBC6C57407F3B09F9F0286AB769605E153445D4E15C7B1F04DE229F852E964679E8EC7C8E8857B0556A2FEFEF6DC512BF67DA2BC600057EEB73736EB616E0E95CBA4E97FF844FF62199E8D386EDE9A86721A52290BED30A076A56F144F4E053F151CC82B8B143CC15355032B59B30DC83D03582E173F0BF65A67ED81C95FA1580F9E8949BD3D6FA0359AA60DA74318D91C64B8842B8C0DDB42DE3040CE970098840F9607180A99376458B6E2B0BAF5C3E189BF60ADEFE55926671F077970043470DF78E2A49900C1F463252B670315581701723F0390942E3D7EE1531D3C259C74A225D5E63878197D841DC17149F373BE575484957625CD9362223C125CD67ABE8BA70B7B8AE5660B2DE70C80CD5F3FB9F11AF3AF946199C461C5DB8FBEED8BD9E6EF29A9752D510CE5D32CFB770333A9DF9E573B22B81CCA1F6C266C0FF6AACD5B9C82A12D35A7C19C3300A644A8809D4FD89792B7AE33934BECC49B454F3899DC0AD3EBBBD87F0F774189835CEE1A0063F6C557C05F1A39D5FB23919EE5254988E906B85825A35891C80019D615F19C33003A494619C7138832EFF5D981E91EA1E914DBADABD69BC61778E3C763CAF77005C39D819C4FD4BBE983C0880A51906F7FD3325F85E124ABC620EC0436282DD7ACBE0AAC0B00396700087CDFC9FD0C6B7412A8E30F297BC8A56CF3466319F6DA77E22DF6363173BE0837871D82FDFDF479D7F0D5FE80360653F30F72AD60A043F1D5D097C9C62FA7A51B8792CB6507C2BB4000577B907306800A154E1DD263F1DF4890A45192EC31D5DF185D6DACC0968AF4EA9ED329F6F65BE0A173F5A84A7D28FCE85B2572FA6E203ED90435AD8B095688A3A3DF1BFF2657B3A40D493551A88C86250A9350D73F396700E8D115A50C54B567921346B2E128BF4DEC4C3EF998EA6743B2FF0A6F2A69F87A27CB03E23E1160FA3EB89CEA2E373D03DD6002ADDF053044380D132814806170F19E47F526AF238554AE9EEA81CF7FCEC7DEADA5399F86BA15071FD9B285AE5473BE5DD0D93F04E3C9EFF05ACC22230B046538DE58B87D8C0D46F8D048B389533D700A8BF542A197B36F302BE3EE822B714BC9EBCE0435563F49FF1B2E74F25B1C163A5464C700631E150D990BA1BB1F9DB89AD69E9E6A18C56E1F63295B0628884C5BB4CB8239E742BA0514A37C9F6B8F31F5E2CDAE85F324EE05B01EA56B66C100981904CCC1EE461B6739FC3DEEE327D335B3A9103F91174CF0A026F8E589B8FD17ED1988738E6F944D23064CF711CA4C2534EDCB744BCB66BE9C3300351E377A5542005354A4E9760C65BD41972CE242A543D23D2F0726B80F47C6AE726B03E69BBE22225EC7F7822E704B4F062B9D1A23BE22A3F8FC7E4F4B66B2F2B29DD6250C40665FDCAC3106C2199435E93EBC0902DEC3CCAF1DDE302938842E5944BC9DB521795DF83E300EBA6A97A09CA88C89E5A0081F217A10C2E713A46F90D33DE3967A870F09A675D7F3B59E797298D0250C40FDAB1BCFFFD77760F01778EBC663CD5F9D4A9FF1A66F80C036137F6377D845EF0D57EF71741A2995BCA9E2E03CC3FD387A7E22EA70BD98124BC2AFD7878DF7E8CC406A658A4B143CC1E62AB02E02E45C08B4F7B3E5F68CDB7186EFEEA5FF8B8C802078343665FB03A71BDCAD83F00B5C07E6A0AF817CEA67E2F5F915FA4799BEE5F6FABDC274F41C57D494602BF01F4C29BBCB78904BF6C21980E7A06E7E2DE0D7AEA32DA58C43719C0A1E23A2EC17721A66BE8C4EF9C8E56512CFE9B9804C1ADA1579C9790587599FC75B7F64B2FAC1946FE26EC4BFFB026C910806BEB2C2466F1CF43C198C520DE1D5A9FAC671359CF1EBF3E204F71926593D99A4E5955B78261DC9655EF2E8C1B1B4A191D7CD4ACC4C55AA6B59BC35C420483B12176230164EB880B98B2378FBAB734DFC6463D6653240B246E5531A19731A2B8353E0247814144B1F65D236C830EFF886E8CA5D3F99949969DE0203A438820D95FA929EDBE98761BAC7A7639CA781532902C4FFD4E7D7C7C6AC83A964C8114E81013A30D0E4198C9DC7545CCFB2076E12BB0E026A6A1E44B8E504974B1F952F9EC0F62E77E92EC0DE90AD29FCEA757C0BDA7B1BAC91F78A35C6F0A8A58DC4AE652460F86E615C9D8C596223E275505EFFB56162F03F88BB0B055DDCF1020364408016D7F3D92882FE629FB03337B3ED61760ED1DDBE89A2794522947FBF600032873AF5EC906603F9D7D4FC6F51CBE191D496851C77C79DA6DCC25226BE95DB12E62629630ACF3634026E3425DA4308C41937F911B8EDABF06C5B23E04A53BE12FE10EA77F0A0D4B814AA503A8D5B78B68111205A124D95AE80F6B0A2C2B8A23C505F0AF17CE9D4B0728C4B412D00F27A046234042D1595345A4DB48F79C0C013E75910FC64B5271010397B01488B7067DF67D8C740602C3CF93E02A09706D7F89F825E47C3A0E57E029AF3E7E038734A7C1BE8D3C7B3A8590E26D8C1D939EC0E043B19059D0CAB56E1D94A4600F44AFED05D0744733C314D60EC364EA18D850D9CCC1985675B1E01A231689DB881B555154C5FDAF669DA4858ABD66DCBFDFF31F78D684B34B67F55BD950168601654041A741E3C00880FC078E13CCFF6631EB9ADBCEF444BA229D196686CEF4E4C08B4031261FA206128143E0127794AB185E8874276843CE0899FC857F8CD83118086073483F7355F0D479586A2A2C02CD82F14855F1EB4B4D084C2081446A030028511288C4061040A23501881AE1881BC92EAE9C4CDFAA839BA2B0622D775E2F0EA6A6CC93AED72AC54FB93571E419BA2663FDCC3EF629C4AB53B5B0F5E94E333344CBD3135D73D702882725D79A1BEAE1F810203743D0DBAB4050506E8D2E1EFFACAF34A06D02C1D9F7031FFDBF5C39293167C9A935A0A951446A030028511F01C81FF075BEA28D96C828F0E0000000049454E44AE426082), -(26,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000162E494441547801ED5D0B9854C5953E75BBFBDE0104041511E5617C65A351D7352AECCC380848D08846B3BEE2E7F34B8C9AB89BAC2830838E3003A2F962D6FDDCC8EAFA48D61893DD44E30659C2639819111F31599575033E90CD8A80C16110A6EFEDEE5BFB57CFF4706FD5EDEEDB33B7A7BB676E7D0C7DEBD4A9D739A7AA4E9D7A31CAE26A9A133338A5BECA6C564B8C2670CE0FCB821A82CB90028CB13F13A78FB8C65B19457ED5561F5BEB554C2603CF5D9A986AA7EC0739F1B3E5B0D05FB91460C45ED122DA77372C8CBDECAC854B006A9658B710F187C0FCA81329FC1E1C1480102489D8ED6D8BF41F656AD42B00D54DD6ADC4ED873301E1EFE0A50023EDD68C10A405A0A7DB6F0D5BFEE065BAB366A227C070502B86837457DF33E67B74FB6C8FC6E841C6B4579816DD1A65643B130ABFCB9302494E1AB79327706E9F6D73FA2E86F5B1CE928A862E780ED8392CADEDDBA9354E04F1CD18B51233AE6CAB673BE4B0D05F3914A869E64771DB7C1625AE914BCDB4C84C8DF1D4A57200D8BF2764BE4A954A848806CC34E38A344FA50A8869BEC63953244374FB61CB97A855C15EC14BC153B90AC2C6A371A2A3E5009B6B9B6458E8AF6C0A083D4EA9010C7C9AAC2008A46834FAAE821C022A9A024289972B20ACBB1000D585DABE4A934A8764E3A9A700547A65C3F2FBA7402800FE69352831430118946CF55F290FEB9FFFC8E58039F33E3EDAB453D3B99D3A9B713A92333A44940BDF16AC59BBB194BD39A2C5D6B42C60DBCAA1BCE556868A1580BFF9398F7CBCC5BA2B9EB4E613E723056131A5EDF92FF30D08FE25B9C56B9ACC9F11D3FF3EB46F08221D74153904CC5DCE47EED862BE88694C7386F907ABE4F1056B1770AFE2DC7CADAED93ADD0363C8822A4E001A39D7F624ACA7D1B26715CC354E47A7B8BDF2BC26AE18BF0A4E6B9044A8380158BB3471235AFD457DA53FE774944556EF8688BEA63358E2559400343662871BB71B3D89CF688D46DAB7B5085D2CFE8869D792462BBA77C148312040E72EB3BE244187A4B7A294C035BA793CA5D4B50BD258637BBD71AF07077F52D7643D99226A810E6038C35349C20A19BDE6840DC5EF8AEA0150D8E35526B1CD3317EA4B547837A4A541DF846EFF877238233E4D860D457F4509007176A8CC24866DCF8D8CE5D9A9A4B5C8F1302F9820C386A2BFB20480D071CBCE66691B800C76F999ADE04037305D3843D453510260DBDA1E994F68C9B3EA1EE44ACFE0C48355F072A7BFFB9BFFAF0A1B7A908A1200A6A5362B2C82F937B9DFFAE98CA5EAC9256133A86936176013E4D79478C456ABB0A107A9A859405BFD881D354BCC57C0D0B35DACE27C8E99B2B620AC1D8B00DBBBC3D8E8B5CDE65428808AE28863532623FD19571A43D4535102207884FDECF352B6BD01C6A0DE432DDDBCE36361F69FDBBD202020E99581EE20F5FF7F686D60E11000BA54D41020F888C30C6D58E15BA4F2D4278451FBF813F5BEC7F7994DA5A0559C0008C2C2E8D3AC31B6008BBE79A67F6E3640F35F39729471E12F2E67963B64E8FA2A520004BB5A1B8CFB28C2A6A13768C9C73E1C72D986CEEEC6190DFA452FDECE3AF3E10FA5F08AD3019CCC695FA88BADCED36B9BF844A2C47918F72742E91B2570A021609ECF76A082AFAEAF8FFD0E8A1F6F0F3B7E27F9D2DF152D0099DAF428744F65FCF22F6B9021A13F4381011380390F71A32B45C38675514C64DEA5EFE3A352234DE3583A803139952950F83BB01428AA007C73058FBDB32BF12DCCDB6FDAB7D73C4D546D5FA67E5D3AED11BDF41FD981EA25E6AA2863CBB070F37A2638FC1D180A144D09AC5D6EFEC57FEFB2DEE2643F841139CD7CEF2AF1E108BF3449FCD59AE6F84375EBFB773B89D83320F60B62F957B21378E73ED4A145E901607E3DD5B6A80D8C4D2B64BE889CDEB747DF49BD644D8209F7D2FC2B7CDDA982D9FACEAD896BB8CD2F03CB6BD6707324FD1167A19B59021B41DFC22CE13922FDB17033A8371702EF01C4864DB4BE5F17C47C47D910F7E2B5CDD63D0E50D6CF739BE373B039F41DDBB6FF05C3CC05B00E1E5CF5E33C86B4CE80602C266E6D85502E126B0359131BA2018113041B36EF841576B2373DD9011863DEC1F46C737A6E8EA999371EDD85FDFE93B284A5C1B54DF13B5236FB0FE4F5B95C78220C82304208C2DA26EB85F31FE023F2E10FA5F04005408CBF60C8AD3201D377D63176F95127E9A3DA16195F685F649CD2D65075ACA1E947E0F0C6E3323E18669849EB66199EF1D7345BD7E3EA9307C0DA82CA2F7A890371EBC7483FD40F7A8819A80EB06E24F6EB1D70DF4723F241CF7B65FBA298720DCDDA85B8CC90E8268CD587812917F79429F3F3157CD4673C99DFEA65FC7394B21EC9F80BFFE597D63625BE857881EC0CE62BC9C05CE61816A1617A14939CF3683B7AB76C3D5BE1C52D728C825A50BEB2441289B10A0E636F7B31DF85A769CAED155ECBB8220E4B5ACDA28770C5EFF66C4FEF048E1AC71911E3708D22B3A100FED6030FDCB11BEB1EE6E923645EE1F9607C33E95D2FD24DF195B41ECCEF4059DFB593F4563C4EDBCC17A913F0E7CD957409E065DFD304DA0324EC6495C702E307F9081AB3A3DB2C6CF7753B3E5C68F8CE859B8B56F0E11DBB2C65730786988D878CD2E748767EB1E163357A1721300BDD69D338BBC39A0BD84F25785E6FD72A9A1EDF464F027192573307D38560CD45D8DCF88BB4C9FC0D7DD3B890DECA9B70891002ED01A23CB25FAD073F35DF989BD4BA8D44CEB860EA5E27F34558C7EEC42918C75D420BA5321E89E8D749CCEF4D0A4BBF770347D9FE0D468921A6208796FD6DD82CC550965341ED4D94D339D0365E46BCF37B6165F611A8004428B15BA91F6604B88A0E57D07A3BD1CAED145B2C874268DE94611AD947CA30EC00DA8893BFEF2AF01E80303363E7F0D3723804E0441996CB8FAEFD2A84E31ADDC2F650209F1118735EB056D159B9D22F5598AB35F5B7106BEB0FD959D314FF00953ED69516E7FF58D3641D0745E95F478C88BD17EB22BE3F49C32D32CFDCB1C56A829AA85A0AD3061C572A64333E5A2CF3B99DF607B75FF57116018E34C4303E5EC5F486F0D534C14CD00A305FCE3C1D01C01442706AC93B1CF174DBA667F97AFA229B4E9F79E7521A68A03D40BA0A5C5BA656257DA4EB7B76D27E036B027BF75866A7699B1F739B308FE7A7CBF8D0A2778F8D198F2A701E89C830C4F71876DC58115BC501D3743756769F95A42630F1A091A90715E5143DCF8D06A3B1C61C8A56311A87EBD8E603F6899C1A84638A19A7AC3DA18C3F50FEC00560FC49B1C74198D6FE54000DE96F7F7D17EB5D37EA4F5AFD8DCBDB0996CDF431325752A8E31B988A4C1B76213DC12EA04EF86DFCEE362EA0E52C4662A38A321C229DBFCBD64BB8121F404FE00220C6DC48957199B0F6F5A51E4C6377B73718CFF4256E31E258FB68265A3F16AC0E3A301BC711E87AC1F083D0835F55E7D356A6D1B507213D5F9C26582BE914055E4240E00220EAD27207FB64ACAE4F8526EF9B91E8923FD134F6F5B67A634909E9A166CDE90B2A90D6E59BDA19B369357A813FC971A1C254CBB052FA8B2200A242A20B6F6B30AE8E44B5B3D2C7B4B12F0F02E1D2C4E0DF8FBF8D1837E71D32DA38AEB5DE28785E5E6CE2A1F52B330F08EBF67CF9A6870446AB143C4E9F57602504043A0BF0AAC78605BA98838B3F126B051B47EC1C26686AEDA7544B238B7BC52933D801B93C100A18007DB92D0A16A3131458090145170067DD1A1BD3DBB8F36AEDCE3865F0AD68F498D74FF1532EE8095B212CB21B7A0220F6031EE8889F656BECAF30E73F020AE2704CDFF6E0BEFA0FA3B6FDD2BA4555EFC9542A173FBAFB771526FA6DC51A6D95CD0FA8D714D803A2B00724CBA18E45ED0104E33FDB67DEBEAFD35A8065DF31DD6B642069DA41958675449CD080BD7E23EC28F35A1B621B7B02CBE7C79B8993FD30511F45EF9B1D1075878108DF5118958E4505B79643258BA604CE5ACE277CB6D76A83B1E77E90604CAECA8242D36C6EB78993BCB9F04A11A61BF49E98F639F37630D10956BE716CA50B119599007A85B219068A220075DFE787C713663B166EBEA450252B00D6429B2F15AB7759514A1080AE3A0E86AB07497D3211FD9D574B3FBE0455F1CCB22802908A9BCF8268A29B2BD8A1375858BBD4BCB4E088458C801E4065A2EDB3154311548AC67DC65522060F085C00D0822F03F3CFF32A6A7ACE4FAC191B376E03511FC59FA725CDB6F90F84FEE095464960D8F0A1E4ABF964A297F090CFB84AA6C10302570231E689C510C9310B56BE5B5AEB75D7FE3F0C150B535DD613182ADC6BF35842DEDF99B812893C2525541AAF60A24B0B4031FCB6E2FEC41D80DA06DA03A0D58E82C277A65C6EB4F47B65E60B1C61323E749C7E05C2951686A1E012399D92F9BD5AB1C7CD235EE5832D40A91BF026F3D7BB8FC879C5194858A00210DF6B1EA5169E756257CE7215DE0D79E16676009B46972AE14CBA0646411838008B7A8CE33E998835E7F7A008DACED2A23389983BA94F3A92339D20BE0315008A6A87288562FC0DB142A8C01D80588CBFEAF0F67CB271E288970A1F78889EA0F73D99B83BFF9904AC189A60B83A8B8894871E10A800D89C41E025C7D9471244F126B8AEE0600888981FB8976195880304104CC4CADE76253B9F3301088F3A13F01957C9336040A0021070D9CA2B39AFB1BC3F3301BF4A6491A9100A805F027B2982B67A059D67725EC2E3773DC133C1E080A100F8A5A59700F865A2575C9FB308BFC5EB2B5E28007E29677B8CE33E0D3AD80DADEA0062168113467EB32F165E28007E292B560565C7713AC80713F5633C67119AF5A7FCB30839CBA0FDA100F8A4A831893E8036EF9ACE627AA7591FD171F9926027A757BD3F94F1B8CF0525395E90FE50007C52B38789DB65749EF0A9087AEB01255F160E0540E6682E7F7F9858A63381500072315C0EF312800A9F09840220333997BF1F33016C8D579448E810E110908BDE6517165157F6B0F7C11F1353AA0040A99C286E1829653DC31EA010EA7B33F1186C10C5C518B99D71A4F72CC2D46862EE98C50D0D05A000FA6663A2D5957F3ECFCEA40416949483309AD6FDDA7901C5081435148002C8D9C3C46D4A14466728300980A102B797E2B2883273A10014CE90DFCB51B0F55D6C5FCBE9CC55345B46C04E28DC66A9EA06325E31FDA100144EDD0D4A1446B3C5E5510ABC0720B67F4148EE51C2396D66B3A9A447E5420150B8921B6068F4EF68B9AEC3A1E8DAA338F5F81C6E05535A39B4FC51E62EFA0D5255EE08423A3FC99D5BF14303DF155CFC22973607F665DA815BBF9E4029C46593BD0E42800DB1B4AA6B25BD0CE07AB4ACBDB8CDF48B9014715FA0C75639FAB3AED163BD0994E82314803E10DE18460BE207680EA24E56A2739A0AD8D4CC2E5030DFDB31BA03C2A4BC84EA8D5C3C683804F481B6382ED61189D26530E47CDA87E838274BDF1F36879EEC4BDCA0E38402D0478AEAB3E977D82E5E0B21F8C06F12C04D61DEBF08378ADDE9374EB1F14201E80785710FD0DBC6183A19069EA5606E47AEA410BE0657E15483F94D62FA970B7720C3421DA09FD41647C091443DCCC14B6011FC0A382B4E469D08168B4BE9F781F1AFB318AD3566D13BFDCCAA28D143010888ACE2183992FAB79EBF80522D7E32E110507C1A97750EA10094357B8A5FB850008A4FE3B2CE211480B2664FF10B172A8101D018CFC7CC80D62F6C02A722B99C3B7C304BF814786F6066B0B21C6606810A009E0CB35D1BE7410D54D675D1B217BDF594783B40759DE3B089C2E17043734A9E41E306B6BCE9DB1E3830D1BAD27664E3FB93AFA1C34C8B1EC14A5FFA191BBF937BE05D8DDC97E1118AC5FA976143C04DE3BE330D18315001C0916E756993A9EF01C875B034F32FDD472E84E0B08E961BDC57C9329B77CA4466CC56DE1B90D3B729A5E0E0BEA28F65BC42FD60FE3310A45985C613F88887872D09AF26A757161FE84B1A41C4095407884593CAE2062A39A5AE29519DABB0CC66D778842BBB687197E04E190F3DC0B4F4537272408FBF11D78F30CEAE568239A9F7F82A48D9010756D2D7FACA7C57AA10020C21535CB001F4042A00ABEF1CBE034D5761528A524FE0C5CE715EF5AA6DB2AE43CF718512C6F09A88E4860F1BF6367A86A40BCCF9304A994F657B064E3C430BA3DCD9AE38F0A0DB55D2977172F941B8F37285FB0D8310191800A6FBC50F1A2FD02100DD2AAF59623E0E822F701614953CBE2B6E6EAE6EB6EAA35A6C1D1E58DC113793A7E1FDBE6FA0555FEFC4EDFE66165E02FBB10C5F3D8FEDC753F3BF04FC725718A7EAD4A7E69BB8697421E3FA4B48BF33914A9E91E2F63C089758B67539307FB736467FDE052CD0833A9DAC4461F4142E85DAA4C01D000C6137C0EBDA1C023D4919A21C518AFA19A80088921A317DB99930BF818A1EEE2C79DA6FDB2B92B64949771B76A2A5BF2148FF8497C0B629010044A37A7D32695D8251D475B41A0C391603EB331C436A3CAF7AA72D6EB98D7DE695BE5F18846827F2743930F25A00BC8633279E72EF11D252AEC8714628E677A0438028E89AF96CAFA645AE0613E50981BF7A30F6FAF8E1B185D990C513717856E6B66CE1F9E028D7F3ADF5B187F3E1E50B07EFFF20E34020D00160F76F8E3F398EF0630AF09A177C2060810B8028F486FAD86FD11AAE03B15D7BE7F25508E3FBEF19D3E7FEE27B4CACB065756DF5FA631A63E20672A90D668D920E404BFBCFC818FD1A94ABA0785EA9E224C8A3D077C4DBC7FD7228D3BAAA39B4BE5F89F4237251044094A7B5C1783A42AC0E4CCDFB6CAAE82D408847706964755B3DDBE1A73E48FFBE08E1C169461FE6C567AC0B792C1E7FA271617FBBFE4C5EE2C12808F90D28B73AF5CD20E5F945FCF70D836E441AFD16C83C59650D2E9A00881C5B1AF44D331AF4D3D1655F85D6FA2BE8DE9DBD25412B84706C654CFB414423F19CFC2DE2D2C8DE701F1F1B1AAA5E1839CA388934ED6610118F341DEC39BA858ABD893C96E8A49F80F78BEEC9775FA18F2C5D285517D00B009C86BC9F83202A536017B2C303FC6DF8FBA111A553D90C1F02EC881BF427AB5E1257A4AF2A664CC658BE3DE8CC447AE23A59B393461E7F04EDFAE79B595E75ADD032C02630065BB4ABC69F40BB826678BEB2F0B574346E85CC690A3692D4518ACDA033EFE3937085BFD25B063E0BC847A49E479E3BD7E543EC6378FB02D6A78D9A7DCCCE150DADF9FF5C800AF0147508A880FA0F9922DA490C521E0ECA34DB2BC3137672B20C0BFD954D8194969C24D740F05E8302A068DD364F9D292387FECAA680274F397D84155C526FEAE6747B36DB7A65936168963ECD4BF054AE3D1AFF6B5A444C6124078BD694D41EEBD1BA2738EC1DA1AB640A081E0A5E0A9ECAF510BC6775EB7934F592B5198B2627CA089857FF0F60776BA46F6A6D60EA9DF74A8410502E14A86DE213F12AE33928CF62AC917C5E2E17C6FF2D91BFD64F4E6B8678E8E9620880D213B823310BC8305B87AEDC2980AE1DB33BF762995C6608C025308E3DDF3B35C032EEFD58C69D272386FEC1470158471F685B64DC296AD66B0780C976BEC6B487065F75C31A392920782C789D81F5F60019406D93F9759BF3FBE19F908185BF8382021FC1E873A758A473D64611001178D10A3EFCD3DD89EBB159152F78B26AE80739EDDBCE04C3EFF2A100C6792CC7733CE1ABFD72CC11B127BD16DB3C05C05905309F4DBFB763B41D3D74A41E8DE7C577C60DBF4B43012B59C5B564C7BE96C6311DA52941986B488190022105420A540005CA624CAF59627D876BB6BACDBA0208D8D722C622DA8FD6CFD7FFABAFF1838A37E01B423C0BCEEC0B61639CED1936488149C657A16A2517805E43D020A57358AD3C140805200F81067B702800839DC379EA57263A80F633C6F91B79CA3AD882FB753A79B01123AC4F8928F0FF39BF360896F2BA910000000049454E44AE426082); - -INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`) VALUES - (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (2, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":1},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":8,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (3, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (4, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (5, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (6, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (7, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (8, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (9, 1, '编排', '编排', 'select', 'orchestration', 'int', 15, 31, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (10, 1, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (11, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (12, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (13, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (14, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (15, 1, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (16, 1, '业务群组', '业务群组', 'select', 'business_group', 'int', 50, 20, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (17, 2, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (18, 2, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":31,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":2,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":24,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (19, 2, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (20, 2, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (21, 2, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (22, 2, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (23, 2, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (24, 2, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (25, 2, '编排', '编排', 'select', 'orchestration', 'int', 15, 32, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (26, 2, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (27, 2, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (28, 2, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (29, 2, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (30, 2, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (31, 2, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (32, 2, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (33, 2, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 0, 0, NULL, 'created', 0, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":31,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":16,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"id\\"}]"},{"type":"delimiter","value":""}]', 0), - (34, 2, 'DCN设计类型', 'DCN设计类型', 'select', 'dcn_design_type', 'int', 15, 27, NULL, NULL, NULL, 9, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (35, 3, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (36, 3, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":3},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":49,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":18,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":3},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":42,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (37, 3, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (38, 3, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (39, 3, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (40, 3, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (41, 3, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (42, 3, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (43, 3, '编排', '编排', 'select', 'orchestration', 'int', 15, 33, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (44, 3, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (45, 3, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (46, 3, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (47, 3, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (48, 3, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (49, 3, '子系统设计', '系统', 'ref', 'subsys_design', 'varchar', 15, 2, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (50, 3, '资源集设计类型', '资源集设计类型', 'select', 'resource_set_design_type', 'int', 15, 28, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (51, 3, '资源集设计', '资源集设计', 'ref', 'resource_set_design', 'varchar', 15, 26, '关联', 32, '', 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (52, 3, '名称', '单元名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (53, 3, '类型', '类型', 'select', 'type', 'int', 15, 21, NULL, NULL, NULL, 10, 1, 11, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (54, 3, '跨IDC部署', '跨IDC部署', 'select', 'across_idc', 'int', 15, 34, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (55, 4, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (56, 4, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":4},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":69,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":36,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":4},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":62,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (57, 4, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (58, 4, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (59, 4, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (60, 4, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (61, 4, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (62, 4, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (63, 4, '编排', '编排', 'select', 'orchestration', 'int', 15, 35, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (64, 4, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (65, 4, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (66, 4, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (67, 4, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (68, 4, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (69, 4, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (70, 4, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (71, 4, '类型', '类型', 'select', 'type', 'int', 15, 36, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (72, 4, '高可用', '高可用', 'select', 'ha_type', 'int', 15, 29, NULL, NULL, NULL, 9, 1, 16, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 6), - (73, 5, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (74, 5, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":5},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":87,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":36,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":5},{\\"ciTypeId\\":5,\\"parentRs\\":{\\"attrId\\":89,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"value\\"}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":5},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":88,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":56,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (75, 5, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (76, 5, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (77, 5, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (78, 5, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (79, 5, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (80, 5, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":5},{\\"ciTypeId\\":5,\\"parentRs\\":{\\"attrId\\":89,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"code\\"}]"},{"type":"delimiter","value":""}]', 0), - (81, 5, '编排', '编排', 'select', 'orchestration', 'int', 15, 37, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (82, 5, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (83, 5, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (84, 5, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (85, 5, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (86, 5, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (87, 5, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (88, 5, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '关联', 32, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (89, 5, '类型', '类型', 'select', 'type', 'int', 15, 38, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (90, 6, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (91, 6, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":6},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":104,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":56,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":6},{\\"ciTypeId\\":6,\\"parentRs\\":{\\"attrId\\":97,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (92, 6, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (93, 6, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (94, 6, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (95, 6, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (96, 6, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (97, 6, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (98, 6, '编排', '编排', 'select', 'orchestration', 'int', 15, 39, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (99, 6, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (100, 6, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (101, 6, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (102, 6, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (103, 6, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (104, 6, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (105, 6, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (106, 6, '调用设计序列', '调用序列', 'multiRef', 'invoke_design_sequence', 'varchar', 300, 5, '关联', 32, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (107, 7, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (108, 7, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":7},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":121,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":18,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":7},{\\"ciTypeId\\":7,\\"parentRs\\":{\\"attrId\\":122,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"code\\"}]"},{"type":"delimiter","value":""}]', 0), - (109, 7, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (110, 7, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (111, 7, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (112, 7, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (113, 7, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (114, 7, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":7},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":121,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":24,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (115, 7, '编排', '编排', 'select', 'orchestration', 'int', 15, 40, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (116, 7, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (117, 7, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (118, 7, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (119, 7, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (120, 7, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (121, 7, '子系统设计', '子系统设计', 'ref', 'subsys_design', 'varchar', 20, 2, '实现', 33, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (122, 7, '环境', '环境', 'select', 'env', 'int', 15, 23, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (123, 7, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (124, 8, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (125, 8, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":8},{\\"ciTypeId\\":7,\\"parentRs\\":{\\"attrId\\":138,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":7,\\"parentRs\\":{\\"attrId\\":108,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":8},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":139,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":42,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (126, 8, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (127, 8, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (128, 8, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (129, 8, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (130, 8, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (131, 8, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":8},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":139,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":42,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (132, 8, '编排', '编排', 'select', 'orchestration', 'int', 15, 41, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (133, 8, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (134, 8, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (135, 8, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (136, 8, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (137, 8, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (138, 8, '子系统', '子系统', 'ref', 'subsys', 'varchar', 20, 7, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (139, 8, '单元设计', '单元统设计', 'ref', 'unit_design', 'varchar', 15, 3, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":3},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":49,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":17,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":8},{\\"ciTypeId\\":7,\\"parentRs\\":{\\"attrId\\":138,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":121,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":17,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (140, 8, '实例数量', '实例数量', 'number', 'instance_num', 'int', 3, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (141, 8, '包', '部署包', 'ref', 'package', 'varchar', 20, 11, '使用', 32, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (142, 8, '资源集', '资源集', 'multiRef', 'resource_set', 'varchar', 20, 20, '关联', 32, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (143, 9, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (144, 9, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":157,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":125,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":158,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":62,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (145, 9, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (146, 9, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (147, 9, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (148, 9, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (149, 9, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (150, 9, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":158,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":62,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (151, 9, '编排', '编排', 'select', 'orchestration', 'int', 15, 42, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (152, 9, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (153, 9, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (154, 9, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (155, 9, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (156, 9, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (157, 9, '单元', '单元', 'ref', 'unit', 'varchar', 15, 8, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (158, 9, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":4},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":69,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":35,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":157,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":139,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":35,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (159, 9, '域名域', '域名域', 'select', 'dns_domain', 'int', 15, 43, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (160, 9, '域名名', '域名名', 'text', 'dns_name', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (161, 9, '服务端口', '服务端口', 'text', 'service_port', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (162, 9, '高可用', '高可用', 'select', 'ha_type', 'int', 15, 29, NULL, NULL, NULL, 11, 1, 12, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (163, 9, '服务IP', '服务IP', 'ref', 'service_ip', 'varchar', 15, 14, '使用', 32, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (164, 10, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (165, 10, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":178,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":125,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":5,\\"parentRs\\":{\\"attrId\\":180,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":5,\\"parentRs\\":{\\"attrId\\":80,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":179,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":144,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (166, 10, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (167, 10, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (168, 10, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (169, 10, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (170, 10, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (171, 10, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":5,\\"parentRs\\":{\\"attrId\\":180,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":5,\\"parentRs\\":{\\"attrId\\":80,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (172, 10, '编排', '编排', 'select', 'orchestration', 'int', 15, 44, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (173, 10, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (174, 10, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (175, 10, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (176, 10, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (177, 10, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (178, 10, '单元', '单元', 'ref', 'unit', 'varchar', 15, 8, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (179, 10, '服务', '服务', 'ref', 'service', 'varchar', 15, 9, '关联', 32, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (180, 10, '调用设计', '调用设计', 'ref', 'invoke_design', 'varchar', 15, 5, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":5},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":87,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":35,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":178,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":139,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":35,\\"isReferedFromParent\\":1}}]"}}]', 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (181, 11, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (182, 11, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":11},{\\"ciTypeId\\":11,\\"parentRs\\":{\\"attrId\\":196,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (183, 11, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (184, 11, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (185, 11, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (186, 11, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (187, 11, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (188, 11, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":11},{\\"ciTypeId\\":11,\\"parentRs\\":{\\"attrId\\":196,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (189, 11, '编排', '编排', 'select', 'orchestration', 'int', 15, 45, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (190, 11, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (191, 11, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (192, 11, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (193, 11, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (194, 11, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (195, 11, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '关联', 32, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (196, 11, '包名称', '包名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (197, 11, 'MD5值', 'MD5值', 'text', 'md5_value', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (198, 11, '上传时间', '上传时间', 'date', 'upload_time', 'datetime', 50, NULL, NULL, NULL, NULL, 9, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (199, 11, '上传人', '上传人', 'text', 'upload_user', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 11, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (200, 11, '存储路径', '存储路径', 'text', 'url', 'varchar', 200, NULL, NULL, NULL, NULL, 11, 1, 12, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (201, 11, '部署脚本文件', '部署脚本文件', 'text', 'deploy_file', 'varchar', 200, NULL, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (202, 11, '部署用户', '部署用户', 'select', 'deploy_user', 'int', 15, 46, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (203, 11, '差异配置文件', '差异配置文件', 'text', 'diff_conf_file', 'varchar', 200, NULL, NULL, NULL, NULL, 14, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (204, 11, '差异配置变量', '差异配置变量', 'multiSelect', 'diff_conf_variable', 'varchar', 1000, 30, NULL, NULL, NULL, 15, 1, 16, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (205, 11, '启动脚本文件', '启动脚本文件', 'text', 'start_file', 'varchar', 200, NULL, NULL, NULL, NULL, 16, 1, 17, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (206, 11, '停止脚本文件', '停止脚本文件', 'text', 'stop_file', 'varchar', 200, NULL, NULL, NULL, NULL, 17, 1, 18, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (207, 11, '部署路径', '部署路径', 'text', 'deploy_path', 'varchar', 200, NULL, NULL, NULL, NULL, 18, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (208, 12, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (209, 12, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":223,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":14,\\"parentRs\\":{\\"attrId\\":226,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":14,\\"parentRs\\":{\\"attrId\\":261,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (210, 12, '状态', '状态', 'select', 'state', 'int', 15, 9, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (211, 12, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (212, 12, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (213, 12, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (214, 12, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (215, 12, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (216, 12, '编排', '编排', 'select', 'orchestration', 'int', 15, 47, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (217, 12, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (218, 12, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (219, 12, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (220, 12, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (221, 12, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (222, 12, '资源集', '资源集', 'ref', 'resource_set', 'varchar', 15, 20, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (223, 12, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (224, 12, '类型', '类型', 'select', 'type', 'int', 15, 48, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (225, 12, '操作系统', '操作系统', 'select', 'os', 'int', 15, 49, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (226, 12, '内网IP', '内网IP', 'ref', 'intranet_ip', 'varchar', 15, 14, '使用', 32, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (227, 12, '外网NATIP', '外网IP', 'ref', 'internet_nat_ip', 'varchar', 15, 14, '使用', 32, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (228, 12, '系统盘(G)', '系统盘(G)', 'select', 'disk', 'int', 15, 50, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (229, 12, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 24, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (230, 12, '计费周期(月)', '计费周期(月)', 'number', 'instance_num', 'int', 2, NULL, NULL, NULL, NULL, 14, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (231, 12, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 15, 1, 16, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (232, 13, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (233, 13, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":13},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":246,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":209,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":13},{\\"ciTypeId\\":13,\\"parentRs\\":{\\"attrId\\":239,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (234, 13, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (235, 13, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (236, 13, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (237, 13, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (238, 13, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (239, 13, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (240, 13, '编排', '编排', 'select', 'orchestration', 'int', 15, 51, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (241, 13, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (242, 13, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (243, 13, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (244, 13, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (245, 13, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (246, 13, '主机', '主机', 'ref', 'host', 'varchar', 15, 12, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (247, 13, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (248, 13, '挂载点', '挂载点', 'text', 'mount_point', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (249, 13, '类型', '类型', 'select', 'type', 'int', 15, 52, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (250, 13, '容量(GB)', '容量(GB)', 'number', 'disk_size', 'int', 15, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (251, 13, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 24, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (252, 13, '计费周期(月)', '计费周期(月)', 'number', 'instance_num', 'int', 2, NULL, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (253, 13, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (254, 14, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (255, 14, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":14,\\"parentRs\\":{\\"attrId\\":261,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"/"},{"type":"rule","value":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":270,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":408,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (256, 14, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (257, 14, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (258, 14, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (259, 14, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (260, 14, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (261, 14, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (262, 14, '编排', '编排', 'select', 'orchestration', 'int', 15, 53, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (263, 14, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (264, 14, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (265, 14, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (266, 14, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (267, 14, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (268, 14, '类型', '类型', 'select', 'type', 'int', 15, 54, NULL, NULL, NULL, 6, 1, 16, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (269, 14, '使用记录', '使用记录', 'textArea', 'used_record', 'varchar', 1000, NULL, NULL, NULL, NULL, 6, 1, 17, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":163,\\"isReferedFromParent\\":0}},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":144,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":226,\\"isReferedFromParent\\":0}},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":209,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":227,\\"isReferedFromParent\\":0}},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":209,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":409,\\"isReferedFromParent\\":0}},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":393,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (270, 14, 'IP网段', 'IP网段', 'ref', 'network_segment', 'varchar', 15, 21, '属于', 29, NULL, 6, 1, 18, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (271, 15, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (272, 15, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":285,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":125,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":278,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (273, 15, '状态', '状态', 'select', 'state', 'int', 15, 9, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (274, 15, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (275, 15, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (276, 15, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (277, 15, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (278, 15, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (279, 15, '编排', '编排', 'select', 'orchestration', 'int', 15, 55, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (280, 15, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (281, 15, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (282, 15, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (283, 15, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (284, 15, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (285, 15, '单元', '单元', 'ref', 'unit', 'varchar', 15, 8, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (286, 15, '主机', '资源集', 'ref', 'host', 'varchar', 15, 12, '运行在', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":20,\\"parentRs\\":{\\"attrId\\":222,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":20,\\"parentRs\\":{\\"attrId\\":372,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":285,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":20,\\"parentRs\\":{\\"attrId\\":142,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":20,\\"parentRs\\":{\\"attrId\\":372,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (287, 15, '端口', '端口', 'text', 'port', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (288, 15, '类型', '类型', 'select', 'type', 'int', 15, 56, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (289, 15, '实例内存(GB)', '实例内存(GB)', 'number', 'instance_mem', 'int', 2, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (290, 15, '实例磁盘(GB)', '实例磁盘(GB)', 'number', 'instance_disk', 'int', 4, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (291, 15, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 24, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (292, 15, '计费周期(月)', '计费周期(月)', 'number', 'instance_num', 'int', 2, NULL, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (293, 15, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (294, 16, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (295, 16, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":16},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":308,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":413,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":16},{\\"ciTypeId\\":16,\\"parentRs\\":{\\"attrId\\":301,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (296, 16, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (297, 16, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (298, 16, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (299, 16, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (300, 16, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (301, 16, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, '[{"type":"delimiter","value":""}]', 0), - (302, 16, '编排', '编排', 'select', 'orchestration', 'int', 15, 57, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (303, 16, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (304, 16, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (305, 16, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (306, 16, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (307, 16, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (308, 16, '机房设计', '机房设计', 'ref', 'idc_design', 'varchar', 15, 22, '实现', 33, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (309, 16, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (310, 16, '城市', '城市', 'text', 'city', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (311, 16, '地址', '地址', 'text', 'address', 'varchar', 1000, NULL, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (312, 16, '环境类型', '类型', 'select', 'env_type', 'int', 15, 22, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (313, 16, '远程参数', '远程参数', 'textArea', 'parameter', 'varchar', 1000, NULL, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (314, 17, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (315, 17, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":16,\\"parentRs\\":{\\"attrId\\":328,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":16,\\"parentRs\\":{\\"attrId\\":295,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":332,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"code\\"}]"},{"type":"delimiter","value":""}]', 0), - (316, 17, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (317, 17, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (318, 17, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (319, 17, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (320, 17, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (321, 17, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":329,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":435,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (322, 17, '编排', '编排', 'select', 'orchestration', 'int', 15, 58, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (323, 17, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (324, 17, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (325, 17, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (326, 17, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (327, 17, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (328, 17, '机房', '机房', 'ref', 'idc', 'varchar', 15, 16, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (329, 17, '安全区域设计', '安全区域设计', 'ref', 'zone_design', 'varchar', 15, 23, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":442,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":412,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":16,\\"parentRs\\":{\\"attrId\\":328,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":308,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":412,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (330, 17, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (331, 17, '层级', '层级', 'select', 'zone_layer', 'int', 15, 26, NULL, NULL, NULL, 9, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":329,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":444,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"id\\"}]"},{"type":"delimiter","value":""}]', 0), - (332, 17, '类型', '类型', 'select', 'type', 'int', 15, 25, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (333, 17, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 21, '关联', 30, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (334, 17, '虚拟专用网', '虚拟专用网', 'text', 'vpc', 'varchar', 50, NULL, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (335, 17, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (336, 18, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (337, 18, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":18},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":350,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":315,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_link_"},{"type":"rule","value":"[{\\"ciTypeId\\":18},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":351,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":315,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (338, 18, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (339, 18, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (340, 18, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (341, 18, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (342, 18, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (343, 18, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (344, 18, '编排', '编排', 'select', 'orchestration', 'int', 15, 59, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (345, 18, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (346, 18, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (347, 18, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (348, 18, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (349, 18, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (350, 18, '安全区域1', '安全区域1', 'ref', 'zone1', 'varchar', 15, 17, '关联', 32, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (351, 18, '安全区域2', '安全区域2', 'ref', 'zone2', 'varchar', 15, 17, '关联', 32, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (352, 18, '安全区域连接设计', '安全区域连接设计', 'ref', 'zone_link_design', 'varchar', 15, 24, '实现', 33, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (353, 18, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (354, 18, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (355, 19, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (356, 19, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":369,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":315,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":370,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":468,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (357, 19, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (358, 19, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (359, 19, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (360, 19, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (361, 19, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (362, 19, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":370,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":468,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (363, 19, '编排', '编排', 'select', 'orchestration', 'int', 15, 60, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (364, 19, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (365, 19, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (366, 19, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (367, 19, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (368, 19, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (369, 19, '安全区域', '安全区域', 'ref', 'zone', 'varchar', 15, 17, '属于', 29, NULL, 6, 1, 13, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (370, 19, 'DCN设计', '数据中心节点设计', 'ref', 'dcn_design', 'varchar', 15, 25, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":25},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":475,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":428,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":369,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":329,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":428,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 14, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (371, 19, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (372, 20, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (373, 20, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":386,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":356,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":387,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":485,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (374, 20, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (375, 20, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (376, 20, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (377, 20, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (378, 20, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (379, 20, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":387,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":485,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (380, 20, '编排', '编排', 'select', 'orchestration', 'int', 15, 61, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (381, 20, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (382, 20, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (383, 20, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (384, 20, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (385, 20, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (386, 20, 'DCN', 'DCN', 'ref', 'dcn', 'varchar', 15, 19, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (387, 20, '资源集设计', '资源集设计', 'ref', 'resource_set_design', 'varchar', 15, 26, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":26},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":492,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":461,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":386,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":370,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":461,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (388, 20, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (389, 20, '环境', '环境', 'select', 'env', 'int', 15, 23, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":20,\\"parentRs\\":{\\"attrId\\":389,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"groupCodeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":386,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":369,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":16,\\"parentRs\\":{\\"attrId\\":328,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":16,\\"parentRs\\":{\\"attrId\\":312,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (390, 20, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 21, '关联', 32, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (391, 20, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (392, 21, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (393, 21, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":21},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":21},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":407,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"value\\"}]"},{"type":"delimiter","value":""}]', 0), - (394, 21, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (395, 21, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (396, 21, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (397, 21, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (398, 21, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (399, 21, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (400, 21, '编排', '编排', 'select', 'orchestration', 'int', 15, 63, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (401, 21, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (402, 21, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (403, 21, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (404, 21, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (405, 21, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (406, 21, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (407, 21, '类型', '类型', 'select', 'type', 'int', 15, 62, NULL, NULL, NULL, 7, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (408, 21, '子网掩码', '子网', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (409, 21, '网关IP地址', '网关IP地址', 'ref', 'gateway_ip', 'varchar', 15, 14, '关联', 32, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (410, 21, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 21, '属于', 29, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (411, 21, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (412, 22, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (413, 22, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":419,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (414, 22, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (415, 22, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (416, 22, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (417, 22, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (418, 22, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (419, 22, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (420, 22, '编排', '编排', 'select', 'orchestration', 'int', 15, 64, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (421, 22, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (422, 22, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (423, 22, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (424, 22, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (425, 22, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (426, 22, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 13, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (427, 22, '环境类型', '环境类型', 'select', 'env_type', 'int', 15, 22, NULL, NULL, NULL, 7, 1, 14, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (428, 23, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (429, 23, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":442,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":413,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":435,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (430, 23, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (431, 23, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (432, 23, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (433, 23, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (434, 23, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (435, 23, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (436, 23, '编排', '编排', 'select', 'orchestration', 'int', 15, 65, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (437, 23, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (438, 23, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (439, 23, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (440, 23, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (441, 23, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (442, 23, '机房设计', '机房设计', 'ref', 'idc_design', 'varchar', 15, 22, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (443, 23, '类型', '类型', 'select', 'type', 'int', 15, 25, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (444, 23, '层级', '层级', 'select', 'zone_layer', 'int', 15, 26, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (445, 24, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (446, 24, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":24},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":459,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":429,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_link_"},{"type":"rule","value":"[{\\"ciTypeId\\":24},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":460,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":429,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (447, 24, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (448, 24, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (449, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (450, 24, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (451, 24, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (452, 24, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (453, 24, '编排', '编排', 'select', 'orchestration', 'int', 15, 66, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (454, 24, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (455, 24, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (456, 24, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (457, 24, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (458, 24, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (459, 24, '安全区域设计1', '安全区域设计', 'ref', 'zone_design1', 'varchar', 15, 23, '关联', 32, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (460, 24, '安全区域设计2', '安全区域设计', 'ref', 'zone_design2', 'varchar', 15, 23, '关联', 32, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (461, 25, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (462, 25, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":25},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":475,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":429,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":25},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":468,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (463, 25, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (464, 25, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (465, 25, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (466, 25, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (467, 25, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (468, 25, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (469, 25, '编排', '编排', 'select', 'orchestration', 'int', 15, 67, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (470, 25, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (471, 25, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (472, 25, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (473, 25, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (474, 25, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (475, 25, '安全区域设计', '安全区域设计', 'ref', 'zone_design', 'varchar', 15, 23, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (476, 25, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (477, 25, '类型', '类型', 'select', 'type', 'int', 15, 27, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (478, 26, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (479, 26, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":26},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":492,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":462,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":26},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":485,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (480, 26, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (481, 26, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (482, 26, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (483, 26, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (484, 26, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (485, 26, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (486, 26, '编排', '编排', 'select', 'orchestration', 'int', 15, 68, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (487, 26, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (488, 26, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (489, 26, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (490, 26, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (491, 26, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (492, 26, '数据中心节点设计', '数据中心节点设计', 'ref', 'dcn_design', 'varchar', 15, 25, '属于', 29, NULL, 6, 1, 13, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (493, 26, '类型', '类型', 'select', 'type', 'int', 15, 28, NULL, NULL, NULL, 7, 1, 14, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (498, 16, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 21, '使用', 32, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (499, 12, '用户名', '主机登陆用户名', 'text', 'username', 'varchar', 50, NULL, NULL, NULL, NULL, 16, 1, 17, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (500, 12, '密码', '主机登陆密码', 'text', 'password', 'varchar', 64, NULL, NULL, NULL, NULL, 17, 1, 18, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0); +(26,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000162E494441547801ED5D0B9854C5953E75BBFBDE0104041511E5617C65A351D7352AECCC380848D08846B3BEE2E7F34B8C9AB89BAC2830838E3003A2F962D6FDDCC8EAFA48D61893DD44E30659C2639819111F31599575033E90CD8A80C16110A6EFEDEE5BFB57CFF4706FD5EDEEDB33B7A7BB676E7D0C7DEBD4A9D739A7AA4E9D7A31CAE26A9A133338A5BECA6C564B8C2670CE0FCB821A82CB90028CB13F13A78FB8C65B19457ED5561F5BEB554C2603CF5D9A986AA7EC0739F1B3E5B0D05FB91460C45ED122DA77372C8CBDECAC854B006A9658B710F187C0FCA81329FC1E1C1480102489D8ED6D8BF41F656AD42B00D54DD6ADC4ED873301E1EFE0A50023EDD68C10A405A0A7DB6F0D5BFEE065BAB366A227C070502B86837457DF33E67B74FB6C8FC6E841C6B4579816DD1A65643B130ABFCB9302494E1AB79327706E9F6D73FA2E86F5B1CE928A862E780ED8392CADEDDBA9354E04F1CD18B51233AE6CAB673BE4B0D05F3914A869E64771DB7C1625AE914BCDB4C84C8DF1D4A57200D8BF2764BE4A954A848806CC34E38A344FA50A8869BEC63953244374FB61CB97A855C15EC14BC153B90AC2C6A371A2A3E5009B6B9B6458E8AF6C0A083D4EA9010C7C9AAC2008A46834FAAE821C022A9A024289972B20ACBB1000D585DABE4A934A8764E3A9A700547A65C3F2FBA7402800FE69352831430118946CF55F290FEB9FFFC8E58039F33E3EDAB453D3B99D3A9B713A92333A44940BDF16AC59BBB194BD39A2C5D6B42C60DBCAA1BCE556868A1580BFF9398F7CBCC5BA2B9EB4E613E723056131A5EDF92FF30D08FE25B9C56B9ACC9F11D3FF3EB46F08221D74153904CC5DCE47EED862BE88694C7386F907ABE4F1056B1770AFE2DC7CADAED93ADD0363C8822A4E001A39D7F624ACA7D1B26715CC354E47A7B8BDF2BC26AE18BF0A4E6B9044A8380158BB3471235AFD457DA53FE774944556EF8688BEA63358E2559400343662871BB71B3D89CF688D46DAB7B5085D2CFE8869D792462BBA77C148312040E72EB3BE244187A4B7A294C035BA793CA5D4B50BD258637BBD71AF07077F52D7643D99226A810E6038C35349C20A19BDE6840DC5EF8AEA0150D8E35526B1CD3317EA4B547837A4A541DF846EFF877238233E4D860D457F4509007176A8CC24866DCF8D8CE5D9A9A4B5C8F1302F9820C386A2BFB20480D071CBCE66691B800C76F999ADE04037305D3843D453510260DBDA1E994F68C9B3EA1EE44ACFE0C48355F072A7BFFB9BFFAF0A1B7A908A1200A6A5362B2C82F937B9DFFAE98CA5EAC9256133A86936176013E4D79478C456ABB0A107A9A859405BFD881D354BCC57C0D0B35DACE27C8E99B2B620AC1D8B00DBBBC3D8E8B5CDE65428808AE28863532623FD19571A43D4535102207884FDECF352B6BD01C6A0DE432DDDBCE36361F69FDBBD202020E99581EE20F5FF7F686D60E11000BA54D41020F888C30C6D58E15BA4F2D4278451FBF813F5BEC7F7994DA5A0559C0008C2C2E8D3AC31B6008BBE79A67F6E3640F35F39729471E12F2E67963B64E8FA2A520004BB5A1B8CFB28C2A6A13768C9C73E1C72D986CEEEC6190DFA452FDECE3AF3E10FA5F08AD3019CCC695FA88BADCED36B9BF844A2C47918F72742E91B2570A021609ECF76A082AFAEAF8FFD0E8A1F6F0F3B7E27F9D2DF152D0099DAF428744F65FCF22F6B9021A13F4381011380390F71A32B45C38675514C64DEA5EFE3A352234DE3583A803139952950F83BB01428AA007C73058FBDB32BF12DCCDB6FDAB7D73C4D546D5FA67E5D3AED11BDF41FD981EA25E6AA2863CBB070F37A2638FC1D180A144D09AC5D6EFEC57FEFB2DEE2643F841139CD7CEF2AF1E108BF3449FCD59AE6F84375EBFB773B89D83320F60B62F957B21378E73ED4A145E901607E3DD5B6A80D8C4D2B64BE889CDEB747DF49BD644D8209F7D2FC2B7CDDA982D9FACEAD896BB8CD2F03CB6BD6707324FD1167A19B59021B41DFC22CE13922FDB17033A8371702EF01C4864DB4BE5F17C47C47D910F7E2B5CDD63D0E50D6CF739BE373B039F41DDBB6FF05C3CC05B00E1E5CF5E33C86B4CE80602C266E6D85502E126B0359131BA2018113041B36EF841576B2373DD9011863DEC1F46C737A6E8EA999371EDD85FDFE93B284A5C1B54DF13B5236FB0FE4F5B95C78220C82304208C2DA26EB85F31FE023F2E10FA5F04005408CBF60C8AD3201D377D63176F95127E9A3DA16195F685F649CD2D65075ACA1E947E0F0C6E3323E18669849EB66199EF1D7345BD7E3EA9307C0DA82CA2F7A890371EBC7483FD40F7A8819A80EB06E24F6EB1D70DF4723F241CF7B65FBA298720DCDDA85B8CC90E8268CD587812917F79429F3F3157CD4673C99DFEA65FC7394B21EC9F80BFFE597D63625BE857881EC0CE62BC9C05CE61816A1617A14939CF3683B7AB76C3D5BE1C52D728C825A50BEB2441289B10A0E636F7B31DF85A769CAED155ECBB8220E4B5ACDA28770C5EFF66C4FEF048E1AC71911E3708D22B3A100FED6030FDCB11BEB1EE6E923645EE1F9607C33E95D2FD24DF195B41ECCEF4059DFB593F4563C4EDBCC17A913F0E7CD957409E065DFD304DA0324EC6495C702E307F9081AB3A3DB2C6CF7753B3E5C68F8CE859B8B56F0E11DBB2C65730786988D878CD2E748767EB1E163357A1721300BDD69D338BBC39A0BD84F25785E6FD72A9A1EDF464F027192573307D38560CD45D8DCF88BB4C9FC0D7DD3B890DECA9B70891002ED01A23CB25FAD073F35DF989BD4BA8D44CEB860EA5E27F34558C7EEC42918C75D420BA5321E89E8D749CCEF4D0A4BBF770347D9FE0D468921A6208796FD6DD82CC550965341ED4D94D339D0365E46BCF37B6165F611A8004428B15BA91F6604B88A0E57D07A3BD1CAED145B2C874268DE94611AD947CA30EC00DA8893BFEF2AF01E80303363E7F0D3723804E0441996CB8FAEFD2A84E31ADDC2F650209F1118735EB056D159B9D22F5598AB35F5B7106BEB0FD959D314FF00953ED69516E7FF58D3641D0745E95F478C88BD17EB22BE3F49C32D32CFDCB1C56A829AA85A0AD3061C572A64333E5A2CF3B99DF607B75FF57116018E34C4303E5EC5F486F0D534C14CD00A305FCE3C1D01C01442706AC93B1CF174DBA667F97AFA229B4E9F79E7521A68A03D40BA0A5C5BA656257DA4EB7B76D27E036B027BF75866A7699B1F739B308FE7A7CBF8D0A2778F8D198F2A701E89C830C4F71876DC58115BC501D3743756769F95A42630F1A091A90715E5143DCF8D06A3B1C61C8A56311A87EBD8E603F6899C1A84638A19A7AC3DA18C3F50FEC00560FC49B1C74198D6FE54000DE96F7F7D17EB5D37EA4F5AFD8DCBDB0996CDF431325752A8E31B988A4C1B76213DC12EA04EF86DFCEE362EA0E52C4662A38A321C229DBFCBD64BB8121F404FE00220C6DC48957199B0F6F5A51E4C6377B73718CFF4256E31E258FB68265A3F16AC0E3A301BC711E87AC1F083D0835F55E7D356A6D1B507213D5F9C26582BE914055E4240E00220EAD27207FB64ACAE4F8526EF9B91E8923FD134F6F5B67A634909E9A166CDE90B2A90D6E59BDA19B369357A813FC971A1C254CBB052FA8B2200A242A20B6F6B30AE8E44B5B3D2C7B4B12F0F02E1D2C4E0DF8FBF8D1837E71D32DA38AEB5DE28785E5E6CE2A1F52B330F08EBF67CF9A6870446AB143C4E9F57602504043A0BF0AAC78605BA98838B3F126B051B47EC1C26686AEDA7544B238B7BC52933D801B93C100A18007DB92D0A16A3131458090145170067DD1A1BD3DBB8F36AEDCE3865F0AD68F498D74FF1532EE8095B212CB21B7A0220F6031EE8889F656BECAF30E73F020AE2704CDFF6E0BEFA0FA3B6FDD2BA4555EFC9542A173FBAFB771526FA6DC51A6D95CD0FA8D714D803A2B00724CBA18E45ED0104E33FDB67DEBEAFD35A8065DF31DD6B642069DA41958675449CD080BD7E23EC28F35A1B621B7B02CBE7C79B8993FD30511F45EF9B1D1075878108DF5118958E4505B79643258BA604CE5ACE277CB6D76A83B1E77E90604CAECA8242D36C6EB78993BCB9F04A11A61BF49E98F639F37630D10956BE716CA50B119599007A85B219068A220075DFE787C713663B166EBEA450252B00D6429B2F15AB7759514A1080AE3A0E86AB07497D3211FD9D574B3FBE0455F1CCB22802908A9BCF8268A29B2BD8A1375858BBD4BCB4E088458C801E4065A2EDB3154311548AC67DC65522060F085C00D0822F03F3CFF32A6A7ACE4FAC191B376E03511FC59FA725CDB6F90F84FEE095464960D8F0A1E4ABF964A297F090CFB84AA6C10302570231E689C510C9310B56BE5B5AEB75D7FE3F0C150B535DD613182ADC6BF35842DEDF99B812893C2525541AAF60A24B0B4031FCB6E2FEC41D80DA06DA03A0D58E82C277A65C6EB4F47B65E60B1C61323E749C7E05C2951686A1E012399D92F9BD5AB1C7CD235EE5832D40A91BF026F3D7BB8FC879C5194858A00210DF6B1EA5169E756257CE7215DE0D79E16676009B46972AE14CBA0646411838008B7A8CE33E998835E7F7A008DACED2A23389983BA94F3A92339D20BE0315008A6A87288562FC0DB142A8C01D80588CBFEAF0F67CB271E288970A1F78889EA0F73D99B83BFF9904AC189A60B83A8B8894871E10A800D89C41E025C7D9471244F126B8AEE0600888981FB8976195880304104CC4CADE76253B9F3301088F3A13F01957C9336040A0021070D9CA2B39AFB1BC3F3301BF4A6491A9100A805F027B2982B67A059D67725EC2E3773DC133C1E080A100F8A5A59700F865A2575C9FB308BFC5EB2B5E28007E29677B8CE33E0D3AD80DADEA0062168113467EB32F165E28007E292B560565C7713AC80713F5633C67119AF5A7FCB30839CBA0FDA100F8A4A831893E8036EF9ACE627AA7591FD171F9926027A757BD3F94F1B8CF0525395E90FE50007C52B38789DB65749EF0A9087AEB01255F160E0540E6682E7F7F9858A63381500072315C0EF312800A9F09840220333997BF1F33016C8D579448E810E110908BDE6517165157F6B0F7C11F1353AA0040A99C286E1829653DC31EA010EA7B33F1186C10C5C518B99D71A4F72CC2D46862EE98C50D0D05A000FA6663A2D5957F3ECFCEA40416949483309AD6FDDA7901C5081435148002C8D9C3C46D4A14466728300980A102B797E2B2883273A10014CE90DFCB51B0F55D6C5FCBE9CC55345B46C04E28DC66A9EA06325E31FDA100144EDD0D4A1446B3C5E5510ABC0720B67F4148EE51C2396D66B3A9A447E5420150B8921B6068F4EF68B9AEC3A1E8DAA338F5F81C6E05535A39B4FC51E62EFA0D5255EE08423A3FC99D5BF14303DF155CFC22973607F665DA815BBF9E4029C46593BD0E42800DB1B4AA6B25BD0CE07AB4ACBDB8CDF48B9014715FA0C75639FAB3AED163BD0994E82314803E10DE18460BE207680EA24E56A2739A0AD8D4CC2E5030DFDB31BA03C2A4BC84EA8D5C3C683804F481B6382ED61189D26530E47CDA87E838274BDF1F36879EEC4BDCA0E38402D0478AEAB3E977D82E5E0B21F8C06F12C04D61DEBF08378ADDE9374EB1F14201E80785710FD0DBC6183A19069EA5606E47AEA410BE0657E15483F94D62FA970B7720C3421DA09FD41647C091443DCCC14B6011FC0A382B4E469D08168B4BE9F781F1AFB318AD3566D13BFDCCAA28D143010888ACE2183992FAB79EBF80522D7E32E110507C1A97750EA10094357B8A5FB850008A4FE3B2CE211480B2664FF10B172A8101D018CFC7CC80D62F6C02A722B99C3B7C304BF814786F6066B0B21C6606810A009E0CB35D1BE7410D54D675D1B217BDF594783B40759DE3B089C2E17043734A9E41E306B6BCE9DB1E3830D1BAD27664E3FB93AFA1C34C8B1EC14A5FFA191BBF937BE05D8DDC97E1118AC5FA976143C04DE3BE330D18315001C0916E756993A9EF01C875B034F32FDD472E84E0B08E961BDC57C9329B77CA4466CC56DE1B90D3B729A5E0E0BEA28F65BC42FD60FE3310A45985C613F88887872D09AF26A757161FE84B1A41C4095407884593CAE2062A39A5AE29519DABB0CC66D778842BBB687197E04E190F3DC0B4F4537272408FBF11D78F30CEAE568239A9F7F82A48D9010756D2D7FACA7C57AA10020C21535CB001F4042A00ABEF1CBE034D5761528A524FE0C5CE715EF5AA6DB2AE43CF718512C6F09A88E4860F1BF6367A86A40BCCF9304A994F657B064E3C430BA3DCD9AE38F0A0DB55D2977172F941B8F37285FB0D8310191800A6FBC50F1A2FD02100DD2AAF59623E0E822F701614953CBE2B6E6EAE6EB6EAA35A6C1D1E58DC113793A7E1FDBE6FA0555FEFC4EDFE66165E02FBB10C5F3D8FEDC753F3BF04FC725718A7EAD4A7E69BB8697421E3FA4B48BF33914A9E91E2F63C089758B67539307FB736467FDE052CD0833A9DAC4461F4142E85DAA4C01D000C6137C0EBDA1C023D4919A21C518AFA19A80088921A317DB99930BF818A1EEE2C79DA6FDB2B92B64949771B76A2A5BF2148FF8497C0B629010044A37A7D32695D8251D475B41A0C391603EB331C436A3CAF7AA72D6EB98D7DE695BE5F18846827F2743930F25A00BC8633279E72EF11D252AEC8714628E677A0438028E89AF96CAFA645AE0613E50981BF7A30F6FAF8E1B185D990C513717856E6B66CE1F9E028D7F3ADF5B187F3E1E50B07EFFF20E34020D00160F76F8E3F398EF0630AF09A177C2060810B8028F486FAD86FD11AAE03B15D7BE7F25508E3FBEF19D3E7FEE27B4CACB065756DF5FA631A63E20672A90D668D920E404BFBCFC818FD1A94ABA0785EA9E224C8A3D077C4DBC7FD7228D3BAAA39B4BE5F89F4237251044094A7B5C1783A42AC0E4CCDFB6CAAE82D408847706964755B3DDBE1A73E48FFBE08E1C169461FE6C567AC0B792C1E7FA271617FBBFE4C5EE2C12808F90D28B73AF5CD20E5F945FCF70D836E441AFD16C83C59650D2E9A00881C5B1AF44D331AF4D3D1655F85D6FA2BE8DE9DBD25412B84706C654CFB414423F19CFC2DE2D2C8DE701F1F1B1AAA5E1839CA388934ED6610118F341DEC39BA858ABD893C96E8A49F80F78BEEC9775FA18F2C5D285517D00B009C86BC9F83202A536017B2C303FC6DF8FBA111A553D90C1F02EC881BF427AB5E1257A4AF2A664CC658BE3DE8CC447AE23A59B393461E7F04EDFAE79B595E75ADD032C02630065BB4ABC69F40BB826678BEB2F0B574346E85CC690A3692D4518ACDA033EFE3937085BFD25B063E0BC847A49E479E3BD7E543EC6378FB02D6A78D9A7DCCCE150DADF9FF5C800AF0147508A880FA0F9922DA490C521E0ECA34DB2BC3137672B20C0BFD954D8194969C24D740F05E8302A068DD364F9D292387FECAA680274F397D84155C526FEAE6747B36DB7A65936168963ECD4BF054AE3D1AFF6B5A444C6124078BD694D41EEBD1BA2738EC1DA1AB640A081E0A5E0A9ECAF510BC6775EB7934F592B5198B2627CA089857FF0F60776BA46F6A6D60EA9DF74A8410502E14A86DE213F12AE33928CF62AC917C5E2E17C6FF2D91BFD64F4E6B8678E8E9620880D213B823310BC8305B87AEDC2980AE1DB33BF762995C6608C025308E3DDF3B35C032EEFD58C69D272386FEC1470158471F685B64DC296AD66B0780C976BEC6B487065F75C31A392920782C789D81F5F60019406D93F9759BF3FBE19F908185BF8382021FC1E873A758A473D64611001178D10A3EFCD3DD89EBB159152F78B26AE80739EDDBCE04C3EFF2A100C6792CC7733CE1ABFD72CC11B127BD16DB3C05C05905309F4DBFB763B41D3D74A41E8DE7C577C60DBF4B43012B59C5B564C7BE96C6311DA52941986B488190022105420A540005CA624CAF59627D876BB6BACDBA0208D8D722C622DA8FD6CFD7FFABAFF1838A37E01B423C0BCEEC0B61639CED1936488149C657A16A2517805E43D020A57358AD3C140805200F81067B702800839DC379EA57263A80F633C6F91B79CA3AD882FB753A79B01123AC4F8928F0FF39BF360896F2BA910000000049454E44AE426082), +(31,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000200000002020806000000B9B075F100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F000004000494441547801ED9D077C1555F6C70F213DA491104A42085D3A01694A131415C58262435751D7B6D6DD75EDABFEAD2BAE6B2FAB6BEF051414150505910EA1B750434209092990401212FEF7BC2742242F79EFCD9D997B677EE7F379E46566EEB9E77CCF2573E6CE2D8D0E0B2108088000088000088080AB0884B8CA5B380B0220000220000220E0218004000D01044000044000045C480009800B830E9741000440000440000900DA0008800008800008B89000120017061D2E83000880000880001200B4011000011000011070210124002E0C3A5C06011000011000012400680320000220000220E0420248005C1874B80C022000022000024800D00640000440000440C085049000B830E87019044000044000049000A00D80000880000880800B0920017061D0E132088000088000082001401B000110000110000117124002E0C2A0C365100001100001104002803600022000022000022E248004C0854187CB200002200002208004006D00044000044000045C480009800B830E9741000440000440000900DA0008800008800008B89000120017061D2E83000880000880001200B4011000011000011070210124002E0C3A5C06011000011000012400680320000220000220E0420248005C1874B80C022000022000024800D00640000440000440C085049000B830E87019044000044000049000A00D80000880000880800B0920017061D0E132088000088000082001401B000110000110000117124002E0C2A0C365100001100001104002803600022000022000022E248004C0854187CB200002200002208004006D00044000044000045C480009800B830E9741000440000440000900DA0008800008800008B89000120017061D2E83000880000880001200B4011000011000011070210124002E0C3A5C06011000011000012400680320000220000220E0420248005C1874B80C022000022000024800D00640000440000440C085049000B830E87019044000044000049000A00D80000880000880800B0920017061D0E132088000088000082001401B000110000110000117124002E0C2A0C365100001100001104002803600022000022000022E248004C0854187CB200002200002208004006D00044000044000045C480009800B830E9741000440000440000900DA0008800008800008B89000120017061D2E83000880000880001200B4011000011000011070210124002E0C3A5C06011000011000012400680320000220000220E0420248005C1874B80C02200002200002A14000024CA0E6F0612AD97790F6961CA042F1D95B524E85A5FCF3E8EF47BF1FF0406B1A1F4549E2C33F9BC647FFFE3D29AEF6EFF1B19114D2A811408300088000082844A0D161210AD903532C2490BBBB9496ACDD418BD7ECA0395939E2C65F6E4AED492239189C994E27766D457DBBB4A2B4E671A6D403A5200002200002FE134002E03F2BEDAFACA83C440B57E7D12F4BB7D19C6539C409801DC209C0E0DEE934A44F1BEADF2D9522C2D11165471C5027088080BB0920017078FCABAB6B68DE8A5CFA66CE069AB9700B1DA8A852CAE3A888301AD1BF2D9D35B8130DEA99468D1B63588A520182312000028E258004C0A1A1DD5F5E499F4C5F451F7DB792F2F79669E1654AD318BAF48C1E74F1A8EED4243A5C0B9B612408800008E84A000980AE91F361F7BEB20A7A7FDA0ACF87BFEB28B1311174F9E89E9E0F7F87800008800008C8278004403E535B3472D7FE07E2C6FFD69465A4EB8DFF8FE0F8E63FE19CDE345E2403FCAA00020220000220208F001200792C6DD1C4EFF827FFB48E5EFE742115149B338ADF16C78EA93439219A6EBAA83F8D1DD1854242309DF01834F80A022000024113400210343AFB0BF288FE7FBD3587B2730AED37C6020B3AA627D15D13067B660E58501DAA000110000147134002A0617879BEFEC4777EA56973B235B4DEB8C9A30777A43BAF3C592C3C146D5C193480000880804B092001D02CF05367AFA7A7DE9E4325FBF51CE0270B777C9308FAC7558369CCD0CEB254420F08800008B88A0012004DC25D2C96E97DF8B59F69C6C2CD9A586C8D9923FBB7A307AF1F4E0962B96108088000088080FF049000F8CFCAB62B97ADDF45773E3B9D7617EEB7CD06952B6E9ED48426DE3E8A7A776EA1B299B00D044000049422800440A9701C6FCCE73FAEA1C7FF379B0E89D1FE10DF0442C50A82F75E33942E3CB5ABEF8B70060440000440E0770248007E47A1D617DEA2E9D90FE7D15B5F65A96598E2D64C3837936EBF6C1061F341C50305F34000046C278004C0F6101C6F006FCDFBE8EBB3889FFE218113E05E80FBFF3C0C5B10078E0E254000045C44003BAF28186C9EE2879B7FF0816176CC10020220000220E09B001200DF6C6C39F3EAE78B3D4BFADA52B9832AE565919925040440000440A06E024800EAE662CBD18FBF5FE559D2D796CA1D58292F8FCC4C21200002200002C7134002703C135B8EFCB860333DF9E62FB6D4EDE44A9929B385800008800008D4268004A0360F5B7E5BB5319FEE79E147E2C17F10B9049829B365C610100001100081A30490001C6561CBB7FCBD6574DBC469545179C896FADD5029B365C6CC1A020220000220E0258004C0C6965059554D77FCFB3BDA53E4CC6D7C6D447B5CD5CC98593373080880000880001112001B5BC1C4777FA595D9BB6DB4C05D55336B660E0101100001104002605B1BF871C126FA0423D42DE7CFCC993D0404400004DC4E003D0036B4007E17CD3BFB41EC21C0EC311EC01EF6A8150440401D0248006C88C583AFFE4425FB2B6CA81955320166CF318080000880809B092001B038FA5367ADA75F97E5585C2BAAFB23018E01C70202022000026E258004C0C2C8F393E7D3EFCDB5B04654551F018E057A62EA2384732000024E268004C0C2E8F2D2B445A5072CAC1155D5478063C1318180000880801B09603B608BA2BE7547319DFFB78FA9BABAC6A21A8D5513DA3884BAB66B463D3A36A7E6494D282531869A25468B0FFF8CF128DF535426D630E04F39E58B9FBB0BF77BA635AED9BC870E69E26763E1E7E47F5F4219AD128C01436910000110D08C40A866F66A6BEE4B9F2C54FEE61F111E4A27F56A4DA70D6C4FC3FB665093E8F07A79C74425D479E3DC5F5E493F2FD94A3FCCDF4473976F577A95434EC8383613EF1855AFAF3809022000024E23801E000B22BA29B7882E104FFFAAAEF51F171341E347F7F47CF8BB4C292DABF06C6FCCDBF3F2771525A45123FA42F402B44F4B54D13CD80402200002A6104002600AD6DA4AEF7F69064D5170C479445863BA4CDCF8AF3DAF0FC54ABEF1D72640B44FDCFCDFF872297D2812810A0597E33D6758677AF42F23FF68367E0701100001C71240026072680B4BCAE9F49BDE536E0DFAA17DDAD03D570FA1D494389309D4569F975F4A4F882D7A672FDD56FB84CDBF858B64E8FB97AFA0A4F8689B2D41F520000220600D01CC023099F3E499EB94BAF937890AA7C7C493EE8B779F65F9CD9F5173C2C175B30D6C8B2AC29B0471AC2020000220E0160248004C8C34BFF39F34738D893504A69A47BA7FF4E48534467477DB2D6C03DBA2D2E87B8E95AAE334EC8E17EA070110701E01240026C674F19A1D94BBBBD4C41AFC577D42DB647AF791B1D4A6A53AD3DDD816B6896D534138561C330808800008B88100120013A3FCF56C35969A4D6F114FAFDD37861262234DF43638D56C13DBC636AA20AAC44C0516B0010440C0D904900098145F7EA73C63E11693B4FBAF96E7F2BF70D7684A8C8BF2BF90C557B26D6C6343EB0E586116C78C63070101100001A713400260528417ACCAF54C7D3349BD5F6AC5F4767AE29653A96DAAFAF3DBD946B6956DB65378BA22C70E02022000024E278004C0A408FFBC78AB499AFD577BE5D9BD699858D14F17615BD966BB4585D8D9CD00F5830008389F0012009362FC8BCDF3DC3BB749A65B2E1D689277E6A9659BD9763BC5EED8D9E93BEA060110700F01240026C47A4B5E11ED121BE3D825BCC1CDFFDD740A8585EA175EB6996D671FEC128E1DC71002022000024E2660DF5F5907535DB43ACF56EF2E1ED58DBAB46D66AB0D462A67DBD9073BC5EE18DAE93BEA060110700701240026C4396BFD2E13B4FAA792D7F4BFE1C27EFE5DACF055EC83D9FB13D4E7BE9D31ACCF2E9C030110000159049000C822798C9E95D9BB8FF9CDDAAF978BCD7D549CEF1F2805F6817DB14BEC8CA15D3EA35E100001771140022039DEFBCB2B69FBEE12C95AFD531719114A979D69DF4DD33F2BFDBF8A7D619FEC108E21C71202022000024E258004407264B3730A496C01608B8C3EB923C53789B0A56E332A655FD8273B8463C8B184800008808053092001901C593B478FABB0C98F649CB66E5C64672C6573843E10000110F8230124007F2462F0F79C5DF674FFF33EF69927B43468BD7AC5D927F6CD0EB12B9676F88A3A410004DC47000980E498EF28B067FEFFC09E691462F73ABA9259B23AF6897DB343EC8AA51DBEA24E100001F71140022039E6F97BED4900323BB790EC893AEAECF2CDAE58AA431E968000083899001200C9D12D2A3D2859A37FEA3AB649F2EF420DAFB2CB37BB62A96188603208808086049000480E5AE9FE0AC91AFD53979612EFDF851A5E65976F76C552C310C1641000010D092001901CB4B283D6CF1DE757FF4DE322257BA28E3AF6CD8EE10D76C4521DEAB0040440C0E9049000488E706555B5648D0DAB0B0B6D6CEBE6390D5B68EC0ADE18887DB45AEC88A5D53EA23E100001F71240022039F63535D6AF02546D439D92B135A8CE0E1FED8865832070010880000848228004401248A801011000011000019D082001901CAD9010F142DE62696C439D16BB4876F868472CADE68AFA400004DC4B000980E4D8878759FFAEBAEA50355557D748F6441D75EC1BFB68B5D8114BAB7D447D200002EE2580044072EC6322C3256B6C581D6F5CB3D7A6F5071AB6CEF815EC9B1D1B2CD9114BE3B4A00104400004FC238004C03F4E7E5F1567D36E7CB9F9F6EC41E037180317DAE59B5DB134800A4541000440C06F024800FC46E5DF858936CDC7CFDEE6DCAD6BEDF2CDAE58FAD7D270150880000818238004C018BFE34AA7346D72DC312B0E64ADDF654535B6D461976F76C5D216C8A8140440C075049000480E79AB647B1280F92B72A9C68E17E592F9FD511DFBC4BED92176C5D20E5F5127088080FB082001901CF3F416F6ACC95F58524E59EB764AF6C67E75EC13FB6687D8154B3B7C459D200002EE2380044072CCDBA6264AD6E8BFBAA9B3D6FB7FB12657DAE9939DB1D4243C3013044040630248002407AF637A922D1BD7B01BD37ECDA6129B7623948CD1A38E7D619FEC10DE7C8863090101100001A71240022039B24DA2C3A975737B5E031CAC38441F7EBB42B247F6A9635FD8273B8463C8B1848000088080530920013021B23D3A363741AB7F2ADF9FB6828AF71DF4EF6285AF621FD817BBC4CE18DAE533EA050110701701240026C43BB3730B13B4FAA7725F5905BDF2D922FF2E56F82AF6817DB14BEC8CA15D3EA35E100001771140026042BCFB754B3541ABFF2A3FFD6135ADDDB2C7FF028A5DC9B6B30F768ADD31B4D377D40D0220E00E0248004C88338F1E6F9164CF7A00EC0E6F9EF3CF977F121BE8E8B74110DBCCB6DBB9B9518B83A5D4F6DEBB88BEFADA84D6019520000220A00601240026C561489F362669F64FEDFA6D05F4C247F3FDBB58A1ABD866B6DD4E19B24B4CA7FCF873A24B27105D7E0DD1A42964CB6E44764240DD2000028E278004C0A4100F3F31C324CDFEAB7DE7EB65346BC956FF0BD87C25DBCA36DB2DC377ADF59A502DB620FE6CB24804AEF27E3E9D4474C89E5909763341FD200002CE238004C0A4980EE89E46B131112669F74F2DAF0C7CCF0B3FD296BC22FF0AD87815DBC8B6DABD9A716CD5411AB067F3F124264F25BAE25A6FAFC0879F92989F78FC353802022000021A1140026052B0C2C31AD3C8FE6D4DD2EEBFDAFDE59574CBBFA65151E901FF0B597C25DBC636B2AD76CBC89D6B28BCA69EA7FC29DF104DB8C1DB23F0DE474465F62C536C3727D40F0220A03F01240026C6F0ECA19D4DD4EEBFEA9C5D2574FD6353955C1F80E7FBB36D6CA30A72F6763F5F414CFB9EE8DABF105D7225D15BEF139594AA603E6C0001100001BF092001F01B55E017F6EB9A4A69CDE3022F684289755B0AE84F0F4CA26D3B8B4DD01E9C4AB6856D62DB5490B4B2BD7462E196C04C993E83E8865BBD3D026FBC43B457FDD72D813988AB4100049C4AA0D161214E754E05BFDE98BC949E5768347E93A870BAE7EA21346698BDBD13BCC9CF136FFE42FB0FD8DFED7FA49DDCBAE607BA367BD6915F83FB396C08D1D873882E109F66CD82D38152AE22C05B5EEFD95B463BF6ECA3DCFC52CF4F7E2D567EB08ACA0E783FE5072B7FFB5EF9DB71EFFF9B18F1FF393A328CF8674C5498F8EEFDE9FD1E46897151D4AA592CA5A5C4797E366B1A4321BCD105040404012400263703DECAF6F49BDEA3CA2A31A25C21192AA6297222902AFE30582979E20F1CDFF8672FDD6665B50DD6C5EFFDBF9FFE342555EC6FF05ABF2E1872923711385F24022DED5B19D22F5B719165044AC5EA96AB37E55376CE5EF129F47C36E5165145653DE34E245A17111E4AEDD3123D1B5DF166571DD39B52B7F6291467F38065892E42550004900004002BD84BEF7F69064D5170ABDE083150F1B2D13DE9DAF3FA983E638197F57DE3CBA5F4A158DFBF42B16488E37ACEF62C7A74E917C186D877B941FD452270AE371948B3778548DF46E28C5904F8497EC9DA1DB4788DF7B351DCF8F9895F25E11E810E221138B16B2BCFA76F97569E9E03956C842DE6104002600ED75A5A39C3BFE06F1F2BF71FFF88919CFD8F1789007F643F09F013CF07E2A6CF1FFEAEA284883FC85FFCF402B5DF976F9E79FDFB7A1381F3C71065B431AF1E68B69500AF6499B57E27CD5D964373976FF72C6AA5D8FDBE413EFC86A0739B643AA9576B3AA9773A65766E4961A1182ED620380D2F40026051D0EEFCCF74FA7EDE468B6A0BAE1AEE11E0FFF0A70D6C4FC3C42B8260D731E0A7FD59A28BFF87F99B3C7F08557CE23F96D0E9792B69E2E24F8E3D64DEF73EBDBDBD013C4EA07D3BF3EA8166CB08F0F4D55FB2B6D1CC855B68CEB26D9E77F596556E41453C9E6070EF3634424C6B1E92D906DB645BC0DCAA2A900058447AEB8E623A5FF402D8B9C67D20AE86360EA1AEED9A116F8BDB5CEC6B90921843CD12A3C5877FC67854ED292A23EFA79CF2C5F7DD85FB6965F66E5AB3790F1D12FB11E8208D0FD7D0E499CF53C67E8B6722F4EA41C4BD01FC7AA073471D50C1C66308F093FE1C71D39F3A7B8318CFB255B9313EC7982AF52BAF6F32B44F068D19DA89068B64003D0352F15AAE0C098085C879F0DB47DFADB4B04654D510814BB7CCA77B56D8B8E94FB72EBFF5088844A0EB090D998BF3361328282EA7CFC44E959F4E5F4D3CC0D7CD92141F4D178DEA46E34EEB46C909D16E46A1ADEF48002C0C5DC9FE0A3AE7F60F955E95CF421CB6579558514653663E4BF1950AAC92784227D123205E0BF0AB819EDD6D6703036A13D8B87D2FBD2BF6A9983627DB354FFBB509F8FE8D7B05460FEE487F3ABB377568DDD4F78538A31C012400168784E7BFDF27660540EC27F09818F53F468CFE574A3AB43F3A4620B39752A6B9D1181ED0F7E697599E6E7EDD06F3591D2F1E3CC8AF07AE3E2FD33370D0EAFA515FE004900004CECC70891B1FFF9A7E15A38421F61138393F9B5E99F78E7D06345433CF14E0DE001E23D0AF4F4357E3BC64023C6DEFD5CF16D1C2D5799235BB435DFF6EA974C3B87E9E6985EEF0584F2F9100D810B77CB1EAD7057FFF98F89500C47A02DCE5CFD3FE520E6AB07E7FEBB4A389C0C07ED6C372598DAB36E67B56EE9CBF32D7659E9BE3EEC01E6974EBA503A97B8714732A80564304900018C2177CE11F176CA2BFFE5B6C2803B19CC0338B3EA25377ACB6BC5E4315F26A824716141A3CC8902A143E9EC0F6DD25F4DC87F33D5357D1D57F3C1F2347F8D5004F2DBEEDB281D4BA79BC1155282B99001200C9400351F7D8FF66D327DFAF0AA408AE3548E0E22D0BE8BE15530D6AB1B1788AD85FC09308882984BCEF00C410015E6FFFF5494BE8BD6F9663709F21920D17E6C182579CD58BFE3CB6AF67FF82864BE00AB3092001309B703DFA797F80090F7DE9993B5FCF65382589408FA25C7A6BCE1BC4EBFE6B2F4962B4F5913102238669EF8E1D0EFCBC782B3D2E92F05D62FD0A8875045A887545EEBD66280D3F31C3BA4A51539D049000D489C5BA833C1EE0D27B3E130BEAB87B4EB1D9C49BC584D1474DB650CA975F10E5EF31BB3AEBF427882E554E04780AE1A891D6D5AB714DC5FB0ED2E3624D8EEF7ECDD6D80BFD4D3FE3E48E74AFD8902C2136527F6734F50009800281E38147DC1360D58E600AB86CA909BC03DA5B0F9DE71D8834671ED164F10A60D257443B765A6A87A9953511AB331E192370E62853ABD259F99CAC1C7AF0D59948B8150922AF2EFAF00D23C4AA82E98A58E42E3390002812EF1F176CA6BF3FF3BDB21B06298229603378A7B3A7FF7A3A9D3AE00FEBEECF5FE44D02264D21DAEEA011DF51E269EAC88242634607CCCBA905783F8AFFBC3FD7B3122706F9A915651E2478E9193DE88ECB4F22DE8F04621D012400D6B16EB0A68FC580407E2709914780DF355E727A3D2BEB2DCE3A9A086CD92AAF62BB358585FD364640BC1A384F0C1874B1F03E1CBC19D7FA6D16EFF7E062E6C1B8CE3B104EBC631465B44A08A638CA044100094010D0CC2CF2EAE78BE9E54F179A59856B74DF74517FBAE1C213FDF3376BB94804446FC064F1C9DEE45F191DAEE2C7AB238305F96748880E564BB391DFF33FF4DACFC4A3FD21EA13888E0CA387AE1F4E3C3E00623E012400E6330EB8867FBD3D873E98B622E072287094C0F8D13DE9AEAB061F3DE0EFB795627D004E04788CC0BA0DFE96D2E33AEE09F00C18143FC3C3F5B039482B7937CA7FBF3717FF8F82E4677731FEFFFBB72B4E22DE9514621E012400E6B10D5A738D7849F9E8EBB3E8F31FD704ADC3CD057977B2FBAE1D4AFCFE3F6859B3CE9B04F080C1550E8BC3D9671EED15E031030E131EE5CFE369B08CAFDE81E5E58479FC0E66099817472400E6B135A499072A3DFBE13C7AEB2BF18E1AE2378109E766D2ED970D2223F7FE5A956DD8E84D04B85760F9CA5AA7B4FF85670B1C994218DB447B77D8812D794574F393D38857F683E84F80570E7CF1EED1D43635517F6714F4000980824139D624EE05E08181DCA509F14D80BB0A79C0DF85A776F57D9191339B36FF367D5024024B1C96949D36422402E77A93015E57405359BA7627DD36711AF6D8D0347EBECC8E6F1241CFDD399AFA7469E9EB121C0F9200128020C159596CD9FA5D74E7B3D36937562CAB137B73B1B2D8C4DB4751EFCE62BD7CB3655BCED131020B97985D9BB5FA7945C12353089393ACADDB606D3F2DDA42FF10FF4778BA1FC47904787AE053E2FFF829FDDA3ACF391B3D42026023FC40AAE6F79A0F8BD1CC33168A2751C8EF0446F66F470F8A51C396BF27CCCDF3CE18E057037317FC6E8F23BE0C1583272F103306B85780F71E505CBEFE65033DF0F24CAA462F99E29132665E63D1CBF7C84D23E8EC219D8C2942E9DF092001F81D851E5FA6CE5E4F4F8959026EDF4A98BB05FF2146F98F19DAD9DEC0EDDA7D748CC02F73EDB54576EDBCEBE0F93C73402402ADD4EC7EFDEAE775F4E02B3F61012DD9B157541F0FEC7DF8C653E8DCE127286AA15E662101D02B5E1E6B0B4BCA69E23BBFD2B439EE5CCB7CF4E08E74E7952753527CB43AD12B108BCC7CC1D307C5E7E7D9EAD825C39281FD8E8E11689D2643A3141DDF8A39FEF73CFF236EFE5268EAA3849380C76F3995F8EF00C418012400C6F8D95A9AA739FDEBAD39949D5368AB1D5655DE313D89EE9A3098787A90B2B2B7E8E81881193F2B6B6650869D98793411689B11940A5985662DD94A773CFD1D06C7CA02AA991E1EF4FB9FBF9F41C3FA666866B95AE62201502B1E015B5353739826CD5CEB593DB0A0D8993B0A26274413AFEA37764417B1909D81B9FD01D33550A074DFD144E0FB1F0D2852B068662F9108F01801F1E9D0DE7203B3D6EFA4EB1E998ACDB32C27AF5685BCC9D77F1F1843999DD57C3DA516ADBAAD4102503717ED8E1EA8A8F2AC7AF6D69465B4AFAC423BFBEB3238362682269CD39B7855B0A888B0BA2E51FF589948CA7855415E50E89BEFD4B737100B7B74FB2D111063044EB06660D66631CFFFCA0726B97E0C4C206172F2B53C16E89D47C6523BAC13105498910004854DDD427CF37F5F2C23CC1F5D1301BEF15F2E6EFAFCE1EF8E900A9194799618166304A67CE308977E77A2AB1890C5030579C0607793D6611095710FD7E5F77D413BF688DE150808FC46A055B3587AFFB10B887B0A218111400210182F6DAEDE5F5E499F4C5FE5D9FE347F6F991676A7348DF16C0B7AF1A8EED4243A5C0B9B0336F2D0216F22C09B0E7142E024E9D4C19B08F0AB815E3DA47A76B0E2105DFDD097B46A53BE54BD50E60C02DDDBA7D09B0F9D479111A1CE70C8222F90005804DAAE6A786EF4BC15B9F4CD9C0D3473E116E257052A495475258DE89844675D3C8C06F54C239EEBEB1AF1F40888D703FCB3DA410BD8B46FF7DBF4419108F41503070D0A2F8BCD8BFC7C3F6FA3414D28EE6402A70FEAE0592C48DA32E04E86F59B6F48005C10E4232E56541EF26C90F2CBD26D3467590EE5EE2E3D72CAD29F69657B6948FE061ABC7B03F52FD842110FDF4374E7ED96DAA05465FC4AE0C8EB017E55E01469937E748C40FFBE417BF5FAA425F4C2C70E5B6C29681A28581F815B2E19407F1E1B7C5BAB4FB713CF2101706254FDF4891380256B77D0E2353B684E560EF1FA02664852C57ECFCDFEC4C2ADD4577C3801A825975D44F4D6ABB50EB9F2171E2478A457A0FC807310A489699B4796183E6940407EFD92B58D6E119BFBF00E991010688800AF11F082D83C6848669B862EC579410009009A818700FF812D11CB0DEF2D3920128103E267391596F2CFA3BF1FFDEEBD3935ADA9A0A4FC3C6A5A51263EFB896FF4FC3DE90FBFC7579553487D7FC0F97DF1C25988C411023C6D90670E7032C0D3099D222D9A1F1D2330E4A406BDCACB2FA58BEFFA8C4A1D32ABA54187718114027162E0F027FF1A47A9297152F439590912002747D76CDFBE1037A9CB2618AF25540CDCC912CBE8F22032C851023FFEE44D04780A212F30E414494EFE6DAF01314660F8D03ABDAA3A54E399EE87417F75E2C1C10608F0A0409E1E1816EAA231450D30A9EB74E38784D47502C740A0410221E23FD77FDF24AAEFE9BE4125E2829A1AA2618389BAD8BCAEBF3FB65A794D3BB1F3D9596710F10A7C31628A53CE76A272735ED358E996C707DE5279DAF7445BB612454612B5CBA865C233EFCDA51F176CAE750CBF8080BF04F28BCAE8C0C12A3AB977BABF455C791D120057865D92D3BC65EC97E2E9347F8F71857CF3E75DE820C713C810EF33CF1C2512813E444D9A10F14E84FBF598DA79BC33C71C39709068E972A2A9D38836899B7DB898FAD9A11DCD5D9E434FBCF9CB3117E22B08044E60E5C6DDD4AB53736ADD223EF0C22E298157002E09B4696E5E791DD1C79F1B57CF73C73F7ADBB81E3768E0ED878F0C16CCDBE11C8F452F47F1F963E982EA6EB4A7DC41D3229D1321ED3C699618435F3C7DB1F5DB856B420A2F48340994B26676EB22C7B435EB9C35175E0E95BAB5F048FAA71FF3264C77DC4CC4D3ED9C2062D9E427D656E2E6EF84582AE2C31EF12A00BD49BE838104C0371B9CF187002F032B43D66D205ABD568626F7E8187022D193FF271281B788FE7E9B788F2EC60C682C3FB5E842DFA6F5D4D80398AE2201DE36FAA7455B5434CD769BF00AC0F610686E000FE2EA73B2189CE69D1A68C89B77FE4B74C9858654B8BAF0F295475F0D6CD06BD5BCFDA11174DEC8DB283F1253B77897BBE64931D42C417CC4F2D82989D1942CBAB253C4A799F8CEDDDAFC6129282E235EEA7B4F5139F1C0B702F1C917DFF7F031716E776119764D149C7899F12FFF7329358912E34C20BF13C0C2C9BFA3C097A008B4CD20E25E80C56254B751410F803182BC9E027FC69D7F341158BBDE984E8B4ABFD4E554D7DEFC79A7CBCC135A50BF6EA934A07B1A75699BECF792D8315109D4A66582CF28F152E06BB714D08255B9B468751E65ADDBA5DC72E03E8D97788293A4973E5E48774DC040E363B1A207E0581AF81E1C81EB6E217AE783E0CA1E5B8AA7BC4DFAF0D823F86E8400BF5639B2A0D0CAD54634995A76435C0BBA78F84D54DDC83D6F2479B19AE12766D06903DBD3C09EAD2922ACB1A98C8F28AFA8AAA6F92BB6D30FF337D1CF8BB7BA6A9125DE67E49327C751A73662F612C4430009001A827102CFBD2C766BB9DFB89EB619625AD8AF44D151C67541C35102D99BBC89002F289425A6DD2926D79E7C352D4C6EA79855E698C30BD45C26B6B91E256EFCE116DDF47D7952299281E92211F8506C1DEE960597FA8B5E96371E3CD71712D71D4702E0BA909BE0F00F3389CE96F4EE7ECE8F44FDC47C77887C023C5EE3C8F44119AF6C245838ABC50974CB80CB2568525B45CF8ECDE9C671FD945D98E657B139D82B9F2DA215D9BBD50629C1BA17EE1A4DC3FA6648D0A4BF0A2400FAC7D07E0F76ECF40E042C2A366ECB7F5F20BA72BC713DD0E09B00AF28C889C064F199BFC8F775269FA9115DFE179C72336D8A4D31B926FBD4774C4FA25B2F1DA0CD0D67D692ADF4FC470B283BA7D03E6826D7DCBE7553FA62E2C51412D2C8E49AD4578F9500D58F91FA16C6C6127D3B5D2C559B6BDC569ECA76DA08E37AA0C1378178B132DAC0FE44A79F4A949E4654265615DC2E2176BE6BACF3CC3769BDE8F38C7E759ED3FD60724234FDE3AAC1F4CFEB8651DB5689DAB893D12A81C69DD68D5A24C7D2AA8DF9542E96D3759A14894DCED2C5C0498C052072CFA81BA7B562D5FC91B51E0066025817D9562D896EBEC1BBA0D0734F79F763B0A8767EFA7FADF3708B6AB3AE1A7EAA1C2FDEF14F79EE321A3BA20BF1F6B4BA09DBCCB6B30FEC8B139F945FFB7CB1D882E4B06EA1916E2F1200E9485DAA50D68A809C00C87895E0D23004E57673D1057FC3B5441F8A05855EF837D129C382521348A1E9ADBAD1B626625740074907D1B5FCFE6317D05DE2C9DF09F3CDD907F6857D62DF9C24DB76167B06403AC9A7607C4102100C3594399E4057494B02EFDC8515018FA76BCD11DEDCE9BA09DE95055F79CED457316F7718628D4F16D4C20FF9979FD58B3E1653CC7894BFD3847D62DFD8470D3B347C86E3ED2912D62EF1A95D8F134800F48893FA56F22B007E929421780D208362F03A12C5C232575FE17D35C08332CF382D785D75945C9A94416B125AD57146BF43FC94FC9FBF9F49FFB8F264DBA7F599498FA72CB28FECAB137A3798D59ACD7B68E95A3180D9C58204C0C5C197EA3A3F3DCA7A0DC01B0341EC27102BB61EE619191FBF43F4E62B62AAE799526CFAB8ED00297AEC56D232B909BDFBE8581AD1AFADDDA658563FFBCA3EB3EF4E908FBF5FE9043782F6010940D0E850F03802B25E03AC11E30020EA10888A241A7FB1F7D500EFD770EED941DBB637228666B4EC1A7479550AA68B3DE6DF7964ACE3DE8DFBC397C703B0EFCC407799B17033ED2D39A0BB1B41DB8F0420687428781C01593D00FC0A6077FE71EA71C06602E1622315DEACE9E3B7893E7893E802B1A25A802F85BF4CEF4B5521D62C7B6B16ADE6494DE8F57F9E4B2DC44FB70AFBCE0C9885CE5275A886BEFCD9BD3D8E4800746EBDAAD92E2B0128DC8B8180AAC5F6587B42C49F8D0BCFF3CE1AF8E86DA28B2F200A0B3BF68A3ABF1FA64634A94DDF3ACFE972302136925EBB7F8C63BAC08D70E7D700CC8299E82C9366AEA1C32E9D11880440E796AB9AED9C00A4B79663D5EA3572F4408BB904CE1F43F4EEEBDED703975D441419E1B3BEACA436941323C68A682ABC6BDFCBF79C4DED52F559D8C76CD4CC8299301B5D25676789D825D19D83019100E8DA6A55B4BB89D8A35C562F006602A81861DF368D194DF4D6ABDE99037FBA8C88DBC21F646AEBDE7F38A2CFAFBC38CE93B79E4ADD3B489AE9A28FEB0D5ACA4C988D8E8B1E1D716EEA6C3DB6CD3E62AFAC9F48006491841E2F015909006602E8D9A2469F4EF4FA8BDE446082D8E4273ECEE347654828FD2016FFD1556EBD6C209DE2A2D1FE81C689D9DC2618E92ABC3D32EF8EE8364102E0B6889BEDAFCC2581B7E5986D2DF49B4560D448A2579FF74E21FCF35534B77D2695864599559BA97A470D6A4F13CEC934B50E2728BF4A3062563A4A695905CD5D2E36C9729920017059C04D7757560FC07EB1410D7A014C0F97E9158C10CB0ABFF80C4D3FFF4AD3AB32A3029EEAF6D00DA7043AD9C10C5394D7C913429895AED303B917C06D8204C06D1137DB5F4E003A4A7A0AC03800B3A36589FE43D535343B57BFB9D6A18D43E8C9DB4E73CCCA7756049B57096466CC4E37E1AD90B9ADBA49F48B929BA2A3A3AF3C1DAC9BA4855E9000E8D8028EB379C99A1DC45DACBAC9B5E7F771E4DAFE66C781F70E6076BA09B7516EAB6E1224006E8AB655BECA7A0D8057005645CCD47A662FDD66AA7E3394B74F4BA43F8F3DD10CD5AED0C9EC98A16EA2635B35C2180980117A285B3701990301376CACBB0E1CD586C0AFCB72B4B1F588A1F75C3394C242F1E7F1088F407F323B66A89BE8D8568D30460B37420F65EB26C03D00BC5A9C51A9AAC28A804619DA5C7E77E17EDA9C5764B31581553FB27F3BEADF2D35B042B8FA3802CC9059EA24DC56B9CDBA4524FC95760B2AF8E937812E9DE52D08848D81FCC6AEE2850B57E5A968964F9B42421AD12D970EF0791E270223C02C99A94EA25B9B35C2160980117A28EB9B80CCD700BE6BC119C5092CD66C50D5A8411DB0D4AFC436C54B0533539D44B7366B842D120023F450D637015903017926408DBBA6E6F886AADF99ACF57AADB17ED5187D972B56B575E8C674A98BF6054002A0EAFF1ADDED929500ACDB8071009AB685E27D0769DBCE626DACEFD5A905756DD74C1B7B75319499325B5D2467573171DB75832001704394EDF0915F014449DA2614EB01D81141C375AEDE94AFD536AB179E2A69FD0AC3E49CA74027B6BC3530B75D370812003744D90E1FDBB5953810709D1D1EA04E8304D66ED963508375C5A323C3B45DC7DE3A4AC1D7C47B0430635D44A7B66B8429120023F450B67E025DC5744019821E0019142DD7B16E6B81E575065B214F57D3794FFB60FDB6AA1CB3D5694AA04E6DD7480C910018A187B2F51390350E80138072FDD692AF1F8EF3CF6ECCD9AB8D93BAEE62A70D6061A84E8C756ABB46DA00120023F450B67E02B212802D5BB13360FDA4953BCB9BAAE4EC2A51CEAEBA0CE2A7D3813D5BD7750AC7241260C6BAF4B270DB75C3C6404800243670A8FA03014E0012E2FF7030C85F57AF09B2208AD941202FBF549B3FA0FDBBA7524458633B30B9AA4E66CCAC7510BEF9731B76BA2001707A84EDF4AF554B790301310EC0CE48065CF7F65DFAFCF11C84A7FF80E31B6C019D58EBD486838D07128060C9A19C7F0464BD06C0CE80FEF156E4AA1D7BF44900FA7615892AC412023AB1D6A90D071B3C2400C1924339FF08C85C12B8489F4565FC83E3DCAB7669B2A10A4F4DEBD83AC9B98150CC3366ADCB74405DDAB09110230130420F651B2620AB076087585216BD000DF356E48AFCBD658A5852BF199D3392B5DBACA67E8FD43ECB1B0331731D4497366C8425120023F450B66102BC16408AA4E555310EA061DE8A5C5158A2C7B4CD8EE978FAB7BAC9E8C25C97366C247E48008CD043D98609248B3FB0DD242DB18A04A061DE8A5C51A2C95AEA6D5B252842CC3D66E8C25C97366CA4E5200130420F65FD2320EB35C05A2C09EC1F70FBAF2A2DABB0DF083F2C484D89F3E32A5C2293802ECC7569C346628304C0083D94F58F80AC04807B0076BB63930EFFC0AA7B55D9812A758D3BC6B294A631C7FC86AF5610D085B92E6DD848CC900018A187B2FE11903513A0A0105B03FB47DCF6AB0E54E8910024C645D9CECA6D06E8C25C97366CA4FD200130420F65FD23C03D00E992965A5D237A0120CA13A8ACAA56DE46363036265C0B3B9D64A42ECC7569C346DA06120023F450D63F02B14D8864F5026020A07FCC6DBEAABAA6C6660BFCAB3E2A3CD4BF0B71953402BA30D7A50D1B090C120023F450D67F0232C701F85F2BAEB489C0E1C336551C60B52121F813182032C397EBC25C97366C242068FD46E8A1ACFF04642500BC1850CE76FFEBC595200002200002751240025027161C944E40D62B807DFB3110507A70E42B6CD448BE4E3334D668F2AAC20CDFEDD2A90B735DDAB09138220130420F65FD27C03D001DDBFB7F7D7D576249E0FAE82871AEB1265DEB072A0F29C1CB4D46E8C25C97366CA4ED200130420F65FD27102E465B634540FF79697E65B8D8FB5D07D95756A983998EB25117E6BAB461238D030980117A281B180159AF0130132030EE365C1D15116643AD81575954AAC79E05817BA66E095D98EBD2868D441A0980117A281B18015903013901C8DE1458DDB8DA520231517A24006ED8F1CDD2C0FB51992ECC7569C37E20F7790912009F6870423A014E00648CACA912ABCCAD5E23DD3C289447202E26429E321335E5E5979AA81DAAEB22A00B735DDA705D8CFD3D8604C05F52B8CE38812E9DC538009104C810BC069041D1341DF1B191A6E996A978CB8E6299EAA0CB0F02BA30D7A50DFB81DCE72548007CA2C1095308C84A003013C094F0C8529A141F254B95A97AB273C4FE12104B09E8C25C97366C247848008CD043D9C009C81C088839DC81F3B7A8842E3BBEADDF5A4035359A2C5B6851ECCCAC865933731D4497366C8425120023F450367002B27A00D6AE27422F40E0FC2D2AD12249ECFFA081941FACA2ECEDE805B02A54CC9A99EB20BAB461232C910018A187B28113E0042052D200318C03089CBF45255A358BB3A826E3D52C59B3D3B81268F08B804EAC756AC37EC1AFE32224007540C1211309B46B8B05814CC4AB8AEAD62DF44900E6ADC0DE1256B51B9D58EBD486838D1F128060C9A15CF00464BD06400F40F03130B9646A4A1C8536D6E3CFCBC255795451556D3211A867C6CC5A07E1B6CB6DD8E9A2C7FF50A747C16DFEC94A00780CC081836EA3A785BFFC0734BD45BC16B61EA8A8A2F9E805303D56CC9859EB20DC767549608DF0440260841ECA064740D64C80CD5BB033607011B0A45487F4A696D423A392E9F3B0B2A40C8EF5E9D089B14E6DB73EE60D9D4302D010219C974F807B0012243D1DAE11CB02439424704246B29276D565D48C859BB5793AADCB7ED58FF1933F33D645746ABB4698220130420F65832390DA8A48562F00C6010417030B4A7569DBCC825AE454C153D3747A4295E3B5755A98AD2ED3FF988A4E6DD74814910018A187B2C11390350E000940F03130B964B7F62952B67E30D9CCDFD57FFE23F697F81D86E42F3AB1E5ED4AB8EDBA419000B821CA2AFA282B01E08180C5252A7AE87A9B12C47E006D5A2668C361F9865DB466F31E6DECD5C55066CA6C75116EB3DC76DD204800DC1065157D94F50A206F070602AA18DFDF6CCAECDC5261EB8E37EDEDA9CB8E3F88238608E8C654B7366B243848008CD043D9E009741503015324BD23C66B80E0E36072C913BB8AF11E1AC9F4791B69735E914616AB6D2AB364A63A896E6DD6085B240046E8A16CF0049A8911E2DDBA065FFED892D813E0581A4A7DEFDF3D55297B1A328637AB79E1A3050D5D86F37E126096BA6DB6A45B9BF53314755E8604A04E2C3868090159AF01D0036049B882A9A4B9D814A85D6A6230456D2BC3D3D516AED663C53ADB20F9513133D469EA1FBBC46D95DBAC5B0409805B22ADA29FD206028AB500F231784BC510B34D27F74E57D5349F763DF1BFD95475A8C6E7799CA89F00B36386BA898E6DD50863240046E8A1AC3102B2128002B19DEB6A4CE132160CF34A0FEDD3C63CE52669DE945B44AF4F5A6C9276E7AB6576CC5037D1B1AD1A618C04C0083D943546805F01B44E33A6E34869BC06384242B99F7DC540C0B818495B405BE8DD1B9397D2AA4DF916D6E88CAA9819B3D34DB88D725B759320017053B455F3352E560C0414B30164080602CAA0688A0EDE546558DF0C53749BA9F450750DDDFDDC0FB4FF40A599D5384A37B36266CC4E37E136EA860D808E8D0B12806369E0BBF5043010D07AE636D478DAC0F636D46ABCCA9C5D25F4D0AB3FD1E1C3C675395D03336256CC4C47D1B58D1A618D04C0083D94354E40560F00BF02C8D96EDC1E683085C049BD5A6BF91A8061F03AF66F4DC932858B939432235DF753E0EE7F6EA36E1324006E8BB86AFECA4A00F6ED27C26B00D5A2FBBB3DE1618D49E727ACE73F9C4F3F2D12DB4F43EA24C06C9891AEC26D93DBA8DB040980DB22AE9ABF9C007490D43D8C8180AA45B7963D638676AEF5BB4EBFD488FEEDBB9FFF91566DC4A0C03FC68D99301B66A4ABE8DC368D30470260841ECA1A27101E2E6F20201200E3F1305143E6092D29BD65BC893598AB9AF7B4BFE989AFB154F0319879A95F66C26C74156E93DC36DD284800DC1875D57C96F51A00AF00548B6C2D7B789BD5B123242DFF5C4BB375BF14EF3B48D73F3A95761688574E2E1766C02C9889CEC26D92DBA61B0509801BA3AE9ACF326702646F52CD3BD8730C81F3869F4061A17AFFD9D95DB89FFEFC7F5FD12EF1D3ADC2BE330366A1B3705BE436E956D1FB7FA25BA3E634BFB90740460A5E29E66BAF11B30120CA12681A1F4523FBB753D63E7F0DE3A96E573E3089366EDFEB6F11C75CC73EB3EFBA4EF73B3610DC16B94DBA559000B835F22AF9CD3D00327B0154F20DB61C47E092D37B1C774CC703DC05FEA7FB27D14C17CD0E605FD967A7BC02714A5B0CF6FF0F128060C9A19C5C02B2C6016020A0DCB898A0AD4F9796D4B55D3313345BAF9257BEBBE3E96FE9A9777EA5CAAA6AEB0DB0A846F68D7D645F9DB23222B7416E8B6E1624006E8EBE4ABECB4A007820A0C6D391540A8999B65C754EA699EA2DD5CDCDEDFD6F96D325777FE6C8BD03786D7FF68D7D74D27F2D27B5C1601B3C128060C9A19C5C02321300F402C88D8D09DA46898557DAB44C3041B37D2AF9DDF8E5F77D41FF7A7B8E239E92F9499F7D619F9C36D681DB1EB741B70B1200B7B70055FCE731009192768C4302A04A547DDA1112D288AEBFF0449FE7753D515373983E98B682CEB9ED439A3473AD968BE3F0823E6C3BFBC0BEB04F4E136E7BDC06DD2E4800DCDE0254F1BF7D3BB12090A439E2580F4095A8D66BC7E8933B52FBD64DEBBD46D79305C5E59E8D71C6DDF929CD5AB2551B37D856B69937F5611F9C28DCE6B8ED41889000A015A843003301D489850596F013D8ED970DB4A026FBAAC8CE29A45BFE35CDD38DFEEBB21CFB0C69A066B68DBBFAD956B6D9C9C26D0E4FFFDE08873A39D0F04D3302B2C601F02B808315F25E296886512773790FF6FEDD5269E1EA3C9DCC0ED8D615D9BBE9C6C7BFA6EEED53E8B2D13D3DEF9FEDDE7C8647F64F9FBF893E14DDFC3CD0CF0DC26D8DDB1CC44BA0D161218001024A10983E8368CC3839A6CC15BAFA3A67A4B91C286A6AD9B0AD902E16A3CCABAB6BD434D004AB78FBD9E127667876481CD8B3354558B4135D85B8E9CF5FB19D7E1037FE9F176FA5D2329128BB441A370EA14F9E1C479DDA24B9C4E386DD440F40C38C70855504F815407C1C5149A9F11AB917000980718E1668E03FC8979CDEDD33E0CC82EA94A8826FBC5366ADF77CA222C2C466342DA89F783A1DD03D8DBAB44D26BE59C9104EAAD66E29A005AB726991E865C95AB74BEB8D7B8C30E136869B7F6D8248006AF3C06F7612484BF5EE0C387781712B3010D038430B35FCE5E2FE9EA7D2FCBD6516D6AA4655BC93DEDCE5DB3D1FB628223C949A378DA16689E2237EA6244653B2F89EC2BF8BEF9EE3E23BCB9EA2B2DF3EE5942FBE17884F7E5139ED111CF9DC6EF1B3A2F290E75A37FF932238721B83D4268004A0360FFC663701EE05909100602AA0DD910CA8FE2651E174DF3543E9B689DF0654CE8917F30D9BD7D977C25AFBAAC487DB16B731486D0272FA996AEBC46F20103C019903018B4B82B703252D27704ABFB67426A66759CEDDE915729BE2B605399E001280E399E0889D04642500793BC4CE80625960885604EEB97A88A78B5B2BA361ACB204F87509B72948DD049000D4CD0547ED22C0094033491BC5E035805D510CBADE84D8487AE4A653A4EC0E1DB41128E80802BCC338B7256E5390BA092001A89B0B8EDA452039D93B105046FD48006450B45CC749BDD2E9F2D1BD2CAF17153A8B00B7216E4B10DF049000F8668333761190F51A00AF00EC8AA0E17A6F1F3FC8B3688E614550E04A02BCE012B72148FD049000D4CF0767ED20206B49E035622D80FC3D7678803A0D12080B0DA1896242485CB57B16AA31880CC57F23C08B2C4DBC6314711B82D44F0084EAE783B3761090D503B0A7400C04144900443F025F7F4BA92F3C474F2CFA8442B058A97EF1B3C9E210F1E2FF895B4FA5D414B1A018A4410248001A44840B2C27C009002F0A2443300E4006456B75CCF899E8C97F13AD5C4D43766FA0BFAC13CB3A4340C00F02BCD8CF90CC367E5C894B98001200B403F508C4C56220A07A51B1C6A239F3889E789A68D1D2DFEBBB76C32C3A3D6FE5EFBFE30B08D445E0F4411DE8DAF3FBD6750AC77C104002E0030C0EDB4C40D66B00F400D81CC800AA5F9CE57DF2FF656EAD428DE8303D923589BA173B7BC7C05A4EE3978008F0A0BF476E1A81E9A30151430F4080B870B965046425003C13607BAE6566A3A2200970A2C6DDFE3FCCAC53416475153D3FFF3D6A555E54E7791C742F8156CD62E9F9BB4653640456B60FB415A007205062B8DE1A02B2660294EE23422F8035310BB6964D9BBDDDFE53A7D5AB21B9623FBD3CFF5D8AAF3C50EF7538E91E02F14D22E8E57BCFA6E48468F7382DD1532400126142954402DC03D0A1BD1C85580F400E4733B4F092CD4F3E43F4D964BFB4B7DBB7879E5FF03E45881E0188BB09F0AE89FCE4DF2E35D1DD200C788F04C0003C14359140440491AC5E00F40098182803AA0BF77ABBFDDFFD302025997BB7D1D38B3FA6D09AEA80CAE162E710086D1C424F8BB9FE999D5B3AC7291B3C410260037454E9270159E3009000F809DCC2CBCACA45B7BF78E7FFDFB782AA74D8AEF5F458D617582320287A7A17E2B9FE8FDD3C9286F5CDD0DB1105AC4702A0401060820F02B212007E05B071938F4A70D87202D5E2C99D07FCBDF08AA1AACFCC5D410F2F9B8C24C01045BD0AF3CDFFE11B4FC1B6D192C28604401248A8318180AC570015623959F4029810A02055F2CDFFA9FF0459B876B1737396D2A34BBFA0C6876B6A9FC06F8E23D05874FB3F2A9EFCCF1D2ED6888648218004400A4628318500F700C8EA054002604A880256FAEFE7BD83FE022EE8BBC0D9B9CBE899851F5144CD21DF17E18CD60422C21AD3337F3D9DCE1ED2496B3F54331E09806A11813DB509C84A003013A036573B7E7BF9BFDEAEFFCA4AE9B59FB26B2DBD36F76D4C11944ED67E853CD5EFB5FBCFA153FAB5B5DF1887598004C06101759C3BB25E03700F003695B1AF79FCEF5DEFA03F5E97C124E953B895DEFDE5BFD4BA4CCC2E80388240EBE6F1F4EE2363A94F178CF63723A04800CCA00A9DF208C8EC01402F80BCB804A2E9C34FBD4FFE166CCDDC76FF1EFA60F6ABD4BF402C2E04D19A40FF6EA9F4C1E317505BCCF3372D8E48004C430BC552087002C06B02C8108C03904131301D93A67857F9CBD91E58390357275496D3ABF3DEA1F19BC5C642102D098C1FDD935EBD7F0C25C4466A69BF2E462301D025526EB5B37D3B0C04D435F6D3BEF73EF96FD868B907BC48D05D2BBFA1A7167F4AD187E48F39B0DC219754181D19464FDD761ADD75D560E2C57E20E612006173F942BB0C02325F03C8B0073A1A26F0D32CEFCD7FB9BDDBF89E91B7823E9EF532752ED9D5B0CDB8C256029DDB24D3C74F8EA3334EEE68AB1D6EAA1C09809BA2ADABAF3207021E146B0240CC25307701D1E362AEFF82C5E6D6E3A7F68CFD05F4BE181770D9F6C5D82ED64F66565E26D6F6A1CBCEEC41EF8BF7FD19AD12ACACDAF5752101707D13D00080AC1E00DE756EF51A0D1CD6D8C4A5CBBC4FFEB3E728E54444A3C374F7F93DE8A5BBCFA66689D8394E95E0702C3826774F18423CD71F622D012400D6F2466DC110E004203E2E9892C797C14C80E399C83AB276BDB8F98B9DFDBEFF519646797AEEFE1BD13FEEA0C199E9F4C5D397A09B591ED9A03571573FC7826302B1870012007BB8A3D64008A4A56267C04078D971ED96ADDED1FE5F7D6D47EDF5D7F9B75B89EEFEEBEFD7F0C8721E68F6FC3F46538BA426BF1FC7176B08307366CF31C0287F6B98FBAA25D4D7091C0701A508702FC0BC85C64DC25440E30CFFA861A71860C7EBFB7FF2C51FCFD8FFFB4DD7899BBF78FA0F0F3FCE96E1276650FFEEA9F4FAA425F4DE37CBA9B20ADB0B1F0749E28170D1C57FC559BDE8CF63FB128FF687D84F000980FD318005FE1090350E805F019494CA7BA5E08FED4EBEA6A8D87BF37FFB03F5BCBCE64F44F78A9B7F5CAC4FDBF84674DB650369ECC82EF4DC87F3E987F99BB060A44F5AC19DE0417EA70D6CEFE1CC2BFB41D421D0E8B01075CC812520E083C0CFB3894E3FCFC7C9000FFFF42DD14903022C84CB8F2370E020D1838F123DF7F271A76C3F30FE62A287EE254A6F1D9029AB36E6D3F31FCDA7F92B73032A878BEB2630B0471ADD7AE940EADE21A5EE0B70D4560248006CC58FCAFD26B0670F51E66022FE69545E125BD15E7BA5512DEE2ECFCF0D0F3DEE7DFA578DC4D873881EBE9FA85387A02D5BBC6607BDFAD9225AB83A2F681D6E2EC8CBF8DE30AE1F9DD8B5959B31411CDD9B000024EA4944415428EF3B5E01281F2218E821D0AC997720E02C090900C601186F54FCCE9F3FAAC9E8D389EEF9BBA19B3FBBC437AE371E3C97B2D6EFA437BFCCA2D94BB7E2D54003B1E6AEFEA17D32E8EAF33229B33336EF69009712A7910028110618E117011E0730EB17BF2EADF7222400F5E269F0E47F5E54F3E63F629877C05FCFEE0DBAE0EF057C237BE1AE96B471FB5E7AF7EB65346D4E36060BFE011E0FEE1B3DB823FDE9ECDED4A175D33F9CC5AF2A13C02B0095A303DB6A1378E31DA2BFDC51FB5830BF716F42D61C22FE09098CC0AB6F88F7FE8F1115970456CEECAB794CC7C3F7894750F19AC84429282EA7CF7E584D9F4E5F4D8525E526D6A4BEEAA4F868BA6854371A775A374A4EC0E24AEA47EC780B91001CCF04475425C04BCC9E72A61CEBBEFF9268F85039BADCA2E5ADF7BD83FE76E7ABE5719FDEDE9BFFA89196D95575A886E6646DA3A9B337785E0FB8650A213FED7337FF98A19DC4023E6D282C144BC958D6E84CA80809800950A1D224023C7DAFCFC944B91206663DF384E84DB8DE24431DA8F6A3CFBC83FEB66E53CB39DE278247FB9F7BB66D76ED2FAFA45F44323073E1169AB36C1B951DA8B2CD16332A8E890AA3C1BDDBD088FE6D6988B8E937893E7E4D0533EA854EF309600C80F98C51832C02BC1C308F03909100604960FFA3F2E554EF3B7FD56EFE6D33BCEFFC6DBCF93344BE219E2996B5E50FF70CF0C0C1B9CB7268EEF2EDB47E5B8176830779301FEFCC7752AFD67452EF74CF803E3CE973A49D27E801705E4C9DEDD1DDFF24E241684665507FA29FBF33AAC5F9E5BFFBC1FBE49FB55C2D5F5BB6F076FB5F395E2DBBFE604D51E9015AB27607F1B442FE6CCCD94B358A2DBD1222EEF81DD29B7A663EF0EC87BE5D5A51625CD41F3CC1AF4E24801E002746D5C93EC95A11906702704F02EF3300A99B00CFB8E0A97EAADDFC9B267A9FFC15BFF93354BE919E3AA0BDE7C3BF979655D0EA4DF9942D1281EC9C42CF67536E1155541EE2D3A64B447828B54F4BA48EE949BF7D9A52B7F629141713617ADDA8403D024800D48B092CAA8F80AC04A0749FD81A5824014800EAA63D7F11D1E3E2E62F63FF85BA6B08EE6854A4F7E67FC335C195B7B914DF6807F56CEDF91C31857B04F6EC2DA31D7BF6516E7EA9E727F71C941FACF28C27E03105E5072B7FFB5EF9DBF14A4FF198A870CFBAFAFC93DFD547477A7F7ABF87791290D494384A6D164BADC4A759D318E2277E08083001240068077A11E82AC600B46F47B469B371BB390138FD54E37A9CA661D90AEF933F2FBFAC92F08D8B17F9B9ED2695AC326C0BDF909B8B1DF2F893790216D0310C140AFC2680391C7EA3C2854A1088145D95B27A013010F0F890AECFF6DEFCBF9D7EFC39BB8FF0AE7E77FDD56E2B503F083886001200C784D2458EF0D42F198215016B53DC9643F4C4D34493C5A87FD5E48E9BC5D3BF480020200002D20820019086128A2C2320AB078013808D9B2C335BE98A78711F1EF0C7F3FD55931BAEF5BEF78FC04035D542037BF426800440EFF8B9D37A5909404505115E0310F1024B4F889BFF9BEFA9D79E265C4E74AF78EF9F807DE4D50B0E2CD29D001200DD23E846FB3901C06B003991E72488BBFD5F795D8E3E995A2E1DE77DF26F8EBDE46562852E1038420009C01112F8A9170159BD006E1F07F0E43372165692DD7ACE1BE3BDF967B491AD19FA4000047E238004004D414F02B2120037BF02F897B8F9F3D3BF6A72C669DE017F277452CD32D803028E228004C051E1749133325F01B8B117E0B997BD83FE145B96D6B343234FF7EBDDD3458D19AE82803D049000D8C31DB51A25C03D00B24685BBAD17E0B537BD37FFF20346A320B7FCC07EE2C95FCCF3E77D1A20200002A613C06640A6234605A61118784A40EBD4578534A69D5109941B934879D1DE4F41642C9577ED46E5EDDA7B965AF52EBFEA7BB9D5E8C8B0DF975C8D8E0CA5E48468F22CB52A965B4D139F9662B955A5774E7BE703A2071F23DAB9CBB4B004A5989FF81FBE8F88BBFF212000029610C052C096604625A610E05E001F1BD51C6C1C462B13D36879623A6D886F411BE25AD0D6264954D3A88E4EAF7DC23AB175AB2F29DE7790F8E38F848434A28C9609D4A94D92F82453AF4ECDA94787E61419A1C07FB54FBE104FFEE2BDBF6A377F7ED7CFDDFEB8F9FBD3C4700D084823A0C05F2569BE4091DB081C3310B042DCF09727B6A685CDDAD1A2E4B6B42A218DF889DF6AA9A9394C9BF38A3C9FEFE66EF454CF3D02DDDB37A77EDD53A97FB7544F52C0BBB2592A53BEF176FB6FDE6269B50D56D626DD7BF33F5F8CFA87800008584A00AF002CC58DCA6412C8FDFC5B9A73FFF334BB7967CF4D9F93001D846FFEFDBAB5A2A17D32684866BAE71582A9764F9FE1EDF65FBACCD46A0256CEF3FB1FBE9F8817FB81800008584E000980E5C851A11102BC65EAF7E2C9FADBB9D9B46E4B811155CA943DA16D329D7952473AFDA40E9E2D5BA51A366B8EB8C93E4EF4EB7CA96A0D2BE395FD1EBA97E8C63F1B560505200002C1114002101C3794B2900077ABCF5AB2953E99BE8AE6ADD84EAACD5C93858277BBE5BDE22F1ED59D86F5CD201E4F6048162E114FFE8F12CD9C65488DF4C23C7B8307FCF1063F10100001DB082001B00D3D2A6E8840D9812A9A3C730D7DF0ED4ACACB17EBD5BB487866C1F8337BD0F923BA7A661D04ECFA8A55E2095B3CF97FF35DC0454D2FC04FFEF788F5FD21200002B6124002602B7E545E1781BD2507E8FD692B3C4FFCFBCAC45AF52E96D898084F8FC0E5A37B52D3F828FF48648B1D0EF9C9FF8BAFFCBBDECAABEE12F3FCF9E99FBB3B20200002B6124002602B7E547E2C81C292727AEBAB2CFAF487D574B0E2D0B1A75CFF9DA7115E745A379A706E2625C547FBE6B13DD73BE0EF834F7C5F63D799DB6EF20EFA8B8AB4CB02D40B0220700C012400C7C0C0577B08F053FE5B53B2E883692BE94045953D4668526B5444188D1FDD83269C9349DC3B504BF6ECF176FBBFF14EADC34AFC72C3352231115DFF4D1395300746800008888EB8C342000204EC20505D5DE379DA7FE5B3457E2FB463879D2AD699101B49378EEBE7E91568DC582C6EB46FBFF7C9FFA5D7D433F7CAF1DE6EFF962DD4B30D1681808B0920017071F0ED743D6BDD4E7AF48DD9949D5368A719DAD7DD313D89EEBBEA24EAF3E1FF88FEFDBC7AFE5C7C81F7E6DF36433DDB601108B89C001200973700ABDDE791FDFFF9601E7DF6C32AC74EE7B39A29D161BA68CB22BA63CDF7147348A14193E79CE5BDF9CBDAB9D17AB0A811041C4D000980A3C3AB96734BD6EEA0FB5F9AE9BA297D564521B5BC881E5DFA05F52DDC6A5595BEEB1935D27BF3EFD3DBF73538030220602B012400B6E27747E587C4BBFE973F5D486F7E9945351872626AD04304DFAB37CEA69BD6CDA4D09A6A53EBF2A97CE860EF2A7F270FF479094E800008D84F000980FD3170B405BC74EF9DCF4EA795D9BB1DEDA76ACEF528CAA5898B3FA156A257C052E9DF573CF98BF5FD470CB3B45A540602201038012400813343093F09F0F2BDF7BD38834A5DBE988F9FB8A45F165775801E5BFA390DDBB55EBAEE3A15F6ECEEEDF61F7D7A9DA771100440402D024800D48A8723ACE16EFED73E5F4CAF7EBE0803FD6C8E68233140F086F53FD1F5E2C3AF074C934E1D44B7BF58E1EF82734DAB028A410004E41240022097A7EBB5F1423EF7BE3083662CDCEC7A162A0118B9730D3DBEE4738AAAAE946F56EB34EF93FFF88BE5EB8646100001D3082001300DADFB14171497D3CD4F7E436B368B15E920CA11E85ABC835E9CFF2E25578845836449B366DE9BFF357F92A5117A4000042C228004C022D04EAF266757095DFFE8544CF1533CD03C55F0B5B96F537A99840598E262BDA3FDFF72BDE25EC33C100081BA088835442120608CC0C6ED7BE9AA7F4EC6CDDF18464B4AE74527D25543FE4C1BE39A1BAB2F2C8CE8EEBF11E1E66F8C234A83808D049000D808DF0955F352BE573FF42571F73F440F0205114DE8EA93AFA16C2349C03DE2E6FFB75BF5701856820008D4490009409D5870D01F02DB7616D3758F4CC5463EFEC052EC9AE2F068BAEEA409B4AD4972E096DD79BBF7E93FF09228010220A0100124000A054327537615EE1737FF29545882277F9DE276ACAD85A227E0BA93AEA25D51F1C71EAEFFFB2D3712DDF377A2C68DEBBF0E674100049427800440F910A96760C9FE0ABAF1B1A9B4B340E26872F5DC7485453BA312E8C6415752497854C3FE5E37413CF9FF952826BAE16B7105088080F2049000281F22B50CACA8AAA6DB264EA34DB9162F31AB16064759B32936856EEB3F9E2A42427DFB75C5A5DE6EFFE424DFD7E00C0880805604900068152E7B8DE585E41E7879262D5DBBD35E4350BB74024B9332E8813E63C5BA818D8ED73DEE7CD1ED2F06FDA5B63AFE1C8E800008684B000980B6A1B3DE705EDAF7BB5FB3ADAF18355A42E0BBD49EF46AE7536AD73566B4F7C9BF7DBBDAC7F11B088080F6049000681F426B1CF871C166CFDAFED6D4865AEC22F0EA09A7D08F2DBB7AAB3F5524033CD7BFFB6FBFDB6514EA05011030850056023405ABB3946ECE2BA2F1F77E4E6507AA9CE518BCA99340CCA10AFAA06C01B57BE036A2C183EABC0607410004F427801E00FD6368AA07E507ABE8AF4F7F879BBFA994D5525E161A417FCD388DCA4F3C512DC3600D08808054024800A4E2749EB2C7FE379BB80700E22E029B8B2A88630F010110702E012400CE8DAD61CFBEF965034D9DB5DEB01E28D09300C79EDB00040440C0990490003833AE86BDE2457EF0046818A3F60AB80D60C127EDC3080740A04E024800EAC4E2EE833CDFFFC15766D2FEF24A778380F79E36C06D81DB04040440C05904EA59FACB598EC21BFF094C9EB986E6AFCCF5BF8086573612EBDDB46E114F2D9363A95942342527C650B3C4E85ADF9313623C9E151497D19EA2722A28123FC5AE87C77EDF59B08FB6EF2A71F40D92DB02B789B123311D50C3A60E9341C027014C03F489C69D2778739F736FFF884ACB2A1C0720AD791C0DE89E46037A884FF7544A8CF363FD7B3F2814951EA005ABF26881B8512E58954BB9BB4BFD28A5D725713111F4D5B39752527CB45E86C35A1000019F049000F844E3CE13F7BD34C35103FF5253E2E8CC933BD0E8C19DA843EBA6960475E3F6BD346D4E367D2B564DCCCB774E32306658677AEC2F232D61884A400004CC278004C07CC6DAD4B0227B375D71FF178EE8CECEECDC92AE39BF0F0DC96C43DCDD6F87F07BF35FB2B6D1FF262FA5ACF5FAEF9FC01CDF7BF402EAD9B1B91D385127088080640248002403D5551DDFACFEF4C0245ABE6197AE2E78ECE61BFF4D17F5F374F3ABE408BF1E78F9D345DA2702BD3AB5A0771F196B5B52A5524C610B08E84E000980EE119464FFCC455BE8F689DF4AD266BD9AF6698974FBF84134AC6F86F5950750E3AC255BE9D90FE669BD9DF2B3779E4923FAB50DC06B5C0A0220A0220124002A46C5629B6AC4E3FFB83B3FA5EC9C428B6B365E5DAC189CC64FFC978CEA4E8D1BEB31ABB5BABA863E9EBECAD323B04FC3C1961DD393E8B3891751885DEF568C371B680001101004F4F88B8950994A60E6C22D5ADEFC47F66F475F3E73298D3FB3A736377F0E24272A6C33DB7EEA8076A6C6D60CE59C28729B81800008E84D003D007AC74F8AF597899DFE566DCC97A2CB0A2531516174EF354369CCD0CE5654677A1D5367AFA7C7C58A7B3AEDB6D8BD430A7DF8F885A6B34105200002E611400F80796CB5D09CB56EA75637FFB6A989F4D113E31C73F3E746C2890CFBD44EF8A68B70C2C86D07020220A02F012400FAC64E8AE51F7DBF4A8A1E2B94F4EDD28ADE7F742C65B44AB0A23A4BEB609FDE13BEB18FBA884E6D4717A6B01304AC248004C04ADA8AD5C5ABFECD58B04931ABEA36A75FB7547AF5BEB38907FD3955D837F6917DD541B8ED701B82800008E8490009809E719362F5973FADA3AA4335527499A984179E79FE1FA32922DCF95B57B08FECAB0E8BED70DBE13604010110D0930012003DE366D86A5EF867F24F6B0DEB315B012FDFFBF2BD67130FFC738BB0AFECB3554B171BE1CA6D88DB12040440403F024800F48B99148B976DD849393B4BA4E8324B494AD318CF8D9037A2719BB0CF9C0430039585DB10B725080880807E049000E8173329167F337B83143D6629898CF07685B7486A625615CAEB65DFF97500B35059546F4B2AB3836D20602701240076D2B7A9EE436225BAE9F3D51EFCF7CFEB8653D776CD6C22A44EB5CC8059A82CDC96B84D41400004F422800440AF7849B176D1EA3C2ADE77508A2E33945C786A573A7B482733546BA9935930135585DB12B729080880805E049000E8152F29D6CE507819579E0FFF8F2B074BF1D3494A9889CAEB1FCC58B0D949B8E10B08B8820012005784F9A8933C629B77A45351787399FFBB7184F2EFBCED60C7E300988DAA1BF0CC5ABA0DB301EC6818A813040C10400260009E8E4537E414D0EEC2FD4A9ACEDDDCBD3BB750D236158C6236AABE0AE036C56D0B020220A00F012400FAC44A8AA5F3966F97A247B6125E05EFE64B06C856EB387DCC48D5D510556D5B8E6B04700804241140022009A42E6AE6AF5473B0D684733229213652178CB6D9C98C98958AA26ADB5291156C02011508200150210A16D9502DA66A2D5BAFDEA22DBCE8CDA567F4B08882FED5302B151747E2B6C56D0C020220A0070124007AC4498A95EBB71552F9C12A29BA642AE1F7DA6E5AEAD7283B66A5E258006E5BDCC6202000027A104002A0479CA458B9227BB7143D3295F0A8F68B467597A9D215BA98998A3302546C63AE681070120482208004200868BA1659BD295F39D307F66C4DAD9AC52A6797EA06313366A79AA8D8C65463047B4040150248005489840576ACDBA2DE34AD738675B6C073675671EE70F5D8A9D8C69C197D780502C609200130CE500B0D3C386BCB8E22A56C8D080FA5E127662865934EC60CEB9B41CC5025E1368681802A4504B680806F0248007CB371D499EDBB4BA9B2AA5A299F06F54CA3E8C830A56CD2C91866C70C55126E63DCD620200002EA134002A07E8CA458B86D67B1143D32950CC96C23539D2B75A9C850C5B6E6CAC601A741A0010248001A00E494D3B90A3E950DE8AED6D3AB8EB15691A18A6D4DC7D8C26610309B001200B3092BA27F67C13E452CF19A91141F4DE92DE395B24947639821B35449546B6B2AB1812D20A0120124002A45C3445BF2F79699A83D70D5DD3BA4045E0825EA24A01A4BD5DA5A9DD070100440809000B8A41114961C50CAD38EE9494AD9A3B331AAB12C282ED719276C0701D7104002E092501795AA9500B46D95E012F2E6BBA91ACBE27D07CD771A3580000818268004C030423D14EC2BAF54CAD0D49438A5ECD1D918D558AAD6D6748E2D6C0701330920013093AE42BACB0EA895002427AA35704DA150056C8A6A2C556B6B010345011070090124002E09B46A8B00F1BEF61039045463A95A5B9343195A40C079049000382FA6757A74E8905AFBB447456005C03A0315C441D558561D526BC5C92090A20808B882001200578499A8E6F061A53C0D6D8CA6272B20AAB154ACA9C9C20C3D20E03802F82BECB890C221100001100001106898001280861939E28A468DD472E390D89D102287806A2C556B6B7228430B08388F001200E7C5B44E8FC2421BD779DCAE83072AAAECAADA71F5AAC652B5B6E6B880C3211090440009802490AAAB090F532B01C06231F25A8C6A2C556B6BF248431308388B00120067C5D3A7373151E13ECFD971A2A008CBC5CAE2AE1A4BD5DA9A2CCED003024E238004C06911F5E14F6CB45A09405E7EA90F4B71385002AAB154ADAD05CA13D783805B0820017049A413E3A294F274CB8E62A5ECD1D918D558AAB63091CEB185ED20602601240066D255487752BC5A0940764EA14274F436453596C90958E659EF1605EBDD420009804B229DD23446294F576DCC57CA1E9D8D518DA56A6D4DE7D8C27610309300120033E92AA4BB6572AC42D61015969453CECE12A56CD2D11866C82C5512D5DA9A4A6C600B08A8440009804AD130D196B4E6EA6DBFBB6055AE891EBB43B58A0C556C6BEE680DF012040223800420305EDA5EDDA6658272B6FF92B54D399B74334845862AB635DDE20A7B41C00A024800ACA0AC401DAD450F806A0BB4CC5B914BE507B12260B0CD83D931439584DB18B73508088080FA049000A81F2329163616BBEFB56D952845972C25159587E8E7C55B65A9739D9E594BB612335449B88D715B83800008A84F00FF53D58F91340B4F689B2C4D972C455366AD97A5CA757ABEFA593D762AB631D7350C380C027E124002E02728275CD6AD7D8A726ECC5FB19D76ECD9A79C5DAA1BC4CC989D6AA2621B538D11EC01015508200150251216D8D1B363730B6A09AC8A9AC387E9D3E9AB022B84AB3DCC989D6AA2621B538D11EC01015508200150251216D8D1B94D1245478659505360557CFEE31A2A3B80C180FE526356CC4C35E1B6C56D0C020220A0070124007AC4498A953C38AB77E7965274C954525A56411F7DB752A64A47EB6256CC4C35E1B6850180AA4505F680806F0248007CB371E499813D5295F4EBAD2959A4DABEF62A826246CC4A4551B56DA9C80A3681800A049000A810050B6D18D4ABB585B5F95FD53EF144FBE2C70BFC2FE0D22B9911B35251546D5B2AB2824D20A0020124002A44C1421B3AA52753F3A42616D6E87F55FC5E7BD9FA5DFE1770D995CC46C577FF1C066E53DCB620200002FA104002A04FACA458DAA811D1B0BE195274C956C2A3DAFFF9CA4C3A58A1D6E236B2FD0C461F3361362A8EFC677F86F56943DCB620200002FA104002A04FACA4593AB27F5B69BA642BDABAA3989E7A678E6CB5DAEB6326CC46551939A09DAAA6C12E1000011F049000F800E3E4C3FDBAA552426CA4B22E7237F7D7BF6C50D63EAB0D6316AA76FD330B6E4BDCA6202000027A114002A057BCA4581B2AA6038E1AD85E8A2EB394FCDF7F7FA6359BF798A55E1BBDCC8059A82CDC96B84D41400004F42280FFB57AC54B9AB5670DED244D97198AF89DF7AD4F4DA35D85FBCD50AF854EF69D19A83E2642F5B6A445B0612408D8400009800DD055A8B277A79694DE325E05537CDA90BFB78C6E7AFC6B2517BDF169B4A413BCD00FFBCE0C54166E43DC9620200002FA114002A05FCCA458CC23B6CF3FA58B145D662AD9B87DAFE746E8A6A582D957BEF9B3EFAA0BB7218CFE573D4AB00F04EA268004A06E2EAE387ADE29275058A8FA4D6045F66E4F577845A5F3A707B28FDCEDCF3EAB2EDC76B80D41400004F424A0FE5F7F3DB96A6175527C348D1CA0F660C0232017ADCEA31B1EFB5AD955F08ED869E427AFF0C73EB2AF3A08B71D6E43101000013D092001D0336ED2ACBEF4F4EED27499AD68C9DA1D74F9FD93949E0F1F2C039EE37F85F08D7DD445746A3BBA30859D20602501240056D256B0AECC135A52F70E290A5A56B7495BF28AE8D27B3EA3A9B3D7D77D818647D917F669B3F04D17E136C36D07020220A02F012400FAC64E9AE5579FDB479A2E2B14F120B9FB5E9C41773CFD1DED292AB7A24A53EA60DBFFFAEFEF3CBEE836C851B736634A00A114043427D0E8B010CD7D80F90609F0FAF2E3EEFC94B2730A0D6AB2BE786C4C04DD74513FBA6454776DF6A2AFAEAEA18FA7AFA2973F5DA4E598868EE949F4D9C48B2804C3FFAD6FF0A81104241240022011A6CEAA662EDA42B74FFC565B17DAA725D2EDE30729BBD1D111B0B3966CA5673F98479B72F5E9EE3F62FB919FCFDE79268DE8A7EE7E1247ECC44F100081FA092001A89F8F6BCE723FD09F1E9844CB37E8BD1D6F66E7969E1E81013DD2948ADD8295B99E27FEACF53B95B22B50637A756A41EF3E321673FF030587EB414041024800140C8A5D26F1DCF32BEEFF829CF0528813816BCEEF434332EDDBA69639FE92B58DFE377929E97EE3E736C93DFEEF3D7A01F5ECD8DCAE268A7A410004241240022011A61354DDF7D20C9A3ACB3923EC5353E2E8CC933BD0E8C19DA843EBA696848857F09B3667037DFBEB46CACB2FB5A44E2B2A1933AC333DF697915654853A4000042C208004C002C83A555158524EE7DEFE9123D7DF4F6B1E4703BAA711BF1E18D03D9512E3A2A484A6A8F4002D589547DCCDBF60552EE5EE76CE4DFF08A03831D8F2AB672FC5C23F4780E027083880001200070451B60B9366ACA1875EFB59B65AA5F4717776EB16F1D43239969A25445372620C354B8CAEF53D3921C6637341719967BA614191F8595C5EEBFBCE827DB47D5789235E9BD417A087AE1F4E634776ADEF129C030110D08C001200CD026685B9FCEEFAFA47A7D07CF1440B018181A2C7E4B5FBCFC1C03F3405107018012C04E4B080CA70879F8E1FBE710435890E97A10E3A3426C06D80DB02A6FC6B1C44980E023E082001F001C6ED875B2637A1FBAE19EA760CAEF79FDB00B70508088080F3082001705E4CA57974D6904EC423BF21EE24C0B1E736000101107026012400CE8CAB34AFF809B05D6AA2347D50A407018E397A80F48815AC04816009200108969C4BCA454786D1337F3F8362A2C25CE231DCE45873CC39F610100001E7124002E0DCD84AF38C9F061FB9692406824923AAAE221EECC7B146AF8FBA31826520208B00120059241DAEE7D401EDE8860BFB39DC4BB8C731E658434000049C4F000980F3632CCD43BE399C71724769FAA0482D021C5B24796AC504D68080990490009849D761BABDDDC323A84F97960EF30CEE704C1FB909F3FDD11240C04D049000B829DA127C8D086B4CCFDD399ADAA7616680049C4AA8E058724C39B610100001F7104002E09E584BF334BE4904BD72DF182C10238DA87D8A78911F8E25C714020220E02E024800DC156F69DEB6486A42FF7DE01CEC0E278DA8F58A92E2A33D31E45842400004DC47000980FB622ECDE3362D13C40D640C25C4464AD30945D610E09871EC3886101000017712C06E80EE8CBB54AF376EDF4BD73D32850AC456B910F509248BED8FB9F7A643EBA6EA1B0B0B4100044C238004C034B4EE529CB3AB446C213C95F2F24BDDE5B866DEA6A6C489AD7DC7507A8B78CD2C87B9200002B2092001904DD4C5FAB807E0E627BFA1359BF7B89882BAAE776DD78C5EBCFB2CE21E0008088000082001401B904AE0404515DDFBC20C9AB170B354BD50668CC0C8FEEDE8F15B46525404D6F7374612A541C039049000382796CA785273F830BDF6F9627AF5F34524BE426C24C08B37F1EA7ED75F782285F02F1010000110F88D0012003405D308CC5AB295EE7B710695965598560714FB26101713418FDD3C9286F5CDF07D11CE800008B896001200D786DE1AC777ECD947773E3B9D5666EFB6A642D4E221D0A363739A78FB286AD52C164440000440A04E024800EAC4828332091CAAAEA1973F5D486F7E9945FC7A00621E01EEE6BFFABC4CBAE9A2FE14DA18CB7C98471A9A41407F024800F48FA1361E2C59BB83EE7F6926A60A9A14319EE2F7E85F4650DF2EAD4CAA016A4100049C4400098093A2A9812F6507AAE83F1FCCA3CF7E5885018292E2C563FBC69DD69DEE183F8862A230CA5F1256A80101C7134002E0F810ABE960D6BA9DF4E81BB3293BA7504D0335B1AA637A12DD7FED50CA3C015B346B1232980902CA104002A04C28DC6748B5181BF0E90FABE995CF1651F1BE83EE0360C0635ECBFFC671FDE8A2D3BA5163BCEB3740124541C0BD049000B837F6CA78BE4F4C137C6B4A167D306D25F1424210DF0478219FF1A37BD084733229564CF3838000088040B0049000044B0EE5A413282C29A7B7BECAF2F40A1CAC38245DBFCE0A2323423D4FFB13CECDC416CC3A0712B683804204900028140C98E225B0B7E400BD3F6D057D327D1571EF809B859FF22F1ED59D2E1FDD939AC647B919057C070110904C00098064A050278F00CF18983C730D7DF0ED4AD74D1DE4297DE3CFEC41E78FE88A91FDF29A14348100081C430009C03130F0554D02353587899715E61E81792BB63B76FA204FE71BD4B3B5E7899F97EF0D09C1DAFD6AB648580502CE208004C01971748D17BCB4F0F77337D2B773B369DD960247F87D42DB643AF3A48E74FA491DB074AF23220A2740400F024800F48813ACAC83405E7E29FD929543B3976EA545AB775045A51E030723C243A95FB75634B44F060DC94C27EEEE878000088080D5049000584D1CF59942806FFECB37ECA685ABF368D1AA3C5AB56937551DAA31A5AE409586858650F7F6CDA95FF754EADF2D957A756A4E9C044040000440C04E024800ECA48FBA4D23C0D308576EDC4D2BC42E84EBB716D0866D85B4756731F178023385DFDB67B44CA04E6D92C427D973B3EFD1A139F1343E0808800008A8440009804AD1802DA612E01E819D620C41AE7875C0AF0FF853505C4EE5070F894F25F1AC83F28355E267E5EF3FD9A098A8708A8E0C3BE66798F89D8F85527242B4A70B9FBBF1D3C4A7A5D87E979FF82120000220A03A012400AA4708F681000880000880800904F0A8620254A80401100001100001D5092001503D42B00F044000044000044C208004C004A8500902200002200002AA134002A07A84601F0880000880000898400009800950A112044000044000045427800440F508C13E10000110000110308100120013A0422508800008800008A84E000980EA11827D2000022000022060020124002640854A10000110000110509D001200D52304FB40000440000440C0040248004C800A9520000220000220A03A012400AA4708F68100088000088080090490009800152A410004400004404075024800548F10EC03011000011000011308200130012A548200088000088080EA049000A81E21D8070220000220000226104002600254A80401100001100001D5092001503D42B00F044000044000044C208004C004A8500902200002200002AA134002A07A84601F0880000880000898400009800950A112044000044000045427800440F508C13E10000110000110308100120013A0422508800008800008A84E000980EA11827D2000022000022060020124002640854A10000110000110509D001200D52304FB40000440000440C0040248004C800A9520000220000220A03A012400AA4708F68100088000088080090490009800152A410004400004404075024800548F10EC03011000011000011308200130012A548200088000088080EA049000A81E21D8070220000220000226104002600254A80401100001100001D509FC3F10D2C24B353878FC0000000049454E44AE426082), +(32,'image/png','img',0x89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C000007A356689B7E0000076F494441547801EC9D6D6C144518C7FFD75E0B050A7D510A12A085426D79B30852482136A280067C25821004A321F1250A1F2082444523C128E0075F30484A82814463A41F2C82A202818A48A105110101510A065A0A0D5268A9CF5E7B50A673B37B74676F7BFB6CD2DCCDECEC33CFFC9FDFCEEECDEE4C7D0DB48137564093023E064C93B26C36A00003C62068558001D32A2F1B67C09801AD0A30605AE565E30C1833A05501064CABBC6C9C016306B42AC0806995978D3360CC8056051830ADF2B271068C19D0AA0003A6555E36CE8031035A1560C0B4CACBC66F19B08AEA5A94FC7501C72AFF43F5E57A56320A15C849EB88C943BA22C677EB8D0B1BB07397EAF06861397656D4A0AE9EDE55BC7A0DA8A33FDEA24F01032C0AF1DDE99DB162523FE4677409BB8D6101B6FF740D062DFF15B8C23D56D84AB7F103E212E3B1726226660DEF16564B2C03B6F98F2A3CF0E95EC0E8B578F3A602FE182CBAAF37168FCFB0DC7E4B809D3A7F053D96ECA09E8B2F8596958DD682F13158FB6436A60D4DB3D4424B80F9E66E095C8B2D59E442D1AF405C0C8A660EC4C49CDB4CDB6A0AD8C2E23FF1CEE6E30C98A9941E2BD0310E0D6F8F366DB42960BEF93FF14DBDA98C5E2CE0C35B0F65E0B5B1E9CAC62B012BDC7D1AB3D61FE41B7BA5841EDE4903640DEF172805500236E6E3526CA35F8FBCB102520562A917A35F94AA5E4C09986F1E5D1EAFF29897545CCE0C28D0E3F604FCBD60644835420256535B8FC4055B816B2DC7BD46F64DC2D8CCA490467947F428F0FDD16AEC38A2B88AD12FCACA37F291DCC12F6D7448C0CAE851D09065BBA58F81168D4BA7C1B63E52839C195D0ABCFEED312CDE782C74A33AFAB169C640DCDF3F455A2624601BF69FC5236BF6336052D9BC93690A587B3FD63CDE1F3386C91F2185046CF9D69398FBF561E9F817F7600CD875056263B094862BE615F4BE9ED5FC4B48C054E43260CD258CEEEF2A0E822D57F1C0800555E24FA9020C985416CEB44B0106CC2E25D98E5401064C2A0B67DAA500036697926C47AA000326958533ED528001B34B49B62355800193CAC2997629C0803553F2F4852B283E5489E33457B32D6EE92909989095826E9DE35DE33E03D6148AB2533518BFBA1C155597A56F80B826622A47E805BEB49476D8346B3006DFD14955D2B17D0C18497D82A0CA5CF60BEA6AAE3A26BCCE8AFC9DE27178CE30A4A7B4D7598D25DB0C18C93498E02A3F79D192606DA5D0A09E89289B3B3CE2EE7A1E30E3BDB57B57ED4355656DC48361A703A9C9EDB1E539BA54768FECA5D2F380151D388B87D7FE065CAEB333BE91B745EF596D989E834903CCE71EEA74D6F38005DE5B2B3A127D339FFC3E2CA3B520E68CE9A9931F53DB9E074C26405B9C33207BF75DF59E952919361590E92B9A56F9D9E6DF079309A06AB0288E5BD26E6D87CC2F513395DE0C98A85684D2B240AA02E7949B32BFC4BA557E3260A25A61A48D197DEB4ACF845C69E6F33D67303537ADC50A81B27C592055810BC3CD561595F9251A54F9C980896A85919EB0AA0C1B7F3F07C4C5A261C9989B8EF4BD4A734A69D2F2F8AC5414D37043700BE68FBB33151B9FBD912F0BA42A70417BBA3F657E8975AAFC64C044B52CA68B0F9EC383C6F0C8257A7A408F78A6E476C5BAE90302474F5D7B00EBF7FC4B33B2A88BEB10876F68B86142762A02F9A5946F747DCDF28D8364815405CEA29BAD2E26F34B34AAF2930113D5B2985E430BC3CC5C470BC334CD7C4F4E6E87EDB3EF0A1C9DBF722FAAAA9A067E09BEC2A9D9184E23F337E5FB28FFA96C3CDD349F50164855E02CBAD9EA6232BF44A32A3F1930512D8BE9777F3881F945476F942690564ECE0AA4677F79E8A671B9A593FA2229210EB3BFA0FC664B3118F9C1F984B240AA0277A362BDDF647E8935AAFC64C044B52CA63FD87612AF7C451393831BAD345338A5B147F2CDA11521831BADDDF0D91359882500670A4B61AD78AC1F5E1EDD38902A0BA42A7041F3BA3F657E8975AAFC64C044B52CA67FA6FF1190F7E19EC6756BE9263FAF5722B63F9F1B00C93011808CA0CB4B4FC2CE1773514F3D57FE47A581FF2D1058FA9DD63A2D79612846F4EA1CA851164855E02CBAD9EA6232BF44A32A3F193051AD30D206642527AA91D8CE8F67EEE9DEE248E33E6D3A2D966BF45EC16DF5AE0A5CACAD435EEF2ED7E132F6C902A90A5CD09EEE4F995F629D2A3F193051AD08A565815405CE2937657E8975ABFC64C044B522949605521538A7DC94F925D6ADF2332A011B9599DCE616C8FBEEC8F9160BBDA902270659579A01335B204D97F20ED865C01C10D9AC0A2B6798990DB7EE67C05C1019064C6F10ACE8AB3A11A2F21E4CAFE4CE595705CE292F1830BE07D3CA1A03C68031603A15B07286E9AC5FA76DBE440AEA1AC1B6737B735C86A9392F01E6567D5527826D37F93F1EAD42C127FBA4EBEA9B5212A2C0883E492879696888BD8DD95E01CCCDFA3A029811EE9CF776E1E03F354A20C2DA496F1C9C5A380ADD15ABCD78053037EBEB186081B36C55B97DB3ACE975977905BD68A1FFBE21B9F412606ED5D731C0B49C6534855E9C50D19C362F01E6567D1D05CCF6B32CC18FA269399818628D06AF01E6467D1D054CC759A6BAD9F71A606ED4D771C06C3FCB1437FB5E04CC6DFAAA00FB1F0000FFFF7B54B6A2000005E049444154ED9D5B6C154518C7FFA717900A481195D0045A2C3416B1891A54404C4D11944B08D1F88091604C8C3E9208B1413445D368BC909848303E582F894F463104B0A446088D18D48055A442AB6885187A114FC0DEA8B3C41328672F33D3D9617BE63F2F7B76F7FBBED9F97FBF333BD933673635240A7CCA0B7BDA51B7BBDDE70CF0FC9252D42D9DE97B2E73B0F2B56F70B4239DD91DD9363F850DD5D3F1CAB29BB3E2845D6796F1283B10A67392F40DBBCE545C80DDFDD67738D8D6632EA5D71460A87E51563C57014B92BED6013B75B60FD35E6E06FA2E6401A17D605C0176ACA9C48A395386857011B0A4E96B1DB08D3B4FE0D52F4F0283BE77DF618048EF08C09A9E988BEAF2E2612E2E0296347DAD03967A6E1FF0EFC0301046BA53316D3C7E7E765E561817014B9ABE5601FBFCC73358F9D14FC079838005F45E1E6DAE0196447DAD02667CF029200AEABD5C042C89FA5A032CAEC1A7DFD8CB83CB2B2EF56049D5D71A60710C3EC37A2FD7004BAABED600333EF80C197B5DECBE1CEBC192AAAF15C02E0E3E1B5A807E73CFBEA27A2F977AB024EB6B05302FD99B77B7791B6325EAE728AF2297C66049D5D71A60C6C85208E412600AB2183395D197801993DB6EA0B0C4D9BA12021632EBC35612E2AA8780C5A5AC425C996F9842B8449912B004A48380C59B04197DC3BE08B1CD078BB7D997A2CB0870C97A747D0A4B9CAD96C8E81B769D04CC56A634EA094B9C46382D1702C641BE1638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A265E73C60DB9A3BF0CCA7BF18FDBB9C56264C3B15E6E1ED55B3F0F4FC12D39195E2390FD8C1936771DFBB47D0FB4F9F927049372E9A30064D4FDE86BBA64FBCAA97EA3C609EFA93EB0EA0BBBBF7AA26C274E5C5C563D1B57981E9B0CAF1089890ECFD43A7B1F69356B34B4629A7C2A0835832E183D5B3F1D89D530D06D50B45C0FED76DF1F6C3D87BBC1B1830B774815E4A46E85590871AB18A63E35355230C64C69D805DA6E3723116DB79AC53406670E9CECBE2C7FEB12085872AAEC74E31F64A4A2160576462CFB12E1C6837B8BAF515F1E3DC5D5036094B2A26C75985726C02A62C191D541420602A6AD156590102A62C191D541420602A6AD156590102A62C191D541420602A6AD156590102A62C191D541420602A6AD156590102A62C191D5414880DB037F7FD8EF5DE3C2B9F5F5D92B0AC908A48B4D5572012B0FC3CF1A2D832F1C2D819BE9504AE0FF659CB19ACF2D6BDF7F9F19880F96A99930723011B9B8F86872BF078C0CC8F40C08E9C4AA3EA8D43042C27B1916F5424604585F862EDAD583C7BF87B3C3335040296EE1DC4845AF1DEC70BD9F7C8F9623A494DF9A44C0C6E735881BDC77BD0EC4D830A2A626A77D78B0B515C54E06B110898679DDAF09598EB3EE8EBC88354C053A0E48671F8A3F69E403142015BB4ED7BEC6F0DA137302C4F38A1407E0A5B969661534D69607343017B4F4C455EF7F151B3EFDE0EBC149E18750AE4A530F47A75E8658702E679A6368ADB641F6F93A12A3A7952F45ECB4A45EF5516DAFA48C06A77B5A1BEF157DFE761A1917932B715B8B610432FDD1BD9C648C0BC08A9F54D042C524A870CC6E461877834B1A2724A64A3A500FBB3A70F25F5CDE25639CAFFB11329070D221510707DF8E82D5873FB4D91A69E8114609E61636B171E78E73007FC9E18AE16F1AFA74DF7CFC09607674A2B200D9817B1E5741A73B77E0B8887B02C6E2950289632D8BEBC1CEBE6A9FD195809304FD2CE730358DDF003F677A43134289EF27B0F62BD2D4BEE2990124D12A9BDA37422B6AE9C858565D729B75119B04C0D7FA5FBF1F56F7FE344E779749FEBCF1CE63687149833753C1EA9BA11E2719776D1064CBB463A3AA50001732ADDF61B4BC0EC6BEE548D04CCA974DB6F2C01B3AFB953351230A7D26DBFB104CCBEE64ED548C09C4AB7FDC61230FB9A3B552301732ADDF61B4BC0EC6BEE548D04CCA974DB6FEC7F5FD2AFDE7522584C0000000049454E44AE426082), +(33,'image/png','file',0x89504E470D0A1A0A0000000D49484452000000800000007D08060000006A326B0C000000017352474200AECE1CE900001C7D494441547801ED5D099C14C5D57FD533D33D4B0C41A306A249480415D1A046A3C1DD65B90534F136422E35F1483C123F0FD85D22C22E8826DE62F48B8931E20F91EFC388BA8A2E2CBB4B5063C41304E391080A82891732D333D3957FCDEEC07455CFD13DE7CE6EFD7EBBD3F5EA7A55EFDFAF5E9DCDA882DDE98BB9EFBD8D91A944FC2C467C2871369813F7A7A8F2FB8CE875626CB54FD76F6CBB926D4911AFA2C8A87365BADAF9E16156842F234E07B8AD212316621A9FDEDE10BCD96DDA9E16BF220150D3CC07711E5E03E17FCDB34018E31AD10FDB1B8D859EF3E8010951C70A743C3C3B27E18B26E19C599C169C7E03AFAAC016DA55A5CA0400D1B85D35CCE981F7DFFA59F4E89CB228F3C4A90CA232673B3D7B7879F7C52B6C8BA4917681E50F3C196414B505C0634589995A642059D603B2E6E064ED23C7AF247F4502C051403A6FEFBC8ABDE918D645FC677553781B80E3DD6E489379B906556A1790B7F6669AA44AF296737964D40780643970AAC851517215E5E73E00C82DD2CBFC7D00481238C30C5092B7EB91F3AF9F7827EFA7D02B84D0E38D40219C8FB7478FB1C83A962C3A96337E0CC6F079139865D16FFEF3BE795DCD9CF0068C2BD66A1A7FDEE7A747565E15DC500918E8910038EF4E1E58F7417822B3D85408E77BB0DC770BDC3EFA7327A3943600D790ED3064360C80986A99F41B8C185E81BE5812F0D19295D38D57DD15543EB10B0E80599C6BCFDC4A7BB45CC23ECEA5DA1C83FBDA79D191C463D3D66F33CF806DFE452CECE492656E69393F14C51F1AB16816C0F01A325BA273FD9E1533D91B5E3316C0BEF33C8A324C437BCDC36D3AB5CF739B438AF8754DE6B151E23F43554E81A006A07BFD10EFD1C2A0CF68786A3AFB284532852C56F4B66E8CFC0013328D9CD310254296044D6787B45F65AC4F171D825C8BEEE3F07471D285417031842F667E9AD73EDD78395DDCE4B0DAA6F03448FC4AD4EF5008C442D8720C3F178EA9D717CD624CF80BE6F20E00F1C6B7369B57A3328D50CD8A910920BCCE983EB6BD91BD93AE5689A55CC6F94C006868BAB84E6130E8DE81467F1A157C01E11B06F6D31F7BF032B6D3296E8256378F0FE65674A865F1215CB34630CE8E80600E0328DCAD07E00D06F097711F9BDB59AF3F93C85FFE8D6BB5E6F02D68AB8BE430E1471D5AAB0C63EAF22BD8FB4EE1F9A0E51500109ABE6583F97F10D809699963F4A646469D1308048056349B67A1E17F8D063A306D3EDD8100551465AEC11BB8066FCE33864F7FFAC9ABD8BBD9A4CD14470071FB9BE6C1D1181D0120C0C0A493C0DBFE99D225C221C41544DA8C8E46FDD9044DFC760B7F01847F41325D7966B4D9AFB1716DF586E866F2EEF20680B8F0379AFF8F8A4DC98A4B0710D43487BF8906F9135A272B350C81FF156FF9427F30B0B8ED72B63DAB72738C240437BA39720C10771AB4F3A9E07770E62C61AE12BB79C0BE81C665E7B3CFB2167E77C610D2169F8F8D2E0408F2028049B770E3D38FF1E6672BFC448B7583403B8EDEB3569BD3B1FC3A13EF869E0876FE651BF056DDEBF3E9F7B7CD606F3BC7291E15B6CE5118829E0D5C9C032D144C5732F87E8B71DF059CC54ECEF8E64B19150A043903202EFC8FF0E6139F2CF11CF76A8C1670C63AA03AEF01400C250E4080DEEEDF78EB8F52C2920878DBD781D9D9AB1AF4C57886162E2F37B6997FC9E4E66560EC42D4E5F35EB843BDFE8C8E7F0559FC56B4E71E721E8500414E00A85BC9FDB14EF32FA9840FB537A763A6F16B5191DAB9A1C9DC62A28B504120D734D9CF98E8FB668F6BD01F28B4459C5CACD7E7BA1BF980D867E6C500FCA5A8EB17B3CD47087F6C83FE1351C79AB991E328663D9E0A04DC47A33AEB831BB3CD3B5DBC9C0050D314BE1E95BCDCA90054687647A3717572D8A8E6D0248BB3A5598180D156E471F9D87AFDFE9E20F8E47A8A6768C6FE9F7E12BE165DC305D00869DB3959F8897C0408B865B5386913BC58EBAB82FAD1181DEC48C4F7FA9B96B1749956CF891C4F146B718AE324FC44BC6C40800A2ED27DFA45ADF5EC8344BA9EFA3B6A6EA4C6B2ACDF03F48E231A27E127EA9A16048CFD112FD83989B85E7F3D03A0A629D402430620B0BB74C24FC44C05021849DB48633FEFA8379624E256C26FDD1F7930B6C9145DE11550EB49B3AFECDE718DFAD9E9345C2A10E02589924FFF72473DC32616EF4E99A8C926AB9AB91CDBA4D878392E63DA0DB2DA97E308FFAA86608BC6F8C9004B785738634B31E97168A5095FD4AFED6C16822D54CFFCECDB68B7EE45A4CCC217693BEA03ABB19DED04622C22FC092780C4ADC8E909BFD75F4F00E014F906549ACF56687CF62B709B8D96C69300012AF60980737167A3714A2167BCD2B052B4A0F619FADA7E41FD5BC4B45F647AF393996A6F0CB4E360CB9A649A7886BD78B04C73EBF7D40554CFE3DFA068D861D10363744D1FDDD1C0DECB9611612CE5BA50946D593D355E4D937923E7D62F65FEA141AF86C69D2DD3DDF83D6980CE19EC4D14FE925A103F885BE64A7130430D73A6F409DFB95D12D454C217E13EC61E4EC4F3FAEB0900A2304DD32E90FBA52E26DC83C02BF3959E2E9DF049A3DBDB1A74B1D09593F30C8055F581353002CEEC03414EED9F32715AE133F6A07FA4A1740929334B13E0190022CF558DC6D27420206EB6B9E90ED2F0D9AB82D20A9FD862FF71FAD4B6D11806E6C1793202E5726BE6864FE2162DC6AC55400E83ADB091985EE7C63094F3E84DFEEA39E64DD81372A9739D21FC6A7D5ABE842FCAC849032498C4D8FD21ACC39FE1D41DC467C02CB355AC1B24E2F7FDA66E018CA6073886327A23DFC217E5E40500222301022CE5AE12CF0E6E493E51EB907FC590B073E942C71116EE3988AD314FCA7745F30680514DE193B102364E66107DCCEA8107E9D7C8F43EBF730BC4B7AD31FA21A6794C2586C51774CDC22A219E097901805802B588DF2E73012487FD3A9DFBE019F1CD9272709F3F450B7434182F4137CF9683B1F6B20F59E61D323D177F5E0010DD61FE16CCA9933F8CAEA9940314B934B297B4FE91FA7CD854CFC96961539D3AAA2974A24CF7EACF1900A3AF0D0F47E1672B0C30F6826FA47EBD42EF2364D502C2668261FD63A145E50416B15932CDAB3F67004422542F6F78104B959A8F9DD367F879154B573A18D6EBB095C4B6A94684400B1C891D56DFCD2DF7AED4390100FBE887600DFF4C8511C66E132B5F0ABD8FE0BA05060DD56F44A27FC909B1BD4E01861C271B7F4E0088C6CC19F2B230DEFE904F0FCCCFA6F0BE38995B0006B489E5F279724CA105F2610B7806C0B86BF957C114862B7687E35F77F7964B16ED352F9C6FE081813F40D3BE239710E3B96B010CD3BD396C09BB1596FF45B6D4D8B512F4EB4370F64F5159B67845F2841EA303D070DF46256D670DD0AF7E08FA26CC5BBF4313681B9EB19BBBBC1DD6072EC09E008721A06F7CE7CCC0535EB9F7343D1B3F9EBDCD9C0673442A97DF5B2EC2375BE8C73868F27B1CE74E59C718B8672DF4F1CE47E96180E40163300E650E27750246AA6529BC420B6CD918AEC74BF795E4F2B12B0857E192670078EA025EFB203C1EA6E89EC98C60CCCAFD3EE35A1BAD441E34128B71BA01BF29859F600D71FAE319A78F6959F86DDA1A7E0CA7745FB56B8C44DC52FE0A5B003C62A14871A788C3390A354B8227005831A65AFEC457E3A8D63FB22CB7B0D1D651006FB410AC2B87061E00AD313FFC4F7A15DD47DE265B5C3191267255C058049D6525478131F8051CCB53766727C749F7EC1A00E21028FA4CDCCA6177B85977B19D523A9F50E310A6E7ADE5D00A43F0F73040F01BFC7AB693F2DD02F113CF8CB73BE47B96032D2B926B00BCBF313C51A0CE9E3B50A9053C37B83DAFFCF88203E81C9C4BBC1A605D8EBF36DB9FB83380D1BF339504E1FF4FB8851EE42B2998296EB1C235AE410BD81DF83C71C2F5FC73766A76BE8C7DA49C0DA621A1FEF17E253918D11DE5B6E1838DA49D607176129BCA2304BB773844A762338B30A46A950820A0714F0D7F467B21EE04365ABD66D6294D2169015F608919336FB31F30E1FD4261F30494FB80DBB25D6B0034C918B910CECA47FDCBBCA5F343A0DB8393E8CEAA29340AAB6FE3A0EBD73BC507DC470304BF750A2B364D1C97C330F649B55CEE0860359E9DE20A00E3E7F32FE38D5056FD340A2CB367DBF37C5593A8D5F8128D4057F13B27EE01824BCCC7D5892FA7B885A6E1029A16B90C9C3F3D5AA665E377058050C4540BC1295EA7AB5EB229BCDCE2B0A328129C4C176A1ACD70E20D730A77F0A7E84B4E61C5A4F918FD4D2E0F001D210C74999EC9EF0A002844B9C401685498C95468B9871B93E85A2CC5DE20F309EDF7B97044DC625262B75FE085F8E1501B1B5CDFB631F24D1B290BCFAE21CE9826BE5F84C2D331CE1C897E7E2FE7B46C1F8C00ECD6A6C666753618D738C7EFB954187DFEF04E7A1242AF4BAE05BA8808A6890E0E8E13379B94CEE1E6D2E761081E2171F02EE4F789448B7B01982D7EDD3A7FD495C6EBB3307D9888131F05884D1D914818375288DBAFF03FA553C33002782E65F41E1C202CFED0723A0FBBEFD70104BB464B780EE09CEE65A8DA45A5AC1EEEA1FB1B442503E0CBA9E407C3B17FC4A4D79E6A0EFF735473E467AB1A0271435213F3FAD1286FE912BEFB2AE964542400444B0427E033729CEE965B05C3C69300845DDA530E2F861F136FAEDA1DF72D76F18B0F69E1C28AC7C4E594824F6DFDF6C83454C6B6C0906D05A00EB7B536B0ADD9C6EF91F10CBACE81EFFD228FABF69043BC82917038DFE1706EEAE2927577FC6E01A2DB71CA7B4F7C0FC3FA7EEA64E943F012BC913E46CF0F157D3D80AE34760CB36FA5AC9D410157EB2EB2BA12B3B95AD4BC54F46D07C815C130E872E2BE8CD6BDCF6F7D20A72D949F3F495F352374A4E5A317AB26D25B852AC7295F68C88741B759D868D0614E718B45131342E8CB27A03B92659B82053E0CF72DDB5613A109EAFC788BBF261B0E7ECB7828975BAF5370E0998CF9F8D3C326DD0735A6E38441041332E7EAC7D39F3D67E832215E88759803B03980020657695DC290CB868BDAA6C8A7B27D8FF61C862E403DD0A90530D429238725DA1B84F0054B68F840CCA29BF09B25F273AF083E1680E195DDA15B283900EC1CA5F7E97EFF268718FBBA9A0872C8A0E024081AF74949D3CF9CF6C21E184F86AB17860140A795C3BDBCE4556E69CA1E0078D3D0FEB4596EB8A84583655AA1FC9646F810A5E2DE57283D9050F60088B72953F7C547A37460B1DA1B73EF8ABA876652BA8562F193CF727A0600489D768566C8F98EBC6C1B1206E0B794B8AC0F004A9B148A00234C0CC3EC0E47D1792BED672716CCA76C81C39BB3B660A5153163D40357B54B0E232DFB8E5F29BCD85E9DD12330F93F4C2E177681160EABE7E692E3E4E3D97C828E81BA1F2CE705DA4332AD9CFD2633ED8B786016074F77307C28098B0AF25DFDEC45ECF2CE78D92346622FE0864FC7B5F37C37063668DE8546FF5972BEE806F0591EAA0D4CA2CE647A3E9F51EE72943B3E394F80717D700A1D924C2BE5735DB379788C5BE766E0416C74B5EF1EC6096ECC04F2E791505AE7E723107944860CC551802188531400301FD6E7A3F4E3C47C80E00D3C8AFDFF7FC0D2ED48ACDE6DCFC4AFDBF0500B4DC44C9B4DF8220FEC1570BDF7CE6DD96EE2C7C81A8DB670BF3AC9E9254D0BB09B8424DD14B82B2E6783BDEC42D995DEC58331915EC337C8947D79607C686827B5F04EFABC8BEC324615F605847F8F1291D107BADFF1808612B58884A15ECAD2FCEC262DFE2D3DC61778C940AC2ABDF746E4302F69BDA4097E81E640EDBFADA4E57454E8237A943F862B54F2E0A051F6C0D4F35F90D540393B94DF8C7BD23F92E925F573A68E523232C4EE1547F8E3C3C0CE86E0451AB166283769C63B632ED0C1A4EE13CC9CCC530CEC55DAE9F3895B3328EC90414D88D3DAC863749C4358D624FE047D053B81FE8AB75F6954F4FDAF1B9C3CBD2C5933E032A2D8CF812419BBEBE46CC5779C061DA49F2368A8D36E57379FEF1F8B99C762EF80E33427E3D699E86BC6EC4E812746777736067F6AA315D8137E147BF9F1854EFCC5019C5C1CC01185FF76C34773D94472355B27169D30E6BF05E9D5371F9F47D174AAD6C7D3D3C9E595FAB97A9EF92D8A5AB6CD21F1FD824CEAA6A0AE49E3DBB8A6ADE89CA1FF3DC1B70D000962AADFEA66F33CB2AC3BEDE1ECC5CE99C6E1765AE17D30D0CEC35B2AF1B2BB5C006107AABC40F3D122AC1C0A43D7D1A1DB30C2B0F2B15F663AE2A7D51E68AC178C7E34BE1006A7237359101D8F8DC3BAC7E84CDE2EE6981B4601D93B34C07378EB6C0EB4E1E29328E2AB18B680027B70A0E3AE9D2D64A2D35A009EAAE4E2A0A9C4B8F78A588CAEC0F1EF7F4153B5C1BF09C0D80C41FBF08CFD8F7400FA92F148DF1FB48C0E510EC7019195E826C6BAD52E1933F71C81E32B247687D171C6BD1C8914AE00306CEFC0CBF8727718BB49761D471686206D8A1E8B0CDB129916EB178739EE81DA7E1E9F5B5E02E1A4B384BF0A01FF48F0056064ED001654D5DE4D22F9A1E128B5C1501C034DB025EBCC0A159153B59235D39E556829084A1F9A225E9C7CD7F9D80FCBE31F63B645B358AC68F3F2B682E1C11EFE970C4647C1B0F903B4514C0EF7EA87F05FC278BF11792A863140300C86E2AA224E453B56434C00E10574003E2F0C0004176818650A14EBB5A7613E40A8D5923836993E3626D3B9F86CFBA160005F16CD46A1A76095D17B302D7F0A601D611C0F4392D18F9C8005CD7020A6A25789AD6A29722A38396AF1EFCB8580DFB7E2378DCA0129FCAE3480C8C3F2E98B1DF2DA77EB86E828077A514962B208073DCFC4ACE13721C479688C57B36100F1A2F86BC5DFCF833E1A8AAEE56E3CC7DF7C006B21F29B2AE2C879010407E0A4D0AA9D4FD0D7E5B042FBD137C1D85701409C29C7C7D3F10270BB778EEB078CEEC270F07CF7B9153605E6F20F80A046A394FD2144B1AE2F5610853037A3F29BD1C3BFA9077087C038FA00B4940EB6C629C86711FEC4B8DBEE708317BA8B31C1E3E91FF680C2F9F041CAEFC462B1BFCA25308D8D70A3013C01A0A63974058660D725178E8CB6FBAA8D41957C3B28C074223A176170EAC9758F3F637F00003606A3930D4A5801084E1F96C0EADE3A7C456CB89BE25C770122F30037946E008DB2777475E42C3785F7B4B83839BC0C03C8EF41D0EA9017BB84F152B4E192A9438A512FFF1E8159D03A978197DD5A87912BF52FF8F4A401444274036B304812C3BFDD0E5FFAC657BE87CF4A3A7CB83BB0729E428FE3BB08317A18A057E61FD0A2DB302219274627C5A8B1B0056AE746276082EE229F5FFF95DB8BBA3C030067CBCEB4385711C7D81998857AB018952F65199884AAC31AEA23B009C48493DD61C51043A2F1FAE4F2DF35E4A90B10B51DD3A03F883E67A3BDE6F0716A50681548C048A10D9B518EC71BA41EC7E6F4450C8D5B715965D116CABC36B16700C4D53C63F3D482F9887C5C62ACE65B7E14B11309EA7E02FA61657918DDC39E00C1539116FA4EF971BE9B23CF001059F84606EE43E5DFDE9D5DD793C55973F732A51C54717EA8F9A7B169555C30F51FB972E81EFAE314D31338495C2387958B3F2700740DF9B4F97265303D79D8FAEDE674995EA97E7D0A3D87E3746360002A7309D0049F07085A763E1E9F8B28BB26C80900A2367BF40FFC11E8DF24D70C43A2467C50B2284322B9EC52F8F509F40234C16880E07DB97C612862E3CCA3A147D5FD8572DC62FB730600BEFE1DC654E92F54C67163558C7E3F8B63275F2F71C6147A199AA00ED5555609E3434686EB675B68723935475E84D35E1FC475EBEA1C34BA82EFAC981BBEB89C2A5C685E8CF1B41E1A7114CAD92C97054D10C40AC35280E0BB7258A9FC7901409C799F7E0986854A1F68596C6EEDFCF0B05255B014E5E2CCC04618C70204FF92CB8726D0C574B2D8D6268795C29F37000C1C42FFC61BEF705C8AF7E3263D90CB9DF6A568985CCBC4B4F11B58911C056DF0969C173441006B798B306D7CA61C566C7F5E0020F6026CD960DE07648F73AA00BE23D42E6C05A7B04AA661B2E86DC30F1024CFD777571820F0E36F2156197F50CA36C8190071E16F3417E2ED573627888AA1F2B7896DE7A5AC6429CBC6DEC177BA41A0AC12A23BF061B4F427EC593CBB543C42437977E293F0D14E7321E67FCF70CA05AB55B77634042F710AEB6D34EC211C886D64AD78EB95A1315E12B1F3F042717379B1DBC5B30610AB50E984AF31ED963EE1EF16A7D8408A9DB47510F6CBBBA95D4F008580C01DD86F50744DE91900B5CDE68C546F3ECE6BDCDCDEA85F2A57B4B7FBB177719BA1D368804031960508F0772B8688BF2A663B79EA02C43980D866730BB4C0175466B59B3B67EABF54E97D94440BF00EDA33F4093D81B7DE71B5100B4CD3B1175199624FA4CFE7AF370DF06EE46027E1E313A737B911BE30206BE698177BFDDE4D3E1BA29879B11AFA4F30806961466B9CCAC52AE2B51822CE740ACB37CD130030F50B0356723862CE02FC2E899AD2DB3D7AF8136EAFBCE5B390F94C6F9B2C12278C83FD692240D0E9D44800C1EC628C0E3C0160EF6F045E01E35B6D8CC328B44C5A5A771D1F68A33B7876099FF3695DC17C38268B9EAF6D0A5DDE9BD60E58357D826DE86253C94A8766421353C147509E0080AF58C634D21E5099E607454D73653A10A8C2EF8600F120507F7D6BB3D9517B5DC8E1B48B5A5A2550304FB0C3D893A6C0307C52AE0F660B23322DDF7E4F00104C048D40337EDE5518E2FCE0542010C27F6F83792FEC87EE375F492D0EE38DB44CF6626D73E8523C7B3252D55CCB9B22EE3D30AAE8BB00C123094E51F1188C41871D578918F9F9CDA981EB9A22D5B89C68256601D543A6D821ECD7F5D1894FC927848FA1E3D46C59C7E2D2F3B8CC78D6AAC6E0B26CD3F4E4786228888BB04F86853504C7DC968B3D0685AE4F4E0010CCD534854F05C38B5281A02AA08F1DF075DA2ADE7C37C2B7559CB1E76063CEC2C4D2A3367A9F27E716C819008283F420A0AD28E415A07BAC23B71ADD8EBD044F23FC16E8FF3D1DE37413A1119EC5C2D29C41438C166187A48BDB17965D0BE40500A2A8B42048C50B849F5828AA69E683889BFF8B7E7F4AAAE8BBE8188108231463D1851D8DFAB3BBE8457C38F14EDEEFC36DE62468BFD3B0E6B1B4BD413D2D5544763C17953700080E6AE7864FE13182601C6C0299C524E12707618AF9479C5B4DD0085F49A6A77A86E184A351EC7E2C3BFE05BB945F2AE4D94431611532CD2918AD9C06C103A8BC9FE00B8DB8BA6366B03A158FE54CCF2B004445C599801867F7A171FAA7AA3884765B476330E55631188CFA960D91737118BD1E6FF9FEA9F251E9EC3394FB77D1A5402ACF04487F7A452353B666A9E9544A5CD8E1E808744B47588C1F895340478097E1C85F3D188AE47E8D1DD6D660BCA2E654DE94BC034054B76E1E1F128B9AF74313D8E7BABB2EA46CC6D1B1ACA639C52EA21D1F457E6A316B06DEB8FDBC34252AB81DE936F874E3FB6D57B14DE9F2A8690ECF80E6A9411A71A47C08849DF530B9A72E7D1704008946165798E12ED733203C718BC63B3E8DDDDFD6A0BB1EDA08207CFA51E41C08E46C055489C232FC6A3A3B247E29669A78F81AE7B35EF317FB2187EDA30F8A5FA393A68C720B2A28000A5159314B6845D854DC0E360DC2CA7AC6B01000405713C522EE0A288A25BEAAC0D2B6CB99D0363DCAF97B14B760B6FDCAE0EBF8B946FC8D9A671E6DC508134B7C0CFCC3318228C23D45CC847DD1AA31B6A4AA2AF0D01397A9D7ED83971EE37A1C00925B76D50CFD6FF08B3F12469B198A1E0D7B01379DD21C6887BCD40DAA7D1DDEF25564696B711A786D55FFC0CB95B4C1352F8D942C94523D2FBF82ED40D96DE2AF7A4E581899F9A99B465777D4079720BF8A74595BB91559FBBE4AE1E8429FEBD52DD007805E2D7E87EBD67B797BF4BAEAE7C7502AB766131F94E0149FA74FB0C623FC614CF4ACC3169314AB887C1FC43D12E96C0EA389908D50619E8A0400E6ED37428EC724CBAA7B6A77882C605B1C8740CD5F9C8B1F93F928E67365DA001AFB5D3E1A118B56ADDD134FF9C8AE2CF3A848007434E8F788330A39B538B6B4F5EB67389E79CC29DF324B5C9100106DDCDE10B80CE7137F82F9FAF5AEDA9CB14F90E67AA6E9B53D7D9A379B7AFF17705E3970EC8247060000000049454E44AE426082), +(34,'image/png','file',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000090A494441547801ED5D698C1445147EAF67E730B84A4014348031282A6A4C0C51092C0B22E812F88181F8C398100DC623FA4324888B81B0A81CBF8C1C6AF097312A21E2C1151164F120311ED10449C00349C00006018599D9992E5F8F327457F7ECEC4E976D3DF77532D9AE5755AFBFF9BEAFBB6A7BFA40A8B3DCF19C1A5874BB662A50D311D4B5A07008ADE7EA7493EA041940C493A0E03020EC41476DBC6C4476D3FA5958EE0904ACD568CECB2ABDF778711EB8300F405D54AB9DC4ED630001BFC7949ADBB920B7B91EBA4803B4AE549794F3850D4A414BBD04526F2F030EE0D25DED9985748450B550860C307985EA77A650FC0494BAB9562789F361808E062B762FCCD2513C7A71F4F0997CF115115F67856F99E66B4F8DED28CCACF50D024780968EAE31AE2A7F1AD518113E4274DE48A5E0CB14A44F44B59158F20CB825C0129486039647D390FD047D8646A0F8A5F9E2EC355B1EC7825ED7E40F287017F8CB95F5CAF8818FED6ECFAC0ED549C016060E1290CEBB5F54AFFE71AAF89A52EA1E0DD8B03F4F76DD47B1755A1CAA4340EB2A7521554ED21B90FE6B3F11F1755AAC2CD31E7EAAFFA0CCFD74B43EA003A4A160861EF3CA5503947F2FDD4ACEC9FA1BD1ECB17C617376BE3F26EB7633F0FE4378061017EB2815C2383DE695AB0620F12FD71BD078B2CF73951E97B2DD0CA49CCC9E1042A59AFF39CA07AAAA0670D01D10A8A102CD10F7EB3129DBCFC0CEF9F043144AE7040CD4E35503D0DE1EF88FC06B48878D9A2710F44452B68781CA899F88933F6E2AAC71D500F6C017244932200648926D0BB72506B05094242189019264DBC26D89012C14254948628024D9B6705B62000B45491292182049B62DDC9618C042519284240648926D0BB72506B05094242189019264DBC26D89012C14254948628024D9B6705B62000B45491292182049B62DDC9618C042519284240648926D0BB715B82FC0427C15486A1BF42BBAD016C0E7829B9D0A1B02B16E0A852D30932E7B5B45D7BD5D7CAE1995F37491D4D173E5D0DFBFEB8FD08571BFA003DB32CDB015C7C2E9503BC60116062894613089F5B69F67BAF6BD44E5B43FD6DDBAEB56841FA45DE4982171BBBFF359C10D5E5EE5C203855390CF6F8697B2CDF01C8E83FFC5DD51320474E71AAD8E4C98A3CFDCFC693890DF1ABE89466BCEA228066844260503A00C5BCF6E82071BE96E531F3140836AD05092A2F9C4DAFC1698D2600A2BBAB19803FC9B4CD15C620B89B9326A1B5497A339C270AAF326A053E9F01FB877A2620217DEA449EA489CD2CD64322AB925313100C0915C1BECA8A3C79ACA985FAEDC5D3BCCDF964CD0BFE0C2B3147BCC1FE7B22E43400F95CADD05DB7319B8890E013F86BA28984347814B4371060131402F44C23BE164AA0966D3D0403BFEF985868674DE8569E7237CD6C400BDD42A3D053A49FDB7F46EF418A6BBF51887B218A001951C84F742DD145C198A310888011A1089F6F69FF46E7427F5103DC6A12C066840259A08069EA4E2A5A058B18154FF791731400312941146E9DD682278588F71288B017AA9927732883EDE13B7020BFD5AB837106052E8F327827AAB5361333C427D6E0FF5531113C35023FB027204E885265DDB600C0DF6CB22BA1CCF5E001F46C4AD0FC911A00712A99D902B9C85C5E5123C49E700527A173AFC2FC109747109C3A5CF1B80041D4D177944EDD5741508FD1884308CC49F48E37EE485237456F0DBEC3058CB50FB0A643180821B8909EF13BD90436A2E08C7B259988EA378FE0BE87D2F9903D454B74E05C221FA5D6032DE0107EBB4B4BA5A0CD0803C74D8DF46BF0C8ECE4C866F1AE86E55973E3F04F4540D3AD357A6B69DF4799EAE1F6039E38FFAAE7DDA00B4271FA289DEFB51C454620ECDEC151CA176073369D88193E0B79A6D9956F469039066FB7253E151A6DA19812D73002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24DD267AE076842D85F52F0BA5F2ABACAE73B7FB92FAEB330403605BFD28322670404427003E53A85741BECA226DE47161F032C0C400F60FA9330BFE3C32DAB86189039802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE10EEAA01E891B85157D9B2B868D41017FF9B34AD3B5513287A8B91B6B8E5CAC32E03D1AA0110F168A0A65250A157A384DB48C43606CA9F15AF8FC2E45C01C7F478D50080CE21BD929E9279554B871A1A8A4BC06E065C1CAF03A4A79D1EFB783686DE695035C0E0114D5FD0BBAF4EE91D1514D7E83129DBCB40EB723558815A144688DBC331DFE3E2D7CFC222B9E45DBD91526AEAD8A5F9B59357A87E7A9D94ED6260C2B2FCC852A1F801BDE962808E8CF6F4F57ACC2B07260A2DCBF357AB02EE250785267F648E9FC92F1B69B2F81538EE89A864124B9E81940BE882339C76D4D124E62CD22EA7A340C0AF3BDB33B7D03C2FF4FA8B8001BC8E2D4B0A1D2EA867F42452E6CA00165329A775D782F4E751DFA03A07385739B13DF32C392534149CAB97BFBC1870001FA925BEF74D42065884E85E372833936A5EE6F555056D8001C4B30EE2BD9D0B33EB0271AD101A02FCF5E33BF2D368887981C697C8FF2BFD6D65DD1E06E808BE0133EAE9CE79B9FDF550756B00AFF322A59C1D4B4BB7B9CA9D4E13C16B29E4BD253B34D1F0DAF258304D13A5C0BBFF88842EC2EEBD1286E5423BE849129DDE5DACF6A0CABEDBB9107FEAE917A96B809E26E2D26EDC92C22632409B1F2FA2F3F0EEF60CDB77FFF9BF4B6FD7437380DE2690F6BC191003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F36FAD04DA0B1335A9EC069C245AEAB56FB616653E93EFB02C9BF0033EED62BD3C5C3350000000049454E44AE426082), +(35,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000017AF494441547801ED3D09941445B291D5E71C301C720978012272082A9EC3A58820DE7F0101B9740514715957976306FD4F9941F0603D70451610105050BFA880A8283003A222A2A0B882222C8833F007988199AE3E2A37B2A59AAAACEA9EEAAEEEE9EAA1EBBD7E9519191119191195199995954DA0165D742D34F606609404703350684300EA5302A578DF0104DE75E5C062720D54D5A2269B6E0AEAA6765C9ED5F008B6E4714A213B428B0E0A041E74DD04EF46C039A38A52DE01D0E082670D2CC6277E8811CB1182980426BAFBC1D346F06B3B4ECA3B003EF933D009FE1EADA1041B0C72F585E5D1D2D536FC947600EF87708914806D144088C13047DC045A919BA03C06DA5A43128BE22CD37849823C3DE36337BF0E7FB70A76E8880D1C8AE97FEB087D961760AC0EFC8C02A56C0F403F03B7580547B0FBCF52598CC0521CDFEF0E8EF5A70AE866C8108FC116C4EDA4C205F832A33F5CC9C1CEA8AC3D555BEB13A12D6F7C667417C004A5F159FBD8D4CFF3214C8400AC51B617BDBF33F2203CBE12271E69BA1532BDA5700BF6565D3104CDC6FAF66320FA81AB1F7C170FFE6678A4AC0360F7DF44A7E1FB704C3FAC0307971DBEF204D425681027AC85FA082D5397C42FE75B0BDDC5125880755D207345A7037484020C605F7165C0A3A4179C90CB6AFA9EB231808D40854659141AA3726D1A3802BC229CCDC3834F7ECBC4295F5C03770502B05E697CA50C28EB581CC6B6B0E14C09AFC974CA3A80DD0D7B7945A1A2337D6B60280F67795C11BC8F8723FE41D21E30168CFF453F8466548297D1C811E32C2C6F2F7AA020FE1218E398B20E80DDE6EFF8047FC3371397815FC4276F800C673D02E62761FE411926DFD132AA984086C7E32E06201F1D8C0D2FD55F124CC065EC96D523C61F23651D20A80A02AFF02A4183D7C5F86079D52A3850B51A8AC4D57018F3D3F9279175FFB8183487A78F5B9E401F9E173ADC2E5C8A5E8075FB9565E82882C70FBD95B09A4AA7B403E04ADE3C54EAB76194D51C03ADDC704F21C217396F84AFC3D09A07536DCC61B3C3587C0F710F325FC757808EA18951789C44E453DA01F0490A503BDC81A3AC6EE41F4E61BB2B3BC39F761CD81FAE3C1E7074B0A33C1F0C082760CF340AE157F165D8431DE36135914F6907600ACAB811F6BE7270D6D8FDE245A8F3EAAFAFCAFBC0A3BBD7C2715FA387ABC78E1D039D73334F8D46BE0361F3F19EC397090ED8C4C36A229FF20EC094F44EE903A3C7FEF005997360069478CFD5D5DB9EAA4B60DADED761CA9E95703280FAA734AB5B8158A88B1C07A04061263FD687638B786B9C7D607BB8F244C271084DFDABDB34D143295B04FCE33A2FE37BB82073C7C1C9E78E9C8A0D3CFCB9D8FFD7A93FBCBD1D63026E8D805415E53BB37029D050EF21F3377AC720741AD69917091FE53BE6724307723D1C8C8497A8B294EF01BA1578472A8DCF14F56B557BF8AC6CD853B8CEBFC0DD1F3EE875E7AA9D4084155A25D28CEE85BE67B5F0F840F09DC4E32B4A1FDEEFA70E5D8668FCED44801EC9323E132AE51D8052493B9613E2DB9827CC566A3DB3A5E3CF98574DBF82E5127D6000A55CCFA0A48C3DCD82D4570F4C6F74FF8F5BE0BDC363E0C79397C33ECF45F0FDC9ABCBD0F0E35C4DE08A64BF0F48E921A0CF229A55B9DF5B8EE3B9CA9189206C28CA73F6E44DD76D9A77013ACC481E8EFDFF9C4D53DD717F35DCEB097A998F885BF9FA884D185D34C53997872723AF525C32043053A7679F3895373EE34704C7137A7C0F5DEA188B53461F5F46808C6ABDFA740CC197C79AF70BBEF11A5A42A4A6931DF335F0240152DA0170997D98466F84946F9C4C3ED5C011B0E72622E2144C47F9D4D96C9B4FB3AAA8C7231A18C62637F0F814E8FE1584047878B2F229EB003DA7D3D6F882A719AF3842C9FB3C4C99F734768DC7A85F54C2589A8274371B527878ACF901CFD10C3DF96C20AC8E956722E852D601FC017F2176FFEA1806A773B4AE634A24457D3D86F8700BC8CB1A1C0AF6CAFFF8FEA581C708385429DD8FD268E493321CCFC7C832216429EB0040A57E3A1A3950FC17B25F07AE026D9CE2F81B460A1E159065A834E0B23954B34AA7C13300A0D43F5807ED44F1DFC84F3AF0A48112B623E8FA02DAC40BDE26360CC9CCB64EB2D1C0C649AE1D329F1E059E7E01896A3E00A182B440C68974670B3FB80A380BDFD74F56E1E14251D6612FE371A70A1E43061BDD915F5DC27ABF64AC7ACEA44DC1E76B6A846D00BDD209CE927579A4C4087EB43871758001CBA9EDD04FE2381C871F1425B10D13C68FA3ABD90BF9FD3FF2384BE62349C254007CF3AFB8B016A9A4B3DBF0D26E519E6B4AEE34F1211C4654E33E72BDF5FA9768C3750F06EB54D4603CD9AD905E4B0362686552A69404813917F8BDDE71586FBE0CAFEE2E8208DD9E147753425F6A76A16BF68A81F10B224D3F9DB2F0B7CEA075D0F81FA3BD9FC74837687CB92C9EF7E0A20DA15D799E8408DB5994CFC323E571463643538E8B429EE3E2620D3C0A00A53ECDE6138C3B02C5936C4BA360A3420DEA1475CB74CC74AD2A3491899B031CF57967A3F17B9990C510E96F05FEBFE2F44AD373113B7DDA10030552515EC693180B68F616628F73E38D05B4990235BAA48E1EF06DC32F7179E780BC83BA8E4EA2B0D8717180EED37CD760177C77D85AE25840684067C58E788A26B9DE88A51A4A84273474B8B25809BE987A8160104969630D4F817CA081C50860BA663A8F915C45161707A034A09D92B16A083E5D841C35FBC3EE2FB85902C7D646C8EB02550B5835403FE16146F39BF21DCFE04AA06633069568AFDCE7E93946F9C87819A57EECFEB5D33F9AEDF8878C83EF082AA3D089A68762D3DFA0CE658626EE9AAE345A5EFD5EA0754F947B73512835A940F28BF35C056A60F4B9456B1FC9F21F7464162329917CD3B0FBD7CCAD314E361C50E94940505634F84BEA322A9072DF12847553C3ABC991C0003EEEC5EEBFBC48313DC500743A72613F43576E819807129DA642262497E97ECD43A45C058F3263BA073851E13D0F8DA27A9BC656DA2E3ECB39334A5982E8F3173DDA63CDD2811FEC78EB9263252B1B0406069EA918DC647A69D9FBD9D29C765DEEBBAFF964B8386B4B88353EFD478A1F23E1F60586F0222536E63967E3537984C79108BD36F7597A210F8F98A7A49DB69C7EAE851987305D329D2A2998CE99EE95B058D2A67B0081083901FCE64A79A17025AFB215B728AE650B277569E9DAB6ECB2BACF5CC8BA389954EE58328413E43CF7F7C07E039BCC82EF2A7261EE6FD361D7C92B631AFB65FEF21D63818938E59E27E7D99DADE4914A2F8B050C7D3F78CD744F1FF053A79247304DC8BF34B028004C97B94F7AD83A806A4862BA8F828D2EAAE91E00175342C60AD5808F65286D20B17CD10393FA3498FDF565753E6AAB347E24D24E758AE1A58BBAD1FC0B4674888467B4AC38CF391FB74768165BB0215DF1B56E7B237CEC128CD1E2117F51BEEB6D2D3C4A888E4E75751F255BD30E10657D1AF4FF5B387CDECD0D5F29CC142AB48EA4C15603B077203DEB2DEBB5E98DDEBB595A5D1A7D8E38E8040CCE38E7A52420F85E37C20D65E8CEE3E1D0B29B8759299F540778F3B5710FF5396BE928029229E35D5AE793D61F2FFD53CC3301D9206C2A89E63F28E7E5BB04F412B6B943CEEBDDD90C057DB0A1A60C0FA7D2C02C04301D03C4DA9645CB279ED3D3357796007E8DF103E0A0DBCAAFFBE1A0D8EA352075D7F905A810C0736523E1C0A84ED9EB7BE6D88FA8824E2643F7FA6FF5620E3568E4EC17629589D1D99D749CCF47DE550D45180BE0CE9E85581C76B81102DEF1B86EAF6E0BF626DE2CA7A5DEFEF1BA499A039CEDFFF7B2BA59659A1EE880D8C6F3F989DBFA0F1FFECCA79CB07B30BF64F1E229CD5A39376FEE92BDFE3C65391B023AD559CFA69DA61CE0B389EEF7F045D13EE4A7E28F43C3C56C8DBF680AD9A4AC574EA3F1B52F90281CFD6242625EE2C8F59ABD6B0C6096A111FAF9F3F35A76ADB3F66A1EF7A8BF71E073FF9D6D758C1F421D36ACF0D03583D69FBFF3C4D5BF8780A7123843C87E73E1687C5164EE0A08748C2616603313495C1081735BBE0C17B08A7998D5F24971807ACE438F38852A7577899A293E7E5BC1F08133F61B51D28F27BAF7C50F3C241EB7B9EBD7A13C2CDAFCE6C9EE8F3016603D8EEAC24EA675EED39EDE2A20667ACDF0DC8A374D6F6A17B41FAFF2B4C9CE27C5019A3AF6DEC2377CD7C9AB4A060E9FFB380F0F971F76EF8C6FBF2CBF69255FDE3AE39BD63C2C96BC449DF7EAF602227995E7E7F7C3681EC6369F6EC87327ECF3734D7D310292E200F5ED258D7879F7555DB88A8755973F1A68F9148F93633F6C5BB830AF390F8F36BFE931528481E08F3A74E7E54EF3A81C184707BD17337AB43AEC920B4A8A03D4B597B9F9668B42BD2F785875F9A123667EE9A36E6EDE8ECB395265C7EA688D9413E21AA9D70B10E9F49EC2EB9EA3CCD9EAF1FCF0FDC25B3CCC8AF9A4388003444DBD01104EC6A2209FE4D43A804DAA130B2F9EA6289F6DE1A2DFF170FC0CA5798FE9E20006F75579FFA29A32069109AD4B9C2FF27456CC6B0C5113421E0FB0331AD5979B9E34B4DCAAA49ABB744A934C5BB9A60DD49FF9BD12CF545A728DD0F6021239DBB66B76D587D0EBF23A6BEF3ADBA58E1771FA7F64D5647C0D9E0297467935217385BF61395F4F43E7819B795875F906BE92BFF2383EEAA243474DDFC5C363CDB3378DB826F035A3AF673F0C635B3C0A6F743C1FE6B7EFDC08DF817D5AD8EAD6960BDB7780251D5AC39F9BE7411DFB51EC106C1B62ADAFA6E992E200BFFBCEDFCC37B473F6860E0B163C6AF8DDFB0BABC7BBDA676F1ECFF3D953D9A514D7DF35C3028F174D5EB23987E5D65F4917B56F07FFD3F84568E8D02C414063E70118D4E4595874713B78E49CB15BA3E19F4CDCE43840A04568778CDC7817A9249765AD5BC956F46458A47BDB63BFBF7FAE7B57268FF31FF1C28F7998D9FCA79DC935FF7BC120C8B09DA89655B6FD18F43D6B5E211E4E35A85A640B2024C501EE19FEF406FC445AF318B5C9DA567FC3B2FEDB96D3019AB57EA5AEDE597CEF73D7E6BCAB599039EE6F2895DA5A3CA2C4359BF6AE81AEE891AF18754C561F763F02E22F103F84A8E31AB3F2464B9F14076042EE16AFD02EB722FCCA9C559D3BBEF3C331B64760CED6D10E6583962E9E70FBE6377BFD7253C379136CE0D3F4145F55F47BFBBE21859A77FA4A1ED1A6031466A13155722878B0BA8E28F2A1243A41060DC033218045139AE5CB9A9273F0B0E7DF5BBB64C0BAEEF556689E64B6A68FBFE9277FCB29E8F656874A3C0A2CD0C05992D5C0FE8FA0BC6810CDF553E5E565BF5D94697A1958C918FF8FE0523CD9EB5A258CA5D1F3B6E3A14EA3E4737DBC6BE14AC91F3C0FB89D1217C5ECEBF908DAB8FB58774F40D27A00A6A83E4356F4F9EE44F7FD4AA529D359B6E3C2F9193BB35B676ECF69603F14D6594BBDE77A777A7B771D73F9AB3E25BDD934EEB8D19B991C71B9A0AF6C7C56079E37F885CB097D31F8D4CC6E70A6A0C7C3AC6871A34FAA03B0687D7BAB8B5A7F51D16F47AC2DFAA5AA6379D1D1215D860E7DEA97587984A393F09FC7F832947919E90D9A6186DC00FBF105D23B3C3E06041A1E1A9C240292EA00ACDDECA9ED79D79A4E6BCBEE79B9CCD744BDBB348262D8127071F91D9BB61CEFD7E2EE7BA6FF100135E622ECEAEB6B8809ECD5C064804E190E579A656219DD0AF7B0DD6A4D0B77FBB0F9E3962C99945F9FEE9B77AE7B67EF56993BB251799A408F75F77B2A3B6D2F0DB41B3778F8CCAD8994139FF6523EDE2092E65F474222E098CFFF23096BC0E110820513967100A61BECC6D9F2697067CDEBF3275F6C2315DD5DF6AA36369032AAA4CC3DA23FEB9B11F7CEFC0C601FA2BDCF48127AE116901DFC92121A7988B80A9E73F5C732C5752A10BC5D010A26115F85C797273B6F2907502AE354B79E90AE5D594FC4B40356122F3CABEC89D0A04E748CF578E6EF44B71DFF6FC40E029EF77F33FE7B592196A9D62FF0E90F60C098784F8DD888C885967580C862D74CA9BB37FC82A77D2EC7DAD4AB7A141A206C2E1EF17EFAE441B4BEE612F068789D805183974440D283C024B6DD50D56E47F04F298F1842562211F8CDE5807C25C88AE9B40354631536BDB3DBE04EECCE2BAA410D1523EE511B85DBACFEF43381D30E10325BF884A32F14111B5C8DB382EFC2639D2A21F01546025738FB43426728D5CA6110211D03185414FE3BC9F7180C76F1AE86BB30081C8CB3831E38EC07771EA1631C47369FE193BFC4D90FDEC6BC5E4460B0A69A4533ED00780618E53E0E66AFC35017B5EF42C3B26DE84B4FFDD8AEFF3A78F02CAD91FFFDD3D16950F726D56C7A08C0A3D98E6965204DF1F00297165EBB2024172A6AC2F87FE892688E95D3D77D743A36ED00421DE75E3C62854D88141775E2A9218FB163E314C07432060D301D325D62B7EA5492339D33DD2B61B1A4E3D255E33E79763C5C6F5E0026240E869AAF7778BC743EBC06D040F8EF33DA53D17090FDA438DF7D43784A6325A66300560D2E864DC60321AF432F55F528BA821B932B8D754A03FAD12491EC4026C743492A83C5CA707DBE732B6E859E1F2B7D9A2E3A0D305D339D4747A58F1D170760AC9B66BA1EC22E7FB57E356968BC34C074CC741D3F7EF1E2847CD8116E3D0A7DA3244AC763A6731C59A75911B25D20E4C50D531CF8D7B3B8F5244E575C82403D597ACEA6D9421934F1BBB49F81E9E1D7242CE02553F004B091CA3AF13CB0D76C4E5AA88459216D175D92D4004AD68F23D5EF498F41E0B804817AF59E12382142EBD5170D0CFF3CEA1806A82A12014F0BDDF877D76E15F00CC8C42D06380374552B9B9876805A6956E38D4A3B80715DD54ACCB403D44AB31A6F54DA018CEBAA5662A61DA0569AD578A3D20E605C57B51233ED00B5D2ACC61B95B095403D11D8BBEDC3BBBDC12F68718F5D2B9F9FB66278B80A77001737D52B337A0CE2071B814BD5FD55EC0861C7D42D54C11298C16D65B8A04B5BB02A1C76F2337E4AFE334B376AE3DC15CFBF85633C235D095B09D4ABB4FC00E4F825FAC797328A5D02A8083DF49A85FDE1106AA748A004CAD57C9FEF74FB51470DB1DAB20456AD629D1E0254EA38F332690738F36CAE6A71DA0154EA38F332351A0384532FC6435F6199222A088759ABE06CAF5FD764B7C8120E606BE0BC2E51EFBB93ADE070F5B3FD12FE32D1F0E766E1F89885A78700B31A4C71FAB403A4B801CD8A9F7600B31A4C71FAB403A4B801CD8A9F7600B31A4C71FAB403A4B801CD8A9F7600B31A4C71FAB403A4B801CD8A9F7600B31A4C71FAB403A4B801CD8AAFBB21A4E734EFE501907291792BB671C16C25217A0A6EDCF6716F282F2708BC8AB5C4EDA46FB6B904DFB0EF2644282ECA736E93AB89E5DEADC07B29A5522E2AA14D9C75E1405D8CD6C844601EEAC2A381C70838B5D1E6671B08C57A5F14AB8C7BCB1C9A79B4D4FB4FDCA3333CC6FAAC47860A6D96E91ABFE26152158D70039EA319872AC517751D361A4696C2258BEA3776DEFFFE1852298BA57A1974ACD43B0F8D7F975C582BEED8E3FC5EE965ED1C194D7B90E69F68FC11D1D0581F970E471BB3A36606CBB2867A809ED37CB97E1A28920B6AD51D77DFE148765551BE13FF08B2FA0B3F1EBD0247912D389084F4533D55EA60D889ADDBFA7C473193381404FAA97473EA34214A498386E43681466481B8B5D4F8ACD94A5B87860074F58EA7B7269ED20E216B3088D8195157562C24F4128C02FB2845C3B67554E623A5F570F18CC08F70FBF2B791E8AC58867D580774E67E4AD998ADE57CC80170ECCF9181F25D20F0FAC67CD752399F2AF7DC27BDA3708391CA01F0F04E4DFBC2B587E1F20F03A5C21BC5539D0BC2D15815DEBD401C827F7DA37200A5AD434380551B90962BB11A483B4062F56B79EE6907B0BC89122B60DA0112AB5FCB734F3B80E54D945801D30E9058FD5A9E7BDA012C6FA2C40A987680C4EAD7F2DCD30E6079132556C0B4032456BF96E79E7600CB9B28B102A61D20B1FAB53CF7B40358DE44891530ED0089D5AFE5B9A71DC0F2264AAC80690748AC7E2DCF5DB12104B8FFFEC36D039436EEFD143DC7F2ADE00414FDDE46FCC973B8C123C0A185CDEAE1E2B6C24629A98B80D844A7A1215B9F760002BB71176C0F25322A7196C727CE52C252364DE027C3B2335C0AAAFFE4C3876106EA6286611E564664B63E758586004285B8FC0D99CCD8727749F8DAB04CD1E01A666A1D44A5AD430E20B4702CC48D8F7BAD2366FC24C12DE1BB9BB5752C31CA91E1321AA3F8A984C76CCC6C2DCB1C7280F5A38887806D2400A9B1634A65211279C71DB047F013B19178FEAED7683D0C97D1305AA334A98147CA988D99AD6579430EC0001BF31D1B9DC47929FE2FDD42FC3E2D7878B18C986A77F604633B16D89CAE2ED8AECDD1CACF68182DE391F2BD01DA92D994D996D958A98BFF0284307D0458B3E9820000000049454E44AE426082), +(36,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001A53494441547801ED5D099854C5B53E757B1D9611A288880B0645E21689CF272A330C9B6C2AA2221144E3BE9090A8CF87E010100630E1890F23096034AE312ECF1D8645D90637DC83312A8A8828080A22CB74DFEEBEF5FEEA991EEEADBA3DD3D37D6FCFB473EFF7F577EF395575EAD439A7F653D544DEE349C0938027014F029E043C097812F024E049C0938027014F022D4802ECC75456FE121D188B535783A8838FD30E3FA38D6C106DF93195D1E9B214BC01704E5A64115D06C15C85C2F4E4449A5948C0BD0FF8A1502BFA33EB43117398F74D54D006105D42DD79829E80119CD8A032197DE9D768746010553518B70545285803885552AF04A717A1FC0332D5170AAB3346978686D0E399A6F9B1C72B4803A8AEA42E64D09B50CE418D55100C20AAF9A8777020BDD1D8B43FC6F896FEB2500AC838CD05AFB6CA8782E3B0EAF578DBF6F76831424682EEC7DB5728E57593CF82330034FDA743794364A140E1BB80BB2254446DC343A95BE8602A06EE5C8C7236CB7191FEB8D8121A25E35B22EC2FB442270CFAA5CC33141D653EEA151E481FA4C2D87F500CDF2F606AB836A2D33AE2D4211526DE460D9D87CDB896F85D702D006A747F595198FADD193229DF1CCEFAD33750FE7833AEF6BB2F5A82821C03D994256B54E11900A7C395D2325AA6E04C88B04D38941FA6A5D656C194A4C57C165417206A6C7411B596B5836A5CFF6ADF91B48D6D24435E248AFAA80D686D93E9E503E6AF525174275D81366818CAD50DEF205AAA4D782F0D87683EEB475FE5838F826A01D0D74356AAC2302B38B93E61C536D389B2F245FC503BDA5A5F3AB7C2628BA8776427AD074FF7A0400390CF91507E27BC4FC37B523442EB230BE9B76EE56FA65B500620188711FCCB5C00F18DB5FF5F439069CB9248D038390DE02F3050DC6783771505C50E4850B2CBEA9C2E231846117EFF5BBD88A6A68BE3143EADD09CCAC0713A8C9E576872EA155D4CB3F80A52BAB4482594CFE952390DBA8DE7649CDBB0D8AC421E8FC3580319E585D620B2581DF4669436C34805370AE68BE927D1047D861AD24E2E230AF31E5A88C720E00F11D615FDE979F82EB3899760413A313480FE2D87B909572FA499A07F6B23F3585B34145D834B4FC1198090039AD19B600077662B1314FACF582C1A9B6DFA6CD3816F61B83F35A7072F1B60B4E3D18DEDC0F7AD30583126B03CE13075C1A0F00B0BD221007916DE0321B168253D89F7055970BF36DC8A7AE77B6B98BF45AD22DFD05E995F9F9F7AA6F6256AE308455B96B9A1A47360B02FCA699D800B6F0C80528BD9C0E87F7E7EEFF21D17354A06EBF69424166C997365BE959F64F27B6A6BC76C20B1BF1B128352285B1880E5619A7D5A4BA42C8182340051D66DF14347CFDCF810DDB9E92FF45D4CCCA0D23F7B13C574DF571574CB2795BEA7B65E6B3723489FD8A9907EF42D0C372E938B52D2992589D697623ACBE824398EC1DC9BAEC2E00AEF299BCBDB2476EA5B39E7C945A1A0564DFF59BC8446769AFD66F7566BA3285407F4B53BDFDB5D76C8D26F2FE9F2DAAEB3694FA266CCC888C50314ECBE7C12FB2CDF2587E7D28A3483D285825F18C870845B16BA5096EA50473AC8AD29AB326DCAB750B2C92FBE233682A846F922BD6E14D12BBB86275EF961E4B0AADB58DDAA60E91F171FC3A3EC434EBCAE9CE25B277D2A928DCE26EF5CD240C10BEC0C00CA1F2AE8224C7D347AD42DE58BCCEA6D017ACF889D6E181C1D2D3F06710F077F4195C3CC30C8E8FDAAF290B29397596A6BAC928AC82A08ABD48C45CD5E5435299414A4198FB8F722EE55661C8A6D040274D28A5B43CAA292359EB310F81083D7E57897654499D1B6B046270BC7D6928AE82390FF2999A483AC75C4FB12E55CAF69EC89551303AFA54B575733CC11CA2AF49E09CE17241289867DEDCC09EBFD6662BF3EE7A7741A3FCA20BD044669A18581D28316442D10F287A645E3FA187417A1FDE15C8BC75805E0E1FB71EE7F89C12B16AB467CBBA7DDEB6DB4EFBBD69B23A3EF7C3E3A970DACD9E740CB25968BBBD79BA636B05632184B70C22AE8EF4AA645D7F918BB666579F07539BD3208EC353D7A5B9CF35790A183CA97B3CD1EE64CFF15C46869B950FBBF6FDD3668BBB2F7D2AD6C13A2CF937344F9CEEB3D533F55C6BB0D6306F2ED251F7CB4EAA96DE328C6ED1B5418CAF3F0573A35353DCC9527A14BA153A15B9996C500106132F6CC5033B8052F276A2A18B5188AE76394FC35FE58E5388601B5FD13D202331963CA1C3C9130A6DBA77017BB2FDEEEACF99BFF4823D77D4133373E480F6F29A737760F7C09ADD8752C445DC3436858D140FADC592EA053E836A96313E13A4597CC889E8708534C61CDEEB34F45BC37FACFA314C6B8F6808233215EBE8D09A790BB4DA89A4FACBA95CC88F556F02E22FADCA1FF1C4DF461228BDDF1F6B47CC7487A080650BEE1B9B1E1C1343FDC9F36B8983D76CEF894A4AE6B33498E01FACDE0074613D1F96932DE441A5BA031BE8E735FDA5A96266D1DDAC779CE63800433D0FCD791ACF960ECA3AAF2E05A09AB80DC1F9CC512FA0D6845AC6EE4898468057A29095C42C412FC6C99349AFC4FAB26863F91F16698917633F4D0DE8C4BF7CD582264707622947D0DE21C21C7E3069F079D57BD3C917D973480A8A1FF0E910E9623A26F7DD6F793E0989563D91E392CDFF059B378EBEA88AE2EFD327A20135ED64C603BD1FCCD8201A18BDBFFC09ECE2C9D1119B27A6278D17EAC7B5FCCA0A1B20DE3305383CBBC9918B9C4F5F3582F9993D8A13F2CC63B96304E1D6B753E492BFB1B0F33CEAFB3444802ECED438E0D8E6C0ECA17EC54EBB1112888F0E0A97BD0AF278AFCC18C1D3BFDED827350DBB6D711A8FDE009565133BE90439C85454B0BE52B3B7B18DA2C7436A71A6A42776D0E0862EACDDE96E90B9D0BDD6BC696E85960CAB2F95013592B7FF22226E693CDE331D0FC2B0F5FB66C3CFB5A41A741D41AF30C391886D5A364BA7EA18C771AD6B93E581E60A395DDD3E958FF6AA7F34AD1AB191C6BE52938F5163A17BAD7B8A1F54921536F30F5C69A4981C529B8A9DF65337917CE9865E147F0043E1F682C6FBECEA179984A6CB6493775C413DC6783770E85E65F268679CD32B72B9AD0A5D0A9923774AF614E7DBA1C408CFF43C13521226EE897D9CDFDB5CEF673FFFA585D79398BA0CF9DAAC4E1BCFBD6F531758AA944CC0E218C0BCA1E28A7D65C6AFEE57C6C750ADD6B68FE3AC99135CDA7F419729C7CC1C9BE99F34BE5FCB8C61FAF51A61CD230ECEB15F81B9A8FCF9498DC987CCD7C1E50F00E20B67D1A3F03466C1DC533F4C45A202F834F3B9D0ADD6BD85CEF20974FF3259AC4555AE643C0A533E3A518B9FF540EF33730F797E39BE1957D581C059F6CC6896FAC3174F9707BEC6A19EF048C4527A5F94757F4AE79F3CA897CD2D1B0D529742FBA802239918F87AA655C93C1B6833FF6B1DDBA766378EC7B5BF03118FF07721A4646F988D9AA4CE47859C0CAFC1F86EDCAE8DF8E375B9D42F7752B8176899A1A27E6FE1092323AD7329CFBD7C7FF14C60C2CBD4E92E3A015E8B4B53AFA6B199F0BDCB7021B39C48F576830F6A282CB33A2591B40448F5D807ECA32F7175BB97ECA7CEE5F9F3CAB26869EC5E8F84D250E67E307DFCD8B157C96089D624AF30F52DBFADD16782B4B928E256BD606607075EE8F71D3B2E5E5EC2BA724A0699AB2438681E7817B77E937399507867A8A016011AB52B4424EE5912D9D666B0035CD262B930B069F8A07655C2EF0AADB02CB30185B25D380666E142B7732BEB1B0184F60FAD7474E878598BCF5FF72DE66B8D91A408C6CE6FE8CEDF2770E3E632E8023DF3E9FD20AA0CF2ED60DFDD65CE9633CD1571E68A3DB8987FDC1A5B9D276227D7233C80942D9D0E06BA86D6C2F1DC70D3A1435A213DED518987D8DF5FACDFDDE3230F747DD343D180F643DF73791513EAB26065E81D7CC22D0B7DC3C029EC6964CE7B3739CAA29CD3F677C0D1C5572DE1D550A920522EF060097A8304EBF5E8A139DC3A3BBA82F846C718B811160E04FF48F138EA237760DA597765C4CEBF6D4ECD6FA34DF03599431A324CCCFCA71E5DC60D4D6FD568769122E1F11EBE8633322621309E5510C00CD6EB368FE05BB79EB0230BDD27036EEF248358E451B341F4A1E242BDF2CBF03035B69C841F7D1EC6EFD69C6D1E7D2B1ADDFD9589F73A3396D36DFAB2704DF45BAA7E4B406B1ABC55E848CCF042EBD232ADCEA8E50E206DCD9FD53F2C900911703E055D41E173B2C013FF7A37A1F96015F9628A7162FA57BBA9D7944F2A4AF25C459001749FE5E6C315BA8721E4824F429165CA6405CADFDE8DE3E5F3D3E94D743A9F5B1EBBA01E078F3D1D11FE80DD4F6FEF531D26018C3EABF417370B842F8D6BBC2F7CA89A18FC0879D7FC1256533A21979E49ACB61903AFDC3B0A6C9177FCC3CBA22C85406A2E6A3AFAF84F28F49E1E4373ADC7DA815EFE0BD10EFE578AF97E3986128FF6AB4267798714E7EFB7CC1DBB1441C33D3C4BA800FEED5D3CCB886BE7BCDE4ED31DA57775AC9D76CFA7F5106D70C008AF24577274FF01E9D46586BB1A43B3CD49E0E8217EC2938FD7A36DEFDC41D7FE1201D09C626C21876DAA58541DDA22FA6317661B9E2564E601BB14172AF4C0743C30B4A67EA3D647C5A38A10F1286630E179EC96DDAFA579A714DFDED9A01A0A9BE1C46D04F2E2094AA63AA77ADB8F40077F63ECBCE2065E3890DA04D38E33333544C5DD12AA8378280286EFBBC5B5C1621D37702E62C548156C0CA17660746824FCF943ECAA98CFE31FE79B93EF7F54C693B19CF150310E7DCD1D7DD2E332A948F3A3108EECF0BE4303B9895D0CED0601A0E83F9AB1C8E56A05D9493CD028E1CB3F1B098F7E3E2A97B94949C0F861BF9990A5E424CC12E3F508324344E5B349FD17F8A37570C20BA9D7E056B3F349549EA0DA58D2D1A442B5270266FB40046284CD723EE6A253EA7B17C59E6B7852BE9EB41047DC13F6021EA07254A8D1BB9823623964F8FF714FB09669CF8F6FBF3E3FC21E75B1FEC8A0140F9E72B99327A0DCDBE5293957836081CA78A6B7E1A8B1604CB44FB1F7431215DB7696AF747C9FA4BF8CC6384345B260023EE5D3A2D76968C37C39C1B679BE19A6FF6FECAF16CB38A6F5A8CE30680953E7110BFB75C2C34A98A37AE1CA73E3879152C536FF682450CAB2F5D2E616DDB06EFC2C0ED3B990627A342C65960A61A2504DDACA67F297E1D3780B84E27A166FA531988379AF13D219BEB5ACD7132F9D63452368240FB1799A4CD260E066C3FE040AF32E5C49EC1A9BD2BA2C3ED6896FD811F86E65FB9E583F9B46635FD4BF1EEB801E0166EBBBE7F1D1B42D154A6D9BE3180541D286CC61AD9D2B74BD7B155682E8C6C8B1C86E5C2A9B5833D4B90A1ABCE1FA215E933C1AFB8655B123611E0B801A08F54BC8CD1FC2B02CCA6BC41BF4A07F9B5E28BC831EF1D99AF276F62D55878549B7CCE4F583E5DBF588E6F309BD53F4ECDC2F943E655C08E1B000680F0BB971E869BB99D7812144A4326E7D6250DDD24FAB80E817BD10A6C94E360A9F7F6B215FBAF9F1147AD507E65ED03526E96CDBF288FE30620F6F36541013EDC06D768542C6A4387E1824507BA97FA9859702D8BE174EE14250EA7AEF1576357A4F0F1CDF1326C66B74AC1E22D3697B8165C62C635A76FCB60CD09C65053362B74381D8F7B723B26FFBC4109CC1C81E5D87EA86196075343353F4B0C67808EDD028F6CFD581F8F01E0CF5AFB76D169C595F48BE215D429B461CE492FB271A4F14E062F2ADE163D8CBE8D77A21D7A27FA74DFC9F4CEEEBEEFDD77732FDB256D6738CB8D8AE3061008D2FBD838D90145D52DD342675A349AFCAB9739D9B28B9985F8AF00A5CF05BDE5D9D26C4CBA274630FEE2DF472F3B50DBF2B393DAAE261F8BA7928BEEED7861981AAE013C24B431F91397BD95B67F1A7F08F0FB53E62EA44FB032FA74284877E55A0952993AF576BE0BC0A20D84A1F47990CF04AC11B4C99671BD922E028D9FCBE9B1DBF2AC8C731AC696F620DCEEF56EFF768F8EEB51BCDCACFC8CB202DFC7C080C74775FA147426E722878C326C4424C70D40E48D71C0A3363C748CECCB6C0F404ECB5FA623B1E0F327190F78937F30ADB1C13B8212DBD9D8D45A0857B14A285099DB373613D0688369F214C8E153F1BF018D4DEF467C570C009B3D62D0B3DA86E18B51F0D91044C6F962ADFF08741F8BD0AA7490E9F9921E3C64F5E0912365098BBFA5C576F65AF06A7114CD929C9CAC23109530AEDFC801F9863356446319F3F9E9BF312044EB677D80B811CDE022E129640D5121F4F9174662F42694709C1C8AC1DFFBF81FE08765BC1330FEA9A32F6AFDEBC8372D8F28DB1EFCFE0FADDD75F80DF505A807DEDD61DA7D20D4D108BB13BFCFD2F10339E0DA24BA1B15621EDE284ED33C8E0F0253C51077DC4181E528A8B2878E020FC499980F21E82721AC670C1FBD0D27902D58402ED2F7E0465223E93E360AFFF2744A8A9EF90DC1EE82C846E28D9EC1D9A7F60FA99F068F07D85186A636E0372958444FA7B975FCE3DA747FC7FBBF60EC62697C127E17DAD1837CAE85738B5828BBDD2EDC6D9C6B06201887C3C70C78029F804F65F40E8104801F050D8E12776847EA06D52265FA07C24FA096FD323C8852824E1FB9912149E7D5DDF8B3491BE5235F1DE42684BAD03DECF8E47746D4E1CFF04F441CA12FA1D38C38FD150A17F2B03CC86F322ACBBF20AFA72C0179005CEB0252BCE3CF192E454D9D97827379D7D6FC73A0FCC5B9D04997167DFE235086DAECE3CE5E1FA3BE70579BDD18E59BF3112D62E8003A036578DE8C17DFC813C707E9417407DDE430B761D70D40ECE5C3D7EF7A14FC06FCF6665B20A45D87BF87ED095A95D9D2A82F9D98EA4109EA800FCAC7B5AD3D0343E895FAD26712C67AD16EE1E184B8CAD8052D83F0A252761E33A19B4B1CD70D20C51C14F717FCB1F3D150E43CFC326CF093A9BF8260AE84E07AC027E0A3143D27DF503CAE51257800591FD1ECA38F3CDFC96B5B517603FF647A35CAF4BA35B7644B301C7F6A7D868C7713CE9B018842A035D82A5A83908F3A43E45741182F40109BCD0681EF3D10FCBF31A29E8B1A3F20DC918E2A1A42F703EFCA744FF08541D8281881DD3C7F8213355FE4617EC4DE05AE813F1FE5DC6DC68BEF783CBFAD80AB8340B970291857A06FC3F77DB53FD1076AF81FDF83B07C5A2D9AC954BC7CBD31EBB84CCE0BCAD9807FEAB05B7C92A366058BFF00C0C06F16CA3E55225052BD0446EFF865D1522EB5605E5B007B16921E4386308A2651BE706163362E6C98EAE19F3A2C0744D2F19F2D3EE883CFA11863480FA6C8D6AB5DA57027C16661004E16A8B1B4F47D3404B5504C49EB1ED10D05B1C8538770E90346BF17CE32CAD40FFC0C73294B856C8B3700D440D581836889DB3E06759AB071748551F48297533AE797BAA44E7CB47803C0F4EB7045900E38B02A34D3204207D30AF3205844034FBE08535DEBD290C809DDE20D00D2539C5881FB3227A93622B11867A0C9FF464E82A3EA767CC9D172863D03B0F12AD67CB66E6D390B3B2D01A6E687B38F9E01A4159893018C8A647210BEF560A81CC16998ABF9611D44E1CBE96C053DAF05B07159471FDCC90D61A7A38931C021721836C9C40EA1EB4F8B3700389A7E2D4B59B339DC22C77118569A7BAC05287C399C67925C8B3700ACF829828651B876DC4C56A2D801C420B08D8C0FB6F55A005926AEC09873BF6B43386F2B71E88495451F74091BC5DD08367C398E6AF12D0016829E93A58A1AD95578F2C8783760EC435C604357E1C9268E23A8166F00F0C2F910DDC07A599A30824932CE6918CDFF00D03C4DA68BFB453C039085E22A8C431B327D18C085C28D4BC63B05833E2E11537D1080DB1E0E519553F93444A7C5B7004240217162071B40B2B0923E7CB8CF58C63B01E3A0CB0418410F9916F89829BCA864BC5BB0670090AC38AE05C1FF8F2C64AC079C804B2E859FA0A3728A2EA661A05D21E727067FA12368AE8C771376B4606E32EA36ED6098EE441ECA9A3C947F2E0E703CE0D4EE5C52F9063D9AEC02A442612C529EADD3A9442A63D033805A51A1D915AE6863F0B3733D1B13215A897B09B35E21140A8707D0448CFA9FC1378E8E2ACF6318903EAA605D467806601230DCBE97611076A309B5FF9353CF68823EC6F4B09C2FB155E0FEB8D29718ED23DDDB38E832DDAEE623CFB7C2EDE94A29595EC026F109CC4BC9B2CC044EAB7F82C28E471F7DAD4C02B8B6A8C1D3229C7E83384F4171CF25F7F36D5CC710DE4D2CF288793ED29DA61E92ABA50EA7D8B09F86319B1B53E5FCDD803D03B0912A9AE2EBC5712DD4D6C9B63596D3C150EA0D50EA0DD16D14C7E9A76F600C5F03AEC6404E6CEC1C8A746D1A3CB8266ABE50FE59EA72B40D5BAEA03C03B0112B9408FDD2EDE2B816DE0F026865132D8982A2850C3B23456781009CE9F358B81D5DD954353FC5A437064849C2E65D7B56AF070CE2199BE0AC5062AA875BD22FC1ADA9A39A5AF9A2009E0134A0460C0C3FC1B8E07CBF9FC425D1D9AFD061850F4E1E37858EA4639B62B49FAE985E17904E32123E30905E05AA541CDA107EFB68EA8725BD77E1C02945AD03456D07F09C58DB17CBBBF95CE1AB63A2810FCF001A10901C5C7B62E72EE0EF128B43C27B5738700A1F3EE1C6253C79B096B025D81A7F7F97A72D5D99C7C6C09E0134465A52DCDAB3031B8116BF827CBC314041AACD39A63D03704E960549C9338082549B734CC30030A6959EB8C3DB9F12790F6C0209E831BBD90A33B026C177C8FC18146B2FE33CB8C025E08F897F72B13C42F7A205D86EC102C03F5E7495711E5CD812B0D729DBAEC1075EBD7787F3BE855D5C8F7B4502363A15BAD718672BE4C8DC609795CCE0CAD5AC723C0F2E0C09085D0A9DCADC0ADD6BDC672C9103D009B4A2847E8B8AF730052981A42EAD7F6421CA2174AFAD9918FE046BD64BE5826157F3B725D363FD64BC07179604840E852E65AE85CE85EE93EB00F88FE3597204D84790B8B1B0747AE4E673E6ABD6A3C6F730CD4902426742774287495D4ACCA5748E7D8B9AA7645AF461FC1DCA2529D8F2AEF923E5CFE0F410B5E03DA0794A8025EF17EA8AE99CED1D033891F248D5A4D018C17CDD6610F707C751227A3A94AC4E016B089DD03C4BEB71A548006D7EDA0757D8731F745DFB24BB00F1BD6602DBA951A80FFA86CF5381DEFBC72501A15BA163A1EB54C9EA0C40205697B32F7DC1106EB466793B9C9862C47BBB2B01A153A15BA163734E75630033527CF7AE889C631013AED1B8451B7FDAEA3D052701285D1C7259AC119FBFAA3CFC825D01D21A402AF2E0BB7971645FECA898611CEE3398E546CD541CEFDDBC2490D0782CA0695F865B053E177F80DDBCB8F3B8F124E049C0938027014F029E043C097812F024E049C0938027812694C0FF0393FD38578A7B0DC40000000049454E44AE426082), +(37,'image/png','img',0x89504E470D0A1A0A0000000D49484452000000800000007D08060000006A326B0C000000017352474200AECE1CE900001BD2494441547801ED5D099414D5D5BEAF7ABAAA0701714370891809207A625C4FD499015C585DE2028824468C2108C4844581991EB6E9611350E14440633046212E7FFE9844080675981935D1A08946B66034C91F418842C2D6553D5DEFFF5E4FD74C7775554FF55E3D439DD3A7EADDF7EA2DF7DD7EF77EF72DC5A8835E372DE65DBE68D2A612E7DF625C5A767E77EF8F1FFF1E0B753476B08ED6E0F16BB877C7BED078CEF4399CD36946FB19A3DD9C58654395FC22638C1BF4F67EEF3002C03967150BB4D1B8D712A72FDB762C637F644C9AD950E57DD5364D3B8AE81002505613BA8E91BE8413BFD869DF6144D8C43CD2ACFA59F27B4EDF29C674ED5A00CA166A97B2B0BE1843FDB569750E540118B48E71B9BABE9A7D9C561E2E7FA95D0AC03535FCBC106901F4DE681879596823D388D82AE6F1D63654B2FD2EEFD394AA9705E6A4545E4E135F5BCB4FD7B8EA8731F73D74BC3795C218B1BD50113D92BEC3D821A886874A6579F92B0FB02349D3164964BB100001E90E6ADA3498EEF8F1CEC9788F8E7E8F18DBC6B93E36361DE8359CB1BFC256980F95D12B362EE199D167808EF3DA037494121A57440401E9CA03DAE40321F5239DF89CA49DCFE86F1263DFACF7CB976274F89B55331BFDF2CF7AF451FA3289A6E29FF16FAB34111AA7D339E98F6DDFAF6E2B0BA82305C2B04DEBF288A21400C1F0F25AF58E6DFBD51DF827AF8CC5F3667E63C8DE4F8C7ED0FF34A55FBD5F79B62D8CFFC228A63554F91EEE7CA2721ED22E80EE3F6ACED308A3DCDE10A6E7CB6BB5B7CB6B43E9199A466605BA179D000CA80D5D5F11D0B6729DAF4F86E731A41F16C3FA495EE5BC46BF6F45AA5EBE8DF7B3FF36F895AA12453E8F245A83BC9A6CFB88F3CBB81EDE5C1E08FEB662A1E6186ADAE697C788923C9695515106A40BEBE1E4FF34C64212F127BC4C9EFF6A15FB2CA342F172DD836C2F6E13CA160497339D2DC0E8739B5D9E181186F0301F5C1E508B063ABA5E005A205D98C38B87C1DCEE12EE5B4E2F9478E4AABA596CB75DB274E98D95BE5D78F776D81C5740FF2F4659032DF3827A82313A9693361223D56A2E79036E868EAE150001E95452AB35AE8D8F40BA24DE79E8F957B987CD689C256FB5EC942C121BFCF2DBC86ED080DAE0B0B0CE1612F18BACB3E7B2CEF9FDA46BE360AFB8163ABACE061090AEA2469DABE9DA6ED26952323C0FBDFC9E449E210D7EDF75F9E8FCD88EDE52E5DB789D5FBE8498741704F093D8B8B867CEBBC05E997F54553F2AAFD1EE13C8252EBEC001D70840CA904E626305A4ABAFF6BE52281ECE654C4F073A56D4AAA3DC021D0B2E008211C0D26352867455CABAB6205DBE0423163A4AC46A512F5B2FA1808EBACE9F730B742CA80018900EC3FCBA36211D63F3D38574F91204011DEBAB15BF47967B170B742C8811582848972F4188838E61560B7872BB5DD906742CAB51D753895CDD388B597A29EDDECF949E570118B890F70E87314B17E6D0816D433A99CB95AF55B38F326D64A1DE8F42C79151E8B808A3DC20CBBA34BB92EFA426EDF67C43C7BC088001E99AC2514867C98566623E215D926A64352A0A1DAF49093A06D4A59E93E4E57593D8E1AC56C694594E6D80628174269EE42C981274E47C5ED301757759409B984BE898130118F93C978179BFEF7896CE05902E67BD6ECA380E3A329AD2D6AC2371FD4762D63157D031AB026040BA3DBBD4ED7097AE809E6F59756BE203A6E4693F23E9FEC82C9D8B209DB99EB90A47A0A3DFF78898750433028EA063407B27DBB38E5913808A9AD060314BE704D2012BCF1390AEA15A5E99EA2C5DAE3AA450F90AE8D8E857AA0574C49F6275D25947E29746671D37656BD6316323D080743ACFEF2C5DA13A2C57E546A1E37D154B82CB49C5AC6372E8381848EAFA6C40C7B405201548073DF7BC97CB55C50CE972D5F1E67CEB1FF4FD15B49103166A9787B1A2D909742CAF0DAE21A6D4A433EB98B200A403E91AF2304B676664B187B7CC92DF411BAEC19E86A144FAA264B38E5CA7EF13D3EEC63A8494A1A36301B81AB37452489B8E59BAA9A818165EDACFCF8A593A187833EBFD859BA829760130EADF58EDFD2D8CEB4DD8D53416F6550D0CEB5E465CDC5DCC3A1209E83811D0717EFFD3BC4F38B1AF1C0B801452DF45E1BDE30A3507B0F0126BE8FCF555F2CFDD325163AE623186A3BC7C06F0FAF9BDBBD489F8EF55A1B34FB56C0B16AC62C410D0F166C40FB14C13434C0105B09362DE333FEE33201D2CDAF5C73BDFCC9EEC8453838EEC1427A53A1E012C33C3FA3BE2ECB193656FF5AF66B0430D96898E13B3CD01011D07BECEE7E96F69AA1E66D58CB89C6E19298C00164588DD378C4F3CD0A4D60E7E8877B748719C94030E942F080D687A437B4F0FF39A4C3A5F542D33011039400884157A2CA87D042B74DEB015BCAB201FBFB2CF81EB17F333C48A631E0ED781EF1766A384CC05205A0BB12B07D6EAECC3FFC1DAB740F0871004251B153C9E0791980CAAA80D4E3B16D2B011868FC9264FB2260046A584750AB4F0F0A1FFA8BBE01AFEF65CCEB35E86515647B80BDFFFF67DDA9F759D96E25FDFC5B2CD199C689251E7249BC04045BFA473FDA9CD01EDFD8A05C19B2C2B7E9C68CB81818BF95970F53E277CFF185DCFB74D486C2B31CFBDF6F1C9633212008F47FE9AC4E831CC6625395C895FA087E9A5F21AF5CD8A40A82279758EC78AA9F4B25A754618C33D0CAC51F61C615FE0289BFBB034FD8A12AE6FB34F973C26230128C1946EBDDF37893C723F8C06EB2108B6EE4148F1959830DA0223E637D828F1D5E4D5EA98B1624675EF2EED03D2F922E8FA13ACB9800D6A8C9E503C721FAC345A3D174BD3ADD339A366E6078896115DC878E7C05A6D4998F842D800F05F5B5F68D808780B8763447896913CBBBD1EBD62DD7A6BEA758BF8978221ED619DC2B726F1B0E3FFC5DEF6109B54E757FE689D53EAD4AC0880516C5D95FC273C0F133895EB98C0E0FCEB465CDCBD79FFDC3739D34663266B75A9AC0470E2C6BEB8341D202090D2A143DA74747E2586FB4E764D8EAC1A92706055A5F7C96C7B59B32A0046031A2ABD5BF07C65F902F51BD8DE558B7F7D7F232EEE2E7C083CE2431807D5B0BC73577999F072C5A5C952806F2005DB86853D72C62FF64FBBE47053373AC173900E86BAD3E74D3DA9543A72EEE6DFD1F9F275B40343ACAD2ACB52750886F1F0C3FF551F4549BDEDF3C4702FF1355C52AA30CA1E6055F629D38D817039BBD041FF4647C6F9977D5EA5DBE699EC3FC9728051E3D9B33384FD73FA3C74F6D9C9D246249D516DE7AECA2A08829A2CAD9338FE3A75D38ED108F4E6CD60F450DCAD61547C66FF8200FC0AA45F2AE7501DBB80704054F6AE8A1A7E2E760E3F029B282932C28CEA5BAC844D72724CDDC080F6F526AEBF155F4BB6B5B15AB92C9E9618CAC8084CCC2E9182098C7063B5BC169DFA15EC04988621ECF3C454CD147450567C08FCB7D433B8811E578FD13E9DD33310BC910E3B5F54E44CA4BF0FBF4DEA27B457DD400F42907C7675764A1FB896FB60DDCF41E76F6BA3F3F731491A877D8F573BE97CA7E5DBA5CBB90018058B7F344EEA10C3FC9761CD245D048977D2F2216098EF7A6C0305D4308E7DE5F45DFC32DA890BA1390902B438788CFE7AEC651A87FCD2E2D78040F0C6F0BFD46DB0EEE7A2F32D85097F8C30CE265A8951B50F8EAB7D2ADBBADEE807F33DAD06993349252C74BC580429B3C8D12B3F823064C587A06DA24B839CB661A81773E5B606552A756D49CBE92C3CFF04A3CAEB180DACE7E15B12B73E88C32D80765E0E73FA1584E7DCD69884A7068C8E97E06CA2FBDB52A9096F6648C88911E8A44ED1E35B26972DE4CBB125AA060C1803D4606993081F02173E841A7543899755BE3E53FE736C19EA46BA436FA29F80561A4B4F7866F4050A7807BF4F019EF740D71F84C07487C09C81FBD9085F818E4A36875101B5F28EFA32DDA48CA00F12F28F12462EE7A57B8E6A9538ACF201D84DB6F9A11E7B39931E145BCCEDF2CA35BD600260342CEA43183B6891B624D4440B2104C38C38F31D82301C6986891931E3F85674FE1CF8C9E79AD31A6130F90084EB69CC48BCE453A8810D22DBC39E782375D10ED1500CFBB7E2BDDB210C09FC01AD17F27B33B89146FB86D106A31CE33E20A0DEB2E7A8FA3004EA1C0896E5D5BCF49BADEC7CA2776EAE508F65C116C484065AA4C90B29FAAF1EEED08730163E84513F7D6A6AA3AE2F1F645541FC9B83E884954A575AC8CA21040E2E56468790EC05F14307CF855F13CBB3E956F3AB1082CE887B41DB4065F2708A1C268D43A4FAC027B732CCF96073FAB830A3BA92129A8CF67E18472F50C0350260B4DFA90FE1AB9DEBBCB79DBAC2BAF389B62A0ADDC6AEA5BF1BF9A67AC7BF7B27DEB90D46E53510A4E7F01CA7FB859D11267A69CBF3370EA8DAF5E2780AD3548C50C956E67C0A7B67BA5832976A5D72993EEF46A0D3C634542ABFECD147C69C81740FDEF947EC7BA7CB9FD09C73C790C7EAE83E46CF29275179269D1F5B56E9707A0DB6FFE5185112753EEC866EECD3ED1ED266C29367DDF9307231E43F5472B2D2D76D9D2FDAE95A011095337C085D4E54FA40EFB6F810269E359DBA967C2192C45DE8A427D06177B0ABE8585C448681D261F40954C9D58C48B8BAE3AE3E9DB62A379DF6781CAD25C0687389445F6DA8561ECCF536EF9632537C70B500186D89F5210C3EF5D9A7AEEAF61B23AAE57E20DCFD2F4A779C2A96A34BD8074A0909EFDD67E622C6F658409DA4560F3604F19F18EE47C1EF717D5DA582695DF75E45210006FB84C5FCC097BED3C7081BF783E1EE6ACF2EFB06B1CB28894FC1489DFE9D0DA17F620AFC368C047153B027967C4EA37A2C43C64CC370BFB05451CEC7702F8C49D75F452500B0CC8780A35799B9BAFBE8C54B01EFEC4FF736BF9041D83B9CDE80003C6DCE6254F747C265A7BC741586FBCA62FA9640510900A057C20A190CB7EF978DDE34DBDC21B90CCB25341BE50663CBF04AAA675EAF51FD6269C5F05C340200EC2D61DCBDC1CC5408C57C7446DC906C4E93EDB05005304A9F34E70B68F80D33CDEDE1A21180A68D7425F078F7588662283E2A9F94E88D8B4D93AB6774F68B16790F15EB0E2CE8AE25158F00582D3363F44AB6219FD39EF20D2531811387458587302825DA284EF32C44BAA2110030E79C040661CE3E81962702D40E963FD2E684E2C2D42B81E66242D10800187E46021F3DF449022D8F04A8A0BF9B8BC332F99E669A9BC34523006062026351F93D05652EA34FCDE563423B5150CD895C142E1E01E08902E02DA1BD85E42546A5C4F239F528649D522DBB680400FFACC3E6C6A944279869F90C037B26940F74607B547C3EEBE6B4ACA21100185C09C3AD2754D8E156E216E55BD4D3696714225DD1080086DB0401D00BAC6FF16F4FD0F756F52C44C73A2DB3680400234082C18783292E75DAD05CA4830024940FCF6482A0E6A2EC6CE5593402001B60AB45A3C5495805B9F82B740660E065E6C2F5127AD74C7373B86804008BE97F0D86C7F9FCE179EB8B19C2BE8560B0DA4437A37C54A9F5C2F0FF7EE910FAB895E2FEA7A21100369CF61FD2BB592DCB9A906F36473A9ED37873B9FFBB6FD229031684AE34D3DD1C2E0A01A808F0B3715AC6B3EBF6CCB82881999C261EDB44E726D07348D036D29DD0FF5F3317F1BBCFC79E190E87DF1475157536C7BB31EC6A01C0D17327600FC03C9DB49D58747927184CC7F478E88D8E90B1D2BF365FCC15B37D2833602E6FFB91CB69D7D14BA2647EA7A8B3A8BB688339AD9BC2AE1400ECA6C1B704B56FE16B9B3BF13C1B9B45223B7E0E3675A7173F9B62C5BF3158A37F975544B6691AA7D55001BDCCF9FEF8D305F124D459D45DB441B445B4293E813B42AE1300A1432B6AB5DFE353294F03FA9D6966D3F3108003D8D36FBE601D3E0E21F8BA999ECD70F0659A8A72EE36E7F9DEA14187DE3F546E263787451BD016D12637DA07AE1100A133C5962FA143F16FB9C29A9B442AEFFCF91FFE3B629D391EFF4A456CD4807EBEDC1C978D303688DC837C1E32E785BFB5D6AFF33B5749244D4EBAF51D6D126D136D74937D50700188D5F3E8F8316606B784C5060B263DE23941EE7DCB5D6BC7829EB8A1122B86B0AFAF1EFB05EDF369C9D0D90304CB837FFE728C464F42F727F00BB40927DF70F82FF5D5F28F44DD441D93ED78166D74937D90D020676CC93C95D089567ADE2A67FCB35E26895F8853B1A6D44D6107451A1FA3EF0285FFDE9C1E1DE6C366D175D8CABD065BB9339A99834AB918F9BC864EB6343CB09F7F79E9085A6BD441D44DD451D435526723C27C77917D501001684BCFB7F28B7DD8FC7978E586E857385BA2E017507DA5740B84E09F2DC4980708C2786CE5DE8DA17B1E2C77DBAF97C5BCD2F2A8E2AC20BCF72CF4BDF03E56B444C43CC0E9B351194A0FC6905A1E455D1BFCCA0DA2EED82B60BF09D405F6415E37870ADD872352164317261DA2852E659CCD39BDAF77B5D81ED6C259D303F602ECE5AFD29541957E89213AC12D0B2110106CB64AE44787BE097DFD9287E8AD260F7DEA93713EC0200A8A534554B18A87E1FC229DAE433E37EB1AF51345E19F6F7961D5CF5AF91C9A0021B0AD9B78517CDA1E67245DF4D9CED004CE38CE488A3F63C9C81C74C33E588FA3F366D4FB99A5501BE9B379770C4D60BCA4754894A8ACD0F3C754ED4130F40103D25936A279232574A9779E31D45BA63311F99B541A3C88032238DD618A4A1A44070685CA489A282612CC0AC30A78003B871F8E213B7A1CF830EF163E129A831DC493C003FBA36B183B86721E2A55E4254E3798B8F690A84CF5BC23CE2211C366506C0A1D03C6FD10BF888DE0E4DD943A9FD12EE4392C9DCE177571AB7D90331B00E7025F950CCFB77610FBD02379060B9D69D6F3AD699C3DF946D0A38A87CEC33F7B197E18F9B3727D86BC262AA57401F2FF5DA6391AF68168B353FB40F032D372EDDECFBA0088634F05D6C5B9C06F08DD6657700433336952CFBEF2455BAABC1933D628870DA52F7CC3693A0E88E88B8E5B82DF4E23CEE91DA3880E9BE00D58F9537D9DA837F25B95EC6819A7F9C6A6136D166D27F020C28BD8C89867C143C14BC153C1DB98A8AC3C66CD088CE8F9A03623D8A44DCF859E4FB5B5D1032266E0BD19EA261875E1C8F4ED9570C89E7124DCB5AF4F3AD2D503A2A6FBE88B504F7CFA88FED153FEF80DE8F857150953CF4328E747D7460DDCC7601FAC6BCB3E80208C016FBF8183B29696FAE4C54EED83B6F896B100083D8F8F1A7C133EEF85280C6E4FFB22B175FA375CE2D370FA87D0A779BB9421B40385895FE42AAFD93F1FF65CB5CF73848E85BB4468A8DB4FB1B3777634495E6F5183770ACE195A85D30297C1504CD80319A990F01F105583D7F7C08732ABA1CAFB0C468F241C6FBB1919A98050B8E90A7C15E40F767EFBD6E2A37ABE5AB931533DDF9A67664FE2CC47A3F333CB297B6F47EC03F0C8B17D00DE676A1F642400613DFC0AA4D5D6F70E5DFA6FA1E3B2ADE7B3C77277E614671F081EDA5C82F7C23EC01EB5793649DA2467AC022C4B4813CF5BE6D5418929DA074014E95D59178042E9F9F49AEFFEB71CDB076936258B0220F4BC34259B902ECD36B5CBD7A2B6D38D036A43D787751D9E487E41361A9A910D202A003D1FE652C9CAE37A3E1BDDD1761EB1F601B87FA8ED3792A7C8580080413C4C6FFAFEDE9DDA33E5B5BC67F2E28EC76683037B776B7D712ACE688C02CD1836834C1D0B80447C1CBC6AB6B354B048EFE0BAB6A33CA04D165F09C9A04EC75FB5E1C08D6B78273882166047D49F308F61394DDDFC2AFB730963936DB289233B16802D7EDFAFC5F9775814B30C869ECD89DBBC2BE7FA4A7CFAECED010B355B78185783E301471C8093E88683FBD50FF1479B65379B887E390C9D3C0DEAF8D23ABF9CB058C6AAA0948CC0A8FB717AC522F5A7D4C4B03A965B4E52807E49B8897E8F6F083FA69428FE7C7F04C1AAA1C54A136B2874AE3D024BEBD6E42E3FF60B8F2CFFA06E06FBBF54DAEA780488CDB47EA6F2417D955C866FDB7C178648DC4149ADE9E0F4E534590DA93BF0A1C894E6E95BF3E8B84F035FE7256581204E20D7B643D7271C596F70066AF963C94323F081A8DB52ED7C91475A02205E143E687CDBE6C725A53266DDD85320580A28883DB8CED7633478559CA92FDE3D7E25E700BE997075F80D6D2BE655966134B5D958D27C2C6D8F4ECA05F595BE0DC973B48F4D4905586553379D0957E538ACF3FB4938ACAFB2C3A7180DAEC157F0DEAFA851174967C98BEAC6B1A0557E1D993664393FF9E85175113EBA792FF43C10B6CD253E3A21D17DD938883AED11C05CB52D95DE86FEDDE58B25C666617C386A8E176148B3A2139F832F687D20BE936B95A6A3D230A9F6EDA347C44E28AC76B6EFFC7D92247D1BA7900FCA46E70B5E674D0044668F7F8F85EAFDCA227C11AC3F54C2AF05CDEA42237BE33BB99B0069D67774DF01BEAEDA1FEA718BCEF5A7A02E4FB5E25744BD327A9C4A947EB0BD9EB64C93263163156055EE6B7EF677D06F6AFE742C5F810E3FDB2A9DF01D90AE0D87EFA0AA471FEFAA642B80ADDE2F669AC0F407F7697E607A2CA049F67D43607A6213F0C16847B02E559E64750430172E3EFB227C073012971EF71DB472275798BEB504E74F391901628B8FFA0E1E80EFE0697CCE611586B9AB63E38D67C37750561B5CE5F32855EDD17710C1F4A43D0A4C7F8B2564329841EC175E26DF8F91F45F2DA41C3DE4740488AD73C477E057CA85EF0023C2E7B171ADCFF8BA9F4E9384EFA02CA08E69A517F793C0F415B5C169114CCFF92D76AD89C5F4F9E87C518FBC098028CCF01D787C72BFB67C07B084D7C138DA5CECBE03B1642BDCA8BD8BFD8A4B93627AC616648AE9058F53BD72AE02AC2A9482EFE0DA62F51D18985E27607AB1E6D8EECA22A6B72B22193DAF2380B92286EF802436B33DF90E0A85E9CDFC75122EA800880A0ADF416395B2D8B1EF20A0FEDCADBE8342637A271D6E4E53101560AE8408C7FA0E78983F0A92E52E18E8D1D1C4B561E5359ABF475FEF636EF01D084C7F60BF560D4C3F2D29A667EC4FC0F4F7E50AD35BF1B52D5AC14700730585EFA0934FE9DFA6EF80F4156E587760607A18AD33F1B3DEF5CBD821B1CDAC671FF932A7F3F466BEE42AEC9A1120B681C5E03B708AE921C8FFE325F907AF55E51ED3C7F2D0E9B3EB4680D88A1BBE031CC0742F1899D477106C12C7B1E5DE77E014D36365CEDF3C120DC7AEE7DBF385E96379E7F4D9D502201A818EE73880E9C9A8EF606D6462C4AA759C4ECFB5EF20154CDFB39372E1962ADF46ABAABA89E64A1560C5A0A8EFE01EAC3B58DBC6BA8388EF00DBA9177BCE94176663DD4114D32F06A6FF8E9B31BD15DFDAA2B97E043037C0A9EF0068617636D61D94D76A7747E7E9932DD2D8873D907765739EDEDCEE5C858B4E000423F2E13B30303D56E7AC4D3A4F2FD11A314FDFE8977F96AB4ECA65BE45A302AC98D0E23B08A838BB9FAF401A47BE036C62B1CA2E424B05D3C38339A1B152F9836D66451061EFA32E82CAC756317A42C91CD0A660A189AD60C3A8C4173DD8BBD8BF706FECFB58AF50C33DFC6DA6D34A2C60E9151B17F72C303DE3737A7C4559E10627545CDDD208B41B0130DA3EB056BD30ACF3D576EB0E9AD38915CCA6091AC676004544CE0734F232DF5B307D1EE6E9CD65E72ADCEE0440300AEA800D0884EEC1E18C8BF17C4AC6CC13989ED1E4628075A9B6B55D0A80C184814BF9A9E1A0B6047FF7BB211569B49569B0921F3AFD04B9F685A9EC98916F7BBAA7C194E26BFEC040A8AC89EBAB313638DF53CFE8F512894DCCD6F26BB772AD43088060FEF835DCBB7DBF3605061E0C45DE294987084C3FBD58615D92765946751801305A7F4D809F13E2DA0A20859B0C5AF31DF6BFC49F204999D5388B1D888F6BBFA10E27004657C255DCEA3BC03C7D33A6978B1AD31B6D4BE5FEFFBBE92462E0CAE7890000000049454E44AE426082), +(38,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001582494441547801ED5D0B9814C5B53ED533D33D8B3C7C211A4C088A0F34E6FABA82BAB3BC55506322A2F8DD5CE526312A46108902FB503E7707C118F11AD0ABC618231A44C4040524B0B0EEAE3CEE4DF2251AD4EB5B545051C0C863BA67A62B7FCDEE0C33DD353BBDCBEC4ECF6CF7F7CD74D7A9D3F538E754D5A953A7AA1965B942E1E8284EF11F30935510A36F70CE8FC882EA815D4801C6D897C4691B57782323DFF34D55817A59319915386C4EF45C336ECEE7C48758E3BC70F1528011DBACF894692F570636A6D722430042B5C68D44FC0130DF9F8EE43D9706052004312236A5A9467D2859A3940094D71993899B0B9311DEBD7429C048999C14828400B476FB8D5ECB2F5DA6A7D74CF404180E2AC47090E8EA5BC77C49B7CF762A8CE633A66C668AFF6D3F23333D21EFD99D14887152B8193B81737388C9691A86F5C3D34B2A1ABAE03960435942DB37E36BD311C43363D4484C9BD854C5B65BE3BC70F1502014E6C770537F06250E594BCD14DF6885F1F8E5D608B07FA7C77C3B558A11221A3053B4AB123CB554404CF315CE994D3244B7EFB57C0BB58A38287829786AAD82B0F1289CA8BF35C2E4CA262BCC0B173705841E67AB010C7C8A554110487EBFFF1D1BB207286A0A0825DE5A0161DD8500D82F4FDBB7D3A4D821D9782A158062AFAC577EE714F004C039AD4A12D313809264ABF34A7902E09C562589E9094049B2D579A53C01704EAB92C4F404A024D9EABC529E0038A75549627A0250926C755E294F009CD3AA24313D012849B63AAF942700CE695592989E0094245B9D57CA1300E7B42A494C4F004A92ADCE2BE50980735A9524A6270025C956E795F204C039AD4A12D313809264ABF34A7902E09C562589E9094049B2D579A524FB0189F458745AA84EFFA7F3643C4CB753003CED2D2BA35400B0A9F01619B2072B660A600B90E4F286000951BA13C81380EEC46D495D3D019010A53B81A43A004E987A0623C6DEEE448852AF2B8E8239047B01B14D3CF3920A80E6576F5F3B936DCD44F542C54C81D173F9B72251DD2600DE1050CC5CCD43D93D01C803118B39094F008A997B7928BB27007920623127E1094031732F0F65F704200F442CE6243C012866EEE5A1EC9E00E48188C59C84D41054CC15CA55F6E18FF320FF347A1A8FF3E338A380C067383B952BCAC73D82FED756DF8A4332BBD1D5AD0420143626C53FD1E7704EC72478DCBA429AB8C5E3B46FAF1929AF35169E725460D623D7B3687790836E23001575FA55A6693EDE1653D11104716EE2F4D7BFD07B02EF86B6704B25AEDBE80038357B9663A671F6D30BEFCB3C61DBF1BB4586D82D0460C27DBC0C7C39CD316F7080F2FEBDB1B31DE3173162B71802B6EB24BA769BB063D97B039648E3F880C219E8FE45B79FBA18330F49054AF8C1469452ABEB6CE8F73E1E3B5956AFC302EA45CD35C10AC4D9CED135895554CCD59DF71AB20C8A0056B23D40F9DDC6594A9CAEA90FEB5743EBEFDB5E5E08C7581EA55BCAEB22EF61A2B8C40F2799862AF56FED4DC7EDF845230023EBF80083E9B3F02DBC4BE0DD621067AF9405D5E97FBA8D7D9E2432BA737C01C598089C2A8A99A7E6FABECD3F7B021317FEB2A3723A0E1833639CCF0CD5EA9B998FDFD558195C99CC73F87AEE8F6D30AA604BB812D684C339634D3E45996FFD3C5B12DF6DF7A21802C4676D0C6EFC156CBA1EDCEA8F163D1063F60FF7E9FAC6E1F3F8B182A8C3EA229756848DBF81094F8361A73A20F4B6869BD81E8187CFE3BCEA001F59F321669C5694D7E9FF27CAF4D3877920F68AB18C4C8E91869F02413A1AF94FC0F7781A2BC291A94ED22C348EEB056058383A02DDF10B606AC6878F128443EB8C478D7A3064599CD37230E1BBCE08CA0CC5C76E4EE23252EF8422F846329CF3CEF9D91CDF597A7D87F12A187EA9151F82E2374DBA1F4230DD1AE7B6B0AB052034277ABE2998CF13D33829EDC0F41311FF0369641A30C160468F11293FF26BEA80C64A6D5932BAB19A7D34AA5AFD0EF994A1F8B2C6CD981DFC16F836C530899FBA732E552E93F110827B2B6A8D9B926137DE5DAB0388AE3D6618CBD1F23B3C1D43D7FE017485277D7EF5770DB3589B5F41998D791F18243EAB92FAB4CAF0B0713AC6FEAB2060D700FE8D8E30D064FC57182EDEC1B77B5777E4FDCE7EC7B53D402C6A3C28EDF689B661D06ED34E0FC6BFAF3065D2A82AEDF8A61AED8E5CCCCF4664A1F537576BB37AF5D18E5348F91994CF8FB3E10A38F2FDC8160FC514A68627262CE1AA2DCE0500570A8030C342AB1E2BA1CF3695B40A30E26A74D3717B3C3348613307F7D54E6AAC569F686DD576B47642564D617A638DBAD077AC7602F2BD47963704EE81324D1B8CA49B6CC973EAF7E9DBFA181BDC0500570AC0FEA8D14F285256FA80C84BD7D5B0779BAAB5E7D0DAAEC9E80918FB4720C0CE69AED2E675D64A5EC37FB108F29EE123560E1DE1B544F918C3CC8FDD03819B8A29E95E1F63B6CFB3093C662A89D98AB54E850EBB520054AE6E03812356E240219C120A476E13F0C62AED697C08E94CA6B04A62CA35A7F455CF5C3F53FDBBF59DCE083754AB9BA0349EEE57D8698CA9FD8550887CF00DE61066238B6479A29CEFC9E08586B1F2DA48C218925E9060401B50E89D4115B5FA6C93F89DE9E54A3D2BCAF5CD55EA23A9B00B1E5A76DE18E815B87D1F3EA386E6EAE0884216B37567D087D632B8B20710853CF928358CAE7585B5C08930E7F77F6F1EEF258D2B10D088199829D8998FA1EA038534318B70E5E55A0110E378CFDEEA788CF376FB3BEC02BBC970D5986A3292CE4C20000B849DC195DC47A15C2B0082607BBF4ACCBD4FB2120F447D5F3947CD6DA8B1BED889618DD4DF42D5B31DAB835960CD05BFE0477562D60795B4AB058033E30EB915904D6B18C1620755F33CBF5C5FC53EC31434A1A0A6270D4B659F7D11E3D674989B9E5D2B00C21208EDF43F6CC462EC7968DD7FB4C15D0068AA0C3C4A50F86C456134B9FC6E7E980DEE02806DAEED8232258A1037A268353CE1B67DA04C58C421352FAB6CFB57D25D60961F2D403761E1C3C31BFE0B68238617DBACE840FE6D3F4169E5A1B03E1509885549D8AB5A2FCE7BB1B821169FEE4A82DC7277650F30F601AEC110F4631B91182DCA9742054BE30C2C2FCFC282CD6CDC7F1D8BD12B9195F491BE8AEEE41BA8CC96B743405395F62AD2C6EAA5F5E23FC170704028ACD1050ABB5200BEDE23CCA69629155A175AE92F3A994EFD85404476D11BD195747E47F3E23E36C7FA2E7C18BE39221C1D6285173AEC4A0160261B6F250C56541A1B2AB537ADF04E0A0FC042C3DAC82AFA5E47D26FAE54B1A2C8B658DF8595F04A2BACD061D70980E826D15A2484579EEB4A62A10C4168034B8C97E8CC0EE5ABD0B3B6F798F97D1BACC000D72881A3E6F023A226F5187E77ECDBE8FE0FCFA00BBAFF0005520E1C19711D0D28F4283C00FC1895831898BF0B869F614D0A300D2E604BA1139CCACEA3FDD6F8B6C2011F2D457D66A7E320BD8115F3F4C18198BA33316D4C8F2CD073C10520546B5CC79939538FEBC725682059E48540BCB7AE9A7D924F1A05C7D2CFD2D38BACA031D0DEE14F4847A6C3011BA8EF26E1D5736F3A3CD7F3FA99DA16B8AAEDC26C2063FA671AFC759D740AD546BEC022D6A2C17D03B777D6EA65AE328AF8820E017097FA3127F31174B52DCCCF5662CEFE922D2A5FF0E0C5B426A8D259981A6EB3A60921B89DAFA70E34169EB5DC48F348E17A0EBFC2A7ACF97565B86002000F199F49E61D4E2A8BB97956423A79DF290E1B435B4110BBD50EFB0A22112A779A4E0ACF89E0C28B78D8DDC6BFA7DEE9E2878209C0F6776900EAFAAD5CF54D78DF28F4622EBC7CC56BE3E819A4F5BFB6F44CBAD006CB01F0F9144716CBB8C92FC89154A745174C007C664C0840AE6B2B14B46B9B2AB5D77321E6335E61645F8666F4EDF6E6213687085F42BC97DABC224B0386A341327857C03A30AEE5AD58B6BCD1DADF6AAC5253AED6C2B4DADEDC7833F58A7C6D996F63AC29BB981E779A169676B75A0DC228493FA7EFA7E3095F4284178A4D2402FEE60E6386C9796D3A0E9E1371165897046D4CE8925CDBC8A4234CCF486E3F145B9876336008F095F4221B473BAC70595881D50EEB0399173BB8C3B3939A3EBEC4624B3A33A3AE0DB94D00FAC1E70FEEE02D1727F6E12165EAA3ED39B7078ADC5798D2ED46D77168321D71D789AEC0EDA17458B667BC2B33FE6CCF86DF167C5498F78B72E33AEC0F68716031A569B79544A7C6154C00B0E8666B8D62ED1C5DEF8D076ACC69EF3EFD3AB87F9DB17C06FBFA00BCED2718775E423A1333B03885F91A5A2134FD0CB825B07F350DA418D99432A409F36EFB2E61DCD24DFD2F284BFFE49082452E7B22FCC006577B64E7420AA604F6F607DECD70EBCE564F4EC7EF8C46DB6542C5B4F1F7D6E440F6C322515A2C74046B5C320C4B1DF3C5E9D7C0ED9184893BD2E3C1A044314C47923C47E351B153B9BF242A13A438DB9C9AF9527E42051300D1A2A1E12F72520DECDA3AD7095E1247BB28B11C6B6FB19CCE8D7C45AFC117606412377987A1E7C8E84BB4060B36B638E03CC746D0A7495CA777AC6AE42C37846BFBD1650131F52CC855B02120515B45C59ABC3118E6D2A16DD69EB3B3DA8CB7448A166BACA29B7130148E80B159F00640F0D6424FA8C77D1DBAF6DD68A52747F663C8E064F3DD1369F9FCB4C09285A3207A9236CB8DB477288A6FFCB3B7B276AD3338CADC2152C1F70508E78F3D5FC786E38C8673C02C74BDBC2F1891E10C223689F4ECA31E2AB66839AC57020D2DFD4748EBB1F6BC23C305A3DED2CA68587B7A01F8E1F789448D9DA84F662FABD0426C58DD857C5ED514755D7D25FB529667BE61D9F60514B607402D5B99BA1A8FE247973ECC7BECDE614C8242E813617141710AB63889B4CF2258368E7E032F9FC390C03D688D998C6849DAD13F04F3447D3FD5F3D534825DD8B651279920F6095C62633EB17DC79CA04E7DF64AD9BEC6E49B5D7BEF30513AAB982F5CCFF6614868B6A62F7312B1E2C8C2C171F44B2CF05C829FE39626BA7D6B5A108253F438ADE56BE9086B9C2C8C0426D8E08CEADDC47C513ED709400BD1ECCE1F20E865A277B011D5010042B02A18A0E3813A17E37EDBD34946CD30054F871044AD4943084ED30D5AC39BD0ABB47125CE25E4B2B50366771269239DAE8872A50004189C3FAC6660ACABEFFE3C9AA11BB48740C2400473F02C8D515F08C1A560F0BDE81516E3BE12E1C7C0F4192C402762D808A963693EE013F1B3ED3D80109C0153F36AD814FA64CBFF33C3182486ADCC786604FD81E599B0C2870AAE04662341A82E520F628FCC8867F4A1FF7C6D50576D0AD157D25528C353E87D52FA48AA3C8C36067BD385ACDCDEA3889E6AD70EE3E374671028B28B7158C5D5A9F7BBF8219B12E8CA1E20411BE6BBC746234E03E2CDD1344BA10D23AF00B134CC149A841EC26EBF6FB129AC8062788835D3163D46110EA05B454F869EA45E55D45BAC786E08BB56001267EA483686C2B812C69981B9AD6B79A2AE369616A107F80998889BED0AE9317A41B68FA0B926B016A7900EE8D55B2D6BAA0E8E768B0FA0B506AE15005150B4BEB0B5C0E8567B1964484FE1B0E1E60990584A6674A34C08201523E033F847AC366AB2ECDA6BBB90A5D19930570B001C41966279788384005754D4F16F4AE09D068213E9C3487C8A2C03E8096374A2657C0BA9B27837C35C2D00E5732297A085D9FDE5B077C017D03B34253C1866603AB900FAC074591A108271FA07B484FFB970CE1DB272E582B956004275C63930FE2C45976FF3964157DCB87E46F0FF7355AE33E2E13D7C9FA2C83F3E0161BD4CFF9C9EEE980771679436779AAE1480D938E21DF3E887610E968CAB6C8B2FA88D4F564D4CB9C46EA264B82BEE500CE7C26E70A72C2FF404576061E949DCED5347D90B0586B952009AE7D1B168F9A75B69237C0671CCEBE8869FB32F84B305DCAB5EC47C7B0F0E89DE218E64ED4A41C014516C2FB72BA9A2D070463156DADDD2ACF57143D895021031758B152D45AACDEB6FA3CF86CFE7871A71630D187E3104057B09F911F0FB5C80BDF9ABBB728A08AB61358623BBBD02C585E1601216A2C6A64AEED207570A407365F02D10F67D2BCDC0E8FFAC08EB0FC6F7182F6188B0EDE543CB1B03FFBB7F9487F5191D5D37B0E6992B0CC57006CA7ABF0C0F9EC4B65E4C86574858C19783B3569E31713ED093D6788CAD37883E36DB05C13814CD6FEEEECFF55B2AEA22BF0C30EDC98331C2881E25C6A3179162F6F4736DA96C8F2284601A1C4C54946A727AB9141FD95635D3E3DDF0ECDAB500411CAC073CD4C2F08E930A7A431CF2B21AB6F8E514E01B46CE50B7CC6E39195C9AA8F0DF7F7367F43B3C2E0E883027C04D30248619818CB4BEF2F9D4B365874FA39C0C5E4895E8FAA7223F7C888AEA3063107B025C71655B0B70B500CCC66CA0BECE7802ADFA8759A9D8B26A180193CAB2E2A445082622B8DC17546F15CA64320AD3CE1B90C6242876A763A891CC3E9298CA7F37D7B8D3AE9F2CA1EC9E4D005CA903242B205AEAD127A993D0F6962461D63B5AF61445E5FF06C6ADB5C6C9C2606E1FA14BC423FAA2647CCB0CC27C088236A46DE60BF3B45974D6BE643D6577570B8028B0F0A069AA5627E2B0E53BD0071F70D2C033BEEE7123E21634DE1E7C1B67F18EF129BE9110888DB28ADA616C74F20C7F939962D348CE0BBD87EE23C5556714E72C740E04D70B80283F08CF71FA562DF9D47E1084ABF1BD9FF1382EEE7830FF7FD2EBF77255603DD6DCCF53C8370A6FFD0EEFED4D8F4F7F464BF7E9EFB72CE040687AA7C7599F11BF1B85F88DDF4F6795DAA7E3DC3B0BB07201E1E659096FDAC592A80C50634D601D00EB7044EBE4886E7C1FDAF91830FCDA0CA41C0130FD6D58181AE134F787A307A97F424F64E478A528A38B4A00DA4B61F10107BCF3144EE95C4931DD2600BBA2D16BF19DC1084EEAB0397A0A17B197AB83CFB737CF62C32F69014832C38FF3BE627B92A1037730FE57D94C0AA6922DE6C0FBA5F054143AC0C112BA619A18C3E9B3F6A483959CAE3A93B03DC5CA3B6EB7108016AA65F9F88484A430EDBEB37E965A90E56649713A15D46D04A087A64E8126BF29173561C1FB14C7BE5F26661EB9704B215EAA03C4B85B378C749CE44221C44CE03C2C1D5F0EFFCE91F83CFC40AC2924EA0FA683D96C1BFC77FFDCE7A8C0E309AFDE8E67E5CA37B3F1145F45675F8230195A30376327A0161FB8B2260751A8D656FD1C9210BF6E75B5F234A3CE82F742D7DD96014500DAF1102BCC0B173705A43C05EF15385F355AAB867DF5D342617E8C15EE858B9302829782A7D6D20BDEC3DEE193183B705833D7177B42602559F185050FB9A93F837E3DF3006E5445F01EFA0FD6DD6BF54D6225CC5E3DB6131232DFE4CA26BFDFFF0EBED489E56EEF723B0584C2178BC50629CC1CDAD2F265CC679BB16E3234A1052B3E659A19371B21049659013F1C09D412C52916C3CFED35F7CA974101F04E7A619D2326782E2213760071A42976304E95627BC012A4009B22782E2A9632043557AB0FC2DBE126211D255863AF4AA04082B7E071538D9A3A3033250082424208D035540071B347B1D2A280E0A9E06DA2A1A7552DA104A685538FA1707414E3F1CBE10F19C25082EDD876452285EC3DB890026C2798FB89F0A5C14ECA65D86E5F2F2BE4BF0095624E95A2E1B88B0000000049454E44AE426082), +(39,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900000924494441547801ED5D6B6C1455143E7776D95D20C64830366A109F89C148D468541E52158442A2F803C52889311862A2024185029A08222A46893126EA0F341221BE31B454B168ABF84463A2FE004DD060D4201840E8CCB6DDEB775BBBD99DBD0B7DECEC99D939F3A39D7BEFCC9C73BEEF9B3377EECE9D21625CF4A77412A379310D041C2E14F40EAAF30ED3D71D4DF428970F6297487180A09BE8548F6887D634CED8578A9ECC34D0431CBEC4DD66D505A0B7D128AF9B5A35D1F842F02182672182458575B21E3C02551580FE904EF6B2F411C8BFCC1F1A04D0E93874796A3A7DEF6F9372700854AD0F603A7C6E965ACA90DFA534CD15F28323BADC91AB9201740B8D74BB691B699AE877040EE49443B7A767D0EBFE3629078F40E01940EFA4E15E17BD5F8E7C47D19D427EF04497B3106806406F3F8DDEFE16F4F6A7F91DC0355FA3FEEEE133E9657F9B94AB8740601940FF48294FD35B36F27BC2D374AF905F3DA2CB590A2403609027E975D01B20FF269B615CF3176766D033B636A9AB2E0215CF00203DE11EA38DE5C8C7ADDE3221BFBA241FCF5A450500D21DB78936C0E01C9B5174F81E41876FADAD4DEA7810A8980040BECA36D34B08E3766B288AD6A41B64DCDF8A0D6365C5FA0038F35F800816D862418FFF690CF32EB1B5491D2F02151180BB95D66384EF3E5B2820FF39906F6DB36D2F75D54560C897009CF94F1D87FC1771CDBFBFBA2189B58120901CC8C6FE6DF15BFE6AA47D6B6A87B236A466D00233E0E3DF4FCAE14160D019C06BA295A076B93514451B530D7497906F4527549583EA0380FC07739A9EB04502D2DF40DA9F8BFFDDB676A90B1702031600AEF90B91F6ADA37838D8B6B4A2F978D0AC36C94F53274DA18310772E5C340EDE9B0109C06DA67B748E9E1FBCB9E8EF09F2BBD0A9F913C07DA315BD9751B4454DA783518DACDF02E868C6355DD34B66C027AAC106E13704711498ACCB8CA075AA9EFE0DC24690C7EC1799FA233ACBF3680F021D16A433913EB6A27D8904DD94BA817645298E7EDD05A8EBE857287D1ED4529BD7F64A30A6E9CC5C17B57BCD34BB1287ABD631FA9501FA9C4170B7A20FF01AAE8189BE3AF95F8C004E14D749D01464822F8B5BC2591A90004C08C713010EF6433A81A77F46D3DFE10C77885E6529E91EA13A47D3E5BA9B6EC38970A3F5888AFEC80CA78BD127083D0E03168009F884225074AD6AA0FD56706AA8B2B399AEEACAD1268434C61F1632C17AFC06B2D05F1FB6F2A00460821011F452A9B7D369E8207F8E6C707621B900369BCED005A6FF54581FB6F57E75026D4E63B46F93799C1B8196740C01C645781EB0D54C01B3ED5B4B75EA7AFA0BD7FCD97E1C80412A9BA5B9618F75D002308189087AE935135A90F25FF1938DE1727B1FC1BF2163794802307E8B087AD9431628110006CEAED0DF847BEC64C8021011F40A2099A29DB80C14FD4680CB804307A8AE778B70FEAD8800440498E25E8FDF0854E96D5F672E26021011F49CE1980855BC202BA48B6BC255AA5806E80B4BFA047D4844E37FC50560C2161144837CE365200230073E91085CA2B7CD76B2F0221098004C58E544807BE64309458B794317EB06814005600CF84560C8C714B1A97862F86BD32E0B2F02810BC084D727023C4B7440C8E725DC6FBD2A02E8134186E81C39F3FD14F096AB260013267E223ECC1BAE58F723505501F88D4B991F0111003F07AC1E880058E1E7372E02E0E780D50311002BFCFCC64500FC1CB07A200260859FDFB808809F03560F4400ACF0F31B1701F073C0EA810880157E7EE322007E0E583D1001B0C2CF6F5C04C0CF01AB07220056F8F98D8B00F83960F54004C00A3FBF7111003F07AC1E880058E1E7372E02E0E780D50311002BFCFCC64500FC1CB07A200260859FDFB808809F03560F4400ACF0F31B1701F073C0EA810880157E7EE322007E0E583D1001B0C2CF6F5C04C0CF01AB07220056F8F98D8B00F83960F560485F0E65F53C84C6F16EE04EB8952D72CD297E7D6C519B1404014140101004040141401010040401414010100404014140101004040141401010040481E011C0378DCA2F331FD7A71CA1CEB14E973A3947DD23E49BE1E5B10A550BBEE5EA50E2582EA90F9D44C3F66E5DA6FE29E79F550093D77837E333F1CBB5D69796DB51EAA3838052EA5B7CE6F7B1B6C674C9677A8A0430659D1EDDED7A9BB5A66BA3139E78DA5F04F0B596D644267DCBC74B54FEB3F679015CBF568FF1BABC4F40FED8FE1E50B68B1E0210C1DE74327DCDF6A5EA37E37D8F00A63DA5471E73B39F11E9F1D10B493C1E3802EAFB1199D4840F1E50477B1E08E9F0B20F97255F990E84DE05E5ECC1030FF81CAE2C6147009FB055C8E4E7E3FCBE8CB43EA5D45F3D1E27FC4AD42F55539FD0A7BBD9EC2FE0169FF4295894EA04E9AB1257A71EFFB85E7515B4C86A441098B24327BB776697410C2B218461856E43236E26953A37E9767A73705A17938F2DF1B0E01D6DCBD39B0B7792F56821F0FF89BB6AF26A6F373E6BBEA9D07B73C21BEECD43A1B30A1B7AD6957AA76D85905F824B442B0C9738E3DFB5B83FCBE9BD56143721F597DC2F166F21A5C821E0D05B7E9F0DF7C800AACEDF904CD077FE3A29471B013BA7AA0E02D0297F68094A1DF1D74939DA08D839D529D3079025C6088800624CBE095D042002883902310F5F32800820E608C43C7CC9002280982310F3F025038800628E40CCC3970C2002883902310F5F32800820E608C43C7CC9002280982310F3F025038800628E40CCC3774861BA876F7135C91B447D9844BD68E514DC3B9830B0DF1F9CCA7917FAEBA41C6D04AC9C827B075387F795849653134AEAA422DA08583835DC9B4E60AB3F325C13EE9FFCA48BB965B2D40202864BC3A92596562741AA64C2001E151F91CBAAB7EBD77AE32C3B49558410301C1A2E0DA77EB70DF73DD3C327AD765B304B649A7F03A4080F3BBEAA94F30569F533D205A698C912760440123AF7FA3CAD735762E2CF3CBCE925EDF719B3BF5ADA5764A6F7F6F61DB548E5E82B6C38B270C3FF779C8F03CD37F5C27E213A215FCFDFDBE557F20EE3C43E0A892C36153D0341ED8DE99FF00E9979508B709C87A9565754CE706D38CF0BC0AC98170839093D1BE302322DAC66B957470CC7852F8B2A1A0A6E6BCC6C49E9D425984AFC66AD6210D7B80CA7865BC3712106F9974415569AF5896BDC0BD0F19B8D71C249B88A9C8101A351E83894DDDEBFBF94F91040875E23931F0459BFE37531EDE810BEF3696366B7CDA3FF00991D68D401D15C800000000049454E44AE426082), +(40,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900000B8D494441547801ED5D7D8C1D55153F77DEE7B6015A690DA5FA0741128C609B60C5CAEEB6B5D2EEAA582521B1095A35FC81564B20D6A5DDAE31D97D2D1449B56A13CA87C68F48300445CAD66A3FDC7D048982452BC1D08255D85A1A5AADADFBDE9BF7E6FA9B6DE7391F6FB6BBE3BC37F3EE9C495E66EEB973EF3DE7777E73EF9D7933E70AF2D9C68769B920FA2449EA964497637FA9CFA9B1160B415529E938097A4D231A961A3D96EFA1C3B156BA85CAC1C7CE4D1FA6C55583B6417ABD33478D140CAE810C8FE488FAC547E8841A5605B7C24180D2D3F40554B51D574C3A78956D53F2682A45ABB23DF462DB68DC0445EB04280DD317A541DF6D421BB1AD12C69FA20C5D9F5F41AFC456C9262B364100B3DBAF491A49C895EF801400BC9C13B410C341D9919190C444577F7ECCF776FB824E6A82B6A167780E93A757F26932DA0D9772953A30115C00CD7B3099FD2C485EEFF54C5B20BB1A9EFF120EEF6F37DBC2D05798B37D80F3EB06958DE453F429D143C71AE4B5A5687C372D13357A1C4E9FED3040D0897C2FCD03516A0E7902129A30E8668F9DB8F25573BE6963470FED171AADF3D82B696E75983A3DF204083474885D6E3BCD6E5FA52BDF6E5FAE977E842BFD8F7699798CB1ADDB2D4B425A437738DF6DA814F45BB74CB1F4736E7B80C3E56E5912D21A66416F731B8A8992DA4FCA84F7B60F367B7070E3A2621A4F47BD5B3BCEF6BD564C2291E6E4DFB9615870DC1D3873D54D352480BAE6B2656E0498006E441296F63EFC890000F934E5748DAECEA4E8AFE246FA57042A24B6C9C87B80CA1E5A589274A456A383E50A1D2B0FD3EAC47A2302C32327404DA76FC1EE895B51CCCC3A301B7FD0EC1122C022914D464E004CBDDF6B471E04985921BAD22EE3E3E62110390170F3E5D521D540D63C0C125DB317FC44C3913CE39900C9F3B9C3E258DC063A348A59A277BBBC78FC2CBD3D666AD5D5D1AA24458AFEB977A378AB2E9CC60113C007ACAF4BA9ED2D541EF9F7E9CA6748E2EFB1386F788BA16BA85CC603EE5731A7DA459AF6B3D18D9967A6A2320F013E28EDDBACE3ED21B926F6CE3FAF3F74CDE12F8E7763FF1559AB15BB064BC5EE21FD833EE6D5C54C803A14CE03DC8E5EEB94B4570ACF546E3064ED99AEC1F256B337F3D3DE37C3AF4072E4F2800AB6A257588FA1EC49CC651A3E5C6302F878797453EEE742883E0CFEAF93107AAC7F3E3658620C0B1F3D73BAF28095B6EF79126847C3750C126C85C8FCC57A5B719F9CA9D7F477E935F93121E55A0C5FF3DC0A9BF399EEC1CAEF4606B28E6F3FB8077023D586E93DEBC5D9FD77675F2CF6E70A1DB9DC55788EDAF06A37841C5CBA4DCEB29BC804B0A3A1C0B14986627FFE760C59431E73A49C5D3D5BE9B3CB99007634143A1EEDCF7E0DCF043CDF7B6088B8D56E662CE7009A4173E46EEF38765EF1325E593F6937828FBD0860022B97162AEBABD2F8833D17B787EFE8DC52B9AEB821FBBC298F650F804FD5F6976A34E6F37BABB48BFE54DE4DEFB11BC6C75E040EF4670F622838E4CEC1D7518B2D59E404C06D96E70D5D4B39BF3D0A5C6318F47DBF7C96DB1010D2FB4858CAFA3710911300CEFCBB4DDD291F82380B71BB13B9FE535638A2133543FCC3D3B4A0CB2C59E400A653B401EFE44FBF1790F42CCAB5DDD7CA16F0ADDAE36F2CBC60E5D9B296247A02ACA4A7305BBD1D14386E2935D91E4EAFE2FCDF2086C99AC9CEE3BCA921108BBB007C9ABD13EAEE94BF47BC8E0B6DD7518DAFFC0B8134F5FC5810C05257BC8F74EB98F7AD4120F221A03566722B7E083001FC9049889C09901047FB99C904F0432621722640421CED672613C00F9984C899000971B49F994C003F641222670224C4D17E663201FC9049889C09901047FB99C904F0432621722640421CED672613C00F9984C81B12A05455FC55AB065141F17AD9B4DF4A52812366B4704F60018490BF4A05E37C6D905EFBF09249225F354764781A73038598FA4AAE1866B3D3631F08F0862D3F3187660F30E2B6D69074E7241F66B84F6FAB340251DE8AEEDE119ACE340071F347DBCA90909435D70B78C2531742A7E3A38C47552381B9640CD63FDAEEB1174BC6A47BA9E891274090EEE8A5BDE3BBC85C40C1DD2D76970C3A842B669BB98004AE9AC3ED1846DEB168948145A3087D9E6B83E05E0C01895B2FC88461E2A5D0B44677365C360E3D018683410BAF52A337CCADCC18EF279BDEC3F92F2374C67762AC7E53559BB80DCCF4D2B3B82EEE686A4B31AC1CCE37178EFC7852D70C345D527F0E8077F37760F6BF165D613586BE6A864A47B5142D4BF2AAA10E02980993042931B17A966751A56678208A3A71D59B1F963C9817B428E9EB069BF87B3E0C99180E883E30B17CBCB9A6209695C3183A1FCFC9DA725125B347C30496978FF7B9DA3C04B0CE33EF0E706CFE78531881FA1C40611BD9B4491060024C024E12B2980049F0F22436FACE012629E39BD57D4FF95AD2C5FB358D9E9F884FE37B2667C40581D07A80AE42E53643A78306190F61DAFD02A252AE8D8B91AC873F02A1F500D2300A68E61CA1105F1FFF1F14109E748719AECCBFF9E6E42CD952596454E526D47E45735A70D52AE41B52A6EE2F0E643C71F95C67C62E190A016E7A40CE38F566D9B1AA069C7FC987B74C3C3BF0BC70D24C143E3424E7576A15DCBECA8B9AD98EA36E33B4BC305676174A5B47FAF3773BF2629E086508289FF6FEC31695DD55A12FC7220FAD73BE65287A3D84AEEB5B3AA4775AA276D887428058196A88D7A3D4A746467794ED4FB76DE508303290D987BFFC7F305D20423B5F523EB4BA5A505128738016E839AD268A03B9355D9BCBF76228B8029351FCFFD39C0D6F177D1953DC15CDA9BD35B52A490013BAD18DB997B0337F4DDB3A874A9F685AE52DAA58B921A045B829D30C1340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A8542804B52643442046B4C85527FA3BA632B13F15A821611B21AF9A0EEAF4699D3C6F6A777897184843DEB2E285295396E994A69D87CD46D0F62E4FECD2D8B326D48D1C007E284A55328043857993C66556AED113CFA1AEB58C57D96B23B7185D5035382102FE5F39947E364AB1086C707828CBAAF422480F8B3DB70C4D0BBD92D5329BDB75F1C97E91C96A1D53E2F34F1E95973B38BF6ACF7F68451D9BCF41B728E24E1895C8A7594EABE0A2D4E20D8FF240244AF72182BE816046C1C3C1FB3CF91A54AA2B8419C822DDF8BA33DB5717D23826667ECBA216EE699191765114DF5DC165A0F2045E61708D1EA585B148448219AE68F57DC27675A0DF2BE35082C29E8379290EB3CAD09DA35BC4E942D79680418DD284EA017D861555CDF4BB9F03FE5F2EEAECD726E5DC6074D4560C950E9A69A341E372F406743C248A7FFB714B099176A1CDDE59BE5A588D57F58929CE56C180D61856EFC0A1D1DB91FFEF22E71D29DCFE9FF1F8165F75416E8BAFC2ABCBA1A7192BDBE15F4707153FE367B4BDE93ECB9018E97144ABD35433C85B1A761EF8231A80AD50E618238867DBD2B0AD01417A9232067C391576281CC77D645EE03210EA56767171F582BCED8B3422780593956CEB8038B277CD3DE101F4787007ADE6342E66E181910AFB9B5680A01CC463A87CAABB17B185D5187BB514EB70E01CCCB5E4865B2AB0EF4355E48A361371D867AC54DB99F64D26231D857BFE508A35EAE638A08083C9D25B1E5B219D94E3FE79B3535AD07B0ABD955D05792343E8731AA1773838BED797C1C3602E22FF0EA131D99ECB77FD527C62E547B4B08602971CB6332FBE6117D8121E57C2CE23E0F2B6DE5AC3CDE07474090760A5DFD58CA48BFBA6F401C095E1397640418816421F05F7AF90C37915448F50000000049454E44AE426082), +(41,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900000DAE494441547801ED5D0D901C45157E6F767776EF083117408829AD42829152404AA2FC24E7012181A004F9B10AD1124C295A9128559084E420075C024928A2145052964129F12794226591230992E312E52F42156A5148300A462501EE7292DCEEECEEB45F2F59989D993DD8DCFCF4647AAAEE66E6F574BFF7BEF74D77EF4C770F91DE34021A81F422C00793EBC3BFA1C3CC76EAA894E910CE512668DF724455DBA07D65417BC6CDA2DDCC2482D6117579892780D846EDD62EBA1A91B842083A264200778200F7E70D5AC9E7D09B11EA0D5455A209507C84660A9BEEC37D382950545A280C000EE16F7EFE3CFA790BD994B9D450C692160D19E9A37964535F9CC19726A3E6996013DD5F5A4F37B4E882129727B206283E4C6703BD3E801F783B3FC6A87CBDED3CBA778C65449A3D7104109B695C71845EC6ADF7413FA4E0D020313D87B43D7EE96394B5A39FF1299471A45F39E81314F319FA18CFA657FDD255946555346A349B8AFBE81AA4FB05FF1504E01B8539B471B4FC41A4597D34CDB6692D6AA04F3ACB03390A56856E82EC0AA75CE5E3C4D50023EBE915DCFD1F76828AC0FF23DF4627F11934E49487792CD653BE2868003A3EE3D4B3BF16381CB5C05EA75CD5E3447502DF7A988E72075F028B3B715E94C1973A790E950C932EC71D64C9F3FA56AB05AAB53E4A5DA4F43E5104C865E8300F9A4CFF699B438F79E41108F267D30B82E9598F2AA68F7B648A0A124500AED238378E2C7C02E0BE28C4733FFD783611DB7389565D4D14012A4C9E4E2BAAFFC1569D0EF27AD4005EFD4C6D41EA08B3AC4411204C20D25AB626405A23BFDF6F4D004D8094239072F7750DA00990720452EEBEAE013401528E40CADDD735802640CA1148B9FBBA06D00448390229775FD7009A00294720E5EEEB1A401320E508A4DC7D5D036802A41C8194BBAF6B004D8094239072F7135503E418D3415D1BC6E5B7BB44919E6222887700A8A072A4468C4159A2086067E92D8FAF4C277A64510ADE9E2BD8A011A4F86F8340E1936411A0E89DF029178528F6D1D43830C644D5C3312D699A4737D30E8F4C5141A20850F83CFD0B55BE671C3E48702FFE22F7A5344277635EC2A1CED8C23EDB14B4C12953F93872D0C60206AA56D90758E72943D0A958A06183D8D03869D4735D4002F1084DC424D55F807497788A64DA847983BB3D724505206CB236F17B9A5C2AD24BB8F33C9D2F10642FAAE427B03EC0B3702CF0F501C0BE76947B12749C06FD13DCC841BF303234CD9C4D7F72A7A97A9E38024820B142C87C04E04ED54005016EC3FA04D7AA66D768F6249200D2A1E27ABA0355F055A33917651A82FFDBFCB97411F69E9FAA51DAD1AAAE44F5019CCEE14E5B00B0AF0183AB4E791CC76CD0ED08FEC5490BBEC42AB135403DD0A54D749C28D372B4CBE7A359886CD128041BEA6833DAFC2568F39FAADB93B47DE20950075C3C4A87952B34A75AC5224D4493306DBB504F73EFB70DCF9AF8F79113C63BE51F6D7B7EF8E4F11B475DF0D1C0133ED4EFF221CFCB8502F5F159B4D35946128F0F1A02B402FE8C5E6B8D10F6F79C79988DEF6FE936AF76CAD2709CD83E401A8213858F9A0051A0ACB00E4D0085831385699A0051A0ACB00E4D0085831385699A0051A0ACB00E4D0085831385699A0051A0ACB00E4D0085831385699A0051A0ACB00E4D0085831385699A0051A0ACB00ECFE2CB61DB7AEE1D223F324247646318C459F7AD5429DB7897DBF0260F6FC5EC99B78A8FD4AF896A8F8F4EFC6FEB75EC19E81A95FED0DF069EBF521CFAA655BE18AFCF2FC0E883D38510DE35FFA3F256513D4C5C04367FC3D2F3BF1306ADDBB234FF7C54A68646804BD689CC6B2F96BF65937D039CF1FBC64F543E264B0F8306821E30C85C3C703DEF08DBF85008D0B5464CA8EE2DFD0A63F66685EDC0C15A3E33EF31585CFAF8D2425F983E064E00B4A31F2896AD3FE04B3E9F08D3F07494CD36C61B5E8626E19761F91BE8AF0059ED972A2518AB831F4CC084815A746D57AF757230E5794B09B406E8BCD9BA126DFE0FBD6A2061DE86FFAB98CDAD672DA1D77A9813357CDAD7A70084B2933C5C2E4FAD0AFA326E9CABD001F0F965C67F9D34D53CF1812FE1AB49016F811160D66A71C848B1B41D3FAF8E72DA881E6E053DDB9EEC69E6CAFE33B8E24CD3C78D08C83BBD2AC47D20C1718D29448661CC1B586AAE75CBC77A1E581350B4ACB9EEE0D78C63BA79EBD2FC721DFCF70E557FB7B90D35E46C5497C3EEAB6D21BEED9605711E1801F064E502B741E8C93E9B39DD5CE196EBF3E6080C74F3AB86C17EA3933F7D66AF98DC3CE781A504460016E2548F094C6BF49DEF41E53D05672EC9FD0417ED6AB850082E93754A832C8093400880A77BE84B7043DB2F6D63DBC4CF41BDB58A80EC20A3EFF4A4279FE00F7964631404428073D650875FEFD598989C79F263C431F8EC2C1A6B809A067144D08A022140C9F65F9DE3D06CB266CA060DEE58CA4387DAFB3399839FFB180801C6E2A8CE1B2F029A00F1E21FBB764D80D84310AF019A00F1E21FBB764D80D84310AF019A00F1E21FBB764D80D84310AF019A00F1E21FBB764D80D84310AF019A00F1E21FBBF6510784C8973C67AF1C1C5F299A6DD942C66C66AD6570DE2EF185EE74A360AF33ABA3AFE357310A16ED1B2A76D184E19E9E748C12EAE911463F0D8DA7F60985AC5DF4C5B52A72D3CA95EA1427A63923F3974CA6FC67A7ACD971A558B5B2056B64D3A28E61BC96C79365FFCD97009DAB8AC70A8B1622CB5C8C490BFC0584AF29CC8330F361BC55581DE5B8785F5B4212CE585E3A014FF8AFC5BBD3F348888E90D434148BF50CE5C2D50FB149AB0616165E6A48C4490301BA368B6C656BF9564CE2F8AEDFDB3D77E670CEF12A94C58F3393F30BFAAFC084898360EBBA5714AA3B4B58DA96E761DC5F2CCD6E6D681EF10FB2D3738B9D6334DE2140D75D625C75B0F410EEF83355C01C063F936933E7F45FC3AFAB60CF81DAD0759B38BC3A62ADC70D35ED40CB08321F6A84C7321DF9B9FDF3B9F6F5951A1B655B5F1DB47EA64AF0A5C312B06AB1F4EB6FDE23724102106559D276E9832AC1AFE18A1BFCED58CB413C44B521C89DBDE5EFC0C8B9CDC04127E20D44643BD2BDEFA89B657A1F72980023C4D128FB48BFCB41C8CE17765BDD485BE697AEBAEC855DD6F5E87D7536B593E935B4C23B6A93C19A5E74400906909DD26C1E26E4733B9797E7A3E43B598E4B1F2C975EF6EDEC313F98CD980BFBAF6319FCD036392BB754B16E82615F732B01F9F6664C734AFF42966BF42666EB5A258EAA5AD676F87488DB68F8F4D37CD6BCE1D1C5FC8A3B2DC8F3AE5BC4944AD55A850EE717DDE5CACE61472E7F4C76B052BEC837F806F76038F78DEE8C619CEF07E2F2E9BDD6D324ECBB9C3A2480D572E9AB90AD76CA553F963603574FF0898DF95893F8EE28ECDF7FE35E387D796919D9A2C7A953C65CC6DE4082A7EA47CDFCD4A463CD5E6786288EB74A6098BD93216DF2D818853D63D2E167337CABF938A6825BCF2C632963EAC989D81B82C5F1EE0461F0DA30A621B9F5F89D63C1FF1FB9E582D863A3FB1AD5CEFD6CF6F32D0ABB652C654CDDBA64EC0D123CC99D808731B17DF42897357D748BF15FB847C4FA85500F46A308D06CC9CE6DC3F708E4E5FEBE8D525090497E3145ECF133D00B6C8173BB83D4DD4A591DA6FF50F2A1377CDAD3560A8EF0DA1B6F6C7CC05657DDCCB77A7A987BFF988AF6DA73803015EBB2D546401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D81592A9EAF505846291FBAE6260A7633F9EAC638DBC47F6CA2996F4DA00854EC1753197BD4003E8B1257E21B872F462A3E7300D8DAB29886024524C4C2962DC36C4762CBADC2DF37F755219DFBC654EC323081E19F1E95B638CB238B4820AAB657378B57C156809A8CAD662B6C765BEBEB9BFBA2B0CE7D622A636F80011BDC3A9170E5F415D667DDF2B0CFCF58599C8A282F72EB4135E5B1D17D8D6AE77E364BDFA48F51DB2A632963EAD62B636F880CADC37CBC86BB0B335B326CDB0F76AE28CE71670AEBFC732BCA332A65EAC334F5825B071B197C8A2E599B9FCDD237E9A3F4352A6F640C652C654C1B7422E632F698C24434A3B784C521C4650D17D44F98FAD19E3D894984DBB13840A0EB031898C58E8F211D8D2569A6C9F5A8D01FF1FC2AC134E68D5BBA0BB3EBE624693FA3B7B801B37067796DAE2D83B30977E533E885EFB06DD967086E038886CD020B4C89535072975FC968A6EEDFD29DFF4A6D81881C998B2C2ECDF45DA8A15680E80AD8C69A4D70BCB6BDEDBD1F063C9CCD89057E0E244196CDD182B2C54F2310AE7982B50F4282D462366E80C05DA9C13A5AB1589842C65C2AAEDD718F75F3CE8C91C12202BC2F706B0EB440E6B29111976E5E5478F1408B883B9FB45DFA8026B61CB72DEFEAE77D32D632E652F64E95FBF892DC134696A7A3CAF5F45EDFCD1CCD11DAA5D70D32660E2C29AC8F4663785AA40FD217E953785ADE5FC932B632C632D6F51CEF10400A06AE339FCB67F3C76331815BE2A90D186B4E1A7764DAF2C70D74E706EA46267D2F7D913E49DFFC9E0F84EF1FEF933195B1953176EAAB75029D82FAB1FC142CBE023E5BD83C03BDD7C9E8A84D445AD3EBEBF95ADCA3A5E22162F16FECFF98CF987D582E664F8B6524EA72F975F552D53A17EDFF69589B019F811313E040E0B8A283F92682BE930DB1A59033376CBC96F7260A286DAC464023A011D008848DC0FF0189D4E5661AC3EA800000000049454E44AE426082), +(42,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000012C0494441547801ED5D099014D519FE5FCF4ECFCEA2A9403C2026C64451D168AE8A154B1634A22046C4A4D6D25C1A6244A20972B9EBEE724476D75D40E27D6019CBAB1295285A012151615934924A4C34A858094999182460098901767A76FAE57BC3F61EDD3D7DCCF6F4F4EB9DAE9AE9E9FFDDFFFFBDE3FFDFFF7A180DC36BFCCDFC332CA7DDC4894E624C69E86A4ABE300CD9906F321B4E0DAF6DE347323DDBAC139F459C27FBDACEE87900A1BEAB497DB58F364C7E0C0B009C7D173F2CB74F9BC3392D80E00FB7952D631CCCF84592AB0B5F5CC876D8C6892131D600B8FA3E9E7C734FF60744FA22E274B427F931960516EE4DABA9965F2F60BB3DA59138522C01C0396713DBB43A9DF33608FEF862E4C388FD8F182D4F8C54576EBA16BF637AC50E00139666BFAA93BE8C887FC959664C8780F7179C12FA13EF5648B9E9E4A392AB56CD64D97E723C7EC50600136ED6BEA0E7F40EF4F8F3DC4483DEBD2EA1507D2AADEEDCBF3FDBC8885FCB89573BA663B44321D6D4D9A43EC1304738C69528507A0008958E7AB4A5E8CD97A3373BB787B157D09BEB373727370F94D18416FE494EDA522C12BF839143191866FE0DE1BFCAB952BF6561F27973988CCFCE0C8B708B0AAA747675666CBBA250D3E6C6D45376C106ED9CF6CCA93D3DD48135C48506ADE03D26AAA37400C8AB747BB5B91883E77B98BF7792A2FC64CCD8E4034F5ECA720585690A98D896AD15D309A685334D41831F63A03A4A03003F2A1D86E9FF4052CB46D7A83F7D722E3B38586ADE9F26B6642ED139B50208E31C5349AC3A461E007E543A083E43C4EEAAA949B66E98CB3E70149AC7C0BA277862D7DBD9199CE98BB1C03CC62999501DB1825851F551F5165954C7480360FCD2EC241871DA3DA974448F5627D585CF37B07F3809A9D8B0BA953CFDEF03DA6C2C14EB31227CD4251F6954C7480240A8743CA7B783D9E7BB309AD0EBD72618356C6A4A6D738B1B44F8E4957C940FD5F16FA81F169FEAE3B84752758C14008250E98210B2973CE2A23A460200E72FE7471DD432CD50E3AFC1CABE7F97CE4E121E553ABBA4A5A0E555C72CB5635AF89A6BFE11541DCB0A0043A5C3E26A011878980B038B52E95CF20C2CF8EC96ECF81CD797A11DEEAA23A7C793A4364761D7B12C00E853E93856D6444739490173E77F60E5EB189D566F1D8A4AE754469061BE5447E2F7A553A9A5E5DC750C15007995AE55BB140E19AD6EBB74107CE02A5D908276CA2BAF3AFE25FB3DCEF52551571D4303801F958E317A2455A52E2A954AE724BC20C3FCAA8EF04A5A3AEEC8E47D61EE3A961C00B5ADDA1789EB374751A50B52D84E794559752C19007A1D2F5BA0FC5EE665972EA12837743626BB9C18297B58AFEA78133AC377A3B2EB183800FCAA7409A2C6CEE6D4D3B20BD74FFDA3A43A060600A1D2F5ECD3E6C1CF66BE17958E91B264F449C99FF9D9A5F3C36419E24641751C3200844AB77D77F66AB8612D02D35D553A14D87E748D7A9B0C2A5D5820AA6DCB4CA71CB5A1E3B8EF3A06AC3A160D00BF2A1DAC7C778E18916C0B6A972E2CE184558E5FD51182BB4519A5AE18EAAE635100188E2A5D6840F0B9EB3854D5D11700844A07E3463B8C1BEE8E9721EFD28525A0B0CA81163512C7D71AC1EBEB3035B839AC16BDEBE809007E543A3845FC564928F57157E9C202825FD551C159C7CEA6E46FBCD6CF1100754BB8BAAB2A730B2736D3CB2EDD7054E9BC327AA8F184EA98EDA19B21878B5CF3CAEF3AB2795D4DA9D7DDE23ABA40EF4BD311305A5CE722FC9D50E9AE1E73A2FAD9E1A6CFBB3137C8F08D0DA937B634A7A655B1442DF6495E76CC9BD324C86DB6639CDEC02A2F91ECE260A8DF079B7D4745A5B3E34EE9689B9A935B90FB599E554797AA388E00F6699946A4DC5233423D7E7373AABDA2CFDB73A9D4D4AEC6D49AD127A9A7E1A0CB55286B67B1E5153302FC79CB42757EB10556D205C7815E2BEA03B52D99636197118638DF57112380EF322A0922CC810A00222C9C30AA560140185C8E701915004458386154AD028030B81CE1322A0088B070C2A85A0500617039C26554001061E18451B50A00C2E07284CB28C61218E1E6B8570D9B248C36D0E82CA38FEB3D348614FA38F6DC0FC7B6E82E5DA19D38C3BB33554DFF62E7506C5F0D37904BC302007C23556732742EE97471F73A9A0606F4BF34523FC48EFCD96DBC4446DC3307891F5C475B313CAEA1043D939A4CDB07322D4EBF630D00BE9EC66472B41802FD167ABEDBE1D33EB9E64709A2AF001B5FA11E6AEF5E4BDB9942ADEA147A0C3BA079ACF44596FC472CD7007C1D7D043DB805C2FF2BA435D38FF0EDE4893C4ED6757A24B38E5EC508E2FAD20ABB3CA24A8B1D00D05BCFEB26FA2BFA691304571324E391DFE701A60D28638D00599079972BAF5801A0FB39FA3118F91C847FA40786BE8FE1FC757C36E0B31A4BC32D5808C2B992801FE70B40B838C3E995EEF5748273CCE887C6620DC07F4FC9CC1EBA9BEB7455219643B03D00C62684AF4955D1B36C32FDD32E2E7A78A2E739C2CB1EE862844F87B03F6D1B8F681C16955B31D5D4A5A7D28B767164A0C502004EC287E021537A9C546AAA9E447F73130AE28B174A768A0F12CED3D6D3650016DE156803044EA3306AFC4A5B4B13D40BE9F76E7947315CFA29400CFB857A3E84B34D49D097D1432FF7227CB38004785217D0CF53C7D1C90AA37A3CF798E300186920668DD038CC61323C4B0D00B1E0C330BCD28ED110D6B3A91A3A539D4C7FB00BF74363A792969A4ACBF012C8F3B156F8C026ED31DD398000F6069BB04893A405805885E3DDE08FA107E238C2E00B3DFF76F4DCE9415BF3D2536823F23E03A5FD637089F9A733606F5862438F34495A0060A97E83DD6A3FDFF3A7D2F562F82E05E7ABA7D28E4482A621FFFD36F9CF06303F61438F2C494A0088F91636FB3966AE8A393F95A66F954AF84679B008BE8632BE6B2E078BC66AF8CCDF64C493E12E2500323A2D41F71E64E411C250AAE8CAA087FD4242C414F31404FE98391CB42B32EBE954333DAACFD201A077A1F54D33430188C78358F099F3757AAEAEA666000FAFB3EBBF500F055AC995FD9468FF920E0062570FBD6CD0C60E84D0C3A0E787CD6A762EBD8395C6DD96720F19912CE42812A40380D8D2B5301216BE62F47C4B3E451058821E3027C32830161B47A798E9517C960A00E8F90C9F69368C5C63430B85949A426F6004DA61294C9251402A00084F1E30BADF99A397EBC2B66F1140980446CF988BD3197DCE4C8BE2B35400106E5C364C7CBFD0C68E4DDC9290A07EFED19231B7ADAB255AB909520140CF59998AE1B7E8A3D141311F7F2C65A903EA6507D6A08A0C2C1FA900003BBC75C3C586F98171C76346D870B20000DA81B5AE1EF30B339A5C0080F7AE8539ACFCDEBB6ACEA60E8CD258B05AF6292CF52F33412A0060AEDD65E617542EB1302CEB95E5D63AA05EC2E348F81644FA920A00C26FDFCC4DEC09947DAEC58ADF32DC8BF305E6BA46F1592A00D832158BADB20FB59C8EB511EE7B36B4C891A40240FEC48E699B17C2AF163E7C65E6ACF5CDA9CCDEE7B0CCF5B4142F1500C44E1FE6D6ADE656F43A709AC9A13CF397298D822C00C0411229FE5E5E2A000889A2C27666DFE91809B0460CFFD2F6D1648072F0D63491A61E06F774092EE90020CEEA99F90A017C5A78EF9AE9613CC30874A34D392FB2F1F4A10D3D7224E900200E6AA2AB6F377332EFBAFD069CBF43BC32CF511D8A133E82832F859E1E4C88EE93740010AC140735CD2CCD8F02EFD0F5667AA99E7118A506D34E9B257F46EF62B1FAB0851E51829400C89FD225FA9399A70041EBC1F5748E991EF4B3586F6476D3C3B89F60C99BD3222C56BB2DF48812A404002C6C1CABC106334F21902A388CACC609DEE3CD61413E23FFC528EB1BE63C31356D83D7F043667A949FA504806068F50538D449D60521A0310AC279118BC2C0F7E3912F3BB836EFFBBFD82C54D445C7C111E18E8ED70AC873490B00C1E29470CD267ACB86DDC7E23CFF4B58A47DDD26AC289298F391DF93486C117E3E431C1D4B5F402F1495791913490D003695FE0BB5709ADD712DF4D611F8AC468F7D84BF409F1A0A8FC56A1F73FE6BC8CF32ECF70AFF210CFD2B865246B9D24A0D00C1B4EA29781904511D46828366268A211BB46FC393F86D9C235CE9C75F5F58F8E0D8391D00DA8AD1E409E4655DF01D2A70330E04CE34972DCB73952C1575AAA7389F2F8E6863EF5558098F31C785F052A0CDE1399A8305DC0EC0E21920E38FC29347387388FDFC6C828ECE7B1C898D1D4693327BE97C6815832C7CE67C11EF21217C8C44194B982484580040F05A9CCFC791B12F8B53BA78B41A677A0502301C8F85E25C08377FE15571877436DCFB2E23B08F30F807C0A343F8F5B20EFB035B23FD1430B0316C0ABD575D4313B112EFC0A724BA3884BF4D1C138F83F005EF620500D120618481701A30E68FC54B1D1ECCF7561130D40B163E643103EF09F89C8CABFD42CD8F1D008C86625E7E17C29A81933BA76334580120FCC508F37A471A0D9FF5303DCFAC4ED3D8F4850094647ABE5B5B63B30628D450717207610BC4277F5C0B2776F28736E04A06618AD7C48EC17C9EC6B4FF3E84FD1E9E77E2F99F623F5F6CE9CAB2AB57A8FD6EF4D8036020033022BC8967F11974616198001822EFC039A8D2013DC4760AF0C39FE12A7CC1A30A00FC202586712B0088A150FD34C93700305C7EBE76A9B6725A07B79ED2F1537225EE9039807F0B65B5ADDA957815E60F8BCDCC3700506882933EE7836CE62DFC65A9FDE648B1B5A9A4F3CC01F177F2E07F27D7F507A1C11CE139A129A2A316A088B7EB16BA381DC389AF1EDF82BDB2847ADD961B99EB6B580B6555A17BE7C045F7F19ABD7BB485D91E9A8754C9C229F940E376C1688E23C0862686D32DCA0C0CFB7B0AE6C0F90594D3B6018D8D754FF0509D320BD629A601135BBA2FDABB27F32686FC067C6C85CF18CB31A6DC5A35322500E27AC1F6E17E4D5EC947ED3F90590643EB0C145C380D63DB134CF961675372A37BAE95185E3930A1857F9273ED768CB8D31DD330F64AB28A5DB3B1417DCD31DE80C0C2C21C10C9F839B12D7BA6AEEBF7621D70BA41B3BB03858FA453EAFC5F2F60BBEDC22B346F1C387B23AFD25FCA5C0FB78625E0F98882A918DBAB70766367737215785F78DAB6C9C0170044FABE4A71B618881CF4BAB641F9F756EAABCDC9FB973026959FDCA07694E9A1B62D7B16E5F47BC0E3D39CAA203A1B29EABCAE4656789A76C8C037008CBCCEEEE09FC869DA1D6EC3122AF83BD859676E6A522D6EDC465E957B3F07CE6DE31FCBE8990EB7E996117B8B12CAACAEC664677F6AFFBF8A068051546D6BF785D015EE843DFD388366BE0304B0B3B33B4626938B9EAD671F9AC32BCFF8BB3AA1D3B764AFC466E33247B58EB183D8AC6A3DE50875D9AA992C3B54DE0D1900A202752B79FABDFDDA62546C6EA1D569BEA20C7FC8486C765773EA9743AD789CD20B9D3E9BE5F7A04DB54EED02EFD63152AFDBBC90FDDD299E9FB04000601458DB96398572FC6E2078A241B3BD3356B11D8031799D7EB7B6C8ADE34048EF1263D797A2E3040A0043D887CC9318CA9CFEBDAB77281B33565DFEE4A54C33D20E97BBD0E9312FDE81E9F35385DA8C1E0F630EBB23312AB968D3B5AC247F655B1200880609DBC18103990EA830DFAFD80EFA453CA99D1F9BC96AB7B92E9E89FDB62AC966F9D1E9FB4BF1FEAB640030AA50B11D1CE2449FFA5C429DDEE0B99F7BC901202AD3D77817DB0186BC7DF834C4CD7610964EEF47F046DC50006014E6D976406C6B4261D7C86E3B085BA737F8ECE71E2A008C8AC5DD76E047A787005AC61DA92E0F42A737F8EBE75E1600880AE66D0707A00211B6350BEC6CE51B226C070A54A0C6D4EAFC73C4BF3CEBF48CAD655CFD51903A7D31AC291B008CCA4EE8C88CE31A87CDDBD976802DE9F53C91BA36AA7E0751D0E90D9EFAB9971D004665BDD80EB040ECC6B1AC96A8D90EA2A2D31BBCF4738F0C0044A53DDB0E88BD9D509459E5F63BC8EBF43DD8A7E7FC6227A603B8A1E8F44E7528141629001895F46C3B20F668BA5A9D17B6DF81506B732F67E690506B5DF6E961C26DC08EDDFD7EF7E90D5E94FA1E49008846E76D072F6766731DCE100E7E07C2760026DF786E537255187E0742A78723E6BD58B87ED65938EC619650E717BB4FEF9C7770A1910580D144613BE8C96AB783E1971834BB3B805052DB810C3ABD1D5FDC68910780D18072D90E64D2E90D5EF9B94B0300D1A8B06D07799DBE8763B8777E1D3DE6F748E8F47E046FC4950A0046A54B6D3B103AFDBE3D1A7C1EF10FE50E462A30EF5D9660B33737A69E32EA26DB5D4A00184C9ED0A25D81534ACB9DFC0E84ED0046A4D6A34F549779F13B98D0D63D0D6F05C39AC3659F9EB1DB1323938B4BB54F6FB4B1D477A9012098D36B3B6887DFC155E8AD0EED71B61DC441A72F062C0E0C2B26BBF2A529D67610279DBE18EEC70600A2F17E6D078AC2DEC8E9FADD71D1E9873D000C0678B51D18F10BDDB17E08C4F7BE50FE51A0C76A043033D48BEDC09C26FF0C87552C1C978E3B425D51AE7D7ADB7A9580186B00087E09DBC1AEFDDA422C0FE73BA974066F65D6E98D36F8B9C71E000633DC6C076084F43ABDD1563FF7610300832966DB01E6F91E6C26C542A737DAE8E73EEC00209863D80E70E8E2549CCA99D5D5947ADD0FD3E214F7FF64D4D4DDA8405A3F0000000049454E44AE426082), +(43,'image/png','img',0x89504E470D0A1A0A0000000D49484452000000800000007D08060000006A326B0C000000017352474200AECE1CE900001C7D494441547801ED5D099C14C5D57FD533D33D4B0C41A306A249480415D1A046A3C1DD65B90534F136422E35F1483C123F0FD85D22C22E8826DE62F48B8931E20F91EFC388BA8A2E2CBB4B5063C41304E391080A82891732D333D3957FCDEEC07455CFD13DE7CE6EFD7EBBD3F5EA7A55EFDFAF5E9DCDA882DDE98BB9EFBD8D91A944FC2C467C2871369813F7A7A8F2FB8CE875626CB54FD76F6CBB926D4911AFA2C8A87365BADAF9E16156842F234E07B8AD212316621A9FDEDE10BCD96DDA9E16BF220150D3CC07711E5E03E17FCDB34018E31AD10FDB1B8D859EF3E8010951C70A743C3C3B27E18B26E19C599C169C7E03AFAAC016DA55A5CA0400D1B85D35CCE981F7DFFA59F4E89CB228F3C4A90CA232673B3D7B7879F7C52B6C8BA4917681E50F3C196414B505C0634589995A642059D603B2E6E064ED23C7AF247F4502C051403A6FEFBC8ABDE918D645FC677553781B80E3DD6E489379B906556A1790B7F6669AA44AF296737964D40780643970AAC851517215E5E73E00C82DD2CBFC7D00481238C30C5092B7EB91F3AF9F7827EFA7D02B84D0E38D40219C8FB7478FB1C83A962C3A96337E0CC6F079139865D16FFEF3BE795DCD9CF0068C2BD66A1A7FDEE7A747565E15DC500918E8910038EF4E1E58F7417822B3D85408E77BB0DC770BDC3EFA7327A3943600D790ED3064360C80986A99F41B8C185E81BE5812F0D19295D38D57DD15543EB10B0E80599C6BCFDC4A7BB45CC23ECEA5DA1C83FBDA79D191C463D3D66F33CF806DFE452CECE492656E69393F14C51F1AB16816C0F01A325BA273FD9E1533D91B5E3316C0BEF33C8A324C437BCDC36D3AB5CF739B438AF8754DE6B151E23F43554E81A006A07BFD10EFD1C2A0CF68786A3AFB284532852C56F4B66E8CFC0013328D9CD310254296044D6787B45F65AC4F171D825C8BEEE3F07471D285417031842F667E9AD73EDD78395DDCE4B0DAA6F03448FC4AD4EF5008C442D8720C3F178EA9D717CD624CF80BE6F20E00F1C6B7369B57A3328D50CD8A910920BCCE983EB6BD91BD93AE5689A55CC6F94C006868BAB84E6130E8DE81467F1A157C01E11B06F6D31F7BF032B6D3296E8256378F0FE65674A865F1215CB34630CE8E80600E0328DCAD07E00D06F097711F9BDB59AF3F93C85FFE8D6BB5E6F02D68AB8BE430E1471D5AAB0C63EAF22BD8FB4EE1F9A0E51500109ABE6583F97F10D809699963F4A646469D1308048056349B67A1E17F8D063A306D3EDD8100551465AEC11BB8066FCE33864F7FFAC9ABD8BBD9A4CD14470071FB9BE6C1D1181D0120C0C0A493C0DBFE99D225C221C41544DA8C8E46FDD9044DFC760B7F01847F41325D7966B4D9AFB1716DF586E866F2EEF20680B8F0379AFF8F8A4DC98A4B0710D43487BF8906F9135A272B350C81FF156FF9427F30B0B8ED72B63DAB72738C240437BA39720C10771AB4F3A9E07770E62C61AE12BB79C0BE81C665E7B3CFB2167E77C610D2169F8F8D2E0408F2028049B770E3D38FF1E6672BFC448B7583403B8EDEB3569BD3B1FC3A13EF869E0876FE651BF056DDEBF3E9F7B7CD606F3BC7291E15B6CE5118829E0D5C9C032D144C5732F87E8B71DF059CC54ECEF8E64B19150A043903202EFC8FF0E6139F2CF11CF76A8C1670C63AA03AEF01400C250E4080DEEEDF78EB8F52C2920878DBD781D9D9AB1AF4C57886162E2F37B6997FC9E4E66560EC42D4E5F35EB843BDFE8C8E7F0559FC56B4E71E721E8500414E00A85BC9FDB14EF32FA9840FB537A763A6F16B5191DAB9A1C9DC62A28B504120D734D9CF98E8FB668F6BD01F28B4459C5CACD7E7BA1BF980D867E6C500FCA5A8EB17B3CD47087F6C83FE1351C79AB991E328663D9E0A04DC47A33AEB831BB3CD3B5DBC9C0050D314BE1E95BCDCA90054687647A3717572D8A8E6D0248BB3A5598180D156E471F9D87AFDFE9E20F8E47A8A6768C6FE9F7E12BE165DC305D00869DB3959F8897C0408B865B5386913BC58EBAB82FAD1181DEC48C4F7FA9B96B1749956CF891C4F146B718AE324FC44BC6C40800A2ED27DFA45ADF5EC8344BA9EFA3B6A6EA4C6B2ACDF03F48E231A27E127EA9A16048CFD112FD83989B85E7F3D03A0A629D402430620B0BB74C24FC44C05021849DB48633FEFA8379624E256C26FDD1F7930B6C9145DE11550EB49B3AFECDE718DFAD9E9345C2A10E02589924FFF72473DC32616EF4E99A8C926AB9AB91CDBA4D878392E63DA0DB2DA97E308FFAA86608BC6F8C9004B785738634B31E97168A5095FD4AFED6C16822D54CFFCECDB68B7EE45A4CCC217693BEA03ABB19DED04622C22FC092780C4ADC8E909BFD75F4F00E014F906549ACF56687CF62B709B8D96C69300012AF60980737167A3714A2167BCD2B052B4A0F619FADA7E41FD5BC4B45F647AF393996A6F0CB4E360CB9A649A7886BD78B04C73EBF7D40554CFE3DFA068D861D10363744D1FDDD1C0DECB9611612CE5BA50946D593D355E4D937923E7D62F65FEA141AF86C69D2DD3DDF83D6980CE19EC4D14FE925A103F885BE64A7130430D73A6F409DFB95D12D454C217E13EC61E4EC4F3FAEB0900A2304DD32E90FBA52E26DC83C02BF3959E2E9DF049A3DBDB1A74B1D09593F30C8055F581353002CEEC03414EED9F32715AE133F6A07FA4A1740929334B13E0190022CF558DC6D27420206EB6B9E90ED2F0D9AB82D20A9FD862FF71FAD4B6D11806E6C1793202E5726BE6864FE2162DC6AC55400E83ADB091985EE7C63094F3E84DFEEA39E64DD81372A9739D21FC6A7D5ABE842FCAC849032498C4D8FD21ACC39FE1D41DC467C02CB355AC1B24E2F7FDA66E018CA6073886327A23DFC217E5E40500222301022CE5AE12CF0E6E493E51EB907FC590B073E942C71116EE3988AD314FCA7745F30680514DE193B102364E66107DCCEA8107E9D7C8F43EBF730BC4B7AD31FA21A6794C2586C51774CDC22A219E097901805802B588DF2E73012487FD3A9DFBE019F1CD9272709F3F450B7434182F4137CF9683B1F6B20F59E61D323D177F5E0010DD61FE16CCA9933F8CAEA9940314B934B297B4FE91FA7CD854CFC96961539D3AAA2974A24CF7EACF1900A3AF0D0F47E1672B0C30F6826FA47EBD42EF2364D502C2668261FD63A145E50416B15932CDAB3F67004422542F6F78104B959A8F9DD367F879154B573A18D6EBB095C4B6A94684400B1C891D56DFCD2DF7AED4390100FBE887600DFF4C8511C66E132B5F0ABD8FE0BA05060DD56F44A27FC909B1BD4E01861C271B7F4E0088C6CC19F2B230DEFE904F0FCCCFA6F0BE38995B0006B489E5F279724CA105F2610B7806C0B86BF957C114862B7687E35F77F7964B16ED352F9C6FE081813F40D3BE239710E3B96B010CD3BD396C09BB1596FF45B6D4D8B512F4EB4370F64F5159B67845F2841EA303D070DF46256D670DD0AF7E08FA26CC5BBF4313681B9EB19BBBBC1DD6072EC09E008721A06F7CE7CCC0535EB9F7343D1B3F9EBDCD9C0673442A97DF5B2EC2375BE8C73868F27B1CE74E59C718B8672DF4F1CE47E96180E40163300E650E27750246AA6529BC420B6CD918AEC74BF795E4F2B12B0857E192670078EA025EFB203C1EA6E89EC98C60CCCAFD3EE35A1BAD441E34128B71BA01BF29859F600D71FAE319A78F6959F86DDA1A7E0CA7745FB56B8C44DC52FE0A5B003C62A14871A788C3390A354B8227005831A65AFEC457E3A8D63FB22CB7B0D1D651006FB410AC2B87061E00AD313FFC4F7A15DD47DE265B5C3191267255C058049D6525478131F8051CCB53766727C749F7EC1A00E21028FA4CDCCA6177B85977B19D523A9F50E310A6E7ADE5D00A43F0F73040F01BFC7AB693F2DD02F113CF8CB73BE47B96032D2B926B00BCBF313C51A0CE9E3B50A9053C37B83DAFFCF88203E81C9C4BBC1A605D8EBF36DB9FB83380D1BF339504E1FF4FB8851EE42B2998296EB1C235AE410BD81DF83C71C2F5FC73766A76BE8C7DA49C0DA621A1FEF17E253918D11DE5B6E1838DA49D607176129BCA2304BB773844A762338B30A46A950820A0714F0D7F467B21EE04365ABD66D6294D2169015F608919336FB31F30E1FD4261F30494FB80DBB25D6B0034C918B910CECA47FDCBBCA5F343A0DB8393E8CEAA29340AAB6FE3A0EBD73BC507DC470304BF750A2B364D1C97C330F649B55CEE0860359E9DE20A00E3E7F32FE38D5056FD340A2CB367DBF37C5593A8D5F8128D4057F13B27EE01824BCCC7D5892FA7B885A6E1029A16B90C9C3F3D5AA665E377058050C4540BC1295EA7AB5EB229BCDCE2B0A328129C4C176A1ACD70E20D730A77F0A7E84B4E61C5A4F918FD4D2E0F001D210C74999EC9EF0A002844B9C401685498C95468B9871B93E85A2CC5DE20F309EDF7B97044DC625262B75FE085F8E1501B1B5CDFB631F24D1B290BCFAE21CE9826BE5F84C2D331CE1C897E7E2FE7B46C1F8C00ECD6A6C666753618D738C7EFB954187DFEF04E7A1242AF4BAE05BA8808A6890E0E8E13379B94CEE1E6D2E761081E2171F02EE4F789448B7B01982D7EDD3A7FD495C6EBB3307D9888131F05884D1D914818375288DBAFF03FA553C33002782E65F41E1C202CFED0723A0FBBEFD70104BB464B780EE09CEE65A8DA45A5AC1EEEA1FB1B442503E0CBA9E407C3B17FC4A4D79E6A0EFF735473E467AB1A0271435213F3FAD1286FE912BEFB2AE964542400444B0427E033729CEE965B05C3C69300845DDA530E2F861F136FAEDA1DF72D76F18B0F69E1C28AC7C4E594824F6DFDF6C83454C6B6C0906D05A00EB7B536B0ADD9C6EF91F10CBACE81EFFD228FABF69043BC82917038DFE1706EEAE2927577FC6E01A2DB71CA7B4F7C0FC3FA7EEA64E943F012BC913E46CF0F157D3D80AE34760CB36FA5AC9D410157EB2EB2BA12B3B95AD4BC54F46D07C815C130E872E2BE8CD6BDCF6F7D20A72D949F3F495F352374A4E5A317AB26D25B852AC7295F68C88741B759D868D0614E718B45131342E8CB27A03B92659B82053E0CF72DDB5613A109EAFC788BBF261B0E7ECB7828975BAF5370E0998CF9F8D3C326DD0735A6E38441041332E7EAC7D39F3D67E832215E88759803B03980020657695DC290CB868BDAA6C8A7B27D8FF61C862E403DD0A90530D429238725DA1B84F0054B68F840CCA29BF09B25F273AF083E1680E195DDA15B283900EC1CA5F7E97EFF268718FBBA9A0872C8A0E024081AF74949D3CF9CF6C21E184F86AB17860140A795C3BDBCE4556E69CA1E0078D3D0FEB4596EB8A84583655AA1FC9646F810A5E2DE57283D9050F60088B72953F7C547A37460B1DA1B73EF8ABA876652BA8562F193CF727A0600489D768566C8F98EBC6C1B1206E0B794B8AC0F004A9B148A00234C0CC3EC0E47D1792BED672716CCA76C81C39BB3B660A5153163D40357B54B0E232DFB8E5F29BCD85E9DD12330F93F4C2E177681160EABE7E692E3E4E3D97C828E81BA1F2CE705DA4332AD9CFD2633ED8B786016074F77307C28098B0AF25DFDEC45ECF2CE78D92346622FE0864FC7B5F37C37063668DE8546FF5972BEE806F0591EAA0D4CA2CE647A3E9F51EE72943B3E394F80717D700A1D924C2BE5735DB379788C5BE766E0416C74B5EF1EC6096ECC04F2E791505AE7E723107944860CC551802188531400301FD6E7A3F4E3C47C80E00D3C8AFDFF7FC0D2ED48ACDE6DCFC4AFDBF0500B4DC44C9B4DF8220FEC1570BDF7CE6DD96EE2C7C81A8DB670BF3AC9E9254D0BB09B8424DD14B82B2E6783BDEC42D995DEC58331915EC337C8947D79607C686827B5F04EFABC8BEC324615F605847F8F1291D107BADFF1808612B58884A15ECAD2FCEC262DFE2D3DC61778C940AC2ABDF746E4302F69BDA4097E81E640EDBFADA4E57454E8237A943F862B54F2E0A051F6C0D4F35F90D540393B94DF8C7BD23F92E925F573A68E523232C4EE1547F8E3C3C0CE86E0451AB166283769C63B632ED0C1A4EE13CC9CCC530CEC55DAE9F3895B3328EC90414D88D3DAC863749C4358D624FE047D053B81FE8AB75F6954F4FDAF1B9C3CBD2C5933E032A2D8CF812419BBEBE46CC5779C061DA49F2368A8D36E57379FEF1F8B99C762EF80E33427E3D699E86BC6EC4E812746777736067F6AA315D8137E147BF9F1854EFCC5019C5C1CC01185FF76C34773D94472355B27169D30E6BF05E9D5371F9F47D174AAD6C7D3D3C9E595FAB97A9EF92D8A5AB6CD21F1FD824CEAA6A0AE49E3DBB8A6ADE89CA1FF3DC1B70D000962AADFEA66F33CB2AC3BEDE1ECC5CE99C6E1765AE17D30D0CEC35B2AF1B2BB5C006107AABC40F3D122AC1C0A43D7D1A1DB30C2B0F2B15F663AE2A7D51E68AC178C7E34BE1006A7237359101D8F8DC3BAC7E84CDE2EE6981B4601D93B34C07378EB6C0EB4E1E29328E2AB18B680027B70A0E3AE9D2D64A2D35A009EAAE4E2A0A9C4B8F78A588CAEC0F1EF7F4153B5C1BF09C0D80C41FBF08CFD8F7400FA92F148DF1FB48C0E510EC7019195E826C6BAD52E1933F71C81E32B247687D171C6BD1C8914AE00306CEFC0CBF8727718BB49761D471686206D8A1E8B0CDB129916EB178739EE81DA7E1E9F5B5E02E1A4B384BF0A01FF48F0056064ED001654D5DE4D22F9A1E128B5C1501C034DB025EBCC0A159153B59235D39E556829084A1F9A225E9C7CD7F9D80FCBE31F63B645B358AC68F3F2B682E1C11EFE970C4647C1B0F903B4514C0EF7EA87F05FC278BF11792A863140300C86E2AA224E453B56434C00E10574003E2F0C0004176818650A14EBB5A7613E40A8D5923836993E3626D3B9F86CFBA160005F16CD46A1A76095D17B302D7F0A601D611C0F4392D18F9C8005CD7020A6A25789AD6A29722A38396AF1EFCB8580DFB7E2378DCA0129FCAE3480C8C3F2E98B1DF2DA77EB86E828077A514962B208073DCFC4ACE13721C479688C57B36100F1A2F86BC5DFCF833E1A8AAEE56E3CC7DF7C006B21F29B2AE2C879010407E0A4D0AA9D4FD0D7E5B042FBD137C1D85701409C29C7C7D3F10270BB778EEB078CEEC270F07CF7B9153605E6F20F80A046A394FD2144B1AE2F5610853037A3F29BD1C3BFA9077087C038FA00B4940EB6C629C86711FEC4B8DBEE708317BA8B31C1E3E91FF680C2F9F041CAEFC462B1BFCA25308D8D70A3013C01A0A63974058660D725178E8CB6FBAA8D41957C3B28C074223A176170EAC9758F3F637F00003606A3930D4A5801084E1F96C0EADE3A7C456CB89BE25C770122F30037946E008DB2777475E42C3785F7B4B83839BC0C03C8EF41D0EA9017BB84F152B4E192A9438A512FFF1E8159D03A978197DD5A87912BF52FF8F4A401444274036B304812C3BFDD0E5FFAC657BE87CF4A3A7CB83BB0729E428FE3BB08317A18A057E61FD0A2DB302219274627C5A8B1B0056AE746276082EE229F5FFF95DB8BBA3C030067CBCEB4385711C7D81998857AB018952F65199884AAC31AEA23B009C48493DD61C51043A2F1FAE4F2DF35E4A90B10B51DD3A03F883E67A3BDE6F0716A50681548C048A10D9B518EC71BA41EC7E6F4450C8D5B715965D116CABC36B16700C4D53C63F3D482F9887C5C62ACE65B7E14B11309EA7E02FA61657918DDC39E00C1539116FA4EF971BE9B23CF001059F84606EE43E5DFDE9D5DD793C55973F732A51C54717EA8F9A7B169555C30F51FB972E81EFAE314D31338495C2387958B3F2700740DF9B4F97265303D79D8FAEDE674995EA97E7D0A3D87E3746360002A7309D0049F07085A763E1E9F8B28BB26C80900A2367BF40FFC11E8DF24D70C43A2467C50B2284322B9EC52F8F509F40234C16880E07DB97C612862E3CCA3A147D5FD8572DC62FB730600BEFE1DC654E92F54C67163558C7E3F8B63275F2F71C6147A199AA00ED5555609E3434686EB675B68723935475E84D35E1FC475EBEA1C34BA82EFAC981BBEB89C2A5C685E8CF1B41E1A7114CAD92C97054D10C40AC35280E0BB7258A9FC7901409C799F7E0986854A1F68596C6EEDFCF0B05255B014E5E2CCC04618C70204FF92CB8726D0C574B2D8D6268795C29F37000C1C42FFC61BEF705C8AF7E3263D90CB9DF6A568985CCBC4B4F11B58911C056DF0969C173441006B798B306D7CA61C566C7F5E0020F6026CD960DE07648F73AA00BE23D42E6C05A7B04AA661B2E86DC30F1024CFD777571820F0E36F2156197F50CA36C8190071E16F3417E2ED573627888AA1F2B7896DE7A5AC6429CBC6DEC177BA41A0AC12A23BF061B4F427EC593CBB543C42437977E293F0D14E7321E67FCF70CA05AB55B77634042F710AEB6D34EC211C886D64AD78EB95A1315E12B1F3F042717379B1DBC5B30610AB50E984AF31ED963EE1EF16A7D8408A9DB47510F6CBBBA95D4F008580C01DD86F50744DE91900B5CDE68C546F3ECE6BDCDCDEA85F2A57B4B7FBB177719BA1D368804031960508F0772B8688BF2A663B79EA02C43980D866730BB4C0175466B59B3B67EABF54E97D94440BF00EDA33F4093D81B7DE71B5100B4CD3B1175199624FA4CFE7AF370DF06EE46027E1E313A737B911BE30206BE698177BFDDE4D3E1BA29879B11AFA4F30806961466B9CCAC52AE2B51822CE740ACB37CD130030F50B0356723862CE02FC2E899AD2DB3D7AF8136EAFBCE5B390F94C6F9B2C12278C83FD692240D0E9D44800C1EC628C0E3C0160EF6F045E01E35B6D8CC328B44C5A5A771D1F68A33B7876099FF3695DC17C38268B9EAF6D0A5DDE9BD60E58357D826DE86253C94A8766421353C147509E0080AF58C634D21E5099E607454D73653A10A8C2EF8600F120507F7D6BB3D9517B5DC8E1B48B5A5A2550304FB0C3D893A6C0307C52AE0F660B23322DDF7E4F00104C048D40337EDE5518E2FCE0542010C27F6F83792FEC87EE375F492D0EE38DB44CF6626D73E8523C7B3252D55CCB9B22EE3D30AAE8BB00C123094E51F1188C41871D578918F9F9CDA981EB9A22D5B89C68256601D543A6D821ECD7F5D1894FC927848FA1E3D46C59C7E2D2F3B8CC78D6AAC6E0B26CD3F4E4786228888BB04F86853504C7DC968B3D0685AE4F4E0010CCD534854F05C38B5281A02AA08F1DF075DA2ADE7C37C2B7559CB1E76063CEC2C4D2A3367A9F27E716C819008283F420A0AD28E415A07BAC23B71ADD8EBD044F23FC16E8FF3D1DE37413A1119EC5C2D29C41438C166187A48BDB17965D0BE40500A2A8B42048C50B849F5828AA69E683889BFF8B7E7F4AAAE8BBE8188108231463D1851D8DFAB3BBE8457C38F14EDEEFC36DE62468BFD3B0E6B1B4BD413D2D5544763C17953700080E6AE7864FE13182601C6C0299C524E12707618AF9479C5B4DD0085F49A6A77A86E184A351EC7E2C3BFE05BB945F2AE4D94431611532CD2918AD9C06C103A8BC9FE00B8DB8BA6366B03A158FE54CCF2B004445C599801867F7A171FAA7AA3884765B476330E55631188CFA960D91737118BD1E6FF9FEA9F251E9EC3394FB77D1A5402ACF04487F7A452353B666A9E9544A5CD8E1E808744B47588C1F895340478097E1C85F3D188AE47E8D1DD6D660BCA2E654DE94BC034054B76E1E1F128B9AF74313D8E7BABB2EA46CC6D1B1ACA639C52EA21D1F457E6A316B06DEB8FDBC34252AB81DE936F874E3FB6D57B14DE9F2A8690ECF80E6A9411A71A47C08849DF530B9A72E7D1704008946165798E12ED733203C718BC63B3E8DDDDFD6A0BB1EDA08207CFA51E41C08E46C055489C232FC6A3A3B247E29669A78F81AE7B35EF317FB2187EDA30F8A5FA393A68C720B2A28000A5159314B6845D854DC0E360DC2CA7AC6B01000405713C522EE0A288A25BEAAC0D2B6CB99D0363DCAF97B14B760B6FDCAE0EBF8B946FC8D9A671E6DC508134B7C0CFCC3318228C23D45CC847DD1AA31B6A4AA2AF0D01397A9D7ED83971EE37A1C00925B76D50CFD6FF08B3F12469B198A1E0D7B01379DD21C6887BCD40DAA7D1DDEF25564696B711A786D55FFC0CB95B4C1352F8D942C94523D2FBF82ED40D96DE2AF7A4E581899F9A99B465777D4079720BF8A74595BB91559FBBE4AE1E8429FEBD52DD007805E2D7E87EBD67B797BF4BAEAE7C7502AB766131F94E0149FA74FB0C623FC614CF4ACC3169314AB887C1FC43D12E96C0EA389908D50619E8A0400E6ED37428EC724CBAA7B6A77882C605B1C8740CD5F9C8B1F93F928E67365DA001AFB5D3E1A118B56ADDD134FF9C8AE2CF3A848007434E8F788330A39B538B6B4F5EB67389E79CC29DF324B5C9100106DDCDE10B80CE7137F82F9FAF5AEDA9CB14F90E67AA6E9B53D7D9A379B7AFF17705E3970EC8247060000000049454E44AE426082), +(44,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000007A9494441547801ED9DCD8B1C5514C5EFADEE999E889F310B93A00B310474A3A8CC04D293450231A32E0C882EDC288218313A4BF3B190386E03118D28822EC404C12C22F9D0C498996026FF8008063188912899854226DDD35DCFFB3AD34DE7557557F5401EAFEE9C86A1ABDEBBD5F5CE39BFAE7A5349D530F57855A716361B6A3EC7318F13D31A63CCBD3D4AD11CA003CC7C950C5D369199662A1D99D93D743A6D98EC366E7A7F6143DC8CF71B32A36E1FD68BEB00135F884AD1E4D95D43E7BB55DC0440755FFD75227340C22F7717615987030241838877CEEC1D3ED856D40160E37BF51D64E20FDB1D78D7EB0053B4A30D410B80C5C3FE34BEF97A43EF56668F04723A18B7A783D6A17EF19C9F72D8E7B988693F737481A3F2AF65A6B8FB83B01CA6030D4391891BEB8C8947634393725A5FD93D52FB45B7994BDB18B766FB71F35477815D66A669E2CA8B33BBF92FB70FEBC571A03A65569BB87658465C7547CD51694BC4A6B9DDED90F8E7107ED29522B6D82F304795175A993A02ECAFF991319C20C31EF6F1CD77DC2AF0AACDD266EA4AB0D7782243B4D6ED884D34EBB661BDD80ED8795C42815CE08BDC09822D2A97CB1713C56828B4037612EF0AB057770580E40BB3FDA427456FE995692A0045178BF1E7770000E4F74A65250050196B7E510020BF572A2B0180CA58F38B0200F9BD5259090054C69A5F1400C8EF95CA4A00A032D6FCA200407EAF5456020095B1E6170500F27BA5B21200A88C35BF280090DF2B9595004065ACF9450180FC5EA9AC04002A63CD2F0A00E4F74A65250050196B7E510020BF572A2B0180CA58F38B0200F9BD5259090054C69A5F1400C8EF95CA4A00A032D6FCA2529E09907FE3E550593F4E4FCA3DF6EFCA3D94F7B0A12F469EA68F35E906007DD23467E8BEDA3C7D6F0CDD65CB0482B1EBC7E8E19109DAD967B34275E114D027AEFA3C6D6A87DF2E93F537058203EDF5A2BF03803E09CA03942EA5756B820000A425BCD8363C41B362D0E769255A20000069E976B50904AFCA93520F75357516354000003A71A62FC8C3B29A23DBE825AD100080F4DC6F6AD50C0100B829EADE2B5A210000BD334FF4688400002462EEDFA00D02AF5702EB2769949AB45E26549D8754F7B73BCCDE8513322E26FB74D571B93CB8C61DE5E26F0754842B86DE00A81DA3CF9A0D7AA565965C53D5FE2A0A045E4E01F5EFE851F907951BE16B4FBE4B5F11AE137801208E6955972FCB6A317408BC005059453FC9E4E9F765957C97D845083EE86A0A66D1CB1C809FA06BE6248DD79AF48E285F2F13A7424F0297949EA1476AC7E9F9CA36FA7A49DBDFA28DBC0060C7CE5BE90F79DB718B74E06397E8809753C012C786CD3C3800003C981CF22E0040C8E978181B00F06072C8BB000021A7E3616C00C083C921EF0200849C8E87B101000F2687BC0B0010723A1EC606003C981CF22E0040C8E978181B00F06072C8BB000021A7E3616C00C083C921EF0200849C8E87B101000F2687BC0B0010723A1EC606003C981CF22E0040C8E978181B00F06072C8BB000021A7E3616C00C083C921EFC2DB7F0BEF6782394777D4FEA57D52735BBF3AAD7D72E3C8152EC933089FA28BBE350601006FA4FFE68FD3518EE9A8DC37BAC2B70941EC2FA6B7AF9FA0C77C4310CC2960C5363A6D227A566E199A0F2210CF8390A3C0ED26A6973DEF968201C00A5FEE1088058D650DC0B28680E99F910A7DE21B8020E600AE687B24983F46CFC8C399BFED3327F84A6E31FDCDDDB688EB72DABB5229D161DE4C7FFB1E7F90005813564CD00F7D2160DAC8C3B467648B0E087C07DFDE5F507380F6A0DAEF1602C37224489B181ABADFD4E9C7EBA7E8C1763DDE0777206800AC1C403078A8836C113C008060903807AF2D04008060F060F36E5118000041DE4807AB2B14000E04D71252EDC4B04667E44FBDDC9DE84343AA038503C0AA589C18DACBC64908881E903FF5F25AAA5A34261C28240056453F0862A23B134AD190EA406101B06AD22090E711D644D497A96AD19870A0D000583516022ED3E312FC41F9F954046DA84CD0CF09A568487520D84BC1A9A3EDD158D94ABF48179E41D8C39F7ECD853F02F41387BE6C070040B647AA2B0080EA78B3C501806C8F54570000D5F1668B0300D91EA9AE0000AAE3CD160700B23D525D010054C79B2D0E00647BA4BA0200A88E375B1C00C8F648750500501D6FB6380090ED91EA0A00A03ADE6C710020DB23D515004075BCD9E20040B647AA2B0080EA78B3C501806C8F54570000D5F1668B0300D91EA9AE4805A061C27A7894EA043C89EB9569C4CC57DD3198B8B1CE6DC37AB11D48CBD4661F91A1CBAE3463E251B70DEBC576203553C93E32919976A5C58626AB5366B5DB8EF5623A60B3B499BAA3B7D9474CA5236E07915949A6760810249D295A8BCDD0C4B5C3AD4C9DC1DBECE5167BA2EABEDAAC219372D8E73921647F6CA2D972B97CB1CC24775EE315BA0376C2D768341E8A381EBBF1CD972FB4F362E20B337B2B63AD9B43A352341937E36981C0B959D4AC940F90A77837A9D1901FE743B01AB603925DEA4BC26FD8CC6D67EBD7C0B3BB86CE1BE6B752ABD1A8D001DE6933B7C23AD701CEED19FE88387AC3D2A15031248903AD6C25E399BDC307DB867400B00D160239348CDBF343BB00EF3A1CB099DA6C5B5FF42E49AD4960D77A67B13AB5B0994D73BB315C9553C9DAB45964A7180B013AC07312EE9FCC66C670E99B99DD43A7D306F93F91D10B021701F0920000000049454E44AE426082), +(45,'image/png','img',0x89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C000008C2EB45D67F0000088E494441547801EC9D7B5015551CC7BF57AE8080A188882F14528914151F88F9AEC9574D33966594A30E9A93E188386A6999A9D3D86426A6364E664F751C2B7BCCA891938F44015174CC2449111FE06B14115150907EBB7219EE75B9BBF7DEDDF5DEBDBFF307EC9E3DE777CF7ECF67CF9E3D4F530D39B063053452C0C48069A42C9B151560C018044D1560C03495978D3360CC80A60A30609ACACBC69D064CF8F6DC5B508275D91771B8E8164E5EAF002AAA58514F56C0DF075D42FCD1BD551012E3C2F05C4C0BF8991BB974474E0176ECE22D246E3C811304163B032B106046DAC848240F68077323935337EA3060EBB28A31F5C79340750D3A8405607AFF3678B64B083A12F9C1FE66A712C191DC4381527A0315D29B28F36C29361DB9827DA74A007A53756A1D885F267443D7F0408713EA1060DF1DBA84895472C1C784A5A3A3306768047C9C24DBE1947204DD1538525486E49F4F21F3348146AFCFF449B1181E1DE2503A140376F0DC4DF45B7918A09272DBE4EE184DEF6776C65740A86B7FF86721166C2B00A830499FDAC321C814015659751F4F2ECF41C1A5727C31EE09BC91D0C6F8CAF21D5A29F02DBDBD26096F2F2AC98EA7F451FCBA5404D867FBCE2365EB7F184275ADDD6FF684C9B9FA9E5582F9C4F31458B2B310EF6F2F10EB6479B3E31555FC6501BB4F4564C4D24C145DBD83ECD43E888F78CCF394E114ABA280F0BA1CB0E68858275BF96267CC18D45ED6AE2C607BA882376CF511746BDF147FCFEA2B6B9003185B815CAAF8F7A6EA129A9851B168A06C3B992C60F3771460E91F85F8605424160E8F34B67A7C778A141844A5580635616C4D8AC598D89676E3C802D67F752EB24EDFC0AEE4380CEBD4DCAE31BEE81D0AACCD2CC2B42D273136AE157E98D0D5EE4DCB0216BAF800AE9554E0FCC20168D7CCCFAE31BEE81D0A1C2D2E43DCB21C44B709C2BF73E2EDDEB42C60A6B97B807BF771FBE3A168D2D8B57E29BB29E18B1EA3C08D3B55683EFF2F6AB230A366E960BBE996072C759768A066C5D3760DF145EF52C0A4900B06CCBBB850ED6E1930D5A46443520A306052AAB09F6A0A3060AA49C986A41460C0A454613FD51460C05493920D4929C08049A9C27EAA29C080A926251B925280019352C545BF6C1AD59B45E3D50597D02118FDBC78E81203E6224CB6D105B812D6E40277EF3FB8E4DB0859C9BDBC163206CC961017CF57D2A8DE9934AAB7BE4BA34177290A06DDD58F639463064CE59CFC3AE71292B6E4015534AC5370D4F1BF7E6C3492E25B3F38F7B2BF0C980619DE9F46F66615DE10E70A26440623737A2F0D7EC5334C32601AE453354D50D8907B59B43CBE572BAF9E13EAD1809DB85C8E8C33A598CAD3E39C7A4C8429665A3F001E0B58E2867F905E700325A577012A31781C9A638C89194F33EF133A36A357789C63911D08ED918099E6D128C9CA6AAAE3D456A46B6F98215396F3964C17436BFC1162F92DB9BC719B01871BA96E337E13CD1CA64555AC1C3D8DDFBC1A83897DC2ADBCF9C45A0171E6F566FACAADA79F96CD281E079830C177F497C7905E482DE534E65B2CC5E8294C880846C65B3D1555A86F565423FB5C292EDEBC8B4B659528B7348A5AE785DB9E0552E36DABA67E080FF245CFB64174ECAB38ADC207C8C0CFE92B971A84853914D0B821D8E300B328B923EF1AAE94DFC365022434D057513BD3AAFD17B0FA4011F2AFDC06FC7CE829266B82C8D5B5ADEE16E3EEFEDF8726D598695D0661C5226A6F0B6D6AC6049A1A366F5807D2A2B1A2D47F75F022CA2AAB34EFCAF258C014A9581B288D5AD7537F3B4D19421E1E565A29BE4F612110AA264CA106DD752F472B8EA67540C30316FB690E8E0B2596F051E02D8E404B7BA1135206B77FE4776C68C04CEFECA5128BC0B2F91E78E4AAEB91005A33B575B02F8ADF7B4A8F5F6BF0370C0B98089737955A0D66313D5F8F70AEAA2101135F8B17CABCB3E46A00B4470599E1004BDB7701A9DBA842CFA597156AA1217EB8BA6080959F1E278603CC34670F7DBA7B58B3831E39DDD8073307B6C50AAAFCEBE90C05D8AAFDE731E3D7026ADBF2A22F46076809A525E4336869D3E896010EC4722DA8A1008B5E968DFCE272D71431726C6A989D4EA5D8AA315D74BB4BC3002674FF042FA04E70CB4852DD24F4B01FA21E8C9A8F86E89668C300B633FF3A467C7F1C35B7781F247BF498A82BE9D0B41EE8D5569F459A0D0398B8BBC84FF9BCD1963DBA846BB418DCD6D76264D74C9533A3F4BA6100FB78F759BCBDED8CE7755C2BCD29B5C2510BFFF2E7A3306B48845A16EDDA310C600BD3CF60F1EF04183B5905168CE888C523A364C3A91180015343450FB3C1803991615C8229178D0153AE555D485D01A3F6A4449A8ED6A9857FDDEFBB72B024BDD095E80EC765C01C960CD013B0F58931E2A6AAC28EBE6AB845232261A9ABA8614FCE060326A790C475BD007BBD6F389EE91C822461E2898A4E18EDA017640C981319A7176042E6986878B2DA5FAC5AD995929201935245C68F019311A8DE6506AC9E184A0F1930A54A010C9872ADEA4232607552C81E3060B2123D1C80017B5893867C18B08694B1E3CF80D911C7E612036623889253064C894A0FC23060CAB5AA0BC980D549217BC080C94AF4700006EC614D1AF261C01A52C68EBF5E8009DD4491347962376D76AEA613F6393F535289C92AF71048A59101935245C64F4FC0A25A34511DB0A18F37432101A6761794946C0C98942A327E7A0126640E7715C96446BDCB96FE55B999E56EB3C261BDB45B1DBA1360AFD0509EB52F4523E45D9AE5A4D06905AED4CF730926A58A8C9F3B017679C92084053576687404035663B3E2AE4D862B2D0A6DA2A976EA4E8095D1BCC3206105C55A67D1C6722EF59F01D31930614B96ABB72AC5B548C3682EDFA8981652F952E7E74E806D9ED80DE37A868969BB434B7406CCDD5397CE860EDC093035778BB33C5C6E53077BB048ED51DA0E8FB6621166690B4B4336316344C7606C9FD25D5C96542A93DC09B0A8F040E4CD8E872FAD34985B5486DE9FE44825D9CACF5D00537BB738A580FD0F0000FFFF8AB407BA000008A949444154ED9D096C154518C7FF8F96A3208572B4A5400B48ADDC14B1821C8A462E090946620A28060288A008F1C403452311225A14A3081E049040C44814AD1A2050A4152C787043B95B40B1582850A0D46FB6BC47FB8E9D69DD5DDEEE7E93F0D89D99FD66E6BFBFCECECE9BF99EA78C02748267EA5A2DB5EC9D7B7472C9933EDF7A028F2EDF0594FA1517E1C19211ED31B25B5C502333320F62E6F70783A61919F9F28056F0783CD2B2C6F64CC0EC216D3162D94E64EEF85B5A0555BB52430A1944593307B6099A3363E3513CB56A5FA5B4771F48C6943E2D2BC5A99EA872E1B9E180451260E9F6014CF50678F3316016F560A557CBD0FB836DC83E52045CBE0AEA2E80A8480C68DD006BC676460D3A0D16C2AD070B5647BDB870012C8774EF313F17B844DA8B50AB06B22775C31D89D1E5E755FC0CBB1ECC5BFF4F7E29C0DFC5971057BF3662EBD5C4A0768DBD4941FF67C082CA123452EF11292E1090651FFE57BBB64752836AC3250C842D605AEBAAF0C180A98B25034CDD923C270326D7A8520EB31E6566D9AD54F96B270C5830552471DC834904AA90CC80551043F5900153550A60C0D4B5F2E564C07C52480F1830A944811918B0404D42C53060A194D18967C074C4F14B62C0FC04513965C054542ACFC380A96BE5CBC980F9A4901E3060528902333060819A848A61C04229A313CF80E988E397C480F909A272CA80A9A8549E870153D7CA979301F349213D60C0A412056660C002350915C380855246279E01D311C72F8901F31344E5D42AC046DE1E8F7B931B610C2D85363288A5E6DEA52D46DA0D668B010BA68A24CE2AC0443516A5B743833A91F82DFFACA4566AC9627DBC5570891A31606AF7A552AED9EB0EE3B96F69D347E9B5A5BE95520D3EA175DBE9B4F924B949942186ADD8ACE2AB68640DBC3DA40DA6DD95E88B32F3C0FB8723DB0C64D9A68FEA367631ED461AFDE55EE0E295EA9A70C775D4F3AE1AD10EC33A35B5A4BD8E01ECC7BDFF60C0E21D282BBE6C8970762DC443FB1BB64EEC8A6ECDEB5BD204C70076B6A414D12F6E08DC4F69898C362A847AB0B2597D2DABB06300138AA5CCC9C1DEFC62CBC4B35D4134767CA2770BCC1B966C59D51D05D87B9B8EE1C9D5FBAFEFE9B34C467B14D4A4511D643DD615294DEB5A566147012654F33CB30EB8E2E776C03239C3B8A05A1198DAAB39E60E6D6B69251D0758C6C66378EADB3CA084DF262B9214D7B80E4EBC7467C5284B8E1D079850ADF3DC2DF8E3D83940DF5F8B2502874B21B27928B3EAE948C084589E17E88D92E7C4346E6E145CDA7D50F4BA14F613AD9A927E1F1A64974A0172A8E2BA4033F6CD1AD442FE0D782C56D4DAB13D98B791DAE3F2D4791A9311686E09E44B4D0CE6A7F6AD9E4F2F2365723C6042AC8C2C1AF87F4DD317C215D465878226DA46608D4D8BC7C2E1B71AC9C8FFB2E50AC0BC0ABDB7E928E6FF5C803D276932B64E44F97486F04166B747680D6A514DFAF0D0BF2B57114B8FC287BBC4E2F97B92D084BE0A0AA7E02AC0BCC217D3B82CE7C8BFC82FBA8C82A2129CB5D9CB407DFABA279EFCA62544D74297849BC20E2AAFCEE27F5B0326BC212EC93D89D1DDE32BB6898F151510FE7047D1B2A388506E2315EDE865B335603DDFCF45F621F2C4470E836FE4ABB89EC0E19AA6DD781AB3F568D5109B27A79A564DDB02F6E9961318B382BC5157F85A882153E3C47BD3B5DC34965BF4600AC6A43553BBB88AB9BC65C9EE4DD8CD83692B58571FB8DE5CEAE63F1A9E82F13D12AEC7F15180020BB2F33161E59E4A2F366F0DBD19CFF64B0AC86B44846D01D3FCE92FA31EECDAD7413131B59135A12BDAC7D5334217C7DAD8496FD0BD3FDA8EC2C292F236D2F4C667B4C2D5AC71AC6D01FB6ED7690C5E423B7BCED30A56EABD1E4A8DC5F2511D1C0B86910D4B5FB203CB734F95FF71D6AD8935A3DA4BBD7857B77CDB02261A3C70E1EFC8DC7D9AE684222C5DA5595DB1C3E93AED6B349A741E90D218DF8FEB6C5AD56C0D98981FFD62DBC9903F2F639A6A0E31BC94A678D253E342FEB88511CDB43560460860860DEFFC9CB06DF63C9319F537D2260366A49AD76CF9E6E7E8DCEC792613AA6FA84906CC50398180F93993E7990CAEBEE1E61830832535FAE7F00CAE9EE5E61830832537FAD7CA0CAE9EE5E61830132437F2D7CA4CA89EA52619304BE5765F610C98FBEEB9A52D66C02C95DB7D853160EEBBE796B69801B3546EF715C680B9EF9E5BDA6206CC52B9DD579871803DBB9EF61C5EC5F9D977234A6CA9E2E07A05CE5CB88298E91B688BA0DCE99D74C97493993FE374E1451C9DD10B2D1AD676BDB82C00B09DBC70A7CED98214DA5AB7FB99345D49A480692B080E9CC1DA49A9E8D73646D71827BA43810F371FC7C4157BF020AD395BF988FE6A632960D3BFCBC3AC1F0EE1D541AD31A37F6B7728C8ADD455A0CFFC6DC8DA5F8855633A49BD5A4B015B7FA010FDDEDF868E2DEBE38F69B7EB16CC89CE5720F7F859DCF6F616202A12175FEB8DDAE4ED472F480113CB9793666DC6B1BF2E20676A77A42546EBD9E334072B20367AF5A2DE6B33753A190F24E3C93E722F3F52C0845EF3361EC59455FB70D72D8DB08E9CCD0A872F1CDCA7C0EB3F1EC22B6BF290DCAC1E763E9D864805D7044A809590A797F6D42DE69D28C682876EC538DE04EB3ABAB4FDAA4B693B21792FFA734A77748857DBA7AA049850F3972345B823E35772AB027C33B633EE6FD7D87522BBB1C1E2B1F8C64FE53D97D8A69439BE0BFAA73452964219306151FBDD20413139D77873501BDA969E68AA0717E556704653141003FAC95FEDD7C65C625235F3D18E55824B54AA4A80890B16E61460DCCADD9AE79BA4D8BA98D43301F7DD128356315168486F161CECAB8098A13F547801D9878BB094768867D1601ED4838931D7578F74547E2C5654A0CA80898B7F2F388774EAC9761E2797E21C9CAB40DD48640C6C8DC77BB5501AD00713A25A800943E2D9BC21EF0C3ECEC9476EFE39EC3A7D91DD8B0753D84E71F4184CA19FA5E9448E6646904F90C134CE96CD73C99A576DC06486399D15100A3060CC81A90A3060A6CACBC6193066C05405183053E565E30C183360AA02FF01B372F1CFE31089130000000049454E44AE426082), +(46,'image/png','img',0x89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C000025885D66241E00002554494441547801EC5D09784D57D75E6622E69920E6799E67FAF753D5EAA45A3A50355363AB5AA54A159F2A4AA9B1860EA65629FDAAAD1243829845CC24228921E6104390FF7D77B2AF734FEEB9B91969643D4F72EF3DC33EFBECB3CE5A6BAFF5AEB5D34581248DD246209946205D1A8325D3C8A635AB46208DC1D218215947208DC1927578D31A4F63B0341E48D6114863B0641DDEB4C6D318CC8207EE3D8892EDA7AFC99F472FCBFED09B72E0FC4D397D3352E4F6BDE833B2669492D93349F542D9A566D1ECF24C857CD2B0644EC9903E9D458B4FE6E63406333DF793172364864FA84CF53D2B5164A878503A30DCA0FA45A45FE3A25226BF5B3CCE4CBD87A63158CCB3BD79F7BE7CFA67804CF63A2302E945CA9223B374AF55509A97CA2D950AB949919C592447960C6A5FF89DFB72F6FA1D397C3E4236075C95397B2F4864F85DB54F20C586B42C2E639E2925D933471F1FBDE3C9FB9FC66078E66BFC2F4AD75F8EC9A52BB74532A6972E750AC95BB50B49ABB2795C5679F7C1941B4F5C911FF69C9745BBCE89DC8F927C79B2CA82F6E5A55D95FC4F1E67C5DCF113CD6091608277971F911FA00E49CDCAE591B91D2A48850289536F47C322A4C78AA3B2E5F815D5EE5B509BDFBD5651326578F2ECB32796C16EDF7B202F2F3C28EB20BD683B2D78A99C74AE5358D225110F3000B778F739E9BAEAB8B2E59EAD9A5F5676A92A5921219F247A22198CF653DB7907642B545AA17C59657BDFDAE299376BACE77E074CF8C7914BB2F9D435D916745D765F8890C85B9845421295CA93459A95C825CF57CE27AD2BE4955C98553AA2804BB7A4D1B77BE5FCA5DBD2142AF77FDDABDBEC3847C7A7B66D4F1C83D1986F32638FEC0F0A975285DD646BEFDA52345766BBE7BA3B385C666F0B95B9FBCE8B44C4B825EC8E30FDC8945E7A410DBE0FC3BE9C83D963E8B5BBD2E4DB3D128809418D1239C4BB5FED27C6F87FA2188C6AABD38FFEB26CF779A95CCC5DBC7AD79202EE996CDC1272ED8E7CB0F6A42CA5911E43B4CBDA54C823F58AE7944A05B34B3EA8D3BBF71F48E0E5DBB215B3C7DF8F5C8694BB2C02692750AF1D6A15926950B78531033552D88D4869396BAF1C0AB9211DEB16969FDEA89C64EAD8789DC7EDFB13C56033BC83E5BD9F8F49B69C9925E083FA52288609E89518FF4FA08CF83B50E42E18255B46F9B44571791752A924668271D10530CF94CD4132616B88085528CE9FFB6239E986F38D36DD79B8314A7EE92B77F039A34379E9DBD823AEA6FFF5FB9F1806DB011BAAE1B4DDCAC7E50515D5A24C6EF5F06EC01EEBF8C321F9FD60989240DD1A1695F16DCBD84936579FF2F5DBF7E5C3B52764B637180DD40AB6D9CF9DAB4A5EB787F699D7C92BD26AC65EA1AF6CC7803A52BF444E579BFF571EF74430D8554895D25FEE902B57EEC817CF9796E1FFE7A91E56F0D53BD27ADE7E390CB5950746FBBA77AA25C903DF80C943A7A587E5020C7B4F386837F5AA2525D0BEA62FD6435AFE7E4A5DF3D4D006921B122FB5D213C160EFFD7A4C666C0E96A72BE5933F7BD4A0F09023176E4A6D48925BD7EF4A150F77F9BB474D78EAEDEDA6C43C74CE54DB7DE7279B8E5D16374C22BC7BD640CC32876A922AF999B9FB65FDE14BF25E730F99FE72F9C45CEAB13E37D53398DFD91B527DD24EE55A081ADE488AE7CE22573033AC3E75A70487DD92D695F3CB2F9DAB887B4C0828299F16DD1C6FFE74487E411849D0BE6FBF5A6AB2C06B04419A961CBF4D79FC0F7C504FAA15714FCA4B3F366DA56A06E3ACB1E9CCBDE20395F5699B52321AB141A2249E997B4036C0BFD5A84C1ED9D4A766B27AD829ADFAAD3C2AB33001A0243B3EB8BECD2DF2E9BA53F2F99F81CA3FB6B96F2DBB09C163C32189EC48AA66B0E5FB2EC8EB8B0E4A6E48AD908F1B895BE6F43268F571F91A01ED5CD876ECFDFA52D0E0A648E4585A9E4E466FBFF8A0FC8AFE54871F6CFB7B75241B7C671198B1168514BB065B70F93B55A5438D82966DFC5B77A45A06A37A2AFCC536B98A87F713546027F8A796E1017704C331A0BDA37FED2431E85D7DF074F0D6FE7A971C03B6EC3504D297BE554549AC1F111C7FEB7B7F65F09F850ACF92CA4249A996C1E66E0F959ECB8E484D8000F70CAC2BB722C170E3B649389CA9735EAF283DE08E4869A273B6D464D883C0994D7DA59C0C6C565C28DDC878FB4E5F97B91D2B49F7064552BA5BC97ABD54C960B47B4A4DD82E41881DFEDAAD9ABC54B5808CFE2B403EFB23401AC2FFE5033F98D1019AAC236C6AFC1F202C9E865D2859330825163DFEBFFA85C92B9871962CE826A73E6AA866B9A6D3FEB53F532583AD3E78515E9A7F408A15C82641B0BDCEC115516C9C8FF2D2EF185C374555A323CE78E3C743B204E1A837EA15961F11322296AC245E8810CC6A572318FE422AC28FA54A06AB3F6D8FEC449C7026B05D7D1A179377E0F45CB4E3AC7480EDB3FCED2A8E9E798A6E63F0BB18D435829AB265406D690AC4EC4C9F60E9B7E298D42F9D5BD98729DAA164BC58AA633006A09B81C188F1BA39AA891C0DBB29B5E807837735002AC9112C2719C7D7B2E971887D7EB2F6945442D0DD6F483DB9732F4ADCC7782BECD85684909A94CA6579EEBF6A074B07A4267A65A15F940CFA270A3E26755B1D161F54BF07AF3EFE58DDE66DC0690B8FF5517DC38444F56DE41F27D56FDE436AA15425C1E8A1CFFBE91615D00E19D55419F245477B0BA76AA74736B18B073E0E5260293CFC9DE01FA314F3874FEE2C6DC5D15B1175482F974737953C8620F9E3D0DF04F521B5BC29BC8F19DE679404786AD63E755B5A22349BB1E7B1BCCDBB082B6419B945F5D93BE0AAEA63AB6FF7AADF33BD831FCB3EC7B753C926C1887D3A73F5B6DC80214B48CC8D3B0F24FCCE3DF59BB077F72C191574383BBCEB8C03BA23BD8B9F457366959C98C22784EA4CDD257BE04FFA1E86FC9B70ACE6FBDC5B212816BE5959BA00E4F738D2F03F4EC9F8BF0215087109FAF93DC0909D7FF0973A9E396517FC770921C28642AF63EC39EE31E37F13510306E06FE019C08BA3C63B079E817B9687E35F3C77561B462E21D775744E92301891A0DE01D7647748B8EC01F4650B20C704D52598806F2F07788B276ED813803F425D4AE07B69E0E7AB147277A83A98C95371DC761554BE39A6991C381B2E8DA602FF05A6BD31A6E9630B5156416FBC089C8484412D3284E4FE29D42498E1E8F08652DE4186D365980287CEDF9053800305E125661B8148B90BC4F7E3F86ECB3E4FC003602E68338F1C521B6ABB4EB11C6AB2512CD743A8517C9B4C3083D133BE6067A82CDC7541B904EC2E0C11552C7F36A9068831B14E6E18340E1CFFDC3265508EC4EB18C0EB48C3BF86B72DFAEF9E5CBE1529C76187D0D3ED8C3261101A2065BF0AB056550A6797CAF8FEC39E73B270FB59E90C14E9A24E956C3147FDDB597B8F7ADFB348406176D3F87665E4A3A74ACADB4B0EAB54BAAE8836BC09D78AFFB91B60A808F1C7DF0E9430B025F85A751C33E872801EE5CD964925A3E48246E05F4EBCB839F1C2D1111D11795F4537F81C23F047CC9C1F204C21176FC166B56FB81EDC28EFD42D285DEB1555CFD07EAFF35FF166303A05A76D0D9661EB4FDB6E942881B7E12D6F5832176027D915769D81E58412E376A7F14606F1ADC41FBF07E2CD3C0229B5EFDC4DF5765BB5BD01901826CCE6C5949F00C3E6E5F3CA0F6038C2741E473A8358E90B0BFD54A8A82024F4F9118D8580C5FF23EAD58AC02435F162558474F3847427AC3B5AD26755DF13934DCE00FC61309ADFD99BAA36C7F740FA46C06F47E28B3DF1E992D2BFA987CB09C9F162B05348C17A0DF6C1EEC0EBEA82CFC0E33C0C99342D007B2188CF5562C22B93206E45DE9348302C21340CF22A9B00B6981BFEACDA63EC8E2AD91F6F32DF6CBED57EE722642754467548CDBD83EAA9736B4CD929079039A4087D7BBA623EE90D89402FF9A34E80BD8BFB6736F92CC44BD70336A425069116FB07D75312A616F06A07204DEAC124A886ECA76869ED8ECFEC42956515EA52D2897617FE68F332E89F118399097FD932655450F0F8DC3FDBDB0498F77FBDCEC89FE83389F6E17204EB4BE7CBA67E3BFBE73283ED857D557FD63EB907C660CCEC470466E3720692710E8111769D0917A682F9E28FB98571161541DE613ED4812805A9531C83591E8C531580BCAA18E88A50BBAE24AF7260D6034D3A1B0F7125627D4CE52765043C6700D4680F0495D9564A1251B473115198864C728EA322DC6BFBEA05A46783A2F234A4ADD58B65EC279386D9D641BC580701A83C06463C8397EE246CB02B343162EED5788EF13B9DD075F00CEBC3D6AA83BFBAC5732833838CE88C6867BF89A8C8693C438EA36FEF9A520B769A337289C1A8A23C27F9AA1CC1E7A00A5700FE427BCA1151C26C3E7515F6D9595904780C8D55870489950EA2BE006C83DCF8C498C965D864576193393552310615C06CCD3D7329066F8CB7A96C3E37CB379AD7BE089B6EF1AEB3F20D982D000F455303846528D55E030E2B312A5DB7E7E8932A67F9FE0B4A5AEDC0B8682A0D15D7AF6111E95CB788E4C703B7228EE7894B11E203ADC107BC39F09A1C055369A9E7F03CD85AB931AE79F149F4CF553C83308C6B149F0507DA11E119BC83422F5DEB159166B0B9AC24246DB60E8BFDA39364E0A73BFD4103A7FEC538198C365783E9BB955A6C03F5B2E6DD6A4AE49AFB48B5C778DAF84D675416B3DECF0220CD9039531F6F093368080DA6E19FD9499D06AA9050BC9174739C868DB23F345C769EB9219B82A19A1D24C23299751F540B1F06550B936AFBB7282EAF83711A8111F58BC9FDDB83AEC91C30DAC23D607EA811457818DDE0D6E806A9D610D9DA5683ABEF29AE4F5E671B6A8B7D0749357F2F9277F9D290A0FABBC268EF01C6325E87D2761B186719187131FE3C61A0F37E4835A1EA793FB1080FB785474E40B0DDA506B0FE2529ED31D32E0A891FD7D82A831E4CEA8B4C2B5F68972DF854855F622EC26CF7E118BF3E48AB73A44EA999986FC089495D84B4B6BF57DBD2268B93C11623EADF05D17F66DD9C04B73AF22EAF3D7451FAAD3EA1E031EC630EDC646FF89DE87BE22C2FA9880F8ED274D799EBB213EA7622B2AF39E3E4F5AE7FD60436D94DA9FADF1D7697E3BE776A168CC56CF4092DC5C39F096623164B13D53FB3B4BB40B29833BEF531569F0C622F82A49C0DC6A21AD1444C5A5F48CA8E60625DFEC9C8540B21E989533352C4C4964A4BE4FCCC5BEDA35A1BDAA8A8D4532A2DA732E613FB2218AFC7B16355A059F8D37D2981B198F162599447885D1D8851933293A233B516C31E7B1B15891C915306A38198F5A34D4AA72F00ACE41DC04B8C44E9361499D0533606A9CD1E80C77CDDAEACBC0849971295FE4602D33E1698F6EE28F836B7434599B6E58C0C5C795CF2A3CE44A76A059434201C599315B37170E78329BEC1E0DA5C0050C52D6113B5AF961FF753C072164A1FD46AFF3059098890176C3EADBA38E3EA8FF17A172A47BF64CE988A10EECE90B8D3A10148C1786168CC7747F59FF97891463EE32963DA94D6B7926C9F7CA6AB219906AE39A1926278A1214F959089CF9589F54C17EC3C27EF22A985B53A6E4F68E1108DEB94C13E4341B6D1EB02540D8763C8DF331A81F4167346A96616B8C024F87006342DEE50A426D76854865DC89CC6B548097B0E29692F406CAF81413F1B88D59E90187CA02C83B9141282AA272E66A39A67B1937930C439CBD385E8D87FC60BDBA3428EC66AFD86FDBF80A9787D1B611CB8BF3B24601BCC5AA95E5C61AA8E90B074F1509597FEEF766527EEFFB0BE54873941EDD00E492A2C75E08F6CF494228EC5B4AD67E48335279580A1C7600522245A02B31F5495E5916F4ABBF6B3674BC9A8D6A56275CF92C1E82DCEF7193CCA30EA3601BFDE1C06B126CE62EA02E6EB1F7C43C162BC609719F7EBE392F35379C0E1EB12F8DB6E7DD15C4DC3338E44A01BFD3EF149C358252CE3CB6C9C189089568189D61C852B01C6BA43825DD50E19DC2FC5301F0DF6F83295B15D8D65DBF85E2D6909F70F8D6AB74F36ABE71004F8514AFBF3369DBC2AAD16F8A9993FF34719BE32CEE2B9BFE5377BE0244380FEB3D8017A4B069BE415244361579173D7016569A4BE2B8FC9B75B82853A7A53AF9A8F0463A5EB4C3C0F55C88987B6BFA86AAE7CDAC4A9A11E5F66E30BB501506732DB524A3650478C0B99EA291447E1802786A98C63DB1648DC3F781DD4127B1D928DF4FC7C3F356BFBE6D5F2D2AF49CAD7B36009AA9673F62B1BBB6F330F99F14A796397551AE05F90B45FC25EFBA06509BB7D960CD6085CB91DDCB9A647753B238FFEACBA5F01C0078E3D08A09CB62FEC5A4D811FED911DB412AA4F1711A1B479112117D683D800FF8CABE48CD9B4E3D395B6EC1CBB3841DB5446F5E74A3B0351B06E1AECB0316D4BCBC8FF78AA53F4CBD41E6E04D6BA7814A45E603E77BC6CBBDEAFA7FC67BA1F5A8D33CFD40792D78E1CC12F0886930F3646C9FB1BA222E0333012817B04F4110AF3A8E8C183A828B751D13017BFB3E1AA1B933705A97EF5587E2441DD8A84753B7F47A86A83F7C7BF1A937D5D6E8BC7EAF3F8C9B6D8667C89301D9EDFE9077FDBA90742C3D536DE33EFFD5191863F0DF9CD1EBC79F30EF805BC429E21EF18C9A1046329EFB25F6C8F6558D24D50E0731FE53339F471031573B4E3D614FAC1905599B1C0B4C317747F6C73651CEBFA131330D9188680B1AB4443F50740648623EBE82C03BDA022881C8C83C1FA16A6DEC6898DB33693AA1D16127E0A7148A3F4A494CD30027618ECCB53231A4929174234CEFA9AD07D8CCA5499B043CDD22F20666A749354C1848BB5CF4EA27F76212423B7E9EF9B4F5E516F4CEB39FBF526F579F1C65DDB9B64B723857F2CF03DABFAD166EEC3FEA19888DAB67CDF79977A43E9C2768AC4C0962935F89DDB122279F44513DB2E1CCCEA3EE4232F3B69A5EF6FE1CEB3FA528FE4536B8E4B3723EDAEFF9FD9FB54BFC93B4682F73B36799D8866B0F68BECB1E1887BA9464A8EDB16FBA414DCD275E961D58F09FF04DAAE8A59ADDA86C0AC6D9BA32F0965802B1191515F6E3CADAE4166E4776EB3A2845E872A508679A9EBA00EBFAD7914C853DBDE5D76D8B6ED517C298167CFFB07D0C0EEF23A17C23CFE0E552443080DA6EC8A3583D433B50A45DDE5C8D094F3C99845BA16C79BE13E6916E33EA9868CE983087B6C47DE63030745DD12AAC20E02B1F13566CCF3E0848DE5AA808BA43BA2150331B3AA5AD8DDDC4DF53B21D7AD8E7BF1C3BD6857051BDA823866F3E97B62992D0E2F9A8C1B2BA242E3D150A0583E6AA002E4FA522C28C399A4EF90BAB60A42DCE790C15898AD3892258C76000FA66FA8C0882DAA046504D0978F82943DF291977AD897E0FFD2D503CB4DDC21278061DA3BB49EAD0E97EE1F6D879730EB3C8EFDA4B86C2C7AB3392B9D02C6D2B5EE795E4BCC5007362DC6AF32754B88AAFDA57EE01F6BB90E06A3D1D1EA288AE188D1CA013BB70AEE0802268DD409A139D689FDF6B50AD2BB51F4F5A092243FC69E7EBFFB135ADAE2ABC6F392FB3B6DF06CA3B62AB472D8D86676417A3D8BD61108DD17870CA61EE2302F05E37D30BE859D31A763632170AAC53756A72F9A984FED60255C24F2F366B6A63C90C8CACCE8C3987C68180E0784A88E6EBF1CB5491F86BCAC8C77C6D7E6EE089189601E5BF0170FB407E292945266970C253AA5DB5CC41FB57463986A2898B04783620EE3B69AD1BA32C44242FBDFBD5A1128868761B83198708C42998381C0DA4D45AD574D19E0487E0098CF69F8F98C1513F5FEE4FE240ECF03B151BA60AEC2E9AB89E39CFE638414F1E50198DF68FC3B64309E580FF54C77011E627C60DCDE06BE2686875675AB2E2FC2D198D2B40EA19C6767EF573526B6218AAF492358034636568E5F263CF4FCF9A84AD1E7315D809498F94A0587B01C476A908CF22198AA7BFDA20E19455F979F64CC79BEA160CC60B98802278A62D4E7A066C5633126F713C6D3078CBF1831505227A8DA39AF5650892FBA0A10A1516B515B435343A848427ED6C1CFF70CA4694AD32AA05B5F86D397A89A3F0CCE7722602B8FDFA190153B91346C4776969AE1C7D8BF039431376EFD43439ABB47C42487F6FDE5A8E1E894FBAAFD5DDD4CC66EA698F42FCEC200EF89D2C6A80CDDA87C52E61EDE831E5CE51716D57C66749A180D57FEF1F7AF7E17A2B83FBEC47378AEB9CD166873F5C130876DCEA3EF0D7DE4B5D967F67DC3F1CBEA77FD69BBEDBA40039FC74D81CFEF51105E08757DB30FF48BF5D1BCC24F33594A30557A72A2AF2A7FB477505D1B53EAED2CD54D3BCC0A78683B2189BFF4C41A40737D4264D24B65E5FD160FC312E986C34F84C4858908577CF8BF532A76C750D65A14763396A7BC0650231EAA7C8020FE439C56B41A1CD0AC98A5B11EDFDBA0549C06556B549FACA833099516BB03BD6A5C19E400B059EDB0AC0DAB0131423200F534E8CD2728F1E4B006B64BEBF05D0FEC9F83BA1B294994B8D9617F110CEA37ACBEDD3869CC9A793BFB67C96050A75270AC8F12F966C34DABCFEF60CF186D8794B8611DAB5B01C67915F0164DE9066FD05FD5272BD7CC6E1FAD72B881696D53379F9159BE9C0D46030009AC1B0A35D80D6A30B92A3D13DC371FEAF34BA84F2E27A308E8D13E405CD0AED30B6F9955BA3A0E2F71D4B8E6D1E7E0FFCF40847400239A55A7ED8064FC42F06437643B31C3C817055B3469BB8C092BE73EB177BEF2184B06E34EED1D9FF2723919D4BC3837295A081C108DD4C42487EAB6E2FBD9045E6ED65CFD1BB5558961D7646330049EB9B299667C020B4720B9751A1EB086DF3066F6614B0F6907209D79C66733C2971D563095F39848382BB3C95251BD561DB3318FD5248233D33598C64FF40A966D48A250047CCEC0E61EF239705E1A0663C358C5DC58D494A7F42DCADFC09BB5FE769FAAE9BA05D95329493AA9D99CC43C052FED905F8F4B3FDCC7370EAA653B6530AD0E097B3EFB49231BD64B4148282EF1761A7D352971C3DA0766F6B7504CDF422096D37E2EF94209BC026F7C573C7C957605AC5547ACA6361433B3DA0E12153463194346BC9FB270257863B12C2B264301131B73E9FB8FCB0DB20709345F7A9D91A5588D8D00450221E7E3257EB57A413503A35B85B99188EAD9A0D36C5BFB27099B39885A1629453A7C65368B086D2FFC858F4A0F74A41ED93FA70CC6033454C45CDE71C286D3F231C068E5B15E350B77B81AB3639B89A122A8BB7A0E3143ABAC67B64D587577D86AAC434FAA8A7C807998A13972C0AA03F04FDB11FC9D3973A43C9FE79AACBB9213B3BDCC96CE4D2E21538818B4745132BB72A06CBBEA2E3F85E596BB77A3933874AE80BE86F993AB8F745B7144E1EAB88F75FCE7C1B6B25ABE4667AF938143F1C2A704F1C523B0933E44739C579729D5902947FD8993C1D4122CF0EAD35E39836A813A098070EA32706ED2F7341D38A5F75208A7941ECE46A6BD39525D5443D391143C18AB68283B0B5935DF60650F3A2BCDAAD03C185AC5BE532C4C1AE5BE21E9215AC2EF679421474AA8438DAA8A1BC85C4D66EE51CE5D0FB73B32AA54883AEE0156C422A32D0C29E0F03CB5D1F08F7DFE765B88F447AD30954D0500E354F499E369EE33EB7D14465981F4F001DE37F8000DCD25F9578EE700AC064C38FCC9610D6D092504DC78A042365733715635324E06638F5B42EF73C50AB351FF3B24C4F300A211D51086E26ECED2AF92E2CE99A9D398F52640B7BF6C698701A73AEF8CA2BF3A81E36580F5660218675EF5CCAA1F9AC1E656C18336500FFFD2EA9799C134F23457D6BB32CAF39CE4C88045B062C81963EA63CC9F2CDD4420E72AA875526D248A2CEA58D16EB646E063B6A15E6ABFCFA03AD20830EBE42415B9612546F8F97E072CBD2D24AC266DF433BAB1D109FECE2506D33A98B6D869C4A08CA9E93A06C53A0ADF010B9F1CC481FD0486FA642697C06631820A2949C7FC1D28E3FE39AD8C72DA33DF431DC6D7096CCD60C099A35E57D4A45676B7A68F9F5C312816738D0E2C8C7A1B9963CDB8EC1AB0F841676667AC08A7327B80E91F8154FD114F7BDA5E2694A6928D47915C029B7248AB12F2C5B3A5ED20CC16CD266873574C7458EFC38C6AE68CD713D95B8C76E8520D56177089C17832F3E0D622A1C2BCB6CE314CFF2BC05F46A4E312A02D3B0275999444A9D5E9A7E86C620EEAFB18D4B18641D531305EB357936232F1F9B2092AFFA419C62CC1FA1E2F2E91B4A9989101756626F3F1A3038A49704496382707E6768CBFCDABB61963C27CD9382BFE2AE665639ADD92372A25B934D3C5F1605CCB5124A018ABFC68EF423BC0D57F035CDD19B9CC602A008E4AC8B46DBC110E688C84564DCCC2E9819472964A3A8C68BA8E05EAFD09F9344B2DAB81D48CA18BE926E45A3C47B76366987DE16E32E75C3E898CCC08E909263350E16C77E4F3D2D1B697DEAC55AA231B511FE3EAA7AE37CBE3CD2ADAFCE225A5346359824A9377A9ACFC79281CD30D3E3B4DCC2E6F8A446C2611077FDC50A5D6E97D8E3E5D66309EAC0D3E2E51770429547A550ABA04DE5E72487E847F8CD3FAFD28409298547CF3E099A596F1463463981F80F198B8BEDB668338D0CC60719D6BDEAF194C6F4F2CA339BBBFE49066F4D8D740763C91296F81B1BE078369E2F508D76152B1AB13BB783118673C888FA92A821FB7F6947150559A5872A91A7C51CC9133774C1F13D7A7AB52CBD88EB307603CCEEABBD56CD0EAF8B8B68F3C554CCEDDCA623B2C2E3F9AED408B2FAEDC9FF9854CA834330A0A86A9FC50BEC028283EFEDF4999F0F769E560F71D50D725C850BC188C63C0B8590D9605076DEC5B53E5EEA91FF8A730DB5C2A056F814E7ED5FBE2FA340F92516A513D3F8DF515B3664C67E778649BAE3C00FA7298C7C91A0F664FBBB3D960148CBE63B0A70EDEC8268722B249F0DD8CF2E05E7A6560A7CF705F4A66BE27B5DC23A476CE9B5208DF8DC499A436F675D22C99B955CCBADDFAD8C8AF5A39F5215ADD9FF2DB012E44D79107E0334921CD66C35DD27B39A04D507FFE30758C3835B552EFCC7DAADBF1597E30DE0CC62B68272B31590170B2F20635E91AA364EFD530007526B4DE6FFE8C4B6A3168DC14F01C9D956D5685560FC0781D1DDAD2DB8C9EF64CEF6F549B8DB3C17BB0B5BC2EE790D59773CA6D385AE3264876F8CE5E2D7845F2647AC86846770555A5F69B19DB735492C1B8DFEAFEF47662B3B6F6AA617367985F5457A5994AFBC3448E131973AD09BEE025BFF25558345D85D1D84767DF13C46014A52FA12ADF6F07C214DA82D555B43DC68BE975103903E17A8C5659DFE6C1304A2DB6C332502D803F530BAD730328BE0C46E95562FC76953154DAFD36A450069BA73DBAC5E8FFDAF60A807A9B0E2769F89D68C66214E0E9B2B981E6BD87CA3CD7E5042AFED055521AC560EA22E4940DF7B808E3A0FA08A936A4F879A9943D26A88DA6CD3699F69B1D08CFA69CB164F62018CB569110CD4856F7AD7A8FA0F826E0B3F438C7579AA9EC6CB83FE809D0EB6AEAB1A11B88D59528FD5F04B8E05784E28C80427D9CD56782188C8D712A5D1D36170DBE7751F5653E02CC9AC8807D57462FC24988CA1E30A0B150595C528BE7B32EC2206496B3981A6F6C758C03D26AA0CDDB755FB4F462F8677A3904BC41F4B42F0DCB65934E7A36E883ED0B42E166C1F55B20903E01F516D623B03EF2AF4005FF51279BFF015E33026972AC374B888DF24F950CB53199D126CB9FF58E0CF73CAFFC66F4F8F73FEEA198DD99148B8BC15E40F13ABEE82C40F235A04AFD511F443380F9057624CD5858B03653FFF13CFB00DD3103016B7D3E6FF55D38AF17A0021167F15C914407E5CDC360F53BC10CC60695CD8530128BCCCD027EBC570C7E9CFB2038A4238AA3ACC07A88AC34E30F8847B9FC6EAA6E9633BF16D10F5C5B8859DBA401A85335F985B2923146959919C9EA01A893F1AF383CD15C3A9921A026B9C3F5E6589F9B1177FC3E14085D3C28224B3BD62C24AF621D47263290697A0283D519C1F2AA9825930E6296B518C1EA39C0A69121E98C7CB1725EE98BF58604926C6299103B7519EB82D8E07D358792625CB42B1891104764757F7AFB3DD870437E3B11CDDC6880D9DF0B5EAF64630467D28C3ECC2A98B4B1DA22D771E21A9674F7699A059BAC0F6D32B89FFC914C63B4C9F431717D268AC1D8B85E55960F860BAEB7364079196D6F0B15F70F60CED95054ED4548058D2070E4D7A2BDF5DC8218E01D0CCD2528D3A91DB77A40E3CB60FABCD95502547CD1D18004431D8E3E89E48AF4E90151AE2E6D700F6D010D267311E7F40BEAD773C12A47445F557B2469302647262B8FA4D8E980B0D40733F700533BA39350C71330EB6484E4E2A78D1D1EAAFB1FD77D2F41ADB337961E517E4A022D7FEF5AD56697B161B3347B1D0CB5EAD81595C0C120FBEFB86F63E1BABF102DE0C2F5D42089598D37D10CC6CEEBE92B671F3E98591A6364745FB4F876AFAD7030A581D9D6621BD10304672D66A01CA0FF75AD6687657775A0D99691F479C66D5A25721BD5F1703CE48BB7B3D8CA888F5D1F282311306780FF082631718111092AAC0023984C3602EB828F0583A12C8E8C2D77C636BBE4C4612124E48EEB90800F3013359039B9C3B0CB7296ACEFCBC878CE5E50B6699666DCC60A859B7AD7B27347F8A0DA62133C333E8B8FFE5352C6B72DC343134449C2607C483D003B61A13406BE0FC0E632C294590AEA59548D098BB8AB8A071B1990BEB5C110F1BAF09A59C4EBBB7234A0DC67B55D9F6784E1E86DFCD446FDD188AC3229A0A8B231084F0E45D019D87865F06EEDEFFAAA67CAEB8EA40C4E6CBA403A70F9C0570A5D9467F35F57975D720E45592E99A420D01E5D6A1400FCB9A29DF430F6D3EAFEACB65B9918466406A5198BF9BAA1AF5BFAD4B64B6A516E28DA6478662CEC3707194F469BCCD83757BE270983F14264940EB059B8F039D5E1418493EC6A1438E80DDFA8D7718E3652A7BD544EC1541CDD90D5805A6D777039B5491FAF196C0E668C3B610BE9D243A350746F0CF0FA3D11D79C0D5B2C3ED40B594C73BC4384EA67196C4FCE5A3F86C14FEA75AC843C40B8C90C948CAB7DDD5FA3A4E23956DBB98F2FFC744C9206C64C9238115886E271C6BA5E3CCE4CAC4952054B21729596578046E1DA9A46C6341FEFCAEF2463305E8C535AAE5AC1683F6D97BDFDEB5AE64E32D58B524D555E364DB31D75DC6A40ADB63B6A83DBF4F19AC1869DF440756B14DD45A67A0D64AC6BC46C42D66CD4B1C3D228B77E0A118D0C98B9CE829A246977859951D44E27FF747FCDE7596D37366574F37029E93F606759A97BD697AD357D9752F344ABAC833D6DB4C98CEDC6E7FBFF030000FFFF2B2E15F90000272249444154ED5D077815C5163EF4DE6B2809BDD7D0AB7405B1201D11119122A82020022245AA802055A42B0252044145A5232DA1F79A004980D0438750F2FE7F6EE6B2D9DC9672032F70BE2FD9BD5B666767CF9C7ECE240803482CC29DD0C7526CDC4E09B874578AE64C2D477A57B4D97AA5497BC4D73F449D3BD4B79214CF9ECAE675FA60829EEBD56ED8F83AFA90DADA3B1EE122C30F7DFD8CE2FEEAE84747F3883C492821236B4ABAE4892541BF4D22F71F5B7F1B6E75BA1B72EF9164E8BF5904EDC8FD4722099FC88CA267D47D1F1DCEA7B6E6FE3B6B54F7D77C9FBDE3E6F60E05DF9692A37DD5E1E2B952CBA15EB6BF478589BB65D7E91BE29535A51CEE554152254D646E2A5ABF13B803C18A8CF595A0CBF7A47CDE74B2F3D372363B567AFC4E3910704B9D6B5D3EBB4C78ABA0644D9DC4E6B53C686F40ED1DB7D790BEDE8A60C7BC441E2792E0A1D5255B9AA49280080244D10867AF1D5BC72321582220589133EAD2678160976E3F941EBF9F9485BB82551F4A79A691FD3D2BD8EABA14C3373B7AEEB67802C18E3CAF08F6E0D113796DE601D978FC9A64CB945CF67E5A5E3CD22695EB771F498D697BE470D06D3937B8BAE4489754421F87C9B71BCECAC07FF001705F4220D7BAF625A456FE0C36074023467467F2A32761327FF745F960C111D5BE46B011673CE4F49D14F25B8792D2A46416293B6197EC3B7B5356772E2DAF15C964B32FF60EFE7DECAA349CBE5F0A7AA49693176E4BC6E4A1323A7F90BA5C2398BEF7E237351C4E287D5D74DF7BA3DF75A93BF7903C019249928432AC411EE953DB4B92264A20E76E3C90FA33F62B84BA36BCA664489958CEDF0895B29376C9A5ABF7A576E18CB2BA6329499638A1EE46B4B7B146C11EE30336FFF9B02CDF77495200A90E8172E5CB9442EE3D7C22B57ED8676587993326976D5DCB48C1CC2955A74F5FBD271F2E392E1B80949230818C7FAB807C5623B7244810F19DA23BD01AB1FAFF7B5A2E5CB9A71ACD9EE2817C93EF9CDADF1A925AE69ECB2A550B6490ADDDCACAA42D41F2E9B2138ABD6FEBE62DE95380DDB900A45E55A7EC511FAD41B1CCF2EF912B522F7388B4CC86F7020CF4CF29C1F792595B2AE0914AB67EECED14C9A2FADE147826FC17289FFF7E0AAC3F4C21CBACE685252FBE05E1C4E5BB520DDFE3CAB5FBEA77A57CE965439732920248E877E5AE149FB8471EDC0A952665B2CA92F78A4B227C939840AC20185FAAE39263327BFB7911CC8603DDBDA52466313F6E13CCA23F0E5E16499648CD94EBD71F4812B022DF2EA5A54C8E34AAEF44CEAFFEF697516BCEAADF6D2B7AC89C964524B1E1E5A23AD07A50CA8015EF0F67C549933E94365942A44AFADB92502CA2E7A3B004D2ED642E79F23089CCC780BE032A56EEFB5D0A51CA78A595D51F9692ECE8AF2308C6076938EB80A27C8520775E00D5B8052AF155FE73E295FC41845B6F3D4E2C43CE64971BF79FB6591AAC6B9F1DD61595F77E08AED061F13199EF7B413DF3CBFA5E32BC617ECE5B057BCFDD928A40AE47E85F860CC9146791078FA531DE7905B80791E920286FA9C97B44C0753EAC924366342F1269B2477821273F6205C1FAFDE567410E0886DB3E2E2355BCD24904A44B95448E7CEA2D9EE993CB9B730EC97AB0120AC29B3E2A25353183342CD97F495A9085853E91374B659125ED4A2892CEF3511968DD1EB7B9466C97739007F3A5BE2F7DBD2E5811CB78CDF13BC965ECD91C980489E5E067DE9206DB5AD3F7C9998B7745C0529A95CA2AEF7A675514D92B437275EBD9EBF7C51FD4F7973D9764E9814B90E3C2244FB694D2021FEBDBB567A5489ABBD2CBD322FB189FC57D22D97701D924E8EE538A6666FDFA1E57DF9BE249F39F0ECB2A4E667C87C56D8A4AF3D2597533B2C92F446ACDDCAF1498BA60FDBF7F50420242EE4BB1EF774742A6ED676F48D5A97BD57720928E6C94DFDA4E5477628C608BC1125BCE3BA43EC4BF9D4A4BFD4219551F0682220DA37C9534A16CFFB8AC5406D211287BB5F9E5B02CDB8B8F021EBFB86DB10803E11B70532AE1E37206D52B9A49567E5052916F57075A3DC4F06FEECE602577917A4D2A186413C178F9CACBE965D5A58C9218B2E03EB0C65CE993C957ABFD65F256B052F4D9210009BB57CB294D31296A4F43DF31BB06E50D945CC921FFD8812792403E01E50C0D4D2273DA1493F615B2DBBCD295F7A618F2C6EC83B28E13171CC4A77319A9E899D6DA9E9AB8F331718184CDCA66935FDE2D669DB83B804C55C29169E0AB7964E86B166DF75F882CAF424EE3BB2F06753322ABB5611776628460472EDE91E2DFED22D6C80F2D0A4BE72A39D523A76C0D92EE4B4F2899EA4F088B8D802846204BEC0A3967C6368B1CF4453D2F19D1309F95DFEF3B7F4BCAE1435140AD0ED98802679A2F37A926CC33DDDE07D0CF239BF61CB943C95FED735E966AE92D9AAB3EAFB7A4B88B2F6592B5573011C0CE17B52A2A2D218790FDCDDF1D2C6B4E86880FFA75834233201D10B112587CFD82E9A56DB9EC72E1E603290FF6C33EB7C971456A67B8A99BB6B9DD1A9206B25F16F1C89C4202FA558E200E186FB0F77EFAF8AD51AF484328565B4E5D57936357D7B2523A476AD504C7B9DF5FFE32669D45F4E8844930F59D42D671D6CFF9EBE855791D6D50669BD2BC907C5C35973AF5C3F673D275F171351E877B969762D91C9B92747BC66DB411EC266C452521DFD0DED501BC7A568B22AADDDF40A29BCE3988592C0E67263FA85118AD03B24DA132236620E1E8A53B521E33EB2EB41B9A3B68A3214415C178CF532A160A2A764EB643B05F70391DA8C75339E8BB2201923AE123F91308F63B281998B2BC051633AA515E2992D5FEC0E29BC88C1DE7A4CB4A08D518933A9942A415047B2A29648523CE64932BF79FB2423E274DA2478A7ADDC7F31D512FF65D2392BDF72E9727ADEC3E7353524233DF054E5134BCAFD7C0019AFD74C8A9F2C46710F418E1B56519B806655142875F8FC99C1DE7957DECE0E715203E44CD3E162D042372BC3DF7A0AC3C70592808EF80504F95961A61BE3130EA41701CF5467EE95BC74B75D2D1BFF59879F5A00884DD79A84C1BFF7428659D81D46A2A4DDD275721EF68B037D0E6E3FA7A6E49C592F4DAA00E9155922D99211D4C0A83F204AB8F7F04668BF1A02EF210C80EC1B72ED87EEBB259A562EE34E209198CEF7FE6FA3D5977F2BA4CF7B90093C41DE2A334CA7C4DDE8612A191CB2CCCF3997C4E3B20E0A4B31696F8705C6DBBD48BD73B43305E43CDDC07C845AD9DB0FFFC6D6930FB8032392480FC4BF34F6D700267307AFD59F972959FA258A7BFA82479D02E65BB4A93762B4589136EF9FB25A224F4470BC146A123FDD011CA2BA76119A6BCC28F5875F25ED9793A44F1F9C5A046665383BD17A4C0FC3A06847632CA65E3819C9FC25441ED2730E40164843D4A50E7FD6644B2F701CCCFD2D7F138D9D2880679C1DAB209677A35B47F0A4892191ADF48687E845058F7FFBE9A56565D8112827D47903A59A874035B2C90F2BE502B9D7B3EB3F8800512B43982FBFA39DC27B483B63CAF7551CB0F3BFF75BFEDBD77AE2C29A058794B6E7C0352D3893051F42492003168B9FFAB43694C8AA714D4CE63D4614E9CE63F1F52F27145285FDB60B6A16619846FE035CE57B1FF91F8365FBA4038F473A28C6007A0C6961EBB53DDBF011AA3368C7EB3E68C7C0D7E4FF5D7BF4F2597ED47BA231454BB2C3D2E3F85ABD8AF806ACCC7E01379290751FB0C7DFC38923A6FEF03E876F596E68A2BB0550DAB6F412CA3098416EF6C03FF53976A03ACBE8F8876E0760AF1B9914A02C0D2AE855A58784650C2FCA0463560F22892EA3E0818BE0E60617046597FD5A2191783C9624397B2565B179FD318C2B83FB4B7B6A5A16D362E6015B6F5F3CC5B7BEFC7F7A1C2B401023D3D10448277171E95CD272C76B7F72B79C8B4A6859582646ED3D16FDAF3F28DF1119A93BE793D9F7C552F8FBA9C86DBDAE0268403BD2B283394FAE1E45F94108C426379F8AC68E9EED7208F12CCD9BED2FCA8EE620A6C02BB349A1E9C3C3FD2E96560BBCD60CB11B04C819173018C84ADA1F9D8037B1FC0DEF5F68EEB76CC0866EF7A7BC73B9FF0844D2DB16CEB514E996BEC5DE7EA71DD2F330533DEFFCB9E8BD21693932E2EB2C4A5B0216A19CA789DABFBCAA401A33159902FDEA3426E8B46AACD51DE108B767E56DE6A5F73D46E94104C5BB969EF39062736E52E3AB7B5EF31A63613DD5152AC76988D6BA0DD10A85AFFD8ACB032D4EA6BF4D6950FA0AF75B4D5EDC414C168B4A5F2E04C7877D417E339DD2F5B0846F6DE1988B574EF45750B3D08F35A15716A1836B66F6FFFCB3FFD6434EC7964C1FCD6747EDF07DB2D0219FB2C14BB49CD0AC13463D136EDB5C1E32E23184970EE513B9449622BDC4055F358EC5A1FFF7642A6FD1724B446EF84EF31096C42B1019407A6433BEBBAE224052249932E992C05CB6C003F9911F407988E59DBBE8287539663BCD7B8AFDB312398D9C563BC87FBD38B9F8E605B73D5FC606EC7FC9BEC6FEECE0BD2195A1CC18C60B4533559784469D934AC4E7BBB8074AE9CD365B9D7FC3CF36F7A05CA4FDCA50212BAD6C8A5CC1BBC662BB4F9EA10FAF9CC20985772E2BB380297118C863CBA7CBAD7CC25939A14526DD2929D7F04900E38751C213785B258FC8B8E1E18D57327A149B68291700FD832A11B9E3F06B20B7D6704A32B281DE4B5C1B53DA513063A250CBC51017B086676529BDB34DBD65C35A09ADBD1BFEF6232FD888935784380DCC0A426185D493CDFE78F533215939A4076B508C66AEDDB550763E9DF71F82D8B8CF251ADF9F7AF6CF567765F7E42A66C0E923760CA5889200147E012826D8029A1CE94BD4A1D3E0344D2B142EF838D5128FFA86A4EF911B292BB801AEA88B56764103D03D8A7B77F3D1CB4049EFB15DE84C1384F4D9040ED76682D4FE906129E36B96B761B8D604418A3AF522398998268BB91D94340041B7DD643FC6F27979C602F41FDABA83E39FB47BBE2E4AD81327063A0250202371484437C48FD3CCA8AAE95923A30E6EAC080A1AFE5957E75BD1C9A399C3DD7D9F98FE0639EB9EDBC5069980BE333E136CC507946FB28F3D17A689A8E4C202E21582D58D537413B990D97C607E12E0D7AE50B13BBA1C6060EA8A2B43D679D8DE9F95D8137A5023D07807B636AC19DF9944A01CF64D5E12B3268CD69AB739BFECE4E30457C84C129972BAD43F661A48446A778E7C379D5F3CC0846C4367A08889416036E7AAB9DCD48795423A67F14037607DD9419B0A5FD88502215A4886B78DF1068BB6F14CF1C4190A60C94A2CF46D5CACECFCB4BF970E1DBD46CACFEA499C873D836F0684462F4AB64A594B341583E0481A985C9CE680C7BE014C17CE01BAC3C7E9732827236EA99D4E697232A908D2C6B7238CBB4F790D83C9E04E6044603E8004173DBFC68EB4E5E932188CCA0FB444361B84FBA56F690F7CA7958BD05FA1CB74418C68B19C37A8CE7CD08C6739A8A19AFE3BED1CEA6C7CB78CD5568C83FC3FDF40310EB388CA21AE8161B04E772DD82196D4E062A3F1E5F6F51D128A108908C2BE806399B2CB90D88CB2F203204CA68B9466E57C65C1FB8918CBE4F63BF9C2258E35907E5CF43976506C863475002022DEC05287B81825C18583556B41663A71CEDE7467404A3658F412628EC44E63B1C7C07D4E1BC4C84C39B9E02055042E894EE542987D483AD8DC65C2368441B084AC8E710EC51225E5B1EA13D3A1C882CD1969D8D6D90C2AE0517F811FDA129463BD06956F80C1FAE23FAE32C6CFC18DC674547FAA8A8D3B310B0E30A2EDC0C951CDF808A3D7E22A730EEF9C363F966C085D4094A08C37D56D991C51C22988A0DFAD65732C13D72016C506B8823E13CEDFF875F04BE1C572FAB599979D6A8E3E7EFA8A041ADE1EA3E5123FB1D9364FA8E0BB2EE384C1FF8D884423952C91FF0BBB94340B63CC1F29F8A4A63F8674FA07F0A80D4750B67922EA0A86F96C81249F3A5A6D61EB24F2A2832C63831CD4DE89EDBDBA3BCF1116EDF6FBFE8A8CC03C5355AF239AE39866F57B2D8C1BE15A544768B93DDD8198708A6B585F14D0A4A8F9AB9ADF795435831B5BA1508C67BAB4466EBF1B8D8D142EEBF888AD5A1417CAE16D2B9DF147EC38E70C39042995954002CD4B37DCFCB90BF4FF35265CCFD136E2D73C487E564CCFFFF095B5E6344FAD2084A1804C1BC43C51C91DC37A486A4703321DBA850A6F0471B59B30AA18190CFC0807508E98E4B588109DA04DC8CCEF55D30B26A18BF19D1B3CB4F2AEDDE96A86417C128CB648570C7D0DAA0C1D5ACF60E25070CDA82F82F185911CF1D557380EE5874B74D117BF61BB4C68508466C0544D29060C0661543A67F739B0C2E94EE8AFD78448A88A026D41642EAEF0872A49965083EFC00B845621A22AC9F4FAFC7706ABE44648C251DC5747DA536452390EDCD0465980C36CE50E50800F61936AC86F5D0421854DB20A890136829DE3F2E8106F5D403E04E039B0C1E624990E1F319DF9F6BF056C98A1C8CE0015523C98E76114CB3473339FE117C97C6BFD7A0E1304E2BAE41BB2B8CC171EC43BED13BE474F05D151CE70B6D7392AFE18301817AC13E361C3167C64406CA45C3206B0D5A0D24005011980A6A5DC785C80375839D7F8CB2E80603B112E0F1ECA1782E7D7A46E73FA314FA23A0F13BD8BB34CBE684F8A46276A9008D97419CF990CAE707B390061DC46974D3E97371B16542CF3FD0D469D4EE541911C0E1A0C5169B6C92696BB600031F263DD685C1FE14E174A725C7D4F151EB221E8F70911B7F2CDC73513DFFCDD907223CA5E2C4DDEAF8FA93D7D4F1872021C8F2096B36EF903ACE77E1DF1CDF0B613C678455872F876518B2C57A1D82EFC28E5FBA63BCC4A57D50A330DEAB9FC536D9B611F86CF6415FC32DFBC8BEEA7E410B56E72BE19D8CF0C62C4BDB8BF65E341E8EB3FD91F8E6EC6F67E0801186AFB5E00AB766B04BC17422E651D83E8C0177759196C5987A2648BCEB6DDF09ADB13BB6B72A8A16F6379A02CE43F1D0A0B55D33EBE4F96D676EC8FB70A06B43AC2D3302A339C66E0C90AFE17F63842ED9665344B4F68721D33B671AFD189BDBDD41B7642442989681752B6A0437CA373037F47AC5D3EA71D0DAA9D10CC2509E7908D4342B258B104EDE1AC18266EDCC0302753032A38EE09BE8C0429B1D72D3C1F970AABF07799231FD6B0D322083438B41BBB595076B13C1C83A12F5DDA88CA84F46BE1281B4EBBCC18D889A7825BF252CC54DEF63B3597EA8247D372959E036C285B557E17344948E07BBA1103DF8D5BC91EEB5F5816D211A55F201605D73E007D4A6041A13FBD7F1947A06FB1465D4B5B0B70D5F17A08CD0EA8130817C007F285931F34109AE3E575D1CFE6FD03FA7652864B7CFF1CC716F1450472933AAB07198861E8E7E2592F262BCDF5DFB2A6407317F744FED3668B11C8B84CC88C7CE9351B522E08B4D04538EED215BC55626B0CEC8DE8398A0B24E66B6BB5EB438B2908F200B790B9CEED5104E4DA0A0FC1154696702B0AB1F9C63306E53804C602A1E3E2EA104225ABF840B8A301249C32A40923F20B8F740D8382916E3D708AE3E475D6CFAA7159999500A3E84364CD88240CE1AC859648CD9613BE5184CCDC4FACF3D487B2B8758404778615408D9019B08A6E2BB60BD7F1582FCDF26419E798E2BA079FD890C2277A9F6CE46A6EBB2E3F2C39673D2BF411E452D783DD96035C4A4D1B6751C018FCEC055046056FA946D41326453A0F22018DB657EE72078329824C1EC6882ABED1ADB31EF17FAD64785611B63CAA8108CFCF78C18231BCCF7B9FBB732B9FCB85F25E5FE86D06923BC3AE3804A36F6850B4BC78FA9F366A18CBF379EBAAE84B9A6F30E463ADD67D529756ECAD6C048E7E2EAC0F28397541F8A8DF1B13EF2FADD87EA98F4DE10F6C824C45B2FB2B1A3856E8F61DB2CF74388E5BE5919B80BABE2D4AD416139876F53E7B97F0FFE120DAEB6A3AFB7B7653BD26BBDEA0BDF494351BC2B05EC1507232A0DFA7C5C6C276F09547DF8E28F53911EF7CEDC83EADC26BFEB11CED9A460FFA1EA4D4D54BF6100DB3F488E350223175A4185360B7AC66BDCBD7F03956BD2D326836F1138A89A952DA5853D8619D566C5C495FE90F2FC84222174E06AB0E722D2E78D5BADAAEB63B3C0DEDAA1A88BD9D0ABCFDBDB6A8199A1472178378272384364A15FEB066C8FAE4688D87B46748F6B056F11A81753FA8CD000948D01A29B3FF1961A86646A9B08A67C8DC377D8E4F7D4B652C2E18A7413D9DFA7A294428980670115218F30C1642AC284BA225C88500F1A2E934FA392280ABC92ED60AFBF82EDCFC5E421826AB0256BE873E6AD964DF5710648B6C7476809036B1504679A7D9EFA3AF356273233E9780DC410C254B0E86E4B4E0813317CF0019F053053A90C645F46A8DC85A155C7E3E9BE68B9D8EFAB2AD6EC269EB38960340226EF07CB38B482BBD022CD8DF55E754AC6AD0F50F14A2790DEF42C406B5A462ADB0BFDFA0EFD321B61CDFD738454A41CED8014AD801CCC46D788412D6E165C4C3D7E3BA99A9BF04E4108E039AC9679B6C92CE94540D29F80AC3A5890174705D9B431B51734C8B1E11AA4A60EF63464F3FBB9E3B7760FF6AEEBA9023E8DCF6010642A6A9118ACFBA8B3663466DB4430DE5C05053076A09EC12AB0C8C660954630C6253D2B9B0C0B797833BB897901E12EAB796071ED1146F43610643972018D101DA4E2FDD42699203C0E41773A5ECBDA2E92527A417BEC81143BAD3DF25C4C90ED6D2851745FCD437A3F59ACD5458349BFB74F056BC1186B1FE26047B36D3ECA1C87C7637FA092D01B10F2ABA0F4D6B6EE6579C80A76118C46C73E2801644B93E4DD1FFC7A54E6223A8109190CD98D2D1F9EB5674E76687BF118BE4D2EA29ED54A68BA0CCE53D9309818DA211B5DA462DB3B026EC80484059365298C417F58EAA837B446C2589CF309AFD0C899DB0214AF27CE55F24C17C10E145564D39462135821B3B356C235F3165C34D96958463C9ED1DDA43AE2E67FD43918B2CEC4920FE01E9A0D379119B4063906A5B77A879B71F43576118C192B990643D682CCA55F56DFC42DCF7B23168A1926CD61D19F869A0799E09C8D4BD0C65596199A098BB88A21679C1AE09357724792A9ECB13FDD6766A6FF8440C099A0843A164C234FEF5AB923AADFB869277C9E6311E26C444266E17404E569877A15BA26976EDF15649B047308E138E2AE98E3F0213C102C8B6534BAEAF6DCBD65606457041B2E81059F99647B90D4A3CD31FAD97A52B3C8DD351417349FB78B606C60302CCA0C6B31A6A9E986B93D83488B32C83051F20684BFE1F52C091799DD88688CE6A09D8EB15123502C8E557828E3DC44C4C72DC84969C38BA4E87E3A432A0EE262B0A439BB2E2AA541DFC75A0F1F03513EAD9E5B654DEBE3B6B6D4F2266E0994298888B8074F80060AE5ED11B2DD022CDB3CF91C211BEF675113465EA4C224677D0E56CDE95F9D1432AD8A1E7556B34CF7213ADB2B1813269E0C580B473C34768EE1BE4FCAA95202C6F628AB33659165AE0637CC2B83902D6F068708A6847DA8FE4C82B52760325981C5E326212E48F9E1128854C6C036459C58DD8219D42CD4EE1CF3C31DFD66BB81C880E61F7D7D3E2822B71914C3283CEBFB8DE6049A0BCEE223BF674350D7D713217E3BC8BA5E57640BD91CBF36013EC436C8B86E0FC462444554D93ED9092329E6810A2ED88FA855FA340960A1D53126CD4A6546426CD648086B44B69F81EC5E7033E94043B3F9C3D2206A5CE0A3D7444C7E25C4EF97CB65A999912B5DF268993028E731C7827D5F76E88AECE0987048D0EF4F90B2360C259D6C994634014264A43C8066C9F29C66708860BC586714D1F9BB028549EC0518B2E4D218B08B0507AF441286490D4A21CCB630E408566749084182B204BB93102F4199879429082682B3F80BA0A920DC3D63EE30D5E49A9CC5B9534B250C7005ECB3B09D33D9844E7256FE598C70E5838186124E1814062E52A06E8249119DC910A98F38C08FB61C1F8B8A070309B55F93D79684CBA905C2B6997DEDAC2412C78685E276926A6382F906DE96CDD88FA470E84E607C3D41D1BDF0970B7FA4741C9B27C062E20CDB432C89A2F6C7E1383F80685B4521F5FDDC628CDB94CC2C7D2016E82A94C6D3DC570188486564A31B20D8EB1212E6EB9C22186FD0752758ED6F2C8A5FF4ACE949E4B609A47A6B30A0BF6206EFC0809C625C3B8E451930501CA43C409ED2883A2022B1BA4D0120AABD671B9F41AAE00B417D19910A48CF32535600A56A522C9334C5076E8C2DCB97BB136818FEE3C85550CCCBB282D9EA9AB2E1A1ACEADC12FD78071FB422140457DFED1410C317138588B71FE97A6780849C9C7627A6A31784265E00B263654CD896A0E09C70465383F1568EEBF8CD01D29B055610326DAC5F61BC4EEFBB8460C4FA016083F48511583077014A34EA7292EAA09D7FEC1055FD1397EFC82908D144401EE32C525BFE03644BC31997547282F493D447B50E95F9F166C3276598B6887F6F0ECAC10134DBF6CCF7BBEB370DD59C804B806CF311864C195243540CBBFA1EF3967268D08DFB720E631E04D9EDE22D8BE1989C82C84BEEC12D11A800CA3D15CA924A99585C416CCADC6D161C95ED288442A02F98ECD311F77009C1F44BA838A5A54865E7A0800A742C9F4D65C35404E63B7A88BE3F2EB74C466055692A00CB615362685154DD36EEEE2FDD53D4C2DE444951B2A9A824EABABB6FBA7D12171F708259C81598094548515F4CD685CD8A440859D7D79BB7514230DE4CAD8B42FD0F0849D6A43E6FF694D2197150B540D9E83A72277520053C05C4390696C778F623D8F28F157F088FBFABA366A82EE3692B084E5DF81CFD63EA1BAB14EAF29524EAF911024EED8C21EBC5C046F9C7C0CF22D81684F9C296401D5BAF442ACB325D087A90E9888B6328BA0210952E08E926D5326BC5F69E1D6504D30D9114FFB22758A6C04673C8283483D61602C255445CB93762973CC0FA32A54A8C64D72442F345266C294893453EC4483281D3F2F7446DAFDC255947622D84FE60D43D555B24DA3210F0C4B57B72016C5649ABBA23A6AD5E408183940A0E62E6436EFDEC69B116D3E5CFFCA72A268292585C88E2F6D7D5D4E45C0D7F6A23F855ED02C6D803D5070B654CA1021BB3E35E0AF3D9D35A84FA6C6930D62993AA34C32448CE61BAA1FAC37D64915440AEDE7D2834479060D0A67901AC740F62EC7C91697E8208152EBAB00F8C83EB065BE3BBDED9A32CBA441BC18C2FCF40B435C7AFC976981236C21F67CB9460BC3E46FB18244F68A3C531938BE28FC9B79CD54C669DB8293042410EEDAF64460FEBC03F8FF016F225598AD46806D285663E8316474DD342AD41B1614A380C6A1D000A6E4480D87E2F9A406AC10F5B052690FA88E6751632EEE8F9B18260E607705912BA5AA8E95C04F5B9086AC46DF0ED5009C4FE2DB0B944984989216C2655B38A55D0F11BFB59C1DF49F5382B59B98F33336B6ACB96FEBE7C98B53A01D8F85C3E233B6D768073A0045CAE8633340BC35CC8560D19C9C6FB9EE5BE3143FE32427348E1551AD8D06DCA86138C631C033390E2FB839A53792285BF8471E59663104C6A0F6A74095489321E22D6142E8662FF11582F7FA781809F9B638B71CD163ECEDC5243AF0C4D9663176B10213AECFFFC870E7A1BFC8FBFF54D9801C3403D44C15A8F3D2F3B5D965AFAC6AD86417FFBABFEDA0AF6D4D7FC3F6DDD42C1620DFBA3D8102B56D74599A9F4A074575033839678239508421692B38269517C64B42F27F5619D0D52573FF48B15A2E909C88C1A102138E7AC2C52B41F1CC737C62B04A34AED898A2F74542FFFB0A4BC0DBB174157026A09BFE0A2B6C5E378886D3FAE25D2BF16C389CCA50C17C08C42580EA3F03BB08ED3F87AE6CBCACF9DE9C7F69B383E1AAF108CAFCA32DE9F212890EAFD1ED450A07D8E32614E201EADDC5B0C99488E87C67D67758610B3911882C314374E8EB2132C0B774D6C5A483E81633B3E40BC43309A27D281CD3C84C0BB168B13D0E14ED0B5FDA972EF434E5F541DD9B1F5B1C906E96560CA9B71B10AFA2BEBA3D01FCB075C077B77A72D31B6DEC59576E21D82F1A5B9D069DF957E52132EA14DA8C243A081363FD2C1B8F29AB9B682BA208EFE4DC7FA3F5DB0FE0FE3C6FCFA56B61A4C6B62D99CFF10CDF02D82F6FA9882F6E2A86B6E794CBC443095053D14E609A8EADB51E75DAFF4A6167D42F60B8D9A1721E3B8336ECDD6D7A2D9241B2A7573C1ACBF907ADF1029F804B57CDE84DDC2B0975BA05EE60A3CB6DAFA7F39162F118C833F142BDCB26A8E39E4BB11160E5D8D301A268B30A998325A5C0038A35A158D2BE1364458D05FA8ADA64157AD19DA289F0CAC9F471F8E17DB788B606A8176967D44E1B73560932C4647A031322FA23019796A2B86DC5D5F750C721CBE408E0363E3FCB1BE9336A032B2A201D798440209652F57977076573F63BBDD788B601CA8EFA15132CD8C75B6B85A85F600A8C462D8CB083BE0A76418B23B412DFA893C4EC27F08CEAB9E37BDDAA745BEF0581FE54CFE1E69705C002CBE41BC4630BA4A8A815A71B93D7319509D35C5CA7C87B15EB6BBE431CA5D45BFC3425C88A51A8BD538582045832E3FC97AF84730019EB77022DDCF986CE33582716074C921B2A04BB0396581804FA0DDA9094A20300791156BB660493C73468CBA3006FF18A5501D4B051E4594027335593044CB7C9721E86745CC1A439F1D851CC7E0F1CFC5ADF11EC138CA5CF99585755BC16ABE30DC6ACEE30C3962BD0596206034E9662C471C5BE1D30C93AE01D303E3FF2B8025AE87D668D40E5B23417811E2F59957BAA4DDF3E15DE098C436BC1008A6FC7E58FA84D4C2BC0A9A11C9189CF86FC7D231A6642CF9547FC63E154448E46245686308B8750107E40204A206AB312B3CB63FF0B36EEF8540300EB25A87926B8923D8F1188AE719177130221997275E8DD8B1E82ED3C264DC4648FFA7CC650BB9D4620AE376A968E06558BC2026EB3A3E6BE471E5F92F0C827130F4922845217371210363E60C91AC3552E4B9AA09B3A726A3DA745714964340864B403BD73454C1E98E9AF1CCB6791D8EF68528A960A45CACE9E18D35062893C5F5123C2EBD841B2E7AA1108CEE22AED8CB106FAEBBF373EB62111088823F4D1B3D51EF954842E17F3C2ADC98D7A8347F072E90D013957D58D693C83901EE1E66846B819ED71301DFC3FA8E0B90FDCDBCC89D70BA1B11DCDC667CF9FD4221183F9A5AE3126603BA9158CC83352DCC548A6CEEBD45C7AC0B557171F5D6D0025F836B273FE2B6087EC80D40E97159082D54D76A659DFDF95871D6CC5E895C1D516362CE8EF3AA0480DFE71522D4D0520DC6D37F2F1C82F13BB21441F96930B402C9B8D6E5742CD76CA436BC8648B104C8D3FB2FBFA7855078C206D0713DB6517EB5AEA3195949153B21D58F6B2E323773173455A6FABF28F04222183FAE11C93A2063662AAA03D962590CAFD982C5A95820650D22664F5EBFAF70A3201608AB8F343D1636A90EEDD356F80F5932979C66759C1711B938502F2C82F1E58D48C6EAD44B10ED1A5B25419957D80C51ABF422BCA8C8F5C2231807E050F06D6901ED919A1D7C3532B6713E87B537788F23206B35D66EA0C6BA18DAA4ADA5EE1CB5135FCEBDD0144C7F44AE7B3818E13D23B98C0C3084CEF1AFB1840C2B291B976DD6D7DBDAD204C10ADC43B196A63F1642A5E6D0BF9E97AA99E5CE2C6C5B7D799E8EBD4430C3D76051BB362863AE1084C71133DF12B15BB550D78282796E54FAD1E1340C07D2B5CB369C0A91C52875A92BDB104117A08CB9BBA3340C5D7F6E775F2298E9D390C531BB67F4C6C008150F4D97D9FC49CB7D5F6463374136B6599BB479C30B70F0258239F8C8F461FE7E1875CE501261274C1BFE08567C18BE726D124467E44382460550B6CA7094BF553C4BBCF6293A182687A75E2298C3E1797932A623F012C1623A822FEF7738022F11CCE1F0BC3C19D311788960311DC197F73B1C81FF0144C3CAA62D387ABA0000000049454E44AE426082), +(47,'image/png','img',0x89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C0000072AC20CA0FA000006F6494441547801EC9C7F4C55551CC0BF0F4451537E48CB018516361DA69331538C2447D3B65ACBF583D60F6BFDD31FCD452CD3CA81FE656EC58A56A3CD6CFD32EB8F666ECD9A45A4563691210A562AA89989FC7A848A22D0B98F7B1EE75DCE39EF3C380738F0BD733BEFDEFBBDDFF33D9FF3F1BEFBEEBB3C5F2F590017246088800F05334416D30608A06028825102289851BC981C0543078C1240C18CE2C5E48316ECBCFF2AFC76A61DEA5BAE80BFB31B498E410271B1D19096301916244F853949530635C288056BBE7C1D9EFDA20E1AFC9D9016170BB31363219E1482CBD823D0464E1CA75B3BA1E35A37B45FED86C29C54C85F745344038D48B086964EC87EAF0ADE7D301D56DF7163441D61B0DD040ED4FBE19BDA2668BAD405DB1E9DAB3C1865C12AFFFE0F566DAF818B1BB3959363E0D82350F6EB39D85271162AD76641E294096107A824582B795BCC79FF301C2D5C1C92B0B1A30BF61C6F8693CD5742B6E3CAD8209096100BB9B7C5C3ACC4C910E5EB1F53ED854B90F14E2534BDBA14664C8DE9DFC179A52498AFB01CAE6DCD8598E8FE5E969456C1C186B6BE943DF86D1387ADFD9B1CABA2C8BFD818D84E2E8B9ECE9A193226DFFA9FC05F9C03D325D7E061052BF9F92C9C2267A8D2876E0F26F7BDB60FE07257701D5F8C030213A3E191F949F0E55319C1C17E55DD089F5735C2D7CFCC0F6EF3BE082BD8F4E2035057900529719302C766BD5D09950D7E6F1E5C1F0F04C8192D3F7326EC78625E70B47965D550B83C15EE9B3B23B88D7D2115ECD3C31760F7B126D8E95AFBFD1F2DB0F2C31A00F2B11597714A60421414E7A541D1CAD90100E7C8FDD0792587A0BD7819178854B0C73FAB8575B9B7C0A2941B0207DFFB4135ECAD6BE626C28DE38800B934EB797305F8DC4BF2B72ACE900F013E78F1EE9B0740900A16F5FA3E68DCB00492C82705E73A3E7A430500B9E186CB382740C45AB338193ECAEFBB1FB6BFBE0D5EDA7D0A7E5F9B39008C50B00E22D2B4A2FDD0BB6579E0A023E73B6021B9FE42C106301CF60D4BC9AD83BCF4F8907E7F38E9875F4EB4866CA32B6CBC2C8EC62BB513A3A0F78DDC60A86F7D05B46FBA0BA64D0AFD5647289823D4C39F1C833FD7DD1948D277FD75845C7FF50493E28B9121B071E52CD8BCEAD690CE8BBEAB87CD7BEA43B6D115365E1647E3955A72CBEA2211CA79777396FBB7D5908BFD14B8273D31E470A160BB8E3641D9C17FE0DBE716040EF8F8D0BFB066E77180EB285808C111586185A1DDCBC461E36571EC998EE6159EF1C8C57EF9F30BC98DD88440E863E464F44046123C9919FA5DA55030EFFDAFADE5A7E115F23E0BF8083F653F622D2B0C2D42260E1BAF1A17362FB96551BA7A0EBCB02C35105AB0EB2F4826B7B25E261F0AD94528985388F3F720F4542C2B8C4D88AFCD136085A1BDC9E6878D578D1B4C5ED6177A3C0A464958D4B2C2D0B255C5518D1B4C5E148C52B3BC45C12C9FC0D15E7E767AC280DB147B4FB4096F53B0F1AA7194812C9E15DD3933E2198C52C3560B01144C0B464C2222808289C8E0762D0450302D18318988000A262283DBB51040C1B460C42422022898880C6ED7420005D38211938808A0602232B85D0B01144C0B464C2222306C82F19E23121585DBED22207C1E8C0C63D804633BB20B1F561B8E80EAD31746BF8B44C1C24D93BDFB51307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251300D73E74034B16C727FC7D444EEE1CA89820D91B4AFE0C72166901FDE5BB2421E30CAF7A260439820D372D1D26C960C05A3B318612B031761AAB0E1363F2F27E3C48ECB8933F6E3276C4761698F92001938DD25DAC88732907162C7858251626ECB03A7E36F0B78CFB0B313E12963D4AFF238D1A2D971A160948ADBF2C0B1C03CE1CAABA6F22A17A03990371EDA05CB0B05A354DC96078E05E609575E359557B900CD81BCF1D02E585E2818A5E2B63C702C304FB8F2AAA9BCCA05680EE48D8776C1F242C12815B7E581638179C295574DE5552E4073206F3CB40B96170A46A9B82D0F1C0BCC13AEBC6A2AAF72019A0379E3A15DB0BC50304AC56D79E058609E70E5555379950BD01CC81B0FED82E58582512A6ECB03C702F3842BAF9ACAAB5C80E640DE7868172C2F148C52715B1E381698275C79D5545EE5023407F2C643BB6079592D9853BCEE85F7FBEFECEFC90FB63F537979F50CC7D31A635E30D90079D0C7D336F60C626ADC32FE6CFF4E9C95DF45CA06680AAA2D79D9093655B38C3FDB3F0A666A0646302F3BC1A6CA40C14C91B5202F0AA6619264FF8334A4B73A050AA661FA50303144144CCC46790F0A2646858289D928EF41C1C4A85030311BE53D289818150A2666A3BC070513A342C1C46C94F7E8104CE5597BDEB3F4CA457A0255FAA3870CA55F1B04FB1F0000FFFF3057E8910000073D49444154ED9D6B6C145514C7CFD29652DA0AC8A345C343A042418268028848248898100DD1A8240A1F8C8926C6444544C22BA0F80110A2517C454282911815036AC4604428011212C1D42281F254A4607948A108E5E1BDDBDE7A6777CECC99D9A9EDEEFEE7436FE79E73CFB9E737FF9DC79D85C6AEAB8D5CB6F9DF1F226D5AF840BFB855EF2FDC70C8C59368EEC4BECD7EAE0E29747AE5958695CC2F8A3C663E927CC63795BC41F2987C415BAFF9D9F9B59FAD179327068135A2F0026960495B1BBCDF9854F206C9E3370FCEEE353F3B3F04A6CEC41A82BD2D98784BF3AE17C86627E12F36783DA4A5F226E6114E2F909B17173BBFF6CBEA33582C164BBAC42702E26E01021D11E5EC17D7CF2ECD67C7918E09EA07810988E90301810940B9B840602E5012BB20B04422F27D084CC00A021340625C325E60BAEE791B0E32E5CBBAF5528B1BA8C47B9854F398D998A51DBDDF9279ED3C2677D4ADDBFC4D0E9B9FF64BCB9B7C534CAAAD1B281B50AAF1B9F1AD95979B4FD07EB7F99B18363F084C7DC2129F126D40065AD4ADDB01FA3FF2465587DBFC4D6CBB0E080C0233BA08D44260425C6EA0EC4FA0304C60B7D6CA1B78A2CC00B7F91B579B9FF64BDB7B303DF95436BD62EF06CA06A4E3A79AC7CCD1EF0D415479ED3C2677D4AD1B3793C3AE43FBA5A5C0BC0A3485FAB51A04165AFD28B9DBBDF843604DCC203077F1487A21300125084C00897181C0183076370466D308F63B0426E065EE151257EAED95702F9082140E1793CF74B654DEC43C265F94AD17173BBFF6CBEA9B7C5B4C6E07C00BA49BBF579F0DDECB4FDB52C91B248FDF3C38BBD7FCECFC1058D357BFC380E4C670FD3678CEC7F47B1D40E3C3B541F27031FCFABDE667E7CF6A818D1ED085EE1BD0D993E50FD567695BF5194F1FA95192CFC44A25AF7D804DBCA85B082C6AA269140F028BE060797D8222089FD62120B0080E1F04C64384C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836812C89DF690F3438839DFDBE061E45E95E1F705BE0DA2F2DBF931F0524C4084F00020BCF0E23050420300124B884270081856787910202109800125CC21380C0C2B3C3480101084C00092EE1094060E1D961A480000426800497F00420B0F0EC30524000021340824B78021058787618292000810920C1253C01082C3C3B8C141080C00490E0129E408B096CD9E6A374F8CC257A7B72597C76CBB7FC4E2FADAF26BA9AFC37E41F19DE83BE98765BF82A30B2CD12786EED3E5A51F147F2FCDAC5E8A3C706D1D3237BC66D2FAEDB4F3775CAA719F7F676F8B27F147E6DE55FB46A670DAD7F6A687CC0BA5F6B69F2A7554417AF3A02E89D92AE05747B69218DEC559C644347FA12A8BDD0401BAB4FD3FEE3F5C945E4C668EF2B236960F78E71DB944FAA685279379A7A6789C39715D8CFC7EA68EA9ADFA8EAE511F101BBD5FEF015BB89EA1B1C01B093A5040A72E9DAA2B1EA2FA834D63FEEFDDD34677C1F1A5FD6C5018415D8E9FA2BD475D136BAAE82982D36BB02023330B2B9CD6D478B27F5735C0E73E65650CDCC51D4BD28CF41861598F68ABDBA99EA168CA1A2FC9CF8A0C59B8ED0CCEF0E1335245F26E30EF8911504CA6F2EA23D4D57365D70E5F1F3F4F0EA2ADAAF2E99899BA7C046BFBB8B3E7E742095F768BCCEEAC1A5AF6FA713A72E26C6C17E961028ED5640C767DFE5A8F6BD6DC7E8C0A97F68E983FD1DFD7AC7536033BEA9A61B0BF26896BAB69AED9A7A88CC99BE89D43F21315D68B38180BA2C969774749CB94CD93D176DA7ADCF0CA3FEDDFE3B11199BA7C00ED4D6D3980F7E4952AC1E3C64E94EDA5373A151685A75D8328F805A8AA076AAACBC5C5A7C7F1FC73D9729F6C31D7FD28E23E768E5E3834C97A3F51498F61CBB6217CD9FD037E9E940DB8EFD7D8936EE3B43074FB93CC66A076C694DA0779702BAA75F27BA559D99CCD3626241B13915543B6B14752D74DEDC1B3F5F81ADD97582D656D6D2E7D38698316841204E403FF4D5D435D0B28706B0447C05A647EAA7C973EA69B2B8E969928D06435611884DFF91AE2C194739FA52CA6C22817DA556F557AA55FDAF9B56F59958E8CE2202C396EFA4CDCF0EA7CE6AC1D56B13094C077853BD9B3CAADE4DBED5F46ED22B286C994DA0D71BDBE9CB2787D088DE37F8162A16988EA45F7C96A9759017C6F6F20D0C87CC24D07EDE56AA7CFE8EE677907E550612980EF6DAC6C35475E202AD9A524E1DD4DA08B6EC20B0E4A7A3F4EDDED3F4D91383A9A4B8BDB8E8C002D391F55777DE51ABB7A5C5F934542DBE0549289E191C5B9DC0C9F397D5C9A49EF47BE909659D49FF7751411FF442094C577E552DAE6E3978367E363B5977B9D5616002D113E85ED49E069714D2DD7D3B5187BC7057ABD0028BBE1C44CC44021058261ED536541304D6860E46264E0502CBC4A3DA866A82C0DAD0C1C8C4A94060997854DB504DFF02D08B8F38D6B533230000000049454E44AE426082), +(48,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000014A0494441547801ED5D0B9415C599AEEA7B6FDF6184808A3C9468C404627C648DC428CE0C33A020127C8480C7B8D9C8C6D761376E7085416608E8CCE5A189A89BCD01B3D1241E93103644E425C8639801918D9B3D608888865D9597CA5361B8FDACFDEA4ADFB95DD5F3BEB7EF9D9EBEE7CC54D75FD555FFFFD7D7D5F5F8EB6F4A0AE457566B0C67844D208C5510CA063142FBE29A16087B9D6683527A8A30728050B213B22D2F8EC796AD9B065A9E7F795770D97CED0A66B2858C915179D685AFD543F18798A2CCDE52A53EEB6BC5426579054059429B6433F24B3CE93D04BEBA4D143DC39201C5EAE4A50FD1D3F9105AC947A5BCCED25A6D021AFF77DDB9F1B91E1863771C6AD497CE612C2F6D91974A2B16248742F65F41FABCF640BC010AE107108CDB90D067E78397BC3440698DB61C03BE5B4481F9408932F21455D85666C777AB31628979BA6ADC60467FDB24C3F0CCDF0BD9AF12E5A08426E33175E8FA19F47D312D9771DF01C09F7E4327BB65A1E80E1255BFB5E511BA574E0B0EA57C138B5A5BF5049EFAE9B254CAD35B66A93F94E9B9A3F8FE0A307572B3280E477F4C657704BDF1B9DC7515D46CA88E57524AD6897A20C4BE5DA6E596E23B00D0D8D78A223185FD625365D1DB223DC8F16854F1E801C885236BD9457ECAED3B00F0FE1B2009C894ED122DE084BE83637F2184368A625A8A79BE48CB65DC77004098B34581A284BC23D2821E5F3A895A581594C63B36B3CEF153F67C0040920F437D5B22760302663C4C141313635F07E6050100510961DC3F0D8400F04FD70559530880826C16FF980A01E09FAE0BB2A6100005D92CFE31851958F82B280D3032057B258FC128E653EC95EDC38A215F20DB4514B5BE6126FD38DBBC8600C8B6463B591E65F4DCD466516A82882B67A268EB0C5BE86F629AB80C6078215BCBE6E12BA0930DE6DBEDE80EB0817425B1D91C626A7F2BA9D55657CCD7BFDAD9FA4300745683F9BA9FB1B186C1FE8C5EE1D737CC671776948D10001DD55C41DC876D34C6BEAB99FA1E002131F1F72CD25EB6F200002A2FFB2A34D65EC603925F1A83A1495F54A8723755E84C0C007F4A285D83BF16ED05018238FE661EDCA3AD2999C7A4BD9696742531D052E6ACA45176445C0107F397A1ECAD5929BF8B1432F61916FFF413FD8BA22EA2B6F25A5DB5FA46A618E317B3E2E347F4D1D831B90DF96FC5D0B04F667AFA9A911BA9A96F87D1CDF8B66EAFE7A307D89F66D8B9B0D908E7B2BB84A74F98D761882FF57C111AFB40D4C18AFB6963C3CCF84B3024B93BD253BD18A6738F73231A311F8F031C5F320DBABDBCC628F74A1769FE0380D27A9109EC7FDD593AD7E83620C0BB5AB588FD8CAC07FA970D55F443899E41A89B4A8F7F6651A40E01105EC8484A5FA247ED8DF2FF58323739244D6CE6C27700C498B906E8355DFC70EB60DBFAED888471A38B1EC0C8E82758BF436FEB4BF1A45E218A877DE0A522ADB9787D35FD0040F8078528F7C0B04417F3F1D704B5E98AF285CDBC2ECEDCE0EBDEB3C3644922B908EFB3FB9DB82BA474057A84ADD82BDF8D015160AC82154BE9CFA83D0C7DF4B7B1B6D3D725732A428F16C5D4C1B00A3E21A7B54C29AF354A2C622DC3A2D179624E6E7B386048FCE694018A9888785E00C09F82C6A4F63FA8DF57F3270FF90B86441565724395FACB8E3234B2865D62506D9B270808AD699815FF9157D979010067A4BC561F6632B619C396622FC6BA138D52E5A9866A756A67651E31D728B56C7B8334B8C434321A5387D455D27D621DBE8F011C06F8540773DD52205062CAC913F890E245A7D0EA6C343ED7D5E699B1060C0CA7487AC3D94BCBD01F93E820E4AD07709819F3243BA7F194518DDDAF297C41C3A1073D84E2B72A91C83434DAB66CCB5A52A3BD889EF53BEE72A91D55C857EBAAE2B0466EFAE51D000E2BA3E6B2730DDBF82646AF15607E1026067DC15CDE7A2887AF2C862731F83B8841D98E68942EDF3443DD91C5B25D45F1B30506D1DF961E280CB0B754C75D47F20A06002E09C248A735505AABFF8431FB21574178E52844BD884F211D7A909E3047A63084068A8B6309EC217CEA5206DF52A6FADF67D24200646A2340D76B1FA247D1BDAF1445C234F15B99B4100099DA08D835C61B2F492231F2B5CCD5C1100092868243E81355D7C8CBC44C314F6B258E9421001C4D04307CB9927E8A715F83281AF608BEE2D04200389A086EB8D743B42F3BB410008E26021BD283B268EC02871602C0D1444043CCFB0E48A231DACBA18500703411D09045986C6042C9598EB821001C4D0434C480AFB7241A239A430B01E06822B0211B28898663670E2D0480A389808658FC958C6EB0227CD811370480A3898086CCA6E9117F5A444AF638D721001C4D04309C03FFC358082A1545C312313F719CFA8500703411C0B02E610EF7B2118CD96ADA08255A2872B3D7488FE409F20DEC605D05C3897E40696F580E07C65E01E7E19210E6B01221EF5A3AD9523C9EC80764B2DC18381B70AB4791EF6F9C45FFE6D0F30E00B689F44C369287B5E3E45F6132DD138D9FFA39A1C368570F1D24C36134A1E87793ABC82B082BE363C9CE5CC8C6BBFFF509CDB5F59BAA4721D8206AFAE5F515A0BD4A2ED54E136E1E3E1B5D55CF26B6827F0580DFC46CF2E7E41AF2602EA4DD9830BE8B076AB05836A511D76922079862BE9CC7B555E40A9C076A40C3CB0B1539AFBDE02AA8ED318ECCCA1657E5CFB3226BBFB607BAFD7C6699B018DE83D34443336979E901D82BE41C34FECB61E3A79BA25A5B4DEE48C73A79611DD07E20363E2F124FBB7438242F3D00DE7F4FA30BF4ECFA30F8AB43DA6B0A256F8167AB93BA2898DBD120FD21D730287C3CAE3F273146C947453DC825B4829C94D2DA41A898AF5D6698641B0E87A4377C52B753FA064E1E5D835E006C34FD7C1F049E5C45B8B7F0079A58387345C91134FA7D18142D93D20244606BC9E7358B3C0F108C7289C5483F3D49FE19B4F92E7A3B22DCB45E33B597F1EE77373ECA885065BAD8F8BC68DF5F011142C60282AA28179EFCBB82DEF85C663A867C10EF43C6672EC638BAC0A0B0C3AF81FB16B398666BFFE935F0E35E463657C53639F56486BE03002FA211990CF06B286369D158B256A407354E8793D368A81F88F2E1C1F83BB65A3EE12BE613E3B72C60BDFEFAB1FE0794592EA6E1957308E702EF13E94EDC7F003022AF4D33B2D161A8BB84F16282737CC4ED2701C21B1172617B745056C32E3E6AE8AFE19D3F5EBC0F5DBE86AEFF76AF43A14E5EDF0100444A67D8230A719D5773980B7288C15E124FECBBA28CB645FA89B4E6E2236A93E371D0E34F68FCCBBDF2E013B5F7E210EEEB5E690ECDF74120BA3909749812EA0E43DD2AA4C40008DC3F46304C6AF937629EFE75CBB21FB7525DBE58C067F7E2E99F8B53C7AE451FAF527D0780171321AD750D70AF62A74E6AA39845275B16FFC8B6F73E091ADE228C4E45E3FF5BEBA5121202A02D5AF2390F770B77EA2332D08A98E7DB8C5D02F7B0E34E9ED06FC2B38EE572FCF77EE8F968FA18B600266D99155BDF5696730280F27F673DCDA3660951ECABE11692DBA05F823FF8B663BD2CD2F393883CF6692BBF81CFF793F716CD3876445B9112B41DCB6078F2FF4A55765BFDF4D83BED5152D600C03D542AA631098E90BE631ED3AF4363C7F8A7A044B0C21CE92DEFCEAB3D6C07372F860092EFC096A4C54C022EE495C72E3D2FB6F8D9FBA9D1525EAFB44E0380AF3EE99651452C7D8A4DE0E123D5E262B37B551DD23AA3013CF1A7A0EB27CF8EA94FF023600D1D2CACC30098F824EBF161A3FE2FBAADCF80578FDED2A3DE4186C2DB5AD300DD85A7FED72A557FB5A1BA65A792AD95C4D33B040078A0FCE6C1466D111A5D5ED4694BAD619E3669004FB986BEF41DAC9DECC2C87E7354B5376EAA8CA7EDF9DA54482B99DA0D80B25A6D06162B1278BB4BF379775D18FE51187A31E5BFB1017500EF7D1C51520E46A9B1D09D2F8C656AE0E6739F5BBCFEC43D77A951F2C9F087C9E139D4C3BB7AE60D9DBC6E33003E3332D0FF03D392BB9AAB93CF4181D8D530457D89D1D80ACF6FDCAC6AEEEE90CE35F0959EDB3EAA7B84A65608D74DCBBD4EDA0400EE51C2DAAFAF85D7A96B9A6309FE7F5746A364C6A619F15DCDE509E985A7815601C0BF4271688FB604FBD7CD343EDD810F1C3C585F1DABEFB078404F87EFEDCA3736B39AE7A748ADBCC7B197B8C7F8311A7FB41753E8F2970C3C4BBDAE9D8D7F5C2C8B99A98522911CE83874AA00F65F10858C44C9519196CB788B3D40598DFE7D9BD93F9418C0A80EC8F9517D75BC564A6B858029CC2108EFFA613388F72EBF7111031ED1D7924BA107C912DAB4F960D9BF5FB33D407942BB1C0B3B3FF36485D2073AD2F867CAFA2F8F32EF39BD965CEC410F2C09D63F733D84DB5F741379CF839E3352B300B06CB200533D55AC19EFFB67B654A9CF8AF4B6C631A97945CC8B27E12C6C0FFC8EAD0BBEFB78DEF56B6B4835C25B443D6020B41C3DA4D03F8AB9B21B479DF28F7F6FC624D62629859257070E898F6DEEE30352FE6608C9D5E41528608C980C668E4301F3611CBA355A44766399AA1DDB2162698515D71B497F487335B6471E40139788DC416E0396925F2EBA81EC15D37219970080A91E2DABD5B76379F7EB991563A07E5C8DA85FDC30931EC9A477E4FACCA1903F0104F18EDC1FC47BD0104F148D23D3FD964D7A0594CDD327888D9F628A9279D9687C5E567C1C795351C8BD7E0B5BA8F5E1E9DF081BC199F9E04F02008C0F249B7D30F841E402F5996C32A8DE445EC044E81E20BF7B9A839D512674BB32FE39721B6C04CD6CEAB7AD65B90050BE20E5A7BF42BC1993BE47EB267B7FA74ECCDB9E788FB1E4174A9494E19EEDEDB92F087901FC6368FC877116E2565A42D23E7BFC96CDB50E601A0646A6E2260FD5FBA8B1DFE78A31754CAAF1AFC529D931181C4D403D1C80F8600429CA559DF928170D6E6378FF311A7D07168096C77B92DFD252722C1FBC64D6E90200662023C53908D67C36728383CC9B72717DE66048FA7008DB8531F17BC159225E7A9298932615DEACC605003CFDBC3B76FDD0FDCB2EC75D397213A19775EFB1416EB42A979A1E0394FF98F545B77B9E98458DC55C1E25C4F430DEB535900680A59B2EC7015C2CCCFDCD92CA6EFC59B7AEDDB66DE23E0D0066DBE78B77C0C9E087B9B64811EB0CE3FE6A200D0058F14867CA3D3D4DFBCB5F585B8E3590060076A7D21EA4D375C26B45FA3ABC08A406D2008074490F09CFF6A085A40069A009004A9307E926F93C3C4D3725865701D040130088822346C28FD18102258C064C0369005016DD23CA865DC122BE3E20D2C37870349006C0E62AB22F75DE4C90CD4CEAD2E69090258C76610DA40180C6C74220DB26CA824D8C5B455A180F8E065C7B0100C1465804DDE0128F9171E59B58B4AE82E674BFBA3B7C3E1E4BABDCE27767AE3F1FEF6ABF562278C09B7EA509ED4A6633E9BBF670E274F3E6AAA29CEC098C79929DD378CAA8C639C229005FB7311183E2B72A91C8B4CD336352AFDBD422B9BF4ABF0278550D55F19DE80524F7E5B64D1FCD052BA509FD6B8DA7B41D8CD853BB53E3735D62DBFD7ACBB6B79624B4AA5CE8B6AD65BA00C06FC250E039F1666E235896D02689F4CEC4CB6BF561E86D1AA088419D29A74BDF0B035C9889D496D6EA793B312D0140393FBE98DB008A8AC5139AE0EE48457A47E2A39F60FD4C662FC77350DC91FB83760FC3E92BF48677E7432ED718C061803383DDC1E79DB81352A22C6C98A53EE4C43B1A9624928BE03FE87ECFFB295D81C1D256F8B4DECD14169873018AA5F487FFA461E8FBBF8D5ECF636D851E2D8AA983D7CFA0273CF59223A22700E6A43E37A2EFF0F640A9FCE39659AA048EB6F237B2B6F1028345FE0FAF156106420E2A34F23D38357EB5AD6575C57CBCF73B9DD47F0EF9E5934194CEC6071D1EF3532EE915C02BE736008AC22ABD19618B4AE71AD77BA7B54E356814DEC2DD8DCF071E4489DC19F4C6E7DA59378D7E3460A83A11C6366F8ADA42CF3051A4E53AEE09005E69FDCCA2D5180BFC546600E7052D7BE5888471A39CD6068A6D8D1073A11BFA4DC3CCD866911ED4388ED6E911A23C28C9079FBFA312ACBF44CF21A15900F03A23D7C7A702041BC4FAF104F7C1B1F13525B549590831B318A7D4C3F288D68BD9821EEFD13BBA0D3D9F21CA692AC685222D97F11601C057FF58243E112078576402B3820806344F97D66ACFF1C51C31BDD938A3E78A69587BE8766E65D63C4835BCF83CF46A4B86B9A2BEB2196F1100BCA22D8FD06334466F41377DD8AB6200617263A3BE977B0FE3BE03BDF2B869E2C113A4DA4C7A12DCF70436262DAFDB1EDED473297DAB00E095D757C6DFA2247E0DBA2C4FBFFE00416F780F9B77E894B6072B5B95150B924373C9745876F634E09A8AB5546CFD2CFABF70027D9D75547FD16B0AC3EFC52876109EE6F9864EE697D468DCA1E14B3442DEE0FE01A9153DA00C2207AD7D5A4BD584693E6BA04D3D80C353DD3FD193A3AAD5DBF1CE867B93D61C1832F402AC92596C29B3AC2D36D1F69AFBF09DD00E7A27757808C3EC6AA05D00E055F335022C5654C562E44ACC655766979DB034BF35D06E00380C7287900DB3E2E3B17A370240E876C7BB1D3D74F5B0C3007004E73E0201846BB16A70235E0D2FE0EF9493168685AF81360F025B13E5CC674AD6C3A7F07DF63E7338E6762371B4EC6ADC3714BB9E17613CD069B0B5C64398DE7E0D640D004ED5673C896C449CFFA57EDCA4CC7C9DF42AA2A4976668E1B8C1514C0184590780974C67EC09B9378C63A5355E0790BCEE0A697E6820EC96FDD07201D751100088F8BCFC5928ED018330C91E03FB03584FF3EF970F00488E91B020FE25FF442E8C9AB81B7E34F560911B4CAB8F8AB45CC67D0700407F481288DADF906801271CDE6B5CEE65131953A2FBFD14DD7700A0877B5D1490DAF4FBDD6D03C934EDC7453D20FE3E6C02DFF7A0E78CE43B00A22A592D4A035014193A5D828F4F0E16D38216E75362D8502CC039BCD1B26CCA1F655A6E29D22024B7D57D567A698DB6DC6B4791AF226210F41455D85666C777ABB1C2F3ABD751FD18CCE86F9B6418BAFD7B21FB556239783526E33175A8DF3D802FEB00A2B051954D370D3A0A76042EB7343C8E217015FFE42C211A49762733114A1EF7BBF1B9967D7F05F04A375516715B81EFA5AC8139A19BFFD0F3AD1A55A53E9A0F35E405005C506C29FF0195DF0910701B816EFB43E32F1950AC4EE4DBECF950425EC600998296CDD7AE60265B8841D1A84C7AD0AFA1F8434C516677E6F33BD9D051DE01E00851566B0CC7E068024E2355E0A8F8207C52AF2FAE0B863F87CF8E86A96D7206FF0094EC846CCB8BE3B165382492F7ADF3FF07B7B5A2074292370E0000000049454E44AE426082), +(49,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900000EEE494441547801ED5D7B8C54D519FFCE9D9D075D106D7D158B1A8BD62A55ABD21ABBB85005DC25151A24C63FDA943669622BD810A50596565D415A7C4B5A539F55634CB56A53DD0544DD75D756826D55AAD658A2D8A204A5581476EEECCC3DFD9D81913BE7DCBB7B1F33737666CFCD4EEE3DDFF95EE7FB7EF7BCEE9D5946318F692BEDC9054EF389D32C62FC58CED95144DC8AA9D6887B4480316623B6EFA3EA4DC6AD3F6532C947365CC5767AB00626B1C09C12E379D7F1899CE77EC5195D42C8BA546D8A35880000B117666E1C7B486A55F722018EF047A4C4B5AE1A9CEA38853F704E47843769242A1D01466C53229D9ADBB384ED08AB3B34005AAFCF4D71F2FC794E3C13D698E1AF5E04008237C68E4F9D839E604F182BA1C6EA96EBF96185BCF384497E9810D7861739F9F2277B72F787B5D61446801572CB38D1045906E8CB6302788745EC5996486D69629493794C397E0472941B4F7976A6435CCCBBDA648D9CF3392D9D8317F4AF486E94EBFCCA818780996B78F34036F7A172F733DADE44D6DC9E8ED44B7E460CBDF21168E9CC2DC08AE02E65C5C5A8A7BF23333DA8C5C043C0402E7B8E927C5849B0C40293FCA0E1AE1C5FFF8AD4BD8CD14DB246F4C653A75DBDFB5099EE570E0C00ACF44E9795C0810DBDCB934FCB7453AE4D0412C7A45620E159B7350C03096ACA4C76D386BA0E0C00C6F9E18A22CE36293443A859047A1620F98C5E950D16B8A5E64A663A500E0C00628971B20ECED85B32CD946B1E01250716634AAEFCBC0A0C00CE1C65C2C8D02DF82936F41A45001333D912F665955CC93CA57260009404CCB9B1226000D058F90CDD9A501B41A1B5FB08B4AECCB679AD2A7CD8470D99336EF72DCFDC5CCB066B01001E1FCFC34ED60F6AD9D0BAB0C58BFBF83505801902EA0219D573D200A07AB1AD0BCD06007591A6EA39A9650E80D79936E1E9E167AAD7ACFAD48C25FDBE5A7BAE05007D2B5277A2A1E2630ECD11304380E604E8366F00A03B039AED1B00684E806EF30600BA33A0D9BE0180E604E8366F00A03B039AEDC75B063AB4706AA73D47731B46B579BC0C30254E006201001B175F8371F131479D46C00C01759AB84AB96D0050A948D6A91E03803A4D5CA5DC8E3507B02CF610BE99F2B74A3963F4848F0027762977F859E125F74BC4020066A0DD7885E9C1A8C68D5CFC0860157606B44406801902E2E7A0AE351800D475FAE23B6F00103F8675ADC100A0AED317DF790380F831AC6B0D0600759DBEF8CE1B00C48F615D6B3000A8EBF4C5773ED6465054F3D356E6CE28707E5C54F9469563161F7C7E59A6AB96EDD302803C772EC7B7DACD7703A54CF342F1BB81E32572558B6608A86A7847BE720380919FA3AA7A680050D5F08E7CE55AE600F8099B77F13B362F8FFCF0D4DA43FE49AD2D6A01405F47FA5A34547CCCA139026608D09C00DDE60D00746740B37D0300CD09D06DDE0040770634DB3700D09C00DDE60D00746740B3FD58CB40EED03CBC957A92E6368C6EF38C4E537F2D387848620100DF09988B57C3E7063767382B1E012420CE61868038D16B005903800648629C261800C4895E03C8C69B03E03F5421065B1B200E75DB04FC678856FCDB8E49511B100B00F8DFB577F72D4F3F18D5B8918B1F01ACC21EC0643C3200CC10103F0775ADC100A0AED317DF790380F831AC6B0D0600759DBEF8CE1B00C48F615D6B3000A8EBF4C5773ED63230AAF996EBB28B1867B3A2CA37B0DCBEBE15E9F9B56C9F1600A081A7E14726DB6BD9D0FAB055FC66504D5D3543404DC33DF28C19008CBC9CD4D42303809A867BE419D332076056E20172F84B232F1C7A3D628C72B5F6400B00FA96257BD150F13187E6089821407302749B3700D09D01CDF60D00342740B7790300DD19D06CDF00407302749B3700D09D01CDF6632D03F132E25A3CD8B941731B46B5797C2FE4107DDF0CE25CFCA4594D7FD66C5467DBB3F1F1BE1A648600CFA08E1EA201C0E8C9B5674B0D003CC3327A88B12681AC29F1738BF8BAD113AE91D7D242C1B90693C0B6A89EC5020039CEDBBDCBD39BA31A3772F123806F06EDC2DB55911599212072E81A43D000A031F218B91506009143D7188206008D91C7C8AD3000881CBAC6103400688C3C466E850140E4D03586A0014063E431722B0C002287AE31040D001A238F915B61001039748D216800D018798CDC0A0380C8A16B0C410380C6C863E456C47B1C1CC22C5E20B5F2EBE8DC02A7AF13A3097882E9E0FC9EC5E885E42CDA8C2F46467FA619C28FEC537412EC9E8F7F5B379139D48C5FDADCC113F46A3A4DCFB0E9940DA12A322BDF489FCBE5E842F8310971391C9F5D89046D4D3AB48EB5D30791154710AC3A00F86B94B2DFA1CBB25DB414FE1D55F4B1946A9C0B2014BAE8DD81A7A833D34EF702088254F103F6C54B132B11ECAF16A106DBC28DA22BB0680FD05EF0FC263D8E56B1A9B4BBE20E40E101F0ADB26D123FB39F7043BE001F1CFCC1872701CAA5E9767ABD1A3EC83AAB3A04F0F534D1DE462FA2B1B7C0F0FEE4CB1EEC2F1F8BD39D68FC73BC8B8EF06689462D02B08BEE41E2BB8AC9F75183BA667CAECCEEA1D773EBD14B55F818E82EFEB3EC2DB031AF987C0FFDA05BA8BF08E75700961F7BB0549C543500F067E8986C01C917775CF063AACDE905BC64F6D9E022FE9CB09D00009F70382DF0E7526A8E760AD433D845DF506A221290CCC5B8BDEF4262534154C0EF26F0AEB5BB687910FE383C550180087CD6A627D0C54D08EB1C1A7EA2EDD0C361E5BCF8EDEE62971FFA7D39F89FC9133DC69FA3A3BDF486A1E1CE3F1FFC6BC2C89478118BCEEC3A9A5D2A57E35C1500D8EBD0DD713ADBCB618CF1AF618CBB1B13A0FB717ECB8B07099881E47DDBAB2E280D819B04DEC59EFC8CDE871F8FC2FEAFE1C75F3C27A09C8EC4BCE01A4FF980447123304EB722914A9C617B1FEC6EC0E7765CAFC359F9BFC19067E8396EC16FA924039A0CCD569D49A0433F953D4103F762E67D79A68DEE2BD58906022C0B01961B705DD648C7A19F81EFF1126FE8B3438B659D4207FC589B3E9496B07369A0A413DD7D6B9ED103F063628976E0FC7DF402CBB13AF850A2072AA26DB3E1C3A90A33A37EC4E23B63DAE89D525D71BE94A7DF012CD34B347186FCA4DC07340F9715E915DDBAC5B5824C99216C19772E7E03904E50E4182D4683EF73D3910C0E40DC86F3B56EBAB8066D0ADF107E0811B2081A6E3C9A23AEDD07743E8E95C64277F2457DB29D7AB10C9B8F3BB16C05023D4DD97DF42DB78E30D75866AABD1896BE997174913BF942277E36F3DFE9F134073EBE23DBC01CA66AFF98ABE200C09D7B96DC0094DF45A27FEB412F9252195A8D869775812289F6209DE92733247D3DC66E8FF90712DCE127979A459B50F7A45CCF2CCFF6C86C9E65DCE54A2C80CC1BFD9699AC853E86DFBF9495C16F458FCC13B55C710060634799F8A10143FE2218BAD83CEED897E54620809F976941CA835E3E0060A936FAE750F200E166A5DE89E683D003102BFEA3A7516DB88C5A4D1EF51E607689C4BAAC38009034F5A7CE188D1DCE4B80A459E16134A8D0021078DEC307A2347597CF336455E86A153F3DDB230BFA953D625170541B6E7156F0AC5763EA168A715D710060DCDBAEF8C3319EFF99C628F4038403EBFEC972BDA72E99C9A39C4AA83EE06E4C6269778E07BB9B749EBB20AE014CB53D32937F5991851F8A0DB73876035BDDE5E2358BE583A2CE4DA83800528C9E771B10D7E8DE0FB377D36A995E2A63C368AD4850A92CCEE88E6D4C8A5E74D3825EB30BE9BF48DC3F647ECCF06E173B83325D94735DF45D9CCEF5A8EBF5A00522C107251668D74FECF574B29782EC463A01B15AA2D4F1EAFDA662C501808719FF116B6BB91168D822EC6CDD231E8494EAC42C1FDBBF8FA27C6989E63AAF2F4E8A5C84309708F423323F40F695EC36EA172B95529DE89950EEC09D775789563A23811F61C9B8B1540E7BB6129E3E64B0D3D88B585C0C7F8AF117E76C37B68073581E624B5AB6C32D558FCC13B55C957D00CC747F81846F909D125BB2768EBE87ADD17F0124C9EC201D2FF38832928736D3D55E754169A931745B7680AE40F753BEAD8CE1087EBC32D0453BE1E74EFB233A1941F78C03FC582D2F1983DA177C626501808B6710E53F8D8F4D2600EE11006FAF8805CE5F048F32FF103AE0430F56503DE2BA1A47E01E80710B392D3F38877B1E4766363D8D04DFEF51555AA39F88061FEF557F807653AA9DFE3E44FDB05558597C048F17FA32220968D064DFE413FD1520BAD5573E78C52204C9F3E9226C37C387D37D934FF4314BD28F8634C5C434A5FC00B0955C95731C2C050600F1C2C707C5F65F31CE4F9469A57286E88702BDA572D033641E4FB7A93B8941E5DD7CE9D9F4906585EF4910D1B7D3196CCA54E0FD006C3C6DC54AE262B46BAFDBB7E1AEC19F456A2F49CFA03786E15572E070AEE4CA4F47700058EC034509E3BE8F4D3117B0D347D24C34E40E7C864524822E76E15623F92258653B728ADD1004E8BB0623ED02E82CDB68F25301BEA7F172C814767EE566DE63DAE959ACEF5BA07BAB9F5D89BE0DFB29E7013CDD12BDAC38ED5E9E41643F9DCF7C5A99B0D45C7D5A597E111C00C45F2D172D6E74CC6C5D393843A697CAEC6C1A44232EC364680A12FC183EFB4A75A53382B207487F08E7D3C6CCA6A5386378ACEC21B6A0D3299A04DDB7C2D6FBB276D0F128809EC3F922F83B935D40BB649EB8E5D44C7A397D1C9D829DC52B60678B973ED05FC7E7CA0CA32F61D36AB3178F9B56D89EEB446F8FCEF6E0817FE75B485B4DCA0AE82047F915DA1DEC98B986370F64731FCA0611D0ED4D64CDEDE948BD349C2631E31EFC1FC65DECD471871C00E3BDE417680B3BD573E366387591EA31DE32BCF0710ABAA489D87469C69DB6A3691C025FA5B780FC9C140F7FB278D08379CAE19894EECAA4692B7A9D6D7EFC32BDA533B700B720562E62BEEC3A30ECF67764A6BB28435E060680D032F53A7B0DE7FC4A5923E621793C7EB9C322F62C4BA4B63479EC80C932A61C3E0239CA8D475F75A643FC12CCA67DDE7348CCE85F910CBC740D058096EBF96194B745F73221BCFB46A2DA1140F7FFC7BE8E74A82787E5DDC7301EF62F65BB134DD65CDCF1D961584D758D23809CBC31F69094D8CD0C75840280D0DCBB34B5D94A5862761F78A619CA23C31C3A0248FEA6443AF5CDEE45E1FFEF60680008EF7A9725FB18A5CF82E187B15535EC122F748B8C40A008A0CBDF8BCFB563C7A75A7B96B01D818424A650730049B6589CB6D29E8C2F7BCCC77A74162682C76277F0286566EA256868A1238064DB88AD58C6BE8997B99E1C934EFE7EC3556C6768452E81FF03F685E0492769DF8D0000000049454E44AE426082), +(50,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001B24494441547801ED5D7D701CC5957F3D5F2B1939420B061B0B702CCE106C03495950452447320607130C47618E2AB822458EE4E0AA727754C287718A70961D1352A9147F90CA25C70115AA204E71C68009602C61035541AE0B073260621927C8188C59E1F8433B333BD3F77BBDB3CB6A3FB41FFAB0B43B5D5AF54C4F7FBC7EEF37DD6F66DEEB1634C94347B734F4D7E924D770A2D2D3A292BC264D22967E94A4884A4D46056222A9CED19D0629A445924C4164491216C724C8941C4B89D31182406D440ECABBC8EF08920EC728EFE28A83924748C8189188A19D98F0458CCF85D062BEF06382F441A1FB313361C5BC8BE9B39E4E9118A1B5E37E6964664C00794BD7CB46DB735BA4942D60F25C21653304DB0C2934F33104780A84AB4D0029E3D004E041F280146240481A005006F818E0DA2384E88FE866FF96BBC4A17168B8E42A270C004BBAE46C57241648E9CD1724168009E742B02DB8BB4E2E99DA2ACC08011CC468D20FF0BF2349F609A1EF34A5D1B775B5D83711DD1D170028616B4E2BF9D48A4EB5A2838B30F4364D4487AAA60D21067183ECC0CDD24B1AF59ABED53B1EA018130074DC2F9B13AEDB89E1AE13447748495FAE1A414CA28E08411FE066EAC1B4D86D986677CF9D984E46192A0200E66BD1B9D6BD2821E5D5681F3F79F628E9285A1C77421C73E8209A8602C64A17C7C4CAD8604A1983FE16F3A576080A83A309723C287042275717D2F134E9184EC4D14D725D9D9C7A8B9CA1E950EE10EA0F9335E490657A64792E417FB32DDD17962785253D32752892BE24CB8712A909BF1134642A9F3CB2412985124A220A1A58196DC2C857C7758F6B10E23D4CA54F1B426CECBEC7FC23788219B5BC501600DAD7D9E74A4F7C5708FF3ADCE5B3CA6BAA70EEA470690FA8EF471FF6828103403B14266D9FE91903279C42FB9FF99E3856B886C977E5CA5FC969470FD02C574F4099F567835FCD007033C033074C6F81E0E68E2548C0AFFD44DA93A4C95F6F5F1579A7548E1405C0CADF49FD93F79DEB219CDB80F28B4BADB840BE03507676A2D19D426A7D24C4BB0619FD2FDF431F5582DE026D4C89641E452F594BA7B95AE22CE1C973A4F01780C7F3018CF9E8009E7C2A0FE0E5EBE0F143A7CEB39ED8709DF046AAA9200098C06FAC735662E8BB0F0ADC39235552E0DA01DCD95062A817CFEABDF556A4F7C51F8A0305F286C9191CB8EC0179CA9063B7E221124AB452A417E172F9A0C01481A9F0DE5756591B0ADD607901002DFE4C87ECDF028D6D19748D7C28E81308BC879514C3F4BBBBEFACDB357281F06A391CE8BC3F7E76C2D53A934A362BDB650042D0AB16456EC453C45FB2DBCC01C0E275F635D2A7873102346667CE3917A20F156C929AD8B4FD6EF38D4228CB2917268C8A033C3AB7FFC4BD50F87205748BAB000A9E36460C90CD21A1D1CDDB56459ECACC380C0050F2AEC6B3FBEFD1809E9929EB1843BBF638948D47B6DF13792BEB5A787A1C38D0BED63E8F7CF16D12FE8D00C48C422460844E904E2BA1246E4CE5490360F17A7BA1EFD20EA0C94A5DCC8CA165EE8656FEC0F4E9E6A3CF7F5FD899D7C2E3C9C181CB1F9491C387DD9B48FA7760FA6EC9471546025B18D4BAEDAEC8DB7C3D0D80F62EFB59DCF9576417E2A103D956CF9C67FEB29846995D363C3F3E1CE027B78FDF776FC5CDDC956F2A874C9FDBBE3AF22DA64E0140BDC973EC0F73C915FF6709EBAA7CCA436EDE3065B2714029F3D2791A40383F9B36C38A9CCE6F12D557B6849358909D01CFE883D3EAACCB42E1E77066CA24B0EC58862CCB6CA253324F7E6615FE6DD919809A86C633E9B3DCF430652A7120294369E4D22C97729A0280465AAED1020C2AF6BFEFFC271B64E4160E53A6020758762C432884D3B3E9D584FC9CD31400605DF3B7EC0CEA5CCA9BBDD79C573AD7DB459F33F3960F138F1B0758662C3BBCC5BD391F11304CF998D39377377F45C20364BE002DF2E2842BDE6CEB8A3F6CC9C84FB7FE08C60B6198B41C58B246B638C2BE23E1D2CD106AC1D15BF81817100A66C8ECA1AA48D2775DE17CA77D8DFD3F92B4FF9A75B6F152F85898C9A5E377CC8F7DFB77252E15E47F0732FA7B885687CC4A22A82400A46A0ADE105E4BE45DBB7F97F7517B97F304E135F0CCB38C574330A4B83431B17AD6DF9D6823BC0EDEBFCBBE1EAD9EA6445E9ADCD344160400E6081F4699C9A78474F66107A74177B89D3CBA7DFF2E3F861749CFE305C356F2CDEE6D3F121F0CCB199E8C090716AF915F26CDEDC48DB864FF2EE7723CA9C108A58420848B29DECC97B32000F086E8105E133D0553E89B469A4B92954A58C4D00D20EC06229BDAD6C4FF0A306C47B937744DEF3DA5CE7873C3ED62281F01615A7E0EACFCB9AC3F104F5CE0F95E2BDEE15F08DEB6FB649F816F3525077EF70F6BA94751761EE4D99EAF6041006024F15F5B5DF74F8B7F1ABF5FDA6235BE05FC032A8AE4AB244FDA194930D00D9EE7D1C747FD44DB1A9B0D41DE463D3B7D4DF6695E64E72BAB692F8052E6A095A7B5299C043E896F74D11CBCA2874188988F1B693E18B2F0E3A30EE2A41257EA7C9E6203786AA39E2775C35AD373B7D80D05FEA5422A414100A42ADB7647DD9F717CD325EBE4ED8E6FFF23DE1EDF02A261D25D7A083A723E3A763E08830A017461A458DC25E2983A92A6606C1A0D9330A9F97B0DA90D50C41CE8F98180C9F4D40F1D3F932793ED362784DF2C7C6D0E7A047378D9821BA265719793340D53B781FAA73AFCC551E9FD87E0610A267F3D6D9AF5D80BB72B9BC9A2858B022055C3CBAB04BF15FC05FFD4E747096350FCD091AFA6F2941BA36C1DEA60309D8BE364718023C1E3DC904D00878DF47D182360EF86F6058C40A518C4A011F3E199C331181A13861CD41366CC3128B6F42E3AF463E82FE5D2524AFE1F4327DAB29E1AAD04453DC38DCA048C3F351FD39F886A988F3986DD5F13BA82B9599E04E796591886672786ECF4C82933C6F04A849C4D27EAFF13F8B2917F957C9E2F1900990D070DB12DC07FC0B3E70CC773974A5F7662BEE944E76767E61DCD7130E5E00EA1B960A8FAE37F6A140962B88A3162F01F5FA8116FE9C264B7C6C6DC07572E76E90A5CBB70EC0244CACD4BA52BD72FA9AC82C1C4B4EB18AEE173B8844B59D2B50C65F8D80208CD2D5DB6E2972A947A77AAA096126B8AC6A0D7EA14FFC63208C20D21BA8526BA2DDDDC02CFA2BF8EA6FA8A0090D96040C0C348E31F4167F83BDFD6DA84E6B7E28E68859CCE6386669619EF6340C440BB06585F9F6A2B2986CCFFA92B0A52FC4F8520CA38CE5FE68BD2E379045F44416F61A4EB95BED6AB45FC57832979CC1A1D3500B229090864BDE1BFF91A1B290CFDCD5D0827B9F358C1C1EC9FB27E1DB391229B862979CE7736ACA5F1761EEE61B45393F4D68C79E65B78BFA2069CF1EAD39803209BD0C07A0896466C6DF4450030BE74F4A8DBE27BF22CBC6C504A11AECEC51C7F3AEE3980434EFB2277351C896310F03EE8086C77B107D34E3F668F7E4D17BB4F38C1EC079FF27F8F19E7AE8F3B000AD11F74F84FB8CEBF9CD0F613D9A409A7D977B5D960DA0C78E42495ACB4B2454D9897F94508142F159F089D41CFA9681C12A06D43F1A0CF316D28EF24E81B504E4929A7D01994720A0F2556583FD54C7F9F2FAD8157EFCEFD263F0EA4955DE5710340314A0386B12183B25D2B969F9FA73B7F418D50FB1A123E598674E0DA4596CEEE5D9A3071B7591856E1DEE541E11326C0A3943BAE97954208116B02485723DDC174E56054726075EB7A702BD3719E10966368C863D191EE7FA343D5F2FE62D202A098C0B3AF0702E16FDCEA3B77F6F5B13C17FF3E96B51DDFBA00F430D432074200D4B2F4D1F7100021006A9C0335DEFD7004080150E31CA8F1EE87234008801AE7408D773F1C014200D438076ABCFBE1081002A0C63950E3DD0F4780100035CE811AEF7E38028400A8710ED478F7D50870AAF961CED26275DA91136A9C3755D3FD39F5EFCCCBEECC571B7BE6729A02804706DBB80D0B96B0EBE2CF5315D9BE0CEB5ECD9CB00C9B8C8FCFC8EEB0EB45E02711AC0FF0B93BE35076063EC78AA13F8F6FA6AFC0ADE50762391D17ABD57C748569C5392037D397E02AF333C8F0967CB9FF3C743EBCAD8211209167044815822DFF2D7149BB00845B65378DFF1AF8A986C3B8220EB08C58562C33965DA14A6C6F9AF26D2AF52960262A7B287E8C3EB037D32AF9F2D8B97F1522304C2F8F032C13960DCB886585D2334BA9A15CABE099583E7EAD1DA73540D94B9A468F63D581E7C437957D7C29ED8579C69003F20F14C5447E85EFD30D90C9A570A829F5864E5351180049BF7D98CCE706D590A46570FD5F067B7B6FE8397A0DEE4CCF00105BCD65F4268E911C86B1E600EE6CCD7D812E80C097E0F84ADBA3AF4316C59D6146906541001C4B341C86C7C4FBF078E1CD0A0A868080C52068310041FE66FA1CA3C33614D8AEEBF48661D1FF8A4E6CB61886B23980F9BC21E1D0D7C0D70B51B81D43FC62F0FBC45445382E1E04EDD8730CFEB9945F8E05019020CBAD5F4EAD68146B00D07D10B0AAA5588B8A40492B906F4582DDB6E1EC0F40BC8B74DE3DE46D0C523B233EF5E1A962A0585DB5741D5A7BB3ADD1028C9D6A8510F06A917D8CBE02BE953DAC33DF300ABF853AEE8D2CA78D6D5D27BD5488970501902AC015E078A3BB99BE0E79DE0297AAEB4054DAED3A95AF50AC3A90DC07873BC68EFC144704501C02A8DEC328D38FD37EB85FF583E07EF874EFA5CB693F3A90F36E828B4FD580BEEAF43CCD4A089A033EB4C06DAD057DE1CDA35AD0D773A0B53766F658F1AACCCE827F437071FB1D84FA6B7339BD564AF1A20048551254F89A7C89FED575E92A4CF2BC42C832105A91172F18D288BA2F421D17711B60880AFC6C22362BBD8257B21C40A7E0514B1FE1720CE08B610F9C4128A2311DAB81808618161E88D14970CC5CC40B404C5C903BC8C44ACA4DF0DDC6EA20583104AB8680B628686B8210A2A01BDBC7A9A5DB6683AA668CA433D1071D693901BCA838A09D63E0CF0BA061A369D2D3E2522CEE5546281900A93A83061EC3F963F275AAB70FD1A5E814FF3A40082F72049A461714A3948B38CD56BC0918C4511A28EA2936399AD0276A443982B6E1998B9185972A532B82F0E6CFECF4891F560CC175F6B5577B0AE2D8455AD2F71E8EA228674278BC90051FABCDA7713DE540CAE9BC197504E51A713D1AFF841A90A6424AE34DD1C6420E484E65C9394F5F28F3006DF36A3A3B415B0F8ABE183991B6888BA9E215D8CA064026BD41C39B90C63FC23C36036EB51D78FBD486BB00CB9BD157C1B0097979847658200D888785F469FA008A6AEA381533EDF98E33D2B8D2D46966DE618D8DC309048ED981FE84D1AF177BFEBC0A44F6882BE8D3B16A6A5400C826028A1D13B621F891EC2603D3C5020C8F0C868548673D80378E2E7F0BB4ECC6AAF15C10F663A23E746D27F8F436A6B95E0CEB7D788A0AC6BBB1EFF49802209BBC80F03791CEBF7400304EC6E3CDB9098FCE426252194AC65821442DF690CE5B7507BC98045608C14F29BF1C1B3AEDC6E3F23BE0D7C189EEEFB802A05067828E6EC375FE0D0B50AEA6D931CCFD3E35E30D4733F6EE6DC682B52763E1B7282B57B8339482856118FBF442E192945E826D58451374021A785146AC0E4231D016C31DAC9455D08C25ECE8A0D069008F330318BE072251AC03B4084ADB240AC7050023F53F60D09F91877F450303860E5014DA5E14CA58144C6F801022787A56AB804031B3C07C0BCFD726D278B937B509349428759D1B00B05851C4EA20C14A213ECE35288D88755C53D77D9C43B984608F205F0C73710C13596CB209B428C3B2324C3A0064D157F4341000DF5503453387197238003087A196391002A096A58FBE8700080150E31CA8F1EE87234008801AE7408D773F1C014200D438076ABCFBE10810028068BAFE798E1B98211C18FC86A11A38D0681C6CCAEEC71975BB78A5F5E47B8013F4C19CCD85EBF523D3ED17F0E9360C539A03F673B4706E7DDF05D99D9811D9ABFC41D514F079E2545E967D5810587EDDF768EBD01FA873D885F064CA706068332DC1D2F72FC30426C7747CEFD079EADB890240DC9FC62654B941D20C7C5D7B39FE1CFD466EA153733384299391032C2B9619BE8A6EC157CE1CCF6FA6F93367D6518E8B2A81F8D68D2FA8F41DDBA1BDB0E47D28BE85E672C1304C3E0EB06C58462C2B9619CBAE1895257F0E46656CDB772BB630FA67A0AB0716B08F98F5D85A3674FA28C6E371BD0EEBAA067788AE819DE3B761C5D0518AD033092A1900A94241039D30B4E8F487E85740DC56E06C53C4A267C52530E10EC3B8734039823AF42D0CEF2BEC21E5269634BCC56D5F6E2808004746E2183FD82CBAE034118C0ACB41C8F238BC3D00865D38EE817954B765D07671197D542E4161FE5C0EC817E9342741EDE077276EB60EF0FAECDC5CF95320431F4A3EDF98A7E7CB51100071BFE128F6D3FC1AACE7EF43C16B4B195A9087093B1BF1F7E270D380D3E83E80A11744F402483B221A368FFE266F031B86421C80C7EF2CDBA785E0D922F00C9B6F522B78C9CE25C950E25D0EBE73CEDF0B93EEFD6068FE83382E0F00DC5AE4527A17D175EA7D40826E05FAB045BCF2E8E1CBA584D9C8CFCE1D5773E638AC23A13F0CC2C68E7712EF0389EFC157663788EDB73CFA0066E5F99F464A69690AE581FF44C4D1E9CBE04D0BDCC1CE025FCF018F1640DB9E0F1EA9973625CA39A7D7E0E521F0F57118A3FE32B24C9998535B574EB67442C111209D03074145FF0203CC1FBA9FD24AB8275F8FE42520923D66CA0A28C39B2BB7216E5305010AEE2C24EFE3B9751F4EF6E2945DC20610F36E9A039A41FB3D9F3EC30832881663503CC7CD4E1E6D561CA0901950C4A2B8839B748D4EF213340B7D6B46857C1370DC0C61CFC18ED8B36522636A6506200451F2A48CFFE0117B386D857BFE13E60CDA508EA16A490048D11254FC28CE1FE535686089BB1CDAE755A07C29D24E4EE5AB2446E735D4C3C3941AAA52CCE0188C5421CE3E5838C6287218E9EC06C636F6FC128BE318EEA818987088AD79C168F5433E07FB0526DDC0D8C237B0F855D6BE9E621CE16E517B0CB2E5B0B220661731B61E66CB61067970CED7007EE51A86F6F8552AFFD8345D99AA63758EF41B55EC5D983F8020EED3188483E8E3163C8D3D0D456D73A56B389505804CA283069F40DA1360807036D302984CF3EEE11DE8601BE2BC2F2032EBA8F418F533A3A7A3DD33B3EB80809281B9CC3F0495141CAB048C3A01A6D469E609FC10BE082893590CE05101EDE6843C493979469520E85380F15508BD072FE7BAADE5F0184ACEF3A3AAB6620064B61A10C23B7CF28F150E1A7A9EE6E0F1A1154C6BC5292B34EC1A36AA5182EBAD917010C2665EEEC0A8D30BDCF5D65FAEA6C631EFFE9800201F5501C17B718D7D055550AF281D9A0FC0F04208E722B105883E0BB7D9E90048CEFBEAA058554610B087BE7F88BEEF4607FB3101BE8391A5AFCE8282BC94FD9D27268C1B00F2911F748C3BB735F33AFBDAC31D6C0E5832174068C6C8D1CC3140C24A133F49CC00C3D82DAC6CA533B39D893A06AD0E68651DE55308781F84AB945ADCC949E556A73D7013DB0B9D0A0FCBC7374C28000A75356004BB82F1AF60902F10DB2D441D68D960A65A980173BE5A98010C574A19C0D200C63350523F5301078A1C04838DA3E12286639596CCC7137D721D81C0450CD79402C982443D2C24B5AE00EA765037AF77A47C00A100B3D2A916AA006863163FA5F0B565A43EB4E078D28749018052B914309699FB61A965C27C2373A0E06BDE918B8557AB85032100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F623651032CC4856D52561B91E862AE18018848FF75F323B038B2AB55B4A7204F0F36CEB86D5B72F7B40861B3B64726D0A1E07325C0AB3B73387FFC4A7DC9D240034AD27BB6F7053328FC59D179774C933B3AF85E75383032C3B9621F6C3C95923C8B00CDE990426924168EFB29F95525E913A4FC54208EC422556CF9C67FE72C37522D36D2295258C27190756FE4EEA1FBFEFDE0A6BD72EC89477671B1620D3E7B6AF8E7C8B13D30058BCDE5EE8BBB40385F29A5EC31A76B714DA03D3A79B8F3EFF7D51134E9CC3B836054E2E7F50460E1F766F22E9DF81E1BE253FC9C2D14C5AB4EDAE083B9E7C01003E695F675F0DDBFC0DD8972CA51C727276C0C646DAE3A4C947B6DF13792BFB62783EF11C685F6B9F47BEF83609FF46F6A1284481209180FBCDCAEDAB221B5379D223402A61F13AFB1AB8733D9C6FE848E549C742F4A1824D52139BB6DF6DBE81A10526F561186F0E4036A2FD27EE85C2972BC0F01598E38B2EE7C75339DCCC6EDEB62AF254267D3900E08BAC3C3864FF16C3485B66E6118F057D0284F50829BA75CBEFE9BEB36ED788F9C38B6571A0F3FEF8D99EA37548213B3142774036A5AFDA26B0DF20456EDCBA5AFC25BBD1BC00E04C8CB26FAC7356C2FBE53E9C9C935DB084F303405D2F1683E8D584ECAD33233B5EFCA1385042B99ACFC28F6E71D75EE44BD18A3115AB844876B02DFF915C88F7E03E7EEF2BABAC0D8546E7820048498135CA4FDE77AEC750731B08B938955E617C005AC74E28947DC2D7B0FDA978D720A3FFE57BE8A3420456D8CEA42FC637D8256BE9B40425B081B4FC0A96E55C001ECFC79D3D1FC4972FEC8C1E8397AF43B00F9D3ACF7AA2D8935B510064D44B9DEBEDF9AE2B6E11C2BF0ECAC6ACCC6BA339C6D4110730F68001FD5023F6621FB7018064004F1DFB4CCF1838E114DAFFCCF704EF0C3665C295BF92D38E1EA059AE9E6816D267075738BACA66C87D0E98CEBB86C311562657F71A835E815F587B497BD230E46FBAEF8AEC2CB5CAB20090AA94D1DBB9D6BD2821E5D5101C5608A9688A48555752CC2001C3B012085E6B2206CA835541106B7250F8026932E64BED109667B13174BA1E49B5EF9F27A4230CE91A4EC471E1000A2F51C76A2077687AF27568FD61B29C2364C2A5D78227A995B06C4B2684A94BA1560ED1495898CA4C2C5313D184DF88EE47A526A3D0BC9BD066E094CAB1C04F36815678328F9D700B3208433C80F4B421C4C6EE7BCC3F56328A5604806C823AEE97CD09D7EDC482159D604027D03E273B4F783E7A0EE02EDF0B90756341966EC334BB7BEE1403A3AD754C00904D049E2266BB9AD30AFFFE56DC095060E0009EE7756476B9F03C8303428D743B309AF4E2857DAFE95BBDD0E2C77C21CE7101404637D2873C4A7889C47C41DE020CA1ACEC608510D98279BFA6978D81000EE206E9C754FA0EA613EC1AAEF7E986B1732CEEEE34F3473898300014A261E97AD9687B6E0BF40A5E2E662E96A96F8612D88C3917CA13942612D088B1FCD4940CD04C481E90024AADC4B2774242B1C5B02D690FE6EBFE886EF66FB98BBFB51CBF70DC0150ACEB1DDDD2D05FA793A0C145A5A74535DF8382A5E1E763BDC1A43286974FAC7C45F91CF535E065895A0D04A30B9678136AA93775AC560701B4460AB80D2120E88A6A9917AC1422D3C76887BFA11F411A2BA331B4831DC2A184724CDAA0203FE66B7A4CE87ECC4C5831EF62FAACA713AF5F2771F87F0121772EB3A550E80000000049454E44AE426082), +(51,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000090A494441547801ED5D698C1445147EAF67E730B84A4014348031282A6A4C0C51092C0B22E812F88181F8C398100DC623FA4324888B81B0A81CBF8C1C6AF097312A21E2C1151164F120311ED10449C00349C00006018599D9992E5F8F327457F7ECEC4E976D3DF77532D9AE5755AFBFF9BEAFBB6A7BFA40A8B3DCF19C1A5874BB662A50D311D4B5A07008ADE7EA7493EA041940C493A0E03020EC41476DBC6C4476D3FA5958EE0904ACD568CECB2ABDF778711EB8300F405D54AB9DC4ED630001BFC7949ADBB920B7B91EBA4803B4AE549794F3850D4A414BBD04526F2F030EE0D25DED9985748450B550860C307985EA77A650FC0494BAB9562789F361808E062B762FCCD2513C7A71F4F0997CF115115F67856F99E66B4F8DED28CCACF50D024780968EAE31AE2A7F1AD518113E4274DE48A5E0CB14A44F44B59158F20CB825C0129486039647D390FD047D8646A0F8A5F9E2EC355B1EC7825ED7E40F287017F8CB95F5CAF8818FED6ECFAC0ED549C016060E1290CEBB5F54AFFE71AAF89A52EA1E0DD8B03F4F76DD47B1755A1CAA4340EB2A7521554ED21B90FE6B3F11F1755AAC2CD31E7EAAFFA0CCFD74B43EA003A4A160861EF3CA5503947F2FDD4ACEC9FA1BD1ECB17C617376BE3F26EB7633F0FE4378061017EB2815C2383DE695AB0620F12FD71BD078B2CF73951E97B2DD0CA49CCC9E1042A59AFF39CA07AAAA0670D01D10A8A102CD10F7EB3129DBCFC0CEF9F043144AE7040CD4E35503D0DE1EF88FC06B48878D9A2710F44452B68781CA899F88933F6E2AAC71D500F6C017244932200648926D0BB72506B05094242189019264DBC26D89012C14254948628024D9B6705B62000B45491292182049B62DDC9618C042519284240648926D0BB72506B05094242189019264DBC26D89012C14254948628024D9B6705B62000B45491292182049B62DDC9618C042519284240648926D0BB715B82FC0427C15486A1BF42BBAD016C0E7829B9D0A1B02B16E0A852D30932E7B5B45D7BD5D7CAE1995F37491D4D173E5D0DFBFEB8FD08571BFA003DB32CDB015C7C2E9503BC60116062894613089F5B69F67BAF6BD44E5B43FD6DDBAEB56841FA45DE4982171BBBFF359C10D5E5EE5C203855390CF6F8697B2CDF01C8E83FFC5DD51320474E71AAD8E4C98A3CFDCFC693890DF1ABE89466BCEA228066844260503A00C5BCF6E82071BE96E531F3140836AD05092A2F9C4DAFC1698D2600A2BBAB19803FC9B4CD15C620B89B9326A1B5497A339C270AAF326A053E9F01FB877A2620217DEA449EA489CD2CD64322AB925313100C0915C1BECA8A3C79ACA985FAEDC5D3BCCDF964CD0BFE0C2B3147BCC1FE7B22E43400F95CADD05DB7319B8890E013F86BA28984347814B4371060131402F44C23BE164AA0966D3D0403BFEF985868674DE8569E7237CD6C400BDD42A3D053A49FDB7F46EF418A6BBF51887B218A001951C84F742DD145C198A310888011A1089F6F69FF46E7427F5103DC6A12C066840259A08069EA4E2A5A058B18154FF791731400312941146E9DD682278588F71288B017AA9927732883EDE13B7020BFD5AB837106052E8F327827AAB5361333C427D6E0FF5531113C35023FB027204E885265DDB600C0DF6CB22BA1CCF5E001F46C4AD0FC911A00712A99D902B9C85C5E5123C49E700527A173AFC2FC109747109C3A5CF1B80041D4D177944EDD5741508FD1884308CC49F48E37EE485237456F0DBEC3058CB50FB0A643180821B8909EF13BD90436A2E08C7B259988EA378FE0BE87D2F9903D454B74E05C221FA5D6032DE0107EBB4B4BA5A0CD0803C74D8DF46BF0C8ECE4C866F1AE86E55973E3F04F4540D3AD357A6B69DF4799EAE1F6039E38FFAAE7DDA00B4271FA289DEFB51C454620ECDEC151CA176073369D88193E0B79A6D9956F469039066FB7253E151A6DA19812D73002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24DD267AE076842D85F52F0BA5F2ABACAE73B7FB92FAEB330403605BFD28322670404427003E53A85741BECA226DE47161F032C0C400F60FA9330BFE3C32DAB86189039802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE10EEAA01E891B85157D9B2B868D41017FF9B34AD3B5513287A8B91B6B8E5CAC32E03D1AA0110F168A0A65250A157A384DB48C43606CA9F15AF8FC2E45C01C7F478D50080CE21BD929E9279554B871A1A8A4BC06E065C1CAF03A4A79D1EFB783686DE695035C0E0114D5FD0BBAF4EE91D1514D7E83129DBCB40EB723558815A144688DBC331DFE3E2D7CFC222B9E45DBD91526AEAD8A5F9B59357A87E7A9D94ED6260C2B2FCC852A1F801BDE962808E8CF6F4F57ACC2B07260A2DCBF357AB02EE250785267F648E9FC92F1B69B2F81538EE89A864124B9E81940BE882339C76D4D124E62CD22EA7A340C0AF3BDB33B7D03C2FF4FA8B8001BC8E2D4B0A1D2EA867F42452E6CA00165329A775D782F4E751DFA03A07385739B13DF32C392534149CAB97BFBC1870001FA925BEF74D42065884E85E372833936A5EE6F555056D8001C4B30EE2BD9D0B33EB0271AD101A02FCF5E33BF2D368887981C697C8FF2BFD6D65DD1E06E808BE0133EAE9CE79B9FDF550756B00AFF322A59C1D4B4BB7B9CA9D4E13C16B29E4BD253B34D1F0DAF258304D13A5C0BBFF88842EC2EEBD1286E5423BE849129DDE5DACF6A0CABEDBB9107FEAE917A96B809E26E2D26EDC92C22632409B1F2FA2F3F0EEF60CDB77FFF9BF4B6FD7437380DE2690F6BC191003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F36FAD04DA0B1335A9EC069C245AEAB56FB616653E93EFB02C9BF0033EED62BD3C5C3350000000049454E44AE426082), +(52,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000014D3494441547801ED5D0B9814C5B53ED533D33D8B460115C117C6448C91248AE621EE2E20C8CB176210355144BD70AF51AF418DB20FAFB9CC2E8A89466F34E2234434465EF2303C1644975D4011B997E47A3528249228EF0882B2D33D335DF7AF61076667AA776776A7A77B66BBBF6F77BACF395D75EA9CD355A74E9DEA26F20E4F029D5902239EE0DA98D9DCD75965C03A6BC345BBCB6A782F328DF99CF1FDE4D3C6AE9ECCF6763679745A0328AD35BECF4C733EE7D44B289D11FBC8E7A32BEA2BB4BF742623503A5363136D2DAB316E62265F9550BE8073E267C64C7ABB744A647882AE33FC76AA1E60E09BDC1F5B13798473F32E2BE532C66230877B1AAB82BFB2A2292678A73180C1B5FC38C3D467E3A9BF381305C2107ED7B38F3A71CE35CCC884BE50693A850194D5E8DF26CE1742F9A767A32818C15A95A9A35756B29DD9DC5748B445EF039486F43118E0D75A299F316A80A2DF97298D73DE1FBDC6BBE5538DF364F8628015AD014079AC2CA4FF1C4A9A85F3A3A4CA62F4CCD92768438E3E46BD1046B05846C3894E31A37C7559ADFE4319BED06145390420B873CC81FDC64BE8F62F972A88B188C2D91D0DD5EAF404FE41CE959535C6C330967B12B016BF8C7108EBC1864A750A8C0576511C47D11940F9B4F0995C670B31AD3BDB4245BBFCCC77757D5560B50C5F1A326E60C49F852168323C943FAFEB09EA8DAF4D640765F8428315950188393C23F30F507E57B922D80685A9573554B17FC8F187A0F12051CC5C80C7BCA7948EB18D41BF7AE5EBF7B3BF4BF105042C1A1FA03C1446D76D2EB6523E9EDCDFF73A4A2D6B4BF94277AB2BD4753E55FB2EE2831BA4BAE4FCDC70445F5F1E8AF497E20B0858F03DC0984779C98E83C6F3E8B2AF93C91D8A4760872A1AABB469327C6BB0E6B267A0ECB1723A112360FFBABA5A9D21C7BB1F5AD00630E4217E9A1EC5620EE7FDA4A2666C2F63CA758D95813A293E4320E208D59846FE1C4EA585BC945FF63A2B701F8246C2D80AEAB06890FBDB30A03652168BC5E682D31E326EF1E4BFEFF3A957D64F669B65F86C6198068E22935E82B149A79488272CD3FCDAB5F00B3ECFB66C27E90BD207289F624C8C99E64A08CE4AF90BBB05D41FE44AF942418D15DA022C19F6C7DF5699C2D0430C0F478C75621622C3BB1556503DC084E93CF0FE6EFDD788EC4D900AF4D0FCBCA6B1527D003D802D73F5B25A7E028FE9F3507F998C072C2BEF5314E59A5595811532BCDB60056300836BF88908CBCE83562F92091182FF82F9685C4385F6AA0C9F4B9830C40F76EB4FE1A9BF55566EDCF1E4ECA78DD5EA7FC9F06E82158401944E35CE67D1F8BCFC14A9F018FDD5CFD895F595DA7B52BC4DC0F29AF0BFC32FFC25FC02694A19FC82E7106ABEED99892C62130B1D2ED6F506501ED27F8427ED39CCEF83B2D642C82BBB74D1AEA99BC43E93E1ED860DA8895C12E3E62CCC10BA59D4D5C87CDAD58D156CB705DE51B06B0D40246AEED8644C85E2EFB59690F238A65F773B3DFD128E9FA9B3D7904872969457388E1816AE68ACD4FE2CC53B0874A501944EE5DD584C7F054FFE50996C204C1D7F13B03033538677028698C4B17A34CEB334A50CFC7E8929D70DABAAB4F94EF06755A7EBA681986F7F13CA7FC74AF998867D8AE85BB99B942F842BE6FF3DFB689731521E93095BC40F10259A575AA357CAF04EC15CD50360FDFE4A78F92F623CFD8A4C20F0F4DFF269EAE8FA9FB11D32BC5B6022E9949B1C4BCD5C95F184DE6056CF2EEAF8399358930C9F4F982B0C004F072BAF35AAF0D45B875B193DDFAB8F765BA1E4E88985229362AF226671A25CA16C835F5547D5DFC73E91E3F30375DC00063EC98F8E7E66BC80A765B4ACC978EAA3E8F22715C29C3A95FFF2103FD52463117AB4735371E21AC2DFE163CA55F555EADB327C3E608E1A009CBD3328662C8480FACA1A0BE6F6F8C837A6BE3A502FC31702ECF2E9BCCBBE5DC60B98CD4853CA8443CB89FDCBEA2AF54527DAE3980120796308D6EF67E1C9EF2E6D38922E545247BD51C5B64AF105041443DC8090F11F26A30760EC5299C310A60DAE54273FC89899CFA64999B19B81B250181B33D82FAC2268C0CDEED6431D5F2C695709798AC4521EA31760F45D12B0E45F18C16224A85EBFF44EB63F196EE7795E0D60E00C1E8C7E6208EFF84679A39889C85E3592376AE5F8C2870EAC31CE45E470111CDE5365AD81CFF34180D4CBDFA8665B64F85CC3F266001787F8C9118EE40DE248B54A3F60FD9F13E33F6AAC0C4AD3B3D3EF285CC8D047788F263D9EC8629152C63E534819D3501D78C3EE56E6251024A64411AEBF6BA57C74F99BFC01FEFDCEA07CA1D0E5F7B25DD8763608466F914AC6BB7332EB90A17C9BDD06607B0F80E48D5B4CE24FA1DB970745882DD102EAF5859649932BC59486C293D0ED4FB3F487149AFECDE3B53BEC5A51B4CD000EEDC4D51FC35877BBA5B0187B6848A55A996FCFD7921F8710F174766662ED831F2B63014A5AA56245716505FBA70CDF11982D0630F017FCF858933E1761DD0172E6D84185D1CD0D551AA681DE212430E8E1F0595183BD8661529A5206E7F86F3EAC28E63AE721E70620BCDC2837172004DA5BAA5A2C8DFA9932AABE52DD28C57762A05805A5988EDC02BA442A06C60E280AFF714345709114DF0E604E9D40246F8C8D9A7C8D95F24557E60F6A1778CA976B4ABCA308EB1D2314A63C21A5C022991963F321E7FBA5F8760073D2033C283656868C10BAAFC9963C28F4A4BFBF7657FD2011DBF78EB6248015C55BE1133C85C861404ECB5EF69FA2DE523F9E85E5F8CCA01D3680782244C47819CA1F29AF92190AB1DBB013F77939DE835A4940EC7D30CDD83C38D227C868307B581FC48AE28AFBD836193E1358870C40382E11832DC4144F9A0A85C277283EDFE8551581B73261C6A34997000268BD235851446FF0ED746C1CB2CDE75746AD9AACAEB7C0B70A6EB70F505613BE341A61EBAC95CFD607987681A7FC56E5DF26522C8695682A36A430AB54B293F0028B86F21AFDFA360B9310B4AB07C05EB9C9DCA410946F61406C26C6A7891D1D9F24FC765A107A0006BFE03FE1135459090143C2D4C1556A55367195AC0C40AC6DEFDD65207CC9AF913181D0660CF1FC7B11D295E6C5C9EEF160D94940CCB4B05E3C03865022BB1346B0A89BAAFE78D17DEC800C9F0ACBD800C4586470246F10FF4E6A2187AE455EBE32767575E07539DE83E64A026D6F9461EF295CBDA2A19AFDADAD3A3332808153220363149BC3898E9716C8D87B849DB898C7FE558AF7803997C0C069BC67D430E6A327F881AC70F4C6FF2445C18694C02A193E01B318C31368EC800C19B7C7C85C61A57C54F4A5C2699E62EA5709CB3C72A77766A704343F19482AFC23BAFC7DB27AE0331CC74D7385D8492DC32760963D0076E6A8DB3FD41188A05B12C46DFE32BA7B7555F0D136E93C820E4BA0FC61FD6CD3E0EF6754502B4138690F20BA176CCBAACF4AF91971E211392201937E125BA3D70D7B343DFF32CD00D0E57F2FAAEB1B10D9BBD01166BD4A6D9100A289177F79507F47ECBC4AAEA0850194878C71F0F21B4070523291775E2412E0F43524A5BE2582788916F9132765B59101A6690AC422449D12E0567E797F0C1127B742104795D7EAA3CD184716B0B387BF441B5D7F0FDB9309176553F469E801A5DE7526F7E78206CEF51624C78ECFA62C118781B3FE6A9BF7707643F943FADF1BEED7FEF7B001344F175A9D3224170C21615A28DFEC904CC7630C46C2CB92614E9C2B61D232AD1799FB7D61DC4EF32CCD0E6AA30DE1D5559A344867755F8B21C08AC88317AF043C03285EDD66D432CF00321253F1121DF601F2D944382BFF8D28962D0B46888C2970665FC8757BC0F30CF06CCF460DCECEC3778C26E59AE74CCA73C400E0607D020FF7A54C18CC9646BC5B68FB263DF706C0D9BA862AD5169E4B6BC3FB28468E18803704646B614546EF1940912934DBE6780690ADC48A8CDE3380225368B6CDF10C205B891519BD670045A6D06C9BE31940B6122B327ACF008A4CA1D936C733806C255664F49E01149942B36D8E23A160242D7C15AF46B9335B6633A1DFFE91CE32A1CB9686333E083C679C539055F9269D93157D0E891D310024887C0BEB018FE7B01D478A8275D97120CD5A7C3BD0E2FB8176D4989F32BD21203F72766D2D9E01B85635F961CC3380FCC8D9B5B538E2032069633B2482770BD87320597554EE4B661BE15D7E9CFB724589EC44BC18D2917D188E18005ABCBEB15ABBCA0E61362784E4FC3D4478CDCDD378CD0DDE739CFB030921972121041F9DCAFFE10D01F997B9AB6AF40CC055EAC83F334E0D0119B794BF49475394BA5337DAC32EA08319DFE82021783E1E5F1AD748A19D6C10B877F1E14A03E02BE9643D4C7723A6333A7CB0F98DA33B89C24BE843C0E604557A8C0DA19CBF37B7237A8AD451FF688CEE84A338023C1F23CAC279AC6931ADC5E9CCE0489A811D77B18ED461C7BDAE1B02C24B692294FF1114FD5334B87772A3B1C3B50F228895BA4E9BF5C5747532CEA973BE8434F032231A25F186D4B1E031AE7CC10FDA20BE292CB6983DAB2FA18DE1E5247D0FB0A075EA70950140481578FBD8D3109CF40548092101DF15FBF7E6342DA19B1330277EF9BB14D08996E1A54D37B5553F78EECBA3F4B65E47DF688B369F78D718009EFC61105228D3C6E349638CD36F8C25745EA6F7E49A4EDF4578CF3F0DCCB85C4EDDB13D7B217C8460C6F7D84CE80A03801015F497F80CBB1836333F60302A9EBE4732BF237794CDDDB9F5B7102CAA421BFBE84DF4130B74DEC1AE3080681D5D04C1C896441B7C013A2FC828E8F7D345B08E3FA54A08F70D8673F8B554B8DDD73C4237A3EE34271A8EDEAFC0EFA9C163E9189F8F6E04CFB297384DB09BBF4CCB4F6B40A637E6922E6AD2B0D4F220C88F351F8D6443E9CB66DC5AFE3A0D8303F8019EFC6E29F44371FD9B1498AD97E06F180CA0E5C1E2DEBE705E13C78BFA32DA8F6E7F4102207E715F9FA6A5747AC908BB42CBC9B5B57EEE8A1E00DD7FEF343639CD61C30E2B3F8EC6D46F279CBFA569B429B305093EE720E83E9D67863778A61CDA705A885E606F0A98FCB236A712E5E1DA1D0680B13CB5AD78C2BE4885896B085306D764B476C2C0471ACF3E53CA1BC168D378C6BB5CD2EEB7935FABB25D610050F6B65406E1DC0D475709391F39F8FFC58576F111C8E1B34F0F9FE5EF248D67287A446AF51802CE410F776A2A9CF9D2DB9C4A938F6BB71840435A63395D88B8C0C39832C5FD14BE964A8C8F693A8CE2EBA9B48A8F1A5361B65F334AE319BC4D86437A79A2EEA63AFA2AE21A2F27AE0FFF32DAAD0EA30F0E5F3B78E20A27505568799823B4CBE9B86459609CBD37DC443721E0F3A1BE97CEC175D764BC3847EFB1393094DE4985DB7D8DA75D28F6D6E47AC05F09DAB028BC18914C46FBF0719CEF00A626D38873746BB3C0373A39E70F77F40070F610D499221587F85C0AC73451A27C410F4156E00FE8FC1E25C3E94DD4BB5C562B9839131C7DD742F907B412AA91DDE704CC1506201AAE8DA42720D0AC922240FF8C3682E63821B838CF0A42C012FFC58A1F61A84CA1715821DC6145936FB86B0C400847EB8AB46B46B3321102E87F0DE5DBFE6DDDD67861C3693BBAF372FCFDA5353A81034D13947F2D789EDF166D3EF1AE3180B890FA5353C948BA164CFD10024B8BFA09238124DF026E289657EFC0B5E3CBABE0638B76229DAF28548D3660D1BAE5011EC567DDFE80EC80BE8809CC6E8975FECA154E60AA18B44B691E60F3E2215E1677FEBA3393F660B2BF918DA44F52E99DBE6E4E54096116501B5942FDB88FCE00BFC118A34FB520AD43979F1607709AE744FDAE34800473E2E9C2B9F82B88034FBBF0ECDF6DFE2B089E5D35041484C48A8C4957F70042D6BC8E8EC24F77FA0A7202E1231482FCB168755C3C27F012E404BAC04F694D66AE3400BE9C4ED26374375CBED1E1289D1E6F009653E0136CC2383B27E8434EE070FAACB586E51B17594A1746793C277064586FCE095C12CF095C836C8799C1E1F43B371A83EB860064064DD02388A4993409CA3EA4FC666DE2FA2C9C56C138B6E84B6974BE952CAB2F9E13B8847E8B25EDB530D86BC1636A4E60397A83E7C0EFFF8497A587B16565E613E62A0368CE099C8E085A97D684007C57087A2E326EC7B74667372E9E13C869A9C9DBE603FC7E0B46BDCECB09B4D00ABAF7A1506CC8029D068640D1A3D2D38EE604EEC46215D1A034E6AC00899C4064125B91E41BEE8A1E00CA147C3C2A949A8D00207C67730219DD910DBF82166DECA3732F27B085DC5AC9096CF431EA17EC42257E46A578E4FFDCE2C64302755B4EE0E3413F9D86BCC063C1FB3858747A4E20A389A9ED70EADA15B300594E2004B215821C919416B606D3ABA1AECE09247A11C1ABBB929439137ECD7E3CF52DE2FFA217C0EEA7DE6C306D4DA275E4D4154300BCE7DEA9ADC793333B49F971B4EB73027D929CC091B4006D49CB098CEA747A6A9B9DB8768701C89226247974424010A62CAE9E77A70A7CA4257AF8627440A6442487A4F1ECE50426490A63FBB6A4CBF829A65622ED1A723E7258E6044AEE3F72976D67693C43D15E4E607BC40D0390E5F4F547F0E4A11639815BB16F509613A8A4E7E7B5878FACEEB1CA095C4C9725CA11B9FFD813F0FBC475D2EF1E2F2730491AC809AC93E60472FA594A4E60EA8610F7E50412BD8698C68730D47D58123E574C55939A1A3F85C1BF823F2F27302118E1ECA1AF97078138F58093580A41A6295FDC8F2C9B4A0813E8FC1ECD39812B64B50A2F1FF0EF5928FF0B4DA15AD97D4EC0DCE2041252A5444EE01FB31102E89F7532CB068A1C072F25CD17B06A833054FC8D13A9645634F986BBC6002018133981E2BBB719A54DE1C97F1246F36FF91658727DF19C40850680F74DC970D93968C2E8E5AE03CFAFCAF04EC15C6300420062BDBFE4521AAB301A0381A545FDE24262F43670C38223E876FC3A9F13389C366B3DA81F787E00FCC9720275F412AF00D71799CFB3E26D70D13F57440253E50141CD056CAE583EC553738E19A3EEF8DDADF9E94FF017FE914AEFF475734EE0148CFD359165743E7ECF00BF9AA9D0364D83C17A3981ED5311922836E34EF15710077A24E1D9AF6FFE2B089E5D35041484C48A8C49678600C6BB96D518FDEC90E5AE2D119F1DE5E28311A7D9C53399E6D7F33E8F6D169223068031B29CB8B9C10E45C56C0AAFE083111558CCAFB0836727CBF4860027A5EF82BA3D037081129C64C1330027A5EF82BAEDF70114EC8AC5BE3EA7DB6AAA99078DF0AE82CFC1AFB33C739E964462870C6D3780C64AF539302EFE0AE6C0C72CAE2B18663BC868FB0D00DF7DC9FF1A5C075B5B44B72BA6DAC4495FD3B2495C6C45CFEA68BF01E0C33C59D5E411E75402F593D9C728B0B4A385B6DB005445BD1D3B5DEE4F6640F13B3C6E2633E39D672481FF07ED61EC23F61962A30000000049454E44AE426082), +(53,'image/png','img',0x89504E470D0A1A0A0000000D49484452000000800000007D08060000006A326B0C000000017352474200AECE1CE900001AFA494441547801ED5D099C14C5B9AFEAD9E91E10C4C4037D4FA3F14041FD3DAFE7F36011453C30D1683CF025791E79F10E796A1061973C740F503C9E1A91188D9AE8F38EC78B022A02BB68E285E145C533A2F14021A280BBD33D3B5DF97FB33B4B7755774FCF4CF7CC32BBF5FBCD6FFAFBAAEAABAFEAFBBA8EEFABAAE6AC1F84B1778854D7C799B319B34F6682EDC918DF8273F119FE9F675CFCAEBD21F5443F6806CF2A724F6C0D21EB5B3387323B7BAF106C07DF6A71B6C8E0C6E90B1B3894A27F859A5680C35A32E3B3B6FD07C6845E48AC9CB3953A370EEA6F4AA0156A984D357E5C8B186EDBF60361844F75440FB19329CC7B37D5FA96CA77CD2A8025CC46C1C41645358C60878F694D4F282ACF269EB82615E09407440213BCD355D9F057EAB876B09130B6D2389FC839FFBB9C4664F98F645C2DC375B558B9CFDEB7460821B674D58DF34ECEF5EF2E6EE09FF6E0EFAF6F31395605AE6E1FBDC621AE7C350ED4640FA059DA700FB9BDDEBE51F8B9E884A13F23A7E38C6F23E36A19AE4905609AF852161A1762270C0DAED5809DEE1A21A7135C7C25E36A19AE4D05D822F92EC677D32938C1D8569FBE6DDE945782F157897F12CCBEC999869EB12E7E4DC6D5325CB37680FA26F3318CE7C7CBC2EB99F87D80B17F14E2534A3CD32E689FAEDF22E36B15AECD1E80A4A5F12B18ECBDB2E0687288DF7E5EC247DA0F870C4BFE46CE53CB70CD2A407B83BE0CFDF9F4F0C2E396C613A7CF9BE41E3AC2E7DF3453D6AC0290389636182DE8091ABD7A0297B8385FCB356D425B63F27917BE1F0035AD00243F52028CFB0730AEA94B3ECEB21AD76E1C6CE87BB4372417F603792B55ACD949A05CD3D1ADE9112CCBDE72E2E1007ABFBD31B5B313D7DF9E6BBE07E86F022DB6BE030A506C8BD558FA0105A83181165B9D010528B6C56A2CFD8002D498408BADCE800214DB6235967E40016A4CA0C5566740018A6DB11A4BDFA70C4147CD169B7598E6EB4C70FF2DDC650940B8159EF6036103405924C366E66C19FC1307C22A5999F242F2D5A7B68475A4335780EF1DB1473724FB652613E4FE17957909043B604CAB751A38BEAF4CAE23CD5E99CA876079CC2C736F9161CBF04AF629A50CC17AF8249CBD376A6B63E4ADE7F24CF84CF1A6747789F196E54B1DFE792EBAD8DC9A163ED55EB05D56ACCE9CEBDB105588E8130A30A635F3632841BFD88D2B843D7DECCD62481564ED5964D5BBDBB1D788ADB2696B96CC1D3C75EF0ED9DCD81F78D7DE3E395D58785D87B52BCF08D77E3FF206A28C916169149BAE6343D77E389AF61C8E1D3987DA6DEC2FAC9F83D68C62E9C591BEEA0A00E1CFA66D5A72E5B8485C88DD39EB647CA930DCC19EE36ECC3B80FE38BAC97C103C9FEAE41B53DC4BB1E299F3D464FEB9135F8DE7AA0E0187B566EAD11867C815C7DEFCFBDAA6279F92F19B22AC19A211F5E972F28EB9CE904ED32C62BB9A3377B4CF555380737E2592D9AC7D8BD43DA27678EB35FD9268AB593D6A6D97A5DEC1D2FF569903AC40CF1D3D53EC2CE32B0D574D01DE5C6D5D8A69312E6B7007184A1AE4133CEE149B1EA4E94613EAF5B58B732192BCCB6A71E1AA005445018E68163BDAC26BC72E7F655C43724E15DA21D622175FC6576109789D5C08A686A7D5B758FBC9F84AC25551008B5938912306BB2BCAED3ACECF9BC1B9EDC64703D571C3A6B7D0F9C3E4BC231AEA85A97C43D7676329B0C69592EC1FC2565640AE343103CEE549CC457593AF6F35BF27B2E211A5308DDDBCB421759182AF21C4E8E6F424F40437C8554A6889A39634249F96F195802BDA0390B307C2571A005AB82A95301A2A51E16A96B1DD08632ED91E641E602B9849D650195F09B8A20AD0695A3350A96FC915139C5FF2CCE5BCA2A772C582804BA3640623821F3C955B18821A557262FF1E47911A1533A6625A37B6C5DC2B6BB357157B3F67CF2C6D4C8D8FB99EBDE4C5EB4C3757B2D9405C045FE06C63106BE48733D73ABD37710C0FF4A663E2B70CCBDF7D5CE4ABE428AA480F4095CEDA4271F6E06D30359D5DE06A881881F47CB62B84FF3C8C4F93F0D37031D49474276BEF9CC7768AB1581769D4191D9E76B90B4940951C451551809CB387B143E54A636BC42C3294C8F8A861085A4BCF639358AE0762E45FD818043B087C2C4F3FC9CE47BA8AF4883886B600252DDAC844F753351C45B12B00397BD0DD294B1D72F668DBEB0A5E6E9472E1CC7C560FE1BF206C760304ECE985037E73FCE620DDF39979ECE072CB0C933F91D0A6781C5ADDA6EB4B3290552EC4AE0041CE9EC567F1745C55359F6623D34FB047BBB2AC0DDDEB01A1CA416FD065B3E7D11B3C947E8AED162A4F8989964CD55F025FE428720558417E8ED552C5EE298A55017C9D3D9CDF1F97B3C77A921D04C13F2C2CF61AC6F9135CAD1B12406FF07D96612B3A9F60F75B4F84549E90B49DC9FA82A328B6318F9C3D6F7C6EBDAADAFBF93AAED171ECDEEBDA9C6D52D2B398CFBE9916EC44BC5167E2373A8808861E1AE96FC7F6D0569C169E01E83F82D2531CF22CC62AFDAE548A3D8A1583720155A1FC41F1F52DE939189ECE77A5E1D83296D0F7583A95FFD5858F01884D0146B7985398ED31F6336D12EEE08129B8F4209E644626C1F6B16DF66F10E0D1A0341E6F6DB2104554F6B5441DBB30793486859E8015C03874BB37A1B728B83104F92D280FB9A917681A7B31B903FB33DF13B832C2D8ABC5B659CB7A172BA5CD9C64C825DE3EDD38DD898BE339160520678F25AC37F0F6BBECFD58022DDB76847E200C2259BFCA8897D960F333761EDE3A12681D1ABC0E8EA324181D0661D376F19D801B1546E0BD6570F6099EA7A78E657782AEDD8BEF7900AD84399FFD27DEC419406D2BC7FBC1398560EC0DF0B31269FE06255AA7710C1E226757C8806E97319CDD84EB29327E34088F0BADAE847DC4BD3F00CB452DC1F76F9BAAA3178D2FC4B223C8CFD9830A9D1724FC5C35BF6443D190D7A2F1BA43CF7F1ECC215D404F3AAF3F081E939C1BF46DD82F21045FC70F948214F2576211BBC7EA6493A07093007B5D36E92A056CD0BD83FB40E0BD461DE4758734FB3510810A3064987ECD86AFCCF39175ABDECCB09DD8597115E0A37A71313C443E0924670F967DDF5578D5C42DB999AF12113D020245EFC3CE4EEDC8BE6D4C60570709DF593AC6F70D48DF9AE2389BC0D939A0E3BA51C49936CA67DAFA863946934253B0F1A39B32472AF80811912A40559D3D78DB21B01BEA347688712CDB6BD071EC8E52C7673E81998326B05F83CE48D0AB07DD5FA2CD5795D4EE9D2C541BF7388A56AA65D8B3E27414453A0454D8D9B30A827911E3F08B187797D41DC39E032C77C06A7B1681E9A1B71459966248FA59D73C566F73568FE703E9077CC161226C71E4281AD39CBBE2FE6E779E5E47D17D6E7C3410DA2F9AE0E7EC41232EC4454CA1BB31F10C1B9E36DD6F1B98C44DDFEC0AFC5661B0FE20A5B377F838F671349C974E853C8A699BED020A3B69820D87F63541315CAB11F0BA051FCF42793AABE1288AA40720C6A1BD70F660D6EE08E4EC119A28DBD983F1B1333581D184A84F057E34FB1B18A25F2EC000F50B3CB814A0272AD41F398AEA5B32970B919DEFCA0047D19B9F67CE01EE66173E0220D4F854A89CC39A336743F8877AA4BB6AE9B4D4DB1EF801944F0BF8398A6C1ECF89A2B215809C3DD8D9A6BC9DE8AEDF4DFCB33ED3A79E03E88016C8398AE4780C3171388ACA5600387BAEC610B0A5CC2F9DEC89D3D92397574B706EB9CCB9E228C214F7D2FA56B17594752D4B01C6366746A3EB3F53660863596CCE1EB9AC5A85355D34C8278A605F19CA6C93E61991859215809C3D5DC29E0BA6A495044EF670FDE2C838ECA784721B65344156445788FA4451C90AF0C61A0BC7B73C4EF630DE18A5A7CF55FB7E062492C695E84DD5134559AB39AAA6284901C8D903978AD21581D965DBEE5E7B277BA26AEC62E9F89E28626CE29899D6BEC5D2F34A5F9202648475A3ECE983D7DC0EE5ECF1E26200E7DB02E428C218AB9C28B2B3B6B2F2F225121051B402D4379B27C075A97C8B47E3626EA59C3D01F5A9B9287214718DA95D3E1C45301A8D2BB7C2452940CED92304DE7E778086AED2EB8C696EEC0014550B0CDFCDB805769595323D61DB5795EB282A4A013AD3D67F83896FC98C708D5F5AE9933D320FB50CE74E146172ADD651EC7F588B75AA8A0F8F09AD00E4EC0159657907CD5CD8D660FC6FF822FB594ADAD3144158D2A0A38DF9729994CD440B2DC9657C583894025037E377B2079B2BCB76F68465B6CFA78BD81DEDAC2F398A7098C9F344518FA3C8993CF47328051870F6846ECF58132E9D9E9C8FFE64915C48398EA2820A30E0EC919BBBBA70D48EA2820A30E0ECA9AEC0E5D2A37614052A809FB307939107E23AD923577800565BC0D751248ABF7A2E5001789D588FA9076D9976072EBEE1460C40156D81AC36042EB8845C26B78BBF58335001165DAE2F87F7E906B920F8A5618532272AF80144455A20670696BCB0642EDE6C987E75B10C042A0011ABFB667206887FA41016E2BA636F149B2BF872115975672F7AA148D6D2E5B25630BF179F5D6A7D0AD209489033FFE2059493D0B98252AED62DA8008B2FE41B5882FF542950B0ED36AC335B647CD9F050B65EA1C1D95005D7C710385544269F414EB6602413EC48B6C1892BE799EC3164FE9569909998CE15C8F8307041052022EDD38C476188784226087E2E183DD3DA5FC69703F343725BC0D34E1AD86A5D87EDE2CAB633679AAA3F67D836E053EEA9D64338EA1CAA4466BB2F92124A7B63E75023998B4B211B4A01887022A1E35225DEE92E0476C0AC983B4348DFE271272A05FA40CE6476B17D655C5F824DDB93BF9551F19833F70AD1A4D2E3CBBBCDC46A4C184C6805583C95AF44E22B15A2421CB0B02513A9391836CF57E4727072B75EC6F529D8833F74074A3D4AE599CCBDE8617695F3734D9BD26D269663C2C1A11580C8EDB1B57E2DBA9B152A69D14CE7DC557C691834DC9FE49C98089E22E3FA14ECC11F26664A3D4AE199BE3042E65E252FCCC2B973044A447844510A90FBD851423B5F268FC9C9B0AC695D2FE34B858D247B4CCE8B5E61A4353F771E4F8EAA3A4C175181BF9D9D8C40896D83B3FF73E24A7DCE9D07C0B90039BFA759584E54002E4A018856FBB4E412743977CA74B14B68625447997196EE43D07F512E0337824C96717D01C605980A5F5088E7F831ECD372F9CB9D03C07900850ECE0D44B103AB6805C831A2E9976142B856660A976FCC816DC090F125C19CFD4AC927D849D602E99E3F255165113DD7CA7D472E1557C8DC2AE34A82E91C009D0770043A2F40E66007AAE4C79214A07D1A5F8D5EE032B954F402BBAD5F6F5D2EE34B81538CDD837C9F39F3E2ADD2EC2E765B6ECDED8CA8D2335D3B9B15E0475EFE71F691BE35BBBF5CB6E88B22586AD3A15077C07981A82ED82C4901889BB669C9DBA1897F74730637916053C7CE14CA6C554E5708A64B1AB086BE464E0725D8C7EA50BB5C395D25E0F44A360DC21F259785F19F6E2509BC1646CEE305F3DCFE7FA13BE3F0E27D4DE7059CB8729E4B560030820B58719993FC4124218CAEAC39A71CA6F2798D1DD98D5082F7F270FE1FB3EB5FE028F6883C5C8D7FF349360A829E2A970DDC9BB880FA16195F2C4CFBFEA1EC13957CF8F248EEBC8012511AA26405A0E2DA1B8CFF47EF179BB388AE78C19668650284B72E059BDB43E269DC1C568540F7128287872020D7DB996325C12E8EE2F6713F870F9D1388B2CA6529003112B7B3C83826B724BC5BAE3404B0B769B147681C96E3E28431FF48E15690C720FC91723978FB6F4F1DC3E6CBF862613F870F9D0F28C5E113547ED90A40CE228D73BA56CD1520A0C89C45B866E52210FFD055000008E1F0F407EC2E9485B68F3FA01CCDECC0E4D4E3365230F0576330FBAF72B90872F8D0F98072E9CBF9CB560022B8A4D178047382D89C4574C74E22C94E4023AF972B00614C34E7B1EBE35602A28F726E86D29D24F300BEBEE409763C5D3327C7150B77EFF38FD6E113C443240A400570A1FF344E67917E14FB338AF93E2685CAEC1AC2F9196EF8BE87AE900DAA6CA971E2793608C27F10E59C27D3003F6682B3EF61A87A5D8E2B1626870F96D2CD6A3EBEFC8806FD5E155F3E263205689BCEDF07B12B1596E02C7AB639A3988F95743D88B14D99B17E71A9E3D8D330B0FCD827FE745C18FD2CC6E88DB76DFA242C069DBBB56C2D2E8BA61BC4A500E16341C2CE484E604BA428053CE50191A03D964A8403E1E7F0A1F3003362FA9C5E640A40F5F07316611B434B186711DD93D7C5B28BC634991E6F41774BE9C7B0DFE15E403F2BD82118A35F80CF603F47BB96FC68CD63FF8A2BEB5E0001BA13D02B4CC6CDA2050D3E24FC556F5BF76499BDD86F2B1D9DBBF473F8E4CE0378951E012E520508741659D67541FC92F0ED1E7F378E3B350429015DE78A699F876F3C3731DC193E831770D7FF4C9AB10795E9174717566348B90674C8D0B5A39C8EDE7C286123AEAEBB568E93E1BCF031B93B0DBF04E62C777B29012ED9BC1471B1387C649E9C307AB0E8038E90DF89CA9EA1524E8C87363F23E39DC277C6698CB7B44D373C0E4576A7C29BFE233B0B53ACD77A1C4920A8B711773EAE7D7DD64937E819823F0AF173D0E5EFE2950E34D3F89D856B64EFF38A77E29CC277E23161CE42817F083B4A8E06397C846DBD27DBFC51810797361A651DFE7496EBF51C690FD05B80A64F06F3A19C457EC2275A183A86D3B2A897AEF440C34122815D779CFD5D8ACA8110E208BC550BD11BBC8049DC44F408759EE95E664958F67E00EBE2CBC8B3C04FF828E7734CF88E08237C2A67F5D78C26755BCA652A3D01EDE78FD1E12397EF847D1BD799A894E7FA26EB2782D9AA474CE3339636185710CD20E1E32DBB0DA78E7163374CCE05027D0E0E57D63C0AC1ED5920E9C7A0FB04D2BD842E7C8DCDD8D680E9DEDFE3A028DB05E545432DC7C6B7EF0D3A96AD0C4A27C79D729D18F46987F938E81F29C775F704FC62610B58F7649B3F9B8B2B76434F9E65DA61E1D81480DEDC31CDD67378030E763203DF413A51A7EF6D67AD89F931DF194FCFC5083F9F972C82D6876C2A8449BFC89683E0258D466AC237076697EAE00952025416531EF79E4A28C6D7095DDF354A9B7FBE9DE4FFD814800A3A7C96F52F5D19F13294C0D5F5A251F18914757F1BE52945F8942F1FF0E9B7DDB17F907A9E31795CA9FFE0652139BC60DE7DB7541AF97C814A904F94FFE7BC1963BFBA052C1F1FE17F3C73801E06FD4E16C5257C2A169F85790BB3F3B118ABCF8076BF534A5B21DF9B68981F80CE9151089F7878F012DEB9DD60E378CC239449B0934794BD66E8E6FA6C272ECEE7587B00629C363466BF30576020DF3EA822E5BEF95EB4A1681A3E237722CA3E0B0D7F1460DF9B34503E5918E7C1E1F21BFD68F638E082730FAF320BE10AF504E8FEEF6A6F34CE2C4427AAF8D81580183DACD93C312BC4EFFD988E43F87259E4C2C5C9897A0C0F0743B23BA0E25BE07F2D14E3433CFFC918C2DA793DE00A0452824F3ACC5598DE2A47EBBA27861B978871B3E31A9BE32A0C0D1D343B7F34EC6CBF1CFEB041F30BE4A7DDC6CA8EE372E89692F7B30EEB782FE1132D5A2262A24CC622DA6F51D0D6504AF9CE3CB1CE01A8A0A0A55E8E11CEB7BF02733F2753B5FCECEFF0D9586BC54EB0312AF2A75815A0A0F0A93A453A8B226F810A137C6375E6277E9360272B955282D8DEBC50C2EFA931C6BDAFB0EEDDA312EB5E672357FA991C3E1DA60993AFDBE68F39501B8649CBDF5814DF9C20961E2058F8FC0F72C343DB87E1F3A981CE2239CFA608FB397CE0EE9DECB7448CBB27885C0182844FB3FDF646FD785AEAC80244454F8FEA64914CBB2FC039870F633F9779C184EF21B4C98B41768238952052052824FCDED9BE9FB388DB374776B2486EE96AC33E0E1F91D878C2A71A4A10990284163E04913B5924F8145926D0F4111BD6590A5E4EB7A9C1639AC4B785CDCF55F8E6E236F9AB6A955682A21400FE6DCF2DD8C5083FDF086D8DC9DBD0FDD1860B7788E864919B6875219BD1173EE4B6E31D09BDDB2B2A73578E12F8C9482E230F07AE028E9C2586A5B3D645305A9C8419EA283875702083AF05FC1CBCF4BF6D6FD01FC22ED68652BD7A01CEA2A7E00A3D3ACFE4A6FC4F277CF015F057B0DC75B77508874F90D9386F311CB995FE30F6129E8DED6413B9E007404643F0626DC0FFAB8C6BF70DDD3C793BCE12987E6DE866CA91AABE250D1F39C79E7B75438323D9877856AE8FA7F8B0E6DDFA660B9F8AB72F71D0CC3DE2ACC1C4B646A3E07E3B395F5F83EB9BD3B4C1847619F50634FA9A21C38C5DC21CF228A804827D0E61FBEE65801CDE87229C8C9775592F038E074F0518DD6C9E82371E6648B79FDA912FF031ACF089889FB308343EE5493ECEB6755FED0D64A20F447261ED27B242F9FE1FEA76317AB8FF09CB62901284A381E1A68E8FF5BA4F4051009AB060CC7A0DC21F1C8EB83B5531C2CFE71CD36A9E846EF2E13C5CCBFF689F95DB8E30762FF656AF72950082FE6850CAD8E3A9C9EEAF90299340087F86AFF00B6CCF2A45F824ECB669C6EF31A629278B6A5211389F5EACF0A91D822686AE76F291112C8DDB775AD624575A002E05A03538344539FA0457CDA2BA041F898D0A83B444EE88D61A9910261EEFF4AEF3E5C810B0F7C9A2101937A9247CF9B869F4E58FD2425E09704A6D9D4C012FD0DB3C9118BDDD083DC512DA4180DF90D3602EF2EF32CEA5001BD667F6A459A43311087D55B79971D2E269C69B349B6C9B967A5C781C06A53C480B452B2DD0C922F4209E7BFD4BA3D81773957FC267F5BE2C8376725D194335E5093E11F7373D47BDCBD269FA0B3CC94E565A4088BDC81FE1C4BBF603C058B18D33929EA1107F597C31FFD289D799DE6631696EC69992D79927CC339634D7AC586D7D07A5EE1026FDA695862F6B6FC4173FCA0D2FE1E89BB4A4A4655FDB54FD5527E9B629C68AFAA6F41ABC915B39F15617DB1AF0D7799C4B015842ACF5B8D87437322E38C7AD0CEFDA0B9A2105E42D33E44E1631766899646A3AFBA0145BBB5E7AF7A8D7A6AFB93EDBC83FC8579E8EE27559D69650963C2AF75FC7DDBB9E5C43C0D021C915E8C7696FDCC600D725CEB5CD1D7B078C400863AE4EEFC6847DE3C604F927F58B56F99881FFE85AA0DBA8C3DF922966847917BAF75C2F3CAE556CD96599BF937B0ACCE53E903FEFE75200324C60145F20138731E8ACECC7D61A1835DEB14DFE26D9ECE534983C2AEB5D39CD001C510B70B5ADF19E1FD6615A1FE158DE5B66D6FA043DF4917269182A1419B9148032883A3E03530A1C9A7107087DB3EE9D2CAA7188669CC347E8B1EF5F7373D47FA1CD06EBD793495E690181FB05722FA7EC77404ACED70F32D4EDE68A022C9DAABF1270FC5A29932620BC8E4DC41C21AB440E206269810597F02F344DFCD0EB45F52C10ABB304EE318011E873395E51004A001BFC2C28C164BCD9C142E5ECE304E787B75D6EFC45263C00C7DB02588E3FA925C489F466079504197E8DB30EA7D2353E5EE93074FB87FA5673140E5D36627CF90E2614BD6B4FAC43DF87E7E9B75BE8FAB58F4F0966C09FFA404C142D40B3FD6CC6A40B2B4FC5B8DF7BBF0064B49AE66575CC68C5EAE063BFB2FE0131BA95C869E650E60000000049454E44AE426082), +(54,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001432494441547801ED5D0B9414D599FE6F754FF7288FA849E4086ED044564D262647638830C31005796549F01CD4C5A3C63DC6DDE8595D8DCF417CC030092BBB6E1E26865D8F2766490C1B8575E3F0748119C001D9DD13D6AC28CAC12444C1C06844A6AB1F75F7FB8BE9B1FAD6ED99EEE9475575579DD35D75FFBA8FFFFEFF77EFFDEBD6ADFF0ACA73B42C4D5D2629334F58620A091A2BA5FC689EA865250B213228EB9020F126CA5D173168D596B6F8DEB21652A5CCA67698E7652CBA9224CD9424C7A36E6350B748358A47594750EE1FA421BB044556772F6C784157AE5089AD1DA94BAC8CF528189EA8DEF3260C080A5A4922764FF742F196373C14576ACB527906C9E43229E91A22691497BA32B1D1A0761A11E3F6AD6D0D2F3A4BC80140CB92E437C1F0F7A0FCA833921FAE010228DFF85AF7FDB15D7EE0271F0FCD1DC989C2B25643F967E48BE3151D204813895BBB17C57E94E5610000CDEDC99B495A8F656FF8F18C0A1C238326772F8CEFF1237F2D4BCD0BC8A2ED684023FDC85F962741C6CD5910D800E8EFF6BBFCD8F2B34C0F9C05BD193D35DEB4E51680C147C7D4C7E4C874AFF932C6DDF13E624BCB0AF704180EA6F0706077F5FD63BEA6DB17470D418F0A61EC1446745F5400DF153E9286199749718114723A59E21BAE311402CEF426EF021B0F569895A2B2B779D22A9F6D18B9025DEF2611937B6256DC2C2AE361444E4B32A4959E20A535D192743B64789A331B6EE8AC73D0BE246C6BDFCA6C7246E06B8CB95D24E2577B697871CF94B132ABD1AAC638F9E3A1207266ECE35B6E100927DDABEBF90FC9D8DB91E41157D72FE850C488CC530DAF6AF2C906A9B4CC5FA0CC16B55C6144A6194266AE506F40FD47BD563EF3C482330CBA49E58F052D0F9AD355BA57E177A27D17BA940F6698772F95CFF2E0062C8CF855B64E1501F163BE21A5702183BB7D2F5BBE93CFAEB6C6E760A86C77D2F8DAD2F0ADC6A95638234493AB2C41DB987717DD0302EB9275AA16CD733C86241AA7DEB0A4D1A3D2BC0C634873F1A3E3DB2B1E6155BB27C9A4B1D32B7E74E5B21DE7A263820F9314B90602478A46A3AFBB227B480093FBD4E26158E51836EAFDEA86AD516A793A9ED538D50CB311AF96C7B3BBDA59AA6A58FB2A3383852D0366A0FB1898C370DFAA2E05933E2E5EF2F05C5DC61CA5E5D3A916008E74E1658D4B2004408D2B78A8EA8500184A42357E3F04408D2B78A8EA8500184A42357E3F04408D2B78A8EA8500184A42357E5FF306301835C6A3F798E6F6C4DB7EE016BC8CC0849A1F58299A87C00200332F788F91FB96B0E8DA972D413095CFD50F8780B281209819850008A6DECAC6750880B28932981905D6062029FF88579C3E59BA2EFF066FD66E082204820B004129BF2C116F69EFFB2A56DC0451FFA1111848AD9591E9D00628A3308398550880206AAD8C3C870028A3308398550880206AAD8C3C870028A3308398550880206AAD8C3C870028A3308398550880206AAD8C3C870028A330839895C13E7954C6F9136D95E6655858A4E187BD5DF8E3C077772E19EA79F68E5F9D4E59F75854210FA96CF1F7F92ACDD3B0B05CFC6009868B6FCF7894E25D57D91A9E5D71AA48D0E994750FF0C21B97EB90D35C248F085337C35F9114AD6AF178F5A2E15B8D559D303E0D7783113CDBBC578785214BB11D6E28B158F706BB6253E878D32A6E62E70C2ADD8B70667BB20D029EA0962D0DB15EA57915360CE3BFD4B29967E65DA57B11B675697B5B514A87EE05FBB24B67E8372E572CF06EC10E0EBCFAC69D5B8F2D40498B20CCDCD7D682F6C351D43918C37CB1180F5D293CAD98AF635DE8279D22665F3C68604B2293631D5BBEEC8DCD32A52331D7B26885EA6505AFAFAD68843E63BFC46E69379F4225AE75323F700D47077075B7138F0BFBAAF1C5AB6D3CF1F8892E54D7F2992FC310D7742D8CFF6C80471F5C4C596A2EB02CB952C70A80B08F84DC0A39EE81D7C08AFB08322C68976802FE2742F1CD5A9E84F869F7FDF1EB6C004C5F26C72652E66E3FFAB6539987EFA27550FE6CBFB4FE2C7FDC0B00049D90E1CC2CCDAF67DBE7A2885F647B0E612637DE23E052D49807A4FACAF59A4B8042BC1C8FC6AFF69BF2994FE68979C3C5CB2EBE7D4438A16338DCECF7BA3A3011B4AD2DB6939D3062CCF28D75ED941BB7FCC668AC79D3BDE23D27DD4FD7CC1BF3C8BCFA89AF015E58B7EC68D3E16DD51E020622E062EE3239AA3795BC1363C71D1883BDF77809830FB3558BB6B6C57EEEC796EF945DF69A8783D68EE45F5A522E510DC36C9C6A9EED562FE81F23A7C61E511D6CBA0090656CEA93B2915DB1B1372E98DAE3FA7DF2E48DCFE9F089D4543C432AB376A207698B68B5B6B57C18D91DE047BDEEFB1A760545F159D965CFF6D3C1B7535F14969C01DA59F89D0E29E53ED164230F7196D2980CDF684A8314BB21DB239AA45CF45128EB20FC00768B71F18DF97C2A0EAA504DC68392EC6FF594CFB578E9B6B3CB193483F0665E0934B79BAFA0719DE78C60506446D7A2860D4E5AB1D7033640B109C3F8B521811000B5A1C761D72204C0B045571B094300D4861E875D8B1000C3165D6D240C0150453D629A58C8CD34ACC7C04AB11902A0529255F2952FD0B8C45ADA9CE8A3DFF6ADA5CB94DB9E0543005441F4E63ABA3261D2AF3153D68ADF197855B721D1498FA03768AC42F1831611026050F19476536EA44F249EA73556867E01C50FB894C7CCAA81E1E04EF338ED49AC234F575F8500284DC7DAD472079D6476D2223349AF40D9F01DA03F706F82CCD046F406AB302C9CA58F55596A088032CA17AD3AD2D7497F9578975EC5664D8BA1E0930BC91EE9E6636DD35E0061B9DCF4614F5148DA52E3840028558248CF967DB293AE33D762699DA427F0FBB362B30508E2F87D0BBDC67E80A81D797EACD83C86133F04C070A4D69F064A1A8956FBB718CB5FCB48FA0914786EBEECF0D6ED389660DF8BB50258CD44797764411EA301A085661F1D40DEFF84DFA7F2E5590E7A0880614831B98E3EC7CA81920E4261D86A97CE1E2C1B287C0DD6027E263E9B9635CEA6B5F193E8B35878B39841912F1DF21D81DF6D00C36B28EBDF5B4F79664484CAFF2D8CAF2625F209C30F7456BAB4680E947D752603051672087A115BB5DCDD300B0B6B1D87F832F17E870FCA0DF46333430F633BCE1B90AF765771D079C39CB9F79FBD803EF8C4E8E4AEF7671DDAF1EE57DED9F1DE5FF426C5C9BAB5008E9286BE0408CB77D4CA7A00EEDA537DD48495B51743019320A12950C2D842258516FF2A7EF7C567D1EA42D2981BE97C99A2EFA0C5CF2D243EC7B17B0FACD846393BC0634F5CD01E319337D82EEEA8CB1E00CFDEE760328637CC8C42920D10E068B4EED321CC3371FD2974ED674219C5370E412FE15B8AE5B119F40CF2727D2F984F35F1E9F40AEE7D15BDCC85E85DEE44DAF9287F50DD80CF9301CACB11EF72CE97BB14188F47717A038CBF89F3DB88D38B319E97A1A7F15472E4A439F42FB8CE39062D2427660D05A0FC260864995D2548297B4098F6E120656FE53D43591CFD5791082D6F9881ED764B386233E9BF917C012690EEC5D3C0DFE1FA46643EAAE02C25F1567AA721CDC5D934D9CD9EC1E701D04200640553EA19AD6CAF14B40AEA5FD938875E2B353F677A319D7E8BF01D00C2C3669AAE421957E237158AD5DA09CEB4C55ED7650F50AC90B2F1D18A5E85125619115A159F41155FFF0F20F062DA15FC939DF4715360D83A0186D6728121044056BBCA19CAFE1348BBF17B09D7BB6206CE33E8774AB4AA05C56C7A0785FD987F00C3688CF95FC0F8CE462AFFBE0860143DF9C4CC870060299C3876A05BFF294C3FFE78621F5AF81B503C64EBBF03606070FE67FFCF6650AEA7D3314B701E8CD9B361DF4C823DE3DA755D57931000FD52E1568E499AC775420A020DBD137F4BC1BFAE54271D00180A02007A91F0A83909440AEFB94200D49CF68BAB500880E2E45573B14300D49C4A8BAB500880E2E45573B14300D49C4AF515C263219E72DD470800B74CEA8A1202A0AED4EDAE6C0800B74CEA8A52E69940F1243C528C764A304A0D6E2F9ACE08E1B5A712C80B80F90FC9D83BD1BE0B3342340932F05183352A9F21F1610DE0298F28C76F6E8A1237615FBD0FA30C7175C2F1B2E8858F93C3EC8173F37D31ACAEF18743C821580FE46D1700A63E2647667A9377BD2D9377C02FCD489E5484B328544E6B4496BDD2585DDB7F08B2108007CEFDF0BF17282751D91A04E19C630340D817A47BCD97D1FA1EF08587309620DCAFB2074E76C238ED3BF22341106A90781C00407347722256A76E87C0C7FBB102187E6626D2C96D2108CAAB1D1B002D4B25BE58B556FBA6D5E7ABA3944D66DA7C9A7DA0E58B12D28B93C0091B402697A1859DA14B0A496F9764F40029BE7016CD3D013B6104AFBE7216AD935D1068D17E77F1D7B898F5B1BB78F6C0895E20309E435DB2AD34E184D55E502946C6C28A53F831CF8D2DAC881199E7D55E01CC0BFBD7873BF3C578F85892CB1B42300C5BE081D3450F09454B803F3B72B937C763F78AAD6D0D2F169D5B0512F0660BB6BF7D25EF7EF7AB0A350C162B0103BD85C6EA179B8ACDA852F1ED9D3678B305F771969B14528A95001C718B316A2211937B549AA761ECB4A1291F8E97C3A35409C0578D747D6D12B3E2FC3D996F0EFD362BC3F3BAED9B4A559F11EDA3B362FC559FABB0446F251002C05BF97B5E7A5D02001F4DD4F681C7264D05075EB339EFD5250022D2FE9CDE29079658CDBC68CAA4E1674839FABF7554A8EC7EA40E0F98BD1FA8D546F3A88A572EB5DC4A846134BBEB22E98FBAB2EA1200118B8E698471BE8616481296CFB8EA0280F3D7C5AEA32E01904CD11F5449E025D339F00DE46E396AC4008451972FA96C62A5D5AF551A87EB120023E6D2618CF9BDAA40927DFEF1E2ADF25668586EA35118EF5DEF49B0EDAF766ABF2E01D0FFDDFF0E55A8E82617A8B4A08553EFD315E80172BC90A3BEA9C638BDA4AB4B5D0280050143E9972E81E0C518BB6271D10344C0AADCEB34ECAE836F429DDD539F43000BA851D2B36819EC5D6DE0400F100381BD7305F248AEA78BD0FA2F5599C770A7DDD59CE3D56D0FC06E56A0F0351A61DD02EF5C819C13B0D2D4A6A9CFBBB153E839959E0DD72D005800780BF6F7594164CF68411F816BB607B2E1A09C536BA91980BE42E517AB27BF2F2651DE0F335CDF05A819F8358CCA8EB0B7532D81C14BE196F19109971FFBFCC8ADB97BF24ABA151B3E3C01E7CEFF5742F6554B0AD046C0EF0FD40231C47D108FD17755BA331C580060BA9B5F65E7ECA5EBAC58A1D74F1C6CA7EF9FDB92131D028DA2E5ACC0B915422CD8E56B4E26550C604F22ECF44E9F538B441DBE27A6D1A00EA5EB7A086081EDFDE0625A7FE47A5576BCEE707272AD7B4C7547F496C2FE85F13D47BB8B0B41BF6F3468A98BAE10EA1E002C8F7F3EB8948EA54F5144C318A007786C75DDF00981277D2C8B7E063E632A4B50ECED701DE77AE7A189A792EA2FFC5EFA63F4C3DF2F77559C8782B4A467BCDAD0C9C5908300DE0CF34F848F64DCBB9460D85A03FBC53DCFE1489FBD0CAC0D80F679DCA0C88C6C454A3DBF70F47ABA7E6CFB3D6362072ECDC94BC28DBCA4FF406B9B249AE9FD9C7B1E06B03FD13F40F9B3352C1C84E177A386AE2505180094E95AD4B0415BAB6112C777528F29E97FD0A57ED29905C24D89F7E879B99B668A2FE4DFE6C599A692D7B0F81762C6CF356185091F0BAFBAAF1DCAF073F216DA000E69F0E49088D21CAC0ED159CE2DE6617A0E6F0C73E6D91DC9AB7289FD83BE05E5BB8D3E2EDDA09B4F9A499B8B61240480222D3889DE8B09A2AFA0351D576E11BADCCB12C7697DB5F7F6633E50B6C08E208B71761B2BB88F9D4A1E6A9C657B1357D91E341C0240239ED86CEA416B9A0F634AB77C700A76F3E8C146D0E76A925684C4BD0ECAFB391E4B16E90A009F8F637FA28775F786A28500C82321B4A64E2CA2B811C28509907BA0159E8367EF17D1222FCDBD53FE107A9B31E875B6808BAB74B9A3A77A16CABF4577AF109A160078F4D1D20BC9B012710CABF055AEE52C3F368B7E82FCEED6E509549C0AE1AF43CBFC6BDDFD72D0921BE8F3D8757C27F29AA8CB0FE56FC66E610B00D2ECD640BA6883D2F8D33097C123ADF484415355F9266AE7E2073E228E56830DEC21B03C62D0D721ECA45A1E7A82066CD0F0380CB367CBB99C0CF91AB0F4EFB652B6F2C7ABE5F687FF15CA9F05C3B5A4AFB8F8EB60CDFA384B8BB83C8C549C0C80BBD6B84121072B5E707F01DC136057B069799E0ED8409B97E8A3DF605AF6DA5279B25BFD5ADA064B7F197A19D70C1F0F4930F816610BB86B4B553EF36A484376A94CA3F0DBD96D8C4AF7223CA52331178298AC960D7F84DD2AAD92E18699D40DD04DC46FAFB61C4C1861CFBFA760176C4BADB7379BD446CB47C42EA263D193FC10AD7E371AE525BA7828BB0F00B80A63BEFE31509768081AEC9CC86A771C791A49F369AF41D0DA91BA0473DD2B54FEF026F0981817DFA8D22B1DC670F046FC64BA044AC85F365E22A5D3B41DCADC80DF2CEECE07E30B5DFDA76147FC006B10DE40DC6F02ECAE8F75EDF482DE42CB6F85F2FF6DB0FC8ABD075011B52C317BE02740D3ED8BA340C8A396347AA2D1E8EBD80777D8C646A18C250D332E93E2023CF94EC3387F13CE2E01C26E590CEF210F169A67B9E3B152F1A6F02E9C17EBBAE99CF204FD0E80790E9B556E160DB69213487726C293D0D3F254AE46EE393910D2AF89630F2074F9DAB5FDB9B18B0BD900B05B5AC6EA0208FC3F358C5DBDA2A7C69BB6DC22B48B1C8BAB7E69B1CDE7E9B300C093F85D545A4E7952634612DDC11D9897782A4F8C92C976EB6277305288DB4ACEADC219D85DBF1073FDA07CAE6A7C0EFD2FDEBAF11AFC6FC0402C5BEB44ABCC08831EC3FBFC3FAFA4F2B90E760FC0177C34B7276F16527ED78F3D01BAC1B760B37EADFBFED8AE13DCFAEB9F1792E28BA35B3146DE06230EBE958B3F58F158C5F3B4D1404BFB37942E3E932253E40080D3F60F078FEA6D8222732F4B746141F92B49C4EEE95E2800027F1FD8C0718499A11B0082AF173C3400DC50C44A3CF4FDA8711AEDAF660D5D00C816DEB234759990197C65225A50917130C64ECBDEABE419065E066BFD0EA1BB7F13FDD33A4CC2ACDAD216D73F7A55929132E46D6EA4F3658A66000C2DA84B13B21C835F1C46E061807A3FCEDB40DF8C69E7AD087BB2F6F0FF01924C906B705535F20000000049454E44AE426082), +(55,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900002830494441547801ED7D098015C5B57655DF7BBB67585C8820C4055C8027A02651546066181045C4678C0B2E8FF85C12216A348A11648688CE02EA43A368122506FD358A82DB8B415422300CA2BE177DE28A1B88A380441005666EDFDB5DEF3B3DDCA1BBAAEFDEF74E7CFF6D1D6ED7A9ED749D53A74E9D3A55C558E929B540A9054A2D506A81520B945AA0D402A51628B540A9054A2D506A81FF8F5A80FF337DAB10828F9C1DFB8188B30AC1C5F73526F6128C7FCD18DFC8197F5D3B20FCFAF28B79DB3F13CEDF755CFE291860DC5DC2F8F69BE82426D81434E8C1C91A95731E45DC12CED9E35DBBEB4F3C7795134E96BC04CFA0053A9D012A1B454F66459F128C8DC8005F77922FC110F774E9A2DFFDFCB57CAB3BA2F49E790B742A038C9A1D1D1C8F8B678560FD3247D99B1243C3D79C8B86AE7B19734B12C1DB3699843A8D01C6CC167B4763D1F7D1F37B678268DA349C7DA289D0CF9B66445E4A9BB694A0A3053A8D012A1BDA7E276CF68B0E4CDC2F9CBFCF985885DEBD0DCA60776EB32150068702A6BB93F9BE73767F8F8871CD7F4EE5DFFAC697809E16E81406A8AE374F8833F13283D6EFC606046F03E4C2E65A63A11B4EEFA7DF22BA6F8D99A771262663C8A892E33D61CE3E6621EDDCE61BF4BF7BE0A580D2021E0228B1050254D645FF2A9838D55B3CDFC543DAA92BA7475678E16A683703DD01063A418D4D40B80986BA6EE50C7D6E0252FA555BA0E80CE0F464D3FC872ACEF92DCD338C692A8AFE10C766D0605E80DFD9D0230EF44F052886843E038CCB174EE066D2349D1841DF31EA36B67F3C1EEBCB98DD938B500C435E4CD3C4D601FB45DEB96F128F1512BDA233406543F43C618B47DD1F859EBA430FE9FDFE369D7FE58667F2FEAFF78A2EDBB7C466D9C2BE2A697ACE9AC365C64F965FC7C1789DFB54FF87D84FB4999536E318C644156C1F83200DCBFCB0DA6DF77813714F84BAEAF72DBF868C62C13E4567808ABAE863F8F009EECFC0873EB8B2D6B8C80DCBF6BDB23EFA634882F91816F6F5CFCBD7EA5C1FFB522DFFD43FBE7050C7D661C7CE62C23E0FCA6C25BE5FCBB636EA2420D69CD1B5FACD33396444404FF119A0BEED6370FDA16EFCB9A6FD7C658DFE47372C97774C2D0F8EC6CC05E851C392E4FF428BF0539AA6196F25890F0CEC0C51B3A2E36C9B5FC9053B09388503299CB3170DCD383F1769E9577F511960A610DAD206B30DBD34E24646D3F9A0A6A9C67B6E58AEEFD5CB44D85E159B937C48E05BB9C646ADAC31D6E45A47AA7CA4E36C336317A197FF1244EF9F2A6DCE719CBF32A8A75E15847E505406185D2F0E3045B4C5FBE1DC5C59AB97611880040FEEA9AA6FBB0EE3ECAD6036E51BB196B0251CE6A3964D33DE09AA4622FCD731F36A4C51A780F0FB64532EBEDD02C36CC0F0B09D0BB113BFFB41793D18B897272B8733ED0ECC70AE4D169F295C699C4C33E6926E64636C9865592F4B79BF6C9E51B6BF040B2458551FFD370C96F36589E314CED9E648848D5C36B56C6D3E959112FAF516F34A94713DC4FEF7322A8B3B46AAA58CF3254C637F0FF78EBC23AF72CE84B47CA93E5E6D33FB0A30C7994AB9E830918838225FFC8BCA00958DD1B385253C461E70FF075000072A1F1810A0A22E368671FB493041779F22BF08878D91CB6FE01FF9C4A504D1185F590F51CFED59D069D23330E7AD68EC2735AE3D3870BFF0F26CC47745837919B3ED7B658420C9EE5E595BF64B199E4DB8B80C501F3D0B0DB7C88D20B4DB5757CE30521874DCA9737BAF6C307F847A9782099419021AF1332E8C914D33F8BA4C4B27439425C45D10F5304FA77EC0E0EF32C17FDB6DEFC86358ACFA2675EAE4B1150D6D7F60369BE4490149121EA1F7583E8AC73DF02C02594F47B2285B490A070FD518C319C6BFC23E9861BC1E0AF1B1B00A2904C0987D90E0D1974E6C10697BF1C9B7895E98C63E4866ECB4C4E76C3994CDD39A6AF42118ABE7E5437C6A1D4D180D1832BC7A12A49AF5B239289FD62B2A0358B072C9C8E28BF692618508AFB841FF2F3235A347EE94CBA7E568D3369FA99EEF6F90A1F4A44FB446CD77311E5F0849924A72AEE4A15045736D19661A657F457D5EA2C99567186EAAE59054EC353539FF910ACB1C525406408F5018008D591406A026C13AC32A2EB4D331ECB4C94D841E7D7CBCC57C90C676771CCD5C60647AD616E261C4A550F2F89B5A888D87425B45F5B8CB08EC9D3365AA0C9C0ECBA7FCA23280C699320480184563006A28F217809D1D5AB5DFDA809830B2DEAC4B3468559D79A929CC77D1C8E313309FDF2F61C8BA1853D91F364D2F5BEC131F1808A2449A42D352074BBF449E0283A23240C80A7FA1E0C259F7731E1721055E40C08A9AB2E7C08C172A632AEAB499A81951674E42AF5F842918AC93FE120AA2DDC214EE9E70376320748C078212F5A93E5B8381408917DC635453E2D3008ACA0087F7621BC0B31E3B367A5768F3DAE48EA069F0CF39BAA9D6780C1FFF1BBF02606AFF3DF03ACB2F8E60905AD027F8D0E69AB22B0BB14093AC5E18B6BAA971F0A1CEE3292A03D0DC173AD1E732BE428B0F9061C5088309EA41CC8795BAFC7A1A12A1974735CE6FE83D501FD67483FE8692AFC000B45D6FB50AFE990ACB1C12CC0245E6F551CA75F83BC893453836F3E73DB02205BAEDADFF6CC737E600F4F8E3525549BD1E22FFA2A6E90666029DF34007182CD7CC43F6A7322C9B705125403B623E06176E778A04207CBEDD818D284C7819D2D38218B2345E4BBD7E652712FFB27B9D0534C5628A49CB7A0FBA59068ACF00E4AF273F82291F26272944B8B2DE9CCC2CD104536E9FE4E50B4C1AD87A781415DC60951C07C6DEDF121F8A29B3A4F0F15DA1E17A5E12A9E80C80714C71D404171F0B11AC6AB8A95A248F38CC3AF48AFAE8FD42D8BF8796AFA72B0AA2F7DEAA5BA247A44B57D078619FAC94CFC5ABF99881A9BCA233408419AF2A1FC2448FD1B7468B320C8CBD5DF4D8B436FA027AD3252A1E8070D5AE0EE6EC2A626CD139B7275F9EF52D2B4020985061002E7873BE55149D011C4F169F61201ED786E5FB31E9F257DDDAD67FD74EF31534E648BFB410412D214DAB82B6FFB21C0F2618B47957F43F647831C2950DA20F703E5EAE4BD3B465322CDB70D119C0415070450A401C179401AAEB62D5769483F8FE5E3A58156C2A2F338E59313DB23A14D1CF0533FC436E4C5BB0CBB1BC7C8A0C2F7498B3E80518AA3CB422A7965EFDC34DF9D6ED2934DFC232CE8FB14B4E0B715630068027F2C438B75F4023F690EBA530D6E8EF0A8D304E7CE1D7FC4B0A2F9FCA5B98169AE867298401F04F2736A65A13A012827D6CC127CA2542223C158462DA390CA0690A03E0830693CBB4FCA1F9862BEBDB7E85D5BEFFA76AD08E452F0ED7AACB9A6AF5AB65656A654DE4798DF1B972FD28AB4FD432EF93E1850A8F9A6D1E0DDC7F20971FE2218F5F851C9F69B85318203C2CF2778CB3DBBD480ACD8A9A818A57EC406A04C168079132C3A0FA05D3C6D15ABD178F3D21ED80C854A4F399668933E16472D19E94857BC3EEE9AB7D4AFF820F0FE73DFE53B94AC3F85456101088B310E3F1D9EEC2D1D88FC23D0CE35DFAA76296D857D3CCDE3CAEF516CCEE83E5DADE1846F68315B70BD7ECAE98DB8F04F1FB272909F6736C45E3CC401A0BFB0D77A1255A016B8524DA8575F756C601131CBF4CC7D83F06693C9D0596C19D22143A4FB342EFECDF956D5A782DD206FCB4EF27303F83026A788AD6F8CCE61AE3260F2CC7406798821D5441A8C518933D0C00628CA595411ADBE877CB47667FEC22EA8FFE7B28087318B3F961F40BAEED2BE2D1B2F655A53DF6193014CAC6BF9EE526DF96C177E3F8194A8E073F5D9CACEDFFB85E1183FFFD7A096AE9CAACF85F6C16671BE16202BBC236A4FD04C57D8C0C9F80993FC610F2B11E0EAF7D712AFFC2A928DB7F6CF31732F1C178F1B27072A9956D157EDF966D1939A5AFBE55F48E9BE617B27846C381317066408A2D533955D88999F04D5F8161D64088ACD134B6C6D6D89BE113226FCA7A871BC5EA7B44376B6B741DF8CFA317810116C187F21C77DA7CDE3B450254CF1287DBB1D870F8C0A361BC1F088E97760DE7F379FF1C79F14DE449340ADE06A36C924EF88B379BBB2AEBDAFE0BF2E56538FCADEA526EAC761F75637D6D626389B76DE86B425CBB937E837A8A22019CD340E2E618C8D353D0B34FC1871D18D407FC9F29877C07057B1DC3C773A188D66499F602B49777DA0A4753F2350CF29B0B2601C87AC544F45C8CB36762BFDE307C5D61EAD2A07C410344A374F16B1888CCC530783F8AC66DE59A68C5F6EB560B0A1EA44F2B8F88562D8E0555CECBA10A9643D9EB12E256B9A0B0E0E528147F7617D803CA359B95235D77E4BB10DF92D5CE1F3FBC1458FB4CE518E0798C65EED16BDCE930F5BBD91D0EE23D50A2909D7D676BEC6C6861E70BDBAC02828EE64CAC9DF3C3D9E710536B212AC92BB6857E8566B784435A8BD0229B2D33FA304A3FD1B77C68CBD80378936F5C8EC091B3CC876D8BAD8658F7B8B18169D66B5CDC8571FE40C41D089CFB42791D041DC76F434A2EB5C34865952594E45C0AF0CB033CF37F68E3053EF44AD0F97C10DB77AF7B76B5F06D61AE9DCEBA86DF4EE672459B40AD66F309D477BA5FD9F0DC99411E3F7E71F9C2B08C3C07A6EB6B9572B8764573ADFE3B371C5EC57D633C4A671C0D01031F89363A0E38279B9EBAB3FABE8360607CFE872EBA3E2F61B9F44D982130670600977310FE6C7CD435F8A0ACCDB8A878137A336D9EF8D4B6C55419DF300B8D5A3E23B25C86537826ED32AE371FC218E96B3300F16F00F167FBE50D02860D225D7745A36B41CC033CE571BECDD0F4FEE9B66E93A46C6B8D1E0F13EF0968BBE1688711E840E59EB2D206E8081CF63864EC6DF9EC74CE8901E83006E0773398E0A8B478762420C38B6882B87E510BF317DD7BF431877E0B0D30A423295E60A499877D6F97B96189F78AFAB67BD1F8BE7160A8EBB121E3B644DA42FDFA9D74E2D4C5D97D50D42665532F6D48B1BE888F10B6351FF90ECA262FAD5710238423E2C65C368A66C500D9EC896B6F0CFE2D2A78164459B47F99FE5C326B1976DD4C831E37CBF3E1E84D7D06E8BDE5B37D2AEA4C2CC9DA533C691381002D64892253FD621AB71C0C3DD29B86DB5CE343693B9A179E3A440B56307A41AA490F4C90F82F2D9D606BB080CB83E1327D6A3647E178CC9B52D51D41324A54D59B77C68558056C526E882444A0793F0BB7E99F840FD07B9169178E944F26233E551266FAA3C4C91D15D20B36726EFEC0FC891B869E8F713709F199362728F3A8BBCE94EF1ABF8ABED79B06266361DFE185A50E398B60B6F0C9C3BF0973E328188F7E0599F84EAA521CA5144E2E566BF43D62A65469DD7169390B7BFA2BB1A7FF61643AD89D517987B60E22CE0B87F5FB9DE55425416A0088BB129C5EE14E456BF418069C1E866182AC5F8F8131549C7310BBEE7AF279C76AE35C4C42AF94CBA06D6299EE14C2BAC843E8580AD188F04D35651D869FAAFAD8704C4B69E83B0F04F7AE0FC80870FE1CA4C185E9A481DA98AE82B0356A92CDC55C34BAE48CE84A44766FA1CDEE3D30F2A02CAE5DA9D2BE56359817DAB6FDA09C30AC7168CEDA3E16B397FA7D347AE0A327D6E81367067870928C43AA302D4A71CBFC10B891B5CFF5F03769BB18F0F34A36570A7AAD6C888DC5D8BF44029312F4DF18024FF05BF36FB7B1C4AE83989C847ABB2A797703D081D6A39C1FA752127D190085721CE6301726CB2B5214BE91716D7AEFFE9187FC904C962F19DC51843E375BE486C410B840706D2C0D09725E7CE0F370E4382D954D5DCE5388308EBDBD060B50B7CB6563363211B3913FCBF044B8FDF453528059DF048C7E9D61143B8FD26D3EA1A1C36A8D4D0723C06CEC6F6843593B31269DBFA2B6EC2FEE3A12EFBE3A004EBEB82329F13976F7307EDBBE91F63D7141109F90D97D44CAFD09C412BFD07F26F8129FF13780C3399D4D7CC2B35B7783E6FE1B1238277E41943AF2404E84E5DF6D311386232FF1DBD3F03BD3119FD29178A77382B8CE8E829AB8542E9FC22421B0A56C2124CD897EF18A0480023103DAE8CDBE8939FB4884B4F30A75066F559D38C466E64740DB97313B70E2EC53CE8D612B6BF8C60E58862F62190BB745592518BC1A12E4FB20004E2D63EB78982D36C6B2F7332C4649460E22C2B6E7CB11F038BA0A449A2BC33195564E4BA134C0695DB9611C0923CF4E394FBA7045BD79394CD573C0788A310E9D7607A6DFA3E99C0477391E06809251851DB1CBC1361EB89381F3853D22FAA5853E859BF6E2836BC7BB91F4BC637AA845D8885C8E958B3EC7CE81A8BE0583F2219E3277076848C15EDB6B8C93D47DF87EE9DDB099EDC6A93560DEC16E38DEBF0CF7300E5B7E05DF9180B78FE1E65BF27007F2DBA190560DC7D49589B4D9FEA2031F85729F02531F2AE725E6DAA7A731E42F93F8AE445C474FA331181AE63C3FE223E3BC3135FA7985263E21057BFA3D09E4945F0C3F1AD3CEC885F86D8BD91D588A7D3C19F1A92E68F363E1FFFF1AD28E53EA4E03980925540B098CC7CAD3CBDA6676988D411CA835D10754E283FC3809341FE253CDA4F095478C4AF4F8F7644CF07D877CBD2556E786773080FD45F40A2035C01D49EF50221E228B1C7DA01C578830FA00B966814EEA039BD7154DB5912635263524BA98D5E0E331974EFF205D37F49E45E612F6A3F4A9BD2930EDFB4FB4D7CB5E28188BB15F912D85E0231BCCA9A8E364390D08F61636AACE90E1B9841D0FA4903E127937A8F9C5D598B91C9A80773080B0F9A50960E2171FF3EE3E3DF5C98970A17FAB6F11075ACC5A8826538720AA3CE4E7A0991AABB6E7D840106066EA54DE58A4EF0269310F84F2C7C39BDC13C2668D691E00053083B1B745275736C646A26C9F052A6E8623FCA7415E79B3723ADF1282CF22182BEEC6079D3CC42CF3E204CC61002C710E85E2704402D8F1CBB56BDDE34507BC002FCEEA9E195D8006F2B84079AAB26C3F11EB492207204B7080238C8DD203CABE8FA16D0ECCD47FC4FBB752340D073F82CE708A0C4F177644B8BF467E1DB3AD471D024885C04F61DAB269FA9B1238EF206D7281307D4029083E0D0998C30058DF3E260148FCD21842BEF18970A17FB1B4DB08E28F48550F98F4D4EA0653F1914F96877A309C3C94E56210FC19A31F3BBAEC54765DD938F673CC39681AB5452947305AF4CAFAC1DD45DE750D94003CF6073E7DE4C2D0CE4F63F1CAC70C2CA7CC31AC71BFB20F4EECC17018005CD94F2E1E4278B50C2B54B8A2B1ED34D407CB96FCA8BA40DC1637C8A992869F73A4892A51389BC207EF39B0AA7C1C5B8F86C02293F70143AA52D19BC43744075161F87CCD37D20524AD3CD44DEF10C7AEA8C05EE94C03E0B25D29B02DD68F600E03C05AD9434E805EB2498615224C47BCC31DEB41C85C54293D82A92652C6CEA64D9E524ADF6054637BCB11A8C432CAD9A7321CE14F6418D22AF9E53449C31A53A480372D37434C9B90CCE1C59B36EFD066B9048BF3EF11AC5D0270FEB99C00E1C37C6081826662EE1C8D471F8296A432202E913042FAC510916DDE4AE11016E5B55E987FC8B019DCA8BC0F7A75286EB2E15E28E969300EC90F57F3CB49928561C97B06CBC20A5325D2E3BBAE5B5EABFF77225CA85F722143D97DE5F2C321BB85600E0368BEC78C88D1641B903306197EA9217A2D1ABE4A2993F3B731FBB8FC6F357CB3D084621E46FA89D50DD1214A3E09C04F65DF40CCAE95C0CCB2D83C9A1D24E050F6CE870E7079229CF805B3A415E389B4F2EFC9B7B23E303A29EB174E3AAEBDE8671D94CB0822BCE9C3F8180CF1865C96E8AE3B52D061003D1C5986093FBE77CF03C2F48C7F1EBB640F24D83722207434754A8453B561E99B90987DE8C2B80D7601D35B3BF611DAE9446C7B0E7CC7026F5EA7B70F8029F89DB6BFB2B75A17B30D98F23D82749E99021807AE7770B9CAE1A18324DA62E653A8C99F018488E6506C6E598475BD9C91F4938465D26180A5D3F80620FB373921E4E22CDAC4A1C0F304D002495CB087FC3813A2F17AB7A58FEEF8C1AADA1FE42A312338ADBA3E5621C3E570998ECDA13E7BFD6928C0DF1058690E92F35018718F19E3D81ABFB854301AD636ED34C150C94F1D03738DABAA4F753055AA1A328FABACA3AD656CB49A83CF4FC01C06A04088718F376B7B02B1573C6E2EA235EF4486207E377D60DE08E652A6736898255843BF5BAE03EEDF749EDF0E196E096BB60C93C3FC24B61DCADC05F8B3E4B86461E0F15199967C293C593E822F6D8CD231F267A44A03E608E1E0F449A9D2E41B478E3CB00110F34B0FDF6A84238F26801D0CB0A2D6780A8DFC6C2262CFAF389AC5CD657454FA1E58EE6F55B3A347A277FD5A2E0104FA4748372E96E11426AB16E6EA7ED3B411558D6DCA3C5F2EA36C3C7B11B033508762F091D382F86F1821369A9FC2B6CA71E9C258C8BA3EE932BA94194C72E9EEA3DFA498FC83231B62275996BDC457C26A7C0A247EC7B4B08301A8DA90AEFF02E3ED372A0AE268B841AF8653E8B16A5CE61020C4B1D8028F5E1F0F23CE272FBF9E279D7A86F7D1E780388AB1C6B6782389DD745880099E35B051034C703FCA51A409F27F0AABE0B5465F76026E16F82C5D79723C5CD6B02782F94B244D5316B890B6F7FBFFF0FA3CCA65E612C69E852B2DDB4647165D94FCB8718CCE3576C33D0D47BE7C38F9FA4C2809AA9282E545BA28812E63CAA4C1DD9524DEB1DC3C199C3F2C114EFCA2BE27E03CFA4422ECF7EB282D42AB53E3C4E0971A6317A970158259410B18E1675089F70B87D9082879E780194E87FFDE90F2F1AC1FAC8277B80D446A09FE10E7DC20C11E006383BFBC0FCA9FD75CA35F09E9FAAA370624B28532F390D3641A26CB1E24D0D3D8B0321725EB723EB4F1BB74DD9C02970114AE6A8C9E8929CCE3CE58E593001FF3062E67FE6536E7E2EF5E037F0F657A8C2B28EB6BA6E9833271EE20E571D307B8721ECB9A125A5F96458C016ED126C5172CB8DB876209885F2E57826F5B8C13464F27AF297855FF3BAEB27B404E93EF957934CFDFBC363619BE9B75C0C157570313AEC7F17C1550A8157B8F4702249023376E449C830FF01395D090C50F85653583E31EC9F80045DBBC55267E7B7D1C1B3932F3EC4143D285D0331278BA7E7BB5C56237B9C24579A5453438D03CEB477C0CA57F2F2FD327245CE670DCCC6380297A052ED1F9692EC8D2708AF6FFF1A6B5E61BC0E1EEE4C4E76B40FC6A3FE253BD8AC87223E3286C71F18C4F8FDB930CF60314F224F6013424F36323DD01C3C76B40D2531F022BE034390AE2094362660F7D383C885FC1EF71EE1C608C7838C27E10E45D80EEF2E577B263C46DB602E256B56232FEA1AEE99564C872E7F3DB5348BD13FE1687B8D3A57AA71EBFF1037302D24C477BA63486A14D1681092F4AE55EE62B011208D0F62D5D3386A220C598924843440531CEB2E3F6EBE0C85524EAE41335E3C2BE5D213E365484345CAB9A05F1A94E4AAF85F8958AE10A5EB1B1385CD88BF0543746FFC5B20566162AF151FD0623A28F9189EFA0C5D99F65F4D0B9FAD17D8A325C0E93DD00ED7B134E395D8FB67C2415F1D1463BC158D7E0F4B309A9884F75787AA45CA93B0CD7E7F190FDBF07C2BE8613775A30CCD798832ED078E8719BDBDF93EF0AA4B450C07ED7545B76853B5F36EFD848F247E073A99287F309CDB5C642051E1000EEF283A0BCBD84BAF7578AC465949ACE2A9BAE2FFB5089DB0DC0AD63EF837106BAE331FB988B25E1ABDC307AA78335DAE2B1D3D1C370E934F926A49FED80F02F8442C624DC85B85E2ECF2F9C31035066726BB2B79AD380CCD5D003BAF915A8C0E85A38013B93FBC97017AD3B8BFCEE9CA065991F008F7D3C71D8A1D47D2F6350BED7B479CADC1D6817FB8EC5D4C726C2B7C2845DEDDEF4EA5746555D7426AEA5B9D11307C6E933C03880F405B2B7B49AB153D1C3CF46673B094457347A4FDEDD01F4FA0F40CCDF604885AE91F9937208908BA1A958D30CA316068343D187E7400CC37F2FCD23131FC931E2AFB0B5181DA4901503BA6B22E3104AFA8D1BE6BC63CBF68E6FA2B728F03C01746023C4FE3214A3121F17388200E3D2119F5008E9A2C30AD78112A4C9C6B5B147604B786357D4DC44EEE5689BF199109F7408D0E292DE03F441D9129FEACF990094994EFAB2A3E664680197815BFB102CBB075A3167AF02895730B2BFA2750BBF96CDFA382944A405430A1CE9A9177A020E7D1E99AF876DA2CC8A59E631D87BFB3C88E2ACA127E0EDBFFC1B1C353B0ECEAA2F7BE1FE21ACADF4B3ACE84B68AF43FC536406C530FB2A4E25B96750CFC8826CAEA1954BCF8B0112859149F3FD2DE699D8E24D637A65029EF52F088745B88FE113FA365EDE86787A3B14666FF7DF57FF20D947D29675DAB5AC8E8F7C6DF7BDF5A3F375B4ACAA8B8D861EF33444B272D40B7AFD762C198E6D9EAEBF2A7F2B8DDF313B3EC8B6C410F4D22198AA1D89C61E02C2F794D3661C6EBF7FF871ACDBDC1D942F41200CE0FE00E270DB32B17B95DD889E59E68ECBFD1D7BEEB9D80CC6680163B4E000C6CF04B75B3082D0F1EE2D10CD17C1AC76895C3E08D4080B638D0CCF34BCDB20462B7B301ECA0F87AF01AF01717721FE40302029C70762899BCE073A08308FC14BCE9D7198B6E2096C58E16C81B6AFFE4C621937E3FC691206CE00541F7ACDC936B39E4F5377B0D1E010F452E97B8871383476B1098A076EEFD65AA180ED42223A0AB6154A752BB63B6065AEFD443028ABE57040C1A9A1BC1CF9068388C7A965068BB65F69A89B166B96E277717979E469F7F9817EE9F381799C20F229C89D17BDF37234A6F7D1D806F48E5F834C63D15BAA110F4532C047213E950D720A31C6A905F860E753E2950278C00ECEAF0B592709F1920BE6E42AFC3F18D75BB49076011F165E5DAC4DAF528FC9FF23C9602198B90E0DE899FAE1B083EB70D8C19C440D8E021937876343CA0834F77020F243E4F111B5891CFF777ED1B3BF02B13FC4DAC009EEAF021CF76BEB3D9B6FE0DBDCF042BE072F01E0E800827A888F8FDDA187F43FBA3F64F7D2EF9380D11F733686AC3607A0671E858E497EFAB4C9F1484C350FEA0C31ECC635D77710340A39F221BE690DBC2FD760AC591312C61AB2CB93E2FCEE16F32B7C5B8772499D46B34DCCFD737345CB05CFC025008E4C5907E9D9CF830CEED8A56B563DB00C03E4986A7F691E026D1AA785B343B139F430341495DF07E3786F487E58E4323396645865C6C988B1917823187E13888D83AF715A0A4E08A753C2C391F027155359CBCC147B2A61DAC5F2ADF8B1A742CEFF044BA66AE1F4240A2E10A80470167D84DD4F462F2CB4076458A6E1DD0747BC87F4F4A73C68403E6616EB61E3EE0011D37ADA21AB8BB0184ECCF0D9D625602D0BC19207250F05D151B0A4F0F5C0FEA163413CFFE1876BFF13D6D86F61CEDCEE288D827D1B16E1CDE132B6299D9D7DE934055D0F003AD10B605E2F0388D4BBA33C050410089401301F3F5BC589AF0D6ACEAA960D4B1669FF8C7DB5FBCF4982C5A8651B7799AF43BCFE8B270FC7EE67A1CD4DF81D627D835CD36641627986AC3D79B43BC7D444AE4DD58BF7A4CDFE2DCCD9CB708EF53E9C0D187797D8AB10A66C6F45ED21D85A827B408BB3E4D2B0E8F3B00C2B74D839922E848B96308796EB82C498434E1C5894790C4E2FE4A3A0109F94319C7F7445F30CFD578522BE83D7F0C8DB60E15D1E1C21D1766E8F1FEB81153010180338DABF6087CBB8C292F7940C2B46988EB181823353AD4BE8B0CAD1522EADA9FB3CF089E4DA78F9CC5F9F847983DAA77AEA4DAAB6660FCDBBF00C0B088C0170B68FEAA38F95B9623968F87D6F538D3E0B16B4254A9C48A23472F64924C28617735734A48D6246C6A0F6DD630068E423E48686468C9ED6790FE907706899081B444B5A2C70B0220B19C7169D6135A6300086A5EF1E03601947459A732CD274EE63D9B1FED846967CBA0B26C1B4ED269C81745A310D3089568102023D40790EA613C915680100E1A0CA04D7F693CBC2DE2BBF8F939315244CF603EB73F3264CDFA680FA8AA2D751A960316C3D5B525065AFA332F5A5BC9BBEEEDBED260CD05E6F9F36DB3C18A97DA7BE6A29B94302D101A8B18182E228B15724F24EEEA8E59EB3A2D13C3EFE39FC0484C0F130AA96EF2D99F629DACFD02AA6175E9C50FB72B5508628DBD4FA1603834018C0DE1255FD04B1765D8C63E5DC8D442E6B749C3CCE8559A5D8003A123A76838ED0EE975ED803F92CCDBFE588A28439EE1A941F0D076714E1098401E8E22519573876EC9061850CE3CE8173E3DBC8E1D29E92ACD763286809D921B2556C50711183E14AF638AD49A8718585002F8501E008FADD91008CEB71B98960E0C2B856F887BC74B1FEF03778232D8039F78064356246B2A04B57E3E81537869FC209E4E36124FA564E0B8BE0581C56357F66067B0DE5BC798505F9374A8F60DF1D090093A67480037D0CEF455BB9A4CF0A2C48670A3AAEE1365B03C28D4E5630EC001B311D3C03B76D9E9F70AC585E63BC0D9D6B8263F19332626167E2D286E87D9022C9670E529EBC837E9B5539A3F58A823F810C01FB1EEA5C16D1EAC1160DB8F91373A0071640E0C446F13D1AE72DD3A465D64B93897BAA0A049E1FEA6A0C825BD83372D5CD33224BB018A3F8E23BE950AE735CBE9CA94061309DDF705994A1281006207F76A856CA691A22CECE0EAACD484BA76B6B4CDBFCD419E753F91B720E5D207412087F492A2F6332F772AEFDD61747DC95405BB97CE30206C2AB586580A40B54C1561E0803104AE86DAA450B375A381B3872C499C4302DDC60DD7C8165991FC183E62AC0921A4880C376987CA60CEAA91F851EBE34936A9BB0DA4792C22F2DDD0D88BA1BFCE28284F9E94B188014C53AC83A136505C600D81B707FA2D08E5F3A1DD38E3E422ED21DB00C5ED0DB0FA77B0BF007A25B2B40F47353897AB01F6C7DFC4FE5863E0057B6DD9ECC85DCAF6A105FE0CA999F41497CD82F1EF54E8792F97BDA83E0171F040C8CE6B3C1D46B180AA21EBF32025574FCAF5123E9C0D6E3DA97594C8B2C94CDAD68603E6A36EB8B1E7E3488301AE1711813FBFB21ABC0403CC016616FDD4C3A115389CF02B07B9309AEA115E7F96503A33CD3BB8B7E7EAADBCFFCF26502C376B17AB8A7D6B8D312434271FDA91B5688F7401980CEF1858FFE6A346292FD00D453C546B004DD031C8298EB0E45EEFB3083666D80218284C3FCC6200F5976FC129BCD4781BFAFEE02A2AC866FE3BFA6BB19345B429184C14C66B23B1FEAAA0303FCC60D2BC47B60430021B7BC46FF1FEC94B93A39A2106B345717E20434F2D0766B5D36C487F304AE888B44F81028786704497C07FF513C1EAAD0CF47E33FEDF70DC07958D432578DAE837F62800F883F582E0E33947532AC10E140198010C47938F7D13D3990FBB1A010C610F2117AFCD4AE5DF583E85AD6422ED99293C611BD74B2113CE68FBF186832F375B23CFAC7670785F9D9405DC7C9B9C2456280408700F747D0218EB8EBEF5E8CE983DCF02CDE37A061A07AF10585BAA42A152EA49B38B7A7313BA9440363CEEBDDC5B83A1FBD80DA292EAC955E5CB81D2ED7F74F77E9A3374F6EA1823100A1438D88D3344EC12DD974C1219D82A1AC183A684399C3DA410B3C745761C7EBCA302E995E365D7F070C404A5EA73E742A1AF0BF055FE32F2D71AEB116661764B235DCEF4330CD9C8FB6B9C81D07A2AC5839A3ACDA0D2BD47B41194046DAF11BD4E2876A82C12FCF829938D416D2C29F9677659FE5BB8B57AE2BC8309D8E821D4C8F80097C955530AA8569F01F0C6EDC988D82887B120660F7E2BB6000CF1413C6A95F263C9783FC0EBFB28ACA007E087C5760741A9A6D9283ABF7781737FE501E71E49DB8F988FD8CBBD3D92268E9DADA16FD2B14C02A7719D09D4479443FD0B9F8C9135198408901B2685772D36A8D9A77CB225B2EC2598012FC3E66883FFB9D17E45C8E659A4F3A33212933A4C90398E15C2C810B162C31400E4D0B0BE579B804682E1494FDD2658754F81053D7D7A10EB5803120EAED41D0754683F8CA620FE2B7C089F5886C869174F5A78B2F3140BA164A124F47B3C65BCD3B31245C902449D660F826A6BC6C3AEB0233C85062800C1A2955125AAC822DFF56F4E8E353A54B1D07551057C7E1A8B8DB52A70B3EB6C40001B529FC07CEC0F9815360E95437C8A4A80343C40E5C977B41B2EBDD53640D24AAC4008134E39E42DA4F14631331D6E376F054876AE2DC639C1C1A0AE98D38D4F1A33D2514F7ADC400056A6FCC14F8C8DBA287B3181F0A46381C4167C917B3BC2FB120F6E6BE61A3A9D85ED305FAD452B1A51628B540A9054A2D506A81520B945AA0D402A51628B540A9054A2DF0DD6981FF057F75CE6556DB1B630000000049454E44AE426082), +(56,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000018AF494441547801ED5D0B9854C5953E75BBFBF680A2A0204614358E6E226B5C567C64971940DEF808BA0B9F71D75DDD0F5FD18DD1353E8621928F19F0158DEB23316AD6185FC14483AE88E20366F09D2F891A4479FB40505CA380D2F7DEEE5BFB57CF744FDFAAEA9EEEDBB79B9EE6DEEFEBAF6F9D3A75AAEE39A74E9D7A33EAA34FF3027B244FF21928FE04227E1027B61FFE8D7C9FC3882511BF8518ADE78C2D365C7361C71CB6211FFEEE02677DED434F9CC70F73C8BE91139F5E4ED9D30A61F0BBFAF78BB73E7D19FBAC1C5A7D396D9F528031EDCE44D7751742F80303633AA375CC60A776B6C4DF0E8C661F22D46714A069BE3386BBEE52E23C16347FC1844F23D1F8B1CBAE661B83A65DEBF4F2B699B554F0B1D7F3FD2995FA6D25842FBE93130D4EA5EC45E7DD19BC72D5121F756589EA80B5064BDAD68F51A6C16AB998CD18BB8D19EEF2682ABED28891A3E2744192AEDD3FC5E9EF20ED699CF3B3643CC0BEF5CE27CE7980DF2EC7D573B8E69B80F1ED7CA8CDED4D1050C4230878F346944DEFB82AFE96075E44A0799E33C965AEB028033CE88C3675CE8E1F04A58251D83D9E9A6F026C724E51844FCC8D18917FF5237C21D68E39B16720E4CB1411731AD6DCEE1CABC0EB1850F30A805ADA2CF39F317A6C794BEC65195E4AB873B679379460B59C8691ABE427E3D453B8F61580F8010AC3197F5581F901707A4D4EC6B9A1E62723D551B8E61500237CFB2AFC666C8D02F30360A4D0C118839A9F1FDA7D244DCD2B808E8F8CB8AB83970A83071C089D52F3AD25FC3EA900B5C4C0BE5E965001FABA04CB2C7FA8006532B0AF270F15A0AF4BB0CCF2F7050548C8DF88AEDA3E32CC4F9873A6D231F84E3FB4FA6A9ADA57004E1F29CCE5EE310ACC0F80E9E8B0CD7E48F5D53435AF0028E02A85B99CA64FFD6FBE97022F01307A7EE2082276BC9C449B9F8C5447E19A57002CDF7A5CE637666A0EDCB1CDBE057304BE26B3A03C7172D9AF903EEEA5CDEC3D06984BBCB0FA0EF9626035592284DCD466FF09B3F647CBF9624EE0B948247E011672AC95E3F285C7B6D927A488DF03BA47CA385826767FE79CB832552CE3D553B8E6154030BBA9DD99CCDD54FE9A89695C7CC84AE262E1A7FEE18CF7433C9488AB8E1F926062C88A44CC6FEC6EAB82FA8402089136B7D9B7B8DCFDBE5EBCE5430D326675CC31EF299F52DFA250F33E40869D438F885D867ABA30130EF4DF60737747E10B1EF6190B200A9BF607E6DB2D58AF334775E00446890F637F458A8B56B4C61F2A3165DDA0F72905C8707DEC027E482A65B5407F4F8722943E7DCBE83DC6D9833C6ADEB0E2EAB4126448EF76FF051560E2755F1E60394623196CA0C1597FCE5379F1991171208C2F78846D199A30DF7D642EB32BCDCD190B7964EB6A6724E6F00F4267613F740FF33769063906773FC63AC2F52F5C155F59E9B2F515FA8A40E7629CF5F976E72C30B50502C560899F877D458C3F6452FC9AE75BD9263F14C234D5E1804701265EC70F48D8F6A310BE3242E6AB388CED3418BBA063B6799FAFF461A28A7320AB0068571B93496B39720C7C4D1C94604E476BBCADE25F1366503207D20A20C6D5B76FB35F859BFD8D9229149900FBEFBE8B35F70F17895E14DA8C9B78BFCF12F6A18E6B0C642CB50737225985960918C994CB22C67687DCBF1EB96F7CC32FCE67793791C869EB399C6618865A6FE6DCFD81F64331CA066FFB3520AEE1681BB438026860C326676296EE682892B27F0FC3AC9FF7DFC33C2C889DB828EF7128CA5C740727E2BFE4DD4D18F5FB12E57C9447CCB9E805AC17C5DF5D1F36E15A3E3CE1D8581DCB4D0F13D07E63F1654BC7ECF82D60587EC17B12118DBBD61AE124E95E28C128294A0CB75EDFD91ABF5286171B167BF7DEFED4BA154B39CF2F364D613C6C2D33786BE7EC861B0AE3D56FAC6127AD998AF0F1BD86C1CFE86C6DF86929C2176C125DAC017B99A3613594AE166AEBBFA06791D74C1762B330F7AB3EB19606277C911B37B1BEF8FAA6B6C45D85F2AEE73803EBA24F923F1042FF4D474B83320D2BE3E50B3FF57D6681C67F28F1D87A356EBEA3CCEA29781AC0962FED5FC20C8DD144950D42D336ABA94D0C2CED7E4F14D5F130D9BE639AD5B7F0332CEC6C355F1BDD96F8185EC3D00C4CFCA7186FC4DF9F7361BDBD37B75B335D979FA1C3836F21968CBD01BBB212630F791D3B8CFCF5079E50BE11B042DE8DA6004209E6A1F95AB4BB0D1245B1F3667F7C3E5890F344E94F3921DFAF50AE3F83F2640F0157E457FC2346FB36AFB6E6EB53B0FB227B9A972CBB947DAE8F57A162183999B27E894F1EE78DE546D261229FEF78E1BB36C457D000671B3542C11BD1FC897F9C85444299B781B7AB309BF37CBFA9B4D16F29A33A8FDDE4A6F0920378D80E45B998ABF4100A65B475F5572389470E9371FC3A9462BE1F16607C53BBFD24BE7DAA872EA393C6DEC8072FBB9C7DEA815738C03B6990B303C225089953239AE5F43F84DB98F8222DF01E364A7515958C279EA4659128B5C626D34BA516B5E42E54A919948B9F62B12679271884BF7ACFBDCC1FF9A58DF4FCC4367E2E0E9B7A078EE99E193AA26948261CA114BFCEC082FAE78B6948324287A3A9392C859A0CBA3D42DE46DA452AB261D69505F4A003342E95A21589A7E88EF814BA044D784A87AB83D5BC028009C3D582B3FF158EA60A2F1E22E628E0A3BC02FA13725331CE0FCF0D97F36E2FA61320A0F35169C724381D4ABAF54A528DF69B5F5A11385D643D4507F19534838DA0A226E3F2CF9EF92D49E0E9F8108524E3C1F8289CA97418FF9A925F8900FE341D04B3BC1447D2BC0C737E36647C6889247CA343114EB536D2B5C512A8790B80114AF80CC2CAF53CB0E0DB7A42FEDF602AB781619E07C314DE01314F6CEF0167316A7B8A1E05A6DEACF74E42C140392D58AAF5608358FC2AFEA328F76070E564FCEF2127C0275DEA2CA1C76253A8538E93C350000625F59EB0E93A5492A32613CD86B94A0785467EF5F9C0E48F44E3FB388455F29E05085938DEEBF113425E0321AF8370D736C4109E401F225EE11B7F81065B095A80C1AC593247E167B402E6ED81C9480847D177DE8A027BFAEAC988350271EB34F82581B0127704684B0FDB2A01EA2208272F6E71FA0D3E37AFF085C5C1C7AE15824DD766FC4723F801C6A6D0E65219C1C6D1A7A0755E027923ED59B9E9019FC497D2703691DECF85CBEFC2027C000BE0510037653403F17119B99430BCEC6136B734DD3703F9D5DF038FEBBF207CC58114351BC2B8D588D203F1C9F497A0BF1CF43904FD9F964333918F5084ECE3A4D223A7BFCE02342FC2097C5686A38DBD584CEAC8F052C236D93F53F019DBBE5F633498F37D14E2BB0E00C68B21F50B951230DA6A301AD7EF24BABA12C2CFE4875AFE052CED939970E6DFE5747CE63DDF3FD66AB047E448F487E3C924FFBD987695E37A0B9F7227EFDFD49EB8037A798A8C8B39C5458FCCACFC5A4139DF4A87934FD33F420007CAF9A0769D674EA5D7657885C22F2A7431A8A4C0244014C7A5FD1113218B2074CF1028B4BA1196E0A5D1F3ACDF61CAF4150C41AE810095163D430F63ED03E1411FF3F9566B3AD22ADD1E713A77D4E46D19FC7AFA87C375B4FC3D30CD6F43F88B6478C5C206FC0AC54D2C42014481B025EA729C953B164AB0776E01C5C818C233E16562CAB86734321727F3DEA51BD08FBC2A4237BC7065C3BB19FCBAFAE7F475F97B5009DE10EDB30CAF54189573AD26B383D15388C2594CE6CB57F8002436576231F019A296E6432C0BCED813E35BCDD6B268D47262A69E518CEE6E206315C57EB6399036C80A07258C5A161D5288465A0104C28A39B12586614C42AFE0B342094A8D43A1EE3E7288F94F7399186FA8CF278FB0D511CC0A7E3EFB07DA090BF0A1268B827E40560144C2E5B3632FF433CDA3D047BD07CE61D1130A9A4C4182AD028DE95855746EDD2FC0E4B441E18198BEADF2239A0125CBAE8927059C0144332F99FFA557B28FF03E0B7B047E94709C53E10734A1291B06CBB00F1C41287BDE472CCCD80C845511329E183B3BFA523DD7FA5C2E300CE668E6DF14BF20374D45DEC550B1B2CEA1B0222A0A902958B722FC1C61F12BF95956BF2DBEC20B8C9BAF95CD25DADF3DF912FA9A9F113E25832201A87CEB1447B097AEA0A70928329F104DE20084FC1998AFAC4A82475DDD6640D704F4D214850A2009D36F508C93C86993A9EA2A40BA29920B81311958A3BC72CEDB04E4D2811FC0663E929F480677E10C1CBD84D1A34C78B7FAEFAA7DC77ABEB997DAE7C10D20108BD3BAD4575E4210869958925E54B3D11BD315D22A0016629A5BD6386792CB4F83663761A470902EB10C6B6A6376D33CEB5DB88A4F7083FF6A454BC36A19A76EC35D0E98F7F37A697FBDC8E58730E0B363E793B405943C0B6FD115174DD1465D0E8A6918D3669DB665B5F52EAE68FB1F8CEE9D8A31FDA284DF451C1B2D881F058BD1C2526CE5E8F6C4CFCB3DCF4F57E85A8461C854E9827533BEBAC5ED5A34E2CDB3405394550061E6517BE7A7387F146DC6215E0AA587A008518C4D9F8FF3FC5E1EBD807FBD740A7D2B85B6FDC59E8B6A7F8551A223985580E6767B2E847675D00586621DC952D6B362B975D0B46B891EDA52C502A022ED2D56ED54B59C3A0B50A0294A2BC0E879CE14380B732A555030E2D054C27AA052F46B812E9B4C9FC0E4631F84F7717656B72780DC1545844F267C00ED13153B6FB6ACB67F229A0019031FB48191F1636C147D7548A3B966C48CFCB35B2FDF4C03133B93C7E02CBF3341EB6C9916946052F3FCC434EC395C2CC7D55158740547E67E0FB82A98FF4A2EAC92EFE9A62829E580D94AF01F1D34557ED14F565BB8499394635381FE586490F96FCB2E12BB7BBA1E65E54826A2EB5F4C222D15BF316D89475DCEC45133B08C3D8FEBD20F11AA670510B5CFA300F8E6BCB5AF8733C1BDC54C740525058075EF47CFA74F7ED924E764A4884D978130051F3644CD7372852FE3140A2F6F6D78026667BE8C83A984A6F1F37D1CEB2613AAD1306ABB5000EF53C0FC7A118309A12B28462495AD6D494BAF8806866DBE2D67CD0CFAE9B357B12F647829E1C8307301AC88939B064D43C4E6C951B9B03A7B5FA77C4F01074CC10D0AA051C4641E45144EA0B21386B3C81FCA2DCBB273580296E42D990E77351741CA487D348CADD6BBDC02A459A72B479EA608DD469CED233D3137BA5102F90AC2B750E8E0A66F253F5FC46B305134AE51004EFB62D9B667A95DA58B6E88F581D2936F502A3B0E908B8F35EC818CE7EBBCCEDC7CEAEEFD44FA08566FA7FC5D8EADEE179071020DEB2C409EA648AB008116663722D6ADF08A1F808D7755ED0940099532400CDA51C950018256508D03862CAAAA00B17E6A1300933E803FEBDD02283E3D5480A015403312871D3A555500B16710D648E9C5256DB51CA10204AD00356001D29FA4F103BA47253D5F1C2A80871DE507606A150F1C2E75552D80F80ADDA054F7D1349E8F0C15C0C38EF2030DA6460188866256307B1651F9B91445415544CD6050A80045F1B204A413E90378E1CAF93C8EA5F7C24BA05C1A6A914D51A800A5B1B5576C385F6207D47A199117589523E306118E6A9A220CFB2B5DC1500182E0B64C4357FB34E6574E166438DAA03645F04F06A12BE8B96329548020B9DE434B697F751E780F7AF06FE80A6E8135FA52A68C93DC3D5620540099434184355DB05DD113409EAA224A4D51A80041085CA6A1998C81F9AD7A57106B321405909787850A200B2F88308E7893C9A067300C5DC106195EE1B0A200F2A864A8001590403C4E1BD1FE2673498B35797695BB82C8535180D002E44AA542EF70C084F0DFD390AF6E33A0698A50264F19420BA091524020A5F6E1AC250FF303CA272F99069D05E03404875A660FB30C15202FFBCA8CD0396052ED2B3387DE934FA54D688AC4C11D9EC7C9599F102A8087350106F4B5AFAA1600C247E743332A99A388A1020428730F299D02547934B0BB3C4A5384C1EAAC22860AE0915A700116D578E03C7D994359C7D1975CC25E9AA250014AE6687109CC94D856E73DBB13F63862BD4F87164721202C8D25CA1D0B081520203ECB64D834C2E9F1F4810C97FBE14A7CD0008D02A00CD9F98050018266780E3D38616AFBAB9992CD4912F82BEE3FF950268A69E1411958A800194E54E25F57FBAABC3C0CE7B38A3B06BD0FEB19920E15C0CB9A60433A0B90D3050B36333D350C3E0D9763D034897384D24FA800194E54E01F4EA0AE09C876C12A90A54212DBD37F200351AEB733B05001329CA8C4BF3842567E18CEEDCB198A95A3830CE3EABA8B40AF5943735106162A40861315F8370FA4D5F2502C66E8A20EA3D32A905D96A4B82C0A1749DD0C537F5B16D8FD82DABF33DE8F1ECAC0A39997F03F780E88DB3B2108713CCCD85CEAE8875F86B501BFC3AC61F6F495DCF862DFC5AE6307A37ADD0B4E45D74EDC3BFCB7B8406A94987ED6D18142B621DFEC0112A102E8B814240C57C981DCD85C9210CEB7AC9DF45B340533315E50F06209B18813B77F75091943C9E92367C490327A13095B7F02196A7EBEE725F360BA31373254805C6E54E03DDE9FEE4D7C457341DA73351F9460B28535033B17D3EDB859EC2F10DA36B4C743D2BB77BAE60C1AD15F6F4C58D4739E4246B299FF12CA8B9AFF667C009D2CDF291C2A40094CF4830A739BB016D30530FB8FC9E921C781A8C9B311977E521984EEB00F39672878FEA158F79A11BA9835A9AB8411173E95E6407C1AFD1E795C5BE97C72E90BE713BFC722513A217E129D83730C9525E2023FB400B95CABE0BBB83C129660076AF5BC7C0E9A9FEC85570F776F7D7A09B81878C2E86384D15BD183E975D9DCEBE8870AA0E34A8560B004EDB860FA3997D1ED5082BF2F361BD4E41DDD0216AB8DBBEE1EC67ABFF492AFAE553FBE5B8B50018A95424078E6B474B7F018FB693A1E1EFD4C08565C3A7908FE6D48711B6AF386742D8680E104AE8DF6A375F023B243B70115234B2654802C2BAAFB624E267187F22EBF47397402AB2BF79ACB2D54809A1349750B142A4075F95D73B9850A507322A96E814205A82EBF6B2EB7B017B00B4522AE93C1D941C3531C5BB50A5FCBEBAB9438BC3A1135717CED78ED3EC534CD50017CB1D67F220C0045708FDFD958AB772126898EF14FA9F79449A024B1310C134E1F62C4F0C1B841D7895B4E7353864D402E372AFC8EE9DF03134F6120C8A5BB31E85351E17B3E85D38150BC2BAC14ADC5FA8449B971A102E472A382EFE29CDE04A71731CAB7CB2ECC80D20D42FE8BA10453339F1A2A40861315FEB76C7A1059282B742B9CAD421E4A1001F06171B3B9880C7D008545C103448D83093E5147594CDBA2567EA48B2B178693C9F6066DCFB1708226CAB297E5A6AF09FC9E560192056E9B2EA550D036D5C2E08A925268E870B1DC4DA5AB43EC05A62D5F2F69FC44239F7F97D309C1434017C61BE87E4CF6087FAD228FFD141D8B0527F743E8477832E0F45DFE07BAC4C06572FFE7894080BBC9C36598CFB0428731C3E385F6461705FC5CC1E15CA1ABE01403E0EA4D1EE88D29FC288654411C4E63E57878E5D7F49B4AF75652F8224F732AD60518743A14CE53F11018E87C4C471B3AF3C3B97BBC5CE052C3E2D2687CE437E574A8BDCADD75328E27CCD9564F5804382BBB7C699A8C8E936933E6066A8E51F3C4858DFBC9F9E046456589988C1354383E85568296B8D4D2F3F0080D3370CD7B87078A004CC6A54DED5CB94D4CC62B14DEBEDD9A2FAE89F3E2307B5034FA9A17D66BE88F3206987ADA98F9CEB7657829E1A6767B16CAE7358B2080D64FE1472974F3E02A26DE7069401EDC8A8051E395D3CAB16DCCC682D4884613F93EC4AD87FD2A41D33CFB42D4D2EFC95F028BF0ECE357B2ED32BC5038163197C32C4B0CE446CA4DDDDF7CAD7554A1B4F9E29AE7399320FC9B9478469B3A66C75E57E06500BA4DEFFB3209305FECDAA9CA83A568D3A1D907C899B1188EB313405C1BFF0A7C338D59659F41436E76B9F14A341A5D1BED3A095BA6930EA7C819E43858E6C4DC3391D9041D128B444677B6C45ED4C515828D6E4BDC099AE7A938CC867DBD0D57D12D8FA6E22B8D18792EAACCC54FBA767FACC0391A35E12408FFACDCB8CCBB41C6C51D73CCDB33E1A0FED10BB81556EB62851EA3FBC0D3BBA251521444C1F501B093E955C75390F735F86E7997F07B58A778485A01843975536E079440DB2BF091B79204827AA8B3357EA612510460ECF57CFF9465BD858F185C04BA2F1494EFCD6F0E3147FDE27CEF6DA7BE884989AC253402BB77DE44F90D296A9705E1185ED130956E481768794BEC65CED825952B0D7BA35FDC3CD72FFD6557B02D1489FCB37C15AD5F7A723AD4824F2311F33B9510BEC8ABDB0953F6E9C9E5A85618DFBB0ADDCF5B457E598D5CD16ADE81EEF5456A7B5B76B13A59C49CF8CC0F99765D7AB1D4D1742C87C77A32CAA7760B8B25A2C313E7FA46D8986557B38DBAE8A060F1A17439FC81A783A2E79B0EA3CD98793C05DDCFF4F9815905100485121811A3194C0E60B122DB46066B3D72BFF8F8CE164D57CEC71774CC893D13237314CA27365A94F508458719FCD91EFDE3C775B6C4B3FBE5CB225A20311B450E76E59E8C3C6F8222484E6D8184014621DF650D713AB6615ACF61D6691F40974753BB339EF1D4E99CB326B45DC3D041DA4787978181A109627C33BABDEFE0FD71D3883DF25C4B050655BA336C5E608FE4493E03C1099CF1E1E8750C41193D0A9D299BF8170247FC16BCAC4773B7D870CD851D73D8865C9C6ABD6346F06FE0D4CE427E93F13B184EDA5E95C81B02B790CF4790DF8B2C420F344CA125723EFF0F65B1BB5E1AD41A070000000049454E44AE426082), +(57,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000011B8494441547801ED5D09941C4519AEBF7BA667C949D440020A08B241E489D1178524BBD940384440540222288772F850108484EC261ADD23093E8362540EF1401030A84090CB906C76D7030F94874192807800590272E458B67B66BAFCAA373399A9EA999DDDD9E9E9DEA97E6FB7BBFEFABBEAAFBFBEA9E3AFBFAA89D5C0D5F45D3E8EBF9E3A9A73F7432E678712B17771CE0F22461338B1B18CE3BF77511F23BE8331DA8AE01683B3CD8CD8939CACAEEE168F36EAB4B5BBE0A3AE5C6C76477F3DE3349F71761A0A391D156E96534A22DA4C8CAF25C3BCB37351AC07615E4E7A6179775401E0C3D7F3C4AE1DC9B3B9CBBFC0199F5E4125FFC760F4532361ADEA5C40BD15CCA7E2498F0A009C72231FF3DA2BCE15C4F9E59CB3C915D7DAEE0CD00AD800DA4F989958D1B388FE1954BE23994FA401B09473635D5BF27C97B95F8752F61B49C50C2D2D72305658199B64B5775E4A3B87F66E75B9230B8063DBF9BE36B76F431F3FAF3415928BC1DF9FC1BF8119B4194DF8B386E96EA394B53369B03ED364099739E38D244D74193F041D7C3D5A9323D0EF37E2F96D25E541EC050C343EBF6171DD9A92F843C014490034B4278F656EFA3654CC944174B80DCDF4C3A8F887D05F3FD27915BD3208BF128DC1231DB3C2393C9566A772979DCD187F8FC2241190DF2A73FFC4D59DE753BF1415BA60A40030FFE7DCDCBAD9598A5F71332AC228A44D6FC44ED4BEEFA1F1DB579F41E9427CC3A1CF5EE67C80527C29FAFE938BBF4F4FC42CEBE4CE85F47C71BEEAC6460600622E9F7ACD5E83CA6F2AA43254FC536815DAE6B558772D25720BF18D04BDB12D3993F37407F29B53283D28F7798AD3495DD7249E2CC4536D7A240020A6773BB7DBBF469F7CACAFC288DE64445FEA6E8EDF0C10A04E82BB1A5B93C7BBE47E13C6A423FC72853C6F988C4EEC5C6CFDC12FBEDAB4D0034034FBBD9B9CBBD1E49EE6AF2CDA188FB333D75F93D8E81F5F79AA9886BEFEB2F3038C17CEF2CD8DE83523C6E684B125083500C400ACA1CDF931FAFBCFF8291683AD1F4C1993B86CF5956801427035B6F77F1922AFF0B33A42D1BDC41233BB96D0732110352B42A80130BBD5F91663EEE55969731E888C2F762FB656E59042F1B87B867227FA2165EA88B587BF9A6FB7668669765070245D6D6DCE6EB3E717AC7C839AC358F94267DD2DF1476371631E2A5B310809F374EA053B54A00D650B704C1BDFDF61CE9318584D92818841D5B5DD8B130B657AD8C28D1DFD277197EEF3ED0E884E47197E11069943D90224B973835FE5C3DC7A53142A5F546C5773DD035856FE925F250314D7636633C12F2E685AE80020A655FE4616DA38B53EF1C5A015544E7EA29B22837DC7278DFD30AD6DF7A1074E0A1500C4948F937B9DAA05724DD3B810563D478D0B37C59C99B8122DC126454A4E9734B6F2772AF48009A10200CCBC1F47F378B8AC03D876BEB7A139FE7B991E8570E75C4A99C4AF9665452B17E364C3A45DDD2B5400800D4F5114E6FAFF3527251655574DE5E5EEAD0E125B2FA7C2199DDBD8C6DF21D3830C8706009E6D9DF11972E1891B915B6397CB20C23132445790BF3EC1799C93739E1F7F50B4D0008053FA1CB9D0622EBDB715FF994C8F62B8B3C5FA1B5AB3DB65D9D1E59D8BBFAA4DC743010031F8C32ADFE9B272E0A17BC77D0B095EBAA3E3320CE3FB4A49383BA471596AA6420F88100A00F43E939AEDE7CBC74DE3C680F41048360303599F1941DA3D2110017C3209050098EBCE91651376F39E45D65F647AD4C350F8DD3E6528D1ADCDE7CD3249A10000A6440D7239D02B3E2CD34643D860C65A9F72CC100E2F3EF48A936215CFC12703E1E0F1A6C3C6BB6FB2F1A6655B49873E8825DF3C4ECC9DBBF208A32430795AEC77BD9BDC7E80BE2E5324CF26B03DF96E84FF94A10575AF38001AAFED3F94DB4613277E142A19BB7558FD8E37EC7D3205743DDB5E7EE58B384A2402574646A64ADE8535132B9D4F430FEFCBCD279D6687211C78992B028039CB9C19E9143C68C93DDDB5D9FE58D6957FE0B965579E851BD5703C789584424A80C1EB69403E0F00703F170008FC1A3100602A67BDB429F96997F855E9943B5018F5875D6A019F2D95316A7C17DDC8E3FFD866FB58FFF851620999C5B0297546E23961420EA26C651B20C4EE9C47DB931761E7ED1208BCDF48088D19C0FDDD4B12A78C445A614CA3A1D559C9997B4521D950FE1406C14FC30EB201AD61E7983A6BDDC357D2AB85F8CBA197D50234742467AD6D775661ED3EAF392B5D20ECD661CCC91D108977315E78A9F43422C9B9A598D462508831C211E20FCF97EEEA73920DADF683585ABE7DEC78EBDE072F23BBD8FB43891B36001ADAEC053CED2E43750D3A95147D3A0C3DD8A143EB8913F6DCC7B64C9CCCFEB7E662ECC7C7252C812FBFC0C61B3BD95B5D4A4DC5D8E1F5A114226ABCE81987B66348AC19306F67D2A9F023D8DAD0DE7FDDA458E28691B0920EB90B38FE1B7CEC9BB6730BECD76716533CECDEFF62CCB80715BEE6B07D62DD375D4CC962FCB5140767D7F33130FE617965A657B1BFF12BFB4E8BDF50CEEEA7210160F6327E30A59D5FA1F2DF5B507862FF46A3F0B5A9D3E2B7962358C1F4474104563E1B3166BA7077516270751B8F96147FEC00AC0B1D504AABBA470DF404197441778BF5F81E5AE94F250300FEF91F44C53F08E1DEE29B3CB197C4D2ED9469F11BA3E8B9E35BA62A108591AC6F57F2BD6EDADB7B783274FEFE41C5C0CE28B4B81775B7246E1B945762280900F0D23DD061F6631894EC2BBD3F10245A8DBDF117446D6FBC6F594246141ED2299E3C19D3EB4B061B6C63AFC4B7CC59F1AB8732851C1400C27B75C776E7B7C8DC67EF1B1C1C0CD6DCD392581132BD8D3A71D012D09C0E673E06D3AD78AE2F5840781EC5EA1267946A482B0A00313AEFDD6CDF8F4C4F5433148310E3ACAE25F147D4384DA99406449DC0E0765EB153516047D86299D6D18F36D3FF0693A3280066B7F7AF8215F7523511DA1E33D8ACCE96C4DFD5384D0942030D1D7C3277ED9FA35B6EF2CB0F6382AE29F589E3061B8F159CC3638FDB097E952FAC54F8E5CFD795EFA7F6E068DDCDF4726C56E2384CB5BFED972B5AEDC6AD9B9C9BFDE27269BE2DC0FC957CAFAD7DF6DF81AE837399C5332AFF92AE25D6A8F2D491CB18B57043BB7D0E8EAFB90533344B91DDA0C518A315DC84E2DB02F4F63957FB55BE409BAE7C45C5552778D33FA2CFF90A824123ACB61FF58D03510180B7678D3375A10227604DDA27DE5C28214DAFAE067A165B3F85A9FDEB8A149EC731FFFEBCE57CA212078202805DDB9DCBB000B1B7CC8CA6BF2563BB97E374381C1AC0C6D9AF020477C8D2603C30D549D91D325D84F3002096767146DE253223127D7C434BFC5699AEC3E1D3C0B809D6F9382F49999D6117D2C5DEF9C992C8790078B423751CFA7E78F0E45F2637BE0C100CDFBD233F391DAAA006C452B181FA92B380F1C864696A91E9790060DCFDB4CC808ADFDCB924DE29D37538BC1AF08C734458B7C9BF601B38BB69193F28979A05803035621A717C6EA478C6CFFE97324D87C3AF01388F5C851F6F3A5752D10AA4D362297ACF9505C0DC8EE491182C4CDE1335F0649AA401202B2502E1EEE6C45310F35659540CF0CF1DF8B10FC4640190E26EA3CC8C26E3BF1B165981BB2ACB72E8F030354086B219154DFA814DCB5270D11FB8B20040FB2F3626E45DE8141EC823E840A43460CE8C6DC00E8B5765A15DEECECBD0B20000321400906B6CCC30EA7BF43420FC02D08ADFA748CEB90A00FCDA0F92190D839E96693A1C2D0D188C2B6338D8046664C601D91600CE9B8AA9D030F9B66815574B2B6B60623CD129D3E0DCB3D7DCE5EC4041CF0260C031319F35C9E3A3E67086FC92D54EC8731DC73A8E5CE2542AE5EDDEF20020BC4CC41C5166B2D22C6F1E29C7EB706434B04596D430B8B78BCB0380E7BE2DCEDC972EC7484E91483A18410DA07BF7D968E30A37F49C2E808B2F66E65FA63B80927CAA0E454D03B0E66E5764E6940F00980D9F9799601D1E91CD9E72BA3A1CB806EAE41CB129D35BDCDB3308646C93CC048E43649A0E475003A4B6E4981EEE1425C902007600C5E803BBF149112CAE1659D580D292C316E0B98C670110E306CC86F2C5A73575D8DE74418ED1E16868A0693D8F6110A800007BF0378B126401503F39F618C601BBE462A5382BE85028F3EA70F834E0F6A4F0E5D33D07520D4848EEB80971CFCA9B05C0EEEDDBF72B45E0EC1CE12AA6D03521121AE046FA344550E2BF83E7903733C8AB5832F8AD0A33F604AEEB482AE7F82A7C9A104A0D60BF80D282A3D2EFCD089B0700E3E8C4233009FF331399B9BBAEDB2AB62D67C2FA1E0D0D603FC0272029CE1BC8BF0C33714F8692078081E543D57110CC07ECDCEE5C9E7949DFC3AF0131F883948A2B38C6794F752EA2673225C803802076355B77C1ADF8CF1986CC1DEE62ADE24CFF4C58DFC3AD81744FF242ACEFD4CB526246B03297A6000008E1702B5E98CB34F0CC2D97A57F59ED2F5CA872698AAC81C615F6BB31F25F2ED3C5AF1F670AFD3897AE004044C2AD781D5A8135B98CDE334E08E1DCB9B75A071B2BF26882A2811356F2B7F024871790FA593A58FFAE91CF6DF205804875EC18EB3C0C089F957300B2A6A75E757AB0D74C195CC8BC3A1CAC06C447ACFBFAECD5E8AEDF25E70CD7B02EEFDB45524441008893298D389D02A742752589F123FB93F69FC44191527A3A58250D88AEF9F56D4E0F2AFF181F11B625620965D38FE0231FE63C9238BFD64D8BEEC0CF18440E90F5B52963ACEBC2F205EF3CE16B24D0D4969C9D62E9BBB1BEE7738817EAC8348EE96E8EFFD64F1D830240BC84B36D3F8FA67F953F08C00097230C1CBF2A0618721FE397A9A68D8C06769FDBD88655DB4FC2CFAF405D1A17F42CB17E5428C7022FA9EC73DAFB3FEC72BA03530BC579740F37BE8763B03BE226DDB3FE1AEB893D74FD34521AF00E89DA9C9AC559FA2CD4F905F8515AFE69C3A9DFE00BBA5AEABEE91F3F402D1900825DAC0CA65DBEC66F90216782AEE15F6819C406C5E730F77C1167D8BDC8636E6FCCB11C995787FD35E098B6693213332F772A7E7858D1A3F781531C1EF956FF373254DA0EB3FEA7BA5BEA7E9DA114BA0F09002211343B9358DAB9054DCEC70A25AAE955D400666E383AF6D4DD7B03071564C800C8A438A723D99076DD6B0184EC3EB34C9CBE574303D48729DD7563275AD76656FA4A9162D800C824BE7BC1A1C3CFEC98E1D1F7CA6900D63DB8EEF31FD6C5134B7FB3905E1C6A4E6503406428FC0570BAC85CEEBA9F4182A762C6B0F75005D1FC43D0C0C0692D8FE1177F6F8C5BABD72D21C560576A6A230280DCCC0418D62E4F4E6769EF639087E36099C33018C4B1339E1BF238CC55950D28B9EF07F10C87588C51D3F97240A92ECE4F0822FF52F3C0C44E78EEEE4437BB033AFC0F9E373132FE188BC7EFEB5C40BDA5A6538C6FC401502CB3B0C4D90FB28FB96EFEC92740C4E37527B10F8445C6A0E4402BA2AF5AD68006402DD73ECAAE01A00150E31AA8F1E2EB164003A0C63550E3C5D72D8006408D6BA0C68BAF5B000D801AD7408D175FB7001A0035AE811A2FBE6E0134006A5C03355E7CDD026800D4B8066ABCF8620FB97735B4F75F814FC52EC8842B7D87B7CB333D8BEB1A2A9D4F94D29FD3D67F8ACBD94D41CA9C05005CB6C6C1972FB8A36139BD116441A390171CD5F682736D707500A5E83140149051411935002AA8DC2824AD0110855AAAA08C396300351762F400377D3E48ACB216A7B8EE87E0E0FCEDE24C3AD65F03B49199F459FFB8D2A9E4F229185F644F07CBBC591400704A7FA5A7D97A2CC33CDC7B636B7222CE171AEEEB35FD1EFCF677768F401D88135D70A887A24BDD05282AA92D8206406DD5B7525A0D004525B545D000A8ADFA564AAB01A0A8A4B60845670195540536E352FF43ECC44AE651286D6C0C9D2EC761C633A15AF2646459FEDC9D47AE7DE5CC4C30907BD50010A3648CA7BD33840229E8A099E070C56ACB73D4F8352C6800E82E6050648C6E060D80D15DBF83964E036050158D6E86AA8D0170928C38DAF21FA35BBD432B9DCDC788AF79BE7D686F95C75D3500A4782C55F711767879E28FAEB71BDB6F3E03277EDD1564A9741710A4B64398970640082B254891340082D47608F3D2000861A5042952D14120CCB5731B5AED5F952B1027771FEFC8C37213AAC1F73155AA1F893AB053F6183FF51505008E857F0746A5F82BF312E75DEA6B781AE07C12D477DAF05ECE79AB401DE82E204747B5F8A801508BB59E53660D801C65D4E263760C6018F4509AF300B76BD16BB5A8F0A2658EF3BF328705FA8DE6FF039C1AB3155491061E0000000049454E44AE426082), +(58,'image/png','img',0x89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C0000139A27C3C42300001366494441547801EC5D095855D5165E388F98022A8A2838308880888098E8B3E79465696566A4BDA7A696A66969FACCD452D3D42C4D33C95233F33956CEA525840C2A0A220A32C82432084E380BEF5F1B2FEF8A17B8E3B99CEB5DDF075CCE3D67EF7DD6F9CF5E7BAFD1A21844663273C0401CB03003CC409C35372B38600698190806E58019600665AFB97133C0CC18302807CC0033287BCD8D9B0166C680413960069841D96B6E5C2780E5DEB8473B6373E9706201A55FBD4B69576F53C6B5BB82AB7696B5C8BE511D6AD5A816F56ED79806BBD9904D839A668E3F611CD018600F8A8A69FDF14B14147989C2920B88D455D35A10F9B76D4CA3BA36A791DECDA97A351C3093C973402380F14CF5F6CEF3147FF14609636A57A7975CADE859672B72B4AA43B696B5A9057E982E5EBB4359F849BE7C9BF69CBD4C3BF043771E88EF9C5A34A0D583DBD33F30B399C9B439A016C00AEF3EA0913F9FA5ED277304373CEC1BD2A7FD1CA84F872654BB4635B53874E77E11FD9E904FB30EA45074DA7571CD4B9D9BD2FA612E54BF5675B5DA309F243F0E540AB0ECEB77A9CFDA683A9D7E9DAC1AD7A115CFB7A5619ECDC8424B0907094B5B4E65D3C4DF92E872C16D7207580F8EF6A0660D6BC98F7B1A8C982DBE47B0A4581B914527326F507CFE6D71B553933AD4A565031AE36B4B3D1D1B6BCD570D8622E9A915022C3EF72605AC39453910733D315BFDFAAF4E6459473FB3CDD5DBF769D0F7B1148C59AD29C46BF0584F72B2A927E9CD4BD5594CD60D7A6D531CC5015815912B80B6F9755772B76D50D169B2FAAE5C8031005C961EA3ACBC5B341C0BF3EF5F75A15AD5B59CB6CA61C9DD07C5F42644EF666C1A5ADAD4A5B8293E7A0370395D4A7E786DF8457A6B5B3C11EEB575D37A34A15B0BB1B46883998BE90266325E3AAC0CBB48A9393789C0E3B5AF38D368CC68A6402A01C6D3F990F5B1B42B3A875EF16A465B023B1A6CEAE6BE866E3C43DB4E66D360CFA6B47D849BC1FA92FA816DC08B331233178366E1B38EF4412FFB7277CFBC3B5FFC671ACDDC974CC43BF5E1AE3402BB6DB9934A807D19924E93779C277BBC71B153BA5243EC160D49D7B1BB745D1A4919B9B768F990F634A9472B43762749DB9169D7C8F7CB134498F4F78C72A7675DACD4EA9777DCCF05C58873232675211F7B4BB5AEABAA273D06B0BCC27B6433EFA8788BA2A7784BB61EE0758AC7B2E344D08FE5CEF627EBFAF255CAF28ED915CB8BE44B85F4EDABCE34C6AF8546CF5F88D52DE7A89D6D7DF182ABBB53D7A813A94E668743659AB63BB198261F2A7E776782F261493E4F449FDCF7748C41CEF465709AB88F9EAB4E161715697E277C4D00AE655E7C1592AE790355E88A4766B0FC9BF7C96A5E2811DEC0F459FE64F75489D2542AB0A75FB943F69F62F6846EEDF2ECEED4A45E0DA9BAD65B3FAC86B15F18469910F711EF796B2DE2222062FDBE384E76D8FCA4CEE8C613BB3C4919ECF30EA688B766E4E638E5C3927E1EF1539C18038F458EF46762BE18BFDBD2489D86CFB358C72511A2ADBF120B746ACB98179372E79E5F1C1337149A7245F9B0A49FB96F160D5E188B1C69C6DE2431FE390792751EFEC7FB93455B33D1A65CA954440AF1382B98A0ECA27B0B0220A58C3327DF878CA93913E380792AFFD3006A2C3331D96D651485275DA1C3EF74D6D9D6CAB6DF67BE3E497E6D9FA2B0095EB21491A500DB0A9DD7D01F62A95F476BDA3FDADDA837D31FDBF40367F268EB9B6EF4B24753A38E45D3CEADB103671358FAC7DD755EC38A35E9DC50B2865236F7237F4D875225CE2F05D838689BD78466D29217DBD1D49EF6461DDCD22369F4FEAE441ADBBD257DF3B29351C7A269E716D3FE22BA57443717F7A2BA35D5730428AF8F9B778BA8FE74B457AB1A152FEA55DE6955FA7829C00660D6D88F5963F75B1E34504DA5A0A1EE6C775C1E3DBF368606B859D35E2829E544160C0800A31080A80760E842ECC5D260FA11D3001816F8C28D4697ADB52ECC54BE56B145F76C6D4927277B2B7F55E53FDB7C7294F2605FBC0065716B789FE842A910B56D2072D919201B6A233952E90CA6604C0A64BDC2106BAC1B4AB97C8B1C3F0D932563A120A590F305F4DB18777ACED55A2716FE068932089225009E2C47C67BEAD496B12E2E0598626ABFB1A8A7D11D00E52C1A161D4EA50FE1EB3621C08E560CEEA0D373856583560667D0A2416D69DA3F5AEBD496B12E560218643D64FEF5CF7A5203031BB72BBB59367E5B7E88F1601CC5188F9CE87CDE4DEAB0209CA84E0DBA0A6B84B6FE73D76E3FA0466C5581DB54C24C3F6A6F2D4F5FB95280D92D28316F24FCC7F83793004747273C243693A4CFEC26277C89B106FE14479B8E5DA249BD5AD1F217DA6B35FE49BBCED35747D229D0C79636BEE6A2551B55E1A25280F9AF3C496149057464A21705383E65D4B11D81A2B2171496FE080A0985C2526E94C136D52591540CCF94EF008E7F03249AD0BAC82C1AB5F92C59C0A324ED7D1F9DF5699AF4ADEF734B01C64E7F5BA3B269E31B1D29104E86C6A41F318E37309EA1ECEC88F1C89184167EF529E1F6C433D9BC7E8E958A4B168B1FED4F1633175BB70F63612FF7C8AB52802D0F4EA7F71092360A2EBD41439D8DFA4C47FDF71CAD830BB1DC9D0F05C8A0CFE3B52DD5AD4113E07ADE173B427784ED29FCDDD8FF2E06618007D96D1A62956EDD1733D7215831E40E2E065129C092B0386D373F5C440EB15942DBA8215D91C92ED4569F845241C11D4A9AD50DF19675756DD2A8D75B4CFD0BB358917A6380F937B0AB2D2D1CE0286BB1A87CB3A500E3836D16868BC083B819BEE4D2B4BEF279927D8ECB2EA48E9F45509B66F528E5433FC9FA354447EC633F5DF8D823C6A19335F922446FCFB9023A77F926E5201C90A929C2F59CADEAD14067A457E86423DBDD6279FC7B04601FEC4EA42587D2686A6F7B5AF27CBBF2AE31E8F1A9BF25D2B2C3B0453E634F9F3F679C31E8EB062D58D5C2D1ECB049664365D1F409CCCDF108C078F7D3EAA147691EC4A495C47EF197B11E616F047A504419E8BF6523693D6AF5052C6E67F5D10C7AFBD724B1FE7A0981CADB46C873B3A22B4F1E01183736165E15DFC2AB6266DF36341F6B01298943B6161EBC204B2F8AB27CAAFE51081521FB102B8B933FF0210799AF25CBDE9FBAFF3F06B0342CAE5BCF2FF18BBF30DD576783ADBA031186DD4511E28D17EA09C462CA95369EB84423B625403CDEA7BE2ED6740076C927951E03183362FA9E245AFC472AF940E17A148A4E43A75A622F5656F41E4BB952F21CF0D6F78792759F911D1FB505451398787817CCE6A29877BDA89309A502D094272A01760F61EE5DBF3A2EDC77E60C70A08FFB3A68DAAE46E7CF41C69DB9FB53444C2447350BC2C2D80BFAA2133273D7F925368F5EE4686ED810FDF08286C132F224934A80314392E132D3F6F34821B27E84B87ADD40DAFD4DD0DA07FE7846AC55C67BDBD26A881756360AAA5E8D5A36A94D1932B247B686AA278D734C40B11A36D683FC5A372AB99727F477B900637EEC427ACCC1C88083D0230A421EAF511ADAD42AE3691052198DD97216EA5E0BDAF92F377A116936BF0ECDA0097B909F410132281FE17B4CC5F37B54D69CD1BF3F043FB07F7E7F5A8CBDA35D038A9DEA63F431197B0015028C07F72B9CDE5E60A6416C2E446EB08A1278A87B339CE8E3F3BFD26806FCA6383108A7857A1EC1260ADA793A8F866C869851808CBFC079850B7AEAEC86ACE8C3107F110B4967326E88D9EB0FDCD333EDCD191C2B05183F8883F1F9D4EF3BD8D410CCE00537E6F5C39CC9ADB97639AC622FDDA0377E3E47A752AF0905E401F8DCF7756AF2D8F30EBB7095FCD958CC763C050164C933FCAAE4963F3CF52A755B132D5E0A4E1A938A719A49C916591933A261900D442EAF58643AE4D96402227E46FBB6200F2CC4D521BE3E28E222AD848E8D67C34EAD1AD24688DD8AAEE7DC590EF053E3F34B093BCCA3E33CA95B9BAAB5B6F15B114511C9D80563E7B80B49E45E40C08A99340018338BD509CB1052367D2F767CC85FC1E482AC7C23B101F0C5CCE66453BF3450B600792EE2730B290233D57A2CE4CF2AB2FB6177B818B9B2DE0B68A55670AF08DD9A09938B32C8B080DEF19A2B6C7755E3219E466620F7AFA2C4CEB171E3DA940FB390994A38A096882CCB2C568A7E8BCC7DAB8F6595E87BCA9EA0E27F66FC78780ABC855446DA44DB549B1542C537A119574C6600D90A0075C2D3762A7A93F6505FB8E4FC8E503B9EBD36228E33B08B71FDE9A4BDFB8A7BD30A608A26596575F87C3E6D3F9D8BC4B6851403979F3B0F17E6B5010077F8917769599F5E829740EFF64D74CE1023DCBAF3A1C084AD5210D20ACCE86E470B00346391888062750E8CDAD560CC7EF049D5DFED4AC92B9D0026E540157D75597E9CA2384F3F361C8200E47F23F5E6774672927C79C319DA8EACD99CD36315A27FC6FB1B7F4655F0AA2AFC951DC09869CF6247BB0F3A2745610736281BC3B494036376338EFC61B0630C728B80920280B204183346B8559FCAF9BFAE4C4FA625F6A83D0D55CA8E985C8AC2C624060E90A9702362D30F2B846B62C6F4B0AE4BDED8DC24C1DAF17B3C808E5DF52288E96948F26BA64739205B80F16DCCDC0BF79EBF33FE0F321D4C4B5C136013CC541B01DA0BD930F5A84B6C6900F032B1736C81C25F667A9403B20618DF8AAEA6A52BD894FC077E68AB18A80F77A89C2E29D0DD86BA43D7E604A529D760E24CDBFC35AB5F386E9315ABEB00C8848B85251CC5F7AB06B5A371DD5A1A2D9EA1642015FFE6D80BB6FF86439F99947F8B121E561CE9807B6EDBA42EF9413FC976E7B67A0AF4953DC0989DDA989658146E0040C6FC9A48F7D83F1E009902E5F1306C18BCED2CD50209B71195799DBE09CBA42044413102398FC406583AB451C5540C0DEDBFE5717228E032A4A7171614359AE2C433537AB412218CBA04009904C0985F9A989658613C0281AD5C618469180A1E2C430C822D6A5C6A4B9C11E855B8E9886A1D509F9C7AC7AB422B85B6FD687ADD898CEB346E47021D4FB92A2EAD892093B12842D60FE6397E09EC1F66004A836E93F59B0760165C83A267E2A5C315DE0E8DE89B211DA88B5D434DBB16E79B0CC0F86ED4312DDD860582AB98EC83DF168BC2ED30EBE82B929DDB9E8A1971554886886D8C86B3A6B19C0D79D69AF77B0ACD613F3B7C6E8F9CFB5FE025EA0F6055E640CACE08FB01B4C908C049CCC21200EBCC39FD1D68761F07B5667665249A14C0F8C62A322DF5E9D09838D1DEDFC87DEAD0BC1E858CEBACF7C0127EB01C9DB514915135A0788D466E55D766D2860032D0B906D49613D0CFA178D98AE7DA8AB5A1A6797779A667F1CF95F15825C433FD0F282CA1496108930398E2ED51655AF24035B7688832AE7779E82D4F83454D31C826FF5292BC84811C07BFB03A6AD6D5548C5FDBBF5C65A437BC3A8EE225E2C47587512AB16373DD007E06154B7A07458BAA7B4FC395FD0F3852AA0B329305183FA0C74C4B38C64C4F40429146B01B1A92186403D741210C512C559C29F7391C997D7EC6DA9217E95C87535F75D2B93E7B9FB5A7841B3DCF643FA158973A8B7F93061803489896D893036F361B4343E123EF2F91AB4FD6B5BBD4E2B370A1A40D7DB78BC1FB9D7B106BAE7D29E2253AF35ED7D2FC17FA7A9118646ECB8F89996C2E623566AB11AB61F20063E62A62143FC642750E4A414B49EB319BBC89DDA523C4D4F969BE3A1BFCCB1B3BEF16BD971D13EA96D849DE3A8BC5F2FA6187D14ECB51450E8EA0C75189AFB2DDA5C9034C915098BD4C9310E7A9E942B73C46AB7B9CC5962F9C113924CF5019BCB90F9F1527842A62C5CB1DE00C6A5883FB0A28A5DFDD9E2054189113BB542C2AE55AA244DD710F5A1723CAB1AC09CB54F712BD9FB7F554B618438FAFA3F4DE363788C2A7A2FDF68BC28BEF41C76068E23EDAA12F2EF9C37D5744263D839DCB29241764EAA9D9A0165D435A71A97672656737D62B359F1F26D29B47BDDF953AB7D44E6959B65DC5FF9DE1C2C41A7A43CD908A7E94FF2A6A19708C4685B1AB15A14FEEDF4DDE55527F72AE1E0A53E9CA8BC57FA68A377EFCF6785D9B7AE4FAC4DC42D16EED8F428AEF4B307B293AE7BE6AA24F9EC560DF541C7EECEF23D5D61EFB56E6075864300362B36E18FD4EE2734A80D06661985EC7C22F0FDFE3841DFA05AE3A837C077D72DF15955E3459117909066CDBD97F0B6DFADD793D2A5E882ACFFD06FACC0BF1FA73FEA65B505D64CE795A27D71EB6191E4EBC226256779DC9850AA6582F851F34BD7545A188810898DE3DAA93CACB4D16608A44C243E01DB17DA49BCA9B97FAE02B70AFDE76329B362015C31B1A04862803EA1768E88B15EEE24A31A331D37C24B77B8A3AEB8B23C909A18BE790A24A15992CC0C66C3D4741472F9214DB76558C55756C25D2224C445AA7D1FE2D68ED2BCEAA4E11C7D40154D98BAF2C0C30B875A26C9F57E1E5FBD48C60114D558CFE5591C9024C5173722FEC66039CAD54DDBBE4C7F69EBD4C03BF8DA6FE4893A09C9A4A1B40951DBC312AB4A85391C56401A6A81E1739C59BBAB6B22CFB3C8CF27F240CEDBE28F4CEC1CA1FA02627E7FD284FE4953B40F8FF53CDEA2581C8FC994D60F8314685164545968A5225982CC014D5E3F45156AFDC87ADE117C25F0DE5FED8BF4A8044690DA5B22906128308E7D583A36077AC75021C2D619EB114BAB4E67C0C2597D973221836D61E1257680946AA849EB052B08745483915594C16608AEA71FA280CAAF2E16B71B0B48A9CAA6B6B3FF4EEB8F7805A236AC91F0ACCA7DB94008915B3E529898721B71AFB7DAD87E3E40878394849D0E2D348D8595FC586E5E772529E9A0126E113290518CF60354A66272FD403E801B7645F7B4BF284E8D4B43EC1EAA399F4F6D6781A8E2A229BE04223250D07B8D8ED7CF55027E1D0A8AAEFFF010000FFFFDDC1AED300000EF149444154ED5D794055551AFFA16C8AA8B8A218026128B9AFA8B8A72D58368D8D3559CD92D64C8B2629E9388AB6B896136A6558A3A633CEA44D995BA6482A092A20E02EBB0B9B0A2A8828F2E6FBCE137CBE788FC77BF73DEEBDBCF307DC7797EF9C7BCEEF7EE79CEFFCBEEF3868284185A9F57BBFE0D2959BC89C33081D3D5C65F18699541E5F2A9773536764BDD31F9EEECE1697EBC2D53274088F4183264EB8352F180D1B38582CD31401772A34709A73009A92DBB8101E8CF6CDAA7F1707B502ACE7B2C348CABE8E43D3FAA2DF034D4DA933ABDF7328FB1A062C3B829E1D9B22716A5FC9F2EBFEF161A49CBB8EFD6FF546B06F73C9E41A13B43FBD08439727A0BBB73B92DEEE67F85606981AD3A391491A4CDDA3D97EF2926C5E6FDB894BA24C8F51D9A44C4BF66609B963BF4C9652AC515921AB93459E9CB7B1046317957CED95FF9E1415B0FCC039D9BC06978541CF6593329594DDD1B8FC7DBF907D38FBAA94A2AB95C579F07B349AB35FC3791B4BAA05D8D7F1B9A2129E599362ECFD6D7A6DFCDA63A24CEB8EE44A9E6FC47E2D78477C96A8A9A8905C7C954096CD7930C04CF978553B06CBBB7E0B9E340875E4C1EFFC2170B0CDD8D7E05884A7526EE107507AED96D141B14101355CB8754703BF45B1B850508AA54FFB237498770D4F987779697436A67F9F0AAFD68D901E1604E786C62B56B500E3EA7B68711CCEE694E058D8003CECE9665E8D4AF4D499821B08F830163E6D1B23E3DD2089A4DE2FE6E8C5EBE8F58F7880C076E08DDE18ECDBECFE1B2CFC15937115C12B120002D5519AA4F468DFA4668955BA4F850753BF3B2354F9BC1FD3EBFCED16DF1D88FF65F369AB9665CDE11CF1CE0D66EFD31C39774DB2BC5816CBE4AE712DE5616A52B5063B955F822E0BE3E0D4C419D7C81EE6EAD8A0E62FCE0A779493CDC8F3FD83B85C781309EFF4432F2F772BE4724FE48CAD6958B2270B706988DD7FEE8E519D3CEE5D34E368F7992B18FD550A507607D34775C4E2B10F9A2C45D500E35A18F7CF146C492EC0AA099D3139A8BDC91523E58D9B92F2F1EC9A6318420DBDEFAFBDA4146D5016694C846D4913DDD99CD13E9849C0A8ED07567ABB020BA3B230FFA74CD1ED2E1EE78FE9C36B37B6533DC0E2C8B81944C64DEF368D91466331471B59BA2B5B9E07F703C8207938A3085B27F7404897969597ACFE9F66AB78F93FA780F20AB46DE98A154FFA635CD7D670AA6160CE13862DC70AF0C60FA9C8BB7C135469584B1FE84B7D3D6B5D66D5038C6B64C4E747117DFA0AE63EE68BF0477D6B5D49963CB0961AF90F1B4EC08F261967670C808DF18D8CCBA57875F319FC74F2B2F635DC9C30B9671B3C16D0023E2D5CE1DBA291389F71A514BC94B593EAE98BA3F9002D01711A13D80A9F3FD309BE2DB5F78993B5F8532F00C695ECB7E410402A3FE6CDDE18E423EDECCA507DE79049A2FDC258E0663962DEEA63B37CF5CBC35AF47FA49196FC7C0EB16945FA97ABFD1DF46073CC18F6009E268D678989A75E008C6BF0EBF83CBCB4FE38DA50577186169A9BB93A565BB1529DE4460DF92A193B8E5D42E8486F2CA5EE490E89B5D4FA845CC4665D472A69ADD3F49B530069337FD266411DDD31B1B7A7D06E5294B7DE008C2BEB79EAAA365297C50BB451937BA2257517D6480CAEA9DF9F4504690C5FCFC63811DABFD6036C6B94AB2E64D62B8015D334DB7DEE0131DDE686DFFF5A2F78357391B4DE195CD3B7A6E2A3A86CB18A904406CFC0B6756BE495F4056B29AC5E012C3AAD102356933D87C6449C5A51B7B0E9F7811846E30D29D24D9AAD856E49C5A7FBCF8B99574A685F74F534C1DA2D45E6329551AF0016B8F4104E5E28D6368523ADA19593BAA134A14F5B2C7BAA13DA1111D0DC149B7515CFFDEB24B2F26F6845383B226C9817163E61BA51D2DCBCE5FC5CBD0198BEF60A68D704B368F0FD0A699CDBB430CE56EF6983BD30A1471B41503465E6C4DD61FCF96B58157B11AB0F5E0418AF6C8720CBBD488D1C1139AE135E19D04ECE18B06AD9EA0DC0EED35ED4F0517FEA8611FE1E282A2DC7EC9DE958C9DDDA5D5CB4248AF5C41EAD3198CC199DC940EBE9EE82A6AE0DC5E5C21BE5385D5082B8AC6BF82A3E17672E96681B8800FAE953FEF06EEE8AB13499C00DAD1D098D29AF3F6AF3B26A4BCA5478BD00D8AFB417B1004E4DEF7F5F9330DB6143421ED625E62133EF6E3777DF1DD5FF60B3C7EBFDDB9196F2AAE2A5AF2793C88BDF9E269069C77A706980CC1941E84863BEFA96EA05C00C692F438D9D92538CCDB47E9978B11849B925C826ABB6862706D46FBA90F6EBDEAA31FA78B9617CF736420B56679D8F38701E53B6A703A4212B9366D9C8CAC37AF35FF50033457B59ABB5E7EDCA4078F4B97B20737384E6FDA1D6CA4E9672550FB0DA6A2FA95BE9ADEFCE60795CAED634421AD08FEC6F69B426595F92AA015697DA4B174013C97CB121398F0CBC15C23E368A2617BB5FEDA17B8B6A8F550DB0BAD65EBAA82197326C23A6022FB8B3496432515F568D0FD0BD4595C7AA05985CB4972E6A06119FFD209937989F059A2C2C1AED831923BC756F51DDB16A012627EDA58B9A873F3A8C13E49C01C2181A3B61F3739DF14CB7D6BAB7A8EA58950093A3F6D2454DFB0F0E228769326CF127DA502271D47A9AE2A1A32B4421C7AA04985CB5972E265CC967B38C97A838356C80A2F783ADCE51D36666DBBFAA0398DCB5976EF33ABCFBB3A00E8973C47BD72C19AE7B5915C7AA039812B4972E721C42F76ABB4A5A23F768EE822B7306EB5E56FCB1AA00A624ED55899C329A51BA869126E3F11879FBF4A1505347A6F4A9BCACF8FFAA0298D2B457257AF2AEDF86E77B315A1B9973038C27478B6F5E7CB8F2B2A2FFAB06604AD45EBAC8394544C52E14340F37EF889965D810759015550330A56A2F5D901D2456ECA05549DAC571959015650F30668DFE9C5E88C8B81CC413DD59D7CDAA8F57134C22B628DF33F2CB7B5CFB806AF85EBA0D29E7E3EDE4201BB2FE2E615105644559032C997859EC6A76A292476F08194E14D484D7F838E9B055B52794F7F73EC2A2C2C98AB2055824F1DC276F225628C549E848B4E53706B6C7E887B4EEEE0C197620FD89A2BEAC202E7C95A3059D57B2F6D2FD14F4098B4A252BCA1260226807F3DA69DABEE0093F11D1C550786E0EA7BD786F3666ED481753FD308A22B330441D9E3CE144589CB797088BCCA655285951760013A1BE3FA1287D6478DC46B1AD9E30311ACD361ABB8C5D9D2C94401CD991FA7BCB2374B9AE5632E7B88AB0484EC34A242BCA0A606C740C24B6413AF1E0BFA07041936A19CF4B74AB14AEC8BF9D1B8E4DEB07973A0A38670E908C3D534558240B86D2C88AB20218454AC6946FCF62188DB5F6BED6B3D6515D7836399C4235EDA3B159C46F1FC29BC11D8CB59BA2AE551116C9C3449FACC8EF1D977D153B4E5DC1AEB385384BE3D3CBC5B4904E146D4F72260E24279527BBB4205A501B787B481B2AA1A64A940DC078A5C47BC141112539EEEDBE6677719501E73A5014E4AC99036D1E8FABA60AB7E47A15619166CD4C56E468839B93F3319FC265F24E1F35261AD3F247376F8C2F3CC804628B241B80094BFC8A44747DC01D29D4BD999BF86BEEF6F1211C3F5F8C680A3C2255DC0973CB23F5735584451727729F7345F25D60F14CFB7972161EF1A00702E8B8B59B360C4241C92D2491FBDDD6139711792407B8552142901FA0C02F1C80CEDA493600E359E0825D99087FDC1773E90BB32485FF48B3AF9D199835C6071F3CEE678928593EDB6AFE2F1450B88CCAA611A14157904779084522ACCE3F53F7053820DEAB64FAF921A5008DA8EB4CA3B05296C4E3D0956DE85836001B487C758EBE17F57A2FE1CC6AA8C0A69C8F4A2DC4A89589E0287D07498BA92931487A461C413EC54E7DA19FD671C4CDB9A1C9AFC84391C9DF9CC297643F1CD9B9257653DC5853E270989C81DE8DB20198F6ABBC89737307A303F1A22C49E78ACAE03D2F4684672AF8FB204B44C9EA59EEFEF9438CA39DCE9E23AFA40D147AAA26AD55DD0B70905F1E46705C8D8D2F77C5048AD96AAD241B8039CC8816CB3D37160F47235EFAB120DDA071865B18C923EA8B66D1700B24C9EB518E9D31F1EBE3C20C739CBAB79AB6713156FA3D34DB7CE4D344C9B716D4CFD30E30FD1A91E96FEEDA5A1167AC90C65E3F9209670C4589B624B136F4FA909C4F2E955A757308D900CCDE451A878BD82728225ED2B5D669141B6D192DB37D449B674DB3D2E659B2D9CE2F6879BCD80727EAEC1553B7C13178DF1E92C17BEAB04CB5A42977F75D9ABD234DB257DA989827EA897643914CA6BE20D9006CE6F634F1B2E1126C5C357767BA90358B64AA250D88D07E80D1A98592BDD2F1DC62514F7E0B632593A92F48365DA4DDD06ABC8B14CEBA345E4A9B3D107E66EEBAA19F432EF965B623FFCCC6B4A17B096DEC6E8D241B80F120B6232D159DA70D35ED4B45BF6E6A07F63CBA7507C58B86A13676AF5F4BBA7786A362379A1E2D22FE58CB27533600E3D7B62F76DF6B7CFD23879904307208295A3054320F705B987364053029E93A96DA89F41BB8AE7F072C891386D1A3145BD6A49D664D28B02D0CD2B20218D7892EE1702B110E4DDDFE4E977078686A1F118ADC843A56CC2DCFAE3B8E4D14A0F8B3DF05E0B5815E9294DB264B6AFAA37E39FCE62D7BD9CC80D028CD87BB3335E5C48B3694F8DA07BB33C4BD78BB76DBFD1A9229C7F344CB11753264658264C5B3C56C5B761AACF2D35C4D6E6A936851B6D2E9E375E1F4E1011F0FEDBE859985A5E4F451289C3EB279770DE23A453EDB59B59B1E881003BCCF1245AD4E08B57C5B665BD19A640B30069AA96E6B81E41FB9F1854074A3DD3BD49C3E21C6EF5462FC0E24CE570CB14E2C6141D88A98296B803158F84BDB47EC81C8B88B4820E2DC49DEE2975217DA00A13739D84E1AD01E43FD9A5B54D942A002FEF0E6F25D68BFA5D49C12BC17E287D98FF898556AAE535B51CB650F30B36A50C50F1D278798AE9F1C11268BB5A4B5CDD9475BD739C6DAB36D3BC01408C65D14ADFAD12F28860569B4F9E437CA9ACCD4EED2D6B36D3BC01408302EB200D91A8EC771478CC956FCC61FBDBDDC0DBE0D3B282FDA9B85BFEDC810C05C4B644573B49FC10C0C5CB003CC40C528E13477974FAF3B26C664ECA81C4C83FF177AB7A17DB79BCA66B66D0798129064A48C3CF05F19731E53C9C9A56A773703F7D7C56CDB0E30038DA1B4D36C27E3F1D5BF13F39192575215E6AAAE67DB7680290D490A2BAF1D600A6B30A515D70E30A5B598C2CA6B0798C21A4C69C5B5034C692DA6B0F2DA01A6B006535A71ED00535A8B29ACBC768029ACC19456DCFF03A7B3814B99053E730000000049454E44AE426082), +(59,'image/png','img',0x89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C00000E0A28A03B7B00000DD6494441547801EC5D0B5C54551AFF8FBC44544051540C042C50F22D6AEA965AA9595A6DA999BAB959ED96BD1FB6B52AA9D54FDCCAEDB5EB6E659BA0B666BB3D4D732D4D341FE033053541485089A70F145466FF67C6ABC8CC307766EE65E6CEDCEFF7833B73E7DC73CFF9EEFF9EF39DEF750C461274D239A012070C3AC054E2AC5EAD89033AC07420A8CA011D60AAB257AF5C07988E015539A0034C55F6EA95EB00D331A02A077480A9CA5EBD72450196537C1A45276A4C7F474F549BB8DBBE6510A25A06A243682012DA84E81CF7310EB80CB08CBC0AA46F3F8EF776162334A009CACF5E006AA9BB3D5F6B66A57F13A08901AD83FD515E73010FF5688B897D22313836CCC758ED9BDD751A603F1CAAC0E4E5D92838790E10A0926B1020D810E487AB5A0660C9B82EF84D9C0E346F869EC3001383D3D0853BF0C32F278133E75DE30D47B52157B5C4DA3FF614839C4E5EC8018700565851838EF3360335049652164C012C8E68452F5C87F694D57C850A2BAAB1F59713C82B3B63EA726CAB600C8809F53A1EC806D8EEA253E8F16626C17551B6521A0994DF763DD917DD3B3457BA668FAA2FB7A40AF72CCD41161744B517AE94550D7E0624478660D9BD5D10D73AD8A3DAED6C6364012CB7F40C3A2FC884F134E52D15C9D03C00079FE883F888662ADEC57D55FF67CFAFB86B693665563BA245537F7C4A90FDB65B1BF73556A13BDB05D8050A5DFECFAE932FC4BBDA304E99B5AF0F83C1CB64B2D9DFE6E1A56F0F0362D492431CCD5E1ADE0929C363E594F6D8327601164F992BB7B84A39994B062B3AB70FC1C1E9FD6594D446912554E34CFA37472E47C58B403FA48D4BC424AA75B44A0D026C2EDFB8596BF3C918AA211A93829AE0959B3AE145FE699DF6F3E54C7C7DABE3E0923A4ED934E7D97E4868AB4DB1A14180199EFEBEF1A64689A1D29153A4F18D61D237CD1E7B5076DD5D70C2A5F6778F6E895D4FF575A90E775D6C136073D6E421650D47AF732AAD1AEDF5986FEE9C9B6330F366EDCA205B09ACFEEF6C779D87E4C596477BA31F81A635B209B016B337E2147535EEA4D0B04054A40C7667135CBAF7C8F77763F5DE1297EA902E1E9914816F1EE82E7DD5CCD12AC056E594E296C57B5DD7D4BBCA062ED7574DB91623125AB95A935BAE374C5FE7FAE825B59CA39871FE10E99B668E5601F6F08AFD58B8A9B051578EB63836EDFA8E78E7CE6B6CFDECB1E78F9FAC41BBD99BA8965048C4F06B8263290311D9425BD60EAB008B98BB11A565EE9D1E25E4B46DDD14C7670C94BE6AE6F8DDCFE5B8F11FBB2E7B95B8DA727AA5ACFD430F0CEB1CEE6A4D8D7ABD05C0C49B97F8C63654B859FE92B8101A1684835CA6B70909904E69E2F876C6113CFEDF03D41A2BD45C3FE0AD3BAEC163833B2A5461E354630130D3CA67E14EF7CB5F52FF9BFA21735A6FF4E9D8423AA389A30E30F363B200D8D7D9A5B86DF14F661F2F4F789414F457DE97845B125B7B426B64B7419F226D00ECC36DC770FF8A1CE735CFB21F81CC8274E5F9F0AE044C496E27F302CF28A60BF9E6E7603182A57E978F3FADCC956F9455FB79D2E89B7A6B1CA60F8D51FB4E8AD7AFAB29004D006CDEA8383C3F4C7B00BB858AD655BAA2F54A67FA455B8F62EAA75CFD34B681DBD6F811D8048BEE4EC4EF3536458AEEE8A6222B23D857FB4A303A6D9F7DA7385B8050FA3C85FCAF7F9784515DB425E44B6CD08DDDF5F2836DA18176C0DF7778D42A72DB233DD197C1215A2493BBCE6B74D771D669802378CE335EE4AE73A4BC1ADDDFC94279D9598F789EE1E141D8F76432DA693820243DEB38260B874347414670A58FEF8289BDBDCCE130705606CE51A3EF09144C6055CDD6AE4785C4C3C8B99B50ECC84BEBCD2ED3E3D3F76239DF3A4FA07BFA4662D9C4244F688AD36D38F06B1512687E330528CBA9C5DB833E4C3EE4CBA96CAD6E6457E9FACCA79275E9F8444CE8A5DD294274696CDA5EACD8516CF60EA6E92B2E3408798CD0329E6700C8B98B3C0EA0B191A3567F86AD2D9D9088382F89ACB2D083098614737A4C620C6449A97BE5B0B68C0DDCFD781F446A58FEAA64885AD88C8C4B6E3B81EC4B35A7FCE34CB9B0A5A01287181228289E7DED1F1D4A771C6D19F54D8D6FE09F558089F2C3FFB91B6BB295F1C66CE0FE0DFE34BC6B04563FA83D2FCEBA9D7AE2B383786BE311BAED70B4E288FCEEE8783C32485B1E1175FBE3E8679B00DB9C5F89EB843F93ABF9271C6D91549E72C856AA279235AA9E90BA6178E6BBCB2E3BF4E932FE6588F4934F1C6D024CF43E2E7533F28E3126D24D645CA0EDA8A2F9EB0AF0BCB0EB0AF504C135F3C668CC1919E7266EBAE7B60D026C754E196E5FBA0FD56E54596819648617D77306B828C4334D5ACDFCA108A020EF4BD420C00423C6D2376C05732A9864083771468B205B9C750CF77DB2DFBC12676EAAFBFBB5C307549AFA1AD905986088E179BE898D65FC66B8BCB57B690D64912F53B12AADC2A9912F7C71A0298DA80E302B1CD8C03499633EDA8B8A4A75034142C39BE2F3895D71437C180C4F5138AE475A01D9B7FBCB30E2237A058B051267C41134D4AF7AB047BDDEF8C65759239860C557FB4A317A096325ABC83435A819BD26265D4BAF89CB31905A05598F05DB982E801920057135BCFDD15EE815A5AD980273E35DFF2F1B60E2569FFD54823B29F42BAEBA20B8BEB83709A3932C5D72B406B29D4527D1EB6DE18D627E11BB47B7605E8964D79F94466B700860A28F3F9756E1EA5417DC4FEA338ACBF7C32F0C404CABA6F57FB9F45D4B201BF9DE2EACE6686F22E6A05D7DDFB518AED1C8F44B0FC0850F0E034CDCEB2873E10FA6CF582E5D7B50EDE49419E48FCEAD8290F1702F59D1CA5A005951650DA25E6534F7C53C60117C697E9DA9BDA06117F06471A95300936A99C700911756E601019464452A733944632FCE19316F54ACC37EF69E0EB2A9741058B4B9C89C728166A1C563133159C3C9E3E43C4E7B655C029854F9C7F414485D5F807CEEEE517E9A239AC8752EE564604E0591A33C3CC41FB1DCF563FA0DD118DFABAD74A9C3474F05D939A6C60C9CFEFD65B350B01F8CAFDEE070FFBCED0245002631A594E02AA83883C374ACAB9B9EBB13A78A98F060B4A230AF047922C866AECAC5CB6B0BCCB928A8CB4B1DD94993A1764A3C9FBA75280AB0BA15ABFDD9D34076450C24076D231319EB6425AA484B4CF11490FD8DEE38D3BE3C64360B7155FCF8A028BC79C7D55A62A56A6DD5EC082671446D9089A8D1C3DC8DE308AD18855C251EA93C6BDAF646ECCC21A6FEE8B0607498BF19355C599B88002B9F3318615451E8A4F1114C7A806A80EC4B46642FDC72145B0A4FA2F494000F57CAB574BB91F2DC5F5CBC186867340AEB8658D830B9FF582E60964FD6760C81C457258E9A1FC124262805B2E7BEFA19AFADA3072A81E38CC5621685FBD923E2A46679FC31EBC849E4979F358DD2A2B19D3832C7D026AC54BA2CAF0198608E2B201323D698749AC1C408250562884A1D25DA1EFB71BFA51F9915DA537790DB98578977992275990844112F929003844BB7207F8ED4629B152A8B2770349E36300A836243CDBF39F1DFAB0026FAEF0CC8C631EAE793EC328E580AEDC5C4E72376A32BA71E2C8CFA304FA142CA91B7FF6B0FB6979CE5BE539CF62F62CA66FB04D64202D13B825E2E53BA218AD1508E92D7014C30C011907567BCE29E63A7CD6ECD8E72CF5E796AF3B39F4E46A207ECD23167CD61A4FC2FDFAAAF9DBD6E987EA76E6F36F72D9875532759C5A5425E0930D1393920EBCA9C11D922E640B23A485C51F2C8556571CA20B4E14E72EEA2318BF6E04B26257646A6BCA2CD9CFE475F1D8E2FEEEF76C5E986BE782DC044A71B02D98425D9F8989B549956860D714881DF9A716A29F9F3750866AEFBC6A6BE6F6621ABF0946B7265DD463340B84F54736472DB4539E4D500130CB006B2A78646634146A1724C97C1E99E312DB1831BAE36264D5EB60FE999E225B2276C39D82AAE5E2631A543DA84AE762FF47A80090E5803995DCE285D80D3CBE2BBAFA17745E3E49A35D946D7FDA25EFA07CA9733865C85B976C2F07C02601E0332BEF9C6D7872A0D5D8BFAD61FAAC050AE168DA7145A155BDCC17CC2D0DC1FEBB8BABC3EDEF6E6103E0330C112B78F64D4314D1F12CDA4C6F1361E9932A78352322E9BAE94A9D2662D52AE0D5B057C0A607E3337A056E5B7DA16A32F9DA773A69101B86AD107346F3DF0D901F90EA0AE36840EA4EF732FA9A9FDDA5BADC96700B6921B4CDC4A85AACB4B75AB6C74E02465B1B4BB1354DB26D97FD6065C60E69EC6243F6ED0759E067E6BE433004B663AAACCC3AEED3C6B8D81CE9C4BA02929E7B97ECE5CDAE035DF701BC6518C5F95229A1A2CACE48F7C696CEDC6E213002BA289A4DB5F3351E6211B7C857183AFED8FF5416C039154CE3CFFC9CBB291CE34F4EEA0499C22D32674B1B8B54F006CF9CE628C174978E506A658B049E1135CE2A78D4BC4248593FB1AFEFC837A81D1F658407778E32BD75B94F209803DF0490E3ED8C4681F0FA229033AE043A6075582C4BE485FD01BE4A1CF0FBAED2512A3F28F0FF7A4DD35E48A2EF904C0DABFB209C7E841E049D49E1BAD1639B1D16A4EF169EC2C3C8DCDDCCF40E40CD92E6CA942532FAC50EECCA94B396CEDD46E161BA67A3DC0CE30F95BB3191B9CF722500B95B44B56D39D2750F85F59A1EAF3B5D8416FDA1DB42366E49DC046E673CD2F613E57912C58F8D9886C470A5B80AC3443FE291BD3BED7036C57D129F4E4C6129712C1C96799BA25A93FFAE989BE486A17C284C035263009EFD2F5B90413815525DCB4F9D040A0D9DDC04194138E92A2ACBB8889F5E6DF168FE7A848AE4B5E0FB0EFE9A6328CEE2A6ED77FD5E5BAF84C9FFEB836C1E6F40B628A1323991895249FFFFAE5EB7E178012C43A6EEF1C8631491138C0D12D756DBEF2866DF39DECFFB701B0FF030000FFFF656ECFFC00000CDA49444154ED5D095C556516FF3F5691145104F7C405050597042B17466B1CA79FA54E9A99D88CADBF66716C2C6BB4326D19D3A91C6B6A5AD46934CBCA6CB1C54A4BD24C7005B7209512341677014585F97F0FEE93073C78CB77EFBBEF5EBEDF0FDEBBDFBDF7DC6FF9BF73CF39DF39E7B354B0C0C065554621C6BDB5173877C9777B19EC5FD9767F3F8CEED60237F58AC0F06EE1E8DCB289AD4FCBB7E763F23BFB81F35EEA27DBB8EC969E48E91F656B93F862313AC05EFDFE08EE5D9D0D947969E0ED86DBC90327005593D2D73F9EC0F0259940E9C59AA7B4390E09C0FA3BE2318CC0AF5E0C0FB079EB7FC2DF3F390894EB9851BB01A8EA9328BEFF50588CAB5FDA899327CFD73CA5C9718B16C1F8FE8F7DD1A375A8DDF30C0FB06708B0873F25C02EE9106081FE181DDBB2CE579EDD2C39796099950A94788983350D40C553436BB5D4F0005B92761477BE9FE53DD9A4D690575504FA61C9F89E9892D8C6D1152ED74F7E6B1F96B3BFDE2829496DB16C626CAD471B1E606BF616E1C6E514F2BD259BD41AF2AA8A2601F8E4F65EB821B695A32B5CAEFF6CFF31DCF0C61E2A341A7331F6E5D3DFF7C26F7BD6EE8BE101B6E5E7D3B8FA3F3B7509B074CA2C033A36771948F5DD10F0D8B7B874E6427D97483F17744520CE3F31A44EBA860758EE89F3E8F7E236141D3F57E70078AB323C3C187BA725A24DF320A94DD05C24A082B2F8E618DC91D8B6CE7E181E60A2D74D676F44E9E9B23A07C05B95210456C99CC1AA3CBEE9EC4DECAF36DA6448F360F66390C37E980260DE147E1D8DFCAD03A2F0D6A45E8E4E7B54BFF1D0490C594C9B58B1CAAFCAD0407C7B673C0647B770D85E5300ECBD5D0518BF92566EBD08FA7CADAC98D01313FBD95BBD1DCE921B271EFBFC209ED87058BD158C26FE7834B923E68EEC526FEB4C01B053D4AA6216A4A14027725864AB10644CBD0A5192E5AF9A333D994B64CBD3F301D9AB817E16A490032F9B1857F391B58E4D0130D1EB5B96EDC1BB3B0AE40F76AD216DB862445C04D6DE9DD0F08512AE485CB41D5B734F0317CA25502309DAEF0674688EF4A9FD9DA2671A8065179520E69FE9DE37B8D2669446F344A264F3447DB33DF6BFBBF141D6318A081EAEC786F8634C4C2BACFE43EFFA1E6777CE340013BD4EE65A5D6AF671BB01D0FAA05BDB5064CF18A8F563F1F4BA1CCCFA22878BFE6E72B2203F3C35A233665ED7D9A5B69B0A607B0B8A914890959CD24685AF391341CD02F1D9E4780CEFEE58EBAA798FCCE3A334D5DCB43403DB8ACEA1A298669B8696672D805F6810FA4734C1475312D0D60D99D154001393F58F753F61E65739EA69578E10E16FC184BE51783BA561C1D8110959F59B0E9DC2CB9BF3F0A6904929534130B58B55AFCF00FA9EB14AC86C93A8E5DE774D3B0C8A0E73FBD1A6039818A97E0BB7622797901AFC05BB3DAC75DC18E48F8A6792EB38E1DDAA9D79679173A21487AA34EC683A31760E0F41DFF65748699829012646AEE5DCEF70E28436CB4761E14DF0E1A4382477F5CEAB510A52DC24625A808D5D4ACD2A83AF08B50BFDA43E49E94DAF89966A3F4997F44D09B082B317103577933CDB90A3A9A5907C7B623BBC31B1A7A32B0C5F6F4A80DDC9E088255BE89827DCA8B96CD3859E0D074F52AB52C38F2A24105F4EE985EBBB377230C3FF9A4407CF5F2C479387365CF6D127C02AE62563313D41EF12EB955C0601AF71BB04072084344B2FD0E94F316C52532B786C105AD36FCA6CC5741C6CC69A0358F0CDCF953EFAF4899F37B2331E1A7EA56DDEFF44F7EA9736E5024101AE71342EFEE24205E6DD106DA5F7D70FB2B1487049852B5601D9F620937C311DC02CD3BFBECCBDC8AD2A9E1D56E754AFCE2CC42B04C8D6A36771ECACF02523672B276753824718A328B85D786800A2E9133523B91326F48BB4A3357A69263EDACB251AC1112D16F4A0157FFF834976D718FDC05400B346187D9E434E43A362801F1E4CEE80F9A3BAD53BC7C21121E778297269FDCF3B55C6CF73D6B76874CB106BE0EB95B419B5A4A6E8A8F4797E2B32C462B378EBD216764BEF08AC9CAC8E1F98A33678B3DE5400B33C4CD94B897C26F73947C3673081A676693167234E092542142E76CFE39ADE43C33A551E1BFCBF6900F6DA9623B8E7FDECCA086F82EB8E816DB198A1EE5A15CB837C355F243B14C5449AA56900164CBFFC32C52F9F5A5D3EB5BA480DB5BAD3CC8D11F668EA65909944B33405C0DEDB5588F16F572540A1AC3E2621D2259FA64AB6E3F9FFCCA3C54858B4F5F242BB09344B5300ACC3539B9157545A89109A137EF85B22625A37F51C316E50F8684F1146AFD8C7107F06649840B3343CC0BECA3A8E5FD3A35309F8181A138E0DF7F573031AF26EF9576A2EA6AD3D589947C2E09AA5E10116FF5C3A761F3E53890E2FB82B3B82A59D21D6C09AA5A101967EF83492E8C1AA58D37B776C864CBE1EF552EC0CB106D52C0D0DB0E497772035EB44259E9820ED4B062B5C1FA3AF45673B43AC01354BC3022CABB0043DF87A545267B68F0841EEAC6BF4C2BCECDA616788359866695880591D0A33E950286C9BD41CDFBD350EE3FAB4B69B583D1DD80CB106D32C0D09B09A0E85418C8639AF52A2115920B533C41A48B33424C06A3A14BE3AB63BEE1ED84E161654A3636788358866693880397228540D159209DB19620DA0591A0E600D39144AC6832AE4EC0CB13EAE591A0E60CE3A14AA820C8944ED0CB13EAC59FA1CC0F298073E8D06D4437402144538FE5D7D659835ACDD1D87428998904ECA6688A517ADAF7AC3FA0CC00E323BCEAD2BF6631BF34B940BB7652530830E831686E5274685224D788E2AC93D347428948EAC6A046D865886F4FBA237AC4F00EC7DFAC7DF2C3C1094008A6A1350E7572F3814D6D90E49953643AC0F6A96BA07D89C2F0EE17191764809B67066D208B07CDABDB4742874A6599E5C6333C4FA9866A96B80BDC91DC45256927329AF3D676788005B765B1C52AE8A72F60EDD5F676788F521CD52B700FBA1A0043D9F4D731D5C0A543809FB1F48428F48EF38162ACD90F9696788F511CD52B700B30AB722C5920725A15373ECBA7F800714F477ABCD10CB8CD9F56996C798C27CF72FC5C8FCE5AC35CCAE6FBB66107F4D99A950CBA24B80A51158035FDCEE79721272B12D7FEE8F2402CD48C5668865945275CD3297269CA91F6663B508F6BD24827DD96B118F290AC5061138EC4719EE91211D30E737D195F52AFFD725C046BE9E81B5F45D9751467277D8CFEED226A3B38CF63A4BC36688E50D22CE7247DE19AC64708BCD7C531FA1000BA2C2827180B96243B9B0AE66D125C02C33BEF19C7B29A3462E5631FF57CA91A13E6D8658C526E86AEFE81A943BFB5AB427D8D42ABA0358FE9932B499F35D258B97D16BE690F8858318D54CEEA653329AE6298DCD39A770ED0B14253CD9CD976FCEB205C3104863B51A4577005BCFBDA7AF7B659773ACDE9911A1A57FDDBD7DAC9BA83B73B9AF5CF3E3B11224FD7BA79434A0A3E25BE363EEB7AD46D11DC05ED8988BA9ABB32E0BA79EF69A22C6A23131F8CBE00E9E52D2D5FD31F3B7209B81BC520A65B2BC4706A15D987C2EAF3B802D4C3D8CFB3FFCD133B65F7DD4A93D3D3FBA1BA60DED58BDD6A7BFAFCA28C4B87768802E66923B49657CFF28BCA342D61FDD01CCBA053213F43AA50D3933B87C457E3CA53746717F20A39424EE3F94CE2DFBA416465D553C3D542A49414C7700DB476F89B8F98C0612761C198542FEDE1989888D0C9541CDEB342E52A00F7C80997AAA12F5486B904AC2BEEE0076818BDA4122D591AC015469E0A44DAC8B84D651091AF1BFDD2897BD2FB74A3F44DD014C8CB76526D31CC9DA3C5425D6EF222EA45DBE6C5B3E6E7F97C98A95447AB228AB244AE81260D6BD1DE94921A3A825BCCA689B3B344402E3191F1F90A704298D504919D225C08E30176AFB27B951829211501904573F5554BF5D6D8AACEB9FDBF033A6AF39284F09521AA69239479700137DBE714906D6647AB61E392A3E82064463AD435A4D14DC2A594989A0E0C3E34F950CD2BA0598C7C2BEC1847B05405945C5E8F7E20EEE795995545839E1E9A74A4B6ABA059818AF3CA60EEF20D6255DDDD45C83455C4FE7D393FB3B3EBD19B985A59E90A87DAF4A4E01BA06981885E2B24BE8CA65917CB14B6D433299866E28B56748BB9AD7B841C43DDC49C4E92018279AA6965B93EE01A68CCDECB587F0E4B7B9282F656E533F7A652A1E045E72A453DAE5ADCF04A6A6CA5432377ADA08151D337D0660CA1896300064E79133D63F51E72D5760A53DDEFA145283DFF4F5520CD26ABA96FB1CC0BC35A17A7CEE2A6EA83AEE4D1175C5AD71DC2DF4D1DF3F5DBDE0984680B93B313AB9CFEDD03ED17E826BF984584CA227855AA511606A8DAC8674AD9C4CA46A7765FD961EAC8FD3977FF68868555BDA08305587573BE24226EBB39082BF305F34B48ECB1404AB6E8BC5EFE8C9AA76690498DA23AC31FDD769C27862FD4F28621E0FA11059FDEA04FAB8F92AC8B5063249CC0AEE21DE25429B80E44680690C00AD1E277CF6338F145BD35C596878EEDA2A04033B8531F845DB6D9D1B01A6D58C9BF4398D0033E9C46BD5EDFF033D1E6ADE2E4182210000000049454E44AE426082), +(60,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001524494441547801ED5D0B9814D5953EB7BABBAA014D0403F27093B88A916876A3C2A0715EC87B90287E8A26117CADB21B4DB2AB22320F416606C4681EC4B8F1911050DC75F9A24B78C3F07066884B081FC6A80846E3AA80AF157CC074554FD7DDFF360CD35D75BBA7DF5DD554E9D055E79E7BEFB9E79C3AF7DC736E551179C709CD0196CAE8E772AEEC7F8C7CA9E07A38CEE0C0E05B29329731B3276AA40A50BD98073BF787A7336E4E2162159CF33E3D35E4953B8F038CB1C344BC8D33E539FFE0C0D2AD37B290954A9B025436E9D740E00F72A2D3ADC8DEB57B390041BF0B85B8ABB55E7B267614C7154098F996A6F00344E69DB108DE79A9714079A8AD3E3013CA807B9C48E91ADEA626A3C9137E17374AF9D7BCB3B2C968EE1A61D40294CF0F5D46115AD90594FD426322C4F19F77389F038C18A6F1E44EBB8F26B7D70657B1EA2DDCDFD96EBC0C67E16BD691A19DD739A339E453B7B7CF666F5ACBBD6BE772A07C01FF7B8A182361E8EFC37D3BD44E29DBE32F57CF6315F3F52B78843F6743606CF9A0DEEAF5CBEF601DB6320FE01A0E5CFD13DEEBC0116309717EB5956858F52B1432E9726B01AEDFEE17506FF6842FE18CCB404286429642A612D2A1009C46DA0A18FDFCF7B3D867367889022A9A43932A9AF485B73ECA03A538C4A82C2153DBD8207B85180DB616F814DF0E2BAC14AF85FF53D1A83FC0395B09A7E9EEDD1F18CF572FE42519FF90CA14B25730F02F5A85EB33FD3273614573F5756513FFBBC836E379384833313F46574338BF3862E8BB2A1BC3E35C3D3809F132990AD91F8F03C4D651FCA5BDDCAB9C1FAAE164EC0203BE153B6E718E75EE974C32D79637EB734470CC5AEED6EB44322D9901A6221861F2CB1BF5FB4D93AD82F04F4D5C078237F9DC96667D5DC57CDE3F319EFB4B4E18051073BB30F9B8C7677599FC1EC5C7692C37F55DD54DE1F21E715D8A7042288030F991B0F1A2CCE40BB9613D7C5804BDA432E43424C2CD2DE54DA13BA4E52E0796B402444D7E93BE20A9C967EC659F42C37B05D5F3A10A4FCBE409E75078450F9537E9CF8EB9DFEE34CBEAB80556B20A7069131FD2B94DDF02737F4F22938F3B7F31A29D655B6BB5D736CC6487DB1BB4EF11536E035C970A90F329A14E7D6775B3F14D69B90B8125A900E58DE10961AEBF88BB563A770B930F414F6FABD76EB2463BDBEBD547B88F5DC218BD259527A73323267FA1B2D110D135D71F25A50057FF17F721B0339F98B9462CE7E4D261AFB0008D80A09F949713B5CF5677729F76019C036986145342104BC527B0A25832F951DE3B513B6E80978C0208937F608FBE05C2999DC4E4FFB6EF00B5AC7596B6BB27E120FB79B0AD4EBD5C616C362C46448ECFA71FFCD0D83E6A61C8964995E33B0F5A120A50D11C1E1F35F9441532160B93AF28CAF530F937AE9CC18EC8706430D4E3D842753F23E5524C0907643850B6F3C261B6A3B2599F2A2D7738D0D50A1035F94D7A33E7E6DA64261FFB9ECA5AEBD4A599CAA2B53ED0AA32ED7CE44DB648DBE0FC64D3E4CF20A9B40834A9521C87025DAB006317F2C1EFEDD537636D5F9BC4E42F1126BFAD567B355BFE6FAA63EF0F3A5B1B8B78C102F806D037FBC14DFAC17B7B8D362C15BF6C2F7526C4950A209235A1B08EC00E55CAD9CA8E284CB90126FF86744CBEBCAD6EE8F2A92CD2D6A0D52A0ABF0C31838FBB4BBACFA09065A1B0B14B049FBAA1CE3D73950208935FD9A83799CC5C07E14B63F498B75F653E1AD15AAF2EC917DB5B6B836B54A65E80BEFE28EF83F713C12741ABA0598EE30CA86B14206AF2F7E89B4CE275C94CFE29FDD511B930F93D8967733DFBDF8167AB15F02F7E29C5458A59D07A60AFBE7174333F4D8AE300A02B14A0AA393CB603797A4CBC55729E09CF5EB929D7265FDE5737145382D15E17BC1D4BC56BE11B7CDE5D1273C66994C1B1C7A0299C60BA8AC12DC2A9A31540984FC4DF1B23A6B90EBC1920E30F18BF3B10A0B2F60675B1ACBC1030F1B48D5FE5C3E11C6277B5FDC074358893B919DBCEEE868F10DD7C62C72A0EC4B10A50D1CC07BD07930F735F8F146E023AD9522471466CB9477BA538ECEBEE75CBACE09EBEFD55ECAF644BBBA1DD6710BC0F7F0B2B9A8D15D8B2DDB7BBA4B86709185B5CA210CB1F833CFC8B094D3E631D08ECDC8CE4CDF52289535C6ABB7B172B0E41130247B7C232D91EC48C62723E9945F49DE50B8C0BBB6B16EFCC510A204C3E62F9F3F088DA7AB024A1C9F7B36860E737C5635BF29EDB1AD4C7999F7D0B81A33764989812CE6011BEADA2C9F867597921618E510061F2E131B72096DF90C8E463D9F5A430F95BEB34E95C5B48C6F5D457EB6C7557D0AF5D08BFC0FED00D2A633AD010C1FC772494968DFB71F11EBF778402444D3E3C65A46FABA58C15269F947F82973FDD49265F4A6B0CB0E51EF6497BBD76A5A2D05D98123A638A624EF9773B42C68ECA85FAB01860C14E8BAA0073B1EB169EF17D5193CF49BE5666ECB5A8C96F507F5D30AEE4B8A3D6BAE043E453AA3125EC93350DAB378C87492494BE2B2BCF27AC680A50FD001F885DB72D3085F72634F9C49EEAADA9C3DD60F27B12525B6D601B53A209A516192EF8D00709A56548283D327111D76438F98015450190BE1DDD694477EC8C920E0A269F29CA2D88BB4F7393C9978E2506D856CB3E1C53A78D872F330FCB4533A6E8F829124AFFF2D927C6B6CA467EC671601E4F0AAA00C2E4233E3E979BE606CCF772934F6C0F1E621889CD184FE471DC456B7A2E5EDC045F660E14BC0611A18FE484F00B4D66ECAC6A0A4D9697E70E5A300510F1F04DCDFA46C4C7E72434F98C2DF3F75387B7DEA3FD25774374664B6D7581F53E553B1FCEE10B520A39EF1B21B6423CC892CF8452411400E9DB4B0D11D8E174A96CB02268228227B833AEDB7A5B8298BAACA2CB615B67B177870D50AB18537E261D4A346CCC67897D0F62992CC5C91298570510265F3C63870D941B11D51B28A315F3E15E64D4468AE089ACBCD4618FCD60E1B67AF5DFC087ABE0177C2A1B2F6E9C4A8E65329262729F4956294558DE14E098C9DF209EB14B64F231E0A77D7DD50BDBEAB49752A4B764D160FD7EA768482811FBB37490F0994C6E6EC4B2B9162B06B80FB939F2A20042538F99FCD13232A371724599211EC438914CBE8C17B1B0D6BB83AF0FEAA35E8CE8A134CC0DC18B845233DEF2B56AFC4F78BFD8BA999EE754018E0576EE45FA1621DDC426DF1F6017B5D7A98F654A7429D7130FAA207A78B3D8DF0045E8908D1581A39AC387F55DC82594C9CAD381F9D3414E868B78F60004769661793726191E34F8EC48279D071C9BA9AB5EC0CF8A440CB94394ACD174CB187FBBAD2EF8FD64D52A9AF56B3196EB92E1E4A20C73FFB3D8B16CBBE3C5FE06EC8598823E122D05BF0C5EB64109EE840FF170A6B4E44401AA1BC3D51DBAFE34189695A7DA49E12F12E793321D4CAAF53005BD9A02EE503038EFB4808EDD29D0920085ABA0F117F00BCAFB06D45B3279AF53565340D4E437EB0D1106939FA5F0138CD003A7C00128C1351F1BC68EEA665D58D6B48E8C15E098C95FC74D3E0F04387AE76B5A1C712D32FF5AA749DB2B9B8DE9E90C212305A8981FAE82C9174FDF8E4DA7330F37DF1CE0BD4DD35C52D1147A4CBCF23F95DE32F20102A6FFAF447E2C577AEE22CC8DE5F05A47F48C29C7C07CFD39676C96BCB467285EF673AEC929A9C3D7732B473140CB76D0B234557C2B1EBEBF3035E136372B72826B388D7302D4F3330FFE8F52FBC047460A803DF1D2BCB68C66BC5A4587A5C8E2E0212C8B1EC9B481AAE6D044F49F1305C030F688F707644A0BEECC61A0A52AD3FA47EBB18FC53309D9B5D15D3BA329A0BBBA77E6760E780AE076096649BFA7005932D0EDD53D0570BB04B3A4DF53802C19E8F6EA9E02B85D8259D2EF2940960C747BF58CE200851C3427760AB26219274C2226E1A397590522BA87CBE8F26C6841BEE4B49CD1D24D5556678E5700304CBCA6F59CAC4699ABCA78BF3E9AB27D5F2157CD17A31D6F0A2806D71DD4A7A7000E12463148F114A0185C77509F8EF701B067FE13EC8DBB26539EC1FD1B4E66A429D3FAF1F59416A6B007E361695C99E6F79119FD761A35F28EEA7805206E62DF7C50BC3022A303D9402592514D5925BE1F8FAC654C0BB28197E56A4122A32E1398F31540322A2CA714632D5D09664E32199D81F77686B137E1359F8F9607C653ABA44ADE407C0B9DA277D0347450056B731AB6481CC27B85FF842F103E191C436FE6ADE31C35EC3A0508ADA133F1B718E3AF88F2005CC7FFE29F319D9D747BC71A5A1AEC453F62A3E850B43C8FFF84D6524DA8831E47DFC7BFBD286881825E864F4ECC029DB5DA44FA3914224A621E49C9B869573981C63AFA478C546C273F2A7CD9B0394DC71DB94BDC99B2E25CC120FC1FE251EED5B1C28F6D1B12EF0545F8299460592CDC69E7AE5100FE270A98115A02A622B297FC00CE574347685172ACCC4BF5F5084C715A98620BDFD1D7D2B529E2161CCD350AA0BF4F3FC05D252C40AAC7B4F09A6CB75FC9BBE2117A184A96D2A64BD102F6243ECCFF40BDE4AD1517EA1A0580F0A7DA58C5683F9C2EBCAA95EEC5EF116B79844BEA5891D2BCC6D4F225DCFDA324D55A01C3E35CB4C456C6E954FD53F9A3F136DC02035CE304C2913A07775DDCC114BA393881C46B64495F831B8D53533C02894FB9AC8A836579D119A2A12023EEC681F27DA6F5A649703C3F47F38B3B56D350FCC67F96D674483EC332FEB88158CA9C75C929602508C41F7F673F8472FCBC0B0F0A91FBAF7748DAC4C3DA21AAEEB64050561B2D80D9E8EFA2B398BFAEB10030AD6FC1F47E3D965991082D3256D3ED8805F48302D4C69645CF19FDCD06CB12E00FD0DF3A0D4B23F87681BE8E16C10A3D0265A826936A2C18E2F22DFC0D11274E3ADC6401564B18371251BE1DB8D3D743394EB79663706BACB06CAFD9587A1B26FF656B3B5812DE0667EF15FCFED23645300AAB01DA68ADE3846BD72880A645975DEFA5C1B43FA81369791AF8E9A0DE910E3214A6918DA1FF4BA74EA1705DA300828170FA66A4C21830FC083E0E7903E65D3315FC747182936823DAFE552AF540CB4EB5172D4805B71838AE5100C19CE044FABDE2A32B70FA7E226641307FC1B2B03C388E5E4F84930BB836807E8876EE437F9D09DB63F49FB05CE3B13A488C93B072610A5CA5008225DA045A11D4E85C30FE41DC5DBBF1D781BFCFE024EE8085B85BFB0A0D576B6857BED9C78653B8D7249A0B0696A1EF65F87B173489A4D487F85D2B14B5570D7DC7A9A6BF8B3FEE590574518CDF634C9D8953F157D4E398B25D575422B2E8DC950A20C61BDA80604B18CB2DA4837119C64A600F2CC34A2847C2E9210B3E25AC8A7E95CEF57409560055F0FE07E2FA105E0FBF43FD026DC027233A1256744881EB1480AFA73EBA8915412761770DC48F7FBA0EDDA0506835D56935F43398E1BC38805D7D89DFD03A3A0B59C1DF82864B62E1485A917E88DEEA584737F59A90E073B3B1158A78EE2A1F806FA0C17A84FE2CD6DCB8D330F5C71F8005A10F0F2120D322B287F1A5B9BD82F0271168B10ABFAB17D0F255BC0F7C1368A9EB8239F1D7550AA077D2E360EC993D31124A302AF40135F4849769395F43FDA1848BD14FEF646D805686BF79C84AC6598864750A5DE61A05C09DF43D3053166295F20CE66136F2F669BF354BDA98051822FA29EEFCFE16B0F4124AA2202BB918B43BF2455AAE510030F0062B8731CF87B0F47B02BFBFB39601DF8FBC7DCEBD73A4834F82725D65ED0F13D23B802FC2DF4E6B19946068E706675A01F72800D137AD8C05F133101CBA2558435709E65BCB716DAB23C1490B140ED1302897165B090AA86305723122843F425AF822D0627B9611CF28E69C96581A323D778D0280C9275B0789CCDB8B5D30DC65C7CF636027759DE7EA37C2C8D62614E22336FAE807A1A2513F46AF58FBC3CE651BFD569C625CBB460130E7EEB332086BEF5A78FBBD61960742416EB796E34EDC6F85657B0D41CADA1C82E5E0AD5004165E1FDD0832D1DA0F52D636FAAD38C5B8768F0228B4D9C6204ED7E81FD027D805BC1FCCBFC056CE68930D962500A1E8BD98EFDFB5368355C1A3705443D89ABE0DB4D836AE06FD12FAAD8D14E1DA3D0AE0A3077047DBF6FD81D97E71E75979078BF086A6D0535678B6D768174F77D17DB276300D4977202139B558EC2390D52936CC350A10CDEE29343B1586411B4C9F4237B2F1743815FC747190047A027D44F722F65817AB0368C5BFF688572404D72880E00FCCEF2F7037CDC15D184EC42F08E6209686D70526505B229C5CC0E1ED4F435F2B92B5053A5F4256B086D5D0A7C9F08A59E62A0510E61771FE79F8AE601998DF82EBE379769C1FC644F0B416A0F3F038D67FE49BA9F0F63FC2B2EF0A247EA6A16FABD7BF0FF0B9D833305C1B6FDF3E966FDAD269DF75C9203138755C74C93756AC00F0C0C8E978894C583B9DF6B173C9BA5D331D5E64840B65137EC653BC854E350C3A4DF5E399C4B17440286B460D16B892F31580B15E958DC66D32BE54AD8D81FE91A8B231E6FAD8293ED1FE753B343308847A4E425A5E8869737B425ABE1183E58853C72B003E46D1076EF7C319732B87F7216829032D6519D3E2C08AAEF2011CC83FD793E42980EB4598DD003C05C88E7FAEAFED281F40ED0C1C0A93B12ADF5C8583FE764F7D20E6BF173BCEF24E0BBE02FB6A4FB4E4B3DC510AB0B981BD81C14ECEE780536DBBB55E7B06B8E2AFA40F47294049733A83C1F5EDAF5EDBA9539C8C4E1A8827917378A0716C5D241EE70B98E1FC6EA8CC21FD25DDD4CA19CC96FCCA74C072993213A175FE81B5D13033F2B297CEDA8F775D380EC8642A642F2CC03BB00003E348E1AC0AD749131D71F8492E4EFE8236C6AFC56F880CF6253D4915AF281F1C88CAD41A1563EF307C78B819112ECBCB1598818CDA88B63AEDA57CD0E2B559580EE04BE8FF800D2B3B70A3C7ED57608CCD577C8C499EA10722E7FF8D4FC43A763F7B6159E8DEDEA232842CADC2172312B2475695085FC178160217DFAAB71C701019AD00D2FFC022FC150624EF8F5B5908F02E33E000E4A5E08E3F0BF2BA0839C9CBAD4E7EB449C69EC31759AF3CBAC4F0A97751C4A88612F48DEF0FAB034E53D0D014ECB1F70E9770C03AD3DBC866EC200999E3882EFFDA67B337B1129C8AD7B227DC69636BC403B8930342C6907554E65D0A2046D2DE1068F129CA68E4BC3F74E7C83CAA7BE28090AD90B19075176E5C00E8F9DA409BCAB46F00F157F854FAF1ED565DC8DEAF3B39206429642A642B641C3B8AA813180BE83A1FF7633E20140A4FE68C576013C41034D20FFE4042FCAE7ADEAF033880080F64F63164B68F71D6160C06566E98C96C013F0750EA91E071C0E380C7018F031E073C0E781CF038500C0E38CAABFFF6427EF2C18831BE188C28749F0A29FBB0248B7D9AA0D02444FB8BDB6D52140A623AFD34620CE1112E494EC52095C8698499CF612857167B387181A06213E3F55F780E780A50789E3BAA474F011C258EC213E3281F403155BCF9DBC0CE9513E278FD8418A537488F031E071CCC81FF07E9E112B7EB024D380000000049454E44AE426082), +(61,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000018A1494441547801ED5D099854C5B5AEBADD7D6FB3884BE2026E094F515C12F37D2646991946167990206AA2F2F99E8A9AA7E133C2135460661070665814718B91A851F173275FE4B98028C8303342F2F0695CE312371617242E28D2F7F6DC5BEF3FCDF4706FD5ED9EEE99E9EEDB4DDFF9E6EB5BA74E6DE79CAA3A55E7545DC6CACF1E4D019E49EB670BA17D7C270B65825BC6090605065CCAECD99C3B9DD5C65700AAEF15D1B68FE31770E19CC918AF1442F4E92CA3727CF028C039DFC19868115C7B3C3C20727FD3453C26D7521180AA06F35C307CA160EC1019B91C2E5E0A80D19B21105735D7198FBA5BD1210034CCAF6A885FCF9833D58D507E2F350A6837B6D445AE8630A08F33A6259BB7BAC16A28333F498D52FE75A65635588DC9162646808AB9B15F329B3D9904FAFD42626C26F0577E824F01CE38A6F1F44A7B888D6DAD893EC5ABD788705BABF53A9485A3E496219F770567B35848FF5BEB0CFEBE1C5F0E07970215F3C440665B2761A09F837E7BA45A53FE76B8423F8E57CE35CF10B6785C41E07C69FFDEFA854BA7F09D4A5C19503414387B91E8F5C977D61226C4D972A531AA9FA131878D932310DEB85F44BFA4CC7C1FCA1419887848BC249EFA54FD8C3066F5939408CE6E79621AFF4681173900BACE206EF3FF649C0DC79477E8AEE6F04DA0C1EAB02E1E5C332DFA769137D1B7FAC4CB8A86D82D68E78D1E04F03E0C620C9055BB9016DAE0412CF2006D6CD91F9B8B98C32FC57C18F2B6372108A7B4C5794D6563ECCE837A19534B71E4239EDAB6EDE52478AF415BDCDB0B652CE484FD860B19AD28C223E68BBDEDCD56B370D8C4749A31C5110EE6CB664A53148DCBA2927E3C25DE77EC03B8F3D268622881070DE4669BF9087AFD4F336E8E102722CDA39436E3344580988AA7BE025004EDC9A88A55732D6C6BB37FCF08D9858434A32A1BADF12E50C9BE96B4008091D3FC3887E5CFBD218D8DA17FC6F93D7E3818037DD3FAE21631305CC4754F5B75CCE387C5E2E6090A92C6A7B7D41A0B5CF015950DE6DB18F2DD30448B1F0F6B10873F5FC73F72E196DC6BC98E00A6DD3658E6167636BF1A51A3DF20C387D7EA0B31127C29C32DA1E621E3147BB864050086AD7D65E640B37DCFCF49A21DF69E8CCFB89A878253E480921500E168DB64DE40AD3F6AF4ADC290E104C39EF9D1329C09ED7305566280921500430BBF8661DDB39CC572B0EF375FC7A5B99EB16FB7C7E7539C87B7481B36C2309295F653B24AE0EA5AFE59657D6C1D2460889785CEE48A0673285602EB211ED8FB11A708E128CA22468BF54DD7F04FBD694B2F54B20290609516AA678EFD8CC236214E80D67F8267789090E020552F814A3258B2530071ABA536B2123D7D49F69CE3F7B7CE8CA882937D46814F51D20240D4EFDB4FBF0CBA405A6F273797B0547C6AAFBDF54BDDB0527E2F79015831899B236AF533183680E0E2BE3D3533F9768DF319C3EBF4719426355E69C594BC0010BB689DDF8ADDBF3E7DF41F32AE3DA7B090879E3342FA40B84CCF6FDF1350504A15B047084092792BA7F02FA0F92B4B3BCEC41BAB6BF8BF92787BD2EF1E25007B1263336D6B512F03E9304B53D3EEB30D9934DA7E218E0EEFC584E53FE11DED85661F6A3A95B7659FAAB0298A56002EFDA388AC6AB05E86D5EED86E93D07126B7B59A93BB9B4F757DFCD4A69991A6EEE693CFF4453B05BCB9CD9AD223CCEF416ADBDC51B6997B30FB9C6455940240767AB8B35F9B138A742353EC2EFE0CE72C7EDD8D2CF29EB42805202EACDFA3F7F7CE3BB53229D0618D74DA2A13D420E0149D00244E3231F1CB2010CFAF0E18050641D1FC8D5F5C10614523A944BCD36E107D769AE6AD2A21F977618D0F8984235BD5382FC48CC76739C2F16CF572AEDD158D44667B313B0FD971C6311AAD8151513A7BE75C3BF68FE2FE272FE3DF759E4B61318A4A00769A16567EACFD448F8B701ABBAEA956FFBB0B92F2B5B2D1DC8C65E0462F82D8FCDC34FEB11796590823520D4E562F7563A38EFDBFDC665D0958C7316C777C90DE79457D4C5A1533168D1887AF9ACE252215B6DA55F3CDE3459CBD84DEE6115A58FBDE1CBCBF7EC29D97F178A16A58596FFE2FEA259D3DE0DB697B39283B8CED4EB21FC9342A0A1D00F32A17717187CC7C6A0C67DAC46C992F5E64BD772E670FE3FF017A9789926D58D3341F1772D1CF72E275D9E6956FFCA21080A10DF18B55CF1E309FF3FB9AEB22CDD9102DB68A0D34B7B2F59806C6E3FF3FCCCFD83A826593878CBBB636B28673E6E33F20262696AC72820085032F00D50BC5F7D1FF7D3658F817A1A87E75A6B4C4BCCCD1E32F6616A611C17E944C07C1FA31C1288E7092F06C7FC3616D3A24D2339D62E432A02436649B573EF1032F0076CCBA1E84FC9E4C14AEF1694D5771C5F357C6A3706C393BCD5CC1FE0F3DFE4F60B272F03301431CE110AE5F1E9DC1D64CD75F01FB1F94F12011E741F1EC103839BED0E1400BC0D0B9F14A1070824C240CFDEB9A6B227F92E17238FE0CAB04435783C12BF1FF13395E0E130EE1521A4A2BC777160E85F59998982C2F9EC0096C36DF0B0B4EC8A35107A75A8C91B1E7CDADD61DD8F1F30CCB30DCB5F130FB2D84C03BDCBEC822E657EC50AC05E0F0C94E416F3FB3CDEEDADC8EF4C3907658EC69F63E2685C731BFAF1311F677631FB6899FC852AE369A66F00F2B1BAC3F60C4FA6F0F2D85180D435175100D4581158094C61ECE6E6E9E6EBC662E67F74002E8DE9B08981D8E7DB6EB2A5B8F5478B82005387B210111B2DBF86E3CE43510794F85404C65701243190C42614328C8EC0BBB327BCC18C32ED99D02772B44238D6D3BAD8B21B8FDDCF07643D1496E5810DE033905A432F6A0276EEA65E8B38970B804B73718D317FF061815CA82981B712A78427434ABA27F7A47DA8D99A6A7B21265A26CD4A18F9C8EF4128DB31B64384685401A8A02290016B36EF335F6687CD2B357D3FDB778B2D5D839FB177AECD4286783F4D16C0984C9A17F7A2718C5A167F7885B58D4D06F427EEAA192001A8A02270038AA3D0E579A8D957B10B96BB7D418CB3AE08A5F4F478CE7058C784BD3D88C2886F3E82FD8223E860673EF43308A231CC2A5345E8CEC420921E5DA1C39154681414E6BDC3365C838F90E074A00C8D80322F91A7BA0615FD11971D0A34905D882DF27300C4F0F85D98960EC6063349B0F26A77109DF9533E1102EA5A1B49407E5D59E27E5ED7DD28C42A12191BB21B4EF7A13904AEBCC82A1A8DBBB8F72BE5D0D074A09DC19B366A12187C98D0123EA49C3F6C07D888F9E3B03CCF3D934F2A4CC28A08FC2BE014BFC27F0A1744E830464BC9C23FF409C41AC85483EE62E10FA43A00C45811901AA1BCDE34028B2A0791E2CF7DE3C7A7FFD460F90023E5300168CD0CB72F37425EFD63A632946810D4A8D1C76CDF0B9EAE69682970740200400C33EB71DB1B8A78C3D79A05BC64504DD50140801E849634FC69CC91362D00D450517809E32F6E4899F5D2A26A5A18859F55DCAB00713155C007AC2D8D383F4C84956290D45304717DA50545001A86E885740B39E20533D53638F9C2EC8E1A01A8A0A260064EC6913CE626CFA60F5B6FB21630F34FC89B2B167374671BEED5AC67218B7A4A7DD502441F3162C9800FCE373729A548F7561797F0B2E727C356F14C86341E15E113887A8771414F244514104808C3DD810A14D1FCF835DB74DBDA31105EE412AE2405A435183F9AB4234AD20020037296CF7FA6C87BA8D3D85A0461ECA4C6928626C6E214E14E55D008636C64762C3E77499D6E8FDCF7B8C3D3242A1C3A8744F54810C45D07AFCCCC5839C75F1F37AA28C6CF2C8BB008479F825687D8A2F1FE6FE9F54CE15FB6753F962C585A25B25D73DA1FC469CF5323CD7E1BC0B40E2A084A6A9DEBC42ECCB1C4BDDF34F4101089162DD835EA1387CA6489E35D82F6FAEA975E82CE3AA86382EA614E3143C4DDCD57C4D54B11E2A783D0CC8BB0050FDE1D0B9043F2D725B4098F32BE7C687CA70BF303C023FF0811FE103EB1910674ADE29EA90B63C47D88A45114BDE1DA188715DDA84398A2C8800D01A3F12E113E147AF3A58DACE1DB447D0697B391C36A507A342A79EBF52928C83BE79FBD4215D86431B626311AF781B43B9B8A950D7D216440088486BA61B6F40AD5A24130CBAD660EC11A853848C1862AFC8200CD383ACE5ECE732BCBB616B253B09792B5F566561B50EA9CAA2FB8C6CC1E7C9F110AC6D7BF553BF6120E3E52A5C3001A006ED7B807E1D76FD3E921B871E5157552F7E28C3DD6163147B0B2B8797DC307A47DAFF9261DD0D3B6D6A9E28FB656324FB47A679E3CBEC17FA6D7C418F68C0C5948A3E9369BEDDC52BA800D0F9F9106357288D10A29760740B48278F60F7CB18E8A9175ACFE0B8570F3DED794DF0C94E29DB072701A2EF16E2AECA39723C84E8C3038F34D4ED61193187E1820A00B56B6D5DF4492C81763B7BB6371653C1183888A6DD1D33C2EC611031E6A60F468010BE8F88C319185BBAF9501EB6C36EA73CDD59519946883DE486A57B77B698BF435E87CA386877DDD273E4934432566EC30517006A9E11D1279326AC3455889BAB6F973EE4E042E2A3D8563047D95401CA29E8B9D7BA50BBF46AAD603331A70C911383990BA96C19EE17AEBE49ECE3083E438DE3AFACADD5331622357DCF400221007419055CFC66CB4D02730FB1BF885F27C3DDE1E80170D4E46CB31B46EF60D22C1CF63C5B86671AA6B4287FB60FFE96683873E7D0B66FADE9A8CD7E6A3E1A3C8EB1902CF0130801201A68438C9B3124BEA6D2435C71EA7CCB774E275F429CD5FB0E5EC3CAAA81866F7C0E6449574EFB521A4A4B79C8F5C1B981ABD1FB3DA315D543C6A3308C5E072387494A1C676B82F23D82C00840E29AD590467B039E5E015D20DC46B7834844AE6A30A75735580F9DFD9808C197FF11CCCB77C9844646BD007B0ABD79BC1C972A0CF7EF7331EC3FD99ED683068DFD6E94F5B01B58D168CEC281D0FBA81E6E38BD5BCC9C83A188EAE0794221BF1B453C28790B044600A8C52D35111CD814F7C8AD87109C8C1DC28EE51D94C36B1D21E6013EFED377AC7B698D6D1CCE7E87DEF65725AD6011F4E487622BD88D623933E4F86498E2D0F31782F10FE35F4FC25DBF7F330E6397BBC28C8490393475890B3E7DDB7AC06DCDAB5A600EC68836C18D9F78E77CE9DA19BAEA2AAE20E607102801A0261B9A310DE3A9622C424F9A4FC62230BF11A3C19C2479F07EFEAA46EB2E768C88636EA655C3C6645CF2B77D3A988233611B20086392F0E42FC1280E787412D86F38DF188DB25FF163D1A9DB9F8A86D81412C2649884D17EC17A24B98B292C361775F38C0A1088364D17B5C93441F80DE42D6115F5D64538FFAB8C04F0A67903BDED585FC27136B9B52E7AAB58C90E356DB60A8C1CE48B0720A60BD2359E6F8F1F06DCE353E232F6AEA1B3117CE46EC1AAAA8F0F7398BDDA2F0D98FC8466680B6DD36E96E351EEE296BAE844199E8F7051DD12D65217B90F44695109E3CF7C10F6D9FEBD8D840E00056D13185605D8AB6AFA5D106238FE27B7FFA7663EF2300C56E9663EE5B0B62EBC068AE71FFCF2C74870BA6D0A655F2361F0D18D8E91CB2F6D2160819B028808698D45129580FB74DF7EC6E94BA7F09DC9283E827D66F463156092CF2892C44AFF8BB4F7521E94978C49F56BAE8B5E8E1B466F96E376851D65D907BDA260061FFF3AEE82065200A86A096311578D45EEC660B85D76D020FD2CBF8F3CF10AF60DDDDE01CD7D1C66F58C366D12790397D220EDC59487BB3CF9BDA54E87632B5F20C3E530948A821A7CE4FAB8C38115005A5661417898BBB2EE77E86ACB4315FAD99D6DA5E2169027A221361053C224FCBFE7CEC3FD4E718413EDC5FE8DD2B8E3D2BDB7CE34A64310EBD3E168A1D00D8534F8A4AB5B385D64A1E26839F5E90BD603D0A2CF4D55070CD122D34FB4B46FDCDC8639FFF6B6956C88BD4BE93BA63DEF3743500AC3A3D80B1000275579E9E02D338D6BABEA4D079FA19DE587E7D8CEAFB1257C67D395FC2BBFF842C2F22E00B4B76F7F6D8DC0B2EE48EEF0BDD19371BD137F69F88CF0FAD93099256E076BB51E81B67F563AC240387E5135D73CABB9C6F84B3A3C775C3B8349B9F45130DD985D78E7E25BB245FB3D500C7F6AEFB0568F5A2446D297CB082771244CF053D0CEFE98A26298263E125C7FAEA5867FEE9747AE60795B060E6F140762676C16AEC8B818CC533664C09C4FB8D016E056D091C4DC4C1A0CA26D0EED670C6EBA9C7F9B097EAE70C8E0833D7F4C2F7E7BFEBB4B85F2F82A3634B1E52DAE86500CDE1D937CE334022D8BE8A266CDB4E8DB49684FFC167419880B1F4F3685F90AF6D727FA319F1A88E1B9BFC39C9BD3301FBB84DE071DEE10FBCB78C19756A90D3E527D85F811ED6FF8339F7005743271563CCE5FC60891F1F6B5B794EC42395702E99A77CC81CF62783C30BBAAEDC6C6726B51B8C2A8C6FAF0F5DDD0F6372126A5321629B83900A434F808FE1656085DD229D01B7AA1B33C98B8302B0775766799530120650EEE548F41E2FBBA0BCDEA9DF3F9586E4D25858F6BDA6F21049E991679FB1A8BB22AA31BC87166CE2686C9598422FC024DE31761D8B7E5B8CCC2892B66EFC7C559076486DF35AC9C2A81B812ED420C6947CB5523A28071CDD00736216E38700E9671284C3D1FCCEF70A6206311F6E0EF41D4256E7CE475322C83CB10975F050A1F22463D2E40FDDDD5814EC7FFDC6EF0D95031DF6CC3BDA20F00052A8BFC247C019F42C43E881D8AE9AF8F1743F4DB69C6A9FDD86FC8CD935301C09568E749B40153D9E721C6C734D5192F269B54591F5F29987D5A329CFC15CCF928F99EFC256391659BE340F2EF2761F40B21385D2ECB1D9F8B7794A9640BE6B77143D4242342B6F6892D6C95F97029B707E9C7AD3F67D70E66F53CF103BBCD7A02797AB7A685337EB6105367638594CCB3277F733A05A00F0F512ACBF994A63ABD83F914DF3233320AA3C13B0A2EC35E9CF4D0C922C1B46B247070825CDCED3EE103C5566903E8F2CD5EFD8C6392CCA7CAD3FD01E1083F5F6E0844ECA055F3CC2364784F85732600740D9A9FC61F32F467FC2ACF43FC0619CE851820C3289C301671D6EA17574818A6B61D21D9E0E3D3062C0597F86D5FD35532980A54DB030BF5CF55BB722600A188D75B37D900C731F74DBEBB7FE1BFB58F3B9C78973C7E93F120B48884392984F1242C08BFE8AD3E061F2D26D70DD5EF27C3289CF02A127C2F390ED38292878CD3D570CE74003A065D591FDB26CFD58EA95D86CA5EE5AEF0E85B85F1CDD7D604599902CE076E3CF73B198B7013E78598737D3654DC98F97BEFDB4F5F289786A9FB43EC71781FCEC68E5C2006C89FAAFBF4DD38A600F5DE847038A2E842DE0CBB1ECA990024AAC4F90A2C91A4794D5C09C6C5B9A62F6A9EC1B60D5B601DF3ED76F316E01F2B37039F855921C3DC61DCC4F9B03B1CC47787336A83D76C8C93D03B2DEB596C904D3CE088F03AF303D6FB2B2B7E81E388EBE53640C05FCEE5B9C19C4D01D4107CD26DB1DC2048B806A1982E6C736B65A3B5231E17AFA3876029A83C1BB5FEFA72055A6480D69AE83B58F93CAF565B1C6BDB76337C1A777C11B7BE86B2F87BBFDE0F2ADEA1A6ED39484E05009F745B87F9FAC194D5F5D940E9C0E5FCAAA68B78CEE6BE8E72F2F012E2DA54D0C1F42B2AA1284B1ECF493CA479E9A0A322B4EF91B327A70240B5DE677FFD520C631BB26901F0E7D145CBD9A409326EE2B3B69CFD06BD39F3B53CC7B5F74C3F03FE0E5DDC49CC8C223917003A00DA2BAA9F0A697EB4B32A81F1308B6A93605FEFD848E92C4DB1C4E3EABB07B8467723ED3207A7AB3768B5AE57C4F859735D62A7341D6AB7E3722E0054435A11B4D419E37928540D262F0311BEF3D49CA45D63B771AE0F6A99A9DFE6892BA1404B6DF4E968441FA8313E074BD8B7DC4D035DDAA02BACD6381FDF5CAB57C82B04376E4FBEE7CD1FC05D6972FAF8E7E76C405BD8EA17B1F5ADAB6BE114B2073E7010D9CFB2ACFE3CAEC79C43D8965CEA3CA9FC0172BB0C4CC1D4F68F3DE76C6D9BA2D8C081DBBD83121E4285AA5C5EA6804235AE5C6EE714280B40E7342A698CB20094347B3B6F5C59003AA75149634000D4CD09278EEFF1969F92A2803F4FB943E72B946353716E1D5752AD2F37065FBA56794ABCA71180FCF2BC8FE043BD8072A8E829E0CB53BE099B52EC39B9717040B8BCD01F3392EB540E779D02C44BE2A9920378AF8570658912C1840E93ED325CCBA2FAF4A9C86548802990E021780953B372ED0DF13EE1AD0A078DBF80E167AAED8082C8D9FF00E9AFD8ABFF271C5B32B766A999952179A200F8A5E160C911E0D7CFE1B88CABE9E9C491F470FE382CAE67EDDA0A0EE95731DBAA861048FE7AE4BCC1CE4446678A9C1A25A5CA9583DDA200F895FEE1FC4B463CC793908CD619FC7D08C9394173B24CDF8A726C9728408EB4E07582E74901A08C7071E1AA90A60DA7831B5DCAB89C28F014481CCA018F89D7C9CA7AE686B53591169D1BC7037131D9A79348E5DFE2A640BBAFC162E22DF1D8DD9A8412E80624DFE950622C161F8BF3FA9558421C8C4CF6833E90123F99AEFC1B000A6087073CFB023CDBC2056F8946234FC22947D9F00B404DCB552853A04C813205CA142853A04C813205CA1428040502A5D59FBE40ECF5A56D8D2A0421F25DA6C6B42D5892ADCF77B9727905F10A962B910C6FB7AD83852D7C8C53498CD2F9B5B9F3385A93F62EC47CB4D6B311948F02CB65048B02650108163FF25E9BB200E49DE4C12A30503A80E6E83B39B336048B4439ABCDBB39CBB99C719902650A9429901105FE1F560CE88BB1690FF80000000049454E44AE426082), +(62,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000158A494441547801ED5D0B9814D5953EB7BABB7A188206038828B0F81609AE462509330801445440FC842446A32E312E311245549E0BC8F052D42F9A3509F105CB262A4920222F411D99594982ACC40DEB2A04230AA8C8C317D355DD5577FFDBD093AEBAD5EFAAEA9E99BA7C43D73DF7DC73CF3DE7D4BDE73E8B28086D5A022C9FDACFE25CD9BB9842F9E006389521816E3F24631663662E6E1C0D60E093BC2AB137FE7DC6CDD144AC9673DE3E17A120BDF224C018FB82883770A6AC08778B2CADBF89C5EC5C4A0630A04EFB3614BE88139D62470EE22D570250F4FB3088499BA6479F49AF45B30188667E635DFC3E22F3CE7484E0B9B5494079A0617AE42E1803DE71222555BD17EBF4BA40F92969B4E65FF3CE0175FADC540D932D40CDBCD89564D0AA14D0E917166310C7BF2054BE04183174E3D99DF6108D689C5AF53C1BF8320F271AF5BFC25938CB5E33D0D9C119CDA490FAA7C6296C973D3D8857AE046AE6F353C9D0FBA1A19F8DF7F60C9953F656B846EDC36AE769577183AF9010185B7E52B57AC3F289AC494A0B002D4602631EE4EDF61DD19710E763EC4CA355BF4A219346D91310DF7D42441D1728DF41322D0C247428742974EAC03A0C80533F2981D14F9FBB877D26C103408B94405297D0A9C43C74AF10A36EF6849012DA628705F1962D01479D42F70ABCC5E3ED550B9961A7E6C28E16C45B90049C742A74DF3C0F905E17251C0CF7D2E5D11A9E33E9D4D1005A4385833AE42781C000F29353ABC50A0CA0D5AA36BF8A85F343F3070B4E099B3D1BE3922C61E64CE2A9858C2C68654BCAA70E82B959B372AFD5FB510956332726CDEF5745A23D374E66BBBD6660401DEFCE997E1DE734126E676F4C471F97B34CAC6231E21FC30C3673622BC3A7447EE3B4CE9D938E8B083573E24388196360B943C1D32998758BE4220F23D680F32EA6DBD731853DFDCAD4C8E65C794A491FB280F788C5B577ED34CA620062C389B1479F0DA54FC03C75959DA942E210BA58E79E8C75EEFF2C249F1BB88316E8E7C5E3E623A0555B2A3DD4617584AB3F796906FB5BA9B49CF2673200DF7D80DAB9FC24E37D7D139ACABB4B55BEA8A8D8B86272BE6C405DECDFC5C29653E5BD80D5D46963E271FE2A6897AC7CC11FE47185CEF42DB573E383BDE037134D5F0D60E442DE819BFA0628FEA24C0C150B3739FDC878557BB8D8FC85E4AB9D1BBB0296F734D4565D48BE9CB89C7724D37CBEB64EBF3827AE4B08BE1AC0415D7F0C423BD725DE2532DCA4F13575FAF552828B00D1947293FD1AF5F04476475B457325CA9166685DAC463329DF9ACCDA79F1FEDC30C636979CFEC0D80AF4E54B4211756B872FD3C1F424FBF3E787F45E46825D68129F8C76F36C7B3A7173C1885FF2DFADBA851D91D25C006809B1734A7656E1CC7D8EF1CB7C464ABD1A0E6F6FD791E2998A3B7490A2E144E23C839943E1004F023D351D17B09362097D326053D2E15E3CFB66006498774B158047AF3076E3A669EA52292D33603B92B6C3917C068EE4CFD177DE6843ED76E8E3F875802DB6C14B8E7EAB8E9FAC73FD7B3221B63D1456AFAC9FC2FE2EA739428471D68BBF8173B5DF1826AD15BE4C3A265E88DBB0967FAFD74BF29E3463E91511CF7823AB31761B6A8743FF3F2B50F9CD24C4D0EF4BC7A9FF0AEFF97F9B81A907CEAF4A3DBAF91BE7F19152D3CF583CACB0EB0A50BE85A5FA69D1BF320A89F57A4B8061B7FF30A64932B320B910F1C5000E1F489C8FE6BA9D855F689F2BD19916588191B51398C618CDB567C3DBF34D3BCC9D3897E862CBD5EFEAA7A9DB4AA1BF6946E405E46FB0D3300D269567C72935EE8B0170D3EC66671482DB897D8687ECF082E3112EED5DC0DB73BC68750AA6952B03E3523D3893CBCF45C6299D3145AA078C5B2ACF296F29307F7C00C63AA205B0F2C9B82B9B4C958BA2EF988D6252CD1A3ED99F98583B47FFC40A2D35C6BBA30BB01009117BC70228328217629795320871EA5824B9BCB3F9630079B3533862E7FDC4F7396433B931C7015C12084B1507D0BD58822936D5B5E0E04B17D082E5D3EA590F0CA0D5AB387B050303C82E9F569FDAE27D804C1AC2FCC07AA449C7A133E1E703C742F40598AAFD4A3EB82D05A7D51A4084D4712F4D677BDC5444ED1CEDBF410F2381D613822EA0F5E8B2A89AF863009C1CCE17626EC085B07FB7F3583952ED5466890532992637DCA907CEF33AC9C3D52ECCA9F63E19009387EA9CFABAB181C3D0125FB3570CFDBFB67E22CBBAAA68CF93675CAE87624AE5E749CB82867932890EEAB1D782E441C4170308ABE1FFB3F32ED6BD8D57F56BECF082E3A62956FE2C01C294CAB3201419C18CCF9BF6AC98C11B2936BAD8E185C4872EC41433A341F63C4EE5D9714A8DFB6200F5F730B16F4F3850D660F247C412AB15987F6CC03CED6A1892640098AD7B2E7F2AF96386424CA20B63EB7E28AEFF347F2A56CC31CFF250535C7F4CAC5F5852B058168A449EB7C03C88F86200826FEC967DDCCE3F2CBC539CB4D7C5FEBA59581BB4A7678A8B851E78E4F3B003E8590907CBB3589B5F2AC15D00D44F8EBC865BD3FE622705E5DD5453177B61C01CDECB9E962D8EBD007D3E785B7F15EB24C3ED78D8F9BC5EBC3876B8DB71DF8681BD3B477EF5E647FAED7863CF48AF04DEA0CE308F677147D1E710E2368CB573F5DDBD0EEFD77B834EC871169EF1C5589BDF995E865BCF68C538366DDEC34D639D4493D35093B45DD866BF9B18DB8EAE21E38E20387C51F07E5EC2E45D253A490033C36136D939CD5DA86F06B0F81616AF99AF7F17771135487B03502728F44BF8AF06BFB96B980105DBB2FE27F465D553C1354C8BACC7A6D047D0FADC9681D11EA85F8F0C2C1ECD923511280A4D7D79B22AB53419CA2B099C77B35B5229C732374E51B73285AEC51BE2302C2CAD04AC9DEF44D33FB2FE56ECCDF338743D237A078CEDB75E14837AFCAC715A74A117B49D68FA6A00828186A9D195616203E0F5FECD89A16260689A57575747FB15BB2DABD032978F65C6A6E9EA58943B133E815E687E277CD0FA8298726BC3F4AA4C2D8B53B69261BE1B80E0B87EBAFA5AEFCED173B083768268B68BAA059C3D18D106DC7C7169C3F4E8951E8DFB33B226FC01947BAF42EAD968D19EC05F71BB9B187D8856F19190AA9EDE385D7D3463811E2594E56898BD2E49EF39A49D83814037CEB17B9893C55184A12C439E3F8B7CD85C7A18C2DF1BAA0E6FADBF831DB6D32A575C4C6A2536C7BF4626EF8156A1339CC0D03F78E1F7C3B789FE238E6E5E2138C44AC3E0A9916DB3F2B8D4393D6F31CF998E86F9E60466637AD30CF60ED2C51F612420B65D5B0D80D14634B94B447AA586FA412CD1B48EAA15834E572FA785E8CB9B6FEA164356F06D3100CC296C84A3B7BD615A796B54962EA0BC5576BF740C6599B686A6E12ED50DD0FA3C3CAFE7EBA98BFB25B94F31308012650A4577D7D6D27A9C4DACC3E82ED9ECE37748CCA06DB1B5747989E43DCF1E18409122E66B280A05DFA525683B5A80A112191CEFC25CC1EAA635F474D7E8DF313B5D9921308002F5C25FA6B0BE8EAED738BD0905DF87B73DFB4210A76F3FDEBB6FF5CD274FA18E910F0B2CCD7BF4C000F29431DEF8CEB1D5F493D811DA6918B4148ACF7BDE3F82034C634F7C8896F5399326749F40A755FB32C99757CD2A62149017A73E23E1EA877689C3748121AED265340C474FBE05A5679517DAF923C0DD872EE134277655DC0A33A2F3E2E45F9C479F8BACA6673107B0395A457F6683E803A73C5EC3B256C8EBC22B813EDEEA0731B77031E61EC250202629498502BB6887A98BF0EE933C42F3B902867DEBB13C35BECAA0BD31861101D15DC89FF1FA1BB40AA782E6647423845685C0C76788EF41894DC827169212E2AF4AA5916C287D82674F429B370008FC3C28BFBF906E52CFC7940D25E415A078713A7952D5E5B4362DC3BFF117E9F198460B40F43B69F08C8F284EF812671F65220D2D4E6A5ACCF5C7C0072852A478C3FF82D9BC6BA3C3A9AF4DF9498A6C30BDDBEE72FA6E2842E79B2CFC5BE01B4516E569B6A0052840BC78DBBFC09BFA07FC2EAD1A4EE2DC41CEA05E4A383A9E18135B03BF80D138DC0EF81DD0E89533630A01A74F538F5EFC06069045AA5034467BF43A34F027FC35AA5D680DBB108E5E1101AD8458FD9C2AFEF435F475D015D7C3F4C36F3FC03A1541D2952C8101388951C15D3F117A2C1AA2DDF0CE8533E66AC05AC11F4150FC258398364E987426FE1A5230BF7E03037092B4493BAA86D02EA7242F606C187D8409A64F1345B52DA571143881A5C9AFC5E70E0CA05254D8240D007DE12C30005FC45CB985040650B9BAF185B3C0007C1173E5165271A3006C12DD878313EF5844A670314FDE36435B98081A3C979F6886F44E3CC13A6049E651685AFC59C2C005F19A2420C163A4F0CFE32175CF7F051FB7B4C8A89848D95A804BEFE7ED639A7E07EEFABF5933B51E47B750625E4CAC83E50A985567A6CE6BEBB42D3845733FCE1A78724823171BAD21BD2C3E006E0EBFA449D37640F97320C41E45091297F6E150E6C5F8F0F5729CC7DB34F0BE4CE7EC8AA2DE6632F96E0003EAB4EFE1EAD80D98073FC94529D71A9AB665D0C2D8592ED26C13A47C35808175F11AEC9E7D028727236E4B179DC729099DADAA99EF78D58ADBC5B51A7ABEF900C31FE6D1CF3ED59641728E1B1CB0DAF6018E576D457AD6E3E13861D30B2385F3D1FCB7B76B01696790A12F027C9C3D2D883B4BC03703F8FC33ED4798ECEC6967034BAEEFE12E8C1F1CBB32DD9EEC1817B76AECDBA14FC2F1ABD93004CB891B18D20D03166A8B36DD1395AE737124D6C681FE750126BBC92E6B287F5FA82A7A4121CA1734C4E95C71841ADF1B1969A70983089971FABE1D1EC49D25E08B01F4175F0B23FE55990536BE7E12FB5886E707118603237A4CC2E63442826502385C61079A276442F70CAE64285397AFA67393075F0C001E9FF502A4640DD891AE67AA255F828417FE1907819C819600BD41EE00AC031296ED74B294EE0120C1AC0762451130C404BB9C3EF5A0B86692BE1840C2D0E4AF77307A4334E5CD9C14F9D0BE7D58BE7D0C5FE11AF4007D251F9210C05B763C18C5D97698D7F184414E43588937B7F9F0C500148385EC8CE3162C57F6BA1F778AF39E7925663D8E6D2F3F15C7DD64C97B075271F18BA6A33F5FE7EA3C453A79C76738B463ED09E043E2CD8E536ADC17032895492FF3473BD12BD0F847E96560922AAC9BF42FE9302F9F631BE954F030D85E06E63696DB616EC7DBBC0160976F1C7DAD989FB0044C58DD2C4E005B805E4534FA318CCEEEB3ECC19983BCB69E97C2966FF300A530594C5E7CE0715ECD1C2DAFAC13DF6E38FE81D387D8717BC68E6EE39E694F7033AEADA73EDCA01F4B1BC2182D81619A6E96E544ABD51A005EA751187A3A8C3E6431BCF1690DBDF1590DF5EDD0684944BF3C59DB404F4787CA77045B108B8C88B71E770C2C86F22D53E3507C1CE70CE5E16D91E564CBD6E6BB8094707EFEFE22D1065B4625E8835553A7A7B0653BE321CF54FE627EF5B5242EC4FA863D2F0CE38176C38EDE99644F733B1E18C03189EE6CFA676A323B3CE920E08BB526FA0F873EDA01357F10EE11BA0606365FCA81A9F1AA30D549708F00E53400BBD3535415F777969CA7A2E8884C4FEDBF572844BAC603CABF06F700DD5F34615BC6F87AFA2694EF68540AA3DB7150E40B5B16CFA23EF9002AFC29AB4306019CEE4AAD36EBCE74145CD546ACA0FABD14BFFD83F1EC8E9BD02CAF027F96B90B18C19D38E09980673E057D34928B0B4D6B69A091A0152020772B70FC40FFF7C5512E2E5741022AAE08A288424734BB3FCBE9D4818B78A752D602043FA6C970B8D2A60FDCDAD9302D2A37AF7954005A592B2E7F82FFFDA01D1D46700FD27A62787823A668AD166D4776886BABE95A5C08F124B8755A127FB5AA27FDD0219BA7205FBA00234E079277E1DAAA9288690B6CA082A2625FA149E60C874C8D0EB0BC4138FAFD109AE2271C33E0C28718A75760086739A63B00C57533C07F0053CCCB32287F37FAFDD1EC5C72E5DE61071632827C3180FA594C9CB05D2771C1691C3EF07C9B04CF03203ED3D214D39FC2CB7F9A84CED90A09562040ED49E3D1D4AFC990AD1FCADD862EE14E716B58069C2438BE966A70DDCC36BCF913D182C87E0F662195305D210E8866A3E3555A56E6DD2C9487D87C0CB2AEC676308B1038990FD7D6C546E1F3E94B4321BE3561A807B395ABB0C43F19A671D1C1B83611783D255C46EF76382EF26B095E2040BC8D50EE28DCDF235A82EBEDD9A14CD1872F42FA6D78BB1F8C76A027594DF29E1F54911478F9626AF76E1CF91E62CF9B8A4310BBF07C697458F2EE8014D8D75F5F2F8BC636EE27B04C7B939735642136C6CD6DE2E2AD152300FCDE998D6F285378396FC1BC0FE3B92FF0A52D6BE9F981B32D5A4DC3FDBA1D2CD365D1BE7401A98A77AD566FC522F76BA9B8DBBFF033EE7353F9823FE1F1E3768F49387FF0033C675C9B47DFAEE0EF1C740DDFC8A57C74044BA38C2EF14BF9D9E4ECAB012C9FC89AA28A7A1904509F8DA962D230E49BBF699A779F8B69379C1EC78D217D60042F14C35F320FA3BD5818BF129747DDE0F5468F7C79F4D50004532F4E6507C2FD31BBAEB0E978BF32BE51F956006FFDDB2146231B6644A7E2192FA177018EDA7B680D8685140C031DBE2198A964D17200FFA1AA76746ED565B43A135E39E0BE3981E9951377EB233E17F300BF4CC4E263B1E8350A4D676FCED889B9CF0CB023D0F35E7C39E28F68495686FAAB7F38462FBD084F9FD5E1B404CDFC52387A43C0C304147619E2922C9346C2E8D1683B7A0ACDBDE7DF322AA6D212D3C5102936CFB149A0E6C3A0621FDF2D8B6541A6D3175F1F4B8F97EB59F806287B83F8E3AF5175E2005D681AD41DFB0854287E3FAE7F7D1D7705EE29177FF9965B5603B03379AC09AF0805DB79CB163F7675DCA66C38959AE6BB0F50A98268AB7C0506D056357FACDE81010406D0C625D0C6AB1FB4008101B47109B4F1EAA305C005E6B680D3B5965DAAB6E420DA0225E0AC536662DF0397D6A1E34CEFD302EB18B09C45024E3A15BA172DC07B523ECE2E916001A0654BC051A7EC3D0573D9623AD31270A0E2D6DAB95A5F0B3088B45809085D0A9D4A1580EE9510630E0710B98A459995B8CEADBF942900B428092475085D62E3ACB41155E81EEB16E28BDDDAEFA1F0D172CDE020327C23075FB7C0F7ED7662F5437218E53C01A4DC1280BE14EC413C1DFAFA3A96AC4641F9F2709FB1158DD3A3571F5D0C0AA99370BBD6401841472BF3C8C86934088DC601C620B41009405FD903B6CD93D03942D2321AA7B05D3092B1D8FFD4E256E2B2D73448952420740C5D27759E320081D43823B231A42883B1CEBD5FCA14005A8504846E858E85AE5315B2F40DAF4C8D34A82CFA5520FE027BECC4AE9D20B40209085D0A9D0ADD0A1DA75729E904A60352CF3875D325168B8FC095CCB518429C0C2227C01FC8889FCA17FC56800430C3039D1D84CEF630CE1AAAAA22AB5EB88B49137E15C069C0422081400281040209041208241048209040392450515EBD38F27DC8D0879543107E97A990B20743B2CD7E976B2FAFA2CE057C6AE8278B6F00D9996C8D718399E20E83ABCB5D37CB4450B99909CAF75F028101F82FF38A2A3130808A5287FFCC54940FA0986A13237D8BFF62284B893BCA526A50682081400281049A25F0FFCE0DE132F3F3CEFF0000000049454E44AE426082), +(63,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000220C494441547801ED5D097C1445D6AFEA99E949B83C1114415D7751C4FB5E4842385CD445D7135D5D57D95DEF5B5124090A9B04F0763DD6630F3C5677156F76C583232441C155BCE5130F944B94552E49A67B66BABEFF9BC924DD55DD93C9CC6432E034BF3055AF5E9DEF75D5ABF75E553356787ED423C053E9FDA8E962BB90603BA5825BC0C98F1128E2ECBB3937F08DEDB5C69501CA6788A2C89AF06FB9B04E668C970A21BAB75750213DFF468073BE8531D120B8F69C7FB7C0A375E378486EA5C2006535C61920F86D82B1DD65E4427CEB1D01107A1518627C7D55F0497B2F5A1960B210DA9C9AF02D8C59D7DA110AE16D6D04B4DB1BAA02D78119F08E33A625BA37B7C6AC29103F311ADBF2AF756D598D599BE8616C0628991A1AC3A26C5602E8F60B8E8932817F8527FF4780338E65DC97B4A13E76426345D1BF79F97CE18F349A1F4258D847CE80723E159CDDC47CFAE2C689FC0B39BD10CFDF112899267EC2A2E65198E8A7E0BDFD99DA52FE89BF44DF9F974E354E1251F19C82C0F9CC5DBBE9E7CEBC86372B6905C0563302A7DF218ABF6E321F61429C2E371AB3FA491AB3D8AFE404C457EC18D07F5F20BECBC86C6520A221D19268EAD2743080604729099CFDE9C5097CB3022F00B6CA1188D11234551A0FDA6B8CB3DDE4049FE6FBAF0C2BC4B7EE1170A52968AF415ADC4EEE9ACFF2BB4D17325A21BE158D801B4D89F6AD7A007B5F347F61BB671F8F6D21EC45535706C8F70E83735B3598F9DED67C6F9F3FDF1B48ED1B3635FC73CB8A8E63829723DABFACD60C945687D6C350B5082A8FB93ECEE7D45506A1CB283C1D1D81BC66805FDC2ABA3787CC87A3D1E869F18EB52822E33F3B437935068BD5988810ACB4DAF8806BAC664485FEF464CEAD8E0EC48F153F6F9780B21AD1BFC9301BA1C56A217E721201EF00CB124FC2A6F16159AD71566199483E5E89D4BC6480D39F123E8B99CF427B7570A2A1A9FE82110681111E2FAD355E25264A35DF8F152F2F19E0EB65C69520FEE1191145B05182991F94D498E76454CE369E39EF18A0FC4EB13D8C507F94C79DAC9180DFCA7DBE12EEE3837D1A3B1E5AAC5A7274907113F1988E43588F96D6184F97DF277A24E085DFB611C83B21D06A0A9F08C2292E6820F4D9F5931CDE2C1FA31BB3B15CDCF4ED32E3788BF1E9C8B75F5BD7DA42809F1A596FEE3DA2468C9957C557B7A5746E0842EC2ECD6173086CB37B5B96D69F33B193E0C2D098B6051BD90F7C4C2CEAEADD4BDE3180B0C4A90A59387B4D76654AE0CC1C0B3F05C666C1AC3D3BBAD0B80C5B433837A9DA4D92274C6E2C2EAF35C7D455EAEF26F267F317156B73A7454AB9151D0B55C5314D212366868D6F5AACB8760D110BFF281241E525D5C6DBDCC7A63754049FCE665B522D2BAF9600F24D806D62B4DC78EE66C89090EA86F3484355D15D01A60F46198D52723C2A58BFA8251ACAA6868E774D4F1358562DF6C23273EBDC1A63B58846EB2CC12E71B7C1BB55200E83397E26F2CF20675C378CCE84E51503B0456C77BCBD414787E1BBE6EB165CE8802589D014EF1F1A1CCE389F8EBFF8CB67C307617A88287F61588D018FE7CC9ED2A9E1612535C68BD8B17C86768F47657DD32D11F9CF8BAE32FF996EFE74F3E51503082BB297DC1190F0B3BAABF906199E2C4EB34163557022D3C489101EE11AED7CC0047EAC1B4F0EAB099DE04C492D06CD6469494D681EBDED585A5086C8CA38A25D2795D586AE4CAD15D9C1CA4AC3B3D314C6303DEF29978541592BC3528D93CF9BE6E3C3B184AC53F2081180E03873586DE83825CD03307CBA31B8B426F40A3493F558C3877BA039C0A87B2598F0059A91A0A9BC1EE1091A677F06D20A07624B044ACDCA5C2E057925046A9AD5CB9294B818B04D6E03952A6CC144FDBF65B784863293BD82C175CC30B4DC58823F5B521D3EA17152608E5799F0AFDB815BC69448985D8C69BEFD31E3FC2DCC0AFFF46BFCA5BA8AE0FFB9958BDDCB155F2F8327B61037D8D3D1C6DED69AF058C01EB5C33B2B9C573300B334128C1D0F064499C21D082944EAAF2FFAD4A70787408FB05446C70C03C1CB7AA1BCC674553CC1F0F45B1E353F1516BB9C960E397F220E46DD8237FC1E10FD002C3F47345615DDE1457CCA43BB97D832C5D9FC4419895F30667922DCD9BFF9C500F19D91A3CF9842159D800321C548DDF57C6D91AE8FC20EE173358BE81665D68B76D531CE430EC0743FDBB2AC4740909DD43C710808FF1DD37855B76EFA8086CAA22B3ABEAFD76628650BE6CA8C0A5E16009E1C9D85B2D32942990130456E9F4E416E795E9BC0D780B0234261A301E903EC3898697685EA7816348625D6F7E1B34311F356ACF33DED38F630BDF1580EEEECD14BBF75F615E92F537E28842228C8FE4059B48B3DDE99E1BC6200747C435C5BD2D665C1B9E2B2D696DAF1104ECCAE289F264646A3463D11DD59823828FA3DA67B26FACAED68C58B6F2D67E85CAF985BC9BF6985A71BD0021B9865387273C19D5B61476A762379B504081FFF52EE1E54C0FD6558A6F1BA89FC33BF5F3B0E32C10F725931E2CBC09638F0DF81A66A08D6EEDF6785F854AE65AA360A8E735A397AF28A018222F0A5DC6FACBFDB914E5D86671A9F7F83FE9EC6C559501D4BFB0E9792396FD634367E64957E785D95BEC805236D509469FD94CC82AD51609D04C82B06985BC1BF737B2B8D70649FCEE83FEF1E6C8050E8BA4D4BD487F6BC0185D2C1F59545B7778EA751F4C0445D895F188A5625C29DFD9B570CD0D2D9E572A72DA19E5B94713A1A87C3C881912DC65B10325D2D88541E969F75D66EFA6828949675B4FC94F12D7EA40BEE7B2EB04E01E51F0370B644EEA910D611322C93784C056CB18510F4F64E560E84F3DEDA1AF3A1643899A491E713DEF69172199A26DE90619D15CF3F06107CB1DC5948C53F9761E9C64B6B435747057F1EC29E2A7CB9140ABC334B6BCDF35C923206AD5B16F93966A01D1C0561972158F047CC001A5318006FE2E0E3EE16BD1C03D5C108999AA1D8B91F1ABD3B5C8D371878ECED1F76130A2188DE4D26DF0E56D92E7A9445CF969160FC7AB3A182ABB60B19314BF1BC9B017C4302EF43F00A39FB27B4A6CD11F510AB13C93386A9568F2C349FC2AB75911B12297520E59FD650151C07CDE3140547889E16371E9D0C870F252D4D00B5094E23A4F3773E9A78C609E8DC58D63A94AD669229176FE8DB727951CB52D64A19C72D4EE7E3D72E335EC454EB65FF5FE3E7BE33823E7D11F923FAFAE9B8278991A6D0F908563277AA39C1094C3FF6CD3213E7F5C58E7209012BF8AC0CEBCC785E69025B3BCAF9AB20D8D0D6380538FB25FE7758CE88609661F68747CD0098E4FB23CF00E041C52BFAE3EDEA0361AAFBD74D461F087B014759CEC86E612BF2EFB009BE339110530D69D00D60BEC0512407AA60D525B5663F00E152C65772BFB542EBA1AFACBB54552839F2B94450C1553218E52E983789BBD82A64CCECC5F392017C8CBF1461C239150BB13F84B13BB01EEF8981DA07D4E91FF9C1B0E9EA5BF43948883F82C9A6E5444AFBBF96EBCC88BAE1C7292E4D5421C030D6F7068357D07A30D90AB46B29AEDD7A1F8CF3BECF1F7CAF6E0277DDCF97D7844B2222AA187CB014DDDF7EDBB28B91770C109BB24391EE5086D2BBE890D485655D4DDD4F1020BB4391416971497E07B4EB20F87B9E4925454C628CD037984416E2FCE242A6690BF7DB29B0E4A10B7938C2A237BAD4F66D9F81FA732EF04E05E50503C061E36796C9A09B67C7ADDD629663EB051BFD36F008D607EC7A0A38F614B83BB18FBF353795569BEF40AF314CE99DC6EF868F002D42397DBA8C016091DBD38A9A6762A53DCB32C401D4EBF89B9DABF79B9B90F89B513F361DAC18537B3239214B4411BDC0DC2AF119DF54E4D3EFCD52251D2A26A70C407B71EB75F3149CDDBB2C12314A3BD4522F64186AB0775E854D3C4CB3D641E0229B5C10CF84B515D6353E9E6981C78B03AC69C878D62CEBF5492B672C67DD421A2B8E18ACD8D2CC628B73FAEBCE23D60CACFF3F753601B572B8F66787717A181113E719C3F7D457F85F457B73F516305E528D7BC0A5A72810DC83ECE61238ED281DCBB2D69B97E168C46520906AFDEA40C9189CAFB1AEDEE4E3EC1D9F16584E062452126DDE642E00310E568BE2A6E663BFAEAF487F7B5532CD3C8C45C49B98A31CC221DAB284717D0C1791BDF0661F8ABF4350FFA1F81B9C3E63F04F50EE5D837A07FE46F282DA9FF420E4E1044798AFE4DC9DCA00204C70CB66E32248E315A8B803265D9868E33601109BDCAE6D0FDE0EBF4FFF096CFA5F1294EAD8BCC978198C554E71C783D9C1C7C5A90B2A8B663BE06944A045BC07CBC5654A56CEAE84FFDFDD76382979BEFE3C7C00341A8732CD3A4458BC0CCC33D88ED35E18CBD372C1B49B4655061E9767ABF6F2BAA57B318083A3DD32A60B2BAB0997FDB0D1FC00C4BF0B65B44B7C0880FF03D1FF06F7E9B1DDBBEBBDC9B172D781FA6988E32610DB830D7E346A9E45109AB6F1E6FFD395F80C0295D04ECC06F1A9AE1EBD829520CAD714763C825797DF020F22DB43C25CE344FDED8649FA5FE0277809BC87A0C3E04D3694768360B6BD180EB6E2BE8345E5B5C6FEED66481321EB0C406F64496DE85E9C7FABC394183B1BE7D5364C751BB16F7E906BBE517DF709F6C59BF407107EE62BD7F0EF294F5C2A1633D5FCE2FCC950CB42C3773F6608170D1FB770DEEEEC64AEDE6A99C92131BF3FCEAF51B144AFA869DCA4C2DB2061663C8019A05B1BA435047F84E437B1620C8F8858EC6D5CE35F053904EF49769FAC32C0C85AD1076FFD7CEC852F05613C1B0BC2BFA971EDBCBEDDF45D1B2B8B2E6AA80CCC253769B7AEF999EF31198EB763CFB9B5E613F83D5F4EA338CABFB4330E5B365406FF8559EA35A54EC1FF805D8D2424C6B140B8B3D1CE63E53C984D5E6D9C5454E6EFAEEFC6997605B6224B659CB6B8D0E113518D5BBE9FA56B73DAE09987B2C600E4526D08633138D6D3748B4ECFC3858523607439AABE4A7F2495AB68EBAA028DA0E8877257F1369C21C328CE357E6343958E37AE731EF8FD5F010673302BFAECC7B25423D7484B03DA494BA0F3C15B2F7CC18B0948C7DEB054DC83F1188C534CA7A2EC254EE4B618EA39A9D930EB49E86D836616CA0A038CBE43EC2884F90AD6E23DDC9A834E2DA30B1D707A77E482CAC07C379C6430186AFF9C2C3D910606BB176F697522EEF56BBCC4F63366B31B422FB187F0773FFEAE6A9ECDF6F4C2B7C3E3873DC40C3B8CC282B1B15055D30EA0F5C1D23003F09D5B012D01B4B35ABE7D1D632468A7525FA91F0E2EFE2D70547903F9C1508742E87D81965AB9DC74E2596180A626F35170E720A501E8143A765BDF81FA01990863BE1D038F6116487A7731A6D07FD55706AF50DA600388B7B0CF7F89DD0DA27C08E1741A2D21F8BB087F7762DFF10918A352CC6FFFE8972F109C82FA42B6A28932F0E4B0A6276065D5E6A5285799FAD18F7707EDACDF96C0937F89111AABF4C72074EE8BF0E3727A2C8E1DCF964DF47597CC9F8C19008690D3C1959072A587841B9CCEC5747F5DA62A4EB2B681C19E946A688DE26D7975D02E3ADE1A6F058A788D6D677CCB96802897E34F914FC0145867594DA889CD6D8F095A8C3CF7B436201110EC9861B5E1E17488D4E2E2D60438F18BF6193808724E2AFB7B123A3176BFE15CC352A17A2E4326B86CD834336357B98C1900233939D1C1C42F7514D7A01C4BA77313B04C7E2743E20791D51906856280D6E16D39BDBD410D85D99F40F87D52684799D91CD35B2445157E7D1A66810D32120873230E913E8719A1584EC31531551D3D3A46F20C9C55CE91CBC294A35911E1665452519340326200D290E1EDDF4F2E1F13FFB5F555817A199E6E7CCE54731276164EFF8096C260F4E5CD3D63967CCFE2B1BE9763913ED713414AC06C5085A5626F09EC88620D5F8F2DAC320D631928C76CA56C7FC1C0F5232A8377380A493182A5ED0930BA5BDE63333D33911103C0C2354CEE033AFA599F7D025993C2CBAAC323407C6F4E176C676B55F8F7723BEC712C0CCA8E01ED34709AF73E2C068F220C9AB73D982902809FD206710FF9B6D7EFC114E45454B9A06246FC0E72C3D99333B8C134E80FFC11F3DD267BF160343F5D42658775349C1103609ADFC3A5C297BDF6F42EB84941B48DB278F4099AEE92215ADCBA2E76BF900712A8AB2C1F58BAFE58741CBBACF878762EC233E4AC609A7D65981C27D90478C9AD78904B7002E91C2FE710B94CAF387D0514ED6C94D32179BAD14046F38C271D58CF5C2D09987E751907CBB5F3A4A38C90621C4B0B8753C5637837FBB49B05DBCF4863D8659D6CCDE96F0DB504C014AD6F2EC2DFCBE910080332CC2DEE2BD6EFC6B6ADD92DAD057673263B207BB950ADA9639B623BEDE5D8C319310084A0AFEC855118B3290C1F993F38B97339883F4A2E09D3F597A8F723190E53F064CFBDB160CB657C107D72F37FD81F42B3D9D5A8E712391DF12F5C600A4817AC19F9B7280900A09D6FC09E51E596D65118199830B6472BF9786656DB8C18C012DA5B7283B02E1D81C317EAB650464C122F9F6A60FAC52D5FD243BB0BEED34E81F05523255174C00F9B0D3742C21B8BBDA8E08B9881EA2F744E00CCD04D4EF7F9937F4791F0C91805CD1CF6EA96A2EC6929AF315BCBE1DA4FC2174236D9556EA7A5E90A0D649C64F18C186054957F1ED87CB55281C51E268F1F059E0280D6F26814F7E3B86CA3E05B37B17EA2FECEC80AFD2930C3FB4A718257BAA949F563D9D39839EA147C0F002E719AA18F666F7B24B78271C7CF4358AA7ED50A90027819CE4E269B48E89ED1D21AF348F45DD52B30B650D6287A16E291901103B448B5CAF6046FD4CED188D15076B3A1085F1EED6805475F37AEA659A415D0120001E742551AD3AB53BD5C1313651C1063279887AF93E124E563FD1C875F87142DE3B5C4BFD2035816DA79A0009B86527FD70EDA6ED185A62783B49337964C6675F4EB35FCA9AA5F1FF7D428A65236E164C40054C0AE03837FC25AF70E85ED0F9860772BCC169335CC0E4F16C65DBE7BC07962B28283AD16B651E7E1AD47B1F1A7BEA2E82510B43E114FFC4252BE5AB6CF535AF171EC4BA633F2D851F2B4E6E5EC9922CE8EE0C7B08D0998DB2F9D2F04F16F704B5361E26215D63E0404E76535A1F196B0607D548D3F188B1760F17CBEFD92926364CC00B4C6F97CEC2C34E83BA52A3A5225C43FF0358FE752395B1766E67DE8ACB21EA3EC6BDCB6519AE653888081EB1E354D457EA0B6158D625F141DCFCA21139C85A5EB49FCBD853F7C76863D029DC02F91761A3FDEE54E415BC7E8FA79D0E6761BA82DC835C5540CADF3087C9B79601B52FB21DC677C30AE8E5D809D08A67DA1ECB4D0DECF8B83FA05ED97D43E46D65CC270CDDAD1F8BAF41C22805BB59825E07CC8EFE35AE0F6864AF8F5490F5DDD1A15E259094CA2F41C388A1CA3C05B00C45C58324E92D371AD7C79434560810CCF244E770CD335B3A84FD95682491FDFBEB77EC1866FCDD548DFDE590FBFB97152506156270E63E41E2F4C3E11C2DEB95EBA0FCC706B853F38B4A36B7FA7BB84D1D529B8E3671808A60A85E82906A508D2F2B54C98CBE131F4C0F0E9E6418901B8E041BAB553DC9288B7FDC28DCA17BCB02DAE86B80EBD3D77719E8C5AF753B96A8EF420588B8758513ED39DF8ECE541BDF571B32EE44D60F247941AB880FB3BA4108F87AE9EC51BFF2F107F29F0C679111FFDFC90B3E0908E12DFA3DA1838E325C05E38F9C1711E3C024CD06887DBC3E86010AADD0BC361EB5D747A3124DC8BFE6F9D39015CFF533B1E85312DD7B4D7D9FA09C1A5E02E1741540C5ABA4E1508E53A528993200617B79741187579627C717130785AC218E5D7D8C34A995054954D8B3854B624EFD01A8F19EC63BA7A16E37206FE7C4ADE1600669867F00DE021F593F8722F9C74E0595B02EC954F863A706E4DF8520CD854BC313DEC69AE6112EEA4370402DE7258F906C12CAA6ABFA4424E7850745BBFCEF8188CB087230926694DE883331934F8EA8F8681C7C3BAC797EA3EBD945CD3EDF5628700A614D065D81ED81DB00C3E84361E8BBFD3D06165A763C3B607BFD5347E390C424FD9811D0D77FA12606F106DD3C8CD2918D00783731FC69FC385CA8E1B0B4BC46F49FF1C4E0F67964D370E686F2F4D532F5E9DCB5DCA2DC6E58FC975F54AA63640E954E3249C47A4A3E5AA69377609B43E5A263EE506F33ED1564A3C0485D3C5F818C67B78CB6F4E85F82433910530E80BEE9729F1E5B6D8E39D3203D82BA030E9034498DD04CE3F159D570428195F8ED36000F681D0C412EC5C97F8055B52DC2BF0813C3B780A849CD3E50FCFC8E5268BB738733EECD65E12C4B8CE47C4961F1442075FA21B2307B1A838140A1B1C10C117D9858B8754B20A5BD262C2B2261EF1FB83356E3B9F148A7045F19A0172C200891691E3287C07B12F16E76390BCD4A709F4A4BFF15945ACC129211C0B63AB30702B21489275EE7A940F81D3F64030F5EF10DC37D573FC38C089F68907508E2A23412701C7D3177127414F30427F107C77087EB859D45BC8B3B524597005EE1CFE7390EB7F759B5592654C252D2F1820D150326CACFDDC3C4144D83F14622590B2FDCB19CD22B887908C37315FFC2678F13523AE215E0CF2619A17C560A49D314D6F97EDEADDCA435D1B50EFB398EA9F1859E19F4F4BA71B5E36605E0CD0E1E9381B8D211F41084A5070486F6A360AF72A43309A15FA61E6C113FF9F7E5AE3ADA096400CAF33FE83F54E13B3C078B37BF4D4E72496B186CACEA8ABFD32BB8401A85950CF5FA40C353EB4E0E7FCFC28DCAAF0560EC5344C5BA7DDDAEFC6D68381B77E3A5CD7EFCF9716770903C42E843098E2378005F7AE964FBABD8B01BA8B0689AC8A387471188207E20FCA237120D6DC3DB3B0E6A2B8EC3D24934097F1194A7C0F8BCAFB3E21DEC77D84BF467BF1677FC4B188FDB8194084F9691818FBA860EBC4BFDBB7B7FE54BD038A9333F153C05F02DC2AC593E387B111C62616E96F69744194180001101F666403208B41306304EB29159559947CFFE2F700E11B406205E6B095A86705D6EF953ECBBFC21ACA56C76F386BAB06CB5C11F23818006B7E691B46D787BA6406C09B728ADC752C094F26B469729A1C6F59373F079CFE5C1FFAF092B52A32046E6BAFA85B396C2BB9361BA76F7F054654257D94083FF4599A4FBF0277876DECD99D3525D66AD7CA3C809CEB8D42487A2CDC2744E708E9CA7A8F6C3905E79C014A6BC5AEC2320E977B8913C2FF906199C4EBC6C57407F3B09F9F0286AB769605E153445D4E15C7B1F04DE229F852E964679E8EC7C8E8857B0556A2FEFEF6DC512BF67DA2BC600057EEB73736EB616E0E95CBA4E97FF844FF62199E8D386EDE9A86721A52290BED30A076A56F144F4E053F151CC82B8B143CC15355032B59B30DC83D03582E173F0BF65A67ED81C95FA1580F9E8949BD3D6FA0359AA60DA74318D91C64B8842B8C0DDB42DE3040CE970098840F9607180A99376458B6E2B0BAF5C3E189BF60ADEFE55926671F077970043470DF78E2A49900C1F463252B670315581701723F0390942E3D7EE1531D3C259C74A225D5E63878197D841DC17149F373BE575484957625CD9362223C125CD67ABE8BA70B7B8AE5660B2DE70C80CD5F3FB9F11AF3AF946199C461C5DB8FBEED8BD9E6EF29A9752D510CE5D32CFB770333A9DF9E573B22B81CCA1F6C266C0FF6AACD5B9C82A12D35A7C19C3300A644A8809D4FD89792B7AE33934BECC49B454F3899DC0AD3EBBBD87F0F774189835CEE1A0063F6C557C05F1A39D5FB23919EE5254988E906B85825A35891C80019D615F19C33003A494619C7138832EFF5D981E91EA1E914DBADABD69BC61778E3C763CAF77005C39D819C4FD4BBE983C0880A51906F7FD3325F85E124ABC620EC0436282DD7ACBE0AAC0B00396700087CDFC9FD0C6B7412A8E30F297BC8A56CF3466319F6DA77E22DF6363173BE0837871D82FDFDF479D7F0D5FE80360653F30F72AD60A043F1D5D097C9C62FA7A51B8792CB6507C2BB4000577B907306800A154E1DD263F1DF4890A45192EC31D5DF185D6DACC0968AF4EA9ED329F6F65BE0A173F5A84A7D28FCE85B2572FA6E203ED90435AD8B095688A3A3DF1BFF2657B3A40D493551A88C86250A9350D73F396700E8D115A50C54B567921346B2E128BF4DEC4C3EF998EA6743B2FF0A6F2A69F87A27CB03E23E1160FA3EB89CEA2E373D03DD6002ADDF053044380D132814806170F19E47F526AF238554AE9EEA81CF7FCEC7DEADA5399F86BA15071FD9B285AE5473BE5DD0D93F04E3C9EFF05ACC22230B046538DE58B87D8C0D46F8D048B389533D700A8BF542A197B36F302BE3EE822B714BC9EBCE0435563F49FF1B2E74F25B1C163A5464C700631E150D990BA1BB1F9DB89AD69E9E6A18C56E1F63295B0628884C5BB4CB8239E742BA0514A37C9F6B8F31F5E2CDAE85F324EE05B01EA56B66C100981904CCC1EE461B6739FC3DEEE327D335B3A9103F91174CF0A026F8E589B8FD17ED1988738E6F944D23064CF711CA4C2534EDCB744BCB66BE9C3300351E377A5542005354A4E9760C65BD41972CE242A543D23D2F0726B80F47C6AE726B03E69BBE22225EC7F7822E704B4F062B9D1A23BE22A3F8FC7E4F4B66B2F2B29DD6250C40665FDCAC3106C2199435E93EBC0902DEC3CCAF1DDE302938842E5944BC9DB521795DF83E300EBA6A97A09CA88C89E5A0081F217A10C2E713A46F90D33DE3967A870F09A675D7F3B59E797298D0250C40FDAB1BCFFFD77760F01778EBC663CD5F9D4A9FF1A66F80C036137F6377D845EF0D57EF71741A2995BCA9E2E03CC3FD387A7E22EA70BD98124BC2AFD7878DF7E8CC406A658A4B143CC1E62AB02E02E45C08B4F7B3E5F68CDB7186EFEEA5FF8B8C802078343665FB03A71BDCAD83F00B5C07E6A0AF817CEA67E2F5F915FA4799BEE5F6FABDC274F41C57D494602BF01F4C29BBCB78904BF6C21980E7A06E7E2DE0D7AEA32DA58C43719C0A1E23A2EC17721A66BE8C4EF9C8E56512CFE9B9804C1ADA1579C9790587599FC75B7F64B2FAC1946FE26EC4BFFB026C910806BEB2C2466F1CF43C198C520DE1D5A9FAC671359CF1EBF3E204F71926593D99A4E5955B78261DC9655EF2E8C1B1B4A191D7CD4ACC4C55AA6B59BC35C420483B12176230164EB880B98B2378FBAB734DFC6463D6653240B246E5531A19731A2B8353E0247814144B1F65D236C830EFF886E8CA5D3F99949969DE0203A438820D95FA929EDBE98761BAC7A7639CA781532902C4FFD4E7D7C7C6AC83A964C8114E81013A30D0E4198C9DC7545CCFB2076E12BB0E026A6A1E44B8E504974B1F952F9EC0F62E77E92EC0DE90AD29FCEA757C0BDA7B1BAC91F78A35C6F0A8A58DC4AE652460F86E615C9D8C596223E275505EFFB56162F03F88BB0B055DDCF1020364408016D7F3D92882FE629FB03337B3ED61760ED1DDBE89A2794522947FBF600032873AF5EC906603F9D7D4FC6F51CBE191D496851C77C79DA6DCC25226BE95DB12E62629630ACF3634026E3425DA4308C41937F911B8EDABF06C5B23E04A53BE12FE10EA77F0A0D4B814AA503A8D5B78B68111205A124D95AE80F6B0A2C2B8A23C505F0AF17CE9D4B0728C4B412D00F27A046234042D1595345A4DB48F79C0C013E75910FC64B5271010397B01488B7067DF67D8C740602C3CF93E02A09706D7F89F825E47C3A0E57E029AF3E7E038734A7C1BE8D3C7B3A8590E26D8C1D939EC0E043B19059D0CAB56E1D94A4600F44AFED05D0744733C314D60EC364EA18D850D9CCC1985675B1E01A231689DB881B555154C5FDAF669DA4858ABD66DCBFDFF31F78D684B34B67F55BD950168601654041A741E3C00880FC078E13CCFF6631EB9ADBCEF444BA229D196686CEF4E4C08B4031261FA206128143E0127794AB185E8874276843CE0899FC857F8CD83118086073483F7355F0D479586A2A2C02CD82F14855F1EB4B4D084C2081446A030028511288C4061040A23501881AE1881BC92EAE9C4CDFAA839BA2B0622D775E2F0EA6A6CC93AED72AC54FB93571E419BA2663FDCC3EF629C4AB53B5B0F5E94E333344CBD3135D73D702882725D79A1BEAE1F810203743D0DBAB4050506E8D2E1EFFACAF34A06D02C1D9F7031FFDBF5C39293167C9A935A0A951446A030028511F01C81FF075BEA28D96C828F0E0000000049454E44AE426082), +(64,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000162E494441547801ED5D0B9854C5953E75BBFBDE0104041511E5617C65A351D7352AECCC380848D08846B3BEE2E7F34B8C9AB89BAC2830838E3003A2F962D6FDDCC8EAFA48D61893DD44E30659C2639819111F31599575033E90CD8A80C16110A6EFEDEE5BFB57CFF4706FD5EDEEDB33B7A7BB676E7D0C7DEBD4A9D739A7AA4E9D7A31CAE26A9A133338A5BECA6C564B8C2670CE0FCB821A82CB90028CB13F13A78FB8C65B19457ED5561F5BEB554C2603CF5D9A986AA7EC0739F1B3E5B0D05FB91460C45ED122DA77372C8CBDECAC854B006A9658B710F187C0FCA81329FC1E1C1480102489D8ED6D8BF41F656AD42B00D54DD6ADC4ED873301E1EFE0A50023EDD68C10A405A0A7DB6F0D5BFEE065BAB366A227C070502B86837457DF33E67B74FB6C8FC6E841C6B4579816DD1A65643B130ABFCB9302494E1AB79327706E9F6D73FA2E86F5B1CE928A862E780ED8392CADEDDBA9354E04F1CD18B51233AE6CAB673BE4B0D05F3914A869E64771DB7C1625AE914BCDB4C84C8DF1D4A57200D8BF2764BE4A954A848806CC34E38A344FA50A8869BEC63953244374FB61CB97A855C15EC14BC153B90AC2C6A371A2A3E5009B6B9B6458E8AF6C0A083D4EA9010C7C9AAC2008A46834FAAE821C022A9A024289972B20ACBB1000D585DABE4A934A8764E3A9A700547A65C3F2FBA7402800FE69352831430118946CF55F290FEB9FFFC8E58039F33E3EDAB453D3B99D3A9B713A92333A44940BDF16AC59BBB194BD39A2C5D6B42C60DBCAA1BCE556868A1580BFF9398F7CBCC5BA2B9EB4E613E723056131A5EDF92FF30D08FE25B9C56B9ACC9F11D3FF3EB46F08221D74153904CC5DCE47EED862BE88694C7386F907ABE4F1056B1770AFE2DC7CADAED93ADD0363C8822A4E001A39D7F624ACA7D1B26715CC354E47A7B8BDF2BC26AE18BF0A4E6B9044A8380158BB3471235AFD457DA53FE774944556EF8688BEA63358E2559400343662871BB71B3D89CF688D46DAB7B5085D2CFE8869D792462BBA77C148312040E72EB3BE244187A4B7A294C035BA793CA5D4B50BD258637BBD71AF07077F52D7643D99226A810E6038C35349C20A19BDE6840DC5EF8AEA0150D8E35526B1CD3317EA4B547837A4A541DF846EFF877238233E4D860D457F4509007176A8CC24866DCF8D8CE5D9A9A4B5C8F1302F9820C386A2BFB20480D071CBCE66691B800C76F999ADE04037305D3843D453510260DBDA1E994F68C9B3EA1EE44ACFE0C48355F072A7BFFB9BFFAF0A1B7A908A1200A6A5362B2C82F937B9DFFAE98CA5EAC9256133A86936176013E4D79478C456ABB0A107A9A859405BFD881D354BCC57C0D0B35DACE27C8E99B2B620AC1D8B00DBBBC3D8E8B5CDE65428808AE28863532623FD19571A43D4535102207884FDECF352B6BD01C6A0DE432DDDBCE36361F69FDBBD202020E99581EE20F5FF7F686D60E11000BA54D41020F888C30C6D58E15BA4F2D4278451FBF813F5BEC7F7994DA5A0559C0008C2C2E8D3AC31B6008BBE79A67F6E3640F35F39729471E12F2E67963B64E8FA2A520004BB5A1B8CFB28C2A6A13768C9C73E1C72D986CEEEC6190DFA452FDECE3AF3E10FA5F08AD3019CCC695FA88BADCED36B9BF844A2C47918F72742E91B2570A021609ECF76A082AFAEAF8FFD0E8A1F6F0F3B7E27F9D2DF152D0099DAF428744F65FCF22F6B9021A13F4381011380390F71A32B45C38675514C64DEA5EFE3A352234DE3583A803139952950F83BB01428AA007C73058FBDB32BF12DCCDB6FDAB7D73C4D546D5FA67E5D3AED11BDF41FD981EA25E6AA2863CBB070F37A2638FC1D180A144D09AC5D6EFEC57FEFB2DEE2643F841139CD7CEF2AF1E108BF3449FCD59AE6F84375EBFB773B89D83320F60B62F957B21378E73ED4A145E901607E3DD5B6A80D8C4D2B64BE889CDEB747DF49BD644D8209F7D2FC2B7CDDA982D9FACEAD896BB8CD2F03CB6BD6707324FD1167A19B59021B41DFC22CE13922FDB17033A8371702EF01C4864DB4BE5F17C47C47D910F7E2B5CDD63D0E50D6CF739BE373B039F41DDBB6FF05C3CC05B00E1E5CF5E33C86B4CE80602C266E6D85502E126B0359131BA2018113041B36EF841576B2373DD9011863DEC1F46C737A6E8EA999371EDD85FDFE93B284A5C1B54DF13B5236FB0FE4F5B95C78220C82304208C2DA26EB85F31FE023F2E10FA5F04005408CBF60C8AD3201D377D63176F95127E9A3DA16195F685F649CD2D65075ACA1E947E0F0C6E3323E18669849EB66199EF1D7345BD7E3EA9307C0DA82CA2F7A890371EBC7483FD40F7A8819A80EB06E24F6EB1D70DF4723F241CF7B65FBA298720DCDDA85B8CC90E8268CD587812917F79429F3F3157CD4673C99DFEA65FC7394B21EC9F80BFFE597D63625BE857881EC0CE62BC9C05CE61816A1617A14939CF3683B7AB76C3D5BE1C52D728C825A50BEB2441289B10A0E636F7B31DF85A769CAED155ECBB8220E4B5ACDA28770C5EFF66C4FEF048E1AC71911E3708D22B3A100FED6030FDCB11BEB1EE6E923645EE1F9607C33E95D2FD24DF195B41ECCEF4059DFB593F4563C4EDBCC17A913F0E7CD957409E065DFD304DA0324EC6495C702E307F9081AB3A3DB2C6CF7753B3E5C68F8CE859B8B56F0E11DBB2C65730786988D878CD2E748767EB1E163357A1721300BDD69D338BBC39A0BD84F25785E6FD72A9A1EDF464F027192573307D38560CD45D8DCF88BB4C9FC0D7DD3B890DECA9B70891002ED01A23CB25FAD073F35DF989BD4BA8D44CEB860EA5E27F34558C7EEC42918C75D420BA5321E89E8D749CCEF4D0A4BBF770347D9FE0D468921A6208796FD6DD82CC550965341ED4D94D339D0365E46BCF37B6165F611A8004428B15BA91F6604B88A0E57D07A3BD1CAED145B2C874268DE94611AD947CA30EC00DA8893BFEF2AF01E80303363E7F0D3723804E0441996CB8FAEFD2A84E31ADDC2F650209F1118735EB056D159B9D22F5598AB35F5B7106BEB0FD959D314FF00953ED69516E7FF58D3641D0745E95F478C88BD17EB22BE3F49C32D32CFDCB1C56A829AA85A0AD3061C572A64333E5A2CF3B99DF607B75FF57116018E34C4303E5EC5F486F0D534C14CD00A305FCE3C1D01C01442706AC93B1CF174DBA667F97AFA229B4E9F79E7521A68A03D40BA0A5C5BA656257DA4EB7B76D27E036B027BF75866A7699B1F739B308FE7A7CBF8D0A2778F8D198F2A701E89C830C4F71876DC58115BC501D3743756769F95A42630F1A091A90715E5143DCF8D06A3B1C61C8A56311A87EBD8E603F6899C1A84638A19A7AC3DA18C3F50FEC00560FC49B1C74198D6FE54000DE96F7F7D17EB5D37EA4F5AFD8DCBDB0996CDF431325752A8E31B988A4C1B76213DC12EA04EF86DFCEE362EA0E52C4662A38A321C229DBFCBD64BB8121F404FE00220C6DC48957199B0F6F5A51E4C6377B73718CFF4256E31E258FB68265A3F16AC0E3A301BC711E87AC1F083D0835F55E7D356A6D1B507213D5F9C26582BE914055E4240E00220EAD27207FB64ACAE4F8526EF9B91E8923FD134F6F5B67A634909E9A166CDE90B2A90D6E59BDA19B369357A813FC971A1C254CBB052FA8B2200A242A20B6F6B30AE8E44B5B3D2C7B4B12F0F02E1D2C4E0DF8FBF8D1837E71D32DA38AEB5DE28785E5E6CE2A1F52B330F08EBF67CF9A6870446AB143C4E9F57602504043A0BF0AAC78605BA98838B3F126B051B47EC1C26686AEDA7544B238B7BC52933D801B93C100A18007DB92D0A16A3131458090145170067DD1A1BD3DBB8F36AEDCE3865F0AD68F498D74FF1532EE8095B212CB21B7A0220F6031EE8889F656BECAF30E73F020AE2704CDFF6E0BEFA0FA3B6FDD2BA4555EFC9542A173FBAFB771526FA6DC51A6D95CD0FA8D714D803A2B00724CBA18E45ED0104E33FDB67DEBEAFD35A8065DF31DD6B642069DA41958675449CD080BD7E23EC28F35A1B621B7B02CBE7C79B8993FD30511F45EF9B1D1075878108DF5118958E4505B79643258BA604CE5ACE277CB6D76A83B1E77E90604CAECA8242D36C6EB78993BCB9F04A11A61BF49E98F639F37630D10956BE716CA50B119599007A85B219068A220075DFE787C713663B166EBEA450252B00D6429B2F15AB7759514A1080AE3A0E86AB07497D3211FD9D574B3FBE0455F1CCB22802908A9BCF8268A29B2BD8A1375858BBD4BCB4E088458C801E4065A2EDB3154311548AC67DC65522060F085C00D0822F03F3CFF32A6A7ACE4FAC191B376E03511FC59FA725CDB6F90F84FEE095464960D8F0A1E4ABF964A297F090CFB84AA6C10302570231E689C510C9310B56BE5B5AEB75D7FE3F0C150B535DD613182ADC6BF35842DEDF99B812893C2525541AAF60A24B0B4031FCB6E2FEC41D80DA06DA03A0D58E82C277A65C6EB4F47B65E60B1C61323E749C7E05C2951686A1E012399D92F9BD5AB1C7CD235EE5832D40A91BF026F3D7BB8FC879C5194858A00210DF6B1EA5169E756257CE7215DE0D79E16676009B46972AE14CBA0646411838008B7A8CE33E998835E7F7A008DACED2A23389983BA94F3A92339D20BE0315008A6A87288562FC0DB142A8C01D80588CBFEAF0F67CB271E288970A1F78889EA0F73D99B83BFF9904AC189A60B83A8B8894871E10A800D89C41E025C7D9471244F126B8AEE0600888981FB8976195880304104CC4CADE76253B9F3301088F3A13F01957C9336040A0021070D9CA2B39AFB1BC3F3301BF4A6491A9100A805F027B2982B67A059D67725EC2E3773DC133C1E080A100F8A5A59700F865A2575C9FB308BFC5EB2B5E28007E29677B8CE33E0D3AD80DADEA0062168113467EB32F165E28007E292B560565C7713AC80713F5633C67119AF5A7FCB30839CBA0FDA100F8A4A831893E8036EF9ACE627AA7591FD171F9926027A757BD3F94F1B8CF0525395E90FE50007C52B38789DB65749EF0A9087AEB01255F160E0540E6682E7F7F9858A63381500072315C0EF312800A9F09840220333997BF1F33016C8D579448E810E110908BDE6517165157F6B0F7C11F1353AA0040A99C286E1829653DC31EA010EA7B33F1186C10C5C518B99D71A4F72CC2D46862EE98C50D0D05A000FA6663A2D5957F3ECFCEA40416949483309AD6FDDA7901C5081435148002C8D9C3C46D4A14466728300980A102B797E2B2883273A10014CE90DFCB51B0F55D6C5FCBE9CC55345B46C04E28DC66A9EA06325E31FDA100144EDD0D4A1446B3C5E5510ABC0720B67F4148EE51C2396D66B3A9A447E5420150B8921B6068F4EF68B9AEC3A1E8DAA338F5F81C6E05535A39B4FC51E62EFA0D5255EE08423A3FC99D5BF14303DF155CFC22973607F665DA815BBF9E4029C46593BD0E42800DB1B4AA6B25BD0CE07AB4ACBDB8CDF48B9014715FA0C75639FAB3AED163BD0994E82314803E10DE18460BE207680EA24E56A2739A0AD8D4CC2E5030DFDB31BA03C2A4BC84EA8D5C3C683804F481B6382ED61189D26530E47CDA87E838274BDF1F36879EEC4BDCA0E38402D0478AEAB3E977D82E5E0B21F8C06F12C04D61DEBF08378ADDE9374EB1F14201E80785710FD0DBC6183A19069EA5606E47AEA410BE0657E15483F94D62FA970B7720C3421DA09FD41647C091443DCCC14B6011FC0A382B4E469D08168B4BE9F781F1AFB318AD3566D13BFDCCAA28D143010888ACE2183992FAB79EBF80522D7E32E110507C1A97750EA10094357B8A5FB850008A4FE3B2CE211480B2664FF10B172A8101D018CFC7CC80D62F6C02A722B99C3B7C304BF814786F6066B0B21C6606810A009E0CB35D1BE7410D54D675D1B217BDF594783B40759DE3B089C2E17043734A9E41E306B6BCE9DB1E3830D1BAD27664E3FB93AFA1C34C8B1EC14A5FFA191BBF937BE05D8DDC97E1118AC5FA976143C04DE3BE330D18315001C0916E756993A9EF01C875B034F32FDD472E84E0B08E961BDC57C9329B77CA4466CC56DE1B90D3B729A5E0E0BEA28F65BC42FD60FE3310A45985C613F88887872D09AF26A757161FE84B1A41C4095407884593CAE2062A39A5AE29519DABB0CC66D778842BBB687197E04E190F3DC0B4F4537272408FBF11D78F30CEAE568239A9F7F82A48D9010756D2D7FACA7C57AA10020C21535CB001F4042A00ABEF1CBE034D5761528A524FE0C5CE715EF5AA6DB2AE43CF718512C6F09A88E4860F1BF6367A86A40BCCF9304A994F657B064E3C430BA3DCD9AE38F0A0DB55D2977172F941B8F37285FB0D8310191800A6FBC50F1A2FD02100DD2AAF59623E0E822F701614953CBE2B6E6EAE6EB6EAA35A6C1D1E58DC113793A7E1FDBE6FA0555FEFC4EDFE66165E02FBB10C5F3D8FEDC753F3BF04FC725718A7EAD4A7E69BB8697421E3FA4B48BF33914A9E91E2F63C089758B67539307FB736467FDE052CD0833A9DAC4461F4142E85DAA4C01D000C6137C0EBDA1C023D4919A21C518AFA19A80088921A317DB99930BF818A1EEE2C79DA6FDB2B92B64949771B76A2A5BF2148FF8497C0B629010044A37A7D32695D8251D475B41A0C391603EB331C436A3CAF7AA72D6EB98D7DE695BE5F18846827F2743930F25A00BC8633279E72EF11D252AEC8714628E677A0438028E89AF96CAFA645AE0613E50981BF7A30F6FAF8E1B185D990C513717856E6B66CE1F9E028D7F3ADF5B187F3E1E50B07EFFF20E34020D00160F76F8E3F398EF0630AF09A177C2060810B8028F486FAD86FD11AAE03B15D7BE7F25508E3FBEF19D3E7FEE27B4CACB065756DF5FA631A63E20672A90D668D920E404BFBCFC818FD1A94ABA0785EA9E224C8A3D077C4DBC7FD7228D3BAAA39B4BE5F89F4237251044094A7B5C1783A42AC0E4CCDFB6CAAE82D408847706964755B3DDBE1A73E48FFBE08E1C169461FE6C567AC0B792C1E7FA271617FBBFE4C5EE2C12808F90D28B73AF5CD20E5F945FCF70D836E441AFD16C83C59650D2E9A00881C5B1AF44D331AF4D3D1655F85D6FA2BE8DE9DBD25412B84706C654CFB414423F19CFC2DE2D2C8DE701F1F1B1AAA5E1839CA388934ED6610118F341DEC39BA858ABD893C96E8A49F80F78BEEC9775FA18F2C5D285517D00B009C86BC9F83202A536017B2C303FC6DF8FBA111A553D90C1F02EC881BF427AB5E1257A4AF2A664CC658BE3DE8CC447AE23A59B393461E7F04EDFAE79B595E75ADD032C02630065BB4ABC69F40BB826678BEB2F0B574346E85CC690A3692D4518ACDA033EFE3937085BFD25B063E0BC847A49E479E3BD7E543EC6378FB02D6A78D9A7DCCCE150DADF9FF5C800AF0147508A880FA0F9922DA490C521E0ECA34DB2BC3137672B20C0BFD954D8194969C24D740F05E8302A068DD364F9D292387FECAA680274F397D84155C526FEAE6747B36DB7A65936168963ECD4BF054AE3D1AFF6B5A444C6124078BD694D41EEBD1BA2738EC1DA1AB640A081E0A5E0A9ECAF510BC6775EB7934F592B5198B2627CA089857FF0F60776BA46F6A6D60EA9DF74A8410502E14A86DE213F12AE33928CF62AC917C5E2E17C6FF2D91BFD64F4E6B8678E8E9620880D213B823310BC8305B87AEDC2980AE1DB33BF762995C6608C025308E3DDF3B35C032EEFD58C69D272386FEC1470158471F685B64DC296AD66B0780C976BEC6B487065F75C31A392920782C789D81F5F60019406D93F9759BF3FBE19F908185BF8382021FC1E873A758A473D64611001178D10A3EFCD3DD89EBB159152F78B26AE80739EDDBCE04C3EFF2A100C6792CC7733CE1ABFD72CC11B127BD16DB3C05C05905309F4DBFB763B41D3D74A41E8DE7C577C60DBF4B43012B59C5B564C7BE96C6311DA52941986B488190022105420A540005CA624CAF59627D876BB6BACDBA0208D8D722C622DA8FD6CFD7FFABAFF1838A37E01B423C0BCEEC0B61639CED1936488149C657A16A2517805E43D020A57358AD3C140805200F81067B702800839DC379EA57263A80F633C6F91B79CA3AD882FB753A79B01123AC4F8928F0FF39BF360896F2BA910000000049454E44AE426082), +(65,'image/png','img',0x89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C000008477697A1D000000813494441547801EC5C4B881D4514AD9744F30135934444C4F88911852044211A45084689662FB8D18D2B3F1B71E10734240B7F20AE342B377123B88F118D0862A2060948C04F6224227E301F1549A2C68C7DFBCD7D537DFA567557F7EB999EE1BCC574777DEEBD75EEA9AAAE5B353D98CC7E8E3F22D011020312AC2364293647800423113A458004EB145E0A27C1C8814E1120C13A8597C23B27D81DAF1F74FB8E9C22D2731881DBAF9B709F3CB6BE510B3A27D8E0890F1B19C64AFD4260F2B5BB1A193463046B6A60A356B1D2D810D001A2A9FF5A136CDDAB07B2C64CBA434F6E301BD5D640532813670C81B6FE6B4DB0C1531F09BFDCE42B9BCC46B735D014CAC41943A0ADFF5A11ECB31FFE74B7ED3C9837F6D347D6BB5B575F5C6A785B034B029930A308B4F55F2B823DB3FBA87B69EFB1BCC14F6FBECABDB8F5DA52E32D03B7BDF77DA91C13FA83C0F62DD78C8CB1FC37CAAC71D38A6057BEB0DFFDF8DB995CCDEA4B97BA63CF6E2CA94403855CEF1F3EE5EEBE6E79A92C13661F81BDDFFDE136AFB9C4EDB8773858A0FF522D6C4CB093A7CFB995DB3E76EEDCD4618C45037762FB9D6EC5B245051BD04021981CE0D006140AF361D61140FFA0FF520D6C4CB0B7BEF8D53DF4CED7CEFDFDDF50E7E2856ED7FD37B8076FB9AC60031A880D2814E6C3AC2380FE41FFA51AD898605BDFFCD2BD7BE87841DF7DEB56B9DD0FDF54484303B10185C27C987504D03FE8BF54031B132C0F4FFC73BEA8EFC2056EF2E54D853434101B5028CC87594700FD83FE4B35B011C146E189B353D3A36A5DB2D061B8020DC40668555EFB8100FA07FD976A6523828DC213E7E1B4F58281C370051A880D483598E5BB4500FD83FE4BD5DE88607E78021562B8020DC406487D397161FDBE3D390C815CBF62A995ED341F3343E5B15CD573487E55BD507E5776B595EB9F9440FFA0FF426D0BA52713AC149E40C910AE4003B101E6719E6CAA5DB5EC0277FCF4BFCE0D066E65F68C201E3E75D61D3F7916B5E7CF2B271697CA9B05238931F9916AD1ACAEEC8AC9DDFFD35FD93EDEA4DB78C545B96DF9F39973053B37AE59EEF63D7E739E86FE41FF152AD6784826581E9E78FBAB2CFE052FF8AA6CD102B7EB811B47E10A34101B60114C1A7CCFDA893C5E36C80866C5CD44CE8E3DF68EC0735BAE6E1D678BC9D7A6A65EBBB22B2657F015FC944021BC351FFD83FE4B6D7332C144C1F37B8E3A89F8E24142218644E8FD202A1A880D08359804B35D69117FDE114C9A5EB7A124D834516244982E15BFAB8BBB4A99932398185FB7A12498BADA39126C1A8BCA3B12AC12A2520112AC04493881040B6313CA21C142C818E92498014A4512095601909F3DDF09266D95D572E8175B4587EAF8ABEB5099AAF4BAB8AB1CBEE41BFF37D98738983A28744D7574484E6A7AAA5E128C044BE218093675D456519BAB610AB53F744D7574484E6A7AAA5E8E601CC1923846828D7104FBE0C8EF23F0F19F44240FB7AAB4B07C4B41CAFBF5352FE58A3AFDBA967ED5EB97F3EF9BDAE3DB91AAF78DCF7F766B2796CCADBD4801AD6E4F6A3A45CAE6ABEE79CA66AD0FB2E8B75671922E3F5924C826F937274ED73E5581A70EE434853806F50E35D8FA752F56CBF857B1D7B707F5F965FD7BB4C36A77955EFFBF8464CAC48E29F57BB5D92D00CC04C1544F93D314A15318BEF3FC7B7C5791F6597AB54EDDF6FBE57D79A84FCBE115ED18875E122CD2A3D40116D09A27014D126C880612942358864B6CC8561291608A447C139D044B7C2750584930458204CB91D0EF4BB5ED510A2B09A648906024588680D5B1E4A55F576FD37429DE613DAB63C536D1B13EDFC1327CC7F50E2631A35098A1E846E7245E24BF47375C9E5F356615AA9F1A8F4279A82F576AFC917A7E9881041B53A0557B36F640F58105B4E6698F8E9D86D0B2A1AB156F0A95AD9B1E8B57C564F8A730AC766B7B2D19881F47B00CA5718C60BE532CE0ABD22C4756D5A9CA8F11A1AAAEE65B76C5E492601DAD2249B021254930124C07A75A578E603D7A07ABE5B14021CB9181A2B5936353595D21965D31B91CC13A1CC104DCA63F6B95D85496D6AB3A6DA1E5F0EA7F339504EBC908267B9129DF82DD79E0977C735BC314B28A943855284C61AD3263AB449487FA9054FA2CF518A69842C31AAADB1CD711B138C42BF0564FD63CB1839BDD4334103F8629325CC611A620C148B01C81D41E3584CD3E8FA6791CC11489F20C908A37CE40D392EBDD35FABA8E88B6A6284E91E1CF46595315F722232425C1CADF27B33A98424882291235AF24180956872AF37A8A94585628CC80E0E0E9063CFD80E5AD38592CCE85F2501FCAD767A9C730C5141AD614812F89D65491F24F080ABC35826A9EDAC1D3147CC9CFBF30DD15C194704DAE31023791277594F84DEB4B3DCBAE98DCB61D1A078854DBE7ED14C9D314432A90601DEE45A6F636BFBC3552F8F94DEE63234D5D79965D31B924180956975B793912AC279BDD9C2287BCE508D6D3114CDC135B85A69EA610796D492F323882F568041367B4F9F9E7B0504EAAA3A57E537B7C3B52F54A79FC2646CAAA9DAB48F47CF62C2FBDE3380FE60738514D1347FBE7D3781E0C1185E7BA00630F68DBA3D40C4BBFE629C1FC9EAB79A1AB9C32F0379FD14EAC67E94F5DCDF9FA50BE3EA31DE3D0CB118C5FD7517EE5D3AADF5148B09EBC83F1C0E190A33802F23C58860B4FB48E06308E60D350D87B6DB3F90E262711789A82ABC8A46F862AA1AD7711CDD397ED581C4BCB86AE569C2B54B66E7AECBF8E6232FCF899D56E6DAF258353644F03AD96232D07A6A4C58850578E65574C2E094682D5E5565E8E04EBC92AD29F56923C3855D8726413397E9DD848E3978BDD5B76C5E47204E30816E353296FAE11EC7F000000FFFF2C37B1C00000079149444154ED5D4B8F544514AE561221D1C88CC444DDA8804157E84233B8030DFE0259F8034CD48D0B976A646DE24A0D3FC0C5F80B300A3BC70417B231A2A06C7CC5E08CAFC82C30639FEA394DF537A7EEAD47DFEE9BEEAF13B88F3A759E5F9D7ADCBA77063BC39F2BF8BDFDC97577F6FCF5899A6F9E7ED89D7DE1D1897B83D72FFAEB9DF74EFAA3D413914AF7ECFB5FB98D6B5B1375D60E1F741BAF3D65D22BA1255FCB540FA129FD7D76ED8F3D7A95F2D27A278EACB8E78E1CD4CBE4E33BA71F19D35A76ABBD63A2E0A4D6DF18BF8075D2E960510136180CDCA757B79203FAE197BF7AE0BFF2F403DE7117BEFFD35FC70021E556C368A29786A5E5282F162D9173EAF0BDE3064980F5248309C0C24C190BA0DE974C2AF46D9953E9A711E8509EF2C52366A069C8B51A46CC6E66308CC8F05ABA0C026CE4180468EE90840023C07C83D2312DBA8300EB6890CF0CC60CE63D909BB2B5855A63112D6317A99E708E198C19EC361A8C330488D5B0B84C3174DCACD7C1A48B94B52C5D1630623771EB834BBFF86B5DA690BAF28BD5B7D6C99AD6B9901FCAF3C28CFFA41E9729761D63B5249C85608BECAA8B9441EF5BE77F30429676CB5AE74AAB19A79205E41860E3B5DC780D4C6898C17AB20E169B553505322CB3021996979C5B0D30978FA55713DFDA068D092257DF855DC927C0465020C03A1AE413600498F7409763B0DC741ED25B5D51585E72DED495A5F2B3F46AE2CB0CC60C968A2D4F478071901F054C53A68956820202AC4700936094FEAC75AE525E5AAF699D4C69AC23F783ED7AC56AA138CDAD1D136800AC96AC65A2872CB4723F181F15B9AE06F97CD83D6A6EB50D1A138436E2D4E3C2AE8311600498F70033D8E8DD835846C00C640D0DACA189F2C3FAB9FE6606534F06471D8371CB34C7609D8EC1642698FA70197737E0EE8700BFFED49A6536CD12911FCA43FE7A2DF5B89B62D71B56AAC6145B9BB2D5F15657A165AA07775330837596C1F82C72D4DC6A1B3426086DC4A9C7859D4512600498F740EEAC465B4E4A17A9B425C726FE25FCA48E76DDA5F5A59EA557135F66303EECCEC21B01D6A36791599103622B9040927DD994695299597A35F1650663064BC596A723C0A698C1C499B87EA4D1B0D6A1B44CD7A3B4AEDECF397EB779D3DDD8DCCEA9D24A7B6875BF7B6CF5402B1D12846B7996DD6A2FD6936BA10FD7D172C7BC0B3B8B7CFEE88ADF0DA1CF1443278BE39ADEFA91B777A4DEB7BFFF9B1CD02F7EFE67F86EDD8E5B7BE81E61EFAE6E6DFB8FA1C40021E508C0FB56EE8ACAB3E8DDFE3BC7F2BC50E33FA9777465FF78C1D8B2BBE96D25F98A8FD4D78F9B106043278BC30460F2A8470186CB0E5657A1F1913149AC9ED2E0511C1F7EED06C72E486FC96F1B0BE1F7D4C44E0D3CF2D76BD423572EDA45800D3D4B8029BCF6AEC41360531A8331838D40C60C76BBB1990B8938484487C5523601468075FA8DD669004C6650383908DAC3C429EE6EC0D9D704F1F022B7ABB2E86556A9DFC240FE7A8D7A587C9AC67E1C8345D6C16A012693829ADD1412609C5868D0E5981B68A953AA4FA847AE5C02AC43804950BBFAE5067A5A7AE4CA25C008B02CEC11603D994586DD4A5604138973039DC8B6952C572E331833582BA84202028C192CC4C3D4CF0930026CEAA00A1912605300983BB0CF1D1AFEBB71F396F7AD9CE343E7A6DD0EA5BB16C240B69D5BF2FB2877E3A7BFBD2927761FE2FBEB5DBFAA8DE133510170F8BA1F2E946B9DD4633FF6E4FFF897B9AB4082283F04971AA7E57AADC718BD965B47BF9B021C6FD14DF55EC26E0A4B1EDA5D62AFF215BBD71EBC7BFCD07D210116EE6250C3677D94D916FE0D9FAE75083347D7B262FC71964980C53C55799F00B3FF7CE2427491CC6095ADA3A23A335885F372AA32832D700693416BDBAE821CB094D0CA6E0ADC025DC227A74ECA6E8A1C7E25B46277B8A57AE1C6606250CE97084B9C985247F6BAE7ECE14FE1D944837BED9B68BB2C13BBC397427A01305142F629E1AC4BDF6E09BF298A8344344079A5EEDBEACAD9B8EFAA2B39CAB7AF76637C307EAA7FEA317B1DECE3CBBFB9331F7DEDDCADC8DF92DF77875B7FE909F7E2F1FBBD0EA8201A2044A5FBA4528D4CA5EBFA0139EAD147BB313E183FB4A1ED3A1B60C25085C698EB5F560B69F51E1A10E3C1FBF3F100C64763ADF1CBD5AA0860A7CE5D7617AF6C9AB24E1E5B75175E3E3E2E4305D18031214F7AE1018C0FC62F57C92280F96E72FD1BE7B6FF9B94377CF4B17EE6F171F72885A8201A30C98057F3F600C607E397AB5F11C044880A4681984A954EEFA301589FD7F3F500C607E397AB5D31C0AC6E12BB47510615140364C636EF5963AEA396851E67D318BF5C3F14036C4F3769748FA28CA5605F664FB9CE5A16FA70366DC52FC70FC50013212A5C056A37A8D7218D5516D2F1BC9F1ED01897C6AF0A60613769758F04583F4193A3D55C0136EE26871AE3EC518DA85550F9F0381F0FD4C6AF2A8389C96D0AB495CFC76D949AEA81DAF85503ECD8BB97FC87DBAEBCF18CA973AD822653DE9C99076AE3570DB0364B6B156CE3CFF26E3D501BBF9901AC5B37907BD71E98CB2C32C5A879EC144DD18B34E91E906D589FBFFA647A8580B2F30C16C8E2E9127A80005BC2A0CFD264026C96DE5E425904D812067D96261360B3F4F612CA22C09630E8B33499009BA5B797501601B684419FA5C9FF03D4BC6D554192DB870000000049454E44AE426082), +(66,'image/png','img',0x89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C0000139A27C3C42300001366494441547801EC5D095855D5165E388F98022A8A2838308880888098E8B3E79465696566A4BDA7A696A66969FACCD452D3D42C4D33C95233F33956CEA525840C2A0A220A32C82432084E380BEF5F1B2FEF8A17B8E3B99CEB5DDF075CCE3D67EF7DD6F9CF5E7BAFD1A21844663273C0401CB03003CC409C35372B38600698190806E58019600665AFB97133C0CC18302807CC0033287BCD8D9B0166C680413960069841D96B6E5C2780E5DEB8473B6373E9706201A55FBD4B69576F53C6B5BB82AB7696B5C8BE511D6AD5A816F56ED79806BBD9904D839A668E3F611CD018600F8A8A69FDF14B14147989C2920B88D455D35A10F9B76D4CA3BA36A791DECDA97A351C3093C973402380F14CF5F6CEF3147FF14609636A57A7975CADE859672B72B4AA43B696B5A9057E982E5EBB4359F849BE7C9BF69CBD4C3BF043771E88EF9C5A34A0D583DBD33F30B399C9B439A016C00AEF3EA0913F9FA5ED277304373CEC1BD2A7FD1CA84F872654BB4635B53874E77E11FD9E904FB30EA45074DA7571CD4B9D9BD2FA612E54BF5675B5DA309F243F0E540AB0ECEB77A9CFDA683A9D7E9DAC1AD7A115CFB7A5619ECDC8424B0907094B5B4E65D3C4DF92E872C16D7207580F8EF6A0660D6BC98F7B1A8C982DBE47B0A4581B914527326F507CFE6D71B553933AD4A565031AE36B4B3D1D1B6BCD570D8622E9A915022C3EF72605AC39453910733D315BFDFAAF4E6459473FB3CDD5DBF769D0F7B1148C59AD29C46BF0584F72B2A927E9CD4BD5594CD60D7A6D531CC5015815912B80B6F9755772B76D50D169B2FAAE5C8031005C961EA3ACBC5B341C0BF3EF5F75A15AD5B59CB6CA61C9DD07C5F42644EF666C1A5ADAD4A5B8293E7A0370395D4A7E786DF8457A6B5B3C11EEB575D37A34A15B0BB1B46883998BE90266325E3AAC0CBB48A9393789C0E3B5AF38D368CC68A6402A01C6D3F990F5B1B42B3A875EF16A465B023B1A6CEAE6BE866E3C43DB4E66D360CFA6B47D849BC1FA92FA816DC08B331233178366E1B38EF4412FFB7277CFBC3B5FFC671ACDDC974CC43BF5E1AE3402BB6DB9934A807D19924E93779C277BBC71B153BA5243EC160D49D7B1BB745D1A4919B9B768F990F634A9472B43762749DB9169D7C8F7CB134498F4F78C72A7675DACD4EA9777DCCF05C58873232675211F7B4BB5AEABAA273D06B0BCC27B6433EFA8788BA2A7784BB61EE0758AC7B2E344D08FE5CEF627EBFAF255CAF28ED915CB8BE44B85F4EDABCE34C6AF8546CF5F88D52DE7A89D6D7DF182ABBB53D7A813A94E668743659AB63BB198261F2A7E776782F261493E4F449FDCF7748C41CEF465709AB88F9EAB4E161715697E277C4D00AE655E7C1592AE790355E88A4766B0FC9BF7C96A5E2811DEC0F459FE64F75489D2542AB0A75FB943F69F62F6846EEDF2ECEED4A45E0DA9BAD65B3FAC86B15F18469910F711EF796B2DE2222062FDBE384E76D8FCA4CEE8C613BB3C4919ECF30EA688B766E4E638E5C3927E1EF1539C18038F458EF46762BE18BFDBD2489D86CFB358C72511A2ADBF120B746ACB98179372E79E5F1C1337149A7245F9B0A49FB96F160D5E188B1C69C6DE2431FE390792751EFEC7FB93455B33D1A65CA954440AF1382B98A0ECA27B0B0220A58C3327DF878CA93913E380792AFFD3006A2C3331D96D651485275DA1C3EF74D6D9D6CAB6DF67BE3E497E6D9FA2B0095EB21491A500DB0A9DD7D01F62A95F476BDA3FDADDA837D31FDBF40367F268EB9B6EF4B24753A38E45D3CEADB103671358FAC7DD755EC38A35E9DC50B2865236F7237F4D875225CE2F05D838689BD78466D29217DBD1D49EF6461DDCD22369F4FEAE441ADBBD257DF3B29351C7A269E716D3FE22BA57443717F7A2BA35D5730428AF8F9B778BA8FE74B457AB1A152FEA55DE6955FA7829C00660D6D88F5963F75B1E34504DA5A0A1EE6C775C1E3DBF368606B859D35E2829E544160C0800A31080A80760E842ECC5D260FA11D3001816F8C28D4697ADB52ECC54BE56B145F76C6D4927277B2B7F55E53FDB7C7294F2605FBC0065716B789FE842A910B56D2072D919201B6A233952E90CA6604C0A64BDC2106BAC1B4AB97C8B1C3F0D932563A120A590F305F4DB18777ACED55A2716FE068932089225009E2C47C67BEAD496B12E2E0598626ABFB1A8A7D11D00E52C1A161D4EA50FE1EB3621C08E560CEEA0D373856583560667D0A2416D69DA3F5AEBD496B12E560218643D64FEF5CF7A5203031BB72BBB59367E5B7E88F1601CC5188F9CE87CDE4DEAB0209CA84E0DBA0A6B84B6FE73D76E3FA0466C5581DB54C24C3F6A6F2D4F5FB95280D92D28316F24FCC7F83793004747273C243693A4CFEC26277C89B106FE14479B8E5DA249BD5AD1F217DA6B35FE49BBCED35747D229D0C79636BEE6A2551B55E1A25280F9AF3C496149057464A21705383E65D4B11D81A2B2171496FE080A0985C2526E94C136D52591540CCF94EF008E7F03249AD0BAC82C1AB5F92C59C0A324ED7D1F9DF5699AF4ADEF734B01C64E7F5BA3B269E31B1D29104E86C6A41F318E37309EA1ECEC88F1C89184167EF529E1F6C433D9BC7E8E958A4B168B1FED4F1633175BB70F63612FF7C8AB52802D0F4EA7F71092360A2EBD41439D8DFA4C47FDF71CAD830BB1DC9D0F05C8A0CFE3B52DD5AD4113E07ADE173B427784ED29FCDDD8FF2E06618007D96D1A62956EDD1733D7215831E40E2E065129C092B0386D373F5C440EB15942DBA8215D91C92ED4569F845241C11D4A9AD50DF19675756DD2A8D75B4CFD0BB358917A6380F937B0AB2D2D1CE0286BB1A87CB3A500E3836D16868BC083B819BEE4D2B4BEF279927D8ECB2EA48E9F45509B66F528E5433FC9FA354447EC633F5DF8D823C6A19335F922446FCFB9023A77F926E5201C90A929C2F59CADEAD14067A457E86423DBDD6279FC7B04601FEC4EA42587D2686A6F7B5AF27CBBF2AE31E8F1A9BF25D2B2C3B0453E634F9F3F679C31E8EB062D58D5C2D1ECB049664365D1F409CCCDF108C078F7D3EAA147691EC4A495C47EF197B11E616F047A504419E8BF6523693D6AF5052C6E67F5D10C7AFBD724B1FE7A0981CADB46C873B3A22B4F1E01183736165E15DFC2AB6266DF36341F6B01298943B6161EBC204B2F8AB27CAAFE51081521FB102B8B933FF0210799AF25CBDE9FBAFF3F06B0342CAE5BCF2FF18BBF30DD576783ADBA031186DD4511E28D17EA09C462CA95369EB84423B625403CDEA7BE2ED6740076C927951E03183362FA9E245AFC472AF940E17A148A4E43A75A622F5656F41E4BB952F21CF0D6F78792759F911D1FB505451398787817CCE6A29877BDA89309A502D094272A01760F61EE5DBF3A2EDC77E60C70A08FFB3A68DAAE46E7CF41C69DB9FB53444C2447350BC2C2D80BFAA2133273D7F925368F5EE4686ED810FDF08286C132F224934A80314392E132D3F6F34821B27E84B87ADD40DAFD4DD0DA07FE7846AC55C67BDBD26A881756360AAA5E8D5A36A94D1932B247B686AA278D734C40B11A36D683FC5A372AB99727F477B900637EEC427ACCC1C88083D0230A421EAF511ADAD42AE3691052198DD97216EA5E0BDAF92F377A116936BF0ECDA0097B909F410132281FE17B4CC5F37B54D69CD1BF3F043FB07F7E7F5A8CBDA35D038A9DEA63F431197B0015028C07F72B9CDE5E60A6416C2E446EB08A1278A87B339CE8E3F3BFD26806FCA6383108A7857A1EC1260ADA793A8F866C869851808CBFC079850B7AEAEC86ACE8C3107F110B4967326E88D9EB0FDCD333EDCD191C2B05183F8883F1F9D4EF3BD8D410CCE00537E6F5C39CC9ADB97639AC622FDDA0377E3E47A752AF0905E401F8DCF7756AF2D8F30EBB7095FCD958CC763C050164C933FCAAE4963F3CF52A755B132D5E0A4E1A938A719A49C916591933A261900D442EAF58643AE4D96402227E46FBB6200F2CC4D521BE3E28E222AD848E8D67C34EAD1AD24688DD8AAEE7DC590EF053E3F34B093BCCA3E33CA95B9BAAB5B6F15B114511C9D80563E7B80B49E45E40C08A99340018338BD509CB1052367D2F767CC85FC1E482AC7C23B101F0C5CCE66453BF3450B600792EE2730B290233D57A2CE4CF2AB2FB6177B818B9B2DE0B68A55670AF08DD9A09938B32C8B080DEF19A2B6C7755E3219E466620F7AFA2C4CEB171E3DA940FB390994A38A096882CCB2C568A7E8BCC7DAB8F6595E87BCA9EA0E27F66FC78780ABC855446DA44DB549B1542C537A119574C6600D90A0075C2D3762A7A93F6505FB8E4FC8E503B9EBD36228E33B08B71FDE9A4BDFB8A7BD30A608A26596575F87C3E6D3F9D8BC4B6851403979F3B0F17E6B5010077F8917769599F5E829740EFF64D74CE1023DCBAF3A1C084AD5210D20ACCE86E470B00346391888062750E8CDAD560CC7EF049D5DFED4AC92B9D0026E540157D75597E9CA2384F3F361C8200E47F23F5E6774672927C79C319DA8EACD99CD36315A27FC6FB1B7F4655F0AA2AFC951DC09869CF6247BB0F3A2745610736281BC3B494036376338EFC61B0630C728B80920280B204183346B8559FCAF9BFAE4C4FA625F6A83D0D55CA8E985C8AC2C624060E90A9702362D30F2B846B62C6F4B0AE4BDED8DC24C1DAF17B3C808E5DF52288E96948F26BA64739205B80F16DCCDC0BF79EBF33FE0F321D4C4B5C136013CC541B01DA0BD930F5A84B6C6900F032B1736C81C25F667A9403B20618DF8AAEA6A52BD894FC077E68AB18A80F77A89C2E29D0DD86BA43D7E604A529D760E24CDBFC35AB5F386E9315ABEB00C8848B85251CC5F7AB06B5A371DD5A1A2D9EA1642015FFE6D80BB6FF86439F99947F8B121E561CE9807B6EDBA42EF9413FC976E7B67A0AF4953DC0989DDA989658146E0040C6FC9A48F7D83F1E009902E5F1306C18BCED2CD50209B71195799DBE09CBA42044413102398FC406583AB451C5540C0DEDBFE5717228E032A4A7171614359AE2C433537AB412218CBA04009904C0985F9A989658613C0281AD5C618469180A1E2C430C822D6A5C6A4B9C11E855B8E9886A1D509F9C7AC7AB422B85B6FD687ADD898CEB346E47021D4FB92A2EAD892093B12842D60FE6397E09EC1F66004A836E93F59B0760165C83A267E2A5C315DE0E8DE89B211DA88B5D434DBB16E79B0CC0F86ED4312DDD860582AB98EC83DF168BC2ED30EBE82B929DDB9E8A1971554886886D8C86B3A6B19C0D79D69AF77B0ACD613F3B7C6E8F9CFB5FE025EA0F6055E640CACE08FB01B4C908C049CCC21200EBCC39FD1D68761F07B5667665249A14C0F8C62A322DF5E9D09838D1DEDFC87DEAD0BC1E858CEBACF7C0127EB01C9DB514915135A0788D466E55D766D2860032D0B906D49613D0CFA178D98AE7DA8AB5A1A6797779A667F1CF95F15825C433FD0F282CA1496108930398E2ED51655AF24035B7688832AE7779E82D4F83454D31C826FF5292BC84811C07BFB03A6AD6D5548C5FDBBF5C65A437BC3A8EE225E2C47587512AB16373DD007E06154B7A07458BAA7B4FC395FD0F3852AA0B329305183FA0C74C4B38C64C4F40429146B01B1A92186403D741210C512C559C29F7391C997D7EC6DA9217E95C87535F75D2B93E7B9FB5A7841B3DCF643FA158973A8B7F93061803489896D893036F361B4343E123EF2F91AB4FD6B5BBD4E2B370A1A40D7DB78BC1FB9D7B106BAE7D29E2253AF35ED7D2FC17FA7A9118646ECB8F89996C2E623566AB11AB61F20063E62A62143FC642750E4A414B49EB319BBC89DDA523C4D4F969BE3A1BFCCB1B3BEF16BD971D13EA96D849DE3A8BC5F2FA6187D14ECB51450E8EA0C75189AFB2DDA5C9034C915098BD4C9310E7A9E942B73C46AB7B9CC5962F9C113924CF5019BCB90F9F1527842A62C5CB1DE00C6A5883FB0A28A5DFDD9E2054189113BB542C2AE55AA244DD710F5A1723CAB1AC09CB54F712BD9FB7F554B618438FAFA3F4DE363788C2A7A2FDF68BC28BEF41C76068E23EDAA12F2EF9C37D5744263D839DCB29241764EAA9D9A0165D435A71A97672656737D62B359F1F26D29B47BDDF953AB7D44E6959B65DC5FF9DE1C2C41A7A43CD908A7E94FF2A6A19708C4685B1AB15A14FEEDF4DDE55527F72AE1E0A53E9CA8BC57FA68A377EFCF6785D9B7AE4FAC4DC42D16EED8F428AEF4B307B293AE7BE6AA24F9EC560DF541C7EECEF23D5D61EFB56E6075864300362B36E18FD4EE2734A80D06661985EC7C22F0FDFE3841DFA05AE3A837C077D72DF15955E3459117909066CDBD97F0B6DFADD793D2A5E882ACFFD06FACC0BF1FA73FEA65B505D64CE795A27D71EB6191E4EBC226256779DC9850AA6582F851F34BD7545A188810898DE3DAA93CACB4D16608A44C243E01DB17DA49BCA9B97FAE02B70AFDE76329B362015C31B1A04862803EA1768E88B15EEE24A31A331D37C24B77B8A3AEB8B23C909A18BE790A24A15992CC0C66C3D4741472F9214DB76558C55756C25D2224C445AA7D1FE2D68ED2BCEAA4E11C7D40154D98BAF2C0C30B875A26C9F57E1E5FBD48C60114D558CFE5591C9024C5173722FEC66039CAD54DDBBE4C7F69EBD4C03BF8DA6FE4893A09C9A4A1B40951DBC312AB4A85391C56401A6A81E1739C59BBAB6B22CFB3C8CF27F240CEDBE28F4CEC1CA1FA02627E7FD284FE4953B40F8FF53CDEA2581C8FC994D60F8314685164545968A5225982CC014D5E3F45156AFDC87ADE117C25F0DE5FED8BF4A8044690DA5B22906128308E7D583A36077AC75021C2D619EB114BAB4E67C0C2597D973221836D61E1257680946AA849EB052B08745483915594C16608AEA71FA280CAAF2E16B71B0B48A9CAA6B6B3FF4EEB8F7805A236AC91F0ACCA7DB94008915B3E529898721B71AFB7DAD87E3E40878394849D0E2D348D8595FC586E5E772529E9A0126E113290518CF60354A66272FD403E801B7645F7B4BF284E8D4B43EC1EAA399F4F6D6781A8E2A229BE04223250D07B8D8ED7CF55027E1D0A8AAEFFF010000FFFFDDC1AED300000EF149444154ED5D794055551AFFA16C8AA8B8A218026128B9AFA8B8A72D58368D8D3559CD92D64C8B2629E9388AB6B896136A6558A3A633CEA44D995BA6482A092A20E02EBB0B9B0A2A8828F2E6FBCE137CBE788FC77BF73DEEBDBCF307DC7797EF9C7BCEEF7EE79CEFFCBEEF3868284185A9F57BBFE0D2959BC89C33081D3D5C65F18699541E5F2A9773536764BDD31F9EEECE1697EBC2D53274088F4183264EB8352F180D1B38582CD31401772A34709A73009A92DBB8101E8CF6CDAA7F1707B502ACE7B2C348CABE8E43D3FAA2DF034D4DA933ABDF7328FB1A062C3B829E1D9B22716A5FC9F2EBFEF161A49CBB8EFD6FF546B06F73C9E41A13B43FBD08439727A0BBB73B92DEEE67F85606981AD3A391491A4CDDA3D97EF2926C5E6FDB894BA24C8F51D9A44C4BF66609B963BF4C9652AC515921AB93459E9CB7B1046317957CED95FF9E1415B0FCC039D9BC06978541CF6593329594DDD1B8FC7DBF907D38FBAA94A2AB95C579F07B349AB35FC3791B4BAA05D8D7F1B9A2129E599362ECFD6D7A6DFCDA63A24CEB8EE44A9E6FC47E2D78477C96A8A9A8905C7C954096CD7930C04CF978553B06CBBB7E0B9E340875E4C1EFFC2170B0CDD8D7E05884A7526EE107507AED96D141B14101355CB8754703BF45B1B850508AA54FFB237498770D4F987779697436A67F9F0AAFD68D901E1604E786C62B56B500E3EA7B68711CCEE694E058D8003CECE9665E8D4AF4D499821B08F830163E6D1B23E3DD2089A4DE2FE6E8C5EBE8F58F7880C076E08DDE18ECDBECFE1B2CFC15937115C12B120002D5519AA4F468DFA4668955BA4F850753BF3B2354F9BC1FD3EBFCED16DF1D88FF65F369AB9665CDE11CF1CE0D66EFD31C39774DB2BC5816CBE4AE712DE5616A52B5063B955F822E0BE3E0D4C419D7C81EE6EAD8A0E62FCE0A779493CDC8F3FD83B85C781309EFF4432F2F772BE4724FE48CAD6958B2270B706988DD7FEE8E519D3CEE5D34E368F7992B18FD550A507607D34775C4E2B10F9A2C45D500E35A18F7CF146C492EC0AA099D3139A8BDC91523E58D9B92F2F1EC9A6318420DBDEFAFBDA4146D5016694C846D4913DDD99CD13E9849C0A8ED07567ABB020BA3B230FFA74CD1ED2E1EE78FE9C36B37B6533DC0E2C8B81944C64DEF368D91466331471B59BA2B5B9E07F703C8207938A3085B27F7404897969597ACFE9F66AB78F93FA780F20AB46DE98A154FFA635CD7D670AA6160CE13862DC70AF0C60FA9C8BB7C135469584B1FE84B7D3D6B5D66D5038C6B64C4E747117DFA0AE63EE68BF0477D6B5D49963CB0961AF90F1B4EC08F261967670C808DF18D8CCBA57875F319FC74F2B2F635DC9C30B9671B3C16D0023E2D5CE1DBA291389F71A514BC94B593EAE98BA3F9002D01711A13D80A9F3FD309BE2DB5F78993B5F8532F00C695ECB7E410402A3FE6CDDE18E423EDECCA507DE79049A2FDC258E0663962DEEA63B37CF5CBC35AF47FA49196FC7C0EB16945FA97ABFD1DF46073CC18F6009E268D678989A75E008C6BF0EBF83CBCB4FE38DA50577186169A9BB93A565BB1529DE4460DF92A193B8E5D42E8486F2CA5EE490E89B5D4FA845CC4665D472A69ADD3F49B530069337FD266411DDD31B1B7A7D06E5294B7DE008C2BEB79EAAA365297C50BB451937BA2257517D6480CAEA9DF9F4504690C5FCFC63811DABFD6036C6B94AB2E64D62B8015D334DB7DEE0131DDE686DFFF5A2F78357391B4DE195CD3B7A6E2A3A86CB18A904406CFC0B6756BE495F4056B29AC5E012C3AAD102356933D87C6449C5A51B7B0E9F7811846E30D29D24D9AAD856E49C5A7FBCF8B99574A685F74F534C1DA2D45E6329551AF0016B8F4104E5E28D6368523ADA19593BAA134A14F5B2C7BAA13DA1111D0DC149B7515CFFDEB24B2F26F6845383B226C9817163E61BA51D2DCBCE5FC5CBD0198BEF60A68D704B368F0FD0A699CDBB430CE56EF6983BD30A1471B41503465E6C4DD61FCF96B58157B11AB0F5E0418AF6C8720CBBD488D1C1139AE135E19D04ECE18B06AD9EA0DC0EED35ED4F0517FEA8611FE1E282A2DC7EC9DE958C9DDDA5D5CB4248AF5C41EAD3198CC199DC940EBE9EE82A6AE0DC5E5C21BE5385D5082B8AC6BF82A3E17672E96681B8800FAE953FEF06EEE8AB13499C00DAD1D098D29AF3F6AF3B26A4BCA5478BD00D8AFB417B1004E4DEF7F5F9330DB6143421ED625E62133EF6E3777DF1DD5FF60B3C7EBFDDB9196F2AAE2A5AF2793C88BDF9E269069C77A706980CC1941E84863BEFA96EA05C00C692F438D9D92538CCDB47E9978B11849B925C826ABB6862706D46FBA90F6EBDEAA31FA78B9617CF736420B56679D8F38701E53B6A703A4212B9366D9C8CAC37AF35FF50033457B59ABB5E7EDCA4078F4B97B20737384E6FDA1D6CA4E9672550FB0DA6A2FA95BE9ADEFCE60795CAED634421AD08FEC6F69B426595F92AA015697DA4B174013C97CB121398F0CBC15C23E368A2617BB5FEDA17B8B6A8F550DB0BAD65EBAA82197326C23A6022FB8B3496432515F568D0FD0BD4595C7AA05985CB4972E6A06119FFD209937989F059A2C2C1AED831923BC756F51DDB16A012627EDA58B9A873F3A8C13E49C01C2181A3B61F3739DF14CB7D6BAB7A8EA58950093A3F6D2454DFB0F0E228769326CF127DA502271D47A9AE2A1A32B4421C7AA04985CB5972E265CC967B38C97A838356C80A2F783ADCE51D36666DBBFAA0398DCB5976EF33ABCFBB3A00E8973C47BD72C19AE7B5915C7AA039812B4972E721C42F76ABB4A5A23F768EE822B7306EB5E56FCB1AA00A624ED55899C329A51BA869126E3F11879FBF4A1505347A6F4A9BCACF8FFAA0298D2B457257AF2AEDF86E77B315A1B9973038C27478B6F5E7CB8F2B2A2FFAB06604AD45EBAC8394544C52E14340F37EF889965D810759015550330A56A2F5D901D2456ECA05549DAC571959015650F30668DFE9C5E88C8B81CC413DD59D7CDAA8F57134C22B628DF33F2CB7B5CFB806AF85EBA0D29E7E3EDE4201BB2FE2E615105644559032C997859EC6A76A292476F08194E14D484D7F838E9B055B52794F7F73EC2A2C2C98AB2055824F1DC276F225628C549E848B4E53706B6C7E887B4EEEE0C197620FD89A2BEAC202E7C95A3059D57B2F6D2FD14F4098B4A252BCA1260226807F3DA69DABEE0093F11D1C550786E0EA7BD786F3666ED481753FD308A22B330441D9E3CE144589CB797088BCCA655285951760013A1BE3FA1287D6478DC46B1AD9E30311ACD361ABB8C5D9D2C94401CD991FA7BCB2374B9AE5632E7B88AB0484EC34A242BCA0A606C740C24B6413AF1E0BFA07041936A19CF4B74AB14AEC8BF9D1B8E4DEB07973A0A38670E908C3D534558240B86D2C88AB20218454AC6946FCF62188DB5F6BED6B3D6515D7836399C4235EDA3B159C46F1FC29BC11D8CB59BA2AE551116C9C3449FACC8EF1D977D153B4E5DC1AEB385384BE3D3CBC5B4904E146D4F72260E24279527BBB4205A501B787B481B2AA1A64A940DC078A5C47BC141112539EEEDBE6677719501E73A5014E4AC99036D1E8FABA60AB7E47A15619166CD4C56E468839B93F3319FC265F24E1F35261AD3F247376F8C2F3CC804628B241B80094BFC8A44747DC01D29D4BD999BF86BEEF6F1211C3F5F8C680A3C2255DC0973CB23F5735584451727729F7345F25D60F14CFB7972161EF1A00702E8B8B59B360C4241C92D2491FBDDD6139711792407B8552142901FA0C02F1C80CEDA493600E359E0825D99087FDC1773E90BB32485FF48B3AF9D199835C6071F3CEE678928593EDB6AFE2F1450B88CCAA611A14157904779084522ACCE3F53F7053820DEAB64FAF921A5008DA8EB4CA3B05296C4E3D0956DE85836001B487C758EBE17F57A2FE1CC6AA8C0A69C8F4A2DC4A89589E0287D07498BA92931487A461C413EC54E7DA19FD671C4CDB9A1C9AFC84391C9DF9CC297643F1CD9B9257653DC5853E270989C81DE8DB20198F6ABBC89737307A303F1A22C49E78ACAE03D2F4684672AF8FB204B44C9EA59EEFEF9438CA39DCE9E23AFA40D147AAA26AD55DD0B70905F1E46705C8D8D2F77C5048AD96AAD241B8039CC8816CB3D37160F47235EFAB120DDA071865B18C923EA8B66D1700B24C9EB518E9D31F1EBE3C20C739CBAB79AB6713156FA3D34DB7CE4D344C9B716D4CFD30E30FD1A91E96FEEDA5A1167AC90C65E3F9209670C4589B624B136F4FA909C4F2E955A757308D900CCDE451A878BD82728225ED2B5D669141B6D192DB37D449B674DB3D2E659B2D9CE2F6879BCD80727EAEC1553B7C13178DF1E92C17BEAB04CB5A42977F75D9ABD234DB257DA989827EA897643914CA6BE20D9006CE6F634F1B2E1126C5C357767BA90358B64AA250D88D07E80D1A98592BDD2F1DC62514F7E0B632593A92F48365DA4DDD06ABC8B14CEBA345E4A9B3D107E66EEBAA19F432EF965B623FFCCC6B4A17B096DEC6E8D241B80F120B6232D159DA70D35ED4B45BF6E6A07F63CBA7507C58B86A13676AF5F4BBA7786A362379A1E2D22FE58CB27533600E3D7B62F76DF6B7CFD23879904307208295A3054320F705B987364053029E93A96DA89F41BB8AE7F072C891386D1A3145BD6A49D664D28B02D0CD2B20218D7892EE1702B110E4DDDFE4E977078686A1F118ADC843A56CC2DCFAE3B8E4D14A0F8B3DF05E0B5815E9294DB264B6AFAA37E39FCE62D7BD9CC80D028CD87BB3335E5C48B3694F8DA07BB33C4BD78BB76DBFD1A9229C7F344CB11753264658264C5B3C56C5B761AACF2D35C4D6E6A936851B6D2E9E375E1F4E1011F0FEDBE859985A5E4F451289C3EB279770DE23A453EDB59B59B1E881003BCCF1245AD4E08B57C5B665BD19A640B30069AA96E6B81E41FB9F1854074A3DD3BD49C3E21C6EF5462FC0E24CE570CB14E2C6141D88A98296B803158F84BDB47EC81C8B88B4820E2DC49DEE2975217DA00A13739D84E1AD01E43FD9A5B54D942A002FEF0E6F25D68BFA5D49C12BC17E287D98FF898556AAE535B51CB650F30B36A50C50F1D278798AE9F1C11268BB5A4B5CDD9475BD739C6DAB36D3BC01408C65D14ADFAD12F28860569B4F9E437CA9ACCD4EED2D6B36D3BC01408302EB200D91A8EC771478CC956FCC61FBDBDDC0DBE0D3B282FDA9B85BFEDC810C05C4B644573B49FC10C0C5CB003CC40C528E13477974FAF3B26C664ECA81C4C83FF177AB7A17DB79BCA66B66D0798129064A48C3CF05F19731E53C9C9A56A773703F7D7C56CDB0E30038DA1B4D36C27E3F1D5BF13F39192575215E6AAAE67DB7680290D490A2BAF1D600A6B30A515D70E30A5B598C2CA6B0798C21A4C69C5B5034C692DA6B0F2DA01A6B006535A71ED00535A8B29ACBC768029ACC19456DCFF03A7B3814B99053E730000000049454E44AE426082), +(67,'image/png','img',0x89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C0000120EC9BAA23F000011DA494441547801EC5D797C14559EFFE64E08B948C215C841401422F715101158049575001576D0C1719CC5DD5167C615451CF01A5018655CC76BC113759DC563D0F1A3823B4B000109C81520CA61088170849003729FFB7DD55D4D75A7BA5F27DD5D4948BD3FBAAAFB55BD57EFF7BEFDBBDEEFFDCAAF9105663129E0230AF89900F31165CD66150A98003381E0530A9800F32979CDC64D809918F029054C80F994BC66E326C09A8181B2EA7AACDA918F35BBCFE1C0F94AA0AAAE19773BBF342C32184F4CE88D851393E0E7E7FCBAF6586302CCCD59DB77FA126E7AE720CE1612583E2A4BA626E399697D7CD47AEB346B02CC0DBA1F395F81FE2FED06CA6B3122250ACF4E4BC1A8C448448506BA71B7FC928DC78A31FDFD43A8BC5883FFB93B0D73867495DFD44EAE3001269928E1869EBC6A1F320E1761EEC8EE787BF6D50809F497DCD5FCEA0C826CD26B7B111B1D8A337F484750C095212B4D8049B0F0C5A142DCFA661612BB76C2B14747FB74E2A7BE91856FB20BF1F6DC01B88760BE128A0930C92CDEFAF6017C71E03C3EF8C540DC39AC9BE46ACFAA3F3F5888196F6561EAC038ACFFF520CF1A6B23779B00934C44F8535B51515A83FCA7AE43CFA860C9D59E559FBD54831E4F6C85B02A2B9EBECEB3C6DAC8DD26C02413E1F7D046E58AC6172749AEF44EB5D1FD79E7A99DB76202CC396D941AA327DCE8FE24C3F7B8DA04988484464FB8D1FD4986EF71B5093009098D9E70A3FB930CDFE36A136012121A3DE146F72719BEC7D526C02424347AC28DEE4F327C8FAB4D80494868F4841BDD9F64F81E579B009390D0E80937BA3FC9F03DAE36012621A1D1136E747F92E17B5C6D024C4242A327DCE8FE24C3F7B8DA04988484464FB8D1FD4986EF71B5093009098D9E70A3FB930CDFE36A136012121A3DE146F72719BEC7D526C02424347AC28DEE4F327C8FAB4D80494868F4841BDD9F64F81E579B009390D0E80957FBDBF4C0304C488D963C5DDBAF360126992375C28D8E07138F75F7E81E58F9CF7D111B1E2479CAB65B6D024C3237AD0630B1B1A4AE017E04D73B33FA61DEF0EEED72CFA4093009C05A2B647A2F45E4BF7E7C18DF1E2D569E707CBF18BC71477FF48FEF2479E2B6556D024C321FADB9E9436C997B6FF759DCF3D95134724F26C8D59E9A9284C72625F964EB9C84142DAA36012621DB6BDB4FE1FE8F8FB4EAB6B50B04D7C35F1CC39ACC33CAD326710BDD1AEECF6C0F468009301700DB71A214E9DCAB2876748BE2CB8DB76277F7E457F722AE4B284E3FAEBFF176D34FC5F8E5478771A2A042791E3D23A090CFFAC0BA23589B7D01A8F44EEE0CA533ED475820E60C88C52B33AF429CC4003101A6259CE6FCEB1F2FE0E6770E00350D10FACFB7A7CB6CA903964DB5A40E8826A1BD51B4A903D63275C06C17A903AAA9F82FDF78024FFDEF892646C0D1C20A4C58BDDFA7F933B4E3ED1E17862DF70D46BF38E77AA109302DC5ACE7EF337BCEBC0FB3818646C555F026C5D1C1B36598FAD601141455E9DCE1BB9FDEE12EEFBB8677A3FA659F4AE030F365D819017D63505A5387ACBC4B9837AA079EE69F2099DCD0172597347872C371BCB7F30CD25363B0EDFEA14E2D5C13600E33B072731E167C764CF9F5D17F4AC2F29B5315E21594D562CCABBB71FC2CC5933FB56F31DFF5F693EED094DB5FC546DBEA06E2B9AC46F79E1EE414CFDE98D204684D8C00DE3D32251A990F0E733AE1BA1DB4E047D1F7A89777E3FBE3A558FF6F4330B57F17DD564C8059C92208F6E897C7F0C2FFE529BFFC79663F3C747D6FE55C806BDC6B7B70EC4C39BA74AAC38A81971015444434B3145607E037FBA214606EE0A4DCA89994754C4F308B690A10D488778715238420DE723E04EF9E0A43655580D29333A00923E0EA3FEF422139CBFB4C7170978F531CA8C3FE60CF39FC825981660CEE8A75BF4C537FB63B9A002339EA280AEF5DFBA3C2F24151F4FE9D144BD649F216B854AA7F7A2A146BF3C2D12B3E4C49A6A266EA11004F7F650F32734A303DA102F3922C79C8EAF9BB3B408B797A1B4A4AAA71E8B1D118D02D5CEDCEA7C74367CB91B62213313121287A629C6E5F1D1E601554E267BD77101B984507C101F8FA9E344CBB3A562196337095D6FA63717624CE955B388B2E65DDF871D9F43E787C72B2EDCA9D791731FAC5EF298281B0E07A85732D1D548AAB3AD74106B4A0859B15A5BFF4B909880CF5ECB96C0F2439B958558FA845EC97FEB9C6E76FD0BDBA4303ACA8A20ED3989A69D7F11280E6F68EF983319A89E5447105AE8587225054E1050B32D81F798BD2D13B3AC436397328723EA2E8B95C1A714B4215E6265622C8AFD129D0CE58332F1AB566AA3E9F6C29ADC302EC14C5C9042696CB219B172C7E3B75A2ABBB5A448B3BE0EADB231CDB7E330C5D3B376F215A4DD1A41809147F8EFA8BB0D0529EDBA170A3A903E2B0E10772565E1715568F47FA9529DC4C4CAE1E4713BF9B00135468E5F2434139C6FDD73E141757430065D37D43901065E122BE049718B6D0B56E60DF5B8E14D112E597463F382AFC0BE8B55FB9310F6318AEB3727A2AE6FEF507AB73D59E9B89F654A0BD7EACB3F86A024CA1422B7E68BDF3C2A4DFC0446F319D2CE2CED7E052879D75A60C839FDF69411B5999A3C25F420F7CCCB2EF14C7EEBA7BAF5574C2C55FE76065062D5C1D6E26DA9DBDDDA2379A1C4CA5722B1CB5DEF969CC22F8377ACDC382A851B318052E75D8F31929F1C6F67C8B4FADC10F8E0AFF4BDF9EC4EFFF7654015FCEC2314AEACEEFB874F5F30FF5B999093095B2AD74D4F3CEABDE71A3C12548709EBEB5AECBB633D77EBD85220E0A7F2D655FCA8A1DC8673EFE9766F5C36FC75B7C72555C2AD2E3668BB3E85F63313998859C867E3AF3CE8B87680D70A9837F7E531E1EFD9CAB06C2AB409C392AFC36E72B2DDC92C5E97669D31DB9996569C104984A5B438EAEBCF3E2015A135CA2FF1A72A9E4E53BA0B818C4F21345A556E1D73A5F174C4EC4F3D3FB8ADB6CC5919B890A9383D9C8E3DB1357DE79D1736B834B1DFD65B785C5A27454F86DCE573A33731F1F83A498A60BD8829B8DFD4FBE2882C504984A591F1E5D79E745B76D055CE259ECDC16015CDFACF76FA2F0ABCED7D95CBE5ACBB546BD227378EADDE38DDF64FD5E718E5657DE7941D0B6042E75822FBB2DACBF3828FC5AE76BE6432394D7D8A8F70A4EFD01C38BEE11E1452CED92839DA4D7FBCDCCD3F8842BFED917C45BC6AC968F3ACA367ABCF9DA78BCC6A8CB247AEA45698BE0524967735B045354D6F83551F8B5CED7EDF70FA383955117BBCEE2775FE5A0E262B5DA4CFB02583DFF1DCF317A72C937B9406DF3C3536CA36ECD13866C8D488EC6A289BDB0809321E2B9B4213762E15A5D5B6CE9F28F378667E7B6D0F1F06B9DAF831323B0FF1CE3D2F87A415144184FBB5B8B14EF46BCEDBD43CABB73C4BAD9FCB109CADEBC342EAD78EB2D63DE9818BD364AF91EC7838CDD123B72560B672699825ADA22B8D4675B9171028FFDFD27F52BC4E68EDC45636CDF55E7ABFA83363E2CE8E10CE5E776212205E7BA99E1C1E2C54C5D6343F129E3A3AEE3B24A7B2C5B192971DB7F67A3E002439D031BB16A480962821BD056389770357CC337B97D9CC5F721899021EB0613416BC1A9F63D34D24676E17C1DFED2F728E21F68E914FB085799B26D6BC4CB27B27E7595FCA5FFC8C5922F73D08DE0FAF1E151F0D6E6062F8FCDEDE68478E9BF72A702B2D9491598D2B5BA55C5A288A3FA827FDE4FA9D3AE13BB7F6A2EEBB4E2AD6EFF32281EB7517F1CD93BD2ADD067F20304FCC746851E6D9E8309853EF1592EB4F29FB5F5C1E118C717705E094570B2F12FEF518612480E5657EDAF4452B424E4A625F41006C66707CF2B9CEA1F2292428441584B5AEF08CC21A8661154EE46A30A507D975B8AB5FB0BF0EEBE025C2AB528FA6D1E6062B7C833EB8F63FEB804ACBABDBF4A832BE278DF2787B17A1B7532162314FA13C555F834AB001F651522530435AA98A24E9BDE2706770C8A5340A5E73C95117CF08BBB941D448ED7B579800D7C6127B2F3CBB0F5B7570EF7522741E1627F21176304C539C690373758506DC7D951384DB3CF955B4045F177E814F752AA856FB09D725517822A1E33D2E211DFCC4045B519F598CCA0447503EE1FAF2DC593473AA3819B4A4E3E390EBD3411B2EAF5BE382AD28E7B01447106EC263A989F88B1A68E50F2DCF56DDE5A6C2ED11453FFF12D00DFB5DDC8F179A30850ED3C7991A03A8FBF925B9D62F483AD840460D635B1B89DA0BAE59A38B763E585F3740B377F7CC2365FFFF694D25C2563DE4345C61D6BD940C3601A031711D088D78796E283BC306C2B08C162BE58FE8F06BD587EC9FA1C2CDD90AB3C91FB0033F8FD882AC18C3ACAAC1E779E430B800FC9A94AA9B7DA0A231FEE4E8B5394F429DC96A60585ED1A9D1357D6A4B8FCE149897881B9C2B465C6BB07F13975B0E1B135F8557239EEDF474B9F0BE68B6F4CC6FC310976B1FEDAFB3C3D179C6BF58E7C2C15FE51ABD8370166A56A4B01E60A00511449775241179C6A7C9FE826BBB09D4DA82B6B328231F813099C98A07AACC9B584436FFFDD70A4275D36BAF218F29DB49C06197746FD61C045C56E587E24820604953C230AB9A7DA9709302BC19B0330570068893B413C822B6BB247E77A8C8FADC6982E35E84580A965CD894EF8323F4C71BCFEF8C8283BAEB88C2EA5C574298587D661F5905214D7F8E381BDE4648CF5F755F10FA9477A642D6670B7D323826BBA50399AEA601D5C44BA02404BDC0962929D5A93942FA991F51847508D26A8E2432CCB71B504C781924064160523A390EF09678485E068972A039A884A910CA5EF9F3215DD6F4E5239AE23D77B704F0CC07D060D4BAFB7F3A3ED6702972134E294100E655B930BE5DC8A838FC6D24FE7A41C290B8488A4BD26A133B2178CD2BDCA0418C9E214002D7427B8B426B9CE38308AA908626B318AA08AB4A620B8C835D1DD25C1045510F6140729BA9476C666F6AAC03AA61110887114955A85FF86F86A6C3A1B8A1BA8FF65702B9E5AC433A9BB992676AB42C6394B5C9953D1E606C05EF9291C5BD8CEAFD27BE22D2688D12B1D166007178EF6AA3BC1A535495D6544740DD2C95D46C4D4214CC47DB1E457FA6317B9D4F6E210E45E1471D397C5DAC05E9D711BDD19C55C857879F34984855A74B2AF9C884A55E1571AE68748DCB2E29654F52B6C818D7C96378795E0D7BBC8E5585A0AB0CDCC9BF1EA518B6E286839B0BB7EBA820E0B301BE5C58917DC094DAC492631191F538D7472A9C10495BA2BFBF0A520EC2497DA5C1C8C728A3C5BA19F6C72BF2E9899168B5B07C6DB2C4061B126D2E725A225E6A79661EDE93094EA884AADC22FDAFC98C9486E6752125184184D610E09D1C65DB4366FED5925DDE6A6EAAA5A115949E3E140692032CE8762F7058A6E9625748B3CE3C22DD27101E60377821F75A82904D4982ED5B826B20EC40CC4A4EC2D11A0129C8AA2AFEEB22F4BA42B98CB4C8133B9856E2AF3614410E87A45C47D898042C1C51EE3EEEE270F44EA8A4A55E1176D1C5F32D6961F4CDD5C12463D2E9A5D9C29BBDC8F8C83E93D8FF21B07B7ECA6142C9A946CA7E7395EDF610156BB72A257DD09C2F24B0DAF53887DA12680800AC48EA210FCC07FBCD6A21331F77750F4CDA0AF6C6C72945BCFA0E562FFDEB70C79E4607A56A5E05423FFB25B2408C2DEDF8F549E451B67767DB76AEA4C2176186816C0F80718951081D95CE2BA635037245A0339ED1A74F8D26101E68CB02A7D5C59938EEE04A17FE530D3CE4E8ABD6D04558136EB0E277B34439D6629A22FCE96FF42EDC7DDA3968BADA23BE2C1FD51BAA2D2B13D3552B60F396A4E39B9272DD2AF99F6F2A655FB954B9DD1411591CEEA1DFB71F6DD049886324EAD491D77829D2B81C002FD4FB6C234503FE312D10C8ABEE91481B244B9B6FB5C9C3872B1844EF57411E88B4AB519AD5B6268975AECA598BE899CF3AB7B0741062059BDDA87ECD8A101D65C77822B57420493A7FC9C932744DF44E64B757789483641DA7A2D177B7B6809D69C08C7FAD3A148E9DE0922BD80B668DD12C328BEF7883F0165E73126A84B65D25E198064F5DABE5C9D7758803D3239A9E9E2B48E3BC11D57C2CF08AAA13D235C2ABBAE26C1DD3A472E964F5DECEF56B78536B45AB4A7754BF40C6BC0692AF662CC7F62B61E51640092D52B8DB8F1D1610166A38D833B81B9FAD05C5782AD2D034E542E16CCE59A9A5A5A8374A9890C3C2204485B92E8DAC8633EFD11F4BD7D4F9742A7A8609C63B2BBCE564B55062059BDB62F57E71D166037F6A8B2B9136A1881E0A92BC11591BD59A7E562A25D91434C6C63A383DFAED8E2C5C895C582F41AEEAB9837A2BBED1A198064F5B6862427FF0F0000FFFFF20B1442000011B949444154ED5D097854D515FE43F6852C24614F485812F67DA76CB5D28A4B29B85BD1BA40511010AD4B71AB2828452B5A546CFD44B1564B45682D05F924293B0642D82140425813C8BE42B6FEF7CDBCC79BC9CC3C30336F669277BE2FF396FB729773FF77EEB9E79E739F4F3D092AF299FBBD7455FFF64F55779BCEA9DCBEF707176157811F761404E270B11F50EFA334B2636C30EEE81D8B49BD63303221027E2DAEA6290FB9F1E48F2939787ACD71A9063BE70EC6D0F8F006B5597FB400BFF8602FC0AAF7EED812FBE60E818FAA19321FECF5B3567A8302EDDCF069AE00B3E007193F2C3112937B47E3B65E31E8DE3AD422D9D32EEEFCF420FE919E8B3B07B6C197F7F7B25BBD499F1CC09A8C3C8CE9D60AA98FF5B7784E0B405AE9169939B868BE000BF0C52F7B44631201754BCF68C484FA3B6093E724EDCC29C1F0B7D340B18AECE787A353549052B9AA9A3A4CFCCB3EE45756237DCE109C29BA8C4E8BB60357EAB0FEB7FD3121B995F2AC1680B4D2958C344E9A2DC02A178F43103BC99B48283323DEDB839D278BF0D40DF1587C4B578BEACFFBD771BCF57D8E746FEBEC41D2F0FEDAC66CCCFFF624C4B07FFC77C310686EB31680B4D22D0A7670D16C01664FF770C02BB727ADDE7F11933FDE0F50DA16CD1F818820EA8E66DA7EAA1823DFD94D5DD27463D6D8382C9DD40D9729D5BABEB913672E56E2B55B3AE3F91B12A407B400A4956E2E56F360004C93459EF140756D3D12DFD881B304CA3B93BBE189D1714AC52AABEBD0FD8FBB9093578180A05A5CA9F2454464200A5E1C05313F5114FE8016C8796E04E298A60520AD74A5708D93660BB08FEEEE81FEED43D1AB6D1882FD3D7FA87C67F369CCF93A531AEA4E3E331CFEBE57A784CAD0E84BF1552B7AFC6A9A46FF372E39C40FD307B4C1B229C912906D65D66C01A630837D91D03A0483DA876100FFFAF1AF7FFB96E810C1B75CA77E52EA62E7A4A8B20651AF51592FAFC6EA87FBD07C12AB3C693D342A093A9EBCF5AB6E983BE6AA445517DD6C01763BDFBCDDE74B91955709D45998024DFCE1DB3992401B4829D78F47774ABBA7A8BC2FA1F23EBC4B24B63D3E5001BE181A13DFD889DCFC2A0AAD7ACC9F9080E9C33BA02387403D68DD917C4CFC30038312C291367BB0CD229B2DC064255F4CED0F5E28C7DE7365C8E05FFAD9326C39570A54D43464981BA45D7641151217EE00584F6BA3AA3234B2A6F37F9E80577FD1B9619D5D7827AFAC1A6D5ED80C04FAA27ED1589B25355B808DA34D68082DDC43E25A62308F09AD8215C920CC01E74A2E9B41574AD095BB4DDADDF5D9417CB5A7A151F5EAD028A4AF0F4EBF344A37C9252349BC9CC14FA7402860F54BC6CBB72D8ECD1660165C10171C12C7C585DB059D78446F6967CFA8AA9E358A7A099225B2E94ABF5FADD966B305D8DCE4529C28F7C3D132F1E7CB21C8C64CF21A40E72A69E7C8A82A0F8D11C1B528AE64DD4906C0F47BA91C9624BF715F8DCC579E139D79F18A2F4E1068CE009DC8B8B1D2EE647E2566D32C616D54550F8D7393CBF0F6D196523B0C8029DDE9DE135B00B355235780EEBAA51D2B666D54ED4C636BD6850AA9CAD12135C8AF3059F30D80D9EA4537DCBB5680D9AA9A2B4027CAB127EDFA44076337A7FF6AA36AFFB77F40460E67B9566400CC8A21EEBA940136873A5897D01AB40EAC53668F3FA64EAE029DBDBA88F28E5C2CC7A6E385F8FE7811FE999E273DEA75002B5A38C66231D55E83BDE9BE64117FFE7F9655F6AB4372582D9208B62E61FCF332D0C92F8CD7016CCB1383302A31C2B233BCFC6A4B5611462FDD23B542D8C1524E97D836A8BA1974FDE25B622F3D5065120BDDED5FDF8E4B34BA4E19D01A3FED1A89F15DA3D03D36142D9E74AF07B216C0ED9A29A68DEA800F6F4F96DBD8248ED3571DC5F2AD67A5B688375E0C37A70AAB9046A0FD70A614BB4E97BA15746BCF044B754B6C1B02B1A02D93BCD02D5FCB47FF9601A82EBD225D7A9D04130BF25B66351D292649AF7729BD84E19B64AF43DC05BA7374B199B33792EBA240CACC8118CB754741EA85EE7B3A55D01E5C8F7D8C21F8A1981EB8D5576D77F6DA2365E2C29FEB9760CFA4D2C556F2F940EBE8201C9D371491C1571DDB5C585797652D3A2979C92EE4894561417497AE7F63ACE9FC1A7E5D0D3A91FFFC43E1C824681E18D60E9FD095482679A1BB73783516F62A512624E27FCE56B5C093E951D2A35E03B076740BB970A9124991353856E42781EC9FF7F5C44F1814E18DB499EEC5933F3F24E92FDD22AB9159E48F7631C138F7FB118D6A8E334197723110CB32C3E0434FD58BCF0D47B4393E40BDD0FD7ADF6274E524C49AEEDC162DDDF21A804D589E81EF0EE76366B732A4E607627F01453187CB69233BE0FE416DD09B0E7A9E2ED184C43A70A10C9FEDCEC5F26DD4B9C4B0C8D1E4AE8EE5F83227143732D863C3B47ED67DD5E8EB1F03BA84E01AACCF63E046AD0F3EE18BFCC0E0B64A3DE485EE613197312FA94CB9AF3EF13A80FD79EB19CC5C750C4344A308B2AFCF05E3ABD3543EEB88326F243F1F448707229F3330E13325E21FFF7C47121E1BD95197D65C2BE846778B42EA8C01CA10A82C74F3C578A77F2166EFE78C9E3A5732A5B0DAA4326B8F970D91F9F49A8C11DE93553578B57731925B723982EB741B7303B08541AAB91CF7C5DBE6D1C4C8999E6D4270479F583C3CAC3D62C3FC71F7CA43528CA090C6CB383B9E4189EC2E9241B722ED1C5E5E972D85A01DF9DD5024C786485512E972F4D02D1D2A10E15F8FCFB31DC76A7ACD10295AB86CDB193CFE8F63001BF687E412740F6F38F64B9C70E34F11DFE66969A6B777F9E0420412F76F1E0DC5C1A20080FEEACB09A24787B7576A584BAFD527BEC9C4B2CD67A47B0B6FED8267C677522486F2A04E2722DA2779F12E9C62A0C6CB3725E2A509894AC94AF410F9BFB44F119EC8A0F4AA6D813F31D8A303A5B12D938A57014CBC4173D6646269EA6949FF1ADCEA3246C554A31D2356DA7069259486484FA045F424D8931F80BBE2CB31A56395E4F9BCE25408D6715817347B5C1C96DCDA15BEE6D07FD1AE37379DC2B3FF3A21A53F36BAA314DA25A74B3775FA79654316A557163A311EE0E8D34395784575F4D083896538C5C5EC4DB941189BD40A9B183CAB8E1310EDF13A43ABCC5F51F94FD22EE0A16F28C96CB90FCB0F7AC8F1DD818568136402FE4676C8F2931C6EA86F09857ED5D4DE080F32F94D89EAAEA487E8FD7F3B44A9508FDBFAC6E2EFBFEEA56B64D1D18B15E8FEE62EC90D5A6DF31275938DAAA14135989F548EE7F671DF09A22A8320ECDB2E4C3C62415A76288B875D70A1557E034BBE751DCA6913FB6CF705FCFB5001B69C294131FDB0857FB8C7917F1D87F35265383F54E28F9785AF54B50F84657CE323FDD099DE09326D3C56801B4510EBE55A0CED1C89750FF7452B3A18BA9AC48B3BF6FD746CCE2C6C60F3521B559FEA5E82B517422453D1A3D41797DFD1705545C4AAF89A978AFE33BD1F06750C975E243D23D67DE66D928266EC0DD19A007335C31B9B7F31272393571CC4F78C7011A688995DCB308633604117382179F1484B14099F29DA96527ED347B1908BF4BD0CEE18C9A898CA922B48E0A420657A7F8BBD1EC433CEA6151C151EA45DCEDAE625CA511B55A7B4ABC262F182307A3B8F363B315151D379D6F93E4AE14DDC45C76D24540F734456930598606E0D1B396BF5317CB085362FD2E4B80ADABC2A257DA592CAB123E55FAC458EFB702FB2732B101C1E806D9404222ED2152466E8B18C10AAE7D1DAE6A536AAFE81B3F785C7C350C9E5A3C5BFEC8AA7C6C55B5467CD814BF8D5DF0F4BF908A0FE86C3FC3A4AC4F33490EB4A66B38F28B349034C66AAA4BFACA69B31878EA13157309B763C7F3241BC648E94FF02EA9837FD751F76D1EA2F42B0BE7BA80F7E46A5DAD9F42041B162E77958DBBC44396AA3AAB0D80BB344076E582216BD03CC51DC15DC2567EEDA4C65C17E3C3D423EBA3D092F7F770A2B779D97AA3BBA7515A62556E0FE9DA6FAAB5DC39DDD1E919F96A1D7EB87486BA6FD87AB1037AF3820E95671ECA8177B94D28EA4ADFC0BAF52C556C60EFDF49E9ED2CA8575FE3FF63AE54421C6BF97DEC0E625F2531B5517D12CF1EC012AF694BC6B1EE92BED57269E493F5B8AC90C61139256986196D0CC22B663BA8D6D955CA8B96DC08CC4728C6F6D520FE48E370026B8E764DA7FBE0CE33FE23E591CFEFC685659D4A304F121A6057C47CABF235B9950CE377062F03125450A77B2C9A30E0446563B85CCBACC847695CCD2C7C22CC162F1562A7734FC374D2B6203144E58BEE6A6732256F3A15547A4BDBF5AB16DBF4F2A459CB98DA24E06C09CD233F633C9A59FD4440E7B7B4ED1A9906FF7B3EC8081519C01931C29FF0248D6B6B2D76FEA8CA91CDED6EEBB68BF4067A4F065C0652ACE66B3446C6800EEE1842095C016349D3E7A0B5897B96B8F37181203C5C6272AD20360D53403DDB79D43F1F504DEAAEAE8F5A7224075EA1787B18ADB4D0AC5EC010E2137B7330D215ACABFDA56161211808AE22BF0E34CEEAD9F276274E7082444053B6DD15F28F82FADCFC2A7663DEAD1111D7033775D9CC4BAA3A25A9A717E734F0F74A199E5D615FB6D0E89EACE3AC658CFF9FB68FD27B972882CE66ACAA33F7035E57AB60E5057B4299C0B89F4D2FA9378757DB6D49C1BDA56E2112AC1426FD652FE255B19B7A41443A100572EF7D67295AD4CD473E8BBBB9196558C319C60FCCF2CB58422FFF9BD3DF15F9A231C0D89A27142A2FC2D2718DF9E15DB6AFAA00717C65FE94909EE224AA7EBD342FAB15DD7E6272EAA8BDBB3554B24C1F86768940D310F2B8E2CFF37D27D6923270E4BA72461D64F5CEB8121D5918ABC4466457E1A77CB99F1F531CD215148ADC5F42933457A8BE1926F904E745DDB37E95427B714B35548878FF7A18EAB11910C5A7DB57BA9B2BC644FF96FB3609BE4099BFEF41097D9C76466885D7E7A733B26215ED39F643C648B169A43A2B5D4927682331B3FE57C5D76A411781A7D04DFBF9E0DE85C56190FC9388B21F937FC25C3A4C7582D2FD952FE8511560C9185AF8F719ACE658F152555B588782E5532657C7C6777CD21D1426A5160CD1B1F2F4D02F45C2AB2D716F97E93B383C90D737474B4BC64ADFC0BD380207B966A47E5FC983479F158FE5FD970AA9E255A4B2DE191F1C5BD3D30A29349B197FFD7138ECD126082F18E9697AC957FF1BCEE00B3329C8A3A08F206A965AAA9E9B7D9024C6682BDE525912E29FF274C9EA47A036C49FF220BC3A937492D99B7E2D8EC012698E06879493658EA0D30B5FDCADBA496E0A94C06C0CC9CB0B7BCE44E8079ABD492C1258E06C054DCB0B5BCB4E830179E497A4BB0058C8354EC5A1E3A4354B1CEEEA901302BD6582F2FC9064BBD012696B644D99E3C43B4629DCD4B036036D862BDBC241ED11D605E2CB5D42C3500A6E686D5B97AE9466F806D9B33C823ED5A562CD2BC3400A6C122D9F0A937C0F42A4FA3F98D4E3600A6C14203601A0CD2483600A6C5209DBF61AE37A0359ADFE86403601A2CD4BBC3F52E4FA3F98D4E3600A6C142BD3B5CEFF2349ADFE86403601A2CD4BBC3F52E4FA3F98D4E3600A6C142BD3B5CEFF2349ADFE86403601A2CD4BBC3F52E4FA3F98D4E3600A6C142BD3B5CEFF2349ADFE86403601A2C943B3CEB8591FC68A988D6711D9D2EBA8CF857B64A05188656D7F1D9A37296013675A8697B71F50670CEAEE80BFF3D8905E6F03A0360CEE6AE87E627018C0BCFC2B961303FAD339BA16B03DA87212E32C86253BBC6545F48AEE53BCE62C1866C931385288E5F22690A640C911ABD284B30F1218493DCD4CEA524E234CD1B2C1B007329A73D277319605F8EC84706BFC4B19EDB73A6F3CBB87557B8DB1D23A99D412D026B318200BE37BE128FEF76EFB6E4CE688F3A0F4382A9B961E35C0698DA47DEC6634EBBA5B78BB6D32A6E27230360761823DFF611DF97E49743DE1B54C48F979AB68092D39C7D14DF2398911689A8A84014BC38CAD9D9BB253F03601A6CBF7BE5417CC94FD28CE6C66E33BB94596C23AEF1AFD79DFC05BFA8B2FA7408EE1BD2162BB9E149532003601ABD7889FBA9F6F9539AF481B04EFC20C5AD6DAB90C87D2D6202EB11ECEB9C0DE884E4DAC02FA9AC169FEC09F24736BFFAD129CAB536378D663B2DD900D835B032F3520537A03B821D27B887AB2B899B897C3BB51726726FFFA64206C0AEB127452088D842F383EDE7909A538CC252E77D2F40E85C13F989E4D7B87B6153915C325B0D80C99C308E2EE180013097B0D5C854E68001309913C6D1251C3000E612B61A99CA1C30002673C238BA840306C05CC25623539903FF073650D474F3EA08560000000049454E44AE426082), +(68,'image/png','img',0x89504E470D0A1A0A0000000D494844520000011A000000A20802000000113F9541000000017352474200AECE1CE90000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA8640000C1D549444154785EECFD77982449761F08BA760F1D19915A5696EEEA2ED1D57A5ACEF44860A00662860008412EB920712401F00862010220FFB8FBB87BFCEEE38AE3913850802000420333C0889EEE9E69DD5DD5A5ABB2526B155A8787EB7BCFCCC3C33322322A4BF400D86F7F65E5F1ECD97BCF9E6933778F4876AE68B31CCB300EE3C181A80787F1C5589F14F259D6719005579645397ADDABF4E00199906CEF081BFE5397A89F1E88BF2D1F7DE41E74E4E237E8912DB4C9D34C39ACDE6612A9195AC170DD539F3EA022D1A2F0AAD785E3FE035BF8AF992BC8804D9AA927DF56703FDA646894E675702D0AAAE5D11CCBF913FDBDC16620CDA5F7A0AD2E481DD12C6805DA0EA8021BFF3753105EBE1EA8332D89263CA63FB54D92D2D8342C23383032588E6338F40E0A45F28296616CC852C044AAD402B03A78FBA0CD3F88F97DA2C45F39A0A9A0F01890C01283671090F001DC8706829AA4C1553E3048C1B1653D90DA70E9FBAF0CE2610BED5108A48B420191EE995FEFD4FD70B75A7EF9DEBA3C0AB4C27EA05D8B0A20E911EE27969F250D4C597E743A70F0E28024E934F4821CF0843637A58107C14BF50352A1E351575BA00A34F4845B38001A2700DACBFB8103CCD3D0068F4F93FC9E531A02F1AA854E235DE1B74C825B4682EE26687AF3DA9227EA2EBF2BC043BF936D0EB7C16FF98EA0C238F6A013D2409834D5CB88323C3E5142D06827DC64027F14683049F5D078B3DE28A06B00CF76188B88B5D0A45D31174D1A0DBA34CFB23C0301674C583430B51B5A36EE046AB90D34855C11900F940597293296A0320993028AE3588C036B16BB504649AAE3C21F2306C13AD5A3565CE0BEA2E57493269EF82C502DB274231BABD315262C6204FE639424FB81A2E0220893A89708D650CB857F954047698CA67B49E0462BB21744129250C40F2AEE31D1411B1634E4628550AE07375B04DAA2810841DD53001FD5A0F6A965163B0495C40B1526F689B718254AEDE864B55C47754A7B526E14138818711E29249A1C22B307EDD5D10411C6245F9E2D3B2E4172273D1098AE7D2F89EA412A1572B1D705CAA6A2981F49759940F8F69630322949F36A0229E8E53442413DA762FE6CA914322941563C28898024F62E54C1610C4B2B9A00068E2B740E25892C9120FB05C2F18368B8012E6801AF1CEC229B4026B18075E5064A370B8D324DC2FD44D0FEE3D5455396C02747D3A11221000D313A31D0400568F0DB70392434535D408ECD942E018C90C6A623D32390DBB40343C9C6259E2EF4AE560BE01E0D50C9C46B04C8A12D42C307C9618F26C648D44DA11102AF049DA113583A0A14685374A3540CAE5854DA710887320F88A605521602CA21667C0490C46A17DB4D87DC142A899C16808D35084CBAA972455D59249A76B1815C59081E8134DA20A0924D2087388F0218F6660DA07CDA9A3084383841E194E81A82C9105570C811E7883C5CD00CB069CDD2040AA2750778EDE1A14D116254A4DD201619FC2024CD9AC860099087F03460F2E6DBF3D91760ADD3AB03C2F5848054225E69A06691EF9B4D007B4BE516B685E6910CCAC2C2FC69BBC5C3D2FB003C50C41A20F69A6EA02724FD41A2699C82CE09ED2065258E3641A53DB8DC3B616F5EBDB4686A9B0C44611D70677AB8EC6F01AD3753290D00DA5F1097EB33D2D55E531C3F615923379DC8F91ABB018C2E1C6018776570085110CB1881CF3D5DA4137E271E0C9AEE8067F049B327754FA8BDC099DE2DE4BE78B01E421BEC31081112F5DAC6C39DFCA220939F63730CAC6CA041830F6416259F5D2BE04182DE1FEB8457B4B6321EA4620F22734040EE6D0E50000B8E255E465D730466279FCE5007813F5F4A82359B81E3101EF0C84C48D63D3ACD35ADC227D428843D044DA385A1A01CE2216E0AFD407307805FAA4D83BA03A6900692E6B68F3C90BE582F5083F70C7F615D16013A484A0DC06893E8014C47117A4B1D39EE8685040A4AB8D1D68822D6C9AADEE6C6FD839AF5C18DF4CE08BDD91F3D526912D6260165EE07BF1D4FD8DBAE40B7268C7D01EA34178FA04CBF771EED4B6D8126798038326144E10D0677A5B261522405021B4D2532D0300A571441A9C5B2EBC101E1650F5A5D69008E5162D2C773417A19C8D3D81ED0DA68D218F16852B92D5BFE2717548CE6EE69612E1D00AF2095CAC087CB25F0AFD1D41405085A3EFB1440ED51EE003A4B09A20B5B478F26CBADCFFE5E4358CC26A8BC3FDFFDB05704F43C2B90E0A6814C8BDD813D6EF8FDEBF0F01EE0F307E13FAC4307F50A08622EED7380327D2735444BD2573F34172F0A002D7F37E814680366D451479095C83822B80D4728507570C70F1B0D01B7CBAE0C00F548143B528F3C0090EAC165DD09649CB6426F40196831DACAE2E568DBEE1D1A88D1D086833B7610507F3CB8DC7B42A7636DFEE3D8F2053F606F06A14D9E8232BDF0D71CD88A4DB8AC03C05FF9584A1F28B389A64C17E3547C0FDC940EEC9744B9644E4177C8BE0101932C9E8891E35EA9B36421B9BF4ED303D4308EAE66E809D78DCEB2E1C694F0B0487B9DED51477F0DD1E9FF7EA0925DE5FD496DA9FB35E53EECEF34EEB1B1F62A71749A2185F597ABD3F89ED98A009844ABB5BEF500D520926000774410A00F5382E6ED770068FF360771906CEE0837BF66C0EAF087BD204E777009A8C734F5207E51F9BF7AF8DCF08A464AD92A04501070E7D00CBDCB47E569E80D3723C48155FCDDCEE53D78602F3E7003351767E2CE5E25B25B69758CFD6C429A3F7840A344915EFD04A0CD1A874F4D717102364D81087C428071858F6E9B038C02CF4E94DAD7ADBD9979D136BA250719B734808D1C974049BC7A00A68FE3524D492F4ACE4E409028628F7D8CB439BF27D284A704C26423BC87E3B9EF074A1282A67A1294E8CC05F9507CD0A351A2054B6BD30CAAD01E4B19404168DAA1A574E1DFC983193FDD03FB17C4257CD8234633F3743D3B7BF568B579D6BA64D40D7B5D6A5A842CA09FF89230463E498C9030709AE9E4C39325EA9468F2DA05DAE0DDD2805CB0893A40F968955A2219F3B68D4F4DB031208637A2810D030C98788702124883500D4CF586D37D022B8358729DED2858B35EDAD1AC1614A07453B2E558D36348C24FAF2A016D1C8876A602FC4C00B41270A0FC14B015F6247BC0930780B93D16095C816666609398C54D2EE5B52D00C004019A449E75F9016C370762C4B540E9FD400DBA910E7806C10C09600D232DF61DE076EEA69D3687BBA3CD2520A9361A412FBC24F280148111AC320FCD2AF34FD32EFCB5D955A009AFEC9081AF1EDCA89B2BDA738DE0D9886144C7E6791EA32003C2449C636C81616D6C49D06578F2A62C24E37B4FA8FA57075A2E288B57CB005F61DB01A502B8111FBCEAF88E01F283BA6B0BD40DDAE9C04B0C08A8744F1C1B0F406CB8002D00657BC103B57940F4106ECB94A22DAFEF00BCEC88AB7E6FDD5B2FAE4BB02E91A308CED10FC245304DE1D1940FF0D390190E5118242C8BEB1279764F9A06800D8A77CF1D16EFF73A1CF888F721F09E84EB214A7F27816EEC097757536EB1BAA1AD8EFEAA4077D230A2F0DA36CB12FF3B098F6E435B89DAA2F7006A81006897F9D705B07972CF440874B1093FFD00D1D52C3800FF200102AC36D07CE0145E21894AE0135EC66438584A5118C6122E53348D0CA7FD9AF38EF0FC39B80550D91BD00475AB8791663E28DF560BF7ECFC0306B95DEA77C6F313DF348606A261CF7CFC11023C3978CDEC95F417C1253E22B4D9F74729FDC0DB16CCD2D08CEEF180D60365C27F9C114975787C48815184030906954DDBDC4DC14FA0BCC7B894E5A73B01A9774C820BC9031D0126DE5FE45B2AB482FC36FC1C4A53D0ED0FD84423FBBBD4062A4F09B8529A021D6BC6FCD63C19F8F0A469D69406826EC5FC5A80AE46007E3B54D58D74004CBA14D23803529B6D19B5816A81E166D457F3FB64E577BED31F9AEA09F8E109432A21DD8C00FB170B0065714BD1961D6CA03C06EC95C8479739C67F926C66DB84AB0481A474739B0073DE3FB53B8859779389EFFBE3D3DB568FA29ED32B4FD725C611395680218A12ADD3780BBD3D689AEEAC26570BD898094904666F6B7704CD654F4E84D9963B05E4E5F129411D00000D7B0992722050150ACF148DDE15BAFAD9066A98B8E982B07BC12FE2C9F7C86A3F9B24B73B670780821C4C1041CD824AEFE2D34EE80755742377421761C8CD170E6EAA1360800C5BB705E18ABB3E96BCC5872F273826EB58100502EFA1A0806937879397716F0FD07D220059F49084847B2808AD7950A4A10DFE868103223D23DE15A8C3A40477EFDC1DE16DE730B8BC83C0EF8BE7586F0FDB5428DCF881E16941C57A348D5282C2E35340CC63F8093FBF137E23A4E77491272EB82CBF3C056879A123B10548F1827BB907D006842B07D921E95EC90083E6B5E9E326328A6C86B3181851AC89DF1C205FD0A0FE0141D57AB8BB17284C41153D408C32C0D481AD7507B50CFF89EB6EF0F8BD81E52170E3049D9C36F8533DBAB3817BE2AECBDC66BEB7877E60617C70B9046D513FBCE2F490B90778A520BEB42C531A874B4735524E27BF370E220E2207B4EA17A3AE923183A135431219BCE940EE37E26E10F508D7E160E3837722A1180B25EC9FA43CC4D0DE6507B9C0A65A681357702AE0115D40D9A43E9124BBFC66FD12464BD1650303EC51A28996963F2F20E8C204091080DBD2D88B763EC6F17FD313CF0D8F416C762B177990D7146A828A513E549B472388016ACA63FACD52AADD220195EFF4613FF8B3F0633F3B7E617FAACB4786CB852BB03CF93BBAE41AC0A66C57010E65EE3182244ABB319FF05EC7C00D9069F2883CD5C10EE9ABC5E6F3566A95B68967C76F708F7DFA26AE67952E01982979624B443CF8B4D03E4AD20106194294DCEA6F66E0D114A8445D2270FDF4F901D81BC32806B4EE02B4A8B5A67D64F8028A5023F48AC5A06C82B6ECFCF049B5D0CCC505758778B4C7EC5EB82AF483D60825BC405389701760F188E36EC99B823D5400BDD2EE15FE1C81EEEA00E553B8AC7D00C95EC3015C6E2F784DE98230F707768176FB58977B0129A415FC55EBD138077B01F98472DB02812EF91D21515F1C006309AF6E1A8E0D7784B85C5FF081BC524EFF83BA4DBE2245277ACC80F608522E22D3966507EE28D006EC73BE9A6A8BB68138D34A254EB970590700E84365BBC1E51D145D33A20E5040D42B028DEE07BF3C168C007DA354077A5BEB04F5E1AE401C6FD7A27EA2633E5067DCC8DD64E4C9D32B350E2089BDD043C6B349B19F248EA50E802C15EF5208E05026B9DE4D293D50CF3AEEEC5177F775F49EB2C25ADCC72064EF053FF611FF4EA087B73DE069917A6DD552A7292FDEA32A3BB53E0A746D4DC898667E3F1E78963BB320F5E4C26575A047521BA81D0F2EB76BCD92C31048D0E007ED7EF41521B24E1D1C6E5B139B388ADBBAB15B129422A04C3F207DBF240F9048D341B84DDE2B36BDFA4185BD00A08A9E4A57D0540F342397260FB0DD332595BE4B506B0701F1B4953565FAE1F2491AADF47B7309404D51B8AC7B4277756412CB7871053CE280E8AAD86904389DCC4ED0BA05F8E5BB2A523137B217541C2FAD2D420B5DBDD8CF5427405D202F25B9B72228A88BD4F4014CE1AED4CBD22B2C61EC49C241CF92D79C0028E2320194D9EA5E643C5091BD8521A65D119A05029920EFC630DAA94EA394E12535992DECCDCED3BA03A8160853C28B529AF27B98A202AD06F0C13FCFB9A7DEA65900E553169C2B204E59A0E5A55257280DF0F81E40BB8D49A334238A3619A0692A25BC248FE9D1149D9C7B409B119A35E5780E7804C0CFA74015F2262BC5DEC436A02AB58F5AFB7BEE4F850600EB6015DAA2059A765770357DBA4D4FF6B8ECF598B63C3C4524EEE0001A04B377F534D643CF1A7C00A005C18A20F07330791FB4D5D27EA046B04E893C6640E025F9E1714094AA5050A61F9DCC4E6B6DF00B00EDC1651DC0C20344D742B581FA73375EB58AD35BCB9F0A333A3ED2253FBFBC0720034E4200A2D39ABF0034151B8A8023373AA86E1BBCB1D49E195147F79BB608CF057DA59706CF937B78804BDD73231F19FC597CA4D991DA7201D1AE79D1A4BB82A772405D2AB69FB0E71508EC27D389FD243D23D46C57312A43E1B29A927ECE4704E8F5309CA09FDF5DD7F4A3679FD9532A8A7BCF09CCB99F9869CF7CFFDAE1E04DD95663BD3B01742CAFCB76459706F0A1B7710F7714EBEDC383C5DDE6F551FBE6AF1BC809DF89C0D7FC085C363AD12220808EA7D6A4419CBCBEE4B307343102E313561B082E93828E0648C65C9B8102961A6A0EB3F5196C03F8E2120494466958DC68A409F0004F1A0F02342F2C92CB408A648A79E0B51940C8F30A40159B44538AD48B1B28877A4B7500A42C5EF003EBB009B068DBAE12318FE5852B05354883C7F4C327DB02DAD987EF524DB479E252045D2DDC153C0B7EC2A33BD1994A5EFF21AD0111727AA7A069B446F6B74701C910B00A49E37701B5B9E7D0415FDBA36BC6FEDDB8336F1C2A3410753F68B45D01E08EA7A61AFCF73204B7C8786BDD9FF4371800A284E3329B3608DDE452190058832835E5B29AD26D34A990163C010095A14C972032004CA323AA051A23A5F08146E9150CB9B63C009F86265C79688FBD0F8E293C1A459BC21EDA8DEF03AA45AF5016C2BB6BF45044FFF6F1D0C37EFC36F8C5FC36FD7C405B94828A610DFADE4987087EF87C078617DAE0713A93F6836707B3852861BAA0699E84578140B86EA14C8BF0688A7B6E2A409B2900F6E23B19A40277143B20FC3E50D2B3DB9E0554113419C810315213487916BCA8C779B0A096016EBC277AD40FB570403BDF49DCD1A5760158512CFC1E124CCF5E825FE6207DC4ABA8FD72073E851B070EF90968FC41739781426EE8849F0999F90DDD27DADAD81F6DF3B82BEED9136ADC83CBED0099405A70B9AEBA4B1F1C50BAB6F25274B545853DB8DC263A55BA8AFD4DC73D97A8B336FC15862424360324F9C3BD812AE2706ACB1862BED04AEA10DB9304A720D2C9102EF7606833EB01F83D925CEA5E418D7B70B94DB8C58082B8E92EDC641710C51D76F334E402B57C688BB6816472AF0D78F7F0F2F297C5EFC077C0192CB00F2EB71BBFA3C25D90A6E89EE4E97A688B7A00AE17FCD8C77017F80D8312FD417376A9429D73CD40F67E5F410546094D06BEDF392AE67140CDA3FD273810E3F72912C09F1DCDC5035D37A9003180FFBD4C3D2D80972F8008B767E769D16857F80D52B4C977B50CE861DC9FD449D3A84703BC54204CF2D7B7702FE9AB7F2A06F014E966DD8357F37E61C05EA9F6548027E04F029ADE2BA25122E2E60BD7369B80AECC36803E5C51CE6DD92EF902FC7620894A7A0430FD029D0031B852194A434DE1B5099749B0476C1FD0DC294902A1C8A75FAFB5D9BB23DA0A00513F0768C8AFB74F9D38A03C4851C9B64CFF7A825403A2B7B79004326EA4031C394D83096ACAE57EF4F067D7E6BCD70A9E401BA87C8F220320950AEC6784029D6802A2A04289BB7DEAB81FA80F0F1CE85C9B6552DE165C6E4FD0A2B6E08B1ED0420F902A4583FE5CA86F142EEB41A0CD9A97A33FEB3B827A0570E37BD1D554A738ED35204CEFC002880C82C4BA03E4A97D57F4C0954315019E168D0241397E409F060041545BA0F2F4BA1FBA6AF556690371E10EE5EA94A1B978008E27E0E750507E1BDCB49E47AC3B8C759ACD4100926E6E40DF8D620BFBF9D8ADE41F05BC5CEE0AA4D07B14A9930037BE3FFC8A9DE290D666F99E711067BE63B8B742612D3FA0DA3820EE21BBF6B313C0B342DB0023FBD80549AF9DDC5B9344D06536B5BA2B1380A4DFE996133DB5DAE0B76083414278963D27F764D4749BA26B126162CCB3404185810319500EC09B963A2529FC7C0F7ECB5EAE200A57F23D50F716076CB260422424C2A6515A525F1E608A9E9DA8D99602010AD2CC887D9F1E569A4B112334895EA906AC441EED57A41C24E8C73EF09BF2D0C9F473DAF222E521A94053960F9E91AEBEB9D8AB4613A15C58F666529B3A44BB5AA640BD668D12EB28D0657502092AE42EE81D863C346D21487BBB92A085207130E18935D9EDF09854C50D1ED3A782FA046EBC139044527BC9F404B50FF0621E93709AE869BF53DECFE9A401407BD5443FF0025507ED4A5ADC1730A9A5B6177E5E539E8C07D20A18A512C4B21B08904F4069CAA440AD3B053F3C3BFBA1772AA0CD428BEEA64785295C960FCD84B68096A06776B387400D9F65CAF4632F8FD6E13E3F0C46F5BD3F55709F8061490930E8BD20434133BA632ED425801B6F2AEE8736E14E50010F2EF76E003A502A2F78B82B835070AFEC5D0D526B0037EE03A8D1704750F5FDEC007A24F9D129D6C90100C75FAEAEA0020037EE83DF26A5DB32E860EC8B6EDA2EFCFCFD64DAE07ADC84CB6D015B031B0EAC917C5D78D25D8F9BF7006F08F530D8C66F8B76F3BEE5B31BFF2B8557690F1C9DE58316A2F9E16CD733537FFDDCB19E88B13DD6F633DE2689593433F2B203101EC28DDF096D663DF436D0550570C77C41C0D3256E1ED4CF7D80A6BC79B00B6018ECE76B27C019127AB9D5668D4A1E300B10F3E0B2BAC1952070597FEDD1D5555A040297E3C73DB43CB5E33510252830C107CAE99EB10F9D027E534013E7112E8B00F3EBC8B12B3C31F7A8D704657AA09CAE49FBC1EFD2C1B57AC235C82E962DFC389851BF1FBD572E7F625B8552403AB0DB6C5049CAF4D3F786BBB2E00977F5164093BC3488B6D9ED54A4227469EE356F35E159E8B07D8FD8CF25CA6FCBA547EE77740C04200984A89C5FFE20BA94F00B50831E4D090A62D3A5017EAB6D921494B9C738FCEFF4A5754BC26767EFC35F3FA88754D226431E8883B4720BA0DF82CBBB17DC9FF6BDA06B45FBB15F992813AF749204BA19FE4F03A81C00968EC0E5DE0D7A68DDA741DA70E85613248A29CDE0824A7A688BEE0757AC3996207A40450AD71FF8074A4E738D39A0097F667754A0C20037EE0365774DF240AA8E2C08042EF700F0CBDF55E93A016A64E24113586178A5345E89C85F6BD0E25382C25F390F1ED47A877DC817AE9D7C0AEA18C08D1F0C6DF27EE39DA6FC1C946C0A532DF7190F4431D202E1DD1954947E6DBCB53AED57DA070EB70C0494F311E180F6C11FAFEC1E01701D74B7303079E314E405C2FCBFB0070FBC46FCEDE2816C9F31C0E4D07C328720495DD0D90D408E9AF227A1B24F703F6B5DE1D9B9BBCD1ECDE3AE720260B724F96109481C2A03FF94BCCF202528DAA21494D335693F5061801B3F98BADF5BA863CE66F18F923493F0CA35DB103E08D5661184680040528B3E40EE9DB8372D0FFEE2EC6787CA50019BB40B6D20F7C7A7F607554182A81C00B8B07B81EABA001AFA3759F921F40448517190BC936C37B474F097F17C16C01D5A24BF6307012A6260972AEDF500B6BCFA75594D500E24E1F5CEC57641E5A96E5B66309AFD19B5D1940000D36FC49FD4035D4DDD1D9ADB009C089B70F70A98847FBC0A3E48D437D5112D2FC9CB7B3FE781D1F4B40BEEAAC83DE0B7D3C3A6D74054A6C7B701009E9D838D252CA9AF22BB740600B5D99CC1BA800A78E85AA23699361051FCE8CC0314FDD582837B1FB44952ECBB3A8134C08D3401FAD48447DC2D203FBACBA4A1D34857B3F796571B6889EEEAEE3F2A61A0DFEFC466C028A53AE099DDCF5952DC2E695DDDF159EBAE75B7F0DBF1D3FBD5865F663F1C44E6A0003F08C020B7FFFD340F3DB206232ED503CDB1D426DA66135ADD0B6DA25D73EF329CFC72B4786EC40752F05E4EEF57D436784640DE53F1D3F7894E5377671964DDEAC4FA27016A0C5A1B832B43E0CFE820AD49E1AFC3DEF57940DCD1080850B8F18E0AB99BDA79A0A035489C39784D50794A3475EFAC0C72540D44617E24E4834197E1D4A3AE0F0EBF116C3D322C295C2E0115A34C4A3F40B4E5E565DEC63F0088633DBDF34C6251F78ADE756E0477EFA48B0356E3FDD7F61E0BF7DF76587108200F52742A49D508D18EDE469A5D8144F6C17E96DB801E3425F1EC0424F40077E265586B9F3CB037F6CC80BAE8DAF66E1AE29F10A514018CABA6245CEEE870CBD1FDAA07BD2746E1D37FA7F2A344B388FBB8B417E81D020B4B6937E10E689D2C9AB9798AFE430730FD06310924BD7A6B43930F22ED55E5A91CD043EA045A413DF273FA2DB48C83187511A4BAFB743050F77AF8D656B75E71A82B90E6717A805AA09270857E0523022C4029280B85F68AD1284842D42DB67787A447869EF2DD616FF1FDB17BB3D7095A367F557ED4B8ABBC9A55DFA20F02AFB629F1A04A077628DCF8FDC1B5021F0FC65E77400D00A8DBB4363CD0240A97D50495F768EF7A4778A6883E8E12FA6E24A0AB05605205207038810806D4C54176FF001BEE944002D05E805C30A3078DFBB349DDF4C281F05194C20F6A1F2B0B41791F2DDC9C48E738485D606B1E4CF22305F472B876D69137000040D05B5034EA4A7403C8B814058943002DFC928B574B047E9A02EAA405AA7940809D365B1E3CEE5D19BC1FECE3C8C1413DFD08FD6D6FA783E1DEB4EE075E2DD0D00BCDE43B88DD37FCBDB6B3CBF5483A207A28E2F0804472A7F120D6F73C77A20A3D6AC71B7C74A0531A88CE318D57102032E4C7D08147E5EFAED49EE5BD6A2D9F5D77492290FE1B6E54B7A908B46B8AC03F8FEC4D7237C0CD2CF678BBBFD69EA43DD85B84362DCF3700D0ADCC1CC7A29E13F5DE9506697E9B28DDDE22EDD89397EDAB4FDA66DEDD94BD37307DD50E2990055C48A44766341BCF457242F7E037E803FA8F49E08CCBF04481E5FB92DEDE266EC1E30301D240D047D207A8993D6893F728E8CBF8A3E4BE7CA9F5F64ED0EED73EF01B6A0324E18303FA954170A5DDFBBB280C00AD11B8F14E404A33F180CEF706B5D7B40A95D90249BF47742D02E1B5DAC8FD24F0E47B971ED0997A70574117D57D01FA0F329B8CFD816309D012A35467702F4D068D7870B97B424B8672E8A7E7AA0FA4725A2CAF99DAF8008FD3C6EF8DEE35D9D500BED1E11BE80050EDDD0ED4270F2EB703A4506DA5A219F536FF80E1CBFD9E416DDC97911E16682DDD270E62A477113858329AE1E04DB4C7E65EF37E8307A9BB36F7A0445865775FED9D5A9D1C4027E7800035D424856A3302D31024602F07B637AABCCA246EEC5100E028D9A7F13C61AF2E004DF94EF37F33406BCD83CBBD3FB8B6085C965B7BF76BDF6FF04101B6585EF07C27297B80DEFBE0327DF41DD143F81E8AD5EC78FBF6D81ED975C293A41F78DD6BD2CBA2B53A51D1B69C69AE1E5CEEDDC235EAEE7EFFC6813609C08DFF4DC3BD37DC9DE05986BA71EB8880320F8807E89E973B76D6039BA5C2142E6B1F78C97E39C811F4C895C55B11B04C6132BD63B017C06F9920AB8D97A5E7378DDE3FE0F00D579FC1D650EF897B19A5EE930202520C4ADE117E9740AF6585BA4DEBC48B52784C00AD33FCEF13A024116B491E1854054CD0D0BD36DADC6B03A4FA93DAA27EF8DDF6A34DDEB3D0C514C4C80D0C3CCD37774D20433907470F275D6062ABBD3C7F68D40FDBC63F564693FC3681A6BF1AE431FD1EFABB10A892DF43A167272C137E52D09817FCE8EACD83835BA4BF5AA0134DB8ACBB073400851B6F024C52CBFED40EA9EED8C71F607AFC7D0DF9B3EB448FA47B432F83777616416BC98D902829416B36F7400491D92B53824E5D0AEF1781A805620FA3F4EA27C0672247232DD8360C3C86E7390E5FEB6E0AC0D8C2409E58D14041125D904221DC78132EB709977B37D89BCF470BBF935DB3F504DA8A7F9FF02AA6AD620F58613D9D011307B342D0D3D4FDC233EE55B2071A8764E8693D3CF0DFCC80D003076CA91EA99E9320E389F9690F18A72BEA5E9740128693AE1B642D6B1612B06F9EBE5CFFCF86BD6526AD8325F5084A53E220F02B7EF400EFC91603B1EFBED7DF33483FE9DECE3D922868D1285C160155F4D096BA075C7381EED5D7109E11F8009A2AF5B27CDF00E37EFB7E9AE6EE4608FC51204DD31104815DAD36FF342D018838ACCD934D221EAAF094E557EB5E9E4E7E5BDE0783DFFB3D85217EF90DF6382FF9C5BAB8EAC2354E84EFE0292653F1BD85DAD738F1BCCBB6E47EB05FCD1F103D1AE89ECD520B9E7A5B795B66E193A4409F021E6C7980269AE41F510461A0F69C4CC8B5E51A89FB4B018497A36B011FFBF84C600E2D80385CDB9CF4E05985FF5406AC118E0B7FD61E3C8EE7084E6C40E31E8F04A071FC9031D4E65C1BDA3C83A81F2EF7EE40326F857BC3C18C808718BA88B80520681AF1A27EB452DB4237E1FB45675B76C29FEFC11DA09244B55DA58D4365285CD63E006FDB64204ABAAA5B4784453FF601A86320624D496A965AA6570F94EF89BB69EDF17680410010C4D89E1A6EDAEB0E9AD49221D30498C25F9647C77D20E38A507045D9BF021CA0F3B4407C75E1B2EE03B48A29DAAAF8AF3988C31F21689D0080F6AA9A563B80463D017A4534DBA4ED14D412B84BF45084042FB4C1EFE4030135480151700A08FC1E312CC2AC033B3B37505FA80815FD8E019BE2EE6B996A51B8ACBF21206DE1C26535E172F7E75350E6475776371B029775E0ECA80AECCB5B5F786B2ADDB3B79EA2DF1F0FB89FF4853B82140BE4C026747588BA7C0F5E2E7E87FD4CCAC7BC207074B3B77779A28278FDBFF0D71EB4BD5A0DF7D183E60570E37783FD74EED1DC83023EFF7203DD93EE07526ED753FF008304DDB11BBAC16E54C9F3A73DC938C6BA0EEE3D268875976A47DBAD0234D8448FBB087BE0E5B57F2E770635D269C1CFF1170AF86D65F4D02309400D528136B1CEDCF7833F0BBF569B417F04843C4910EBD4EA9A3BB21C680914001D7FF350747583A26B1236AA4FD07BDBBACD87360F2928D361DC3F4E0580A8B72D8454207B2C35A8DB7489A29383A0EFD3C1AA4552F6F448161FE3BA2A7821FD9F44818FCC03C0B2A1CC36FE21E18E9C7B013238781EF7039ACB7DE6459C45B8F126B0D44DB82C82B6E8C1E199EA9ADD7EF024EF4ECB17EE0D772CE5C19DA1C07391DD0AF783B6AC3BEB05394D4014AADDA3692A25BAE2E0CDDBDB4E1B6028F13CF91558B04FFB0185CFB15EB8ABCCEE19F79F0BB5E02FE01D8115707FF9823AE7430F6B9E63401CDC49B2C96F05977B77C0EC4841F755DF2F753FFE038167794F6D3473BB63D6BD5329B0E4CD9FE6A4A10DB036D100C3C36575833F91B8850EFB17BD76D022B5A9B9D4C15CBF1F3C10FBB4081458E6265C561307E1F406B18A2AA4B1F6C09FDA033D04A8BA07C8A315F66CFD0E8C7B52F203DDF0C166199B6B052FB54DAC2748D17CA055D71BA8B3372F2F7A8FB87B6DF0136F7CC0560F26A8B50A79F1B459C3D41BB71750ECC9C03FFC40C45F605F12D5268A30FAF73EBFEA9C0EDC8A23422D49E82CE80CD935E3D02729343F3225A38FD8B3BAECFC9B70BD73958835EA58C76E9B08D186B0C9B44DD87B00CC36AD1E407D228B4ED22AED62D28527D3068F497EE580961A011B744AE067879E9B5D53A6AB652F195281A431A051D8D503400BC089839A6BC69B2A94402E414B89C09F250853C92E5A3E2791C6149A4AB36AE505FF5B8AF8D35B6E7D62B5B87ACD540257CBCF23069B62688F1228883F9B08F30151016F057C7A04DB36FC75893DBD0B04A815AAEF26A10A2E65169413B722AD4C816A467CE47E704D7703D8A4060E60A60950F1EB50BF48BD42852183D41B2110A842EBCB5F82361005740625A80E2108BF150078C50C5AF5D1C36C2750CD03C49B59D11862FFDA6AC9EC0348C6C30999B1B00D41DE0D347D5F745A2655E755840BF4D9270914468810DEE8F2495331BF300555F1821F9DC2FBA2D9C06ED6BEBC28BF33B84944A82D601201213D2EF4791A770B86515A1F6430C0E61CAAC7344D0BABA963EAA746881DCA00D0CC2D088ECD898CC3E3E8043E4AB4A4BE83708B8D3EB4D01C30F45133049480850ED73A5A242839C793FA3828DC8C0E868E5E772FE8CC8EFA40E14569520F7495A1BA7EB809FBE4EB521DA007BCAE02C0422EFDE869FF8EE8CC8272006EDC87AE4C0AAAE282C4DC041F489ACBF7D3146D518E2C2A50401C42D0EC6451C25D95E85F9A7A01FB27DAE44105020B412295EAF6E2BF6A901AC079828311EF58E44A1E3193D3237E330BCB8D25EF7498E876A96200AAF42C608F542FA9AB7D62D883CB043188507980CBDD8B3D0AFB03976612C8CE6F5F797F2E6D39D2BF50DCD58D1E062101D3C807E6DE53B82BD0DDBB54F170578A3423801BDF075D646C1BCE3D84EBF21D96AFAA0DD3EA589DF601DD43E174CFB10ECF3802C3882C2B406DDF85FF0F12A499E1828DDDBC3202CF29BC10128588C485455611598167614192585EE45901FF6800CC1F5DFAC7FD009DE8D6E77A836AB970E77A77DFDF0320E352078367F08E96BB826A51DF288702F8FB19A4DB6272215122B69FF083C55DE575572EB509D3DA0026C086B91B48865155D59D3F0E00D4B7A1DD1936AFC2C0A44CC77418C381250FD7387A2CB9571C7858E3310672C213AF856EC039D081A592E718DE0106F911289B356CD6746C7C5246B4C03AE8901B4800B000EB18CC2F38C9B0A08716599E4E35B8DCBAC5DB7B47C457A7FEE3B70F68DA57EF242B9706D06511784803491E5CA2884FC505D949BB8022D1CFA658CB4293F6A26DF052DDD7C008B0F0D424F0C84A48D888369B9E1672881B20E09707B479D50320E077831AF4D0D67940182C53E377B4DC09BF22D007B4003A6D6E78A0065BB01951E41A8666D9B843D30CEBD6CAF5A18181FEE0882333211B3670D0B5A08002035B24382531028C3BBA7B02B7D0025CB0439091839166B887D2DE0F203B98CBA170B06D1559272432219195594B642C090616C7A896537318DDB14D280A8FC305FA02F66B200470D5827E6CD8960E55C2F2328C44F23C115A6F4F63DF37BCB6F481A6B8B8DB7ABBA33CD64C132EAB09974B81CD7617408D0781F6F2F7041576FDFD2841DAA505977B2770ACA95BBA61304BEB57D7D2F3154DE5CDC8FAE657774B5F578C122F421DC3F40E7B371336718C2DC0D40DC74D38B5E3A10BFB1A8E25B24DC2118691BF2A60A16D1B5C91043620380AE7C81C1310F8A0C84B50F72409D71D963118C68021625930EA148693594E71D8A8C8C7043E8485B56A8C5E862589B6192991B715BE1F107B6E27A074139477B768B9E4B74209AF0778FC3B82CC8907D53AB8D9BFA18002FAE172EF041B460A630504963336D617FF38BDF34D87BBF1C107971CE708C3B31A075B36A866B6C1F215C75459D5B44DD171741B764F386BE36E08B282C0C3548EFB14E0F91BFAA3855B560218D530C043321F95581C423C2BC2360F76AF9653B76DA3392EC041D3B6405316C47850E26538347130B414960D4BCC80C28D2A62142CD96683B12CD8FEF9F757F701F0D0A508B0E736D1565DC839185CF526BC685B5E0F1C1FB5FDBF0EA095490131977B27E80D5B80C999178F9DFC9C1C982816B66797DF1FEB7F7A77FBCB0A233BE5A290D90914F362AD6AEBEB73F3AFCB22AF9BB6233175BBA1D90D3821C10E49B3B4AA56E3F03619798445022C632E893BCADE0146260C50FC03AA36F9555E7F8096A3A1A39FC15846553C1899309E1D272A71B200CB28DEB8B32CD3B01C5888343C14E2B9802CA5B07B838D1EE4C6D44C76ADA06FAB4645352451E0057C07188E5412CB0CC8FC30CF289CA531A6C63902780106600C928A85658B56B017A88320827437B47BBE0FA898F732D17EBDF68ED6A8005C5DC2174845B6E096042E20496932235245E477D36A8AD164924E5CF5B40E086AA0FDAF16916A2446F190FA918214D4F5D9A539382C407B6389208A4D812E423F87E6C7EE463C43A03011A3657711A97070A6D00A5BBBB527CEFF60A2EF91C1E31FFFF0CDFF2AA574F9D65ADFC2A2B2BAC1A7B3E2D64E3EB37E74F4E98C9E33452E55CADD58FAAF8EC8D48D6DD8F8A98D74BD926777EA309B53ABF869E0B3E0B6AADA07200DDE1159E8D37BEB10B810A8C49EB323EEF5A17484019BB83E8597A1BC38A8217B28140C223832B1960D2315575380C4E366AE641825CB3139A8393BE80855589D39E7902C493CD823564986A05FB698BC6EB0BC20C1D90BCF90E8075476D757B0BCFA6D233CEC71BE99E2CAE06077B52009682AEC11146E155126FABA079E054A5060D42F0749CD44370BA45017087CEDB2093795EA76CB8B0ADC0FDCB6DB67D4B80EF8CAF2C0418D7B05712C9BDE01E01906D60C41E04DD3C22E837FB10C7A13DE030751CF3120E00A801910D5A08319ACAE181C232C6DE4DEBCF646B820A5D43FE80B563E37FEA3C9743F1F95B9BE980D7B25B5382B5DBC557BFBDCB197B9E0F1F59DCB8D726930F162A1F6F67072489413C9F8E3FCCFFF4FBFDE6C39CC06BAF6C16B025D84FFD897DA5A0EFD77A9BDED4744B157413161B71AE4F00E0471006F50A103A467E2DD465C766C587E8202ABB09C66DBBA6DF3B61DE1F8A8084266481202F80C1BA725F49974681833020E2E0EB6B6B8A0619722F7AD3B3C3920FC5AEDFACD246A9FA24B2E3E31BCD2C85EA0059F22D25DE5085CC9E6A5795B1ED1D6766D3640C04F4075799CBB00D1E868F1EF34DC22405711B852BD0A8349E0599E83ED0EC30B3CF41F281B0C2A7CD79BDCEBF2979DC2846167E11B7665BE3EBF7629280CA9E5C29B6FFE6F99FCADEFFAD4A9A8F8CCF8F0885215EAA95DDEB405C7342BD584D6CF849D8DCC5BA6B35DAD5C0B07B906F31727A75E0C86F89AB65E2EAAEC7A15F65C38D3407706172CF0EF60F5E4968608B7CD55642C00034AD1D6BECD267458857722322B388CC8B106193F00B20DC49735C002CC342603C3898909A2C9B01A6C2859CE362C7CEE2C3A01D8FF59B646567281C75F38A35D4983ED9D69F382A0598CEA389A6ED98C00D310F98314307FB5033275A926D03D029AE445015E6F75B57CAB130E5C02A081E9D7A255E432F75F9D68D443738E230019AC529F4DF84FCD82176ECE08AAD53EAA1E28BAB6F87712FE1A031AE6E39D4C26A088211176398A2849705E1025A1A66A41453275531645138E23E4384D5B815A00D047DBD9D2CE3B17FED1F4D19F1F489E9F4A3885E55593CF1E954EDB25B59ECD9BB766E0B0C126FB8C5A59CE550A47C37F56FA3F9E7EE6A1FEC413A611DED8782D535875988948ACBEB83AC7FFFCAFFC1A6D180E574BC86FEF36637FB852E403BCEB54EAE8210860420717052E28C2588201C2423FA703180711E96F3844884D983A60EA1518CE80A5563721940D4DE59D382798A0C2B30207E3881C5B207FB269161896E3F15E201406069E659337137111C5CC319B3BA1AD67FBA36DFAB44D5C01B781DCE81E234DD24DA291BDD8234FB18701E96EBC25D9FE4940227B38DD407B55277D2010D9AE2D7ED7A6EE033423F82F322C2C4B31450E4217E025B5D1E045B158AAF0A2842703C3100511CE0EDEDD2957B1E927F41E4911D67281FE906556AE99A5B1C4FA763292D496B3C50B176B5FFDF3F4DB5F96998CA856F8CD4C4333464F3D776D77A6649552B9DB625090859212D0CBF57C321AB4AAA3B8D923130D743BB22E41D7C49502EBCBC66EDAB36DDCBD5E7B1542DCCF72650820C23B7648802D19DED5238B32CEA6D0E9F1852272F881406E54902F384232CF544CB30E8B91C0466431CA0A92009B3AA81E9866706E0675EA08E4051C72F6E361470D25924516767DA6C3D377FB5C09281B09C4CDF640057C1CD4721509483908FC024D50012A4941059A365BC05ADE0BBF22D5F2821F6E2E5D93FC1CA0E89A8D931456336503A805CF813687BB002B1B6B1BED1020058AB8D7B6F0A93BCC7C3C63998CC0B21667E2F197E4EFAB4C8CBA4CAC0C9237FA441968CD0F940421CE70A0E5E09CECBCAF389500BFA133C3FDF67F554401E6E21A17951CCDB2385EC17B67154D5C4C5D67C4DD8DAD77C2B1D10BD7FF6867F32BE383E7243168B326742FEC71F898139DA1533621199953ED22BFB17633218522453DC072D55B2BF5D73FB4E72EEF1A576F4D2DAF096B7969299297A5B1E3FA60F0E8A1A75FB9F8EE91634FCEDC7CE3D8F1172E5FBB7C78EAD837BE3A8BEFEAFCD35F81E144ACA26DEC4CA42A48C65811A464FB833A7417802E2EF1F8D22D7D9783542710785F8F8E25BC278E8D60229B331D18534E549444078ACDC90247DE2D6C6D34E0CC0956BC9E416D82E3B08A0329603FE0350B37D054C08F1ECEDF5B526F742A02C70F977B271C5412EBC14557EBC82470E3FB83DAB1399CA8B027925508265F05C6925A135953E61953D7603B00DDC6C48718AECDDEF621C51B4EF0B1277070AC8101C072069C89B498F147925D0B31359885EDF2D7C39C260B7AC31CC3795362195D17D9428C9F1D8930B9ECFBAAAA0A4EF0D695373EFBFC8F29CAA4C130266E5BE838426071A86704754D0C86FB1971329498AA35D4A4C12A793B303D6AADAF37847431BCBA556779997D88FF043F75828D8562A3833953AC69C3AFBDF5CA7B6F5ECFE7F4871E3A7CE8D040AE68F1FFEC57FE25543BF44792175EA12F422169A910EE477780372E7530C00A240B3CAC46A4E363ABE007B611B2A0A57050E16327B8BA2F6D0229396C084621C7C0D92920E1DD71508704FACE1EB880CD485C068B3896C8FD7B01F6827852E57558A96C383B919147407CE9E53C4DA2A394D207D1EA8D4EC57B3375702D90F3C23D032B81E48863C4B614860DC279172A184EF98D2A67542D0B36E00D43D503B2A819754654B0517B028B407CF286536BE853C011403414CB0E0A1F84184B63AF06F41D380649ECB62D5D364A79518AD81C6CECA6398B4B18FF739C9957382B606D0FF74DC85C702CD1FFD4D94FAAFC14234267D3242C42EBE40C59FA032FDA226F09A2B8BC757371FDDAD8E0F4AD5A61381C156D4666E3CED6C6C4103F101A8D5BA372E248702A5910AA2BF9F5C79EFC81979EFFE96B97FE54AF88BA932E978293C37F9B4DD5C95AD09CDEA13B92A74818C34E4BF2EB01DAB44DED3B23009D9A870510EFCE8BF81A3C8E0A000E00329CC8932C629036234E78206EC18152E16020DA92C093BBDFD8C4B880A27ACB47D3714C722B038C707042C3D2B005836D9816EE1A9BA00E77ED97FEA436B11E5A7704E8B6297672F60388D1AC29DAA2F786831B4131B2B643EB88B053E05899B74D43D51CA55ECD1A5A89233F3922487D20A65A3A179E8089AB47D14825BAC3A725048DED5204B0DB179C883113347E536093AC3826988B5628CE1B138CF558C3FC65C13ECE08C95DE9E7D8DAABFDC67F628C981330E4006B9903BC346D99FDB634B8643CA1990DD6AE4578D8DF445CCB1D30058333A02372996231282AFD51297D696672BB2A8D0CD829435B9C57D3572DC70C8606EC53E71B8F4E0B9383BABD34B36CA8F5F0EFFFD68F64D69D4F7DE153874F26352EC366EAB09BA26523C5845AB0191D7BB65B405C083095A6BBC0BA225A5402003DB85583CDAAA102B8F6C1B204FF192724B3B6614415A1611A382DC01107DB0B9B0C72840D1E7DCF15B5F0D602AE3FF8470958D6C067BC665C09280E0BCB0EECD5C1318EB5588B37604388FB47863561A0B116F0F0AEA023C17012B02C86CEE63195BA4CCBD8249A400F7CA04994E989B545BB623F19E0B7D9A1F033F7B3DCA6DB26E671DAC4E0DA2909D736666F80026AA106EEEEA2AC1D810AB66D55AB71ACA8D6AA95CA9620880C1788469542A1242BFD3AEC08FA4660AA838990F423D0DEEB06B9821726EE2F48045F258076823D19BA080769813795FA02CB2C84D93F36D929A1F2BA208FD61C27C40F71D1139C79DCD07FDBB4A21BEA0F2684FF4574AA922A1B02C3280A638602D2A0C90B65EBE4B757ADB124372AD6C5C4F773CE510D367C7800370C5BC4FB55D057605F83993B1C8FC70AD8A3A21BB5063BBBCED7B6246124362C19ACEC18B65DADE86A09667CE1F4E9AD48F09D77FEECFC89A36B5BFF259B5EAC6B038CF3C95074EAE2B53FE4FFF9AFFC4B300856C8060F0F6A588338A67002C1C2366B9FC8340361E2FF2640CB650268857902C8C7F90D56071EBF5EC52802675AB60EBD9E1C8DA0CA61E6438204B4000A1C9C6B3989E56011136C262ACA419E079A1738586A32D57AC3721451823D9C8D9B75D74D58942C7CFD9CDCDCE359197C8155C9626BB871F4DC01599A4917604233C94F03DAA27E787C4A748AF939407B7059DD54FCF052BB8A75A652A24D18A26D9CAEA06214507B2E057CC751588BB30CD3C2D6D3F59ADA28D5D4BC5A2BC662896AADA8EB664009713C2304C23098702481168656A6C4921B873E468FB4A4ABB10E3E2EB27133C2C0C1499384D7A4D26FB1F52D9E59E145C1A96D737643D5ABB651E125856724DDB95D2BAB09E986A1352CBDE138AA6408AC50B0E1482008D76E574E4E6D9F098D0662E38A65694CD814655C831CC19634BBC14A126739169E00A047351A7006C11308EFA4EBA62996C7D8A85ADC34B9081B942C9EE1E5202387D5BED06BB7370BBBD9E9A3E6DCDA7F4C6D2FDFB83A3B35F95C2ABB2D08C19FFCD17FC4FF229C9D9A25C4406B8E9491CEE5F8DF2D734F786A403487930BAC4EE4E21D08C792F1F636AB9976C382BAC381004B051E96C87E8FCEA030AA61E0C91C0F41C0177A615CB13096604DCE698DBC611639A6E23855D5500D431660B78EF76D6C38105B78571DA64F9EE714D181F9C8B419090EB3789F1086332D4DD3D70E7885BF1F3C10237E1CC420C8B4891D44EB8EC005063EF0FE9413E05989316D436F68AAA1550B8515DB5A6BD4D6787CE52824F2CAF0F084120849A26C19BA01B39A20821A1E67A92D02BF57601962D0E28407CD0203108E3A308F32BC1D2815F3FDCE6595ABCAE2D32A5B91ACBC56DFE1E4A34CAD6408B7442161A86B517153B0F24603F625AAC098A2082344952511EC2563817E25E93005D14EF3B09FE1E619F3513C5C932EC0C3140D5337231816B355CA38961994149BE352F99A24366AEA50358027B65A3D1B4B441BF58ACEEA7AA4B2A9FC4E9E4995ACB703D24E38C8BEFECDB706FB26437DBBD3D39168BC7EE1CD220E2734DF02969056015C306B4CC60B39EDB7EAC2031D009E09C2C24B0B8407F50627585897447C7ACDC2D264B2B01537710891D589EEFA4012060FCF902F08939D9ECDD930425898421C33A73654878FF2926838018B198F856072098A02EAC3E4090EC398C4551C5F5197301727ABE95111EACED1F1F574772C912674CB4209E2BBCBF90EA36BBE7E0F29F6738FF2E14A41990F0EAE1FB062488C2EE26B5E9C61E8B572C6D6B7C39AAEE73291A8E4F0E1A1A123A62DC02459AF5575AD2687630C27C20449D71F0FD443DAD064B02241BD86AD3D3424E794783B95B296CB652DA8DC0859A6537382E1A755BDC138ABB01529D66E06F861983225B9C4A84BAAC5B3F8FD1CE85DB6C19A8222F02CAC5DBC283664E9089C1118AEC1EA55CBBC6D2A61CB19814E60C33E49C417574D3C34558AB57991970272C476F88004E34C6642EC5B57FF0FBBDFAEC6E782A38315A7B1C55CC9281FA6D3EF3E3CF5B19D7CC132D66FCCBC3F3A32C1098D4A39676BCC2B5F7F7B79F3225D9DB0C3BB016877C307B936C705292D91DA17B0E1722980ABD684AB0E9B3746815102CB04C7A9BAA1E16E80FE87EA6DE940FEB0CD831946C4AFDB3A26786331BA65C022ACDB7834AAC3B22E7021189A705A85CD1F8BD3232C7916A44109A0C1718283133357369D1D4DEB9365D893D7C970F283743F748E5EBF03F06774C7ACDB9220DA29EC31BCD44E198AFDF89D20965CC0F6193B1F3E1677580DCE0F35D8EAE17EC2A805C4DC7BDFF85FB29B7F3938FA081F1A14A578BDA1168A5BB55A41374C9311A44004771DD824ADACFD344468BB93F78060DC320ABB95149762E6F551E6AA6CBE66394951DFC95B394ECB07E2FD46B9EE5496FA07BE5BB7D64DBB045B42CED6CB0E236A3538350B8229DB012950833C0D27C6CB13A5FA6F040CCED4D678BEC639639AFD936A4035ED80669B5BBBDB4A20282ACCFACE3B7FF1E7FFF6D889D3961D0A06949A5179F5CA4F0E045223A367CDC6EB8C655CDF7DFDBD99DF496F5EAC16D78E9FFC41C3B8CD96DF4E1533A57C6027B3188B8CB14CF9E8F8E37C687377E905FE177FF9D7B1801C0C012839140E76AE1087E2D197159AFF618CC0876F9C00091C64823EA97A9C5091EB0A78C07B73B807C7B77D1416D7A580606574D87A19263E340611FC6FE1C9877CC109F373441E060A0FC75E7CFDDD61E0BC84DF778281824F7BD9D14020CCF312FEF226F91E2FB9080EEED7C108CC0838106D66ADD6602C21C273B2EC6826BE6F01732D3A4E80CEDD2BFCE39F9AA29CFB34EB01A78403C3CB1408BF6300E0B8A9507A6C1E5712A71E1EAA88543807EB398F0FF9181D760650D39C00B5EFC0DA03BB049CAEA0C60451B359450904384EE0185B90F5E20D569BEF1F54C3F143A61D8A250F4B4A52E0B94030A60861D063E420EEC1411D0CC0D60A8EC902ABDBF5EDEC96109078114E2B8D52C30E288EC41A55BB5269E4E3B09C157F0376EDACAD30E69260DC8086B58D02C36A6A2D238514BD5AA8967674E808BCCD3BAADAA871866958AC80F7A51C4E86431D1C29C29CA369D55B921313A4B80E3B1326AC47BE2F2F8F3975A36EE5838C1009B0D76E7F652DBDFEDA6BDF1A8A1CD7CD79CD39934D7FF9C6E26F3A0DFBDAE50F42C12D38B9AFA6B786225FE2F95034AA890EB395FBF6D55B99F73E981B1939ACD64A4F9CF9986D2DC7A2098BD71CF6D0C9B3276075FA7552BD6E0F0390A73DD0B9F1FDBDBD2DD36C8A26A09980E306D2666D0214D0C0E48C84BF4801E62D07B67C6C46070EDE87802C2050821A688E67D8A7E3364F7720E0CD15036F7F03015758B1580302D0F8A6239C61614F001A706282381401B77E92C81574137B8D6D2AB2A4996429A47D8B66E6EB85943838B0A67CF03834F5AF0A9D0EB43858A3F841AE648E23FB6A60C0F61886018C22D86CA50B69DD8403695DADD7820ACC69D08B60713261E8C986C6DB3ACB436B0AF8351FC996C470FFD019933B128C9D0A45C72BB5AA20B00D1D9A4283A1298662980B9E90D1097C218CE5CA7AE1C2CD3FA8D437EBF5545849E80DA1612E664BB758AE105512ABD519BB9AE3AD374DAB0479735CC5B60BAC251B7A5E81CD87AE7182C057CB622C601A2AAB6B9A5A672CFC02021482E32C385E3B76C0766A869181839EC52B65156F53599694E6FE4726A0144B662AB7AA995ACD312469F8AB5FFDDF6AA5E24FFED8BF1AEC4B38E6B5D181E0DAC6E591BE478E9E3876E3FAA224AB1363C3BBD9378BE5A56A952B552CB3A2285CF4B127CE9572B93A9E882ADB79F9C4A1972EDD9A639D22CF6CF1BFF82FF0EC442BD9AD7A72631B961332AC7C8B4DC7704250C5665A9B001804E0EC8002B0BBC5DA856A15396657854D2D59F0E8E1B09991EB02DE96C0D162322C8C25681F32BC7109A2B6EAA69533F56CA361E866401045D84742CF2069B880E1DE13F265F3550D871363C6140928188D9801F90720D9ED71B92D7A10B4A9D069E11EEC1C10BD2D77A6FA384040B9718DC26D056E437012851A01C2847383C0566A4C20108012F0AC1809467166C35BDD20826779053612B6AE99E57229130E2BE1C8C39C14B5F9E1407C6A60E8319BC1FE9EC9662D9E836AE7C5B8180A189609A3029FC86356E08393CFEE546A70F42FA6765F5762857CE1765FE4B8C316357536C8E6063815B296858A6DCE3866DD686459232FD89624C85AB5CCF18E61D560D81BDBB9602854B774A650C3DBC3A6C1D806BE7B06A5B338CBD4702CE972C3C8C04E45B00265C6BC56AA7EF0CE7F58D8F92F5A7DAD505E9D9BBB552B5D3932CA9E1CF8E17A401A1D3FDEA86E189CC37323D5FAC47B17DE3F34FEC2D8C8E9C5D9B78E1E4B94B3DAE2CD8143E33F2585376C53FDF0E6FC0F7DCF4FD50B1A2F4D5F7B67CEE4C624B63C109FACE4D6D86C9D8C1DB74B23602D812B94DF807A2735814CF80F6DD19272E1B516B69037329AA0A9B0CEE352CC3B32BE1F05C389577873AE04C906CC5BA00AF307CD0132C0BD07EE582057DCC80117B62570240227918719E14267321C9CC044DB0971DC784809C2311476CCBA234AE83C05686DE50D15966A569F8CC8398DD371D9C21CE954E1EB6AF70B3A8A6087E6AEB21F0D5AB54D72C10A27F0A29D0E50951613EF9EE14114D725D8E27182613A8204F5515DDABC353E76BC96D74787866C0B1F3E18062BF176037A905196654BAA31E56CC66C5487FA8712FDC3BA51E1D810CBF0A0AE1B9605FB0087A9C2C9C92C9AA1BEB83CA4DA2AB4B565DA0D5DAF542A63FD8370248656DDCE02561D6BC9E1738B4B7F22C9274BE5D4679F7EEC54A000ABA4253564E3B0143C6BD9D72C7DC152E7CBA58B6C8D0F46C215D5961C13BCD137F23A2384C7A38CD9209381C9C2A80D291CDEE2ADB38CA4EAA20E1D4D6403D290C957AEE5BEE7DFFCCEC547C71BC9C387B49269874342A43E19FD31D8A21D3F3275F3C61B4363D34F9E487CF3D2BFCD6DEFCEAEECA885A189A9E74F9C7B792454BBF8E17F3DF7F00B159DD9CD1889BEF5D4DA72A566366ACEC8447266366B72FAE8C0638F3F3AC9B06F4A6C008713D436AD6A0A988370D580EE88CB0A563F2C0EC0C17EEA09E204DFA428488BD188D7C094802BCE70F8DB638CCC1B0A638BA2B251B54BA621E261874892C9B269CB85BB154413D8FFE1039617E0C0E1183E6094C2681425F17450E6789859043889E1BD70537304A162319BA546BFA0543833CE73B18090876314CE0DB8BDC17BA4C43D9A91E7700FA017BEE147E53D8E3FDA9674CFE8B4E3B74F09E000288746695237C010E12D680938C14B6CA558D3B4AC1834357320A2C41B5A9D8B15B7B6B6FBC361810DC463C31A1C95585D0A889ACE6BEABC655EB58C237DF2912125CC0B86AAD9127E63C86160CDB21382059DA484E75C8B5B5B9B091F1B60D9930E93531B5A3854E79D896CDA1C1E0D98160F2BC9FACE567060FBCDB7FE50D21772C50D9EED1B1F3F562B687FFBE5612D7B9369A49363CFB1C23823C1763E28B096692C58E55BF98D19C160634303B9AD0C14980D08B059090B512B10341B15C92AC24E9461252918AED6604F03AD6C0B81A8E1D4C28997F9D80F5CBB794B356E4BF2F14C6D67787AB4AA49BB3BEFEAFAF4CCADCB23F1E153538F54ED2FCBB1A7D733C94271BDB6934E8C7EB25ABB71F68872E8F88B01E9289C1C0D3B0287474EAAFEE16FFFFB97CF3CAA84CAA9427FC599E2E5CB5387D9B5DB5BB7AF7F99FFE7B8D98336F0077A2104051D3CD064349DA460CB61687260E421BBD5FC7E82B63F4C8832232892B05BD773A6A571745D42319081C1039DBD15F0572AF1B004B405820EBED500E72EA833D8F291ACF1364649374682B204FB46F2CD7C7444104ABA93AF361841083082EA184158E7784EC7D9939601B3A340B70E8C36797F149605620F01517ABD23A83C85CB6A32FD441B0DA0B4FFEA2728DAE5E9E36ED86CB316549C121065B9AF0E670873652BFB464449D4ABB578A85A285E10F1B14F5F435B6A5873E99DD761B844038396A5487286B578D858356A46A5B2212A43D572DDB66489AF55CB254EE6B2955CAA54CA1A372BB58A12A949E29AA00734E38A22D743F18CAAD56A8DB560B83F203AEFBDFF4B9BB767C7C6E27DB1A4A933B337364F9F3EF3EAB7D604B16FE268D4B163B9CC5BB07EF2026C684AB65934605B198D58AA9ADE480564AEBE1B296D58F965657B26A3D8A220EBA61C166C11FA880E076EBCCBC7929F4B2846235381409473B62686224786CF8F274313FDC1101F6442A38B37AE0D8F338A987CE2F18F3B5C7568F8B15239B0B1BE61944A4F3F1979E6E9A707078B8E25CA7D6A40095B7651E4E2C9B073EBDA7F1B1B654A66D609842CC618198AF485B9B9B9AFAF6FAE4D0DFE12FF4BFFE2D7A18341757B950F9D9F8C121AC10BED83E40E0DEEBA08ED0AE08C889F6E14D0DE8AE44A86136E05E1885A31ACAC61189C28C00E81248149D8A7D87813A435A22C5C156120D123130733151030EDE05739F0D405C75A1EAE0D87937806264C18631C0F4B0F97D79CBC0A3B791EB6FBAC6DE9D01B44C182F3938566A94F779AC8BBA3B368F7897B36028A77D4F50B006DC1C2C4C2FE4D153956E024D87AC09E5BE6E5B018641D8DE3CB7250B97AFB0F8BC52B9160B0DE985BD8FA4DA36E0DC61F32D90D89650301DD34AA0D7BD312A4547E21113965598DF5AD4B3A9F0E04C6B7B7666C3D50334BDFB8F42B81785C89087DA11702AC34B7F6EF26061ED6EB9186B554AC2C06C46158C1346DFE9163E70F4F1DCFD7170F1D7A7A6A7A2A982C0422F04F38FFD0770D0C0CB1D676381435ADBC5E5BB41A29CED15856B5584D8473B4A64B8C70F3BDCAFA566D79C3AA3AFACCB5AA545694B8158CD8389660CF89E536599E55E2A362A2DFE243229FE4385137CA9C08736C626DFB7AAA529E18193932F2FDC9C1C964EC787828E07071D3599F9E8C44C285E1A108CF8E9970F00BC26162A45228AAE63CC71533BBCB0BBB1F8E8D1DE30C737B6BFDC6D5B723FDCEEDED6FE50A25C31053D559589DC89D3DF0009DC08E8D4385FE2340E720823FDA87E716C2C124224EC7527BCBB914A101D877C9033BDCD149026C320C7CD02AF0B661C23C485F7B252B0F0C1BD371BFF307A7231C488436F00E3824B1988ABB4E1851C0871162C3EA5BD46A8CC1540DD8780BC5BA5937F17826F2F8DD1B58BE2CCE89F062032CE1432952427733BBC7D583A04DFE6ED53BE1B70034851BEF092AE61726AA7BA22E4500518EC7CE982F65759355B54A302418BA1D08490C275B7628DE17B9B9F84A319BB12BE39ABE59A92D9F98FEA4CD6DCDAC7C2D1C1EE88F26243E9A2ABC9FA95C0F05266C693314175616B660FE6B043E54ADFCEE4EB16CDEACD5D733D9A550C054C230F8ECBE58381CE8CF559684401D36933BD94B4B1B5F8DC6AAAABAC6DA438C224C1F7E727EF5DDD9D52BE99C5AAE947FF8D91309512D6B8BE1D0E3B695D2F50D59088881413807C101011A4EAFE534D83EA6A5B5EDAA30A648537D5AC8900682E66EA39AD2468FF5D72B791E1F3B32BC242861491164D8F16127B0CB3AB36DD93B8E33C7D496FAA1D889E7D810B391797569EB2B855A7A2B7D559641AC92888CF2822EF2C783C1C18DD462A93653562F2FDEBE2A4BFD2BDB3BAB6BBB7D9CB3BB5ECAD56C39680E0D3B97DEBB10B585BE603CDE7FA25EC9F1BFF4ABFF122ADBAB74BC9291829B4FEC79B834E18D32D25E502422403E7CF0379E9F6E3D3C0126EEEF1D1936BDE4F7D45596D139BC95825C165F7E75E8F20485824D1B0C151842387EC84E8F2C5630BA40116806BF6D413C81595367ECB0C033A2C18B706AD6184112F0E73AD1496C02D6E6983027E297DEC913355C956831F6BA4AD1C9F1A32D15A21E87D26DA0493DD043A6B77A67AA9FD33515F66CBAA5551A6AC3B0792E9CCE7E50D7672DA37FA750B5E55876BB34167D88533F4C67667255E8EE9199F957B49AC46BFCE4E8136575D75076457B22224B039161599460784486A7A4F8DC68DF0BF5CA5C4E7E970F0A86B3FAB9E7FF6FF5B2313438BC9DFF5A435D53AD4BBC22D5EB42AD2A4C0E7E1C46C470EC851B337F188D54D79667356661E6C6F2EDEBE9851BEAF65AF1734FEAB0E0C5FBBFA40B7DB27C5856CE49E1738232CE8A83AC1815F9A855CA0AB6B37AA52AC4783B2656B4B255E198107E4D677A2A60C93511A74CECAF7238C4CA112698E4C4114EEE67A4733C7F5E91CE58FA7993831D52633EBB59B48C647280372646C7A70D6D2B97BB962F2EC423939B6BBBBA515C5E79BB545D87BD68ADAC3FF3D8A716365F9DBF59D20B3B9B1BBAAE55ABA59BF98DB5B1FEA79D50E5D4C917DF78E30D26B014EF2BF1BFF4CBBF8E6B0FB60006589AE846088F02E42D3BF77BACC085FE08DB59940297E966C9D323FF088083B2041E814208DCBC8B2257D70D0BDF27878E0DCB167CE09359D88B907311D9D1618081847B3F90C16D0ADA877D1E8C3F1820029C4305074E62300F3161068ED64C10F6F50223E26FB9E0537616B438D8DD11E33C7E7BCCC62FBF93A72D38CA10D4B7AEE814E894EFE400A0C8B4D4C40082F23BE1554E57F815290D577CD0D054EAB40C1C0A37DEE4000179419F135839017B194996149617C758EE58AAF4AEDE58BF7CFDE2D16327027D7C30FA190666713D93E88FC2C661697337BD5D51EDE5DDDC6C908FAEAEBF6333C168EC2C274A37967EAF5ADDC857AF5CBEFD3B0323E70E27BF1014EC003EEE1C0F844F5C9EF90DD68CDCB8796D753937D237160C445F79ED9B576E5EB0D8BA20541853B83D33174DD66DA77838FA72357B1B46E0CABCF9B5AFAF7FF1FBCF564BDFE061DDD4609B778331AA0E17E3244EAF5C2AECBC626E173931A0284299D10D2168680227F0C1A0256ADAF4744C914DD33183A3039191513E382005063933C0730DCBCE9ADA6ACDBCE894D34E202B1A15959B9C2D6D2DAD5E4CADDD9A1C397A6B69EDFAAD37A2E1FEA1FE33AB9B330D63F7F4D92FDD9CB97AE5C24E61B7C18AE67FF92F6F2CDCCA9E9C3A1A0DB0674FBDBC9ADB3E7CF8E4A73FF1B30D63E9B1477FC076061343C60F7EF2FF258637F85FFA955F6F6B55DA00CD660082043ABC88007C10027BA60B6F30359BD00FCAA4A9B06A588ED580AD0079375FE638D892011FF6724DEB0440130D328CF007C721080EFE4A11BECE876F21B13084247C4D961539A870FCF61444C9AF5E92FD2ADECCC0812D702CCF0B26AC542D1F5B770EDC780720A9B3BBB7A9783448528394E9F13DA22B3C1F285C6E137E0EA53D0E4A13BACDC3261B01493495300990E6600B00B5A93B8DEBB35F1F1F3836B7FC677FFC87BF912E2CC196AC5A910692E3EF5EFAAAC33696E7D33BBBB56221383A12EA4B844E1E79319BD94926E3B7E7DF1C181CB93EFB47FDD1C38C5DDA5EAB3BB618EF1B5A5DFF1AC384DEBEF6075BA9D58D9DB76C5E5C5A58D9595525C128556FEEA696D35B8D1B1756576EAF4F3D3C54AE1B43E37C44381C0F9E480E4C16CCB2A9453FF56CF297FED1135675D5D613C1F08421F6B1DCA4AAE7AAD9AFD5775F95ACB2C80F950A7991B38C2C5336553BC084C35C147F82478EDA56355B1F3B928023B6180DD91CB479000EDBB624DBE230231E93824F84944FF3D17EA3B653D5D6E64A86E6F41777B79E3AFD5379AB502CDC0C4983C110B3B87A9317A564DFF94B57FFD434ACBE787F986325296C19FA138F854321B9685466173667E76F1D39161B1E8F67CA1F26E3E757D2BF73E6A12FAC67577971148713567FB3193C90FA0736F6426877CA81AD1B6D407225B7E528F60E2797F2C163E22E0DF77DBC8A3F86862FB9D204BACD031A172CBAB7441A09FCCA1339B4E158220349C49F55A101D725FCED5860C2EC4BFF56000C4C7CB084872B1E46AC001B0446B7F0E7254856E80C3AD10D1EBFAB401BD32FDC96E481267970B9DDEC53010F30185CAA49830C25E8B7943B5540A46306F06504DD8B5371E043FDB1523818ACD76F2DCDBDDFA8694A55A8546FB1CAC27B1F7ED962749882DE7A7546AD5412C1BE95B5F5C9C93E55CBD5B41D991B4C0E48D54AB5509E8506371BD6D993DF55AC6CC7C2C7E1946473762A5FDADE4E0D8E3636B7CBD90D666BE3F6F927860F8D1E8D4503A74E1C8F46EC4F7EE26C3C26B35CDD54FB0C6EF7DAE2C5603096ABEE706AFA1F7EEF29B5960BCB463DBB944DBDC2653E548B6FD8C69A006D2C0B8E10E4F5945E2A0743A1C0508CB14C893CDD376D23C9F061A53EFDD0A01D29891C2F8503A6ADF39C29F096C84A3CDEEC522D3D6B5B3913469F337E23CFB0832746FB4EC746E3DFFCF6EB85FC06EB5433A9026B8702D2D491A96756D7DE9D883F7D647A32999084A0DA37909C3A163E79FC5C2C305C2EE714B1F1F2332FE7762BC76099DA7C43015F1A11C3AA07E3892B73BFC51660C985BAF635AED79048600AF4706C2688422A7453727B0D4714E550752244C88E8E420D52DA84518127233E57D72CC60CE2179AE098842F13C1FE0F9B1CEC91E7C8F84A10DA03833028F00E3806BCEB88AF64921F55C3B7CE65481690C0C126C0F48B19999663D88CC1380AFEDD2AB66EC17CCCE1AD145FD1D074073C3F019D325EAA3F8932F73308F0DBF440E5BB26518000A4423A0852DA63FAF3226C97E32579C27B684C3461DAA95B858DADF76D6B7963ED82D65037960471306099EBE58DC2203B5C3377F8F0C0F0C4C7774B6F7CE2C5D33B3BA95A9979FCFC67CB5A717BFB5B6A592ED6570E4D1E8F042657772EED6C6F9E7BF8E56C69251216EBFAB2C08FE7B29624C7676FDE5CBC91FBF19F7C468ED527873EC68BE186C625927DBAAACD6D7C18160CC6944D3672F5EAAB41CE9C987E7EF1EADB3FF512C7C707B3E9EDD2CA5A900DCB494B71C4705014E3413618C1EFFFEA8D6A6973EB66F9F0B990510D9855B1942F709C1D8F2639C1518D1CCCBAD1618109C53821E4D842C330045617B900E3341CC73059A3AAC5F8A0F4CDB564A52E29E1ECF5B70AC54DFBF35F7A5110C5CDF4B7DFFF1653AB6B9FFF5B27194BDF5C2FDAAA9649EBD178C011854C26F7F2C73E79647C706CECF1DB2BEF2422C140E4D48DC5AFE4D2F973E73FD61F3FACD58C9DD262AC6F80FC411AA874A8F226E81E8E744B9A80AD041FA4A3B370D683E30D7DC04A06A23B9CDC084AFB8DED695412055918920C74F1425D0F88780BCE36F17D4C03861419A53074E01F3E43760104AE8478CA023BACC3C3EE8D85C5CA81A1C2E38FB1C02AC70A705622AF06E21D3F3880C107CC61920499E18FEDE121CDED8EAED56E8054EA7057F44EBD3774FA43B3C08905AB15697C6B0A4F9710C312E22B0B3C9C08A1B6605F0BF3062472329C1A4D989A2C9315544D8D04828E6D9A264C4CBAEDC88E6CCBF8BA23FEAEA3616FECA63FEC8FF64BE2D15425B3BCF49BC7472697966E98A63ED8F75C7F5FD2147677D26CFF4432579D8DDA4E5FFCCCFBB77EF3F2E5ADD3A71E8A862772D925CDD83C76FCB9CDC24639B5757C623AD4D748265F0EC983576FFD7128323435FED2BBAFFDFEC42363BAA58B8C59AD5D639DE385BA198838B1F0E4C2B5BF3C7BE6A5BED0A3176FFC5E343060AA66395F9AEA7FE2F0D19D41B3D860B6199D0FF006236BB2D21712E37A395BCA15068F3F2C2A138EA0D616AF6BF525D1AEB19100EF8455518DF162754DB702955A4548C4197D300967EA20F41F76800DF509E221DBD2D5EA22170A84F9885117B61A99F5C827C71301BE21EDECCCFEF1577E6760347178FC11C7D41756971A66DF2B5F9D8D1A91173E952C958A972E3B81A8D11765798B1743C2CFFFC2BF09C44CD5D8C8A637DEFDF66BB55AE5D009FE89477FB654DFDDCEDE4C6516BA0F276C43C242123B11A1B13959BCA36DE37A821264FBE42E226438EDD7393C3EE9D7C0C1B784AA9A5533614409F8CA2AEEC7D006A6D1FEE49B8971FC61C0E10496605D827D1DDE7580C3124F87133932E1491D5F78B0F0B72BF1CBED60C322BF104696B87650AFDA3C04508E1F5E6A67921F20E6B7E6D19E56A71D3F678F16A97937050CD80E07C5E070238C6238D83001B67E854A1676C40297948206D401BEA18A5F33E5A1A2A1E8B093B058A35CA9E34BD68DCA507FCC3417775237E2CA2427864DD87DEB36A7E896A1DE5AF88323539FC815AED56AB589A98712D1273385F45A767E6DF9E6D4C0495D5DDAD89D376DE5F0C4445FF068CEB82658439B6BF3C78F1D8A0F4EC18AA4DBAB5B5B4BB623568A7118D5A9E28A146076B7D33FF3B7FED76FBFF7AF0DB571FAEC31CB985222E1547E3DA8F4E7728BA160E4AD37DFB06A43E71E3D7C78FC8830FBEF64252C472551B4D48613601B8E518A0C1F193FFA31968B58B6C18B8C967DD7B1E5F2C68205B345AE1C1E8B989CA1C019201896C3896225C7A60BBCC49BA120BEC6C9C71C21C48BB02113A4C6AE1A1E0AC69E314AB557E73EF88DFFBE3EDC1FFBE4A79EBE7CEDAAAD5B1387C6854031918CD56B56BDBCAD19CEF8F86776520BC5ADF48BCFFD584DBB100ECA8E3D25442AD5AACE492555DD89858686A21FBFB6F8FBB6A3E8765D90E4BEE890FBDCC96DD226F044030D451EAA9207513002F09E1B6D6ABA34E1A4E97514D027E30EE96EF092C8A287BD036F1070AC8ACF9AE060C4D9F85501FC05087CA88DAB207E67004611668757D8E461E7C1691A4731D8C3CD1E9820CB14ED62085893401F82805FEFC0AFE24229C03E71B11DA0E4FAFF80E015D3237AC31373871089C21540DFF0606D0BBF700423A2A6323515D76841C05744F0DD4368241C4FA22456AAA9DDFC32C3C638E85BA2824F08F832FCB7999A6ED6D2E9CD7A635394355BCF5DF8F0374241E9DACDAF97AB85BEC8F8EADA5BB218D8CCBE150B276AF562A6786372E4BB4311399B4D6D6FCC0936BFB576EDE23B971AAA53AC16A13E5F7EE91F142B4BACA8C2B2B7BD937DECFCD930FEF2562E28F64D0EBC60D8F55A235337971C595F5FC88C0C8E40F36EE6D64371A96F6044929F5A29CEB2A623C88D1B372FADADAC29526360201E89C657366F956AB9D1445C11764D55652BA5B068D85C233E7E6A74F27B2C11864B08F6F58E9317148E0F45E548383C3C29CA95C0407F64F8A4108DC9E1215B0887A38F0A816043CF19D582DD801D7FD56C985AA36ADA15B1FF65C34ADBE57449CC7CFD9D5A3C1E80135636BF3D7F3B170CB20DAD5E2D9B217EF0C4C4B97A55DBCE173FB8B23E7B63676BC9FAD33FFF6626B37EE4E448DD2AAEAFDF34CDE2E50F2F3E75E6EF0FF43D39BBFC17EB1BCB50C68DB594AA15976EE7E870721721D2B2D0861870CC602353265EB11FE3111F454970F9088C35E90E7896C15E53107990091C8170F8C0744ACC4232AE7E2C6BC1CC0A8319B777C8815E83838AECF640186FDF93BB0EB01CF1C02019C0C8C7FD1D796C059B4168011D4C603705B28B6F7E6657010A34BE37753F61CAF75F7B0004005821FBC8431DF086C955EB4CADC657EA4CAE68E50B58498AC44A700C24FB02C76AE00BDED59BF35F9BDFF8DDF5F50F1AB5CDC1A1C14C716965FBB753A92BA9FCAB65F57D859163FC70BDB873EDE22B7ABDCA07F3C9C1A9F5D472363F5F29AFBEF5DE6547B7FAE22131A0379C9CAAF3A9EC0EF8631A0D09D6F79856A91627878704CD38FCF0F8ECE24EB194E239656DB3C4064A369F37EC6DCBAA15AB6B334B6F29CAD1ADF46A32F670A3A64E4D1E191C1A9F9A9A2E6766C341B0C7ADACBFD7A86DA8653DB5BB234BCA63E73EBEB17A737CE8D1E5F99DB1E10986CF1E4A8A6CAD6E0724383A41D50889C9D1633F0E834AB2864DA6C1F1A6A3ED70D2219B8DF06CC491461DA16A8851CB1E65E5389CA6393661EBDB4CFC3931342432E5469DA9D72DD3AAC04E4892A3262B4723CF96EBDA7FFE72A9C1D6612C2586CAB1B8347D2C303A211C4A9CE9B3A6CF8DBD3C127822161CAF940583CB9C7BE48CC0C1896BE99FFEFC3FD26C335FDD1E8A1EED8B0C8C0C0FAEEDBEFDC69B7F641B865E77CA7951AD942541E94B847038F92768E8E4B083A39B2EE8A0389CC8F001406F863684F6C77180E95064A2836244C107DA3F486F6E838D270148C23D9F1DC07AE6751BBFB04274602DE4E17866924509172858B8804F0DA1303A03630966660838500881766138C12205E70998B0619B07FB1D5C5B6126476594BB7B74D5A24C30DAC32624519729ED4AC2A543C54DDA0354150C9D2BD7986C91C9959C42D14AE79C6A450C06B868D882F2E3B303BCE3CA4B6C200227D0507E3BBBBCF04122100E850FA70BBB9C7051ABEDE6B2E9C20EA316D4106FD9D94A5C94A7C726377653B942215F5DBBF4F6B660A9032343CF3DFFD2566A299A38F4C1A5996CCEBC756BAD5A61B6766FF1B296DA5A3F71F21146B6A5014ED38ABC1549AD9BD5F2FAD07022B3522E17D39B3B9B855A766AFCF160E0C8DB975ED14D712B3DFBECE9CF6B4C4E8906B4725F465DDC4CD9A942EDA1A95321B6C0F3F6E4F8B9A943638BAB171B667A6AF2C98F3DF77CC35E9494B0C84692C1ED50201E55E45567E8C8E11F51044B14C62D4EE5F998AEDF10F900C34F314C85B3A017059DFABC602B969397438FDA46C5E42C4939EAD43F948247D8E0E35C704E9058994B304C5035EA76B5AC1A6B0303935FFB7061746A70709AF9D4CB3FC708D57C6957E6876AAB81537D8FF773E3BC2A36328DA5E5E5D5EDBA26142787F450C878FCB1C333B7DFCB15B4B5951BC1707E7AE271490AB34ED66E444F1E7BF8A1E30F99DCCCA3A77E880FE4F1672BA161A0E391D507FFC127D03896E87D36ECA2C042065D094814878F3756B04FEC1D38DD7A0905A8BB1F78170EDF5D62E1FC434ED8308260C1C1BF82810734EA07DDC7C100C46D1E8E659087A58B6CF3300D1C2306C9B0776C05C7127EE9004EE8D0DB3081C02328FC7D9D125DD199EAE7A0A1A665CAF1E0E71027116E05EF454B123E298DDEC136CD50602C95EA7CB9E26C6EEB1BEB6CBD2EF60F70F110FEFA0E7EFD1FE40C81E161415ECB2F7C78F11D8149C4FA063772AF6552EF4558EE9163DFAB28A71CAE9114FAFBCD64D488494C489464D3D4FBFB468E1F7A7877776B67C30831E2CE5A81114AA54A56E19972E5E6A14349D85695B3C6404284B9AC52AE24879470C03235B9AF2F3C7D6C3053DE5575A654ADC5FB874747C7234141ADACBCFAD5EBB337AD54BAC418914A636D6A6A7016C6F7C577D22B8DA393F1E9A1643AB33936F9FCD0E4C7B2B56BBB3BCBFD91BE705CE6E4A99DDCED44626063ABFC177F7E73A31E5CC987566B0F7356E6DC89C7582EC63941DD58B69C79DE36396982E5924E639115FB594EAE6A2B8215E28331AD9EE343CFF0C612CC42A63CC5355671110F3DC7708B0D272446C60D5387E93B143EBA9ACF8C1CFF3BE168746AF4BCED2C35542DC08E449DC3E74F7E2E5EED0BD62C1E4E681A2B6ACCEE4E6A697EFE89279E7AFC8917774B6BF1E89113470E4523D1C387BF7B23B5A519B08CEBD9CAEEC2C6ED5C6DBDAFBF2F1808884A0D87139C5E682B4363638342809E8B0CC22317D2A3C9270E27042835659A094D2063EF753FE0EE0FBA06FE12222792DFCAC3A3027441D8A743A7C1ED1E99AB49EF0706BE650CCB1979068C9AC40548E46D5BE238451018D813E07319B08B0E53D0BCDC481394E9C1E5EE451B1FA26DE3B053A08D40784C1FED814A52B34D9BB067B5A57A83A9AAB04699E9B5D2F2A5EAD6AC6D9862DF001B0C61D178075ADEC1DB139AC1D86BEB73037DD01302DBA95BEBF399C141E3C527FF61A9B621CBECC4E098500A2AF57840134453109DF0E8F8A948603C9BAA04B84808E6D7C1D3538961D10E270706EAD68E28468BE5FC238F3C57D11693898758D8368BA1F4AEB1BB61A896D360F02B86F181EAD5F796E56090E1CC7C313B37933F347DF289473FB7B97AB3922AD70BDA673FFF31397428C0D5260F474F9F3C373410319D5A3070FCC2D5B78B859BB2A4896CF0D8F0E76E5CBDAA3BBBB616AA548A5CA86CA9B8F1CF16C3D393A14706366381982D361A4E1EDADB28AF054387186E1CF68066638657A66C27E068AB8D52DA51CB4E282E32095B382170EB02F3942EF6737A519302A2F49C96BA288905C31A5DC89C36C4E2EBEBE24052C8A9019ED948A5CB616E32581A3E39F0829261E574B6BEBD6295CB925A885A81707F38796868F27159B7B48DED5B4B8BB761C793E81FD1985A454B6F6CEDE6B356BCAF7F7DB910090D166BE6D5B9DDD56593FFA7BFFCEBD07FC9E68D0E0F6851EC8D3895BA4B8EDB03A0B181023E343DB98BED0D391471859AF0FA13105E17A4F0929AC0710943077F6E050E3D02076382B3712F2CE11D3C1C39B010C11565F099149C9ED037700482E0300A2FC8A228C082C5C079892E56F4C6BA8B36070058160237BE179DFCAEC23D38FE24DC987A169AC38682D22DF74891D075CB926A75C1B4D972B1B0F6E1F6EEFBB9FA1AACBB72A81FFFDCA965724AC00A4B55DBDECDAFD6ABFAD2F2D74F1F7E323E6045629144DF50AC8FAD9AB35BBBAF37EAC5E1D843D59D8650B77995B1CBB510FE19244516C37DE17E8991C7636363A1F1B834383C349AADAEABA658ABD64F1C9F869D9E6589BBA9D52B1FAE4A0AAC8BA58024AB0DE3DB5F5FAC574A7AC53A34113F3C35B6BB91676CEBC4C978A9CAAA665D0A695FF8811F8E46C5FEE1B86A656B85F21B5F4BC7871AFD4383F32B731F5E59983A3A7974E889817EC86E5C10A2DB3B0BC1E0405D5B7498BAC5884F9EFAB86D1AE9C2D26393725CAE55CB6BAC55651BACA95D0C85231CF3AC23098EBECB38654E98804EC01A3BE5CC4270E405AB9636F9B21278A16A6E48F632AB3CEBB055A19E668CE18B1BD6373F2827E2B66EAFCFE5BE6F38262D66E68FC662B952EAF0C8D3412330A69F0C6E6BE6FC526AEEAD4CF97A495DE7F47A50EC1B3E7564F2B1430D5EE399E8C2D27B1C23AB9AB29DCB5FB870F383D7D766DEDFAA958CA030303D3594DEDADD5D6A5C7C7D95A9CBF893FFE44E1A34AADBA2B02E409C0E1B40ABADE12443DADB8201D7EC36F4033E5BDD8780F6150AEC383EB85C02D8B6D1C588E4870B0A3E9985A32EDEE6850146C61214055F23C2571FE08AEFE9B18CCCB20158BE793E2CF2320F438F8555CD807D0F6E00B14362999A4EB5650A008E7F9DA11D9B46015DE5E10A2A44B84593441734EABF52E0AE0CAE94A6D766EA1E31F73FBEC90125113495AB69666A27B7F5E16E6D4E67CCB0321C8A4C4A72C452043B18DE69642F5C7DCBE26F394CEEF9D33F5CACFD6EBE508A076BCF3FFB7D576EFF85C4D547A24F98967AE3CAEA6034C6D44362CD128AA5C6D6B6595161798763453C90887201A1EE888228723196D7E76E94CF9D3D6ED483E54A369FAD71CEA022F0A1303B792452AB570AF9865E2BB25AF5077FE4D3526898B59CF38F3F1A49544706268693B1ADCCF2A9B39F569D996884B9317FE3C3772E8E8C1F7DE45454E6476FDD5CDCDED01F7A68AC56CC19667676615E0C04B6327036D3938943BC9330CD1ACF8D176BF6F2EED64B9F787622586ED4D66523502ADE8E4665591E35ED301F1A37ED8653B9CECA832C9B606137AC65753D53CE67782982B7B39862409C66C5C346E302C79C2A15FED87182A35381DFFEA3CD3FFFA0F2FA55E6BBBEF0ABC2D0634C43DBB2975636DE8CC676FAAD4F4BB0C1CBD7D5D595467D7D479F6F7059898D87A253FCC068892F5C9BB9F8FEFBBFFB3D9FFED99AA65DBE7C7DE956197A577AAB54CD71830303D9DCE2A38F3FBCB95E1D1A3DCCC875599EE6FFC9AFFC2AD951B9FF71438E7D91766F7260726754F2D0073A11EE03B17B907D5A0B7B221025B2DED5E57600D6128EBCBB0634DAC6BC3102E34812605CF101684E4180910321C8B1615E088A425490C222AC4882C00BB6838707DCDE811679819D6607D71EF9B6C19B323CB4E9429438D7E29383594BC62FDFAE0BFF9A19400A4974059A3631402B406D931D2AD430CB98BA58AC7299ED463163EB66908F2713278203137624C645E2768231B8F0DCE67FBBF4FE9B6B2B6FCEAFFFD9F9E3FF633C543099EA76EA4DD3564BB98AA686B32BFCA1D829CE08050D2964B05CAEA0A776ACECAE532E39F8E7C865BD660A8623080AFE8C3F17EF1FE8DB4DE567363E387EEA6949A9CF5ECBBDF0E94F65D76EECAC1881FEC399D5C263E747C78E480343E3E1D0E4B5772F466226234673C559511E8BC727D636DF4C44FB1E3DF1A3A99DF763D14866B7343A192868F9C460B05A2AF627A3F1F8F0F8F023B7662E2892B038B7CB58A1ADDDDBE9AC5A37928E94DFDC80D1B4319C38F15F7EFFB5E727C712D3A1E1F054257252CBEE72B1A4C34822DB68145F93C4494D0C5B0D5374B635ABA16FAD2BE1F3257B0376B3B232A4B3C5B231C7A52F36C4E97279361E12EAA2343461FCCC8FFE4CC3F86DAD7A616DF71D53952AE5F2D8D04987CB54CB42480C28BCC29A26CF1B01968F4BA3C1E8383334BE50BBF9CDF7DE0844276ECE6DAEAE5EB01A50F77DBC1CCDED6A6AAE313A196EE8E1A5B5B599EBF9D91BEB997527BF7D9BFCB934DAA0A411494BD35D1C3EB1259F24C0857413B75FD0762768A6B7E0F5275469D2FBA14DC08BE2B395660FC6210780C315F904263EC5B331D04C5A39B91737D689B6248F3E087F2FD1120678491E508DC08D1390688BE325021FCA0A51D8AFD2382CCFD0E36DFCD624AB0831D1890594A49C1C6407124A2CA6CBC90FE7BEFC8DAFFD67913DA135C6D3DBDBC1E435490EF6C5A61289916AD5D06AB550FDE1E9F0C93169A28F8FC7F4200FDD6C67BB9E5BAF54B7EA959C59AD73BACDE16F4270B622C3D15D94838170D8622D8335FEE22FDEBFFCE175591ABAF2D6CD2FFDE0E71343E157BFF16EBDAC7ED7777F5FBEB4A369CCDCCABB4B7337CE3FFAD9925A948424CB94B5BA1D0D452436A1084A303C707B66339DDDAC556A66995FB8B576FEFC93D76EDF962389ADF495871F7A34BF5BEF0B33D19863D4231B1BE95050B6B581B5854CB554B9F8EE3CD318FECB77E78E3DF9E2BBF399FFFECD5BC7226A4436C2E1B1DDD9DF521227C9721FC16FBC1BA6CDD56BC57A36F7A1A00F318A96DE7E57DDB96D66AA5BF954A37043920429367565DD880E059D7059119FD07593B56B136309CBB245B151CC55C2625FC01887953FDA3F11E81B8B264E86FA26AD586CD6FCE0B5AB6F5DBBB059CA6D3FF65838160F088278F3CA4E6ABB6E1AE6D8E168B55C7DF6D3C90FDFDD0C2BAC248ABAAE86A461FEE7FEA75F872142DA1D1B121A1557241C5B08D29F3D3499EDFC2E20FD03571E37BE0FA8181020495C6801FA15FCC3347CA709B784204941D64C6F08B57A2700B97825DC6E5EA2860FD406A02D0AB9F838C4282EC87B0C5225BC929326E175079A2057BFD9E62702F8C068E6432E1CFEB21923CBB0740852540E0F70E1383B34CC0D0D1B09F9D2C65C45BC924C240787138C297FE2A5C143438FE9666927339FCFE555733BA09F19094C4E28472376486244D160AC5251CDAED6F48D12B35BD33366BD2C98701A0BB3C1101F521801B6D2B20D0753C9B83C73616D630D16FE4F7EF6B9B95B97D3396D686AE2C30B57CBD9006C014F3C3CF2DEBBB7D25BCC0F7CEF4FCC2CBC29A1F9ECCEEAEECED62E1C777677176AD5C2A5ABE985D9B523470E2DCCE58C86F3D2279F10946A5F7C20208943D18465D782A168AD1A3C7DEAD81BAF5DAB96AD7CA67EFBFA36CFDAC53C6C277981AF17AA910F3FB8F1A9EFFF622C680F57AF680143CFBCEF4C7C5109858BF5429C9FCAE7DF928331ADD6A81452B62996CBD5F45ACAB298A25EA9E4B7ECC94F6D6A72C029FE87AF8E549C7C613D7B6366598573597DD131E2AA9A5B5FCAA9F57C401990047928744889C6F8683C3C38AE448785589F1A61DF9ABFB2B0392706ACE9B1134FBD100E27C794B032312185627AFF70140650FF507F28383A34167FFE5323A353515B0FED6EA7F99FFF65F2560469516C6B3C78E03A459B9B343E5024200F0FFA2086BD9970F743B38BF4106901C4A83C8D124F6807057D48C13B0F24473780207091807D1E0A01EDC24F53B4717A47019E1B0092E80AF8F904B85BA71EF9C5F6439B939E358F46018F00EB9CCDCA122C1A8E223291B0D39F74C647D464901908D445F1DAE6EFBEF3C6ED33C77FB25EB09F787AE7E8F84B704C5A4FBDBB93DA0C470275B5766CE8E3711E8E4631C11660C7CCF19C552D97F3CB657B3D23ED1485222C41B208CB515284DDA32812F7AD9A59D8CA6FAFA41677522BA6663D72FAB8230676763766E667CB79A65E71B636B79E7FFEC98DB5EDA5DBE572B976EEDCC301796C7DA53277A5313C7CB452D34E9D7CAAA13506C7948599B5E191C0950BEA67BEEFE3365F83EEEE5875BD9A6B64794E3276F3F9F7DFBF59CAAB856A3A1A8FEAA67EF8447C75BE9EE88F9C7D3CD1A84A065FAEEB8DA367A61C273530158A19EC3A3795566CC60297466ADB5F6F54D34A784237D6729AC3597C59702446B699B22449BC2D1418B91C4CE485D383F1DD9181A1E050B29A5A62CCE88DAB992B1FACCF5EAB6EAC6414B1AFAAD7A27DA1BEF8C4E6E64638196970961394F26CAE185AFF936FBE3D77332D07C56832726B467DEDEB6BD57A4A56788D298B82B4B954346DF3B56F5E1C199A7EFD95C59DED7421DD088704184EF4A757B021F1BF7B1B0A58D0596893B7FA01709A272654213D7E5FF83B50ABC774A093091CCAA45A7085E51D1320E60E323CD8018187AEBDEA7B2204D4D47E8054BF6F94A66872F6B5805CF84F8F925D72DE83662E7BACEDCD0E2EC41605BE6488BF96C228121B0E9725F9ED95F93C9B5FDCBA78E9D2EF7FFD4FFEBCB89A2EE59CB34F6FD6AB195689585C245DBA5ACDB3EB1B5B8F9F7FB192D9180F3DAA1822637162084E9DA253CA97F34B257DBDC0E7ABA2CA4B522498082B43B2146105C9622CDD6C646AEB2BA5AB19F5F699F3E36AA52129FCEDD9EDCDA5B45AE41C5B874680F974788CDD5C3697E7D77219E1E27B1FCCCF673F78E78612A9DC9A9B4DA5E01494D1D90DBBC13FFFC2114D958F3C9CB4F1F63793C915176E5B23A38762D1D8FA764A53ED20CFBEF3E68E65852B55C3729C62B9A2EBE540207CE1EDDD5822706C2C5CADB2F9EC7C7EA7F6F477FD0F4B8DC2727A61638E4DD7DFE1021342E5A2C4E88C6269F54025FE6C4C5D7AE3C3212BECECB02F0D4AC586341C1B39B5B575FBE4E1672A62A850DD9E8E0F3C72F6B31F5CFB834659528BB980A02786E1E41DE583ACA2C4A5782D975B92A2D52A9FAA89996F5F7BE50FBFFE6E0996CC9DFC273E71E2DB6F5E2E97D94236F50BFFF8FF1E0A1D5D59573756B25ABE964BD54787A2F164A35AB4795E340D3B16136138C1D9C90534A8D73D49ABC3054118144484C8DCB1037562AFA98302B57C6B1345A721E2A9BB1DF580BACD240ACAF7E0729B7C8F0010BA4B12B25C1A3EC80AB5FF90EB04952436109409C0B58E71787C93D72954EB855AC9B21BA212D2D8FAD2D6668D291E1A3D3C9450ABA577B22BB32163E367FEF1E74E3F1E8EC7D8C1F8D8F5B9AFCD6F5C58BFA50E0D061E3D7F7A636BEB50F2B93E3168D460BFAD04C241CB669C6AB9915BAF99AB15BEA2B2362F06A37C38E40438260CBB679EE1F366FE66E6BA13AFCCAFCC3892F6F0A3475796F2A9AD2C786699E6CB9F7E7A677B57D7ADD95BB9F46E39A0F4052541D358DED6C627FA1A15A1BF3F7AFA7C5FB55C7BECA12F695AFA2B5FBE78EACC51D3CCBEFFE1ED999BAB8BD71AC54CF187BEF878A664BFF7E6DCCE66D1E4C366438BC46C59919766EA838371DB0A6477B21323916A39B5B2AE0782CEB32F9D2B56F53FFADD77A626271E3AF989C5952B22C39D7DFCFB797574EEF2B76C81FB603B5C34ACA2333EBB642E65E4CB7379D5EE6386E4C1A32F06A4C94A43BB78E9CFCA45756671F9FACDB9803870F4784C929493E7C60D3B6837E40F5E9B9BBDB4118E55B78B5BCB851B9662AEE766FFECCB17D79773F54C7D624C4A552AD5341B60CD6894FBDA572F5DB8F0E1C28DD5784C69E8E41DEEB2B139A7320DBBB0AB73667FB150E57FA1F9076928FCF40304E939776D793F2DCAA770597B3DA7490037EE5B07DAF87E9AC2E3744D6A637AD1367E27F693A451B8629FE6F00FBE698CB1B439BBB9F9759E5DE745E7D6D2EF3A8CC109B7535B7F5C287C7B737B797CB8EFA133E723897396C3F687A7D6B766AAD5062FA8CF3EF13D9AA9A97A3DDEDF6F1846581835EB8C248658098ECAA2A1AA56296D18194DD4785E0E33B1A895086821CE92E1C4AEDA569157174BB3176ECEE8A6B2BD9DAD569CD99B595377C2A1B05AAFEB6685E3F0B11F2C20B6CD6ABAA6966ABC13E62C311A19C85757268F84A60E278221D334D4B99B0B958A33323A72F4C8F1B5B965D631C6C6E31BEB76262B7EE31BAF991A130E2BCFBFF8F8F6BCA196D8F456511203C71EEACBAC151F7964E2E98FF79D78E4D8A18713955A6D6B4D4DA7368E9D900291CD6ABD9CE80F4C4F4F8584C4AEB6690D0D2EA60ED52C69797951098FAC6EE66BF5CC89879D1FFD5B3F13191CFFF2D7FF5C1282FFE1DFFFE6673EFFDCD5ABF3A6CE55368B871F12C3B1C395A2B0786B7761763714693C7C7674FCD0402CA6188616EF8BD7B58DD476697458D22A66A9AAFFBD5FFCBE2347F48DED6A7C6478747C7A67675D14D9B1B1442957900438975502A2F4433F71E6DCC7A64E3E1A1F98B08480D13A3B91C66D6FEC8303FAEB3DEBDE1160D90FFF1E09001C976AA293B31FBA4A621EF764A1B756A724AD3497761F9F3B0A27568B9BD5D2B56A6E7D73E76BB6CE440209CBA81D1F7F222C0F9F7AE8850693DE29D7E6D7DE8223D1D2EA876A4328944BE3C363EBDB8BF9B4BEB4B492CAADEC6C941A75DDD2C4447C440906213FC162B89ACA68755888C24E22C68E46B921998BF352C411783DC06E6ADB33BBB7C64FC439894DF6271B5A6E742C5485238CD6B02DFCEB249C68DBF897075951E46499ABD5C15E43AF01913DFAC858AE5CD84DDB8C208512C243A72617164AB76E64B3D9C24B9FFCF8F2D2E68D0FE060C255B2A5E79FFB62B9584F6D56DFF8E6EDC923C95C4E85F19718181183E2F24A3ADC1FAE9BFC6EAE76FDD2EEFA52BE52D415997BE1B9E76BF5FAF048229BD2E3C9882908E383A763CAF1B291BAF8DE0263D7196BC461AA2FBC34F2C8638F946A195972E62E2FEBF51DC3D1DFFD962A29BAAE0A9F7AF15CB1A2CFDC5EBF713953AF18C1901C0B476DDBAC364AA562513318D3E035A31AEEE346A793B6D3E8EBEF7FE595A5FAAE5D2C07C46038125606877951B234D5341AECE010FFC5FFE1D3DFFB63A7E32389D0803238795813F3D17ED91D4E00AF5DFDA01DB793BF1FF693F4F8071F759ED81DE57B08F88D5000EDF7C1233CEC6FAC858EF1EC12804E835DD1D5018EC33FF4E6B0BCC6D64E1C3A555757C7C71ED68C2CEBB0E9DC6278906BB065F05DB7D46B37DEBAFE6A8377608F747E64F2398D49ED6E15AAC58F958AC29933CF15CBA1DD54AA56B3069363C9D040500970E4EE91AD999666068D60841B0A050F052293426C8049F49989509A2F2CD556F356F9DB6F5DDBDAC88722727F22B9B95CADD774590C56CBBA24059480D050CD7AD550EBBA2C8B367E972AF8F0C9C0BFFED73F337F79ED1FFCDD9FB8726161E6527967AD71EAD87373B76F5772B5E5EBF5375FBF55C9B23A0C634E340CA87963F470ED0B5F7A5277763FF1DD47D7D6668E1EED4B6776CBA5B2A509C54239BB5DB0EB169C8AB42A9C1E4D59B1F2C542A5268C4EC4EB6ACDB2CD10632D6E7C3BAFD58687CF840433101357E66BC170E3D8F133A6CDAC6FCD0EC68EC7E2A1338F7E9F636A972F5D39FFC4D4E66A6178EAF03BDF5E61CD0027966B35E1D4D921AD914EF4874291C8E864D411F350EDD5AAB2B6625FFAA074E4D8F0D6CA466E25F3F473C7A74EA8C90467DBB97ABD54531D384F16B3C6D1E3E3EF7C38170C47A3A1443EB750486FEBFAD68537D7F89F23BF15E1EF02FE0606DA1FF5D039CCEE784F9CA2CD1A31DFC53EC0E30341B3C37727F6F6630A62C3859F4369401BED8F02DAA2BDE12F38B184009E4B2188DC5E0093F25D114F08EF5AE2DD1F30EAF075C3124321A156D134AD546B84A6269E93C3C15CBE303A141C1D18CD64F22B5BAFE677993FFBE3D7CF9D3DF5D4C79E7EE8E1170F1DFE4CB976FAF6EE7FAA96CDC38F3E3F39FAE942BDFCECD34FDEB8F46AA59C19E88B297CBFA8D8123B843ED8AA680B8EAE88A101A10FCEEE712ED1E724236A505869ACCE65967732F9062C3A8E6039D5CF7CFE63976FDE34AA4A2E55D1EBCEE060626B3D651BBC6DF2A2102A6472A582F3C227CFFEDACFBD38DDCFBCF87DCFC58C370E4DBCF4956F7FEB2BFFEFBFFDD89953CF9C39F3F89917BEF2B577FB9292203AD13067A8BA5E61478ED8FD7DC1B5459D75FA4DEB84D1184E8CE84FBC30964EC98DD22E67843EFDBD3FFBDA2BEF0D4513671F1F498CDBA74E9F4867F2DBDB3BC1001B4E8627C69FDCDCB87EF4E8C395528AB7FA3676679E7AFAF0777FEE271F3FF3997A7D713C195BDFBC3434F048D55AC897D676CB5B225FBFFE5EA151E61B46A3902D286C626D297DF478FF177FFC479F78692C39A4542A4555896A8540A9B0554D4B57DE9ADD59E0576FD653DBF6932F4E7EF31BB3175FAB34CA9612A9B16CB8A4552A6BBCAE3744A6FCC8D17131EC3CFEE44FD41BF5E9C367779716E39CC2FF7CC7703A385ADDE24ED84FB287052FC927735023C0A1FD1EAE34B553C6438FA4FDB09FCDBB35E5E05F8EC3D10824FE8111881B3C1C64428161553464A78F732A8B2BFF5FC9EC37ACD0ADB9B72D2675EAC8A78F1E934381E050FF50B5723B1618D8CCFEDB21F97C2CC82D2EBF1E0ACA91803AB7F89F5E7CEA89C161EEA1A34F9BF656543EC5386907FF20236799BCA5085C3CCCC6E37C3CC686034E44DA55B72FDCBC72637E7571716D6828C10B5A349278FD95EB6643B60DD806098D1AB7BD9D0F0763636363A57C492FD723A2303E12FA573FF7E85862DB11534C5D96E52372ECA691751E3DBB6534AE28626E6820FCDA2B973EF6ECB1A5F9BCD217880C5B918148A15CD461AB15513E7C7FB558486FAE1575CD501B8DB5D5925EE5C251259C8C1F3DFC101C2259D1AC949CCB179762E198AC042DD3189D18CC159637D7772D87D9DEAA44FACB1BDB2B7DB147BFF5F65716D6DE6F68DAAD852BD164D8749C5C26A716067FFFB7BE75FAF4C774D31C3FE4B052209BD6FA06B8C14973E2D0F02BDFFCCADCCDCC23A74E8F0E1FFF83FFF86D9971CE9E7F7261654B5315B3A1318C2509D1D466DD568353A782A79E8EE67276A198ADAED67FF0C73E995AD93E7E768C650A4F7FECA96A6D6524319CCA7F70FACC3F94071C3A9CEE70CBBB13D06F0EDE75A8E45DA9003CE11E4457F853EFA8D2DBD47EA05A5D8DDF954118F5208E7F8880656CCE701CAEAED71C9ED1CCFAEEEE5BA679510EA91237640BD9AAB15655E7CAD968B5965294482C91A8EBD550242806FA0565D0E0EAA2F8FC72FA4A94AF45838DB181C180244A0159B7F352C8821D563ABD0D3B3451946C516A042C55D6F8A46C041C212A15CDEA4276FEE2CD6BEBDBDB83C3B152BE2C4A726AAB5CCAB292C0970BACA9370261A67F841B1956CAE5CCC8C44430120DC783E71F1FF9F47329DBEA331BAF588D142B85786BF3A141E8EA9B925D651DDD62CACF3FF7D8F77EE6E4D973E76E2ECE4747B5A1FE13E3A37D8691CBEE16AD7A687966F7F891BE5C2AB3B3DC28A64BC9585C57D96C2A9F49AD6EEFA4612C09A2FAE2CB870C26CD706A29572F17A5F44E2593316B552D146646871EDB4EA7EA30E88AD54AD91444F1F6D2CCD0F07187CF38B63E36345ACE973FBC3A63189265DAE188F8EC8B6372B01692E29BABBBF9AC2107D86C7637A0C40E4D8B472687FFEC0FDE94440DAABE90B5344D9265BE5C2C2792BAC14BEB3B3586A9421DFFF4DFFDDE6B172EFED37FFE4B47CE8C3CFAECF772F89363835BE92C6B07AF2DFF7922F93CFF73BFFC6BD0FE77359CEEA10B824AD77D1A05A476DAF4385D933A991E20A933AFAEF23D8CF40655EC54DFCFA0E74F9B80FB0A0AECF678B60C1B73966D189BB6B5B5B9F5655E2B99FA4EBDDE78EDFDFF349C7C3697A97EECDC4FA5F2AF27E3131323E70D2EBD91D9D1ECEA6EE6C6EAC2B753990BD17858B1F51347061E3EF2994A635973D480327D73FE4D938F5C5B7A3D12EB2BAA5946A93684F2666D2965AD18B17A4E4B2F6F2FCE6D2EDE5A99C957F39AA1A9F5422C1CDF5ACDB17620208B8EA5338E1E8DC802CF8F4F4E95F2B5C1FEE9A5A5EC6032F45D9F3D5BAF648E4D3A0141B19828534BEBD68ECCD56536DF68E83CAF72A223C1A6500EF05A25315ABD35CF2ECC175717967EFC6F7F7AFA21F1CC9947C7A6B96ABE148CA987A607C34A707264A85C6F44A22263D5593650AEED568B66A50C3B446DFCD024C3184129B8B494566B46ADC26C2E1737966C46D4FB070FC312B7B5BE014B9C18281F9938BF939E1D1F9F0CC81343C987F359736D695594F8C9430F2DCC2F07C2F213E75F1E1C081C3F25CFCFA42DCBA955AD54666571A15CAA644E9E197BE8A1E1279F1E1C98C6BF1B307D5C1A18D68F3F1A2A14AD50CC0C08119935BFFF8B9F3D347DFC8D0F2F326C81E34BBB1B5BB673EDFAD5CBE5A238D09F9C9B7B1B86D3AF430BB70D27DAFC07E96D0797A400F9030AF7106B4B82687761E479E3AA95EFDDFADC094FD74F787407203BEA068A5021F8049A7ED3054243D76A8D6C50E1DFBBF43F0F07879767DED49C5A327C6C3B758331CDD4EEF2D2DAAD687FE6CCC9EFC91616CD7AEAA1437F5F086F94CB45CDDEF9C4B33F33379B59DFCD99FA6E24108CC7C673F5E5C5ED99A595B962DE985958A959B03B2A4809B9E66CD79DEC4AF6D66E63FDD6D68DD9D5B9A5B595F5EC76269BCA15B2E5A26A9B82C09B8C1D800305CBAA3C13B46DA95AA90594E8E2D28AA048A95421AC08CF3F36F0E33F30F4FC23B07DAC942A2BB263D5D575DE0C58B6A51A698E81F1E04842C830F2029B364DEBDA7CE32BAF666DC628A4F4F8B03376647827B7E5C8DB4FBF34B1B0944D0EC61F3ED3178D276716D7358D0B042275C31C1B392429A59DCD12C3CBA1C11CAC759170706BB3AA56AC5AA5A108E2C878E4C285C552599B9E3852CE3672DBC2407FA45A9D3F76F86CA52C56F59D6CF9EAFA92313E947418F5632FFCE0F2F6E57255CFE4B215284E202A2B9A220D9761F175924FBD3C128A4456D35B81E860DDC8F62793CFBEF88C1229F4C5957062B85E5317AE351A15CD669CE161F3377FEFD68717DFFCE11FF86C436417D6DF55757370E01923B85CDAED7FF1892FF2BFF0CBFFB27369227D63BFCE81681B159DC2C44017B8C94D746552D024801B27F073280DA0D13690047C0F083E30101E4941ECA77547A059A2EB1114BDEC911D1D0D64EC6014B98EC38BF8ED2DCB6679411061AB51CF0E849599E53F9D9AFA98A1CAB3338B93E3D3D9FCF2D1E9273EF3C23FE6645316464F4E7FA6ACEEAC647FBF5A320A997280997AFFC66B1B9BB5C1587EE576F163E7BF6729F76D432F67B62396C39773D5ADD5C5979E7AAE6E6C49619B11CA0DB36CF3F66E76D9E6C49B97D3A955756D77BB52741A75CD6C983C1B2CE534704C33AAC981B86E1AA19092480495B03132160B0783E552E9E8D1E19FFED2CF8482B7EBCEA65E5B0C9AE586CE4A0AEB6C6972A35E2D561C5D879D26FEF13A93A9566C89B1E6B68259568FF52B8347C589C9E17C69E5E1B3933213ACD6964E3D722EBD5D2FE4B8A1B147E028582D1B8DBA3C3A3951D7466C3B6F69A6E40C2ECF962BA5C0C2EDAD68B04FD7F478CC9C3C140A040489E7598DBBF4E6F6D4D0A1DDF5028CDB874F3F79E4D833BFF77B7FB4BA7E7B62ECD00F7CF61F3091B7C7C74F2407CD2053555836ACC83BDBB9E5958DE963FDB7AFA4610379E4C8D8C54B376CB378EEF8E7CAE599625EEBEB9F585CDA6DA8F1DB33A55B174BE9ED8A65E85FFAE9F11FFCC277E52AF32F3D73329E0C854602E9CC92599F1A1E18B78D82ADA56C21BFB2B5CAFF935FFE35325963FFC08F83C113269DAA8B62576627DAC48831172EAB093FA733154094DA64C8CB142DB811BFD883422F93FE573560DE46B7A0CA6D8EE32C13221CC75A3CFE997A2EA80886E170A2B0B273797EF682A0946616DE843EB0B9B3BCB2F5B570A826098A61375435DFD0768786066A9594C85465B6B131AF552BE6F88968AEB858AB284B73C57AAD9A4B6545277CE478F2C4C97352A8D150856ADDCA9573B38B5B3BDBCCCCD58CC84899DDACC0C41451AC57758117EBAAA60424C7B14627FB12FD917CA1A2361AA66D24FA077676B3F98D2A2773CF3C31F6F8E94B8A1C8F049F0F85A62DA661563346D9D434D5121B121B1604986BA107DAB001636C5B8B44E243E78F1E160F8F0EC2CA7373F1FAE9230F976AE5E9438F6EEC7CB053D0B980148BDB438391645C325969F6C6527470707452D9D89C1948F6EFA4564626044BE30C95AF55555E881C3B1B48A5986AAD1E8B0622CA583E5FA9D7EA9C68250793B716B65F7DED5B2C5B79FEE9A7D512CB8616A2F2F3E9F472481E4AAF1855BDB8B09C1E1E1AB00C63F656151CFEF8A74E68B5FAD1E9E4CCADB46A98C3E3C19D0DF6CA8D15B53658AA2FC25E31BB5BED1BB6BFF4D32F441383C74F9C33EDF2466E8955CC4246BD716961784259D99EB5ACBE44E2684C0A6E2DBFCBFF027E41035AF940B7B9FDE8BD6DBB6397A53BAE83004CB559EB61DC4B22445BF808D1ABB8FEE184B7D4E1C3B66DCBB46CCDA9DB9C6D315558BA1C8E4F958B1BE9B56B8BFFBE51AB0CC5CFE876DE6C0C7DE6D35F9003B591E4D1E353DF2D05CD4AD550CD8DC1C423F57A6174F8F1B1B117E3FD634F3C7EDED497D4BA8E7F3E2B970A45856870A42F59AB69A55822BCB076D168F08CA5378C1CCB04E0A8A6D7ADCAAE5E4CE9C71E1A1C1E32B299727230104D588E0D8BA4F6F02327F2C58C248533A98624299A6167B2459E85337C341C64C606FB3EF9A9CF737AA5AE5EB2D5322B0901C5ACE553A92BCCCDB7A19BAA894050893A9665B23C270583C9E8743C121D0D9EECEF4FFEE9ABEF049578B9AA66975647470FCFCFDC1C1CE9DB5EDFB56A5045C5F1E94FCD5FBBB893D1074282807FAFC12A566AAAA54E1F1F55AB4C3E5FC0BF537048DCD9D193838752D9822C85D2F878AD64DB4EB15CE783595DAD978BD9279F39B99B4D6D6C572FBDB7BAB2B0BD3253CB6CEE14ABE9703498CD574C5DE145BBAE653EF3B9EF5E59ACC4871AB6A59C3A3DFDCE5B17CA7979723231311149EF6E8F0D1F5384A14F7DFC9FDC5CFA133918585E5D81A96606ACAD64D25BC5B30F8D0615E6E891D33337B76E5E9EB358EDEA8DC5973FF105FC362E6E43A08E7BF5887680301D0FF48B1594E9C77ED6DAF807C9B453C6CFA16EF839946ED3EA14F303D8FE700FE8A5B5F7454216FF843991775886778AF9CCCCEC5B837D21890999D64EA33A303DF194591F884843D546A9502A6A5A4DB0A4483890D5560C3B922A5CDCCEEC28419371E4C5F50FA2D1C3D797FE6C736BFEB1473F971C7E7265E9625C093DF9F453C313D150987DF8D4274AFA7A382C1B9ABDB6B19BE89FCA950A8C13DB582B4E8D0D7DEEFB4E3FF1F2F1E5851D498E846242DFA092DD3124D9D958DFB16D2193CAD9361F09B35387C738111C368D5A8D570687FBB5A74F33C1BE4FF26C4C5138860FF3A6AEE6F26BBBB5E264400D8AB5DBC58109856175292CCB917E5314F05778CDBA6DEF2CCD59B95A20DE277CEE7B7E5C803356A31C10870E4F0D1E3B36A8D9722AF7C150E2746A1D365AB9999B0B2217AB972B31995533F5279E78F9CCB9882C65536B8622CAA5A22AB0B659370E8F3EBCBEB3944846612F1AEF1B7DFAE30F55CB5A36BB3535350CC32C9910A1F64E4C1F8A0B93C3C7C6D696D6194B1B3F16319DD0AD0FD25C509B9A7EB4903EEE304FA6F3AF597579642C58AC66525B69D388E78A55D5286DE66E0C4F8AD96D93B5AD8BEFDCAE978283FD62BDC2142AA61C0CB2526C7E6979743051CF56E667D4F72E2EF0BFF02FE8DF776ADD0D0302BADD7E3DCF03950178D136C20F8FE9E5E27DC189462928C783CB6DC2E592910C57974B409994F0AE9DD88F7F4F8085A615207B3CAA61F92C41801808408205195A0E7E2DDF600C8E676CC39214D8E3390C7E1592151CBEE1A49D465E31F8814848B2B4009F0A5AF2919193C726CE1D9DFEF46E7AB7A45E3B71F245392E49526D75E5C6666627220B3BE96CBACC4F1F3A9CC9BECF1981D7FEF2D2F0C4F0F59B5F761AD5A993938BDBF39A1DFAF61B57B2B9AB23C371CDB4E1042404958BEF2D5DFE56F1F878ECFCB951962D5DF8607679B1B0349BCDA4EA2C27E6D2558E6342C1B0C370BA8EBF321009B08E2030269FDD2E8C8D4D968ADBC5B22ED9A11F789ED3440E7F01C78E952B6FD8C55556AB410F670436C4EB21213C30E4444763E1E4515399E08511451E2E999A656FBDB3CCE13B78D3B18BD7FFF0E8F11F3FFAD0C9C313DFBD967A37188C0F25638389F16FBFFF977FE7A7FFE5F8D16C3C2C4603B1E9A37D7FEF9F7DFA1FFC935F3D7C4A1F3FEC3CFE6CF8739F7A4C0E703FF9139F53E44D43E5CE3D1D99BD6296EBE54CDA599C4B2F7C5890C2BC146ED40A7078D3B736CAE363D326577FE8B1A38E6C7EF52FAEC4FA14D8545F7E6BA1B06B6E2FD597E7666F5CFE20BD79C9A94F259385A327239A250E8EC80DB5BCB55AAD961A85BC6D35CC525ACDA7D5E48025D92A6B7273B38BDB5BCE95777676B6B58DF9950C386234CAA53A8C2B5C9D48076FEF9D07EC799E989F6883C7A704455BD48FFD9228DF1B9010F5D36D4457F44EBD6BF88D014D026481EF099108E406BB3A96D7C94F0B7296E508AC88DB3D7C9C8ABF04A8C1B19D8B67D3D6D8E038FE7D523B2CF1F1703001670C51E039BE61397A26BD343A9218EE7FEAC3EB7F9CCF169550B8AC064A990A67176F5EBCF4D4B9CFAD6F5E9D3E1EAED5125313871F7AE48B376E2D1752F5727EAE51AD05C5F853E77E3818D619D3C895F3D3E3478F1D1D9E38C98C1F1B376DFC99A88A5A3D7DE644A550B71C2310961B9A5629D72431542CD4442E108B252289242BA40F1D892C2CAC324CDFF840F8FFF36F06619F995B794BCFDD62D52B019677CC8603272059E40C33C0B39323627844342292663901B6CA886835C8F4BDBB3578FEECE70F1DE38F1D7ED1721A57AE7DCD6C8CAEA6FE54E0427DB11317AF5E59DB88DFB8BCFDDEDBDF1265F6D8F144CD4E3FF6DC43C170F2C6E21F060243B3EBAF8C8D3EDF973856B58B878F9F1F1C1BF9D84BCF37ACC6C0687975461485B2A92A969279E1B32F8872A32FC64D1C8AAE6DED1E3F716867BD9EDA5D10E488A1990B335B0B37D302139F3A329ECDE5D51A6C102A9613DE4C2F9C3DFDECF8F4E06E65D6693C2306AAF5B2C31881ECEE7AADA48A9C78E2A1447254322576693565D51376DD62D846ADB17DFCF084C86870EC1C1A19585A9EE1FFD9AFFC1AB43EED96FE09BE0740A0870C2479BD9C02A29DF294D326D91B7ECB547DBF6B0F8040577FEE053E1B96658922FE3D79E22159A8C85B5100D832893C6BC042C5190C5BAAD4F22C833F130CD33B9C9FE636DECA66AFC685502C188316327583C52B6CE8C19A9E8C8DC8A21C0E0B96B8BB91BA3E3D3561C0A0B46B329BDFDAD8FDE4277FB85C5D6FD4CD9D4DB1AC563FBC38B3BDB9233AA1CF7EE6A5F1F16393878F8AC16C5FDF91CBB7BE75F1ED123EDB7284509CD9CDD56EDC5EDF5E1377366A6A434AEF96792620299140B0CFB238CB6034CD606DC1D09C060C67C1B4D8DAE0483F24B18EA64493D3312DC25B9140985760C975B8E85464F86CA5920A48F558801F1C8C08C12C9CC44547094892CE0FD8068422CB5BE148F4D2EE0DBD568C47CFA8C6D6D2AD7AADB150CBF1B3575743D1E2ECB5C2A5373E68A49DEFFA9E93F34B99173EF10827C522F1C185E5DBA99DCC1BAF7EF8E899CF156AD761748D0C9FF8E0C6FFCFE62ACBCBB713839210A9BDFB4AD1763439C4F447FB37531BE13E8B1539DBE95B9DAD6576CA81209FDEAEAECEDB95EADAC4E8607A5D371A82CD1A82A40F8D4A962E5B76F5E889E9B595F5AB97B6B5F2C0FAFAF5C79E39DCDFFF5820594B445887371E39773695A96EAF6BE55CBD5A36F41A93EC67074706278FF68F4D24FB87F8BA6A657735BB3EC0FF22FE6C256C5C10D8F87BFB598F91E0E77B3410B4C70301A0FDA987114A50D0A81F7E7E9B40577E9B4C27A8C01DC50E0A9F198EE74DFC8B55F85B0FF08F6E642DDB82B2D78C2A634975B3B2B67D239FDFB4592E0EA77ED31160BFC7F2B2A88C458606827D8CCDE8D022F57C2EBF08276ACD34194BD1753D1488EA7659E70B6B6BDB221386A4ADF97430283EFDEC17F2A5E2DCC28775B5E4888D8595E5B1D1BEF4EAEAF77CFEF4F6CEED9B2B3734A698D955CBEADAADEBA661A8F54AEAF899C985D56250117229F5BDAF65325B158E8D562BAAC3318343A3A9544691F862A914C29FF2836DA9C97282887D6EA4A6DA4AB0BF2F32BAB1B191DE34CE1ED9CE97CBA65E4A0E3E131F3CCDD9C17022867F0690B343437D81FE7169F011382E55B24B4EBDD4B0573836C948838D1257648FA845EDF5575F0D8803271E9E9E9C381B1213C7A6CE5AD589173EFEB0E28426A6A62D36C4727CAC2F6E99C5B9DB9782515377EA4F3C7568377B5952CC64E288DD38148CD4365753B62E290ABF306BCD5ECAC1522FC8F2D800FF5D7FABFF9DD77762C1C9AFFEC94C63B70EF356BD2C2A7262737DCD6A08C58C1608C07259364D6704BFA168F1A2C03821CDB692FD91A943D3D5AA7AFC684C6D449636160A795310D4B54DEDFC63DF1B540EBD7FE1BA1C8844245E96C552C31A1A1456D772E54A85E3827D7D833055AD2E67F95FFC17EE70823E06DD03027930423E698769F24968764554A09F284669F2499EADC030F418FBC0EBD24D8B08EC83CD281D96143E11CAC438487A439730F7808C61F8749388614AB72CEC07DFF86FF9D0053E1B20C7739CA6EBD56A8DE7844AAD2609F8A7AB6061BA317F7978687C27BBBD9D5A958468589950A438FE651807562CDB711A706472F0AFCADB8C63542A0B37E7FF2893998F250E05E404CB9BC140C0E2349B0BCFADFD593828C87CA261554E9D3DFD9FFFF357DEFAC6F591C4899D2D01CE27D17EEDD8A1D3C3A32186C90FF40DAA6AEDFA854AAD584DC6276F5D5F397E3CF4433FF013FFF1BFFEF9E2AC387B7566201E5ABB5589C17ECC5013095967EA0C671B66657C2C64DB6620A0C4A3515E644CC618181830D9463012DEDA50B7D2C517CEB1CF7FEEE450B4109307A5F8C7068FBED8B0612BB4CCB253AC9010424A8365E4C079DE6970E19372F458A33E6F95623A6C8702CAB5FCA96A665B0C31A2B255A996DF7C551483CA56E6BD48245C6E6CAEAEEEA64B87AECDAD47FBA6DF7DE3BD275F8C17362D99D786274657B7EB81B014090DC8E2503472EA8F5FF9C7572E2F3CF6E8E7E5B02389725489D68BBB7FFBA79E5E595E1B3CE47CF32F6BAC19AA6C73A2653D7DEE89D4764E339D9DDDD2F8785FA36A69BA0AAB6D28901C1E8DAB55416DA8F586F1D2277FEAD0F1B32FBEF4C5F73E98CD15D263537D2B6BB7238A58DA2915337AB42F5C541797972F06D8C880A87DFFE3F2D3C72AA7E04828E99BCBDCEE8651AFCAE98C1A0C4C7270CAFCC57FF16B3CB939C7E2DF9C85816089D0D40CA3F08C22B0B2803F6D27F16EC0FE01E700D837902B68812AF425D2AF9A8772FA8E7413CD7EB907C8436154F50B74D2B467A34D220F3C64131E1074C421D50D44B83DA9B78A072A00C25017C40E0660A0CF406301F78C3488C33E2D188241243AD031D572241CB01CFEEB6FBC0F7DABA656D676967753BB0119766B42439B1764CDE1372AEAF5ABD7FF9BCE5C51D82350D9705EAA94724B2BAFF06C687AE285207E295D3254E804F6FB97BF5CA9D40F1F79F4DA8D858181445D5D0FB2FD2BB7D3E9CD6D4B63E4101C06466FDCD8B12C25DAC7AD2CCF0E0C8E8C1E36A68F1C599D5F3E7938343E75E27FFFDFBFB57CBD641654AB1A5B9BCFD9A6C4C8B531D8FCECD40DB5214B425F1FCF89E5471E1D3C7C8C810D262F8E4D9C3876F3E66A35CF9B35C156EB8CA41E1E1B098E8566AA66493B7AF6E109566002DA2623265833684B8EADEDB075CB120639A9C1B3270C2E1D19F8314BBAC09927B66BF17FF6CFFFFB9BEF2D2E2C479617776AB54D433402F1534746464707E49A2EFFFB7FFF566EEDDAE38FD42E7CF0A118E17EFC277EF183B73F3871F27136D037737BF9F6AD6BEB4BF6DFF9FE7FBDB5918A328F8DF77FE20FBEFA1BFD234A5010DF7DEFEAA15327AE2F7DF94B3FF813B76FAF6FAE3AEB6B754E86A34F7D69792B120ED7CB05BDA6AFEF5478D3910281FED14436959A3C727627B755CB59D094AA66290397AF2F5D1E9F542C239F483E76EAC88FDCBCFE4E2955E7046BEA68AC516A847431C2969F3A5AFBE1E7CC13D1CAB101FBE141F5A5271B462D5A15242B647FEEF3FFE485177F9CFFA55FFE55E80A3CFE494C4E207F0F53766CA04511470AFE71241BFFBE09CCA2B07C6BE4D7BA30900E04A30E7FE2187A3BF43EB2BF814E86DF8123A9D0EBDCAE467AA21FC070973518250484D992F7D37825A42F9038AE4E2E4118ED68A9FAE01ADC47C54353808C9F0300EA09D608387CC3D1466405598AD41DA6A49632D95B0F3F726C7270702039566AA855A3B69D7D3597FFDD58287EF1FAEF2AE27153CD04ACC3121F1270B28E4442618E9347871E1D1A3CCC7162A351DD49CFAD6F2EAF6DDEAEABF9ADED55410C9552F9F38F9F827975E2D0D0B32F1F3FF9B870EACC499BCD6EAFD4F3BBEBCF3EF5C4DCE2B57068E4F662EECFFE74E6E113B1279F78EC2BDF7C6BF65A311E8EEA6A2104533DEC1AA36CDF403831CC441341D6E12AE58A2473E582CA89B1C5DBFAEE6E269FD5D2E99AC4E6EA252DB59E1E4E86B474994F067676E7B582746422ABE4DFB28D424896CDE0237CEDB62DF5D9B0A54CCD1B42430ABC6873AAC01FD1F2177EEB2BFCDCCEC6072B6A342617CBE6A9A39FE3C2E9A1A1A1BEA8249A5BB9F448687070E5D6CCA38381772FAC1BA167078F07ADECEC8D95AB93C393CF9CFB29B52AFDE11FFCBB8FBFF0E8C478DFF9C9BF1B0F1D3B34F2D0F189C776727F391EFAC1270FFF6C60E86AB23FBABDD5585CDD8A25ED0FBE9DC73F9C6787C60F855EFCA1E4B167C63FFFC33F31BF90FED99FFD5F0311F6C34BCB8F9EFFEE54F17AB9B453AD5B87A79E48E796C36CF10B3F7E6C676D77657E43168E98FAC99B0B7FCAB1E550402CA4D45A55FBF8E1C60F3FA57DF22CF3E4114DB2F2F8B763391801563FCF4C276B8F3D3C110B1CBEB594FABD3FF84BFE577FFD5F09F843BDB00038B040C9B054C982C5329A65C1BA08E3C764190376D20C10D07971770201280BFFE49963D8165C6D380458B852E16900A76EEC8CCD9E883DB3ADFB128E4BBA1F24EE17F368207CC3064333A92540894E744DEA64764A3565E88EF1CE80C20A3C57ACD560E56A18E68DB5951B5B7F922F149E3EF529D5344567786EED9AA6CB9BBB6FF046E5F8C8F9B5EC1F85E464B132FCE5AFFEF6DA52E5C6CD0D554F0784388CC958749C17A2B55A4555AB557DBB6ACDDD5AFD46A9BE3579A84FD7C2B3B71776370B7A4351CDB58923E1865351E1985509E776AEF18DFAF9C7CF164B9B131387B77652C3F160AD18BCB954DD4A558E1D1B5C9E4B6B55982EF991B1A8A85816C304A24EC3B06559D1584BAF8607E2FDC9845C28A7C107D18A6E2ED765A5C8337C3010EC4F46CF9C8D7DEA33C7CF3C31F989173E51E01A56490D4A899AD927C784A033AAAA6FF1FC49CBD82E666F995AD2D1370CCD286C7D53376BDB75FB9D5927B355481798E7CFFCC8EDF5398657F3D9CDC1B1BE871EFD7843DF3D7BE46FFDE99FFFE6D9F3C3C1BAF6D4E3839F7FF9E1175E783114E57FF8E3FF8FBE60B83F3A958C38E79E19E7C4EA74E4470C2B6DDAB0A1D593A3C643535FE26CB66FA412959F888F34AE5ECF094C647BC556642B108AC1D05D594A0F4D1E29E9EAE06472BD30FBF7FFDEFFF3ADB7BFC159ECE4A1F15064F7D0E8670B958C562E1D7978646629C7A84C48E013030DA37EA35628974B258E97B4B4F1FDCFF35F7C463F1CC987989AA569862DDABCA8AA2A0B9BB940259608C4C55D96A97EE51B957A31C7FF4FBFF66B36EB18DCFFBFB2EF8092EC2ACF7C39D5AB9CAB739CE99ED0D3333D5933A39951CE120881179031DA057B6D6C8E8D0CAC40189BE3B3F6622FB6B1CFB1D636BB028310120209496894479A9C7A3AE7505D39BDAA7AF572D87B5FF50C3D12F8ECFEFDBAEAE657E1FBFE70DFAB7B111D3007AEF16DCBBAA998966163703B59270C8268760E0B5E45816B830113D4F47BC02370C72CCBD651DB70AC162871D61387B54D9C3611791DC4200192EB59E01B6EB80075ED111E4D01254DDBE548B37E5DAE676E28BD51FE83AA8D025A7DA0E1B58E37D069A315058F1B05C2D346A0EA3174DB52AAE278A55C6328B2585D0BB05159ADFBFDE192F01CAA4E47785F281C2ED5B39865989246DB83BB860FD36891300886F1699A8C20BC6EC942B52C3614C56894E5D57C3D1988F0C9B5BCAECBBCDBF4047DD156CB1B00914FCDEFF135EAC54830BC65CBC8D0AEBDAAAEE0B445E251A19A64D89020292B33F9C29A20A9722804A28986D7CF562A5AB495DD7FBC1D7CF6A130D710654D210A999237A86FDBBFA9BB6F647E2E3F75B58061128AD1B81D06F19F28D6768DB46D1ADE7AFAFDC99FBD7925EC669704F3D27441A102FEDA64DE1E57901E422F21464590C452B29C2BA46BD9F1D1A2B62693DFFBE74AADA29348B0B02C2D1432163A4A20726FA7FFECA9F2C58B93039DBFBB522859E4D2EEA1BE9B1FFCDCEBE7CE5C1A3FD9DADFE1617D7D89C33A5C729EEBE918AE485AA9528D7987508BD24C1347480F1FD564804FC526550ED927EA958234DEDAC2C1B5D4EBAE609BFBF86D8FAEA696EEBD67C8C334E6A7DF8F86C4A79F7EDE96CD4699F3441218ABFFE957BF5395B07472DCD272A61DCA2C1442614F72CDECEFF7A7566AB9A448D9545BBBF5D81125EEAA3674AE56D3150B388C00E81662C0B5A168D20FB0CBB2086D22A9523D65FAF12F3EF17560B8681BAE0C0EEC8FE6F001A858E0B199901ED7C9030882599609BE03801E002702B1809F075C40E0F2DB0688AAE11665A6656A70EF3FD434CCE6DECFC0FD01FD41970DAC70F8E9F0CD196A5D36A637CA07DA3473CD27270B1360F066E2BA5CAFBAB118CA074A6016DA3F70002BEB14FCAAC5AFE8746DB4F5BC655940D3C3555AE1DEDB665DAB6108239B8AAC0B965D2B557F819B9ED5347170E06838E43648F7A5CBFF16E02B755574BB8E787C9B3A5BFB352D1FEB7CF4A5D7DE6E89ED51E47422D4AF688226A3C04CD5C492616514CD62DDF4CBAFBF3035BE504B9722017B645FBBDB45911E64E26A6666A2B065FB30ED468A5912D1B6E7E4F3081B92A5E2E8F8A5037B7F7B7E79F6A517969767CB3C8B8955B5BDC7DB3710362C349E0894B3B824CA93E32945D38108199722D5022DAEFE1D2D62354B7135A91CCDA672E184DBC2985CAAD2DD1AD5F4D4F48CF4F35FBCB37DEB485FB4B134B192E8628EDF72F4F2E8788EEC387906C15A08BA52E4EDF41B17CCBC8E2F2D92899D9D630B664A0C48A54228D09ECE2A42597559E8F6119273FBB21529146E41155D47B8C90B2783EEFC5C5EF9CB6F7E3733552311221CC790A0D4CEEDA5D0B08A6804D03B2AF2377FF59DE3473F6963926D1A38859A3A6FE8CA5AFE3C89B479287EB536E17263E574E38BBFFF33CCDD5B55339DDBA68E0FFFA7AC82A5D2D31A46100652585022897AA83D2263C2D8D5D12D5DF744BBB7AC96DEF5860D538C0B45D35044A150AC1469F08D322427E9C2E16343C3FE1454929A05B884E8B82181381EB70C1DCE32613AC9610489B1B41AF652F3C266FCEBDFF80685DA243028280A1C3CF0893B68818F0061A0D4C942BC02B8C16B2710501070388E39DBFFC1E54A79122EBA0F480503309C54810788A3060A832E066E870CF1EA70E8D780FEC34CF880C0935D6BF09B5AFEA67220FFE1D84D59E7CCB5417ED501165CCB7DE01426088D141D6730C5D224DDA0319C2480EB04B75AB191C5D5CCA9AB17CF25823B6321AC6E255F7EE78F7D6EBE23FC6843275986ED6CDFF5DAE9EF74B4DE6EDAB36D51245FF9D73D3B6E2B0A2B3416757B18B1AEBCF9EE4FE6B217B3E5DCF9AB6716571606B675DF7CF4685DCDCD2E0A997C113591AE1E1C43CA91804BA99117CF2FE5CA73AACC8C8E5DD1CD5A28D8F5C31F3E138B792F9F9B522AACD6306892AC37E4D96929DA822F2E667082003EBBDFED072364925AFFB6A03780BB5D91D549EFEA425EAB0FE78BCB8659F1797A7425AA29F57DC71FCAE4385B51BEFAE5DBFA37DF7C6AF2FD073FFAE04D7B6E5BCE2D8A824493B5682873CB81AF5C585A3B9F311AE4E04BAF6616AAC177CEA8A3531ACD0507F7ECEADD191FBDBAE2F722965249278DE9AB2544332DBDDCA857B38594CF2396F2558A6E1756D7CAF9EAD10762E3CBC9FC6CAE7B7B98233B7103D52D0D43DA2E5E797370F33047462884A4304D6E3430D2AC6AD341775FB65AF5C40FE0943FE8DBA1A8ED955A89C46A6A633E34B049D69F93AD78CC1F67BC6851BC44D9DDBD835A3C6A6CE9A766572F9C3AFD537971C1E76D9FB83AC132148A1A91686B244A2F2FCF0B45C203AC982F73A4BB61EBB2A112BA82AAB2594789B28998388161168E23140B7800F721A6316574B980FFC537BEE1DC42666B36A09305D7498402A103ED1224919303604251DDB448DBA66001DC311730040C84231681A280936E8684BB8ADBC0072580615300A9504C358155835884B30F28E067D3B83925D74C56B3E403BC6A66813889F536D7A599BDDEBD59F981119AF2A1825F2B709C6BB2A1C3C6E48D0274098AE9D3B357E6964E14EBAF51780F43854084A91BE6FCFC5917111F1A1E011FA9A27373736FEC1B78241A8A2F144EF26E2DC0CB42E394202C8E8D2E2ECC4D7B79CB1FB092A5F1AB93339552762D99171B954A63617E29BDB4B8A8192249E04A037BE3D50BA6149A9F2DDB2AF7E0473EC910B1D6E8888595336B4AEFE65657A8128A721E37260862B158D6147465BE4CA1BC2256182C2E2B4A576F2CD696589C2FF97CFEA58586C7CF802FCD925CB2620783BB48A66B746CDAC08A8F3FFEEDF985F4A19B8FF674EED14D63D7EE03C3BBB7BFF0CC73ADA1D0E2DA34C9D10D7DA9BF2F20AAABBF3C7DCAD6CA246677761D8C7504D342EEF9575E9F992ABA99906CA1C26443AFE91453A759573E9F1F3DBFA2D4E9960E0D64232D34BC49DD327837EEF3338D5A5D6B0068F866679636F5F8F3E9F2FFF8C6737D2D878A6B8BCB794328D57BA27D2682636AB5A727CCF3C0E3B1451D45090B31D95C692CE43E849368467AAB2E5F6DE5360599CE74658EF747ABD5AA28CF4D4F9CBE724E2AE7E6CBE50CB02A897848D6F3855283623DC512889D5C0496A75DFEEE6EE3F8D19B75F48C978F4E5C4DFA836C6B7BB4569524A512E1B5C3FD36C6E09262E8162A196812681AA09E74DB43230C50A1B84A52C04941E78BCC8F5F34F1279F7CD2B0111570C9809BD25E83150431B02DF0CF4937E14461988F22DC245C6605EE0D83C39D369D790B8341508AC4389260088CC3119E00061906E51ABC21C0F9F536DC020DCE52C0D1AF611C0E7A8D544DD958759D2DE0A15908A4D9E07A33201BBB34131BE5D7957D486E687363876BB90F0E0E977A4419C6E4696F7B6867A13626D65496972F8E3D7BE6D48B9BDBFF70A998958C8B8A76DAD42E68CA42A99ECFE5933BFB8FCECCBEBABA386148BAC753F5FBD52B57C66A223E379F5F59CAD2AC32373F6E60B958A7ECF3616EB8452C228BA8585368DCC3D2403B128574FECDB7962E9C9D921563626A9CF3183C1F1DBD5C9FB854564A461D7CD5049D4DA29258E7680F4A6838011C52950D58E562A992374CD30C86DD04C30F6EDBDDBB432B95EB3CDB5137EBBBB77F62DBE01DB97AD6EFEBF4BADA19D6F79F3FFFB973EFAF3CF0F0274EBDF966B594ECE8DD9D5B29A7D3DA85AB8B0777DE3537F9F68EADFD174ECF240B9999E5E2F90B33CB174B460D2B556BC5655DC60DA1A6BA5CFCD69DA458AD87FC686A7985E35C555159592A7A9D8B5A266AD22E3B16E314B59EE8A0142573F8D8EEB5C53285B0F7DFF5C0AE9DF7BB28F6CAF80B6D1D1DB641DA044B332E1C134883C1ED254B0FEA78CED4A980DB5753175C444F2B7B80B74238869E1B3BB3265C999E791F31558F4BB8707A8DB371C3D4DDAEFACA52A5B5BD339F2BE557E47C56DEBCFB78452EB95D2DAA1ADEB6FD707B0F4FB155A9AE75F5460251378249964E47BCD6EE6ECD266DF0C101525B285E07A4427010D646599B36719AD4481021D7DDFFF4737660FF08FE04A01302EC299C8700FAD684D37530E54C2A4016C12707ED10DCA6E9C2501EEE3C8B18D0F660D068036789C0DC24F021010340340E4C1CBC844523184500D36503CFD5990FB48071726E1B70468341D9F50B54CE899A36023E3BD085FE21ACBBB644D2F50A27B3FEBC9E00AFCDE9E2147D409A0D6EAC5C6FDC3C9A0213EB6FF603CC817D614BC7BEAE17C036A68971ACD7E78DB8586FD8BB25C08708DC6D2AAE7A6D5523440D4FF9702B6837A291568A12145BBE7A717671B22ACB9107EEFC239FC7E3F390B82DE1B42CCB58AD5CB25482A2DD017F707E5AC13137CB2BDE20E50E620DA5061C49D3B497973295B245113C455AB68E97CAD948342C084A59285E389F0AB83DCB136231A3970B982855588A2208B6B533AAA872FF0E77A58E6EDAECC630103DD3BA12F484888238C378F4967692F3A6380F85A99B0E1EEA0FC5B6F8BCC4E5CB93FB0FEE0904FCEFBCF7BAA6E1E136FFCB6F3E03E03F3B3BD3DEB14D2816D2C9AB039BB78482F1BEBECE679E3E83E86E5396C37EFFB603F7F4EFFA6C7AFE3451B76D53663D5455E570869D1C4D53845DAF189915992178A926CA0DBB56C14D0C1FD8DCD1BF9593EA6E5BD7DE7F7BD6E7E7E14F2E74A46F604B980E6DDB7C5BAE96F1B311C448E28D3169F5DB6AF66F937327599794CC52DDBDBB5910F49B611CE1704AAAAAC63FFCCB5716CBEF2E2E5FF1E08C9FEA3C3BA65895B2047D064FB42D2C5418DBD4974695E5A942A56A9D3E313F3936BB65E4A3672FA4CF8DFF281A0FCF2FCC0422742A5913AAD5C3B7F496CB2BAD016C4FB76E593205E00CC21A60180CC2D42C0FCB841884B2509F1B6E4202B8F9B33395C7BF711FFEF813FFCD80D481B30E002B0E80E103700C2144E186B5CE7DD1284A63980C1065C34D6044D3AE039B86E1E0542E02F7C1BB6B20C2E0941E825970073D38994162C04CC1F94138E9075E0DF037A1B7075C44D8D4412D6805CF0817F401CFCD42A7089CCA69E39434EB9C53C047B82D017825CD34F8DFC0A56662E3E114AE37700E67261F943AEF1508AC8597099AD5CD535C17685131C01C13A4E10EBEF0FE46676A05F4811B9BC162A04E34A361E304C390E3B397F6EEBEABA78D75BB56BA12FD3AA66FED7A4CB7A98650AE0A59DE9F08271A08D17966EA2F4994263D8828E7498C5F9891C59AA1A9D55245A098D8E274D242E3EFFE6C0D5195871FDDCB79545F505C5A945A3A688A36BAFAC2D9FC6A47275FCC1638264491AE524AAA17288F9760838DC11D617F80332D2C10633D11AFA169CB1395DD47DBDF7E6DAA3DD1F6E53FFE7B3C9454C95A7B0FC0854223E1AA285A4AF4AE077E677C6CF45B7FFDA57C4A6E6DE3DE78F3D56C063975FE9767DE7DBD96AFE99505D468F8BDA1D5E565D6C50DEEDC3F7A85C8880B6B025DAF931FFFC4777385930AD191CA4CA7532BF14446B72D9A8C351AD9722123D52A868E461301122754B964EB7E4932AA1585A3FCB59239315EC8976B528D989D4CDD7474B05A131251F039967FFAC2BFC65B3AFDFE186E919A596964FEAB5579DA2DA7381309C908AE5E668C053C780C57DC3AAA713CB79A2E088D5A593D596DF814216559261DE96A34A62D43AEE46486772797D716A7C4AE8E5E10E2E67339AD4120AA7CD7DD837BF7844B2BAB5FF9CACD345508C7D0EEBEE13BEF7CEC8EFBF6EA741A21573182ED74D92C5527481CC565E0759B8AE521313F6BBA6C8CF2E13C8B97043DD968FBD8EFFDF9F77FFC3AFED5AFAFDF64044802C00427F1A09705B30EBE6C0B03858EDF65210DC07304A91B16E0128C8B0CB8573A6D233C79ED7A93832F07E970D2A27990EB44B56D0C184DCB0494C3E12E9D701DE10DF08556013EAF67D75FD1BA804258BEDE789D7AD06C41AA5DEFF1FF26D7CFB82ED7B8FA6B05BC6D20CD37E71854E78DC11B5BD7E34A2020818190D9040ACC088709139DCA65E7CE9F79BF505CAD08F9D9D517E1AD027461A07384631ADE50B5DA98462DCFCACAEAE454C6E769595D50F3A94A4B6B8873E10A806EDE94CB6A3CE03D7C7BE2DEDF1AFEE9BF4F1F3EBAD917A075DDA8D73145B384AC38B835B47D2488200097A0BD248B0AC5D01863746FEE5BCB14D446EBB1C35FBF7029552E56AA99FA6F7D7A1F1FB6A3A1DECF7DECCFA3EEED85C6ACA26311D7607999F9E267FEBE3776DC301696E6CB9954FE339FB8AD6BE0B86D709F7CE4E37569797A71C2140B6BAB9388A6EDDEBDEBF3BFFF458C60EEBEFB3313B34BD32BEF352A860BDDDDDD1BCF972EF70CC8233BFFA89C5B61DC626A1CE1DC0016D2F0C8FEAD8307551957752FEF0D2FCEAE24C241A0427037B9E7C0F14C6A01A810A0AE852C16F0BB0C99E8ED1EF98BAF3F75DB91CF6EDB72F0A6BD1F090602966103A4984AC6957ECEABAB868A2B8861E19A90D159B122787BA9502F81E29669BA793EE8F58D6C7BE8E4B959B767D8ED6E595D3416A60BB6A203D74BAA998608E0A60815295F687CFCD1438A582BE54BFB8EF25DBD1DFBF6EF10A4499F6B2491D8DBD2B26F72E1C4F9F33F5254DBE3EFBD32BE4C215C0F0B723866B30ABC4305D8541427108A40080AD81743B3FDDE8E9D0D1F7178E7A3C03A3DD10404042678801E96C50207CB342814A17102D8376082805FE76868003BC003B8293488069DCDFF80E53181CB47017BE49007E20BB521FA1C76C103F81838415B881F50DC46746071C1593014C495E0CFF1D3A0C07E0EA3D60F58B02ED746BACE04278B3AF3DACD82FF4FB936CE75F98DA340BB0558038D27BCD4ED9008D20A031FD1B50DACC068960594AFA96B6241786571F9BD6CE6722EB99C5D4D3134D2A8538A9D09F1C31CE59E5E3EABD8D8EA7C59164B046608056D7EA2DA12F786438C24D9B288B3440C68B4FE81908A57719C5D584CF9120CE70F5704A55A2E7A58D4C3D92D5DB42F48078281BA24B575793ABBDD1E1FDABD29164AF8D3ABCB9845B158F0A5E75F1085B13B8F77DE7A473FE3A76B72FAE0D0A77BA223A65E0F0406BB433D235DC7EF38F411000E9E8F5785E253FFF64F5A430EFA8C89B9DCD0AE418FAFA556D5E7E7C6B46AC9E775C90DFDAFFFE7FFEADC7E302B202FBCF8FD78ACE3E64377ECD93DD4D5D14352DDFB771D6B8FDFFDCC4F9F0F32DD3A36B93653AD895A30B1DD4412F373B352156169FFCA521A31907A45A15C218C0BDD73FF1F664A33BA22F2B45B6AE431CBEDF21A427EEDE0813B5CB4C7325882A0807F6B0388219AA1AE9095E734432274742A4BD64484364064A3A0A43BD6713701FC48E007110450D59A2ED5AAA8818B6EBE952323F30B17C301970537E85024558DB7FA23C13D55B171FEC2F8CDB7ECF8D46347768DDCE50F75976A9743A1D692905ACD2C5C9A78A9989D4BC4518F27562AE5CA4BEAE422BE238133484D3181AF6602E8E3144A5198CDA01E1C07A0CE929E559BCBE6B23AA3E25F79F2490099F58D06A102B62938914031B8B31D2D70B701612CB81F2EA408D4D6280ECC11E0856D81300BF8828EAB85B908783DB649273895B7810E6068276A0207DCB0015448205483B607306ABDD5069EAC0BF4E29C72A7AA795C6FE68863A336CA0DB51BE4C3E51F2A59CF7E78005555812E01FA42682814200F543A80C6F03A01FC2DD3B5F9129B14EB75996673B9C264A1348318AD9AAA2B9AD9D63E94CBAD2ECE9439469A5B99B2F0407241BE7A3E3D30B8B9BB67EFCC6412B17CA61651A496CC1A512A8814892896224A86D717989B2C50982F9D56A626670CBD70FFDD77F60FBA8746DA0197DABB6238E1320CE020481881BA5C1CEF71CF2EAC6597754BF5E756D7BEF0C5A37BF6761EBC6977A63E1E093D52CC5C3AB0F5F370914C1CDE03E5E5138D864892406132BA5992556FBA54BEFBF0B1871FFE83AB975FAB0B44A1A4BEF6F2F3B5545A56049E0F54EAD93B1EFC2F3F7AF627AFBDFAB4AD1B6BA935DBF665D6E4B6B64DF1AE20CF8118198410D25BAFBCD4D9B1BF52CAE80D8BF6B2C019AE55C767C75614B16849627B47DCB05906040064595688DE6D9185C9B1CD03B1DBEFDC9C5C2B7A03DE3FFFD6A37FFDDD27ABC6559D5E4BE54FB05CC4B27804916D536CA47E4198724DC65255D34D19621DE7545BF10EF1D161DD8297CE5543330D43D7F51D5BFB9796D65A5A77B475780042BBDBDBA6A7266409F7843B2CCBA7E94A6FFF80A4D85FF8837F9C9E9D0B742017674E2CCE27790F4592F4E8D5898EC41EDE5762DD01DBDCBA382316B35BAF9C9D6CDD99F0B33661C90440388E9014880080D9D41AA61BEDB8D588EFC2DD91A25895A429FCCB5FFB1A0008442684093CA06600A801408157690D94C01BA609808341EA40DB84026F8024351B938191C151DD3038960A5310FE4D870D0E0633D069042950E1182B6885405C05DC500D3154E0FF100450F624884CE03C08ECB86ED39A5CBC01D9CE501FA441B3D10DCE1E843A7C8D4E6B388C13145D8B8B361CCD068E80D3ADBF764731C03913F0BA806201661D7C7694659814AE73149AC9D73D1EDA306D12B7C007AA68920D2F932B792197AB5C1E9FFF2B16F703C09E7CFF9DE9E964ADA6F76F6A23382D9DC957F3650D6918AA77F2C26C7226E9A15D53A33375A158152DA9E2AB013F2B39E36288DECD565F478F3FA0937420BB56686F21DB8608A55138BC67B0A593F8E54BA7370D1E3E3F333776B682C25B4D6D03B334D512F2F2DA9AB1964632AB454DB1EE3DFEE053DFFD014DB6EEDA72B7D73D7CFAF2A9EFFCEDB7EE38FCDB3D2DFB35AD01949AAA2840ABC2DB2F50402F105B9B62BD7274DFD13DBB6F0231695FDFE67FF9DE7FD31BC82B2FFEE0CF9EFCB3A5FCBC6254490D3F75E68599C933B6E9B5304512568CEA5C36B9343E350A02A17BEEBBC3CBF32E777C716DEEC29BEFE962C634B5C1BE230B8B170B4B45446FB02E6FA4A37760F347DE7DEFAD873FF52735853CF5E60B972FBD39B26764EFA1F8BE3D7B3B62FE3D070A7D030FFDE4473FF178654B1CBAEFD8E314E985313666D7C5B2567C8DD174593319CDC8E64D54A1250C896EBA936E390840EAFC1292346DDCB604D3A8A42A7FE7E5D98692DBB5B7EBDF7FF8B424923B4676F3FE81FFF3CF4FF5F7753EF4D06783A1419A26BAFAB69F38F183B9B9E9ED5D5B52D985E4AA48B9D2BC2BA198495B5596E66AE9A9E2B9F7B2925A1C9BC5DB86F727BA0E65CA99924A17EA71951CCA323BBEF9ED727C4BAF87EF29D426084CBE70660ED0092EBD02C0E5580B78A109844A706900B8BC0E46A1986ED992AEC34D1610135006B32D3FCBB86C3B40633C66797024E2A23913B83D886A002F0802D9300CF008BAC3911D1E401F09AA76B40A4227C3F6A32480AE60AA244638060AB68424DAC016E875FE4A60D5C6DA0D72039D207FE053B32FE8F06BBB5C6FB02ED7476E9E0508D011388E2B8A9A29A425BD80D3A1744EAE2B855AA3A628224E703849A58B1246E6099277315EB95199B9FA83727212678C445B7CEB4008A1F2B6863018C1719C509059AF5CCA195397856A0D6825788BB1281B5E379FC9CD6846ADB33B3637BF925C368A55A1AB77E8C2E5A9AD437E43A9942A254545FB07FADE397DFEF0F19B5F7CF10470AC2B2B35C2C6252563E9A8C7AF361A7A439635ACC4613155D46F3B76EFA6EE219F3766593489BB7ADBB73DFD831FC75AFA47B61E54B586616850A701BD6D68408FE9860648158FB5932409DEAF2094719D7DEABBFF504815354D3AF9E6A581EE16D352A7E767FEFBDF3C77F6E2E99D437DD9A589BEF6F023F77F6470786B5B47577A4DB8EB96C3A645BAFCEC2B2FBD9C4F4E9A1A120906DDDE983F1606A1F24D373F8CA1FCD54B57D656960CBC3075E144CC5D79E481E8273E72AFBF6596F664C26D9DAE4ED11B7AA8248D6FDA26DFBAEFB3C777DFA7D9643E9FB1ECB26D32BC272CEA6525F73E5EE394BA5128D0AC58F30CDFEDDDF3251EB85004A969A68EA44717FEAE6F7B84F62CB6B56CCBD5C6E7E7CDEFFEDDB342AE889A5ABD4A8A02B060866171894437E0E7F4ECD5B1C9D39F7CE4A37E72A08ABEDDD7F5404128CECC4EEF1CDEE722BB66E7AE6C1DDA198BFB30AD106DB10676DC65300792D256AEE7D357D385ABCB9B26B3BDDFFBDEFBA95A616C5E1B39766C6CC23E7FE92D8899C78175825C82B30770B6004100C45960CD805DC350CD099C680C63508C45300EB5790AF8AA26865980102E0A581A8C801BE50118C3D976F8C35E1857405F0887188521BCE34CC2F81DE875F0CE198A307483670916859BAE63A04B13C2E0156C007F13EF4D363A151BEA6E901BE8E4F403C7F5F6BFA1D7063A8133AFA79C34382378D1CEFC254233144BD1AA2E2CA74701F105312BC9995AADC0D0B4A2E15717FE5996A7A27CBFAA5DA4EC94682E582C5111728842F88389C9D915BFABB3A397F2F0DDE12803740D4FB77B3D384DDBC59C26948544C2E376F12E2FB0D25CA524443C3EAB2176B7ECA02923BDB65811448EF4DC724F5F30E63FF9CEB8D670AD2E0A1C411DD8D5BDEB404FBCAD8564CD6A1598776B6D456BEDF6ABB5EE7D3B8E7CEB89BF6F4FF4F19C47531514D78197CA1181BD0786111A690FF7EA8662E80AF8CE0C3823A402A501DE3A45B3A6098201AA5A2B99A65E92AAA9E212CBAAAA943575A55829CA3275E0E0D1977FFA727BBC676870DFEFFEEE178EDCFCC8A69D07DA3A876D8C66596EFB8E4149812BA79AA271F28DE75B639B33A9C586640CEFBEF3D8F17B7FFECA8B5393177D0CAD6A05B78F72B9DA43617DEFCD71C45DCA574B621DA95432725D9295511515BBE277D2740BD00F99D2099E8B517884C05DB252F1078ED9B4BB6A95EB0D8B89D1DE038F25863E1B70B72A98A86BC0A3A26D8369091DCEC9B54B332FB30C1F0DB59F7CEB5C4B6CFFFCD479CCE6BC8144BD3E5F578552B556AF1797E72F47839E48A8A7A1B35C6015785A85522A934EF5F6848B85E45A7EFCF8A1C7CE5E7C3599590BF6C5FC413B9F3295BA383175C21B6F45FD6D1A36935B7DF5FE8F7EE1DEBB3E7EF86018B3667BBA54B151E35C3CFEA75FFB1A888B00769AD60058111CCE40001F064EC155650590C305B53170D151C3B9634F557586A1015F80F7A703371030C689299A77B342FF123E434BD704A8333BD80CA810CEA9B229CCD44DF8AB4B78A71270F61C4F7303ACA16C4439EC7A63EDAFE446EB04E90B04D8A8FFA00BA859A7D3074E0AB240A07747022D816A9A0E7C6A8A0AC892677AE5B5A08F37F55CB93C9BCE4C80AFA5BFF7483AFF86DB059C5FEAFDF1EF1BB24A99F4C2CA2A1F8879BD8962B65AAD24A32DED0419AC36B204C7D7C4CAAE7DAE400297B4CA8E5D2D43C39E6807B1FFC0E14C26574C6B18C23FF4E8D1FDF7C7E25B702E487A5D2C17B6D7D66A17CF94745D51EA92DDF06A5A35DEC9CE275796522B85B23D339DF771432891492D933412FEE617BF8DDA0CC7B8340DB873C0C0028CB386A52762DDB2687978B76EC86028F85123B6A14B88A9712E8F85D204703D7405D82B5956568B0D8AE1EFBBFDDE70A86D393D5D6FA81E57DB819B6E3DF7CECBF104FDC043BF4D79FC358D288BF50B17CFEDDEB3BBB53D915CABFAFCFC954B33674FBE56CA2CD60491A070E04C7A7D5DEFBEFF663E3566E8C586A8B83D1889B858B6F87B7F745B4BFBAD8A5EEE6A8BE54B85645A9B4F978A9548C0157FEFBD13E1182748B9C1C8E7751D7C4B846935489CD3F446B8E356C67F28D87138B6E5F7D9E86ECA13B60D9C065F9161EBA6043C731038F9EDF60B0BFFE8F1DF3EB7547DFF8D555BAC84A3FD4243226863F360EB639F79BCAB33DAB7C9D839D2EBF36CC994B20BB9F4D8E4CFF76D3F9E2ABD9148C48126DDB7F311538B9F393DC7B33A86BA08D5E3F1217D3B637ECF917C395328BFBD78E57457B7116A6B5DAE8AB71FFFDCD66D7C286A5ABA90CB6422090AFFD2134F0064413C3B7600FC13C04041ECA380669A65E304611AA66C01B714C45E26D0B234707440B50D1C400CB00A312DC2C124600AC43688B960EFEB8110106760E0EEC131E1FDE6A86981610DB8948F0908653A1775417193D2900630B56EB480AC170371C6BC2EEBAD7F036BC01BFA4D554DA2C1913F24A665017881B70C98A9011D6E58E5AA9CAF8ED5A5B2585A2331D9036FFD106DCBB79C5DF17307C371BE545D193DF973A1AE998089AA4C5BC8F4C295B6487CCF8EE318C364CB173DFEC8BB272F48758CF746359BEAE88ACB4AA3A77B53A95C13EA0D4959EEEAC1120972615A989A591572046AB87433952D9AF98200BC9458ACD51F24BA3A7ABB3645C7260CA54A88C0D5CB28BCA7CA712E9232F369E9AB7FFCCD301B065EA4A6A9244998BA0DBE34142774BBA46B76D0135035C8251DB008B10902D31538C9CB7B22084A0127485345E0D982CFDC34B44323877D1EFFC4FCA5F1858B9844958B259CF68E4F9E7BEAA97FE743C1E5647A6E2C5FC9AD1D393242024FC53073D94C30EECDAC0A13636FD8BAE6E219454134BDAAAAC66AFA7490654088100CB6A1B8666A545D5066E6CACFBEF4C2A937B29F7BF40F077A6EF2B96A6D5EFAECCBA3268B6EDF1691E4B12DE12F98480DA059D5AA34C3D98845311C8891401C55B5DD14B0AE260029802421EB2688D300D654B53EBDFAFC78EED5C59C7DE2ED57307976F720F6A9DFB9EF87CFFF44A8092343777DE92B5F8FB790A5FA8FEA8DB3D96271A6FC12C3F205F5D908D33531F74359E224C93D3E919D9EBBA82A56AC0D6D4D843CDE587B57D72F5ECAADAC042F9CBB909D5BFAD4C76EB5E9622E67D7CA9625E1AA72897749CF3DF34AA4D5E8EBDBEAE512F89F3CF1B52628019D9A177A081C8474C0EF2665DD90E06A9EF0F607C5B21D870D2E5ECA93144F3A93E54D4003CF0F4213BBC64704EEEF0A81EFE01570C19947C0E0CFB99D5F228222D00514D970C2106419671A1ADE9CED7407BD9A5C02E9A638C90D5608249AC7B5F64EE9AF12CD5A98BBF180B615249C5EB05533E3BCEEA680122020DFB472C002038ED3B8415335D47471583E12B18BC2D5DEF6A3E1386E5607FA075AE7977E49A3358AA18E8D7C6C68D7FE98DF4F07D980971C9BBC8CB8335726CE3C7CD797699EEDED305BE2CC725201A1B958AE1B84CAF8D9D9B12C8909F73D78D3A6FE7DA188E7D0B17B2A8D1CE759A3B83586C1580ADB39BC43D432C965299BACD71A2555B296A7E5F153A2D850BA7A22BCCB5255AA92C7BB5BB71FDC7FC0ED8A43B30C67ED4D1B2A4354D714046E1C6880F7A8EBA60DA7C01AE06300DFAA61C8140B24AA19B2A1CB52A3562CACB4B66EF179790B504D57E7D79666A64645B9C233643A39C971E14D3BF778BCBEE25AFD27CF7E7F6868E7EBBF3CC97AC97289FCF1CF7EBEFFD081CB67DF7EF647FF7B70CBA1A2B0E809F566920B885C6A8DA281E06032B3A0A9D51DDB775914D99AF05C3A3F45DB7438840C1EE038BE6DB972C6EBDFDBBF8B686F8D75B7DCAE210B71F631F0D92B92EEE2398093D3A3CF74B56E02DF037085644922485637F5B2384BE309CBAC6B5A436A90348115C5DAD9B17710CB0CBA023B86F6F56CDBF28B57A8873F7E646DFE7CD776319D2AE695B7EA45E1963D9FD6951A66A7867BEE73B9F28C5FA3D9D6F6B67D53C9C943FBFF34DECA174BCBA2D4985B5EF007621E97F28B5FBE64A8744BACB328CCE1DE85B64DDEE12D9F9E9C5ADD7B133A3A3EB3923D01426755C31391A14BE3FFF67F0168DAFDF65F7DF5F70000000049454E44AE426082), +(69,'image/png','img',0x89504E470D0A1A0A0000000D4948445200000333000001CC0806000000E1F0F653000000017352474200AECE1CE90000000467414D410000B18F0BFC6105000000097048597300000EC200000EC20115284A80000022C249444154785EEDDD0994A5775926F0BEB57457F596AD49085908920635C31A968893830B5B8EDB20C88822C60D7170C683330E680228928DC151CFC0100D04100C4B48A2A01121B83461906524401608907DE9D09DF456DDD5B50FEDBCAD4DA7BAEEF7FFFEB76ED75BFDFB79CA7E8EA76FEEBDDF5D9F7BAD7E3A57DFB2676EC512D7E9446862AEE42F1F6CC91F8AA5ABE8B0B7BF8DC6672334F4CDC9994865EE6A79BA7D1E9C29BB903B67DBDDEF4A8FC574C5FD7BA6E549E70ACFB3E5A100FA6CA0F069BCD3F2797F20FE6C63A8F0428EB67C695A3F5876C20D43EDAFD54943ED2EE4E9AB862235B3A6E6C0F751DBFB15CB4B92BB2B0000C07752660000809494190000202565060000484999010000525266000080949419000020256506000048A973F5CD15A399255B4535637805E7D359EEA37BDD1644E70ECF01982E38DF7FDC3315A9DCE7C7A72335B3ADEDDA23002C13A5C39E4F1B1D8E54EE07D6343FEDAACA8FD4176F3273F1FECBF49E6F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EA5C754BC56866814EC500D15CC12063D5CC51B741CA052D7419FB38BED4723473EBF46CA4763EB863225277774FD59D1700B0349D30D4FC73F2971EB32A523B270E0F464AAA66E97D2EC1B067C945AC3814BE99010000525266000080949419000020256506000048499901000052526600008094941900002025650600004829C56866DB21C86235A3990B5DC6AA31CE325B67DA0D52BE63EB9E48ED6C9FE9D36D04002C0B6B07EADE1FFDF286D1486596CCD866CD6866D5FBEAF8B3897EBD85AD3814BE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A973F5CDED4733E78A8674DAAFEE949C72AE6275A76AD873213D1CFD9C8E3F0FE5ED5BDA8D5FDE3BD56E6C1300E070D830D4EE33F95F3F7E4DA4F98DFAA83F1537170000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A9DABFA349A59354859323A59B57BB938A39935439E07FB879D9391E6F7F19D1391000038D8B3D7AD8C34BF738E1E89546FA177808B34D59E53C5C1F0CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A9D0F578C66960C61D6CC4676928F664ECCF66E34F32D9BC722CD6FD74CEFCE0B0060B9191958F8FDDE6F9DB83652BDB5830B9CD7E2BCED3CE2F8660600004849990100005252660000809494190000202565060000484999010000525266000080949419000020A5CE95194633E3CFACBE323E15A9DE155BF6440200A0D77EEAB8D148F5CE5CB732128BC537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029753E7CF378CD9E250D5CBB6D3C52BD4FED9C88040040AF3DB58743972FD9B03A128BC537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029558D66CE7DFB7F9AEAC49F4B5BCDA53CF4B178EF037B22D5BB79CF542400007AEDB491A148F55E79D2DA484B48C9DBDD9A69FD3EBDF9F7CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A55A399754B3A478EB7DDBB2B52BD7B2666220100D06BC7AF1C8C54EF374F5D1F6909319A09000070F829330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4D4B9F2A69AD1CCE6FAB49BB324FDC1DD3B22D5DB3A693493E56BBAE2D96862E6D0279E9D6BFF1FEE543C7B0D147C5CB46AA0FDF90C1EC94FB0003D76CC70EF3EEB7FCD694747EAB19AE7FD9297C404AF2FBE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3A13E8D66D6E8D75E4FCD8158E8325E72C7B648F5764CCD4682FE996879B79B9A291B793D6524420B4F3A6638D2C39D303218A9DC6CC513C3DDBBA7237577C3F6A948E5B64C35FF5C6A74A8FD675843C6398123C0BA8AE7C983FDCE638F89340FCFA93DE19B19000020256506000048499901000052EA5CD9AFDF9949F0FF173857712416BA7A17DDF660A47A3BA797FCAF38D137650FAADDD3ED7FDFEA3123EDEE77FFF9F1EB2235F3DC93D7442A77DCE8CA484B49F3E376D7CE8948E5FEE2CEB148DDFDC93776472AB763A6F9EF1EAD1E8AD052CDF371C9436376AEFD8BD374C185ACF9DDAB9A97CFE181439F7AA05371A14A4F5A7325A0CFD6F4F017045F77FA7191E6E171D113BE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3A17E8D66F6CBE11A205AE0285EF08DDE8D66EE369A49189B2A1BC1FCA10DED3FBBF8C3B31E11A9CCF16B564562A9B8E9C13D91CABDEA335B2275F78DF1BACFCA4606DB3F99EF2E786CACEEB41F933D754DF311D1F5C3EDAFCF9E8AE7FDBBF7CC447AB8EDD3ED2FD3EAE1E6D77D9F8A9B13FA6E752F47331FBFC068263DE19B1900002025650600004849990100005252660000809494190000202565060000484999010000525266000080948C66F6CADCA10FE305B76E8D54CF6866066577C2F19976B7E993D74768E8833F7C62A4726B560E47E24876DBF6F148DDBDF0930F446AE7C1C9F6CF753F7BDA48A4EE5EF25DEB2295FBDE639B9FCFE860FBCF0E2767DB1F8BDB774E447AB88FDC3916A9DC7BBEB93B5233DB67CA4636F75B5DB1B639B7D09A352CA0A7A399DFD36E747A7928398EED1FAFBE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3C19AD1CCC3355099CC85B76C8954CF68E6D2371B7F36D5999D8954E69A1F3E3E52334F78C49A48B0F8AEFA6ADDF3DEC060BB91C57D5EB8F1D8482C969BB6968D66FEA74F7F2B5299DBF6B4FFCC75A4627093235B2F4733CF3F63098E66760AAEDF02A3F0DD19CD0400003824650600004849990100005252660000809494190000202565060000484999010000525266000080948C66F6C18537B51B0B9B8FD1CCA56FF774D96CE68F9F341CA9CCA53F787224E88FD9D9E6F7ED81B97663B0FF6AB0DDE382A5E9D687F6442AF3A24FDC1FA9DCD8EC50A4667AB89348723D1DCD7C42D9C0755F948C66D6287ACB6A3413000038C228330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4D4F940CD68268D5C74E30391EA19CDEC8FB98A3DA9DD93656381977EFFB191CAFCC4E9C74402589EDEF1952D91CAFDF72FEC88D4CC9AE1C1484BD760CBB1C3E17E7E74BD0CDEA6F47234F3BC279E10A9C7FA357C59C368260000C0A129330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A46434B30F2EFCCAE648F58C66F647CD519E992E1BCDBCE60527462AF39413D64482E6BEBC7967A472DF7C683C52772B87EA3E2B4B30074781B6FB7E5BC7CB9E4F0FF4FEDBF7466AA8D3EE3E5B7CDDE6DABFC27C6BEF6CA4325B27CBCEB3ED38E772B1BAF2F9EB40E73F6981D1CCAAC3DC9FDBA8E65CFAF58ED537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002975DE7FA3D1CCC576D197EF8F54CF68667FCC561CE681B9B291B78FFCC84991CA7CEF86D59138D23DB8673252779FB97B7BA472CF3A797DA4EE06E6DA8DFBC1810607DA4FF6AD19EED3E7B585AF179D8AEB74D3435391CABCF86FCBDE874CCEB53F7615576FC9E8E568E6794F7E64A479541DABA57FA0FB75097D33030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052E56866C94997C18A524B177DE9BE48F5764F19CDEC87898AD5CCDD7BCB46CD3EFA2327462AF3AC538E8AD44CA773E43E0697BBFB774D44EA6EEBEEBD91CA7DEDA1E6E39C97DFF850A47656F76BF0102A4D16BE5E9C71CC70A472FFED19ED5E2F9EF397F7446A66FB54FBD78BC165F052D3CBE79FF39EFAA8482C16AF160000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002975AEA81ACDA4898BBFD8CBD1CCD94847A6D22DCBF1E999486536AE6BDFF39F73CAEA48CDBC74E39A48651E7DF448A46606068722951B1C1C8C54C650677F6C2E18CD7C706C3C52B9BFB9BBF9F9FCDE17B6476A67FDCA76F739E8B7BD33652F4CCFDCD0FEBE7DF973DB8D669E6334B3484F47339F7652A4879B2B1A9F3F98D7D7FD7C33030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052E78AAF18CD5C6C17FFF3BD91EA2D87D1CCD2E1CB034D158E60BEEA89EB229579D599C7472AB76ED57024E88F92D1CCAD15A3999FBCA7F9F95CF0856D91DA319A4916A5A3994FAF18CD7CFB731E15A9CC39D7DC1DA919A399BDFBACFFBCA79F1CA9B732BC79EFD75DC137330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029E518CD2C59DDA9B9368BB4EE73D1E7EF89546F398C668E4D960D5F1EE8B5671E15A999579FD56E600C32E9D768E67577EF8DD4DD059F379AC991A19FA399973EEFA448655E70D55D919A39D24733D70CF7EEF9E7BC671E7A3473B90F5FF6EBFAF9660600004849990100005252660000809494190000202565060000484999010000525266000080949419000020A5CE9F2FB7D1CC2A8B330D74F167EF8E546FA98E66968C863DE9D8F663541FFDA9C7466A6670505F67F92B1ACDDC55339AD9FCB4177CB672347395D14C72281ECD7CC450A472973EBFE568E69577466AC66866EF9E7F7EFBFB4E89D45BFD1AB3ECD7F9D4F04E0F00004849990100005252660000809494190000202565060000484999010000525266000080949419000020A5CEFB6A463397C130523F5CF299BB22D55BAAA399BB26662275F7C6671D1BA9DC2B9F71622460BFCDBBF646EA6E6BC1DF3DD87577158C66FED34391DA319A49167D1DCD3CE7E448655EF0C13B22356334B377CF3FAFFDFE5323F55686D1CC7EF1CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052E77D378E974DD71E1625FBA34BEFEA5CF2E93B23D5DB3D351BA9B76A8FDAE4F44CA4EEAE7A61FB35DC679EBA3E12B0DFE69DCD57FDB78E35FFBB07BBEECEF148DD5DF0990723B5B37E55EF16B86131ED9D297B057DFAF14391CA5D7ACE2991CABCE00377446A66FB54841606334CC677B166B877CF3FAF3DFBD1911EEE701DAA927B6C869BD337330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC000000290DEC1BCEF1B3B83FF3FF5F5BFECC2DCD9F81D9E63FC3839DD63F40A56F3F64DBFF7CFB7FF9F1E3A7F267BEC756C39FB6E6BD1C7E0EF533B7A2D3B39F85EC9B416FFBF3ED4BDAFAA7C47CA75F6A3FBE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3DEAF8CEFDB9B6111BDF9FA3B22D5DB3D3913A9B76AEF04BB27A62375F7B6E73F3252B9173FF18448C07E9B77EE8DD4DD8363CDFFEEC1AEFDC658A4EEDEB0E95B91DA59BF6A2812F5CFD04BC1F21D3DDE3BB36FC2B0B9B31EB93252B9F7BCF03191CA3CFF8ADB2235B36D32420B43096EEA99150B3FBF8CCE4E44AAF7BAE73D3ED2C3D53CB2CD88FF1BDFCC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A46434B30FDEBCE9F648F5C6166934B3D6EEA9E6A3613FFA989148E5DEF9E2C74502F6BB7F47F321CC3BB6EE8A54EE94E3D646EAEE962DE391DA191E3009B7DFDE82E7D77E192E5C461C196CF7D969863728B3736597F2D8D1C148E54E5ADF6E70F3ECCBBF1EA9995DD3ED1F7F837D7CE8CEAC188E546672CF9E48F3BBF0BBDF1FA9DEAAEFFEFD484BC8327B7AF5CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A9D3FCB309AD92958F7291CAFEA95CE0297F192BFFF66A47ABB97E868E66CC1619F9D697F1DDEFD138F8AD4CC0F3DFEF8484BD7DCF474A43273BBCAC60FC7D61C13A9DCE8508442C33E2EE98B89E9E6A38A1FFEBF77452A57B2F5B76E55FB61C07DFAF54C3ED4A771CEC1C1F6C7E3D9DF7D62A4A5E3ABF7EF88D4CCA6DBB6452AB37665FBE3567ACBB6BDCFF5737FF073F72D3CF67828D77C7D2252339D8AC745C929A75B8E5EEED76DFCF2502EFE9E77469ADFCF9CF6B948F5AE5C7D7DA42350C983AAE281E4AD060000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A7D1CCDAC58C3394C43982516DAF5BCF68A4B23D53B79FAFE48B0FC3CFA31DF15A9DCAB7EED5723B158B68C4D465A3EEEDF311EA9DC4DF7ED8CD4DDC870FBF1C7173EB96C2CB81F3E7757D968E62F7CF8F64865B68C371F843DD85CE1FB8E8A77297D3330D0EE33E8D5C50BC6EDDF77950C61B61DBDDCEFE2EF5D78FCF250CE7DF42722CD6FFC81DEBDEFBCFABB6E8AC462F1CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A9DF7D48C66969CB26F6B543567B438E39C37FED91B22D5FB8DDFBB20D2FC764CB6BB0EB3ED77C9FEC5FAC1FEDC19E60A6FA3B6E7B47AB8FD651C1D2AFB8C6068B0ED79D5DCD74BB5BB5F0D2FB4263B8FD7BEE6B591CAFDD7DF3E3F120BE914DE26071AA8386D3F0D145CCCAB6ED81CA9DCC60DA391BA7BC249EB23959B599C97A62AC32507F9DB1EDA3311A9CCAB3E726FA4725F7EB0EC856DA4F57371066577A29982E1CB834D140C615E7CC6E591DA39F7B485C72F0F65E6BE0723CD6F6AE89848F53EFC989B231D79FAF3CED0373300004052CA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002975DEFDE58AD1CC224B7F8CAAE6122E74106F7AEFEB23D5FBF9DF7953A4F96DDFD56EFD72E5608496AEFEF80D91BA7BEB15D7472AB76EF5CA48CDAC1D5D15A94CA7B30457EA0E32B6773A52336B57B51F41FBD8FF7E79A432AB06CB3E2FF9A337BD2E52B98F3DE2259138D2956C7B4ECDB67FE61F2D18D79D9D6DFF9CB2149F8D4A8FDA60E1C8E67E3BA7DADF3EA5B76D8E4DD876F786E9C211CCC9DDCD872F0F76F1139A0F619E7BDA7591DA99B96F6BA432DDC68327063744AAF7E1D3BE1229A77E3DFFD43CFC7C33030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052E568668A85A9C3AE97A399E79EB7F068E6B6ED3391CA0C54AE851DB3BAF9DDE85337DC13A9DC45EFF844A466F64E940D4BEEB772A8FDC0E48A4EE97069BB63BF677C3252336B86DB7F76F1F1CB5E11A9CCEAA1B2EBF6C717B41FCDFCC0512F8D04CDD53CF5CD15BC7AD60CCF2DC557DAD2EBD3F63A14EEEE7E87A578DC6A4DAF188A546672CF78A4664A862F0F76EE630B5EA7B7DC1FA1A596A3B7B3D30B0F708F0F1E1FA9DED5A77D29128BC537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002975DEFDE5BD355B5E0596DB64D8775AE812DED8C3D1CC5F38EFF723CD6FDBF6D2C1C6FFAF3350778C87062334B076B0DD65DCE75D7F7543A4662EBFFAB391CAAC5B3B12A95CBFEEADBBF74C446A667DFBABB4E2637FF2CA48654606CB8E46CD68E69547FD742480A56B7A45FB51E6C9F13D91CA5CF2C477456AE6DCD33F1EA9DCD81D3B2375F7BFBEF88C48ED7CCF715B2395F989C77D2DD2FCC63A8F8E54EF2F4EFD5C24168B6F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EABCCB68E6A2BBB987A399BFD86D347357BBE35C7B848F19697EBEFF7CEB9648E5CEFFE36B2335333BD7F278F4F32ED7F2CCF6ECDE1BA9997523EDAFD4C7FEE4572395E9EB68E6FAFF1809A07F4A4730A7F6B41BBEDCE7E227BD3B5299731F7B5DA466C6EF7E2852B9576F7A4EA4EE5EB8F11B91DA79EF8D67442A73C1D99B22CDEFE80D1B22D5FBCB477D3A128BC537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029F5713473795B681AF0A61E8E66FED2F90B8F666EDF311BA9CCEA91082DDD7BFF58A4EE5EFDE66B2295DB333115A999C181C148A5DA3F2C66A6672235D376D873726A3A5233478DB4FFECE2DAB7BF225299D1E1B2F3AC1ACD5CFB924800E54AC72FF79B2C1CC1BCE429ED862FF739F7F4B2F1CB7FF5C003111AAA188EBEE8336747EA6EF3EEB591DAD9B8A1DDB8E72F3EF18648F31B1B7D4AA47A1F7BE45F459A47CD3BF08ADBA84882CBE89B190000202565060000484999010000525266000080943A97FB070016DD2D3DFC07007EF9BC85FF01809DBBDBFD0300AB8622B4F4DB6FF9EB48DD7DFE6BF7452AB76EB4EC1734675ADEBB27F64E442A37375DF68F148CAC6AF74BA75B778C476AE684A3DAFF2B0F7F7BD92B239519192CFC07002EACF8070056FB070060D9A9F805E2E9B9B217B6A9F1B25FE4DFEF92A7BE2752333FBFF11391CA8DDDB1335299B7DEF0B448CDDCB6EDB848E57EE68C2F47EAEE6F6E3F3D523BB32DEF1F17FED02723CDEFAE353F15A9DEF547BF2DD23CFAF54BFC35FC03000000008B43990100005252660000809494190000202565060000484999010000525266000080949419000020A5CEE55F6A3F9A59B285936299B366DC67EED0D7F096F7BD2152BD5FE9329AB977722652996FDEB93D523BBFF6FB5746EA6EF5E8AA48E5661738CEF3693B7EF9AD2DED8FC7DBCE7F51A4664E3EE19848657EF4D72F8BD4CC238F1E8D54EEFAF7FD46A4327D1DCD1CEDDDC819B0344CAF68372ABCCFD49EB211CC379FF9AE48655EFEB88507180F367BEF8391CABDF293E7442AF3B2336E8ED4CC2356EF8A54EEBC4D3F10A9BB379DFDA948ED6CBAFFA448657E64E36D91E677F729BD7BDFF6F59197454ACA68260000C0E250660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3CE8AD1CCFE29B8889D3E2DF41C64A173BDE5BDAF8F54EF95E72F3C9A393DD16E34F3239BBE1EA99D0BDEF97791BA3B767DFBF1C6C9C9A948CD6C7EA0DD38D9EB5EF1DC48E57EFA9CA7445A5CD7DF707BA4667EF3A2AB2295FBC295BF15A9CCE850D9E72555A399234633A17FCADE3AB41DBF9CDAB33B52B9FFF1B4F7446AE6E736367F1D3BD0E65BF7466A66C74CFB21D0BFFCC6E32395199B5C19A999373EFFDA48E5AEB9E1CC48DDED9A2BBB5C077BF9D3FF295299E9A9E322CDEFEA633F17A9DE9EC113222D21250FDFC3F3B6BA886F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052AA1BCD2C1AD2A9D9E66C7E4635DB3E8B75097B399AF95F7EF7C248F31B1F9B8C54E69A4DB7466AE74D975D17A9BBE38E5A1DA9DCE62DDB2235F32B3FFEB448657EFD67CF8E546E6EA0EC5E38D7F28E375878C24F7FF18E48E5CE3EF33191CA948E66FE51CD68E6CA1747021AA978C19C9E2B1B7E9C1A6F377EF996A7BF2B52B9979DFE8F911ADA7A5F8432776E3B365233AFD9F4C391CAFDEEB33E15A9CC476FDB18A999FBC7D6462AB77EF544A4EE7EF1A937446AE7D4A376442A73F3E82F459ADFE7D65E1C890C7C33030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052DD68669FD40C61F6CB4207F1ABEFEBDD68E66BDEB4F090D3B69DCDC7AA0EF4C55BB7446AE7E5AFFF60A4EE8E5EB32A52B9CE74D9F5FBE8DB7F355299A347CB06E10E34315BF6906A7BFF1EE8949D72A8E681D4F2B4FD1CCDFCD0F08B22014D4CAF68FF3C375D3882F99667B41BBF7CD9C64D91CA8DDD5136A878ED1DA7472AF392277C295233175DFFEC48E5DEFFD5332295B9E2C7AE89D4CC75F7B41B4ADEE7AC53EF8DD4DD59A7DC19A99D5D03A7452AF3D7EB171EFADE3B5036849A4FC98B7A7F6A42A7E2DDBE6F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EABCA36234B366836FB11CAE05D0858E452F47337FE782854733774EB43B02E3139391DA79C51BAE8AD4DDA64FDD12A9DC539F7A6AA4663E70C9CF452A34D0FEDE3D3DD39FD1CCD2D3555CA5159DC281CEFD560F977D5E52359A3964349365AAD3FE956D7AEED0C398A5C39707FA8367968D60FEECE9D7472A3373DFD648E5E60666223573F167CF8E5466D3DDA7446AE6A5FFEEE648E5BEEFC47B2295B9ECC627476AE60F9EF7F1482D0CCC46E86E62E0B848ED7C62FD072295D9327866241657C97B87F6CF73BE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A97359C56866898ABDBEA2199D7E9DCFC1163ADFAFF57034F3BC6EA3997B23145A35D87CE46A3E0F6C6B7EC66F78EB5F472A77CDDFDF14A999173DE78991CAFCC27F382B52B98D8F2E1B016BBB87D772C7B295B6E7353A54F67949D568E6E04F4682E5657AC5A1872FBB9919DF15E9E1FEE759EF8E54EEA51B3F1DA999E97BDA8D5F0E543CD1750A9F5C3BC35391CABCF61F9E13A9998181F6EF362EF8C1BF8B54A8F038CE0DB4FFAC7BD7AAE6E3D69F5AFBB648ED7C6BF0E991589A4AEE77ED1F17BE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A973D90DFD19CDEC979A1DC1C53A10B7FE79EF4633DF78E1C2A399932DB72F6B5BED6CC1C19B989A89546E66B6EC0A16FEF59E28DD789B5B568FC0EF34325C76302EFEBDF32395FBD080D14CFAADF983B76EF8722C52B93FFCBE77457AB89F3EFDFF442A377D6FD908E640DB57D83EAE03775A8E597686CB5ED3DEFAC5F6438F3FF6B8AF472A73E2716597F1EB232F8D54EE4BA3AF8ED4DDDECE8648CBD942F7E19A3700FD796CF4EF11D89E6F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EAFC69C568E6521CD2A9991F5A2CB7FFCD9F46AA37FDD03D9160F9D9BBE6C448E5AE9BFDF791A03F660B3E0FEC4CEE8E54EEF54FFE40A4723FB9F1F3911E6EFABE6D91CA0D14BE01986BF9D9E95C673052B999CE50A466A607D7442A33397454A466768D9C12A9DCE6E167452A73DFF0B323353336785224EA19CD5C6CBE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A96A34B35F4A067B0ED7955932A34219D68DAA945EC1257FF74EA25F772CB7571BFD7A8EECD7F9ECD3A9BACB159C78AE4F47A4EAFA2C076D8F733F0F9CCBD87FD5CF14F167A985CFB7D3C3E3557B0D0F6DF1FECB07EAE5B1582CBE99010000525266000080949419000020256506000048499901000052526600008094941900002025650600004869D98D6656A938A38576D7EAC6DF0EB258B7D6D2DF44E2B0EAD71D64C93F1D1559920FABAA0B5570E2AA31CA4A254FBAFD1ACDAC527119173A1619AE7A8AE784D2837138AE53DF6EB06F2BB97EFDBC5C07EA7619FB73B96ACE65AEEA7ED4FC9C0FD72D54C237330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029F56D34B36ADA27C1624FDF4633BB68BBFF96E118E7517A30FBF210E43028BB27543C083B25F7A1F6E75332D25674917A6D293EA1D51C8FC5BA3A4BF1323DCCE1BC2335557A300EC7755A828F89C3AADB6DD09FE3E5563950FBC7856F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EA5CFAC5FE8C66D60C03955C40E38F7C2777887FD3FEA19EE3282E7429DB5FF7B98A2BDF293872258394072B399F1A45A3997DBA4CF5DA1FF7A23B4796C3B1E454DC3ECBF2A0B73D1EFD3B1625E75473EB66B134EF852547BEE21A149DB4FDBDC137330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000009AD58F1FF0017CD20EC694295D90000000049454E44AE426082); + +INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`, `regular_expression_rule`) VALUES + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":1},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":12,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (13, 1, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 1, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (14, 1, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 1, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (15, 2, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (16, 2, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (17, 2, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (18, 2, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (19, 2, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (20, 2, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (21, 2, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (22, 2, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":27,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":12,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":26,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (23, 2, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (24, 2, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (25, 2, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (26, 2, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (27, 2, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (28, 2, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (29, 2, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 0, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":27,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":14,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"id\\"}]"}]', 0, NULL), + (30, 2, '业务区域设计', '业务区域设计', 'ref', 'business_zone_design', 'varchar', 15, 28, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":28},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":487,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":27,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":14,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (31, 3, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (32, 3, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (33, 3, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (34, 3, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (35, 3, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (36, 3, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (37, 3, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (38, 3, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":3},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":43,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":22,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":3},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":42,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (39, 3, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (40, 3, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (41, 3, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (42, 3, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (43, 3, '子系统设计', '系统', 'ref', 'subsys_design', 'varchar', 15, 2, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (44, 3, '单元设计类型', '单元设计类型', 'select', 'unit_design_type', 'int', 15, 21, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (45, 3, '资源集合设计', '资源集合设计', 'ref', 'resource_set_design', 'varchar', 15, 29, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":29},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":500,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":474,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":3},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":43,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":30,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":474,\\"isReferedFromParent\\":1}}]"}}]', 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (46, 3, '名称', '单元名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (47, 3, '跨资源集合部署', '跨资源集合部署', 'select', 'across_resource_set', 'int', 15, 35, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (48, 4, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (49, 4, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (50, 4, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (51, 4, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (52, 4, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (53, 4, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (54, 4, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (55, 4, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":4},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":60,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":38,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":4},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":59,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (56, 4, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (57, 4, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (58, 4, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (59, 4, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (60, 4, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (61, 4, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (62, 4, '集群类型', '集群类型', 'select', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (63, 4, '服务类型', '服务类型', 'select', 'service_type', 'int', 15, 28, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (64, 5, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (65, 5, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (66, 5, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (67, 5, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (68, 5, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (69, 5, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (70, 5, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (71, 5, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":5},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":76,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":38,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-invoke-"},{"type":"rule","value":"[{\\"ciTypeId\\":5},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":77,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":55,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (72, 5, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (73, 5, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (74, 5, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (75, 5, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (76, 5, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (77, 5, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '依赖', 31, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (78, 5, '调用类型', '调用类型', 'select', 'invoke_type', 'int', 15, 29, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (79, 6, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (80, 6, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (81, 6, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (82, 6, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (83, 6, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (84, 6, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (85, 6, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (86, 6, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":6},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":91,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":8,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_seq_"},{"type":"rule","value":"[{\\"ciTypeId\\":6},{\\"ciTypeId\\":6,\\"parentRs\\":{\\"attrId\\":90,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (87, 6, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (88, 6, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (89, 6, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (90, 6, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (91, 6, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (92, 6, '名称', '时序名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (93, 6, '调用设计序列', '调用设计序列', 'multiRef', 'invoke_design_sequence', 'varchar', 15, 5, '依赖', 31, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (94, 7, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (95, 7, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (96, 7, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (97, 7, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (98, 7, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (99, 7, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (100, 7, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (101, 7, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":7},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":106,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":8,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":7},{\\"ciTypeId\\":7,\\"parentRs\\":{\\"attrId\\":107,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"code\\"}]"}]', 0, NULL), + (102, 7, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (103, 7, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (104, 7, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (105, 7, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":7},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":106,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":12,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":7},{\\"ciTypeId\\":7,\\"parentRs\\":{\\"attrId\\":107,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"code\\"}]"}]', 0, NULL), + (106, 7, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '实现', 33, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (107, 7, '部署环境', '部署环境', 'select', 'deploy_environment', 'int', 15, 24, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0, NULL), + (108, 8, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (109, 8, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (110, 8, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (111, 8, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (112, 8, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (113, 8, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (114, 8, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (115, 8, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":8},{\\"ciTypeId\\":7,\\"parentRs\\":{\\"attrId\\":120,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":7,\\"parentRs\\":{\\"attrId\\":101,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":8},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":121,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":26,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (116, 8, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (117, 8, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (118, 8, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (119, 8, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (120, 8, '系统', '系统', 'ref', 'system', 'varchar', 15, 7, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (121, 8, '子系统设计', '子系统设计', 'ref', 'subsys_design', 'varchar', 15, 2, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":27,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":1,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":8},{\\"ciTypeId\\":7,\\"parentRs\\":{\\"attrId\\":120,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":106,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":1,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (122, 8, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (123, 8, '业务区域', '业务区域', 'multiRef', 'business_zone', 'varchar', 15, 21, '关联', 32, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (124, 9, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (125, 9, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (126, 9, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (127, 9, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (128, 9, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (129, 9, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (130, 9, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (131, 9, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":136,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":115,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":42,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (132, 9, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (133, 9, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (134, 9, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (135, 9, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (136, 9, '子系统', '子系统', 'ref', 'subsys', 'varchar', 15, 8, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (137, 9, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":3},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":43,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":15,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":136,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":121,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":15,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (138, 9, '单元类型', '单元类型', 'multiSelect', 'unit_type', 'int', 1000, 22, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":138,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"groupCodeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":44,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (139, 9, '部署包', '部署包', 'multiRef', 'deploy_package', 'varchar', 1000, 12, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":179,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":191,\\"isReferedFromParent\\":0}},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":179,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (140, 9, '资源集', '资源集', 'multiRef', 'resource_set', 'varchar', 1000, 22, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":488,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":45,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":488,\\"isReferedFromParent\\":1}}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (141, 9, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (142, 10, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (143, 10, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (144, 10, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (145, 10, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (146, 10, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (147, 10, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (148, 10, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (149, 10, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":154,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":131,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":155,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":59,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (150, 10, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (151, 10, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (152, 10, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (153, 10, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (154, 10, '单元', '单元', 'ref', 'unit', 'varchar', 15, 9, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (155, 10, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":4},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":60,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":31,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":154,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":31,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (156, 10, '服务类型', '服务类型', 'select', 'service_type', 'int', 15, 28, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, NULL, 0, NULL), + (157, 10, '集群类型', '集群类型', 'select', 'cluster_type', 'int', 15, 30, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":10,\\"parentRs\\":{\\"attrId\\":157,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":154,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":140,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":395,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (158, 10, '域名域', '域名域', 'select', 'service_dns_domain', 'int', 15, 36, NULL, NULL, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (159, 10, '域名名', '域名名', 'text', 'dns_name', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (160, 10, '服务IP', '服务IP', 'ref', 'service_ip', 'varchar', 15, 17, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":310,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":154,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":140,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":396,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]"}}]', 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (161, 10, '服务端口', '服务端口', 'text', 'service_port', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (162, 10, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (163, 11, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (164, 11, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (165, 11, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (166, 11, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (167, 11, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (168, 11, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (169, 11, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (170, 11, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":11},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":175,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":131,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-invoke-"},{"type":"rule","value":"[{\\"ciTypeId\\":11},{\\"ciTypeId\\":10,\\"parentRs\\":{\\"attrId\\":176,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":10,\\"parentRs\\":{\\"attrId\\":149,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (171, 11, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (172, 11, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (173, 11, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (174, 11, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (175, 11, '单元', '单元', 'ref', 'unit', 'varchar', 15, 9, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (176, 11, '服务', '服务', 'ref', 'service', 'varchar', 15, 10, '依赖', 31, '[{"filter_1":{"left":"[{\\"ciTypeId\\":10},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":155,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":48,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":11},{\\"ciTypeId\\":5,\\"parentRs\\":{\\"attrId\\":177,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":77,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":4,\\"parentRs\\":{\\"attrId\\":48,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (177, 11, '调用设计', '调用设计', 'ref', 'invoke_design', 'varchar', 15, 5, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":5},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":76,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":31,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":11},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":175,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":31,\\"isReferedFromParent\\":1}}]"}}]', 6, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (178, 11, '调用类型', '调用类型', 'select', 'invoke_type', 'int', 15, 29, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (179, 12, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (180, 12, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (181, 12, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (182, 12, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (183, 12, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (184, 12, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (185, 12, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (186, 12, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":192,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (187, 12, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (188, 12, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (189, 12, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (190, 12, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":192,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (191, 12, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '关联', 32, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (192, 12, '包名称', '包名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (193, 12, 'MD5值', 'MD5值', 'text', 'md5_value', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (194, 12, '上传时间', '上传时间', 'date', 'upload_time', 'datetime', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (195, 12, '上传人', '上传人', 'text', 'upload_user', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (196, 12, '部署包地址', '存储路径', 'text', 'deploy_package_url', 'varchar', 200, NULL, NULL, NULL, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (197, 12, '部署用户', '部署用户', 'ref', 'deploy_user', 'varchar', 15, 13, '依赖', 31, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (198, 12, '部署路径', '部署路径', 'text', 'deploy_path', 'varchar', 200, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (199, 12, '部署脚本文件', '执行部署脚本文件', 'text', 'deploy_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (200, 12, '启动脚步文件', '启动脚步文件', 'text', 'start_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (201, 12, '停止脚步文件', '停止脚步文件', 'text', 'stop_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 14, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (202, 12, '差异配置文件', '差异配置文件', 'text', 'diff_conf_file', 'varchar', 200, NULL, NULL, NULL, NULL, 15, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (203, 12, '差异配置变量', '差异配置变量', 'multiSelect', 'diff_conf_variable', 'int', 15, 31, NULL, NULL, NULL, 16, 1, 16, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (204, 12, '绝对部署脚本文件', '执行部署脚本文件', 'text', 'absolute_deploy_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 17, 1, 17, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":198,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":199,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (205, 12, '绝对启动脚步文件', '启动脚步文件', 'text', 'absolute_start_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 18, 1, 18, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":198,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":200,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (206, 12, '绝对停止脚步文件', '停止脚步文件', 'text', 'absolute_stop_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 19, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":198,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":201,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (207, 13, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (208, 13, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (209, 13, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (210, 13, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (211, 13, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (212, 13, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (213, 13, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (214, 13, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":13},{\\"ciTypeId\\":13,\\"parentRs\\":{\\"attrId\\":219,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0, NULL), + (215, 13, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (216, 13, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (217, 13, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (218, 13, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":13},{\\"ciTypeId\\":13,\\"parentRs\\":{\\"attrId\\":219,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (219, 13, '用户名', '用户名', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (220, 13, '用户ID', '用户ID', 'text', 'user_id', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (221, 13, '用户组名', '用户组名', 'text', 'group_name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (222, 13, '用户组ID', '用户组ID', 'text', 'group_id', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (223, 13, 'home目录', 'home目录', 'text', 'home_path', 'varchar', 200, NULL, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (224, 14, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (225, 14, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (226, 14, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (227, 14, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (228, 14, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (229, 14, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (230, 14, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (231, 14, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":236,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":131,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":14,\\"parentRs\\":{\\"attrId\\":235,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (232, 14, '状态', '状态', 'select', 'state', 'int', 15, 9, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (233, 14, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (234, 14, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (235, 14, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (236, 14, '单元', '单元', 'ref', 'unit', 'varchar', 15, 9, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (237, 14, '单元类型', '单元类型', 'select', 'unit_type', 'int', 15, 22, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":14,\\"parentRs\\":{\\"attrId\\":237,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":236,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":138,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, '', 0, NULL), + (238, 14, '资源实例', '资源实例', 'ref', 'resource_instance', 'varchar', 15, 15, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":258,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":379,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":236,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":140,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":379,\\"isReferedFromParent\\":1}}]"}}]', 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (239, 14, '端口', '端口', 'text', 'port', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (240, 14, 'CPU(核)', 'CPU(核)', 'text', 'cpu', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (241, 14, '内存(GB)', '内存(GB)', 'text', 'memory', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (242, 14, '存储空间(GB)', '存储空间(GB)', 'text', 'storage', 'int', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (243, 14, '部署包', '部署包', 'ref', 'deploy_package', 'varchar', 15, 12, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":179,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":14},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":236,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":139,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":179,\\"isReferedFromParent\\":1}}]"}}]', 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (244, 14, '部署包地址', '部署包路径', 'text', 'deploy_package_url', 'varchar', 200, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (245, 14, '部署用户密码', '部署用户密码', 'text', 'deploy_user_password', 'varchar', 200, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (246, 15, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (247, 15, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (248, 15, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (249, 15, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (250, 15, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (251, 15, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (252, 15, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (253, 15, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":257,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":265,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":306,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (254, 15, '状态', '状态', 'select', 'state', 'int', 15, 9, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (255, 15, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (256, 15, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (257, 15, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (258, 15, '资源集合', '资源集合', 'ref', 'resource_set', 'varchar', 15, 22, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (259, 15, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (260, 15, '单元类型', '单元类型', 'select', 'unit_type', 'int', 15, 22, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":260,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"groupCodeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":258,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":501,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (261, 15, '资源实例类型', '资源实例类型', 'select', 'resource_instance_type', 'int', 15, 38, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":261,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"groupCodeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":501,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (262, 15, '资源系统', '资源系统', 'select', 'resource_system', 'int', 15, 39, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":262,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"groupCodeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":258,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":501,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (263, 15, '资源实例规格', '资源实例规格', 'select', 'resource_instance_spec', 'int', 15, 40, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":263,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"groupCodeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":258,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":501,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (264, 15, '集群节点类型', '集群节点类型', 'select', 'cluster_node_type', 'int', 15, 41, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":264,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"groupCodeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":258,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":395,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (265, 15, '内网IP', '内网IP', 'ref', 'intranet_ip', 'varchar', 15, 17, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":310,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":258,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":396,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]"},"filter_2":{"left":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":307,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"code\\"}]","operator":"in","right":["intranet"]}}]', 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (266, 15, '外网IP', '外网IP', 'ref', 'internet_ip', 'varchar', 15, 17, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":310,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":15},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":258,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":577,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]"}}]', 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (267, 15, 'CPU(核)', 'CPU(核)', 'text', 'cpu', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (268, 15, '内存(GB)', '内存(GB)', 'text', 'memory', 'varchar', 50, NULL, NULL, NULL, NULL, 14, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (269, 15, '存储空间(GB)', '存储空间(GB)', 'text', 'storage', 'varchar', 50, NULL, NULL, NULL, NULL, 15, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (270, 15, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 25, NULL, NULL, NULL, 16, 1, 16, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (271, 15, '截止日期', '截止时间,包年包月时必须给出', 'date', 'end_date', 'datetime', 1, 24, NULL, NULL, NULL, 17, 1, 17, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (272, 15, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 18, 1, 18, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (273, 15, '用户名', '管理员用户名', 'text', 'user_name', 'varchar', 50, NULL, NULL, NULL, NULL, 19, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (274, 15, '用户密码', '管理员用户密码', 'text', 'user_password', 'varchar', 200, NULL, NULL, NULL, NULL, 20, 1, 20, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (275, 16, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (276, 16, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (277, 16, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (278, 16, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (279, 16, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (280, 16, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (281, 16, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (282, 16, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":16},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":287,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":253,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":16},{\\"ciTypeId\\":16,\\"parentRs\\":{\\"attrId\\":289,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (283, 16, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (284, 16, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (285, 16, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (286, 16, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":16},{\\"ciTypeId\\":16,\\"parentRs\\":{\\"attrId\\":289,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (287, 16, '资源实例', '资源实例', 'ref', 'resource_instance', 'varchar', 15, 15, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (288, 16, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (289, 16, '挂载点', '挂载点', 'text', 'mount_point', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (290, 16, '块存储类型', '块存储类型', 'select', 'block_storage_type', 'int', 15, 42, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (291, 16, '容量(GB)', '容量(GB)', 'number', 'disk_size', 'int', 15, NULL, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (292, 16, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 25, NULL, NULL, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":16},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":287,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":15,\\"parentRs\\":{\\"attrId\\":270,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"id\\"}]"}]', 0, NULL), + (293, 16, '截止日期', '截止时间,包年包月时必须给出', 'date', 'end_date', 'datetime', 1, NULL, NULL, NULL, NULL, 10, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (294, 16, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (295, 17, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (296, 17, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (297, 17, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (298, 17, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (299, 17, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (300, 17, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (301, 17, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (302, 17, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":306,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\\"ciTypeId\\":17},{\\"ciTypeId\\":17,\\"parentRs\\":{\\"attrId\\":308,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"value\\"}]"}]', 0, NULL), + (303, 17, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (304, 17, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (305, 17, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (306, 17, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (307, 17, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (308, 17, 'IP用途', 'IP用途', 'select', 'ip_address_usage', 'int', 15, 43, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (309, 17, '使用记录', '使用记录', 'textArea', 'used_record', 'varchar', 1000, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, NULL, 0, NULL), + (310, 17, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '属于', 29, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (311, 18, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (312, 18, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (313, 18, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (314, 18, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (315, 18, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (316, 18, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (317, 18, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (318, 18, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":18},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":323,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":439,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":18},{\\"ciTypeId\\":18,\\"parentRs\\":{\\"attrId\\":322,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (319, 18, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (320, 18, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (321, 18, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (322, 18, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (323, 18, '数据中心设计', '数据中心设计', 'ref', 'data_center_design', 'varchar', 15, 25, '实现', 33, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (324, 18, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (325, 18, '部署环境', '部署环境', 'select', 'deploy_environment', 'int', 15, 24, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (326, 18, '认证参数', '认证参数', 'select', 'auth_parameter', 'int', 15, 44, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (327, 19, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (328, 19, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (329, 19, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (330, 19, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (331, 19, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (332, 19, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (333, 19, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (334, 19, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":18,\\"parentRs\\":{\\"attrId\\":339,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":18,\\"parentRs\\":{\\"attrId\\":318,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":340,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":456,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (335, 19, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (336, 19, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (337, 19, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (338, 19, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":340,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":456,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (339, 19, '数据中心', '数据中心', 'ref', 'data_center', 'varchar', 15, 18, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (340, 19, '网络区域设计', '安全区域设计', 'ref', 'network_zone_design', 'varchar', 15, 26, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":26},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":457,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":432,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":18,\\"parentRs\\":{\\"attrId\\":339,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":323,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":432,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (341, 19, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (342, 19, '网络区域层级', '网络区域层级', 'select', 'network_zone_layer', 'int', 15, 27, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, NULL, 0, NULL), + (343, 19, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":574,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":340,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":581,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]"},"filter_2":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":415,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":18,\\"parentRs\\":{\\"attrId\\":339,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":578,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]"}}]', 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (344, 19, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (345, 20, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (346, 20, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (347, 20, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (348, 20, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (349, 20, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (350, 20, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (351, 20, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (352, 20, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":357,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":334,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-link-"},{"type":"rule","value":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":358,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":334,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (353, 20, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (354, 20, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (355, 20, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (356, 20, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (357, 20, '网络区域1', '网络区域1', 'ref', 'network_zone_1', 'varchar', 15, 19, '关联', 32, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (358, 20, '网络区域2', '网络区域2', 'ref', 'network_zone_2', 'varchar', 15, 19, '关联', 32, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (359, 20, '网络区域连接设计', '网络区域连接设计', 'ref', 'network_zone_link_design', 'varchar', 15, 27, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":27},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":471,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":445,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":357,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":340,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":445,\\"isReferedFromParent\\":1}}]"},"filter_2":{"left":"[{\\"ciTypeId\\":27},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":472,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":445,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":358,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":340,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":445,\\"isReferedFromParent\\":1}}]"}}]', 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (360, 20, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (361, 20, '网络连接类型', '网络连接类型', 'select', 'network_zone_link_type', 'int', 15, 34, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":359,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":473,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"id\\"}]"}]', 0, NULL), + (362, 20, '网络带宽(M)', '网络带宽(M)', 'text', 'netband_width', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (363, 20, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (364, 21, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (365, 21, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (366, 21, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (367, 21, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (368, 21, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (369, 21, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (370, 21, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (371, 21, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":21},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":376,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":334,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":21},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":375,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (372, 21, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (373, 21, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (374, 21, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (375, 21, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (376, 21, '网络区域', '网络区域', 'ref', 'network_zone', 'varchar', 15, 19, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (377, 21, '业务区域设计', '业务区域设计', 'ref', 'dcn_design', 'varchar', 15, 28, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":28},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":486,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":445,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":21},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":376,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":340,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":445,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (378, 21, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (379, 22, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (380, 22, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (381, 22, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (382, 22, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (383, 22, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (384, 22, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (385, 22, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (386, 22, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":391,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":371,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":390,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (387, 22, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (388, 22, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (389, 22, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (390, 22, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (391, 22, '业务区域', '业务区域', 'ref', 'business_zone', 'varchar', 15, 21, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (392, 22, '资源集合设计', '资源集合设计', 'ref', 'resource_set_design', 'varchar', 15, 29, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":29},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":500,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":474,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":391,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":377,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":474,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (393, 22, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (394, 22, '部署环境', '部署环境', 'multiSelect', 'deploy_environment', 'int', 1000, 24, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":394,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":391,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":376,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":18,\\"parentRs\\":{\\"attrId\\":339,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":18,\\"parentRs\\":{\\"attrId\\":325,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (395, 22, '集群类型', '集群类型', 'select', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0, NULL), + (396, 22, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":574,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":583,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]"},"filter_2":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":415,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":21,\\"parentRs\\":{\\"attrId\\":391,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":579,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]"}}]', 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (397, 22, '路由表资产编码', '路由表资产编码', 'text', 'routing_table_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (398, 22, '子网资产编码', '子网资产编码', 'text', 'subnet_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (399, 23, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (400, 23, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (401, 23, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (402, 23, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (403, 23, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (404, 23, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (405, 23, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (406, 23, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":410,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (407, 23, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (408, 23, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (409, 23, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (410, 23, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (411, 23, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (412, 23, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (413, 23, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (414, 23, '网关IP地址', '网关IP地址', 'text', 'gateway_ip', 'varchar', 15, 17, 'NULL', 0, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (415, 23, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 23, '属于', 29, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (416, 24, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (417, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (418, 24, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (419, 24, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (420, 24, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (421, 24, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (422, 24, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (423, 24, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":24},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":428,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":386,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-to-"},{"type":"rule","value":"[{\\"ciTypeId\\":24},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":429,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":410,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-go-"},{"type":"rule","value":"[{\\"ciTypeId\\":24},{\\"ciTypeId\\":20,\\"parentRs\\":{\\"attrId\\":430,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":20,\\"parentRs\\":{\\"attrId\\":352,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (424, 24, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (425, 24, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (426, 24, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (427, 24, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (428, 24, '资源集合', '资源集合', 'ref', 'resource_set', 'varchar', 15, 22, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (429, 24, '目标网段', '目标网段', 'ref', 'dest_network_segment', 'varchar', 15, 23, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":574,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":24},{\\"ciTypeId\\":31,\\"parentRs\\":{\\"attrId\\":575,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":532,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]"}}]', 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (430, 24, '网络区域连接', '网络区域连接', 'ref', 'network_zone_link_design', 'varchar', 15, 20, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":359,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":459,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":24},{\\"ciTypeId\\":31,\\"parentRs\\":{\\"attrId\\":575,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":533,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":459,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (431, 24, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (432, 25, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (433, 25, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (434, 25, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (435, 25, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (436, 25, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (437, 25, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (438, 25, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (439, 25, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":25},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":443,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (440, 25, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (441, 25, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (442, 25, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (443, 25, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (444, 25, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (445, 26, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (446, 26, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (447, 26, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (448, 26, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (449, 26, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (450, 26, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (451, 26, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (452, 26, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":26},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":457,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":439,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":26},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":456,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (453, 26, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (454, 26, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (455, 26, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (456, 26, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (457, 26, '数据中心设计', '数据中心设计', 'ref', 'data_center_design', 'varchar', 15, 25, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (458, 26, '网络区域层级', '网络区域层级', 'select', 'network_zone_layer', 'int', 15, 27, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (459, 27, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (460, 27, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (461, 27, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (462, 27, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (463, 27, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (464, 27, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (465, 27, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (466, 27, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":27},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":471,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":452,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-link-"},{"type":"rule","value":"[{\\"ciTypeId\\":27},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":472,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":452,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (467, 27, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (468, 27, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (469, 27, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (470, 27, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (471, 27, '网络区域设计1', '网络区域设计1', 'ref', 'network_zone_design_1', 'varchar', 15, 26, '关联', 32, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (472, 27, '网络区域设计2', '网络区域设计2', 'ref', 'network_zone_design_2', 'varchar', 15, 26, '关联', 32, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (473, 27, '网络连接类型', '网络连接类型', 'select', 'network_zone_link_type', 'int', 15, 34, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (474, 28, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (475, 28, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (476, 28, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (477, 28, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (478, 28, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (479, 28, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (480, 28, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (481, 28, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":28},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":486,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":452,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":28},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":485,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (482, 28, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (483, 28, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (484, 28, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (485, 28, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (486, 28, '网络区域设计', '安全区域设计', 'ref', 'zone_design', 'varchar', 15, 26, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (487, 28, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (488, 29, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (489, 29, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (490, 29, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (491, 29, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (492, 29, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (493, 29, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (494, 29, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (495, 29, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":29},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":500,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":481,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\\"ciTypeId\\":29},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":499,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (496, 29, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (497, 29, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (498, 29, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (499, 29, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (500, 29, '业务区域设计', '业务区域设计', 'ref', 'business_zone_design', 'varchar', 15, 28, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (501, 29, '单元设计类型', '单元设计类型', 'select', 'unit_design_type', 'int', 15, 21, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (502, 29, '集群类型', '集群类型', 'multiSelect', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (503, 30, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (504, 30, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (505, 30, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (506, 30, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (507, 30, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (508, 30, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (509, 30, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (510, 30, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":30},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":514,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (511, 30, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (512, 30, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (513, 30, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (514, 30, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (515, 30, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (516, 30, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (517, 30, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (518, 30, '父网段设计', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 30, '属于', 29, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (519, 31, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (520, 31, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (521, 31, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (522, 31, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (523, 31, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (524, 31, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (525, 31, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (526, 31, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":31},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":531,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":495,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-to-"},{"type":"rule","value":"[{\\"ciTypeId\\":31},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":532,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":514,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":"-go-"},{"type":"rule","value":"[{\\"ciTypeId\\":31},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":533,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":466,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), + (527, 31, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (528, 31, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (529, 31, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (530, 31, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (531, 31, '资源集合设计', '资源集合', 'ref', 'resource_set', 'varchar', 15, 29, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (532, 31, '目标网段设计', '目标网段', 'ref', 'dest_network_segment', 'varchar', 15, 30, '关联', 32, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (533, 31, '网络区域连接设计', '网络区域连接', 'ref', 'network_zone_link_design', 'varchar', 15, 27, '关联', 32, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (574, 23, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '实现', 33, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (575, 24, '路由规则设计', '路由规则设计', 'ref', 'routing_rule_design', 'varchar', 15, 31, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":31},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":531,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":488,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":24},{\\"ciTypeId\\":22,\\"parentRs\\":{\\"attrId\\":428,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":488,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (576, 10, '互联网服务IP', '互联网服务IP', 'ref', 'internet_service_ip', 'varchar', 15, 17, '使用', 30, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (577, 22, '互联网网段', '互联网网段', 'ref', 'internet_ip_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":574,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":584,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]"}}]', 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (578, 18, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":574,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":18},{\\"ciTypeId\\":25,\\"parentRs\\":{\\"attrId\\":323,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":580,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (579, 21, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":574,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":21},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":377,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":582,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]"},"filter_2":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":415,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":21},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":376,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":343,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (580, 25, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (581, 26, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (582, 28, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (583, 29, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (584, 29, '互联网网段设计', '互联网网段设计', 'ref', 'internet_network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (585, 9, '安全组资产编码', '安全组资产编码', 'text', 'security_group_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (586, 18, '用户ID', '用户ID', 'text', 'user_id', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (601, 37, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (602, 37, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":1},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":8,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0, NULL), + (603, 37, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (604, 37, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (605, 37, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (606, 37, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (607, 37, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (608, 37, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (609, 37, '编排', '编排', 'select', 'orchestration', 'int', 15, 31, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1, NULL), + (610, 37, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1, NULL), + (611, 37, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (612, 37, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (613, 37, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (614, 37, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL); SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file diff --git a/cmdb-core/src/main/resources/database/ch/04.cmdb.experience.data_ch.sql b/cmdb-core/src/main/resources/database/ch/04.cmdb.experience.data_ch.sql index 09b3fb176..192ce0f14 100644 --- a/cmdb-core/src/main/resources/database/ch/04.cmdb.experience.data_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/04.cmdb.experience.data_ch.sql @@ -46,406 +46,4 @@ INSERT INTO `adm_role_menu` (`id_adm_role_menu`, `id_adm_role`, `id_adm_menu`, ` (62, 6, 20, 0), (63, 6, 23, 0); -INSERT INTO `adm_sequence` (`id_adm_sequence`, `seq_name`, `current_val`, `increment_val`, `length_limitation`, `left_zero_padding`) VALUES - (25, 'system_design', 14, 1, 8, 'N'), - (26, 'subsys_design', 15, 1, 8, 'N'), - (27, 'unit_design', 21, 1, 8, 'N'), - (28, 'IDC_design', 3, 1, 8, 'N'), - (29, 'zone_design', 7, 1, 8, 'N'), - (30, 'DCN_desgin', 8, 1, 8, 'N'), - (31, 'resource_set_design', 11, 1, 8, 'N'), - (32, 'service_design', 7, 1, 8, 'N'), - (33, 'invoke_design', 9, 1, 8, 'N'), - (34, 'subsys', 11, 1, 8, 'N'), - (35, 'IDC', 21, 1, 8, 'N'), - (36, 'zone', 7, 1, 8, 'N'), - (37, 'DCN', 13, 1, 8, 'N'), - (38, 'resource_set', 13, 1, 8, 'N'), - (39, 'zone_link_design', 8, 1, 8, 'N'), - (40, 'zone_link', 9, 1, 8, 'N'), - (41, 'unit', 10, 1, 8, 'N'), - (42, 'package', 15, 1, 8, 'N'), - (43, 'network_segment', 13, 1, 8, 'N'), - (44, 'ip_addr', 82, 1, 8, 'N'), - (45, 'running_instance', 15, 1, 8, 'N'), - (46, 'host', 3503, 1, 8, 'N'), - (47, 'service', 1, 1, 8, 'N'), - (48, 'invoke', 1, 1, 8, 'N'), - (49, 'invoke_sequence_design', 1, 1, 8, 'N'), - (50, 'block_storage', 5, 1, 8, 'N'); - -INSERT INTO `DCN` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `dcn_design`, `name`, `zone`) VALUES - ('0019_0000000001', NULL, '0019_0000000001', 'admin', '2019-07-24 12:26:42', 'admin', '2019-07-24 07:12:44', 'PRD-GZ1-SF-RDCN', 37, NULL, 'RDCN', 'RDCN', NULL, NULL, '0025_0000000001', 'RDCN1', '0017_0000000001'), - ('0019_0000000005', NULL, '0019_0000000005', 'admin', '2019-07-24 12:26:43', 'admin', '2019-07-24 07:30:50', 'PRD-GZ1-DMZ-DMZ', 37, NULL, 'DMZ', 'DMZ', NULL, NULL, '0025_0000000002', 'DMZ', '0017_0000000004'), - ('0019_0000000006', NULL, '0019_0000000006', 'admin', '2019-07-24 12:26:43', 'admin', '2019-07-24 07:31:05', 'PRD-GZ1-ECN-ECN', 37, NULL, 'ECN', 'ECN', NULL, NULL, '0025_0000000003', 'ECN', '0017_0000000002'), - ('0019_0000000007', NULL, '0019_0000000007', 'admin', '2019-07-24 12:26:44', 'admin', '2019-07-24 07:31:19', 'PRD-GZ1-MGMT-MGMT', 37, NULL, 'MGMT', 'MGMT', NULL, NULL, '0025_0000000004', 'MGMT', '0017_0000000003'), - ('0019_0000000008', NULL, '0019_0000000008', 'admin', '2019-07-24 12:26:44', 'admin', '2019-07-24 07:31:51', 'PRD-GZ1-SF-ADM', 37, NULL, 'ADM', 'ADM', NULL, NULL, '0025_0000000005', 'ADM', '0017_0000000001'), - ('0019_0000000011', NULL, '0019_0000000011', 'admin', '2019-07-24 13:04:15', 'admin', '2019-07-24 13:01:58', 'PRD-GZ1-INTERNET-H5', 37, '', 'H5', 'H5客户端', NULL, NULL, '0025_0000000006', 'H5', '0017_0000000006'), - ('0019_0000000012', NULL, '0019_0000000012', 'admin', '2019-07-24 13:03:23', 'admin', '2019-07-24 13:03:22', 'PRD-GZ1-INTRANET-WEB', 37, '', 'WEB', '桌面WEB', NULL, NULL, '0025_0000000008', 'WEB', '0017_0000000007'), - ('0019_0000000013', NULL, '0019_0000000013', 'admin', '2019-07-24 13:03:47', 'admin', '2019-07-24 13:03:47', 'PRD-GZ1-PARTNERNET-API', 37, '', 'API', '合作伙伴API', NULL, NULL, '0025_0000000007', 'API', '0017_0000000005'); - -INSERT INTO `DCN_desgin` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `business_group`, `type`, `zone_design`) VALUES - ('0025_0000000001', NULL, '0025_0000000001', 'admin', '2019-07-23 13:53:18', 'admin', '2019-07-23 13:53:18', 'PRD-SF-RDCN', 34, NULL, 'RDCN', '存款DCN', NULL, NULL, 105, 135, '0023_0000000001'), - ('0025_0000000002', NULL, '0025_0000000002', 'admin', '2019-07-24 07:27:28', 'admin', '2019-07-24 07:27:28', 'PRD-DMZ-DMZ', 34, NULL, 'DMZ', '客户接入', NULL, NULL, 105, 129, '0023_0000000002'), - ('0025_0000000003', NULL, '0025_0000000003', 'admin', '2019-07-24 07:27:56', 'admin', '2019-07-24 07:27:56', 'PRD-ECN-ECN', 34, NULL, 'ECN', '伙伴接入', NULL, NULL, 105, 130, '0023_0000000004'), - ('0025_0000000004', NULL, '0025_0000000004', 'admin', '2019-07-24 07:28:53', 'admin', '2019-07-24 07:28:53', 'PRD-MGMT-MGMT', 34, NULL, 'MGMT', '工具管理', NULL, NULL, 105, 131, '0023_0000000003'), - ('0025_0000000005', NULL, '0025_0000000005', 'admin', '2019-07-24 07:29:43', 'admin', '2019-07-24 07:29:43', 'PRD-SF-ADM', 34, NULL, 'ADM', '核心业务', NULL, NULL, 105, 132, '0023_0000000001'), - ('0025_0000000006', NULL, '0025_0000000006', 'admin', '2019-07-24 10:40:45', 'admin', '2019-07-24 10:40:45', 'PRD-INTERNET-H5', 34, '', 'H5', 'H5客户端', NULL, NULL, 105, 126, '0023_0000000005'), - ('0025_0000000007', NULL, '0025_0000000007', 'admin', '2019-07-24 11:53:24', 'admin', '2019-07-24 10:42:10', 'PRD-PARTNERNET-API', 34, '', 'API', 'API客户端', NULL, NULL, 105, 127, '0023_0000000007'), - ('0025_0000000008', NULL, '0025_0000000008', 'admin', '2019-07-24 11:50:22', 'admin', '2019-07-24 11:50:21', 'PRD-INTRANET-WEB', 34, '', 'WEB', '桌面WEB', NULL, NULL, 105, 126, '0023_0000000006'); - -INSERT INTO `host` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `asset_code`, `charge_type`, `disk`, `instance_num`, `internet_nat_ip`, `intranet_ip`, `name`, `os`, `resource_set`, `type`) VALUES - ('0012_0000000002', NULL, '0012_0000000002', 'admin', '2019-07-25 13:07:00', 'admin', '2019-07-25 12:39:07', 'HOST-07_10.0.16.2', 40, '2019-07-25 21:07:00', 'HOST-07', 'HOST-07', NULL, 'rxeYnnIy2Bv', 'ins-rudnbj7m', 115, 167, 3, '', '0014_0000000002', 'HOST-07', 164, '0020_0000000009', 163), - ('0012_0000000003', NULL, '0012_0000000003', 'admin', '2019-07-25 13:47:00', 'admin', '2019-07-25 13:44:53', 'HOST08_10.0.21.2', 40, '2019-07-25 21:47:00', 'HOST-08', 'HOST-08', NULL, 'rxf8rvAJ2Bi', 'ins-eh5hzypa', 115, 167, 3, '', '0014_0000000021', 'HOST08', 164, '0020_0000000009', 163); - -INSERT INTO `IDC` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `address`, `city`, `env_type`, `idc_design`, `name`, `parameter`, `network_segment`) VALUES - ('0016_0000000001', '0016_0000000004', '0016_0000000001', 'admin', '2019-07-24 14:19:54', 'admin', '2019-07-24 06:57:33', 'PRD-GZ1', 38, NULL, 'GZ1', '生产广州云机房1', NULL, NULL, '', '广州', 109, '0022_0000000001', '生产广州云机房1', 'Region=ap-guangzhou;AvailableZone=ap-guangzhou-3;SecretID=SecretID;SecretKey=SecretKey', '0021_0000000001'), - ('0016_0000000002', '0016_0000000005', '0016_0000000002', 'admin', '2019-07-24 12:11:01', 'admin', '2019-07-24 06:57:58', 'PRD-GZ2', 38, NULL, 'GZ2', '生产广州云机房2', NULL, NULL, '', '广州', NULL, '0022_0000000001', '生产广州云机房2', 'Region=ap-guangzhou;AvailableZone=ap-guangzhou-3;SecretID=SecretID;SecretKey=SecretKey', NULL), - ('0016_0000000003', '0016_0000000006', '0016_0000000003', 'admin', '2019-07-24 12:11:01', 'admin', '2019-07-24 06:58:50', 'STG-SH1', 38, NULL, 'SH1', '测试上海云机房1', NULL, NULL, '', '上海', NULL, '0022_0000000002', '测试上海云机房1', 'Region=ap-shanghai;AvailableZone=ap-shanghai-2;SecretID=SecretID;SecretKey=SecretKey', NULL), - ('0016_0000000004', NULL, '0016_0000000001', 'admin', '2019-07-24 07:32:57', 'admin', '2019-07-24 06:57:33', 'PRD-0016_0000000001', 37, '2019-07-24 15:32:57', '0016_0000000001', '生产广州云机房1', NULL, NULL, '', '广州', NULL, '0022_0000000001', '生产广州云机房1', 'Region=ap-guangzhou;AvailableZone=ap-guangzhou-3;SecretID=SecretID;SecretKey=SecretKey', NULL), - ('0016_0000000005', NULL, '0016_0000000002', 'admin', '2019-07-24 07:32:58', 'admin', '2019-07-24 06:57:58', 'PRD-0016_0000000002', 37, '2019-07-24 15:32:58', '0016_0000000002', '生产广州云机房2', NULL, NULL, '', '广州', NULL, '0022_0000000001', '生产广州云机房2', 'Region=ap-guangzhou;AvailableZone=ap-guangzhou-3;SecretID=SecretID;SecretKey=SecretKey', NULL), - ('0016_0000000006', NULL, '0016_0000000003', 'admin', '2019-07-24 07:32:59', 'admin', '2019-07-24 06:58:50', 'STG-0016_0000000003', 37, '2019-07-24 15:32:59', '0016_0000000003', '测试上海云机房1', NULL, NULL, '', '上海', NULL, '0022_0000000002', '测试上海云机房1', 'Region=ap-shanghai;AvailableZone=ap-shanghai-2;SecretID=SecretID;SecretKey=SecretKey', NULL); - -INSERT INTO `IDC_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `env_type`, `name`) VALUES - ('0022_0000000001', NULL, '0022_0000000001', 'admin', '2019-07-24 07:33:06', 'admin', '2019-07-23 13:52:15', 'PRD', 34, '2019-07-24 15:33:06', 'PRD', '生产机房设计', NULL, NULL, 109, '生产机房设计'), - ('0022_0000000002', NULL, '0022_0000000002', 'admin', '2019-07-24 07:33:06', 'admin', '2019-07-24 06:47:12', 'STG', 34, '2019-07-24 15:33:06', 'STG', '测试机房设计', NULL, NULL, 110, '测试机房设计'); - -INSERT INTO `invoke` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `invoke_design`, `service`, `unit`) VALUES - ('0010_0000000001', NULL, '0010_0000000001', 'admin', '2019-07-24 13:17:21', 'admin', '2019-07-24 13:17:21', 'DEMO-WEB_PRD-APP_sync_invoke_DEMO-WEB_PRD-APP-SER1', 37, '', 'sync_invoke', '页面调用', NULL, NULL, '0005_0000000004', '0009_0000000001', '0008_0000000005'); - -INSERT INTO `invoke_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `service_design`, `type`, `unit_design`) VALUES - ('0005_0000000001', NULL, '0005_0000000001', 'admin', '2019-07-24 08:35:30', 'admin', '2019-07-24 03:51:27', 'EDA-CORE-APP_同步调用_EDA-CORE-DB-RW', 34, '2019-07-24 16:35:30', 'sync_invoke', '访问数据库', NULL, NULL, '0004_0000000002', 152, '0003_0000000002'), - ('0005_0000000002', NULL, '0005_0000000002', 'admin', '2019-07-24 08:35:30', 'admin', '2019-07-24 03:51:49', 'EDP-CONSOLE-APP_同步调用_EDP-CONSOLE-DB-RW', 34, '2019-07-24 16:35:30', 'sync_invoke', '访问数据库', NULL, NULL, '0004_0000000003', 152, '0003_0000000004'), - ('0005_0000000003', NULL, '0005_0000000003', 'admin', '2019-07-24 12:59:17', 'admin', '2019-07-24 12:59:16', 'EDP-CORE-APP_同步调用_ECIF-CORE-APP-QUERY', 34, '', 'sync_invoke', '获取客户信息', NULL, NULL, '0004_0000000005', 152, '0003_0000000002'), - ('0005_0000000004', NULL, '0005_0000000004', 'admin', '2019-07-24 13:18:02', 'admin', '2019-07-24 13:16:13', 'DEMO-WEB-APP_同步调用_DEMO-WEB-APP-SER1', 34, '2019-07-24 21:18:02', 'sync_invoke', '页面调用', NULL, NULL, '0004_0000000006', 152, '0003_0000000011'), - ('0005_0000000005', NULL, '0005_0000000005', 'admin', '2019-07-24 13:46:52', 'admin', '2019-07-24 13:46:52', 'EDP-CLIENT-WEB_同步调用_EDP-PROXY-PROXY-WEB', 34, '', 'sync_invoke', '访问WEB', NULL, NULL, '0004_0000000007', 152, '0003_0000000013'), - ('0005_0000000006', NULL, '0005_0000000006', 'admin', '2019-07-24 16:11:00', 'admin', '2019-07-24 16:11:00', 'EDP-CORE-APP_同步调用_EDP-CONSOLE-APP-SER1', 34, '', 'sync_invoke', '无', NULL, NULL, '0004_0000000004', 152, '0003_0000000002'), - ('0005_0000000007', NULL, '0005_0000000007', 'admin', '2019-07-24 16:11:45', 'admin', '2019-07-24 16:11:45', 'EDP-PROXY-PROXY_同步调用_EDP-CONSOLE-APP-SER1', 34, '', 'sync_invoke', '无', NULL, NULL, '0004_0000000004', 152, '0003_0000000012'), - ('0005_0000000008', NULL, '0005_0000000008', 'admin', '2019-07-25 11:18:35', 'admin', '2019-07-25 11:18:35', 'EDP-ADMCORE-APP_同步调用_EDP-CORE-APP-SER1', 34, '', 'sync_invoke', '访问CORE', NULL, '', '0004_0000000001', 152, '0003_0000000019'), - ('0005_0000000009', NULL, '0005_0000000009', 'admin', '2019-07-25 11:19:07', 'admin', '2019-07-25 11:19:06', 'EDP-ADMBATCH-APP_同步调用_EDP-CORE-APP-SER1', 34, '', 'sync_invoke', '访问CORE', NULL, '', '0004_0000000001', 152, '0003_0000000018'); - -INSERT INTO `invoke_sequence_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `name`, `service_design`) VALUES - ('0006_0000000001', NULL, '0006_0000000001', 'admin', '2019-07-29 03:38:01', 'admin', '2019-07-24 15:13:03', 'EDP-CONSOLE-APP-SER1-MANAGE', 34, '', 'MANAGE', '管理', 223, 'rxA3j9uJ2BD', '管理', '0004_0000000004'); - -INSERT INTO `invoke_sequence_design$invoke_design_sequence` (`id`, `from_guid`, `to_guid`, `seq_no`) VALUES - ('1','0006_0000000001','0005_0000000009',1), - ('2','0006_0000000001','0005_0000000007',3), - ('3','0006_0000000001','0005_0000000008',2), - ('4','0006_0000000001','0005_0000000006',4); - -INSERT INTO `ip_addr` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `network_segment`, `type`, `used_record`) VALUES - ('0014_0000000001', NULL, '0014_0000000001', 'admin', '2019-07-24 11:41:45', 'admin', '2019-07-24 11:40:31', '10.0.16.1/24', 37, '', '10.0.16.1', 'DMZ proxy 网关', NULL, NULL, '0021_0000000006', 172, '0014_0000000001_0014_0000000001_0014_0000000001_10.0.16.0/24_VPC子网网段'), - ('0014_0000000002', NULL, '0014_0000000002', 'admin', '2019-07-24 11:47:11', 'admin', '2019-07-24 11:47:10', '10.0.16.2/24', 37, '', '10.0.16.2', 'DMZ proxy 可用IP', NULL, NULL, '0021_0000000006', 172, '0014_0000000002_0014_0000000002_0014_0000000002_0014_0000000002'), - ('0014_0000000003', NULL, '0014_0000000003', 'admin', '2019-07-24 11:47:43', 'admin', '2019-07-24 11:47:43', '10.0.16.3/24', 37, '', '10.0.16.3', 'DMZ proxy 可用IP', NULL, NULL, '0021_0000000006', 172, '0014_0000000003_0014_0000000003_0014_0000000003_0014_0000000003'), - ('0014_0000000004', NULL, '0014_0000000004', 'admin', '2019-07-24 11:48:08', 'admin', '2019-07-24 11:48:08', '10.0.16.4/24', 37, '', '10.0.16.4', 'DMZ proxy 可用IP', NULL, NULL, '0021_0000000006', 172, '0014_0000000004_0014_0000000004_0014_0000000004_0014_0000000004'), - ('0014_0000000005', NULL, '0014_0000000005', 'admin', '2019-07-24 11:48:34', 'admin', '2019-07-24 11:48:34', '10.0.16.5/24', 37, '', '10.0.16.5', 'DMZ proxy 可用IP', NULL, NULL, '0021_0000000006', 172, '0014_0000000005_0014_0000000005_0014_0000000005_0014_0000000005'), - ('0014_0000000006', NULL, '0014_0000000006', 'admin', '2019-07-24 11:49:03', 'admin', '2019-07-24 11:49:03', '10.0.16.6/24', 37, '', '10.0.16.6', 'DMZ proxy 可用IP', NULL, NULL, '0021_0000000006', 172, '0014_0000000006_0014_0000000006_0014_0000000006_0014_0000000006'), - ('0014_0000000007', NULL, '0014_0000000007', 'admin', '2019-07-24 11:49:25', 'admin', '2019-07-24 11:49:24', '10.0.16.7/24', 37, '', '10.0.16.7', 'DMZ proxy 可用IP', NULL, NULL, '0021_0000000006', 172, '0014_0000000007_0014_0000000007_0014_0000000007_0014_0000000007'), - ('0014_0000000008', NULL, '0014_0000000008', 'admin', '2019-07-24 11:49:42', 'admin', '2019-07-24 11:49:42', '10.0.16.8/24', 37, '', '10.0.16.8', 'DMZ proxy 可用IP', NULL, NULL, '0021_0000000006', 172, '0014_0000000008_0014_0000000008_0014_0000000008_0014_0000000008'), - ('0014_0000000009', NULL, '0014_0000000009', 'admin', '2019-07-24 11:49:59', 'admin', '2019-07-24 11:49:58', '10.0.16.9/24', 37, '', '10.0.16.9', 'DMZ proxy 可用IP', NULL, NULL, '0021_0000000006', 172, '0014_0000000009_0014_0000000009_0014_0000000009_0014_0000000009'), - ('0014_0000000010', NULL, '0014_0000000010', 'admin', '2019-07-24 12:18:57', 'admin', '2019-07-24 11:51:14', '10.0.20.1/24', 37, '', '10.0.20.1', 'MGMT APP网关', NULL, NULL, '0021_0000000007', 172, '0014_0000000010_0014_0000000010_0014_0000000010_10.0.20.0/24_VPC子网网段'), - ('0014_0000000011', NULL, '0014_0000000011', 'admin', '2019-07-24 12:18:57', 'admin', '2019-07-24 11:52:15', '10.0.20.2/24', 37, '', '10.0.20.2', 'MGMT APP 可用IP', NULL, NULL, '0021_0000000007', 172, '0014_0000000011_0014_0000000011_0014_0000000011_0014_0000000011'), - ('0014_0000000012', NULL, '0014_0000000012', 'admin', '2019-07-24 12:18:57', 'admin', '2019-07-24 11:52:36', '10.0.20.3/24', 37, '', '10.0.20.3', 'MGMT APP 可用IP', NULL, NULL, '0021_0000000007', 172, '0014_0000000012_0014_0000000012_0014_0000000012_0014_0000000012'), - ('0014_0000000014', NULL, '0014_0000000014', 'admin', '2019-07-24 12:18:57', 'admin', '2019-07-24 11:53:18', '10.0.20.4/24', 37, '', '10.0.20.4', 'MGMT APP 可用IP', NULL, NULL, '0021_0000000007', 172, '0014_0000000014_0014_0000000014_0014_0000000014_0014_0000000014'), - ('0014_0000000015', NULL, '0014_0000000015', 'admin', '2019-07-24 12:18:57', 'admin', '2019-07-24 11:53:44', '10.0.20.5/24', 37, '', '10.0.20.5', 'MGMT APP 可用IP', NULL, NULL, '0021_0000000007', 172, '0014_0000000015_0014_0000000015_0014_0000000015_0014_0000000015'), - ('0014_0000000016', NULL, '0014_0000000016', 'admin', '2019-07-24 12:18:58', 'admin', '2019-07-24 11:54:19', '10.0.20.6/24', 37, '', '10.0.20.6', 'MGMT APP 可用IP', NULL, NULL, '0021_0000000007', 172, '0014_0000000016_0014_0000000016_0014_0000000016_0014_0000000016'), - ('0014_0000000017', NULL, '0014_0000000017', 'admin', '2019-07-24 12:18:58', 'admin', '2019-07-24 11:54:52', '10.0.20.7/24', 37, '', '10.0.20.7', 'MGMT APP 可用IP', NULL, NULL, '0021_0000000007', 172, '0014_0000000017_0014_0000000017_0014_0000000017_0014_0000000017'), - ('0014_0000000018', NULL, '0014_0000000018', 'admin', '2019-07-24 12:18:58', 'admin', '2019-07-24 11:55:13', '10.0.20.8/24', 37, '', '10.0.20.8', 'MGMT APP 可用IP', NULL, NULL, '0021_0000000007', 172, '0014_0000000018_0014_0000000018_0014_0000000018_0014_0000000018'), - ('0014_0000000019', NULL, '0014_0000000019', 'admin', '2019-07-24 12:18:58', 'admin', '2019-07-24 11:55:29', '10.0.20.9/24', 37, '', '10.0.20.9', 'MGMT APP 可用IP', NULL, NULL, '0021_0000000007', 172, '0014_0000000019_0014_0000000019_0014_0000000019_0014_0000000019'), - ('0014_0000000020', NULL, '0014_0000000020', 'admin', '2019-07-24 12:19:24', 'admin', '2019-07-24 11:56:15', '10.0.21.1/24', 37, '', '10.0.21.1', 'MGMT DB 网关', NULL, NULL, '0021_0000000008', 172, '0014_0000000020_0014_0000000020_0014_0000000020_10.0.21.0/24_VPC子网网段'), - ('0014_0000000021', NULL, '0014_0000000021', 'admin', '2019-07-24 12:19:24', 'admin', '2019-07-24 11:56:44', '10.0.21.2/24', 37, '', '10.0.21.2', 'MGMT DB 可用IP', NULL, NULL, '0021_0000000008', 172, '0014_0000000021_0014_0000000021_0014_0000000021_0014_0000000021'), - ('0014_0000000022', NULL, '0014_0000000022', 'admin', '2019-07-24 12:19:24', 'admin', '2019-07-24 11:57:15', '10.0.21.3/24', 37, '', '10.0.21.3', 'MGMT DB 可用IP', NULL, NULL, '0021_0000000008', 172, '0014_0000000022_0014_0000000022_0014_0000000022_0014_0000000022'), - ('0014_0000000023', NULL, '0014_0000000023', 'admin', '2019-07-24 12:19:24', 'admin', '2019-07-24 11:57:36', '10.0.21.4/24', 37, '', '10.0.21.4', 'MGMT DB 可用IP', NULL, NULL, '0021_0000000008', 172, '0014_0000000023_0014_0000000023_0014_0000000023_0014_0000000023'), - ('0014_0000000024', NULL, '0014_0000000024', 'admin', '2019-07-24 12:19:24', 'admin', '2019-07-24 11:57:55', '10.0.21.5/24', 37, '', '10.0.21.5', 'MGMT DB 可用IP', NULL, NULL, '0021_0000000008', 172, '0014_0000000024_0014_0000000024_0014_0000000024_0014_0000000024'), - ('0014_0000000025', NULL, '0014_0000000025', 'admin', '2019-07-24 12:19:24', 'admin', '2019-07-24 11:58:14', '10.0.21.6/24', 37, '', '10.0.21.6', 'MGMT DB 可用IP', NULL, NULL, '0021_0000000008', 172, '0014_0000000025_0014_0000000025_0014_0000000025_0014_0000000025'), - ('0014_0000000026', NULL, '0014_0000000026', 'admin', '2019-07-24 12:19:24', 'admin', '2019-07-24 11:58:39', '10.0.21.7/24', 37, '', '10.0.21.7', 'MGMT DB 可用IP', NULL, NULL, '0021_0000000008', 172, '0014_0000000026_0014_0000000026_0014_0000000026_0014_0000000026'), - ('0014_0000000027', NULL, '0014_0000000027', 'admin', '2019-07-24 12:19:24', 'admin', '2019-07-24 11:58:53', '10.0.21.8/24', 37, '', '10.0.21.8', 'MGMT DB 可用IP', NULL, NULL, '0021_0000000008', 172, '0014_0000000027_0014_0000000027_0014_0000000027_0014_0000000027'), - ('0014_0000000028', NULL, '0014_0000000028', 'admin', '2019-07-24 12:19:25', 'admin', '2019-07-24 11:59:25', '10.0.21.9/24', 37, '', '10.0.21.9', 'MGMT DB 可用IP', NULL, NULL, '0021_0000000008', 172, '0014_0000000028_0014_0000000028_0014_0000000028_0014_0000000028'), - ('0014_0000000029', NULL, '0014_0000000029', 'admin', '2019-07-24 12:19:26', 'admin', '2019-07-24 12:00:29', '10.0.24.1/24', 37, '', '10.0.24.1', 'ECN PROXY 网关', NULL, NULL, '0021_0000000009', 172, '0014_0000000029_0014_0000000029_0014_0000000029_10.0.24.0/24_VPC子网网段'), - ('0014_0000000030', NULL, '0014_0000000030', 'admin', '2019-07-24 12:19:26', 'admin', '2019-07-24 12:01:01', '10.0.24.2/24', 37, '', '10.0.24.2', 'ECN PROXY 可用IP', NULL, NULL, '0021_0000000009', 172, '0014_0000000030_0014_0000000030_0014_0000000030_0014_0000000030'), - ('0014_0000000031', NULL, '0014_0000000031', 'admin', '2019-07-24 12:19:26', 'admin', '2019-07-24 12:01:24', '10.0.24.3/24', 37, '', '10.0.24.3', 'ECN PROXY 可用IP', NULL, NULL, '0021_0000000009', 172, '0014_0000000031_0014_0000000031_0014_0000000031_0014_0000000031'), - ('0014_0000000032', NULL, '0014_0000000032', 'admin', '2019-07-24 12:19:26', 'admin', '2019-07-24 12:01:38', '10.0.24.4/24', 37, '', '10.0.24.4', 'ECN PROXY 可用IP', NULL, NULL, '0021_0000000009', 172, '0014_0000000032_0014_0000000032_0014_0000000032_0014_0000000032'), - ('0014_0000000033', NULL, '0014_0000000033', 'admin', '2019-07-24 12:19:26', 'admin', '2019-07-24 12:01:55', '10.0.24.5/24', 37, '', '10.0.24.5', 'ECN PROXY 可用IP', NULL, NULL, '0021_0000000009', 172, '0014_0000000033_0014_0000000033_0014_0000000033_0014_0000000033'), - ('0014_0000000034', NULL, '0014_0000000034', 'admin', '2019-07-24 12:19:26', 'admin', '2019-07-24 12:02:14', '10.0.24.6/24', 37, '', '10.0.24.6', 'ECN PROXY 可用IP', NULL, NULL, '0021_0000000009', 172, '0014_0000000034_0014_0000000034_0014_0000000034_0014_0000000034'), - ('0014_0000000035', NULL, '0014_0000000035', 'admin', '2019-07-24 12:19:26', 'admin', '2019-07-24 12:02:31', '10.0.24.7/24', 37, '', '10.0.24.7', 'ECN PROXY 可用IP', NULL, NULL, '0021_0000000009', 172, '0014_0000000035_0014_0000000035_0014_0000000035_0014_0000000035'), - ('0014_0000000036', NULL, '0014_0000000036', 'admin', '2019-07-24 12:19:26', 'admin', '2019-07-24 12:02:54', '10.0.24.8/24', 37, '', '10.0.24.8', 'ECN PROXY 可用IP', NULL, NULL, '0021_0000000009', 172, '0014_0000000036_0014_0000000036_0014_0000000036_0014_0000000036'), - ('0014_0000000037', NULL, '0014_0000000037', 'admin', '2019-07-24 12:19:26', 'admin', '2019-07-24 12:03:12', '10.0.24.9/24', 37, '', '10.0.24.9', 'ECN PROXY 可用IP', NULL, NULL, '0021_0000000009', 172, '0014_0000000037_0014_0000000037_0014_0000000037_0014_0000000037'), - ('0014_0000000038', NULL, '0014_0000000038', 'admin', '2019-07-24 12:19:46', 'admin', '2019-07-24 12:04:00', '10.0.0.1/24', 37, '', '10.0.0.1', 'SF ADM APP 网关', NULL, NULL, '0021_0000000010', 172, '0014_0000000038_0014_0000000038_0014_0000000038_10.0.0.0/24_VPC子网网段'), - ('0014_0000000039', NULL, '0014_0000000039', 'admin', '2019-07-24 12:19:46', 'admin', '2019-07-24 12:04:23', '10.0.0.2/24', 37, '', '10.0.0.2', 'SF ADM APP 可用IP', NULL, NULL, '0021_0000000010', 172, '0014_0000000039_0014_0000000039_0014_0000000039_0014_0000000039'), - ('0014_0000000040', NULL, '0014_0000000040', 'admin', '2019-07-24 12:19:46', 'admin', '2019-07-24 12:04:40', '10.0.0.3/24', 37, '', '10.0.0.3', 'SF ADM APP 可用IP', NULL, NULL, '0021_0000000010', 172, '0014_0000000040_0014_0000000040_0014_0000000040_0014_0000000040'), - ('0014_0000000041', NULL, '0014_0000000041', 'admin', '2019-07-24 12:19:46', 'admin', '2019-07-24 12:04:58', '10.0.0.4/24', 37, '', '10.0.0.4', 'SF ADM APP 可用IP', NULL, NULL, '0021_0000000010', 172, '0014_0000000041_0014_0000000041_0014_0000000041_0014_0000000041'), - ('0014_0000000042', NULL, '0014_0000000042', 'admin', '2019-07-24 12:19:46', 'admin', '2019-07-24 12:05:18', '10.0.0.5/24', 37, '', '10.0.0.5', 'SF ADM APP 可用IP', NULL, NULL, '0021_0000000010', 172, '0014_0000000042_0014_0000000042_0014_0000000042_0014_0000000042'), - ('0014_0000000043', NULL, '0014_0000000043', 'admin', '2019-07-24 12:19:46', 'admin', '2019-07-24 12:05:38', '10.0.0.6/24', 37, '', '10.0.0.6', 'SF ADM APP 可用IP', NULL, NULL, '0021_0000000010', 172, '0014_0000000043_0014_0000000043_0014_0000000043_0014_0000000043'), - ('0014_0000000044', NULL, '0014_0000000044', 'admin', '2019-07-24 12:19:46', 'admin', '2019-07-24 12:05:54', '10.0.0.7/24', 37, '', '10.0.0.7', 'SF ADM APP 可用IP', NULL, NULL, '0021_0000000010', 172, '0014_0000000044_0014_0000000044_0014_0000000044_0014_0000000044'), - ('0014_0000000045', NULL, '0014_0000000045', 'admin', '2019-07-24 12:19:46', 'admin', '2019-07-24 12:06:09', '10.0.0.8/24', 37, '', '10.0.0.8', 'SF ADM APP 可用IP', NULL, NULL, '0021_0000000010', 172, '0014_0000000045_0014_0000000045_0014_0000000045_0014_0000000045'), - ('0014_0000000046', NULL, '0014_0000000046', 'admin', '2019-07-24 12:19:46', 'admin', '2019-07-24 12:06:25', '10.0.0.9/24', 37, '', '10.0.0.9', 'SF ADM APP 可用IP', NULL, NULL, '0021_0000000010', 172, '0014_0000000046_0014_0000000046_0014_0000000046_0014_0000000046'), - ('0014_0000000047', NULL, '0014_0000000047', 'admin', '2019-07-24 12:20:27', 'admin', '2019-07-24 12:07:06', '10.0.1.1/24', 37, '', '10.0.1.1', 'SF ADM DB 网关', NULL, NULL, '0021_0000000011', 172, '0014_0000000047_0014_0000000047_0014_0000000047_10.0.1.0/24_VPC子网网段'), - ('0014_0000000048', NULL, '0014_0000000048', 'admin', '2019-07-24 12:20:27', 'admin', '2019-07-24 12:07:31', '10.0.1.2/24', 37, '', '10.0.1.2', 'SF ADM DB 可用IP', NULL, NULL, '0021_0000000011', 172, '0014_0000000048_0014_0000000048_0014_0000000048_0014_0000000048'), - ('0014_0000000049', NULL, '0014_0000000049', 'admin', '2019-07-24 12:20:27', 'admin', '2019-07-24 12:07:49', '10.0.1.3/24', 37, '', '10.0.1.3', 'SF ADM DB 可用IP', NULL, NULL, '0021_0000000011', 172, '0014_0000000049_0014_0000000049_0014_0000000049_0014_0000000049'), - ('0014_0000000050', NULL, '0014_0000000050', 'admin', '2019-07-24 12:20:27', 'admin', '2019-07-24 12:08:06', '10.0.1.4/24', 37, '', '10.0.1.4', 'SF ADM DB 可用IP', NULL, NULL, '0021_0000000011', 172, '0014_0000000050_0014_0000000050_0014_0000000050_0014_0000000050'), - ('0014_0000000051', NULL, '0014_0000000051', 'admin', '2019-07-24 12:20:27', 'admin', '2019-07-24 12:08:34', '10.0.1.5/24', 37, '', '10.0.1.5', 'SF ADM DB 可用IP', NULL, NULL, '0021_0000000011', 172, '0014_0000000051_0014_0000000051_0014_0000000051_0014_0000000051'), - ('0014_0000000052', NULL, '0014_0000000052', 'admin', '2019-07-24 12:20:27', 'admin', '2019-07-24 12:08:51', '10.0.1.6/24', 37, '', '10.0.1.6', 'SF ADM DB 可用IP', NULL, NULL, '0021_0000000011', 172, '0014_0000000052_0014_0000000052_0014_0000000052_0014_0000000052'), - ('0014_0000000053', NULL, '0014_0000000053', 'admin', '2019-07-24 12:20:27', 'admin', '2019-07-24 12:09:11', '10.0.1.7/24', 37, '', '10.0.1.7', 'SF ADM DB 可用IP', NULL, NULL, '0021_0000000011', 172, '0014_0000000053_0014_0000000053_0014_0000000053_0014_0000000053'), - ('0014_0000000054', NULL, '0014_0000000054', 'admin', '2019-07-24 12:20:28', 'admin', '2019-07-24 12:09:27', '10.0.1.8/24', 37, '', '10.0.1.8', 'SF ADM DB 可用IP', NULL, NULL, '0021_0000000011', 172, '0014_0000000054_0014_0000000054_0014_0000000054_0014_0000000054'), - ('0014_0000000055', NULL, '0014_0000000055', 'admin', '2019-07-24 12:20:28', 'admin', '2019-07-24 12:09:45', '10.0.1.9/24', 37, '', '10.0.1.9', 'SF ADM DB 可用IP', NULL, NULL, '0021_0000000011', 172, '0014_0000000055_0014_0000000055_0014_0000000055_0014_0000000055'), - ('0014_0000000056', NULL, '0014_0000000056', 'admin', '2019-07-24 12:20:29', 'admin', '2019-07-24 12:10:29', '10.0.2.1/24', 37, '', '10.0.2.1', 'SF RDCN1 APP 网关', NULL, NULL, '0021_0000000012', 172, '0014_0000000056_0014_0000000056_0014_0000000056_10.0.2.0/24_VPC子网网段'), - ('0014_0000000057', NULL, '0014_0000000057', 'admin', '2019-07-24 12:20:29', 'admin', '2019-07-24 12:10:55', '10.0.2.2/24', 37, '', '10.0.2.2', 'SF RDCN1 APP 可用IP', NULL, NULL, '0021_0000000012', 172, '0014_0000000057_0014_0000000057_0014_0000000057_0014_0000000057'), - ('0014_0000000058', NULL, '0014_0000000058', 'admin', '2019-07-24 12:20:29', 'admin', '2019-07-24 12:11:11', '10.0.2.3/24', 37, '', '10.0.2.3', 'SF RDCN1 APP 可用IP', NULL, NULL, '0021_0000000012', 172, '0014_0000000058_0014_0000000058_0014_0000000058_0014_0000000058'), - ('0014_0000000059', NULL, '0014_0000000059', 'admin', '2019-07-24 12:20:29', 'admin', '2019-07-24 12:11:26', '10.0.2.4/24', 37, '', '10.0.2.4', 'SF RDCN1 APP 可用IP', NULL, NULL, '0021_0000000012', 172, '0014_0000000059_0014_0000000059_0014_0000000059_0014_0000000059'), - ('0014_0000000060', NULL, '0014_0000000060', 'admin', '2019-07-24 12:20:29', 'admin', '2019-07-24 12:11:47', '10.0.2.5/24', 37, '', '10.0.2.5', 'SF RDCN1 APP 可用IP', NULL, NULL, '0021_0000000012', 172, '0014_0000000060_0014_0000000060_0014_0000000060_0014_0000000060'), - ('0014_0000000061', NULL, '0014_0000000061', 'admin', '2019-07-24 12:20:29', 'admin', '2019-07-24 12:12:03', '10.0.2.6/24', 37, '', '10.0.2.6', 'SF RDCN1 APP 可用IP', NULL, NULL, '0021_0000000012', 172, '0014_0000000061_0014_0000000061_0014_0000000061_0014_0000000061'), - ('0014_0000000062', NULL, '0014_0000000062', 'admin', '2019-07-24 12:20:29', 'admin', '2019-07-24 12:12:20', '10.0.2.7/24', 37, '', '10.0.2.7', 'SF RDCN1 APP 可用IP', NULL, NULL, '0021_0000000012', 172, '0014_0000000062_0014_0000000062_0014_0000000062_0014_0000000062'), - ('0014_0000000063', NULL, '0014_0000000063', 'admin', '2019-07-24 12:20:29', 'admin', '2019-07-24 12:12:35', '10.0.2.8/24', 37, '', '10.0.2.8', 'SF RDCN1 APP 可用IP', NULL, NULL, '0021_0000000012', 172, '0014_0000000063_0014_0000000063_0014_0000000063_0014_0000000063'), - ('0014_0000000064', NULL, '0014_0000000064', 'admin', '2019-07-24 16:14:05', 'admin', '2019-07-24 12:12:50', '10.0.2.9/24', 37, '', '10.0.2.9', 'SF RDCN1 APP 可用IP', NULL, NULL, '0021_0000000012', 172, 'DEMO-WEB_PRD-APP-SER1_HOST_05_10.0.2.9,HOST_06_10.0.2.9_0014_0000000064_0014_0000000064'), - ('0014_0000000065', NULL, '0014_0000000065', 'admin', '2019-07-24 12:20:30', 'admin', '2019-07-24 12:13:34', '10.0.3.1/24', 37, '', '10.0.3.1', 'SF RDCN1 DB 网关', NULL, NULL, '0021_0000000013', 172, '0014_0000000065_0014_0000000065_0014_0000000065_10.0.3.0/24_VPC子网网段'), - ('0014_0000000066', NULL, '0014_0000000066', 'admin', '2019-07-24 12:20:31', 'admin', '2019-07-24 12:14:01', '10.0.3.2/24', 37, '', '10.0.3.2', 'SF RDCN1 DB 可用IP', NULL, NULL, '0021_0000000013', 172, '0014_0000000066_0014_0000000066_0014_0000000066_0014_0000000066'), - ('0014_0000000067', NULL, '0014_0000000067', 'admin', '2019-07-24 12:20:31', 'admin', '2019-07-24 12:14:18', '10.0.3.3/24', 37, '', '10.0.3.3', 'SF RDCN1 DB 可用IP', NULL, NULL, '0021_0000000013', 172, '0014_0000000067_0014_0000000067_0014_0000000067_0014_0000000067'), - ('0014_0000000068', NULL, '0014_0000000068', 'admin', '2019-07-24 12:20:31', 'admin', '2019-07-24 12:14:32', '10.0.3.4/24', 37, '', '10.0.3.4', 'SF RDCN1 DB 可用IP', NULL, NULL, '0021_0000000013', 172, '0014_0000000068_0014_0000000068_0014_0000000068_0014_0000000068'), - ('0014_0000000069', NULL, '0014_0000000069', 'admin', '2019-07-24 12:20:31', 'admin', '2019-07-24 12:14:46', '10.0.3.5/24', 37, '', '10.0.3.5', 'SF RDCN1 DB 可用IP', NULL, NULL, '0021_0000000013', 172, '0014_0000000069_0014_0000000069_0014_0000000069_0014_0000000069'), - ('0014_0000000070', NULL, '0014_0000000070', 'admin', '2019-07-24 12:20:31', 'admin', '2019-07-24 12:15:02', '10.0.3.6/24', 37, '', '10.0.3.6', 'SF RDCN1 DB 可用IP', NULL, NULL, '0021_0000000013', 172, '0014_0000000070_0014_0000000070_0014_0000000070_0014_0000000070'), - ('0014_0000000071', NULL, '0014_0000000071', 'admin', '2019-07-24 12:20:31', 'admin', '2019-07-24 12:15:17', '10.0.3.7/24', 37, '', '10.0.3.7', 'SF RDCN1 DB 可用IP', NULL, NULL, '0021_0000000013', 172, '0014_0000000071_0014_0000000071_0014_0000000071_0014_0000000071'), - ('0014_0000000072', NULL, '0014_0000000072', 'admin', '2019-07-24 12:20:31', 'admin', '2019-07-24 12:15:32', '10.0.3.8/24', 37, '', '10.0.3.8', 'SF RDCN1 DB 可用IP', NULL, NULL, '0021_0000000013', 172, '0014_0000000072_0014_0000000072_0014_0000000072_0014_0000000072'), - ('0014_0000000073', NULL, '0014_0000000073', 'admin', '2019-07-24 12:20:31', 'admin', '2019-07-24 12:15:47', '10.0.3.9/24', 37, '', '10.0.3.9', 'SF RDCN1 DB 可用IP', NULL, NULL, '0021_0000000013', 172, '0014_0000000073_0014_0000000073_0014_0000000073_0014_0000000073'), - ('0014_0000000075', NULL, '0014_0000000075', 'admin', '2019-07-25 14:03:43', 'admin', '2019-07-25 14:03:42', '10.0.10.200/16', 37, '', '10.0.10.200', 'SF可用IP', NULL, '', '0021_0000000001', 172, '0014_0000000075_0014_0000000075_0014_0000000075_0014_0000000075'), - ('0014_0000000076', NULL, '0014_0000000076', 'admin', '2019-07-25 14:04:13', 'admin', '2019-07-25 14:04:12', '10.0.10.239/16', 37, '', '10.0.10.239', 'SF可用IP', NULL, '', '0021_0000000001', 172, '0014_0000000076_0014_0000000076_0014_0000000076_0014_0000000076'); - -INSERT INTO `network_segment` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `asset_code`, `f_network_segment`, `gateway_ip`, `mask`, `name`, `type`) VALUES - ('0021_0000000001', NULL, '0021_0000000001', 'admin', '2019-07-24 11:25:55', 'admin', '2019-07-24 11:25:55', '10.0.0.0/16_机房网段', 37, '', '10.0.0.0/16', '广州1机房', NULL, NULL, '', '', '', 16, '广州机房B类网段', 179), - ('0021_0000000002', NULL, '0021_0000000002', 'admin', '2019-07-24 11:27:41', 'admin', '2019-07-24 11:27:41', '10.0.0.0/20_VPC网段', 37, '', '10.0.0.0/20', '广州机房1 SF网段', NULL, NULL, '', '0021_0000000001', '', 20, '广州机房1 SF子网', 180), - ('0021_0000000003', NULL, '0021_0000000003', 'admin', '2019-07-24 11:30:07', 'admin', '2019-07-24 11:30:07', '10.0.16.0/22_VPC网段', 37, '', '10.0.16.0/22', '广州机房1 DMZ网段', NULL, NULL, '', '0021_0000000001', '', 22, '广州机房1 DMZ网段', 180), - ('0021_0000000004', NULL, '0021_0000000004', 'admin', '2019-07-24 11:31:15', 'admin', '2019-07-24 11:31:14', '10.0.20.0/22_VPC网段', 37, '', '10.0.20.0/22', '广州机房1 MGMT网段', NULL, NULL, '', '0021_0000000001', '', 22, '广州机房1 MGMT 网段', 180), - ('0021_0000000005', NULL, '0021_0000000005', 'admin', '2019-07-24 11:31:56', 'admin', '2019-07-24 11:31:56', '10.0.24.0/22_VPC网段', 37, '', '10.0.24.0/22', '广州机房1 ECN网段', NULL, NULL, '', '0021_0000000001', '', 22, '广州机房1 ECN网段', 180), - ('0021_0000000006', NULL, '0021_0000000006', 'admin', '2019-07-24 11:41:45', 'admin', '2019-07-24 11:33:17', '10.0.16.0/24_VPC子网网段', 37, '', '10.0.16.0/24', 'DMZ FROXY 资源集网段', NULL, NULL, '', '0021_0000000003', '0014_0000000001', 24, 'DMZ FROXY 资源集网段', 181), - ('0021_0000000007', NULL, '0021_0000000007', 'admin', '2019-07-24 12:18:58', 'admin', '2019-07-24 11:34:10', '10.0.20.0/24_VPC子网网段', 37, '', '10.0.20.0/24', 'MGMT APP资源集网段', NULL, NULL, '', '0021_0000000004', '0014_0000000010', 24, 'MGMT APP资源集网段', 181), - ('0021_0000000008', NULL, '0021_0000000008', 'admin', '2019-07-24 12:19:25', 'admin', '2019-07-24 11:34:56', '10.0.21.0/24_VPC子网网段', 37, '', '10.0.21.0/24', 'MGMT DB资源集网段 ', NULL, NULL, '', '0021_0000000004', '0014_0000000020', 24, 'MGMT DB资源集网段', 181), - ('0021_0000000009', NULL, '0021_0000000009', 'admin', '2019-07-24 12:19:27', 'admin', '2019-07-24 11:35:43', '10.0.24.0/24_VPC子网网段', 37, '', '10.0.24.0/24', 'ECN PROXY资源集网段', NULL, NULL, '', '0021_0000000005', '0014_0000000029', 24, 'ECN PROXY资源集网段', 181), - ('0021_0000000010', NULL, '0021_0000000010', 'admin', '2019-07-24 12:19:47', 'admin', '2019-07-24 11:36:35', '10.0.0.0/24_VPC子网网段', 37, '', '10.0.0.0/24', 'SF ADM APP资源集网段', NULL, NULL, '', '0021_0000000002', '0014_0000000038', 24, 'SF ADM APP资源集网段', 181), - ('0021_0000000011', NULL, '0021_0000000011', 'admin', '2019-07-24 12:20:28', 'admin', '2019-07-24 11:37:15', '10.0.1.0/24_VPC子网网段', 37, '', '10.0.1.0/24', 'SF ADM DB资源集网段', NULL, NULL, '', '0021_0000000002', '0014_0000000047', 24, 'SF ADM DB资源集网段', 181), - ('0021_0000000012', NULL, '0021_0000000012', 'admin', '2019-07-24 12:20:30', 'admin', '2019-07-24 11:38:06', '10.0.2.0/24_VPC子网网段', 37, '', '10.0.2.0/24', 'SF RDCN1 APP资源集网段', NULL, NULL, '', '0021_0000000002', '0014_0000000056', 24, 'SF RDCN1 APP资源集网段', 181), - ('0021_0000000013', NULL, '0021_0000000013', 'admin', '2019-07-24 12:20:31', 'admin', '2019-07-24 11:38:40', '10.0.3.0/24_VPC子网网段', 37, '', '10.0.3.0/24', 'SF RDCN1 DB资源集网段', NULL, NULL, '', '0021_0000000002', '0014_0000000065', 24, 'SF RDCN1 DB资源集网段', 181); - -INSERT INTO `package` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `deploy_file`, `deploy_path`, `deploy_user`, `diff_conf_file`, `md5_value`, `name`, `url`, `start_file`, `stop_file`, `unit_design`, `upload_time`, `upload_user`) VALUES - ('0011_0000000010', NULL, '0011_0000000010', 'admin', '2019-08-02 06:45:11', 'admin', '2019-07-24 16:23:45', 'edp-core-app_v1.0.zip', 37, NULL, 'edp-core-app_v1.0.zip', 'edp-core-app_v1.0.zip', NULL, NULL, 'http://10.0.10.12:9000/scripts/wecube-demo.sh', '/home/app/edp-core-app_v1.0.zip', 233, '/edp-core-app_v1.0/conf/app.conf', '647c06750f42710c9b379bc3036841e9', 'edp-core-app_v1.0.zip', 'http://10.0.10.12:9000/wecube-artifact/647c06750f42710c9b379bc3036841e9_edp-core-app_v1.0.zip', '/edp-core-app_v1.0/start.sh', '/edp-core-app_v1.0/stop.sh', '0003_0000000002', '2019-07-25 00:23:45', 'admin'), - ('0011_0000000015', NULL, '0011_0000000015', 'admin', '2019-09-09 07:52:20', 'admin', '2019-08-09 07:09:14', 'edp-core-app_v2.0.zip', 37, NULL, 'edp-core-app_v2.0.zip', 'edp-core-app_v2.0.zip', NULL, NULL, '', NULL, NULL, '/edp-core-app_v2.0/conf/app.conf', 'f562614ce56ca51e201d89c91adac2db', 'edp-core-app_v2.0.zip', 'http://10.0.10.12:9000/wecube-artifact/f562614ce56ca51e201d89c91adac2db_edp-core-app_v2.0.zip', '/edp-core-app_v2.0/start.sh', '/edp-core-app_v2.0/stop.sh', '0003_0000000002', '2019-08-09 15:09:14', 'admin'); - -INSERT INTO `resource_set` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `asset_code`, `dcn`, `env`, `name`, `network_segment`, `resource_set_design`) VALUES - ('0020_0000000001', '0020_0000000009', '0020_0000000001', 'admin', '2019-07-25 10:26:52', 'admin', '2019-07-24 07:35:30', 'PRD-GZ1-SF-RDCN-APPSET', 38, '2019-07-25 18:26:52', 'APP', 'APP', NULL, NULL, 'subnet-k46rteik', '0019_0000000001', 111, 'APP', '0021_0000000012', '0026_0000000001'), - ('0020_0000000002', '0020_0000000008', '0020_0000000002', 'admin', '2019-07-25 10:08:03', 'admin', '2019-07-24 07:35:57', 'PRD-GZ1-SF-RDCN-DBSET', 39, '2019-07-25 18:08:03', 'DB', 'DB', NULL, '', 'subnet-blcu9vue', '0019_0000000001', 111, 'DB', '0021_0000000013', '0026_0000000002'), - ('0020_0000000003', '0020_0000000012', '0020_0000000003', 'admin', '2019-07-25 13:06:45', 'admin', '2019-07-24 13:09:29', 'PRD-GZ1-DMZ-DMZ-PROXY', 38, '2019-07-25 21:06:45', 'PROXY', 'PROXY', NULL, NULL, 'subnet-ppvt3bw2', '0019_0000000005', 111, 'PROXY', '0021_0000000006', '0026_0000000005'), - ('0020_0000000004', NULL, '0020_0000000004', 'admin', '2019-07-25 10:04:31', 'admin', '2019-07-24 13:10:59', 'PRD-GZ1-ECN-ECN-PROXY', 37, '2019-07-25 18:04:31', 'PROXY', 'PROXY', NULL, NULL, '', '0019_0000000006', 111, 'PROXY', '0021_0000000009', '0026_0000000006'), - ('0020_0000000005', NULL, '0020_0000000005', 'admin', '2019-07-25 10:04:32', 'admin', '2019-07-24 13:11:35', 'PRD-GZ1-MGMT-MGMT-APPSET', 37, '2019-07-25 18:04:32', 'APPSET', 'APP', NULL, NULL, '', '0019_0000000007', 111, 'APP', '0021_0000000007', '0026_0000000007'), - ('0020_0000000006', NULL, '0020_0000000006', 'admin', '2019-07-25 10:04:33', 'admin', '2019-07-24 13:12:03', 'PRD-GZ1-MGMT-MGMT-DBSET', 37, '2019-07-25 18:04:33', 'DBSET', 'DB', NULL, NULL, '', '0019_0000000007', 111, 'DB', '0021_0000000008', '0026_0000000008'), - ('0020_0000000007', '0020_0000000010', '0020_0000000007', 'admin', '2019-07-25 10:26:52', 'admin', '2019-07-24 13:12:46', 'PRD-GZ1-SF-ADM-APPSET', 38, '2019-07-25 18:26:52', 'APPSET', 'APP', NULL, NULL, 'subnet-5gmttriu', '0019_0000000008', 111, 'APP', '0021_0000000010', '0026_0000000003'), - ('0020_0000000008', '0020_0000000011', '0020_0000000002', 'admin', '2019-07-25 10:26:52', 'admin', '2019-07-24 07:35:57', 'PRD-GZ1-SF-RDCN-DBSET', 38, '2019-07-25 18:26:52', 'DB', 'DB', NULL, NULL, 'subnet-q20lxnqy', '0019_0000000001', 111, 'DB', '0021_0000000013', '0026_0000000002'), - ('0020_0000000009', NULL, '0020_0000000001', 'admin', '2019-07-25 10:26:50', 'admin', '2019-07-24 07:35:30', 'PRD-GZ1-SF-RDCN-APPSET', 37, '2019-07-25 17:21:29', 'APP', 'APP', 225, 'rxek7WAq2Bi', 'subnet-k46rteik', '0019_0000000001', 111, 'APP', '0021_0000000012', '0026_0000000001'), - ('0020_0000000010', NULL, '0020_0000000007', 'admin', '2019-07-25 10:26:50', 'admin', '2019-07-24 13:12:46', 'PRD-GZ1-SF-ADM-APPSET', 37, '2019-07-25 17:21:29', 'APPSET', 'APP', NULL, 'rxek7WAq2Bi', 'subnet-5gmttriu', '0019_0000000008', 111, 'APP', '0021_0000000010', '0026_0000000003'), - ('0020_0000000011', NULL, '0020_0000000002', 'admin', '2019-07-25 10:26:50', 'admin', '2019-07-24 07:35:57', 'PRD-GZ1-SF-RDCN-DBSET', 37, '2019-07-25 17:21:29', 'DB', 'DB', NULL, 'rxek7WAq2Bi', 'subnet-blcu9vue', '0019_0000000001', 111, 'DB', '0021_0000000013', '0026_0000000002'), - ('0020_0000000012', NULL, '0020_0000000003', 'admin', '2019-07-25 13:06:42', 'admin', '2019-07-24 13:09:29', 'PRD-GZ1-DMZ-DMZ-PROXY', 37, '2019-07-25 18:04:30', 'PROXY', 'PROXY', NULL, 'rxeYnnIy2Bv', '', '0019_0000000005', 111, 'PROXY', '0021_0000000006', '0026_0000000005'), - ('0020_0000000013', NULL, '0020_0000000013', 'admin', '2019-07-25 13:46:44', 'admin', '2019-07-25 13:42:23', 'PRD-GZ1-PARTNERNET-API-USER', 37, '2019-07-25 21:46:44', 'USER', 'APP', NULL, 'rxf8rvAJ2Bi', 'subnet-16o81som', '0019_0000000013', 111, 'APP', '0021_0000000008', '0026_0000000011'); - -INSERT INTO `resource_set_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `dcn_design`, `type`) VALUES - ('0026_0000000001', NULL, '0026_0000000001', 'admin', '2019-07-23 13:53:55', 'admin', '2019-07-23 13:53:54', 'PRD-SF-RDCN-APPSET', 34, NULL, 'APPSET', '应用资源集设计', NULL, NULL, '0025_0000000001', 136), - ('0026_0000000002', NULL, '0026_0000000002', 'admin', '2019-07-23 14:28:29', 'admin', '2019-07-23 14:28:29', 'PRD-SF-RDCN-DBSET', 34, NULL, 'DBSET', '数据库资源集设计', NULL, NULL, '0025_0000000001', 137), - ('0026_0000000003', NULL, '0026_0000000003', 'admin', '2019-07-24 10:37:16', 'admin', '2019-07-24 10:37:16', 'PRD-SF-ADM-APPSET', 34, '', 'APPSET', '应用资源集设计', NULL, NULL, '0025_0000000005', 136), - ('0026_0000000004', NULL, '0026_0000000004', 'admin', '2019-07-24 10:37:32', 'admin', '2019-07-24 10:37:32', 'PRD-SF-ADM-DBSET', 34, '', 'DBSET', '数据库资源集设计', NULL, NULL, '0025_0000000005', 137), - ('0026_0000000005', NULL, '0026_0000000005', 'admin', '2019-07-24 10:38:13', 'admin', '2019-07-24 10:38:13', 'PRD-DMZ-DMZ-PROXY', 34, '', 'PROXY', '代理资源集设计', NULL, NULL, '0025_0000000002', 136), - ('0026_0000000006', NULL, '0026_0000000006', 'admin', '2019-07-24 10:38:32', 'admin', '2019-07-24 10:38:32', 'PRD-ECN-ECN-PROXY', 34, '', 'PROXY', '代理资源集设计', NULL, NULL, '0025_0000000003', 136), - ('0026_0000000007', NULL, '0026_0000000007', 'admin', '2019-07-24 10:39:00', 'admin', '2019-07-24 10:39:00', 'PRD-MGMT-MGMT-APPSET', 34, '', 'APPSET', '应用资源集设计', NULL, NULL, '0025_0000000004', 136), - ('0026_0000000008', NULL, '0026_0000000008', 'admin', '2019-07-24 10:39:19', 'admin', '2019-07-24 10:39:19', 'PRD-MGMT-MGMT-DBSET', 34, '', 'DBSET', '数据库资源集设计', NULL, NULL, '0025_0000000004', 137), - ('0026_0000000009', NULL, '0026_0000000009', 'admin', '2019-07-24 11:53:52', 'admin', '2019-07-24 11:53:52', 'PRD-INTERNET-H5-USER', 34, '', 'USER', '客户资源集', NULL, NULL, '0025_0000000006', 221), - ('0026_0000000010', NULL, '0026_0000000010', 'admin', '2019-07-24 11:54:10', 'admin', '2019-07-24 11:54:10', 'PRD-INTRANET-WEB-USER', 34, '', 'USER', '客户资源集', NULL, NULL, '0025_0000000008', 221), - ('0026_0000000011', NULL, '0026_0000000011', 'admin', '2019-07-24 11:54:33', 'admin', '2019-07-24 11:54:32', 'PRD-PARTNERNET-API-USER', 34, '', 'USER', '客户资源集', NULL, NULL, '0025_0000000007', 221); - -INSERT INTO `running_instance` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `asset_code`, `charge_type`, `host`, `instance_disk`, `instance_mem`, `instance_num`, `port`, `type`, `unit`) VALUES - ('0015_0000000001', NULL, '0015_0000000001', 'admin', '2019-07-24 12:37:37', 'admin', '2019-07-24 12:08:43', 'ECIF-CORE_PRD-APP_APP_01', 40, '', 'APP_01', 'APP_01', NULL, NULL, '', 115, '0012_0000000003', 100, 2, 3, '', 174, '0008_0000000001'), - ('0015_0000000002', NULL, '0015_0000000002', 'admin', '2019-07-24 12:37:55', 'admin', '2019-07-24 12:09:13', 'ECIF-INDEX_PRD-APP_APP_01', 40, '', 'APP_01', 'APP_01', NULL, NULL, '', 115, '0012_0000000002', 100, 2, 3, '', 174, '0008_0000000002'), - ('0015_0000000003', NULL, '0015_0000000003', 'admin', '2019-07-24 12:39:37', 'admin', '2019-07-24 12:09:39', 'EDP-CORE_PRD-APP_APP_01', 40, '', 'APP_01', 'APP_01', NULL, NULL, '', 115, '0012_0000000003', 100, 2, 3, '', 174, '0008_0000000003'), - ('0015_0000000004', NULL, '0015_0000000004', 'admin', '2019-08-09 07:30:12', 'admin', '2019-07-24 12:10:04', 'EDP-CONSOLE_PRD-APP_APP_01', 40, '', 'APP_01', 'APP_01', NULL, 'ryDjxIWF2Bj', '', 115, '0012_0000000003', 100, 2, 3, '', 174, '0008_0000000004'), - ('0015_0000000005', NULL, '0015_0000000005', 'admin', '2019-07-25 15:36:18', 'admin', '2019-07-24 13:11:20', 'DEMO-WEB_PRD-APP_APP_01', 40, '2019-07-25 22:17:20', 'APP_01', 'APP_01', NULL, 'rxfA2pJJ2Bv', '', 115, '0012_0000000003', 100, 2, 3, '', 174, '0008_0000000005'); - -INSERT INTO `service` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `dns_domain`, `dns_name`, `ha_type`, `service_design`, `service_ip`, `service_port`, `unit`) VALUES - ('0009_0000000001', NULL, '0009_0000000001', 'admin', '2019-07-24 13:13:42', 'admin', '2019-07-24 13:13:42', 'DEMO-WEB_PRD-APP-SER1', 37, '', 'SER1', '服务1', NULL, NULL, 155, 'demo.wecube.com', 140, '0004_0000000006', '0014_0000000064', '', '0008_0000000005'); - -INSERT INTO `service_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `ha_type`, `name`, `type`, `unit_design`) VALUES - ('0004_0000000001', NULL, '0004_0000000001', 'admin', '2019-07-24 08:35:30', 'admin', '2019-07-23 14:02:15', 'EDP-CORE-APP-SER1', 34, '2019-07-24 16:35:30', 'SER1', '服务设计', NULL, NULL, 140, '服务1', 149, '0003_0000000002'), - ('0004_0000000002', NULL, '0004_0000000002', 'admin', '2019-07-24 08:35:30', 'admin', '2019-07-24 03:43:44', 'EDP-CORE-DB-RW', 34, '2019-07-24 16:35:30', 'RW', '数据库服务读写', NULL, NULL, 142, '读写服务', 149, '0003_0000000003'), - ('0004_0000000003', NULL, '0004_0000000003', 'admin', '2019-07-24 08:35:30', 'admin', '2019-07-24 03:45:42', 'EDP-CONSOLE-DB-RW', 34, '2019-07-24 16:35:30', 'RW', '数据库读写服务', NULL, NULL, 142, '读写服务', 149, '0003_0000000005'), - ('0004_0000000004', NULL, '0004_0000000004', 'admin', '2019-07-24 08:35:30', 'admin', '2019-07-24 03:46:41', 'EDP-CONSOLE-APP-SER1', 34, '2019-07-24 16:35:30', 'SER1', '服务设计1', NULL, NULL, 140, '服务1', 150, '0003_0000000004'), - ('0004_0000000005', NULL, '0004_0000000005', 'admin', '2019-07-24 12:58:41', 'admin', '2019-07-24 12:58:41', 'ECIF-CORE-APP-QUERY', 34, '', 'QUERY', '客户信息查询', NULL, NULL, 140, '信息查询', 150, '0003_0000000006'), - ('0004_0000000006', NULL, '0004_0000000006', 'admin', '2019-07-24 13:18:02', 'admin', '2019-07-24 13:12:35', 'DEMO-WEB-APP-SER1', 34, '2019-07-24 21:18:02', 'SER1', '服务设计1', NULL, NULL, 140, '服务设计1', 150, '0003_0000000011'), - ('0004_0000000007', NULL, '0004_0000000007', 'admin', '2019-07-24 13:44:06', 'admin', '2019-07-24 13:44:06', 'EDP-PROXY-PROXY-WEB', 34, '', 'WEB', 'WBE代理服务', NULL, NULL, 140, '代理服务', 150, '0003_0000000012'); - -INSERT INTO `subsys` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `env`, `manager`, `subsys_design`) VALUES - ('0007_0000000001', NULL, '0007_0000000001', 'admin', '2019-07-24 08:30:17', 'admin', '2019-07-24 06:40:03', 'ECIF-CORE_PRD', 37, '2019-07-24 16:30:17', 'CORE', 'ECIF-CORE PRD', NULL, NULL, 111, 'nertonsong', '0002_0000000010'), - ('0007_0000000002', NULL, '0007_0000000002', 'admin', '2019-07-24 08:30:18', 'admin', '2019-07-24 06:40:25', 'ECIF-INDEX_PRD', 37, '2019-07-24 16:30:18', 'INDEX', 'ECIF-INDEX PRD', NULL, NULL, 111, 'nertonsong', '0002_0000000011'), - ('0007_0000000003', NULL, '0007_0000000003', 'admin', '2019-07-24 08:30:18', 'admin', '2019-07-24 06:40:59', 'EDP-CORE_PRD', 37, '2019-07-24 16:30:18', 'CORE', 'EDP-CORE PRD', NULL, NULL, 111, 'irvingzhao', '0002_0000000001'), - ('0007_0000000004', NULL, '0007_0000000004', 'admin', '2019-07-24 08:30:19', 'admin', '2019-07-24 06:41:18', 'EDP-CONSOLE_PRD', 37, '2019-07-24 16:30:19', 'CONSOLE', 'EDP-CONSOLE PRD', NULL, NULL, 111, 'irvingzhao', '0002_0000000003'), - ('0007_0000000005', NULL, '0007_0000000005', 'admin', '2019-07-24 08:30:20', 'admin', '2019-07-24 06:41:34', 'EDP-BATCH_PRD', 37, '2019-07-24 16:30:20', 'BATCH', 'EDP-BATCH PRD', NULL, NULL, 111, 'irvingzhao', '0002_0000000004'), - ('0007_0000000006', NULL, '0007_0000000006', 'admin', '2019-07-24 08:30:20', 'admin', '2019-07-24 06:41:50', 'EDP-GL_PRD', 37, '2019-07-24 16:30:20', 'GL', 'EDP-GL PRD', NULL, NULL, 111, 'irvingzhao', '0002_0000000005'), - ('0007_0000000007', NULL, '0007_0000000007', 'admin', '2019-07-24 08:30:21', 'admin', '2019-07-24 06:42:07', 'EDP-ADMBATCH_PRD', 37, '2019-07-24 16:30:21', 'ADMBATCH', 'EDP-ADMBATCH PRD', NULL, NULL, 111, 'irvingzhao', '0002_0000000006'), - ('0007_0000000008', NULL, '0007_0000000008', 'admin', '2019-07-24 08:30:23', 'admin', '2019-07-24 06:42:28', 'EDP-ADMCORE_PRD', 37, '2019-07-24 16:30:23', 'ADMCORE', 'EDP-ADMCORE PRD', NULL, NULL, 111, 'irvingzhao', '0002_0000000007'), - ('0007_0000000009', NULL, '0007_0000000009', 'admin', '2019-07-24 08:30:24', 'admin', '2019-07-24 06:42:42', 'EDP-WEB_PRD', 37, '2019-07-24 16:30:24', 'WEB', 'EDP-WEB PRD', NULL, NULL, 111, 'irvingzhao', '0002_0000000009'), - ('0007_0000000010', NULL, '0007_0000000010', 'admin', '2019-07-24 13:05:47', 'admin', '2019-07-24 13:05:47', 'DEMO-WEB_PRD', 37, '', 'WEB', 'DEMO-WEB PRD', NULL, NULL, 111, 'nertonsong', '0002_0000000012'); - -INSERT INTO `subsys_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `business_group`, `dcn_design_type`, `name`, `system_design`) VALUES - ('0002_0000000001', NULL, '0002_0000000001', 'admin', '2019-07-24 08:28:22', 'admin', '2019-07-23 13:29:24', 'EDP-CORE', 34, '2019-07-24 16:28:22', 'CORE', '联机子系统', NULL, NULL, 105, 135, '联机子系统', '0001_0000000001'), - ('0002_0000000003', NULL, '0002_0000000003', 'admin', '2019-07-24 08:28:23', 'admin', '2019-07-24 03:29:39', 'EDP-CONSOLE', 34, '2019-07-24 16:28:23', 'CONSOLE', '管理台子系统', NULL, NULL, 105, 132, '管理台子系统', '0001_0000000001'), - ('0002_0000000004', NULL, '0002_0000000004', 'admin', '2019-07-24 08:28:23', 'admin', '2019-07-24 03:32:47', 'EDP-BATCH', 34, '2019-07-24 16:28:23', 'BATCH', '批量子系统', NULL, NULL, 105, 135, '批量子系统', '0001_0000000001'), - ('0002_0000000005', NULL, '0002_0000000005', 'admin', '2019-07-24 08:28:24', 'admin', '2019-07-24 03:34:31', 'EDP-GL', 34, '2019-07-24 16:28:24', 'GL', '小总账子系统', NULL, NULL, 105, 135, '小总账子系统', '0001_0000000001'), - ('0002_0000000006', NULL, '0002_0000000006', 'admin', '2019-07-24 08:28:25', 'admin', '2019-07-24 03:37:56', 'EDP-ADMBATCH', 34, '2019-07-24 16:28:25', 'ADMBATCH', 'ADM批量子系统', NULL, NULL, 105, 132, 'ADM批量批量子系统', '0001_0000000001'), - ('0002_0000000007', NULL, '0002_0000000007', 'admin', '2019-07-24 08:28:26', 'admin', '2019-07-24 03:39:07', 'EDP-ADMCORE', 34, '2019-07-24 16:28:26', 'ADMCORE', 'ADM联机子系统', NULL, NULL, 105, 132, 'ADM联机子系统', '0001_0000000001'), - ('0002_0000000009', NULL, '0002_0000000009', 'admin', '2019-07-24 08:28:27', 'admin', '2019-07-24 03:53:46', 'EDP-WEB', 34, '2019-07-24 16:28:27', 'WEB', '管理台WEB子系统', NULL, NULL, 105, 126, '管理台WEB子系统', '0001_0000000001'), - ('0002_0000000010', NULL, '0002_0000000010', 'admin', '2019-07-24 08:28:27', 'admin', '2019-07-24 06:28:18', 'ECIF-CORE', 34, '2019-07-24 16:28:27', 'CORE', '客户信息核心系统', NULL, NULL, 105, 135, '客户信息核心系统', '0001_0000000003'), - ('0002_0000000011', NULL, '0002_0000000011', 'admin', '2019-07-24 08:28:28', 'admin', '2019-07-24 06:29:14', 'ECIF-INDEX', 34, '2019-07-24 16:28:28', 'INDEX', '客户信息索引', NULL, NULL, 105, 135, '客户信息索引', '0001_0000000003'), - ('0002_0000000012', NULL, '0002_0000000012', 'admin', '2019-07-24 13:18:02', 'admin', '2019-07-24 13:05:01', 'DEMO-WEB', 34, '2019-07-24 21:18:02', 'WEB', '演示页面子系统', NULL, NULL, 105, 135, '演示系统', '0001_0000000004'), - ('0002_0000000014', NULL, '0002_0000000014', 'admin', '2019-08-01 08:45:08', 'admin', '2019-07-24 13:42:03', 'EDP-PROXY', 34, '2019-08-01 16:45:08', 'PROXY', '代理子系统', NULL, NULL, 105, 129, '代理子系统', '0001_0000000001'), - ('0002_0000000015', NULL, '0002_0000000015', 'admin', '2019-07-24 13:44:48', 'admin', '2019-07-24 13:44:48', 'EDP-CLIENT', 34, '', 'CLIENT', '管理台WEB客户端', NULL, NULL, 105, 126, 'WEB客户端', '0001_0000000001'); - -INSERT INTO `system_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `business_group`, `name`) VALUES - ('0001_0000000001', NULL, '0001_0000000001', 'admin', '2019-08-28 06:41:47', 'admin', '2019-07-23 13:22:11', 'EDP', 34, '2019-07-24 17:28:15', 'EDP', '存款微核心系统', NULL, NULL, 105, '存款微核心系统'), - ('0001_0000000002', NULL, '0001_0000000002', 'admin', '2019-07-25 07:34:35', 'admin', '2019-07-24 03:23:47', 'PEBS', 34, '2019-07-24 17:28:16', 'PEBS', '个人网银系统', NULL, NULL, 105, '个人网银系统'), - ('0001_0000000003', NULL, '0001_0000000003', 'admin', '2019-07-25 07:34:25', 'admin', '2019-07-24 06:25:10', 'ECIF', 34, '2019-07-24 17:28:17', 'ECIF', '客户信息管理系统', NULL, NULL, 105, '客户信息管理系统'), - ('0001_0000000004', NULL, '0001_0000000004', 'admin', '2019-08-20 07:07:18', 'admin', '2019-07-24 13:03:56', 'DEMO', 34, '2019-07-24 21:18:02', 'DEMO', '演示系统', NULL, NULL, 105, '演示系统'); - -INSERT INTO `unit` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `instance_num`, `package`, `subsys`, `unit_design`) VALUES - ('0008_0000000001', NULL, '0008_0000000001', 'admin', '2019-07-24 08:30:35', 'admin', '2019-07-24 08:14:07', 'ECIF-CORE_PRD-APP', 37, '2019-07-24 16:30:35', 'APP', '', NULL, NULL, 1, '', '0007_0000000001', '0003_0000000006'), - ('0008_0000000002', NULL, '0008_0000000002', 'admin', '2019-07-24 08:30:36', 'admin', '2019-07-24 08:15:04', 'ECIF-INDEX_PRD-APP', 37, '2019-07-24 16:30:36', 'APP', '', NULL, NULL, 1, '', '0007_0000000002', '0003_0000000008'), - ('0008_0000000003', NULL, '0008_0000000003', 'admin', '2019-07-24 09:56:34', 'admin', '2019-07-24 08:15:31', 'EDP-CORE_PRD-APP', 37, '2019-07-24 16:30:37', 'APP', '', NULL, NULL, 1, '', '0007_0000000003', '0003_0000000002'), - ('0008_0000000004', '0008_0000000008', '0008_0000000004', 'admin', '2019-08-09 07:34:16', 'admin', '2019-07-24 08:15:50', 'EDP-CONSOLE_PRD-APP', 38, NULL, 'APP', '', 235, NULL, 1, '', '0007_0000000004', '0003_0000000004'), - ('0008_0000000005', NULL, '0008_0000000005', 'admin', '2019-08-12 02:23:37', 'admin', '2019-07-24 13:08:38', 'DEMO-WEB_PRD-APP', 37, '2019-08-12 10:21:34', 'APP', '', 235, 'rxfA2pJJ2Bv', 1, '0011_0000000010', '0007_0000000010', '0003_0000000011'), - ('0008_0000000007', NULL, '0008_0000000007', 'admin', '2019-07-31 06:19:05', 'admin', '2019-07-31 06:19:05', 'ECIF-CORE_PRD-DB', 37, '', 'DB', 'aa', 231, '', 1, '0011_0000000010', '0007_0000000001', '0003_0000000007'), - ('0008_0000000008', NULL, '0008_0000000004', 'admin', '2019-07-24 08:30:37', 'admin', '2019-07-24 08:15:50', 'EDP-CONSOLE_PRD-APP', 37, '2019-07-24 16:30:37', 'APP', '', NULL, NULL, 1, '', '0007_0000000004', '0003_0000000004'); - -INSERT INTO `unit$resource_set` (`id`, `from_guid`, `to_guid`, `seq_no`) VALUES - (1, '0008_0000000001', '0020_0000000001', 1), - (2, '0008_0000000002', '0020_0000000001', 1), - (3, '0008_0000000003', '0020_0000000001', 1), - (7, '0008_0000000007', '0020_0000000001', 1), - (8, '0008_0000000008', '0020_0000000001', 0), - (9, '0008_0000000004', '0020_0000000001', 1), - (15, '0008_0000000005', '0020_0000000001', 0); - -INSERT INTO `unit_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `across_idc`, `name`, `resource_set_design`, `resource_set_design_type`, `subsys_design`, `type`) VALUES - ('0003_0000000002', NULL, '0003_0000000002', 'admin', '2019-07-24 09:56:36', 'admin', '2019-07-23 14:00:57', 'EDP-CORE-APP', 35, '2019-07-24 17:56:36', 'APP', '应用模块', NULL, NULL, 147, '应用模块', '0026_0000000001', 136, '0002_0000000001', 106), - ('0003_0000000003', NULL, '0003_0000000003', 'admin', '2019-07-24 08:28:59', 'admin', '2019-07-23 14:28:03', 'EDP-CORE-DB', 34, '2019-07-24 16:28:59', 'DB', '数据库模块', NULL, NULL, 147, '数据库模块', '0026_0000000001', 137, '0002_0000000001', 107), - ('0003_0000000004', NULL, '0003_0000000004', 'admin', '2019-07-24 08:29:00', 'admin', '2019-07-24 03:40:34', 'EDP-CONSOLE-APP', 34, '2019-07-24 16:29:00', 'APP', '应用模块', NULL, NULL, 147, '应用模块', NULL, 136, '0002_0000000003', 106), - ('0003_0000000005', NULL, '0003_0000000005', 'admin', '2019-07-24 08:29:00', 'admin', '2019-07-24 03:41:37', 'EDP-CONSOLE-DB', 34, '2019-07-24 16:29:00', 'DB', '数据库模块', NULL, NULL, 147, '数据库模块', NULL, 137, '0002_0000000003', 107), - ('0003_0000000006', NULL, '0003_0000000006', 'admin', '2019-07-24 08:29:05', 'admin', '2019-07-24 08:01:24', 'ECIF-CORE-APP', 34, '2019-07-24 16:29:05', 'APP', '应用模块', NULL, NULL, 147, '应用模块', NULL, 136, '0002_0000000010', 106), - ('0003_0000000007', NULL, '0003_0000000007', 'admin', '2019-07-24 08:30:00', 'admin', '2019-07-24 08:01:56', 'ECIF-CORE-DB', 34, '2019-07-24 16:30:00', 'DB', '数据库模块', NULL, NULL, 147, '数据库模块', NULL, 137, '0002_0000000010', 107), - ('0003_0000000008', NULL, '0003_0000000008', 'admin', '2019-07-24 08:29:04', 'admin', '2019-07-24 08:02:39', 'ECIF-INDEX-APP', 34, '2019-07-24 16:29:04', 'APP', '应用模块', NULL, NULL, 147, '应用模块', NULL, 136, '0002_0000000011', 106), - ('0003_0000000009', NULL, '0003_0000000009', 'admin', '2019-07-24 08:29:03', 'admin', '2019-07-24 08:02:58', 'ECIF-INDEX-DB', 34, '2019-07-24 16:29:03', 'DB', '数据库模块', NULL, NULL, 147, '数据库模块', NULL, 137, '0002_0000000011', 108), - ('0003_0000000010', NULL, '0003_0000000002', 'admin', '2019-07-24 08:28:58', 'admin', '2019-07-23 14:00:57', 'EDP-CORE-APP', 34, '2019-07-24 16:28:58', 'APP', '应用模块', NULL, NULL, 147, '应用模块', '0026_0000000001', 136, '0002_0000000001', 106), - ('0003_0000000011', NULL, '0003_0000000011', 'admin', '2019-07-24 13:18:02', 'admin', '2019-07-24 13:07:54', 'DEMO-WEB-APP', 34, '2019-07-24 21:18:02', 'APP', '应用模块', NULL, NULL, 147, '应用模块', NULL, 136, '0002_0000000012', 106), - ('0003_0000000012', NULL, '0003_0000000012', 'admin', '2019-07-24 13:43:10', 'admin', '2019-07-24 13:43:10', 'EDP-PROXY-PROXY', 34, '', 'PROXY', '代理模块', NULL, NULL, 147, '代理模块', NULL, 136, '0002_0000000014', 106), - ('0003_0000000013', NULL, '0003_0000000013', 'admin', '2019-07-24 13:45:52', 'admin', '2019-07-24 13:45:52', 'EDP-CLIENT-WEB', 34, '', 'WEB', 'WEB客户端', NULL, NULL, 147, '客户端', NULL, 221, '0002_0000000015', 106), - ('0003_0000000015', NULL, '0003_0000000015', 'admin', '2019-07-25 11:14:45', 'admin', '2019-07-25 11:14:45', 'EDP-BATCH-APP', 34, '', 'APP', '应用模块', NULL, '', 147, '应用模块', NULL, 136, '0002_0000000004', 106), - ('0003_0000000016', NULL, '0003_0000000016', 'admin', '2019-07-25 11:15:22', 'admin', '2019-07-25 11:15:22', 'EDP-GL-APP', 34, '', 'APP', '应用模块', NULL, '', 147, '应用模块', NULL, 136, '0002_0000000005', 106), - ('0003_0000000018', NULL, '0003_0000000018', 'admin', '2019-07-25 11:17:36', 'admin', '2019-07-25 11:17:36', 'EDP-ADMBATCH-APP', 34, '', 'APP', '应用模块', NULL, '', 147, '应用模块', NULL, 136, '0002_0000000006', 106), - ('0003_0000000019', NULL, '0003_0000000019', 'admin', '2019-07-25 11:18:05', 'admin', '2019-07-25 11:18:05', 'EDP-ADMCORE-APP', 34, '', 'APP', '应用模块', NULL, '', 147, '应用模块', NULL, 136, '0002_0000000007', 106), - ('0003_0000000021', NULL, '0003_0000000021', 'admin', '2019-08-06 08:18:06', 'admin', '2019-08-06 08:18:05', 'EDP-CORE-test', 34, '', 'test', 'test', NULL, '', 146, 'test', NULL, 136, '0002_0000000001', 107); - -INSERT INTO `zone` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `asset_code`, `idc`, `name`, `network_segment`, `type`, `vpc`, `zone_design`, `zone_layer`) VALUES - ('0017_0000000001', NULL, '0017_0000000001', 'admin', '2019-07-25 11:58:31', 'admin', '2019-07-24 07:05:16', 'PRD-GZ1-SF', 37, '2019-07-25 17:02:19', 'SF', 'SF', 229, 'rxek7WAq2Bi', 'vpc-1mopfr45', '0016_0000000001', 'SF', '0021_0000000002', 122, '', '0023_0000000001', 125), - ('0017_0000000002', NULL, '0017_0000000002', 'admin', '2019-07-25 07:38:53', 'admin', '2019-07-24 07:06:17', 'PRD-GZ1-ECN', 37, '2019-07-25 15:38:53', 'ECN', 'ECN', 229, '', 'vpc-83gnp7dv', '0016_0000000001', 'ECN', '0021_0000000005', 120, '', '0023_0000000004', 124), - ('0017_0000000003', NULL, '0017_0000000003', 'admin', '2019-07-25 12:29:44', 'admin', '2019-07-24 07:09:37', 'PRD-GZ1-MGMT', 37, NULL, 'MGMT', 'MGMT', 224, NULL, '', '0016_0000000001', 'MGMT', '0021_0000000004', 121, '', '0023_0000000003', 124), - ('0017_0000000004', NULL, '0017_0000000004', 'admin', '2019-07-25 13:06:44', 'admin', '2019-07-24 07:10:14', 'PRD-GZ1-DMZ', 37, '2019-07-25 21:06:44', 'DMZ', 'DMZ', 224, 'rxeYnnIy2Bv', 'vpc-iq7kl2ld', '0016_0000000001', 'DMZ', '0021_0000000003', 119, '', '0023_0000000002', 124), - ('0017_0000000005', NULL, '0017_0000000005', 'admin', '2019-07-25 13:46:43', 'admin', '2019-07-24 07:11:37', 'PRD-GZ1-PARTNERNET', 37, '2019-07-25 21:46:43', 'PARTNERNET', 'PARTNER', 224, 'rxf8rvAJ2Bi', 'vpc-hewlni6b', '0016_0000000001', 'PARTNER', '0021_0000000008', 117, '', '0023_0000000007', 123), - ('0017_0000000006', NULL, '0017_0000000006', 'admin', '2019-08-08 09:28:39', 'admin', '2019-07-24 07:52:19', 'PRD-GZ1-INTERNET', 37, NULL, 'INTERNET', 'INTERNET', 224, NULL, '', '0016_0000000001', 'INTERNET', '', 116, '', '0023_0000000005', 123), - ('0017_0000000007', NULL, '0017_0000000007', 'admin', '2019-07-24 12:11:52', 'admin', '2019-07-24 07:52:47', 'PRD-GZ1-INTRANET', 37, NULL, 'INTRANET', 'INTRANET', NULL, NULL, '', '0016_0000000001', 'INTRANET', '', 118, '', '0023_0000000006', 123); - - -INSERT INTO `zone_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `idc_design`, `type`, `zone_layer`) VALUES - ('0023_0000000001', NULL, '0023_0000000001', 'admin', '2019-07-23 13:52:47', 'admin', '2019-07-23 13:52:47', 'PRD-SF', 34, NULL, 'SF', 'SF区', NULL, NULL, '0022_0000000001', 122, 125), - ('0023_0000000002', NULL, '0023_0000000002', 'admin', '2019-07-24 04:05:43', 'admin', '2019-07-24 04:05:42', 'PRD-DMZ', 34, NULL, 'DMZ', 'DMZ区', NULL, NULL, '0022_0000000001', 119, 124), - ('0023_0000000003', NULL, '0023_0000000003', 'admin', '2019-07-24 04:06:11', 'admin', '2019-07-24 04:06:11', 'PRD-MGMT', 34, NULL, 'MGMT', 'MGMT', NULL, NULL, '0022_0000000001', 121, 124), - ('0023_0000000004', NULL, '0023_0000000004', 'admin', '2019-07-24 04:06:43', 'admin', '2019-07-24 04:06:43', 'PRD-ECN', 34, NULL, 'ECN', 'ECN区', NULL, NULL, '0022_0000000001', 120, 124), - ('0023_0000000005', NULL, '0023_0000000005', 'admin', '2019-07-24 04:07:08', 'admin', '2019-07-24 04:07:08', 'PRD-INTERNET', 34, NULL, 'INTERNET', '互联网', NULL, NULL, '0022_0000000001', 116, 123), - ('0023_0000000006', NULL, '0023_0000000006', 'admin', '2019-07-24 04:07:32', 'admin', '2019-07-24 04:07:32', 'PRD-INTRANET', 34, NULL, 'INTRANET', '内部网', NULL, NULL, '0022_0000000001', 118, 123), - ('0023_0000000007', NULL, '0023_0000000007', 'admin', '2019-07-24 04:08:10', 'admin', '2019-07-24 04:08:10', 'PRD-PARTNERNET', 34, NULL, 'PARTNERNET', '伙伴网', NULL, NULL, '0022_0000000001', 117, 123); - -INSERT INTO `zone_link` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `asset_code`, `name`, `zone1`, `zone2`, `zone_link_design`) VALUES - ('0018_0000000002', NULL, '0018_0000000002', 'admin', '2019-07-24 12:28:49', 'admin', '2019-07-24 07:46:49', 'PRD-GZ1-MGMT_link_PRD-GZ1-SF', 37, NULL, 'MGMT-SF', '', NULL, NULL, '', 'MGMT-SF', '0017_0000000003', '0017_0000000001', '0024_0000000001'), - ('0018_0000000003', NULL, '0018_0000000003', 'admin', '2019-07-24 12:28:50', 'admin', '2019-07-24 07:47:16', 'PRD-GZ1-MGMT_link_PRD-GZ1-ECN', 37, NULL, 'MGMT-ECN', '', NULL, NULL, '', 'MGMT-ECN', '0017_0000000003', '0017_0000000002', '0024_0000000005'), - ('0018_0000000004', NULL, '0018_0000000004', 'admin', '2019-07-24 13:00:52', 'admin', '2019-07-24 07:47:34', 'PRD-GZ1-DMZ_link_PRD-GZ1-MGMT', 37, NULL, 'DMZ-MGMT', '', NULL, NULL, '', 'MGMT-DMZ', '0017_0000000004', '0017_0000000003', '0024_0000000004'), - ('0018_0000000005', NULL, '0018_0000000005', 'admin', '2019-07-24 12:28:51', 'admin', '2019-07-24 07:47:54', 'PRD-GZ1-ECN_link_PRD-GZ1-SF', 37, NULL, 'ECN-SF', '', NULL, NULL, '', 'ECN-SF', '0017_0000000002', '0017_0000000001', '0024_0000000003'), - ('0018_0000000006', NULL, '0018_0000000006', 'admin', '2019-07-24 12:28:52', 'admin', '2019-07-24 07:48:15', 'PRD-GZ1-DMZ_link_PRD-GZ1-SF', 37, NULL, 'DMZ-SF', '', NULL, NULL, '', 'DMZ-SF', '0017_0000000004', '0017_0000000001', '0024_0000000002'), - ('0018_0000000007', NULL, '0018_0000000007', 'admin', '2019-07-24 12:28:52', 'admin', '2019-07-24 07:49:16', 'PRD-GZ1-PARTNERNET_link_PRD-GZ1-ECN', 37, NULL, 'PARTNERNET-ECN', '', NULL, NULL, '', 'PARTNERNET-ECN', '0017_0000000005', '0017_0000000002', '0024_0000000006'), - ('0018_0000000008', NULL, '0018_0000000008', 'admin', '2019-07-24 12:28:53', 'admin', '2019-07-24 07:54:04', 'PRD-GZ1-INTERNET_link_PRD-GZ1-DMZ', 37, NULL, 'INTERNET-DMZ', '', NULL, NULL, '', 'INTERNET-DMZ', '0017_0000000006', '0017_0000000004', '0024_0000000007'), - ('0018_0000000009', NULL, '0018_0000000009', 'admin', '2019-07-24 12:28:54', 'admin', '2019-07-24 07:54:33', 'PRD-GZ1-INTRANET_link_PRD-GZ1-MGMT', 37, NULL, 'INTRANET-MGMT', '', NULL, NULL, '', 'INTRANET-MGMT', '0017_0000000007', '0017_0000000003', '0024_0000000008'); - -INSERT INTO `zone_link_design` (`guid`, `p_guid`, `r_guid`, `updated_by`, `updated_date`, `created_by`, `created_date`, `key_name`, `state`, `fixed_date`, `code`, `description`, `orchestration`, `biz_key`, `zone_design1`, `zone_design2`) VALUES - ('0024_0000000001', NULL, '0024_0000000001', 'admin', '2019-07-24 07:38:36', 'admin', '2019-07-24 07:38:35', 'PRD-MGMT_link_PRD-SF', 34, NULL, 'MGMT-SF', 'MGMT-SF', NULL, NULL, '0023_0000000003', '0023_0000000001'), - ('0024_0000000002', NULL, '0024_0000000002', 'admin', '2019-07-24 07:38:52', 'admin', '2019-07-24 07:38:52', 'PRD-DMZ_link_PRD-SF', 34, NULL, 'DMZ-SF', 'DMZ-SF', NULL, NULL, '0023_0000000002', '0023_0000000001'), - ('0024_0000000003', NULL, '0024_0000000003', 'admin', '2019-07-24 07:39:13', 'admin', '2019-07-24 07:39:13', 'PRD-ECN_link_PRD-SF', 34, NULL, 'ECN-SF', 'ECN-SF', NULL, NULL, '0023_0000000004', '0023_0000000001'), - ('0024_0000000004', NULL, '0024_0000000004', 'admin', '2019-07-24 10:24:53', 'admin', '2019-07-24 07:39:45', 'PRD-DMZ_link_PRD-MGMT', 34, NULL, 'MGMT-DMZ', 'MGMT-DMZ', NULL, NULL, '0023_0000000002', '0023_0000000003'), - ('0024_0000000005', NULL, '0024_0000000005', 'admin', '2019-07-24 07:40:00', 'admin', '2019-07-24 07:40:00', 'PRD-MGMT_link_PRD-ECN', 34, NULL, 'MGMT-ECN', 'MGMT-ECN', NULL, NULL, '0023_0000000003', '0023_0000000004'), - ('0024_0000000006', NULL, '0024_0000000006', 'admin', '2019-07-24 07:42:33', 'admin', '2019-07-24 07:42:33', 'PRD-PARTNERNET_link_PRD-ECN', 34, NULL, 'PARTNERNET-ECN', 'PARTNERNET-ECN', NULL, NULL, '0023_0000000007', '0023_0000000004'), - ('0024_0000000007', NULL, '0024_0000000007', 'admin', '2019-07-24 07:43:05', 'admin', '2019-07-24 07:43:04', 'PRD-INTERNET_link_PRD-DMZ', 34, NULL, 'INTERNET-DMZ', 'INTERNET-DMZ', NULL, NULL, '0023_0000000005', '0023_0000000002'), - ('0024_0000000008', NULL, '0024_0000000008', 'admin', '2019-07-24 07:43:40', 'admin', '2019-07-24 07:43:39', 'PRD-INTRANET_link_PRD-MGMT', 34, NULL, 'INTRANET-MGMT', 'INTRANET-MGMT', NULL, NULL, '0023_0000000006', '0023_0000000003'); - -INSERT INTO `adm_integrate_template` (`id_adm_integrate_template`, `ci_type_id`, `name`, `des`) VALUES - (2, 1, '查询系统设计下的子系统', '查询系统设计下的子系统'), - (3, 2, '查询子系统下的单元', '查询子系统下的单元'), - (4, 12, '查询主机及运行实例', '查询主机及运行实例'), - (5, 19, '查询数据中心节点下的主机', '查询数据中心节点下的主机'); - -INSERT INTO `adm_integrate_template_alias` (`id_alias`, `id_adm_ci_type`, `id_adm_integrate_template`, `alias`) VALUES - (11, 1, 2, '系统设计'), - (12, 2, 2, '2-1-子系统设计-系统设计'), - (13, 7, 2, '3-1-子系统-子系统设计'), - (14, 2, 3, '子系统设计'), - (15, 3, 3, '2-1-单元设计-子系统设计'), - (16, 8, 3, '3-1-单元-单元设计'), - (17, 12, 4, '主机'), - (18, 14, 4, '2-2-内网IP-使用'), - (19, 15, 4, '2-1-运行实例-主机'), - (20, 19, 5, '数据中心节点'), - (21, 20, 5, '2-1-资源集-DCN'), - (22, 12, 5, '3-1-主机-资源集'); - -INSERT INTO `adm_integrate_template_alias_attr` (`id_attr`, `id_alias`, `id_ci_type_attr`, `is_condition`, `is_displayed`, `mapping_name`, `filter`, `key_name`, `seq_no`, `cn_alias`, `sys_attr`) VALUES - (13, 11, 8, '1', '1', '编码', NULL, 'systemDesign$code', 1, NULL, NULL), - (14, 11, 15, '1', '1', '名称', NULL, 'systemDesign$name', 1, NULL, NULL), - (15, 11, 16, '1', '1', '业务群组', NULL, 'systemDesign$businessGroup', 1, NULL, NULL), - (16, 12, 24, '1', '1', '编码', NULL, 'systemDesign-subsysDesign$code', 1, NULL, NULL), - (17, 12, 32, '1', '1', '名称', NULL, 'systemDesign-subsysDesign$name', 1, NULL, NULL), - (18, 13, 114, '1', '1', '编码', NULL, 'systemDesign-subsysDesign-subsys$code', 1, NULL, NULL), - (19, 13, 122, '1', '1', '环境', NULL, 'systemDesign-subsysDesign-subsys$env', 1, NULL, NULL), - (20, 14, 24, '1', '1', '编码', NULL, 'subsysDesign$code', 1, NULL, NULL), - (21, 14, 32, '1', '1', '名称', NULL, 'subsysDesign$name', 1, NULL, NULL), - (22, 14, 33, '1', '1', '业务群组', NULL, 'subsysDesign$businessGroup', 1, NULL, NULL), - (23, 15, 42, '1', '1', '编码', NULL, 'subsysDesign-unitDesign$code', 1, NULL, NULL), - (24, 15, 52, '1', '1', '名称', NULL, 'subsysDesign-unitDesign$name', 1, NULL, NULL), - (25, 16, 126, '1', '1', '状态', NULL, 'subsysDesign-unitDesign-unit$state', 1, NULL, NULL), - (26, 16, 131, '1', '1', '编码', NULL, 'subsysDesign-unitDesign-unit$code', 1, NULL, NULL), - (27, 17, 215, '1', '1', '编码', NULL, 'host$code', 1, NULL, NULL), - (28, 17, 223, '1', '1', '名称', NULL, 'host$name', 1, NULL, NULL), - (29, 17, 224, '1', '1', '类型', NULL, 'host$type', 1, NULL, NULL), - (30, 17, 226, '1', '1', '内网IP', NULL, 'host$intranetIp', 1, NULL, NULL), - (31, 17, 231, '1', '1', '资产编码', NULL, 'host$assetCode', 1, NULL, NULL), - (32, 18, 261, '1', '1', '编码', NULL, 'host-ipAddr$code', 1, NULL, NULL), - (33, 18, 270, '1', '1', 'IP网段', NULL, 'host-ipAddr$networkSegment', 1, NULL, NULL), - (34, 19, 278, '1', '1', '编码', NULL, 'host-runningInstance$code', 1, NULL, NULL), - (35, 19, 287, '1', '1', '端口', NULL, 'host-runningInstance$port', 1, NULL, NULL), - (36, 19, 290, '1', '1', '实例磁盘(GB)', NULL, 'host-runningInstance$instanceDisk', 1, NULL, NULL), - (37, 20, 362, '1', '1', '编码', NULL, 'dcn$code', 1, NULL, NULL), - (38, 20, 371, '1', '1', '名称', NULL, 'dcn$name', 1, NULL, NULL), - (39, 21, 379, '1', '1', '编码', NULL, 'dcn-resourceSet$code', 1, NULL, NULL), - (40, 21, 388, '1', '1', '名称', NULL, 'dcn-resourceSet$name', 1, NULL, NULL), - (41, 21, 389, '1', '1', '环境', NULL, 'dcn-resourceSet$env', 1, NULL, NULL), - (42, 22, 215, '1', '1', '编码', NULL, 'dcn-resourceSet-host$code', 1, NULL, NULL), - (43, 22, 223, '1', '1', '名称', NULL, 'dcn-resourceSet-host$name', 1, NULL, NULL), - (44, 22, 226, '1', '1', '内网IP', NULL, 'dcn-resourceSet-host$intranetIp', 1, NULL, NULL), - (45, 22, 231, '1', '1', '资产编码', NULL, 'dcn-resourceSet-host$assetCode', 1, NULL, NULL); - -INSERT INTO `adm_integrate_template_relation` (`id_relation`, `child_alias_id`, `child_ref_attr_id`, `parent_alias_id`, `is_refered_from_parent`) VALUES - (7, 12, 31, 11, 0), - (8, 13, 121, 12, 0), - (9, 15, 49, 14, 0), - (10, 16, 139, 15, 0), - (11, 18, 226, 17, 1), - (12, 19, 286, 17, 0), - (13, 21, 386, 20, 0), - (14, 22, 222, 21, 0); - SET FOREIGN_KEY_CHECKS=1; diff --git a/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql b/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql index 41feb6450..f197f8186 100644 --- a/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql +++ b/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql @@ -25,505 +25,607 @@ INSERT INTO `adm_files` VALUES (23,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000018A1494441547801ED5D099854C5B5AEBADD7D6FB3884BE2026E094F515C12F37D2646991946167990206AA2F2F99E8A9AA7E133C2135460661070665814718B91A851F173275FE4B98028C8303342F2F0695CE312371617242E28D2F7F6DC5BEF3FCDF4706FD5ED9EEE99E9EEDB4DDFF9E6EB5BA74E6DE79CAA3A55E7545DC6CACF1E4D019E49EB670BA17D7C270B65825BC6090605065CCAECD99C3B9DD5C65700AAEF15D1B68FE31770E19CC918AF1442F4E92CA3727CF028C039DFC19868115C7B3C3C20727FD3453C26D7521180AA06F35C307CA160EC1019B91C2E5E0A80D19B21105735D7198FBA5BD1210034CCAF6A885FCF9833D58D507E2F350A6837B6D445AE8630A08F33A6259BB7BAC16A28333F498D52FE75A65635588DC9162646808AB9B15F329B3D9904FAFD42626C26F0577E824F01CE38A6F1F44A7B888D6DAD893EC5ABD788705BABF53A9485A3E496219F770567B35848FF5BEB0CFEBE1C5F0E07970215F3C440665B2761A09F837E7BA45A53FE76B8423F8E57CE35CF10B6785C41E07C69FFDEFA854BA7F09D4A5C19503414387B91E8F5C977D61226C4D972A531AA9FA131878D932310DEB85F44BFA4CC7C1FCA1419887848BC249EFA54FD8C3066F5939408CE6E79621AFF4681173900BACE206EF3FF649C0DC79477E8AEE6F04DA0C1EAB02E1E5C332DFA769137D1B7FAC4CB8A86D82D68E78D1E04F03E0C620C9055BB9016DAE0412CF2006D6CD91F9B8B98C32FC57C18F2B6372108A7B4C5794D6563ECCE837A19534B71E4239EDAB6EDE52478AF415BDCDB0B652CE484FD860B19AD28C223E68BBDEDCD56B370D8C4749A31C5110EE6CB664A53148DCBA2927E3C25DE77EC03B8F3D268622881070DE4669BF9087AFD4F336E8E102722CDA39436E3344580988AA7BE025004EDC9A88A55732D6C6BB37FCF08D9858434A32A1BADF12E50C9BE96B4008091D3FC3887E5CFBD218D8DA17FC6F93D7E3818037DD3FAE21631305CC4754F5B75CCE387C5E2E6090A92C6A7B7D41A0B5CF015950DE6DB18F2DD30448B1F0F6B10873F5FC73F72E196DC6BC98E00A6DD3658E6167636BF1A51A3DF20C387D7EA0B31127C29C32DA1E621E3147BB864050086AD7D65E640B37DCFCF49A21DF69E8CCFB89A878253E480921500E168DB64DE40AD3F6AF4ADC290E104C39EF9D1329C09ED7305566280921500430BBF8661DDB39CC572B0EF375FC7A5B99EB16FB7C7E7539C87B7481B36C2309295F653B24AE0EA5AFE59657D6C1D2460889785CEE48A0673285602EB211ED8FB11A708E128CA22468BF54DD7F04FBD694B2F54B20290609516AA678EFD8CC236214E80D67F8267789090E020552F814A3258B2530071ABA536B2123D7D49F69CE3F7B7CE8CA882937D46814F51D20240D4EFDB4FBF0CBA405A6F273797B0547C6AAFBDF54BDDB0527E2F79015831899B236AF533183680E0E2BE3D3533F9768DF319C3EBF4719426355E69C594BC0010BB689DDF8ADDBF3E7DF41F32AE3DA7B090879E3342FA40B84CCF6FDF1350504A15B047084092792BA7F02FA0F92B4B3BCEC41BAB6BF8BF92787BD2EF1E25007B1263336D6B512F03E9304B53D3EEB30D9934DA7E218E0EEFC584E53FE11DED85661F6A3A95B7659FAAB0298A56002EFDA388AC6AB05E86D5EED86E93D07126B7B59A93BB9B4F757DFCD4A69991A6EEE693CFF4453B05BCB9CD9AD223CCEF416ADBDC51B6997B30FB9C6455940240767AB8B35F9B138A742353EC2EFE0CE72C7EDD8D2CF29EB42805202EACDFA3F7F7CE3BB53229D0618D74DA2A13D420E0149D00244E3231F1CB2010CFAF0E18050641D1FC8D5F5C10614523A944BCD36E107D769AE6AD2A21F977618D0F8984235BD5382FC48CC76739C2F16CF572AEDD158D44667B313B0FD971C6311AAD8151513A7BE75C3BF68FE2FE272FE3DF759E4B61318A4A00769A16567EACFD448F8B701ABBAEA956FFBB0B92F2B5B2D1DC8C65E0462F82D8FCDC34FEB11796590823520D4E562F7563A38EFDBFDC665D0958C7316C777C90DE79457D4C5A1533168D1887AF9ACE252215B6DA55F3CDE3459CBD84DEE6115A58FBDE1CBCBF7EC29D97F178A16A58596FFE2FEA259D3DE0DB697B39283B8CED4EB21FC9342A0A1D00F32A17717187CC7C6A0C67DAC46C992F5E64BD772E670FE3FF017A9789926D58D3341F1772D1CF72E275D9E6956FFCA21080A10DF18B55CF1E309FF3FB9AEB22CDD9102DB68A0D34B7B2F59806C6E3FF3FCCCFD83A826593878CBBB636B28673E6E33F20262696AC72820085032F00D50BC5F7D1FF7D3658F817A1A87E75A6B4C4BCCCD1E32F6616A611C17E944C07C1FA31C1288E7092F06C7FC3616D3A24D2339D62E432A02436649B573EF1032F0076CCBA1E84FC9E4C14AEF1694D5771C5F357C6A3706C393BCD5CC1FE0F3DFE4F60B272F03301431CE110AE5F1E9DC1D64CD75F01FB1F94F12011E741F1EC103839BED0E1400BC0D0B9F14A1070824C240CFDEB9A6B227F92E17238FE0CAB04435783C12BF1FF13395E0E130EE1521A4A2BC777160E85F59998982C2F9EC0096C36DF0B0B4EC8A35107A75A8C91B1E7CDADD61DD8F1F30CCB30DCB5F130FB2D84C03BDCBEC822E657EC50AC05E0F0C94E416F3FB3CDEEDADC8EF4C3907658EC69F63E2685C731BFAF1311F677631FB6899FC852AE369A66F00F2B1BAC3F60C4FA6F0F2D85180D435175100D4581158094C61ECE6E6E9E6EBC662E67F74002E8DE9B08981D8E7DB6EB2A5B8F5478B82005387B210111B2DBF86E3CE43510794F85404C65701243190C42614328C8EC0BBB327BCC18C32ED99D02772B44238D6D3BAD8B21B8FDDCF07643D1496E5810DE033905A432F6A0276EEA65E8B38970B804B73718D317FF061815CA82981B712A78427434ABA27F7A47DA8D99A6A7B21265A26CD4A18F9C8EF4128DB31B64384685401A8A02290016B36EF335F6687CD2B357D3FDB778B2D5D839FB177AECD4286783F4D16C0984C9A17F7A2718C5A167F7885B58D4D06F427EEAA192001A8A02270038AA3D0E579A8D957B10B96BB7D418CB3AE08A5F4F478CE7058C784BD3D88C2886F3E82FD8223E860673EF43308A231CC2A5345E8CEC420921E5DA1C39154681414E6BDC3365C838F90E074A00C8D80322F91A7BA0615FD11971D0A34905D882DF27300C4F0F85D98960EC6063349B0F26A77109DF9533E1102EA5A1B49407E5D59E27E5ED7DD28C42A12191BB21B4EF7A13904AEBCC82A1A8DBBB8F72BE5D0D074A09DC19B366A12187C98D0123EA49C3F6C07D888F9E3B03CCF3D934F2A4CC28A08FC2BE014BFC27F0A1744E830464BC9C23FF409C41AC85483EE62E10FA43A00C45811901AA1BCDE34028B2A0791E2CF7DE3C7A7FFD460F90023E5300168CD0CB72F37425EFD63A632946810D4A8D1C76CDF0B9EAE69682970740200400C33EB71DB1B8A78C3D79A05BC64504DD50140801E849634FC69CC91362D00D450517809E32F6E4899F5D2A26A5A18859F55DCAB00713155C007AC2D8D383F4C84956290D45304717DA50545001A86E885740B39E20533D53638F9C2EC8E1A01A8A0A260064EC6913CE626CFA60F5B6FB21630F34FC89B2B167374671BEED5AC67218B7A4A7DD502441F3162C9800FCE373729A548F7561797F0B2E727C356F14C86341E15E113887A8771414F244514104808C3DD810A14D1FCF835DB74DBDA31105EE412AE2405A435183F9AB4234AD20020037296CF7FA6C87BA8D3D85A0461ECA4C6928626C6E214E14E55D008636C64762C3E77499D6E8FDCF7B8C3D3242A1C3A8744F54810C45D07AFCCCC5839C75F1F37AA28C6CF2C8BB008479F825687D8A2F1FE6FE9F54CE15FB6753F962C585A25B25D73DA1FC469CF5323CD7E1BC0B40E2A084A6A9DEBC42ECCB1C4BDDF34F4101089162DD835EA1387CA6489E35D82F6FAEA975E82CE3AA86382EA614E3143C4DDCD57C4D54B11E2A783D0CC8BB0050FDE1D0B9043F2D725B4098F32BE7C687CA70BF303C023FF0811FE103EB1910674ADE29EA90B63C47D88A45114BDE1DA188715DDA84398A2C8800D01A3F12E113E147AF3A58DACE1DB447D0697B391C36A507A342A79EBF52928C83BE79FBD4215D86431B626311AF781B43B9B8A950D7D216440088486BA61B6F40AD5A24130CBAD660EC11A853848C1862AFC8200CD383ACE5ECE732BCBB616B253B09792B5F566561B50EA9CAA2FB8C6CC1E7C9F110AC6D7BF553BF6120E3E52A5C3001A006ED7B807E1D76FD3E921B871E5157552F7E28C3DD6163147B0B2B8797DC307A47DAFF9261DD0D3B6D6A9E28FB656324FB47A679E3CBEC17FA6D7C418F68C0C5948A3E9369BEDDC52BA800D0F9F9106357288D10A29760740B48278F60F7CB18E8A9175ACFE0B8570F3DED794DF0C94E29DB072701A2EF16E2AECA39723C84E8C3038F34D4ED61193187E1820A00B56B6D5DF4492C81763B7BB6371653C1183888A6DD1D33C2EC611031E6A60F468010BE8F88C319185BBAF9501EB6C36EA73CDD59519946883DE486A57B77B698BF435E87CA386877DDD273E4934432566EC30517006A9E11D1279326AC3455889BAB6F973EE4E042E2A3D8563047D95401CA29E8B9D7BA50BBF46AAD603331A70C911383990BA96C19EE17AEBE49ECE3083E438DE3AFACADD5331622357DCF400221007419055CFC66CB4D02730FB1BF885F27C3DDE1E80170D4E46CB31B46EF60D22C1CF63C5B86671AA6B4287FB60FFE96683873E7D0B66FADE9A8CD7E6A3E1A3C8EB1902CF0130801201A68438C9B3124BEA6D2435C71EA7CCB774E275F429CD5FB0E5EC3CAAA81866F7C0E6449574EFB521A4A4B79C8F5C1B981ABD1FB3DA315D543C6A3308C5E072387494A1C676B82F23D82C00840E29AD590467B039E5E015D20DC46B7834844AE6A30A75735580F9DFD9808C197FF11CCCB77C9844646BD007B0ABD79BC1C972A0CF7EF7331EC3FD99ED683068DFD6E94F5B01B58D168CEC281D0FBA81E6E38BD5BCC9C83A188EAE0794221BF1B453C28790B044600A8C52D35111CD814F7C8AD87109C8C1DC28EE51D94C36B1D21E6013EFED377AC7B698D6D1CCE7E87DEF65725AD6011F4E487622BD88D623933E4F86498E2D0F31782F10FE35F4FC25DBF7F330E6397BBC28C8490393475890B3E7DDB7AC06DCDAB5A600EC68836C18D9F78E77CE9DA19BAEA2AAE20E607102801A0261B9A310DE3A9622C424F9A4FC62230BF11A3C19C2479F07EFEAA46EB2E768C88636EA655C3C6645CF2B77D3A988233611B20086392F0E42FC1280E787412D86F38DF188DB25FF163D1A9DB9F8A86D81412C2649884D17EC17A24B98B292C361775F38C0A1088364D17B5C93441F80DE42D6115F5D64538FFAB8C04F0A67903BDED585FC27136B9B52E7AAB58C90E356DB60A8C1CE48B0720A60BD2359E6F8F1F06DCE353E232F6AEA1B3117CE46EC1AAAA8F0F7398BDDA2F0D98FC8466680B6DD36E96E351EEE296BAE844199E8F7051DD12D65217B90F44695109E3CF7C10F6D9FEBD8D840E00056D13185605D8AB6AFA5D106238FE27B7FFA7663EF2300C56E9663EE5B0B62EBC068AE71FFCF2C74870BA6D0A655F2361F0D18D8E91CB2F6D2160819B028808698D45129580FB74DF7EC6E94BA7F09DC9283E827D66F463156092CF2892C44AFF8BB4F7521E94978C49F56BAE8B5E8E1B466F96E376851D65D907BDA260061FFF3AEE82065200A86A096311578D45EEC660B85D76D020FD2CBF8F3CF10AF60DDDDE01CD7D1C66F58C366D12790397D220EDC59487BB3CF9BDA54E87632B5F20C3E530948A821A7CE4FAB8C38115005A5661417898BBB2EE77E86ACB4315FAD99D6DA5E2169027A221361053C224FCBFE7CEC3FD4E718413EDC5FE8DD2B8E3D2BDB7CE34A64310EBD3E168A1D00D8534F8A4AB5B385D64A1E26839F5E90BD603D0A2CF4D55070CD122D34FB4B46FDCDC8639FFF6B6956C88BD4BE93BA63DEF3743500AC3A3D80B1000275579E9E02D338D6BABEA4D079FA19DE587E7D8CEAFB1257C67D395FC2BBFF842C2F22E00B4B76F7F6D8DC0B2EE48EEF0BDD19371BD137F69F88CF0FAD93099256E076BB51E81B67F563AC240387E5135D73CABB9C6F84B3A3C775C3B8349B9F45130DD985D78E7E25BB245FB3D500C7F6AEFB0568F5A2446D297CB082771244CF053D0CEFE98A26298263E125C7FAEA5867FEE9747AE60795B060E6F140762676C16AEC8B818CC533664C09C4FB8D016E056D091C4DC4C1A0CA26D0EED670C6EBA9C7F9B097EAE70C8E0833D7F4C2F7E7BFEBB4B85F2F82A3634B1E52DAE86500CDE1D937CE334022D8BE8A266CDB4E8DB49684FFC167419880B1F4F3685F90AF6D727FA319F1A88E1B9BFC39C9BD3301FBB84DE071DEE10FBCB78C19756A90D3E527D85F811ED6FF8339F7005743271563CCE5FC60891F1F6B5B794EC42395702E99A77CC81CF62783C30BBAAEDC6C6726B51B8C2A8C6FAF0F5DDD0F6372126A5321629B83900A434F808FE1656085DD229D01B7AA1B33C98B8302B0775766799530120650EEE548F41E2FBBA0BCDEA9DF3F9586E4D25858F6BDA6F21049E991679FB1A8BB22AA31BC87166CE2686C9598422FC024DE31761D8B7E5B8CCC2892B66EFC7C559076486DF35AC9C2A81B812ED420C6947CB5523A28071CDD00736216E38700E9671284C3D1FCCEF70A6206311F6E0EF41D4256E7CE475322C83CB10975F050A1F22463D2E40FDDDD5814EC7FFDC6EF0D95031DF6CC3BDA20F00052A8BFC247C019F42C43E881D8AE9AF8F1743F4DB69C6A9FDD86FC8CD935301C09568E749B40153D9E721C6C734D5192F269B54591F5F29987D5A329CFC15CCF928F99EFC256391659BE340F2EF2761F40B21385D2ECB1D9F8B7794A9640BE6B77143D4242342B6F6892D6C95F97029B707E9C7AD3F67D70E66F53CF103BBCD7A02797AB7A685337EB6105367638594CCB3277F733A05A00F0F512ACBF994A63ABD83F914DF3233320AA3C13B0A2EC35E9CF4D0C922C1B46B247070825CDCED3EE103C5566903E8F2CD5EFD8C6392CCA7CAD3FD01E1083F5F6E0844ECA055F3CC2364784F85732600740D9A9FC61F32F467FC2ACF43FC0619CE851820C3289C301671D6EA17574818A6B61D21D9E0E3D3062C0597F86D5FD35532980A54DB030BF5CF55BB722600A188D75B37D900C731F74DBEBB7FE1BFB58F3B9C78973C7E93F120B48884392984F1242C08BFE8AD3E061F2D26D70DD5EF27C3289CF02A127C2F390ED38292878CD3D570CE74003A065D591FDB26CFD58EA95D86CA5EE5AEF0E85B85F1CDD7D604599902CE076E3CF73B198B7013E78598737D3654DC98F97BEFDB4F5F289786A9FB43EC71781FCEC68E5C2006C89FAAFBF4DD38A600F5DE847038A2E842DE0CBB1ECA990024AAC4F90A2C91A4794D5C09C6C5B9A62F6A9EC1B60D5B601DF3ED76F316E01F2B37039F855921C3DC61DCC4F9B03B1CC47787336A83D76C8C93D03B2DEB596C904D3CE088F03AF303D6FB2B2B7E81E388EBE53640C05FCEE5B9C19C4D01D4107CD26DB1DC2048B806A1982E6C736B65A3B5231E17AFA3876029A83C1BB5FEFA72055A6480D69AE83B58F93CAF565B1C6BDB76337C1A777C11B7BE86B2F87BBFDE0F2ADEA1A6ED39484E05009F745B87F9FAC194D5F5D940E9C0E5FCAAA68B78CEE6BE8E72F2F012E2DA54D0C1F42B2AA1284B1ECF493CA479E9A0A322B4EF91B327A70240B5DE677FFD520C631BB26901F0E7D145CBD9A409326EE2B3B69CFD06BD39F3B53CC7B5F74C3F03FE0E5DDC49CC8C223917003A00DA2BAA9F0A697EB4B32A81F1308B6A93605FEFD848E92C4DB1C4E3EABB07B8467723ED3207A7AB3768B5AE57C4F859735D62A7341D6AB7E3722E0054435A11B4D419E37928540D262F0311BEF3D49CA45D63B771AE0F6A99A9DFE6892BA1404B6DF4E968441FA8313E074BD8B7DC4D035DDAA02BACD6381FDF5CAB57C82B04376E4FBEE7CD1FC05D6972FAF8E7E76C405BD8EA17B1F5ADAB6BE114B2073E7010D9CFB2ACFE3CAEC79C43D8965CEA3CA9FC0172BB0C4CC1D4F68F3DE76C6D9BA2D8C081DBBD83121E4285AA5C5EA6804235AE5C6EE714280B40E7342A698CB20094347B3B6F5C59003AA75149634000D4CD09278EEFF1969F92A2803F4FB943E72B946353716E1D5752AD2F37065FBA56794ABCA71180FCF2BC8FE043BD8072A8E829E0CB53BE099B52EC39B9717040B8BCD01F3392EB540E779D02C44BE2A9920378AF8570658912C1840E93ED325CCBA2FAF4A9C86548802990E021780953B372ED0DF13EE1AD0A078DBF80E167AAED8082C8D9FF00E9AFD8ABFF271C5B32B766A999952179A200F8A5E160C911E0D7CFE1B88CABE9E9C491F470FE382CAE67EDDA0A0EE95731DBAA861048FE7AE4BCC1CE4446678A9C1A25A5CA9583DDA200F895FEE1FC4B463CC793908CD619FC7D08C9394173B24CDF8A726C9728408EB4E07582E74901A08C7071E1AA90A60DA7831B5DCAB89C28F014481CCA018F89D7C9CA7AE686B53591169D1BC7037131D9A79348E5DFE2A640BBAFC162E22DF1D8DD9A8412E80624DFE950622C161F8BF3FA9558421C8C4CF6833E90123F99AEFC1B000A6087073CFB023CDBC2056F8946234FC22947D9F00B404DCB552853A04C813205CA142853A04C813205CA1428040502A5D59FBE40ECF5A56D8D2A0421F25DA6C6B42D5892ADCF77B9727905F10A962B910C6FB7AD83852D7C8C53498CD2F9B5B9F3385A93F62EC47CB4D6B311948F02CB65048B02650108163FF25E9BB200E49DE4C12A30503A80E6E83B39B336048B4439ABCDBB39CBB99C719902650A9429901105FE1F560CE88BB1690FF80000000049454E44AE426082'), (24,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000158A494441547801ED5D0B9814D5953EB7BABB7A188206038828B0F81609AE462509330801445440FC842446A32E312E311245549E0BC8F052D42F9A3509F105CB262A4920222F411D99594982ACC40DEB2A04230AA8C8C317D355DD5577FFDBD093AEBAD5EFAAEA9E99BA7C43D73DF7DC73CF3DE7D4BDE73E8B28086D5A022C9FDACFE25CD9BB9842F9E006389521816E3F24631663662E6E1C0D60E093BC2AB137FE7DC6CDD144AC9673DE3E17A120BDF224C018FB82883770A6AC08778B2CADBF89C5EC5C4A0630A04EFB3614BE88139D62470EE22D570250F4FB3088499BA6479F49AF45B30188667E635DFC3E22F3CE7484E0B9B5494079A0617AE42E1803DE71222555BD17EBF4BA40F92969B4E65FF3CE0175FADC540D932D40CDBCD89564D0AA14D0E917166310C7BF2054BE04183174E3D99DF6108D689C5AF53C1BF8320F271AF5BFC25938CB5E33D0D9C119CDA490FAA7C6296C973D3D8857AE046AE6F353C9D0FBA1A19F8DF7F60C9953F656B846EDC36AE769577183AF9010185B7E52B57AC3F289AC494A0B002D4602631EE4EDF61DD19710E763EC4CA355BF4A219346D91310DF7D42441D1728DF41322D0C247428742974EAC03A0C80533F2981D14F9FBB877D26C103408B94405297D0A9C43C74AF10A36EF6849012DA628705F1962D01479D42F70ABCC5E3ED550B9961A7E6C28E16C45B90049C742A74DF3C0F905E17251C0CF7D2E5D11A9E33E9D4D1005A4385833AE42781C000F29353ABC50A0CA0D5AA36BF8A85F343F3070B4E099B3D1BE3922C61E64CE2A9858C2C68654BCAA70E82B959B372AFD5FB510956332726CDEF5745A23D374E66BBBD6660401DEFCE997E1DE734126E676F4C471F97B34CAC6231E21FC30C3673622BC3A7447EE3B4CE9D938E8B083573E24388196360B943C1D32998758BE4220F23D680F32EA6DBD731853DFDCAD4C8E65C794A491FB280F788C5B577ED34CA620062C389B1479F0DA54FC03C75959DA942E210BA58E79E8C75EEFF2C249F1BB88316E8E7C5E3E623A0555B2A3DD4617584AB3F796906FB5BA9B49CF2673200DF7D80DAB9FC24E37D7D139ACABB4B55BEA8A8D8B86272BE6C405DECDFC5C29653E5BD80D5D46963E271FE2A6897AC7CC11FE47185CEF42DB573E383BDE037134D5F0D60E442DE819BFA0628FEA24C0C150B3739FDC878557BB8D8FC85E4AB9D1BBB0296F734D4565D48BE9CB89C7724D37CBEB64EBF3827AE4B08BE1AC0415D7F0C423BD725DE2532DCA4F13575FAF552828B00D1947293FD1AF5F04476475B457325CA9166685DAC463329DF9ACCDA79F1FEDC30C636979CFEC0D80AF4E54B4211756B872FD3C1F424FBF3E787F45E46825D68129F8C76F36C7B3A7173C1885FF2DFADBA851D91D25C006809B1734A7656E1CC7D8EF1CB7C464ABD1A0E6F6FD791E2998A3B7490A2E144E23C839943E1004F023D351D17B09362097D326053D2E15E3CFB66006498774B158047AF3076E3A669EA52292D33603B92B6C3917C068EE4CFD177DE6843ED76E8E3F875802DB6C14B8E7EAB8E9FAC73FD7B3221B63D1456AFAC9FC2FE2EA739428471D68BBF8173B5DF1826AD15BE4C3A265E88DBB0967FAFD74BF29E3463E91511CF7823AB31761B6A8743FF3F2B50F9CD24C4D0EF4BC7A9FF0AEFF97F9B81A907CEAF4A3DBAF91BE7F19152D3CF583CACB0EB0A50BE85A5FA69D1BF320A89F57A4B8061B7FF30A64932B320B910F1C5000E1F489C8FE6BA9D855F689F2BD19916588191B51398C618CDB567C3DBF34D3BCC9D3897E862CBD5EFEAA7A9DB4AA1BF6946E405E46FB0D3300D269567C72935EE8B0170D3EC66671482DB897D8687ECF082E3112EED5DC0DB73BC68750AA6952B03E3523D3893CBCF45C6299D3145AA078C5B2ACF296F29307F7C00C63AA205B0F2C9B82B9B4C958BA2EF988D6252CD1A3ED99F98583B47FFC40A2D35C6BBA30BB01009117BC70228328217629795320871EA5824B9BCB3F9630079B3533862E7FDC4F7396433B931C7015C12084B1507D0BD58822936D5B5E0E04B17D082E5D3EA590F0CA0D5AB387B050303C82E9F569FDAE27D804C1AC2FCC07AA449C7A133E1E703C742F40598AAFD4A3EB82D05A7D51A4084D4712F4D677BDC5444ED1CEDBF410F2381D613822EA0F5E8B2A89AF863009C1CCE17626EC085B07FB7F3583952ED5466890532992637DCA907CEF33AC9C3D52ECCA9F63E19009387EA9CFABAB181C3D0125FB3570CFDBFB67E22CBBAAA68CF93675CAE87624AE5E749CB82867932890EEAB1D782E441C4170308ABE1FFB3F32ED6BD8D57F56BECF082E3A62956FE2C01C294CAB3201419C18CCF9BF6AC98C11B2936BAD8E185C4872EC41433A341F63C4EE5D9714A8DFB6200F5F730B16F4F3850D660F247C412AB15987F6CC03CED6A1892640098AD7B2E7F2AF96386424CA20B63EB7E28AEFF347F2A56CC31CFF250535C7F4CAC5F5852B058168A449EB7C03C88F86200826FEC967DDCCE3F2CBC539CB4D7C5FEBA59581BB4A7678A8B851E78E4F3B003E8590907CBB3589B5F2AC15D00D44F8EBC865BD3FE622705E5DD5453177B61C01CDECB9E962D8EBD007D3E785B7F15EB24C3ED78D8F9BC5EBC3876B8DB71DF8681BD3B477EF5E647FAED7863CF48AF04DEA0CE308F677147D1E710E2368CB573F5DDBD0EEFD77B834EC871169EF1C5589BDF995E865BCF68C538366DDEC34D639D4493D35093B45DD866BF9B18DB8EAE21E38E20387C51F07E5EC2E45D253A490033C36136D939CD5DA86F06B0F81616AF99AF7F17771135487B03502728F44BF8AF06BFB96B980105DBB2FE27F465D553C1354C8BACC7A6D047D0FADC9681D11EA85F8F0C2C1ECD923511280A4D7D79B22AB53419CA2B099C77B35B5229C732374E51B73285AEC51BE2302C2CAD04AC9DEF44D33FB2FE56ECCDF338743D237A078CEDB75E14837AFCAC715A74A117B49D68FA6A00828186A9D195616203E0F5FECD89A16260689A57575747FB15BB2DABD032978F65C6A6E9EA58943B133E815E687E277CD0FA8298726BC3F4AA4C2D8B53B69261BE1B80E0B87EBAFA5AEFCED173B083768268B68BAA059C3D18D106DC7C7169C3F4E8951E8DFB33B226FC01947BAF42EAD968D19EC05F71BB9B187D8856F19190AA9EDE385D7D3463811E2594E56898BD2E49EF39A49D83814037CEB17B9893C55184A12C439E3F8B7CD85C7A18C2DF1BAA0E6FADBF831DB6D32A575C4C6A2536C7BF4626EF8156A1339CC0D03F78E1F7C3B789FE238E6E5E2138C44AC3E0A9916DB3F2B8D4393D6F31CF998E86F9E60466637AD30CF60ED2C51F612420B65D5B0D80D14634B94B447AA586FA412CD1B48EAA15834E572FA785E8CB9B6FEA164356F06D3100CC296C84A3B7BD615A796B54962EA0BC5576BF740C6599B686A6E12ED50DD0FA3C3CAFE7EBA98BFB25B94F31308012650A4577D7D6D27A9C4DACC3E82ED9ECE37748CCA06DB1B5747989E43DCF1E18409122E66B280A05DFA525683B5A80A112191CEFC25CC1EAA635F474D7E8DF313B5D9921308002F5C25FA6B0BE8EAED738BD0905DF87B73DFB4210A76F3FDEBB6FF5CD274FA18E910F0B2CCD7BF4C000F29431DEF8CEB1D5F493D811DA6918B4148ACF7BDE3F82034C634F7C8896F5399326749F40A755FB32C99757CD2A62149017A73E23E1EA877689C3748121AED265340C474FBE05A5679517DAF923C0DD872EE134277655DC0A33A2F3E2E45F9C479F8BACA6673107B0395A457F6683E803A73C5EC3B256C8EBC22B813EDEEA0731B77031E61EC250202629498502BB6887A98BF0EE933C42F3B902867DEBB13C35BECAA0BD31861101D15DC89FF1FA1BB40AA782E6647423845685C0C76788EF41894DC827169212E2AF4AA5916C287D82674F429B370008FC3C28BFBF906E52CFC7940D25E415A078713A7952D5E5B4362DC3BFF117E9F198460B40F43B69F08C8F284EF812671F65220D2D4E6A5ACCF5C7C0072852A478C3FF82D9BC6BA3C3A9AF4DF9498A6C30BDDBEE72FA6E2842E79B2CFC5BE01B4516E569B6A0052840BC78DBBFC09BFA07FC2EAD1A4EE2DC41CEA05E4A383A9E18135B03BF80D138DC0EF81DD0E89533630A01A74F538F5EFC06069045AA5034467BF43A34F027FC35AA5D680DBB108E5E1101AD8458FD9C2AFEF435F475D015D7C3F4C36F3FC03A1541D2952C8101388951C15D3F117A2C1AA2DDF0CE8533E66AC05AC11F4150FC258398364E987426FE1A5230BF7E03037092B4493BAA86D02EA7242F606C187D8409A64F1345B52DA571143881A5C9AFC5E70E0CA05254D8240D007DE12C30005FC45CB985040650B9BAF185B3C0007C1173E5165271A3006C12DD878313EF5844A670314FDE36435B98081A3C979F6886F44E3CC13A6049E651685AFC59C2C005F19A2420C163A4F0CFE32175CF7F051FB7B4C8A89848D95A804BEFE7ED639A7E07EEFABF5933B51E47B750625E4CAC83E50A985567A6CE6BEBB42D3845733FCE1A78724823171BAD21BD2C3E006E0EBFA449D37640F97320C41E45091297F6E150E6C5F8F0F5729CC7DB34F0BE4CE7EC8AA2DE6632F96E0003EAB4EFE1EAD80D98073FC94529D71A9AB665D0C2D8592ED26C13A47C35808175F11AEC9E7D028727236E4B179DC729099DADAA99EF78D58ADBC5B51A7ABEF900C31FE6D1CF3ED59641728E1B1CB0DAF6018E576D457AD6E3E13861D30B2385F3D1FCB7B76B01696790A12F027C9C3D2D883B4BC03703F8FC33ED4798ECEC6967034BAEEFE12E8C1F1CBB32DD9EEC1817B76AECDBA14FC2F1ABD93004CB891B18D20D03166A8B36DD1395AE737124D6C681FE750126BBC92E6B287F5FA82A7A4121CA1734C4E95C71841ADF1B1969A70983089971FABE1D1EC49D25E08B01F4175F0B23FE55990536BE7E12FB5886E707118603237A4CC2E63442826502385C61079A276442F70CAE64285397AFA67393075F0C001E9FF502A4640DD891AE67AA255F828417FE1907819C819600BD41EE00AC031296ED74B294EE0120C1AC0762451130C404BB9C3EF5A0B86692BE1840C2D0E4AF77307A4334E5CD9C14F9D0BE7D58BE7D0C5FE11AF4007D251F9210C05B763C18C5D97698D7F184414E43588937B7F9F0C500148385EC8CE3162C57F6BA1F778AF39E7925663D8E6D2F3F15C7DD64C97B075271F18BA6A33F5FE7EA3C453A79C76738B463ED09E043E2CD8E536ADC17032895492FF3473BD12BD0F847E96560922AAC9BF42FE9302F9F631BE954F030D85E06E63696DB616EC7DBBC0160976F1C7DAD989FB0044C58DD2C4E005B805E4534FA318CCEEEB3ECC19983BCB69E97C2966FF300A530594C5E7CE0715ECD1C2DAFAC13DF6E38FE81D387D8717BC68E6EE39E694F7033AEADA73EDCA01F4B1BC2182D81619A6E96E544ABD51A005EA751187A3A8C3E6431BCF1690DBDF1590DF5EDD0684944BF3C59DB404F4787CA77045B108B8C88B71E770C2C86F22D53E3507C1CE70CE5E16D91E564CBD6E6BB8094707EFEFE22D1065B4625E8835553A7A7B0653BE321CF54FE627EF5B5242EC4FA863D2F0CE38176C38EDE99644F733B1E18C03189EE6CFA676A323B3CE920E08BB526FA0F873EDA01357F10EE11BA0606365FCA81A9F1AA30D549708F00E53400BBD3535415F777969CA7A2E8884C4FEDBF572844BAC603CABF06F700DD5F34615BC6F87AFA2694EF68540AA3DB7150E40B5B16CFA23EF9002AFC29AB4306019CEE4AAD36EBCE74145CD546ACA0FABD14BFFD83F1EC8E9BD02CAF027F96B90B18C19D38E09980673E057D34928B0B4D6B69A091A0152020772B70FC40FFF7C5512E2E5741022AAE08A288424734BB3FCBE9D4818B78A752D602043FA6C970B8D2A60FDCDAD9302D2A37AF7954005A592B2E7F82FFFDA01D1D46700FD27A62787823A668AD166D4776886BABE95A5C08F124B8755A127FB5AA27FDD0219BA7205FBA00234E079277E1DAAA9288690B6CA082A2625FA149E60C874C8D0EB0BC4138FAFD109AE2271C33E0C28718A75760086739A63B00C57533C07F0053CCCB32287F37FAFDD1EC5C72E5DE61071632827C3180FA594C9CB05D2771C1691C3EF07C9B04CF03203ED3D214D39FC2CB7F9A84CED90A09562040ED49E3D1D4AFC990AD1FCADD862EE14E716B58069C2438BE966A70DDCC36BCF913D182C87E0F662195305D210E8866A3E3555A56E6DD2C9487D87C0CB2AEC676308B1038990FD7D6C546E1F3E94B4321BE3561A807B395ABB0C43F19A671D1C1B83611783D255C46EF76382EF26B095E2040BC8D50EE28DCDF235A82EBEDD9A14CD1872F42FA6D78BB1F8C76A027594DF29E1F54911478F9626AF76E1CF91E62CF9B8A4310BBF07C697458F2EE8014D8D75F5F2F8BC636EE27B04C7B939735642136C6CD6DE2E2AD152300FCDE998D6F285378396FC1BC0FE3B92FF0A52D6BE9F981B32D5A4DC3FDBA1D2CD365D1BE7401A98A77AD566FC522F76BA9B8DBBFF033EE7353F9823FE1F1E3768F49387FF0033C675C9B47DFAEE0EF1C740DDFC8A57C74044BA38C2EF14BF9D9E4ECAB012C9FC89AA28A7A1904509F8DA962D230E49BBF699A779F8B69379C1EC78D217D60042F14C35F320FA3BD5818BF129747DDE0F5468F7C79F4D50004532F4E6507C2FD31BBAEB0E978BF32BE51F956006FFDDB2146231B6644A7E2192FA177018EDA7B680D8685140C031DBE2198A964D17200FFA1AA76746ED565B43A135E39E0BE3981E9951377EB233E17F300BF4CC4E263B1E8350A4D676FCED889B9CF0CB023D0F35E7C39E28F68495686FAAB7F38462FBD084F9FD5E1B404CDFC52387A43C0C304147619E2922C9346C2E8D1683B7A0ACDBDE7DF322AA6D212D3C5102936CFB149A0E6C3A0621FDF2D8B6541A6D3175F1F4B8F97EB59F806287B83F8E3AF5175E2005D681AD41DFB0854287E3FAE7F7D1D7705EE29177FF9965B5603B03379AC09AF0805DB79CB163F7675DCA66C38959AE6BB0F50A98268AB7C0506D056357FACDE81010406D0C625D0C6AB1FB4008101B47109B4F1EAA305C005E6B680D3B5965DAAB6E420DA0225E0AC536662DF0397D6A1E34CEFD302EB18B09C45024E3A15BA172DC07B523ECE2E916001A0654BC051A7EC3D0573D9623AD31270A0E2D6DAB95A5F0B3088B45809085D0A9D4A1580EE9510630E0710B98A459995B8CEADBF942900B428092475085D62E3ACB41155E81EEB16E28BDDDAEFA1F0D172CDE020327C23075FB7C0F7ED7662F5437218E53C01A4DC1280BE14EC413C1DFAFA3A96AC4641F9F2709FB1158DD3A3571F5D0C0AA99370BBD6401841472BF3C8C86934088DC601C620B41009405FD903B6CD93D03942D2321AA7B05D3092B1D8FFD4E256E2B2D73448952420740C5D27759E320081D43823B231A42883B1CEBD5FCA14005A8504846E858E85AE5315B2F40DAF4C8D34A82CFA5520FE027BECC4AE9D20B40209085D0A9D0ADD0A1DA75729E904A60352CF3875D325168B8FC095CCB518429C0C2227C01FC8889FCA17FC56800430C3039D1D84CEF630CE1AAAAA22AB5EB88B49137E15C069C0422081400281040209041208241048209040392450515EBD38F27DC8D0879543107E97A990B20743B2CD7E976B2FAFA2CE057C6AE8278B6F00D9996C8D718399E20E83ABCB5D37CB4450B99909CAF75F028101F82FF38A2A3130808A5287FFCC54940FA0986A13237D8BFF62284B893BCA526A50682081400281049A25F0FFCE0DE132F3F3CEFF0000000049454E44AE426082'), (25,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000220C494441547801ED5D097C1445D6AFEA99E949B83C1114415D7751C4FB5E4842385CD445D7135D5D57D95DEF5B5124090A9B04F0763DD6630F3C5677156F76C583232441C155BCE5130F944B94552E49A67B66BABEFF9BC924DD55DD93C9CC6432E034BF3055AF5E9DEF75D5ABF75E553356787ED423C053E9FDA8E962BB90603BA5825BC0C98F1128E2ECBB3937F08DEDB5C69501CA6788A2C89AF06FB9B04E668C970A21BAB75750213DFF468073BE8531D120B8F69C7FB7C0A375E378486EA5C2006535C61920F86D82B1DD65E4427CEB1D01107A1518627C7D55F0497B2F5A1960B210DA9C9AF02D8C59D7DA110AE16D6D04B4DB1BAA02D78119F08E33A625BA37B7C6AC29103F311ADBF2AF756D598D599BE8616C0628991A1AC3A26C5602E8F60B8E8932817F8527FF4780338E65DC97B4A13E76426345D1BF79F97CE18F349A1F4258D847CE80723E159CDDC47CFAE2C689FC0B39BD10CFDF112899267EC2A2E65198E8A7E0BDFD99DA52FE89BF44DF9F974E354E1251F19C82C0F9CC5DBBE9E7CEBC86372B6905C0563302A7DF218ABF6E321F61429C2E371AB3FA491AB3D8AFE404C457EC18D07F5F20BECBC86C6520A221D19268EAD2743080604729099CFDE9C5097CB3022F00B6CA1188D11234551A0FDA6B8CB3DDE4049FE6FBAF0C2BC4B7EE1170A52968AF415ADC4EEE9ACFF2BB4D17325A21BE158D801B4D89F6AD7A007B5F347F61BB671F8F6D21EC45535706C8F70E83735B3598F9DED67C6F9F3FDF1B48ED1B3635FC73CB8A8E63829723DABFACD60C945687D6C350B5082A8FB93ECEE7D45506A1CB283C1D1D81BC66805FDC2ABA3787CC87A3D1E869F18EB52822E33F3B437935068BD5988810ACB4DAF8806BAC664485FEF464CEAD8E0EC48F153F6F9780B21AD1BFC9301BA1C56A217E721201EF00CB124FC2A6F16159AD71566199483E5E89D4BC6480D39F123E8B99CF427B7570A2A1A9FE82110681111E2FAD355E25264A35DF8F152F2F19E0EB65C69520FEE1191145B05182991F94D498E76454CE369E39EF18A0FC4EB13D8C507F94C79DAC9180DFCA7DBE12EEE3837D1A3B1E5AAC5A7274907113F1988E43588F96D6184F97DF277A24E085DFB611C83B21D06A0A9F08C2292E6820F4D9F5931CDE2C1FA31BB3B15CDCF4ED32E3788BF1E9C8B75F5BD7DA42809F1A596FEE3DA2468C9957C557B7A5746E0842EC2ECD6173086CB37B5B96D69F33B193E0C2D098B6051BD90F7C4C2CEAEADD4BDE3180B0C4A90A59387B4D76654AE0CC1C0B3F05C666C1AC3D3BBAD0B80C5B433837A9DA4D92274C6E2C2EAF35C7D455EAEF26F267F317156B73A7454AB9151D0B55C5314D212366868D6F5AACB8760D110BFF281241E525D5C6DBDCC7A63754049FCE665B522D2BAF9600F24D806D62B4DC78EE66C89090EA86F3484355D15D01A60F46198D52723C2A58BFA8251ACAA6868E774D4F1358562DF6C23273EBDC1A63B58846EB2CC12E71B7C1BB55200E83397E26F2CF20675C378CCE84E51503B0456C77BCBD414787E1BBE6EB165CE8802589D014EF1F1A1CCE389F8EBFF8CB67C307617A88287F61588D018FE7CC9ED2A9E1612535C68BD8B17C86768F47657DD32D11F9CF8BAE32FF996EFE74F3E51503082BB297DC1190F0B3BAABF906199E2C4EB34163557022D3C489101EE11AED7CC0047EAC1B4F0EAB099DE04C492D06CD6469494D681EBDED585A5086C8CA38A25D2795D586AE4CAD15D9C1CA4AC3B3D314C6303DEF29978541592BC3528D93CF9BE6E3C3B184AC53F2081180E03873586DE83825CD03307CBA31B8B426F40A3493F558C3877BA039C0A87B2598F0059A91A0A9BC1EE1091A677F06D20A07624B044ACDCA5C2E057925046A9AD5CB9294B818B04D6E03952A6CC144FDBF65B784863293BD82C175CC30B4DC58823F5B521D3EA17152608E5799F0AFDB815BC69448985D8C69BEFD31E3FC2DCC0AFFF46BFCA5BA8AE0FFB9958BDDCB155F2F8327B61037D8D3D1C6DED69AF058C01EB5C33B2B9C573300B334128C1D0F064499C21D082944EAAF2FFAD4A70787408FB05446C70C03C1CB7AA1BCC674553CC1F0F45B1E353F1516BB9C960E397F220E46DD8237FC1E10FD002C3F47345615DDE1457CCA43BB97D832C5D9FC4419895F30667922DCD9BFF9C500F19D91A3CF9842159D800321C548DDF57C6D91AE8FC20EE173358BE81665D68B76D531CE430EC0743FDBB2AC4740909DD43C710808FF1DD37855B76EFA8086CAA22B3ABEAFD76628650BE6CA8C0A5E16009E1C9D85B2D32942990130456E9F4E416E795E9BC0D780B0234261A301E903EC3898697685EA7816348625D6F7E1B34311F356ACF33DED38F630BDF1580EEEECD14BBF75F615E92F537E28842228C8FE4059B48B3DDE99E1BC6200747C435C5BD2D665C1B9E2B2D696DAF1104ECCAE289F264646A3463D11DD59823828FA3DA67B26FACAED68C58B6F2D67E85CAF985BC9BF6985A71BD0021B9865387273C19D5B61476A762379B504081FFF52EE1E54C0FD6558A6F1BA89FC33BF5F3B0E32C10F725931E2CBC09638F0DF81A66A08D6EEDF6785F854AE65AA360A8E735A397AF28A018222F0A5DC6FACBFDB914E5D86671A9F7F83FE9EC6C559501D4BFB0E9792396FD634367E64957E785D95BEC805236D509469FD94CC82AD51609D04C82B06985BC1BF737B2B8D70649FCEE83FEF1E6C8050E8BA4D4BD487F6BC0185D2C1F59545B7778EA751F4C0445D895F188A5625C29DFD9B570CD0D2D9E572A72DA19E5B94713A1A87C3C881912DC65B10325D2D88541E969F75D66EFA6828949675B4FC94F12D7EA40BEE7B2EB04E01E51F0370B644EEA910D611322C93784C056CB18510F4F64E560E84F3DEDA1AF3A1643899A491E713DEF69172199A26DE90619D15CF3F06107CB1DC5948C53F9761E9C64B6B435747057F1EC29E2A7CB9140ABC334B6BCDF35C923206AD5B16F93966A01D1C0561972158F047CC001A5318006FE2E0E3EE16BD1C03D5C108999AA1D8B91F1ABD3B5C8D371878ECED1F76130A2188DE4D26DF0E56D92E7A9445CF969160FC7AB3A182ABB60B19314BF1BC9B017C4302EF43F00A39FB27B4A6CD11F510AB13C93386A9568F2C349FC2AB75911B12297520E59FD650151C07CDE3140547889E16371E9D0C870F252D4D00B5094E23A4F3773E9A78C609E8DC58D63A94AD669229176FE8DB727951CB52D64A19C72D4EE7E3D72E335EC454EB65FF5FE3E7BE33823E7D11F923FAFAE9B8278991A6D0F908563277AA39C1094C3FF6CD3213E7F5C58E7209012BF8AC0CEBCC785E69025B3BCAF9AB20D8D0D6380538FB25FE7758CE88609661F68747CD0098E4FB23CF00E041C52BFAE3EDEA0361AAFBD74D461F087B014759CEC86E612BF2EFB009BE339110530D69D00D60BEC0512407AA60D525B5663F00E152C65772BFB542EBA1AFACBB54552839F2B94450C1553218E52E983789BBD82A64CCECC5F392017C8CBF1461C239150BB13F84B13BB01EEF8981DA07D4E91FF9C1B0E9EA5BF43948883F82C9A6E5444AFBBF96EBCC88BAE1C7292E4D5421C030D6F7068357D07A30D90AB46B29AEDD7A1F8CF3BECF1F7CAF6E0277DDCF97D7844B2222AA187CB014DDDF7EDBB28B91770C109BB24391EE5086D2BBE890D485655D4DDD4F1020BB4391416971497E07B4EB20F87B9E4925454C628CD037984416E2FCE242A6690BF7DB29B0E4A10B7938C2A237BAD4F66D9F81FA732EF04E05E50503C061E36796C9A09B67C7ADDD629663EB051BFD36F008D607EC7A0A38F614B83BB18FBF353795569BEF40AF314CE99DC6EF868F002D42397DBA8C016091DBD38A9A6762A53DCB32C401D4EBF89B9DABF79B9B90F89B513F361DAC18537B3239214B4411BDC0DC2AF119DF54E4D3EFCD52251D2A26A70C407B71EB75F3149CDDBB2C12314A3BD4522F64186AB0775E854D3C4CB3D641E0229B5C10CF84B515D6353E9E6981C78B03AC69C878D62CEBF5492B672C67DD421A2B8E18ACD8D2CC628B73FAEBCE23D60CACFF3F753601B572B8F66787717A181113E719C3F7D457F85F457B73F516305E528D7BC0A5A72810DC83ECE61238ED281DCBB2D69B97E168C46520906AFDEA40C9189CAFB1AEDEE4E3EC1D9F16584E062452126DDE642E00310E568BE2A6E663BFAEAF487F7B5532CD3C8C45C49B98A31CC221DAB284717D0C1791BDF0661F8ABF4350FFA1F81B9C3E63F04F50EE5D837A07FE46F282DA9FF420E4E1044798AFE4DC9DCA00204C70CB66E32248E315A8B803265D9868E33601109BDCAE6D0FDE0EBF4FFF096CFA5F1294EAD8BCC978198C554E71C783D9C1C7C5A90B2A8B663BE06944A045BC07CBC5654A56CEAE84FFDFDD76382979BEFE3C7C00341A8732CD3A4458BC0CCC33D88ED35E18CBD372C1B49B4655061E9767ABF6F2BAA57B318083A3DD32A60B2BAB0997FDB0D1FC00C4BF0B65B44B7C0880FF03D1FF06F7E9B1DDBBEBBDC9B172D781FA6988E32610DB830D7E346A9E45109AB6F1E6FFD395F80C0295D04ECC06F1A9AE1EBD829520CAD714763C825797DF020F22DB43C25CE344FDED8649FA5FE0277809BC87A0C3E04D3694768360B6BD180EB6E2BE8345E5B5C6FEED66481321EB0C406F64496DE85E9C7FABC394183B1BE7D5364C751BB16F7E906BBE517DF709F6C59BF407107EE62BD7F0EF294F5C2A1633D5FCE2FCC950CB42C3773F6608170D1FB770DEEEEC64AEDE6A99C92131BF3FCEAF51B144AFA869DCA4C2DB2061663C8019A05B1BA435047F84E437B1620C8F8858EC6D5CE35F053904EF49769FAC32C0C85AD1076FFD7CEC852F05613C1B0BC2BFA971EDBCBEDDF45D1B2B8B2E6AA80CCC253769B7AEF999EF31198EB763CFB9B5E613F83D5F4EA338CABFB4330E5B365406FF8559EA35A54EC1FF805D8D2424C6B140B8B3D1CE63E53C984D5E6D9C5454E6EFAEEFC6997605B6224B659CB6B8D0E113518D5BBE9FA56B73DAE09987B2C600E4526D08633138D6D3748B4ECFC3858523607439AABE4A7F2495AB68EBAA028DA0E8877257F1369C21C328CE357E6343958E37AE731EF8FD5F010673302BFAECC7B25423D7484B03DA494BA0F3C15B2F7CC18B0948C7DEB054DC83F1188C534CA7A2EC254EE4B618EA39A9D930EB49E86D836616CA0A038CBE43EC2884F90AD6E23DDC9A834E2DA30B1D707A77E482CAC07C379C6430186AFF9C2C3D910606BB176F697522EEF56BBCC4F63366B31B422FB187F0773FFEAE6A9ECDF6F4C2B7C3E3873DC40C3B8CC282B1B15055D30EA0F5C1D23003F09D5B012D01B4B35ABE7D1D632468A7525FA91F0E2EFE2D70547903F9C1508742E87D81965AB9DC74E2596180A626F35170E720A501E8143A765BDF81FA01990863BE1D038F6116487A7731A6D07FD55706AF50DA600388B7B0CF7F89DD0DA27C08E1741A2D21F8BB087F7762DFF10918A352CC6FFFE8972F109C82FA42B6A28932F0E4B0A6276065D5E6A5285799FAD18F7707EDACDF96C0937F89111AABF4C72074EE8BF0E3727A2C8E1DCF964DF47597CC9F8C19008690D3C1959072A587841B9CCEC5747F5DA62A4EB2B681C19E946A688DE26D7975D02E3ADE1A6F058A788D6D677CCB96802897E34F914FC0145867594DA889CD6D8F095A8C3CF7B436201110EC9861B5E1E17488D4E2E2D60438F18BF6193808724E2AFB7B123A3176BFE15CC352A17A2E4326B86CD834336357B98C1900233939D1C1C42F7514D7A01C4BA77313B04C7E2743E20791D51906856280D6E16D39BDBD410D85D99F40F87D52684799D91CD35B2445157E7D1A66810D32120873230E913E8719A1584EC31531551D3D3A46F20C9C55CE91CBC294A35911E1665452519340326200D290E1EDDF4F2E1F13FFB5F555817A199E6E7CCE54731276164EFF8096C260F4E5CD3D63967CCFE2B1BE9763913ED713414AC06C5085A5626F09EC88620D5F8F2DAC320D631928C76CA56C7FC1C0F5232A8377380A493182A5ED0930BA5BDE63333D33911103C0C2354CEE033AFA599F7D025993C2CBAAC323407C6F4E176C676B55F8F7723BEC712C0CCA8E01ED34709AF73E2C068F220C9AB73D982902809FD206710FF9B6D7EFC114E45454B9A06246FC0E72C3D99333B8C134E80FFC11F3DD267BF160343F5D42658775349C1103609ADFC3A5C297BDF6F42EB84941B48DB278F4099AEE92215ADCBA2E76BF900712A8AB2C1F58BAFE58741CBBACF878762EC233E4AC609A7D65981C27D90478C9AD78904B7002E91C2FE710B94CAF387D0514ED6C94D32179BAD14046F38C271D58CF5C2D09987E751907CBB5F3A4A38C90621C4B0B8753C5637837FBB49B05DBCF4863D8659D6CCDE96F0DB504C014AD6F2EC2DFCBE910080332CC2DEE2BD6EFC6B6ADD92DAD057673263B207BB950ADA9639B623BEDE5D8C319310084A0AFEC855118B3290C1F993F38B97339883F4A2E09D3F597A8F723190E53F064CFBDB160CB657C107D72F37FD81F42B3D9D5A8E712391DF12F5C600A4817AC19F9B7280900A09D6FC09E51E596D65118199830B6472BF9786656DB8C18C012DA5B7283B02E1D81C317EAB650464C122F9F6A60FAC52D5FD243BB0BEED34E81F05523255174C00F9B0D3742C21B8BBDA8E08B9881EA2F744E00CCD04D4EF7F9937F4791F0C91805CD1CF6EA96A2EC6929AF315BCBE1DA4FC2174236D9556EA7A5E90A0D649C64F18C186054957F1ED87CB55281C51E268F1F059E0280D6F26814F7E3B86CA3E05B37B17EA2FECEC80AFD2930C3FB4A718257BAA949F563D9D39839EA147C0F002E719AA18F666F7B24B78271C7CF4358AA7ED50A90027819CE4E269B48E89ED1D21AF348F45DD52B30B650D6287A16E291901103B448B5CAF6046FD4CED188D15076B3A1085F1EED6805475F37AEA659A415D0120001E742551AD3AB53BD5C1313651C1063279887AF93E124E563FD1C875F87142DE3B5C4BFD2035816DA79A0009B86527FD70EDA6ED185A62783B49337964C6675F4EB35FCA9AA5F1FF7D428A65236E164C40054C0AE03837FC25AF70E85ED0F9860772BCC169335CC0E4F16C65DBE7BC07962B28283AD16B651E7E1AD47B1F1A7BEA2E82510B43E114FFC4252BE5AB6CF535AF171EC4BA633F2D851F2B4E6E5EC9922CE8EE0C7B08D0998DB2F9D2F04F16F704B5361E26215D63E0404E76535A1F196B0607D548D3F188B1760F17CBEFD92926364CC00B4C6F97CEC2C34E83BA52A3A5225C43FF0358FE752395B1766E67DE8ACB21EA3EC6BDCB6519AE653888081EB1E354D457EA0B6158D625F141DCFCA21139C85A5EB49FCBD853F7C76863D029DC02F91761A3FDEE54E415BC7E8FA79D0E6761BA82DC835C5540CADF3087C9B79601B52FB21DC677C30AE8E5D809D08A67DA1ECB4D0DECF8B83FA05ED97D43E46D65CC270CDDAD1F8BAF41C22805BB59825E07CC8EFE35AE0F6864AF8F5490F5DDD1A15E259094CA2F41C388A1CA3C05B00C45C58324E92D371AD7C79434560810CCF244E770CD335B3A84FD95682491FDFBEB77EC1866FCDD548DFDE590FBFB97152506156270E63E41E2F4C3E11C2DEB95EBA0FCC706B853F38B4A36B7FA7BB84D1D529B8E3671808A60A85E82906A508D2F2B54C98CBE131F4C0F0E9E6418901B8E041BAB553DC9288B7FDC28DCA17BCB02DAE86B80EBD3D77719E8C5AF753B96A8EF420588B8758513ED39DF8ECE541BDF571B32EE44D60F247941AB880FB3BA4108F87AE9EC51BFF2F107F29F0C679111FFDFC90B3E0908E12DFA3DA1838E325C05E38F9C1711E3C024CD06887DBC3E86010AADD0BC361EB5D747A3124DC8BFE6F9D39015CFF533B1E85312DD7B4D7D9FA09C1A5E02E1741540C5ABA4E1508E53A528993200617B79741187579627C717130785AC218E5D7D8C34A995054954D8B3854B624EFD01A8F19EC63BA7A16E37206FE7C4ADE1600669867F00DE021F593F8722F9C74E0595B02EC954F863A706E4DF8520CD854BC313DEC69AE6112EEA4370402DE7258F906C12CAA6ABFA4424E7850745BBFCEF8188CB087230926694DE883331934F8EA8F8681C7C3BAC797EA3EBD945CD3EDF5628700A614D065D81ED81DB00C3E84361E8BBFD3D06165A763C3B607BFD5347E390C424FD9811D0D77FA12606F106DD3C8CD2918D00783731FC69FC385CA8E1B0B4BC46F49FF1C4E0F67964D370E686F2F4D532F5E9DCB5DCA2DC6E58FC975F54AA63640E954E3249C47A4A3E5AA69377609B43E5A263EE506F33ED1564A3C0485D3C5F818C67B78CB6F4E85F82433910530E80BEE9729F1E5B6D8E39D3203D82BA030E9034498DD04CE3F159D570428195F8ED36000F681D0C412EC5C97F8055B52DC2BF0813C3B780A849CD3E50FCFC8E5268BB738733EECD65E12C4B8CE47C4961F1442075FA21B2307B1A838140A1B1C10C117D9858B8754B20A5BD262C2B2261EF1FB83356E3B9F148A7045F19A0172C200891691E3287C07B12F16E76390BCD4A709F4A4BFF15945ACC129211C0B63AB30702B21489275EE7A940F81D3F64030F5EF10DC37D573FC38C089F68907508E2A23412701C7D3177127414F30427F107C77087EB859D45BC8B3B524597005EE1CFE7390EB7F759B5592654C252D2F1820D150326CACFDDC3C4144D83F14622590B2FDCB19CD22B887908C37315FFC2678F13523AE215E0CF2619A17C560A49D314D6F97EDEADDCA435D1B50EFB398EA9F1859E19F4F4BA71B5E36605E0CD0E1E9381B8D211F41084A5070486F6A360AF72A43309A15FA61E6C113FF9F7E5AE3ADA096400CAF33FE83F54E13B3C078B37BF4D4E72496B186CACEA8ABFD32BB8401A85950CF5FA40C353EB4E0E7FCFC28DCAAF0560EC5344C5BA7DDDAEFC6D68381B77E3A5CD7EFCF9716770903C42E843098E2378005F7AE964FBABD8B01BA8B0689AC8A387471188207E20FCA237120D6DC3DB3B0E6A2B8EC3D24934097F1194A7C0F8BCAFB3E21DEC77D84BF467BF1677FC4B188FDB8194084F9691818FBA860EBC4BFDBB7B7FE54BD038A9333F153C05F02DC2AC593E387B111C62616E96F69744194180001101F666403208B41306304EB29159559947CFFE2F700E11B406205E6B095A86705D6EF953ECBBFC21ACA56C76F386BAB06CB5C11F23818006B7E691B46D787BA6406C09B728ADC752C094F26B469729A1C6F59373F079CFE5C1FFAF092B52A32046E6BAFA85B396C2BB9361BA76F7F054654257D94083FF4599A4FBF0277876DECD99D3525D66AD7CA3C809CEB8D42487A2CDC2744E708E9CA7A8F6C3905E79C014A6BC5AEC2320E977B8913C2FF906199C4EBC6C57407F3B09F9F0286AB769605E153445D4E15C7B1F04DE229F852E964679E8EC7C8E8857B0556A2FEFEF6DC512BF67DA2BC600057EEB73736EB616E0E95CBA4E97FF844FF62199E8D386EDE9A86721A52290BED30A076A56F144F4E053F151CC82B8B143CC15355032B59B30DC83D03582E173F0BF65A67ED81C95FA1580F9E8949BD3D6FA0359AA60DA74318D91C64B8842B8C0DDB42DE3040CE970098840F9607180A99376458B6E2B0BAF5C3E189BF60ADEFE55926671F077970043470DF78E2A49900C1F463252B670315581701723F0390942E3D7EE1531D3C259C74A225D5E63878197D841DC17149F373BE575484957625CD9362223C125CD67ABE8BA70B7B8AE5660B2DE70C80CD5F3FB9F11AF3AF946199C461C5DB8FBEED8BD9E6EF29A9752D510CE5D32CFB770333A9DF9E573B22B81CCA1F6C266C0FF6AACD5B9C82A12D35A7C19C3300A644A8809D4FD89792B7AE33934BECC49B454F3899DC0AD3EBBBD87F0F774189835CEE1A0063F6C557C05F1A39D5FB23919EE5254988E906B85825A35891C80019D615F19C33003A494619C7138832EFF5D981E91EA1E914DBADABD69BC61778E3C763CAF77005C39D819C4FD4BBE983C0880A51906F7FD3325F85E124ABC620EC0436282DD7ACBE0AAC0B00396700087CDFC9FD0C6B7412A8E30F297BC8A56CF3466319F6DA77E22DF6363173BE0837871D82FDFDF479D7F0D5FE80360653F30F72AD60A043F1D5D097C9C62FA7A51B8792CB6507C2BB4000577B907306800A154E1DD263F1DF4890A45192EC31D5DF185D6DACC0968AF4EA9ED329F6F65BE0A173F5A84A7D28FCE85B2572FA6E203ED90435AD8B095688A3A3DF1BFF2657B3A40D493551A88C86250A9350D73F396700E8D115A50C54B567921346B2E128BF4DEC4C3EF998EA6743B2FF0A6F2A69F87A27CB03E23E1160FA3EB89CEA2E373D03DD6002ADDF053044380D132814806170F19E47F526AF238554AE9EEA81CF7FCEC7DEADA5399F86BA15071FD9B285AE5473BE5DD0D93F04E3C9EFF05ACC22230B046538DE58B87D8C0D46F8D048B389533D700A8BF542A197B36F302BE3EE822B714BC9EBCE0435563F49FF1B2E74F25B1C163A5464C700631E150D990BA1BB1F9DB89AD69E9E6A18C56E1F63295B0628884C5BB4CB8239E742BA0514A37C9F6B8F31F5E2CDAE85F324EE05B01EA56B66C100981904CCC1EE461B6739FC3DEEE327D335B3A9103F91174CF0A026F8E589B8FD17ED1988738E6F944D23064CF711CA4C2534EDCB744BCB66BE9C3300351E377A5542005354A4E9760C65BD41972CE242A543D23D2F0726B80F47C6AE726B03E69BBE22225EC7F7822E704B4F062B9D1A23BE22A3F8FC7E4F4B66B2F2B29DD6250C40665FDCAC3106C2199435E93EBC0902DEC3CCAF1DDE302938842E5944BC9DB521795DF83E300EBA6A97A09CA88C89E5A0081F217A10C2E713A46F90D33DE3967A870F09A675D7F3B59E797298D0250C40FDAB1BCFFFD77760F01778EBC663CD5F9D4A9FF1A66F80C036137F6377D845EF0D57EF71741A2995BCA9E2E03CC3FD387A7E22EA70BD98124BC2AFD7878DF7E8CC406A658A4B143CC1E62AB02E02E45C08B4F7B3E5F68CDB7186EFEEA5FF8B8C802078343665FB03A71BDCAD83F00B5C07E6A0AF817CEA67E2F5F915FA4799BEE5F6FABDC274F41C57D494602BF01F4C29BBCB78904BF6C21980E7A06E7E2DE0D7AEA32DA58C43719C0A1E23A2EC17721A66BE8C4EF9C8E56512CFE9B9804C1ADA1579C9790587599FC75B7F64B2FAC1946FE26EC4BFFB026C910806BEB2C2466F1CF43C198C520DE1D5A9FAC671359CF1EBF3E204F71926593D99A4E5955B78261DC9655EF2E8C1B1B4A191D7CD4ACC4C55AA6B59BC35C420483B12176230164EB880B98B2378FBAB734DFC6463D6653240B246E5531A19731A2B8353E0247814144B1F65D236C830EFF886E8CA5D3F99949969DE0203A438820D95FA929EDBE98761BAC7A7639CA781532902C4FFD4E7D7C7C6AC83A964C8114E81013A30D0E4198C9DC7545CCFB2076E12BB0E026A6A1E44B8E504974B1F952F9EC0F62E77E92EC0DE90AD29FCEA757C0BDA7B1BAC91F78A35C6F0A8A58DC4AE652460F86E615C9D8C596223E275505EFFB56162F03F88BB0B055DDCF1020364408016D7F3D92882FE629FB03337B3ED61760ED1DDBE89A2794522947FBF600032873AF5EC906603F9D7D4FC6F51CBE191D496851C77C79DA6DCC25226BE95DB12E62629630ACF3634026E3425DA4308C41937F911B8EDABF06C5B23E04A53BE12FE10EA77F0A0D4B814AA503A8D5B78B68111205A124D95AE80F6B0A2C2B8A23C505F0AF17CE9D4B0728C4B412D00F27A046234042D1595345A4DB48F79C0C013E75910FC64B5271010397B01488B7067DF67D8C740602C3CF93E02A09706D7F89F825E47C3A0E57E029AF3E7E038734A7C1BE8D3C7B3A8590E26D8C1D939EC0E043B19059D0CAB56E1D94A4600F44AFED05D0744733C314D60EC364EA18D850D9CCC1985675B1E01A231689DB881B555154C5FDAF669DA4858ABD66DCBFDFF31F78D684B34B67F55BD950168601654041A741E3C00880FC078E13CCFF6631EB9ADBCEF444BA229D196686CEF4E4C08B4031261FA206128143E0127794AB185E8874276843CE0899FC857F8CD83118086073483F7355F0D479586A2A2C02CD82F14855F1EB4B4D084C2081446A030028511288C4061040A23501881AE1881BC92EAE9C4CDFAA839BA2B0622D775E2F0EA6A6CC93AED72AC54FB93571E419BA2663FDCC3EF629C4AB53B5B0F5E94E333344CBD3135D73D702882725D79A1BEAE1F810203743D0DBAB4050506E8D2E1EFFACAF34A06D02C1D9F7031FFDBF5C39293167C9A935A0A951446A030028511F01C81FF075BEA28D96C828F0E0000000049454E44AE426082'), -(26,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000162E494441547801ED5D0B9854C5953E75BBFBDE0104041511E5617C65A351D7352AECCC380848D08846B3BEE2E7F34B8C9AB89BAC2830838E3003A2F962D6FDDCC8EAFA48D61893DD44E30659C2639819111F31599575033E90CD8A80C16110A6EFEDEE5BFB57CFF4706FD5EDEEDB33B7A7BB676E7D0C7DEBD4A9D739A7AA4E9D7A31CAE26A9A133338A5BECA6C564B8C2670CE0FCB821A82CB90028CB13F13A78FB8C65B19457ED5561F5BEB554C2603CF5D9A986AA7EC0739F1B3E5B0D05FB91460C45ED122DA77372C8CBDECAC854B006A9658B710F187C0FCA81329FC1E1C1480102489D8ED6D8BF41F656AD42B00D54DD6ADC4ED873301E1EFE0A50023EDD68C10A405A0A7DB6F0D5BFEE065BAB366A227C070502B86837457DF33E67B74FB6C8FC6E841C6B4579816DD1A65643B130ABFCB9302494E1AB79327706E9F6D73FA2E86F5B1CE928A862E780ED8392CADEDDBA9354E04F1CD18B51233AE6CAB673BE4B0D05F3914A869E64771DB7C1625AE914BCDB4C84C8DF1D4A57200D8BF2764BE4A954A848806CC34E38A344FA50A8869BEC63953244374FB61CB97A855C15EC14BC153B90AC2C6A371A2A3E5009B6B9B6458E8AF6C0A083D4EA9010C7C9AAC2008A46834FAAE821C022A9A024289972B20ACBB1000D585DABE4A934A8764E3A9A700547A65C3F2FBA7402800FE69352831430118946CF55F290FEB9FFFC8E58039F33E3EDAB453D3B99D3A9B713A92333A44940BDF16AC59BBB194BD39A2C5D6B42C60DBCAA1BCE556868A1580BFF9398F7CBCC5BA2B9EB4E613E723056131A5EDF92FF30D08FE25B9C56B9ACC9F11D3FF3EB46F08221D74153904CC5DCE47EED862BE88694C7386F907ABE4F1056B1770AFE2DC7CADAED93ADD0363C8822A4E001A39D7F624ACA7D1B26715CC354E47A7B8BDF2BC26AE18BF0A4E6B9044A8380158BB3471235AFD457DA53FE774944556EF8688BEA63358E2559400343662871BB71B3D89CF688D46DAB7B5085D2CFE8869D792462BBA77C148312040E72EB3BE244187A4B7A294C035BA793CA5D4B50BD258637BBD71AF07077F52D7643D99226A810E6038C35349C20A19BDE6840DC5EF8AEA0150D8E35526B1CD3317EA4B547837A4A541DF846EFF877238233E4D860D457F4509007176A8CC24866DCF8D8CE5D9A9A4B5C8F1302F9820C386A2BFB20480D071CBCE66691B800C76F999ADE04037305D3843D453510260DBDA1E994F68C9B3EA1EE44ACFE0C48355F072A7BFFB9BFFAF0A1B7A908A1200A6A5362B2C82F937B9DFFAE98CA5EAC9256133A86936176013E4D79478C456ABB0A107A9A859405BFD881D354BCC57C0D0B35DACE27C8E99B2B620AC1D8B00DBBBC3D8E8B5CDE65428808AE28863532623FD19571A43D4535102207884FDECF352B6BD01C6A0DE432DDDBCE36361F69FDBBD202020E99581EE20F5FF7F686D60E11000BA54D41020F888C30C6D58E15BA4F2D4278451FBF813F5BEC7F7994DA5A0559C0008C2C2E8D3AC31B6008BBE79A67F6E3640F35F39729471E12F2E67963B64E8FA2A520004BB5A1B8CFB28C2A6A13768C9C73E1C72D986CEEEC6190DFA452FDECE3AF3E10FA5F08AD3019CCC695FA88BADCED36B9BF844A2C47918F72742E91B2570A021609ECF76A082AFAEAF8FFD0E8A1F6F0F3B7E27F9D2DF152D0099DAF428744F65FCF22F6B9021A13F4381011380390F71A32B45C38675514C64DEA5EFE3A352234DE3583A803139952950F83BB01428AA007C73058FBDB32BF12DCCDB6FDAB7D73C4D546D5FA67E5D3AED11BDF41FD981EA25E6AA2863CBB070F37A2638FC1D180A144D09AC5D6EFEC57FEFB2DEE2643F841139CD7CEF2AF1E108BF3449FCD59AE6F84375EBFB773B89D83320F60B62F957B21378E73ED4A145E901607E3DD5B6A80D8C4D2B64BE889CDEB747DF49BD644D8209F7D2FC2B7CDDA982D9FACEAD896BB8CD2F03CB6BD6707324FD1167A19B59021B41DFC22CE13922FDB17033A8371702EF01C4864DB4BE5F17C47C47D910F7E2B5CDD63D0E50D6CF739BE373B039F41DDBB6FF05C3CC05B00E1E5CF5E33C86B4CE80602C266E6D85502E126B0359131BA2018113041B36EF841576B2373DD9011863DEC1F46C737A6E8EA999371EDD85FDFE93B284A5C1B54DF13B5236FB0FE4F5B95C78220C82304208C2DA26EB85F31FE023F2E10FA5F04005408CBF60C8AD3201D377D63176F95127E9A3DA16195F685F649CD2D65075ACA1E947E0F0C6E3323E18669849EB66199EF1D7345BD7E3EA9307C0DA82CA2F7A890371EBC7483FD40F7A8819A80EB06E24F6EB1D70DF4723F241CF7B65FBA298720DCDDA85B8CC90E8268CD587812917F79429F3F3157CD4673C99DFEA65FC7394B21EC9F80BFFE597D63625BE857881EC0CE62BC9C05CE61816A1617A14939CF3683B7AB76C3D5BE1C52D728C825A50BEB2441289B10A0E636F7B31DF85A769CAED155ECBB8220E4B5ACDA28770C5EFF66C4FEF048E1AC71911E3708D22B3A100FED6030FDCB11BEB1EE6E923645EE1F9607C33E95D2FD24DF195B41ECCEF4059DFB593F4563C4EDBCC17A913F0E7CD957409E065DFD304DA0324EC6495C702E307F9081AB3A3DB2C6CF7753B3E5C68F8CE859B8B56F0E11DBB2C65730786988D878CD2E748767EB1E163357A1721300BDD69D338BBC39A0BD84F25785E6FD72A9A1EDF464F027192573307D38560CD45D8DCF88BB4C9FC0D7DD3B890DECA9B70891002ED01A23CB25FAD073F35DF989BD4BA8D44CEB860EA5E27F34558C7EEC42918C75D420BA5321E89E8D749CCEF4D0A4BBF770347D9FE0D468921A6208796FD6DD82CC550965341ED4D94D339D0365E46BCF37B6165F611A8004428B15BA91F6604B88A0E57D07A3BD1CAED145B2C874268DE94611AD947CA30EC00DA8893BFEF2AF01E80303363E7F0D3723804E0441996CB8FAEFD2A84E31ADDC2F650209F1118735EB056D159B9D22F5598AB35F5B7106BEB0FD959D314FF00953ED69516E7FF58D3641D0745E95F478C88BD17EB22BE3F49C32D32CFDCB1C56A829AA85A0AD3061C572A64333E5A2CF3B99DF607B75FF57116018E34C4303E5EC5F486F0D534C14CD00A305FCE3C1D01C01442706AC93B1CF174DBA667F97AFA229B4E9F79E7521A68A03D40BA0A5C5BA656257DA4EB7B76D27E036B027BF75866A7699B1F739B308FE7A7CBF8D0A2778F8D198F2A701E89C830C4F71876DC58115BC501D3743756769F95A42630F1A091A90715E5143DCF8D06A3B1C61C8A56311A87EBD8E603F6899C1A84638A19A7AC3DA18C3F50FEC00560FC49B1C74198D6FE54000DE96F7F7D17EB5D37EA4F5AFD8DCBDB0996CDF431325752A8E31B988A4C1B76213DC12EA04EF86DFCEE362EA0E52C4662A38A321C229DBFCBD64BB8121F404FE00220C6DC48957199B0F6F5A51E4C6377B73718CFF4256E31E258FB68265A3F16AC0E3A301BC711E87AC1F083D0835F55E7D356A6D1B507213D5F9C26582BE914055E4240E00220EAD27207FB64ACAE4F8526EF9B91E8923FD134F6F5B67A634909E9A166CDE90B2A90D6E59BDA19B369357A813FC971A1C254CBB052FA8B2200A242A20B6F6B30AE8E44B5B3D2C7B4B12F0F02E1D2C4E0DF8FBF8D1837E71D32DA38AEB5DE28785E5E6CE2A1F52B330F08EBF67CF9A6870446AB143C4E9F57602504043A0BF0AAC78605BA98838B3F126B051B47EC1C26686AEDA7544B238B7BC52933D801B93C100A18007DB92D0A16A3131458090145170067DD1A1BD3DBB8F36AEDCE3865F0AD68F498D74FF1532EE8095B212CB21B7A0220F6031EE8889F656BECAF30E73F020AE2704CDFF6E0BEFA0FA3B6FDD2BA4555EFC9542A173FBAFB771526FA6DC51A6D95CD0FA8D714D803A2B00724CBA18E45ED0104E33FDB67DEBEAFD35A8065DF31DD6B642069DA41958675449CD080BD7E23EC28F35A1B621B7B02CBE7C79B8993FD30511F45EF9B1D1075878108DF5118958E4505B79643258BA604CE5ACE277CB6D76A83B1E77E90604CAECA8242D36C6EB78993BCB9F04A11A61BF49E98F639F37630D10956BE716CA50B119599007A85B219068A220075DFE787C713663B166EBEA450252B00D6429B2F15AB7759514A1080AE3A0E86AB07497D3211FD9D574B3FBE0455F1CCB22802908A9BCF8268A29B2BD8A1375858BBD4BCB4E088458C801E4065A2EDB3154311548AC67DC65522060F085C00D0822F03F3CFF32A6A7ACE4FAC191B376E03511FC59FA725CDB6F90F84FEE095464960D8F0A1E4ABF964A297F090CFB84AA6C10302570231E689C510C9310B56BE5B5AEB75D7FE3F0C150B535DD613182ADC6BF35842DEDF99B812893C2525541AAF60A24B0B4031FCB6E2FEC41D80DA06DA03A0D58E82C277A65C6EB4F47B65E60B1C61323E749C7E05C2951686A1E012399D92F9BD5AB1C7CD235EE5832D40A91BF026F3D7BB8FC879C5194858A00210DF6B1EA5169E756257CE7215DE0D79E16676009B46972AE14CBA0646411838008B7A8CE33E998835E7F7A008DACED2A23389983BA94F3A92339D20BE0315008A6A87288562FC0DB142A8C01D80588CBFEAF0F67CB271E288970A1F78889EA0F73D99B83BFF9904AC189A60B83A8B8894871E10A800D89C41E025C7D9471244F126B8AEE0600888981FB8976195880304104CC4CADE76253B9F3301088F3A13F01957C9336040A0021070D9CA2B39AFB1BC3F3301BF4A6491A9100A805F027B2982B67A059D67725EC2E3773DC133C1E080A100F8A5A59700F865A2575C9FB308BFC5EB2B5E28007E29677B8CE33E0D3AD80DADEA0062168113467EB32F165E28007E292B560565C7713AC80713F5633C67119AF5A7FCB30839CBA0FDA100F8A4A831893E8036EF9ACE627AA7591FD171F9926027A757BD3F94F1B8CF0525395E90FE50007C52B38789DB65749EF0A9087AEB01255F160E0540E6682E7F7F9858A63381500072315C0EF312800A9F09840220333997BF1F33016C8D579448E810E110908BDE6517165157F6B0F7C11F1353AA0040A99C286E1829653DC31EA010EA7B33F1186C10C5C518B99D71A4F72CC2D46862EE98C50D0D05A000FA6663A2D5957F3ECFCEA40416949483309AD6FDDA7901C5081435148002C8D9C3C46D4A14466728300980A102B797E2B2883273A10014CE90DFCB51B0F55D6C5FCBE9CC55345B46C04E28DC66A9EA06325E31FDA100144EDD0D4A1446B3C5E5510ABC0720B67F4148EE51C2396D66B3A9A447E5420150B8921B6068F4EF68B9AEC3A1E8DAA338F5F81C6E05535A39B4FC51E62EFA0D5255EE08423A3FC99D5BF14303DF155CFC22973607F665DA815BBF9E4029C46593BD0E42800DB1B4AA6B25BD0CE07AB4ACBDB8CDF48B9014715FA0C75639FAB3AED163BD0994E82314803E10DE18460BE207680EA24E56A2739A0AD8D4CC2E5030DFDB31BA03C2A4BC84EA8D5C3C683804F481B6382ED61189D26530E47CDA87E838274BDF1F36879EEC4BDCA0E38402D0478AEAB3E977D82E5E0B21F8C06F12C04D61DEBF08378ADDE9374EB1F14201E80785710FD0DBC6183A19069EA5606E47AEA410BE0657E15483F94D62FA970B7720C3421DA09FD41647C091443DCCC14B6011FC0A382B4E469D08168B4BE9F781F1AFB318AD3566D13BFDCCAA28D143010888ACE2183992FAB79EBF80522D7E32E110507C1A97750EA10094357B8A5FB850008A4FE3B2CE211480B2664FF10B172A8101D018CFC7CC80D62F6C02A722B99C3B7C304BF814786F6066B0B21C6606810A009E0CB35D1BE7410D54D675D1B217BDF594783B40759DE3B089C2E17043734A9E41E306B6BCE9DB1E3830D1BAD27664E3FB93AFA1C34C8B1EC14A5FFA191BBF937BE05D8DDC97E1118AC5FA976143C04DE3BE330D18315001C0916E756993A9EF01C875B034F32FDD472E84E0B08E961BDC57C9329B77CA4466CC56DE1B90D3B729A5E0E0BEA28F65BC42FD60FE3310A45985C613F88887872D09AF26A757161FE84B1A41C4095407884593CAE2062A39A5AE29519DABB0CC66D778842BBB687197E04E190F3DC0B4F4537272408FBF11D78F30CEAE568239A9F7F82A48D9010756D2D7FACA7C57AA10020C21535CB001F4042A00ABEF1CBE034D5761528A524FE0C5CE715EF5AA6DB2AE43CF718512C6F09A88E4860F1BF6367A86A40BCCF9304A994F657B064E3C430BA3DCD9AE38F0A0DB55D2977172F941B8F37285FB0D8310191800A6FBC50F1A2FD02100DD2AAF59623E0E822F701614953CBE2B6E6EAE6EB6EAA35A6C1D1E58DC113793A7E1FDBE6FA0555FEFC4EDFE66165E02FBB10C5F3D8FEDC753F3BF04FC725718A7EAD4A7E69BB8697421E3FA4B48BF33914A9E91E2F63C089758B67539307FB736467FDE052CD0833A9DAC4461F4142E85DAA4C01D000C6137C0EBDA1C023D4919A21C518AFA19A80088921A317DB99930BF818A1EEE2C79DA6FDB2B92B64949771B76A2A5BF2148FF8497C0B629010044A37A7D32695D8251D475B41A0C391603EB331C436A3CAF7AA72D6EB98D7DE695BE5F18846827F2743930F25A00BC8633279E72EF11D252AEC8714628E677A0438028E89AF96CAFA645AE0613E50981BF7A30F6FAF8E1B185D990C513717856E6B66CE1F9E028D7F3ADF5B187F3E1E50B07EFFF20E34020D00160F76F8E3F398EF0630AF09A177C2060810B8028F486FAD86FD11AAE03B15D7BE7F25508E3FBEF19D3E7FEE27B4CACB065756DF5FA631A63E20672A90D668D920E404BFBCFC818FD1A94ABA0785EA9E224C8A3D077C4DBC7FD7228D3BAAA39B4BE5F89F4237251044094A7B5C1783A42AC0E4CCDFB6CAAE82D408847706964755B3DDBE1A73E48FFBE08E1C169461FE6C567AC0B792C1E7FA271617FBBFE4C5EE2C12808F90D28B73AF5CD20E5F945FCF70D836E441AFD16C83C59650D2E9A00881C5B1AF44D331AF4D3D1655F85D6FA2BE8DE9DBD25412B84706C654CFB414423F19CFC2DE2D2C8DE701F1F1B1AAA5E1839CA388934ED6610118F341DEC39BA858ABD893C96E8A49F80F78BEEC9775FA18F2C5D285517D00B009C86BC9F83202A536017B2C303FC6DF8FBA111A553D90C1F02EC881BF427AB5E1257A4AF2A664CC658BE3DE8CC447AE23A59B393461E7F04EDFAE79B595E75ADD032C02630065BB4ABC69F40BB826678BEB2F0B574346E85CC690A3692D4518ACDA033EFE3937085BFD25B063E0BC847A49E479E3BD7E543EC6378FB02D6A78D9A7DCCCE150DADF9FF5C800AF0147508A880FA0F9922DA490C521E0ECA34DB2BC3137672B20C0BFD954D8194969C24D740F05E8302A068DD364F9D292387FECAA680274F397D84155C526FEAE6747B36DB7A65936168963ECD4BF054AE3D1AFF6B5A444C6124078BD694D41EEBD1BA2738EC1DA1AB640A081E0A5E0A9ECAF510BC6775EB7934F592B5198B2627CA089857FF0F60776BA46F6A6D60EA9DF74A8410502E14A86DE213F12AE33928CF62AC917C5E2E17C6FF2D91BFD64F4E6B8678E8E9620880D213B823310BC8305B87AEDC2980AE1DB33BF762995C6608C025308E3DDF3B35C032EEFD58C69D272386FEC1470158471F685B64DC296AD66B0780C976BEC6B487065F75C31A392920782C789D81F5F60019406D93F9759BF3FBE19F908185BF8382021FC1E873A758A473D64611001178D10A3EFCD3DD89EBB159152F78B26AE80739EDDBCE04C3EFF2A100C6792CC7733CE1ABFD72CC11B127BD16DB3C05C05905309F4DBFB763B41D3D74A41E8DE7C577C60DBF4B43012B59C5B564C7BE96C6311DA52941986B488190022105420A540005CA624CAF59627D876BB6BACDBA0208D8D722C622DA8FD6CFD7FFABAFF1838A37E01B423C0BCEEC0B61639CED1936488149C657A16A2517805E43D020A57358AD3C140805200F81067B702800839DC379EA57263A80F633C6F91B79CA3AD882FB753A79B01123AC4F8928F0FF39BF360896F2BA910000000049454E44AE426082'); +(26,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000162E494441547801ED5D0B9854C5953E75BBFBDE0104041511E5617C65A351D7352AECCC380848D08846B3BEE2E7F34B8C9AB89BAC2830838E3003A2F962D6FDDCC8EAFA48D61893DD44E30659C2639819111F31599575033E90CD8A80C16110A6EFEDEE5BFB57CFF4706FD5EDEEDB33B7A7BB676E7D0C7DEBD4A9D739A7AA4E9D7A31CAE26A9A133338A5BECA6C564B8C2670CE0FCB821A82CB90028CB13F13A78FB8C65B19457ED5561F5BEB554C2603CF5D9A986AA7EC0739F1B3E5B0D05FB91460C45ED122DA77372C8CBDECAC854B006A9658B710F187C0FCA81329FC1E1C1480102489D8ED6D8BF41F656AD42B00D54DD6ADC4ED873301E1EFE0A50023EDD68C10A405A0A7DB6F0D5BFEE065BAB366A227C070502B86837457DF33E67B74FB6C8FC6E841C6B4579816DD1A65643B130ABFCB9302494E1AB79327706E9F6D73FA2E86F5B1CE928A862E780ED8392CADEDDBA9354E04F1CD18B51233AE6CAB673BE4B0D05F3914A869E64771DB7C1625AE914BCDB4C84C8DF1D4A57200D8BF2764BE4A954A848806CC34E38A344FA50A8869BEC63953244374FB61CB97A855C15EC14BC153B90AC2C6A371A2A3E5009B6B9B6458E8AF6C0A083D4EA9010C7C9AAC2008A46834FAAE821C022A9A024289972B20ACBB1000D585DABE4A934A8764E3A9A700547A65C3F2FBA7402800FE69352831430118946CF55F290FEB9FFFC8E58039F33E3EDAB453D3B99D3A9B713A92333A44940BDF16AC59BBB194BD39A2C5D6B42C60DBCAA1BCE556868A1580BFF9398F7CBCC5BA2B9EB4E613E723056131A5EDF92FF30D08FE25B9C56B9ACC9F11D3FF3EB46F08221D74153904CC5DCE47EED862BE88694C7386F907ABE4F1056B1770AFE2DC7CADAED93ADD0363C8822A4E001A39D7F624ACA7D1B26715CC354E47A7B8BDF2BC26AE18BF0A4E6B9044A8380158BB3471235AFD457DA53FE774944556EF8688BEA63358E2559400343662871BB71B3D89CF688D46DAB7B5085D2CFE8869D792462BBA77C148312040E72EB3BE244187A4B7A294C035BA793CA5D4B50BD258637BBD71AF07077F52D7643D99226A810E6038C35349C20A19BDE6840DC5EF8AEA0150D8E35526B1CD3317EA4B547837A4A541DF846EFF877238233E4D860D457F4509007176A8CC24866DCF8D8CE5D9A9A4B5C8F1302F9820C386A2BFB20480D071CBCE66691B800C76F999ADE04037305D3843D453510260DBDA1E994F68C9B3EA1EE44ACFE0C48355F072A7BFFB9BFFAF0A1B7A908A1200A6A5362B2C82F937B9DFFAE98CA5EAC9256133A86936176013E4D79478C456ABB0A107A9A859405BFD881D354BCC57C0D0B35DACE27C8E99B2B620AC1D8B00DBBBC3D8E8B5CDE65428808AE28863532623FD19571A43D4535102207884FDECF352B6BD01C6A0DE432DDDBCE36361F69FDBBD202020E99581EE20F5FF7F686D60E11000BA54D41020F888C30C6D58E15BA4F2D4278451FBF813F5BEC7F7994DA5A0559C0008C2C2E8D3AC31B6008BBE79A67F6E3640F35F39729471E12F2E67963B64E8FA2A520004BB5A1B8CFB28C2A6A13768C9C73E1C72D986CEEEC6190DFA452FDECE3AF3E10FA5F08AD3019CCC695FA88BADCED36B9BF844A2C47918F72742E91B2570A021609ECF76A082AFAEAF8FFD0E8A1F6F0F3B7E27F9D2DF152D0099DAF428744F65FCF22F6B9021A13F4381011380390F71A32B45C38675514C64DEA5EFE3A352234DE3583A803139952950F83BB01428AA007C73058FBDB32BF12DCCDB6FDAB7D73C4D546D5FA67E5D3AED11BDF41FD981EA25E6AA2863CBB070F37A2638FC1D180A144D09AC5D6EFEC57FEFB2DEE2643F841139CD7CEF2AF1E108BF3449FCD59AE6F84375EBFB773B89D83320F60B62F957B21378E73ED4A145E901607E3DD5B6A80D8C4D2B64BE889CDEB747DF49BD644D8209F7D2FC2B7CDDA982D9FACEAD896BB8CD2F03CB6BD6707324FD1167A19B59021B41DFC22CE13922FDB17033A8371702EF01C4864DB4BE5F17C47C47D910F7E2B5CDD63D0E50D6CF739BE373B039F41DDBB6FF05C3CC05B00E1E5CF5E33C86B4CE80602C266E6D85502E126B0359131BA2018113041B36EF841576B2373DD9011863DEC1F46C737A6E8EA999371EDD85FDFE93B284A5C1B54DF13B5236FB0FE4F5B95C78220C82304208C2DA26EB85F31FE023F2E10FA5F04005408CBF60C8AD3201D377D63176F95127E9A3DA16195F685F649CD2D65075ACA1E947E0F0C6E3323E18669849EB66199EF1D7345BD7E3EA9307C0DA82CA2F7A890371EBC7483FD40F7A8819A80EB06E24F6EB1D70DF4723F241CF7B65FBA298720DCDDA85B8CC90E8268CD587812917F79429F3F3157CD4673C99DFEA65FC7394B21EC9F80BFFE597D63625BE857881EC0CE62BC9C05CE61816A1617A14939CF3683B7AB76C3D5BE1C52D728C825A50BEB2441289B10A0E636F7B31DF85A769CAED155ECBB8220E4B5ACDA28770C5EFF66C4FEF048E1AC71911E3708D22B3A100FED6030FDCB11BEB1EE6E923645EE1F9607C33E95D2FD24DF195B41ECCEF4059DFB593F4563C4EDBCC17A913F0E7CD957409E065DFD304DA0324EC6495C702E307F9081AB3A3DB2C6CF7753B3E5C68F8CE859B8B56F0E11DBB2C65730786988D878CD2E748767EB1E163357A1721300BDD69D338BBC39A0BD84F25785E6FD72A9A1EDF464F027192573307D38560CD45D8DCF88BB4C9FC0D7DD3B890DECA9B70891002ED01A23CB25FAD073F35DF989BD4BA8D44CEB860EA5E27F34558C7EEC42918C75D420BA5321E89E8D749CCEF4D0A4BBF770347D9FE0D468921A6208796FD6DD82CC550965341ED4D94D339D0365E46BCF37B6165F611A8004428B15BA91F6604B88A0E57D07A3BD1CAED145B2C874268DE94611AD947CA30EC00DA8893BFEF2AF01E80303363E7F0D3723804E0441996CB8FAEFD2A84E31ADDC2F650209F1118735EB056D159B9D22F5598AB35F5B7106BEB0FD959D314FF00953ED69516E7FF58D3641D0745E95F478C88BD17EB22BE3F49C32D32CFDCB1C56A829AA85A0AD3061C572A64333E5A2CF3B99DF607B75FF57116018E34C4303E5EC5F486F0D534C14CD00A305FCE3C1D01C01442706AC93B1CF174DBA667F97AFA229B4E9F79E7521A68A03D40BA0A5C5BA656257DA4EB7B76D27E036B027BF75866A7699B1F739B308FE7A7CBF8D0A2778F8D198F2A701E89C830C4F71876DC58115BC501D3743756769F95A42630F1A091A90715E5143DCF8D06A3B1C61C8A56311A87EBD8E603F6899C1A84638A19A7AC3DA18C3F50FEC00560FC49B1C74198D6FE54000DE96F7F7D17EB5D37EA4F5AFD8DCBDB0996CDF431325752A8E31B988A4C1B76213DC12EA04EF86DFCEE362EA0E52C4662A38A321C229DBFCBD64BB8121F404FE00220C6DC48957199B0F6F5A51E4C6377B73718CFF4256E31E258FB68265A3F16AC0E3A301BC711E87AC1F083D0835F55E7D356A6D1B507213D5F9C26582BE914055E4240E00220EAD27207FB64ACAE4F8526EF9B91E8923FD134F6F5B67A634909E9A166CDE90B2A90D6E59BDA19B369357A813FC971A1C254CBB052FA8B2200A242A20B6F6B30AE8E44B5B3D2C7B4B12F0F02E1D2C4E0DF8FBF8D1837E71D32DA38AEB5DE28785E5E6CE2A1F52B330F08EBF67CF9A6870446AB143C4E9F57602504043A0BF0AAC78605BA98838B3F126B051B47EC1C26686AEDA7544B238B7BC52933D801B93C100A18007DB92D0A16A3131458090145170067DD1A1BD3DBB8F36AEDCE3865F0AD68F498D74FF1532EE8095B212CB21B7A0220F6031EE8889F656BECAF30E73F020AE2704CDFF6E0BEFA0FA3B6FDD2BA4555EFC9542A173FBAFB771526FA6DC51A6D95CD0FA8D714D803A2B00724CBA18E45ED0104E33FDB67DEBEAFD35A8065DF31DD6B642069DA41958675449CD080BD7E23EC28F35A1B621B7B02CBE7C79B8993FD30511F45EF9B1D1075878108DF5118958E4505B79643258BA604CE5ACE277CB6D76A83B1E77E90604CAECA8242D36C6EB78993BCB9F04A11A61BF49E98F639F37630D10956BE716CA50B119599007A85B219068A220075DFE787C713663B166EBEA450252B00D6429B2F15AB7759514A1080AE3A0E86AB07497D3211FD9D574B3FBE0455F1CCB22802908A9BCF8268A29B2BD8A1375858BBD4BCB4E088458C801E4065A2EDB3154311548AC67DC65522060F085C00D0822F03F3CFF32A6A7ACE4FAC191B376E03511FC59FA725CDB6F90F84FEE095464960D8F0A1E4ABF964A297F090CFB84AA6C10302570231E689C510C9310B56BE5B5AEB75D7FE3F0C150B535DD613182ADC6BF35842DEDF99B812893C2525541AAF60A24B0B4031FCB6E2FEC41D80DA06DA03A0D58E82C277A65C6EB4F47B65E60B1C61323E749C7E05C2951686A1E012399D92F9BD5AB1C7CD235EE5832D40A91BF026F3D7BB8FC879C5194858A00210DF6B1EA5169E756257CE7215DE0D79E16676009B46972AE14CBA0646411838008B7A8CE33E998835E7F7A008DACED2A23389983BA94F3A92339D20BE0315008A6A87288562FC0DB142A8C01D80588CBFEAF0F67CB271E288970A1F78889EA0F73D99B83BFF9904AC189A60B83A8B8894871E10A800D89C41E025C7D9471244F126B8AEE0600888981FB8976195880304104CC4CADE76253B9F3301088F3A13F01957C9336040A0021070D9CA2B39AFB1BC3F3301BF4A6491A9100A805F027B2982B67A059D67725EC2E3773DC133C1E080A100F8A5A59700F865A2575C9FB308BFC5EB2B5E28007E29677B8CE33E0D3AD80DADEA0062168113467EB32F165E28007E292B560565C7713AC80713F5633C67119AF5A7FCB30839CBA0FDA100F8A4A831893E8036EF9ACE627AA7591FD171F9926027A757BD3F94F1B8CF0525395E90FE50007C52B38789DB65749EF0A9087AEB01255F160E0540E6682E7F7F9858A63381500072315C0EF312800A9F09840220333997BF1F33016C8D579448E810E110908BDE6517165157F6B0F7C11F1353AA0040A99C286E1829653DC31EA010EA7B33F1186C10C5C518B99D71A4F72CC2D46862EE98C50D0D05A000FA6663A2D5957F3ECFCEA40416949483309AD6FDDA7901C5081435148002C8D9C3C46D4A14466728300980A102B797E2B2883273A10014CE90DFCB51B0F55D6C5FCBE9CC55345B46C04E28DC66A9EA06325E31FDA100144EDD0D4A1446B3C5E5510ABC0720B67F4148EE51C2396D66B3A9A447E5420150B8921B6068F4EF68B9AEC3A1E8DAA338F5F81C6E05535A39B4FC51E62EFA0D5255EE08423A3FC99D5BF14303DF155CFC22973607F665DA815BBF9E4029C46593BD0E42800DB1B4AA6B25BD0CE07AB4ACBDB8CDF48B9014715FA0C75639FAB3AED163BD0994E82314803E10DE18460BE207680EA24E56A2739A0AD8D4CC2E5030DFDB31BA03C2A4BC84EA8D5C3C683804F481B6382ED61189D26530E47CDA87E838274BDF1F36879EEC4BDCA0E38402D0478AEAB3E977D82E5E0B21F8C06F12C04D61DEBF08378ADDE9374EB1F14201E80785710FD0DBC6183A19069EA5606E47AEA410BE0657E15483F94D62FA970B7720C3421DA09FD41647C091443DCCC14B6011FC0A382B4E469D08168B4BE9F781F1AFB318AD3566D13BFDCCAA28D143010888ACE2183992FAB79EBF80522D7E32E110507C1A97750EA10094357B8A5FB850008A4FE3B2CE211480B2664FF10B172A8101D018CFC7CC80D62F6C02A722B99C3B7C304BF814786F6066B0B21C6606810A009E0CB35D1BE7410D54D675D1B217BDF594783B40759DE3B089C2E17043734A9E41E306B6BCE9DB1E3830D1BAD27664E3FB93AFA1C34C8B1EC14A5FFA191BBF937BE05D8DDC97E1118AC5FA976143C04DE3BE330D18315001C0916E756993A9EF01C875B034F32FDD472E84E0B08E961BDC57C9329B77CA4466CC56DE1B90D3B729A5E0E0BEA28F65BC42FD60FE3310A45985C613F88887872D09AF26A757161FE84B1A41C4095407884593CAE2062A39A5AE29519DABB0CC66D778842BBB687197E04E190F3DC0B4F4537272408FBF11D78F30CEAE568239A9F7F82A48D9010756D2D7FACA7C57AA10020C21535CB001F4042A00ABEF1CBE034D5761528A524FE0C5CE715EF5AA6DB2AE43CF718512C6F09A88E4860F1BF6367A86A40BCCF9304A994F657B064E3C430BA3DCD9AE38F0A0DB55D2977172F941B8F37285FB0D8310191800A6FBC50F1A2FD02100DD2AAF59623E0E822F701614953CBE2B6E6EAE6EB6EAA35A6C1D1E58DC113793A7E1FDBE6FA0555FEFC4EDFE66165E02FBB10C5F3D8FEDC753F3BF04FC725718A7EAD4A7E69BB8697421E3FA4B48BF33914A9E91E2F63C089758B67539307FB736467FDE052CD0833A9DAC4461F4142E85DAA4C01D000C6137C0EBDA1C023D4919A21C518AFA19A80088921A317DB99930BF818A1EEE2C79DA6FDB2B92B64949771B76A2A5BF2148FF8497C0B629010044A37A7D32695D8251D475B41A0C391603EB331C436A3CAF7AA72D6EB98D7DE695BE5F18846827F2743930F25A00BC8633279E72EF11D252AEC8714628E677A0438028E89AF96CAFA645AE0613E50981BF7A30F6FAF8E1B185D990C513717856E6B66CE1F9E028D7F3ADF5B187F3E1E50B07EFFF20E34020D00160F76F8E3F398EF0630AF09A177C2060810B8028F486FAD86FD11AAE03B15D7BE7F25508E3FBEF19D3E7FEE27B4CACB065756DF5FA631A63E20672A90D668D920E404BFBCFC818FD1A94ABA0785EA9E224C8A3D077C4DBC7FD7228D3BAAA39B4BE5F89F4237251044094A7B5C1783A42AC0E4CCDFB6CAAE82D408847706964755B3DDBE1A73E48FFBE08E1C169461FE6C567AC0B792C1E7FA271617FBBFE4C5EE2C12808F90D28B73AF5CD20E5F945FCF70D836E441AFD16C83C59650D2E9A00881C5B1AF44D331AF4D3D1655F85D6FA2BE8DE9DBD25412B84706C654CFB414423F19CFC2DE2D2C8DE701F1F1B1AAA5E1839CA388934ED6610118F341DEC39BA858ABD893C96E8A49F80F78BEEC9775FA18F2C5D285517D00B009C86BC9F83202A536017B2C303FC6DF8FBA111A553D90C1F02EC881BF427AB5E1257A4AF2A664CC658BE3DE8CC447AE23A59B393461E7F04EDFAE79B595E75ADD032C02630065BB4ABC69F40BB826678BEB2F0B574346E85CC690A3692D4518ACDA033EFE3937085BFD25B063E0BC847A49E479E3BD7E543EC6378FB02D6A78D9A7DCCCE150DADF9FF5C800AF0147508A880FA0F9922DA490C521E0ECA34DB2BC3137672B20C0BFD954D8194969C24D740F05E8302A068DD364F9D292387FECAA680274F397D84155C526FEAE6747B36DB7A65936168963ECD4BF054AE3D1AFF6B5A444C6124078BD694D41EEBD1BA2738EC1DA1AB640A081E0A5E0A9ECAF510BC6775EB7934F592B5198B2627CA089857FF0F60776BA46F6A6D60EA9DF74A8410502E14A86DE213F12AE33928CF62AC917C5E2E17C6FF2D91BFD64F4E6B8678E8E9620880D213B823310BC8305B87AEDC2980AE1DB33BF762995C6608C025308E3DDF3B35C032EEFD58C69D272386FEC1470158471F685B64DC296AD66B0780C976BEC6B487065F75C31A392920782C789D81F5F60019406D93F9759BF3FBE19F908185BF8382021FC1E873A758A473D64611001178D10A3EFCD3DD89EBB159152F78B26AE80739EDDBCE04C3EFF2A100C6792CC7733CE1ABFD72CC11B127BD16DB3C05C05905309F4DBFB763B41D3D74A41E8DE7C577C60DBF4B43012B59C5B564C7BE96C6311DA52941986B488190022105420A540005CA624CAF59627D876BB6BACDBA0208D8D722C622DA8FD6CFD7FFABAFF1838A37E01B423C0BCEEC0B61639CED1936488149C657A16A2517805E43D020A57358AD3C140805200F81067B702800839DC379EA57263A80F633C6F91B79CA3AD882FB753A79B01123AC4F8928F0FF39BF360896F2BA910000000049454E44AE426082'), +(31,'image/png','img','89504E470D0A1A0A0000000D4948445200000200000002020806000000B9B075F100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F000004000494441547801ED9D077C1555F6C70F213DA491104A42085D3A01694A131415C58262435751D7B6D6DD75EDABFEAD2BAE6B2FAB6BEF051414150505910EA1B750434209092990401212FEF7BC2742242F79EFCD9D997B677EE7F379E46566EEB9E77CCF2573E6CE2D8D0E0B2108088000088000088080AB0884B8CA5B380B0220000220000220E0218004000D01044000044000045C480009800B830E9741000440000440000900DA0008800008800008B89000120017061D2E83000880000880001200B4011000011000011070210124002E0C3A5C06011000011000012400680320000220000220E0420248005C1874B80C022000022000024800D00640000440000440C085049000B830E87019044000044000049000A00D80000880000880800B0920017061D0E132088000088000082001401B000110000110000117124002E0C2A0C365100001100001104002803600022000022000022E248004C0854187CB200002200002208004006D00044000044000045C480009800B830E9741000440000440000900DA0008800008800008B89000120017061D2E83000880000880001200B4011000011000011070210124002E0C3A5C06011000011000012400680320000220000220E0420248005C1874B80C022000022000024800D00640000440000440C085049000B830E87019044000044000049000A00D80000880000880800B0920017061D0E132088000088000082001401B000110000110000117124002E0C2A0C365100001100001104002803600022000022000022E248004C0854187CB200002200002208004006D00044000044000045C480009800B830E9741000440000440000900DA0008800008800008B89000120017061D2E83000880000880001200B4011000011000011070210124002E0C3A5C06011000011000012400680320000220000220E0420248005C1874B80C022000022000024800D00640000440000440C085049000B830E87019044000044000049000A00D80000880000880800B0920017061D0E132088000088000082001401B000110000110000117124002E0C2A0C365100001100001104002803600022000022000022E248004C0854187CB200002200002208004006D00044000044000045C480009800B830E9741000440000440000900DA0008800008800008B89000120017061D2E83000880000880001200B4011000011000011070210124002E0C3A5C06011000011000012400680320000220000220E0420248005C1874B80C02200002200002A14000024CA0E6F0612AD97790F6961CA042F1D95B524E85A5FCF3E8EF47BF1FF0406B1A1F4549E2C33F9BC647FFFE3D29AEF6EFF1B19114D2A811408300088000082844A0D161210AD903532C2490BBBB9496ACDD418BD7ECA0395939E2C65F6E4AED492239189C994E27766D457DBBB4A2B4E671A6D403A5200002200002FE134002E03F2BEDAFACA83C440B57E7D12F4BB7D19C6539C409801DC209C0E0DEE934A44F1BEADF2D9522C2D11165471C5027088080BB0920017078FCABAB6B68DE8A5CFA66CE069AB9700B1DA8A852CAE3A888301AD1BF2D9D35B8130DEA99468D1B63588A520182312000028E258004C0A1A1DD5F5E499F4C5F451F7DB792F2F79669E1654AD318BAF48C1E74F1A8EED4243A5C0B9B612408800008E84A000980AE91F361F7BEB20A7A7FDA0ACF87BFEB28B1311174F9E89E9E0F7F87800008800008C8278004403E535B3472D7FE07E2C6FFD69465A4EB8DFF8FE0F8E63FE19CDE345E2403FCAA00020220000220208F001200792C6DD1C4EFF827FFB48E5EFE742115149B338ADF16C78EA93439219A6EBAA83F8D1DD1854242309DF01834F80A022000024113400210343AFB0BF288FE7FBD3587B2730AED37C6020B3AA627D15D13067B660E58501DAA000110000147134002A0617879BEFEC4777EA56973B235B4DEB8C9A30777A43BAF3C592C3C146D5C193480000880804B092001D02CF05367AFA7A7DE9E4325FBF51CE0270B777C9308FAC7558369CCD0CEB254420F08800008B88A0012004DC25D2C96E97DF8B59F69C6C2CD9A586C8D9923FBB7A307AF1F4E0962B96108088000088080FF049000F8CFCAB62B97ADDF45773E3B9D7617EEB7CD06952B6E9ED48426DE3E8A7A776EA1B299B00D044000049422800440A9701C6FCCE73FAEA1C7FF379B0E89D1FE10DF0442C50A82F75E33942E3CB5ABEF8B70060440000440E0770248007E47A1D617DEA2E9D90FE7D15B5F65A96598E2D64C3837936EBF6C1061F341C50305F34000046C278004C0F6101C6F006FCDFBE8EBB3889FFE218113E05E80FBFF3C0C5B10078E0E254000045C44003BAF28186C9EE2879B7FF0816176CC10020220000220E09B001200DF6C6C39F3EAE78B3D4BFADA52B9832AE565919925040440000440A06E024800EAE662CBD18FBF5FE559D2D796CA1D58292F8FCC4C21200002200002C7134002703C135B8EFCB860333DF9E62FB6D4EDE44A9929B385800008800008D4268004A0360F5B7E5BB5319FEE79E147E2C17F10B9049829B365C610100001100081A30490001C6561CBB7FCBD6574DBC469545179C896FADD5029B365C6CC1A020220000220E0258004C0C6965059554D77FCFB3BDA53E4CC6D7C6D447B5CD5CC98593373080880000880001112001B5BC1C4777FA595D9BB6DB4C05D55336B660E0101100001104002605B1BF871C126FA0423D42DE7CFCC993D0404400004DC4E003D0036B4007E17CD3BFB41EC21C0EC311EC01EF6A8150440401D0248006C88C583AFFE4425FB2B6CA81955320166CF318080000880809B092001B038FA5367ADA75F97E5585C2BAAFB23018E01C70202022000026E258004C0C2C8F393E7D3EFCDB5B04654551F018E057A62EA2384732000024E268004C0C2E8F2D2B445A5072CAC1155D5478063C1318180000880801B09603B608BA2BE7547319DFFB78FA9BABAC6A21A8D5513DA3884BAB66B463D3A36A7E6494D282531869A25468B0FFF8CF128DF535426D630E04F39E58B9FBB0BF77BA635AED9BC870E69E26763E1E7E47F5F4219AD128C01436910000110D08C40A866F66A6BEE4B9F2C54FEE61F111E4A27F56A4DA70D6C4FC3FB665093E8F07A79C74425D479E3DC5F5E493F2FD94A3FCCDF4473976F577A95434EC8383613EF1855AFAF3809022000024E23801E000B22BA29B7882E104FFFAAAEF51F171341E347F7F47CF8BB4C292DABF06C6FCCDBF3F2771525A45123FA42F402B44F4B54D13CD80402200002A6104002600AD6DA4AEF7F69064D5170C479445863BA4CDCF8AF3DAF0FC54ABEF1D72640B44FDCFCDFF872297D2812810A0597E33D6758677AF42F23FF68367E0701100001C71240026072680B4BCAE9F49BDE536E0DFAA17DDAD03D570FA1D494389309D4569F975F4A4F882D7A672FDD56FB84CDBF858B64E8FB97AFA0A4F8689B2D41F520000220600D01CC023099F3E499EB94BAF937890AA7C7C493EE8B779F65F9CD9F5173C2C175B30D6C8B2AC29B0471AC2020000220E0160248004C8C34BFF39F34738D893504A69A47BA7FF4E48534467477DB2D6C03DBA2D2E87B8E95AAE334EC8E17EA070110701E01240026C674F19A1D94BBBBD4C41AFC577D42DB647AF791B1D4A6A53AD3DDD816B6896D534138561C330808800008B88100120013A3FCF56C35969A4D6F114FAFDD37861262234DF43638D56C13DBC636AA20AAC44C0516B0010440C0D904900098145F7EA73C63E11693B4FBAF96E7F2BF70D7684A8C8BF2BF90C557B26D6C6343EB0E586116C78C63070101100001A713400260528417ACCAF54C7D3349BD5F6AC5F4767AE29653A96DAAFAF3DBD946B6956DB65378BA22C70E02022000024E278004C0A408FFBC78AB499AFD577BE5D9BD699858D14F17615BD966BB4585D8D9CD00F5830008389F0012009362FC8BCDF3DC3BB749A65B2E1D689277E6A9659BD9763BC5EED8D9E93BEA060110700F01240026C47A4B5E11ED121BE3D825BCC1CDFFDD740A8585EA175EB6996D671FEC128E1DC71002022000024E2660DF5F5907535DB43ACF56EF2E1ED58DBAB46D66AB0D462A67DBD9073BC5EE18DAE93BEA060110700701240026C4396BFD2E13B4FAA792D7F4BFE1C27EFE5DACF055EC83D9FB13D4E7BE9D31ACCF2E9C030110000159049000C822798C9E95D9BB8FF9CDDAAF978BCD7D549CEF1F2805F6817DB14BEC8CA15D3EA35E100001771140022039DEFBCB2B69FBEE12C95AFD531719114A979D69DF4DD33F2BFDBF8A7D619FEC108E21C71202022000024E258004407264B3730A496C01608B8C3EB923C53789B0A56E332A655FD8273B8463C8B184800008808053092001901C593B478FABB0C98F649CB66E5C64672C6573843E10000110F8230124007F2462F0F79C5DF674FFF33EF69927B43468BD7AC5D927F6CD0EB12B9676F88A3A410004DC47000980E498EF28B067FEFFC09E691462F73ABA9259B23AF6897DB343EC8AA51DBEA24E100001F71140022039E6F97BED4900323BB790EC893AEAECF2CDAE58AA431E968000083899001200C9D12D2A3D2859A37FEA3AB649F2EF420DAFB2CB37BB62A96188603208808086049000480E5AE9FE0AC91AFD53979612EFDF851A5E65976F76C552C310C1641000010D092001901CB4B283D6CF1DE757FF4DE322257BA28E3AF6CD8EE10D76C4521DEAB0040440C0E9049000488E706555B5648D0DAB0B0B6D6CEBE6390D5B68EC0ADE18887DB45AEC88A5D53EA23E100001F71240022039F63535D6AF02546D439D92B135A8CE0E1FED8865832070010880000848228004401248A801011000011000019D082001901CAD9010F142DE62696C439D16BB4876F868472CADE68AFA400004DC4B000980E4D8878759FFAEBAEA50355557D748F6441D75EC1BFB68B5D8114BAB7D447D200002EE2580044072EC6322C3256B6C581D6F5CB3D7A6F5071AB6CEF815EC9B1D1B2CD9114BE3B4A00104400004FC238004C03F4E7E5F1567D36E7CB9F9F6EC41E037180317DAE59B5DB134800A4541000440C06F024800FC46E5DF858936CDC7CFDEE6DCAD6BEDF2CDAE58FAD7D270150880000818238004C018BFE34AA7346D72DC312B0E64ADDF654535B6D461976F76C5D216C8A8140440C075049000480E79AB647B1280F92B72A9C68E17E592F9FD511DFBC4BED92176C5D20E5F5127088080FB082001901CF3F416F6ACC95F58524E59EB764AF6C67E75EC13FB6687D8154B3B7C459D200002EE2380044072CCDBA6264AD6E8BFBAA9B3D6FB7FB12657DAE9939DB1D4243C3013044040630248002407AF637A922D1BD7B01BD37ECDA6129B7623948CD1A38E7D619FEC10DE7C8863090101100001A71240022039B24DA2C3A975737B5E031CAC38441F7EBB42B247F6A9635FD8273B8463C8B1848000088080530920013021B23D3A363741AB7F2ADF9FB6828AF71DF4EF6285AF621FD817BBC4CE18DAE533EA050110701701240026C43BB3730B13B4FAA7725F5905BDF2D922FF2E56F82AF6817DB14BEC8CA15D3EA35E100001771140026042BCFB754B3541ABFF2A3FFD6135ADDDB2C7FF028A5DC9B6B30F768ADD31B4D377D40D0220E00E0248004C88338F1E6F9164CF7A00EC0E6F9EF3CF977F121BE8E8B74110DBCCB6DBB9B9518B83A5D4F6DEBB88BEFADA84D6019520000220A00601240026C561489F362669F64FEDFA6D05F4C247F3FDBB58A1ABD866B6DD4E19B24B4CA7FCF873A24B27105D7E0DD1A42964CB6E44764240DD2000028E278004C0A4100F3F31C324CDFEAB7DE7EB65346BC956FF0BD87C25DBCA36DB2DC377ADF59A502DB620FE6CB24804AEF27E3E9D4474C89E5909763341FD200002CE238004C0A4980EE89E46B131112669F74F2DAF0C7CCF0B3FD296BC22FF0AD87815DBC8B6DABD9A716CD5411AB067F3F124264F25BAE25A6FAFC0879F92989F78FC353802022000021A1140026052B0C2C31AD3C8FE6D4DD2EEBFDAFDE59574CBBFA65151E901FF0B597C25DBC636B2AD76CBC89D6B28BCA69EA7FC29DF104DB8C1DB23F0DE474465F62C536C3727D40F0220A03F01240026C6F0ECA19D4DD4EEBFEA9C5D2574FD6353955C1F80E7FBB36D6CA30A72F6763F5F414CFB9EE8DABF105D7225D15BEF139594AA603E6C0001100001BF092001F01B55E017F6EB9A4A69CDE3022F684289755B0AE84F0F4CA26D3B8B4DD01E9C4AB6856D62DB5490B4B2BD7462E196C04C993E83E8865BBD3D026FBC43B457FDD72D813988AB4100049C4AA0D161214E754E05BFDE98BC949E5768347E93A870BAE7EA21346698BDBD13BCC9CF136FFE42FB0FD8DFED7FA49DDCBAE607BA367BD6915F83FB396C08D1D873882E109F66CD82D38152AE22C05B5EEFD95B463BF6ECA3DCFC52CF4F7E2D567EB08ACA0E783FE5072B7FFB5EF9DB71EFFF9B18F1FF393A328CF8674C5498F8EEFDE9FD1E46897151D4AA592CA5A5C4797E366B1A4321BCD105040404012400263703DECAF6F49BDEA3CA2A31A25C21192AA6297222902AFE30582979E20F1CDFF8672FDD6665B50DD6C5EFFDBF9FFE342555EC6FF05ABF2E1872923711385F24022DED5B19D22F5B719165044AC5EA96AB37E55376CE5EF129F47C36E5165145653DE34E245A17111E4AEDD3123D1B5DF166571DD39B52B7F6291467F38065892E42550004900004002BD84BEF7F69064D5170ABDE083150F1B2D13DE9DAF3FA983E638197F57DE3CBA5F4A158DFBF42B16488E37ACEF62C7A74E917C186D877B941FD452270AE371948B3778548DF46E28C5904F8497EC9DA1DB4788DF7B351DCF8F9895F25E11E810E221138B16B2BCFA76F97569E9E03956C842DE6104002600ED75A5A39C3BFE06F1F2BF71FFF88919CFD8F1789007F643F09F013CF07E2A6CF1FFEAEA284883FC85FFCF402B5DF976F9E79FDFB7A1381F3C71065B431AF1E68B69500AF6499B57E27CD5D964373976FF72C6AA5D8FDBE413EFC86A0739B643AA9576B3AA9773A65766E4961A1182ED620380D2F40026051D0EEFCCF74FA7EDE468B6A0BAE1AEE11E0FFF0A70D6C4FC3C42B8260D731E0A7FD59A28BFF87F99B3C7F08557CE23F96D0E9792B69E2E24F8E3D64DEF73EBDBDBD013C4EA07D3BF3EA8166CB08F0F4D55FB2B6D1CC855B68CEB26D9E77F596556E41453C9E6070EF3634424C6B1E92D906DB645BC0DCAA2A900058447AEB8E623A5FF402D8B9C67D20AE86360EA1AEED9A116F8BDB5CEC6B90921843CD12A3C5877FC67854ED292A23EFA79CF2C5F7DD85FB6965F66E5AB3790F1D12FB11E8208D0FD7D0E499CF53C67E8B6722F4EA41C4BD01FC7AA073471D50C1C66308F093FE1C71D39F3A7B8318CFB255B9313EC7982AF52BAF6F32B44F068D19DA89068B64003D0352F15AAE0C098085C879F0DB47DFADB4B04654D510814BB7CCA77B56D8B8E94FB72EBFF5088844A0EB090D998BF3361328282EA7CFC44E959F4E5F4D3CC0D7CD92141F4D178DEA46E34EEB46C909D16E46A1ADEF48002C0C5DC9FE0A3AE7F60F955E95CF421CB6579558514653663E4BF1950AAC92784227D123205E0BF0AB819EDD6D6703036A13D8B87D2FBD2BF6A9983627DB354FFBB509F8FE8D7B05460FEE487F3ABB377568DDD4F78538A31C012400168784E7BFDF27660540EC27F09818F53F468CFE574A3AB43F3A4620B39752A6B9D1181ED0F7E697599E6E7EDD06F3591D2F1E3CC8AF07AE3E2FD33370D0EAFA515FE004900004CECC70891B1FFF9A7E15A38421F61138393F9B5E99F78E7D06345433CF14E0DE001E23D0AF4F4357E3BC64023C6DEFD5CF16D1C2D5799235BB435DFF6EA974C3B87E9E6985EEF0584F2F9100D810B77CB1EAD7057FFF98F89500C47A02DCE5CFD3FE520E6AB07E7FEBB4A389C0C07ED6C372598DAB36E67B56EE9CBF32D7659E9BE3EEC01E6974EBA503A97B8714732A80564304900018C2177CE11F176CA2BFFE5B6C2803B19CC0338B3EA25377ACB6BC5E4315F26A824716141A3CC8902A143E9EC0F6DD25F4DC87F33D5357D1D57F3C1F2347F8D5004F2DBEEDB281D4BA79BC1155282B99001200C9400351F7D8FF66D327DFAF0AA408AE3548E0E22D0BE8BE15530D6AB1B1788AD85FC09308882984BCEF00C410015E6FFFF5494BE8BD6F9663709F21920D17E6C182579CD58BFE3CB6AF67FF82864BE00AB3092001309B703DFA797F80090F7DE9993B5FCF65382589408FA25C7A6BCE1BC4EBFE6B2F4962B4F5913102238669EF8E1D0EFCBC782B3D2E92F05D62FD0A8875045A887545EEBD66280D3F31C3BA4A51539D049000D489C5BA833C1EE0D27B3E130BEAB87B4EB1D9C49BC584D1474DB650CA975F10E5EF31BB3AEBF427882E554E04780AE1A891D6D5AB714DC5FB0ED2E3624D8EEF7ECDD6D80BFD4D3FE3E48E74AFD8902C2136527F6734F50009800281E38147DC1360D58E600AB86CA909BC03DA5B0F9DE71D8834671ED164F10A60D257443B765A6A87A9953511AB331E192370E62853ABD259F99CAC1C7AF0D59948B8150922AF2EFAF00D23C4AA82E98A58E42E3390002812EF1F176CA6BF3FF3BDB21B06298229603378A7B3A7FF7A3A9D3AE00FEBEECF5FE44D02264D21DAEEA011DF51E269EAC88242634607CCCBA905783F8AFFBC3FD7B3122706F9A915651E2478E9193DE88ECB4F22DE8F04621D012400D6B16EB0A68FC580407E2709914780DF355E727A3D2BEB2DCE3A9A086CD92AAF62BB358585FD364640BC1A384F0C1874B1F03E1CBC19D7FA6D16EFF7E062E6C1B8CE3B104EBC631465B44A08A638CA044100094010D0CC2CF2EAE78BE9E54F179A59856B74DF74517FBAE1C213FDF3376BB94804446FC064F1C9DEE45F191DAEE2C7AB238305F96748880E564BB391DFF33FF4DACFC4A3FD21EA13888E0CA387AE1F4E3C3E00623E012400E6330EB8867FBD3D873E98B622E072287094C0F8D13DE9AEAB061F3DE0EFB795627D004E04788CC0BA0DFE96D2E33AEE09F00C18143FC3C3F5B039482B7937CA7FBF3717FF8F82E4677731FEFFFBB72B4E22DE9514621E012400E6B10D5A738D7849F9E8EBB3E8F31FD704ADC3CD057977B2FBAE1D4AFCFE3F6859B3CE9B04F080C1550E8BC3D9671EED15E031030E131EE5CFE369B08CAFDE81E5E58479FC0E66099817472400E6B135A499072A3DFBE13C7AEB2BF18E1AE2378109E766D2ED970D2223F7FE5A956DD8E84D04B85760F9CA5AA7B4FF85670B1C994218DB447B77D8812D794574F393D38857F683E84F80570E7CF1EED1D43635517F6714F4000980824139D624EE05E08181DCA509F14D80BB0A79C0DF85A776F57D9191339B36FF367D5024024B1C96949D36422402E77A93015E57405359BA7627DD36711AF6D8D0347EBECC8E6F1241CFDD399AFA7469E9EB121C0F9200128020C159596CD9FA5D74E7B3D36937562CAB137B73B1B2D8C4DB4751EFCE62BD7CB3655BCED131020B97985D9BB5FA7945C12353089393ACADDB606D3F2DDA42FF10FF4778BA1FC47904787AE053E2FFF829FDDA3ACF391B3D42026023FC40AAE6F79A0F8BD1CC33168A2751C8EF0446F66F470F8A51C396BF27CCCDF3CE18E057037317FC6E8F23BE0C1583272F103306B85780F71E505CBEFE65033DF0F24CAA462F99E29132665E63D1CBF7C84D23E8EC219D8C2942E9DF092001F81D851E5FA6CE5E4F4F8959026EDF4A98BB05FF2146F98F19DAD9DEC0EDDA7D748CC02F73EDB54576EDBCEBE0F93C73402402ADD4EC7EFDEAE775F4E02B3F61012DD9B157541F0FEC7DF8C653E8DCE127286AA15E662101D02B5E1E6B0B4BCA69E23BBFD2B439EE5CCB7CF4E08E74E7952753527CB43AD12B108BCC7CC1D307C5E7E7D9EAD825C39281FD8E8E11689D2643A3141DDF8A39FEF73CFF236EFE5268EAA3849380C76F3995F8EF00C418012400C6F8D95A9AA739FDEBAD39949D5368AB1D5655DE313D89EE9A3098787A90B2B2B7E8E81881193F2B6B6650869D98793411689B11940A5985662DD94A773CFD1D06C7CA02AA991E1EF4FB9FBF9F41C3FA666866B95AE62201502B1E015B5353739826CD5CEB593DB0A0D8993B0A26274413AFEA37764417B1909D81B9FD01D33550A074DFD144E0FB1F0D2852B068662F9108F01801F1E9D0DE7203B3D6EFA4EB1E998ACDB32C27AF5685BCC9D77F1F1843999DD57C3DA516ADBAAD4102503717ED8E1EA8A8F2AC7AF6D69465B4AFAC423BFBEB3238362682269CD39B7855B0A888B0BA2E51FF589948CA7855415E50E89BEFD4B737100B7B74FB2D111063044EB06660D66631CFFFCA0726B97E0C4C206172F2B53C16E89D47C6523BAC13105498910004854DDD427CF37F5F2C23CC1F5D1301BEF15F2E6EFAFCE1EF8E900A9194799618166304A67CE308977E77A2AB1890C5030579C0607793D6611095710FD7E5F77D413BF688DE150808FC46A055B3587AFFB10B887B0A218111400210182F6DAEDE5F5E499F4C5FE5D9FE347F6F991676A7348DF16C0B7AF1A8EED4243A5C0B9B0336F2D0216F22C09B0E7142E024E9D4C19B08F0AB815E3DA47A76B0E2105DFDD097B46A53BE54BD50E60C02DDDBA7D09B0F9D479111A1CE70C8222F90005804DAAE6A786EF4BC15B9F4CD9C0D3473E116E257052A495475258DE89844675D3C8C06F54C239EEBEB1AF1F40888D703FCB3DA410BD8B46FF7DBF4419108F41503070D0A2F8BCD8BFC7C3F6FA3414D28EE6402A70FEAE0592C48DA32E04E86F59B6F48005C10E4232E56541EF26C90F2CBD26D3467590EE5EE2E3D72CAD29F69657B6948FE061ABC7B03F52FD842110FDF4374E7ED96DAA05465FC4AE0C8EB017E55E01469937E748C40FFBE417BF5FAA425F4C2C70E5B6C29681A28581F815B2E19407F1E1B7C5BAB4FB713CF2101706254FDF4891380256B77D0E2353B684E560EF1FA02664852C57ECFCDFEC4C2ADD4577C3801A825975D44F4D6ABB50EB9F2171E2478A457A0FC807310A489699B4796183E6940407EFD92B58D6E119BFBF00E991010688800AF11F082D83C6848669B862EC579410009009A818700FF812D11CB0DEF2D3920128103E267391596F2CFA3BF1FFDEEBD3935ADA9A0A4FC3C6A5A51263EFB896FF4FC3DE90FBFC7579553487D7FC0F97DF1C25988C411023C6D90670E7032C0D3099D222D9A1F1D2330E4A406BDCACB2FA58BEFFA8C4A1D32ABA54187718114027162E0F027FF1A47A9297152F439590912002747D76CDFBE1037A9CB2618AF25540CDCC912CBE8F22032C851023FFEE44D04780A212F30E414494EFE6DAF01314660F8D03ABDAA3A54E399EE87417F75E2C1C10608F0A0409E1E1816EAA231450D30A9EB74E38784D47502C740A0410221E23FD77FDF24AAEFE9BE4125E2829A1AA2618389BAD8BCAEBF3FB65A794D3BB1F3D9596710F10A7C31628A53CE76A272735ED358E996C707DE5279DAF7445BB612454612B5CBA865C233EFCDA51F176CAE750CBF8080BF04F28BCAE8C0C12A3AB977BABF455C791D120057865D92D3BC65EC97E2E9347F8F71857CF3E75DE820C713C810EF33CF1C2512813E444D9A10F14E84FBF598DA79BC33C71C39709068E972A2A9D38836899B7DB898FAD9A11DCD5D9E434FBCF9CB3117E22B08044E60E5C6DDD4AB53736ADD223EF0C22E298157002E09B4696E5E791DD1C79F1B57CF73C73F7ADBB81E3768E0ED878F0C16CCDBE11C8F452F47F1F963E982EA6EB4A7DC41D3229D1321ED3C699618435F3C7DB1F5DB856B420A2F48340994B26676EB22C7B435EB9C35175E0E95BAB5F048FAA71FF3264C77DC4CC4D3ED9C2062D9E427D656E2E6EF84582AE2C31EF12A00BD49BE838104C0371B9CF187002F032B43D66D205ABD568626F7E8187022D193FF271281B788FE7E9B788F2EC60C682C3FB5E842DFA6F5D4D80398AE2201DE36FAA7455B5434CD769BF00AC0F610686E000FE2EA73B2189CE69D1A68C89B77FE4B74C9858654B8BAF0F295475F0D6CD06BD5BCFDA11174DEC8DB283F1253B77897BBE64931D42C417CC4F2D82989D1942CBAB253C4A799F8CEDDDAFC6129282E235EEA7B4F5139F1C0B702F1C917DFF7F031716E776119764D149C7899F12FFF7329358912E34C20BF13C0C2C9BFA3C097A008B4CD20E25E80C56254B751410F803182BC9E027FC69D7F341158BBDE984E8B4ABFD4E554D7DEFC79A7CBCC135A50BF6EA934A07B1A75699BECF792D8315109D4A66582CF28F152E06BB714D08255B9B468751E65ADDBA5DC72E03E8D97788293A4973E5E48774DC040E363B1A207E0581AF81E1C81EB6E217AE783E0CA1E5B8AA7BC4DFAF0D823F86E8400BF5639B2A0D0CAD54634995A76435C0BBA78F84D54DDC83D6F2479B19AE12766D06903DBD3C09EAD2922ACB1A98C8F28AFA8AAA6F92BB6D30FF337D1CF8BB7BA6A9125DE67E49327C751A73662F612C4430009001A827102CFBD2C766BB9DFB89EB619625AD8AF44D151C67541C35102D99BBC89002F289425A6DD2926D79E7C352D4C6EA79855E698C30BD45C26B6B91E256EFCE116DDF47D7952299281E92211F8506C1DEE960597FA8B5E96371E3CD71712D71D4702E0BA909BE0F00F3389CE96F4EE7ECE8F44FDC47C77887C023C5EE3C8F44119AF6C245838ABC50974CB80CB2568525B45CF8ECDE9C671FD945D98E657B139D82B9F2DA215D9BBD50629C1BA17EE1A4DC3FA6648D0A4BF0A2400FAC7D07E0F76ECF40E042C2A366ECB7F5F20BA72BC713DD0E09B00AF28C889C064F199BFC8F775269FA9115DFE179C72336D8A4D31B926FBD4774C4FA25B2F1DA0CD0D67D692ADF4FC470B283BA7D03E6826D7DCBE7553FA62E2C51412D2C8E49AD4578F9500D58F91FA16C6C6127D3B5D2C559B6BDC569ECA76DA08E37AA0C1378178B132DAC0FE44A79F4A949E4654265615DC2E2176BE6BACF3CC3769BDE8F38C7E759ED3FD60724234FDE3AAC1F4CFEB8651DB5689DAB893D12A81C69DD68D5A24C7D2AA8DF9542E96D3759A14894DCED2C5C0498C052072CFA81BA7B562D5FC91B51E0066025817D9562D896EBEC1BBA0D0734F79F763B0A8767EFA7FADF3708B6AB3AE1A7EAA1C2FDEF14F79EE321A3BA20BF1F6B4BA09DBCCB6B30FEC8B139F945FFB7CB1D882E4B06EA1916E2F1200E9485DAA50D68A809C00C87895E0D23004E57673D1057FC3B5441F8A05855EF837D129C382521348A1E9ADBAD1B626625740074907D1B5FCFE6317D05DE2C9DF09F3CDD907F6857D62DF9C24DB76167B06403AC9A7607C4102100C3594399E4057494B02EFDC8515018FA76BCD11DEDCE9BA09DE95055F79CED457316F7718628D4F16D4C20FF9979FD58B3E1653CC7894BFD3847D62DFD8470D3B347C86E3ED2912D62EF1A95D8F134800F48893FA56F22B007E929421780D208362F03A12C5C232575FE17D35C08332CF382D785D75945C9A94416B125AD57146BF43FC94FC9FBF9F49FFB8F264DBA7F599498FA72CB28FECAB137A3798D59ACD7B68E95A3180D9C58204C0C5C197EA3A3F3DCA7A0DC01B0341EC27102BB61EE619191FBF43F4E62B62AAE799526CFAB8ED00297AEC56D232B909BDFBE8581AD1AFADDDA658563FFBCA3EB3EF4E908FBF5FE9043782F6010940D0E850F03802B25E03AC11E30020EA10888A241A7FB1F7D500EFD770EED941DBB637228666B4EC1A7479550AA68B3DE6DF7964ACE3DE8DFBC397C703B0EFCC407799B17033ED2D39A0BB1B41DB8F0420687428781C01593D00FC0A6077FE71EA71C06602E1622315DEACE9E3B7893E7893E802B1A25A802F85BF4CEF4B5521D62C7B6B16ADE6494DE8F57F9E4B2DC44FB70AFBCE0C9885CE5275A886BEFCD9BD3D8E4800746EBDAAD92E2B0128DC8B8180AAC5F6587B42C49F8D0BCFF3CE1AF8E86DA28B2F200A0B3BF68A3ABF1FA64634A94DDF3ACFE972302136925EBB7F8C63BAC08D70E7D700CC8299E82C9366AEA1C32E9D11880440E796AB9AED9C00A4B79663D5EA3572F4408BB904CE1F43F4EEEBDED703975D441419E1B3BEACA436941323C68A682ABC6BDFCBF79C4DED52F559D8C76CD4CC8299301B5D25676789D825D19D83019100E8DA6A55B4BB89D8A35C562F006602A81861DF368D194DF4D6ABDE99037FBA8C88DBC21F646AEBDE7F38A2CFAFBC38CE93B79E4ADD3B489AE9A28FEB0D5ACA4C988D8E8B1E1D716EEA6C3DB6CD3E62AFAC9F48006491841E2F015909006602E8D9A2469F4EF4FA8BDE446082D8E4273ECEE347654828FD2016FFD1556EBD6C209DE2A2D1FE81C689D9DC2618E92ABC3D32EF8EE8364102E0B6889BEDAFCC2581B7E5986D2DF49B4560D448A2579FF74E21FCF35534B77D2695864599559BA97A470D6A4F13CEC934B50E2728BF4A3062563A4A695905CD5D2E36C9729920017059C04D7757560FC07EB1410D7A014C0F97E9158C10CB0ABFF80C4D3FFF4AD3AB32A3029EEAF6D00DA7043AD9C10C5394D7C913429895AED303B917C06D8204C06D1137DB5F4E003A4A7A0AC03800B3A36589FE43D535343B57BFB9D6A18D43E8C9DB4E73CCCA7756049B57096466CC4E37E1AD90B9ADBA49F48B929BA2A3A3AF3C1DAC9BA4855E9000E8D8028EB379C99A1DC45DACBAC9B5E7F771E4DAFE66C781F70E6076BA09B7516EAB6E1224006E8AB655BECA7A0D8057005645CCD47A662FDD66AA7E3394B74F4BA43F8F3DD10CD5AED0C9EC98A16EA2635B35C2180980117A285B3701990301376CACBB0E1CD586C0AFCB72B4B1F588A1F75C3394C242F1E7F1088F407F323B66A89BE8D8568D30460B37420F65EB26C03D00BC5A9C51A9AAC28A804619DA5C7E77E17EDA9C5764B31581553FB27F3BEADF2D35B042B8FA3802CC9059EA24DC56B9CDBA4524FC95760B2AF8E937812E9DE52D08848D81FCC6AEE2850B57E5A968964F9B42421AD12D970EF0791E270223C02C99A94EA25B9B35C2160980117A28EB9B80CCD700BE6BC119C5092CD66C50D5A8411DB0D4AFC436C54B0533539D44B7366B842D120023F450D637015903017926408DBBA6E6F886AADF99ACF57AADB17ED5187D972B56B575E8C674A98BF6054002A0EAFF1ADDED929500ACDB8071009AB685E27D0769DBCE626DACEFD5A905756DD74C1B7B75319499325B5D2467573171DB75832001704394EDF0915F014449DA2614EB01D81141C375AEDE94AFD536AB179E2A69FD0AC3E49CA74027B6BC3530B75D370812003744D90E1FDBB5953810709D1D1EA04E8304D66ED963508375C5A323C3B45DC7DE3A4AC1D7C47B0430635D44A7B66B8429120023F450B67E025DC5744019821E0019142DD7B16E6B81E575065B214F57D3794FFB60FDB6AA1CB3D5694AA04E6DD7480C910018A187B2F51390350E80138072FDD692AF1F8EF3CF6ECCD9AB8D93BAEE62A70D6061A84E8C756ABB46DA00120023F450B67E02B212802D5BB13360FDA4953BCB9BAAE4EC2A51CEAEBA0CE2A7D3813D5BD7750AC7241260C6BAF4B270DB75C3C6404800243670A8FA03014E0012E2FF7030C85F57AF09B2208AD941202FBF549B3FA0FDBBA7524458633B30B9AA4E66CCAC7510BEF9731B76BA2001707A84EDF4AF554B790301310EC0CE48065CF7F65DFAFCF11C84A7FF80E31B6C019D58EBD486838D07128060C9A19C7F0464BD06C0CE80FEF156E4AA1D7BF44900FA7615892AC412023AB1D6A90D071B3C2400C1924339FF08C85C12B8489F4565FC83E3DCAB7669B2A10A4F4DEBD83AC9B98150CC3366ADCB74405DDAB09110230130420F651B2620AB076087585216BD000DF356E48AFCBD658A5852BF199D3392B5DBACA67E8FD43ECB1B0331731D4497366C8425120023F450B66102BC16408AA4E555310EA061DE8A5C5158A2C7B4CD8EE978FAB7BAC9E8C25C97366C247E48008CD043D98609248B3FB0DD242DB18A04A061DE8A5C51A2C95AEA6D5B252842CC3D66E8C25C97366CA4E5200130420F65FD2320EB35C05A2C09EC1F70FBAF2A2DABB0DF083F2C484D89F3E32A5C2293802ECC7569C346628304C0083D94F58F80AC04807B0076BB63930EFFC0AA7B55D9812A758D3BC6B294A631C7FC86AF5610D085B92E6DD848CC900018A187B2FE11903513A0A0105B03FB47DCF6AB0E54E8910024C645D9CECA6D06E8C25C97366CA4FD200130420F65FD23C03D00E992965A5D237A0120CA13A8ACAA56DE46363036265C0B3B9D64A42ECC7569C346DA06120023F450D63F02B14D8864F5026020A07FCC6DBEAABAA6C6660BFCAB3E2A3CD4BF0B71953402BA30D7A50D1B090C120023F450D67F0232C701F85F2BAEB489C0E1C336551C60B52121F813182032C397EBC25C97366C242068FD46E8A1ACFF04642500BC1850CE76FFEBC595200002200002751240025027161C944E40D62B807DFB3110507A70E42B6CD448BE4E3334D668F2AAC20CDFEDD2A90B735DDAB09138220130420F65FD27C03D001DDBFB7F7D7D576249E0FAE82871AEB1265DEB072A0F29C1CB4D46E8C25C97366CA4ED200130420F65FD27102E465B634540FF79697E65B8D8FB5D07D95756A983998EB25117E6BAB461238D030980117A281B180159AF0130132030EE365C1D15116643AD81575954AAC79E05817BA66E095D98EBD2868D441A0980117A281B18015903013901C8DE1458DDB8DA520231517A24006ED8F1CDD2C0FB51992ECC7569C37E20F7790912009F6870423A014E00648CACA912ABCCAD5E23DD3C289447202E26429E321335E5E5979AA81DAAEB22A00B735DDA705D8CFD3D8604C05F52B8CE38812E9DC538009104C810BC069041D1341DF1B191A6E996A978CB8E6299EAA0CB0F02BA30D7A50DFB81DCE72548007CA2C1095308C84A003013C094F0C8529A141F254B95A97AB273C4FE12104B09E8C25C97366C247848008CD043D9C009C81C088839DC81F3B7A8842E3BBEADDF5A4035359A2C5B6851ECCCAC865933731D4497366C8425120023F450367002B27A00D6AE27422F40E0FC2D2AD12249ECFFA081941FACA2ECEDE805B02A54CC9A99EB20BAB461232C910018A187B28113E0042052D200318C03089CBF45255A358BB3A826E3D52C59B3D3B81268F08B804EAC756AC37EC1AFE32224007540C1211309B46B8B05814CC4AB8AEAD62DF44900E6ADC0DE1256B51B9D58EBD486838D1F128060C9A15CF00464BD06400F40F03130B9646A4A1C8536D6E3CFCBC255795451556D3211A867C6CC5A07E1B6CB6DD8E9A2C7FF50A747C16DFEC94A00780CC081836EA3A785BFFC0734BD45BC16B61EA8A8A2F9E805303D56CC9859EB20DC767549608DF0440260841ECA064740D64C80CD5BB033607011B0A45487F4A696D423A392E9F3B0B2A40C8EF5E9D089B14E6DB73EE60D9D4302D010219C974F807B0012243D1DAE11CB02439424704246B29276D565D48C859BB5793AADCB7ED58FF1933F33D645746ABB4698220130420F65832390DA8A48562F00C6010417030B4A7569DBCC825AE454C153D3747A4295E3B5755A98AD2ED3FF988A4E6DD74814910018A187B2C11390350E000940F03130B964B7F62952B67E30D9CCDFD57FFE23F697F81D86E42F3AB1E5ED4AB8EDBA419000B821CA2AFA282B01E08180C5252A7AE87A9B12C47E006D5A2668C361F9865DB466F31E6DECD5C55066CA6C75116EB3DC76DD204800DC1065157D94F50A206F070602AA18DFDF6CCAECDC5261EB8E37EDEDA9CB8E3F88238608E8C654B7366B243848008CD043D9E009741503015324BD23C66B80E0E36072C913BB8AF11E1AC9F4791B69735E914616AB6D2AB364A63A896E6DD6085B240046E8A16CF0049A8911E2DDBA065FFED892D813E0581A4A7DEFDF3D55297B1A328637AB79E1A3050D5D86F37E126096BA6DB6A45B9BF53314755E8604A04E2C3868090159AF01D0036049B882A9A4B9D814A85D6A6230456D2BC3D3D516AED663C53ADB20F9513133D469EA1FBBC46D95DBAC5B0409805B22ADA29FD206028AB500F231784BC510B34D27F74E57D5349F763DF1BFD95475A8C6E7799CA89F00B36386BA898E6DD50863240046E8A1AC3102B2128002B19DEB6A4CE132160CF34A0FEDD3C63CE52669DE945B44AF4F5A6C9276E7AB6576CC5037D1B1AD1A618C04C0083D943546805F01B44E33A6E34869BC06384242B99F7DC540C0B818495B405BE8DD1B9397D2AA4DF916D6E88CAA9819B3D34DB88D725B759320017053B455F3352E560C0414B30164080602CAA0688A0EDE546558DF0C53749BA9F450750DDDFDDC0FB4FF40A599D5384A37B36266CC4E37E136EA860D808E8D0B12806369E0BBF5043010D07AE636D478DAC0F636D46ABCCA9C5D25F4D0AB3FD1E1C3C675395D03336256CC4C47D1B58D1A618D04C0083D94354E40560F00BF02C8D96EDC1E683085C049BD5A6BF91A8061F03AF66F4DC932858B939432235DF753E0EE7F6EA36E1324006E8BB86AFECA4A00F6ED27C26B00D5A2FBBB3DE1618D49E727ACE73F9C4F3F2D12DB4F43EA24C06C9891AEC26D93DBA8DB040980DB22AE9ABF9C007490D43D8C8180AA45B7963D638676AEF5BB4EBFD488FEEDBB9FFF91566DC4A0C03FC68D99301B66A4ABE8DC368D30470260841ECA1A27101E2E6F20201200E3F1305143E6092D29BD65BC893598AB9AF7B4BFE989AFB154F0319879A95F66C26C74156E93DC36DD284800DC1875D57C96F51A00AF00548B6C2D7B789BD5B123242DFF5C4BB375BF14EF3B48D73F3A95761688574E2E1766C02C9889CEC26D92DBA61B0509801BA3AE9ACF326702646F52CD3BD8730C81F3869F4061A17AFFD9D95DB89FFEFC7F5FD12EF1D3ADC2BE330366A1B3705BE436E956D1FB7FA25BA3E634BFB90740460A5E29E66BAF11B30120CA12681A1F4523FBB753D63E7F0DE3A96E573E3089366EDFEB6F11C75CC73EB3EFBA4EF73B3610DC16B94DBA559000B835F22AF9CD3D00327B0154F20DB61C47E092D37B1C774CC703DC05FEA7FB27D14C17CD0E605FD967A7BC02714A5B0CF6FF0F128060C9A19C5C02B2C6016020A0DCB898A0AD4F9796D4B55D3313345BAF9257BEBBE3E96FE9A9777EA5CAAA6AEB0DB0A846F68D7D645F9DB23222B7416E8B6E1624006E8EBE4ABECB4A007820A0C6D391540A8999B65C754EA699EA2DD5CDCDEDFD6F96D325777FE6C8BD03786D7FF68D7D74D27F2D27B5C1601B3C128060C9A19C5C02321300F402C88D8D09DA46898557DAB44C3041B37D2AF9DDF8E5F77D41FF7A7B8E239E92F9499F7D619F9C36D681DB1EB741B70B1200B7B70055FCE731009192768C4302A04A547DDA1112D288AEBFF0449FE7753D515373983E98B682CEB9ED439A3473AD968BE3F0823E6C3BFBC0BEB04F4E136E7BDC06DD2E4800DCDE0254F1BF7D3BB12090A439E2580F4095A8D66BC7E8933B52FBD64DEBBD46D79305C5E59E8D71C6DDF929CD5AB2551B37D856B69937F5611F9C28DCE6B8ED41889000A015A843003301D489850596F013D8ED970DB4A026FBAAC8CE29A45BFE35CDD38DFEEBB21CFB0C69A066B68DBBFAD956B6D9C9C26D0E4FFFDE08873A39D0F04D3302B2C601F02B808315F25E296886512773790FF6FEDD5269E1EA3C9DCC0ED8D615D9BBE9C6C7BFA6EEED53E8B2D13D3DEF9FEDDE7C8647F64F9FBF893E14DDFC3CD0CF0DC26D8DDB1CC44BA0D161218001024A10983E8368CC3839A6CC15BAFA3A67A4B91C286A6AD9B0AD902E16A3CCABAB6BD434D004AB78FBD9E127667876481CD8B3354558B4135D85B8E9CF5FB19D7E1037FE9F176FA5D2329128BB441A370EA14F9E1C479DDA24B9C4E386DD440F40C38C70855504F815407C1C5149A9F11AB917000980718E1668E03FC8979CDEDD33E0CC82EA94A8826FBC5366ADF77CA222C2C466342DA89F783A1DD03D8DBAB44D26BE59C9104EAAD66E29A005AB726991E865C95AB74BEB8D7B8C30E136869B7F6D8248006AF3C06F7612484BF5EE0C387781712B3010D038430B35FCE5E2FE9EA7D2FCBD6516D6AA4655BC93DEDCE5DB3D1FB628223C949A378DA16689E2237EA6244653B2F89EC2BF8BEF9EE3E23BCB9EA2B2DF3EE5942FBE17884F7E5139ED111CF9DC6EF1B3A2F290E75A37FF932238721B83D4268004A0360FFC663701EE05909100602AA0DD910CA8FE2651E174DF3543E9B689DF0654CE8917F30D9BD7D977C25AFBAAC487DB16B731486D0272FA996AEBC46F20103C019903018B4B82B703252D27704ABFB67426A66759CEDDE915729BE2B605399E001280E399E0889D04642500793BC4CE80625960885604EEB97A88A78B5B2BA361ACB204F87509B72948DD049000D4CD0547ED22C0094033491BC5E035805D510CBADE84D8487AE4A653A4EC0E1DB41128E80802BCC338B7256E5390BA092001A89B0B8EDA452039D93B105046FD48006450B45CC749BDD2E9F2D1BD2CAF17153A8B00B7216E4B10DF049000F8668333761190F51A00AF00EC8AA0E17A6F1F3FC8B3688E614550E04A02BCE012B72148FD049000D4CF0767ED20206B49E035622D80FC3D7678803A0D12080B0DA1896242485CB57B16AA31880CC57F23C08B2C4DBC6314711B82D44F0084EAE783B3761090D503B0A7400C04144900443F025F7F4BA92F3C474F2CFA8442B058A97EF1B3C9E210F1E2FF895B4FA5D414B1A018A4410248001A44840B2C27C009002F0A2443300E4006456B75CCF899E8C97F13AD5C4D43766FA0BFAC13CB3A4340C00F02BCD8CF90CC367E5C894B98001200B403F508C4C56220A07A51B1C6A239F3889E789A68D1D2DFEBBB76C32C3A3D6FE5EFBFE30B08D445E0F4411DE8DAF3FBD6750AC77C104002E0030C0EDB4C40D66B00F400D81CC800AA5F9CE57DF2FF656EAD428DE8303D923589BA173B7BC7C05A4EE3978008F0A0BF476E1A81E9A30151430F4080B870B965046425003C13607BAE6566A3A2200970A2C6DDFE3FCCAC53416475153D3FFF3D6A555E54E7791C742F8156CD62E9F9BB4653640456B60FB415A007205062B8DE1A02B2660294EE23422F8035310BB6964D9BBDDDFE53A7D5AB21B9623FBD3CFF5D8AAF3C50EF7538E91E02F14D22E8E57BCFA6E48468F7382DD1532400126142954402DC03D0A1BD1C85580F400E4733B4F092CD4F3E43F4D964BFB4B7DBB7879E5FF03E45881E0188BB09F0AE89FCE4DF2E35D1DD200C788F04C0003C14359140440491AC5E00F40098182803AA0BF77ABBFDDFFD302025997BB7D1D38B3FA6D09AEA80CAE162E710086D1C424F8BB9FE999D5B3AC7291B3C410260037454E9270159E3009000F809DCC2CBCACA45B7BF78E7FFDFB782AA74D8AEF5F458D617582320287A7A17E2B9FE8FDD3C9286F5CDD0DB1105AC4702A0401060820F02B212007E05B071938F4A70D87202D5E2C99D07FCBDF08AA1AACFCC5D410F2F9B8C24C01045BD0AF3CDFFE11B4FC1B6D192C28604401248A8318180AC570015623959F4029810A02055F2CDFFA9FF0459B876B1737396D2A34BBFA0C6876B6A9FC06F8E23D05874FB3F2A9EFCCF1D2ED6888648218004400A4628318500F700C8EA054002604A880256FAEFE7BD83FE022EE8BBC0D9B9CBE899851F5144CD21DF17E18CD60422C21AD3337F3D9DCE1ED2496B3F54331E09806A11813DB509C84A003013A036573B7E7BF9BFDEAEFFCA4AE9B59FB26B2DBD36F76D4C11944ED67E853CD5EFB5FBCFA153FAB5B5DF1887598004C06101759C3BB25E03700F003695B1AF79FCEF5DEFA03F5E97C124E953B895DEFDE5BFD4BA4CCC2E80388240EBE6F1F4EE2363A94F178CF63723A04800CCA00A9DF208C8EC01402F80BCB804A2E9C34FBD4FFE166CCDDC76FF1EFA60F6ABD4BF402C2E04D19A40FF6EA9F4C1E317505BCCF3372D8E48004C430BC552087002C06B02C8108C03904131301D93A67857F9CBD91E58390357275496D3ABF3DEA1F19BC5C642102D098C1FDD935EBD7F0C25C4466A69BF2E462301D025526EB5B37D3B0C04D435F6D3BEF73EF96FD868B907BC48D05D2BBFA1A7167F4AD187E48F39B0DC219754181D19464FDD761ADD75D560E2C57E20E612006173F942BB0C02325F03C8B0073A1A26F0D32CEFCD7FB9BDDBF89E91B7823E9EF532752ED9D5B0CDB8C256029DDB24D3C74F8EA3334EEE68AB1D6EAA1C09809BA2ADABAF3207021E146B0240CC25307701D1E362AEFF82C5E6D6E3A7F68CFD05F4BE181770D9F6C5D82ED64F66565E26D6F6A1CBCEEC41EF8BF7FD19AD12ACACDAF5752101707D13D00080AC1E00DE756EF51A0D1CD6D8C4A5CBBC4FFEB3E728E54444A3C374F7F93DE8A5BBCFA66689D8394E95E0702C3826774F18423CD71F622D012400D6F2466DC110E004203E2E9892C797C14C80E399C83AB276BDB8F98B9DFDBEFF519646797AEEFE1BD13FEEA0C199E9F4C5D397A09B591ED9A03571573FC7826302B1870012007BB8A3D64008A4A56267C04078D971ED96ADDED1FE5F7D6D47EDF5D7F9B75B89EEFEEBEFD7F0C8721E68F6FC3F46538BA426BF1FC7176B08307366CF31C0287F6B98FBAA25D4D7091C0701A508702FC0BC85C64DC25440E30CFFA861A71860C7EBFB7FF2C51FCFD8FFFB4DD7899BBF78FA0F0F3FCE96E1276650FFEEA9F4FAA425F4DE37CBA9B20ADB0B1F0749E28170D1C57FC559BDE8CF63FB128FF687D84F000980FD318005FE1090350E805F019494CA7BA5E08FED4EBEA6A8D87BF37FFB03F5BCBCE64F44F78A9B7F5CAC4FDBF84674DB650369ECC82EF4DC87F3E987F99BB060A44F5AC19DE0417EA70D6CEFE1CC2BFB41D421D0E8B01075CC812520E083C0CFB3894E3FCFC7C9000FFFF42DD14903022C84CB8F2370E020D1838F123DF7F271A76C3F30FE62A287EE254A6F1D9029AB36E6D3F31FCDA7F92B73032A878BEB2630B0471ADD7AE940EADE21A5EE0B70D4560248006CC58FCAFD26B0670F51E66022FE69545E125BD15E7BA5512DEE2ECFCF0D0F3DEE7DFA578DC4D873881EBE9FA85387A02D5BBC6607BDFAD9225AB83A2F681D6E2EC8CBF8DE30AE1F9DD8B5959B31411CDD9B000024EA4944415428EF3B5E01281F2218E821D0AC997720E02C090900C601186F54FCCE9F3FAAC9E8D389EEF9BBA19B3FBBC437AE371E3C97B2D6EFA437BFCCA2D94BB7E2D54003B1E6AEFEA17D32E8EAF33229B33336EF69009712A7910028110618E117011E0730EB17BF2EADF7222400F5E269F0E47F5E54F3E63F629877C05FCFEE0DBAE0EF057C237BE1AE96B471FB5E7AF7EB65346D4E36060BFE011E0FEE1B3DB823FDE9ECDED4A175D33F9CC5AF2A13C02B0095A303DB6A1378E31DA2BFDC51FB5830BF716F42D61C22FE09098CC0AB6F88F7FE8F1115970456CEECAB794CC7C3F7894750F19AC84429282EA7CF7E584D9F4E5F4D8525E526D6A4BEEAA4F868BA6854371A775A374A4EC0E24AEA47EC780B91001CCF04475425C04BCC9E72A61CEBBEFF9268F85039BADCA2E5ADF7BD83FE76E7ABE5719FDEDE9BFFA89196D95575A886E6646DA3A9B337785E0FB8650A213FED7337FF98A19DC4023E6D282C144BC958D6E84CA80809800950A1D224023C7DAFCFC944B91206663DF384E84DB8DE24431DA8F6A3CFBC83FEB66E53CB39DE278247FB9F7BB66D76ED2FAFA45F44323073E1169AB36C1B951DA8B2CD16332A8E890AA3C1BDDBD088FE6D6988B8E937893E7E4D0533EA854EF309600C80F98C51832C02BC1C308F03909100604960FFA3F2E554EF3B7FD56EFE6D33BCEFFC6DBCF93344BE219E2996B5E50FF70CF0C0C1B9CB7268EEF2EDB47E5B8176830779301FEFCC7752AFD67452EF74CF803E3CE973A49D27E801705E4C9DEDD1DDFF24E241684665507FA29FBF33AAC5F9E5BFFBC1FBE49FB55C2D5F5BB6F076FB5F395E2DBBFE604D51E9015AB27607F1B442FE6CCCD94B358A2DBD1222EEF81DD29B7A663EF0EC87BE5D5A51625CD41F3CC1AF4E24801E002746D5C93EC95A11906702704F02EF3300A99B00CFB8E0A97EAADDFC9B267A9FFC15BFF93354BE919E3AA0BDE7C3BF979655D0EA4DF9942D1281EC9C42CF67536E1155541EE2D3A64B447828B54F4BA48EE949BF7D9A52B7F629141713617ADDA8403D024800D48B092CAA8F80AC04A0749FD81A5824014800EAA63D7F11D1E3E2E62F63FF85BA6B08EE6854A4F7E67FC335C195B7B914DF6807F56CEDF91C31857B04F6EC2DA31D7BF6516E7EA9E727F71C941FACF28C27E03105E5072B7FFB5EF9DBF14A4FF198A870CFBAFAFC93DFD547477A7F7ABF87791290D494384A6D164BADC4A759D318E2277E08083001240068077A11E82AC600B46F47B469B371BB390138FD54E37A9CA661D90AEF933F2FBFAC92F08D8B17F9B9ED2695AC326C0BDF909B8B1DF2F893790216D0310C140AFC2680391C7EA3C2854A1088145D95B27A013010F0F890AECFF6DEFCBF9D7EFC39BB8FF0AE7E77FDD56E2B503F083886001200C784D2458EF0D42F198215016B53DC9643F4C4D34493C5A87FD5E48E9BC5D3BF480020200002D20820019086128A2C2320AB078013808D9B2C335BE98A78711F1EF0C7F3FD55931BAEF5BEF78FC04035D542037BF426800440EFF8B9D37A5909404505115E0310F1024B4F889BFF9BEFA9D79E265C4E74AF78EF9F807DE4D50B0E2CD29D001200DD23E846FB3901C06B003991E72488BBFD5F795D8E3E995A2E1DE77DF26F8EBDE46562852E1038420009C01112F8A9170159BD006E1F07F0E43372165692DD7ACE1BE3BDF967B491AD19FA4000047E238004004D414F02B2120037BF02F897B8F9F3D3BF6A72C669DE017F277452CD32D803028E228004C051E1749133325F01B8B117E0B997BD83FE145B96D6B343234FF7EBDDD3458D19AE82803D049000D8C31DB51A25C03D00B24685BBAD17E0B537BD37FFF20346A320B7FCC07EE2C95FCCF3E77D1A20200002A613C06640A6234605A61118784A40EBD4578534A69D5109941B934879D1DE4F41642C9577ED46E5EDDA7B965AF52EBFEA7BB9D5E8C8B0DF975C8D8E0CA5E48468F22CB52A965B4D139F9662B955A5774E7BE703A2071F23DAB9CBB4B004A5989FF81FBE8F88BBFF212000029610C052C096604625A610E05E001F1BD51C6C1C462B13D36879623A6D886F411BE25AD0D6264954D3A88E4EAF7DC23AB175AB2F29DE7790F8E38F848434A28C9609D4A94D92F82453AF4ECDA94787E61419A1C07FB54FBE104FFEE2BDBF6A377F7ED7CFDDFEB8F9FBD3C4700D084823A0C05F2569BE4091DB081C3310B042DCF09727B6A685CDDAD1A2E4B6B42A218DF889DF6AA9A9394C9BF38A3C9FEFE66EF454CF3D02DDDB37A77EDD53A97FB7544F52C0BBB2592A53BEF176FB6FDE6269B50D56D626DD7BF33F5F8CFA87800008584A00AF002CC58DCA6412C8FDFC5B9A73FFF334BB7967CF4D9F93001D846FFEFDBAB5A2A17D32684866BAE71582A9764F9FE1EDF65FBACCD46A0256CEF3FB1FBE9F8817FB81800008584E000980E5C851A11102BC65EAF7E2C9FADBB9D9B46E4B811155CA943DA16D329D7952473AFDA40E9E2D5BA51A366B8EB8C93E4EF4EB7CA96A0D2BE395FD1EBA97E8C63F1B560505200002C1114002101C3794B2900077ABCF5AB2953E99BE8AE6ADD84EAACD5C93858277BBE5BDE22F1ED59D86F5CD201E4F6048162E114FFE8F12CD9C65488DF4C23C7B8307FCF1063F10100001DB082001B00D3D2A6E8840D9812A9A3C730D7DF0ED4ACACB17EBD5BB487866C1F8337BD0F923BA7A661D04ECFA8A55E2095B3CF97FF35DC0454D2FC04FFEF788F5FD21200002B6124002602B7E545E1781BD2507E8FD692B3C4FFCFBCAC45AF52E96D898084F8FC0E5A37B52D3F828FF48648B1D0EF9C9FF8BAFFCBBDECAABEE12F3FCF9E99FBB3B20200002B6124002602B7E547E2C81C292727AEBAB2CFAF487D574B0E2D0B1A75CFF9DA7115E745A379A706E2625C547FBE6B13DD73BE0EF834F7C5F63D799DB6EF20EFA8B8AB4CB02D40B0220700C012400C7C0C0577B08F053FE5B53B2E883692BE94045953D4668526B5444188D1FDD83269C9349DC3B504BF6ECF176FBBFF14EADC34AFC72C3352231115DFF4D1395300746800008888EB8C342000204EC20505D5DE379DA7FE5B3457E2FB463879D2AD699101B49378EEBE7E91568DC582C6EB46FBFF7C9FFA5D7D433F7CAF1DE6EFF962DD4B30D1681808B0920017071F0ED743D6BDD4E7AF48DD9949D5368A719DAD7DD313D89EEBBEA24EAF3E1FF88FEFDBC7AFE5C7C81F7E6DF36433DDB601108B89C001200973700ABDDE791FDFFF9601E7DF6C32AC74EE7B39A29D161BA68CB22BA63CDF7147348A14193E79CE5BDF9CBDAB9D17AB0A811041C4D000980A3C3AB96734BD6EEA0FB5F9AE9BA297D564521B5BC881E5DFA05F52DDC6A5595BEEB1935D27BF3EFD3DBF73538030220602B012400B6E27747E587C4BBFE973F5D486F7E9945351872626AD04304DFAB37CEA69BD6CDA4D09A6A53EBF2A97CE860EF2A7F270FF479094E800008D84F000980FD3170B405BC74EF9DCF4EA795D9BB1DEDA76ACEF528CAA5898B3FA156A257C052E9DF573CF98BF5FD470CB3B45A540602201038012400813343093F09F0F2BDF7BD38834A5DBE988F9FB8A45F165775801E5BFA390DDBB55EBAEE3A15F6ECEEEDF61F7D7A9DA771100440402D024800D48A8723ACE16EFED73E5F4CAF7EBE0803FD6C8E68233140F086F53FD1F5E2C3AF074C934E1D44B7BF58E1EF82734DAB028A410004E41240022097A7EBB5F1423EF7BE3083662CDCEC7A162A0118B9730D3DBEE4738AAAAE946F56EB34EF93FFF88BE5EB8646100001D3082001300DADFB14171497D3CD4F7E436B368B15E920CA11E85ABC835E9CFF2E25578845836449B366DE9BFF357F92A5117A4000042C228004C022D04EAF266757095DFFE8544CF1533CD03C55F0B5B96F537A99840598E262BDA3FDFF72BDE25EC33C100081BA088835442120608CC0C6ED7BE9AA7F4EC6CDDF18464B4AE74527D25543FE4C1BE39A1BAB2F2C8CE8EEBF11E1E66F8C234A83808D049000D808DF0955F352BE573FF42571F73F440F0205114DE8EA93AFA16C2349C03DE2E6FFB75BF5701856820008D4490009409D5870D01F02DB7616D3758F4CC5463EFEC052EC9AE2F068BAEEA409B4AD4972E096DD79BBF7E93FF09228010220A0100124000A054327537615EE1737FF29545882277F9DE276ACAD85A227E0BA93AEA25D51F1C71EAEFFFB2D3712DDF377A2C68DEBBF0E674100049427800440F910A96760C9FE0ABAF1B1A9B4B340E26872F5DC7485453BA312E8C6415752497854C3FE5E37413CF9FF952826BAE16B7105088080F2049000281F22B50CACA8AAA6DB264EA34DB9162F31AB16064759B32936856EEB3F9E2A42427DFB75C5A5DE6EFFE424DFD7E00C0880805604900068152E7B8DE585E41E7879262D5DBBD35E4350BB74024B9332E8813E63C5BA818D8ED73DEE7CD1ED2F06FDA5B63AFE1C8E800008684B000980B6A1B3DE705EDAF7BB5FB3ADAF18355A42E0BBD49EF46AE7536AD73566B4F7C9BF7DBBDAC7F11B088080F6049000681F426B1CF871C166CFDAFED6D4865AEC22F0EA09A7D08F2DBB7AAB3F5524033CD7BFFB6FBFDB6514EA05011030850056023405ABB3946ECE2BA2F1F77E4E6507AA9CE518BCA99340CCA10AFAA06C01B57BE036A2C183EABC0607410004F427801E00FD6368AA07E507ABE8AF4F7F879BBFA994D5525E161A417FCD388DCA4F3C512DC3600D08808054024800A4E2749EB2C7FE379BB80700E22E029B8B2A88630F010110702E012400CE8DAD61CFBEF965034D9DB5DEB01E28D09300C79EDB00040440C0990490003833AE86BDE2457EF0046818A3F60AB80D60C127EDC3080740A04E024800EAC4E2EE833CDFFFC15766D2FEF24A778380F79E36C06D81DB04040440C05904EA59FACB598EC21BFF094C9EB986E6AFCCF5BF8086573612EBDDB46E114F2D9363A95942342527C650B3C4E85ADF9313623C9E151497D19EA2722A28123FC5AE87C77EDF59B08FB6EF2A71F40D92DB02B789B123311D50C3A60E9341C027014C03F489C69D2778739F736FFF884ACB2A1C0720AD791C0DE89E46037A884FF7544A8CF363FD7B3F2814951EA005ABF26881B8512E58954BB9BB4BFD28A5D725713111F4D5B39752527CB45E86C35A1000019F049000F844E3CE13F7BD34C35103FF5253E2E8CC933BD0E8C19DA843EBA6960475E3F6BD346D4E367D2B564DCCCB774E32306658677AEC2F232D61884A400004CC278004C07CC6DAD4B0227B375D71FF178EE8CECEECDC92AE39BF0F0DC96C43DCDD6F87F07BF35FB2B6D1FF262FA5ACF5FAEF9FC01CDF7BF402EAD9B1B91D385127088080640248002403D5551DDFACFEF4C0245ABE6197AE2E78ECE61BFF4D17F5F374F3ABE408BF1E78F9D345DA2702BD3AB5A0771F196B5B52A5524C610B08E84E000980EE119464FFCC455BE8F689DF4AD266BD9AF6698974FBF84134AC6F86F5950750E3AC255BE9D90FE669BD9DF2B3779E4923FAB50DC06B5C0A0220A0220124002A46C5629B6AC4E3FFB83B3FA5EC9C428B6B365E5DAC189CC64FFC978CEA4E8D1BEB31ABB5BABA863E9EBECAD323B04FC3C1961DD393E8B3891751885DEF568C371B680001101004F4F88B8950994A60E6C22D5ADEFC47F66F475F3E73298D3FB3A736377F0E24272A6C33DB7EEA8076A6C6D60CE59C28729B81800008E84D003D007AC74F8AF597899DFE566DCC97A2CB0A2531516174EF354369CCD0CE5654677A1D5367AFA7C7C58A7B3AEDB6D8BD430A7DF8F885A6B34105200002E611400F80796CB5D09CB56EA75637FFB6A989F4D113E31C73F3E746C2890CFBD44EF8A68B70C2C86D07020220A02F012400FAC64E8AE51F7DBF4A8A1E2B94F4EDD28ADE7F742C65B44AB0A23A4BEB609FDE13BEB18FBA884E6D4717A6B01304AC248004C04ADA8AD5C5ABFECD58B04931ABEA36A75FB7547AF5BEB38907FD3955D837F6917DD541B8ED701B82800008E8490009809E719362F5973FADA3AA4335527499A984179E79FE1FA32922DCF95B57B08FECAB0E8BED70DBE13604010110D0930012003DE366D86A5EF867F24F6B0DEB315B012FDFFBF2BD67130FFC738BB0AFECB3554B171BE1CA6D88DB12040440403F024800F48B99148B976DD849393B4BA4E8324B494AD318CF8D9037A2719BB0CF9C0430039585DB10B725080880807E049000E8173329167F337B83143D6629898CF07685B7486A625615CAEB65DFF97500B35059546F4B2AB3836D20602701240076D2B7A9EE436225BAE9F3D51EFCF7CFEB8653D776CD6C22A44EB5CC8059A82CDC96B84D41400004F422800440AF7849B176D1EA3C2ADE77508A2E33945C786A573A7B482733546BA9935930135585DB12B729080880805E049000E8152F29D6CE507819579E0FFF8F2B074BF1D3494A9889CAEB1FCC58B0D949B8E10B08B8820012005784F9A8933C629B77A45351787399FFBB7184F2EFBCED60C7E300988DAA1BF0CC5ABA0DB301EC6818A813040C10400260009E8E4537E414D0EEC2FD4A9ACEDDDCBD3BB750D236158C6236AABE0AE036C56D0B020220A00F012400FAC44A8AA5F3966F97A247B6125E05EFE64B06C856EB387DCC48D5D510556D5B8E6B04700804241140022009A42E6AE6AF5473B0D684733229213652178CB6D9C98C98958AA26ADB5291156C02011508200150210A16D9502DA66A2D5BAFDEA22DBCE8CDA567F4B08882FED5302B151747E2B6C56D0C020220A0070124007AC4498A95EBB71552F9C12A29BA642AE1F7DA6E5AEAD7283B66A5E258006E5BDCC6202000027A104002A0479CA458B9227BB7143D3295F0A8F68B467597A9D215BA98998A3302546C63AE681070120482208004200868BA1659BD295F39D307F66C4DAD9AC52A6797EA06313366A79AA8D8C65463047B4040150248005489840576ACDBA2DE34AD738675B6C073675671EE70F5D8A9D8C69C197D780502C609200130CE500B0D3C386BCB8E22A56C8D080FA5E127662865934EC60CEB9B41CC5025E1368681802A4504B680806F0248007CB371D499EDBB4BA9B2AA5A299F06F54CA3E8C830A56CD2C91866C70C55126E63DCD620200002EA134002A07E8CA458B86D67B1143D32950CC96C23539D2B75A9C850C5B6E6CAC601A741A0010248001A00E494D3B90A3E950DE8AED6D3AB8EB15691A18A6D4DC7D8C26610309B001200B3092BA27F67C13E452CF19A91141F4DE92DE395B24947639821B35449546B6B2AB1812D20A0120124002A45C3445BF2F79699A83D70D5DD3BA4045E0825EA24A01A4BD5DA5A9DD070100440809000B8A41114961C50CAD38EE9494AD9A3B331AAB12C282ED719276C0701D7104002E092501795AA9500B46D95E012F2E6BBA91ACBE27D07CD771A3580000818268004C030423D14EC2BAF54CAD0D49438A5ECD1D918D558AAD6D6748E2D6C0701330920013093AE42BACB0EA895002427AA35704DA150056C8A6A2C556B6B010345011070090124002E09B46A8B00F1BEF61039045463A95A5B9343195A40C079049000382FA6757A74E8905AFBB447456005C03A0315C441D558561D526BC5C92090A20808B882001200578499A8E6F061A53C0D6D8CA6272B20AAB154ACA9C9C20C3D20E03802F82BECB890C221100001100001106898001280861939E28A468DD472E390D89D102287806A2C556B6B7228430B08388F001200E7C5B44E8FC2421BD779DCAE83072AAAECAADA71F5AAC652B5B6E6B880C3211090440009802490AAAB090F532B01C06231F25A8C6A2C556B6BF248431308388B00120067C5D3A7373151E13ECFD971A2A008CBC5CAE2AE1A4BD5DA9A2CCED003024E238004C06911F5E14F6CB45A09405E7EA90F4B71385002AAB154ADAD05CA13D783805B0820017049A413E3A294F274CB8E62A5ECD1D918D558AAB63091CEB185ED20602601240066D255487752BC5A0940764EA14274F436453596C90958E659EF1605EBDD420009804B229DD23446294F576DCC57CA1E9D8D518DA56A6D4DE7D8C27610309300120033E92AA4BB6572AC42D61015969453CECE12A56CD2D11866C82C5512D5DA9A4A6C600B08A8440009804AD130D196B4E6EA6DBFBB6055AE891EBB43B58A0C556C6BEE680DF012040223800420305EDA5EDDA6658272B6FF92B54D399B74334845862AB635DDE20A7B41C00A024800ACA0AC401DAD450F806A0BB4CC5B914BE507B12260B0CD83D931439584DB18B73508088080FA049000A81F2329163616BBEFB56D952845972C25159587E8E7C55B65A9739D9E594BB612335449B88D715B83800008A84F00FF53D58F91340B4F689B2C4D972C455366AD97A5CA757ABEFA593D762AB631D7350C380C027E124002E02728275CD6AD7D8A726ECC5FB19D76ECD9A79C5DAA1BC4CC989D6AA2621B538D11EC01015508200150251216D8D1B363730B6A09AC8A9AC387E9D3E9AB022B84AB3DCC989D6AA2621B538D11EC01015508200150251216D8D1B94D1245478659505360557CFEE31A2A3B80C180FE526356CC4C35E1B6C56D0C020220A0070124007AC4498A953C38AB77E7965274C954525A56411F7DB752A64A47EB6256CC4C35E1B6850180AA4505F680806F0248007CB371E499813D5295F4EBAD2959A4DABEF62A826246CC4A4551B56DA9C80A3681800A049000A810050B6D18D4ABB585B5F95FD53EF144FBE2C70BFC2FE0D22B9911B35251546D5B2AB2824D20A0020124002A44C1421B3AA52753F3A42616D6E87F55FC5E7BD9FA5DFE1770D995CC46C577FF1C066E53DCB620200002FA104002A04FACA458DAA811D1B0BE195274C956C2A3DAFFF9CA4C3A58A1D6E236B2FD0C461F3361362A8EFC677F86F56943DCB620200002FA104002A04FACA4593AB27F5B69BA642BDABAA3989E7A678E6CB5DAEB6326CC46551939A09DAAA6C12E1000011F049000F800E3E4C3FDBAA552426CA4B22E7237F7D7BF6C50D63EAB0D6316AA76FD330B6E4BDCA6202000027A114002A057BCA4581B2AA6038E1AD85E8A2EB394FCDF7F7FA6359BF798A55E1BBDCC8059A82CDC96B84D41400004F42280FFB57AC54B9AB5670DED244D97198AF89DF7AD4F4DA35D85FBCD50AF854EF69D19A83E2642F5B6A445B0612408D8400009800DD055A8B277A79694DE325E05537CDA90BFB78C6E7AFC6B2517BDF169B4A413BCD00FFBCE0C54166E43DC9620200002FA114002A05FCCA458CC23B6CF3FA58B145D662AD9B87DAFE746E8A6A582D957BEF9B3EFAA0BB7218CFE573D4AB00F04EA268004A06E2EAE387ADE29275058A8FA4D6045F66E4F577845A5F3A707B28FDCEDCF3EAB2EDC76B80D41400004F424A0FE5F7F3DB96A6175527C348D1CA0F660C0232017ADCEA31B1EFB5AD955F08ED869E427AFF0C73EB2AF3A08B71D6E43101000013D092001D0336ED2ACBEF4F4EED27499AD68C9DA1D74F9FD93949E0F1F2C039EE37F85F08D7DD445746A3BBA30859D20602501240056D256B0AECC135A52F70E290A5A56B7495BF28AE8D27B3EA3A9B3D7D77D818647D917F669B3F04D17E136C36D07020220A02F012400FAC64E9AE5579FDB479A2E2B14F120B9FB5E9C41773CFD1DED292AB7A24A53EA60DBFFFAEFEF3CBEE836C851B736634A00A114043427D0E8B010CD7D80F90609F0FAF2E3EEFC94B2730A0D6AB2BE786C4C04DD74513FBA6454776DF6A2AFAEAEA18FA7AFA2973F5DA4E598868EE949F4D9C48B2804C3FFAD6FF0A81104241240022011A6CEAA662EDA42B74FFC565B17DAA725D2EDE30729BBD1D111B0B3966CA5673F98479B72F5E9EE3F62FB919FCFDE79268DE8A7EE7E1247ECC44F100081FA092001A89F8F6BCE723FD09F1E9844CB37E8BD1D6F66E7969E1E81013DD2948ADD8295B99E27FEACF53B95B22B50637A756A41EF3E321673FF030587EB414041024800140C8A5D26F1DCF32BEEFF829CF0528813816BCEEF434332EDDBA69639FE92B58DFE377929E97EE3E736C93DFEEF3D7A01F5ECD8DCAE268A7A410004241240022011A61354DDF7D20C9A3ACB3923EC5353E2E8CC933BD0E8C19DA843EBA696848857F09B3667037DFBEB46CACB2FB5A44E2B2A1933AC333DF697915654853A4000042C208004C002C83A555158524EE7DEFE9123D7DF4F6B1E4703BAA711BF1E18D03D9512E3A2A484A6A8F4002D589547DCCDBF60552EE5EE76CE4DFF08A03831D8F2AB672FC5C23F4780E027083880001200070451B60B9366ACA1875EFB59B65AA5F4717776EB16F1D43239969A25445372620C354B8CAEF53D3921C6637341719967BA614191F8595C5EEBFBCE827DB47D5789235E9BD417A087AE1F4E634776ADEF129C030110D08C001200CD026685B9FCEEFAFA47A7D07CF1440B018181A2C7E4B5FBCFC1C03F3405107018012C04E4B080CA70879F8E1FBE710435890E97A10E3A3426C06D80DB02A6FC6B1C44980E023E082001F001C6ED875B2637A1FBAE19EA760CAEF79FDB00B70508088080F3082001705E4CA57974D6904EC423BF21EE24C0B1E736000101107026012400CE8CAB34AFF809B05D6AA2347D50A407018E397A80F48815AC04816009200108969C4BCA454786D1337F3F8362A2C25CE231DCE45873CC39F610100001E7124002E0DCD84AF38C9F061FB9692406824923AAAE221EECC7B146AF8FBA31826520208B00120059241DAEE7D401EDE8860BFB39DC4BB8C731E658434000049C4F000980F3632CCD43BE399C71724769FAA0482D021C5B24796AC504D68080990490009849D761BABDDDC323A84F97960EF30CEE704C1FB909F3FDD11240C04D049000B829DA127C8D086B4CCFDD399ADAA7616680049C4AA8E058724C39B610100001F7104002E09E584BF334BE4904BD72DF182C10238DA87D8A78911F8E25C714020220E02E024800DC156F69DEB6486A42FF7DE01CEC0E278DA8F58A92E2A33D31E45842400004DC47000980FB622ECDE3362D13C40D640C25C4464AD30945D610E09871EC3886101000017712C06E80EE8CBB54AF376EDF4BD73D32850AC456B910F509248BED8FB9F7A643EBA6EA1B0B0B4100044C238004C034B4EE529CB3AB446C213C95F2F24BDDE5B866DEA6A6C489AD7DC7507A8B78CD2C87B9200002B2092001904DD4C5FAB807E0E627BFA1359BF7B89882BAAE776DD78C5EBCFB2CE21E0008088000082001401B904AE0404515DDFBC20C9AB170B354BD50668CC0C8FEEDE8F15B46525404D6F7374612A541C039049000382796CA785273F830BDF6F9627AF5F34524BE426C24C08B37F1EA7ED75F782285F02F1010000110F88D0012003405D308CC5AB295EE7B710695965598560714FB26101713418FDD3C9286F5CDF07D11CE800008B896001200D786DE1AC777ECD947773E3B9D5666EFB6A642D4E221D0A363739A78FB286AD52C164440000440A04E024800EAC4828332091CAAAEA1973F5D486F7E9945FC7A00621E01EEE6BFFABC4CBAE9A2FE14DA18CB7C98471A9A41407F024800F48FA1361E2C59BB83EE7F6926A60A9A14319EE2F7E85F4650DF2EAD4CAA016A4100049C4400098093A2A9812F6507AAE83F1FCCA3CF7E5885018292E2C563FBC69DD69DEE183F8862A230CA5F1256A80101C7134002E0F810ABE960D6BA9DF4E81BB3293BA7504D0335B1AA637A12DD7FED50CA3C015B346B1232980902CA104002A04C28DC6748B5181BF0E90FABE995CF1651F1BE83EE0360C0635ECBFFC671FDE8A2D3BA5163BCEB3740124541C0BD049000B837F6CA78BE4F4C137C6B4A167D306D25F1424210DF0478219FF1A37BD084733229564CF3838000088040B0049000044B0EE5A413282C29A7B7BECAF2F40A1CAC38245DBFCE0A2323423D4FFB13CECDC416CC3A0712B683804204900028140C98E225B0B7E400BD3F6D057D327D1571EF809B859FF22F1ED59D2E1FDD939AC647B919057C070110904C00098064A050278F00CF18983C730D7DF0ED4AD74D1DE4297DE3CFEC41E78FE88A91FDF29A14348100081C430009C03130F0554D02353587899715E61E81792BB63B76FA204FE71BD4B3B5E7899F97EF0D09C1DAFD6AB648580502CE208004C01971748D17BCB4F0F77337D2B773B369DD960247F87D42DB643AF3A48E74FA491DB074AF23220A2740400F024800F48813ACAC83405E7E29FD929543B3976EA545AB775045A51E030723C243A95FB75634B44F060DC94C27EEEE878000088080D5049000584D1CF59942806FFECB37ECA685ABF368D1AA3C5AB56937551DAA31A5AE409586858650F7F6CDA95FF754EADF2D957A756A4E9C044040000440C04E024800ECA48FBA4D23C0D308576EDC4D2BC42E84EBB716D0866D85B4756731F178023385DFDB67B44CA04E6D92C427D973B3EFD1A139F1343E0808800008A8440009804AD1802DA612E01E819D620C41AE7875C0AF0FF853505C4EE5070F894F25F1AC83F28355E267E5EF3FD9A098A8708A8E0C3BE66798F89D8F85527242B4A70B9FBBF1D3C4A7A5D87E979FF82120000220A03A012400AA4708F681000880000880800904F0A8620254A80401100001100001D5092001503D42B00F044000044000044C208004C004A8500902200002200002AA134002A07A84601F0880000880000898400009800950A112044000044000045427800440F508C13E10000110000110308100120013A0422508800008800008A84E000980EA11827D2000022000022060020124002640854A10000110000110509D001200D52304FB40000440000440C0040248004C800A9520000220000220A03A012400AA4708F68100088000088080090490009800152A410004400004404075024800548F10EC03011000011000011308200130012A548200088000088080EA049000A81E21D8070220000220000226104002600254A80401100001100001D5092001503D42B00F044000044000044C208004C004A8500902200002200002AA134002A07A84601F0880000880000898400009800950A112044000044000045427800440F508C13E10000110000110308100120013A0422508800008800008A84E000980EA11827D2000022000022060020124002640854A10000110000110509D001200D52304FB40000440000440C0040248004C800A9520000220000220A03A012400AA4708F68100088000088080090490009800152A410004400004404075024800548F10EC03011000011000011308200130012A548200088000088080EA049000A81E21D8070220000220000226104002600254A80401100001100001D509FC3F10D2C24B353878FC0000000049454E44AE426082'), +(32,'image/png','img','89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C000007A356689B7E0000076F494441547801EC9D6D6C144518C7FFD75E0B050A7D510A12A085426D79B30852482136A280067C25821004A321F1250A1F2082444523C128E0075F30484A82814463A41F2C82A202818A48A105110101510A065A0A0D5268A9CF5E7B50A673B37B74676F7BFB6CD2DCCDECEC33CFFC9FDFCEEECDEE4C7D0DB48137564093023E064C93B26C36A00003C62068558001D32A2F1B67C09801AD0A30605AE565E30C1833A05501064CABBC6C9C016306B42AC0806995978D3360CC8056051830ADF2B271068C19D0AA0003A6555E36CE8031035A1560C0B4CACBC66F19B08AEA5A94FC7501C72AFF43F5E57A56320A15C849EB88C943BA22C677EB8D0B1BB07397EAF06861397656D4A0AE9EDE55BC7A0DA8A33FDEA24F01032C0AF1DDE99DB162523FE4677409BB8D6101B6FF740D062DFF15B8C23D56D84AB7F103E212E3B1726226660DEF16564B2C03B6F98F2A3CF0E95EC0E8B578F3A602FE182CBAAF37168FCFB0DC7E4B809D3A7F053D96ECA09E8B2F8596958DD682F13158FB6436A60D4DB3D4424B80F9E66E095C8B2D59E442D1AF405C0C8A660EC4C49CDB4CDB6A0AD8C2E23FF1CEE6E30C98A9941E2BD0310E0D6F8F366DB42960BEF93FF14DBDA98C5E2CE0C35B0F65E0B5B1E9CAC62B012BDC7D1AB3D61FE41B7BA5841EDE4903640DEF172805500236E6E3526CA35F8FBCB102520562A917A35F94AA5E4C09986F1E5D1EAFF29897545CCE0C28D0E3F604FCBD60644835420256535B8FC4055B816B2DC7BD46F64DC2D8CCA490467947F428F0FDD16AEC38A2B88AD12FCACA37F291DCC12F6D7448C0CAE851D09065BBA58F81168D4BA7C1B63E52839C195D0ABCFEED312CDE782C74A33AFAB169C640DCDF3F455A2624601BF69FC5236BF6336052D9BC93690A587B3FD63CDE1F3386C91F2185046CF9D69398FBF561E9F817F7600CD875056263B094862BE615F4BE9ED5FC4B48C054E43260CD258CEEEF2A0E822D57F1C0800555E24FA9020C985416CEB44B0106CC2E25D98E5401064C2A0B67DAA500036697926C47AA000326958533ED528001B34B49B62355800193CAC2997629C0803553F2F4852B283E5489E33457B32D6EE92909989095826E9DE35DE33E03D6148AB2533518BFBA1C155597A56F80B826622A47E805BEB49476D8346B3006DFD14955D2B17D0C18497D82A0CA5CF60BEA6AAE3A26BCCE8AFC9DE27178CE30A4A7B4D7598D25DB0C18C93498E02A3F79D192606DA5D0A09E89289B3B3CE2EE7A1E30E3BDB57B57ED4355656DC48361A703A9C9EDB1E539BA54768FECA5D2F380151D388B87D7FE065CAEB333BE91B745EF596D989E834903CCE71EEA74D6F38005DE5B2B3A127D339FFC3E2CA3B520E68CE9A9931F53DB9E074C26405B9C33207BF75DF59E952919361590E92B9A56F9D9E6DF079309A06AB0288E5BD26E6D87CC2F513395DE0C98A85684D2B240AA02E7949B32BFC4BA557E3260A25A61A48D197DEB4ACF845C69E6F33D67303537ADC50A81B27C592055810BC3CD561595F9251A54F9C980896A85919EB0AA0C1B7F3F07C4C5A261C9989B8EF4BD4A734A69D2F2F8AC5414D37043700BE68FBB33151B9FBD912F0BA42A70417BBA3F657E8975AAFC64C044B52CA68B0F9EC383C6F0C8257A7A408F78A6E476C5BAE90302474F5D7B00EBF7FC4B33B2A88BEB10876F68B86142762A02F9A5946F747DCDF28D8364815405CEA29BAD2E26F34B34AAF2930113D5B2985E430BC3CC5C470BC334CD7C4F4E6E87EDB3EF0A1C9DBF722FAAAA9A067E09BEC2A9D9184E23F337E5FB28FFA96C3CDD349F50164855E02CBAD9EA6232BF44A32A3F1930512D8BE9777F3881F945476F942690564ECE0AA4677F79E8A671B9A593FA2229210EB3BFA0FC664B3118F9C1F984B240AA0277A362BDDF647E8935AAFC64C044B52CA63FD87612AF7C451393831BAD345338A5B147F2CDA11521831BADDDF0D91359882500670A4B61AD78AC1F5E1EDD38902A0BA42A7041F3BA3F657E8975AAFC64C044B52CA67FA6FF1190F7E19EC6756BE9263FAF5722B63F9F1B00C93011808CA0CB4B4FC2CE1773514F3D57FE47A581FF2D1058FA9DD63A2D79612846F4EA1CA851164855E02CBAD9EA6232BF44A32A3F193051AD30D206642527AA91D8CE8F67EEE9DEE248E33E6D3A2D966BF45EC16DF5AE0A5CACAD435EEF2ED7E132F6C902A90A5CD09EEE4F995F629D2A3F193051AD08A565815405CE2937657E8975ABFC64C044B522949605521538A7DC94F925D6ADF2332A011B9599DCE616C8FBEEC8F9160BBDA902270659579A01335B204D97F20ED865C01C10D9AC0A2B6798990DB7EE67C05C1019064C6F10ACE8AB3A11A2F21E4CAFE4CE595705CE292F1830BE07D3CA1A03C68031603A15B07286E9AC5FA76DBE440AEA1AC1B6737B735C86A9392F01E6567D5527826D37F93F1EAD42C127FBA4EBEA9B5212A2C0883E492879696888BD8DD95E01CCCDFA3A029811EE9CF776E1E03F354A20C2DA496F1C9C5A380ADD15ABCD78053037EBEB186081B36C55B97DB3ACE975977905BD68A1FFBE21B9F412606ED5D731C0B49C6534855E9C50D19C362F01E6567D1D05CCF6B32CC18FA269399818628D06AF01E6467D1D054CC759A6BAD9F71A606ED4D771C06C3FCB1437FB5E04CC6DFAAA00FB1F0000FFFF7B54B6A2000005E049444154ED9D5B6C154518C7FFA717900A481195D0045A2C3416B1891A54404C4D11944B08D1F88091604C8C3E9208B1413445D368BC909848303E582F894F463104B0A446088D18D48055A442AB6885187A114FC0DEA8B3C41328672F33D3D9617BE63F2F7B76F7FBBED9F97FBF333BD933673635240A7CCA0B7BDA51B7BBDDE70CF0FC9252D42D9DE97B2E73B0F2B56F70B4239DD91DD9363F850DD5D3F1CAB29BB3E2845D6796F1283B10A67392F40DBBCE545C80DDFDD67738D8D6632EA5D71460A87E51563C57014B92BED6013B75B60FD35E6E06FA2E6401A17D605C0176ACA9C48A395386857011B0A4E96B1DB08D3B4FE0D52F4F0283BE77DF618048EF08C09A9E988BEAF2E2612E2E0296347DAD03967A6E1FF0EFC0301046BA53316D3C7E7E765E561817014B9ABE5601FBFCC73358F9D14FC079838005F45E1E6DAE0196447DAD02667CF029200AEABD5C042C89FA5A032CAEC1A7DFD8CB83CB2B2EF56049D5D71A60710C3EC37A2FD7004BAABED600333EF80C197B5DECBE1CEBC192AAAF15C02E0E3E1B5A807E73CFBEA27A2F977AB024EB6B05302FD99B77B7791B6325EAE728AF2297C66049D5D71A60C6C85208E412600AB2183395D197801993DB6EA0B0C4D9BA12021632EBC35612E2AA8780C5A5AC425C996F9842B8449912B004A48380C59B04197DC3BE08B1CD078BB7D997A2CB0870C97A747D0A4B9CAD96C8E81B769D04CC56A634EA094B9C46382D1702C641BE1638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A26547C008981638B24E048C80C9B2A265E73C60DB9A3BF0CCA7BF18FDBB9C56264C3B15E6E1ED55B3F0F4FC12D39195E2390FD8C1936771DFBB47D0FB4F9F927049372E9A30064D4FDE86BBA64FBCAA97EA3C609EFA93EB0EA0BBBBF7AA26C274E5C5C563D1B57981E9B0CAF1089890ECFD43A7B1F69356B34B4629A7C2A0835832E183D5B3F1D89D530D06D50B45C0FED76DF1F6C3D87BBC1B1830B774815E4A46E85590871AB18A63E35355230C64C69D805DA6E3723116DB79AC53406670E9CECBE2C7FEB12085872AAEC74E31F64A4A2160576462CFB12E1C6837B8BAF515F1E3DC5D5036094B2A26C75985726C02A62C191D541420602A6AD156590102A62C191D541420602A6AD156590102A62C191D541420602A6AD156590102A62C191D541420602A6AD156590102A62C191D5414880DB037F7FD8EF5DE3C2B9F5F5D92B0AC908A48B4D5572012B0FC3CF1A2D832F1C2D819BE9504AE0FF659CB19ACF2D6BDF7F9F19880F96A99930723011B9B8F86872BF078C0CC8F40C08E9C4AA3EA8D43042C27B1916F5424604585F862EDAD583C7BF87B3C3335040296EE1DC4845AF1DEC70BD9F7C8F9623A494DF9A44C0C6E735881BDC77BD0EC4D830A2A626A77D78B0B515C54E06B110898679DDAF09598EB3EE8EBC88354C053A0E48671F8A3F69E403142015BB4ED7BEC6F0DA137302C4F38A1407E0A5B969661534D69607343017B4F4C455EF7F151B3EFDE0EBC149E18750AE4A530F47A75E8658702E679A6368ADB641F6F93A12A3A7952F45ECB4A45EF5516DAFA48C06A77B5A1BEF157DFE761A1917932B715B8B610432FDD1BD9C648C0BC08A9F54D042C524A870CC6E461877834B1A2724A64A3A500FBB3A70F25F5CDE25639CAFFB11329070D221510707DF8E82D5873FB4D91A69E8114609E61636B171E78E73007FC9E18AE16F1AFA74DF7CFC09607674A2B200D9817B1E5741A73B77E0B8887B02C6E2950289632D8BEBC1CEBE6A9FD195809304FD2CE730358DDF003F677A43134289EF27B0F62BD2D4BEE2990124D12A9BDA37422B6AE9C858565D729B75119B04C0D7FA5FBF1F56F7FE344E779749FEBCF1CE63687149833753C1EA9BA11E2719776D1064CBB463A3AA50001732ADDF61B4BC0EC6BEE548D04CCA974DB6F2C01B3AFB953351230A7D26DBFB104CCBEE64ED548C09C4AB7FDC61230FB9A3B552301732ADDF61B4BC0EC6BEE548D04CCA974DB6FEC7F5FD2AFDE7522584C0000000049454E44AE426082'), +(33,'image/png','file','89504E470D0A1A0A0000000D49484452000000800000007D08060000006A326B0C000000017352474200AECE1CE900001C7D494441547801ED5D099C14C5D57FD533D33D4B0C41A306A249480415D1A046A3C1DD65B90534F136422E35F1483C123F0FD85D22C22E8826DE62F48B8931E20F91EFC388BA8A2E2CBB4B5063C41304E391080A82891732D333D3957FCDEEC07455CFD13DE7CE6EFD7EBBD3F5EA7A55EFDFAF5E9DCDA882DDE98BB9EFBD8D91A944FC2C467C2871369813F7A7A8F2FB8CE875626CB54FD76F6CBB926D4911AFA2C8A87365BADAF9E16156842F234E07B8AD212316621A9FDEDE10BCD96DDA9E16BF220150D3CC07711E5E03E17FCDB34018E31AD10FDB1B8D859EF3E8010951C70A743C3C3B27E18B26E19C599C169C7E03AFAAC016DA55A5CA0400D1B85D35CCE981F7DFFA59F4E89CB228F3C4A90CA232673B3D7B7879F7C52B6C8BA4917681E50F3C196414B505C0634589995A642059D603B2E6E064ED23C7AF247F4502C051403A6FEFBC8ABDE918D645FC677553781B80E3DD6E489379B906556A1790B7F6669AA44AF296737964D40780643970AAC851517215E5E73E00C82DD2CBFC7D00481238C30C5092B7EB91F3AF9F7827EFA7D02B84D0E38D40219C8FB7478FB1C83A962C3A96337E0CC6F079139865D16FFEF3BE795DCD9CF0068C2BD66A1A7FDEE7A747565E15DC500918E8910038EF4E1E58F7417822B3D85408E77BB0DC770BDC3EFA7327A3943600D790ED3064360C80986A99F41B8C185E81BE5812F0D19295D38D57DD15543EB10B0E80599C6BCFDC4A7BB45CC23ECEA5DA1C83FBDA79D191C463D3D66F33CF806DFE452CECE492656E69393F14C51F1AB16816C0F01A325BA273FD9E1533D91B5E3316C0BEF33C8A324C437BCDC36D3AB5CF739B438AF8754DE6B151E23F43554E81A006A07BFD10EFD1C2A0CF68786A3AFB284532852C56F4B66E8CFC0013328D9CD310254296044D6787B45F65AC4F171D825C8BEEE3F07471D285417031842F667E9AD73EDD78395DDCE4B0DAA6F03448FC4AD4EF5008C442D8720C3F178EA9D717CD624CF80BE6F20E00F1C6B7369B57A3328D50CD8A910920BCCE983EB6BD91BD93AE5689A55CC6F94C006868BAB84E6130E8DE81467F1A157C01E11B06F6D31F7BF032B6D3296E8256378F0FE65674A865F1215CB34630CE8E80600E0328DCAD07E00D06F097711F9BDB59AF3F93C85FFE8D6BB5E6F02D68AB8BE430E1471D5AAB0C63EAF22BD8FB4EE1F9A0E51500109ABE6583F97F10D809699963F4A646469D1308048056349B67A1E17F8D063A306D3EDD8100551465AEC11BB8066FCE33864F7FFAC9ABD8BBD9A4CD14470071FB9BE6C1D1181D0120C0C0A493C0DBFE99D225C221C41544DA8C8E46FDD9044DFC760B7F01847F41325D7966B4D9AFB1716DF586E866F2EEF20680B8F0379AFF8F8A4DC98A4B0710D43487BF8906F9135A272B350C81FF156FF9427F30B0B8ED72B63DAB72738C240437BA39720C10771AB4F3A9E07770E62C61AE12BB79C0BE81C665E7B3CFB2167E77C610D2169F8F8D2E0408F2028049B770E3D38FF1E6672BFC448B7583403B8EDEB3569BD3B1FC3A13EF869E0876FE651BF056DDEBF3E9F7B7CD606F3BC7291E15B6CE5118829E0D5C9C032D144C5732F87E8B71DF059CC54ECEF8E64B19150A043903202EFC8FF0E6139F2CF11CF76A8C1670C63AA03AEF01400C250E4080DEEEDF78EB8F52C2920878DBD781D9D9AB1AF4C57886162E2F37B6997FC9E4E66560EC42D4E5F35EB843BDFE8C8E7F0559FC56B4E71E721E8500414E00A85BC9FDB14EF32FA9840FB537A763A6F16B5191DAB9A1C9DC62A28B504120D734D9CF98E8FB668F6BD01F28B4459C5CACD7E7BA1BF980D867E6C500FCA5A8EB17B3CD47087F6C83FE1351C79AB991E328663D9E0A04DC47A33AEB831BB3CD3B5DBC9C0050D314BE1E95BCDCA90054687647A3717572D8A8E6D0248BB3A5598180D156E471F9D87AFDFE9E20F8E47A8A6768C6FE9F7E12BE165DC305D00869DB3959F8897C0408B865B5386913BC58EBAB82FAD1181DEC48C4F7FA9B96B1749956CF891C4F146B718AE324FC44BC6C40800A2ED27DFA45ADF5EC8344BA9EFA3B6A6EA4C6B2ACDF03F48E231A27E127EA9A16048CFD112FD83989B85E7F3D03A0A629D402430620B0BB74C24FC44C05021849DB48633FEFA8379624E256C26FDD1F7930B6C9145DE11550EB49B3AFECDE718DFAD9E9345C2A10E02589924FFF72473DC32616EF4E99A8C926AB9AB91CDBA4D878392E63DA0DB2DA97E308FFAA86608BC6F8C9004B785738634B31E97168A5095FD4AFED6C16822D54CFFCECDB68B7EE45A4CCC217693BEA03ABB19DED04622C22FC092780C4ADC8E909BFD75F4F00E014F906549ACF56687CF62B709B8D96C69300012AF60980737167A3714A2167BCD2B052B4A0F619FADA7E41FD5BC4B45F647AF393996A6F0CB4E360CB9A649A7886BD78B04C73EBF7D40554CFE3DFA068D861D10363744D1FDDD1C0DECB9611612CE5BA50946D593D355E4D937923E7D62F65FEA141AF86C69D2DD3DDF83D6980CE19EC4D14FE925A103F885BE64A7130430D73A6F409DFB95D12D454C217E13EC61E4EC4F3FAEB0900A2304DD32E90FBA52E26DC83C02BF3959E2E9DF049A3DBDB1A74B1D09593F30C8055F581353002CEEC03414EED9F32715AE133F6A07FA4A1740929334B13E0190022CF558DC6D27420206EB6B9E90ED2F0D9AB82D20A9FD862FF71FAD4B6D11806E6C1793202E5726BE6864FE2162DC6AC55400E83ADB091985EE7C63094F3E84DFEEA39E64DD81372A9739D21FC6A7D5ABE842FCAC849032498C4D8FD21ACC39FE1D41DC467C02CB355AC1B24E2F7FDA66E018CA6073886327A23DFC217E5E40500222301022CE5AE12CF0E6E493E51EB907FC590B073E942C71116EE3988AD314FCA7745F30680514DE193B102364E66107DCCEA8107E9D7C8F43EBF730BC4B7AD31FA21A6794C2586C51774CDC22A219E097901805802B588DF2E73012487FD3A9DFBE019F1CD9272709F3F450B7434182F4137CF9683B1F6B20F59E61D323D177F5E0010DD61FE16CCA9933F8CAEA9940314B934B297B4FE91FA7CD854CFC96961539D3AAA2974A24CF7EACF1900A3AF0D0F47E1672B0C30F6826FA47EBD42EF2364D502C2668261FD63A145E50416B15932CDAB3F67004422542F6F78104B959A8F9DD367F879154B573A18D6EBB095C4B6A94684400B1C891D56DFCD2DF7AED4390100FBE887600DFF4C8511C66E132B5F0ABD8FE0BA05060DD56F44A27FC909B1BD4E01861C271B7F4E0088C6CC19F2B230DEFE904F0FCCCFA6F0BE38995B0006B489E5F279724CA105F2610B7806C0B86BF957C114862B7687E35F77F7964B16ED352F9C6FE081813F40D3BE239710E3B96B010CD3BD396C09BB1596FF45B6D4D8B512F4EB4370F64F5159B67845F2841EA303D070DF46256D670DD0AF7E08FA26CC5BBF4313681B9EB19BBBBC1DD6072EC09E008721A06F7CE7CCC0535EB9F7343D1B3F9EBDCD9C0673442A97DF5B2EC2375BE8C73868F27B1CE74E59C718B8672DF4F1CE47E96180E40163300E650E27750246AA6529BC420B6CD918AEC74BF795E4F2B12B0857E192670078EA025EFB203C1EA6E89EC98C60CCCAFD3EE35A1BAD441E34128B71BA01BF29859F600D71FAE319A78F6959F86DDA1A7E0CA7745FB56B8C44DC52FE0A5B003C62A14871A788C3390A354B8227005831A65AFEC457E3A8D63FB22CB7B0D1D651006FB410AC2B87061E00AD313FFC4F7A15DD47DE265B5C3191267255C058049D6525478131F8051CCB53766727C749F7EC1A00E21028FA4CDCCA6177B85977B19D523A9F50E310A6E7ADE5D00A43F0F73040F01BFC7AB693F2DD02F113CF8CB73BE47B96032D2B926B00BCBF313C51A0CE9E3B50A9053C37B83DAFFCF88203E81C9C4BBC1A605D8EBF36DB9FB83380D1BF339504E1FF4FB8851EE42B2998296EB1C235AE410BD81DF83C71C2F5FC73766A76BE8C7DA49C0DA621A1FEF17E253918D11DE5B6E1838DA49D607176129BCA2304BB773844A762338B30A46A950820A0714F0D7F467B21EE04365ABD66D6294D2169015F608919336FB31F30E1FD4261F30494FB80DBB25D6B0034C918B910CECA47FDCBBCA5F343A0DB8393E8CEAA29340AAB6FE3A0EBD73BC507DC470304BF750A2B364D1C97C330F649B55CEE0860359E9DE20A00E3E7F32FE38D5056FD340A2CB367DBF37C5593A8D5F8128D4057F13B27EE01824BCCC7D5892FA7B885A6E1029A16B90C9C3F3D5AA665E377058050C4540BC1295EA7AB5EB229BCDCE2B0A328129C4C176A1ACD70E20D730A77F0A7E84B4E61C5A4F918FD4D2E0F001D210C74999EC9EF0A002844B9C401685498C95468B9871B93E85A2CC5DE20F309EDF7B97044DC625262B75FE085F8E1501B1B5CDFB631F24D1B290BCFAE21CE9826BE5F84C2D331CE1C897E7E2FE7B46C1F8C00ECD6A6C666753618D738C7EFB954187DFEF04E7A1242AF4BAE05BA8808A6890E0E8E13379B94CEE1E6D2E761081E2171F02EE4F789448B7B01982D7EDD3A7FD495C6EBB3307D9888131F05884D1D914818375288DBAFF03FA553C33002782E65F41E1C202CFED0723A0FBBEFD70104BB464B780EE09CEE65A8DA45A5AC1EEEA1FB1B442503E0CBA9E407C3B17FC4A4D79E6A0EFF735473E467AB1A0271435213F3FAD1286FE912BEFB2AE964542400444B0427E033729CEE965B05C3C69300845DDA530E2F861F136FAEDA1DF72D76F18B0F69E1C28AC7C4E594824F6DFDF6C83454C6B6C0906D05A00EB7B536B0ADD9C6EF91F10CBACE81EFFD228FABF69043BC82917038DFE1706EEAE2927577FC6E01A2DB71CA7B4F7C0FC3FA7EEA64E943F012BC913E46CF0F157D3D80AE34760CB36FA5AC9D410157EB2EB2BA12B3B95AD4BC54F46D07C815C130E872E2BE8CD6BDCF6F7D20A72D949F3F495F352374A4E5A317AB26D25B852AC7295F68C88741B759D868D0614E718B45131342E8CB27A03B92659B82053E0CF72DDB5613A109EAFC788BBF261B0E7ECB7828975BAF5370E0998CF9F8D3C326DD0735A6E38441041332E7EAC7D39F3D67E832215E88759803B03980020657695DC290CB868BDAA6C8A7B27D8FF61C862E403DD0A90530D429238725DA1B84F0054B68F840CCA29BF09B25F273AF083E1680E195DDA15B283900EC1CA5F7E97EFF268718FBBA9A0872C8A0E024081AF74949D3CF9CF6C21E184F86AB17860140A795C3BDBCE4556E69CA1E0078D3D0FEB4596EB8A84583655AA1FC9646F810A5E2DE57283D9050F60088B72953F7C547A37460B1DA1B73EF8ABA876652BA8562F193CF727A0600489D768566C8F98EBC6C1B1206E0B794B8AC0F004A9B148A00234C0CC3EC0E47D1792BED672716CCA76C81C39BB3B660A5153163D40357B54B0E232DFB8E5F29BCD85E9DD12330F93F4C2E177681160EABE7E692E3E4E3D97C828E81BA1F2CE705DA4332AD9CFD2633ED8B786016074F77307C28098B0AF25DFDEC45ECF2CE78D92346622FE0864FC7B5F37C37063668DE8546FF5972BEE806F0591EAA0D4CA2CE647A3E9F51EE72943B3E394F80717D700A1D924C2BE5735DB379788C5BE766E0416C74B5EF1EC6096ECC04F2E791505AE7E723107944860CC551802188531400301FD6E7A3F4E3C47C80E00D3C8AFDFF7FC0D2ED48ACDE6DCFC4AFDBF0500B4DC44C9B4DF8220FEC1570BDF7CE6DD96EE2C7C81A8DB670BF3AC9E9254D0BB09B8424DD14B82B2E6783BDEC42D995DEC58331915EC337C8947D79607C686827B5F04EFABC8BEC324615F605847F8F1291D107BADFF1808612B58884A15ECAD2FCEC262DFE2D3DC61778C940AC2ABDF746E4302F69BDA4097E81E640EDBFADA4E57454E8237A943F862B54F2E0A051F6C0D4F35F90D540393B94DF8C7BD23F92E925F573A68E523232C4EE1547F8E3C3C0CE86E0451AB166283769C63B632ED0C1A4EE13CC9CCC530CEC55DAE9F3895B3328EC90414D88D3DAC863749C4358D624FE047D053B81FE8AB75F6954F4FDAF1B9C3CBD2C5933E032A2D8CF812419BBEBE46CC5779C061DA49F2368A8D36E57379FEF1F8B99C762EF80E33427E3D699E86BC6EC4E812746777736067F6AA315D8137E147BF9F1854EFCC5019C5C1CC01185FF76C34773D94472355B27169D30E6BF05E9D5371F9F47D174AAD6C7D3D3C9E595FAB97A9EF92D8A5AB6CD21F1FD824CEAA6A0AE49E3DBB8A6ADE89CA1FF3DC1B70D000962AADFEA66F33CB2AC3BEDE1ECC5CE99C6E1765AE17D30D0CEC35B2AF1B2BB5C006107AABC40F3D122AC1C0A43D7D1A1DB30C2B0F2B15F663AE2A7D51E68AC178C7E34BE1006A7237359101D8F8DC3BAC7E84CDE2EE6981B4601D93B34C07378EB6C0EB4E1E29328E2AB18B680027B70A0E3AE9D2D64A2D35A009EAAE4E2A0A9C4B8F78A588CAEC0F1EF7F4153B5C1BF09C0D80C41FBF08CFD8F7400FA92F148DF1FB48C0E510EC7019195E826C6BAD52E1933F71C81E32B247687D171C6BD1C8914AE00306CEFC0CBF8727718BB49761D471686206D8A1E8B0CDB129916EB178739EE81DA7E1E9F5B5E02E1A4B384BF0A01FF48F0056064ED001654D5DE4D22F9A1E128B5C1501C034DB025EBCC0A159153B59235D39E556829084A1F9A225E9C7CD7F9D80FCBE31F63B645B358AC68F3F2B682E1C11EFE970C4647C1B0F903B4514C0EF7EA87F05FC278BF11792A863140300C86E2AA224E453B56434C00E10574003E2F0C0004176818650A14EBB5A7613E40A8D5923836993E3626D3B9F86CFBA160005F16CD46A1A76095D17B302D7F0A601D611C0F4392D18F9C8005CD7020A6A25789AD6A29722A38396AF1EFCB8580DFB7E2378DCA0129FCAE3480C8C3F2E98B1DF2DA77EB86E828077A514962B208073DCFC4ACE13721C479688C57B36100F1A2F86BC5DFCF833E1A8AAEE56E3CC7DF7C006B21F29B2AE2C879010407E0A4D0AA9D4FD0D7E5B042FBD137C1D85701409C29C7C7D3F10270BB778EEB078CEEC270F07CF7B9153605E6F20F80A046A394FD2144B1AE2F5610853037A3F29BD1C3BFA9077087C038FA00B4940EB6C629C86711FEC4B8DBEE708317BA8B31C1E3E91FF680C2F9F041CAEFC462B1BFCA25308D8D70A3013C01A0A63974058660D725178E8CB6FBAA8D41957C3B28C074223A176170EAC9758F3F637F00003606A3930D4A5801084E1F96C0EADE3A7C456CB89BE25C770122F30037946E008DB2777475E42C3785F7B4B83839BC0C03C8EF41D0EA9017BB84F152B4E192A9438A512FFF1E8159D03A978197DD5A87912BF52FF8F4A401444274036B304812C3BFDD0E5FFAC657BE87CF4A3A7CB83BB0729E428FE3BB08317A18A057E61FD0A2DB302219274627C5A8B1B0056AE746276082EE229F5FFF95DB8BBA3C030067CBCEB4385711C7D81998857AB018952F65199884AAC31AEA23B009C48493DD61C51043A2F1FAE4F2DF35E4A90B10B51DD3A03F883E67A3BDE6F0716A50681548C048A10D9B518EC71BA41EC7E6F4450C8D5B715965D116CABC36B16700C4D53C63F3D482F9887C5C62ACE65B7E14B11309EA7E02FA61657918DDC39E00C1539116FA4EF971BE9B23CF001059F84606EE43E5DFDE9D5DD793C55973F732A51C54717EA8F9A7B169555C30F51FB972E81EFAE314D31338495C2387958B3F2700740DF9B4F97265303D79D8FAEDE674995EA97E7D0A3D87E3746360002A7309D0049F07085A763E1E9F8B28BB26C80900A2367BF40FFC11E8DF24D70C43A2467C50B2284322B9EC52F8F509F40234C16880E07DB97C612862E3CCA3A147D5FD8572DC62FB730600BEFE1DC654E92F54C67163558C7E3F8B63275F2F71C6147A199AA00ED5555609E3434686EB675B68723935475E84D35E1FC475EBEA1C34BA82EFAC981BBEB89C2A5C685E8CF1B41E1A7114CAD92C97054D10C40AC35280E0BB7258A9FC7901409C799F7E0986854A1F68596C6EEDFCF0B05255B014E5E2CCC04618C70204FF92CB8726D0C574B2D8D6268795C29F37000C1C42FFC61BEF705C8AF7E3263D90CB9DF6A568985CCBC4B4F11B58911C056DF0969C173441006B798B306D7CA61C566C7F5E0020F6026CD960DE07648F73AA00BE23D42E6C05A7B04AA661B2E86DC30F1024CFD777571820F0E36F2156197F50CA36C8190071E16F3417E2ED573627888AA1F2B7896DE7A5AC6429CBC6DEC177BA41A0AC12A23BF061B4F427EC593CBB543C42437977E293F0D14E7321E67FCF70CA05AB55B77634042F710AEB6D34EC211C886D64AD78EB95A1315E12B1F3F042717379B1DBC5B30610AB50E984AF31ED963EE1EF16A7D8408A9DB47510F6CBBBA95D4F008580C01DD86F50744DE91900B5CDE68C546F3ECE6BDCDCDEA85F2A57B4B7FBB177719BA1D368804031960508F0772B8688BF2A663B79EA02C43980D866730BB4C0175466B59B3B67EABF54E97D94440BF00EDA33F4093D81B7DE71B5100B4CD3B1175199624FA4CFE7AF370DF06EE46027E1E313A737B911BE30206BE698177BFDDE4D3E1BA29879B11AFA4F30806961466B9CCAC52AE2B51822CE740ACB37CD130030F50B0356723862CE02FC2E899AD2DB3D7AF8136EAFBCE5B390F94C6F9B2C12278C83FD692240D0E9D44800C1EC628C0E3C0160EF6F045E01E35B6D8CC328B44C5A5A771D1F68A33B7876099FF3695DC17C38268B9EAF6D0A5DDE9BD60E58357D826DE86253C94A8766421353C147509E0080AF58C634D21E5099E607454D73653A10A8C2EF8600F120507F7D6BB3D9517B5DC8E1B48B5A5A2550304FB0C3D893A6C0307C52AE0F660B23322DDF7E4F00104C048D40337EDE5518E2FCE0542010C27F6F83792FEC87EE375F492D0EE38DB44CF6626D73E8523C7B3252D55CCB9B22EE3D30AAE8BB00C123094E51F1188C41871D578918F9F9CDA981EB9A22D5B89C68256601D543A6D821ECD7F5D1894FC927848FA1E3D46C59C7E2D2F3B8CC78D6AAC6E0B26CD3F4E4786228888BB04F86853504C7DC968B3D0685AE4F4E0010CCD534854F05C38B5281A02AA08F1DF075DA2ADE7C37C2B7559CB1E76063CEC2C4D2A3367A9F27E716C819008283F420A0AD28E415A07BAC23B71ADD8EBD044F23FC16E8FF3D1DE37413A1119EC5C2D29C41438C166187A48BDB17965D0BE40500A2A8B42048C50B849F5828AA69E683889BFF8B7E7F4AAAE8BBE8188108231463D1851D8DFAB3BBE8457C38F14EDEEFC36DE62468BFD3B0E6B1B4BD413D2D5544763C17953700080E6AE7864FE13182601C6C0299C524E12707618AF9479C5B4DD0085F49A6A77A86E184A351EC7E2C3BFE05BB945F2AE4D94431611532CD2918AD9C06C103A8BC9FE00B8DB8BA6366B03A158FE54CCF2B004445C599801867F7A171FAA7AA3884765B476330E55631188CFA960D91737118BD1E6FF9FEA9F251E9EC3394FB77D1A5402ACF04487F7A452353B666A9E9544A5CD8E1E808744B47588C1F895340478097E1C85F3D188AE47E8D1DD6D660BCA2E654DE94BC034054B76E1E1F128B9AF74313D8E7BABB2EA46CC6D1B1ACA639C52EA21D1F457E6A316B06DEB8FDBC34252AB81DE936F874E3FB6D57B14DE9F2A8690ECF80E6A9411A71A47C08849DF530B9A72E7D1704008946165798E12ED733203C718BC63B3E8DDDDFD6A0BB1EDA08207CFA51E41C08E46C055489C232FC6A3A3B247E29669A78F81AE7B35EF317FB2187EDA30F8A5FA393A68C720B2A28000A5159314B6845D854DC0E360DC2CA7AC6B01000405713C522EE0A288A25BEAAC0D2B6CB99D0363DCAF97B14B760B6FDCAE0EBF8B946FC8D9A671E6DC508134B7C0CFCC3318228C23D45CC847DD1AA31B6A4AA2AF0D01397A9D7ED83971EE37A1C00925B76D50CFD6FF08B3F12469B198A1E0D7B01379DD21C6887BCD40DAA7D1DDEF25564696B711A786D55FFC0CB95B4C1352F8D942C94523D2FBF82ED40D96DE2AF7A4E581899F9A99B465777D4079720BF8A74595BB91559FBBE4AE1E8429FEBD52DD007805E2D7E87EBD67B797BF4BAEAE7C7502AB766131F94E0149FA74FB0C623FC614CF4ACC3169314AB887C1FC43D12E96C0EA389908D50619E8A0400E6ED37428EC724CBAA7B6A77882C605B1C8740CD5F9C8B1F93F928E67365DA001AFB5D3E1A118B56ADDD134FF9C8AE2CF3A848007434E8F788330A39B538B6B4F5EB67389E79CC29DF324B5C9100106DDCDE10B80CE7137F82F9FAF5AEDA9CB14F90E67AA6E9B53D7D9A379B7AFF17705E3970EC8247060000000049454E44AE426082'), +(34,'image/png','file','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000090A494441547801ED5D698C1445147EAF67E730B84A4014348031282A6A4C0C51092C0B22E812F88181F8C398100DC623FA4324888B81B0A81CBF8C1C6AF097312A21E2C1151164F120311ED10449C00349C00006018599D9992E5F8F327457F7ECEC4E976D3DF77532D9AE5755AFBFF9BEAFBB6A7BFA40A8B3DCF19C1A5874BB662A50D311D4B5A07008ADE7EA7493EA041940C493A0E03020EC41476DBC6C4476D3FA5958EE0904ACD568CECB2ABDF778711EB8300F405D54AB9DC4ED630001BFC7949ADBB920B7B91EBA4803B4AE549794F3850D4A414BBD04526F2F030EE0D25DED9985748450B550860C307985EA77A650FC0494BAB9562789F361808E062B762FCCD2513C7A71F4F0997CF115115F67856F99E66B4F8DED28CCACF50D024780968EAE31AE2A7F1AD518113E4274DE48A5E0CB14A44F44B59158F20CB825C0129486039647D390FD047D8646A0F8A5F9E2EC355B1EC7825ED7E40F287017F8CB95F5CAF8818FED6ECFAC0ED549C016060E1290CEBB5F54AFFE71AAF89A52EA1E0DD8B03F4F76DD47B1755A1CAA4340EB2A7521554ED21B90FE6B3F11F1755AAC2CD31E7EAAFFA0CCFD74B43EA003A4A160861EF3CA5503947F2FDD4ACEC9FA1BD1ECB17C617376BE3F26EB7633F0FE4378061017EB2815C2383DE695AB0620F12FD71BD078B2CF73951E97B2DD0CA49CCC9E1042A59AFF39CA07AAAA0670D01D10A8A102CD10F7EB3129DBCFC0CEF9F043144AE7040CD4E35503D0DE1EF88FC06B48878D9A2710F44452B68781CA899F88933F6E2AAC71D500F6C017244932200648926D0BB72506B05094242189019264DBC26D89012C14254948628024D9B6705B62000B45491292182049B62DDC9618C042519284240648926D0BB72506B05094242189019264DBC26D89012C14254948628024D9B6705B62000B45491292182049B62DDC9618C042519284240648926D0BB715B82FC0427C15486A1BF42BBAD016C0E7829B9D0A1B02B16E0A852D30932E7B5B45D7BD5D7CAE1995F37491D4D173E5D0DFBFEB8FD08571BFA003DB32CDB015C7C2E9503BC60116062894613089F5B69F67BAF6BD44E5B43FD6DDBAEB56841FA45DE4982171BBBFF359C10D5E5EE5C203855390CF6F8697B2CDF01C8E83FFC5DD51320474E71AAD8E4C98A3CFDCFC693890DF1ABE89466BCEA228066844260503A00C5BCF6E82071BE96E531F3140836AD05092A2F9C4DAFC1698D2600A2BBAB19803FC9B4CD15C620B89B9326A1B5497A339C270AAF326A053E9F01FB877A2620217DEA449EA489CD2CD64322AB925313100C0915C1BECA8A3C79ACA985FAEDC5D3BCCDF964CD0BFE0C2B3147BCC1FE7B22E43400F95CADD05DB7319B8890E013F86BA28984347814B4371060131402F44C23BE164AA0966D3D0403BFEF985868674DE8569E7237CD6C400BDD42A3D053A49FDB7F46EF418A6BBF51887B218A001951C84F742DD145C198A310888011A1089F6F69FF46E7427F5103DC6A12C066840259A08069EA4E2A5A058B18154FF791731400312941146E9DD682278588F71288B017AA9927732883EDE13B7020BFD5AB837106052E8F327827AAB5361333C427D6E0FF5531113C35023FB027204E885265DDB600C0DF6CB22BA1CCF5E001F46C4AD0FC911A00712A99D902B9C85C5E5123C49E700527A173AFC2FC109747109C3A5CF1B80041D4D177944EDD5741508FD1884308CC49F48E37EE485237456F0DBEC3058CB50FB0A643180821B8909EF13BD90436A2E08C7B259988EA378FE0BE87D2F9903D454B74E05C221FA5D6032DE0107EBB4B4BA5A0CD0803C74D8DF46BF0C8ECE4C866F1AE86E55973E3F04F4540D3AD357A6B69DF4799EAE1F6039E38FFAAE7DDA00B4271FA289DEFB51C454620ECDEC151CA176073369D88193E0B79A6D9956F469039066FB7253E151A6DA19812D73002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24DD267AE076842D85F52F0BA5F2ABACAE73B7FB92FAEB330403605BFD28322670404427003E53A85741BECA226DE47161F032C0C400F60FA9330BFE3C32DAB86189039802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE10EEAA01E891B85157D9B2B868D41017FF9B34AD3B5513287A8B91B6B8E5CAC32E03D1AA0110F168A0A65250A157A384DB48C43606CA9F15AF8FC2E45C01C7F478D50080CE21BD929E9279554B871A1A8A4BC06E065C1CAF03A4A79D1EFB783686DE695035C0E0114D5FD0BBAF4EE91D1514D7E83129DBCB40EB723558815A144688DBC331DFE3E2D7CFC222B9E45DBD91526AEAD8A5F9B59357A87E7A9D94ED6260C2B2FCC852A1F801BDE962808E8CF6F4F57ACC2B07260A2DCBF357AB02EE250785267F648E9FC92F1B69B2F81538EE89A864124B9E81940BE882339C76D4D124E62CD22EA7A340C0AF3BDB33B7D03C2FF4FA8B8001BC8E2D4B0A1D2EA867F42452E6CA00165329A775D782F4E751DFA03A07385739B13DF32C392534149CAB97BFBC1870001FA925BEF74D42065884E85E372833936A5EE6F555056D8001C4B30EE2BD9D0B33EB0271AD101A02FCF5E33BF2D368887981C697C8FF2BFD6D65DD1E06E808BE0133EAE9CE79B9FDF550756B00AFF322A59C1D4B4BB7B9CA9D4E13C16B29E4BD253B34D1F0DAF258304D13A5C0BBFF88842EC2EEBD1286E5423BE849129DDE5DACF6A0CABEDBB9107FEAE917A96B809E26E2D26EDC92C22632409B1F2FA2F3F0EEF60CDB77FFF9BF4B6FD7437380DE2690F6BC191003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F36FAD04DA0B1335A9EC069C245AEAB56FB616653E93EFB02C9BF0033EED62BD3C5C3350000000049454E44AE426082'), +(35,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000017AF494441547801ED3D09941445B291D5E71C301C720978012272082A9EC3A58820DE7F0101B9740514715957976306FD4F9941F0603D70451610105050BFA880A8283003A222A2A0B882222C8833F007988199AE3E2A37B2A59AAAACEA9EEAAEEEE9EAA1EBBD7E9519191119191195199995954DA0165D742D34F606609404703350684300EA5302A578DF0104DE75E5C062720D54D5A2269B6E0AEAA6765C9ED5F008B6E4714A213B428B0E0A041E74DD04EF46C039A38A52DE01D0E082670D2CC6277E8811CB1182980426BAFBC1D346F06B3B4ECA3B003EF933D009FE1EADA1041B0C72F585E5D1D2D536FC947600EF87708914806D144088C13047DC045A919BA03C06DA5A43128BE22CD37849823C3DE36337BF0E7FB70A76E8880D1C8AE97FEB087D961760AC0EFC8C02A56C0F403F03B7580547B0FBCF52598CC0521CDFEF0E8EF5A70AE866C8108FC116C4EDA4C205F832A33F5CC9C1CEA8AC3D555BEB13A12D6F7C667417C004A5F159FBD8D4CFF3214C8400AC51B617BDBF33F2203CBE12271E69BA1532BDA5700BF6565D3104CDC6FAF66320FA81AB1F7C170FFE6678A4AC0360F7DF44A7E1FB704C3FAC0307971DBEF204D425681027AC85FA082D5397C42FE75B0BDDC5125880755D207345A7037484020C605F7165C0A3A4179C90CB6AFA9EB231808D40854659141AA3726D1A3802BC229CCDC3834F7ECBC4295F5C03770502B05E697CA50C28EB581CC6B6B0E14C09AFC974CA3A80DD0D7B7945A1A2337D6B60280F67795C11BC8F8723FE41D21E30168CFF453F8466548297D1C811E32C2C6F2F7AA020FE1218E398B20E80DDE6EFF8047FC3371397815FC4276F800C673D02E62761FE411926DFD132AA984086C7E32E06201F1D8C0D2FD55F124CC065EC96D523C61F23651D20A80A02AFF02A4183D7C5F86079D52A3850B51A8AC4D57018F3D3F9279175FFB8183487A78F5B9E401F9E173ADC2E5C8A5E8075FB9565E82882C70FBD95B09A4AA7B403E04ADE3C54EAB76194D51C03ADDC704F21C217396F84AFC3D09A07536DCC61B3C3587C0F710F325FC757808EA18951789C44E453DA01F0490A503BDC81A3AC6EE41F4E61BB2B3BC39F761CD81FAE3C1E7074B0A33C1F0C082760CF340AE157F165D8431DE36135914F6907600ACAB811F6BE7270D6D8FDE245A8F3EAAFAFCAFBC0A3BBD7C2715FA387ABC78E1D039D73334F8D46BE0361F3F19EC397090ED8C4C36A229FF20EC094F44EE903A3C7FEF005997360069478CFD5D5DB9EAA4B60DADED761CA9E95703280FAA734AB5B8158A88B1C07A04061263FD687638B786B9C7D607BB8F244C271084DFDABDB34D143295B04FCE33A2FE37BB82073C7C1C9E78E9C8A0D3CFCB9D8FFD7A93FBCBD1D63026E8D805415E53BB37029D050EF21F3377AC720741AD69917091FE53BE6724307723D1C8C8497A8B294EF01BA1578472A8DCF14F56B557BF8AC6CD853B8CEBFC0DD1F3EE875E7AA9D4084155A25D28CEE85BE67B5F0F840F09DC4E32B4A1FDEEFA70E5D8668FCED44801EC9323E132AE51D8052493B9613E2DB9827CC566A3DB3A5E3CF98574DBF82E5127D6000A55CCFA0A48C3DCD82D4570F4C6F74FF8F5BE0BDC363E0C79397C33ECF45F0FDC9ABCBD0F0E35C4DE08A64BF0F48E921A0CF229A55B9DF5B8EE3B9CA9189206C28CA73F6E44DD76D9A77013ACC481E8EFDFF9C4D53DD717F35DCEB097A998F885BF9FA884D185D34C53997872723AF525C32043053A7679F3895373EE34704C7137A7C0F5DEA188B53461F5F46808C6ABDFA740CC197C79AF70BBEF11A5A42A4A6931DF335F0240152DA0170997D98466F84946F9C4C3ED5C011B0E72622E2144C47F9D4D96C9B4FB3AAA8C7231A18C62637F0F814E8FE1584047878B2F229EB003DA7D3D6F882A719AF3842C9FB3C4C99F734768DC7A85F54C2589A8274371B527878ACF901CFD10C3DF96C20AC8E956722E852D601FC017F2176FFEA1806A773B4AE634A24457D3D86F8700BC8CB1A1C0AF6CAFFF8FEA581C708385429DD8FD268E493321CCFC7C832216429EB0040A57E3A1A3950FC17B25F07AE026D9CE2F81B460A1E159065A834E0B23954B34AA7C13300A0D43F5807ED44F1DFC84F3AF0A48112B623E8FA02DAC40BDE26360CC9CCB64EB2D1C0C649AE1D329F1E059E7E01896A3E00A182B440C68974670B3FB80A380BDFD74F56E1E14251D6612FE371A70A1E43061BDD915F5DC27ABF64AC7ACEA44DC1E76B6A846D00BDD209CE927579A4C4087EB43871758001CBA9EDD04FE2381C871F1425B10D13C68FA3ABD90BF9FD3FF2384BE62349C254007CF3AFB8B016A9A4B3DBF0D26E519E6B4AEE34F1211C4654E33E72BDF5FA9768C3750F06EB54D4603CD9AD905E4B0362686552A69404813917F8BDDE71586FBE0CAFEE2E8208DD9E147753425F6A76A16BF68A81F10B224D3F9DB2F0B7CEA075D0F81FA3BD9FC74837687CB92C9EF7E0A20DA15D799E8408DB5994CFC323E571463643538E8B429EE3E2620D3C0A00A53ECDE6138C3B02C5936C4BA360A3420DEA1475CB74CC74AD2A3491899B031CF57967A3F17B9990C510E96F05FEBFE2F44AD373113B7DDA10030552515EC693180B68F616628F73E38D05B4990235BAA48E1EF06DC32F7179E780BC83BA8E4EA2B0D8717180EED37CD760177C77D85AE25840684067C58E788A26B9DE88A51A4A84273474B8B25809BE987A8160104969630D4F817CA081C50860BA663A8F915C45161707A034A09D92B16A083E5D841C35FBC3EE2FB85902C7D646C8EB02550B5835403FE16146F39BF21DCFE04AA06633069568AFDCE7E93946F9C87819A57EECFEB5D33F9AEDF8878C83EF082AA3D089A68762D3DFA0CE658626EE9AAE345A5EFD5EA0754F947B73512835A940F28BF35C056A60F4B9456B1FC9F21F7464162329917CD3B0FBD7CCAD314E361C50E94940505634F84BEA322A9072DF12847553C3ABC991C0003EEEC5EEBFBC48313DC500743A72613F43576E819807129DA642262497E97ECD43A45C058F3263BA073851E13D0F8DA27A9BC656DA2E3ECB39334A5982E8F3173DDA63CDD2811FEC78EB9263252B1B0406069EA918DC647A69D9FBD9D29C765DEEBBAFF964B8386B4B88353EFD478A1F23E1F60586F0222536E63967E3537984C79108BD36F7597A210F8F98A7A49DB69C7EAE851987305D329D2A2998CE99EE95B058D2A67B0081083901FCE64A79A17025AFB215B728AE650B277569E9DAB6ECB2BACF5CC8BA389954EE58328413E43CF7F7C07E039BCC82EF2A7261EE6FD361D7C92B631AFB65FEF21D63818938E59E27E7D99DADE4914A2F8B050C7D3F78CD744F1FF053A79247304DC8BF34B028004C97B94F7AD83A806A4862BA8F828D2EAAE91E00175342C60AD5808F65286D20B17CD10393FA3498FDF565753E6AAB347E24D24E758AE1A58BBAD1FC0B4674888467B4AC38CF391FB74768165BB0215DF1B56E7B237CEC128CD1E2117F51BEEB6D2D3C4A888E4E75751F255BD30E10657D1AF4FF5B387CDECD0D5F29CC142AB48EA4C15603B077203DEB2DEBB5E98DDEBB595A5D1A7D8E38E8040CCE38E7A52420F85E37C20D65E8CEE3E1D0B29B8759299F540778F3B5710FF5396BE928029229E35D5AE793D61F2FFD53CC3301D9206C2A89E63F28E7E5BB04F412B6B943CEEBDDD90C057DB0A1A60C0FA7D2C02C04301D03C4DA9645CB279ED3D3357796007E8DF103E0A0DBCAAFFBE1A0D8EA352075D7F905A810C0736523E1C0A84ED9EB7BE6D88FA8824E2643F7FA6FF5620E3568E4EC17629589D1D99D749CCF47DE550D45180BE0CE9E85581C76B81102DEF1B86EAF6E0BF626DE2CA7A5DEFEF1BA499A039CEDFFF7B2BA59659A1EE880D8C6F3F989DBFA0F1FFECCA79CB07B30BF64F1E229CD5A39376FEE92BDFE3C65391B023AD559CFA69DA61CE0B389EEF7F045D13EE4A7E28F43C3C56C8DBF680AD9A4AC574EA3F1B52F90281CFD6242625EE2C8F59ABD6B0C6096A111FAF9F3F35A76ADB3F66A1EF7A8BF71E073FF9D6D758C1F421D36ACF0D03583D69FBFF3C4D5BF8780A7123843C87E73E1687C5164EE0A08748C2616603313495C1081735BBE0C17B08A7998D5F24971807ACE438F38852A7577899A293E7E5BC1F08133F61B51D28F27BAF7C50F3C241EB7B9EBD7A13C2CDAFCE6C9EE8F3016603D8EEAC24EA675EED39EDE2A20667ACDF0DC8A374D6F6A17B41FAFF2B4C9CE27C5019A3AF6DEC2377CD7C9AB4A060E9FFB380F0F971F76EF8C6FBF2CBF69255FDE3AE39BD63C2C96BC449DF7EAF602227995E7E7F7C3681EC6369F6EC87327ECF3734D7D310292E200F5ED258D7879F7555DB88A8755973F1A68F9148F93633F6C5BB830AF390F8F36BFE931528481E08F3A74E7E54EF3A81C184707BD17337AB43AEC920B4A8A03D4B597B9F9668B42BD2F785875F9A123667EE9A36E6EDE8ECB395265C7EA688D9413E21AA9D70B10E9F49EC2EB9EA3CCD9EAF1FCF0FDC25B3CCC8AF9A4388003444DBD01104EC6A2209FE4D43A804DAA130B2F9EA6289F6DE1A2DFF170FC0CA5798FE9E20006F75579FFA29A32069109AD4B9C2FF27456CC6B0C5113421E0FB0331AD5979B9E34B4DCAAA49ABB744A934C5BB9A60DD49FF9BD12CF545A728DD0F6021239DBB66B76D587D0EBF23A6BEF3ADBA58E1771FA7F64D5647C0D9E0297467935217385BF61395F4F43E7819B795875F906BE92BFF2383EEAA243474DDFC5C363CDB3378DB826F035A3AF673F0C635B3C0A6F743C1FE6B7EFDC08DF817D5AD8EAD6960BDB7780251D5AC39F9BE7411DFB51EC106C1B62ADAFA6E992E200BFFBCEDFCC37B473F6860E0B163C6AF8DDFB0BABC7BBDA676F1ECFF3D953D9A514D7DF35C3028F174D5EB23987E5D65F4917B56F07FFD3F84568E8D02C414063E70118D4E4595874713B78E49CB15BA3E19F4CDCE43840A04568778CDC7817A9249765AD5BC956F46458A47BDB63BFBF7FAE7B57268FF31FF1C28F7998D9FCA79DC935FF7BC120C8B09DA89655B6FD18F43D6B5E211E4E35A85A640B2024C501EE19FEF406FC445AF318B5C9DA567FC3B2FEDB96D3019AB57EA5AEDE597CEF73D7E6BCAB599039EE6F2895DA5A3CA2C4359BF6AE81AEE891AF18754C561F763F02E22F103F84A8E31AB3F2464B9F14076042EE16AFD02EB722FCCA9C559D3BBEF3C331B64760CED6D10E6583962E9E70FBE6377BFD7253C379136CE0D3F4145F55F47BFBBE21859A77FA4A1ED1A6031466A13155722878B0BA8E28F2A1243A41060DC033218045139AE5CB9A9273F0B0E7DF5BBB64C0BAEEF556689E64B6A68FBFE9277FCB29E8F656874A3C0A2CD0C05992D5C0FE8FA0BC6810CDF553E5E565BF5D94697A1958C918FF8FE0523CD9EB5A258CA5D1F3B6E3A14EA3E4737DBC6BE14AC91F3C0FB89D1217C5ECEBF908DAB8FB58774F40D27A00A6A83E4356F4F9EE44F7FD4AA529D359B6E3C2F9193BB35B676ECF69603F14D6594BBDE77A777A7B771D73F9AB3E25BDD934EEB8D19B991C71B9A0AF6C7C56079E37F885CB097D31F8D4CC6E70A6A0C7C3AC6871A34FAA03B0687D7BAB8B5A7F51D16F47AC2DFAA5AA6379D1D1215D860E7DEA97587984A393F09FC7F832947919E90D9A6186DC00FBF105D23B3C3E06041A1E1A9C240292EA00ACDDECA9ED79D79A4E6BCBEE79B9CCD744BDBB348262D8127071F91D9BB61CEFD7E2EE7BA6FF100135E622ECEAEB6B8809ECD5C064804E190E579A656219DD0AF7B0DD6A4D0B77FBB0F9E3962C99945F9FEE9B77AE7B67EF56993BB251799A408F75F77B2A3B6D2F0DB41B3778F8CCAD8994139FF6523EDE2092E65F474222E098CFFF23096BC0E110820513967100A61BECC6D9F2697067CDEBF3275F6C2315DD5DF6AA36369032AAA4CC3DA23FEB9B11F7CEFC0C601FA2BDCF48127AE116901DFC92121A7988B80A9E73F5C732C5752A10BC5D010A26115F85C797273B6F2907502AE354B79E90AE5D594FC4B40356122F3CABEC89D0A04E748CF578E6EF44B71DFF6FC40E029EF77F33FE7B592196A9D62FF0E90F60C098784F8DD888C885967580C862D74CA9BB37FC82A77D2EC7DAD4AB7A141A206C2E1EF17EFAE441B4BEE612F068789D805183974440D283C024B6DD50D56E47F04F298F1842562211F8CDE5807C25C88AE9B40354631536BDB3DBE04EECCE2BAA410D1523EE511B85DBACFEF43381D30E10325BF884A32F14111B5C8DB382EFC2639D2A21F01546025738FB43426728D5CA6110211D03185414FE3BC9F7180C76F1AE86BB30081C8CB3831E38EC07771EA1631C47369FE193BFC4D90FDEC6BC5E4460B0A69A4533ED00780618E53E0E66AFC35017B5EF42C3B26DE84B4FFDD8AEFF3A78F02CAD91FFFDD3D16950F726D56C7A08C0A3D98E6965204DF1F00297165EBB2024172A6AC2F87FE892688E95D3D77D743A36ED00421DE75E3C62854D88141775E2A9218FB163E314C07432060D301D325D62B7EA5492339D33DD2B61B1A4E3D255E33E79763C5C6F5E0026240E869AAF7778BC743EBC06D040F8EF33DA53D17090FDA438DF7D43784A6325A66300560D2E864DC60321AF432F55F528BA821B932B8D754A03FAD12491EC4026C743492A83C5CA707DBE732B6E859E1F2B7D9A2E3A0D305D339D4747A58F1D170760AC9B66BA1EC22E7FB57E356968BC34C074CC741D3F7EF1E2847CD8116E3D0A7DA3244AC763A6731C59A75911B25D20E4C50D531CF8D7B3B8F5244E575C82403D597ACEA6D9421934F1BBB49F81E9E1D7242CE02553F004B091CA3AF13CB0D76C4E5AA88459216D175D92D4004AD68F23D5EF498F41E0B804817AF59E12382142EBD5170D0CFF3CEA1806A82A12014F0BDDF877D76E15F00CC8C42D06380374552B9B9876805A6956E38D4A3B80715DD54ACCB403D44AB31A6F54DA018CEBAA5662A61DA0569AD578A3D20E605C57B51233ED00B5D2ACC61B95B095403D11D8BBEDC3BBBDC12F68718F5D2B9F9FB66278B80A77001737D52B337A0CE2071B814BD5FD55EC0861C7D42D54C11298C16D65B8A04B5BB02A1C76F2337E4AFE334B376AE3DC15CFBF85633C235D095B09D4ABB4FC00E4F825FAC797328A5D02A8083DF49A85FDE1106AA748A004CAD57C9FEF74FB51470DB1DAB20456AD629D1E0254EA38F332690738F36CAE6A71DA0154EA38F332351A0384532FC6435F6199222A088759ABE06CAF5FD764B7C8120E606BE0BC2E51EFBB93ADE070F5B3FD12FE32D1F0E766E1F89885A78700B31A4C71FAB403A4B801CD8A9F7600B31A4C71FAB403A4B801CD8A9F7600B31A4C71FAB403A4B801CD8A9F7600B31A4C71FAB403A4B801CD8A9F7600B31A4C71FAB403A4B801CD8AAFBB21A4E734EFE501907291792BB671C16C25217A0A6EDCF6716F282F2708BC8AB5C4EDA46FB6B904DFB0EF2644282ECA736E93AB89E5DEADC07B29A5522E2AA14D9C75E1405D8CD6C844601EEAC2A381C70838B5D1E6671B08C57A5F14AB8C7BCB1C9A79B4D4FB4FDCA3333CC6FAAC47860A6D96E91ABFE26152158D70039EA319872AC517751D361A4696C2258BEA3776DEFFFE1852298BA57A1974ACD43B0F8D7F975C582BEED8E3FC5EE965ED1C194D7B90E69F68FC11D1D0581F970E471BB3A36606CBB2867A809ED37CB97E1A28920B6AD51D77DFE148765551BE13FF08B2FA0B3F1EBD0247912D389084F4533D55EA60D889ADDBFA7C473193381404FAA97473EA34214A498386E43681466481B8B5D4F8ACD94A5B87860074F58EA7B7269ED20E216B3088D8195157562C24F4128C02FB2845C3B67554E623A5F570F18CC08F70FBF2B791E8AC58867D580774E67E4AD998ADE57CC80170ECCF9181F25D20F0FAC67CD752399F2AF7DC27BDA3708391CA01F0F04E4DFBC2B587E1F20F03A5C21BC5539D0BC2D15815DEBD401C827F7DA37200A5AD434380551B90962BB11A483B4062F56B79EE6907B0BC89122B60DA0112AB5FCB734F3B80E54D945801D30E9058FD5A9E7BDA012C6FA2C40A987680C4EAD7F2DCD30E6079132556C0B4032456BF96E79E7600CB9B28B102A61D20B1FAB53CF7B40358DE44891530ED0089D5AFE5B9A71DC0F2264AAC80690748AC7E2DCF5DB12104B8FFFEC36D039436EEFD143DC7F2ADE00414FDDE46FCC973B8C123C0A185CDEAE1E2B6C24629A98B80D844A7A1215B9F760002BB71176C0F25322A7196C727CE52C252364DE027C3B2335C0AAAFFE4C3876106EA6286611E564664B63E758586004285B8FC0D99CCD8727749F8DAB04CD1E01A666A1D44A5AD430E20B4702CC48D8F7BAD2366FC24C12DE1BB9BB5752C31CA91E1321AA3F8A984C76CCC6C2DCB1C7280F5A38887806D2400A9B1634A65211279C71DB047F013B19178FEAED7683D0C97D1305AA334A98147CA988D99AD6579430EC0001BF31D1B9DC47929FE2FDD42FC3E2D7878B18C986A77F604633B16D89CAE2ED8AECDD1CACF68182DE391F2BD01DA92D994D996D958A98BFF0284307D0458B3E9820000000049454E44AE426082'), +(36,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001A53494441547801ED5D099854C5B53E757B1D9611A288880B0645E21689CF272A330C9B6C2AA2221144E3BE9090A8CF87E010100630E1890F23096034AE312ECF1D8645D90637DC83312A8A8828080A22CB74DFEEBEF5FEEA991EEEADBA3DD3D37D6FCFB473EFF7F577EF395575EAD439A7F653D544DEE349C0938027014F029E043C097812F024E049C0938027014F022D4802ECC75456FE121D188B535783A8838FD30E3FA38D6C106DF93195D1E9B214BC01704E5A64115D06C15C85C2F4E4449A5948C0BD0FF8A1502BFA33EB43117398F74D54D006105D42DD79829E80119CD8A032197DE9D768746010553518B70545285803885552AF04A717A1FC0332D5170AAB3346978686D0E399A6F9B1C72B4803A8AEA42E64D09B50CE418D55100C20AAF9A8777020BDD1D8B43FC6F896FEB2500AC838CD05AFB6CA8782E3B0EAF578DBF6F76831424682EEC7DB5728E57593CF82330034FDA743794364A140E1BB80BB2254446DC343A95BE8602A06EE5C8C7236CB7191FEB8D8121A25E35B22EC2FB442270CFAA5CC33141D653EEA151E481FA4C2D87F500CDF2F606AB836A2D33AE2D4211526DE460D9D87CDB896F85D702D006A747F595198FADD193229DF1CCEFAD33750FE7833AEF6BB2F5A82821C03D994256B54E11900A7C395D2325AA6E04C88B04D38941FA6A5D656C194A4C57C165417206A6C7411B596B5836A5CFF6ADF91B48D6D24435E248AFAA80D686D93E9E503E6AF525174275D81366818CAD50DEF205AAA4D782F0D87683EEB475FE5838F826A01D0D74356AAC2302B38B93E61C536D389B2F245FC503BDA5A5F3AB7C2628BA8776427AD074FF7A0400390CF91507E27BC4FC37B523442EB230BE9B76EE56FA65B500620188711FCCB5C00F18DB5FF5F439069CB9248D038390DE02F3050DC6783771505C50E4850B2CBEA9C2E231846117EFF5BBD88A6A68BE3143EADD09CCAC0713A8C9E576872EA155D4CB3F80A52BAB4482594CFE952390DBA8DE7649CDBB0D8AC421E8FC3580319E585D620B2581DF4669436C34805370AE68BE927D1047D861AD24E2E230AF31E5A88C720E00F11D615FDE979F82EB3899760413A313480FE2D87B909572FA499A07F6B23F3585B34145D834B4FC1198090039AD19B600077662B1314FACF582C1A9B6DFA6CD3816F61B83F35A7072F1B60B4E3D18DEDC0F7AD30583126B03CE13075C1A0F00B0BD221007916DE0321B168253D89F7055970BF36DC8A7AE77B6B98BF45AD22DFD05E995F9F9F7AA6F6256AE308455B96B9A1A47360B02FCA699D800B6F0C80528BD9C0E87F7E7EEFF21D17354A06EBF69424166C997365BE959F64F27B6A6BC76C20B1BF1B128352285B1880E5619A7D5A4BA42C8182340051D66DF14347CFDCF810DDB9E92FF45D4CCCA0D23F7B13C574DF571574CB2795BEA7B65E6B3723489FD8A9907EF42D0C372E938B52D2992589D697623ACBE824398EC1DC9BAEC2E00AEF299BCBDB2476EA5B39E7C945A1A0564DFF59BC8446769AFD66F7566BA3285407F4B53BDFDB5D76C8D26F2FE9F2DAAEB3694FA266CCC888C50314ECBE7C12FB2CDF2587E7D28A3483D285825F18C870845B16BA5096EA50473AC8AD29AB326DCAB750B2C92FBE233682A846F922BD6E14D12BBB86275EF961E4B0AADB58DDAA60E91F171FC3A3EC434EBCAE9CE25B277D2A928DCE26EF5CD240C10BEC0C00CA1F2AE8224C7D347AD42DE58BCCEA6D017ACF889D6E181C1D2D3F06710F077F4195C3CC30C8E8FDAAF290B29397596A6BAC928AC82A08ABD48C45CD5E5435299414A4198FB8F722EE55661C8A6D040274D28A5B43CAA292359EB310F81083D7E57897654499D1B6B046270BC7D6928AE82390FF2999A483AC75C4FB12E55CAF69EC89551303AFA54B575733CC11CA2AF49E09CE17241289867DEDCC09EBFD6662BF3EE7A7741A3FCA20BD044669A18581D28316442D10F287A645E3FA187417A1FDE15C8BC75805E0E1FB71EE7F89C12B16AB467CBBA7DDEB6DB4EFBBD69B23A3EF7C3E3A970DACD9E740CB25968BBBD79BA636B05632184B70C22AE8EF4AA645D7F918BB666579F07539BD3208EC353D7A5B9CF35790A183CA97B3CD1EE64CFF15C46869B950FBBF6FDD3668BBB2F7D2AD6C13A2CF937344F9CEEB3D533F55C6BB0D6306F2ED251F7CB4EAA96DE328C6ED1B5418CAF3F0573A35353DCC9527A14BA153A15B9996C500106132F6CC5033B8052F276A2A18B5188AE76394FC35FE58E5388601B5FD13D202331963CA1C3C9130A6DBA77017BB2FDEEEACF99BFF4823D77D4133373E480F6F29A737760F7C09ADD8752C445DC3436858D140FADC592EA053E836A96313E13A4597CC889E8708534C61CDEEB34F45BC37FACFA314C6B8F6808233215EBE8D09A790BB4DA89A4FACBA95CC88F556F02E22FADCA1FF1C4DF461228BDDF1F6B47CC7487A080650BEE1B9B1E1C1343FDC9F36B8983D76CEF894A4AE6B33498E01FACDE0074613D1F96932DE441A5BA031BE8E735FDA5A96266D1DDAC779CE63800433D0FCD791ACF960ECA3AAF2E05A09AB80DC1F9CC512FA0D6845AC6EE4898468057A29095C42C412FC6C99349AFC4FAB26863F91F16698917633F4D0DE8C4BF7CD582264707622947D0DE21C21C7E3069F079D57BD3C917D973480A8A1FF0E910E9623A26F7DD6F793E0989563D91E392CDFF059B378EBEA88AE2EFD327A20135ED64C603BD1FCCD8201A18BDBFFC09ECE2C9D1119B27A6278D17EAC7B5FCCA0A1B20DE3305383CBBC9918B9C4F5F3582F9993D8A13F2CC63B96304E1D6B753E492BFB1B0F33CEAFB3444802ECED438E0D8E6C0ECA17EC54EBB1112888F0E0A97BD0AF278AFCC18C1D3BFDED827350DBB6D711A8FDE009565133BE90439C85454B0BE52B3B7B18DA2C7436A71A6A42776D0E0862EACDDE96E90B9D0BDD6BC696E85960CAB2F95013592B7FF22226E693CDE331D0FC2B0F5FB66C3CFB5A41A741D41AF30C391886D5A364BA7EA18C771AD6B93E581E60A395DDD3E958FF6AA7F34AD1AB191C6BE52938F5163A17BAD7B8A1F54921536F30F5C69A4981C529B8A9DF65337917CE9865E147F0043E1F682C6FBECEA179984A6CB6493775C413DC6783770E85E65F268679CD32B72B9AD0A5D0A9923774AF614E7DBA1C408CFF43C13521226EE897D9CDFDB5CEF673FFFA585D79398BA0CF9DAAC4E1BCFBD6F531758AA944CC0E218C0BCA1E28A7D65C6AFEE57C6C750ADD6B68FE3AC99135CDA7F419729C7CC1C9BE99F34BE5FCB8C61FAF51A61CD230ECEB15F81B9A8FCF9498DC987CCD7C1E50F00E20B67D1A3F03466C1DC533F4C45A202F834F3B9D0ADD6BD85CEF20974FF3259AC4555AE643C0A533E3A518B9FF540EF33730F797E39BE1957D581C059F6CC6896FAC3174F9707BEC6A19EF048C4527A5F94757F4AE79F3CA897CD2D1B0D529742FBA802239918F87AA655C93C1B6833FF6B1DDBA766378EC7B5BF03118FF07721A4646F988D9AA4CE47859C0CAFC1F86EDCAE8DF8E375B9D42F7752B8176899A1A27E6FE1092323AD7329CFBD7C7FF14C60C2CBD4E92E3A015E8B4B53AFA6B199F0BDCB7021B39C48F576830F6A282CB33A2591B40448F5D807ECA32F7175BB97ECA7CEE5F9F3CAB26869EC5E8F84D250E67E307DFCD8B157C96089D624AF30F52DBFADD16782B4B928E256BD606607075EE8F71D3B2E5E5EC2BA724A0699AB2438681E7817B77E937399507867A8A016011AB52B4424EE5912D9D666B0035CD262B930B069F8A07655C2EF0AADB02CB30185B25D380666E142B7732BEB1B0184F60FAD7474E878598BCF5FF72DE66B8D91A408C6CE6FE8CEDF2770E3E632E8023DF3E9FD20AA0CF2ED60DFDD65CE9633CD1571E68A3DB8987FDC1A5B9D276227D7233C80942D9D0E06BA86D6C2F1DC70D3A1435A213DED518987D8DF5FACDFDDE3230F747DD343D180F643DF73791513EAB26065E81D7CC22D0B7DC3C029EC6964CE7B3739CAA29CD3F677C0D1C5572DE1D550A920522EF060097A8304EBF5E8A139DC3A3BBA82F846C718B811160E04FF48F138EA237760DA597765C4CEBF6D4ECD6FA34DF03599431A324CCCFCA71E5DC60D4D6FD568769122E1F11EBE8633322621309E5510C00CD6EB368FE05BB79EB0230BDD27036EEF248358E451B341F4A1E242BDF2CBF03035B69C841F7D1EC6EFD69C6D1E7D2B1ADDFD9589F73A3396D36DFAB2704DF45BAA7E4B406B1ABC55E848CCF042EBD232ADCEA8E50E206DCD9FD53F2C900911703E055D41E173B2C013FF7A37A1F96015F9628A7162FA57BBA9D7944F2A4AF25C459001749FE5E6C315BA8721E4824F429165CA6405CADFDE8DE3E5F3D3E94D743A9F5B1EBBA01E078F3D1D11FE80DD4F6FEF531D26018C3EABF417370B842F8D6BBC2F7CA89A18FC0879D7FC1256533A21979E49ACB61903AFDC3B0A6C9177FCC3CBA22C85406A2E6A3AFAF84F28F49E1E4373ADC7DA815EFE0BD10EFE578AF97E3986128FF6AB4267798714E7EFB7CC1DBB1441C33D3C4BA800FEED5D3CCB886BE7BCDE4ED31DA57775AC9D76CFA7F5106D70C008AF24577274FF01E9D46586BB1A43B3CD49E0E8217EC2938FD7A36DEFDC41D7FE1201D09C626C21876DAA58541DDA22FA6317661B9E2564E601BB14172AF4C0743C30B4A67EA3D647C5A38A10F1286630E179EC96DDAFA579A714DFDED9A01A0A9BE1C46D04F2E2094AA63AA77ADB8F40077F63ECBCE2065E3890DA04D38E33333544C5DD12AA8378280286EFBBC5B5C1621D37702E62C548156C0CA17660746824FCF943ECAA98CFE31FE79B93EF7F54C693B19CF150310E7DCD1D7DD2E332A948F3A3108EECF0BE4303B9895D0CED0601A0E83F9AB1C8E56A05D9493CD028E1CB3F1B098F7E3E2A97B94949C0F861BF9990A5E424CC12E3F508324344E5B349FD17F8A37570C20BA9D7E056B3F349549EA0DA58D2D1A442B5270266FB40046284CD723EE6A253EA7B17C59E6B7852BE9EB41047DC13F6021EA07254A8D1BB9823623964F8FF714FB09669CF8F6FBF3E3FC21E75B1FEC8A0140F9E72B99327A0DCDBE5293957836081CA78A6B7E1A8B1604CB44FB1F7431215DB7696AF747C9FA4BF8CC6384345B260023EE5D3A2D76968C37C39C1B679BE19A6FF6FECAF16CB38A6F5A8CE30680953E7110BFB75C2C34A98A37AE1CA73E3879152C536FF682450CAB2F5D2E616DDB06EFC2C0ED3B990627A342C65960A61A2504DDACA67F297E1D3780B84E27A166FA531988379AF13D219BEB5ACD7132F9D63452368240FB1799A4CD260E066C3FE040AF32E5C49EC1A9BD2BA2C3ED6896FD811F86E65FB9E583F9B46635FD4BF1EEB801E0166EBBBE7F1D1B42D154A6D9BE3180541D286CC61AD9D2B74BD7B155682E8C6C8B1C86E5C2A9B5833D4B90A1ABCE1FA215E933C1AFB8655B123611E0B801A08F54BC8CD1FC2B02CCA6BC41BF4A07F9B5E28BC831EF1D99AF276F62D55878549B7CCE4F583E5DBF588E6F309BD53F4ECDC2F943E655C08E1B000680F0BB971E869BB99D7812144A4326E7D6250DDD24FAB80E817BD10A6C94E360A9F7F6B215FBAF9F1147AD507E65ED03526E96CDBF288FE30620F6F36541013EDC06D768542C6A4387E1824507BA97FA9859702D8BE174EE14250EA7AEF1576357A4F0F1CDF1326C66B74AC1E22D3697B8165C62C635A76FCB60CD09C65053362B74381D8F7B723B26FFBC4109CC1C81E5D87EA86196075343353F4B0C67808EDD028F6CFD581F8F01E0CF5AFB76D169C595F48BE215D429B461CE492FB271A4F14E062F2ADE163D8CBE8D77A21D7A27FA74DFC9F4CEEEBEEFDD77732FDB256D6738CB8D8AE3061008D2FBD838D90145D52DD342675A349AFCAB9739D9B28B9985F8AF00A5CF05BDE5D9D26C4CBA274630FEE2DF472F3B50DBF2B393DAAE261F8BA7928BEEED7861981AAE013C24B431F91397BD95B67F1A7F08F0FB53E62EA44FB032FA74284877E55A0952993AF576BE0BC0A20D84A1F47990CF04AC11B4C99671BD922E028D9FCBE9B1DBF2AC8C731AC696F620DCEEF56EFF768F8EEB51BCDCACFC8CB202DFC7C080C74775FA147426E722878C326C4424C70D40E48D71C0A3363C748CECCB6C0F404ECB5FA623B1E0F327190F78937F30ADB1C13B8212DBD9D8D45A0857B14A285099DB373613D0688369F214C8E153F1BF018D4DEF467C570C009B3D62D0B3DA86E18B51F0D91044C6F962ADFF08741F8BD0AA7490E9F9921E3C64F5E0912365098BBFA5C576F65AF06A7114CD929C9CAC23109530AEDFC801F9863356446319F3F9E9BF312044EB677D80B811CDE022E129640D5121F4F9174662F42694709C1C8AC1DFFBF81FE08765BC1330FEA9A32F6AFDEBC8372D8F28DB1EFCFE0FADDD75F80DF505A807DEDD61DA7D20D4D108BB13BFCFD2F10339E0DA24BA1B15621EDE284ED33C8E0F0253C51077DC4181E528A8B2878E020FC499980F21E82721AC670C1FBD0D27902D58402ED2F7E0465223E93E360AFFF2744A8A9EF90DC1EE82C846E28D9EC1D9A7F60FA99F068F07D85186A636E0372958444FA7B975FCE3DA747FC7FBBF60EC62697C127E17DAD1837CAE85738B5828BBDD2EDC6D9C6B06201887C3C70C78029F804F65F40E8104801F050D8E12776847EA06D52265FA07C24FA096FD323C8852824E1FB9912149E7D5DDF8B3491BE5235F1DE42684BAD03DECF8E47746D4E1CFF04F441CA12FA1D38C38FD150A17F2B03CC86F322ACBBF20AFA72C0179005CEB0252BCE3CF192E454D9D97827379D7D6FC73A0FCC5B9D04997167DFE235086DAECE3CE5E1FA3BE70579BDD18E59BF3112D62E8003A036578DE8C17DFC813C707E9417407DDE430B761D70D40ECE5C3D7EF7A14FC06FCF6665B20A45D87BF87ED095A95D9D2A82F9D98EA4109EA800FCAC7B5AD3D0343E895FAD26712C67AD16EE1E184B8CAD8052D83F0A252761E33A19B4B1CD70D20C51C14F717FCB1F3D150E43CFC326CF093A9BF8260AE84E07AC027E0A3143D27DF503CAE51257800591FD1ECA38F3CDFC96B5B517603FF647A35CAF4BA35B7644B301C7F6A7D868C7713CE9B018842A035D82A5A83908F3A43E45741182F40109BCD0681EF3D10FCBF31A29E8B1A3F20DC918E2A1A42F703EFCA744FF08541D8281881DD3C7F8213355FE4617EC4DE05AE813F1FE5DC6DC68BEF783CBFAD80AB8340B970291857A06FC3F77DB53FD1076AF81FDF83B07C5A2D9AC954BC7CBD31EBB84CCE0BCAD9807FEAB05B7C92A366058BFF00C0C06F16CA3E55225052BD0446EFF865D1522EB5605E5B007B16921E4386308A2651BE706163362E6C98EAE19F3A2C0744D2F19F2D3EE883CFA11863480FA6C8D6AB5DA57027C16661004E16A8B1B4F47D3404B5504C49EB1ED10D05B1C8538770E90346BF17CE32CAD40FFC0C73294B856C8B3700D440D581836889DB3E06759AB071748551F48297533AE797BAA44E7CB47803C0F4EB7045900E38B02A34D3204207D30AF3205844034FBE08535DEBD290C809DDE20D00D2539C5881FB3227A93622B11867A0C9FF464E82A3EA767CC9D172863D03B0F12AD67CB66E6D390B3B2D01A6E687B38F9E01A4159893018C8A647210BEF560A81CC16998ABF9611D44E1CBE96C053DAF05B07159471FDCC90D61A7A38931C021721836C9C40EA1EB4F8B3700389A7E2D4B59B339DC22C77118569A7BAC05287C399C67925C8B3700ACF829828651B876DC4C56A2D801C420B08D8C0FB6F55A005926AEC09873BF6B43386F2B71E88495451F74091BC5DD08367C398E6AF12D0016829E93A58A1AD95578F2C8783760EC435C604357E1C9268E23A8166F00F0C2F910DDC07A599A30824932CE6918CDFF00D03C4DA68BFB453C039085E22A8C431B327D18C085C28D4BC63B05833E2E11537D1080DB1E0E519553F93444A7C5B7004240217162071B40B2B0923E7CB8CF58C63B01E3A0CB0418410F9916F89829BCA864BC5BB0670090AC38AE05C1FF8F2C64AC079C804B2E859FA0A3728A2EA661A05D21E727067FA12368AE8C771376B4606E32EA36ED6098EE441ECA9A3C947F2E0E703CE0D4EE5C52F9063D9AEC02A442612C529EADD3A9442A63D033805A51A1D915AE6863F0B3733D1B13215A897B09B35E21140A8707D0448CFA9FC1378E8E2ACF6318903EAA605D467806601230DCBE97611076A309B5FF9353CF68823EC6F4B09C2FB155E0FEB8D29718ED23DDDB38E832DDAEE623CFB7C2EDE94A29595EC026F109CC4BC9B2CC044EAB7F82C28E471F7DAD4C02B8B6A8C1D3229C7E83384F4171CF25F7F36D5CC710DE4D2CF288793ED29DA61E92ABA50EA7D8B09F86319B1B53E5FCDD803D03B0912A9AE2EBC5712DD4D6C9B63596D3C150EA0D50EA0DD16D14C7E9A76F600C5F03AEC6404E6CEC1C8A746D1A3CB8266ABE50FE59EA72B40D5BAEA03C03B0112B9408FDD2EDE2B816DE0F026865132D8982A2850C3B23456781009CE9F358B81D5DD954353FC5A437064849C2E65D7B56AF070CE2199BE0AC5062AA875BD22FC1ADA9A39A5AF9A2009E0134A0460C0C3FC1B8E07CBF9FC425D1D9AFD061850F4E1E37858EA4639B62B49FAE985E17904E32123E30905E05AA541CDA107EFB68EA8725BD77E1C02945AD03456D07F09C58DB17CBBBF95CE1AB63A2810FCF001A10901C5C7B62E72EE0EF128B43C27B5738700A1F3EE1C6253C79B096B025D81A7F7F97A72D5D99C7C6C09E0134465A52DCDAB3031B8116BF827CBC314041AACD39A63D03704E960549C9338082549B734CC30030A6959EB8C3DB9F12790F6C0209E831BBD90A33B026C177C8FC18146B2FE33CB8C025E08F897F72B13C42F7A205D86EC102C03F5E7495711E5CD812B0D729DBAEC1075EBD7787F3BE855D5C8F7B4502363A15BAD718672BE4C8DC609795CCE0CAD5AC723C0F2E0C09085D0A9DCADC0ADD6BDC672C9103D009B4A2847E8B8AF730052981A42EAD7F6421CA2174AFAD9918FE046BD64BE5826157F3B725D363FD64BC07179604840E852E65AE85CE85EE93EB00F88FE3597204D84790B8B1B0747AE4E673E6ABD6A3C6F730CD4902426742774287495D4ACCA5748E7D8B9AA7645AF461FC1DCA2529D8F2AEF923E5CFE0F410B5E03DA0794A8025EF17EA8AE99CED1D033891F248D5A4D018C17CDD6610F707C751227A3A94AC4E016B089DD03C4BEB71A548006D7EDA0757D8731F745DFB24BB00F1BD6602DBA951A80FFA86CF5381DEFBC72501A15BA163A1EB54C9EA0C40205697B32F7DC1106EB466793B9C9862C47BBB2B01A153A15BA163734E75630033527CF7AE889C631013AED1B8451B7FDAEA3D052701285D1C7259AC119FBFAA3CFC825D01D21A402AF2E0BB7971645FECA898611CEE3398E546CD541CEFDDBC2490D0782CA0695F865B053E177F80DDBCB8F3B8F124E049C0938027014F029E043C097812F024E049C0938027812694C0FF0393FD38578A7B0DC40000000049454E44AE426082'), +(37,'image/png','img','89504E470D0A1A0A0000000D49484452000000800000007D08060000006A326B0C000000017352474200AECE1CE900001BD2494441547801ED5D099414D5D5BEAF7ABAAA0701714370891809207A625C4FD499015C585DE2028824468C2108C4844581991EB6E9611350E14440633046212E7FFE9844080675981935D1A08946B66034C91F418842C2D6553D5DEFFF5E4FD74C7775554FF55E3D439DD3A7EADDF7EA2DF7DD7EF77EF72DC5A8835E372DE65DBE68D2A612E7DF625C5A767E77EF8F1FFF1E0B753476B08ED6E0F16BB877C7BED078CEF4399CD36946FB19A3DD9C58654395FC22638C1BF4F67EEF3002C03967150BB4D1B8D712A72FDB762C637F644C9AD950E57DD5364D3B8AE81002505613BA8E91BE8413BFD869DF6144D8C43CD2ACFA59F27B4EDF29C674ED5A00CA166A97B2B0BE1843FDB569750E540118B48E71B9BABE9A7D9C561E2E7FA95D0AC03535FCBC106901F4DE681879596823D388D82AE6F1D63654B2FD2EEFD394AA9705E6A4545E4E135F5BCB4FD7B8EA8731F73D74BC3795C218B1BD50113D92BEC3D821A886874A6579F92B0FB02349D3164964BB100001E90E6ADA3498EEF8F1CEC9788F8E7E8F18DBC6B93E36361DE8359CB1BFC256980F95D12B362EE199D167808EF3DA037494121A57440401E9CA03DAE40321F5239DF89CA49DCFE86F1263DFACF7CB976274F89B55331BFDF2CF7AF451FA3289A6E29FF16FAB34111AA7D339E98F6DDFAF6E2B0BA82305C2B04DEBF288A21400C1F0F25AF58E6DFBD51DF827AF8CC5F3667E63C8DE4F8C7ED0FF34A55FBD5F79B62D8CFFC228A63554F91EEE7CA2721ED22E80EE3F6ACED308A3DCDE10A6E7CB6BB5B7CB6B43E9199A466605BA179D000CA80D5D5F11D0B6729DAF4F86E731A41F16C3FA495EE5BC46BF6F45AA5EBE8DF7B3FF36F895AA12453E8F245A83BC9A6CFB88F3CBB81EDE5C1E08FEB662A1E6186ADAE697C788923C9695515106A40BEBE1E4FF34C64212F127BC4C9EFF6A15FB2CA342F172DD836C2F6E13CA160497339D2DC0E8739B5D9E181186F0301F5C1E508B063ABA5E005A205D98C38B87C1DCEE12EE5B4E2F9478E4AABA596CB75DB274E98D95BE5D78F776D81C5740FF2F4659032DF3827A82313A9693361223D56A2E79036E868EAE150001E95452AB35AE8D8F40BA24DE79E8F957B987CD689C256FB5EC942C121BFCF2DBC86ED080DAE0B0B0CE1612F18BACB3E7B2CEF9FDA46BE360AFB8163ABACE061090AEA2469DABE9DA6ED26952323C0FBDFC9E449E210D7EDF75F9E8FCD88EDE52E5DB789D5FBE8498741704F093D8B8B867CEBBC05E997F54553F2AAFD1EE13C8252EBEC001D70840CA904E626305A4ABAFF6BE52281ECE654C4F073A56D4AAA3DC021D0B2E008211C0D26352867455CABAB6205DBE0423163A4AC46A512F5B2FA1808EBACE9F730B742CA80018900EC3FCBA36211D63F3D38574F91204011DEBAB15BF47967B170B742C8811582848972F4188838E61560B7872BB5DD906742CAB51D753895CDD388B597A29EDDECF949E570118B890F70E87314B17E6D0816D433A99CB95AF55B38F326D64A1DE8F42C79151E8B808A3DC20CBBA34BB92EFA426EDF67C43C7BC088001E99AC2514867C98566623E215D926A64352A0A1DAF49093A06D4A59E93E4E57593D8E1AC56C694594E6D80628174269EE42C981274E47C5ED301757759409B984BE898130118F93C978179BFEF7896CE05902E67BD6ECA380E3A329AD2D6AC2371FD4762D63157D031AB026040BA3DBBD4ED7097AE809E6F59756BE203A6E4693F23E9FEC82C9D8B209DB99EB90A47A0A3DFF78898750433028EA063407B27DBB38E5913808A9AD060314BE704D2012BCF1390AEA15A5E99EA2C5DAE3AA450F90AE8D8E857AA0574C49F6275D25947E29746671D37656BD6316323D080743ACFEF2C5DA13A2C57E546A1E37D154B82CB49C5AC6372E8381848EAFA6C40C7B405201548073DF7BC97CB55C50CE972D5F1E67CEB1FF4FD15B49103166A9787B1A2D909742CAF0DAE21A6D4A433EB98B200A403E91AF2304B676664B187B7CC92DF411BAEC19E86A144FAA264B38E5CA7EF13D3EEC63A8494A1A36301B81AB37452489B8E59BAA9A818165EDACFCF8A593A187833EBFD859BA829760130EADF58EDFD2D8CEB4DD8D53416F6550D0CEB5E465CDC5DCC3A1209E83811D0717EFFD3BC4F38B1AF1C0B801452DF45E1BDE30A3507B0F0126BE8FCF555F2CFDD325163AE623186A3BC7C06F0FAF9BDBBD489F8EF55A1B34FB56C0B16AC62C410D0F166C40FB14C13434C0105B09362DE333FEE33201D2CDAF5C73BDFCC9EEC8453838EEC1427A53A1E012C33C3FA3BE2ECB193656FF5AF66B0430D96898E13B3CD01011D07BECEE7E96F69AA1E66D58CB89C6E19298C00164588DD378C4F3CD0A4D60E7E8877B748719C94030E942F080D687A437B4F0FF39A4C3A5F542D33011039400884157A2CA87D042B74DEB015BCAB201FBFB2CF81EB17F333C48A631E0ED781EF1766A384CC05205A0BB12B07D6EAECC3FFC1DAB740F0871004251B153C9E0791980CAAA80D4E3B16D2B011868FC9264FB2260046A584750AB4F0F0A1FFA8BBE01AFEF65CCEB35E86515647B80BDFFFF67DDA9F759D96E25FDFC5B2CD199C689251E7249BC04045BFA473FDA9CD01EDFD8A05C19B2C2B7E9C68CB81818BF95970F53E277CFF185DCFB74D486C2B31CFBDF6F1C9633212008F47FE9AC4E831CC6625395C895FA087E9A5F21AF5CD8A40A82279758EC78AA9F4B25A754618C33D0CAC51F61C615FE0289BFBB034FD8A12AE6FB34F973C26230128C1946EBDDF37893C723F8C06EB2108B6EE4148F1959830DA0223E637D828F1D5E4D5EA98B1624675EF2EED03D2F922E8FA13ACB9800D6A8C9E503C721FAC345A3D174BD3ADD339A366E6078896115DC878E7C05A6D4998F842D800F05F5B5F68D808780B8763447896913CBBBD1EBD62DD7A6BEA758BF8978221ED619DC2B726F1B0E3FFC5DEF6109B54E757FE689D53EAD4AC0880516C5D95FC273C0F133895EB98C0E0FCEB465CDCBD79FFDC3739D34663266B75A9AC0470E2C6BEB8341D202090D2A143DA74747E2586FB4E764D8EAC1A92706055A5F7C96C7B59B32A0046031A2ABD5BF07C65F902F51BD8DE558B7F7D7F232EEE2E7C083CE2431807D5B0BC73577999F072C5A5C952806F2005DB86853D72C62FF64FBBE47053373AC173900E86BAD3E74D3DA9543A72EEE6DFD1F9F275B40343ACAD2ACB52750886F1F0C3FF551F4549BDEDF3C4702FF1355C52AA30CA1E6055F629D38D817039BBD041FF4647C6F9977D5EA5DBE699EC3FC9728051E3D9B33384FD73FA3C74F6D9C9D246249D516DE7AECA2A08829A2CAD9338FE3A75D38ED108F4E6CD60F450DCAD61547C66FF8200FC0AA45F2AE7501DBB80704054F6AE8A1A7E2E760E3F029B282932C28CEA5BAC844D72724CDDC080F6F526AEBF155F4BB6B5B15AB92C9E9618CAC8084CCC2E9182098C7063B5BC169DFA15EC04988621ECF3C454CD147450567C08FCB7D433B8811E578FD13E9DD33310BC910E3B5F54E44CA4BF0FBF4DEA27B457DD400F42907C7675764A1FB896FB60DDCF41E76F6BA3F3F731491A877D8F573BE97CA7E5DBA5CBB90018058B7F344EEA10C3FC9761CD245D048977D2F2216098EF7A6C0305D4308E7DE5F45DFC32DA890BA1390902B438788CFE7AEC651A87FCD2E2D78040F0C6F0BFD46DB0EEE7A2F32D85097F8C30CE265A8951B50F8EAB7D2ADBBADEE807F33DAD06993349252C74BC580429B3C8D12B3F823064C587A06DA24B839CB661A81773E5B606552A756D49CBE92C3CFF04A3CAEB180DACE7E15B12B73E88C32D80765E0E73FA1584E7DCD69884A7068C8E97E06CA2FBDB52A9096F6648C88911E8A44ED1E35B26972DE4CBB125AA060C1803D4606993081F02173E841A7543899755BE3E53FE736C19EA46BA436FA29F80561A4B4F7866F4050A7807BF4F019EF740D71F84C07487C09C81FBD9085F818E4A36875101B5F28EFA32DDA48CA00F12F28F12462EE7A57B8E6A9538ACF201D84DB6F9A11E7B39931E145BCCEDF2CA35BD600260342CEA43183B6891B624D4440B2104C38C38F31D82301C6986891931E3F85674FE1CF8C9E79AD31A6130F90084EB69CC48BCE453A8810D22DBC39E782375D10ED1500CFBB7E2BDDB210C09FC01AD17F27B33B89146FB86D106A31CE33E20A0DEB2E7A8FA3004EA1C0896E5D5BCF49BADEC7CA2776EAE508F65C116C484065AA4C90B29FAAF1EEED08730163E84513F7D6A6AA3AE2F1F645541FC9B83E884954A575AC8CA21040E2E56468790EC05F14307CF855F13CBB3E956F3AB1082CE887B41DB4065F2708A1C268D43A4FAC027B732CCF96073FAB830A3BA92129A8CF67E18472F50C0350260B4DFA90FE1AB9DEBBCB79DBAC2BAF389B62A0ADDC6AEA5BF1BF9A67AC7BF7B27DEB90D46E53510A4E7F01CA7FB859D11267A69CBF3370EA8DAF5E2780AD3548C50C956E67C0A7B67BA5832976A5D72993EEF46A0D3C634542ABFECD147C69C81740FDEF947EC7BA7CB9FD09C73C790C7EAE83E46CF29275179269D1F5B56E9707A0DB6FFE5185112753EEC866EECD3ED1ED266C29367DDF9307231E43F5472B2D2D76D9D2FDAE95A011095337C085D4E54FA40EFB6F810269E359DBA967C2192C45DE8A427D06177B0ABE8585C448681D261F40954C9D58C48B8BAE3AE3E9DB62A379DF6781CAD25C0687389445F6DA8561ECCF536EF9632537C70B500186D89F5210C3EF5D9A7AEEAF61B23AAE57E20DCFD2F4A779C2A96A34BD8074A0909EFDD67E622C6F658409DA4560F3604F19F18EE47C1EF717D5DA582695DF75E45210006FB84C5FCC097BED3C7081BF783E1EE6ACF2EFB06B1CB28894FC1489DFE9D0DA17F620AFC368C047153B027967C4EA37A2C43C64CC370BFB05451CEC7702F8C49D75F452500B0CC8780A35799B9BAFBE8C54B01EFEC4FF736BF9041D83B9CDE80003C6DCE6254F747C265A7BC741586FBCA62FA9640510900A057C20A190CB7EF978DDE34DBDC21B90CCB25341BE50663CBF04AAA675EAF51FD6269C5F05C340200EC2D61DCBDC1CC5408C57C7446DC906C4E93EDB05005304A9F34E70B68F80D33CDEDE1A21180A68D7425F078F7588662283E2A9F94E88D8B4D93AB6774F68B16790F15EB0E2CE8AE25158F00582D3363F44AB6219FD39EF20D2531811387458587302825DA284EF32C44BAA2110030E79C040661CE3E81962702D40E963FD2E684E2C2D42B81E66242D10800187E46021F3DF449022D8F04A8A0BF9B8BC332F99E669A9BC34523006062026351F93D05652EA34FCDE563423B5150CD895C142E1E01E08902E02DA1BD85E42546A5C4F239F528649D522DBB680400FFACC3E6C6A944279869F90C037B26940F74607B547C3EEBE6B4ACA21100185C09C3AD2754D8E156E216E55BD4D3696714225DD1080086DB0401D00BAC6FF16F4FD0F756F52C44C73A2DB3680400234082C18783292E75DAD05CA4830024940FCF6482A0E6A2EC6CE5593402001B60AB45A3C5495805B9F82B740660E065E6C2F5127AD74C7373B86804008BE97F0D86C7F9FCE179EB8B19C2BE8560B0DA4437A37C54A9F5C2F0FF7EE910FAB895E2FEA7A21100369CF61FD2BB592DCB9A906F36473A9ED37873B9FFBB6FD229031684AE34D3DD1C2E0A01A808F0B3715AC6B3EBF6CCB82881999C261EDB44E726D07348D036D29DD0FF5F3317F1BBCFC79E190E87DF1475157536C7BB31EC6A01C0D17327600FC03C9DB49D58747927184CC7F478E88D8E90B1D2BF365FCC15B37D2833602E6FFB91CB69D7D14BA2647EA7A8B3A8BB688339AD9BC2AE1400ECA6C1B704B56FE16B9B3BF13C1B9B45223B7E0E3675A7173F9B62C5BF3158A37F975544B6691AA7D55001BDCCF9FEF8D305F124D459D45DB441B445B4293E813B42AE1300A1432B6AB5DFE353294F03FA9D6966D3F3108003D8D36FBE601D3E0E21F8BA999ECD70F0659A8A72EE36E7F9DEA14187DE3F546E263787451BD016D12637DA07AE1100A133C5962FA143F16FB9C29A9B442AEFFCF91FFE3B629D391EFF4A456CD4807EBEDC1C978D303688DC837C1E32E785BFB5D6AFF33B5749244D4EBAF51D6D126D136D74937D50700188D5F3E8F8316606B784C5060B263DE23941EE7DCB5D6BC7829EB8A1122B86B0AFAF1EFB05EDF369C9D0D90304CB837FFE728C464F42F727F00BB40927DF70F82FF5D5F28F44DD441D93ED78166D74937D90D020676CC93C95D089567ADE2A67FCB35E26895F8853B1A6D44D6107451A1FA3EF0285FFDE9C1E1DE6C366D175D8CABD065BB9339A99834AB918F9BC864EB6343CB09F7F79E9085A6BD441D44DD451D435526723C27C77917D501001684BCFB7F28B7DD8FC7978E586E857385BA2E017507DA5740B84E09F2DC4980708C2786CE5DE8DA17B1E2C77DBAF97C5BCD2F2A8E2AC20BCF72CF4BDF03E56B444C43CC0E9B351194A0FC6905A1E455D1BFCCA0DA2EED82B60BF09D405F6415E37870ADD872352164317261DA2852E659CCD39BDAF77B5D81ED6C259D303F602ECE5AFD29541957E89213AC12D0B2110106CB64AE44787BE097DFD9287E8AD260F7DEA93713EC0200A8A534554B18A87E1FC229DAE433E37EB1AF51345E19F6F7961D5CF5AF91C9A0021B0AD9B78517CDA1E67245DF4D9CED004CE38CE488A3F63C9C81C74C33E588FA3F366D4FB99A5501BE9B379770C4D60BCA4754894A8ACD0F3C754ED4130F40103D25936A279232574A9779E31D45BA63311F99B541A3C88032238DD618A4A1A44070685CA489A282612CC0AC30A78003B871F8E213B7A1CF830EF163E129A831DC493C003FBA36B183B86721E2A55E4254E3798B8F690A84CF5BC23CE2211C366506C0A1D03C6FD10BF888DE0E4DD943A9FD12EE4392C9DCE177571AB7D90331B00E7025F950CCFB77610FBD02379060B9D69D6F3AD699C3DF946D0A38A87CEC33F7B197E18F9B3727D86BC262AA57401F2FF5DA6391AF68168B353FB40F032D372EDDECFBA0088634F05D6C5B9C06F08DD6657700433336952CFBEF2455BAABC1933D628870DA52F7CC3693A0E88E88B8E5B82DF4E23CEE91DA3880E9BE00D58F9537D9DA837F25B95EC6819A7F9C6A6136D166D27F020C28BD8C89867C143C14BC153C1DB98A8AC3C66CD088CE8F9A03623D8A44DCF859E4FB5B5D1032266E0BD19EA261875E1C8F4ED9570C89E7124DCB5AF4F3AD2D503A2A6FBE88B504F7CFA88FED153FEF80DE8F857150953CF4328E747D7460DDCC7601FAC6BCB3E80208C016FBF8183B29696FAE4C54EED83B6F896B100083D8F8F1A7C133EEF85280C6E4FFB22B175FA375CE2D370FA87D0A779BB9421B40385895FE42AAFD93F1FF65CB5CF73848E85BB4468A8DB4FB1B3777634495E6F5183770ACE195A85D30297C1504CD80319A990F01F105583D7F7C08732ABA1CAFB0C468F241C6FBB1919A98050B8E90A7C15E40F767EFBD6E2A37ABE5AB931533DDF9A67664FE2CC47A3F333CB297B6F47EC03F0C8B17D00DE676A1F642400613DFC0AA4D5D6F70E5DFA6FA1E3B2ADE7B3C77277E614671F081EDA5C82F7C23EC01EB5793649DA2467AC022C4B4813CF5BE6D5418929DA074014E95D59178042E9F9F49AEFFEB71CDB076936258B0220F4BC34259B902ECD36B5CBD7A2B6D38D036A43D787751D9E487E41361A9A910D202A003D1FE652C9CAE37A3E1BDDD1761EB1F601B87FA8ED3792A7C8580080413C4C6FFAFEDE9DDA33E5B5BC67F2E28EC76683037B776B7D712ACE688C02CD1836834C1D0B80447C1CBC6AB6B354B048EFE0BAB6A33CA04D165F09C9A04EC75FB5E1C08D6B78273882166047D49F308F61394DDDFC2AFB730963936DB289233B16802D7EDFAFC5F9775814B30C869ECD89DBBC2BE7FA4A7CFAECED010B355B78185783E301471C8093E88683FBD50FF1479B65379B887E390C9D3C0DEAF8D23ABF9CB058C6AAA0948CC0A8FB717AC522F5A7D4C4B03A965B4E52807E49B8897E8F6F083FA69428FE7C7F04C1AAA1C54A136B2874AE3D024BEBD6E42E3FF60B8F2CFFA06E06FBBF54DAEA780488CDB47EA6F2417D955C866FDB7C178648DC4149ADE9E0F4E534590DA93BF0A1C894E6E95BF3E8B84F035FE7256581204E20D7B643D7271C596F70066AF963C94323F081A8DB52ED7C91475A02205E143E687CDBE6C725A53266DDD85320580A28883DB8CED7633478559CA92FDE3D7E25E700BE997075F80D6D2BE655966134B5D958D27C2C6D8F4ECA05F595BE0DC973B48F4D4905586553379D0957E538ACF3FB4938ACAFB2C3A7180DAEC157F0DEAFA851174967C98BEAC6B1A0557E1D993664393FF9E85175113EBA792FF43C10B6CD253E3A21D17DD938883AED11C05CB52D95DE86FEDDE58B25C666617C386A8E176148B3A2139F832F687D20BE936B95A6A3D230A9F6EDA347C44E28AC76B6EFFC7D92247D1BA7900FCA46E70B5E674D0044668F7F8F85EAFDCA227C11AC3F54C2AF05CDEA42237BE33BB99B0069D67774DF01BEAEDA1FEA718BCEF5A7A02E4FB5E25744BD327A9C4A947EB0BD9EB64C93263163156055EE6B7EF677D06F6AFE742C5F810E3FDB2A9DF01D90AE0D87EFA0AA471FEFAA642B80ADDE2F669AC0F407F7697E607A2CA049F67D43607A6213F0C16847B02E559E64750430172E3EFB227C073012971EF71DB472275798BEB504E74F391901628B8FFA0E1E80EFE0697CCE611586B9AB63E38D67C37750561B5CE5F32855EDD17710C1F4A43D0A4C7F8B2564329841EC175E26DF8F91F45F2DA41C3DE4740488AD73C477E057CA85EF0023C2E7B171ADCFF8BA9F4E9384EFA02CA08E69A517F793C0F415B5C169114CCFF92D76AD89C5F4F9E87C518FBC098028CCF01D787C72BFB67C07B084D7C138DA5CECBE03B1642BDCA8BD8BFD8A4B93627AC616648AE9058F53BD72AE02AC2A9482EFE0DA62F51D18985E27607AB1E6D8EECA22A6B72B22193DAF2380B92286EF802436B33DF90E0A85E9CDFC75122EA800880A0ADF416395B2D8B1EF20A0FEDCADBE8342637A271D6E4E53101560AE8408C7FA0E78983F0A92E52E18E8D1D1C4B561E5359ABF475FEF636EF01D084C7F60BF560D4C3F2D29A667EC4FC0F4F7E50AD35BF1B52D5AC14700730585EFA0934FE9DFA6EF80F4156E587760607A18AD33F1B3DEF5CBD821B1CDAC671FF932A7F3F466BEE42AEC9A1120B681C5E03B708AE921C8FFE325F907AF55E51ED3C7F2D0E9B3EB4680D88A1BBE031CC0742F1899D477106C12C7B1E5DE77E014D36365CEDF3C120DC7AEE7DBF385E96379E7F4D9D502201A818EE73880E9C9A8EF606D6462C4AA759C4ECFB5EF20154CDFB39372E1962ADF46ABAABA89E64A1560C5A0A8EFE01EAC3B58DBC6BA8388EF00DBA9177BCE94176663DD4114D32F06A6FF8E9B31BD15DFDAA2B97E043037C0A9EF0068617636D61D94D76A7747E7E9932DD2D8873D907765739EDEDCEE5C858B4E000423F2E13B30303D56E7AC4D3A4F2FD11A314FDFE8977F96AB4ECA65BE45A302AC98D0E23B08A838BB9FAF401A47BE036C62B1CA2E424B05D3C38339A1B152F9836D66451061EFA32E82CAC756317A42C91CD0A660A189AD60C3A8C4173DD8BBD8BF706FECFB58AF50C33DFC6DA6D34A2C60E9151B17F72C303DE3737A7C4559E10627545CDDD208B41B0130DA3EB056BD30ACF3D576EB0E9AD38915CCA6091AC676004544CE0734F232DF5B307D1EE6E9CD65E72ADCEE0440300AEA800D0884EEC1E18C8BF17C4AC6CC13989ED1E4628075A9B6B55D0A80C184814BF9A9E1A0B6047FF7BB211569B49569B0921F3AFD04B9F685A9EC98916F7BBAA7C194E26BFEC040A8AC89EBAB313638DF53CFE8F512894DCCD6F26BB772AD43088060FEF835DCBB7DBF3605061E0C45DE294987084C3FBD58615D92765946751801305A7F4D809F13E2DA0A20859B0C5AF31DF6BFC49F204999D5388B1D888F6BBFA10E27004657C255DCEA3BC03C7D33A6978B1AD31B6D4BE5FEFFBBE92462E0CAE7890000000049454E44AE426082'), +(38,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001582494441547801ED5D0B9814C5B53ED533D33D8B3C7C211A4C088A0F34E6FABA82BAB3BC55506322A2F8DD5CE526312A46108902FB503E7707C118F11AD0ABC618231A44C4040524B0B0EEAE3CEE4DF2251AD4EB5B545051C0C863BA67A62B7FCDEE0C33DD353BBDCBEC4ECF6CF7F7CD74D7A9D3F538E754D5A953A7AA1965B942E1E8284EF11F30935510A36F70CE8FC882EA815D4801C6D897C4691B57782323DFF34D55817A59319915386C4EF45C336ECEE7C48758E3BC70F1528011DBACF894692F570636A6D722430042B5C68D44FC0130DF9F8EE43D9706052004312236A5A9467D2859A3940094D71993899B0B9311DEBD7429C048999C14828400B476FB8D5ECB2F5DA6A7D74CF404180E2AC47090E8EA5BC77C49B7CF762A8CE633A66C668AFF6D3F23333D21EFD99D14887152B8193B81737388C9691A86F5C3D34B2A1ABAE03960435942DB37E36BD311C43363D4484C9BD854C5B65BE3BC70F1502014E6C770537F06250E594BCD14DF6885F1F8E5D608B07FA7C77C3B558A11221A3053B4AB123CB554404CF315CE994D3244B7EFB57C0BB58A38287829786AAD82B0F1289CA8BF35C2E4CA262BCC0B173705841E67AB010C7C8A554110487EBFFF1D1BB207286A0A0825DE5A0161DD8500D82F4FDBB7D3A4D821D9782A158062AFAC577EE714F004C039AD4A12D313809264ABF34A7902E09C562589E9094049B2D579A53C01704EAB92C4F404A024D9EABC529E0038A75549627A0250926C755E294F009CD3AA24313D012849B63AAF942700CE695592989E0094245B9D57CA1300E7B42A494C4F004A92ADCE2BE50980735A9524A6270025C956E795F204C039AD4A12D313809264ABF34A7902E09C562589E9094049B2D579A524FB0189F458745AA84EFFA7F3643C4CB753003CED2D2BA35400B0A9F01619B2072B660A600B90E4F286000951BA13C81380EEC46D495D3D019010A53B81A43A004E987A0623C6DEEE448852AF2B8E8239047B01B14D3CF3920A80E6576F5F3B936DCD44F542C54C81D173F9B72251DD2600DE1050CC5CCD43D93D01C803118B39094F008A997B7928BB27007920623127E1094031732F0F65F704200F442CE6243C012866EEE5A1EC9E00E48188C59C84D41054CC15CA55F6E18FF320FF347A1A8FF3E338A380C067383B952BCAC73D82FED756DF8A4332BBD1D5AD0420143626C53FD1E7704EC72478DCBA429AB8C5E3B46FAF1929AF35169E725460D623D7B3687790836E23001575FA55A6693EDE1653D11104716EE2F4D7BFD07B02EF86B6704B25AEDBE80038357B9663A671F6D30BEFCB3C61DBF1BB4586D82D0460C27DBC0C7C39CD316F7080F2FEBDB1B31DE3173162B71802B6EB24BA769BB063D97B039648E3F880C219E8FE45B79FBA18330F49054AF8C1469452ABEB6CE8F73E1E3B5956AFC302EA45CD35C10AC4D9CED135895554CCD59DF71AB20C8A0056B23D40F9DDC6594A9CAEA90FEB5743EBEFDB5E5E08C7581EA55BCAEB22EF61A2B8C40F2799862AF56FED4DC7EDF845230023EBF80083E9B3F02DBC4BE0DD621067AF9405D5E97FBA8D7D9E2432BA737C01C598089C2A8A99A7E6FABECD3F7B021317FEB2A3723A0E1833639CCF0CD5EA9B998FDFD558195C99CC73F87AEE8F6D30AA604BB812D684C339634D3E45996FFD3C5B12DF6DF7A21802C4676D0C6EFC156CBA1EDCEA8F163D1063F60FF7E9FAC6E1F3F8B182A8C3EA229756848DBF81094F8361A73A20F4B6869BD81E8187CFE3BCEA001F59F321669C5694D7E9FF27CAF4D3877920F68AB18C4C8E91869F02413A1AF94FC0F7781A2BC291A94ED22C348EEB056058383A02DDF10B606AC6878F128443EB8C478D7A3064599CD37230E1BBCE08CA0CC5C76E4EE23252EF8422F846329CF3CEF9D91CDF597A7D87F12A187EA9151F82E2374DBA1F4230DD1AE7B6B0AB052034277ABE2998CF13D33829EDC0F41311FF0369641A30C160468F11293FF26BEA80C64A6D5932BAB19A7D34AA5AFD0EF994A1F8B2C6CD981DFC16F836C530899FBA732E552E93F110827B2B6A8D9B926137DE5DAB0388AE3D6618CBD1F23B3C1D43D7FE017485277D7EF5770DB3589B5F41998D791F18243EAB92FAB4CAF0B0713AC6FEAB2060D700FE8D8E30D064FC57182EDEC1B77B5777E4FDCE7EC7B53D402C6A3C28EDF689B661D06ED34E0FC6BFAF3065D2A82AEDF8A61AED8E5CCCCF4664A1F537576BB37AF5D18E5348F91994CF8FB3E10A38F2FDC8160FC514A68627262CE1AA2DCE0500570A8030C342AB1E2BA1CF3695B40A30E26A74D3717B3C3348613307F7D54E6AAC569F686DD576B47642564D617A638DBAD077AC7602F2BD47963704EE81324D1B8CA49B6CC973EAF7E9DBFA181BDC0500570AC0FEA8D14F285256FA80C84BD7D5B0779BAAB5E7D0DAAEC9E80918FB4720C0CE69AED2E675D64A5EC37FB108F29EE123560E1DE1B544F918C3CC8FDD03819B8A29E95E1F63B6CFB3093C662A89D98AB54E850EBB520054AE6E03812356E240219C120A476E13F0C62AED697C08E94CA6B04A62CA35A7F455CF5C3F53FDBBF59DCE083754AB9BA0349EEE57D8698CA9FD8550887CF00DE61066238B6479A29CEFC9E08586B1F2DA48C218925E9060401B50E89D4115B5FA6C93F89DE9E54A3D2BCAF5CD55EA23A9B00B1E5A76DE18E815B87D1F3EA386E6EAE0884216B37567D087D632B8B20710853CF928358CAE7585B5C08930E7F77F6F1EEF258D2B10D088199829D8998FA1EA038534318B70E5E55A0110E378CFDEEA788CF376FB3BEC02BBC970D5986A3292CE4C20000B849DC195DC47A15C2B0082607BBF4ACCBD4FB2120F447D5F3947CD6DA8B1BED889618DD4DF42D5B31DAB835960CD05BFE0477562D60795B4AB058033E30EB915904D6B18C1620755F33CBF5C5FC53EC31434A1A0A6270D4B659F7D11E3D674989B9E5D2B00C21208EDF43F6CC462EC7968DD7FB4C15D0068AA0C3C4A50F86C456134B9FC6E7E980DEE02806DAEED8232258A1037A268353CE1B67DA04C58C421352FAB6CFB57D25D60961F2D403761E1C3C31BFE0B68238617DBACE840FE6D3F4169E5A1B03E1509885549D8AB5A2FCE7BB1B821169FEE4A82DC7277650F30F601AEC110F4631B91182DCA9742054BE30C2C2FCFC282CD6CDC7F1D8BD12B9195F491BE8AEEE41BA8CC96B743405395F62AD2C6EAA5F5E23FC170704028ACD1050ABB5200BEDE23CCA69629155A175AE92F3A994EFD85404476D11BD195747E47F3E23E36C7FA2E7C18BE39221C1D6285173AEC4A0160261B6F250C56541A1B2AB537ADF04E0A0FC042C3DAC82AFA5E47D26FAE54B1A2C8B658DF8595F04A2BACD061D70980E826D15A2484579EEB4A62A10C4168034B8C97E8CC0EE5ABD0B3B6F798F97D1BACC000D72881A3E6F023A226F5187E77ECDBE8FE0FCFA00BBAFF0005520E1C19711D0D28F4283C00FC1895831898BF0B869F614D0A300D2E604BA1139CCACEA3FDD6F8B6C2011F2D457D66A7E320BD8115F3F4C18198BA33316D4C8F2CD073C10520546B5CC79939538FEBC725682059E48540BCB7AE9A7D924F1A05C7D2CFD2D38BACA031D0DEE14F4847A6C3011BA8EF26E1D5736F3A3CD7F3FA99DA16B8AAEDC26C2063FA671AFC759D740AD546BEC022D6A2C17D03B777D6EA65AE328AF8820E017097FA3127F31174B52DCCCF5662CEFE922D2A5FF0E0C5B426A8D259981A6EB3A60921B89DAFA70E34169EB5DC48F348E17A0EBFC2A7ACF97565B86002000F199F49E61D4E2A8BB97956423A79DF290E1B435B4110BBD50EFB0A22112A779A4E0ACF89E0C28B78D8DDC6BFA7DEE9E2878209C0F6776900EAFAAD5CF54D78DF28F4622EBC7CC56BE3E819A4F5BFB6F44CBAD006CB01F0F9144716CBB8C92FC89154A745174C007C664C0840AE6B2B14B46B9B2AB5D77321E6335E61645F8666F4EDF6E6213687085F42BC97DABC224B0386A341327857C03A30AEE5AD58B6BCD1DADF6AAC5253AED6C2B4DADEDC7833F58A7C6D996F63AC29BB981E779A169676B75A0DC228493FA7EFA7E3095F4284178A4D2402FEE60E6386C9796D3A0E9E1371165897046D4CE8925CDBC8A4234CCF486E3F145B9876336008F095F4221B473BAC70595881D50EEB0399173BB8C3B3939A3EBEC4624B3A33A3AE0DB94D00FAC1E70FEEE02D1727F6E12165EAA3ED39B7078ADC5798D2ED46D77168321D71D789AEC0EDA17458B667BC2B33FE6CCF86DF167C5498F78B72E33AEC0F68716031A569B79544A7C6154C00B0E8666B8D62ED1C5DEF8D076ACC69EF3EFD3AB87F9DB17C06FBFA00BCED2718775E423A1333B03885F91A5A2134FD0CB825B07F350DA418D99432A409F36EFB2E61DCD24DFD2F284BFFE49082452E7B22FCC006577B64E7420AA604F6F607DECD70EBCE564F4EC7EF8C46DB6542C5B4F1F7D6E440F6C322515A2C74046B5C320C4B1DF3C5E9D7C0ED9184893BD2E3C1A044314C47923C47E351B153B9BF242A13A438DB9C9AF9527E42051300D1A2A1E12F72520DECDA3AD7095E1247BB28B11C6B6FB19CCE8D7C45AFC117606412377987A1E7C8E84BB4060B36B638E03CC746D0A7495CA777AC6AE42C37846BFBD1650131F52CC855B02120515B45C59ABC3118E6D2A16DD69EB3B3DA8CB7448A166BACA29B7130148E80B159F00640F0D6424FA8C77D1DBAF6DD68A52747F663C8E064F3DD1369F9FCB4C09285A3207A9236CB8DB477288A6FFCB3B7B276AD3338CADC2152C1F70508E78F3D5FC786E38C8673C02C74BDBC2F1891E10C223689F4ECA31E2AB66839AC57020D2DFD4748EBB1F6BC23C305A3DED2CA68587B7A01F8E1F789448D9DA84F662FABD0426C58DD857C5ED514755D7D25FB529667BE61D9F60514B607402D5B99BA1A8FE247973ECC7BECDE614C8242E813617141710AB63889B4CF2258368E7E032F9FC390C03D688D998C6849DAD13F04F3447D3FD5F3D534825DD8B651279920F6095C62633EB17DC79CA04E7DF64AD9BEC6E49B5D7BEF30513AAB982F5CCFF6614868B6A62F7312B1E2C8C2C171F44B2CF05C829FE39626BA7D6B5A108253F438ADE56BE9086B9C2C8C0426D8E08CEADDC47C513ED709400BD1ECCE1F20E865A277B011D5010042B02A18A0E3813A17E37EDBD34946CD30054F871044AD4943084ED30D5AC39BD0ABB47125CE25E4B2B50366771269239DAE8872A50004189C3FAC6660ACABEFFE3C9AA11BB48740C2400473F02C8D515F08C1A560F0BDE81516E3BE12E1C7C0F4192C402762D808A963693EE013F1B3ED3D80109C0153F36AD814FA64CBFF33C3182486ADCC786604FD81E599B0C2870AAE04662341A82E520F628FCC8867F4A1FF7C6D50576D0AD157D25528C353E87D52FA48AA3C8C36067BD385ACDCDEA3889E6AD70EE3E374671028B28B7158C5D5A9F7BBF8219B12E8CA1E20411BE6BBC746234E03E2CDD1344BA10D23AF00B134CC149A841EC26EBF6FB129AC8062788835D3163D46110EA05B454F869EA45E55D45BAC786E08BB56001267EA483686C2B812C69981B9AD6B79A2AE369616A107F80998889BED0AE9317A41B68FA0B926B016A7900EE8D55B2D6BAA0E8E768B0FA0B506AE15005150B4BEB0B5C0E8567B1964484FE1B0E1E60990584A6674A34C08201523E033F847AC366AB2ECDA6BBB90A5D19930570B001C41966279788384005754D4F16F4AE09D068213E9C3487C8A2C03E8096374A2657C0BA9B27837C35C2D00E5732297A085D9FDE5B077C017D03B34253C1866603AB900FAC074591A108271FA07B484FFB970CE1DB272E582B956004275C63930FE2C45976FF3964157DCB87E46F0FF7355AE33E2E13D7C9FA2C83F3E0161BD4CFF9C9EEE980771679436779AAE1480D938E21DF3E887610E968CAB6C8B2FA88D4F564D4CB9C46EA264B82BEE500CE7C26E70A72C2FF404576061E949DCED5347D90B0586B952009AE7D1B168F9A75B69237C0671CCEBE8869FB32F84B305DCAB5EC47C7B0F0E89DE218E64ED4A41C014516C2FB72BA9A2D070463156DADDD2ACF57143D895021031758B152D45AACDEB6FA3CF86CFE7871A71630D187E3104057B09F911F0FB5C80BDF9ABBB728A08AB61358623BBBD02C585E1601216A2C6A64AEED207570A407365F02D10F67D2BCDC0E8FFAC08EB0FC6F7182F6188B0EDE543CB1B03FFBB7F9487F5191D5D37B0E6992B0CC57006CA7ABF0C0F9EC4B65E4C86574858C19783B3569E31713ED093D6788CAD37883E36DB05C13814CD6FEEEECFF55B2AEA22BF0C30EDC98331C2881E25C6A3179162F6F4736DA96C8F2284601A1C4C54946A727AB9141FD95635D3E3DDF0ECDAB500411CAC073CD4C2F08E930A7A431CF2B21AB6F8E514E01B46CE50B7CC6E39195C9AA8F0DF7F7367F43B3C2E0E883027C04D30248619818CB4BEF2F9D4B365874FA39C0C5E4895E8FAA7223F7C888AEA3063107B025C71655B0B70B500CCC66CA0BECE7802ADFA8759A9D8B26A180193CAB2E2A445082622B8DC17546F15CA64320AD3CE1B90C6242876A763A891CC3E9298CA7F37D7B8D3AE9F2CA1EC9E4D005CA903242B205AEAD127A993D0F6962461D63B5AF61445E5FF06C6ADB5C6C9C2606E1FA14BC423FAA2647CCB0CC27C088236A46DE60BF3B45974D6BE643D6577570B8028B0F0A069AA5627E2B0E53BD0071F70D2C033BEEE7123E21634DE1E7C1B67F18EF129BE9110888DB28ADA616C74F20C7F939962D348CE0BBD87EE23C5556714E72C740E04D70B80283F08CF71FA562DF9D47E1084ABF1BD9FF1382EEE7830FF7FD2EBF77255603DD6DCCF53C8370A6FFD0EEFED4D8F4F7F464BF7E9EFB72CE040687AA7C7599F11BF1B85F88DDF4F6795DAA7E3DC3B0BB07201E1E659096FDAC592A80C50634D601D00EB7044EBE4886E7C1FDAF91830FCDA0CA41C0130FD6D58181AE134F787A307A97F424F64E478A528A38B4A00DA4B61F10107BCF3144EE95C4931DD2600BBA2D16BF19DC1084EEAB0397A0A17B197AB83CFB737CF62C32F69014832C38FF3BE627B92A1037730FE57D94C0AA6922DE6C0FBA5F054143AC0C112BA619A18C3E9B3F6A483959CAE3A93B03DC5CA3B6EB7108016AA65F9F88484A430EDBEB37E965A90E56649713A15D46D04A087A64E8126BF29173561C1FB14C7BE5F26661EB9704B215EAA03C4B85B378C749CE44221C44CE03C2C1D5F0EFFCE91F83CFC40AC2924EA0FA683D96C1BFC77FFDCE7A8C0E309AFDE8E67E5CA37B3F1145F45675F8230195A30376327A0161FB8B2260751A8D656FD1C9210BF6E75B5F234A3CE82F742D7DD96014500DAF1102BCC0B173705A43C05EF15385F355AAB867DF5D342617E8C15EE858B9302829782A7D6D20BDEC3DEE193183B705833D7177B42602559F185050FB9A93F837E3DF3006E5445F01EFA0FD6DD6BF54D6225CC5E3DB6131232DFE4CA26BFDFFF0EBED489E56EEF723B0584C2178BC50629CC1CDAD2F265CC679BB16E3234A1052B3E659A19371B21049659013F1C09D412C52916C3CFED35F7CA974101F04E7A619D2326782E2213760071A42976304E95627BC012A4009B22782E2A9632043557AB0FC2DBE126211D255863AF4AA04082B7E071538D9A3A3033250082424208D035540071B347B1D2A280E0A9E06DA2A1A7552DA104A685538FA1707414E3F1CBE10F19C25082EDD876452285EC3DB890026C2798FB89F0A5C14ECA65D86E5F2F2BE4BF0095624E95A2E1B88B0000000049454E44AE426082'), +(39,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900000924494441547801ED5D6B6C1455143E7776D95D20C64830366A109F89C148D468541E52158442A2F803C52889311862A2024185029A08222A46893126EA0F341221BE31B454B168ABF84463A2FE004DD060D4201840E8CCB6DDEB775BBBD99DBD0B7DECEC99D939F3A39D7BEFCC9C73BEEF9B3377EECE9D21625CF4A77412A379310D041C2E14F40EAAF30ED3D71D4DF428970F6297487180A09BE8548F6887D634CED8578A9ECC34D0431CBEC4DD66D505A0B7D128AF9B5A35D1F842F02182672182458575B21E3C02551580FE904EF6B2F411C8BFCC1F1A04D0E93874796A3A7DEF6F9372700854AD0F603A7C6E965ACA90DFA534CD15F28323BADC91AB9201740B8D74BB691B699AE877040EE49443B7A767D0EBFE3629078F40E01940EFA4E15E17BD5F8E7C47D19D427EF04497B3106806406F3F8DDEFE16F4F6A7F91DC0355FA3FEEEE133E9657F9B94AB8740601940FF48294FD35B36F27BC2D374AF905F3DA2CB590A2403609027E975D01B20FF269B615CF3176766D033B636A9AB2E0215CF00203DE11EA38DE5C8C7ADDE3221BFBA241FCF5A450500D21DB78936C0E01C9B5174F81E41876FADAD4DEA7810A8980040BECA36D34B08E3766B288AD6A41B64DCDF8A0D6365C5FA0038F35F800816D862418FFF690CF32EB1B5491D2F02151180BB95D66384EF3E5B2820FF39906F6DB36D2F75D54560C897009CF94F1D87FC1771CDBFBFBA2189B58120901CC8C6FE6DF15BFE6AA47D6B6A87B236A466D00233E0E3DF4FCAE14160D019C06BA295A076B93514451B530D7497906F4527549583EA0380FC07739A9EB04502D2DF40DA9F8BFFDDB676A90B1702031600AEF90B91F6ADA37838D8B6B4A2F978D0AC36C94F53274DA18310772E5C340EDE9B0109C06DA67B748E9E1FBCB9E8EF09F2BBD0A9F913C07DA315BD9751B4454DA783518DACDF02E868C6355DD34B66C027AAC106E13704711498ACCB8CA075AA9EFE0DC24690C7EC1799FA233ACBF3680F021D16A433913EB6A27D8904DD94BA817645298E7EDD05A8EBE857287D1ED4529BD7F64A30A6E9CC5C17B57BCD34BB1287ABD631FA9501FA9C4170B7A20FF01AAE8189BE3AF95F8C004E14D749D01464822F8B5BC2591A90004C08C713010EF6433A81A77F46D3DFE10C77885E6529E91EA13A47D3E5BA9B6EC38970A3F5888AFEC80CA78BD127083D0E03168009F884225074AD6AA0FD56706AA8B2B399AEEACAD1268434C61F1632C17AFC06B2D05F1FB6F2A00460821011F452A9B7D369E8207F8E6C707621B900369BCED005A6FF54581FB6F57E75026D4E63B46F93799C1B8196740C01C645781EB0D54C01B3ED5B4B75EA7AFA0BD7FCD97E1C80412A9BA5B9618F75D002308189087AE935135A90F25FF1938DE1727B1FC1BF2163794802307E8B087AD9431628110006CEAED0DF847BEC64C8021011F40A2099A29DB80C14FD4680CB804307A8AE778B70FEAD8800440498E25E8FDF0854E96D5F672E26021011F49CE1980855BC202BA48B6BC255AA5806E80B4BFA047D4844E37FC50560C2161144837CE365200230073E91085CA2B7CD76B2F0221098004C58E544807BE64309458B794317EB06814005600CF84560C8C714B1A97862F86BD32E0B2F02810BC084D727023C4B7440C8E725DC6FBD2A02E8134186E81C39F3FD14F096AB260013267E223ECC1BAE58F723505501F88D4B991F0111003F07AC1E880058E1E7372E02E0E780D50311002BFCFCC64500FC1CB07A200260859FDFB808809F03560F4400ACF0F31B1701F073C0EA810880157E7EE322007E0E583D1001B0C2CF6F5C04C0CF01AB07220056F8F98D8B00F83960F54004C00A3FBF7111003F07AC1E880058E1E7372E02E0E780D50311002BFCFCC64500FC1CB07A200260859FDFB808809F03560F4400ACF0F31B1701F073C0EA810880157E7EE322007E0E583D1001B0C2CF6F5C04C0CF01AB07220056F8F98D8B00F83960F560485F0E65F53C84C6F16EE04EB8952D72CD297E7D6C519B1404014140101004040141401010040401414010100404014140101004040141401010040481E011C0378DCA2F331FD7A71CA1CEB14E973A3947DD23E49BE1E5B10A550BBEE5EA50E2582EA90F9D44C3F66E5DA6FE29E79F550093D77837E333F1CBB5D69796DB51EAA3838052EA5B7CE6F7B1B6C674C9677A8A0430659D1EDDED7A9BB5A66BA3139E78DA5F04F0B596D644267DCBC74B54FEB3F679015CBF568FF1BABC4F40FED8FE1E50B68B1E0210C1DE74327DCDF6A5EA37E37D8F00A63DA5471E73B39F11E9F1D10B493C1E3802EAFB1199D4840F1E50477B1E08E9F0B20F97255F990E84DE05E5ECC1030FF81CAE2C6147009FB055C8E4E7E3FCBE8CB43EA5D45F3D1E27FC4AD42F55539FD0A7BBD9EC2FE0169FF4295894EA04E9AB1257A71EFFB85E7515B4C86A441098B24327BB776697410C2B218461856E43236E26953A37E9767A73705A17938F2DF1B0E01D6DCBD39B0B7792F56821F0FF89BB6AF26A6F373E6BBEA9D07B73C21BEECD43A1B30A1B7AD6957AA76D85905F824B442B0C9738E3DFB5B83FCBE9BD56143721F597DC2F166F21A5C821E0D05B7E9F0DF7C800AACEDF904CD077FE3A29471B013BA7AA0E02D0297F68094A1DF1D74939DA08D839D529D3079025C6088800624CBE095D042002883902310F5F32800820E608C43C7CC9002280982310F3F025038800628E40CCC3970C2002883902310F5F32800820E608C43C7CC9002280982310F3F025038800628E40CCC3774861BA876F7135C91B447D9844BD68E514DC3B9830B0DF1F9CCA7917FAEBA41C6D04AC9C827B075387F795849653134AEAA422DA08583835DC9B4E60AB3F325C13EE9FFCA48BB965B2D40202864BC3A92596562741AA64C2001E151F91CBAAB7EBD77AE32C3B49558410301C1A2E0DA77EB70DF73DD3C327AD765B304B649A7F03A4080F3BBEAA94F30569F533D205A698C912760440123AF7FA3CAD735762E2CF3CBCE925EDF719B3BF5ADA5764A6F7F6F61DB548E5E82B6C38B270C3FF779C8F03CD37F5C27E213A215FCFDFDBE557F20EE3C43E0A892C36153D0341ED8DE99FF00E9979508B709C87A9565754CE706D38CF0BC0AC98170839093D1BE302322DAC66B957470CC7852F8B2A1A0A6E6BCC6C49E9D425984AFC66AD6210D7B80CA7865BC3712106F9974415569AF5896BDC0BD0F19B8D71C249B88A9C8101A351E83894DDDEBFBF94F91040875E23931F0459BFE37531EDE810BEF3696366B7CDA3FF00991D68D401D15C800000000049454E44AE426082'), +(40,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900000B8D494441547801ED5D7D8C1D55153F77DEE7B6015A690DA5FA0741128C609B60C5CAEEB6B5D2EEAA582521B1095A35FC81564B20D6A5DDAE31D97D2D1449B56A13CA87C68F48300445CAD66A3FDC7D048982452BC1D08255D85A1A5AADADFBDE9BF7E6FA9B6DE7391F6FB6BBE3BC37F3EE9C495E66EEB973EF3DE7777E73EF9D7933E70AF2D9C68769B920FA2449EA964497637FA9CFA9B1160B415529E938097A4D231A961A3D96EFA1C3B156BA85CAC1C7CE4D1FA6C55583B6417ABD33478D140CAE810C8FE488FAC547E8841A5605B7C24180D2D3F40554B51D574C3A78956D53F2682A45ABB23DF462DB68DC0445EB04280DD317A541DF6D421BB1AD12C69FA20C5D9F5F41AFC456C9262B364100B3DBAF491A49C895EF801400BC9C13B410C341D9919190C444577F7ECCF776FB824E6A82B6A167780E93A757F26932DA0D9772953A30115C00CD7B3099FD2C485EEFF54C5B20BB1A9EFF120EEF6F37DBC2D05798B37D80F3EB06958DE453F429D143C71AE4B5A5687C372D13357A1C4E9FED3040D0897C2FCD03516A0E7902129A30E8668F9DB8F25573BE6963470FED171AADF3D82B696E75983A3DF204083474885D6E3BCD6E5FA52BDF6E5FAE977E842BFD8F7699798CB1ADDB2D4B425A437738DF6DA814F45BB74CB1F4736E7B80C3E56E5912D21A66416F731B8A8992DA4FCA84F7B60F367B7070E3A2621A4F47BD5B3BCEF6BD564C2291E6E4DFB9615870DC1D3873D54D352480BAE6B2656E0498006E441296F63EFC890000F934E5748DAECEA4E8AFE246FA57042A24B6C9C87B80CA1E5A589274A456A383E50A1D2B0FD3EAC47A2302C32327404DA76FC1EE895B51CCCC3A301B7FD0EC1122C022914D464E004CBDDF6B471E04985921BAD22EE3E3E62110390170F3E5D521D540D63C0C125DB317FC44C3913CE39900C9F3B9C3E258DC063A348A59A277BBBC78FC2CBD3D666AD5D5D1AA24458AFEB977A378AB2E9CC60113C007ACAF4BA9ED2D541EF9F7E9CA6748E2EFB1386F788BA16BA85CC603EE5731A7DA459AF6B3D18D9967A6A2320F013E28EDDBACE3ED21B926F6CE3FAF3F74CDE12F8E7763FF1559AB15BB064BC5EE21FD833EE6D5C54C803A14CE03DC8E5EEB94B4570ACF546E3064ED99AEC1F256B337F3D3DE37C3AF4072E4F2800AB6A257588FA1EC49CC651A3E5C6302F878797453EEE742883E0CFEAF93107AAC7F3E3658620C0B1F3D73BAF28095B6EF79126847C3750C126C85C8FCC57A5B719F9CA9D7F477E935F93121E55A0C5FF3DC0A9BF399EEC1CAEF4606B28E6F3FB8077023D586E93DEBC5D9FD77675F2CF6E70A1DB9DC55788EDAF06A37841C5CBA4DCEB29BC804B0A3A1C0B14986627FFE760C59431E73A49C5D3D5BE9B3CB99007634143A1EEDCF7E0DCF043CDF7B6088B8D56E662CE7009A4173E46EEF38765EF1325E593F6937828FBD0860022B97162AEBABD2F8833D17B787EFE8DC52B9AEB821FBBC298F650F804FD5F6976A34E6F37BABB48BFE54DE4DEFB11BC6C75E040EF4670F622838E4CEC1D7518B2D59E404C06D96E70D5D4B39BF3D0A5C6318F47DBF7C96DB1010D2FB4858CAFA3710911300CEFCBB4DDD291F82380B71BB13B9FE535638A2133543FCC3D3B4A0CB2C59E400A653B401EFE44FBF1790F42CCAB5DDD7CA16F0ADDAE36F2CBC60E5D9B296247A02ACA4A7305BBD1D14386E2935D91E4EAFE2FCDF2086C99AC9CEE3BCA921108BBB007C9ABD13EAEE94BF47BC8E0B6DD7518DAFFC0B8134F5FC5810C05257BC8F74EB98F7AD4120F221A03566722B7E083001FC9049889C09901047FB99C904F0432621722640421CED672613C00F9984C899000971B49F994C003F641222670224C4D17E663201FC9049889C09901047FB99C904F0432621722640421CED672613C00F9984C81B12A05455FC55AB065141F17AD9B4DF4A52812366B4704F60018490BF4A05E37C6D905EFBF09249225F354764781A73038598FA4AAE1866B3D3631F08F0862D3F3187660F30E2B6D69074E7241F66B84F6FAB340251DE8AEEDE119ACE340071F347DBCA90909435D70B78C2531742A7E3A38C47552381B9640CD63FDAEEB1174BC6A47BA9E891274090EEE8A5BDE3BBC85C40C1DD2D76970C3A842B669BB98004AE9AC3ED1846DEB168948145A3087D9E6B83E05E0C01895B2FC88461E2A5D0B44677365C360E3D018683410BAF52A337CCADCC18EF279BDEC3F92F2374C67762AC7E53559BB80DCCF4D2B3B82EEE686A4B31AC1CCE37178EFC7852D70C345D527F0E8077F37760F6BF165D613586BE6A864A47B5142D4BF2AAA10E02980993042931B17A966751A56678208A3A71D59B1F963C9817B428E9EB069BF87B3E0C99180E883E30B17CBCB9A6209695C3183A1FCFC9DA725125B347C30496978FF7B9DA3C04B0CE33EF0E706CFE78531881FA1C40611BD9B4491060024C024E12B2980049F0F22436FACE012629E39BD57D4FF95AD2C5FB358D9E9F884FE37B2667C40581D07A80AE42E53643A78306190F61DAFD02A252AE8D8B91AC873F02A1F500D2300A68E61CA1105F1FFF1F14109E748719AECCBFF9E6E42CD952596454E526D47E45735A70D52AE41B52A6EE2F0E643C71F95C67C62E190A016E7A40CE38F566D9B1AA069C7FC987B74C3C3BF0BC70D24C143E3424E7576A15DCBECA8B9AD98EA36E33B4BC305676174A5B47FAF3773BF2629E086508289FF6FEC31695DD55A12FC7220FAD73BE65287A3D84AEEB5B3AA4775AA276D887428058196A88D7A3D4A746467794ED4FB76DE508303290D987BFFC7F305D20423B5F523EB4BA5A505128738016E839AD268A03B9355D9BCBF76228B8029351FCFFD39C0D6F177D1953DC15CDA9BD35B52A490013BAD18DB997B0337F4DDB3A874A9F685AE52DAA58B921A045B829D30C1340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A310194716530439800C17053A6141340195706338409100C37654A8542804B52643442046B4C85527FA3BA632B13F15A821611B21AF9A0EEAF4699D3C6F6A777897184843DEB2E285295396E994A69D87CD46D0F62E4FECD2D8B326D48D1C007E284A55328043857993C66556AED113CFA1AEB58C57D96B23B7185D5035382102FE5F39947E364AB1086C707828CBAAF422480F8B3DB70C4D0BBD92D5329BDB75F1C97E91C96A1D53E2F34F1E95973B38BF6ACF7F68451D9BCF41B728E24E1895C8A7594EABE0A2D4E20D8FF240244AF72182BE816046C1C3C1FB3CF91A54AA2B8419C822DDF8BA33DB5717D23826667ECBA216EE699191765114DF5DC165A0F2045E61708D1EA585B148448219AE68F57DC27675A0DF2BE35082C29E8379290EB3CAD09DA35BC4E942D79680418DD284EA017D861555CDF4BB9F03FE5F2EEAECD726E5DC6074D4560C950E9A69A341E372F406743C248A7FFB714B099176A1CDDE59BE5A588D57F58929CE56C180D61856EFC0A1D1DB91FFEF22E71D29DCFE9FF1F8165F75416E8BAFC2ABCBA1A7192BDBE15F4707153FE367B4BDE93ECB9018E97144ABD35433C85B1A761EF8231A80AD50E618238867DBD2B0AD01417A9232067C391576281CC77D645EE03210EA56767171F582BCED8B3422780593956CEB8038B277CD3DE101F4787007ADE6342E66E181910AFB9B5680A01CC463A87CAABB17B185D5187BB514EB70E01CCCB5E4865B2AB0EF4355E48A361371D867AC54DB99F64D26231D857BFE508A35EAE638A08083C9D25B1E5B219D94E3FE79B3535AD07B0ABD955D05792343E8731AA1773838BED797C1C3602E22FF0EA131D99ECB77FD527C62E547B4B08602971CB6332FBE6117D8121E57C2CE23E0F2B6DE5AC3CDE07474090760A5DFD58CA48BFBA6F401C095E1397640418816421F05F7AF90C37915448F50000000049454E44AE426082'), +(41,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900000DAE494441547801ED5D0D901C45157E6F767776EF083117408829AD42829152404AA2FC24E7012181A004F9B10AD1124C295A9128559084E420075C024928A2145052964129F12794226591230992E312E52F42156A5148300A462501EE7292DCEEECEEB45F2F59989D993DD8DCFCF4647AAAEE66E6F574BFF7BEF74D77EF4C770F91DE34021A81F422C00793EBC3BFA1C3CC76EAA894E910CE512668DF724455DBA07D65417BC6CDA2DDCC2482D6117579892780D846EDD62EBA1A91B842083A264200778200F7E70D5AC9E7D09B11EA0D5455A209507C84660A9BEEC37D382950545A280C000EE16F7EFE3CFA790BD994B9D450C692160D19E9A37964535F9CC19726A3E6996013DD5F5A4F37B4E882129727B206283E4C6703BD3E801F783B3FC6A87CBDED3CBA778C65449A3D7104109B695C71845EC6ADF7413FA4E0D020313D87B43D7EE96394B5A39FF1299471A45F39E81314F319FA18CFA657FDD255946555346A349B8AFBE81AA4FB05FF1504E01B8539B471B4FC41A4597D34CDB6692D6AA04F3ACB03390A56856E82EC0AA75CE5E3C4D50023EBE915DCFD1F76828AC0FF23DF4627F11934E49487792CD653BE2868003A3EE3D4B3BF16381CB5C05EA75CD5E3447502DF7A988E72075F028B3B715E94C1973A790E950C932EC71D64C9F3FA56AB05AAB53E4A5DA4F43E5104C865E8300F9A4CFF699B438F79E41108F267D30B82E9598F2AA68F7B648A0A124500AED238378E2C7C02E0BE28C4733FFD783611DB7389565D4D14012A4C9E4E2BAAFFC1569D0EF27AD4005EFD4C6D41EA08B3AC4411204C20D25AB626405A23BFDF6F4D004D8094239072F7750DA00990720452EEBEAE013401528E40CADDD735802640CA1148B9FBBA06D00448390229775FD7009A00294720E5EEEB1A401320E508A4DC7D5D036802A41C8194BBAF6B004D8094239072F7135503E418D3415D1BC6E5B7BB44919E6222887700A8A072A4468C4159A2086067E92D8FAF4C277A64510ADE9E2BD8A011A4F86F8340E1936411A0E89DF029178528F6D1D43830C644D5C3312D699A4737D30E8F4C5141A20850F83CFD0B55BE671C3E48702FFE22F7A5344277635EC2A1CED8C23EDB14B4C12953F93872D0C60206AA56D90758E72943D0A958A06183D8D03869D4735D4002F1084DC424D55F807497788A64DA847983BB3D724505206CB236F17B9A5C2AD24BB8F33C9D2F10642FAAE427B03EC0B3702CF0F501C0BE76947B12749C06FD13DCC841BF303234CD9C4D7F72A7A97A9E38024820B142C87C04E04ED54005016EC3FA04D7AA66D768F6249200D2A1E27ABA0355F055A33917651A82FFDBFCB97411F69E9FAA51DAD1AAAE44F5019CCEE14E5B00B0AF0183AB4E791CC76CD0ED08FEC5490BBEC42AB135403DD0A54D749C28D372B4CBE7A359886CD128041BEA6833DAFC2568F39FAADB93B47DE20950075C3C4A87952B34A75AC5224D4493306DBB504F73EFB70DCF9AF8F79113C63BE51F6D7B7EF8E4F11B475DF0D1C0133ED4EFF221CFCB8502F5F159B4D35946128F0F1A02B402FE8C5E6B8D10F6F79C79988DEF6FE936AF76CAD2709CD83E401A8213858F9A0051A0ACB00E4D0085831385699A0051A0ACB00E4D0085831385699A0051A0ACB00E4D0085831385699A0051A0ACB00E4D0085831385699A0051A0ACB00E4D0085831385699A0051A0ACB00ECFE2CB61DB7AEE1D223F324247646318C459F7AD5429DB7897DBF0260F6FC5EC99B78A8FD4AF896A8F8F4EFC6FEB75EC19E81A95FED0DF069EBF521CFAA655BE18AFCF2FC0E883D38510DE35FFA3F256513D4C5C04367FC3D2F3BF1306ADDBB234FF7C54A68646804BD689CC6B2F96BF65937D039CF1FBC64F543E264B0F8306821E30C85C3C703DEF08DBF85008D0B5464CA8EE2DFD0A63F66685EDC0C15A3E33EF31585CFAF8D2425F983E064E00B4A31F2896AD3FE04B3E9F08D3F07494CD36C61B5E8626E19761F91BE8AF0059ED972A2518AB831F4CC084815A746D57AF757230E5794B09B406E8BCD9BA126DFE0FBD6A2061DE86FFAB98CDAD672DA1D77A9813357CDAD7A70084B2933C5C2E4FAD0AFA326E9CABD001F0F965C67F9D34D53CF1812FE1AB49016F811160D66A71C848B1B41D3FAF8E72DA881E6E053DDB9EEC69E6CAFE33B8E24CD3C78D08C83BBD2AC47D20C1718D29448661CC1B586AAE75CBC77A1E581350B4ACB9EEE0D78C63BA79EBD2FC721DFCF70E557FB7B90D35E46C5497C3EEAB6D21BEED9605711E1801F064E502B741E8C93E9B39DD5CE196EBF3E6080C74F3AB86C17EA3933F7D66AF98DC3CE781A504460016E2548F094C6BF49DEF41E53D05672EC9FD0417ED6AB850082E93754A832C8093400880A77BE84B7043DB2F6D63DBC4CF41BDB58A80EC20A3EFF4A4279FE00F7964631404428073D650875FEFD598989C79F263C431F8EC2C1A6B809A067144D08A022140C9F65F9DE3D06CB266CA060DEE58CA4387DAFB3399839FFB180801C6E2A8CE1B2F029A00F1E21FBB764D80D84310AF019A00F1E21FBB764D80D84310AF019A00F1E21FBB764D80D84310AF019A00F1E21FBB764D80D84310AF019A00F1E21FBBF6510784C8973C67AF1C1C5F299A6DD942C66C66AD6570DE2EF185EE74A360AF33ABA3AFE357310A16ED1B2A76D184E19E9E748C12EAE911463F0D8DA7F60985AC5DF4C5B52A72D3CA95EA1427A63923F3974CA6FC67A7ACD971A558B5B2056B64D3A28E61BC96C79365FFCD97009DAB8AC70A8B1622CB5C8C490BFC0584AF29CC8330F361BC55581DE5B8785F5B4212CE585E3A014FF8AFC5BBD3F348888E90D434148BF50CE5C2D50FB149AB0616165E6A48C4490301BA368B6C656BF9564CE2F8AEDFDB3D77E670CEF12A94C58F3393F30BFAAFC084898360EBBA5714AA3B4B58DA96E761DC5F2CCD6E6D681EF10FB2D3738B9D6334DE2140D75D625C75B0F410EEF83355C01C063F936933E7F45FC3AFAB60CF81DAD0759B38BC3A62ADC70D35ED40CB08321F6A84C7321DF9B9FDF3B9F6F5951A1B655B5F1DB47EA64AF0A5C312B06AB1F4EB6FDE23724102106559D276E9832AC1AFE18A1BFCED58CB413C44B521C89DBDE5EFC0C8B9CDC04127E20D44643BD2BDEFA89B657A1F72980023C4D128FB48BFCB41C8CE17765BDD485BE697AEBAEC855DD6F5E87D7536B593E935B4C23B6A93C19A5E74400906909DD26C1E26E4733B9797E7A3E43B598E4B1F2C975EF6EDEC313F98CD980BFBAF6319FCD036392BB754B16E82615F732B01F9F6664C734AFF42966BF42666EB5A258EAA5AD676F87488DB68F8F4D37CD6BCE1D1C5FC8A3B2DC8F3AE5BC4944AD55A850EE717DDE5CACE61472E7F4C76B052BEC837F806F76038F78DEE8C619CEF07E2F2E9BDD6D324ECBB9C3A2480D572E9AB90AD76CA553F963603574FF0898DF95893F8EE28ECDF7FE35E387D796919D9A2C7A953C65CC6DE4082A7EA47CDFCD4A463CD5E6786288EB74A6098BD93216DF2D818853D63D2E167337CABF938A6825BCF2C632963EAC989D81B82C5F1EE0461F0DA30A621B9F5F89D63C1FF1FB9E582D863A3FB1AD5CEFD6CF6F32D0ABB652C654CDDBA64EC0D123CC99D808731B17DF42897357D748BF15FB847C4FA85500F46A308D06CC9CE6DC3F708E4E5FEBE8D525090497E3145ECF133D00B6C8173BB83D4DD4A591DA6FF50F2A1377CDAD3560A8EF0DA1B6F6C7CC05657DDCCB77A7A987BFF988AF6DA73803015EBB2D546401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D2640E810ABAD401340EDF8846E9D81592A9EAF505846291FBAE6260A7633F9EAC638DBC47F6CA2996F4DA00854EC1753197BD4003E8B1257E21B872F462A3E7300D8DAB29886024524C4C2962DC36C4762CBADC2DF37F755219DFBC654EC323081E19F1E95B638CB238B4820AAB657378B57C156809A8CAD662B6C765BEBEB9BFBA2B0CE7D622A636F80011BDC3A9170E5F415D667DDF2B0CFCF58599C8A282F72EB4135E5B1D17D8D6AE77E364BDFA48F51DB2A632963EAD62B636F880CADC37CBC86BB0B335B326CDB0F76AE28CE71670AEBFC732BCA332A65EAC334F5825B071B197C8A2E599B9FCDD237E9A3F4352A6F640C652C654C1B7422E632F698C24434A3B784C521C4650D17D44F98FAD19E3D894984DBB13840A0EB031898C58E8F211D8D2569A6C9F5A8D01FF1FC2AC134E68D5BBA0BB3EBE624693FA3B7B801B37067796DAE2D83B30977E533E885EFB06DD967086E038886CD020B4C89535072975FC968A6EEDFD29DFF4A6D81881C998B2C2ECDF45DA8A15680E80AD8C69A4D70BCB6BDEDBD1F063C9CCD89057E0E244196CDD182B2C54F2310AE7982B50F4282D462366E80C05DA9C13A5AB1589842C65C2AAEDD718F75F3CE8C91C12202BC2F706B0EB440E6B29111976E5E5478F1408B883B9FB45DFA8026B61CB72DEFEAE77D32D632E652F64E95FBF892DC134696A7A3CAF5F45EDFCD1CCD11DAA5D70D32660E2C29AC8F4663785AA40FD217E953785ADE5FC932B632C632D6F51CEF10400A06AE339FCB67F3C76331815BE2A90D186B4E1A7764DAF2C70D74E706EA46267D2F7D913E49DFFC9E0F84EF1FEF933195B1953176EAAB75029D82FAB1FC142CBE023E5BD83C03BDD7C9E8A84D445AD3EBEBF95ADCA3A5E22162F16FECFF98CF987D582E664F8B6524EA72F975F552D53A17EDFF69589B019F811313E040E0B8A283F92682BE930DB1A59033376CBC96F7260A286DAC464023A011D008848DC0FF0189D4E5661AC3EA800000000049454E44AE426082'), +(42,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000012C0494441547801ED5D099014D519FE5FCF4ECFCEA2A9403C2026C64451D168AE8A154B1634A22046C4A4D6D25C1A6244A20972B9EBEE724476D75D40E27D6019CBAB1295285A012151615934924A4C34A858094999182460098901767A76FAE57BC3F61EDD3D7DCCF6F4F4EB9DAE9AE9E9FFDDFFFFBDE3FFDFFF7A180DC36BFCCDFC332CA7DDC4894E624C69E86A4ABE300CD9906F321B4E0DAF6DE347323DDBAC139F459C27FBDACEE87900A1BEAB497DB58F364C7E0C0B009C7D173F2CB74F9BC3392D80E00FB7952D631CCCF84592AB0B5F5CC876D8C6892131D600B8FA3E9E7C734FF60744FA22E274B427F931960516EE4DABA9965F2F60BB3DA59138522C01C0396713DBB43A9DF33608FEF862E4C388FD8F182D4F8C54576EBA16BF637AC50E00139666BFAA93BE8C887FC959664C8780F7179C12FA13EF5648B9E9E4A392AB56CD64D97E723C7EC50600136ED6BEA0E7F40EF4F8F3DC4483DEBD2EA1507D2AADEEDCBF3FDBC8885FCB89573BA663B44321D6D4D9A43EC1304738C69528507A0008958E7AB4A5E8CD97A3373BB787B157D09BEB373727370F94D18416FE494EDA522C12BF839143191866FE0DE1BFCAB952BF6561F27973988CCFCE0C8B708B0AAA747675666CBBA250D3E6C6D45376C106ED9CF6CCA93D3DD48135C48506ADE03D26AAA37400C8AB747BB5B91883E77B98BF7792A2FC64CCD8E4034F5ECA720585690A98D896AD15D309A685334D41831F63A03A4A03003F2A1D86E9FF4052CB46D7A83F7D722E3B38586ADE9F26B6642ED139B50208E31C5349AC3A461E007E543A083E43C4EEAAA949B66E98CB3E70149AC7C0BA277862D7DBD9199CE98BB1C03CC62999501DB1825851F551F5165954C7480360FCD2EC241871DA3DA974448F5627D585CF37B07F3809A9D8B0BA953CFDEF03DA6C2C14EB31227CD4251F6954C7480240A8743CA7B783D9E7BB309AD0EBD72618356C6A4A6D738B1B44F8E4957C940FD5F16FA81F169FEAE3B84752758C14008250E98210B2973CE2A23A460200E72FE7471DD432CD50E3AFC1CABE7F97CE4E121E553ABBA4A5A0E555C72CB5635AF89A6BFE11541DCB0A0043A5C3E26A011878980B038B52E95CF20C2CF8EC96ECF81CD797A11DEEAA23A7C793A4364761D7B12C00E853E93856D6444739490173E77F60E5EB189D566F1D8A4AE754469061BE5447E2F7A553A9A5E5DC750C15007995AE55BB140E19AD6EBB74107CE02A5D908276CA2BAF3AFE25FB3DCEF52551571D4303801F958E317A2455A52E2A954AE724BC20C3FCAA8EF04A5A3AEEC8E47D61EE3A961C00B5ADDA1789EB374751A50B52D84E794559752C19007A1D2F5BA0FC5EE665972EA12837743626BB9C18297B58AFEA78133AC377A3B2EB183800FCAA7409A2C6CEE6D4D3B20BD74FFDA3A43A060600A1D2F5ECD3E6C1CF66BE17958E91B264F449C99FF9D9A5F3C36419E24641751C3200844AB77D77F66AB8612D02D35D553A14D87E748D7A9B0C2A5D5820AA6DCB4CA71CB5A1E3B8EF3A06AC3A160D00BF2A1DAC7C778E18916C0B6A972E2CE184558E5FD51182BB4519A5AE18EAAE635100188E2A5D6840F0B9EB3854D5D11700844A07E3463B8C1BEE8E9721EFD28525A0B0CA81163512C7D71AC1EBEB3035B839AC16BDEBE809007E543A3845FC564928F57157E9C202825FD551C159C7CEA6E46FBCD6CF1100754BB8BAAB2A730B2736D3CB2EDD7054E9BC327AA8F184EA98EDA19B21878B5CF3CAEF3AB2795D4DA9D7DDE23ABA40EF4BD311305A5CE722FC9D50E9AE1E73A2FAD9E1A6CFBB3137C8F08D0DA937B634A7A655B1442DF6495E76CC9BD324C86DB6639CDEC02A2F91ECE260A8DF079B7D4745A5B3E34EE9689B9A935B90FB599E554797AA388E00F6699946A4DC5233423D7E7373AABDA2CFDB73A9D4D4AEC6D49AD127A9A7E1A0CB55286B67B1E5153302FC79CB42757EB10556D205C7815E2BEA03B52D99636197118638DF57112380EF322A0922CC810A00222C9C30AA560140185C8E701915004458386154AD028030B81CE1322A0088B070C2A85A0500617039C26554001061E18451B50A00C2E07284CB28C61218E1E6B8570D9B248C36D0E82CA38FEB3D348614FA38F6DC0FC7B6E82E5DA19D38C3BB33554DFF62E7506C5F0D37904BC302007C23556732742EE97471F73A9A0606F4BF34523FC48EFCD96DBC4446DC3307891F5C475B313CAEA1043D939A4CDB07322D4EBF630D00BE9EC66472B41802FD167ABEDBE1D33EB9E64709A2AF001B5FA11E6AEF5E4BDB9942ADEA147A0C3BA079ACF44596FC472CD7007C1D7D043DB805C2FF2BA435D38FF0EDE4893C4ED6757A24B38E5EC508E2FAD20ABB3CA24A8B1D00D05BCFEB26FA2BFA691304571324E391DFE701A60D28638D00599079972BAF5801A0FB39FA3118F91C847FA40786BE8FE1FC757C36E0B31A4BC32D5808C2B992801FE70B40B838C3E995EEF5748273CCE887C6620DC07F4FC9CC1EBA9BEB7455219643B03D00C62684AF4955D1B36C32FDD32E2E7A78A2E739C2CB1EE862844F87B03F6D1B8F681C16955B31D5D4A5A7D28B767164A0C502004EC287E021537A9C546AAA9E447F73130AE28B174A768A0F12CED3D6D3650016DE156803044EA3306AFC4A5B4B13D40BE9F76E7947315CFA29400CFB857A3E84B34D49D097D1432FF7227CB38004785217D0CF53C7D1C90AA37A3CF798E300186920668DD038CC61323C4B0D00B1E0C330BCD28ED110D6B3A91A3A539D4C7FB00BF74363A792969A4ACBF012C8F3B156F8C026ED31DD398000F6069BB04893A405805885E3DDE08FA107E238C2E00B3DFF76F4DCE9415BF3D2536823F23E03A5FD637089F9A733606F5862438F34495A0060A97E83DD6A3FDFF3A7D2F562F82E05E7ABA7D28E4482A621FFFD36F9CF06303F61438F2C494A0088F91636FB3966AE8A393F95A66F954AF84679B008BE8632BE6B2E078BC66AF8CCDF64C493E12E2500323A2D41F71E64E411C250AAE8CAA087FD4242C414F31404FE98391CB42B32EBE954333DAACFD201A077A1F54D33430188C78358F099F3757AAEAEA666000FAFB3EBBF500F055AC995FD9468FF920E0062570FBD6CD0C60E84D0C3A0E787CD6A762EBD8395C6DD96720F19912CE42812A40380D8D2B5301216BE62F47C4B3E451058821E3027C32830161B47A798E9517C960A00E8F90C9F69368C5C63430B85949A426F6004DA61294C9251402A00084F1E30BADF99A397EBC2B66F1140980446CF988BD3197DCE4C8BE2B35400106E5C364C7CBFD0C68E4DDC9290A07EFED19231B7ADAB255AB909520140CF59998AE1B7E8A3D141311F7F2C65A903EA6507D6A08A0C2C1FA900003BBC75C3C586F98171C76346D870B20000DA81B5AE1EF30B339A5C0080F7AE8539ACFCDEBB6ACEA60E8CD258B05AF6292CF52F33412A0060AEDD65E617542EB1302CEB95E5D63AA05EC2E348F81644FA920A00C26FDFCC4DEC09947DAEC58ADF32DC8BF305E6BA46F1592A00D832158BADB20FB59C8EB511EE7B36B4C891A40240FEC48E699B17C2AF163E7C65E6ACF5CDA9CCDEE7B0CCF5B4142F1500C44E1FE6D6ADE656F43A709AC9A13CF397298D822C00C0411229FE5E5E2A000889A2C27666DFE91809B0460CFFD2F6D1648072F0D63491A61E06F774092EE90020CEEA99F90A017C5A78EF9AE9613CC30874A34D392FB2F1F4A10D3D7224E900200E6AA2AB6F377332EFBAFD069CBF43BC32CF511D8A133E82832F859E1E4C88EE93740010AC140735CD2CCD8F02EFD0F5667AA99E7118A506D34E9B257F46EF62B1FAB0851E51829400C89FD225FA9399A70041EBC1F5748E991EF4B3586F6476D3C3B89F60C99BD3222C56BB2DF48812A404002C6C1CABC106334F21902A388CACC609DEE3CD61413E23FFC528EB1BE63C31356D83D7F043667A949FA504806068F50538D449D60521A0310AC279118BC2C0F7E3912F3BB836EFFBBFD82C54D445C7C111E18E8ED70AC873490B00C1E29470CD267ACB86DDC7E23CFF4B58A47DDD26AC289298F391DF93486C117E3E431C1D4B5F402F1495791913490D003695FE0BB5709ADD712DF4D611F8AC468F7D84BF409F1A0A8FC56A1F73FE6BC8CF32ECF70AFF210CFD2B865246B9D24A0D00C1B4EA29781904511D46828366268A211BB46FC393F86D9C235CE9C75F5F58F8E0D8391D00DA8AD1E409E4655DF01D2A70330E04CE34972DCB73952C1575AAA7389F2F8E6863EF5558098F31C785F052A0CDE1399A8305DC0EC0E21920E38FC29347387388FDFC6C828ECE7B1C898D1D4693327BE97C6815832C7CE67C11EF21217C8C44194B982484580040F05A9CCFC791B12F8B53BA78B41A677A0502301C8F85E25C08377FE15571877436DCFB2E23B08F30F807C0A343F8F5B20EFB035B23FD1430B0316C0ABD575D4313B112EFC0A724BA3884BF4D1C138F83F005EF620500D120618481701A30E68FC54B1D1ECCF7561130D40B163E643103EF09F89C8CABFD42CD8F1D008C86625E7E17C29A81933BA76334580120FCC508F37A471A0D9FF5303DCFAC4ED3D8F4850094647ABE5B5B63B30628D450717207610BC4277F5C0B2776F28736E04A06618AD7C48EC17C9EC6B4FF3E84FD1E9E77E2F99F623F5F6CE9CAB2AB57A8FD6EF4D8036020033022BC8967F11974616198001822EFC039A8D2013DC4760AF0C39FE12A7CC1A30A00FC202586712B0088A150FD34C93700305C7EBE76A9B6725A07B79ED2F1537225EE9039807F0B65B5ADDA957815E60F8BCDCC3700506882933EE7836CE62DFC65A9FDE648B1B5A9A4F3CC01F177F2E07F27D7F507A1C11CE139A129A2A316A088B7EB16BA381DC389AF1EDF82BDB2847ADD961B99EB6B580B6555A17BE7C045F7F19ABD7BB485D91E9A8754C9C229F940E376C1688E23C0862686D32DCA0C0CFB7B0AE6C0F90594D3B6018D8D754FF0509D320BD629A601135BBA2FDABB27F32686FC067C6C85CF18CB31A6DC5A35322500E27AC1F6E17E4D5EC947ED3F90590643EB0C145C380D63DB134CF961675372A37BAE95185E3930A1857F9273ED768CB8D31DD330F64AB28A5DB3B1417DCD31DE80C0C2C21C10C9F839B12D7BA6AEEBF7621D70BA41B3BB03858FA453EAFC5F2F60BBEDC22B346F1C387B23AFD25FCA5C0FB78625E0F98882A918DBAB70766367737215785F78DAB6C9C0170044FABE4A71B618881CF4BAB641F9F756EAABCDC9FB973026959FDCA07694E9A1B62D7B16E5F47BC0E3D39CAA203A1B29EABCAE4656789A76C8C037008CBCCEEEE09FC869DA1D6EC3122AF83BD859676E6A522D6EDC465E957B3F07CE6DE31FCBE8990EB7E996117B8B12CAACAEC664677F6AFFBF8A068051546D6BF785D015EE843DFD388366BE0304B0B3B33B4626938B9EAD671F9AC32BCFF8BB3AA1D3B764AFC466E33247B58EB183D8AC6A3DE50875D9AA992C3B54DE0D1900A202752B79FABDFDDA62546C6EA1D569BEA20C7FC8486C765773EA9743AD789CD20B9D3E9BE5F7A04DB54EED02EFD63152AFDBBC90FDDD299E9FB04000601458DB96398572FC6E2078A241B3BD3356B11D8031799D7EB7B6C8ADE34048EF1263D797A2E3040A0043D887CC9318CA9CFEBDAB77281B33565DFEE4A54C33D20E97BBD0E9312FDE81E9F35385DA8C1E0F630EBB23312AB968D3B5AC247F655B1200880609DBC18103990EA830DFAFD80EFA453CA99D1F9BC96AB7B92E9E89FDB62AC966F9D1E9FB4BF1FEAB640030AA50B11D1CE2449FFA5C429DDEE0B99F7BC901202AD3D77817DB0186BC7DF834C4CD7610964EEF47F046DC50006014E6D976406C6B4261D7C86E3B085BA737F8ECE71E2A008C8AC5DD76E047A787005AC61DA92E0F42A737F8EBE75E1600880AE66D0707A00211B6350BEC6CE51B226C070A54A0C6D4EAFC73C4BF3CEBF48CAD655CFD51903A7D31AC291B008CCA4EE8C88CE31A87CDDBD976802DE9F53C91BA36AA7E0751D0E90D9EFAB9971D004665BDD80EB040ECC6B1AC96A8D90EA2A2D31BBCF4738F0C0044A53DDB0E88BD9D509459E5F63BC8EBF43DD8A7E7FC6227A603B8A1E8F44E7528141629001895F46C3B20F668BA5A9D17B6DF81506B732F67E690506B5DF6E961C26DC08EDDFD7EF7E90D5E94FA1E49008846E76D072F6766731DCE100E7E07C2760026DF786E537255187E0742A78723E6BD58B87ED65938EC619650E717BB4FEF9C7770A1910580D144613BE8C96AB783E1971834BB3B805052DB810C3ABD1D5FDC68910780D18072D90E64D2E90D5EF9B94B0300D1A8B06D07799DBE8763B8777E1D3DE6F748E8F47E046FC4950A0046A54B6D3B103AFDBE3D1A7C1EF10FE50E462A30EF5D9660B33737A69E32EA26DB5D4A00184C9ED0A25D81534ACB9DFC0E84ED0046A4D6A34F549779F13B98D0D63D0D6F05C39AC3659F9EB1DB1323938B4BB54F6FB4B1D477A9012098D36B3B6887DFC155E8AD0EED71B61DC441A72F062C0E0C2B26BBF2A529D67610279DBE18EEC70600A2F17E6D078AC2DEC8E9FADD71D1E9873D000C0678B51D18F10BDDB17E08C4F7BE50FE51A0C76A043033D48BEDC09C26FF0C87552C1C978E3B425D51AE7D7ADB7A9580186B00087E09DBC1AEFDDA422C0FE73BA974066F65D6E98D36F8B9C71E000633DC6C076084F43ABDD1563FF7610300832966DB01E6F91E6C26C542A737DAE8E73EEC00209863D80E70E8E2549CCA99D5D5947ADD0FD3E214F7FF64D4D4DDA8405A3F0000000049454E44AE426082'), +(43,'image/png','img','89504E470D0A1A0A0000000D49484452000000800000007D08060000006A326B0C000000017352474200AECE1CE900001C7D494441547801ED5D099C14C5D57FD533D33D4B0C41A306A249480415D1A046A3C1DD65B90534F136422E35F1483C123F0FD85D22C22E8826DE62F48B8931E20F91EFC388BA8A2E2CBB4B5063C41304E391080A82891732D333D3957FCDEEC07455CFD13DE7CE6EFD7EBBD3F5EA7A55EFDFAF5E9DCDA882DDE98BB9EFBD8D91A944FC2C467C2871369813F7A7A8F2FB8CE875626CB54FD76F6CBB926D4911AFA2C8A87365BADAF9E16156842F234E07B8AD212316621A9FDEDE10BCD96DDA9E16BF220150D3CC07711E5E03E17FCDB34018E31AD10FDB1B8D859EF3E8010951C70A743C3C3B27E18B26E19C599C169C7E03AFAAC016DA55A5CA0400D1B85D35CCE981F7DFFA59F4E89CB228F3C4A90CA232673B3D7B7879F7C52B6C8BA4917681E50F3C196414B505C0634589995A642059D603B2E6E064ED23C7AF247F4502C051403A6FEFBC8ABDE918D645FC677553781B80E3DD6E489379B906556A1790B7F6669AA44AF296737964D40780643970AAC851517215E5E73E00C82DD2CBFC7D00481238C30C5092B7EB91F3AF9F7827EFA7D02B84D0E38D40219C8FB7478FB1C83A962C3A96337E0CC6F079139865D16FFEF3BE795DCD9CF0068C2BD66A1A7FDEE7A747565E15DC500918E8910038EF4E1E58F7417822B3D85408E77BB0DC770BDC3EFA7327A3943600D790ED3064360C80986A99F41B8C185E81BE5812F0D19295D38D57DD15543EB10B0E80599C6BCFDC4A7BB45CC23ECEA5DA1C83FBDA79D191C463D3D66F33CF806DFE452CECE492656E69393F14C51F1AB16816C0F01A325BA273FD9E1533D91B5E3316C0BEF33C8A324C437BCDC36D3AB5CF739B438AF8754DE6B151E23F43554E81A006A07BFD10EFD1C2A0CF68786A3AFB284532852C56F4B66E8CFC0013328D9CD310254296044D6787B45F65AC4F171D825C8BEEE3F07471D285417031842F667E9AD73EDD78395DDCE4B0DAA6F03448FC4AD4EF5008C442D8720C3F178EA9D717CD624CF80BE6F20E00F1C6B7369B57A3328D50CD8A910920BCCE983EB6BD91BD93AE5689A55CC6F94C006868BAB84E6130E8DE81467F1A157C01E11B06F6D31F7BF032B6D3296E8256378F0FE65674A865F1215CB34630CE8E80600E0328DCAD07E00D06F097711F9BDB59AF3F93C85FFE8D6BB5E6F02D68AB8BE430E1471D5AAB0C63EAF22BD8FB4EE1F9A0E51500109ABE6583F97F10D809699963F4A646469D1308048056349B67A1E17F8D063A306D3EDD8100551465AEC11BB8066FCE33864F7FFAC9ABD8BBD9A4CD14470071FB9BE6C1D1181D0120C0C0A493C0DBFE99D225C221C41544DA8C8E46FDD9044DFC760B7F01847F41325D7966B4D9AFB1716DF586E866F2EEF20680B8F0379AFF8F8A4DC98A4B0710D43487BF8906F9135A272B350C81FF156FF9427F30B0B8ED72B63DAB72738C240437BA39720C10771AB4F3A9E07770E62C61AE12BB79C0BE81C665E7B3CFB2167E77C610D2169F8F8D2E0408F2028049B770E3D38FF1E6672BFC448B7583403B8EDEB3569BD3B1FC3A13EF869E0876FE651BF056DDEBF3E9F7B7CD606F3BC7291E15B6CE5118829E0D5C9C032D144C5732F87E8B71DF059CC54ECEF8E64B19150A043903202EFC8FF0E6139F2CF11CF76A8C1670C63AA03AEF01400C250E4080DEEEDF78EB8F52C2920878DBD781D9D9AB1AF4C57886162E2F37B6997FC9E4E66560EC42D4E5F35EB843BDFE8C8E7F0559FC56B4E71E721E8500414E00A85BC9FDB14EF32FA9840FB537A763A6F16B5191DAB9A1C9DC62A28B504120D734D9CF98E8FB668F6BD01F28B4459C5CACD7E7BA1BF980D867E6C500FCA5A8EB17B3CD47087F6C83FE1351C79AB991E328663D9E0A04DC47A33AEB831BB3CD3B5DBC9C0050D314BE1E95BCDCA90054687647A3717572D8A8E6D0248BB3A5598180D156E471F9D87AFDFE9E20F8E47A8A6768C6FE9F7E12BE165DC305D00869DB3959F8897C0408B865B5386913BC58EBAB82FAD1181DEC48C4F7FA9B96B1749956CF891C4F146B718AE324FC44BC6C40800A2ED27DFA45ADF5EC8344BA9EFA3B6A6EA4C6B2ACDF03F48E231A27E127EA9A16048CFD112FD83989B85E7F3D03A0A629D402430620B0BB74C24FC44C05021849DB48633FEFA8379624E256C26FDD1F7930B6C9145DE11550EB49B3AFECDE718DFAD9E9345C2A10E02589924FFF72473DC32616EF4E99A8C926AB9AB91CDBA4D878392E63DA0DB2DA97E308FFAA86608BC6F8C9004B785738634B31E97168A5095FD4AFED6C16822D54CFFCECDB68B7EE45A4CCC217693BEA03ABB19DED04622C22FC092780C4ADC8E909BFD75F4F00E014F906549ACF56687CF62B709B8D96C69300012AF60980737167A3714A2167BCD2B052B4A0F619FADA7E41FD5BC4B45F647AF393996A6F0CB4E360CB9A649A7886BD78B04C73EBF7D40554CFE3DFA068D861D10363744D1FDDD1C0DECB9611612CE5BA50946D593D355E4D937923E7D62F65FEA141AF86C69D2DD3DDF83D6980CE19EC4D14FE925A103F885BE64A7130430D73A6F409DFB95D12D454C217E13EC61E4EC4F3FAEB0900A2304DD32E90FBA52E26DC83C02BF3959E2E9DF049A3DBDB1A74B1D09593F30C8055F581353002CEEC03414EED9F32715AE133F6A07FA4A1740929334B13E0190022CF558DC6D27420206EB6B9E90ED2F0D9AB82D20A9FD862FF71FAD4B6D11806E6C1793202E5726BE6864FE2162DC6AC55400E83ADB091985EE7C63094F3E84DFEEA39E64DD81372A9739D21FC6A7D5ABE842FCAC849032498C4D8FD21ACC39FE1D41DC467C02CB355AC1B24E2F7FDA66E018CA6073886327A23DFC217E5E40500222301022CE5AE12CF0E6E493E51EB907FC590B073E942C71116EE3988AD314FCA7745F30680514DE193B102364E66107DCCEA8107E9D7C8F43EBF730BC4B7AD31FA21A6794C2586C51774CDC22A219E097901805802B588DF2E73012487FD3A9DFBE019F1CD9272709F3F450B7434182F4137CF9683B1F6B20F59E61D323D177F5E0010DD61FE16CCA9933F8CAEA9940314B934B297B4FE91FA7CD854CFC96961539D3AAA2974A24CF7EACF1900A3AF0D0F47E1672B0C30F6826FA47EBD42EF2364D502C2668261FD63A145E50416B15932CDAB3F67004422542F6F78104B959A8F9DD367F879154B573A18D6EBB095C4B6A94684400B1C891D56DFCD2DF7AED4390100FBE887600DFF4C8511C66E132B5F0ABD8FE0BA05060DD56F44A27FC909B1BD4E01861C271B7F4E0088C6CC19F2B230DEFE904F0FCCCFA6F0BE38995B0006B489E5F279724CA105F2610B7806C0B86BF957C114862B7687E35F77F7964B16ED352F9C6FE081813F40D3BE239710E3B96B010CD3BD396C09BB1596FF45B6D4D8B512F4EB4370F64F5159B67845F2841EA303D070DF46256D670DD0AF7E08FA26CC5BBF4313681B9EB19BBBBC1DD6072EC09E008721A06F7CE7CCC0535EB9F7343D1B3F9EBDCD9C0673442A97DF5B2EC2375BE8C73868F27B1CE74E59C718B8672DF4F1CE47E96180E40163300E650E27750246AA6529BC420B6CD918AEC74BF795E4F2B12B0857E192670078EA025EFB203C1EA6E89EC98C60CCCAFD3EE35A1BAD441E34128B71BA01BF29859F600D71FAE319A78F6959F86DDA1A7E0CA7745FB56B8C44DC52FE0A5B003C62A14871A788C3390A354B8227005831A65AFEC457E3A8D63FB22CB7B0D1D651006FB410AC2B87061E00AD313FFC4F7A15DD47DE265B5C3191267255C058049D6525478131F8051CCB53766727C749F7EC1A00E21028FA4CDCCA6177B85977B19D523A9F50E310A6E7ADE5D00A43F0F73040F01BFC7AB693F2DD02F113CF8CB73BE47B96032D2B926B00BCBF313C51A0CE9E3B50A9053C37B83DAFFCF88203E81C9C4BBC1A605D8EBF36DB9FB83380D1BF339504E1FF4FB8851EE42B2998296EB1C235AE410BD81DF83C71C2F5FC73766A76BE8C7DA49C0DA621A1FEF17E253918D11DE5B6E1838DA49D607176129BCA2304BB773844A762338B30A46A950820A0714F0D7F467B21EE04365ABD66D6294D2169015F608919336FB31F30E1FD4261F30494FB80DBB25D6B0034C918B910CECA47FDCBBCA5F343A0DB8393E8CEAA29340AAB6FE3A0EBD73BC507DC470304BF750A2B364D1C97C330F649B55CEE0860359E9DE20A00E3E7F32FE38D5056FD340A2CB367DBF37C5593A8D5F8128D4057F13B27EE01824BCCC7D5892FA7B885A6E1029A16B90C9C3F3D5AA665E377058050C4540BC1295EA7AB5EB229BCDCE2B0A328129C4C176A1ACD70E20D730A77F0A7E84B4E61C5A4F918FD4D2E0F001D210C74999EC9EF0A002844B9C401685498C95468B9871B93E85A2CC5DE20F309EDF7B97044DC625262B75FE085F8E1501B1B5CDFB631F24D1B290BCFAE21CE9826BE5F84C2D331CE1C897E7E2FE7B46C1F8C00ECD6A6C666753618D738C7EFB954187DFEF04E7A1242AF4BAE05BA8808A6890E0E8E13379B94CEE1E6D2E761081E2171F02EE4F789448B7B01982D7EDD3A7FD495C6EBB3307D9888131F05884D1D914818375288DBAFF03FA553C33002782E65F41E1C202CFED0723A0FBBEFD70104BB464B780EE09CEE65A8DA45A5AC1EEEA1FB1B442503E0CBA9E407C3B17FC4A4D79E6A0EFF735473E467AB1A0271435213F3FAD1286FE912BEFB2AE964542400444B0427E033729CEE965B05C3C69300845DDA530E2F861F136FAEDA1DF72D76F18B0F69E1C28AC7C4E594824F6DFDF6C83454C6B6C0906D05A00EB7B536B0ADD9C6EF91F10CBACE81EFFD228FABF69043BC82917038DFE1706EEAE2927577FC6E01A2DB71CA7B4F7C0FC3FA7EEA64E943F012BC913E46CF0F157D3D80AE34760CB36FA5AC9D410157EB2EB2BA12B3B95AD4BC54F46D07C815C130E872E2BE8CD6BDCF6F7D20A72D949F3F495F352374A4E5A317AB26D25B852AC7295F68C88741B759D868D0614E718B45131342E8CB27A03B92659B82053E0CF72DDB5613A109EAFC788BBF261B0E7ECB7828975BAF5370E0998CF9F8D3C326DD0735A6E38441041332E7EAC7D39F3D67E832215E88759803B03980020657695DC290CB868BDAA6C8A7B27D8FF61C862E403DD0A90530D429238725DA1B84F0054B68F840CCA29BF09B25F273AF083E1680E195DDA15B283900EC1CA5F7E97EFF268718FBBA9A0872C8A0E024081AF74949D3CF9CF6C21E184F86AB17860140A795C3BDBCE4556E69CA1E0078D3D0FEB4596EB8A84583655AA1FC9646F810A5E2DE57283D9050F60088B72953F7C547A37460B1DA1B73EF8ABA876652BA8562F193CF727A0600489D768566C8F98EBC6C1B1206E0B794B8AC0F004A9B148A00234C0CC3EC0E47D1792BED672716CCA76C81C39BB3B660A5153163D40357B54B0E232DFB8E5F29BCD85E9DD12330F93F4C2E177681160EABE7E692E3E4E3D97C828E81BA1F2CE705DA4332AD9CFD2633ED8B786016074F77307C28098B0AF25DFDEC45ECF2CE78D92346622FE0864FC7B5F37C37063668DE8546FF5972BEE806F0591EAA0D4CA2CE647A3E9F51EE72943B3E394F80717D700A1D924C2BE5735DB379788C5BE766E0416C74B5EF1EC6096ECC04F2E791505AE7E723107944860CC551802188531400301FD6E7A3F4E3C47C80E00D3C8AFDFF7FC0D2ED48ACDE6DCFC4AFDBF0500B4DC44C9B4DF8220FEC1570BDF7CE6DD96EE2C7C81A8DB670BF3AC9E9254D0BB09B8424DD14B82B2E6783BDEC42D995DEC58331915EC337C8947D79607C686827B5F04EFABC8BEC324615F605847F8F1291D107BADFF1808612B58884A15ECAD2FCEC262DFE2D3DC61778C940AC2ABDF746E4302F69BDA4097E81E640EDBFADA4E57454E8237A943F862B54F2E0A051F6C0D4F35F90D540393B94DF8C7BD23F92E925F573A68E523232C4EE1547F8E3C3C0CE86E0451AB166283769C63B632ED0C1A4EE13CC9CCC530CEC55DAE9F3895B3328EC90414D88D3DAC863749C4358D624FE047D053B81FE8AB75F6954F4FDAF1B9C3CBD2C5933E032A2D8CF812419BBEBE46CC5779C061DA49F2368A8D36E57379FEF1F8B99C762EF80E33427E3D699E86BC6EC4E812746777736067F6AA315D8137E147BF9F1854EFCC5019C5C1CC01185FF76C34773D94472355B27169D30E6BF05E9D5371F9F47D174AAD6C7D3D3C9E595FAB97A9EF92D8A5AB6CD21F1FD824CEAA6A0AE49E3DBB8A6ADE89CA1FF3DC1B70D000962AADFEA66F33CB2AC3BEDE1ECC5CE99C6E1765AE17D30D0CEC35B2AF1B2BB5C006107AABC40F3D122AC1C0A43D7D1A1DB30C2B0F2B15F663AE2A7D51E68AC178C7E34BE1006A7237359101D8F8DC3BAC7E84CDE2EE6981B4601D93B34C07378EB6C0EB4E1E29328E2AB18B680027B70A0E3AE9D2D64A2D35A009EAAE4E2A0A9C4B8F78A588CAEC0F1EF7F4153B5C1BF09C0D80C41FBF08CFD8F7400FA92F148DF1FB48C0E510EC7019195E826C6BAD52E1933F71C81E32B247687D171C6BD1C8914AE00306CEFC0CBF8727718BB49761D471686206D8A1E8B0CDB129916EB178739EE81DA7E1E9F5B5E02E1A4B384BF0A01FF48F0056064ED001654D5DE4D22F9A1E128B5C1501C034DB025EBCC0A159153B59235D39E556829084A1F9A225E9C7CD7F9D80FCBE31F63B645B358AC68F3F2B682E1C11EFE970C4647C1B0F903B4514C0EF7EA87F05FC278BF11792A863140300C86E2AA224E453B56434C00E10574003E2F0C0004176818650A14EBB5A7613E40A8D5923836993E3626D3B9F86CFBA160005F16CD46A1A76095D17B302D7F0A601D611C0F4392D18F9C8005CD7020A6A25789AD6A29722A38396AF1EFCB8580DFB7E2378DCA0129FCAE3480C8C3F2E98B1DF2DA77EB86E828077A514962B208073DCFC4ACE13721C479688C57B36100F1A2F86BC5DFCF833E1A8AAEE56E3CC7DF7C006B21F29B2AE2C879010407E0A4D0AA9D4FD0D7E5B042FBD137C1D85701409C29C7C7D3F10270BB778EEB078CEEC270F07CF7B9153605E6F20F80A046A394FD2144B1AE2F5610853037A3F29BD1C3BFA9077087C038FA00B4940EB6C629C86711FEC4B8DBEE708317BA8B31C1E3E91FF680C2F9F041CAEFC462B1BFCA25308D8D70A3013C01A0A63974058660D725178E8CB6FBAA8D41957C3B28C074223A176170EAC9758F3F637F00003606A3930D4A5801084E1F96C0EADE3A7C456CB89BE25C770122F30037946E008DB2777475E42C3785F7B4B83839BC0C03C8EF41D0EA9017BB84F152B4E192A9438A512FFF1E8159D03A978197DD5A87912BF52FF8F4A401444274036B304812C3BFDD0E5FFAC657BE87CF4A3A7CB83BB0729E428FE3BB08317A18A057E61FD0A2DB302219274627C5A8B1B0056AE746276082EE229F5FFF95DB8BBA3C030067CBCEB4385711C7D81998857AB018952F65199884AAC31AEA23B009C48493DD61C51043A2F1FAE4F2DF35E4A90B10B51DD3A03F883E67A3BDE6F0716A50681548C048A10D9B518EC71BA41EC7E6F4450C8D5B715965D116CABC36B16700C4D53C63F3D482F9887C5C62ACE65B7E14B11309EA7E02FA61657918DDC39E00C1539116FA4EF971BE9B23CF001059F84606EE43E5DFDE9D5DD793C55973F732A51C54717EA8F9A7B169555C30F51FB972E81EFAE314D31338495C2387958B3F2700740DF9B4F97265303D79D8FAEDE674995EA97E7D0A3D87E3746360002A7309D0049F07085A763E1E9F8B28BB26C80900A2367BF40FFC11E8DF24D70C43A2467C50B2284322B9EC52F8F509F40234C16880E07DB97C612862E3CCA3A147D5FD8572DC62FB730600BEFE1DC654E92F54C67163558C7E3F8B63275F2F71C6147A199AA00ED5555609E3434686EB675B68723935475E84D35E1FC475EBEA1C34BA82EFAC981BBEB89C2A5C685E8CF1B41E1A7114CAD92C97054D10C40AC35280E0BB7258A9FC7901409C799F7E0986854A1F68596C6EEDFCF0B05255B014E5E2CCC04618C70204FF92CB8726D0C574B2D8D6268795C29F37000C1C42FFC61BEF705C8AF7E3263D90CB9DF6A568985CCBC4B4F11B58911C056DF0969C173441006B798B306D7CA61C566C7F5E0020F6026CD960DE07648F73AA00BE23D42E6C05A7B04AA661B2E86DC30F1024CFD777571820F0E36F2156197F50CA36C8190071E16F3417E2ED573627888AA1F2B7896DE7A5AC6429CBC6DEC177BA41A0AC12A23BF061B4F427EC593CBB543C42437977E293F0D14E7321E67FCF70CA05AB55B77634042F710AEB6D34EC211C886D64AD78EB95A1315E12B1F3F042717379B1DBC5B30610AB50E984AF31ED963EE1EF16A7D8408A9DB47510F6CBBBA95D4F008580C01DD86F50744DE91900B5CDE68C546F3ECE6BDCDCDEA85F2A57B4B7FBB177719BA1D368804031960508F0772B8688BF2A663B79EA02C43980D866730BB4C0175466B59B3B67EABF54E97D94440BF00EDA33F4093D81B7DE71B5100B4CD3B1175199624FA4CFE7AF370DF06EE46027E1E313A737B911BE30206BE698177BFDDE4D3E1BA29879B11AFA4F30806961466B9CCAC52AE2B51822CE740ACB37CD130030F50B0356723862CE02FC2E899AD2DB3D7AF8136EAFBCE5B390F94C6F9B2C12278C83FD692240D0E9D44800C1EC628C0E3C0160EF6F045E01E35B6D8CC328B44C5A5A771D1F68A33B7876099FF3695DC17C38268B9EAF6D0A5DDE9BD60E58357D826DE86253C94A8766421353C147509E0080AF58C634D21E5099E607454D73653A10A8C2EF8600F120507F7D6BB3D9517B5DC8E1B48B5A5A2550304FB0C3D893A6C0307C52AE0F660B23322DDF7E4F00104C048D40337EDE5518E2FCE0542010C27F6F83792FEC87EE375F492D0EE38DB44CF6626D73E8523C7B3252D55CCB9B22EE3D30AAE8BB00C123094E51F1188C41871D578918F9F9CDA981EB9A22D5B89C68256601D543A6D821ECD7F5D1894FC927848FA1E3D46C59C7E2D2F3B8CC78D6AAC6E0B26CD3F4E4786228888BB04F86853504C7DC968B3D0685AE4F4E0010CCD534854F05C38B5281A02AA08F1DF075DA2ADE7C37C2B7559CB1E76063CEC2C4D2A3367A9F27E716C819008283F420A0AD28E415A07BAC23B71ADD8EBD044F23FC16E8FF3D1DE37413A1119EC5C2D29C41438C166187A48BDB17965D0BE40500A2A8B42048C50B849F5828AA69E683889BFF8B7E7F4AAAE8BBE8188108231463D1851D8DFAB3BBE8457C38F14EDEEFC36DE62468BFD3B0E6B1B4BD413D2D5544763C17953700080E6AE7864FE13182601C6C0299C524E12707618AF9479C5B4DD0085F49A6A77A86E184A351EC7E2C3BFE05BB945F2AE4D94431611532CD2918AD9C06C103A8BC9FE00B8DB8BA6366B03A158FE54CCF2B004445C599801867F7A171FAA7AA3884765B476330E55631188CFA960D91737118BD1E6FF9FEA9F251E9EC3394FB77D1A5402ACF04487F7A452353B666A9E9544A5CD8E1E808744B47588C1F895340478097E1C85F3D188AE47E8D1DD6D660BCA2E654DE94BC034054B76E1E1F128B9AF74313D8E7BABB2EA46CC6D1B1ACA639C52EA21D1F457E6A316B06DEB8FDBC34252AB81DE936F874E3FB6D57B14DE9F2A8690ECF80E6A9411A71A47C08849DF530B9A72E7D1704008946165798E12ED733203C718BC63B3E8DDDDFD6A0BB1EDA08207CFA51E41C08E46C055489C232FC6A3A3B247E29669A78F81AE7B35EF317FB2187EDA30F8A5FA393A68C720B2A28000A5159314B6845D854DC0E360DC2CA7AC6B01000405713C522EE0A288A25BEAAC0D2B6CB99D0363DCAF97B14B760B6FDCAE0EBF8B946FC8D9A671E6DC508134B7C0CFCC3318228C23D45CC847DD1AA31B6A4AA2AF0D01397A9D7ED83971EE37A1C00925B76D50CFD6FF08B3F12469B198A1E0D7B01379DD21C6887BCD40DAA7D1DDEF25564696B711A786D55FFC0CB95B4C1352F8D942C94523D2FBF82ED40D96DE2AF7A4E581899F9A99B465777D4079720BF8A74595BB91559FBBE4AE1E8429FEBD52DD007805E2D7E87EBD67B797BF4BAEAE7C7502AB766131F94E0149FA74FB0C623FC614CF4ACC3169314AB887C1FC43D12E96C0EA389908D50619E8A0400E6ED37428EC724CBAA7B6A77882C605B1C8740CD5F9C8B1F93F928E67365DA001AFB5D3E1A118B56ADDD134FF9C8AE2CF3A848007434E8F788330A39B538B6B4F5EB67389E79CC29DF324B5C9100106DDCDE10B80CE7137F82F9FAF5AEDA9CB14F90E67AA6E9B53D7D9A379B7AFF17705E3970EC8247060000000049454E44AE426082'), +(44,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000007A9494441547801ED9DCD8B1C5514C5EFADEE999E889F310B93A00B310474A3A8CC04D293450231A32E0C882EDC288218313A4BF3B190386E03118D28822EC404C12C22F9D0C498996026FF8008063188912899854226DDD35DCFFB3AD34DE7557557F5401EAFEE9C86A1ABDEBBD5F5CE39BFAE7A5349D530F57855A716361B6A3EC7318F13D31A63CCBD3D4AD11CA003CC7C950C5D369199662A1D99D93D743A6D98EC366E7A7F6143DC8CF71B32A36E1FD68BEB00135F884AD1E4D95D43E7BB55DC0440755FFD75227340C22F7717615987030241838877CEEC1D3ED856D40160E37BF51D64E20FDB1D78D7EB0053B4A30D410B80C5C3FE34BEF97A43EF56668F04723A18B7A783D6A17EF19C9F72D8E7B988693F737481A3F2AF65A6B8FB83B01CA6030D4391891BEB8C8947634393725A5FD93D52FB45B7994BDB18B766FB71F35477815D66A669E2CA8B33BBF92FB70FEBC571A03A65569BB87658465C7547CD51694BC4A6B9DDED90F8E7107ED29522B6D82F304795175A993A02ECAFF991319C20C31EF6F1CD77DC2AF0AACDD266EA4AB0D7782243B4D6ED884D34EBB661BDD80ED8795C42815CE08BDC09822D2A97CB1713C56828B4037612EF0AB057770580E40BB3FDA427456FE995692A0045178BF1E7770000E4F74A65250050196B7E510020BF572A2B0180CA58F38B0200F9BD5259090054C69A5F1400C8EF95CA4A00A032D6FCA200407EAF5456020095B1E6170500F27BA5B21200A88C35BF280090DF2B9595004065ACF9450180FC5EA9AC04002A63CD2F0A00E4F74A65250050196B7E510020BF572A2B0180CA58F38B0200F9BD5259090054C69A5F1400C8EF95CA4A00A032D6FCA2529E09907FE3E550593F4E4FCA3DF6EFCA3D94F7B0A12F469EA68F35E906007DD23467E8BEDA3C7D6F0CDD65CB0482B1EBC7E8E19109DAD967B34275E114D027AEFA3C6D6A87DF2E93F537058203EDF5A2BF03803E09CA03942EA5756B820000A425BCD8363C41B362D0E769255A20000069E976B50904AFCA93520F75357516354000003A71A62FC8C3B29A23DBE825AD100080F4DC6F6AD50C0100B829EADE2B5A210000BD334FF4688400002462EEDFA00D02AF5702EB2769949AB45E26549D8754F7B73BCCDE8513322E26FB74D571B93CB8C61DE5E26F0754842B86DE00A81DA3CF9A0D7AA565965C53D5FE2A0A045E4E01F5EFE851F907951BE16B4FBE4B5F11AE137801208E6955972FCB6A317408BC005059453FC9E4E9F765957C97D845083EE86A0A66D1CB1C809FA06BE6248DD79AF48E285F2F13A7424F0297949EA1476AC7E9F9CA36FA7A49DBDFA28DBC0060C7CE5BE90F79DB718B74E06397E8809753C012C786CD3C3800003C981CF22E0040C8E978181B00F06072C8BB000021A7E3616C00C083C921EF0200849C8E87B101000F2687BC0B0010723A1EC606003C981CF22E0040C8E978181B00F06072C8BB000021A7E3616C00C083C921EF0200849C8E87B101000F2687BC0B0010723A1EC606003C981CF22E0040C8E978181B00F06072C8BB000021A7E3616C00C083C921EFC2DB7F0BEF6782394777D4FEA57D52735BBF3AAD7D72E3C8152EC933089FA28BBE350601006FA4FFE68FD3518EE9A8DC37BAC2B70941EC2FA6B7AF9FA0C77C4310CC2960C5363A6D227A566E199A0F2210CF8390A3C0ED26A6973DEF968201C00A5FEE1088058D650DC0B28680E99F910A7DE21B8020E600AE687B24983F46CFC8C399BFED3327F84A6E31FDCDDDB688EB72DABB5229D161DE4C7FFB1E7F90005813564CD00F7D2160DAC8C3B467648B0E087C07DFDE5F507380F6A0DAEF1602C37224489B181ABADFD4E9C7EBA7E8C1763DDE0777206800AC1C403078A8836C113C008060903807AF2D04008060F060F36E5118000041DE4807AB2B14000E04D71252EDC4B04667E44FBDDC9DE84343AA038503C0AA589C18DACBC64908881E903FF5F25AAA5A34261C28240056453F0862A23B134AD190EA406101B06AD22090E711D644D497A96AD19870A0D000583516022ED3E312FC41F9F954046DA84CD0CF09A568487520D84BC1A9A3EDD158D94ABF48179E41D8C39F7ECD853F02F41387BE6C070040B647AA2B0080EA78B3C501806C8F54570000D5F1668B0300D91EA9AE0000AAE3CD160700B23D525D010054C79B2D0E00647BA4BA0200A88E375B1C00C8F648750500501D6FB6380090ED91EA0A00A03ADE6C710020DB23D515004075BCD9E20040B647AA2B0080EA78B3C501806C8F54570000D5F1668B0300D91EA9AE4805A061C27A7894EA043C89EB9569C4CC57DD3198B8B1CE6DC37AB11D48CBD4661F91A1CBAE3463E251B70DEBC576203553C93E32919976A5C58626AB5366B5DB8EF5623A60B3B499BAA3B7D9474CA5236E07915949A6760810249D295A8BCDD0C4B5C3AD4C9DC1DBECE5167BA2EABEDAAC219372D8E73921647F6CA2D972B97CB1CC24775EE315BA0376C2D768341E8A381EBBF1CD972FB4F362E20B337B2B63AD9B43A352341937E36981C0B959D4AC940F90A77837A9D1901FE743B01AB603925DEA4BC26FD8CC6D67EBD7C0B3BB86CE1BE6B752ABD1A8D001DE6933B7C23AD701CEED19FE88387AC3D2A15031248903AD6C25E399BDC307DB867400B00D160239348CDBF343BB00EF3A1CB099DA6C5B5FF42E49AD4960D77A67B13AB5B0994D73BB315C9553C9DAB45964A7180B013AC07312EE9FCC66C670E99B99DD43A7D306F93F91D10B021701F0920000000049454E44AE426082'), +(45,'image/png','img','89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C000008C2EB45D67F0000088E494441547801EC9D7B5015551CC7BF57AE8080A188882F14528914151F88F9AEC9574D33966594A30E9A93E188386A6999A9D3D86426A6364E664F751C2B7BCCA891938F44015174CC2449111FE06B14115150907EBB7219EE75B9BBF7DEDDF5DEBDBFF307EC9E3DE777CF7ECF67CF9E3D4F530D39B063053452C0C48069A42C9B151560C018044D1560C03495978D3360CC80A60A30609ACACBC69D064CF8F6DC5B508275D91771B8E8164E5EAF002AAA58514F56C0DF075D42FCD1BD551012E3C2F05C4C0BF8991BB974474E0176ECE22D246E3C811304163B032B106046DAC848240F68077323935337EA3060EBB28A31F5C79340750D3A8405607AFF3678B64B083A12F9C1FE66A712C191DC4381527A0315D29B28F36C29361DB9827DA74A007A53756A1D885F267443D7F0408713EA1060DF1DBA84895472C1C784A5A3A3306768047C9C24DBE1947204DD1538525486E49F4F21F3348146AFCFF449B1181E1DE2503A140376F0DC4DF45B7918A09272DBE4EE184DEF6776C65740A86B7FF86721166C2B00A830499FDAC321C814015659751F4F2ECF41C1A5727C31EE09BC91D0C6F8CAF21D5A29F02DBDBD26096F2F2AC98EA7F451FCBA5404D867FBCE2365EB7F184275ADDD6FF684C9B9FA9E5582F9C4F31458B2B310EF6F2F10EB6479B3E31555FC6501BB4F4564C4D24C145DBD83ECD43E888F78CCF394E114ABA280F0BA1CB0E68858275BF96267CC18D45ED6AE2C607BA882376CF511746BDF147FCFEA2B6B9003185B815CAAF8F7A6EA129A9851B168A06C3B992C60F3771460E91F85F8605424160E8F34B67A7C778A141844A5580635616C4D8AC598D89676E3C802D67F752EB24EDFC0AEE4380CEBD4DCAE31BEE81D0AACCD2CC2B42D273136AE157E98D0D5EE4DCB0216BAF800AE9554E0FCC20168D7CCCFAE31BEE81D0A1C2D2E43DCB21C44B709C2BF73E2EDDEB42C60A6B97B807BF771FBE3A168D2D8B57E29BB29E18B1EA3C08D3B55683EFF2F6AB230A366E960BBE996072C759768A066C5D3760DF145EF52C0A4900B06CCBBB850ED6E1930D5A46443520A306052AAB09F6A0A3060AA49C986A41460C0A454613FD51460C05493920D4929C08049A9C27EAA29C080A926251B925280019352C545BF6C1AD59B45E3D50597D02118FDBC78E81203E6224CB6D105B812D6E40277EF3FB8E4DB0859C9BDBC163206CC961017CF57D2A8DE9934AAB7BE4BA34177290A06DDD58F639463064CE59CFC3AE71292B6E4015534AC5370D4F1BF7E6C3492E25B3F38F7B2BF0C980619DE9F46F66615DE10E70A26440623737A2F0D7EC5334C32601AE453354D50D8907B59B43CBE572BAF9E13EAD1809DB85C8E8C33A598CAD3E39C7A4C8429665A3F001E0B58E2867F905E700325A577012A31781C9A638C89194F33EF133A36A357789C63911D08ED918099E6D128C9CA6AAAE3D456A46B6F98215396F3964C17436BFC1162F92DB9BC719B01871BA96E337E13CD1CA64555AC1C3D8DDFBC1A83897DC2ADBCF9C45A0171E6F566FACAADA79F96CD281E079830C177F497C7905E482DE534E65B2CC5E8294C880846C65B3D1555A86F565423FB5C292EDEBC8B4B659528B7348A5AE785DB9E0552E36DABA67E080FF245CFB64174ECAB38ADC207C8C0CFE92B971A84853914D0B821D8E300B328B923EF1AAE94DFC365022434D057513BD3AAFD17B0FA4011F2AFDC06FC7CE829266B82C8D5B5ADEE16E3EEFEDF8726D598695D0661C5226A6F0B6D6AC6049A1A366F5807D2A2B1A2D47F75F022CA2AAB34EFCAF258C014A9581B288D5AD7537F3B4D19421E1E565A29BE4F612110AA264CA106DD752F472B8EA67540C30316FB690E8E0B2596F051E02D8E404B7BA1135206B77FE4776C68C04CEFECA5128BC0B2F91E78E4AAEB91005A33B575B02F8ADF7B4A8F5F6BF0370C0B98089737955A0D66313D5F8F70AEAA2101135F8B17CABCB3E46A00B4470599E1004BDB7701A9DBA842CFA597156AA1217EB8BA6080959F1E278603CC34670F7DBA7B58B3831E39DDD8073307B6C50AAAFCEBE90C05D8AAFDE731E3D7026ADBF2A22F46076809A525E4336869D3E896010EC4722DA8A1008B5E968DFCE272D71431726C6A989D4EA5D8AA315D74BB4BC3002674FF042FA04E70CB4852DD24F4B01FA21E8C9A8F86E89668C300B633FF3A467C7F1C35B7781F247BF498A82BE9D0B41EE8D5569F459A0D0398B8BBC84FF9BCD1963DBA846BB418DCD6D76264D74C9533A3F4BA6100FB78F759BCBDED8CE7755C2BCD29B5C2510BFFF2E7A3306B48845A16EDDA310C600BD3CF60F1EF04183B5905168CE888C523A364C3A91180015343450FB3C1803991615C8229178D0153AE555D485D01A3F6A4449A8ED6A9857FDDEFBB72B024BDD095E80EC765C01C960CD013B0F58931E2A6AAC28EBE6AB845232261A9ABA8614FCE060326A790C475BD007BBD6F389EE91C822461E2898A4E18EDA017640C981319A7176042E6986878B2DA5FAC5AD995929201935245C68F019311A8DE6506AC9E184A0F1930A54A010C9872ADEA4232607552C81E3060B2123D1C80017B5893867C18B08694B1E3CF80D911C7E612036623889253064C894A0FC23060CAB5AA0BC980D549217BC080C94AF4700006EC614D1AF261C01A52C68EBF5E8009DD4491347962376D76AEA613F6393F535289C92AF71048A59101935245C64F4FC0A25A34511DB0A18F37432101A6761794946C0C98942A327E7A0126640E7715C96446BDCB96FE55B999E56EB3C261BDB45B1DBA1360AFD0509EB52F4523E45D9AE5A4D06905AED4CF730926A58A8C9F3B017679C92084053576687404035663B3E2AE4D862B2D0A6DA2A976EA4E8095D1BCC3206105C55A67D1C6722EF59F01D31930614B96ABB72AC5B548C3682EDFA8981652F952E7E74E806D9ED80DE37A868969BB434B7406CCDD5397CE860EDC093035778BB33C5C6E53077BB048ED51DA0E8FB6621166690B4B4336316344C7606C9FD25D5C96542A93DC09B0A8F040E4CD8E872FAD34985B5486DE9FE44825D9CACF5D00537BB738A580FD0F0000FFFF8AB407BA000008A949444154ED9D096C154518C7FF8F96A3208572B4A5400B48ADDC14B1821C8A462E090946620A28060288A008F1C403452311225A14A3081E049040C44814AD1A2050A4152C787043B95B40B1582850A0D46FB6BC47FB8E9D69DD5DDEEE7E93F0D89D99FD66E6BFBFCECECE9BF99EA78C02748267EA5A2DB5EC9D7B7472C9933EDF7A028F2EDF0594FA1517E1C19211ED31B25B5C502333320F62E6F70783A61919F9F28056F0783CD2B2C6F64CC0EC216D3162D94E64EEF85B5A0555BB52430A1944593307B6099A3363E3513CB56A5FA5B4771F48C6943E2D2BC5A99EA872E1B9E180451260E9F6014CF50678F3316016F560A557CBD0FB836DC83E52045CBE0AEA2E80A8480C68DD006BC676460D3A0D16C2AD070B5647BDB870012C8774EF313F17B844DA8B50AB06B22775C31D89D1E5E755FC0CBB1ECC5BFF4F7E29C0DFC5971057BF3662EBD5C4A0768DBD4941FF67C082CA123452EF11292E1090651FFE57BBB64752836AC3250C842D605AEBAAF0C180A98B25034CDD923C270326D7A8520EB31E6566D9AD54F96B270C5830552471DC834904AA90CC80551043F5900153550A60C0D4B5F2E564C07C52480F1830A944811918B0404D42C53060A194D18967C074C4F14B62C0FC04513965C054542ACFC380A96BE5CBC980F9A4901E3060528902333060819A848A61C04229A313CF80E988E397C480F909A272CA80A9A8549E870153D7CA979301F349213D60C0A412056660C002350915C380855246279E01D311C72F8901F31344E5D42AC046DE1E8F7B931B610C2D85363288A5E6DEA52D46DA0D668B010BA68A24CE2AC0443516A5B743833A91F82DFFACA4566AC9627DBC5570891A31606AF7A552AED9EB0EE3B96F69D347E9B5A5BE95520D3EA175DBE9B4F924B949942186ADD8ACE2AB68640DBC3DA40DA6DD95E88B32F3C0FB8723DB0C64D9A68FEA367631ED461AFDE55EE0E295EA9A70C775D4F3AE1AD10EC33A35B5A4BD8E01ECC7BDFF60C0E21D282BBE6C8970762DC443FB1BB64EEC8A6ECDEB5BD204C70076B6A414D12F6E08DC4F69898C362A847AB0B2597D2DABB06300138AA5CCC9C1DEFC62CBC4B35D4134767CA2770BCC1B966C59D51D05D87B9B8EE1C9D5FBAFEFE9B34C467B14D4A4511D643DD615294DEB5A566147012654F33CB30EB8E2E776C03239C3B8A05A1198DAAB39E60E6D6B69251D0758C6C66378EADB3CA084DF262B9214D7B80E4EBC7467C5284B8E1D079850ADF3DC2DF8E3D83940DF5F8B2502874B21B27928B3EAE948C084589E17E88D92E7C4346E6E145CDA7D50F4BA14F613AD9A927E1F1A64974A0172A8E2BA4033F6CD1AD442FE0D782C56D4DAB13D98B791DAE3F2D4791A9311686E09E44B4D0CE6A7F6AD9E4F2F2365723C6042AC8C2C1AF87F4DD317C215D465878226DA46608D4D8BC7C2E1B71AC9C8FFB2E50AC0BC0ABDB7E928E6FF5C803D276932B64E44F97486F04166B747680D6A514DFAF0D0BF2B57114B8FC287BBC4E2F97B92D084BE0A0AA7E02AC0BCC217D3B82CE7C8BFC82FBA8C82A2129CB5D9CB407DFABA279EFCA62544D74297849BC20E2AAFCEE27F5B0326BC212EC93D89D1DDE32BB6898F151510FE7047D1B2A388506E2315EDE865B335603DDFCF45F621F2C4470E836FE4ABB89EC0E19AA6DD781AB3F568D5109B27A79A564DDB02F6E9961318B382BC5157F85A882153E3C47BD3B5DC34965BF4600AC6A43553BBB88AB9BC65C9EE4DD8CD83692B58571FB8DE5CEAE63F1A9E82F13D12AEC7F15180020BB2F33161E59E4A2F366F0DBD19CFF64B0AC86B44846D01D3FCE92FA31EECDAD7413131B59135A12BDAC7D5334217C7DAD8496FD0BD3FDA8EC2C292F236D2F4C667B4C2D5AC71AC6D01FB6ED7690C5E423B7BCED30A56EABD1E4A8DC5F2511D1C0B86910D4B5FB203CB734F95FF71D6AD8935A3DA4BBD7857B77CDB02261A3C70E1EFC8DC7D9AE684222C5DA5595DB1C3E93AED6B349A741E90D218DF8FEB6C5AD56C0D98981FFD62DBC9903F2F639A6A0E31BC94A678D253E342FEB88511CDB43560460860860DEFFC9CB06DF63C9319F537D2260366A49AD76CF9E6E7E8DCEC792613AA6FA84906CC50398180F93993E7990CAEBEE1E61830832535FAE7F00CAE9EE5E61830832537FAD7CA0CAE9EE5E61830132437F2D7CA4CA89EA52619304BE5765F610C98FBEEB9A52D66C02C95DB7D853160EEBBE796B69801B3546EF715C680B9EF9E5BDA6206CC52B9DD579871803DBB9EF61C5EC5F9D977234A6CA9E2E07A05CE5CB88298E91B688BA0DCE99D74C97493993FE374E1451C9DD10B2D1AD676BDB82C00B09DBC70A7CED98214DA5AB7FB99345D49A480692B080E9CC1DA49A9E8D73646D71827BA43810F371FC7C4157BF020AD395BF988FE6A632960D3BFCBC3AC1F0EE1D541AD31A37F6B7728C8ADD455A0CFFC6DC8DA5F8855633A49BD5A4B015B7FA010FDDEDF868E2DEBE38F69B7EB16CC89CE5720F7F859DCF6F616202A12175FEB8DDAE4ED472F480113CB9793666DC6B1BF2E20676A77A42546EBD9E334072B20367AF5A2DE6B33753A190F24E3C93E722F3F52C0845EF3361EC59455FB70D72D8DB08E9CCD0A872F1CDCA7C0EB3F1EC22B6BF290DCAC1E763E9D864805D7044A809590A797F6D42DE69D28C682876EC538DE04EB3ABAB4FDAA4B693B21792FFA734A77748857DBA7AA049850F3972345B823E35772AB027C33B633EE6FD7D87522BBB1C1E2B1F8C64FE53D97D8A69439BE0BFAA73452964219306151FBDD20413139D77873501BDA969E68AA0717E556704653141003FAC95FEDD7C65C625235F3D18E55824B54AA4A80890B16E61460DCCADD9AE79BA4D8BA98D43301F7DD128356315168486F161CECAB8098A13F547801D9878BB094768867D1601ED4838931D7578F74547E2C5654A0CA80898B7F2F388774EAC9761E2797E21C9CAB40DD48640C6C8DC77BB5501AD00713A25A800943E2D9BC21EF0C3ECEC9476EFE39EC3A7D91DD8B0753D84E71F4184CA19FA5E9448E6646904F90C134CE96CD73C99A576DC06486399D15100A3060CC81A90A3060A6CACBC6193066C05405183053E565E30C183360AA02FF01B372F1CFE31089130000000049454E44AE426082'), +(46,'image/png','img','89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C000025885D66241E00002554494441547801EC5D09784D57D75E6622E69920E6799E67FAF753D5EAA45A3A50355363AB5AA54A159F2A4AA9B1860EA65629FDAAAD1243829845CC24228921E6104390FF7D77B2AF734FEEB9B91969643D4F72EF3DC33EFBECB3CE5A6BAFF5AEB5D34581248DD246209946205D1A8325D3C8A635AB46208DC1D218215947208DC1927578D31A4F63B0341E48D6114863B0641DDEB4C6D318CC8207EE3D8892EDA7AFC99F472FCBFED09B72E0FC4D397D3352E4F6BDE833B2669492D93349F542D9A566D1ECF24C857CD2B0644EC9903E9D458B4FE6E63406333DF793172364864FA84CF53D2B5164A878503A30DCA0FA45A45FE3A25226BF5B3CCE4CBD87A63158CCB3BD79F7BE7CFA67804CF63A2302E945CA9223B374AF55509A97CA2D950AB949919C592447960C6A5FF89DFB72F6FA1D397C3E4236075C95397B2F4864F85DB54F20C586B42C2E639E2925D933471F1FBDE3C9FB9FC66078E66BFC2F4AD75F8EC9A52BB74532A6972E750AC95BB50B49ABB2795C5679F7C1941B4F5C911FF69C9745BBCE89DC8F927C79B2CA82F6E5A55D95FC4F1E67C5DCF113CD6091608277971F911FA00E49CDCAE591B91D2A48850289536F47C322A4C78AA3B2E5F815D5EE5B509BDFBD5651326578F2ECB32796C16EDF7B202F2F3C28EB20BD683B2D78A99C74AE5358D225110F3000B778F739E9BAEAB8B2E59EAD9A5F5676A92A5921219F247A22198CF653DB7907642B545AA17C59657BDFDAE299376BACE77E074CF8C7914BB2F9D435D916745D765F8890C85B9845421295CA93459A95C825CF57CE27AD2BE4955C98553AA2804BB7A4D1B77BE5FCA5DBD2142AF77FDDABDBEC3847C7A7B66D4F1C83D1986F32638FEC0F0A975285DD646BEFDA52345766BBE7BA3B385C666F0B95B9FBCE8B44C4B825EC8E30FDC8945E7A410DBE0FC3BE9C83D963E8B5BBD2E4DB3D128809418D1239C4BB5FED27C6F87FA2188C6AABD38FFEB26CF779A95CCC5DBC7AD79202EE996CDC1272ED8E7CB0F6A42CA5911E43B4CBDA54C823F58AE7944A05B34B3EA8D3BBF71F48E0E5DBB215B3C7DF8F5C8694BB2C02692750AF1D6A15926950B78531033552D88D4869396BAF1C0AB9211DEB16969FDEA89C64EAD8789DC7EDFB13C56033BC83E5BD9F8F49B69C9925E083FA52288609E89518FF4FA08CF83B50E42E18255B46F9B44571791752A924668271D10530CF94CD4132616B88085528CE9FFB6239E986F38D36DD79B8314A7EE92B77F039A34379E9DBD823AEA6FFF5FB9F1806DB011BAAE1B4DDCAC7E50515D5A24C6EF5F06EC01EEBF8C321F9FD60989240DD1A1695F16DCBD84936579FF2F5DBF7E5C3B52764B637180DD40AB6D9CF9DAB4A5EB787F699D7C92BD26AC65EA1AF6CC7803A52BF444E579BFF571EF74430D8554895D25FEE902B57EEC817CF9796E1FFE7A91E56F0D53BD27ADE7E390CB5950746FBBA77AA25C903DF80C943A7A587E5020C7B4F386837F5AA2525D0BEA62FD6435AFE7E4A5DF3D4D006921B122FB5D213C160EFFD7A4C666C0E96A72BE5933F7BD4A0F09023176E4A6D48925BD7EF4A150F77F9BB474D78EAEDEDA6C43C74CE54DB7DE7279B8E5D16374C22BC7BD640CC32876A922AF999B9FB65FDE14BF25E730F99FE72F9C45CEAB13E37D53398DFD91B527DD24EE55A081ADE488AE7CE22573033AC3E75A70487DD92D695F3CB2F9DAB887B4C0828299F16DD1C6FFE74487E411849D0BE6FBF5A6AB2C06B04419A961CBF4D79FC0F7C504FAA15714FCA4B3F366DA56A06E3ACB1E9CCBDE20395F5699B52321AB141A2249E997B4036C0BFD5A84C1ED9D4A766B27AD829ADFAAD3C2AB33001A0243B3EB8BECD2DF2E9BA53F2F99F81CA3FB6B96F2DBB09C163C32189EC48AA66B0E5FB2EC8EB8B0E4A6E48AD908F1B895BE6F43268F571F91A01ED5CD876ECFDFA52D0E0A648E4585A9E4E466FBFF8A0FC8AFE54871F6CFB7B75241B7C671198B1168514BB065B70F93B55A5438D82966DFC5B77A45A06A37A2AFCC536B98A87F713546027F8A796E1017704C331A0BDA37FED2431E85D7DF074F0D6FE7A971C03B6EC3504D297BE554549AC1F111C7FEB7B7F65F09F850ACF92CA4249A996C1E66E0F959ECB8E484D8000F70CAC2BB722C170E3B649389CA9735EAF283DE08E4869A273B6D464D883C0994D7DA59C0C6C565C28DDC878FB4E5F97B91D2B49F7064552BA5BC97ABD54C960B47B4A4DD82E41881DFEDAAD9ABC54B5808CFE2B403EFB23401AC2FFE5033F98D1019AAC236C6AFC1F202C9E865D2859330825163DFEBFFA85C92B9871962CE826A73E6AA866B9A6D3FEB53F532583AD3E78515E9A7F408A15C82641B0BDCEC115516C9C8FF2D2EF185C374555A323CE78E3C743B204E1A837EA15961F11322296AC245E8810CC6A572318FE422AC28FA54A06AB3F6D8FEC449C7026B05D7D1A179377E0F45CB4E3AC7480EDB3FCED2A8E9E798A6E63F0BB18D435829AB265406D690AC4EC4C9F60E9B7E298D42F9D5BD98729DAA164BC58AA633006A09B81C188F1BA39AA891C0DBB29B5E807837735002AC9112C2719C7D7B2E971887D7EB2F6945442D0DD6F483DB9732F4ADCC7782BECD85684909A94CA6579EEBF6A074B07A4267A65A15F940CFA270A3E26755B1D161F54BF07AF3EFE58DDE66DC0690B8FF5517DC38444F56DE41F27D56FDE436AA15425C1E8A1CFFBE91615D00E19D55419F245477B0BA76AA74736B18B073E0E5260293CFC9DE01FA314F3874FEE2C6DC5D15B1175482F974737953C8620F9E3D0DF04F521B5BC29BC8F19DE679404786AD63E755B5A22349BB1E7B1BCCDBB082B6419B945F5D93BE0AAEA63AB6FF7AADF33BD831FCB3EC7B753C926C1887D3A73F5B6DC80214B48CC8D3B0F24FCCE3DF59BB077F72C191574383BBCEB8C03BA23BD8B9F457366959C98C22784EA4CDD257BE04FFA1E86FC9B70ACE6FBDC5B212816BE5959BA00E4F738D2F03F4EC9F8BF0215087109FAF93DC0909D7FF0973A9E396517FC770921C28642AF63EC39EE31E37F13510306E06FE019C08BA3C63B079E817B9687E35F3C77561B462E21D775744E92301891A0DE01D7647748B8EC01F4650B20C704D52598806F2F07788B276ED813803F425D4AE07B69E0E7AB147277A83A98C95371DC761554BE39A6991C381B2E8DA602FF05A6BD31A6E9630B5156416FBC089C8484412D3284E4FE29D42498E1E8F08652DE4186D365980287CEDF9053800305E125661B8148B90BC4F7E3F86ECB3E4FC003602E68338F1C521B6ABB4EB11C6AB2512CD743A8517C9B4C3083D133BE6067A82CDC7541B904EC2E0C11552C7F36A9068831B14E6E18340E1CFFDC3265508EC4EB18C0EB48C3BF86B72DFAEF9E5CBE1529C76187D0D3ED8C3261101A2065BF0AB056550A6797CAF8FEC39E73B270FB59E90C14E9A24E956C3147FDDB597B8F7ADFB348406176D3F87665E4A3A74ACADB4B0EAB54BAAE8836BC09D78AFFB91B60A808F1C7DF0E9430B025F85A751C33E872801EE5CD964925A3E48246E05F4EBCB839F1C2D1111D11795F4537F81C23F047CC9C1F204C21176FC166B56FB81EDC28EFD42D285DEB1555CFD07EAFF35FF166303A05A76D0D9661EB4FDB6E942881B7E12D6F5832176027D915769D81E58412E376A7F14606F1ADC41FBF07E2CD3C0229B5EFDC4DF5765BB5BD01901826CCE6C5949F00C3E6E5F3CA0F6038C2741E473A8358E90B0BFD54A8A82024F4F9118D8580C5FF23EAD58AC02435F162558474F3847427AC3B5AD26755DF13934DCE00FC61309ADFD99BAA36C7F740FA46C06F47E28B3DF1E992D2BFA987CB09C9F162B05348C17A0DF6C1EEC0EBEA82CFC0E33C0C99342D007B2188CF5562C22B93206E45DE9348302C21340CF22A9B00B6981BFEACDA63EC8E2AD91F6F32DF6CBED57EE722642754467548CDBD83EAA9736B4CD929079039A4087D7BBA623EE90D89402FF9A34E80BD8BFB6736F92CC44BD70336A425069116FB07D75312A616F06A07204DEAC124A886ECA76869ED8ECFEC42956515EA52D2897617FE68F332E89F118399097FD932655450F0F8DC3FDBDB0498F77FBDCEC89FE83389F6E17204EB4BE7CBA67E3BFBE73283ED857D557FD63EB907C660CCEC470466E3720692710E8111769D0917A682F9E28FB98571161541DE613ED4812805A9531C83591E8C531580BCAA18E88A50BBAE24AF7260D6034D3A1B0F7125627D4CE52765043C6700D4680F0495D9564A1251B473115198864C728EA322DC6BFBEA05A46783A2F234A4ADD58B65EC279386D9D641BC580701A83C06463C8397EE246CB02B343162EED5788EF13B9DD075F00CEBC3D6AA83BFBAC5732833838CE88C6867BF89A8C8693C438EA36FEF9A520B769A337289C1A8A23C27F9AA1CC1E7A00A5700FE427BCA1151C26C3E7515F6D9595904780C8D55870489950EA2BE006C83DCF8C498C965D864576193393552310615C06CCD3D7329066F8CB7A96C3E37CB379AD7BE089B6EF1AEB3F20D982D000F455303846528D55E030E2B312A5DB7E7E8932A67F9FE0B4A5AEDC0B8682A0D15D7AF6111E95CB788E4C703B7228EE7894B11E203ADC107BC39F09A1C055369A9E7F03CD85AB931AE79F149F4CF553C83308C6B149F0507DA11E119BC83422F5DEB159166B0B9AC24246DB60E8BFDA39364E0A73BFD4103A7FEC538198C365783E9BB955A6C03F5B2E6DD6A4AE49AFB48B5C778DAF84D675416B3DECF0220CD9039531F6F093368080DA6E19FD9499D06AA9050BC9174739C868DB23F345C769EB9219B82A19A1D24C23299751F540B1F06550B936AFBB7282EAF83711A8111F58BC9FDDB83AEC91C30DAC23D607EA811457818DDE0D6E806A9D610D9DA5683ABEF29AE4F5E671B6A8B7D0749357F2F9277F9D290A0FABBC268EF01C6325E87D2761B186719187131FE3C61A0F37E4835A1EA793FB1080FB785474E40B0DDA506B0FE2529ED31D32E0A891FD7D82A831E4CEA8B4C2B5F68972DF854855F622EC26CF7E118BF3E48AB73A44EA999986FC089495D84B4B6BF57DBD2268B93C11623EADF05D17F66DD9C04B73AF22EAF3D7451FAAD3EA1E031EC630EDC646FF89DE87BE22C2FA9880F8ED274D799EBB213EA7622B2AF39E3E4F5AE7FD60436D94DA9FADF1D7697E3BE776A168CC56CF4092DC5C39F096623164B13D53FB3B4BB40B29833BEF531569F0C622F82A49C0DC6A21AD1444C5A5F48CA8E60625DFEC9C8540B21E989533352C4C4964A4BE4FCCC5BEDA35A1BDAA8A8D4532A2DA732E613FB2218AFC7B16355A059F8D37D2981B198F162599447885D1D8851933293A233B516C31E7B1B15891C915306A38198F5A34D4AA72F00ACE41DC04B8C44E9361499D0533606A9CD1E80C77CDDAEACBC0849971295FE4602D33E1698F6EE28F836B7434599B6E58C0C5C795CF2A3CE44A76A059434201C599315B37170E78329BEC1E0DA5C0050C52D6113B5AF961FF753C072164A1FD46AFF3059098890176C3EADBA38E3EA8FF17A172A47BF64CE988A10EECE90B8D3A10148C1786168CC7747F59FF97891463EE32963DA94D6B7926C9F7CA6AB219906AE39A1926278A1214F959089CF9589F54C17EC3C27EF22A985B53A6E4F68E1108DEB94C13E4341B6D1EB02540D8763C8DF331A81F4167346A96616B8C024F87006342DEE50A426D76854865DC89CC6B548097B0E29692F406CAF81413F1B88D59E90187CA02C83B9141282AA272E66A39A67B1937930C439CBD385E8D87FC60BDBA3428EC66AFD86FDBF80A9787D1B611CB8BF3B24601BCC5AA95E5C61AA8E90B074F1509597FEEF766527EEFFB0BE54873941EDD00E492A2C75E08F6CF494228EC5B4AD67E48335279580A1C7600522245A02B31F5495E5916F4ABBF6B3674BC9A8D6A56275CF92C1E82DCEF7193CCA30EA3601BFDE1C06B126CE62EA02E6EB1F7C43C162BC609719F7EBE392F35379C0E1EB12F8DB6E7DD15C4DC3338E44A01BFD3EF149C358252CE3CB6C9C189089568189D61C852B01C6BA43825DD50E19DC2FC5301F0DF6F83295B15D8D65DBF85E2D6909F70F8D6AB74F36ABE71004F8514AFBF3369DBC2AAD16F8A9993FF34719BE32CEE2B9BFE5377BE0244380FEB3D8017A4B069BE415244361579173D7016569A4BE2B8FC9B75B82853A7A53AF9A8F0463A5EB4C3C0F55C88987B6BFA86AAE7CDAC4A9A11E5F66E30BB501506732DB524A3650478C0B99EA291447E1802786A98C63DB1648DC3F781DD4127B1D928DF4FC7C3F356BFBE6D5F2D2AF49CAD7B36009AA9673F62B1BBB6F330F99F14A796397551AE05F90B45FC25EFBA06509BB7D960CD6085CB91DDCB9A647753B238FFEACBA5F01C0078E3D08A09CB62FEC5A4D811FED911DB412AA4F1711A1B479112117D683D800FF8CABE48CD9B4E3D395B6EC1CBB3841DB5446F5E74A3B0351B06E1AECB0316D4BCBC8FF78AA53F4CBD41E6E04D6BA7814A45E603E77BC6CBBDEAFA7FC67BA1F5A8D33CFD40792D78E1CC12F0886930F3646C9FB1BA222E0333012817B04F4110AF3A8E8C183A828B751D13017BFB3E1AA1B933705A97EF5587E2441DD8A84753B7F47A86A83F7C7BF1A937D5D6E8BC7EAF3F8C9B6D8667C89301D9EDFE9077FDBA90742C3D536DE33EFFD5191863F0DF9CD1EBC79F30EF805BC429E21EF18C9A1046329EFB25F6C8F6558D24D50E0731FE53339F471031573B4E3D614FAC1905599B1C0B4C317747F6C73651CEBFA131330D9188680B1AB4443F50740648623EBE82C03BDA022881C8C83C1FA16A6DEC6898DB33693AA1D16127E0A7148A3F4A494CD30027618ECCB53231A4929174234CEFA9AD07D8CCA5499B043CDD22F20666A749354C1848BB5CF4EA27F76212423B7E9EF9B4F5E516F4CEB39FBF526F579F1C65DDB9B64B723857F2CF03DABFAD166EEC3FEA19888DAB67CDF79977A43E9C2768AC4C0962935F89DDB122279F44513DB2E1CCCEA3EE4232F3B69A5EF6FE1CEB3FA528FE4536B8E4B3723EDAEFF9FD9FB54BFC93B4682F73B36799D8866B0F68BECB1E1887BA9464A8EDB16FBA414DCD275E961D58F09FF04DAAE8A59ADDA86C0AC6D9BA32F0965802B1191515F6E3CADAE4166E4776EB3A2845E872A508679A9EBA00EBFAD7914C853DBDE5D76D8B6ED517C298167CFFB07D0C0EEF23A17C23CFE0E552443080DA6EC8A3583D433B50A45DDE5C8D094F3C99845BA16C79BE13E6916E33EA9868CE983087B6C47DE63030745DD12AAC20E02B1F13566CCF3E0848DE5AA808BA43BA2150331B3AA5AD8DDDC4DF53B21D7AD8E7BF1C3BD6857051BDA823866F3E97B62992D0E2F9A8C1B2BA242E3D150A0583E6AA002E4FA522C28C399A4EF90BAB60A42DCE790C15898AD3892258C76000FA66FA8C0882DAA046504D0978F82943DF291977AD897E0FFD2D503CB4DDC21278061DA3BB49EAD0E97EE1F6D879730EB3C8EFDA4B86C2C7AB3392B9D02C6D2B5EE795E4BCC5007362DC6AF32754B88AAFDA57EE01F6BB90E06A3D1D1EA288AE188D1CA013BB70AEE0802268DD409A139D689FDF6B50AD2BB51F4F5A092243FC69E7EBFFB135ADAE2ABC6F392FB3B6DF06CA3B62AB472D8D86676417A3D8BD61108DD17870CA61EE2302F05E37D30BE859D31A763632170AAC53756A72F9A984FED60255C24F2F366B6A63C90C8CACCE8C3987C68180E0784A88E6EBF1CB5491F86BCAC8C77C6D7E6EE089189601E5BF0170FB407E292945266970C253AA5DB5CC41FB57463986A2898B04783620EE3B69AD1BA32C44242FBDFBD5A1128868761B83198708C42998381C0DA4D45AD574D19E0487E0098CF69F8F98C1513F5FEE4FE240ECF03B151BA60AEC2E9AB89E39CFE638414F1E50198DF68FC3B64309E580FF54C77011E627C60DCDE06BE2686875675AB2E2FC2D198D2B40EA19C6767EF573526B6218AAF492358034636568E5F263CF4FCF9A84AD1E7315D809498F94A0587B01C476A908CF22198AA7BFDA20E19455F979F64CC79BEA160CC60B98802278A62D4E7A066C5633126F713C6D3078CBF1831505227A8DA39AF5650892FBA0A10A1516B515B435343A848427ED6C1CFF70CA4694AD32AA05B5F86D397A89A3F0CCE7722602B8FDFA190153B91346C4776969AE1C7D8BF039431376EFD43439ABB47C42487F6FDE5A8E1E894FBAAFD5DDD4CC66EA698F42FCEC200EF89D2C6A80CDDA87C52E61EDE831E5CE51716D57C66749A180D57FEF1F7AF7E17A2B83FBEC47378AEB9CD166873F5C130876DCEA3EF0D7DE4B5D967F67DC3F1CBEA77FD69BBEDBA40039FC74D81CFEF51105E08757DB30FF48BF5D1BCC24F33594A30557A72A2AF2A7FB477505D1B53EAED2CD54D3BCC0A78683B2189BFF4C41A40737D4264D24B65E5FD160FC312E986C34F84C4858908577CF8BF532A76C750D65A14763396A7BC0650231EAA7C8020FE439C56B41A1CD0AC98A5B11EDFDBA0549C06556B549FACA833099516BB03BD6A5C19E400B059EDB0AC0DAB0131423200F534E8CD2728F1E4B006B64BEBF05D0FEC9F83BA1B294994B8D9617F110CEA37ACBEDD3869CC9A793BFB67C96050A75270AC8F12F966C34DABCFEF60CF186D8794B8611DAB5B01C67915F0164DE9066FD05FD5272BD7CC6E1FAD72B881696D53379F9159BE9C0D46030009AC1B0A35D80D6A30B92A3D13DC371FEAF34BA84F2E27A308E8D13E405CD0AED30B6F9955BA3A0E2F71D4B8E6D1E7E0FFCF40847400239A55A7ED8064FC42F06437643B31C3C817055B3469BB8C092BE73EB177BEF2184B06E34EED1D9FF2723919D4BC3837295A081C108DD4C42487EAB6E2FBD9045E6ED65CFD1BB5558961D7646330049EB9B299667C020B4720B9751A1EB086DF3066F6614B0F6907209D79C66733C2971D563095F39848382BB3C95251BD561DB3318FD5248233D33598C64FF40A966D48A250047CCEC0E61EF239705E1A0663C358C5DC58D494A7F42DCADFC09BB5FE769FAAE9BA05D95329493AA9D99CC43C052FED905F8F4B3FDCC7370EAA653B6530AD0E097B3EFB49231BD64B4148282EF1761A7D352971C3DA0766F6B7504CDF422096D37E2EF94209BC026F7C573C7C957605AC5547ACA6361433B3DA0E12153463194346BC9FB270257863B12C2B264301131B73E9FB8FCB0DB20709345F7A9D91A5588D8D00450221E7E3257EB57A413503A35B85B99188EAD9A0D36C5BFB27099B39885A1629453A7C65368B086D2FFC858F4A0F74A41ED93FA70CC6033454C45CDE71C286D3F231C068E5B15E350B77B81AB3639B89A122A8BB7A0E3143ABAC67B64D587577D86AAC434FAA8A7C807998A13972C0AA03F04FDB11FC9D3973A43C9FE79AACBB9213B3BDCC96CE4D2E21538818B4745132BB72A06CBBEA2E3F85E596BB77A3933874AE80BE86F993AB8F745B7144E1EAB88F75FCE7C1B6B25ABE4667AF938143F1C2A704F1C523B0933E44739C579729D5902947FD8993C1D4122CF0EAD35E39836A813A098070EA32706ED2F7341D38A5F75208A7941ECE46A6BD39525D5443D391143C18AB68283B0B5935DF60650F3A2BCDAAD03C185AC5BE532C4C1AE5BE21E9215AC2EF679421474AA8438DAA8A1BC85C4D66EE51CE5D0FB73B32AA54883AEE0156C422A32D0C29E0F03CB5D1F08F7DFE765B88F447AD30954D0500E354F499E369EE33EB7D14465981F4F001DE37F8000DCD25F9578EE700AC064C38FCC9610D6D092504DC78A042365733715635324E06638F5B42EF73C50AB351FF3B24C4F300A211D51086E26ECED2AF92E2CE99A9D398F52640B7BF6C698701A73AEF8CA2BF3A81E36580F5660218675EF5CCAA1F9AC1E656C18336500FFFD2EA9799C134F23457D6BB32CAF39CE4C88045B062C81963EA63CC9F2CDD4420E72AA875526D248A2CEA58D16EB646E063B6A15E6ABFCFA03AD20830EBE42415B9612546F8F97E072CBD2D24AC266DF433BAB1D109FECE2506D33A98B6D869C4A08CA9E93A06C53A0ADF010B9F1CC481FD0486FA642697C06631820A2949C7FC1D28E3FE39AD8C72DA33DF431DC6D7096CCD60C099A35E57D4A45676B7A68F9F5C312816738D0E2C8C7A1B9963CDB8EC1AB0F841676667AC08A7327B80E91F8154FD114F7BDA5E2694A6928D47915C029B7248AB12F2C5B3A5ED20CC16CD266873574C7458EFC38C6AE68CD713D95B8C76E8520D56177089C17832F3E0D622A1C2BCB6CE314CFF2BC05F46A4E312A02D3B0275999444A9D5E9A7E86C620EEAFB18D4B18641D531305EB357936232F1F9B2092AFFA419C62CC1FA1E2F2E91B4A9989101756626F3F1A3038A49704496382707E6768CBFCDABB61963C27CD9382BFE2AE665639ADD92372A25B934D3C5F1605CCB5124A018ABFC68EF423BC0D57F035CDD19B9CC602A008E4AC8B46DBC110E688C84564DCCC2E9819472964A3A8C68BA8E05EAFD09F9344B2DAB81D48CA18BE926E45A3C47B76366987DE16E32E75C3E898CCC08E909263350E16C77E4F3D2D1B697DEAC55AA231B511FE3EAA7AE37CBE3CD2ADAFCE225A5346359824A9377A9ACFC79281CD30D3E3B4DCC2E6F8A446C2611077FDC50A5D6E97D8E3E5D66309EAC0D3E2E51770429547A550ABA04DE5E72487E847F8CD3FAFD28409298547CF3E099A596F1463463981F80F198B8BEDB668338D0CC60719D6BDEAF194C6F4F2CA339BBBFE49066F4D8D740763C91296F81B1BE078369E2F508D76152B1AB13BB783118673C888FA92A821FB7F6947150559A5872A91A7C51CC9133774C1F13D7A7AB52CBD88EB307603CCEEABBD56CD0EAF8B8B68F3C554CCEDDCA623B2C2E3F9AED408B2FAEDC9FF9854CA834330A0A86A9FC50BEC028283EFEDF4999F0F769E560F71D50D725C850BC188C63C0B8590D9605076DEC5B53E5EEA91FF8A730DB5C2A056F814E7ED5FBE2FA340F92516A513D3F8DF515B3664C67E778649BAE3C00FA7298C7C91A0F664FBBB3D960148CBE63B0A70EDEC8268722B249F0DD8CF2E05E7A6560A7CF705F4A66BE27B5DC23A476CE9B5208DF8DC499A436F675D22C99B955CCBADDFAD8C8AF5A39F5215ADD9FF2DB012E44D79107E0334921CD66C35DD27B39A04D507FFE30758C3835B552EFCC7DAADBF1597E30DE0CC62B68272B31590170B2F20635E91AA364EFD530007526B4DE6FFE8C4B6A3168DC14F01C9D956D5685560FC0781D1DDAD2DB8C9EF64CEF6F549B8DB3C17BB0B5BC2EE790D59773CA6D385AE3264876F8CE5E2D7845F2647AC86846770555A5F69B19DB735492C1B8DFEAFEF47662B3B6F6AA617367985F5457A5994AFBC3448E131973AD09BEE025BFF25558345D85D1D84767DF13C46014A52FA12ADF6F07C214DA82D555B43DC68BE975103903E17A8C5659DFE6C1304A2DB6C332502D803F530BAD730328BE0C46E95562FC76953154DAFD36A450069BA73DBAC5E8FFDAF60A807A9B0E2769F89D68C66214E0E9B2B981E6BD87CA3CD7E5042AFED055521AC560EA22E4940DF7B808E3A0FA08A936A4F879A9943D26A88DA6CD3699F69B1D08CFA69CB164F62018CB569110CD4856F7AD7A8FA0F826E0B3F438C7579AA9EC6CB83FE809D0EB6AEAB1A11B88D59528FD5F04B8E05784E28C80427D9CD56782188C8D712A5D1D36170DBE7751F5653E02CC9AC8807D57462FC24988CA1E30A0B150595C528BE7B32EC2206496B3981A6F6C758C03D26AA0CDDB755FB4F462F8677A3904BC41F4B42F0DCB65934E7A36E883ED0B42E166C1F55B20903E01F516D623B03EF2AF4005FF51279BFF015E33026972AC374B888DF24F950CB53199D126CB9FF58E0CF73CAFFC66F4F8F73FEEA198DD99148B8BC15E40F13ABEE82C40F235A04AFD511F443380F9057624CD5858B03653FFF13CFB00DD3103016B7D3E6FF55D38AF17A0021167F15C914407E5CDC360F53BC10CC60695CD8530128BCCCD027EBC570C7E9CFB2038A4238AA3ACC07A88AC34E30F8847B9FC6EAA6E9633BF16D10F5C5B8859DBA401A85335F985B2923146959919C9EA01A893F1AF383CD15C3A9921A026B9C3F5E6589F9B1177FC3E14085D3C28224B3BD62C24AF621D47263290697A0283D519C1F2AA9825930E6296B518C1EA39C0A69121E98C7CB1725EE98BF58604926C6299103B7519EB82D8E07D358792625CB42B1891104764757F7AFB3DD870437E3B11CDDC6880D9DF0B5EAF64630467D28C3ECC2A98B4B1DA22D771E21A9674F7699A059BAC0F6D32B89FFC914C63B4C9F431717D268AC1D8B85E55960F860BAEB7364079196D6F0B15F70F60CED95054ED4548058D2070E4D7A2BDF5DC8218E01D0CCD2528D3A91DB77A40E3CB60FABCD95502547CD1D18004431D8E3E89E48AF4E90151AE2E6D700F6D010D267311E7F40BEAD773C12A47445F557B2469302647262B8FA4D8E980B0D40733F700533BA39350C71330EB6484E4E2A78D1D1EAAFB1FD77D2F41ADB337961E517E4A022D7FEF5AD56697B161B3347B1D0CB5EAD81595C0C120FBEFB86F63E1BABF102DE0C2F5D42089598D37D10CC6CEEBE92B671F3E98591A6364745FB4F876AFAD7030A581D9D6621BD10304672D66A01CA0FF75AD6687657775A0D99691F479C66D5A25721BD5F1703CE48BB7B3D8CA888F5D1F282311306780FF082631718111092AAC0023984C3602EB828F0583A12C8E8C2D77C636BBE4C4612124E48EEB90800F3013359039B9C3B0CB7296ACEFCBC878CE5E50B6699666DCC60A859B7AD7B27347F8A0DA62133C333E8B8FFE5352C6B72DC343134449C2607C483D003B61A13406BE0FC0E632C294590AEA59548D098BB8AB8A071B1990BEB5C110F1BAF09A59C4EBBB7234A0DC67B55D9F6784E1E86DFCD446FDD188AC3229A0A8B231084F0E45D019D87865F06EEDEFFAAA67CAEB8EA40C4E6CBA403A70F9C0570A5D9467F35F57975D720E45592E99A420D01E5D6A1400FCB9A29DF430F6D3EAFEACB65B9918466406A5198BF9BAA1AF5BFAD4B64B6A516E28DA6478662CEC3707194F469BCCD83757BE270983F14264940EB059B8F039D5E1418493EC6A1438E80DDFA8D7718E3652A7BD544EC1541CDD90D5805A6D777039B5491FAF196C0E668C3B610BE9D243A350746F0CF0FA3D11D79C0D5B2C3ED40B594C73BC4384EA67196C4FCE5A3F86C14FEA75AC843C40B8C90C948CAB7DDD5FA3A4E23956DBB98F2FFC744C9206C64C9238115886E271C6BA5E3CCE4CAC4952054B21729596578046E1DA9A46C6341FEFCAEF2463305E8C535AAE5AC1683F6D97BDFDEB5AE64E32D58B524D555E364DB31D75DC6A40ADB63B6A83DBF4F19AC1869DF440756B14DD45A67A0D64AC6BC46C42D66CD4B1C3D228B77E0A118D0C98B9CE829A246977859951D44E27FF747FCDE7596D37366574F37029E93F606759A97BD697AD357D9752F344ABAC833D6DB4C98CEDC6E7FBFF030000FFFF2B2E15F90000272249444154ED5D077815C5163EF4DE6B2809BDD7D0AB7405B1201D11119122A82020022245AA802055A42B0252044145A5232DA1F79A004980D0438750F2FE7F6EE6B2D9DC9672032F70BE2FD9BD5B666767CF9C7ECE240803482CC29DD0C7526CDC4E09B874578AE64C2D477A57B4D97AA5497BC4D73F449D3BD4B79214CF9ECAE675FA60829EEBD56ED8F83AFA90DADA3B1EE122C30F7DFD8CE2FEEAE84747F3883C492821236B4ABAE4892541BF4D22F71F5B7F1B6E75BA1B72EF9164E8BF5904EDC8FD4722099FC88CA267D47D1F1DCEA7B6E6FE3B6B54F7D77C9FBDE3E6F60E05DF9692A37DD5E1E2B952CBA15EB6BF478589BB65D7E91BE29535A51CEE554152254D646E2A5ABF13B803C18A8CF595A0CBF7A47CDE74B2F3D372363B567AFC4E3910704B9D6B5D3EBB4C78ABA0644D9DC4E6B53C686F40ED1DB7D790BEDE8A60C7BC441E2792E0A1D5255B9AA49280080244D10867AF1D5BC72321582220589133EAD2678160976E3F941EBF9F9485BB82551F4A79A691FD3D2BD8EABA14C3373B7AEEB67802C18E3CAF08F6E0D113796DE601D978FC9A64CB945CF67E5A5E3CD22695EB771F498D697BE470D06D3937B8BAE4489754421F87C9B71BCECAC07FF001705F4220D7BAF625A456FE0C36074023467467F2A32761327FF745F960C111D5BE46B011673CE4F49D14F25B8792D2A46416293B6197EC3B7B5356772E2DAF15C964B32FF60EFE7DECAA349CBE5F0A7AA49693176E4BC6E4A1323A7F90BA5C2398BEF7E237351C4E287D5D74DF7BA3DF75A93BF7903C019249928432AC411EE953DB4B92264A20E76E3C90FA33F62B84BA36BCA664489958CEDF0895B29376C9A5ABF7A576E18CB2BA6329499638A1EE46B4B7B146C11EE30336FFF9B02CDF77495200A90E8172E5CB9442EE3D7C22B57ED8676587993326976D5DCB48C1CC2955A74F5FBD271F2E392E1B80949230818C7FAB807C5623B7244810F19DA23BD01AB1FAFF7B5A2E5CB9A71ACD9EE2817C93EF9CDADF1A925AE69ECB2A550B6490ADDDCACAA42D41F2E9B2138ABD6FEBE62DE95380DDB900A45E55A7EC511FAD41B1CCF2EF912B522F7388B4CC86F7020CF4CF29C1F792595B2AE0914AB67EECED14C9A2FADE147826FC17289FFF7E0AAC3F4C21CBACE685252FBE05E1C4E5BB520DDFE3CAB5FBEA77A57CE965439732920248E877E5AE149FB8471EDC0A952665B2CA92F78A4B227C939840AC20185FAAE39263327BFB7911CC8603DDBDA52466313F6E13CCA23F0E5E16499648CD94EBD71F4812B022DF2EA5A54C8E34AAEF44CEAFFEF697516BCEAADF6D2B7AC89C964524B1E1E5A23AD07A50CA8015EF0F67C549933E94365942A44AFADB92502CA2E7A3B004D2ED642E79F23089CCC780BE032A56EEFB5D0A51CA78A595D51F9692ECE8AF2308C6076938EB80A27C8520775E00D5B8052AF155FE73E295FC41845B6F3D4E2C43CE64971BF79FB6591AAC6B9F1DD61595F77E08AED061F13199EF7B413DF3CBFA5E32BC617ECE5B057BCFDD928A40AE47E85F860CC9146791078FA531DE7905B80791E920286FA9C97B44C0753EAC924366342F1269B2477821273F6205C1FAFDE567410E0886DB3E2E2355BCD24904A44B95448E7CEA2D9EE993CB9B730EC97AB0120AC29B3E2A25353183342CD97F495A9085853E91374B659125ED4A2892CEF3511968DD1EB7B9466C97739007F3A5BE2F7DBD2E5811CB78CDF13BC965ECD91C980489E5E067DE9206DB5AD3F7C9998B7745C0529A95CA2AEF7A675514D92B437275EBD9EBF7C51FD4F7973D9764E9814B90E3C2244FB694D2021FEBDBB567A5489ABBD2CBD322FB189FC57D22D97701D924E8EE538A6666FDFA1E57DF9BE249F39F0ECB2A4E667C87C56D8A4AF3D2597533B2C92F446ACDDCAF1498BA60FDBF7F50420242EE4BB1EF774742A6ED676F48D5A97BD57720928E6C94DFDA4E5477628C608BC1125BCE3BA43EC4BF9D4A4BFD4219551F0682220DA37C9534A16CFFB8AC5406D211287BB5F9E5B02CDB8B8F021EBFB86DB10803E11B70532AE1E37206D52B9A49567E5052916F57075A3DC4F06FEECE602577917A4D2A186413C178F9CACBE965D5A58C9218B2E03EB0C65CE993C957ABFD65F256B052F4D9210009BB57CB294D31296A4F43DF31BB06E50D945CC921FFD8812792403E01E50C0D4D2273DA1493F615B2DBBCD295F7A618F2C6EC83B28E13171CC4A77319A9E899D6DA9E9AB8F331718184CDCA66935FDE2D669DB83B804C55C29169E0AB7964E86B166DF75F882CAF424EE3BB2F06753322ABB5611776628460472EDE91E2DFED22D6C80F2D0A4BE72A39D523A76C0D92EE4B4F2899EA4F088B8D802846204BEC0A3967C6368B1CF4453D2F19D1309F95DFEF3B7F4BCAE1435140AD0ED98802679A2F37A926CC33DDDE07D0CF239BF61CB943C95FED735E966AE92D9AAB3EAFB7A4B88B2F6592B5573011C0CE17B52A2A2D218790FDCDDF1D2C6B4E86880FFA75834233201D10B112587CFD82E9A56DB9EC72E1E603290FF6C33EB7C971456A67B8A99BB6B9DD1A9206B25F16F1C89C4202FA558E200E186FB0F77EFAF8AD51AF484328565B4E5D57936357D7B2523A476AD504C7B9DF5FFE32669D45F4E8844930F59D42D671D6CFF9EBE855791D6D50669BD2BC907C5C35973AF5C3F673D275F171351E877B969762D91C9B92747BC66DB411EC266C452521DFD0DED501BC7A568B22AADDDF40A29BCE3988592C0E67263FA85118AD03B24DA132236620E1E8A53B521E33EB2EB41B9A3B68A3214415C178CF532A160A2A764EB643B05F70391DA8C75339E8BB2201923AE123F91308F63B281998B2BC051633AA515E2992D5FEC0E29BC88C1DE7A4CB4A08D518933A9942A415047B2A29648523CE64932BF79FB2423E274DA2478A7ADDC7F31D512FF65D2392BDF72E9727ADEC3E7353524233DF054E5134BCAFD7C0019AFD74C8A9F2C46710F418E1B56519B806655142875F8FC99C1DE7957DECE0E715203E44CD3E162D042372BC3DF7A0AC3C70592808EF80504F95961A61BE3130EA41701CF5467EE95BC74B75D2D1BFF59879F5A00884DD79A84C1BFF7428659D81D46A2A4DDD275721EF68B037D0E6E3FA7A6E49C592F4DAA00E9155922D99211D4C0A83F204AB8F7F04668BF1A02EF210C80EC1B72ED87EEBB259A562EE34E209198CEF7FE6FA3D5977F2BA4CF7B90093C41DE2A334CA7C4DDE8612A191CB2CCCF3997C4E3B20E0A4B31696F8705C6DBBD48BD73B43305E43CDDC07C845AD9DB0FFFC6D6930FB8032392480FC4BF34F6D700267307AFD59F972959FA258A7BFA82479D02E65BB4A93762B4589136EF9FB25A224F4470BC146A123FDD011CA2BA76119A6BCC28F5875F25ED9793A44F1F9C5A046665383BD17A4C0FC3A06847632CA65E3819C9FC25441ED2730E40164843D4A50E7FD6644B2F701CCCFD2D7F138D9D2880679C1DAB209677A35B47F0A4892191ADF48687E845058F7FFBE9A56565D8112827D47903A59A874035B2C90F2BE502B9D7B3EB3F8800512B43982FBFA39DC27B483B63CAF7551CB0F3BFF75BFEDBD77AE2C29A058794B6E7C0352D3893051F42492003168B9FFAB43694C8AA714D4CE63D4614E9CE63F1F52F27145285FDB60B6A16619846FE035CE57B1FF91F8365FBA4038F473A28C6007A0C6961EBB53DDBF011AA3368C7EB3E68C7C0D7E4FF5D7BF4F2597ED47BA231454BB2C3D2E3F85ABD8AF806ACCC7E01379290751FB0C7DFC38923A6FEF03E876F596E68A2BB0550DAB6F412CA3098416EF6C03FF53976A03ACBE8F8876E0760AF1B9914A02C0D2AE855A58784650C2FCA0463560F22892EA3E0818BE0E60617046597FD5A2191783C9624397B2565B179FD318C2B83FB4B7B6A5A16D362E6015B6F5F3CC5B7BEFC7F7A1C2B401023D3D10448277171E95CD272C76B7F72B79C8B4A6859582646ED3D16FDAF3F28DF1119A93BE793D9F7C552F8FBA9C86DBDAE0268403BD2B283394FAE1E45F94108C426379F8AC68E9EED7208F12CCD9BED2FCA8EE620A6C02BB349A1E9C3C3FD2E96560BBCD60CB11B04C819173018C84ADA1F9D8037B1FC0DEF5F68EEB76CC0866EF7A7BC73B9FF0844D2DB16CEB514E996BEC5DE7EA71DD2F330533DEFFCB9E8BD21693932E2EB2C4A5B0216A19CA789DABFBCAA401A33159902FDEA3426E8B46AACD51DE108B767E56DE6A5F73D46E94104C5BB969EF39062736E52E3AB7B5EF31A63613DD5152AC76988D6BA0DD10A85AFFD8ACB032D4EA6BF4D6950FA0AF75B4D5EDC414C168B4A5F2E04C7877D417E339DD2F5B0846F6DE1988B574EF45750B3D08F35A15716A1836B66F6FFFCB3FFD6434EC7964C1FCD6747EDF07DB2D0219FB2C14BB49CD0AC13463D136EDB5C1E32E23184970EE513B9449622BDC4055F358EC5A1FFF7642A6FD1724B446EF84EF31096C42B1019407A6433BEBBAE224052249932E992C05CB6C003F9911F407988E59DBBE8287539663BCD7B8AFDB312398D9C563BC87FBD38B9F8E605B73D5FC606EC7FC9BEC6FEECE0BD2195A1CC18C60B4533559784469D934AC4E7BBB8074AE9CD365B9D7FC3CF36F7A05CA4FDCA50212BAD6C8A5CC1BBC662BB4F9EA10FAF9CC20985772E2BB380297118C863CBA7CBAD7CC25939A14526DD2929D7F04900E38751C213785B258FC8B8E1E18D57327A149B68291700FD832A11B9E3F06B20B7D6704A32B281DE4B5C1B53DA513063A250CBC51017B086676529BDB34DBD65C35A09ADBD1BFEF6232FD888935784380DCC0A426185D493CDFE78F533215939A4076B508C66AEDDB550763E9DF71F82D8B8CF251ADF9F7AF6CF567765F7E42A66C0E923760CA5889200147E012826D8029A1CE94BD4A1D3E0344D2B142EF838D5128FFA86A4EF911B292BB801AEA88B56764103D03D8A7B77F3D1CB4049EFB15DE84C1384F4D9040ED76682D4FE906129E36B96B761B8D604418A3AF522398998268BB91D94340041B7DD643FC6F27979C602F41FDABA83E39FB47BBE2E4AD81327063A0250202371484437C48FD3CCA8AAE95923A30E6EAC080A1AFE5957E75BD1C9A399C3DD7D9F98FE0639EB9EDBC5069980BE333E136CC507946FB28F3D17A689A8E4C202E21582D58D537413B990D97C607E12E0D7AE50B13BBA1C6060EA8A2B43D679D8DE9F95D8137A5023D07807B636AC19DF9944A01CF64D5E12B3268CD69AB739BFECE4E30457C84C129972BAD43F661A48446A778E7C379D5F3CC0846C4367A08889416036E7AAB9DCD48795423A67F14037607DD9419B0A5FD88502215A4886B78DF1068BB6F14CF1C4190A60C94A2CF46D5CACECFCB4BF970E1DBD46CACFEA499C873D836F0684462F4AB64A594B341583E0481A985C9CE680C7BE014C17CE01BAC3C7E9732827236EA99D4E697232A908D2C6B7238CBB4F790D83C9E04E6044603E8004173DBFC68EB4E5E932188CCA0FB444361B84FBA56F690F7CA7958BD05FA1CB74418C68B19C37A8CE7CD08C6739A8A19AFE3BED1CEA6C7CB78CD5568C83FC3FDF40310EB388CA21AE8161B04E772DD82196D4E062A3F1E5F6F51D128A108908C2BE806399B2CB90D88CB2F203204CA68B9466E57C65C1FB8918CBE4F63BF9C2258E35907E5CF43976506C863475002022DEC05287B81825C18583556B41663A71CEDE7467404A3658F412628EC44E63B1C7C07D4E1BC4C84C39B9E02055042E894EE542987D483AD8DC65C2368441B084AC8E710EC51225E5B1EA13D3A1C882CD1969D8D6D90C2AE0517F811FDA129463BD06956F80C1FAE23FAE32C6CFC18DC674547FAA8A8D3B310B0E30A2EDC0C951CDF808A3D7E22A730EEF9C363F966C085D4094A08C37D56D991C51C22988A0DFAD65732C13D72016C506B8823E13CEDFF875F04BE1C572FAB599979D6A8E3E7EFA8A041ADE1EA3E5123FB1D9364FA8E0BB2EE384C1FF8D884423952C91FF0BBB94340B63CC1F29F8A4A63F8674FA07F0A80D4750B67922EA0A86F96C81249F3A5A6D61EB24F2A2832C63831CD4DE89EDBDBA3BCF1116EDF6FBFE8A8CC03C5355AF239AE39866F57B2D8C1BE15A544768B93DDD8198708A6B585F14D0A4A8F9AB9ADF795435831B5BA1508C67BAB4466EBF1B8D8D142EEBF888AD5A1417CAE16D2B9DF147EC38E70C39042995954002CD4B37DCFCB90BF4FF35265CCFD136E2D73C487E564CCFFFF095B5E6344FAD2084A1804C1BC43C51C91DC37A486A4703321DBA850A6F0471B59B30AA18190CFC0807508E98E4B588109DA04DC8CCEF55D30B26A18BF19D1B3CB4F2AEDDE96A86417C128CB648570C7D0DAA0C1D5ACF60E25070CDA82F82F185911CF1D557380EE5874B74D117BF61BB4C68508466C0544D29060C0661543A67F739B0C2E94EE8AFD78448A88A026D41642EAEF0872A49965083EFC00B845621A22AC9F4FAFC7706ABE44648C251DC5747DA536452390EDCD0465980C36CE50E50800F61936AC86F5D0421854DB20A890136829DE3F2E8106F5D403E04E039B0C1E624990E1F319DF9F6BF056C98A1C8CE0015523C98E76114CB3473339FE117C97C6BFD7A0E1304E2BAE41BB2B8CC171EC43BED13BE474F05D151CE70B6D7392AFE18301817AC13E361C3167C64406CA45C3206B0D5A0D24005011980A6A5DC785C80375839D7F8CB2E80603B112E0F1ECA1782E7D7A46E73FA314FA23A0F13BD8BB34CBE684F8A46276A9008D97419CF990CAE707B390061DC46974D3E97371B16542CF3FD0D469D4EE541911C0E1A0C5169B6C92696BB600031F263DD685C1FE14E174A725C7D4F151EB221E8F70911B7F2CDC73513DFFCDD907223CA5E2C4DDEAF8FA93D7D4F1872021C8F2096B36EF903ACE77E1DF1CDF0B613C678455872F876518B2C57A1D82EFC28E5FBA63BCC4A57D50A330DEAB9FC536D9B611F86CF6415FC32DFBC8BEEA7E410B56E72BE19D8CF0C62C4BDB8BF65E341E8EB3FD91F8E6EC6F67E0801186AFB5E00AB766B04BC17422E651D83E8C0177759196C5987A2648BCEB6DDF09ADB13BB6B72A8A16F6379A02CE43F1D0A0B55D33EBE4F96D676EC8FB70A06B43AC2D3302A339C66E0C90AFE17F63842ED9665344B4F68721D33B671AFD189BDBDD41B7642442989681752B6A0437CA373037F47AC5D3EA71D0DAA9D10CC2509E7908D4342B258B104EDE1AC18266EDCC0302753032A38EE09BE8C0429B1D72D3C1F970AABF07799231FD6B0D322083438B41BBB595076B13C1C83A12F5DDA88CA84F46BE1281B4EBBCC18D889A7825BF252CC54DEF63B3597EA8247D372959E036C285B557E17344948E07BBA1103DF8D5BC91EEB5F5816D211A55F201605D73E007D4A6041A13FBD7F1947A06FB1465D4B5B0B70D5F17A08CD0EA8130817C007F285931F34109AE3E575D1CFE6FD03FA7652864B7CFF1CC716F1450472933AAB07198861E8E7E2592F262BCDF5DFB2A6407317F744FED3668B11C8B84CC88C7CE9351B522E08B4D04538EED215BC55626B0CEC8DE8398A0B24E66B6BB5EB438B2908F200B790B9CEED5104E4DA0A0FC1154696702B0AB1F9C63306E53804C602A1E3E2EA104225ABF840B8A301249C32A40923F20B8F740D8382916E3D708AE3E475D6CFAA7159999500A3E84364CD88240CE1AC859648CD9613BE5184CCDC4FACF3D487B2B8758404778615408D9019B08A6E2BB60BD7F1582FCDF26419E798E2BA079FD890C2277A9F6CE46A6EBB2E3F2C39673D2BF411E452D783DD96035C4A4D1B6751C018FCEC055046056FA946D41326453A0F22018DB657EE72078329824C1EC6882ABED1ADB31EF17FAD64785611B63CAA8108CFCF78C18231BCCF7B9FBB732B9FCB85F25E5FE86D06923BC3AE3804A36F6850B4BC78FA9F366A18CBF379EBAAE84B9A6F30E463ADD67D529756ECAD6C048E7E2EAC0F28397541F8A8DF1B13EF2FADD87EA98F4DE10F6C824C45B2FB2B1A3856E8F61DB2CF74388E5BE5919B80BABE2D4AD416139876F53E7B97F0FFE120DAEB6A3AFB7B7653BD26BBDEA0BDF494351BC2B05EC1507232A0DFA7C5C6C276F09547DF8E28F53911EF7CEDC83EADC26BFEB11CED9A460FFA1EA4D4D54BF6100DB3F488E350223175A4185360B7AC66BDCBD7F03956BD2D326836F1138A89A952DA5853D8619D566C5C495FE90F2FC84222174E06AB0E722D2E78D5BADAAEB63B3C0DEDAA1A88BD9D0ABCFDBDB6A8199A1472178378272384364A15FEB066C8FAE4688D87B46748F6B056F11A81753FA8CD000948D01A29B3FF1961A86646A9B08A67C8DC377D8E4F7D4B652C2E18A7413D9DFA7A294428980670115218F30C1642AC284BA225C88500F1A2E934FA392280ABC92ED60AFBF82EDCFC5E421826AB0256BE873E6AD964DF5710648B6C7476809036B1504679A7D9EFA3AF356273233E9780DC410C254B0E86E4B4E0813317CF0019F053053A90C645F46A8DC85A155C7E3E9BE68B9D8EFAB2AD6EC269EB38960340226EF07CB38B482BBD022CD8DF55E754AC6AD0F50F14A2790DEF42C406B5A462ADB0BFDFA0EFD321B61CDFD738454A41CED8014AD801CCC46D788412D6E165C4C3D7E3BA99A9BF04E4108E039AC9679B6C92CE94540D29F80AC3A5890174705D9B431B51734C8B1E11AA4A60EF63464F3FBB9E3B7760FF6AEEBA9023E8DCF6010642A6A9118ACFBA8B3663466DB4430DE5C05053076A09EC12AB0C8C660954630C6253D2B9B0C0B797833BB897901E12EAB796071ED1146F43610643972018D101DA4E2FDD42699203C0E41773A5ECBDA2E92527A417BEC81143BAD3DF25C4C90ED6D2851745FCD437A3F59ACD5458349BFB74F056BC1186B1FE26047B36D3ECA1C87C7637FA092D01B10F2ABA0F4D6B6EE6579C80A76118C46C73E2801644B93E4DD1FFC7A54E6223A8109190CD98D2D1F9EB5674E76687BF118BE4D2EA29ED54A68BA0CCE53D9309818DA211B5DA462DB3B026EC80484059365298C417F58EAA837B446C2589CF309AFD0C899DB0214AF27CE55F24C17C10E145564D39462135821B3B356C235F3165C34D96958463C9ED1DDA43AE2E67FD43918B2CEC4920FE01E9A0D379119B4063906A5B77A879B71F43576118C192B990643D682CCA55F56DFC42DCF7B23168A1926CD61D19F869A0799E09C8D4BD0C65596199A098BB88A21679C1AE09357724792A9ECB13FDD6766A6FF8440C099A0843A164C234FEF5AB923AADFB869277C9E6311E26C444266E17404E569877A15BA26976EDF15649B047308E138E2AE98E3F0213C102C8B6534BAEAF6DCBD65606457041B2E81059F99647B90D4A3CD31FAD97A52B3C8DD351417349FB78B606C60302CCA0C6B31A6A9E986B93D83488B32C83051F20684BFE1F52C091799DD88688CE6A09D8EB15123502C8E557828E3DC44C4C72DC84969C38BA4E87E3A432A0EE262B0A439BB2E2AA541DFC75A0F1F03513EAD9E5B654DEBE3B6B6D4F2266E0994298888B8074F80060AE5ED11B2DD022CDB3CF91C211BEF675113465EA4C224677D0E56CDE95F9D1432AD8A1E7556B34CF7213ADB2B1813269E0C580B473C34768EE1BE4FCAA95202C6F628AB33659165AE0637CC2B83902D6F068708A6847DA8FE4C82B52760325981C5E326212E48F9E1128854C6C036459C58DD8219D42CD4EE1CF3C31DFD66BB81C880E61F7D7D3E2822B71914C3283CEBFB8DE6049A0BCEE223BF674350D7D713217E3BC8BA5E57640BD91CBF36013EC436C8B86E0FC462444554D93ED9092329E6810A2ED88FA855FA340960A1D53126CD4A6546426CD648086B44B69F81EC5E7033E94043B3F9C3D2206A5CE0A3D7444C7E25C4EF97CB65A999912B5DF268993028E731C7827D5F76E88AECE0987048D0EF4F90B2360C259D6C994634014264A43C8066C9F29C66708860BC586714D1F9BB028549EC0518B2E4D218B08B0507AF441286490D4A21CCB630E408566749084182B204BB93102F4199879429082682B3F80BA0A920DC3D63EE30D5E49A9CC5B9534B250C7005ECB3B09D33D9844E7256FE598C70E5838186124E1814062E52A06E8249119DC910A98F38C08FB61C1F8B8A070309B55F93D79684CBA905C2B6997DEDAC2412C78685E276926A6382F906DE96CDD88FA470E84E607C3D41D1BDF0970B7FA4741C9B27C062E20CDB432C89A2F6C7E1383F80685B4521F5FDDC628CDB94CC2C7D2016E82A94C6D3DC570188486564A31B20D8EB1212E6EB9C22186FD0752758ED6F2C8A5FF4ACE949E4B609A47A6B30A0BF6206EFC0809C625C3B8E451930501CA43C409ED2883A2022B1BA4D0120AABD671B9F41AAE00B417D19910A48CF32535600A56A522C9334C5076E8C2DCB97BB136818FEE3C85550CCCBB282D9EA9AB2E1A1ACEADC12FD78071FB422140457DFED1410C317138588B71FE97A6780849C9C7627A6A31784265E00B263654CD896A0E09C70465383F1568EEBF8CD01D29B055610326DAC5F61BC4EEFBB8460C4FA016083F48511583077014A34EA7292EAA09D7FEC1055FD1397EFC82908D144401EE32C525BFE03644BC31997547282F493D447B50E95F9F166C3276598B6887F6F0ECAC10134DBF6CCF7BBEB370DD59C804B806CF311864C195243540CBBFA1EF3967268D08DFB720E631E04D9EDE22D8BE1989C82C84BEEC12D11A800CA3D15CA924A99585C416CCADC6D161C95ED288442A02F98ECD311F77009C1F44BA838A5A54865E7A0800A742C9F4D65C35404E63B7A88BE3F2EB74C466055692A00CB615362685154DD36EEEE2FDD53D4C2DE444951B2A9A824EABABB6FBA7D12171F708259C81598094548515F4CD685CD8A440859D7D79BB7514230DE4CAD8B42FD0F0849D6A43E6FF694D2197150B540D9E83A72277520053C05C4390696C778F623D8F28F157F088FBFABA366A82EE3692B084E5DF81CFD63EA1BAB14EAF29524EAF911024EED8C21EBC5C046F9C7C0CF22D81684F9C296401D5BAF442ACB325D087A90E9888B6328BA0210952E08E926D5326BC5F69E1D6504D30D9114FFB22758A6C04673C8283483D61602C255445CB93762973CC0FA32A54A8C64D72442F345266C294893453EC4483281D3F2F7446DAFDC255947622D84FE60D43D555B24DA3210F0C4B57B72016C5649ABBA23A6AD5E408183940A0E62E6436EFDEC69B116D3E5CFFCA72A268292585C88E2F6D7D5D4E45C0D7F6A23F855ED02C6D803D5070B654CA1021BB3E35E0AF3D9D35A84FA6C6930D62993AA34C32448CE61BAA1FAC37D64915440AEDE7D2834479060D0A67901AC740F62EC7C91697E8208152EBAB00F8C83EB065BE3BBDED9A32CBA441BC18C2FCF40B435C7AFC976981236C21F67CB9460BC3E46FB18244F68A3C531938BE28FC9B79CD54C669DB8293042410EEDAF64460FEBC03F8FF016F225598AD46806D285663E8316474DD342AD41B1614A380C6A1D000A6E4480D87E2F9A406AC10F5B052690FA88E6751632EEE8F9B18260E607705912BA5AA8E95C04F5B9086AC46DF0ED5009C4FE2DB0B944984989216C2655B38A55D0F11BFB59C1DF49F5382B59B98F33336B6ACB96FEBE7C98B53A01D8F85C3E233B6D768073A0045CAE8633340BC35CC8560D19C9C6FB9EE5BE3143FE32427348E1551AD8D06DCA86138C631C033390E2FB839A53792285BF8471E59663104C6A0F6A74095489321E22D6142E8662FF11582F7FA781809F9B638B71CD163ECEDC5243AF0C4D9663176B10213AECFFFC870E7A1BFC8FBFF54D9801C3403D44C15A8F3D2F3B5D965AFAC6AD86417FFBABFEDA0AF6D4D7FC3F6DDD42C1620DFBA3D8102B56D74599A9F4A074575033839678239508421692B38269517C64B42F27F5619D0D52573FF48B15A2E909C88C1A102138E7AC2C52B41F1CC737C62B04A34AED898A2F74542FFFB0A4BC0DBB174157026A09BFE0A2B6C5E378886D3FAE25D2BF16C389CCA50C17C08C42580EA3F03BB08ED3F87AE6CBCACF9DE9C7F69B383E1AAF108CAFCA32DE9F212890EAFD1ED450A07D8E32614E201EADDC5B0C99488E87C67D67758610B3911882C314374E8EB2132C0B774D6C5A483E81633B3E40BC43309A27D281CD3C84C0BB168B13D0E14ED0B5FDA972EF434E5F541DD9B1F5B1C906E96560CA9B71B10AFA2BEBA3D01FCB075C077B77A72D31B6DEC59576E21D82F1A5B9D069DF957E52132EA14DA8C243A081363FD2C1B8F29AB9B682BA208EFE4DC7FA3F5DB0FE0FE3C6FCFA56B61A4C6B62D99CFF10CDF02D82F6FA9882F6E2A86B6E794CBC443095053D14E609A8EADB51E75DAFF4A6167D42F60B8D9A1721E3B8336ECDD6D7A2D9241B2A7573C1ACBF907ADF1029F804B57CDE84DDC2B0975BA05EE60A3CB6DAFA7F39162F118C833F142BDCB26A8E39E4BB11160E5D8D301A268B30A998325A5C0038A35A158D2BE1364458D05FA8ADA64157AD19DA289F0CAC9F471F8E17DB788B606A8176967D44E1B73560932C4647A031322FA23019796A2B86DC5D5F750C721CBE408E0363E3FCB1BE9336A032B2A201D798440209652F57977076573F63BBDD788B601CA8EFA15132CD8C75B6B85A85F600A8C462D8CB083BE0A76418B23B412DFA893C4EC27F08CEAB9E37BDDAA745BEF0581FE54CFE1E69705C002CBE41BC4630BA4A8A815A71B93D7319509D35C5CA7C87B15EB6BBE431CA5D45BFC3425C88A51A8BD538582045832E3FC97AF84730019EB77022DDCF986CE33582716074C921B2A04BB0396581804FA0DDA9094A20300791156BB660493C73468CBA3006FF18A5501D4B051E4594027335593044CB7C9721E86745CC1A439F1D851CC7E0F1CFC5ADF11EC138CA5CF99585755BC16ABE30DC6ACEE30C3962BD0596206034E9662C471C5BE1D30C93AE01D303E3FF2B8025AE87D668D40E5B23417811E2F59957BAA4DDF3E15DE098C436BC1008A6FC7E58FA84D4C2BC0A9A11C9189CF86FC7D231A6642CF9547FC63E154448E46245686308B8750107E40204A206AB312B3CB63FF0B36EEF8540300EB25A87926B8923D8F1188AE719177130221997275E8DD8B1E82ED3C264DC4648FFA7CC650BB9D4620AE376A968E06558BC2026EB3A3E6BE471E5F92F0C827130F4922845217371210363E60C91AC3552E4B9AA09B3A726A3DA745714964340864B403BD73454C1E98E9AF1CCB6791D8EF68528A960A45CACE9E18D35062893C5F5123C2EBD841B2E7AA1108CEE22AED8CB106FAEBBF373EB62111088823F4D1B3D51EF954842E17F3C2ADC98D7A8347F072E90D013957D58D693C83901EE1E66846B819ED71301DFC3FA8E0B90FDCDBCC89D70BA1B11DCDC667CF9FD4221183F9A5AE3126603BA9158CC83352DCC548A6CEEBD45C7AC0B557171F5D6D0025F836B273FE2B6087EC80D40E97159082D54D76A659DFDF95871D6CC5E895C1D516362CE8EF3AA0480DFE71522D4D0520DC6D37F2F1C82F13BB21441F96930B402C9B8D6E5742CD76CA436BC8648B104C8D3FB2FBFA7855078C206D0713DB6517EB5AEA3195949153B21D58F6B2E323773173455A6FABF28F04222183FAE11C93A2063662AAA03D962590CAFD982C5A95820650D22664F5EBFAF70A3201608AB8F343D1636A90EEDD356F80F5932979C66759C1711B938502F2C82F1E58D48C6EAD44B10ED1A5B25419957D80C51ABF422BCA8C8F5C2231807E050F06D6901ED919A1D7C3532B6713E87B537788F23206B35D66EA0C6BA18DAA4ADA5EE1CB5135FCEBDD0144C7F44AE7B3818E13D23B98C0C3084CEF1AFB1840C2B291B976DD6D7DBDAD204C10ADC43B196A63F1642A5E6D0BF9E97AA99E5CE2C6C5B7D799E8EBD4430C3D76051BB362863AE1084C71133DF12B15BB550D78282796E54FAD1E1340C07D2B5CB369C0A91C52875A92BDB104117A08CB9BBA3340C5D7F6E775F2298E9D390C531BB67F4C6C008150F4D97D9FC49CB7D5F6463374136B6599BB479C30B70F0258239F8C8F461FE7E1875CE501261274C1BFE08567C18BE726D124467E44382460550B6CA7094BF553C4BBCF6293A182687A75E2298C3E1797932A623F012C1623A822FEF7738022F11CCE1F0BC3C19D311788960311DC197F73B1C81FF0144C3CAA62D387ABA0000000049454E44AE426082'), +(47,'image/png','img','89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C0000072AC20CA0FA000006F6494441547801EC9C7F4C55551CC0BF0F4451537E48CB018516361DA69331538C2447D3B65ACBF583D60F6BFDD31FCD452CD3CA81FE656EC58A56A3CD6CFD32EB8F666ECD9A45A4563691210A562AA89989FC7A848A22D0B98F7B1EE75DCE39EF3C380738F0BD733BEFDEFBBDDFF33D9FF3F1BEFBEEBB3C5F2F590017246088800F05334416D30608A06028825102289851BC981C0543078C1240C18CE2C5E48316ECBCFF2AFC76A61DEA5BAE80BFB31B498E410271B1D19096301916244F853949530635C288056BBE7C1D9EFDA20E1AFC9D9016170BB31363219E1482CBD823D0464E1CA75B3BA1E35A37B45FED86C29C54C85F745344038D48B086964EC87EAF0ADE7D301D56DF7163441D61B0DD040ED4FBE19BDA2668BAD405DB1E9DAB3C1865C12AFFFE0F566DAF818B1BB3959363E0D82350F6EB39D85271162AD76641E294096107A824582B795BCC79FF301C2D5C1C92B0B1A30BF61C6F8693CD5742B6E3CAD8209096100BB9B7C5C3ACC4C910E5EB1F53ED854B90F14E2534BDBA14664C8DE9DFC179A52498AFB01CAE6DCD8598E8FE5E969456C1C186B6BE943DF86D1387ADFD9B1CABA2C8BFD818D84E2E8B9ECE9A193226DFFA9FC05F9C03D325D7E061052BF9F92C9C2267A8D2876E0F26F7BDB60FE07257701D5F8C030213A3E191F949F0E55319C1C17E55DD089F5735C2D7CFCC0F6EF3BE082BD8F4E2035057900529719302C766BD5D09950D7E6F1E5C1F0F04C8192D3F7326EC78625E70B47965D550B83C15EE9B3B23B88D7D2115ECD3C31760F7B126D8E95AFBFD1F2DB0F2C31A00F2B11597714A60421414E7A541D1CAD90100E7C8FDD0792587A0BD7819178854B0C73FAB8575B9B7C0A2941B0207DFFB4135ECAD6BE626C28DE38800B934EB797305F8DC4BF2B72ACE900F013E78F1EE9B0740900A16F5FA3E68DCB00492C82705E73A3E7A430500B9E186CB382740C45AB338193ECAEFBB1FB6BFBE0D5EDA7D0A7E5F9B39008C50B00E22D2B4A2FDD0BB6579E0A023E73B6021B9FE42C106301CF60D4BC9AD83BCF4F8907E7F38E9875F4EB4866CA32B6CBC2C8EC62BB513A3A0F78DDC60A86F7D05B46FBA0BA64D0AFD5647289823D4C39F1C833FD7DD1948D277FD75845C7FF50493E28B9121B071E52CD8BCEAD690CE8BBEAB87CD7BEA43B6D115365E1647E3955A72CBEA2211CA79777396FBB7D5908BFD14B8273D31E470A160BB8E3641D9C17FE0DBE716040EF8F8D0BFB066E77180EB285808C111586185A1DDCBC461E36571EC998EE6159EF1C8C57EF9F30BC98DD88440E863E464F44046123C9919FA5DA55030EFFDAFADE5A7E115F23E0BF8083F653F622D2B0C2D42260E1BAF1A17362FB96551BA7A0EBCB02C35105AB0EB2F4826B7B25E261F0AD94528985388F3F720F4542C2B8C4D88AFCD136085A1BDC9E6878D578D1B4C5ED6177A3C0A464958D4B2C2D0B255C5518D1B4C5E148C52B3BC45C12C9FC0D15E7E767AC280DB147B4FB4096F53B0F1AA7194812C9E15DD3933E2198C52C3560B01144C0B464C2222808289C8E0762D0450302D18318988000A262283DBB51040C1B460C42422022898880C6ED7420005D38211938808A0602232B85D0B01144C0B464C2222306C82F19E23121585DBED22207C1E8C0C63D804633BB20B1F561B8E80EAD31746BF8B44C1C24D93BDFB51307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251307BE7CE8ACA51302BA6C9DE2251300D73E74034B16C727FC7D444EEE1CA89820D91B4AFE0C72166901FDE5BB2421E30CAF7A260439820D372D1D26C960C05A3B318612B031761AAB0E1363F2F27E3C48ECB8933F6E3276C4761698F92001938DD25DAC88732907162C7858251626ECB03A7E36F0B78CFB0B313E12963D4AFF238D1A2D971A160948ADBF2C0B1C03CE1CAABA6F22A17A03990371EDA05CB0B05A354DC96078E05E609575E359557B900CD81BCF1D02E585E2818A5E2B63C702C304FB8F2AAA9BCCA05680EE48D8776C1F242C12815B7E581638179C295574DE5552E4073206F3CB40B96170A46A9B82D0F1C0BCC13AEBC6A2AAF72019A0379E3A15DB0BC50304AC56D79E058609E70E5555379950BD01CC81B0FED82E58582512A6ECB03C702F3842BAF9ACAAB5C80E640DE7868172C2F148C52715B1E381698275C79D5545EE5023407F2C643BB6079592D9853BCEE85F7FBEFECEFC90FB63F537979F50CC7D31A635E30D90079D0C7D336F60C626ADC32FE6CFF4E9C95DF45CA06680AAA2D79D9093655B38C3FDB3F0A666A0646302F3BC1A6CA40C14C91B5202F0AA6619264FF8334A4B73A050AA661FA50303144144CCC46790F0A2646858289D928EF41C1C4A85030311BE53D289818150A2666A3BC070513A342C1C46C94F7E8104CE5597BDEB3F4CA457A0255FAA3870CA55F1B04FB1F0000FFFF3057E8910000073D49444154ED9D6B6C145514C7CFD29652DA0AC8A345C343A042418268028848248898100DD1A8240A1F8C8926C6444544C22BA0F80110A2517C454282911815036AC4604428011212C1D42281F254A4607948A108E5E1BDDBDE7A6777CECC99D9A9EDEEFEE7436FE79E73CFB9E737FF9DC79D85C6AEAB8D5CB6F9DF1F226D5AF840BFB855EF2FDC70C8C59368EEC4BECD7EAE0E29747AE5958695CC2F8A3C663E927CC63795BC41F2987C415BAFF9D9F9B59FAD179327068135A2F0026960495B1BBCDF9854F206C9E3370FCEEE353F3B3F04A6CEC41A82BD2D98784BF3AE17C86627E12F36783DA4A5F226E6114E2F909B17173BBFF6CBEA33582C164BBAC42702E26E01021D11E5EC17D7CF2ECD67C7918E09EA07810988E90301810940B9B840602E5012BB20B04422F27D084CC00A021340625C325E60BAEE791B0E32E5CBBAF5528B1BA8C47B9854F398D998A51DBDDF9279ED3C2677D4ADDBFC4D0E9B9FF64BCB9B7C534CAAAD1B281B50AAF1B9F1AD95979B4FD07EB7F99B18363F084C7DC2129F126D40065AD4ADDB01FA3FF2465587DBFC4D6CBB0E080C0233BA08D44260425C6EA0EC4FA0304C60B7D6CA1B78A2CC00B7F91B579B9FF64BDB7B303DF95436BD62EF06CA06A4E3A79AC7CCD1EF0D415479ED3C2677D4AD1B3793C3AE43FBA5A5C0BC0A3485FAB51A04165AFD28B9DBBDF843604DCC203077F1487A21300125084C00897181C0183076370466D308F63B0426E065EE151257EAED95702F9082140E1793CF74B654DEC43C265F94AD17173BBFF6CBEA9B7C5B4C6E07C00BA49BBF579F0DDECB4FDB52C91B248FDF3C38BBD7FCECFC1058D357BFC380E4C670FD3678CEC7F47B1D40E3C3B541F27031FCFABDE667E7CF6A818D1ED085EE1BD0D993E50FD567695BF5194F1FA95192CFC44A25AF7D804DBCA85B082C6AA269140F028BE060797D8222089FD62120B0080E1F04C64384C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836620B04C6A382C07836812C89DF690F3438839DFDBE061E45E95E1F705BE0DA2F2DBF931F0524C4084F00020BCF0E23050420300124B884270081856787910202109800125CC21380C0C2B3C3480101084C00092EE1094060E1D961A480000426800497F00420B0F0EC30524000021340824B78021058787618292000810920C1253C01082C3C3B8C141080C00490E0129E408B096CD9E6A374F8CC257A7B72597C76CBB7FC4E2FADAF26BA9AFC37E41F19DE83BE98765BF82A30B2CD12786EED3E5A51F147F2FCDAC5E8A3C706D1D3237BC66D2FAEDB4F3775CAA719F7F676F8B27F147E6DE55FB46A670DAD7F6A687CC0BA5F6B69F2A7554417AF3A02E89D92AE05747B69218DEC559C644347FA12A8BDD0401BAB4FD3FEE3F5C945E4C668EF2B236960F78E71DB944FAA685279379A7A6789C39715D8CFC7EA68EA9ADFA8EAE511F101BBD5FEF015BB89EA1B1C01B093A5040A72E9DAA2B1EA2FA834D63FEEFDDD34677C1F1A5FD6C5018415D8E9FA2BD475D136BAAE82982D36BB02023330B2B9CD6D478B27F5735C0E73E65650CDCC51D4BD28CF41861598F68ABDBA99EA168CA1A2FC9CF8A0C59B8ED0CCEF0E1335245F26E30EF8911504CA6F2EA23D4D57365D70E5F1F3F4F0EA2ADAAF2E99899BA7C046BFBB8B3E7E742095F768BCCEEAC1A5AF6FA713A72E26C6C17E961028ED5640C767DFE5A8F6BD6DC7E8C0A97F68E983FD1DFD7AC7536033BEA9A61B0BF26896BAB69AED9A7A88CC99BE89D43F21315D68B38180BA2C969774749CB94CD93D176DA7ADCF0CA3FEDDFE3B11199BA7C00ED4D6D3980F7E4952AC1E3C64E94EDA5373A151685A75D8328F805A8AA076AAACBC5C5A7C7F1FC73D9729F6C31D7FD28E23E768E5E3834C97A3F51498F61CBB6217CD9FD037E9E940DB8EFD7D8936EE3B43074FB93CC66A076C694DA0779702BAA75F27BA559D99CCD3626241B13915543B6B14752D74DEDC1B3F5F81ADD97582D656D6D2E7D38698316841204E403FF4D5D435D0B28706B0447C05A647EAA7C973EA69B2B8E969928D06435611884DFF91AE2C194739FA52CA6C22817DA556F557AA55FDAF9B56F59958E8CE2202C396EFA4CDCF0EA7CE6AC1D56B13094C077853BD9B3CAADE4DBED5F46ED22B286C994DA0D71BDBE9CB2787D088DE37F8162A16988EA45F7C96A9759017C6F6F20D0C87CC24D07EDE56AA7CFE8EE677907E550612980EF6DAC6C35475E202AD9A524E1DD4DA08B6EC20B0E4A7A3F4EDDED3F4D91383A9A4B8BDB8E8C002D391F55777DE51ABB7A5C5F934542DBE0549289E191C5B9DC0C9F397D5C9A49EF47BE909659D49FF7751411FF442094C577E552DAE6E3978367E363B5977B9D5616002D113E85ED49E069714D2DD7D3B5187BC7057ABD0028BBE1C44CC44021058261ED536541304D6860E46264E0502CBC4A3DA866A82C0DAD0C1C8C4A94060997854DB504DFF02D08B8F38D6B533230000000049454E44AE426082'), +(48,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000014A0494441547801ED5D0B9415C599AEEA7B6FDF6184808A3C9468C404627C648DC428CE0C33A020127C8480C7B8D9C8C6D761376E7085416608E8CCE5A189A89BCD01B3D1241E93103644E425C8639801918D9B3D608888865D9597CA5361B8FDACFDEA4ADFB95DD5F3BEB7EF9D9EBEE7CC54D75FD555FFFFD7D7D5F5F8EB6F4A0AE457566B0C67844D208C5510CA063142FBE29A16087B9D6683527A8A30728050B213B22D2F8EC796AD9B065A9E7F795770D97CED0A66B2858C915179D685AFD543F18798A2CCDE52A53EEB6BC5426579054059429B6433F24B3CE93D04BEBA4D143DC39201C5EAE4A50FD1D3F9105AC947A5BCCED25A6D021AFF77DDB9F1B91E1863771C6AD497CE612C2F6D91974A2B16248742F65F41FABCF640BC010AE107108CDB90D067E78397BC3440698DB61C03BE5B4481F9408932F21455D85666C777AB31628979BA6ADC60467FDB24C3F0CCDF0BD9AF12E5A08426E33175E8FA19F47D312D9771DF01C09F7E4327BB65A1E80E1255BFB5E511BA574E0B0EA57C138B5A5BF5049EFAE9B254CAD35B66A93F94E9B9A3F8FE0A307572B3280E477F4C657704BDF1B9DC7515D46CA88E57524AD6897A20C4BE5DA6E596E23B00D0D8D78A223185FD625365D1DB223DC8F16854F1E801C885236BD9457ECAED3B00F0FE1B2009C894ED122DE084BE83637F2184368A625A8A79BE48CB65DC77004098B34581A284BC23D2821E5F3A895A581594C63B36B3CEF153F67C0040920F437D5B22760302663C4C141313635F07E6050100510961DC3F0D8400F04FD70559530880826C16FF980A01E09FAE0BB2A6100005D92CFE31851958F82B280D3032057B258FC128E653EC95EDC38A215F20DB4514B5BE6126FD38DBBC8600C8B6463B591E65F4DCD466516A82882B67A268EB0C5BE86F629AB80C6078215BCBE6E12BA0930DE6DBEDE80EB0817425B1D91C626A7F2BA9D55657CCD7BFDAD9FA4300745683F9BA9FB1B186C1FE8C5EE1D737CC671776948D10001DD55C41DC876D34C6BEAB99FA1E002131F1F72CD25EB6F200002A2FFB2A34D65EC603925F1A83A1495F54A8723755E84C0C007F4A285D83BF16ED05018238FE661EDCA3AD2999C7A4BD9696742531D052E6ACA45176445C0107F397A1ECAD5929BF8B1432F61916FFF413FD8BA22EA2B6F25A5DB5FA46A618E317B3E2E347F4D1D831B90DF96FC5D0B04F667AFA9A911BA9A96F87D1CDF8B66EAFE7A307D89F66D8B9B0D908E7B2BB84A74F98D761882FF57C111AFB40D4C18AFB6963C3CCF84B3024B93BD253BD18A6738F73231A311F8F031C5F320DBABDBCC628F74A1769FE0380D27A9109EC7FDD593AD7E83620C0BB5AB588FD8CAC07FA970D55F443899E41A89B4A8F7F6651A40E01105EC8484A5FA247ED8DF2FF58323739244D6CE6C27700C498B906E8355DFC70EB60DBFAED888471A38B1EC0C8E82758BF436FEB4BF1A45E218A877DE0A522ADB9787D35FD0040F8078528F7C0B04417F3F1D704B5E98AF285CDBC2ECEDCE0EBDEB3C3644922B908EFB3FB9DB82BA474057A84ADD82BDF8D015160AC82154BE9CFA83D0C7DF4B7B1B6D3D725732A428F16C5D4C1B00A3E21A7B54C29AF354A2C622DC3A2D179624E6E7B386048FCE694018A9888785E00C09F82C6A4F63FA8DF57F3270FF90B86441565724395FACB8E3234B2865D62506D9B270808AD699815FF9157D979010067A4BC561F6632B619C396622FC6BA138D52E5A9866A756A67651E31D728B56C7B8334B8C434321A5387D455D27D621DBE8F011C06F8540773DD52205062CAC913F890E245A7D0EA6C343ED7D5E699B1060C0CA7487AC3D94BCBD01F93E820E4AD07709819F3243BA7F194518DDDAF297C41C3A1073D84E2B72A91C83434DAB66CCB5A52A3BD889EF53BEE72A91D55C857EBAAE2B0466EFAE51D000E2BA3E6B2730DDBF82646AF15607E1026067DC15CDE7A2887AF2C862731F83B8841D98E68942EDF3443DD91C5B25D45F1B30506D1DF961E280CB0B754C75D47F20A06002E09C248A735505AABFF8431FB21574178E52844BD884F211D7A909E3047A63084068A8B6309EC217CEA5206DF52A6FADF67D24200646A2340D76B1FA247D1BDAF1445C234F15B99B4100099DA08D835C61B2F492231F2B5CCD5C1100092868243E81355D7C8CBC44C314F6B258E9421001C4D04307CB9927E8A715F83281AF608BEE2D04200389A086EB8D743B42F3BB410008E26021BD283B268EC02871602C0D1444043CCFB0E48A231DACBA18500703411D09045986C6042C9598EB821001C4D0434C480AFB7241A239A430B01E06822B0211B28898663670E2D0480A389808658FC958C6EB0227CD811370480A3898086CCA6E9117F5A444AF638D721001C4D04309C03FFC358082A1545C312313F719CFA8500703411C0B02E610EF7B2118CD96ADA08255A2872B3D7488FE409F20DEC605D05C3897E40696F580E07C65E01E7E19210E6B01221EF5A3AD9523C9EC80764B2DC18381B70AB4791EF6F9C45FFE6D0F30E00B689F44C369287B5E3E45F6132DD138D9FFA39A1C368570F1D24C36134A1E87793ABC82B082BE363C9CE5CC8C6BBFFF509CDB5F59BAA4721D8206AFAE5F515A0BD4A2ED54E136E1E3E1B5D55CF26B6827F0580DFC46CF2E7E41AF2602EA4DD9830BE8B076AB05836A511D76922079862BE9CC7B555E40A9C076A40C3CB0B1539AFBDE02AA8ED318ECCCA1657E5CFB3226BBFB607BAFD7C6699B018DE83D34443336979E901D82BE41C34FECB61E3A79BA25A5B4DEE48C73A79611DD07E20363E2F124FBB7438242F3D00DE7F4FA30BF4ECFA30F8AB43DA6B0A256F8167AB93BA2898DBD120FD21D730287C3CAE3F273146C947453DC825B4829C94D2DA41A898AF5D6698641B0E87A4377C52B753FA064E1E5D835E006C34FD7C1F049E5C45B8B7F0079A58387345C91134FA7D18142D93D20244606BC9E7358B3C0F108C7289C5483F3D49FE19B4F92E7A3B22DCB45E33B597F1EE77373ECA885065BAD8F8BC68DF5F011142C60282AA28179EFCBB82DEF85C663A867C10EF43C6672EC638BAC0A0B0C3AF81FB16B398666BFFE935F0E35E463657C53639F56486BE03002FA211990CF06B286369D158B256A407354E8793D368A81F88F2E1C1F83BB65A3EE12BE613E3B72C60BDFEFAB1FE0794592EA6E1957308E702EF13E94EDC7F003022AF4D33B2D161A8BB84F16282737CC4ED2701C21B1172617B745056C32E3E6AE8AFE19D3F5EBC0F5DBE86AEFF76AF43A14E5EDF0100444A67D8230A719D5773980B7288C15E124FECBBA28CB645FA89B4E6E2236A93E371D0E34F68FCCBBDF2E013B5F7E210EEEB5E690ECDF74120BA3909749812EA0E43DD2AA4C40008DC3F46304C6AF937629EFE75CBB21FB7525DBE58C067F7E2E99F8B53C7AE451FAF527D0780171321AD750D70AF62A74E6AA39845275B16FFC8B6F73E091ADE228C4E45E3FF5BEBA5121202A02D5AF2390F770B77EA2332D08A98E7DB8C5D02F7B0E34E9ED06FC2B38EE572FCF77EE8F968FA18B600266D99155BDF5696730280F27F673DCDA3660951ECABE11692DBA05F823FF8B663BD2CD2F393883CF6692BBF81CFF793F716CD3876445B9112B41DCB6078F2FF4A55765BFDF4D83BED5152D600C03D542AA631098E90BE631ED3AF4363C7F8A7A044B0C21CE92DEFCEAB3D6C07372F860092EFC096A4C54C022EE495C72E3D2FB6F8D9FBA9D1525EAFB44E0380AF3EE99651452C7D8A4DE0E123D5E262B37B551DD23AA3013CF1A7A0EB27CF8EA94FF023600D1D2CACC30098F824EBF161A3FE2FBAADCF80578FDED2A3DE4186C2DB5AD300DD85A7FED72A557FB5A1BA65A792AD95C4D33B040078A0FCE6C1466D111A5D5ED4694BAD619E3669004FB986BEF41DAC9DECC2C87E7354B5376EAA8CA7EDF9DA54482B99DA0D80B25A6D06162B1278BB4BF379775D18FE51187A31E5BFB1017500EF7D1C51520E46A9B1D09D2F8C656AE0E6739F5BBCFEC43D77A951F2C9F087C9E139D4C3BB7AE60D9DBC6E33003E3332D0FF03D392BB9AAB93CF4181D8D530457D89D1D80ACF6FDCAC6AEEEE90CE35F0959EDB3EAA7B84A65608D74DCBBD4EDA0400EE51C2DAAFAF85D7A96B9A6309FE7F5746A364C6A619F15DCDE509E985A7815601C0BF4271688FB604FBD7CD343EDD810F1C3C585F1DABEFB078404F87EFEDCA3736B39AE7A748ADBCC7B197B8C7F8311A7FB41753E8F2970C3C4BBDAE9D8D7F5C2C8B99A98522911CE83874AA00F65F10858C44C9519196CB788B3D40598DFE7D9BD93F9418C0A80EC8F9517D75BC564A6B858029CC2108EFFA613388F72EBF7111031ED1D7924BA107C912DAB4F960D9BF5FB33D407942BB1C0B3B3FF36485D2073AD2F867CAFA2F8F32EF39BD965CEC410F2C09D63F733D84DB5F741379CF839E3352B300B06CB200533D55AC19EFFB67B654A9CF8AF4B6C631A97945CC8B27E12C6C0FFC8EAD0BBEFB78DEF56B6B4835C25B443D6020B41C3DA4D03F8AB9B21B479DF28F7F6FC624D62629859257070E898F6DEEE30352FE6608C9D5E41528608C980C668E4301F3611CBA355A44766399AA1DDB2162698515D71B497F487335B6471E40139788DC416E0396925F2EBA81EC15D37219970080A91E2DABD5B76379F7EB991563A07E5C8DA85FDC30931EC9A477E4FACCA1903F0104F18EDC1FC47BD0104F148D23D3FD964D7A0594CDD327888D9F628A9279D9687C5E567C1C795351C8BD7E0B5BA8F5E1E9DF081BC199F9E04F02008C0F249B7D30F841E402F5996C32A8DE445EC044E81E20BF7B9A839D512674BB32FE39721B6C04CD6CEAB7AD65B90050BE20E5A7BF42BC1993BE47EB267B7FA74ECCDB9E788FB1E4174A9494E19EEDEDB92F087901FC6368FC877116E2565A42D23E7BFC96CDB50E601A0646A6E2260FD5FBA8B1DFE78A31754CAAF1AFC529D931181C4D403D1C80F8600429CA559DF928170D6E6378FF311A7D07168096C77B92DFD252722C1FBC64D6E90200662023C53908D67C36728383CC9B72717DE66048FA7008DB8531F17BC159225E7A9298932615DEACC605003CFDBC3B76FDD0FDCB2EC75D397213A19775EFB1416EB42A979A1E0394FF98F545B77B9E98458DC55C1E25C4F430DEB535900680A59B2EC7015C2CCCFDCD92CA6EFC59B7AEDDB66DE23E0D0066DBE78B77C0C9E087B9B64811EB0CE3FE6A200D0058F14867CA3D3D4DFBCB5F585B8E3590060076A7D21EA4D375C26B45FA3ABC08A406D2008074490F09CFF6A085A40069A009004A9307E926F93C3C4D3725865701D040130088822346C28FD18102258C064C0369005016DD23CA865DC122BE3E20D2C37870349006C0E62AB22F75DE4C90CD4CEAD2E69090258C76610DA40180C6C74220DB26CA824D8C5B455A180F8E065C7B0100C1465804DDE0128F9171E59B58B4AE82E674BFBA3B7C3E1E4BABDCE27767AE3F1FEF6ABF562278C09B7EA509ED4A6633E9BBF670E274F3E6AAA29CEC098C79929DD378CAA8C639C229005FB7311183E2B72A91C8B4CD336352AFDBD422B9BF4ABF0278550D55F19DE80524F7E5B64D1FCD052BA509FD6B8DA7B41D8CD853BB53E3735D62DBFD7ACBB6B79624B4AA5CE8B6AD65BA00C06FC250E039F1666E235896D02689F4CEC4CB6BF561E86D1AA088419D29A74BDF0B035C9889D496D6EA793B312D0140393FBE98DB008A8AC5139AE0EE48457A47E2A39F60FD4C662FC77350DC91FB83760FC3E92BF48677E7432ED718C061803383DDC1E79DB81352A22C6C98A53EE4C43B1A9624928BE03FE87ECFFB295D81C1D256F8B4DECD14169873018AA5F487FFA461E8FBBF8D5ECF636D851E2D8AA983D7CFA0273CF59223A22700E6A43E37A2EFF0F640A9FCE39659AA048EB6F237B2B6F1028345FE0FAF156106420E2A34F23D38357EB5AD6575C57CBCF73B9DD47F0EF9E5934194CEC6071D1EF3532EE915C02BE736008AC22ABD19618B4AE71AD77BA7B54E356814DEC2DD8DCF071E4489DC19F4C6E7DA59378D7E3460A83A11C6366F8ADA42CF3051A4E53AEE09005E69FDCCA2D5180BFC546600E7052D7BE5888471A39CD6068A6D8D1073A11BFA4DC3CCD866911ED4388ED6E911A23C28C9079FBFA312ACBF44CF21A15900F03A23D7C7A702041BC4FAF104F7C1B1F13525B549590831B318A7D4C3F288D68BD9821EEFD13BBA0D3D9F21CA692AC685222D97F11601C057FF58243E112078576402B3820806344F97D66ACFF1C51C31BDD938A3E78A69587BE8766E65D63C4835BCF83CF46A4B86B9A2BEB2196F1100BCA22D8FD06334466F41377DD8AB6200617263A3BE977B0FE3BE03BDF2B869E2C113A4DA4C7A12DCF70436262DAFDB1EDED473297DAB00E095D757C6DFA2247E0DBA2C4FBFFE00416F780F9B77E894B6072B5B95150B924373C9745876F634E09A8AB5546CFD2CFABF70027D9D75547FD16B0AC3EFC52876109EE6F9864EE697D468DCA1E14B3442DEE0FE01A9153DA00C2207AD7D5A4BD584693E6BA04D3D80C353DD3FD193A3AAD5DBF1CE867B93D61C1832F402AC92596C29B3AC2D36D1F69AFBF09DD00E7A27757808C3EC6AA05D00E055F335022C5654C562E44ACC655766979DB034BF35D06E00380C7287900DB3E2E3B17A370240E876C7BB1D3D74F5B0C3007004E73E0201846BB16A70235E0D2FE0EF9493168685AF81360F025B13E5CC674AD6C3A7F07DF63E7338E6762371B4EC6ADC3714BB9E17613CD069B0B5C64398DE7E0D640D004ED5673C896C449CFFA57EDCA4CC7C9DF42AA2A4976668E1B8C1514C0184590780974C67EC09B9378C63A5355E0790BCEE0A697E6820EC96FDD07201D751100088F8BCFC5928ED018330C91E03FB03584FF3EF970F00488E91B020FE25FF442E8C9AB81B7E34F560911B4CAB8F8AB45CC67D0700407F481288DADF906801271CDE6B5CEE65131953A2FBFD14DD7700A0877B5D1490DAF4FBDD6D03C934EDC7453D20FE3E6C02DFF7A0E78CE43B00A22A592D4A035014193A5D828F4F0E16D38216E75362D8502CC039BCD1B26CCA1F655A6E29D22024B7D57D567A698DB6DC6B4791AF226210F41455D85666C777ABB1C2F3ABD751FD18CCE86F9B6418BAFD7B21FB556239783526E33175A8DF3D802FEB00A2B051954D370D3A0A76042EB7343C8E217015FFE42C211A49762733114A1EF7BBF1B9967D7F05F04A375516715B81EFA5AC8139A19BFFD0F3AD1A55A53E9A0F35E405005C506C29FF0195DF0910701B816EFB43E32F1950AC4EE4DBECF950425EC600998296CDD7AE60265B8841D1A84C7AD0AFA1F8434C516677E6F33BD9D051DE01E00851566B0CC7E068024E2355E0A8F8207C52AF2FAE0B863F87CF8E86A96D7206FF0094EC846CCB8BE3B165382492F7ADF3FF07B7B5A2074292370E0000000049454E44AE426082'), +(49,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900000EEE494441547801ED5D7B8C54D519FFCE9D9D075D106D7D158B1A8BD62A55ABD21ABBB85005DC25151A24C63FDA943669622BD810A50596565D415A7C4B5A539F55634CB56A53DD0544DD75D756826D55AAD658A2D8A204A5581476EEECCC3DFD9D81913BE7DCBB7B1F33737666CFCD4EEE3DDFF95EE7FB7EF7BCEE9D5946318F692BEDC9054EF389D32C62FC58CED95144DC8AA9D6887B4480316623B6EFA3EA4DC6AD3F6532C947365CC5767AB00626B1C09C12E379D7F1899CE77EC5195D42C8BA546D8A35880000B117666E1C7B486A55F722018EF047A4C4B5AE1A9CEA38853F704E47843769242A1D01466C53229D9ADBB384ED08AB3B34005AAFCF4D71F2FC794E3C13D698E1AF5E04008237C68E4F9D839E604F182BA1C6EA96EBF96185BCF384497E9810D7861739F9F2277B72F787B5D61446801572CB38D1045906E8CB6302788745EC5996486D69629493794C397E0472941B4F7976A6435CCCBBDA648D9CF3392D9D8317F4AF486E94EBFCCA818780996B78F34036F7A172F733DADE44D6DC9E8ED44B7E460CBDF21168E9CC2DC08AE02E65C5C5A8A7BF23333DA8C5C043C0402E7B8E927C5849B0C40293FCA0E1AE1C5FFF8AD4BD8CD14DB246F4C653A75DBDFB5099EE570E0C00ACF44E9795C0810DBDCB934FCB7453AE4D0412C7A45620E159B7350C03096ACA4C76D386BA0E0C00C6F9E18A22CE36293443A859047A1620F98C5E950D16B8A5E64A663A500E0C00628971B20ECED85B32CD946B1E01250716634AAEFCBC0A0C00CE1C65C2C8D02DF82936F41A45001333D912F665955CC93CA57260009404CCB9B1226000D058F90CDD9A501B41A1B5FB08B4AECCB679AD2A7CD8470D99336EF72DCFDC5CCB066B01001E1FCFC34ED60F6AD9D0BAB0C58BFBF83505801902EA0219D573D200A07AB1AD0BCD06007591A6EA39A9650E80D79936E1E9E167AAD7ACFAD48C25FDBE5A7BAE05007D2B5277A2A1E2630ECD11304380E604E8366F00A03B039AED1B00684E806EF30600BA33A0D9BE0180E604E8366F00A03B039AEDC75B063AB4706AA73D47731B46B579BC0C30254E006201001B175F8371F131479D46C00C01759AB84AB96D0050A948D6A91E03803A4D5CA5DC8E3507B02CF610BE99F2B74A3963F4848F0027762977F859E125F74BC4020066A0DD7885E9C1A8C68D5CFC0860157606B44406801902E2E7A0AE351800D475FAE23B6F00103F8675ADC100A0AED317DF790380F831AC6B0D0600759DBEF8CE1B00C48F615D6B3000A8EBF4C5773ED6465054F3D356E6CE28707E5C54F9469563161F7C7E59A6AB96EDD302803C772EC7B7DACD7703A54CF342F1BB81E32572558B6608A86A7847BE720380919FA3AA7A680050D5F08E7CE55AE600F8099B77F13B362F8FFCF0D4DA43FE49AD2D6A01405F47FA5A34547CCCA139026608D09C00DDE60D00746740B37D0300CD09D06DDE0040770634DB3700D09C00DDE60D00746740B3FD58CB40EED03CBC957A92E6368C6EF38C4E537F2D387848620100DF09988B57C3E7063767382B1E012420CE61868038D16B005903800648629C261800C4895E03C8C69B03E03F5421065B1B200E75DB04FC678856FCDB8E49511B100B00F8DFB577F72D4F3F18D5B8918B1F01ACC21EC0643C3200CC10103F0775ADC100A0AED317DF790380F831AC6B0D0600759DBEF8CE1B00C48F615D6B3000A8EBF4C5773ED63230AAF996EBB28B1867B3A2CA37B0DCBEBE15E9F9B56C9F1600A081A7E14726DB6BD9D0FAB055FC66504D5D3543404DC33DF28C19008CBC9CD4D42303809A867BE419D332076056E20172F84B232F1C7A3D628C72B5F6400B00FA96257BD150F13187E6089821407302749B3700D09D01CDF60D00342740B7790300DD19D06CDF00407302749B3700D09D01CDF6632D03F132E25A3CD8B941731B46B5797C2FE4107DDF0CE25CFCA4594D7FD66C5467DBB3F1F1BE1A648600CFA08E1EA201C0E8C9B5674B0D003CC3327A88B12681AC29F1738BF8BAD113AE91D7D242C1B90693C0B6A89EC5020039CEDBBDCBD39BA31A3772F123806F06EDC2DB55911599212072E81A43D000A031F218B91506009143D7188206008D91C7C8AD3000881CBAC6103400688C3C466E850140E4D03586A0014063E431722B0C002287AE31040D001A238F915B61001039748D216800D018798CDC0A0380C8A16B0C410380C6C863E456C47B1C1CC22C5E20B5F2EBE8DC02A7AF13A3097882E9E0FC9EC5E885E42CDA8C2F46467FA619C28FEC537412EC9E8F7F5B379139D48C5FDADCC113F46A3A4DCFB0E9940DA12A322BDF489FCBE5E842F8310971391C9F5D89046D4D3AB48EB5D30791154710AC3A00F86B94B2DFA1CBB25DB414FE1D55F4B1946A9C0B2014BAE8DD81A7A833D34EF702088254F103F6C54B132B11ECAF16A106DBC28DA22BB0680FD05EF0FC263D8E56B1A9B4BBE20E40E101F0ADB26D123FB39F7043BE001F1CFCC1872701CAA5E9767ABD1A3EC83AAB3A04F0F534D1DE462FA2B1B7C0F0FEE4CB1EEC2F1F8BD39D68FC73BC8B8EF06689462D02B08BEE41E2BB8AC9F75183BA667CAECCEEA1D773EBD14B55F818E82EFEB3EC2DB031AF987C0FFDA05BA8BF08E75700961F7BB0549C543500F067E8986C01C917775CF063AACDE905BC64F6D9E022FE9CB09D00009F70382DF0E7526A8E760AD433D845DF506A221290CCC5B8BDEF4262534154C0EF26F0AEB5BB687910FE383C550180087CD6A627D0C54D08EB1C1A7EA2EDD0C361E5BCF8EDEE62971FFA7D39F89FC9133DC69FA3A3BDF486A1E1CE3F1FFC6BC2C89478118BCEEC3A9A5D2A57E35C1500D8EBD0DD713ADBCB618CF1AF618CBB1B13A0FB717ECB8B07099881E47DDBAB2E280D819B04DEC59EFC8CDE871F8FC2FEAFE1C75F3C27A09C8EC4BCE01A4FF980447123304EB722914A9C617B1FEC6EC0E7765CAFC359F9BFC19067E8396EC16FA924039A0CCD569D49A0433F953D4103F762E67D79A68DEE2BD58906022C0B01961B705DD648C7A19F81EFF1126FE8B3438B659D4207FC589B3E9496B07369A0A413DD7D6B9ED103F063628976E0FC7DF402CBB13AF850A2072AA26DB3E1C3A90A33A37EC4E23B63DAE89D525D71BE94A7DF012CD34B347186FCA4DC07340F9715E915DDBAC5B5824C99216C19772E7E03904E50E4182D4683EF73D3910C0E40DC86F3B56EBAB8066D0ADF107E0811B2081A6E3C9A23AEDD07743E8E95C64277F2457DB29D7AB10C9B8F3BB16C05023D4DD97DF42DB78E30D75866AABD1896BE997174913BF942277E36F3DFE9F134073EBE23DBC01CA66AFF98ABE200C09D7B96DC0094DF45A27FEB412F9252195A8D869775812289F6209DE92733247D3DC66E8FF90712DCE127979A459B50F7A45CCF2CCFF6C86C9E65DCE54A2C80CC1BFD9699AC853E86DFBF9495C16F458FCC13B55C710060634799F8A10143FE2218BAD83CEED897E54620809F976941CA835E3E0060A936FAE750F200E166A5DE89E683D003102BFEA3A7516DB88C5A4D1EF51E607689C4BAAC38009034F5A7CE188D1DCE4B80A459E16134A8D0021078DEC307A2347597CF336455E86A153F3DDB230BFA953D625170541B6E7156F0AC5763EA168A715D710060DCDBAEF8C3319EFF99C628F4038403EBFEC972BDA72E99C9A39C4AA83EE06E4C6269778E07BB9B749EBB20AE014CB53D32937F5991851F8A0DB73876035BDDE5E2358BE583A2CE4DA83800528C9E771B10D7E8DE0FB377D36A995E2A63C368AD4850A92CCEE88E6D4C8A5E74D3825EB30BE9BF48DC3F647ECCF06E173B83325D94735DF45D9CCEF5A8EBF5A00522C107251668D74FECF574B29782EC463A01B15AA2D4F1EAFDA662C501808719FF116B6BB91168D822EC6CDD231E8494EAC42C1FDBBF8FA27C6989E63AAF2F4E8A5C84309708F423323F40F695EC36EA172B95529DE89950EEC09D775789563A23811F61C9B8B1540E7BB6129E3E64B0D3D88B585C0C7F8AF117E76C37B68073581E624B5AB6C32D558FCC13B55C957D00CC747F81846F909D125BB2768EBE87ADD17F0124C9EC201D2FF38832928736D3D55E754169A931745B7680AE40F753BEAD8CE1087EBC32D0453BE1E74EFB233A1941F78C03FC582D2F1983DA177C626501808B6710E53F8D8F4D2600EE11006FAF8805CE5F048F32FF103AE0430F56503DE2BA1A47E01E80710B392D3F38877B1E4766363D8D04DFEF51555AA39F88061FEF557F807653AA9DFE3E44FDB05558597C048F17FA32220968D064DFE413FD1520BAD5573E78C52204C9F3E9226C37C387D37D934FF4314BD28F8634C5C434A5FC00B0955C95731C2C050600F1C2C707C5F65F31CE4F9469A57286E88702BDA572D033641E4FB7A93B8941E5DD7CE9D9F4906585EF4910D1B7D3196CCA54E0FD006C3C6DC54AE262B46BAFDBB7E1AEC19F456A2F49CFA03786E15572E070AEE4CA4F47700058EC034509E3BE8F4D3117B0D347D24C34E40E7C864524822E76E15623F92258653B728ADD1004E8BB0623ED02E82CDB68F25301BEA7F172C814767EE566DE63DAE959ACEF5BA07BAB9F5D89BE0DFB29E7013CDD12BDAC38ED5E9E41643F9DCF7C5A99B0D45C7D5A597E111C00C45F2D172D6E74CC6C5D393843A697CAEC6C1A44232EC364680A12FC183EFB4A75A53382B207487F08E7D3C6CCA6A5386378ACEC21B6A0D3299A04DDB7C2D6FBB276D0F128809EC3F922F83B935D40BB649EB8E5D44C7A397D1C9D829DC52B60678B973ED05FC7E7CA0CA32F61D36AB3178F9B56D89EEB446F8FCEF6E0817FE75B485B4DCA0AE82047F915DA1DEC98B986370F64731FCA0611D0ED4D64CDEDE948BD349C2631E31EFC1FC65DECD471871C00E3BDE417680B3BD573E366387591EA31DE32BCF0710ABAA489D87469C69DB6A3691C025FA5B780FC9C140F7FB278D08379CAE19894EECAA4692B7A9D6D7EFC32BDA533B700B720562E62BEEC3A30ECF67764A6BB28435E060680D032F53A7B0DE7FC4A5923E621793C7EB9C322F62C4BA4B63479EC80C932A61C3E0239CA8D475F75A643FC12CCA67DDE7348CCE85F910CBC740D058096EBF96194B745F73221BCFB46A2DA1140F7FFC7BE8E74A82787E5DDC7301EF62F65BB134DD65CDCF1D961584D758D23809CBC31F69094D8CD0C75840280D0DCBB34B5D94A5862761F78A619CA23C31C3A0248FEA6443AF5CDEE45E1FFEF60680008EF7A9725FB18A5CF82E187B15535EC122F748B8C40A008A0CBDF8BCFB563C7A75A7B96B01D818424A650730049B6589CB6D29E8C2F7BCCC77A74162682C76277F0286566EA256868A1238064DB88AD58C6BE8997B99E1C934EFE7EC3556C6768452E81FF03F685E0492769DF8D0000000049454E44AE426082'), +(50,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001B24494441547801ED5D7D701CC5957F3D5F2B1939420B061B0B702CCE106C03495950452447320607130C47618E2AB822458EE4E0AA727754C287718A70961D1352A9147F90CA25C70115AA204E71C68009602C61035541AE0B073260621927C8188C59E1F8433B333BD3F77BBDB3CB6A3FB41FFAB0B43B5D5AF54C4F7FBC7EEF37DD6F66DEEB1634C94347B734F4D7E924D770A2D2D3A292BC264D22967E94A4884A4D46056222A9CED19D0629A445924C4164491216C724C8941C4B89D31182406D440ECABBC8EF08920EC728EFE28A83924748C8189188A19D98F0458CCF85D062BEF06382F441A1FB313361C5BC8BE9B39E4E9118A1B5E37E6964664C00794BD7CB46DB735BA4942D60F25C21653304DB0C2934F33104780A84AB4D0029E3D004E041F280146240481A005006F818E0DA2384E88FE866FF96BBC4A17168B8E42A270C004BBAE46C57241648E9CD1724168009E742B02DB8BB4E2E99DA2ACC08011CC468D20FF0BF2349F609A1EF34A5D1B775B5D83711DD1D170028616B4E2BF9D48A4EB5A2838B30F4364D4487AAA60D21067183ECC0CDD24B1AF59ABED53B1EA018130074DC2F9B13AEDB89E1AE13447748495FAE1A414CA28E08411FE066EAC1B4D86D986677CF9D984E46192A0200E66BD1B9D6BD2821E5D5681F3F79F628E9285A1C77421C73E8209A8602C64A17C7C4CAD8604A1983FE16F3A576080A83A309723C287042275717D2F134E9184EC4D14D725D9D9C7A8B9CA1E950EE10EA0F9335E490657A64792E417FB32DDD17962785253D32752892BE24CB8712A909BF1134642A9F3CB2412985124A220A1A58196DC2C857C7758F6B10E23D4CA54F1B426CECBEC7FC23788219B5BC501600DAD7D9E74A4F7C5708FF3ADCE5B3CA6BAA70EEA470690FA8EF471FF6828103403B14266D9FE91903279C42FB9FF99E3856B886C977E5CA5FC969470FD02C574F4099F567835FCD007033C033074C6F81E0E68E2548C0AFFD44DA93A4C95F6F5F1579A7548E1405C0CADF49FD93F79DEB219CDB80F28B4BADB840BE03507676A2D19D426A7D24C4BB0619FD2FDF431F5582DE026D4C89641E452F594BA7B95AE22CE1C973A4F01780C7F3018CF9E8009E7C2A0FE0E5EBE0F143A7CEB39ED8709DF046AAA9200098C06FAC735662E8BB0F0ADC39235552E0DA01DCD95062A817CFEABDF556A4F7C51F8A0305F286C9191CB8EC0179CA9063B7E221124AB452A417E172F9A0C01481A9F0DE5756591B0ADD607901002DFE4C87ECDF028D6D19748D7C28E81308BC879514C3F4BBBBEFACDB357281F06A391CE8BC3F7E76C2D53A934A362BDB650042D0AB16456EC453C45FB2DBCC01C0E275F635D2A7873102346667CE3917A20F156C929AD8B4FD6EF38D4228CB2917268C8A033C3AB7FFC4BD50F87205748BAB000A9E36460C90CD21A1D1CDDB56459ECACC380C0050F2AEC6B3FBEFD1809E9929EB1843BBF638948D47B6DF13792BEB5A787A1C38D0BED63E8F7CF16D12FE8D00C48C422460844E904E2BA1246E4CE5490360F17A7BA1EFD20EA0C94A5DCC8CA165EE8656FEC0F4E9E6A3CF7F5FD899D7C2E3C9C181CB1F9491C387DD9B48FA7760FA6EC9471546025B18D4BAEDAEC8DB7C3D0D80F62EFB59DCF9576417E2A103D956CF9C67FEB29846995D363C3F3E1CE027B78FDF776FC5CDDC956F2A874C9FDBBE3AF22DA64E0140BDC973EC0F73C915FF6709EBAA7CCA436EDE3065B2714029F3D2791A40383F9B36C38A9CCE6F12D557B6849358909D01CFE883D3EAACCB42E1E77066CA24B0EC58862CCB6CA253324F7E6615FE6DD919809A86C633E9B3DCF430652A7120294369E4D22C97729A0280465AAED1020C2AF6BFEFFC271B64E4160E53A6020758762C432884D3B3E9D584FC9CD31400605DF3B7EC0CEA5CCA9BBDD79C573AD7DB459F33F3960F138F1B0758662C3BBCC5BD391F11304CF998D39377377F45C20364BE002DF2E2842BDE6CEB8A3F6CC9C84FB7FE08C60B6198B41C58B246B638C2BE23E1D2CD106AC1D15BF81817100A66C8ECA1AA48D2775DE17CA77D8DFD3F92B4FF9A75B6F152F85898C9A5E377CC8F7DFB77252E15E47F0732FA7B885687CC4A22A82400A46A0ADE105E4BE45DBB7F97F7517B97F304E135F0CCB38C574330A4B83431B17AD6DF9D6823BC0EDEBFCBBE1EAD9EA6445E9ADCD344160400E6081F4699C9A78474F66107A74177B89D3CBA7DFF2E3F861749CFE305C356F2CDEE6D3F121F0CCB199E8C090716AF915F26CDEDC48DB864FF2EE7723CA9C108A58420848B29DECC97B32000F086E8105E133D0553E89B469A4B92954A58C4D00D20EC06229BDAD6C4FF0A306C47B937744DEF3DA5CE7873C3ED62281F01615A7E0EACFCB9AC3F104F5CE0F95E2BDEE15F08DEB6FB649F816F3525077EF70F6BA94751761EE4D99EAF6041006024F15F5B5DF74F8B7F1ABF5FDA6235BE05FC032A8AE4AB244FDA194930D00D9EE7D1C747FD44DB1A9B0D41DE463D3B7D4DF6695E64E72BAB692F8052E6A095A7B5299C043E896F74D11CBCA2874188988F1B693E18B2F0E3A30EE2A41257EA7C9E6203786AA39E2775C35AD373B7D80D05FEA5422A414100A42ADB7647DD9F717CD325EBE4ED8E6FFF23DE1EDF02A261D25D7A083A723E3A763E08830A017461A458DC25E2983A92A6606C1A0D9330A9F97B0DA90D50C41CE8F98180C9F4D40F1D3F932793ED362784DF2C7C6D0E7A047378D9821BA265719793340D53B781FAA73AFCC551E9FD87E0610A267F3D6D9AF5D80BB72B9BC9A2858B022055C3CBAB04BF15FC05FFD4E747096350FCD091AFA6F2941BA36C1DEA60309D8BE364718023C1E3DC904D00878DF47D182360EF86F6058C40A518C4A011F3E199C331181A13861CD41366CC3128B6F42E3AF463E82FE5D2524AFE1F4327DAB29E1AAD04453DC38DCA048C3F351FD39F886A988F3986DD5F13BA82B9599E04E796591886672786ECF4C82933C6F04A849C4D27EAFF13F8B2917F957C9E2F1900990D070DB12DC07FC0B3E70CC773974A5F7662BEE944E76767E61DCD7130E5E00EA1B960A8FAE37F6A140962B88A3162F01F5FA8116FE9C264B7C6C6DC07572E76E90A5CBB70EC0244CACD4BA52BD72FA9AC82C1C4B4EB18AEE173B8844B59D2B50C65F8D80208CD2D5DB6E2972A947A77AAA096126B8AC6A0D7EA14FFC63208C20D21BA8526BA2DDDDC02CFA2BF8EA6FA8A0090D96040C0C348E31F4167F83BDFD6DA84E6B7E28E68859CCE6386669619EF6340C440BB06585F9F6A2B2986CCFFA92B0A52FC4F8520CA38CE5FE68BD2E379045F44416F61A4EB95BED6AB45FC57832979CC1A1D3500B229090864BDE1BFF91A1B290CFDCD5D0827B9F358C1C1EC9FB27E1DB391229B862979CE7736ACA5F1761EEE61B45393F4D68C79E65B78BFA2069CF1EAD39803209BD0C07A0896466C6DF4450030BE74F4A8DBE27BF22CBC6C504A11AECEC51C7F3AEE3980434EFB2277351C896310F03EE8086C77B107D34E3F668F7E4D17BB4F38C1EC079FF27F8F19E7AE8F3B000AD11F74F84FB8CEBF9CD0F613D9A409A7D977B5D960DA0C78E42495ACB4B2454D9897F94508142F159F089D41CFA9681C12A06D43F1A0CF316D28EF24E81B504E4929A7D01994720A0F2556583FD54C7F9F2FAD8157EFCEFD263F0EA4955DE5710340314A0386B12183B25D2B969F9FA73B7F418D50FB1A123E598674E0DA4596CEEE5D9A3071B7591856E1DEE541E11326C0A3943BAE97954208116B02485723DDC174E56054726075EB7A702BD3719E10966368C863D191EE7FA343D5F2FE62D202A098C0B3AF0702E16FDCEA3B77F6F5B13C17FF3E96B51DDFBA00F430D432074200D4B2F4D1F7100021006A9C0335DEFD7004080150E31CA8F1EE87234008801AE7408D773F1C014200D438076ABCFBE1081002A0C63950E3DD0F4780100035CE811AEF7E38028400A8710ED478F7D50870AAF961CED26275DA91136A9C3755D3FD39F5EFCCCBEECC571B7BE6729A02804706DBB80D0B96B0EBE2CF5315D9BE0CEB5ECD9CB00C9B8C8FCFC8EEB0EB45E02711AC0FF0B93BE35076063EC78AA13F8F6FA6AFC0ADE50762391D17ABD57C748569C5392037D397E02AF333C8F0967CB9FF3C743EBCAD8211209167044815822DFF2D7149BB00845B65378DFF1AF8A986C3B8220EB08C58562C33965DA14A6C6F9AF26D2AF52960262A7B287E8C3EB037D32AF9F2D8B97F1522304C2F8F032C13960DCB886585D2334BA9A15CABE099583E7EAD1DA73540D94B9A468F63D581E7C437957D7C29ED8579C69003F20F14C5447E85EFD30D90C9A570A829F5864E5351180049BF7D98CCE706D590A46570FD5F067B7B6FE8397A0DEE4CCF00105BCD65F4268E911C86B1E600EE6CCD7D812E80C097E0F84ADBA3AF4316C59D6146906541001C4B341C86C7C4FBF078E1CD0A0A868080C52068310041FE66FA1CA3C33614D8AEEBF48661D1FF8A4E6CB61886B23980F9BC21E1D0D7C0D70B51B81D43FC62F0FBC45445382E1E04EDD8730CFEB9945F8E05019020CBAD5F4EAD68146B00D07D10B0AAA5588B8A40492B906F4582DDB6E1EC0F40BC8B74DE3DE46D0C523B233EF5E1A962A0585DB5741D5A7BB3ADD1028C9D6A8510F06A917D8CBE02BE953DAC33DF300ABF853AEE8D2CA78D6D5D27BD5488970501902AC015E078A3BB99BE0E79DE0297AAEB4054DAED3A95AF50AC3A90DC07873BC68EFC144704501C02A8DEC328D38FD37EB85FF583E07EF874EFA5CB693F3A90F36E828B4FD580BEEAF43CCD4A089A033EB4C06DAD057DE1CDA35AD0D773A0B53766F658F1AACCCE827F437071FB1D84FA6B7339BD564AF1A20048551254F89A7C89FED575E92A4CF2BC42C832105A91172F18D288BA2F421D17711B60880AFC6C22362BBD8257B21C40A7E0514B1FE1720CE08B610F9C4128A2311DAB81808618161E88D14970CC5CC40B404C5C903BC8C44ACA4DF0DDC6EA20583104AB8680B628686B8210A2A01BDBC7A9A5DB6683AA668CA433D1071D693901BCA838A09D63E0CF0BA061A369D2D3E2522CEE5546281900A93A83061EC3F963F275AAB70FD1A5E814FF3A40082F72049A461714A3948B38CD56BC0918C4511A28EA2936399AD0276A443982B6E1998B9185972A532B82F0E6CFECF4891F560CC175F6B5577B0AE2D8455AD2F71E8EA228674278BC90051FABCDA7713DE540CAE9BC197504E51A713D1AFF841A90A6424AE34DD1C6420E484E65C9394F5F28F3006DF36A3A3B415B0F8ABE183991B6888BA9E215D8CA064026BD41C39B90C63FC23C36036EB51D78FBD486BB00CB9BD157C1B0097979847658200D888785F469FA008A6AEA381533EDF98E33D2B8D2D46966DE618D8DC309048ED981FE84D1AF177BFEBC0A44F6882BE8D3B16A6A5400C826028A1D13B621F891EC2603D3C5020C8F0C868548673D80378E2E7F0BB4ECC6AAF15C10F663A23E746D27F8F436A6B95E0CEB7D788A0AC6BBB1EFF49802209BBC80F03791CEBF7400304EC6E3CDB9098FCE426252194AC65821442DF690CE5B7507BC98045608C14F29BF1C1B3AEDC6E3F23BE0D7C189EEEFB802A05067828E6EC375FE0D0B50AEA6D931CCFD3E35E30D4733F6EE6DC682B52763E1B7282B57B8339482856118FBF442E192945E826D58451374021A785146AC0E4231D016C31DAC9455D08C25ECE8A0D069008F330318BE072251AC03B4084ADB240AC7050023F53F60D09F91877F450303860E5014DA5E14CA58144C6F801022787A56AB804031B3C07C0BCFD726D278B937B509349428759D1B00B05851C4EA20C14A213ECE35288D88755C53D77D9C43B984608F205F0C73710C13596CB209B428C3B2324C3A0064D157F4341000DF5503453387197238003087A196391002A096A58FBE8700080150E31CA8F1EE87234008801AE7408D773F1C014200D438076ABCFBE10810028068BAFE798E1B98211C18FC86A11A38D0681C6CCAEEC71975BB78A5F5E47B8013F4C19CCD85EBF523D3ED17F0E9360C539A03F673B4706E7DDF05D99D9811D9ABFC41D514F079E2545E967D5810587EDDF768EBD01FA873D885F064CA706068332DC1D2F72FC30426C7747CEFD079EADB890240DC9FC62654B941D20C7C5D7B39FE1CFD466EA153733384299391032C2B9619BE8A6EC157CE1CCF6FA6F93367D6518E8B2A81F8D68D2FA8F41DDBA1BDB0E47D28BE85E672C1304C3E0EB06C58462C2B9619CBAE1895257F0E46656CDB772BB630FA67A0AB0716B08F98F5D85A3674FA28C6E371BD0EEBAA067788AE819DE3B761C5D0518AD033092A1900A94241039D30B4E8F487E85740DC56E06C53C4A267C52530E10EC3B8734039823AF42D0CEF2BEC21E5269634BCC56D5F6E2808004746E2183FD82CBAE034118C0ACB41C8F238BC3D00865D38EE817954B765D07671197D542E4161FE5C0EC817E9342741EDE077276EB60EF0FAECDC5CF95320431F4A3EDF98A7E7CB51100071BFE128F6D3FC1AACE7EF43C16B4B195A9087093B1BF1F7E270D380D3E83E80A11744F402483B221A368FFE266F031B86421C80C7EF2CDBA785E0D922F00C9B6F522B78C9CE25C950E25D0EBE73CEDF0B93EEFD6068FE83382E0F00DC5AE4527A17D175EA7D40826E05FAB045BCF2E8E1CBA584D9C8CFCE1D5773E638AC23A13F0CC2C68E7712EF0389EFC157663788EDB73CFA0066E5F99F464A69690AE581FF44C4D1E9CBE04D0BDCC1CE025FCF018F1640DB9E0F1EA9973625CA39A7D7E0E521F0F57118A3FE32B24C9998535B574EB67442C111209D03074145FF0203CC1FBA9FD24AB8275F8FE42520923D66CA0A28C39B2BB7216E5305010AEE2C24EFE3B9751F4EF6E2945DC20610F36E9A039A41FB3D9F3EC30832881663503CC7CD4E1E6D561CA0901950C4A2B8839B748D4EF213340B7D6B46857C1370DC0C61CFC18ED8B36522636A6506200451F2A48CFFE0117B386D857BFE13E60CDA508EA16A490048D11254FC28CE1FE535686089BB1CDAE755A07C29D24E4EE5AB2446E735D4C3C3941AAA52CCE0188C5421CE3E5838C6287218E9EC06C636F6FC128BE318EEA818987088AD79C168F5433E07FB0526DDC0D8C237B0F855D6BE9E621CE16E517B0CB2E5B0B220661731B61E66CB61067970CED7007EE51A86F6F8552AFFD8345D99AA63758EF41B55EC5D983F8020EED3188483E8E3163C8D3D0D456D73A56B389505804CA283069F40DA1360807036D302984CF3EEE11DE8601BE2BC2F2032EBA8F418F533A3A7A3DD33B3EB80809281B9CC3F0495141CAB048C3A01A6D469E609FC10BE082893590CE05101EDE6843C493979469520E85380F15508BD072FE7BAADE5F0184ACEF3A3AAB6620064B61A10C23B7CF28F150E1A7A9EE6E0F1A1154C6BC5292B34EC1A36AA5182EBAD917010C2665EEEC0A8D30BDCF5D65FAEA6C631EFFE9800201F5501C17B718D7D055550AF281D9A0FC0F04208E722B105883E0BB7D9E90048CEFBEAA058554610B087BE7F88BEEF4607FB3101BE8391A5AFCE8282BC94FD9D27268C1B00F2911F748C3BB735F33AFBDAC31D6C0E5832174068C6C8D1CC3140C24A133F49CC00C3D82DAC6CA533B39D893A06AD0E68651DE55308781F84AB945ADCC949E556A73D7013DB0B9D0A0FCBC7374C28000A75356004BB82F1AF60902F10DB2D441D68D960A65A980173BE5A98010C574A19C0D200C63350523F5301078A1C04838DA3E12286639596CCC7137D721D81C0450CD79402C982443D2C24B5AE00EA765037AF77A47C00A100B3D2A916AA006863163FA5F0B565A43EB4E078D28749018052B914309699FB61A965C27C2373A0E06BDE918B8557AB85032100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F6230440858CAB96622100AA459215F623651032CC4856D52561B91E862AE18018848FF75F323B038B2AB55B4A7204F0F36CEB86D5B72F7B40861B3B64726D0A1E07325C0AB3B73387FFC4A7DC9D240034AD27BB6F7053328FC59D179774C933B3AF85E75383032C3B9621F6C3C95923C8B00CDE990426924168EFB29F95525E913A4FC54208EC422556CF9C67FE72C37522D36D2295258C27190756FE4EEA1FBFEFDE0A6BD72EC89477671B1620D3E7B6AF8E7C8B13D30058BCDE5EE8BBB40385F29A5EC31A76B714DA03D3A79B8F3EFF7D51134E9CC3B836054E2E7F50460E1F766F22E9DF81E1BE253FC9C2D14C5AB4EDAE083B9E7C01003E695F675F0DDBFC0DD8972CA51C727276C0C646DAE3A4C947B6DF13792BFB62783EF11C685F6B9F47BEF83609FF46F6A1284481209180FBCDCAEDAB221B5379D223402A61F13AFB1AB8733D9C6FE848E549C742F4A1824D52139BB6DF6DBE81A10526F561186F0E4036A2FD27EE85C2972BC0F01598E38B2EE7C75339DCCC6EDEB62AF254267D3900E08BAC3C3864FF16C3485B66E6118F057D0284F50829BA75CBEFE9BEB36ED788F9C38B6571A0F3FEF8D99EA37548213B3142774036A5AFDA26B0DF20456EDCBA5AFC25BBD1BC00E04C8CB26FAC7356C2FBE53E9C9C935DB084F303405D2F1683E8D584ECAD33233B5EFCA1385042B99ACFC28F6E71D75EE44BD18A3115AB844876B02DFF915C88F7E03E7EEF2BABAC0D8546E7820048498135CA4FDE77AEC750731B08B938955E617C005AC74E28947DC2D7B0FDA978D720A3FFE57BE8A3420456D8CEA42FC637D8256BE9B40425B081B4FC0A96E55C001ECFC79D3D1FC4972FEC8C1E8397AF43B00F9D3ACF7AA2D8935B510064D44B9DEBEDF9AE2B6E11C2BF0ECAC6ACCC6BA339C6D4110730F68001FD5023F6621FB7018064004F1DFB4CCF1838E114DAFFCCF704EF0C3665C295BF92D38E1EA059AE9E6816D267075738BACA66C87D0E98CEBB86C311562657F71A835E815F587B497BD230E46FBAEF8AEC2CB5CAB20090AA94D1DBB9D6BD2821E5D5101C5608A9688A48555752CC2001C3B012085E6B2206CA835541106B7250F8026932E64BED109667B13174BA1E49B5EF9F27A4230CE91A4EC471E1000A2F51C76A2077687AF27568FD61B29C2364C2A5D78227A995B06C4B2684A94BA1560ED1495898CA4C2C5313D184DF88EE47A526A3D0BC9BD066E094CAB1C04F36815678328F9D700B3208433C80F4B421C4C6EE7BCC3F56328A5604806C823AEE97CD09D7EDC482159D604027D03E273B4F783E7A0EE02EDF0B90756341966EC334BB7BEE1403A3AD754C00904D049E2266BB9AD30AFFFE56DC095060E0009EE7756476B9F03C8303428D743B309AF4E2857DAFE95BBDD0E2C77C21CE7101404637D2873C4A7889C47C41DE020CA1ACEC608510D98279BFA6978D81000EE206E9C754FA0EA613EC1AAEF7E986B1732CEEEE34F3473898300014A261E97AD9687B6E0BF40A5E2E662E96A96F8612D88C3917CA13942612D088B1FCD4940CD04C481E90024AADC4B2774242B1C5B02D690FE6EBFE886EF66FB98BBFB51CBF70DC0150ACEB1DDDD2D05FA793A0C145A5A74535DF8382A5E1E763BDC1A43286974FAC7C45F91CF535E065895A0D04A30B9678136AA93775AC560701B4460AB80D2120E88A6A9917AC1422D3C76887BFA11F411A2BA331B4831DC2A184724CDAA0203FE66B7A4CE87ECC4C5831EF62FAACA713AF5F2771F87F0121772EB3A550E80000000049454E44AE426082'), +(51,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000090A494441547801ED5D698C1445147EAF67E730B84A4014348031282A6A4C0C51092C0B22E812F88181F8C398100DC623FA4324888B81B0A81CBF8C1C6AF097312A21E2C1151164F120311ED10449C00349C00006018599D9992E5F8F327457F7ECEC4E976D3DF77532D9AE5755AFBFF9BEAFBB6A7BFA40A8B3DCF19C1A5874BB662A50D311D4B5A07008ADE7EA7493EA041940C493A0E03020EC41476DBC6C4476D3FA5958EE0904ACD568CECB2ABDF778711EB8300F405D54AB9DC4ED630001BFC7949ADBB920B7B91EBA4803B4AE549794F3850D4A414BBD04526F2F030EE0D25DED9985748450B550860C307985EA77A650FC0494BAB9562789F361808E062B762FCCD2513C7A71F4F0997CF115115F67856F99E66B4F8DED28CCACF50D024780968EAE31AE2A7F1AD518113E4274DE48A5E0CB14A44F44B59158F20CB825C0129486039647D390FD047D8646A0F8A5F9E2EC355B1EC7825ED7E40F287017F8CB95F5CAF8818FED6ECFAC0ED549C016060E1290CEBB5F54AFFE71AAF89A52EA1E0DD8B03F4F76DD47B1755A1CAA4340EB2A7521554ED21B90FE6B3F11F1755AAC2CD31E7EAAFFA0CCFD74B43EA003A4A160861EF3CA5503947F2FDD4ACEC9FA1BD1ECB17C617376BE3F26EB7633F0FE4378061017EB2815C2383DE695AB0620F12FD71BD078B2CF73951E97B2DD0CA49CCC9E1042A59AFF39CA07AAAA0670D01D10A8A102CD10F7EB3129DBCFC0CEF9F043144AE7040CD4E35503D0DE1EF88FC06B48878D9A2710F44452B68781CA899F88933F6E2AAC71D500F6C017244932200648926D0BB72506B05094242189019264DBC26D89012C14254948628024D9B6705B62000B45491292182049B62DDC9618C042519284240648926D0BB72506B05094242189019264DBC26D89012C14254948628024D9B6705B62000B45491292182049B62DDC9618C042519284240648926D0BB715B82FC0427C15486A1BF42BBAD016C0E7829B9D0A1B02B16E0A852D30932E7B5B45D7BD5D7CAE1995F37491D4D173E5D0DFBFEB8FD08571BFA003DB32CDB015C7C2E9503BC60116062894613089F5B69F67BAF6BD44E5B43FD6DDBAEB56841FA45DE4982171BBBFF359C10D5E5EE5C203855390CF6F8697B2CDF01C8E83FFC5DD51320474E71AAD8E4C98A3CFDCFC693890DF1ABE89466BCEA228066844260503A00C5BCF6E82071BE96E531F3140836AD05092A2F9C4DAFC1698D2600A2BBAB19803FC9B4CD15C620B89B9326A1B5497A339C270AAF326A053E9F01FB877A2620217DEA449EA489CD2CD64322AB925313100C0915C1BECA8A3C79ACA985FAEDC5D3BCCDF964CD0BFE0C2B3147BCC1FE7B22E43400F95CADD05DB7319B8890E013F86BA28984347814B4371060131402F44C23BE164AA0966D3D0403BFEF985868674DE8569E7237CD6C400BDD42A3D053A49FDB7F46EF418A6BBF51887B218A001951C84F742DD145C198A310888011A1089F6F69FF46E7427F5103DC6A12C066840259A08069EA4E2A5A058B18154FF791731400312941146E9DD682278588F71288B017AA9927732883EDE13B7020BFD5AB837106052E8F327827AAB5361333C427D6E0FF5531113C35023FB027204E885265DDB600C0DF6CB22BA1CCF5E001F46C4AD0FC911A00712A99D902B9C85C5E5123C49E700527A173AFC2FC109747109C3A5CF1B80041D4D177944EDD5741508FD1884308CC49F48E37EE485237456F0DBEC3058CB50FB0A643180821B8909EF13BD90436A2E08C7B259988EA378FE0BE87D2F9903D454B74E05C221FA5D6032DE0107EBB4B4BA5A0CD0803C74D8DF46BF0C8ECE4C866F1AE86E55973E3F04F4540D3AD357A6B69DF4799EAE1F6039E38FFAAE7DDA00B4271FA289DEFB51C454620ECDEC151CA176073369D88193E0B79A6D9956F469039066FB7253E151A6DA19812D73002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24D2206E0AB9D11E462002334F24DD267AE076842D85F52F0BA5F2ABACAE73B7FB92FAEB330403605BFD28322670404427003E53A85741BECA226DE47161F032C0C400F60FA9330BFE3C32DAB86189039802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE106E31802122B9A611037055CE10EEAA01E891B85157D9B2B868D41017FF9B34AD3B5513287A8B91B6B8E5CAC32E03D1AA0110F168A0A65250A157A384DB48C43606CA9F15AF8FC2E45C01C7F478D50080CE21BD929E9279554B871A1A8A4BC06E065C1CAF03A4A79D1EFB783686DE695035C0E0114D5FD0BBAF4EE91D1514D7E83129DBCB40EB723558815A144688DBC331DFE3E2D7CFC222B9E45DBD91526AEAD8A5F9B59357A87E7A9D94ED6260C2B2FCC852A1F801BDE962808E8CF6F4F57ACC2B07260A2DCBF357AB02EE250785267F648E9FC92F1B69B2F81538EE89A864124B9E81940BE882339C76D4D124E62CD22EA7A340C0AF3BDB33B7D03C2FF4FA8B8001BC8E2D4B0A1D2EA867F42452E6CA00165329A775D782F4E751DFA03A07385739B13DF32C392534149CAB97BFBC1870001FA925BEF74D42065884E85E372833936A5EE6F555056D8001C4B30EE2BD9D0B33EB0271AD101A02FCF5E33BF2D368887981C697C8FF2BFD6D65DD1E06E808BE0133EAE9CE79B9FDF550756B00AFF322A59C1D4B4BB7B9CA9D4E13C16B29E4BD253B34D1F0DAF258304D13A5C0BBFF88842EC2EEBD1286E5423BE849129DDE5DACF6A0CABEDBB9107FEAE917A96B809E26E2D26EDC92C22632409B1F2FA2F3F0EEF60CDB77FFF9BF4B6FD7437380DE2690F6BC191003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F367A31406C0A79271003F0D62F36FAD04DA0B1335A9EC069C245AEAB56FB616653E93EFB02C9BF0033EED62BD3C5C3350000000049454E44AE426082'), +(52,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000014D3494441547801ED5D0B9814C5B53ED533D33D8B460115C117C6448C91248AE621EE2E20C8CB176210355144BD70AF51AF418DB20FAFB9CC2E8A89466F34E2234434465EF2303C1644975D4011B997E47A3528249228EF0882B2D33D335DF7AF61076667AA776776A7A77B66BBBF6F77BACF395D75EA9CD355A74E9DEA26F20E4F029D5902239EE0DA98D9DCD75965C03A6BC345BBCB6A782F328DF99CF1FDE4D3C6AE9ECCF6763679745A0328AD35BECF4C733EE7D44B289D11FBC8E7A32BEA2BB4BF742623503A5363136D2DAB316E62265F9550BE8073E267C64C7ABB744A647882AE33FC76AA1E60E09BDC1F5B13798473F32E2BE532C66230877B1AAB82BFB2A2292678A73180C1B5FC38C3D467E3A9BF381305C2107ED7B38F3A71CE35CCC884BE50693A850194D5E8DF26CE1742F9A767A32818C15A95A9A35756B29DD9DC5748B445EF039486F43118E0D75A299F316A80A2DF97298D73DE1FBDC6BBE5538DF364F8628015AD014079AC2CA4FF1C4A9A85F3A3A4CA62F4CCD92768438E3E46BD1046B05846C3894E31A37C7559ADFE4319BED06145390420B873CC81FDC64BE8F62F972A88B188C2D91D0DD5EAF404FE41CE959535C6C330967B12B016BF8C7108EBC1864A750A8C0576511C47D11940F9B4F0995C670B31AD3BDB4245BBFCCC77757D5560B50C5F1A326E60C49F852168323C943FAFEB09EA8DAF4D640765F8428315950188393C23F30F507E57B922D80685A9573554B17FC8F187A0F12051CC5C80C7BCA7948EB18D41BF7AE5EBF7B3BF4BF105042C1A1FA03C1446D76D2EB6523E9EDCDFF73A4A2D6B4BF94277AB2BD4753E55FB2EE2831BA4BAE4FCDC70445F5F1E8AF497E20B0858F03DC0984779C98E83C6F3E8B2AF93C91D8A4760872A1AABB469327C6BB0E6B267A0ECB1723A112360FFBABA5A9D21C7BB1F5AD00630E4217E9A1EC5620EE7FDA4A2666C2F63CA758D95813A293E4320E208D59846FE1C4EA585BC945FF63A2B701F8246C2D80AEAB06890FBDB30A03652168BC5E682D31E326EF1E4BFEFF3A957D64F669B65F86C6198068E22935E82B149A79488272CD3FCDAB5F00B3ECFB66C27E90BD207289F624C8C99E64A08CE4AF90BBB05D41FE44AF942418D15DA022C19F6C7DF5699C2D0430C0F478C75621622C3BB1556503DC084E93CF0FE6EFDD788EC4D900AF4D0FCBCA6B1527D003D802D73F5B25A7E028FE9F3507F998C072C2BEF5314E59A5595811532BCDB60056300836BF88908CBCE83562F92091182FF82F9685C4385F6AA0C9F4B9830C40F76EB4FE1A9BF55566EDCF1E4ECA78DD5EA7FC9F06E82158401944E35CE67D1F8BCFC14A9F018FDD5CFD895F595DA7B52BC4DC0F29AF0BFC32FFC25FC02694A19FC82E7106ABEED99892C62130B1D2ED6F506501ED27F8427ED39CCEF83B2D642C82BBB74D1AEA99BC43E93E1ED860DA8895C12E3E62CCC10BA59D4D5C87CDAD58D156CB705DE51B06B0D40246AEED8644C85E2EFB59690F238A65F773B3DFD128E9FA9B3D7904872969457388E1816AE68ACD4FE2CC53B0874A501944EE5DD584C7F054FFE50996C204C1D7F13B03033538677028698C4B17A34CEB334A50CFC7E8929D70DABAAB4F94EF06755A7EBA681986F7F13CA7FC74AF998867D8AE85BB99B942F842BE6FF3DFB689731521E93095BC40F10259A575AA357CAF04EC15CD50360FDFE4A78F92F623CFD8A4C20F0F4DFF269EAE8FA9FB11D32BC5B6022E9949B1C4BCD5C95F184DE6056CF2EEAF8399358930C9F4F982B0C004F072BAF35AAF0D45B875B193DDFAB8F765BA1E4E88985229362AF226671A25CA16C835F5547D5DFC73E91E3F30375DC00063EC98F8E7E66BC80A765B4ACC978EAA3E8F22715C29C3A95FFF2103FD52463117AB4735371E21AC2DFE163CA55F555EADB327C3E608E1A009CBD3328662C8480FACA1A0BE6F6F8C837A6BE3A502FC31702ECF2E9BCCBBE5DC60B98CD4853CA8443CB89FDCBEA2AF54527DAE3980120796308D6EF67E1C9EF2E6D38922E545247BD51C5B64AF105041443DC8090F11F26A30760EC5299C310A60DAE54273FC89899CFA64999B19B81B250181B33D82FAC2268C0CDEED6431D5F2C695709798AC4521EA31760F45D12B0E45F18C16224A85EBFF44EB63F196EE7795E0D60E00C1E8C7E6208EFF84679A39889C85E3592376AE5F8C2870EAC31CE45E470111CDE5365AD81CFF34180D4CBDFA8665B64F85CC3F266001787F8C9118EE40DE248B54A3F60FD9F13E33F6AAC0C4AD3B3D3EF285CC8D047788F263D9EC8629152C63E534819D3501D78C3EE56E6251024A64411AEBF6BA57C74F99BFC01FEFDCEA07CA1D0E5F7B25DD8763608466F914AC6BB7332EB90A17C9BDD06607B0F80E48D5B4CE24FA1DB970745882DD102EAF5859649932BC59486C293D0ED4FB3F487149AFECDE3B53BEC5A51B4CD000EEDC4D51FC35877BBA5B0187B6848A55A996FCFD7921F8710F174766662ED831F2B63014A5AA56245716505FBA70CDF11982D0630F017FCF858933E1761DD0172E6D84185D1CD0D551AA681DE212430E8E1F0595183BD8661529A5206E7F86F3EAC28E63AE721E70620BCDC2837172004DA5BAA5A2C8DFA9932AABE52DD28C57762A05805A5988EDC02BA442A06C60E280AFF714345709114DF0E604E9D40246F8C8D9A7C8D95F24557E60F6A1778CA976B4ABCA308EB1D2314A63C21A5C022991963F321E7FBA5F8760073D2033C283656868C10BAAFC9963C28F4A4BFBF7657FD2011DBF78EB6248015C55BE1133C85C861404ECB5EF69FA2DE523F9E85E5F8CCA01D3680782244C47819CA1F29AF92190AB1DBB013F77939DE835A4940EC7D30CDD83C38D227C868307B581FC48AE28AFBD836193E1358870C40382E11832DC4144F9A0A85C277283EDFE8551581B73261C6A34997000268BD235851446FF0ED746C1CB2CDE75746AD9AACAEB7C0B70A6EB70F505613BE341A61EBAC95CFD607987681A7FC56E5DF26522C8695682A36A430AB54B293F0028B86F21AFDFA360B9310B4AB07C05EB9C9DCA410946F61406C26C6A7891D1D9F24FC765A107A0006BFE03FE1135459090143C2D4C1556A55367195AC0C40AC6DEFDD65207CC9AF913181D0660CF1FC7B11D295E6C5C9EEF160D94940CCB4B05E3C03865022BB1346B0A89BAAFE78D17DEC800C9F0ACBD800C4586470246F10FF4E6A2187AE455EBE32767575E07539DE83E64A026D6F9461EF295CBDA2A19AFDADAD3A3332808153220363149BC3898E9716C8D87B849DB898C7FE558AF7803997C0C069BC67D430E6A327F881AC70F4C6FF2445C18694C02A193E01B318C31368EC800C19B7C7C85C61A57C54F4A5C2699E62EA5709CB3C72A77766A704343F19482AFC23BAFC7DB27AE0331CC74D7385D8492DC32760963D0076E6A8DB3FD41188A05B12C46DFE32BA7B7555F0D136E93C820E4BA0FC61FD6CD3E0EF6754502B4138690F20BA176CCBAACF4AF91971E211392201937E125BA3D70D7B343DFF32CD00D0E57F2FAAEB1B10D9BBD01166BD4A6D9100A289177F79507F47ECBC4AAEA0850194878C71F0F21B4070523291775E2412E0F43524A5BE2582788916F9132765B59101A6690AC422449D12E0567E797F0C1127B742104795D7EAA3CD184716B0B387BF441B5D7F0FDB9309176553F469E801A5DE7526F7E78206CEF51624C78ECFA62C118781B3FE6A9BF7707643F943FADF1BEED7FEF7B001344F175A9D3224170C21615A28DFEC904CC7630C46C2CB92614E9C2B61D232AD1799FB7D61DC4EF32CCD0E6AA30DE1D5559A344867755F8B21C08AC88317AF043C03285EDD66D432CF00321253F1121DF601F2D944382BFF8D28962D0B46888C2970665FC8757BC0F30CF06CCF460DCECEC3778C26E59AE74CCA73C400E0607D020FF7A54C18CC9646BC5B68FB263DF706C0D9BA862AD5169E4B6BC3FB28468E18803704646B614546EF1940912934DBE6780690ADC48A8CDE3380225368B6CDF10C205B891519BD670045A6D06C9BE31940B6122B327ACF008A4CA1D936C733806C255664F49E01149942B36D8E23A160242D7C15AF46B9335B6633A1DFFE91CE32A1CB9686333E083C679C539055F9269D93157D0E891D310024887C0BEB018FE7B01D478A8275D97120CD5A7C3BD0E2FB8176D4989F32BD21203F72766D2D9E01B85635F961CC3380FCC8D9B5B538E2032069633B2482770BD87320597554EE4B661BE15D7E9CFB724589EC44BC18D2917D188E18005ABCBEB15ABBCA0E61362784E4FC3D4478CDCDD378CD0DDE739CFB030921972121041F9DCAFFE10D01F997B9AB6AF40CC055EAC83F334E0D0119B794BF49475394BA5337DAC32EA08319DFE82021783E1E5F1AD748A19D6C10B877F1E14A03E02BE9643D4C7723A6333A7CB0F98DA33B89C24BE843C0E604557A8C0DA19CBF37B7237A8AD451FF688CEE84A338023C1F23CAC279AC6931ADC5E9CCE0489A811D77B18ED461C7BDAE1B02C24B692294FF1114FD5334B87772A3B1C3B50F228895BA4E9BF5C5747532CEA973BE8434F032231A25F186D4B1E031AE7CC10FDA20BE292CB6983DAB2FA18DE1E5247D0FB0A075EA70950140481578FBD8D3109CF40548092101DF15FBF7E6342DA19B1330277EF9BB14D08996E1A54D37B5553F78EECBA3F4B65E47DF688B369F78D718009EFC61105228D3C6E349638CD36F8C25745EA6F7E49A4EDF4578CF3F0DCCB85C4EDDB13D7B217C8460C6F7D84CE80A03801015F497F80CBB1836333F60302A9EBE4732BF237794CDDDB9F5B7102CAA421BFBE84DF4130B74DEC1AE3080681D5D04C1C896441B7C013A2FC828E8F7D345B08E3FA54A08F70D8673F8B554B8DDD73C4237A3EE34271A8EDEAFC0EFA9C163E9189F8F6E04CFB297384DB09BBF4CCB4F6B40A637E6922E6AD2B0D4F220C88F351F8D6443E9CB66DC5AFE3A0D8303F8019EFC6E29F44371FD9B1498AD97E06F180CA0E5C1E2DEBE705E13C78BFA32DA8F6E7F4102207E715F9FA6A5747AC908BB42CBC9B5B57EEE8A1E00DD7FEF343639CD61C30E2B3F8EC6D46F279CBFA569B429B305093EE720E83E9D67863778A61CDA705A885E606F0A98FCB236A712E5E1DA1D0680B13CB5AD78C2BE4885896B085306D764B476C2C0471ACF3E53CA1BC168D378C6BB5CD2EEB7935FABB25D610050F6B65406E1DC0D475709391F39F8FFC58576F111C8E1B34F0F9FE5EF248D67287A446AF51802CE410F776A2A9CF9D2DB9C4A938F6BB71840435A63395D88B8C0C39832C5FD14BE964A8C8F693A8CE2EBA9B48A8F1A5361B65F334AE319BC4D86437A79A2EEA63AFA2AE21A2F27AE0FFF32DAAD0EA30F0E5F3B78E20A27505568799823B4CBE9B86459609CBD37DC443721E0F3A1BE97CEC175D764BC3847EFB1393094DE4985DB7D8DA75D28F6D6E47AC05F09DAB028BC18914C46FBF0719CEF00A626D38873746BB3C0373A39E70F77F40070F610D499221587F85C0AC73451A27C410F4156E00FE8FC1E25C3E94DD4BB5C562B9839131C7DD742F907B412AA91DDE704CC1506201AAE8DA42720D0AC922240FF8C3682E63821B838CF0A42C012FFC58A1F61A84CA1715821DC6145936FB86B0C400847EB8AB46B46B3321102E87F0DE5DBFE6DDDD67861C3693BBAF372FCFDA5353A81034D13947F2D789EDF166D3EF1AE3180B890FA5353C948BA164CFD10024B8BFA09238124DF026E289657EFC0B5E3CBABE0638B76229DAF28548D3660D1BAE5011EC567DDFE80EC80BE8809CC6E8975FECA154E60AA18B44B691E60F3E2215E1677FEBA3393F660B2BF918DA44F52E99DBE6E4E54096116501B5942FDB88FCE00BFC118A34FB520AD43979F1607709AE744FDAE34800473E2E9C2B9F82B88034FBBF0ECDF6DFE2B089E5D35041484C48A8C4957F70042D6BC8E8EC24F77FA0A7202E1231482FCB168755C3C27F012E404BAC04F694D66AE3400BE9C4ED26374375CBED1E1289D1E6F009653E0136CC2383B27E8434EE070FAACB586E51B17594A1746793C277064586FCE095C12CF095C836C8799C1E1F43B371A83EB860064064DD02388A4993409CA3EA4FC666DE2FA2C9C56C138B6E84B6974BE952CAB2F9E13B8847E8B25EDB530D86BC1636A4E60397A83E7C0EFFF8497A587B16565E613E62A0368CE099C8E085A97D684007C57087A2E326EC7B74667372E9E13C869A9C9DBE603FC7E0B46BDCECB09B4D00ABAF7A1506CC8029D068640D1A3D2D38EE604EEC46215D1A034E6AC00899C4064125B91E41BEE8A1E00CA147C3C2A949A8D00207C67730219DD910DBF82166DECA3732F27B085DC5AC9096CF431EA17EC42257E46A578E4FFDCE2C64302755B4EE0E3413F9D86BCC063C1FB3858747A4E20A389A9ED70EADA15B300594E2004B215821C919416B606D3ABA1AECE09247A11C1ABBB929439137ECD7E3CF52DE2FFA217C0EEA7DE6C306D4DA275E4D4154300BCE7DEA9ADC793333B49F971B4EB73027D929CC091B4006D49CB098CEA747A6A9B9DB8768701C89226247974424010A62CAE9E77A70A7CA4257AF8627440A6442487A4F1ECE50426490A63FBB6A4CBF829A65622ED1A723E7258E6044AEE3F72976D67693C43D15E4E607BC40D0390E5F4F547F0E4A11639815BB16F509613A8A4E7E7B5878FACEEB1CA095C4C9725CA11B9FFD813F0FBC475D2EF1E2F2730491AC809AC93E60472FA594A4E60EA8610F7E50412BD8698C68730D47D58123E574C55939A1A3F85C1BF823F2F27302118E1ECA1AF97078138F58093580A41A6295FDC8F2C9B4A0813E8FC1ECD39812B64B50A2F1FF0EF5928FF0B4DA15AD97D4EC0DCE2041252A5444EE01FB31102E89F7532CB068A1C072F25CD17B06A833054FC8D13A9645634F986BBC6002018133981E2BBB719A54DE1C97F1246F36FF91658727DF19C40850680F74DC970D93968C2E8E5AE03CFAFCAF04EC15C6300420062BDBFE4521AAB301A0381A545FDE24262F43670C38223E876FC3A9F13389C366B3DA81F787E00FCC9720275F412AF00D71799CFB3E26D70D13F57440253E50141CD056CAE583EC553738E19A3EEF8DDADF9E94FF017FE914AEFF475734EE0148CFD359165743E7ECF00BF9AA9D0364D83C17A3981ED5311922836E34EF15710077A24E1D9AF6FFE2B089E5D35041484C48A8C49678600C6BB96D518FDEC90E5AE2D119F1DE5E28311A7D9C53399E6D7F33E8F6D169223068031B29CB8B9C10E45C56C0AAFE083111558CCAFB0836727CBF4860027A5EF82BA3D037081129C64C1330027A5EF82BAEDF70114EC8AC5BE3EA7DB6AAA99078DF0AE82CFC1AFB33C739E964462870C6D3780C64AF539302EFE0AE6C0C72CAE2B18663BC868FB0D00DF7DC9FF1A5C075B5B44B72BA6DAC4495FD3B2495C6C45CFEA68BF01E0C33C59D5E411E75402F593D9C728B0B4A385B6DB005445BD1D3B5DEE4F6640F13B3C6E2633E39D672481FF07ED61EC23F61962A30000000049454E44AE426082'), +(53,'image/png','img','89504E470D0A1A0A0000000D49484452000000800000007D08060000006A326B0C000000017352474200AECE1CE900001AFA494441547801ED5D099C14C5B9AFEAD9E91E10C4C4037D4FA3F14041FD3DAFE7F36011453C30D1683CF025791E79F10E796A1061973C740F503C9E1A91188D9AE8F38EC78B022A02BB68E285E145C533A2F14021A280BBD33D3B5DF97FB33B4B7755774FCF4CF7CC32BBF5FBCD6FFAFBAAEAABAFEAFBBA8EEFABAAE6AC1F84B1778854D7C799B319B34F6682EDC918DF8273F119FE9F675CFCAEBD21F5443F6806CF2A724F6C0D21EB5B3387323B7BAF106C07DF6A71B6C8E0C6E90B1B3894A27F859A5680C35A32E3B3B6FD07C6845E48AC9CB3953A370EEA6F4AA0156A984D357E5C8B186EDBF60361844F75440FB19329CC7B37D5FA96CA77CD2A8025CC46C1C41645358C60878F694D4F282ACF269EB82615E09407440213BCD355D9F057EAB876B09130B6D2389FC839FFBB9C4664F98F645C2DC375B558B9CFDEB7460821B674D58DF34ECEF5EF2E6EE09FF6E0EFAF6F31395605AE6E1FBDC621AE7C350ED4640FA059DA700FB9BDDEBE51F8B9E884A13F23A7E38C6F23E36A19AE4905609AF852161A1762270C0DAED5809DEE1A21A7135C7C25E36A19AE4D05D822F92EC677D32938C1D8569FBE6DDE945782F157897F12CCBEC999869EB12E7E4DC6D5325CB37680FA26F3318CE7C7CBC2EB99F87D80B17F14E2534A3CD32E689FAEDF22E36B15AECD1E80A4A5F12B18ECBDB2E0687288DF7E5EC247DA0F870C4BFE46CE53CB70CD2A407B83BE0CFDF9F4F0C2E396C613A7CF9BE41E3AC2E7DF3453D6AC0290389636182DE8091ABD7A0297B8385FCB356D425B63F27917BE1F0035AD00243F52028CFB0730AEA94B3ECEB21AD76E1C6CE87BB4372417F603792B55ACD949A05CD3D1ADE9112CCBDE72E2E1007ABFBD31B5B313D7DF9E6BBE07E86F022DB6BE030A506C8BD558FA0105A83181165B9D010528B6C56A2CFD8002D498408BADCE800214DB6235967E40016A4CA0C5566740018A6DB11A4BDFA70C4147CD169B7598E6EB4C70FF2DDC650940B8159EF6036103405924C366E66C19FC1307C22A5999F242F2D5A7B68475A4335780EF1DB1473724FB652613E4FE17957909043B604CAB751A38BEAF4CAE23CD5E99CA876079CC2C736F9161CBF04AF629A50CC17AF8249CBD376A6B63E4ADE7F24CF84CF1A6747789F196E54B1DFE792EBAD8DC9A163ED55EB05D56ACCE9CEBDB105588E8130A30A635F3632841BFD88D2B843D7DECCD62481564ED5964D5BBDBB1D788ADB2696B96CC1D3C75EF0ED9DCD81F78D7DE3E395D58785D87B52BCF08D77E3FF206A28C916169149BAE6343D77E389AF61C8E1D3987DA6DEC2FAC9F83D68C62E9C591BEEA0A00E1CFA66D5A72E5B8485C88DD39EB647CA930DCC19EE36ECC3B80FE38BAC97C103C9FEAE41B53DC4BB1E299F3D464FEB9135F8DE7AA0E0187B566EAD11867C815C7DEFCFBDAA6279F92F19B22AC19A211F5E972F28EB9CE904ED32C62BB9A3377B4CF555380737E2592D9AC7D8BD43DA27678EB35FD9268AB593D6A6D97A5DEC1D2FF569903AC40CF1D3D53EC2CE32B0D574D01DE5C6D5D8A69312E6B7007184A1AE4133CEE149B1EA4E94613EAF5B58B732192BCCB6A71E1AA005445018E68163BDAC26BC72E7F655C43724E15DA21D622175FC6576109789D5C08A686A7D5B758FBC9F84AC25551008B5938912306BB2BCAED3ACECF9BC1B9EDC64703D571C3A6B7D0F9C3E4BC231AEA85A97C43D7676329B0C69592EC1FC2565640AE343103CEE549CC457593AF6F35BF27B2E211A5308DDDBCB421759182AF21C4E8E6F424F40437C8554A6889A39634249F96F195802BDA0390B307C2571A005AB82A95301A2A51E16A96B1DD08632ED91E641E602B9849D650195F09B8A20AD0695A3350A96FC915139C5FF2CCE5BCA2A772C582804BA3640623821F3C955B18821A557262FF1E47911A1533A6625A37B6C5DC2B6BB357157B3F67CF2C6D4C8D8FB99EBDE4C5EB4C3757B2D9405C045FE06C63106BE48733D73ABD37710C0FF4A663E2B70CCBDF7D5CE4ABE428AA480F4095CEDA4271F6E06D30359D5DE06A881881F47CB62B84FF3C8C4F93F0D37031D49474276BEF9CC7768AB1581769D4191D9E76B90B4940951C451551809CB387B143E54A636BC42C3294C8F8A861085A4BCF639358AE0762E45FD818043B087C2C4F3FC9CE47BA8AF4883886B600252DDAC844F753351C45B12B00397BD0DD294B1D72F668DBEB0A5E6E9472E1CC7C560FE1BF206C760304ECE985037E73FCE620DDF39979ECE072CB0C933F91D0A6781C5ADDA6EB4B3290552EC4AE0041CE9EC567F1745C55359F6623D34FB047BBB2AC0DDDEB01A1CA416FD065B3E7D11B3C947E8AED162A4F8989964CD55F025FE428720558417E8ED552C5EE298A55017C9D3D9CDF1F97B3C77A921D04C13F2C2CF61AC6F9135CAD1B12406FF07D96612B3A9F60F75B4F84549E90B49DC9FA82A328B6318F9C3D6F7C6EBDAADAFBF93AAED171ECDEEBDA9C6D52D2B398CFBE9916EC44BC5167E2373A8808861E1AE96FC7F6D0569C169E01E83F82D2531CF22CC62AFDAE548A3D8A1583720155A1FC41F1F52DE939189ECE77A5E1D83296D0F7583A95FFD5858F01884D0146B7985398ED31F6336D12EEE08129B8F4209E644626C1F6B16DF66F10E0D1A0341E6F6DB2104554F6B5441DBB30793486859E8015C03874BB37A1B728B83104F92D280FB9A917681A7B31B903FB33DF13B832C2D8ABC5B659CB7A172BA5CD9C64C825DE3EDD38DD898BE339160520678F25AC37F0F6BBECFD58022DDB76847E200C2259BFCA8897D960F333761EDE3A12681D1ABC0E8EA324181D0661D376F19D801B1546E0BD6570F6099EA7A78E657782AEDD8BEF7900AD84399FFD27DEC419406D2BC7FBC1398560EC0DF0B31269FE06255AA7710C1E226757C8806E97319CDD84EB29327E34088F0BADAE847DC4BD3F00CB452DC1F76F9BAAA3178D2FC4B223C8CFD9830A9D1724FC5C35BF6443D190D7A2F1BA43CF7F1ECC215D404F3AAF3F081E939C1BF46DD82F21045FC70F948214F2576211BBC7EA6493A07093007B5D36E92A056CD0BD83FB40E0BD461DE4758734FB3510810A3064987ECD86AFCCF39175ABDECCB09DD8597115E0A37A71313C443E0924670F967DDF5578D5C42DB999AF12113D020245EFC3CE4EEDC8BE6D4C60570709DF593AC6F70D48DF9AE2389BC0D939A0E3BA51C49936CA67DAFA863946934253B0F1A39B32472AF80811912A40559D3D78DB21B01BEA347688712CDB6BD071EC8E52C7673E81998326B05F83CE48D0AB07DD5FA2CD5795D4EE9D2C541BF7388A56AA65D8B3E27414453A0454D8D9B30A827911E3F08B187797D41DC39E032C77C06A7B1681E9A1B71459966248FA59D73C566F73568FE703E9077CC161226C71E4281AD39CBBE2FE6E779E5E47D17D6E7C3410DA2F9AE0E7EC41232EC4454CA1BB31F10C1B9E36DD6F1B98C44DDFEC0AFC5661B0FE20A5B377F838F671349C974E853C8A699BED020A3B69820D87F63541315CAB11F0BA051FCF42793AABE1288AA40720C6A1BD70F660D6EE08E4EC119A28DBD983F1B1333581D184A84F057E34FB1B18A25F2EC000F50B3CB814A0272AD41F398AEA5B32970B919DEFCA0047D19B9F67CE01EE66173E0220D4F854A89CC39A336743F8877AA4BB6AE9B4D4DB1EF801944F0BF8398A6C1ECF89A2B215809C3DD8D9A6BC9DE8AEDF4DFCB33ED3A79E03E88016C8398AE4780C3171388ACA5600387BAEC610B0A5CC2F9DEC89D3D92397574B706EB9CCB9E228C214F7D2FA56B17594752D4B01C6366746A3EB3F53660863596CCE1EB9AC5A85355D34C8278A605F19CA6C93E61991859215809C3D5DC29E0BA6A495044EF670FDE2C838ECA784721B65344156445788FA4451C90AF0C61A0BC7B73C4EF630DE18A5A7CF55FB7E062492C695E84DD5134559AB39AAA6284901C8D903978AD21581D965DBEE5E7B277BA26AEC62E9F89E28626CE29899D6BEC5D2F34A5F9202648475A3ECE983D7DC0EE5ECF1E26200E7DB02E428C218AB9C28B2B3B6B2F2F225121051B402D4379B27C075A97C8B47E3626EA59C3D01F5A9B9287214718DA95D3E1C45301A8D2BB7C2452940CED92304DE7E778086AED2EB8C696EEC0014550B0CDFCDB805769595323D61DB5795EB282A4A013AD3D67F83896FC98C708D5F5AE9933D320FB50CE74E146172ADD651EC7F588B75AA8A0F8F09AD00E4EC0159657907CD5CD8D660FC6FF822FB594ADAD3144158D2A0A38DF9729994CD440B2DC9657C583894025037E377B2079B2BCB76F68465B6CFA78BD81DEDAC2F398A7098C9F344518FA3C8993CF47328051870F6846ECF58132E9D9E9C8FFE64915C48398EA2820A30E0EC919BBBBA70D48EA2820A30E0ECA9AEC0E5D2A37614052A809FB307939107E23AD923577800565BC0D751248ABF7A2E5001789D588FA9076D9976072EBEE1460C40156D81AC36042EB8845C26B78BBF58335001165DAE2F87F7E906B920F8A5618532272AF80144455A20670696BCB0642EDE6C987E75B10C042A0011ABFB667206887FA41016E2BA636F149B2BF872115975672F7AA148D6D2E5B25630BF179F5D6A7D0AD209489033FFE2059493D0B98252AED62DA8008B2FE41B5882FF542950B0ED36AC335B647CD9F050B65EA1C1D95005D7C710385544269F414EB6602413EC48B6C1892BE799EC3164FE9569909998CE15C8F8307041052022EDD38C476188784226087E2E183DD3DA5FC69703F343725BC0D34E1AD86A5D87EDE2CAB633679AAA3F67D836E053EEA9D64338EA1CAA4466BB2F92124A7B63E75023998B4B211B4A01887022A1E35225DEE92E0476C0AC983B4348DFE271272A05FA40CE6476B17D655C5F824DDB93BF9551F19833F70AD1A4D2E3CBBBCDC46A4C184C6805583C95AF44E22B15A2421CB0B02513A9391836CF57E4727072B75EC6F529D8833F74074A3D4AE599CCBDE8617695F3734D9BD26D269663C2C1A11580C8EDB1B57E2DBA9B152A69D14CE7DC557C691834DC9FE49C98089E22E3FA14ECC11F26664A3D4AE199BE3042E65E252FCCC2B973044A447844510A90FBD851423B5F268FC9C9B0AC695D2FE34B858D247B4CCE8B5E61A4353F771E4F8EAA3A4C175181BF9D9D8C40896D83B3FF73E24A7DCE9D07C0B90039BFA759584E54002E4A018856FBB4E412743977CA74B14B68625447997196EE43D07F512E0337824C96717D01C605980A5F5088E7F831ECD372F9CB9D03C07900850ECE0D44B103AB6805C831A2E9976142B856660A976FCC816DC090F125C19CFD4AC927D849D602E99E3F255165113DD7CA7D472E1557C8DC2AE34A82E91C009D0770043A2F40E66007AAE4C79214A07D1A5F8D5EE032B954F402BBAD5F6F5D2EE34B81538CDD837C9F39F3E2ADD2EC2E765B6ECDED8CA8D2335D3B9B15E0475EFE71F691BE35BBBF5CB6E88B22586AD3A15077C07981A82ED82C4901889BB669C9DBA1897F74730637916053C7CE14CA6C554E5708A64B1AB086BE464E0725D8C7EA50BB5C395D25E0F44A360DC21F259785F19F6E2509BC1646CEE305F3DCFE7FA13BE3F0E27D4DE7059CB8729E4B560030820B58719993FC4124218CAEAC39A71CA6F2798D1DD98D5082F7F270FE1FB3EB5FE028F6883C5C8D7FF349360A829E2A970DDC9BB880FA16195F2C4CFBFEA1EC13957CF8F248EEBC8012511AA26405A0E2DA1B8CFF47EF179BB388AE78C19668650284B72E059BDB43E269DC1C568540F7128287872020D7DB996325C12E8EE2F6713F870F9D1388B2CA6529003112B7B3C83826B724BC5BAE3404B0B769B147681C96E3E28431FF48E15690C720FC91723978FB6F4F1DC3E6CBF862613F870F9D0F28C5E113547ED90A40CE228D73BA56CD1520A0C89C45B866E52210FFD055000008E1F0F407EC2E9485B68F3FA01CCDECC0E4D4E3365230F0576330FBAF72B90872F8D0F98072E9CBF9CB560022B8A4D178047382D89C4574C74E22C94E4023AF972B00614C34E7B1EBE35602A28F726E86D29D24F300BEBEE409763C5D3327C7150B77EFF38FD6E113C443240A400570A1FF344E67917E14FB338AF93E2685CAEC1AC2F9196EF8BE87AE900DAA6CA971E2793608C27F10E59C27D3003F6682B3EF61A87A5D8E2B1626870F96D2CD6A3EBEFC8806FD5E155F3E263205689BCEDF07B12B1596E02C7AB639A3988F95743D88B14D99B17E71A9E3D8D330B0FCD827FE745C18FD2CC6E88DB76DFA242C069DBBB56C2D2E8BA61BC4A500E16341C2CE484E604BA428053CE50191A03D964A8403E1E7F0A1F3003362FA9C5E640A40F5F07316611B434B186711DD93D7C5B28BC634991E6F41774BE9C7B0DFE15E403F2BD82118A35F80CF603F47BB96FC68CD63FF8A2BEB5E0001BA13D02B4CC6CDA2050D3E24FC556F5BF76499BDD86F2B1D9DBBF473F8E4CE0378951E012E520508741659D67541FC92F0ED1E7F378E3B350429015DE78A699F876F3C3731DC193E831770D7FF4C9AB10795E9174717566348B90674C8D0B5A39C8EDE7C286123AEAEBB568E93E1BCF031B93B0DBF04E62C777B29012ED9BC1471B1387C649E9C307AB0E8038E90DF89CA9EA1524E8C87363F23E39DC277C6698CB7B44D373C0E4576A7C29BFE233B0B53ACD77A1C4920A8B711773EAE7D7DD64937E819823F0AF173D0E5EFE2950E34D3F89D856B64EFF38A77E29CC277E23161CE42817F083B4A8E06397C846DBD27DBFC51810797361A651DFE7496EBF51C690FD05B80A64F06F3A19C457EC2275A183A86D3B2A897AEF440C34122815D779CFD5D8ACA8110E208BC550BD11BBC8049DC44F408759EE95E664958F67E00EBE2CBC8B3C04FF828E7734CF88E08237C2A67F5D78C26755BCA652A3D01EDE78FD1E12397EF847D1BD799A894E7FA26EB2782D9AA474CE3339636185710CD20E1E32DBB0DA78E7163374CCE05027D0E0E57D63C0AC1ED5920E9C7A0FB04D2BD842E7C8DCDD8D680E9DEDFE3A028DB05E545432DC7C6B7EF0D3A96AD0C4A27C79D729D18F46987F938E81F29C775F704FC62610B58F7649B3F9B8B2B76434F9E65DA61E1D81480DEDC31CDD67378030E763203DF413A51A7EF6D67AD89F931DF194FCFC5083F9F972C82D6876C2A8449BFC89683E0258D466AC237076697EAE00952025416531EF79E4A28C6D7095DDF354A9B7FBE9DE4FFD814800A3A7C96F52F5D19F13294C0D5F5A251F18914757F1BE52945F8942F1FF0E9B7DDB17F907A9E31795CA9FFE0652139BC60DE7DB7541AF97C814A904F94FFE7BC1963BFBA052C1F1FE17F3C73801E06FD4E16C5257C2A169F85790BB3F3B118ABCF8076BF534A5B21DF9B68981F80CE9151089F7878F012DEB9DD60E378CC239449B0934794BD66E8E6FA6C272ECEE7587B00629C363466BF30576020DF3EA822E5BEF95EB4A1681A3E237722CA3E0B0D7F1460DF9B34503E5918E7C1E1F21BFD68F638E082730FAF320BE10AF504E8FEEF6A6F34CE2C4427AAF8D81580183DACD93C312BC4EFFD988E43F87259E4C2C5C9897A0C0F0743B23BA0E25BE07F2D14E3433CFFC918C2DA793DE00A0452824F3ACC5598DE2A47EBBA27861B978871B3E31A9BE32A0C0D1D343B7F34EC6CBF1CFEB041F30BE4A7DDC6CA8EE372E89692F7B30EEB782FE1132D5A2262A24CC622DA6F51D0D6504AF9CE3CB1CE01A8A0A0A55E8E11CEB7BF02733F2753B5FCECEFF0D9586BC54EB0312AF2A75815A0A0F0A93A453A8B226F810A137C6375E6277E9360272B955282D8DEBC50C2EFA931C6BDAFB0EEDDA312EB5E672357FA991C3E1DA60993AFDBE68F39501B8649CBDF5814DF9C20961E2058F8FC0F72C343DB87E1F3A981CE2239CFA608FB397CE0EE9DECB7448CBB27885C0182844FB3FDF646FD785AEAC80244454F8FEA64914CBB2FC039870F633F9779C184EF21B4C98B41768238952052052824FCDED9BE9FB388DB374776B2486EE96AC33E0E1F91D878C2A71A4A10990284163E04913B5924F8145926D0F4111BD6590A5E4EB7A9C1639AC4B785CDCF55F8E6E236F9AB6A955682A21400FE6DCF2DD8C5083FDF086D8DC9DBD0FDD1860B7788E864919B6875219BD1173EE4B6E31D09BDDB2B2A73578E12F8C9482E230F07AE028E9C2586A5B3D645305A9C8419EA283875702083AF05FC1CBCF4BF6D6FD01FC22ED68652BD7A01CEA2A7E00A3D3ACFE4A6FC4F277CF015F057B0DC75B77508874F90D9386F311CB995FE30F6129E8DED6413B9E007404643F0626DC0FFAB8C6BF70DDD3C793BCE12987E6DE866CA91AABE250D1F39C79E7B75438323D9877856AE8FA7F8B0E6DDFA660B9F8AB72F71D0CC3DE2ACC1C4B646A3E07E3B395F5F83EB9BD3B4C1847619F50634FA9A21C38C5DC21CF228A804827D0E61FBEE65801CDE87229C8C9775592F038E074F0518DD6C9E82371E6648B79FDA912FF031ACF089889FB308343EE5493ECEB6755FED0D64A20F447261ED27B242F9FE1FEA76317AB8FF09CB62901284A381E1A68E8FF5BA4F4051009AB060CC7A0DC21F1C8EB83B5531C2CFE71CD36A9E846EF2E13C5CCBFF689F95DB8E30762FF656AF72950082FE6850CAD8E3A9C9EEAF90299340087F86AFF00B6CCF2A45F824ECB669C6EF31A629278B6A5211389F5EACF0A91D822686AE76F291112C8DDB775AD624575A002E05A03538344539FA0457CDA2BA041F898D0A83B444EE88D61A9910261EEFF4AEF3E5C810B0F7C9A2101937A9247CF9B869F4E58FD2425E09704A6D9D4C012FD0DB3C9118BDDD083DC512DA4180DF90D3602EF2EF32CEA5001BD667F6A459A43311087D55B79971D2E269C69B349B6C9B967A5C781C06A53C480B452B2DD0C922F4209E7BFD4BA3D81773957FC267F5BE2C8376725D194335E5093E11F7373D47BDCBD269FA0B3CC94E565A4088BDC81FE1C4BBF603C058B18D33929EA1107F597C31FFD289D799DE6631696EC69992D79927CC339634D7AC586D7D07A5EE1026FDA695862F6B6FC4173FCA0D2FE1E89BB4A4A4655FDB54FD5527E9B629C68AFAA6F41ABC915B39F15617DB1AF0D7799C4B015842ACF5B8D87437322E38C7AD0CEFDA0B9A2105E42D33E44E1631766899646A3AFBA0145BBB5E7AF7A8D7A6AFB93EDBC83FC8579E8EE27559D69650963C2AF75FC7DDBB9E5C43C0D021C915E8C7696FDCC600D725CEB5CD1D7B078C400863AE4EEFC6847DE3C604F927F58B56F99881FFE85AA0DBA8C3DF922966847917BAF75C2F3CAE556CD96599BF937B0ACCE53E903FEFE75200324C60145F20138731E8ACECC7D61A1835DEB14DFE26D9ECE534983C2AEB5D39CD001C510B70B5ADF19E1FD6615A1FE158DE5B66D6FA043DF4917269182A1419B9148032883A3E03530A1C9A7107087DB3EE9D2CAA7188669CC347E8B1EF5F7373D47FA1CD06EBD793495E690181FB05722FA7EC77404ACED70F32D4EDE68A022C9DAABF1270FC5A29932620BC8E4DC41C21AB440E206269810597F02F344DFCD0EB45F52C10ABB304EE318011E873395E51004A001BFC2C28C164BCD9C142E5ECE304E787B75D6EFC45263C00C7DB02588E3FA925C489F466079504197E8DB30EA7D2353E5EE93074FB87FA5673140E5D36627CF90E2614BD6B4FAC43DF87E7E9B75BE8FAB58F4F0966C09FFA404C142D40B3FD6CC6A40B2B4FC5B8DF7BBF0064B49AE66575CC68C5EAE063BFB2FE0131BA95C869E650E60000000049454E44AE426082'), +(54,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001432494441547801ED5D0B9414D599FE6F754FF7288FA849E4086ED044564D262647638830C31005796549F01CD4C5A3C63DC6DDE8595D8DCF417CC030092BBB6E1E26865D8F2766490C1B8575E3F0748119C001D9DD13D6AC28CAC12444C1C06844A6AB1F75F7FB8BE9B1FAD6ED99EEE9475575579DD35D75FFBA8FFFFEFF77EFFDEBD6ADFF0ACA73B42C4D5D2629334F58620A091A2BA5FC689EA865250B213228EB9020F126CA5D173168D596B6F8DEB21652A5CCA67698E7652CBA9224CD9424C7A36E6350B748358A47594750EE1FA421BB044556772F6C784157AE5089AD1DA94BAC8CF528189EA8DEF3260C080A5A4922764FF742F196373C14576ACB527906C9E43229E91A22691497BA32B1D1A0761A11E3F6AD6D0D2F3A4BC80140CB92E437C1F0F7A0FCA833921FAE010228DFF85AF7FDB15D7EE0271F0FCD1DC989C2B25643F967E48BE3151D204813895BBB17C57E94E5610000CDEDC99B495A8F656FF8F18C0A1C238326772F8CEFF1237F2D4BCD0BC8A2ED684023FDC85F962741C6CD5910D800E8EFF6BBFCD8F2B34C0F9C05BD193D35DEB4E51680C147C7D4C7E4C874AFF932C6DDF13E624BCB0AF704180EA6F0706077F5FD63BEA6DB17470D418F0A61EC1446745F5400DF153E9286199749718114723A59E21BAE311402CEF426EF021B0F569895A2B2B779D22A9F6D18B9025DEF2611937B6256DC2C2AE361444E4B32A4959E20A535D192743B64789A331B6EE8AC73D0BE246C6BDFCA6C7246E06B8CB95D24E2577B697871CF94B132ABD1AAC638F9E3A1207266ECE35B6E100927DDABEBF90FC9D8DB91E41157D72FE850C488CC530DAF6AF2C906A9B4CC5FA0CC16B55C6144A6194266AE506F40FD47BD563EF3C482330CBA49E58F052D0F9AD355BA57E177A27D17BA940F6698772F95CFF2E0062C8CF855B64E1501F163BE21A5702183BB7D2F5BBE93CFAEB6C6E760A86C77D2F8DAD2F0ADC6A95638234493AB2C41DB987717DD0302EB9275AA16CD733C86241AA7DEB0A4D1A3D2BC0C634873F1A3E3DB2B1E6155BB27C9A4B1D32B7E74E5B21DE7A263820F9314B90602478A46A3AFBB227B480093FBD4E26158E51836EAFDEA86AD516A793A9ED538D50CB311AF96C7B3BBDA59AA6A58FB2A3383852D0366A0FB1898C370DFAA2E05933E2E5EF2F05C5DC61CA5E5D3A916008E74E1658D4B2004408D2B78A8EA8500184A42357E3F04408D2B78A8EA8500184A42357E3F04408D2B78A8EA8500184A42357E5FF306301835C6A3F798E6F6C4DB7EE016BC8CC0849A1F58299A87C00200332F788F91FB96B0E8DA972D413095CFD50F8780B281209819850008A6DECAC6750880B28932981905D6062029FF88579C3E59BA2EFF066FD66E082204820B004129BF2C116F69EFFB2A56DC0451FFA1111848AD9591E9D00628A3308398550880206AAD8C3C870028A3308398550880206AAD8C3C870028A3308398550880206AAD8C3C870028A3308398550880206AAD8C3C870028A330839895C13E7954C6F9136D95E6655858A4E187BD5DF8E3C077772E19EA79F68E5F9D4E59F75854210FA96CF1F7F92ACDD3B0B05CFC6009868B6FCF7894E25D57D91A9E5D71AA48D0E994750FF0C21B97EB90D35C248F085337C35F9114AD6AF178F5A2E15B8D559D303E0D7783113CDBBC578785214BB11D6E28B158F706BB6253E878D32A6E62E70C2ADD8B70667BB20D029EA0962D0DB15EA57915360CE3BFD4B29967E65DA57B11B675697B5B514A87EE05FBB24B67E8372E572CF06EC10E0EBCFAC69D5B8F2D40498B20CCDCD7D682F6C351D43918C37CB1180F5D293CAD98AF635DE8279D22665F3C68604B2293631D5BBEEC8DCD32A52331D7B26885EA6505AFAFAD68843E63BFC46E69379F4225AE75323F700D47077075B7138F0BFBAAF1C5AB6D3CF1F8892E54D7F2992FC310D7742D8CFF6C80471F5C4C596A2EB02CB952C70A80B08F84DC0A39EE81D7C08AFB08322C68976802FE2742F1CD5A9E84F869F7FDF1EB6C004C5F26C72652E66E3FFAB6539987EFA27550FE6CBFB4FE2C7FDC0B00049D90E1CC2CCDAF67DBE7A2885F647B0E612637DE23E052D49807A4FACAF59A4B8042BC1C8FC6AFF69BF2994FE68979C3C5CB2EBE7D4438A16338DCECF7BA3A3011B4AD2DB6939D3062CCF28D75ED941BB7FCC668AC79D3BDE23D27DD4FD7CC1BF3C8BCFA89AF015E58B7EC68D3E16DD51E020622E062EE3239AA3795BC1363C71D1883BDF77809830FB3558BB6B6C57EEEC796EF945DF69A8783D68EE45F5A522E510DC36C9C6A9EED562FE81F23A7C61E511D6CBA0090656CEA93B2915DB1B1372E98DAE3FA7DF2E48DCFE9F089D4543C432AB376A207698B68B5B6B57C18D91DE047BDEEFB1A760545F159D965CFF6D3C1B7535F14969C01DA59F89D0E29E53ED164230F7196D2980CDF684A8314BB21DB239AA45CF45128EB20FC00768B71F18DF97C2A0EAA504DC68392EC6FF594CFB578E9B6B3CB193483F0665E0934B79BAFA0719DE78C60506446D7A2860D4E5AB1D7033640B109C3F8B521811000B5A1C761D72204C0B045571B094300D4861E875D8B1000C3165D6D240C0150453D629A58C8CD34ACC7C04AB11902A0529255F2952FD0B8C45ADA9CE8A3DFF6ADA5CB94DB9E0543005441F4E63ABA3261D2AF3153D68ADF197855B721D1498FA03768AC42F1831611026050F19476536EA44F249EA73556867E01C50FB894C7CCAA81E1E04EF338ED49AC234F575F8500284DC7DAD472079D6476D2223349AF40D9F01DA03F706F82CCD046F406AB302C9CA58F55596A088032CA17AD3AD2D7497F9578975EC5664D8BA1E0930BC91EE9E6636DD35E0061B9DCF4614F5148DA52E3840028558248CF967DB293AE33D762699DA427F0FBB362B30508E2F87D0BBDC67E80A81D797EACD83C86133F04C070A4D69F064A1A8956FBB718CB5FCB48FA0914786EBEECF0D6ED389660DF8BB50258CD44797764411EA301A085661F1D40DEFF84DFA7F2E5590E7A0880614831B98E3EC7CA81920E4261D86A97CE1E2C1B287C0DD6027E263E9B9635CEA6B5F193E8B35878B39841912F1DF21D81DF6D00C36B28EBDF5B4F79664484CAFF2D8CAF2625F209C30F7456BAB4680E947D752603051672087A115BB5DCDD300B0B6B1D87F832F17E870FCA0DF46333430F633BCE1B90AF765771D079C39CB9F79FBD803EF8C4E8E4AEF7671DDAF1EE57DED9F1DE5FF426C5C9BAB5008E9286BE0408CB77D4CA7A00EEDA537DD48495B51743019320A12950C2D842258516FF2A7EF7C567D1EA42D2981BE97C99A2EFA0C5CF2D243EC7B17B0FACD846393BC0634F5CD01E319337D82EEEA8CB1E00CFDEE760328637CC8C42920D10E068B4EED321CC3371FD2974ED674219C5370E412FE15B8AE5B119F40CF2727D2F984F35F1E9F40AEE7D15BDCC85E85DEE44DAF9287F50DD80CF9301CACB11EF72CE97BB14188F47717A038CBF89F3DB88D38B319E97A1A7F15472E4A439F42FB8CE39062D2427660D05A0FC260864995D2548297B4098F6E120656FE53D43591CFD5791082D6F9881ED764B386233E9BF917C012690EEC5D3C0DFE1FA46643EAAE02C25F1567AA721CDC5D934D9CD9EC1E701D04200640553EA19AD6CAF14B40AEA5FD938875E2B353F677A319D7E8BF01D00C2C3669AAE421957E237158AD5DA09CEB4C55ED7650F50AC90B2F1D18A5E85125619115A159F41155FFF0F20F062DA15FC939DF4715360D83A0186D6728121044056BBCA19CAFE1348BBF17B09D7BB6206CE33E8774AB4AA05C56C7A0785FD987F00C3688CF95FC0F8CE462AFFBE0860143DF9C4CC870060299C3876A05BFF294C3FFE78621F5AF81B503C64EBBF03606070FE67FFCF6650AEA7D3314B701E8CD9B361DF4C823DE3DA755D57931000FD52E1568E499AC775420A020DBD137F4BC1BFAE54271D00180A02007A91F0A83909440AEFB94200D49CF68BAB500880E2E45573B14300D49C4A8BAB500880E2E45573B14300D49C4AF515C263219E72DD470800B74CEA8A1202A0AED4EDAE6C0800B74CEA8A52E69940F1243C528C764A304A0D6E2F9ACE08E1B5A712C80B80F90FC9D83BD1BE0B3342340932F05183352A9F21F1610DE0298F28C76F6E8A1237615FBD0FA30C7175C2F1B2E8858F93C3EC8173F37D31ACAEF18743C821580FE46D1700A63E2647667A9377BD2D9377C02FCD489E5484B328544E6B4496BDD2585DDB7F08B2108007CEFDF0BF17282751D91A04E19C630340D817A47BCD97D1FA1EF08587309620DCAFB2074E76C238ED3BF22341106A90781C00407347722256A76E87C0C7FBB102187E6626D2C96D2108CAAB1D1B002D4B25BE58B556FBA6D5E7ABA3944D66DA7C9A7DA0E58B12D28B93C0091B402697A1859DA14B0A496F9764F40029BE7016CD3D013B6104AFBE7216AD935D1068D17E77F1D7B898F5B1BB78F6C0895E20309E435DB2AD34E184D55E502946C6C28A53F831CF8D2DAC881199E7D55E01CC0BFBD7873BF3C578F85892CB1B42300C5BE081D3450F09454B803F3B72B937C763F78AAD6D0D2F169D5B0512F0660BB6BF7D25EF7EF7AB0A350C162B0103BD85C6EA179B8ACDA852F1ED9D3678B305F771969B14528A95001C718B316A2211937B549AA761ECB4A1291F8E97C3A35409C0578D747D6D12B3E2FC3D996F0EFD362BC3F3BAED9B4A559F11EDA3B362FC559FABB0446F251002C05BF97B5E7A5D02001F4DD4F681C7264D05075EB339EFD5250022D2FE9CDE29079658CDBC68CAA4E1674839FABF7554A8EC7EA40E0F98BD1FA8D546F3A88A572EB5DC4A846134BBEB22E98FBAB2EA1200118B8E698471BE8616481296CFB8EA0280F3D7C5AEA32E01904CD11F5449E025D339F00DE46E396AC4008451972FA96C62A5D5AF551A87EB120023E6D2618CF9BDAA40927DFEF1E2ADF25668586EA35118EF5DEF49B0EDAF766ABF2E01D0FFDDFF0E55A8E82617A8B4A08553EFD315E80172BC90A3BEA9C638BDA4AB4B5D0280050143E9972E81E0C518BB6271D10344C0AADCEB34ECAE836F429DDD539F43000BA851D2B36819EC5D6DE0400F100381BD7305F248AEA78BD0FA2F5599C770A7DDD59CE3D56D0FC06E56A0F0351A61DD02EF5C819C13B0D2D4A6A9CFBBB153E839959E0DD72D005800780BF6F7594164CF68411F816BB607B2E1A09C536BA91980BE42E517AB27BF2F2651DE0F335CDF05A819F8358CCA8EB0B7532D81C14BE196F19109971FFBFCC8ADB97BF24ABA151B3E3C01E7CEFF5742F6554B0AD046C0EF0FD40231C47D108FD17755BA331C580060BA9B5F65E7ECA5EBAC58A1D74F1C6CA7EF9FDB92131D028DA2E5ACC0B915422CD8E56B4E26550C604F22ECF44E9F538B441DBE27A6D1A00EA5EB7A086081EDFDE0625A7FE47A5576BCEE707272AD7B4C7547F496C2FE85F13D47BB8B0B41BF6F3468A98BAE10EA1E002C8F7F3EB8948EA54F5144C318A007786C75DDF00981277D2C8B7E063E632A4B50ECED701DE77AE7A189A792EA2FFC5EFA63F4C3DF2F77559C8782B4A467BCDAD0C9C5908300DE0CF34F848F64DCBB9460D85A03FBC53DCFE1489FBD0CAC0D80F679DCA0C88C6C454A3DBF70F47ABA7E6CFB3D6362072ECDC94BC28DBCA4FF406B9B249AE9FD9C7B1E06B03FD13F40F9B3352C1C84E177A386AE2505180094E95AD4B0415BAB6112C777528F29E97FD0A57ED29905C24D89F7E879B99B668A2FE4DFE6C599A692D7B0F81762C6CF356185091F0BAFBAAF1DCAF073F216DA000E69F0E49088D21CAC0ED159CE2DE6617A0E6F0C73E6D91DC9AB7289FD83BE05E5BB8D3E2EDDA09B4F9A499B8B61240480222D3889DE8B09A2AFA0351D576E11BADCCB12C7697DB5F7F6633E50B6C08E208B71761B2BB88F9D4A1E6A9C657B1357D91E341C0240239ED86CEA416B9A0F634AB77C700A76F3E8C146D0E76A925684C4BD0ECAFB391E4B16E90A009F8F637FA28775F786A28500C82321B4A64E2CA2B811C28509907BA0159E8367EF17D1222FCDBD53FE107A9B31E875B6808BAB74B9A3A77A16CABF4577AF109A160078F4D1D20BC9B012710CABF055AEE52C3F368B7E82FCEED6E509549C0AE1AF43CBFC6BDDFD72D0921BE8F3D8757C27F29AA8CB0FE56FC66E610B00D2ECD640BA6883D2F8D33097C123ADF484415355F9266AE7E2073E228E56830DEC21B03C62D0D721ECA45A1E7A82066CD0F0380CB367CBB99C0CF91AB0F4EFB652B6F2C7ABE5F687FF15CA9F05C3B5A4AFB8F8EB60CDFA384B8BB83C8C549C0C80BBD6B84121072B5E707F01DC136057B069799E0ED8409B97E8A3DF605AF6DA5279B25BFD5ADA064B7F197A19D70C1F0F4930F816610BB86B4B553EF36A484376A94CA3F0DBD96D8C4AF7223CA52331178298AC960D7F84DD2AAD92E18699D40DD04DC46FAFB61C4C1861CFBFA760176C4BADB7379BD446CB47C42EA263D193FC10AD7E371AE525BA7828BB0F00B80A63BEFE31509768081AEC9CC86A771C791A49F369AF41D0DA91BA0473DD2B54FEF026F0981817DFA8D22B1DC670F046FC64BA044AC85F365E22A5D3B41DCADC80DF2CEECE07E30B5DFDA76147FC006B10DE40DC6F02ECAE8F75EDF482DE42CB6F85F2FF6DB0FC8ABD075011B52C317BE02740D3ED8BA340C8A396347AA2D1E8EBD80777D8C646A18C250D332E93E2023CF94EC3387F13CE2E01C26E590CEF210F169A67B9E3B152F1A6F02E9C17EBBAE99CF204FD0E80790E9B556E160DB69213487726C293D0D3F254AE46EE393910D2AF89630F2074F9DAB5FDB9B18B0BD900B05B5AC6EA0208FC3F358C5DBDA2A7C69BB6DC22B48B1C8BAB7E69B1CDE7E9B300C093F85D545A4E7952634612DDC11D9897782A4F8C92C976EB6277305288DB4ACEADC219D85DBF1073FDA07CAE6A7C0EFD2FDEBAF11AFC6FC0402C5BEB44ABCC08831EC3FBFC3FAFA4F2B90E760FC0177C34B7276F16527ED78F3D01BAC1B760B37EADFBFED8AE13DCFAEB9F1792E28BA35B3146DE06230EBE958B3F58F158C5F3B4D1404BFB37942E3E932253E40080D3F60F078FEA6D8222732F4B746141F92B49C4EEE95E2800027F1FD8C0718499A11B0082AF173C3400DC50C44A3CF4FDA8711AEDAF660D5D00C816DEB234759990197C65225A50917130C64ECBDEABE419065E066BFD0EA1BB7F13FDD33A4CC2ACDAD216D73F7A55929132E46D6EA4F3658A66000C2DA84B13B21C835F1C46E061807A3FCEDB40DF8C69E7AD087BB2F6F0FF01924C906B705535F20000000049454E44AE426082'), +(55,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900002830494441547801ED7D098015C5B57655DF7BBB67585C8820C4055C8027A02651546066181045C4678C0B2E8FF85C12216A348A11648688CE02EA43A368122506FD358A82DB8B415422300CA2BE177DE28A1B88A380441005666EDFDB5DEF3B3DDCA1BBAAEFDEF74E7CFF6D1D6ED7A9ED749D53A74E9D3A55C558E929B540A9054A2D506A81520B945AA0D402A51628B540A9054A2D506A81FF8F5A80FF337DAB10828F9C1DFB8188B30AC1C5F73526F6128C7FCD18DFC8197F5D3B20FCFAF28B79DB3F13CEDF755CFE291860DC5DC2F8F69BE82426D81434E8C1C91A95731E45DC12CED9E35DBBEB4F3C7795134E96BC04CFA0053A9D012A1B454F66459F128C8DC8005F77922FC110F774E9A2DFFDFCB57CAB3BA2F49E790B742A038C9A1D1D1C8F8B678560FD3247D99B1243C3D79C8B86AE7B19734B12C1DB3699843A8D01C6CC167B4763D1F7D1F37B678268DA349C7DA289D0CF9B66445E4A9BB694A0A3053A8D012A1BDA7E276CF68B0E4CDC2F9CBFCF985885DEBD0DCA60776EB32150068702A6BB93F9BE73767F8F8871CD7F4EE5DFFAC697809E16E81406A8AE374F8833F13283D6EFC606046F03E4C2E65A63A11B4EEFA7DF22BA6F8D99A771262663C8A892E33D61CE3E6621EDDCE61BF4BF7BE0A580D2021E0228B1050254D645FF2A9838D55B3CDFC543DAA92BA7475678E16A683703DD01063A418D4D40B80986BA6EE50C7D6E0252FA555BA0E80CE0F464D3FC872ACEF92DCD338C692A8AFE10C766D0605E80DFD9D0230EF44F052886843E038CCB174EE066D2349D1841DF31EA36B67F3C1EEBCB98DD938B500C435E4CD3C4D601FB45DEB96F128F1512BDA233406543F43C618B47DD1F859EBA430FE9FDFE369D7FE58667F2FEAFF78A2EDBB7C466D9C2BE2A697ACE9AC365C64F965FC7C1789DFB54FF87D84FB4999536E318C644156C1F83200DCBFCB0DA6DF77813714F84BAEAF72DBF868C62C13E4567808ABAE863F8F009EECFC0873EB8B2D6B8C80DCBF6BDB23EFA634882F91816F6F5CFCBD7EA5C1FFB522DFFD43FBE7050C7D661C7CE62C23E0FCA6C25BE5FCBB636EA2420D69CD1B5FACD33396444404FF119A0BEED6370FDA16EFCB9A6FD7C658DFE47372C97774C2D0F8EC6CC05E851C392E4FF428BF0539AA6196F25890F0CEC0C51B3A2E36C9B5FC9053B09388503299CB3170DCD383F1769E9577F511960A610DAD206B30DBD34E24646D3F9A0A6A9C67B6E58AEEFD5CB44D85E159B937C48E05BB9C646ADAC31D6E45A47AA7CA4E36C336317A197FF1244EF9F2A6DCE719CBF32A8A75E15847E505406185D2F0E3045B4C5FBE1DC5C59AB97611880040FEEA9AA6FBB0EE3ECAD6036E51BB196B0251CE6A3964D33DE09AA4622FCD731F36A4C51A780F0FB64532EBEDD02C36CC0F0B09D0BB113BFFB41793D18B897272B8733ED0ECC70AE4D169F295C699C4C33E6926E64636C9865592F4B79BF6C9E51B6BF040B2458551FFD370C96F36589E314CED9E648848D5C36B56C6D3E959112FAF516F34A94713DC4FEF7322A8B3B46AAA58CF3254C637F0FF78EBC23AF72CE84B47CA93E5E6D33FB0A30C7994AB9E830918838225FFC8BCA00958DD1B385253C461E70FF075000072A1F1810A0A22E368671FB493041779F22BF08878D91CB6FE01FF9C4A504D1185F590F51CFED59D069D23330E7AD68EC2735AE3D3870BFF0F26CC47745837919B3ED7B658420C9EE5E595BF64B199E4DB8B80C501F3D0B0DB7C88D20B4DB5757CE30521874DCA9737BAF6C307F847A9782099419021AF1332E8C914D33F8BA4C4B27439425C45D10F5304FA77EC0E0EF32C17FDB6DEFC86358ACFA2675EAE4B1150D6D7F60369BE4490149121EA1F7583E8AC73DF02C02594F47B2285B490A070FD518C319C6BFC23E9861BC1E0AF1B1B00A2904C0987D90E0D1974E6C10697BF1C9B7895E98C63E4866ECB4C4E76C3994CDD39A6AF42118ABE7E5437C6A1D4D180D1832BC7A12A49AF5B239289FD62B2A0358B072C9C8E28BF692618508AFB841FF2F3235A347EE94CBA7E568D3369FA99EEF6F90A1F4A44FB446CD77311E5F0849924A72AEE4A15045736D19661A657F457D5EA2C99567186EAAE59054EC353539FF910ACB1C525406408F5018008D591406A026C13AC32A2EB4D331ECB4C94D841E7D7CBCC57C90C676771CCD5C60647AD616E261C4A550F2F89B5A888D87425B45F5B8CB08EC9D3365AA0C9C0ECBA7FCA23280C699320480184563006A28F217809D1D5AB5DFDA809830B2DEAC4B3468559D79A929CC77D1C8E313309FDF2F61C8BA1853D91F364D2F5BEC131F1808A2449A42D352074BBF449E0283A23240C80A7FA1E0C259F7731E1721055E40C08A9AB2E7C08C172A632AEAB499A81951674E42AF5F842918AC93FE120AA2DDC214EE9E70376320748C078212F5A93E5B8381408917DC635453E2D3008ACA0087F7621BC0B31E3B367A5768F3DAE48EA069F0CF39BAA9D6780C1FFF1BBF02606AFF3DF03ACB2F8E60905AD027F8D0E69AB22B0BB14093AC5E18B6BAA971F0A1CEE3292A03D0DC173AD1E732BE428B0F9061C5088309EA41CC8795BAFC7A1A12A1974735CE6FE83D501FD67483FE8692AFC000B45D6FB50AFE990ACB1C12CC0245E6F551CA75F83BC893453836F3E73DB02205BAEDADFF6CC737E600F4F8E3525549BD1E22FFA2A6E90666029DF34007182CD7CC43F6A7322C9B705125403B623E06176E778A04207CBEDD818D284C7819D2D38218B2345E4BBD7E652712FFB27B9D0534C5628A49CB7A0FBA59068ACF00E4AF273F82291F26272944B8B2DE9CCC2CD104536E9FE4E50B4C1AD87A781415DC60951C07C6DEDF121F8A29B3A4F0F15DA1E17A5E12A9E80C80714C71D404171F0B11AC6AB8A95A248F38CC3AF48AFAE8FD42D8BF8796AFA72B0AA2F7DEAA5BA247A44B57D078619FAC94CFC5ABF99881A9BCA233408419AF2A1FC2448FD1B7468B320C8CBD5DF4D8B436FA027AD3252A1E8070D5AE0EE6EC2A626CD139B7275F9EF52D2B4020985061002E7873BE55149D011C4F169F61201ED786E5FB31E9F257DDDAD67FD74EF31534E648BFB410412D214DAB82B6FFB21C0F2618B47957F43F647831C2950DA20F703E5EAE4BD3B465322CDB70D119C0415070450A401C179401AAEB62D5769483F8FE5E3A58156C2A2F338E59313DB23A14D1CF0533FC436E4C5BB0CBB1BC7C8A0C2F7498B3E80518AA3CB422A7965EFDC34DF9D6ED2934DFC232CE8FB14B4E0B715630068027F2C438B75F4023F690EBA530D6E8EF0A8D304E7CE1D7FC4B0A2F9FCA5B98169AE867298401F04F2736A65A13A012827D6CC127CA2542223C158462DA390CA0690A03E0830693CBB4FCA1F9862BEBDB7E85D5BEFFA76AD08E452F0ED7AACB9A6AF5AB65656A654DE4798DF1B972FD28AB4FD432EF93E1850A8F9A6D1E0DDC7F20971FE2218F5F851C9F69B85318203C2CF2778CB3DBBD480ACD8A9A818A57EC406A04C168079132C3A0FA05D3C6D15ABD178F3D21ED80C854A4F399668933E16472D19E94857BC3EEE9AB7D4AFF820F0FE73DFE53B94AC3F85456101088B310E3F1D9EEC2D1D88FC23D0CE35DFAA76296D857D3CCDE3CAEF516CCEE83E5DADE1846F68315B70BD7ECAE98DB8F04F1FB272909F6736C45E3CC401A0BFB0D77A1255A016B8524DA8575F756C601131CBF4CC7D83F06693C9D0596C19D22143A4FB342EFECDF956D5A782DD206FCB4EF27303F83026A788AD6F8CCE61AE3260F2CC7406798821D5441A8C518933D0C00628CA595411ADBE877CB47667FEC22EA8FFE7B28087318B3F961F40BAEED2BE2D1B2F655A53DF6193014CAC6BF9EE526DF96C177E3F8194A8E073F5D9CACEDFFB85E1183FFFD7A096AE9CAACF85F6C16671BE16202BBC236A4FD04C57D8C0C9F80993FC610F2B11E0EAF7D712AFFC2A928DB7F6CF31732F1C178F1B27072A9956D157EDF966D1939A5AFBE55F48E9BE617B27846C381317066408A2D533955D88999F04D5F8161D64088ACD134B6C6D6D89BE113226FCA7A871BC5EA7B44376B6B741DF8CFA317810116C187F21C77DA7CDE3B450254CF1287DBB1D870F8C0A361BC1F088E97760DE7F379FF1C79F14DE449340ADE06A36C924EF88B379BBB2AEBDAFE0BF2E56538FCADEA526EAC761F75637D6D626389B76DE86B425CBB937E837A8A22019CD340E2E618C8D353D0B34FC1871D18D407FC9F29877C07057B1DC3C773A188D66499F602B49777DA0A4753F2350CF29B0B2601C87AC544F45C8CB36762BFDE307C5D61EAD2A07C410344A374F16B1888CCC530783F8AC66DE59A68C5F6EB560B0A1EA44F2B8F88562D8E0555CECBA10A9643D9EB12E256B9A0B0E0E528147F7617D803CA359B95235D77E4BB10DF92D5CE1F3FBC1458FB4CE518E0798C65EED16BDCE930F5BBD91D0EE23D50A2909D7D676BEC6C6861E70BDBAC02828EE64CAC9DF3C3D9E710536B212AC92BB6857E8566B784435A8BD0229B2D33FA304A3FD1B77C68CBD80378936F5C8EC091B3CC876D8BAD8658F7B8B18169D66B5CDC8571FE40C41D089CFB42791D041DC76F434A2EB5C34865952594E45C0AF0CB033CF37F68E3053EF44AD0F97C10DB77AF7B76B5F06D61AE9DCEBA86DF4EE672459B40AD66F309D477BA5FD9F0DC99411E3F7E71F9C2B08C3C07A6EB6B9572B8764573ADFE3B371C5EC57D633C4A671C0D01031F89363A0E38279B9EBAB3FABE8360607CFE872EBA3E2F61B9F44D982130670600977310FE6C7CD435F8A0ACCDB8A878137A336D9EF8D4B6C55419DF300B8D5A3E23B25C86537826ED32AE371FC218E96B3300F16F00F167FBE50D02860D225D7745A36B41CC033CE571BECDD0F4FEE9B66E93A46C6B8D1E0F13EF0968BBE1688711E840E59EB2D206E8081CF63864EC6DF9EC74CE8901E83006E0773398E0A8B478762420C38B6882B87E510BF317DD7BF431877E0B0D30A423295E60A499877D6F97B96189F78AFAB67BD1F8BE7160A8EBB121E3B644DA42FDFA9D74E2D4C5D97D50D42665532F6D48B1BE888F10B6351FF90ECA262FAD5710238423E2C65C368A66C500D9EC896B6F0CFE2D2A78164459B47F99FE5C326B1976DD4C831E37CBF3E1E84D7D06E8BDE5B37D2AEA4C2CC9DA533C691381002D64892253FD621AB71C0C3DD29B86DB5CE343693B9A179E3A440B56307A41AA490F4C90F82F2D9D606BB080CB83E1327D6A3647E178CC9B52D51D41324A54D59B77C68558056C526E882444A0793F0BB7E99F840FD07B9169178E944F26233E551266FAA3C4C91D15D20B36726EFEC0FC891B869E8F713709F199362728F3A8BBCE94EF1ABF8ABED79B06266361DFE185A50E398B60B6F0C9C3BF0973E328188F7E0599F84EAA521CA5144E2E566BF43D62A65469DD7169390B7BFA2BB1A7FF61643AD89D517987B60E22CE0B87F5FB9DE55425416A0088BB129C5EE14E456BF418069C1E866182AC5F8F8131549C7310BBEE7AF279C76AE35C4C42AF94CBA06D6299EE14C2BAC843E8580AD188F04D35651D869FAAFAD8704C4B69E83B0F04F7AE0FC80870FE1CA4C185E9A481DA98AE82B0356A92CDC55C34BAE48CE84A44766FA1CDEE3D30F2A02CAE5DA9D2BE56359817DAB6FDA09C30AC7168CEDA3E16B397FA7D347AE0A327D6E81367067870928C43AA302D4A71CBFC10B891B5CFF5F03769BB18F0F34A36570A7AAD6C888DC5D8BF44029312F4DF18024FF05BF36FB7B1C4AE83989C847ABB2A797703D081D6A39C1FA752127D190085721CE6301726CB2B5214BE91716D7AEFFE9187FC904C962F19DC51843E375BE486C410B840706D2C0D09725E7CE0F370E4382D954D5DCE5388308EBDBD060B50B7CB6563363211B3913FCBF044B8FDF453528059DF048C7E9D61143B8FD26D3EA1A1C36A8D4D0723C06CEC6F6843593B31269DBFA2B6EC2FEE3A12EFBE3A004EBEB82329F13976F7307EDBBE91F63D7141109F90D97D44CAFD09C412BFD07F26F8129FF13780C3399D4D7CC2B35B7783E6FE1B1238277E41943AF2404E84E5DF6D311386232FF1DBD3F03BD3119FD29178A77382B8CE8E829AB8542E9FC22421B0A56C2124CD897EF18A0480023103DAE8CDBE8939FB4884B4F30A75066F559D38C466E64740DB97313B70E2EC53CE8D612B6BF8C60E58862F62190BB745592518BC1A12E4FB20004E2D63EB78982D36C6B2F7332C4649460E22C2B6E7CB11F038BA0A449A2BC33195564E4BA134C0695DB9611C0923CF4E394FBA7045BD79394CD573C0788A310E9D7607A6DFA3E99C0477391E06809251851DB1CBC1361EB89381F3853D22FAA5853E859BF6E2836BC7BB91F4BC637AA845D8885C8E958B3EC7CE81A8BE0583F2219E3277076848C15EDB6B8C93D47DF87EE9DDB099EDC6A93560DEC16E38DEBF0CF7300E5B7E05DF9180B78FE1E65BF27007F2DBA190560DC7D49589B4D9FEA2031F85729F02531F2AE725E6DAA7A731E42F93F8AE445C474FA331181AE63C3FE223E3BC3135FA7985263E21057BFA3D09E4945F0C3F1AD3CEC885F86D8BD91D588A7D3C19F1A92E68F363E1FFFF1AD28E53EA4E03980925540B098CC7CAD3CBDA6676988D411CA835D10754E283FC3809341FE253CDA4F095478C4AF4F8F7644CF07D877CBD2556E786773080FD45F40A2035C01D49EF50221E228B1C7DA01C578830FA00B966814EEA039BD7154DB5912635263524BA98D5E0E331974EFF205D37F49E45E612F6A3F4A9BD2930EDFB4FB4D7CB5E28188BB15F912D85E0231BCCA9A8E364390D08F61636AACE90E1B9841D0FA4903E127937A8F9C5D598B91C9A80773080B0F9A50960E2171FF3EE3E3DF5C98970A17FAB6F11075ACC5A8826538720AA3CE4E7A0991AABB6E7D840106066EA54DE58A4EF0269310F84F2C7C39BDC13C2668D691E00053083B1B745275736C646A26C9F052A6E8623FCA7415E79B3723ADF1282CF22182BEEC6079D3CC42CF3E204CC61002C710E85E2704402D8F1CBB56BDDE34507BC002FCEEA9E195D8006F2B84079AAB26C3F11EB492207204B7080238C8DD203CABE8FA16D0ECCD47FC4FBB752340D073F82CE708A0C4F177644B8BF467E1DB3AD471D024885C04F61DAB269FA9B1238EF206D7281307D4029083E0D0998C30058DF3E260148FCD21842BEF18970A17FB1B4DB08E28F48550F98F4D4EA0653F1914F96877A309C3C94E56210FC19A31F3BBAEC54765DD938F673CC39681AB5452947305AF4CAFAC1DD45DE750D94003CF6073E7DE4C2D0CE4F63F1CAC70C2CA7CC31AC71BFB20F4EECC17018005CD94F2E1E4278B50C2B54B8A2B1ED34D407CB96FCA8BA40DC1637C8A992869F73A4892A51389BC207EF39B0AA7C1C5B8F86C02293F70143AA52D19BC43744075161F87CCD37D20524AD3CD44DEF10C7AEA8C05EE94C03E0B25D29B02DD68F600E03C05AD9434E805EB2498615224C47BCC31DEB41C85C54293D82A92652C6CEA64D9E524ADF6054637BCB11A8C432CAD9A7321CE14F6418D22AF9E53449C31A53A480372D37434C9B90CCE1C59B36EFD066B9048BF3EF11AC5D0270FEB99C00E1C37C6081826662EE1C8D471F8296A432202E913042FAC510916DDE4AE11016E5B55E987FC8B019DCA8BC0F7A75286EB2E15E28E969300EC90F57F3CB49928561C97B06CBC20A5325D2E3BBAE5B5EABFF77225CA85F722143D97DE5F2C321BB85600E0368BEC78C88D1641B903306197EA9217A2D1ABE4A2993F3B731FBB8FC6F357CB3D084621E46FA89D50DD1214A3E09C04F65DF40CCAE95C0CCB2D83C9A1D24E050F6CE870E7079229CF805B3A415E389B4F2EFC9B7B23E303A29EB174E3AAEBDE8671D94CB0822BCE9C3F8180CF1865C96E8AE3B52D061003D1C5986093FBE77CF03C2F48C7F1EBB640F24D83722207434754A8453B561E99B90987DE8C2B80D7601D35B3BF611DAE9446C7B0E7CC7026F5EA7B70F8029F89DB6BFB2B75A17B30D98F23D82749E99021807AE7770B9CAE1A18324DA62E653A8C99F018488E6506C6E598475BD9C91F4938465D26180A5D3F80620FB373921E4E22CDAC4A1C0F304D002495CB087FC3813A2F17AB7A58FEEF8C1AADA1FE42A312338ADBA3E5621C3E570998ECDA13E7BFD6928C0DF1058690E92F35018718F19E3D81ABFB854301AD636ED34C150C94F1D03738DABAA4F753055AA1A328FABACA3AD656CB49A83CF4FC01C06A04088718F376B7B02B1573C6E2EA235EF4486207E377D60DE08E652A6736898255843BF5BAE03EEDF749EDF0E196E096BB60C93C3FC24B61DCADC05F8B3E4B86461E0F15199967C293C593E822F6D8CD231F267A44A03E608E1E0F449A9D2E41B478E3CB00110F34B0FDF6A84238F26801D0CB0A2D6780A8DFC6C2262CFAF389AC5CD657454FA1E58EE6F55B3A347A277FD5A2E0104FA4748372E96E11426AB16E6EA7ED3B411558D6DCA3C5F2EA36C3C7B11B033508762F091D382F86F1821369A9FC2B6CA71E9C258C8BA3EE932BA94194C72E9EEA3DFA498FC83231B62275996BDC457C26A7C0A247EC7B4B08301A8DA90AEFF02E3ED372A0AE268B841AF8653E8B16A5CE61020C4B1D8028F5E1F0F23CE272FBF9E279D7A86F7D1E780388AB1C6B6782389DD745880099E35B051034C703FCA51A409F27F0AABE0B5465F76026E16F82C5D79723C5CD6B02782F94B244D5316B890B6F7FBFFF0FA3CCA65E612C69E852B2DDB4647165D94FCB8718CCE3576C33D0D47BE7C38F9FA4C2809AA9282E545BA28812E63CAA4C1DD9524DEB1DC3C199C3F2C114EFCA2BE27E03CFA4422ECF7EB282D42AB53E3C4E0971A6317A970158259410B18E1675089F70B87D9082879E780194E87FFDE90F2F1AC1FAC8277B80D446A09FE10E7DC20C11E006383BFBC0FCA9FD75CA35F09E9FAAA370624B28532F390D3641A26CB1E24D0D3D8B0321725EB723EB4F1BB74DD9C02970114AE6A8C9E8929CCE3CE58E593001FF3062E67FE6536E7E2EF5E037F0F657A8C2B28EB6BA6E9833271EE20E571D307B8721ECB9A125A5F96458C016ED126C5172CB8DB876209885F2E57826F5B8C13464F27AF297855FF3BAEB27B404E93EF957934CFDFBC363619BE9B75C0C157570313AEC7F17C1550A8157B8F4702249023376E449C830FF01395D090C50F85653583E31EC9F80045DBBC55267E7B7D1C1B3932F3EC4143D285D0331278BA7E7BB5C56237B9C24579A5453438D03CEB477C0CA57F2F2FD327245CE670DCCC6380297A052ED1F9692EC8D2708AF6FFF1A6B5E61BC0E1EEE4C4E76B40FC6A3FE253BD8AC87223E3286C71F18C4F8FDB930CF60314F224F6013424F36323DD01C3C76B40D2531F022BE034390AE2094362660F7D383C885FC1EF71EE1C608C7838C27E10E45D80EEF2E577B263C46DB602E256B56232FEA1AEE99564C872E7F3DB5348BD13FE1687B8D3A57AA71EBFF1037302D24C477BA63486A14D1681092F4AE55EE62B011208D0F62D5D3386A220C598924843440531CEB2E3F6EBE0C85524EAE41335E3C2BE5D213E365484345CAB9A05F1A94E4AAF85F8958AE10A5EB1B1385CD88BF0543746FFC5B20566162AF151FD0623A28F9189EFA0C5D99F65F4D0B9FAD17D8A325C0E93DD00ED7B134E395D8FB67C2415F1D1463BC158D7E0F4B309A9884F75787AA45CA93B0CD7E7F190FDBF07C2BE8613775A30CCD798832ED078E8719BDBDF93EF0AA4B450C07ED7545B76853B5F36EFD848F247E073A99287F309CDB5C642051E1000EEF283A0BCBD84BAF7578AC465949ACE2A9BAE2FFB5089DB0DC0AD63EF837106BAE331FB988B25E1ABDC307AA78335DAE2B1D3D1C370E934F926A49FED80F02F8442C624DC85B85E2ECF2F9C31035066726BB2B79AD380CCD5D003BAF915A8C0E85A38013B93FBC97017AD3B8BFCEE9CA065991F008F7D3C71D8A1D47D2F6350BED7B479CADC1D6817FB8EC5D4C726C2B7C2845DEDDEF4EA5746555D7426AEA5B9D11307C6E933C03880F405B2B7B49AB153D1C3CF46673B094457347A4FDEDD01F4FA0F40CCDF604885AE91F9937208908BA1A958D30CA316068343D187E7400CC37F2FCD23131FC931E2AFB0B5181DA4901503BA6B22E3104AFA8D1BE6BC63CBF68E6FA2B728F03C01746023C4FE3214A3121F17388200E3D2119F5008E9A2C30AD78112A4C9C6B5B147604B786357D4DC44EEE5689BF199109F7408D0E292DE03F441D9129FEACF990094994EFAB2A3E664680197815BFB102CBB075A3167AF02895730B2BFA2750BBF96CDFA382944A405430A1CE9A9177A020E7D1E99AF876DA2CC8A59E631D87BFB3C88E2ACA127E0EDBFFC1B1C353B0ECEAA2F7BE1FE21ACADF4B3ACE84B68AF43FC536406C530FB2A4E25B96750CFC8826CAEA1954BCF8B0112859149F3FD2DE699D8E24D637A65029EF52F088745B88FE113FA365EDE86787A3B14666FF7DF57FF20D947D29675DAB5AC8E8F7C6DF7BDF5A3F375B4ACAA8B8D861EF33444B272D40B7AFD762C198E6D9EAEBF2A7F2B8DDF313B3EC8B6C410F4D22198AA1D89C61E02C2F794D3661C6EBF7FF871ACDBDC1D942F41200CE0FE00E270DB32B17B95DD889E59E68ECBFD1D7BEEB9D80CC6680163B4E000C6CF04B75B3082D0F1EE2D10CD17C1AC76895C3E08D4080B638D0CCF34BCDB20462B7B301ECA0F87AF01AF01717721FE40302029C70762899BCE073A08308FC14BCE9D7198B6E2096C58E16C81B6AFFE4C621937E3FC691206CE00541F7ACDC936B39E4F5377B0D1E010F452E97B8871383476B1098A076EEFD65AA180ED42223A0AB6154A752BB63B6065AEFD443028ABE57040C1A9A1BC1CF9068388C7A965068BB65F69A89B166B96E277717979E469F7F9817EE9F381799C20F229C89D17BDF37234A6F7D1D806F48E5F834C63D15BAA110F4532C047213E950D720A31C6A905F860E753E2950278C00ECEAF0B592709F1920BE6E42AFC3F18D75BB49076011F165E5DAC4DAF528FC9FF23C9602198B90E0DE899FAE1B083EB70D8C19C440D8E021937876343CA0834F77020F243E4F111B5891CFF777ED1B3BF02B13FC4DAC009EEAF021CF76BEB3D9B6FE0DBDCF042BE072F01E0E800827A888F8FDDA187F43FBA3F64F7D2EF9380D11F733686AC3607A0671E858E497EFAB4C9F1484C350FEA0C31ECC635D77710340A39F221BE690DBC2FD760AC591312C61AB2CB93E2FCEE16F32B7C5B8772499D46B34DCCFD737345CB05CFC025008E4C5907E9D9CF830CEED8A56B563DB00C03E4986A7F691E026D1AA785B343B139F430341495DF07E3786F487E58E4323396645865C6C988B1917823187E13888D83AF715A0A4E08A753C2C391F027155359CBCC147B2A61DAC5F2ADF8B1A742CEFF044BA66AE1F4240A2E10A80470167D84DD4F462F2CB4076458A6E1DD0747BC87F4F4A73C68403E6616EB61E3EE0011D37ADA21AB8BB0184ECCF0D9D625602D0BC19207250F05D151B0A4F0F5C0FEA163413CFFE1876BFF13D6D86F61CEDCEE288D827D1B16E1CDE132B6299D9D7DE934055D0F003AD10B605E2F0388D4BBA33C050410089401301F3F5BC589AF0D6ACEAA960D4B1669FF8C7DB5FBCF4982C5A8651B7799AF43BCFE8B270FC7EE67A1CD4DF81D627D835CD36641627986AC3D79B43BC7D444AE4DD58BF7A4CDFE2DCCD9CB708EF53E9C0D187797D8AB10A66C6F45ED21D85A827B408BB3E4D2B0E8F3B00C2B74D839922E848B96308796EB82C498434E1C5894790C4E2FE4A3A0109F94319C7F7445F30CFD578522BE83D7F0C8DB60E15D1E1C21D1766E8F1FEB81153010180338DABF6087CBB8C292F7940C2B46988EB181823353AD4BE8B0CAD1522EADA9FB3CF089E4DA78F9CC5F9F847983DAA77AEA4DAAB6660FCDBBF00C0B088C0170B68FEAA38F95B9623968F87D6F538D3E0B16B4254A9C48A23472F64924C28617735734A48D6246C6A0F6DD630068E423E48686468C9ED6790FE907706899081B444B5A2C70B0220B19C7169D6135A6300086A5EF1E03601947459A732CD274EE63D9B1FED846967CBA0B26C1B4ED269C81745A310D3089568102023D40790EA613C915680100E1A0CA04D7F693CBC2DE2BBF8F939315244CF603EB73F3264CDFA680FA8AA2D751A960316C3D5B525065AFA332F5A5BC9BBEEEDBED260CD05E6F9F36DB3C18A97DA7BE6A29B94302D101A8B18182E228B15724F24EEEA8E59EB3A2D13C3EFE39FC0484C0F130AA96EF2D99F629DACFD02AA6175E9C50FB72B5508628DBD4FA1603834018C0DE1255FD04B1765D8C63E5DC8D442E6B749C3CCE8559A5D8003A123A76838ED0EE975ED803F92CCDBFE588A28439EE1A941F0D076714E1098401E8E22519573876EC9061850CE3CE8173E3DBC8E1D29E92ACD763286809D921B2556C50711183E14AF638AD49A8718585002F8501E008FADD91008CEB71B98960E0C2B856F887BC74B1FEF03778232D8039F78064356246B2A04B57E3E81537869FC209E4E36124FA564E0B8BE0581C56357F66067B0DE5BC798505F9374A8F60DF1D090093A67480037D0CEF455BB9A4CF0A2C48670A3AAEE1365B03C28D4E5630EC001B311D3C03B76D9E9F70AC585E63BC0D9D6B8263F19332626167E2D286E87D9022C9670E529EBC837E9B5539A3F58A823F810C01FB1EEA5C16D1EAC1160DB8F91373A0071640E0C446F13D1AE72DD3A465D64B93897BAA0A049E1FEA6A0C825BD83372D5CD33224BB018A3F8E23BE950AE735CBE9CA94061309DDF705994A1281006207F76A856CA691A22CECE0EAACD484BA76B6B4CDBFCD419E753F91B720E5D207412087F492A2F6332F772AEFDD61747DC95405BB97CE30206C2AB586580A40B54C1561E0803104AE86DAA450B375A381B3872C499C4302DDC60DD7C8165991FC183E62AC0921A4880C376987CA60CEAA91F851EBE34936A9BB0DA4792C22F2DDD0D88BA1BFCE28284F9E94B188014C53AC83A136505C600D81B707FA2D08E5F3A1DD38E3E422ED21DB00C5ED0DB0FA77B0BF007A25B2B40F47353897AB01F6C7DFC4FE5863E0057B6DD9ECC85DCAF6A105FE0CA999F41497CD82F1EF54E8792F97BDA83E0171F040C8CE6B3C1D46B180AA21EBF32025574FCAF5123E9C0D6E3DA97594C8B2C94CDAD68603E6A36EB8B1E7E3488301AE1711813FBFB21ABC0403CC016616FDD4C3A115389CF02B07B9309AEA115E7F96503A33CD3BB8B7E7EAADBCFFCF26502C376B17AB8A7D6B8D312434271FDA91B5688F7401980CEF1858FFE6A346292FD00D453C546B004DD031C8298EB0E45EEFB3083666D80218284C3FCC6200F5976FC129BCD4781BFAFEE02A2AC866FE3BFA6BB19345B429184C14C66B23B1FEAAA0303FCC60D2BC47B60430021B7BC46FF1FEC94B93A39A2106B345717E20434F2D0766B5D36C487F304AE888B44F81028786704497C07FF513C1EAAD0CF47E33FEDF70DC07958D432578DAE837F62800F883F582E0E33947532AC10E140198010C47938F7D13D3990FBB1A010C610F2117AFCD4AE5DF583E85AD6422ED99293C611BD74B2113CE68FBF186832F375B23CFAC7670785F9D9405DC7C9B9C2456280408700F747D0218EB8EBEF5E8CE983DCF02CDE37A061A07AF10585BAA42A152EA49B38B7A7313BA9440363CEEBDDC5B83A1FBD80DA292EAC955E5CB81D2ED7F74F77E9A3374F6EA1823100A1438D88D3344EC12DD974C1219D82A1AC183A684399C3DA410B3C745761C7EBCA302E995E365D7F070C404A5EA73E742A1AF0BF055FE32F2D71AEB116661764B235DCEF4330CD9C8FB6B9C81D07A2AC5839A3ACDA0D2BD47B41194046DAF11BD4E2876A82C12FCF829938D416D2C29F9677659FE5BB8B57AE2BC8309D8E821D4C8F80097C955530AA8569F01F0C6EDC988D82887B120660F7E2BB6000CF1413C6A95F263C9783FC0EBFB28ACA007E087C5760741A9A6D9283ABF7781737FE501E71E49DB8F988FD8CBBD3D92268E9DADA16FD2B14C02A7719D09D4479443FD0B9F8C9135198408901B2685772D36A8D9A77CB225B2EC2598012FC3E66883FFB9D17E45C8E659A4F3A33212933A4C90398E15C2C810B162C31400E4D0B0BE579B804682E1494FDD2658754F81053D7D7A10EB5803120EAED41D0754683F8CA620FE2B7C089F5886C869174F5A78B2F3140BA164A124F47B3C65BCD3B31245C902449D660F826A6BC6C3AEB0233C85062800C1A2955125AAC822DFF56F4E8E353A54B1D07551057C7E1A8B8DB52A70B3EB6C40001B529FC07CEC0F9815360E95437C8A4A80343C40E5C977B41B2EBDD53640D24AAC4008134E39E42DA4F14631331D6E376F054876AE2DC639C1C1A0AE98D38D4F1A33D2514F7ADC400056A6FCC14F8C8DBA287B3181F0A46381C4167C917B3BC2FB120F6E6BE61A3A9D85ED305FAD452B1A51628B540A9054A2D506A81520B945AA0D402A51628B540A9054A2DF0DD6981FF057F75CE6556DB1B630000000049454E44AE426082'), +(56,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000018AF494441547801ED5D0B9854C5953E75BBFBF680A2A0204614358E6E226B5C567C64971940DEF808BA0B9F71D75DDD0F5FD18DD1353E8621928F19F0158DEB23316AD6185FC14483AE88E20366F09D2F891A4479FB40505CA380D2F7DEEE5BFB57CF744FDFAAEA9EEEDBB79B9EE6DEEFEBAF6F9D3A75AAEE39A74E9D7A33EAA34FF3027B244FF21928FE04227E1027B61FFE8D7C9FC3882511BF8518ADE78C2D365C7361C71CB6211FFEEE02677DED434F9CC70F73C8BE91139F5E4ED9D30A61F0BBFAF78BB73E7D19FBAC1C5A7D396D9F528031EDCE44D7751742F80303633AA375CC60A776B6C4DF0E8C661F22D46714A069BE3386BBEE52E23C16347FC1844F23D1F8B1CBAE661B83A65DEBF4F2B699B554F0B1D7F3FD2995FA6D25842FBE93130D4EA5EC45E7DD19BC72D5121F756589EA80B5064BDAD68F51A6C16AB998CD18BB8D19EEF2682ABED28891A3E2744192AEDD3FC5E9EF20ED699CF3B3643CC0BEF5CE27CE7980DF2EC7D573B8E69B80F1ED7CA8CDED4D1050C4230878F346944DEFB82AFE96075E44A0799E33C965AEB028033CE88C3675CE8E1F04A58251D83D9E9A6F026C724E51844FCC8D18917FF5237C21D68E39B16720E4CB1411731AD6DCEE1CABC0EB1850F30A805ADA2CF39F317A6C794BEC65195E4AB873B679379460B59C8691ABE427E3D453B8F61580F8010AC3197F5581F901707A4D4EC6B9A1E62723D551B8E61500237CFB2AFC666C8D02F30360A4D0C118839A9F1FDA7D244DCD2B808E8F8CB8AB83970A83071C089D52F3AD25FC3EA900B5C4C0BE5E965001FABA04CB2C7FA8006532B0AF270F15A0AF4BB0CCF2F7050548C8DF88AEDA3E32CC4F9873A6D231F84E3FB4FA6A9ADA57004E1F29CCE5EE310ACC0F80E9E8B0CD7E48F5D53435AF0028E02A85B99CA64FFD6FBE97022F01307A7EE2082276BC9C449B9F8C5447E19A57002CDF7A5CE637666A0EDCB1CDBE057304BE26B3A03C7172D9AF903EEEA5CDEC3D06984BBCB0FA0EF9626035592284DCD466FF09B3F647CBF9624EE0B948247E011672AC95E3F285C7B6D927A488DF03BA47CA385826767FE79CB832552CE3D553B8E6154030BBA9DD99CCDD54FE9A89695C7CC84AE262E1A7FEE18CF7433C9488AB8E1F926062C88A44CC6FEC6EAB82FA8402089136B7D9B7B8DCFDBE5EBCE5430D326675CC31EF299F52DFA250F33E40869D438F885D867ABA30130EF4DF60737747E10B1EF6190B200A9BF607E6DB2D58AF334775E00446890F637F458A8B56B4C61F2A3165DDA0F72905C8707DEC027E482A65B5407F4F8722943E7DCBE83DC6D9833C6ADEB0E2EAB4126448EF76FF051560E2755F1E60394623196CA0C1597FCE5379F1991171208C2F78846D199A30DF7D642EB32BCDCD190B7964EB6A6724E6F00F4267613F740FF33769063906773FC63AC2F52F5C155F59E9B2F515FA8A40E7629CF5F976E72C30B50502C560899F877D458C3F6452FC9AE75BD9263F14C234D5E1804701265EC70F48D8F6A310BE3242E6AB388CED3418BBA063B6799FAFF461A28A7320AB0068571B93496B39720C7C4D1C94604E476BBCADE25F1366503207D20A20C6D5B76FB35F859BFD8D9229149900FBEFBE8B35F70F17895E14DA8C9B78BFCF12F6A18E6B0C642CB50737225985960918C994CB22C67687DCBF1EB96F7CC32FCE67793791C869EB399C6618865A6FE6DCFD81F64331CA066FFB3520AEE1681BB438026860C326676296EE682892B27F0FC3AC9FF7DFC33C2C889DB828EF7128CA5C740727E2BFE4DD4D18F5FB12E57C9447CCB9E805AC17C5DF5D1F36E15A3E3CE1D8581DCB4D0F13D07E63F1654BC7ECF82D60587EC17B12118DBBD61AE124E95E28C128294A0CB75EDFD91ABF5286171B167BF7DEFED4BA154B39CF2F364D613C6C2D33786BE7EC861B0AE3D56FAC6127AD998AF0F1BD86C1CFE86C6DF86929C2176C125DAC017B99A3613594AE166AEBBFA06791D74C1762B330F7AB3EB19606277C911B37B1BEF8FAA6B6C45D85F2AEE73803EBA24F923F1042FF4D474B83320D2BE3E50B3FF57D6681C67F28F1D87A356EBEA3CCEA29781AC0962FED5FC20C8DD144950D42D336ABA94D0C2CED7E4F14D5F130D9BE639AD5B7F0332CEC6C355F1BDD96F8185EC3D00C4CFCA7186FC4DF9F7361BDBD37B75B335D979FA1C3836F21968CBD01BBB212630F791D3B8CFCF5079E50BE11B042DE8DA6004209E6A1F95AB4BB0D1245B1F3667F7C3E5890F344E94F3921DFAF50AE3F83F2640F0157E457FC2346FB36AFB6E6EB53B0FB227B9A972CBB947DAE8F57A162183999B27E894F1EE78DE546D261229FEF78E1BB36C457D000671B3542C11BD1FC897F9C85444299B781B7AB309BF37CBFA9B4D16F29A33A8FDDE4A6F0920378D80E45B998ABF4100A65B475F5572389470E9371FC3A9462BE1F16607C53BBFD24BE7DAA872EA393C6DEC8072FBB9C7DEA815738C03B6990B303C225089953239AE5F43F84DB98F8222DF01E364A7515958C279EA4659128B5C626D34BA516B5E42E54A919948B9F62B12679271884BF7ACFBDCC1FF9A58DF4FCC4367E2E0E9B7A078EE99E193AA26948261CA114BFCEC082FAE78B6948324287A3A9392C859A0CBA3D42DE46DA452AB261D69505F4A003342E95A21589A7E88EF814BA044D784A87AB83D5BC028009C3D582B3FF158EA60A2F1E22E628E0A3BC02FA13725331CE0FCF0D97F36E2FA61320A0F35169C724381D4ABAF54A528DF69B5F5A11385D643D4507F19534838DA0A226E3F2CF9EF92D49E0E9F8108524E3C1F8289CA97418FF9A925F8900FE341D04B3BC1447D2BC0C737E36647C6889247CA343114EB536D2B5C512A8790B80114AF80CC2CAF53CB0E0DB7A42FEDF602AB781619E07C314DE01314F6CEF0167316A7B8A1E05A6DEACF74E42C140392D58AAF5608358FC2AFEA328F76070E564FCEF2127C0275DEA2CA1C76253A8538E93C350000625F59EB0E93A5492A32613CD86B94A0785467EF5F9C0E48F44E3FB388455F29E05085938DEEBF113425E0321AF8370D736C4109E401F225EE11B7F81065B095A80C1AC593247E167B402E6ED81C9480847D177DE8A027BFAEAC988350271EB34F82581B0127704684B0FDB2A01EA2208272F6E71FA0D3E37AFF085C5C1C7AE15824DD766FC4723F801C6A6D0E65219C1C6D1A7A0755E027923ED59B9E9019FC497D2703691DECF85CBEFC2027C000BE0510037653403F17119B99430BCEC6136B734DD3703F9D5DF038FEBBF207CC58114351BC2B8D588D203F1C9F497A0BF1CF43904FD9F964333918F5084ECE3A4D223A7BFCE02342FC2097C5686A38DBD584CEAC8F052C236D93F53F019DBBE5F633498F37D14E2BB0E00C68B21F50B951230DA6A301AD7EF24BABA12C2CFE4875AFE052CED939970E6DFE5747CE63DDF3FD66AB047E448F487E3C924FFBD987695E37A0B9F7227EFDFD49EB8037A798A8C8B39C5458FCCACFC5A4139DF4A87934FD33F420007CAF9A0769D674EA5D7657885C22F2A7431A8A4C0244014C7A5FD1113218B2074CF1028B4BA1196E0A5D1F3ACDF61CAF4150C41AE810095163D430F63ED03E1411FF3F9566B3AD22ADD1E713A77D4E46D19FC7AFA87C375B4FC3D30CD6F43F88B6478C5C206FC0AC54D2C42014481B025EA729C953B164AB0776E01C5C818C233E16562CAB86734321727F3DEA51BD08FBC2A4237BC7065C3BB19FCBAFAE7F475F97B5009DE10EDB30CAF54189573AD26B383D15388C2594CE6CB57F8002436576231F019A296E6432C0BCED813E35BCDD6B268D47262A69E518CEE6E206315C57EB6399036C80A07258C5A161D5288465A0104C28A39B12586614C42AFE0B342094A8D43A1EE3E7288F94F7399186FA8CF278FB0D511CC0A7E3EFB07DA090BF0A1268B827E40560144C2E5B3632FF433CDA3D047BD07CE61D1130A9A4C4182AD028DE95855746EDD2FC0E4B441E18198BEADF2239A0125CBAE8927059C0144332F99FFA557B28FF03E0B7B047E94709C53E10734A1291B06CBB00F1C41287BDE472CCCD80C845511329E183B3BFA523DD7FA5C2E300CE668E6DF14BF20374D45DEC550B1B2CEA1B0222A0A902958B722FC1C61F12BF95956BF2DBEC20B8C9BAF95CD25DADF3DF912FA9A9F113E25832201A87CEB1447B097AEA0A70928329F104DE20084FC1998AFAC4A82475DDD6640D704F4D214850A2009D36F508C93C86993A9EA2A40BA29920B81311958A3BC72CEDB04E4D2811FC0663E929F480677E10C1CBD84D1A34C78B7FAEFAA7DC77ABEB997DAE7C10D20108BD3BAD4575E4210869958925E54B3D11BD315D22A0016629A5BD6386792CB4F83663761A470902EB10C6B6A6376D33CEB5DB88A4F7083FF6A454BC36A19A76EC35D0E98F7F37A697FBDC8E58730E0B363E793B405943C0B6FD115174DD1465D0E8A6918D3669DB665B5F52EAE68FB1F8CEE9D8A31FDA284DF451C1B2D881F058BD1C2526CE5E8F6C4CFCB3DCF4F57E85A8461C854E9827533BEBAC5ED5A34E2CDB3405394550061E6517BE7A7387F146DC6215E0AA587A008518C4D9F8FF3FC5E1EBD807FBD740A7D2B85B6FDC59E8B6A7F8551A223985580E6767B2E847675D00586621DC952D6B362B975D0B46B891EDA52C502A022ED2D56ED54B59C3A0B50A0294A2BC0E879CE14380B732A555030E2D054C27AA052F46B812E9B4C9FC0E4631F84F7717656B72780DC1545844F267C00ED13153B6FB6ACB67F229A0019031FB48191F1636C147D7548A3B966C48CFCB35B2FDF4C03133B93C7E02CBF3341EB6C9916946052F3FCC434EC395C2CC7D55158740547E67E0FB82A98FF4A2EAC92EFE9A62829E580D94AF01F1D34557ED14F565BB8499394635381FE586490F96FCB2E12BB7BBA1E65E54826A2EB5F4C222D15BF316D89475DCEC45133B08C3D8FEBD20F11AA670510B5CFA300F8E6BCB5AF8733C1BDC54C740525058075EF47CFA74F7ED924E764A4884D978130051F3644CD7372852FE3140A2F6F6D78026667BE8C83A984A6F1F37D1CEB2613AAD1306ABB5000EF53C0FC7A118309A12B28462495AD6D494BAF8806866DBE2D67CD0CFAE9B357B12F647829E1C8307301AC88939B064D43C4E6C951B9B03A7B5FA77C4F01074CC10D0AA051C4641E45144EA0B21386B3C81FCA2DCBB273580296E42D990E77351741CA487D348CADD6BBDC02A459A72B479EA608DD469CED233D3137BA5102F90AC2B750E8E0A66F253F5FC46B305134AE51004EFB62D9B667A95DA58B6E88F581D2936F502A3B0E908B8F35EC818CE7EBBCCEDC7CEAEEFD44FA08566FA7FC5D8EADEE179071020DEB2C409EA648AB008116663722D6ADF08A1F808D7755ED0940099532400CDA51C950018256508D03862CAAAA00B17E6A1300933E803FEBDD02283E3D5480A015403312871D3A555500B16710D648E9C5256DB51CA10204AD00356001D29FA4F103BA47253D5F1C2A80871DE507606A150F1C2E75552D80F80ADDA054F7D1349E8F0C15C0C38EF2030DA6460188866256307B1651F9B91445415544CD6050A80045F1B204A413E90378E1CAF93C8EA5F7C24BA05C1A6A914D51A800A5B1B5576C385F6207D47A199117589523E306118E6A9A220CFB2B5DC1500182E0B64C4357FB34E6574E166438DAA03645F04F06A12BE8B96329548020B9DE434B697F751E780F7AF06FE80A6E8135FA52A68C93DC3D5620540099434184355DB05DD113409EAA224A4D51A80041085CA6A1998C81F9AD7A57106B321405909787850A200B2F88308E7893C9A067300C5DC106195EE1B0A200F2A864A8001590403C4E1BD1FE2673498B35797695BB82C8535180D002E44AA542EF70C084F0DFD390AF6E33A0698A50264F19420BA091524020A5F6E1AC250FF303CA272F99069D05E03404875A660FB30C15202FFBCA8CD0396052ED2B3387DE934FA54D688AC4C11D9EC7C9599F102A8087350106F4B5AFAA1600C247E743332A99A388A1020428730F299D02547934B0BB3C4A5384C1EAAC22860AE0915A700116D578E03C7D994359C7D1975CC25E9AA250014AE6687109CC94D856E73DBB13F63862BD4F87164721202C8D25CA1D0B081520203ECB64D834C2E9F1F4810C97FBE14A7CD0008D02A00CD9F98050018266780E3D38616AFBAB9992CD4912F82BEE3FF950268A69E1411958A800194E54E25F57FBAABC3C0CE7B38A3B06BD0FEB19920E15C0CB9A60433A0B90D3050B36333D350C3E0D9763D034897384D24FA800194E54E01F4EA0AE09C876C12A90A54212DBD37F200351AEB733B05001329CA8C4BF3842567E18CEEDCB198A95A3830CE3EABA8B40AF5943735106162A40861315F8370FA4D5F2502C66E8A20EA3D32A905D96A4B82C0A1749DD0C537F5B16D8FD82DABF33DE8F1ECAC0A39997F03F780E88DB3B2108713CCCD85CEAE8875F86B501BFC3AC61F6F495DCF862DFC5AE6307A37ADD0B4E45D74EDC3BFCB7B8406A94987ED6D18142B621DFEC0112A102E8B814240C57C981DCD85C9210CEB7AC9DF45B340533315E50F06209B18813B77F75091943C9E92367C490327A13095B7F02196A7EBEE725F360BA31373254805C6E54E03DDE9FEE4D7C457341DA73351F9460B28535033B17D3EDB859EC2F10DA36B4C743D2BB77BAE60C1AD15F6F4C58D4739E4246B299FF12CA8B9AFF667C009D2CDF291C2A40094CF4830A739BB016D30530FB8FC9E921C781A8C9B311977E521984EEB00F39672878FEA158F79A11BA9835A9AB8411173E95E6407C1AFD1E795C5BE97C72E90BE713BFC722513A217E129D83730C9525E2023FB400B95CABE0BBB83C129660076AF5BC7C0E9A9FEC85570F776F7D7A09B81878C2E86384D15BD183E975D9DCEBE8870AA0E34A8560B004EDB860FA3997D1ED5082BF2F361BD4E41DDD0216AB8DBBEE1EC67ABFF492AFAE553FBE5B8B50018A95424078E6B474B7F018FB693A1E1EFD4C08565C3A7908FE6D48711B6AF386742D8680E104AE8DF6A375F023B243B70115234B2654802C2BAAFB624E267187F22EBF47397402AB2BF79ACB2D54809A1349750B142A4075F95D73B9850A507322A96E814205A82EBF6B2EB7B017B00B4522AE93C1D941C3531C5BB50A5FCBEBAB9438BC3A1135717CED78ED3EC534CD50017CB1D67F220C0045708FDFD958AB772126898EF14FA9F79449A024B1310C134E1F62C4F0C1B841D7895B4E7353864D402E372AFC8EE9DF03134F6120C8A5BB31E85351E17B3E85D38150BC2BAC14ADC5FA8449B971A102E472A382EFE29CDE04A71731CAB7CB2ECC80D20D42FE8BA10453339F1A2A40861315FEB76C7A1059282B742B9CAD421E4A1001F06171B3B9880C7D008545C103448D83093E5147594CDBA2567EA48B2B178693C9F6066DCFB1708226CAB297E5A6AF09FC9E560192056E9B2EA550D036D5C2E08A925268E870B1DC4DA5AB43EC05A62D5F2F69FC44239F7F97D309C1434017C61BE87E4CF6087FAD228FFD141D8B0527F743E8477832E0F45DFE07BAC4C06572FFE7894080BBC9C36598CFB0428731C3E385F6461705FC5CC1E15CA1ABE01403E0EA4D1EE88D29FC288654411C4E63E57878E5D7F49B4AF75652F8224F732AD60518743A14CE53F11018E87C4C471B3AF3C3B97BBC5CE052C3E2D2687CE437E574A8BDCADD75328E27CCD9564F5804382BBB7C699A8C8E936933E6066A8E51F3C4858DFBC9F9E046456589988C1354383E85568296B8D4D2F3F0080D3370CD7B87078A004CC6A54DED5CB94D4CC62B14DEBEDD9A2FAE89F3E2307B5034FA9A17D66BE88F3206987ADA98F9CEB7657829E1A6767B16CAE7358B2080D64FE1472974F3E02A26DE7069401EDC8A8051E395D3CAB16DCCC682D4884613F93EC4AD87FD2A41D33CFB42D4D2EFC95F028BF0ECE357B2ED32BC5038163197C32C4B0CE446CA4DDDDF7CAD7554A1B4F9E29AE7399320FC9B9478469B3A66C75E57E06500BA4DEFFB3209305FECDAA9CA83A568D3A1D907C899B1188EB313405C1BFF0A7C338D59659F41436E76B9F14A341A5D1BED3A095BA6930EA7C819E43858E6C4DC3391D9041D128B444677B6C45ED4C515828D6E4BDC099AE7A938CC867DBD0D57D12D8FA6E22B8D18792EAACCC54FBA767FACC0391A35E12408FFACDCB8CCBB41C6C51D73CCDB33E1A0FED10BB81556EB62851EA3FBC0D3BBA251521444C1F501B093E955C75390F735F86E7997F07B58A778485A01843975536E079440DB2BF091B79204827AA8B3357EA612510460ECF57CFF9465BD858F185C04BA2F1494EFCD6F0E3147FDE27CEF6DA7BE884989AC253402BB77DE44F90D296A9705E1185ED130956E481768794BEC65CED825952B0D7BA35FDC3CD72FFD6557B02D1489FCB37C15AD5F7A723AD4824F2311F33B9510BEC8ABDB0953F6E9C9E5A85618DFBB0ADDCF5B457E598D5CD16ADE81EEF5456A7B5B76B13A59C49CF8CC0F99765D7AB1D4D1742C87C77A32CAA7760B8B25A2C313E7FA46D8986557B38DBAE8A060F1A17439FC81A783A2E79B0EA3CD98793C05DDCFF4F9815905100485121811A3194C0E60B122DB46066B3D72BFF8F8CE164D57CEC71774CC893D13237314CA27365A94F508458719FCD91EFDE3C775B6C4B3FBE5CB225A20311B450E76E59E8C3C6F8222484E6D8184014621DF650D713AB6615ACF61D6691F40974753BB339EF1D4E99CB326B45DC3D041DA4787978181A109627C33BABDEFE0FD71D3883DF25C4B050655BA336C5E608FE4493E03C1099CF1E1E8750C41193D0A9D299BF8170247FC16BCAC4773B7D870CD851D73D8865C9C6ABD6346F06FE0D4CE427E93F13B184EDA5E95C81B02B790CF4790DF8B2C420F344CA125723EFF0F65B1BB5E1AD41A070000000049454E44AE426082'), +(57,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000011B8494441547801ED5D09941C4519AEBF7BA667C949D440020A08B241E489D1178524BBD940384440540222288772F850108484EC261ADD23093E8362540EF1401030A84090CB906C76D7030F94874192807800590272E458B67B66BAFCAA373399A9EA999DDDD9E9E9DEA97E6FB7BBFEFABBEAAFBFBEA9E3AFBFAA89D5C0D5F45D3E8EBF9E3A9A73F7432E678712B17771CE0F22461338B1B18CE3BF77511F23BE8331DA8AE01683B3CD8CD8939CACAEEE168F36EAB4B5BBE0A3AE5C6C76477F3DE3349F71761A0A391D156E96534A22DA4C8CAF25C3BCB37351AC07615E4E7A6179775401E0C3D7F3C4AE1DC9B3B9CBBFC0199F5E4125FFC760F4532361ADEA5C40BD15CCA7E2498F0A009C72231FF3DA2BCE15C4F9E59CB3C915D7DAEE0CD00AD800DA4F989958D1B388FE1954BE23994FA401B09473635D5BF27C97B95F8752F61B49C50C2D2D72305658199B64B5775E4A3B87F66E75B9230B8063DBF9BE36B76F431F3FAF3415928BC1DF9FC1BF8119B4194DF8B386E96EA394B53369B03ED364099739E38D244D74193F041D7C3D5A9323D0EF37E2F96D25E541EC050C343EBF6171DD9A92F843C014490034B4278F656EFA3654CC944174B80DCDF4C3A8F887D05F3FD27915BD3208BF128DC1231DB3C2393C9566A772979DCD187F8FC2241190DF2A73FFC4D59DE753BF1415BA60A40030FFE7DCDCBAD9598A5F71332AC228A44D6FC44ED4BEEFA1F1DB579F41E9427CC3A1CF5EE67C80527C29FAFE938BBF4F4FC42CEBE4CE85F47C71BEEAC6460600622E9F7ACD5E83CA6F2AA43254FC536815DAE6B558772D25720BF18D04BDB12D3993F37407F29B53283D28F7798AD3495DD7249E2CC4536D7A240020A6773BB7DBBF469F7CACAFC288DE64445FEA6E8EDF0C10A04E82BB1A5B93C7BBE47E13C6A423FC72853C6F988C4EEC5C6CFDC12FBEDAB4D0034034FBBD9B9CBBD1E49EE6AF2CDA188FB333D75F93D8E81F5F79AA9886BEFEB2F3038C17CEF2CD8DE83523C6E684B125083500C400ACA1CDF931FAFBCFF8291683AD1F4C1993B86CF5956801427035B6F77F1922AFF0B33A42D1BDC41233BB96D0732110352B42A80130BBD5F91663EEE55969731E888C2F762FB656E59042F1B87B867227FA2165EA88B587BF9A6FB7668669765070245D6D6DCE6EB3E717AC7C839AC358F94267DD2DF1476371631E2A5B310809F374EA053B54A00D650B704C1BDFDF61CE9318584D92818841D5B5DD8B130B657AD8C28D1DFD277197EEF3ED0E884E47197E11069943D90224B973835FE5C3DC7A53142A5F546C5773DD035856FE925F250314D7636633C12F2E685AE80020A655FE4616DA38B53EF1C5A015544E7EA29B22837DC7278DFD30AD6DF7A1074E0A1500C4948F937B9DAA05724DD3B810563D478D0B37C59C99B8122DC126454A4E9734B6F2772AF48009A10200CCBC1F47F378B8AC03D876BEB7A139FE7B991E8570E75C4A99C4AF9665452B17E364C3A45DDD2B5400800D4F5114E6FAFF3527251655574DE5E5EEAD0E125B2FA7C2199DDBD8C6DF21D3830C8706009E6D9DF11972E1891B915B6397CB20C23132445790BF3EC1799C93739E1F7F50B4D0008053FA1CB9D0622EBDB715FF994C8F62B8B3C5FA1B5AB3DB65D9D1E59D8BBFAA4DC743010031F8C32ADFE9B272E0A17BC77D0B095EBAA3E3320CE3FB4A49383BA471596AA6420F88100A00F43E939AEDE7CBC74DE3C680F41048360303599F1941DA3D2110017C3209050098EBCE91651376F39E45D65F647AD4C350F8DD3E6528D1ADCDE7CD3249A10000A6440D7239D02B3E2CD34643D860C65A9F72CC100E2F3EF48A936215CFC12703E1E0F1A6C3C6BB6FB2F1A6655B49873E8825DF3C4ECC9DBBF208A32430795AEC77BD9BDC7E80BE2E5324CF26B03DF96E84FF94A10575AF38001AAFED3F94DB4613277E142A19BB7558FD8E37EC7D3205743DDB5E7EE58B384A2402574646A64ADE8535132B9D4F430FEFCBCD279D6687211C78992B028039CB9C19E9143C68C93DDDB5D9FE58D6957FE0B965579E851BD5703C789584424A80C1EB69403E0F00703F170008FC1A3100602A67BDB429F96997F855E9943B5018F5875D6A019F2D95316A7C17DDC8E3FFD866FB58FFF851620999C5B0297546E23961420EA26C651B20C4EE9C47DB931761E7ED1208BCDF48088D19C0FDDD4B12A78C445A614CA3A1D559C9997B4521D950FE1406C14FC30EB201AD61E7983A6BDDC357D2AB85F8CBA197D50234742467AD6D775661ED3EAF392B5D20ECD661CCC91D108977315E78A9F43422C9B9A598D462508831C211E20FCF97EEEA73920DADF683585ABE7DEC78EBDE072F23BBD8FB43891B36001ADAEC053CED2E43750D3A95147D3A0C3DD8A143EB8913F6DCC7B64C9CCCFEB7E662ECC7C7252C812FBFC0C61B3BD95B5D4A4DC5D8E1F5A114226ABCE81987B66348AC19306F67D2A9F023D8DAD0DE7FDDA458E28691B0920EB90B38FE1B7CEC9BB6730BECD76716533CECDEFF62CCB80715BEE6B07D62DD375D4CC962FCB5140767D7F33130FE617965A657B1BFF12BFB4E8BDF50CEEEA7210160F6327E30A59D5FA1F2DF5B507862FF46A3F0B5A9D3E2B7962358C1F4474104563E1B3166BA7077516270751B8F96147FEC00AC0B1D504AABBA470DF404197441778BF5F81E5AE94F250300FEF91F44C53F08E1DEE29B3CB197C4D2ED9469F11BA3E8B9E35BA62A108591AC6F57F2BD6EDADB7B783274FEFE41C5C0CE28B4B81775B7246E1B945762280900F0D23DD061F6631894EC2BBD3F10245A8DBDF117446D6FBC6F594246141ED2299E3C19D3EB4B061B6C63AFC4B7CC59F1AB8732851C1400C27B75C776E7B7C8DC67EF1B1C1C0CD6DCD392581132BD8D3A71D012D09C0E673E06D3AD78AE2F5840781EC5EA1267946A482B0A00313AEFDD6CDF8F4C4F5433148310E3ACAE25F147D4384DA99406449DC0E0765EB153516047D86299D6D18F36D3FF0693A3280066B7F7AF8215F7523511DA1E33D8ACCE96C4DFD5384D0942030D1D7C3277ED9FA35B6EF2CB0F6382AE29F589E3061B8F159CC3638FDB097E952FAC54F8E5CFD795EFA7F6E068DDCDF4726C56E2384CB5BFED972B5AEDC6AD9B9C9BFDE27269BE2DC0FC957CAFAD7DF6DF81AE837399C5332AFF92AE25D6A8F2D491CB18B57043BB7D0E8EAFB90533344B91DDA0C518A315DC84E2DB02F4F63957FB55BE409BAE7C45C5552778D33FA2CFF90A824123ACB61FF58D03510180B7678D3375A10227604DDA27DE5C28214DAFAE067A165B3F85A9FDEB8A149EC731FFFEBCE57CA212078202805DDB9DCBB000B1B7CC8CA6BF2563BB97E374381C1AC0C6D9AF020477C8D2603C30D549D91D325D84F3002096767146DE253223127D7C434BFC5699AEC3E1D3C0B809D6F9382F49999D6117D2C5DEF9C992C8790078B423751CFA7E78F0E45F2637BE0C100CDFBD233F391DAAA006C452B181FA92B380F1C864696A91E9790060DCFDB4CC808ADFDCB924DE29D37538BC1AF08C734458B7C9BF601B38BB69193F28979A05803035621A717C6EA478C6CFFE97324D87C3AF01388F5C851F6F3A5752D10AA4D362297ACF9505C0DC8EE491182C4CDE1335F0649AA401202B2502E1EEE6C45310F35659540CF0CF1DF8B10FC4640190E26EA3CC8C26E3BF1B165981BB2ACB72E8F030354086B219154DFA814DCB5270D11FB8B20040FB2F3626E45DE8141EC823E840A43460CE8C6DC00E8B5765A15DEECECBD0B20000321400906B6CCC30EA7BF43420FC02D08ADFA748CEB90A00FCDA0F92190D839E96693A1C2D0D188C2B6338D8046664C601D91600CE9B8AA9D030F9B66815574B2B6B60623CD129D3E0DCB3D7DCE5EC4041CF0260C031319F35C9E3A3E67086FC92D54EC8731DC73A8E5CE2542AE5EDDEF20020BC4CC41C5166B2D22C6F1E29C7EB706434B04596D430B8B78BCB0380E7BE2DCEDC972EC7484E91483A18410DA07BF7D968E30A37F49C2E808B2F66E65FA63B80927CAA0E454D03B0E66E5764E6940F00980D9F9799601D1E91CD9E72BA3A1CB806EAE41CB129D35BDCDB3308646C93CC048E43649A0E475003A4B6E4981EEE1425C902007600C5E803BBF149112CAE1659D580D292C316E0B98C670110E306CC86F2C5A73575D8DE74418ED1E16868A0693D8F6110A800007BF0378B126401503F39F618C601BBE462A5382BE85028F3EA70F834E0F6A4F0E5D33D07520D4848EEB80971CFCA9B05C0EEEDDBF72B45E0EC1CE12AA6D03521121AE046FA344550E2BF83E7903733C8AB5832F8AD0A33F604AEEB482AE7F82A7C9A104A0D60BF80D282A3D2EFCD089B0700E3E8C4233009FF331399B9BBAEDB2AB62D67C2FA1E0D0D603FC0272029CE1BC8BF0C33714F8692078081E543D57110CC07ECDCEE5C9E7949DFC3AF0131F883948A2B38C6794F752EA2673225C803802076355B77C1ADF8CF1986CC1DEE62ADE24CFF4C58DFC3AD81744FF242ACEFD4CB526246B03297A6000008E1702B5E98CB34F0CC2D97A57F59ED2F5CA872698AAC81C615F6BB31F25F2ED3C5AF1F670AFD3897AE004044C2AD781D5A8135B98CDE334E08E1DCB9B75A071B2BF26882A2811356F2B7F024871790FA593A58FFAE91CF6DF205804875EC18EB3C0C089F957300B2A6A75E757AB0D74C195CC8BC3A1CAC06C447ACFBFAECD5E8AEDF25E70CD7B02EEFDB45524441008893298D389D02A742752589F123FB93F69FC44191527A3A58250D88AEF9F56D4E0F2AFF181F11B625620965D38FE0231FE63C9238BFD64D8BEEC0CF18440E90F5B52963ACEBC2F205EF3CE16B24D0D4969C9D62E9BBB1BEE7738817EAC8348EE96E8EFFD64F1D830240BC84B36D3F8FA67F953F08C00097230C1CBF2A0618721FE397A9A68D8C06769FDBD88655DB4FC2CFAF405D1A17F42CB17E5428C7022FA9EC73DAFB3FEC72BA03530BC579740F37BE8763B03BE226DDB3FE1AEB893D74FD34521AF00E89DA9C9AC559FA2CD4F905F8515AFE69C3A9DFE00BBA5AEABEE91F3F402D1900825DAC0CA65DBEC66F90216782AEE15F6819C406C5E730F77C1167D8BDC8636E6FCCB11C995787FD35E098B6693213332F772A7E7858D1A3F781531C1EF956FF373254DA0EB3FEA7BA5BEA7E9DA114BA0F09002211343B9358DAB9054DCEC70A25AAE955D400666E383AF6D4DD7B03071564C800C8A438A723D99076DD6B0184EC3EB34C9CBE574303D48729DD7563275AD76656FA4A9162D800C824BE7BC1A1C3CFEC98E1D1F7CA6900D63DB8EEF31FD6C5134B7FB3905E1C6A4E6503406428FC0570BAC85CEEBA9F4182A762C6B0F75005D1FC43D0C0C0692D8FE1177F6F8C5BABD72D21C560576A6A230280DCCC0418D62E4F4E6769EF639087E36099C33018C4B1339E1BF238CC55950D28B9EF07F10C87588C51D3F97240A92ECE4F0822FF52F3C0C44E78EEEE4437BB033AFC0F9E373132FE188BC7EFEB5C40BDA5A6538C6FC401502CB3B0C4D90FB28FB96EFEC92740C4E37527B10F8445C6A0E4402BA2AF5AD68006402DD73ECAAE01A00150E31AA8F1E2EB164003A0C63550E3C5D72D8006408D6BA0C68BAF5B000D801AD7408D175FB7001A0035AE811A2FBE6E0134006A5C03355E7CDD026800D4B8066ABCF8620FB97735B4F75F814FC52EC8842B7D87B7CB333D8BEB1A2A9D4F94D29FD3D67F8ACBD94D41CA9C05005CB6C6C1972FB8A36139BD116441A390171CD5F682736D707500A5E83140149051411935002AA8DC2824AD0110855AAAA08C396300351762F400377D3E48ACB216A7B8EE87E0E0FCEDE24C3AD65F03B49199F459FFB8D2A9E4F229185F644F07CBBC591400704A7FA5A7D97A2CC33CDC7B636B7222CE171AEEEB35FD1EFCF677768F401D88135D70A887A24BDD05282AA92D8206406DD5B7525A0D004525B545D000A8ADFA564AAB01A0A8A4B60845670195540536E352FF43ECC44AE651286D6C0C9D2EC761C633A15AF2646459FEDC9D47AE7DE5CC4C30907BD50010A3648CA7BD33840229E8A099E070C56ACB73D4F8352C6800E82E6050648C6E060D80D15DBF83964E036050158D6E86AA8D0170928C38DAF21FA35BBD432B9DCDC788AF79BE7D686F95C75D3500A4782C55F711767879E28FAEB71BDB6F3E03277EDD1564A9741710A4B64398970640082B254891340082D47608F3D2000861A5042952D14120CCB5731B5AED5F952B1027771FEFC8C37213AAC1F73155AA1F893AB053F6183FF51505008E857F0746A5F82BF312E75DEA6B781AE07C12D477DAF05ECE79AB401DE82E204747B5F8A801508BB59E53660D801C65D4E263760C6018F4509AF300B76BD16BB5A8F0A2658EF3BF328705FA8DE6FF039C1AB3155491061E0000000049454E44AE426082'), +(58,'image/png','img','89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C0000139A27C3C42300001366494441547801EC5D095855D5165E388F98022A8A2838308880888098E8B3E79465696566A4BDA7A696A66969FACCD452D3D42C4D33C95233F33956CEA525840C2A0A220A32C82432084E380BEF5F1B2FEF8A17B8E3B99CEB5DDF075CCE3D67EF7DD6F9CF5E7BAFD1A21844663273C0401CB03003CC409C35372B38600698190806E58019600665AFB97133C0CC18302807CC0033287BCD8D9B0166C680413960069841D96B6E5C2780E5DEB8473B6373E9706201A55FBD4B69576F53C6B5BB82AB7696B5C8BE511D6AD5A816F56ED79806BBD9904D839A668E3F611CD018600F8A8A69FDF14B14147989C2920B88D455D35A10F9B76D4CA3BA36A791DECDA97A351C3093C973402380F14CF5F6CEF3147FF14609636A57A7975CADE859672B72B4AA43B696B5A9057E982E5EBB4359F849BE7C9BF69CBD4C3BF043771E88EF9C5A34A0D583DBD33F30B399C9B439A016C00AEF3EA0913F9FA5ED277304373CEC1BD2A7FD1CA84F872654BB4635B53874E77E11FD9E904FB30EA45074DA7571CD4B9D9BD2FA612E54BF5675B5DA309F243F0E540AB0ECEB77A9CFDA683A9D7E9DAC1AD7A115CFB7A5619ECDC8424B0907094B5B4E65D3C4DF92E872C16D7207580F8EF6A0660D6BC98F7B1A8C982DBE47B0A4581B914527326F507CFE6D71B553933AD4A565031AE36B4B3D1D1B6BCD570D8622E9A915022C3EF72605AC39453910733D315BFDFAAF4E6459473FB3CDD5DBF769D0F7B1148C59AD29C46BF0584F72B2A927E9CD4BD5594CD60D7A6D531CC5015815912B80B6F9755772B76D50D169B2FAAE5C8031005C961EA3ACBC5B341C0BF3EF5F75A15AD5B59CB6CA61C9DD07C5F42644EF666C1A5ADAD4A5B8293E7A0370395D4A7E786DF8457A6B5B3C11EEB575D37A34A15B0BB1B46883998BE90266325E3AAC0CBB48A9393789C0E3B5AF38D368CC68A6402A01C6D3F990F5B1B42B3A875EF16A465B023B1A6CEAE6BE866E3C43DB4E66D360CFA6B47D849BC1FA92FA816DC08B331233178366E1B38EF4412FFB7277CFBC3B5FFC671ACDDC974CC43BF5E1AE3402BB6DB9934A807D19924E93779C277BBC71B153BA5243EC160D49D7B1BB745D1A4919B9B768F990F634A9472B43762749DB9169D7C8F7CB134498F4F78C72A7675DACD4EA9777DCCF05C58873232675211F7B4BB5AEABAA273D06B0BCC27B6433EFA8788BA2A7784BB61EE0758AC7B2E344D08FE5CEF627EBFAF255CAF28ED915CB8BE44B85F4EDABCE34C6AF8546CF5F88D52DE7A89D6D7DF182ABBB53D7A813A94E668743659AB63BB198261F2A7E776782F261493E4F449FDCF7748C41CEF465709AB88F9EAB4E161715697E277C4D00AE655E7C1592AE790355E88A4766B0FC9BF7C96A5E2811DEC0F459FE64F75489D2542AB0A75FB943F69F62F6846EEDF2ECEED4A45E0DA9BAD65B3FAC86B15F18469910F711EF796B2DE2222062FDBE384E76D8FCA4CEE8C613BB3C4919ECF30EA688B766E4E638E5C3927E1EF1539C18038F458EF46762BE18BFDBD2489D86CFB358C72511A2ADBF120B746ACB98179372E79E5F1C1337149A7245F9B0A49FB96F160D5E188B1C69C6DE2431FE390792751EFEC7FB93455B33D1A65CA954440AF1382B98A0ECA27B0B0220A58C3327DF878CA93913E380792AFFD3006A2C3331D96D651485275DA1C3EF74D6D9D6CAB6DF67BE3E497E6D9FA2B0095EB21491A500DB0A9DD7D01F62A95F476BDA3FDADDA837D31FDBF40367F268EB9B6EF4B24753A38E45D3CEADB103671358FAC7DD755EC38A35E9DC50B2865236F7237F4D875225CE2F05D838689BD78466D29217DBD1D49EF6461DDCD22369F4FEAE441ADBBD257DF3B29351C7A269E716D3FE22BA57443717F7A2BA35D5730428AF8F9B778BA8FE74B457AB1A152FEA55DE6955FA7829C00660D6D88F5963F75B1E34504DA5A0A1EE6C775C1E3DBF368606B859D35E2829E544160C0800A31080A80760E842ECC5D260FA11D3001816F8C28D4697ADB52ECC54BE56B145F76C6D4927277B2B7F55E53FDB7C7294F2605FBC0065716B789FE842A910B56D2072D919201B6A233952E90CA6604C0A64BDC2106BAC1B4AB97C8B1C3F0D932563A120A590F305F4DB18777ACED55A2716FE068932089225009E2C47C67BEAD496B12E2E0598626ABFB1A8A7D11D00E52C1A161D4EA50FE1EB3621C08E560CEEA0D373856583560667D0A2416D69DA3F5AEBD496B12E560218643D64FEF5CF7A5203031BB72BBB59367E5B7E88F1601CC5188F9CE87CDE4DEAB0209CA84E0DBA0A6B84B6FE73D76E3FA0466C5581DB54C24C3F6A6F2D4F5FB95280D92D28316F24FCC7F83793004747273C243693A4CFEC26277C89B106FE14479B8E5DA249BD5AD1F217DA6B35FE49BBCED35747D229D0C79636BEE6A2551B55E1A25280F9AF3C496149057464A21705383E65D4B11D81A2B2171496FE080A0985C2526E94C136D52591540CCF94EF008E7F03249AD0BAC82C1AB5F92C59C0A324ED7D1F9DF5699AF4ADEF734B01C64E7F5BA3B269E31B1D29104E86C6A41F318E37309EA1ECEC88F1C89184167EF529E1F6C433D9BC7E8E958A4B168B1FED4F1633175BB70F63612FF7C8AB52802D0F4EA7F71092360A2EBD41439D8DFA4C47FDF71CAD830BB1DC9D0F05C8A0CFE3B52DD5AD4113E07ADE173B427784ED29FCDDD8FF2E06618007D96D1A62956EDD1733D7215831E40E2E065129C092B0386D373F5C440EB15942DBA8215D91C92ED4569F845241C11D4A9AD50DF19675756DD2A8D75B4CFD0BB358917A6380F937B0AB2D2D1CE0286BB1A87CB3A500E3836D16868BC083B819BEE4D2B4BEF279927D8ECB2EA48E9F45509B66F528E5433FC9FA354447EC633F5DF8D823C6A19335F922446FCFB9023A77F926E5201C90A929C2F59CADEAD14067A457E86423DBDD6279FC7B04601FEC4EA42587D2686A6F7B5AF27CBBF2AE31E8F1A9BF25D2B2C3B0453E634F9F3F679C31E8EB062D58D5C2D1ECB049664365D1F409CCCDF108C078F7D3EAA147691EC4A495C47EF197B11E616F047A504419E8BF6523693D6AF5052C6E67F5D10C7AFBD724B1FE7A0981CADB46C873B3A22B4F1E01183736165E15DFC2AB6266DF36341F6B01298943B6161EBC204B2F8AB27CAAFE51081521FB102B8B933FF0210799AF25CBDE9FBAFF3F06B0342CAE5BCF2FF18BBF30DD576783ADBA031186DD4511E28D17EA09C462CA95369EB84423B625403CDEA7BE2ED6740076C927951E03183362FA9E245AFC472AF940E17A148A4E43A75A622F5656F41E4BB952F21CF0D6F78792759F911D1FB505451398787817CCE6A29877BDA89309A502D094272A01760F61EE5DBF3A2EDC77E60C70A08FFB3A68DAAE46E7CF41C69DB9FB53444C2447350BC2C2D80BFAA2133273D7F925368F5EE4686ED810FDF08286C132F224934A80314392E132D3F6F34821B27E84B87ADD40DAFD4DD0DA07FE7846AC55C67BDBD26A881756360AAA5E8D5A36A94D1932B247B686AA278D734C40B11A36D683FC5A372AB99727F477B900637EEC427ACCC1C88083D0230A421EAF511ADAD42AE3691052198DD97216EA5E0BDAF92F377A116936BF0ECDA0097B909F410132281FE17B4CC5F37B54D69CD1BF3F043FB07F7E7F5A8CBDA35D038A9DEA63F431197B0015028C07F72B9CDE5E60A6416C2E446EB08A1278A87B339CE8E3F3BFD26806FCA6383108A7857A1EC1260ADA793A8F866C869851808CBFC079850B7AEAEC86ACE8C3107F110B4967326E88D9EB0FDCD333EDCD191C2B05183F8883F1F9D4EF3BD8D410CCE00537E6F5C39CC9ADB97639AC622FDDA0377E3E47A752AF0905E401F8DCF7756AF2D8F30EBB7095FCD958CC763C050164C933FCAAE4963F3CF52A755B132D5E0A4E1A938A719A49C916591933A261900D442EAF58643AE4D96402227E46FBB6200F2CC4D521BE3E28E222AD848E8D67C34EAD1AD24688DD8AAEE7DC590EF053E3F34B093BCCA3E33CA95B9BAAB5B6F15B114511C9D80563E7B80B49E45E40C08A99340018338BD509CB1052367D2F767CC85FC1E482AC7C23B101F0C5CCE66453BF3450B600792EE2730B290233D57A2CE4CF2AB2FB6177B818B9B2DE0B68A55670AF08DD9A09938B32C8B080DEF19A2B6C7755E3219E466620F7AFA2C4CEB171E3DA940FB390994A38A096882CCB2C568A7E8BCC7DAB8F6595E87BCA9EA0E27F66FC78780ABC855446DA44DB549B1542C537A119574C6600D90A0075C2D3762A7A93F6505FB8E4FC8E503B9EBD36228E33B08B71FDE9A4BDFB8A7BD30A608A26596575F87C3E6D3F9D8BC4B6851403979F3B0F17E6B5010077F8917769599F5E829740EFF64D74CE1023DCBAF3A1C084AD5210D20ACCE86E470B00346391888062750E8CDAD560CC7EF049D5DFED4AC92B9D0026E540157D75597E9CA2384F3F361C8200E47F23F5E6774672927C79C319DA8EACD99CD36315A27FC6FB1B7F4655F0AA2AFC951DC09869CF6247BB0F3A2745610736281BC3B494036376338EFC61B0630C728B80920280B204183346B8559FCAF9BFAE4C4FA625F6A83D0D55CA8E985C8AC2C624060E90A9702362D30F2B846B62C6F4B0AE4BDED8DC24C1DAF17B3C808E5DF52288E96948F26BA64739205B80F16DCCDC0BF79EBF33FE0F321D4C4B5C136013CC541B01DA0BD930F5A84B6C6900F032B1736C81C25F667A9403B20618DF8AAEA6A52BD894FC077E68AB18A80F77A89C2E29D0DD86BA43D7E604A529D760E24CDBFC35AB5F386E9315ABEB00C8848B85251CC5F7AB06B5A371DD5A1A2D9EA1642015FFE6D80BB6FF86439F99947F8B121E561CE9807B6EDBA42EF9413FC976E7B67A0AF4953DC0989DDA989658146E0040C6FC9A48F7D83F1E009902E5F1306C18BCED2CD50209B71195799DBE09CBA42044413102398FC406583AB451C5540C0DEDBFE5717228E032A4A7171614359AE2C433537AB412218CBA04009904C0985F9A989658613C0281AD5C618469180A1E2C430C822D6A5C6A4B9C11E855B8E9886A1D509F9C7AC7AB422B85B6FD687ADD898CEB346E47021D4FB92A2EAD892093B12842D60FE6397E09EC1F66004A836E93F59B0760165C83A267E2A5C315DE0E8DE89B211DA88B5D434DBB16E79B0CC0F86ED4312DDD860582AB98EC83DF168BC2ED30EBE82B929DDB9E8A1971554886886D8C86B3A6B19C0D79D69AF77B0ACD613F3B7C6E8F9CFB5FE025EA0F6055E640CACE08FB01B4C908C049CCC21200EBCC39FD1D68761F07B5667665249A14C0F8C62A322DF5E9D09838D1DEDFC87DEAD0BC1E858CEBACF7C0127EB01C9DB514915135A0788D466E55D766D2860032D0B906D49613D0CFA178D98AE7DA8AB5A1A6797779A667F1CF95F15825C433FD0F282CA1496108930398E2ED51655AF24035B7688832AE7779E82D4F83454D31C826FF5292BC84811C07BFB03A6AD6D5548C5FDBBF5C65A437BC3A8EE225E2C47587512AB16373DD007E06154B7A07458BAA7B4FC395FD0F3852AA0B329305183FA0C74C4B38C64C4F40429146B01B1A92186403D741210C512C559C29F7391C997D7EC6DA9217E95C87535F75D2B93E7B9FB5A7841B3DCF643FA158973A8B7F93061803489896D893036F361B4343E123EF2F91AB4FD6B5BBD4E2B370A1A40D7DB78BC1FB9D7B106BAE7D29E2253AF35ED7D2FC17FA7A9118646ECB8F89996C2E623566AB11AB61F20063E62A62143FC642750E4A414B49EB319BBC89DDA523C4D4F969BE3A1BFCCB1B3BEF16BD971D13EA96D849DE3A8BC5F2FA6187D14ECB51450E8EA0C75189AFB2DDA5C9034C915098BD4C9310E7A9E942B73C46AB7B9CC5962F9C113924CF5019BCB90F9F1527842A62C5CB1DE00C6A5883FB0A28A5DFDD9E2054189113BB542C2AE55AA244DD710F5A1723CAB1AC09CB54F712BD9FB7F554B618438FAFA3F4DE363788C2A7A2FDF68BC28BEF41C76068E23EDAA12F2EF9C37D5744263D839DCB29241764EAA9D9A0165D435A71A97672656737D62B359F1F26D29B47BDDF953AB7D44E6959B65DC5FF9DE1C2C41A7A43CD908A7E94FF2A6A19708C4685B1AB15A14FEEDF4DDE55527F72AE1E0A53E9CA8BC57FA68A377EFCF6785D9B7AE4FAC4DC42D16EED8F428AEF4B307B293AE7BE6AA24F9EC560DF541C7EECEF23D5D61EFB56E6075864300362B36E18FD4EE2734A80D06661985EC7C22F0FDFE3841DFA05AE3A837C077D72DF15955E3459117909066CDBD97F0B6DFADD793D2A5E882ACFFD06FACC0BF1FA73FEA65B505D64CE795A27D71EB6191E4EBC226256779DC9850AA6582F851F34BD7545A188810898DE3DAA93CACB4D16608A44C243E01DB17DA49BCA9B97FAE02B70AFDE76329B362015C31B1A04862803EA1768E88B15EEE24A31A331D37C24B77B8A3AEB8B23C909A18BE790A24A15992CC0C66C3D4741472F9214DB76558C55756C25D2224C445AA7D1FE2D68ED2BCEAA4E11C7D40154D98BAF2C0C30B875A26C9F57E1E5FBD48C60114D558CFE5591C9024C5173722FEC66039CAD54DDBBE4C7F69EBD4C03BF8DA6FE4893A09C9A4A1B40951DBC312AB4A85391C56401A6A81E1739C59BBAB6B22CFB3C8CF27F240CEDBE28F4CEC1CA1FA02627E7FD284FE4953B40F8FF53CDEA2581C8FC994D60F8314685164545968A5225982CC014D5E3F45156AFDC87ADE117C25F0DE5FED8BF4A8044690DA5B22906128308E7D583A36077AC75021C2D619EB114BAB4E67C0C2597D973221836D61E1257680946AA849EB052B08745483915594C16608AEA71FA280CAAF2E16B71B0B48A9CAA6B6B3FF4EEB8F7805A236AC91F0ACCA7DB94008915B3E529898721B71AFB7DAD87E3E40878394849D0E2D348D8595FC586E5E772529E9A0126E113290518CF60354A66272FD403E801B7645F7B4BF284E8D4B43EC1EAA399F4F6D6781A8E2A229BE04223250D07B8D8ED7CF55027E1D0A8AAEFFF010000FFFFDDC1AED300000EF149444154ED5D794055551AFFA16C8AA8B8A218026128B9AFA8B8A72D58368D8D3559CD92D64C8B2629E9388AB6B896136A6558A3A633CEA44D995BA6482A092A20E02EBB0B9B0A2A8828F2E6FBCE137CBE788FC77BF73DEEBDBCF307DC7797EF9C7BCEEF7EE79CEFFCBEEF3868284185A9F57BBFE0D2959BC89C33081D3D5C65F18699541E5F2A9773536764BDD31F9EEECE1697EBC2D53274088F4183264EB8352F180D1B38582CD31401772A34709A73009A92DBB8101E8CF6CDAA7F1707B502ACE7B2C348CABE8E43D3FAA2DF034D4DA933ABDF7328FB1A062C3B829E1D9B22716A5FC9F2EBFEF161A49CBB8EFD6FF546B06F73C9E41A13B43FBD08439727A0BBB73B92DEEE67F85606981AD3A391491A4CDDA3D97EF2926C5E6FDB894BA24C8F51D9A44C4BF66609B963BF4C9652AC515921AB93459E9CB7B1046317957CED95FF9E1415B0FCC039D9BC06978541CF6593329594DDD1B8FC7DBF907D38FBAA94A2AB95C579F07B349AB35FC3791B4BAA05D8D7F1B9A2129E599362ECFD6D7A6DFCDA63A24CEB8EE44A9E6FC47E2D78477C96A8A9A8905C7C954096CD7930C04CF978553B06CBBB7E0B9E340875E4C1EFFC2170B0CDD8D7E05884A7526EE107507AED96D141B14101355CB8754703BF45B1B850508AA54FFB237498770D4F987779697436A67F9F0AAFD68D901E1604E786C62B56B500E3EA7B68711CCEE694E058D8003CECE9665E8D4AF4D499821B08F830163E6D1B23E3DD2089A4DE2FE6E8C5EBE8F58F7880C076E08DDE18ECDBECFE1B2CFC15937115C12B120002D5519AA4F468DFA4668955BA4F850753BF3B2354F9BC1FD3EBFCED16DF1D88FF65F369AB9665CDE11CF1CE0D66EFD31C39774DB2BC5816CBE4AE712DE5616A52B5063B955F822E0BE3E0D4C419D7C81EE6EAD8A0E62FCE0A779493CDC8F3FD83B85C781309EFF4432F2F772BE4724FE48CAD6958B2270B706988DD7FEE8E519D3CEE5D34E368F7992B18FD550A507607D34775C4E2B10F9A2C45D500E35A18F7CF146C492EC0AA099D3139A8BDC91523E58D9B92F2F1EC9A6318420DBDEFAFBDA4146D5016694C846D4913DDD99CD13E9849C0A8ED07567ABB020BA3B230FFA74CD1ED2E1EE78FE9C36B37B6533DC0E2C8B81944C64DEF368D91466331471B59BA2B5B9E07F703C8207938A3085B27F7404897969597ACFE9F66AB78F93FA780F20AB46DE98A154FFA635CD7D670AA6160CE13862DC70AF0C60FA9C8BB7C135469584B1FE84B7D3D6B5D66D5038C6B64C4E747117DFA0AE63EE68BF0477D6B5D49963CB0961AF90F1B4EC08F261967670C808DF18D8CCBA57875F319FC74F2B2F635DC9C30B9671B3C16D0023E2D5CE1DBA291389F71A514BC94B593EAE98BA3F9002D01711A13D80A9F3FD309BE2DB5F78993B5F8532F00C695ECB7E410402A3FE6CDDE18E423EDECCA507DE79049A2FDC258E0663962DEEA63B37CF5CBC35AF47FA49196FC7C0EB16945FA97ABFD1DF46073CC18F6009E268D678989A75E008C6BF0EBF83CBCB4FE38DA50577186169A9BB93A565BB1529DE4460DF92A193B8E5D42E8486F2CA5EE490E89B5D4FA845CC4665D472A69ADD3F49B530069337FD266411DDD31B1B7A7D06E5294B7DE008C2BEB79EAAA365297C50BB451937BA2257517D6480CAEA9DF9F4504690C5FCFC63811DABFD6036C6B94AB2E64D62B8015D334DB7DEE0131DDE686DFFF5A2F78357391B4DE195CD3B7A6E2A3A86CB18A904406CFC0B6756BE495F4056B29AC5E012C3AAD102356933D87C6449C5A51B7B0E9F7811846E30D29D24D9AAD856E49C5A7FBCF8B99574A685F74F534C1DA2D45E6329551AF0016B8F4104E5E28D6368523ADA19593BAA134A14F5B2C7BAA13DA1111D0DC149B7515CFFDEB24B2F26F6845383B226C9817163E61BA51D2DCBCE5FC5CBD0198BEF60A68D704B368F0FD0A699CDBB430CE56EF6983BD30A1471B41503465E6C4DD61FCF96B58157B11AB0F5E0418AF6C8720CBBD488D1C1139AE135E19D04ECE18B06AD9EA0DC0EED35ED4F0517FEA8611FE1E282A2DC7EC9DE958C9DDDA5D5CB4248AF5C41EAD3198CC199DC940EBE9EE82A6AE0DC5E5C21BE5385D5082B8AC6BF82A3E17672E96681B8800FAE953FEF06EEE8AB13499C00DAD1D098D29AF3F6AF3B26A4BCA5478BD00D8AFB417B1004E4DEF7F5F9330DB6143421ED625E62133EF6E3777DF1DD5FF60B3C7EBFDDB9196F2AAE2A5AF2793C88BDF9E269069C77A706980CC1941E84863BEFA96EA05C00C692F438D9D92538CCDB47E9978B11849B925C826ABB6862706D46FBA90F6EBDEAA31FA78B9617CF736420B56679D8F38701E53B6A703A4212B9366D9C8CAC37AF35FF50033457B59ABB5E7EDCA4078F4B97B20737384E6FDA1D6CA4E9672550FB0DA6A2FA95BE9ADEFCE60795CAED634421AD08FEC6F69B426595F92AA015697DA4B174013C97CB121398F0CBC15C23E368A2617BB5FEDA17B8B6A8F550DB0BAD65EBAA82197326C23A6022FB8B3496432515F568D0FD0BD4595C7AA05985CB4972E6A06119FFD209937989F059A2C2C1AED831923BC756F51DDB16A012627EDA58B9A873F3A8C13E49C01C2181A3B61F3739DF14CB7D6BAB7A8EA58950093A3F6D2454DFB0F0E228769326CF127DA502271D47A9AE2A1A32B4421C7AA04985CB5972E265CC967B38C97A838356C80A2F783ADCE51D36666DBBFAA0398DCB5976EF33ABCFBB3A00E8973C47BD72C19AE7B5915C7AA039812B4972E721C42F76ABB4A5A23F768EE822B7306EB5E56FCB1AA00A624ED55899C329A51BA869126E3F11879FBF4A1505347A6F4A9BCACF8FFAA0298D2B457257AF2AEDF86E77B315A1B9973038C27478B6F5E7CB8F2B2A2FFAB06604AD45EBAC8394544C52E14340F37EF889965D810759015550330A56A2F5D901D2456ECA05549DAC571959015650F30668DFE9C5E88C8B81CC413DD59D7CDAA8F57134C22B628DF33F2CB7B5CFB806AF85EBA0D29E7E3EDE4201BB2FE2E615105644559032C997859EC6A76A292476F08194E14D484D7F838E9B055B52794F7F73EC2A2C2C98AB2055824F1DC276F225628C549E848B4E53706B6C7E887B4EEEE0C197620FD89A2BEAC202E7C95A3059D57B2F6D2FD14F4098B4A252BCA1260226807F3DA69DABEE0093F11D1C550786E0EA7BD786F3666ED481753FD308A22B330441D9E3CE144589CB797088BCCA655285951760013A1BE3FA1287D6478DC46B1AD9E30311ACD361ABB8C5D9D2C94401CD991FA7BCB2374B9AE5632E7B88AB0484EC34A242BCA0A606C740C24B6413AF1E0BFA07041936A19CF4B74AB14AEC8BF9D1B8E4DEB07973A0A38670E908C3D534558240B86D2C88AB20218454AC6946FCF62188DB5F6BED6B3D6515D7836399C4235EDA3B159C46F1FC29BC11D8CB59BA2AE551116C9C3449FACC8EF1D977D153B4E5DC1AEB385384BE3D3CBC5B4904E146D4F72260E24279527BBB4205A501B787B481B2AA1A64A940DC078A5C47BC141112539EEEDBE6677719501E73A5014E4AC99036D1E8FABA60AB7E47A15619166CD4C56E468839B93F3319FC265F24E1F35261AD3F247376F8C2F3CC804628B241B80094BFC8A44747DC01D29D4BD999BF86BEEF6F1211C3F5F8C680A3C2255DC0973CB23F5735584451727729F7345F25D60F14CFB7972161EF1A00702E8B8B59B360C4241C92D2491FBDDD6139711792407B8552142901FA0C02F1C80CEDA493600E359E0825D99087FDC1773E90BB32485FF48B3AF9D199835C6071F3CEE678928593EDB6AFE2F1450B88CCAA611A14157904779084522ACCE3F53F7053820DEAB64FAF921A5008DA8EB4CA3B05296C4E3D0956DE85836001B487C758EBE17F57A2FE1CC6AA8C0A69C8F4A2DC4A89589E0287D07498BA92931487A461C413EC54E7DA19FD671C4CDB9A1C9AFC84391C9DF9CC297643F1CD9B9257653DC5853E270989C81DE8DB20198F6ABBC89737307A303F1A22C49E78ACAE03D2F4684672AF8FB204B44C9EA59EEFEF9438CA39DCE9E23AFA40D147AAA26AD55DD0B70905F1E46705C8D8D2F77C5048AD96AAD241B8039CC8816CB3D37160F47235EFAB120DDA071865B18C923EA8B66D1700B24C9EB518E9D31F1EBE3C20C739CBAB79AB6713156FA3D34DB7CE4D344C9B716D4CFD30E30FD1A91E96FEEDA5A1167AC90C65E3F9209670C4589B624B136F4FA909C4F2E955A757308D900CCDE451A878BD82728225ED2B5D669141B6D192DB37D449B674DB3D2E659B2D9CE2F6879BCD80727EAEC1553B7C13178DF1E92C17BEAB04CB5A42977F75D9ABD234DB257DA989827EA897643914CA6BE20D9006CE6F634F1B2E1126C5C357767BA90358B64AA250D88D07E80D1A98592BDD2F1DC62514F7E0B632593A92F48365DA4DDD06ABC8B14CEBA345E4A9B3D107E66EEBAA19F432EF965B623FFCCC6B4A17B096DEC6E8D241B80F120B6232D159DA70D35ED4B45BF6E6A07F63CBA7507C58B86A13676AF5F4BBA7786A362379A1E2D22FE58CB27533600E3D7B62F76DF6B7CFD23879904307208295A3054320F705B987364053029E93A96DA89F41BB8AE7F072C891386D1A3145BD6A49D664D28B02D0CD2B20218D7892EE1702B110E4DDDFE4E977078686A1F118ADC843A56CC2DCFAE3B8E4D14A0F8B3DF05E0B5815E9294DB264B6AFAA37E39FCE62D7BD9CC80D028CD87BB3335E5C48B3694F8DA07BB33C4BD78BB76DBFD1A9229C7F344CB11753264658264C5B3C56C5B761AACF2D35C4D6E6A936851B6D2E9E375E1F4E1011F0FEDBE859985A5E4F451289C3EB279770DE23A453EDB59B59B1E881003BCCF1245AD4E08B57C5B665BD19A640B30069AA96E6B81E41FB9F1854074A3DD3BD49C3E21C6EF5462FC0E24CE570CB14E2C6141D88A98296B803158F84BDB47EC81C8B88B4820E2DC49DEE2975217DA00A13739D84E1AD01E43FD9A5B54D942A002FEF0E6F25D68BFA5D49C12BC17E287D98FF898556AAE535B51CB650F30B36A50C50F1D278798AE9F1C11268BB5A4B5CDD9475BD739C6DAB36D3BC01408C65D14ADFAD12F28860569B4F9E437CA9ACCD4EED2D6B36D3BC01408302EB200D91A8EC771478CC956FCC61FBDBDDC0DBE0D3B282FDA9B85BFEDC810C05C4B644573B49FC10C0C5CB003CC40C528E13477974FAF3B26C664ECA81C4C83FF177AB7A17DB79BCA66B66D0798129064A48C3CF05F19731E53C9C9A56A773703F7D7C56CDB0E30038DA1B4D36C27E3F1D5BF13F39192575215E6AAAE67DB7680290D490A2BAF1D600A6B30A515D70E30A5B598C2CA6B0798C21A4C69C5B5034C692DA6B0F2DA01A6B006535A71ED00535A8B29ACBC768029ACC19456DCFF03A7B3814B99053E730000000049454E44AE426082'), +(59,'image/png','img','89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C00000E0A28A03B7B00000DD6494441547801EC5D0B5C54551AFF8FBC44544051540C042C50F22D6AEA965AA9595A6DA999BAB959ED96BD1FB6B52AA9D54FDCCAEDB5EB6E659BA0B666BB3D4D732D4D341FE033053541485089A70F145466FF67C6ABC8CC307766EE65E6CEDCEFF7833B73E7DC73CFF9EEFF9EF39DEF750C461274D239A012070C3AC054E2AC5EAD89033AC07420A8CA011D60AAB257AF5C07988E015539A0034C55F6EA95EB00D331A02A077480A9CA5EBD72450196537C1A45276A4C7F474F549BB8DBBE6510A25A06A243682012DA84E81CF7310EB80CB08CBC0AA46F3F8EF776162334A009CACF5E006AA9BB3D5F6B66A57F13A08901AD83FD515E73010FF5688B897D22313836CCC758ED9BDD751A603F1CAAC0E4E5D92838790E10A0926B1020D810E487AB5A0660C9B82EF84D9C0E346F869EC3001383D3D0853BF0C32F278133E75DE30D47B52157B5C4DA3FF614839C4E5EC8018700565851838EF3360335049652164C012C8E68452F5C87F694D57C850A2BAAB1F59713C82B3B63EA726CAB600C8809F53A1EC806D8EEA253E8F16626C17551B6521A0994DF763DD917DD3B3457BA668FAA2FB7A40AF72CCD41161744B517AE94550D7E0624478660D9BD5D10D73AD8A3DAED6C6364012CB7F40C3A2FC884F134E52D15C9D03C00079FE883F888662ADEC57D55FF67CFAFB86B693665563BA245537F7C4A90FDB65B1BF73556A13BDB05D8050A5DFECFAE932FC4BBDA304E99B5AF0F83C1CB64B2D9DFE6E1A56F0F0362D492431CCD5E1ADE0929C363E594F6D8327601164F992BB7B84A39994B062B3AB70FC1C1E9FD6594D446912554E34CFA37472E47C58B403FA48D4BC424AA75B44A0D026C2EDFB8596BF3C918AA211A93829AE0959B3AE145FE699DF6F3E54C7C7DABE3E0923A4ED934E7D97E4868AB4DB1A14180199EFEBEF1A64689A1D29153A4F18D61D237CD1E7B5076DD5D70C2A5F6778F6E895D4FF575A90E775D6C136073D6E421650D47AF732AAD1AEDF5986FEE9C9B6330F366EDCA205B09ACFEEF6C779D87E4C596477BA31F81A635B209B016B337E2147535EEA4D0B04054A40C7667135CBAF7C8F77763F5DE1297EA902E1E9914816F1EE82E7DD5CCD12AC056E594E296C57B5DD7D4BBCA062ED7574DB91623125AB95A935BAE374C5FE7FAE825B59CA39871FE10E99B668E5601F6F08AFD58B8A9B051578EB63836EDFA8E78E7CE6B6CFDECB1E78F9FAC41BBD99BA8965048C4F06B8263290311D9425BD60EAB008B98BB11A565EE9D1E25E4B46DDD14C7670C94BE6AE6F8DDCFE5B8F11FBB2E7B95B8DA727AA5ACFD430F0CEB1CEE6A4D8D7ABD05C0C49B97F8C63654B859FE92B8101A1684835CA6B70909904E69E2F876C6113CFEDF03D41A2BD45C3FE0AD3BAEC163833B2A5461E354630130D3CA67E14EF7CB5F52FF9BFA21735A6FF4E9D8423AA389A30E30F363B200D8D7D9A5B86DF14F661F2F4F789414F457DE97845B125B7B426B64B7419F226D00ECC36DC770FF8A1CE735CFB21F81CC8274E5F9F0AE044C496E27F302CF28A60BF9E6E7603182A57E978F3FADCC956F9455FB79D2E89B7A6B1CA60F8D51FB4E8AD7AFAB29004D006CDEA8383C3F4C7B00BB858AD655BAA2F54A67FA455B8F62EAA75CFD34B681DBD6F811D8048BEE4EC4EF3536458AEEE8A6222B23D857FB4A303A6D9F7DA7385B8050FA3C85FCAF7F9784515DB425E44B6CD08DDDF5F2836DA18176C0DF7778D42A72DB233DD197C1215A2493BBCE6B74D771D669802378CE335EE4AE73A4BC1ADDDFC94279D9598F789EE1E141D8F76432DA693820243DEB38260B874347414670A58FEF8289BDBDCCE130705606CE51A3EF09144C6055CDD6AE4785C4C3C8B99B50ECC84BEBCD2ED3E3D3F76239DF3A4FA07BFA4662D9C4244F688AD36D38F06B1512687E330528CBA9C5DB833E4C3EE4CBA96CAD6E6457E9FACCA79275E9F8444CE8A5DD294274696CDA5EACD8516CF60EA6E92B2E3408798CD0329E6700C8B98B3C0EA0B191A3567F86AD2D9D9088382F89ACB2D083098614737A4C620C6449A97BE5B0B68C0DDCFD781F446A58FEAA64885AD88C8C4B6E3B81EC4B35A7FCE34CB9B0A5A01287181228289E7DED1F1D4A771C6D19F54D8D6FE09F558089F2C3FFB91B6BB295F1C66CE0FE0DFE34BC6B04563FA83D2FCEBA9D7AE2B383786BE311BAED70B4E288FCEEE8783C32485B1E1175FBE3E8679B00DB9C5F89EB843F93ABF9271C6D91549E72C856AA279235AA9E90BA6178E6BBCB2E3BF4E932FE6588F4934F1C6D024CF43E2E7533F28E3126D24D645CA0EDA8A2F9EB0AF0BCB0EB0AF504C135F3C668CC1919E7266EBAE7B60D026C754E196E5FBA0FD56E54596819648617D77306B828C4334D5ACDFCA108A020EF4BD420C00423C6D2376C05732A9864083771468B205B9C750CF77DB2DFBC12676EAAFBFBB5C307549AFA1AD905986088E179BE898D65FC66B8BCB57B690D64912F53B12AADC2A9912F7C71A0298DA80E302B1CD8C03499633EDA8B8A4A75034142C39BE2F3895D71437C180C4F5138AE475A01D9B7FBCB30E2237A058B051267C41134D4AF7AB047BDDEF8C65759239860C557FB4A317A096325ABC83435A819BD26265D4BAF89CB31905A05598F05DB982E801920057135BCFDD15EE815A5AD980273E35DFF2F1B60E2569FFD54823B29F42BAEBA20B8BEB83709A3932C5D72B406B29D4527D1EB6DE18D627E11BB47B7605E8964D79F94466B700860A28F3F9756E1EA5417DC4FEA338ACBF7C32F0C404CABA6F57FB9F45D4B201BF9DE2EACE6686F22E6A05D7DDFB518AED1C8F44B0FC0850F0E034CDCEB2873E10FA6CF582E5D7B50EDE49419E48FCEAD8290F1702F59D1CA5A005951650DA25E6534F7C53C60117C697E9DA9BDA06117F06471A95300936A99C700911756E601019464452A733944632FCE19316F54ACC37EF69E0EB2A9741058B4B9C89C728166A1C563133159C3C9E3E43C4E7B655C029854F9C7F414485D5F807CEEEE517E9A239AC8752EE564604E0591A33C3CC41FB1DCF563FA0DD118DFABAD74A9C3474F05D939A6C60C9CFEFD65B350B01F8CAFDEE070FFBCED0245002631A594E02AA83883C374ACAB9B9EBB13A78A98F060B4A230AF047922C866AECAC5CB6B0BCCB928A8CB4B1DD94993A1764A3C9FBA75280AB0BA15ABFDD9D34076450C24076D231319EB6425AA484B4CF11490FD8DEE38D3BE3C64360B7155FCF8A028BC79C7D55A62A56A6DD5EC082671446D9089A8D1C3DC8DE308AD18855C251EA93C6BDAF646ECCC21A6FEE8B0607498BF19355C599B88002B9F3318615451E8A4F1114C7A806A80EC4B46642FDC72145B0A4FA2F494000F57CAB574BB91F2DC5F5CBC186867340AEB8658D830B9FF582E60964FD6760C81C457258E9A1FC124262805B2E7BEFA19AFADA3072A81E38CC5621685FBD923E2A46679FC31EBC849E4979F358DD2A2B19D3832C7D026AC54BA2CAF0198608E2B201323D698749AC1C408250562884A1D25DA1EFB71BFA51F9915DA537790DB98578977992275990844112F929003844BB7207F8ED4629B152A8B2770349E36300A836243CDBF39F1DFAB0026FAEF0CC8C631EAE793EC328E580AEDC5C4E72376A32BA71E2C8CFA304FA142CA91B7FF6B0FB6979CE5BE539CF62F62CA66FB04D64202D13B825E2E53BA218AD1508E92D7014C30C011907567BCE29E63A7CD6ECD8E72CF5E796AF3B39F4E46A207ECD23167CD61A4FC2FDFAAAF9DBD6E987EA76E6F36F72D9875532759C5A5425E0930D1393920EBCA9C11D922E640B23A485C51F2C8556571CA20B4E14E72EEA2318BF6E04B26257646A6BCA2CD9CFE475F1D8E2FEEEF76C5E986BE782DC044A71B02D98425D9F8989B549956860D714881DF9A716A29F9F3750866AEFBC6A6BE6F6621ABF0946B7265DD463340B84F54736472DB4539E4D500130CB006B2A78646634146A1724C97C1E99E312DB1831BAE36264D5EB60FE999E225B2276C39D82AAE5E2631A543DA84AE762FF47A80090E5803995DCE285D80D3CBE2BBAFA17745E3E49A35D946D7FDA25EFA07CA9733865C85B976C2F07C02601E0332BEF9C6D7872A0D5D8BFAD61FAAC050AE168DA7145A155BDCC17CC2D0DC1FEBB8BABC3EDEF6E6103E0330C112B78F64D4314D1F12CDA4C6F1361E9932A78352322E9BAE94A9D2662D52AE0D5B057C0A607E3337A056E5B7DA16A32F9DA773A69101B86AD107346F3DF0D901F90EA0AE36840EA4EF732FA9A9FDDA5BADC96700B6921B4CDC4A85AACB4B75AB6C74E02465B1B4BB1354DB26D97FD6065C60E69EC6243F6ED0759E067E6BE433004B663AAACCC3AEED3C6B8D81CE9C4BA02929E7B97ECE5CDAE035DF701BC6518C5F95229A1A2CACE48F7C696CEDC6E213002BA289A4DB5F3351E6211B7C857183AFED8FF5416C039154CE3CFFC9CBB291CE34F4EEA0499C22D32674B1B8B54F006CF9CE628C174978E506A658B049E1135CE2A78D4BC4248593FB1AFEFC837A81D1F658407778E32BD75B94F209803DF0490E3ED8C4681F0FA229033AE043A6075582C4BE485FD01BE4A1CF0FBAED2512A3F28F0FF7A4DD35E48A2EF904C0DABFB209C7E841E049D49E1BAD1639B1D16A4EF169EC2C3C8DCDDCCF40E40CD92E6CA942532FAC50EECCA94B396CEDD46E161BA67A3DC0CE30F95BB3191B9CF722500B95B44B56D39D2750F85F59A1EAF3B5D8416FDA1DB42366E49DC046E673CD2F613E57912C58F8D9886C470A5B80AC3443FE291BD3BED7036C57D129F4E4C6129712C1C96799BA25A93FFAE989BE486A17C284C035263009EFD2F5B90413815525DCB4F9D040A0D9DDC04194138E92A2ACBB8889F5E6DF168FE7A848AE4B5E0FB0EFE9A6328CEE2A6ED77FD5E5BAF84C9FFEB836C1E6F40B628A1323991895249FFFFAE5EB7E178012C43A6EEF1C8631491138C0D12D756DBEF2866DF39DECFFB701B0FF030000FFFF656ECFFC00000CDA49444154ED5D095C556516FF3F5691145104F7C405050597042B17466B1CA79FA54E9A99D88CADBF66716C2C6BB4326D19D3A91C6B6A5AD46934CBCA6CB1C54A4BD24C7005B7209512341677014585F97F0FEE93073C78CB77EFBBEF5EBEDF0FDEBBDFBDF7DC6FF9BF73CF39DF39E7B354B0C0C065554621C6BDB5173877C9777B19EC5FD9767F3F8CEED60237F58AC0F06EE1E8DCB289AD4FCBB7E763F23BFB81F35EEA27DBB8EC969E48E91F656B93F862313AC05EFDFE08EE5D9D0D947969E0ED86DBC90327005593D2D73F9EC0F0259940E9C59AA7B4390E09C0FA3BE2318CC0AF5E0C0FB079EB7FC2DF3F390894EB9851BB01A8EA9328BEFF50588CAB5FDA899327CFD73CA5C9718B16C1F8FE8F7DD1A375A8DDF30C0FB06708B0873F25C02EE9106081FE181DDBB2CE579EDD2C39796099950A94788983350D40C553436BB5D4F0005B92761477BE9FE53DD9A4D690575504FA61C9F89E9892D8C6D1152ED74F7E6B1F96B3BFDE2829496DB16C626CAD471B1E606BF616E1C6E514F2BD259BD41AF2AA8A2601F8E4F65EB821B695A32B5CAEFF6CFF31DCF0C61E2A341A7331F6E5D3DFF7C26F7BD6EE8BE101B6E5E7D3B8FA3F3B7509B074CA2C033A36771948F5DD10F0D8B7B874E6427D97483F17744520CE3F31A44EBA860758EE89F3E8F7E236141D3F57E70078AB323C3C187BA725A24DF320A94DD05C24A082B2F8E618DC91D8B6CE7E181E60A2D74D676F44E9E9B23A07C05B95210456C99CC1AA3CBEE9EC4DECAF36DA6448F360F66390C37E980260DE147E1D8DFCAD03A2F0D6A45E8E4E7B54BFF1D0490C594C9B58B1CAAFCAD0407C7B673C0647B770D85E5300ECBD5D0518BF92566EBD08FA7CADAC98D01313FBD95BBD1DCE921B271EFBFC209ED87058BD158C26FE7834B923E68EEC526FEB4C01B053D4AA6216A4A14027725864AB10644CBD0A5192E5AF9A333D994B64CBD3F301D9AB817E16A490032F9B1857F391B58E4D0130D1EB5B96EDC1BB3B0AE40F76AD216DB862445C04D6DE9DD0F08512AE485CB41D5B734F0317CA25502309DAEF0674688EF4A9FD9DA2671A8065179520E69FE9DE37B8D2669446F344A264F3447DB33DF6BFBBF141D6318A081EAEC786F8634C4C2BACFE43EFFA1E6777CE340013BD4EE65A5D6AF671BB01D0FAA05BDB5064CF18A8F563F1F4BA1CCCFA22878BFE6E72B2203F3C35A233665ED7D9A5B69B0A607B0B8A914890959CD24685AF391341CD02F1D9E4780CEFEE58EBAA798FCCE3A334D5DCB43403DB8ACEA1A298669B8696672D805F6810FA4734C1475312D0D60D99D154001393F58F753F61E65739EA69578E10E16FC184BE51783BA561C1D8110959F59B0E9DC2CB9BF3F0A6904929534130B58B55AFCF00FA9EB14AC86C93A8E5DE774D3B0C8A0E73FBD1A6039818A97E0BB7622797901AFC05BB3DAC75DC18E48F8A6792EB38E1DDAA9D79679173A21487AA34EC683A31760E0F41DFF65748699829012646AEE5DCEF70E28436CB4761E14DF0E1A4382477F5CEAB510A52DC24625A808D5D4ACD2A83AF08B50BFDA43E49E94DAF89966A3F4997F44D09B082B317103577933CDB90A3A9A5907C7B623BBC31B1A7A32B0C5F6F4A80DDC9E088255BE89827DCA8B96CD3859E0D074F52AB52C38F2A24105F4EE985EBBB377230C3FF9A4407CF5F2C479387365CF6D127C02AE62563313D41EF12EB955C0601AF71BB04072084344B2FD0E94F316C52532B786C105AD36FCA6CC5741C6CC69A0358F0CDCF953EFAF4899F37B2331E1A7EA56DDEFF44F7EA9736E5024101AE71342EFEE24205E6DD106DA5F7D70FB2B1487049852B5601D9F620937C311DC02CD3BFBECCBDC8AD2A9E1D56E754AFCE2CC42B04C8D6A36771ECACF02523672B276753824718A328B85D786800A2E9133523B91326F48BB4A3357A69263EDACB251AC1112D16F4A0157FFF834976D718FDC05400B346187D9E434E43A362801F1E4CEE80F9A3BAD53BC7C21121E778297269FDCF3B55C6CF73D6B76874CB106BE0EB95B419B5A4A6E8A8F4797E2B32C462B378EBD216764BEF08AC9CAC8E1F98A33678B3DE5400B33C4CD94B897C26F73947C3673081A676693167234E092542142E76CFE39ADE43C33A551E1BFCBF6900F6DA9623B8E7FDECCA086F82EB8E816DB198A1EE5A15CB837C355F243B14C5449AA56900164CBFFC32C52F9F5A5D3EB5BA480DB5BAD3CC8D11F668EA65909944B33405C0DEDB5588F16F572540A1AC3E2621D2259FA64AB6E3F9FFCCA3C54858B4F5F242BB09344B5300ACC3539B9157545A89109A137EF85B22625A37F51C316E50F8684F1146AFD8C7107F06649840B3343CC0BECA3A8E5FD3A35309F8181A138E0DF7F573031AF26EF9576A2EA6AD3D589947C2E09AA5E10116FF5C3A761F3E53890E2FB82B3B82A59D21D6C09AA5A101967EF83492E8C1AA58D37B776C864CBE1EF552EC0CB106D52C0D0DB0E497772035EB44259E9820ED4B062B5C1FA3AF45673B43AC01354BC3022CABB0043DF87A545267B68F0841EEAC6BF4C2BCECDA616788359866695880591D0A33E950286C9BD41CDFBD350EE3FAB4B69B583D1DD80CB106D32C0D09B09A0E85418C8639AF52A2115920B533C41A48B33424C06A3A14BE3AB63BEE1ED84E161654A3636788358866693880397228540D159209DB19620DA0591A0E600D39144AC6832AE4EC0CB13EAE591A0E60CE3A14AA820C8944ED0CB13EAC59FA1CC0F298073E8D06D4437402144538FE5D7D659835ACDD1D87428998904ECA6688A517ADAF7AC3FA0CC00E323BCEAD2BF6631BF34B940BB7652530830E831686E5274685224D788E2AC93D347428948EAC6A046D865886F4FBA237AC4F00EC7DFAC7DF2C3C1094008A6A1350E7572F3814D6D90E49953643AC0F6A96BA07D89C2F0EE17191764809B67066D208B07CDABDB4742874A6599E5C6333C4FA9866A96B80BDC91DC45256927329AF3D676788005B765B1C52AE8A72F60EDD5F676788F521CD52B700FBA1A0043D9F4D731D5C0A543809FB1F48428F48EF38162ACD90F9696788F511CD52B700B30AB722C5920725A15373ECBA7F800714F477ABCD10CB8CD9F56996C798C27CF72FC5C8FCE5AC35CCAE6FBB66107F4D99A950CBA24B80A51158035FDCEE79721272B12D7FEE8F2402CD48C5668865945275CD3297269CA91F6663B508F6BD24827DD96B118F290AC5061138EC4719EE91211D30E737D195F52AFFD725C046BE9E81B5F45D9751467277D8CFEED226A3B38CF63A4BC36688E50D22CE7247DE19AC64708BCD7C531FA1000BA2C2827180B96243B9B0AE66D125C02C33BEF19C7B29A3462E5631FF57CA91A13E6D8658C526E86AEFE81A943BFB5AB427D8D42ABA0358FE9932B499F35D258B97D16BE690F8858318D54CEEA653329AE6298DCD39A770ED0B14253CD9CD976FCEB205C3104863B51A4577005BCFBDA7AF7B659773ACDE9911A1A57FDDBD7DAC9BA83B73B9AF5CF3E3B11224FD7BA79434A0A3E25BE363EEB7AD46D11DC05ED8988BA9ABB32E0BA79EF69A22C6A23131F8CBE00E9E52D2D5FD31F3B7209B81BC520A65B2BC4706A15D987C2EAF3B802D4C3D8CFB3FFCD133B65F7DD4A93D3D3FBA1BA60DED58BDD6A7BFAFCA28C4B87768802E66923B49657CFF28BCA342D61FDD01CCBA053213F43AA50D3933B87C457E3CA53746717F20A39424EE3F94CE2DFBA416465D553C3D542A49414C7700DB476F89B8F98C0612761C198542FEDE1989888D0C9541CDEB342E52A00F7C80997AAA12F5486B904AC2BEEE0076818BDA4122D591AC015469E0A44DAC8B84D651091AF1BFDD2897BD2FB74A3F44DD014C8CB76526D31CC9DA3C5425D6EF222EA45DBE6C5B3E6E7F97C98A95447AB228AB244AE81260D6BD1DE94921A3A825BCCA689B3B344402E3191F1F90A704298D504919D225C08E30176AFB27B951829211501904573F5554BF5D6D8AACEB9FDBF033A6AF39284F09521AA69239479700137DBE714906D6647AB61E392A3E82064463AD435A4D14DC2A594989A0E0C3E34F950CD2BA0598C7C2BEC1847B05405945C5E8F7E20EEE795995545839E1E9A74A4B6ABA059818AF3CA60EEF20D6255DDDD45C83455C4FE7D393FB3B3EBD19B985A59E90A87DAF4A4E01BA06981885E2B24BE8CA65917CB14B6D433299866E28B56748BB9AD7B841C43DDC49C4E92018279AA6965B93EE01A68CCDECB587F0E4B7B9282F656E533F7A652A1E045E72A453DAE5ADCF04A6A6CA5432377ADA08151D337D0660CA1896300064E79133D63F51E72D5760A53DDEFA145283DFF4F5520CD26ABA96FB1CC0BC35A17A7CEE2A6EA83AEE4D1175C5AD71DC2DF4D1DF3F5DBDE0984680B93B313AB9CFEDD03ED17E826BF984584CA227855AA511606A8DAC8674AD9C4CA46A7765FD961EAC8FD3977FF68868555BDA08305587573BE24226EBB39082BF305F34B48ECB1404AB6E8BC5EFE8C9AA76690498DA23AC31FDD769C27862FD4F28621E0FA11059FDEA04FAB8F92AC8B5063249CC0AEE21DE25429B80E44680690C00AD1E277CF6338F145BD35C596878EEDA2A04033B8531F845DB6D9D1B01A6D58C9BF4398D0033E9C46BD5EDFF033D1E6ADE2E4182210000000049454E44AE426082'), +(60,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE900001524494441547801ED5D0B9814D5953EB7BABBAA014D0403F27093B88A916876A3C2A0715EC87B90287E8A26117CADB21B4DB2AB22320F416606C4681EC4B8F1911050DC75F9A24B78C3F07066884B081FC6A80846E3AA80AF157CC074554FD7DDFF360CD35D75BBA7DF5DD554E9D055E79E7BEFB9E79C3AF7DC736E551179C709CD0196CAE8E772AEEC7F8C7CA9E07A38CEE0C0E05B29329731B3276AA40A50BD98073BF787A7336E4E2162159CF33E3D35E4953B8F038CB1C344BC8D33E539FFE0C0D2AD37B290954A9B025436E9D740E00F72A2D3ADC8DEB57B390041BF0B85B8ABB55E7B267614C7154098F996A6F00344E69DB108DE79A9714079A8AD3E3013CA807B9C48E91ADEA626A3C9137E17374AF9D7BCB3B2C968EE1A61D40294CF0F5D46115AD90594FD426322C4F19F77389F038C18A6F1E44EBB8F26B7D70657B1EA2DDCDFD96EBC0C67E16BD691A19DD739A339E453B7B7CF666F5ACBBD6BE772A07C01FF7B8A182361E8EFC37D3BD44E29DBE32F57CF6315F3F52B78843F6743606CF9A0DEEAF5CBEF601DB6320FE01A0E5CFD13DEEBC0116309717EB5956858F52B1432E9726B01AEDFEE17506FF6842FE18CCB404286429642A612D2A1009C46DA0A18FDFCF7B3D867367889022A9A43932A9AF485B73ECA03A538C4A82C2153DBD8207B85180DB616F814DF0E2BAC14AF85FF53D1A83FC0395B09A7E9EEDD1F18CF572FE42519FF90CA14B25730F02F5A85EB33FD3273614573F5756513FFBBC836E379384833313F46574338BF3862E8BB2A1BC3E35C3D3809F132990AD91F8F03C4D651FCA5BDDCAB9C1FAAE164EC0203BE153B6E718E75EE974C32D79637EB734470CC5AEED6EB44322D9901A6221861F2CB1BF5FB4D93AD82F04F4D5C078237F9DC96667D5DC57CDE3F319EFB4B4E18051073BB30F9B8C7677599FC1EC5C7692C37F55DD54DE1F21E715D8A7042288030F991B0F1A2CCE40BB9613D7C5804BDA432E43424C2CD2DE54DA13BA4E52E0796B402444D7E93BE20A9C967EC659F42C37B05D5F3A10A4FCBE409E75078450F9537E9CF8EB9DFEE34CBEAB80556B20A7069131FD2B94DDF02737F4F22938F3B7F31A29D655B6BB5D736CC6487DB1BB4EF11536E035C970A90F329A14E7D6775B3F14D69B90B8125A900E58DE10961AEBF88BB563A770B930F414F6FABD76EB2463BDBEBD547B88F5DC218BD259527A73323267FA1B2D110D135D71F25A50057FF17F721B0339F98B9462CE7E4D261AFB0008D80A09F949713B5CF5677729F76019C036986145342104BC527B0A25832F951DE3B513B6E80978C0208937F608FBE05C2999DC4E4FFB6EF00B5AC7596B6BB27E120FB79B0AD4EBD5C616C362C46448ECFA71FFCD0D83E6A61C8964995E33B0F5A120A50D11C1E1F35F9441532160B93AF28CAF530F937AE9CC18EC8706430D4E3D842753F23E5524C0907643850B6F3C261B6A3B2599F2A2D7738D0D50A1035F94D7A33E7E6DA64261FFB9ECA5AEBD4A599CAA2B53ED0AA32ED7CE44DB648DBE0FC64D3E4CF20A9B40834A9521C87025DAB006317F2C1EFEDD537636D5F9BC4E42F1126BFAD567B355BFE6FAA63EF0F3A5B1B8B78C102F806D037FBC14DFAC17B7B8D362C15BF6C2F7526C4950A209235A1B08EC00E55CAD9CA8E284CB90126FF86744CBEBCAD6EE8F2A92CD2D6A0D52A0ABF0C31838FBB4BBACFA09065A1B0B14B049FBAA1CE3D73950208935FD9A83799CC5C07E14B63F498B75F653E1AD15AAF2EC917DB5B6B836B54A65E80BEFE28EF83F713C12741ABA0598EE30CA86B14206AF2F7E89B4CE275C94CFE29FDD511B930F93D8967733DFBDF8167AB15F02F7E29C5458A59D07A60AFBE7174333F4D8AE300A02B14A0AA393CB603797A4CBC55729E09CF5EB929D7265FDE5737145382D15E17BC1D4BC56BE11B7CDE5D1273C66994C1B1C7A0299C60BA8AC12DC2A9A31540984FC4DF1B23A6B90EBC1920E30F18BF3B10A0B2F60675B1ACBC1030F1B48D5FE5C3E11C6277B5FDC074358893B919DBCEEE868F10DD7C62C72A0EC4B10A50D1CC07BD07930F735F8F146E023AD9522471466CB9477BA538ECEBEE75CBACE09EBEFD55ECAF644BBBA1DD6710BC0F7F0B2B9A8D15D8B2DDB7BBA4B86709185B5CA210CB1F833CFC8B094D3E631D08ECDC8CE4CDF52289535C6ABB7B172B0E41130247B7C232D91EC48C62723E9945F49DE50B8C0BBB6B16EFCC510A204C3E62F9F3F088DA7AB024A1C9F7B36860E737C5635BF29EDB1AD4C7999F7D0B81A33764989812CE6011BEADA2C9F867597921618E510061F2E131B72096DF90C8E463D9F5A430F95BEB34E95C5B48C6F5D457EB6C7557D0AF5D08BFC0FED00D2A633AD010C1FC772494968DFB71F11EBF778402444D3E3C65A46FABA58C15269F947F82973FDD49265F4A6B0CB0E51EF6497BBD76A5A2D05D98123A638A624EF9773B42C68ECA85FAB01860C14E8BAA0073B1EB169EF17D5193CF49BE5666ECB5A8C96F507F5D30AEE4B8A3D6BAE043E453AA3125EC93350DAB378C87492494BE2B2BCF27AC680A50FD001F885DB72D3085F72634F9C49EEAADA9C3DD60F27B12525B6D601B53A209A516192EF8D00709A56548283D327111D76438F98015450190BE1DDD694477EC8C920E0A269F29CA2D88BB4F7393C9978E2506D856CB3E1C53A78D872F330FCB4533A6E8F829124AFFF2D927C6B6CA467EC671601E4F0AAA00C2E4233E3E979BE606CCF772934F6C0F1E621889CD184FE471DC456B7A2E5EDC045F660E14BC0611A18FE484F00B4D66ECAC6A0A4D9697E70E5A300510F1F04DCDFA46C4C7E72434F98C2DF3F75387B7DEA3FD25774374664B6D7581F53E553B1FCEE10B520A39EF1B21B6423CC892CF8452411400E9DB4B0D11D8E174A96CB02268228227B833AEDB7A5B8298BAACA2CB615B67B177870D50AB18537E261D4A346CCC67897D0F62992CC5C91298570510265F3C63870D941B11D51B28A315F3E15E64D4468AE089ACBCD4618FCD60E1B67AF5DFC087ABE0177C2A1B2F6E9C4A8E65329262729F4956294558DE14E098C9DF209EB14B64F231E0A77D7DD50BDBEAB49752A4B764D160FD7EA768482811FBB37490F0994C6E6EC4B2B9162B06B80FB939F2A20042538F99FCD13232A371724599211EC438914CBE8C17B1B0D6BB83AF0FEAA35E8CE8A134CC0DC18B845233DEF2B56AFC4F78BFD8BA999EE754018E0576EE45FA1621DDC426DF1F6017B5D7A98F654A7429D7130FAA207A78B3D8DF0045E8908D1581A39AC387F55DC82594C9CAD381F9D3414E868B78F60004769661793726191E34F8EC48279D071C9BA9AB5EC0CF8A440CB94394ACD174CB187FBBAD2EF8FD64D52A9AF56B3196EB92E1E4A20C73FFB3D8B16CBBE3C5FE06EC8598823E122D05BF0C5EB64109EE840FF170A6B4E44401AA1BC3D51DBAFE34189695A7DA49E12F12E793321D4CAAF53005BD9A02EE503038EFB4808EDD29D0920085ABA0F117F00BCAFB06D45B3279AF53565340D4E437EB0D1106939FA5F0138CD003A7C00128C1351F1BC68EEA665D58D6B48E8C15E098C95FC74D3E0F04387AE76B5A1C712D32FF5AA749DB2B9B8DE9E90C212305A8981FAE82C9174FDF8E4DA7330F37DF1CE0BD4DD35C52D1147A4CBCF23F95DE32F20102A6FFAF447E2C577AEE22CC8DE5F05A47F48C29C7C07CFD39676C96BCB467285EF673AEC929A9C3D7732B473140CB76D0B234557C2B1EBEBF3035E136372B72826B388D7302D4F3330FFE8F52FBC047460A803DF1D2BCB68C66BC5A4587A5C8E2E0212C8B1EC9B481AAE6D044F49F1305C030F688F707644A0BEECC61A0A52AD3FA47EBB18FC53309D9B5D15D3BA329A0BBBA77E6760E780AE076096649BFA7005932D0EDD53D0570BB04B3A4DF53802C19E8F6EA9E02B85D8259D2EF2940960C747BF58CE200851C3427760AB26219274C2226E1A397590522BA87CBE8F26C6841BEE4B49CD1D24D5556678E5700304CBCA6F59CAC4699ABCA78BF3E9AB27D5F2157CD17A31D6F0A2806D71DD4A7A7000E12463148F114A0185C77509F8EF701B067FE13EC8DBB26539EC1FD1B4E66A429D3FAF1F59416A6B007E361695C99E6F79119FD761A35F28EEA7805206E62DF7C50BC3022A303D9402592514D5925BE1F8FAC654C0BB28197E56A4122A32E1398F31540322A2CA714632D5D09664E32199D81F77686B137E1359F8F9607C653ABA44ADE407C0B9DA277D0347450056B731AB6481CC27B85FF842F103E191C436FE6ADE31C35EC3A0508ADA133F1B718E3AF88F2005CC7FFE29F319D9D747BC71A5A1AEC453F62A3E850B43C8FFF84D6524DA8831E47DFC7BFBD286881825E864F4ECC029DB5DA44FA3914224A621E49C9B869573981C63AFA478C546C273F2A7CD9B0394DC71DB94BDC99B2E25CC120FC1FE251EED5B1C28F6D1B12EF0545F8299460592CDC69E7AE5100FE270A98115A02A622B297FC00CE574347685172ACCC4BF5F5084C715A98620BDFD1D7D2B529E2161CCD350AA0BF4F3FC05D252C40AAC7B4F09A6CB75FC9BBE2117A184A96D2A64BD102F6243ECCFF40BDE4AD1517EA1A0580F0A7DA58C5683F9C2EBCAA95EEC5EF116B79844BEA5891D2BCC6D4F225DCFDA324D55A01C3E35CB4C456C6E954FD53F9A3F136DC02035CE304C2913A07775DDCC114BA393881C46B64495F831B8D53533C02894FB9AC8A836579D119A2A12023EEC681F27DA6F5A649703C3F47F38B3B56D350FCC67F96D674483EC332FEB88158CA9C75C929602508C41F7F673F8472FCBC0B0F0A91FBAF7748DAC4C3DA21AAEEB64050561B2D80D9E8EFA2B398BFAEB10030AD6FC1F47E3D965991082D3256D3ED8805F48302D4C69645CF19FDCD06CB12E00FD0DF3A0D4B23F87681BE8E16C10A3D0265A826936A2C18E2F22DFC0D11274E3ADC6401564B18371251BE1DB8D3D743394EB79663706BACB06CAFD9587A1B26FF656B3B5812DE0667EF15FCFED23645300AAB01DA68ADE3846BD72880A645975DEFA5C1B43FA81369791AF8E9A0DE910E3214A6918DA1FF4BA74EA1705DA300828170FA66A4C21830FC083E0E7903E65D3315FC747182936823DAFE552AF540CB4EB5172D4805B71838AE5100C19CE044FABDE2A32B70FA7E226641307FC1B2B03C388E5E4F84930BB836807E8876EE437F9D09DB63F49FB05CE3B13A488C93B072610A5CA5008225DA045A11D4E85C30FE41DC5DBBF1D781BFCFE024EE8085B85BFB0A0D576B6857BED9C78653B8D7249A0B0696A1EF65F87B173489A4D487F85D2B14B5570D7DC7A9A6BF8B3FEE590574518CDF634C9D8953F157D4E398B25D575422B2E8DC950A20C61BDA80604B18CB2DA4837119C64A600F2CC34A2847C2E9210B3E25AC8A7E95CEF57409560055F0FE07E2FA105E0FBF43FD026DC027233A1256744881EB1480AFA73EBA8915412761770DC48F7FBA0EDDA0506835D56935F43398E1BC38805D7D89DFD03A3A0B59C1DF82864B62E1485A917E88DEEA584737F59A90E073B3B1158A78EE2A1F806FA0C17A84FE2CD6DCB8D330F5C71F8005A10F0F2120D322B287F1A5B9BD82F0271168B10ABFAB17D0F255BC0F7C1368A9EB8239F1D7550AA077D2E360EC993D31124A302AF40135F4849769395F43FDA1848BD14FEF646D805686BF79C84AC6598864750A5DE61A05C09DF43D3053166295F20CE66136F2F669BF354BDA98051822FA29EEFCFE16B0F4124AA2202BB918B43BF2455AAE510030F0062B8731CF87B0F47B02BFBFB39601DF8FBC7DCEBD73A4834F82725D65ED0F13D23B802FC2DF4E6B19946068E706675A01F72800D137AD8C05F133101CBA2558435709E65BCB716DAB23C1490B140ED1302897165B090AA86305723122843F425AF822D0627B9611CF28E69C96581A323D778D0280C9275B0789CCDB8B5D30DC65C7CF636027759DE7EA37C2C8D62614E22336FAE807A1A2513F46AF58FBC3CE651BFD569C625CBB460130E7EEB332086BEF5A78FBBD61960742416EB796E34EDC6F85657B0D41CADA1C82E5E0AD5004165E1FDD0832D1DA0F52D636FAAD38C5B8768F0228B4D9C6204ED7E81FD027D805BC1FCCBFC056CE68930D962500A1E8BD98EFDFB5368355C1A3705443D89ABE0DB4D836AE06FD12FAAD8D14E1DA3D0AE0A3077047DBF6FD81D97E71E75979078BF086A6D0535678B6D768174F77D17DB276300D4977202139B558EC2390D52936CC350A10CDEE29343B1586411B4C9F4237B2F1743815FC747190047A027D44F722F65817AB0368C5BFF688572404D72880E00FCCEF2F7037CDC15D184EC42F08E6209686D70526505B229C5CC0E1ED4F435F2B92B5053A5F4256B086D5D0A7C9F08A59E62A0510E61771FE79F8AE601998DF82EBE379769C1FC644F0B416A0F3F038D67FE49BA9F0F63FC2B2EF0A247EA6A16FABD7BF0FF0B9D833305C1B6FDF3E966FDAD269DF75C9203138755C74C93756AC00F0C0C8E978894C583B9DF6B173C9BA5D331D5E64840B65137EC653BC854E350C3A4DF5E399C4B17440286B460D16B892F31580B15E958DC66D32BE54AD8D81FE91A8B231E6FAD8293ED1FE753B343308847A4E425A5E8869737B425ABE1183E58853C72B003E46D1076EF7C319732B87F7216829032D6519D3E2C08AAEF2011CC83FD793E42980EB4598DD003C05C88E7FAEAFED281F40ED0C1C0A93B12ADF5C8583FE764F7D20E6BF173BCEF24E0BBE02FB6A4FB4E4B3DC510AB0B981BD81C14ECEE780536DBBB55E7B06B8E2AFA40F47294049733A83C1F5EDAF5EDBA9539C8C4E1A8827917378A0716C5D241EE70B98E1FC6EA8CC21FD25DDD4CA19CC96FCCA74C072993213A175FE81B5D13033F2B297CEDA8F775D380EC8642A642F2CC03BB00003E348E1AC0AD749131D71F8492E4EFE8236C6AFC56F880CF6253D4915AF281F1C88CAD41A1563EF307C78B819112ECBCB1598818CDA88B63AEDA57CD0E2B559580EE04BE8FF800D2B3B70A3C7ED57608CCD577C8C499EA10722E7FF8D4FC43A763F7B6159E8DEDEA232842CADC2172312B2475695085FC178160217DFAAB71C701019AD00D2FFC022FC150624EF8F5B5908F02E33E000E4A5E08E3F0BF2BA0839C9CBAD4E7EB449C69EC31759AF3CBAC4F0A97751C4A88612F48DEF0FAB034E53D0D014ECB1F70E9770C03AD3DBC866EC200999E3882EFFDA67B337B1129C8AD7B227DC69636BC403B8930342C6907554E65D0A2046D2DE1068F129CA68E4BC3F74E7C83CAA7BE28090AD90B19075176E5C00E8F9DA409BCAB46F00F157F854FAF1ED565DC8DEAF3B39206429642A642B641C3B8AA813180BE83A1FF7633E20140A4FE68C576013C41034D20FFE4042FCAE7ADEAF033880080F64F63164B68F71D6160C06566E98C96C013F0750EA91E071C0E380C7018F031E073C0E781CF038500C0E38CAABFFF6427EF2C18831BE188C28749F0A29FBB0248B7D9AA0D02444FB8BDB6D52140A623AFD34620CE1112E494EC52095C8698499CF612857167B387181A06213E3F55F780E780A50789E3BAA474F011C258EC213E3281F403155BCF9DBC0CE9513E278FD8418A537488F031E071CCC81FF07E9E112B7EB024D380000000049454E44AE426082'), +(61,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE9000018A1494441547801ED5D099854C5B5AEBADD7D6FB3884BE2026E094F515C12F37D2646991946167990206AA2F2F99E8A9AA7E133C2135460661070665814718B91A851F173275FE4B98028C8303342F2F0695CE312371617242E28D2F7F6DC5BEF3FCDF4706FD5ED9EEE99E9EEDB4DDFF9E6EB5BA74E6DE79CAA3A55E7545DC6CACF1E4D019E49EB670BA17D7C270B65825BC6090605065CCAECD99C3B9DD5C65700AAEF15D1B68FE31770E19CC918AF1442F4E92CA3727CF028C039DFC19868115C7B3C3C20727FD3453C26D7521180AA06F35C307CA160EC1019B91C2E5E0A80D19B21105735D7198FBA5BD1210034CCAF6A885FCF9833D58D507E2F350A6837B6D445AE8630A08F33A6259BB7BAC16A28333F498D52FE75A65635588DC9162646808AB9B15F329B3D9904FAFD42626C26F0577E824F01CE38A6F1F44A7B888D6DAD893EC5ABD788705BABF53A9485A3E496219F770567B35848FF5BEB0CFEBE1C5F0E07970215F3C440665B2761A09F837E7BA45A53FE76B8423F8E57CE35CF10B6785C41E07C69FFDEFA854BA7F09D4A5C19503414387B91E8F5C977D61226C4D972A531AA9FA131878D932310DEB85F44BFA4CC7C1FCA1419887848BC249EFA54FD8C3066F5939408CE6E79621AFF4681173900BACE206EF3FF649C0DC79477E8AEE6F04DA0C1EAB02E1E5C332DFA769137D1B7FAC4CB8A86D82D68E78D1E04F03E0C620C9055BB9016DAE0412CF2006D6CD91F9B8B98C32FC57C18F2B6372108A7B4C5794D6563ECCE837A19534B71E4239EDAB6EDE52478AF415BDCDB0B652CE484FD860B19AD28C223E68BBDEDCD56B370D8C4749A31C5110EE6CB664A53148DCBA2927E3C25DE77EC03B8F3D268622881070DE4669BF9087AFD4F336E8E102722CDA39436E3344580988AA7BE025004EDC9A88A55732D6C6BB37FCF08D9858434A32A1BADF12E50C9BE96B4008091D3FC3887E5CFBD218D8DA17FC6F93D7E3818037DD3FAE21631305CC4754F5B75CCE387C5E2E6090A92C6A7B7D41A0B5CF015950DE6DB18F2DD30448B1F0F6B10873F5FC73F72E196DC6BC98E00A6DD3658E6167636BF1A51A3DF20C387D7EA0B31127C29C32DA1E621E3147BB864050086AD7D65E640B37DCFCF49A21DF69E8CCFB89A878253E480921500E168DB64DE40AD3F6AF4ADC290E104C39EF9D1329C09ED7305566280921500430BBF8661DDB39CC572B0EF375FC7A5B99EB16FB7C7E7539C87B7481B36C2309295F653B24AE0EA5AFE59657D6C1D2460889785CEE48A0673285602EB211ED8FB11A708E128CA22468BF54DD7F04FBD694B2F54B20290609516AA678EFD8CC236214E80D67F8267789090E020552F814A3258B2530071ABA536B2123D7D49F69CE3F7B7CE8CA882937D46814F51D20240D4EFDB4FBF0CBA405A6F273797B0547C6AAFBDF54BDDB0527E2F79015831899B236AF533183680E0E2BE3D3533F9768DF319C3EBF4719426355E69C594BC0010BB689DDF8ADDBF3E7DF41F32AE3DA7B090879E3342FA40B84CCF6FDF1350504A15B047084092792BA7F02FA0F92B4B3BCEC41BAB6BF8BF92787BD2EF1E25007B1263336D6B512F03E9304B53D3EEB30D9934DA7E218E0EEFC584E53FE11DED85661F6A3A95B7659FAAB0298A56002EFDA388AC6AB05E86D5EED86E93D07126B7B59A93BB9B4F757DFCD4A69991A6EEE693CFF4453B05BCB9CD9AD223CCEF416ADBDC51B6997B30FB9C6455940240767AB8B35F9B138A742353EC2EFE0CE72C7EDD8D2CF29EB42805202EACDFA3F7F7CE3BB53229D0618D74DA2A13D420E0149D00244E3231F1CB2010CFAF0E18050641D1FC8D5F5C10614523A944BCD36E107D769AE6AD2A21F977618D0F8984235BD5382FC48CC76739C2F16CF572AEDD158D44667B313B0FD971C6311AAD8151513A7BE75C3BF68FE2FE272FE3DF759E4B61318A4A00769A16567EACFD448F8B701ABBAEA956FFBB0B92F2B5B2D1DC8C65E0462F82D8FCDC34FEB11796590823520D4E562F7563A38EFDBFDC665D0958C7316C777C90DE79457D4C5A1533168D1887AF9ACE252215B6DA55F3CDE3459CBD84DEE6115A58FBDE1CBCBF7EC29D97F178A16A58596FFE2FEA259D3DE0DB697B39283B8CED4EB21FC9342A0A1D00F32A17717187CC7C6A0C67DAC46C992F5E64BD772E670FE3FF017A9789926D58D3341F1772D1CF72E275D9E6956FFCA21080A10DF18B55CF1E309FF3FB9AEB22CDD9102DB68A0D34B7B2F59806C6E3FF3FCCCFD83A826593878CBBB636B28673E6E33F20262696AC72820085032F00D50BC5F7D1FF7D3658F817A1A87E75A6B4C4BCCCD1E32F6616A611C17E944C07C1FA31C1288E7092F06C7FC3616D3A24D2339D62E432A02436649B573EF1032F0076CCBA1E84FC9E4C14AEF1694D5771C5F357C6A3706C393BCD5CC1FE0F3DFE4F60B272F03301431CE110AE5F1E9DC1D64CD75F01FB1F94F12011E741F1EC103839BED0E1400BC0D0B9F14A1070824C240CFDEB9A6B227F92E17238FE0CAB04435783C12BF1FF13395E0E130EE1521A4A2BC777160E85F59998982C2F9EC0096C36DF0B0B4EC8A35107A75A8C91B1E7CDADD61DD8F1F30CCB30DCB5F130FB2D84C03BDCBEC822E657EC50AC05E0F0C94E416F3FB3CDEEDADC8EF4C3907658EC69F63E2685C731BFAF1311F677631FB6899FC852AE369A66F00F2B1BAC3F60C4FA6F0F2D85180D435175100D4581158094C61ECE6E6E9E6EBC662E67F74002E8DE9B08981D8E7DB6EB2A5B8F5478B82005387B210111B2DBF86E3CE43510794F85404C65701243190C42614328C8EC0BBB327BCC18C32ED99D02772B44238D6D3BAD8B21B8FDDCF07643D1496E5810DE033905A432F6A0276EEA65E8B38970B804B73718D317FF061815CA82981B712A78427434ABA27F7A47DA8D99A6A7B21265A26CD4A18F9C8EF4128DB31B64384685401A8A02290016B36EF335F6687CD2B357D3FDB778B2D5D839FB177AECD4286783F4D16C0984C9A17F7A2718C5A167F7885B58D4D06F427EEAA192001A8A02270038AA3D0E579A8D957B10B96BB7D418CB3AE08A5F4F478CE7058C784BD3D88C2886F3E82FD8223E860673EF43308A231CC2A5345E8CEC420921E5DA1C39154681414E6BDC3365C838F90E074A00C8D80322F91A7BA0615FD11971D0A34905D882DF27300C4F0F85D98960EC6063349B0F26A77109DF9533E1102EA5A1B49407E5D59E27E5ED7DD28C42A12191BB21B4EF7A13904AEBCC82A1A8DBBB8F72BE5D0D074A09DC19B366A12187C98D0123EA49C3F6C07D888F9E3B03CCF3D934F2A4CC28A08FC2BE014BFC27F0A1744E830464BC9C23FF409C41AC85483EE62E10FA43A00C45811901AA1BCDE34028B2A0791E2CF7DE3C7A7FFD460F90023E5300168CD0CB72F37425EFD63A632946810D4A8D1C76CDF0B9EAE69682970740200400C33EB71DB1B8A78C3D79A05BC64504DD50140801E849634FC69CC91362D00D450517809E32F6E4899F5D2A26A5A18859F55DCAB00713155C007AC2D8D383F4C84956290D45304717DA50545001A86E885740B39E20533D53638F9C2EC8E1A01A8A0A260064EC6913CE626CFA60F5B6FB21630F34FC89B2B167374671BEED5AC67218B7A4A7DD502441F3162C9800FCE373729A548F7561797F0B2E727C356F14C86341E15E113887A8771414F244514104808C3DD810A14D1FCF835DB74DBDA31105EE412AE2405A435183F9AB4234AD20020037296CF7FA6C87BA8D3D85A0461ECA4C6928626C6E214E14E55D008636C64762C3E77499D6E8FDCF7B8C3D3242A1C3A8744F54810C45D07AFCCCC5839C75F1F37AA28C6CF2C8BB008479F825687D8A2F1FE6FE9F54CE15FB6753F962C585A25B25D73DA1FC469CF5323CD7E1BC0B40E2A084A6A9DEBC42ECCB1C4BDDF34F4101089162DD835EA1387CA6489E35D82F6FAEA975E82CE3AA86382EA614E3143C4DDCD57C4D54B11E2A783D0CC8BB0050FDE1D0B9043F2D725B4098F32BE7C687CA70BF303C023FF0811FE103EB1910674ADE29EA90B63C47D88A45114BDE1DA188715DDA84398A2C8800D01A3F12E113E147AF3A58DACE1DB447D0697B391C36A507A342A79EBF52928C83BE79FBD4215D86431B626311AF781B43B9B8A950D7D216440088486BA61B6F40AD5A24130CBAD660EC11A853848C1862AFC8200CD383ACE5ECE732BCBB616B253B09792B5F566561B50EA9CAA2FB8C6CC1E7C9F110AC6D7BF553BF6120E3E52A5C3001A006ED7B807E1D76FD3E921B871E5157552F7E28C3DD6163147B0B2B8797DC307A47DAFF9261DD0D3B6D6A9E28FB656324FB47A679E3CBEC17FA6D7C418F68C0C5948A3E9369BEDDC52BA800D0F9F9106357288D10A29760740B48278F60F7CB18E8A9175ACFE0B8570F3DED794DF0C94E29DB072701A2EF16E2AECA39723C84E8C3038F34D4ED61193187E1820A00B56B6D5DF4492C81763B7BB6371653C1183888A6DD1D33C2EC611031E6A60F468010BE8F88C319185BBAF9501EB6C36EA73CDD59519946883DE486A57B77B698BF435E87CA386877DDD273E4934432566EC30517006A9E11D1279326AC3455889BAB6F973EE4E042E2A3D8563047D95401CA29E8B9D7BA50BBF46AAD603331A70C911383990BA96C19EE17AEBE49ECE3083E438DE3AFACADD5331622357DCF400221007419055CFC66CB4D02730FB1BF885F27C3DDE1E80170D4E46CB31B46EF60D22C1CF63C5B86671AA6B4287FB60FFE96683873E7D0B66FADE9A8CD7E6A3E1A3C8EB1902CF0130801201A68438C9B3124BEA6D2435C71EA7CCB774E275F429CD5FB0E5EC3CAAA81866F7C0E6449574EFB521A4A4B79C8F5C1B981ABD1FB3DA315D543C6A3308C5E072387494A1C676B82F23D82C00840E29AD590467B039E5E015D20DC46B7834844AE6A30A75735580F9DFD9808C197FF11CCCB77C9844646BD007B0ABD79BC1C972A0CF7EF7331EC3FD99ED683068DFD6E94F5B01B58D168CEC281D0FBA81E6E38BD5BCC9C83A188EAE0794221BF1B453C28790B044600A8C52D35111CD814F7C8AD87109C8C1DC28EE51D94C36B1D21E6013EFED377AC7B698D6D1CCE7E87DEF65725AD6011F4E487622BD88D623933E4F86498E2D0F31782F10FE35F4FC25DBF7F330E6397BBC28C8490393475890B3E7DDB7AC06DCDAB5A600EC68836C18D9F78E77CE9DA19BAEA2AAE20E607102801A0261B9A310DE3A9622C424F9A4FC62230BF11A3C19C2479F07EFEAA46EB2E768C88636EA655C3C6645CF2B77D3A988233611B20086392F0E42FC1280E787412D86F38DF188DB25FF163D1A9DB9F8A86D81412C2649884D17EC17A24B98B292C361775F38C0A1088364D17B5C93441F80DE42D6115F5D64538FFAB8C04F0A67903BDED585FC27136B9B52E7AAB58C90E356DB60A8C1CE48B0720A60BD2359E6F8F1F06DCE353E232F6AEA1B3117CE46EC1AAAA8F0F7398BDDA2F0D98FC8466680B6DD36E96E351EEE296BAE844199E8F7051DD12D65217B90F44695109E3CF7C10F6D9FEBD8D840E00056D13185605D8AB6AFA5D106238FE27B7FFA7663EF2300C56E9663EE5B0B62EBC068AE71FFCF2C74870BA6D0A655F2361F0D18D8E91CB2F6D2160819B028808698D45129580FB74DF7EC6E94BA7F09DC9283E827D66F463156092CF2892C44AFF8BB4F7521E94978C49F56BAE8B5E8E1B466F96E376851D65D907BDA260061FFF3AEE82065200A86A096311578D45EEC660B85D76D020FD2CBF8F3CF10AF60DDDDE01CD7D1C66F58C366D12790397D220EDC59487BB3CF9BDA54E87632B5F20C3E530948A821A7CE4FAB8C38115005A5661417898BBB2EE77E86ACB4315FAD99D6DA5E2169027A221361053C224FCBFE7CEC3FD4E718413EDC5FE8DD2B8E3D2BDB7CE34A64310EBD3E168A1D00D8534F8A4AB5B385D64A1E26839F5E90BD603D0A2CF4D55070CD122D34FB4B46FDCDC8639FFF6B6956C88BD4BE93BA63DEF3743500AC3A3D80B1000275579E9E02D338D6BABEA4D079FA19DE587E7D8CEAFB1257C67D395FC2BBFF842C2F22E00B4B76F7F6D8DC0B2EE48EEF0BDD19371BD137F69F88CF0FAD93099256E076BB51E81B67F563AC240387E5135D73CABB9C6F84B3A3C775C3B8349B9F45130DD985D78E7E25BB245FB3D500C7F6AEFB0568F5A2446D297CB082771244CF053D0CEFE98A26298263E125C7FAEA5867FEE9747AE60795B060E6F140762676C16AEC8B818CC533664C09C4FB8D016E056D091C4DC4C1A0CA26D0EED670C6EBA9C7F9B097EAE70C8E0833D7F4C2F7E7BFEBB4B85F2F82A3634B1E52DAE86500CDE1D937CE334022D8BE8A266CDB4E8DB49684FFC167419880B1F4F3685F90AF6D727FA319F1A88E1B9BFC39C9BD3301FBB84DE071DEE10FBCB78C19756A90D3E527D85F811ED6FF8339F7005743271563CCE5FC60891F1F6B5B794EC42395702E99A77CC81CF62783C30BBAAEDC6C6726B51B8C2A8C6FAF0F5DDD0F6372126A5321629B83900A434F808FE1656085DD229D01B7AA1B33C98B8302B0775766799530120650EEE548F41E2FBBA0BCDEA9DF3F9586E4D25858F6BDA6F21049E991679FB1A8BB22AA31BC87166CE2686C9598422FC024DE31761D8B7E5B8CCC2892B66EFC7C559076486DF35AC9C2A81B812ED420C6947CB5523A28071CDD00736216E38700E9671284C3D1FCCEF70A6206311F6E0EF41D4256E7CE475322C83CB10975F050A1F22463D2E40FDDDD5814EC7FFDC6EF0D95031DF6CC3BDA20F00052A8BFC247C019F42C43E881D8AE9AF8F1743F4DB69C6A9FDD86FC8CD935301C09568E749B40153D9E721C6C734D5192F269B54591F5F29987D5A329CFC15CCF928F99EFC256391659BE340F2EF2761F40B21385D2ECB1D9F8B7794A9640BE6B77143D4242342B6F6892D6C95F97029B707E9C7AD3F67D70E66F53CF103BBCD7A02797AB7A685337EB6105367638594CCB3277F733A05A00F0F512ACBF994A63ABD83F914DF3233320AA3C13B0A2EC35E9CF4D0C922C1B46B247070825CDCED3EE103C5566903E8F2CD5EFD8C6392CCA7CAD3FD01E1083F5F6E0844ECA055F3CC2364784F85732600740D9A9FC61F32F467FC2ACF43FC0619CE851820C3289C301671D6EA17574818A6B61D21D9E0E3D3062C0597F86D5FD35532980A54DB030BF5CF55BB722600A188D75B37D900C731F74DBEBB7FE1BFB58F3B9C78973C7E93F120B48884392984F1242C08BFE8AD3E061F2D26D70DD5EF27C3289CF02A127C2F390ED38292878CD3D570CE74003A065D591FDB26CFD58EA95D86CA5EE5AEF0E85B85F1CDD7D604599902CE076E3CF73B198B7013E78598737D3654DC98F97BEFDB4F5F289786A9FB43EC71781FCEC68E5C2006C89FAAFBF4DD38A600F5DE847038A2E842DE0CBB1ECA990024AAC4F90A2C91A4794D5C09C6C5B9A62F6A9EC1B60D5B601DF3ED76F316E01F2B37039F855921C3DC61DCC4F9B03B1CC47787336A83D76C8C93D03B2DEB596C904D3CE088F03AF303D6FB2B2B7E81E388EBE53640C05FCEE5B9C19C4D01D4107CD26DB1DC2048B806A1982E6C736B65A3B5231E17AFA3876029A83C1BB5FEFA72055A6480D69AE83B58F93CAF565B1C6BDB76337C1A777C11B7BE86B2F87BBFDE0F2ADEA1A6ED39484E05009F745B87F9FAC194D5F5D940E9C0E5FCAAA68B78CEE6BE8E72F2F012E2DA54D0C1F42B2AA1284B1ECF493CA479E9A0A322B4EF91B327A70240B5DE677FFD520C631BB26901F0E7D145CBD9A409326EE2B3B69CFD06BD39F3B53CC7B5F74C3F03FE0E5DDC49CC8C223917003A00DA2BAA9F0A697EB4B32A81F1308B6A93605FEFD848E92C4DB1C4E3EABB07B8467723ED3207A7AB3768B5AE57C4F859735D62A7341D6AB7E3722E0054435A11B4D419E37928540D262F0311BEF3D49CA45D63B771AE0F6A99A9DFE6892BA1404B6DF4E968441FA8313E074BD8B7DC4D035DDAA02BACD6381FDF5CAB57C82B04376E4FBEE7CD1FC05D6972FAF8E7E76C405BD8EA17B1F5ADAB6BE114B2073E7010D9CFB2ACFE3CAEC79C43D8965CEA3CA9FC0172BB0C4CC1D4F68F3DE76C6D9BA2D8C081DBBD83121E4285AA5C5EA6804235AE5C6EE714280B40E7342A698CB20094347B3B6F5C59003AA75149634000D4CD09278EEFF1969F92A2803F4FB943E72B946353716E1D5752AD2F37065FBA56794ABCA71180FCF2BC8FE043BD8072A8E829E0CB53BE099B52EC39B9717040B8BCD01F3392EB540E779D02C44BE2A9920378AF8570658912C1840E93ED325CCBA2FAF4A9C86548802990E021780953B372ED0DF13EE1AD0A078DBF80E167AAED8082C8D9FF00E9AFD8ABFF271C5B32B766A999952179A200F8A5E160C911E0D7CFE1B88CABE9E9C491F470FE382CAE67EDDA0A0EE95731DBAA861048FE7AE4BCC1CE4446678A9C1A25A5CA9583DDA200F895FEE1FC4B463CC793908CD619FC7D08C9394173B24CDF8A726C9728408EB4E07582E74901A08C7071E1AA90A60DA7831B5DCAB89C28F014481CCA018F89D7C9CA7AE686B53591169D1BC7037131D9A79348E5DFE2A640BBAFC162E22DF1D8DD9A8412E80624DFE950622C161F8BF3FA9558421C8C4CF6833E90123F99AEFC1B000A6087073CFB023CDBC2056F8946234FC22947D9F00B404DCB552853A04C813205CA142853A04C813205CA1428040502A5D59FBE40ECF5A56D8D2A0421F25DA6C6B42D5892ADCF77B9727905F10A962B910C6FB7AD83852D7C8C53498CD2F9B5B9F3385A93F62EC47CB4D6B311948F02CB65048B02650108163FF25E9BB200E49DE4C12A30503A80E6E83B39B336048B4439ABCDBB39CBB99C719902650A9429901105FE1F560CE88BB1690FF80000000049454E44AE426082'), +(62,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000158A494441547801ED5D0B9814D5953EB7BABB7A188206038828B0F81609AE462509330801445440FC842446A32E312E311245549E0BC8F052D42F9A3509F105CB262A4920222F411D99594982ACC40DEB2A04230AA8C8C317D355DD5577FFDBD093AEBAD5EFAAEA9E99BA7C43D73DF7DC73CF3DE7D4BDE73E8B28086D5A022C9FDACFE25CD9BB9842F9E006389521816E3F24631663662E6E1C0D60E093BC2AB137FE7DC6CDD144AC9673DE3E17A120BDF224C018FB82883770A6AC08778B2CADBF89C5EC5C4A0630A04EFB3614BE88139D62470EE22D570250F4FB3088499BA6479F49AF45B30188667E635DFC3E22F3CE7484E0B9B5494079A0617AE42E1803DE71222555BD17EBF4BA40F92969B4E65FF3CE0175FADC540D932D40CDBCD89564D0AA14D0E917166310C7BF2054BE04183174E3D99DF6108D689C5AF53C1BF8320F271AF5BFC25938CB5E33D0D9C119CDA490FAA7C6296C973D3D8857AE046AE6F353C9D0FBA1A19F8DF7F60C9953F656B846EDC36AE769577183AF9010185B7E52B57AC3F289AC494A0B002D4602631EE4EDF61DD19710E763EC4CA355BF4A219346D91310DF7D42441D1728DF41322D0C247428742974EAC03A0C80533F2981D14F9FBB877D26C103408B94405297D0A9C43C74AF10A36EF6849012DA628705F1962D01479D42F70ABCC5E3ED550B9961A7E6C28E16C45B90049C742A74DF3C0F905E17251C0CF7D2E5D11A9E33E9D4D1005A4385833AE42781C000F29353ABC50A0CA0D5AA36BF8A85F343F3070B4E099B3D1BE3922C61E64CE2A9858C2C68654BCAA70E82B959B372AFD5FB510956332726CDEF5745A23D374E66BBBD6660401DEFCE997E1DE734126E676F4C471F97B34CAC6231E21FC30C3673622BC3A7447EE3B4CE9D938E8B083573E24388196360B943C1D32998758BE4220F23D680F32EA6DBD731853DFDCAD4C8E65C794A491FB280F788C5B577ED34CA620062C389B1479F0DA54FC03C75959DA942E210BA58E79E8C75EEFF2C249F1BB88316E8E7C5E3E623A0555B2A3DD4617584AB3F796906FB5BA9B49CF2673200DF7D80DAB9FC24E37D7D139ACABB4B55BEA8A8D8B86272BE6C405DECDFC5C29653E5BD80D5D46963E271FE2A6897AC7CC11FE47185CEF42DB573E383BDE037134D5F0D60E442DE819BFA0628FEA24C0C150B3739FDC878557BB8D8FC85E4AB9D1BBB0296F734D4565D48BE9CB89C7724D37CBEB64EBF3827AE4B08BE1AC0415D7F0C423BD725DE2532DCA4F13575FAF552828B00D1947293FD1AF5F04476475B457325CA9166685DAC463329DF9ACCDA79F1FEDC30C636979CFEC0D80AF4E54B4211756B872FD3C1F424FBF3E787F45E46825D68129F8C76F36C7B3A7173C1885FF2DFADBA851D91D25C006809B1734A7656E1CC7D8EF1CB7C464ABD1A0E6F6FD791E2998A3B7490A2E144E23C839943E1004F023D351D17B09362097D326053D2E15E3CFB66006498774B158047AF3076E3A669EA52292D33603B92B6C3917C068EE4CFD177DE6843ED76E8E3F875802DB6C14B8E7EAB8E9FAC73FD7B3221B63D1456AFAC9FC2FE2EA739428471D68BBF8173B5DF1826AD15BE4C3A265E88DBB0967FAFD74BF29E3463E91511CF7823AB31761B6A8743FF3F2B50F9CD24C4D0EF4BC7A9FF0AEFF97F9B81A907CEAF4A3DBAF91BE7F19152D3CF583CACB0EB0A50BE85A5FA69D1BF320A89F57A4B8061B7FF30A64932B320B910F1C5000E1F489C8FE6BA9D855F689F2BD19916588191B51398C618CDB567C3DBF34D3BCC9D3897E862CBD5EFEAA7A9DB4AA1BF6946E405E46FB0D3300D269567C72935EE8B0170D3EC66671482DB897D8687ECF082E3112EED5DC0DB73BC68750AA6952B03E3523D3893CBCF45C6299D3145AA078C5B2ACF296F29307F7C00C63AA205B0F2C9B82B9B4C958BA2EF988D6252CD1A3ED99F98583B47FFC40A2D35C6BBA30BB01009117BC70228328217629795320871EA5824B9BCB3F9630079B3533862E7FDC4F7396433B931C7015C12084B1507D0BD58822936D5B5E0E04B17D082E5D3EA590F0CA0D5AB387B050303C82E9F569FDAE27D804C1AC2FCC07AA449C7A133E1E703C742F40598AAFD4A3EB82D05A7D51A4084D4712F4D677BDC5444ED1CEDBF410F2381D613822EA0F5E8B2A89AF863009C1CCE17626EC085B07FB7F3583952ED5466890532992637DCA907CEF33AC9C3D52ECCA9F63E19009387EA9CFABAB181C3D0125FB3570CFDBFB67E22CBBAAA68CF93675CAE87624AE5E749CB82867932890EEAB1D782E441C4170308ABE1FFB3F32ED6BD8D57F56BECF082E3A62956FE2C01C294CAB3201419C18CCF9BF6AC98C11B2936BAD8E185C4872EC41433A341F63C4EE5D9714A8DFB6200F5F730B16F4F3850D660F247C412AB15987F6CC03CED6A1892640098AD7B2E7F2AF96386424CA20B63EB7E28AEFF347F2A56CC31CFF250535C7F4CAC5F5852B058168A449EB7C03C88F86200826FEC967DDCCE3F2CBC539CB4D7C5FEBA59581BB4A7678A8B851E78E4F3B003E8590907CBB3589B5F2AC15D00D44F8EBC865BD3FE622705E5DD5453177B61C01CDECB9E962D8EBD007D3E785B7F15EB24C3ED78D8F9BC5EBC3876B8DB71DF8681BD3B477EF5E647FAED7863CF48AF04DEA0CE308F677147D1E710E2368CB573F5DDBD0EEFD77B834EC871169EF1C5589BDF995E865BCF68C538366DDEC34D639D4493D35093B45DD866BF9B18DB8EAE21E38E20387C51F07E5EC2E45D253A490033C36136D939CD5DA86F06B0F81616AF99AF7F17771135487B03502728F44BF8AF06BFB96B980105DBB2FE27F465D553C1354C8BACC7A6D047D0FADC9681D11EA85F8F0C2C1ECD923511280A4D7D79B22AB53419CA2B099C77B35B5229C732374E51B73285AEC51BE2302C2CAD04AC9DEF44D33FB2FE56ECCDF338743D237A078CEDB75E14837AFCAC715A74A117B49D68FA6A00828186A9D195616203E0F5FECD89A16260689A57575747FB15BB2DABD032978F65C6A6E9EA58943B133E815E687E277CD0FA8298726BC3F4AA4C2D8B53B69261BE1B80E0B87EBAFA5AEFCED173B083768268B68BAA059C3D18D106DC7C7169C3F4E8951E8DFB33B226FC01947BAF42EAD968D19EC05F71BB9B187D8856F19190AA9EDE385D7D3463811E2594E56898BD2E49EF39A49D83814037CEB17B9893C55184A12C439E3F8B7CD85C7A18C2DF1BAA0E6FADBF831DB6D32A575C4C6A2536C7BF4626EF8156A1339CC0D03F78E1F7C3B789FE238E6E5E2138C44AC3E0A9916DB3F2B8D4393D6F31CF998E86F9E60466637AD30CF60ED2C51F612420B65D5B0D80D14634B94B447AA586FA412CD1B48EAA15834E572FA785E8CB9B6FEA164356F06D3100CC296C84A3B7BD615A796B54962EA0BC5576BF740C6599B686A6E12ED50DD0FA3C3CAFE7EBA98BFB25B94F31308012650A4577D7D6D27A9C4DACC3E82ED9ECE37748CCA06DB1B5747989E43DCF1E18409122E66B280A05DFA525683B5A80A112191CEFC25CC1EAA635F474D7E8DF313B5D9921308002F5C25FA6B0BE8EAED738BD0905DF87B73DFB4210A76F3FDEBB6FF5CD274FA18E910F0B2CCD7BF4C000F29431DEF8CEB1D5F493D811DA6918B4148ACF7BDE3F82034C634F7C8896F5399326749F40A755FB32C99757CD2A62149017A73E23E1EA877689C3748121AED265340C474FBE05A5679517DAF923C0DD872EE134277655DC0A33A2F3E2E45F9C479F8BACA6673107B0395A457F6683E803A73C5EC3B256C8EBC22B813EDEEA0731B77031E61EC250202629498502BB6887A98BF0EE933C42F3B902867DEBB13C35BECAA0BD31861101D15DC89FF1FA1BB40AA782E6647423845685C0C76788EF41894DC827169212E2AF4AA5916C287D82674F429B370008FC3C28BFBF906E52CFC7940D25E415A078713A7952D5E5B4362DC3BFF117E9F198460B40F43B69F08C8F284EF812671F65220D2D4E6A5ACCF5C7C0072852A478C3FF82D9BC6BA3C3A9AF4DF9498A6C30BDDBEE72FA6E2842E79B2CFC5BE01B4516E569B6A0052840BC78DBBFC09BFA07FC2EAD1A4EE2DC41CEA05E4A383A9E18135B03BF80D138DC0EF81DD0E89533630A01A74F538F5EFC06069045AA5034467BF43A34F027FC35AA5D680DBB108E5E1101AD8458FD9C2AFEF435F475D015D7C3F4C36F3FC03A1541D2952C8101388951C15D3F117A2C1AA2DDF0CE8533E66AC05AC11F4150FC258398364E987426FE1A5230BF7E03037092B4493BAA86D02EA7242F606C187D8409A64F1345B52DA571143881A5C9AFC5E70E0CA05254D8240D007DE12C30005FC45CB985040650B9BAF185B3C0007C1173E5165271A3006C12DD878313EF5844A670314FDE36435B98081A3C979F6886F44E3CC13A6049E651685AFC59C2C005F19A2420C163A4F0CFE32175CF7F051FB7B4C8A89848D95A804BEFE7ED639A7E07EEFABF5933B51E47B750625E4CAC83E50A985567A6CE6BEBB42D3845733FCE1A78724823171BAD21BD2C3E006E0EBFA449D37640F97320C41E45091297F6E150E6C5F8F0F5729CC7DB34F0BE4CE7EC8AA2DE6632F96E0003EAB4EFE1EAD80D98073FC94529D71A9AB665D0C2D8592ED26C13A47C35808175F11AEC9E7D028727236E4B179DC729099DADAA99EF78D58ADBC5B51A7ABEF900C31FE6D1CF3ED59641728E1B1CB0DAF6018E576D457AD6E3E13861D30B2385F3D1FCB7B76B01696790A12F027C9C3D2D883B4BC03703F8FC33ED4798ECEC6967034BAEEFE12E8C1F1CBB32DD9EEC1817B76AECDBA14FC2F1ABD93004CB891B18D20D03166A8B36DD1395AE737124D6C681FE750126BBC92E6B287F5FA82A7A4121CA1734C4E95C71841ADF1B1969A70983089971FABE1D1EC49D25E08B01F4175F0B23FE55990536BE7E12FB5886E707118603237A4CC2E63442826502385C61079A276442F70CAE64285397AFA67393075F0C001E9FF502A4640DD891AE67AA255F828417FE1907819C819600BD41EE00AC031296ED74B294EE0120C1AC0762451130C404BB9C3EF5A0B86692BE1840C2D0E4AF77307A4334E5CD9C14F9D0BE7D58BE7D0C5FE11AF4007D251F9210C05B763C18C5D97698D7F184414E43588937B7F9F0C500148385EC8CE3162C57F6BA1F778AF39E7925663D8E6D2F3F15C7DD64C97B075271F18BA6A33F5FE7EA3C453A79C76738B463ED09E043E2CD8E536ADC17032895492FF3473BD12BD0F847E96560922AAC9BF42FE9302F9F631BE954F030D85E06E63696DB616EC7DBBC0160976F1C7DAD989FB0044C58DD2C4E005B805E4534FA318CCEEEB3ECC19983BCB69E97C2966FF300A530594C5E7CE0715ECD1C2DAFAC13DF6E38FE81D387D8717BC68E6EE39E694F7033AEADA73EDCA01F4B1BC2182D81619A6E96E544ABD51A005EA751187A3A8C3E6431BCF1690DBDF1590DF5EDD0684944BF3C59DB404F4787CA77045B108B8C88B71E770C2C86F22D53E3507C1CE70CE5E16D91E564CBD6E6BB8094707EFEFE22D1065B4625E8835553A7A7B0653BE321CF54FE627EF5B5242EC4FA863D2F0CE38176C38EDE99644F733B1E18C03189EE6CFA676A323B3CE920E08BB526FA0F873EDA01357F10EE11BA0606365FCA81A9F1AA30D549708F00E53400BBD3535415F777969CA7A2E8884C4FEDBF572844BAC603CABF06F700DD5F34615BC6F87AFA2694EF68540AA3DB7150E40B5B16CFA23EF9002AFC29AB4306019CEE4AAD36EBCE74145CD546ACA0FABD14BFFD83F1EC8E9BD02CAF027F96B90B18C19D38E09980673E057D34928B0B4D6B69A091A0152020772B70FC40FFF7C5512E2E5741022AAE08A288424734BB3FCBE9D4818B78A752D602043FA6C970B8D2A60FDCDAD9302D2A37AF7954005A592B2E7F82FFFDA01D1D46700FD27A62787823A668AD166D4776886BABE95A5C08F124B8755A127FB5AA27FDD0219BA7205FBA00234E079277E1DAAA9288690B6CA082A2625FA149E60C874C8D0EB0BC4138FAFD109AE2271C33E0C28718A75760086739A63B00C57533C07F0053CCCB32287F37FAFDD1EC5C72E5DE61071632827C3180FA594C9CB05D2771C1691C3EF07C9B04CF03203ED3D214D39FC2CB7F9A84CED90A09562040ED49E3D1D4AFC990AD1FCADD862EE14E716B58069C2438BE966A70DDCC36BCF913D182C87E0F662195305D210E8866A3E3555A56E6DD2C9487D87C0CB2AEC676308B1038990FD7D6C546E1F3E94B4321BE3561A807B395ABB0C43F19A671D1C1B83611783D255C46EF76382EF26B095E2040BC8D50EE28DCDF235A82EBEDD9A14CD1872F42FA6D78BB1F8C76A027594DF29E1F54911478F9626AF76E1CF91E62CF9B8A4310BBF07C697458F2EE8014D8D75F5F2F8BC636EE27B04C7B939735642136C6CD6DE2E2AD152300FCDE998D6F285378396FC1BC0FE3B92FF0A52D6BE9F981B32D5A4DC3FDBA1D2CD365D1BE7401A98A77AD566FC522F76BA9B8DBBFF033EE7353F9823FE1F1E3768F49387FF0033C675C9B47DFAEE0EF1C740DDFC8A57C74044BA38C2EF14BF9D9E4ECAB012C9FC89AA28A7A1904509F8DA962D230E49BBF699A779F8B69379C1EC78D217D60042F14C35F320FA3BD5818BF129747DDE0F5468F7C79F4D50004532F4E6507C2FD31BBAEB0E978BF32BE51F956006FFDDB2146231B6644A7E2192FA177018EDA7B680D8685140C031DBE2198A964D17200FFA1AA76746ED565B43A135E39E0BE3981E9951377EB233E17F300BF4CC4E263B1E8350A4D676FCED889B9CF0CB023D0F35E7C39E28F68495686FAAB7F38462FBD084F9FD5E1B404CDFC52387A43C0C304147619E2922C9346C2E8D1683B7A0ACDBDE7DF322AA6D212D3C5102936CFB149A0E6C3A0621FDF2D8B6541A6D3175F1F4B8F97EB59F806287B83F8E3AF5175E2005D681AD41DFB0854287E3FAE7F7D1D7705EE29177FF9965B5603B03379AC09AF0805DB79CB163F7675DCA66C38959AE6BB0F50A98268AB7C0506D056357FACDE81010406D0C625D0C6AB1FB4008101B47109B4F1EAA305C005E6B680D3B5965DAAB6E420DA0225E0AC536662DF0397D6A1E34CEFD302EB18B09C45024E3A15BA172DC07B523ECE2E916001A0654BC051A7EC3D0573D9623AD31270A0E2D6DAB95A5F0B3088B45809085D0A9D4A1580EE9510630E0710B98A459995B8CEADBF942900B428092475085D62E3ACB41155E81EEB16E28BDDDAEFA1F0D172CDE020327C23075FB7C0F7ED7662F5437218E53C01A4DC1280BE14EC413C1DFAFA3A96AC4641F9F2709FB1158DD3A3571F5D0C0AA99370BBD6401841472BF3C8C86934088DC601C620B41009405FD903B6CD93D03942D2321AA7B05D3092B1D8FFD4E256E2B2D73448952420740C5D27759E320081D43823B231A42883B1CEBD5FCA14005A8504846E858E85AE5315B2F40DAF4C8D34A82CFA5520FE027BECC4AE9D20B40209085D0A9D0ADD0A1DA75729E904A60352CF3875D325168B8FC095CCB518429C0C2227C01FC8889FCA17FC56800430C3039D1D84CEF630CE1AAAAA22AB5EB88B49137E15C069C0422081400281040209041208241048209040392450515EBD38F27DC8D0879543107E97A990B20743B2CD7E976B2FAFA2CE057C6AE8278B6F00D9996C8D718399E20E83ABCB5D37CB4450B99909CAF75F028101F82FF38A2A3130808A5287FFCC54940FA0986A13237D8BFF62284B893BCA526A50682081400281049A25F0FFCE0DE132F3F3CEFF0000000049454E44AE426082'), +(63,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000220C494441547801ED5D097C1445D6AFEA99E949B83C1114415D7751C4FB5E4842385CD445D7135D5D57D95DEF5B5124090A9B04F0763DD6630F3C5677156F76C583232441C155BCE5130F944B94552E49A67B66BABEFF9BC924DD55DD93C9CC6432E034BF3055AF5E9DEF75D5ABF75E553356787ED423C053E9FDA8E962BB90603BA5825BC0C98F1128E2ECBB3937F08DEDB5C69501CA6788A2C89AF06FB9B04E668C970A21BAB75750213DFF468073BE8531D120B8F69C7FB7C0A375E378486EA5C2006535C61920F86D82B1DD65E4427CEB1D01107A1518627C7D55F0497B2F5A1960B210DA9C9AF02D8C59D7DA110AE16D6D04B4DB1BAA02D78119F08E33A625BA37B7C6AC29103F311ADBF2AF756D598D599BE8616C0628991A1AC3A26C5602E8F60B8E8932817F8527FF4780338E65DC97B4A13E76426345D1BF79F97CE18F349A1F4258D847CE80723E159CDDC47CFAE2C689FC0B39BD10CFDF112899267EC2A2E65198E8A7E0BDFD99DA52FE89BF44DF9F974E354E1251F19C82C0F9CC5DBBE9E7CEBC86372B6905C0563302A7DF218ABF6E321F61429C2E371AB3FA491AB3D8AFE404C457EC18D07F5F20BECBC86C6520A221D19268EAD2743080604729099CFDE9C5097CB3022F00B6CA1188D11234551A0FDA6B8CB3DDE4049FE6FBAF0C2BC4B7EE1170A52968AF415ADC4EEE9ACFF2BB4D17325A21BE158D801B4D89F6AD7A007B5F347F61BB671F8F6D21EC45535706C8F70E83735B3598F9DED67C6F9F3FDF1B48ED1B3635FC73CB8A8E63829723DABFACD60C945687D6C350B5082A8FB93ECEE7D45506A1CB283C1D1D81BC66805FDC2ABA3787CC87A3D1E869F18EB52822E33F3B437935068BD5988810ACB4DAF8806BAC664485FEF464CEAD8E0EC48F153F6F9780B21AD1BFC9301BA1C56A217E721201EF00CB124FC2A6F16159AD71566199483E5E89D4BC6480D39F123E8B99CF427B7570A2A1A9FE82110681111E2FAD355E25264A35DF8F152F2F19E0EB65C69520FEE1191145B05182991F94D498E76454CE369E39EF18A0FC4EB13D8C507F94C79DAC9180DFCA7DBE12EEE3837D1A3B1E5AAC5A7274907113F1988E43588F96D6184F97DF277A24E085DFB611C83B21D06A0A9F08C2292E6820F4D9F5931CDE2C1FA31BB3B15CDCF4ED32E3788BF1E9C8B75F5BD7DA42809F1A596FEE3DA2468C9957C557B7A5746E0842EC2ECD6173086CB37B5B96D69F33B193E0C2D098B6051BD90F7C4C2CEAEADD4BDE3180B0C4A90A59387B4D76654AE0CC1C0B3F05C666C1AC3D3BBAD0B80C5B433837A9DA4D92274C6E2C2EAF35C7D455EAEF26F267F317156B73A7454AB9151D0B55C5314D212366868D6F5AACB8760D110BFF281241E525D5C6DBDCC7A63754049FCE665B522D2BAF9600F24D806D62B4DC78EE66C89090EA86F3484355D15D01A60F46198D52723C2A58BFA8251ACAA6868E774D4F1358562DF6C23273EBDC1A63B58846EB2CC12E71B7C1BB55200E83397E26F2CF20675C378CCE84E51503B0456C77BCBD414787E1BBE6EB165CE8802589D014EF1F1A1CCE389F8EBFF8CB67C307617A88287F61588D018FE7CC9ED2A9E1612535C68BD8B17C86768F47657DD32D11F9CF8BAE32FF996EFE74F3E51503082BB297DC1190F0B3BAABF906199E2C4EB34163557022D3C489101EE11AED7CC0047EAC1B4F0EAB099DE04C492D06CD6469494D681EBDED585A5086C8CA38A25D2795D586AE4CAD15D9C1CA4AC3B3D314C6303DEF29978541592BC3528D93CF9BE6E3C3B184AC53F2081180E03873586DE83825CD03307CBA31B8B426F40A3493F558C3877BA039C0A87B2598F0059A91A0A9BC1EE1091A677F06D20A07624B044ACDCA5C2E057925046A9AD5CB9294B818B04D6E03952A6CC144FDBF65B784863293BD82C175CC30B4DC58823F5B521D3EA17152608E5799F0AFDB815BC69448985D8C69BEFD31E3FC2DCC0AFFF46BFCA5BA8AE0FFB9958BDDCB155F2F8327B61037D8D3D1C6DED69AF058C01EB5C33B2B9C573300B334128C1D0F064499C21D082944EAAF2FFAD4A70787408FB05446C70C03C1CB7AA1BCC674553CC1F0F45B1E353F1516BB9C960E397F220E46DD8237FC1E10FD002C3F47345615DDE1457CCA43BB97D832C5D9FC4419895F30667922DCD9BFF9C500F19D91A3CF9842159D800321C548DDF57C6D91AE8FC20EE173358BE81665D68B76D531CE430EC0743FDBB2AC4740909DD43C710808FF1DD37855B76EFA8086CAA22B3ABEAFD76628650BE6CA8C0A5E16009E1C9D85B2D32942990130456E9F4E416E795E9BC0D780B0234261A301E903EC3898697685EA7816348625D6F7E1B34311F356ACF33DED38F630BDF1580EEEECD14BBF75F615E92F537E28842228C8FE4059B48B3DDE99E1BC6200747C435C5BD2D665C1B9E2B2D696DAF1104ECCAE289F264646A3463D11DD59823828FA3DA67B26FACAED68C58B6F2D67E85CAF985BC9BF6985A71BD0021B9865387273C19D5B61476A762379B504081FFF52EE1E54C0FD6558A6F1BA89FC33BF5F3B0E32C10F725931E2CBC09638F0DF81A66A08D6EEDF6785F854AE65AA360A8E735A397AF28A018222F0A5DC6FACBFDB914E5D86671A9F7F83FE9EC6C559501D4BFB0E9792396FD634367E64957E785D95BEC805236D509469FD94CC82AD51609D04C82B06985BC1BF737B2B8D70649FCEE83FEF1E6C8050E8BA4D4BD487F6BC0185D2C1F59545B7778EA751F4C0445D895F188A5625C29DFD9B570CD0D2D9E572A72DA19E5B94713A1A87C3C881912DC65B10325D2D88541E969F75D66EFA6828949675B4FC94F12D7EA40BEE7B2EB04E01E51F0370B644EEA910D611322C93784C056CB18510F4F64E560E84F3DEDA1AF3A1643899A491E713DEF69172199A26DE90619D15CF3F06107CB1DC5948C53F9761E9C64B6B435747057F1EC29E2A7CB9140ABC334B6BCDF35C923206AD5B16F93966A01D1C0561972158F047CC001A5318006FE2E0E3EE16BD1C03D5C108999AA1D8B91F1ABD3B5C8D371878ECED1F76130A2188DE4D26DF0E56D92E7A9445CF969160FC7AB3A182ABB60B19314BF1BC9B017C4302EF43F00A39FB27B4A6CD11F510AB13C93386A9568F2C349FC2AB75911B12297520E59FD650151C07CDE3140547889E16371E9D0C870F252D4D00B5094E23A4F3773E9A78C609E8DC58D63A94AD669229176FE8DB727951CB52D64A19C72D4EE7E3D72E335EC454EB65FF5FE3E7BE33823E7D11F923FAFAE9B8278991A6D0F908563277AA39C1094C3FF6CD3213E7F5C58E7209012BF8AC0CEBCC785E69025B3BCAF9AB20D8D0D6380538FB25FE7758CE88609661F68747CD0098E4FB23CF00E041C52BFAE3EDEA0361AAFBD74D461F087B014759CEC86E612BF2EFB009BE339110530D69D00D60BEC0512407AA60D525B5663F00E152C65772BFB542EBA1AFACBB54552839F2B94450C1553218E52E983789BBD82A64CCECC5F392017C8CBF1461C239150BB13F84B13BB01EEF8981DA07D4E91FF9C1B0E9EA5BF43948883F82C9A6E5444AFBBF96EBCC88BAE1C7292E4D5421C030D6F7068357D07A30D90AB46B29AEDD7A1F8CF3BECF1F7CAF6E0277DDCF97D7844B2222AA187CB014DDDF7EDBB28B91770C109BB24391EE5086D2BBE890D485655D4DDD4F1020BB4391416971497E07B4EB20F87B9E4925454C628CD037984416E2FCE242A6690BF7DB29B0E4A10B7938C2A237BAD4F66D9F81FA732EF04E05E50503C061E36796C9A09B67C7ADDD629663EB051BFD36F008D607EC7A0A38F614B83BB18FBF353795569BEF40AF314CE99DC6EF868F002D42397DBA8C016091DBD38A9A6762A53DCB32C401D4EBF89B9DABF79B9B90F89B513F361DAC18537B3239214B4411BDC0DC2AF119DF54E4D3EFCD52251D2A26A70C407B71EB75F3149CDDBB2C12314A3BD4522F64186AB0775E854D3C4CB3D641E0229B5C10CF84B515D6353E9E6981C78B03AC69C878D62CEBF5492B672C67DD421A2B8E18ACD8D2CC628B73FAEBCE23D60CACFF3F753601B572B8F66787717A181113E719C3F7D457F85F457B73F516305E528D7BC0A5A72810DC83ECE61238ED281DCBB2D69B97E168C46520906AFDEA40C9189CAFB1AEDEE4E3EC1D9F16584E062452126DDE642E00310E568BE2A6E663BFAEAF487F7B5532CD3C8C45C49B98A31CC221DAB284717D0C1791BDF0661F8ABF4350FFA1F81B9C3E63F04F50EE5D837A07FE46F282DA9FF420E4E1044798AFE4DC9DCA00204C70CB66E32248E315A8B803265D9868E33601109BDCAE6D0FDE0EBF4FFF096CFA5F1294EAD8BCC978198C554E71C783D9C1C7C5A90B2A8B663BE06944A045BC07CBC5654A56CEAE84FFDFDD76382979BEFE3C7C00341A8732CD3A4458BC0CCC33D88ED35E18CBD372C1B49B4655061E9767ABF6F2BAA57B318083A3DD32A60B2BAB0997FDB0D1FC00C4BF0B65B44B7C0880FF03D1FF06F7E9B1DDBBEBBDC9B172D781FA6988E32610DB830D7E346A9E45109AB6F1E6FFD395F80C0295D04ECC06F1A9AE1EBD829520CAD714763C825797DF020F22DB43C25CE344FDED8649FA5FE0277809BC87A0C3E04D3694768360B6BD180EB6E2BE8345E5B5C6FEED66481321EB0C406F64496DE85E9C7FABC394183B1BE7D5364C751BB16F7E906BBE517DF709F6C59BF407107EE62BD7F0EF294F5C2A1633D5FCE2FCC950CB42C3773F6608170D1FB770DEEEEC64AEDE6A99C92131BF3FCEAF51B144AFA869DCA4C2DB2061663C8019A05B1BA435047F84E437B1620C8F8858EC6D5CE35F053904EF49769FAC32C0C85AD1076FFD7CEC852F05613C1B0BC2BFA971EDBCBEDDF45D1B2B8B2E6AA80CCC253769B7AEF999EF31198EB763CFB9B5E613F83D5F4EA338CABFB4330E5B365406FF8559EA35A54EC1FF805D8D2424C6B140B8B3D1CE63E53C984D5E6D9C5454E6EFAEEFC6997605B6224B659CB6B8D0E113518D5BBE9FA56B73DAE09987B2C600E4526D08633138D6D3748B4ECFC3858523607439AABE4A7F2495AB68EBAA028DA0E8877257F1369C21C328CE357E6343958E37AE731EF8FD5F010673302BFAECC7B25423D7484B03DA494BA0F3C15B2F7CC18B0948C7DEB054DC83F1188C534CA7A2EC254EE4B618EA39A9D930EB49E86D836616CA0A038CBE43EC2884F90AD6E23DDC9A834E2DA30B1D707A77E482CAC07C379C6430186AFF9C2C3D910606BB176F697522EEF56BBCC4F63366B31B422FB187F0773FFEAE6A9ECDF6F4C2B7C3E3873DC40C3B8CC282B1B15055D30EA0F5C1D23003F09D5B012D01B4B35ABE7D1D632468A7525FA91F0E2EFE2D70547903F9C1508742E87D81965AB9DC74E2596180A626F35170E720A501E8143A765BDF81FA01990863BE1D038F6116487A7731A6D07FD55706AF50DA600388B7B0CF7F89DD0DA27C08E1741A2D21F8BB087F7762DFF10918A352CC6FFFE8972F109C82FA42B6A28932F0E4B0A6276065D5E6A5285799FAD18F7707EDACDF96C0937F89111AABF4C72074EE8BF0E3727A2C8E1DCF964DF47597CC9F8C19008690D3C1959072A587841B9CCEC5747F5DA62A4EB2B681C19E946A688DE26D7975D02E3ADE1A6F058A788D6D677CCB96802897E34F914FC0145867594DA889CD6D8F095A8C3CF7B436201110EC9861B5E1E17488D4E2E2D60438F18BF6193808724E2AFB7B123A3176BFE15CC352A17A2E4326B86CD834336357B98C1900233939D1C1C42F7514D7A01C4BA77313B04C7E2743E20791D51906856280D6E16D39BDBD410D85D99F40F87D52684799D91CD35B2445157E7D1A66810D32120873230E913E8719A1584EC31531551D3D3A46F20C9C55CE91CBC294A35911E1665452519340326200D290E1EDDF4F2E1F13FFB5F555817A199E6E7CCE54731276164EFF8096C260F4E5CD3D63967CCFE2B1BE9763913ED713414AC06C5085A5626F09EC88620D5F8F2DAC320D631928C76CA56C7FC1C0F5232A8377380A493182A5ED0930BA5BDE63333D33911103C0C2354CEE033AFA599F7D025993C2CBAAC323407C6F4E176C676B55F8F7723BEC712C0CCA8E01ED34709AF73E2C068F220C9AB73D982902809FD206710FF9B6D7EFC114E45454B9A06246FC0E72C3D99333B8C134E80FFC11F3DD267BF160343F5D42658775349C1103609ADFC3A5C297BDF6F42EB84941B48DB278F4099AEE92215ADCBA2E76BF900712A8AB2C1F58BAFE58741CBBACF878762EC233E4AC609A7D65981C27D90478C9AD78904B7002E91C2FE710B94CAF387D0514ED6C94D32179BAD14046F38C271D58CF5C2D09987E751907CBB5F3A4A38C90621C4B0B8753C5637837FBB49B05DBCF4863D8659D6CCDE96F0DB504C014AD6F2EC2DFCBE910080332CC2DEE2BD6EFC6B6ADD92DAD057673263B207BB950ADA9639B623BEDE5D8C319310084A0AFEC855118B3290C1F993F38B97339883F4A2E09D3F597A8F723190E53F064CFBDB160CB657C107D72F37FD81F42B3D9D5A8E712391DF12F5C600A4817AC19F9B7280900A09D6FC09E51E596D65118199830B6472BF9786656DB8C18C012DA5B7283B02E1D81C317EAB650464C122F9F6A60FAC52D5FD243BB0BEED34E81F05523255174C00F9B0D3742C21B8BBDA8E08B9881EA2F744E00CCD04D4EF7F9937F4791F0C91805CD1CF6EA96A2EC6929AF315BCBE1DA4FC2174236D9556EA7A5E90A0D649C64F18C186054957F1ED87CB55281C51E268F1F059E0280D6F26814F7E3B86CA3E05B37B17EA2FECEC80AFD2930C3FB4A718257BAA949F563D9D39839EA147C0F002E719AA18F666F7B24B78271C7CF4358AA7ED50A90027819CE4E269B48E89ED1D21AF348F45DD52B30B650D6287A16E291901103B448B5CAF6046FD4CED188D15076B3A1085F1EED6805475F37AEA659A415D0120001E742551AD3AB53BD5C1313651C1063279887AF93E124E563FD1C875F87142DE3B5C4BFD2035816DA79A0009B86527FD70EDA6ED185A62783B49337964C6675F4EB35FCA9AA5F1FF7D428A65236E164C40054C0AE03837FC25AF70E85ED0F9860772BCC169335CC0E4F16C65DBE7BC07962B28283AD16B651E7E1AD47B1F1A7BEA2E82510B43E114FFC4252BE5AB6CF535AF171EC4BA633F2D851F2B4E6E5EC9922CE8EE0C7B08D0998DB2F9D2F04F16F704B5361E26215D63E0404E76535A1F196B0607D548D3F188B1760F17CBEFD92926364CC00B4C6F97CEC2C34E83BA52A3A5225C43FF0358FE752395B1766E67DE8ACB21EA3EC6BDCB6519AE653888081EB1E354D457EA0B6158D625F141DCFCA21139C85A5EB49FCBD853F7C76863D029DC02F91761A3FDEE54E415BC7E8FA79D0E6761BA82DC835C5540CADF3087C9B79601B52FB21DC677C30AE8E5D809D08A67DA1ECB4D0DECF8B83FA05ED97D43E46D65CC270CDDAD1F8BAF41C22805BB59825E07CC8EFE35AE0F6864AF8F5490F5DDD1A15E259094CA2F41C388A1CA3C05B00C45C58324E92D371AD7C79434560810CCF244E770CD335B3A84FD95682491FDFBEB77EC1866FCDD548DFDE590FBFB97152506156270E63E41E2F4C3E11C2DEB95EBA0FCC706B853F38B4A36B7FA7BB84D1D529B8E3671808A60A85E82906A508D2F2B54C98CBE131F4C0F0E9E6418901B8E041BAB553DC9288B7FDC28DCA17BCB02DAE86B80EBD3D77719E8C5AF753B96A8EF420588B8758513ED39DF8ECE541BDF571B32EE44D60F247941AB880FB3BA4108F87AE9EC51BFF2F107F29F0C679111FFDFC90B3E0908E12DFA3DA1838E325C05E38F9C1711E3C024CD06887DBC3E86010AADD0BC361EB5D747A3124DC8BFE6F9D39015CFF533B1E85312DD7B4D7D9FA09C1A5E02E1741540C5ABA4E1508E53A528993200617B79741187579627C717130785AC218E5D7D8C34A995054954D8B3854B624EFD01A8F19EC63BA7A16E37206FE7C4ADE1600669867F00DE021F593F8722F9C74E0595B02EC954F863A706E4DF8520CD854BC313DEC69AE6112EEA4370402DE7258F906C12CAA6ABFA4424E7850745BBFCEF8188CB087230926694DE883331934F8EA8F8681C7C3BAC797EA3EBD945CD3EDF5628700A614D065D81ED81DB00C3E84361E8BBFD3D06165A763C3B607BFD5347E390C424FD9811D0D77FA12606F106DD3C8CD2918D00783731FC69FC385CA8E1B0B4BC46F49FF1C4E0F67964D370E686F2F4D532F5E9DCB5DCA2DC6E58FC975F54AA63640E954E3249C47A4A3E5AA69377609B43E5A263EE506F33ED1564A3C0485D3C5F818C67B78CB6F4E85F82433910530E80BEE9729F1E5B6D8E39D3203D82BA030E9034498DD04CE3F159D570428195F8ED36000F681D0C412EC5C97F8055B52DC2BF0813C3B780A849CD3E50FCFC8E5268BB738733EECD65E12C4B8CE47C4961F1442075FA21B2307B1A838140A1B1C10C117D9858B8754B20A5BD262C2B2261EF1FB83356E3B9F148A7045F19A0172C200891691E3287C07B12F16E76390BCD4A709F4A4BFF15945ACC129211C0B63AB30702B21489275EE7A940F81D3F64030F5EF10DC37D573FC38C089F68907508E2A23412701C7D3177127414F30427F107C77087EB859D45BC8B3B524597005EE1CFE7390EB7F759B5592654C252D2F1820D150326CACFDDC3C4144D83F14622590B2FDCB19CD22B887908C37315FFC2678F13523AE215E0CF2619A17C560A49D314D6F97EDEADDCA435D1B50EFB398EA9F1859E19F4F4BA71B5E36605E0CD0E1E9381B8D211F41084A5070486F6A360AF72A43309A15FA61E6C113FF9F7E5AE3ADA096400CAF33FE83F54E13B3C078B37BF4D4E72496B186CACEA8ABFD32BB8401A85950CF5FA40C353EB4E0E7FCFC28DCAAF0560EC5344C5BA7DDDAEFC6D68381B77E3A5CD7EFCF9716770903C42E843098E2378005F7AE964FBABD8B01BA8B0689AC8A387471188207E20FCA237120D6DC3DB3B0E6A2B8EC3D24934097F1194A7C0F8BCAFB3E21DEC77D84BF467BF1677FC4B188FDB8194084F9691818FBA860EBC4BFDBB7B7FE54BD038A9333F153C05F02DC2AC593E387B111C62616E96F69744194180001101F666403208B41306304EB29159559947CFFE2F700E11B406205E6B095A86705D6EF953ECBBFC21ACA56C76F386BAB06CB5C11F23818006B7E691B46D787BA6406C09B728ADC752C094F26B469729A1C6F59373F079CFE5C1FFAF092B52A32046E6BAFA85B396C2BB9361BA76F7F054654257D94083FF4599A4FBF0277876DECD99D3525D66AD7CA3C809CEB8D42487A2CDC2744E708E9CA7A8F6C3905E79C014A6BC5AEC2320E977B8913C2FF906199C4EBC6C57407F3B09F9F0286AB769605E153445D4E15C7B1F04DE229F852E964679E8EC7C8E8857B0556A2FEFEF6DC512BF67DA2BC600057EEB73736EB616E0E95CBA4E97FF844FF62199E8D386EDE9A86721A52290BED30A076A56F144F4E053F151CC82B8B143CC15355032B59B30DC83D03582E173F0BF65A67ED81C95FA1580F9E8949BD3D6FA0359AA60DA74318D91C64B8842B8C0DDB42DE3040CE970098840F9607180A99376458B6E2B0BAF5C3E189BF60ADEFE55926671F077970043470DF78E2A49900C1F463252B670315581701723F0390942E3D7EE1531D3C259C74A225D5E63878197D841DC17149F373BE575484957625CD9362223C125CD67ABE8BA70B7B8AE5660B2DE70C80CD5F3FB9F11AF3AF946199C461C5DB8FBEED8BD9E6EF29A9752D510CE5D32CFB770333A9DF9E573B22B81CCA1F6C266C0FF6AACD5B9C82A12D35A7C19C3300A644A8809D4FD89792B7AE33934BECC49B454F3899DC0AD3EBBBD87F0F774189835CEE1A0063F6C557C05F1A39D5FB23919EE5254988E906B85825A35891C80019D615F19C33003A494619C7138832EFF5D981E91EA1E914DBADABD69BC61778E3C763CAF77005C39D819C4FD4BBE983C0880A51906F7FD3325F85E124ABC620EC0436282DD7ACBE0AAC0B00396700087CDFC9FD0C6B7412A8E30F297BC8A56CF3466319F6DA77E22DF6363173BE0837871D82FDFDF479D7F0D5FE80360653F30F72AD60A043F1D5D097C9C62FA7A51B8792CB6507C2BB4000577B907306800A154E1DD263F1DF4890A45192EC31D5DF185D6DACC0968AF4EA9ED329F6F65BE0A173F5A84A7D28FCE85B2572FA6E203ED90435AD8B095688A3A3DF1BFF2657B3A40D493551A88C86250A9350D73F396700E8D115A50C54B567921346B2E128BF4DEC4C3EF998EA6743B2FF0A6F2A69F87A27CB03E23E1160FA3EB89CEA2E373D03DD6002ADDF053044380D132814806170F19E47F526AF238554AE9EEA81CF7FCEC7DEADA5399F86BA15071FD9B285AE5473BE5DD0D93F04E3C9EFF05ACC22230B046538DE58B87D8C0D46F8D048B389533D700A8BF542A197B36F302BE3EE822B714BC9EBCE0435563F49FF1B2E74F25B1C163A5464C700631E150D990BA1BB1F9DB89AD69E9E6A18C56E1F63295B0628884C5BB4CB8239E742BA0514A37C9F6B8F31F5E2CDAE85F324EE05B01EA56B66C100981904CCC1EE461B6739FC3DEEE327D335B3A9103F91174CF0A026F8E589B8FD17ED1988738E6F944D23064CF711CA4C2534EDCB744BCB66BE9C3300351E377A5542005354A4E9760C65BD41972CE242A543D23D2F0726B80F47C6AE726B03E69BBE22225EC7F7822E704B4F062B9D1A23BE22A3F8FC7E4F4B66B2F2B29DD6250C40665FDCAC3106C2199435E93EBC0902DEC3CCAF1DDE302938842E5944BC9DB521795DF83E300EBA6A97A09CA88C89E5A0081F217A10C2E713A46F90D33DE3967A870F09A675D7F3B59E797298D0250C40FDAB1BCFFFD77760F01778EBC663CD5F9D4A9FF1A66F80C036137F6377D845EF0D57EF71741A2995BCA9E2E03CC3FD387A7E22EA70BD98124BC2AFD7878DF7E8CC406A658A4B143CC1E62AB02E02E45C08B4F7B3E5F68CDB7186EFEEA5FF8B8C802078343665FB03A71BDCAD83F00B5C07E6A0AF817CEA67E2F5F915FA4799BEE5F6FABDC274F41C57D494602BF01F4C29BBCB78904BF6C21980E7A06E7E2DE0D7AEA32DA58C43719C0A1E23A2EC17721A66BE8C4EF9C8E56512CFE9B9804C1ADA1579C9790587599FC75B7F64B2FAC1946FE26EC4BFFB026C910806BEB2C2466F1CF43C198C520DE1D5A9FAC671359CF1EBF3E204F71926593D99A4E5955B78261DC9655EF2E8C1B1B4A191D7CD4ACC4C55AA6B59BC35C420483B12176230164EB880B98B2378FBAB734DFC6463D6653240B246E5531A19731A2B8353E0247814144B1F65D236C830EFF886E8CA5D3F99949969DE0203A438820D95FA929EDBE98761BAC7A7639CA781532902C4FFD4E7D7C7C6AC83A964C8114E81013A30D0E4198C9DC7545CCFB2076E12BB0E026A6A1E44B8E504974B1F952F9EC0F62E77E92EC0DE90AD29FCEA757C0BDA7B1BAC91F78A35C6F0A8A58DC4AE652460F86E615C9D8C596223E275505EFFB56162F03F88BB0B055DDCF1020364408016D7F3D92882FE629FB03337B3ED61760ED1DDBE89A2794522947FBF600032873AF5EC906603F9D7D4FC6F51CBE191D496851C77C79DA6DCC25226BE95DB12E62629630ACF3634026E3425DA4308C41937F911B8EDABF06C5B23E04A53BE12FE10EA77F0A0D4B814AA503A8D5B78B68111205A124D95AE80F6B0A2C2B8A23C505F0AF17CE9D4B0728C4B412D00F27A046234042D1595345A4DB48F79C0C013E75910FC64B5271010397B01488B7067DF67D8C740602C3CF93E02A09706D7F89F825E47C3A0E57E029AF3E7E038734A7C1BE8D3C7B3A8590E26D8C1D939EC0E043B19059D0CAB56E1D94A4600F44AFED05D0744733C314D60EC364EA18D850D9CCC1985675B1E01A231689DB881B555154C5FDAF669DA4858ABD66DCBFDFF31F78D684B34B67F55BD950168601654041A741E3C00880FC078E13CCFF6631EB9ADBCEF444BA229D196686CEF4E4C08B4031261FA206128143E0127794AB185E8874276843CE0899FC857F8CD83118086073483F7355F0D479586A2A2C02CD82F14855F1EB4B4D084C2081446A030028511288C4061040A23501881AE1881BC92EAE9C4CDFAA839BA2B0622D775E2F0EA6A6CC93AED72AC54FB93571E419BA2663FDCC3EF629C4AB53B5B0F5E94E333344CBD3135D73D702882725D79A1BEAE1F810203743D0DBAB4050506E8D2E1EFFACAF34A06D02C1D9F7031FFDBF5C39293167C9A935A0A951446A030028511F01C81FF075BEA28D96C828F0E0000000049454E44AE426082'), +(64,'image/png','img','89504E470D0A1A0A0000000D4948445200000080000000800806000000C33E61CB000000017352474200AECE1CE90000162E494441547801ED5D0B9854C5953E75BBFBDE0104041511E5617C65A351D7352AECCC380848D08846B3BEE2E7F34B8C9AB89BAC2830838E3003A2F962D6FDDCC8EAFA48D61893DD44E30659C2639819111F31599575033E90CD8A80C16110A6EFEDEE5BFB57CFF4706FD5EDEEDB33B7A7BB676E7D0C7DEBD4A9D739A7AA4E9D7A31CAE26A9A133338A5BECA6C564B8C2670CE0FCB821A82CB90028CB13F13A78FB8C65B19457ED5561F5BEB554C2603CF5D9A986AA7EC0739F1B3E5B0D05FB91460C45ED122DA77372C8CBDECAC854B006A9658B710F187C0FCA81329FC1E1C1480102489D8ED6D8BF41F656AD42B00D54DD6ADC4ED873301E1EFE0A50023EDD68C10A405A0A7DB6F0D5BFEE065BAB366A227C070502B86837457DF33E67B74FB6C8FC6E841C6B4579816DD1A65643B130ABFCB9302494E1AB79327706E9F6D73FA2E86F5B1CE928A862E780ED8392CADEDDBA9354E04F1CD18B51233AE6CAB673BE4B0D05F3914A869E64771DB7C1625AE914BCDB4C84C8DF1D4A57200D8BF2764BE4A954A848806CC34E38A344FA50A8869BEC63953244374FB61CB97A855C15EC14BC153B90AC2C6A371A2A3E5009B6B9B6458E8AF6C0A083D4EA9010C7C9AAC2008A46834FAAE821C022A9A024289972B20ACBB1000D585DABE4A934A8764E3A9A700547A65C3F2FBA7402800FE69352831430118946CF55F290FEB9FFFC8E58039F33E3EDAB453D3B99D3A9B713A92333A44940BDF16AC59BBB194BD39A2C5D6B42C60DBCAA1BCE556868A1580BFF9398F7CBCC5BA2B9EB4E613E723056131A5EDF92FF30D08FE25B9C56B9ACC9F11D3FF3EB46F08221D74153904CC5DCE47EED862BE88694C7386F907ABE4F1056B1770AFE2DC7CADAED93ADD0363C8822A4E001A39D7F624ACA7D1B26715CC354E47A7B8BDF2BC26AE18BF0A4E6B9044A8380158BB3471235AFD457DA53FE774944556EF8688BEA63358E2559400343662871BB71B3D89CF688D46DAB7B5085D2CFE8869D792462BBA77C148312040E72EB3BE244187A4B7A294C035BA793CA5D4B50BD258637BBD71AF07077F52D7643D99226A810E6038C35349C20A19BDE6840DC5EF8AEA0150D8E35526B1CD3317EA4B547837A4A541DF846EFF877238233E4D860D457F4509007176A8CC24866DCF8D8CE5D9A9A4B5C8F1302F9820C386A2BFB20480D071CBCE66691B800C76F999ADE04037305D3843D453510260DBDA1E994F68C9B3EA1EE44ACFE0C48355F072A7BFFB9BFFAF0A1B7A908A1200A6A5362B2C82F937B9DFFAE98CA5EAC9256133A86936176013E4D79478C456ABB0A107A9A859405BFD881D354BCC57C0D0B35DACE27C8E99B2B620AC1D8B00DBBBC3D8E8B5CDE65428808AE28863532623FD19571A43D4535102207884FDECF352B6BD01C6A0DE432DDDBCE36361F69FDBBD202020E99581EE20F5FF7F686D60E11000BA54D41020F888C30C6D58E15BA4F2D4278451FBF813F5BEC7F7994DA5A0559C0008C2C2E8D3AC31B6008BBE79A67F6E3640F35F39729471E12F2E67963B64E8FA2A520004BB5A1B8CFB28C2A6A13768C9C73E1C72D986CEEEC6190DFA452FDECE3AF3E10FA5F08AD3019CCC695FA88BADCED36B9BF844A2C47918F72742E91B2570A021609ECF76A082AFAEAF8FFD0E8A1F6F0F3B7E27F9D2DF152D0099DAF428744F65FCF22F6B9021A13F4381011380390F71A32B45C38675514C64DEA5EFE3A352234DE3583A803139952950F83BB01428AA007C73058FBDB32BF12DCCDB6FDAB7D73C4D546D5FA67E5D3AED11BDF41FD981EA25E6AA2863CBB070F37A2638FC1D180A144D09AC5D6EFEC57FEFB2DEE2643F841139CD7CEF2AF1E108BF3449FCD59AE6F84375EBFB773B89D83320F60B62F957B21378E73ED4A145E901607E3DD5B6A80D8C4D2B64BE889CDEB747DF49BD644D8209F7D2FC2B7CDDA982D9FACEAD896BB8CD2F03CB6BD6707324FD1167A19B59021B41DFC22CE13922FDB17033A8371702EF01C4864DB4BE5F17C47C47D910F7E2B5CDD63D0E50D6CF739BE373B039F41DDBB6FF05C3CC05B00E1E5CF5E33C86B4CE80602C266E6D85502E126B0359131BA2018113041B36EF841576B2373DD9011863DEC1F46C737A6E8EA999371EDD85FDFE93B284A5C1B54DF13B5236FB0FE4F5B95C78220C82304208C2DA26EB85F31FE023F2E10FA5F04005408CBF60C8AD3201D377D63176F95127E9A3DA16195F685F649CD2D65075ACA1E947E0F0C6E3323E18669849EB66199EF1D7345BD7E3EA9307C0DA82CA2F7A890371EBC7483FD40F7A8819A80EB06E24F6EB1D70DF4723F241CF7B65FBA298720DCDDA85B8CC90E8268CD587812917F79429F3F3157CD4673C99DFEA65FC7394B21EC9F80BFFE597D63625BE857881EC0CE62BC9C05CE61816A1617A14939CF3683B7AB76C3D5BE1C52D728C825A50BEB2441289B10A0E636F7B31DF85A769CAED155ECBB8220E4B5ACDA28770C5EFF66C4FEF048E1AC71911E3708D22B3A100FED6030FDCB11BEB1EE6E923645EE1F9607C33E95D2FD24DF195B41ECCEF4059DFB593F4563C4EDBCC17A913F0E7CD957409E065DFD304DA0324EC6495C702E307F9081AB3A3DB2C6CF7753B3E5C68F8CE859B8B56F0E11DBB2C65730786988D878CD2E748767EB1E163357A1721300BDD69D338BBC39A0BD84F25785E6FD72A9A1EDF464F027192573307D38560CD45D8DCF88BB4C9FC0D7DD3B890DECA9B70891002ED01A23CB25FAD073F35DF989BD4BA8D44CEB860EA5E27F34558C7EEC42918C75D420BA5321E89E8D749CCEF4D0A4BBF770347D9FE0D468921A6208796FD6DD82CC550965341ED4D94D339D0365E46BCF37B6165F611A8004428B15BA91F6604B88A0E57D07A3BD1CAED145B2C874268DE94611AD947CA30EC00DA8893BFEF2AF01E80303363E7F0D3723804E0441996CB8FAEFD2A84E31ADDC2F650209F1118735EB056D159B9D22F5598AB35F5B7106BEB0FD959D314FF00953ED69516E7FF58D3641D0745E95F478C88BD17EB22BE3F49C32D32CFDCB1C56A829AA85A0AD3061C572A64333E5A2CF3B99DF607B75FF57116018E34C4303E5EC5F486F0D534C14CD00A305FCE3C1D01C01442706AC93B1CF174DBA667F97AFA229B4E9F79E7521A68A03D40BA0A5C5BA656257DA4EB7B76D27E036B027BF75866A7699B1F739B308FE7A7CBF8D0A2778F8D198F2A701E89C830C4F71876DC58115BC501D3743756769F95A42630F1A091A90715E5143DCF8D06A3B1C61C8A56311A87EBD8E603F6899C1A84638A19A7AC3DA18C3F50FEC00560FC49B1C74198D6FE54000DE96F7F7D17EB5D37EA4F5AFD8DCBDB0996CDF431325752A8E31B988A4C1B76213DC12EA04EF86DFCEE362EA0E52C4662A38A321C229DBFCBD64BB8121F404FE00220C6DC48957199B0F6F5A51E4C6377B73718CFF4256E31E258FB68265A3F16AC0E3A301BC711E87AC1F083D0835F55E7D356A6D1B507213D5F9C26582BE914055E4240E00220EAD27207FB64ACAE4F8526EF9B91E8923FD134F6F5B67A634909E9A166CDE90B2A90D6E59BDA19B369357A813FC971A1C254CBB052FA8B2200A242A20B6F6B30AE8E44B5B3D2C7B4B12F0F02E1D2C4E0DF8FBF8D1837E71D32DA38AEB5DE28785E5E6CE2A1F52B330F08EBF67CF9A6870446AB143C4E9F57602504043A0BF0AAC78605BA98838B3F126B051B47EC1C26686AEDA7544B238B7BC52933D801B93C100A18007DB92D0A16A3131458090145170067DD1A1BD3DBB8F36AEDCE3865F0AD68F498D74FF1532EE8095B212CB21B7A0220F6031EE8889F656BECAF30E73F020AE2704CDFF6E0BEFA0FA3B6FDD2BA4555EFC9542A173FBAFB771526FA6DC51A6D95CD0FA8D714D803A2B00724CBA18E45ED0104E33FDB67DEBEAFD35A8065DF31DD6B642069DA41958675449CD080BD7E23EC28F35A1B621B7B02CBE7C79B8993FD30511F45EF9B1D1075878108DF5118958E4505B79643258BA604CE5ACE277CB6D76A83B1E77E90604CAECA8242D36C6EB78993BCB9F04A11A61BF49E98F639F37630D10956BE716CA50B119599007A85B219068A220075DFE787C713663B166EBEA450252B00D6429B2F15AB7759514A1080AE3A0E86AB07497D3211FD9D574B3FBE0455F1CCB22802908A9BCF8268A29B2BD8A1375858BBD4BCB4E088458C801E4065A2EDB3154311548AC67DC65522060F085C00D0822F03F3CFF32A6A7ACE4FAC191B376E03511FC59FA725CDB6F90F84FEE095464960D8F0A1E4ABF964A297F090CFB84AA6C10302570231E689C510C9310B56BE5B5AEB75D7FE3F0C150B535DD613182ADC6BF35842DEDF99B812893C2525541AAF60A24B0B4031FCB6E2FEC41D80DA06DA03A0D58E82C277A65C6EB4F47B65E60B1C61323E749C7E05C2951686A1E012399D92F9BD5AB1C7CD235EE5832D40A91BF026F3D7BB8FC879C5194858A00210DF6B1EA5169E756257CE7215DE0D79E16676009B46972AE14CBA0646411838008B7A8CE33E998835E7F7A008DACED2A23389983BA94F3A92339D20BE0315008A6A87288562FC0DB142A8C01D80588CBFEAF0F67CB271E288970A1F78889EA0F73D99B83BFF9904AC189A60B83A8B8894871E10A800D89C41E025C7D9471244F126B8AEE0600888981FB8976195880304104CC4CADE76253B9F3301088F3A13F01957C9336040A0021070D9CA2B39AFB1BC3F3301BF4A6491A9100A805F027B2982B67A059D67725EC2E3773DC133C1E080A100F8A5A59700F865A2575C9FB308BFC5EB2B5E28007E29677B8CE33E0D3AD80DADEA0062168113467EB32F165E28007E292B560565C7713AC80713F5633C67119AF5A7FCB30839CBA0FDA100F8A4A831893E8036EF9ACE627AA7591FD171F9926027A757BD3F94F1B8CF0525395E90FE50007C52B38789DB65749EF0A9087AEB01255F160E0540E6682E7F7F9858A63381500072315C0EF312800A9F09840220333997BF1F33016C8D579448E810E110908BDE6517165157F6B0F7C11F1353AA0040A99C286E1829653DC31EA010EA7B33F1186C10C5C518B99D71A4F72CC2D46862EE98C50D0D05A000FA6663A2D5957F3ECFCEA40416949483309AD6FDDA7901C5081435148002C8D9C3C46D4A14466728300980A102B797E2B2883273A10014CE90DFCB51B0F55D6C5FCBE9CC55345B46C04E28DC66A9EA06325E31FDA100144EDD0D4A1446B3C5E5510ABC0720B67F4148EE51C2396D66B3A9A447E5420150B8921B6068F4EF68B9AEC3A1E8DAA338F5F81C6E05535A39B4FC51E62EFA0D5255EE08423A3FC99D5BF14303DF155CFC22973607F665DA815BBF9E4029C46593BD0E42800DB1B4AA6B25BD0CE07AB4ACBDB8CDF48B9014715FA0C75639FAB3AED163BD0994E82314803E10DE18460BE207680EA24E56A2739A0AD8D4CC2E5030DFDB31BA03C2A4BC84EA8D5C3C683804F481B6382ED61189D26530E47CDA87E838274BDF1F36879EEC4BDCA0E38402D0478AEAB3E977D82E5E0B21F8C06F12C04D61DEBF08378ADDE9374EB1F14201E80785710FD0DBC6183A19069EA5606E47AEA410BE0657E15483F94D62FA970B7720C3421DA09FD41647C091443DCCC14B6011FC0A382B4E469D08168B4BE9F781F1AFB318AD3566D13BFDCCAA28D143010888ACE2183992FAB79EBF80522D7E32E110507C1A97750EA10094357B8A5FB850008A4FE3B2CE211480B2664FF10B172A8101D018CFC7CC80D62F6C02A722B99C3B7C304BF814786F6066B0B21C6606810A009E0CB35D1BE7410D54D675D1B217BDF594783B40759DE3B089C2E17043734A9E41E306B6BCE9DB1E3830D1BAD27664E3FB93AFA1C34C8B1EC14A5FFA191BBF937BE05D8DDC97E1118AC5FA976143C04DE3BE330D18315001C0916E756993A9EF01C875B034F32FDD472E84E0B08E961BDC57C9329B77CA4466CC56DE1B90D3B729A5E0E0BEA28F65BC42FD60FE3310A45985C613F88887872D09AF26A757161FE84B1A41C4095407884593CAE2062A39A5AE29519DABB0CC66D778842BBB687197E04E190F3DC0B4F4537272408FBF11D78F30CEAE568239A9F7F82A48D9010756D2D7FACA7C57AA10020C21535CB001F4042A00ABEF1CBE034D5761528A524FE0C5CE715EF5AA6DB2AE43CF718512C6F09A88E4860F1BF6367A86A40BCCF9304A994F657B064E3C430BA3DCD9AE38F0A0DB55D2977172F941B8F37285FB0D8310191800A6FBC50F1A2FD02100DD2AAF59623E0E822F701614953CBE2B6E6EAE6EB6EAA35A6C1D1E58DC113793A7E1FDBE6FA0555FEFC4EDFE66165E02FBB10C5F3D8FEDC753F3BF04FC725718A7EAD4A7E69BB8697421E3FA4B48BF33914A9E91E2F63C089758B67539307FB736467FDE052CD0833A9DAC4461F4142E85DAA4C01D000C6137C0EBDA1C023D4919A21C518AFA19A80088921A317DB99930BF818A1EEE2C79DA6FDB2B92B64949771B76A2A5BF2148FF8497C0B629010044A37A7D32695D8251D475B41A0C391603EB331C436A3CAF7AA72D6EB98D7DE695BE5F18846827F2743930F25A00BC8633279E72EF11D252AEC8714628E677A0438028E89AF96CAFA645AE0613E50981BF7A30F6FAF8E1B185D990C513717856E6B66CE1F9E028D7F3ADF5B187F3E1E50B07EFFF20E34020D00160F76F8E3F398EF0630AF09A177C2060810B8028F486FAD86FD11AAE03B15D7BE7F25508E3FBEF19D3E7FEE27B4CACB065756DF5FA631A63E20672A90D668D920E404BFBCFC818FD1A94ABA0785EA9E224C8A3D077C4DBC7FD7228D3BAAA39B4BE5F89F4237251044094A7B5C1783A42AC0E4CCDFB6CAAE82D408847706964755B3DDBE1A73E48FFBE08E1C169461FE6C567AC0B792C1E7FA271617FBBFE4C5EE2C12808F90D28B73AF5CD20E5F945FCF70D836E441AFD16C83C59650D2E9A00881C5B1AF44D331AF4D3D1655F85D6FA2BE8DE9DBD25412B84706C654CFB414423F19CFC2DE2D2C8DE701F1F1B1AAA5E1839CA388934ED6610118F341DEC39BA858ABD893C96E8A49F80F78BEEC9775FA18F2C5D285517D00B009C86BC9F83202A536017B2C303FC6DF8FBA111A553D90C1F02EC881BF427AB5E1257A4AF2A664CC658BE3DE8CC447AE23A59B393461E7F04EDFAE79B595E75ADD032C02630065BB4ABC69F40BB826678BEB2F0B574346E85CC690A3692D4518ACDA033EFE3937085BFD25B063E0BC847A49E479E3BD7E543EC6378FB02D6A78D9A7DCCCE150DADF9FF5C800AF0147508A880FA0F9922DA490C521E0ECA34DB2BC3137672B20C0BFD954D8194969C24D740F05E8302A068DD364F9D292387FECAA680274F397D84155C526FEAE6747B36DB7A65936168963ECD4BF054AE3D1AFF6B5A444C6124078BD694D41EEBD1BA2738EC1DA1AB640A081E0A5E0A9ECAF510BC6775EB7934F592B5198B2627CA089857FF0F60776BA46F6A6D60EA9DF74A8410502E14A86DE213F12AE33928CF62AC917C5E2E17C6FF2D91BFD64F4E6B8678E8E9620880D213B823310BC8305B87AEDC2980AE1DB33BF762995C6608C025308E3DDF3B35C032EEFD58C69D272386FEC1470158471F685B64DC296AD66B0780C976BEC6B487065F75C31A392920782C789D81F5F60019406D93F9759BF3FBE19F908185BF8382021FC1E873A758A473D64611001178D10A3EFCD3DD89EBB159152F78B26AE80739EDDBCE04C3EFF2A100C6792CC7733CE1ABFD72CC11B127BD16DB3C05C05905309F4DBFB763B41D3D74A41E8DE7C577C60DBF4B43012B59C5B564C7BE96C6311DA52941986B488190022105420A540005CA624CAF59627D876BB6BACDBA0208D8D722C622DA8FD6CFD7FFABAFF1838A37E01B423C0BCEEC0B61639CED1936488149C657A16A2517805E43D020A57358AD3C140805200F81067B702800839DC379EA57263A80F633C6F91B79CA3AD882FB753A79B01123AC4F8928F0FF39BF360896F2BA910000000049454E44AE426082'), +(65,'image/png','img','89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C000008477697A1D000000813494441547801EC5C4B881D4514AD9744F30135934444C4F88911852044211A45084689662FB8D18D2B3F1B71E10734240B7F20AE342B377123B88F118D0862A2060948C04F6224227E301F1549A2C68C7DFBCD7D537DFA567557F7EB999EE1BCC574777DEEBD75EEA9AAAE5B353D98CC7E8E3F22D011020312AC2364293647800423113A458004EB145E0A27C1C8814E1120C13A8597C23B27D81DAF1F74FB8E9C22D2731881DBAF9B709F3CB6BE510B3A27D8E0890F1B19C64AFD4260F2B5BB1A193463046B6A60A356B1D2D810D001A2A9FF5A136CDDAB07B2C64CBA434F6E301BD5D640532813670C81B6FE6B4DB0C1531F09BFDCE42B9BCC46B735D014CAC41943A0ADFF5A11ECB31FFE74B7ED3C9837F6D347D6BB5B575F5C6A785B034B029930A308B4F55F2B823DB3FBA87B69EFB1BCC14F6FBECABDB8F5DA52E32D03B7BDF77DA91C13FA83C0F62DD78C8CB1FC37CAAC71D38A6057BEB0DFFDF8DB995CCDEA4B97BA63CF6E2CA94403855CEF1F3EE5EEBE6E79A92C13661F81BDDFFDE136AFB9C4EDB8773858A0FF522D6C4CB093A7CFB995DB3E76EEDCD4618C45037762FB9D6EC5B245051BD04021981CE0D006140AF361D61140FFA0FF520D6C4CB0B7BEF8D53DF4CED7CEFDFDDF50E7E2856ED7FD37B8076FB9AC60031A880D2814E6C3AC2380FE41FFA51AD898605BDFFCD2BD7BE87841DF7DEB56B9DD0FDF54484303B10185C27C987504D03FE8BF54031B132C0F4FFC73BEA8EFC2056EF2E54D853434101B5028CC87594700FD83FE4B35B011C146E189B353D3A36A5DB2D061B8020DC40668555EFB8100FA07FD976A6523828DC213E7E1B4F58281C370051A880D483598E5BB4500FD83FE4BD5DE88607E78021562B8020DC406487D397161FDBE3D390C815CBF62A995ED341F3343E5B15CD573487E55BD507E5776B595EB9F9440FFA0FF426D0BA52713AC149E40C910AE4003B101E6719E6CAA5DB5EC0277FCF4BFCE0D066E65F68C201E3E75D61D3F7916B5E7CF2B271697CA9B05238931F9916AD1ACAEEC8AC9DDFFD35FD93EDEA4DB78C545B96DF9F39973053B37AE59EEF63D7E739E86FE41FF152AD6784826581E9E78FBAB2CFE052FF8AA6CD102B7EB811B47E10A34101B60114C1A7CCFDA893C5E36C80866C5CD44CE8E3DF68EC0735BAE6E1D678BC9D7A6A65EBBB22B2657F015FC944021BC351FFD83FE4B6D7332C144C1F37B8E3A89F8E24142218644E8FD202A1A880D08359804B35D69117FDE114C9A5EB7A124D834516244982E15BFAB8BBB4A99932398185FB7A12498BADA39126C1A8BCA3B12AC12A2520112AC04493881040B6313CA21C142C818E92498014A4512095601909F3DDF09266D95D572E8175B4587EAF8ABEB5099AAF4BAB8AB1CBEE41BFF37D98738983A28744D7574484E6A7AAA5E128C044BE218093675D456519BAB610AB53F744D7574484E6A7AAA5E8E601CC1923846828D7104FBE0C8EF23F0F19F44240FB7AAB4B07C4B41CAFBF5352FE58A3AFDBA967ED5EB97F3EF9BDAE3DB91AAF78DCF7F766B2796CCADBD4801AD6E4F6A3A45CAE6ABEE79CA66AD0FB2E8B75671922E3F5924C826F937274ED73E5581A70EE434853806F50E35D8FA752F56CBF857B1D7B707F5F965FD7BB4C36A77955EFFBF8464CAC48E29F57BB5D92D00CC04C1544F93D314A15318BEF3FC7B7C5791F6597AB54EDDF6FBE57D79A84FCBE115ED18875E122CD2A3D40116D09A27014D126C880612942358864B6CC8561291608A447C139D044B7C2750584930458204CB91D0EF4BB5ED510A2B09A648906024588680D5B1E4A55F576FD37429DE613DAB63C536D1B13EDFC1327CC7F50E2631A35098A1E846E7245E24BF47375C9E5F356615AA9F1A8F4279A82F576AFC917A7E9881041B53A0557B36F640F58105B4E6698F8E9D86D0B2A1AB156F0A95AD9B1E8B57C564F8A730AC766B7B2D19881F47B00CA5718C60BE532CE0ABD22C4756D5A9CA8F11A1AAAEE65B76C5E492601DAD2249B021254930124C07A75A578E603D7A07ABE5B14021CB9181A2B5936353595D21965D31B91CC13A1CC104DCA63F6B95D85496D6AB3A6DA1E5F0EA7F339504EBC908267B9129DF82DD79E0977C735BC314B28A943855284C61AD3263AB449487FA9054FA2CF518A69842C31AAADB1CD711B138C42BF0564FD63CB1839BDD4334103F8629325CC611A620C148B01C81D41E3584CD3E8FA6791CC11489F20C908A37CE40D392EBDD35FABA8E88B6A6284E91E1CF46595315F722232425C1CADF27B33A98424882291235AF24180956872AF37A8A94585628CC80E0E0E9063CFD80E5AD38592CCE85F2501FCAD767A9C730C5141AD614812F89D65491F24F080ABC35826A9EDAC1D3147CC9CFBF30DD15C194704DAE31023791277594F84DEB4B3DCBAE98DCB61D1A078854DBE7ED14C9D314432A90601DEE45A6F636BFBC3552F8F94DEE63234D5D79965D31B924180956975B793912AC279BDD9C2287BCE508D6D3114CDC135B85A69EA610796D492F323882F568041367B4F9F9E7B0504EAAA3A57E537B7C3B52F54A79FC2646CAAA9DAB48F47CF62C2FBDE3380FE60738514D1347FBE7D3781E0C1185E7BA00630F68DBA3D40C4BBFE629C1FC9EAB79A1AB9C32F0379FD14EAC67E94F5DCDF9FA50BE3EA31DE3D0CB118C5FD7517EE5D3AADF5148B09EBC83F1C0E190A33802F23C58860B4FB48E06308E60D350D87B6DB3F90E262711789A82ABC8A46F862AA1AD7711CDD397ED581C4BCB86AE569C2B54B66E7AECBF8E6232FCF899D56E6DAF258353644F03AD96232D07A6A4C58850578E65574C2E094682D5E5565E8E04EBC92AD29F56923C3855D8726413397E9DD848E3978BDD5B76C5E47204E30816E353296FAE11EC7F000000FFFF2C37B1C00000079149444154ED5D4B8F544514AE561221D1C88CC444DDA8804157E84233B8030DFE0259F8034CD48D0B976A646DE24A0D3FC0C5F80B300A3BC70417B231A2A06C7CC5E08CAFC82C30639FEA394DF537A7EEAD47DFEE9BEEAF13B88F3A759E5F9D7ADCBA77063BC39F2BF8BDFDC97577F6FCF5899A6F9E7ED89D7DE1D1897B83D72FFAEB9DF74EFAA3D413914AF7ECFB5FB98D6B5B1375D60E1F741BAF3D65D22BA1255FCB540FA129FD7D76ED8F3D7A95F2D27A278EACB8E78E1CD4CBE4E33BA71F19D35A76ABBD63A2E0A4D6DF18BF8075D2E960510136180CDCA757B79203FAE197BF7AE0BFF2F403DE7117BEFFD35FC70021E556C368A29786A5E5282F162D9173EAF0BDE3064980F5248309C0C24C190BA0DE974C2AF46D9953E9A711E8509EF2C52366A069C8B51A46CC6E66308CC8F05ABA0C026CE4180468EE90840023C07C83D2312DBA8300EB6890CF0CC60CE63D909BB2B5855A63112D6317A99E708E198C19EC361A8C330488D5B0B84C3174DCACD7C1A48B94B52C5D1630623771EB834BBFF86B5DA690BAF28BD5B7D6C99AD6B9901FCAF3C28CFFA41E9729761D63B5249C85608BECAA8B9441EF5BE77F30429676CB5AE74AAB19A79205E41860E3B5DC780D4C6898C17AB20E169B553505322CB3021996979C5B0D30978FA55713DFDA068D092257DF855DC927C0465020C03A1AE413600498F7409763B0DC741ED25B5D51585E72DED495A5F2B3F46AE2CB0CC60C968A2D4F478071901F054C53A68956820202AC4700936094FEAC75AE525E5AAF699D4C69AC23F783ED7AC56AA138CDAD1D136800AC96AC65A2872CB4723F181F15B9AE06F97CD83D6A6EB50D1A138436E2D4E3C2AE8311600498F70033D8E8DD835846C00C640D0DACA189F2C3FAB9FE6606534F06471D8371CB34C7609D8EC1642698FA70197737E0EE8700BFFED49A6536CD12911FCA43FE7A2DF5B89B62D71B56AAC6145B9BB2D5F15657A165AA07775330837596C1F82C72D4DC6A1B3426086DC4A9C7859D4512600498F740EEAC465B4E4A17A9B425C726FE25FCA48E76DDA5F5A59EA557135F66303EECCEC21B01D6A36791599103622B9040927DD994695299597A35F1650663064BC596A723C0A698C1C499B87EA4D1B0D6A1B44CD7A3B4AEDECF397EB779D3DDD8DCCEA9D24A7B6875BF7B6CF5402B1D12846B7996DD6A2FD6936BA10FD7D172C7BC0B3B8B7CFEE88ADF0DA1CF1443278BE39ADEFA91B777A4DEB7BFFF9B1CD02F7EFE67F86EDD8E5B7BE81E61EFAE6E6DFB8FA1C40021E508C0FB56EE8ACAB3E8DDFE3BC7F2BC50E33FA9777465FF78C1D8B2BBE96D25F98A8FD4D78F9B106043278BC30460F2A8470186CB0E5657A1F1913149AC9ED2E0511C1F7EED06C72E486FC96F1B0BE1F7D4C44E0D3CF2D76BD423572EDA45800D3D4B8029BCF6AEC41360531A8331838D40C60C76BBB1990B8938484487C5523601468075FA8DD669004C6650383908DAC3C429EE6EC0D9D704F1F022B7ABB2E86556A9DFC240FE7A8D7A587C9AC67E1C8345D6C16A012693829ADD1412609C5868D0E5981B68A953AA4FA847AE5C02AC43804950BBFAE5067A5A7AE4CA25C008B02CEC11603D994586DD4A5604138973039DC8B6952C572E331833582BA84202028C192CC4C3D4CF0930026CEAA00A1912605300983BB0CF1D1AFEBB71F396F7AD9CE343E7A6DD0EA5BB16C240B69D5BF2FB2877E3A7BFBD2927761FE2FBEB5DBFAA8DE133510170F8BA1F2E946B9DD4633FF6E4FFF897B9AB4082283F04971AA7E57AADC718BD965B47BF9B021C6FD14DF55EC26E0A4B1EDA5D62AFF215BBD71EBC7BFCD07D210116EE6250C3677D94D916FE0D9FAE75083347D7B262FC71964980C53C55799F00B3FF7CE2427491CC6095ADA3A23A335885F372AA32832D700693416BDBAE821CB094D0CA6E0ADC025DC227A74ECA6E8A1C7E25B46277B8A57AE1C6606250CE97084B9C985247F6BAE7ECE14FE1D944837BED9B68BB2C13BBC397427A01305142F629E1AC4BDF6E09BF298A8344344079A5EEDBEACAD9B8EFAA2B39CAB7AF76637C307EAA7FEA317B1DECE3CBBFB9331F7DEDDCADC8DF92DF77875B7FE909F7E2F1FBBD0EA8201A2044A5FBA4528D4CA5EBFA0139EAD147BB313E183FB4A1ED3A1B60C25085C698EB5F560B69F51E1A10E3C1FBF3F100C64763ADF1CBD5AA0860A7CE5D7617AF6C9AB24E1E5B75175E3E3E2E4305D18031214F7AE1018C0FC62F57C92280F96E72FD1BE7B6FF9B94377CF4B17EE6F171F72885A8201A30C98057F3F600C607E397AB5F11C044880A4681984A954EEFA301589FD7F3F500C607E397AB5D31C0AC6E12BB47510615140364C636EF5963AEA396851E67D318BF5C3F14036C4F3769748FA28CA5605F664FB9CE5A16FA70366DC52FC70FC50013212A5C056A37A8D7218D5516D2F1BC9F1ED01897C6AF0A60613769758F04583F4193A3D55C0136EE26871AE3EC518DA85550F9F0381F0FD4C6AF2A8389C96D0AB495CFC76D949AEA81DAF85503ECD8BB97FC87DBAEBCF18CA973AD822653DE9C99076AE3570DB0364B6B156CE3CFF26E3D501BBF9901AC5B37907BD71E98CB2C32C5A879EC144DD18B34E91E906D589FBFFA647A8580B2F30C16C8E2E9127A80005BC2A0CFD264026C96DE5E425904D812067D96261360B3F4F612CA22C09630E8B33499009BA5B797501601B684419FA5C9FF03D4BC6D554192DB870000000049454E44AE426082'), +(66,'image/png','img','89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C0000139A27C3C42300001366494441547801EC5D095855D5165E388F98022A8A2838308880888098E8B3E79465696566A4BDA7A696A66969FACCD452D3D42C4D33C95233F33956CEA525840C2A0A220A32C82432084E380BEF5F1B2FEF8A17B8E3B99CEB5DDF075CCE3D67EF7DD6F9CF5E7BAFD1A21844663273C0401CB03003CC409C35372B38600698190806E58019600665AFB97133C0CC18302807CC0033287BCD8D9B0166C680413960069841D96B6E5C2780E5DEB8473B6373E9706201A55FBD4B69576F53C6B5BB82AB7696B5C8BE511D6AD5A816F56ED79806BBD9904D839A668E3F611CD018600F8A8A69FDF14B14147989C2920B88D455D35A10F9B76D4CA3BA36A791DECDA97A351C3093C973402380F14CF5F6CEF3147FF14609636A57A7975CADE859672B72B4AA43B696B5A9057E982E5EBB4359F849BE7C9BF69CBD4C3BF043771E88EF9C5A34A0D583DBD33F30B399C9B439A016C00AEF3EA0913F9FA5ED277304373CEC1BD2A7FD1CA84F872654BB4635B53874E77E11FD9E904FB30EA45074DA7571CD4B9D9BD2FA612E54BF5675B5DA309F243F0E540AB0ECEB77A9CFDA683A9D7E9DAC1AD7A115CFB7A5619ECDC8424B0907094B5B4E65D3C4DF92E872C16D7207580F8EF6A0660D6BC98F7B1A8C982DBE47B0A4581B914527326F507CFE6D71B553933AD4A565031AE36B4B3D1D1B6BCD570D8622E9A915022C3EF72605AC39453910733D315BFDFAAF4E6459473FB3CDD5DBF769D0F7B1148C59AD29C46BF0584F72B2A927E9CD4BD5594CD60D7A6D531CC5015815912B80B6F9755772B76D50D169B2FAAE5C8031005C961EA3ACBC5B341C0BF3EF5F75A15AD5B59CB6CA61C9DD07C5F42644EF666C1A5ADAD4A5B8293E7A0370395D4A7E786DF8457A6B5B3C11EEB575D37A34A15B0BB1B46883998BE90266325E3AAC0CBB48A9393789C0E3B5AF38D368CC68A6402A01C6D3F990F5B1B42B3A875EF16A465B023B1A6CEAE6BE866E3C43DB4E66D360CFA6B47D849BC1FA92FA816DC08B331233178366E1B38EF4412FFB7277CFBC3B5FFC671ACDDC974CC43BF5E1AE3402BB6DB9934A807D19924E93779C277BBC71B153BA5243EC160D49D7B1BB745D1A4919B9B768F990F634A9472B43762749DB9169D7C8F7CB134498F4F78C72A7675DACD4EA9777DCCF05C58873232675211F7B4BB5AEABAA273D06B0BCC27B6433EFA8788BA2A7784BB61EE0758AC7B2E344D08FE5CEF627EBFAF255CAF28ED915CB8BE44B85F4EDABCE34C6AF8546CF5F88D52DE7A89D6D7DF182ABBB53D7A813A94E668743659AB63BB198261F2A7E776782F261493E4F449FDCF7748C41CEF465709AB88F9EAB4E161715697E277C4D00AE655E7C1592AE790355E88A4766B0FC9BF7C96A5E2811DEC0F459FE64F75489D2542AB0A75FB943F69F62F6846EEDF2ECEED4A45E0DA9BAD65B3FAC86B15F18469910F711EF796B2DE2222062FDBE384E76D8FCA4CEE8C613BB3C4919ECF30EA688B766E4E638E5C3927E1EF1539C18038F458EF46762BE18BFDBD2489D86CFB358C72511A2ADBF120B746ACB98179372E79E5F1C1337149A7245F9B0A49FB96F160D5E188B1C69C6DE2431FE390792751EFEC7FB93455B33D1A65CA954440AF1382B98A0ECA27B0B0220A58C3327DF878CA93913E380792AFFD3006A2C3331D96D651485275DA1C3EF74D6D9D6CAB6DF67BE3E497E6D9FA2B0095EB21491A500DB0A9DD7D01F62A95F476BDA3FDADDA837D31FDBF40367F268EB9B6EF4B24753A38E45D3CEADB103671358FAC7DD755EC38A35E9DC50B2865236F7237F4D875225CE2F05D838689BD78466D29217DBD1D49EF6461DDCD22369F4FEAE441ADBBD257DF3B29351C7A269E716D3FE22BA57443717F7A2BA35D5730428AF8F9B778BA8FE74B457AB1A152FEA55DE6955FA7829C00660D6D88F5963F75B1E34504DA5A0A1EE6C775C1E3DBF368606B859D35E2829E544160C0800A31080A80760E842ECC5D260FA11D3001816F8C28D4697ADB52ECC54BE56B145F76C6D4927277B2B7F55E53FDB7C7294F2605FBC0065716B789FE842A910B56D2072D919201B6A233952E90CA6604C0A64BDC2106BAC1B4AB97C8B1C3F0D932563A120A590F305F4DB18777ACED55A2716FE068932089225009E2C47C67BEAD496B12E2E0598626ABFB1A8A7D11D00E52C1A161D4EA50FE1EB3621C08E560CEEA0D373856583560667D0A2416D69DA3F5AEBD496B12E560218643D64FEF5CF7A5203031BB72BBB59367E5B7E88F1601CC5188F9CE87CDE4DEAB0209CA84E0DBA0A6B84B6FE73D76E3FA0466C5581DB54C24C3F6A6F2D4F5FB95280D92D28316F24FCC7F83793004747273C243693A4CFEC26277C89B106FE14479B8E5DA249BD5AD1F217DA6B35FE49BBCED35747D229D0C79636BEE6A2551B55E1A25280F9AF3C496149057464A21705383E65D4B11D81A2B2171496FE080A0985C2526E94C136D52591540CCF94EF008E7F03249AD0BAC82C1AB5F92C59C0A324ED7D1F9DF5699AF4ADEF734B01C64E7F5BA3B269E31B1D29104E86C6A41F318E37309EA1ECEC88F1C89184167EF529E1F6C433D9BC7E8E958A4B168B1FED4F1633175BB70F63612FF7C8AB52802D0F4EA7F71092360A2EBD41439D8DFA4C47FDF71CAD830BB1DC9D0F05C8A0CFE3B52DD5AD4113E07ADE173B427784ED29FCDDD8FF2E06618007D96D1A62956EDD1733D7215831E40E2E065129C092B0386D373F5C440EB15942DBA8215D91C92ED4569F845241C11D4A9AD50DF19675756DD2A8D75B4CFD0BB358917A6380F937B0AB2D2D1CE0286BB1A87CB3A500E3836D16868BC083B819BEE4D2B4BEF279927D8ECB2EA48E9F45509B66F528E5433FC9FA354447EC633F5DF8D823C6A19335F922446FCFB9023A77F926E5201C90A929C2F59CADEAD14067A457E86423DBDD6279FC7B04601FEC4EA42587D2686A6F7B5AF27CBBF2AE31E8F1A9BF25D2B2C3B0453E634F9F3F679C31E8EB062D58D5C2D1ECB049664365D1F409CCCDF108C078F7D3EAA147691EC4A495C47EF197B11E616F047A504419E8BF6523693D6AF5052C6E67F5D10C7AFBD724B1FE7A0981CADB46C873B3A22B4F1E01183736165E15DFC2AB6266DF36341F6B01298943B6161EBC204B2F8AB27CAAFE51081521FB102B8B933FF0210799AF25CBDE9FBAFF3F06B0342CAE5BCF2FF18BBF30DD576783ADBA031186DD4511E28D17EA09C462CA95369EB84423B625403CDEA7BE2ED6740076C927951E03183362FA9E245AFC472AF940E17A148A4E43A75A622F5656F41E4BB952F21CF0D6F78792759F911D1FB505451398787817CCE6A29877BDA89309A502D094272A01760F61EE5DBF3A2EDC77E60C70A08FFB3A68DAAE46E7CF41C69DB9FB53444C2447350BC2C2D80BFAA2133273D7F925368F5EE4686ED810FDF08286C132F224934A80314392E132D3F6F34821B27E84B87ADD40DAFD4DD0DA07FE7846AC55C67BDBD26A881756360AAA5E8D5A36A94D1932B247B686AA278D734C40B11A36D683FC5A372AB99727F477B900637EEC427ACCC1C88083D0230A421EAF511ADAD42AE3691052198DD97216EA5E0BDAF92F377A116936BF0ECDA0097B909F410132281FE17B4CC5F37B54D69CD1BF3F043FB07F7E7F5A8CBDA35D038A9DEA63F431197B0015028C07F72B9CDE5E60A6416C2E446EB08A1278A87B339CE8E3F3BFD26806FCA6383108A7857A1EC1260ADA793A8F866C869851808CBFC079850B7AEAEC86ACE8C3107F110B4967326E88D9EB0FDCD333EDCD191C2B05183F8883F1F9D4EF3BD8D410CCE00537E6F5C39CC9ADB97639AC622FDDA0377E3E47A752AF0905E401F8DCF7756AF2D8F30EBB7095FCD958CC763C050164C933FCAAE4963F3CF52A755B132D5E0A4E1A938A719A49C916591933A261900D442EAF58643AE4D96402227E46FBB6200F2CC4D521BE3E28E222AD848E8D67C34EAD1AD24688DD8AAEE7DC590EF053E3F34B093BCCA3E33CA95B9BAAB5B6F15B114511C9D80563E7B80B49E45E40C08A99340018338BD509CB1052367D2F767CC85FC1E482AC7C23B101F0C5CCE66453BF3450B600792EE2730B290233D57A2CE4CF2AB2FB6177B818B9B2DE0B68A55670AF08DD9A09938B32C8B080DEF19A2B6C7755E3219E466620F7AFA2C4CEB171E3DA940FB390994A38A096882CCB2C568A7E8BCC7DAB8F6595E87BCA9EA0E27F66FC78780ABC855446DA44DB549B1542C537A119574C6600D90A0075C2D3762A7A93F6505FB8E4FC8E503B9EBD36228E33B08B71FDE9A4BDFB8A7BD30A608A26596575F87C3E6D3F9D8BC4B6851403979F3B0F17E6B5010077F8917769599F5E829740EFF64D74CE1023DCBAF3A1C084AD5210D20ACCE86E470B00346391888062750E8CDAD560CC7EF049D5DFED4AC92B9D0026E540157D75597E9CA2384F3F361C8200E47F23F5E6774672927C79C319DA8EACD99CD36315A27FC6FB1B7F4655F0AA2AFC951DC09869CF6247BB0F3A2745610736281BC3B494036376338EFC61B0630C728B80920280B204183346B8559FCAF9BFAE4C4FA625F6A83D0D55CA8E985C8AC2C624060E90A9702362D30F2B846B62C6F4B0AE4BDED8DC24C1DAF17B3C808E5DF52288E96948F26BA64739205B80F16DCCDC0BF79EBF33FE0F321D4C4B5C136013CC541B01DA0BD930F5A84B6C6900F032B1736C81C25F667A9403B20618DF8AAEA6A52BD894FC077E68AB18A80F77A89C2E29D0DD86BA43D7E604A529D760E24CDBFC35AB5F386E9315ABEB00C8848B85251CC5F7AB06B5A371DD5A1A2D9EA1642015FFE6D80BB6FF86439F99947F8B121E561CE9807B6EDBA42EF9413FC976E7B67A0AF4953DC0989DDA989658146E0040C6FC9A48F7D83F1E009902E5F1306C18BCED2CD50209B71195799DBE09CBA42044413102398FC406583AB451C5540C0DEDBFE5717228E032A4A7171614359AE2C433537AB412218CBA04009904C0985F9A989658613C0281AD5C618469180A1E2C430C822D6A5C6A4B9C11E855B8E9886A1D509F9C7AC7AB422B85B6FD687ADD898CEB346E47021D4FB92A2EAD892093B12842D60FE6397E09EC1F66004A836E93F59B0760165C83A267E2A5C315DE0E8DE89B211DA88B5D434DBB16E79B0CC0F86ED4312DDD860582AB98EC83DF168BC2ED30EBE82B929DDB9E8A1971554886886D8C86B3A6B19C0D79D69AF77B0ACD613F3B7C6E8F9CFB5FE025EA0F6055E640CACE08FB01B4C908C049CCC21200EBCC39FD1D68761F07B5667665249A14C0F8C62A322DF5E9D09838D1DEDFC87DEAD0BC1E858CEBACF7C0127EB01C9DB514915135A0788D466E55D766D2860032D0B906D49613D0CFA178D98AE7DA8AB5A1A6797779A667F1CF95F15825C433FD0F282CA1496108930398E2ED51655AF24035B7688832AE7779E82D4F83454D31C826FF5292BC84811C07BFB03A6AD6D5548C5FDBBF5C65A437BC3A8EE225E2C47587512AB16373DD007E06154B7A07458BAA7B4FC395FD0F3852AA0B329305183FA0C74C4B38C64C4F40429146B01B1A92186403D741210C512C559C29F7391C997D7EC6DA9217E95C87535F75D2B93E7B9FB5A7841B3DCF643FA158973A8B7F93061803489896D893036F361B4343E123EF2F91AB4FD6B5BBD4E2B370A1A40D7DB78BC1FB9D7B106BAE7D29E2253AF35ED7D2FC17FA7A9118646ECB8F89996C2E623566AB11AB61F20063E62A62143FC642750E4A414B49EB319BBC89DDA523C4D4F969BE3A1BFCCB1B3BEF16BD971D13EA96D849DE3A8BC5F2FA6187D14ECB51450E8EA0C75189AFB2DDA5C9034C915098BD4C9310E7A9E942B73C46AB7B9CC5962F9C113924CF5019BCB90F9F1527842A62C5CB1DE00C6A5883FB0A28A5DFDD9E2054189113BB542C2AE55AA244DD710F5A1723CAB1AC09CB54F712BD9FB7F554B618438FAFA3F4DE363788C2A7A2FDF68BC28BEF41C76068E23EDAA12F2EF9C37D5744263D839DCB29241764EAA9D9A0165D435A71A97672656737D62B359F1F26D29B47BDDF953AB7D44E6959B65DC5FF9DE1C2C41A7A43CD908A7E94FF2A6A19708C4685B1AB15A14FEEDF4DDE55527F72AE1E0A53E9CA8BC57FA68A377EFCF6785D9B7AE4FAC4DC42D16EED8F428AEF4B307B293AE7BE6AA24F9EC560DF541C7EECEF23D5D61EFB56E6075864300362B36E18FD4EE2734A80D06661985EC7C22F0FDFE3841DFA05AE3A837C077D72DF15955E3459117909066CDBD97F0B6DFADD793D2A5E882ACFFD06FACC0BF1FA73FEA65B505D64CE795A27D71EB6191E4EBC226256779DC9850AA6582F851F34BD7545A188810898DE3DAA93CACB4D16608A44C243E01DB17DA49BCA9B97FAE02B70AFDE76329B362015C31B1A04862803EA1768E88B15EEE24A31A331D37C24B77B8A3AEB8B23C909A18BE790A24A15992CC0C66C3D4741472F9214DB76558C55756C25D2224C445AA7D1FE2D68ED2BCEAA4E11C7D40154D98BAF2C0C30B875A26C9F57E1E5FBD48C60114D558CFE5591C9024C5173722FEC66039CAD54DDBBE4C7F69EBD4C03BF8DA6FE4893A09C9A4A1B40951DBC312AB4A85391C56401A6A81E1739C59BBAB6B22CFB3C8CF27F240CEDBE28F4CEC1CA1FA02627E7FD284FE4953B40F8FF53CDEA2581C8FC994D60F8314685164545968A5225982CC014D5E3F45156AFDC87ADE117C25F0DE5FED8BF4A8044690DA5B22906128308E7D583A36077AC75021C2D619EB114BAB4E67C0C2597D973221836D61E1257680946AA849EB052B08745483915594C16608AEA71FA280CAAF2E16B71B0B48A9CAA6B6B3FF4EEB8F7805A236AC91F0ACCA7DB94008915B3E529898721B71AFB7DAD87E3E40878394849D0E2D348D8595FC586E5E772529E9A0126E113290518CF60354A66272FD403E801B7645F7B4BF284E8D4B43EC1EAA399F4F6D6781A8E2A229BE04223250D07B8D8ED7CF55027E1D0A8AAEFFF010000FFFFDDC1AED300000EF149444154ED5D794055551AFFA16C8AA8B8A218026128B9AFA8B8A72D58368D8D3559CD92D64C8B2629E9388AB6B896136A6558A3A633CEA44D995BA6482A092A20E02EBB0B9B0A2A8828F2E6FBCE137CBE788FC77BF73DEEBDBCF307DC7797EF9C7BCEEF7EE79CEFFCBEEF3868284185A9F57BBFE0D2959BC89C33081D3D5C65F18699541E5F2A9773536764BDD31F9EEECE1697EBC2D53274088F4183264EB8352F180D1B38582CD31401772A34709A73009A92DBB8101E8CF6CDAA7F1707B502ACE7B2C348CABE8E43D3FAA2DF034D4DA933ABDF7328FB1A062C3B829E1D9B22716A5FC9F2EBFEF161A49CBB8EFD6FF546B06F73C9E41A13B43FBD08439727A0BBB73B92DEEE67F85606981AD3A391491A4CDDA3D97EF2926C5E6FDB894BA24C8F51D9A44C4BF66609B963BF4C9652AC515921AB93459E9CB7B1046317957CED95FF9E1415B0FCC039D9BC06978541CF6593329594DDD1B8FC7DBF907D38FBAA94A2AB95C579F07B349AB35FC3791B4BAA05D8D7F1B9A2129E599362ECFD6D7A6DFCDA63A24CEB8EE44A9E6FC47E2D78477C96A8A9A8905C7C954096CD7930C04CF978553B06CBBB7E0B9E340875E4C1EFFC2170B0CDD8D7E05884A7526EE107507AED96D141B14101355CB8754703BF45B1B850508AA54FFB237498770D4F987779697436A67F9F0AAFD68D901E1604E786C62B56B500E3EA7B68711CCEE694E058D8003CECE9665E8D4AF4D499821B08F830163E6D1B23E3DD2089A4DE2FE6E8C5EBE8F58F7880C076E08DDE18ECDBECFE1B2CFC15937115C12B120002D5519AA4F468DFA4668955BA4F850753BF3B2354F9BC1FD3EBFCED16DF1D88FF65F369AB9665CDE11CF1CE0D66EFD31C39774DB2BC5816CBE4AE712DE5616A52B5063B955F822E0BE3E0D4C419D7C81EE6EAD8A0E62FCE0A779493CDC8F3FD83B85C781309EFF4432F2F772BE4724FE48CAD6958B2270B706988DD7FEE8E519D3CEE5D34E368F7992B18FD550A507607D34775C4E2B10F9A2C45D500E35A18F7CF146C492EC0AA099D3139A8BDC91523E58D9B92F2F1EC9A6318420DBDEFAFBDA4146D5016694C846D4913DDD99CD13E9849C0A8ED07567ABB020BA3B230FFA74CD1ED2E1EE78FE9C36B37B6533DC0E2C8B81944C64DEF368D91466331471B59BA2B5B9E07F703C8207938A3085B27F7404897969597ACFE9F66AB78F93FA780F20AB46DE98A154FFA635CD7D670AA6160CE13862DC70AF0C60FA9C8BB7C135469584B1FE84B7D3D6B5D66D5038C6B64C4E747117DFA0AE63EE68BF0477D6B5D49963CB0961AF90F1B4EC08F261967670C808DF18D8CCBA57875F319FC74F2B2F635DC9C30B9671B3C16D0023E2D5CE1DBA291389F71A514BC94B593EAE98BA3F9002D01711A13D80A9F3FD309BE2DB5F78993B5F8532F00C695ECB7E410402A3FE6CDDE18E423EDECCA507DE79049A2FDC258E0663962DEEA63B37CF5CBC35AF47FA49196FC7C0EB16945FA97ABFD1DF46073CC18F6009E268D678989A75E008C6BF0EBF83CBCB4FE38DA50577186169A9BB93A565BB1529DE4460DF92A193B8E5D42E8486F2CA5EE490E89B5D4FA845CC4665D472A69ADD3F49B530069337FD266411DDD31B1B7A7D06E5294B7DE008C2BEB79EAAA365297C50BB451937BA2257517D6480CAEA9DF9F4504690C5FCFC63811DABFD6036C6B94AB2E64D62B8015D334DB7DEE0131DDE686DFFF5A2F78357391B4DE195CD3B7A6E2A3A86CB18A904406CFC0B6756BE495F4056B29AC5E012C3AAD102356933D87C6449C5A51B7B0E9F7811846E30D29D24D9AAD856E49C5A7FBCF8B99574A685F74F534C1DA2D45E6329551AF0016B8F4104E5E28D6368523ADA19593BAA134A14F5B2C7BAA13DA1111D0DC149B7515CFFDEB24B2F26F6845383B226C9817163E61BA51D2DCBCE5FC5CBD0198BEF60A68D704B368F0FD0A699CDBB430CE56EF6983BD30A1471B41503465E6C4DD61FCF96B58157B11AB0F5E0418AF6C8720CBBD488D1C1139AE135E19D04ECE18B06AD9EA0DC0EED35ED4F0517FEA8611FE1E282A2DC7EC9DE958C9DDDA5D5CB4248AF5C41EAD3198CC199DC940EBE9EE82A6AE0DC5E5C21BE5385D5082B8AC6BF82A3E17672E96681B8800FAE953FEF06EEE8AB13499C00DAD1D098D29AF3F6AF3B26A4BCA5478BD00D8AFB417B1004E4DEF7F5F9330DB6143421ED625E62133EF6E3777DF1DD5FF60B3C7EBFDDB9196F2AAE2A5AF2793C88BDF9E269069C77A706980CC1941E84863BEFA96EA05C00C692F438D9D92538CCDB47E9978B11849B925C826ABB6862706D46FBA90F6EBDEAA31FA78B9617CF736420B56679D8F38701E53B6A703A4212B9366D9C8CAC37AF35FF50033457B59ABB5E7EDCA4078F4B97B20737384E6FDA1D6CA4E9672550FB0DA6A2FA95BE9ADEFCE60795CAED634421AD08FEC6F69B426595F92AA015697DA4B174013C97CB121398F0CBC15C23E368A2617BB5FEDA17B8B6A8F550DB0BAD65EBAA82197326C23A6022FB8B3496432515F568D0FD0BD4595C7AA05985CB4972E6A06119FFD209937989F059A2C2C1AED831923BC756F51DDB16A012627EDA58B9A873F3A8C13E49C01C2181A3B61F3739DF14CB7D6BAB7A8EA58950093A3F6D2454DFB0F0E228769326CF127DA502271D47A9AE2A1A32B4421C7AA04985CB5972E265CC967B38C97A838356C80A2F783ADCE51D36666DBBFAA0398DCB5976EF33ABCFBB3A00E8973C47BD72C19AE7B5915C7AA039812B4972E721C42F76ABB4A5A23F768EE822B7306EB5E56FCB1AA00A624ED55899C329A51BA869126E3F11879FBF4A1505347A6F4A9BCACF8FFAA0298D2B457257AF2AEDF86E77B315A1B9973038C27478B6F5E7CB8F2B2A2FFAB06604AD45EBAC8394544C52E14340F37EF889965D810759015550330A56A2F5D901D2456ECA05549DAC571959015650F30668DFE9C5E88C8B81CC413DD59D7CDAA8F57134C22B628DF33F2CB7B5CFB806AF85EBA0D29E7E3EDE4201BB2FE2E615105644559032C997859EC6A76A292476F08194E14D484D7F838E9B055B52794F7F73EC2A2C2C98AB2055824F1DC276F225628C549E848B4E53706B6C7E887B4EEEE0C197620FD89A2BEAC202E7C95A3059D57B2F6D2FD14F4098B4A252BCA1260226807F3DA69DABEE0093F11D1C550786E0EA7BD786F3666ED481753FD308A22B330441D9E3CE144589CB797088BCCA655285951760013A1BE3FA1287D6478DC46B1AD9E30311ACD361ABB8C5D9D2C94401CD991FA7BCB2374B9AE5632E7B88AB0484EC34A242BCA0A606C740C24B6413AF1E0BFA07041936A19CF4B74AB14AEC8BF9D1B8E4DEB07973A0A38670E908C3D534558240B86D2C88AB20218454AC6946FCF62188DB5F6BED6B3D6515D7836399C4235EDA3B159C46F1FC29BC11D8CB59BA2AE551116C9C3449FACC8EF1D977D153B4E5DC1AEB385384BE3D3CBC5B4904E146D4F72260E24279527BBB4205A501B787B481B2AA1A64A940DC078A5C47BC141112539EEEDBE6677719501E73A5014E4AC99036D1E8FABA60AB7E47A15619166CD4C56E468839B93F3319FC265F24E1F35261AD3F247376F8C2F3CC804628B241B80094BFC8A44747DC01D29D4BD999BF86BEEF6F1211C3F5F8C680A3C2255DC0973CB23F5735584451727729F7345F25D60F14CFB7972161EF1A00702E8B8B59B360C4241C92D2491FBDDD6139711792407B8552142901FA0C02F1C80CEDA493600E359E0825D99087FDC1773E90BB32485FF48B3AF9D199835C6071F3CEE678928593EDB6AFE2F1450B88CCAA611A14157904779084522ACCE3F53F7053820DEAB64FAF921A5008DA8EB4CA3B05296C4E3D0956DE85836001B487C758EBE17F57A2FE1CC6AA8C0A69C8F4A2DC4A89589E0287D07498BA92931487A461C413EC54E7DA19FD671C4CDB9A1C9AFC84391C9DF9CC297643F1CD9B9257653DC5853E270989C81DE8DB20198F6ABBC89737307A303F1A22C49E78ACAE03D2F4684672AF8FB204B44C9EA59EEFEF9438CA39DCE9E23AFA40D147AAA26AD55DD0B70905F1E46705C8D8D2F77C5048AD96AAD241B8039CC8816CB3D37160F47235EFAB120DDA071865B18C923EA8B66D1700B24C9EB518E9D31F1EBE3C20C739CBAB79AB6713156FA3D34DB7CE4D344C9B716D4CFD30E30FD1A91E96FEEDA5A1167AC90C65E3F9209670C4589B624B136F4FA909C4F2E955A757308D900CCDE451A878BD82728225ED2B5D669141B6D192DB37D449B674DB3D2E659B2D9CE2F6879BCD80727EAEC1553B7C13178DF1E92C17BEAB04CB5A42977F75D9ABD234DB257DA989827EA897643914CA6BE20D9006CE6F634F1B2E1126C5C357767BA90358B64AA250D88D07E80D1A98592BDD2F1DC62514F7E0B632593A92F48365DA4DDD06ABC8B14CEBA345E4A9B3D107E66EEBAA19F432EF965B623FFCCC6B4A17B096DEC6E8D241B80F120B6232D159DA70D35ED4B45BF6E6A07F63CBA7507C58B86A13676AF5F4BBA7786A362379A1E2D22FE58CB27533600E3D7B62F76DF6B7CFD23879904307208295A3054320F705B987364053029E93A96DA89F41BB8AE7F072C891386D1A3145BD6A49D664D28B02D0CD2B20218D7892EE1702B110E4DDDFE4E977078686A1F118ADC843A56CC2DCFAE3B8E4D14A0F8B3DF05E0B5815E9294DB264B6AFAA37E39FCE62D7BD9CC80D028CD87BB3335E5C48B3694F8DA07BB33C4BD78BB76DBFD1A9229C7F344CB11753264658264C5B3C56C5B761AACF2D35C4D6E6A936851B6D2E9E375E1F4E1011F0FEDBE859985A5E4F451289C3EB279770DE23A453EDB59B59B1E881003BCCF1245AD4E08B57C5B665BD19A640B30069AA96E6B81E41FB9F1854074A3DD3BD49C3E21C6EF5462FC0E24CE570CB14E2C6141D88A98296B803158F84BDB47EC81C8B88B4820E2DC49DEE2975217DA00A13739D84E1AD01E43FD9A5B54D942A002FEF0E6F25D68BFA5D49C12BC17E287D98FF898556AAE535B51CB650F30B36A50C50F1D278798AE9F1C11268BB5A4B5CDD9475BD739C6DAB36D3BC01408C65D14ADFAD12F28860569B4F9E437CA9ACCD4EED2D6B36D3BC01408302EB200D91A8EC771478CC956FCC61FBDBDDC0DBE0D3B282FDA9B85BFEDC810C05C4B644573B49FC10C0C5CB003CC40C528E13477974FAF3B26C664ECA81C4C83FF177AB7A17DB79BCA66B66D0798129064A48C3CF05F19731E53C9C9A56A773703F7D7C56CDB0E30038DA1B4D36C27E3F1D5BF13F39192575215E6AAAE67DB7680290D490A2BAF1D600A6B30A515D70E30A5B598C2CA6B0798C21A4C69C5B5034C692DA6B0F2DA01A6B006535A71ED00535A8B29ACBC768029ACC19456DCFF03A7B3814B99053E730000000049454E44AE426082'), +(67,'image/png','img','89504E470D0A1A0A0000000D494844520000009800000098080600000018C2202100000C48694343504943432050726F66696C65000048899557075C53D71A3F776492B002119011F612654F1921AC08023205172109248C18128288DB52AA60DD22022E9C88C5562B2075A2D65914B775BC2845A5528B03172AEF6440ADFDBDF77EEFE3776EFEF73BDFF7FF06E7DC7B0F007AF53CA9B400D507A050522C4B8A0E674DCEC86491BA0102A8F0CF1658F2F872293B31310E4019FEFDBBBCBE01ADA15C755371FD73FEBF8A814028E7038024429C2D90F30B21FE1100BC9C2F95150340F4877ADB59C552159E0AB1910C2608B154857335B85C85B335B8466D9392C481782F00641A8F27CB0540B70DEA5925FC5CC8A37B0B627789402C01408F0C71085FC413401C03F198C2C2992A0CED8053F6673CB97FE3CC1EE1E4F17247B0A616B59023C47269016FF6FFD98EFF2D85058AE1180E70D044B2982455CDB06FB7F267C6AA300DE23E49767C02C48610BF150BD4F610A35491222655638F9AF3E51CD833C084D85DC08B8885D81CE22849417C9C569F9D238EE2420C57085A2A2EE6A6687D9708E591C95ACE7AD9CCA484619C23E3B0B5BECD3C993AAECAFE94223F95ADE5BF25127287F95F958952D2353963D412715A3CC4BA1033E5F9C9B11A1BCCAE4CC4891FB691299254F9DB411C289444876BF8B1E939B2A824ADBDAC503E5C2FB64424E6C66B716DB1282546CBB397CF53E76F02719B50C24E1DE611CA27C70DD7221046446A6AC72E0B25A9DA7A31A5B4383C49EBFB425A90A8B5C7A9C2826895DE0662737949B2D6170F29860B52C38FC74B8B13533479E2D979BC09899A7CF0521007382002B080028E6C3013E40171675F6B1FBCD3CC44011E90815C20046E5ACDB047BA7A4602AFC9A00CFC019110C847FCC2D5B3425002F51F47B49AAB1BC851CF96A83DF2C123880B412C2880F70AB59764245A1AF80D6AC4FF88CE87B916C0A19AFBA78E0D35715A8D629897A5376C498C2446106388514467DC0C0FC183F038780D83C313F7C70386B3FDCB9EF088D0457848B84E50126ECF102F967D510F0B4C044A18214A5B73F6E735E30E90D5070FC783213FE4C699B81970C3BD6124361E0A63FB402D479BB9AAFA2FB9FF56C3675DD7DA51DC29286514258CE2F4A5A7AE8BAECF088BAAA79F7748936BF6485F3923335FC6E77CD66901FC8DFDD2125B821DC0CE6027B073D861AC15B0B063581B76113BA2C223ABE837F52A1A8E96A4CE271FF288FF118FA78DA9EAA4DCBDC9BDD7FD8366AE5858AA7A3E02CE4CE96C99385754CC62C327BF90C595F0C78E6179BA7B0400A07A8F681E532F99EAF703C23CFF972E5F09806F17DC6382BF748222000EC1BD6FE0F597CEA1026E21B89F8E55F315B2128D0E575D08F0EDA407779429B0846F2927588F27F00541200C4482092001A4800C301D765904D7B30CCC0273C1225001AAC04AB00ED482CD601BD80DBE03FB412B380C4E809FC10570195C0777E0EAE9014F413F780D0611042121748481982256883DE28A7822FE48081289C4214948069285E422124481CC45BE42AA90D5482DB21569447E400E212790734817721B7980F4222F90F72886D25023D4027540C7A1FE281B8D4553D069682E5A8496A1E5E872B4066D40F7A22DE809F4027A1D55A24FD1010C603A1813B3C6DC307F8C83256099580E26C3E663955835D6803563EDF0FF7C1553627DD83B9C88337016EE0657700C9E8AF3F1227C3EBE0CAFC577E32DF829FC2AFE00EFC73F11E80473822B2190C0254C26E41266112A08D5849D848384D37037F5105E13894426D191E807776306318F3887B88CB891B88F789CD845EC260E90482453922B29989440E2918A4915A40DA4BDA463A42BA41ED25BB20ED98AEC498E22679225E4C5E46AF21EF251F215F263F220459F624F09A424500494D9941594ED9476CA254A0F65906A4075A4065353A879D445D41A6A33F534F52EF5A58E8E8E8D4E80CE241DB1CE429D1A9DEF75CEEA3CD0794733A4B9D038B4A934056D396D17ED38ED36ED259D4E77A087D133E9C5F4E5F446FA49FA7DFA5B5D86EE585DAEAE4077816E9D6E8BEE15DD677A143D7B3DB6DE74BD32BD6ABD037A97F4FAF429FA0EFA1C7D9EFE7CFD3AFD43FA37F5070C18061E0609068506CB0CF6189C337862483274308C341418961B6E333C69D8CDC018B60C0E83CFF88AB19D719AD16344347234E21AE51955197D67D469D46F6C68EC6D9C665C6A5C677CC458C9C4980E4C2EB380B982B99F7983F97E94C528F628E1A8A5A39A475D19F5C664B4499889D0A4D2649FC97593F7A62CD348D37CD355A6ADA6F7CC703317B34966B3CC36999D36EB1B6D343A68347F74E5E8FDA37F3547CD5DCC93CCE7986F33BF683E606169116D21B5D86071D2A2CF926919669967B9D6F2A865AF15C32AC44A6CB5D6EA98D5EF2C63169B55C0AA619D62F55B9B5BC7582BACB75A775A0FDA38DAA4DA2CB6D96773CF966AEB6F9B63BBD6B6C3B6DFCECA6EA2DD5CBB26BB5FED29F6FEF622FBF5F667ECDF38383AA43B7CE3D0EAF0C4D1C491EB58E6D8E478D789EE14EA54E4D4E074CD99E8ECEF9CEFBCD1F9B20BEAE2E32272A973B9E48ABAFABA8A5D37BA768D218C09182319D330E6A61BCD8DED56E2D6E4F6602C736CDCD8C5635BC73E1B67372E73DCAA7167C67D72F7712F70DFEE7EC7C3D06382C7628F768F179E2E9E7CCF3ACF6B5E74AF28AF055E6D5ECFBD5DBD85DE9BBC6FF9307C26FA7CE3D3E1F3D1D7CF57E6DBECDBEB67E797E557EF77D3DFC83FD17F99FFD900424078C08280C301EF027D038B03F707FE19E416941FB427E8C978C7F1C2F1DBC77707DB04F382B7062B43582159215B4294A1D6A1BCD086D08761B66182B09D618FD9CEEC3CF65EF6B370F77059F8C1F0379C40CE3CCEF1082C223AA232A233D2303235B236F27E944D546E5453547FB44FF49CE8E3318498D898553137B9165C3EB791DB3FC16FC2BC09A76269B1C9B1B5B10FE35CE26471ED13D1891326AE997837DE3E5E12DF9A0012B8096B12EE253A261625FE348938297152DDA447491E497393CE2433926724EF497E9D129EB222E54EAA53AA22B5234D2F6D6A5A63DA9BF488F4D5E9CAC9E326CF9B7C21C32C439CD19649CA4CCBDC9939302572CABA293D537DA6564CBD31CD715AE9B473D3CDA6174C3F32436F066FC6812C42567AD69EAC0FBC045E036F209B9B5D9FDDCFE7F0D7F39F0AC2046B05BDC260E16AE1E39CE09CD5394F728373D7E4F68A4245D5A23E31475C2B7E9E1793B739EF4D7E42FEAEFCA182F4827D85E4C2ACC243124349BEE4D44CCB99A533BBA4AED20AA9B228B0685D51BF2C56B6538EC8A7C9DB8A8DE007FB458593E26BC583929092BA92B7B3D2661D28352895945E9CED327BE9ECC76551653BE6E073F8733AE65ACF5D34F7C13CF6BCADF391F9D9F33B16D82E285FD0B3307AE1EE45D445F98B7E59ECBE78F5E2575FA57FD55E6E51BEB0BCFBEBE8AF9B2A742B641537BF09FA66F3127C897849E752AFA51B967EAA14549EAF72AFAAAEFAB08CBFECFCB71EDFD67C3BB43C6779E70ADF159B5612574A56DE5815BA6AF76A83D565ABBBD74C5CD3B296B5B672EDAB7533D69DABF6AEDEBC9EBA5EB15E591357D3B6C16EC3CA0D1F6A45B5D7EBC2EBF6D59BD72FAD7FB351B0F1CAA6B04DCD9B2D36576D7EBF45BCE5D6D6E8AD2D0D0E0DD5DB88DB4AB63DDA9EB6FDCC0EFF1D8D3BCD7656EDFCB84BB24BB93B69F7A946BFC6C63DE67B5634A14D8AA6DEBD53F75EFE2EE2BBB666B7E6ADFB98FBAABE07DF2BBEFFFD87AC1F6EEC8FDDDF71C0FF40F38FF63FD61F641CAC6C415A66B7F4B78A5A956D196D5D87261CEA680F6A3FF8D3D89F761DB63E5C77C4F8C88AA3D4A3E547878E951D1B382E3DDE7722F74477C78C8E3B27279FBC766AD2A9CED3B1A7CFFE1CF5F3C933EC33C7CE069F3D7C2EF0DCA1F3FEE75B2FF85E68B9E873F1E02F3EBF1CECF4ED6CB9E477A9ED72C0E5F6AEF15D47AF845E397135E2EACFD7B8D72E5C8FBFDE7523F5C6AD9B536F2A6F096E3DB95D70FBF9AF25BF0EDE59789770B7F29EFEBDEAFBE6F71BFEE5FCAF7D4A5FE59107110F2E3E4C7E78A79BDFFDF437F96F1F7ACA1FD11F553FB67ADCF8C4F3C9E1DEA8DECBBF4FF9BDE7A9F4E9605FC51F067FD43F737AF6E39F617F5EEC9FDCDFF35CF67CE8C5B297A62F77BDF27ED531903870FF75E1EBC137956F4DDFEE7EE7FFEECCFBF4F78F07677D207DA8F9E8FCB1FD53ECA7BB43854343529E8CA7FE14C0E04073720078B10B007A06008CCB0050A768CE796A413467533502FF096BCE826AF10560C7420054C78184E3006C82C301DEEB8501A0FA544F0903A897D7C8D08A3CC7CB53C34583271EC2DBA1A197160090DA01F8281B1A1ADC3834F4713B4CF63600C78B34E74B9510E1D9604B800A5DF736025FCABF01C3A17B33AF6C79AA0000000970485973000016250000162501495224F00000019D69545874584D4C3A636F6D2E61646F62652E786D7000000000003C783A786D706D65746120786D6C6E733A783D2261646F62653A6E733A6D6574612F2220783A786D70746B3D22584D5020436F726520352E342E30223E0A2020203C7264663A52444620786D6C6E733A7264663D22687474703A2F2F7777772E77332E6F72672F313939392F30322F32322D7264662D73796E7461782D6E7323223E0A2020202020203C7264663A4465736372697074696F6E207264663A61626F75743D22220A202020202020202020202020786D6C6E733A657869663D22687474703A2F2F6E732E61646F62652E636F6D2F657869662F312E302F223E0A2020202020202020203C657869663A506978656C5844696D656E73696F6E3E3135323C2F657869663A506978656C5844696D656E73696F6E3E0A2020202020202020203C657869663A506978656C5944696D656E73696F6E3E3135323C2F657869663A506978656C5944696D656E73696F6E3E0A2020202020203C2F7264663A4465736372697074696F6E3E0A2020203C2F7264663A5244463E0A3C2F783A786D706D6574613E0A599EF9470000001C69444F5400000002000000000000004C000000280000004C0000004C0000120EC9BAA23F000011DA494441547801EC5D797C14559EFFE64E08B948C215C841401422F715101158049575001576D0C1719CC5DD5167C615451CF01A5018655CC76BC113759DC563D0F1A3823B4B000109C81520CA61088170849003729FFB7DD55D4D75A7BA5F27DD5D4948BD3FBAAAFB55BD57EFF7BEFDBBDEEFFDCAAF9105663129E0230AF89900F31165CD66150A98003381E0530A9800F32979CDC64D809918F029054C80F994BC66E326C09A8181B2EA7AACDA918F35BBCFE1C0F94AA0AAAE19773BBF342C32184F4CE88D851393E0E7E7FCBAF6586302CCCD59DB77FA126E7AE720CE1612583E2A4BA626E399697D7CD47AEB346B02CC0DBA1F395F81FE2FED06CA6B3122250ACF4E4BC1A8C448448506BA71B7FC928DC78A31FDFD43A8BC5883FFB93B0D73867495DFD44EAE3001269928E1869EBC6A1F320E1761EEC8EE787BF6D50809F497DCD5FCEA0C826CD26B7B111B1D8A337F484750C095212B4D8049B0F0C5A142DCFA661612BB76C2B14747FB74E2A7BE91856FB20BF1F6DC01B88760BE128A0930C92CDEFAF6017C71E03C3EF8C540DC39AC9BE46ACFAA3F3F5888196F6561EAC038ACFFF520CF1A6B23779B00934C44F8535B51515A83FCA7AE43CFA860C9D59E559FBD54831E4F6C85B02A2B9EBECEB3C6DAC8DD26C02413E1F7D046E58AC6172749AEF44EB5D1FD79E7A99DB76202CC396D941AA327DCE8FE24C3F7B8DA04988484464FB8D1FD4986EF71B5093009098D9E70A3FB930CDFE36A136012121A3DE146F72719BEC7D526C02424347AC28DEE4F327C8FAB4D80494868F4841BDD9F64F81E579B009390D0E80937BA3FC9F03DAE36012621A1D1136E747F92E17B5C6D024C4242A327DCE8FE24C3F7B8DA04988484464FB8D1FD4986EF71B5093009098D9E70A3FB930CDFE36A136012121A3DE146F72719BEC7D526C02424347AC28DEE4F327C8FAB4D80494868F4841BDD9F64F81E579B009390D0E80957FBDBF4C0304C488D963C5DDBAF360126992375C28D8E07138F75F7E81E58F9CF7D111B1E2479CAB65B6D024C3237AD0630B1B1A4AE017E04D73B33FA61DEF0EEED72CFA4093009C05A2B647A2F45E4BF7E7C18DF1E2D569E707CBF18BC71477FF48FEF2479E2B6556D024C321FADB9E9436C997B6FF759DCF3D95134724F26C8D59E9A9284C72625F964EB9C84142DAA36012621DB6BDB4FE1FE8F8FB4EAB6B50B04D7C35F1CC39ACC33CAD326710BDD1AEECF6C0F468009301700DB71A214E9DCAB2876748BE2CB8DB76277F7E457F722AE4B284E3FAEBFF176D34FC5F8E5478771A2A042791E3D23A090CFFAC0BA23589B7D01A8F44EEE0CA533ED475820E60C88C52B33AF429CC4003101A6259CE6FCEB1F2FE0E6770E00350D10FACFB7A7CB6CA903964DB5A40E8826A1BD51B4A903D63275C06C17A903AAA9F82FDF78024FFDEF892646C0D1C20A4C58BDDFA7F933B4E3ED1E17862DF70D46BF38E77AA109302DC5ACE7EF337BCEBC0FB3818646C555F026C5D1C1B36598FAD601141455E9DCE1BB9FDEE12EEFBB8677A3FA659F4AE030F365D819017D63505A5387ACBC4B9837AA079EE69F2099DCD0172597347872C371BCB7F30CD25363B0EDFEA14E2D5C13600E33B072731E167C764CF9F5D17F4AC2F29B5315E21594D562CCABBB71FC2CC5933FB56F31DFF5F693EED094DB5FC546DBEA06E2B9AC46F79E1EE414CFDE98D204684D8C00DE3D32251A990F0E733AE1BA1DB4E047D1F7A89777E3FBE3A558FF6F4330B57F17DD564C8059C92208F6E897C7F0C2FFE529BFFC79663F3C747D6FE55C806BDC6B7B70EC4C39BA74AAC38A81971015444434B3145607E037FBA214606EE0A4DCA89994754C4F308B690A10D488778715238420DE723E04EF9E0A43655580D29333A00923E0EA3FEF422139CBFB4C7170978F531CA8C3FE60CF39FC825981660CEE8A75BF4C537FB63B9A002339EA280AEF5DFBA3C2F24151F4FE9D144BD649F216B854AA7F7A2A146BF3C2D12B3E4C49A6A266EA11004F7F650F32734A303DA102F3922C79C8EAF9BB3B408B797A1B4A4AAA71E8B1D118D02D5CEDCEA7C74367CB91B62213313121287A629C6E5F1D1E601554E267BD77101B984507C101F8FA9E344CBB3A562196337095D6FA63717624CE955B388B2E65DDF871D9F43E787C72B2EDCA9D791731FAC5EF298281B0E07A85732D1D548AAB3AD74106B4A0859B15A5BFF4B909880CF5ECB96C0F2439B958558FA845EC97FEB9C6E76FD0BDBA4303ACA8A20ED3989A69D7F11280E6F68EF983319A89E5447105AE8587225054E1050B32D81F798BD2D13B3AC436397328723EA2E8B95C1A714B4215E6265622C8AFD129D0CE58332F1AB566AA3E9F6C29ADC302EC14C5C9042696CB219B172C7E3B75A2ABBB5A448B3BE0EADB231CDB7E330C5D3B376F215A4DD1A41809147F8EFA8BB0D0529EDBA170A3A903E2B0E10772565E1715568F47FA9529DC4C4CAE1E4713BF9B00135468E5F2434139C6FDD73E141757430065D37D43901065E122BE049718B6D0B56E60DF5B8E14D112E597463F382AFC0BE8B55FB9310F6318AEB3727A2AE6FEF507AB73D59E9B89F654A0BD7EACB3F86A024CA1422B7E68BDF3C2A4DFC0446F319D2CE2CED7E052879D75A60C839FDF69411B5999A3C25F420F7CCCB2EF14C7EEBA7BAF5574C2C55FE76065062D5C1D6E26DA9DBDDDA2379A1C4CA5722B1CB5DEF969CC22F8377ACDC382A851B318052E75D8F31929F1C6F67C8B4FADC10F8E0AFF4BDF9EC4EFFF7654015FCEC2314AEACEEFB874F5F30FF5B999093095B2AD74D4F3CEABDE71A3C12548709EBEB5AECBB633D77EBD85220E0A7F2D655FCA8A1DC8673EFE9766F5C36FC75B7C72555C2AD2E3668BB3E85F63313998859C867E3AF3CE8B87680D70A9837F7E531E1EFD9CAB06C2AB409C392AFC36E72B2DDC92C5E97669D31DB9996569C104984A5B438EAEBCF3E2015A135CA2FF1A72A9E4E53BA0B818C4F21345A556E1D73A5F174C4EC4F3D3FB8ADB6CC5919B890A9383D9C8E3DB1357DE79D1736B834B1DFD65B785C5A27454F86DCE573A33731F1F83A498A60BD8829B8DFD4FBE2882C504984A591F1E5D79E745B76D055CE259ECDC16015CDFACF76FA2F0ABCED7D95CBE5ACBB546BD227378EADDE38DDF64FD5E718E5657DE7941D0B6042E75822FBB2DACBF3828FC5AE76BE6432394D7D8A8F70A4EFD01C38BEE11E1452CED92839DA4D7FBCDCCD3F8842BFED917C45BC6AC968F3ACA367ABCF9DA78BCC6A8CB247AEA45698BE0524967735B045354D6F83551F8B5CED7EDF70FA383955117BBCEE2775FE5A0E262B5DA4CFB02583DFF1DCF317A72C937B9406DF3C3536CA36ECD13866C8D488EC6A289BDB0809321E2B9B4213762E15A5D5B6CE9F28F378667E7B6D0F1F06B9DAF831323B0FF1CE3D2F87A415144184FBB5B8B14EF46BCEDBD43CABB73C4BAD9FCB109CADEBC342EAD78EB2D63DE9818BD364AF91EC7838CDD123B72560B672699825ADA22B8D4675B9171028FFDFD27F52BC4E68EDC45636CDF55E7ABFA83363E2CE8E10CE5E776212205E7BA99E1C1E2C54C5D6343F129E3A3AEE3B24A7B2C5B192971DB7F67A3E002439D031BB16A480962821BD056389770357CC337B97D9CC5F721899021EB0613416BC1A9F63D34D24676E17C1DFED2F728E21F68E914FB085799B26D6BC4CB27B27E7595FCA5FFC8C5922F73D08DE0FAF1E151F0D6E6062F8FCDEDE68478E9BF72A702B2D9491598D2B5BA55C5A288A3FA827FDE4FA9D3AE13BB7F6A2EEBB4E2AD6EFF32281EB7517F1CD93BD2ADD067F20304FCC746851E6D9E8309853EF1592EB4F29FB5F5C1E118C717705E094570B2F12FEF518612480E5657EDAF4452B424E4A625F41006C66707CF2B9CEA1F2292428441584B5AEF08CC21A8661154EE46A30A507D975B8AB5FB0BF0EEBE025C2AB528FA6D1E6062B7C833EB8F63FEB804ACBABDBF4A832BE278DF2787B17A1B7532162314FA13C555F834AB001F651522530435AA98A24E9BDE2706770C8A5340A5E73C95117CF08BBB941D448ED7B579800D7C6127B2F3CBB0F5B7570EF7522741E1627F21176304C539C690373758506DC7D951384DB3CF955B4045F177E814F752AA856FB09D725517822A1E33D2E211DFCC4045B519F598CCA0447503EE1FAF2DC593473AA3819B4A4E3E390EBD3411B2EAF5BE382AD28E7B01447106EC263A989F88B1A68E50F2DCF56DDE5A6C2ED11453FFF12D00DFB5DDC8F179A30850ED3C7991A03A8FBF925B9D62F483AD840460D635B1B89DA0BAE59A38B763E585F3740B377F7CC2365FFFF694D25C2563DE4345C61D6BD940C3601A031711D088D78796E283BC306C2B08C162BE58FE8F06BD587EC9FA1C2CDD90AB3C91FB0033F8FD882AC18C3ACAAC1E779E430B800FC9A94AA9B7DA0A231FEE4E8B5394F429DC96A60585ED1A9D1357D6A4B8FCE149897881B9C2B465C6BB07F13975B0E1B135F8557239EEDF474B9F0BE68B6F4CC6FC310976B1FEDAFB3C3D179C6BF58E7C2C15FE51ABD8370166A56A4B01E60A00511449775241179C6A7C9FE826BBB09D4DA82B6B328231F813099C98A07AACC9B584436FFFDD70A4275D36BAF218F29DB49C06197746FD61C045C56E587E24820604953C230AB9A7DA9709302BC19B0330570068893B413C822B6BB247E77A8C8FADC6982E35E84580A965CD894EF8323F4C71BCFEF8C8283BAEB88C2EA5C574298587D661F5905214D7F8E381BDE4648CF5F755F10FA9477A642D6670B7D323826BBA50399AEA601D5C44BA02404BDC0962929D5A93942FA991F51847508D26A8E2432CCB71B504C781924064160523A390EF09678485E068972A039A884A910CA5EF9F3215DD6F4E5239AE23D77B704F0CC07D060D4BAFB7F3A3ED6702972134E294100E655B930BE5DC8A838FC6D24FE7A41C290B8488A4BD26A133B2178CD2BDCA0418C9E214002D7427B8B426B9CE38308AA908626B318AA08AB4A620B8C835D1DD25C1045510F6140729BA9476C666F6AAC03AA61110887114955A85FF86F86A6C3A1B8A1BA8FF65702B9E5AC433A9BB992676AB42C6394B5C9953D1E606C05EF9291C5BD8CEAFD27BE22D2688D12B1D166007178EF6AA3BC1A535495D6544740DD2C95D46C4D4214CC47DB1E457FA6317B9D4F6E210E45E1471D397C5DAC05E9D711BDD19C55C857879F34984855A74B2AF9C884A55E1571AE68748DCB2E29654F52B6C818D7C96378795E0D7BBC8E5585A0AB0CDCC9BF1EA518B6E286839B0BB7EBA820E0B301BE5C58917DC094DAC492631191F538D7472A9C10495BA2BFBF0A520EC2497DA5C1C8C728A3C5BA19F6C72BF2E9899168B5B07C6DB2C4061B126D2E725A225E6A79661EDE93094EA884AADC22FDAFC98C9486E6752125184184D610E09D1C65DB4366FED5925DDE6A6EAAA5A115949E3E140692032CE8762F7058A6E9625748B3CE3C22DD27101E60377821F75A82904D4982ED5B826B20EC40CC4A4EC2D11A0129C8AA2AFEEB22F4BA42B98CB4C8133B9856E2AF3614410E87A45C47D898042C1C51EE3EEEE270F44EA8A4A55E1176D1C5F32D6961F4CDD5C12463D2E9A5D9C29BBDC8F8C83E93D8FF21B07B7ECA6142C9A946CA7E7395EDF610156BB72A257DD09C2F24B0DAF53887DA12680800AC48EA210FCC07FBCD6A21331F77750F4CDA0AF6C6C72945BCFA0E562FFDEB70C79E4607A56A5E05423FFB25B2408C2DEDF8F549E451B67767DB76AEA4C2176186816C0F80718951081D95CE2BA635037245A0339ED1A74F8D26101E68CB02A7D5C59938EEE04A17FE530D3CE4E8ABD6D04558136EB0E277B34439D6629A22FCE96FF42EDC7DDA3968BADA23BE2C1FD51BAA2D2B13D3552B60F396A4E39B9272DD2AF99F6F2A655FB954B9DD1411591CEEA1DFB71F6DD049886324EAD491D77829D2B81C002FD4FB6C234503FE312D10C8ABEE91481B244B9B6FB5C9C3872B1844EF57411E88B4AB519AD5B6268975AECA598BE899CF3AB7B0741062059BDDA87ECD8A101D65C77822B57420493A7FC9C932744DF44E64B757789483641DA7A2D177B7B6809D69C08C7FAD3A148E9DE0922BD80B668DD12C328BEF7883F0165E73126A84B65D25E198064F5DABE5C9D7758803D3239A9E9E2B48E3BC11D57C2CF08AAA13D235C2ABBAE26C1DD3A472E964F5DECEF56B78536B45AB4A7754BF40C6BC0692AF662CC7F62B61E51640092D52B8DB8F1D1610166A38D833B81B9FAD05C5782AD2D034E542E16CCE59A9A5A5A8374A9890C3C2204485B92E8DAC8633EFD11F4BD7D4F9742A7A8609C63B2BBCE564B55062059BDB62F57E71D166037F6A8B2B9136A1881E0A92BC11591BD59A7E562A25D91434C6C63A383DFAED8E2C5C895C582F41AEEAB9837A2BBED1A198064F5B6862427FF0F0000FFFFF20B1442000011B949444154ED5D097854D515FE43F6852C24614F485812F67DA76CB5D28A4B29B85BD1BA40511010AD4B71AB2828452B5A546CFD44B1564B45682D05F924293B0642D82140425813C8BE42B6FEF7CDBCC79BC9CC3C30336F669277BE2FF396FB729773FF77EEB9E79E739F4F3D092AF299FBBD7455FFF64F55779BCEA9DCBEF707176157811F761404E270B11F50EFA334B2636C30EEE81D8B49BD63303221027E2DAEA6290FB9F1E48F2939787ACD71A9063BE70EC6D0F8F006B5597FB400BFF8602FC0AAF7EED812FBE60E818FAA19321FECF5B3567A8302EDDCF069AE00B3E007193F2C3112937B47E3B65E31E8DE3AD422D9D32EEEFCF420FE919E8B3B07B6C197F7F7B25BBD499F1CC09A8C3C8CE9D60AA98FF5B7784E0B405AE9169939B868BE000BF0C52F7B44631201754BCF68C484FA3B6093E724EDCC29C1F0B7D340B18AECE787A353549052B9AA9A3A4CFCCB3EE45756237DCE109C29BA8C4E8BB60357EAB0FEB7FD3121B995F2AC1680B4D2958C344E9A2DC02A178F43103BC99B48283323DEDB839D278BF0D40DF1587C4B578BEACFFBD771BCF57D8E746FEBEC41D2F0FEDAC66CCCFFF624C4B07FFC77C310686EB31680B4D22D0A7670D16C01664FF770C02BB727ADDE7F11933FDE0F50DA16CD1F818820EA8E66DA7EAA1823DFD94D5DD27463D6D8382C9DD40D9729D5BABEB913672E56E2B55B3AE3F91B12A407B400A4956E2E56F360004C93459EF140756D3D12DFD881B304CA3B93BBE189D1714AC52AABEBD0FD8FBB9093578180A05A5CA9F2454464200A5E1C05313F5114FE8016C8796E04E298A60520AD74A5708D93660BB08FEEEE81FEED43D1AB6D1882FD3D7FA87C67F369CCF93A531AEA4E3E331CFEBE57A784CAD0E84BF1552B7AFC6A9A46FF372E39C40FD307B4C1B229C912906D65D66C01A630837D91D03A0483DA876100FFFAF1AF7FFB96E810C1B75CA77E52EA62E7A4A8B20651AF51592FAFC6EA87FBD07C12AB3C693D342A093A9EBCF5AB6E983BE6AA445517DD6C01763BDFBCDDE74B91955709D45998024DFCE1DB3992401B4829D78F47774ABBA7A8BC2FA1F23EBC4B24B63D3E5001BE181A13DFD889DCFC2A0AAD7ACC9F9080E9C33BA02387403D68DD917C4CFC30038312C291367BB0CD229B2DC064255F4CED0F5E28C7DE7365C8E05FFAD9326C39570A54D43464981BA45D7641151217EE00584F6BA3AA3234B2A6F37F9E80577FD1B9619D5D7827AFAC1A6D5ED80C04FAA27ED1589B25355B808DA34D68082DDC43E25A62308F09AD8215C920CC01E74A2E9B41574AD095BB4DDADDF5D9417CB5A7A151F5EAD028A4AF0F4EBF344A37C9252349BC9CC14FA7402860F54BC6CBB72D8ECD1660165C10171C12C7C585DB059D78446F6967CFA8AA9E358A7A099225B2E94ABF5FADD966B305D8DCE4529C28F7C3D132F1E7CB21C8C64CF21A40E72A69E7C8A82A0F8D11C1B528AE64DD4906C0F47BA91C9624BF715F8DCC579E139D79F18A2F4E1068CE009DC8B8B1D2EE647E2566D32C616D54550F8D7393CBF0F6D196523B0C8029DDE9DE135B00B355235780EEBAA51D2B666D54ED4C636BD6850AA9CAD12135C8AF3059F30D80D9EA4537DCBB5680D9AA9A2B4027CAB127EDFA44076337A7FF6AA36AFFB77F40460E67B9566400CC8A21EEBA940136873A5897D01AB40EAC53668F3FA64EAE029DBDBA88F28E5C2CC7A6E385F8FE7811FE999E273DEA75002B5A38C66231D55E83BDE9BE64117FFE7F9655F6AB4372582D9208B62E61FCF332D0C92F8CD7016CCB1383302A31C2B233BCFC6A4B5611462FDD23B542D8C1524E97D836A8BA1974FDE25B622F3D5065120BDDED5FDF8E4B34BA4E19D01A3FED1A89F15DA3D03D36142D9E74AF07B216C0ED9A29A68DEA800F6F4F96DBD8248ED3571DC5F2AD67A5B688375E0C37A70AAB9046A0FD70A614BB4E97BA15746BCF044B754B6C1B02B1A02D93BCD02D5FCB47FF9601A82EBD225D7A9D04130BF25B66351D292649AF7729BD84E19B64AF43DC05BA7374B199B33792EBA240CACC8118CB754741EA85EE7B3A55D01E5C8F7D8C21F8A1981EB8D5576D77F6DA2365E2C29FEB9760CFA4D2C556F2F940EBE8201C9D371491C1571DDB5C585797652D3A2979C92EE4894561417497AE7F63ACE9FC1A7E5D0D3A91FFFC43E1C824681E18D60E9FD095482679A1BB73783516F62A512624E27FCE56B5C093E951D2A35E03B076740BB970A9124991353856E42781EC9FF7F5C44F1814E18DB499EEC5933F3F24E92FDD22AB9159E48F7631C138F7FB118D6A8E334197723110CB32C3E0434FD58BCF0D47B4393E40BDD0FD7ADF6274E524C49AEEDC162DDDF21A804D589E81EF0EE76366B732A4E607627F01453187CB69233BE0FE416DD09B0E7A9E2ED184C43A70A10C9FEDCEC5F26DD4B9C4B0C8D1E4AE8EE5F83227143732D863C3B47ED67DD5E8EB1F03BA84E01AACCF63E046AD0F3EE18BFCC0E0B64A3DE485EE613197312FA94CB9AF3EF13A80FD79EB19CC5C750C4344A308B2AFCF05E3ABD3543EEB88326F243F1F448707229F3330E13325E21FFF7C47121E1BD95197D65C2BE846778B42EA8C01CA10A82C74F3C578A77F2166EFE78C9E3A5732A5B0DAA4326B8F970D91F9F49A8C11DE93553578B57731925B723982EB741B7303B08541AAB91CF7C5DBE6D1C4C8999E6D4270479F583C3CAC3D62C3FC71F7CA43528CA090C6CB383B9E4189EC2E9241B722ED1C5E5E972D85A01DF9DD5024C786485512E972F4D02D1D2A10E15F8FCFB31DC76A7ACD10295AB86CDB193CFE8F63001BF687E412740F6F38F64B9C70E34F11DFE66969A6B777F9E0420412F76F1E0DC5C1A20080FEEACB09A24787B7576A584BAFD527BEC9C4B2CD67A47B0B6FED8267C677522486F2A04E2722DA2779F12E9C62A0C6CB3725E2A509894AC94AF410F9BFB44F119EC8A0F4AA6D813F31D8A303A5B12D938A57014CBC4173D6646269EA6949FF1ADCEA3246C554A31D2356DA7069259486484FA045F424D8931F80BBE2CB31A56395E4F9BCE25408D6715817347B5C1C96DCDA15BEE6D07FD1AE37379DC2B3FF3A21A53F36BAA314DA25A74B3775FA79654316A557163A311EE0E8D34395784575F4D083896538C5C5EC4DB941189BD40A9B183CAB8E1310EDF13A43ABCC5F51F94FD22EE0A16F28C96CB90FCB0F7AC8F1DD818568136402FE4676C8F2931C6EA86F09857ED5D4DE080F32F94D89EAAEA487E8FD7F3B44A9508FDBFAC6E2EFBFEEA56B64D1D18B15E8FEE62EC90D5A6DF31275938DAAA14135989F548EE7F671DF09A22A8320ECDB2E4C3C62415A76288B875D70A1557E034BBE751DCA6913FB6CF705FCFB5001B69C294131FDB0857FB8C7917F1D87F35265383F54E28F9785AF54B50F84657CE323FDD099DE09326D3C56801B4510EBE55A0CED1C89750FF7452B3A18BA9AC48B3BF6FD746CCE2C6C60F3521B559FEA5E82B517422453D1A3D41797DFD1705545C4AAF89A978AFE33BD1F06750C975E243D23D67DE66D928266EC0DD19A007335C31B9B7F31272393571CC4F78C7011A688995DCB308633604117382179F1484B14099F29DA96527ED347B1908BF4BD0CEE18C9A898CA922B48E0A420657A7F8BBD1EC433CEA6151C151EA45DCEDAE625CA511B55A7B4ABC262F182307A3B8F363B315151D379D6F93E4AE14DDC45C76D24540F734456930598606E0D1B396BF5317CB085362FD2E4B80ADABC2A257DA592CAB123E55FAC458EFB702FB2732B101C1E806D9404222ED2152466E8B18C10AAE7D1DAE6A536AAFE81B3F785C7C350C9E5A3C5BFEC8AA7C6C55B5467CD814BF8D5DF0F4BF908A0FE86C3FC3A4AC4F33490EB4A66B38F28B349034C66AAA4BFACA69B31878EA13157309B763C7F3241BC648E94FF02EA9837FD751F76D1EA2F42B0BE7BA80F7E46A5DAD9F42041B162E77958DBBC44396AA3AAB0D80BB344076E582216BD03CC51DC15DC2567EEDA4C65C17E3C3D423EBA3D092F7F770A2B779D97AA3BBA7515A62556E0FE9DA6FAAB5DC39DDD1E919F96A1D7EB87486BA6FD87AB1037AF3820E95671ECA8177B94D28EA4ADFC0BAF52C556C60EFDF49E9ED2CA8575FE3FF63AE54421C6BF97DEC0E625F2531B5517D12CF1EC012AF694BC6B1EE92BED57269E493F5B8AC90C61139256986196D0CC22B663BA8D6D955CA8B96DC08CC4728C6F6D520FE48E370026B8E764DA7FBE0CE33FE23E591CFEFC685659D4A304F121A6057C47CABF235B9950CE377062F03125450A77B2C9A30E0446563B85CCBACC847695CCD2C7C22CC162F1562A7734FC374D2B6203144E58BEE6A6732256F3A15547A4BDBF5AB16DBF4F2A459CB98DA24E06C09CD233F633C9A59FD4440E7B7B4ED1A9906FF7B3EC8081519C01931C29FF0248D6B6B2D76FEA8CA91CDED6EEBB68BF4067A4F065C0652ACE66B3446C6800EEE1842095C016349D3E7A0B5897B96B8F37181203C5C6272AD20360D53403DDB79D43F1F504DEAAEAE8F5A7224075EA1787B18ADB4D0AC5EC010E2137B7330D215ACABFDA56161211808AE22BF0E34CEEAD9F276274E7082444053B6DD15F28F82FADCFC2A7663DEAD1111D7033775D9CC4BAA3A25A9A717E734F0F74A199E5D615FB6D0E89EACE3AC658CFF9FB68FD27B972882CE66ACAA33F7035E57AB60E5057B4299C0B89F4D2FA9378757DB6D49C1BDA56E2112AC1426FD652FE255B19B7A41443A100572EF7D67295AD4CD473E8BBBB9196558C319C60FCCF2CB58422FFF9BD3DF15F9A231C0D89A27142A2FC2D2718DF9E15DB6AFAA00717C65FE94909EE224AA7EBD342FAB15DD7E6272EAA8BDBB3554B24C1F86768940D310F2B8E2CFF37D27D6923270E4BA72461D64F5CEB8121D5918ABC4466457E1A77CB99F1F531CD215148ADC5F42933457A8BE1926F904E745DDB37E95427B714B35548878FF7A18EAB11910C5A7DB57BA9B2BC644FF96FB3609BE4099BFEF41097D9C76466885D7E7A733B26215ED39F643C648B169A43A2B5D4927682331B3FE57C5D76A411781A7D04DFBF9E0DE85C56190FC9388B21F937FC25C3A4C7582D2FD952FE8511560C9185AF8F719ACE658F152555B588782E5532657C7C6777CD21D1426A5160CD1B1F2F4D02F45C2AB2D716F97E93B383C90D737474B4BC64ADFC0BD380207B966A47E5FC983479F158FE5FD970AA9E255A4B2DE191F1C5BD3D30A29349B197FFD7138ECD126082F18E9697AC957FF1BCEE00B3329C8A3A08F206A965AAA9E9B7D9024C6682BDE525912E29FF274C9EA47A036C49FF220BC3A937492D99B7E2D8EC012698E06879493658EA0D30B5FDCADBA496E0A94C06C0CC9CB0B7BCE44E8079ABD492C1258E06C054DCB0B5BCB4E830179E497A4BB0058C8354EC5A1E3A4354B1CEEEA901302BD6582F2FC9064BBD012696B644D99E3C43B4629DCD4B036036D862BDBC241ED11D605E2CB5D42C3500A6E686D5B97AE9466F806D9B33C823ED5A562CD2BC3400A6C122D9F0A937C0F42A4FA3F98D4E3600A6C14203601A0CD2483600A6C5209DBF61AE37A0359ADFE86403601A2CD4BBC3F52E4FA3F98D4E3600A6C142BD3B5CEFF2349ADFE86403601A2CD4BBC3F52E4FA3F98D4E3600A6C142BD3B5CEFF2349ADFE86403601A2CD4BBC3F52E4FA3F98D4E3600A6C142BD3B5CEFF2349ADFE86403601A2C943B3CEB8591FC68A988D6711D9D2EBA8CF857B64A05188656D7F1D9A37296013675A8697B71F50670CEAEE80BFF3D8905E6F03A0360CEE6AE87E627018C0BCFC2B961303FAD339BA16B03DA87212E32C86253BBC6545F48AEE53BCE62C1866C931385288E5F22690A640C911ABD284B30F1218493DCD4CEA524E234CD1B2C1B007329A73D277319605F8EC84706BFC4B19EDB73A6F3CBB87557B8DB1D23A99D412D026B318200BE37BE128FEF76EFB6E4CE688F3A0F4382A9B961E35C0698DA47DEC6634EBBA5B78BB6D32A6E27230360761823DFF611DF97E49743DE1B54C48F979AB68092D39C7D14DF2398911689A8A84014BC38CAD9D9BB253F03601A6CBF7BE5417CC94FD28CE6C66E33BB94596C23AEF1AFD79DFC05BFA8B2FA7408EE1BD2162BB9E149532003601ABD7889FBA9F6F9539AF481B04EFC20C5AD6DAB90C87D2D6202EB11ECEB9C0DE884E4DAC02FA9AC169FEC09F24736BFFAD129CAB536378D663B2DD900D835B032F3520537A03B821D27B887AB2B899B897C3BB51726726FFFA64206C0AEB127452088D842F383EDE7909A538CC252E77D2F40E85C13F989E4D7B87B6153915C325B0D80C99C308E2EE180013097B0D5C854E68001309913C6D1251C3000E612B61A99CA1C30002673C238BA840306C05CC25623539903FF073650D474F3EA08560000000049454E44AE426082'), +(68,'image/png','img','89504E470D0A1A0A0000000D494844520000011A000000A20802000000113F9541000000017352474200AECE1CE90000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA8640000C1D549444154785EECFD77982449761F08BA760F1D19915A5696EEEA2ED1D57A5ACEF44860A00662860008412EB920712401F00862010220FFB8FBB87BFCEEE38AE3913850802000420333C0889EEE9E69DD5DD5A5ABB2526B155A8787EB7BCFCCC3C33322322A4BF400D86F7F65E5F1ECD97BCF9E6933778F4876AE68B31CCB300EE3C181A80787F1C5589F14F259D6719005579645397ADDABF4E00199906CEF081BFE5397A89F1E88BF2D1F7DE41E74E4E237E8912DB4C9D34C39ACDE6612A9195AC170DD539F3EA022D1A2F0AAD785E3FE035BF8AF992BC8804D9AA927DF56703FDA646894E675702D0AAAE5D11CCBF913FDBDC16620CDA5F7A0AD2E481DD12C6805DA0EA8021BFF3753105EBE1EA8332D89263CA63FB54D92D2D8342C23383032588E6338F40E0A45F28296616CC852C044AAD402B03A78FBA0CD3F88F97DA2C45F39A0A9A0F01890C01283671090F001DC8706829AA4C1553E3048C1B1653D90DA70E9FBAF0CE2610BED5108A48B420191EE995FEFD4FD70B75A7EF9DEBA3C0AB4C27EA05D8B0A20E911EE27969F250D4C597E743A70F0E28024E934F4821CF0843637A58107C14BF50352A1E351575BA00A34F4845B38001A2700DACBFB8103CCD3D0068F4F93FC9E531A02F1AA854E235DE1B74C825B4682EE26687AF3DA9227EA2EBF2BC043BF936D0EB7C16FF98EA0C238F6A013D2409834D5CB88323C3E5142D06827DC64027F14683049F5D078B3DE28A06B00CF76188B88B5D0A45D31174D1A0DBA34CFB23C0301674C583430B51B5A36EE046AB90D34855C11900F940597293296A0320993028AE3588C036B16BB504649AAE3C21F2306C13AD5A3565CE0BEA2E57493269EF82C502DB274231BABD315262C6204FE639424FB81A2E0220893A89708D650CB857F954047698CA67B49E0462BB21744129250C40F2AEE31D1411B1634E4628550AE07375B04DAA2810841DD53001FD5A0F6A965163B0495C40B1526F689B718254AEDE864B55C47754A7B526E14138818711E29249A1C22B307EDD5D10411C6245F9E2D3B2E4172273D1098AE7D2F89EA412A1572B1D705CAA6A2981F49759940F8F69630322949F36A0229E8E53442413DA762FE6CA914322941563C28898024F62E54C1610C4B2B9A00068E2B740E25892C9120FB05C2F18368B8012E6801AF1CEC229B4026B18075E5064A370B8D324DC2FD44D0FEE3D5455396C02747D3A11221000D313A31D0400568F0DB70392434535D408ECD942E018C90C6A623D32390DBB40343C9C6259E2EF4AE560BE01E0D50C9C46B04C8A12D42C307C9618F26C648D44DA11102AF049DA113583A0A14685374A3540CAE5854DA710887320F88A605521602CA21667C0490C46A17DB4D87DC142A899C16808D35084CBAA972455D59249A76B1815C59081E8134DA20A0924D2087388F0218F6660DA07CDA9A3084383841E194E81A82C9105570C811E7883C5CD00CB069CDD2040AA2750778EDE1A14D116254A4DD201619FC2024CD9AC860099087F03460F2E6DBF3D91760ADD3AB03C2F5848054225E69A06691EF9B4D007B4BE516B685E6910CCAC2C2FC69BBC5C3D2FB003C50C41A20F69A6EA02724FD41A2699C82CE09ED2065258E3641A53DB8DC3B616F5EBDB4686A9B0C44611D70677AB8EC6F01AD3753290D00DA5F1097EB33D2D55E531C3F615923379DC8F91ABB018C2E1C6018776570085110CB1881CF3D5DA4137E271E0C9AEE8067F049B327754FA8BDC099DE2DE4BE78B01E421BEC31081112F5DAC6C39DFCA220939F63730CAC6CA041830F6416259F5D2BE04182DE1FEB8457B4B6321EA4620F22734040EE6D0E50000B8E255E465D730466279FCE5007813F5F4A82359B81E3101EF0C84C48D63D3ACD35ADC227D428843D044DA385A1A01CE2216E0AFD407307805FAA4D83BA03A6900692E6B68F3C90BE582F5083F70C7F615D16013A484A0DC06893E8014C47117A4B1D39EE8685040A4AB8D1D68822D6C9AADEE6C6FD839AF5C18DF4CE08BDD91F3D526912D6260165EE07BF1D4FD8DBAE40B7268C7D01EA34178FA04CBF771EED4B6D8126798038326144E10D0677A5B261522405021B4D2532D0300A571441A9C5B2EBC101E1650F5A5D69008E5162D2C773417A19C8D3D81ED0DA68D218F16852B92D5BFE2717548CE6EE69612E1D00AF2095CAC087CB25F0AFD1D41405085A3EFB1440ED51EE003A4B09A20B5B478F26CBADCFFE5E4358CC26A8BC3FDFFDB05704F43C2B90E0A6814C8BDD813D6EF8FDEBF0F01EE0F307E13FAC4307F50A08622EED7380327D2735444BD2573F34172F0A002D7F37E814680366D451479095C83822B80D4728507570C70F1B0D01B7CBAE0C00F548143B528F3C0090EAC165DD09649CB6426F40196831DACAE2E568DBEE1D1A88D1D086833B7610507F3CB8DC7B42A7636DFEE3D8F2053F606F06A14D9E8232BDF0D71CD88A4DB8AC03C05FF9584A1F28B389A64C17E3547C0FDC940EEC9744B9644E4177C8BE0101932C9E8891E35EA9B36421B9BF4ED303D4308EAE66E809D78DCEB2E1C694F0B0487B9DED51477F0DD1E9FF7EA0925DE5FD496DA9FB35E53EECEF34EEB1B1F62A71749A2185F597ABD3F89ED98A009844ABB5BEF500D520926000774410A00F5382E6ED770068FF360771906CEE0837BF66C0EAF087BD204E777009A8C734F5207E51F9BF7AF8DCF08A464AD92A04501070E7D00CBDCB47E569E80D3723C48155FCDDCEE53D78602F3E7003351767E2CE5E25B25B69758CFD6C429A3F7840A344915EFD04A0CD1A874F4D717102364D81087C428071858F6E9B038C02CF4E94DAD7ADBD9979D136BA250719B734808D1C974049BC7A00A68FE3524D492F4ACE4E409028628F7D8CB439BF27D284A704C26423BC87E3B9EF074A1282A67A1294E8CC05F9507CD0A351A2054B6BD30CAAD01E4B19404168DAA1A574E1DFC983193FDD03FB17C4257CD8234633F3743D3B7BF568B579D6BA64D40D7B5D6A5A842CA09FF89230463E498C9030709AE9E4C39325EA9468F2DA05DAE0DDD2805CB0893A40F968955A2219F3B68D4F4DB031208637A2810D030C98788702124883500D4CF586D37D022B8358729DED2858B35EDAD1AC1614A07453B2E558D36348C24FAF2A016D1C8876A602FC4C00B41270A0FC14B015F6247BC0930780B93D16095C816666609398C54D2EE5B52D00C004019A449E75F9016C370762C4B540E9FD400DBA910E7806C10C09600D232DF61DE076EEA69D3687BBA3CD2520A9361A412FBC24F280148111AC320FCD2AF34FD32EFCB5D955A009AFEC9081AF1EDCA89B2BDA738DE0D9886144C7E6791EA32003C2449C636C81616D6C49D06578F2A62C24E37B4FA8FA57075A2E288B57CB005F61DB01A502B8111FBCEAF88E01F283BA6B0BD40DDAE9C04B0C08A8744F1C1B0F406CB8002D00657BC103B57940F4106ECB94A22DAFEF00BCEC88AB7E6FDD5B2FAE4BB02E91A308CED10FC245304DE1D1940FF0D390190E5118242C8BEB1279764F9A06800D8A77CF1D16EFF73A1CF888F721F09E84EB214A7F27816EEC097757536EB1BAA1AD8EFEAA4077D230A2F0DA36CB12FF3B098F6E435B89DAA2F7006A81006897F9D705B07972CF440874B1093FFD00D1D52C3800FF200102AC36D07CE0145E21894AE0135EC66438584A5118C6122E53348D0CA7FD9AF38EF0FC39B80550D91BD00475AB8791663E28DF560BF7ECFC0306B95DEA77C6F313DF348606A261CF7CFC11023C3978CDEC95F417C1253E22B4D9F74729FDC0DB16CCD2D08CEEF180D60365C27F9C114975787C48815184030906954DDBDC4DC14FA0BCC7B894E5A73B01A9774C820BC9031D0126DE5FE45B2AB482FC36FC1C4A53D0ED0FD84423FBBBD4062A4F09B8529A021D6BC6FCD63C19F8F0A469D69406826EC5FC5A80AE46007E3B54D58D74004CBA14D23803529B6D19B5816A81E166D457F3FB64E577BED31F9AEA09F8E109432A21DD8C00FB170B0065714BD1961D6CA03C06EC95C8479739C67F926C66DB84AB0481A474739B0073DE3FB53B8859779389EFFBE3D3DB568FA29ED32B4FD725C611395680218A12ADD3780BBD3D689AEEAC26570BD898094904666F6B7704CD654F4E84D9963B05E4E5F129411D00000D7B0992722050150ACF148DDE15BAFAD9066A98B8E982B07BC12FE2C9F7C86A3F9B24B73B670780821C4C1041CD824AEFE2D34EE80755742377421761C8CD170E6EAA1360800C5BB705E18ABB3E96BCC5872F273826EB58100502EFA1A0806937879397716F0FD07D220059F49084847B2808AD7950A4A10DFE868103223D23DE15A8C3A40477EFDC1DE16DE730B8BC83C0EF8BE7586F0FDB5428DCF881E16941C57A348D5282C2E35340CC63F8093FBF137E23A4E77491272EB82CBF3C056879A123B10548F1827BB907D006842B07D921E95EC90083E6B5E9E326328A6C86B3181851AC89DF1C205FD0A0FE0141D57AB8BB17284C41153D408C32C0D481AD7507B50CFF89EB6EF0F8BD81E52170E3049D9C36F8533DBAB3817BE2AECBDC66BEB7877E60617C70B9046D513FBCE2F490B90778A520BEB42C531A874B4735524E27BF370E220E2207B4EA17A3AE923183A135431219BCE940EE37E26E10F508D7E160E3837722A1180B25EC9FA43CC4D0DE6507B9C0A65A681357702AE0115D40D9A43E9124BBFC66FD12464BD1650303EC51A28996963F2F20E8C204091080DBD2D88B763EC6F17FD313CF0D8F416C762B177990D7146A828A513E549B472388016ACA63FACD52AADD220195EFF4613FF8B3F0633F3B7E617FAACB4786CB852BB03CF93BBAE41AC0A66C57010E65EE3182244ABB319FF05EC7C00D9069F2883CD5C10EE9ABC5E6F3566A95B68967C76F708F7DFA26AE67952E01982979624B443CF8B4D03E4AD20106194294DCEA6F66E0D114A8445D2270FDF4F901D81BC32806B4EE02B4A8B5A67D64F8028A5023F48AC5A06C82B6ECFCF049B5D0CCC505758778B4C7EC5EB82AF483D60825BC405389701760F188E36EC99B823D5400BDD2EE15FE1C81EEEA00E553B8AC7D00C95EC3015C6E2F784DE98230F707768176FB58977B0129A415FC55EBD138077B01F98472DB02812EF91D21515F1C006309AF6E1A8E0D7784B85C5FF081BC524EFF83BA4DBE2245277ACC80F608522E22D3966507EE28D006EC73BE9A6A8BB68138D34A254EB970590700E84365BBC1E51D145D33A20E5040D42B028DEE07BF3C168C007DA354077A5BEB04F5E1AE401C6FD7A27EA2633E5067DCC8DD64E4C9D32B350E2089BDD043C6B349B19F248EA50E802C15EF5208E05026B9DE4D293D50CF3AEEEC5177F775F49EB2C25ADCC72064EF053FF611FF4EA087B73DE069917A6DD552A7292FDEA32A3BB53E0A746D4DC898667E3F1E78963BB320F5E4C26575A047521BA81D0F2EB76BCD92C31048D0E007ED7EF41521B24E1D1C6E5B139B388ADBBAB15B129422A04C3F207DBF240F9048D341B84DDE2B36BDFA4185BD00A08A9E4A57D0540F342397260FB0DD332595BE4B506B0701F1B4953565FAE1F2491AADF47B7309404D51B8AC7B4277756412CB7871053CE280E8AAD86904389DCC4ED0BA05F8E5BB2A523137B217541C2FAD2D420B5DBDD8CF5427405D202F25B9B72228A88BD4F4014CE1AED4CBD22B2C61EC49C241CF92D79C0028E2320194D9EA5E643C5091BD8521A65D119A05029920EFC630DAA94EA394E12535992DECCDCED3BA03A8160853C28B529AF27B98A202AD06F0C13FCFB9A7DEA65900E553169C2B204E59A0E5A55257280DF0F81E40BB8D49A334238A3619A0692A25BC248FE9D1149D9C7B409B119A35E5780E7804C0CFA74015F2262BC5DEC436A02AB58F5AFB7BEE4F850600EB6015DAA2059A765770357DBA4D4FF6B8ECF598B63C3C4524EEE0001A04B377F534D643CF1A7C00A005C18A20F07330791FB4D5D27EA046B04E893C6640E025F9E1714094AA5050A61F9DCC4E6B6DF00B00EDC1651DC0C20344D742B581FA73375EB58AD35BCB9F0A333A3ED2253FBFBC0720034E4200A2D39ABF0034151B8A8023373AA86E1BBCB1D49E195147F79BB608CF057DA59706CF937B78804BDD73231F19FC597CA4D991DA7201D1AE79D1A4BB82A772405D2AB69FB0E71508EC27D389FD243D23D46C57312A43E1B29A927ECE4704E8F5309CA09FDF5DD7F4A3679FD9532A8A7BCF09CCB99F9869CF7CFFDAE1E04DD95663BD3B01742CAFCB76459706F0A1B7710F7714EBEDC383C5DDE6F551FBE6AF1BC809DF89C0D7FC085C363AD12220808EA7D6A4419CBCBEE4B307343102E313561B082E93828E0648C65C9B8102961A6A0EB3F5196C03F8E2120494466958DC68A409F0004F1A0F02342F2C92CB408A648A79E0B51940C8F30A40159B44538AD48B1B28877A4B7500A42C5EF003EBB009B068DBAE12318FE5852B05354883C7F4C327DB02DAD987EF524DB479E252045D2DDC153C0B7EC2A33BD1994A5EFF21AD0111727AA7A069B446F6B74701C910B00A49E37701B5B9E7D0415FDBA36BC6FEDDB8336F1C2A3410753F68B45D01E08EA7A61AFCF73204B7C8786BDD9FF4371800A284E3329B3608DDE452190058832835E5B29AD26D34A990163C010095A14C972032004CA323AA051A23A5F08146E9150CB9B63C009F86265C79688FBD0F8E293C1A459BC21EDA8DEF03AA45AF5016C2BB6BF45044FFF6F1D0C37EFC36F8C5FC36FD7C405B94828A610DFADE4987087EF87C078617DAE0713A93F6836707B3852861BAA0699E84578140B86EA14C8BF0688A7B6E2A409B2900F6E23B19A40277143B20FC3E50D2B3DB9E0554113419C810315213487916BCA8C779B0A096016EBC277AD40FB570403BDF49DCD1A5760158512CFC1E124CCF5E825FE6207DC4ABA8FD72073E851B070EF90968FC41739781426EE8849F0999F90DDD27DADAD81F6DF3B82BEED9136ADC83CBED0099405A70B9AEBA4B1F1C50BAB6F25274B545853DB8DC263A55BA8AFD4DC73D97A8B336FC15862424360324F9C3BD812AE2706ACB1862BED04AEA10DB9304A720D2C9102EF7606833EB01F83D925CEA5E418D7B70B94DB8C58082B8E92EDC641710C51D76F334E402B57C688BB6816472AF0D78F7F0F2F297C5EFC077C0192CB00F2EB71BBFA3C25D90A6E89EE4E97A688B7A00AE17FCD8C77017F80D8312FD417376A9429D73CD40F67E5F410546094D06BEDF392AE67140CDA3FD273810E3F72912C09F1DCDC5035D37A9003180FFBD4C3D2D80972F8008B767E769D16857F80D52B4C977B50CE861DC9FD449D3A84703BC54204CF2D7B7702FE9AB7F2A06F014E966DD8357F37E61C05EA9F6548027E04F029ADE2BA25122E2E60BD7369B80AECC36803E5C51CE6DD92EF902FC7620894A7A0430FD029D0031B852194A434DE1B5099749B0476C1FD0DC294902A1C8A75FAFB5D9BB23DA0A00513F0768C8AFB74F9D38A03C4851C9B64CFF7A825403A2B7B79004326EA4031C394D83096ACAE57EF4F067D7E6BCD70A9E401BA87C8F220320950AEC6784029D6802A2A04289BB7DEAB81FA80F0F1CE85C9B6552DE165C6E4FD0A2B6E08B1ED0420F902A4583FE5CA86F142EEB41A0CD9A97A33FEB3B827A0570E37BD1D554A738ED35204CEFC002880C82C4BA03E4A97D57F4C0954315019E168D0241397E409F060041545BA0F2F4BA1FBA6AF556690371E10EE5EA94A1B978008E27E0E750507E1BDCB49E47AC3B8C759ACD4100926E6E40DF8D620BFBF9D8ADE41F05BC5CEE0AA4D07B14A9930037BE3FFC8A9DE290D666F99E711067BE63B8B742612D3FA0DA3820EE21BBF6B313C0B342DB0023FBD80549AF9DDC5B9344D06536B5BA2B1380A4DFE996133DB5DAE0B76083414278963D27F764D4749BA26B126162CCB3404185810319500EC09B963A2529FC7C0F7ECB5EAE200A57F23D50F716076CB260422424C2A6515A525F1E608A9E9DA8D99602010AD2CC887D9F1E569A4B112334895EA906AC441EED57A41C24E8C73EF09BF2D0C9F473DAF222E521A94053960F9E91AEBEB9D8AB4613A15C58F666529B3A44BB5AA640BD668D12EB28D0657502092AE42EE81D863C346D21487BBB92A085207130E18935D9EDF09854C50D1ED3A782FA046EBC139044527BC9F404B50FF0621E93709AE869BF53DECFE9A401407BD5443FF0025507ED4A5ADC1730A9A5B6177E5E539E8C07D20A18A512C4B21B08904F4069CAA440AD3B053F3C3BFBA1772AA0CD428BEEA64785295C960FCD84B68096A06776B387400D9F65CAF4632F8FD6E13E3F0C46F5BD3F55709F8061490930E8BD20434133BA632ED425801B6F2AEE8736E14E50010F2EF76E003A502A2F78B82B835070AFEC5D0D526B0037EE03A8D1704750F5FDEC007A24F9D129D6C90100C75FAEAEA0020037EE83DF26A5DB32E860EC8B6EDA2EFCFCFD64DAE07ADC84CB6D015B031B0EAC917C5D78D25D8F9BF7006F08F530D8C66F8B76F3BEE5B31BFF2B8557690F1C9DE58316A2F9E16CD733537FFDDCB19E88B13DD6F633DE2689593433F2B203101EC28DDF096D663DF436D0550570C77C41C0D3256E1ED4CF7D80A6BC79B00B6018ECE76B27C019127AB9D5668D4A1E300B10F3E0B2BAC1952070597FEDD1D5555A040297E3C73DB43CB5E33510252830C107CAE99EB10F9D027E534013E7112E8B00F3EBC8B12B3C31F7A8D704657AA09CAE49FBC1EFD2C1B57AC235C82E962DFC389851BF1FBD572E7F625B8552403AB0DB6C5049CAF4D3F786BBB2E00977F5164093BC3488B6D9ED54A4227469EE356F35E159E8B07D8FD8CF25CA6FCBA547EE77740C04200984A89C5FFE20BA94F00B50831E4D090A62D3A5017EAB6D921494B9C738FCEFF4A5754BC26767EFC35F3FA88754D226431E8883B4720BA0DF82CBBB17DC9FF6BDA06B45FBB15F992813AF749204BA19FE4F03A81C00968EC0E5DE0D7A68DDA741DA70E85613248A29CDE0824A7A688BEE0757AC3996207A40450AD71FF8074A4E738D39A0097F667754A0C20037EE0365774DF240AA8E2C08042EF700F0CBDF55E93A016A64E24113586178A5345E89C85F6BD0E25382C25F390F1ED47A877DC817AE9D7C0AEA18C08D1F0C6DF27EE39DA6FC1C946C0A532DF7190F4431D202E1DD1954947E6DBCB53AED57DA070EB70C0494F311E180F6C11FAFEC1E01701D74B7303079E314E405C2FCBFB0070FBC46FCEDE2816C9F31C0E4D07C328720495DD0D90D408E9AF227A1B24F703F6B5DE1D9B9BBCD1ECDE3AE720260B724F96109481C2A03FF94BCCF202528DAA21494D335693F5061801B3F98BADF5BA863CE66F18F923493F0CA35DB103E08D5661184680040528B3E40EE9DB8372D0FFEE2EC6787CA50019BB40B6D20F7C7A7F607554182A81C00B8B07B81EABA001AFA3759F921F40448517190BC936C37B474F097F17C16C01D5A24BF6307012A6260972AEDF500B6BCFA75594D500E24E1F5CEC57641E5A96E5B66309AFD19B5D1940000D36FC49FD4035D4DDD1D9ADB009C089B70F70A98847FBC0A3E48D437D5112D2FC9CB7B3FE781D1F4B40BEEAAC83DE0B7D3C3A6D74054A6C7B701009E9D838D252CA9AF22BB740600B5D99CC1BA800A78E85AA23699361051FCE8CC0314FDD582837B1FB44952ECBB3A8134C08D3401FAD48447DC2D203FBACBA4A1D34857B3F796571B6889EEEAEE3F2A61A0DFEFC466C028A53AE099DDCF5952DC2E695DDDF159EBAE75B7F0DBF1D3FBD5865F663F1C44E6A0003F08C020B7FFFD340F3DB206232ED503CDB1D426DA66135ADD0B6DA25D73EF329CFC72B4786EC40752F05E4EEF57D436784640DE53F1D3F7894E5377671964DDEAC4FA27016A0C5A1B832B43E0CFE820AD49E1AFC3DEF57940DCD1080850B8F18E0AB99BDA79A0A035489C39784D50794A3475EFAC0C72540D44617E24E4834197E1D4A3AE0F0EBF116C3D322C295C2E0115A34C4A3F40B4E5E565DEC63F0088633DBDF34C6251F78ADE756E0477EFA48B0356E3FDD7F61E0BF7DF76587108200F52742A49D508D18EDE469A5D8144F6C17E96DB801E3425F1EC0424F40077E265586B9F3CB037F6CC80BAE8DAF66E1AE29F10A514018CABA6245CEEE870CBD1FDAA07BD2746E1D37FA7F2A344B388FBB8B417E81D020B4B6937E10E689D2C9AB9798AFE430730FD06310924BD7A6B43930F22ED55E5A91CD043EA045A413DF273FA2DB48C83187511A4BAFB743050F77AF8D656B75E71A82B90E6717A805AA09270857E0523022C4029280B85F68AD1284842D42DB67787A447869EF2DD616FF1FDB17BB3D7095A367F557ED4B8ABBC9A55DFA20F02AFB629F1A04A077628DCF8FDC1B5021F0FC65E77400D00A8DBB4363CD0240A97D50495F768EF7A4778A6883E8E12FA6E24A0AB05605205207038810806D4C54176FF001BEE944002D05E805C30A3078DFBB349DDF4C281F05194C20F6A1F2B0B41791F2DDC9C48E738485D606B1E4CF22305F472B876D69137000040D05B5034EA4A7403C8B814058943002DFC928B574B047E9A02EAA405AA7940809D365B1E3CEE5D19BC1FECE3C8C1413DFD08FD6D6FA783E1DEB4EE075E2DD0D00BCDE43B88DD37FCBDB6B3CBF5483A207A28E2F0804472A7F120D6F73C77A20A3D6AC71B7C74A0531A88CE318D57102032E4C7D08147E5EFAED49EE5BD6A2D9F5D77492290FE1B6E54B7A908B46B8AC03F8FEC4D7237C0CD2CF678BBBFD69EA43DD85B84362DCF3700D0ADCC1CC7A29E13F5DE9506697E9B28DDDE22EDD89397EDAB4FDA66DEDD94BD37307DD50E2990055C48A44766341BCF457242F7E037E803FA8F49E08CCBF04481E5FB92DEDE266EC1E30301D240D047D207A8993D6893F728E8CBF8A3E4BE7CA9F5F64ED0EED73EF01B6A0324E18303FA954170A5DDFBBB280C00AD11B8F14E404A33F180CEF706B5D7B40A95D90249BF47742D02E1B5DAC8FD24F0E47B971ED0997A70574117D57D01FA0F329B8CFD816309D012A35467702F4D068D7870B97B424B8672E8A7E7AA0FA4725A2CAF99DAF8008FD3C6EF8DEE35D9D500BED1E11BE80050EDDD0ED4270F2EB703A4506DA5A219F536FF80E1CBFD9E416DDC97911E16682DDD270E62A477113858329AE1E04DB4C7E65EF37E8307A9BB36F7A0445865775FED9D5A9D1C4027E7800035D424856A3302D31024602F07B637AABCCA246EEC5100E028D9A7F13C61AF2E004DF94EF37F33406BCD83CBBD3FB8B6085C965B7BF76BDF6FF04101B6585EF07C27297B80DEFBE0327DF41DD143F81E8AD5EC78FBF6D81ED975C293A41F78DD6BD2CBA2B53A51D1B69C69AE1E5CEEDDC235EAEE7EFFC6813609C08DFF4DC3BD37DC9DE05986BA71EB8880320F8807E89E973B76D6039BA5C2142E6B1F78C97E39C811F4C895C55B11B04C6132BD63B017C06F9920AB8D97A5E7378DDE3FE0F00D579FC1D650EF897B19A5EE930202520C4ADE117E9740AF6585BA4DEBC48B52784C00AD33FCEF13A024116B491E1854054CD0D0BD36DADC6B03A4FA93DAA27EF8DDF6A34DDEB3D0C514C4C80D0C3CCD37774D20433907470F275D6062ABBD3C7F68D40FDBC63F564693FC3681A6BF1AE431FD1EFABB10A892DF43A167272C137E52D09817FCE8EACD83835BA4BF5AA0134DB8ACBB073400851B6F024C52CBFED40EA9EED8C71F607AFC7D0DF9B3EB448FA47B432F83777616416BC98D902829416B36F7400491D92B53824E5D0AEF1781A805620FA3F4EA27C0672247232DD8360C3C86E7390E5FEB6E0AC0D8C2409E58D14041125D904221DC78132EB709977B37D89BCF470BBF935DB3F504DA8A7F9FF02AA6AD620F58613D9D011307B342D0D3D4FDC233EE55B2071A8764E8693D3CF0DFCC80D003076CA91EA99E9320E389F9690F18A72BEA5E9740128693AE1B642D6B1612B06F9EBE5CFFCF86BD6526AD8325F5084A53E220F02B7EF400EFC91603B1EFBED7DF33483FE9DECE3D922868D1285C160155F4D096BA075C7381EED5D7109E11F8009A2AF5B27CDF00E37EFB7E9AE6EE4608FC51204DD31104815DAD36FF342D018838ACCD934D221EAAF094E557EB5E9E4E7E5BDE0783DFFB3D85217EF90DF6382FF9C5BAB8EAC2354E84EFE0292653F1BD85DAD738F1BCCBB6E47EB05FCD1F103D1AE89ECD520B9E7A5B795B66E193A4409F021E6C7980269AE41F510461A0F69C4CC8B5E51A89FB4B018497A36B011FFBF84C600E2D80385CDB9CF4E05985FF5406AC118E0B7FD61E3C8EE7084E6C40E31E8F04A071FC9031D4E65C1BDA3C83A81F2EF7EE40326F857BC3C18C808718BA88B80520681AF1A27EB452DB4237E1FB45675B76C29FEFC11DA09244B55DA58D4365285CD63E006FDB64204ABAAA5B4784453FF601A86320624D496A965AA6570F94EF89BB69EDF17680410010C4D89E1A6EDAEB0E9AD49221D30498C25F9647C77D20E38A507045D9BF021CA0F3B4407C75E1B2EE03B48A29DAAAF8AF3988C31F21689D0080F6AA9A563B80463D017A4534DBA4ED14D412B84BF45084042FB4C1EFE4030135480151700A08FC1E312CC2AC033B3B37505FA80815FD8E019BE2EE6B996A51B8ACBF21206DE1C26535E172F7E75350E6475776371B029775E0ECA80AECCB5B5F786B2ADDB3B79EA2DF1F0FB89FF4853B82140BE4C026747588BA7C0F5E2E7E87FD4CCAC7BC207074B3B77779A28278FDBFF0D71EB4BD5A0DF7D183E60570E37783FD74EED1DC83023EFF7203DD93EE07526ED753FF008304DDB11BBAC16E54C9F3A73DC938C6BA0EEE3D268875976A47DBAD0234D8448FBB087BE0E5B57F2E770635D269C1CFF1170AF86D65F4D02309400D528136B1CEDCF7833F0BBF569B417F04843C4910EBD4EA9A3BB21C680914001D7FF350747583A26B1236AA4FD07BDBBACD87360F2928D361DC3F4E0580A8B72D8454207B2C35A8DB7489A29383A0EFD3C1AA4552F6F448161FE3BA2A7821FD9F44818FCC03C0B2A1CC36FE21E18E9C7B013238781EF7039ACB7DE6459C45B8F126B0D44DB82C82B6E8C1E199EA9ADD7EF024EF4ECB17EE0D772CE5C19DA1C07391DD0AF783B6AC3BEB05394D4014AADDA3692A25BAE2E0CDDBDB4E1B6028F13CF91558B04FFB0185CFB15EB8ABCCEE19F79F0BB5E02FE01D8115707FF9823AE7430F6B9E63401CDC49B2C96F05977B77C0EC4841F755DF2F753FFE038167794F6D3473BB63D6BD5329B0E4CD9FE6A4A10DB036D100C3C36575833F91B8850EFB17BD76D022B5A9B9D4C15CBF1F3C10FBB4081458E6265C561307E1F406B18A2AA4B1F6C09FDA033D04A8BA07C8A315F66CFD0E8C7B52F203DDF0C166199B6B052FB54DAC2748D17CA055D71BA8B3372F2F7A8FB87B6DF0136F7CC0560F26A8B50A79F1B459C3D41BB71750ECC9C03FFC40C45F605F12D5268A30FAF73EBFEA9C0EDC8A23422D49E82CE80CD935E3D02729343F3225A38FD8B3BAECFC9B70BD73958835EA58C76E9B08D186B0C9B44DD87B00CC36AD1E407D228B4ED22AED62D28527D3068F497EE580961A011B744AE067879E9B5D53A6AB652F195281A431A051D8D503400BC089839A6BC69B2A94402E414B89C09F250853C92E5A3E2791C6149A4AB36AE505FF5B8AF8D35B6E7D62B5B87ACD540257CBCF23069B62688F1228883F9B08F30151016F057C7A04DB36FC75893DBD0B04A815AAEF26A10A2E65169413B722AD4C816A467CE47E704D7703D8A4060E60A60950F1EB50BF48BD42852183D41B2110A842EBCB5F82361005740625A80E2108BF150078C50C5AF5D1C36C2750CD03C49B59D11862FFDA6AC9EC0348C6C30999B1B00D41DE0D347D5F745A2655E755840BF4D9270914468810DEE8F2495331BF300555F1821F9DC2FBA2D9C06ED6BEBC28BF33B84944A82D601201213D2EF4791A770B86515A1F6430C0E61CAAC7344D0BABA963EAA746881DCA00D0CC2D088ECD898CC3E3E8043E4AB4A4BE83708B8D3EB4D01C30F45133049480850ED73A5A242839C793FA3828DC8C0E868E5E772FE8CC8EFA40E14569520F7495A1BA7EB809FBE4EB521DA007BCAE02C0422EFDE869FF8EE8CC8272006EDC87AE4C0AAAE282C4DC041F489ACBF7D3146D518E2C2A50401C42D0EC6451C25D95E85F9A7A01FB27DAE44105020B412295EAF6E2BF6A901AC079828311EF58E44A1E3193D3237E330BCB8D25EF7498E876A96200AAF42C608F542FA9AB7D62D883CB043188507980CBDD8B3D0AFB03976612C8CE6F5F797F2E6D39D2BF50DCD58D1E062101D3C807E6DE53B82BD0DDBB54F170578A3423801BDF075D646C1BCE3D84EBF21D96AFAA0DD3EA589DF601DD43E174CFB10ECF3802C3882C2B406DDF85FF0F12A499E1828DDDBC3202CF29BC10128588C485455611598167614192585EE45901FF6800CC1F5DFAC7FD009DE8D6E77A836AB970E77A77DFDF0320E352078367F08E96BB826A51DF288702F8FB19A4DB6272215122B69FF083C55DE575572EB509D3DA0026C086B91B48865155D59D3F0E00D4B7A1DD1936AFC2C0A44CC77418C381250FD7387A2CB9571C7858E3310672C213AF856EC039D081A592E718DE0106F911289B356CD6746C7C5246B4C03AE8901B4800B000EB18CC2F38C9B0A08716599E4E35B8DCBAC5DB7B47C457A7FEE3B70F68DA57EF242B9706D06511784803491E5CA2884FC505D949BB8022D1CFA658CB4293F6A26DF052DDD7C008B0F0D424F0C84A48D888369B9E1672881B20E09707B479D50320E077831AF4D0D67940182C53E377B4DC09BF22D007B4003A6D6E78A0065BB01951E41A8666D9B843D30CEBD6CAF5A18181FEE0882333211B3670D0B5A08002035B24382531028C3BBA7B02B7D0025CB0439091839166B887D2DE0F203B98CBA170B06D1559272432219195594B642C090616C7A896537318DDB14D280A8FC305FA02F66B200470D5827E6CD8960E55C2F2328C44F23C115A6F4F63DF37BCB6F481A6B8B8DB7ABBA33CD64C132EAB09974B81CD7617408D0781F6F2F7041576FDFD2841DAA505977B2770ACA95BBA61304BEB57D7D2F3154DE5CDC8FAE657774B5F578C122F421DC3F40E7B371336718C2DC0D40DC74D38B5E3A10BFB1A8E25B24DC2118691BF2A60A16D1B5C91043620380AE7C81C1310F8A0C84B50F72409D71D963118C68021625930EA148693594E71D8A8C8C7043E8485B56A8C5E862589B6192991B715BE1F107B6E27A074139477B768B9E4B74209AF0778FC3B82CC8907D53AB8D9BFA18002FAE172EF041B460A630504963336D617FF38BDF34D87BBF1C107971CE708C3B31A075B36A866B6C1F215C75459D5B44DD171741B764F386BE36E08B282C0C3548EFB14E0F91BFAA3855B560218D530C043321F95581C423C2BC2360F76AF9653B76DA3392EC041D3B6405316C47850E26538347130B414960D4BCC80C28D2A62142CD96683B12CD8FEF9F757F701F0D0A508B0E736D1565DC839185CF526BC685B5E0F1C1FB5FDBF0EA095490131977B27E80D5B80C999178F9DFC9C1C982816B66797DF1FEB7F7A77FBCB0A233BE5A290D90914F362AD6AEBEB73F3AFCB22AF9BB6233175BBA1D90D3821C10E49B3B4AA56E3F03619798445022C632E893BCADE0146260C50FC03AA36F9555E7F8096A3A1A39FC15846553C1899309E1D272A71B200CB28DEB8B32CD3B01C5888343C14E2B9802CA5B07B838D1EE4C6D44C76ADA06FAB4645352451E0057C07188E5412CB0CC8FC30CF289CA531A6C63902780106600C928A85658B56B017A88320827437B47BBE0FA898F732D17EBDF68ED6A8005C5DC2174845B6E096042E20496932235245E477D36A8AD164924E5CF5B40E086AA0FDAF16916A2446F190FA918214D4F5D9A539382C407B6389208A4D812E423F87E6C7EE463C43A03011A3657711A97070A6D00A5BBBB527CEFF60A2EF91C1E31FFFF0CDFF2AA574F9D65ADFC2A2B2BAC1A7B3E2D64E3EB37E74F4E98C9E33452E55CADD58FAAF8EC8D48D6DD8F8A98D74BD926777EA309B53ABF869E0B3E0B6AADA07200DDE1159E8D37BEB10B810A8C49EB323EEF5A17484019BB83E8597A1BC38A8217B28140C223832B1960D2315575380C4E366AE641825CB3139A8393BE80855589D39E7902C493CD823564986A05FB698BC6EB0BC20C1D90BCF90E8075476D757B0BCFA6D233CEC71BE99E2CAE06077B52009682AEC11146E155126FABA079E054A5060D42F0749CD44370BA45017087CEDB2093795EA76CB8B0ADC0FDCB6DB67D4B80EF8CAF2C0418D7B05712C9BDE01E01906D60C41E04DD3C22E837FB10C7A13DE030751CF3120E00A801910D5A08319ACAE181C232C6DE4DEBCF646B820A5D43FE80B563E37FEA3C9743F1F95B9BE980D7B25B5382B5DBC557BFBDCB197B9E0F1F59DCB8D726930F162A1F6F67072489413C9F8E3FCCFFF4FBFDE6C39CC06BAF6C16B025D84FFD897DA5A0EFD77A9BDED4744B157413161B71AE4F00E0471006F50A103A467E2DD465C766C587E8202ABB09C66DBBA6DF3B61DE1F8A8084266481202F80C1BA725F49974681833020E2E0EB6B6B8A0619722F7AD3B3C3920FC5AEDFACD246A9FA24B2E3E31BCD2C85EA0059F22D25DE5085CC9E6A5795B1ED1D6766D3640C04F4075799CBB00D1E868F1EF34DC22405711B852BD0A8349E0599E83ED0EC30B3CF41F281B0C2A7CD79BDCEBF2979DC2846167E11B7665BE3EBF7629280CA9E5C29B6FFE6F99FCADEFFAD4A9A8F8CCF8F0885215EAA95DDEB405C7342BD584D6CF849D8DCC5BA6B35DAD5C0B07B906F31727A75E0C86F89AB65E2EAAEC7A15F65C38D3407706172CF0EF60F5E4968608B7CD55642C00034AD1D6BECD267458857722322B388CC8B106193F00B20DC49735C002CC342603C3898909A2C9B01A6C2859CE362C7CEE2C3A01D8FF59B646567281C75F38A35D4983ED9D69F382A0598CEA389A6ED98C00D310F98314307FB5033275A926D03D029AE445015E6F75B57CAB130E5C02A081E9D7A255E432F75F9D68D443738E230019AC529F4DF84FCD82176ECE08AAD53EAA1E28BAB6F87712FE1A031AE6E39D4C26A088211176398A2849705E1025A1A66A41453275531645138E23E4384D5B815A00D047DBD9D2CE3B17FED1F4D19F1F489E9F4A3885E55593CF1E954EDB25B59ECD9BB766E0B0C126FB8C5A59CE550A47C37F56FA3F9E7EE6A1FEC413A611DED8782D535875988948ACBEB83AC7FFFCAFFC1A6D180E574BC86FEF36637FB852E403BCEB54EAE8210860420717052E28C2588201C2423FA703180711E96F3844884D983A60EA1518CE80A5563721940D4DE59D382798A0C2B30207E3881C5B207FB269161896E3F15E201406069E659337137111C5CC319B3BA1AD67FBA36DFAB44D5C01B781DCE81E234DD24DA291BDD8234FB18701E96EBC25D9FE4940227B38DD407B55277D2010D9AE2D7ED7A6EE033423F82F322C2C4B31450E4217E025B5D1E045B158AAF0A2842703C3100511CE0EDEDD2957B1E927F41E4911D67281FE906556AE99A5B1C4FA763292D496B3C50B176B5FFDF3F4DB5F96998CA856F8CD4C4333464F3D776D77A6649552B9DB625090859212D0CBF57C321AB4AAA3B8D923130D743BB22E41D7C49502EBCBC66EDAB36DDCBD5E7B1542DCCF72650820C23B7648802D19DED5238B32CEA6D0E9F1852272F881406E54902F384232CF544CB30E8B91C0466431CA0A92009B3AA81E9866706E0675EA08E4051C72F6E361470D25924516767DA6C3D377FB5C09281B09C4CDF640057C1CD4721509483908FC024D50012A4941059A365BC05ADE0BBF22D5F2821F6E2E5D93FC1CA0E89A8D931456336503A805CF813687BB002B1B6B1BED1020058AB8D7B6F0A93BCC7C3C63998CC0B21667E2F197E4EFAB4C8CBA4CAC0C9237FA441968CD0F940421CE70A0E5E09CECBCAF389500BFA133C3FDF67F554401E6E21A17951CCDB2385EC17B67154D5C4C5D67C4DD8DAD77C2B1D10BD7FF6867F32BE383E7243168B326742FEC71F898139DA1533621199953ED22BFB17633218522453DC072D55B2BF5D73FB4E72EEF1A576F4D2DAF096B7969299297A5B1E3FA60F0E8A1A75FB9F8EE91634FCEDC7CE3D8F1172E5FBB7C78EAD837BE3A8BEFEAFCD35F81E144ACA26DEC4CA42A48C65811A464FB833A7417802E2EF1F8D22D7D9783542710785F8F8E25BC278E8D60229B331D18534E549444078ACDC90247DE2D6C6D34E0CC0956BC9E416D82E3B08A0329603FE0350B37D054C08F1ECEDF5B526F742A02C70F977B271C5412EBC14557EBC82470E3FB83DAB1399CA8B027925508265F05C6925A135953E61953D7603B00DDC6C48718AECDDEF621C51B4EF0B1277070AC8101C072069C89B498F147925D0B31359885EDF2D7C39C260B7AC31CC3795362195D17D9428C9F1D8930B9ECFBAAAA0A4EF0D695373EFBFC8F29CAA4C130266E5BE838426071A86704754D0C86FB1971329498AA35D4A4C12A793B303D6AADAF37847431BCBA556779997D88FF043F75828D8562A3833953AC69C3AFBDF5CA7B6F5ECFE7F4871E3A7CE8D040AE68F1FFEC57FE25543BF44792175EA12F422169A910EE477780372E7530C00A240B3CAC46A4E363ABE007B611B2A0A57050E16327B8BA2F6D0229396C084621C7C0D92920E1DD71508704FACE1EB880CD485C068B3896C8FD7B01F6827852E57558A96C383B919147407CE9E53C4DA2A394D207D1EA8D4EC57B3375702D90F3C23D032B81E48863C4B614860DC279172A184EF98D2A67542D0B36E00D43D503B2A819754654B0517B028B407CF286536BE853C011403414CB0E0A1F84184B63AF06F41D380649ECB62D5D364A79518AD81C6CECA6398B4B18FF739C9957382B606D0FF74DC85C702CD1FFD4D94FAAFC14234267D3242C42EBE40C59FA032FDA226F09A2B8BC757371FDDAD8E0F4AD5A61381C156D4666E3CED6C6C4103F101A8D5BA372E248702A5910AA2BF9F5C79EFC81979EFFE96B97FE54AF88BA932E978293C37F9B4DD5C95AD09CDEA13B92A74818C34E4BF2EB01DAB44DED3B23009D9A870510EFCE8BF81A3C8E0A000E00329CC8932C629036234E78206EC18152E16020DA92C093BBDFD8C4B880A27ACB47D3714C722B038C707042C3D2B005836D9816EE1A9BA00E77ED97FEA436B11E5A7704E8B6297672F60388D1AC29DAA2F786831B4131B2B643EB88B053E05899B74D43D51CA55ECD1A5A89233F3922487D20A65A3A179E8089AB47D14825BAC3A725048DED5204B0DB179C883113347E536093AC3826988B5628CE1B138CF558C3FC65C13ECE08C95DE9E7D8DAABFDC67F628C981330E4006B9903BC346D99FDB634B8643CA1990DD6AE4578D8DF445CCB1D30058333A02372996231282AFD51297D696672BB2A8D0CD829435B9C57D3572DC70C8606EC53E71B8F4E0B9383BABD34B36CA8F5F0EFFFD68F64D69D4F7DE153874F26352EC366EAB09BA26523C5845AB0191D7BB65B405C083095A6BBC0BA225A5402003DB85583CDAAA102B8F6C1B204FF192724B3B6614415A1611A382DC01107DB0B9B0C72840D1E7DCF15B5F0D602AE3FF8470958D6C067BC665C09280E0BCB0EECD5C1318EB5588B37604388FB47863561A0B116F0F0AEA023C17012B02C86CEE63195BA4CCBD8249A400F7CA04994E989B545BB623F19E0B7D9A1F033F7B3DCA6DB26E671DAC4E0DA2909D736666F80026AA106EEEEA2AC1D810AB66D55AB71ACA8D6AA95CA9620880C1788469542A1242BFD3AEC08FA4660AA838990F423D0DEEB06B9821726EE2F48045F258076823D19BA080769813795FA02CB2C84D93F36D929A1F2BA208FD61C27C40F71D1139C79DCD07FDBB4A21BEA0F2684FF4574AA922A1B02C3280A638602D2A0C90B65EBE4B757ADB124372AD6C5C4F773CE510D367C7800370C5BC4FB55D057605F83993B1C8FC70AD8A3A21BB5063BBBCED7B6246124362C19ACEC18B65DADE86A09667CE1F4E9AD48F09D77FEECFC89A36B5BFF259B5EAC6B038CF3C95074EAE2B53FE4FFF9AFFC4B300856C8060F0F6A588338A67002C1C2366B9FC8340361E2FF2640CB650268857902C8C7F90D56071EBF5EC52802675AB60EBD9E1C8DA0CA61E6438204B4000A1C9C6B3989E56011136C262ACA419E079A1738586A32D57AC3721451823D9C8D9B75D74D58942C7CFD9CDCDCE359197C8155C9626BB871F4DC01599A4917604233C94F03DAA27E787C4A748AF939407B7059DD54FCF052BB8A75A652A24D18A26D9CAEA06214507B2E057CC751588BB30CD3C2D6D3F59ADA28D5D4BC5A2BC662896AADA8EB664009713C2304C23098702481168656A6C4921B873E468FB4A4ABB10E3E2EB27133C2C0C1499384D7A4D26FB1F52D9E59E145C1A96D737643D5ABB651E125856724DDB95D2BAB09E986A1352CBDE138AA6408AC50B0E1482008D76E574E4E6D9F098D0662E38A65694CD814655C831CC19634BBC14A126739169E00A047351A7006C11308EFA4EBA62996C7D8A85ADC34B9081B942C9EE1E5202387D5BED06BB7370BBBD9E9A3E6DCDA7F4C6D2FDFB83A3B35F95C2ABB2D08C19FFCD17FC4FF229C9D9A25C4406B8E9491CEE5F8DF2D734F786A403487930BAC4EE4E21D08C792F1F636AB9976C382BAC381004B051E96C87E8FCEA030AA61E0C91C0F41C0177A615CB13096604DCE698DBC611639A6E23855D5500D431660B78EF76D6C38105B78571DA64F9EE714D181F9C8B419090EB3789F1086332D4DD3D70E7885BF1F3C10237E1CC420C8B4891D44EB8EC005063EF0FE9413E05989316D436F68AAA1550B8515DB5A6BD4D6787CE52824F2CAF0F084120849A26C19BA01B39A20821A1E67A92D02BF57601962D0E28407CD0203108E3A308F32BC1D2815F3FDCE6595ABCAE2D32A5B91ACBC56DFE1E4A34CAD6408B7442161A86B517153B0F24603F625AAC098A2082344952511EC2563817E25E93005D14EF3B09FE1E619F3513C5C932EC0C3140D5337231816B355CA38961994149BE352F99A24366AEA50358027B65A3D1B4B441BF58ACEEA7AA4B2A9FC4E9E4995ACB703D24E38C8BEFECDB706FB26437DBBD3D39168BC7EE1CD220E2734DF02969056015C306B4CC60B39EDB7EAC2031D009E09C2C24B0B8407F50627585897447C7ACDC2D264B2B01537710891D589EEFA4012060FCF902F08939D9ECDD930425898421C33A73654878FF2926838018B198F856072098A02EAC3E4090EC398C4551C5F5197301727ABE95111EACED1F1F574772C912674CB4209E2BBCBF90EA36BBE7E0F29F6738FF2E14A41990F0EAE1FB062488C2EE26B5E9C61E8B572C6D6B7C39AAEE73291A8E4F0E1A1A123A62DC02459AF5575AD2687630C27C20449D71F0FD443DAD064B02241BD86AD3D3424E794783B95B296CB652DA8DC0859A6537382E1A755BDC138ABB01529D66E06F861983225B9C4A84BAAC5B3F8FD1CE85DB6C19A8222F02CAC5DBC283664E9089C1118AEC1EA55CBBC6D2A61CB19814E60C33E49C417574D3C34558AB57991970272C476F88004E34C6642EC5B57FF0FBBDFAEC6E782A38315A7B1C55CC9281FA6D3EF3E3CF5B19D7CC132D66FCCBC3F3A32C1098D4A39676BCC2B5F7F7B79F3225D9DB0C3BB016877C307B936C705292D91DA17B0E1722980ABD684AB0E9B3746815102CB04C7A9BAA1E16E80FE87EA6DE940FEB0CD831946C4AFDB3A26786331BA65C022ACDB7834AAC3B22E7021189A705A85CD1F8BD3232C7916A44109A0C1718283133357369D1D4DEB9365D893D7C970F283743F748E5EBF03F06774C7ACDB9220DA29EC31BCD44E198AFDF89D20965CC0F6193B1F3E1677580DCE0F35D8EAE17EC2A805C4DC7BDFF85FB29B7F3938FA081F1A14A578BDA1168A5BB55A41374C9311A44004771DD824ADACFD344468BB93F78060DC320ABB95149762E6F551E6AA6CBE66394951DFC95B394ECB07E2FD46B9EE5496FA07BE5BB7D64DBB045B42CED6CB0E236A3538350B8229DB012950833C0D27C6CB13A5FA6F040CCED4D678BEC639639AFD936A4035ED80669B5BBBDB4A20282ACCFACE3B7FF1E7FFF6D889D3961D0A06949A5179F5CA4F0E045223A367CDC6EB8C655CDF7DFDBD99DF496F5EAC16D78E9FFC41C3B8CD96DF4E1533A57C6027B3188B8CB14CF9E8F8E37C687377E905FE177FF9D7B1801C0C012839140E76AE1087E2D197159AFF618CC0876F9C00091C64823EA97A9C5091EB0A78C07B73B807C7B77D1416D7A580606574D87A19263E340611FC6FE1C9877CC109F373441E060A0FC75E7CFDDD61E0BC84DF778281824F7BD9D14020CCF312FEF226F91E2FB9080EEED7C108CC0838106D66ADD6602C21C273B2EC6826BE6F01732D3A4E80CEDD2BFCE39F9AA29CFB34EB01A78403C3CB1408BF6300E0B8A9507A6C1E5712A71E1EAA88543807EB398F0FF9181D760650D39C00B5EFC0DA03BB049CAEA0C60451B359450904384EE0185B90F5E20D569BEF1F54C3F143A61D8A250F4B4A52E0B94030A60861D063E420EEC1411D0CC0D60A8EC902ABDBF5EDEC96109078114E2B8D52C30E288EC41A55BB5269E4E3B09C157F0376EDACAD30E69260DC8086B58D02C36A6A2D238514BD5AA8967674E808BCCD3BAADAA871866958AC80F7A51C4E86431D1C29C29CA369D55B921313A4B80E3B1326AC47BE2F2F8F3975A36EE5838C1009B0D76E7F652DBDFEDA6BDF1A8A1CD7CD79CD39934D7FF9C6E26F3A0DFBDAE50F42C12D38B9AFA6B786225FE2F95034AA890EB395FBF6D55B99F73E981B1939ACD64A4F9CF9986D2DC7A2098BD71CF6D0C9B3276075FA7552BD6E0F0390A73DD0B9F1FDBDBD2DD36C8A26A09980E306D2666D0214D0C0E48C84BF4801E62D07B67C6C46070EDE87802C2050821A688E67D8A7E3364F7720E0CD15036F7F03015758B1580302D0F8A6239C61614F001A706282381401B77E92C81574137B8D6D2AB2A4996429A47D8B66E6EB85943838B0A67CF03834F5AF0A9D0EB43858A3F841AE648E23FB6A60C0F61886018C22D86CA50B69DD8403695DADD7820ACC69D08B60713261E8C986C6DB3ACB436B0AF8351FC996C470FFD019933B128C9D0A45C72BB5AA20B00D1D9A4283A1298662980B9E90D1097C218CE5CA7AE1C2CD3FA8D437EBF5545849E80DA1612E664BB758AE105512ABD519BB9AE3AD374DAB0479735CC5B60BAC251B7A5E81CD87AE7182C057CB622C601A2AAB6B9A5A672CFC02021482E32C385E3B76C0766A869181839EC52B65156F53599694E6FE4726A0144B662AB7AA995ACD312469F8AB5FFDDF6AA5E24FFED8BF1AEC4B38E6B5D181E0DAC6E591BE478E9E3876E3FAA224AB1363C3BBD9378BE5A56A952B552CB3A2285CF4B127CE9572B93A9E882ADB79F9C4A1972EDD9A639D22CF6CF1BFF82FF0EC442BD9AD7A72631B961332AC7C8B4DC7704250C5665A9B001804E0EC8002B0BBC5DA856A15396657854D2D59F0E8E1B09991EB02DE96C0D162322C8C25681F32BC7109A2B6EAA69533F56CA361E866401045D84742CF2069B880E1DE13F265F3550D871363C6140928188D9801F90720D9ED71B92D7A10B4A9D069E11EEC1C10BD2D77A6FA384040B9718DC26D056E437012851A01C2847383C0566A4C20108012F0AC1809467166C35BDD20826779053612B6AE99E57229130E2BE1C8C39C14B5F9E1407C6A60E8319BC1FE9EC9662D9E836AE7C5B8180A189609A3029FC86356E08393CFEE546A70F42FA6765F5762857CE1765FE4B8C316357536C8E6063815B296858A6DCE3866DD686459232FD89624C85AB5CCF18E61D560D81BDBB9602854B774A650C3DBC3A6C1D806BE7B06A5B338CBD4702CE972C3C8C04E45B00265C6BC56AA7EF0CE7F58D8F92F5A7DAD505E9D9BBB552B5D3932CA9E1CF8E17A401A1D3FDEA86E189CC37323D5FAC47B17DE3F34FEC2D8C8E9C5D9B78E1E4B94B3DAE2CD8143E33F2585376C53FDF0E6FC0F7DCF4FD50B1A2F4D5F7B67CEE4C624B63C109FACE4D6D86C9D8C1DB74B23602D812B94DF807A2735814CF80F6DD19272E1B516B69037329AA0A9B0CEE352CC3B32BE1F05C389577873AE04C906CC5BA00AF307CD0132C0BD07EE582057DCC80117B62570240227918719E14267321C9CC044DB0971DC784809C2311476CCBA234AE83C05686DE50D15966A569F8CC8398DD371D9C21CE954E1EB6AF70B3A8A6087E6AEB21F0D5AB54D72C10A27F0A29D0E50951613EF9EE14114D725D8E27182613A8204F5515DDABC353E76BC96D74787866C0B1F3E18062BF176037A905196654BAA31E56CC66C5487FA8712FDC3BA51E1D810CBF0A0AE1B9605FB0087A9C2C9C92C9AA1BEB83CA4DA2AB4B565DA0D5DAF542A63FD8370248656DDCE02561D6BC9E1738B4B7F22C9274BE5D4679F7EEC54A000ABA4253564E3B0143C6BD9D72C7DC152E7CBA58B6C8D0F46C215D5961C13BCD137F23A2384C7A38CD9209381C9C2A80D291CDEE2ADB38CA4EAA20E1D4D6403D290C957AEE5BEE7DFFCCEC547C71BC9C387B49269874342A43E19FD31D8A21D3F3275F3C61B4363D34F9E487CF3D2BFCD6DEFCEAEECA885A189A9E74F9C7B792454BBF8E17F3DF7F00B159DD9CD1889BEF5D4DA72A566366ACEC8447266366B72FAE8C0638F3F3AC9B06F4A6C008713D436AD6A0A988370D580EE88CB0A563F2C0EC0C17EEA09E204DFA428488BD188D7C094802BCE70F8DB638CCC1B0A638BA2B251B54BA621E261874892C9B269CB85BB154413D8FFE1039617E0C0E1183E6094C2681425F17450E6789859043889E1BD70537304A162319BA546BFA0543833CE73B18090876314CE0DB8BDC17BA4C43D9A91E7700FA017BEE147E53D8E3FDA9674CFE8B4E3B74F09E000288746695237C010E12D680938C14B6CA558D3B4AC1834357320A2C41B5A9D8B15B7B6B6FBC361810DC463C31A1C95585D0A889ACE6BEABC655EB58C237DF2912125CC0B86AAD9127E63C86160CDB21382059DA484E75C8B5B5B9B091F1B60D9930E93531B5A3854E79D896CDA1C1E0D98160F2BC9FACE567060FBCDB7FE50D21772C50D9EED1B1F3F562B687FFBE5612D7B9369A49363CFB1C23823C1763E28B096692C58E55BF98D19C160634303B9AD0C14980D08B059090B512B10341B15C92AC24E9461252918AED6604F03AD6C0B81A8E1D4C28997F9D80F5CBB794B356E4BF2F14C6D67787AB4AA49BB3BEFEAFAF4CCADCB23F1E153538F54ED2FCBB1A7D733C94271BDB6934E8C7EB25ABB71F68872E8F88B01E9289C1C0D3B0287474EAAFEE16FFFFB97CF3CAA84CAA9427FC599E2E5CB5387D9B5DB5BB7AF7F99FFE7B8D98336F0077A2104051D3CD064349DA460CB61687260E421BBD5FC7E82B63F4C8832232892B05BD773A6A571745D42319081C1039DBD15F0572AF1B004B405820EBED500E72EA833D8F291ACF1364649374682B204FB46F2CD7C7444104ABA93AF361841083082EA184158E7784EC7D9939601B3A340B70E8C36797F149605620F01517ABD23A83C85CB6A32FD441B0DA0B4FFEA2728DAE5E9E36ED86CB316549C121065B9AF0E670873652BFB464449D4ABB578A85A285E10F1B14F5F435B6A5873E99DD761B844038396A5487286B578D858356A46A5B2212A43D572DDB66489AF55CB254EE6B2955CAA54CA1A372BB58A12A949E29AA00734E38A22D743F18CAAD56A8DB560B83F203AEFBDFF4B9BB767C7C6E27DB1A4A933B337364F9F3EF3EAB7D604B16FE268D4B163B9CC5BB07EF2026C684AB65934605B198D58AA9ADE480564AEBE1B296D58F965657B26A3D8A220EBA61C166C11FA880E076EBCCBC7929F4B2846235381409473B62686224786CF8F274313FDC1101F6442A38B37AE0D8F338A987CE2F18F3B5C7568F8B15239B0B1BE61944A4F3F1979E6E9A707078B8E25CA7D6A40095B7651E4E2C9B073EBDA7F1B1B654A66D609842CC618198AF485B9B9B9AFAF6FAE4D0DFE12FF4BFFE2D7A18341757B950F9D9F8C121AC10BED83E40E0DEEBA08ED0AE08C889F6E14D0DE8AE44A86136E05E1885A31ACAC61189C28C00E81248149D8A7D87813A435A22C5C156120D123130733151030EDE05739F0D405C75A1EAE0D87937806264C18631C0F4B0F97D79CBC0A3B791EB6FBAC6DE9D01B44C182F3938566A94F779AC8BBA3B368F7897B36028A77D4F50B006DC1C2C4C2FE4D153956E024D87AC09E5BE6E5B018641D8DE3CB7250B97AFB0F8BC52B9160B0DE985BD8FA4DA36E0DC61F32D90D89650301DD34AA0D7BD312A4547E21113965598DF5AD4B3A9F0E04C6B7B7666C3D50334BDFB8F42B81785C89087DA11702AC34B7F6EF26061ED6EB9186B554AC2C06C46158C1346DFE9163E70F4F1DCFD7170F1D7A7A6A7A2A982C0422F04F38FFD0770D0C0CB1D676381435ADBC5E5BB41A29CED15856B5584D8473B4A64B8C70F3BDCAFA566D79C3AA3AFACCB5AA545694B8158CD8389660CF89E536599E55E2A362A2DFE243229FE4385137CA9C08736C626DFB7AAA529E18193932F2FDC9C1C964EC787828E07071D3599F9E8C44C285E1A108CF8E9970F00BC26162A45228AAE63CC71533BBCB0BBB1F8E8D1DE30C737B6BFDC6D5B723FDCEEDED6FE50A25C31053D559589DC89D3DF0009DC08E8D4385FE2340E720823FDA87E716C2C124224EC7527BCBB914A101D877C9033BDCD149026C320C7CD02AF0B661C23C485F7B252B0F0C1BD371BFF307A7231C488436F00E3824B1988ABB4E1851C0871162C3EA5BD46A8CC1540DD8780BC5BA5937F17826F2F8DD1B58BE2CCE89F062032CE1432952427733BBC7D583A04DFE6ED53BE1B70034851BEF092AE61726AA7BA22E4500518EC7CE982F65759355B54A302418BA1D08490C275B7628DE17B9B9F84A319BB12BE39ABE59A92D9F98FEA4CD6DCDAC7C2D1C1EE88F26243E9A2ABC9FA95C0F05266C693314175616B660FE6B043E54ADFCEE4EB16CDEACD5D733D9A550C054C230F8ECBE58381CE8CF559684401D36933BD94B4B1B5F8DC6AAAABAC6DA438C224C1F7E727EF5DDD9D52BE99C5AAE947FF8D91309512D6B8BE1D0E3B695D2F50D59088881413807C101011A4EAFE534D83EA6A5B5EDAA30A648537D5AC8900682E66EA39AD2468FF5D72B791E1F3B32BC242861491164D8F16127B0CB3AB36DD93B8E33C7D496FAA1D889E7D810B391797569EB2B855A7A2B7D559641AC92888CF2822EF2C783C1C18DD462A93653562F2FDEBE2A4BFD2BDB3BAB6BBB7D9CB3BB5ECAD56C39680E0D3B97DEBB10B585BE603CDE7FA25EC9F1BFF4ABFF122ADBAB74BC9291829B4FEC79B834E18D32D25E502422403E7CF0379E9F6E3D3C0126EEEF1D1936BDE4F7D45596D139BC95825C165F7E75E8F20485824D1B0C151842387EC84E8F2C5630BA40116806BF6D413C81595367ECB0C033A2C18B706AD6184112F0E73AD1496C02D6E6983027E297DEC913355C956831F6BA4AD1C9F1A32D15A21E87D26DA0493DD043A6B77A67AA9FD33515F66CBAA5551A6AC3B0792E9CCE7E50D7672DA37FA750B5E55876BB34167D88533F4C67667255E8EE9199F957B49AC46BFCE4E8136575D75076457B22224B039161599460784486A7A4F8DC68DF0BF5CA5C4E7E970F0A86B3FAB9E7FF6FF5B2313438BC9DFF5A435D53AD4BBC22D5EB42AD2A4C0E7E1C46C470EC851B337F188D54D79667356661E6C6F2EDEBE9851BEAF65AF1734FEAB0E0C5FBBFA40B7DB27C5856CE49E1738232CE8A83AC1815F9A855CA0AB6B37AA52AC4783B2656B4B255E198107E4D677A2A60C93511A74CECAF7238C4CA112698E4C4114EEE67A4733C7F5E91CE58FA7993831D52633EBB59B48C647280372646C7A70D6D2B97BB962F2EC423939B6BBBBA515C5E79BB545D87BD68ADAC3FF3D8A716365F9DBF59D20B3B9B1BBAAE55ABA59BF98DB5B1FEA79D50E5D4C917DF78E30D26B014EF2BF1BFF4CBBF8E6B0FB60006589AE846088F02E42D3BF77BACC085FE08DB59940297E966C9D323FF088083B2041E814208DCBC8B2257D70D0BDF27878E0DCB167CE09359D88B907311D9D1618081847B3F90C16D0ADA877D1E8C3F1820029C4305074E62300F3161068ED64C10F6F50223E26FB9E0537616B438D8DD11E33C7E7BCCC62FBF93A72D38CA10D4B7AEE814E894EFE400A0C8B4D4C40082F23BE1554E57F815290D577CD0D054EAB40C1C0A37DEE4000179419F135839017B194996149617C758EE58AAF4AEDE58BF7CFDE2D16327027D7C30FA190666713D93E88FC2C661697337BD5D51EDE5DDDC6C908FAEAEBF6333C168EC2C274A37967EAF5ADDC857AF5CBEFD3B0323E70E27BF1014EC003EEE1C0F844F5C9EF90DD68CDCB8796D753937D237160C445F79ED9B576E5EB0D8BA20541853B83D33174DD66DA77838FA72357B1B46E0CABCF9B5AFAF7FF1FBCF564BDFE061DDD4609B778331AA0E17E3244EAF5C2AECBC626E173931A0284299D10D2168680227F0C1A0256ADAF4744C914DD33183A3039191513E382005063933C0730DCBCE9ADA6ACDBCE894D34E202B1A15959B9C2D6D2DAD5E4CADDD9A1C397A6B69EDFAAD37A2E1FEA1FE33AB9B330D63F7F4D92FDD9CB97AE5C24E61B7C18AE67FF92F6F2CDCCA9E9C3A1A0DB0674FBDBC9ADB3E7CF8E4A73FF1B30D63E9B1477FC076061343C60F7EF2FF258637F85FFA955F6F6B55DA00CD660082043ABC88007C10027BA60B6F30359BD00FCAA4A9B06A588ED580AD0079375FE638D892011FF6724DEB0440130D328CF007C721080EFE4A11BECE876F21B13084247C4D961539A870FCF61444C9AF5E92FD2ADECCC0812D702CCF0B26AC542D1F5B770EDC780720A9B3BBB7A9783448528394E9F13DA22B3C1F285C6E137E0EA53D0E4A13BACDC3261B01493495300990E6600B00B5A93B8DEBB35F1F1F3836B7FC677FFC87BF912E2CC196AC5A910692E3EF5EFAAAC33696E7D33BBBB56221383A12EA4B844E1E79319BD94926E3B7E7DF1C181CB93EFB47FDD1C38C5DDA5EAB3BB618EF1B5A5DFF1AC384DEBEF6075BA9D58D9DB76C5E5C5A58D9595525C128556FEEA696D35B8D1B1756576EAF4F3D3C54AE1B43E37C44381C0F9E480E4C16CCB2A9453FF56CF297FED1135675D5D613C1F08421F6B1DCA4AAE7AAD9AFD5775F95ACB2C80F950A7991B38C2C5336553BC084C35C147F82478EDA56355B1F3B928023B6180DD91CB479000EDBB624DBE230231E93824F84944FF3D17EA3B653D5D6E64A86E6F41777B79E3AFD5379AB502CDC0C4983C110B3B87A9317A564DFF94B57FFD434ACBE787F986325296C19FA138F854321B9685466173667E76F1D39161B1E8F67CA1F26E3E757D2BF73E6A12FAC67577971148713567FB3193C90FA0736F6426877CA81AD1B6D407225B7E528F60E2797F2C163E22E0DF77DBC8A3F86862FB9D204BACD031A172CBAB7441A09FCCA1339B4E158220349C49F55A101D725FCED5860C2EC4BFF56000C4C7CB084872B1E46AC001B0446B7F0E7254856E80C3AD10D1EBFAB401BD32FDC96E481267970B9DDEC53010F30185CAA49830C25E8B7943B5540A46306F06504DD8B5371E043FDB1523818ACD76F2DCDBDDFA8694A55A8546FB1CAC27B1F7ED962749882DE7A7546AD5412C1BE95B5F5C9C93E55CBD5B41D991B4C0E48D54AB5509E8506371BD6D993DF55AC6CC7C2C7E1946473762A5FDADE4E0D8E3636B7CBD90D666BE3F6F927860F8D1E8D4503A74E1C8F46EC4F7EE26C3C26B35CDD54FB0C6EF7DAE2C5603096ABEE706AFA1F7EEF29B5960BCB463DBB944DBDC2653E548B6FD8C69A006D2C0B8E10E4F5945E2A0743A1C0508CB14C893CDD376D23C9F061A53EFDD0A01D29891C2F8503A6ADF39C29F096C84A3CDEEC522D3D6B5B3913469F337E23CFB0832746FB4EC746E3DFFCF6EB85FC06EB5433A9026B8702D2D491A96756D7DE9D883F7D647A32999084A0DA37909C3A163E79FC5C2C305C2EE714B1F1F2332FE7762BC76099DA7C43015F1A11C3AA07E3892B73BFC51660C985BAF635AED79048600AF4706C2688422A7453727B0D4714E550752244C88E8E420D52DA84518127233E57D72CC60CE2179AE098842F13C1FE0F9B1CEC91E7C8F84A10DA03833028F00E3806BCEB88AF64921F55C3B7CE65481690C0C126C0F48B19999663D88CC1380AFEDD2AB66EC17CCCE1AD145FD1D074073C3F019D325EAA3F8932F73308F0DBF440E5BB26518000A4423A0852DA63FAF3226C97E32579C27B684C3461DAA95B858DADF76D6B7963ED82D65037960471306099EBE58DC2203B5C3377F8F0C0F0C4C7774B6F7CE2C5D33B3BA95A9979FCFC67CB5A717BFB5B6A592ED6570E4D1E8F042657772EED6C6F9E7BF8E56C69251216EBFAB2C08FE7B29624C7676FDE5CBC91FBF19F7C468ED527873EC68BE186C625927DBAAACD6D7C18160CC6944D3672F5EAAB41CE9C987E7EF1EADB3FF512C7C707B3E9EDD2CA5A900DCB494B71C4705014E3413618C1EFFFEA8D6A6973EB66F9F0B990510D9855B1942F709C1D8F2639C1518D1CCCBAD1618109C53821E4D842C330045617B900E3341CC73059A3AAC5F8A0F4CDB564A52E29E1ECF5B70AC54DFBF35F7A5110C5CDF4B7DFFF1653AB6B9FFF5B27194BDF5C2FDAAA9649EBD178C011854C26F7F2C73E79647C706CECF1DB2BEF2422C140E4D48DC5AFE4D2F973E73FD61F3FACD58C9DD262AC6F80FC411AA874A8F226E81E8E744B9A80AD041FA4A3B370D683E30D7DC04A06A23B9CDC084AFB8DED695412055918920C74F1425D0F88780BCE36F17D4C03861419A53074E01F3E43760104AE8478CA023BACC3C3EE8D85C5CA81A1C2E38FB1C02AC70A705622AF06E21D3F3880C107CC61920499E18FEDE121CDED8EAED56E8054EA7057F44EBD3774FA43B3C08905AB15697C6B0A4F9710C312E22B0B3C9C08A1B6605F0BF3062472329C1A4D989A2C9315544D8D04828E6D9A264C4CBAEDC88E6CCBF8BA23FEAEA3616FECA63FEC8FF64BE2D15425B3BCF49BC7472697966E98A63ED8F75C7F5FD2147677D26CFF4432579D8DDA4E5FFCCCFBB77EF3F2E5ADD3A71E8A862772D925CDD83C76FCB9CDC24639B5757C623AD4D748265F0EC983576FFD7128323435FED2BBAFFDFEC42363BAA58B8C59AD5D639DE385BA198838B1F0E4C2B5BF3C7BE6A5BED0A3176FFC5E343060AA66395F9AEA7FE2F0D19D41B3D860B6199D0FF006236BB2D21712E37A395BCA15068F3F2C2A138EA0D616AF6BF525D1AEB19100EF8455518DF162754DB702955A4548C4197D300967EA20F41F76800DF509E221DBD2D5EA22170A84F9885117B61A99F5C827C71301BE21EDECCCFEF1577E6760347178FC11C7D41756971A66DF2B5F9D8D1A91173E952C958A972E3B81A8D11765798B1743C2CFFFC2BF09C44CD5D8C8A637DEFDF66BB55AE5D009FE89477FB654DFDDCEDE4C6516BA0F276C43C242123B11A1B13959BCA36DE37A821264FBE42E226438EDD7393C3EE9D7C0C1B784AA9A5533614409F8CA2AEEC7D006A6D1FEE49B8971FC61C0E10496605D827D1DDE7580C3124F87133932E1491D5F78B0F0B72BF1CBED60C322BF104696B87650AFDA3C04508E1F5E6A67921F20E6B7E6D19E56A71D3F678F16A97937050CD80E07C5E070238C6238D83001B67E854A1676C40297948206D401BEA18A5F33E5A1A2A1E8B093B058A35CA9E34BD68DCA507FCC3417775237E2CA2427864DD87DEB36A7E896A1DE5AF88323539FC815AED56AB589A98712D1273385F45A767E6DF9E6D4C0495D5DDAD89D376DE5F0C4445FF068CEB82658439B6BF3C78F1D8A0F4EC18AA4DBAB5B5B4BB623568A7118D5A9E28A146076B7D33FF3B7FED76FBFF7AF0DB571FAEC31CB985222E1547E3DA8F4E7728BA160E4AD37DFB06A43E71E3D7C78FC8830FBEF64252C472551B4D48613601B8E518A0C1F193FFA31968B58B6C18B8C967DD7B1E5F2C68205B345AE1C1E8B989CA1C019201896C3896225C7A60BBCC49BA120BEC6C9C71C21C48BB02113A4C6AE1A1E0AC69E314AB557E73EF88DFFBE3EDC1FFBE4A79EBE7CEDAAAD5B1387C6854031918CD56B56BDBCAD19CEF8F86776520BC5ADF48BCFFD584DBB100ECA8E3D25442AD5AACE492555DD89858686A21FBFB6F8FBB6A3E8765D90E4BEE890FBDCC96DD226F044030D451EAA9207513002F09E1B6D6ABA34E1A4E97514D027E30EE96EF092C8A287BD036F1070AC8ACF9AE060C4D9F85501FC05087CA88DAB207E67004611668757D8E461E7C1691A4731D8C3CD1E9820CB14ED62085893401F82805FEFC0AFE24229C03E71B11DA0E4FAFF80E015D3237AC31373871089C21540DFF0606D0BBF700423A2A6323515D76841C05744F0DD4368241C4FA22456AAA9DDFC32C3C638E85BA2824F08F832FCB7999A6ED6D2E9CD7A635394355BCF5DF8F0374241E9DACDAF97AB85BEC8F8EADA5BB218D8CCBE150B276AF562A6786372E4BB4311399B4D6D6FCC0936BFB576EDE23B971AAA53AC16A13E5F7EE91F142B4BACA8C2B2B7BD937DECFCD930FEF2562E28F64D0EBC60D8F55A235337971C595F5FC88C0C8E40F36EE6D64371A96F6044929F5A29CEB2A623C88D1B372FADADAC29526360201E89C657366F956AB9D1445C11764D55652BA5B068D85C233E7E6A74F27B2C11864B08F6F58E9317148E0F45E548383C3C29CA95C0407F64F8A4108DC9E1215B0887A38F0A816043CF19D582DD801D7FD56C985AA36ADA15B1FF65C34ADBE57449CC7CFD9D5A3C1E80135636BF3D7F3B170CB20DAD5E2D9B217EF0C4C4B97A55DBCE173FB8B23E7B63676BC9FAD33FFF6626B37EE4E448DD2AAEAFDF34CDE2E50F2F3E75E6EF0FF43D39BBFC17EB1BCB50C68DB594AA15976EE7E870721721D2B2D0861870CC602353265EB11FE3111F454970F9088C35E90E7896C15E53107990091C8170F8C0744ACC4232AE7E2C6BC1CC0A8319B777C8815E83838AECF640186FDF93BB0EB01CF1C02019C0C8C7FD1D796C059B4168011D4C603705B28B6F7E6657010A34BE37753F61CAF75F7B0004005821FBC8431DF086C955EB4CADC657EA4CAE68E50B58498AC44A700C24FB02C76AE00BDED59BF35F9BDFF8DDF5F50F1AB5CDC1A1C14C716965FBB753A92BA9FCAB65F57D859163FC70BDB873EDE22B7ABDCA07F3C9C1A9F5D472363F5F29AFBEF5DE6547B7FAE22131A0379C9CAAF3A9EC0EF8631A0D09D6F79856A91627878704CD38FCF0F8ECE24EB194E239656DB3C4064A369F37EC6DCBAA15AB6B334B6F29CAD1ADF46A32F670A3A64E4D1E191C1A9F9A9A2E6766C341B0C7ADACBFD7A86DA8653DB5BB234BCA63E73EBEB17A737CE8D1E5F99DB1E10986CF1E4A8A6CAD6E0724383A41D50889C9D1633F0E834AB2864DA6C1F1A6A3ED70D2219B8DF06CC491461DA16A8851CB1E65E5389CA6393661EBDB4CFC3931342432E5469DA9D72DD3AAC04E4892A3262B4723CF96EBDA7FFE72A9C1D6612C2586CAB1B8347D2C303A211C4A9CE9B3A6CF8DBD3C127822161CAF940583CB9C7BE48CC0C1896BE99FFEFC3FD26C335FDD1E8A1EED8B0C8C0C0FAEEDBEFDC69B7F641B865E77CA7951AD942541E94B847038F92768E8E4B083A39B2EE8A0389CC8F001406F863684F6C77180E95064A2836244C107DA3F486F6E838D270148C23D9F1DC07AE6751BBFB04274602DE4E17866924509172858B8804F0DA1303A03630966660838500881766138C12205E70998B0619B07FB1D5C5B6126476594BB7B74D5A24C30DAC32624519729ED4AC2A543C54DDA0354150C9D2BD7986C91C9959C42D14AE79C6A450C06B868D882F2E3B303BCE3CA4B6C200227D0507E3BBBBCF04122100E850FA70BBB9C7051ABEDE6B2E9C20EA316D4106FD9D94A5C94A7C726377653B942215F5DBBF4F6B660A9032343CF3DFFD2566A299A38F4C1A5996CCEBC756BAD5A61B6766FF1B296DA5A3F71F21146B6A5014ED38ABC1549AD9BD5F2FAD07022B3522E17D39B3B9B855A766AFCF160E0C8DB975ED14D712B3DFBECE9CF6B4C4E8906B4725F465DDC4CD9A942EDA1A95321B6C0F3F6E4F8B9A943638BAB171B667A6AF2C98F3DF77CC35E9494B0C84692C1ED50201E55E45567E8C8E11F51044B14C62D4EE5F998AEDF10F900C34F314C85B3A017059DFABC602B969397438FDA46C5E42C4939EAD43F948247D8E0E35C704E9058994B304C5035EA76B5AC1A6B0303935FFB7061746A70709AF9D4CB3FC708D57C6957E6876AAB81537D8FF773E3BC2A36328DA5E5E5D5EDBA26142787F450C878FCB1C333B7DFCB15B4B5951BC1707E7AE271490AB34ED66E444F1E7BF8A1E30F99DCCCA3A77E880FE4F1672BA161A0E391D507FFC127D03896E87D36ECA2C042065D094814878F3756B04FEC1D38DD7A0905A8BB1F78170EDF5D62E1FC434ED8308260C1C1BF82810734EA07DDC7C100C46D1E8E659087A58B6CF3300D1C2306C9B0776C05C7127EE9004EE8D0DB3081C02328FC7D9D125DD199EAE7A0A1A665CAF1E0E71027116E05EF454B123E298DDEC136CD50602C95EA7CB9E26C6EEB1BEB6CBD2EF60F70F110FEFA0E7EFD1FE40C81E161415ECB2F7C78F11D8149C4FA063772AF6552EF4558EE9163DFAB28A71CAE9114FAFBCD64D488494C489464D3D4FBFB468E1F7A7877776B67C30831E2CE5A81114AA54A56E19972E5E6A14349D85695B3C6404284B9AC52AE24879470C03235B9AF2F3C7D6C3053DE5575A654ADC5FB874747C7234141ADACBCFAD5EBB337AD54BAC418914A636D6A6A7016C6F7C577D22B8DA393F1E9A1643AB33936F9FCD0E4C7B2B56BBB3BCBFD91BE705CE6E4A99DDCED44626063ABFC177F7E73A31E5CC987566B0F7356E6DC89C7582EC63941DD58B69C79DE36396982E5924E639115FB594EAE6A2B8215E28331AD9EE343CFF0C612CC42A63CC5355671110F3DC7708B0D272446C60D5387E93B143EBA9ACF8C1CFF3BE168746AF4BCED2C35542DC08E449DC3E74F7E2E5EED0BD62C1E4E681A2B6ACCEE4E6A697EFE89279E7AFC8917774B6BF1E89113470E4523D1C387BF7B23B5A519B08CEBD9CAEEC2C6ED5C6DBDAFBF2F1808884A0D87139C5E682B4363638342809E8B0CC22317D2A3C9270E27042835659A094D2063EF753FE0EE0FBA06FE12222792DFCAC3A3027441D8A743A7C1ED1E99AB49EF0706BE650CCB1979068C9AC40548E46D5BE238451018D813E07319B08B0E53D0BCDC481394E9C1E5EE451B1FA26DE3B053A08D40784C1FED814A52B34D9BB067B5A57A83A9AAB04699E9B5D2F2A5EAD6AC6D9862DF001B0C61D178075ADEC1DB139AC1D86BEB73037DD01302DBA95BEBF399C141E3C527FF61A9B621CBECC4E098500A2AF57840134453109DF0E8F8A948603C9BAA04B84808E6D7C1D3538961D10E270706EAD68E28468BE5FC238F3C57D11693898758D8368BA1F4AEB1BB61A896D360F02B86F181EAD5F796E56090E1CC7C313B37933F347DF289473FB7B97AB3922AD70BDA673FFF31397428C0D5260F474F9F3C373410319D5A3070FCC2D5B78B859BB2A4896CF0D8F0E76E5CBDAA3BBBB616AA548A5CA86CA9B8F1CF16C3D393A14706366381982D361A4E1EDADB28AF054387186E1CF68066638657A66C27E068AB8D52DA51CB4E282E32095B382170EB02F3942EF6737A519302A2F49C96BA288905C31A5DC89C36C4E2EBEBE24052C8A9019ED948A5CB616E32581A3E39F0829261E574B6BEBD6295CB925A885A81707F38796868F27159B7B48DED5B4B8BB761C793E81FD1985A454B6F6CEDE6B356BCAF7F7DB910090D166BE6D5B9DDD56593FFA7BFFCEBD07FC9E68D0E0F6851EC8D3895BA4B8EDB03A0B181023E343DB98BED0D391471859AF0FA13105E17A4F0929AC0710943077F6E050E3D02076382B3712F2CE11D3C1C39B010C11565F099149C9ED037700482E0300A2FC8A228C082C5C079892E56F4C6BA8B36070058160237BE179DFCAEC23D38FE24DC987A169AC38682D22DF74891D075CB926A75C1B4D972B1B0F6E1F6EEFBB9FA1AACBB72A81FFFDCA965724AC00A4B55DBDECDAFD6ABFAD2F2D74F1F7E323E6045629144DF50AC8FAD9AB35BBBAF37EAC5E1D843D59D8650B77995B1CBB510FE19244516C37DE17E8991C7636363A1F1B834383C349AADAEABA658ABD64F1C9F869D9E6589BBA9D52B1FAE4A0AAC8BA58024AB0DE3DB5F5FAC574A7AC53A34113F3C35B6BB91676CEBC4C978A9CAAA665D0A695FF8811F8E46C5FEE1B86A656B85F21B5F4BC7871AFD4383F32B731F5E59983A3A7974E889817EC86E5C10A2DB3B0BC1E0405D5B7498BAC5884F9EFAB86D1AE9C2D26393725CAE55CB6BAC55651BACA95D0C85231CF3AC23098EBECB38654E98804EC01A3BE5CC4270E405AB9636F9B21278A16A6E48F632AB3CEBB055A19E668CE18B1BD6373F2827E2B66EAFCFE5BE6F38262D66E68FC662B952EAF0C8D3412330A69F0C6E6BE6FC526AEEAD4CF97A495DE7F47A50EC1B3E7564F2B1430D5EE399E8C2D27B1C23AB9AB29DCB5FB870F383D7D766DEDFAA958CA030303D3594DEDADD5D6A5C7C7D95A9CBF893FFE44E1A34AADBA2B02E409C0E1B40ABADE12443DADB8201D7EC36F4033E5BDD8780F6150AEC383EB85C02D8B6D1C588E4870B0A3E9985A32EDEE6850146C61214055F23C2571FE08AEFE9B18CCCB20158BE793E2CF2320F438F8555CD807D0F6E00B14362999A4EB5650A008E7F9DA11D9B46015DE5E10A2A44B84593441734EABF52E0AE0CAE94A6D766EA1E31F73FBEC90125113495AB69666A27B7F5E16E6D4E67CCB0321C8A4C4A72C452043B18DE69642F5C7DCBE26F394CEEF9D33F5CACFD6EBE508A076BCF3FFB7D576EFF85C4D547A24F98967AE3CAEA6034C6D44362CD128AA5C6D6B6595161798763453C90887201A1EE888228723196D7E76E94CF9D3D6ED483E54A369FAD71CEA022F0A1303B792452AB570AF9865E2BB25AF5077FE4D3526898B59CF38F3F1A49544706268693B1ADCCF2A9B39F569D996884B9317FE3C3772E8E8C1F7DE45454E6476FDD5CDCDED01F7A68AC56CC19667676615E0C04B6327036D3938943BC9330CD1ACF8D176BF6F2EED64B9F787622586ED4D66523502ADE8E4665591E35ED301F1A37ED8653B9CECA832C9B606137AC65753D53CE67782982B7B39862409C66C5C346E302C79C2A15FED87182A35381DFFEA3CD3FFFA0F2FA55E6BBBEF0ABC2D0634C43DBB2975636DE8CC676FAAD4F4BB0C1CBD7D5D595467D7D479F6F7059898D87A253FCC068892F5C9BB9F8FEFBBFFB3D9FFED99AA65DBE7C7DE956197A577AAB54CD71830303D9DCE2A38F3FBCB95E1D1A3DCCC875599EE6FFC9AFFC2AD951B9FF71438E7D91766F7260726754F2D0073A11EE03B17B907D5A0B7B221025B2DED5E57600D6128EBCBB0634DAC6BC3102E34812605CF101684E4180910321C8B1615E088A425490C222AC4882C00BB6838707DCDE811679819D6607D71EF9B6C19B323CB4E9429438D7E29383594BC62FDFAE0BFF9A19400A4974059A3631402B406D931D2AD430CB98BA58AC7299ED463163EB66908F2713278203137624C645E2768231B8F0DCE67FBBF4FE9B6B2B6FCEAFFFD9F9E3FF633C543099EA76EA4DD3564BB98AA686B32BFCA1D829CE08050D2964B05CAEA0A776ACECAE532E39F8E7C865BD660A8623080AFE8C3F17EF1FE8DB4DE567363E387EEA6949A9CF5ECBBDF0E94F65D76EECAC1881FEC399D5C263E747C78E480343E3E1D0E4B5772F466226234673C559511E8BC727D636DF4C44FB1E3DF1A3A99DF763D14866B7343A192868F9C460B05A2AF627A3F1F8F0F8F023B7662E2892B038B7CB58A1ADDDDBE9AC5A37928E94DFDC80D1B4319C38F15F7EFFB5E727C712D3A1E1F054257252CBEE72B1A4C34822DB68145F93C4494D0C5B0D5374B635ABA16FAD2BE1F3257B0376B3B232A4B3C5B231C7A52F36C4E97279361E12EAA2343461FCCC8FFE4CC3F86DAD7A616DF71D53952AE5F2D8D04987CB54CB42480C28BCC29A26CF1B01968F4BA3C1E8383334BE50BBF9CDF7DE0844276ECE6DAEAE5EB01A50F77DBC1CCDED6A6AAE313A196EE8E1A5B5B599EBF9D91BEB997527BF7D9BFCB934DAA0A411494BD35D1C3EB1259F24C0857413B75FD0762768A6B7E0F5275469D2FBA14DC08BE2B395660FC6210780C315F904263EC5B331D04C5A39B91737D689B6248F3E087F2FD1120678491E508DC08D1390688BE325021FCA0A51D8AFD2382CCFD0E36DFCD624AB0831D1890594A49C1C6407124A2CA6CBC90FE7BEFC8DAFFD67913DA135C6D3DBDBC1E435490EF6C5A61289916AD5D06AB550FDE1E9F0C93169A28F8FC7F4200FDD6C67BB9E5BAF54B7EA959C59AD73BACDE16F4270B622C3D15D94838170D8622D8335FEE22FDEBFFCE175591ABAF2D6CD2FFDE0E71343E157BFF16EBDAC7ED7777F5FBEB4A369CCDCCABB4B7337CE3FFAD9925A948424CB94B5BA1D0D452436A1084A303C707B66339DDDAC556A66995FB8B576FEFC93D76EDF962389ADF495871F7A34BF5BEF0B33D19863D4231B1BE95050B6B581B5854CB554B9F8EE3CD318FECB77E78E3DF9E2BBF399FFFECD5BC7226A4436C2E1B1DDD9DF521227C9721FC16FBC1BA6CDD56BC57A36F7A1A00F318A96DE7E57DDB96D66AA5BF954A37043920429367565DD880E059D7059119FD07593B56B136309CBB245B151CC55C2625FC01887953FDA3F11E81B8B264E86FA26AD586CD6FCE0B5AB6F5DBBB059CA6D3FF65838160F088278F3CA4E6ABB6E1AE6D8E168B55C7DF6D3C90FDFDD0C2BAC248ABAAE86A461FEE7FEA75F872142DA1D1B121A1557241C5B08D29F3D3499EDFC2E20FD03571E37BE0FA8181020495C6801FA15FCC3347CA709B784204941D64C6F08B57A2700B97825DC6E5EA2860FD406A02D0AB9F838C4282EC87B0C5225BC929326E175079A2057BFD9E62702F8C068E6432E1CFEB21923CBB0740852540E0F70E1383B34CC0D0D1B09F9D2C65C45BC924C240787138C297FE2A5C143438FE9666927339FCFE555733BA09F19094C4E28472376486244D160AC5251CDAED6F48D12B35BD33366BD2C98701A0BB3C1101F521801B6D2B20D0753C9B83C73616D630D16FE4F7EF6B9B95B97D3396D686AE2C30B57CBD9006C014F3C3CF2DEBBB7D25BCC0F7CEF4FCC2CBC29A1F9ECCEEAEECED62E1C777677176AD5C2A5ABE985D9B523470E2DCCE58C86F3D2279F10946A5F7C20208943D18465D782A168AD1A3C7DEAD81BAF5DAB96AD7CA67EFBFA36CFDAC53C6C277981AF17AA910F3FB8F1A9EFFF622C680F57AF680143CFBCEF4C7C5109858BF5429C9FCAE7DF928331ADD6A81452B62996CBD5F45ACAB298A25EA9E4B7ECC94F6D6A72C029FE87AF8E549C7C613D7B6366598573597DD131E2AA9A5B5FCAA9F57C401990047928744889C6F8683C3C38AE448785589F1A61DF9ABFB2B0392706ACE9B1134FBD100E27C794B032312185627AFF70140650FF507F28383A34167FFE5323A353515B0FED6EA7F99FFF65F2560469516C6B3C78E03A459B9B343E5024200F0FFA2086BD9970F743B38BF4106901C4A83C8D124F6807057D48C13B0F24473780207091807D1E0A01EDC24F53B4717A47019E1B0092E80AF8F904B85BA71EF9C5F6439B939E358F46018F00EB9CCDCA122C1A8E223291B0D39F74C647D464901908D445F1DAE6EFBEF3C6ED33C77FB25EB09F787AE7E8F84B704C5A4FBDBB93DA0C470275B5766CE8E3711E8E4631C11660C7CCF19C552D97F3CB657B3D23ED1485222C41B208CB515284DDA32812F7AD9A59D8CA6FAFA41677522BA6663D72FAB8230676763766E667CB79A65E71B636B79E7FFEC98DB5EDA5DBE572B976EEDCC301796C7DA53277A5313C7CB452D34E9D7CAAA13506C7948599B5E191C0950BEA67BEEFE3365F83EEEE5875BD9A6B64794E3276F3F9F7DFBF59CAAB856A3A1A8FEAA67EF8447C75BE9EE88F9C7D3CD1A84A065FAEEB8DA367A61C273530158A19EC3A3795566CC60297466ADB5F6F54D34A784237D6729AC3597C59702446B699B22449BC2D1418B91C4CE485D383F1DD9181A1E050B29A5A62CCE88DAB992B1FACCF5EAB6EAC6414B1AFAAD7A27DA1BEF8C4E6E64638196970961394F26CAE185AFF936FBE3D77332D07C56832726B467DEDEB6BD57A4A56788D298B82B4B954346DF3B56F5E1C199A7EFD95C59DED7421DD088704184EF4A757B021F1BF7B1B0A58D0596893B7FA01709A272654213D7E5FF83B50ABC774A093091CCAA45A7085E51D1320E60E323CD8018187AEBDEA7B2204D4D47E8054BF6F94A66872F6B5805CF84F8F925D72DE83662E7BACEDCD0E2EC41605BE6488BF96C228121B0E9725F9ED95F93C9B5FDCBA78E9D2EF7FFD4FFEBCB89A2EE59CB34F6FD6AB195689585C245DBA5ACDB3EB1B5B8F9F7FB192D9180F3DAA1822637162084E9DA253CA97F34B257DBDC0E7ABA2CA4B522498082B43B2146105C9622CDD6C646AEB2BA5AB19F5F699F3E36AA52129FCEDD9EDCDA5B45AE41C5B874680F974788CDD5C3697E7D77219E1E27B1FCCCF673F78E78612A9DC9A9B4DA5E01494D1D90DBBC13FFFC2114D958F3C9CB4F1F63793C915176E5B23A38762D1D8FA764A53ED20CFBEF3E68E65852B55C3729C62B9A2EBE540207CE1EDDD5822706C2C5CADB2F9EC7C7EA7F6F477FD0F4B8DC2727A61638E4DD7DFE1021342E5A2C4E88C6269F54025FE6C4C5D7AE3C3212BECECB02F0D4AC586341C1B39B5B575FBE4E1672A62A850DD9E8E0F3C72F6B31F5CFB834659528BB980A02786E1E41DE583ACA2C4A5782D975B92A2D52A9FAA89996F5F7BE50FBFFE6E0996CC9DFC273E71E2DB6F5E2E97D94236F50BFFF8FF1E0A1D5D59573756B25ABE964BD54787A2F164A35AB4795E340D3B16136138C1D9C90534A8D73D49ABC3054118144484C8DCB1037562AFA98302B57C6B1345A721E2A9BB1DF580BACD240ACAF7E0729B7C8F0010BA4B12B25C1A3EC80AB5FF90EB04952436109409C0B58E71787C93D72954EB855AC9B21BA212D2D8FAD2D6668D291E1A3D3C9450ABA577B22BB32163E367FEF1E74E3F1E8EC7D8C1F8D8F5B9AFCD6F5C58BFA50E0D061E3D7F7A636BEB50F2B93E3168D460BFAD04C241CB669C6AB9915BAF99AB15BEA2B2362F06A37C38E40438260CBB679EE1F366FE66E6BA13AFCCAFCC3892F6F0A3475796F2A9AD2C786699E6CB9F7E7A677B57D7ADD95BB9F46E39A0F4052541D358DED6C627FA1A15A1BF3F7AFA7C5FB55C7BECA12F695AFA2B5FBE78EACC51D3CCBEFFE1ED999BAB8BD71AC54CF187BEF878A664BFF7E6DCCE66D1E4C366438BC46C59919766EA838371DB0A6477B21323916A39B5B2AE0782CEB32F9D2B56F53FFADD77A626271E3AF989C5952B22C39D7DFCFB797574EEF2B76C81FB603B5C34ACA2333EBB642E65E4CB7379D5EE6386E4C1A32F06A4C94A43BB78E9CFCA45756671F9FACDB9803870F4784C929493E7C60D3B6837E40F5E9B9BBDB4118E55B78B5BCB851B9662AEE766FFECCB17D79773F54C7D624C4A552AD5341B60CD6894FBDA572F5DB8F0E1C28DD5784C69E8E41DEEB2B139A7320DBBB0AB73667FB150E57FA1F9076928FCF40304E939776D793F2DCAA770597B3DA7490037EE5B07DAF87E9AC2E3744D6A637AD1367E27F693A451B8629FE6F00FBE698CB1B439BBB9F9759E5DE745E7D6D2EF3A8CC109B7535B7F5C287C7B737B797CB8EFA133E723897396C3F687A7D6B766AAD5062FA8CF3EF13D9AA9A97A3DDEDF6F1846581835EB8C248658098ECAA2A1AA56296D18194DD4785E0E33B1A895086821CE92E1C4AEDA569157174BB3176ECEE8A6B2BD9DAD569CD99B595377C2A1B05AAFEB6685E3F0B11F2C20B6CD6ABAA6966ABC13E62C311A19C85757268F84A60E278221D334D4B99B0B958A33323A72F4C8F1B5B965D631C6C6E31BEB76262B7EE31BAF991A130E2BCFBFF8F8F6BCA196D8F456511203C71EEACBAC151F7964E2E98FF79D78E4D8A18713955A6D6B4D4DA7368E9D900291CD6ABD9CE80F4C4F4F8584C4AEB6690D0D2EA60ED52C69797951098FAC6EE66BF5CC89879D1FFD5B3F13191CFFF2D7FF5C1282FFE1DFFFE6673EFFDCD5ABF3A6CE55368B871F12C3B1C395A2B0786B7761763714693C7C7674FCD0402CA6188616EF8BD7B58DD476697458D22A66A9AAFFBD5FFCBE2347F48DED6A7C6478747C7A67675D14D9B1B1442957900438975502A2F4433F71E6DCC7A64E3E1A1F98B08480D13A3B91C66D6FEC8303FAEB3DEBDE1160D90FFF1E09001C976AA293B31FBA4A621EF764A1B756A724AD3497761F9F3B0A27568B9BD5D2B56A6E7D73E76BB6CE440209CBA81D1F7F222C0F9F7AE8850693DE29D7E6D7DE8223D1D2EA876A4328944BE3C363EBDB8BF9B4BEB4B492CAADEC6C941A75DDD2C4447C440906213FC162B89ACA68755888C24E22C68E46B921998BF352C411783DC06E6ADB33BBB7C64FC439894DF6271B5A6E742C5485238CD6B02DFCEB249C68DBF897075951E46499ABD5C15E43AF01913DFAC858AE5CD84DDB8C208512C243A72617164AB76E64B3D9C24B9FFCF8F2D2E68D0FE060C255B2A5E79FFB62B9584F6D56DFF8E6EDC923C95C4E85F19718181183E2F24A3ADC1FAE9BFC6EAE76FDD2EEFA52BE52D415997BE1B9E76BF5FAF048229BD2E3C9882908E383A763CAF1B291BAF8DE0263D7196BC461AA2FBC34F2C8638F946A195972E62E2FEBF51DC3D1DFFD962A29BAAE0A9F7AF15CB1A2CFDC5EBF713953AF18C1901C0B476DDBAC364AA562513318D3E035A31AEEE346A793B6D3E8EBEF7FE595A5FAAE5D2C07C46038125606877951B234D5341AECE010FFC5FFE1D3DFFB63A7E32389D0803238795813F3D17ED91D4E00AF5DFDA01DB793BF1FF693F4F8071F759ED81DE57B08F88D5000EDF7C1233CEC6FAC858EF1EC12804E835DD1D5018EC33FF4E6B0BCC6D64E1C3A555757C7C71ED68C2CEBB0E9DC6278906BB065F05DB7D46B37DEBAFE6A8377608F747E64F2398D49ED6E15AAC58F958AC29933CF15CBA1DD54AA56B3069363C9D040500970E4EE91AD999666068D60841B0A050F052293426C8049F49989509A2F2CD556F356F9DB6F5DDBDAC88722727F22B9B95CADD774590C56CBBA24059480D050CD7AD550EBBA2C8B367E972AF8F0C9C0BFFED73F337F79ED1FFCDD9FB8726161E6527967AD71EAD87373B76F5772B5E5EBF5375FBF55C9B23A0C634E340CA87963F470ED0B5F7A5277763FF1DD47D7D6668E1EED4B6776CBA5B2A509C54239BB5DB0EB169C8AB42A9C1E4D59B1F2C542A5268C4EC4EB6ACDB2CD10632D6E7C3BAFD58687CF840433101357E66BC170E3D8F133A6CDAC6FCD0EC68EC7E2A1338F7E9F636A972F5D39FFC4D4E66A6178EAF03BDF5E61CD0027966B35E1D4D921AD914EF4874291C8E864D411F350EDD5AAB2B6625FFAA074E4D8F0D6CA466E25F3F473C7A74EA8C90467DBB97ABD54531D384F16B3C6D1E3E3EF7C38170C47A3A1443EB750486FEBFAD68537D7F89F23BF15E1EF02FE0606DA1FF5D039CCEE784F9CA2CD1A31DFC53EC0E30341B3C37727F6F6630A62C3859F4369401BED8F02DAA2BDE12F38B184009E4B2188DC5E0093F25D114F08EF5AE2DD1F30EAF075C3124321A156D134AD546B84A6269E93C3C15CBE303A141C1D18CD64F22B5BAFE677993FFBE3D7CF9D3DF5D4C79E7EE8E1170F1DFE4CB976FAF6EE7FAA96CDC38F3E3F39FAE942BDFCECD34FDEB8F46AA59C19E88B297CBFA8D8123B843ED8AA680B8EAE88A101A10FCEEE712ED1E724236A505869ACCE65967732F9062C3A8E6039D5CF7CFE63976FDE34AA4A2E55D1EBCEE060626B3D651BBC6DF2A2102A6472A582F3C227CFFEDACFBD38DDCFBCF87DCFC58C370E4DBCF4956F7FEB2BFFEFBFFDD89953CF9C39F3F89917BEF2B577FB9292203AD13067A8BA5E61478ED8FD7DC1B5459D75FA4DEB84D1184E8CE84FBC30964EC98DD22E67843EFDBD3FFBDA2BEF0D4513671F1F498CDBA74E9F4867F2DBDB3BC1001B4E8627C69FDCDCB87EF4E8C395528AB7FA3676679E7AFAF0777FEE271F3FF3997A7D713C195BDFBC3434F048D55AC897D676CB5B225FBFFE5EA151E61B46A3902D286C626D297DF478FF177FFC479F78692C39A4542A4555896A8540A9B0554D4B57DE9ADD59E0576FD653DBF6932F4E7EF31BB3175FAB34CA9612A9B16CB8A4552A6BBCAE3744A6FCC8D17131EC3CFEE44FD41BF5E9C367779716E39CC2FF7CC7703A385ADDE24ED84FB287052FC927735023C0A1FD1EAE34B553C6438FA4FDB09FCDBB35E5E05F8EC3D10824FE8111881B3C1C64428161553464A78F732A8B2BFF5FC9EC37ACD0ADB9B72D2675EAC8A78F1E934381E050FF50B5723B1618D8CCFEDB21F97C2CC82D2EBF1E0ACA91803AB7F89F5E7CEA89C161EEA1A34F9BF656543EC5386907FF20236799BCA5085C3CCCC6E37C3CC686034E44DA55B72FDCBC72637E7571716D6828C10B5A349278FD95EB6643B60DD806098D1AB7BD9D0F0763636363A57C492FD723A2303E12FA573FF7E85862DB11534C5D96E52372ECA691751E3DBB6534AE28626E6820FCDA2B973EF6ECB1A5F9BCD217880C5B918148A15CD461AB15513E7C7FB558486FAE1575CD501B8DB5D5925EE5C251259C8C1F3DFC101C2259D1AC949CCB179762E198AC042DD3189D18CC159637D7772D87D9DEAA44FACB1BDB2B7DB147BFF5F65716D6DE6F68DAAD852BD164D8749C5C26A716067FFFB7BE75FAF4C774D31C3FE4B052209BD6FA06B8C14973E2D0F02BDFFCCADCCDCC23A74E8F0E1FFF83FFF86D9971CE9E7F7261654B5315B3A1318C2509D1D466DD568353A782A79E8EE67276A198ADAED67FF0C73E995AD93E7E768C650A4F7FECA96A6D6524319CCA7F70FACC3F94071C3A9CEE70CBBB13D06F0EDE75A8E45DA9003CE11E4457F853EFA8D2DBD47EA05A5D8DDF954118F5208E7F8880656CCE701CAEAED71C9ED1CCFAEEEE5BA679510EA91237640BD9AAB15655E7CAD968B5965294482C91A8EBD550242806FA0565D0E0EAA2F8FC72FA4A94AF45838DB181C180244A0159B7F352C8821D563ABD0D3B3451946C516A042C55D6F8A46C041C212A15CDEA4276FEE2CD6BEBDBDB83C3B152BE2C4A726AAB5CCAB292C0970BACA9370261A67F841B1956CAE5CCC8C44430120DC783E71F1FF9F47329DBEA331BAF588D142B85786BF3A141E8EA9B925D651DDD62CACF3FF7D8F77EE6E4D973E76E2ECE4747B5A1FE13E3A37D8691CBEE16AD7A687966F7F891BE5C2AB3B3DC28A64BC9585C57D96C2A9F49AD6EEFA4612C09A2FAE2CB870C26CD706A29572F17A5F44E2593316B552D146646871EDB4EA7EA30E88AD54AD91444F1F6D2CCD0F07187CF38B63E36345ACE973FBC3A63189265DAE188F8EC8B6372B01692E29BABBBF9AC2107D86C7637A0C40E4D8B472687FFEC0FDE94440DAABE90B5344D9265BE5C2C2792BAC14BEB3B3586A9421DFFF4DFFDDE6B172EFED37FFE4B47CE8C3CFAECF772F89363835BE92C6B07AF2DFF7922F93CFF73BFFC6BD0FE77359CEEA10B824AD77D1A05A476DAF4385D933A991E20A933AFAEF23D8CF40655EC54DFCFA0E74F9B80FB0A0AECF678B60C1B73966D189BB6B5B5B9F5655E2B99FA4EBDDE78EDFDFF349C7C3697A97EECDC4FA5F2AF27E3131323E70D2EBD91D9D1ECEA6EE6C6EAC2B753990BD17858B1F51347061E3EF2994A635973D480327D73FE4D938F5C5B7A3D12EB2BAA5946A93684F2666D2965AD18B17A4E4B2F6F2FCE6D2EDE5A99C957F39AA1A9F5422C1CDF5ACDB17620208B8EA5338E1E8DC802CF8F4F4E95F2B5C1FEE9A5A5EC6032F45D9F3D5BAF648E4D3A0141B19828534BEBD68ECCD56536DF68E83CAF72A223C1A6500EF05A25315ABD35CF2ECC175717967EFC6F7F7AFA21F1CC9947C7A6B96ABE148CA987A607C34A707264A85C6F44A22263D5593650AEED568B66A50C3B446DFCD024C3184129B8B494566B46ADC26C2E1737966C46D4FB070FC312B7B5BE014B9C18281F9938BF939E1D1F9F0CC81343C987F359736D695594F8C9430F2DCC2F07C2F213E75F1E1C081C3F25CFCFA42DCBA955AD54666571A15CAA644E9E197BE8A1E1279F1E1C98C6BF1B307D5C1A18D68F3F1A2A14AD50CC0C08119935BFFF8B9F3D347DFC8D0F2F326C81E34BBB1B5BB673EDFAD5CBE5A238D09F9C9B7B1B86D3AF430BB70D27DAFC07E96D0797A400F9030AF7106B4B82687761E479E3AA95EFDDFADC094FD74F787407203BEA068A5021F8049A7ED3054243D76A8D6C50E1DFBBF43F0F07879767DED49C5A327C6C3B758331CDD4EEF2D2DAAD687FE6CCC9EFC91616CD7AEAA1437F5F086F94CB45CDDEF9C4B33F33379B59DFCD99FA6E24108CC7C673F5E5C5ED99A595B962DE985958A959B03B2A4809B9E66CD79DEC4AF6D66E63FDD6D68DD9D5B9A5B595F5EC76269BCA15B2E5A26A9B82C09B8C1D800305CBAA3C13B46DA95AA90594E8E2D28AA048A95421AC08CF3F36F0E33F30F4FC23B07DAC942A2BB263D5D575DE0C58B6A51A698E81F1E04842C830F2029B364DEBDA7CE32BAF666DC628A4F4F8B03376647827B7E5C8DB4FBF34B1B0944D0EC61F3ED3178D276716D7358D0B042275C31C1B392429A59DCD12C3CBA1C11CAC759170706BB3AA56AC5AA5A108E2C878E4C285C552599B9E3852CE3672DBC2407FA45A9D3F76F86CA52C56F59D6CF9EAFA92313E947418F5632FFCE0F2F6E57255CFE4B215284E202A2B9A220D9761F175924FBD3C128A4456D35B81E860DDC8F62793CFBEF88C1229F4C5957062B85E5317AE351A15CD669CE161F3377FEFD68717DFFCE11FF86C436417D6DF55757370E01923B85CDAED7FF1892FF2BFF0CBFFB27369227D63BFCE81681B159DC2C44017B8C94D746552D024801B27F073280DA0D13690047C0F083E30101E4941ECA77547A059A2EB1114BDEC911D1D0D64EC6014B98EC38BF8ED2DCB6679411061AB51CF0E849599E53F9D9AFA98A1CAB3338B93E3D3D9FCF2D1E9273EF3C23FE6645316464F4E7FA6ACEEAC647FBF5A320A997280997AFFC66B1B9BB5C1587EE576F163E7BF6729F76D432F67B62396C39773D5ADD5C5979E7AAE6E6C49619B11CA0DB36CF3F66E76D9E6C49B97D3A955756D77BB52741A75CD6C983C1B2CE534704C33AAC981B86E1AA19092480495B03132160B0783E552E9E8D1E19FFED2CF8482B7EBCEA65E5B0C9AE586CE4A0AEB6C6972A35E2D561C5D879D26FEF13A93A9566C89B1E6B68259568FF52B8347C589C9E17C69E5E1B3933213ACD6964E3D722EBD5D2FE4B8A1B147E028582D1B8DBA3C3A3951D7466C3B6F69A6E40C2ECF962BA5C0C2EDAD68B04FD7F478CC9C3C140A040489E7598DBBF4E6F6D4D0A1DDF5028CDB874F3F79E4D833BFF77B7FB4BA7E7B62ECD00F7CF61F3091B7C7C74F2407CD2053555836ACC83BDBB9E5958DE963FDB7AFA4610379E4C8D8C54B376CB378EEF8E7CAE599625EEBEB9F585CDA6DA8F1DB33A55B174BE9ED8A65E85FFAE9F11FFCC277E52AF32F3D73329E0C854602E9CC92599F1A1E18B78D82ADA56C21BFB2B5CAFF935FFE35325963FFC08F83C113269DAA8B62576627DAC48831172EAB093FA733154094DA64C8CB142DB811BFD883422F93FE573560DE46B7A0CA6D8EE32C13221CC75A3CFE997A2EA80886E170A2B0B273797EF682A0946616DE843EB0B9B3BCB2F5B570A826098A61375435DFD0768786066A9594C85465B6B131AF552BE6F88968AEB858AB284B73C57AAD9A4B6545277CE478F2C4C97352A8D150856ADDCA9573B38B5B3BDBCCCCD58CC84899DDACC0C41451AC57758117EBAAA60424C7B14627FB12FD917CA1A2361AA66D24FA077676B3F98D2A2773CF3C31F6F8E94B8A1C8F049F0F85A62DA661563346D9D434D5121B121B1604986BA107DAB001636C5B8B44E243E78F1E160F8F0EC2CA7373F1FAE9230F976AE5E9438F6EEC7CB053D0B980148BDB438391645C325969F6C6527470707452D9D89C1948F6EFA4564626044BE30C95AF55555E881C3B1B48A5986AAD1E8B0622CA583E5FA9D7EA9C68250793B716B65F7DED5B2C5B79FEE9A7D512CB8616A2F2F3E9F472481E4AAF1855BDB8B09C1E1E1AB00C63F656151CFEF8A74E68B5FAD1E9E4CCADB46A98C3E3C19D0DF6CA8D15B53658AA2FC25E31BB5BED1BB6BFF4D32F441383C74F9C33EDF2466E8955CC4246BD716961784259D99EB5ACBE44E2684C0A6E2DBFCBFF027E41035AF940B7B9FDE8BD6DBB6397A53BAE83004CB559EB61DC4B22445BF808D1ABB8FEE184B7D4E1C3B66DCBB46CCDA9DB9C6D315558BA1C8E4F958B1BE9B56B8BFFBE51AB0CC5CFE876DE6C0C7DE6D35F9003B591E4D1E353DF2D05CD4AD550CD8DC1C423F57A6174F8F1B1B117E3FD634F3C7EDED497D4BA8E7F3E2B970A45856870A42F59AB69A55822BCB076D168F08CA5378C1CCB04E0A8A6D7ADCAAE5E4CE9C71E1A1C1E32B299727230104D588E0D8BA4F6F02327F2C58C248533A98624299A6167B2459E85337C341C64C606FB3EF9A9CF737AA5AE5EB2D5322B0901C5ACE553A92BCCCDB7A19BAA894050893A9665B23C270583C9E8743C121D0D9EECEF4FFEE9ABEF049578B9AA66975647470FCFCFDC1C1CE9DB5EDFB56A5045C5F1E94FCD5FBBB893D1074282807FAFC12A566AAAA54E1F1F55AB4C3E5FC0BF537048DCD9D193838752D9822C85D2F878AD64DB4EB15CE783595DAD978BD9279F39B99B4D6D6C572FBDB7BAB2B0BD3253CB6CEE14ABE9703498CD574C5DE145BBAE653EF3B9EF5E59ACC4871AB6A59C3A3DFDCE5B17CA7979723231311149EF6E8F0D1F5384A14F7DFC9FDC5CFA133918585E5D81A96606ACAD64D25BC5B30F8D0615E6E891D33337B76E5E9EB358EDEA8DC5973FF105FC362E6E43A08E7BF5887680301D0FF48B1594E9C77ED6DAF807C9B453C6CFA16EF839946ED3EA14F303D8FE700FE8A5B5F7454216FF843991775886778AF9CCCCEC5B837D21890999D64EA33A303DF194591F884843D546A9502A6A5A4DB0A4483890D5560C3B922A5CDCCEEC28419371E4C5F50FA2D1C3D797FE6C736BFEB1473F971C7E7265E9625C093DF9F453C313D150987DF8D4274AFA7A382C1B9ABDB6B19BE89FCA950A8C13DB582B4E8D0D7DEEFB4E3FF1F2F1E5851D498E846242DFA092DD3124D9D958DFB16D2193CAD9361F09B35387C738111C368D5A8D570687FBB5A74F33C1BE4FF26C4C5138860FF3A6AEE6F26BBBB5E264400D8AB5DBC58109856175292CCB917E5314F05778CDBA6DEF2CCD59B95A20DE277CEE7B7E5C803356A31C10870E4F0D1E3B36A8D9722AF7C150E2746A1D365AB9999B0B2217AB972B31995533F5279E78F9CCB9882C65536B8622CAA5A22AB0B659370E8F3EBCBEB3944846612F1AEF1B7DFAE30F55CB5A36BB3535350CC32C9910A1F64E4C1F8A0B93C3C7C6D696D6194B1B3F16319DD0AD0FD25C509B9A7EB4903EEE304FA6F3AF597579642C58AC66525B69D388E78A55D5286DE66E0C4F8AD96D93B5AD8BEFDCAE978283FD62BDC2142AA61C0CB2526C7E6979743051CF56E667D4F72E2EF0BFF02FE8DF776ADD0D0302BADD7E3DCF03950178D136C20F8FE9E5E27DC189462928C783CB6DC2E592910C57974B409994F0AE9DD88F7F4F8085A615207B3CAA61F92C41801808408205195A0E7E2DDF600C8E676CC39214D8E3390C7E1592151CBEE1A49D465E31F8814848B2B4009F0A5AF2919193C726CE1D9DFEF46E7AB7A45E3B71F245392E49526D75E5C6666627220B3BE96CBACC4F1F3A9CC9BECF1981D7FEF2D2F0C4F0F59B5F761AD5A993938BDBF39A1DFAF61B57B2B9AB23C371CDB4E1042404958BEF2D5DFE56F1F878ECFCB951962D5DF8607679B1B0349BCDA4EA2C27E6D2558E6342C1B0C370BA8EBF321009B08E2030269FDD2E8C8D4D968ADBC5B22ED9A11F789ED3440E7F01C78E952B6FD8C55556AB410F670436C4EB21213C30E4444763E1E4515399E08511451E2E999A656FBDB3CCE13B78D3B18BD7FFF0E8F11F3FFAD0C9C313DFBD967A37188C0F25638389F16FBFFF977FE7A7FFE5F8D16C3C2C4603B1E9A37D7FEF9F7DFA1FFC935F3D7C4A1F3FEC3CFE6CF8739F7A4C0E703FF9139F53E44D43E5CE3D1D99BD6296EBE54CDA599C4B2F7C5890C2BC146ED40A7078D3B736CAE363D326577FE8B1A38E6C7EF52FAEC4FA14D8545F7E6BA1B06B6E2FD597E7666F5CFE20BD79C9A94F259385A327239A250E8EC80DB5BCB55AAD961A85BC6D35CC525ACDA7D5E48025D92A6B7273B38BDB5BCE95777676B6B58DF9950C386234CAA53A8C2B5C9D48076FEF9D07EC799E989F6883C7A704455BD48FFD9228DF1B9010F5D36D4457F44EBD6BF88D014D026481EF099108E406BB3A96D7C94F0B7296E508AC88DB3D7C9C8ABF04A8C1B19D8B67D3D6D8E038FE7D523B2CF1F1703001670C51E039BE61397A26BD343A9218EE7FEAC3EB7F9CCF169550B8AC064A990A67176F5EBCF4D4B9CFAD6F5E9D3E1EAED5125313871F7AE48B376E2D1752F5727EAE51AD05C5F853E77E3818D619D3C895F3D3E3478F1D1D9E38C98C1F1B376DFC99A88A5A3D7DE644A550B71C2310961B9A5629D72431542CD4442E108B252289242BA40F1D892C2CAC324CDFF840F8FFF36F06619F995B794BCFDD62D52B019677CC8603272059E40C33C0B39323627844342292663901B6CA886835C8F4BDBB3578FEECE70F1DE38F1D7ED1721A57AE7DCD6C8CAEA6FE54E0427DB11317AF5E59DB88DFB8BCFDDEDBDF1265F6D8F144CD4E3FF6DC43C170F2C6E21F060243B3EBAF8C8D3EDF973856B58B878F9F1F1C1BF9D84BCF37ACC6C0687975461485B2A92A969279E1B32F8872A32FC64D1C8AAE6DED1E3F716867BD9EDA5D10E488A1990B335B0B37D302139F3A329ECDE5D51A6C102A9613DE4C2F9C3DFDECF8F4E06E65D6693C2306AAF5B2C31881ECEE7AADA48A9C78E2A1447254322576693565D51376DD62D846ADB17DFCF084C86870EC1C1A19585A9EE1FFD9AFFC1AB43EED96FE09BE0740A0870C2479BD9C02A29DF294D326D91B7ECB547DBF6B0F8040577FEE053E1B96658922FE3D79E22159A8C85B5100D832893C6BC042C5190C5BAAD4F22C833F130CD33B9C9FE636DECA66AFC685502C188316327583C52B6CE8C19A9E8C8DC8A21C0E0B96B8BB91BA3E3D3561C0A0B46B329BDFDAD8FDE4277FB85C5D6FD4CD9D4DB1AC563FBC38B3BDB9233AA1CF7EE6A5F1F16393878F8AC16C5FDF91CBB7BE75F1ED123EDB7284509CD9CDD56EDC5EDF5E1377366A6A434AEF96792620299140B0CFB238CB6034CD606DC1D09C060C67C1B4D8DAE0483F24B18EA64493D3312DC25B9140985760C975B8E85464F86CA5920A48F558801F1C8C08C12C9CC44547094892CE0FD8068422CB5BE148F4D2EE0DBD568C47CFA8C6D6D2AD7AADB150CBF1B3575743D1E2ECB5C2A5373E68A49DEFFA9E93F34B99173EF10827C522F1C185E5DBA99DCC1BAF7EF8E899CF156AD761748D0C9FF8E0C6FFCFE62ACBCBB713839210A9BDFB4AD1763439C4F447FB37531BE13E8B1539DBE95B9DAD6576CA81209FDEAEAECEDB95EADAC4E8607A5D371A82CD1A82A40F8D4A962E5B76F5E889E9B595F5AB97B6B5F2C0FAFAF5C79E39DCDFFF5820594B445887371E39773695A96EAF6BE55CBD5A36F41A93EC67074706278FF68F4D24FB87F8BA6A657735BB3EC0FF22FE6C256C5C10D8F87BFB598F91E0E77B3410B4C70301A0FDA987114A50D0A81F7E7E9B40577E9B4C27A8C01DC50E0A9F198EE74DFC8B55F85B0FF08F6E642DDB82B2D78C2A634975B3B2B67D239FDFB4592E0EA77ED31160BFC7F2B2A88C458606827D8CCDE8D022F57C2EBF08276ACD34194BD1753D1488EA7659E70B6B6BDB221386A4ADF97430283EFDEC17F2A5E2DCC28775B5E4888D8595E5B1D1BEF4EAEAF77CFEF4F6CEED9B2B3734A698D955CBEADAADEBA661A8F54AEAF899C985D56250117229F5BDAF65325B158E8D562BAAC3318343A3A9544691F862A914C29FF2836DA9C97282887D6EA4A6DA4AB0BF2F32BAB1B191DE34CE1ED9CE97CBA65E4A0E3E131F3CCDD9C17022867F0690B343437D81FE7169F011382E55B24B4EBDD4B0573836C948838D1257648FA845EDF5575F0D8803271E9E9E9C381B1213C7A6CE5AD589173EFEB0E28426A6A62D36C4727CAC2F6E99C5B9DB9782515377EA4F3C7568377B5952CC64E288DD38148CD4365753B62E290ABF306BCD5ECAC1522FC8F2D800FF5D7FABFF9DD77762C1C9AFFEC94C63B70EF356BD2C2A7262737DCD6A08C58C1608C07259364D6704BFA168F1A2C03821CDB692FD91A943D3D5AA7AFC684C6D449636160A795310D4B54DEDFC63DF1B540EBD7FE1BA1C8844245E96C552C31A1A1456D772E54A85E3827D7D833055AD2E67F95FFC17EE70823E06DD03027930423E698769F24968764554A09F284669F2499EADC030F418FBC0EBD24D8B08EC83CD281D96143E11CAC438487A439730F7808C61F8749388614AB72CEC07DFF86FF9D0053E1B20C7739CA6EBD56A8DE7844AAD2609F8A7AB6061BA317F7978687C27BBBD9D5A958468589950A438FE651807562CDB711A706472F0AFCADB8C63542A0B37E7FF2893998F250E05E404CB9BC140C0E2349B0BCFADFD593828C87CA261554E9D3DFD9FFFF357DEFAC6F591C4899D2D01CE27D17EEDD8A1D3C3A32186C90FF40DAA6AEDFA854AAD584DC6276F5D5F397E3CF4433FF013FFF1BFFEF9E2AC387B7566201E5ABB5589C17ECC5013095967EA0C671B66657C2C64DB6620A0C4A3515E644CC618181830D9463012DEDA50B7D2C517CEB1CF7FEEE450B4109307A5F8C7068FBED8B0612BB4CCB253AC9010424A8365E4C079DE6970E19372F458A33E6F95623A6C8702CAB5FCA96A665B0C31A2B255A996DF7C551483CA56E6BD48245C6E6CAEAEEEA64B87AECDAD47FBA6DF7DE3BD275F8C17362D99D786274657B7EB81B014090DC8E2503472EA8F5FF9C7572E2F3CF6E8E7E5B02389725489D68BBB7FFBA79E5E595E1B3CE47CF32F6BAC19AA6C73A2653D7DEE89D4764E339D9DDDD2F8785FA36A69BA0AAB6D28901C1E8DAB55416DA8F586F1D2277FEAD0F1B32FBEF4C5F73E98CD15D263537D2B6BB7238A58DA2915337AB42F5C541797972F06D8C880A87DFFE3F2D3C72AA7E04828E99BCBDCEE8651AFCAE98C1A0C4C7270CAFCC57FF16B3CB939C7E2DF9C85816089D0D40CA3F08C22B0B2803F6D27F16EC0FE01E700D837902B68812AF425D2AF9A8772FA8E7413CD7EB907C8436154F50B74D2B467A34D220F3C64131E1074C421D50D44B83DA9B78A072A00C25017C40E0660A0CF406301F78C3488C33E2D188241243AD031D572241CB01CFEEB6FBC0F7DABA656D676967753BB0119766B42439B1764CDE1372AEAF5ABD7FF9BCE5C51D82350D9705EAA94724B2BAFF06C687AE285207E295D3254E804F6FB97BF5CA9D40F1F79F4DA8D858181445D5D0FB2FD2BB7D3E9CD6D4B63E4101C06466FDCD8B12C25DAC7AD2CCF0E0C8E8C1E36A68F1C599D5F3E7938343E75E27FFFDFBFB57CBD641654AB1A5B9BCFD9A6C4C8B531D8FCECD40DB5214B425F1FCF89E5471E1D3C7C8C810D262F8E4D9C3876F3E66A35CF9B35C156EB8CA41E1E1B098E8566AA66493B7AF6E109566002DA2623265833684B8EADEDB075CB120639A9C1B3270C2E1D19F8314BBAC09927B66BF17FF6CFFFFB9BEF2D2E2C479617776AB54D433402F1534746464707E49A2EFFFB7FFF566EEDDAE38FD42E7CF0A118E17EFC277EF183B73F3871F27136D037737BF9F6AD6BEB4BF6DFF9FE7FBDB5918A328F8DF77FE20FBEFA1BFD234A5010DF7DEFEAA15327AE2F7DF94B3FF813B76FAF6FAE3AEB6B754E86A34F7D69792B120ED7CB05BDA6AFEF5478D3910281FED14436959A3C727627B755CB59D094AA66290397AF2F5D1E9F542C239F483E76EAC88FDCBCFE4E2955E7046BEA68AC516A847431C2969F3A5AFBE1E7CC13D1CAB101FBE141F5A5271B462D5A15242B647FEEF3FFE485177F9CFFA55FFE55E80A3CFE494C4E207F0F53766CA04511470AFE71241BFFBE09CCA2B07C6BE4D7BA30900E04A30E7FE2187A3BF43EB2BF814E86DF8123A9D0EBDCAE467AA21FC070973518250484D992F7D37825A42F9038AE4E2E4118ED68A9FAE01ADC47C54353808C9F0300EA09D608387CC3D1466405598AD41DA6A49632D95B0F3F726C7270702039566AA855A3B69D7D3597FFDD58287EF1FAEF2AE27153CD04ACC3121F1270B28E4442618E9347871E1D1A3CCC7162A351DD49CFAD6F2EAF6DDEAEABF9ADED55410C9552F9F38F9F827975E2D0D0B32F1F3FF9B870EACC499BCD6EAFD4F3BBEBCF3EF5C4DCE2B57068E4F662EECFFE74E6E113B1279F78EC2BDF7C6BF65A311E8EEA6A2104533DEC1AA36CDF403831CC441341D6E12AE58A2473E582CA89B1C5DBFAEE6E269FD5D2E99AC4E6EA252DB59E1E4E86B474994F067676E7B582746422ABE4DFB28D424896CDE0237CEDB62DF5D9B0A54CCD1B42430ABC6873AAC01FD1F2177EEB2BFCDCCEC6072B6A342617CBE6A9A39FE3C2E9A1A1A1BEA8249A5BB9F448687070E5D6CCA38381772FAC1BA167078F07ADECEC8D95AB93C393CF9CFB29B52AFDE11FFCBB8FBFF0E8C478DFF9C9BF1B0F1D3B34F2D0F189C776727F391EFAC1270FFF6C60E86AB23FBABDD5585CDD8A25ED0FBE9DC73F9C6787C60F855EFCA1E4B167C63FFFC33F31BF90FED99FFD5F0311F6C34BCB8F9EFFEE54F17AB9B453AD5B87A79E48E796C36CF10B3F7E6C676D77657E43168E98FAC99B0B7FCAB1E550402CA4D45A55FBF8E1C60F3FA57DF22CF3E4114DB2F2F8B763391801563FCF4C276B8F3D3C110B1CBEB594FABD3FF84BFE577FFD5F09F843BDB00038B040C9B054C982C5329A65C1BA08E3C764190376D20C10D07971770201280BFFE49963D8165C6D380458B852E16900A76EEC8CCD9E883DB3ADFB128E4BBA1F24EE17F368207CC3064333A92540894E744DEA64764A3565E88EF1CE80C20A3C57ACD560E56A18E68DB5951B5B7F922F149E3EF529D5344567786EED9AA6CB9BBB6FF046E5F8C8F9B5EC1F85E464B132FCE5AFFEF6DA52E5C6CD0D554F0784388CC958749C17A2B55A4555AB557DBB6ACDDD5AFD46A9BE3579A84FD7C2B3B71776370B7A4351CDB58923E1865351E1985509E776AEF18DFAF9C7CF164B9B131387B77652C3F160AD18BCB954DD4A558E1D1B5C9E4B6B55982EF991B1A8A85816C304A24EC3B06559D1584BAF8607E2FDC9845C28A7C107D18A6E2ED765A5C8337C3010EC4F46CF9C8D7DEA33C7CF3C31F989173E51E01A56490D4A899AD927C784A033AAAA6FF1FC49CBD82E666F995AD2D1370CCD286C7D53376BDB75FB9D5927B355481798E7CFFCC8EDF5398657F3D9CDC1B1BE871EFD7843DF3D7BE46FFDE99FFFE6D9F3C3C1BAF6D4E3839F7FF9E1175E783114E57FF8E3FF8FBE60B83F3A958C38E79E19E7C4EA74E4470C2B6DDAB0A1D593A3C643535FE26CB66FA412959F888F34AE5ECF094C647BC556642B108AC1D05D594A0F4D1E29E9EAE06472BD30FBF7FFDEFFF3ADB7BFC159ECE4A1F15064F7D0E8670B958C562E1D7978646629C7A84C48E013030DA37EA35628974B258E97B4B4F1FDCFF35F7C463F1CC987989AA569862DDABCA8AA2A0B9BB940259608C4C55D96A97EE51B957A31C7FF4FBFF66B36EB18DCFFBFB2EF8092EC2ACF7C39D5AB9CAB739CE99ED0D3333D5933A39951CE120881179031DA057B6D6C8E8D0CAC40189BE3B3F6622FB6B1CFB1D636BB028310120209496894479A9C7A3AE7505D39BDAA7AF572D87B5FF50C3D12F8ECFEFDBAEAE657E1FBFE70DFAB7B111D3007AEF16DCBBAA998966163703B59270C8268760E0B5E45816B830113D4F47BC02370C72CCBD651DB70AC162871D61387B54D9C3611791DC4200192EB59E01B6EB80075ED111E4D01254DDBE548B37E5DAE676E28BD51FE83AA8D025A7DA0E1B58E37D069A315058F1B05C2D346A0EA3174DB52AAE278A55C6328B2585D0BB05159ADFBFDE192F01CAA4E47785F281C2ED5B39865989246DB83BB860FD36891300886F1699A8C20BC6EC942B52C3614C56894E5D57C3D1988F0C9B5BCAECBBCDBF4047DD156CB1B00914FCDEFF135EAC54830BC65CBC8D0AEBDAAAEE0B445E251A19A64D89020292B33F9C29A20A9722804A28986D7CF562A5AB495DD7FBC1D7CF6A130D710654D210A999237A86FDBBFA9BB6F647E2E3F75B58061128AD1B81D06F19F28D6768DB46D1ADE7AFAFDC99FBD7925EC669704F3D27441A102FEDA64DE1E57901E422F21464590C452B29C2BA46BD9F1D1A2B62693DFFBE74AADA29348B0B02C2D1432163A4A20726FA7FFECA9F2C58B93039DBFBB522859E4D2EEA1BE9B1FFCDCEBE7CE5C1A3FD9DADFE1617D7D89C33A5C729EEBE918AE485AA9528D7987508BD24C1347480F1FD564804FC526550ED927EA958234DEDAC2C1B5D4EBAE609BFBF86D8FAEA696EEBD67C8C334E6A7DF8F86C4A79F7EDE96CD4699F3441218ABFFE957BF5395B07472DCD272A61DCA2C1442614F72CDECEFF7A7566AB9A448D9545BBBF5D81125EEAA3674AE56D3150B388C00E81662C0B5A168D20FB0CBB2086D22A9523D65FAF12F3EF17560B8681BAE0C0EEC8FE6F001A858E0B199901ED7C9030882599609BE03801E002702B1809F075C40E0F2DB0688AAE11665A6656A70EF3FD434CCE6DECFC0FD01FD41970DAC70F8E9F0CD196A5D36A637CA07DA3473CD27270B1360F066E2BA5CAFBAB118CA074A6016DA3F70002BEB14FCAAC5AFE8746DB4F5BC655940D3C3555AE1DEDB665DAB6108239B8AAC0B965D2B557F819B9ED5347170E06838E43648F7A5CBFF16E02B755574BB8E787C9B3A5BFB352D1FEB7CF4A5D7DE6E89ED51E47422D4AF688226A3C04CD5C492616514CD62DDF4CBAFBF3035BE504B9722017B645FBBDB45911E64E26A6666A2B065FB30ED468A5912D1B6E7E4F3081B92A5E2E8F8A5037B7F7B7E79F6A517969767CB3C8B8955B5BDC7DB3710362C349E0894B3B824CA93E32945D38108199722D5022DAEFE1D2D62354B7135A91CCDA672E184DBC2985CAAD2DD1AD5F4D4F48CF4F35FBCB37DEB485FB4B134B192E8628EDF72F4F2E8788EEC387906C15A08BA52E4EDF41B17CCBC8E2F2D92899D9D630B664A0C48A54228D09ECE2A42597559E8F6119273FBB21529146E41155D47B8C90B2783EEFC5C5EF9CB6F7E3733552311221CC790A0D4CEEDA5D0B08A6804D03B2AF2377FF59DE3473F6963926D1A38859A3A6FE8CA5AFE3C89B479287EB536E17263E574E38BBFFF33CCDD5B55339DDBA68E0FFFA7AC82A5D2D31A46100652585022897AA83D2263C2D8D5D12D5DF744BBB7AC96DEF5860D538C0B45D35044A150AC1469F08D322427E9C2E16343C3FE1454929A05B884E8B82181381EB70C1DCE32613AC9610489B1B41AF652F3C266FCEBDFF80685DA243028280A1C3CF0893B68818F0061A0D4C942BC02B8C16B2710501070388E39DBFFC1E54A79122EBA0F480503309C54810788A3060A832E066E870CF1EA70E8D780FEC34CF880C0935D6BF09B5AFEA67220FFE1D84D59E7CCB5417ED501165CCB7DE01426088D141D6730C5D224DDA0319C2480EB04B75AB191C5D5CCA9AB17CF25823B6321AC6E255F7EE78F7D6EBE23FC6843275986ED6CDFF5DAE9EF74B4DE6EDAB36D51245FF9D73D3B6E2B0A2B3416757B18B1AEBCF9EE4FE6B217B3E5DCF9AB6716571606B675DF7CF4685DCDCD2E0A997C113591AE1E1C43CA91804BA99117CF2FE5CA73AACC8C8E5DD1CD5A28D8F5C31F3E138B792F9F9B522AACD6306892AC37E4D96929DA822F2E667082003EBBDFED072364925AFFB6A03780BB5D91D549EFEA425EAB0FE78BCB8659F1797A7425AA29F57DC71FCAE4385B51BEFAE5DBFA37DF7C6AF2FD073FFAE04D7B6E5BCE2D8A824493B5682873CB81AF5C585A3B9F311AE4E04BAF6616AAC177CEA8A3531ACD0507F7ECEADD191FBDBAE2F722965249278DE9AB2544332DBDDCA857B38594CF2396F2558A6E1756D7CAF9EAD10762E3CBC9FC6CAE7B7B98233B7103D52D0D43DA2E5E797370F33047462884A4304D6E3430D2AC6AD341775FB65AF5C40FE0943FE8DBA1A8ED955A89C46A6A633E34B049D69F93AD78CC1F67BC6851BC44D9DDBD835A3C6A6CE9A766572F9C3AFD537971C1E76D9FB83AC132148A1A91686B244A2F2FCF0B45C203AC982F73A4BB61EBB2A112BA82AAB2594789B28998388161168E23140B7800F721A6316574B980FFC537BEE1DC42666B36A09305D7498402A103ED1224919303604251DDB448DBA66001DC311730040C84231681A280936E8684BB8ADBC0072580615300A9504C358155835884B30F28E067D3B83925D74C56B3E403BC6A66813889F536D7A599BDDEBD59F981119AF2A1825F2B709C6BB2A1C3C6E48D0274098AE9D3B357E6964E14EBAF51780F43854084A91BE6FCFC5917111F1A1E011FA9A27373736FEC1B78241A8A2F144EF26E2DC0CB42E394202C8E8D2E2ECC4D7B79CB1FB092A5F1AB93339552762D99171B954A63617E29BDB4B8A8192249E04A037BE3D50BA6149A9F2DDB2AF7E0473EC910B1D6E8888595336B4AEFE65657A8128A721E37260862B158D6147465BE4CA1BC2256182C2E2B4A576F2CD696589C2FF97CFEA58586C7CF802FCD925CB2620783BB48A66B746CDAC08A8F3FFEEDF985F4A19B8FF674EED14D63D7EE03C3BBB7BFF0CC73ADA1D0E2DA34C9D10D7DA9BF2F20AAABBF3C7DCAD6CA246677761D8C7504D342EEF9575E9F992ABA99906CA1C26443AFE91453A759573E9F1F3DBFA2D4E9960E0D64232D34BC49DD327837EEF3338D5A5D6B0068F866679636F5F8F3E9F2FFF8C6737D2D878A6B8BCB794328D57BA27D2682636AB5A727CCF3C0E3B1451D45090B31D95C692CE43E849368467AAB2E5F6DE5360599CE74658EF747ABD5AA28CF4D4F9CBE724E2AE7E6CBE50CB02A897848D6F3855283623DC512889D5C0496A75DFEEE6EE3F8D19B75F48C978F4E5C4DFA836C6B7BB4569524A512E1B5C3FD36C6E09262E8162A196812681AA09E74DB43230C50A1B84A52C04941E78BCC8F5F34F1279F7CD2B0111570C9809BD25E83150431B02DF0CF4937E14461988F22DC245C6605EE0D83C39D369D790B8341508AC4389260088CC3119E00061906E51ABC21C0F9F536DC020DCE52C0D1AF611C0E7A8D544DD958759D2DE0A15908A4D9E07A33201BBB34131BE5D7957D486E687363876BB90F0E0E977A4419C6E4696F7B6867A13626D65496972F8E3D7BE6D48B9BDBFF70A998958C8B8A76DAD42E68CA42A99ECFE5933BFB8FCECCBEBABA386148BAC753F5FBD52B57C66A223E379F5F59CAD2AC32373F6E60B958A7ECF3616EB8452C228BA8585368DCC3D2403B128574FECDB7962E9C9D921563626A9CF3183C1F1DBD5C9FB854564A461D7CD5049D4DA29258E7680F4A6838011C52950D58E562A992374CD30C86DD04C30F6EDBDDBB432B95EB3CDB5137EBBBB77F62DBE01DB97AD6EFEBF4BADA19D6F79F3FFFB973EFAF3CF0F0274EBDF966B594ECE8DD9D5B29A7D3DA85AB8B0777DE3537F9F68EADFD174ECF240B9999E5E2F90B33CB174B460D2B556BC5655DC60DA1A6BA5CFCD69DA458AD87FC686A7985E35C555159592A7A9D8B5A266AD22E3B16E314B59EE8A0142573F8D8EEB5C53285B0F7DFF5C0AE9DF7BB28F6CAF80B6D1D1DB641DA044B332E1C134883C1ED254B0FEA78CED4A980DB5753175C444F2B7B80B74238869E1B3BB3265C999E791F31558F4BB8707A8DB371C3D4DDAEFACA52A5B5BD339F2BE557E47C56DEBCFB78452EB95D2DAA1ADEB6FD707B0F4FB155A9AE75F5460251378249964E47BCD6EE6ECD266DF0C101525B285E07A4427010D646599B36719AD4481021D7DDFFF4737660FF08FE04A01302EC299C8700FAD684D37530E54C2A4016C12707ED10DCA6E9C2501EEE3C8B18D0F660D068036789C0DC24F021010340340E4C1CBC844523184500D36503CFD5990FB48071726E1B70468341D9F50B54CE899A36023E3BD085FE21ACBBB644D2F50A27B3FEBC9E00AFCDE9E2147D409A0D6EAC5C6FDC3C9A0213EB6FF603CC817D614BC7BEAE17C036A68971ACD7E78DB8586FD8BB25C08708DC6D2AAE7A6D5523440D4FF9702B6837A291568A12145BBE7A717671B22ACB9107EEFC239FC7E3F390B82DE1B42CCB58AD5CB25482A2DD017F707E5AC13137CB2BDE20E50E620DA5061C49D3B497973295B245113C455AB68E97CAD948342C084A59285E389F0AB83DCB136231A3970B982855588A2208B6B533AAA872FF0E77A58E6EDAECC630103DD3BA12F484888238C378F4967692F3A6380F85A99B0E1EEA0FC5B6F8BCC4E5CB93FB0FEE0904FCEFBCF7BAA6E1E136FFCB6F3E03E03F3B3BD3DEB14D2816D2C9AB039BB78482F1BEBECE679E3E83E86E5396C37EFFB603F7F4EFFA6C7AFE3451B76D53663D5455E570869D1C4D53845DAF189915992178A926CA0DBB56C14D0C1FD8DCD1BF9593EA6E5BD7DE7F7BD6E7E7E14F2E74A46F604B980E6DDB7C5BAE96F1B311C448E28D3169F5DB6AF66F937327599794CC52DDBDBB5910F49B611CE1704AAAAAC63FFCCB5716CBEF2E2E5FF1E08C9FEA3C3BA65895B2047D064FB42D2C5418DBD4974695E5A942A56A9D3E313F3936BB65E4A3672FA4CF8DFF281A0FCF2FCC0422742A5913AAD5C3B7F496CB2BAD016C4FB76E593205E00CC21A60180CC2D42C0FCB841884B2509F1B6E4202B8F9B33395C7BF711FFEF813FFCD80D481B30E002B0E80E103700C2144E186B5CE7DD1284A63980C1065C34D6044D3AE039B86E1E0542E02F7C1BB6B20C2E0941E825970073D38994162C04CC1F94138E9075E0DF037A1B7075C44D8D4412D6805CF0817F401CFCD42A7089CCA69E39434EB9C53C047B82D017825CD34F8DFC0A56662E3E114AE37700E67261F943AEF1508AC8597099AD5CD535C17685131C01C13A4E10EBEF0FE46676A05F4811B9BC162A04E34A361E304C390E3B397F6EEBEABA78D75BB56BA12FD3AA66FED7A4CB7A98650AE0A59DE9F08271A08D17966EA2F4994263D8828E7498C5F9891C59AA1A9D55245A098D8E274D242E3EFFE6C0D5195871FDDCB79545F505C5A945A3A688A36BAFAC2D9FC6A47275FCC1638264491AE524AAA17288F9760838DC11D617F80332D2C10633D11AFA169CB1395DD47DBDF7E6DAA3DD1F6E53FFE7B3C9454C95A7B0FC0854223E1AA285A4AF4AE077E677C6CF45B7FFDA57C4A6E6DE3DE78F3D56C063975FE9767DE7DBD96AFE99505D468F8BDA1D5E565D6C50DEEDC3F7A85C8880B6B025DAF931FFFC4777385930AD191CA4CA7532BF14446B72D9A8C351AD9722123D52A868E461301122754B964EB7E4932AA1585A3FCB59239315EC8976B528D989D4CDD7474B05A131251F039967FFAC2BFC65B3AFDFE186E919A596964FEAB5579DA2DA7381309C908AE5E668C053C780C57DC3AAA713CB79A2E088D5A593D596DF814216559261DE96A34A62D43AEE46486772797D716A7C4AE8E5E10E2E67339AD4120AA7CD7DD837BF7844B2BAB5FF9CACD345508C7D0EEBEE13BEF7CEC8EFBF6EA741A21573182ED74D92C5527481CC565E0759B8AE521313F6BBA6C8CF2E13C8B97043DD968FBD8EFFDF9F77FFC3AFED5AFAFDF64044802C00427F1A09705B30EBE6C0B03858EDF65210DC07304A91B16E0128C8B0CB8573A6D233C79ED7A93832F07E970D2A27990EB44B56D0C184DCB0494C3E12E9D701DE10DF08556013EAF67D75FD1BA804258BEDE789D7AD06C41AA5DEFF1FF26D7CFB82ED7B8FA6B05BC6D20CD37E71854E78DC11B5BD7E34A2020818190D9040ACC088709139DCA65E7CE9F79BF505CAD08F9D9D517E1AD027461A07384631ADE50B5DA98462DCFCACAEAE454C6E769595D50F3A94A4B6B8873E10A806EDE94CB6A3CE03D7C7BE2DEDF1AFEE9BF4F1F3EBAD917A075DDA8D73145B384AC38B835B47D2488200097A0BD248B0AC5D01863746FEE5BCB14D446EBB1C35FBF7029552E56AA99FA6F7D7A1F1FB6A3A1DECF7DECCFA3EEED85C6ACA26311D7607999F9E267FEBE3776DC301696E6CB9954FE339FB8AD6BE0B86D709F7CE4E37569797A71C2140B6BAB9388A6EDDEBDEBF3BFFF458C60EEBEFB3313B34BD32BEF352A860BDDDDDD1BCF972EF70CC8233BFFA89C5B61DC626A1CE1DC0016D2F0C8FEAD8307551957752FEF0D2FCEAE24C241A0427037B9E7C0F14C6A01A810A0AE852C16F0BB0C99E8ED1EF98BAF3F75DB91CF6EDB72F0A6BD1F090602966103A4984AC6957ECEABAB868A2B8861E19A90D159B122787BA9502F81E29669BA793EE8F58D6C7BE8E4B959B767D8ED6E595D3416A60BB6A203D74BAA998608E0A60815295F687CFCD1438A582BE54BFB8EF25DBD1DFBF6EF10A4499F6B2491D8DBD2B26F72E1C4F9F33F5254DBE3EFBD32BE4C215C0F0B723866B30ABC4305D8541427108A40080AD81743B3FDDE8E9D0D1F7178E7A3C03A3DD10404042678801E96C50207CB342814A17102D8376082805FE76868003BC003B8293488069DCDFF80E53181CB47017BE49007E20BB521FA1C76C103F81838415B881F50DC46746071C1593014C495E0CFF1D3A0C07E0EA3D60F58B02ED746BACE04278B3AF3DACD82FF4FB936CE75F98DA340BB0558038D27BCD4ED9008D20A031FD1B50DACC068960594AFA96B6241786571F9BD6CE6722EB99C5D4D3134D2A8538A9D09F1C31CE59E5E3EABD8D8EA7C59164B046608056D7EA2DA12F786438C24D9B288B3440C68B4FE81908A57719C5D584CF9120CE70F5704A55A2E7A58D4C3D92D5DB42F48078281BA24B575793ABBDD1E1FDABD29164AF8D3ABCB9845B158F0A5E75F1085B13B8F77DE7A473FE3A76B72FAE0D0A77BA223A65E0F0406BB433D235DC7EF38F411000E9E8F5785E253FFF64F5A430EFA8C89B9DCD0AE418FAFA556D5E7E7C6B46AC9E775C90DFDAFFFE7FFEADC7E302B202FBCF8FD78ACE3E64377ECD93DD4D5D14352DDFB771D6B8FDFFDCC4F9F0F32DD3A36B93653AD895A30B1DD4412F373B352156169FFCA521A31907A45A15C218C0BDD73FF1F664A33BA22F2B45B6AE431CBEDF21A427EEDE0813B5CB4C7325882A0807F6B0388219AA1AE9095E734432274742A4BD64484364064A3A0A43BD6713701FC48E007110450D59A2ED5AAA8818B6EBE952323F30B17C301970537E85024558DB7FA23C13D55B171FEC2F8CDB7ECF8D46347768DDCE50F75976A9743A1D692905ACD2C5C9A78A9989D4BC4518F27562AE5CA4BEAE422BE238133484D3181AF6602E8E3144A5198CDA01E1C07A0CE929E559BCBE6B23AA3E25F79F2490099F58D06A102B62938914031B8B31D2D70B701612CB81F2EA408D4D6280ECC11E0856D81300BF8828EAB85B908783DB649273895B7810E6068276A0207DCB0015448205483B607306ABDD5069EAC0BF4E29C72A7AA795C6FE68863A336CA0DB51BE4C3E51F2A59CF7E78005555812E01FA42682814200F543A80C6F03A01FC2DD3B5F9129B14EB75996673B9C264A1348318AD9AAA2B9AD9D63E94CBAD2ECE9439469A5B99B2F0407241BE7A3E3D30B8B9BB67EFCC6412B17CA61651A496CC1A512A8814892896224A86D717989B2C50982F9D56A626670CBD70FFDD77F60FBA8746DA0197DABB6238E1320CE020481881BA5C1CEF71CF2EAC6597754BF5E756D7BEF0C5A37BF6761EBC6977A63E1E093D52CC5C3AB0F5F370914C1CDE03E5E5138D864892406132BA5992556FBA54BEFBF0B1871FFE83AB975FAB0B44A1A4BEF6F2F3B5545A56049E0F54EAD93B1EFC2F3F7AF627AFBDFAB4AD1B6BA935DBF665D6E4B6B64DF1AE20CF8118198410D25BAFBCD4D9B1BF52CAE80D8BF6B2C019AE55C767C75614B16849627B47DCB05906040064595688DE6D9185C9B1CD03B1DBEFDC9C5C2B7A03DE3FFFD6A37FFDDD27ABC6559D5E4BE54FB05CC4B27804916D536CA47E4198724DC65255D34D19621DE7545BF10EF1D161DD8297CE5543330D43D7F51D5BFB9796D65A5A77B475780042BBDBDBA6A7266409F7843B2CCBA7E94A6FFF80A4D85FF8837F9C9E9D0B742017674E2CCE27790F4592F4E8D5898EC41EDE5762DD01DBDCBA382316B35BAF9C9D6CDD99F0B33661C90440388E9014880080D9D41AA61BEDB8D588EFC2DD91A25895A429FCCB5FFB1A0008442684093CA06600A801408157690D94C01BA609808341EA40DB84026F8024351B938191C151DD3038960A5310FE4D870D0E0633D069042950E1182B6885405C05DC500D3154E0FF100450F624884CE03C08ECB86ED39A5CBC01D9CE501FA441B3D10DCE1E843A7C8D4E6B388C13145D8B8B361CCD068E80D3ADBF764731C03913F0BA806201661D7C7694659814AE73149AC9D73D1EDA306D12B7C007AA68920D2F932B792197AB5C1E9FFF2B16F703C09E7CFF9DE9E964ADA6F76F6A23382D9DC957F3650D6918AA77F2C26C7226E9A15D53A33375A158152DA9E2AB013F2B39E36288DECD565F478F3FA0937420BB56686F21DB8608A55138BC67B0A593F8E54BA7370D1E3E3F333776B682C25B4D6D03B334D512F2F2DA9AB1964632AB454DB1EE3DFEE053DFFD014DB6EEDA72B7D73D7CFAF2A9EFFCEDB7EE38FCDB3D2DFB35AD01949AAA2840ABC2DB2F50402F105B9B62BD7274DFD13DBB6F0231695FDFE67FF9DE7FD31BC82B2FFEE0CF9EFCB3A5FCBC6254490D3F75E68599C933B6E9B5304512568CEA5C36B9343E350A02A17BEEBBC3CBF32E777C716DEEC29BEFE962C634B5C1BE230B8B170B4B45446FB02E6FA4A37760F347DE7DEFAD873FF52735853CF5E60B972FBD39B26764EFA1F8BE3D7B3B62FE3D070A7D030FFDE4473FF178654B1CBAEFD8E314E985313666D7C5B2567C8DD174593319CDC8E64D54A1250C896EBA936E390840EAFC1292346DDCB604D3A8A42A7FE7E5D98692DBB5B7EBDF7FF8B424923B4676F3FE81FFF3CF4FF5F7753EF4D06783A1419A26BAFAB69F38F183B9B9E9ED5D5B52D985E4AA48B9D2BC2BA198495B5596E66AE9A9E2B9F7B2925A1C9BC5DB86F727BA0E65CA99924A17EA71951CCA323BBEF9ED727C4BAF87EF29D426084CBE70660ED0092EBD02C0E5580B78A109844A706900B8BC0E46A1986ED992AEC34D1610135006B32D3FCBB86C3B40633C66797024E2A23913B83D886A002F0802D9300CF008BAC3911D1E401F09AA76B40A4227C3F6A32480AE60AA244638060AB68424DAC016E875FE4A60D5C6DA0D72039D207FE053B32FE8F06BBB5C6FB02ED7476E9E0508D011388E2B8A9A29A425BD80D3A1744EAE2B855AA3A628224E703849A58B1246E6099277315EB95199B9FA83727212678C445B7CEB4008A1F2B6863018C1719C509059AF5CCA195397856A0D6825788BB1281B5E379FC9CD6846ADB33B3637BF925C368A55A1AB77E8C2E5A9AD437E43A9942A254545FB07FADE397DFEF0F19B5F7CF10470AC2B2B35C2C6252563E9A8C7AF361A7A439635ACC4613155D46F3B76EFA6EE219F3766593489BB7ADBB73DFD831FC75AFA47B61E54B586616850A701BD6D68408FE9860648158FB5932409DEAF2094719D7DEABBFF504815354D3AF9E6A581EE16D352A7E767FEFBDF3C77F6E2E99D437DD9A589BEF6F023F77F6470786B5B47577A4DB8EB96C3A645BAFCEC2B2FBD9C4F4E9A1A120906DDDE983F1606A1F24D373F8CA1FCD54B57D656960CBC3075E144CC5D79E481E8273E72AFBF6596F664C26D9DAE4ED11B7AA8248D6FDA26DFBAEFB3C777DFA7D9643E9FB1ECB26D32BC272CEA6525F73E5EE394BA5128D0AC58F30CDFEDDDF3251EB85004A969A68EA44717FEAE6F7B84F62CB6B56CCBD5C6E7E7CDEFFEDDB342AE889A5ABD4A8A02B060866171894437E0E7F4ECD5B1C9D39F7CE4A37E72A08ABEDDD7F5404128CECC4EEF1CDEE722BB66E7AE6C1DDA198BFB30AD106DB10676DC65300792D256AEE7D357D385ABCB9B26B3BDDFFBDEFBA95A616C5E1B39766C6CC23E7FE92D8899C78175825C82B30770B6004100C45960CD805DC350CD099C680C63508C45300EB5790AF8AA26865980102E0A581A8C801BE50118C3D976F8C35E1857405F0887188521BCE34CC2F81DE875F0CE198A307483670916859BAE63A04B13C2E0156C007F13EF4D363A151BEA6E901BE8E4F403C7F5F6BFA1D7063A8133AFA79C34382378D1CEFC254233144BD1AA2E2CA74701F105312BC9995AADC0D0B4A2E15717FE5996A7A27CBFAA5DA4EC94682E582C5111728842F88389C9D915BFABB3A397F2F0DDE12803740D4FB77B3D384DDBC59C26948544C2E376F12E2FB0D25CA524443C3EAB2176B7ECA02923BDB65811448EF4DC724F5F30E63FF9CEB8D670AD2E0A1C411DD8D5BDEB404FBCAD8564CD6A1598776B6D456BEDF6ABB5EE7D3B8E7CEB89BF6F4FF4F19C47531514D78197CA1181BD0786111A690FF7EA8662E80AF8CE0C3823A402A501DE3A45B3A6098201AA5A2B99A65E92AAA9E212CBAAAA943575A55829CA3275E0E0D1977FFA727BBC676870DFEFFEEE178EDCFCC8A69D07DA3A876D8C66596EFB8E4149812BA79AA271F28DE75B639B33A9C586640CEFBEF3D8F17B7FFECA8B5393177D0CAD6A05B78F72B9DA43617DEFCD71C45DCA574B621DA95432725D9295511515BBE277D2740BD00F99D2099E8B517884C05DB252F1078ED9B4BB6A95EB0D8B89D1DE038F25863E1B70B72A98A86BC0A3A26D8369091DCEC9B54B332FB30C1F0DB59F7CEB5C4B6CFFFCD479CCE6BC8144BD3E5F578552B556AF1797E72F47839E48A8A7A1B35C6015785A85522A934EF5F6848B85E45A7EFCF8A1C7CE5E7C3599590BF6C5FC413B9F3295BA383175C21B6F45FD6D1A36935B7DF5FE8F7EE1DEBB3E7EF86018B3667BBA54B151E35C3CFEA75FFB1A888B00769AD60058111CCE40001F064EC155650590C305B53170D151C3B9634F557586A1015F80F7A703371030C689299A77B342FF123E434BD704A8333BD80CA810CEA9B229CCD44DF8AB4B78A71270F61C4F7303ACA16C4439EC7A63EDAFE446EB04E90B04D8A8FFA00BA859A7D3074E0AB240A07747022D816A9A0E7C6A8A0AC892677AE5B5A08F37F55CB93C9BCE4C80AFA5BFF7483AFF86DB059C5FEAFDF1EF1BB24A99F4C2CA2A1F8879BD8962B65AAD24A32DED0419AC36B204C7D7C4CAAE7DAE400297B4CA8E5D2D43C39E6807B1FFC0E14C26574C6B18C23FF4E8D1FDF7C7E25B702E487A5D2C17B6D7D66A17CF94745D51EA92DDF06A5A35DEC9CE275796522B85B23D339DF771432891492D933412FEE617BF8DDA0CC7B8340DB873C0C0028CB386A52762DDB2687978B76EC86028F85123B6A14B88A9712E8F85D204703D7405D82B5956568B0D8AE1EFBBFDDE70A86D393D5D6FA81E57DB819B6E3DF7CECBF104FDC043BF4D79FC358D288BF50B17CFEDDEB3BBB53D915CABFAFCFC954B33674FBE56CA2CD60491A070E04C7A7D5DEFBEFF663E3566E8C586A8B83D1889B858B6F87B7F745B4BFBAD8A5EEE6A8BE54B85645A9B4F978A9548C0157FEFBD13E1182748B9C1C8E7751D7C4B846935489CD3F446B8E356C67F28D87138B6E5F7D9E86ECA13B60D9C065F9161EBA6043C731038F9EDF60B0BFFE8F1DF3EB7547DFF8D555BAC84A3FD4243226863F360EB639F79BCAB33DAB7C9D839D2EBF36CC994B20BB9F4D8E4CFF76D3F9E2ABD9148C48126DDB7F311538B9F393DC7B33A86BA08D5E3F1217D3B637ECF917C395328BFBD78E57457B7116A6B5DAE8AB71FFFDCD66D7C286A5ABA90CB6422090AFFD2134F0064413C3B7600FC13C04041ECA380669A65E304611AA66C01B714C45E26D0B234707440B50D1C400CB00A312DC2C124600AC43688B960EFEB8110106760E0EEC131E1FDE6A86981610DB8948F0908653A1775417193D2900630B56EB480AC170371C6BC2EEBAD7F036BC01BFA4D554DA2C1913F24A665017881B70C98A9011D6E58E5AA9CAF8ED5A5B2585A2331D9036FFD106DCBB79C5DF17307C371BE545D193DF973A1AE998089AA4C5BC8F4C295B6487CCF8EE318C364CB173DFEC8BB272F48758CF746359BEAE88ACB4AA3A77B53A95C13EA0D4959EEEAC1120972615A989A591572046AB87433952D9AF98200BC9458ACD51F24BA3A7ABB3645C7260CA54A88C0D5CB28BCA7CA712E9232F369E9AB7FFCCD301B065EA4A6A9244998BA0DBE34142774BBA46B76D0135035C8251DB008B10902D31538C9CB7B22084A0127485345E0D982CFDC34B44323877D1EFFC4FCA5F1858B9844958B259CF68E4F9E7BEAA97FE743C1E5647A6E2C5FC9AD1D393242024FC53073D94C30EECDAC0A13636FD8BAE6E219454134BDAAAAC66AFA7490654088100CB6A1B8666A545D5066E6CACFBEF4C2A937B29F7BF40F077A6EF2B96A6D5EFAECCBA3268B6EDF1691E4B12DE12F98480DA059D5AA34C3D98845311C8891401C55B5DD14B0AE260029802421EB2688D300D654B53EBDFAFC78EED5C59C7DE2ED57307976F720F6A9DFB9EF87CFFF44A8092343777DE92B5F8FB790A5FA8FEA8DB3D96271A6FC12C3F205F5D908D33531F74359E224C93D3E919D9EBBA82A56AC0D6D4D843CDE587B57D72F5ECAADAC042F9CBB909D5BFAD4C76EB5E9622E67D7CA9625E1AA72897749CF3DF34AA4D5E8EBDBEAE512F89F3CF1B52628019D9A177A081C8474C0EF2665DD90E06A9EF0F607C5B21D870D2E5ECA93144F3A93E54D4003CF0F4213BBC64704EEEF0A81EFE01570C19947C0E0CFB99D5F228222D00514D970C2106419671A1ADE9CED7407BD9A5C02E9A638C90D5608249AC7B5F64EE9AF12CD5A98BBF180B615249C5EB05533E3BCEEA680122020DFB472C002038ED3B8415335D47471583E12B18BC2D5DEF6A3E1386E5607FA075AE7977E49A3358AA18E8D7C6C68D7FE98DF4F07D980971C9BBC8CB8335726CE3C7CD797699EEDED305BE2CC725201A1B958AE1B84CAF8D9D9B12C8909F73D78D3A6FE7DA188E7D0B17B2A8D1CE759A3B83586C1580ADB39BC43D432C965299BACD71A2555B296A7E5F153A2D850BA7A22BCCB5255AA92C7BB5BB71FDC7FC0ED8A43B30C67ED4D1B2A4354D714046E1C6880F7A8EBA60DA7C01AE06300DFAA61C8140B24AA19B2A1CB52A3562CACB4B66EF179790B504D57E7D79666A64645B9C233643A39C971E14D3BF778BCBEE25AFD27CF7E7F6868E7EBBF3CC97AC97289FCF1CF7EBEFFD081CB67DF7EF647FF7B70CBA1A2B0E809F566920B885C6A8DA281E06032B3A0A9D51DDB775914D99AF05C3A3F45DB7438840C1EE038BE6DB972C6EBDFDBBF8B686F8D75B7DCAE210B71F631F0D92B92EEE2398093D3A3CF74B56E02DF037085644922485637F5B2384BE309CBAC6B5A436A90348115C5DAD9B17710CB0CBA023B86F6F56CDBF28B57A8873F7E646DFE7CD776319D2AE695B7EA45E1963D9FD6951A66A7867BEE73B9F28C5FA3D9D6F6B67D53C9C943FBFF34DECA174BCBA2D4985B5EF007621E97F28B5FBE64A8744BACB328CCE1DE85B64DDEE12D9F9E9C5ADD7B133A3A3EB3923D01426755C31391A14BE3FFF67F0168DAFDF65F7DF5F70000000049454E44AE426082'), +(69,'image/png','img','89504E470D0A1A0A0000000D4948445200000333000001CC0806000000E1F0F653000000017352474200AECE1CE90000000467414D410000B18F0BFC6105000000097048597300000EC200000EC20115284A80000022C249444154785EEDDD0994A5775926F0BEB57457F596AD49085908920635C31A968893830B5B8EDB20C88822C60D7170C683330E680228928DC151CFC0100D04100C4B48A2A01121B83461906524401608907DE9D09DF456DDD5B50FEDBCAD4DA7BAEEF7FFFEB76ED75BFDFB79CA7E8EA76FEEBDDF5D9F7BAD7E3A57DFB2676EC512D7E9446862AEE42F1F6CC91F8AA5ABE8B0B7BF8DC6672334F4CDC9994865EE6A79BA7D1E9C29BB903B67DBDDEF4A8FC574C5FD7BA6E549E70ACFB3E5A100FA6CA0F069BCD3F2797F20FE6C63A8F0428EB67C695A3F5876C20D43EDAFD54943ED2EE4E9AB862235B3A6E6C0F751DBFB15CB4B92BB2B0000C07752660000809494190000202565060000484999010000525266000080949419000020256506000048A973F5CD15A399255B4535637805E7D359EEA37BDD1644E70ECF01982E38DF7FDC3315A9DCE7C7A72335B3ADEDDA23002C13A5C39E4F1B1D8E54EE07D6343FEDAACA8FD4176F3273F1FECBF49E6F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EA5C754BC56866814EC500D15CC12063D5CC51B741CA052D7419FB38BED4723473EBF46CA4763EB863225277774FD59D1700B0349D30D4FC73F2971EB32A523B270E0F464AAA66E97D2EC1B067C945AC3814BE99010000525266000080949419000020256506000048499901000052526600008094941900002025650600004829C56866DB21C86235A3990B5DC6AA31CE325B67DA0D52BE63EB9E48ED6C9FE9D36D04002C0B6B07EADE1FFDF286D1486596CCD866CD6866D5FBEAF8B3897EBD85AD3814BE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A973F5CDED4733E78A8674DAAFEE949C72AE6275A76AD873213D1CFD9C8E3F0FE5ED5BDA8D5FDE3BD56E6C1300E070D830D4EE33F95F3F7E4DA4F98DFAA83F1537170000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A9DABFA349A59354859323A59B57BB938A39935439E07FB879D9391E6F7F19D1391000038D8B3D7AD8C34BF738E1E89546FA177808B34D59E53C5C1F0CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A9D0F578C66960C61D6CC4676928F664ECCF66E34F32D9BC722CD6FD74CEFCE0B0060B9191958F8FDDE6F9DB83652BDB5830B9CD7E2BCED3CE2F8660600004849990100005252660000809494190000202565060000484999010000525266000080949419000020A5CE95194633E3CFACBE323E15A9DE155BF6440200A0D77EEAB8D148F5CE5CB732128BC537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029753E7CF378CD9E250D5CBB6D3C52BD4FED9C88040040AF3DB58743972FD9B03A128BC537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029558D66CE7DFB7F9AEAC49F4B5BCDA53CF4B178EF037B22D5BB79CF542400007AEDB491A148F55E79D2DA484B48C9DBDD9A69FD3EBDF9F7CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A55A399754B3A478EB7DDBB2B52BD7B2666220100D06BC7AF1C8C54EF374F5D1F6909319A09000070F829330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4D4B9F2A69AD1CCE6FAB49BB324FDC1DD3B22D5DB3A693493E56BBAE2D96862E6D0279E9D6BFF1FEE543C7B0D147C5CB46AA0FDF90C1EC94FB0003D76CC70EF3EEB7FCD694747EAB19AE7FD9297C404AF2FBE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3A13E8D66D6E8D75E4FCD8158E8325E72C7B648F5764CCD4682FE996879B79B9A291B793D6524420B4F3A6638D2C39D303218A9DC6CC513C3DDBBA7237577C3F6A948E5B64C35FF5C6A74A8FD675843C6398123C0BA8AE7C983FDCE638F89340FCFA93DE19B19000020256506000048499901000052EA5CD9AFDF9949F0FF173857712416BA7A17DDF660A47A3BA797FCAF38D137650FAADDD3ED7FDFEA3123EDEE77FFF9F1EB2235F3DC93D7442A77DCE8CA484B49F3E376D7CE8948E5FEE2CEB148DDFDC93776472AB763A6F9EF1EAD1E8AD052CDF371C9436376AEFD8BD374C185ACF9DDAB9A97CFE181439F7AA05371A14A4F5A7325A0CFD6F4F017045F77FA7191E6E171D113BE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3A17E8D66F6CBE11A205AE0285EF08DDE8D66EE369A49189B2A1BC1FCA10DED3FBBF8C3B31E11A9CCF16B564562A9B8E9C13D91CABDEA335B2275F78DF1BACFCA4606DB3F99EF2E786CACEEB41F933D754DF311D1F5C3EDAFCF9E8AE7FDBBF7CC447AB8EDD3ED2FD3EAE1E6D77D9F8A9B13FA6E752F47331FBFC068263DE19B1900002025650600004849990100005252660000809494190000202565060000484999010000525266000080948C66F6CADCA10FE305B76E8D54CF6866066577C2F19976B7E993D74768E8833F7C62A4726B560E47E24876DBF6F148DDBDF0930F446AE7C1C9F6CF753F7BDA48A4EE5EF25DEB2295FBDE639B9FCFE860FBCF0E2767DB1F8BDB774E447AB88FDC3916A9DC7BBEB93B5233DB67CA4636F75B5DB1B639B7D09A352CA0A7A399DFD36E747A7928398EED1FAFBE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3C19AD1CCC3355099CC85B76C8954CF68E6D2371B7F36D5999D8954E69A1F3E3E52334F78C49A48B0F8AEFA6ADDF3DEC060BB91C57D5EB8F1D8482C969BB6968D66FEA74F7F2B5299DBF6B4FFCC75A4627093235B2F4733CF3F63098E66760AAEDF02A3F0DD19CD0400003824650600004849990100005252660000809494190000202565060000484999010000525266000080948C66F6C18537B51B0B9B8FD1CCA56FF774D96CE68F9F341CA9CCA53F787224E88FD9D9E6F7ED81B97663B0FF6AB0DDE382A5E9D687F6442AF3A24FDC1FA9DCD8EC50A4667AB89348723D1DCD7C42D9C0755F948C66D6287ACB6A3413000038C228330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4D4F940CD68268D5C74E30391EA19CDEC8FB98A3DA9DD93656381977EFFB191CAFCC4E9C74402589EDEF1952D91CAFDF72FEC88D4CC9AE1C1484BD760CBB1C3E17E7E74BD0CDEA6F47234F3BC279E10A9C7FA357C59C368260000C0A129330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A46434B30F2EFCCAE648F58C66F647CD519E992E1BCDBCE60527462AF39413D64482E6BEBC7967A472DF7C683C52772B87EA3E2B4B30074781B6FB7E5BC7CB9E4F0FF4FEDBF7466AA8D3EE3E5B7CDDE6DABFC27C6BEF6CA4325B27CBCEB3ED38E772B1BAF2F9EB40E73F6981D1CCAAC3DC9FDBA8E65CFAF58ED537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002975DE7FA3D1CCC576D197EF8F54CF68667FCC561CE681B9B291B78FFCC84991CA7CEF86D59138D23DB8673252779FB97B7BA472CF3A797DA4EE06E6DA8DFBC1810607DA4FF6AD19EED3E7B585AF179D8AEB74D3435391CABCF86FCBDE874CCEB53F7615576FC9E8E568E6794F7E64A479541DABA57FA0FB75097D33030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052E56866C94997C18A524B177DE9BE48F5764F19CDEC87898AD5CCDD7BCB46CD3EFA2327462AF3AC538E8AD44CA773E43E0697BBFB774D44EA6EEBEEBD91CA7DEDA1E6E39C97DFF850A47656F76BF0102A4D16BE5E9C71CC70A472FFED19ED5E2F9EF397F7446A66FB54FBD78BC165F052D3CBE79FF39EFAA8482C16AF160000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002975AEA81ACDA4898BBFD8CBD1CCD94847A6D22DCBF1E999486536AE6BDFF39F73CAEA48CDBC74E39A48651E7DF448A46606068722951B1C1C8C54C650677F6C2E18CD7C706C3C52B9BFB9BBF9F9FCDE17B6476A67FDCA76F739E8B7BD33652F4CCFDCD0FEBE7DF973DB8D669E6334B3484F47339F7652A4879B2B1A9F3F98D7D7FD7C33030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052E78AAF18CD5C6C17FFF3BD91EA2D87D1CCD2E1CB034D158E60BEEA89EB229579D599C7472AB76ED57024E88F92D1CCAD15A3999FBCA7F9F95CF0856D91DA319A4916A5A3994FAF18CD7CFB731E15A9CC39D7DC1DA919A399BDFBACFFBCA79F1CA9B732BC79EFD75DC137330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029E518CD2C59DDA9B9368BB4EE73D1E7EF89546F398C668E4D960D5F1EE8B5671E15A999579FD56E600C32E9D768E67577EF8DD4DD059F379AC991A19FA399973EEFA448655E70D55D919A39D24733D70CF7EEF9E7BC671E7A3473B90F5FF6EBFAF9660600004849990100005252660000809494190000202565060000484999010000525266000080949419000020A5CE9F2FB7D1CC2A8B330D74F167EF8E546FA98E66968C863DE9D8F663541FFDA9C7466A6670505F67F92B1ACDDC55339AD9FCB4177CB672347395D14C72281ECD7CC450A472973EBFE568E69577466AC66866EF9E7F7EFBFB4E89D45BFD1AB3ECD7F9D4F04E0F00004849990100005252660000809494190000202565060000484999010000525266000080949419000020A5CEFB6A463397C130523F5CF299BB22D55BAAA399BB26662275F7C6671D1BA9DC2B9F71622460BFCDBBF646EA6E6BC1DF3DD87577158C66FED34391DA319A49167D1DCD3CE7E448655EF0C13B22356334B377CF3FAFFDFE5323F55686D1CC7EF1CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052E77D378E974DD71E1625FBA34BEFEA5CF2E93B23D5DB3D351BA9B76A8FDAE4F44CA4EEAE7A61FB35DC679EBA3E12B0DFE69DCD57FDB78E35FFBB07BBEECEF148DD5DF0990723B5B37E55EF16B86131ED9D297B057DFAF14391CA5D7ACE2991CABCE00377446A66FB54841606334CC677B166B877CF3FAF3DFBD1911EEE701DAA927B6C869BD337330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC000000290DEC1BCEF1B3B83FF3FF5F5BFECC2DCD9F81D9E63FC3839DD63F40A56F3F64DBFF7CFB7FF9F1E3A7F267BEC756C39FB6E6BD1C7E0EF533B7A2D3B39F85EC9B416FFBF3ED4BDAFAA7C47CA75F6A3FBE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3DEAF8CEFDB9B6111BDF9FA3B22D5DB3D3913A9B76AEF04BB27A62375F7B6E73F3252B9173FF18448C07E9B77EE8DD4DD8363CDFFEEC1AEFDC658A4EEDEB0E95B91DA59BF6A2812F5CFD04BC1F21D3DDE3BB36FC2B0B9B31EB93252B9F7BCF03191CA3CFF8ADB2235B36D32420B43096EEA99150B3FBF8CCE4E44AAF7BAE73D3ED2C3D53CB2CD88FF1BDFCC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A46434B30FDEBCE9F648F5C6166934B3D6EEA9E6A3613FFA989148E5DEF9E2C74502F6BB7F47F321CC3BB6EE8A54EE94E3D646EAEE962DE391DA191E3009B7DFDE82E7D77E192E5C461C196CF7D969863728B3736597F2D8D1C148E54E5ADF6E70F3ECCBBF1EA9995DD3ED1F7F837D7CE8CEAC188E546672CF9E48F3BBF0BBDF1FA9DEAAEFFEFD484BC8327B7AF5CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A9D3FCB309AD92958F7291CAFEA95CE0297F192BFFF66A47ABB97E868E66CC1619F9D697F1DDEFD138F8AD4CC0F3DFEF8484BD7DCF474A43273BBCAC60FC7D61C13A9DCE8508442C33E2EE98B89E9E6A38A1FFEBF77452A57B2F5B76E55FB61C07DFAF54C3ED4A771CEC1C1F6C7E3D9DF7D62A4A5E3ABF7EF88D4CCA6DBB6452AB37665FBE3567ACBB6BDCFF5737FF073F72D3CF67828D77C7D2252339D8AC745C929A75B8E5EEED76DFCF2502EFE9E77469ADFCF9CF6B948F5AE5C7D7DA42350C983AAE281E4AD060000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A7D1CCDAC58C3394C43982516DAF5BCF68A4B23D53B79FAFE48B0FC3CFA31DF15A9DCAB7EED5723B158B68C4D465A3EEEDF311EA9DC4DF7ED8CD4DDC870FBF1C7173EB96C2CB81F3E7757D968E62F7CF8F64865B68C371F843DD85CE1FB8E8A77297D3330D0EE33E8D5C50BC6EDDF77950C61B61DBDDCEFE2EF5D78FCF250CE7DF42722CD6FFC81DEBDEFBCFABB6E8AC462F1CD0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404A9DF7D48C66969CB26F6B543567B438E39C37FED91B22D5FB8DDFBB20D2FC764CB6BB0EB3ED77C9FEC5FAC1FEDC19E60A6FA3B6E7B47AB8FD651C1D2AFB8C6068B0ED79D5DCD74BB5BB5F0D2FB4263B8FD7BEE6B591CAFDD7DF3E3F120BE914DE26071AA8386D3F0D145CCCAB6ED81CA9DCC60DA391BA7BC249EB23959B599C97A62AC32507F9DB1EDA3311A9CCAB3E726FA4725F7EB0EC856DA4F57371066577A29982E1CB834D140C615E7CC6E591DA39F7B485C72F0F65E6BE0723CD6F6AE89848F53EFC989B231D79FAF3CED0373300004052CA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002975DEFDE58AD1CC224B7F8CAAE6122E74106F7AEFEB23D5FBF9DF7953A4F96DDFD56EFD72E5608496AEFEF80D91BA7BEB15D7472AB76EF5CA48CDAC1D5D15A94CA7B30457EA0E32B6773A52336B57B51F41FBD8FF7E79A432AB06CB3E2FF9A337BD2E52B98F3DE2259138D2956C7B4ECDB67FE61F2D18D79D9D6DFF9CB2149F8D4A8FDA60E1C8E67E3BA7DADF3EA5B76D8E4DD876F786E9C211CCC9DDCD872F0F76F1139A0F619E7BDA7591DA99B96F6BA432DDC68327063744AAF7E1D3BE1229A77E3DFFD43CFC7C33030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052E568668A85A9C3AE97A399E79EB7F068E6B6ED3391CA0C54AE851DB3BAF9DDE85337DC13A9DC45EFF844A466F64E940D4BEEB772A8FDC0E48A4EE97069BB63BF677C3252336B86DB7F76F1F1CB5E11A9CCEAA1B2EBF6C717B41FCDFCC0512F8D04CDD53CF5CD15BC7AD60CCF2DC557DAD2EBD3F63A14EEEE7E87A578DC6A4DAF188A546672CF78A4664A862F0F76EE630B5EA7B7DC1FA1A596A3B7B3D30B0F708F0F1E1FA9DED5A77D29128BC537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002975DEFDE5BD355B5E0596DB64D8775AE812DED8C3D1CC5F38EFF723CD6FDBF6D2C1C6FFAF3350778C87062334B076B0DD65DCE75D7F7543A4662EBFFAB391CAAC5B3B12A95CBFEEADBBF74C446A667DFBABB4E2637FF2CA48654606CB8E46CD68E69547FD742480A56B7A45FB51E6C9F13D91CA5CF2C477456AE6DCD33F1EA9DCD81D3B2375F7BFBEF88C48ED7CCF715B2395F989C77D2DD2FCC63A8F8E54EF2F4EFD5C24168B6F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EABCCB68E6A2BBB987A399BFD86D347357BBE35C7B848F19697EBEFF7CEB9648E5CEFFE36B2335333BD7F278F4F32ED7F2CCF6ECDE1BA9997523EDAFD4C7FEE4572395E9EB68E6FAFF1809A07F4A4730A7F6B41BBEDCE7E227BD3B5299731F7B5DA466C6EF7E2852B9576F7A4EA4EE5EB8F11B91DA79EF8D67442A73C1D99B22CDEFE80D1B22D5FBCB477D3A128BC537330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029F5713473795B681AF0A61E8E66FED2F90B8F666EDF311BA9CCEA91082DDD7BFF58A4EE5EFDE66B2295DB333115A999C181C148A5DA3F2C66A6672235D376D873726A3A5233478DB4FFECE2DAB7BF225299D1E1B2F3AC1ACD5CFB924800E54AC72FF79B2C1CC1BCE429ED862FF739F7F4B2F1CB7FF5C003111AAA188EBEE8336747EA6EF3EEB591DAD9B8A1DDB8E72F3EF18648F31B1B7D4AA47A1F7BE45F459A47CD3BF08ADBA84882CBE89B190000202565060000484999010000525266000080943A97FB070016DD2D3DFC07007EF9BC85FF01809DBBDBFD0300AB8622B4F4DB6FF9EB48DD7DFE6BF7452AB76EB4EC1734675ADEBB27F64E442A37375DF68F148CAC6AF74BA75B778C476AE684A3DAFF2B0F7F7BD92B239519192CFC07002EACF8070056FB070060D9A9F805E2E9B9B217B6A9F1B25FE4DFEF92A7BE2752333FBFF11391CA8DDDB1335299B7DEF0B448CDDCB6EDB848E57EE68C2F47EAEE6F6E3F3D523BB32DEF1F17FED02723CDEFAE353F15A9DEF547BF2DD23CFAF54BFC35FC03000000008B43990100005252660000809494190000202565060000484999010000525266000080949419000020A5CEE55F6A3F9A59B285936299B366DC67EED0D7F096F7BD2152BD5FE9329AB977722652996FDEB93D523BBFF6FB5746EA6EF5E8AA48E5661738CEF3693B7EF9AD2DED8FC7DBCE7F51A4664E3EE19848657EF4D72F8BD4CC238F1E8D54EEFAF7FD46A4327D1DCD1CEDDDC819B0344CAF68372ABCCFD49EB211CC379FF9AE48655EFEB88507180F367BEF8391CABDF293E7442AF3B2336E8ED4CC2356EF8A54EEBC4D3F10A9BB379DFDA948ED6CBAFFA448657E64E36D91E677F729BD7BDFF6F59197454ACA68260000C0E250660000809494190000202565060000484999010000525266000080949419000020256506000048A9F3CE8AD1CCFE29B8889D3E2DF41C64A173BDE5BDAF8F54EF95E72F3C9A393DD16E34F3239BBE1EA99D0BDEF97791BA3B767DFBF1C6C9C9A948CD6C7EA0DD38D9EB5EF1DC48E57EFA9CA7445A5CD7DF707BA4667EF3A2AB2295FBC295BF15A9CCE850D9E72555A399234633A17FCADE3AB41DBF9CDAB33B52B9FFF1B4F7446AE6E736367F1D3BD0E65BF7466A66C74CFB21D0BFFCC6E32395199B5C19A999373EFFDA48E5AEB9E1CC48DDED9A2BBB5C077BF9D3FF295299E9A9E322CDEFEA633F17A9DE9EC113222D21250FDFC3F3B6BA886F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052AA1BCD2C1AD2A9D9E66C7E4635DB3E8B75097B399AF95F7EF7C248F31B1F9B8C54E69A4DB7466AE74D975D17A9BBE38E5A1DA9DCE62DDB2235F32B3FFEB448657EFD67CF8E546E6EA0EC5E38D7F28E375878C24F7FF18E48E5CE3EF33191CA948E66FE51CD68E6CA1747021AA978C19C9E2B1B7E9C1A6F377EF996A7BF2B52B9979DFE8F911ADA7A5F8432776E3B365233AFD9F4C391CAFDEEB33E15A9CC476FDB18A999FBC7D6462AB77EF544A4EE7EF1A937446AE7D4A376442A73F3E82F459ADFE7D65E1C890C7C33030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C00009052DD68669FD40C61F6CB4207F1ABEFEBDD68E66BDEB4F090D3B69DCDC7AA0EF4C55BB7446AE7E5AFFF60A4EE8E5EB32A52B9CE74D9F5FBE8DB7F355299A347CB06E10E34315BF6906A7BFF1EE8949D72A8E681D4F2B4FD1CCDFCD0F08B22014D4CAF68FF3C375D3882F99667B41BBF7CD9C64D91CA8DDD5136A878ED1DA7472AF392277C295233175DFFEC48E5DEFFD5332295B9E2C7AE89D4CC75F7B41B4ADEE7AC53EF8DD4DD59A7DC19A99D5D03A7452AF3D7EB171EFADE3B5036849A4FC98B7A7F6A42A7E2DDBE6F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EABCA36234B366836FB11CAE05D0858E452F47337FE782854733774EB43B02E3139391DA79C51BAE8AD4DDA64FDD12A9DC539F7A6AA4663E70C9CF452A34D0FEDE3D3DD39FD1CCD2D3555CA5159DC281CEFD560F977D5E52359A3964349365AAD3FE956D7AEED0C398A5C39707FA8367968D60FEECE9D7472A3373DFD648E5E60666223573F167CF8E5466D3DDA7446AE6A5FFEEE648E5BEEFC47B2295B9ECC627476AE60F9EF7F1482D0CCC46E86E62E0B848ED7C62FD072295D9327866241657C97B87F6CF73BE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A97359C56866898ABDBEA2199D7E9DCFC1163ADFAFF57034F3BC6EA3997B23145A35D87CE46A3E0F6C6B7EC66F78EB5F472A77CDDFDF14A999173DE78991CAFCC27F382B52B98D8F2E1B016BBB87D772C7B295B6E7353A54F67949D568E6E04F4682E5657AC5A1872FBB9919DF15E9E1FEE759EF8E54EEA51B3F1DA999E97BDA8D5F0E543CD1750A9F5C3BC35391CABCF61F9E13A9998181F6EF362EF8C1BF8B54A8F038CE0DB4FFAC7BD7AAE6E3D69F5AFBB648ED7C6BF0E991589A4AEE77ED1F17BE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A973D90DFD19CDEC979A1DC1C53A10B7FE79EF4633DF78E1C2A399932DB72F6B5BED6CC1C19B989A89546E66B6EC0A16FEF59E28DD789B5B568FC0EF34325C76302EFEBDF32395FBD080D14CFAADF983B76EF8722C52B93FFCBE77457AB89F3EFDFF442A377D6FD908E640DB57D83EAE03775A8E597686CB5ED3DEFAC5F6438F3FF6B8AF472A73E2716597F1EB232F8D54EE4BA3AF8ED4DDDECE8648CBD942F7E19A3700FD796CF4EF11D89E6F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EAFC69C568E6521CD2A9991F5A2CB7FFCD9F46AA37FDD03D9160F9D9BBE6C448E5AE9BFDF791A03F660B3E0FEC4CEE8E54EEF54FFE40A4723FB9F1F3911E6EFABE6D91CA0D14BE01986BF9D9E95C673052B999CE50A466A607D7442A33397454A466768D9C12A9DCE6E167452A73DFF0B323353336785224EA19CD5C6CBE990100005252660000809494190000202565060000484999010000525266000080949419000020256506000048A96A34B35F4A067B0ED7955932A34219D68DAA945EC1257FF74EA25F772CB7571BFD7A8EECD7F9ECD3A9BACB159C78AE4F47A4EAFA2C076D8F733F0F9CCBD87FD5CF14F167A985CFB7D3C3E3557B0D0F6DF1FECB07EAE5B1582CBE99010000525266000080949419000020256506000048499901000052526600008094941900002025650600004869D98D6656A938A38576D7EAC6DF0EB258B7D6D2DF44E2B0EAD71D64C93F1D1559920FABAA0B5570E2AA31CA4A254FBAFD1ACDAC527119173A1619AE7A8AE784D2837138AE53DF6EB06F2BB97EFDBC5C07EA7619FB73B96ACE65AEEA7ED4FC9C0FD72D54C237330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000029F56D34B36ADA27C1624FDF4633BB68BBFF96E118E7517A30FBF210E43028BB27543C083B25F7A1F6E75332D25674917A6D293EA1D51C8FC5BA3A4BF1323DCCE1BC2335557A300EC7755A828F89C3AADB6DD09FE3E5563950FBC7856F660000809494190000202565060000484999010000525266000080949419000020256506000048499901000052EA5CFAC5FE8C66D60C03955C40E38F7C2777887FD3FEA19EE3282E7429DB5FF7B98A2BDF293872258394072B399F1A45A3997DBA4CF5DA1FF7A23B4796C3B1E454DC3ECBF2A0B73D1EFD3B1625E75473EB66B134EF852547BEE21A149DB4FDBDC137330000404ACA0C0000909232030000A4A4CC0000002929330000404ACA0C0000909232030000A4A4CC00000009AD58F1FF0017CD20EC694295D90000000049454E44AE426082'); - -INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`) VALUES - (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (2, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":1},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":8,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (3, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (4, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (5, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (6, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (7, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (8, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (9, 1, '编排', '编排', 'select', 'orchestration', 'int', 15, 31, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (10, 1, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (11, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (12, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (13, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (14, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (15, 1, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (16, 1, '业务群组', '业务群组', 'select', 'business_group', 'int', 50, 20, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (17, 2, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (18, 2, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":2},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":31,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":2,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":2},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":24,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (19, 2, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (20, 2, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (21, 2, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (22, 2, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (23, 2, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (24, 2, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (25, 2, '编排', '编排', 'select', 'orchestration', 'int', 15, 32, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (26, 2, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (27, 2, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (28, 2, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (29, 2, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (30, 2, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (31, 2, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (32, 2, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (33, 2, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 0, 0, NULL, 'created', 0, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":2},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":31,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":16,\"isReferedFromParent\":1},\"enumCodeAttr\":\"id\"}]"},{"type":"delimiter","value":""}]', 0), - (34, 2, 'DCN设计类型', 'DCN设计类型', 'select', 'dcn_design_type', 'int', 15, 27, NULL, NULL, NULL, 9, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (35, 3, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (36, 3, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":3},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":49,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":18,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":3},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":42,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (37, 3, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (38, 3, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (39, 3, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (40, 3, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (41, 3, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (42, 3, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (43, 3, '编排', '编排', 'select', 'orchestration', 'int', 15, 33, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (44, 3, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (45, 3, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (46, 3, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (47, 3, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (48, 3, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (49, 3, '子系统设计', '系统', 'ref', 'subsys_design', 'varchar', 15, 2, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (50, 3, '资源集设计类型', '资源集设计类型', 'select', 'resource_set_design_type', 'int', 15, 28, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (51, 3, '资源集设计', '资源集设计', 'ref', 'resource_set_design', 'varchar', 15, 26, '关联', 32, '', 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (52, 3, '名称', '单元名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (53, 3, '类型', '类型', 'select', 'type', 'int', 15, 21, NULL, NULL, NULL, 10, 1, 11, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (54, 3, '跨IDC部署', '跨IDC部署', 'select', 'across_idc', 'int', 15, 34, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (55, 4, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (56, 4, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":4},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":69,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":36,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":4},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":62,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (57, 4, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (58, 4, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (59, 4, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (60, 4, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (61, 4, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (62, 4, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (63, 4, '编排', '编排', 'select', 'orchestration', 'int', 15, 35, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (64, 4, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (65, 4, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (66, 4, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (67, 4, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (68, 4, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (69, 4, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (70, 4, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (71, 4, '类型', '类型', 'select', 'type', 'int', 15, 36, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (72, 4, '高可用', '高可用', 'select', 'ha_type', 'int', 15, 29, NULL, NULL, NULL, 9, 1, 16, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 6), - (73, 5, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (74, 5, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":5},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":87,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":36,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":5},{\"ciTypeId\":5,\"parentRs\":{\"attrId\":89,\"isReferedFromParent\":1},\"enumCodeAttr\":\"value\"}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":5},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":88,\"isReferedFromParent\":1}},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":56,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (75, 5, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (76, 5, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (77, 5, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (78, 5, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (79, 5, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (80, 5, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":5},{\"ciTypeId\":5,\"parentRs\":{\"attrId\":89,\"isReferedFromParent\":1},\"enumCodeAttr\":\"code\"}]"},{"type":"delimiter","value":""}]', 0), - (81, 5, '编排', '编排', 'select', 'orchestration', 'int', 15, 37, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (82, 5, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (83, 5, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (84, 5, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (85, 5, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (86, 5, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (87, 5, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (88, 5, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '关联', 32, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (89, 5, '类型', '类型', 'select', 'type', 'int', 15, 38, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (90, 6, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (91, 6, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":6},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":104,\"isReferedFromParent\":1}},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":56,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":6},{\"ciTypeId\":6,\"parentRs\":{\"attrId\":97,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (92, 6, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (93, 6, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (94, 6, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (95, 6, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (96, 6, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (97, 6, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (98, 6, '编排', '编排', 'select', 'orchestration', 'int', 15, 39, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (99, 6, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (100, 6, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (101, 6, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (102, 6, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (103, 6, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (104, 6, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (105, 6, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (106, 6, '调用设计序列', '调用序列', 'multiRef', 'invoke_design_sequence', 'varchar', 300, 5, '关联', 32, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (107, 7, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (108, 7, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":7},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":121,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":18,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":7},{\"ciTypeId\":7,\"parentRs\":{\"attrId\":122,\"isReferedFromParent\":1},\"enumCodeAttr\":\"code\"}]"},{"type":"delimiter","value":""}]', 0), - (109, 7, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (110, 7, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (111, 7, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (112, 7, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (113, 7, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (114, 7, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":7},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":121,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":24,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (115, 7, '编排', '编排', 'select', 'orchestration', 'int', 15, 40, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (116, 7, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (117, 7, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (118, 7, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (119, 7, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (120, 7, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (121, 7, '子系统设计', '子系统设计', 'ref', 'subsys_design', 'varchar', 20, 2, '实现', 33, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (122, 7, '环境', '环境', 'select', 'env', 'int', 15, 23, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (123, 7, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (124, 8, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (125, 8, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":8},{\"ciTypeId\":7,\"parentRs\":{\"attrId\":138,\"isReferedFromParent\":1}},{\"ciTypeId\":7,\"parentRs\":{\"attrId\":108,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":8},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":139,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":42,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (126, 8, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (127, 8, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (128, 8, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (129, 8, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (130, 8, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (131, 8, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":8},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":139,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":42,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (132, 8, '编排', '编排', 'select', 'orchestration', 'int', 15, 41, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (133, 8, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (134, 8, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (135, 8, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (136, 8, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (137, 8, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (138, 8, '子系统', '子系统', 'ref', 'subsys', 'varchar', 20, 7, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (139, 8, '单元设计', '单元统设计', 'ref', 'unit_design', 'varchar', 15, 3, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":3},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":49,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":17,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":8},{\"ciTypeId\":7,\"parentRs\":{\"attrId\":138,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":121,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":17,\"isReferedFromParent\":1}}]"}}]', 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (140, 8, '实例数量', '实例数量', 'number', 'instance_num', 'int', 3, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (141, 8, '包', '部署包', 'ref', 'package', 'varchar', 20, 11, '使用', 32, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (142, 8, '资源集', '资源集', 'multiRef', 'resource_set', 'varchar', 20, 20, '关联', 32, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (143, 9, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (144, 9, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":9},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":157,\"isReferedFromParent\":1}},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":125,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":9},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":158,\"isReferedFromParent\":1}},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":62,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (145, 9, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (146, 9, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (147, 9, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (148, 9, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (149, 9, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (150, 9, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":9},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":158,\"isReferedFromParent\":1}},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":62,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (151, 9, '编排', '编排', 'select', 'orchestration', 'int', 15, 42, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (152, 9, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (153, 9, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (154, 9, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (155, 9, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (156, 9, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (157, 9, '单元', '单元', 'ref', 'unit', 'varchar', 15, 8, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (158, 9, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":4},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":69,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":35,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":157,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":139,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":35,\"isReferedFromParent\":1}}]"}}]', 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (159, 9, '域名域', '域名域', 'select', 'dns_domain', 'int', 15, 43, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (160, 9, '域名名', '域名名', 'text', 'dns_name', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (161, 9, '服务端口', '服务端口', 'text', 'service_port', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (162, 9, '高可用', '高可用', 'select', 'ha_type', 'int', 15, 29, NULL, NULL, NULL, 11, 1, 12, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (163, 9, '服务IP', '服务IP', 'ref', 'service_ip', 'varchar', 15, 14, '使用', 32, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (164, 10, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (165, 10, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":10},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":178,\"isReferedFromParent\":1}},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":125,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":10},{\"ciTypeId\":5,\"parentRs\":{\"attrId\":180,\"isReferedFromParent\":1}},{\"ciTypeId\":5,\"parentRs\":{\"attrId\":80,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":10},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":179,\"isReferedFromParent\":1}},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":144,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (166, 10, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (167, 10, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (168, 10, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (169, 10, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (170, 10, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (171, 10, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":10},{\"ciTypeId\":5,\"parentRs\":{\"attrId\":180,\"isReferedFromParent\":1}},{\"ciTypeId\":5,\"parentRs\":{\"attrId\":80,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (172, 10, '编排', '编排', 'select', 'orchestration', 'int', 15, 44, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (173, 10, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (174, 10, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (175, 10, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (176, 10, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (177, 10, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (178, 10, '单元', '单元', 'ref', 'unit', 'varchar', 15, 8, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (179, 10, '服务', '服务', 'ref', 'service', 'varchar', 15, 9, '关联', 32, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (180, 10, '调用设计', '调用设计', 'ref', 'invoke_design', 'varchar', 15, 5, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":5},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":87,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":35,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":10},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":178,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":139,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":35,\"isReferedFromParent\":1}}]"}}]', 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (181, 11, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (182, 11, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":11},{\"ciTypeId\":11,\"parentRs\":{\"attrId\":196,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (183, 11, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (184, 11, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (185, 11, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (186, 11, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (187, 11, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (188, 11, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":11},{\"ciTypeId\":11,\"parentRs\":{\"attrId\":196,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (189, 11, '编排', '编排', 'select', 'orchestration', 'int', 15, 45, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (190, 11, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (191, 11, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (192, 11, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (193, 11, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (194, 11, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (195, 11, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '关联', 32, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (196, 11, '包名称', '包名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (197, 11, 'MD5值', 'MD5值', 'text', 'md5_value', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (198, 11, '上传时间', '上传时间', 'date', 'upload_time', 'datetime', 50, NULL, NULL, NULL, NULL, 9, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (199, 11, '上传人', '上传人', 'text', 'upload_user', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 11, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (200, 11, '存储路径', '存储路径', 'text', 'url', 'varchar', 200, NULL, NULL, NULL, NULL, 11, 1, 12, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (201, 11, '部署脚本文件', '部署脚本文件', 'text', 'deploy_file', 'varchar', 200, NULL, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (202, 11, '部署用户', '部署用户', 'select', 'deploy_user', 'int', 15, 46, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (203, 11, '差异配置文件', '差异配置文件', 'text', 'diff_conf_file', 'varchar', 200, NULL, NULL, NULL, NULL, 14, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (204, 11, '差异配置变量', '差异配置变量', 'multiSelect', 'diff_conf_variable', 'varchar', 1000, 30, NULL, NULL, NULL, 15, 1, 16, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (205, 11, '启动脚本文件', '启动脚本文件', 'text', 'start_file', 'varchar', 200, NULL, NULL, NULL, NULL, 16, 1, 17, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (206, 11, '停止脚本文件', '停止脚本文件', 'text', 'stop_file', 'varchar', 200, NULL, NULL, NULL, NULL, 17, 1, 18, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (207, 11, '部署路径', '部署路径', 'text', 'deploy_path', 'varchar', 200, NULL, NULL, NULL, NULL, 18, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (208, 12, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (209, 12, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":223,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":14,\"parentRs\":{\"attrId\":226,\"isReferedFromParent\":1}},{\"ciTypeId\":14,\"parentRs\":{\"attrId\":261,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (210, 12, '状态', '状态', 'select', 'state', 'int', 15, 9, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (211, 12, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (212, 12, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (213, 12, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (214, 12, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (215, 12, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (216, 12, '编排', '编排', 'select', 'orchestration', 'int', 15, 47, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (217, 12, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (218, 12, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (219, 12, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (220, 12, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (221, 12, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (222, 12, '资源集', '资源集', 'ref', 'resource_set', 'varchar', 15, 20, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (223, 12, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (224, 12, '类型', '类型', 'select', 'type', 'int', 15, 48, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (225, 12, '操作系统', '操作系统', 'select', 'os', 'int', 15, 49, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (226, 12, '内网IP', '内网IP', 'ref', 'intranet_ip', 'varchar', 15, 14, '使用', 32, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (227, 12, '外网NATIP', '外网IP', 'ref', 'internet_nat_ip', 'varchar', 15, 14, '使用', 32, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (228, 12, '系统盘(G)', '系统盘(G)', 'select', 'disk', 'int', 15, 50, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (229, 12, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 24, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (230, 12, '计费周期(月)', '计费周期(月)', 'number', 'instance_num', 'int', 2, NULL, NULL, NULL, NULL, 14, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (231, 12, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 15, 1, 16, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (232, 13, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (233, 13, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":13},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":246,\"isReferedFromParent\":1}},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":209,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":13},{\"ciTypeId\":13,\"parentRs\":{\"attrId\":239,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (234, 13, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (235, 13, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (236, 13, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (237, 13, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (238, 13, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (239, 13, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (240, 13, '编排', '编排', 'select', 'orchestration', 'int', 15, 51, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (241, 13, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (242, 13, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (243, 13, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (244, 13, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (245, 13, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (246, 13, '主机', '主机', 'ref', 'host', 'varchar', 15, 12, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0), - (247, 13, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (248, 13, '挂载点', '挂载点', 'text', 'mount_point', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (249, 13, '类型', '类型', 'select', 'type', 'int', 15, 52, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (250, 13, '容量(GB)', '容量(GB)', 'number', 'disk_size', 'int', 15, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (251, 13, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 24, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (252, 13, '计费周期(月)', '计费周期(月)', 'number', 'instance_num', 'int', 2, NULL, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (253, 13, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (254, 14, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (255, 14, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":14},{\"ciTypeId\":14,\"parentRs\":{\"attrId\":261,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"/"},{"type":"rule","value":"[{\"ciTypeId\":14},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":270,\"isReferedFromParent\":1}},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":408,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (256, 14, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (257, 14, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (258, 14, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (259, 14, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (260, 14, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (261, 14, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (262, 14, '编排', '编排', 'select', 'orchestration', 'int', 15, 53, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (263, 14, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (264, 14, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (265, 14, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (266, 14, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (267, 14, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (268, 14, '类型', '类型', 'select', 'type', 'int', 15, 54, NULL, NULL, NULL, 6, 1, 16, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (269, 14, '使用记录', '使用记录', 'textArea', 'used_record', 'varchar', 1000, NULL, NULL, NULL, NULL, 6, 1, 17, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":14},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":163,\"isReferedFromParent\":0}},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":144,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":14},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":226,\"isReferedFromParent\":0}},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":209,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":14},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":227,\"isReferedFromParent\":0}},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":209,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":14},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":409,\"isReferedFromParent\":0}},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":393,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (270, 14, 'IP网段', 'IP网段', 'ref', 'network_segment', 'varchar', 15, 21, '属于', 29, NULL, 6, 1, 18, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (271, 15, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (272, 15, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":15},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":285,\"isReferedFromParent\":1}},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":125,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":15},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":278,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (273, 15, '状态', '状态', 'select', 'state', 'int', 15, 9, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (274, 15, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (275, 15, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (276, 15, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (277, 15, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (278, 15, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (279, 15, '编排', '编排', 'select', 'orchestration', 'int', 15, 55, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (280, 15, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (281, 15, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (282, 15, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (283, 15, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (284, 15, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (285, 15, '单元', '单元', 'ref', 'unit', 'varchar', 15, 8, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (286, 15, '主机', '资源集', 'ref', 'host', 'varchar', 15, 12, '运行在', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":12},{\"ciTypeId\":20,\"parentRs\":{\"attrId\":222,\"isReferedFromParent\":1}},{\"ciTypeId\":20,\"parentRs\":{\"attrId\":372,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":15},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":285,\"isReferedFromParent\":1}},{\"ciTypeId\":20,\"parentRs\":{\"attrId\":142,\"isReferedFromParent\":1}},{\"ciTypeId\":20,\"parentRs\":{\"attrId\":372,\"isReferedFromParent\":1}}]"}}]', 7, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (287, 15, '端口', '端口', 'text', 'port', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (288, 15, '类型', '类型', 'select', 'type', 'int', 15, 56, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (289, 15, '实例内存(GB)', '实例内存(GB)', 'number', 'instance_mem', 'int', 2, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (290, 15, '实例磁盘(GB)', '实例磁盘(GB)', 'number', 'instance_disk', 'int', 4, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (291, 15, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 24, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (292, 15, '计费周期(月)', '计费周期(月)', 'number', 'instance_num', 'int', 2, NULL, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (293, 15, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (294, 16, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (295, 16, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":16},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":308,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":413,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":16},{\"ciTypeId\":16,\"parentRs\":{\"attrId\":301,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (296, 16, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (297, 16, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (298, 16, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (299, 16, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (300, 16, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (301, 16, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, '[{"type":"delimiter","value":""}]', 0), - (302, 16, '编排', '编排', 'select', 'orchestration', 'int', 15, 57, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (303, 16, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (304, 16, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (305, 16, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (306, 16, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (307, 16, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (308, 16, '机房设计', '机房设计', 'ref', 'idc_design', 'varchar', 15, 22, '实现', 33, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (309, 16, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (310, 16, '城市', '城市', 'text', 'city', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (311, 16, '地址', '地址', 'text', 'address', 'varchar', 1000, NULL, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (312, 16, '环境类型', '类型', 'select', 'env_type', 'int', 15, 22, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (313, 16, '远程参数', '远程参数', 'textArea', 'parameter', 'varchar', 1000, NULL, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (314, 17, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (315, 17, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":17},{\"ciTypeId\":16,\"parentRs\":{\"attrId\":328,\"isReferedFromParent\":1}},{\"ciTypeId\":16,\"parentRs\":{\"attrId\":295,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":17},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":332,\"isReferedFromParent\":1},\"enumCodeAttr\":\"code\"}]"},{"type":"delimiter","value":""}]', 0), - (316, 17, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (317, 17, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (318, 17, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (319, 17, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (320, 17, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (321, 17, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":17},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":329,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":435,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (322, 17, '编排', '编排', 'select', 'orchestration', 'int', 15, 58, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (323, 17, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (324, 17, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (325, 17, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (326, 17, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (327, 17, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (328, 17, '机房', '机房', 'ref', 'idc', 'varchar', 15, 16, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (329, 17, '安全区域设计', '安全区域设计', 'ref', 'zone_design', 'varchar', 15, 23, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":442,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":412,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":17},{\"ciTypeId\":16,\"parentRs\":{\"attrId\":328,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":308,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":412,\"isReferedFromParent\":1}}]"}}]', 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (330, 17, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (331, 17, '层级', '层级', 'select', 'zone_layer', 'int', 15, 26, NULL, NULL, NULL, 9, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":17},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":329,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":444,\"isReferedFromParent\":1},\"enumCodeAttr\":\"id\"}]"},{"type":"delimiter","value":""}]', 0), - (332, 17, '类型', '类型', 'select', 'type', 'int', 15, 25, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (333, 17, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 21, '关联', 30, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (334, 17, '虚拟专用网', '虚拟专用网', 'text', 'vpc', 'varchar', 50, NULL, NULL, NULL, NULL, 12, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (335, 17, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (336, 18, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (337, 18, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":18},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":350,\"isReferedFromParent\":1}},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":315,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_link_"},{"type":"rule","value":"[{\"ciTypeId\":18},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":351,\"isReferedFromParent\":1}},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":315,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (338, 18, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (339, 18, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (340, 18, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (341, 18, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (342, 18, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (343, 18, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (344, 18, '编排', '编排', 'select', 'orchestration', 'int', 15, 59, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (345, 18, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (346, 18, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (347, 18, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (348, 18, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (349, 18, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (350, 18, '安全区域1', '安全区域1', 'ref', 'zone1', 'varchar', 15, 17, '关联', 32, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (351, 18, '安全区域2', '安全区域2', 'ref', 'zone2', 'varchar', 15, 17, '关联', 32, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (352, 18, '安全区域连接设计', '安全区域连接设计', 'ref', 'zone_link_design', 'varchar', 15, 24, '实现', 33, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (353, 18, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (354, 18, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (355, 19, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (356, 19, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":19},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":369,\"isReferedFromParent\":1}},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":315,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":19},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":370,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":468,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (357, 19, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (358, 19, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (359, 19, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (360, 19, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (361, 19, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (362, 19, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":19},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":370,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":468,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (363, 19, '编排', '编排', 'select', 'orchestration', 'int', 15, 60, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (364, 19, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (365, 19, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (366, 19, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (367, 19, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (368, 19, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (369, 19, '安全区域', '安全区域', 'ref', 'zone', 'varchar', 15, 17, '属于', 29, NULL, 6, 1, 13, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (370, 19, 'DCN设计', '数据中心节点设计', 'ref', 'dcn_design', 'varchar', 15, 25, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":25},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":475,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":428,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":19},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":369,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":329,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":428,\"isReferedFromParent\":1}}]"}}]', 7, 1, 14, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (371, 19, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (372, 20, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (373, 20, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":20},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":386,\"isReferedFromParent\":1}},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":356,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":20},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":387,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":485,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (374, 20, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (375, 20, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (376, 20, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (377, 20, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (378, 20, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (379, 20, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":20},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":387,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":485,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (380, 20, '编排', '编排', 'select', 'orchestration', 'int', 15, 61, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (381, 20, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (382, 20, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (383, 20, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (384, 20, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (385, 20, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (386, 20, 'DCN', 'DCN', 'ref', 'dcn', 'varchar', 15, 19, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (387, 20, '资源集设计', '资源集设计', 'ref', 'resource_set_design', 'varchar', 15, 26, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":26},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":492,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":461,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":20},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":386,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":370,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":461,\"isReferedFromParent\":1}}]"}}]', 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (388, 20, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (389, 20, '环境', '环境', 'select', 'env', 'int', 15, 23, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":20},{\"ciTypeId\":20,\"parentRs\":{\"attrId\":389,\"isReferedFromParent\":1},\"enumCodeAttr\":\"groupCodeId\"}]","operator":"in","right":"[{\"ciTypeId\":20},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":386,\"isReferedFromParent\":1}},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":369,\"isReferedFromParent\":1}},{\"ciTypeId\":16,\"parentRs\":{\"attrId\":328,\"isReferedFromParent\":1}},{\"ciTypeId\":16,\"parentRs\":{\"attrId\":312,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (390, 20, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 21, '关联', 32, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (391, 20, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (392, 21, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (393, 21, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":21},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":21},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":407,\"isReferedFromParent\":1},\"enumCodeAttr\":\"value\"}]"},{"type":"delimiter","value":""}]', 0), - (394, 21, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (395, 21, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (396, 21, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (397, 21, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (398, 21, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (399, 21, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (400, 21, '编排', '编排', 'select', 'orchestration', 'int', 15, 63, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (401, 21, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (402, 21, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (403, 21, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (404, 21, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (405, 21, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (406, 21, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (407, 21, '类型', '类型', 'select', 'type', 'int', 15, 62, NULL, NULL, NULL, 7, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (408, 21, '子网掩码', '子网', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 8, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (409, 21, '网关IP地址', '网关IP地址', 'ref', 'gateway_ip', 'varchar', 15, 14, '关联', 32, NULL, 9, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (410, 21, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 21, '属于', 29, NULL, 10, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (411, 21, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (412, 22, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (413, 22, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":22},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":419,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (414, 22, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (415, 22, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (416, 22, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (417, 22, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (418, 22, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (419, 22, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (420, 22, '编排', '编排', 'select', 'orchestration', 'int', 15, 64, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (421, 22, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (422, 22, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (423, 22, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (424, 22, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (425, 22, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (426, 22, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 13, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (427, 22, '环境类型', '环境类型', 'select', 'env_type', 'int', 15, 22, NULL, NULL, NULL, 7, 1, 14, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (428, 23, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (429, 23, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":23},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":442,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":413,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":23},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":435,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (430, 23, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (431, 23, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (432, 23, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (433, 23, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (434, 23, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (435, 23, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (436, 23, '编排', '编排', 'select', 'orchestration', 'int', 15, 65, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (437, 23, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (438, 23, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (439, 23, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (440, 23, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (441, 23, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (442, 23, '机房设计', '机房设计', 'ref', 'idc_design', 'varchar', 15, 22, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (443, 23, '类型', '类型', 'select', 'type', 'int', 15, 25, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (444, 23, '层级', '层级', 'select', 'zone_layer', 'int', 15, 26, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (445, 24, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (446, 24, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":24},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":459,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":429,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_link_"},{"type":"rule","value":"[{\"ciTypeId\":24},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":460,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":429,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (447, 24, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (448, 24, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (449, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (450, 24, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (451, 24, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (452, 24, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (453, 24, '编排', '编排', 'select', 'orchestration', 'int', 15, 66, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (454, 24, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (455, 24, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (456, 24, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (457, 24, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (458, 24, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (459, 24, '安全区域设计1', '安全区域设计', 'ref', 'zone_design1', 'varchar', 15, 23, '关联', 32, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (460, 24, '安全区域设计2', '安全区域设计', 'ref', 'zone_design2', 'varchar', 15, 23, '关联', 32, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (461, 25, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (462, 25, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":25},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":475,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":429,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":25},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":468,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (463, 25, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (464, 25, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (465, 25, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (466, 25, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (467, 25, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (468, 25, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (469, 25, '编排', '编排', 'select', 'orchestration', 'int', 15, 67, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (470, 25, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (471, 25, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (472, 25, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (473, 25, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (474, 25, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (475, 25, '安全区域设计', '安全区域设计', 'ref', 'zone_design', 'varchar', 15, 23, '属于', 29, NULL, 6, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (476, 25, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 7, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (477, 25, '类型', '类型', 'select', 'type', 'int', 15, 27, NULL, NULL, NULL, 8, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (478, 26, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (479, 26, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":26},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":492,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":462,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":26},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":485,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0), - (480, 26, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (481, 26, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (482, 26, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (483, 26, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (484, 26, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (485, 26, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (486, 26, '编排', '编排', 'select', 'orchestration', 'int', 15, 68, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (487, 26, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (488, 26, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (489, 26, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (490, 26, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (491, 26, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (492, 26, '数据中心节点设计', '数据中心节点设计', 'ref', 'dcn_design', 'varchar', 15, 25, '属于', 29, NULL, 6, 1, 13, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (493, 26, '类型', '类型', 'select', 'type', 'int', 15, 28, NULL, NULL, NULL, 7, 1, 14, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (498, 16, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 21, '使用', 32, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (499, 12, '用户名', '主机登陆用户名', 'text', 'username', 'varchar', 50, NULL, NULL, NULL, NULL, 16, 1, 17, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0), - (500, 12, '密码', '主机登陆密码', 'text', 'password', 'varchar', 64, NULL, NULL, NULL, NULL, 17, 1, 18, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0); - +INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`, `regular_expression_rule`) VALUES + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":1},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":12,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (13, 1, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 1, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (14, 1, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 1, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (15, 2, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (16, 2, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (17, 2, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (18, 2, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (19, 2, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (20, 2, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (21, 2, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (22, 2, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":2},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":27,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":12,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":2},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":26,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (23, 2, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (24, 2, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (25, 2, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (26, 2, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (27, 2, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (28, 2, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (29, 2, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 0, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":2},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":27,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":14,\"isReferedFromParent\":1},\"enumCodeAttr\":\"id\"}]"}]', 0, NULL), + (30, 2, '业务区域设计', '业务区域设计', 'ref', 'business_zone_design', 'varchar', 15, 28, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":28},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":487,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]","operator":"in","right":"[{\"ciTypeId\":2},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":27,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":14,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (31, 3, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (32, 3, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (33, 3, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (34, 3, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (35, 3, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (36, 3, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (37, 3, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (38, 3, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":3},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":43,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":22,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":3},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":42,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (39, 3, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (40, 3, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (41, 3, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (42, 3, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (43, 3, '子系统设计', '系统', 'ref', 'subsys_design', 'varchar', 15, 2, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (44, 3, '单元设计类型', '单元设计类型', 'select', 'unit_design_type', 'int', 15, 21, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (45, 3, '资源集合设计', '资源集合设计', 'ref', 'resource_set_design', 'varchar', 15, 29, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":29},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":500,\"isReferedFromParent\":1}},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":474,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":3},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":43,\"isReferedFromParent\":1}},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":30,\"isReferedFromParent\":1}},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":474,\"isReferedFromParent\":1}}]"}}]', 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (46, 3, '名称', '单元名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (47, 3, '跨资源集合部署', '跨资源集合部署', 'select', 'across_resource_set', 'int', 15, 35, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (48, 4, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (49, 4, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (50, 4, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (51, 4, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (52, 4, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (53, 4, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (54, 4, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (55, 4, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":4},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":60,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":38,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":4},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":59,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (56, 4, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (57, 4, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (58, 4, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (59, 4, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (60, 4, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (61, 4, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (62, 4, '集群类型', '集群类型', 'select', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (63, 4, '服务类型', '服务类型', 'select', 'service_type', 'int', 15, 28, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (64, 5, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (65, 5, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (66, 5, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (67, 5, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (68, 5, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (69, 5, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (70, 5, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (71, 5, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":5},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":76,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":38,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-invoke-"},{"type":"rule","value":"[{\"ciTypeId\":5},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":77,\"isReferedFromParent\":1}},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":55,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (72, 5, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (73, 5, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (74, 5, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (75, 5, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (76, 5, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (77, 5, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '依赖', 31, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (78, 5, '调用类型', '调用类型', 'select', 'invoke_type', 'int', 15, 29, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (79, 6, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (80, 6, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (81, 6, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (82, 6, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (83, 6, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (84, 6, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (85, 6, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (86, 6, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":6},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":91,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":8,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_seq_"},{"type":"rule","value":"[{\"ciTypeId\":6},{\"ciTypeId\":6,\"parentRs\":{\"attrId\":90,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (87, 6, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (88, 6, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (89, 6, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (90, 6, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (91, 6, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (92, 6, '名称', '时序名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (93, 6, '调用设计序列', '调用设计序列', 'multiRef', 'invoke_design_sequence', 'varchar', 15, 5, '依赖', 31, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (94, 7, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (95, 7, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (96, 7, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (97, 7, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (98, 7, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (99, 7, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (100, 7, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (101, 7, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":7},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":106,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":8,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":7},{\"ciTypeId\":7,\"parentRs\":{\"attrId\":107,\"isReferedFromParent\":1},\"enumCodeAttr\":\"code\"}]"}]', 0, NULL), + (102, 7, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (103, 7, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (104, 7, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (105, 7, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":7},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":106,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":12,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":7},{\"ciTypeId\":7,\"parentRs\":{\"attrId\":107,\"isReferedFromParent\":1},\"enumCodeAttr\":\"code\"}]"}]', 0, NULL), + (106, 7, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '实现', 33, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (107, 7, '部署环境', '部署环境', 'select', 'deploy_environment', 'int', 15, 24, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0, NULL), + (108, 8, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (109, 8, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (110, 8, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (111, 8, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (112, 8, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (113, 8, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (114, 8, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (115, 8, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":8},{\"ciTypeId\":7,\"parentRs\":{\"attrId\":120,\"isReferedFromParent\":1}},{\"ciTypeId\":7,\"parentRs\":{\"attrId\":101,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":8},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":121,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":26,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (116, 8, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (117, 8, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (118, 8, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (119, 8, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (120, 8, '系统', '系统', 'ref', 'system', 'varchar', 15, 7, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (121, 8, '子系统设计', '子系统设计', 'ref', 'subsys_design', 'varchar', 15, 2, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":2},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":27,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":1,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":8},{\"ciTypeId\":7,\"parentRs\":{\"attrId\":120,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":106,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":1,\"isReferedFromParent\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (122, 8, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (123, 8, '业务区域', '业务区域', 'multiRef', 'business_zone', 'varchar', 15, 21, '关联', 32, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (124, 9, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (125, 9, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (126, 9, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (127, 9, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (128, 9, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (129, 9, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (130, 9, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (131, 9, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":9},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":136,\"isReferedFromParent\":1}},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":115,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":9},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":42,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (132, 9, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (133, 9, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (134, 9, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (135, 9, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (136, 9, '子系统', '子系统', 'ref', 'subsys', 'varchar', 15, 8, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (137, 9, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":3},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":43,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":15,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":136,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":121,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":15,\"isReferedFromParent\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (138, 9, '单元类型', '单元类型', 'multiSelect', 'unit_type', 'int', 1000, 22, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":9},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":138,\"isReferedFromParent\":1},\"enumCodeAttr\":\"groupCodeId\"}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":44,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (139, 9, '部署包', '部署包', 'multiRef', 'deploy_package', 'varchar', 1000, 12, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":179,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":191,\"isReferedFromParent\":0}},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":179,\"isReferedFromParent\":1}}]"}}]', 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (140, 9, '资源集', '资源集', 'multiRef', 'resource_set', 'varchar', 1000, 22, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":22},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":488,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":45,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":488,\"isReferedFromParent\":1}}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (141, 9, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (142, 10, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (143, 10, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (144, 10, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (145, 10, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (146, 10, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (147, 10, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (148, 10, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (149, 10, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":10},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":154,\"isReferedFromParent\":1}},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":131,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":10},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":155,\"isReferedFromParent\":1}},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":59,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (150, 10, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (151, 10, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (152, 10, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (153, 10, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (154, 10, '单元', '单元', 'ref', 'unit', 'varchar', 15, 9, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (155, 10, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":4},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":60,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":31,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":10},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":154,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":31,\"isReferedFromParent\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (156, 10, '服务类型', '服务类型', 'select', 'service_type', 'int', 15, 28, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, NULL, 0, NULL), + (157, 10, '集群类型', '集群类型', 'select', 'cluster_type', 'int', 15, 30, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":10},{\"ciTypeId\":10,\"parentRs\":{\"attrId\":157,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]","operator":"in","right":"[{\"ciTypeId\":10},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":154,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":140,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":395,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (158, 10, '域名域', '域名域', 'select', 'service_dns_domain', 'int', 15, 36, NULL, NULL, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (159, 10, '域名名', '域名名', 'text', 'dns_name', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (160, 10, '服务IP', '服务IP', 'ref', 'service_ip', 'varchar', 15, 17, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":17},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":310,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":10},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":154,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":140,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":396,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]"}}]', 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (161, 10, '服务端口', '服务端口', 'text', 'service_port', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (162, 10, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (163, 11, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (164, 11, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (165, 11, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (166, 11, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (167, 11, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (168, 11, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (169, 11, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (170, 11, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":11},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":175,\"isReferedFromParent\":1}},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":131,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-invoke-"},{"type":"rule","value":"[{\"ciTypeId\":11},{\"ciTypeId\":10,\"parentRs\":{\"attrId\":176,\"isReferedFromParent\":1}},{\"ciTypeId\":10,\"parentRs\":{\"attrId\":149,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (171, 11, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (172, 11, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (173, 11, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (174, 11, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (175, 11, '单元', '单元', 'ref', 'unit', 'varchar', 15, 9, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (176, 11, '服务', '服务', 'ref', 'service', 'varchar', 15, 10, '依赖', 31, '[{"filter_1":{"left":"[{\"ciTypeId\":10},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":155,\"isReferedFromParent\":1}},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":48,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":11},{\"ciTypeId\":5,\"parentRs\":{\"attrId\":177,\"isReferedFromParent\":1}},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":77,\"isReferedFromParent\":1}},{\"ciTypeId\":4,\"parentRs\":{\"attrId\":48,\"isReferedFromParent\":1}}]"}}]', 5, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (177, 11, '调用设计', '调用设计', 'ref', 'invoke_design', 'varchar', 15, 5, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":5},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":76,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":31,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":11},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":175,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":31,\"isReferedFromParent\":1}}]"}}]', 6, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (178, 11, '调用类型', '调用类型', 'select', 'invoke_type', 'int', 15, 29, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (179, 12, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (180, 12, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (181, 12, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (182, 12, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (183, 12, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (184, 12, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (185, 12, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (186, 12, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":192,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (187, 12, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (188, 12, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (189, 12, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (190, 12, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":192,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (191, 12, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '关联', 32, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (192, 12, '包名称', '包名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (193, 12, 'MD5值', 'MD5值', 'text', 'md5_value', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (194, 12, '上传时间', '上传时间', 'date', 'upload_time', 'datetime', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (195, 12, '上传人', '上传人', 'text', 'upload_user', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (196, 12, '部署包地址', '存储路径', 'text', 'deploy_package_url', 'varchar', 200, NULL, NULL, NULL, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (197, 12, '部署用户', '部署用户', 'ref', 'deploy_user', 'varchar', 15, 13, '依赖', 31, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (198, 12, '部署路径', '部署路径', 'text', 'deploy_path', 'varchar', 200, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (199, 12, '部署脚本文件', '执行部署脚本文件', 'text', 'deploy_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (200, 12, '启动脚步文件', '启动脚步文件', 'text', 'start_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (201, 12, '停止脚步文件', '停止脚步文件', 'text', 'stop_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 14, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (202, 12, '差异配置文件', '差异配置文件', 'text', 'diff_conf_file', 'varchar', 200, NULL, NULL, NULL, NULL, 15, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (203, 12, '差异配置变量', '差异配置变量', 'multiSelect', 'diff_conf_variable', 'int', 15, 31, NULL, NULL, NULL, 16, 1, 16, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (204, 12, '绝对部署脚本文件', '执行部署脚本文件', 'text', 'absolute_deploy_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 17, 1, 17, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":198,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":199,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (205, 12, '绝对启动脚步文件', '启动脚步文件', 'text', 'absolute_start_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 18, 1, 18, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":198,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":200,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (206, 12, '绝对停止脚步文件', '停止脚步文件', 'text', 'absolute_stop_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 19, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":198,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":201,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (207, 13, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (208, 13, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (209, 13, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (210, 13, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (211, 13, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (212, 13, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (213, 13, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (214, 13, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":13},{\"ciTypeId\":13,\"parentRs\":{\"attrId\":219,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0, NULL), + (215, 13, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (216, 13, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (217, 13, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (218, 13, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":13},{\"ciTypeId\":13,\"parentRs\":{\"attrId\":219,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (219, 13, '用户名', '用户名', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (220, 13, '用户ID', '用户ID', 'text', 'user_id', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (221, 13, '用户组名', '用户组名', 'text', 'group_name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (222, 13, '用户组ID', '用户组ID', 'text', 'group_id', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (223, 13, 'home目录', 'home目录', 'text', 'home_path', 'varchar', 200, NULL, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (224, 14, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (225, 14, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (226, 14, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (227, 14, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (228, 14, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (229, 14, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (230, 14, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (231, 14, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":14},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":236,\"isReferedFromParent\":1}},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":131,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":14},{\"ciTypeId\":14,\"parentRs\":{\"attrId\":235,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (232, 14, '状态', '状态', 'select', 'state', 'int', 15, 9, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (233, 14, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (234, 14, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (235, 14, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (236, 14, '单元', '单元', 'ref', 'unit', 'varchar', 15, 9, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (237, 14, '单元类型', '单元类型', 'select', 'unit_type', 'int', 15, 22, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":14},{\"ciTypeId\":14,\"parentRs\":{\"attrId\":237,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]","operator":"in","right":"[{\"ciTypeId\":14},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":236,\"isReferedFromParent\":1}},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":138,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, '', 0, NULL), + (238, 14, '资源实例', '资源实例', 'ref', 'resource_instance', 'varchar', 15, 15, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":15},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":258,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":379,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":14},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":236,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":140,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":379,\"isReferedFromParent\":1}}]"}}]', 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (239, 14, '端口', '端口', 'text', 'port', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (240, 14, 'CPU(核)', 'CPU(核)', 'text', 'cpu', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (241, 14, '内存(GB)', '内存(GB)', 'text', 'memory', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (242, 14, '存储空间(GB)', '存储空间(GB)', 'text', 'storage', 'int', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (243, 14, '部署包', '部署包', 'ref', 'deploy_package', 'varchar', 15, 12, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":179,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":14},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":236,\"isReferedFromParent\":1}},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":139,\"isReferedFromParent\":1}},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":179,\"isReferedFromParent\":1}}]"}}]', 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (244, 14, '部署包地址', '部署包路径', 'text', 'deploy_package_url', 'varchar', 200, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (245, 14, '部署用户密码', '部署用户密码', 'text', 'deploy_user_password', 'varchar', 200, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (246, 15, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (247, 15, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (248, 15, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (249, 15, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (250, 15, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (251, 15, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (252, 15, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (253, 15, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":15},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":257,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":15},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":265,\"isReferedFromParent\":1}},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":306,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (254, 15, '状态', '状态', 'select', 'state', 'int', 15, 9, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (255, 15, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (256, 15, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (257, 15, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (258, 15, '资源集合', '资源集合', 'ref', 'resource_set', 'varchar', 15, 22, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (259, 15, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (260, 15, '单元类型', '单元类型', 'select', 'unit_type', 'int', 15, 22, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":15},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":260,\"isReferedFromParent\":1},\"enumCodeAttr\":\"groupCodeId\"}]","operator":"in","right":"[{\"ciTypeId\":15},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":258,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":501,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (261, 15, '资源实例类型', '资源实例类型', 'select', 'resource_instance_type', 'int', 15, 38, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":15},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":261,\"isReferedFromParent\":1},\"enumCodeAttr\":\"groupCodeId\"}]","operator":"in","right":"[{\"ciTypeId\":15},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":501,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (262, 15, '资源系统', '资源系统', 'select', 'resource_system', 'int', 15, 39, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":15},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":262,\"isReferedFromParent\":1},\"enumCodeAttr\":\"groupCodeId\"}]","operator":"in","right":"[{\"ciTypeId\":15},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":258,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":501,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (263, 15, '资源实例规格', '资源实例规格', 'select', 'resource_instance_spec', 'int', 15, 40, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":15},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":263,\"isReferedFromParent\":1},\"enumCodeAttr\":\"groupCodeId\"}]","operator":"in","right":"[{\"ciTypeId\":15},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":258,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":501,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (264, 15, '集群节点类型', '集群节点类型', 'select', 'cluster_node_type', 'int', 15, 41, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":15},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":264,\"isReferedFromParent\":1},\"enumCodeAttr\":\"groupCodeId\"}]","operator":"in","right":"[{\"ciTypeId\":15},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":258,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":395,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (265, 15, '内网IP', '内网IP', 'ref', 'intranet_ip', 'varchar', 15, 17, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":17},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":310,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":15},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":258,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":396,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]"},"filter_2":{"left":"[{\"ciTypeId\":17},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":307,\"isReferedFromParent\":1},\"enumCodeAttr\":\"code\"}]","operator":"in","right":["intranet"]}}]', 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (266, 15, '外网IP', '外网IP', 'ref', 'internet_ip', 'varchar', 15, 17, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":17},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":310,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":15},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":258,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":577,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]"}}]', 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (267, 15, 'CPU(核)', 'CPU(核)', 'text', 'cpu', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (268, 15, '内存(GB)', '内存(GB)', 'text', 'memory', 'varchar', 50, NULL, NULL, NULL, NULL, 14, 1, 14, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (269, 15, '存储空间(GB)', '存储空间(GB)', 'text', 'storage', 'varchar', 50, NULL, NULL, NULL, NULL, 15, 1, 15, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (270, 15, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 25, NULL, NULL, NULL, 16, 1, 16, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (271, 15, '截止日期', '截止时间,包年包月时必须给出', 'date', 'end_date', 'datetime', 1, 24, NULL, NULL, NULL, 17, 1, 17, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (272, 15, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 18, 1, 18, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (273, 15, '用户名', '管理员用户名', 'text', 'user_name', 'varchar', 50, NULL, NULL, NULL, NULL, 19, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (274, 15, '用户密码', '管理员用户密码', 'text', 'user_password', 'varchar', 200, NULL, NULL, NULL, NULL, 20, 1, 20, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (275, 16, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (276, 16, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (277, 16, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (278, 16, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (279, 16, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (280, 16, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (281, 16, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (282, 16, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":16},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":287,\"isReferedFromParent\":1}},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":253,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":16},{\"ciTypeId\":16,\"parentRs\":{\"attrId\":289,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (283, 16, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (284, 16, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (285, 16, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (286, 16, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":16},{\"ciTypeId\":16,\"parentRs\":{\"attrId\":289,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (287, 16, '资源实例', '资源实例', 'ref', 'resource_instance', 'varchar', 15, 15, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (288, 16, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (289, 16, '挂载点', '挂载点', 'text', 'mount_point', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (290, 16, '块存储类型', '块存储类型', 'select', 'block_storage_type', 'int', 15, 42, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (291, 16, '容量(GB)', '容量(GB)', 'number', 'disk_size', 'int', 15, NULL, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (292, 16, '计费模式', '计费模式', 'select', 'charge_type', 'int', 15, 25, NULL, NULL, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":16},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":287,\"isReferedFromParent\":1}},{\"ciTypeId\":15,\"parentRs\":{\"attrId\":270,\"isReferedFromParent\":1},\"enumCodeAttr\":\"id\"}]"}]', 0, NULL), + (293, 16, '截止日期', '截止时间,包年包月时必须给出', 'date', 'end_date', 'datetime', 1, NULL, NULL, NULL, NULL, 10, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (294, 16, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (295, 17, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (296, 17, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (297, 17, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (298, 17, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (299, 17, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (300, 17, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (301, 17, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (302, 17, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":17},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":306,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-"},{"type":"rule","value":"[{\"ciTypeId\":17},{\"ciTypeId\":17,\"parentRs\":{\"attrId\":308,\"isReferedFromParent\":1},\"enumCodeAttr\":\"value\"}]"}]', 0, NULL), + (303, 17, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (304, 17, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (305, 17, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (306, 17, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (307, 17, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (308, 17, 'IP用途', 'IP用途', 'select', 'ip_address_usage', 'int', 15, 43, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (309, 17, '使用记录', '使用记录', 'textArea', 'used_record', 'varchar', 1000, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, NULL, 0, NULL), + (310, 17, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '属于', 29, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (311, 18, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (312, 18, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (313, 18, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (314, 18, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (315, 18, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (316, 18, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (317, 18, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (318, 18, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":18},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":323,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":439,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":18},{\"ciTypeId\":18,\"parentRs\":{\"attrId\":322,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (319, 18, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (320, 18, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (321, 18, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (322, 18, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (323, 18, '数据中心设计', '数据中心设计', 'ref', 'data_center_design', 'varchar', 15, 25, '实现', 33, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (324, 18, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (325, 18, '部署环境', '部署环境', 'select', 'deploy_environment', 'int', 15, 24, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (326, 18, '认证参数', '认证参数', 'select', 'auth_parameter', 'int', 15, 44, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (327, 19, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (328, 19, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (329, 19, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (330, 19, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (331, 19, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (332, 19, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (333, 19, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (334, 19, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":19},{\"ciTypeId\":18,\"parentRs\":{\"attrId\":339,\"isReferedFromParent\":1}},{\"ciTypeId\":18,\"parentRs\":{\"attrId\":318,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":19},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":340,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":456,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (335, 19, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (336, 19, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (337, 19, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (338, 19, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":19},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":340,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":456,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (339, 19, '数据中心', '数据中心', 'ref', 'data_center', 'varchar', 15, 18, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (340, 19, '网络区域设计', '安全区域设计', 'ref', 'network_zone_design', 'varchar', 15, 26, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":26},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":457,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":432,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":19},{\"ciTypeId\":18,\"parentRs\":{\"attrId\":339,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":323,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":432,\"isReferedFromParent\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (341, 19, '名称', '服务名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (342, 19, '网络区域层级', '网络区域层级', 'select', 'network_zone_layer', 'int', 15, 27, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, NULL, 0, NULL), + (343, 19, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":574,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":19},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":340,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":581,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]"},"filter_2":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":415,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":19},{\"ciTypeId\":18,\"parentRs\":{\"attrId\":339,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":578,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]"}}]', 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (344, 19, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (345, 20, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (346, 20, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (347, 20, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (348, 20, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (349, 20, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (350, 20, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (351, 20, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (352, 20, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":20},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":357,\"isReferedFromParent\":1}},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":334,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-link-"},{"type":"rule","value":"[{\"ciTypeId\":20},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":358,\"isReferedFromParent\":1}},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":334,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (353, 20, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (354, 20, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (355, 20, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (356, 20, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (357, 20, '网络区域1', '网络区域1', 'ref', 'network_zone_1', 'varchar', 15, 19, '关联', 32, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (358, 20, '网络区域2', '网络区域2', 'ref', 'network_zone_2', 'varchar', 15, 19, '关联', 32, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (359, 20, '网络区域连接设计', '网络区域连接设计', 'ref', 'network_zone_link_design', 'varchar', 15, 27, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":27},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":471,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":445,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":20},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":357,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":340,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":445,\"isReferedFromParent\":1}}]"},"filter_2":{"left":"[{\"ciTypeId\":27},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":472,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":445,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":20},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":358,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":340,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":445,\"isReferedFromParent\":1}}]"}}]', 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (360, 20, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (361, 20, '网络连接类型', '网络连接类型', 'select', 'network_zone_link_type', 'int', 15, 34, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":20},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":359,\"isReferedFromParent\":1}},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":473,\"isReferedFromParent\":1},\"enumCodeAttr\":\"id\"}]"}]', 0, NULL), + (362, 20, '网络带宽(M)', '网络带宽(M)', 'text', 'netband_width', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (363, 20, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (364, 21, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (365, 21, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (366, 21, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (367, 21, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (368, 21, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (369, 21, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (370, 21, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (371, 21, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":21},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":376,\"isReferedFromParent\":1}},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":334,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":21},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":375,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (372, 21, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (373, 21, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (374, 21, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (375, 21, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (376, 21, '网络区域', '网络区域', 'ref', 'network_zone', 'varchar', 15, 19, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (377, 21, '业务区域设计', '业务区域设计', 'ref', 'dcn_design', 'varchar', 15, 28, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":28},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":486,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":445,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":21},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":376,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":340,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":445,\"isReferedFromParent\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (378, 21, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (379, 22, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (380, 22, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (381, 22, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (382, 22, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (383, 22, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (384, 22, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (385, 22, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (386, 22, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":22},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":391,\"isReferedFromParent\":1}},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":371,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":22},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":390,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (387, 22, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (388, 22, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (389, 22, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (390, 22, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (391, 22, '业务区域', '业务区域', 'ref', 'business_zone', 'varchar', 15, 21, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (392, 22, '资源集合设计', '资源集合设计', 'ref', 'resource_set_design', 'varchar', 15, 29, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":29},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":500,\"isReferedFromParent\":1}},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":474,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":22},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":391,\"isReferedFromParent\":1}},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":377,\"isReferedFromParent\":1}},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":474,\"isReferedFromParent\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (393, 22, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (394, 22, '部署环境', '部署环境', 'multiSelect', 'deploy_environment', 'int', 1000, 24, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":22},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":394,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]","operator":"in","right":"[{\"ciTypeId\":22},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":391,\"isReferedFromParent\":1}},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":376,\"isReferedFromParent\":1}},{\"ciTypeId\":18,\"parentRs\":{\"attrId\":339,\"isReferedFromParent\":1}},{\"ciTypeId\":18,\"parentRs\":{\"attrId\":325,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (395, 22, '集群类型', '集群类型', 'select', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0, NULL), + (396, 22, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":574,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":22},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":583,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]"},"filter_2":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":415,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":22},{\"ciTypeId\":21,\"parentRs\":{\"attrId\":391,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":579,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]"}}]', 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (397, 22, '路由表资产编码', '路由表资产编码', 'text', 'routing_table_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (398, 22, '子网资产编码', '子网资产编码', 'text', 'subnet_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (399, 23, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (400, 23, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (401, 23, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (402, 23, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (403, 23, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (404, 23, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (405, 23, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (406, 23, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":23},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":410,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (407, 23, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (408, 23, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (409, 23, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (410, 23, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (411, 23, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (412, 23, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (413, 23, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (414, 23, '网关IP地址', '网关IP地址', 'text', 'gateway_ip', 'varchar', 15, 17, 'NULL', 0, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (415, 23, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 23, '属于', 29, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (416, 24, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (417, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (418, 24, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (419, 24, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (420, 24, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (421, 24, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (422, 24, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (423, 24, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":24},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":428,\"isReferedFromParent\":1}},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":386,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-to-"},{"type":"rule","value":"[{\"ciTypeId\":24},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":429,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":410,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-go-"},{"type":"rule","value":"[{\"ciTypeId\":24},{\"ciTypeId\":20,\"parentRs\":{\"attrId\":430,\"isReferedFromParent\":1}},{\"ciTypeId\":20,\"parentRs\":{\"attrId\":352,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (424, 24, '状态', '状态', 'select', 'state', 'int', 15, 8, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (425, 24, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (426, 24, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (427, 24, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (428, 24, '资源集合', '资源集合', 'ref', 'resource_set', 'varchar', 15, 22, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (429, 24, '目标网段', '目标网段', 'ref', 'dest_network_segment', 'varchar', 15, 23, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":574,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":24},{\"ciTypeId\":31,\"parentRs\":{\"attrId\":575,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":532,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]"}}]', 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (430, 24, '网络区域连接', '网络区域连接', 'ref', 'network_zone_link_design', 'varchar', 15, 20, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":20},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":359,\"isReferedFromParent\":1}},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":459,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":24},{\"ciTypeId\":31,\"parentRs\":{\"attrId\":575,\"isReferedFromParent\":1}},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":533,\"isReferedFromParent\":1}},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":459,\"isReferedFromParent\":1}}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (431, 24, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (432, 25, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (433, 25, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (434, 25, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (435, 25, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (436, 25, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (437, 25, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (438, 25, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (439, 25, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":25},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":443,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (440, 25, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (441, 25, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (442, 25, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (443, 25, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (444, 25, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (445, 26, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (446, 26, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (447, 26, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (448, 26, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (449, 26, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (450, 26, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (451, 26, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (452, 26, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":26},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":457,\"isReferedFromParent\":1}},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":439,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":26},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":456,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (453, 26, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (454, 26, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (455, 26, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (456, 26, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (457, 26, '数据中心设计', '数据中心设计', 'ref', 'data_center_design', 'varchar', 15, 25, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (458, 26, '网络区域层级', '网络区域层级', 'select', 'network_zone_layer', 'int', 15, 27, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (459, 27, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (460, 27, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (461, 27, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (462, 27, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (463, 27, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (464, 27, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (465, 27, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (466, 27, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":27},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":471,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":452,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-link-"},{"type":"rule","value":"[{\"ciTypeId\":27},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":472,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":452,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (467, 27, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (468, 27, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (469, 27, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (470, 27, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (471, 27, '网络区域设计1', '网络区域设计1', 'ref', 'network_zone_design_1', 'varchar', 15, 26, '关联', 32, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (472, 27, '网络区域设计2', '网络区域设计2', 'ref', 'network_zone_design_2', 'varchar', 15, 26, '关联', 32, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (473, 27, '网络连接类型', '网络连接类型', 'select', 'network_zone_link_type', 'int', 15, 34, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (474, 28, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (475, 28, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (476, 28, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (477, 28, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (478, 28, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (479, 28, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (480, 28, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (481, 28, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":28},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":486,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":452,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":28},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":485,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (482, 28, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (483, 28, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (484, 28, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (485, 28, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (486, 28, '网络区域设计', '安全区域设计', 'ref', 'zone_design', 'varchar', 15, 26, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (487, 28, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (488, 29, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (489, 29, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (490, 29, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (491, 29, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (492, 29, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (493, 29, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (494, 29, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (495, 29, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":29},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":500,\"isReferedFromParent\":1}},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":481,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"_"},{"type":"rule","value":"[{\"ciTypeId\":29},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":499,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (496, 29, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (497, 29, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (498, 29, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (499, 29, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (500, 29, '业务区域设计', '业务区域设计', 'ref', 'business_zone_design', 'varchar', 15, 28, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (501, 29, '单元设计类型', '单元设计类型', 'select', 'unit_design_type', 'int', 15, 21, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (502, 29, '集群类型', '集群类型', 'multiSelect', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (503, 30, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (504, 30, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (505, 30, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (506, 30, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (507, 30, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (508, 30, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (509, 30, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (510, 30, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":30},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":514,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (511, 30, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (512, 30, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (513, 30, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (514, 30, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (515, 30, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (516, 30, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (517, 30, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (518, 30, '父网段设计', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 30, '属于', 29, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (519, 31, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (520, 31, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (521, 31, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (522, 31, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (523, 31, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (524, 31, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (525, 31, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (526, 31, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":31},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":531,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":495,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-to-"},{"type":"rule","value":"[{\"ciTypeId\":31},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":532,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":514,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":"-go-"},{"type":"rule","value":"[{\"ciTypeId\":31},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":533,\"isReferedFromParent\":1}},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":466,\"isReferedFromParent\":1}}]"}]', 0, NULL), + (527, 31, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (528, 31, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (529, 31, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (530, 31, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (531, 31, '资源集合设计', '资源集合', 'ref', 'resource_set', 'varchar', 15, 29, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (532, 31, '目标网段设计', '目标网段', 'ref', 'dest_network_segment', 'varchar', 15, 30, '关联', 32, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (533, 31, '网络区域连接设计', '网络区域连接', 'ref', 'network_zone_link_design', 'varchar', 15, 27, '关联', 32, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (574, 23, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '实现', 33, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (575, 24, '路由规则设计', '路由规则设计', 'ref', 'routing_rule_design', 'varchar', 15, 31, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":31},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":531,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":488,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":24},{\"ciTypeId\":22,\"parentRs\":{\"attrId\":428,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":488,\"isReferedFromParent\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (576, 10, '互联网服务IP', '互联网服务IP', 'ref', 'internet_service_ip', 'varchar', 15, 17, '使用', 30, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (577, 22, '互联网网段', '互联网网段', 'ref', 'internet_ip_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":574,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":22},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":584,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]"}}]', 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (578, 18, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":574,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":18},{\"ciTypeId\":25,\"parentRs\":{\"attrId\":323,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":580,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (579, 21, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":574,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":21},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":377,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":582,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]"},"filter_2":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":415,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":21},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":376,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":343,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (580, 25, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (581, 26, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (582, 28, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (583, 29, '网段设计', '网段设计', 'ref', 'network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (584, 29, '互联网网段设计', '互联网网段设计', 'ref', 'internet_network_segment_design', 'varchar', 15, 30, '使用', 30, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (585, 9, '安全组资产编码', '安全组资产编码', 'text', 'security_group_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (586, 18, '用户ID', '用户ID', 'text', 'user_id', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (601, 37, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (602, 37, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":1},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":8,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""}]', 0, NULL), + (603, 37, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (604, 37, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (605, 37, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (606, 37, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (607, 37, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (608, 37, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (609, 37, '编排', '编排', 'select', 'orchestration', 'int', 15, 31, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1, NULL), + (610, 37, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1, NULL), + (611, 37, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (612, 37, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (613, 37, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), + (614, 37, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL); + SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file From 7bc9253bf0c9db5355e331a308f6eeb8feb9d92d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordan=20ZHANG=20=28=E5=BC=A0=E5=A4=A9=E5=86=9B=29?= <41445364@qq.com> Date: Wed, 20 Nov 2019 10:14:29 +0800 Subject: [PATCH 002/172] ##403 Disable security for temp testing --- .../src/main/java/com/webank/cmdb/config/SpringWebConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/config/SpringWebConfig.java b/cmdb-core/src/main/java/com/webank/cmdb/config/SpringWebConfig.java index c4caf9e0f..55cddb226 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/config/SpringWebConfig.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/config/SpringWebConfig.java @@ -43,8 +43,8 @@ @Configuration @EnableWebMvc @EnableSwagger2 -@EnableWebSecurity -@EnableGlobalMethodSecurity(jsr250Enabled = true) +//@EnableWebSecurity +//@EnableGlobalMethodSecurity(jsr250Enabled = true) @ComponentScan({ "com.webank.cmdb.controller", "com.webank.cmdb.mvc", "com.webank.cmdb.stateTransition" }) public class SpringWebConfig extends WebSecurityConfigurerAdapter implements WebMvcConfigurer { From 4926311797153cdede909b8e25e638c71148d428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordan=20ZHANG=20=28=E5=BC=A0=E5=A4=A9=E5=86=9B=29?= <41445364@qq.com> Date: Fri, 22 Nov 2019 12:32:03 +0800 Subject: [PATCH 003/172] #191 Update new model schema --- .../database/ch/01.cmdb.schema_ch.sql | 64 +------------------ 1 file changed, 1 insertion(+), 63 deletions(-) diff --git a/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql b/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql index 5eccd5a32..4ce421c9a 100755 --- a/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql @@ -413,8 +413,6 @@ CREATE TABLE IF NOT EXISTS `block_storage` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', `block_storage_type` int(15) DEFAULT NULL COMMENT '块存储类型', `charge_type` int(15) DEFAULT NULL COMMENT '计费模式', @@ -439,8 +437,6 @@ CREATE TABLE IF NOT EXISTS `business_app_instance` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `cpu` varchar(50) DEFAULT NULL COMMENT 'CPU(核)', `deploy_package` varchar(15) DEFAULT NULL COMMENT '部署包', `deploy_package_url` varchar(200) DEFAULT NULL COMMENT '部署包路径', @@ -467,8 +463,6 @@ CREATE TABLE IF NOT EXISTS `business_zone` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `dcn_design` varchar(15) DEFAULT NULL COMMENT '业务区域设计', `name` varchar(50) DEFAULT NULL COMMENT '名称', `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', @@ -489,8 +483,6 @@ CREATE TABLE IF NOT EXISTS `business_zone_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `business_group` int(15) DEFAULT NULL COMMENT '业务群组', `network_segment_design` varchar(15) DEFAULT NULL COMMENT '网段设计', `zone_design` varchar(15) DEFAULT NULL COMMENT '安全区域设计', @@ -510,8 +502,6 @@ CREATE TABLE IF NOT EXISTS `data_center` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `auth_parameter` int(15) DEFAULT NULL COMMENT '认证参数', `data_center_design` varchar(15) DEFAULT NULL COMMENT '数据中心设计', `deploy_environment` int(15) DEFAULT NULL COMMENT '部署环境', @@ -534,8 +524,6 @@ CREATE TABLE IF NOT EXISTS `data_center_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `name` varchar(50) DEFAULT NULL COMMENT '名称', `network_segment_design` varchar(15) DEFAULT NULL COMMENT '网段设计', PRIMARY KEY (`guid`) @@ -554,8 +542,6 @@ CREATE TABLE IF NOT EXISTS `deploy_package` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `absolute_deploy_file_path` varchar(200) DEFAULT NULL COMMENT '执行部署脚本文件', `absolute_start_file_path` varchar(200) DEFAULT NULL COMMENT '启动脚步文件', `absolute_stop_file_path` varchar(200) DEFAULT NULL COMMENT '停止脚步文件', @@ -597,8 +583,6 @@ CREATE TABLE IF NOT EXISTS `deploy_user` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `group_id` varchar(50) DEFAULT NULL COMMENT '用户组ID', `group_name` varchar(50) DEFAULT NULL COMMENT '用户组名', `home_path` varchar(200) DEFAULT NULL COMMENT 'home目录', @@ -620,8 +604,6 @@ CREATE TABLE IF NOT EXISTS `invoke` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `invoke_design` varchar(15) DEFAULT NULL COMMENT '调用设计', `invoke_type` int(15) DEFAULT NULL COMMENT '调用类型', `service` varchar(15) DEFAULT NULL COMMENT '服务', @@ -642,8 +624,6 @@ CREATE TABLE IF NOT EXISTS `invoke_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `invoke_type` int(15) DEFAULT NULL COMMENT '调用类型', `service_design` varchar(15) DEFAULT NULL COMMENT '服务设计', `unit_design` varchar(15) DEFAULT NULL COMMENT '单元设计', @@ -663,8 +643,6 @@ CREATE TABLE IF NOT EXISTS `invoke_seq_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `name` varchar(50) DEFAULT NULL COMMENT '时序名称', `system_design` varchar(15) DEFAULT NULL COMMENT '系统设计', PRIMARY KEY (`guid`) @@ -691,8 +669,6 @@ CREATE TABLE IF NOT EXISTS `ip_address` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `ip_address_usage` int(15) DEFAULT NULL COMMENT 'IP用途', `network_segment` varchar(15) DEFAULT NULL COMMENT '网段', `network_segment_type` int(15) DEFAULT NULL COMMENT '网段类型', @@ -713,8 +689,6 @@ CREATE TABLE IF NOT EXISTS `network_segment` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `f_network_segment` varchar(15) DEFAULT NULL COMMENT '父网段', `gateway_ip` varchar(15) DEFAULT NULL COMMENT '网关IP地址', `mask` int(15) DEFAULT NULL COMMENT '子网掩码', @@ -737,8 +711,6 @@ CREATE TABLE IF NOT EXISTS `network_segment_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `f_network_segment` varchar(15) DEFAULT NULL COMMENT '父网段', `mask` int(15) DEFAULT NULL COMMENT '子网掩码', `name` varchar(50) DEFAULT NULL COMMENT '名称', @@ -759,8 +731,6 @@ CREATE TABLE IF NOT EXISTS `network_zone` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', `data_center` varchar(15) DEFAULT NULL COMMENT '数据中心', `name` varchar(50) DEFAULT NULL COMMENT '服务名称', @@ -783,8 +753,6 @@ CREATE TABLE IF NOT EXISTS `network_zone_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `data_center_design` varchar(15) DEFAULT NULL COMMENT '数据中心设计', `network_segment_design` varchar(15) DEFAULT NULL COMMENT '网段设计', `network_zone_layer` int(15) DEFAULT NULL COMMENT '网络区域层级', @@ -804,8 +772,6 @@ CREATE TABLE IF NOT EXISTS `network_zone_link` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', `name` varchar(50) DEFAULT NULL COMMENT '名称', `netband_width` varchar(50) DEFAULT NULL COMMENT '网络带宽(M)', @@ -829,8 +795,6 @@ CREATE TABLE IF NOT EXISTS `network_zone_link_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `network_zone_design_1` varchar(15) DEFAULT NULL COMMENT '网络区域设计1', `network_zone_design_2` varchar(15) DEFAULT NULL COMMENT '网络区域设计2', `network_zone_link_type` int(15) DEFAULT NULL COMMENT '网络连接类型', @@ -850,8 +814,6 @@ CREATE TABLE IF NOT EXISTS `resource_instance` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', `charge_type` int(15) DEFAULT NULL COMMENT '计费模式', `cluster_node_type` int(15) DEFAULT NULL COMMENT '集群节点类型', @@ -885,8 +847,6 @@ CREATE TABLE IF NOT EXISTS `resource_set` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `business_zone` varchar(15) DEFAULT NULL COMMENT '业务区域', `cluster_type` int(15) DEFAULT NULL COMMENT '集群类型', `internet_ip_segment` varchar(15) DEFAULT NULL COMMENT '互联网网段', @@ -921,8 +881,6 @@ CREATE TABLE IF NOT EXISTS `resource_set_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `business_zone_design` varchar(15) DEFAULT NULL COMMENT '业务区域设计', `internet_network_segment_design` varchar(15) DEFAULT NULL COMMENT '互联网网段设计', `network_segment_design` varchar(15) DEFAULT NULL COMMENT '网段设计', @@ -953,8 +911,6 @@ CREATE TABLE IF NOT EXISTS `routing_rule` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', `dest_network_segment` varchar(15) DEFAULT NULL COMMENT '目标网段', `network_zone_link_design` varchar(15) DEFAULT NULL COMMENT '网络区域连接', @@ -976,8 +932,6 @@ CREATE TABLE IF NOT EXISTS `routing_rule_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `dest_network_segment` varchar(15) DEFAULT NULL COMMENT '目标网段', `network_zone_link_design` varchar(15) DEFAULT NULL COMMENT '网络区域连接', `resource_set` varchar(15) DEFAULT NULL COMMENT '资源集合', @@ -997,8 +951,6 @@ CREATE TABLE IF NOT EXISTS `service` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `asset_code` varchar(50) DEFAULT NULL COMMENT '资产编码', `cluster_type` int(15) DEFAULT NULL COMMENT '集群类型', `dns_name` varchar(50) DEFAULT NULL COMMENT '域名名', @@ -1025,8 +977,6 @@ CREATE TABLE IF NOT EXISTS `service_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `cluster_type` int(15) DEFAULT NULL COMMENT '集群类型', `name` varchar(50) DEFAULT NULL COMMENT '服务名称', `service_type` int(15) DEFAULT NULL COMMENT '服务类型', @@ -1047,8 +997,6 @@ CREATE TABLE IF NOT EXISTS `subsys` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `manager` varchar(50) DEFAULT NULL COMMENT '运维人员', `subsys_design` varchar(15) DEFAULT NULL COMMENT '子系统设计', `system` varchar(15) DEFAULT NULL COMMENT '系统', @@ -1076,8 +1024,6 @@ CREATE TABLE IF NOT EXISTS `subsys_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `business_group` int(15) DEFAULT NULL COMMENT '业务群组', `business_zone_design` varchar(15) DEFAULT NULL COMMENT '业务区域设计', `name` varchar(50) DEFAULT NULL COMMENT '名称', @@ -1098,8 +1044,6 @@ CREATE TABLE IF NOT EXISTS `system` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `deploy_environment` int(15) DEFAULT NULL COMMENT '部署环境', `system_design` varchar(15) DEFAULT NULL COMMENT '系统设计', PRIMARY KEY (`guid`) @@ -1118,8 +1062,6 @@ CREATE TABLE IF NOT EXISTS `system_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `business_group` int(15) DEFAULT NULL COMMENT '业务群组', `name` varchar(50) DEFAULT NULL COMMENT '名称', PRIMARY KEY (`guid`) @@ -1138,8 +1080,6 @@ CREATE TABLE IF NOT EXISTS `unit` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `manager` varchar(50) DEFAULT NULL COMMENT '运维人员', `subsys` varchar(15) DEFAULT NULL COMMENT '子系统', `unit_design` varchar(15) DEFAULT NULL COMMENT '单元设计', @@ -1186,8 +1126,6 @@ CREATE TABLE IF NOT EXISTS `unit_design` ( `fixed_date` varchar(19) DEFAULT NULL COMMENT '确认日期', `code` varchar(50) DEFAULT NULL COMMENT '编码', `description` varchar(1000) DEFAULT NULL COMMENT '描述说明', - `orchestration` int(15) DEFAULT NULL COMMENT '编排', - `biz_key` varchar(50) DEFAULT NULL COMMENT '编排实例ID', `across_resource_set` int(15) DEFAULT NULL COMMENT '跨资源集合部署', `name` varchar(50) DEFAULT NULL COMMENT '单元名称', `resource_set_design` varchar(15) DEFAULT NULL COMMENT '资源集合设计', @@ -1196,4 +1134,4 @@ CREATE TABLE IF NOT EXISTS `unit_design` ( PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file +SET FOREIGN_KEY_CHECKS=1; From e79dabbfdc2ca11990acc71b3ada5ecee06983b3 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Fri, 22 Nov 2019 15:08:40 +0800 Subject: [PATCH 004/172] #403 Adjust views management for new best practice model --- .../cmdb/config/ApplicationProperties.java | 20 ++++++++-------- .../ui/helper/UIWrapperService.java | 12 +++++----- .../src/pages/designing/physical-graph.vue | 14 +++++------ cmdb-ui/src/pages/designing/planning.vue | 24 ++++++++++--------- 4 files changed, 36 insertions(+), 34 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java b/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java index 2b279092d..840a3b76a 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java @@ -24,17 +24,17 @@ public class UIProperties { private Integer ciTypeIdOfSystemDesign = 1; private Integer ciTypeIdOfSubsystemDesign = 2; private Integer ciTypeIdOfUnitDesign = 3; - private Integer ciTypeIdOfUnit = 8; - private Integer ciTypeIdOfSubsys = 7; + private Integer ciTypeIdOfUnit = 9; + private Integer ciTypeIdOfSubsys = 8; private String ciTypeCodeOfSubsys = "subsys"; - private Integer ciTypeIdOfHost = 12; - private Integer ciTypeIdOfInstance = 15; - private Integer ciTypeIdOfIdc = 16; - private Integer ciTypeIdOfZone = 17; - private Integer ciTypeIdOfZoneLink = 18; - private Integer ciTypeIdOfIdcDesign = 22; - private Integer ciTypeIdOfZoneDesign = 23; - private Integer ciTypeIdOfZoneLinkDesign = 24; + private Integer ciTypeIdOfHost = 15; + private Integer ciTypeIdOfInstance = 14; + private Integer ciTypeIdOfIdc = 18; + private Integer ciTypeIdOfZone = 19; + private Integer ciTypeIdOfZoneLink = 20; + private Integer ciTypeIdOfIdcDesign = 25; + private Integer ciTypeIdOfZoneDesign = 26; + private Integer ciTypeIdOfZoneLinkDesign = 27; private String enumCategoryCiTypeLayer = "ci_layer"; private String enumCategoryCiTypeCatalog = "ci_catalog"; private String enumCategoryCiTypeZoomLevels = "ci_zoom_level"; diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java index b183f09b1..d7754add5 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java @@ -888,7 +888,7 @@ public List getAllZoneLinkDesignGroupByIdcDesign() { ZoneLinkDto result = new ZoneLinkDto(); result.setIdcGuid(idcDesignGuid); - List zoneDesignData = queryCiData(uiProperties.getCiTypeIdOfZoneDesign(), defaultQueryObject().addEqualsFilter("idc_design", idcDesignGuid)).getContents(); + List zoneDesignData = queryCiData(uiProperties.getCiTypeIdOfZoneDesign(), defaultQueryObject().addEqualsFilter("data_center_design", idcDesignGuid)).getContents(); List zoneDesignList = new ArrayList<>(); for (Object zoneDesign : zoneDesignData) { zoneDesignList.add(idcDesign.getData().get("guid").toString()); @@ -897,8 +897,8 @@ public List getAllZoneLinkDesignGroupByIdcDesign() { if (zoneDesignList.size() != 0) { List zoneDesignLinkData = queryCiData(uiProperties.getCiTypeIdOfZoneLinkDesign(), defaultQueryObject() - .addInFilter("zone_design1", zoneDesignList) - .addInFilter("zone_design2", zoneDesignList) + .addInFilter("network_zone_design_1", zoneDesignList) + .addInFilter("network_zone_design_2", zoneDesignList) .setFiltersRelationship("or")).getContents(); result.setLinkList(zoneDesignLinkData); } @@ -925,7 +925,7 @@ public List getAllZoneLinkGroupByIdc() { ZoneLinkDto result = new ZoneLinkDto(); result.setIdcGuid(idcGuid); - List zoneData = queryCiData(uiProperties.getCiTypeIdOfZone(), defaultQueryObject().addEqualsFilter("idc", idcGuid)).getContents(); + List zoneData = queryCiData(uiProperties.getCiTypeIdOfZone(), defaultQueryObject().addEqualsFilter("data_center", idcGuid)).getContents(); List zoneList = new ArrayList<>(); for (Object zone : zoneData) { zoneList.add(idc.getData().get("guid").toString()); @@ -933,8 +933,8 @@ public List getAllZoneLinkGroupByIdc() { if (zoneList.size() != 0) { List zoneLinkData = queryCiData(uiProperties.getCiTypeIdOfZoneLink(), defaultQueryObject() - .addInFilter("zone1", zoneList) - .addInFilter("zone2", zoneList) + .addInFilter("network_zone_1", zoneList) + .addInFilter("network_zone_2", zoneList) .setFiltersRelationship("or")) .getContents(); result.setLinkList(zoneLinkData); diff --git a/cmdb-ui/src/pages/designing/physical-graph.vue b/cmdb-ui/src/pages/designing/physical-graph.vue index 2ad75c186..f57cea74b 100755 --- a/cmdb-ui/src/pages/designing/physical-graph.vue +++ b/cmdb-ui/src/pages/designing/physical-graph.vue @@ -176,19 +176,19 @@ export default { []; linkData.forEach(_ => { let zoneName = ""; - if (_.data.zone_design1) { + if (_.data.network_zone_design_1) { if ( - this.idcs[guid].indexOf(_.data.zone_design1.guid) >= 0 && - this.idcs[guid].indexOf(_.data.zone_design2.guid) >= 0 + this.idcs[guid].indexOf(_.data.network_zone_design_1.guid) >= 0 && + this.idcs[guid].indexOf(_.data.network_zone_design_2.guid) >= 0 ) { - result += `g_${_.data.zone_design1.guid}->g_${_.data.zone_design2.guid}[arrowhead=none];`; + result += `g_${_.data.network_zone_design_1.guid}->g_${_.data.network_zone_design_2.guid}[arrowhead=none];`; } } else { if ( - this.idcs[guid].indexOf(_.data.zone1.guid) >= 0 && - this.idcs[guid].indexOf(_.data.zone2.guid) >= 0 + this.idcs[guid].indexOf(_.data.network_zone_1.guid) >= 0 && + this.idcs[guid].indexOf(_.data.network_zone_2.guid) >= 0 ) { - result += `g_${_.data.zone1.guid}->g_${_.data.zone2.guid}[arrowhead=none];`; + result += `g_${_.data.network_zone_1.guid}->g_${_.data.network_zone_2.guid}[arrowhead=none];`; } } }); diff --git a/cmdb-ui/src/pages/designing/planning.vue b/cmdb-ui/src/pages/designing/planning.vue index c5ef48c52..b1dc82342 100644 --- a/cmdb-ui/src/pages/designing/planning.vue +++ b/cmdb-ui/src/pages/designing/planning.vue @@ -134,7 +134,9 @@ export default { async onIdcDataChange(guid) { this.handleTabClick(this.currentTab); this.spinShow = true; - const { data, message, statusCode } = await getIdcDesignTreeByGuid([guid]); + const { data, message, statusCode } = await getIdcDesignTreeByGuid([ + guid + ]); if (statusCode === "OK") { this.idcDesignData = data[0]; this.getZoneLink(); @@ -194,12 +196,12 @@ export default { const children = idcData.children || []; let layers = new Map(); children.forEach(zone => { - if (layers.has(zone.data.zone_layer.value)) { - layers.get(zone.data.zone_layer.value).push(zone); + if (layers.has(zone.data.network_zone_layer.value)) { + layers.get(zone.data.network_zone_layer.value).push(zone); } else { let layer = []; layer.push(zone); - layers.set(zone.data.zone_layer.value, layer); + layers.set(zone.data.network_zone_layer.value, layer); } }); if (layers.size) { @@ -220,9 +222,7 @@ export default { label = zone.data.key_name; } dots.push( - `g_${zone.guid}[id="g_${ - zone.guid - }", label="${label}", width=${ll},height=${lg}];` + `g_${zone.guid}[id="g_${zone.guid}", label="${label}", width=${ll},height=${lg}];` ); }); dots.push("}"); @@ -814,11 +814,13 @@ export default { idcLink.linkList.forEach(_ => { let zoneLink = {}; if ( - _.data.zone_design1.idc_design === this.selectedIdc && - _.data.zone_design2.idc_design === this.selectedIdc + _.data.network_zone_design_1.data_center_design === + this.selectedIdc && + _.data.network_zone_design_2.data_center_design === + this.selectedIdc ) { - zoneLink.azone = `g_${_.data.zone_design1.guid}`; - zoneLink.bzone = `g_${_.data.zone_design2.guid}`; + zoneLink.azone = `g_${_.data.network_zone_design_1.guid}`; + zoneLink.bzone = `g_${_.data.network_zone_design_2.guid}`; const guid = this.idcDesignData.data.guid; if (this.zoneLinkDesignData.has(guid)) { this.zoneLinkDesignData.get(guid).push(zoneLink); From 1655281403f4672f0650d05ace2b45c25d618860 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordan=20ZHANG=20=28=E5=BC=A0=E5=A4=A9=E5=86=9B=29?= <41445364@qq.com> Date: Fri, 22 Nov 2019 17:47:14 +0800 Subject: [PATCH 005/172] #191 Update best practice model --- .../database/ch/02.cmdb.system.data_ch.sql | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql b/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql index b89fdfa3d..abf35fd4c 100644 --- a/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql @@ -257,18 +257,18 @@ INSERT INTO `adm_ci_type` (`id_adm_ci_type`, `name`, `description`, `id_adm_tene (31, '路由规则设计', '路由规则设计', NULL, 'routing_rule_design', 'created', 10, NULL, 7, 5, 1, 66, NULL); INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `regular_expression_rule`, `is_refreshable`) VALUES - (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), - (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, NULL, '1', NULL), - (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), - (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '1', NULL), - (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '1', NULL), - (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), - (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), - (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, NULL, 1, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":1},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":12,\\"isReferedFromParent\\":1}}]"}]', '0', NULL), - (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), - (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), - (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL), - (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, NULL, 1, 0, 0, NULL, '0', NULL); + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '1', NULL), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '1', NULL), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '1', NULL), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, '0', NULL), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL); INSERT INTO `adm_role_ci_type` (`id_adm_role_ci_type`, `id_adm_role`, `id_adm_ci_type`, `ci_type_name`, `creation_permission`, `removal_permission`, `modification_permission`, `enquiry_permission`, `execution_permission`, `grant_permission`) VALUES (806, 1, 1, '系统设计', 'Y', 'Y', 'Y', 'Y', 'Y', 'N'), @@ -453,4 +453,4 @@ INSERT INTO `adm_role_menu` (`id_adm_role_menu`, `id_adm_role`, `id_adm_menu`, ` (23, 1, 23, 0), (24, 1, 24, 0); -SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file +SET FOREIGN_KEY_CHECKS=1; From 0dac98561b30770a556932bb578c2d6cb9cd802c Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Wed, 27 Nov 2019 10:55:24 +0800 Subject: [PATCH 006/172] # 470 Unit Type of the unit CI Type result is empty --- .../resources/database/ch/03.cmdb.system.data.mysql_ch.sql | 6 +++--- .../main/resources/local/ch/03.cmdb.system.data.h2_ch.sql | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql b/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql index e83188950..4b94d288f 100644 --- a/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql @@ -204,7 +204,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (135, 9, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (136, 9, '子系统', '子系统', 'ref', 'subsys', 'varchar', 15, 8, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (137, 9, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":3},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":43,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":15,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":8,\\"parentRs\\":{\\"attrId\\":136,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":121,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":2,\\"parentRs\\":{\\"attrId\\":15,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), - (138, 9, '单元类型', '单元类型', 'multiSelect', 'unit_type', 'int', 1000, 22, NULL, NULL, '[{"filter_1":{"left":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":138,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"groupCodeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":44,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (138, 9, '单元类型', '单元类型', 'multiSelect', 'unit_type', 'int', 1000, 22, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (139, 9, '部署包', '部署包', 'multiRef', 'deploy_package', 'varchar', 1000, 12, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":179,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":191,\\"isReferedFromParent\\":0}},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":179,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (140, 9, '资源集', '资源集', 'multiRef', 'resource_set', 'varchar', 1000, 22, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":488,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":45,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":488,\\"isReferedFromParent\\":1}}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (141, 9, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), @@ -481,7 +481,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (412, 23, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (413, 23, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (414, 23, '网关IP地址', '网关IP地址', 'text', 'gateway_ip', 'varchar', 15, 17, 'NULL', 0, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), - (415, 23, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 23, '属于', 29, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (415, 23, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 23, '属于', 29, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (416, 24, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (417, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (418, 24, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), @@ -584,7 +584,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (515, 30, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (516, 30, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (517, 30, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), - (518, 30, '父网段设计', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 30, '属于', 29, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (518, 30, '父网段设计', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 30, '属于', 29, NULL, 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (519, 31, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (520, 31, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (521, 31, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), diff --git a/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql b/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql index f197f8186..6bc77fa4c 100644 --- a/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql +++ b/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql @@ -204,7 +204,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (135, 9, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (136, 9, '子系统', '子系统', 'ref', 'subsys', 'varchar', 15, 8, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (137, 9, '单元设计', '单元设计', 'ref', 'unit_design', 'varchar', 15, 3, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":3},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":43,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":15,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":8,\"parentRs\":{\"attrId\":136,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":121,\"isReferedFromParent\":1}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":15,\"isReferedFromParent\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), - (138, 9, '单元类型', '单元类型', 'multiSelect', 'unit_type', 'int', 1000, 22, NULL, NULL, '[{"filter_1":{"left":"[{\"ciTypeId\":9},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":138,\"isReferedFromParent\":1},\"enumCodeAttr\":\"groupCodeId\"}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":44,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (138, 9, '单元类型', '单元类型', 'multiSelect', 'unit_type', 'int', 1000, 22, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (139, 9, '部署包', '部署包', 'multiRef', 'deploy_package', 'varchar', 1000, 12, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":179,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":191,\"isReferedFromParent\":0}},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":179,\"isReferedFromParent\":1}}]"}}]', 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (140, 9, '资源集', '资源集', 'multiRef', 'resource_set', 'varchar', 1000, 22, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":22},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":488,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":45,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":488,\"isReferedFromParent\":1}}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (141, 9, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), @@ -481,7 +481,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (412, 23, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (413, 23, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (414, 23, '网关IP地址', '网关IP地址', 'text', 'gateway_ip', 'varchar', 15, 17, 'NULL', 0, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), - (415, 23, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 23, '属于', 29, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (415, 23, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 23, '属于', 29, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (416, 24, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (417, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (418, 24, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), @@ -584,7 +584,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (515, 30, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (516, 30, '网段类型', '网段类型', 'select', 'network_segment_type', 'int', 15, 32, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (517, 30, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), - (518, 30, '父网段设计', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 30, '属于', 29, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), + (518, 30, '父网段设计', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 30, '属于', 29, NULL, 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (519, 31, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (520, 31, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (521, 31, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), From 2ea7f817b2e7366a6ce14d3ae0998a0ac65ca15d Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Wed, 27 Nov 2019 15:48:43 +0800 Subject: [PATCH 007/172] #470 Unit Type of the unit CI Type result is empty --- .../java/com/webank/cmdb/service/impl/FilterRuleService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/FilterRuleService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/FilterRuleService.java index ac1646431..e04949cb5 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/FilterRuleService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/FilterRuleService.java @@ -125,6 +125,8 @@ private List executeSingleFilterRule(AdmCiTypeAttr attrWithFilterRule, Q switch (InputType.fromCode(attrWithFilterRule.getInputType())) { case Droplist: return querySelectDatas(leftAttr, ruleExpr, request, rightValues, leftRoutines); + case MultSelDroplist: + return querySelectDatas(leftAttr, ruleExpr, request, rightValues, leftRoutines); default: return queryCiDataDatas(leftAttr, ruleExpr, request, rightValues, leftRoutines); } From 4b178f0b0e78a0f4ea368006f6faf9fa7e2ab16d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Fri, 29 Nov 2019 10:47:04 +0800 Subject: [PATCH 008/172] #485 The auto fill rule support multiRef --- .../interceptor/CiDataInterceptorService.java | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java index a832a1b86..2a4ddbafe 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java @@ -359,7 +359,11 @@ private List parserRule(Object autoFillRuleValue) { } private String extractValueFromResponse(QueryResponse response, List routines) { - List> contents = response.getContents(); + List targetValues = getValueFromResponse(response, routines); + return StringUtils.join(targetValues, ","); + } + private List getValueFromResponse(QueryResponse response, List routines) { + List> contents = response.getContents(); List targetValues = new ArrayList<>(); contents.forEach(content -> { Object targetValue = content.get(TARGET_NAME) != null ? content.get(TARGET_NAME) : content.get("root$guid"); @@ -371,7 +375,7 @@ private String extractValueFromResponse(QueryResponse response, List routines, Object targetValue) { @@ -412,7 +416,18 @@ private String queryValueByRule(String rootGuid, AdmCiTypeAttr attrWithGuid, Obj try { List routines = JsonUtil.toList(item.getValue(), AutoFillIntegrationQueryDto.class); QueryResponse response = queryIntegrateWithRoutines(rootGuid, attrWithGuid, routines); - sb.append(extractValueFromResponse(response, routines)); + List targetValues = getValueFromResponse(response, routines); + for (int i = 0; i < targetValues.size(); i++) { + String value = targetValues.get(i); + if(checkExpression(value)) { + queryValueByRule(rootGuid,attrWithGuid,value); + }else { + sb.append(value); + if(i routines) { AdhocIntegrationQueryDto adhocDto = buildRootDto(routines.get(0), guid, attrWithGuid); travelFillQueryDto(routines, adhocDto.getCriteria(), 1); From 65da3e72f3b0f7bb176a56059ac9ee7b76074f41 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Fri, 29 Nov 2019 14:40:25 +0800 Subject: [PATCH 009/172] #485 Enhance auto fill 2nd expr joining issue --- .../interceptor/CiDataInterceptorService.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java index 2a4ddbafe..626b109a9 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java @@ -316,7 +316,7 @@ private void executeAutoFill(DynamicEntityHolder entityHolder, EntityManager ent private void queryValueFromRuleAndSave(DynamicEntityHolder entityHolder, EntityManager entityManager, String currentGuid, AdmCiTypeAttr attrWithRule) { Object value = null; - String rawValue = queryValueByRule(currentGuid, null, attrWithRule.getAutoFillRule()); + String rawValue = queryValueByRule(currentGuid, null, attrWithRule.getAutoFillRule(),new StringBuilder()); if (!StringUtils.isBlank(rawValue)) { switch (InputType.fromCode(attrWithRule.getInputType())) { case Droplist: @@ -408,8 +408,7 @@ private String getValueFromEnumCode(List routines, return value; } - private String queryValueByRule(String rootGuid, AdmCiTypeAttr attrWithGuid, Object autoFillRuleValue) { - StringBuilder sb = new StringBuilder(); + private String queryValueByRule(String rootGuid, AdmCiTypeAttr attrWithGuid, Object autoFillRuleValue, StringBuilder sb) { List autoRuleItems = parserRule(autoFillRuleValue); for (AutoFillItem item : autoRuleItems) { if (AutoFillType.Rule.getCode().equals(item.getType())) { @@ -418,16 +417,16 @@ private String queryValueByRule(String rootGuid, AdmCiTypeAttr attrWithGuid, Obj QueryResponse response = queryIntegrateWithRoutines(rootGuid, attrWithGuid, routines); List targetValues = getValueFromResponse(response, routines); for (int i = 0; i < targetValues.size(); i++) { - String value = targetValues.get(i); - if(checkExpression(value)) { - queryValueByRule(rootGuid,attrWithGuid,value); - }else { - sb.append(value); - if(i Date: Fri, 29 Nov 2019 18:56:46 +0800 Subject: [PATCH 010/172] #490 Fix the enum update Fixed a bug that changed catId to 1 when modifying the enumeration --- .../com/webank/cmdb/controller/ui/helper/UIWrapperService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java index b183f09b1..4ec019e0f 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java @@ -379,7 +379,6 @@ public List updateEnumCodes(List> catCodeDtos) { catCodeDtos.forEach(dto -> { dto.remove("ciTypes"); Object groupCodeId= dto.get("groupCodeId"); - dto.put("catId", getLayerCategoryId()); if (groupCodeId!=null && !(groupCodeId instanceof Integer)) { dto.remove("groupCodeId"); } From dd1bf47b070b351c53964d059446b59655e0105a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Fri, 29 Nov 2019 19:00:29 +0800 Subject: [PATCH 011/172] #490 Add the validate method for groupCodeId --- .../webank/cmdb/repository/AdmBasekeyCodeRepository.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/repository/AdmBasekeyCodeRepository.java b/cmdb-core/src/main/java/com/webank/cmdb/repository/AdmBasekeyCodeRepository.java index 7d5bbd2de..5a55524aa 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/repository/AdmBasekeyCodeRepository.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/repository/AdmBasekeyCodeRepository.java @@ -56,13 +56,21 @@ public static interface EnumInfo { AdmBasekeyCode findFirstByCatIdOrderBySeqNoDesc(Integer catId); + boolean existsByCatIdAndValueAndGroupCodeId(Integer catId, String value, Integer groupCodeId); + boolean existsByCatIdAndValue(Integer catId, String value); boolean existsByCatIdAndValueAndIdAdmBasekeyNot(Integer catId, String value, Integer codeId); + + boolean existsByCatIdAndValueAndGroupCodeIdAndIdAdmBasekeyNot(Integer catId, String code, Integer groupCodeId, Integer codeId); + + boolean existsByCatIdAndCodeAndGroupCodeId(Integer catId, String code, Integer groupCodeId); boolean existsByCatIdAndCode(Integer catId, String code); boolean existsByCatIdAndCodeAndIdAdmBasekeyNot(Integer catId, String code, Integer codeId); + + boolean existsByCatIdAndCodeAndGroupCodeIdAndIdAdmBasekeyNot(Integer catId, String code, Integer groupCodeId, Integer codeId); boolean existsByCatIdAndIdAdmBasekey(Integer catId, Integer codeId); From 7d8cc7df39f636774bdbacba6fbbfd6bf696f644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Fri, 29 Nov 2019 19:05:54 +0800 Subject: [PATCH 012/172] #490 Transform the enum validate rule --- .../EnumCodeInterceptorService.java | 58 ++++++++++++------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/EnumCodeInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/EnumCodeInterceptorService.java index f00e058dd..432dd6ccb 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/EnumCodeInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/EnumCodeInterceptorService.java @@ -104,8 +104,8 @@ public void preCreate(CatCodeDto dto, AdmBasekeyCode domainBean) { validateRequiredFields(dto); validateIfCatIdExist(dto.getCatId()); validateGroupCodeId(dto.getGroupCodeId()); - validateIfCodeUniqueByCatId(null, dto.getCode(), dto.getCatId()); - validateIfValueUniqueByCatId(null, dto.getValue(), dto.getCatId()); + validateIfCodeUniqueByCatId(null, dto.getCode(), dto.getCatId(),dto.getGroupCodeId()); + validateIfValueUniqueByCatId(null, dto.getValue(), dto.getCatId(),dto.getGroupCodeId()); assignSeqNo(domainBean); assignDefaultStatus(domainBean); } @@ -122,8 +122,8 @@ public void preUpdate(Integer id, Map vals) { AdmBasekeyCode code = codeRepository.getOne(id); validateIfCatIdExist(vals.get("catId")); validateGroupCodeId(vals.get("groupCodeId")); - validateIfCodeUniqueByCatId(code, vals.get("code"), vals.get("catId")); - validateIfValueUniqueByCatId(code, vals.get("value"), vals.get("catId")); + validateIfCodeUniqueByCatId(code, vals.get("code"), vals.get("catId"), vals.get("groupCodeId")); + validateIfValueUniqueByCatId(code, vals.get("value"), vals.get("catId"), vals.get("groupCodeId")); validateStatus(vals); } @@ -182,35 +182,53 @@ private void validateIfGroupForOtherCodes(Integer id) { } } - private void validateIfCodeUniqueByCatId(AdmBasekeyCode oldCode, Object code, Object catId) { + private void validateIfCodeUniqueByCatId(AdmBasekeyCode oldCode, Object code, Object catId, Object groupCodeId) { if (code != null) { if (StringUtils.isBlank((String) code)) { throw new InvalidArgumentException("Code is not allow to be empty."); } - if (oldCode == null && codeRepository.existsByCatIdAndCode((Integer) catId, (String) code)) { - throw new InvalidArgumentException(String.format("Code with catId [%s] and code [%s] already exists.", catId, code)); - } - - if (oldCode != null && codeRepository.existsByCatIdAndCodeAndIdAdmBasekeyNot((Integer) catId, (String) code, oldCode.getIdAdmBasekey())) { - throw new InvalidArgumentException(String.format("Code with catId [%s] and code [%s] already exists.", catId, code)); - } + if (groupCodeId != null) { + if (oldCode == null && codeRepository.existsByCatIdAndCodeAndGroupCodeId((Integer) catId, (String) code, (Integer)groupCodeId)) { + throw new InvalidArgumentException(String.format("Code with catId [%s] and code [%s] and groupCodeId [%s] already exists.", catId, code, groupCodeId)); + } + + if (oldCode != null && codeRepository.existsByCatIdAndCodeAndGroupCodeIdAndIdAdmBasekeyNot((Integer) catId, (String) code, oldCode.getIdAdmBasekey(), (Integer)groupCodeId)) { + throw new InvalidArgumentException(String.format("Code with catId [%s] and code [%s] and groupCodeId [%s] already exists.", catId, code, groupCodeId)); + } + }else { + if (oldCode == null && codeRepository.existsByCatIdAndCode((Integer) catId, (String) code)) { + throw new InvalidArgumentException(String.format("Code with catId [%s] and code [%s] already exists.", catId, code)); + } + + if (oldCode != null && codeRepository.existsByCatIdAndCodeAndIdAdmBasekeyNot((Integer) catId, (String) code, oldCode.getIdAdmBasekey())) { + throw new InvalidArgumentException(String.format("Code with catId [%s] and code [%s] already exists.", catId, code)); + } } } - private void validateIfValueUniqueByCatId(AdmBasekeyCode oldValue, Object value, Object catId) { + private void validateIfValueUniqueByCatId(AdmBasekeyCode oldValue, Object value, Object catId, Object groupCodeId) { if (value != null) { if (StringUtils.isBlank((String) value)) { throw new InvalidArgumentException("Value is not allow to be empty."); } - if (oldValue == null && codeRepository.existsByCatIdAndValue((Integer) catId, (String) value)) { - throw new InvalidArgumentException(String.format("Code with catId [%s] and value [%s] already exists.", catId, value)); - } - - if (oldValue != null && codeRepository.existsByCatIdAndValueAndIdAdmBasekeyNot((Integer) catId, (String) value, oldValue.getIdAdmBasekey())) { - throw new InvalidArgumentException(String.format("Code with catId [%s] and value [%s] already exists.", catId, value)); - } + if (groupCodeId != null) { + if (oldValue == null && codeRepository.existsByCatIdAndValueAndGroupCodeId((Integer) catId, (String) value, (Integer) groupCodeId)) { + throw new InvalidArgumentException(String.format("Code with catId [%s] and value [%s] and groupCodeId [%s] already exists.", catId, value, groupCodeId)); + } + + if (oldValue != null && codeRepository.existsByCatIdAndValueAndGroupCodeIdAndIdAdmBasekeyNot((Integer) catId, (String) value, oldValue.getIdAdmBasekey(), (Integer) groupCodeId)) { + throw new InvalidArgumentException(String.format("Code with catId [%s] and value [%s] and groupCodeId [%s] already exists.", catId, value, groupCodeId)); + } + }else { + if (oldValue == null && codeRepository.existsByCatIdAndValue((Integer) catId, (String) value)) { + throw new InvalidArgumentException(String.format("Code with catId [%s] and value [%s] already exists.", catId, value)); + } + + if (oldValue != null && codeRepository.existsByCatIdAndValueAndIdAdmBasekeyNot((Integer) catId, (String) value, oldValue.getIdAdmBasekey())) { + throw new InvalidArgumentException(String.format("Code with catId [%s] and value [%s] already exists.", catId, value)); + } } } From d333974e049756eeca02203a330bbbc0b2596b60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Fri, 29 Nov 2019 19:07:46 +0800 Subject: [PATCH 013/172] #490 Remove the database UNIQUE KEY --- cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql b/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql index 4fcef4793..d56e800a4 100755 --- a/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/01.cmdb.schema_ch.sql @@ -61,7 +61,6 @@ CREATE TABLE IF NOT EXISTS `adm_basekey_code` ( `seq_no` int(11) DEFAULT NULL COMMENT '排序序号', `status` varchar(20) DEFAULT 'active' COMMENT '枚举状态', PRIMARY KEY (`id_adm_basekey`), - UNIQUE KEY `id_adm_basekey_cat_code` (`id_adm_basekey_cat`,`code`), KEY `fk_adm_basekey_code_adm_basekey_cat_1` (`id_adm_basekey_cat`), KEY `fk_adm_basekey_code_group_code_id` (`group_code_id`), CONSTRAINT `fk_adm_basekey_code_adm_basekey_cat_1` FOREIGN KEY (`id_adm_basekey_cat`) REFERENCES `adm_basekey_cat` (`id_adm_basekey_cat`), @@ -1024,4 +1023,4 @@ CREATE TABLE `zone_link_design` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file +SET FOREIGN_KEY_CHECKS=1; From 915af9817c477eebf07527ea26cf7601a134a966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Fri, 29 Nov 2019 19:08:52 +0800 Subject: [PATCH 014/172] #490 Remove the database UNIQUE KEY --- cmdb-core/src/main/resources/database/en/01.cmdb.schema_en.sql | 1 - 1 file changed, 1 deletion(-) diff --git a/cmdb-core/src/main/resources/database/en/01.cmdb.schema_en.sql b/cmdb-core/src/main/resources/database/en/01.cmdb.schema_en.sql index 486d42300..302f81d16 100644 --- a/cmdb-core/src/main/resources/database/en/01.cmdb.schema_en.sql +++ b/cmdb-core/src/main/resources/database/en/01.cmdb.schema_en.sql @@ -71,7 +71,6 @@ CREATE TABLE IF NOT EXISTS `adm_basekey_code` ( `seq_no` int(11) DEFAULT NULL , `status` varchar(20) DEFAULT 'active' , PRIMARY KEY (`id_adm_basekey`), - UNIQUE KEY `id_adm_basekey_cat_code` (`id_adm_basekey_cat`,`code`), KEY `fk_adm_basekey_code_adm_basekey_cat_1` (`id_adm_basekey_cat`), KEY `fk_adm_basekey_code_group_code_id` (`group_code_id`), CONSTRAINT `fk_adm_basekey_code_adm_basekey_cat_1` FOREIGN KEY (`id_adm_basekey_cat`) REFERENCES `adm_basekey_cat` (`id_adm_basekey_cat`), From 2f42bd72c7f744daaa1a7749e00342738bbf2cb7 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Fri, 29 Nov 2019 19:22:25 +0800 Subject: [PATCH 015/172] #490 Code formart --- .../cmdb/service/interceptor/EnumCodeInterceptorService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/EnumCodeInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/EnumCodeInterceptorService.java index 432dd6ccb..d9c160461 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/EnumCodeInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/EnumCodeInterceptorService.java @@ -204,6 +204,7 @@ private void validateIfCodeUniqueByCatId(AdmBasekeyCode oldCode, Object code, Ob if (oldCode != null && codeRepository.existsByCatIdAndCodeAndIdAdmBasekeyNot((Integer) catId, (String) code, oldCode.getIdAdmBasekey())) { throw new InvalidArgumentException(String.format("Code with catId [%s] and code [%s] already exists.", catId, code)); } + } } } @@ -229,6 +230,7 @@ private void validateIfValueUniqueByCatId(AdmBasekeyCode oldValue, Object value, if (oldValue != null && codeRepository.existsByCatIdAndValueAndIdAdmBasekeyNot((Integer) catId, (String) value, oldValue.getIdAdmBasekey())) { throw new InvalidArgumentException(String.format("Code with catId [%s] and value [%s] already exists.", catId, value)); } + } } } From e645b93dcfbfdbef5f73814ba4404fec5fdef80a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Wed, 4 Dec 2019 12:08:30 +0800 Subject: [PATCH 016/172] #506 MulRef delete validate fix --- .../main/java/com/webank/cmdb/service/impl/CiServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java index 579531e88..66fabd5ed 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java @@ -2058,7 +2058,8 @@ public DynamicEntityHolder getCiHolder(int ciTypeId, String guid) { public List> lookupReferenceByCis(int ciTypeId, String guid, boolean checkFinalState) { List> dependentCis = Lists.newLinkedList(); List referredAttrs = ciTypeAttrRepository.findByInputTypeAndReferenceId(InputType.Reference.getCode(), ciTypeId); - referredAttrs.forEach(attr -> { + referredAttrs.addAll(ciTypeAttrRepository.findByInputTypeAndReferenceId(InputType.MultRef.getCode(), ciTypeId)); + referredAttrs.forEach(attr -> { List> ciData = queryWithFilters(attr.getCiTypeId(), Lists.newArrayList(new Filter(attr.getPropertyName(), FilterOperator.Equal.getCode(), guid)), false); if (ciData != null && ciData.size() > 0) { ciData.forEach(data -> { From 59ef2c80eae97d101754067b3fc908de336c7758 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Wed, 11 Dec 2019 11:46:27 +0800 Subject: [PATCH 017/172] #511 Wecmdb pluggable for wecube platform --- Makefile | 4 - cmdb-core/pom.xml | 18 +- .../webank/cmdb/config/SpringWebConfig.java | 4 +- cmdb-core/src/main/resources/application.yml | 2 +- cmdb-plugin/Dockerfile | 6 + cmdb-plugin/Makefile | 44 +++ cmdb-plugin/pom.xml | 68 ++++ cmdb-plugin/register.xml | 81 +++++ .../webank/plugins/wecmdb/Application.java | 47 +++ .../wecmdb/controller/ApiController.java | 75 +++++ .../plugins/wecmdb/dto/AttributeDto.java | 67 ++++ .../webank/plugins/wecmdb/dto/DataType.java | 27 ++ .../webank/plugins/wecmdb/dto/EntityDto.java | 43 +++ .../plugins/wecmdb/dto/JsonResponse.java | 57 ++++ .../plugins/wecmdb/dto/OperateCiDto.java | 18 + .../wecmdb/dto/OperateCiDtoInputs.java | 20 ++ .../wecmdb/dto/OperateCiDtoOutputs.java | 22 ++ .../wecmdb/dto/OperateCiJsonResponse.java | 67 ++++ .../plugins/wecmdb/dto/PluginResponse.java | 17 + .../plugins/wecmdb/dto/RequestParamDto.java | 23 ++ .../exception/DefaultExceptionHandler.java | 28 ++ .../exception/OperationCiException.java | 13 + .../wecmdb/exception/PluginException.java | 13 + .../plugins/wecmdb/helper/ConfirmHelper.java | 29 ++ .../wecmdb/service/AdapterService.java | 316 ++++++++++++++++++ .../src/main/resources/application.yml | 55 +++ cmdb-plugin/src/main/resources/banner.txt | 8 + cmdb-ui/package.json | 2 +- cmdb-ui/pom.xml | 7 +- pom.xml | 32 +- 30 files changed, 1183 insertions(+), 30 deletions(-) create mode 100644 cmdb-plugin/Dockerfile create mode 100644 cmdb-plugin/Makefile create mode 100644 cmdb-plugin/pom.xml create mode 100644 cmdb-plugin/register.xml create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/Application.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/controller/ApiController.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/AttributeDto.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/DataType.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/EntityDto.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/JsonResponse.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDto.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDtoInputs.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDtoOutputs.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiJsonResponse.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/PluginResponse.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/RequestParamDto.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/DefaultExceptionHandler.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/OperationCiException.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/PluginException.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/helper/ConfirmHelper.java create mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/service/AdapterService.java create mode 100644 cmdb-plugin/src/main/resources/application.yml create mode 100644 cmdb-plugin/src/main/resources/banner.txt diff --git a/Makefile b/Makefile index 8a7e851b6..8f29806bd 100644 --- a/Makefile +++ b/Makefile @@ -17,10 +17,6 @@ build: mkdir -p repository docker run --rm --name $(build_name) -v /data/repository:/usr/src/mymaven/repository -v $(current_dir)/build/maven_settings.xml:/usr/share/maven/ref/settings-docker.xml -v $(current_dir):/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn -U clean install -Dmaven.test.skip=true -s /usr/share/maven/ref/settings-docker.xml dependency:resolve -build-plugin-ui: - mkdir -p repository - docker run --rm --name plugin-ui-build -v /data/repository:/usr/src/mymaven/repository -v $(current_dir)/build/maven_settings.xml:/usr/share/maven/ref/settings-docker.xml -v $(current_dir):/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn -U clean install -Dmaven.test.skip=true -DbuildType=plugin -s /usr/share/maven/ref/settings-docker.xml dependency:resolve - image: docker build -t $(project_name):$(version) . diff --git a/cmdb-core/pom.xml b/cmdb-core/pom.xml index 542a2f130..065721ae3 100755 --- a/cmdb-core/pom.xml +++ b/cmdb-core/pom.xml @@ -4,19 +4,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - cmdb com.webank.cmdb - 1.4.0-SNAPSHOT + cmdb + ${cmdb.version} - com.webank - cmdb-core - cmdb-core - cmdb-core - - 1.8 - UTF-8 - + cmdb-core + jar @@ -170,10 +164,6 @@ -Xmx2048m -XX:MaxPermSize=256m - - org.springframework.boot - spring-boot-maven-plugin - maven-resources-plugin diff --git a/cmdb-core/src/main/java/com/webank/cmdb/config/SpringWebConfig.java b/cmdb-core/src/main/java/com/webank/cmdb/config/SpringWebConfig.java index 55cddb226..ca5d2cd62 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/config/SpringWebConfig.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/config/SpringWebConfig.java @@ -159,11 +159,11 @@ protected ExpressionUrlAuthorizationConfigurer.ExpressionIntercept convertedList.add(String.format("hasIpAddress('%s')", ipAddress)); } - return registry.antMatchers("/api/v2/**") + return registry.antMatchers("/**") .access(StringUtils.join(convertedList, " or ")); } } else { - return registry.antMatchers("/api/v2/**") + return registry.antMatchers("/**") .permitAll(); } return registry; diff --git a/cmdb-core/src/main/resources/application.yml b/cmdb-core/src/main/resources/application.yml index da156c1fe..e23069b87 100755 --- a/cmdb-core/src/main/resources/application.yml +++ b/cmdb-core/src/main/resources/application.yml @@ -9,7 +9,7 @@ spring: location: classpath:/cmdb.txt profiles: #en-local、ch-local - active: en-local + active: ch-local cache: type: caffeine caffeine: diff --git a/cmdb-plugin/Dockerfile b/cmdb-plugin/Dockerfile new file mode 100644 index 000000000..b349e0f07 --- /dev/null +++ b/cmdb-plugin/Dockerfile @@ -0,0 +1,6 @@ +from platten/alpine-oracle-jre8-docker +LABEL maintainer = "Webank CTB Team" +ADD target/wecube-plugins-wecmdb-1.4.0-SNAPSHOT.jar /application/wecube-plugins-wecmdb.jar +ADD build/start.sh /scripts/start.sh +RUN chmod +x /scripts/start.sh +CMD ["/bin/sh","-c","/scripts/start.sh $DB_HOST $DB_PORT $DB_SCHEMA $DB_USER $DB_PWD"] diff --git a/cmdb-plugin/Makefile b/cmdb-plugin/Makefile new file mode 100644 index 000000000..a7333acf5 --- /dev/null +++ b/cmdb-plugin/Makefile @@ -0,0 +1,44 @@ +current_dir=$(shell pwd) +version=$(shell bash ./build/version.sh) +date=$(shell date +%Y%m%d%H%M%S) +project_name=$(shell basename "${current_dir}") +remote_docker_image_registry=ccr.ccs.tencentyun.com/webankpartners/wecube-plugins-wecmdb + + +clean: + rm -rf $(current_dir)/target + +.PHONY:build +build: clean + mkdir -p repository + cd .. + docker run --rm --name plugin-build -v /data/repository:/usr/src/mymaven/repository -v $(current_dir)/build/maven_settings.xml:/usr/share/maven/ref/settings-docker.xml -v $(current_dir):/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn -U clean install -Dmaven.test.skip=true -DbuildType=plugin -s /usr/share/maven/ref/settings-docker.xml dependency:resolve + +image: build + docker build -t $(project_name):$(version) . + +s3_server_url=http://10.10.10.1:9000 +s3_access_key=access_key +s3_secret_key=secret_key +branch_name=master +cmdb_database_path=../cmdb-core/src/main/resources/database/ch/ + +.PHONY:package +package: image + rm -rf package + mkdir -p package + cd package && docker save $(project_name):$(version) -o image.tar + cd package && cp ../register.xml . + cd package && sed -i "s~{{VERSION}}~$(version)~g" register.xml + cd ../cmdb-ui/dist && zip -r ui.zip . + cd package && cp ../cmdb-ui/dist/ui.zip . + cd package && cat $(cmdb_database_path)/01.cmdb.schema_ch.sql $(cmdb_database_path)/02.cmdb.system.data_ch.sql $(cmdb_database_path)/03.cmdb.system.data.mysql_ch.sql >init.sql + cd package && zip -r $(project_name)-$(version).zip . + docker rmi $(project_name):$(version) + +upload: package + $(eval container_id:=$(shell docker run -v $(current_dir)/package:/package -itd --entrypoint=/bin/sh minio/mc)) + docker exec $(container_id) mc config host add wecubeS3 $(s3_server_url) $(s3_access_key) $(s3_secret_key) wecubeS3 + docker exec $(container_id) mc cp /package/$(project_name)-$(version).zip wecubeS3/wecube-plugin-package-bucket + docker stop $(container_id) + docker rm -f $(container_id) diff --git a/cmdb-plugin/pom.xml b/cmdb-plugin/pom.xml new file mode 100644 index 000000000..d5eb6309c --- /dev/null +++ b/cmdb-plugin/pom.xml @@ -0,0 +1,68 @@ + + + 4.0.0 + + + com.webank.cmdb + cmdb + ${cmdb.version} + + + wecube-plugins-wecmdb + jar + + + + com.webank.cmdb + cmdb-core + ${cmdb.version} + + + org.springframework.boot + spring-boot-starter-web + + + org.apache.httpcomponents + httpclient + + + io.springfox + springfox-swagger2 + 2.9.2 + + + io.springfox + springfox-swagger-ui + 2.9.2 + + + + org.springframework.boot + spring-boot-starter-test + test + + + junit + junit + test + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + 1 + true + -Xmx2048m -XX:MaxPermSize=256m + + + + + + diff --git a/cmdb-plugin/register.xml b/cmdb-plugin/register.xml new file mode 100644 index 000000000..769002007 --- /dev/null +++ b/cmdb-plugin/register.xml @@ -0,0 +1,81 @@ + + + + + + + + + + /wecmdb/designing/ci-data-enquiry + /wecmdb/designing/ci-integrated-query-execution + /wecmdb/designing/enum-enquiry + + /wecmdb/designing/ci-data-management + /wecmdb/designing/ci-integrated-query-management + /wecmdb/designing/enum-management + + /wecmdb/view-management/idc-planning-design + /wecmdb/view-management/idc-resource-planning + /wecmdb/view-management/application-architecture-design + /wecmdb/view-management/application-deployment-design + + /wecmdb/admin/cmdb-model-management + /wecmdb/admin/base-data-management + /wecmdb/admin/query-log + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + guid + + + status + message + guid + fixed_date + + + + + diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/Application.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/Application.java new file mode 100644 index 000000000..1276ed84f --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/Application.java @@ -0,0 +1,47 @@ +package com.webank.plugins.wecmdb; + +import javax.servlet.Filter; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Import; +import org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter; +import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; + +import com.webank.cmdb.config.DatabaseConfig; +import com.webank.cmdb.config.SpringAppConfig; +import com.webank.cmdb.config.SpringWebConfig; + +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +@SpringBootApplication +@EnableSwagger2 +@ComponentScan({ "com.webank.plugins.wecmdb.service", "com.webank.plugins.wecmdb.controller" ,"com.webank.cmdb.config", "com.webank.cmdb.repository"}) +@Import({ DatabaseConfig.class }) +public class Application extends AbstractAnnotationConfigDispatcherServletInitializer { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + + @Override + protected Class[] getRootConfigClasses() { + return new Class[] { SpringAppConfig.class }; + } + + @Override + protected Class[] getServletConfigClasses() { + return new Class[] { SpringWebConfig.class }; + } + + @Override + protected String[] getServletMappings() { + return new String[] { "/" }; + } + + @Override + protected Filter[] getServletFilters() { + return new Filter[] { new OpenEntityManagerInViewFilter() }; + } +} \ No newline at end of file diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/controller/ApiController.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/controller/ApiController.java new file mode 100644 index 000000000..d51fbc304 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/controller/ApiController.java @@ -0,0 +1,75 @@ +package com.webank.plugins.wecmdb.controller; + +import static com.webank.plugins.wecmdb.dto.JsonResponse.okay; +import static com.webank.plugins.wecmdb.dto.JsonResponse.okayWithData; + +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +import com.webank.plugins.wecmdb.dto.JsonResponse; +import com.webank.plugins.wecmdb.dto.OperateCiDto; +import com.webank.plugins.wecmdb.dto.OperateCiDtoInputs; +import com.webank.plugins.wecmdb.dto.OperateCiJsonResponse; +import com.webank.plugins.wecmdb.exception.OperationCiException; +import com.webank.plugins.wecmdb.service.AdapterService; + +@RestController +public class ApiController { + + @Autowired + private AdapterService adapterService; + + @GetMapping("/entities/{entity-name}") + @ResponseBody + public JsonResponse retrieveCiData(@PathVariable(value = "entity-name") String entityName, + @RequestParam(value = "filter", required = false) String filter, + @RequestParam(value = "sorting", required = false) String sorting, + @RequestParam(value = "select", required = false) String select) { + return okayWithData(adapterService.getCiDataWithConditions(entityName, filter, sorting, select)); + } + + @PostMapping("/entities/{entity-name}/create") + public JsonResponse createCiData(@PathVariable("entity-name") String entityName, @RequestBody List> request) { + return okayWithData(adapterService.createCiData(entityName, request)); + } + + @PostMapping("/entities/{entity-name}/update") + public JsonResponse updateCiData(@PathVariable("entity-name") String entityName, @RequestBody List> request) { + return okayWithData(adapterService.updateCiData(entityName, request)); + } + + @PostMapping("/entities/{entity-name}/delete") + public JsonResponse deleteCiData(@PathVariable("entity-name") String entityName, @RequestBody List> request) { + adapterService.deleteCiData(entityName, request); + return okay(); + } + + @PostMapping("/data/confirm") + @ResponseBody + public OperateCiJsonResponse confirmBatchCiData(@RequestBody OperateCiDtoInputs inputs) { + List operateCiDtos = inputs.getInputs(); + OperateCiJsonResponse response = null; + try { + response = OperateCiJsonResponse.okayWithData(adapterService.confirmBatchCiData(operateCiDtos)); + } catch (Exception e) { + throw new OperationCiException(String.format("Failed to confirm CI with request[%s], error [%s] ",inputs, e.getMessage()), e); + } + + return response; + } + + @GetMapping("/data-model") + @ResponseBody + public JsonResponse getDataModel() { + return okayWithData(adapterService.getDataModel()); + } +} \ No newline at end of file diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/AttributeDto.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/AttributeDto.java new file mode 100644 index 000000000..9fed96c7d --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/AttributeDto.java @@ -0,0 +1,67 @@ +package com.webank.plugins.wecmdb.dto; + +public class AttributeDto { + private String entityName; + private String name; + private String description; + private String dataType; + private String refPackageName; + private String refEntityName; + private String refAttributeName; + + public String getEntityName() { + return entityName; + } + + public void setEntityName(String entityName) { + this.entityName = entityName; + } + + 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 getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + public String getRefPackageName() { + return refPackageName; + } + + public void setRefPackageName(String refPackageName) { + this.refPackageName = refPackageName; + } + + public String getRefEntityName() { + return refEntityName; + } + + public void setRefEntityName(String refEntityName) { + this.refEntityName = refEntityName; + } + + public String getRefAttributeName() { + return refAttributeName; + } + + public void setRefAttributeName(String refAttributeName) { + this.refAttributeName = refAttributeName; + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/DataType.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/DataType.java new file mode 100644 index 000000000..bed01ad65 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/DataType.java @@ -0,0 +1,27 @@ +package com.webank.plugins.wecmdb.dto; + +public enum DataType { + None("none"), Ref("ref"), String("str"), Integer("int"), Timestamp("timestamp"); + + private String code; + + private DataType(String code) { + this.code = code; + } + + public String getCode() { + return code; + } + + static public DataType fromCode(String code) { + for (DataType dataType : values()) { + if (None.equals(dataType)) + continue; + + if (dataType.getCode().equals(code)) { + return dataType; + } + } + return None; + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/EntityDto.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/EntityDto.java new file mode 100644 index 000000000..45c7a00f6 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/EntityDto.java @@ -0,0 +1,43 @@ +package com.webank.plugins.wecmdb.dto; + +import java.util.ArrayList; +import java.util.List; + +public class EntityDto { + private String name; + private String displayName; + private String description; + private List attributes = new ArrayList<>(); + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDisplayName() { + return displayName; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public List getAttributes() { + return attributes; + } + + public void setAttributes(List attributes) { + this.attributes = attributes; + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/JsonResponse.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/JsonResponse.java new file mode 100644 index 000000000..65f653cd9 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/JsonResponse.java @@ -0,0 +1,57 @@ +package com.webank.plugins.wecmdb.dto; + +public class JsonResponse { + public final static String STATUS_OK = "OK"; + public final static String STATUS_ERROR = "ERROR"; + + private String status; + private String message; + private Object data; + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + public JsonResponse withData(Object data) { + this.data = data; + return this; + } + + public static JsonResponse okay() { + JsonResponse result = new JsonResponse(); + result.setStatus(STATUS_OK); + result.setMessage("Success"); + return result; + } + + public static JsonResponse okayWithData(Object data) { + return okay().withData(data); + } + + public static JsonResponse error(String errorMessage) { + JsonResponse result = new JsonResponse(); + result.setStatus(STATUS_ERROR); + result.setMessage(errorMessage); + return result; + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDto.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDto.java new file mode 100644 index 000000000..9a4b972ea --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDto.java @@ -0,0 +1,18 @@ +package com.webank.plugins.wecmdb.dto; + +public class OperateCiDto { + private String guid; + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } + + @Override + public String toString() { + return "OperateCiDto [guid=" + guid + "]"; + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDtoInputs.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDtoInputs.java new file mode 100644 index 000000000..7179d8ddd --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDtoInputs.java @@ -0,0 +1,20 @@ +package com.webank.plugins.wecmdb.dto; + +import java.util.List; + +public class OperateCiDtoInputs { + private List inputs; + + public List getInputs() { + return inputs; + } + + public void setInputs(List inputs) { + this.inputs = inputs; + } + + @Override + public String toString() { + return "OperateCiDtoInputs [inputs=" + inputs + "]"; + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDtoOutputs.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDtoOutputs.java new file mode 100644 index 000000000..37c987738 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiDtoOutputs.java @@ -0,0 +1,22 @@ +package com.webank.plugins.wecmdb.dto; + +import java.util.List; +import java.util.Map; + +public class OperateCiDtoOutputs { + private List> outputs; + + public List> getOutputs() { + return outputs; + } + + public void setOutputs(List> outputs) { + this.outputs = outputs; + } + + @Override + public String toString() { + return "OperateCiDtoOutputs [outputs=" + outputs + "]"; + } + +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiJsonResponse.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiJsonResponse.java new file mode 100644 index 000000000..32f0f9a00 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiJsonResponse.java @@ -0,0 +1,67 @@ +package com.webank.plugins.wecmdb.dto; + +import java.util.List; +import java.util.Map; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class OperateCiJsonResponse{ + public final static String STATUS_OK = "0"; + public final static String STATUS_ERROR = "1"; + + @JsonProperty(value = "result_code") + private String resultCode; + @JsonProperty(value = "result_message") + private String resultMessage; + @JsonProperty(value = "results") + private OperateCiDtoOutputs results; + + public String getResultCode() { + return resultCode; + } + + public void setResultCode(String resultCode) { + this.resultCode = resultCode; + } + + public String getResultMessage() { + return resultMessage; + } + + public void setResultMessage(String resultMessage) { + this.resultMessage = resultMessage; + } + + public Object getResults() { + return results; + } + + public void setResults(List> data) { + OperateCiDtoOutputs outputs = new OperateCiDtoOutputs(); + outputs.setOutputs(data); + this.results = outputs; + } + + public OperateCiJsonResponse withData(List> data) { + setResults(data); + return this; + } + + public static OperateCiJsonResponse okay() { + OperateCiJsonResponse result = new OperateCiJsonResponse(); + result.setResultCode(STATUS_OK); + result.setResultMessage("Success"); + return result; + } + + public static OperateCiJsonResponse okayWithData(List> data) { + return okay().withData(data); + } + + public static OperateCiJsonResponse error(String errorMessage) { + OperateCiJsonResponse result = new OperateCiJsonResponse(); + result.setResultCode(STATUS_ERROR); + result.setResultMessage(errorMessage); + return result; + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/PluginResponse.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/PluginResponse.java new file mode 100644 index 000000000..2f2ef598b --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/PluginResponse.java @@ -0,0 +1,17 @@ +package com.webank.plugins.wecmdb.dto; + +import java.util.List; + +public class PluginResponse extends JsonResponse { + public static class DefaultResponse extends PluginResponse { + } + + public static class IntegerResponse extends PluginResponse { + } + + public static class StringResponse extends PluginResponse { + } + + public static class ListDataResponse extends PluginResponse> { + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/RequestParamDto.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/RequestParamDto.java new file mode 100644 index 000000000..5ff5ac617 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/RequestParamDto.java @@ -0,0 +1,23 @@ +package com.webank.plugins.wecmdb.dto; + +public class RequestParamDto { + + private String attributeName; + private Object attributeValue; + + public String getAttributeName() { + return attributeName; + } + + public void setAttributeName(String attributeName) { + this.attributeName = attributeName; + } + + public Object getAttributeValue() { + return attributeValue; + } + + public void setAttributeValue(Object attributeValue) { + this.attributeValue = attributeValue; + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/DefaultExceptionHandler.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/DefaultExceptionHandler.java new file mode 100644 index 000000000..6cb52f277 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/DefaultExceptionHandler.java @@ -0,0 +1,28 @@ +package com.webank.plugins.wecmdb.exception; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.webank.plugins.wecmdb.dto.JsonResponse; +import com.webank.plugins.wecmdb.dto.OperateCiJsonResponse; + +@ControllerAdvice +public class DefaultExceptionHandler { + + private static final Logger log = LoggerFactory.getLogger(DefaultExceptionHandler.class); + + @ResponseBody + @ExceptionHandler(Exception.class) + public Object handleException(Exception exception) { + log.error(exception.getMessage(), exception); + if (exception instanceof OperationCiException) { + return OperateCiJsonResponse.error(exception.getMessage()); + } else { + return JsonResponse.error(exception.getMessage()); + } + } + +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/OperationCiException.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/OperationCiException.java new file mode 100644 index 000000000..b736ec87d --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/OperationCiException.java @@ -0,0 +1,13 @@ +package com.webank.plugins.wecmdb.exception; + +public class OperationCiException extends RuntimeException { + private static final long serialVersionUID = -6705726821703229173L; + + public OperationCiException(String message) { + super(message); + } + + public OperationCiException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/PluginException.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/PluginException.java new file mode 100644 index 000000000..e69736b0a --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/PluginException.java @@ -0,0 +1,13 @@ +package com.webank.plugins.wecmdb.exception; + +public class PluginException extends RuntimeException { + private static final long serialVersionUID = -6705726821703229173L; + + public PluginException(String message) { + super(message); + } + + public PluginException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/helper/ConfirmHelper.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/helper/ConfirmHelper.java new file mode 100644 index 000000000..0004e0ec1 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/helper/ConfirmHelper.java @@ -0,0 +1,29 @@ +package com.webank.plugins.wecmdb.helper; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.apache.commons.lang.StringUtils; + +import com.webank.plugins.wecmdb.exception.PluginException; + +public class ConfirmHelper { + public static List parseGuid(String guidStr) { + List guids = new ArrayList<>(); + if (StringUtils.isBlank(guidStr)) { + return guids; + } + + if (guidStr.startsWith("[")) { + if (guidStr.endsWith("]")) { + guids = Arrays.asList(guidStr.substring(1, guidStr.length() - 1).split(",")); + } else { + throw new PluginException(String.format("Guid start with '[' must end with ']' as pair.", guidStr)); + } + } else { + guids.add(guidStr); + } + return guids; + } +} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/service/AdapterService.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/service/AdapterService.java new file mode 100644 index 000000000..0d9a7e7a2 --- /dev/null +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/service/AdapterService.java @@ -0,0 +1,316 @@ +package com.webank.plugins.wecmdb.service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.webank.cmdb.config.ApplicationProperties; +import com.webank.cmdb.constant.FieldType; +import com.webank.cmdb.constant.InputType; +import com.webank.cmdb.dto.CatCodeDto; +import com.webank.cmdb.dto.CiData; +import com.webank.cmdb.dto.CiIndentity; +import com.webank.cmdb.dto.CiTypeAttrDto; +import com.webank.cmdb.dto.CiTypeDto; +import com.webank.cmdb.dto.QueryRequest; +import com.webank.cmdb.dto.QueryResponse; +import com.webank.cmdb.service.CiService; +import com.webank.cmdb.service.StaticDtoService; +import com.webank.cmdb.util.BeanMapUtils; +import com.webank.cmdb.util.Sorting; +import com.webank.plugins.wecmdb.dto.AttributeDto; +import com.webank.plugins.wecmdb.dto.DataType; +import com.webank.plugins.wecmdb.dto.EntityDto; +import com.webank.plugins.wecmdb.dto.OperateCiDto; +import com.webank.plugins.wecmdb.exception.PluginException; +import com.webank.plugins.wecmdb.helper.ConfirmHelper; + +@Service +public class AdapterService { + + private static final String PLUGIN_PACKAGE_NAME = "wecmdb"; + @Autowired + private StaticDtoService staticDtoService; + @Autowired + private CiService ciService; + + private static final String SORTING_DESC = "desc"; + private static final String SORTING_ASC = "asc"; + private static final String ID = "id"; + private static final String GUID = "guid"; + private static final Map dataTypeMapping = new HashMap<>(); + static { + dataTypeMapping.put(FieldType.Varchar.getCode(), DataType.String.getCode()); + dataTypeMapping.put(FieldType.Int.getCode(), DataType.Integer.getCode()); + dataTypeMapping.put(FieldType.Date.getCode(), DataType.Timestamp.getCode()); + dataTypeMapping.put(FieldType.DateTime.getCode(), DataType.Timestamp.getCode()); + } + + @Autowired + private ApplicationProperties applicationProperties; + + private Integer retrieveCiTypeIdByTableName(String ciTypeTableName) { + QueryRequest queryObject = QueryRequest.defaultQueryObject().addEqualsFilter("tableName", ciTypeTableName); + QueryResponse ciTypes = queryCiTypes(queryObject); + if (ciTypes != null && ciTypes.getContents() != null && !ciTypes.getContents().isEmpty()) { + return ciTypes.getContents().get(0).getCiTypeId(); + } else { + throw new PluginException(String.format("Can not retrieve ciType with name [%s]", ciTypeTableName)); + } + } + + public QueryResponse queryCiTypes(QueryRequest queryObject) { + return staticDtoService.query(CiTypeDto.class, queryObject); + } + + public QueryResponse queryCiTypeAttrs(QueryRequest queryObject) { + return staticDtoService.query(CiTypeAttrDto.class, queryObject); + } + + public List> confirmBatchCiData(List operateCiDtos) { + validateBeforeConfirm(operateCiDtos); + List ciIds = new ArrayList<>(); + operateCiDtos.forEach(operateCiDto -> { + List guids = ConfirmHelper.parseGuid(operateCiDto.getGuid()); + guids.forEach(guid -> { + ciIds.add(new CiIndentity(extractCiTypeIdFromGuid(guid), guid)); + }); + + }); + return ciService.operateState(ciIds, "confirm"); + } + + private int extractCiTypeIdFromGuid(String guid) { + String ciTypeId = guid.split("_")[0].replaceAll("^(0+)", ""); + return Integer.valueOf(ciTypeId).intValue(); + } + + private void validateBeforeConfirm(List operateCiDtos) { + operateCiDtos.forEach(operateCiDto -> { + if (StringUtils.isBlank(operateCiDto.getGuid())) { + throw new PluginException("Field 'guid' is required for ci data confirmation."); + } + }); + + } + + private String formatString(String path, Object... pathVariables) { + if (pathVariables != null && pathVariables.length > 0) { + path = String.format(path, pathVariables); + } + return path; + } + + public List getDataModel() { + QueryResponse result = queryCiTypes(QueryRequest.defaultQueryObject()); + return convertDataModel(result); + } + + private List convertDataModel(QueryResponse ciTypeDtoResponse) { + List entityDtos = new ArrayList(); + if (ciTypeDtoResponse != null && ciTypeDtoResponse.getContents() != null && !ciTypeDtoResponse.getContents().isEmpty()) { + List ciTypeDtos = ciTypeDtoResponse.getContents(); + ciTypeDtos.forEach(ciTypeDto -> { + EntityDto entityDto = new EntityDto(); + entityDto.setName(ciTypeDto.getTableName()); + entityDto.setDisplayName(ciTypeDto.getName()); + entityDto.setDescription(ciTypeDto.getDescription()); + + QueryResponse ciTypeAttrResponse = queryCiTypeAttrs(QueryRequest.defaultQueryObject().addEqualsFilter("ciTypeId", ciTypeDto.getCiTypeId())); + if (ciTypeAttrResponse != null && ciTypeAttrResponse.getContents() != null && !ciTypeAttrResponse.getContents().isEmpty()) { + List ciTypeAttrDtos = ciTypeAttrResponse.getContents(); + List attributeDtos = new ArrayList<>(); + ciTypeAttrDtos.forEach(ciTypeAttrDto -> { + AttributeDto attributeDto = new AttributeDto(); + attributeDto.setEntityName(ciTypeDto.getTableName()); + attributeDto.setDescription(ciTypeAttrDto.getDescription()); + attributeDto.setName(GUID.equals(ciTypeAttrDto.getPropertyName()) ? ID : ciTypeAttrDto.getPropertyName()); + switch (InputType.fromCode(ciTypeAttrDto.getInputType())) { + case Reference: + case MultRef: { + attributeDto.setDataType(DataType.Ref.getCode()); + attributeDto.setRefPackageName(PLUGIN_PACKAGE_NAME); + attributeDto.setRefEntityName(getCiTypeNameById(ciTypeAttrDto.getReferenceId())); + attributeDto.setRefAttributeName(ID); + break; + } + default: + attributeDto.setDataType(mapToWecubeDataType(ciTypeAttrDto)); + break; + } + attributeDtos.add(attributeDto); + }); + entityDto.setAttributes(attributeDtos); + } + entityDtos.add(entityDto); + }); + } + return entityDtos; + } + + private String getCiTypeNameById(Integer ciTypeId) { + QueryRequest queryObject = QueryRequest.defaultQueryObject().addEqualsFilter("ciTypeId", ciTypeId); + QueryResponse ciTypes = queryCiTypes(queryObject); + if (ciTypes != null && ciTypes.getContents() != null && !ciTypes.getContents().isEmpty()) { + return ciTypes.getContents().get(0).getTableName(); + } else { + throw new PluginException(String.format("Can not retrieve ciType with id [%s]", ciTypeId)); + } + } + + private String mapToWecubeDataType(CiTypeAttrDto ciTypeAttrDto) { + return dataTypeMapping.get(ciTypeAttrDto.getPropertyType()); + } + + public Object getCiDataWithConditions(String entityName, String filter, String sorting, String selectAttrs) { + QueryRequest queryObject = QueryRequest.defaultQueryObject(); + + applyFiltering(filter, queryObject); + applySorting(sorting, queryObject); + applySelectAttrs(selectAttrs, queryObject); + + return convertCiData(queryObject, retrieveCiTypeIdByTableName(entityName)); + } + + private void applySelectAttrs(String selectAttrs, QueryRequest queryObject) { + if (!StringUtils.isBlank(selectAttrs)) { + String[] attrs = selectAttrs.split(","); + List resultColumns = new ArrayList<>(); + for (String attr : attrs) { + resultColumns.add(ID.equals(attr) ? GUID : attr.trim()); + } + queryObject.setResultColumns(resultColumns); + } + } + + private void applySorting(String sorting, QueryRequest queryObject) { + if (!StringUtils.isBlank(sorting)) { + if (sorting.split(",").length != 2) { + throw new PluginException("The given parameter 'sorting' must be format 'key," + SORTING_ASC + "/" + SORTING_DESC + "'"); + } + String sortingAttr = sorting.split(",")[0].trim(); + String sortingValue = sorting.split(",")[1].trim(); + + if (SORTING_ASC.equals(sortingValue) || SORTING_DESC.equals(sortingValue)) { + queryObject.setSorting(new Sorting(sortingValue.equals(SORTING_ASC) ? true : false, ID.equals(sortingAttr) ? GUID : sortingAttr)); + } else { + throw new PluginException("The given value of 'sorting' must be " + SORTING_ASC + " or " + SORTING_DESC + "'"); + } + } + } + + private void applyFiltering(String filter, QueryRequest queryObject) { + if (!StringUtils.isBlank(filter)) { + if (filter.split(",").length != 2) { + throw new PluginException("The given parameter 'filter' must be format 'key,value'"); + } + + String filterAttr = filter.split(",")[0].trim(); + String filterValue = filter.split(",")[1].trim(); + queryObject.addEqualsFilter(ID.equals(filterAttr) ? GUID : filterAttr, filterValue); + } + } + + private List> convertCiData(QueryRequest queryObject, Integer ciTypeId) { + List> convertedCiData = new ArrayList<>(); + + QueryResponse ciDataResult = ciService.query(ciTypeId, queryObject); + List ciTypeAttrDtos = getCiTypeAttrs(ciTypeId); + if (ciDataResult != null && !ciDataResult.getContents().isEmpty()) { + List cis = ciDataResult.getContents(); + cis.forEach(ci -> { + Map convertedMap = new HashMap<>(); + Map originCiData = ci.getData(); + + originCiData.forEach((name, value) -> { + if (queryObject.getResultColumns() == null || queryObject.getResultColumns().contains(name)) { + populateSelectedAttrs(ciTypeAttrDtos, convertedMap, name, value); + } + }); + convertedCiData.add(convertedMap); + }); + } + return convertedCiData; + } + + private void populateSelectedAttrs(List ciTypeAttrDtos, Map convertedMap, String dataAttrName, Object value) { + ciTypeAttrDtos.forEach(attr -> { + String convertedAttrName = GUID.equals(attr.getPropertyName()) ? ID : attr.getPropertyName(); + String convertedDataAttrName = GUID.equals(dataAttrName) ? ID : dataAttrName; + if (convertedAttrName.equals(convertedDataAttrName)) { + if (value == null || (value instanceof String && "".equals(value))) { + convertedMap.put(convertedDataAttrName, value); + } else if (InputType.fromCode(attr.getInputType()) == InputType.Droplist && value instanceof CatCodeDto) { + CatCodeDto singleSelect = (CatCodeDto) value; + convertedMap.put(convertedDataAttrName, singleSelect.getCode()); + } else if (InputType.fromCode(attr.getInputType()) == InputType.MultSelDroplist && value instanceof List) { + List multiSelect = (List) value; + convertedMap.put(convertedDataAttrName, multiSelect.stream().map(item -> item.getCode()).collect(Collectors.toList())); + } else if (convertedAttrName.equals(dataAttrName) && (InputType.fromCode(attr.getInputType()) == InputType.Reference)) { + Map singleRefObject = (Map) value; + convertedMap.put(convertedDataAttrName, value != null ? singleRefObject.get(GUID) : value); + } else if (convertedAttrName.equals(convertedDataAttrName) && (InputType.fromCode(attr.getInputType()) == InputType.MultRef)) { + List originList = (List) value; + List> multRefObjects = BeanMapUtils.convertBeansToMaps(originList); + convertedMap.put(convertedDataAttrName, multRefObjects.stream().map(item -> item.get(GUID)).collect(Collectors.toList())); + } else { + convertedMap.put(convertedDataAttrName, value); + } + } + }); + } + + private List getCiTypeAttrs(Integer ciTypeId) { + QueryResponse ciTypeAttrResult = queryCiTypeAttrs(QueryRequest.defaultQueryObject().addEqualsFilter("ciTypeId", ciTypeId)); + if (ciTypeAttrResult != null && ciTypeAttrResult.getContents() != null && !ciTypeAttrResult.getContents().isEmpty()) { + return ciTypeAttrResult.getContents(); + } else { + throw new PluginException(String.format("Can not find attrs for ciType [%s]", ciTypeId)); + } + } + + public List> createCiData(String entityName, List> request) { + List> createdCiData = ciService.create(retrieveCiTypeIdByTableName(entityName), request); + QueryRequest queryObject = QueryRequest.defaultQueryObject().addInFilter("guid", createdCiData.stream().map(item -> item.get("guid")).collect(Collectors.toList())); + return convertCiData(queryObject, retrieveCiTypeIdByTableName(entityName)); + } + + public List> updateCiData(String entityName, List> originRequest) { + List> convertedRequest = convertedRequest(originRequest); + List> updatedCiData = ciService.update(retrieveCiTypeIdByTableName(entityName), convertedRequest); + QueryRequest queryObject = QueryRequest.defaultQueryObject().addInFilter("guid", updatedCiData.stream().map(item -> item.get("guid")).collect(Collectors.toList())); + return convertCiData(queryObject, retrieveCiTypeIdByTableName(entityName)); + } + + private List> convertedRequest(List> originRequest) { + List> convertedRequest = new ArrayList<>(); + originRequest.forEach(origin -> { + Map convertedMap = new HashMap<>(); + origin.forEach((name, value) -> { + convertedMap.put(ID.equals(name) ? GUID : name, value); + }); + convertedRequest.add(convertedMap); + }); + return convertedRequest; + } + + public void deleteCiData(String entityName, List> request) { + validateBeforeDeleteCiData(request); + List ids = request.stream().map(item -> item.get(ID).toString()).collect(Collectors.toList()); + ciService.delete(retrieveCiTypeIdByTableName(entityName), ids); + } + + private void validateBeforeDeleteCiData(List> request) { + request.forEach(item -> { + if (item.get(ID) == null || StringUtils.isBlank(item.get(ID).toString())) { + throw new PluginException(String.format("Field 'id' is required for deletion, request [%s]", request)); + } + }); + } +} diff --git a/cmdb-plugin/src/main/resources/application.yml b/cmdb-plugin/src/main/resources/application.yml new file mode 100644 index 000000000..0b82d60ee --- /dev/null +++ b/cmdb-plugin/src/main/resources/application.yml @@ -0,0 +1,55 @@ +server: + port: 8081 + address: localhost + servlet: + context-path: /wecmdb + +plugins: + pacakge-name: wecmdb + +spring: + banner: + location: classpath:/cmdb.txt + profiles: + #en-local、ch-local + active: ch-local + cache: + type: caffeine + caffeine: + spec: expireAfterWrite=30s + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://db-server:3306/db_schema?characterEncoding=utf8&serverTimezone=UTC + username: db_user + password: db_password + jpa: + database: MySQL + database-platform: org.hibernate.dialect.MySQL5InnoDBDialect + show-sql: true + hibernate: + ddl-auto: none + +cmdb: + datasource: + schema: db_user + + security: + enabled: false + + #Authentication provider options: LOCAL or CAS. Effective ONLY when security-enabled set as true. + authentication-provider: LOCAL + + #Effective ONLY when security-enabled set as true and authentication-provider turns to CAS + cas-server-url: http://cas-server-ip:8080/cas + cas-redirect-app-addr: localhost:8080 + + #Effective ONLY when security-enabled set as true + whitelist-ip-address: localhost + +logging: + level: + root: INFO + com: + webank: + cmdb: INFO + \ No newline at end of file diff --git a/cmdb-plugin/src/main/resources/banner.txt b/cmdb-plugin/src/main/resources/banner.txt new file mode 100644 index 000000000..3d4d467a2 --- /dev/null +++ b/cmdb-plugin/src/main/resources/banner.txt @@ -0,0 +1,8 @@ + _ _ _ ______ _ _ _ _ _____ ___ ______________ +| | | | | | | ___ \ | (_) | | | | / __ \| \/ | _ \ ___ \ +| | | | ___ ___ _ _| |__ ___ | |_/ / |_ _ __ _ _ _ __ ______ | | | | ___| / \/| . . | | | | |_/ / +| |/\| |/ _ \/ __| | | | '_ \ / _ \ | __/| | | | |/ _` | | '_ \ |______| | |/\| |/ _ \ | | |\/| | | | | ___ \ +\ /\ / __/ (__| |_| | |_) | __/ | | | | |_| | (_| | | | | | \ /\ / __/ \__/\| | | | |/ /| |_/ / + \/ \/ \___|\___|\__,_|_.__/ \___| \_| |_|\__,_|\__, |_|_| |_| \/ \/ \___|\____/\_| |_/___/ \____/ + __/ | + |___/ \ No newline at end of file diff --git a/cmdb-ui/package.json b/cmdb-ui/package.json index f88f8a6c8..e27f4d288 100644 --- a/cmdb-ui/package.json +++ b/cmdb-ui/package.json @@ -21,7 +21,7 @@ "dependencies": { "axios": "^0.18.0", "bpmn-js": "^2.5.1", - "core-js": "^2.6.10", + "core-js": "^2.6.11", "d3-graphviz": "^2.6.1", "highlight.js": "^9.15.8", "husky": "^1.3.1", diff --git a/cmdb-ui/pom.xml b/cmdb-ui/pom.xml index ba668416b..292d5abcb 100755 --- a/cmdb-ui/pom.xml +++ b/cmdb-ui/pom.xml @@ -6,15 +6,18 @@ com.webank.cmdb cmdb - 1.4.0-SNAPSHOT + ${cmdb.version} + 4.0.0 cmdb-ui + 1.6 v10.16.0 6.9.0 + build @@ -43,8 +46,6 @@ com.github.eirslett frontend-maven-plugin - ${frontend-maven-plugin.version} diff --git a/pom.xml b/pom.xml index 150651e2f..3928b84e6 100755 --- a/pom.xml +++ b/pom.xml @@ -1,3 +1,4 @@ + @@ -8,14 +9,35 @@ 2.1.3.RELEASE - com.webank.cmdb + + + 1.4.0-SNAPSHOT + 1.8 + UTF-8 + + cmdb - 1.4.0-SNAPSHOT + com.webank.cmdb + ${cmdb.version} pom - cmdb - cmdb + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${java.version} + ${java.version} + ${project.build.sourceEncoding} + + + + + - cmdb-ui + cmdb-ui cmdb-core + cmdb-plugin \ No newline at end of file From 96fcd462623f89456bad947a4058c28c1f3d656d Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Wed, 11 Dec 2019 14:40:44 +0800 Subject: [PATCH 018/172] #511 Commit the missing scripts --- cmdb-plugin/Dockerfile | 2 +- cmdb-plugin/Makefile | 5 ++--- cmdb-plugin/scripts/maven_settings.xml | 14 ++++++++++++++ cmdb-plugin/scripts/start.sh | 14 ++++++++++++++ cmdb-plugin/scripts/version.sh | 21 +++++++++++++++++++++ 5 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 cmdb-plugin/scripts/maven_settings.xml create mode 100644 cmdb-plugin/scripts/start.sh create mode 100644 cmdb-plugin/scripts/version.sh diff --git a/cmdb-plugin/Dockerfile b/cmdb-plugin/Dockerfile index b349e0f07..2f63833dc 100644 --- a/cmdb-plugin/Dockerfile +++ b/cmdb-plugin/Dockerfile @@ -1,6 +1,6 @@ from platten/alpine-oracle-jre8-docker LABEL maintainer = "Webank CTB Team" ADD target/wecube-plugins-wecmdb-1.4.0-SNAPSHOT.jar /application/wecube-plugins-wecmdb.jar -ADD build/start.sh /scripts/start.sh +ADD scripts/start.sh /scripts/start.sh RUN chmod +x /scripts/start.sh CMD ["/bin/sh","-c","/scripts/start.sh $DB_HOST $DB_PORT $DB_SCHEMA $DB_USER $DB_PWD"] diff --git a/cmdb-plugin/Makefile b/cmdb-plugin/Makefile index a7333acf5..6c2c930fe 100644 --- a/cmdb-plugin/Makefile +++ b/cmdb-plugin/Makefile @@ -1,5 +1,5 @@ current_dir=$(shell pwd) -version=$(shell bash ./build/version.sh) +version=$(shell bash ./scripts/version.sh) date=$(shell date +%Y%m%d%H%M%S) project_name=$(shell basename "${current_dir}") remote_docker_image_registry=ccr.ccs.tencentyun.com/webankpartners/wecube-plugins-wecmdb @@ -12,7 +12,7 @@ clean: build: clean mkdir -p repository cd .. - docker run --rm --name plugin-build -v /data/repository:/usr/src/mymaven/repository -v $(current_dir)/build/maven_settings.xml:/usr/share/maven/ref/settings-docker.xml -v $(current_dir):/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn -U clean install -Dmaven.test.skip=true -DbuildType=plugin -s /usr/share/maven/ref/settings-docker.xml dependency:resolve + docker run --rm --name plugin-build -v /data/repository:/usr/src/mymaven/repository -v $(current_dir)/scripts/maven_settings.xml:/usr/share/maven/ref/settings-docker.xml -v $(current_dir):/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn -U clean install -Dmaven.test.skip=true -DbuildType=plugin -s /usr/share/maven/ref/settings-docker.xml dependency:resolve image: build docker build -t $(project_name):$(version) . @@ -20,7 +20,6 @@ image: build s3_server_url=http://10.10.10.1:9000 s3_access_key=access_key s3_secret_key=secret_key -branch_name=master cmdb_database_path=../cmdb-core/src/main/resources/database/ch/ .PHONY:package diff --git a/cmdb-plugin/scripts/maven_settings.xml b/cmdb-plugin/scripts/maven_settings.xml new file mode 100644 index 000000000..5b26f17b3 --- /dev/null +++ b/cmdb-plugin/scripts/maven_settings.xml @@ -0,0 +1,14 @@ + +/usr/src/mymaven/repository + + + nexus-tencentyun + * + Nexus tencentyun + http://mirrors.tencentyun.com/nexus/repository/maven-public/ + + + diff --git a/cmdb-plugin/scripts/start.sh b/cmdb-plugin/scripts/start.sh new file mode 100644 index 000000000..3f9e45e22 --- /dev/null +++ b/cmdb-plugin/scripts/start.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +db_host=$1 +db_port=$2 +db_schema=$3 + +mkdir -p /log +java -jar /application/wecube-plugins-wecmdb.jar \ +--server.address=0.0.0.0 \ +--server.port=8081 \ +--spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver \ +--spring.datasource.url="jdbc:mysql://${db_host}:${db_port}/${db_schema}?characterEncoding=utf8&serverTimezone=UTC" \ +--spring.datasource.username=$4 \ +--spring.datasource.password=$5 >>/log/wecube-plugins-wecmdb.log diff --git a/cmdb-plugin/scripts/version.sh b/cmdb-plugin/scripts/version.sh new file mode 100644 index 000000000..c674d4c06 --- /dev/null +++ b/cmdb-plugin/scripts/version.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +#if [ -n "$(git status --porcelain --untracked-files=no)" ]; then +# DIRTY="_dirty" +#fi + +COMMIT=$(git rev-parse --short HEAD) +GIT_TAG=$(git tag -l --contains HEAD | head -n 1) + + +if [[ -z "$DIRTY" && -n "$GIT_TAG" ]]; then + VERSION=$GIT_TAG +else + VERSION="${COMMIT}${DIRTY}" +fi + +if [ -z $VERSION ];then + VERSION="dev" +fi + +echo $VERSION From 554bcbc28a9e055ac3856be830b4b12f296f684a Mon Sep 17 00:00:00 2001 From: Jun Chen Date: Wed, 11 Dec 2019 16:03:38 +0800 Subject: [PATCH 019/172] #511 update make file for build target --- cmdb-plugin/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmdb-plugin/Makefile b/cmdb-plugin/Makefile index 6c2c930fe..b9320e288 100644 --- a/cmdb-plugin/Makefile +++ b/cmdb-plugin/Makefile @@ -3,16 +3,16 @@ version=$(shell bash ./scripts/version.sh) date=$(shell date +%Y%m%d%H%M%S) project_name=$(shell basename "${current_dir}") remote_docker_image_registry=ccr.ccs.tencentyun.com/webankpartners/wecube-plugins-wecmdb - +mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) +mkfile_dir := $(dir $(mkfile_path)) clean: rm -rf $(current_dir)/target .PHONY:build build: clean - mkdir -p repository - cd .. - docker run --rm --name plugin-build -v /data/repository:/usr/src/mymaven/repository -v $(current_dir)/scripts/maven_settings.xml:/usr/share/maven/ref/settings-docker.xml -v $(current_dir):/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn -U clean install -Dmaven.test.skip=true -DbuildType=plugin -s /usr/share/maven/ref/settings-docker.xml dependency:resolve + mkdir -p /data/repository + docker run --rm --name plugin-build -v /data/repository:/usr/src/mymaven/repository -v $(mkfile_dir)/scripts/maven_settings.xml:/usr/share/maven/ref/settings-docker.xml -v $(mkfile_dir)/../:/usr/src/mymaven -w /usr/src/mymaven maven:3.3-jdk-8 mvn -U clean install -Dmaven.test.skip=true -DbuildType=plugin -s /usr/share/maven/ref/settings-docker.xml dependency:resolve image: build docker build -t $(project_name):$(version) . From 71711a8a86d43030fe043924e0e45c0513c01168 Mon Sep 17 00:00:00 2001 From: Jun Chen Date: Wed, 11 Dec 2019 16:13:07 +0800 Subject: [PATCH 020/172] #511 update path --- cmdb-plugin/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdb-plugin/Makefile b/cmdb-plugin/Makefile index b9320e288..26c0b3dab 100644 --- a/cmdb-plugin/Makefile +++ b/cmdb-plugin/Makefile @@ -30,7 +30,7 @@ package: image cd package && cp ../register.xml . cd package && sed -i "s~{{VERSION}}~$(version)~g" register.xml cd ../cmdb-ui/dist && zip -r ui.zip . - cd package && cp ../cmdb-ui/dist/ui.zip . + cd package && cp $(mkfile_dir)/../cmdb-ui/dist/ui.zip . cd package && cat $(cmdb_database_path)/01.cmdb.schema_ch.sql $(cmdb_database_path)/02.cmdb.system.data_ch.sql $(cmdb_database_path)/03.cmdb.system.data.mysql_ch.sql >init.sql cd package && zip -r $(project_name)-$(version).zip . docker rmi $(project_name):$(version) From 8c49b8fa7038b79f8f50b1ae14f1116a9c7edae7 Mon Sep 17 00:00:00 2001 From: Jun Chen Date: Wed, 11 Dec 2019 16:20:59 +0800 Subject: [PATCH 021/172] #511 update path --- cmdb-plugin/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdb-plugin/Makefile b/cmdb-plugin/Makefile index 26c0b3dab..772a33ec0 100644 --- a/cmdb-plugin/Makefile +++ b/cmdb-plugin/Makefile @@ -20,7 +20,7 @@ image: build s3_server_url=http://10.10.10.1:9000 s3_access_key=access_key s3_secret_key=secret_key -cmdb_database_path=../cmdb-core/src/main/resources/database/ch/ +cmdb_database_path=$(mkfile_dir)/../cmdb-core/src/main/resources/database/ch/ .PHONY:package package: image From caf7d6c1525054f5332b9771fa46be81ee4cedfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordan=20ZHANG=20=28=E5=BC=A0=E5=A4=A9=E5=86=9B=29?= <41445364@qq.com> Date: Wed, 11 Dec 2019 17:17:41 +0800 Subject: [PATCH 022/172] #514 Correct the env to deploy_environment --- .../java/com/webank/cmdb/config/ApplicationProperties.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java b/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java index 840a3b76a..ec17342f6 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java @@ -46,7 +46,7 @@ public class UIProperties { private String propertyNameOfState = "state"; private String enumCodeOfStateDelete = "delete"; private String propertyNameOfFixedDate = "fixed_date"; - private String enumCategoryNameOfEnv = "env"; + private String enumCategoryNameOfEnv = "deploy_environment"; private String catNameOfArchitectureDesign = "tab_of_architecture_design"; private String catNameOfDeployDesign = "tab_of_deploy_design"; private String catNameOfQueryDeployDesign = "tab_query_of_deploy_design"; @@ -64,4 +64,4 @@ public class SecurityProperties { private String casRedirectAppAddr; private String whitelistIpAddress; } -} \ No newline at end of file +} From 50699b4abf2c137120c942da3456660d6f0c1538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordan=20ZHANG=20=28=E5=BC=A0=E5=A4=A9=E5=86=9B=29?= <41445364@qq.com> Date: Wed, 11 Dec 2019 17:29:22 +0800 Subject: [PATCH 023/172] #514 Fix the unit test --- cmdb-core/src/test/resources/db/data_model.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdb-core/src/test/resources/db/data_model.sql b/cmdb-core/src/test/resources/db/data_model.sql index 7ed270b32..cb9507781 100755 --- a/cmdb-core/src/test/resources/db/data_model.sql +++ b/cmdb-core/src/test/resources/db/data_model.sql @@ -133,7 +133,7 @@ INSERT INTO `adm_basekey_cat` (`id_adm_basekey_cat`, `cat_name`, `description`, (17, 'resource_set_design_type', '资源集设计类型', NULL, 2, NULL), (18, 'diff_conf', '差异配置', NULL, 2, NULL), (19, 'env_int', '环境初始化', NULL, 2, NULL), - (20, 'env', '环境', NULL, 2, 13), + (20, 'deploy_environment', '环境', NULL, 2, 13), (21, 'across_idc', '跨IDC部署', NULL, 5, NULL), (22, 'service_type', '服务类型', NULL, 6, NULL), (23, 'ha_type', '高可用类型', NULL, 2, NULL), From e3a787d45cf345ad1b269da674d3f6467e9f3dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordan=20ZHANG=20=28=E5=BC=A0=E5=A4=A9=E5=86=9B=29?= <41445364@qq.com> Date: Thu, 12 Dec 2019 08:14:01 +0800 Subject: [PATCH 024/172] #511 Update db schema name --- cmdb-plugin/register.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdb-plugin/register.xml b/cmdb-plugin/register.xml index 769002007..1888c50ac 100644 --- a/cmdb-plugin/register.xml +++ b/cmdb-plugin/register.xml @@ -59,7 +59,7 @@ - + From e56da9e231d0aec9f0681087e92af409e73139f5 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Thu, 12 Dec 2019 08:53:11 +0800 Subject: [PATCH 025/172] #511 Adjust image name --- cmdb-plugin/register.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdb-plugin/register.xml b/cmdb-plugin/register.xml index 1888c50ac..9dd7f0964 100644 --- a/cmdb-plugin/register.xml +++ b/cmdb-plugin/register.xml @@ -58,7 +58,7 @@ - + From b653d1bcf9335f8833b9a393d81ab37be27f6a3a Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Thu, 12 Dec 2019 09:30:13 +0800 Subject: [PATCH 026/172] #511 Packing by using spring-boot-maven-plugin --- cmdb-plugin/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmdb-plugin/pom.xml b/cmdb-plugin/pom.xml index d5eb6309c..4f0ce18a7 100644 --- a/cmdb-plugin/pom.xml +++ b/cmdb-plugin/pom.xml @@ -62,6 +62,10 @@ -Xmx2048m -XX:MaxPermSize=256m + + org.springframework.boot + spring-boot-maven-plugin + From 22104fd376662f07caa95aead80c4efe66e94163 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Thu, 12 Dec 2019 10:39:18 +0800 Subject: [PATCH 027/172] #511 Adjust the plugin router url --- cmdb-ui/src/api/base.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdb-ui/src/api/base.js b/cmdb-ui/src/api/base.js index 90df2b7a9..a4ed9d161 100755 --- a/cmdb-ui/src/api/base.js +++ b/cmdb-ui/src/api/base.js @@ -1,6 +1,6 @@ import Vue from "vue"; import axios from "axios"; -export const baseURL = window.request ? "/wecmdb/wecmdb/ui/v2" : "/wecmdb/ui/v2"; +export const baseURL = "/wecmdb/ui/v2"; export const req = axios.create({ withCredentials: true, baseURL, From e2a925cbd6c31a3f1b3dfab6ec7e3c8c8ce711e8 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Thu, 12 Dec 2019 13:28:59 +0800 Subject: [PATCH 028/172] #511 Customize the response for wecube platform --- .../webank/cmdb/dto/CustomResponseDto.java | 5 +++ .../cmdb/mvc/ResponseResultProcess.java | 5 +++ .../webank/plugins/wecmdb/Application.java | 2 +- .../wecmdb/controller/ApiController.java | 35 ++++++++++++++----- .../plugins/wecmdb/dto/JsonResponse.java | 4 ++- .../wecmdb/dto/OperateCiJsonResponse.java | 7 ++-- .../exception/DefaultExceptionHandler.java | 28 --------------- .../exception/OperationCiException.java | 13 ------- .../wecmdb/service/AdapterService.java | 4 --- 9 files changed, 43 insertions(+), 60 deletions(-) create mode 100644 cmdb-core/src/main/java/com/webank/cmdb/dto/CustomResponseDto.java delete mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/DefaultExceptionHandler.java delete mode 100644 cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/OperationCiException.java diff --git a/cmdb-core/src/main/java/com/webank/cmdb/dto/CustomResponseDto.java b/cmdb-core/src/main/java/com/webank/cmdb/dto/CustomResponseDto.java new file mode 100644 index 000000000..8412d01b3 --- /dev/null +++ b/cmdb-core/src/main/java/com/webank/cmdb/dto/CustomResponseDto.java @@ -0,0 +1,5 @@ +package com.webank.cmdb.dto; + +public interface CustomResponseDto { + +} diff --git a/cmdb-core/src/main/java/com/webank/cmdb/mvc/ResponseResultProcess.java b/cmdb-core/src/main/java/com/webank/cmdb/mvc/ResponseResultProcess.java index f3d47b0dd..8d673c01a 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/mvc/ResponseResultProcess.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/mvc/ResponseResultProcess.java @@ -22,6 +22,7 @@ import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; import com.google.common.collect.Lists; +import com.webank.cmdb.dto.CustomResponseDto; import com.webank.cmdb.dto.ResponseDto; import com.webank.cmdb.exception.BatchChangeException; import com.webank.cmdb.exception.BatchChangeException.ExceptionHolder; @@ -46,6 +47,10 @@ public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType return body; } + if (body instanceof CustomResponseDto) { + return body; + } + if (!(body instanceof ResponseDto)) { if (body == null) { body = SUCCESS; diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/Application.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/Application.java index 1276ed84f..2d5fcc8ad 100644 --- a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/Application.java +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/Application.java @@ -17,7 +17,7 @@ @SpringBootApplication @EnableSwagger2 -@ComponentScan({ "com.webank.plugins.wecmdb.service", "com.webank.plugins.wecmdb.controller" ,"com.webank.cmdb.config", "com.webank.cmdb.repository"}) +@ComponentScan({ "com.webank.plugins.wecmdb.service", "com.webank.plugins.wecmdb.controller", "com.webank.cmdb.config", "com.webank.cmdb.repository" }) @Import({ DatabaseConfig.class }) public class Application extends AbstractAnnotationConfigDispatcherServletInitializer { diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/controller/ApiController.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/controller/ApiController.java index d51fbc304..35a067217 100644 --- a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/controller/ApiController.java +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/controller/ApiController.java @@ -19,7 +19,6 @@ import com.webank.plugins.wecmdb.dto.OperateCiDto; import com.webank.plugins.wecmdb.dto.OperateCiDtoInputs; import com.webank.plugins.wecmdb.dto.OperateCiJsonResponse; -import com.webank.plugins.wecmdb.exception.OperationCiException; import com.webank.plugins.wecmdb.service.AdapterService; @RestController @@ -34,23 +33,39 @@ public JsonResponse retrieveCiData(@PathVariable(value = "entity-name") String e @RequestParam(value = "filter", required = false) String filter, @RequestParam(value = "sorting", required = false) String sorting, @RequestParam(value = "select", required = false) String select) { - return okayWithData(adapterService.getCiDataWithConditions(entityName, filter, sorting, select)); + try { + return okayWithData(adapterService.getCiDataWithConditions(entityName, filter, sorting, select)); + } catch (Exception e) { + return JsonResponse.error(e.getMessage()); + } } @PostMapping("/entities/{entity-name}/create") public JsonResponse createCiData(@PathVariable("entity-name") String entityName, @RequestBody List> request) { - return okayWithData(adapterService.createCiData(entityName, request)); + try { + return okayWithData(adapterService.createCiData(entityName, request)); + } catch (Exception e) { + return JsonResponse.error(e.getMessage()); + } } @PostMapping("/entities/{entity-name}/update") public JsonResponse updateCiData(@PathVariable("entity-name") String entityName, @RequestBody List> request) { - return okayWithData(adapterService.updateCiData(entityName, request)); + try { + return okayWithData(adapterService.updateCiData(entityName, request)); + } catch (Exception e) { + return JsonResponse.error(e.getMessage()); + } } @PostMapping("/entities/{entity-name}/delete") public JsonResponse deleteCiData(@PathVariable("entity-name") String entityName, @RequestBody List> request) { - adapterService.deleteCiData(entityName, request); - return okay(); + try { + adapterService.deleteCiData(entityName, request); + return okay(); + } catch (Exception e) { + return JsonResponse.error(e.getMessage()); + } } @PostMapping("/data/confirm") @@ -61,7 +76,7 @@ public OperateCiJsonResponse confirmBatchCiData(@RequestBody OperateCiDtoInputs try { response = OperateCiJsonResponse.okayWithData(adapterService.confirmBatchCiData(operateCiDtos)); } catch (Exception e) { - throw new OperationCiException(String.format("Failed to confirm CI with request[%s], error [%s] ",inputs, e.getMessage()), e); + response = OperateCiJsonResponse.error(String.format("Failed to confirm CI with request[%s], error [%s] ", inputs, e.getMessage())); } return response; @@ -70,6 +85,10 @@ public OperateCiJsonResponse confirmBatchCiData(@RequestBody OperateCiDtoInputs @GetMapping("/data-model") @ResponseBody public JsonResponse getDataModel() { - return okayWithData(adapterService.getDataModel()); + try { + return okayWithData(adapterService.getDataModel()); + } catch (Exception e) { + return JsonResponse.error(e.getMessage()); + } } } \ No newline at end of file diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/JsonResponse.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/JsonResponse.java index 65f653cd9..70da4bb59 100644 --- a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/JsonResponse.java +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/JsonResponse.java @@ -1,6 +1,8 @@ package com.webank.plugins.wecmdb.dto; -public class JsonResponse { +import com.webank.cmdb.dto.CustomResponseDto; + +public class JsonResponse implements CustomResponseDto{ public final static String STATUS_OK = "OK"; public final static String STATUS_ERROR = "ERROR"; diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiJsonResponse.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiJsonResponse.java index 32f0f9a00..4157c66a8 100644 --- a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiJsonResponse.java +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/dto/OperateCiJsonResponse.java @@ -3,17 +3,14 @@ import java.util.List; import java.util.Map; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.webank.cmdb.dto.CustomResponseDto; -public class OperateCiJsonResponse{ +public class OperateCiJsonResponse implements CustomResponseDto{ public final static String STATUS_OK = "0"; public final static String STATUS_ERROR = "1"; - @JsonProperty(value = "result_code") private String resultCode; - @JsonProperty(value = "result_message") private String resultMessage; - @JsonProperty(value = "results") private OperateCiDtoOutputs results; public String getResultCode() { diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/DefaultExceptionHandler.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/DefaultExceptionHandler.java deleted file mode 100644 index 6cb52f277..000000000 --- a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/DefaultExceptionHandler.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.webank.plugins.wecmdb.exception; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.ResponseBody; - -import com.webank.plugins.wecmdb.dto.JsonResponse; -import com.webank.plugins.wecmdb.dto.OperateCiJsonResponse; - -@ControllerAdvice -public class DefaultExceptionHandler { - - private static final Logger log = LoggerFactory.getLogger(DefaultExceptionHandler.class); - - @ResponseBody - @ExceptionHandler(Exception.class) - public Object handleException(Exception exception) { - log.error(exception.getMessage(), exception); - if (exception instanceof OperationCiException) { - return OperateCiJsonResponse.error(exception.getMessage()); - } else { - return JsonResponse.error(exception.getMessage()); - } - } - -} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/OperationCiException.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/OperationCiException.java deleted file mode 100644 index b736ec87d..000000000 --- a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/exception/OperationCiException.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.webank.plugins.wecmdb.exception; - -public class OperationCiException extends RuntimeException { - private static final long serialVersionUID = -6705726821703229173L; - - public OperationCiException(String message) { - super(message); - } - - public OperationCiException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/service/AdapterService.java b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/service/AdapterService.java index 0d9a7e7a2..6f4b65f30 100644 --- a/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/service/AdapterService.java +++ b/cmdb-plugin/src/main/java/com/webank/plugins/wecmdb/service/AdapterService.java @@ -10,7 +10,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.webank.cmdb.config.ApplicationProperties; import com.webank.cmdb.constant.FieldType; import com.webank.cmdb.constant.InputType; import com.webank.cmdb.dto.CatCodeDto; @@ -52,9 +51,6 @@ public class AdapterService { dataTypeMapping.put(FieldType.DateTime.getCode(), DataType.Timestamp.getCode()); } - @Autowired - private ApplicationProperties applicationProperties; - private Integer retrieveCiTypeIdByTableName(String ciTypeTableName) { QueryRequest queryObject = QueryRequest.defaultQueryObject().addEqualsFilter("tableName", ciTypeTableName); QueryResponse ciTypes = queryCiTypes(queryObject); From 73e4f64cdd42c83f465103c1a39d1b5bab3a2e4f Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Thu, 12 Dec 2019 13:51:00 +0800 Subject: [PATCH 029/172] #511 Fix the issue of env enum change --- .../ui/helper/UIWrapperService.java | 2 +- .../designing/application-deployment.vue | 27 +++++++++++++------ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java index 138227dd1..401e3e01f 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java @@ -1295,7 +1295,7 @@ public List getApplicationDeploymentDesignDataTreeBySystemDesig uiProperties.getCiTypeIdOfInstance()); systemDesignfilter.put("guid", systemDesignGuid); - subsystemfilter.put("env", envCodeId); + subsystemfilter.put(uiProperties.getEnumCategoryNameOfEnv(), envCodeId); getBottomChildrenDataByBottomCiTypeId(uiProperties.getCiTypeIdOfSystemDesign(), uiProperties.getCiTypeIdOfInstance(), instanceData, diff --git a/cmdb-ui/src/pages/designing/application-deployment.vue b/cmdb-ui/src/pages/designing/application-deployment.vue index d34d66385..4ff197b8c 100755 --- a/cmdb-ui/src/pages/designing/application-deployment.vue +++ b/cmdb-ui/src/pages/designing/application-deployment.vue @@ -297,12 +297,12 @@ export default { '";' ]; sysChildren.forEach(subsys => { - const label = subsys.data.code || subsys.data.key_name + const label = subsys.data.code || subsys.data.key_name; dots.push("subgraph cluster_" + subsys.guid + "{"); dots.push(`label="${label}";tooltip="${subsys.data.description}";`); if (Array.isArray(subsys.children)) { subsys.children.forEach(unit => { - const unitLabel = unit.data.code || unit.data.key_name + const unitLabel = unit.data.code || unit.data.key_name; let color = "grey"; if (unit.data.state && stateColorMap.has(unit.data.state.code)) { color = stateColorMap.get(unit.data.state.code); @@ -313,7 +313,9 @@ export default { ); dots.push(`"${unit.guid}"[shape="none",`); dots.push( - `label=<\n` + `label=<
${this.$t("runnint_instance")}
\n` ); graphMap.set(unit.guid, unitLabel); if (Array.isArray(unit.children)) { @@ -323,7 +325,7 @@ export default { if (child.data.host && child.data.host.key_name) { hostIp = child.data.host.key_name || "-"; } - const port = child.data.port || "-" + const port = child.data.port || "-"; dots.push( `` ); @@ -337,7 +339,8 @@ export default { sysIvks.push(service); } if (service.ciTypeId === this.serviceCiTypeId) { - const serviceLabel = service.data.code || service.data.key_name; + const serviceLabel = + service.data.code || service.data.key_name; let domain = ""; if (service.data.dns_domain) { domain = @@ -347,7 +350,11 @@ export default { } const ip = service.data.service_ip.key_name || ""; dots.push( - `"${service.guid}" [shape="record", label="{{ ${this.$t("service")}: ${serviceLabel}|{ ${domain} | ${service.data.service_port} }| ${ip} }}", tooltip="${service.data.description}"];` + `"${service.guid}" [shape="record", label="{{ ${this.$t( + "service" + )}: ${serviceLabel}|{ ${domain} | ${ + service.data.service_port + } }| ${ip} }}", tooltip="${service.data.description}"];` ); graphMap.set(service.guid, serviceLabel); dots.push( @@ -417,10 +424,14 @@ export default { }, async getAllEnvs() { const payload = { - filters: [{ name: "cat.catName", operator: "eq", value: "env" }], + filters: [ + { name: "cat.catName", operator: "eq", value: "deploy_environment" } + ], paging: false }; - const { statusCode, data, message } = await getAllNonSystemEnumCodes(payload); + const { statusCode, data, message } = await getAllNonSystemEnumCodes( + payload + ); if (statusCode === "OK") { this.envs = data.contents; From e2152a90ad77e4fd7764a74c1239fe427e126eda Mon Sep 17 00:00:00 2001 From: zhangsenfeng <729346129@qq.com> Date: Fri, 13 Dec 2019 15:54:17 +0800 Subject: [PATCH 030/172] :bug: #515 wecedb error message could not show in wecmdb --- cmdb-ui/src/api/base-pulgin.js | 2 +- cmdb-ui/src/main-plugin.js | 4 ---- cmdb-ui/src/pages/admin/components/enum-group-modal.vue | 1 - cmdb-ui/src/router-plugin.js | 4 ---- 4 files changed, 1 insertion(+), 10 deletions(-) diff --git a/cmdb-ui/src/api/base-pulgin.js b/cmdb-ui/src/api/base-pulgin.js index 052e7479c..e437f38ba 100644 --- a/cmdb-ui/src/api/base-pulgin.js +++ b/cmdb-ui/src/api/base-pulgin.js @@ -4,7 +4,7 @@ export const pluginErrorMessage = async (r) => { const errorMes = Array.isArray(res.data) ? res.data.map(_ => _.errorMessage).join("
") : res.statusMessage; - window.vm.$Notice.error({ + window.vm && window.vm.$Notice.error({ title: "Error", desc: errorMes, duration: 0 diff --git a/cmdb-ui/src/main-plugin.js b/cmdb-ui/src/main-plugin.js index 10598b522..db38b6cf0 100755 --- a/cmdb-ui/src/main-plugin.js +++ b/cmdb-ui/src/main-plugin.js @@ -1,8 +1,4 @@ -import "vue-highlight.js/lib/allLanguages"; -import "highlight.js/styles/default.css"; import router from "./router-plugin"; -import "view-design/dist/styles/iview.css"; -import "./locale/i18n"; import zh_CN from "./locale/i18n/zh-CN.json"; import en_US from "./locale/i18n/en-US.json"; diff --git a/cmdb-ui/src/pages/admin/components/enum-group-modal.vue b/cmdb-ui/src/pages/admin/components/enum-group-modal.vue index 95227fe6e..5a6cd8780 100755 --- a/cmdb-ui/src/pages/admin/components/enum-group-modal.vue +++ b/cmdb-ui/src/pages/admin/components/enum-group-modal.vue @@ -57,7 +57,6 @@ - - From 355d1e4dcf322ed5b84718a3ab0c0b317eaf947f Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Fri, 20 Dec 2019 17:01:23 +0800 Subject: [PATCH 043/172] #539 The AutoFill query add the filter on the ci attr --- .../webank/cmdb/dto/IntegrationQueryDto.java | 18 +++++----- .../interceptor/CiDataInterceptorService.java | 33 +++++++++++++------ 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/dto/IntegrationQueryDto.java b/cmdb-core/src/main/java/com/webank/cmdb/dto/IntegrationQueryDto.java index 983b1739d..f780720ec 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/dto/IntegrationQueryDto.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/dto/IntegrationQueryDto.java @@ -32,10 +32,16 @@ public class IntegrationQueryDto { // relation with parent node, it is not needed in root node. private Relationship parentRs; private List children = new LinkedList<>(); + private List filters = new ArrayList(); + public List getFilters() { + return filters; + } - private List filters = new LinkedList(); + public void setFilters(List filters) { + this.filters = filters; + } - public IntegrationQueryDto() { + public IntegrationQueryDto() { } public IntegrationQueryDto(String name) { @@ -183,14 +189,6 @@ public void setAggKeyNames(List aggKeyNames) { this.aggKeyNames = aggKeyNames; } - public List getFilters() { - return filters; - } - - public void setFilters(List filters) { - this.filters = filters; - } - @Override public String toString() { return MoreObjects.toStringHelper(this) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java index 7551ccc1f..14990024e 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java @@ -446,10 +446,11 @@ private boolean checkExpression(String targetValue) { private QueryResponse queryIntegrateWithRoutines(String guid, AdmCiTypeAttr attrWithGuid, List routines) { AdhocIntegrationQueryDto adhocDto = buildRootDto(routines.get(0), guid, attrWithGuid); - travelFillQueryDto(routines, adhocDto.getCriteria(), 1); + travelFillQueryDto(routines, adhocDto.getCriteria(), adhocDto.getQueryRequest(),1); + return ciService.adhocIntegrateQuery(adhocDto); } - + private List getRootGuids(String guid, AdmCiTypeAttr attrWithGuid, Object autoFillRuleValue) { List guids = new ArrayList<>(); List autoRuleItems = parserRule(autoFillRuleValue); @@ -476,7 +477,7 @@ private List getRootGuids(String guid, AdmCiTypeAttr attrWithGuid, Objec return guids; } - private IntegrationQueryDto travelFillQueryDto(List routines, IntegrationQueryDto parentDto, int position) { + private IntegrationQueryDto travelFillQueryDto(List routines, IntegrationQueryDto parentDto,QueryRequest queryRequest, int position) { if (position >= routines.size()) { return null; } @@ -490,10 +491,22 @@ private IntegrationQueryDto travelFillQueryDto(List dto.setName("index" + position); dto.setCiTypeId(item.getCiTypeId()); dto.setParentRs(parentRs); - dto.setAttrs(Arrays.asList(getGuidAttrIdByCiTypeId(item.getCiTypeId()))); - dto.setAttrKeyNames(Arrays.asList(item.getCiTypeId() + "$guid")); - dto.setFilters(item.getFilters()); - IntegrationQueryDto childDto = travelFillQueryDto(routines, dto, ++position); + List fileds = new ArrayList(); + List attrs = new ArrayList(); + attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),"guid")); + fileds.add(item.getCiTypeId() + "$guid"); + if(item.getFilters().size()>0) { + List filters = new ArrayList(queryRequest.getFilters()); + item.getFilters().stream().forEach(filter -> { + filters.add(filter); + fileds.add(filter.getName()); + attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),filter.getName())); + }); + queryRequest.setFilters(filters); + } + dto.setAttrs(attrs); + dto.setAttrKeyNames(fileds); + IntegrationQueryDto childDto = travelFillQueryDto(routines, dto, queryRequest, ++position); if (childDto == null) { if (parentDto.getAttrs().contains(parentRs.getAttrId())) { @@ -548,7 +561,7 @@ private AdhocIntegrationQueryDto buildRootDto(IntegrationQueryDto routineDto, St IntegrationQueryDto rootDto = new IntegrationQueryDto(); rootDto.setName("root"); rootDto.setCiTypeId(routineDto.getCiTypeId()); - rootDto.setAttrs(Arrays.asList(getGuidAttrIdByCiTypeId(routineDto.getCiTypeId()))); + rootDto.setAttrs(Arrays.asList(getAttrIdByPropertyNameAndCiTypeId(routineDto.getCiTypeId(),"guid"))); rootDto.setAttrKeyNames(Arrays.asList("root$guid")); adhocDto.setCriteria(rootDto); @@ -557,10 +570,10 @@ private AdhocIntegrationQueryDto buildRootDto(IntegrationQueryDto routineDto, St return adhocDto; } - private Integer getGuidAttrIdByCiTypeId(int ciTypeId) { + private Integer getAttrIdByPropertyNameAndCiTypeId(int ciTypeId, String propertyName) { List attrs = ciTypeAttrRepository.findAllByCiTypeId(ciTypeId); for (AdmCiTypeAttr attr : attrs) { - if ("guid".equalsIgnoreCase(attr.getPropertyName())) { + if (propertyName.equalsIgnoreCase(attr.getPropertyName())) { return attr.getIdAdmCiTypeAttr(); } } From 7d17bb72735b2a5332ec8baa1e7f49679eecc30b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Fri, 20 Dec 2019 17:35:03 +0800 Subject: [PATCH 044/172] Revert " Merge pull request dev to #539" --- cmdb-core/pom.xml | 26 - cmdb-plugin/pom.xml | 4 - cmdb-plugin/register.xml | 26 +- cmdb-ui/src/locale/i18n/en-US.json | 10 +- cmdb-ui/src/locale/i18n/zh-CN.json | 10 +- .../src/pages/admin/cmdb-model-management.vue | 18 +- cmdb-ui/src/pages/components/auto-fill.js | 660 ------------------ cmdb-ui/src/pages/components/auto-fill.scss | 93 --- cmdb-ui/src/pages/components/auto-fill.vue | 488 +++++++++++++ .../designing/application-architecture.vue | 2 +- pom.xml | 31 +- 11 files changed, 511 insertions(+), 857 deletions(-) delete mode 100644 cmdb-ui/src/pages/components/auto-fill.js delete mode 100644 cmdb-ui/src/pages/components/auto-fill.scss create mode 100755 cmdb-ui/src/pages/components/auto-fill.vue diff --git a/cmdb-core/pom.xml b/cmdb-core/pom.xml index 1ad96e32d..065721ae3 100755 --- a/cmdb-core/pom.xml +++ b/cmdb-core/pom.xml @@ -153,32 +153,6 @@ - - - build - - true - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - - plugin - - - buildType - plugin - - - - - diff --git a/cmdb-plugin/pom.xml b/cmdb-plugin/pom.xml index c6b051318..4f0ce18a7 100644 --- a/cmdb-plugin/pom.xml +++ b/cmdb-plugin/pom.xml @@ -53,10 +53,6 @@ - - org.springframework.boot - spring-boot-maven-plugin - org.apache.maven.plugins maven-surefire-plugin diff --git a/cmdb-plugin/register.xml b/cmdb-plugin/register.xml index 7250524b0..9dd7f0964 100644 --- a/cmdb-plugin/register.xml +++ b/cmdb-plugin/register.xml @@ -9,22 +9,22 @@ - /wecmdb/designing/ci-data-enquiry - /wecmdb/designing/ci-integrated-query-execution - /wecmdb/designing/enum-enquiry + /wecmdb/designing/ci-data-enquiry + /wecmdb/designing/ci-integrated-query-execution + /wecmdb/designing/enum-enquiry - /wecmdb/designing/ci-data-management - /wecmdb/designing/ci-integrated-query-management - /wecmdb/designing/enum-management + /wecmdb/designing/ci-data-management + /wecmdb/designing/ci-integrated-query-management + /wecmdb/designing/enum-management - /wecmdb/view-management/idc-planning-design - /wecmdb/view-management/idc-resource-planning - /wecmdb/view-management/application-architecture-design - /wecmdb/view-management/application-deployment-design + /wecmdb/view-management/idc-planning-design + /wecmdb/view-management/idc-resource-planning + /wecmdb/view-management/application-architecture-design + /wecmdb/view-management/application-deployment-design - /wecmdb/admin/cmdb-model-management - /wecmdb/admin/base-data-management - /wecmdb/admin/query-log + /wecmdb/admin/cmdb-model-management + /wecmdb/admin/base-data-management + /wecmdb/admin/query-log diff --git a/cmdb-ui/src/locale/i18n/en-US.json b/cmdb-ui/src/locale/i18n/en-US.json index 74d5cd386..12cf8c774 100755 --- a/cmdb-ui/src/locale/i18n/en-US.json +++ b/cmdb-ui/src/locale/i18n/en-US.json @@ -232,13 +232,5 @@ "header_title": "WeCMDB (Demo Version)", "home": "Home", "runnint_instance": "Running Instance", - "service": "Service", - "auto_fill_delete_node": "删除此节点", - "auto_fill_add_filter": "添加过滤条件", - "auto_fill_add_rule": "添加属性表达式", - "auto_fill_add_delimiter": "添加连接符", - "auto_fill_edit_delimiter": "编辑连接符", - "auto_fill_filter_modal_title": "过滤条件", - "auto_fill_filter_modal_button": "添加过滤条件", - "auto_fill_filter_placeholder": " <-- 点此开始编辑填充规则" + "service": "Service" } diff --git a/cmdb-ui/src/locale/i18n/zh-CN.json b/cmdb-ui/src/locale/i18n/zh-CN.json index eaa618d6e..0df03f847 100755 --- a/cmdb-ui/src/locale/i18n/zh-CN.json +++ b/cmdb-ui/src/locale/i18n/zh-CN.json @@ -232,13 +232,5 @@ "header_title": "WeCMDB (功能演示版)", "home": "首页", "runnint_instance": "运行实例", - "service": "服务", - "auto_fill_delete_node": "删除此节点", - "auto_fill_add_filter": "添加过滤条件", - "auto_fill_add_rule": "添加属性表达式", - "auto_fill_add_delimiter": "添加连接符", - "auto_fill_edit_delimiter": "编辑连接符", - "auto_fill_filter_modal_title": "过滤条件", - "auto_fill_filter_modal_button": "添加过滤条件", - "auto_fill_filter_placeholder": " <-- 点此开始编辑填充规则" + "service": "服务" } diff --git a/cmdb-ui/src/pages/admin/cmdb-model-management.vue b/cmdb-ui/src/pages/admin/cmdb-model-management.vue index 0f0912d20..99ab81030 100755 --- a/cmdb-ui/src/pages/admin/cmdb-model-management.vue +++ b/cmdb-ui/src/pages/admin/cmdb-model-management.vue @@ -669,7 +669,7 @@ :label="$t('auto_fill_rule')" > @@ -1071,7 +1071,6 @@ export default { isEditable: "yes" }, allCiTypes: [], - allCiTypesWithAttr: [], allInputTypes: [], allReferenceTypes: [], selectedCIAttrIsSystem: false @@ -1875,18 +1874,6 @@ export default { this.allCiTypes = res.data; } }, - async getAllCiTypeWithAttr() { - const res = await getAllCITypesByLayerWithAttr(["notCreated", "created", "decommissioned"]) - if (res.statusCode === "OK") { - let allCiTypesWithAttr = [] - res.data.forEach(layer => { - layer.ciTypes && layer.ciTypes.forEach(_ => { - allCiTypesWithAttr.push(_) - }) - }) - this.allCiTypesWithAttr = allCiTypesWithAttr - } - }, async getAllInputTypesList() { const res = await getAllInputTypes(); if (res.statusCode === "OK") { @@ -1925,7 +1912,6 @@ export default { this.getAllInputTypesList(); this.getAllReferenceTypesList(); this.getTableStatusList(); - this.getAllCiTypeWithAttr() }, computed: { setUploadActionHeader() { diff --git a/cmdb-ui/src/pages/components/auto-fill.js b/cmdb-ui/src/pages/components/auto-fill.js deleted file mode 100644 index da736bed4..000000000 --- a/cmdb-ui/src/pages/components/auto-fill.js +++ /dev/null @@ -1,660 +0,0 @@ -import "./auto-fill.scss"; -import { getRefCiTypeFrom, getCiTypeAttr } from "@/api/server.js"; - -export default { - name: "autoFill", - props: { - allCiTypes: { default: () => [], required: true }, - isReadOnly: { default: () => false, required: false }, - value: { default: () => [], required: true }, - rootCiTypeId: { type: Number, required: true } - }, - data() { - return { - hoverSpan: "", - hoverAttr: "", - currentRule: "", - currentAttr: "", - activeDelimiterIndex: "", - activeDelimiterValue: "", - optionsDisplay: false, - options: [], - autoFillArray: [], - modalDisplay: false, - filterCiTypeId: 0, - filters: [], - filterCiAttrs: [], - operatorList: [ - {code:"in",value:"In"}, - {code:"contains",value:"Contains"}, - {code:"eq",value:"Equal"}, - {code:"gt",value:"Greater"}, - {code:"lt",value:"Less"}, - {code:"ne",value:"NotEqual"}, - {code:"notNull",value:"NotNull"}, - {code:"null",value:"Null"} - ], - enumCodes: ["id", "code", "value", "groupCodeId"] - } - }, - computed: { - ciTypesObj() { - let obj = {}; - this.allCiTypes.forEach(_ => { - obj[_.ciTypeId] = _; - }); - return obj; - }, - ciTypeAttrsObj() { - let obj = {}; - this.allCiTypes.forEach(ciType => { - ciType.attributes.forEach(attr => { - obj[attr.ciTypeAttrId] = attr; - }); - }); - return obj; - } - }, - watch: { - allCiTypes() { - this.initAutoFillArray() - }, - optionsDisplay(val) { - if (!val) { - this.currentRule = "" - this.currentAttr = "" - this.options = [] - } - } - }, - methods: { - renderEditor() { - return [ - !this.isReadOnly && this.renderOptions(), - this.autoFillArray.map((_, i) => { - switch (_.type) { - case 'rule': - return this.renderExpression(_, i) - case 'delimiter': - return this.renderDelimiter(_.value, i) - default: - break; - } - }), - this.renderAddRule(), - this.renderModal() - ] - }, - renderOptions() { - return ( -
- { - this.options.map(_ => _.type === "option" ? ( -
{_.nodeName}
- ) : ( -
- )) - } -
- ) - }, - mouseover(e) { - if (e.target.className.indexOf("auto-fill-span") === -1) { - return - } - this.hoverSpan = e.target.getAttribute("index") - this.hoverAttr = e.target.getAttribute("attr-index") - }, - mouseout(e) { - this.hoverSpan = "" - this.hoverAttr = "" - }, - handleClick(e) { - if (this.isReadOnly) { - return - } - if (e.target.className.indexOf("auto-fill-span") >= 0) { - const ruleIndex = e.target.getAttribute("index") - let attrIndex = null - if (e.target.hasAttribute("attr-index")) { - attrIndex = e.target.getAttribute("attr-index") - } - this.showRuleOptions(ruleIndex, attrIndex) - } else if (e.target.className.indexOf("auto-fill-add") >= 0) { - // 选择属性表达式或连接符 - this.showAddOptions() - } else { - return - } - }, - showAddOptions() { - this.options = [] - this.optionsDisplay = true - this.options.push({ - type: "option", - class: "auto-fill-li", - nodeName: this.$t("auto_fill_add_rule"), - fn: () => this.addRule("rule") - }, { - type: "option", - class: "auto-fill-li", - nodeName: this.$t("auto_fill_add_delimiter"), - fn: () => this.addRule("delimiter") - }) - }, - addRule(type) { - this.options = [] - this.autoFillArray.push({ - type, - value: type === "rule" ? JSON.stringify([{ciTypeId: this.rootCiTypeId}]) : "" - }) - this.activeDelimiterIndex = (this.autoFillArray.length - 1) + "" - this.optionsDisplay = false - }, - showRuleOptions(ruleIndex, attrIndex) { - this.options = [] - this.optionsDisplay = true - const isAttrNode = attrIndex ? !!JSON.parse(this.autoFillArray[ruleIndex].value)[attrIndex].parentRs : false - const attrInputType = isAttrNode ? this.ciTypeAttrsObj[JSON.parse(this.autoFillArray[ruleIndex].value)[attrIndex].parentRs.attrId].inputType : "" - // 删除节点 - this.options.push({ - type: "option", - class: "auto-fill-li auto-fill-li-delete", - nodeName: this.$t("auto_fill_delete_node"), - fn: () => this.deleteNode(ruleIndex, attrIndex) - }) - // 连接符 - if (!attrIndex) { - this.options.push({ - type: "option", - class: "auto-fill-li auto-fill-li-edit", - nodeName: this.$t("auto_fill_edit_delimiter"), - fn: () => this.editDelimiter(ruleIndex, attrIndex) - }) - return - } - // 添加过滤条件 - if (attrInputType === "ref" || attrInputType === "multiRef" || !attrInputType) { - this.options.push({ - type: "option", - class: "auto-fill-li auto-fill-li-filter", - nodeName: this.$t("auto_fill_add_filter"), - fn: () => this.showFilterModal(ruleIndex, attrIndex) - }) - } - - const node = JSON.parse(this.autoFillArray[ruleIndex].value)[attrIndex] - if (!node.parentRs || this.ciTypeAttrsObj[node.parentRs.attrId].inputType === "ref" || this.ciTypeAttrsObj[node.parentRs.attrId].inputType === "multiRef") { - const ciTypeId = JSON.parse(this.autoFillArray[ruleIndex].value)[attrIndex].ciTypeId - this.getRefData(ruleIndex, attrIndex, ciTypeId) - } else if (node.parentRs && this.ciTypeAttrsObj[node.parentRs.attrId].inputType === "select" || this.ciTypeAttrsObj[node.parentRs.attrId].inputType === "multiSelect") { - this.showEnumOptions(ruleIndex, attrIndex) - } - }, - async getRefData(ruleIndex, attrIndex, ciTypeId) { - this.currentRule = ruleIndex - this.currentAttr = attrIndex - const promiseArray = [getRefCiTypeFrom(ciTypeId), getCiTypeAttr(ciTypeId)] - const [refFroms, ciAttrs] = await Promise.all(promiseArray); - if (refFroms.statusCode === "OK" && ciAttrs.statusCode === "OK") { - // 下拉框添加被引用的CI的选项 - refFroms.data.length && this.options.push({ - type: "line" - }) - this.options = this.options.concat(refFroms.data.map(_ => { - const ciTypeName = this.ciTypesObj[_.ciTypeId].name - const attrName = this.ciTypeAttrsObj[_.ciTypeAttrId].name - const nodeObj = { - ciTypeId: _.ciTypeId, - parentRs: { - attrId: _.ciTypeAttrId, - isReferedFromParent: 0 - } - } - return { - type: "option", - class: "auto-fill-li auto-fill-li-ref auto-fill-li-ref-from", - nodeName: `<-(${ciTypeName})${attrName}`, - fn: () => this.addNode(ruleIndex, attrIndex, nodeObj) - } - })) - // 下拉框添加属性及引用的CI的选项 - ciAttrs.data.length && this.options.push({ - type: "line" - }) - this.options = this.options.concat(ciAttrs.data.map(_ => { - const isRef = _.inputType === "ref" || _.inputType === "multiRef" - const ciTypeName = isRef ? this.ciTypesObj[_.referenceId].name : this.ciTypesObj[_.ciTypeId].name - const attrName = this.ciTypeAttrsObj[_.ciTypeAttrId].name - const nodeName = isRef ? `->(${ciTypeName})${attrName}` : `->${attrName}` - const nodeObj = { - ciTypeId: isRef ? _.referenceId : _.ciTypeId, - parentRs: { - attrId: _.ciTypeAttrId, - isReferedFromParent: 1 - } - } - return { - type: "option", - class: "auto-fill-li auto-fill-li-ref auto-fill-li-ref-to", - nodeName, - fn: () => this.addNode(ruleIndex, attrIndex, nodeObj) - } - })) - } - }, - // 显示枚举属性下拉框 - showEnumOptions(ruleIndex, attrIndex) { - this.currentRule = ruleIndex - this.currentAttr = attrIndex - this.options = this.options.concat(this.enumCodes.map(_ => { - return { - type: "option", - class: "auto-fill-li auto-fill-li-enum", - nodeName: _, - fn: () => this.addEnum(ruleIndex, attrIndex, _) - } - })) - }, - // 点击选择枚举属性 - addEnum(ruleIndex, attrIndex, code) { - let ruleArr = JSON.parse(this.autoFillArray[ruleIndex].value) - ruleArr[attrIndex].enumCodeAttr = code - this.autoFillArray[ruleIndex].value = JSON.stringify(ruleArr) - this.optionsDisplay = false - this.handleInput() - }, - // 点击删除节点 - deleteNode(ruleIndex, attrIndex) { - if (!attrIndex) { - // 删除连接符 - this.autoFillArray.splice(ruleIndex, 1) - this.handleInput() - } else { - if (attrIndex === "0") { - // 删除该属性表达式(即该花括号内的内容) - this.autoFillArray.splice(ruleIndex, 1) - if (ruleIndex !== "0" && this.autoFillArray[+ruleIndex - 1].type === "delimiter" && this.autoFillArray[ruleIndex].type === "delimiter") { - this.autoFillArray[+ruleIndex - 1].value += this.autoFillArray[ruleIndex].value - this.autoFillArray.splice(ruleIndex, 1) - } - this.handleInput() - } else { - // 删除属性表达式中,该节点及之后的节点 - let ruleArr = JSON.parse(this.autoFillArray[ruleIndex].value) - ruleArr.splice(attrIndex, ruleArr.length - attrIndex) - this.autoFillArray[ruleIndex].value = JSON.stringify(ruleArr) - } - } - this.optionsDisplay = false - }, - editDelimiter(ruleIndex) { - this.activeDelimiterIndex = ruleIndex - this.optionsDisplay = false - this.handleInput() - }, - async showFilterModal(ruleIndex, attrIndex) { - this.filterCiTypeId = JSON.parse(this.autoFillArray[ruleIndex].value)[attrIndex].ciTypeId - const filters = JSON.parse(this.autoFillArray[ruleIndex].value)[attrIndex].filters || [] - this.filterIndex = [ruleIndex, attrIndex] - this.modalDisplay = true - this.optionsDisplay = false - const { data, statusCode } = await getCiTypeAttr(this.filterCiTypeId) - if (statusCode === "OK") { - this.filterCiAttrs = data - this.filters = filters.map(_ => { - const found = data.find(attr => attr.propertyName === _.name) - if (found) { - _.inputType = found.inputType - } - if (_.operator === "in") { - _.value = _.value.join(",") - } - return _ - }) - } - }, - addNode(ruleIndex, attrIndex, nodeObj) { - const i = +attrIndex - let ruleArr = JSON.parse(this.autoFillArray[ruleIndex].value) - ruleArr.splice(i + 1, ruleArr.length - i - 1, nodeObj) - this.autoFillArray[ruleIndex].value = JSON.stringify(ruleArr) - const inputType = this.ciTypeAttrsObj[ruleArr[ruleArr.length - 1].parentRs.attrId].inputType - const ciTypeId = nodeObj.ciTypeId - if (inputType === "ref" || inputType === "multiRef") { - this.options = [{ - type: "option", - class: "auto-fill-li auto-fill-li-delete", - nodeName: this.$t("auto_fill_delete_node"), - fn: () => this.deleteNode(ruleIndex, i + 1) - }, { - type: "option", - class: "auto-fill-li auto-fill-li-filter", - nodeName: this.$t("auto_fill_add_filter"), - fn: () => this.showFilterModal(ruleIndex, i + 1) - }] - this.getRefData(ruleIndex, i + 1 + "", ciTypeId) - } else if (inputType === "select" || inputType === "multiSelect") { - this.options = [{ - type: "option", - class: "auto-fill-li auto-fill-li-delete", - nodeName: this.$t("auto_fill_delete_node"), - fn: () => this.deleteNode(ruleIndex, i + 1) - }, { - type: "option", - class: "auto-fill-li auto-fill-li-filter", - nodeName: this.$t("auto_fill_add_filter"), - fn: () => this.showFilterModal(ruleIndex, i + 1) - }] - this.showEnumOptions(ruleIndex, i + 1 + "") - } else { - this.optionsDisplay = false - } - this.handleInput() - }, - renderExpression(val, i) { - // type === rule 时,链式属性表达式 - let result = JSON.parse(val.value).map((_, attrIndex) => { - let isLegal = true - if (attrIndex === JSON.parse(val.value).length - 1) { - const lastInputType = JSON.parse(val.value)[attrIndex].parentRs ? this.ciTypeAttrsObj[JSON.parse(val.value)[attrIndex].parentRs.attrId].inputType : "" - if (lastInputType === "ref" || lastInputType === "multiRef" || !lastInputType) { - isLegal = false - } else if (lastInputType === "select" || lastInputType === "multiSelect") { - isLegal = !!JSON.parse(val.value)[attrIndex].enumCodeAttr - } - } - let filterNode = "" - if (_.filters) { - filterNode += "[" - filterNode += _.filters.map((filter, filterIndex) => { - const filterValue = Array.isArray(filter.value) ? `[${filter.value.join(",")}]` : filter.value - return `${filterIndex > 0 ? " | " : ""}${filter.name} ${filter.operator} ${filterValue}` - }).join("") - filterNode += "]" - } - const ciTypeName = this.ciTypesObj[_.ciTypeId].name - if (!_.parentRs) { - return `${ciTypeName}${filterNode}`.split("").map(_ => { - const classList = { - "auto-fill-span": true, - "auto-fill-hover": this.hoverAttr === attrIndex + "" && this.hoverSpan === i + "", - "auto-fill-current-node": this.currentRule === i + "" && this.currentAttr === attrIndex + "", - "auto-fill-error": !isLegal - } - const className = Object.keys(classList).map(key => { - if (classList[key]) { - return key - } - }) - return { _ } - }) - } else { - const ref = _.parentRs.isReferedFromParent === 1 ? "->" : "<-" - const attrName = this.ciTypeAttrsObj[_.parentRs.attrId].name - const enumCode = _.enumCodeAttr ? `.${_.enumCodeAttr}` : "" - if (this.ciTypeAttrsObj[_.parentRs.attrId].inputType === "ref" || this.ciTypeAttrsObj[_.parentRs.attrId].inputType === "multiRef") { - return ` ${ref}(${ciTypeName})${attrName}${filterNode}`.split("").map(_ => { - const classList = { - "auto-fill-span": true, - "auto-fill-hover": this.hoverAttr === attrIndex + "" && this.hoverSpan === i + "", - "auto-fill-current-node": this.currentRule === i + "" && this.currentAttr === attrIndex + "", - "auto-fill-error": !isLegal - } - const className = Object.keys(classList).map(key => { - if (classList[key]) { - return key - } - }) - return { _ } - }) - } else { - return ` ${ref}${attrName}${enumCode}${filterNode}`.split("").map(_ => { - const classList = { - "auto-fill-span": true, - "auto-fill-hover": this.hoverAttr === attrIndex + "" && this.hoverSpan === i + "", - "auto-fill-current-node": this.currentRule === i + "" && this.currentAttr === attrIndex + "", - "auto-fill-error": !isLegal - } - const className = Object.keys(classList).map(key => { - if (classList[key]) { - return key - } - }) - return { _ } - }) - } - } - }) - return [ - { "{ " }, - result, - { " }" } - ] - }, - renderDelimiter(val, i) { - // type === delimiter 时,连接符 - let result = null - if (this.activeDelimiterIndex === i + "") { - result = ( - this.confirmDelimiter(i)} - on-on-enter={() => this.$refs.delimiterInput.blur()} - onInput={v => this.onDelimiterInput(v)} - value={val} - /> - ) - } else { - result = [ - , - val.split("").map(_ => { - return ( - { _ } - ) - }), - - ] - } - return result - }, - // 连接符输入框失焦或按回车时,需要更新 this.autoFillArray - confirmDelimiter(i) { - if (this.activeDelimiterValue === "") { - // 如果输入框没有值,则在 this.autoFillArray 中删掉该项 - this.autoFillArray.splice(i, 1) - } else { - this.autoFillArray[i].value = this.activeDelimiterValue - // 将相邻两项 type === delimiter 合并为一项 - if (this.autoFillArray[i + 1] && this.autoFillArray[i + 1].type === "delimiter") { - this.autoFillArray[i].value += this.autoFillArray[i + 1].value - this.autoFillArray.splice(i + 1, 1) - } - if (i > 0 && this.autoFillArray[i - 1].type === "delimiter") { - this.autoFillArray[i - 1].value += this.autoFillArray[i].value - this.autoFillArray.splice(i, 1) - } - } - this.activeDelimiterIndex = "" - this.activeDelimiterValue = "" - this.handleInput() - }, - onDelimiterInput(v) { - this.activeDelimiterValue = v - }, - renderAddRule() { - return [ - , - !this.autoFillArray.length && ({this.$t("auto_fill_filter_placeholder")}) - ] - }, - initAutoFillArray() { - if (!this.allCiTypes.length || !this.value) { - return - } - this.autoFillArray = JSON.parse(this.value) - }, - focusInput() { - // 点击编辑连接符后,需要聚焦 Input - if (this.activeDelimiterIndex && this.$refs.delimiterInput) { - this.$nextTick(() => { - this.$refs.delimiterInput.focus() - }) - } - }, - // 添加过滤添加的弹框 - renderModal() { - const emptyFilter = { - name: "", - inputType: "text", - operator: "", - value: "" - } - return ( - this.modalDisplay = v} - title={this.$t("auto_fill_filter_modal_title")} - on-on-ok={this.confirmFilter} - on-on-cancel={this.cancelFilter} - > - { - this.filters.map((_, i) => ( -
- this.filters.splice(i, 1)} - class="auto-fill-filter-li-icon" - /> - - - this.filters[i].value = v} - value={_.value} - /> -
- )) - } - -
- ) - }, - changeFilter(val, i) { - this.filters[i].name = val - const found = this.filterCiAttrs.find(_ => _.propertyName === val) - const inputType = found.inputType - switch (inputType) { - case "number": - this.filters[i].value = 0 - break; - default: - this.filters[i].value = "" - break; - } - this.filters[i].inputType = inputType - }, - confirmFilter() { - const filters = this.filters.filter(_ => _.name && _.operator).map(_ => { - if (_.operator === "in") { - _.value = _.value.split(",") - } - if (_.inputType === "number") { - if (Array.isArray(_.value)) { - _.value = _.value.map(v => Number(v)) - } else { - _.value = Number(v) - } - } - return { - name: _.name, - operator: _.operator, - value: _.value - } - }) - let value = JSON.parse(this.autoFillArray[this.filterIndex[0]].value) - if (filters.length) { - value[this.filterIndex[1]].filters = filters - } else { - delete value[this.filterIndex[1]].filters - } - this.autoFillArray[this.filterIndex[0]].value = JSON.stringify(value) - this.cancelFilter() - this.handleInput() - }, - cancelFilter() { - this.filterCiTypeId = 0 - this.filters = [] - this.filterCiAttrs = [] - this.filterIndex = [] - }, - handleInput() { - this.$nextTick(() => { - const value = this.autoFillArray.length ? JSON.stringify(this.autoFillArray) : "" - if (!document.getElementsByClassName("auto-fill-error").length) { - this.$emit("input", value) - } - }) - } - }, - mounted() { - this.initAutoFillArray() - }, - updated() { - this.focusInput() - }, - render(h) { - return ( -
- { - this.isReadOnly ? ( - // 只读状态 - this.renderEditor() - ) : ( - // 可编辑状态 - - {this.renderEditor()} - - ) - } -
- ) - } -} \ No newline at end of file diff --git a/cmdb-ui/src/pages/components/auto-fill.scss b/cmdb-ui/src/pages/components/auto-fill.scss deleted file mode 100644 index 42980bea5..000000000 --- a/cmdb-ui/src/pages/components/auto-fill.scss +++ /dev/null @@ -1,93 +0,0 @@ -.auto-fill { - overflow: hidden; - word-break: break-all; - - &-span { - border-bottom: 1px solid #fff; - - &:hover { - cursor: pointer; - } - - &.contains { - color: #f00; - } - } - - &-placeholder { - color: #aaa; - } - - &-hover { - border-bottom: 1px solid #00f; - } - - &-current-node { - background-color: rgb(227, 231, 235); - } - - &-error { - border-bottom: 1px solid #f00; - } - - &-braces { - font-weight: 600; - } - - &-options { - max-height: 200px; - overflow: auto; - width: 100%; - } - - &-li { - cursor: pointer; - height: 25px; - line-height: 25px; - width: 100%; - - &-ref-from { - background-color: #b5d8b5; - } - &-ref-to { - background-color: #d88383; - } - - &:hover { - background-color: rgb(227, 231, 235); - } - } - - &-add { - cursor: pointer; - } - - &-filter-li { - align-items: center; - display: flex; - margin: 5px 0; - min-height: 32px; - - &-icon { - cursor: pointer; - margin-right: 5px; - } - - &-select { - margin-right: 5px; - text-overflow: ellipsis; - overflow: hidden; - - &.title { - width: 150px; - } - &.operator { - width: 100px; - } - } - - &-input { - flex: 1; - } - } -} \ No newline at end of file diff --git a/cmdb-ui/src/pages/components/auto-fill.vue b/cmdb-ui/src/pages/components/auto-fill.vue new file mode 100755 index 000000000..1697519bb --- /dev/null +++ b/cmdb-ui/src/pages/components/auto-fill.vue @@ -0,0 +1,488 @@ + + + + + diff --git a/cmdb-ui/src/pages/designing/application-architecture.vue b/cmdb-ui/src/pages/designing/application-architecture.vue index 96d9ba270..d8ae9d9bd 100755 --- a/cmdb-ui/src/pages/designing/application-architecture.vue +++ b/cmdb-ui/src/pages/designing/application-architecture.vue @@ -662,7 +662,7 @@ export default { `gn_${line.data.unit_design.guid} -> gn_${ line.data.service_design.guid } [id="gl_${line.guid}",color="${color}",taillabel="${ - line.data.invoke_type.value + line.data.type.value }", labeldistance=3];` ); this.physicalGraphLineNodes.serviceDesign[ diff --git a/pom.xml b/pom.xml index 435b525df..3928b84e6 100755 --- a/pom.xml +++ b/pom.xml @@ -35,30 +35,9 @@
- - - build - - true - - - cmdb-ui - cmdb-core - - - - plugin - - - buildType - plugin - - - - cmdb-ui - cmdb-core - cmdb-plugin - - - + + cmdb-ui + cmdb-core + cmdb-plugin + \ No newline at end of file From 5977b9bf5e81ea1ed156212821965b4a55fa0f87 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Mon, 23 Dec 2019 14:29:08 +0800 Subject: [PATCH 045/172] The configuration file fallback --- .../cmdb/service/interceptor/CiDataInterceptorService.java | 4 ++++ cmdb-core/src/main/resources/application.yml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java index 14990024e..e171f0571 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java @@ -495,6 +495,10 @@ private IntegrationQueryDto travelFillQueryDto(List List attrs = new ArrayList(); attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),"guid")); fileds.add(item.getCiTypeId() + "$guid"); + item.getAttrKeyNames().stream().forEach(keyName -> { + attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),keyName)); + fileds.add(keyName); + }); if(item.getFilters().size()>0) { List filters = new ArrayList(queryRequest.getFilters()); item.getFilters().stream().forEach(filter -> { diff --git a/cmdb-core/src/main/resources/application.yml b/cmdb-core/src/main/resources/application.yml index c89278b8d..e23069b87 100755 --- a/cmdb-core/src/main/resources/application.yml +++ b/cmdb-core/src/main/resources/application.yml @@ -9,7 +9,7 @@ spring: location: classpath:/cmdb.txt profiles: #en-local、ch-local - active: dev + active: ch-local cache: type: caffeine caffeine: From a48b4345a1b2e0212a9323a4f53eef8f6956d665 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Mon, 23 Dec 2019 16:41:27 +0800 Subject: [PATCH 046/172] #539 .yml file update --- .../database/ch/02.cmdb.system.data_ch.sql | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql b/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql index abf35fd4c..d84776582 100644 --- a/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql @@ -257,18 +257,18 @@ INSERT INTO `adm_ci_type` (`id_adm_ci_type`, `name`, `description`, `id_adm_tene (31, '路由规则设计', '路由规则设计', NULL, 'routing_rule_design', 'created', 10, NULL, 7, 5, 1, 66, NULL); INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `regular_expression_rule`, `is_refreshable`) VALUES - (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), - (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '1', NULL), - (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), - (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '1', NULL), - (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '1', NULL), - (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), - (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), - (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, '0', NULL), - (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), - (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), - (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL), - (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, '0', NULL); + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, 0, NULL), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL); INSERT INTO `adm_role_ci_type` (`id_adm_role_ci_type`, `id_adm_role`, `id_adm_ci_type`, `ci_type_name`, `creation_permission`, `removal_permission`, `modification_permission`, `enquiry_permission`, `execution_permission`, `grant_permission`) VALUES (806, 1, 1, '系统设计', 'Y', 'Y', 'Y', 'Y', 'Y', 'N'), From be06382721198d8bbfacb418696652d840b582a3 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Mon, 23 Dec 2019 19:34:47 +0800 Subject: [PATCH 047/172] #539 FIX the test valiable --- .../impl/StaticEntityRepositoryImpl.java | 2 +- .../apiv2/ApiV2ControllerCiTypeTest.java | 2 +- .../src/test/resources/db/data_model.sql | 28 +++++++++---------- .../db/legacy/3.init.static.data.ci.sql | 28 +++++++++---------- 4 files changed, 28 insertions(+), 32 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/repository/impl/StaticEntityRepositoryImpl.java b/cmdb-core/src/main/java/com/webank/cmdb/repository/impl/StaticEntityRepositoryImpl.java index 939b693a3..b8ad68c4e 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/repository/impl/StaticEntityRepositoryImpl.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/repository/impl/StaticEntityRepositoryImpl.java @@ -611,7 +611,7 @@ public AdmCiTypeAttr objectToCiTypeAttr(Object[] arr, AdmCiType admCiType) { admCiTypeAttr.setIsAccessControlled((Integer) arr[23]); admCiTypeAttr.setIsAuto((Integer) arr[24]); admCiTypeAttr.setAutoFillRule((String) arr[25]); - admCiTypeAttr.setIsRefreshable((Integer) arr[26]); + admCiTypeAttr.setIsRefreshable(Integer.valueOf((String) arr[26])); admCiTypeAttr.setRegularExpressionRule((String) arr[27]); return admCiTypeAttr; } diff --git a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiTypeTest.java b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiTypeTest.java index f9be11f7b..4e9540a3d 100755 --- a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiTypeTest.java +++ b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiTypeTest.java @@ -66,7 +66,7 @@ public void createCiTypesThenAllDefautAttrsHasDesplaySeqNo() throws Exception { mvc.perform(post("/api/v2/ciTypeAttrs/retrieve").contentType(MediaType.APPLICATION_JSON) .content(reqJson)) .andExpect(jsonPath("$.statusCode", is("OK"))) - .andExpect(jsonPath("$.data.contents[0].displaySeqNo", is(5))); + .andExpect(jsonPath("$.data.contents[0].displaySeqNo", is(3))); } @Test diff --git a/cmdb-core/src/test/resources/db/data_model.sql b/cmdb-core/src/test/resources/db/data_model.sql index cb9507781..0894b3684 100755 --- a/cmdb-core/src/test/resources/db/data_model.sql +++ b/cmdb-core/src/test/resources/db/data_model.sql @@ -409,21 +409,19 @@ CREATE TABLE IF NOT EXISTS `adm_ci_type_attr_base` ( ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`) VALUES - (1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":1},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":8,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '编排', '编排', 'select', 'orchestration', 'int', 15, 31, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (1, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0); +INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `regular_expression_rule`, `is_refreshable`) VALUES + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, 0, NULL), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL); CREATE TABLE IF NOT EXISTS `adm_ci_type_attr` ( `id_adm_ci_type_attr` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id_adm_ci_type_attr', diff --git a/cmdb-core/src/test/resources/db/legacy/3.init.static.data.ci.sql b/cmdb-core/src/test/resources/db/legacy/3.init.static.data.ci.sql index 862417c4b..eccc74e84 100755 --- a/cmdb-core/src/test/resources/db/legacy/3.init.static.data.ci.sql +++ b/cmdb-core/src/test/resources/db/legacy/3.init.static.data.ci.sql @@ -610,21 +610,19 @@ INSERT INTO adm_ci_type_attr (name,input_type,description,id_adm_ci_type,propert ('创建日期', 'date', '创建日期', 83, 'created_date', 'date', NULL, NULL, NULL, 1, NULL, NULL, 0, NULL, NULL, NULL, NULL, 'created', 1,1); -INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`) VALUES - (1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 1, '[{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":1},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":8,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""}]', 0), - (1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '编排', '编排', 'select', 'orchestration', 'int', 15, 31, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (1, '编排实例ID', '编排实例ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 1), - (1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0), - (1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0); +INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `regular_expression_rule`, `is_refreshable`) VALUES + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, 0, NULL), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL); -- Mock Attr for Self_Ref_Ci_Type From a435672c79f13b94bc4ead09a69d77274f5050e3 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Tue, 24 Dec 2019 10:51:24 +0800 Subject: [PATCH 048/172] #539 Add special symbols to the expression's linker to prevent parsing failure --- .../webank/cmdb/constant/CmdbConstants.java | 5 +++++ .../controller/ui/UIStaticDataController.java | 6 +++++ .../cmdb/service/impl/ConstantService.java | 20 ++++++++++++++++- .../interceptor/CiDataInterceptorService.java | 7 ++---- .../webank/cmdb/util/SpecialSymbolUtils.java | 22 +++++++++++++++++++ 5 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 cmdb-core/src/main/java/com/webank/cmdb/util/SpecialSymbolUtils.java diff --git a/cmdb-core/src/main/java/com/webank/cmdb/constant/CmdbConstants.java b/cmdb-core/src/main/java/com/webank/cmdb/constant/CmdbConstants.java index 154732a9c..61958208b 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/constant/CmdbConstants.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/constant/CmdbConstants.java @@ -134,4 +134,9 @@ public static class ADM_LOG { public static final List MYSQL_SCHEMA_KEYWORDS = Arrays.asList("ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BIGINT","BINARY","BLOB","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEC","DECIMAL","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FLOAT","FLOAT4","FLOAT8","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MEMBER","MIDDLEINT","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","NUMERIC","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRECISION","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","REAL","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SMALLINT","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARYING","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"); public static final List DEFAULT_FIELDS = Arrays.asList("created_date","created_by","updated_date","updated_by","guid","r_guid","p_guid","key_name","state","code","description","fixed_date","orchestration","biz_key"); + + public static final String SYMBOL_COMMA = ","; + public static final String SYMBOL_EQUALSIGN = "="; + public static final String SYMBOL_AND = "&"; + } diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/UIStaticDataController.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/UIStaticDataController.java index 54e9d5899..862e94f9e 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/UIStaticDataController.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/UIStaticDataController.java @@ -37,6 +37,12 @@ public Object getEffectiveStatus() { public Object getFilterOperator() { return constantService.getFilterOperator(); } + + @GetMapping("/static-data/special-connector") + @ResponseBody + public Object getSpecialConnector() { + return constantService.getSpecialConnector(); + } } diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/ConstantService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/ConstantService.java index 554b6a337..d2b687629 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/ConstantService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/ConstantService.java @@ -9,10 +9,13 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.webank.cmdb.constant.CiStatus; +import static com.webank.cmdb.constant.CmdbConstants.SYMBOL_AND; +import static com.webank.cmdb.constant.CmdbConstants.SYMBOL_EQUALSIGN; import com.webank.cmdb.constant.EffectiveStatus; import com.webank.cmdb.constant.FilterOperator; import com.webank.cmdb.constant.InputType; import com.webank.cmdb.constant.ReferenceType; +import com.webank.cmdb.util.SpecialSymbolUtils; @Service public class ConstantService { @@ -67,10 +70,25 @@ public List> getFilterOperator() { continue; HashMap filterOperatorMap = Maps.newHashMap(); filterOperatorMap.put("code",status.getCode()); - filterOperatorMap.put("value",status.getCode()); + filterOperatorMap.put("value",status.name()); filterOperatorList.add(filterOperatorMap); } return filterOperatorList; } + + public Object getSpecialConnector() { + List> specialConnector = Lists.newLinkedList(); + + Map and = Maps.newHashMap(); + and.put("code",SYMBOL_AND); + and.put("value",SpecialSymbolUtils.getAroundSpecialSymbol(SYMBOL_AND)); + Map equal = Maps.newHashMap(); + equal.put("code",SYMBOL_EQUALSIGN); + equal.put("value",SpecialSymbolUtils.getAroundSpecialSymbol(SYMBOL_EQUALSIGN)); + specialConnector.add(and); + specialConnector.add(equal); + + return specialConnector; + } } diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java index e171f0571..c895837ee 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java @@ -53,6 +53,7 @@ import com.webank.cmdb.util.DateUtils; import com.webank.cmdb.util.JpaQueryUtils; import com.webank.cmdb.util.JsonUtil; +import static com.webank.cmdb.util.SpecialSymbolUtils.getAfterSpecialSymbol; @Service @SuppressWarnings({ "rawtypes", "unchecked" }) @@ -424,7 +425,7 @@ private String queryValueByRule(String rootGuid, AdmCiTypeAttr attrWithGuid, Obj sb.append(value); } if (i < targetValues.size() - 1) { - sb.append(","); + sb.append(getAfterSpecialSymbol(CmdbConstants.SYMBOL_COMMA)); } } } catch (IOException e) { @@ -495,10 +496,6 @@ private IntegrationQueryDto travelFillQueryDto(List List attrs = new ArrayList(); attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),"guid")); fileds.add(item.getCiTypeId() + "$guid"); - item.getAttrKeyNames().stream().forEach(keyName -> { - attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),keyName)); - fileds.add(keyName); - }); if(item.getFilters().size()>0) { List filters = new ArrayList(queryRequest.getFilters()); item.getFilters().stream().forEach(filter -> { diff --git a/cmdb-core/src/main/java/com/webank/cmdb/util/SpecialSymbolUtils.java b/cmdb-core/src/main/java/com/webank/cmdb/util/SpecialSymbolUtils.java new file mode 100644 index 000000000..5c8205c11 --- /dev/null +++ b/cmdb-core/src/main/java/com/webank/cmdb/util/SpecialSymbolUtils.java @@ -0,0 +1,22 @@ +package com.webank.cmdb.util; + +public class SpecialSymbolUtils { + private static byte b1[] = {0x01}; + private static String specialSeparator = new String(b1); + + public static String getPrepositionalSpecialSymbol(String s) { + String separator = specialSeparator + s; + return separator; + } + public static String getAfterSpecialSymbol(String s) { + String separator = s + specialSeparator; + return separator; + } + public static String getAroundSpecialSymbol(String s) { + String separator = specialSeparator + s + specialSeparator; + return separator; + } + public static String getSpecialSeparator() { + return specialSeparator; + } +} From 744baa0bd37dd91d711fe1b3d8c7bc1e9c8cd273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Irving=20ZHAO=EF=BC=88=E8=B5=B5=E4=BF=AD=29?= Date: Tue, 24 Dec 2019 11:37:29 +0800 Subject: [PATCH 049/172] fixed #566, support CN and EN menus display name --- cmdb-plugin/register.xml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/cmdb-plugin/register.xml b/cmdb-plugin/register.xml index 7250524b0..75b60b1bb 100644 --- a/cmdb-plugin/register.xml +++ b/cmdb-plugin/register.xml @@ -8,23 +8,23 @@ - - /wecmdb/designing/ci-data-enquiry - /wecmdb/designing/ci-integrated-query-execution - /wecmdb/designing/enum-enquiry + + /wecmdb/designing/ci-data-enquiry + /wecmdb/designing/ci-integrated-query-execution + /wecmdb/designing/enum-enquiry - /wecmdb/designing/ci-data-management - /wecmdb/designing/ci-integrated-query-management - /wecmdb/designing/enum-management + /wecmdb/designing/ci-data-management + /wecmdb/designing/ci-integrated-query-management + /wecmdb/designing/enum-management - /wecmdb/view-management/idc-planning-design - /wecmdb/view-management/idc-resource-planning - /wecmdb/view-management/application-architecture-design - /wecmdb/view-management/application-deployment-design + /wecmdb/view-management/idc-planning-design + /wecmdb/view-management/idc-resource-planning + /wecmdb/view-management/application-architecture-design + /wecmdb/view-management/application-deployment-design - /wecmdb/admin/cmdb-model-management - /wecmdb/admin/base-data-management - /wecmdb/admin/query-log + /wecmdb/admin/cmdb-model-management + /wecmdb/admin/base-data-management + /wecmdb/admin/query-log From 8781924e97e6ccb855a928e9a6c549d52dcae085 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Tue, 24 Dec 2019 11:54:52 +0800 Subject: [PATCH 050/172] #539 validate fix --- .../cmdb/controller/apiv2/ApiV2ControllerCiDataTest.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiDataTest.java b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiDataTest.java index 288ff4563..b0eacfd5c 100755 --- a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiDataTest.java +++ b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiDataTest.java @@ -11,7 +11,7 @@ import static org.junit.Assert.assertThat; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; - +import static com.webank.cmdb.util.SpecialSymbolUtils.getAfterSpecialSymbol; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -482,8 +482,11 @@ public void whenUpdateCiDataWithRuleReferToThenShouldAutoFillDataAccordingly() t Integer attrIdOfKeyName = 14; updateCiAttrWithAutoFillRule(attrIdOfKeyName, JsonUtil.toJson(autoFillItems)); - - String expectedUpdateKeyName = "Subsys Desc update,Subsystem1,Subsystem2,Subsystem3,Subsystem4,Subsystem5,Subsystem6,Subsystem7,Subsystem8,Subsystem9,Subsystem10,Subsystem11"; + String separator = getAfterSpecialSymbol(","); + + String expectedUpdateKeyNameold = "Subsys Desc update,Subsystem1,Subsystem2,Subsystem3,Subsystem4,Subsystem5,Subsystem6,Subsystem7,Subsystem8,Subsystem9,Subsystem10,Subsystem11"; + String expectedUpdateKeyName = expectedUpdateKeyNameold.replace(",", separator); + Map jsonMap = ImmutableMap.builder() .put("guid", "0003_0000000001") .put("description", "Subsys Desc update") From d47855e1b43ceafa928e4cec0228aafb50fa2988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Irving=20ZHAO=EF=BC=88=E8=B5=B5=E4=BF=AD=29?= Date: Tue, 24 Dec 2019 11:55:47 +0800 Subject: [PATCH 051/172] Update register.xml --- cmdb-plugin/register.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdb-plugin/register.xml b/cmdb-plugin/register.xml index 75b60b1bb..e9f8793e6 100644 --- a/cmdb-plugin/register.xml +++ b/cmdb-plugin/register.xml @@ -23,7 +23,7 @@ /wecmdb/view-management/application-deployment-design /wecmdb/admin/cmdb-model-management - /wecmdb/admin/base-data-management + /wecmdb/admin/base-data-management /wecmdb/admin/query-log From 54a2e916f42c2453440eb301f861e054170af5c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Irving=20ZHAO=EF=BC=88=E8=B5=B5=E4=BF=AD=29?= Date: Tue, 24 Dec 2019 14:13:59 +0800 Subject: [PATCH 052/172] Update register.xml --- cmdb-plugin/register.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdb-plugin/register.xml b/cmdb-plugin/register.xml index e9f8793e6..de88bda1a 100644 --- a/cmdb-plugin/register.xml +++ b/cmdb-plugin/register.xml @@ -20,7 +20,7 @@ /wecmdb/view-management/idc-planning-design /wecmdb/view-management/idc-resource-planning /wecmdb/view-management/application-architecture-design - /wecmdb/view-management/application-deployment-design + /wecmdb/view-management/application-deployment-design /wecmdb/admin/cmdb-model-management /wecmdb/admin/base-data-management From 65b26a7d78c23ce17da4baece767ccdf658c0bd0 Mon Sep 17 00:00:00 2001 From: elliotshi Date: Tue, 24 Dec 2019 15:11:23 +0800 Subject: [PATCH 053/172] bugfix #557 to display isUnique property in page --- cmdb-ui/src/locale/i18n/en-US.json | 1 + cmdb-ui/src/locale/i18n/zh-CN.json | 1 + .../src/pages/admin/cmdb-model-management.vue | 81 ++++++++++++------- 3 files changed, 52 insertions(+), 31 deletions(-) diff --git a/cmdb-ui/src/locale/i18n/en-US.json b/cmdb-ui/src/locale/i18n/en-US.json index 74d5cd386..e3839b140 100755 --- a/cmdb-ui/src/locale/i18n/en-US.json +++ b/cmdb-ui/src/locale/i18n/en-US.json @@ -87,6 +87,7 @@ "is_access_controlled": "Is Access Controlled", "is_nullable": "Is Nullable", "is_editable": "Is Editable", + "is_unique": "Is Unique", "is_auto": "Is Auto Fill", "auto_fill_rule": "Auto Fill Rule", "filter_rule": "Filter Rule", diff --git a/cmdb-ui/src/locale/i18n/zh-CN.json b/cmdb-ui/src/locale/i18n/zh-CN.json index eaa618d6e..6bf701acd 100755 --- a/cmdb-ui/src/locale/i18n/zh-CN.json +++ b/cmdb-ui/src/locale/i18n/zh-CN.json @@ -87,6 +87,7 @@ "is_access_controlled": "权限控制", "is_nullable": "允许为空", "is_editable": "是否可编辑", + "is_unique": "是否唯一", "is_auto": "自动填充", "auto_fill_rule": "填充规则", "filter_rule": "过滤规则", diff --git a/cmdb-ui/src/pages/admin/cmdb-model-management.vue b/cmdb-ui/src/pages/admin/cmdb-model-management.vue index 0f0912d20..0bb2e7150 100755 --- a/cmdb-ui/src/pages/admin/cmdb-model-management.vue +++ b/cmdb-ui/src/pages/admin/cmdb-model-management.vue @@ -274,9 +274,7 @@ this.confirmDelimiter(i)} + on-on-enter={() => this.$refs.delimiterInput.blur()} + onInput={v => this.onDelimiterInput(v)} + value={val} + /> + ) + } else { + result = [ + , + val.split("").map(_ => { + return ( + { _ } + ) + }), + + ] + } + return result + }, + renderSpecialDelimiter(value, i) { + return [ + , + value.split("").map(_ => { + return ( + { this.specialDelimiters.find(item => item.code === value).value } + ) + }), + + ] + }, + // 连接符输入框失焦或按回车时,需要更新 this.autoFillArray + confirmDelimiter(i) { + if (this.activeDelimiterValue === "") { + // 如果输入框没有值,则在 this.autoFillArray 中删掉该项 + this.autoFillArray.splice(i, 1) + } else { + this.autoFillArray[i].value = this.activeDelimiterValue + // 将相邻两项 type === delimiter 合并为一项 + if (this.autoFillArray[i + 1] && this.autoFillArray[i + 1].type === "delimiter") { + this.autoFillArray[i].value += this.autoFillArray[i + 1].value + this.autoFillArray.splice(i + 1, 1) + } + if (i > 0 && this.autoFillArray[i - 1].type === "delimiter") { + this.autoFillArray[i - 1].value += this.autoFillArray[i].value + this.autoFillArray.splice(i, 1) + } + } + this.activeDelimiterIndex = "" + this.activeDelimiterValue = "" + this.handleInput() + }, + onDelimiterInput(v) { + this.activeDelimiterValue = v + }, + renderAddRule() { + return [ + , + !this.autoFillArray.length && ({this.$t("auto_fill_filter_placeholder")}) + ] + }, + initAutoFillArray() { + if (!this.allCiTypes.length || !this.value) { + return + } + this.autoFillArray = JSON.parse(this.value) + }, + focusInput() { + // 点击编辑连接符后,需要聚焦 Input + if (this.activeDelimiterIndex && this.$refs.delimiterInput) { + this.$nextTick(() => { + this.$refs.delimiterInput.focus() + }) + } + }, + // 添加过滤添加的弹框 + renderModal() { + const emptyFilter = { + name: "", + inputType: "text", + operator: "", + value: "" + } + return ( + this.modalDisplay = v} + title={this.$t("auto_fill_filter_modal_title")} + on-on-ok={this.confirmFilter} + on-on-cancel={this.cancelFilter} + > + { + this.filters.map((_, i) => ( +
+ this.filters.splice(i, 1)} + class="auto-fill-filter-li-icon" + /> + + + this.filters[i].value = v} + value={_.value} + /> +
+ )) + } + +
+ ) + }, + changeFilter(val, i) { + this.filters[i].name = val + const found = this.filterCiAttrs.find(_ => _.propertyName === val) + const inputType = found.inputType + switch (inputType) { + case "number": + this.filters[i].value = 0 + break; + default: + this.filters[i].value = "" + break; + } + this.filters[i].inputType = inputType + }, + confirmFilter() { + const filters = this.filters.filter(_ => _.name && _.operator).map(_ => { + if (_.operator === "in") { + _.value = _.value.split(",") + } + if (_.inputType === "number") { + if (Array.isArray(_.value)) { + _.value = _.value.map(v => Number(v)) + } else { + _.value = Number(v) + } + } + return { + name: _.name, + operator: _.operator, + value: _.value + } + }) + let value = JSON.parse(this.autoFillArray[this.filterIndex[0]].value) + if (filters.length) { + value[this.filterIndex[1]].filters = filters + } else { + delete value[this.filterIndex[1]].filters + } + this.autoFillArray[this.filterIndex[0]].value = JSON.stringify(value) + this.cancelFilter() + this.handleInput() + }, + cancelFilter() { + this.filterCiTypeId = 0 + this.filters = [] + this.filterCiAttrs = [] + this.filterIndex = [] + }, + handleInput() { + this.$nextTick(() => { + const value = this.autoFillArray.length ? JSON.stringify(this.autoFillArray) : "" + let isLegal = true + this.autoFillArray.forEach(_ => { + if (_.type === "rule") { + const ruleArray = JSON.parse(_.value) + const lastNode = ruleArray[ruleArray.length - 1] + const lastAttrId = ruleArray[ruleArray.length - 1].parentRs ? ruleArray[ruleArray.length - 1].parentRs.attrId : 0 + if (lastNode.parentRs) { + if (this.ciTypeAttrsObj[lastAttrId].inputType === "ref" || this.ciTypeAttrsObj[lastAttrId].inputType === "multiRef") { + isLegal = false + } else if (this.ciTypeAttrsObj[lastAttrId].inputType === "select" || this.ciTypeAttrsObj[lastAttrId].inputType === "multiSelect") { + if (!lastNode.enumCodeAttr) { + isLegal = false + } + } + } + } + }) + if (isLegal) { + this.$emit("artifacts_input", value) + } + }) + } + }, + mounted() { + this.initAutoFillArray() + }, + updated() { + this.focusInput() + }, + render(h) { + return ( +
+ { + this.isReadOnly ? ( + // 只读状态 + this.renderEditor() + ) : ( + // 可编辑状态 + + {this.renderEditor()} + + ) + } +
+ ) + } +} \ No newline at end of file diff --git a/cmdb-ui/src/pages/components/auto-fill.scss b/cmdb-ui/src/pages/components/auto-fill.scss new file mode 100644 index 000000000..42980bea5 --- /dev/null +++ b/cmdb-ui/src/pages/components/auto-fill.scss @@ -0,0 +1,93 @@ +.auto-fill { + overflow: hidden; + word-break: break-all; + + &-span { + border-bottom: 1px solid #fff; + + &:hover { + cursor: pointer; + } + + &.contains { + color: #f00; + } + } + + &-placeholder { + color: #aaa; + } + + &-hover { + border-bottom: 1px solid #00f; + } + + &-current-node { + background-color: rgb(227, 231, 235); + } + + &-error { + border-bottom: 1px solid #f00; + } + + &-braces { + font-weight: 600; + } + + &-options { + max-height: 200px; + overflow: auto; + width: 100%; + } + + &-li { + cursor: pointer; + height: 25px; + line-height: 25px; + width: 100%; + + &-ref-from { + background-color: #b5d8b5; + } + &-ref-to { + background-color: #d88383; + } + + &:hover { + background-color: rgb(227, 231, 235); + } + } + + &-add { + cursor: pointer; + } + + &-filter-li { + align-items: center; + display: flex; + margin: 5px 0; + min-height: 32px; + + &-icon { + cursor: pointer; + margin-right: 5px; + } + + &-select { + margin-right: 5px; + text-overflow: ellipsis; + overflow: hidden; + + &.title { + width: 150px; + } + &.operator { + width: 100px; + } + } + + &-input { + flex: 1; + } + } +} \ No newline at end of file diff --git a/cmdb-ui/src/pages/components/auto-fill.vue b/cmdb-ui/src/pages/components/auto-fill.vue deleted file mode 100755 index 1697519bb..000000000 --- a/cmdb-ui/src/pages/components/auto-fill.vue +++ /dev/null @@ -1,488 +0,0 @@ - - - - - From 643f1eee06fd214e528ff0c333e4e9862ef7cea7 Mon Sep 17 00:00:00 2001 From: zhangsenfeng <729346129@qq.com> Date: Tue, 24 Dec 2019 20:34:47 +0800 Subject: [PATCH 056/172] :bug: #539 update auto-fill component css --- cmdb-ui/src/pages/components/auto-fill.js | 4 ++-- cmdb-ui/src/pages/components/auto-fill.scss | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cmdb-ui/src/pages/components/auto-fill.js b/cmdb-ui/src/pages/components/auto-fill.js index d010ce3f4..e3eae5e08 100644 --- a/cmdb-ui/src/pages/components/auto-fill.js +++ b/cmdb-ui/src/pages/components/auto-fill.js @@ -6,7 +6,7 @@ export default { props: { allCiTypes: { default: () => [], required: true }, isReadOnly: { default: () => false, required: false }, - value: { default: () => [], required: true }, + value: { default: () => "", required: true }, rootCiTypeId: { type: Number, required: true }, specialDelimiters: { default: () => [], required: true } }, @@ -735,7 +735,7 @@ export default { } }) if (isLegal) { - this.$emit("artifacts_input", value) + this.$emit("input", value) } }) } diff --git a/cmdb-ui/src/pages/components/auto-fill.scss b/cmdb-ui/src/pages/components/auto-fill.scss index 42980bea5..2c0bca039 100644 --- a/cmdb-ui/src/pages/components/auto-fill.scss +++ b/cmdb-ui/src/pages/components/auto-fill.scss @@ -14,6 +14,10 @@ } } + &-special-delimiter { + font-weight: 600; + } + &-placeholder { color: #aaa; } @@ -47,10 +51,10 @@ width: 100%; &-ref-from { - background-color: #b5d8b5; + color: rgb(22, 206, 22); } &-ref-to { - background-color: #d88383; + color: rgb(206, 13, 13); } &:hover { From edd1b89adeb9e41e1f064d7e0eac8b23024f8dfe Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Wed, 25 Dec 2019 14:23:19 +0800 Subject: [PATCH 057/172] #573 Fix the issue of cascade deleting --- .../dynamicEntity/DynamicEntityGenerator.java | 5 --- .../ApiV2ControllerMultReferenceTest.java | 45 +++++++++++++++++++ 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java b/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java index 6c0d2916e..74e1c51e3 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java @@ -172,11 +172,6 @@ private static void writeGetter(ClassWriter classWriter, FieldNode field, String { annotationVisitor0 = methodVisitor.visitAnnotation("Ljavax/persistence/ManyToMany;", true); annotationVisitor0.visitEnum("fetch", "Ljavax/persistence/FetchType;", "EAGER"); - { - AnnotationVisitor annotationVisitor1 = annotationVisitor0.visitArray("cascade"); - annotationVisitor1.visitEnum(null, "Ljavax/persistence/CascadeType;", "ALL"); - annotationVisitor1.visitEnd(); - } annotationVisitor0.visitEnd(); } { diff --git a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerMultReferenceTest.java b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerMultReferenceTest.java index 170a87ae2..a4f5e576a 100755 --- a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerMultReferenceTest.java +++ b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerMultReferenceTest.java @@ -332,6 +332,51 @@ public void operateDiscardThenThePreviousMultiSelectValueShouldBeReverted() thro queryMultiReferenceAndVerify(ciTypeId, "mul_reference", 1); } + @Test + public void deleteCiShouldNotDeleteItReferenceCis() throws Exception { + mvc.perform(post("/api/v2/ciTypes/apply").contentType(MediaType.APPLICATION_JSON) + .content("[51,50]")) + .andExpect(jsonPath("$.statusCode", is("OK"))); + + String reqJson; + int ciTypeIdA = 50; + int ciTypeIdB = 51; + MvcResult mvcResult; + List ciBs = createCIDataB(); + String guidB1 = ciBs.get(0); + String guidB2 = ciBs.get(1); + + // create Ci A which refer to guidB + Map jsonMap = ImmutableMap.builder() + .put("description", "multi reference A ci data") + .put("mul_reference", Lists.newArrayList(guidB1, guidB2)) + .build(); + reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + mvcResult = mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdA).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))) + .andExpect(jsonPath("$.data[0].guid", notNullValue())) + .andReturn(); + String retContent = mvcResult.getResponse() + .getContentAsString(); + String guidA = JsonUtil.asNodeByPath(retContent, "/data/0/guid") + .asText(); + + // retrieve ci data for guid A + queryMultiReferenceAndVerify(ciTypeIdA, "mul_reference", 2); + + // delete + String deleteJson = JsonUtil.toJson(ImmutableList.of(guidA)); + mvc.perform(post("/api/v2/ci/{ciTypeId}/delete", ciTypeIdA).contentType(MediaType.APPLICATION_JSON) + .content(deleteJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))); + + mvc.perform(post("/api/v2/ci/{ciTypeId}/retrieve", ciTypeIdB).contentType(MediaType.APPLICATION_JSON) + .content("{}")) + .andExpect(jsonPath("$.statusCode", is("OK"))) + .andExpect(jsonPath("$.data.contents", hasSize(2))); + } + private void operateState(int ciTypeId, String guid, StateOperation operation) throws Exception { String url = "/api/v2/ci/state/operate?operation=" + operation.getCode(); mvc.perform(post(url).contentType(MediaType.APPLICATION_JSON) From 3d731f7b31426eaf048bedf3337f988d10554a32 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Wed, 25 Dec 2019 15:00:03 +0800 Subject: [PATCH 058/172] #573 Revert the cascade of PERSIST and MERGE --- .../cmdb/dynamicEntity/DynamicEntityGenerator.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java b/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java index 74e1c51e3..0383c06ba 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java @@ -4,6 +4,7 @@ import java.util.Collection; import java.util.Map; +import org.hibernate.annotations.CascadeType; import org.objectweb.asm.AnnotationVisitor; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.FieldVisitor; @@ -172,6 +173,12 @@ private static void writeGetter(ClassWriter classWriter, FieldNode field, String { annotationVisitor0 = methodVisitor.visitAnnotation("Ljavax/persistence/ManyToMany;", true); annotationVisitor0.visitEnum("fetch", "Ljavax/persistence/FetchType;", "EAGER"); + { + AnnotationVisitor annotationVisitor1 = annotationVisitor0.visitArray("cascade"); + annotationVisitor1.visitEnum(null, "Ljavax/persistence/CascadeType;", CascadeType.PERSIST.toString()); + annotationVisitor1.visitEnum(null, "Ljavax/persistence/CascadeType;", CascadeType.MERGE.toString()); + annotationVisitor1.visitEnd(); + } annotationVisitor0.visitEnd(); } { @@ -238,7 +245,7 @@ private static void writeGetterForMapperBy(ClassWriter classWriter, FieldNode fi if (DynamicEntityType.MultiSelection.equals(field.getEntityType())) { annotationVisitor0.visitEnum("fetch", "Ljavax/persistence/FetchType;", "EAGER"); AnnotationVisitor annotationVisitor1 = annotationVisitor0.visitArray("cascade"); - annotationVisitor1.visitEnum(null, "Ljavax/persistence/CascadeType;", "ALL"); + annotationVisitor1.visitEnum(null, "Ljavax/persistence/CascadeType;", CascadeType.ALL.toString()); annotationVisitor1.visitEnd(); } annotationVisitor0.visitEnd(); From c54cf4f61cbda4ce1ca08048051557dd8097ea88 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Wed, 25 Dec 2019 15:26:23 +0800 Subject: [PATCH 059/172] #573 Revert the cascade of REFRESH and DETACH --- .../webank/cmdb/dynamicEntity/DynamicEntityGenerator.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java b/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java index 0383c06ba..fa05f691e 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/dynamicEntity/DynamicEntityGenerator.java @@ -4,7 +4,8 @@ import java.util.Collection; import java.util.Map; -import org.hibernate.annotations.CascadeType; +import javax.persistence.CascadeType; + import org.objectweb.asm.AnnotationVisitor; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.FieldVisitor; @@ -177,6 +178,8 @@ private static void writeGetter(ClassWriter classWriter, FieldNode field, String AnnotationVisitor annotationVisitor1 = annotationVisitor0.visitArray("cascade"); annotationVisitor1.visitEnum(null, "Ljavax/persistence/CascadeType;", CascadeType.PERSIST.toString()); annotationVisitor1.visitEnum(null, "Ljavax/persistence/CascadeType;", CascadeType.MERGE.toString()); + annotationVisitor1.visitEnum(null, "Ljavax/persistence/CascadeType;", CascadeType.REFRESH.toString()); + annotationVisitor1.visitEnum(null, "Ljavax/persistence/CascadeType;", CascadeType.DETACH.toString()); annotationVisitor1.visitEnd(); } annotationVisitor0.visitEnd(); From cc6581ba2f82fbfd31c7dc5a3e21778ea2e5f6e1 Mon Sep 17 00:00:00 2001 From: elliotshi Date: Wed, 25 Dec 2019 17:55:08 +0800 Subject: [PATCH 060/172] enhance #538 support to query CI data history. v0.1 --- cmdb-ui/src/api/server.js | 21 +++-- cmdb-ui/src/pages/designing/ci-data.vue | 116 ++++++++++++++++++++---- 2 files changed, 113 insertions(+), 24 deletions(-) diff --git a/cmdb-ui/src/api/server.js b/cmdb-ui/src/api/server.js index cd7ebbb18..7addd6e45 100755 --- a/cmdb-ui/src/api/server.js +++ b/cmdb-ui/src/api/server.js @@ -1,12 +1,16 @@ import { req as request, baseURL } from "./base"; -import { pluginErrorMessage } from "./base-pulgin" +import { pluginErrorMessage } from "./base-pulgin"; let req = request; if (window.request) { req = { - post: (url, ...params) => pluginErrorMessage(window.request.post(baseURL + url, ...params)), - get: (url, ...params) => pluginErrorMessage(window.request.get(baseURL + url, ...params)), - delete: (url, ...params) => pluginErrorMessage(window.request.delete(baseURL + url, ...params)), - put: (url, ...params) => pluginErrorMessage(window.request.put(baseURL + url, ...params)) + post: (url, ...params) => + pluginErrorMessage(window.request.post(baseURL + url, ...params)), + get: (url, ...params) => + pluginErrorMessage(window.request.get(baseURL + url, ...params)), + delete: (url, ...params) => + pluginErrorMessage(window.request.delete(baseURL + url, ...params)), + put: (url, ...params) => + pluginErrorMessage(window.request.put(baseURL + url, ...params)) }; } @@ -172,9 +176,7 @@ export const getApplicationFrameworkDesignDataTree = guid => req.get(`/data-tree/application-framework-design?system-design-guid=${guid}`); export const getDeployCiData = (data, payload) => req.post( - `/deploy-designs/tabs/ci-data?code-id=${data.codeId}&env-code=${ - data.envCode - }&system-design-guid=${data.systemDesignGuid}`, + `/deploy-designs/tabs/ci-data?code-id=${data.codeId}&env-code=${data.envCode}&system-design-guid=${data.systemDesignGuid}`, payload ); export const getDeployDesignTabs = () => req.get(`/deploy-designs/tabs`); @@ -235,6 +237,9 @@ export const deleteEnumCodes = data => { export const queryCiData = data => { return req.post(`/ci-types/${data.id}/ci-data/query`, data.queryObject); }; +export const queryCiDataByType = data => { + return req.post(`/ci-types/${data.id}/ci-data/queryByType`, data.queryObject); +}; export const getCiTypeAttributes = id => { return req.get(`/ci-types/${id}/attributes`); }; diff --git a/cmdb-ui/src/pages/designing/ci-data.vue b/cmdb-ui/src/pages/designing/ci-data.vue index 85aecc86c..e395e545d 100755 --- a/cmdb-ui/src/pages/designing/ci-data.vue +++ b/cmdb-ui/src/pages/designing/ci-data.vue @@ -37,17 +37,35 @@ :ref="'table' + ci.id" > +
+
更新时间
+ +
查询类型
+ +
+ + From be405b1087e1b969f2a255caacb4c49fa79621f7 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Wed, 25 Dec 2019 18:11:35 +0800 Subject: [PATCH 061/172] #539 Add unit tests for autofill with filter --- .../AbstractBaseControllerTest.java | 12 + .../apiv2/ApiV2ControllerAutoFillTest.java | 206 ++++++++++++++++++ .../apiv2/ApiV2ControllerFilterRuleTest.java | 10 - .../rule_with_filter_at_2nd_node.json | 6 + ...rule_with_filter_same_as_target_value.json | 6 + .../autofillrule/rule_without_filter.json | 6 + 6 files changed, 236 insertions(+), 10 deletions(-) create mode 100644 cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerAutoFillTest.java create mode 100644 cmdb-core/src/test/resources/json/autofillrule/rule_with_filter_at_2nd_node.json create mode 100644 cmdb-core/src/test/resources/json/autofillrule/rule_with_filter_same_as_target_value.json create mode 100644 cmdb-core/src/test/resources/json/autofillrule/rule_without_filter.json diff --git a/cmdb-core/src/test/java/com/webank/cmdb/controller/AbstractBaseControllerTest.java b/cmdb-core/src/test/java/com/webank/cmdb/controller/AbstractBaseControllerTest.java index 3155fc736..dbe2b4113 100755 --- a/cmdb-core/src/test/java/com/webank/cmdb/controller/AbstractBaseControllerTest.java +++ b/cmdb-core/src/test/java/com/webank/cmdb/controller/AbstractBaseControllerTest.java @@ -1,7 +1,10 @@ package com.webank.cmdb.controller; +import java.io.IOException; + import javax.sql.DataSource; +import org.apache.commons.io.IOUtils; import org.junit.After; import org.junit.Before; import org.junit.runner.RunWith; @@ -10,6 +13,7 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.core.io.ClassPathResource; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; @@ -61,4 +65,12 @@ public void cleanUp() { System.out.print(e.toString()); } } + + public String readJsonFromFile(String filePath) throws IOException { + ClassPathResource resource = new ClassPathResource(filePath); + if (resource.exists()) { + return new String(IOUtils.toString(resource.getInputStream())); + } + return null; + } } diff --git a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerAutoFillTest.java b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerAutoFillTest.java new file mode 100644 index 000000000..2102389a2 --- /dev/null +++ b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerAutoFillTest.java @@ -0,0 +1,206 @@ +package com.webank.cmdb.controller.apiv2; + +import static com.webank.cmdb.controller.QueryRequestUtils.defaultQueryObject; +import static com.webank.cmdb.util.SpecialSymbolUtils.getAfterSpecialSymbol; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.Matchers.hasSize; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; + +import java.util.List; +import java.util.Map; + +import org.junit.Test; +import org.springframework.http.MediaType; +import org.springframework.test.web.servlet.MvcResult; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.webank.cmdb.controller.AbstractBaseControllerTest; +import com.webank.cmdb.controller.QueryRequestUtils; +import com.webank.cmdb.util.JsonUtil; + +public class ApiV2ControllerAutoFillTest extends AbstractBaseControllerTest { + private static final int ciTypeIdOfSubsysDesign = 2; + private static final int ciTypeIdOfSystemDesign = 1; + + @Test + public void whenAutoFillWithoutFilterShouldSuccess() throws Exception { + Integer keyNameAttrIdOfSystemDesign = 8; + updateCiAttrWithAutoFillRule(keyNameAttrIdOfSystemDesign, readJsonFromFile("json/autofillrule/rule_without_filter.json")); + + Map jsonMap = ImmutableMap.builder() + .put("description", "Desc of System design A") + .put("code", "system_design_a") + .put("name", "System design A") + .put("business_group", 43) + .build(); + String reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + MvcResult result = mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdOfSystemDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))) + .andReturn(); + String retContent = result.getResponse() + .getContentAsString(); + String guid = JsonUtil.asNodeByPath(retContent, "/data/0/guid").asText(); + + jsonMap = ImmutableMap.builder() + .put("description", "Desc of Subsys design A1") + .put("code", "subsys_design_a1") + .put("name", "Subsys design A1") + .put("system_design", guid) + .put("dcn_design_type", 63) + .build(); + reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdOfSubsysDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))); + + jsonMap = ImmutableMap.builder() + .put("description", "Desc of Subsys design A2") + .put("code", "subsys_design_a2") + .put("name", "Subsys design A2") + .put("system_design", guid) + .put("dcn_design_type", 63) + .build(); + reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdOfSubsysDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))); + + String separator = getAfterSpecialSymbol(","); + String expectedKeyNameOfSystemDesign = "subsys_design_a1,subsys_design_a2".replace(",", separator); + QueryRequestUtils queryObject = defaultQueryObject(); + queryObject.addEqualsFilter("key_name", expectedKeyNameOfSystemDesign) + .withPaging(false); + reqJson = JsonUtil.toJsonString(queryObject); + mvc.perform(post("/api/v2/ci/{ciTypeId}/retrieve", ciTypeIdOfSystemDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))) + .andExpect(jsonPath("$.data.contents", hasSize(1))); + } + + @Test + public void whenAutoFillWithOneFilterAt2ndNodeShouldSuccess() throws Exception { + Integer keyNameAttrIdOfSystemDesign = 8; + updateCiAttrWithAutoFillRule(keyNameAttrIdOfSystemDesign, readJsonFromFile("json/autofillrule/rule_with_filter_at_2nd_node.json")); + + Map jsonMap = ImmutableMap.builder() + .put("description", "Desc of System design A") + .put("code", "system_design_a") + .put("name", "System design A") + .put("business_group", 43) + .build(); + String reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + MvcResult result = mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdOfSystemDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))) + .andReturn(); + String retContent = result.getResponse() + .getContentAsString(); + String guid = JsonUtil.asNodeByPath(retContent, "/data/0/guid").asText(); + + jsonMap = ImmutableMap.builder() + .put("description", "Desc of Subsys design A1") + .put("code", "subsys_design_a1") + .put("name", "Subsys design A1") + .put("system_design", guid) + .put("dcn_design_type", 63) + .build(); + reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdOfSubsysDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))); + + jsonMap = ImmutableMap.builder() + .put("description", "Desc of Subsys design A2") + .put("code", "subsys_design_a2") + .put("name", "Subsys design A2") + .put("system_design", guid) + .put("dcn_design_type", 63) + .build(); + reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdOfSubsysDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))); + + String expectedKeyNameOfSystemDesign = "subsys_design_a1"; + QueryRequestUtils queryObject = defaultQueryObject(); + queryObject.addEqualsFilter("key_name", expectedKeyNameOfSystemDesign) + .withPaging(false); + reqJson = JsonUtil.toJsonString(queryObject); + mvc.perform(post("/api/v2/ci/{ciTypeId}/retrieve", ciTypeIdOfSystemDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))) + .andExpect(jsonPath("$.data.contents", hasSize(1))); + } + + @Test + public void whenAutoFillWithOneFilterSameAsTargetValueShouldSuccess() throws Exception { + Integer keyNameAttrIdOfSystemDesign = 8; + updateCiAttrWithAutoFillRule(keyNameAttrIdOfSystemDesign, readJsonFromFile("json/autofillrule/rule_with_filter_same_as_target_value.json")); + + Map jsonMap = ImmutableMap.builder() + .put("description", "Desc of System design A") + .put("code", "system_design_a") + .put("name", "System design A") + .put("business_group", 43) + .build(); + String reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + MvcResult result = mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdOfSystemDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))) + .andReturn(); + String retContent = result.getResponse() + .getContentAsString(); + String guid = JsonUtil.asNodeByPath(retContent, "/data/0/guid").asText(); + + jsonMap = ImmutableMap.builder() + .put("description", "Desc of Subsys design A1") + .put("code", "subsys_design_a1") + .put("name", "Subsys design A1") + .put("system_design", guid) + .put("dcn_design_type", 63) + .build(); + reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdOfSubsysDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))); + + jsonMap = ImmutableMap.builder() + .put("description", "Desc of Subsys design A2") + .put("code", "subsys_design_a2") + .put("name", "Subsys design A2") + .put("system_design", guid) + .put("dcn_design_type", 63) + .build(); + reqJson = JsonUtil.toJson(ImmutableList.of(jsonMap)); + mvc.perform(post("/api/v2/ci/{ciTypeId}/create", ciTypeIdOfSubsysDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))); + + String expectedKeyNameOfSystemDesign = "subsys_design_a1"; + QueryRequestUtils queryObject = defaultQueryObject(); + queryObject.addEqualsFilter("key_name", expectedKeyNameOfSystemDesign) + .withPaging(false); + reqJson = JsonUtil.toJsonString(queryObject); + mvc.perform(post("/api/v2/ci/{ciTypeId}/retrieve", ciTypeIdOfSystemDesign).contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))) + .andExpect(jsonPath("$.data.contents", hasSize(1))); + } + + private void updateCiAttrWithAutoFillRule(Integer attrId, String autoFillRule) throws Exception { + List jsonList = ImmutableList.builder() + .add(ImmutableMap.builder() + .put("ciTypeAttrId", attrId) + .put("isAuto", true) + .put("autoFillRule", autoFillRule) + .build()) + .build(); + String reqJson = JsonUtil.toJson(jsonList); + mvc.perform(post("/api/v2/ciTypeAttrs/update").contentType(MediaType.APPLICATION_JSON) + .content(reqJson)) + .andExpect(jsonPath("$.statusCode", is("OK"))); + } +} diff --git a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerFilterRuleTest.java b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerFilterRuleTest.java index f2703687b..445c50ce3 100755 --- a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerFilterRuleTest.java +++ b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerFilterRuleTest.java @@ -6,13 +6,10 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; -import java.io.IOException; import java.util.HashMap; import java.util.Map; -import org.apache.commons.io.IOUtils; import org.junit.Test; -import org.springframework.core.io.ClassPathResource; import org.springframework.http.MediaType; import com.google.common.collect.ImmutableList; @@ -229,11 +226,4 @@ private void setUpFilterRule(int referenceAttrId, String referenceFilterRule) th .andExpect(jsonPath("$.data[0].filterRule", is(referenceFilterRule))); } - private String readJsonFromFile(String filePath) throws IOException { - ClassPathResource resource = new ClassPathResource(filePath); - if (resource.exists()) { - return new String(IOUtils.toString(resource.getInputStream())); - } - return null; - } } diff --git a/cmdb-core/src/test/resources/json/autofillrule/rule_with_filter_at_2nd_node.json b/cmdb-core/src/test/resources/json/autofillrule/rule_with_filter_at_2nd_node.json new file mode 100644 index 000000000..68d3c0d98 --- /dev/null +++ b/cmdb-core/src/test/resources/json/autofillrule/rule_with_filter_at_2nd_node.json @@ -0,0 +1,6 @@ +[ + { + "type": "rule", + "value": "[{\"ciTypeId\":1},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":27,\"isReferedFromParent\":0},\"filters\": [{\"name\": \"name\",\"operator\": \"in\",\"value\": [\"Subsys design A1\"]}]},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":25,\"isReferedFromParent\":1}}]" + } +] \ No newline at end of file diff --git a/cmdb-core/src/test/resources/json/autofillrule/rule_with_filter_same_as_target_value.json b/cmdb-core/src/test/resources/json/autofillrule/rule_with_filter_same_as_target_value.json new file mode 100644 index 000000000..362694bb8 --- /dev/null +++ b/cmdb-core/src/test/resources/json/autofillrule/rule_with_filter_same_as_target_value.json @@ -0,0 +1,6 @@ +[ + { + "type": "rule", + "value": "[{\"ciTypeId\":1},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":27,\"isReferedFromParent\":0},\"filters\": [{\"name\": \"code\",\"operator\": \"in\",\"value\": [\"subsys_design_a1\"]}]},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":25,\"isReferedFromParent\":1}}]" + } +] \ No newline at end of file diff --git a/cmdb-core/src/test/resources/json/autofillrule/rule_without_filter.json b/cmdb-core/src/test/resources/json/autofillrule/rule_without_filter.json new file mode 100644 index 000000000..b0e9bea54 --- /dev/null +++ b/cmdb-core/src/test/resources/json/autofillrule/rule_without_filter.json @@ -0,0 +1,6 @@ +[ + { + "type": "rule", + "value": "[{\"ciTypeId\":1},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":27,\"isReferedFromParent\":0}},{\"ciTypeId\":2,\"parentRs\":{\"attrId\":25,\"isReferedFromParent\":1}}]" + } +] \ No newline at end of file From 30cb570a38b885ebf49d06df3c72f1a0cb9804c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=A3=AE=E5=B3=B0?= <729346129@qq.com> Date: Wed, 25 Dec 2019 19:48:56 +0800 Subject: [PATCH 062/172] :sparkles: #559 add new page: CMDB Permission for wecube's plugin --- cmdb-plugin/register.xml | 2 + cmdb-ui/src/api/server.js | 3 + cmdb-ui/src/locale/i18n/en-US.json | 1 + cmdb-ui/src/locale/i18n/zh-CN.json | 1 + .../src/pages/admin/cmdb-model-management.vue | 9 +- .../admin/plugin-permission-management.vue | 681 ++++++++++++++++++ cmdb-ui/src/router-plugin.js | 7 + 7 files changed, 700 insertions(+), 4 deletions(-) create mode 100644 cmdb-ui/src/pages/admin/plugin-permission-management.vue diff --git a/cmdb-plugin/register.xml b/cmdb-plugin/register.xml index b7e3e64d1..e5c7f2af8 100644 --- a/cmdb-plugin/register.xml +++ b/cmdb-plugin/register.xml @@ -25,6 +25,8 @@ /wecmdb/admin/cmdb-model-management /wecmdb/admin/base-data-management /wecmdb/admin/query-log + + /wecmdb/admin/permission-management diff --git a/cmdb-ui/src/api/server.js b/cmdb-ui/src/api/server.js index cd7ebbb18..9e5362d39 100755 --- a/cmdb-ui/src/api/server.js +++ b/cmdb-ui/src/api/server.js @@ -284,3 +284,6 @@ export const queryReferenceCiData = data => // log export const queryLogHeader = () => req.get("/log/queryHeader"); export const queryLog = data => req.post("/log/query", data); + +// wecube api +export const getWecubeRoles = () => window.request.get("platform/v1/roles/retrieve") \ No newline at end of file diff --git a/cmdb-ui/src/locale/i18n/en-US.json b/cmdb-ui/src/locale/i18n/en-US.json index e3839b140..8081bcd79 100755 --- a/cmdb-ui/src/locale/i18n/en-US.json +++ b/cmdb-ui/src/locale/i18n/en-US.json @@ -105,6 +105,7 @@ "add_role": "Add Role", "menus_management": "Menu Management", "data_management": "Data Management", + "details": "Details", "username_input_placeholder": "Please input username", "username": "Username", "fullname": "Full Name", diff --git a/cmdb-ui/src/locale/i18n/zh-CN.json b/cmdb-ui/src/locale/i18n/zh-CN.json index 6bf701acd..abdb311ab 100755 --- a/cmdb-ui/src/locale/i18n/zh-CN.json +++ b/cmdb-ui/src/locale/i18n/zh-CN.json @@ -105,6 +105,7 @@ "add_role": "添加角色", "menus_management": "菜单权限", "data_management": "数据权限", + "details": "详情", "username_input_placeholder": "请输入用户名", "username": "用户名", "fullname": "全名", diff --git a/cmdb-ui/src/pages/admin/cmdb-model-management.vue b/cmdb-ui/src/pages/admin/cmdb-model-management.vue index 0bb2e7150..b562cbb7c 100755 --- a/cmdb-ui/src/pages/admin/cmdb-model-management.vue +++ b/cmdb-ui/src/pages/admin/cmdb-model-management.vue @@ -1753,6 +1753,7 @@ export default { } }, async addNewAttr(id) { + const isSelectOrRef = this.addNewAttrForm.inputType const payload = { ...this.addNewAttrForm, length: this.addNewAttrForm.length || 1, @@ -1784,13 +1785,13 @@ export default { this.addNewAttrForm = {}; }, async saveAttr(ciTypeAttrId, form) { + const isSelectOrRef = form.inputType === "select" || form.inputType === "ref" || form.inputType === "multiSelect" || form.inputType === "multiRef" let payload = { ...form, length: form.length || 1, isRefreshable: form.isRefreshable === "yes", isDisplayed: form.isDisplayed === "yes", - isAccessControlled: - form.inputType === "text" && form.isAccessControlled === "yes", + isAccessControlled: isSelectOrRef && form.isAccessControlled === "yes", isNullable: form.isNullable === "yes", isAuto: form.isAuto === "yes", isEditable: form.isEditable === "yes", @@ -1812,6 +1813,7 @@ export default { } }, async applyAttr(ciTypeAttrId, form) { + const isSelectOrRef = form.inputType === "select" || form.inputType === "ref" || form.inputType === "multiSelect" || form.inputType === "multiRef" let updateRes = await updateCIAttr( this.currentSelectedCI.ciTypeId, ciTypeAttrId, @@ -1820,8 +1822,7 @@ export default { length: form.length || 1, isRefreshable: form.isRefreshable === "yes", isDisplayed: form.isDisplayed === "yes", - isAccessControlled: - form.inputType === "text" && form.isAccessControlled === "yes", + isAccessControlled: isSelectOrRef && form.isAccessControlled === "yes", isNullable: form.isNullable === "yes", isAuto: form.isAuto === "yes", isEditable: form.isEditable === "yes", diff --git a/cmdb-ui/src/pages/admin/plugin-permission-management.vue b/cmdb-ui/src/pages/admin/plugin-permission-management.vue new file mode 100644 index 000000000..19883605f --- /dev/null +++ b/cmdb-ui/src/pages/admin/plugin-permission-management.vue @@ -0,0 +1,681 @@ + + + + + \ No newline at end of file diff --git a/cmdb-ui/src/router-plugin.js b/cmdb-ui/src/router-plugin.js index 15d778a1d..324be7fd1 100755 --- a/cmdb-ui/src/router-plugin.js +++ b/cmdb-ui/src/router-plugin.js @@ -12,6 +12,7 @@ import idcPlanningDesign from "@/pages/designing/planning"; import idcResourcePlanning from "@/pages/designing/resource-planning"; import applicationArchitectureDesign from "@/pages/designing/application-architecture"; import applicationDeploymentDesign from "@/pages/designing/application-deployment"; +import wecmdbPermissions from "@/pages/admin/plugin-permission-management"; const router = [ { @@ -100,6 +101,12 @@ const router = [ path: "/wecmdb/view-management/application-deployment-design", name: "applicationDeploymentDesign", component: applicationDeploymentDesign + }, + // cmdb权限控制 + { + path: "/wecmdb/admin/permission-management", + name: "wecmdbPermissions", + component: wecmdbPermissions } ]; export default router; From 98ad760aef4f7b1ac9783ae16e098d748818c8f8 Mon Sep 17 00:00:00 2001 From: Jun Chen Date: Wed, 25 Dec 2019 22:34:49 +0800 Subject: [PATCH 063/172] #569 fetch domain object for hibernate proxy multi reference instance --- .../cmdb/service/impl/CiServiceImpl.java | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java index 66fabd5ed..3406c3a6a 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java @@ -46,6 +46,8 @@ import org.apache.commons.beanutils.BeanMap; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.formula.functions.T; +import org.hibernate.proxy.HibernateProxy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -588,8 +590,12 @@ private Map enrichCiObject(DynamicEntityMeta entityMeta, Map referCis = (Set) value; + Set referCis = (Set) value; attr = attrMap.get(attrId); + if(InputType.MultRef.getCode().equals(attr.getInputType())) { + referCis = fetchCiDomainObjForMultRef(attr, referCis); + } + DynamicEntityMeta multRefMeta = multRefMetaMap.get(attrId); Map sortMap = JpaQueryUtils.getSortedMapForMultiRef(entityManager, attr, multRefMeta); @@ -604,7 +610,26 @@ private Map enrichCiObject(DynamicEntityMeta entityMeta, Map referCis, Map sortMap) { + private Set fetchCiDomainObjForMultRef(AdmCiTypeAttr attr, Set referCis) { + Integer refCiTypeId = attr.getReferenceId(); + DynamicEntityMeta refEntityMeta = dynamicEntityMetaMap.get(refCiTypeId); + Class refEntityClzz = refEntityMeta.getEntityClazz(); + if(refEntityClzz != null) { + Set realReferCis = new HashSet(); + referCis.forEach(elem -> { + if(elem instanceof HibernateProxy) { + Object domainObj = ((HibernateProxy) elem).getHibernateLazyInitializer().getImplementation(); + realReferCis.add(domainObj); + }else { + realReferCis.add(elem); + } + }); + referCis = realReferCis; + } + return referCis; + } + + private List getSortedMultRefList(Set referCis, Map sortMap) { List ciList = Lists.newLinkedList(); for (Object ci : referCis) { ciList.add(ci); From c06e8240ebbea4bb453f56687582385a05b0baf0 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Thu, 26 Dec 2019 09:27:39 +0800 Subject: [PATCH 064/172] #539 Fix autofill rule to enhance --- .../interceptor/CiDataInterceptorService.java | 34 ++++++------------- cmdb-core/src/main/resources/application.yml | 2 +- .../database/ch/02.cmdb.system.data_ch.sql | 26 +++++++------- .../database/en/02.cmdb.system.data_en.sql | 28 +++++++-------- .../apiv2/ApiV2ControllerCiTypeTest.java | 2 +- 5 files changed, 39 insertions(+), 53 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java index c895837ee..5ff0a9ba1 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java @@ -7,6 +7,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Optional; @@ -494,8 +495,10 @@ private IntegrationQueryDto travelFillQueryDto(List dto.setParentRs(parentRs); List fileds = new ArrayList(); List attrs = new ArrayList(); - attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),"guid")); - fileds.add(item.getCiTypeId() + "$guid"); + if (position < routines.size()-1) { + attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),"guid")); + fileds.add(item.getCiTypeId() + "$guid"); + } if(item.getFilters().size()>0) { List filters = new ArrayList(queryRequest.getFilters()); item.getFilters().stream().forEach(filter -> { @@ -510,43 +513,28 @@ private IntegrationQueryDto travelFillQueryDto(List IntegrationQueryDto childDto = travelFillQueryDto(routines, dto, queryRequest, ++position); if (childDto == null) { - if (parentDto.getAttrs().contains(parentRs.getAttrId())) { - replaceKeyNameWithTargetName(parentDto); - } else { - addTargetName(parentDto, parentRs); - } + addTargetName(parentDto, dto); } else { parentDto.setChildren(Arrays.asList(childDto)); } - return parentDto; } - private void addTargetName(IntegrationQueryDto parentDto, Relationship parentRs) { + private void addTargetName(IntegrationQueryDto parentDto, IntegrationQueryDto dto) { List attrs = new ArrayList<>(); - attrs.add(parentRs.getAttrId()); + attrs.addAll(dto.getAttrs()); attrs.addAll(parentDto.getAttrs()); + attrs.add(dto.getParentRs().getAttrId()); List attrKeyNames = new ArrayList<>(); - attrKeyNames.add(TARGET_NAME); + attrKeyNames.addAll(dto.getAttrKeyNames()); attrKeyNames.addAll(parentDto.getAttrKeyNames()); + attrKeyNames.add(TARGET_NAME); parentDto.setAttrs(attrs); parentDto.setAttrKeyNames(attrKeyNames); } - private void replaceKeyNameWithTargetName(IntegrationQueryDto parentDto) { - List attrKeyNames = new ArrayList<>(); - parentDto.getAttrKeyNames().forEach(x -> { - if (x.equals(parentDto.getCiTypeId() + "$guid")) { - attrKeyNames.add(TARGET_NAME); - } else { - attrKeyNames.add(x); - } - }); - parentDto.setAttrKeyNames(attrKeyNames); - } - private AdhocIntegrationQueryDto buildRootDto(IntegrationQueryDto routineDto, String guid, AdmCiTypeAttr attrWithGuid) { AdhocIntegrationQueryDto adhocDto = new AdhocIntegrationQueryDto(); diff --git a/cmdb-core/src/main/resources/application.yml b/cmdb-core/src/main/resources/application.yml index e23069b87..c89278b8d 100755 --- a/cmdb-core/src/main/resources/application.yml +++ b/cmdb-core/src/main/resources/application.yml @@ -9,7 +9,7 @@ spring: location: classpath:/cmdb.txt profiles: #en-local、ch-local - active: ch-local + active: dev cache: type: caffeine caffeine: diff --git a/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql b/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql index d84776582..09f82efda 100644 --- a/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/02.cmdb.system.data_ch.sql @@ -257,19 +257,19 @@ INSERT INTO `adm_ci_type` (`id_adm_ci_type`, `name`, `description`, `id_adm_tene (31, '路由规则设计', '路由规则设计', NULL, 'routing_rule_design', 'created', 10, NULL, 7, 5, 1, 66, NULL); INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `regular_expression_rule`, `is_refreshable`) VALUES - (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), - (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), - (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), - (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, 0, NULL), - (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL); - + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, NULL, 0), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0); + INSERT INTO `adm_role_ci_type` (`id_adm_role_ci_type`, `id_adm_role`, `id_adm_ci_type`, `ci_type_name`, `creation_permission`, `removal_permission`, `modification_permission`, `enquiry_permission`, `execution_permission`, `grant_permission`) VALUES (806, 1, 1, '系统设计', 'Y', 'Y', 'Y', 'Y', 'Y', 'N'), (807, 1, 7, '系统', 'N', 'N', 'N', 'N', 'N', 'N'), diff --git a/cmdb-core/src/main/resources/database/en/02.cmdb.system.data_en.sql b/cmdb-core/src/main/resources/database/en/02.cmdb.system.data_en.sql index 6f32dc9c3..ae2b6d097 100644 --- a/cmdb-core/src/main/resources/database/en/02.cmdb.system.data_en.sql +++ b/cmdb-core/src/main/resources/database/en/02.cmdb.system.data_en.sql @@ -342,21 +342,19 @@ INSERT INTO `adm_ci_type` (`id_adm_ci_type`, `name`, `description`, `id_adm_tene (25, 'DCN Design', 'DCN Design', NULL, 'DCN_desgin', 'created', 10, NULL, 4, 5, NULL, 25, NULL), (26, 'Resource Set Design', 'Resource Set Design', NULL, 'resource_set_design', 'created', 10, NULL, 5, 5, NULL, 26, NULL); -INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`) VALUES - (1, 'Global Unique ID', 'Global Unique ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Key Name', 'Key Name', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, 0), - (1, 'State', 'State', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Fixed Date', 'Fixed Date', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Previous Version Guid', 'Previous Version Guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Root Guid', 'Root Guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Description', 'Description', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Code', 'Code', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Orchestration', 'Orchestration', 'select', 'orchestration', 'int', 15, 31, NULL, NULL, NULL, 0, 1, 6, 1, 0, 0, 1, 0, NULL, 'notCreated', 0, 0, 0, NULL, 1), - (1, 'Orchestration Instance ID', 'Orchestration Instance ID', 'text', 'biz_key', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 1, 0, NULL, 'notCreated', 0, 0, 0, NULL, 1), - (1, 'Updated By', 'Updated By', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Updated Date', 'Updated Date', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Created_By', 'Created By', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0), - (1, 'Created Date', 'Created Date', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0); +INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `regular_expression_rule`, `is_refreshable`) VALUES + (1, 1, 'Global Unique ID', 'Global Unique ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (2, 1, 'Previous Version Guid', 'Previous Version Guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (3, 1, 'Root Guid', 'Root Guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (4, 1, 'Updated By', 'Updated By', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (5, 1, 'Updated Date', 'Updated Date', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (6, 1, 'Created By', 'Created By', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (7, 1, 'Created Date', 'Created Date', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (8, 1, 'Key Name', 'Key Name', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, NULL, 0), + (9, 1, 'State', 'State', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (10, 1, 'Fixed Date', 'Fixed Date', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (11, 1, 'Description', 'Description', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (12, 1, 'Code', 'Code', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0); INSERT INTO `adm_state_transition` (`id_adm_state_transition`, `current_state`, `current_state_is_confirmed`, `target_state`, `target_state_is_confirmed`, `operation`, `action`, `status`) VALUES (1, 37, 0, NULL, NULL, 48, 54, 'active'), diff --git a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiTypeTest.java b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiTypeTest.java index 4e9540a3d..f9be11f7b 100755 --- a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiTypeTest.java +++ b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiTypeTest.java @@ -66,7 +66,7 @@ public void createCiTypesThenAllDefautAttrsHasDesplaySeqNo() throws Exception { mvc.perform(post("/api/v2/ciTypeAttrs/retrieve").contentType(MediaType.APPLICATION_JSON) .content(reqJson)) .andExpect(jsonPath("$.statusCode", is("OK"))) - .andExpect(jsonPath("$.data.contents[0].displaySeqNo", is(3))); + .andExpect(jsonPath("$.data.contents[0].displaySeqNo", is(5))); } @Test From ebf3a4c071be86c06f9362b0137b44482ee42012 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Thu, 26 Dec 2019 09:32:00 +0800 Subject: [PATCH 065/172] #539 Fix the autofill rule --Same field query --- .../cmdb/service/interceptor/CiDataInterceptorService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java index a5b1fe9bc..40b507ab6 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java @@ -503,6 +503,7 @@ private IntegrationQueryDto travelFillQueryDto(List if(item.getFilters().size()>0) { List filters = new ArrayList(queryRequest.getFilters()); item.getFilters().stream().forEach(filter -> { + filter.setName(item.getCiTypeId() + "$" + filter.getName()); filters.add(filter); fileds.add(filter.getName()); attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),filter.getName())); From 79144f61a7728e0f8e3e6d42644a235164d7b077 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Thu, 26 Dec 2019 11:13:33 +0800 Subject: [PATCH 066/172] #539 Fix the autofill rule test --- .../impl/StaticEntityRepositoryImpl.java | 4 ++-- .../interceptor/CiDataInterceptorService.java | 2 +- .../apiv2/ApiV2ControllerCiDataTest.java | 2 +- .../src/test/resources/db/data_model.sql | 24 +++++++++---------- .../db/legacy/3.init.static.data.ci.sql | 24 +++++++++---------- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/repository/impl/StaticEntityRepositoryImpl.java b/cmdb-core/src/main/java/com/webank/cmdb/repository/impl/StaticEntityRepositoryImpl.java index b8ad68c4e..1b5b0ef75 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/repository/impl/StaticEntityRepositoryImpl.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/repository/impl/StaticEntityRepositoryImpl.java @@ -611,8 +611,8 @@ public AdmCiTypeAttr objectToCiTypeAttr(Object[] arr, AdmCiType admCiType) { admCiTypeAttr.setIsAccessControlled((Integer) arr[23]); admCiTypeAttr.setIsAuto((Integer) arr[24]); admCiTypeAttr.setAutoFillRule((String) arr[25]); - admCiTypeAttr.setIsRefreshable(Integer.valueOf((String) arr[26])); - admCiTypeAttr.setRegularExpressionRule((String) arr[27]); + admCiTypeAttr.setRegularExpressionRule((String) arr[26]); + admCiTypeAttr.setIsRefreshable(((Integer) arr[27])); return admCiTypeAttr; } } diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java index 40b507ab6..897672f94 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/interceptor/CiDataInterceptorService.java @@ -503,10 +503,10 @@ private IntegrationQueryDto travelFillQueryDto(List if(item.getFilters().size()>0) { List filters = new ArrayList(queryRequest.getFilters()); item.getFilters().stream().forEach(filter -> { + attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),filter.getName())); filter.setName(item.getCiTypeId() + "$" + filter.getName()); filters.add(filter); fileds.add(filter.getName()); - attrs.add(getAttrIdByPropertyNameAndCiTypeId(item.getCiTypeId(),filter.getName())); }); queryRequest.setFilters(filters); } diff --git a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiDataTest.java b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiDataTest.java index a12fae11b..5ac8ea00d 100755 --- a/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiDataTest.java +++ b/cmdb-core/src/test/java/com/webank/cmdb/controller/apiv2/ApiV2ControllerCiDataTest.java @@ -515,7 +515,7 @@ public void whenCreateCiDataWithGuidAsAutoFillLeaveThenShouldFillValueAsExpected Integer attrIdOfKeyName = 28; updateCiAttrWithAutoFillRule(attrIdOfKeyName, JsonUtil.toJson(autoFillItems)); - String expectedKeyName = "_blank"; + String expectedKeyName = "0003_0000000013_blank"; Map jsonMap = ImmutableMap.builder() .put("description", "test desc") .put("name_en", "Test Sub System") diff --git a/cmdb-core/src/test/resources/db/data_model.sql b/cmdb-core/src/test/resources/db/data_model.sql index 0894b3684..181ca6935 100755 --- a/cmdb-core/src/test/resources/db/data_model.sql +++ b/cmdb-core/src/test/resources/db/data_model.sql @@ -410,18 +410,18 @@ CREATE TABLE IF NOT EXISTS `adm_ci_type_attr_base` ( INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `regular_expression_rule`, `is_refreshable`) VALUES - (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), - (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), - (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), - (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, 0, NULL), - (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL); + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, NULL, 0), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0); CREATE TABLE IF NOT EXISTS `adm_ci_type_attr` ( `id_adm_ci_type_attr` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id_adm_ci_type_attr', diff --git a/cmdb-core/src/test/resources/db/legacy/3.init.static.data.ci.sql b/cmdb-core/src/test/resources/db/legacy/3.init.static.data.ci.sql index eccc74e84..bd11488f2 100755 --- a/cmdb-core/src/test/resources/db/legacy/3.init.static.data.ci.sql +++ b/cmdb-core/src/test/resources/db/legacy/3.init.static.data.ci.sql @@ -611,18 +611,18 @@ INSERT INTO adm_ci_type_attr (name,input_type,description,id_adm_ci_type,propert INSERT INTO `adm_ci_type_attr_base` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `regular_expression_rule`, `is_refreshable`) VALUES - (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), - (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), - (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 1, NULL), - (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, 0, NULL), - (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 99, 1, 99, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 100, 1, 100, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL), - (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, 0, NULL); + (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (6, 1, '创建用户', '创建用户', 'text', 'created_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (7, 1, '创建日期', '创建日期', 'date', 'created_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (8, 1, '唯一名称', '唯一名称', 'text', 'key_name', 'varchar', 200, NULL, NULL, NULL, NULL, 1, 1, 1, 0, 1, 0, 0, 0, NULL, 'notCreated', 1, 0, 1, NULL, NULL, 0), + (9, 1, '状态', '状态', 'select', 'state', 'int', 15, 7, NULL, NULL, NULL, 2, 1, 2, 0, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (10, 1, '确认日期', '确认日期', 'text', 'fixed_date', 'varchar', 19, NULL, NULL, NULL, NULL, 3, 1, 3, 1, 0, 0, 0, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (11, 1, '描述说明', '描述说明', 'textArea', 'description', 'varchar', 1000, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0), + (12, 1, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'notCreated', 1, 0, 0, NULL, NULL, 0); -- Mock Attr for Self_Ref_Ci_Type From 646aff4c031c2bf3c845908708512cf0fa93aa4f Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Thu, 26 Dec 2019 14:50:51 +0800 Subject: [PATCH 067/172] #576 Fix the initialization CiTypeAttr data --- .../ch/03.cmdb.system.data.mysql_ch.sql | 62 +++++++++---------- .../local/ch/03.cmdb.system.data.h2_ch.sql | 62 +++++++++---------- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql b/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql index 4b94d288f..3908d09fc 100644 --- a/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql +++ b/cmdb-core/src/main/resources/database/ch/03.cmdb.system.data.mysql_ch.sql @@ -68,7 +68,7 @@ INSERT INTO `adm_files` VALUES INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`, `regular_expression_rule`) VALUES (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -82,7 +82,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (13, 1, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 1, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (14, 1, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 1, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (15, 2, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (16, 2, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (16, 2, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (17, 2, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (18, 2, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (19, 2, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -98,7 +98,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (29, 2, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 0, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":27,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":14,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"id\\"}]"}]', 0, NULL), (30, 2, '业务区域设计', '业务区域设计', 'ref', 'business_zone_design', 'varchar', 15, 28, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":28},{\\"ciTypeId\\":28,\\"parentRs\\":{\\"attrId\\":487,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]","operator":"in","right":"[{\\"ciTypeId\\":2},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":27,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":1,\\"parentRs\\":{\\"attrId\\":14,\\"isReferedFromParent\\":1},\\"enumCodeAttr\\":\\"codeId\\"}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (31, 3, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (32, 3, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (32, 3, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (33, 3, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (34, 3, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (35, 3, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -115,7 +115,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (46, 3, '名称', '单元名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (47, 3, '跨资源集合部署', '跨资源集合部署', 'select', 'across_resource_set', 'int', 15, 35, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (48, 4, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (49, 4, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (49, 4, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (50, 4, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (51, 4, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (52, 4, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -131,7 +131,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (62, 4, '集群类型', '集群类型', 'select', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (63, 4, '服务类型', '服务类型', 'select', 'service_type', 'int', 15, 28, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (64, 5, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (65, 5, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (65, 5, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (66, 5, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (67, 5, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (68, 5, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -146,7 +146,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (77, 5, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '依赖', 31, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (78, 5, '调用类型', '调用类型', 'select', 'invoke_type', 'int', 15, 29, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (79, 6, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (80, 6, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (80, 6, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (81, 6, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (82, 6, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (83, 6, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -161,7 +161,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (92, 6, '名称', '时序名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (93, 6, '调用设计序列', '调用设计序列', 'multiRef', 'invoke_design_sequence', 'varchar', 15, 5, '依赖', 31, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (94, 7, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (95, 7, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (95, 7, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (96, 7, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (97, 7, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (98, 7, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -175,7 +175,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (106, 7, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '实现', 33, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (107, 7, '部署环境', '部署环境', 'select', 'deploy_environment', 'int', 15, 24, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0, NULL), (108, 8, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (109, 8, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (109, 8, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (110, 8, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (111, 8, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (112, 8, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -191,7 +191,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (122, 8, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (123, 8, '业务区域', '业务区域', 'multiRef', 'business_zone', 'varchar', 15, 21, '关联', 32, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (124, 9, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (125, 9, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (125, 9, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (126, 9, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (127, 9, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (128, 9, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -209,7 +209,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (140, 9, '资源集', '资源集', 'multiRef', 'resource_set', 'varchar', 1000, 22, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":22},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":392,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":488,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":9},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":45,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":29,\\"parentRs\\":{\\"attrId\\":488,\\"isReferedFromParent\\":1}}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (141, 9, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (142, 10, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (143, 10, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (143, 10, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (144, 10, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (145, 10, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (146, 10, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -230,7 +230,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (161, 10, '服务端口', '服务端口', 'text', 'service_port', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (162, 10, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (163, 11, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (164, 11, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (164, 11, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (165, 11, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (166, 11, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (167, 11, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -246,7 +246,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (177, 11, '调用设计', '调用设计', 'ref', 'invoke_design', 'varchar', 15, 5, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":5},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":76,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":31,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":11},{\\"ciTypeId\\":9,\\"parentRs\\":{\\"attrId\\":175,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":137,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":3,\\"parentRs\\":{\\"attrId\\":31,\\"isReferedFromParent\\":1}}]"}}]', 6, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (178, 11, '调用类型', '调用类型', 'select', 'invoke_type', 'int', 15, 29, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (179, 12, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (180, 12, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (180, 12, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (181, 12, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (182, 12, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (183, 12, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -274,7 +274,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (205, 12, '绝对启动脚步文件', '启动脚步文件', 'text', 'absolute_start_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 18, 1, 18, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":198,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":200,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), (206, 12, '绝对停止脚步文件', '停止脚步文件', 'text', 'absolute_stop_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 19, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":198,\\"isReferedFromParent\\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\\"ciTypeId\\":12},{\\"ciTypeId\\":12,\\"parentRs\\":{\\"attrId\\":201,\\"isReferedFromParent\\":1}}]"}]', 0, NULL), (207, 13, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (208, 13, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (208, 13, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (209, 13, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (210, 13, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (211, 13, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -291,7 +291,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (222, 13, '用户组ID', '用户组ID', 'text', 'group_id', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (223, 13, 'home目录', 'home目录', 'text', 'home_path', 'varchar', 200, NULL, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (224, 14, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (225, 14, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (225, 14, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (226, 14, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (227, 14, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (228, 14, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -313,7 +313,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (244, 14, '部署包地址', '部署包路径', 'text', 'deploy_package_url', 'varchar', 200, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (245, 14, '部署用户密码', '部署用户密码', 'text', 'deploy_user_password', 'varchar', 200, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (246, 15, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (247, 15, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (247, 15, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (248, 15, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (249, 15, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (250, 15, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -342,7 +342,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (273, 15, '用户名', '管理员用户名', 'text', 'user_name', 'varchar', 50, NULL, NULL, NULL, NULL, 19, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (274, 15, '用户密码', '管理员用户密码', 'text', 'user_password', 'varchar', 200, NULL, NULL, NULL, NULL, 20, 1, 20, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (275, 16, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (276, 16, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (276, 16, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (277, 16, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (278, 16, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (279, 16, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -362,7 +362,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (293, 16, '截止日期', '截止时间,包年包月时必须给出', 'date', 'end_date', 'datetime', 1, NULL, NULL, NULL, NULL, 10, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (294, 16, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (295, 17, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (296, 17, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (296, 17, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (297, 17, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (298, 17, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (299, 17, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -378,7 +378,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (309, 17, '使用记录', '使用记录', 'textArea', 'used_record', 'varchar', 1000, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, NULL, 0, NULL), (310, 17, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '属于', 29, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (311, 18, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (312, 18, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (312, 18, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (313, 18, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (314, 18, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (315, 18, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -394,7 +394,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (325, 18, '部署环境', '部署环境', 'select', 'deploy_environment', 'int', 15, 24, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (326, 18, '认证参数', '认证参数', 'select', 'auth_parameter', 'int', 15, 44, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (327, 19, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (328, 19, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (328, 19, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (329, 19, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (330, 19, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (331, 19, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -412,7 +412,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (343, 19, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":574,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":340,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":581,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":30,\\"parentRs\\":{\\"attrId\\":503,\\"isReferedFromParent\\":1}}]"},"filter_2":{"left":"[{\\"ciTypeId\\":23},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":415,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":19},{\\"ciTypeId\\":18,\\"parentRs\\":{\\"attrId\\":339,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":578,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":23,\\"parentRs\\":{\\"attrId\\":399,\\"isReferedFromParent\\":1}}]"}}]', 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (344, 19, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (345, 20, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (346, 20, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (346, 20, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (347, 20, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (348, 20, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (349, 20, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -431,7 +431,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (362, 20, '网络带宽(M)', '网络带宽(M)', 'text', 'netband_width', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (363, 20, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (364, 21, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (365, 21, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (365, 21, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (366, 21, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (367, 21, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (368, 21, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -446,7 +446,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (377, 21, '业务区域设计', '业务区域设计', 'ref', 'dcn_design', 'varchar', 15, 28, '实现', 33, '[{"filter_1":{"left":"[{\\"ciTypeId\\":28},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":486,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":445,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":21},{\\"ciTypeId\\":19,\\"parentRs\\":{\\"attrId\\":376,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":340,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":26,\\"parentRs\\":{\\"attrId\\":445,\\"isReferedFromParent\\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (378, 21, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (379, 22, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (380, 22, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (380, 22, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (381, 22, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (382, 22, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (383, 22, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -466,7 +466,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (397, 22, '路由表资产编码', '路由表资产编码', 'text', 'routing_table_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (398, 22, '子网资产编码', '子网资产编码', 'text', 'subnet_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (399, 23, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (400, 23, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (400, 23, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (401, 23, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (402, 23, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (403, 23, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -483,7 +483,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (414, 23, '网关IP地址', '网关IP地址', 'text', 'gateway_ip', 'varchar', 15, 17, 'NULL', 0, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (415, 23, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 23, '属于', 29, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (416, 24, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (417, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (417, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (418, 24, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (419, 24, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (420, 24, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -499,7 +499,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (430, 24, '网络区域连接', '网络区域连接', 'ref', 'network_zone_link_design', 'varchar', 15, 20, '关联', 32, '[{"filter_1":{"left":"[{\\"ciTypeId\\":20},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":359,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":459,\\"isReferedFromParent\\":1}}]","operator":"in","right":"[{\\"ciTypeId\\":24},{\\"ciTypeId\\":31,\\"parentRs\\":{\\"attrId\\":575,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":533,\\"isReferedFromParent\\":1}},{\\"ciTypeId\\":27,\\"parentRs\\":{\\"attrId\\":459,\\"isReferedFromParent\\":1}}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (431, 24, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (432, 25, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (433, 25, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (433, 25, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (434, 25, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (435, 25, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (436, 25, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -512,7 +512,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (443, 25, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (444, 25, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (445, 26, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (446, 26, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (446, 26, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (447, 26, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (448, 26, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (449, 26, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -526,7 +526,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (457, 26, '数据中心设计', '数据中心设计', 'ref', 'data_center_design', 'varchar', 15, 25, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (458, 26, '网络区域层级', '网络区域层级', 'select', 'network_zone_layer', 'int', 15, 27, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (459, 27, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (460, 27, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (460, 27, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (461, 27, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (462, 27, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (463, 27, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -541,7 +541,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (472, 27, '网络区域设计2', '网络区域设计2', 'ref', 'network_zone_design_2', 'varchar', 15, 26, '关联', 32, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (473, 27, '网络连接类型', '网络连接类型', 'select', 'network_zone_link_type', 'int', 15, 34, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (474, 28, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (475, 28, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (475, 28, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (476, 28, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (477, 28, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (478, 28, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -555,7 +555,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (486, 28, '网络区域设计', '安全区域设计', 'ref', 'zone_design', 'varchar', 15, 26, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (487, 28, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (488, 29, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (489, 29, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (489, 29, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (490, 29, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (491, 29, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (492, 29, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -570,7 +570,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (501, 29, '单元设计类型', '单元设计类型', 'select', 'unit_design_type', 'int', 15, 21, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (502, 29, '集群类型', '集群类型', 'multiSelect', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (503, 30, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (504, 30, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (504, 30, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (505, 30, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (506, 30, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (507, 30, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -586,7 +586,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (517, 30, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (518, 30, '父网段设计', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 30, '属于', 29, NULL, 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (519, 31, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (520, 31, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (520, 31, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (521, 31, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (522, 31, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (523, 31, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), diff --git a/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql b/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql index 6bc77fa4c..702c8bbde 100644 --- a/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql +++ b/cmdb-core/src/main/resources/local/ch/03.cmdb.system.data.h2_ch.sql @@ -68,7 +68,7 @@ INSERT INTO `adm_files` VALUES INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, `description`, `input_type`, `property_name`, `property_type`, `length`, `reference_id`, `reference_name`, `reference_type`, `filter_rule`, `search_seq_no`, `display_type`, `display_seq_no`, `edit_is_null`, `edit_is_only`, `edit_is_hiden`, `edit_is_editable`, `is_defunct`, `special_logic`, `status`, `is_system`, `is_access_controlled`, `is_auto`, `auto_fill_rule`, `is_refreshable`, `regular_expression_rule`) VALUES (1, 1, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (2, 1, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (3, 1, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (4, 1, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (5, 1, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -82,7 +82,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (13, 1, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 1, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (14, 1, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 1, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (15, 2, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (16, 2, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (16, 2, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (17, 2, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (18, 2, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (19, 2, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -98,7 +98,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (29, 2, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 0, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":2},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":27,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":14,\"isReferedFromParent\":1},\"enumCodeAttr\":\"id\"}]"}]', 0, NULL), (30, 2, '业务区域设计', '业务区域设计', 'ref', 'business_zone_design', 'varchar', 15, 28, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":28},{\"ciTypeId\":28,\"parentRs\":{\"attrId\":487,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]","operator":"in","right":"[{\"ciTypeId\":2},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":27,\"isReferedFromParent\":1}},{\"ciTypeId\":1,\"parentRs\":{\"attrId\":14,\"isReferedFromParent\":1},\"enumCodeAttr\":\"codeId\"}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (31, 3, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (32, 3, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (32, 3, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (33, 3, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (34, 3, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (35, 3, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -115,7 +115,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (46, 3, '名称', '单元名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (47, 3, '跨资源集合部署', '跨资源集合部署', 'select', 'across_resource_set', 'int', 15, 35, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (48, 4, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (49, 4, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (49, 4, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (50, 4, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (51, 4, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (52, 4, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -131,7 +131,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (62, 4, '集群类型', '集群类型', 'select', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (63, 4, '服务类型', '服务类型', 'select', 'service_type', 'int', 15, 28, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (64, 5, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (65, 5, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (65, 5, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (66, 5, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (67, 5, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (68, 5, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -146,7 +146,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (77, 5, '服务设计', '服务设计', 'ref', 'service_design', 'varchar', 15, 4, '依赖', 31, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (78, 5, '调用类型', '调用类型', 'select', 'invoke_type', 'int', 15, 29, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (79, 6, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (80, 6, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (80, 6, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (81, 6, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (82, 6, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (83, 6, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -161,7 +161,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (92, 6, '名称', '时序名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (93, 6, '调用设计序列', '调用设计序列', 'multiRef', 'invoke_design_sequence', 'varchar', 15, 5, '依赖', 31, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (94, 7, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (95, 7, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (95, 7, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (96, 7, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (97, 7, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (98, 7, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -175,7 +175,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (106, 7, '系统设计', '系统设计', 'ref', 'system_design', 'varchar', 15, 1, '实现', 33, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (107, 7, '部署环境', '部署环境', 'select', 'deploy_environment', 'int', 15, 24, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 1, 0, NULL, 0, NULL), (108, 8, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (109, 8, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (109, 8, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (110, 8, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (111, 8, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (112, 8, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -191,7 +191,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (122, 8, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (123, 8, '业务区域', '业务区域', 'multiRef', 'business_zone', 'varchar', 15, 21, '关联', 32, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (124, 9, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (125, 9, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (125, 9, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (126, 9, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (127, 9, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (128, 9, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -209,7 +209,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (140, 9, '资源集', '资源集', 'multiRef', 'resource_set', 'varchar', 1000, 22, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":22},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":392,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":488,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":9},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":45,\"isReferedFromParent\":1}},{\"ciTypeId\":29,\"parentRs\":{\"attrId\":488,\"isReferedFromParent\":1}}]"}}]', 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (141, 9, '运维人员', '运维人员', 'text', 'manager', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (142, 10, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (143, 10, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (143, 10, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (144, 10, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (145, 10, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (146, 10, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -230,7 +230,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (161, 10, '服务端口', '服务端口', 'text', 'service_port', 'varchar', 50, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (162, 10, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (163, 11, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (164, 11, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (164, 11, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (165, 11, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (166, 11, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (167, 11, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -246,7 +246,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (177, 11, '调用设计', '调用设计', 'ref', 'invoke_design', 'varchar', 15, 5, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":5},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":76,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":31,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":11},{\"ciTypeId\":9,\"parentRs\":{\"attrId\":175,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":137,\"isReferedFromParent\":1}},{\"ciTypeId\":3,\"parentRs\":{\"attrId\":31,\"isReferedFromParent\":1}}]"}}]', 6, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (178, 11, '调用类型', '调用类型', 'select', 'invoke_type', 'int', 15, 29, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (179, 12, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (180, 12, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (180, 12, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (181, 12, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (182, 12, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (183, 12, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -274,7 +274,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (205, 12, '绝对启动脚步文件', '启动脚步文件', 'text', 'absolute_start_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 18, 1, 18, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":198,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":200,\"isReferedFromParent\":1}}]"}]', 0, NULL), (206, 12, '绝对停止脚步文件', '停止脚步文件', 'text', 'absolute_stop_file_path', 'varchar', 200, NULL, NULL, NULL, NULL, 19, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, '[{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":198,\"isReferedFromParent\":1}}]"},{"type":"delimiter","value":""},{"type":"rule","value":"[{\"ciTypeId\":12},{\"ciTypeId\":12,\"parentRs\":{\"attrId\":201,\"isReferedFromParent\":1}}]"}]', 0, NULL), (207, 13, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (208, 13, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (208, 13, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (209, 13, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (210, 13, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (211, 13, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -291,7 +291,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (222, 13, '用户组ID', '用户组ID', 'text', 'group_id', 'varchar', 50, NULL, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (223, 13, 'home目录', 'home目录', 'text', 'home_path', 'varchar', 200, NULL, NULL, NULL, NULL, 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (224, 14, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (225, 14, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (225, 14, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (226, 14, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (227, 14, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (228, 14, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -313,7 +313,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (244, 14, '部署包地址', '部署包路径', 'text', 'deploy_package_url', 'varchar', 200, NULL, NULL, NULL, NULL, 12, 1, 12, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (245, 14, '部署用户密码', '部署用户密码', 'text', 'deploy_user_password', 'varchar', 200, NULL, NULL, NULL, NULL, 13, 1, 13, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (246, 15, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (247, 15, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (247, 15, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (248, 15, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (249, 15, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (250, 15, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -342,7 +342,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (273, 15, '用户名', '管理员用户名', 'text', 'user_name', 'varchar', 50, NULL, NULL, NULL, NULL, 19, 1, 19, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (274, 15, '用户密码', '管理员用户密码', 'text', 'user_password', 'varchar', 200, NULL, NULL, NULL, NULL, 20, 1, 20, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (275, 16, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (276, 16, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (276, 16, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (277, 16, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (278, 16, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (279, 16, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -362,7 +362,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (293, 16, '截止日期', '截止时间,包年包月时必须给出', 'date', 'end_date', 'datetime', 1, NULL, NULL, NULL, NULL, 10, 1, 10, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (294, 16, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (295, 17, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (296, 17, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (296, 17, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (297, 17, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (298, 17, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (299, 17, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -378,7 +378,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (309, 17, '使用记录', '使用记录', 'textArea', 'used_record', 'varchar', 1000, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 1, NULL, 0, NULL), (310, 17, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '属于', 29, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (311, 18, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (312, 18, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (312, 18, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (313, 18, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (314, 18, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (315, 18, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -394,7 +394,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (325, 18, '部署环境', '部署环境', 'select', 'deploy_environment', 'int', 15, 24, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (326, 18, '认证参数', '认证参数', 'select', 'auth_parameter', 'int', 15, 44, NULL, NULL, NULL, 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (327, 19, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (328, 19, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (328, 19, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (329, 19, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (330, 19, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (331, 19, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -412,7 +412,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (343, 19, '网段', '网段', 'ref', 'network_segment', 'varchar', 15, 23, '使用', 30, '[{"filter_1":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":574,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":19},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":340,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":581,\"isReferedFromParent\":1}},{\"ciTypeId\":30,\"parentRs\":{\"attrId\":503,\"isReferedFromParent\":1}}]"},"filter_2":{"left":"[{\"ciTypeId\":23},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":415,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":19},{\"ciTypeId\":18,\"parentRs\":{\"attrId\":339,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":578,\"isReferedFromParent\":1}},{\"ciTypeId\":23,\"parentRs\":{\"attrId\":399,\"isReferedFromParent\":1}}]"}}]', 8, 1, 8, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (344, 19, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (345, 20, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (346, 20, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (346, 20, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (347, 20, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (348, 20, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (349, 20, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -431,7 +431,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (362, 20, '网络带宽(M)', '网络带宽(M)', 'text', 'netband_width', 'varchar', 50, NULL, NULL, NULL, NULL, 9, 1, 9, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (363, 20, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (364, 21, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (365, 21, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (365, 21, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (366, 21, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (367, 21, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (368, 21, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -446,7 +446,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (377, 21, '业务区域设计', '业务区域设计', 'ref', 'dcn_design', 'varchar', 15, 28, '实现', 33, '[{"filter_1":{"left":"[{\"ciTypeId\":28},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":486,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":445,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":21},{\"ciTypeId\":19,\"parentRs\":{\"attrId\":376,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":340,\"isReferedFromParent\":1}},{\"ciTypeId\":26,\"parentRs\":{\"attrId\":445,\"isReferedFromParent\":1}}]"}}]', 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (378, 21, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 6, 1, 6, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (379, 22, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (380, 22, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (380, 22, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (381, 22, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (382, 22, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (383, 22, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -466,7 +466,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (397, 22, '路由表资产编码', '路由表资产编码', 'text', 'routing_table_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 10, 1, 10, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (398, 22, '子网资产编码', '子网资产编码', 'text', 'subnet_asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 11, 1, 11, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (399, 23, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (400, 23, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (400, 23, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (401, 23, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (402, 23, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (403, 23, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -483,7 +483,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (414, 23, '网关IP地址', '网关IP地址', 'text', 'gateway_ip', 'varchar', 15, 17, 'NULL', 0, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (415, 23, '父网段', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 23, '属于', 29, NULL, 9, 1, 9, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (416, 24, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (417, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (417, 24, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (418, 24, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (419, 24, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (420, 24, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -499,7 +499,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (430, 24, '网络区域连接', '网络区域连接', 'ref', 'network_zone_link_design', 'varchar', 15, 20, '关联', 32, '[{"filter_1":{"left":"[{\"ciTypeId\":20},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":359,\"isReferedFromParent\":1}},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":459,\"isReferedFromParent\":1}}]","operator":"in","right":"[{\"ciTypeId\":24},{\"ciTypeId\":31,\"parentRs\":{\"attrId\":575,\"isReferedFromParent\":1}},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":533,\"isReferedFromParent\":1}},{\"ciTypeId\":27,\"parentRs\":{\"attrId\":459,\"isReferedFromParent\":1}}]"}}]', 7, 1, 7, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (431, 24, '资产编码', '资产编码', 'text', 'asset_code', 'varchar', 50, NULL, NULL, NULL, NULL, 8, 1, 8, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (432, 25, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (433, 25, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (433, 25, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (434, 25, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (435, 25, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (436, 25, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -512,7 +512,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (443, 25, '编码', '编码', 'text', 'code', 'varchar', 50, NULL, NULL, NULL, NULL, 3, 1, 3, 0, 0, 0, 1, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (444, 25, '名称', '名称', 'text', 'name', 'varchar', 50, NULL, NULL, NULL, NULL, 4, 1, 4, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (445, 26, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (446, 26, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (446, 26, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (447, 26, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (448, 26, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (449, 26, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -526,7 +526,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (457, 26, '数据中心设计', '数据中心设计', 'ref', 'data_center_design', 'varchar', 15, 25, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (458, 26, '网络区域层级', '网络区域层级', 'select', 'network_zone_layer', 'int', 15, 27, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (459, 27, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (460, 27, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (460, 27, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (461, 27, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (462, 27, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (463, 27, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -541,7 +541,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (472, 27, '网络区域设计2', '网络区域设计2', 'ref', 'network_zone_design_2', 'varchar', 15, 26, '关联', 32, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (473, 27, '网络连接类型', '网络连接类型', 'select', 'network_zone_link_type', 'int', 15, 34, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (474, 28, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (475, 28, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (475, 28, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 8, NULL), (476, 28, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (477, 28, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (478, 28, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -555,7 +555,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (486, 28, '网络区域设计', '安全区域设计', 'ref', 'zone_design', 'varchar', 15, 26, '属于', 29, NULL, 4, 1, 4, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (487, 28, '业务群组', '业务群组', 'select', 'business_group', 'int', 15, 20, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (488, 29, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (489, 29, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (489, 29, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (490, 29, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (491, 29, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (492, 29, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -570,7 +570,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (501, 29, '单元设计类型', '单元设计类型', 'select', 'unit_design_type', 'int', 15, 21, NULL, NULL, NULL, 5, 1, 5, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (502, 29, '集群类型', '集群类型', 'multiSelect', 'cluster_type', 'int', 15, 30, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (503, 30, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (504, 30, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (504, 30, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (505, 30, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (506, 30, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (507, 30, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), @@ -586,7 +586,7 @@ INSERT INTO `adm_ci_type_attr` (`id_adm_ci_type_attr`, `id_adm_ci_type`, `name`, (517, 30, '子网掩码', '子网掩码', 'number', 'mask', 'int', 15, NULL, NULL, NULL, NULL, 6, 1, 6, 0, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (518, 30, '父网段设计', '父网段', 'ref', 'f_network_segment', 'varchar', 15, 30, '属于', 29, NULL, 7, 1, 7, 1, 0, 0, 1, 0, NULL, 'created', 0, 0, 0, NULL, 0, NULL), (519, 31, '全局唯一ID', '全局唯一ID', 'text', 'guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 1, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), - (520, 31, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), + (520, 31, '前全局唯一ID', '前一版本数据的guid', 'text', 'p_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 1, 0, 0, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (521, 31, '根全局唯一ID', '原始数据guid', 'text', 'r_guid', 'varchar', 15, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 0, NULL), (522, 31, '更新用户', '更新用户', 'text', 'updated_by', 'varchar', 50, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), (523, 31, '更新日期', '更新日期', 'date', 'updated_date', 'datetime', 1, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 1, 0, 0, NULL, 'created', 1, 0, 0, NULL, 1, NULL), From 9660073af492f13dd24d05b2c0e6de93f71a25e3 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Thu, 26 Dec 2019 18:50:13 +0800 Subject: [PATCH 068/172] #538 Supports querying the latest ci data for the non-deleted status of confirm --- .../cmdb/config/ApplicationProperties.java | 1 + .../ui/UICiDataManagementController.java | 10 +++++++- .../ui/helper/UIWrapperService.java | 24 +++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java b/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java index ec17342f6..12694f274 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/config/ApplicationProperties.java @@ -45,6 +45,7 @@ public class UIProperties { private String referenceCodeOfRelate = "relation"; private String propertyNameOfState = "state"; private String enumCodeOfStateDelete = "delete"; + private Integer enumIdOfStateDelete = 36; private String propertyNameOfFixedDate = "fixed_date"; private String enumCategoryNameOfEnv = "deploy_environment"; private String catNameOfArchitectureDesign = "tab_of_architecture_design"; diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/UICiDataManagementController.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/UICiDataManagementController.java index c701ac8f3..7a6e71311 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/UICiDataManagementController.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/UICiDataManagementController.java @@ -212,7 +212,15 @@ public Object queryCiData(@PathVariable(value = "ci-type-id") int ciTypeId, @RequestBody QueryRequest queryObject) { return wrapperService.queryCiData(ciTypeId, queryObject); } - + + @RolesAllowed({ MENU_DESIGNING_CI_DATA_MANAGEMENT, MENU_DESIGNING_CI_DATA_ENQUIRY }) + @PostMapping("/ci-types/{ci-type-id}/ci-data/query-by-type") + @ResponseBody + public Object queryCiDataByType(@PathVariable(value = "ci-type-id") int ciTypeId, + @RequestBody QueryRequest queryObject) { + return wrapperService.queryCiDataByType(ciTypeId, queryObject); + } + @PostMapping("/referenceCiData/{reference-attr-id}/query") @ResponseBody public Object queryReferenceCiData(@PathVariable(value = "reference-attr-id") int referenceAttrId, diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java index 401e3e01f..e164ee2d1 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java @@ -474,6 +474,30 @@ public QueryResponse queryCiData(Integer ciTypeId, QueryRequest queryObj } return ciService.query(ciTypeId, queryObject); } + + public QueryResponse queryCiDataByType(Integer ciTypeId, QueryRequest queryObject) { + if (queryObject == null) { + queryObject = QueryRequest.defaultQueryObject().descendingSortBy(CmdbConstants.DEFAULT_FIELD_CREATED_DATE); + } else if (queryObject.getSorting() == null || queryObject.getSorting().getField() == null) { + queryObject.getDialect().setShowCiHistory(false); + queryObject.setSorting(new Sorting(false, CmdbConstants.DEFAULT_FIELD_CREATED_DATE)); + } + queryObject.addNotEqualsFilter("state", uiProperties.getEnumIdOfStateDelete()); + QueryResponse query = ciService.query(ciTypeId, queryObject); + List ciDataIds = new ArrayList<>(); + if(query.getContents()==null||query.getContents().size()<=0) { + return query; + } + query.getContents().forEach(cidata -> { + if(cidata.getData().get("fixed_date")==null) { + ciDataIds.add((String)cidata.getData().get("p_guid")); + }else { + ciDataIds.add((String)cidata.getData().get("guid")); + } + }); + queryObject.addInFilter("guid", ciDataIds); + return ciService.query(ciTypeId, queryObject); + } public List> updateCiData(Integer ciTypeId, List> ciData) { return ciService.update(ciTypeId, ciData); From 8a8655bb6d484f5d746c98440d557814ee21efb4 Mon Sep 17 00:00:00 2001 From: Jordan Zhang Date: Thu, 26 Dec 2019 21:20:41 +0800 Subject: [PATCH 069/172] #539 Fix the issue of retriving special connector --- .../cmdb/service/impl/ConstantService.java | 61 ++++++++++--------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/ConstantService.java b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/ConstantService.java index d2b687629..f8d62cc5c 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/ConstantService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/ConstantService.java @@ -29,7 +29,7 @@ public List getCiStatus() { } return statuses; } - + public List getReferenceTypes() { List referenceTypes = Lists.newLinkedList(); for (ReferenceType referenceType : ReferenceType.values()) { @@ -40,7 +40,7 @@ public List getReferenceTypes() { } return referenceTypes; } - + public List getInputTypes() { List inputTypes = Lists.newLinkedList(); for (InputType inputType : InputType.values()) { @@ -51,7 +51,7 @@ public List getInputTypes() { } return inputTypes; } - + public List getEffectiveStatus() { List effectiveStatus = Lists.newLinkedList(); for (EffectiveStatus status : EffectiveStatus.values()) { @@ -62,33 +62,34 @@ public List getEffectiveStatus() { } return effectiveStatus; } - - public List> getFilterOperator() { - List> filterOperatorList = Lists.newLinkedList(); - for (FilterOperator status : FilterOperator.values()) { - if (FilterOperator.None.equals(status)) - continue; - HashMap filterOperatorMap = Maps.newHashMap(); - filterOperatorMap.put("code",status.getCode()); - filterOperatorMap.put("value",status.name()); - filterOperatorList.add(filterOperatorMap); - } - return filterOperatorList; + + public List> getFilterOperator() { + List> filterOperatorList = Lists.newLinkedList(); + for (FilterOperator status : FilterOperator.values()) { + if (FilterOperator.None.equals(status)) + continue; + HashMap filterOperatorMap = Maps.newHashMap(); + filterOperatorMap.put("code", status.getCode()); + filterOperatorMap.put("value", status.name()); + filterOperatorList.add(filterOperatorMap); + } + return filterOperatorList; + } + + public Object getSpecialConnector() { + List> specialConnector = Lists.newLinkedList(); + + Map and = Maps.newHashMap(); + and.put("code", SpecialSymbolUtils.getAroundSpecialSymbol(SYMBOL_AND)); + and.put("value", SYMBOL_AND); + specialConnector.add(and); + + Map equal = Maps.newHashMap(); + equal.put("code", SpecialSymbolUtils.getAroundSpecialSymbol(SYMBOL_EQUALSIGN)); + equal.put("value", SYMBOL_EQUALSIGN); + specialConnector.add(equal); + + return specialConnector; } - public Object getSpecialConnector() { - List> specialConnector = Lists.newLinkedList(); - - Map and = Maps.newHashMap(); - and.put("code",SYMBOL_AND); - and.put("value",SpecialSymbolUtils.getAroundSpecialSymbol(SYMBOL_AND)); - Map equal = Maps.newHashMap(); - equal.put("code",SYMBOL_EQUALSIGN); - equal.put("value",SpecialSymbolUtils.getAroundSpecialSymbol(SYMBOL_EQUALSIGN)); - specialConnector.add(and); - specialConnector.add(equal); - - return specialConnector; - } - } From 225a48d68a718c9630cda43ae824cb0f68c7db15 Mon Sep 17 00:00:00 2001 From: elliotshi Date: Thu, 26 Dec 2019 21:46:07 +0800 Subject: [PATCH 070/172] #558 enhancement to allow user to compare CI data with previous one --- cmdb-ui/src/pages/components/table.js | 5 +- cmdb-ui/src/pages/designing/ci-data.vue | 103 ++++++++++++++++++++---- cmdb-ui/src/pages/util/common-func.js | 17 ++++ 3 files changed, 107 insertions(+), 18 deletions(-) create mode 100644 cmdb-ui/src/pages/util/common-func.js diff --git a/cmdb-ui/src/pages/components/table.js b/cmdb-ui/src/pages/components/table.js index 627a1a2b4..9f584e338 100755 --- a/cmdb-ui/src/pages/components/table.js +++ b/cmdb-ui/src/pages/components/table.js @@ -219,8 +219,8 @@ export default { name: i, operator: "eq", value: +this.form[i] - }) - break + }); + break; default: filters.push({ @@ -564,6 +564,7 @@ export default { return (
${this.$t( + "runnint_instance" + )}
${child.data.code} ${hostIp} ${port}
+ @@ -65,6 +79,7 @@ import { } from "@/const/actions.js"; import { formatData } from "../util/format.js"; import { getExtraInnerActions } from "../util/state-operations.js"; +import { deepClone } from "../util/common-func.js"; const defaultCiTypePNG = require("@/assets/ci-type-default.png"); export default { data() { @@ -83,7 +98,9 @@ export default { source: {}, layers: [], graph: {}, - ciTypesName: {} + ciTypesName: {}, + compareVisible: false, + compareData: [] }; }, computed: { @@ -216,18 +233,12 @@ export default { layerTag += `"layer_${_.layerId}"`; } tempClusterObjForGraph[index] = [ - `{ rank=same; "layer_${_.layerId}"[id="layerId_${ - _.layerId - }",class="layer",label="${_.name}",tooltip="${_.name}"];` + `{ rank=same; "layer_${_.layerId}"[id="layerId_${_.layerId}",class="layer",label="${_.name}",tooltip="${_.name}"];` ]; nodes.forEach((node, nodeIndex) => { if (node.layerId === _.layerId) { tempClusterObjForGraph[index].push( - `"ci_${node.ciTypeId}"[id="${node.ciTypeId}",label="${ - node.name - }",tooltip="${node.name}",class="ci",image="${ - node.form.imgSource - }.png", labelloc="b"]` + `"ci_${node.ciTypeId}"[id="${node.ciTypeId}",label="${node.name}",tooltip="${node.name}",class="ci",image="${node.form.imgSource}.png", labelloc="b"]` ); } if (nodeIndex === nodes.length - 1) { @@ -261,9 +272,7 @@ export default { genEdge(nodes, from, to) { const target = nodes.find(_ => _.ciTypeId === to.referenceId); let labels = to.referenceName ? to.referenceName.trim() : ""; - return `"ci_${from.ciTypeId}"->"ci_${ - target.ciTypeId - }"[taillabel="${labels}",labeldistance=3];`; + return `"ci_${from.ciTypeId}"->"ci_${target.ciTypeId}"[taillabel="${labels}",labeldistance=3];`; }, loadImage(nodesString) { @@ -350,10 +359,18 @@ export default { innerActions: this.$route.name === "ciDataEnquiry" ? null - : JSON.parse( - JSON.stringify( - innerActions.concat(await getExtraInnerActions()) - ) + : deepClone( + innerActions.concat(await getExtraInnerActions()).concat([ + { + label: "对比", + props: { + type: "info", + size: "small" + }, + actionType: "compare", + isDisabled: row => !row.weTableForm.p_guid + } + ]) ), tableColumns: [], pagination: JSON.parse(JSON.stringify(pagination)), @@ -442,11 +459,56 @@ export default { case "innerCancel": this.$refs[this.tableRef][0].rowCancelHandler(data.weTableRowId); break; + case "compare": + this.compareHandler(data); + break; default: this.defaultHandler(type, data); break; } }, + async compareHandler(row) { + this.compareVisible = true; + const query = { + id: this.currentTab, + queryObject: { + dialect: { showCiHistory: true }, + filters: [ + { + name: "guid", + operator: "in", + value: [row.weTableForm.guid, row.weTableForm.p_guid] + } + ] + } + }; + const { statusCode, message, data } = await queryCiData(query); + if (statusCode === "OK") { + this.compareData = + data && data.contents && data.contents.map(x => x.data); + this.compareData = this.compareData + .map(x => { + for (let k in x) { + if (typeof x[k] === "object" && x[k] !== null) x[k] = x[k].value; + } + return x; + }) + .map((x, idx) => { + if (x.guid === row.weTableForm.guid) { + x.cellClassName = {}; + for (let k in x) { + if ( + this.compareData[1 - idx] && + x[k] !== this.compareData[1 - idx][k] + ) { + x.cellClassName[k] = "highlight"; + } + } + } + return x; + }); + } + }, sortHandler(data) { if (data.order === "normal") { delete this.payload.sorting; @@ -779,3 +841,12 @@ export default { } }; + + diff --git a/cmdb-ui/src/pages/util/common-func.js b/cmdb-ui/src/pages/util/common-func.js new file mode 100644 index 000000000..51dbe724b --- /dev/null +++ b/cmdb-ui/src/pages/util/common-func.js @@ -0,0 +1,17 @@ +export function deepClone(obj) { + //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 + var objClone = Array.isArray(obj) ? [] : {}; + //进行深拷贝的不能为空,并且是对象或者是 + if (obj && typeof obj === "object") { + for (const key in obj) { + if (obj.hasOwnProperty(key)) { + if (obj[key] && typeof obj[key] === "object") { + objClone[key] = deepClone(obj[key]); + } else { + objClone[key] = obj[key]; + } + } + } + } + return objClone; +} From 0f5082133923f16b21951774d31f55f2704126bf Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Thu, 26 Dec 2019 22:38:17 +0800 Subject: [PATCH 071/172] #538 Fix the query cidata for type 2 --- .../com/webank/cmdb/controller/ui/helper/UIWrapperService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java index e164ee2d1..3aa842d99 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java @@ -496,6 +496,7 @@ public QueryResponse queryCiDataByType(Integer ciTypeId, QueryRequest qu } }); queryObject.addInFilter("guid", ciDataIds); + queryObject.getDialect().setShowCiHistory(true); return ciService.query(ciTypeId, queryObject); } From e1ffa0c405dcf0ea8c855b78e57a39a2570a4727 Mon Sep 17 00:00:00 2001 From: elliotshi Date: Fri, 27 Dec 2019 09:58:33 +0800 Subject: [PATCH 072/172] 538 bugfix ajust on api and params --- cmdb-ui/src/api/server.js | 5 ++++- cmdb-ui/src/pages/designing/ci-data.vue | 10 +++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cmdb-ui/src/api/server.js b/cmdb-ui/src/api/server.js index 7addd6e45..6afa3f7e0 100755 --- a/cmdb-ui/src/api/server.js +++ b/cmdb-ui/src/api/server.js @@ -238,7 +238,10 @@ export const queryCiData = data => { return req.post(`/ci-types/${data.id}/ci-data/query`, data.queryObject); }; export const queryCiDataByType = data => { - return req.post(`/ci-types/${data.id}/ci-data/queryByType`, data.queryObject); + return req.post( + `/ci-types/${data.id}/ci-data/query-by-type`, + data.queryObject + ); }; export const getCiTypeAttributes = id => { return req.get(`/ci-types/${id}/attributes`); diff --git a/cmdb-ui/src/pages/designing/ci-data.vue b/cmdb-ui/src/pages/designing/ci-data.vue index e395e545d..97feb2c48 100755 --- a/cmdb-ui/src/pages/designing/ci-data.vue +++ b/cmdb-ui/src/pages/designing/ci-data.vue @@ -41,7 +41,7 @@
更新时间
x.name === "update_date" + x => x.name === "updated_date" ); if (!this.queryDate) { if (~dateObjIdx) this.payload.filters.splice(dateObjIdx, 1); @@ -136,9 +136,9 @@ export default { this.payload.filters = filters; } else { this.payload.filters.push({ - name: "update_date", - operator: "eq", - value: moment(this.queryDate).valueOf() + name: "updated_date", + operator: "lt", + value: moment(this.queryDate).format("YYYY-MM-DD HH:mm:ss") }); } } From 8d81c352c2a62f0fd722276a0aad973dcbab8f02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Fri, 27 Dec 2019 10:58:26 +0800 Subject: [PATCH 073/172] #576 Fix p_guid was empty when modifying ci data Fixed an issue where p_guid was empty when modifying ci data --- .../main/java/com/webank/cmdb/service/impl/CiServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java index 57d6913a7..6e3f4afb9 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/service/impl/CiServiceImpl.java @@ -2048,13 +2048,13 @@ public Object cloneCiAsParent(EntityManager entityManager, int ciTypeId, String MultiValueFeildOperationUtils.processMultValueFieldsForCloneCi(entityManager, entityMeta, newGuid, fromBeanMap, toEntityHolder, this); toEntityHolder.put(CmdbConstants.DEFAULT_FIELD_GUID, newGuid); - fromBeanMap.put(CmdbConstants.DEFAULT_FIELD_PARENT_GUID, newGuid); List refreshableAttrs = ciTypeAttrRepository.findByCiTypeIdAndIsRefreshable(ciTypeId, 1); refreshableAttrs.forEach(attr -> { fromBeanMap.put(attr.getPropertyName(), null); }); - + fromBeanMap.put(CmdbConstants.DEFAULT_FIELD_PARENT_GUID, newGuid); + entityManager.merge(fromBean); entityManager.persist(toEntityHolder.getEntityObj()); return fromBean; From 258ef4bc3639030432896bbe72ec031661ca86ea Mon Sep 17 00:00:00 2001 From: elliotshi Date: Fri, 27 Dec 2019 11:22:48 +0800 Subject: [PATCH 074/172] 538 enhance i18n --- cmdb-ui/src/locale/i18n/en-US.json | 7 ++++++- cmdb-ui/src/locale/i18n/zh-CN.json | 7 ++++++- cmdb-ui/src/pages/designing/ci-data.vue | 10 +++++----- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/cmdb-ui/src/locale/i18n/en-US.json b/cmdb-ui/src/locale/i18n/en-US.json index 2dd122b9e..6deccf521 100755 --- a/cmdb-ui/src/locale/i18n/en-US.json +++ b/cmdb-ui/src/locale/i18n/en-US.json @@ -244,5 +244,10 @@ "auto_fill_change_special_delimiter": "更换特殊连接符", "auto_fill_filter_modal_title": "过滤条件", "auto_fill_filter_modal_button": "添加过滤条件", - "auto_fill_filter_placeholder": " <-- 点此开始编辑填充规则" + "auto_fill_filter_placeholder": " <-- 点此开始编辑填充规则", + "updated_time": "Updated Time", + "query_type": "Query Type", + "type_latest": "Latest", + "type_all": "All", + "type_reality": "现实" } diff --git a/cmdb-ui/src/locale/i18n/zh-CN.json b/cmdb-ui/src/locale/i18n/zh-CN.json index 5b81a2013..7ed78b127 100755 --- a/cmdb-ui/src/locale/i18n/zh-CN.json +++ b/cmdb-ui/src/locale/i18n/zh-CN.json @@ -244,5 +244,10 @@ "auto_fill_change_special_delimiter": "更换特殊连接符", "auto_fill_filter_modal_title": "过滤条件", "auto_fill_filter_modal_button": "添加过滤条件", - "auto_fill_filter_placeholder": " <-- 点此开始编辑填充规则" + "auto_fill_filter_placeholder": " <-- 点此开始编辑填充规则", + "updated_time": "更新时间", + "query_type": "查询类型", + "type_latest": "最新", + "type_all": "所有", + "type_reality": "现实" } diff --git a/cmdb-ui/src/pages/designing/ci-data.vue b/cmdb-ui/src/pages/designing/ci-data.vue index 97feb2c48..667598884 100755 --- a/cmdb-ui/src/pages/designing/ci-data.vue +++ b/cmdb-ui/src/pages/designing/ci-data.vue @@ -38,7 +38,7 @@ >
-
更新时间
+
{{ $t("updated_time") }}
-
查询类型
+
{{ $t("query_type") }}
From 3e51a7f20d65ce782f00e4d7fe2698f820dd1a52 Mon Sep 17 00:00:00 2001 From: elliotshi Date: Fri, 27 Dec 2019 11:31:33 +0800 Subject: [PATCH 075/172] 558 enhance i18n --- cmdb-ui/src/locale/i18n/en-US.json | 1 + cmdb-ui/src/locale/i18n/zh-CN.json | 1 + cmdb-ui/src/pages/designing/ci-data.vue | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/cmdb-ui/src/locale/i18n/en-US.json b/cmdb-ui/src/locale/i18n/en-US.json index e3839b140..3da5090c4 100755 --- a/cmdb-ui/src/locale/i18n/en-US.json +++ b/cmdb-ui/src/locale/i18n/en-US.json @@ -122,6 +122,7 @@ "select_placeholder": "Please select", "new": "New", "execute": "Execute", + "compare": "Compare", "add_permission_success": "Permission added successfully", "update_permission_success": "Permission updated successfully", "delete_permission_success": "Permission deleted successfully", diff --git a/cmdb-ui/src/locale/i18n/zh-CN.json b/cmdb-ui/src/locale/i18n/zh-CN.json index 6bf701acd..523b740b2 100755 --- a/cmdb-ui/src/locale/i18n/zh-CN.json +++ b/cmdb-ui/src/locale/i18n/zh-CN.json @@ -122,6 +122,7 @@ "select_placeholder": "请选择", "new": "新增", "execute": "执行", + "compare": "对比", "add_permission_success": "新增权限成功", "update_permission_success": "更新权限成功", "delete_permission_success": "删除权限成功", diff --git a/cmdb-ui/src/pages/designing/ci-data.vue b/cmdb-ui/src/pages/designing/ci-data.vue index 5815ef45d..bd2e9b832 100755 --- a/cmdb-ui/src/pages/designing/ci-data.vue +++ b/cmdb-ui/src/pages/designing/ci-data.vue @@ -362,7 +362,7 @@ export default { : deepClone( innerActions.concat(await getExtraInnerActions()).concat([ { - label: "对比", + label: this.$t("compare"), props: { type: "info", size: "small" From 50038832b9f4a10603c8d57b040337a11fea838e Mon Sep 17 00:00:00 2001 From: elliotshi Date: Fri, 27 Dec 2019 11:34:48 +0800 Subject: [PATCH 076/172] 538 enhance i18n adjust --- cmdb-ui/src/locale/i18n/en-US.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmdb-ui/src/locale/i18n/en-US.json b/cmdb-ui/src/locale/i18n/en-US.json index 6deccf521..38afe7d5b 100755 --- a/cmdb-ui/src/locale/i18n/en-US.json +++ b/cmdb-ui/src/locale/i18n/en-US.json @@ -249,5 +249,5 @@ "query_type": "Query Type", "type_latest": "Latest", "type_all": "All", - "type_reality": "现实" + "type_reality": "Confirmed" } From bba13347d75cdd2c2c5fc39026d72a3079b4d377 Mon Sep 17 00:00:00 2001 From: elliotshi Date: Fri, 27 Dec 2019 14:19:46 +0800 Subject: [PATCH 077/172] #538 bugfix on updated date format --- cmdb-ui/src/pages/designing/ci-data.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmdb-ui/src/pages/designing/ci-data.vue b/cmdb-ui/src/pages/designing/ci-data.vue index 667598884..21e8581b6 100755 --- a/cmdb-ui/src/pages/designing/ci-data.vue +++ b/cmdb-ui/src/pages/designing/ci-data.vue @@ -132,7 +132,9 @@ export default { } else { if (~dateObjIdx) { let filters = this.payload.filters; - filters[dateObjIdx].value = moment(this.queryDate).valueOf(); + filters[dateObjIdx].value = moment(this.queryDate).format( + "YYYY-MM-DD HH:mm:ss" + ); this.payload.filters = filters; } else { this.payload.filters.push({ From 1d9d1d835f110a45b697569631671a6f52cd050f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Fri, 27 Dec 2019 14:38:33 +0800 Subject: [PATCH 078/172] #539 Add the interface for get special connector #539 Add the interface for get special connector to artifacts --- .../java/com/webank/cmdb/controller/ApiV2Controller.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ApiV2Controller.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ApiV2Controller.java index 0bc75fbca..b61e1e104 100755 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ApiV2Controller.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ApiV2Controller.java @@ -505,4 +505,9 @@ public List updateRoleCiTypeCtrlAttrConditions(@ public void deleteRoleCiTypeCtrlAttrConditions(@Valid @RequestBody List requestIds) { staticDtoService.delete(RoleCiTypeCtrlAttrConditionDto.class, requestIds); } + + @GetMapping("/static-data/special-connector") + public Object getSpecialConnector() { + return constantService.getSpecialConnector(); + } } From 526a49c5be0c82f142177d4c153aa038cf31a775 Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Fri, 27 Dec 2019 14:43:15 +0800 Subject: [PATCH 079/172] #561 app design show history version --- .../webank/cmdb/controller/ui/helper/UIWrapperService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java index 401e3e01f..1b10a0ba4 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java @@ -944,7 +944,9 @@ public List getAllZoneLinkGroupByIdc() { } public Object getSystemDesigns() { - return queryCiData(uiProperties.getCiTypeIdOfSystemDesign(), defaultQueryObject()); + QueryRequest defaultQueryObject = defaultQueryObject(); + defaultQueryObject.getDialect().setShowCiHistory(true); + return queryCiData(uiProperties.getCiTypeIdOfSystemDesign(), defaultQueryObject); } public List getAllDesignTreesFromSystemDesign(String systemDesignGuid) { From c5ccbc909dbaf789afcd8c99c646123f486f4e80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SiZhe=20Xu=20=28=E8=AE=B8=E6=80=9D=E5=93=B2=29?= Date: Fri, 27 Dec 2019 16:09:24 +0800 Subject: [PATCH 080/172] #538 Fix the cidata query by fix date --- .../webank/cmdb/controller/ui/helper/UIWrapperService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java index 3aa842d99..d3618f300 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java @@ -490,7 +490,10 @@ public QueryResponse queryCiDataByType(Integer ciTypeId, QueryRequest qu } query.getContents().forEach(cidata -> { if(cidata.getData().get("fixed_date")==null) { - ciDataIds.add((String)cidata.getData().get("p_guid")); + String p_guid = (String)cidata.getData().get("p_guid"); + if(StringUtils.isNotBlank(p_guid)) { + ciDataIds.add(p_guid); + } }else { ciDataIds.add((String)cidata.getData().get("guid")); } From a5bd8c3ffe2fbbd843815f26d9f1286b8c37080b Mon Sep 17 00:00:00 2001 From: xuxuzhesi Date: Fri, 27 Dec 2019 16:15:59 +0800 Subject: [PATCH 081/172] #538 Fix the cidata query by fixed date --- .../ui/helper/UIWrapperService.java | 89 ++++++++++--------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java index d3618f300..63f387029 100644 --- a/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java +++ b/cmdb-core/src/main/java/com/webank/cmdb/controller/ui/helper/UIWrapperService.java @@ -14,6 +14,7 @@ import java.util.function.Function; import java.util.stream.Collectors; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -96,7 +97,7 @@ public class UIWrapperService { private FilterRuleService filterRuleService; @Autowired private BaseKeyInfoService baseKeyInfoService; - + public void swapCiTypeLayerPosition(int layerId, int targetLayerId) { CatCodeDto enumCode = getEnumCodeById(layerId); CatCodeDto targetEnumCode = getEnumCodeById(targetLayerId); @@ -226,7 +227,7 @@ public List createEnumCodes(CatCodeDto catCode) { if (catCode.getCatId().equals(getLayerCategoryId())) { catCode.setSeqNo(getMaxLayerSeqNumber() + 1); } - + if (catCode.getGroupCodeId() != null && !(catCode.getGroupCodeId() instanceof Integer)) { catCode.setGroupCodeId(null); } @@ -378,8 +379,8 @@ public CatCodeDto getEnumCodeById(Integer id) { public List updateEnumCodes(List> catCodeDtos) { catCodeDtos.forEach(dto -> { dto.remove("ciTypes"); - Object groupCodeId= dto.get("groupCodeId"); - if (groupCodeId!=null && !(groupCodeId instanceof Integer)) { + Object groupCodeId = dto.get("groupCodeId"); + if (groupCodeId != null && !(groupCodeId instanceof Integer)) { dto.remove("groupCodeId"); } }); @@ -474,33 +475,33 @@ public QueryResponse queryCiData(Integer ciTypeId, QueryRequest queryObj } return ciService.query(ciTypeId, queryObject); } - + public QueryResponse queryCiDataByType(Integer ciTypeId, QueryRequest queryObject) { - if (queryObject == null) { - queryObject = QueryRequest.defaultQueryObject().descendingSortBy(CmdbConstants.DEFAULT_FIELD_CREATED_DATE); - } else if (queryObject.getSorting() == null || queryObject.getSorting().getField() == null) { - queryObject.getDialect().setShowCiHistory(false); - queryObject.setSorting(new Sorting(false, CmdbConstants.DEFAULT_FIELD_CREATED_DATE)); - } - queryObject.addNotEqualsFilter("state", uiProperties.getEnumIdOfStateDelete()); - QueryResponse query = ciService.query(ciTypeId, queryObject); - List ciDataIds = new ArrayList<>(); - if(query.getContents()==null||query.getContents().size()<=0) { - return query; - } - query.getContents().forEach(cidata -> { - if(cidata.getData().get("fixed_date")==null) { - String p_guid = (String)cidata.getData().get("p_guid"); - if(StringUtils.isNotBlank(p_guid)) { - ciDataIds.add(p_guid); - } - }else { - ciDataIds.add((String)cidata.getData().get("guid")); - } - }); - queryObject.addInFilter("guid", ciDataIds); - queryObject.getDialect().setShowCiHistory(true); - return ciService.query(ciTypeId, queryObject); + if (queryObject == null) { + queryObject = QueryRequest.defaultQueryObject().descendingSortBy(CmdbConstants.DEFAULT_FIELD_CREATED_DATE); + } else if (queryObject.getSorting() == null || queryObject.getSorting().getField() == null) { + queryObject.getDialect().setShowCiHistory(false); + queryObject.setSorting(new Sorting(false, CmdbConstants.DEFAULT_FIELD_CREATED_DATE)); + } + queryObject.addNotEqualsFilter("state", uiProperties.getEnumIdOfStateDelete()); + QueryResponse query = ciService.query(ciTypeId, queryObject); + List ciDataIds = new ArrayList<>(); + if (query.getContents() == null || query.getContents().size() <= 0) { + return query; + } + query.getContents().forEach(cidata -> { + if (cidata.getData().get("fixed_date") == null) { + String p_guid = (String) cidata.getData().get("p_guid"); + if (StringUtils.isNotBlank(p_guid)) { + ciDataIds.add(p_guid); + } + } else { + ciDataIds.add((String) cidata.getData().get("guid")); + } + }); + queryObject.addInFilter("guid", ciDataIds); + queryObject.getDialect().setShowCiHistory(true); + return ciService.query(ciTypeId, queryObject); } public List> updateCiData(Integer ciTypeId, List> ciData) { @@ -1062,21 +1063,21 @@ public void recursiveUpdateChildrenFixedDate(List designTrees, public Object getArchitectureDesignTabs() { return getEnumCodesByCategoryName(uiProperties.getCatNameOfArchitectureDesign()); } - + public Object getPlanningDesignTabs() { return getEnumCodesByCategoryName(uiProperties.getCatNameOfPlanningDesign()); } - + public Object getResourcePlanningTabs() { return getEnumCodesByCategoryName(uiProperties.getCatNameOfResoursePlanning()); } - + public Object getArchitectureCiData(Integer codeId, String systemDesignGuid, QueryRequest queryObject) { Integer systemDesignCiTypeId = uiProperties.getCiTypeIdOfSystemDesign(); return getCiData(codeId, null, systemDesignGuid, queryObject, systemDesignCiTypeId); } - private Object getCiData(Integer codeId, String envCode, String systemDesignGuid, QueryRequest queryObject,int systemDesignCiTypeId) { + private Object getCiData(Integer codeId, String envCode, String systemDesignGuid, QueryRequest queryObject, int systemDesignCiTypeId) { List guid = Arrays.asList(systemDesignGuid.split(",")); CatCodeDto code = getEnumCodeById(codeId); Integer ciTypeId = Integer.parseInt(code.getCode()); @@ -1127,7 +1128,7 @@ private List> getAllCiDataOfRootCi(int rootCiTypeId, int env QueryRequest queryRequest = new QueryRequest(); List filters = new ArrayList(); String enumPorpertyNameOfEnv = getEnumPropertyNameByCiTypeId(rootCiTypeId, envEnumCat); - + if (envEnumCode != null && enumPorpertyNameOfEnv != null) { Filter rootCifilter = new Filter("root$" + enumPorpertyNameOfEnv, "eq", getEnumCodeIdByCode(envEnumCat, envEnumCode)); filters.add(rootCifilter); @@ -1156,7 +1157,7 @@ private List> getAllCiDataOfRootCi(int rootCiTypeId, int env rootDto.setCriteria(rootNode); rootDto.setQueryRequest(queryRequest); - + IntegrationQueryDto childQueryDto = travelRoutine(routineItems, filterCiTypeId, rootDto, 1, "", envEnumCat, envEnumCode); if (childQueryDto != null) { rootDto.getCriteria().setChildren(Arrays.asList(childQueryDto)); @@ -1202,7 +1203,7 @@ private IntegrationQueryDto travelRoutine(List routines, int filt return null; } CiRoutineItem item = routines.get(position); - + IntegrationQueryDto dto = new IntegrationQueryDto(); dto.setName("index-" + position); dto.setCiTypeId(item.getCiTypeId()); @@ -1213,8 +1214,8 @@ private IntegrationQueryDto travelRoutine(List routines, int filt dto.setParentRs(parentRs); AdmCiType ciType = staticEntityRepository.findEntityById(AdmCiType.class, item.getCiTypeId()); - String tableName=CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, ciType.getTableName()); - key = key+"-"+tableName; + String tableName = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, ciType.getTableName()); + key = key + "-" + tableName; String enumPorpertyNameOfEnv = getEnumPropertyNameByCiTypeId(item.getCiTypeId(), envEnumCat); if (envEnumCode != null && enumPorpertyNameOfEnv != null) { List attrs = new ArrayList(); @@ -1223,14 +1224,14 @@ private IntegrationQueryDto travelRoutine(List routines, int filt key = key.substring(1); Filter cifilter = new Filter(key + "." + enumPorpertyNameOfEnv, "eq", getEnumCodeIdByCode(envEnumCat, envEnumCode)); - + rootDto.getQueryRequest().getFilters().add(cifilter); attrs.add(getAttrIdByCiTypeId(item.getCiTypeId(), enumPorpertyNameOfEnv)); attrKeyNames.add(key + "." + enumPorpertyNameOfEnv); dto.setAttrs(attrs); dto.setAttrKeyNames(attrKeyNames); } - IntegrationQueryDto childDto = travelRoutine(routines, filterCiTypeId, rootDto, ++position, "",envEnumCat,envEnumCode); + IntegrationQueryDto childDto = travelRoutine(routines, filterCiTypeId, rootDto, ++position, "", envEnumCat, envEnumCode); if (childDto == null) { if (filterCiTypeId != item.getCiTypeId()) { log.error("routine tail ciType not right!!!"); @@ -1449,7 +1450,7 @@ private List groupByAttr(List toBeGroupData, C boolean continueFlag = false; Map ciMap = (Map) singleData.getData(); Object relateCiTypeDto = ciMap.get(relateCiAttrDto.getPropertyName()); - if (relateCiTypeDto == null||"".equals(relateCiTypeDto)) { + if (relateCiTypeDto == null || "".equals(relateCiTypeDto)) { continue; } @@ -1590,9 +1591,9 @@ public Object getPlanningDesignsCiData(int codeId, String systemDesignGuid, Quer public List getIdcDataByGuid(List idcGuids) { QueryRequest defaultQueryObject = defaultQueryObject(); defaultQueryObject.addInFilter("guid", idcGuids); - QueryResponse queryCiData = queryCiData(uiProperties.getCiTypeIdOfIdc(),defaultQueryObject); + QueryResponse queryCiData = queryCiData(uiProperties.getCiTypeIdOfIdc(), defaultQueryObject); return queryCiData.getContents(); - + } public Object getResourcePlanningCiData(int codeId, String systemDesignGuid, QueryRequest queryObject) { From 8da8949dda46bd50a4c94c4e0b0324a7e6afa8b5 Mon Sep 17 00:00:00 2001 From: elliotshi Date: Fri, 27 Dec 2019 17:02:34 +0800 Subject: [PATCH 082/172] #538 enhance smart updated date --- cmdb-ui/src/pages/designing/ci-data.vue | 28 +++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/cmdb-ui/src/pages/designing/ci-data.vue b/cmdb-ui/src/pages/designing/ci-data.vue index d8eb90e55..1f34472c5 100755 --- a/cmdb-ui/src/pages/designing/ci-data.vue +++ b/cmdb-ui/src/pages/designing/ci-data.vue @@ -57,8 +57,8 @@ type="datetime" format="yyyy-MM-dd HH:mm" :options="options" - v-model="queryDate" - @on-change="handleQueryEmit" + :value="queryDate" + @on-change="handleDateChange" />
{{ $t("query_type") }}
+ + - -
+ + @@ -142,13 +95,7 @@ - + diff --git a/cmdb-ui/src/pages/components/test.js b/cmdb-ui/src/pages/components/test.js deleted file mode 100755 index 5dd2269ee..000000000 --- a/cmdb-ui/src/pages/components/test.js +++ /dev/null @@ -1,205 +0,0 @@ -export const SearchFilters = [ - { - title: "Name", - key: "name", - component: "Input", - type: "text", - placeholder: "Name" - }, - { - title: "Date", - key: "date", - component: "DatePicker", - type: "datetimerange", - placeholder: "Date" - }, - { - title: "Parent Header", - align: "center", - children: [ - { - title: "Age", - key: "age", - component: "WeCMDBSelect", - type: "text", - placeholder: "Age", - options: [ - { - value: "London", - label: "London" - }, - { - value: "Sydney", - label: "Sydney" - }, - - { - value: "Paris", - label: "Paris" - } - ] - }, - { - title: "Address", - key: "address", - component: "Input", - type: "textarea", - placeholder: "Address", - autosize: { minRows: 1, maxRows: 3 } - } - ] - }, - { - title: "Phone", - key: "phone", - component: "WeCMDBSelect", - placeholder: "Phone", - options: [ - { - value: "London", - label: "London" - }, - { - value: "Sydney", - label: "Sydney" - }, - - { - value: "Paris", - label: "Paris" - } - ] - }, - { - title: "Email", - key: "email", - component: "WeCMDBRefSelect", - placeholder: "Email", - isGroup: true, - options: [ - { - value: "London", - label: "London", - children: [ - { - value: "London", - label: "London" - }, - { - value: "Sydney", - label: "Sydney" - }, - { - value: "Paris", - label: "Paris" - } - ] - }, - { - value: "Sydney", - label: "Sydney", - children: [ - { - value: "XXX", - label: "XXX" - }, - { - value: "ssss", - label: "ssss" - }, - { - value: "ccFF", - label: "ccFF" - } - ] - }, - { - value: "Paris", - label: "Paris", - children: [ - { - value: "CCC", - label: "CCC" - }, - { - value: "eee", - label: "eee" - } - ] - } - ] - } -]; - -export const outerActions = [ - { - label: "Add", - props: { - type: "success", - icon: "md-add", - disabled: false - }, - actionType: "add" - }, - { - label: "save", - props: { - type: "info", - icon: "md-checkmark", - disabled: true - }, - actionType: "save" - }, - { - label: "edit", - props: { - type: "info", - icon: "ios-build", - disabled: true - }, - actionType: "edit" - }, - { - label: "delete", - props: { - type: "warning", - icon: "ios-trash-outline", - disabled: true - }, - actionType: "delete" - }, - { - label: "export", - props: { - type: "primary", - icon: "ios-download-outline" - }, - actionType: "export" - } -]; -export const innerActions = [ - { - label: "query", - props: { - type: "primary", - size: "small" - }, - actionType: "query", - visible: { - key: "name", - value: "Joe" - } - }, - { - label: "approve", - props: { - type: "success", - size: "small" - }, - actionType: "approve", - visible: { - key: "name", - value: "Snow" - } - } -]; diff --git a/cmdb-ui/src/pages/designing/application-architecture.vue b/cmdb-ui/src/pages/designing/application-architecture.vue index 8b13bed8d..7756f30b3 100755 --- a/cmdb-ui/src/pages/designing/application-architecture.vue +++ b/cmdb-ui/src/pages/designing/application-architecture.vue @@ -3,17 +3,9 @@
- {{ $t("system_design") }} - + @@ -115,15 +77,10 @@
- + - {{ $t("invoking_sequential_design") }} + {{ $t('invoking_sequential_design') }}
{{ item.data.code }} - + - {{ - invokeSequenceForm.spliceInvokeSequenceList - }} + {{ invokeSequenceForm.spliceInvokeSequenceList }} - + - {{ - invokeSequenceForm.currentInvokeSequenceTag - }} - - - + {{ invokeSequenceForm.currentInvokeSequenceTag }} + + + - {{ invokeSequenceForm.currentNum }}/{{ - invokeSequenceForm.totalNum - }} - - + {{ invokeSequenceForm.currentNum }}/{{ invokeSequenceForm.totalNum }} + + - + {{ $t('back') }} @@ -216,11 +141,7 @@ - +
-
{{ $t("no_data") }}
+
{{ $t('no_data') }}
- -
{{ $t("loading") }}
+ +
{{ $t('loading') }}
- + diff --git a/cmdb-ui/src/pages/designing/physical-graph.vue b/cmdb-ui/src/pages/designing/physical-graph.vue index 65fed9ab0..5b70e6c9b 100755 --- a/cmdb-ui/src/pages/designing/physical-graph.vue +++ b/cmdb-ui/src/pages/designing/physical-graph.vue @@ -3,27 +3,18 @@ From bc73cb68e37be2e9abaf7229297228ae902b2bc0 Mon Sep 17 00:00:00 2001 From: homiexie <624128114@qq.com> Date: Wed, 15 Jan 2020 17:44:14 +0800 Subject: [PATCH 168/172] #640 removed unused files --- cmdb-ui/src/pages/images/endEvent.png | Bin 12587 -> 0 bytes cmdb-ui/src/pages/images/errEndEvent.png | Bin 14434 -> 0 bytes .../src/pages/images/eventBasedGateway.png | Bin 20551 -> 0 bytes cmdb-ui/src/pages/images/exclusiveGateway.png | Bin 13787 -> 0 bytes .../pages/images/intermediateCatchEvent.png | Bin 16446 -> 0 bytes cmdb-ui/src/pages/images/serviceTask.png | Bin 930 -> 0 bytes cmdb-ui/src/pages/images/startEvent.png | Bin 12624 -> 0 bytes cmdb-ui/src/pages/util/admin.js | 235 ------------------ 8 files changed, 235 deletions(-) delete mode 100755 cmdb-ui/src/pages/images/endEvent.png delete mode 100755 cmdb-ui/src/pages/images/errEndEvent.png delete mode 100755 cmdb-ui/src/pages/images/eventBasedGateway.png delete mode 100755 cmdb-ui/src/pages/images/exclusiveGateway.png delete mode 100755 cmdb-ui/src/pages/images/intermediateCatchEvent.png delete mode 100755 cmdb-ui/src/pages/images/serviceTask.png delete mode 100755 cmdb-ui/src/pages/images/startEvent.png delete mode 100755 cmdb-ui/src/pages/util/admin.js diff --git a/cmdb-ui/src/pages/images/endEvent.png b/cmdb-ui/src/pages/images/endEvent.png deleted file mode 100755 index efc84e62ba6cfda7631247506b70721dc6abbbee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12587 zcmc(_WmFtdw=LQbf(4i0(71%)?ry<7xVyW%1a}B7!QI_85Hz^EyF1*KCwc-rRSLCg*l4(E`PY4_GwkMgkSD9rr%x+pacm_uT9E@6h`zp2#4N zTb`17&@4=jydv$la3oWi@!v*qtq_pK7Zab=uO1wzxfvOe1aRJ7+uA!JDsr`)mF!;~ z-@3y61*rBv_>l=^e2u;SMEr&dYR{lg!u%j`6Y8=2eLxX23%(`}fdaNhIoOf4Su41X zwOPzMA-><=jUHr#8$3>qKN+}&3D80a#30zi>h_}x;D5OM+1r~+ zgK+AnbZ5%b;=4UcxVdxbAYNVgxgnOc-@zQh_U?T#`u%J0$M8*TB)dtG+Mi@9W7W1z zSEhrd42WBNk}h75{UIn_n4f0uP<|=Lkx-}@#-v^E;x90F2Q6rKNBjt0z~7>h6!gka z&CVo^-V#DkgVms++bcBlPJ!Kx8`c>2SRBm{($65>u5RcY<4NVJ9C=G5;ZLgA?IK5W z2z}H|3RC>c%4s-*X0O51--^P#`#4;Ki#J*+-5*BO7)Kqi{J1QLPn9SVYWYxe$XQ!V zR?$%|&!* zk_Tf!JqM5E@w1RdY;nU-NpFBz(i*gZqq}7792PQl$S1|Vn4xbG=t?Z^TZ``PaA9d) z7m6q_9AL<5Kgeh+2J{^WdsAIYqW0-g5eULqe=RVSjmB8Dc&mpPWYusE!V5$k%5U+P z-q|`KdB|HL@%pqfyx$5F$;G@^J)}QA3DQ#e-NQGe7?Ekyfzu@S->J_~#mPj4xG zqHlRu?K9P$Us711rZUDLkKDQ`D5{L8oPdoeEy{M4NU*$<(B&j$)*amUnlp!ZiF*Bu zrWrucJ+4Pt?YN*{j#*u8sE+4?%AMCsT6VyGOM@GooIg%UboJvMHKr)4hl^S|U1{?)8SS`0stj3zOSC*K*^vA80A*IOjtvDHXfVh|b_zFyFG=(%lwBM@L7=`i+wj)Qk&d z;%1&Zk00?&x{EXCw@h->m#}=a=CsB-aghe;E{6kbVL1w^n~x7_2%`;^(y?tehY(u z4NV9Q2OSLk2jLDogW1hMg2{;?k_7`h8PA59$9!R|8@mw!DRAN;ye88=ZOTxD#eroD zcNa$m$J=zqe8$$w?8G|5M9V_U)T>{8xc?`TG+muvOF&Dud*Gu_;sDhh)n;+QuQYLO zoZCU8ddZ(*llgy*vWJ}$?h9$BC8oWmRSGK#??>&JvFapE>PFd8Gue*utXa6sSbUv! z4_<%yvWkysk0y-n|FmW9GUL|C=`vZ;oSN_VM#ropXdy5^Ajm+~eJR}JJPj-~u1+Qvmw$BAT%W7~AYwz#`WidbEyK zD+>dLnnQeertEZ%E2Z|PgWeAJ_Vjk^XFfxHlZF991~D!%SXp#gUK3msmO4&VR8=2! ztaT=(%Wqx8N4W-ytbz|ucziG)b^H7mXA&MQ+CzPU8mQ7^H2GvzAu7=1l+m< z{Q4lyA-z9De7J{s!`bx{3-%0wah~x@SXvUUJf=M6zYI*QwQN^Di89JI z%1X+<^>Q~E2iuH6KNo(gFtWFN*5Yf5TjuYv?QMrEGBB?hu4$-2-qzYOvOh(i3PY!; zOm$;l1}AJ;4g|)>#<#{d z)%`Ugpkk#;O4P|XW%4{c88TKd=HAwx6v%3BH_@FAC#_5X@CVLm$lgTxjSD2gRzG77Y zUb0UqhH_SwLse(Y z(m&{!wH!EJZqV~};h)@`TD9!BmYh0t@7`5jYKvC|>2TV!ZXHd`H_y{)#dNJXlim(i zq$}Cd*uvTHwrJZuKUR@{8vAX-OT@QOE!-GJuF~=^#9(_Gtx28|Br2;D$l>C zT=M2_##ZVg=GMkGjzAlHOl(X%|0)0fdh>r<{9iS{|F4>?Z2!CF|9bP^HF@a&4d8zb z=)Y#`KTm<_;)Ca*|DUPngZGvA7z3;ZzPX5;GVl%gZ)t#!A8=9q_cw5lN-@7@F$Mym zTuF)uD!W0PWPYkvo5mVaD@cjw_Mn!cQF9+SAQ#zAErc2VGA$v59EeMrKPpch98RI_ zfHw^rjEiyAjGKpbD0q`Mq>Qnty0S3Gb)CKP&ii`yy6R(@U3dTJeLrfu=Q?4S*}?C* zdTyKTIH%JVuqi|Z20?=5BLzOf3Nzw9z(ayjQ2ZFWQ3XIyLQr4?VzLF`HAvqN*$)I8 z1S^0oBvB0kB>?IL5rH63U{U=Tf@1YP!1{rLAozfSC?p_#SmGXN6c7aL2QLtm09XXn ziy{<&2sDBM{Q!dX6ZioNA`XJW1MGtlE+9}q{wNTz!mw~`fPDe%jSoOUVn~z_6f`Tq zKF|@E|4%vsck8d~^BCM{vnsXRWLreQ?J_yR|1RC;dS2M!dH?sk>s>ZDIM`{U8-j+0 zCa>%LjXOua#z3@Gu>fABLLax$@lEGPUWY221nRR_B}7`}OI;D7?dYUEhYKT8#z^h3P_>68Gyp zr=yZ0#Xrek4R0GJf~D&v=(snU%f99o zI9H`xWxZzZ8HLAQNXY9UKas^-VmK5nJI|U<1Ec?=q{;W?Qap{*kzy>3HKOzF>G-F` z=A5ykqvPQqo^5`*O>5W=x0DyKb5QHD*=-4T_xE9b1^%Evo!#A0-A>lD$vv)Y8!z*q zET}~Zf%R~Be|u$dK2jd}^XHds=OabH7m9tftDIWj_cx~@0#~R@jA8TC<*)t>>L)~S zbRK)DrU#3r*#+x9&tqFj@wTlFyCW=SlVDsPHwIvJX&(`zTY^!bKM_{qcwX z-+q*?I6mF!3c6c6@351;x|bC^P|5VVHV;X-{a`Uhjtp$a*u?MkW(w}DXhVb{prB0# z`H>|SuLnEW0K))zMY6Mwd!1`wizUq_Eo29PvKSMct5mGIq|I=-oTw_aT51nHqoIVDFI54$9|L|!%#J|f!waxyE*U&m*U8**$XC-=4B5^9lEH#3 z7OM4Q>uO{(xdaJ^EM`lSmQYZkC6OuJNnFoXaCV{-e~gc%v%@I$bv>VP$9H+tc6i*v z?^WP?p49NE^2c)tV@v7jG+1D+dK^~>9@V3@WxOa+;7G!=N)}L1&ywxuy1{2lsdCt5);mqmvU8P2%Ay6*+9aTU4rZ`eQ?KT@9RRws#{A zqe0LnOwQWvrx=P+!x&x@H|1^G^*B;-kD*zYVAPHNAad-G+rK3f)I}KvWU=9f6jsjy zMt7W8!R|Lx;)q45uHg+g-d#SgB-Tr9`|Rbi3tuC%yoJ_kVIaTzqlOsET@}n zb^C0EGd9;7EY0YBBy3r4b=RZ-*IOlh})#C!cW5Jl4>L1QCYqCBGNY@ zm2vQCT*KPsbScT@HNitq75)Ri414>y;7K%9)29SVIoVR%q&989OSW$|(bU{W@Jw&c z*X~yO#>@WZ(tiMU0zy?ZM%lH!7epa!%9SpQ;UIz|aKZ+c#EUXr(l(Xf3TBuV+iIn- zjTUhCr|os{=YB6EC*HtHr!oy(94{_F<%vdo4oUeaT~!OmO=B74ujaf|?$2>4+dj(C7m;GuK#h~SJSWv?;Z=9lS!a*|m<}2S@)m`R+r&B|d z%x5)S7!|j#xTst!gzffN_nRR68W~rXAX}yrLsFAdamwzu>(1-&RAF5GL{bEq4mQWE z+m7r^g(iEQejl{j6NmlnhNN~#N=-z&uDeQke~t8Pj>xCLerOSbDGvSKAm#EJ?bL3^ z30_k-;xviphqJbGRh!`SJ+v-^6r%oB%WW!*w>wiq@Y=)GZ;=5YDoWHXy_PGe0bqd zN$Ad(OdvrI1!B(iY16ue>N>S%7GZ+St)r2^Qp2__skl8WBF&o17#vuYvCETSYx8U9P2I-!;V20{8~D=l#xkfwNS z@oJy}Ysd`Akqp;0_qYcUAD_-;hUgrZFo{!&GU@9`j`(^5wr|Ug)?q|kab%jJ_SpjZ z`o!9R(VMsDbIpo!qvbsX_)DwrW%FS(52!!F9E(=$`Vi-Qadvzh0RKPUK!8b;2{L_& zCOaR*RMS%M5an4ueytGE(aCaFh$S{}92oK38!Ax!=Pnr4bleM^`Ej^itV(V#%!}rm z&}u9F%NhEaDJ!CC$;hAE&O5(3AI~+oAYwPl|ZiPJ?EPl%H%3D?5aJ;FyLH z3SoVz2ryvsc(pq~A9fB027gb*WwkIGv+bvJHy1vabmugPW&I4qstP)jUVouj! z{J1C-7r2)SI(}52~=)Qwm*16;8RPNdf9%gd0Gu|aVT$itn=x&(T zu^dS07x%uStjc1PfJ*1NZBXC{bgVY0D<_PK=Y`@Bw5?X;FkPwrd+@!^Wa@Ta*LI*$ z=9dm!VENU{W+;)y=B6c#hJT!~*t+LA@78b8FBQo@p~I{%Dj%5acF2z^5FeqD2~R#j z&rGBFhZ6ZLr1?rZRoV`uqkfoB0n26<(zUm5p#Uf#oTDqC)f)RI0#v0bc}1htc7b8H zl~1>1a=LUaIBXUDdCh&FfCwcg8WrW?<$8kA;(^GNeobmY!_Q@-+aI+Vk8Ts)f3q)C z6BXwB)JW0ROGVJA%EoNQOsLEdkuOh$W>YlB&G%I{geMsR8+uNh7!T5RkM2`IK5`sm zRmJdHsyDA>C%BCW>poemt9ZzW^zx>bjlrI))W(x8n@hF{OQ5Hsnq>Rr2}c4>%_h@K zaoIGJXuatD)G&6m?D)OMDA>%V<|*_;ftC&1(H;mQ^}A)?{nO3iw!ra7Wk4M%wCu2G zgXR1`P*_?@9NPWYvZ|xd0(~%Ea$}tPoJ-nrrZnd(srxphD5`U^hiSjmA>wK+a z+Z>_t=&OI*S?jk|WaCVw`G^EkXm=H|s>u3JVxN{o5^N{tiuI@RM9Jck$3J5w{TbwO z_Zc}cP*R{ohFx)4wm$j=J-@%t!D+BT#i&td5>@(h1c3|BU$HbPh>;Rb;%Wi#R%#74 zR~HI|LaiDZ=pn{`k`>a~td-q?K}K^R>C93@8e>5WzYkwqDC6<^zIkok(kWY);y7B9 znUbnz>T4g=*nMsR~L+J84el zZWxwyV|*&DQnf6cFn}dXs;e2M*$BAadtiw26@G~kJmKjIfR!NScyBQfahS-InBQGH zc|Ii2?$TkJ1__e%7;)8`e6KYMdn%I~d+JH{g|ZS6aySx-H(!&*RI{-Yiy^G=cpvm2C)yD2Mqn8}7O4Ks@d=#q($?I_=-;w!~!#+=` zKErLWd(ldn7#WXkl=^qE^c8F*5x>r?DF8f=F~}%w$hln4q(6P8mB&lodjlc}gfKSEIRDbUC+`EUwXR49iW1NS3T z9?4|BB>EHJQK9}5Mzz&@p0FD**9l9k~)u*DNfzKPN$6c>8 zl}qFGZ2V8>nBeR_JEU2hFBj|gg&Y#voHnZm3p%Vy5<*w}?eg_aW3x{C z@A48lQ;dd#iSAmhFuw!FY(Ax(l(9xLV!T;@7@W^8h{GY`cM5h z&2%ltoJAjkDUfo9!lTOZ6F9-ZlqbbS4V20!Bk2!7JW&S)^D~HvqA(UO_)R9_UJ?g^ z;PZ-MrBLyD6DVl%0>Ih>&L+NH-h6~wXPvJ5Cs}pRyu)K_4reDB6P&JRCCobmKLKZa zgc`SGcrcmEm<-({OX?5o^pXbM$FHMVyvy*B7)74}>a7&aW%N6iBO=hVD7Jf{#!zMX zVx`5gA_u!nU%kblfM&-31B?a)rc{1t_wP7T;O)!fb%h^Rnf}AwvaL!k5;j9Oe6c(U zFO-hgrRXf%e_|~Jy=q^z{kE7&F*5H>ET(*}hzBgs>& zsm?SeoE8?sp8@J4)2BUAEKm94>u!>)!WM7n^yeHs{DIh zcxUiFST9K6{%kc&POWr!?}PG8qqQchdkbv%D#OWALqw@+McOwUq^GlC%4})=my15Z z^UaU2Kf#mr=1NZh8k!ZU0`SezY*`TnJ(ge%9<;*SjFKEVAA8(4PNb(wTB6xX?dP2P z3rHvyxRd3k7$bMBFF<5X-I4p7Y!s~Dyq9LF-1c7kRl_Bp*x!#D@)H(a{#=D-SyP+6uu->rd<#}tNJgkGxF@5}Jy7yW3p-nq)3qjJN`0|W6Da<)`O ziFdx*Y>Fg)8={fy3qoLbto5j7qm{z;)n2--;{JH%?2aG`EEH7zK2|i>5!F(cZ`aY? zk-)s7uJvJ;mgi|hsdgQp3oR(J9KokG9gT4<$W!4! z0V`W*fo-(}PcRe9Dh$WzQNcU-^spTxIsS*#-|sWTX`oWxd?XHYvG?y!9-Ur?QD#-gN3tfw2!$fY6$f_R&S_RaAs4KWg2kV9C&aFMI*`8zs+Dty~ zXUpL`31^k&!(-A+0-BQ8mKi!6lmjuC(siJtO*OtRP$N3F!HFi(Fuld&<#I^nD-+gC z0)v4BIQEl&7&>KX(>E8(pAk}GU6$H0{vTEq6DVZh5mN@yv260S-#t6BxIgC;FY3C?3-w`X@ucVy6jNuhqeWkmpP4vSb+$O3z+HSududAE;RdFFkzF0(spSn$SR=9vfDL1t2lj;^{&ADjyTdWZo0buG0)ZD)4X3gQM5pt%c%GJ5?#PzMnL>I(qC#)&vt!U+wn^V5jVFJ|C#=bR6d@d!riS?h8A zfKb*)sDDIrOU7}KCGPiWZCN8As}G*(YgLz-L{U0NYIyMx9@__j)h-3j5ug?ptJQvq zA^x(ag!`f;i$os4mGX7WiZhD$0Y7*sJv(4|^N7P=CY{Y4h_!5UI{9C(;Dfdk--kawO%~_N>Y-0Fmc(32;wH=>uj>_{*DZ^vUmh^ z3rF+m2OA`)yVK?URX|0Gn{C2|TT{&p9K7>ojSCU1mdoPd{2S7Xm%|e+tmhj=DJ=|# zfIdrRIBDqys9fk`my=s$a|{v+yNO2fsS4UefHW*jy-h$06@q|+=KczBn01NoR_JMF zec);$uZy1FcoPLFI!6`iHNB0kvXOl4x&!ExR0=rH8+_(hh-q$p;I0rLEkS)HMiwQR zEEnel$MgPjtpflA(yEDk{AhShyb=Zk$Ust%=-SVI4!aC#IW}G5T`@g?wXXpx<>zk% zQpmBS%Dbwdq0UU)KJcvpO`gi+EYDw+)?7Sx8>e#j{;JCIyA{v#jv8#Jk_jLtdpN9- zSW~Nn2qrgh*vVK$odDwc9W(;=#wh^wtWV38cL`X`Vkz6CV~p%%d?@sHAKFDroLpbO zl`tVFe)qgTy9KZzx~5@5h!+q=JOg2nWwq~FPGUq!;^qNLI>!}H3~ozAE_2wrDi~*w zKpb(qJSwY-ZrBX-=hzHFZ>P-mVoK7U-RjB*0<12SkDS_8@* zvIY9E7R}#M=xXp_%!~0)2JdNJX4P~*mKN;MY=Vq5-EWU(D~clkd0D@BsDgerM9{|@ z&=-p^5t$w+6F^k8mduBe8ILYUGs84@K$h$q*WKjqw+?+2MJ8hG7Y6H=5uTvYLCRqz zR&MD_GB;XomYV4M56C-C4Xqvfgp|L5_?6N(W6YoZfc1b5`2qDXwSgzH=bXf|2X+mV68`AlW z8?i-$$t^4BGo6+MkPhSn0)0$BcU^^~dNdw;G{B;*%ED_7KlaHZyaH$Z2RkY1`!wcr z|9A?Ixj4Q>rrX#mJKD(<7t{Uj@qASgedj~(y=(KotX-`U++_$Ew;<-Ul$*UC_Etjb z0AJ5HVo+afF2Tjm1UFru5V=#IHpK#|et(r>!9Zx`DjnWZr6QynL)0x07g_YTfu9l& z^@h=$AtQ;@j`I4=5mN0C5iVydlI`0uZi~_VC8a?TrdUs8A&#d2_l9lMZgU~H(N@#> zu}Q?~Kvq*ksiqvQC5IhC3MS(B;aPQ_*M39Zg=l}_Cy?+< z`37jc&sD}Y7i$9fiuk_>q+eh>5Xh^0(e7jCH^WvFQZ_Vy<6=P^5?mHrx$>zKB31{6j-Se>j}vIT^AB#2Q)Dnv+QoJdM4bAVGwp%GIc__w$77)*@K zG}*2*EXGliL12f(=JXmF@+0>nssGpqzaR?fcLwqlkb*twIc&%-k+aLKPStW2Y^r~MKI zlwi%4^Ok)=-?~&DaVEf05AC|pAwWflqoZXau;}T$kmYL8&Hm=Y-5yK@dfc6a)gdn0 zm+boK%M0Vk#^Os7a=XwDb0To2`#HHm0xMYnm{$VScjRn{b6j#zpB{#-$tDvrqkb=x z0lQ7-d%!5?^fjEP2?ZnUi9ytYf{h2fjlLu>bH$1OlF;?$(^UNY*#H~1@E4mZ0l$%Q zNc}vg70n`D6a+dK?LjpoB$tqPb~}t0N)P*_ zBtn=aP9^H`djEMX-^k`4Lkiuo-$cBOC$l-|Cm;}qye1fE&T&n14$`+Pz8ml*@zl7} zE*_2*M))ZHt+o`ZHj%0bcfdJq6z2yK)F_s^ifC@4zdmg6@R~HBeUXNJm{TcJeLS0k zhle)<{6Rm2)8W5-Kp{tH?60TWfv6QgX+J~$wBt>757*7mtQ(5+4V+%Oa}shx z(=T}p=prwfKWj-ydH^ZTomCQx=IUjt zU$>f3`iI7u*RY71<$&3EhlfpcVmokKtk72x*_%-Kqna3Tn52Iy%qX|Mo_T{d9% z+4%>WpC1=s#5o@Y7V-?RYuAOO0Er?G7|DsofE4WZ2JD{A6H9?0j{qYxaYA6&|NlF8 bLH{u!iHworzGw=Ih6#@&LuySux)ySo$I-3bsZ5F|j*;O;I7?hxGF^>)rV@7!;U_XpnF zV>ElytE#%HR#mMz=js?0C21rCd;~BsFeF(S2{kYfZ$5m$9ISmt z0rR^PC~p9phyA9a#vmVyY^^voVv*7Y4)No18e8Z3(T$d$l@(b8@BOX4qYJ#M(7;pO z_09dgJ2pgw<^VF7LM)dt`38~n9Sy7_mpKCqQsg$uZ&i0t4J#j^E(JsdSEmu-&e>uR z@r$!X$}ufv!dQtZZL@&PwnaOeAv<-`xh2xc*nkRj|*&|$H?+ITr?1_txSR&k}krnmN z)hfs%Puvy*X~XH!G3}Sy1Z2YPrHtxL`7KWrhnwb-@63?R8V4 zyG1=2XT+$@aPpeZp}Xn{478!L?>&vy;S)?$D-6UCH>J>~YCNrq64IngMA<*q9r4!x zps4EnsUl>++$2GT2wbE^VQV=zx-$1Y6DX1gT zuYL2s#8e>eh@~68RuYV;PJj6!c->1LjVQ`M6a0YCm}xW0*){pTp3>o?BZ9M-n`nRNyOpB5V zy3;f&^Opcs6hs9mIb2dXefRqV&K>0Bd03R;FjC>&q3jksm;O#u3a(EG<}V_Q(mAaa z&&;hKTK(3Biz}*Yv^18Ol=0iQC1urd)zffs6=en9GHLerGRC~*?8ZX}{tLF?uL*B6 z==z~VJyRysweCx%Ke1|S&2*!SY2|-LL964n3XlqQE^;35z4`y5rCz|@UeTD-2=9gsiNu4?S_yMv{;3JdC z7(Un;XU#mc+ar_=47s<{dFw87su047w51?X^9HLPJpozU5bpA<7}h(Twl>_EmRcu? z`Vv}{1SAm(PXb;X3}PYj(uG?51)6|x?VkX`rRM=D1sC)} zyWknXdT$*cfh&s&`yj!fL6MSrgok92X+;Ze$NG@H%fO+>43Nsoz@$d(lA%k4Oh|T# zRV2^LFxF$)N(71^lTs(U%iy>X_y*sSF(*IJM9!#?&p~*K3>UuB5F|*d|F*SZ(hL7m zxOeE*0OKg~P{eo$e+%J9q*NVE2`8A1TftfOV zF@*|L`f@r}`dPZy7^NJFWwM=!XEBVr`VZeZ$vJ#G_B)O{rn{2F#KZ)p;3*2Cx+$?d z{Jaa#sbhiPzS8W)t-pC1$~mANc^z@ic+R-aDD#xOzeW9FKN`Hj zF|4i@@eXmybBa61TDSJY6#OjMwBgao)@j!X>6dx?d`tU`{7e{-|L*_B_a^?#eFqD| zh4};n4-)}14!Xz9W%n_YVe?>#=fK4MLg2(MV7oNggWCi`4x4_At;=)$`o~;?!;NDb ze-BR+FTi@vcFx(s=F~CQ%D~RR+J8W2bRY{^f$3LpYiMhMZ`e~{`XJ3c&EFp--@i&5 z;@u5dG{|Pf{4SocC>Zrjdnjd?m6`RQ)hw+leVA}z$N42|^=pDFJCEyxz>$N`h9k&h z@9^z=5U2E{;Y8ZRL6$Rnw~dgAsV$l#Y2%WK>rByfsx6*Xwsq^m^$*J$tbV!yIfurD zMG$ zoQl>B+Ns)&&uH)8@5x^7?yXNZd3gAW`Tci(A72jq8Av(N*%d%feFqv?swY{)=Z^Gd2 zu(mX4u0Je9V9m|szEc^)|2|Jyut*euB_2`8T^-+!8K+TO^chNcGE z$kAxJ)37sQBd5dpiN&Al*?(vD@6DgZY3=>h)72B}gUmhc3-8&@5#c{U*&oYbVj@00 zp~3y&7Z3rEagYzN?|8e|>BJ4xhoe5jSAAEj!``r~P&c8?F!bU&q`IW~V(Enog&n^m ze@B@%nTFQpnIPS0oRW_UoAR9_hKJTwZM|4p_LHo8+7tzQsx`%hY+xRGem&Wq zQiXa2StGe3v!k7!`AW`h^zHo7*ys+`bdEo1KZAJgpD(gw3gc_pyeyP%V{Np8>H(!% z3Z1Nzu6joe?z5AnI10jS;?6M6Lm>=eT7C=pKT$fMj3Av!a&im{)~63H7jFs>`k?Hg zJNr!j+WpiQ)^?W+RdQVq@FlZHo6*{um$@f8IiVaKNyypoZ6P! z{A9D1$CI9}G`=dMGzTUJU$3w5ceMi+z%G2@jaSi=jQ+)a%qghD2;9*|>PpcXB_Uv&dW(^h>q& zYOJ(YaWaRIOWQH9Te4$sVd1cf5eXS-el>bku1Rnuzv*oP`GY8df6`0q?6pO{UcQyz z_Mu#=duT{-|FafHp<-<5MyL9N(L2+2dy`f3e$`9XOGOv#CVkh(Thvctr_-eMP1l|e zk(;D@;RRv~!k-SJdREQ1&9QnJj(CoSQB;J-HYj$&kF!e!UPMho2HpdYBeCD-zVAs# zC1wy2@GuE(c#}Oycn`-X@>5e6ba>g#luympl}*1B-rbC{pRx~6!4wGkGhMC~-n<{^ zGd~*Hv>v)&Z7~aV6Q16lIkfJ2m!G-y?A=#i8A{iL8}YhwZXZuCwk$FkBz13ilHUzg z<)}N;Im0^%wi>#;Jk?NkBX8*XWV$q8=f8IzzwAE{yzjl%1jrfhrNE-0FbOFH`jq8t zzTI*^ITQPh5&t396mIfcdmOkK{k!pFW4v4Wsq>)x_Q=F|kQgRtPT1Y=ey6}R$mq0S zZS%(9-v4m0KC_hByYo75o;8`r<-_yuNiTPXvm$Vc9DJNlyxcw{!CD891pIh9e64#^ zKP_t)j}RAE%a1R6$L!e>ad!jrsY3+wg8_>l2U97tnew$0<*-)gg!q8Bp9;0Rf;Jfz z1Jf7|3Eu&82<->oIEeuN_N<`{5BVc=apZTb!0@5BTY5>0wIZ!<^MkMKWgg!M@>$y|E&2Rmj9_K!2E9j z|1qHdo~{473rv>~f&laXPQ4I9kPLJZ;0;1s31to78{(g9fKM=R(frRh@EZ#n?QEkR z3=H#+tc0kB5BRAeVgu4V!Dc>bj9B<@aXm&$*+v6jqxs_yx0G;AJxK{V%5qGEh%Y%C zpFC$BGg5a|N!6N@-Q+du<^F`N$$T=@-tP`7`}pH(HMQn@DtI%=yJ>V%?LL*C-P!&2 z()F}1_^bOZz!Ibjg(DS=W&(wdO4C1(91Ig=356Si3!wmVfQttsHxUbt>4k#VW`T$Y z!+=}`BkzIBLNzgC5$(eQtUUugTs?3s5L8fExC+TG(14YNwH65|91IUm1%p9h&Lde}&6M6C=G>!oYQ^%!PN=62yUW3iwCU_xXD8PMUVC#;V!mpQMI&B{1I!zAQ zI(23dOI-o&t5hSoNzy4mpJPr>9sZQ7mn|`b#k(+!paHcKMMO`=D>N$yLZJ}{iX`I( z+B{Ee;LB9-1-uLbpZ1E}52lI~bGQ)n_e)<%dIq*&1qT-)RA(F9H{q6V&mSScyI$DwSjP(OQ* zX3OFZ@;@v2KOdEWKM=m1*Fy1`^nkItY>B8=8?+vxL|?*X;Xx1c}xyHI>tSuCw083lqtafR}sD-6=KV zmB}^vC)K{;IhXy3>^f_G2lIU~4DgPiEEdyHTs8|hMerE8!GSGN)@avY?!PXE`{+ne zOr5tgO9*HJbgk)$U>M>@xI~^q@p$Y5wWj@M;7W;nJ;Ed8!C)NfWlDR?VUUWftUO@w zWh66bxpqeWSCUcMm$n*cJyeW5Ie8v4vKo>gLnbO1SUR09f8Plt9MzPWk{(_-B~iHL z$ls0`beiZ`bQ-9Z<6p3%P>8W9DJi#skz&K4M8T;ByqX6Q9d$`yXZi1ZI$7GAD z?fs!yskQxjGmUeQ=WWEWL6%=0#sJ6ruxwp0$Q2!MJxZMd&ocYVdO9n=F0^;g7}y*P z4B#K|FLx(6ag{c%SrVFnR|f}ij0q7_7Py{<^ zOx28mHDQpFnMpmxdqAk>7C{NZ5J$iEDR5c$TpTQ&kc|@ii1{&Y*zT1eh-0pW+8ByA zxa!=^xZ!tFrGu((cfE6Uyq9Ub|A4Hbu>b6pEzOh=nhX2gpV?$&QZzFD+ya}YkMlY& zoYn8vMqDa|D(dOiv=D)*#eDSCz-18O-ZK|1Wan{3WxVgre)%7^D=lnhBZu4L`8dpX zH*!MPx!c&`0g@{sb}JD4_jLK_AtLWJ(~;&^zec47&m&d4ctYNpWV{-g!=38(bF$d< zz&f^kTo%P)49%<{w#86ZuTvfKhx7Gk&QBqqia)|hcXV;xY&kVLd#HA?&*4Z)jRxYW zV2%nN{`u#gJf;m(mq?RArk$e zXG_Fo@k9y3EY`2TdOoRQ=iVVu3kn<1se6x;}SSa0b0O`#}-7Ph8}6U%B^@)tOT z{uK93IASN^m?poHCkdq9f3pU$c03BM((!jH=29o2&TQY^lw&@{dXz z7VI6dq?0$71wLPwvAD=qhPDxFEfisT_21}>YUb40d|W=SQ{1e=t%xiIOX5DpUc(`@ z;6SMc$ajpNVL0l_=L4?8e3UVrB)Tf1c}8V_lMpVb^~ef zeAu@Q-j16o{*@s#kA7R6ACeF>KrA6eKtwDNJYjk(6T#7S7irZe z%1}46)W4&cUm3WuFd^u*ezI6Ra-HoaBcpwr*;g(4@k540jjb=|gyH63`XDQq58P|% z-nsjY>Ugev=koMJN!(>+oT*)bkjG`KTW)YO`PWWmO;>EhsrH(O%Ov#RLfcF0`}0ZT z2Xz*^b>g|H%L_7E@}FGuM0+;s@Q@K@Cxo@RJ)+V(l)|SXgPCnr2=1RwlH(H#stfLV zqfRBxJoT-#OGg!}Rz)2JWY+^Ohrda88fKMdD|TZrsN3pzg|yirmU6%NtM|jKVP_Xj z%_+IH2L_T`Y)<9zug6Mmzm8z^N28H9&^Deqwe#N~E z9iG;hK3`#<7MM+@T@X_Tc{@mfaR<@mJ^jIgliq(-SoW$A%3El*Uz`%a-R4Z8grP8Z zt-xhI2zdM(HK1vY3#amxHl>hdO5-BcLd$ux?fH6~IYBOi&h}S1j*(AqbG#@Qs;=4Z z(aYA>R?*`gbz=Z&u#ykC8B$@k--d`sf>a?wJX{y0K+#WlCFrtdJu`)wy1{AoMcXs@ z533?FcQiu%ZLPAWR*1jL*AV}f@~*mjI?Wdd_|`jarXx$G;(q0Ftcbu(evm(ZZbdF8Iu9ZykUl>^b+FLRk9aAY} zebX~wJd;es^_awV>bR0(1Us?OaH4PKFbFSKZcfe2wB}uSR4k{T4y(S6$l~mwP4bJu zWZjx{S|ia2T&U2bM^8d!p=#aS#13n9KTvDt)xIv#i-|rl)^@?1(75bl*+?3j9wrW2 z!-6r*C8Ra`-H47xS#Tc$3A=)CKVP9~=uC&uf0=vBYrnv-TK5IOkM?3Fm4bM5aD8zv zO&A>-`51U+I<+PtRVhB2I$mB)asrJ_5xdm@v~VcrF*z`uW4AGHTmL2sxmsuB@kdhc zN@|DgI;{$1bcW2VL7O>(3b~fnN!NScmO-zrwlJ+)-|Cwl>*uvU1Nh7irYj*Bksr&CvW}LBx~I7>tXWLK|H~KaRy# ztjd@|0uyfC{8Dpqw^XW_^W%7sVzGHM@B|-nfCs8vs){G(6eOJZ?TfYd>5}Ql4~6P0 z=1C^nnsCWbT)V~UDg)YzHJh-uBLM5}!-oOBT3>2*HdZlvJ|8}EC(@B|h$wBYfdl_Jp8Y@9x#yA2| zRle+u#`*Kj{^S^o%~EY)o&6%y9$ST7Ex-*DhgMqMtu+nXoTP`($Lq|8+rEfDKo`e= zGiRYY+hJ{HGU}HSsF$2oCffRrQfAU*C~KNKrJ_b1sdYH5^X+lPbTZE&=$iF3C_W zX(M_L*-Shg;k&%kcZcQrAz<|?ShdWSD!L0y;d9!BGc_A>lw17Fdk?(*BP~v>T?A$k zQ>fqUl$bCG|L9}e0PNd=y0i}_^>W%l5;SUukCNn@Z!IlLF6{cidV_`UB;`>e%Ma{s zcHYb%XxSD^ri7u+iCClAS+TE4Na95==zhJ9`@+2ylhuoR)q-x7&F5KBNf1BQCj6xX zqfX;$UAfqPo{vHnB%jHoiQG2U5?qmCGXIGSuAHT5W(AkiE?x5>WUe)j(S*STsZ7Pf z&0z1@_pEV|2E<4ODQgy7_r>bBQ=)c_Q66YZ391)AV7<*V!z>wrS-^~R)E*bQ60v-@ zzG8R>rDUeX)m-~pKY_LmS-wyM0XWlyUL<;611|tniPb?gTIcdttYn87Nf_1ocdvyd zzF+^DyWeJ40MTEZIa#BJn&KJQdIwe7-Dq%_Gz6ZSyYx~UCCnQ3el0ps7&29y%5k}c ztY#7}QhIEn^u{-MKCFD8D6&jBsNcSG>~gz2SVQyU<)WKFN9mSNOL!4Fqi1p40emOa z8L=^R`3vzxT1^SMco-q8$)W+9PGBIg%~HNHE|0MXzWS8xc*m{3KHWI(sk^$&6w6i* z%Wx`@c~!R!E}g&r?T@MqUh*c`jsAOFS)+w;+v2+8ABL#`>2nnQ2J(vh{({Rz1K=R< zmB>@irY+9N&ZdypZd2~+H6;&eN^mA#GnD{y2~u9iH6Kp_DPGp0UH40L1#K2xpGV4v zgWcu=jt5tNPk*PS+TK|owFJBYg~DVqnDF0n&{>(!u~_tKJxg_5MIBaJm%3WJY!P?!?6to82Y6|8{0W{1T z!J2*ppy8hy-k72ADL|E%wG;*lgpzOHM9NK<*AI;npAxcmt((5_O?D!G?uq1PZYgb( zl7?|^-l38Nl~A%MLKkZWw7TuBnW3#b$@rUd!pM07Q8fRmH??lDPJ*%}aSRg{^Zp)~ zq_qhnB$_9_W9FaR-pc^)ET_ztW&1=ISfl%kim7Qwc>){NV9@>p&JiafG~L~3*v8XP zRaNyzKb1HL*n*k}41H75g+IKK>)6;dJ>eFPxw1~PSk3*9G_}8eo^J}-Gt}hyp4ZnW zHc!@Omjq%ZQ4W?fNpWUDDAE08B{y7!E?(Jm`Dw)V&`bCN`*-s>#{=CNWJ-S3<+Wb3 z%^$Li?N+Ba5D@-;X`@zEBeJK~sx$rsi2YGkmCJ9{s6Ae4=y9jOXB5CUX|6oH)XdD& zi#lnpUs=r~)0`Uf#3ONYDcBTYrq8*dsZ(YeO39@|h^Xk27>&EuynK9iFLP!Xqd6X$ z!dzTc8r_YSQaVOa!?bH!G={p|_T+HvklyFsULFW8sMi_$T)~RiKz4v zjs-DBE( zC@SPOTSbQ`i)NXghBE(73#aqOnh0j;9cWppsipD0D2-6EW}S9EY*ZFs%vWlwYZaC_ zG}_Ipv3Z%~=jAyrORHp9M2qe%%#UTz!$uUG1R{SDIP}ddTvz;xn~Ef=wI%1^-F0k! zc_G~)hxH4(;qRPwUn2yEkxF-9fMr&H8ry_eB*1#qEPv`yeb>9bxyeXiPt4TJ6@lth zB|@U#Fs_&e=7I)KKaxWoQQ8eEGXtO6b@#4NsZw-zqk6q+5KeCt^V3{P^I%?5_btPV|4`=9wXU zgZAu$F#erU$K2=nN-eptWEgdXN;V<+NVy}+=#09k_(3}sidY(f(c}gNMhP`q3DOuC z4idFUnG#V7%7^ZUhmZEE)ieGz(}K_UZ-EcGC+%GipD$WpPT!Uf0=phI+^06i%+&r7 zXn9)6>vE$`K8(tHEptE%qqtw@0oK8|UbEBsMnX$q=iB|N)?h4_>}uoc;@ulS&|7{+ z4^M}o2xWl|FqC+DfBYGPYduA%JOp5*#0Epd z@L;!;(``LK2pn}eU#k1Aio1j=Zfi@6_hYHo>te$ZQ^$Mfhq9?DX?DWHntM`vOhdOb z05t2HJkiCIJ_*jO^geBg!V*bDULBPcIL&Er4g3aR5SvQf4xo+A)6||1Q7h*wSP^@D z{dj+wUYA(eluzW0W&l%l0L2-qalkXZa@D8jEM z{~izMDHQkfHO8AO9lpQxJIXczDATOhXeU_|#bovf@HK(uzN#7Ew2_THk;E~yn3Lcd zVDUIqQ8US8&^5!z_pqQezq2Df^{621;Z;^u!o=T$Q)2)Nh%-or;Qy!ug_S86?-uar{QT&9?V ztyfmd)jEB!%iay9oX3}eIn8Q5^r#uqAVgr+6XfG94S(}_sn)bu1R9Gg;Q98q7pLRO z96-^xk^#^btPa=TpAUEj! zsTeo#<*ZrC(Oeu9EhZ`oj@N>O&%uJgz!iAW`4Cxu0L1FV0T@C%{?poiv7_TCsMPs9 z4qG*frenKsKitQEDn&^Jb?b{MqYGx7+nlO2Ev^;CEcCe;=7bb^+JQ7`-wFU|p!;PKwz0R&(rH(6* z2)ICN&T8^^z5^Hm5*jhjUJmDLt!TDg&g>UmFHT!QTL3uJY1yJXz6R7W-Igh+HkIOn zFO2$9j&!!40i}|B@MJelnQERnnnf!K9gqRYpaJShj2sF-%G>F8hu{!5%8Ogm^-MQv z!63Zr_I9_JX5u6_0(6adX>rsg_85(g$mnNuh#yl}IXpX{(AR}dQ<`Cx;-V2vSYRMu8<8acvMz9(6mb|2%-+qguK-YfFxO$ z5UF(ey-qKSAXfQ+6Q1O(hFm()!jzuh?As@dp{XD4RUxx+xB(;UPqS}BTZN)w)jX>S zW-k#qMwgcQeC=oE)Oj9im=*T+kel$!O)3F7xu18SVu@J4xi#7^QbGFzX%MBHMn_`b z-IT7|M12m6iWc;H$?)rKgM8n8JmdGKGo`x(ZTC-_vn^(0CE`T?Z!~& zZ*2u_@@=uZR3x5x3ugvNZ<4%TgaavsRMU_p*Q_fW^WIe4PoGa&)q2o8)>%nvTKDm% z`En8utoelxxd+`jnW&T8ds}hl`qRBP1GoufbkO^?jRW?c$ZnpQ@3z8F>>!DZzwI3y ze4fG6W<7>$E1GPf2z8ASK(6#16w(zmI3_w^Gwlmkxu@>8*y!+eAOZRqjhskD0m*#W z1tdvqAp>3?ukt+xgJfqiM&$T~<7E#{tR36LFb!1Q~VdVyY9?y zebxPpDoFZfJ&7XOGe|_i&0RdrdG$W6zj&VyzmKk#G?4ye=;q~R4ROttUwWYD!du#W zM8}{WcBT6n0}k1?vZWfZ6Af!w4gf?wB36U-B;j|NWeR!Sz(`ibC@B<35-I1>XJi+ycOyj^KO@?;AJU-8B z3v<4g^1E#|sQ^I@c>ZyP8?p^>j#p&<(pvIDc zOD}ZYAc;d_vPG7O5lUi&Agjs&R72hk5c(porQ2|vvN*inp6?2Gho5!<)L2Rp*`frE zf^OY^ZhzFZ>3cx*rP@jv6pinB$l!q~1QSksgzYz3AS@hz_>+fwUT(HU>2k)k*#$Vx ze%*O8M2GN6g-vdWe&_$okDwp0sT=;%#7d5|QU2XzafbL58cSy=mu+NZG;%8pYNfRo6Hs8`)aWab z*Cv*>LGQ}*5^7lD)6t>9#Pe=ct2#7&%*|5A`6q;<3x@d6POme)b;XpisC4&2?UYh7 zRKpXmA7If)tlxS?A*xE<;@!Io6vhF;X!C@)ST>DHYYn4R#k17IZToRXbD=q9vuE%2nOdFJk9pw4!-lyX6Ts~u_rJKX$UtsVoMP`BvRSV^}A&x#u^yjk#WGlCgma##oi>0+2(y+ur@FNWT3 zoJtp*$R#c`Ejm{C-C_}ikl5CD2?jZabNf^p*}O62+{S}@K%L5$)k`;AP6V4`bh(Ed zbM)cHrhhc!r28v@O^vS!q=j?Hf$Y|~gHqEk!VmxlIR?PPQ#p-Bn8|~dlv$C5DJ$D8 zI{|50H;^~lH##_x2XU$^yby9*%j_u;Tx3(7L^avI?FYr8 z#+e-2)D`xIt_?F>H}I_52h-8epi${Q&9eh)r+u0tgSw3PHYJRuAcwJt{vr+Ekq5;Ri*s_yeEYDR&{#mCDh9SbS&9#;H?X5(F`w_D27x z>#(<=9C#zT^+n%_^aP{)S$j?W(sJ;7`1;)k&AL-Ay{x{QfyHYf51?XNmHbx zC#H0ORs709+tAt(^~#`;3BjO$eCHIm%~82qv?xzW(VfW!}6H1w8S5KWed z1mUG3JM)&}g`km3NgQ7|Bs^!_4Ftbk&d4(-H2li-T+qd482jT7AMHa8k;CO!e`#5} z$S)A<2gq6O70H^byrQ7PIv~fxIisYmqeGK~jb=y(sH%-5*ILEzg6AzeKf6EP`N>F&5=srNdbMDPI`rZ~E?aDaHV7k4qi?4=C}(vEj&1VL5$1%lWHjKwcetVAdjnziT>}BO-B};(;pymr!W4-ZCyCCEyG(ZQL6G$UooT zUi69mFGIvvADy<7uY$oLe*!GMt{)$LMURK#>xpDEsVqthki%W_)X6EnH0u-L$WjUb z-n@`)IA}$b4q=H^0~F_Fvp8=io*cDUOH0RZ*e%Io8GyuSj6}%8k`7v@)-G3*6x~vt z2Xto%t`cM-z8?U8Idob`^KYS-vAFum?_C{=>7pn8@>z{WoKgp?l4Q>`Qm@rrCz>>& zhV>dH99kV%RiD4=`6Ku0dw8DK4O6ML0-Rf~(P3H5)S?jJ2sY|&KsF}^GX&rS^2JHU z9X_sPsc2HlvEm^yP6$$>a{#8qh4mz#RgETvoU7H567{`{D?&gUf~AAH{p?tr|`H zVHyE}9C~^yhC(=ca;4FJc_mM_4ghcE)CK-(qWFCZn(pT{#L(knux+7@#t0Id-5vu^6{Vyo8&` z7hDbHg>s-i7b%hWi9*Jmi;20RNj#=@FfTBShF@A$%^{0tAA6lPlGkH)|q zERXO9AcSZor{qZ4Aj|X)L-|_-Lka2OMC^g3=PO{ET|%Yh%duNeDNK9|x8U%@AAu+b zUW(AR=F$a7#{^`YtI7}9$c|x8nflwP*TSO2FN;8YeGWX%ZsA1Gu6B^Iw?H8C( z@|u8}p@xdDD0)xF9&2NV#g<%|nu-qX%7wMN_O zk22rkdt=5Of&lqlq*imjT%CFz$nXGR!x~K1b_NlcX(JUg9cw@|K-i%ZQvx*twC4_Z z@r>Rd^jD4K(0)4wY!k<%g_i=F6oP4E^k)>RxK+HFI%JesCbMyVbT6E4BbHLN-Y+Xf zG7!Pk_iy<{NTz346w$Kb3HE^WZ?;crF(;?MGd4Y)gyd9o*aZj2dKxFYa312IYzLs; zn60K9Zf7k(K30@)9=ap)fepQ2NfsbkZ}01==gIy7;06Td>(J29f!7c~Io8zBC}v5d z$c&!TJz)upglENtGX9DU)j~!x&@<0olu2TO3OF-tOMW&KOdBd3x5ZED799!%m`zaq zZS_#MVuMj3wWp(vLW4yCGbof<5fQ=w4b^Px81IifDoZpl;i8u%wxYrGz|0s3lKa6! zzyM|zxGoMxI2TEg=#WZl31-nA62J`8n^_7CUJZ=Mq>@Cnm`UjW0mdRj*#H0l diff --git a/cmdb-ui/src/pages/images/eventBasedGateway.png b/cmdb-ui/src/pages/images/eventBasedGateway.png deleted file mode 100755 index 33dcbf965007204126112be9bb6c3ba815fa6d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20551 zcmZU419W6jvu2Bx`Zd>ZkkXFh8mChfM%wMOIis7#tMl|3QHc1gBBFNrc!RSP6o!9 z6+WmzN8*~lsEyI$+CeQ|q!I;=O?zo7T=m}h=y$p6ZvXMfxB2)9b@|SqI=wr8bVmjX zQy+o{kc(z9#NWb`exQPMWHBXUf(ze;d97&=s$k~8)%`@EgsD>tb>?W*3vJ+Nm9R@p z7zp%W0x`vlqZ)%0Zb3ZJrg+o)Q{WA6>>eRZ4=Nmo-~?khfG$h`ex26Wmrjdt9-#VQ z!QbY;J5IE{cl}+mwiv4^{>#93D^Q1r&z0CuhET}JZ5$-W>96%^kf zJA%?~K41esP`WYU=O0iC)P9mts++`R-0l-Bv-N~5>-R*3hb|NBP)m#WWNGAPe~H}@ zMbL!Np=CTMw)9Pf+5b7BGwHQ5UKsK%>&tF!Q`ZE4I&bypM-rJ(a@Bq}1={zpXT#(O zm01oRlX)~J9sYrK6t?~6kvcs5@oKq&2;%0SGzn_YYa#^HNngWkp6ZTy>PyM1IxCd~ z^_ZH!k{=A&IN8-vQ%H<8q)w?GI)FK4D)lK49-xj=4I?g*p-6nSwjO4Lrzl(XVkv6m z=9fNw71fC^Z5l4?3$je!fHHRWl&)XIMyB}zuhJhkEE|Qc%I>+d;@JTkk>PWtf&$G= z0#+LU7Hi9lz6a`LVQ53#F*p7dlqfz>j|9SAXQEcJ-Ae+jX5<&b8|Y7zKay{K3k{-5 zVE4q5jTsgAf0Uff(G6{x}T&qv3rl=PGz4nhWpR7ThN;gDk&DSiPOc{rFZs}|n5goSTz9ENn+GXFo-b^MLx(<#R-kV&@3UySL4-Y% zMpU)V%ik(7Yimuk@ZC`P^83D29C6*#;>D&EPErxygny#OmBf^t6#nfT>0EjbHm}yw zD)$luo0L1YP3P8B8#nH!>W&{wz8a4G=GpEI0rJZ$&XP!#DgERTypR7gmC+D3zybTO zNl>>-5E%$kZ>Pi7ed=T$m_2E0Zmjw(W<6RAlBPb))p;SbdlF4;hyx9kRvgt8qzDPZ z*C1FD(82%&W&_ zt&?L=MG+wnL?~1UQc{ELQdrEHJOiK7edXT`!2&1%^U3p$mOsQ>Jfx<5FKfJ4}~1%9-28S zEzCklc1Uo@oFmsgiUE4WSIU{6N6_vjP%LrWVXe`vKU?EGvX;fqD3Ri&$W;^QXws5| zcYa1nV-_M7b{3ix(iIZT>eeHzM4m~<#W&-w@p>-(cRD+>nUp8Y{vUk}E+Z ztt4S4ohP}CQpg~i#aj!z7DB12mU_;M&*NFM-Lu~_-WSEj#>OZFOp+7UO^RmYWna2Z zp72k5O0pHUO>;Mvu|wMN*kPY@pL3p5WGlG;3Y%d&9=zMXlX#JS@qN+N|8b$EUtKNi z9%!F!A9aDbZsCO?;4RR+;nK<4Y269#m3sGbNArU8Lg1V8;q%V>F80E84~>8WMFa&4 z6$&+m@PL!W=3y+w>cSk&j)9YcZ_mbWwLH;-(~N)=JoOY=m+h1>WAc^#JNpjaKCU{h zuf@F8yo0UfnO&B-p0%EZ&w$p*KpK)9V?#h&P+P8N@UvgiAoT0wG5ws>oX?zkaaHl-xFZ{OgS2_WIA?k`=PAA&JFg|Xzsvs7dx1ZP zf4R{D%9dO@fAv<53UVC z1GLQy5VTfU8?*}wUP>&A5B3Od8Yh+YLP=>NY3IaAa<&8u@=IyIY_yzuvVDbe)pD|? zFY-)w);cDunRnrL3&*1)yOdLzKBWEhVp%gO(xY-?f75xGDZY=k(+H^g7Hi0LvP?MX z95*`8O%!9x39*VfKsgKr(u-<%E#_1rcR(0`JCI~%>gTRc9bPTn=EC(s*g$sn8Eso{ z?`CafE$}FQ4|ZPKdx#VjU&t3^k<_E}%fU`;;klIe6aA=u%L}>-@(tbVtLzg)6O-=R zo0l6)FJk*$SUn3@R!?1Psju8kuhFa;`=?}NEiz^c`c*tMamQvbI3YfvJ)xyx)|`-< zgE~3MAnTmf`}l0wOxcX@V9WW*nfE|vN}v6)m;a%o>h|aJ$}Jz(G9$I&bOW>3_J#Po z_;Zw>_F0$5{f?$#k^h2$y>eG=$Lr})O(v}iohc?)H|&e~Et*e+hxDOJO%Z;IUpaqqP01+$9ZOLBU1^(jrw z-_I*t*%q@a9;!Dwa@q~*47AZT=bC%%`$rLpt;L&`PWw(D7BZKZs{9+2Yp+L(Yvm_0 z88|iV{JOWB4ZAG|t~zW$R_z_^ckwB)W%& z1P;74*z@Egi#Iw|9}PYjcYZgUw;WWxroEPTL2uG^eZGfP65F4}t#3N@d4#AgoLC}T3q8#(=eiL#3+lNKJpG9*m@n9u42w-B#OG!d z*l;I%{OUd&9m_{WmD}NFJzF+8S64FiL2!RN!gj_sJPDO6;KO+JH}Cf2P?zb+z_RVg z`Fe{jSffyA$ZK2hW2;r-=izjNY~ zd*B2aj$%KQO-9*XF_H~{(|_ayGaT&(?a%XOtFiSg2SN*2M=5P*5D+Yie{WD}74j<} z>d3ZI({j<0m*X{Yuw(pY>R@cf=waswv<3m;_uvJ-+L^h0Bk{1awRh(A5Fq!pRVk1DNC9gyx=J4H&goBZtk(o>oj)a7S|GTLMk z%EQc7>#LQWnY}Y`4?$K=R{sCA|NnmZe|P*}J+=Q=PY%xi-SdC_^4~rAnf^`Se@*DW zR_i}kf#ni}<7fJxr5A+rmx7D~c7wp`tD+k43HEPmfL8$UrvC3w;5(^|T%nUZ@QEe; zRYc7L^eh|tjhq8>SPT^u69vAHltf-FUQAhtglykZ1u33P1qt;hW&W>UDn$`ex74$l z`QdO_Uz5to9A^tR3Gcc2g;B&SOHI1yZY>xyO>bD)emDH~%$@Qxx1dbCN$|YAx$$Ol zHqB7W|GD3z@4jB-wql0ux@Ol>Mv@W*E^xHEY#bGz8Kd-rSh zs>g230=gnU%TP$$L56I$^CXY;Y@xKt(roU`t}q%x!O~$i)+W%%x~B6%1qM3tAj?_7 zb;I+pEZc2$q$7D!G6YcKyj=RnCK$Fq3VbxGgi zcaDNY@V}-KLUBzuDZ2K`YqkwB87wA4%N$F&+YKF zf1QSxo9cyNpo=j_4wQzvZYQkA7+TaC%qPmLlC5-<@#%E4mC+EYE^?km*B$#2 zt)~PY)qsH-`cTGFp&}jTcvr7_9%d8L%px7#UVAIf5^XeZ&AcUga^6mT8Y zKN?!!Ag|#&XC&~=K3|r)&21hVrUWzPv$&PBu=}=kH(wTQJ&O{1_y0|A%{@EACQGz= zR)#LZa1Yt{NNmMaXoS-th+lDi-m;m)(7bHC zgRLc2(12~|<3vxqMjR5%NgH`9;XK`i*-Ssz1iAyr2cOp-ENAuA^4w1zWU59QPk7%Y z{-ieFfBQ`Bexq2kuBaL?BOzeydNQ`?I+l3liH8t-eJ!o{ftMT4(DL{D4z^q8{o}_PI`c3iA6g~aYG0HWZ;tz z$}=MbQxLf%rTKt!sO^P{Q6$!@6va6*Xt^;n8)YD9+ZQbXE94F(@NeT9G)89WyOf8!`^jD-8ntCq}`7j-_$*UtB(3N?e z{zkL=MO}?Ql+qE-e7*2+i@;b!$%;mG^!#9!s&|^eA^1CGPG2NlHFZwzF2xFl0%_?^ z&Q~0Ap|@@1sI?FgR#<3c6K@Yd7!m6lJuOxV^S8c`E?m3`&eq8~p0nmPd*ki+tvSZn zhX*e-gwFj(Evq_iNP>LPU7Bdj#S$TPN2C#wl@bN-vSo6dm!40+gh>plf|OkK!86_E z4PA?~RxO)n+6`oY&qX#S;Z8l4D^m6ZR0*MH2dYx8P#gt4NH3ZjJ*E@(u9-<8F$V4ONelZ!Ytl0Zyrg!Vbu2uz4@=kf z=llDm|KlFNPfMDH?eFtuV*`pTu?7=T*dH0s_))4PKX&{-ZgVqi*l<=rS0fS8Q*DtZ z?wrsNIBqzwN_rF&D{tdifsHR*h<>KNJ>amLsqsU`2S`(oZ-C;En>n2MmbB(MH+GHqEq%7nMHk);g1jPU_ep) ziOdD>{H+Ul7>|;0{mu>@SN^q^VESk3{KJ|<4UzX*-Ij$^sT17EtSpoIs;bhR9$|#V zWLDYJLz4xsRmp%L&^0=z?DhX2R2_>?rd%|Owtf^PPU6_>-{vlz0#yytb1 zXWQ%)$C94)idm}q7*lu0tb}G0VAIR4cZVz7J9Y`HC9T_HLFNq7PrNr@bEt(vvN@$_ zJ7-C~?Dx=z>F^8g$+<(*5Y4ZBEv==|+%F1Zd1=2ycYM@G#r*QRT6!1R-nG@0rOCFI84>2VX)AX@CWw=?^ZI=m&4Fo1cPnCoWWIXiUc0Om6F* z$H!7o9;c0S3S&gRcQYW2VH6QDhw+X`-`*xvDSG3b`<$W&X=+~rY@F0*IRnq;RTU?e zSGz7!TT-8^>W1)EV5zd=1wNj3)wO4}7a|6Ej%f7vZzM^BO--g9!lKv}M6AXGXAP}2 z(N0}~wc7mrc%;L{^MC3mrtN%=^iZ(VfDzl#-MGOj;u=-QbI#kiE9NR&>i)R5&I`p- zsqvh!nFoNv5(~F+=^S{MNt}^jP4~ErgXJ8Hn&9(ZA|cUu8jF~~+f~2JD@WR3_$1f5 z%iLs^A(MDy4jtv9L8UBX1g=W^UcCah`bCo{(Sz;SsBqi ztL_Ll#eXa3b~hs_$q;%X^4Ajy`@kfYhw^nq(J$dRmAm-3XzBRoe{!PG(-A zl-{Sho3sb$_k>*bdTvK~Vdh?gg^hB$V2(&~OMhf-Fma&ceWxt+X=wwz^Q6Tw! z3tH%p;QO(nB&^!s>U-!Qw>=2CXzn9P{&Pj&G^HzNgTpA z4mp=$LU+?u%QP!BGa6(RGH7BS$689PDCacqi?#;3>Q>{lWxX~AX=Y2T4FC!%Ut^GS zLw1g$us<%+!4MW~)c%N_lB8#1QH?=Kbv+Zv8|u@_0`ChHl)3XqitaG#*}`PymdC`& z6opX;O#Xq=NaQ*#>+pq#@jArk@%N^FxyY8)NTd|*xA^Flc?qUX%FKS*aYCzJX0y?x z(qnL_`uOAiL2Sb;hWbBb8=!GNu3{W~3T!Lm27H4mlVGiE!F~yi!Nly{=6-ghJ{H#= z5=?BD2)$crKZyDJn?iyE=hc^(otg6W(*N_65XY8I)0`p~P{R5zas0EHQ>7aaq-CI5 z8>x721HgtKnxV=L|GsFqfwJ$VgwR_$%2dwPh$g>5tr0u-m>0P|?nRZ$ecPi-{%H4} z+XOIGq|0jBu^gAxEV=6ds$?lw_w&RgyX!hglax2H&sA@1#S;*7JT1?qBi8G0+E&i?dpWKqC;WPdYmt=) zAQ=G*yw##QqDU7sFw~dzOFzxycQJ}ML`9vNKZJdmmT)ZGkSSB6?2rQCoraVsLGpeP z>>+Kz9{fkYg6k2v{?@wS6-d^#bXC9NsbtHiF_ZEE!2+MG@4vH;hfkwv=i49#pm z?Xl^{Y#?S$*UQPq&8-)^D}>E;C=)=_p*O+4>|l2v*=-IBeK& zpdB)^27zV;xslu;F|Nsi?=4Hx$88(fdZ*Ytf$IS=T^IepBMQ{(d5htX?OAnup_;ja z&c}`44G8r1S%-nS0M<-LLfN&wUA3vn-p;rn+c7?pQkp!}=f@Y%>X(A~0iez~XyRkf z-|p!#Bn-bkPDmUPsj^*E%5={0{+cZn8P3+f-MsSFtGWTvhIwn;l1NXk@2dg{H;8gu zxD}+R?COScKMz8uQTQND5-gQkR zQ4+02K98Y~jJXoUsaix3ib*>v0#BzNgRRq^d3d`+Ao}rwu97M&ElSa$Ehn1C&3Q4< zfi>xRS*YPXy2BfvCc~RtC1rJ5TnVO1}k-Tl?{`;>9I~E zIQO(?&hZ-FA^5R=ZA}dce&QZII@a@mnh_*RUD)W02%b{0 zX6WHm?yUfD)~>C(fqCeOBI?4ZPhUfiVob~M!8_8=2rHg(#x*f29AhUqGf~jYAUZU* z;QGipbi<~W&U3q>;6!y8GJXyY@o--j{i#4Xh(VlL&PE23y}A%z2$P!gB6F|9D7~12 ztF|fM$(Kro?zdIuU4kDn%mX_ZqX;oLJ2H)N&-}QDEj?{R~r9*h;dhL5~8xWb&^lc&i-^UnIt)yDn z)@Zq*H(ds`jiMY7LXBEKUQP>kXp*ep?(q3ku|q{Za*xF-i?8;X{8ut8a=3^>3}085 zbogz{HDlf>?-tz+1h)urWvi_q^R9gc8p*H@mAK+3G^dI$5j%`PN>EtCCJfu(aL6$9 zsCn37-p~pmWa{bPaBB5ChYQ(H1LflMp<);=(brIO30FtckhSd_b+1AY+NNuee}vNbx9XzokkM()lhA*}Fsx_-uiZiOsl$po{l1|T z+F8*G7+M+Ytv*e1bi%tQZFK-lLso|*$urD0b2)cdAO->u1fa+Vg0|m`(&<8%Zs3k` z#a2EtH@89YEk)$~rM%%Gz0c1%%=Pz^glY9CcK?Z{3EmONAf%BoP3xludC2^SaSfab z2L!h*1<5Wu*U&_pIYiHp!I(fQLdneY`2bZ8Y*OEjv=+6p9wj?NYOw?5J%7#q_XH1Q zKpaaShDr4bbe8|#7h)PabNWfpw}D@)1W+=}zjj`?YMNsYb^hE1&Rl0-`V8}WI98-2 zC{i2YUOuL_EfWRRWvCJcHPnC6><%wW-q@X8CBCzYb~G9_$Nxgg!d0<02j;NE`H`998S`5qED8skD z3}nx+uR*knWh0-vOOF3>mCqdh#!c&Lu>qBt_Da;0o8RpPzeYSLn7I?Ad zF?BcJcv6|bnf}IbZKP4b^BObNHzm@j!{muPv*YS+=;4!RiB&*~(JKV@hpmj8x{BtI>NzJ4Tf03oWQq{*zR1+|l+;taH=Exg^~phjTZAmK2`ciSLVkU& z>4bmGDbb8~aoCV2g`RqmW$LZS8LG!2oa+{9PB^ZJ-lvK5Dlp}^$Oj|`hJvl;ilyr# zM5WNC@+P>$7J*PR3yhCi_P8PU-FB%5WF5yiZ*mN5!4h9jI17lK(y30L>+BhN7bU6# zrO12an3|w{6!fmXYlMix`eQ%*VO|@uH$lrk_aP`Gy;zNQwoLwKaZrxbWCpaDp&3wfXMYCS zds9kI@%r-QGsHFle?sNW+m3V4KAGZJXWGDkvMwpwjET-3TThrqVHQ$YB`fRk`MQ}) z%A5xP_W|BVxBJj@UT}Q}nKktDUZ}(pCSl$mv#%SEUDYhqO&l0w-x;b_J(3N<52sT= zx_vPbY@4vaol~j>G5DglNPKW_C;!BK#egdU!o2cR&zqk(U7}+*Mc~q!3n|Q>Z?_gy zxjr|`#cZCQFj-YC8>_36Sr(*{Zu#xElYFB~B9X+sZ76 z84~!8NWSO@m4eIUzCWd#KkMegI!x>g+@hGeJp6v&{gDB8wra5FyJ$5zZg8dOQE!b+ zZ7!u~J^69v*^j?5y~^&C_#TPjTSgs z?UrVUVEQ*9>O!od4k%c@?wDCEW~#@QyKDtQyY1VgnB;sRc!_X6YBLg64PQa{!K15g z`~{-{T+0CL2tyQx9WVvmKx7fZZ$N{{R06MWRgrj#$GBN{;zTGKQA0&1tdwq34?nI+cE9+m?KWedkL7lxA+RFx?BG85<4xr`>Y!#z-`r;nHqO)&wjhDY;~u!c<^gqk0cdr!N|p?Z(!I zC*ODQ&Z2GuXH}`;be_nupE2dYKQP_To%gcO?`e!HrL*| z%44T%T-7DwkxOrmS&8okkz$o7g~{gu)DRmxG~<{wDa0MF`d^=}h*Ts7(BO3Klslik z5ZERgSVn_|B7t8+OL+pVWR{`r=4;JJ9+%#mr`CS+uJ|d%m2uvSV<#j_Bp^s=Vmj5i;Go2T88$y9!0(S*I>{2;BdCWo*Y~|&xLqrf zTr;l>BXrX`cFu$KC_7<3%Aj6vKN4;eUv7L+H)u6I98{Q%i zuH-D^nPqgobi7mLC6M%p)g6sgSjtT%s+p!b3-&U_?I1dv_|dDmH#s{|DXx&wwc6!HAB{ zg*Py}KuhrRv~OYg1$5gHh*@2dtrmOvsf-Zg19;1@{-ZVUGe;(WfXvm(pe2}3Nc;q! zLQp4D3TWIoQgY6%tC7R7ND;Py2dP+cYV(?0H$a<0H1uHAkj|gZVmTKabLRlyF+?mo zL(Hsq8Y?Tvrm(is5{X_Zn$#4$eW3gj;+^@Fl!prB<`&3IQ!F)PWC6?Q%OX{a7y`U~7jGr~Ux>l4#dLx`Q#0 zz(Cf-V>#ix!!Q6>ui!~k!`V}zww65n14GH%cjWHB-y0r>cSe!Qh*|&s~lgASJ-;d)R_&G~S)5)Nc4%Sr-GIA}sa?OPtrd zA}GFI&kAI2a8pLkiWnrzg{_#A}U=LC#vQ4~U#W)!tlT4bC z@4JxTn%J_uPRd*{xR^bc-;~D%xAd$H|KNfMkB&2`O|Nl+*@JNz0c001mGcbLjQ{Mv+=X(xQRBpSmf@06Tf zb<@5#Je`_Zqw*o=mlP6k+eEX1+uk-;=u65pfmP4o5=@%eNrNGfo@)4rD*v}RD<@8K zO*zQ<3JySXqN)Z7Xa`_-%<1Uu=V|i#CUdjAFs{>BcY~F5hm{}EV5s@)i+;B{(Y~aI zo5v-&8|o6&IYZ5K&88(49Z0T3f%^r%GNEGBlf5)J#*e;7hj)2@JaiF$C|NM9&Eh^U zh>uJ%^HF6sGb!O&H_}*YHNlateLn<KzZK6U+8HYHd#S& zr~inKCE;JefHoBqQvGVDUcoguFl9P}Pco0HsJm!C?b1V?64HgJ2}a`mbNki7VQ`B8 z=3xhaPCqEnbxIstzwxw)wW!K-0~wI^ZfoJN=ybC;(j_@`fx6q{(>y7!lbHQ2dO`c2 z#2*$FD$Hz&oDv6wX}j%UY}~De zmTY?MIwjqn5endHX!0U8na27e8^!h6ckQGE?FxH5og?xrQ!OXBu+yiC6|;;)hq*=R$T+ zO!S)b)tDrvwR`GX_~ku>PIoyk#5}i-7zXW!#3SiwE z>Sy2jLj%qg`TFDV|`-%Yw{SRmc!830FMKrJ9A%lw^HRc(Dz=@O@n8k`{b1D~REw4KAD=dwSZ9EBMy`qv$ARIN{j8 zysS9V9!Ska+}%Ndy91d9)d4Y83Dq~iYvFc&e!QZ?+m40WW4S!<ffbF!;+`xr zb-bKZlnLsar<+x_pVp5t%I=#n1qY8qKwxZbqm|a9p3Z!z#{~HXNE)%*#3u_UilpOEUlU0D76=KDZIOg3$Y&+Qz>! z2~KS~#oOn@T*>y8It3K+-Qslf49odaWt}{b8J*r9@Q~oCda%Lal3YI-)R-UtGA|41 z%_@Fz0uNIAom)Zhv{qBUPH<1=nWmkNrW2T;mX3yP!H6+9E~TlmO%t1D*?qLMW=k9Q z*A+QeOlPc0vQwlpm6_vD0hPE$LprT$G1z5;URPUitMUUNL~+{0Y+)pGxYv*Nd-%J| zi;B4XNy;~Xua=5|PQjLkNe7u}><+Tbu`;%Y@bW;c|31m3)=o6OhxD|nZm7ZmmD=QDPn z>%f9SdT$8vv4sMRHXnzCE5F=O9ufCRX+b6JBql;qkjA1$a2C1gdDBwt$MclG4yuY9 zS+i1NqvLy(gYQ^5-ny4dD5gg3=xN3u@u@4Iw&ge0=IEX4DYj9N{RpT1Uv9dOf4Qx) zy1PT6&lOsSl?WiQ#a6T5zn7>;6hp|jm_b0-D{R%p4PAVRPAOMQSvnp9qNTRo!_LVR z@Llb8C4cW`bWvalQK!l8VmKPNU~HqU6<8%^OMn4Zyr<#Aj!FK;Tc= zC#`Jn5i;%D%bZv2#->C30+Cg3#J9ZwrKmTa07_JHMx)}b$lidO62+PPX4y`Q;s7N_ zM1`QhK8MbG4W`gND12L#WIKoWC9TFu+5%f;7h!{i4t1KW9;s5-;|n{|4o@Geo3<*y zZ!_Z93^C(t4&4HSo9Y@sq0JkR;Gs))pWs+(9M#nz6D;S2EVYj&-+c;i@R1_Jv$Oh+ zg@EDHkI3aQLEyIhE$k>5S+KUK%8?g?L0ZDe_o^3KH`#lfWw`L>0;spp@YF{~Ovvfg z=b~8kdVn3l?N;o?ad&MZO8S{&k5em5*BNs z^^N=KJh27SRqyQWaTQsHB6(d2a@~${l(}_x{VAggL!%WPji-Nk&zYoFY7R6}zP8!S?4C15W8Y_F)fuXKZ@^)Ag=uHZP#Ny4O*@282CP92S_{A?ONH zGv(+A`ipGrd4|6xYkcym3s*P+Yv{|+j0q^Pd$|cfO$t$Z8g&=|v7f4^9b#Q{C>{|)P);7~ zd*45*@1!5dxV`=`NMnClci)uXA4IE*tz9zkE;`ZJB)#8&EQw$G(H9g5$J{aNtFPX- z;Ej=>zDuyosD3)=I6xUqB*2^8Ld*9iGW~DJ)7k{0Ve-PM#j%7b6zWipZ~!N3S8kAu zbT0^u^#o&{GnovB8e@Bl&AD_nH+V8F(zQSyNN#<^pO6%OSMRIbyho5f!q(y~XPS9` z+;o_G|9Mg23*?D)_V1+!E`sAk=7F?3e%-#l%X55T8+)&CUf0zz?K=-YP{&Xfcs=3Z z$2Jl?eoB#|MV9=z6U8(+zWX|@F$Ka{Xah_bjF?WHy7lfoL6$LnG;S`XJZSPXO{Uvx zN)9wn$&Ff_SvZSn^4t6UQjOfk zvK^(MC#gefY={F&BOJrme*6g>Sl-4j@8-Xwd+4F#ktq50gQ{5o{#2x{Z?LC2Z~Vhe|6y9ACrC5yeC zRgY$FEc0*w906T=-+jS<^aLpU$U0#Q36*~Wyj;qt>}NONiaA%RW@~+}ShAr?0s?4N zXG*`cs`LtnQj`0-(TxuA9CZyekHM0^(l?AJ;L$e=lDkH84gQm7{|+|#O+EfL88X!f z-DNC1Swm-pvceT_JvL0H!D~wL;iw?4xw=5AZxj-I;Q8PBrI;mq0)VC%Dk>^(QUsbX zX*3Sfd?kE*edY7OEr=^Qj5xdbpr1VO`vzK!Mve~lrZdSJG-PFe3A){{Q zQykpH5vYe)m@PTo-1USh7j?^Xxzf|u6@@f&g-}aeQvm-T2>zBNF zqq;oe$v=MwSd{8^2L!QbcSMb!@3oOUNHc)T(n8zqy5c?nj0Ukm^;A4&??u2wkUK$(*?rWC{ zZrKdD`xiA_GkndJ6WsY`m;0_#KTs;+_U7LpGhOfJ4ke>KBT)|2L8_Lkml7sHpyq($ za|iu>B+)O9;yuh^JmpS|lW-Fpg=_YLS|6JpY$by;&$i;=cjRG!JEY_7>bxGpH_%^g z6oO>RM^DGYM3~-=a_(t}xztW?KWBU6Y=v0wZ80LWy~p%)1xDZ!+-BpH#dv|Q)$Pn( zwQ3HczzBM&XN^k@?;ETTQI=A(u@s^D$3}BE2o&sei02AZi7(U}+o9ck)3>EL8t`l- zp8PF-)tM_tM;BfMzXiH_LttAUR&A=H2A*SM!M$IIWn4b zNvm?gyvu;1ZioX|pFr}BZzy*Nf=`gqSuW6EGw$@VcKtw^3hs74i=XtaKlT&5E6dn? z;O5Sa+^75w#*N23Z!btM05&iZ7y(2O>lwHZYqHc&kw#C(a_**`QR<2WmeUK}-Sdsb zI@jqEj(yI~>AM5~hhH?C=%OFDFno+A<##cn5npb4P2XgTn;HKEyMzuv!HjrNt?tP( zkQ*3CS=lBluJXbhFHj|?u#zWnVmd^|%P^C+bg0A?wNR0!VwQQV!5o7t@dG6<%_DrN z3Pd2}K!C?#(+=QfXHrFU*`n0g&`^FlvVT2c^h7pGzwQ0`DQfRrKC|j=K=`6>uWFN< zNmf);5>I6Z&%?$-VI}w>3pz6@v^B@uPc_1Ej{PMT+IElCc^db59LUB`ZWL(^RY?t>_WuR0AAHofWF)(z$(3%w~xXZyE!z)YAvOcgc)^UUJ_9YT%m(i1oALg#cfQ6911({}iML3Jgw^OZM+92=y^cwiGF zU^Gbgm*MOUv%uP;fMUeq(0PeDH&NyuQp2p^Dk11!v%C<5Zm9mxV}@D05!sm8MkGkc zb8=#0wYwmaH|ZW$-rqg-(A^l@6Gynkvj`(Qlpsn#qPyg|Lpz$?B$%gB05NJ>+Rx7M zaEj+7daeuVw@+zalX+#upcD4uGgaeip}tt4lcxL0nw&S&heq0NnJ&KH0mP>5#AI`j zPnXK=2$vS@&fo&5Bk=SbQt>_2!D2P3Ecce&qS@4X(*M@X?dQJB<8U9JR}tCPszWiB}?YKCo1*T zd~?dcS=H_p4)$?Ef(hgI>6(P(0SB40CMFQjP3OJrzy4*sl?&7_7WdvZhbBb-9f$LiSLVe)pZY02;ShTq$D zL%Glu@9T_T{;Q{|c(#R?No#7}{DDN6p?v^6h;UG38SMn8znU;^{M8T!3NJh%E?96^ z#O&1}*m*izU;0@H$n%hO$q8=fg%L%j7f9zS; z>&0q^6K=b|Bb-O-Ma#5iP~haXKnqx^t#I)#~5J}HMMfM zt2p#EKmdGgJ@_2r>iW6X3?Rk)cxU`OagZ4oCZ-3BGleuT-4x2V$m$O6*di3RU(NVm z(^s=GH{F44dwFs0F(8xWcJx^RQu)<{KGfuPaUyK4FzwLmD=^o>avwFoLo299-Sl4a z_iDIPc<(^89_11SLvD8bh8Hw(!CbE3f;cM(d6}WO4gS-Y z4#!AvERuhsW%ZgMbuz^`MdfFD@FWfuV+DdE{G4Mh2a^R?y#n+nkUX8zWQF1x*uNQL zx}0eNQV5n7N-Rt+pHC9>!JJ67;>;%}MhB3Mt3aLR)~0GI7hScXBOGPdz_l*}jwQMM zfPN@AcyKB!JmVPeW??+JkOKcGOl!Nv>34vLa3&g93CR#Ga!QV2F{i}qbxx(v-*ZGxHz6GRIh8>^CM=FUbmy&(t4Ch^w(ynrN>Y~LJ|T;=&8DpCxe+kZ zg_8E)UhN&u_xt|j1l?MBDOk@wL2zeF@xozh)4Bq*tUT_B&aN2FVAtn!?&o9bd|6aM zsPr+4e}T`NGmYKyu6_l6Q>n+60tO4XWwH@;Y`3}14CcoCt2km$syx;G+E{xB-i^e7 zInt0r1iOQ|-xx5nccl)6G+LALDrXgTBap4Z8_u%IChdBSfcFt!9=0V(`xRRJx(#yK zflpNt0;QqPRAd}`wTgVb(E*mUUwd}F4&Bciba=0n!N?9ryydSA6#|k+&}vx&aRNo^S&Z4RSc75D!Cn>JX@!wKAccYli6!!(b>lv_5D@wlVgrd zAab3al~Y2xT})Y_1Ej=eO2BdPK+FT4kXn+*t0MtHuwYe)dhu8tTcKT$x}-oHs~v0n zQ}Q_KD($OFr^?tL-~&(^jtGY0L?2>F)RK;1#-hW5k7MA{jHy#QoIA01liE-cc^b;|g4LR$xWc8yx~^SDUh}}=yCZmOshk)N8R+E+b~IKAB&)-D<0bh*Lx3uBdUgN*c!Tg zfAoKbGg*5#z4QG$*&fnP)&rm0u8DX(Rw#49#WB5--x{o-5Elis~Ns z87-~~{a44jhbplAU`vAd@87L@+T_%(unJB=YK2tm;f#}JHY~c{3;*leI_hS(lg3bb z^@(KcavPY)=$ZtrH$?T%3YO$=T-}aEJ-AQFcM+Wrv6NIXICIMO z)ww8HjyIj*X^Ys_JXYe*GrW{(6BZx>d?SQ)Ro5R>q9K;`s zyWVW6fNrl`&HU?waYSI-D|3>bqKenE5w(z$;4i6o&(~I_pIY4~H&w{+vajPJ9W$=( z$!hZi>`*W8i{#DYZDP>bwe4hoz{D>7xY5|hn5l*>M5~=*;3=)#SZdEcjhFZ^K z-dp4H85UnP4{k(#&^7PPu)OU08%U8Q=H+d{&fxfN+lr?PKOWB;`V6kP^$}T5Zl&uL zKAzM!c*ES$q<>MCTj`NU_uk6ry>h@ssF@Z*+skvFNViZqd%Q?BiE*kU->;vdwYM*p zBIDSG)JmZGjT*v(b4Iqi1l`wN!z zxDSf5?c+9)ho+{w1^?V<<4+q*#b;8H>dpPr;&&*(q#-!N`Z)fj1druaX&sN(?TRO6 z4aG|0y9GU22`NX58)x9V#1qI`7m-^4PL}!XIz;1)H$|70R6?gXJA zNqfGW=B=-T13joL-%{TT`dSu7ghjYyCf^{LP=FGCIIPjdCe1bt1_D{gvO$B*z{L7O zL-pQ}YKY{MWjQ6nYY@}|_gJf`wp8l)i>5r`IZNl8FpY=fF2QrI8{;>w&rS=wrDa8l z--J$wd%z{9SM}?F^R|Kesc{E+z>g4MDbL1;B$j@w!$6YmL@cCGxvgb*wjqLz;YMO; z-*9jd^U#J=fVLy>-@@tpIy7NldgrC8CWY(@ngw&Tj37xOde3VmapES43*NwYvQ6;&~JHn??oP1Z38< zbno+#pD4xW)Bo&y%6Ac80BG6Z>*R|CLB$B>j@hOpOX%bf-Ch^OwKQ{L948*8jVmoq z5wx7TaAR>=2XTo-Fw-BHSiocZyI0k^;_?6cN$`0W97`DV*KWdWxmY*n#S#6;L9rxn zxTMs-YPtNW1QG7>BY`l>7me!(kW4}3&4u+KNj^$v7r&pcHOiWPDu^Bqdl(S1Cs{qV zw%Q(oqtCQ!AZSYFEx&^R8+m+}I8#MOd!(FU44j!Px{#h$m^#7lu`nL1KOsI25UZAM=xD>Cg;uE)SqKEelmdIH4WU$ln3Hq@S@XS6$V#wsNW%@6`{@EgX}f?CPN+c&uT{mB{mU@;hP z#}54g4}u<4iI$)wkWXO?4`%WwbY3DAx5Z6V5yYzox5{*Nh(~@4(T`f2tEn{ZDF8zWi!ZDZn`nQ46$z}z*@Z+RwdrN$f-^8ugP{Rf|#QH3gmk z%vX&7%6q%7clEmF;F-eD_+h-4D(uN>0S?&jsZ_IG#UQAvik2uxieEoD@0U`jIAG#v z2!ee#Ev=D?+|;=NQulVRgIz8jo8Hnsa$0bfTU{Q+HmrPF+im(2cimcyMObVpSc8Hb z&V9Nr_r9vRJugwJ3$$7+0L6Zw{_(vo6WG$CVwB>6i`Qc46h_5DplF9c`H|`%7+^Vp zW94OITXOb+DG*N6_E-= zgLAsDGgeeD-{hYC$XeiWcn9_&bSE{Vzx|jb9~sIFH{BOh{B9t%tWq?Mu4SB-E@?mq z*BgSuuK(GdQs;L4%{l+SdaVd*_EQ-Xn!5>K0nIDF5`xL$p>5mw_1|vP$@~KLwC14E zc1F&Si928qcBtrtC^}QkfMcEwqkxA13(G#p2_Fm1bO9gqkRLud8pp=gKAqJC-hM?i zdf?&@M#qaKP4Kp=kMXs99fH+100X5XQ?5@nhcV8gTby2YC&8_^WC(T7q&vhj zUdBYJiAT}HK#9{j)yzjda7z-*-@I!WU<62-@RS=Aeu-AuW-fDx3 z@oy&S^LEqqW0ergTo#S_je*QZVz>yg2=|_~KSFr|lajj+SxN&LgMhWAokazKobZ2S CJf=zj diff --git a/cmdb-ui/src/pages/images/exclusiveGateway.png b/cmdb-ui/src/pages/images/exclusiveGateway.png deleted file mode 100755 index 741267dde34df17f5f8b05e80ba0b8aded9bdf71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13787 zcmZX41yoegzwQjpfI}-WQqnzu!i<1)3&_x&64C<_(jAf#5<^G{BBgYP(jko?B^}Zr z{f_^8-+gzjH){=NIA`yD_WtGf`}U5~P*b=Ep@o1zpnFP+vYH?e7!UY@2!Ow!7Y;K_ zAP}*los5izl8g+ahMV(CI|pkJNHHo!7vBgqP5aE#Dyb5SEP?Ed+*+N6sf++i5cdHS zAp%vgL`k>7N<89hEs=~LEuG;_!mYQ|tc;M%v6{Cv}L?!W)r)9Lp7 z>Eihv-p2eJ5|GcSSjkt=Bz~@jCXY%q)aLncuT^3r80+J~$bG$|ziymQ;c%!V&FxK7 zb1V3Bo{O9pDr;!mN%mOP2@nbZHKNtF$$N+f0@ zsL~2UKdv_l`|`M6-tk>hcaRr9$ci?eeE?Uo?%uXO>$OpD{u?3-&nQVAuw*>3D}iY@ zg(M97@O@`zIv4R?AnMFUtRdj{ApP>{p_@Ww(fyi)N8N6AVCS>D*|6YN*So zZ1sBB$QtJVs(d;wowsHoRQ{hB{H*VTgGP`ufb-7+CyiI+hZcb zW?(BEN>aXAIysm}aVyfqx&#JXeCtKFerW`2iG2pcKC^=bq2^hSeplAC4vD2B%lmJW znV+S6UTb3|cZ;|%O^MPRdyKH0Aa^wo>uw|!TD$10qNN)wSM82ss7>Td(z=+Ff^j6v zM!fo4wS}nu$nv?ROhdwmzgCuI{rf9d$0`n1`GGHKBd85$EZ0npPPK>YWc}_#SAI;)^n3RR&_kIS5d!f?aJ)UokX~56Xh+6M~Ewahwc>Dis=i*PWAJq&2Wk85F)|e4^`pF_QXG{HWtmB#{&kN8mZ6Ce4b)fcEb_`|i8Q z;fRL&?Rgnj#c}r@yBfq=yiY3>aZq~8B2Q`=`9juao|vQ~?K(i)TN;m0~284JKp+7X%UuJbbN>GyR2l5DVSGtN|`A-cNF~av;+TH@IOFi?thew9P#N-|t^qyHKQhX)ai}_ZOfIO<3Nl6he zDQuOQTsCM>u2s4;VN#K|n#xYrUlPj1o`6<-;6~>ic*4w|aLy4vrtxS3%R{m!@0Nou zRt`04XUk_0nwqz^>Gl=RQS$r)?i1p?lNu$raoLD{<2 zEmQO!PX#`<+&j4Qr9xTw%{oY!2pp#7d_ zWScnXU~Z;_c2-rkRq~f)Tm+M$n9z{WaTk$OQWJ_OS+*aEoA{oVc<^}9i2AqniS_Yb zSu=9GY|sQn7E}^9=lf*ImBeTzs)Bn3Ed`bZ+y(SwhSkv7=v}2aW}76|)o-izNAyQ8 zj;M|-j~L~0EYt}LSTt~wXOpRt_mW@tvnrEVC)i7R6yTvyAH65!CTQ)2PK8hTP7CAW z;$qbThglw04NGHaG5a3F+hU{M3PJ@9qoQ9+gmE1ajt}-k_nz#rV$?iyBYp^NeLGn@ zk-t>B^t&`P4*#QPTwX5e8RUdwAN|k+~E(#V4l5qsJq}3&R^AKBLYO^0H7AbQgFlOi7(e=OiR%H#5{uT}uoN8TlJs zg>lXJVJR!@CcHwsMx#yRXER|p;p||$>zMV@$ll1tw_C5T`#n^Z?@M4qa6^uF$c2CM zH;yxo<&TB=84AWUr{AryEf}-P>GODZUc@u5IPN>HUG%x=e9%Sc!55{MUk0C~ zW1j5LISM0fg#+BzHgEC+9xDtP5561Rc<(IKW-DQ4Zb# z(MRhFsxGc>Wrv!n?e~-WJeKz}wcAV0F&3wWnT9=j++}qJo(3d8MSm9jJ{#Hci!b)h-VAJAL?N)Wp_gy2p8Td&YcqdSh{+85dYD zq8p0c(^;8XJu~A$JIv2~vo!3HptBL-L(iAG+I;tOJ9p)GS^VSQ(=}=t++z{{I{ra6 zU$*ZEa^#hXdj&@Yu8E_`NQ-ex*g|Hr^M!yf+okXC@#W(m(<8d;bGvgpHXCVcy8E8v zi@nc&1f<{1f}|zA+JghT!24K!*fH4W__s8x_mdgEvTycz^&EB{&h>cW&*2;g*Wq!? z=rQRt8A>PTP31L@hL1*=*O~`cV$9=bhj+!!OwPWzoV)1%?Klw0k{lKrJ|y5_Mt%_d zAT%Z*__+GXk$>`YEhjCMR=`*FldR3(@X+@&@3r9~4fl;C>JsOkbvSo66Bb+8RrOWX zRFV8PTCsB7qxca;!B(E`C9)u4LcW**BCjWWMgE5s$#$RhRyazO(^d0Vfr1jf68haR zi%^mc%f6C7hCI8Pc}=YpRmxoR=sCZmy@BP=%#+BI$*umr-)tk9zD!*_GFd-TmHJf& z=F<@ZtZw~{oZ=|IA|2Hh_>il?)>riSP|*X`XM!@$c+TI0c%*fFrn1XOnsH39of$JT zjdOmDY#dA<=Ri7fUg5TMnl0Ne|IS**X_6u9>EbEjZmr-h6olqS}FBEDjC?A8ARC83?8oy}c(Wynn^%nQdMaM4T zU&)2NTY2>@Bq<@OF{$p$*vp3;k2zA3O|td`-)!ynSii7-y1s<|i$<;+j2H`_cZi)e ze?CsUm_2@ae}<34bo7gW&+;F+3Au|HfBoH7uhSJ>)53sB6Q>ugmCaW>n-!T{?%Y;X zB5j11FOSK6qr8+hG%E_}QvFLQwX!SRDoV>QE8n*5Uf0ntPWe9lDrV!o0a>KV)FIbZ z)>+V_YP3JM51F+7)HJPXG+v!rQ|q?($wO!g^XaU7p*g$Jq{>8}LU+8j!>OzP9)rDH z&Gb&^&e>$

#-FE1(&`->`{4`uQ`(RK81lWSg^n%ex#dk=bVaxQXCxmNsVcJ0j| z^zLEo)1lWod)M_U)hZ27?aoW&+rEDnUw@+`ocBDsXrTplZgR`F(p3AhZvFGs`>WDc z{6+58yPJqI2B+QlUyH8ocaq2PXV0b>tYBphQU)*UPU@l!QXFX{kJzde^aS^?Z--n$E%7*Zegd# zeL}lJJ;Qi8;=X(b^LfX&8;1OUO>7%B(T7X?5^b>ElRbxqRnL+=xAwKO@*JN}k?HzrKBM@y1&>Fk-#=%foVlC{ox~fAU9K)FSlgfr`d(=+bw}B^E!$V?=XAGg z*A;%srfZ4#WF&kNs{UTZnTt0kA{WjKKK%?o7_^_&`pp0BKJHsy__#38rhd_~QF5|n zX8Mf*FJR&s+UM+dj(LE|ZqEGTvC*0D=C|s!B7V=7BmYTwf~d=#$MQ~xNQ(1wAc}0< z{TaMEIgiJ;@niJ+c(Hk1b%WY1ZjuR;kufqd{lZwEjc#kRxV z_EN$&sK;1$gs+B!?GJIydZa;GJwc(rK@P!P;DwzqaPFm+IwAJQwCUc_XtACFRF_-` zJALO|US8ULP{L2}Uk*B2+Idmo6W6DzXHP&qF~S=vDWuD@W-5UYZ`+}7;Sq^}z17oM9=dSl$6=~`0$Y*ZlY+=pk<>&&m27$!9 zkibtzYj<--FGmL_G}23)`9Cd?!0&&z`I#C2)5QIiIJ4e!4MrJfH*3bne8PMJ%n}er zMn*9=tCvVkS^59&4*Vz1Z0qjsg5>A-^z`KO6ykGsv*Cv$5D0z&L4H9&UZ4dp+S|$9 z+>6%<{pi02`M=}HTB9x9>|EUKoShi|jcab3^~|MU5;d0Knf{l7Okq5peX zzykUIJ>iG*3Gn~V*g#jYe|M1@c3##Fda`zo)=p^P9TI|11jYW-{{MUO|K9k&dg}kL zo{yjW@1Fnb$$$40RP}R>z`_X zPayE+`0p$5o5IY;d3PJQ@+iqlX?cNnjrGeYMOe$T;%fE4m$9w_aP7t6=9a^`lZ&~y)5>SQm|d`XZR)t;Dk~iE%rRlIXGDE`cY}#Wxx}jL8In-(MiNF`~3NHCH++cC>g0m zuX%Bi_*kvu+y_JFmd8lV zramiQ45Tli+vCCtEEpNPHQxF=c`NG?=o))yhg##X59K_2mht%2{o;?wgv3DScI4YR zBT?Ea)+l2F%*mJve~lgtd7e;x`-ri7DS*MQj?_xP=VUXZi6kqN2;rhZ^yw|BjNXl$ z6R$5JDYxIv>GW!~5-ww~y_1t#Kl3z}yksQP(y+>_%SMkK19wQm(>X;8#Ej%*{2K`T z?+=pihG2z9?vNb6v-HC^x(f#v8#!s82bCq=j`Sm$*dOX&P}4neh?I||Ei6ENzeTeJUXZ7sS5PXujfUCVa9Y)`~n{x*@y=E`hPjC7d%$XUxNnf_r*q{FS z)$|*TjaR9-oax+Z=TULQ&~|&toe48}vsZKExOyiED3IXm@BX3N)pzPE$0N^jR3Um2 zT85CdH>r2{h~zlycl)u{a$62^7f+4?0s-s7nXy}AbN>02vvoB|rI+IT=c|fX_?GtA z$g?|GJPeU!gx_nvHCD)_tw>J-41Q3F(#mi@Sn8?jTW$8}fyguny zv0+$I;crR)H&L@XDfSL_xJ5UC+b=zxUZ*hV(VqbbyuK&P_;;GAKaJ4a@b^@|fmi3?Tqbduw|-_1n>n$RlJe3;b7izQ9$ zbf{CxON0s5>>?N3+Ju<^z8?B?ppXaf?q00ZP-Fu#j7cWkc88KYqtKmDB4W;|Db^YR z2#LIVSdb7d8iH(LE>~MV8sHacWldlB`4f?g=D4Bei-7@QNAIfW=rbA!0a-F8O`V#e zPjtj^IcOdCB_^C)Z=9>js70J$F|cm8kMW-dxTT5tew3qhIiu0@Gc$_WicdTs9vP+A zHF3jIzR-RF!vT(NvwH?Lbo)PRVyM(R!qlYp2)8#ne>jy71L{9@^>CGo?7;2!*k0PE zT(Z@QE!HTuw=syQUT}~%;-)z`wg^{GnpimUR95-^Ks~dc!iPtN&8d1GS+(LZS-hzB| zLWnM5yFoomw;6cCr*6J2AYi@$ZF6Ke&W@38u|eIKC~Rn4epa2dXUSm$q@4jOy>Hs) z@8{$WDIGE5&jHrP6XEkQpy`z~6S=34P9g z2y_2YVQLbYC-KBU*M+eZ2>DhDj}*bL4wzXVVnXzwujQjjLvW1_iC$za`hhsjk|^PT z5wOg}T#!BLHls#uQi={lWI8o+%Ac$;v;RQ+9lw$$#=8psgrY{e+nV!++5gQ$zZdfs z^d`i+___%z{jqw-+uhz%uB`+Z#dkVqN=@4^tN9hn<=c<3z~gqSTh8uwobqaFk!&o* zodWF--^OuJOXMtHoK3eaq?Th|jYi{I#1eG=m zj6&4R+XKO?rvf~jIR%&`^oa+eftdM@ zkQ%D=1CbS)cp?=Ugfrci4%juFQ@vCw332laoK$R)?2x~(&0HclDO@Ij>IWyOlu+`+ z0sadnV;QredHF~t+}!?wtFt{z1g%`LM%0G|n}?XL82;9ey52#`L~xGRXFw9rJEW8? z&Lt3F%2X4>*Vp+7=Izc6q*&oR*_n>ty$&AKcZWbgLe-JOL15avNKzSyo)Jbmkwmso z(tcOa9XejD&Q9^bRH+0;OaPU2s4zyn$d|9`HJ`1v#xqQ+FeHRe zY^iTj@-=QU9|eY}fel|J%`>@N|8-3rUQR}-MVSWNczE8s_mPb$oE8&i8oAPqBE?AG z6L{$NZ4wa(Tkt)8uJD<-n3gHLv^B{Kq8*5H!mhjFvYu}9-MRTtUQ*q@twfrbihBQ7 zQ(7U4RKXHAk|rQ@c)7gk4>Lb_uGW#R!l*&;_tX`tg|sWG74SKy){B>kh%2FNLxW&z z+!ch`Ie2+p`z{D(rGMyb1A!;IkYa*ugytmCx#%UFH(R55GS_Ew&UCg?Gj$wdaEHZK z@jnwK?~V)$ug_@U7P7?7^(+Bo?bQ~;S%}rvu(gBXr~7}e%%BE3widwaZmZQ*^0kYcv}2Pb z@J4(zp58!Xoe{>d|yk^WErQl)ElPn!k?eiQ)Y;-d|{1s~b ztxW$*FSJi=3+5(8Y=jB6(`*myZg+NY_$qjCnEDug;K3fJ=53~yzMI_47DaKNg`Hf> z#2wl}(FMRrJwcmHB(ADSa|=g^!DHv?a^o6RYmCxo!>M&mqSTBnAaoOm&!~)cSNh-h zr0Q==7n`BU8MBOR39U+${U>}YM;#D0Ku}>CC=Ox81N^Lh3G2uVO{2d2r)i(9PTfP3 zN3W8R+Nr%DtT6x5A=$U+8lq%op$|u|tGZpO16a*$ZCr{R+x?$#e}9h^s=i7Pjx4R1 zJrXfH0v1-(h~&Qu50m*f`SOB37e$HdgRa#_b1sVEAJGJHfSPgX;^b5Gy*5XgUftq} zK5|SS^oV)O1wNEjm{(0y>&!_Wf&OE%9){zJ<3VT_7X6PMJ| zLMyADV6Cj`0e3t30GGKw_!aIusc`q2wLY5O` zalzO&G5~Ro0wcrd#eEXm<$KK9X3vw^)%{qfD)k&LseBiLyia~8^jT6N@lAR0`J=$8 zSPI3X6BAkpwU*nr`5nn3#H4Ko`jV zsSO<7p3TJCeB&bfUNBPYc;)k+5A&=Tj4HaHLgMq)ep`+zbQHm3+B*Mfd4~!PgzEE! zHx;_MrBCqQO{WTxuWt9B)Oz!U(z(mkkT|TqIqGBY3*FC@8Ke8R#9Ub-#B7$9SInFm zqllqD?yp?#+MJe!o2s&QC)`Pda*X%dJQvK?*`>y=@y%PIQFf_XL~=?rBi!-@5v3MvOrorLH*hBppXSRm?2(WIw{@yn-7NNFqx#rvUZ)9snEW`NOJ(BmhtwHx&uwE zP%taOdLl(tYeair$b&HMV$Ql8(KS(sQi76>Lah)J9*}JTi^!57EPXq)#K#6TG#?9x zxwC%iAk7%=K>QQTUz(~9EW=02r+Z~@K%68}y4AFR+9f4oQK_XjVZQpCuq<+H0CO$+ zom)?)rB4vqRq^^^*WPa^Y8>i%Q65rmHCDyW<+oi@tk?~5bNP&Rkp}{*OPpFnk*)CK zrGuBn&DtE^hz?_iTKxN(iAiz89Vs$ngz$FFB^>>}7`33Mn||IhU7eMz7QxmyL?w|? z$1%EkI`xqoW*BN9VT-K#5&W@G>Biw!nBK^XaH=gFK;oAYKqR8$B`$mIe}5(i;DPj} zpv^n+@Vc7k0Wv@5ex4hXztgjEt#Bh&Djm-AyE>~H`e-~A8T1Kd>*O^2A)vW@yvPYO zCD~$y(p|P3P4N+}|C{~A0S7Tt4J#wXhQ$J5VZ7)$`Uk$$lsU>yZ>N%qhcMG0_s_6m z0;YJ>R+Od6Q0iB|?CtqtfN36{!TsO=v~0uBs))ojcyN<8r|t4U)d1*VXd`kf!!@rC z!*tEsiRZJ61v}dRh}qM z%>+b4T3Xs(9(D;_6NaC}f293TCF>-QHz5@fgUOxzCNJs)tI7nH(W7jDZAiUlIKhht z45Rd&@nci^;PTDW`xU~qg617k(9hA2kJ3jGwq)2VoGw{fA5cs8lKV9eL|n3(lff^! zoPpL_7W+p+zR;Qe?kSeSX9=e4!s40KXM1xG{#ADqdSdVOAnV~N&jYZnN!iwhP@`06 zafP;V3Ux85>{ok0o$&1XK*qN-9q_I!(`#^JZ6LF<2vpAlPGZB))d14l^KKpVMu*mnF>Iwhq6nXK%wE z4NfRIAfNF(P;w##qJsxF#XvL=Yxrw|O1dk(k6)$^>c3{ttg1^2LMx9@BHAs2)|mV5 zVO7Gi{m%3S5oY>_9rz3^PXrUG>)Wmv2O?w#KbwA~nP-iXHLFr|iwWe#$QWD9Gap8}@ec=G}>>IHv3FUse)-bH?%uMir9}e|MOmS2FZ2X{`fq zKvq^Y>etcJA{Nv5`jFsL2tQjAUC-cdY z6#q8A#-nSn4_sR32l#=OXP^zVL?Q( z{}i3pxT{yBT$rqV>M!%Bg2R6qYwM>k4qOTzuch%*jJx}u|MFbVcvTKpN=mpj@mdZm z(mJtJB=}cWvlwbR-T^gwxYm5@$N+#KU%mb_uT*=n+V^f~xhsP1FYBrLqVI8R!*V!X zFX3>u_}umF)&8l~Nq`xF*zMonR+)`ST>w>MmrRW%rfuR%c|erUUM+s(^= z>Am(QnG-b_gpF^{YDbFQ`Vi^fYvk6)x{9;kutASLTI~zW-P$k9#Z^$rJ`XFNk6(zQ zUwZ`7^a3zkZ*3bumkp)z8V)W7+!=Gr62X_!027RtgZ@i;Gz<*<3^YSQQbcOrC4R=A zZo`kb7mwBk`fA$_I*Eqj9zHb?T$CafeRHz;0{uhoK_Y|8oMT-&Q0~-;Nw!hONRs)7 znaH{U{Mx6sJUz5Xc6fGYwe>*nK98cgyZgj7Kq$q2J;>vRFLeV2~kja6!&E^Pd2@)Uu^4%tmTGmHX1 zXuZ3=+BFXwcAd^ky^6oz$b+?cYNVP{y0_*Kmy9R?LV7q!ZC4a^0zr{r15^p~xiUQ{ zfSwm!k@jVG(YfVR$G_ubIGeysIZ?>Bekqt}aG~W*(IYd>qomnNbD3ey?Y$uavkS07ap3uDfGth$idf%Bhy;uH1H3X%PFH(- z;5IBH@%(^>SMWTH_eg?R?(`r8WV1))10m&q0TqNZx|R={e}79;iq6$z|84NKTdsB9 zJ3Gu|h~(LI!V6k)YZ;Ju7?3^^9icg$y}gPNY8_`{_u-5$RIS~@sfZr%P1I05`J^|T zk2`$)A=Q=C}$QAUBOLmX;(%zPQp?BrG9KlGUFh=&+KIxQ0+S z3T%2%1dFF$-YaegwhU4J*$k07zW00ee;RjW!?`#2HZ498X1?@W*{1ZB)jF0Y=71Fm zB9Ia3LN?nDayomW0cvipls*J|5vz?v_x_BrIhaG z6%t`O0fN0(9G>O{@gCq(BkpC?-8fhZAvs(73Hh3vl^r-B&gUOirp&tK{E?`vI@`1m z4byD@iO=w_ya^-47VL<{!HuwbHlzdS^N2|)oW-zzF_2S#o3ux#Lq?1tSgj*m#k@Q4 zEezonx|Seod+9$@CoQ-MG4L^sSY<9R#rN#XN9A^-dSC5GM}gCC4!TJ6kG7ijTbstj z@xLZ(GP8X>XiXDWIde#OtsS4jt(z1PHOdL_$J}AknxgPrcYvO!d9_RxPNltPuZ(A$ zNZYjNHo&{8{AUHfq(K0IU^^OT;B&$h5VW=HMqa zmUN4^*aDjyVDz9rq!bmj8I(}mqI9t4jipY210Hm?JDU=|1~nnKkP%eaT4S?gAiwJn&h@GJ*M+j zMaw#@UYq%@kOCWm8^L0uN7gi)H~8&EEB8A*&n;Q^)9uOCY%E_$<`c(l)v_hiU`D)T z8dQ3gqK1oNTx={AvEglx5?`D>v@z*fu@h&m=Z6mC+a9iXHE^7KR1JxfPF6h^wS{DA zJrbX1HqLGl(&vHyE4WbAVe$#gPF{f(c92SyK z8jum*$Ln%===Om}Yr4IV#<3>IU-3suK5!gQ{VEIGbjtow&Y3cL7@Vy%Rrzf?kpaSdtM1x%0Kd*C&DTciQmU5t~{D@24Ork9$O^U zba@~OX+VYnfJCt)=jpH9C~#qjZ^kDyf%P(#33+LK~vXv%!ecQ{z-P=}zy7^uM~ zHmW@!Pbl!zi8(-kWdoE>GW`hnmwjI@ciuoa;r^C^WUxFiWV-nP?M5waQs(Y{8{5)whdgQiz>G(^o*yq^aRG~- zLUfb6f76lj#iVuT_b%}br17(hsE%?v%+(G(NDeEYcnAkkIf+GlaEID<6v(RDddE00 z`Av1cf1}~;4zd2{H+39Q;4lE-R~{%MFWuit=^p8@OkY_N|G~mw+58Qxd6u_L>2MaE zO06LPnDSJaJ|5~hxk5_Ify9Bdvw~Yy%Dz6WD1-r^p^gr~hm_J&oHGtIkKws4)H*Jy z4whAk&X|zZW|Bx5*|?7 zl7edp6Hi>VHp{lR66?o`Z#sYjs+k|J4{3=8H~EvhB}0@yJd*(Wv&0T1Tmw8tL3IH# zV)d8j;`1UkjB;be%?d-nHM}FII}uVqeyzPH>VI9Ym#F!S@Ot%L_gBlQN-(X|MH?>R7wELucxki@cx+#xX-)f`WT7%Y)fwqI8;K zxGM0^#oX{@TRv9Z4FLfGQaQ1R_3CY#I|3K0VL}`E+4Z-) zjo?QLe0K=JJZ;xc{L*h+D#W1Rro=zj7svOoe70Zs;T&k9f#Xd21##c|v9#32 zAxBzlZ{tb^g=~hkrVb1QP;*~xZ!S+)mu08`)49^krUrpTvb&O4RR#er$dP*cLXm9A zflikS6Fg+)Cq)bj+DYiuhw_*4BO&l~zP9o{RlbrRl75kCk%66u{Sttpl@9@x7 z#Oky(m$Ww@)qcQ~+N;tkxvydY^3tmw`hj2!j^Bp)YPVU8b*RM7Ml{~Gp9UBgYpC*d z`6w@vV-L1ZBIZ38{qVq2rvwb(O-h||BPF)5(j7{N)SXurAW;|w+WGQgOD z+SE$HQu{aO>NmrvJp5oIOc#K7fkCiQB{>a9+`q}B>QeD)ILXvVxZQPdiy#83#KEGy zF&g;dL1DT z36ak!3d&X})(E@z($4mx!61qWKMr`E5405Rf=!PMqvF;{upW*q&PC#iylpZr>>j;G z)#(g~?B;y20;)s=c%4h_2VG1su3p5rGBK2KmJcw+vAr>m#b{y|?cxM*+yN&mo;nEq z5P&?J!XVvZ-~a*Tmw-F}*y2$_&Wi`Ec!E~IN#Si69zMQ@o-6&7*db-D)32YNKeFCT zfA_UXraoGpb`^O&yRK@@XH>888&O~@ak2Ui*i2jD+?{Xu(sln5n*q#52(cS%Iot9w9SCmd~3j-p0o@PKh?jOa?}pT2%un6QhFkukww`Oy0GGUj$O zhP+ZKol#7q7y*Bw0(SQtl|Ct(hDSv7bpbn^Gu75ADP{!KJj%ql>0vtwFly?LMq>Dz zl$DM!tAX-c9HU}nSTNVCOKR5emC7eZ7@3r_&%G4?)c#Fd=ij|@aY7`%?FA<-n$7~0zb}|7S3XsQ5uq;h;$FO z)bxNXl+q%Y{^`Zvd1(_?`2_Tz2-22*m__>>AQUZrshG`|t7V*n4qxrsoJNDN}sX!|S zp44mv>d=5uGSu&!XDWkKA)ETU3oT8!_&1t-Sjxm}D~qRFqX>;YF#q(*w-}Yo{?L3f z!+ul*;4+&AxXO1gqVn7++(!URQ3*#0TX^T=F56G`Q)3XX?VrxUj-xt6b zZ=hbw^!|UBr6Z^!*Htk|vLn(S5Ss7&7l7aO;Z=&$cR{w39Gl(cHemw3lIlUq5RMU` zN+e?CryKTZr2?~t>xczkhsU~?e4*MzDDJ>Wbz+gefok9{BtD_Bf#fnXXLhSlfbjIC z0Tk&PXWt&+-9g=8TcqRIPN5+^?iOr2s6n7ZwA zkwl<~1qT6JE`n8OfN4{Ro{zJ$hDYnsA@R2>vBZPqV(xn+0Q@uPaP0Qx%45qNcN-8b z?pr;6tS2>jP;NKq+najwvIT~oi5dH<_DrJtAYlszW3by?Zfvsr$< zJJU!qZhFnSrK*rbjKC!5qMUjkz-}gb zq-V#F0umsIUC&sX*hm=6LcE(tyC^ZVgaDYP;L5(ysC-&B9MG;6UjEB-!2MKT4!&Qm z*%0v9o?w|2VJR_{jv&zrk#%b!mthI-e>WuD?jY#AAjZF%Q0}J)Y@nqUG^wohB`wg2 z0`?q4*QhWkRP)K76Noyb&w+#O3+GKxtuU(uSAN{aQ%%OQ(X z*pjUgaLgfzuTxVqK~O_-iwllp^_IChsk~oxeK1{S8Acu#<>FEq$+InlB?*iG zdPIrA1+2JC(Nai{0TW%Al$c2NP(m-UbP89Qc(S?}Z8tW0@)#r2SYtf$X3197GgTRg ib#F}a*-N9^11yjI9b{dDu7NXnASF39*>Y*K;Qs@lQ`0p7 diff --git a/cmdb-ui/src/pages/images/intermediateCatchEvent.png b/cmdb-ui/src/pages/images/intermediateCatchEvent.png deleted file mode 100755 index 5ffb7c35a7e1b4ed71fa725fb978ea6432320311..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16446 zcmeIZWmFwevo?skySo$I-Q8V+ySoQ>4(<>v5S-xdu0exKa0%{CU^@4{bHBUR{GDI3 z=B#z-rhC_}-c`Fxo~je0sw{(yK!5-S28JvrE2$0!1`Y#!!Qgzh4;Ypz_~bv}AlRXC$>FKu@GwH7 z*VQXcep5g&=SB}}Gm?20E$LykdUnxCm8i!;;xb%Xh*tmYehj?a^LBcF6xe$FfH~Uu zf(qt$FIdq8wg~%8RsE9!2*p}yddwoZ1016KY6eI5=E;p-fQ=1B6#xBiXIBq+b)kW$ zhU;JV_g+wlDBTfcFqL>NQ_?LW`8zsTS1wCBHl*lXl;67EusU`=LVYq44P3ouggaN8 zK|~{0o3vwU%20?83z!8#BJEFT(N^RWJ?b}uvF~3H&AekoKY@!TBDumD4`GTDL0)GK z3}iDPod;_?SPQlX?M;&G>|eXd)Rp2iCs7W$*@8Pie5@vXFhxLvcJNSKW+fZ4sI;c) zoLg_KM=Dv7cZKD={2_)S(R#5F7aq{QYbI0BXqhK|y*(gW;phurG3<+tj#weurIQo$ z&($u-qfFQpN78}QXJ9@owF$_CJ4hbapY~gwEDkr#rQEA)?wJzI=C7G}Pooe?uRiFd z#&C;zHcpRG|HZ{;zJTGXFF4eJ#&PgGUQa+cS)(`Ttx~)v=zATKZ>W=8VRXGlXl7>VPuwA^HUEDDpA|nzW>y-6%66 zb;X(=TS*hIpxo)JxPDT3^Jv9Ds7?ANjG4QyT*DGBDt#oP`e5RyLM)~Rr|<5nZx?*b zSN|(@G+16Th`L~i1P4~keQ;N6V|&uB`AJD|lB5s=GAJkgsXCbsKWT{C@oz|P;K^uX zGH(NmjpC{h_oOmSU#kem)Mhfug>L#OqY=eE(FH#uG-p~+=@UF5+YNn0Pe--m^c8-6 zElWV=a@CJF%gQX_agd9nl14L+R+F^eKtk;gyW;gh4jaUL9EFT*{QEQiDtcDRN48B_ z6~k!;jU^*M4HZ!lN*<3~{^t$6H^&8wq1X*NjPn>3t$HJV`R+wlbo?3-Vr4T%Oz_Q@mUfZ#_a zvoUYa8hu^3Gd-aWE1qv6mjyawF0tgnK`QDtKj|d>zU{=#&ZJ3UUwRs~96Ml5%iC zKeP+J0j&4-$uYQ!n1~ND3_27!xkq?N7KL`S&@RY_;$0RFBW8$PP8KF5VxIy-GGtP! zN4zp=QI@Fz+g37A6os5N$z2xLjnFsvj)EoWkuLI=D&+!%r|4+mI~`%Xl*X*B4YPiD zM&ZF9wAGA?!CdC& zS0Db^8fF120=dx~E;tu3Ixa~0pxbK-f8ida+F|cKrYHJ0hIg>bQ4#b%Q0}3O~o=EaP~B)>j4psa$<XQ>gcc_w8;-Zq#nDZ_IDVqzcSb z;ESnLq0&~^SZ@@0ssQ5)u;Pm4m0Li0h}t z^9b@TJ*Q6uXMJTjirZ&-n<_Y=9r+w_&w0@r72m!HgWa-~fE*%mJ^f3bl7-t5WM(A-e+sqW#*zRz;Z1=fk?{=&A$ zRQ8{<%iPPZx#tGNlifWEw+i?6eNe|s2gs18!z-RV4jzvZf1dTQlyEBkTzhwE|H0&w zyTiuHu=(dvVM1#jX7`OsSL=}gw?|hNm#vGy(ZN~s&{4BQuSDE@=6wGd{uz5Ck6OA~ zXd_3XnQp`Gh|QcX=Vw-bniv1Q`JLOj!ZvAolEcetuc|gpzM!TFmX|z zzR=)7@JomQ$XLin*mwMWoHWuV+CSqyqt^r1>!aSV>rl6$tuTxdy5xG~pT*M(mkPUP zBWI&bTTDai@=Oy~r_Tf*j2;?Y9$oaF`mcC$MW+R)ui-vX@E5Tcar|Os=W5`-2~1Pc zbkfw&3~Exj%l)&*7M`_|rNze6j$x{2UuI@oKVIKlkGf~DYvFp1ITwRT zQ28a5cGlrMmRsDCdj2wxad+Ib5M~XGorCeYhMt%du zfpVorB}Fr(5{sjqzWG|tUG&}J@x=HZ%}kCz`QRss+_?<73B{iq*?g?jZWA5!LK*?3 z+KSz5Q?B~QP44qkrMQYB>=Mo}&Lbh8#I^mF@_(RqK^Z|hljY~+1Kp23s zhwdIQ*|FQ%%iYdhISd|*7T7$!@Gn-k82&Lna!2a5 zC4?D)l~|hjwQjYQH7|8>y=QN&BwI`V0!@O}zDEdK*g4u5I`Z0^y4W3dk9J{;mQ|h0 ziU#uy8O<$j=T)8@OLe#Z+&Yedy;5BVOG|&MnUGPC7uTcL~8+qI?j?3ru-wpTD&!G$^zS z*gjTB_l}GR9e&Z~EK~xOZgy)t8oe{`cD7ix9#+3*y;kU5U)d&{-& zL-aQBL1c;4g6M~Xn7&o(T`NdG-4Wl>Fp7rg#0J$)By=*uZ<}X$f-r1xlCf&eXTL6?`^uZrpU`m&jKqWjx%jx&zYX_x{bf99)=!rS+w z&n!VUY~2Jdr>y^d@@~HZ}Q)}PhJln3EvOiY6Ikr50YWgQJIAm1AWSJ zw*KDnJUf&6O_0u!YKgS?Z9EO#j_+)iZ~p96dG0={xH~p69wvneS`cyfd)O;54Kg|_ z*x0%?c<}!-+>lwy;@y1{xX6~o>+<2bbK1|7?yLk@k)w}`$=AEbL|E$pvVijEKX3Ja zHO|U9B_bpw)br!Y-m&_&Mcv)NeCiRw{9wT1euAl%*-ZP|iE&zMa6x>)+fRquT|=9U zii2s6hJ^2dIfM>^Z=Obge|ynXfrl*5TppVR36B2M7?cX5B^g*REX>3KOIibeq9Y_A z*x=>7a}`j0;07Cw)=}nq!#clvU=`dU^vwO zzTk4|R98UOk!P!^>!GWp$ZziK$ZTriY-Y*q)hd>kE|-1&Wk zDE?~%KXCr7m?A0HnJD?1B2I}Ti51bq62V@)=*yV1$ty<|MX>jM_iY+>fTQZx5$1FMD2Vbn8sSc5TUiDT{MP zmc<4(7zJa0jq!_XOr1=MyE;)fIPemzRMyQpJ~UEBTeHH*tW z<7qn#wZVp|Rf~|v=@Sb7A2Qdge%M$E6h5kJ{gic%?M(+@tC+-UlKkAk-d?pXz@8EL z=<+!($;1#27R*<+Fl=?+G9q#vLN5Xq1R)(pEe!0V=oy1F0Zd-FGR16)Qsq1bqoBX{ zZoLtI8-{T{N59;k#&&p~g7lm1VjNq4Yim|%D>*bTYMb3o@!;k-byTcaq$*(~$ncVV zJRcQ=OSnya<=SoC3RK`_2zr0EzTQg|0bTZf7=8NOqWHt8oB!-Mttv_ z^Lxk&z6fw7l?~_$WwV(_W(fy$_yE$%o8Db9Ps9#*eNf_M%42Zbae*uMmdhZb{HBe) zKPN-Vv>2!NQ88-I=XYoG3@H8J$$_y{;Git&1YVBBeUfbn4~(U`lDxq0qyof8?{qH$ zwY_6Cjt;?LJ)Jgz=o~;!(wotBiv+mqGHHUv#MtHwQ4#+;RB7?QM-u8D#vu0q{ zTdoWG-9#igZ0g(l>!rehW2?GfvpCu7<0Z@Dt1rs*r$9qG*wU_(%Bo@t3B8>NT6#Q# z3>#oqp)utj=xZo^xd}yNu2aA2eppl340!x~12AA-mSzjeW;G3Um@kdT4zz=o2z-A& z8b;D7Hn$!`qt7KI2on+YUF2YBb|bkFxP@66Q@I-VIA7zU%(xOmBIZwX2t(}vtYklO zZCuG#;HzT=UI2bNUSc0h&y(56Lt7sV)Ivj<;QP}ahgobH%ZL}Gld15vn`PTDQNxnw zvLS6v@4Mek>%Q0(a!uPV2nw0k_Y>~Na;5q!cS&zlCC?(Z5X^^G6{~ zYK2QT$wb1b{UGB&yrw@FD$Fg4*h?0z4DD;4LcjXa)z08BB1>0N%lhrKfXas7X?4u( zbrbZn%zvBP3)nsxJXVunRTadMiMD7MWP&uZGdx78yD*`!!B6KEWYmFR+i2mE{# z%9BEW4!Cw0@Cw`cQnSnMN1Uk~9u>T}o06gr7%w^`*A7wk@X#&SQQ{)NR?HQMlDFa= zvW1;Gh??w=CF7Gi*7m&EJp*EPD#yB}m6FTY8;MU9`tp!=LNVndEMLIbg`|zG%)1i~ z^=P&;5P_c9=I@>bnXX84p0%K%|1AH;!~}6>E{mA>Ec1ic!f#8Bm7?A zep3xprmAHC+c|(DM?H_<^Bu8UT3IG7WDp%a{)AnYmm(RDhHIaIk8)>FG$ER$_l+H0 zs@-m}a`p)N1FDE_(O#88%HU6=I>SIVLV-#LURr+`EFy2L9ugc@Ch??G6Rx3$+M2+9 zG&*I&DOpL2n~glSR#uA$SIPb*m)$~=42f^C=JYg_V_Q*-h)7Yfc)9+uK z^-4!^dslM7jcDoR(OMPSTC#Do#)%|CMJJWpYdbpdvGiK2sU@Hb4u&lGV1_N9J>=L7 zcHI7#P6a_|ETURwxC!-5?+U@YY=Lnxc-0(WTNwH7#?Z=l@fUNz^>1n7wfnzak5cj} z@Cwfv)g|tGzm}e&=(WUAF0axa+P$-;-3ogPHGPm%v9Z3g8zutZ)qm^j=++6g)d3&;!jhL_#S0`*ZsH|Ta*)O z8-^_Lwc_n*FR{drg@+-{Pen;%{em|AyC_3%czxnGi~_d_`kQR){Ca!A(h?IYlLgI6 zzAD$f8WQMK^m;lm!PG4+kU-3>*|P``h~RO8Up|3$tTm|)kT@5b1b$>i-Q>DYv$Ygx z>b~i`a>@>Gr|MELQS~zt81ZQO`7#o1hpAdr{~%Kx_b8e0lzS-4t=S~}{i9E=Vlt8( zI&NPkJ#rEc4B8wVMGT1VgNyJ}C$jC(k_x`*rlfS;OfcI1<*jJ5crAw63-tjlaBGNE zb>*xoI*Tn>4x(jA<3Ts;AyjaZVfI(xXkU?3J!q1xD{Cos>0_OmGu^0KP%wZqN_A(j z(wIt7*DIaQ(|hgpMUqQ39?ldv-+iMrPtqS$p+A4PF3oY8ut787WC*?6^D4cji*J{0 z#Yp2UHVLw#Jbno_Z`F-J9{iXQBw<~ zHhLO<0NU$$Ye6_UJfq7W8f2xDk9eL<-OvO5xPeHqDSo052L2>Xl=OH$4{hon!-MO2 zl@9$gpa7jXzav4b{hrAtP>5DkT_}=je|x{T3v1HX+Lhuz$dJ5X=WETB=@5wzSGiH> zlA7wE3_+MM4K;9W)9K|XeiPkLo|K`amqg3iIx|1FzLb0KtpMB>J(g4KZc|oz0(Q=- z^W|JxEyp98MQwZAbXk zFVJ-BSAdzux#v*h;!%+VNHb(zcPL51zlsn^KvhoM?fWzB!DIOHR(O56KRMXQuf+x} zv6A&ge)Uf>?(^}$9+EG&k!n!73v-wg9xIZHrOI_`w3@ov@i<5#mx#*>tGff7Jb$8u zRMP~F($}PO9EFC}B2FaP6?uGUBE&{+6p$Mb>BTvkabO!$wR2$Q*4wq(vnUf1&J?@f zME3VKH7&GxoDX7ZwP5OaM2b-ha&00fkxXgT-I%bmGhB)-eUe+g9WNDZU@c3aCS(cX zK0+^L&d5RcNcVfMD7fspRX(ypm(O35zTwbjs6#RwQ}>A6xtmv^r4>+A7Ii^QnZS5U zjGnCReP3hz4gVtJ0$xt_X*13gP=@VeLEGPl^}JDt7e5!LYvSV%L_N?1D-bRU?Nd=^ zhE$OW;gzuRMvl5}d8K{jw8h}dcgT*YX_HnXvE5U2$2=V00mf3VOHkyBrx&py`7CJK z{%nFD+3R6kT)m5ix4dIxOp@QCSrkSm;2w{)A5Wp)JpSklfsEe^*<01BD@q%pybnsl zFEf~_p!kU!Z^{dVEaNfI2TM{{Bu?_UUL*L{ZJgLS4cWWAefL*tHC;FIZqu%&o&0FY z_=r_p71H1Z=orS)>R6FGE$dG6G+3#A=grIfQx)=oc9XMbRcfLMuolWF4E|T0sBegN z>`EixDv4tq=M<$nb3pvOQi9JifzxH$*CDvn7zRS|%8fM{%*tT;YULbmiDP1Z1^RaPyMz4M(Yd1ihl$_ zD*gAA(>?E87dFccX~DSIK2ohlD<$OCzmHp6CD|*POg4j8f4(Q$VMZf@+fExo9aJE~ zogSJF)*HUmmN&?;Yn-f{ELPF(#33;o79m~K2?HUq;h3*x&K5ti!nuxEi~CQeR^DdJ zqXB3~yoJcpHK>8kGm06Z$J`|t<`f`xQ0OXsVi053_{B>m3UBs8eEQOZ5XZ|dLOuHR z<)i2I!kqx8S%^IMmmLR5nb)p17XV-sf- zWAa3~KK_r-H8IyJS*#&M%ahq0Kl@XW$`Q=ADUazrO*Bds$ww3K0+`(fk$IBN$#6!! z>178+9hpPVM1E$nwC2~=n~$cXZUQ0hDfg}}+B@VEdMK`dcou#Ct9RX}xSGV`vW06y z_bINmHdbXK@8pqqLi_VR@4Zf}TvIwm#(5e9Okw{gm(zCfU?eHCf$uHOnn&B;oV%{2 zkx9|K72h#1XZm%1X)utC6=8GwJzX^X{uU#D@mgioj}K#~Cx2d^TZxJOs`j2t^>|HpnVc zdsX(6pLPaJCTA{MjWeT)$loSy(ze%(al}0)xIs}%|Hy`#&#lvT%IH8f)a6P@k%6@e z#a(x7=oGbc!0blrN!f28jqE#T2`uv$UG+43Qg1>=xWU;L$Ip)9hHkv->#5`l4VPy6 zO2NJ4goSVxWJ1{DxnSwDus@Sq*sUhoF%`|`?8I(vdX zduHs3V_EVLXOBPJDHhZ2Gh7*N+mzn*bI;?pa28{1J+=7lb(@Ml zUG^Zh!DD5^8${AUDgGjJdb$uehF?()#QG$&hQN)BUT`?ceHtXdGe%u#VTGP|85L*dVhN^HX_$w#=Tx+RbBm>Oxv$r zKI@Q4t-K!SW;nf1CYdXlW@Z-i^01<43L)=)RSMqGT^)>t`vdhOjAggk^xH0l!9%pe zN?jqh?|13=8_SEhBRR*16L~9kZjz@$RXG(_r+!4jXIzJZHt7VSip9&7dULSur@;F) zRv;~tfZWPRV)s1JtY#K(tj|fFG4n&p=XEuUK>8`^=eCoiITj-|OXnqoN&ss?)Qawc z8|ry2G|7Cz{a4Cx0bHM=kRg=~`mhQWRM?s&eMl~l;DiF-#j`=T*R z8{QzpsS#hKSyBh!%+OuH^fOg{CJ{>Xbh&m0<|KFF{uk>u3U<@JR+V-$43hFUlYn(^ znNwvq1D8Lug=<+wWE`s~-vODWu}n~3tIU@wHT%|ghpd_zqaSo}A}wf}uIP?PD{e%T zC}gf_CR*ZSX45Yx7s@(eaJK#13>5$%vDW5**`p36=#Yc!ef^8oM4{~)#O{5cba^l% zE_0U>X*+XR+JTs$=+9c1F@?e4 zZ)w{Rs`~nN5tR4S(OlNX(6w5cDd_vSV^NCvf_gcGlZya0apTILd?#0u)A~CFC1(T5 z6MJi~=hH==sVK}5*{tWuLcKQFzAoI7ahpq_=ifH$Vs(%fR`$5p8P+j;XXx|SV_N_r z`8q8cb)|1dDa%Z_(2mbxwW2xo8UGRqvYC{c7oMBl`@+C6^jlpIC}uMJE$%r@oJvS- zHTzpExA=KWUM($u&aD(MdXPHPpvZ8eg)9+|O}y&#G{fwff@75dM~dt=`%dzFbgtG| zgps#A2mhfbuF=ODue?N>YPSg;RG4|$SvBRWVVShg{p16>#8$E@nvUR)%&V+3AP|%> zmQ!i8o>>|Rbx`6C-5?VqGRP2ge2MOe^NtLeIBzo>Mqo53M{^`?)rZWk(5}}1+A!>B z&&jG5h8sRpTsD!;Xuqe|?bn=sq1ICk0CW0_Q!?bWNRaAL(AZPljyOo7bxwa@?r%eU zmjY1m*(C`Tn8y`cAX$_1>o(551M-y~Bn~7Yv|X;r)ApXu<>S`6RUcs-6fOCEvQUwV z?V<^@)%M%e5yp&yW0(sp?&h>l^i|fc<7xo0Id+}fl(iWVkC)388{jzXBgvW`ubO5` z+W4q$dvPmf)zD95De70`^>~wfCkb7#O5-e+pSX=#r7&Rjx$8T_QMzgH9s^tr(_XTf z!dhu?EW(+?I(SSh1xNc?W7auec!i4Z0b62Ea(?;HU<*vb1ou++mq%8Y!{P*;$PhE8 zHLFXZ_g?dS@8M(~&c-5SVCa2$PrFNet;s|+aHri5gbqvN7Tgb9yRWgkO+Z{1|S(d-c zpgJ-;wAR`GDvr_Ssp<6gHOB)KUJ_!LvzNS9BsiT=pm{z@Nhf915RWS7$cR!!dyw^GaMd7_z;17yvV&5rqj45QysiC{3Z$GMLk!~HO9H8dYA4d{fE z^68idfjGDNs*snCY;#zxiw#K=E!J_wkb!+ViYRd*lHZjEcp=(mifLU~QoLXHKZFBb zbdmEAdK2u?wmyIw!pDafbRT7*H^1 zGN^T+VJD`9GhfKzCW}+RW4pyCeU_8rNw=pcDWXexUUKd!-F!R?I5hlnI62AZzT}tx znEjZm_obja$bN?Z=tnm*0|wex0dFTs`t;LUz~=mz69LfN_O-$STqB>5MQ#m6`{kPW z{h0z|LT|uSb8u0q)C#!nN;*0v{RG|$!S00RJnBZ2FL!?mr&eoEReg~SDqnH{d=bWO zy~R;4^K`AbYRT(trT#}twpqv1ZfrAKCZi5>L(s>&BJ%j{X};%@-Wn03W;q(4%XaY5 z@=fL7a4fF9xzo}Q{HoW@?l1O^QK+QTb~#R^eRPpLTmBl5&4!&`pSt)xPl}uKSWO|S z9BHzwroNWM<9cg|B=Vu>W-uGtcz6?ju+LRTOWQmSx@Iy#HW4<8_-C)_4K*>GuM+t34?_A$}XKqxDz% z4Hhv=8LtEb9il0UrY=^y;``oZwDYHZZLWK|^Mmt=8f^a02bn)wj;#>l%)nTIo$wR- zlR+e36ObwzoRj5p%m}8=a~=rNnB$B@bz0+%Hxa`LzU`8)G}&r6GEEhT6i`=cDDz3# zpDybRi_%B_b4q=?*pw^-uT>fvxGYA3wN~^WB-4s6;9dz#pYyWYf{lO_hkz!~)sJ0h z?#JiW1g>TXXoUT*xN%c~CBO^{EZv;Abx&fZt)UWtP8ZhzFgh`}lztDN%`BXoW|IEj zB%&{?#}zhnMPDa*uNeU~%&zUg57c7O4Z8rDq|LS)Y5VC?byai3Il0FE;beGci7J&F z0Q}kAOf=1764m6Ycpv=Cw2rYqm`K-OS72@rU*yJA3{gi4c)6SFi}>J+s#`w8vZIkO z`topA5l@RWtw^L70$Yy}=g4h7p1BDd)nO1YQRwaj|fy9@}D&P1danBO_>4iK5hl?y;&o)A8sz}dgL_JLX_auk>w&D zblpyyhcw#EQB*quScaZsx0N^v{E?uG_np0D;qvX#!x2we8Mot_joaSgecMIHX;Vuo zt;(TzvR4lvHo!gFZR0Q-WI?Yv_x>$yo(k7mnaYkir5gO|fWxNrl~XR2Fpc5Hy*P(K ztFk!W5(tfcnEop<*&{j|^{Rivf)o`zZ<^-}?tM97#OYbA(pg@kxR&OZ%gsKUYKj`PP}4)Q8d?b|hU z`w79v*cfdk^T+Usf2TcldIJL<#g3k=RvRq!*8y0D2R7>C9XZ!bRI^w^)Ud#Y#4N6KPw1A2LiuNh z5pvD4c%1WLZX$4v#s-`L_qsXF4v!bY) zn96Yn?M9v#d$3&XJFgPQ2qy2a2|L9hkgkV5@}gwl&`;+J<;-)Mk^rxs(_uk4ORgpI zwZ)&ekdnb;_z>mkQyd1(==h6q+JYa=M+8i(xYt>1fHZDv^%_fIICE8aEpEys8dfw@ zDrzElIaVnz4)4Mphctg}_lGs#d)+VUG&27SE$khE!sobMj$ElI1I&CLq=+!eR5phU zCKjh(TIdxGl`JQ*V-2zqk{mESGyEJk&;RIAQUATb& z3#|{FY9KOTc5&jfbMvvVgXX4b-9uX%7XeFDQ1!3aOV1v9#DC-^$^(86l#cgbzUFRV zt#-KO-Tn@_)XMw`rbNDCpinzrK!$x8P%5LU54J`uIqe%J$B>&pE&S@BWVDfXSxVdl z_>V}1#V0-yS=u2sofSYmJue0@V z!Y_X)m2cYweHJ{J>G&SB!G{Lt5zA=z%>?(8Bslqc065aslJxbLW<7%R(Kl7H_{1i< zBFUJ~SX#~?Vrh}ujuQr{fuEk!=fVEJv7bc%AsJ|4`_dosTYmxjz6XGucI%2yLgK-I zgd_H77YPsKRhyvmt56ZPHTKWaPIK4$^Sn1J{=g)k+T(SPqhy@sI-`ab^(*eZoi)yI z#w&};jF~x_El;;EvR#=^NjhG+QIx=CIjEM~jFezd%iGv<(AA=6nSV2;W(BAE9Kt^K z{0NA4j}b@fhc27W=esb9Ht`*)zO-}1n&k~iepa(1gT$u~ptgjB^({mPsZLxV0&I{p zQ#Ep9mE>ZgoSGg>8A|bAZcvZ{F>-@*)1oql-XMpx>0 ze*w6AlkkH~Q&Y0Y@g5R(O#1XLh`@W%5q8~FE)Mg(641Fq}s=I01$lM;&RnIsmAk-;hLpFmckJ$_aGJ>gg2tZXqv5Dar+dG)O=czz=g7VmlODD?c$M52^Q zSO|ySnabr$WeNwp2;r+}2AR)i1ZYBVp5dAMtl_iYT}1S|JS*F?e;U=cJ74;S`j z1)L?EYN=P&Fc6p_t}Hxikcrj_5R=6>S5Y@k9rJnLKxRt}Fs%!AE={bs+WT$ z91~+jJPi<70}J0WWP+)E9lczy_vI#>AVFS$s{(bYM+%8&{vrq*p^sjWh{yKV5JHbs zEDrvwm~pu)`F;?TFpx^XO-y7j4FaXpYMR-4a~X4yRg0`?yJ0X}O50dlHW!WHQSG=K zG0e?>W<92UybKln2?zlxfMA28CJc!GKgVa;>EOKvSwL>(jVYd;%1=9gs2C96*ZKPAAhzXS20RT^P#jsx6knNoJaj^^l;vXgta;!UJD z+jfG}iS7kI8=67#9LS&;E^dyL)ml@W6}^<(+MSw$B4f=Vj&EJ z72cmL{(K5M#2K8T_nDA%JVO+ItkSNY7-#sfh68V-%$Y#kjzY3DJ&iS!Cy(v{Q25M3 z{L+VpLN%n|>!6R8+?!nwa?;f9FIJoOeDFwxqXH@JDWO9ZXi_ShnDCT;NGUeuD zWgj7NFv|nQxs)WtGsqS%>J^l7uxd57$*){LzpK60=BU!c^j)@e29vfk{RN6cH51^7 zb3ge(E#`=nA3$eIkv#s2z{f-;3#k|}#%FeF7qP8G!JBADoseDBJhNbri?%%!#~slX z$F-(<9Fk3~-)|Rlw4n~+>WRUhB|ljNFC(neipSy6Z_RB!Tc5(FzN~%;icn>M>9b+b z41-RJuDX5y`$`F9U`sfv4r2Yf^qve|#$A8VWBh-+F@Ob88OTww3;-@R?q(?uTwYg*xD8btZv) z3@hZdfvG*6Ih<$*nh*w|+AP>bO@Y-*$2%~ASb&@SxzjOrRS zXDG~s)|X0>4`l{gx&v}n(O8lX^Wg+(pvNITz`C>kS_JF;qj#1OrVp$z2M2GOoPq^? zz`Q1h(dkV8=FTMQQ$9u=HqqeBbBqBTht*`==^g0>fJaGhhwYwWj&k42VRW>i62_Q4 z$LWa5ItUvVg=fzGtC+0Y<_ z%_Jw7n%rec7v+^AE*^&!v}3?GQ3buf)jW-|o~*aBka|EK0oj&8ZAjKv2gL8(qG*q4 zbTGI+|2k=wBg}I+7kuG2(624fKJQ-(@1zKPd2q1C)${D~IQ}K*$i^0z6wHObe3%P`;42 zyks>!9QX3|Y8r8uV&s7Z3FLJ7z;_h$kxV=uYr-j5Le3Z4__5*&*oqWvbM59#T9`=Q zYhl9AqSGp$Tr?FPLS0}z5wAUsa7V{@;HkkAyChpry70Wagn_~iKG3@)4z-%7s=djH zI?qQJZgI|6@4BNksX5Q-^;IbEzc~YQ2UAlsoAFhh7tZy06U!CJiNV#7_-Sga zO)y;)AVQ@g&l`bu#@XiXb6i=OO@OQoQDC!Z)DR;3e(F z-a=N@T9k*leCgQxEy+azDO!ezsCW3?p``}HSZ%zH3A9zJH@$wBeWsUBwOZdu z{}{$K*4&3JwD~zVCK0J9r4kHs6DR1+Obr)BYsw@Y&B}yCY3Wu^#>4Tp9n#gT*5}&k zLWPwQ;$A9MExH~ zM(}65gOH_-ZWEQ7c*|6wMWsNP-t#%Kke#LVR`S+C_fyOdQ|#fSVmh^haC&i zujshZrq-`4PCu8@frP!Hruo2RM@TkYMklX1mk?Uk66ymv)MYa&mVC`Yl5?`z-C0Cd z)h2jTk`PP>L!25ulhmlO@JCiJc=thUnp2G$f>O6Mx{{NA!Vr&(?qaQ((awa*SyD<_ z;{-_8)F7#llJ^-4%L$qo^qa~lM4+UOudoh;q5}(J>Lu#?+Y~;3b!7>f<~yRJvqy*o z{iHSSAnOZiLsJIgnT7A9>iLN`E-%SnGX*uTCvaG-VVEw1u9dm_Ks-ffhZuwsp#9h% zvp_@RlXv~0LEH4l4kQ>UJg|eGjD~(fE)q4DjpBNRz`}}aE0U=o^ zPq?$n$O`yiq`Y#-q{16AjblB9V>M9KO^RsG$Bgf&ObK~q zO!SluMHY=9(4u5mnu9>pAiD1p{n-{JZ#j^Qss%x=2c{gze8Ya@)2=nDru(ItoHwM8 zZh~}`^X=R~N&o|7)SW_{(bOs_iUs`s@Ytk)-_wpWkXo9%nB#hjlA0S{v+X>MRKEfOD82;&Q{9elGwOVN(5%sr-qOJ@O z!l1N77P?xG0f?{c3!Ymy z6*{mWs^CB;6vAP^nih3Jq(QP((j{deC#SQLy}#Yg*ganSKBLEC(EPInr!et|#$~2% zG;Xl7EQ?KxkCetEa%DE|@mG_eLP`THho&k5t0F=KB(T_> xq{c~gv^sG>HP{9NpWwp(|BL^x2xR*M%;dL^Mq$;(zn^)4$w?_o)`**g{$F5%@v{H` diff --git a/cmdb-ui/src/pages/images/serviceTask.png b/cmdb-ui/src/pages/images/serviceTask.png deleted file mode 100755 index 97a7c4ebaf8d93bfcc4f4377a470f7357094280f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 930 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qt-49w=9E{-7;ac}QF%)RBn;9h9fzogX1Q~ zoC6#u*)}ldOvrICJHa8@C@Ar8)&A7QD^`URK0lIm|F`G&qbp0U-Tf^2t2I(^7UKa) zhB+h?cUCaQ=uI!OntST<<={viu~f6!mTnS}r{9*{Ui-~K{(OAa z`j~9z!vc#QF{fgN`Sa(e?v1;jSFru|)W;tq?Ck7*)h`sg`C`q}y8ZgI&pz9BF7mUX zQU;g8YOJ2qX5{QR`&ri^1L!_10`PxA8e?$(pOl>c0_HEM01 zx?}e%hN3I{{`+SC|15N{K6cm-WIp|oUn#Mg=|qd9-2cm`C(qw|!Z~uWCWEhj{L#(gKfNLj zGyG%L{hi40pOLx2n89LD5e(9GHoqP|T)4kz{xXI?KYzUR{q*_cOr6Pc{m1`xE&KH6 z&z-kN^R~ZUe`mQ?Lr#s_-MsC8MSW9u#*|eT+Rgv1{e30ZgQA^Ne%9PG*?8;i_uqN^ zpZ@KSTmSd!?~wXQ(rWQKVpk`xzW3pwzVdwLtWfp|zVU0r?((j={`y_Wh4Uw#rJvpW zZT8t^`=gdyHT?Lcb;7g2YVNQ7FLulDwcnmRpMAsEFS%R_`{uDoY8spW{P*wON`oew zxB2<`cW3d*|1kRWr2pfqTt0;&<)1zVbJ+UcOGiGQR{rn38)w1We?)vS#=iKw1 zweBCdch=fWvv*hT?&|8QdY+m{B?U27>mNup!kW^%fCcLid0)e2rNn#BIBOc=h(^L_kv;qOb`UaO2ks<~U zGbmzNrOeY6{V{jS-ygGRhaB^m~o?$ku6^11WY?{w4M?&bF5+U+ac z?us`W$m^P~v;i~+pR1(8ARC2hE#FMb?EKOl6(~fr3ll&glF1l<`Ihtr1JsepoPrG_bQSKktUaKDosCqRfJ}u@s}}0a z(V`n#&(R`bo0Qle=)nv!A&8?MeIwM2a-dE5q&rmL{np4mQiuU86o>4H@VOsLhzREV zTW@a~9rAI2>Ww*HtN-R0$=|JWC&`*(oW^+aekV(?{mtuQ>?>pFo2b8ds1B22b>Aq| zf7RGGUzq0R6Y^WHCpseZH_--- zw6IU6Mot!a?1l)kCV~zf(@wF4Zz{re!m!S`*Wy@Vh+!uAW=&()FTOP1s*#suGQpI} z?QTj;r||pFDUmAE96ZLen2tJp{cY%M+xNq@1cYN%a{ZC-n-XXf)$W&tiD;6=!maOW z_j&3{C@MQElmv8{o5Uz~ep)-)*3wW)jMk@4sP5WB95a-96^M5*MyLl-7Rb;g#H_3a znch;CE_r<@YT)LRK716>i7#m!EbR@lNLht5a`u$2o5w|?4STE77dI#yjit)&xv}Wk zff$+YbEbk0&kcpt1VCbKSg^Lhj^>}O-*?Q6iGfMt19hRWb~?XmB-^|sAl1XU$WPz| z^dZTo-nn`aCCK%A$%gcD!Xf2}uO<8!Kgc8A3Nz3I+#)rmno#Hv+@VolrnTTZ^mQ6iaFQSyKMFBQ zX0(<)Ft@&H^qK1|EGe(h(wM%ZjM=y<`d$@XHGvRa_C3d4D#`jr>N5{H+vlIVKJ%8~ zr!UXbn4f}(d&Ui@Yn*=@R$$lE7;6!_VSLQ*B`@FOx~3zD{aQFq{r)226(jEZm(qj6 zmCoVLh38dQ6F`8{6NatV635Mn>Q>d*DKC~M3p)1;1;Hr z?=_X_Gh%=}?uv0xw@VNi2=zy&{rYw4cpk)#v?V82{Svzl^9!n`9>UpiA-sDsZB2+h zEwxr0_1PO?D6&`(A{1O0fXqVdrVYDLk30r({z0Y$F6)u0L7ffyWkC2Fr3>a!n4TM1 zAt2|+8wY${c=z>#eXydipa%*Z1}rJ5OGw~1GK~oSjVKSY7byhH$bM33DY(SYEiz28 zz%lVIk+S$XDaJZ%OEEtoR8s1AXDM7KLeGFJGUoVOny_gl@>z(h&|uyR4dEAY)k#YW zCY_M4dE0wV4RE$XxA}~Fh*uCVV)cB*DKN4DFCJF?&lMK`m|#kSG%ZxBz8&KfEspsB z4&&pqS08LuBj4X2Gb7j>a8BSf9gwr5F3-t)1iFx`2i!Lq?`WUsUO=aVf*5ueGg31?GwQ{a#kXS)Y`FE(X7yv7X<3|ygtqLw z7VQ2m+k4Li{v49O^v06LcE8!Pbz2A+7+PZ3k~aP}aGcJcNVLQ^OEYhszbG-S#_pr* zm$7M_KlnCx%3zF>q25zwm}PYRDdW?i7JWstj=K)p68BQ!5<}CXx%0$Vt3&$?qyGd3T_; zHM{QeD{b%SH1o7$>b~yn!Nw+;Q>k<7R#e+VTa+GGo7)%C7(_gB{27*=V!~fvjx{#s zw{8p=oNZQq4;X(M6d*L`Vsc(7b2R_y>vZeL?67v?H`q6695iSY=N5;X&6Mpk!8>8C z?@~=u{YKwbf1*>bGjuhh!~UMdhw8y+bLQ{m)WU@3&hpXnq4{p=w&tn(%-WFPlz-am zB1lBYqbDe!4}1#og^7l_g@3`{!byJLK)pBYF?im4zC7p-zYKdB)C@;2szs_z`bi`? zZ$7VMGHf#3u*oo}Cd)8xar}tyM*pVX;nqR>?#CHdrqDRw_&EXt8E-yoKHD@4D@PsY zgfNkgKJelA9F1ogxP{!|XlP*R#i+Bs>Qf-TXU;#Ar% z3p2ZpY+IpBwT!HhT%Ot1O2>F9<0|56ZhvHWlWHQvhqRADG;`{!^oZQ(N*WIfrPD|o zEx)R7v4&jdhhL65`wh-Bzlw3?1X)Gx;p~3~GKgq+&1YAjb-?Pw*h4ci^m6`8?4B)L z<{n2J>d@f($gQPCKUp8)1Gta5KpU6wqQ(n+j zkZo5NgLJ! z!HMySZHdkG(`Ljp95gA(`kBY9-up*`rpl%tch;TnoOyS2CiK{EfAHOOR9+_BFJ6Ac z`OQT0d9t3x>+gy9toVJjpY~Cg$MuHh=OX_(eLLl@nvTcAz3L1)7kU$Hu5QE!vr9~$ zNDt{`Y#YGS&No|;M4=6yak@R@t=BCTO(Xkco}Xsl{sw^`j< z1<#q5w=c-)&eVNvY;rm-cV(N;D!-{(?Z|G^uhrMa(wu4fVb?c;^4?0kapAD{@MbP! zfw|JZUb*Icq_{@@R|X@ermbJMc*pkq{9Yv^3M$Ina>TMs6aP|n)AJbWEAf|)zuYvA zpIT(=WLrO4-j+&q|NP0n}g1Y}2~sUV7}*vwc%_t|wU?qR->Vv2if5(6Yd! z8`r(+N`C#bGDFp#&K}W@zg5rS@xGd}8+BFNBh{h#BKxKD;Bn`c@MZg{+E?cDb^<&G z8k2yWpU3x%wdX6Yd;9lZBk!l)s|z-Ht=#or4*y*(Ssm?GyzksCz1lbUJn$aQe^$`h z>t-{@&|m*3XJzeD_r_;$pf0tT*}e0^Z|*}px5KOJ-@_kVDfaS!7ukJ18GF3Cje|G$ zh5DA*H%s~&xC7Y!8^RmqO|{_?J8UC7x9{6alFX28L{cY=Zj0tB0ZB+y^y9M3|D)g`vqPzQIw|KJj2`lHTRKyi^=e z{1W(%hLC_@g`54#@uS=gCulI5eOERG{qLfIYygtpEhpsjNH@4I&zr5<#A?%M|J`OLgZ`(Bi#0!)mb?;F)ZWPy%E83W#6l*31cgHRoJ`DkRm3Fz zTO9b0pUlF=#etWZ+1=fp$(@bK-pQQ#0}l@mGYcy-D=Q<=gVEX3&c)D!(axFtzXth# z#t}1hHg>XfaIv(vgZ>-W(8%7^g`bS<-;4g|^I!8c^|1WEZ?bd#?_~iCWd8Sr`2!OR z^Z$$ui1Pir%d2GRVQQl#W@&3`=M20N2_WzRP;QZf`|Le(r zOY$-QTfqNX(0^&`KX(Cj2_W$?|Bvbgko=|I!~wfOWGSYo27E*QZ4K}V04|#U{s!6@ z%vHS8mLL%NqqLZ?ng{qO3qA%%9er?DDeB4yTu4|8l^525O&}wqfvbg`^1xt0m{x;` zOhUg&MWBly%t3Q=#b#j`pekZfNMH;I-O!II*_HszH}h!&1uZMbN4Lkf$IE|SWtrTY z*N(jH{q5~eI-4)eSQ(f?AP^`Bl8P}DVAv7^=LZW$uR-i#5yB7x!4kn5;1NkVfMJC| zVPIYm1iB6d^{op9y#)kVkSD?DATT@_4-Otv7X(HRFbqHq03mQA^ssQpuR{<5K*%sI zAXuRuVNlqQKv-O0JOjL37(f&i5JshF0mcLMfrtT72SC^X`r{2S9v<8t2q7RK7=#=Q zgUAGo2TTS2|GQHm&F6KvInsW3zFo7tJ^7QIl_d|H2AB07Ft5)Y3-L#{7==u3;nvnx zmxn7$UgsU;XP~Fc$qG-#PmTp$(a^WJ#YO{B%8{6qB`*8ZYE3rUWlDLFKOUQ3)Jjz- z+wONVN_85o)Cwd}+P1%bDzTW#$DqWY7z{Fu=xKR8SOs|#^L0a0+^?ex*j@$!CobyvRW z=+~)>?a}?}?w1Rv_78PN??^n>!B)#njQn@&!8c>Q-^TOEHGz$7frRsPSA6cy7I-{j z8yOj?ONHOL8tcxUtHd=4dY&Pj-<#9-@wgd$`!i<8R54#N zj^yg7enRDZW8l}G+L#x(4}CJ=bfq<^SUy97&1|gZGcnvON~PC7{`lFoNMoM$)a z0eNjDNKVfh@nr-WN}acicK!HWYrG%L+$H5GtEu7te7!JZ+x$nOdDV-4u0lJhOtV@+ zy-cmP6UV;gFWho;tx}$d=4$eU{a4ee^UXoq>fvB`wCOJ2M;m*Y^Rjo6Wq{R9=81-1 zw0`7BJ?(z=^SYkXEHxgCEwzO1H1@I-N`d>|I$rHfT}?^8FDeO@oztk&U38AzRCkqqK*5+gJe>#_3sxgE)UaY6y*4vvc#p--{IGhEnF1Z=|JDdTY4~cD> zTle`-!kfAuyJgH8nzcsaRx`yY!~XJ~ugq*PSff>X?G}I)HW&>cJ?v!ITb!v!6mIK{$HdIEMe%+{gRH(RP|d3W~LWosxQdg19oc${R&Uowq1{JMKnQSjM>xfF*{ zM{J{K+dTp1bAiN{{6HA^2R+xPgUxGlnM7DlyA_K@`?Xc05Lp9N3&U{N4yw zkr1$_;~l7nFaO-_r;)~L>SM~|vNx&b!iD47%R<3D)-h~$ZYjL>t`#uK`4B`b20#99 z264UqgoE)l#d2vz9Cj(K6mS!TbCi8VK|n%pROXtW!T6>6=09N z`PbR97ftZV;CyN;Bw6+bv!4f^QVZg|JKo4`<11oJ{|onIL!_$n@G*~z^lFWF= zbsCMY9{N99`&U^UsHn?zTb&ST(Zj8x>rX;97QZXzWKaHfa-lywtnNk~U@Oi~s^vr` zavVzJLeS?TFlBrIH1geuPstn!!NG$+nq0?|#5`7oco{~k7G;)fDue~Dx(#w)>Sw=wZA6N1NHPtG6i!O9TsZ|O zp*c)A-pG%)r{BF#J5!yUoMuO5Vt1vUNR}1;6n7y8cN%q0qISqw*|&>VT=TW`1}-=e{=%<(meB8t#& zEl8rXs>(}bPIME4R!so6R;30XyHf%OGErcpiFD8F^IY(cTH^gsTz#ccQ5G-Q{y_OB zq6YEIKNM;9p-9*b%^{*pWzKoPsuyP(&Qdh>Bk7R%QY9gouhU5XP6o$K3rUER%6p?$zgkcbXuXpu{EGRf&6V8K zw~*GUOTT?(auz;q4|81&(%^M%H3uUT69)wLQWJTcs2D@71`7<=lNIe>IxAVrjn?14 zh8y@GI$Sv{7wOBc19=R!KyDE>mnsv|42fqLm3(?hDu$MbnCa}yEs_4$cN@a^H<*$5 zeZc-prlqCPjncOdesnt$>cPflM9@>n^?QD3Vw>4sxOntjX>nw?n9O|=;C%6-K<+zk zUbB0xwYHc@=ZOAIDo&1skKPg#klB-*^evsNmaM+Mz7$A=2plg>dIh%A_&n>p5T}6n zS0l*u@SX+Cd`>74M?&mik7X}##ReC-G=?axj^q9-or40brz`|jhHUf~e(8gbJ7dBW zN+pm*a^kM|MlL6>pJskA4)bb)?oTTV^`JpI+;ivKYmEmVrc9O&5w2r|bv3x`R!Zv1 z>i%lAyV<5Ngb3wAAwa6psJF+{=O%1)W6ohUoBOBTy?q3qI^IonOEowVG0L#4>*413 zP_?`S4weZW?}Jf@%&nN@eWmtZO{m*X=(ya*Y$0vC+i`w6hqaX$DGY=TLamrhq2MhE zI2X4R`}qod-`D5cDkllVknv>4@Wm8u+scG5yfNfNu>xqsylR!<^qN)3gQCw1qe|m= z+$BhnFp_)9v4qsCn3s%G&kD@GAY+>phQS!7>kQ^&4#gHNp zfz{OI(%B<{E>~HNLNdXY5XH!1)g`vzc2`TJb#p=ky9;laV zU@Il@ybm2=8M+YuijmH0*bBR%noOWP6d!|=JM?3k@NJ*-oOUy!Tyen zH9`AP$qt0!aqoR9+^gNZ56DJe8m0Mhm~^G|+FTIR8JFTPz=+ROr0eYBsLzfpxL+&` zSb<(kuDbUZ+xtL976=yaJEw&DAEi57ZVtwMe|dh)K%rwe(E@f@(=+YwJ5wzQcCY7T z8?&c{lZUxHQTWaG0_<#Xm8w`@G0a}cqnu6~MiCv|9st+%CHCYUQeTZ>AKZpPbrr9A zi-X~#QnZgGI1q}UR;Ct-O2W6dbd^Xc%U7iAQaNc4-rQwh`Qg6mIq2&3Q?~+0XhQ!w zP7Weqd7QNFsOeO)K zbIHB=5dlwB2uoBLP>bO}P88S56kCbvfcfhFg9d6q0JbGd2l9eo06W;J-G1Rfe!MwWJtq9t z=4m`jQ@|F8K53VovA1PXVfeermT<0Ab3JGDyQbaHYgY1GV33i*LTgDRs>_^d{x5_OV#%p z#zilIg?*x8aoUnfLA{JwI4w@9n$YU&p*>Ppf=3}pW`|V+K}w-4W@C6MsLs3tYV0{` zS+4*!^7@KEjOGT=A@l!ekmIbkHDBf)2Xk@|_C*rYm7=gd*kPBtDCc{N;SM*F$)JQY zQKgN&qry(FN^<#78ljLN6B9dhtW>(!lB~iDN2@pW=%4*;U!S$OTXB7Ied1p2-nqu% zymM54TR-nLZ(e!%=d^vbF{t01O8|(N>Z_9YY!hhS{K{Zh!y7 z++I?2bO^ab%p^e{oB4RdKj9juZ5hTAey^(fYw(H{=V3P6 zrlzYa=jrJw(_PhZAwx$)qqOt`1lvnB*=+y$pBqh?W76;Vw$x->-tcy&2Y4YZZQfF& zHNAGG_epDiGqKD^ya1u!u>TNwz1c4njmJ67&&r!WzofVs5@^x?GoS*%Z_sJ8Tg^sv zy*yYK5hDvhZ6E+JE)b8#p)Cipit_o?+`3#4N(DBYr7;k1EeB(Xw>g_7z7WV{IKAx& zhsIMvPzX5-0UM&1O=bRpgiS|t+{<30gO|>3DdLn?BmYv)Xt!Z+(cO(`ZrOQDG$i{m4?TDdb1bJusEa#oDgY`eq}5zDH-C$(ReG`?e}bP zu{A7X(czQM)PBVJpLsGsfG!1`wo5eS?GFd#jZ`!#Z{FA%{DGN$7w)1NEB}p!loD4z zNazGnE{j*)8YQ@r-n~+9okFktt^0aUVC#FtGZ3r_LJSd)iY%VZvr7Ggh7k}ZX4_n? zx5cO5;OYv!#bNj_g_BKIe&R|O@NKK(U1gBU;&oM73bi$8WO=$-ws!%5KV2G;^Vo+5 z+hxxGo>^U&8KAq717LPy)LAZx(@Zun<)Oj`nNB0L4UU@{ZXKjYpjiiRN%Q)aW4a#IUbN)c+C=tI6EJuLZ2ai=E!?jLW(N;xc%!YJgc< z04GAmEEo;Rv5r2O&iDY z7jIGJwNrY?0whC96AK881^GuY0yLApc8JZl#4oDKQVCdae;W57{u}*~{hvM+Oro8A z$cJ@VV3NAr($I<(ix7#*WI>p99_I<)f-0#e!T?l;b^&YOE;Rl_;N|#7#lxdnRYm?3 zfSb&4u%8hD|lBEs`2IXTsp^F;F0LuJZ1 z2p*xKp-Y?9ia7!aUoiyMB!B}=8JVbdgWk!8Df2${1OG z5Bp2`bc!@v(r+*k_Au`@qM1vy>&@DBD6o=QaWUq$LRb)BW;Dx?+C*fmz)$_n~qAC%$2P-}zQUH;KMd+VG!;?36_U3VvKVmp3F7pC7G-)) zamN}L^fS`=FRHWJQ{rV?vOc;e!dfO&R`KrF^r6a%rNlmkBq$gg7EnMX$(k%@!u$Z1 zw5Sqqs4|$y(*I(Z+Ims)$B?uk`dM}7O?tIO2kRO%js=ZpE1u?x&}WPcEO?2u@$;XF zd+271r}i@QUM%o!v-g}b4#;!;QB$zIqd|p*LnYd?)(@PBbij;Gaz-A`-Z1Xti*4L3 z|9942Ox&Jg@dN*XQv&)y67Pz^WhT?G&N$o#?!`q5wME#i$e^pv zoSglc@2PqQ{eq7Ac!mByWAHc2`%E3qh{XHbaZU~~*S{fl4GwnRu9koDp*YUW^4an~ z37!TlT56_P{^K71-211YD5mZwrxbjFIF>*l;!}=$-2up^@e^sFCIu*Zl$Ns>O3a+` z-9=Me=DTKv)`wchu;$4&J~*RgPVH;Di~@kZsQR_ukEJNb*O{2Kpr=ra0k_{jSFTBo zTK-pB`dA>veAa0jeVegi>C2adzyE3rQS?>0iHVq>EA?v(z>X$VpFPPeiG~TGFyGC` zzWsglOGG2R_86@ct{k$$0>?gVJF+vcZ5ja4pOb^UysO{nqL%#!A{Nyh$-9b&?9uwk zBK+0|uAKM##C~^wyB>3z_uHc=Y}<`!kwuL9BQUz)!z22fC-_rwC{`PC0{AQw1+E^Q zflA8nwUz+>m`WA|$=HW2@A#oy0)8)-o<9K_b@J-~13FYvz1c>&DkB8I?hB+0Y*Anzk0CW*bjMM z&vi~6|C+H{Jp!@l>Q@NM(;%g)<2qJMCjbMf`Sm(7*dR|@Q`VEY!V>wDrK;5S0F%yh z`6n!j6q&XYdYj}&U7UD>c?>^{3IR$g7C)bd;QKvZUmmN8QHJwy(Zf{EOi!Tq6DPOs zKw8Ehd#_n0_JofEUficiNPfEcH2o4rXooPWes~zjQn;UQ*cWEX*HWfYd2oJ@V<|K6 zX^{fjPR^#?ko+zb3auaVn|ak`tu86YAyGWK@$EkP~J#U=3PaN0)-o1wz;3$ z&1(8|NhzIhtD=VFWma7|*EwEfP+z+PBpM&jA%ylLEWnC?o1*(UE6_Wq_s|8rc(?9V zZ}scpIijY-niQi>!80!UVe6i(*D`>kp{$0($YFyOUJ6{om@O+R%0nU5ELn%t= z>R@j4Q@z=jxb#h1y4U_Rrq7CniV?t)EMA;>Yf9AtaL|Df!9LMI?PwtB(X8;5 z`s{r0J)xkbRHw?`WFAa5`aO{@I$TbV$}dxmOtcb2Iq2Oa;pzVOoEwTG-<5x*96rR5 zX`pb@;}ONZUaDk9j@TQI-~8MPgv3L~h#DdIdWOWrJ|~K+&co80nn^--i+IgWuWKQE z;Eb()YIQ0)ysMiRKoAwO$nk%<@7WTuT}(uA=Z{C5L|m5_uY>59oHR zsnA;7_%T2=V|T>K-hgpri#7xD*kb1uxq2(sq$kSo0gz9aV9RO*BPYbA1 zV#ey>F#tH^P9xBRRXJr~&pC1lV4|cp?(ihGp_gC?dKe4?#2g_aTF>x6QZScIdsZb8@MB@U-9$vHy=QB-e*@hP9b zp|}yL2h%{wHC(KQ~^A|z%jbV_IH>e1e?MHxMO14&*uLtGd6t3ZuI$ zsz1Wda-d#=bC&o)KcaMjS`wp|r+XalgEfv;*7bVAhyvCmJ~y$tXi&(Hsu!A>483+Y zN;@_&C_u4&)8bMpt_^)ZL@t3EFVYbnXu_HR)2y>csVjpSz(OG{cGO%!tyO0ty)m^5 zfXb4Rk_fkx6-#mYSndr30RLfUIsU|tj1<+*8y;<~JVQ~~1CH08V^qi-;BBxpF^SeG zY9Ab)AFlsX{s!i)@g(>+1giv~l>4a#5_B777_{~dG8GOh_2y{9QIgVikUD^VQY(^4=}!W;LQ0ei;Qp0gxxLhl zt_vfAenVTOLA~o{-TCTJ12I4`A!upBJ@OEAIIc(RN(h)7Xp#F2Aw%qdCAKV9TVNyL z0kg*YD{6-BkOU~{m!EjKP)`KVLU_*_9FPH6husam&KrmX(2}@|$A?{^02w;ef1aX4 zXCVU_vh;?JLD#9k2*DZ8Q5t~(7(fd{zyuD=g(!r#a-`XS1RDb!+L$v^HiVY{e@t!t b6|_M)(Bfuz8VvmK1tcx5AXX(}5cGclRFum_ diff --git a/cmdb-ui/src/pages/util/admin.js b/cmdb-ui/src/pages/util/admin.js deleted file mode 100755 index ab150e627..000000000 --- a/cmdb-ui/src/pages/util/admin.js +++ /dev/null @@ -1,235 +0,0 @@ -const getCiTypeEnabledAction = (name, actions) => { - if (!actions) { - return false - } else { - if (actions.enabledActions) { - return !!actions.enabledActions.find(_ => _ === name) - } - } -} - -const getCiTypeAttribute = (ciTypeAttributeId, attributePermissions) => { - if (!attributePermissions) { - return [] - } else { - const ciTypeAttribute = attributePermissions.find(_ => _.ciTypeAttributeId === ciTypeAttributeId) - return ciTypeAttribute ? ciTypeAttribute.enabledOptions : [] - } -} - -export const formatDataPermissionTree = ( - checkable, - data, - setPermissionAction, - setCITypeAttrsAttr, - selectedPermission = [] -) => { - const tagsDefaultStyle = { border: '#515a61 1px dashed' } - const tagsDefaultProps = { - checkable: checkable || false, - color: 'success' - } - return data.ciPermissionEntryPoints.map(_ => { - const ciType = selectedPermission.find(c => _.ciTypeId === c.ciTypeId) - return { - title: _.ciTypeName, - id: _.ciTypeId, - expand: true, - render: (h, { root, node, data }) => { - return h( - 'div', - { - style: { - display: 'inline-block', - width: '100%' - } - }, - [ - h('span', data.title), - h( - 'div', - { - style: { - display: 'inline-block', - float: 'right', - marginRight: '32px' - } - }, - [ - h( - 'Tag', - { - props: { - name: 'CREATE', - ...tagsDefaultProps, - checked: getCiTypeEnabledAction('CREATE', ciType) - }, - style: tagsDefaultStyle, - on: { - 'on-change': (checked, name) => { - setPermissionAction(checked, name, data.id) - } - } - }, - this.$t('permission_management_data_creation') - ), - h( - 'Tag', - { - props: { - name: 'REMOVE', - ...tagsDefaultProps, - checked: getCiTypeEnabledAction('REMOVE', ciType) - }, - style: tagsDefaultStyle, - on: { - 'on-change': (checked, name) => { - setPermissionAction(checked, name, data.id) - } - } - }, - this.$t('permission_management_data_removal') - ), - h( - 'Tag', - { - props: { - name: 'MODIFY', - ...tagsDefaultProps, - checked: getCiTypeEnabledAction('MODIFY', ciType) - }, - style: tagsDefaultStyle, - on: { - 'on-change': (checked, name) => { - setPermissionAction(checked, name, data.id) - } - } - }, - this.$t('permission_management_data_modification') - ), - h( - 'Tag', - { - props: { - name: 'QUERY', - ...tagsDefaultProps, - checked: getCiTypeEnabledAction('QUERY', ciType) - }, - style: tagsDefaultStyle, - on: { - 'on-change': (checked, name) => { - setPermissionAction(checked, name, data.id) - } - } - }, - this.$t('permission_management_data_enquiry') - ), - h( - 'Tag', - { - props: { - name: 'PERFORM', - ...tagsDefaultProps, - checked: getCiTypeEnabledAction('PERFORM', ciType) - }, - style: tagsDefaultStyle, - on: { - 'on-change': (checked, name) => { - setPermissionAction(checked, name, data.id) - } - } - }, - this.$t('permission_management_data_execution') - ), - h( - 'Tag', - { - props: { - name: 'GRANT', - ...tagsDefaultProps, - checked: getCiTypeEnabledAction('GRANT', ciType) - }, - style: tagsDefaultStyle, - on: { - 'on-change': (checked, name) => { - setPermissionAction(checked, name, data.id) - } - } - }, - this.$t('permission_management_data_empower') - ) - ] - ) - ] - ) - }, - children: _.attributeAuthenticationEntryPoints - ? _.attributeAuthenticationEntryPoints.map(j => { - return { - title: j.ciTypeAttributeName, - id: j.ciTypeAttributeId, - expand: true, - render: (h, { root, node, data }) => { - return h( - 'div', - { - style: { - display: 'inline-block', - width: '100%' - } - }, - [ - h('span', data.title), - h( - 'div', - { - style: { - display: 'inline-block', - float: 'right', - marginRight: '35px', - maxWidth: '200px' - } - }, - [ - h( - 'Select', - { - props: { - disabled: !checkable, - multiple: true, - size: 'small', - value: ciType ? getCiTypeAttribute(data.id, ciType.attributePermissions) : [] - }, - style: { - overflow: 'hidden' - }, - on: { - 'on-change': value => { - setCITypeAttrsAttr(value, j.ciTypeAttributeId) - } - } - }, - j.options.map(o => { - return h( - 'Option', - { - props: { - key: o.key, - value: o.key - } - }, - o.value - ) - }) - ) - ] - ) - ] - ) - } - } - }) - : [] - } - }) -} From 8bbb27923397f0b7393e5dc89c2281c4f891db18 Mon Sep 17 00:00:00 2001 From: homiexie <624128114@qq.com> Date: Thu, 16 Jan 2020 11:20:47 +0800 Subject: [PATCH 169/172] #646 removed unused code --- cmdb-ui/src/api/server.js | 102 ++++++-------------------- cmdb-ui/src/pages/components/table.js | 6 +- cmdb-ui/src/router.js | 8 +- 3 files changed, 31 insertions(+), 85 deletions(-) diff --git a/cmdb-ui/src/api/server.js b/cmdb-ui/src/api/server.js index 794c17f11..8c8b809e2 100755 --- a/cmdb-ui/src/api/server.js +++ b/cmdb-ui/src/api/server.js @@ -9,14 +9,11 @@ if (window.request) { put: (url, ...params) => pluginErrorMessage(window.request.put(baseURL + url, ...params)) } } - export const getMyMenus = () => req.get('/my-menus') - // admin export const getAllUsers = () => req.get('/admin/users') export const getAllRoles = () => req.get('/admin/roles') export const getAllMenus = () => req.get('/admin/menus') -export const getAllPermissionEntryPoints = () => req.get('/admin/permission-entry-points') export const getRolesByUser = username => req.get(`/admin/users/${username}/roles`) export const getUsersByRole = roleName => req.get(`/admin/roles/${roleName}/users`) export const getPermissionsByRole = roleName => req.get(`/admin/roles/${roleName}/permissions`) @@ -26,15 +23,12 @@ export const addUser = data => req.post(`/admin/users/create`, data) export const addUsersToRole = (users, roleName) => req.post(`/admin/roles/${roleName}/users`, users) export const romoveUsersFromRole = (users, roleName) => req.delete(`/admin/roles/${roleName}/users`, { data: users }) export const addMenusToRole = (menuCodes, roleName) => req.post(`/admin/roles/${roleName}/menu-permissions`, menuCodes) -export const removeMenusFromRole = (menuCodes, roleName) => req.delete(`/admin/roles/${roleName}/menu-permissions`, {data: menuCodes}) +export const removeMenusFromRole = (menuCodes, roleName) => + req.delete(`/admin/roles/${roleName}/menu-permissions`, { data: menuCodes }) export const addDataPermissionAction = (roleName, ciTypeId, actionCode) => - req.post( - `/admin/roles/${roleName}/citypes/${ciTypeId}/actions/${actionCode}` - ) + req.post(`/admin/roles/${roleName}/citypes/${ciTypeId}/actions/${actionCode}`) export const removeDataPermissionAction = (roleName, ciTypeId, actionCode) => - req.delete( - `/admin/roles/${roleName}/citypes/${ciTypeId}/actions/${actionCode}` - ) + req.delete(`/admin/roles/${roleName}/citypes/${ciTypeId}/actions/${actionCode}`) export const getRoleCiTypeCtrlAttributesByRoleCiTypeId = roleCitypeId => req.get(`/admin/role-citypes/${roleCitypeId}/ctrl-attributes`) export const createRoleCiTypeCtrlAttributes = (roleCitypeId, data) => @@ -45,43 +39,35 @@ export const deleteRoleCiTypeCtrlAttributes = (roleCitypeId, data) => req.post(`/admin/role-citypes/${roleCitypeId}/ctrl-attributes/delete`, data) export const editPassword = data => req.post('/admin/users/password/change', data) export const resetPassword = data => req.post('/admin/users/password/reset', data) - // enum export const getEnumCodesByCategoryId = (catTypeId, catId) => req.get(`/enum/category-types/${catTypeId}/categories/${catId}/codes`) - export const getEnumCategoriesByTypeId = catTypeId => req.get(`/enum/category-types/${catTypeId}/categories`) - // CI -export const updateCIRecord = (ciTypeId, data) => req.put(`/ci-types/${ciTypeId}/ci-data/${data.guid}`, data) export const getRefCiTypeFrom = id => req.get(`/ci-types/${id}/references/by`) export const getRefCiTypeTo = id => req.get(`/ci-types/${id}/references/to`) export const getCiTypeAttr = id => req.get(`/ci-types/${id}/attributes`) export const getSpecialConnector = () => req.get('/static-data/special-connector') - // CI design - export const implementCiType = (id, op) => req.post(`/ci-types/${id}/implement?operation=${op}`) -export const implementCiAttr = (ciTypeId, ciAttrId, op) => req.post(`/ci-types/${ciTypeId}/attributes/${ciAttrId}/implement?operation=${op}`) +export const implementCiAttr = (ciTypeId, ciAttrId, op) => + req.post(`/ci-types/${ciTypeId}/attributes/${ciAttrId}/implement?operation=${op}`) export const getAllCITypes = () => req.get('/ci-types') export const getAllEnumCategoryTypes = () => req.get('/enum/category-types') export const getAllEnumCategories = () => req.get('/enum/category-types/categories') export const createEnumCategory = data => req.post(`/enum/category-types/${data.catTypeId}/categories/create`, data) -export const updateEnumCategory = data => req.put(`/enum/category-types/${data.catTypeId}/categories/${data.catId}`, data) +export const updateEnumCategory = data => + req.put(`/enum/category-types/${data.catTypeId}/categories/${data.catId}`, data) export const getAllCITypesByLayerWithAttr = data => { const status = data.toString() - return req.get( - `/ci-types?group-by=layer&with-attributes=yes&status=${status}` - ) + return req.get(`/ci-types?group-by=layer&with-attributes=yes&status=${status}`) } export const getAllLayers = () => req.get('/ci-type-layers') export const createLayer = data => req.post('/ci-type-layers/create', data) export const deleteLayer = id => req.delete(`/ci-type-layers/${id}`) export const updateLayer = data => req.post(`/enum/codes/update`, data) export const swapLayerPosition = (layerId, targetLayerId) => - req.post( - `/ci-type-layers/${layerId}/swap-position?target-layer-id=${targetLayerId}` - ) + req.post(`/ci-type-layers/${layerId}/swap-position?target-layer-id=${targetLayerId}`) export const deleteCITypeByID = id => req.delete(`/ci-types/${id}`) export const deleteAttr = (ciTypeId, attrId) => req.delete(`/ci-types/${ciTypeId}/attributes/${attrId}`) export const applyCiTypes = id => req.post(`/ci-types/${id}/apply`) @@ -90,18 +76,12 @@ export const createNewCIType = data => req.post(`/ci-types/create`, data) export const createNewCIAttr = (id, data) => req.post(`/ci-types/${id}/attributes/create`, data) export const updateCIAttr = (attrId, ciTypeId, data) => req.put(`/ci-types/${ciTypeId}/attributes/${attrId}`, data) export const applyCIAttr = (ciTypeId, attrIds) => req.post(`/ci-types/${ciTypeId}/ci-type-attributes/apply`, attrIds) - export const swapCiTypeAttributePosition = (ciTypeId, attrId, targetAttrId) => { - return req.post( - `/ci-types/${ciTypeId}/attributes/${attrId}/swap-position?target-attribute-id=${targetAttrId}` - ) + return req.post(`/ci-types/${ciTypeId}/attributes/${attrId}/swap-position?target-attribute-id=${targetAttrId}`) } export const getAllInputTypes = () => req.get('/static-data/available-ci-type-attribute-input-types') export const getEnumByCIType = id => - req.get( - `/enum/category-types/categories/query-by-multiple-types?ci-type-id=${id}&types=common-private` - ) -export const getCiTypes = data => req.get(`/ci-types?${data.key}=${data.value}`) + req.get(`/enum/category-types/categories/query-by-multiple-types?ci-type-id=${id}&types=common-private`) export const getAllIdcDesignData = () => req.get(`/ci-data/all-idc-design`) export const getIdcDesignTreeByGuid = data => req.post(`/data-tree/query-idc-design-tree`, data) export const getAllZoneLinkDesignGroupByIdcDesign = () => req.get(`/all-zone-link-design`) @@ -110,92 +90,59 @@ export const getIdcImplementTreeByGuid = data => req.post(`/data-tree/query-idc- export const getPlanningDesignTabs = () => req.get('/planning-designs/tabs') export const getResourcePlanningTabs = () => req.get('/resource-planning/tabs') export const getPlanningDesignsCiData = data => - req.post( - `/planning-designs/ci-data?code-id=${data.id}&idcs-guid=${data.idcGuid}`, - data.queryObject - ) + req.post(`/planning-designs/ci-data?code-id=${data.id}&idcs-guid=${data.idcGuid}`, data.queryObject) export const getResourcePlanningCiData = data => - req.post( - `/resource-planning/ci-data?code-id=${data.id}&idcs-guid=${data.idcGuid}`, - data.queryObject - ) + req.post(`/resource-planning/ci-data?code-id=${data.id}&idcs-guid=${data.idcGuid}`, data.queryObject) export const getAllZoneLinkGroupByIdc = () => req.get(`/all-zone-link`) export const getSystemDesigns = () => req.get('/system-designs') export const getSystems = () => req.get('/system') export const getAllDesignTreeFromSystemDesign = id => - req.get( - `/trees/all-design-trees/from-system-design?system-design-guid=${id}` - ) + req.get(`/trees/all-design-trees/from-system-design?system-design-guid=${id}`) export const saveAllDesignTreeFromSystemDesign = id => - req.post( - `/trees/all-design-trees/from-system-design/save?system-design-guid=${id}` - ) + req.post(`/trees/all-design-trees/from-system-design/save?system-design-guid=${id}`) export const getArchitectureDesignTabs = () => req.get('/architecture-designs/tabs') export const getArchitectureCiDatas = (tabId, sysId, payload) => - req.post( - `/architecture-designs/tabs/ci-data?code-id=${tabId}&system-design-guid=${sysId}`, - payload - ) -export const getApplicationFrameworkDesignDataTree = guid => req.get(`/data-tree/application-framework-design?system-design-guid=${guid}`) + req.post(`/architecture-designs/tabs/ci-data?code-id=${tabId}&system-design-guid=${sysId}`, payload) +export const getApplicationFrameworkDesignDataTree = guid => + req.get(`/data-tree/application-framework-design?system-design-guid=${guid}`) export const getDeployCiData = (data, payload) => - req.post( - `/deploy-designs/tabs/ci-data?code-id=${data.codeId}&system-guid=${data.systemGuid}`, - payload - ) + req.post(`/deploy-designs/tabs/ci-data?code-id=${data.codeId}&system-guid=${data.systemGuid}`, payload) export const getDeployDesignTabs = () => req.get(`/deploy-designs/tabs`) -export const previewDeployGraph = data => req.post(`/process/definitions/preview`, data) export const getAllDeployTreesFromSystemCi = guid => req.get(`/trees/all-deploy-trees/from-system?system-guid=${guid}`) export const startProcessInstancesWithCiDataInbatch = data => req.post(`/process/inbatch/instances`, data) export const getApplicationDeploymentDataTree = guid => req.get(`/data-tree/application-deployment?system-guid=${guid}`) -export const queryEnumCategories = data => req.post(`/enum/categories/query`, data) -export const queryEnumCodes = (catTypeId, catId, data) => - req.post( - `/enum/category-types/${catTypeId}/categories/${catId}/codes/query`, - data - ) export const getTableStatus = () => req.get('/static-data/available-ci-type-table-status') - // basic data page export const getAllSystemEnumCodes = data => req.post(`/enum/system/codes`, data) export const getSystemCategories = () => req.get(`/enum/system-categories`) - export const getAllNonSystemEnumCodes = data => req.post(`/enum/non-system/codes`, data) export const getNonSystemCategories = () => req.get(`/enum/non-system-categories`) - export const getEffectiveStatus = () => req.get(`/static-data/effective-status`) export const createEnumCode = data => { - return req.post( - `/enum/category-types/0/categories/${data.catId}/codes/create`, - data - ) + return req.post(`/enum/category-types/0/categories/${data.catId}/codes/create`, data) } export const updateEnumCode = data => req.post(`/enum/codes/update`, data) export const getGroupListByCodeId = id => req.get(`/enum/categories/${id}/group-list`) export const deleteEnumCodes = data => req.post(`/enum/codes/delete`, data) export const queryCiData = data => req.post(`/ci-types/${data.id}/ci-data/query`, data.queryObject) export const queryCiDataByType = data => { - return req.post( - `/ci-types/${data.id}/ci-data/query-by-type`, - data.queryObject - ) + return req.post(`/ci-types/${data.id}/ci-data/query-by-type`, data.queryObject) } export const getCiTypeAttributes = id => req.get(`/ci-types/${id}/attributes`) export const deleteCiDatas = data => req.post(`/ci-types/${data.id}/ci-data/batch-delete`, data.deleteData) export const createCiDatas = data => req.post(`/ci-types/${data.id}/ci-data/batch-create`, data.createData) export const updateCiDatas = data => req.post(`/ci-types/${data.id}/ci-data/batch-update`, data.updateData) - export const operateCiState = (ciTypeId, guid, op) => { const payload = [{ ciTypeId, guid }] return req.post(`/ci/state/operate?operation=${op}`, payload) } - // ci integrate query export const getQueryNames = id => req.get(`/intQuery/ciType/${id}/search`) export const queryIntHeader = id => req.get(`/intQuery/${id}/header`) export const excuteIntQuery = (id, data) => req.post(`/intQuery/${id}/execute`, data) - export const fetchIntQueryById = (ciTypeId, queryId) => req.get(`/intQuery/ciType/${ciTypeId}/${queryId}`) -export const saveIntQuery = (ciTypeId, queryName, data) => req.post(`/intQuery/ciType/${ciTypeId}/${queryName}/save`, data) +export const saveIntQuery = (ciTypeId, queryName, data) => + req.post(`/intQuery/ciType/${ciTypeId}/${queryName}/save`, data) export const updateIntQuery = (queryId, data) => req.post(`/intQuery/${queryId}/update`, data) export const deleteIntQuery = (ciTypeId, queryId) => req.post(`/intQuery/ciType/${ciTypeId}/${queryId}/delete`) // filterRules @@ -204,6 +151,5 @@ export const queryReferenceCiData = data => req.post(`/referenceCiData/${data.at // log export const queryLogHeader = () => req.get('/log/queryHeader') export const queryLog = data => req.post('/log/query', data) - // wecube api export const getWecubeRoles = () => window.request.get('platform/v1/roles/retrieve') diff --git a/cmdb-ui/src/pages/components/table.js b/cmdb-ui/src/pages/components/table.js index 93532e5b3..afe93c97f 100755 --- a/cmdb-ui/src/pages/components/table.js +++ b/cmdb-ui/src/pages/components/table.js @@ -90,9 +90,9 @@ export default { // } // }) // }) - this.$nextTick(() => { - this.setCheckoutStatus(disable) - }) + // this.$nextTick(() => { + this.setCheckoutStatus(disable) + // }) }, setCheckoutStatus (disable) { let objData = this.$refs.table.$refs.tbody.objData diff --git a/cmdb-ui/src/router.js b/cmdb-ui/src/router.js index fdf0e583c..f9d97e374 100755 --- a/cmdb-ui/src/router.js +++ b/cmdb-ui/src/router.js @@ -11,28 +11,28 @@ export default new Router({ component: () => import('@/pages/index'), children: [ { - path: 'homepage', + path: '/homepage', name: 'homepage', component: () => import('@/pages/home-page'), params: {}, props: true }, { - path: '404', + path: '/404', name: '404', component: () => import('@/pages/404'), params: {}, props: true }, { - path: 'coming-soon', + path: '/coming-soon', name: 'comingsoon', component: () => import('@/pages/coming-soon'), params: {}, props: true }, { - path: 'setting/change-password', + path: '/setting/change-password', name: 'changePassword', component: () => import('@/pages/change-password') }, From 9be600ed844848a2a9488e3a1916857604b5c868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=A3=AE=E5=B3=B0?= <729346129@qq.com> Date: Thu, 16 Jan 2020 11:30:49 +0800 Subject: [PATCH 170/172] :art: :fire: #646 delete useless core --- cmdb-ui/src/pages/components/auto-fill.js | 50 +++++++++---------- cmdb-ui/src/pages/components/auto-fill.scss | 2 +- .../src/pages/designing/physical-graph.vue | 6 +-- 3 files changed, 26 insertions(+), 32 deletions(-) diff --git a/cmdb-ui/src/pages/components/auto-fill.js b/cmdb-ui/src/pages/components/auto-fill.js index bf58cac92..9f185deea 100644 --- a/cmdb-ui/src/pages/components/auto-fill.js +++ b/cmdb-ui/src/pages/components/auto-fill.js @@ -167,7 +167,7 @@ export default { type, value: JSON.stringify([{ ciTypeId: this.rootCiTypeId }]) }) - this.optionsDisplay = false + this.showRuleOptions(this.autoFillArray.length - 1 + '', '0') break case 'delimiter': this.autoFillArray.push({ @@ -300,7 +300,7 @@ export default { const isRef = _.inputType === 'ref' || _.inputType === 'multiRef' const ciTypeName = isRef ? this.ciTypesObj[_.referenceId].name : this.ciTypesObj[_.ciTypeId].name const attrName = this.ciTypeAttrsObj[_.ciTypeAttrId].name - const nodeName = isRef ? `->(${ciTypeName})${attrName}` : `->${attrName}` + const nodeName = isRef ? `->(${ciTypeName})${attrName}` : `.${attrName}` const nodeObj = { ciTypeId: isRef ? _.referenceId : _.ciTypeId, parentRs: { @@ -499,7 +499,8 @@ export default { ) }) } else { - const ref = _.parentRs.isReferedFromParent === 1 ? '->' : '<-' + const inputType = this.ciTypeAttrsObj[_.parentRs.attrId].inputType + const ref = _.parentRs.isReferedFromParent === 1 ? (inputType === 'ref' || inputType === 'multiRef') ? '->' : '.' : '<-' const attrName = this.ciTypeAttrsObj[_.parentRs.attrId].name const enumCode = _.enumCodeAttr ? `.${_.enumCodeAttr}` : '' if (this.ciTypeAttrsObj[_.parentRs.attrId].inputType === 'ref' || this.ciTypeAttrsObj[_.parentRs.attrId].inputType === 'multiRef') { @@ -557,8 +558,7 @@ export default { // type === delimiter 时,连接符 let result = null if (this.activeDelimiterIndex === i + '') { - this.activeDelimiterValue = val - result = this.confirmDelimiter(i)} on-on-enter={() => this.$refs.delimiterInput.blur()} onInput={v => this.onDelimiterInput(v)} value={val} /> + result = this.confirmDelimiter(i)} on-on-enter={() => this.$refs.delimiterInput.blur()} onInput={v => this.onDelimiterInput(v, i)} value={val} /> } else { result = [ , @@ -589,11 +589,10 @@ export default { }, // 连接符输入框失焦或按回车时,需要更新 this.autoFillArray confirmDelimiter (i) { - if (this.activeDelimiterValue === '') { + if (this.autoFillArray[i].value === '') { // 如果输入框没有值,则在 this.autoFillArray 中删掉该项 this.autoFillArray.splice(i, 1) } else { - this.autoFillArray[i].value = this.activeDelimiterValue // 将相邻两项 type === delimiter 合并为一项 if (this.autoFillArray[i + 1] && this.autoFillArray[i + 1].type === 'delimiter') { this.autoFillArray[i].value += this.autoFillArray[i + 1].value @@ -605,11 +604,10 @@ export default { } } this.activeDelimiterIndex = '' - this.activeDelimiterValue = '' this.handleInput() }, - onDelimiterInput (v) { - this.activeDelimiterValue = v + onDelimiterInput (v, i) { + this.autoFillArray[i].value = v }, renderAddRule () { return [, !this.autoFillArray.length && {this.$t('auto_fill_filter_placeholder')}] @@ -715,29 +713,27 @@ export default { this.filterIndex = [] }, handleInput () { - this.$nextTick(() => { - const value = this.autoFillArray.length ? JSON.stringify(this.autoFillArray) : '' - let isLegal = true - this.autoFillArray.forEach(_ => { - if (_.type === 'rule') { - const ruleArray = JSON.parse(_.value) - const lastNode = ruleArray[ruleArray.length - 1] - const lastAttrId = ruleArray[ruleArray.length - 1].parentRs ? ruleArray[ruleArray.length - 1].parentRs.attrId : 0 - if (lastNode.parentRs) { - if (this.ciTypeAttrsObj[lastAttrId].inputType === 'ref' || this.ciTypeAttrsObj[lastAttrId].inputType === 'multiRef') { + const value = this.autoFillArray.length ? JSON.stringify(this.autoFillArray) : '' + let isLegal = true + this.autoFillArray.forEach(_ => { + if (_.type === 'rule') { + const ruleArray = JSON.parse(_.value) + const lastNode = ruleArray[ruleArray.length - 1] + const lastAttrId = ruleArray[ruleArray.length - 1].parentRs ? ruleArray[ruleArray.length - 1].parentRs.attrId : 0 + if (lastNode.parentRs) { + if (this.ciTypeAttrsObj[lastAttrId].inputType === 'ref' || this.ciTypeAttrsObj[lastAttrId].inputType === 'multiRef') { + isLegal = false + } else if (this.ciTypeAttrsObj[lastAttrId].inputType === 'select' || this.ciTypeAttrsObj[lastAttrId].inputType === 'multiSelect') { + if (!lastNode.enumCodeAttr) { isLegal = false - } else if (this.ciTypeAttrsObj[lastAttrId].inputType === 'select' || this.ciTypeAttrsObj[lastAttrId].inputType === 'multiSelect') { - if (!lastNode.enumCodeAttr) { - isLegal = false - } } } } - }) - if (isLegal) { - this.$emit('input', value) } }) + if (isLegal) { + this.$emit('input', value) + } } }, mounted () { diff --git a/cmdb-ui/src/pages/components/auto-fill.scss b/cmdb-ui/src/pages/components/auto-fill.scss index 2c0bca039..49b96f1d3 100644 --- a/cmdb-ui/src/pages/components/auto-fill.scss +++ b/cmdb-ui/src/pages/components/auto-fill.scss @@ -3,7 +3,7 @@ word-break: break-all; &-span { - border-bottom: 1px solid #fff; + border-bottom: 1px solid transparent; &:hover { cursor: pointer; diff --git a/cmdb-ui/src/pages/designing/physical-graph.vue b/cmdb-ui/src/pages/designing/physical-graph.vue index 5ffd7e7a0..c451cf0f2 100755 --- a/cmdb-ui/src/pages/designing/physical-graph.vue +++ b/cmdb-ui/src/pages/designing/physical-graph.vue @@ -235,10 +235,8 @@ export default { } }, mounted () { - this.$nextTick(() => { - this.initEvent() - this.callback() - }) + this.initEvent() + this.callback() } } From 7e13d8e6e0b246ce458a8a6c9070d8a3b6a9ef65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=A3=AE=E5=B3=B0?= <729346129@qq.com> Date: Thu, 16 Jan 2020 11:38:39 +0800 Subject: [PATCH 171/172] :art: :fire: #646 delete useless core --- cmdb-ui/src/pages/components/auto-fill.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cmdb-ui/src/pages/components/auto-fill.js b/cmdb-ui/src/pages/components/auto-fill.js index 9f185deea..772b99803 100644 --- a/cmdb-ui/src/pages/components/auto-fill.js +++ b/cmdb-ui/src/pages/components/auto-fill.js @@ -719,11 +719,12 @@ export default { if (_.type === 'rule') { const ruleArray = JSON.parse(_.value) const lastNode = ruleArray[ruleArray.length - 1] - const lastAttrId = ruleArray[ruleArray.length - 1].parentRs ? ruleArray[ruleArray.length - 1].parentRs.attrId : 0 + const lastAttrId = lastNode.parentRs ? lastNode.parentRs.attrId : 0 + const inputType = this.ciTypeAttrsObj[lastAttrId].inputType if (lastNode.parentRs) { - if (this.ciTypeAttrsObj[lastAttrId].inputType === 'ref' || this.ciTypeAttrsObj[lastAttrId].inputType === 'multiRef') { + if (inputType === 'ref' || inputType === 'multiRef') { isLegal = false - } else if (this.ciTypeAttrsObj[lastAttrId].inputType === 'select' || this.ciTypeAttrsObj[lastAttrId].inputType === 'multiSelect') { + } else if (inputType === 'select' || inputType === 'multiSelect') { if (!lastNode.enumCodeAttr) { isLegal = false } From 3e0466a2f929733ae869f8ac2ceb59ee61e0f789 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=A3=AE=E5=B3=B0?= <729346129@qq.com> Date: Thu, 16 Jan 2020 11:40:55 +0800 Subject: [PATCH 172/172] :art: :fire: #646 delete useless core --- cmdb-ui/src/pages/change-password.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cmdb-ui/src/pages/change-password.vue b/cmdb-ui/src/pages/change-password.vue index 0d0c7fc67..3358ed7c4 100644 --- a/cmdb-ui/src/pages/change-password.vue +++ b/cmdb-ui/src/pages/change-password.vue @@ -72,9 +72,7 @@ export default { this.$refs[name].resetFields() }, focusOnInput () { - this.$nextTick(() => { - this.$refs['oldPassword'].focus() - }) + this.$refs['oldPassword'].focus() } }, mounted () {