From 191c1a301e7e766c3ff7190f4ae668bd28fc499c Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Tue, 8 Sep 2020 11:28:22 +0800 Subject: [PATCH 01/37] add chain governance api of node mgr --- docs/WeBASE-Node-Manager/interface.md | 874 ++++++++++++++++++++++++++ 1 file changed, 874 insertions(+) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index 6f56f679..519e114a 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -5354,6 +5354,9 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/method/findById/2/methodIasdfdttttt ## 13 系统管理模块 +系统管理中的权限管理接口 +- 使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.x),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) +- 使用低于FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1版本,则使用接口13.1至13.4接口 ### 13.1 查看权限管理 @@ -6256,6 +6259,877 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/crud } ``` + + +### 13.14 获取链治理委员列表 + + +使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.x),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) + +委员的权限包括治理投票、增删节点、冻结解冻合约、冻结解冻账号、修改链配置和增删运维账号。 + +增加委员需要链治理委员会投票,有效票大于阈值才可以生效,且不重复计票 +- 委员默认的投票权重为1,默认投票生效阈值50%,若有两个委员,则需要两个委员都投票增加/撤销的委员权限,`有效票/总票数=2/2=1>0.5`才满足条件。 +- 投票有过期时间,根据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。 + + +#### 13.14.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/committee/list** +* 请求方式:GET +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.14.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | pageSize | int | 否 | +| 3 | pageNumber | int | 否 | + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/committee/list?groupId=1&pageSize=5&pageNumber=1 +``` + +#### 13.14.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | | 返回码,0:成功 其它:失败 | +| 2 | message | String | | 描述 +| 3 | data | List数组 | | 直接返回数组 +| 4 | totalCount | int | | 总数目 + + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": [ + { + "address": "0x009fb217b6d7f010f12e7876d31a738389fecd51", + "enable_num": "84" + } + ], + "totalCount": 1 +} +``` + + +### 13.15 增加链治理委员 + +增加委员需要链治理委员会投票,有效票大于阈值才可以生效,且不重复计票 +- 委员默认的投票权重为1,默认投票生效阈值50%,若有两个委员,则需要两个委员都投票增加/撤销的委员权限,`有效票/总票数=2/2=1>0.5`才满足条件。 +- 投票有过期时间,根据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。 + +#### 13.15.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/committee** +* 请求方式:POST +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.15.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | fromAddress | String | 否 | 链治理委员地址 | +| 3 | address | String | 否 | 新的链治理委员地址 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/committee +``` + +``` +{ + "groupId": 1, + "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + + +#### 13.15.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + +* 失败: +``` +{ + "code": -50000, + "message": "permission denied" +} +``` + + +### 13.16 去除管理权限接口 + +增加委员需要链治理委员会投票,有效票大于阈值才可以生效,且不重复计票 +- 委员默认的投票权重为1,默认投票生效阈值50%,若有两个委员,则需要两个委员都投票增加/撤销的委员权限,`有效票/总票数=2/2=1>0.5`才满足条件。 +- 投票有过期时间,根据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。 + +#### 13.16.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/committee** +* 请求方式:DELETE +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.16.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | fromAddress | String | 否 | 链治理委员地址 | +| 3 | address | String | 否 | 新的链治理委员地址 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/committee +``` + +``` +{ + "groupId": 1, + "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + + +#### 13.16.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + +* 失败: +``` +{ + "code": -50000, + "message": "permission denied" +} +``` + + +### 13.17 获取链治理委员投票权重 + +委员默认的投票权重为1 + +#### 13.17.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/committee/weight** +* 请求方式:GET +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.17.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | address | String | 否 | + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/committee/weight?groupId=1&address=0x009fb217b6d7f010f12e7876d31a738389fecd51 +``` + +#### 13.17.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | | 返回码,0:成功 其它:失败 | +| 2 | message | String | | 描述 +| 3 | data | Object | | 权重值 + + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": [ + + ], + "totalCount": 1 +} +``` + +### 13.18 更新链治理委员投票权重值 + +委员默认的投票权重为1 + +#### 13.18.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/committee/weight** +* 请求方式:PUT +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.18.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | fromAddress | String | 否 | 链治理委员地址 | +| 3 | address | String | 否 | 新的链治理委员地址 +| 4 | weight | int | 否 | 投票权重值 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/committee/weight +``` + +``` +{ + "groupId": 1, + "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e", + "weight": 2 +} +``` + + +#### 13.18.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + +* 失败: +``` +{ + "code": -50000, + "message": "permission denied" +} +``` + + +### 13.19 获取链治理投票阈值 + +默认投票阈值为50,即超过(不包括)50%的票数权重即可通过 + +#### 13.19.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/threshold** +* 请求方式:GET +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.19.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/threshold?groupId=1 +``` + +#### 13.19.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | | 返回码,0:成功 其它:失败 | +| 2 | message | String | | 描述 +| 3 | data | Object | | 权重值 + + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": 50, + "totalCount": 1 +} +``` + +### 13.19 更新链治理投票阈值 + +委员默认的投票权重为1 + +#### 13.19.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/threshold** +* 请求方式:PUT +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.19.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | fromAddress | String | 否 | 链治理委员地址 | +| 3 | threshold | int | 否 | 投票阈值 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/threshold +``` + +``` +{ + "groupId": 1, + "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", + "threshold": 60 +} +``` + + +#### 13.19.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + +* 失败: +``` +{ + "code": -50000, + "message": "permission denied" +} +``` + + +### 13.20 查看运维列表 + +由链治理委员添加运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 + +#### 13.20.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/operator/list** +* 请求方式:GET +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.20.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | pageSize | int | 否 | +| 3 | pageNumber | int | 否 | + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/operator/list?groupId=1&pageSize=5&pageNumber=1 +``` + +#### 13.20.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | | 返回码,0:成功 其它:失败 | +| 2 | message | String | | 描述 +| 3 | data | List数组 | | 直接返回数组 +| 4 | totalCount | int | | 总数目 + + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": [ + { + "address": "0x009fb217b6d7f010f12e7876d31a738389fecd51", + "enable_num": "84" + } + ], + "totalCount": 1 +} +``` + + +### 13.21 增加运维接口 + +由链治理委员添加运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 + +#### 13.21.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/operator** +* 请求方式:POST +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.21.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 3 | fromAddress | String | 否 | 链治理委员地址 | +| 4 | address | String | 否 | 运维地址 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/operator +``` + +``` +{ + "groupId": 1, + "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + + +#### 13.21.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + +* 失败: +``` +{ + "code": -50000, + "message": "permission denied" +} +``` + + +### 13.22 去除运维接口 + +由链治理委员添加运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 + +#### 13.22.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/operator** +* 请求方式:DELETE +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.22.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 3 | fromAddress | String | 否 | 链治理委员地址 | +| 4 | address | String | 否 | 运维地址 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/operator +``` + +``` +{ + "groupId": 1, + "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + + +#### 13.22.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + +* 失败: +``` +{ + "code": -50000, + "message": "permission denied" +} +``` + + + +### 13.23 查看外部账户冻结状态 + + +获取单个外部账户(地址)的冻结状态,默认为非冻结 + +#### 13.23.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/account/status** +* 请求方式:GET +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.23.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | address | String | 否 | 外部账户地址 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/account/status?groupId=1&address=0x009fb217b6d7f010f12e7876d31a738389fecd51 +``` + +#### 13.23.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | | 返回码,0:成功 其它:失败 | +| 2 | message | String | | 描述 +| 3 | data | Object | | 账户状态 + + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": [ + + ], +} +``` + +### 13.24 批量查看外部账户冻结状态 + +传入多个外部账户地址的List,查看该地址的账户状态 + +#### 13.24.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/account/status/list** +* 请求方式:POST +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.24.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | addressList | List | 否 | 多个地址的列表,如["0x009fb217b6d7f010f12e7876d31a738389fecd51", "0x6b9fb217b6d7f010f12e7876d31a738389feef62"] + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/account/status/list +``` + + +``` +{ + "groupId": 1, + "addressList": ["0x009fb217b6d7f010f12e7876d31a738389fecd51", "0x6b9fb217b6d7f010f12e7876d31a738389feef62"] +} +``` + +#### 13.24.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | | 返回码,0:成功 其它:失败 | +| 2 | message | String | | 描述 +| 3 | data | Map | | 直接返回Map, 如:["0x009fb217b6d7f010f12e7876d31a738389fecd51": 0, "0x6b9fb217b6d7f010f12e7876d31a738389feef62": 1] + + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": [ + { + "address": "0x009fb217b6d7f010f12e7876d31a738389fecd51", + "enable_num": "84" + } + ], + "totalCount": 1 +} +``` + + + + +### 13.25 冻结外部账户地址接口 + +未开启权限时采用白名单机制,任何用户都可以冻结外部账户地址。启用权限后(设置第一个链治理委员),由链治理委员进行账户冻结/解冻操作 + +#### 13.25.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/account** +* 请求方式:POST +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.25.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 3 | fromAddress | String | 否 | 链治理委员地址 | +| 4 | address | String | 否 | 待冻结的外部账户地址 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/account +``` + +``` +{ + "groupId": 1, + "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + + +#### 13.25.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + +* 失败: +``` +{ + "code": -50000, + "message": "permission denied" +} +``` + + +### 13.26 取消冻结外部账户接口 + +未开启权限时采用白名单机制,任何用户都可以冻结外部账户地址。启用权限后(设置第一个链治理委员),由链治理委员进行账户冻结/解冻操作 + +#### 13.26.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/account** +* 请求方式:DELETE +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.26.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 3 | fromAddress | String | 否 | 链治理委员地址 | +| 4 | address | String | 否 | 待取消冻结的外部账户地址 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/governance/account +``` + +``` +{ + "groupId": 1, + "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + + +#### 13.26.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + +* 失败: +``` +{ + "code": -50000, + "message": "permission denied" +} +``` + ## 14 证书管理模块 ### 14.1 获取证书列表接口 From 25b3047a451bcf460134097a27bf7a79bce2bfb8 Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Tue, 8 Sep 2020 14:46:12 +0800 Subject: [PATCH 02/37] add contract status api --- docs/WeBASE-Node-Manager/interface.md | 81 ++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 8 deletions(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index 519e114a..02fac8f0 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -5355,7 +5355,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/method/findById/2/methodIasdfdttttt ## 13 系统管理模块 系统管理中的权限管理接口 -- 使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.x),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) +- 使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.26),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) - 使用低于FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1版本,则使用接口13.1至13.4接口 ### 13.1 查看权限管理 @@ -6264,7 +6264,7 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/crud ### 13.14 获取链治理委员列表 -使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.x),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) +使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.26),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) 委员的权限包括治理投票、增删节点、冻结解冻合约、冻结解冻账号、修改链配置和增删运维账号。 @@ -6394,7 +6394,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/committee ``` -### 13.16 去除管理权限接口 +### 13.16 去除链管理委员接口 增加委员需要链治理委员会投票,有效票大于阈值才可以生效,且不重复计票 - 委员默认的投票权重为1,默认投票生效阈值50%,若有两个委员,则需要两个委员都投票增加/撤销的委员权限,`有效票/总票数=2/2=1>0.5`才满足条件。 @@ -6415,7 +6415,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/committee |------|-------------|---------------|--------|-------------------------------| | 1 | groupId | int | 否 | 群组id | 2 | fromAddress | String | 否 | 链治理委员地址 | -| 3 | address | String | 否 | 新的链治理委员地址 +| 3 | address | String | 否 | 待取消的链治理委员地址 ***2)入参示例*** @@ -6754,7 +6754,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/operator/list?groupId=1&pag ### 13.21 增加运维接口 -由链治理委员添加运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 +由链治理委员添加/去除运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 #### 13.21.1 传输协议规范 * 网络传输协议:使用HTTP协议 @@ -6819,7 +6819,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/operator ### 13.22 去除运维接口 -由链治理委员添加运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 +由链治理委员添加/去除运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 #### 13.22.1 传输协议规范 * 网络传输协议:使用HTTP协议 @@ -6999,8 +6999,6 @@ http://localhost:5001/WeBASE-Node-Manager/governance/account/status/list ``` - - ### 13.25 冻结外部账户地址接口 未开启权限时采用白名单机制,任何用户都可以冻结外部账户地址。启用权限后(设置第一个链治理委员),由链治理委员进行账户冻结/解冻操作 @@ -7130,6 +7128,73 @@ http://localhost:5001/WeBASE-Node-Manager/governance/account } ``` +### 13.27 合约状态管理 + +由**合约部署者**(一般由运维所部属)与链治理委员共同管理合约的状态,包含冻结/解冻合约、查询合约状态功能 + +#### 13.27.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/contract/status** +* 请求方式: POST +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.27.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | fromAddress | String | 否 | 合约管理者地址 | +| 3 | contractAddress | String | 否 | 已部署的合约地址 | +| 4 | handleType | String | 否 | 操作类型:freeze-冻结;unfreeze-解冻;getStatus-查询合约状态; | + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/precompiled/contract/status +``` + +``` +{ + "groupId": 1, + "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", + "contractAddress": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e", + "handleType": "freeze" +} +``` + + +#### 13.27.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + +* 失败: +``` +{ + "code": -50000, + "message": "permission denied" +} +``` + + ## 14 证书管理模块 ### 14.1 获取证书列表接口 From 41cf46f2ffaea3aea2cc91a9737bb62dedfa6024 Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Tue, 8 Sep 2020 14:46:27 +0800 Subject: [PATCH 03/37] add chain governance in front --- docs/WeBASE-Front/interface.md | 442 ++++++++++++++++++++++++++++++++- 1 file changed, 441 insertions(+), 1 deletion(-) diff --git a/docs/WeBASE-Front/interface.md b/docs/WeBASE-Front/interface.md index af2f7b6f..1c4fa578 100644 --- a/docs/WeBASE-Front/interface.md +++ b/docs/WeBASE-Front/interface.md @@ -3139,6 +3139,9 @@ b、正确发送数据上链返回值信息(交易收据) ## 6. 系统管理接口 +使用FISCO BCOS v2.5.0 与 WeBASE-Front v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口6.13](#governance)),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) + + ### 6.1. 查询权限接口 #### 6.1.1 查询权限接口 @@ -3957,7 +3960,7 @@ b、失败: #### 接口URL -**http://localhost:5002/WeBASE-Front/precompiled/contractStatusManage** +**http://localhost:5002/WeBASE-Front/precompiled/contract/status** #### 调用方法 @@ -3999,6 +4002,443 @@ HTTP POST } ``` + +### 6.13. 基于角色的权限管理 + + +使用FISCO BCOS v2.5.0 与 WeBASE-Front v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(本章节[接口6.13](#governance)),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) + +包含链治理委员管理、链运维管理等功能 + +### 6.13.1. 查看链治理委员列表 + +#### 接口描述 + +委员的权限包括治理投票、增删节点、冻结解冻合约、冻结解冻账号、修改链配置和增删运维账号。 + +增加委员需要链治理委员会投票,有效票大于阈值才可以生效,且不重复计票 +- 委员默认的投票权重为1,默认投票生效阈值50%,若有两个委员,则需要两个委员都投票增加/撤销的委员权限,`有效票/总票数=2/2=1>0.5`才满足条件。 +- 投票有过期时间,根据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。‘ + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/committee/list** + +#### 调用方法 + +HTTP GET + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | + +***2)入参示例*** + +``` +http://localhost:5002/WeBASE-Front/governance/committee/list?groupId=1 +``` + +#### 响应参数 + +**1)数据格式** + +``` +[ + +] +``` + + +### 6.13.2. 增加链治理委员 + +#### 接口描述 + +委员的权限包括治理投票、增删节点、冻结解冻合约、冻结解冻账号、修改链配置和增删运维账号。 + +增加委员需要链治理委员会投票,有效票大于阈值才可以生效,且不重复计票 +- 委员默认的投票权重为1,默认投票生效阈值50%,若有两个委员,则需要两个委员都投票增加/撤销的委员权限,`有效票/总票数=2/2=1>0.5`才满足条件。 +- 投票有过期时间,根据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。‘ + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/committee** + +#### 调用方法 + +HTTP POST + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | +| 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | +| 3 | address | String | 否 | 新的链治理委员地址 + +***2)入参示例*** + +``` +{ + "groupId": 1, + "signUserId": "user1001", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + +#### 响应参数 + +**1)数据格式** + +``` + +``` + + +### 6.13.3. 取消链治理委员 + +#### 接口描述 + +委员的权限包括治理投票、增删节点、冻结解冻合约、冻结解冻账号、修改链配置和增删运维账号。 + +增加委员需要链治理委员会投票,有效票大于阈值才可以生效,且不重复计票 +- 委员默认的投票权重为1,默认投票生效阈值50%,若有两个委员,则需要两个委员都投票增加/撤销的委员权限,`有效票/总票数=2/2=1>0.5`才满足条件。 +- 投票有过期时间,根据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。‘ + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/committee** + +#### 调用方法 + +HTTP DELETE + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | +| 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | +| 3 | address | String | 否 | 待取消的链治理委员地址 + +***2)入参示例*** + +``` +{ + "groupId": 1, + "signUserId": "user1001", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + +#### 响应参数 + +**1)数据格式** + +``` + +``` + + +### 6.13.4. 查看链治理委员投票权重 + +#### 接口描述 + +委员默认的投票权重为1 + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/committee/weight** + +#### 调用方法 + +HTTP GET + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | +| 2 | address | String | 否 | 链治理委员地址 + +***2)入参示例*** + +``` +http://localhost:5002/WeBASE-Front/governance/committee/weight?groupId=1&address=0x009fb217b6d7f010f12e7876d31a738389fecd51 +``` + +#### 响应参数 + +**1)数据格式** + +``` +{ + +} +``` + + +### 6.13.5. 更新链治理委员投票权重 + +#### 接口描述 + +委员默认的投票权重为1 + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/committee/weight** + +#### 调用方法 + +HTTP PUT + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | +| 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | +| 3 | address | String | 否 | 新的链治理委员地址 + +***2)入参示例*** + +``` +{ + "groupId": 1, + "signUserId": "user1001", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e", + "weight": 2 +} +``` + +#### 响应参数 + +**1)数据格式** + +``` + +``` + + + +### 6.13.6. 查看链治理委员投票权重 + +#### 接口描述 + +委员默认的投票权重为1 + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/threshold** + +#### 调用方法 + +HTTP GET + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | + +***2)入参示例*** + +``` +http://localhost:5002/WeBASE-Front/governance/threshold?groupId=1 +``` + +#### 响应参数 + +**1)数据格式** + +``` + +``` + + +### 6.13.7. 更新链治理委员投票权重 + +#### 接口描述 + +委员默认的投票权重为1 + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/threshold** + +#### 调用方法 + +HTTP PUT + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | +| 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | +| 3 | address | String | 否 | 新的链治理委员地址 + +***2)入参示例*** + +``` +{ + "groupId": 1, + "signUserId": "user1001", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e", + "threshold": 60 +} +``` + +#### 响应参数 + +**1)数据格式** + +``` + +``` + + +### 6.13.1. 查看运维列表 + +#### 接口描述 + +由链治理委员添加运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/operator/list** + +#### 调用方法 + +HTTP GET + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | + +***2)入参示例*** + +``` +http://localhost:5002/WeBASE-Front/governance/operator/list?groupId=1 +``` + +#### 响应参数 + +**1)数据格式** + +``` +[ + +] +``` + + +### 6.13.2. 增加运维接口 + +#### 接口描述 + +由链治理委员添加运维账号,运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/operator** + +#### 调用方法 + +HTTP POST + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | +| 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | +| 3 | address | String | 否 | 新的链治理委员地址 + +***2)入参示例*** + +``` +{ + "groupId": 1, + "signUserId": "user1001", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + +#### 响应参数 + +**1)数据格式** + +``` + +``` + + +### 6.13.3. 取消运维接口 + +#### 接口描述 + +由链治理委员添加/取消运维账号;运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 +据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。‘ + +#### 接口URL + +**http://localhost:5002/WeBASE-Front/governance/operator** + +#### 调用方法 + +HTTP DELETE + +#### 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | groupId | Int | 否 | 群组编号 | +| 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | +| 3 | address | String | 否 | 待取消的链治理委员地址 + +***2)入参示例*** + +``` +{ + "groupId": 1, + "signUserId": "user1001", + "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" +} +``` + +#### 响应参数 + +**1)数据格式** + +``` + +``` + + ## 7. 链上事件订阅接口 ### 7.1. 获取出块事件的订阅信息列表 From 8da62112f926ec73bb6a797e1487e7350a85b054 Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Tue, 8 Sep 2020 21:13:36 +0800 Subject: [PATCH 04/37] update contract status manage desc --- docs/WeBASE-Front/interface.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/WeBASE-Front/interface.md b/docs/WeBASE-Front/interface.md index 1c4fa578..70a56f65 100644 --- a/docs/WeBASE-Front/interface.md +++ b/docs/WeBASE-Front/interface.md @@ -3960,7 +3960,7 @@ b、失败: #### 接口URL -**http://localhost:5002/WeBASE-Front/precompiled/contract/status** +**http://localhost:5002/WeBASE-Front/precompiled/contractStatusManage** #### 调用方法 @@ -3973,7 +3973,7 @@ HTTP POST | 序号 | 输入参数 | 类型 | 可为空 | 备注 | | ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | | 1 | groupId | Int | 否 | 群组编号 | -| 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | +| 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号,当`handleType`为`getStatus`或`listManager`时,可不传 | | 3 | contractAddress | String | 否 | 已部署的合约地址 | | 4 | handleType | String | 否 | 操作类型:freeze-冻结;unfreeze-解冻;grantManager-授权;getStatus-查询合约状态;listManager-查询合约权限列表 | | 5 | grantAddress | String | 是 | 授权用户地址,操作类型为grantManager时需传入 | From cc0efccb80b9be2ccafa473dadc105660896a8b3 Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Tue, 8 Sep 2020 21:13:56 +0800 Subject: [PATCH 05/37] add status/vote record api & batch query contractStatus --- docs/WeBASE-Node-Manager/interface.md | 299 +++++++++++++++++++++++++- 1 file changed, 298 insertions(+), 1 deletion(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index 02fac8f0..244751a8 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -2064,6 +2064,122 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 +### 5.11 获取合约状态修改记录列表 + +当冻结合约或解冻合约时会产生一条记录,此接口返回某群组下的修改记录列表 + +#### 5.11.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/status/record/list** +* 请求方式:GET +* 返回格式:JSON + +#### 5.11.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组编号 | +| 2 | pageNumber | int | 否 | 页码,从1开始 | +| 3 | pageSize | int | 否 | 页大小 | + + +***2)入参示例*** + +``` +http://127.0.0.1:5001/WeBASE-Node-Manager/status/record/list?groupId=1&pageNumber=1&pageSize=10 +``` + + +#### 5.11.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | | Object | | 返回信息实体 | +| 3.1 | id | int | 否 | 合约记录编号 | +| 3.2 | groupId | Int | 否 | 所属群组编号 | +| 3.3 | contractAddress | String | 否 | 合约地址 | +| 3.4 | modifyAddress | String | 否 | 合约管理员用户地址 | +| 3.5 | status | Int | 否 | 合约修改状态,0-正常(未冻结),1-已冻结 | +| 3.6 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.7 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 4 | totalCount | Int | | 总数 | + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": [ + { + "id": 1, + "groupId": 1, + "modifyAddress": "0x2ac4227e87bccca63893317febadd0b51ad33e1", + "contractAddress": "0x3214227e87bccca63893317febadd0b51ade735e", + "status": 0, + "createTime": "2020-05-18 10:59:02", + "modifyTime": "2020-05-18 10:59:02" + } + ], + "totalCount": 1 +} +``` + + +### 5.12 删除合约状态修改记录 + +删除合约状态修改记录 + +#### 5.12.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/status/record/{statusId}** +* 请求方式:DELETE +* 返回格式:JSON + +#### 5.12.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | statusId | int | 否 | 合约状态记录编号 | + + +***2)入参示例*** + +``` +http://127.0.0.1:5001/WeBASE-Node-Manager/status/record/{statusId} +``` + + +#### 5.12.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + + + ## 6 服务器监控相关 ### 6.1 获取节点监控信息 @@ -5355,7 +5471,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/method/findById/2/methodIasdfdttttt ## 13 系统管理模块 系统管理中的权限管理接口 -- 使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.26),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) +- 使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.28),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) - 使用低于FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1版本,则使用接口13.1至13.4接口 ### 13.1 查看权限管理 @@ -7195,6 +7311,187 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/contract/status ``` +### 13.28 批量查看合约冻结状态 + +传入多个合约地址的List,查看该合约地址的冻结状态 + +#### 13.28.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/precompiled/contract/status/list** +* 请求方式:POST +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 13.28.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组id +| 2 | addressList | List | 否 | 多个合约地址的列表 + + +***2)入参示例*** + +``` +http://localhost:5001/WeBASE-Node-Manager/precompiled/contract/status/list +``` + +``` +{ + "groupId": 1, + "addressList": ["0x009fb217b6d7f010f12e7876d31a738389fecd51", "0x6b9fb217b6d7f010f12e7876d31a738389feef62"] +} +``` + +#### 13.28.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | | 返回码,0:成功 其它:失败 | +| 2 | message | String | | 描述 +| 3 | data | Map | | 直接返回Map, 0-正常,1-冻结 如:["0x009fb217b6d7f010f12e7876d31a738389fecd51": 0, "0x6b9fb217b6d7f010f12e7876d31a738389feef62": 1] + + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": [ + "0x009fb217b6d7f010f12e7876d31a738389fecd51": 0, + "0x6b9fb217b6d7f010f12e7876d31a738389feef62": 1 + ], + "totalCount": 1 +} +``` + + + +### 13.29 获取链委员会投票记录列表 + +当链委员会发起一笔交易时会产生一条投票记录,此接口返回某群组下的修改记录列表 + +#### 13.29.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/vote/record/list** +* 请求方式:GET +* 返回格式:JSON + +#### 13.29.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组编号 | +| 2 | pageNumber | int | 否 | 页码,从1开始 | +| 3 | pageSize | int | 否 | 页大小 | + + +***2)入参示例*** + +``` +http://127.0.0.1:5001/WeBASE-Node-Manager/vote/record/list?groupId=1&pageNumber=1&pageSize=10 +``` + + +#### 13.29.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | | Object | | 返回信息实体 | +| 3.1 | id | int | 否 | 合约记录编号 | +| 3.2 | groupId | Int | 否 | 所属群组编号 | +| 3.3 | timeLimit | Long | 否 | 投票块高限制范围 | +| 3.4 | fromAddress | String | 否 | 链委员的地址 | +| 3.5 | type | Int | 否 | 投票类型,1-增加委员,2-去除委员,3-更新委员权重,4-更新阈值 | +| 3.6 | toAddress | String | 否 | 被修改的外部账户地址,当类型为1,2,3时为非空 | +| 3.7 | detail | String | 否 | 投票内容详情,当类型为3,4时为非空;3-`{weight: 2}`,4-`{threshold: 2}` | +| 3.8 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.9 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 4 | totalCount | Int | | 总数 | + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": [ + { + "id": 1, + "groupId": 1, + "timeLimit": 200, + "fromAddress": "0x2ac4227e87bccca63893317febadd0b51ad33e1", + "type": 3, + "toAddress": "0x3214227e87bccca63893317febadd0b51ade735e", + "detail": "{weight: 2}", + "createTime": "2020-09-18 10:59:02", + "modifyTime": "2020-09-18 10:59:02" + } + ], + "totalCount": 1 +} +``` + + +### 13.30 删除链委员会投票记录 + +删除投票记录 + +#### 13.30.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/vote/record/{voteId}** +* 请求方式:DELETE +* 返回格式:JSON + +#### 13.30.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | voteId | int | 否 | 投票记录编号 | + + +***2)入参示例*** + +``` +http://127.0.0.1:5001/WeBASE-Node-Manager/vote/record/{voteId} +``` + + +#### 13.30.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success" +} +``` + + ## 14 证书管理模块 ### 14.1 获取证书列表接口 From f2c89124e16e1bd6c3714563f4da3069d8184683 Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Wed, 9 Sep 2020 10:18:24 +0800 Subject: [PATCH 06/37] update url --- docs/WeBASE-Node-Manager/interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index 244751a8..50fa7a3c 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -6380,7 +6380,7 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/crud ### 13.14 获取链治理委员列表 -使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.26),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) +使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.28),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) 委员的权限包括治理投票、增删节点、冻结解冻合约、冻结解冻账号、修改链配置和增删运维账号。 From d4c0e84cce1281b67cf44073914a12b21deb3def Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Wed, 9 Sep 2020 16:06:50 +0800 Subject: [PATCH 07/37] add response of govern --- docs/WeBASE-Front/interface.md | 63 +++++++++++++++++++++++++++------- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/docs/WeBASE-Front/interface.md b/docs/WeBASE-Front/interface.md index 70a56f65..6d477e12 100644 --- a/docs/WeBASE-Front/interface.md +++ b/docs/WeBASE-Front/interface.md @@ -3139,7 +3139,7 @@ b、正确发送数据上链返回值信息(交易收据) ## 6. 系统管理接口 -使用FISCO BCOS v2.5.0 与 WeBASE-Front v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口6.13](#governance)),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) +使用FISCO BCOS v2.5.0 与 WeBASE-Front v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口6.13](#governance)开始),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) ### 6.1. 查询权限接口 @@ -4048,7 +4048,10 @@ http://localhost:5002/WeBASE-Front/governance/committee/list?groupId=1 ``` [ - + { + "address": "0xd031e61f6dc4dedd7d77f90128ed33caafbed0af", + "enable_num": "2" + } ] ``` @@ -4095,8 +4098,12 @@ HTTP POST **1)数据格式** +透传链上返回结果 ``` - +{ + "code":0, + "msg":"success" +} ``` @@ -4142,8 +4149,12 @@ HTTP DELETE **1)数据格式** +透传链上返回结果 ``` - +{ + "code":0, + "msg":"success" +} ``` @@ -4180,13 +4191,20 @@ http://localhost:5002/WeBASE-Front/governance/committee/weight?groupId=1&address **1)数据格式** +成功时:直接返回权重值 +``` +2 ``` -{ +失败时,如查询非委员用户的权重值: + +``` +{ + "code": -52001, + "msg": "address not committee" } ``` - ### 6.13.5. 更新链治理委员投票权重 #### 接口描述 @@ -4226,8 +4244,12 @@ HTTP PUT **1)数据格式** +透传链上返回结果 ``` - +{ + "code":0, + "msg":"success" +} ``` @@ -4264,8 +4286,9 @@ http://localhost:5002/WeBASE-Front/governance/threshold?groupId=1 **1)数据格式** +直接返回threshold值 ``` - +50 ``` @@ -4308,8 +4331,12 @@ HTTP PUT **1)数据格式** +透传链上返回结果 ``` - +{ + "code":0, + "msg":"success" +} ``` @@ -4347,7 +4374,10 @@ http://localhost:5002/WeBASE-Front/governance/operator/list?groupId=1 ``` [ - + { + "address": "0x304852a7cc6511e62c37b6e189850861e41282b0", + "enable_num": "3" + } ] ``` @@ -4390,11 +4420,14 @@ HTTP POST **1)数据格式** +透传链上返回结果 ``` - +{ + "code":0, + "msg":"success" +} ``` - ### 6.13.3. 取消运维接口 #### 接口描述 @@ -4434,8 +4467,12 @@ HTTP DELETE **1)数据格式** +透传链上返回结果 ``` - +{ + "code":0, + "msg":"success" +} ``` From 6e2e031adab80e5e1a2951bda98c5f91f651856a Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Wed, 9 Sep 2020 16:07:10 +0800 Subject: [PATCH 08/37] update error response & return --- docs/WeBASE-Node-Manager/interface.md | 148 ++++++++++++++++++-------- 1 file changed, 106 insertions(+), 42 deletions(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index 50fa7a3c..8a9db3c6 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -5471,7 +5471,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/method/findById/2/methodIasdfdttttt ## 13 系统管理模块 系统管理中的权限管理接口 -- 使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.28),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) +- 使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(本章节[接口13.14](#governance)开始),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) - 使用低于FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1版本,则使用接口13.1至13.4接口 ### 13.1 查看权限管理 @@ -6380,14 +6380,14 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/crud ### 13.14 获取链治理委员列表 -使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(从本章节[接口13.4](#governance)至13.28),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) +使用FISCO BCOS v2.5.0 与 WeBASE-Node-Manager v1.4.1 (及)以上版本将使用预编译合约中的ChainGovernance接口(本章节[接口13.14](#governance)开始),详情可参考[FISCO BCOS基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2) 委员的权限包括治理投票、增删节点、冻结解冻合约、冻结解冻账号、修改链配置和增删运维账号。 增加委员需要链治理委员会投票,有效票大于阈值才可以生效,且不重复计票 - 委员默认的投票权重为1,默认投票生效阈值50%,若有两个委员,则需要两个委员都投票增加/撤销的委员权限,`有效票/总票数=2/2=1>0.5`才满足条件。 - 投票有过期时间,根据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。 - +- 一个用户不能同时作为委员和运维 #### 13.14.1 传输协议规范 * 网络传输协议:使用HTTP协议 @@ -6504,8 +6504,8 @@ http://localhost:5001/WeBASE-Node-Manager/governance/committee * 失败: ``` { - "code": -50000, - "message": "permission denied" + "code": -52000, + "message": "committee member already exist" } ``` @@ -6571,8 +6571,8 @@ http://localhost:5001/WeBASE-Node-Manager/governance/committee * 失败: ``` { - "code": -50000, - "message": "permission denied" + "code": -52001, + "message": "committee member not exist" } ``` @@ -6612,7 +6612,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/committee/weight?groupId=1& |------|-------------|---------------|--------|-------------------------------| | 1 | code | Int | | 返回码,0:成功 其它:失败 | | 2 | message | String | | 描述 -| 3 | data | Object | | 权重值 +| 3 | data | Integer | | 权重值 @@ -6622,10 +6622,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/committee/weight?groupId=1& { "code": 0, "message": "success", - "data": [ - - ], - "totalCount": 1 + "data": 2 } ``` @@ -6690,8 +6687,8 @@ http://localhost:5001/WeBASE-Node-Manager/governance/committee/weight * 失败: ``` { - "code": -50000, - "message": "permission denied" + "code": -52001, + "message": "committee member not exist" } ``` @@ -6730,7 +6727,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/threshold?groupId=1 |------|-------------|---------------|--------|-------------------------------| | 1 | code | Int | | 返回码,0:成功 其它:失败 | | 2 | message | String | | 描述 -| 3 | data | Object | | 权重值 +| 3 | data | Integer | | 阈值 @@ -6740,8 +6737,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/threshold?groupId=1 { "code": 0, "message": "success", - "data": 50, - "totalCount": 1 + "data": 50 } ``` @@ -6801,11 +6797,11 @@ http://localhost:5001/WeBASE-Node-Manager/governance/threshold } ``` -* 失败: +* 失败,如非委员更新阈值: ``` { - "code": -50000, - "message": "permission denied" + "code": -52001, + "message": "committee member not exist" } ``` @@ -6860,7 +6856,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/operator/list?groupId=1&pag "data": [ { "address": "0x009fb217b6d7f010f12e7876d31a738389fecd51", - "enable_num": "84" + "enable_num": "4" } ], "totalCount": 1 @@ -6927,8 +6923,17 @@ http://localhost:5001/WeBASE-Node-Manager/governance/operator * 失败: ``` { - "code": -50000, - "message": "permission denied" + "code": -52001, + "message": "committee member not exist" +} +``` + +或 + +``` +{ + "code": -52005, + "message": "committee member cannot be operator" } ``` @@ -6992,8 +6997,8 @@ http://localhost:5001/WeBASE-Node-Manager/governance/operator * 失败: ``` { - "code": -50000, - "message": "permission denied" + "code": -52001, + "message": "committee member not exist" } ``` @@ -7035,7 +7040,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/account/status?groupId=1&ad |------|-------------|---------------|--------|-------------------------------| | 1 | code | Int | | 返回码,0:成功 其它:失败 | | 2 | message | String | | 描述 -| 3 | data | Object | | 账户状态 +| 3 | data | Integer | | 账户状态, 0-normal, 1-frozen @@ -7045,9 +7050,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/account/status?groupId=1&ad { "code": 0, "message": "success", - "data": [ - - ], + "data": 0 } ``` @@ -7094,7 +7097,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/account/status/list |------|-------------|---------------|--------|-------------------------------| | 1 | code | Int | | 返回码,0:成功 其它:失败 | | 2 | message | String | | 描述 -| 3 | data | Map | | 直接返回Map, 如:["0x009fb217b6d7f010f12e7876d31a738389fecd51": 0, "0x6b9fb217b6d7f010f12e7876d31a738389feef62": 1] +| 3 | data | Map | | 直接返回地址与状态的map, 0-normal, 1-frozen @@ -7104,12 +7107,10 @@ http://localhost:5001/WeBASE-Node-Manager/governance/account/status/list { "code": 0, "message": "success", - "data": [ - { - "address": "0x009fb217b6d7f010f12e7876d31a738389fecd51", - "enable_num": "84" - } - ], + "data": { + "0x009fb217b6d7f010f12e7876d31a738389fecd51": 0, + "0x6b9fb217b6d7f010f12e7876d31a738389feef62": 1 + }, "totalCount": 1 } ``` @@ -7174,8 +7175,8 @@ http://localhost:5001/WeBASE-Node-Manager/governance/account * 失败: ``` { - "code": -50000, - "message": "permission denied" + "code": -52001, + "message": "committee member not exist" } ``` @@ -7239,8 +7240,8 @@ http://localhost:5001/WeBASE-Node-Manager/governance/account * 失败: ``` { - "code": -50000, - "message": "permission denied" + "code": -52001, + "message": "committee member not exist" } ``` @@ -7305,8 +7306,8 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/contract/status * 失败: ``` { - "code": -50000, - "message": "permission denied" + "code": -52007, + "message": "operator member not exist" } ``` @@ -7492,6 +7493,69 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/vote/record/{voteId} ``` + +### 13.31 获取链治理委员列表(包含权重) + +获取链治理委员列表,同时返回委员投票的权重值 + +#### 13.31.1 传输协议规范 +* 网络传输协议:使用HTTP协议 +* 请求地址: **/governance/committee/list/sorted** +* 请求方式:GET +* 返回格式:JSON + +#### 13.31.2 请求参数 + +***1)入参表*** + +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | groupId | int | 否 | 群组编号 | +| 2 | pageNumber | int | 否 | 页码,从1开始 | +| 3 | pageSize | int | 否 | 页大小 | + + +***2)入参示例*** + +``` +http://127.0.0.1:5001/WeBASE-Node-Manager/governance/committee/list/sorted?groupId=1&pageNumber=1&pageSize=10 +``` + + +#### 13.31.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +|------|-------------|---------------|--------|-------------------------------| +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | | Object | | 返回信息实体 | +| 3.1 | weight | Int | 否 | 委员投票权重值 | +| 3.2 | address | String | 否 | 委员的用户地址 | +| 3.3 | enable_num | Int | 否 | 委员生效块高 | +| 4 | totalCount | Int | | 总数 | + + +***2)出参示例*** +* 成功: +``` +{ + "code": 0, + "message": "success", + "data": [ + { + "weight": 1, + "address": "0x2ac4227e87bccca63893317febadd0b51ad33e1", + "enable_num": 3 + } + ], + "totalCount": 1 +} +``` + + + ## 14 证书管理模块 ### 14.1 获取证书列表接口 From d4149cac6cdd19d0a83c4c24341d0968b37d3257 Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Wed, 9 Sep 2020 19:18:40 +0800 Subject: [PATCH 09/37] rm account status api --- docs/WeBASE-Front/interface.md | 27 +-- docs/WeBASE-Node-Manager/interface.md | 282 ++------------------------ 2 files changed, 34 insertions(+), 275 deletions(-) diff --git a/docs/WeBASE-Front/interface.md b/docs/WeBASE-Front/interface.md index 6d477e12..5bc19c86 100644 --- a/docs/WeBASE-Front/interface.md +++ b/docs/WeBASE-Front/interface.md @@ -4227,8 +4227,9 @@ HTTP PUT | ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | | 1 | groupId | Int | 否 | 群组编号 | | 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | -| 3 | address | String | 否 | 新的链治理委员地址 - +| 3 | address | String | 否 | 链治理委员地址 +| 4 | weight | Int | 否 | 权重值 | + ***2)入参示例*** ``` @@ -4254,11 +4255,11 @@ HTTP PUT -### 6.13.6. 查看链治理委员投票权重 +### 6.13.6. 查看链投票阈值 #### 接口描述 -委员默认的投票权重为1 +阈值默认为50,即票数>50% #### 接口URL @@ -4292,11 +4293,11 @@ http://localhost:5002/WeBASE-Front/governance/threshold?groupId=1 ``` -### 6.13.7. 更新链治理委员投票权重 +### 6.13.7. 更新链投票阈值 #### 接口描述 -委员默认的投票权重为1 +阈值默认为50,即票数>50% #### 接口URL @@ -4315,6 +4316,7 @@ HTTP PUT | 1 | groupId | Int | 否 | 群组编号 | | 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | | 3 | address | String | 否 | 新的链治理委员地址 +| 4 | threshold | Int | 否 | 群组投票阈值 | ***2)入参示例*** @@ -4340,7 +4342,7 @@ HTTP PUT ``` -### 6.13.1. 查看运维列表 +### 6.13.8. 查看运维列表 #### 接口描述 @@ -4382,7 +4384,7 @@ http://localhost:5002/WeBASE-Front/governance/operator/list?groupId=1 ``` -### 6.13.2. 增加运维接口 +### 6.13.9. 增加运维接口 #### 接口描述 @@ -4404,7 +4406,7 @@ HTTP POST | ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | | 1 | groupId | Int | 否 | 群组编号 | | 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | -| 3 | address | String | 否 | 新的链治理委员地址 +| 3 | address | String | 否 | 新的运维地址 ***2)入参示例*** @@ -4428,12 +4430,12 @@ HTTP POST } ``` -### 6.13.3. 取消运维接口 +### 6.13.10. 取消运维接口 #### 接口描述 由链治理委员添加/取消运维账号;运维账号可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约。 -据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。‘ +据块高,过期时间为块高超过blockLimit的10倍时过期;过期时间固定不可改。 #### 接口URL @@ -4451,7 +4453,7 @@ HTTP DELETE | ---- | --------------- | ------ | ------ | ------------------------------------------------------------ | | 1 | groupId | Int | 否 | 群组编号 | | 2 | signUserId | String | 否 | WeBASE-Sign签名用户编号 | -| 3 | address | String | 否 | 待取消的链治理委员地址 +| 3 | address | String | 否 | 待取消的运维地址 ***2)入参示例*** @@ -4475,7 +4477,6 @@ HTTP DELETE } ``` - ## 7. 链上事件订阅接口 ### 7.1. 获取出块事件的订阅信息列表 diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index 8a9db3c6..a03d29ae 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -7003,260 +7003,18 @@ http://localhost:5001/WeBASE-Node-Manager/governance/operator ``` - -### 13.23 查看外部账户冻结状态 - - -获取单个外部账户(地址)的冻结状态,默认为非冻结 - -#### 13.23.1 传输协议规范 -* 网络传输协议:使用HTTP协议 -* 请求地址: **/governance/account/status** -* 请求方式:GET -* 请求头:Content-type: application/json -* 返回格式:JSON - -#### 13.23.2 请求参数 - -***1)入参表*** - -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 群组id -| 2 | address | String | 否 | 外部账户地址 - - -***2)入参示例*** - -``` -http://localhost:5001/WeBASE-Node-Manager/governance/account/status?groupId=1&address=0x009fb217b6d7f010f12e7876d31a738389fecd51 -``` - -#### 13.23.3 返回参数 - -***1)出参表*** - -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | | 返回码,0:成功 其它:失败 | -| 2 | message | String | | 描述 -| 3 | data | Integer | | 账户状态, 0-normal, 1-frozen - - - -***2)出参示例*** -* 成功: -``` -{ - "code": 0, - "message": "success", - "data": 0 -} -``` - -### 13.24 批量查看外部账户冻结状态 - -传入多个外部账户地址的List,查看该地址的账户状态 - -#### 13.24.1 传输协议规范 -* 网络传输协议:使用HTTP协议 -* 请求地址: **/governance/account/status/list** -* 请求方式:POST -* 请求头:Content-type: application/json -* 返回格式:JSON - -#### 13.24.2 请求参数 - -***1)入参表*** - -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 群组id -| 2 | addressList | List | 否 | 多个地址的列表,如["0x009fb217b6d7f010f12e7876d31a738389fecd51", "0x6b9fb217b6d7f010f12e7876d31a738389feef62"] - - -***2)入参示例*** - -``` -http://localhost:5001/WeBASE-Node-Manager/governance/account/status/list -``` - - -``` -{ - "groupId": 1, - "addressList": ["0x009fb217b6d7f010f12e7876d31a738389fecd51", "0x6b9fb217b6d7f010f12e7876d31a738389feef62"] -} -``` - -#### 13.24.3 返回参数 - -***1)出参表*** - -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | | 返回码,0:成功 其它:失败 | -| 2 | message | String | | 描述 -| 3 | data | Map | | 直接返回地址与状态的map, 0-normal, 1-frozen - - - -***2)出参示例*** -* 成功: -``` -{ - "code": 0, - "message": "success", - "data": { - "0x009fb217b6d7f010f12e7876d31a738389fecd51": 0, - "0x6b9fb217b6d7f010f12e7876d31a738389feef62": 1 - }, - "totalCount": 1 -} -``` - - -### 13.25 冻结外部账户地址接口 - -未开启权限时采用白名单机制,任何用户都可以冻结外部账户地址。启用权限后(设置第一个链治理委员),由链治理委员进行账户冻结/解冻操作 - -#### 13.25.1 传输协议规范 -* 网络传输协议:使用HTTP协议 -* 请求地址: **/governance/account** -* 请求方式:POST -* 请求头:Content-type: application/json -* 返回格式:JSON - -#### 13.25.2 请求参数 - -***1)入参表*** - -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 群组id -| 3 | fromAddress | String | 否 | 链治理委员地址 | -| 4 | address | String | 否 | 待冻结的外部账户地址 - - -***2)入参示例*** - -``` -http://localhost:5001/WeBASE-Node-Manager/governance/account -``` - -``` -{ - "groupId": 1, - "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", - "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" -} -``` - - -#### 13.25.3 返回参数 - -***1)出参表*** - -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 - - -***2)出参示例*** -* 成功: -``` -{ - "code": 0, - "message": "success" -} -``` - -* 失败: -``` -{ - "code": -52001, - "message": "committee member not exist" -} -``` - - -### 13.26 取消冻结外部账户接口 - -未开启权限时采用白名单机制,任何用户都可以冻结外部账户地址。启用权限后(设置第一个链治理委员),由链治理委员进行账户冻结/解冻操作 - -#### 13.26.1 传输协议规范 -* 网络传输协议:使用HTTP协议 -* 请求地址: **/governance/account** -* 请求方式:DELETE -* 请求头:Content-type: application/json -* 返回格式:JSON - -#### 13.26.2 请求参数 - -***1)入参表*** - -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 群组id -| 3 | fromAddress | String | 否 | 链治理委员地址 | -| 4 | address | String | 否 | 待取消冻结的外部账户地址 - - -***2)入参示例*** - -``` -http://localhost:5001/WeBASE-Node-Manager/governance/account -``` - -``` -{ - "groupId": 1, - "fromAddress": "0xd5bba8fe456fce310f529edecef902e4b63129b1", - "address": "0x2357ad9d97027cd71eea1d639f1e5750fbdfd38e" -} -``` - - -#### 13.26.3 返回参数 - -***1)出参表*** - -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 - - -***2)出参示例*** -* 成功: -``` -{ - "code": 0, - "message": "success" -} -``` - -* 失败: -``` -{ - "code": -52001, - "message": "committee member not exist" -} -``` - -### 13.27 合约状态管理 +### 13.23 合约状态管理 由**合约部署者**(一般由运维所部属)与链治理委员共同管理合约的状态,包含冻结/解冻合约、查询合约状态功能 -#### 13.27.1 传输协议规范 +#### 13.23.1 传输协议规范 * 网络传输协议:使用HTTP协议 * 请求地址: **/governance/contract/status** * 请求方式: POST * 请求头:Content-type: application/json * 返回格式:JSON -#### 13.27.2 请求参数 +#### 13.23.2 请求参数 ***1)入参表*** @@ -7284,7 +7042,7 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/contract/status ``` -#### 13.27.3 返回参数 +#### 13.23.3 返回参数 ***1)出参表*** @@ -7312,18 +7070,18 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/contract/status ``` -### 13.28 批量查看合约冻结状态 +### 13.24 批量查看合约冻结状态 传入多个合约地址的List,查看该合约地址的冻结状态 -#### 13.28.1 传输协议规范 +#### 13.24.1 传输协议规范 * 网络传输协议:使用HTTP协议 * 请求地址: **/precompiled/contract/status/list** * 请求方式:POST * 请求头:Content-type: application/json * 返回格式:JSON -#### 13.28.2 请求参数 +#### 13.24.2 请求参数 ***1)入参表*** @@ -7346,7 +7104,7 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/contract/status/list } ``` -#### 13.28.3 返回参数 +#### 13.24.3 返回参数 ***1)出参表*** @@ -7374,17 +7132,17 @@ http://localhost:5001/WeBASE-Node-Manager/precompiled/contract/status/list -### 13.29 获取链委员会投票记录列表 +### 13.25 获取链委员会投票记录列表 当链委员会发起一笔交易时会产生一条投票记录,此接口返回某群组下的修改记录列表 -#### 13.29.1 传输协议规范 +#### 13.25.1 传输协议规范 * 网络传输协议:使用HTTP协议 * 请求地址: **/vote/record/list** * 请求方式:GET * 返回格式:JSON -#### 13.29.2 请求参数 +#### 13.25.2 请求参数 ***1)入参表*** @@ -7402,7 +7160,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/vote/record/list?groupId=1&pageNumber= ``` -#### 13.29.3 返回参数 +#### 13.25.3 返回参数 ***1)出参表*** @@ -7447,17 +7205,17 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/vote/record/list?groupId=1&pageNumber= ``` -### 13.30 删除链委员会投票记录 +### 13.26 删除链委员会投票记录 删除投票记录 -#### 13.30.1 传输协议规范 +#### 13.26.1 传输协议规范 * 网络传输协议:使用HTTP协议 * 请求地址: **/vote/record/{voteId}** * 请求方式:DELETE * 返回格式:JSON -#### 13.30.2 请求参数 +#### 13.26.2 请求参数 ***1)入参表*** @@ -7473,7 +7231,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/vote/record/{voteId} ``` -#### 13.30.3 返回参数 +#### 13.26.3 返回参数 ***1)出参表*** @@ -7494,17 +7252,17 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/vote/record/{voteId} -### 13.31 获取链治理委员列表(包含权重) +### 13.27 获取链治理委员列表(包含权重) 获取链治理委员列表,同时返回委员投票的权重值 -#### 13.31.1 传输协议规范 +#### 13.27.1 传输协议规范 * 网络传输协议:使用HTTP协议 * 请求地址: **/governance/committee/list/sorted** * 请求方式:GET * 返回格式:JSON -#### 13.31.2 请求参数 +#### 13.27.2 请求参数 ***1)入参表*** @@ -7522,7 +7280,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/governance/committee/list/sorted?group ``` -#### 13.31.3 返回参数 +#### 13.27.3 返回参数 ***1)出参表*** From 51e48123a7ffb9e9c5ffe335f73099de38745a31 Mon Sep 17 00:00:00 2001 From: CodingCattwo <847701726@qq.com> Date: Thu, 10 Sep 2020 15:59:05 +0800 Subject: [PATCH 10/37] add weight rate in committee list --- docs/WeBASE-Node-Manager/interface.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index a03d29ae..3f6e38d5 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -7290,8 +7290,9 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/governance/committee/list/sorted?group | 2 | message | String | 否 | 描述 | | 3 | | Object | | 返回信息实体 | | 3.1 | weight | Int | 否 | 委员投票权重值 | -| 3.2 | address | String | 否 | 委员的用户地址 | -| 3.3 | enable_num | Int | 否 | 委员生效块高 | +| 3.2 | weightRate | BigDecimal | 否 | 权重比 | +| 3.3 | address | String | 否 | 委员的用户地址 | +| 3.4 | enable_num | Int | 否 | 委员生效块高 | | 4 | totalCount | Int | | 总数 | @@ -7304,6 +7305,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/governance/committee/list/sorted?group "data": [ { "weight": 1, + "weightRate": 33.3 "address": "0x2ac4227e87bccca63893317febadd0b51ad33e1", "enable_num": 3 } From 547f80d6af9f1c49159140c068dc11461301bc5c Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Fri, 11 Sep 2020 11:08:13 +0800 Subject: [PATCH 11/37] update jdk config --- docs/WeBASE/install.md | 59 +++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index e8948352..49d4e8f5 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -20,18 +20,18 @@ #### 平台要求 -推荐使用CentOS 7.2+, Ubuntu 16.04及以上版本, 一键部署脚本将自动安装`openssl, curl, wget, git`相关依赖项。 +推荐使用CentOS 7.2+, Ubuntu 16.04及以上版本, 一键部署脚本将自动安装`openssl, curl, wget, git, nginx`相关依赖项。 -其余系统可能导致安装依赖失败,可自行安装`openssl, curl, wget, git`依赖项后重试 +其余系统可能导致安装依赖失败,可自行安装`openssl, curl, wget, git, nginx`依赖项后重试 #### 检查Java -JDK8或以上版本: +JDK1.8或以上版本,推荐使用[OracleJDK](#jdk): ``` java -version ``` -- Java推荐使用[OpenJDK](#id10 ) ,建议从[OpenJDK网站](https://jdk.java.net/java-se-ri/11) 自行下载(CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点) +注意:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),会导致JavaSDK无法正常连接区块链节点。 #### 检查mysql @@ -344,46 +344,45 @@ http://{deployIP}:{webPort} ## 附录 + ### 1. Java环境部署 -此处给出OpenJDK安装简单步骤,供快速查阅。更详细的步骤,请参考[官网](https://openjdk.java.net/install/index.html)。 +#### CentOS环境安装Java + -#### ① 安装包下载 +**注意:CentOS下OpenJDK无法正常工作,需要安装OracleJDK[下载链接](https://www.oracle.com/technetwork/java/javase/downloads/index.html)。** -从[官网](https://jdk.java.net/java-se-ri/11)下载对应版本的java安装包,并解压到服务器相关目录 - -```shell -mkdir /software -tar -zxvf openjdkXXX.tar.gz /software/ ``` +# 创建新的文件夹,安装Java 8或以上的版本,将下载的jdk放在software目录 +# 从Oracle官网(https://www.oracle.com/technetwork/java/javase/downloads/index.html)选择Java 8或以上的版本下载,例如下载jdk-8u201-linux-x64.tar.gz +$ mkdir /software -#### ② 配置环境变量 +# 解压jdk +$ tar -zxvf jdk-8u201-linux-x64.tar.gz -- 修改/etc/profile +# 配置Java环境,编辑/etc/profile文件 +$ vim /etc/profile -``` -sudo vi /etc/profile -``` +# 打开以后将下面三句输入到文件里面并保存退出 +export JAVA_HOME=/software/jdk-8u201 #这是一个文件目录,非文件 +export PATH=$JAVA_HOME/bin:$PATH +export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar -- 在/etc/profile末尾添加以下信息 +# 生效profile +$ source /etc/profile -```shell -JAVA_HOME=/software/jdk-11 -PATH=$PATH:$JAVA_HOME/bin -CLASSPATH==.:$JAVA_HOME/lib -export JAVA_HOME CLASSPATH PATH -``` - -- 重载/etc/profile - -``` -source /etc/profile +# 查询Java版本,出现的版本是自己下载的版本,则安装成功。 +java -version ``` -#### ③ 查看版本 +#### Ubuntu环境安装Java + ``` -java -version + # 安装默认Java版本(Java 8或以上) + sudo apt install -y default-jdk + # 查询Java版本 + java -version ``` ### 2. 数据库部署 From d2cb378c41b12e8e6a1047bd5a938f6f8201c7c7 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Fri, 11 Sep 2020 11:33:26 +0800 Subject: [PATCH 12/37] rm py2 & update qa --- docs/WeBASE/install.md | 117 +++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 58 deletions(-) diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index 49d4e8f5..443d7030 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -26,7 +26,7 @@ #### 检查Java -JDK1.8或以上版本,推荐使用[OracleJDK](#jdk): +JDK1.8或以上版本,推荐使用OracleJDK[安装指引](#jdk): ``` java -version ``` @@ -40,23 +40,23 @@ MySQL-5.6或以上版本: mysql --version ``` -- Mysql安装部署可参考[数据库部署](#id14) +- Mysql安装部署可参考[数据库部署](#mysql) #### 检查Python - + 使用Python3.5或以上版本: ``` python --version ``` -- Python安装部署可参考[Python部署](#id17) +如已安装python3,也可通过`python3 --version`查看,在运行脚本时,使用`python3`命令即可 + +- Python3安装部署可参考[Python部署](#python3) #### PyMySQL部署(Python3.5+) Python3.5及以上版本,需安装`PyMySQL`依赖包 -python3.5+版本安装`PyMysql`依赖包方法: - - CentOS ``` @@ -96,7 +96,7 @@ cd webase-deploy ## 修改配置 -① mysql数据库需提前安装,已安装直接配置即可,还未安装请参看[数据库部署](#id14); +① mysql数据库需提前安装,已安装直接配置即可,还未安装请参看[数据库部署](#mysql); ② 修改配置文件(vi common.properties),没有变化的可以不修改; @@ -386,6 +386,7 @@ java -version ``` ### 2. 数据库部署 + 此处以Centos安装*MariaDB*为例。*MariaDB*数据库是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。*MariaDB*完全兼容 MySQL,包括API和命令行。其他安装方式请参考[MySQL官网](https://dev.mysql.com/downloads/mysql/)。 @@ -468,6 +469,9 @@ mysql > create database webasenodemanager; ``` ### 3. Python部署 + + +python版本要求使用python3.x, 推荐使用python3.5及以上版本 - CentOS @@ -481,40 +485,11 @@ mysql > create database webasenodemanager; sudo apt-get install -y python-requests ``` -### 4. 安装MySql python依赖包(使用于python2.7+) - -#### 查看python版本 - -``` -python --version -``` -python2.7+版本,需要安装`MySQL-python`,安装方法如下: - -*注*:同时支持python3.5+,python3.5+时需要安装`Py-MySQL`依赖包,可参考 [检查python环境-PyMysql](#pymysql-python3-5) - -python2.7+版本安装`MySQL-python`依赖包方法: - -#### 4.1 MySQL-python部署(Python2.7) - -- CentOS - - ``` - sudo yum install -y MySQL-python - ``` - -- Ubuntu - - ``` - sudo apt-get install -y python-pip - sudo pip install MySQL-python - ``` - - - ## 常见问题 ### 1. Python命令出错 +- SyntaxError报错 ``` File "deploy.py", line 62 print helpMsg @@ -522,19 +497,17 @@ python2.7+版本安装`MySQL-python`依赖包方法: SyntaxError: Missing parentheses in call to "print". Did you mean print(helpMsg)? ``` -答:检查Python版本 - -### 2. 使用Python2时找不到MySQLdb - +- 找不到fallback关键字 ``` -Traceback (most recent call last): -... -ImportError: No module named MySQLdb +File "/home/ubuntu/webase-deploy/comm/utils.py", line 127, in getCommProperties + value = cf.get('common', paramsKey,fallback=None) +TypeError: get() got an unexpected keyword argument 'fallback' ``` -答:需要安装MySQL-python,安装请参看 [附录](#mysql-python) +答:检查[Python版本](#checkpy),推荐使用python3.5及以上版本 -### 3. 使用Python3时找不到pymysql + +### 2. 使用Python3时找不到pymysql ``` Traceback (most recent call last): @@ -544,7 +517,7 @@ ImportError: No module named 'pymysql' 答:需要安装PyMySQL,安装请参看 [pymysql](#pymysql-python3-5) -### 4. 安装MySQL-python遇到问题 +### 3. 安装MySQL-python遇到问题 ``` Command "python setup.py egg_info" failed with error code 1 @@ -556,11 +529,11 @@ pip install --upgrade setuptools python -m pip install --upgrade pip ``` -### 5. 部署时某个组件失败,重新部署提示端口被占用问题 +### 4. 部署时某个组件失败,重新部署提示端口被占用问题 答:因为有个别组件是启动成功的,需先执行“python deploy.py stopAll”将其停止,再执行“python deploy.py installAll”部署全部。 -### 6. 管理平台启动时Nginx报错 +### 5. 管理平台启动时Nginx报错 ``` ... @@ -572,7 +545,7 @@ Exception: execute cmd error ,cmd : sudo /usr/local/nginx/sbin/nginx -c /data/a 答:缺少/etc/nginx/mime.types文件,建议重装nginx。 -### 7. 部署时数据库访问报错 +### 6. 部署时数据库访问报错 ``` ... @@ -589,7 +562,7 @@ OperationalError: (1045, "Access denied for user 'root'@'localhost' (using passw 答:确认数据库用户名和密码 -### 8. 节点sdk目录不存在 +### 7. 节点sdk目录不存在 ``` ... @@ -598,7 +571,7 @@ OperationalError: (1045, "Access denied for user 'root'@'localhost' (using passw 答:确认节点安装目录下有没有sdk目录(企业部署工具搭建的链可能没有),如果没有,需手动创建"mkdir sdk",并将节点证书(ca.crt、node.crt、node.key)复制到该目录,再重新部署。 -### 9. 前置启动报错“nested exception is javax.net.ssl.SSLException” +### 8. 前置启动报错“nested exception is javax.net.ssl.SSLException” ``` ... @@ -608,7 +581,7 @@ nested exception is javax.net.ssl.SSLException: Failed to initialize the client- 答:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,因此在使用CentOS操作系统时,推荐从[OpenJDK网站](https://jdk.java.net/java-se-ri/11)自行下载。 -### 10.前置启动报错“Processing bcos message timeout” +### 9.前置启动报错“Processing bcos message timeout” ``` ... @@ -619,7 +592,7 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating 答:一些Oracle JDK版本缺少相关包,导致节点连接异常。推荐使用OpenJDK,从[OpenJDK网站](https://jdk.java.net/java-se-ri/11)自行下载。 -### 11. 服务进程起来了,服务不正常 +### 10. 服务进程起来了,服务不正常 ``` ... @@ -628,11 +601,39 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating 答:查看日志,确认问题原因。确认后修改重启,如果重启提示服务进程在运行,先执行“python deploy.py stopAll”将其停止,再执行“python deploy.py startAll”重启。 -### 12. WeBASE-Web登录页面的验证码加载不出来 +### 11. WeBASE-Web登录页面的验证码加载不出来 + +答:检查WeBASE-Node-Manager后台服务是否已启动成功。若启动成功,检查后台日志: + +* 进入 `webase-node-mgr` 目录下,执行 `bash status.sh` 检查服务是否启动,如果服务没有启动,运行 `bash start.sh` 启动服务; + +* 如果服务已经启动,按照如下修改日志级别 + * 方法一:`webase-node-mgr/conf/application.yml` + + ``` + #log config + logging: + level: + com.webank.webase.node.mgr: debug + ``` + + * 方法二:`webase-node-mgr/conf/log/log4j2.xml` + + ``` + + + + + + + ``` + +* 修改日志level后,重启服务 `bash stop.sh && bash start.sh` -答:检查WeBASE-Node-Manager后台服务是否已启动成功:在webase-node-mgr目录下,运行`bash status.sh`或者查看目录中`log/WeBASE-Node-Manager.log`日志文件,查看是否启动失败; +* 重启服务后,检查日志文件 `log/WeBASE-Node-Manager.log`。 + * 检查是否有异常信息。如果有异常信息,根据具体的异常信息检查环境配置,或者通过搜索引擎进行排查。 -### 13. WeBASE CDN加速服务 +### 12. WeBASE CDN加速服务 答:WeBASE CDN 加速服务提供 WeBASE 各子系统安装包的下载服务。 @@ -656,7 +657,7 @@ curl -O https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/dow ``` -### 14. WeBASE代码仓库国内gitee镜像 +### 13. WeBASE代码仓库国内gitee镜像 答:WeBASE代码仓库在国内的gitee镜像地址为`https://gitee.com/WeBank/WeBASE`,WeBASE其他子系统的仓库则是`https://gitee.com/WeBank/`+ `WeBASE-XXX`,如WeBASE-Front的gitee代码仓库为`https://gitee.com/WeBank/WeBASE-Front` From 3c18b8d26171b26abf6d192a7ddf1f64442ad2e8 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Fri, 11 Sep 2020 11:43:28 +0800 Subject: [PATCH 13/37] update version & jdk config --- docs/WeBASE-Front/appendix.md | 51 ++++++++++---------- docs/WeBASE-Front/install.md | 2 +- docs/WeBASE-Install/developer.md | 2 +- docs/WeBASE-Node-Manager/appendix.md | 71 +++++++++++++++++++++++++++- docs/WeBASE-Node-Manager/install.md | 4 +- docs/WeBASE/ChangeLOG.md | 17 +++++++ docs/WeBASE/install.md | 10 ++-- 7 files changed, 121 insertions(+), 36 deletions(-) diff --git a/docs/WeBASE-Front/appendix.md b/docs/WeBASE-Front/appendix.md index 4666de3b..cd703f80 100644 --- a/docs/WeBASE-Front/appendix.md +++ b/docs/WeBASE-Front/appendix.md @@ -2,46 +2,45 @@ ## 1. 安装问题 + ### 1.1 Java部署 -此处给出OpenJDK安装简单步骤,供快速查阅。更详细的步骤,请参考[官网](https://openjdk.java.net/install/index.html)。 +#### CentOS环境安装Java + -#### ① 安装包下载 +**注意:CentOS下OpenJDK无法正常工作,需要安装OracleJDK[下载链接](https://www.oracle.com/technetwork/java/javase/downloads/index.html)。** -从[官网](https://jdk.java.net/java-se-ri/11)下载对应版本的java安装包,并解压到服务器相关目录 - -```shell -mkdir /software -tar -zxvf openjdkXXX.tar.gz /software/ ``` +# 创建新的文件夹,安装Java 8或以上的版本,将下载的jdk放在software目录 +# 从Oracle官网(https://www.oracle.com/technetwork/java/javase/downloads/index.html)选择Java 8或以上的版本下载,例如下载jdk-8u201-linux-x64.tar.gz +$ mkdir /software -#### ② 配置环境变量 +# 解压jdk +$ tar -zxvf jdk-8u201-linux-x64.tar.gz -- 修改/etc/profile +# 配置Java环境,编辑/etc/profile文件 +$ vim /etc/profile -``` -sudo vi /etc/profile -``` +# 打开以后将下面三句输入到文件里面并保存退出 +export JAVA_HOME=/software/jdk-8u201 #这是一个文件目录,非文件 +export PATH=$JAVA_HOME/bin:$PATH +export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar -- 在/etc/profile末尾添加以下信息 +# 生效profile +$ source /etc/profile -```shell -JAVA_HOME=/software/jdk-11 -PATH=$PATH:$JAVA_HOME/bin -CLASSPATH==.:$JAVA_HOME/lib -export JAVA_HOME CLASSPATH PATH -``` - -- 重载/etc/profile - -``` -source /etc/profile +# 查询Java版本,出现的版本是自己下载的版本,则安装成功。 +java -version ``` -#### ③ 查看版本 +#### Ubuntu环境安装Java + ``` -java -version + # 安装默认Java版本(Java 8或以上) + sudo apt install -y default-jdk + # 查询Java版本 + java -version ``` ### 1.2 Gradle部署 diff --git a/docs/WeBASE-Front/install.md b/docs/WeBASE-Front/install.md index b13ebf27..c2c86eac 100644 --- a/docs/WeBASE-Front/install.md +++ b/docs/WeBASE-Front/install.md @@ -7,7 +7,7 @@ | Java | JDK8或以上版本 | | FISCO-BCOS | V2.0.x版本 | -**备注:** Java推荐使用[OpenJDK](./appendix.html#java ),建议从[OpenJDK网站](https://jdk.java.net/java-se-ri/11) 自行下载(CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点) +**备注:** Java推荐使用[OracleJDK](https://www.oracle.com/technetwork/java/javase/downloads/index.html),可参考[JDK配置指引](./appendix.html#jdk)(CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点) ### 国密支持 diff --git a/docs/WeBASE-Install/developer.md b/docs/WeBASE-Install/developer.md index d273188c..c1095608 100644 --- a/docs/WeBASE-Install/developer.md +++ b/docs/WeBASE-Install/developer.md @@ -17,7 +17,7 @@ 1. 下载安装包 ```shell - wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.0/webase-front.zip + wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.1/webase-front.zip ``` diff --git a/docs/WeBASE-Node-Manager/appendix.md b/docs/WeBASE-Node-Manager/appendix.md index 4adbf210..a1525a3d 100644 --- a/docs/WeBASE-Node-Manager/appendix.md +++ b/docs/WeBASE-Node-Manager/appendix.md @@ -1,6 +1,75 @@ ## 附录 -### 1. 问题及方案 + +## 1. 安装问题 + +### 1.1 Java部署 + + +#### CentOS环境安装Java + + +**注意:CentOS下OpenJDK无法正常工作,需要安装OracleJDK[下载链接](https://www.oracle.com/technetwork/java/javase/downloads/index.html)。** + +``` +# 创建新的文件夹,安装Java 8或以上的版本,将下载的jdk放在software目录 +# 从Oracle官网(https://www.oracle.com/technetwork/java/javase/downloads/index.html)选择Java 8或以上的版本下载,例如下载jdk-8u201-linux-x64.tar.gz +$ mkdir /software + +# 解压jdk +$ tar -zxvf jdk-8u201-linux-x64.tar.gz + +# 配置Java环境,编辑/etc/profile文件 +$ vim /etc/profile + +# 打开以后将下面三句输入到文件里面并保存退出 +export JAVA_HOME=/software/jdk-8u201 #这是一个文件目录,非文件 +export PATH=$JAVA_HOME/bin:$PATH +export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar + +# 生效profile +$ source /etc/profile + +# 查询Java版本,出现的版本是自己下载的版本,则安装成功。 +java -version +``` + +#### Ubuntu环境安装Java + + +``` + # 安装默认Java版本(Java 8或以上) + sudo apt install -y default-jdk + # 查询Java版本 + java -version +``` + +### 1.2 Gradle部署 + +此处给出简单步骤,供快速查阅。更详细的步骤,请参考[官网](http://www.gradle.org/downloads)。 + +(1)从[官网](http://www.gradle.org/downloads)下载对应版本的Gradle安装包,并解压到相应目录 + +```shell +mkdir /software/ +unzip -d /software/ gradleXXX.zip +``` + +(2)配置环境变量 + +```shell +export GRADLE_HOME=/software/gradle-4.9 +export PATH=$GRADLE_HOME/bin:$PATH +``` + +(3)查看版本 + +``` +gradle -version +``` + + +## 2. 常见问题及方案 #### 一般问题 * 问:执行shell脚本报下面错误: ``` diff --git a/docs/WeBASE-Node-Manager/install.md b/docs/WeBASE-Node-Manager/install.md index 7fb3d70c..ed81c7f4 100644 --- a/docs/WeBASE-Node-Manager/install.md +++ b/docs/WeBASE-Node-Manager/install.md @@ -11,8 +11,8 @@ ## 2. 注意事项 -* Java推荐使用[OpenJDK](https://openjdk.java.net/ ),建议从OpenJDK网站自行下载(CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点)[下载地址](https://jdk.java.net/java-se-ri/11) [安装指南](https://openjdk.java.net/install/index.html) -* 在服务搭建的过程中,如碰到问题,请查看 [常见问题解答](./install_FAQ.md) +* Java推荐使用[OracleJDK](https://www.oracle.com/technetwork/java/javase/downloads/index.html),[JDK配置指引](./appendix.html#jdk) +* 在服务搭建的过程中,如碰到问题,请查看 [常见问题解答](./install_FAQ.html) * 安全温馨提示: 强烈建议设置复杂的数据库登录密码,且严格控制数据操作的权限和网络策略 **通过WeBASE-Sign私钥管理** diff --git a/docs/WeBASE/ChangeLOG.md b/docs/WeBASE/ChangeLOG.md index dfbb1f30..65fdd7cf 100644 --- a/docs/WeBASE/ChangeLOG.md +++ b/docs/WeBASE/ChangeLOG.md @@ -1,6 +1,23 @@ # 版本及兼容 ## 支持FISCO-BCOS 2.X.X系列版本 + + +### WeBASE v1.4.1 + +WeBASE v1.4.1 版本支持 FISCO-BCOS 2.5.x及以上版本。WeBASE 子系统推荐使用下表的版本搭配,FISCO-BCOS 推荐使用 [FISCO BCOS 2.6.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.6.0)版本。 + +| WeBASE子系统名称 | 配套版本地址 | FISCO-BCOS 2.X.X | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| [节点前置服务](https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Front/index.html) | [WeBASE-Front Release v1.4.1](https://github.com/WeBankFinTech/WeBASE-Front/releases/tag/v1.4.1) | [FISCO BCOS 2.6.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.6.0) | +| [节点管理服务](https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Node-Manager/index.html) | [WeBASE-Node-Manager Release v1.4.1](https://github.com/WeBankFinTech/WeBASE-Node-Manager/releases/tag/v1.4.1) | [FISCO BCOS 2.6.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.6.0) | +| [WeBASE管理平台](https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Web/index.html) | [WeBASE-Web Release v1.4.1](https://github.com/WeBankFinTech/WeBASE-Web/releases/tag/v1.4.1) | [FISCO BCOS 2.6.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.6.0) | +| [数据导出代码生成子系统](https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Codegen-Monkey/index.html) | [WeBASE-Codegen-Monkey v1.2.0](https://github.com/WeBankFinTech/WeBASE-Codegen-Monkey/releases/tag/v1.2.0) | [FISCO BCOS 2.6.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.6.0) | +| [数据导出子系统](https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Collect-Bee/index.html) | [WeBASE-Collect-Bee v1.2.0](https://github.com/WeBankFinTech/WeBASE-Collect-Bee/releases/tag/v1.2.0) | [FISCO BCOS 2.6.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.6.0) | +| [签名服务](https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Sign/index.html) | [WeBASE-Sign Release v1.4.0](https://github.com/WeBankFinTech/WeBASE-Sign/releases/tag/v1.4.0) | [FISCO BCOS 2.6.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.6.0) | +| [交易服务](https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Transaction/index.html) | [WeBASE-Transaction Release v1.4.0](https://github.com/WeBankFinTech/WeBASE-Transaction/releases/tag/v1.4.0) | [FISCO BCOS 2.6.0](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.6.0) | + + ### WeBASE v1.4.0 WeBASE v1.4.0 版本支持 FISCO-BCOS 2.4.x, 2.5.x版本,推荐使用2.4.x版本。WeBASE 子系统推荐使用下表的版本搭配,FISCO-BCOS 推荐使用 [FISCO BCOS 2.4.1+](https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v2.4.1)版本。 diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index 443d7030..9e9f6507 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -119,10 +119,10 @@ cd webase-deploy ```shell # WeBASE子系统的最新版本(v1.1.0或以上版本) -webase.web.version=v1.4.0 -webase.mgr.version=v1.4.0 -webase.sign.version=v1.4.0 -webase.front.version=v1.4.0 +webase.web.version=v1.4.1 +webase.mgr.version=v1.4.1 +webase.sign.version=v1.4.1 +webase.front.version=v1.4.1 # 节点管理子系统mysql数据库配置 mysql.ip=127.0.0.1 @@ -176,7 +176,7 @@ node.dir=/data/app/nodes/127.0.0.1/node0 # 搭建新链时需配置 # FISCO-BCOS版本 -fisco.version=2.4.1 +fisco.version=2.6.0 # 搭建节点个数(默认两个) node.counts=nodeCounts ``` From 1f1111269e456cb1400a7189d31fadb1cdb8cd4e Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Fri, 11 Sep 2020 14:45:39 +0800 Subject: [PATCH 14/37] update openjdk to oracle in front&install --- docs/WeBASE-Front/appendix.md | 5 +++-- docs/WeBASE/install.md | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/WeBASE-Front/appendix.md b/docs/WeBASE-Front/appendix.md index cd703f80..9f1f5b3e 100644 --- a/docs/WeBASE-Front/appendix.md +++ b/docs/WeBASE-Front/appendix.md @@ -151,7 +151,8 @@ FAILURE: Build failed with an exception. nested exception is javax.net.ssl.SSLException: Failed to initialize the client-side SSLContext: Input stream not contain valid certificates. ``` -答:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,因此在使用CentOS操作系统时,推荐从[OpenJDK网站](https://jdk.java.net/java-se-ri/11)自行下载。 +答:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,因此在使用CentOS操作系统时,推荐使用[OracleJDK](#jdk)。 + - 7:启动报错“Processing bcos message timeout” @@ -162,7 +163,7 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating ... ``` -答:一些Oracle JDK版本缺少相关包,导致节点连接异常。推荐使用OpenJDK,从[OpenJDK网站](https://jdk.java.net/java-se-ri/11)自行下载。 +答:一些OpenJDK版本缺少相关包,导致节点连接异常。推荐使用[OracleJDK](#jdk)。 - 8:启动失败,日志却没有异常 diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index 9e9f6507..f7531abc 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -26,7 +26,7 @@ #### 检查Java -JDK1.8或以上版本,推荐使用OracleJDK[安装指引](#jdk): +推荐JDK8-JDK13版本,使用OracleJDK[安装指引](#jdk): ``` java -version ``` @@ -353,7 +353,7 @@ http://{deployIP}:{webPort} **注意:CentOS下OpenJDK无法正常工作,需要安装OracleJDK[下载链接](https://www.oracle.com/technetwork/java/javase/downloads/index.html)。** ``` -# 创建新的文件夹,安装Java 8或以上的版本,将下载的jdk放在software目录 +# 创建新的文件夹,安装Java 8或以上的版本,推荐JDK8-JDK13版本,将下载的jdk放在software目录 # 从Oracle官网(https://www.oracle.com/technetwork/java/javase/downloads/index.html)选择Java 8或以上的版本下载,例如下载jdk-8u201-linux-x64.tar.gz $ mkdir /software @@ -578,7 +578,7 @@ OperationalError: (1045, "Access denied for user 'root'@'localhost' (using passw nested exception is javax.net.ssl.SSLException: Failed to initialize the client-side SSLContext: Input stream not contain valid certificates. ``` -答:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,因此在使用CentOS操作系统时,推荐从[OpenJDK网站](https://jdk.java.net/java-se-ri/11)自行下载。 +答:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,因此在使用CentOS操作系统时,推荐使用[OracleJDK](#jdk)。 ### 9.前置启动报错“Processing bcos message timeout” @@ -590,7 +590,7 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating ... ``` -答:一些Oracle JDK版本缺少相关包,导致节点连接异常。推荐使用OpenJDK,从[OpenJDK网站](https://jdk.java.net/java-se-ri/11)自行下载。 +答:一些OpenJDK版本缺少相关包,导致节点连接异常。推荐使用[OracleJDK](#jdk)。 ### 10. 服务进程起来了,服务不正常 @@ -608,7 +608,7 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating * 进入 `webase-node-mgr` 目录下,执行 `bash status.sh` 检查服务是否启动,如果服务没有启动,运行 `bash start.sh` 启动服务; * 如果服务已经启动,按照如下修改日志级别 - * 方法一:`webase-node-mgr/conf/application.yml` + * `webase-node-mgr/conf/application.yml` ``` #log config @@ -617,7 +617,7 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating com.webank.webase.node.mgr: debug ``` - * 方法二:`webase-node-mgr/conf/log/log4j2.xml` + * `webase-node-mgr/conf/log/log4j2.xml` ``` From 4c6823dfd76d0a61b59259e9e0d618e05f3c06d2 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Fri, 11 Sep 2020 18:09:37 +0800 Subject: [PATCH 15/37] fix url --- docs/WeBASE-Node-Manager/interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index 3f6e38d5..ef8d5223 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -7009,7 +7009,7 @@ http://localhost:5001/WeBASE-Node-Manager/governance/operator #### 13.23.1 传输协议规范 * 网络传输协议:使用HTTP协议 -* 请求地址: **/governance/contract/status** +* 请求地址: **/precompiled/contract/status** * 请求方式: POST * 请求头:Content-type: application/json * 返回格式:JSON From c988318e884e193c8d3d41c03f9a0b88ec17898a Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Thu, 17 Sep 2020 11:24:42 +0800 Subject: [PATCH 16/37] update front interface code --- docs/WeBASE-Front/interface.md | 48 +++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/docs/WeBASE-Front/interface.md b/docs/WeBASE-Front/interface.md index 5bc19c86..d49678db 100644 --- a/docs/WeBASE-Front/interface.md +++ b/docs/WeBASE-Front/interface.md @@ -5760,6 +5760,10 @@ b、正确发送数据上链返回值信息(交易收据) | 201042 | There is no sol files in source | solidity文件不存在 | | 201043 | invalid group operate type | 群组操作类型不正确 | | 201044 | invalid data type | 不正确的数据类型 | +| 201045 | encode string can not be empty | 已签名的参数内容不能为空 | +| 201046 | transaction failed | 交易上链失败 | +| 201050 | Fail to parse json | 链上返回值反序列化失败 | +| 201051 | get consensus status fail | 交易上链失败 | | 201101 | groupId cannot be empty | 群组编号不能为空 | | 201102 | tableName cannot be empty | 表名不能为空 | | 201103 | permissionType cannot be empty | 权限类型不能为空 | @@ -5794,7 +5798,6 @@ b、正确发送数据上链返回值信息(交易收据) | 201151 | Unsupported contract param type to encoded | 不支持编码的合约参数类型 | | 201152 | Unsupported contract param type to decoded | 不支持解码的合约参数类型 | | 201153 | unable to create instance of type, check input params | 无法创建该合约参数类型的实例,请检查入参 | - | 201200 | params not fit | 参数不符合要求 | | 201201 | address is invalid | 账户地址不正确 | | 201202 | permission denied, please check chain administrator permission | 权限不足,请检查用户 | @@ -5827,7 +5830,25 @@ b、正确发送数据上链返回值信息(交易收据) | 201248 | Contract abi invalid, please check abi | 合约ABI格式错误,请检查入参 | | 201255 | contract address already exists | 合约地址已存在 | | 201256 | abi info of this id not exists | abi不存在 | -| 201257 | Abi Id cannot be empty | abi编号不能为空 | +| 201301 | threshold must be greater than zero | 链阈值必须大于0 | +| 201302 | committee weight must be greater than zero | 链委员权重必须大于0 | +| 201303 | chain governance address cannot be blank | 链管理委员/运维地址不能为空 | +| 201501 | web3sdk create key pair fail and return null | sdk创建私钥对失败并返回Null | +| 201502 | pem/p12 manager get key pair error for input params | pem/p12证书获取私钥对失败,检查入参 | +| 201503 | pem/p12 manager get key pair error for bc dependency error | pem/p12证书获取私钥对失败,检查bc依赖包版本 | +| 201504 | sign service return error | 签名服务并返回异常 | +| 201510 | transaction receipt status return error | 交易回执状态码非0x0,交易执行失败 | +| 201511 | contract abi parse json error | 合约ABI转JSON失败 | +| 201512 | call contract error for io exception | 调用合约的交易上链失败 | +| 201513 | get transaction receipt fail for exec | 获取交易回执失败,返回执行错误 | +| 201514 | get transaction receipt fail for time out | 获取交易回执失败,链上链下请求超时 | +| 201515 | transaction receipt fail and parse output fail | 转化交易回执中output输出值失败 | +| 201516 | transaction receipt fail and output is null | 交易回执output为空 | +| 201517 | call contract constant method fail | 合约状态异常,调用合约constant方法失败 | +| 201521 | get list of manager on chain fail | 获取链上管理员列表失败 | +| 201522 | table key length error | 用户表的键值长度大于最大值255 | +| 201523 | crud's param parse json error | CRUD方法的入参转Entry/Condition失败,请检查入参 | +| 201524 | precompiled common transfer to json fail | 预编译错误码转JSON失败 | ### 2. Precompiled Service说明 @@ -5880,4 +5901,25 @@ contract TableFactory { | -51500 | contract name and version already exist | | | -51501 | condition parse error | | | -51502 | condition operation undefined | | - +| -51600 | invalid ciphers | | +| -51700 | group sig failed | | +| -51800 | ring sig failed | | +| -51900 | contract frozen | | +| -51901 | contract available | | +| -51902 | contract repeat authorization | | +| -51903 | invalid contract address | | +| -51904 | table not exist | | +| -51905 | no authorized | | +| -52000 | committee member exist | | +| -52001 | committee member not exist | | +| -52002 | invalid request permission denied | | +| -52003 | invalid threshold | | +| -52004 | operator can't be committee member | | +| -52005 | committee member can't be operator | | +| -52006 | operator exist | | +| -52007 | operator not exist | | +| -52008 | account not exist | | +| -52009 | invalid account address | | +| -52010 | account already available | | +| -52011 | account frozen | | +| -52012 | current value is expected value | | From ed769e352b93bf0640e041a15163a7326206fb3e Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Thu, 17 Sep 2020 14:41:05 +0800 Subject: [PATCH 17/37] update front error code & add nodemgr code --- docs/WeBASE-Front/interface.md | 2 +- docs/WeBASE-Node-Manager/interface.md | 224 ++++++++++++++++++++++++++ docs/WeBASE-Sign/interfaces.md | 2 +- 3 files changed, 226 insertions(+), 2 deletions(-) diff --git a/docs/WeBASE-Front/interface.md b/docs/WeBASE-Front/interface.md index d49678db..aa818266 100644 --- a/docs/WeBASE-Front/interface.md +++ b/docs/WeBASE-Front/interface.md @@ -5707,7 +5707,7 @@ b、正确发送数据上链返回值信息(交易收据) ## 11. 附录 ### 1. 返回码信息列表 - + | code | message | 描述 | | ------ | -------------------------------------------- | -------------------------- | diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index ef8d5223..f4b61691 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -8528,6 +8528,183 @@ v1.4.0 ## 附录 +### 1. 返回码信息列表 + + +`X01XXX`为WeBASE-Front[节点前置错误码](../WeBASE-Front/interface.html#code),`X02XXX`为WeBASE-Node-Manager节点管理服务错误码,`X03XXX`为WeBASE-Sign[签名服务错误码](../WeBASE-Sign/interfaces.html#code)。 + + +| code | message | 描述 | +| ------ | -------------------------------------------- | -------------------------- | +| 0 | success | 成功 | +| 102001 | system error | 系统异常 | +| 102002 | system exception: please check front | 系统异常,请检查前置状态 | +| 102003 | No group belongs to this groupId(node not belongs to this group) | 当前节点不属于当前群组 | +| 202000 | invalid front id | 不正确的前置ID(添加节点前置失败) | +| 202001 | database exception | 群组编号不能为空 | +| 202002 | not found any front for this group | 群组编号不能为空 | +| 202003 | not support this ip | 群组编号不能为空 | +| 202004 | front already exists | 群组编号不能为空 | +| 202005 | group id cannot be empty | 群组编号不能为空 | +| 202006 | invalid group id | 群组编号不能为空 | +| 202007 | checkCode is null | 群组编号不能为空 | +| 202008 | invalid checkCode | 群组编号不能为空 | +| 202009 | save front fail | 群组编号不能为空 | + + +| 202010 | request front fail | 群组编号不能为空 | +| 202011 | abiInfo cannot be empty | 群组编号不能为空 | +| 202012 | user id cannot be empty | 群组编号不能为空 | +| 202013 | invalid user | 群组编号不能为空 | +| 202014 | user already exists | 群组编号不能为空 | +| 202015 | contract already exists | 群组编号不能为空 | + +| 202017 | invalid contract id | 群组编号不能为空 | +| 202018 | invalid param info | 群组编号不能为空 | +| 202019 | contract name cannot be repeated | 群组编号不能为空 | + + +| 202023 | contract has not deploy | 群组编号不能为空 | +| 202026 | account info already exists | 群组编号不能为空 | +| 202027 | account info not exists | 群组编号不能为空 | +| 202028 | account name empty | 群组编号不能为空 | +| 202029 | invalid account name | 群组编号不能为空 | + +| 202030 | password error | 群组编号不能为空 | +| 202031 | role id cannot be empty | 群组编号不能为空 | +| 202032 | invalid role id | 群组编号不能为空 | +| 202033 | invalid contract address | 群组编号不能为空 | +| 202034 | login fail | 群组编号不能为空 | +| 202035 | contract has been deployed | 群组编号不能为空 | +| 202036 | publicKey cannot be empty | 群组编号不能为空 | +| 202037 | associated account cannot be empty | 群组编号不能为空 | + +| 202040 | contract deploy not success | 群组编号不能为空 | +| 202045 | the new password cannot be same as old | 群组编号不能为空 | + +| 202050 | publicKey's length is 130,address's length is 42 | | +| 202051 | wrong host or port | | +| 202052 | invalid token | | +| 202053 | token expire | 群组编号不能为空 | +| 202054 | Available front url is empty, check front status | | + +| 202060 | cert handle error | 群组编号不能为空 | +| 202061 | store cert error | 群组编号不能为空 | +| 202062 | cert format error, must start with -----BEGIN CERTIFICATE-----\\n, end with end | 群组编号不能为空 | +| 202063 | saving front's cert error | 群组编号不能为空 | + +| 202070 | Mail server config error | 群组编号不能为空 | +| 202071 | Mail server config param empty/not match | 群组编号不能为空 | +| 202072 | Mail server config error, db's server config is empty | 群组编号不能为空 | + +| 202076 | Alert rule error | 群组编号不能为空 | +| 202077 | Alert rule param not match | 群组编号不能为空 | + +| 202080 | Send mail error, please check mail server configuration | 群组编号不能为空 | +| 202081 | Send mail error, please enable mail server before send | 群组编号不能为空 | + +| 202086 | Alert log error | 群组编号不能为空 | +| 202087 | Alert log param: status/logId is empty | 群组编号不能为空 | + +| 202090 | Update guomi methodId error | 群组编号不能为空 | +| 202091 | Front's encrypt type not matches with nodemgr | 群组编号不能为空 | + +| 202096 | contract address already exists | 群组编号不能为空 | +| 202097 | abi info of this id not exists | 群组编号不能为空 | +| 202098 | Contract abi invalid, please check abi | 群组编号不能为空 | +| 202099 | Abi Id cannot be empty | 群组编号不能为空 | +| 202100 | contractAddress is null | 群组编号不能为空 | + +| 202110 | User's signUserId not exist | 群组编号不能为空 | +| 202111 | Fail to parse json | 群组编号不能为空 | + +| 202121 | Cert file not found, please check cert path in config | 群组编号不能为空 | +| 202122 | Pem file format error, must surrounded by -----XXXXX PRIVATE KEY----- | 群组编号不能为空 | +| 202123 | Pem file content error | 群组编号不能为空 | +| 202124 | p12's password cannot be chinese | 群组编号不能为空 | +| 202125 | p12's password not match | 群组编号不能为空 | +| 202126 | P12 file content error | 群组编号不能为空 | + +| 202300 | token | 群组编号不能为空 | +| 202301 | token | 群组编号不能为空 | + +| 202310 | token | 群组编号不能为空 | +| 202311 | token | 群组编号不能为空 | + +| 202401 | token | 群组编号不能为空 | +| 202402 | token | 群组编号不能为空 | +| 202403 | token | 群组编号不能为空 | +| 202404 | token | 群组编号不能为空 | +| 202405 | token | 群组编号不能为空 | +| 202406 | token | 群组编号不能为空 | +| 202407 | token | 群组编号不能为空 | +| 202408 | token | 群组编号不能为空 | +| 202409 | token | 群组编号不能为空 | +| 202410 | token | 群组编号不能为空 | +| 202411 | token | 群组编号不能为空 | +| 202412 | token | 群组编号不能为空 | +| 202413 | token | 群组编号不能为空 | +| 202414 | token | 群组编号不能为空 | +| 202415 | token | 群组编号不能为空 | +| 202416 | token | 群组编号不能为空 | +| 202417 | token | 群组编号不能为空 | +| 202418 | token | 群组编号不能为空 | +| 202419 | token | 群组编号不能为空 | +| 202420 | token | 群组编号不能为空 | +| 202421 | token | 群组编号不能为空 | +| 202422 | token | 群组编号不能为空 | +| 202423 | token | 群组编号不能为空 | +| 202424 | token | 群组编号不能为空 | +| 202425 | token | 群组编号不能为空 | +| 202426 | token | 群组编号不能为空 | +| 202427 | token | 群组编号不能为空 | +| 202428 | token | 群组编号不能为空 | +| 202429 | token | 群组编号不能为空 | +| 202430 | token | 群组编号不能为空 | +| 202431 | token | 群组编号不能为空 | +| 202432 | token | 群组编号不能为空 | +| 202433 | token | 群组编号不能为空 | +| 202434 | token | 群组编号不能为空 | +| 202435 | token | 群组编号不能为空 | +| 202436 | token | 群组编号不能为空 | +| 202437 | token | 群组编号不能为空 | +| 202438 | token | 群组编号不能为空 | +| 202439 | token | 群组编号不能为空 | +| 202440 | token | 群组编号不能为空 | +| 202441 | token | 群组编号不能为空 | +| 202442 | token | 群组编号不能为空 | +| 202443 | token | 群组编号不能为空 | +| 202444 | token | 群组编号不能为空 | +| 202445 | token | 群组编号不能为空 | +| 202446 | token | 群组编号不能为空 | +| 202447 | token | 群组编号不能为空 | +| 202448 | token | 群组编号不能为空 | +| 202449 | token | 群组编号不能为空 | +| 202450 | token | 群组编号不能为空 | +| 202451 | token | 群组编号不能为空 | +| 202452 | token | 群组编号不能为空 | +| 202453 | token | 群组编号不能为空 | +| 202454 | token | 群组编号不能为空 | +| 202455 | token | 群组编号不能为空 | +| 202456 | token | 群组编号不能为空 | +| 202457 | token | 群组编号不能为空 | +| 202458 | token | 群组编号不能为空 | +| 202459 | token | 群组编号不能为空 | +| 202460 | token | 群组编号不能为空 | +| 202461 | token | 群组编号不能为空 | +| 202462 | token | 群组编号不能为空 | +| 202463 | token | 群组编号不能为空 | +| 202464 | token | 群组编号不能为空 | +| 202465 | token | 群组编号不能为空 | +| 202466 | token | 群组编号不能为空 | +| 202467 | token | 群组编号不能为空 | +| 202468 | token | 群组编号不能为空 | + +| 302000 | token | 群组编号不能为空 | +| 302001 | token | 群组编号不能为空 | + +| 402000 | token | 群组编号不能为空 | + ### 2. Precompiled Service说明 对预编译合约接口的使用有疑惑,可以查看FISCO BCOS的[PreCompiledService API说明](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/sdk/java_sdk.html#precompiled-service-api) @@ -8554,3 +8731,50 @@ contract TableFactory { | 0x1005 | 存储表权限管理 | AuthorityPrecompiled.cpp | | 0x1006 | 并行合约配置 | ParallelConfigPrecompiled.cpp | + +**Precompiled Service API 错误码** + +| 错误码 | 消息内容 | 备注 | +| :----- | :---------------------------------------------- | :----- | +| 0 | success | | +| -50000 | permission denied | | +| -50001 | table name already exist | | +| -50100 | unknow function call | | +| -50101 | table does not exist | | +| -51000 | table name and address already exist | | +| -51001 | table name and address does not exist | | +| -51100 | invalid node ID | SDK错误码 | +| -51101 | the last sealer cannot be removed | | +| -51102 | the node is not reachable | SDK错误码 | +| -51103 | the node is not a group peer | SDK错误码 | +| -51104 | the node is already in the sealer list | SDK错误码 | +| -51105 | the node is already in the observer list | SDK错误码 | +| -51200 | contract name and version already exist | SDK错误码 | +| -51201 | version string length exceeds the maximum limit | SDK错误码 | +| -51300 | invalid configuration entry | | +| -51500 | contract name and version already exist | | +| -51501 | condition parse error | | +| -51502 | condition operation undefined | | +| -51600 | invalid ciphers | | +| -51700 | group sig failed | | +| -51800 | ring sig failed | | +| -51900 | contract frozen | | +| -51901 | contract available | | +| -51902 | contract repeat authorization | | +| -51903 | invalid contract address | | +| -51904 | table not exist | | +| -51905 | no authorized | | +| -52000 | committee member exist | | +| -52001 | committee member not exist | | +| -52002 | invalid request permission denied | | +| -52003 | invalid threshold | | +| -52004 | operator can't be committee member | | +| -52005 | committee member can't be operator | | +| -52006 | operator exist | | +| -52007 | operator not exist | | +| -52008 | account not exist | | +| -52009 | invalid account address | | +| -52010 | account already available | | +| -52011 | account frozen | | +| -52012 | current value is expected value | | + diff --git a/docs/WeBASE-Sign/interfaces.md b/docs/WeBASE-Sign/interfaces.md index 16525aec..5243bedb 100644 --- a/docs/WeBASE-Sign/interfaces.md +++ b/docs/WeBASE-Sign/interfaces.md @@ -587,7 +587,7 @@ v1.4.0 ## 附录 ### 1. 返回码信息列表 - + | Code | message | 描述 | |---------|---------------------------------------|----------------------------| | 0  | success | 正常 | From 84c59305ce4febc3dbcc8151634a9dcc1cc942eb Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Thu, 17 Sep 2020 16:06:58 +0800 Subject: [PATCH 18/37] add mirror doc --- docs/WeBASE/mirror.md | 101 ++++++++++++++++++++++++++++++++++++++++++ index.rst | 19 ++++---- 2 files changed, 111 insertions(+), 9 deletions(-) create mode 100644 docs/WeBASE/mirror.md diff --git a/docs/WeBASE/mirror.md b/docs/WeBASE/mirror.md new file mode 100644 index 00000000..77d668ac --- /dev/null +++ b/docs/WeBASE/mirror.md @@ -0,0 +1,101 @@ +# 国内镜像和CDN加速攻略 +本节为访问GitHub较慢的用户提供国内源码镜像与安装包下载地址,以及WeBASE文档加速访问介绍。 + +## WeBASE及子系统源码及安装包 + +### 源码同步 + +WeBASE当前仓库源码位于[https://github.com/WebankFinTech/WeBASE](https://github.com/WebankFinTech/WeBASE),每个新的版本发布会将代码合入master分支。 + +为了方便国内用户,我们同样在gitee上提供了镜像仓库[https://giteee.com/Webank/WeBASE](https://giteee.com/Webank/WeBASE),每次新版本发布后,镜像仓库会同步GitHub上官方仓库的更新,如果从GitHub下载失败,请尝试使用Gitee镜像仓库。 + +WeBASE各子系统的Github代码仓库则是`https://github.com/WebankFinTech/` + `WeBASE-XXX`,对应的gitee仓库则是`https://gitee.com/WeBank/` + `WeBASE-XXX` + +如WeBASE-Front的Github代码仓库为`https://github.com/WebankFinTech/WeBASE-Front`,Gitee代码仓库为`https://gitee.com/WeBank/WeBASE-Front` + +### 一键部署与安装包 + +WeBASE每个新版本发布后,会在[WeBASELargefiles](https://github.com/WeBankFinTech/WeBASELargefiles/releases)GitHub的Releases中提供对应的WeBASE一键部署工具和对应安装包。 + +其中WeBASELargefiles提供webase-deploy一键部署工具(即WeBASE源码中`/deploy`文件夹),以及webase-front.zip, webase-node-mgr.zip, webase-sign.zip, webase-web.zip子系统的安装包。 + +同时提供以下国内镜像,**可加速下载安装包**: +```Bash +https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/{release_version}/webase-{subsystem}.zip +``` +其中`{release_version}`为`v1.x.x`格式,`{subsystem}`则是子系统名字。 + +支持下载`sign, front, node-mgr, web`子系统的zip安装包(全小写),暂不支持webase-transaction的安装包下载。 + +## WeBASE文档 + +WeBASE文档使用readthedocs管理,全部开源于[https://webasedoc.readthedocs.io/zh_CN/latest/index.html](https://webasedoc.readthedocs.io/zh_CN/latest/index.html),同样提供国内镜像文档[https://fintech.webank.com/developer/docs/webase/index.html](https://fintech.webank.com/developer/docs/webase/index.html),*由于网站资源更新周期安排,国内镜像文档更新会比readthedocs有所延迟*。 + +每个版本发布会为上个版本的文档打Tag,新版本的文档会合入主干分支,文档由于会持续改进,所以是下个版本发布才打上个版本的tag。readthedocs文档支持下载PDF格式,方便用户使用。 + +## 举例:使用国内镜像进行一键部署 + +本节WeBASE 1.4.1为例进行一键部署,一键部署会默认使用国内镜像下载安装包,下面仅演示关键步骤,具体操作可参考[WeBASE一键部署](./install.html) + +### 下载WeBASE一键部署工具 + +```bash +wget https://github.com/WeBankFinTech/WeBASELargeFiles/releases/download/v1.4.0/webase-deploy.zip +``` + +如果下载失败请尝试`git clone https://github.com/WeBankFinTech/WeBASE.git`,并使用`WeBASE/deploy`目录的部署脚本即可。 + +### 单独下载WeBASE子系统的安装包 + +WeBASE一键部署(webase-deploy)会自动下载子系统安装包,用户也可以手动下载安装包或编译源码得到安装包,并复制到webase-deploy目录下。 + +如需手动下载某一子系统的安装包,可以直接通过`wget`或者`curl -O`命令直接获取安装包。比如: + +- 获取WeBASE-Node-Manager v1.4.1的安装包`webase-node-mgr.zip` + +``` +wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.1/webase-node-mgr.zip +// 或 +curl -LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.1/webase-node-mgr.zip +``` + +若通过源码编译获取安装包并用于一键部署工具,需要进行文件夹的重命名,参考下一章节。 + +## 举例:使用国内源码镜像编译WeBASE-Front + +本节以WeBASE-Front子系统为例,从gitee镜像下载源码并编译,编译后的配置方法,请参考各子系统的安装部署文档。 + +### 下载源码 + +```bash +git clone https://gitee.com/WeBank/WeBASE-Front.git +``` + +### 编译源码 + +依据WeBASE-Front节点前置安装文档的[环境要求](../WeBASE-Front/install.html)进行配置,如jdk(oracle jdk8及以上),配置gradle(4.10或以上)或直接使用gradlew脚本进行编译 + +```bash +// java版本 +java -version +// 进入源码目录 +cd WeBASE-Front +// 已有gradle时,使用gradle +gradle build -x test +// 不配置gradle,直接使用gradlew +chmod +x ./gradlew && ./gradlew build -x test +``` + +### 修改配置 +编译完成后,将在当前目录得到`dist`文件夹 + +重命名dist包中的`conf_template`为`conf`后,并将节点的sdk证书复制到`conf`目录后,即可启动。 + +修改配置的具体方法,可参考[WeBASE-Front部署](../WeBASE-Front/install.html) +``` +cd dist +mv conf_template conf +// 此处需要复制ca.crt, node.crt, node.key +cp /fisco/nodes/127.0.0.1/sdk/* ./conf +bash start.sh +``` diff --git a/index.rst b/index.rst index 7486f463..61d93570 100644 --- a/index.rst +++ b/index.rst @@ -6,15 +6,15 @@ WeBASE 技术文档 .. admonition:: Overview - - WEBASE整体架构,请参考 `整体架构 <./docs/WeBASE/introduction.html>`_ - - WEBASE搭建,请参考 `安装 <./docs/WeBASE/install.html>`_ - - WeBASE-Front详细介绍请参考 `WeBASE-Front <./docs/WeBASE-Front/README.html>`_ - - WeBASE-Node-Manager详细介绍请参考 `WeBASE-Node-Manager <./docs/WeBASE-Node-Manager/README.html>`_ - - WeBASE-Web详细介绍请参考 `WeBASE-Web <./docs/WeBASE-Web/README.html>`_ - - WeBASE-Codegen-Monkey详细介绍请参考 `WeBASE-Codegen-Monkey <./docs/WeBASE-Codegen-Monkey/index.html>`_ - - WeBASE-Collect-Bee详细介绍请参考 `WeBASE-Collect-Bee <./docs/WeBASE-Collect-Bee/index.html>`_ - - WeBASE-Sign详细介绍请参考 `WeBASE-Sign <./docs/WeBASE-Sign/README.html>`_ - - WeBASE-Transaction详细介绍请参考 `WeBASE-Transaction <./docs/WeBASE-Transaction/index.html>`_ + - WEBASE整体架构,请参考 `整体架构文档 <./docs/WeBASE/introduction.html>`_ + - WEBASE搭建,请参考 `安装文档 <./docs/WeBASE/install.html>`_ 或[WeBASE源码仓库](https://github.com/WebankFinTech/WeBASE) + - WeBASE-Front详细介绍请参考 `WeBASE-Front文档 <./docs/WeBASE-Front/README.html>`_ 或[WeBASE-Front源码仓库](https://github.com/WebankFinTech/WeBASE-Front) + - WeBASE-Node-Manager详细介绍请参考 `WeBASE-Node-Manager文档 <./docs/WeBASE-Node-Manager/README.html>`_ 或[WeBASE-Node-Manager源码仓库](https://github.com/WebankFinTech/WeBASE-Node-Manager) + - WeBASE-Web详细介绍请参考 `WeBASE-Web文档 <./docs/WeBASE-Web/README.html>`_ 或[WeBASE-Web源码仓库](https://github.com/WebankFinTech/WeBASE-Web) + - WeBASE-Codegen-Monkey详细介绍请参考 `WeBASE-Codegen-Monkey文档 <./docs/WeBASE-Codegen-Monkey/index.html>`_ 或[WeBASE-Codegen-Monkey源码仓库](https://github.com/WebankFinTech/WeBASE-Codegen-Monkey) + - WeBASE-Collect-Bee详细介绍请参考 `WeBASE-Collect-Bee文档 <./docs/WeBASE-Collect-Bee/index.html>`_ 或[WeBASE-Collect-Bee源码仓库](https://github.com/WebankFinTech/WeBASE-Collect-Bee) + - WeBASE-Sign详细介绍请参考 `WeBASE-Sign文档 <./docs/WeBASE-Sign/README.html>`_ 或[WeBASE-Sign源码仓库](https://github.com/WebankFinTech/WeBASE-Sign) + - WeBASE-Transaction详细介绍请参考 `WeBASE-Transaction文档 <./docs/WeBASE-Transaction/index.html>`_ 或[WeBASE-Transaction源码仓库](https://github.com/WebankFinTech/WeBASE-Transaction) .. toctree:: :maxdepth: 3 @@ -24,6 +24,7 @@ WeBASE 技术文档 docs/WeBASE-Console-Suit/index.md docs/WeBASE/subsystem.md docs/WeBASE/quick-start.md + docs/WeBASE/mirror.md docs/WeBASE/CONTRIBUTING.md docs/WeBASE/ChangeLOG.md .. From 64088a533cb2cb96e99bc724be45473728178168 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Thu, 17 Sep 2020 16:07:15 +0800 Subject: [PATCH 19/37] update webase install qa & index desc --- docs/WeBASE/install.md | 28 ++-------------------------- docs/WeBASE/introduction.md | 17 ++++++++++------- 2 files changed, 12 insertions(+), 33 deletions(-) diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index f7531abc..6ba2752d 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -633,32 +633,8 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating * 重启服务后,检查日志文件 `log/WeBASE-Node-Manager.log`。 * 检查是否有异常信息。如果有异常信息,根据具体的异常信息检查环境配置,或者通过搜索引擎进行排查。 -### 12. WeBASE CDN加速服务 +### 12. WeBASE 国内镜像与CDN加速服务 -答:WeBASE CDN 加速服务提供 WeBASE 各子系统安装包的下载服务。 - -为了提供更稳定的下载服务,从 WeBASE v1.4.0 开始使用新的 CDN 下载地址。具体使用方法如下: - -CDN 下载地址: -```Bash -https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/{release_version}/webase-{subsystem}.zip -``` - -其中`{release_version}`为`v1.x.x`格式,`{subsystem}`则是子系统名字,支持下载`sign, front, node-mgr, web`子系统的zip安装包(全小写),暂不支持webase-transaction的安装包下载。 - -可以直接通过`wget`或者`curl -O`命令直接获取安装包。比如: - -- 获取WeBASE-Node-Manager v1.4.0的安装包`webase-node-mgr.zip` - -``` -wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.0/webase-node-mgr.zip -// 或 -curl -O https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.0/webase-node-mgr.zip -``` - - -### 13. WeBASE代码仓库国内gitee镜像 - -答:WeBASE代码仓库在国内的gitee镜像地址为`https://gitee.com/WeBank/WeBASE`,WeBASE其他子系统的仓库则是`https://gitee.com/WeBank/`+ `WeBASE-XXX`,如WeBASE-Front的gitee代码仓库为`https://gitee.com/WeBank/WeBASE-Front` +答:WeBASE CDN 加速服务提供 WeBASE 各子系统安装包的下载服务,可参考[国内镜像和CDN加速攻略](./mirror.html) diff --git a/docs/WeBASE/introduction.md b/docs/WeBASE/introduction.md index 5b22f883..6bbed8d2 100644 --- a/docs/WeBASE/introduction.md +++ b/docs/WeBASE/introduction.md @@ -26,24 +26,27 @@ WeBASE所有子系统独立存在,均可独立部署,独立提供服务。 ![[]](../../images/WeBASE/function.png) ## 各子系统简介 -- **节点前置服务** [WeBASE-Front](https://github.com/WeBankFinTech/WeBASE-Front) 集成web3sdk,提供RESTful风格的接口,客户端可以使用http的形式和节点进行交互,内置内存数据库,采集节点健康度数据。内置web控制台,实现节点的可视化操作。 + +- **节点前置服务** [WeBASE-Front仓库](https://github.com/WeBankFinTech/WeBASE-Front) 集成web3sdk,提供RESTful风格的接口,客户端可以使用http的形式和节点进行交互,内置内存数据库,采集节点健康度数据。内置web控制台,实现节点的可视化操作。 - **节点管理服务** -[WeBASE-Node-Manager](https://github.com/WeBankFinTech/WeBASE-Node-Manager) +[WeBASE-Node-Manager仓库](https://github.com/WeBankFinTech/WeBASE-Node-Manager) 处理前端页面所有web请求,管理各个节点的状态,管理链上所有智能合约,对区块链的数据进行统计、分析,对异常交易的审计,私钥管理等。 - **WeBASE管理平台** -[WeBASE-Web](https://github.com/WeBankFinTech/WeBASE-Web) +[WeBASE-Web仓库](https://github.com/WeBankFinTech/WeBASE-Web) 可视化操作平台,可基于此平台查看节点信息,开发智能合约等。 - **交易服务** -[WeBASE-Transcation](https://github.com/WeBankFinTech/WeBASE-Transcation) 接收交易请求,缓存交易到数据库中,异步上链,可大幅提升吞吐量,解决区块链的tps瓶颈。 +[WeBASE-Transcation仓库](https://github.com/WeBankFinTech/WeBASE-Transcation) 接收交易请求,缓存交易到数据库中,异步上链,可大幅提升吞吐量,解决区块链的tps瓶颈。 - **私钥托管和签名服务** -[WeBASE-Sign](https://github.com/WeBankFinTech/WeBASE-Sign) 托管用户私钥,提供云端签名。 +[WeBASE-Sign仓库](https://github.com/WeBankFinTech/WeBASE-Sign) 托管用户私钥,提供云端签名。 - **数据导出代码生成工具** -[WeBASE-Codegen-Monkey](https://github.com/WeBankFinTech/WeBASE-Codegen-Monkey) 代码生成工具,通过配置可以生成数据导出的核心代码。 +[WeBASE-Codegen-Monkey仓库](https://github.com/WeBankFinTech/WeBASE-Codegen-Monkey) 代码生成工具,通过配置可以生成数据导出的核心代码。 - **数据导出服务** -[WeBASE-Collect-Bee](https://github.com/WeBankFinTech/WeBASE-Collect-Bee) 导出区块链上的基础数据,如当前块高、交易总量等,通过智能合约的配置,导出区块链上合约的业务数据,包括event、构造函数、合约地址、执行函数的信息等。 +[WeBASE-Collect-Bee仓库](https://github.com/WeBankFinTech/WeBASE-Collect-Bee) 导出区块链上的基础数据,如当前块高、交易总量等,通过智能合约的配置,导出区块链上合约的业务数据,包括event、构造函数、合约地址、执行函数的信息等。 + +各子系统的技术文档可到[WeBASE子系统文档](https://fintech.webank.com/developer/docs/webase/docs/WeBASE/subsystem.html)中查看 \ No newline at end of file From 598fe5c31600068d937dc0b505130310b441ce85 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Thu, 17 Sep 2020 16:09:08 +0800 Subject: [PATCH 20/37] update code nodemgr --- docs/WeBASE-Node-Manager/interface.md | 326 +++++++++++++------------- 1 file changed, 163 insertions(+), 163 deletions(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index f4b61691..fb120ff7 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -8541,169 +8541,169 @@ v1.4.0 | 102002 | system exception: please check front | 系统异常,请检查前置状态 | | 102003 | No group belongs to this groupId(node not belongs to this group) | 当前节点不属于当前群组 | | 202000 | invalid front id | 不正确的前置ID(添加节点前置失败) | -| 202001 | database exception | 群组编号不能为空 | -| 202002 | not found any front for this group | 群组编号不能为空 | -| 202003 | not support this ip | 群组编号不能为空 | -| 202004 | front already exists | 群组编号不能为空 | -| 202005 | group id cannot be empty | 群组编号不能为空 | -| 202006 | invalid group id | 群组编号不能为空 | -| 202007 | checkCode is null | 群组编号不能为空 | -| 202008 | invalid checkCode | 群组编号不能为空 | -| 202009 | save front fail | 群组编号不能为空 | - - -| 202010 | request front fail | 群组编号不能为空 | -| 202011 | abiInfo cannot be empty | 群组编号不能为空 | -| 202012 | user id cannot be empty | 群组编号不能为空 | -| 202013 | invalid user | 群组编号不能为空 | -| 202014 | user already exists | 群组编号不能为空 | -| 202015 | contract already exists | 群组编号不能为空 | - -| 202017 | invalid contract id | 群组编号不能为空 | -| 202018 | invalid param info | 群组编号不能为空 | -| 202019 | contract name cannot be repeated | 群组编号不能为空 | - - -| 202023 | contract has not deploy | 群组编号不能为空 | -| 202026 | account info already exists | 群组编号不能为空 | -| 202027 | account info not exists | 群组编号不能为空 | -| 202028 | account name empty | 群组编号不能为空 | -| 202029 | invalid account name | 群组编号不能为空 | - -| 202030 | password error | 群组编号不能为空 | -| 202031 | role id cannot be empty | 群组编号不能为空 | -| 202032 | invalid role id | 群组编号不能为空 | -| 202033 | invalid contract address | 群组编号不能为空 | -| 202034 | login fail | 群组编号不能为空 | -| 202035 | contract has been deployed | 群组编号不能为空 | -| 202036 | publicKey cannot be empty | 群组编号不能为空 | -| 202037 | associated account cannot be empty | 群组编号不能为空 | - -| 202040 | contract deploy not success | 群组编号不能为空 | -| 202045 | the new password cannot be same as old | 群组编号不能为空 | - -| 202050 | publicKey's length is 130,address's length is 42 | | -| 202051 | wrong host or port | | -| 202052 | invalid token | | -| 202053 | token expire | 群组编号不能为空 | -| 202054 | Available front url is empty, check front status | | - -| 202060 | cert handle error | 群组编号不能为空 | -| 202061 | store cert error | 群组编号不能为空 | -| 202062 | cert format error, must start with -----BEGIN CERTIFICATE-----\\n, end with end | 群组编号不能为空 | -| 202063 | saving front's cert error | 群组编号不能为空 | - -| 202070 | Mail server config error | 群组编号不能为空 | -| 202071 | Mail server config param empty/not match | 群组编号不能为空 | -| 202072 | Mail server config error, db's server config is empty | 群组编号不能为空 | - -| 202076 | Alert rule error | 群组编号不能为空 | -| 202077 | Alert rule param not match | 群组编号不能为空 | - -| 202080 | Send mail error, please check mail server configuration | 群组编号不能为空 | -| 202081 | Send mail error, please enable mail server before send | 群组编号不能为空 | - -| 202086 | Alert log error | 群组编号不能为空 | -| 202087 | Alert log param: status/logId is empty | 群组编号不能为空 | - -| 202090 | Update guomi methodId error | 群组编号不能为空 | -| 202091 | Front's encrypt type not matches with nodemgr | 群组编号不能为空 | - -| 202096 | contract address already exists | 群组编号不能为空 | -| 202097 | abi info of this id not exists | 群组编号不能为空 | -| 202098 | Contract abi invalid, please check abi | 群组编号不能为空 | -| 202099 | Abi Id cannot be empty | 群组编号不能为空 | -| 202100 | contractAddress is null | 群组编号不能为空 | - -| 202110 | User's signUserId not exist | 群组编号不能为空 | -| 202111 | Fail to parse json | 群组编号不能为空 | - -| 202121 | Cert file not found, please check cert path in config | 群组编号不能为空 | -| 202122 | Pem file format error, must surrounded by -----XXXXX PRIVATE KEY----- | 群组编号不能为空 | -| 202123 | Pem file content error | 群组编号不能为空 | -| 202124 | p12's password cannot be chinese | 群组编号不能为空 | -| 202125 | p12's password not match | 群组编号不能为空 | -| 202126 | P12 file content error | 群组编号不能为空 | - -| 202300 | token | 群组编号不能为空 | -| 202301 | token | 群组编号不能为空 | - -| 202310 | token | 群组编号不能为空 | -| 202311 | token | 群组编号不能为空 | - -| 202401 | token | 群组编号不能为空 | -| 202402 | token | 群组编号不能为空 | -| 202403 | token | 群组编号不能为空 | -| 202404 | token | 群组编号不能为空 | -| 202405 | token | 群组编号不能为空 | -| 202406 | token | 群组编号不能为空 | -| 202407 | token | 群组编号不能为空 | -| 202408 | token | 群组编号不能为空 | -| 202409 | token | 群组编号不能为空 | -| 202410 | token | 群组编号不能为空 | -| 202411 | token | 群组编号不能为空 | -| 202412 | token | 群组编号不能为空 | -| 202413 | token | 群组编号不能为空 | -| 202414 | token | 群组编号不能为空 | -| 202415 | token | 群组编号不能为空 | -| 202416 | token | 群组编号不能为空 | -| 202417 | token | 群组编号不能为空 | -| 202418 | token | 群组编号不能为空 | -| 202419 | token | 群组编号不能为空 | -| 202420 | token | 群组编号不能为空 | -| 202421 | token | 群组编号不能为空 | -| 202422 | token | 群组编号不能为空 | -| 202423 | token | 群组编号不能为空 | -| 202424 | token | 群组编号不能为空 | -| 202425 | token | 群组编号不能为空 | -| 202426 | token | 群组编号不能为空 | -| 202427 | token | 群组编号不能为空 | -| 202428 | token | 群组编号不能为空 | -| 202429 | token | 群组编号不能为空 | -| 202430 | token | 群组编号不能为空 | -| 202431 | token | 群组编号不能为空 | -| 202432 | token | 群组编号不能为空 | -| 202433 | token | 群组编号不能为空 | -| 202434 | token | 群组编号不能为空 | -| 202435 | token | 群组编号不能为空 | -| 202436 | token | 群组编号不能为空 | -| 202437 | token | 群组编号不能为空 | -| 202438 | token | 群组编号不能为空 | -| 202439 | token | 群组编号不能为空 | -| 202440 | token | 群组编号不能为空 | -| 202441 | token | 群组编号不能为空 | -| 202442 | token | 群组编号不能为空 | -| 202443 | token | 群组编号不能为空 | -| 202444 | token | 群组编号不能为空 | -| 202445 | token | 群组编号不能为空 | -| 202446 | token | 群组编号不能为空 | -| 202447 | token | 群组编号不能为空 | -| 202448 | token | 群组编号不能为空 | -| 202449 | token | 群组编号不能为空 | -| 202450 | token | 群组编号不能为空 | -| 202451 | token | 群组编号不能为空 | -| 202452 | token | 群组编号不能为空 | -| 202453 | token | 群组编号不能为空 | -| 202454 | token | 群组编号不能为空 | -| 202455 | token | 群组编号不能为空 | -| 202456 | token | 群组编号不能为空 | -| 202457 | token | 群组编号不能为空 | -| 202458 | token | 群组编号不能为空 | -| 202459 | token | 群组编号不能为空 | -| 202460 | token | 群组编号不能为空 | -| 202461 | token | 群组编号不能为空 | -| 202462 | token | 群组编号不能为空 | -| 202463 | token | 群组编号不能为空 | -| 202464 | token | 群组编号不能为空 | -| 202465 | token | 群组编号不能为空 | -| 202466 | token | 群组编号不能为空 | -| 202467 | token | 群组编号不能为空 | -| 202468 | token | 群组编号不能为空 | - -| 302000 | token | 群组编号不能为空 | -| 302001 | token | 群组编号不能为空 | - -| 402000 | token | 群组编号不能为空 | +| 202001 | database exception | 数据库异常 | +| 202002 | not found any front for this group | 找不到此群组的任何前置 | +| 202003 | not support this ip | 不支持该ip | +| 202004 | front already exists | 前置已经存在 | +| 202005 | group id cannot be empty | 群组不能为空 | +| 202006 | invalid group id | 无效的网络编号 | +| 202007 | checkCode is null | 校验码为空 | +| 202008 | invalid checkCode | 无效的校验码 | +| 202009 | save front fail | 保存前置失败 | + + +| 202010 | request front fail | 请求前置失败 | +| 202011 | abiInfo cannot be empty | abi信息不能为空 | +| 202012 | user id cannot be empty | 用户编号不能为空 | +| 202013 | invalid user | 无效的用户编号 | +| 202014 | user already exists | 用户信息已经存在 | +| 202015 | contract already exists | 合约信息已经存在 | + +| 202017 | invalid contract id | 无效的合约编号 | +| 202018 | invalid param info | 无效的入参信息 | +| 202019 | contract name cannot be repeated | 合约名称不能重复 | + + +| 202023 | contract has not deploy | 合约尚未部署 | +| 202026 | account info already exists | 该帐号已经存在 | +| 202027 | account info not exists | 该帐号不存在 | +| 202028 | account name empty | 帐号名称不能为空 | +| 202029 | invalid account name | 无效的账号名称 | + +| 202030 | password error | 密码错误 | +| 202031 | role id cannot be empty | 角色编号不能为空 | +| 202032 | invalid role id | 无效的角色编号 | +| 202033 | invalid contract address | 无效的合约地址 | +| 202034 | login fail | 登录失败 | +| 202035 | contract has been deployed | 该合约已经部署 | +| 202036 | publicKey cannot be empty | 公钥不能为空 | +| 202037 | associated account cannot be empty | 用户信息不存在 | + +| 202040 | contract deploy not success | 合约部署失败 | +| 202045 | the new password cannot be same as old | 新旧密码不能一致 | + +| 202050 | publicKey's length is 130,address's length is 42 | 公钥长度为130,公钥地址长度为42 | +| 202051 | wrong host or port | 错误的主机或端口 | +| 202052 | invalid token | 无效的token | +| 202053 | token expire | token过期 | +| 202054 | Available front url is empty, check front status | 合约尚未部署 | + +| 202060 | cert handle error | 证书句柄错误 | +| 202061 | store cert error | 存储证书错误 | +| 202062 | cert format error, must start with -----BEGIN CERTIFICATE-----\\n, end with end | 证书格式错误,必须由 --BEGIN CERTIFICATE-- 包 | +| 202063 | saving front's cert error | 保存前置证书错误 | + +| 202070 | Mail server config error | 邮件服务器配置错误。 | +| 202071 | Mail server config param empty/not match | 邮件服务器配置参数为空/不匹配 | +| 202072 | Mail server config error, db's server config is empty | 邮件服务器配置错误,数据库的服务器配置为空 | + +| 202076 | Alert rule error | 警报规则错误。 | +| 202077 | Alert rule param not match | 警报规则参数不匹配。 | + +| 202080 | Send mail error, please check mail server configuration | 发送邮件错误,请检查邮件服务器配置。 | +| 202081 | Send mail error, please enable mail server before send | 发送邮件错误,请在发送前启用邮件服务器。 | + +| 202086 | Alert log error | 警报日志错误。 | +| 202087 | Alert log param: status/logId is empty | 警报日志参数:status/logId为空。 | + +| 202090 | Update guomi methodId error | 更新国密methodId错误 | +| 202091 | Front's encrypt type not matches with nodemgr | Front的加密类型与nodemgr不匹配 | + +| 202096 | contract address already exists | 合约地址已存在 | +| 202097 | abi info of this id not exists | 此ID的ABI信息不存在 | +| 202098 | Contract abi invalid, please check abi | 合约ABI无效,请检查ABI | +| 202099 | Abi Id cannot be empty | 此ID的ABI信息为空 | +| 202100 | contractAddress is null | 合约地址为空 | + +| 202110 | User's signUserId not exist | 用户的signUserId不存在 | +| 202111 | Fail to parse json | 解析json错误 | + +| 202121 | Cert file not found, please check cert path in config | 找不到证书文件,请检查配置中的证书路径 | +| 202122 | Pem file format error, must surrounded by -----XXXXX PRIVATE KEY----- | Pem文件格式错误,必须包含-----XXXXX PRIVATE KEY----- | +| 202123 | Pem file content error | Pem文件内容错误 | +| 202124 | p12's password cannot be chinese | P12的密码不能为中文 | +| 202125 | p12's password not match | P12的密码错误 | +| 202126 | P12 file content error | P12文件内容错误 | + +| 202300 | Group id already exists | 群组id已存在 | +| 202301 | Node's front not exists | 节点前置不存在 | + +| 202310 | govern vote record not exist | 投票记录不存在 | +| 202311 | permission denied on chain | 链上权限被禁止 | + +| 202401 | No configured of docker registry url. | 没有配置 Docker 镜像更新 URL 地址 | +| 202402 | Fetch image tag from docker registry error. | 从 Docker 源更新镜像版本失败 | +| 202403 | Fetch Docker image tag list error, unknown config type. | 查询 Docker 镜像版本失败(未知类型) | +| 202404 | Save chain's configuration to file error. | 保存链配置信息文件失败 | +| 202405 | Docker image tag invalid. | 错误的镜像版本 | +| 202406 | Configuration of host is empty. | 主机配置参数为空 | +| 202407 | Chain exists, deploy failed. | 链已存在,部署失败 | +| 202408 | Save chain data to DB error. | 插入链信息到数据库失败 | +| 202409 | Generate host, agency, group configuration error. | 生成主机,机构,群组配置信息文件失败 | +| 202410 | Execute build_chain.sh script error. | 执行 build_chain.sh 链生成脚本失败 | +| 202411 | Host, agency, group configuration error. | 主机,机构,群组配置信息错误 | +| 202412 | Host ip and num error. | 主机 IP,节点数量配置错误 | +| 202413 | Agency name invalid, only [a-zA-Z0-9_] is valid. | 机构名称格式错误,只能包含大小写字母,数字,下划线 | +| 202414 | Group id error, only positive integer is valid. | 群组编号格式错误,必须为正整数 | +| 202415 | Login to host /ip/ through SSH error. Please check SSH configuration. | SSH登录主机/ip/失败,请检查 SSH 配置 | +| 202416 | Save agency data into DB error. | 插入新机构信息到数据库失败 | +| 202417 | Save group data into DB error. | 插入新群组信息到数据库失败 | +| 202418 | Save host data into DB error. | 插入主机信息到数据库失败 | +| 202419 | Save front data into DB error. | 插入前置信息到数据库失败 | +| 202420 | Save node data into DB error. | 插入节点信息到数据库失败 | +| 202421 | Save node and front mapping data into DB error. | 插入前置和群组映射关系到数据库失败 | +| 202422 | Parse node index from directory error. | 从目录获取节点序号失败 | +| 202423 | A single host IP only belongs to one agency. | 一个 IP 主机,只能属于一个机构 | +| 202424 | Unknown error during deploying. | 部署时发生未知错误 | +| 202425 | SSH login through username and password is unsupported yet. | 不支持使用 SSH 密码登录主机 | +| 202426 | Chain has no agency. | 当前链没有所属机构 | +| 202427 | No deployed chain | 链不存在 | +| 202428 | IP format error. | IP 格式错误 | +| 202429 | Agency name cannot be blank when IP is new. | 主机 IP 是新 IP 时,机构名称不能为空 | +| 202430 | Agency name already exists. | 存在同名机构 | +| 202431 | Add new node error. | 新增节点错误 | +| 202432 | No valid chain certification. | 链证书无效 | +| 202433 | Generate agency private key and crt file error. | 生成机构私钥和证书失败 | +| 202434 | Host without agency error." | 主机所属机构为空 | +| 202435 | Node num should be positive integer, and less then 10. | 主机数量格式错误,正整数,并且小于 10 | +| 202436 | Generate sdk | 生成主机 SDK 私钥和证书失败 | +| 202437 | Generate node private key and crt files error. | 生成新节点私钥和证书失败 | +| 202438 | Copy SDK files error. | 拷贝 SDK 证书和私钥失败 | +| 202439 | Upload SDK files error. | 上传 SDK 证书和私钥失败 | +| 202440 | Upload node config files error. | 上传节点证书和私钥失败 | +| 202441 | Copy group config files from original node error. | 从旧节点复制群组配置文件失败 | +| 202442 | Delete tmp directory of agency error. | 删除机构临时目录失败 | +| 202443 | Delete tmp directory of SDK error. | 删除 SDK 临时目录失败 | +| 202444 | Delete tmp directory of node error. | 删除节点临时目录失败 | +| 202445 | Unknown nodeid. | 未知节点编号(nodeid) | +| 202446 | Stop node error. | 停止节点失败(停止容器) | +| 202447 | Start node error. | 启动节点失败(启动容器) | +| 202448 | Both new image tag and old are the same. | 链升级的新版本和链的现有版本相同 | +| 202449 | Upgrade chain to new image tag error. | 链升级失败 | +| 202450 | Delete node failed, node is still in group. | 节点仍属于群组,删除失败 | +| 202451 | Parse node's config files error. | 读取节点配置文件失败 | +| 202452 | Delete node's config error. | 删除节点配置文件失败 | +| 202453 | Stop node before deleting. | 节点正在运行,删除失败,请先停止节点 | +| 202454 | Update p2p part of related nodes error. | 更新关联节点 P2P 配置失败 | +| 202455 | Delete chain error. | 删除链失败 | +| 202456 | Node is still a sealer or observer, delete failed. | 节点处于观察或共识状态,删除失败 | +| 202457 | Fetch node list from host's configuration files | 从主机配置文件获取节点列表失败 | +| 202458 | Generate application.yml for front error | 生成前置 application.yml 配置文件失败 | +| 202459 | Init host with shell script error. | 通过脚本初始化主机失败 | +| 202460 | Sync files error. | 传输文件失败 | +| 202461 | Control container through Docker api error. | Docker 容器操作失败 | +| 202462 | Two nodes at least. | 至少两个节点。 | +| 202463 | Group need two sealers at least. | 群组至少需要两个共识节点。 | +| 202464 | WebaseSignAddess configuration error in Application.yml | application.yml中的webaseSignAddess配置错误 | +| 202465 | Error getting docker image mode | 获取镜像方式错误 | +| 202466 | Please pull the Docker image manually in host /ip/ | 主机/ip/请手动拉取 Docker 镜像 | +| 202467 | Max 4 nodes on a single host | 单个主机最多部署 4 个节点 | +| 202468 | Cannot install node on WeBASE-Node-Manager host. | 无法在WeBASE-Node-Manager主机上安装节点。 | + +| 302000 | user not logged in | 未登录的用户 | +| 302001 | Access denied | 没有权限 | + +| 402000 | param exception | 参数错误 | ### 2. Precompiled Service说明 From 2b301eba81f2792ace5db45343ac7906863d7ac5 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Thu, 17 Sep 2020 16:12:20 +0800 Subject: [PATCH 21/37] update version --- conf.py | 2 +- docs_en/conf.py | 2 +- release_note.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/conf.py b/conf.py index 56d933ba..a430f055 100644 --- a/conf.py +++ b/conf.py @@ -110,7 +110,7 @@ # The short X.Y version. version = '1.4' # The full version, including alpha/beta/rc tags. -release = 'v1.4.0' +release = 'v1.4.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs_en/conf.py b/docs_en/conf.py index f7589a68..a7595ef1 100644 --- a/docs_en/conf.py +++ b/docs_en/conf.py @@ -110,7 +110,7 @@ # The short X.Y version. version = '1.4' # The full version, including alpha/beta/rc tags. -release = 'v1.4.0' +release = 'v1.4.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/release_note.txt b/release_note.txt index 0d0c52f8..66d62a80 100644 --- a/release_note.txt +++ b/release_note.txt @@ -1 +1 @@ -v1.4.0 +v1.4.1 From e54f523016360fd3b21022bb95ce448b113d9433 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Thu, 17 Sep 2020 16:15:33 +0800 Subject: [PATCH 22/37] fix rst url --- index.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/index.rst b/index.rst index 61d93570..d8fae7aa 100644 --- a/index.rst +++ b/index.rst @@ -7,14 +7,14 @@ WeBASE 技术文档 .. admonition:: Overview - WEBASE整体架构,请参考 `整体架构文档 <./docs/WeBASE/introduction.html>`_ - - WEBASE搭建,请参考 `安装文档 <./docs/WeBASE/install.html>`_ 或[WeBASE源码仓库](https://github.com/WebankFinTech/WeBASE) - - WeBASE-Front详细介绍请参考 `WeBASE-Front文档 <./docs/WeBASE-Front/README.html>`_ 或[WeBASE-Front源码仓库](https://github.com/WebankFinTech/WeBASE-Front) - - WeBASE-Node-Manager详细介绍请参考 `WeBASE-Node-Manager文档 <./docs/WeBASE-Node-Manager/README.html>`_ 或[WeBASE-Node-Manager源码仓库](https://github.com/WebankFinTech/WeBASE-Node-Manager) - - WeBASE-Web详细介绍请参考 `WeBASE-Web文档 <./docs/WeBASE-Web/README.html>`_ 或[WeBASE-Web源码仓库](https://github.com/WebankFinTech/WeBASE-Web) - - WeBASE-Codegen-Monkey详细介绍请参考 `WeBASE-Codegen-Monkey文档 <./docs/WeBASE-Codegen-Monkey/index.html>`_ 或[WeBASE-Codegen-Monkey源码仓库](https://github.com/WebankFinTech/WeBASE-Codegen-Monkey) - - WeBASE-Collect-Bee详细介绍请参考 `WeBASE-Collect-Bee文档 <./docs/WeBASE-Collect-Bee/index.html>`_ 或[WeBASE-Collect-Bee源码仓库](https://github.com/WebankFinTech/WeBASE-Collect-Bee) - - WeBASE-Sign详细介绍请参考 `WeBASE-Sign文档 <./docs/WeBASE-Sign/README.html>`_ 或[WeBASE-Sign源码仓库](https://github.com/WebankFinTech/WeBASE-Sign) - - WeBASE-Transaction详细介绍请参考 `WeBASE-Transaction文档 <./docs/WeBASE-Transaction/index.html>`_ 或[WeBASE-Transaction源码仓库](https://github.com/WebankFinTech/WeBASE-Transaction) + - WEBASE搭建,请参考 `安装文档 <./docs/WeBASE/install.html>`_ 或`WeBASE源码仓库 `_ + - WeBASE-Front详细介绍请参考 `WeBASE-Front文档 <./docs/WeBASE-Front/README.html>`_ 或`WeBASE-Front源码仓库 `_ + - WeBASE-Node-Manager详细介绍请参考 `WeBASE-Node-Manager文档 <./docs/WeBASE-Node-Manager/README.html>`_ 或`WeBASE-Node-Manager源码仓库 `_ + - WeBASE-Web详细介绍请参考 `WeBASE-Web文档 <./docs/WeBASE-Web/README.html>`_ 或`WeBASE-Web源码仓库 `_ + - WeBASE-Codegen-Monkey详细介绍请参考 `WeBASE-Codegen-Monkey文档 <./docs/WeBASE-Codegen-Monkey/index.html>`_ 或`WeBASE-Codegen-Monkey源码仓库 `_ + - WeBASE-Collect-Bee详细介绍请参考 `WeBASE-Collect-Bee文档 <./docs/WeBASE-Collect-Bee/index.html>`_ 或`WeBASE-Collect-Bee源码仓库 `_ + - WeBASE-Sign详细介绍请参考 `WeBASE-Sign文档 <./docs/WeBASE-Sign/README.html>`_ 或`WeBASE-Sign源码仓库 `_ + - WeBASE-Transaction详细介绍请参考 `WeBASE-Transaction文档 <./docs/WeBASE-Transaction/index.html>`_ 或`WeBASE-Transaction源码仓库 `_ .. toctree:: :maxdepth: 3 From 73960b310e3c7774e5098a073ab6c73e744b6858 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Thu, 17 Sep 2020 16:17:48 +0800 Subject: [PATCH 23/37] fix nodemgr code table --- docs/WeBASE-Front/interface.md | 1 - docs/WeBASE-Node-Manager/interface.md | 22 ---------------------- 2 files changed, 23 deletions(-) diff --git a/docs/WeBASE-Front/interface.md b/docs/WeBASE-Front/interface.md index aa818266..6be8aef0 100644 --- a/docs/WeBASE-Front/interface.md +++ b/docs/WeBASE-Front/interface.md @@ -5801,7 +5801,6 @@ b、正确发送数据上链返回值信息(交易收据) | 201200 | params not fit | 参数不符合要求 | | 201201 | address is invalid | 账户地址不正确 | | 201202 | permission denied, please check chain administrator permission | 权限不足,请检查用户 | - | 201208 | unsupported for this system config key | 不支持设置该系统配置 | | 201209 | provide value by positive integer mode, from 100000 to 2147483647 | 请输入正值或[100000, 2147483647]范围的值 | | 201210 | set system config value fail for params error or permission denied | 设置系统配置失败,请检查权限 | diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index fb120ff7..c4fea3cb 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -8550,26 +8550,20 @@ v1.4.0 | 202007 | checkCode is null | 校验码为空 | | 202008 | invalid checkCode | 无效的校验码 | | 202009 | save front fail | 保存前置失败 | - - | 202010 | request front fail | 请求前置失败 | | 202011 | abiInfo cannot be empty | abi信息不能为空 | | 202012 | user id cannot be empty | 用户编号不能为空 | | 202013 | invalid user | 无效的用户编号 | | 202014 | user already exists | 用户信息已经存在 | | 202015 | contract already exists | 合约信息已经存在 | - | 202017 | invalid contract id | 无效的合约编号 | | 202018 | invalid param info | 无效的入参信息 | | 202019 | contract name cannot be repeated | 合约名称不能重复 | - - | 202023 | contract has not deploy | 合约尚未部署 | | 202026 | account info already exists | 该帐号已经存在 | | 202027 | account info not exists | 该帐号不存在 | | 202028 | account name empty | 帐号名称不能为空 | | 202029 | invalid account name | 无效的账号名称 | - | 202030 | password error | 密码错误 | | 202031 | role id cannot be empty | 角色编号不能为空 | | 202032 | invalid role id | 无效的角色编号 | @@ -8578,59 +8572,45 @@ v1.4.0 | 202035 | contract has been deployed | 该合约已经部署 | | 202036 | publicKey cannot be empty | 公钥不能为空 | | 202037 | associated account cannot be empty | 用户信息不存在 | - | 202040 | contract deploy not success | 合约部署失败 | | 202045 | the new password cannot be same as old | 新旧密码不能一致 | - | 202050 | publicKey's length is 130,address's length is 42 | 公钥长度为130,公钥地址长度为42 | | 202051 | wrong host or port | 错误的主机或端口 | | 202052 | invalid token | 无效的token | | 202053 | token expire | token过期 | | 202054 | Available front url is empty, check front status | 合约尚未部署 | - | 202060 | cert handle error | 证书句柄错误 | | 202061 | store cert error | 存储证书错误 | | 202062 | cert format error, must start with -----BEGIN CERTIFICATE-----\\n, end with end | 证书格式错误,必须由 --BEGIN CERTIFICATE-- 包 | | 202063 | saving front's cert error | 保存前置证书错误 | - | 202070 | Mail server config error | 邮件服务器配置错误。 | | 202071 | Mail server config param empty/not match | 邮件服务器配置参数为空/不匹配 | | 202072 | Mail server config error, db's server config is empty | 邮件服务器配置错误,数据库的服务器配置为空 | - | 202076 | Alert rule error | 警报规则错误。 | | 202077 | Alert rule param not match | 警报规则参数不匹配。 | - | 202080 | Send mail error, please check mail server configuration | 发送邮件错误,请检查邮件服务器配置。 | | 202081 | Send mail error, please enable mail server before send | 发送邮件错误,请在发送前启用邮件服务器。 | - | 202086 | Alert log error | 警报日志错误。 | | 202087 | Alert log param: status/logId is empty | 警报日志参数:status/logId为空。 | - | 202090 | Update guomi methodId error | 更新国密methodId错误 | | 202091 | Front's encrypt type not matches with nodemgr | Front的加密类型与nodemgr不匹配 | - | 202096 | contract address already exists | 合约地址已存在 | | 202097 | abi info of this id not exists | 此ID的ABI信息不存在 | | 202098 | Contract abi invalid, please check abi | 合约ABI无效,请检查ABI | | 202099 | Abi Id cannot be empty | 此ID的ABI信息为空 | | 202100 | contractAddress is null | 合约地址为空 | - | 202110 | User's signUserId not exist | 用户的signUserId不存在 | | 202111 | Fail to parse json | 解析json错误 | - | 202121 | Cert file not found, please check cert path in config | 找不到证书文件,请检查配置中的证书路径 | | 202122 | Pem file format error, must surrounded by -----XXXXX PRIVATE KEY----- | Pem文件格式错误,必须包含-----XXXXX PRIVATE KEY----- | | 202123 | Pem file content error | Pem文件内容错误 | | 202124 | p12's password cannot be chinese | P12的密码不能为中文 | | 202125 | p12's password not match | P12的密码错误 | | 202126 | P12 file content error | P12文件内容错误 | - | 202300 | Group id already exists | 群组id已存在 | | 202301 | Node's front not exists | 节点前置不存在 | - | 202310 | govern vote record not exist | 投票记录不存在 | | 202311 | permission denied on chain | 链上权限被禁止 | - | 202401 | No configured of docker registry url. | 没有配置 Docker 镜像更新 URL 地址 | | 202402 | Fetch image tag from docker registry error. | 从 Docker 源更新镜像版本失败 | | 202403 | Fetch Docker image tag list error, unknown config type. | 查询 Docker 镜像版本失败(未知类型) | @@ -8699,10 +8679,8 @@ v1.4.0 | 202466 | Please pull the Docker image manually in host /ip/ | 主机/ip/请手动拉取 Docker 镜像 | | 202467 | Max 4 nodes on a single host | 单个主机最多部署 4 个节点 | | 202468 | Cannot install node on WeBASE-Node-Manager host. | 无法在WeBASE-Node-Manager主机上安装节点。 | - | 302000 | user not logged in | 未登录的用户 | | 302001 | Access denied | 没有权限 | - | 402000 | param exception | 参数错误 | ### 2. Precompiled Service说明 From 8790b4f18b46913e2e01591cd49c8928a2bb76e8 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Fri, 18 Sep 2020 10:44:00 +0800 Subject: [PATCH 24/37] add 1.4.1 upgrade --- docs/WeBASE-Node-Manager/upgrade.md | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/docs/WeBASE-Node-Manager/upgrade.md b/docs/WeBASE-Node-Manager/upgrade.md index a21fa3bf..27a62c90 100644 --- a/docs/WeBASE-Node-Manager/upgrade.md +++ b/docs/WeBASE-Node-Manager/upgrade.md @@ -2,6 +2,51 @@ WeBASE-Node-Manager升级的兼容性说明,请结合[WeBASE-Node-Manager Changelog](https://github.com/WeBankFinTech/WeBASE-Node-Manager)进行阅读 +#### v1.4.1 +新增FISCO BCOS v2.5.0及以上版本的基于角色的权限管理功能,新增了开发者模式 +- 新的权限管理基于角色,可参考FISCO BCOS[权限控制文档](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html) +- 开发者模式:新增了用户角色developer,可进行查询交易,合约部署调用等功能,无法使用管理员的系统管理与监控等功能。 + +##### 数据表更新 + +登录 MySQL 后,选择数据库 `use webasenodemanager;` 后,按顺序执行下面的 SQL 语句进行 DB 升级。 + +**数据表字段新增** +- 新增了`tb_user`, `tb_contract`中的`account`字段,并更新了唯一约束。 +- 用户角色表`tb_role`中新增了默认值`developer` + +```SQL +-- tb_user修改 +alter table tb_user add column account varchar(50) binary NOT NULL COMMENT '关联账号'; +alter table tb_user drop index `unique_name` +alter table tb_user add UNIQUE KEY `unique_name` (group_id,user_name,account); + +-- tb_contract修改 +alter table tb_contract add column account varchar(50) binary NOT NULL COMMENT '关联账号'; +alter table tb_contract drop index `uk_group_path_name` +alter table tb_contract add UNIQUE KEY uk_group_path_name (group_id,contract_path,contract_name,account); + +-- tb_role修改 +INSERT INTO `tb_role` (role_name,role_name_zh,create_time,modify_time)VALUES ('developer', '开发者', now(), now()); +``` + +**数据表结构更改** +- 新增了链委员管理投票信息表`tb_govern_vote` +```SQL +CREATE TABLE IF NOT EXISTS tb_govern_vote ( + id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '链治理委员投票记录ID', + group_id int(11) NOT NULL COMMENT '群组ID', + time_limit bigint DEFAULT NULL COMMENT '投票截止块高', + from_address varchar(64) NOT NULL COMMENT '管理员地址', + type tinyint(8) NOT NULL COMMENT '投票类型,1-选举,2-去除,3-修改委员权重,4,-修改阈值', + to_address varchar(64) DEFAULT NULL COMMENT '选举/去除的地址', + detail varchar(64) DEFAULT NULL COMMENT '3-修改权重,4-修改阈值时存储具体信息', + create_time datetime NOT NULL COMMENT '创建时间', + modify_time datetime NOT NULL COMMENT '最近一次更新时间', + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='链治理委员投票信息'; +``` + #### v1.4.0 v1.4.0 新增了可视化部署区块链的功能,同时支持节点的动态管理(扩容、停止、删除等)功能,同时兼容原有的手动搭链添加WeBASE-Front节点前置的模式 From 1c7f4b57f004b200b2581778faeb18ed20493ea8 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Fri, 18 Sep 2020 10:48:51 +0800 Subject: [PATCH 25/37] add front upgrade 1.4.1 --- docs/WeBASE-Front/upgrade.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/WeBASE-Front/upgrade.md b/docs/WeBASE-Front/upgrade.md index b48b716e..0c6efe27 100644 --- a/docs/WeBASE-Front/upgrade.md +++ b/docs/WeBASE-Front/upgrade.md @@ -2,6 +2,12 @@ WeBASE-Front升级的兼容性说明,请结合[WeBASE-Front Changelog](https://github.com/WeBankFinTech/WeBASE-Front)进行阅读 +#### v1.4.1 + +##### 新增链权限接口与web3接口 +- 新增ChainGovernance接口 +- 新增getBlockHeaderByHash与getBlockHeaderByNumber接口 + #### v1.4.0 ##### 增加版本号接口 From 0aae18e892388d9c9b9cfbac82882760de511216 Mon Sep 17 00:00:00 2001 From: Lenovo Date: Mon, 21 Sep 2020 18:04:24 +0800 Subject: [PATCH 26/37] 1.4.1 --- docs/WeBASE-Node-Manager/interface.md | 1027 +++++++++++++------------ docs/WeBASE-Transaction/install.md | 16 +- docs/WeBASE/install.md | 6 +- 3 files changed, 545 insertions(+), 504 deletions(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index c4fea3cb..9fdbc501 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -189,10 +189,10 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/front/find } ``` - ### 1.3 删除前置信息 #### 1.3.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/front/{frontId}** * 请求方式:DELETE @@ -203,9 +203,9 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/front/find ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | frontId | int | 否 | 前置编号 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | -------- | ---- | ------ | -------- | +| 1 | frontId | int | 否 | 前置编号 | ***2)入参示例*** @@ -219,15 +219,17 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/front/500001 ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | data | object | 是 | 返回信息实体(空) | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | -------- | ------ | ---- | -------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | data | object | 是 | 返回信息实体(空) | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -237,6 +239,64 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/front/500001 ``` * 失败: + +``` +{ + "code": 102000, + "message": "system exception", + "data": {} +} +``` + +### 1.4 刷新前置信息 + +#### 1.3.1 传输协议规范 + +* 网络传输协议:使用HTTP协议 +* 请求地址:**/front/refresh** +* 请求方式:GET +* 请求头:Content-type: application/json +* 返回格式:JSON + +#### 1.3.2 请求参数 + +***1)入参表*** + +无 + + +***2)入参示例*** + +``` +http://127.0.0.1:5001/WeBASE-Node-Manager/front/refresh +``` + + +#### 1.3.3 返回参数 + +***1)出参表*** + +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | -------- | ------ | ---- | -------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | data | object | 是 | 返回信息实体(空) | + + +***2)出参示例*** + +* 成功: + +``` +{ + "code": 0, + "data": {}, + "message": "Success" +} +``` + +* 失败: + ``` { "code": 102000, @@ -1258,11 +1318,11 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/block/blockByNumber/1/11 ## 5 合约管理模块 - ### 5.1 查询合约列表 #### 5.1.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/contract/contractList/{groupId}/{pageNumber}/{pageSize}** * 请求方式:POST @@ -1273,14 +1333,15 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/block/blockByNumber/1/11 ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 群组id | -| 2 | contractName | String | 否 | 合约名 | -| 3 | contractAddress | String | 否 | 合约地址 | -| 4 | pageSize | int | 否 | 每页记录数 | -| 5 | pageNumber | int | 否 | 当前页码 | -| 6 | contractStatus | int | 否 | 1未部署,2已部署 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ---------------- | +| 1 | groupId | int | 否 | 群组id | +| 2 | contractName | String | 是 | 合约名 | +| 3 | contractAddress | String | 是 | 合约地址 | +| 4 | pageSize | int | 否 | 每页记录数 | +| 5 | pageNumber | int | 否 | 当前页码 | +| 6 | contractStatus | int | 是 | 1未部署,2已部署 | +| 7 | account | String | 是 | 关联账户 | ***2)入参示例*** @@ -1288,36 +1349,43 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/block/blockByNumber/1/11 http://127.0.0.1:5001/WeBASE-Node-Manager/contract/contractList ``` +``` +{"groupId":"1","pageNumber":1,"pageSize":500} +``` + #### 5.1.3 返回参数 ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | totalCount | Int | 否 | 总记录数 | -| 4 | data | List | 是 | 列表 | -| 5.1 | | Object | | 返回信息实体 | -| 5.1.1 | contractId | int | 否 | 合约编号 | -| 5.1.2 | contractPath | String | 否 | 合约所在目录 | -| 5.1.3 | contractName | String | 否 | 合约名称 | -| 5.1.4 | groupId | Int | 否 | 所属群组编号 | -| 5.1.5 | contractStatus | int | 否 | 1未部署,2已部署 | -| 5.1.6 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | -| 5.1.7 | contractSource | String | 否 | 合约源码base64 | -| 5.1.8 | contractAbi | String | 是 | 合约编译后生成的abi文件内容 | -| 5.1.9 | contractBin | String | 是 | 合约编译后生成的bin,可用于交易解析 | -| 5.1.10 | bytecodeBin | String | 是 | 合约编译后生成的bytecodeBin,可用于合约部署 | -| 5.1.11 | contractAddress | String | 是 | 合约地址 | -| 5.1.12 | deployTime | LocalDateTime | 是 | 部署时间 | -| 5.1.13 | contractVersion | String | 否 | 合约版本(会去除该字段) | -| 5.1.14 | description | String | 是 | 备注 | -| 5.1.15 | createTime | LocalDateTime | 否 | 创建时间 | -| 5.1.16 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ------ | --------------- | ------------- | ---- | ------------------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | totalCount | Int | 否 | 总记录数 | +| 4 | data | List | 是 | 列表 | +| 5.1 | | Object | | 返回信息实体 | +| 5.1.1 | contractId | int | 否 | 合约编号 | +| 5.1.2 | contractPath | String | 否 | 合约所在目录 | +| 5.1.3 | contractName | String | 否 | 合约名称 | +| 5.1.4 | groupId | Int | 否 | 所属群组编号 | +| 5.1.5 | contractStatus | int | 否 | 1未部署,2已部署 | +| 5.1.6 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | +| 5.1.7 | contractSource | String | 否 | 合约源码base64 | +| 5.1.8 | contractAbi | String | 是 | 合约编译后生成的abi文件内容 | +| 5.1.9 | contractBin | String | 是 | 合约编译后生成的bin,可用于交易解析 | +| 5.1.10 | bytecodeBin | String | 是 | 合约编译后生成的bytecodeBin,可用于合约部署 | +| 5.1.11 | contractAddress | String | 是 | 合约地址 | +| 5.1.12 | deployTime | LocalDateTime | 是 | 部署时间 | +| 5.1.13 | contractVersion | String | 否 | 合约版本(会去除该字段) | +| 5.1.14 | description | String | 是 | 备注 | +| 5.1.15 | account | String | 是 | 关联账户 | +| 5.1.16 | createTime | LocalDateTime | 否 | 创建时间 | +| 5.1.17 | modifyTime | LocalDateTime | 是 | 修改时间 | + ***2)出参示例*** * 成功: + ``` { "code": 0, @@ -1337,6 +1405,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/contractList "bytecodeBin": "60806040526004361061004c576000398de7e4ddf5fdc9ccbcfd44565fed695cd960b0029", "deployTime": "2019-06-11 18:11:33", "description": null, + "account": "admin", "createTime": "2019-06-05 16:40:40", "modifyTime": "2019-06-11 18:11:33" } @@ -1346,6 +1415,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/contractList ``` * 失败: + ``` { "code": 102000, @@ -1359,6 +1429,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/contractList #### 5.2.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/contract/{contractId}** * 请求方式:GET @@ -1368,10 +1439,10 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/contractList ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 群组id | -| 2 | contractId | int | 否 | 合约编号 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ---------- | ---- | ------ | -------- | +| 1 | groupId | int | 否 | 群组id | +| 2 | contractId | int | 否 | 合约编号 | ***2)入参示例*** @@ -1384,31 +1455,34 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/200001 ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | | Object | | 返回信息实体 | -| 3.1 | contractId | int | 否 | 合约编号 | -| 3.2 | contractPath | String | 否 | 合约所在目录 | -| 3.3 | contractName | String | 否 | 合约名称 | -| 3.4 | groupId | Int | 否 | 所属群组编号 | -| 3.5 | contractStatus | int | 否 | 1未部署,2已部署 | -| 3.6 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | -| 3.7 | contractSource | String | 否 | 合约源码 | -| 3.8 | contractAbi | String | 是 | 编译合约生成的abi文件内容 | -| 3.9 | contractBin | String | 是 | 合约编译的runtime-bytecode(runtime-bin),用于交易解析| -| 3.10 | bytecodeBin | String | 是 | 合约编译的bytecode(bin),用于部署合约 | -| 3.11 | contractAddress | String | 是 | 合约地址 | -| 3.12 | deployTime | LocalDateTime | 是 | 部署时间 | -| 3.13 | contractVersion | String | 否 | 合约版本(会去除该字段) | -| 3.14 | description | String | 是 | 备注 | -| 3.15 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.16 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | --------------- | ------------- | ---- | ----------------------------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | | Object | | 返回信息实体 | +| 3.1 | contractId | int | 否 | 合约编号 | +| 3.2 | contractPath | String | 否 | 合约所在目录 | +| 3.3 | contractName | String | 否 | 合约名称 | +| 3.4 | groupId | Int | 否 | 所属群组编号 | +| 3.5 | contractStatus | int | 否 | 1未部署,2已部署 | +| 3.6 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | +| 3.7 | contractSource | String | 否 | 合约源码 | +| 3.8 | contractAbi | String | 是 | 编译合约生成的abi文件内容 | +| 3.9 | contractBin | String | 是 | 合约编译的runtime-bytecode(runtime-bin),用于交易解析 | +| 3.10 | bytecodeBin | String | 是 | 合约编译的bytecode(bin),用于部署合约 | +| 3.11 | contractAddress | String | 是 | 合约地址 | +| 3.12 | deployTime | LocalDateTime | 是 | 部署时间 | +| 3.13 | contractVersion | String | 否 | 合约版本(会去除该字段) | +| 3.14 | description | String | 是 | 备注 | +| 3.15 | account | String | 是 | 关联账户 | +| 3.16 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.17 | modifyTime | LocalDateTime | 是 | 修改时间 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -1427,6 +1501,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/200001 "contractBin": "608060405234801561001057600080004d4c", "deployTime": "2019-06-11 18:11:33", "description": null, + "account": "admin", "createTime": "2019-06-05 16:40:40", "modifyTime": "2019-06-11 18:11:33" } @@ -1434,6 +1509,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/200001 ``` * 失败: + ``` { "code": 102000, @@ -1455,6 +1531,7 @@ constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b #### 5.3.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/contract/deploy** * 请求方式:POST @@ -1465,18 +1542,19 @@ constructor(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8b ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | Int | 否 | 所属群组编号 | -| 2 | contractName | String | 否 | 合约名称 | -| 3 | contractSource | String | 否 | 合约源码 | -| 4 | contractAbi | String | 否 | 编译合约生成的abi文件内容 | -| 5 | contractBin | String | 否 | 合约编译的runtime-bytecode(runtime-bin),用于交易解析 | -| 6 | bytecodeBin | String | 否 | 合约编译的bytecode(bin),用于部署合约 | -| 7 | contractId | String | 否 | 合约名称 | -| 8 | contractPath | String | 否 | 合约所在目录 | -| 9 | user | String | 否 | 私钥用户的地址 | -| 10 | constructorParams | List | 是 | 构造函数入参 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ----------------- | ------ | ------ | ----------------------------------------------------- | +| 1 | groupId | Int | 否 | 所属群组编号 | +| 2 | contractName | String | 否 | 合约名称 | +| 3 | contractSource | String | 否 | 合约源码 | +| 4 | contractAbi | String | 否 | 编译合约生成的abi文件内容 | +| 5 | contractBin | String | 否 | 合约编译的runtime-bytecode(runtime-bin),用于交易解析 | +| 6 | bytecodeBin | String | 否 | 合约编译的bytecode(bin),用于部署合约 | +| 7 | contractId | String | 否 | 合约名称 | +| 8 | contractPath | String | 否 | 合约所在目录 | +| 9 | user | String | 否 | 私钥用户的地址 | +| 10 | account | String | 是 | 关联账户 | +| 11 | constructorParams | List | 是 | 构造函数入参 | ***2)入参示例*** @@ -1493,6 +1571,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/deploy "contractAbi": "[]", "contractSource": "cHJhZ21hIHNvbGlkaXR5IF4wLICAJbmFtZSA9IG47CiAgICB9Cn0=", "user": "0x2db346f9d24324a4b0eac7fb7f3379a2422704db", + "account": "admin", "contractName": "HeHe", "contractId": 200008, "contractPath": "Hi", @@ -1504,31 +1583,34 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/deploy ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | | Object | | 返回信息实体 | -| 3.1 | contractId | int | 否 | 合约编号 | -| 3.2 | contractPath | String | 否 | 合约所在目录 | -| 3.3 | contractName | String | 否 | 合约名称 | -| 3.4 | groupId | Int | 否 | 所属群组编号 | -| 3.5 | contractStatus | int | 否 | 1未部署,2已部署 | -| 3.6 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | -| 3.7 | contractSource | String | 否 | 合约源码 | -| 3.8 | contractAbi | String | 是 | 编译合约生成的abi文件内容 | -| 3.9 | contractBin | String | 是 | 合约编译的runtime-bytecode(runtime-bin),用于交易解析| -| 3.10 | bytecodeBin | String | 是 | 合约编译的bytecode(bin),用于部署合约 | -| 3.11 | contractAddress | String | 是 | 合约地址 | -| 3.12 | deployTime | LocalDateTime | 是 | 部署时间 | -| 3.13 | contractVersion | String | 否 | 合约版本(会去除该字段) | -| 3.14 | description | String | 是 | 备注 | -| 3.15 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.16 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | --------------- | ------------- | ---- | ----------------------------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | | Object | | 返回信息实体 | +| 3.1 | contractId | int | 否 | 合约编号 | +| 3.2 | contractPath | String | 否 | 合约所在目录 | +| 3.3 | contractName | String | 否 | 合约名称 | +| 3.4 | groupId | Int | 否 | 所属群组编号 | +| 3.5 | contractStatus | int | 否 | 1未部署,2已部署 | +| 3.6 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | +| 3.7 | contractSource | String | 否 | 合约源码 | +| 3.8 | contractAbi | String | 是 | 编译合约生成的abi文件内容 | +| 3.9 | contractBin | String | 是 | 合约编译的runtime-bytecode(runtime-bin),用于交易解析 | +| 3.10 | bytecodeBin | String | 是 | 合约编译的bytecode(bin),用于部署合约 | +| 3.11 | contractAddress | String | 是 | 合约地址 | +| 3.12 | deployTime | LocalDateTime | 是 | 部署时间 | +| 3.13 | contractVersion | String | 否 | 合约版本(会去除该字段) | +| 3.14 | description | String | 是 | 备注 | +| 3.15 | account | String | 是 | 关联账户 | +| 3.16 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.17 | modifyTime | LocalDateTime | 是 | 修改时间 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -1548,6 +1630,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/deploy "contractAddress": "0xa2ea2280b3a08a3ae2e1785dff09561e13915fb2", "deployTime": "2019-06-11 18:58:33", "description": null, + "account": "admin", "createTime": null, "modifyTime": null } @@ -1555,6 +1638,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/deploy ``` * 失败: + ``` { "code": 102000, @@ -1568,6 +1652,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/deploy 方法入参(funcParam)为JSON数组,多个参数以逗号分隔(参数为数组时同理),示例: + ``` function set(string s) -> ["aa,bb\"cc"] // 双引号要转义 function set(uint n,bool b) -> [1,true] @@ -1576,6 +1661,7 @@ function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8 #### 5.4.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/contract/transaction** * 请求方式:POST @@ -1587,16 +1673,16 @@ function set(bytes b,address[] a) -> ["0x1a",["0x7939E26070BE44E6c4Fc759Ce55C6C8 ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | Int | 否 | 所属群组编号 | -| 2 | user | String | 否 | 私钥用户的地址 | -| 3 | contractName | String | 否 | 合约名称 | -| 4 | contractId | Int | 否 | 合约编号 | -| 5 | funcName | String | 否 | 合约方法名 | -| 6 | contractAddress | String | 是 | 合约地址 | -| 7 | funcParam | List | 是 | 合约方法入参 | -| 8 | contractAbi | List | 否 | 合约abi/合约单个函数的abi | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | ------------------------- | +| 1 | groupId | Int | 否 | 所属群组编号 | +| 2 | user | String | 否 | 私钥用户的地址 | +| 3 | contractName | String | 否 | 合约名称 | +| 4 | contractId | Int | 否 | 合约编号 | +| 5 | funcName | String | 否 | 合约方法名 | +| 6 | contractAddress | String | 是 | 合约地址 | +| 7 | funcParam | List | 是 | 合约方法入参 | +| 8 | contractAbi | List | 否 | 合约abi/合约单个函数的abi | ***2)入参示例*** @@ -1622,15 +1708,17 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/transaction ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | data | object | 是 | 返回信息实体(空) | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | -------- | ------ | ---- | -------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | data | object | 是 | 返回信息实体(空) | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -1640,6 +1728,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/transaction ``` * 失败: + ``` { "code": 102000, @@ -1653,6 +1742,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/transaction #### 5.5.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址: **/contract/findByPartOfBytecodeBin** * 请求方式:GET @@ -1662,10 +1752,10 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/transaction ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 所属群组编号 | -| 2 | partOfBytecodeBin | String | 否 | 包含合约bytecodeBin的的字符串 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ----------------- | ------ | ------ | ----------------------------- | +| 1 | groupId | int | 否 | 所属群组编号 | +| 2 | partOfBytecodeBin | String | 否 | 包含合约bytecodeBin的的字符串 | ***2)入参示例*** @@ -1685,29 +1775,32 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/findByPartOfBytecodeBin ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | | Object | | 返回信息实体 | -| 3.1 | contractId | int | 否 | 合约编号 | -| 3.2 | contractName | String | 否 | 合约名称 | -| 3.3 | groupId | Int | 否 | 所属群组编号 | -| 3.4 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | -| 3.5 | contractSource | String | 否 | 合约源码 | -| 3.6 | contractAbi | String | 是 | 编译合约生成的abi文件内容 | -| 3.7 | contractBin | String | 是 | 合约编译的runtime-bytecode(runtime-bin),用于交易解析| -| 3.8 | bytecodeBin | String | 是 | 合约编译的bytecode(bin),用于部署合约 | -| 3.9 | contractAddress | String | 是 | 合约地址 | -| 3.10 | deployTime | LocalDateTime | 是 | 部署时间 | -| 3.11 | contractVersion | String | 否 | 合约版本 | -| 3.12 | description | String | 是 | 备注 | -| 3.13 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.14 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | --------------- | ------------- | ---- | ----------------------------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | | Object | | 返回信息实体 | +| 3.1 | contractId | int | 否 | 合约编号 | +| 3.2 | contractName | String | 否 | 合约名称 | +| 3.3 | groupId | Int | 否 | 所属群组编号 | +| 3.4 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | +| 3.5 | contractSource | String | 否 | 合约源码 | +| 3.6 | contractAbi | String | 是 | 编译合约生成的abi文件内容 | +| 3.7 | contractBin | String | 是 | 合约编译的runtime-bytecode(runtime-bin),用于交易解析 | +| 3.8 | bytecodeBin | String | 是 | 合约编译的bytecode(bin),用于部署合约 | +| 3.9 | contractAddress | String | 是 | 合约地址 | +| 3.10 | deployTime | LocalDateTime | 是 | 部署时间 | +| 3.11 | contractVersion | String | 否 | 合约版本 | +| 3.12 | description | String | 是 | 备注 | +| 3.13 | account | String | 是 | 关联账户 | +| 3.14 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.15 | modifyTime | LocalDateTime | 是 | 修改时间 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -1726,6 +1819,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/findByPartOfBytecodeBin "deployTime": null, "contractVersion": "v6.0", "description": null, + "account": "admin", "createTime": "2019-04-15 21:14:40", "modifyTime": "2019-04-15 21:14:40" } @@ -1733,6 +1827,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/findByPartOfBytecodeBin ``` * 失败: + ``` { "code": 102000, @@ -1744,31 +1839,29 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/findByPartOfBytecodeBin ### 5.6. 保存合约接口 #### 5.6.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/contract/save** * 请求方式:POST * 请求头:Content-type: application/json * 返回格式:JSON - - #### 5.6.2 请求参数 ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 所属群组编号 | -| 2 | contractId | int | 是 | 合约编号,传入contractId表示更新,否则新增 | -| 3 | contractName | String | 否 | 合约名称 | -| 4 | contractPath | String | 否 | 合约所在目录 | -| 5 | contractSource | String | 是 | 合约源码的base64 | -| 6 | contractAbi | String | 是 | 合约编译后生成的abi文件内容 | -| 7 | contractBin | String | 是 | 合约编译后生成的bin,可用于交易解析 | -| 8 | bytecodeBin | String | 是 | 合约编译后生成的bytecodeBin,可用于合约部署 | - - +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | -------------- | ------ | ------ | ------------------------------------------- | +| 1 | groupId | int | 否 | 所属群组编号 | +| 2 | contractId | int | 是 | 合约编号,传入contractId表示更新,否则新增 | +| 3 | contractName | String | 否 | 合约名称 | +| 4 | contractPath | String | 否 | 合约所在目录 | +| 5 | contractSource | String | 是 | 合约源码的base64 | +| 6 | contractAbi | String | 是 | 合约编译后生成的abi文件内容 | +| 7 | contractBin | String | 是 | 合约编译后生成的bin,可用于交易解析 | +| 8 | bytecodeBin | String | 是 | 合约编译后生成的bytecodeBin,可用于合约部署 | +| 9 | account | String | 是 | 关联账户,新建时不能为空 | ***2)入参示例*** @@ -1782,7 +1875,8 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/findByPartOfBytecodeBin "contractAbi": “[]” "contractBin": "60806040526004361061004c576000357c0100000000000000000000000029", "bytecodeBin": "6080604052348015610010572269b80029", - "contractId": 1 + "contractId": 1, + "account": "admin" } ``` @@ -1790,33 +1884,34 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/findByPartOfBytecodeBin ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | | Object | | 返回信息实体 | -| 3.1 | contractId | int | 否 | 合约编号 | -| 3.2 | contractPath | String | 否 | 合约所在目录 | -| 3.3 | contractName | String | 否 | 合约名称 | -| 3.4 | groupId | Int | 否 | 所属群组编号 | -| 3.5 | contractStatus | int | 否 | 1未部署,2已部署 | -| 3.6 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | -| 3.7 | contractSource | String | 否 | 合约源码base64 | -| 3.8 | contractAbi | String | 是 | 合约编译后生成的abi文件内容 | -| 3.9 | contractBin | String | 是 | 合约编译后生成的bin,可用于交易解析 | -| 3.10 | bytecodeBin | String | 是 | 合约编译后生成的bytecodeBin,可用于合约部署 | -| 3.11 | contractAddress | String | 是 | 合约地址 | -| 3.12 | deployTime | LocalDateTime | 是 | 部署时间 | -| 3.13 | contractVersion | String | 否 | 合约版本(会去除该字段) | -| 3.14 | description | String | 是 | 备注 | -| 3.15 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.16 | modifyTime | LocalDateTime | 是 | 修改时间 - +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | --------------- | ------------- | ---- | ------------------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | | Object | | 返回信息实体 | +| 3.1 | contractId | int | 否 | 合约编号 | +| 3.2 | contractPath | String | 否 | 合约所在目录 | +| 3.3 | contractName | String | 否 | 合约名称 | +| 3.4 | groupId | Int | 否 | 所属群组编号 | +| 3.5 | contractStatus | int | 否 | 1未部署,2已部署 | +| 3.6 | contractType | Int | 否 | 合约类型(0-普通合约,1-系统合约) | +| 3.7 | contractSource | String | 否 | 合约源码base64 | +| 3.8 | contractAbi | String | 是 | 合约编译后生成的abi文件内容 | +| 3.9 | contractBin | String | 是 | 合约编译后生成的bin,可用于交易解析 | +| 3.10 | bytecodeBin | String | 是 | 合约编译后生成的bytecodeBin,可用于合约部署 | +| 3.11 | contractAddress | String | 是 | 合约地址 | +| 3.12 | deployTime | LocalDateTime | 是 | 部署时间 | +| 3.13 | contractVersion | String | 否 | 合约版本(会去除该字段) | +| 3.14 | description | String | 是 | 备注 | +| 3.15 | account | String | 是 | 关联账户 | +| 3.16 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.17 | modifyTime | LocalDateTime | 是 | 修改时间 | ### 5.7 获取Abi信息 #### 5.7.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址: **/abi/{abiId}** * 请求方式:GET @@ -1826,9 +1921,9 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/contract/findByPartOfBytecodeBin ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | abiId | Long | 否 | abi编号 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | -------- | ---- | ------ | ------- | +| 1 | abiId | Long | 否 | abi编号 | ***2)入参示例*** @@ -1841,23 +1936,25 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/1 ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | | Object | | 返回信息实体 | -| 3.1 | abiId | int | 否 | 合约编号 | -| 3.2 | contractName | String | 否 | 合约名称 | -| 3.3 | groupId | Int | 否 | 所属群组编号 | -| 3.4 | contractAddress | String | 否 | 合约地址 | -| 3.5 | contractAbi | String | 是 | 导入的abi文件内容 | -| 3.6 | contractBin | String | 是 | 合约runtime-bytecode(runtime-bin)| -| 3.7 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.8 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | --------------- | ------------- | ---- | --------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | | Object | | 返回信息实体 | +| 3.1 | abiId | int | 否 | 合约编号 | +| 3.2 | contractName | String | 否 | 合约名称 | +| 3.3 | groupId | Int | 否 | 所属群组编号 | +| 3.4 | contractAddress | String | 否 | 合约地址 | +| 3.5 | contractAbi | String | 是 | 导入的abi文件内容 | +| 3.6 | contractBin | String | 是 | 合约runtime-bytecode(runtime-bin) | +| 3.7 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.8 | modifyTime | LocalDateTime | 是 | 修改时间 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -1880,6 +1977,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/1 #### 5.8.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址: **/abi/list/{groupId}/{pageNumber}/{pageSize}** * 请求方式:GET @@ -1889,11 +1987,11 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/1 ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 群组编号 | -| 2 | pageNumber | int | 否 | 页码,从1开始 | -| 3 | pageSize | int | 否 | 页大小 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ---------- | ---- | ------ | ------------- | +| 1 | groupId | int | 否 | 群组编号 | +| 2 | pageNumber | int | 否 | 页码,从1开始 | +| 3 | pageSize | int | 否 | 页大小 | ***2)入参示例*** @@ -1907,23 +2005,25 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | | Object | | 返回信息实体 | -| 3.1 | abiId | int | 否 | 合约编号 | -| 3.2 | contractName | String | 否 | 合约名称 | -| 3.3 | groupId | Int | 否 | 所属群组编号 | -| 3.4 | contractAddress | String | 否 | 合约地址 | -| 3.5 | contractAbi | String | 是 | 导入的abi文件内容 | -| 3.6 | contractBin | String | 是 | 合约runtime-bytecode(runtime-bin)| -| 3.7 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.8 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | --------------- | ------------- | ---- | --------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | | Object | | 返回信息实体 | +| 3.1 | abiId | int | 否 | 合约编号 | +| 3.2 | contractName | String | 否 | 合约名称 | +| 3.3 | groupId | Int | 否 | 所属群组编号 | +| 3.4 | contractAddress | String | 否 | 合约地址 | +| 3.5 | contractAbi | String | 是 | 导入的abi文件内容 | +| 3.6 | contractBin | String | 是 | 合约runtime-bytecode(runtime-bin) | +| 3.7 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.8 | modifyTime | LocalDateTime | 是 | 修改时间 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -1950,6 +2050,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 > 将其他平台已部署的合约导入到本平台进行管理 #### 5.9.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/abi** * 请求方式:POST @@ -1961,12 +2062,12 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 所属群组编号 | -| 2 | contractAddress | String | 否 | 合约地址 | -| 3 | contractName | String | 否 | 合约名称 | -| 4 | contractAbi | String | 否 | 合约编译后生成的abi文件内容 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | --------------------------- | +| 1 | groupId | int | 否 | 所属群组编号 | +| 2 | contractAddress | String | 否 | 合约地址 | +| 3 | contractName | String | 否 | 合约名称 | +| 4 | contractAbi | String | 否 | 合约编译后生成的abi文件内容 | @@ -1986,15 +2087,17 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | data | object | 是 | 返回信息实体(空) | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | -------- | ------ | ---- | -------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | data | object | 是 | 返回信息实体(空) | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -2008,6 +2111,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 > 将其他平台已部署的合约导入到本平台进行管理 #### 5.10.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/abi** * 请求方式:PUT @@ -2019,13 +2123,13 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | abiId | long | 否 | abi编号 | -| 2 | groupId | int | 否 | 所属群组编号 | -| 3 | contractAddress | String | 否 | 合约地址 | -| 4 | contractName | String | 否 | 合约名称 | -| 5 | contractAbi | String | 否 | 合约编译后生成的abi文件内容 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | --------------- | ------ | ------ | --------------------------- | +| 1 | abiId | long | 否 | abi编号 | +| 2 | groupId | int | 否 | 所属群组编号 | +| 3 | contractAddress | String | 否 | 合约地址 | +| 4 | contractName | String | 否 | 合约名称 | +| 5 | contractAbi | String | 否 | 合约编译后生成的abi文件内容 | @@ -2046,135 +2150,21 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | data | object | 是 | 返回信息实体(空) | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | -------- | ------ | ---- | -------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | data | object | 是 | 返回信息实体(空) | ***2)出参示例*** -* 成功: -``` -{ - "code": 0, - "message": "success" -} -``` - - -### 5.11 获取合约状态修改记录列表 - -当冻结合约或解冻合约时会产生一条记录,此接口返回某群组下的修改记录列表 - -#### 5.11.1 传输协议规范 -* 网络传输协议:使用HTTP协议 -* 请求地址: **/status/record/list** -* 请求方式:GET -* 返回格式:JSON - -#### 5.11.2 请求参数 - -***1)入参表*** - -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 群组编号 | -| 2 | pageNumber | int | 否 | 页码,从1开始 | -| 3 | pageSize | int | 否 | 页大小 | - - -***2)入参示例*** - -``` -http://127.0.0.1:5001/WeBASE-Node-Manager/status/record/list?groupId=1&pageNumber=1&pageSize=10 -``` - - -#### 5.11.3 返回参数 - -***1)出参表*** - -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | | Object | | 返回信息实体 | -| 3.1 | id | int | 否 | 合约记录编号 | -| 3.2 | groupId | Int | 否 | 所属群组编号 | -| 3.3 | contractAddress | String | 否 | 合约地址 | -| 3.4 | modifyAddress | String | 否 | 合约管理员用户地址 | -| 3.5 | status | Int | 否 | 合约修改状态,0-正常(未冻结),1-已冻结 | -| 3.6 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.7 | modifyTime | LocalDateTime | 是 | 修改时间 | -| 4 | totalCount | Int | | 总数 | - - -***2)出参示例*** * 成功: -``` -{ - "code": 0, - "message": "success", - "data": [ - { - "id": 1, - "groupId": 1, - "modifyAddress": "0x2ac4227e87bccca63893317febadd0b51ad33e1", - "contractAddress": "0x3214227e87bccca63893317febadd0b51ade735e", - "status": 0, - "createTime": "2020-05-18 10:59:02", - "modifyTime": "2020-05-18 10:59:02" - } - ], - "totalCount": 1 -} -``` - - -### 5.12 删除合约状态修改记录 - -删除合约状态修改记录 - -#### 5.12.1 传输协议规范 -* 网络传输协议:使用HTTP协议 -* 请求地址: **/status/record/{statusId}** -* 请求方式:DELETE -* 返回格式:JSON - -#### 5.12.2 请求参数 - -***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | statusId | int | 否 | 合约状态记录编号 | - - -***2)入参示例*** - -``` -http://127.0.0.1:5001/WeBASE-Node-Manager/status/record/{statusId} -``` - - -#### 5.12.3 返回参数 - -***1)出参表*** - -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | - - -***2)出参示例*** -* 成功: ``` { - "code": 0, - "message": "success" + "code": 0, + "message": "success" } ``` @@ -2531,7 +2521,7 @@ http://localhost:5001/WeBASE-Node-Manager/mailServer/config/1 |------|-------------|---------------|--------|-------------------------------| | - | - | - | - | - | - +​ ***2)入参示例*** @@ -2838,7 +2828,7 @@ http://localhost:5001/WeBASE-Node-Manager/alert/1 |------|-------------|---------------|--------|-------------------------------| | 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | | 2 | message | String | 否 | 描述 | -| 3 | data | Object | 否 | 成功时返回 | +| 3 | data | Object | 否 | 成功时返回 | | 3.1 | | Object | |返回信息实体 | | 3.1.1 | ruleId | Int | 否 | 告警类型配置的编号 | | 3.1.2 | ruleName | String | 否 | 告警类型的名字/告警邮件标题 | @@ -2904,7 +2894,7 @@ http://localhost:5001/WeBASE-Node-Manager/alert/1 |------|-------------|---------------|--------|-------------------------------| | - | - | - | - | - | - +​ ***2)入参示例*** @@ -3929,7 +3919,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/group/generate/78e467957af3d0f77e19b9 ### 8.5 向多个节点生成新群组 -​向`nodeList`中所有节点的前置发起请求,以当前时间生成`timestamp`时间戳,以`nodeList`为创世块的**共识节点列表**,生成新群组配置信息;节点和前置一一对应,节点编号可以从前置列表获取。 +向`nodeList`中所有节点的前置发起请求,以当前时间生成`timestamp`时间戳,以`nodeList`为创世块的**共识节点列表**,生成新群组配置信息;节点和前置一一对应,节点编号可以从前置列表获取。 **群组生成后,需对应调用新群组启动的接口,并确保新节点加入新群组的共识节点/观察节点** @@ -4014,9 +4004,9 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/group/generate ### 8.6 动态操作群组 -​​可以对已存在的群组或新生成的群组进行动态操作,包括启动、停止、删除、恢复、状态查询。 +可以对已存在的群组或新生成的群组进行动态操作,包括启动、停止、删除、恢复、状态查询。 -​**说明:** 生成新群组后,需要向每个前置调用启动群组的操作,并确保新节点是新群组中的共识节点/观察节点 +**说明:** 生成新群组后,需要向每个前置调用启动群组的操作,并确保新节点是新群组中的共识节点/观察节点 节点加入已存在群组并启动后,可调用`POST /precompiled/consensus`接口将该节点加入到新加入群组的共识节点或观察节点中 @@ -4082,7 +4072,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/group/operate/78e467957af3d0f77e19b95 ### 8.7 批量启动群组 -​批量启动多个节点的群组,向`nodeList`中所有节点批量发起启动群组的请求;nodeId可以从前置列表获取。 +批量启动多个节点的群组,向`nodeList`中所有节点批量发起启动群组的请求;nodeId可以从前置列表获取。 #### 8.7.1 传输协议规范 @@ -4160,7 +4150,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/group/batchStart ### 8.8 多个节点获取该节点的多个群组状态 -​向多个节点获取该**节点视角下**`groupIdList`中所有群组的状态;nodeId可以从前置列表获取。 +向多个节点获取该**节点视角下**`groupIdList`中所有群组的状态;nodeId可以从前置列表获取。 群组状态包含:群组不存在"INEXISTENT"、群组正在停止"STOPPING"、群组运行中"RUNNING"、群组已停止"STOPPED"、群组已删除"DELETED" @@ -4714,11 +4704,11 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/role/roleList?groupId=300001&pageNumbe ## 11 用户管理模块 - ### 11.1 新增私钥用户 #### 11.1.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/user/userInfo** * 请求方式:POST @@ -4729,11 +4719,12 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/role/roleList?groupId=300001&pageNumbe ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | userName | string | 否 | 用户名称 | -| 2 | description | string | 是 | 备注 | -| 3 | groupId | Int | 否 | 所属群组 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ----------- | ------ | ------ | -------- | +| 1 | userName | string | 否 | 用户名称 | +| 2 | description | string | 是 | 备注 | +| 3 | groupId | Int | 否 | 所属群组 | +| 4 | account | string | 否 | 关联账户 | ***2)入参示例*** @@ -4745,7 +4736,8 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/userInfo { "groupId": "300001", "description": "密钥拥有者", - "userName": "user1" + "userName": "user1", + "account": "admin" } ``` @@ -4754,25 +4746,28 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/userInfo ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | data | object | 是 | 返回信息实体(成功时不为空) | -| 3.1 | userId | int | 否 | 用户编号 | -| 3.2 | userName | string | 否 | 用户名称 | -| 3.3 | groupId | int | 否 | 所属群组编号 | -| 3.4 | description | String | 是 | 备注 | -| 3.5 | userStatus | int | 否 | 状态(1-正常 2-停用) 默认1 | -| 3.6 | publicKey | String | 否 | 公钥信息 | -| 3.7 | address | String | 是 | 在链上位置的hash | -| 3.8 | hasPk | Int | 否 | 是否拥有私钥信息(1-拥有,2-不拥有) | -| 3.9 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.10 | modifyTime | LocalDateTime | 否 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | ----------- | ------------- | ---- | ---------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | data | object | 是 | 返回信息实体(成功时不为空) | +| 3.1 | userId | int | 否 | 用户编号 | +| 3.2 | userName | string | 否 | 用户名称 | +| 3.3 | groupId | int | 否 | 所属群组编号 | +| 3.4 | description | String | 是 | 备注 | +| 3.5 | userStatus | int | 否 | 状态(1-正常 2-停用) 默认1 | +| 3.6 | publicKey | String | 否 | 公钥信息 | +| 3.7 | address | String | 是 | 在链上位置的hash | +| 3.8 | hasPk | Int | 否 | 是否拥有私钥信息(1-拥有,2-不拥有) | +| 3.9 | account | string | 否 | 关联账户 | +| 3.10 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.11 | modifyTime | LocalDateTime | 否 | 修改时间 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -4787,6 +4782,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/userInfo "address": "0x40ec3c20b5178401ae14ad8ce9c9f94fa5ebb86a", "hasPk": 1, "description": "sda", + "account": "admin", "createTime": "2019-03-15 18:00:27", "modifyTime": "2019-03-15 18:00:27" } @@ -4794,6 +4790,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/userInfo ``` * 失败: + ``` { "code": 102000, @@ -4807,6 +4804,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/userInfo #### 11.2.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/user/bind** * 请求方式:POST @@ -4817,11 +4815,12 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/userInfo ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | userName | string | 否 | 用户名称 | -| 2 | description | string | 是 | 备注 | -| 3 | groupId | Int | 否 | 所属群组 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ----------- | ------ | ------ | -------- | +| 1 | userName | string | 否 | 用户名称 | +| 2 | description | string | 是 | 备注 | +| 3 | groupId | Int | 否 | 所属群组 | +| 4 | account | string | 否 | 关联账户 | ***2)入参示例*** @@ -4835,7 +4834,8 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo "userName": "sdfasd", "publicKey": "0x4189fdacff55fb99172e015e1adb96dc77b0cae1619b1a41cc360777bee6682fcc9752d8aabf144fbf610a3057fd4b5", "groupId": "300001", - "description": "sdfa" + "description": "sdfa", + "account": "admin" } ``` @@ -4844,25 +4844,28 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | data | object | 是 | 返回信息实体(成功时不为空) | -| 3.1 | userId | int | 否 | 用户编号 | -| 3.2 | userName | string | 否 | 用户名称 | -| 3.3 | groupId | int | 否 | 所属群组编号 | -| 3.4 | description | String | 是 | 备注 | -| 3.5 | userStatus | int | 否 | 状态(1-正常 2-停用) 默认1 | -| 3.6 | publicKey | String | 否 | 公钥信息 | -| 3.7 | address | String | 是 | 在链上位置的hash | -| 3.8 | hasPk | Int | 否 | 是否拥有私钥信息(1-拥有,2-不拥有) | -| 3.9 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.10 | modifyTime | LocalDateTime | 否 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | ----------- | ------------- | ---- | ---------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | data | object | 是 | 返回信息实体(成功时不为空) | +| 3.1 | userId | int | 否 | 用户编号 | +| 3.2 | userName | string | 否 | 用户名称 | +| 3.3 | groupId | int | 否 | 所属群组编号 | +| 3.4 | description | String | 是 | 备注 | +| 3.5 | userStatus | int | 否 | 状态(1-正常 2-停用) 默认1 | +| 3.6 | publicKey | String | 否 | 公钥信息 | +| 3.7 | address | String | 是 | 在链上位置的hash | +| 3.8 | hasPk | Int | 否 | 是否拥有私钥信息(1-拥有,2-不拥有) | +| 3.9 | account | string | 否 | 关联账户 | +| 3.10 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.11 | modifyTime | LocalDateTime | 否 | 修改时间 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -4877,6 +4880,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo "address": "0x40ec3c20b5178401ae14ad8ce9c9f94fa5ebb86a", "hasPk": 1, "description": "sda", + "account": "admin", "createTime": "2019-03-15 18:00:27", "modifyTime": "2019-03-15 18:00:27" } @@ -4884,6 +4888,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo ``` * 失败: + ``` { "code": 102000, @@ -4897,6 +4902,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo #### 11.3.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/user/userInfo** * 请求方式:PUT @@ -4908,10 +4914,10 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | userId | int | 否 | 用户编号 | -| 2 | description | String | 是 | 备注 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ----------- | ------ | ------ | -------- | +| 1 | userId | int | 否 | 用户编号 | +| 2 | description | String | 是 | 备注 | ***2)入参示例*** @@ -4931,25 +4937,28 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | data | object | 是 | 返回信息实体(成功时不为空) | -| 3.1 | userId | int | 否 | 用户编号 | -| 3.2 | userName | string | 否 | 用户名称 | -| 3.3 | groupId | int | 否 | 所属群组编号 | -| 3.4 | description | String | 是 | 备注 | -| 3.5 | userStatus | int | 否 | 状态(1-正常 2-停用) 默认1 | -| 3.6 | publicKey | String | 否 | 公钥信息 | -| 3.7 | address | String | 是 | 在链上位置的hash | -| 3.8 | hasPk | Int | 否 | 是否拥有私钥信息(1-拥有,2-不拥有) | -| 3.9 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.10 | modifyTime | LocalDateTime | 否 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | ----------- | ------------- | ---- | ---------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | data | object | 是 | 返回信息实体(成功时不为空) | +| 3.1 | userId | int | 否 | 用户编号 | +| 3.2 | userName | string | 否 | 用户名称 | +| 3.3 | groupId | int | 否 | 所属群组编号 | +| 3.4 | description | String | 是 | 备注 | +| 3.5 | userStatus | int | 否 | 状态(1-正常 2-停用) 默认1 | +| 3.6 | publicKey | String | 否 | 公钥信息 | +| 3.7 | address | String | 是 | 在链上位置的hash | +| 3.8 | hasPk | Int | 否 | 是否拥有私钥信息(1-拥有,2-不拥有) | +| 3.9 | account | string | 否 | 关联账户 | +| 3.10 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.11 | modifyTime | LocalDateTime | 否 | 修改时间 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -4964,6 +4973,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo "address": "0x40ec3c20b5178401ae14ad8ce9c9f94fa5ebb86a", "hasPk": 1, "description": "newDescription", + "account": "admin", "createTime": "2019-03-15 18:00:27", "modifyTime": "2019-03-15 18:00:27" } @@ -4971,6 +4981,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo ``` * 失败: + ``` { "code": 102000, @@ -4983,6 +4994,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo #### 11.4.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/user/privateKey/{userId}** * 请求方式:GET @@ -4992,9 +5004,9 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userInfo ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | userId | int | 否 | 用户编号 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | -------- | ---- | ------ | -------- | +| 1 | userId | int | 否 | 用户编号 | ***2)入参示例*** @@ -5008,17 +5020,19 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/privateKey/4585 ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | data | Object | 否 | 返回私钥信息实体 | -| 3.1 | privateKey | String | 否 | 私钥 | -| 3.2 | address | String | 否 | 用户链上地址 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | ---------- | ------ | ---- | -------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | data | Object | 否 | 返回私钥信息实体 | +| 3.1 | privateKey | String | 否 | 私钥 | +| 3.2 | address | String | 否 | 用户链上地址 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -5031,6 +5045,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/privateKey/4585 ``` * 失败: + ``` { "code": 102000, @@ -5043,6 +5058,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/privateKey/4585 #### 11.5.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/user/userList/{groupId}/{pageNumber}/{pageSize}?userParam={userName}** * 请求方式:GET @@ -5052,12 +5068,13 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/privateKey/4585 ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | groupId | int | 否 | 所属群组id | -| 2 | pageSize | Int | 否 | 每页记录数 | -| 3 | pageNumber | Int | 否 | 当前页码 | -| 4 | userParam | String | 是 | 查询参数(用户名或公钥地址) | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ---------- | ------ | ------ | ---------------------------- | +| 1 | groupId | int | 否 | 所属群组id | +| 2 | pageSize | Int | 否 | 每页记录数 | +| 3 | pageNumber | Int | 否 | 当前页码 | +| 4 | userParam | String | 是 | 查询参数(用户名或公钥地址) | +| 5 | account | string | 是 | 关联账户 | ***2)入参示例*** @@ -5071,27 +5088,30 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userList/300001/1/10?userParam=as ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | -| 3 | totalCount | Int | 否 | 总记录数 | -| 4 | data | List | 是 | 用户列表 | -| 4.1 | | Object | | 用户信息对象 | -| 4.1.1 | userId | int | 否 | 用户编号 | -| 4.1.2 | userName | string | 否 | 用户名称 | -| 4.1.3 | groupId | int | 否 | 所属群组编号 | -| 4.1.4 | description | String | 是 | 备注 | -| 4.1.5 | userStatus | int | 否 | 状态(1-正常 2-停用) 默认1 | -| 4.1.6 | publicKey | String | 否 | 公钥信息 | -| 4.1.7 | address | String | 是 | 在链上位置的hash | -| 4.1.8 | hasPk | Int | 否 | 是否拥有私钥信息(1-拥有,2-不拥有) | -| 4.1.9 | createTime | LocalDateTime | 否 | 创建时间 | -| 4.1.10 | modifyTime | LocalDateTime | 否 | 修改时间 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ------ | ----------- | ------------- | ---- | ---------------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | +| 3 | totalCount | Int | 否 | 总记录数 | +| 4 | data | List | 是 | 用户列表 | +| 4.1 | | Object | | 用户信息对象 | +| 4.1.1 | userId | int | 否 | 用户编号 | +| 4.1.2 | userName | string | 否 | 用户名称 | +| 4.1.3 | groupId | int | 否 | 所属群组编号 | +| 4.1.4 | description | String | 是 | 备注 | +| 4.1.5 | userStatus | int | 否 | 状态(1-正常 2-停用) 默认1 | +| 4.1.6 | publicKey | String | 否 | 公钥信息 | +| 4.1.7 | address | String | 是 | 在链上位置的hash | +| 4.1.8 | hasPk | Int | 否 | 是否拥有私钥信息(1-拥有,2-不拥有) | +| 4.1.9 | account | string | 否 | 关联账户 | +| 4.1.10 | createTime | LocalDateTime | 否 | 创建时间 | +| 4.1.11 | modifyTime | LocalDateTime | 否 | 修改时间 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -5108,6 +5128,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userList/300001/1/10?userParam=as "address": "0x40ec3c20b5178401ae14ad8ce9c9f94fa5ebb86a", "hasPk": 1, "description": "sda", + "account": "admin", "createTime": "2019-03-15 18:00:27", "modifyTime": "2019-03-15 18:00:28" } @@ -5116,6 +5137,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userList/300001/1/10?userParam=as ``` * 失败: + ``` { "code": 102000, @@ -5132,6 +5154,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userList/300001/1/10?userParam=as 其中私钥字段用Base64加密 #### 11.6.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/user/import** * 请求方式:POST @@ -5142,12 +5165,13 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/user/userList/300001/1/10?userParam=as ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | privateKey | string | 否 | Base64加密后的私钥内容 | -| 2 | userName | string | 否 | 用户名称 | -| 3 | description | string | 是 | 备注 | -| 4 | groupId | Int | 否 | 所属群组 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ----------- | ------ | ------ | ---------------------- | +| 1 | privateKey | string | 否 | Base64加密后的私钥内容 | +| 2 | userName | string | 否 | 用户名称 | +| 3 | description | string | 是 | 备注 | +| 4 | groupId | Int | 否 | 所属群组 | +| 5 | account | string | 否 | 关联账户 | ***2)入参示例*** @@ -5160,7 +5184,8 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/import "privateKey": "OGFmNWIzMzNmYTc3MGFhY2UwNjdjYTY3ZDRmMzE4MzU4OWRmOThkMjVjYzEzZGFlMGJmODhkYjhlYzVhMDcxYw==", "groupId": "300001", "description": "密钥拥有者", - "userName": "user1" + "userName": "user1", + "account": "admin" } ``` @@ -5169,14 +5194,16 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/import ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | -------- | ------ | ---- | -------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -5185,6 +5212,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/import ``` * 失败: + ``` { "code": 201031, @@ -5199,6 +5227,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/import 可导入控制台所生成的私钥.pem文件 #### 11.7.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/user/importPem** * 请求方式:POST @@ -5209,12 +5238,13 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/import ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | pemContent | string | 否 | pem文件的内容,必须以`-----BEGIN PRIVATE KEY-----\n`开头,以`\n-----END PRIVATE KEY-----\n`结尾的格式 | -| 2 | userName | string | 否 | 用户名称 | -| 3 | description | string | 是 | 备注 | -| 4 | groupId | Int | 否 | 所属群组 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ----------- | ------ | ------ | ------------------------------------------------------------ | +| 1 | pemContent | string | 否 | pem文件的内容,必须以`-----BEGIN PRIVATE KEY-----\n`开头,以`\n-----END PRIVATE KEY-----\n`结尾的格式 | +| 2 | userName | string | 否 | 用户名称 | +| 3 | description | string | 是 | 备注 | +| 4 | groupId | Int | 否 | 所属群组 | +| 5 | account | string | 否 | 关联账户 | ***2)入参示例*** @@ -5227,7 +5257,8 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/importPem "pemContent":"-----BEGIN PRIVATE KEY-----\nMIGEAgEAMBAGByqGSM49AgEGBSuBBAAKBG0wawIBAQQgC8TbvFSMA9y3CghFt51/\nXmExewlioX99veYHOV7dTvOhRANCAASZtMhCTcaedNP+H7iljbTIqXOFM6qm5aVs\nfM/yuDBK2MRfFbfnOYVTNKyOSnmkY+xBfCR8Q86wcsQm9NZpkmFK\n-----END PRIVATE KEY-----\n", "groupId": "1", "description": "密钥拥有者", - "userName": "user2" + "userName": "user2", + "account": "admin" } ``` @@ -5236,14 +5267,16 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/importPem ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | -------- | ------ | ---- | -------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -5252,6 +5285,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/importPem ``` * 失败: + ``` { "code": 201232, @@ -5266,6 +5300,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/importPem 可导入控制台生成的私钥.p12文件 #### 11.8.1 传输协议规范 + * 网络传输协议:使用HTTP协议 * 请求地址:**/user/importP12** * 请求方式:POST @@ -5276,13 +5311,14 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/importPem ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | p12File | MultipartFile | 否 | .p12文件 | -| 2 | p12Password | string | 是 | .p12文件的密码,缺省时默认为"",即空密码;p12无密码时,可传入空值或不传;不包含中文 | -| 3 | userName | string | 否 | 用户名称 | -| 4 | description | string | 是 | 备注 | -| 5 | groupId | Int | 否 | 所属群组 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ----------- | ------------- | ------ | ------------------------------------------------------------ | +| 1 | p12File | MultipartFile | 否 | .p12文件 | +| 2 | p12Password | string | 是 | .p12文件的密码,缺省时默认为"",即空密码;p12无密码时,可传入空值或不传;不包含中文 | +| 3 | userName | string | 否 | 用户名称 | +| 4 | description | string | 是 | 备注 | +| 5 | groupId | Int | 否 | 所属群组 | +| 6 | account | string | 否 | 关联账户 | ***2)入参示例*** @@ -5296,14 +5332,16 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/importP12 ***1)出参表*** -| 序号 | 输出参数 | 类型 | | 备注 | -|------|-------------|---------------|--------|-------------------------------| -| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | -| 2 | message | String | 否 | 描述 | +| 序号 | 输出参数 | 类型 | | 备注 | +| ---- | -------- | ------ | ---- | -------------------------- | +| 1 | code | Int | 否 | 返回码,0:成功 其它:失败 | +| 2 | message | String | 否 | 描述 | ***2)出参示例*** + * 成功: + ``` { "code": 0, @@ -5312,6 +5350,7 @@ http://127.0.0.1:5001//WeBASE-Node-Manager/user/importP12 ``` * 失败:(p12文件的密码错误) + ``` { "code": 201236, @@ -6085,7 +6124,7 @@ http://localhost:5001/WeBASE-Node-Manager/sys/config/list?groupId=1&pageSize=10& | 4 | configValue | String | 否 | | 5 | useAes | Boolean | 是 | 发交易的私钥是否为加密私钥,默认为false - +​ ***2)入参示例*** @@ -6157,7 +6196,7 @@ http://localhost:5001/WeBASE-Node-Manager/sys/config | 2 | pageSize | int | 否 | | 3 | pageNumber | int | 否 | - +​ ***2)入参示例*** @@ -7337,9 +7376,9 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/governance/committee/list/sorted?group | 序号 | 输入参数 | 类型 | 可为空 | 备注 | |------|-------------|---------------|--------|-------------------------------| -| | - | - | | +| | - | - | | - +​ ***2)入参示例*** @@ -7417,7 +7456,7 @@ http://localhost:5001/WeBASE-Node-Manager/cert/list |------|-------------|---------------|--------|-------------------------------| | 1 | fingerPrint | String | 否 | 证书指纹,证书唯一标识 | - +​ ***2)入参示例*** @@ -7616,7 +7655,7 @@ http://localhost:5001/WeBASE-Node-Manager/cert | 2 | pageNumber | Integer | 否 | 页码,从1开始 | | 3 | pageSize | Integer | 否 | 页容量 | - +​ ***2)入参示例*** @@ -7690,7 +7729,7 @@ http://localhost:5001/WeBASE-Node-Manager/event/newBlockEvent/list/{groupId}/{pa | 2 | pageNumber | Integer | 否 | 页码,从1开始 | | 3 | pageSize | Integer | 否 | 页容量 | - +​ ***2)入参示例*** @@ -8450,7 +8489,7 @@ http://localhost:5001/WeBASE-Node-Manager/deploy/type |------|-------------|---------------|--------|-------------------------------| | 1 | -- | - | 否 | - - +​ ***2)入参示例*** @@ -8501,7 +8540,7 @@ http://localhost:5001/WeBASE-Node-Manager/encrypt |------|-------------|---------------|--------|-------------------------------| | 1 | -- | - | 否 | - - +​ ***2)入参示例*** @@ -8516,7 +8555,7 @@ http://localhost:5001/WeBASE-Node-Manager/version | 序号 | 输出参数 | 类型 | | 备注 | |------|-------------|---------------|--------|-------------------------------| -| 1 | - | String | 否 | 版本号 | +| 1 | - | String | 否 | 版本号 | ***2)出参示例*** @@ -8571,7 +8610,7 @@ v1.4.0 | 202034 | login fail | 登录失败 | | 202035 | contract has been deployed | 该合约已经部署 | | 202036 | publicKey cannot be empty | 公钥不能为空 | -| 202037 | associated account cannot be empty | 用户信息不存在 | +| 202037 | associated account cannot be empty | 关联账号不能为空 | | 202040 | contract deploy not success | 合约部署失败 | | 202045 | the new password cannot be same as old | 新旧密码不能一致 | | 202050 | publicKey's length is 130,address's length is 42 | 公钥长度为130,公钥地址长度为42 | diff --git a/docs/WeBASE-Transaction/install.md b/docs/WeBASE-Transaction/install.md index ff6389e2..4e747945 100644 --- a/docs/WeBASE-Transaction/install.md +++ b/docs/WeBASE-Transaction/install.md @@ -2,11 +2,11 @@ ## 1. 前提条件 -| 环境 | 版本 | -| --------- | ------------------- | -| Java | JDK8或以上版本 | -| 数据库 | MySQL-5.6或以上版本 | -| ZooKeeper | ZooKeeper-3.4.10 | +| 环境 | 版本 | +| --------- | ------------------------- | +| Java | JDK8或以上版本 | +| 数据库 | MySQL-5.6或以上版本 | +| ZooKeeper | ZooKeeper-3.6.0或以上版本 | **备注:** @@ -153,7 +153,7 @@ job.dataflow.shardingTotalCount=3 # * 说明:本工程使用Sharding-JDBC分库分表,支持单一数据源,也支持多库多表。 # * 单库单表:配置单个数据源,将分库策略和分表策略注释或删除 # * 多库多表:配置多数据源,以群组分库,以年份分表,用户自定义每年分成几个表(注:分表策略的路由字段不可修改[id,gmt_create]) -# * 样例:以两个数据源为例(数据库需事先创建),每张表根据年分表,每年再分成两个子表,以2019和2020年的表为例 +# * 样例:以两个数据源为例(数据库需事先创建),每张表根据年分表,每年再分成两个子表,以2020和2021年的表为例 # 配置所有的数据源,如此处定义了ds0,ds1两个数据源,对应两个库 sharding.jdbc.datasource.names=ds0,ds1 @@ -177,13 +177,13 @@ sharding.jdbc.config.sharding.default-database-strategy.inline.sharding-column=g sharding.jdbc.config.sharding.default-database-strategy.inline.algorithm-expression=ds$->{group_id % 2} # 定义tb_deploy_transaction的分表策略,如此处以创建时间的年份和自增id取模2来路由到子表 -sharding.jdbc.config.sharding.tables.tb_deploy_transaction.actual-data-nodes=ds$->{0..1}.tb_deploy_transaction_$->{2019..2020}_$->{0..1} +sharding.jdbc.config.sharding.tables.tb_deploy_transaction.actual-data-nodes=ds$->{0..1}.tb_deploy_transaction_$->{2020..2021}_$->{0..1} sharding.jdbc.config.sharding.tables.tb_deploy_transaction.table-strategy.complex.sharding-columns=id,gmt_create sharding.jdbc.config.sharding.tables.tb_deploy_transaction.table-strategy.complex.algorithm-class-name=com.webank.webase.transaction.config.MyComplexShardingAlgorithm sharding.jdbc.config.sharding.tables.tb_deploy_transaction.key-generator-column-name=id # 定义tb_stateless_transaction的分表策略,如此处以创建时间的年份和自增id取模2来路由到子表 -sharding.jdbc.config.sharding.tables.tb_stateless_transaction.actual-data-nodes=ds$->{0..1}.tb_stateless_transaction_$->{2019..2020}_$->{0..1} +sharding.jdbc.config.sharding.tables.tb_stateless_transaction.actual-data-nodes=ds$->{0..1}.tb_stateless_transaction_$->{2020..2021}_$->{0..1} sharding.jdbc.config.sharding.tables.tb_stateless_transaction.table-strategy.complex.sharding-columns=id,gmt_create sharding.jdbc.config.sharding.tables.tb_stateless_transaction.table-strategy.complex.algorithm-class-name=com.webank.webase.transaction.config.MyComplexShardingAlgorithm sharding.jdbc.config.sharding.tables.tb_stateless_transaction.key-generator-column-name=id diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index 6ba2752d..67ade23d 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -138,8 +138,9 @@ sign.mysql.user=dbUsername sign.mysql.password=dbPassword sign.mysql.database=webasesign -# 节点前置子系统h2数据库名 +# 节点前置子系统h2数据库名和所属机构 front.h2.name=webasefront +front.org=fisco # WeBASE管理平台服务端口 web.port=5000 @@ -626,11 +627,12 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating - ``` + ``` * 修改日志level后,重启服务 `bash stop.sh && bash start.sh` * 重启服务后,检查日志文件 `log/WeBASE-Node-Manager.log`。 + * 检查是否有异常信息。如果有异常信息,根据具体的异常信息检查环境配置,或者通过搜索引擎进行排查。 ### 12. WeBASE 国内镜像与CDN加速服务 From 469d2ffcc8654d578e0907656320b4fedb670ab6 Mon Sep 17 00:00:00 2001 From: clk_sayou Date: Thu, 24 Sep 2020 14:58:45 +0800 Subject: [PATCH 27/37] abi associated account --- docs/WeBASE-Node-Manager/interface.md | 31 +++++++++++++++------------ 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index 9fdbc501..c835f363 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -1947,8 +1947,9 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/1 | 3.4 | contractAddress | String | 否 | 合约地址 | | 3.5 | contractAbi | String | 是 | 导入的abi文件内容 | | 3.6 | contractBin | String | 是 | 合约runtime-bytecode(runtime-bin) | -| 3.7 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.8 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 3.7 | account | String | 否 | 所属账号 | +| 3.8 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.9 | modifyTime | LocalDateTime | 是 | 修改时间 | ***2)出参示例*** @@ -1966,6 +1967,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/1 "contractAddress": "0x3214227e87bccca63893317febadd0b51ade735e", "contractAbi": "[{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"setSender\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"uint256[2]\"}],\"name\":\"EventList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SetSender\",\"type\":\"event\"}]", "contractBin": "608060405260043610610057576000357...", + "account": "admin", "createTime": "2020-05-18 10:59:02", "modifyTime": "2020-05-18 10:59:02" } @@ -1979,7 +1981,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/1 #### 5.8.1 传输协议规范 * 网络传输协议:使用HTTP协议 -* 请求地址: **/abi/list/{groupId}/{pageNumber}/{pageSize}** +* 请求地址: **/abi/list/{groupId}/{pageNumber}/{pageSize}?account={account}** * 请求方式:GET * 返回格式:JSON @@ -1987,17 +1989,18 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/1 ***1)入参表*** -| 序号 | 输入参数 | 类型 | 可为空 | 备注 | -| ---- | ---------- | ---- | ------ | ------------- | -| 1 | groupId | int | 否 | 群组编号 | -| 2 | pageNumber | int | 否 | 页码,从1开始 | -| 3 | pageSize | int | 否 | 页大小 | +| 序号 | 输入参数 | 类型 | 可为空 | 备注 | +| ---- | ---------- | ------ | ------ | ------------- | +| 1 | groupId | int | 否 | 群组编号 | +| 2 | pageNumber | int | 否 | 页码,从1开始 | +| 3 | pageSize | int | 否 | 页大小 | +| 4 | account | String | 是 | 所属账号 | ***2)入参示例*** ``` -http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 +http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5?account= ``` @@ -2016,6 +2019,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 | 3.4 | contractAddress | String | 否 | 合约地址 | | 3.5 | contractAbi | String | 是 | 导入的abi文件内容 | | 3.6 | contractBin | String | 是 | 合约runtime-bytecode(runtime-bin) | +| 3.7 | account | String | 否 | 所属账号 | | 3.7 | createTime | LocalDateTime | 否 | 创建时间 | | 3.8 | modifyTime | LocalDateTime | 是 | 修改时间 | @@ -2032,6 +2036,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 { "abiId": 1, "groupId": 1, + "account": "admin", "contractName": "TTT", "contractAddress": "0x3214227e87bccca63893317febadd0b51ade735e", "contractAbi": "[{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"n\",\"type\":\"string\"}],\"name\":\"setSender\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"SetName\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"\",\"type\":\"uint256[2]\"}],\"name\":\"EventList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SetSender\",\"type\":\"event\"}]", @@ -2068,8 +2073,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 | 2 | contractAddress | String | 否 | 合约地址 | | 3 | contractName | String | 否 | 合约名称 | | 4 | contractAbi | String | 否 | 合约编译后生成的abi文件内容 | - - +| 5 | account | String | 否 | 所属账号 | ***2)入参示例*** @@ -2077,6 +2081,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 ``` { "groupId": 1, + "account": "admin", "contractAddress": "0x3214227e87bccca63893317febadd0b51ade735e", "contractName": "HelloWorld", "contractAbi": [{"constant":false,"inputs":[{"name":"n","type":"string"}],"name":"set","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"get","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"name","type":"string"}],"name":"SetName","type":"event"}] @@ -2106,7 +2111,7 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 ``` -### 5.10. 导入已部署合约的abi +### 5.10. 修改已部署合约的abi > 将其他平台已部署的合约导入到本平台进行管理 @@ -2132,8 +2137,6 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5 | 5 | contractAbi | String | 否 | 合约编译后生成的abi文件内容 | - - ***2)入参示例*** ``` From 30bec274c323793da3f83eae58c09044088cfa9f Mon Sep 17 00:00:00 2001 From: clk_sayou Date: Thu, 24 Sep 2020 15:06:10 +0800 Subject: [PATCH 28/37] fix doc --- docs/WeBASE-Node-Manager/interface.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/WeBASE-Node-Manager/interface.md b/docs/WeBASE-Node-Manager/interface.md index c835f363..76e8ffa9 100644 --- a/docs/WeBASE-Node-Manager/interface.md +++ b/docs/WeBASE-Node-Manager/interface.md @@ -2020,8 +2020,8 @@ http://127.0.0.1:5001/WeBASE-Node-Manager/abi/list/1/1/5?account= | 3.5 | contractAbi | String | 是 | 导入的abi文件内容 | | 3.6 | contractBin | String | 是 | 合约runtime-bytecode(runtime-bin) | | 3.7 | account | String | 否 | 所属账号 | -| 3.7 | createTime | LocalDateTime | 否 | 创建时间 | -| 3.8 | modifyTime | LocalDateTime | 是 | 修改时间 | +| 3.8 | createTime | LocalDateTime | 否 | 创建时间 | +| 3.9 | modifyTime | LocalDateTime | 是 | 修改时间 | ***2)出参示例*** From 4ccb4eba492c11dae0eacc5fc9780cb2f3a92258 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Tue, 29 Sep 2020 15:36:10 +0800 Subject: [PATCH 29/37] add web upgrade --- docs/WeBASE-Web/upgrade.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/WeBASE-Web/upgrade.md b/docs/WeBASE-Web/upgrade.md index 13ce63ed..1eddd1e5 100644 --- a/docs/WeBASE-Web/upgrade.md +++ b/docs/WeBASE-Web/upgrade.md @@ -2,6 +2,12 @@ WeBASE-Web升级说明,请结合[WeBASE-Web Changelog](https://github.com/WeBankFinTech/WeBASE-Web)和[WeBASE管理平台使用手册](../WeBASE-Console-Suit/index.html)进行阅读。 + +#### v1.4.1 +新增FISCO BCOS v2.5.0及以上版本的基于角色的权限管理功能,新增了开发者模式 +- 新的权限管理基于角色,可参考FISCO BCOS[权限控制文档](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html) +- 开发者模式:新增了用户角色developer,可进行查询交易,合约部署调用等功能,无法使用管理员的系统管理与监控等功能。 + #### v1.4.0 v1.4.0 主要在兼容原有手动部署底层服务,手动添加 WeBASE-Front 前置服务的基础上,新增了可视化部署底层服务,以及节点的动态管理功能。 From 5bf96db96f4c61fd302b940bd4f3a4bc4fc6a897 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Tue, 29 Sep 2020 16:27:17 +0800 Subject: [PATCH 30/37] add new permission dock --- docs/WeBASE-Console-Suit/index.md | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/docs/WeBASE-Console-Suit/index.md b/docs/WeBASE-Console-Suit/index.md index 54949bec..11515e32 100644 --- a/docs/WeBASE-Console-Suit/index.md +++ b/docs/WeBASE-Console-Suit/index.md @@ -226,7 +226,34 @@ CRUD:CRUD通过在Solidity合约中支持分布式存储预编译合约,可 系统管理目前支持权限管理、系统配置管理、证书管理的功能。 -**权限管理**:支持链权限管理和普通权限(四种)管理:(基于FISCO BCOS 2.0.0 - 2.4.x的权限管理) +#### 权限管理 + +**基于FISCO BCOS 2.5.0及以上版本的基于角色的权限管理**:支持链委员会管理和运维管理员管理: +- 链委员会管理:链委员会的修改均需要通过投票完成,链委员拥有投票权,可以增删节点、修改链配置、添加撤销运维、冻结解冻合约、对用户表的写权限控制; + - 修改委员会成员(新增/撤销委员)、修改委员投票阈值、修改委员投票权重值等操作均需要通过投票进行修改; + - 投票阈值为投票生效的阈值,**有效投票权重数/委员总权重数>生效阈值**投票才能生效,阈值为开区间,即:投票权重比例必须大于阈值(不包含等于); + - 每次投票操作,如果是委员投票,则记录操作内容和投票委员,不重复计票; + - 投票设置过期时间,根据块高,blockLimit的10倍,固定不可改; + - 用户不能同时成为链委员和运维管理员; +- 运维管理: 运维由链委员直接赋予(无需通过投票赋予),运维可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约; + +> 注:链委员会为空时,不作链委员会权限限制,所有用户拥有委员权限,可以自由给自身或其他用户添加链委员权限;设置了第一个链委员后,非链委员用户无权限;请妥善保管链委员的私钥! +> +> 运维管理员为空时,所有用户拥有运维权限;同理,设置了第一个运维管理员后,非运维用户无权限; + +FISCO-BCOS基于角色的权限管理机制详情可以参考文档[使用手册-基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html#id2),具体的设计原理可以参考文档 +[系统设计-基于角色的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/design/security_control/chain_governance.html) + +链委员会管理: + +![](../../images/WeBASE-Console-Suit/permission_admin.png) + +运维管理员管理: + +![](../../images/WeBASE-Console-Suit/permission_normal_admin.png) + + +**基于FISCO BCOS 2.0.0 - 2.4.x版本的基于表的权限管理**:支持链权限管理和普通权限(四种)管理: - 链权限管理为分配权限的链管理员,可以使用权限分配功能,非链管理员账户无权限分配功能; - 普通权限管理包含四种权限: 部署合约和创建用户表权限, 节点管理权限, CNS管理权限, 系统参数管理权限; @@ -234,7 +261,7 @@ CRUD:CRUD通过在Solidity合约中支持分布式存储预编译合约,可 > > 普通权限管理员为空时,所有用户拥有特定功能,如:节点管理员为空时,所有用户可以管理节点状态,设置了第一个节点管理员后,非节点管理员不可管理节点状态; -FISCO-BCOS权限管理机制详情可以参考文档[FISCO-BCOS权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html) +FISCO-BCOS基于表的权限管理机制详情可以参考文档[FISCO-BCOS基于表的权限控制](https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/permission_control.html) 链权限管理: From f037a6440cc51a977c024460e9e88ccd701dcf25 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Fri, 9 Oct 2020 15:07:33 +0800 Subject: [PATCH 31/37] add chain governance pics --- docs/WeBASE-Console-Suit/index.md | 4 ++-- .../governance_committee.png | Bin 0 -> 32073 bytes .../WeBASE-Console-Suit/governance_operator.png | Bin 0 -> 20707 bytes 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 images/WeBASE-Console-Suit/governance_committee.png create mode 100644 images/WeBASE-Console-Suit/governance_operator.png diff --git a/docs/WeBASE-Console-Suit/index.md b/docs/WeBASE-Console-Suit/index.md index 11515e32..4b9baa08 100644 --- a/docs/WeBASE-Console-Suit/index.md +++ b/docs/WeBASE-Console-Suit/index.md @@ -246,11 +246,11 @@ FISCO-BCOS基于角色的权限管理机制详情可以参考文档[使用手册 链委员会管理: -![](../../images/WeBASE-Console-Suit/permission_admin.png) +![](../../images/WeBASE-Console-Suit/governance_committee.png) 运维管理员管理: -![](../../images/WeBASE-Console-Suit/permission_normal_admin.png) +![](../../images/WeBASE-Console-Suit/governance_operator.png) **基于FISCO BCOS 2.0.0 - 2.4.x版本的基于表的权限管理**:支持链权限管理和普通权限(四种)管理: diff --git a/images/WeBASE-Console-Suit/governance_committee.png b/images/WeBASE-Console-Suit/governance_committee.png new file mode 100644 index 0000000000000000000000000000000000000000..fb533c844e866abe58eead4caac9fd0550b31c15 GIT binary patch literal 32073 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 literal 0 HcmV?d00001 diff --git a/images/WeBASE-Console-Suit/governance_operator.png b/images/WeBASE-Console-Suit/governance_operator.png new file mode 100644 index 0000000000000000000000000000000000000000..85eaffcfd5817fc0f5784c183be78862c3a93384 GIT binary patch literal 20707 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 Date: Fri, 9 Oct 2020 15:21:33 +0800 Subject: [PATCH 32/37] update permission title --- docs/WeBASE-Console-Suit/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/WeBASE-Console-Suit/index.md b/docs/WeBASE-Console-Suit/index.md index 4b9baa08..efc76797 100644 --- a/docs/WeBASE-Console-Suit/index.md +++ b/docs/WeBASE-Console-Suit/index.md @@ -226,18 +226,18 @@ CRUD:CRUD通过在Solidity合约中支持分布式存储预编译合约,可 系统管理目前支持权限管理、系统配置管理、证书管理的功能。 -#### 权限管理 +**权限管理** **基于FISCO BCOS 2.5.0及以上版本的基于角色的权限管理**:支持链委员会管理和运维管理员管理: -- 链委员会管理:链委员会的修改均需要通过投票完成,链委员拥有投票权,可以增删节点、修改链配置、添加撤销运维、冻结解冻合约、对用户表的写权限控制; +- **链委员会管理**:链委员会的修改操作均需要通过多个委员投票完成,链委员拥有投票权,可以增删节点、修改链配置、添加撤销运维、冻结解冻合约、对用户表的写权限控制; - 修改委员会成员(新增/撤销委员)、修改委员投票阈值、修改委员投票权重值等操作均需要通过投票进行修改; - 投票阈值为投票生效的阈值,**有效投票权重数/委员总权重数>生效阈值**投票才能生效,阈值为开区间,即:投票权重比例必须大于阈值(不包含等于); - 每次投票操作,如果是委员投票,则记录操作内容和投票委员,不重复计票; - - 投票设置过期时间,根据块高,blockLimit的10倍,固定不可改; + - 投票设置过期时间,根据块高,blockLimit的10倍(即10000),固定不可改; - 用户不能同时成为链委员和运维管理员; -- 运维管理: 运维由链委员直接赋予(无需通过投票赋予),运维可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约; +- **运维管理**: 运维由链委员直接赋予(无需通过投票赋予),运维可以部署合约、创建表、管理合约版本、冻结解冻本账号部署的合约; -> 注:链委员会为空时,不作链委员会权限限制,所有用户拥有委员权限,可以自由给自身或其他用户添加链委员权限;设置了第一个链委员后,非链委员用户无权限;请妥善保管链委员的私钥! +> **注:**链委员会为空时,不作链委员会权限限制,所有用户拥有委员权限,可以自由给自身或其他用户添加链委员权限;设置了第一个链委员后,非链委员用户无权限;请妥善保管链委员的私钥! > > 运维管理员为空时,所有用户拥有运维权限;同理,设置了第一个运维管理员后,非运维用户无权限; From 2ee32786b6b8936170f422909cc09894f6fdf27d Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Fri, 9 Oct 2020 17:33:02 +0800 Subject: [PATCH 33/37] fix nodemgr appendix & add tb_contract deploy --- docs/WeBASE-Node-Manager/appendix.md | 22 +++++++++++----------- docs/WeBASE-Node-Manager/upgrade.md | 4 +++- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/docs/WeBASE-Node-Manager/appendix.md b/docs/WeBASE-Node-Manager/appendix.md index a1525a3d..b3cabc04 100644 --- a/docs/WeBASE-Node-Manager/appendix.md +++ b/docs/WeBASE-Node-Manager/appendix.md @@ -1,12 +1,12 @@ ## 附录 -## 1. 安装问题 +### 1. 安装问题 -### 1.1 Java部署 +#### 1.1 Java部署 -#### CentOS环境安装Java +##### CentOS环境安装Java **注意:CentOS下OpenJDK无法正常工作,需要安装OracleJDK[下载链接](https://www.oracle.com/technetwork/java/javase/downloads/index.html)。** @@ -34,7 +34,7 @@ $ source /etc/profile java -version ``` -#### Ubuntu环境安装Java +##### Ubuntu环境安装Java ``` @@ -44,7 +44,7 @@ java -version java -version ``` -### 1.2 Gradle部署 +#### 1.2 Gradle部署 此处给出简单步骤,供快速查阅。更详细的步骤,请参考[官网](http://www.gradle.org/downloads)。 @@ -69,8 +69,8 @@ gradle -version ``` -## 2. 常见问题及方案 -#### 一般问题 +### 2. 常见问题及方案 +##### 一般问题 * 问:执行shell脚本报下面错误: ``` [app@VM_96_107_centos deployInputParam]$ bash start.sh @@ -85,7 +85,7 @@ dos2unix *.sh ``` -#### 数据库问题 +##### 数据库问题 * 问:服务访问数据库抛出异常: ``` The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. @@ -107,7 +107,7 @@ ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (110) GRANT ALL PRIVILEGES ON *.* TO 'TestUser'@'%' IDENTIFIED BY '此处为TestUser的密码’' WITH GRANT OPTION; ``` -#### WeBASE-Node-Manager服务搭建问题 +##### WeBASE-Node-Manager服务搭建问题 * 问:执行构建命令`gradle build -x test`抛出异常: ``` A problem occurred evaluating root project 'WeBASE-Node-Manager'. @@ -117,7 +117,7 @@ Could not find method compileOnly() for arguments [[org.projectlombok:lombok:1.1 方法1、已安装的Gradle版本过低,升级Gradle版本到4.10以上即可。 方法2、直接使用命令:`./gradlew build -x test`,如果提示gradlew为非可执行文件,执行`chmod +x ./gradlew`再次执行build操作即可。 -#### 启动问题 +##### 启动问题 * 问:启动Node-Manager进程后,后台日志显示`not found any front`: @@ -183,7 +183,7 @@ Could not find method compileOnly() for arguments [[org.projectlombok:lombok:1.1 | scheduler.awaitTerminationSeconds | 600 | 定时任务的线程等待超时时长(秒) | | scheduler.waitForTasksToCompleteOnShutdown | true | 定时任务完成后再停止线程 | -### 3. 升级兼容性 +#### 3. 升级兼容性 请查看[升级说明](upgrade.md) diff --git a/docs/WeBASE-Node-Manager/upgrade.md b/docs/WeBASE-Node-Manager/upgrade.md index 27a62c90..16d4b3e6 100644 --- a/docs/WeBASE-Node-Manager/upgrade.md +++ b/docs/WeBASE-Node-Manager/upgrade.md @@ -14,6 +14,7 @@ WeBASE-Node-Manager升级的兼容性说明,请结合[WeBASE-Node-Manager Chan **数据表字段新增** - 新增了`tb_user`, `tb_contract`中的`account`字段,并更新了唯一约束。 - 用户角色表`tb_role`中新增了默认值`developer` +- 合约表`tb_contract`中新增了`deploy_address`和`deploy_user_name`字段,记录部署的私钥用户信息 ```SQL -- tb_user修改 @@ -25,7 +26,8 @@ alter table tb_user add UNIQUE KEY `unique_name` (group_id,user_name,account); alter table tb_contract add column account varchar(50) binary NOT NULL COMMENT '关联账号'; alter table tb_contract drop index `uk_group_path_name` alter table tb_contract add UNIQUE KEY uk_group_path_name (group_id,contract_path,contract_name,account); - +alter table tb_contract add column deploy_address varchar(64) DEFAULT NULL COMMENT '合约部署者地址'; +alter table tb_contract add column deploy_user_name varchar(64) DEFAULT NULL COMMENT '合约部署者用戶名'; -- tb_role修改 INSERT INTO `tb_role` (role_name,role_name_zh,create_time,modify_time)VALUES ('developer', '开发者', now(), now()); ``` From 6c85d3f7a1c21c7ba6798ce138d837ea2875ea18 Mon Sep 17 00:00:00 2001 From: v_sflkchen Date: Fri, 9 Oct 2020 19:18:51 +0800 Subject: [PATCH 34/37] optimize account instructions --- docs/WeBASE-Console-Suit/index.md | 9 ++++- docs/WeBASE/install.md | 32 ++++++------------ .../developer_mode_enable.png | Bin 0 -> 98314 bytes .../WeBASE-Console-Suit/login_user_add_2.png | Bin 25294 -> 741872 bytes 4 files changed, 18 insertions(+), 23 deletions(-) create mode 100644 images/WeBASE-Console-Suit/developer_mode_enable.png diff --git a/docs/WeBASE-Console-Suit/index.md b/docs/WeBASE-Console-Suit/index.md index efc76797..b9db2417 100644 --- a/docs/WeBASE-Console-Suit/index.md +++ b/docs/WeBASE-Console-Suit/index.md @@ -404,10 +404,17 @@ FISCO-BCOS证书说明可以参考FISCO-BCOS使用手册的[证书说明](https: ### 账号管理 -账号管理提供管理台登陆账号的管理功能。管理台用户分为两种角色: +账号管理提供管理台登陆账号的管理功能。管理台用户分为三种角色: - 普通用户,只有查看权限; + - 管理员用户,拥有管理平台的读写权限; +- 开发者用户,拥有开发者自身的合约和私钥用户的读写权限,数据概览权限; + + 开发者模式默认关闭。如需开启此功能,可以在WeBASE-Node-Manager配置文件application.yml中修改developerModeEnable为true,然后重启服务。 + + ![](../../images/WeBASE-Console-Suit/developer_mode_enable.png) + 注:此处账号与私钥管理的私钥用户为两种不同的概念,账号用于管理台权限控制,私钥用户为区块链账户。 账号管理: diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index 67ade23d..4681e6dc 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -518,23 +518,11 @@ ImportError: No module named 'pymysql' 答:需要安装PyMySQL,安装请参看 [pymysql](#pymysql-python3-5) -### 3. 安装MySQL-python遇到问题 - -``` -Command "python setup.py egg_info" failed with error code 1 -``` - -答:运行下面两个命令 -``` -pip install --upgrade setuptools -python -m pip install --upgrade pip -``` - -### 4. 部署时某个组件失败,重新部署提示端口被占用问题 +### 3. 部署时某个组件失败,重新部署提示端口被占用问题 答:因为有个别组件是启动成功的,需先执行“python deploy.py stopAll”将其停止,再执行“python deploy.py installAll”部署全部。 -### 5. 管理平台启动时Nginx报错 +### 4. 管理平台启动时Nginx报错 ``` ... @@ -546,7 +534,7 @@ Exception: execute cmd error ,cmd : sudo /usr/local/nginx/sbin/nginx -c /data/a 答:缺少/etc/nginx/mime.types文件,建议重装nginx。 -### 6. 部署时数据库访问报错 +### 5. 部署时数据库访问报错 ``` ... @@ -563,7 +551,7 @@ OperationalError: (1045, "Access denied for user 'root'@'localhost' (using passw 答:确认数据库用户名和密码 -### 7. 节点sdk目录不存在 +### 6. 节点sdk目录不存在 ``` ... @@ -572,7 +560,7 @@ OperationalError: (1045, "Access denied for user 'root'@'localhost' (using passw 答:确认节点安装目录下有没有sdk目录(企业部署工具搭建的链可能没有),如果没有,需手动创建"mkdir sdk",并将节点证书(ca.crt、node.crt、node.key)复制到该目录,再重新部署。 -### 8. 前置启动报错“nested exception is javax.net.ssl.SSLException” +### 7. 前置启动报错“nested exception is javax.net.ssl.SSLException” ``` ... @@ -582,7 +570,7 @@ nested exception is javax.net.ssl.SSLException: Failed to initialize the client- 答:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,因此在使用CentOS操作系统时,推荐使用[OracleJDK](#jdk)。 -### 9.前置启动报错“Processing bcos message timeout” +### 8.前置启动报错“Processing bcos message timeout” ``` ... @@ -593,7 +581,7 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating 答:一些OpenJDK版本缺少相关包,导致节点连接异常。推荐使用[OracleJDK](#jdk)。 -### 10. 服务进程起来了,服务不正常 +### 9. 服务进程起来了,服务不正常 ``` ... @@ -602,7 +590,7 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating 答:查看日志,确认问题原因。确认后修改重启,如果重启提示服务进程在运行,先执行“python deploy.py stopAll”将其停止,再执行“python deploy.py startAll”重启。 -### 11. WeBASE-Web登录页面的验证码加载不出来 +### 10. WeBASE-Web登录页面的验证码加载不出来 答:检查WeBASE-Node-Manager后台服务是否已启动成功。若启动成功,检查后台日志: @@ -632,10 +620,10 @@ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating * 修改日志level后,重启服务 `bash stop.sh && bash start.sh` * 重启服务后,检查日志文件 `log/WeBASE-Node-Manager.log`。 - + * 检查是否有异常信息。如果有异常信息,根据具体的异常信息检查环境配置,或者通过搜索引擎进行排查。 -### 12. WeBASE 国内镜像与CDN加速服务 +### 11. WeBASE 国内镜像与CDN加速服务 答:WeBASE CDN 加速服务提供 WeBASE 各子系统安装包的下载服务,可参考[国内镜像和CDN加速攻略](./mirror.html) diff --git a/images/WeBASE-Console-Suit/developer_mode_enable.png b/images/WeBASE-Console-Suit/developer_mode_enable.png new file mode 100644 index 0000000000000000000000000000000000000000..506d5982e10f40429d939ecc3a316ae6152e673f GIT binary patch literal 98314 zcmZ6ybyOTr{45&5CAeGA;O_1&!QI`1I|R4I-CcsaOK?~ghh3cD9(-|l`Tp*^_ucdU znbT*^NS~Rm`c!vSM}JqAK}8}&`taccs+_E(+J_IHz5lg;BYgUITnW(1{qW)E2RTVG z4e#8uUgQ^QO%Iwb6`^Ui6BJpA1$+;0B#PP97`8u@A%$5)92{~q5WFHRa{#R{=I(F~ zx!8BP9;=XR!g?Nz&-83q^Xf1Uy2G+vG`*pVV_OqDdtYmZCGPNN!--lvGdLOf2 zQgH+~>=M+{f681qq-QRq7ruf|v*4_oZq-O(b7Ve_;oQ<5b(k;u_t{goPtoL1!x4OG zHKRVop~8~w4$)+a!S_;t@Yu+KHP_P$6*?ipxBYB=sB!gU#!{cSMdt1)V^8Ow+G3=K-vLP$nsANe>nB!Jdtebp&xr!oUlx7v5;<`|~^ zHVNv;O=cU9%msdV^@^O?mGJW>L;wd2Wj`h`3n?$?rjy-NGaUt+7$LUZfdlb^X0uAw!B+Qmcjl#o-*TVV2V@{*q^3)`uioylY- znqz$=!}J};4APmX}#j`ALq@%kzVUm)spFQFk5hV8xG>MGer?5o^L!#s3&%ZjI*yyMIMu7|t>OA?OULo#U@E#Y2=n5~F1*1peHmDCqi`hZd}isf zRUGNJ1ZpFUc6ld`5{}5XxR<(46j&e=cJuCF>K*1=?2G%%`slb5fDP}#vb43|OPlI` zL?2a?mddWB%r3PrsfJ(CH!~$I>v5`^%=5AMt+z@(n5Gq8|J_0%v6|>UVv{1HLxv-6 zcR9U|ou}1LQ{rZnrK*)~>1yoiSwM|)_OxG$mh}Ic_ubfYJfrx|Yvv7L{DlW7zJVVn zUE5gsYxNYQ1N%A}>ZRD%JKSomW|P4E4z25Dh=AGz__>$&&PPIzu8nj2H}^P3Bm1l} zPF;kJ3+fRceRmC_O*YifW+waqaRjd%ez1{O6lFaT>+~e>~s3ggA*Da+MZtNP5D6J(&RFp0BG) zN(KLoan8E>sfMr(+KFTkN!`r3*W;0!5V&gnQgSiW1;E>tG<x+9l8&adi5^0L9kV5>U(GKC6v3KAESZJM=%#v4A}PR1fS@ zvIzyEuVx;}^Br(xMlxB=h4HQ2uf}(dtFI9ry0^9Pd$Qfjx~J7e_L^v+%-xr;_}aVl zp87GVWV8b=>JfF}#p^^&04B}ePCvt3GEUcQYr%+!R26FCYo*kx`#%qh;f_An;AqEa z-1scgaHP$-jQJsDuj@2Xt|RkNZOsTW-%nd3H`$PHw$*%&-wdb;j+=(!kMgT)SJ zjY`bJlBAF+pD-i4z7Z;Pk>8lkZ|eS~q*^%QH47AVR1iw`QM(gS74nV=rIBp?s&Z4+ zg5DK;A7VXG`3kH_)8Ap7As5qEm``!B=%j9aZQyK1WukCJEiRL=N1}S1COw{t-%8}u zWgewfQy2y&>#fX#BzD6u*d&@0J?P&fHhJTgSO{e1^U1*#a?%vB1?LnTCqe}XH zSF&f?M5skyuW`;0P(OuO{AL{(P zj7q}XXftr@Cz2$tq0VOb8RTtw%;z-%$Z5Z2A%Z-q6A<@t?JTO45;_EJ__ z{bLTkqE|t!pQtcXn9h!!RCh7qDx~+bR|bEm-LK`qKD-CX;@8LsOHz$*!GD(vF(Z_L zf+lxH3ge9cZz^I0Fy~+Z(I#r4hkt43Cv$6A=U^~r*lS5RMZ2_%%$%IK4(tReIdez` z;0H~iF2D|uM6Te+9_)(^V?Nu63jjYGwK3E7A@nA9W+WEb7&t#S9e$P^W5A8_q*;kp z+XMKG%_MVoU=-8w_Fh~GF0M#sFWA5kh}>9k3C=V?uN6t9J81GlDu&7h8Ii4L?UT}o z0ECw!29zANM-|1PiBvTxn2DXp?Ax!XUkAb@c%DOOry-K!66S!}!7V+9nJ7{$d+RlD0a1i12$`9Nm@Dsjm%TW&8nk=|dS=ju)0QGL1 zo~2U68Gh4P7c&|urP)@EtzKT9#e_Q$*+hQ@SzKN*BUNNn!Z2VwEq<-5pQMS9QspN* zsZyMtI_Y{%HhdgC5Q@wXyzRGx5ZuhKeV>{f9UbXucuR5)fU=yq1??@5;qfj|wP!B* zUKArtWHeW~n9eOZn`h#cH5cV)42(6=s{xveS%tH!8m4DX<@4t`V@HZzTvYLV zoZ??0_m-O0pEfv*Ziwmw^a#!Zh*{li?gMI zjuQIrv{m$5y(TTmm?0!D-yj?QpDkUbXSlsk6xbcOvJP(3|%eBE{@1e$w{0{+?^e!%6u1{!8G=-ca3he}8U_S=-;k zpjWOj&FPUY=8(Ako}ZlA=(v^y;}M0EH;nra+l1E6Mwk(RWh7z^i(Oimsie>S*(K=NBPtt;AbCAzQfb5 z!AxJgsxB1fR1bnYhLhE29nJ9QIczDc-C|l3`-wR0yD@!C(El(|J%J}ps&A}MM zTu8WAV^taH?c{?=)qDgiixigsrKaw-{O$Cz%|UovpwYNaN%*YFMS!N}Kxb2(6j8I5 zL`l;&cpc6bv4!oStA_9p*8`R0C!EzwM*NJHvelD&OzqM4QzOdE|XOo(0_n)?fF&Ky7^dDr_+{) zqObpVldjf?Yk&zzSQ`$rr>i?-ekrBPwaG%?iOdwnT()P`%rB{pI}exh($oA)`HQ2U z$?>daI$SAyZ}>FND2w7!Yeim$g(vVrJxlxMZtkHtpr{q|=pfg@xYH3|;D}z2A|SY? zNyW})`u<8c_MKM4qbz!=ip@{cK`IBMZU%3f0-z;mIt%@}h zaQ`D-{l724yKi^#`u*TH`=#g^<8CXlp!HjoD4V~JAisLH)0u$dzxJD#`zg!EZ`7=HD{}|cNCrC-(GwAQ&{igf%+P~}V%t1_KzH3}oudpm@J`>@P ztc>2*+wLvDDO7voz|HI_yubXfO&MpMm%TYt3ey2Abqd1nyI1uA&!&(*ufxgBdsnxm z`k-;yyl!qI*X;}y{)=-Kg9WW_AIPeI;24+lL(0(fX%YDUCi!Cpj9PYt-UkhGM4;?KI=KQZUyi3&U|=h|A#`n0%-9<&>kR#%PpkkdEZw$Vj5m? zM$_(se{WVIbmiag(xoP@-)MiidmZb8*6a$rSvt*ZI-l$LJt?4#yK;=>^?=WMcpx{R z1*5K25KzJxn!KCSWV5ycc6(7U_Ag|!x+7rmjbLlM9X(rVb(@+rauviUx6gm9;p+C< zL><*}0ol*+3wM}kkwHW6H<}e*yVFj0qmMtmq4WOuqoj8Y#Cx}|@4=m9lxWCimHsml zf^(R*_6=b4gTVF{)#cejaVY9lnshAsf%) zy|uS7W;3g-%3U_6nG>QynhuL{F;->25k>xmoG{dD|dV?l(z63E)gygm{5 z=J|a7Cd~xNB5X_9Nj#MeuHpN9gaP#q=2t)PzNE0H@CShcnsE;3ajM`;Z!vHK{q8er?N$9|L=fs-5Bpel`)@qOLAg?CbK!m5%edn6D=qCe45c? zN$?K2=wJhI@rc$P`Zq!tqTEl0IYkdX?*93&a|tTYqpWVZ>!eJalI5>v7Y$;&X$nfs zmJ$x;DmS4ej{|TbnFPGTh%Lx9N|z%=H?y8YH{2~zdK7O=78UHx1Y2t)C$^QEB)fuD zk)Nf~5Qk;si?vH{#NJnB_t5vFCIu4{G}(;t%@4{!?=~V42REH;R!IprFFqR6r~c(a zS~pNd&2};)%au(_Tu0Pq|C&>%V&19G;OY>X&HMMvF+nJzAE_?e!OyDK(_%X^gQvE( zPp$jrw%1vNkiG0f%eu~K$8pG_RA2eg%;J2NKVE#f;~Ir=^KY)s=_Xn)$DX~xQ)mm< zyYmHzi~`cLy}4lg4$7(fJ<0x_HmSXjpR3vcP~Hx408%YBh@dK7%mKSZ6G`5!M&Mk7aPyaSZ?Fj2Lc(u9p(dc_D3t7h$+4JKGamNRJ^=UOo2_^bLid;${H zx9ue?Qcztxb=aWQww27Nx~4u|-N$V+$k^V)PW7&4uP^IZg~mJGOblgv(p(Zzt)biM z{;hMkVwH5)Hr`u#teYsuwLpNj8v7`tC#y#V4)ctWs_es|diOO#Z9!0}VfExl`({_^ z#)8yzPhtNS5y<#*jJR69{+Ef2E={J;_aM~Xsq^5pDTS)$pLdqgX;1C| zDb??^;7>O{=d!Ei*BV48Z+e^M^@Xb$?5sEX zU1q&<>#Y{Kk2KRAgP}8Dv-Ip4s*MitkvYcL?t5n|b_E^8e6!aKl5t|4Qq~KD8;+Xl z`KVCH$HM(cVautwocHI=_37t!BfnkpZv`#%L0aYOtHmOtf_s-xps|+D1WD7u ztPsS=3)%M`Ld1Qc=QkgHLFaXDSGhWwV{}B8 z@2{Bc?DJgMuOHlOAp-L}S7%!8Q}XVx5K7UrG)CbE(dTva!_!$7N0FC|Z84TrWpAb* zVvN&s^wB%V*c`|q@n{%I!}+O(U%$S3BMFWzT>1_;^vJ8|9ksAD6@0i&vP(J242=2& zWMVDho>QZ?;}?Z?*LP1qar}AI5;2HGO61Qt zDW=qbUvvEfCO}UA`mZ&L+RGH;+#dd>*k#~S(287PN2fw&olQMio7j$M^#)rp+VhTY zgWm^RRxpE$b0LTH-Bco3m%oct9#4|`@9k4iI600D(QKX_*qn;Z zx&F}i%i~ph|4v`K;q@rMEqke=;2w%s$G4Yy1Kzreh@Bqmw65v@Qx=(RIQp={*v<_d zqd>C`UXlY#)a?DkVke8=1+}xUjPc=>=$@4hmS~kUHK=kz9Q;aM6p&UdoK~mNmDW-R zZ7}*}Yp97C7=iJzPRmjkhePik;RyjI8{d>4K;cQziIBKQ-&^YheoWd;@&!fc;Lbt1F%yZUz^Uj~nC2s@7D< z#R;BD#2NjxtB-`4qAxoiii6N)z!1oqqN)WF1?Ra*{qm_zxU-S_4;sB{f*yUkLJlIj3y`elNQFX2uV~}ZlxP~HCyA^Mjx@*AeBOXloCx5BL)d2Gp zQJbGM)1@q}#q1iPCPX1rOG5HI^{p4KsEN%Xb#&PJg9fX2@wcctXX0~Qi-IXobR!*& z-rMgSz5~3*k%6|)s0Y83TkiaSNVm^f=Mc0ixTB#rb6n;qT`_q28{wfL$y zs8V36Oe-_a=K0x#uEE#`cV*Jx6k9N`ZkM4XcLuwZi6U5@8YLB5)=0D3L13dA#NJ2i z+$DbaQHQz)#hia@Mp#1Z>8FeCpfO@X&2iqK07oJy_wSBhCqz($5ka5^VUE#uni2Lw z`!ypktoVc}0C555yf(t|_p@b@=U9~RS?uY+-;bpOIxH=C%^&+(3!U-z#XV21)sgae z=m+vWxD!cGrW@$^*odZliRp5x_6o{g@{?y4UB9?Y84%NExM%or9&Wj3hc2sqF`MR$ z0rfCj|CH)ew%~H4y>Hy>mD2h?AszFQlO5dN4Y~6w!P1z#^_f#j};5kn7NhDd~6PWP%bz4Lj7WLGDQC+dzz;ifSY8jJ-=(qrE! zR9f1znO5foe>aIon8^?XvbD>$SrXzA+?TqIAnkie=i5vm<+Y&B^2@y1(Ka{iHOXwA z7!WlP`Bl71aa$bapvAMZbO$mgbJy66nog{2*i2jMebd9FmGS9w4X=}YX7h^* z@L58i!_6w;gm_AR zz~OMkz3aW?T7MAHoE#*9@fNi;n(7LSTU)~Ob(1i^DQ4249?Zlc$mt`s^{H6Z$m7>! zZU4ob?f86AZzAF?QxenHAR)W-!03_VnpU(8KkWE-aWlO@iIT z_(k{9@Vnn#wE<0WZcZPrFzjEZkk zZ(w14p~c!i(V72om5vIGFFSOlp;GY~jnm{#CT9_!{<^b5mfIUKagz~1%IA#gXWtao ztti!Z;jFha8UJ9k^LVtlrgsL(39ww0JuApb75TOqzjsRC=^KtyO1LCtczH6ToXd38 z%^6t0$N&|;!?ym}nR)4M6*MEuh2TervPSplXTh!h7@Hb}fgdFW)Ef@`m6!VaMZNqh z2QSkjoxm7CX#X5mK#&GVzPVIh!)W?}=Qd|r1{grGk{e1HbRv62un7Jn*Gk^+_v3-W z^0jR*ZW^S@I!`5{MclMd3enQ7%5TczK;~|k3emLH7-UWsPAu>!cHtZz0oaZoE2c(n zU`&D=WccJV$MRm+nU+5EvE0f(9Yrni163%`geqzTCMGsJ`YP~Yp~g^b>)*-nU1{rq zM&^_-OVrca%&P3N62n_QdjZblxR^`e?}{G|Biuanu1V*3^2%1`F<6W@zYJ%#a1u?f zGptMIDewsd6|Y}K>?ZPxL~U%_!g<W8)CIVwe}dHG#+>Wj}lIwrjZ|?h)CWA+aZWGVs5KI(Bmm= zJs6UE`igo+L*_raP5tHly=?)Dez!b=t>Is-Z%pq=OR$-;lZP3{VtR+=OJ+9#QqajO z>MJd)w58YIQ^Q-t6^dE4df*ZOnlcdtBL>0lgd2SmmqUHz`UXTjM|d`M-m!7tNLcMs z1Qr?py3w0uEtZ&LW-={{XOpe@x!o)nLt}$j4OLjhfqR4G^;ex#6(Y+)tapZ-u<2B= z8R`}+#O(+QuyW0#GClL>VkkXVa&h`y!X90uU5ENEf74O-3vSovvy#Vn5K2e!`ppW6 z$HThq6Yp!e>@e^Aq9{*qP`lctnaTkDIZK;(sIEEC{5;n!$%K;2m7iz}y~4ZD2BAsM zVLwRy1dz!-W52)58O zV@9Kw#X;)aHPjt!q$hQ(rpgoP*-4 zAyU#BHD45k#VBdPG+=mu6{2}4E78DZv6*1gYB_C0z6*)}h)fM$V-uQC-*{FE%oS{P z8r4eeqZx~YY+KH`DOV%fIpVKPI(`^fkRQUNgQ_U|d?tIEne{qxV)tri1izb-OLF-E zmEo#;9MMlSl%zPdUV3PI(T!h>AW69sqnIL1u_z~+3sG0i*h>JjDH77 z#{*p>`Fj0B=-~#O%8SPKxV)e$gwk$;LHUgC%@`?+OV5$-#u&DhVnQJ(4mgF0rvw$1 zuFM=(r*fz%GU6n@!=e=T2>@*HY)&wZF%Hiuem;jF)+ZI~jm~w*22npJO+!P(lBGCQ zIDJ~frtup*nX7`-F z;Ry5-`NM-eD!of2Cyc4hj^eT|%l4BmMb}+oJ%dt4Py8*cLbh3Q3>$K4 zGkZgWI`Q#=IHa9YT{$BduXkDqX_3XwXY850^kb)mw7nM|f<3u=`W1H)Q%8lEed5{n zFdjz#VA6XHwb6!aTmEwW#BxThIhmahF?^xEsf=Z;w3G$48={-W`P{S8OoX{XA)68^sCx!lgb_yYa-OdVHR| zOGOn)Jd6g3J4KyH%~L~bcr1`3&V=Hdms3z_fH~BisbATEh8Yijp?z+=+F2F|C5+!0 z3!DyIUUO6#ZBmuw*)e^5t;2&FqYiLpo+_LMG@$B6?`1(Jxc@6d_n&UKaHGrqP-i;r z;B6!}nEIk2Jdwvt@0B!tu zbOBRiSRwwM8?G>IF01tZ?n!^=6&}{7Vv$wG>?0tG#Gd&Z6EcVpPf+zQ3%%x|8?}oR{Dtemn|s05FPf=~L>ZP09yUjF zm(lT{fHAxjsUNqA{OLQ05hfBrWv@{+C;wCPmXKb4%K|=Km;&LHlLAC z>-O}L?Q8|lo_;yhvbT)I)ot|h(Gb>(gty5{PgIQ$KaPf_&PtLS%=eTU4$5^MMy6Q} z`^b|jR5&7&=AA{NKnL~iDGDIXz(z}70Td%d{zmvHZCvkwuwW=ogP=q()?zMXu|A2_ zT}^%)yW)T<)pvF&B}GVV%{e!VRmM%g*Y)Yp7n?eUo$}tE6&CDj}FA zdO!tmsJW}iINwMTyTtz)SUHz6FWJeCyAREyn8u!|q(8IyN6XhDGFkthzIa*)#N!)T_>d3T2bfWD!*#VEKf3L#Nx4vmOC4fIV=I0#Ug?NszvtY0 z95G-x@TIYm1|nt7GU|q9jAkYTU5`?>`F@R8l0FuHbNq=RJp$dc7qSXtKS>j%P^TBU z{^dB5(>61`;(3tQ83JG|2f+GvZqf#3VT-{aApjOEWwGy&yT3%y%mV%Ev(kh@mJ!M` zlLq}!XTJwixOp7q#f``ax1NvJwmJKRemfxisZ`uAOg~6}3;K2<*CATjOCk?4bk9H(J+3&6pO#-SgIZ$s@Zb&9uEwZfQVGIP_s1KJ zxKLl_ICsbduI*65K+!U+-x&s5_{kilI5XJ)hG95Kc7Kd7UG=es-@j9_3EKrcKepO=Km8HOoHJ z=QjnhCHD?D3`>f(Mz?c~thc7JC_$}h;lf!XZqhDSE`Ef}&Ui<#ne61o3C&_PQz07a z1L-AYOMmS0ax<~j!N7(wB_6;`?}_=3MNoW&+wnpQP4Nc>!w8raA(Betf0OA*WfTr8 zL!A6ET#Q95L<_Y-{1`VJD6u7E`HHw_PZqTgMrWsb>sPik8yWlXRPs<+*e}LrC=qzn z6go#+cPyP*_YL>ga79ZPO|ppSAKJ7%E(gT$G~Sw)P}BPX6Rn;t^uuMfTbWI2^u9A% zPlr<4e8HxjIAz_H%)@VUnqz#<2wc`%76TZ3nDiqQN~-m#9Szt%L+Ct^vJnWgRdP@$)P(w&#eJ390q880y>@GTgea+(#6}9UqOJD=D%) zAyAR6K;!4rqZAc^ouB@Hi|QR;b_^dO>iIW2C1~D@`MnoS0Gq%)^|fi^fO(P%jjf8+ z*PObJWAFmR(fj27S6@K-n&%92;NChi+WT*Mb7nM(W{WhcDF~H;|uj#cTk@9 zUOa^C;WkLN`>pTEc}-|d@SPdwEfix)U@HLpmoo5>uU_!sIq>R#uf3>0zNJ#|SsLjL zCjNAy=qr>Q20`$nA(cns?aG=Cl+Sv??uX?f-4}_6c~`}F`Bys&`M13Omha~z#+)KA zA$Ym}oq6BuemjYeWb}#sMm7AL{lJer;aRR%F_!UTWvzG07lE~Lt93IQKRVRvxN$f3Zrk$G?kPn3BxB#ulWcnCe z!SA9k`N4?34_OJl`{`{*WT@IE}@u^`KcRKbL~1yy{>}t3<=+^VHigm zXI9A6nmf$y(C^}Tn!B0zy3oH&lJ6@@lWL8Ej!hO{*WO3Rs30u&yp0A3sZX+=nSEow z#TXoNC{EFjwlMpB9Ak3sWQ(2;fir@g(pUYwF*tvuJKgyrV~h~$tt8Q+c}afxD0ym-V2wbp!uCQ4>^Se` zdH!dd<*$q<=*;3(+_N{cstpgsb5uo{OR(vN2P08AU`MJ6dh$uM7^pM{6Tg0Fy*_JI z!X=^Q0ICg(UGE-bMe=!0(<*~d^u+wL=oB8IAX={;kZq}-VI5)n3`wZuGfwoV@NuNWo3Oc+sNc#(tF{Tpy?be=9U3V_Od|6ESbRgtZ=^?J+HeQnx+dc40~k-aPq&FHr;z6%!UOhZTW(bEG6LNi~ zhsJuJk`%5-Ue6hWFIHKaRV3XQCB9~_1wLnLzrWen^<8O0&V$e|-hnE8cLOT((FMGx zzk=Kk1_;`E?nNd$#~gd@&e2Y(DJ4@F_+F!JU$-9~!x`H1oA}=OpAZFtc5UsUTQUD9 zrgd$oussoE&|zZ)k$A{AjQJ`{T9}(e{T(2>yCZ?Nez$kxe6ieOITXP}#IxaD-;kQx zdz<&%*ZGtfN^On!7$Y4+M#qT7nw8!p_#BvLO8ZR)Z;JVg4&$KtORPA!s_PuUPQn! za6V_j(7AUCyLmA4(H^altml0DyqeStI*{-RuCo9H-QXB^dY;R@&8MsdlK9^v7WkIB z{Ew*M+7A2o%pb?i^@0o71ayk+7sCJEbomAa9yp#i|CY$>^xYjn6tLF!Sn+al zk|||B$bav0T#BEB)b>2%yWM>z`#k2p6zpZt=d|C{W=tkh>mHN7?Ty@|1f5r@Yt_9Jxi8Uqy#a!@BA$gzm94bsJe@Z1gkS$O zzp49Kc3nr#KMe(EZ{4i0^j$=&+;vWOD?fJgICKQ@J;&GGWb&j?*+=nAUY)Oxe@=CY zionk@Oh4S_0`yW(&*u=k@SD#x?5z*vzYM@$gej>8zEf$zDdKS#Luvg7j>boEAb{cL z)OAdwMxo8TOI0rsitS&3oAB2ksFu`1G4jhJy2N0{W-YavLDgxr6%n?u{X~s!-XKcA zFfG3s;$t%?Nvis%W)8VAJp!3VBW?7Mj4BG23w(IDG)QFnE3xe7Zeqi}F>d^uo74?~ z?~6mS%Mrt#Wd>q91w;`D1rGqM3f3%gGiw=)XK%%k9A4UaEEvi~$~Pd!19bb5K~a4~ zosxvF0E{norpGm`4$EahjMoPm762p{=+$or5)6{8sPvm_FeD#Nd^609EnyT8#if*D z@&K)(#AxgO+n^v0fg#5NWYv`}e+tCb|LUp;F1>TlDv01`>1GS_fE8a~2@*tqV|wD- z@kJ_Gtg7*5-dB{xq)ew+itzvfU$b}Sa<)^xSNsxYSssqe&4Mstb(ZQ*eVCljfae>1)~P5FTCoji5K)%jzXG& zzDf4^IrNaNx7O(~AEzZjV{<#l35U&1{X=fhv2X6L*wsv#y7lY&ncmAr%Ph@irxDe~ zseb{`KhSeDP~BhQ{uu*D#ekPz@C7c@Lu8Nl2|{ZRTfJ=g&kG4mrxs3r-s&CJ3w&Pn z8475=Cz}$}Mrk}#*IMy)E~n3uJ5v{4C>txGrxr=Yxj%lLpyHpRg4UhvxG4ioEcAz>D}>*`Zlp#* zkHH7ryD^>({Y|g4H^#Nz@$&WDX9J35ZT6$Sw6h!HDO%ukv7+d*PIJBB1O5G zt}=&$G`n_`S;7V2VWF}ANWX6v+X3P}+d)$QgQxdCJ;%(Ci_yPTL)y=e>T7)>`y#@& zv-Md6ZRVTn8D&bG?Lsdr2l+GkZYnH8=J(mnH?mpQuk+{aFUbZ`E@5BxREjP6?NbSp#*rqG;D>BP*(%?-t7PAT(s@~-uR9_>leb=$Ii-Va3% zg&$kjs;XNeK5=1dwuSSzmkKfC#=Zz7cnhZ&r+7G-uC&WDQWx+bw^HgD@QpqCTk`e5 z^{WomM5GOn*Zh6{63cLH&8eqp?f1)sF72d$StH4wwnf=T3z3M<*H7{_wwQ)!#!cLM zq*Fi9KhU?Y8h8hyKbK0g|Lw1~=&Q}-CR-=cu4_ep+XW`|a8s^}tNUd=lx+zfeC(Y5 zAXV!oPCio%oivE_rB9=$N~|xyX^p4ZGuGm7FVyVJEBp1l`h)T2js^l?lUl1Xa0~XK zw3q!CtB;@3TqyK|JMAOdTDyp+h&#^0kr#?r1NY{g?CWwB<#zk zq?X#N#^*B$mOK|(>reVLIZo&Tb6#$x{!)(CF}n1UUTH6f00P+@22jS3`ewa+@0pKo;K&Dil1-TYKM^wdiZMn(O0I_eBUv=WS*T+ftA>BAj%wXKs7 zvia60P5;(aS%_ojGC$opt?=?zWn+}ghYFVex1BCYNwc|#3E!7TObef7`K_iHBXUzb z79g)PI-VGzfpaXeF{6xcDWQdym%-9c1+OoE+D9T{t(i6dN6arw+A~$+I95f>%^bqyR}@mOucD_6P$~dupVZg zyaZnKWNmDQ2#^-cO%ra=i3Lc^x#Q2C`y)SE?nRJ~|ELw|dlkpU<2VGl`F`7eqd#zi z9*aF+yXRr}P5wEUQlvq?XO24C1UeGo_)sL;33E6fwG}Y>_J4&LDs*0y(E&NI^z=}ZwdD;v;5NNUNcZ*ZWpN; z#8Iv0GO7@#Q=@iLUn;&YlLb2NX8n^c9L0}2RnDe) zBD4eghQq7ws`Wu)t9m;TMVH6|||Du0ZH?{W_|DU6sg_Kt;{V zrrUyM#qgG&lU|TF1=@fpN`tIVL7XJ^O>ba)NmLvM5J0Jgghu!95jk>2JHB|r^FfBV z;kL(8ke9xk3y860iLZ^FVlL*sSs25?mC7{ahOKC7V~ZNGY_fX>QXq&-*>OxVhq!?H zrIW^)um7T-UzYNPFj418c$Z_Mn54G^3NODD$xrR9u+)Zcq6ul=VC(Cu#L+>k%`gOSs698gAtO2Jct++^ARWC>E zjgV`oWf~24HJ9)Pp^_`6XIg`_6-w|^yep^%_dqt1F!ehqJO>veTrMnECorcJD*6*O z5&*f&wJ`mOz^hcv^?98rV^(XaYx<#xriM#ei5cpMGLoXjunqqDdpO`MR+QHl1+-x! z)KrP6|A(u$jH)YWwnY;N8VK(0?(Xgm!QEXqzVYB}+}+)RI|O%^jYDuJxWnT+_na&5 z=UQuw9_vR})vVdGX5S4UZ=S*WW8g$CslFvOaX}%c|iAfs%(-$>M zmsmwO>>7|--49Rk5Z8Ci_cY0){~O^VtG#NwgK&VK{j*z1k^w7J;Hg?}A{qtrdnYq0 zxS`)Qj4dI5g-q3*WqXWU()*=V#dVEQ4ePiWY%uQUrkuI&HKEE6FXvG=2o`QpKk2%&eqVBYHS5&f|I)T%S+Qs`+4P|X(2F$~mpv~P^ z94xP+7zR8d@4oMfJ_S{N2kNnw+o!rq7YjKK#j3Zb64r1ewHxg{M_1s;B^j-&)bp;J zU8UBK)!Jum0>@8uU0D;QwZ(t>8;0?vzl*CS_lzVr0w*)VQs`rZuUW|FMzhCv;nbr<9w@CezD=y{jkQNUk<>}Wj^WR>(f(q&DHV9TxcM9u68>0LPXmka>f3PzAAyT_3C#E4D2! z@Lk)Rk*l-%gX!WStTrcAf*siN7NgMZm_M$&Co$V;eIvlcO%nUlfkbu$jIPdJc@Xw- z9K+@ad0~4pfeO7-zwCU)GF2`BC!bdw6NE zL45#&&NgmO0&B=HvJPi^t}gUgQ@aAx(dT_E7dkRXTCb~(3c|()A8l;I)f%pC9VJD*% zT;}k7NuBN>j5m;7j1}W-qpU{u5?&(YkR8)p1#t-1pTkW1&WC$!2JmX3r>tz#=Wr@} zIk?_hq;J(Q>m|c{mQV%qHimVqf&1@Z9mtTL&l?S~fjt@UGV+V6z&$e^Ir`o$7f!ET zMm)oQIr%8vfe$sw3AoM9p zvoon6s#gPa;TXAY=S4cDt{i6m&W5R$re4 z!m{r7hWEWMx^7M>&)e^AGMn{UoOeIRz8yaB2Cd2aa9;8uZF`^7I>ph9D?@*)%Mn_} za|9AuqSof-I!k0VV*1@D~s`_C~AbtrO6VMms380;NRO;ikj z90?c-{T+hzKP&?&ht5^;{<}Byz8;EdVVLSNcAsiy1>l%AI<}jvy{_vrt~dz#JL~q# zIWk3;`@LW(@*kXJVmhu1@*S4QAqif^sL_(+x1AQYG(L3yO|b>%H2z(_pO{w?d>v!E z^g3_jnwnbS^goT3vb$qE#Gz#sjqptQr^{4d%3uGjw*ly^)VlKX^5f}Vdq2}LEgLZJ zFR&NPr&w;6=D%GUTXo%___&00;dv*bu88S+3y5jIo&fsYN87(dac#N|Xdv}m_a);o zZQiFfH?3KueoRhQH#T^GtyNGTvifdXvBk41<6+=Czk|4DdAO3A<0c*J?RT?lXub9^ zl=<0!$6r1_U##$~oyfVTpKoaaFBBT+y1O>8EIym)&N~<`gU)LH7GDi7iI=M2<@A45 zVM{84nK74Tm47H72Io#r+JwBfmF&7(y!V$@v^!$G?*a)lkEfyxyxz{LfK0F#>W&+{ zx*vnF8;*9JAEuY<&uN-=*`JiY`@O({P_=%lE%#IMu+IX&=Q5oj7oV-|Q-zTKL(CLg zY9Tadr0J+^jAuH?kW?wODnGlx%6-onXQ&mHnRbc;)T6rI5d&8gUTgGWY{k?kg5FHw zobV6NnK~jic|=WhX(cN)NEuT}Fh5~y3DH@cDQ7#9-SeOtl}<4ZwYE&RzwU~>r55j5 zlXG%AVnhQqLVd-!E^-T26bGHiWWDmQenz}hHHgg12QVNgCr{ZsNzt~e~ z6~Dn4Z9o(MjXJ0J>>q4NaazHiaOoNMqpeuId68^dwuo-HbCRd0ib{<*{(w0CJ|kHt zXA?AbzoJ}p;_&^Gm|*sy|!zySjbCEB7`IIC0$`bL~*L2xw6JA)QMv{5R9{$XTj zTfQH)KrhV(awXe>;a?xLmvwq)Qs3IdDMXJH`s079Lu3(16=Zml_Q;h*XXnO3AOo>h zH&T3o+0B?@5BTL2{cgrB(`oCZ-rR?!$I9|}=X@r**OImIKq=f3`7o0uOnf|pLbHU)Ql(~O1`(N4(Nxn zJ&))x-{)xbd0z#mjoCoIq8cbsw;&i85jcv~;rL{J&kevX)_3h+27~1Jqs^FMT;K*6 zKO{TlweQUwNLeAFy1t`usSRx+tFgh|ur`p03{4nb#@Gnk$z?i^wLJ>b0a004>n7Kg zEeKj|etF>_x1sffgsP+o#z)Wh$W}@19f(wt6Iyncn1&qC%74%+&9b1~X=){>lfZkB z>cOF-@k9oh88NBJCdqL({UMoJwS9PEI6D)OWlc8b;q1in%}3nhs>!gwUY!5ayBaU z2{!DM%7=$kox!zi^KWdR-N`cLG}kzikki!ZL=d$NOhn}%^OYVY4G_AIjgoz+CNWzG>G5l%uX$>-!6 zD6_DmRQZ9OC!%i#UCW1IASK&s75vC6>H}&1MhIl_NUztA4Uuz|ugo}0XOX|6*RBk~ zn3R_t-7erRpbDMVX>h;c>rD&Ee2LmWT`yWuOaUV$&y&86D&uS_*LJ%t+Kb* zH7Lm57Y4kNd2w`$eeuLx5+{UTBH%ld)UyD?Fv$kPvj}hFqwzgbdD-d_+9XTWY&@1T z@mf6tR*fo$mQxw?`-r#&FTY(6*dfhR2{6VOru;4f=_M@Wj%#ebDuryo<7=?hyJ;%i?7GMQec1bifh8(yJ=i=v^qiD%b3WT~Z;vr|{gkG0?P%Ks?fAk*lMDB>nHEbYl3Tyy$6E_V3rUb8$boai$iq;%ZZvTU9D0`($}fJeGfhb6Cijfhg2 z(^bMIt*k=h2R%CxbWaH6m)Emu{#_JsT-e!qN)C{#IP`ZY{%$&W7txARZ2Kw!-|V{Q zI0J`Js>e7E4GQ0!2k#C|{V-Q)l*Ea$&(|7u8rA3cq|T=gtLN$PY}B{uZm7vC=JOFn z?i9>2*M40Ean@8--M&d&I@J!3NP=UHsJ@<)4Z%JPVG!8HhaM4HGhMi>(l!#=+t!;A zuZiM9a{cv8(lS+uR79A zA=jY*Ks5eb`-OrYg@zcoZxLbMR-G5}NdH|k~yI>-Ycf41WtgH9a=Z%~k zVQoMc+7aGMQ*?UP#hXqd9b=JmU!OChH;;#;{6H8F?>n&ZO%rAly_{sj;pc<6tY2Ai zn%BRnkm$ltj7FG-uk16YS#7Lyn4lk3@~c_8cT5PgS^rzt{wZ-6(x4#^BG7``PWtUn z#DYM+X`osnTGaZKFs{{_U}T&iRHY(Wvd5TOHLTc%E@vmV1;9cW^h=blO0w-$warB7 zfzN`Rs(^4P+gpXUO>`mCHW`tKM5n%k#Ztftj9->Wd2J^D)vgx%o7+a_Py|k+fK@ch zbMW9$wMyAIklZ}WbF74Rg>{Gpy;mN7Z2fuwzdk9MLwTZs@wxzvBC?sPBIvyrpt!9} z3TX5U2qG%C~e%)ksoH9i+=i~6N5hz%-N+yTMbWjL9 zqcO~pfP>D>K^)TCaa} zy?pe>Tof6sM*wXv)p`@+PsO-n&ipZhN8#EducA`xhA|-Ox}W8-_|~eVpE5CTF%9A@ zX{lx$*ULo_}vH#(K_`*gl836M~g9E zaX4C5s*tlJuyNoRZ%LW)I5aJ$&jf+jAmNJQsB=S_9?CMM>k@4c{>TKPHD@tH@@WEJ z!g#M+*F;G&a&AUq>RupG{c)f`ZdJ`Hq_9%~l|{H7`6=fs!bSO^RW15UpB%dhnC*uE z;9CR~wZUFme0YAxz^^3fN?u)fspfn~NbhOZ%N~*ozJ`g85ri@L4Jk~Pu{^eBS229s z2&KNcZM`Q8ZoH9jykyYcsYivWqE>?rz|5Y?S~sUoN=4LI!FjL$f`&Ixe0q@jn|XL& z5T!Wa|2Lb#9pze7MIQe{~ zdCW`WT*Z9|Gon$jx^2tUom&PY2);AW{g<6o`c`^zD(MN<&RDNXa_i$T?H?0*K@^k*!vkV)Buz-GJ%-)E$haH(!bm4k3Oqg? zu=W+Bf5;?$%w**~Fz#RC{1waIvSJ_K49}_qNAEbxW+% zJVCDg^LH=(?Wp+`XHD(sTmkivkZjx3uJJn>vft)a8s$b^QA5+q;Vk-(0KpvBvR6)&DNfH<7DVvm=%ae}GxlbZro1q?W z8_+I7(8A`6C;YoaFeiVGp6zi$q0sSZ&JbE;MuF8yx(?bciN|X5R9B-H7N=lOTA{mu znbjNHRIFo;R>4G|j~EP#YO}fDtkFgh^J^r$O06-%Z4PRQ4t$9XYhk@e zioJVSWl^S9(2Hzv1ZxasV@`uxV>M1qDkWA&Pd`|AbUSmWWt7(n4{D|AI~I`RpiWpd z4+LvVu!2l;in0zmZ^*QvQRYLhi?yFaMZQ1j&mTkkABq>QVSdH?94@pa|Bg@*4p3LghZbkBI z%7-8P59I#OL=j=KDtBK2FQd*`A%eTM_#JRdt+R``GmgYz;7OFczZKjhIQ*7+X=N}C z2Pu}0oFDsAHJ}tXSXe@Bx{cnKr+OLL++Te%+PXYg*O6T_Q zDig>QwK+P*&!v4xAvjGGLWOmXmNOIs<8bfK*s_|R`jkH1E0uP{Nt$GzFAfKmHcLBN zQZlJF4s5KM1BEL+^0@ME0h48VXF3`U^Q4L9cF|-Fnb=zzty2I|NL!y)Rh3}>7w{q7 zq?JAG>}?ccdOK}?P{lrW@M-e$hO)h8SX2B3n%;3oqvt) zlcV*26A`PTK229rpr#B7V3bgr-ytS#@sGuXnUE{GLkG}TRDE;HtC~;X3tKVj6T#n^ zPteX}<{VN>%*)R?leFdSIVzD&c!c`iOw20+!8kGyIc5Y!?3gAfRhiIIuFQ#?k%k=7Y$Wc$ zlTGw}s9hwSrhyi!*xfHc5~j~Kq#Q)3BEBZ>BP-_RohC$EhfzqBcNsJ)a*#D#WBhaO z4m$}Z?9ebcwPmuH=Nx>P-kIJY``ol+-U_`d=HIPnUL$O(O z!R5E{w(#)N<59`r7Tz&}>GVomlNgr^I;kZB86w<_XvE8lxr?$+#N+C7E5mWV6AyJ2L~xBnLV0j8FC~<5SrWIsXM$ebf0KDa5K_t>}z9?wPY~ z@W&b*C)r0jXovlcSH^{4|CDTBDZwq&llVX#<>`QHq7o2kQoyOr#^CkVL0IlKXX}_E z@aav1Xjqt*YfNNWRhdu|&Hu)ss)*IAPUJG%*8FU?@{q}Pk7>`Wpu!>w;540xG1Q?4hoOEG!qkC7&^^ZLxx{O=0qN0(?{Ofwqg(* z_+z%H*bq#$C$Hr(5n+cOjhX9e(Gblxh&R~y&6h;5V9$uGN}Ao!g0|F$$tW>`nR9Gs zvaK(K!UDbjmpr~iF6=-zD$aWsj>tEL-7H>>)608d^r!FW0$=d8SHLFs`BXF%61(kL z)CMTd*Z6U5=4QUT(%*BiD?@X-_tMA9s&5w_u&b$%9OURHgwNv(ClFQ%BNn$8=ib5t zv0z2)q+5pdc%6))1PK0?BU+}DN}7r-15A)^*~KXayR9s=yct&(u+_~SoQLV$ZY{u1 z45+E?`SPM5AGsu?(T2_H2BvRzg=&Mj9S1$aY(T%;nEE?UOo3b@*K!@F3=AxWqTPn4 z#==u`6h#3WRSqFd=4+3Orh8xG+kBkxZx8)Hs`qmAP*44!TIBDEg>1NEcQ~+)+wwbo|7?qz z_19YLHe0=ROBl8ue<<^|*uJEk)^s?0KId-K`)bZtkJIQn6W5eJ#>5-8RUuICSRhY` z)ipX$-~tT_x9bNM#RM;8e^cl$j$YokJ|NY4ZmM8qdk;7^50lld&er}wlz=+D=@Giw z2XEce<+dMv(az?(J~l-%smi)o`$s3G-_SpEqG#fS8e5^?arS!4WbhbN$jE!Q?9nt_ zDD;mC*gpH!V_vea--O*_m`?}*mN>2bIH`SI0dHLmB?hQa+-lZ-6G9?o3;Pnu+?Q7= za4_MF&sxPX%wv=K`)eaD?IwL4R=|wsxtx)B823zsXBZ+0V{bj;3GZgC$%^F8kc4*O zivezYS_!^?<8G(q24wG@0g8f@R@F8d**(L{I7~voC-*mDk!a-u;#KR^6+w(pxcIfB z9<$>>8F>SiuuulZq5~93H+Uty&`4rHcoF_}M5K}l+Q0!I+L96JnVP53COw;Xy0xX$ zBRqR_VLGRCaLLGoka#G$B#qY;{5#2&jE|$*uHJGzkZcxH-8&FjF9MxU)C}sdaHQ(m z^_JJVl3dL7dLZE^`GlIq$&{`kkk;==<8o&N(i+_>pfJmO=Qzfzu}@@=I%mO84uu&T z3jLny9PK%tAmXyY=%z7DxFJj2NZ2-i%?e4vGubMy2m{r+H+s`{_7adPto(}dYX+4q znWHyBFp7!aF3`1P4QGahBlsUh?Q*G++wA;BBpYtOh_kB_rlnW2hm8m-L$6h=7DVX1 z3^#l^8Kw7ds@of$hzVSxz*x=qLCYfxPD|+cfI`_&?VQ$6@8^lx%s#nF*XA>J0QFa~ zoP*hNj{M2Md*k--hJKH*5vo^H;tZsXx?{O5p1)qU;E9K)Lknk&l=#N=EI@M&HS*`5U`)^_-e2{digfy zFWmM?LwBCXyIY3-uMyST;@?XLNHb-vNl!;d^o0 zuA5ZjH1C~d%X)10*~()x8Pmw)K2)lITR%iK^9lSpu=A-Pit(+Vp~vMvf8^17W7y#A z=sNou#nWAfP*VC{v$3Wf`+bHGr(r(82E3fSU zVCxQ>hkagUiu_=dL$0jIM!Mzsr+$#2r|1}7WHx2ad$i^cMlbaS|ANv|>28XHh_T4| z^!+o+lr$eXd_gg31dTY6HV#RjFBthrO@bPYg=u*#w0$VyEwm_FqlT(Z+Ig}d_<7uo zdP|lnP-iSbb*F%_ONMc8a`ocSi~cOYlRWF;#NM+?znk z8l6DYf}d-_->KFV+kgg$KJ!Oq0B@7VgwYWzaW2zWLh#C0(yEka2dsZT!7}(DIx3bR5W|P~J}e3>G|H_c8;Y z!DSX3vWuK(pK*JX6%*L1xVe&^?Dso zv{m!*eoZ0wVK@Hf@3ca5`Q-93eSYaR&GgaR_2@jxDX{WExHTuZf5^GsGriS6>|Im4uM8?$N{_v>OPq%h|i?nfnrB=2okoy>t81o*Ybn$*suzE9lQ|k{F z=3H}RuDwun=;_V!AD>EU_IrHJZFN9;ujy&oG7|I&+g$v}`QMz?2ZZcj)&iV|Use!O zXV#T__zeo3f38!neb+uN{>zJz$m<=4O6Y>lu&bpv!|iHdR}uJ*!z6fqOU3{A zbp9YaMJSRM5DL*T*A(IjzbhO0Ok<03{fljHm=?rXRZ0DcayQvSjtk719tgc3k6U`) z%c2;&0&@~9aAw7uleNsS-mDxR&%)-0{Xg?W?sLt5Qp%|yevjA7lweTFth%D^&E~Z4 zU9I2?Sjf-pKwHrA^e%U!1I@OO*R&XMkp6W?A(z>s^I{ofMfkKOWK7r!;QEU*JDDW1 zNa+74Aaw7D#6nrkdu;_c6UJyG$aMKD-hI9NvRI6B10~Nc5*1MtM40klK3gekam3c z3Z%uzt9HdtR^v5aLG3&`EWp0y6w(pYsd#E34vmxqB&^mv%|;n)w(VzRNJT);Ix_DzuDml?)6Gq{qX;EIVxeCCgF2XVKeOTv3zbGNx{~+Y zY|F*d8rnGI>gqKBFnOcx2fs?@cEFiOp`Jc{cskoxaFXkAT~~Ia&#kuPi%3aS`Ffkw zkE*T?zV7!s`{2GD2CX>HN-#aj-1L7S0sSGHG}SlZc3<9o&cZCnjbNM7kd^DSgq2CY zN(io=Y}Jt!K=M|R&N`!8yx0E1AQB-!@ocPJOgH~Wpo^`-7xbvkVnY&uLOu)oP4)x^ zSr9!@7&Ym5LD14a>#YW8*yCHXmn>7lp&gTRmg=Iy}o14POoB@?ZJ&UH&bIO0zX#ks1NB&R#Tbs z&K1Ua!my9+Qs2#l7fsg(MTEhI{Fz9Ln%;u!LAyh8?X;L%{Oh=o(+x7MXi(|~%cbB% z-=6rElSJ3zAmB}-e;+wCa9sABlJ{mLEH#Xtd2roGH{M;lUW>;msRU&JB#&DPou3U( zjCoVU%1vT_j}sOeOcqTyMj5@t7NTaJjCiJQq= zj?_M1>$dYglim|mhJ89uAGn^C_QXKjk4qCh7^N>5-k+#cG&B}@o*9+hqu7o-)L)0U z#Hzk1RA^5TAuX)_PJWFX`suf(bO#zqw6xm1gAuzX6|kUd(!^Vr8bR8pzVQuTiC?7` zz?F#|>HEIyG&Is>Exox0o@MtgStnDTUdVP>UV!^9mrZ7mrz6pz?$bXpQ#*75taq56 zsU28*@g=}oU?!~CFssI!MJNX5;@|kDAG}K+hBQWB?pmxHbZl$7lq~y{*-~mKT7R^b z*|XbNOv2i}l+_`DX*81C$d<4Z{m0-#n^Kold1B1;S-lywAlX{9YOO9}tVkgU1OS3iYg4g)HkYn6-g1Nhh z#e{oI0E4NRTm1f4`BFqH3YxdaZ1QrPm)MW-@L}zA&#LPFa+W&$VJuP0@V8hVE_$!M zRm&c=YHWj#dQyBHX%pdPe}V6h^*US2xaV8>~~O&`Ye2N3+k#=A_V zw2glZ;QJ2!t>KhQ>ALN1ncPU{fUH_FnupY8Mr3XAd~$Tic)MQRNcc!7==@mho@R{| zXvJ%tEz0g`nywh{sXK7Df-mI+M{@j_|3$O&Y>L}V4OZxvpWW(jw`8|Hn8S#wd0uWG zo--usu;^E3@|_xcbD@7a)D-%NYw_{&_~VJQ_)&%@=pc&rpzki+X}ZSv_mh<2vxlZN zyG?pK-Fqyy7s~bNK6TXCw1S3f(s%ze5kk~{s*7G8Jz>1vgw9QYOlgnN>N}u?*r5jk$>1T2E->A@4N!M}Ki6pmX0XMT)7 z?V0ubh(ci%sVfGdO7ua}v*)gc6YOGwa(Q+*#td?|fL}Ps(Z8{*&U`ib-oe>0bCfVJYA!lwCB`KVho>#Q! z4|J4$ZRp@gg77vh$Ef!w1F2!(xQHq?i`G5TX|PTv`jY)CA{ZI12B)eZ^f#pW7br)N zi3MUlU-utioQ&o_?6IYYWp@#e0#Y&MGRtV-wpWeF2LEx15qrFCAI)0k&??$PeDb92 zoN#X6cVE2Hy$J+0PI?RRsVI3*{_+JU&M$tyR8TDIN?N}D2=7p=%)HaXtl9VMZZT6_oY0g z?ROn*ju$>XLUP%!W(YEPUC8D5|Je&{TXhFB2>JYc@7yW#kB_^_KHYSlu*bXm7#FI$ zyX`OO)?*AXk7W19-%{v}&ZwMAlSlvoPRw}y^JQ;e&|<9WUiegwP~MbpOxeq z*J3*TV_8ih^fzw#_~9@^E7hKQqSJ&*fIt zl9y^BkypP0@L3=ZCrSYa`&qXul9@WJ)(UiG^~x`V|bGsout!&&3`het1+;sWyP}Sk4l<65Ei~ zQqH2!ietj-jg{foTXEdb&!R8TR3zKvb(v|P*<|1$*d#JkDQn-XSZyq3qh#YHZx35u zsu~+Yq5piANoIG^n2jbUFZj6%VaNhut__-8sLpiQ>D`y;6U#ep()9+9>W#dA5lR6Ch9u z^Iqm2bOMJR<&}|KF2(<=N}Vstkf*+(NvGduk!5>?j)hVjJm_sEl z7P^~6FF^B7ML`u9j7LoKb*12E&!_7Gv$1yct%O#>bX60P%yPjP39%-K1~^5E$03hj zd{n!g*-7gKqo_1()KAUNih7#U8(IyErqyShvtm#1FdKxW)LzFD%!~F7YBF``Zs5sdY;5EBHaxCaO>I>JT;hU48SpEJ9S2(zB4A0qD{5x7D+AbxrBv z^y*kfzAi-_YTcbgK1Ttw8hbQsHCtg;h7R1!Ggl$*k}h*xFcz%W+~ZO@Lij7@D!J1= zL=Figdr!~$pP4wKE>(cP9a`@zC^(`l$08Y~@vM>;7wh|QPjUHRGG;ZF9X6Iw75;-*N=yD*Er&7d+pCe=L+xF0R+ z39GS_LB~G8^JHLP)wJ3JWrj$7#kUElwFS!iTCeUId<6Cqmt;c)^Su9woc6ionzOq( ztSOiRnuyr_h;a;Rrc~#^oeZ@8FTBl41J5Q7#o|HW0RRNq7%kn1s+kG3PS7L$j-}@q zH%1)NG|uATKSa&K5}&Y{fP>el0oQUF!>{oPMl}lx?A}v%N6{xebUic3n!gIgAz7qJ zn_$whXs+8;LkOL42yAcS?0bhz4uZk=csoaC-KnfX5G-Bz!~EWN@Nz8U7|!@zYMglN z#horMv}1p0Sq{Sc3gsa%vy6;oXxS(avB?h9l$+6{zOh+iweJ-{#w-ih_FzmAotkH| z_F=6ngWGv4^#VjjR>_la;tSOnSghk(V(nllk=esnC|8-JREh)ZfjT)%?A>+0&0ENDVj|3fAxm#PkHDSdy#$pnO+|7se%-*c7`Eh&;2nu%_2CsnUi(OcMrm zvybmz6QiVEs*JQB(7y;OBSBr)F*ZDO^Kyk7K7_=~FJ9 zAs_xo`NQxa&3k@sovNGCB)9mDRSGnPz8senACH1rH#88?I3^psMY>DlC1`%-icS-I z7sqP5gY61c8IgKmHJ}jhjHzdkW1EB(r~T4tLd-;Cz9jyxS?e=D0+J~eG_7_)?#*-K zRUOH+N|vL&52RG9mLJxtLg-{wYQkUV(?7-ElA+-xB!t?m@FughVGF}R(En^h^^4c* zIIO)II7p8zSRSwttRp))i}+*OBG%(h7NrsHLh^&W42tLD4LZw7%V>x?EL zR+RF`m9F0FMk;#Oy{8y-4k(NmNUgS??qyZuhuS?w!>ru@S7!gu{&Y33P3q25Shhu- z`nHFvgB$6!TxL~3f)B-05WsB%Qjh6N1c;*1;3ESisI!g8|FB_$e^z~OTS7J^jKnr} z)baXFU5{}U>oDCRqiY7AL?9e~E`Y`^_FdmDMtsW6#y=mLgxevaT5@B{v?Wr{q#caz zGdo+8ME2;y$tuA;!`X{!mMU`v#<5oWnc!@-$puMLB4DC$&xH=o!uV->hZ89SgDM%` zdS|aUnV^7gtRJ7$Do0>{KP0Tx$`EJzu1;K)QMW1WHR42h+>SeD!&B@p#=9DG-x_Y8 zB&`%_8xyQW4Ag5IP9~s=rlflyhR7IVzpS3;F^JWslU9y1OaB8~8S`_>`h;Usk3ZK% z6BV-zoT14gjVO+gRx#jNYyAtL+qz?*#v>E zQvAmTW(w#MFf7C02`q_y77EML9z@H-<2f~nGm4>ae}?jF^ryBc1qtFdc}>dFD%wK~ z{-`BWSNqvSl}t>nGFxV@q;Zyb0|n6$G}Ucur>mwYJ~S;G?PiT9^*%D7gLdbbvv3fxK)6A~sZ0v${grsgMF64f$A`w3_MNznn zo>Cjv`6z-y;&{q4paR5g(GqJiPO8C7qll|bgNhUk)h?E;&xQ5p<0Qg14}}pG{p22+ zUOA_a34%A#pGa-^(Agk75Ss}%$C|+fH2c2Zzo;BZ_`3o{3{;ej&#T)($cKp}oET#h%-}=sQT^X4`Nf6N$DqRI$ z|InEOZtII4v>(5JvBLSAm*X@!@ua*S^<gBnxq8huep9cNBbJVHXT+h;*$xXVe)Sl$oE5Zm1 zT4oXByhQmS(JZ2)n{?+7A@^KPe5LPbGB*KF#@o;sWEbB#Ebkd%{EYFMpfp65`LWrW z9AB7O(9`3Gw1D5bwOW?5>Kmk#M(6Y9L_YQJ%p6U_aem(9XG^R12pmb{4F^@gMybOM zFNKj@k~c$(OfO=_)zgfm4(;l-xD?*j!QfkBM|@|n>_Qxli<+HiUnYZ>DRr{xw?LG^6fg&&P-Vet* zLDPX<72%X=K}$_qMQZdcBFZ3AqO5pl5`9L`AeACoRE@C}VS>s`z7qVpj{9|MP~b%X12U z6j$HqR&vYazJGOOtBMXluv$q`z?7Fy;bE_ne(ca^W1~GP!0yQdjF|}U3~fCCP6R>J z)qD@e>#B6K{|f9_;=RFxJ9le5$M}Ov$CcoVU&%5H%ts}<`;)NfXpXq&)|#VApyqgn zJo*1r^W?eMfgt$Xg=yeJc{Zu_7v_pRIHJBB$TOnP`vRH1s-fAz4T_eq%S1%?0@pL{ zxhBXfBhzT)_>!x5@{f#+)??fh^8pXmcXzAb#!k%~n63U?nF z5JV!yuQ=dYZ{k)h-C!CluOk5}&fqRlJ6R0A(cVsqWBm;etfezyKYlthNhhKgmQ&Oyv( zKGo5pZ&Za9l4SS(iOxBV?pV^)$J6bSPwl5wHNymL^7CK*NbIer3TqAQblF_C{s7N1u9^P36h!)t3e%|5OhY*b?q7O>`Lc6w;JOa=4ulC#>l{ie;7N zf->J5!?T|iZIm*}KEOZf(N;8~XnVPBHHsysbk#0lwy}YGQFV{v3f{}il6^c(hAMy4hE#DJDEjI z)judXKHH;H-6Z^`b6m&X%)qjSAr%D3(?}?TrazYp$tz%Q!?dv`(RM4(7BM=Z+Tg%? zRq-(+(<1>;J^~WxG}TcvZ3RDqD9g<|>v{u{Bqms0YOL7kiZj$FpfP;!)kUx5n#c1_ z?BLrjPxK}acjuiOLBaoN$3F97m-=)3Z6N`P68}Qb*VG;!al?8;mPivDViE_#Z_4oWD^rSqIVFN7IWza zD8%9}3dU^hn&Tk&4U9lEF@{5F|GkQ&8(RsPKw{p(6J&ixZ3f@GE=}IV>i~$Cc;`|! z+sKh|dVy+0PbaJ0S{ymWE~l|WVSY+y!)>a6bWOTbbjOYAjST}+GBYTD9pf>7Guzq4 zS5AmY=t%MGsvA6n1XIBs`~^Liww#PoD7n%?7C1?sa^~!r;+YTpsQ*KTc+QshbU$xYk}KTXEQ$A9o!zlq`;yE zHBEem#?6wCvPpOHi$7d)wzWbSCqGS|)6%Z0WEQ0;ZVinZKweo4GyzMD^;*+FY>;Aw z?NF$tRo;#qt$*dkTg8rD7#cgnFy}0@Hu#l}Yjp+>LJZHI*PhT;8N3cnHw%J}SGdOe zGU%seo>Q2{qoK3eXjY{C65dH|@FrwQ^iyewVA2!US2UhsB^tXCLjsn#FN4|IETgD{ zc8P*#>$nVRjB;GMv{?G)iv=@D_rRc;q9rlEdJUl--b3VskwuehgnTNFi0nE>SJU?4 zH~c4iDu87~u?^fY`=7tAn1}M|-A(X3qU_@xoWl~_1No=2=F|X)%{lBX$t0N&p)IVe z6*a-Hen`m2gjmPEqUGL~LAG7fy*HA*98wNnbx!{^M|Pr^276W9OtE^TUl+A6U!>|) zim`Y62T1-mrmWYL-TK*Vj2J{_wTHvWK4LgTg&w$FbrsWKF*eUQ*aA<*RQMwj$iizC zQ4S4l8E70_7EU7tZz&mbAzf0x`3tUy@0YN1cZ`FAe-je5*0i3D$&z zCUVu|R?8qUh&Sz`+X>W;{K^GN6+116?hmxZOU~~DI{dPW%F*I8NN2|%GyS%hSY|q=#ne#G%9`IS(MhFmF55It>!71H z6guIy#FqcZ%vGG5(_J?GSIsGPK_{&%pV4_xOPF2iz%m=iH>l|>!>#a#y$>UOfZQUw zE-vhFJ^N19cjVU|oh#8ilUG7vWdYHb>kg)^?Hy3?Vz9_k5hps0skvl~+Z(6|ih?eH z#IIt1Ju)d>YZHTbi`F!wkUEB8w*5 z`BV4+>6*ItlxbSGmUC$bJcq#5KlL=eBRfl6!%3Tt^mO0y{NbVqW{;`Lp>X_Sb7v`) z^+d7HIlCPZWooJj8(8C_Xl&YryJL@C27*e z>_~BbA?()r_)U4$_4}8tt&wZrO>;z0kB93?8G;3Zwm{n|cyWb@P4vuVVxy`TosO-}- zf#bg1mJb|6{)<)VzV&w>g<~zBKVixFy4y?c}Ab z=6@sPkAY$$v;sJL!d?kfSxYig@^g7?Ye|3m#v8g*K=x$f>$lM zC7&neyO)lvFg0aT3W(vQWDdyO)J+B4+TV3`lfB>~r_~3z5rVaMXmai|I9M9_r4kZ? zpe|n@@gNza8WaDC{xdoWWx-kB4lbd*cYSoue%+C zK})&crug_U>^vx>JI5Fvh!wn(JM{J6Eh>%myMJ5jJ7c+GqpSR=8}PB3SC5r<<|`8GEe#Wvw+=p81>4>>icv`O(-Ixf#{dY3cdC zWRQGR<%Y*n&lHbI+hQ*-uFgG37mNm0Pp6^b&dc@_vzBfsT4KCtpU+0+ic*?SQi&N7bFL0OOf=d;`R|wsNSczo(#91QX8Yps^GQ?WnvV$B+9& zQ}^%HS9aku$7aR!uM0WYtozM)qBP^k#`@m082|TuYB>=4-+in3PdV>Y^6LeRJPkG zT?95Cb!&;4#;Bn_5p$k==MifRQUI@%be4yE4t#ah$ zq|WovvALBsMax#*U>ZT{J!n*tE_d~eY((Za0pcq6j5Bp@UoR`-t%BXq^rx@5X1&J@ zv>Zl(j!3GfZW6ihIA^XIr# zUg@nFUw8N9>hUaOhS&Do?Q*VSo>f-@)+YTzf_b`Cfm*IhqdgLxz^QsJpiEEQ>~U^$ z>E2n{DZyS_ds1|}$N#zAv$fHDfP1&~g3~7|M>8Dca_cF@;Hu5;#NGK(YCgwn{vS|S z$@hnL^_s_+_Vw#fGv^J81)yOYtc;{}^?C^bz5MNfnwb?4)En4c`;YrOM|aT7wA17} zN3HXTm`O9=kk$%BKW9+Ov#S67@pP6u7ugTJho)uS?z>6kV4h_~D*sPp9(hVr&IMSx zqe6iC+Te!Q#8ohDa^4aFgMoF*;N!tb;)gX9{#B2yw#@l8mj(4Yxm&P*P|JQq@}RmN zZf0lHOXc39WMNo>+gJ*alYy(cfR$&1G-CW@G^db&-m;t=0T<_`|sEA*bs%=- z(=I09Am$1c?ryx^u?;v(Z4@SmvAb;EP0i&JynMY^1NFNz|Lcr*sSj)db~rDTL&Y6k zcMhKuDz!GbHO|i?c3mz6?UOq-|}1ors6b=85$-*#0bs-kJBvcmA#x@%x>| z_=v&k+l$p6hBYpK8F0gox3;se@ul|>z6DWS7cw{j0|}1^Bw~ye3iWBePU1dmMaCPV9cPLze37KfuP2F5Gl-cL4vAbM0`y_-pG9X$kl9tOgLN{-0~x=Eg-#RR2%Ng~Rlax*UJnKPU*nXJG# zDU}AUgUnh(Bntv!c-L5A-(i}cY@#?K?E2uw^?feorJq9*ra%HSsXm7PFu89HEX4H) zd)|s@t$&(zdWdz$`1E~}Q@dQtqmMwy;{8VRj=oMKaqh4qw>+_V8AUFMRCT|NWl$B( z)o5Z+B(+m0I!$VK6e&36ZLiz8cKl?r1tjZ%o}z2$AKB zVuUOvnmMyfD&U9rdW2?GSWg~896kdt=K#CxT%Ry_s5l;oO6-;kaZ`|) zs{6J$*jRtOqS!K`j{4=4XZ+b9aQUC{n=zZ}#l2{RFJ4rUmXKl{%PsBX-@zl-ZFvUU49UH)-55eXI!nA)x> zcr3*0?b&X&5mDh)2Z#M*oJ&3=SLxz(>z_?>EngbqYz#csHT+3~H`mRbhY2gOoP!gcf*}#Rw$Kjmt-Hae zYtTxgq2>E{Z8D4Qg+;Fva6FX9|2cnpS!SzJO~*$yP`t3e_EYTN{?ZH%F>(FPPup2D zXlr}-$JW_ty@#G=UF6)eH-%8WwMfQ;{o<2vyIFx^caH03Zot2(&m0fQ;TK({&{)f7 z8sQZA=<8M;dnUn}#VV-aMEthDyv&IvZdd<-Ih{iMrWyFOvJl|0bA$*y$G6<1Zk&Ip zne2M{ZYBa>f+65*K08f{qF+f@AD7Omd0zKnrJl3|Y4awKb}YFq>`UA9+M0SCS5pP} zPDgt5KmIxp4xqn{_8A?Doz}-CRVR*neb{W#oVeU7PRZLCt#>s%v)zmg8H<`dO1$gN z;s9VgsW_$oyYnv?n7KP|)6@eP~Z-MWR}G-r(2w zj2V?&MN6UlNBA^<=i{$3s&3L@{^beRjP8P~IK0W+L_skn_kcxXtW?GBB=M(j4ukYX(r9>SH7DVusDMYwo|Y{!)rk9Vke> zzB^F)`Xq73lAEkrh(w0?rB(WDb^xXYXX2cG4U%h;ocYv#I~ zOp=pC{eeP1ITVV5t|?a@QBi{T3cR@fe&n%zO@7yqsb8)0jDg|C#==>f!trT90bACAL&e6h&Eo6~Rm`;qdUS*}E4GQ| zsTtSE=Fr&%%VRNNG zb8C;ws0f{V)<8V}vs4goZw0CitQ1DlguUA}h5>UbKxUXvk{|eq6;j5@329qh4Z>}VC_C?tb7Ch z3Obyb(4SW!5%$}KnCJ2@n~jx;ji2UKOKpZoA0$>LyH(|YnReHHoyfY8|8}ToGk#oriF#|aWbDeAx#-a^If>Ek(5)@@fP4y= zncu56dwjIi3kW!|ER*jn5B@W?;EbI7FN){#>A2e|r=iMrtTyej-Kc3|{jS$L(BV1y zBXa!gELTF#c&oA-%Gj>nVPo=2j4RnX_?tQc($`K+H0ndm#f?q@Xm8*NVG*xmVWzTjn``1tX?1IJZ-&BLb8%FcI6hgc|Ox5xR7 z1V}EPhVf~P#kN{1sQss-CbiI?2W@gr{3HHLzidrUlC{Q#LJw<Lf4ahU$KjSL;Aeua?rwT6%VyQ%$F0-Ye;IHZ}7v&UF28q1OtWNs%5; z2G)hNNFsCIC0dX#GXV8E5iuSMT>67jV&MjBm2i1$&evBEimqQ3H0s*7nC1@G-9{s< z)Pd$&Rcn#rNsjl=eA_I|c1Lx#V;xX|j#U?sZgVp&42BY5U-7&X>(hLe?g=yh?O!Nh zJa_ql1Y%@1oS4Dh{PvUT>&={Ba0SI=idrUU2g%xz05X2d4k7;H&&bh+++r5fwZ0NC zgy@$i`eY@h9F?Rr>{F1kD4$+7BRrtm?|d^DJ4nmG&&8A<}-gCKG#%C{QHMRT;e4+ zM!vzPUrRN#d*jq1`k#Qxcu1n|AG84(P+7g|&PVr&uSVNl*(2JL*i#wrR3~_jF{h3* zuR25svlRb|C41qzk;A_>7y69(6sn&};6&Cv4NL&1#9lvc?+G(oqK5@t*JlgsvYJ}G zXA?iz{?9+|ZK&`;N^-nVY4_P>yf~~dEGL6Cg^x$?sxDepPer|? zc;Q$zUH}n-K;C9j2A}8676@pMR^JV!P2>o4?be*~gu%qVAJ@ay%#e2z9r0)UO(u26 zH{Jdl|5le3$tZnY*7ko(r)Ko{G~61w^V5sqcb+oAnS^tuN}cbflhsNXHXkLX+Jnmf z^<%JMceGHFVx9-oT^kGmczSLvjZOwO)v-78WFrJCS z;_)n+=PAkBq@eH^2BM3@A2yWLuwPV`v(g2>ie!LZ>>T_u?eEGY*E`yAHZvt^Tz)gNVWARlHe5%*Qw z7199F9|gyUcX7C*IG;OQCB&%rt|CEzHy6xaC^qOapmUm@pl|JeKMw>-z4!FO#>z$Y z`?zozNBV>}t1T9PU+`Xyy4_`|XOuEfMPKavv33FnR!VcN@F0#Tg^tnpJX!I*B(h1- zIiw=!q6<7Yz*!kGg(PII6L$T06q?=o_D(|#r!>9;XcK^S?^thJ$>03zzZM~&%0QP* z(#$U$zo&WdkXu@^tO)62lz*oF7s~*K%KJeb1yta5+M5(MV3EGHc!Z1DO+#+->)js* zTe~h4QHpnBA5&=@Rb1$MY`#eh35I{cl;WmlWiIe@x}Quy_RpXi5ph_c@*BAowzMp9 zqYLing{N}nV;YAC;IeT#eZ)`C{bG2~7Wk*_lNss~DZXFE1POK|TdZ&7dfxQ`7$8bP zFfj1g3zYq~g!{ZMujXY>op0v89Rqx-e#&fiS~kMR2sV+oYHM;Y(Z=zC=2-EVU&%Pp zabvv}V{zVHkuh+aYonZJ9cX{vWu=?B9uX z$ZM=!Htz%yIO@+WLx%2{9FoR`r+@l*76ZB=sJNx_`a6+tgT(V8p_H8Y21{4r?8|%` z4@*|MzFN96+Be|8ng8@fK&N9uyX&k%H~s3j|Hk=O8=Tiv`Oj9*Qc!Z1e^P%DD=KxT zW*L%6KV%|oDEiD>`+{ZK>O0QM!5sr9Tpl(7{MGs0DDK@q-@y>0#?7QHy_yxaT6k|b zhFsfx;-IO^9~7YPgzR8Vdi%vjfmuyE|B{vxlt4~@Wo;oKV2_?Xs?F=U zK0y4GS04w!qs?48|9oieTY{%>^Ic7>o=>*~ zi#QlqS1lp_PMUl&^xcgt$#Qi#leR$;O^SMPWhisp>}!iZ<#x>pyZ36ZKYG{P?#HP4 zFZbb^UEPJ5)x&b0pLahS^Y3zbpfP*s415cRef?ni9i4_i4vi1TO1SJs<0WobDo6LuvjcoUu1aV;c7=QhrdGtAAvB4T#(&eQO)(Gp2xH|8VT13OhnWRSPtIG2-@ z7XW3QlQFKoJ99d8`nG`ALlk1+XC3+;b{4t06w)?#sQmX479NqD7Fsfjv__`4#d)il zZx;scU>yA+!b1PZJy-mRc|?*-+FwnQKTBhvL#q{?UyA)h#nzuguBnRe0BA`i{zfGW z=I$$&MQwbN!d4oV3^{1cWB!cd2prah~8Jd4D-5 zf)`@(AZneqecb z%`egi_|B0yINxU?SB<|pxG*L{fA7*Dyl#;AnwA^$;+{D_dJLuVPFm?mf+vQ=RxzYf z8~yNqBy5v|5mTnXW{g*k`DYy~1)lrRr;ZAF-|&RWQ95h5jnHvMxxQi+%8 zcimq%!LEj>r&b(zzvzKvCu?e6r*yDquNL;@rN%i zau!st=!&4E9b~RmL`;?mUHw#bUXwnbYTW)l((Ew*%IHJ+Di-QGYG}Y?rcXfPd!68# z@ac^bp)sn`j!}Z}*?h}8w z^j>U1H%jK6#v19nDBSG<{T_RZD|{Dv+K$JB7xIgrZfrF<`KVTO>%tdn<9#Q{4v7-k zcy(0rn*R7YO<~C?D!#1H@#0QR)QY?E~=0)tZCf;A&(6{ZphP zb*|s(27M5zq0cV-bd95}hrSVIY6~gx7UrVW_Wf81E(V-HrY*XNIa(J0dfqPn+pZ%- zN3`GNE1|pL5r`3%U5p z$+txeNf3>b!LiV*5+(viWQ~N0_ZLo?&~tfy9x=ZtG~2`kT*Z$6b;dW8>;qt?6k+4p zrcmWtB1OEUK&DnAig+Bm%(ZlhnPk%v-M{gC57<}>7GhxBeG`ETLY2odU`QkOkFsq5>5+h5A__^*u!9k<`BJarD{2~)X zQXR{JMK51&BVc&pq&qf}UJB0MtF4bsI=m&~r1P{~bR&uW)Yu)kHdnp^0_HvbFjT#{2AYjy3F z_0{;Bv76MAAARq{4ix}wf3f3aRYViSD~61zaa<<=|1yN~0&Iw|!u5VhsaIj>QmcI` zup{ynxa>xpH_3D;-06Qg6iGuQKwjo39*HnvbJnp$3FLUC_bUUH$(Ks#3uhABGE4Y= z18YgY?>=U70@csZcP5IwK@ZMOlllNZ$t+JRNYPx9p6sdSPk#&QhNM04&I56{%F3oH zo}0zD_@jom7OzQoGwT2Ml&njRDO61GZd+H8cVGGGZ#{ux%c%W@8lH#3lJBe`p{v*v zRG}-vG_4ksm?JTUKG;HfKy3s%zD!~1wqUcgnSQrR%Hl*r82Jq)B9h>1SeVh-c6DAk>G3@F|$U#lEdh#hOAfrvY@UI z&%>+&aXroZ8k$o}Rg#1BOTBUh;WJDWT?d^MPIfg;w+_g>44B-B!Cx0Sy7S$~~HRs#kcKw;=0-U&l_^ z`YP4|x<%VhQQzeYwswxE-!kU~oO02s1;+?;WRv8j6$HgZ`BDw<|(onOTk z2Aq!xI2=3LDsB??cW@IlW@$59PrGi_e;aRLUP_ELh7}|Q2v~cM;a4rW5GPT-KPGDtec@y9cGNM*BenkWYu?k>eP5Y_2Oy{U-V^zLzP1mm*lL|6F(90?-5?3iYfV1 z%fsTaP8^A=hG9vdQ;Zxv0>2br9Z5*qzNV0TOIWD3U;l}HbR?hs>vKG`(b(mnX!8$N zYMY<4HIGp{;tUbv8fHZ*$c_A$Yg2(JUWR?@XrSMQVs+Y9v*C`EzUoZ=Vs*G0LM43v zRzrAqSR~d3MrdA~CN37fSJybgq&x=Dl)0&av_2eJXQ{xC>VR0|kCS(N^e0SG34%_7 z$&k~>r=@_k3j z)uMEY9?eJvKJKUs*stp-%EOqKIFyVMVE0Llt?1!5CKIlV5;bTF@okp4&!YYL z_kf<>K~^D}froQ1>El&{Rv{ZS)7W8GSA<1z31{jq$3<*JoLTp|_vi5RieNtZ9Zv*0 z&$>W}v8R8MQUtQdVS%A)~;z4<2}>*`Cp{P;ahVZ za%Wr;6aiC8A#*>5&DP=DR+6HD&UoItXkq;+Z6#F$=Kz@F7bYOPEyphFM&(++fnyH= zoBl6I^0F!0lG3eUUt@Zs1p9MT^g+D3W`a^5CAvEh_xqVsl~k4c%GkY?PZ6~pmpSgv z3G+4lQhVD~Oi77HuxaG3v^bWy-m3r={$EhBsOab(MLezkm$NAxF|F_o!V!!y6_`j? zw1|^uuizzlqdfK$2>w3R{a(}mT}X^*Z4)_p1e02(c7r2x%;&X@O6}6HowaUm(gpG; zJjT)-TBjsef;VRpGUe!(mMZLplY+}E$j?5xp&1%y?_Mi8>bZ1S$%vdZyxFB=DVy!5 zbOm7<{W8@rYA9c6C!bZcMYobrx%RnEebb)%Q&hIFW3$H%Ra|j%oB*HP!fsJ7q>^DT zERMnTPE*rd(vNkAJ>or18Bu+tfF;=y7w9o{5py#eEip7d5(p3dQmx-l(IbNHum8M& zeswC4Qg;0gatR6{qS@_?a+$0&UXx7iV6?$w>kH!{9L5S*vm1|6VK0k=Y%_Q(n2ictdI;(_(8=pZ}^U9V_;TtaM?2`PDe? zNbMn37n6(XGgUo7p6(uDp{g4^RZujUWe%u82hGh9Hd89AI!XQbw(#no*GS{5%z6HK zoD`FnH@R8TErz?}M?+jeC`jl1!BW*%)&W@-efXr~*JPUoz4W{^Q7Qet%wnXvTCoIo z(p)9_<`D_?u`e3;G*u6|JUNe0(nI}lnyJQuNSJB@Wze+^ZC}ACcKrKf7VN*5Evc5S zr+~cI2CA`{GGAM0k>=EgZy0KwCoSo4Yssdjc)RAL_gGwJq_l{ZE$H;$^RLQda5Ps+ zpjb`t+TKYiuYJf^+fXN%$554A=tB5{(90M{Rb_#~qX_YbPkeVyrote$Uk6mS1F8^3D3OH^B5wJIOsBZ8=PyD)ksPnmgm z@V~ap8qBFH!e~d50@@UIu9?JNa=Hr}#_=KW*V?TGc9U->=*lu>bk!J&zeE(!e*U59 z_}PncQCzZwfhTK7K}0J0fKS393MhGhmPKWjDEKo>)6iKJEIJr8^oCED2?uoJP|-q9 z%pkdxE1^N?5T5gv=}4xps|daTqP95OydL|##W?h`ZvJ3`7&7_IaO#n%iIei`*~yAI zw;o;PFvdl_s3eLHenG>-ypClFZ73k%7?FMoR- zAQv@kn;xZ1Qdpls7bJ7TM+ZQu8H)Ya6QFy{)!za1EL6Ct{*cAbrK#0#x{dm${RJULTlCK17t>(lnMKXTS8yfYgFw;DT8$J=F^R;^`lBU3c)Gi z#yt^4LFOOBZJ5Kp=5dMl^W?|Ylao<0$)$6b*i;*-vY`Cy36++)e)}n~;7(fgVOe1j z+u^H(DrnPJ@T{2W9gYhNlX@OahZD0yS%cCY&NW5#}bRAFy8Si@Y#xARsz1Q?glwcHCRyR=k=`?vTJyh#!&%VbM7|Y=_O^tE&%A8V1m-WB zQC~}+67%UeE3vKf?xlmb^Q0YTC+tPiq31ZP-wp(H>1Z00dClGqyrj1l&4Wz%DNGyg zzE|(;#0LFB_ltjt&dpg5sA6vN*}|&?(u`ywUH~=ivzdGtdNo(BPVxLsvoiVimALxV ziV?CR>{t|44mG94S`O|5e;?GMa|rg?%;3@sWAqa_=7P8^Ofrv3fQ-x<(?%Ouqh3~> z&t&lbMc$6$IAd(O|BHf~Tx%;n?%Lg|$p{R%I0!HJ;C#~U<7;)|5d1VMA9Mk#4-WXp z4Q;+!@y>A{6NjNSnR%W@;8u2RuE{?Fg8T=I_MCQ-nO2~#mW^=v)AV~ z=CkOEP(7NjGV<3=kzYzoAlwG;99ZGHCRI85ISICjc` zL~QMyqE?gq>@#5*{p2phZ`OGz_<`a-Vw^h%gd7?ye6sR0KL5U6s4e?wm;GT}94hoY zlz7+9b5XDIuG+Ri1Lzeg)mXMeYVa4WJ;^lk=FLMkqB3^h%__Bn9%?BAr_j~7s7*rS z)aq90lK&ow|C&mD-<;P^L0{G z1Xvj-GfU8YKa*oE>$XR=g0dAEvkT1%{5Wv*uknn8vexgRspiDatF%ZgLDlndqOj@C zK$+@c|F9%r-|L#(hM1vd1s;bLxmVp;((KV{a1X={octVbh5aq@%Mw=5nPo44y}eP7 z%69|aI=f7aA(@vkv-hFn(*J1<>Z^A478rD**AzyCyeg6>ol$S^>>1e^&G2!FWz7@N zbQL=`#&p1Q{GH%O;8qaoE5~j3@+1D`TIt#6u^g*Z^CG*KL3FEsTV9lZbWin>ibWHe zb{@v7oc+*KA;9u#fi?Eus~9QckMg?sw11)qZMVnIREEl}IGZIrIyOYXv=P2Y?34o+ z(7!i2D__r|#xao$t+YGKR(+vcjUmtC4JAn)b_AT$7K~jRSLE8%@r7_)3XWc|NF+ZZ z?OmdE%>81Vt|R$kg7lBt&mh8UJ0^P~JF}iwGFR+7C!>q4er^LvfnnUTb@6!*n2@+C z0cVNIW`}?-In*{i91G5_hux6IA@?SmYn~<)+O)VP2Kk<5SMP0dHvQ|6^o-b1(hItQ za={TXt=T6j-;YX;D!PBlSeyEa`-R`sc6*0wPcORKXjrYd*ccX&3mp@3{}!1AolmuC zs7+#22lYPa45V|vD%az=%K2C@+U47}G2}f<-NKr+0H0$T;6>nWj4fe=OG*t<2OojpWN zJ8a_QGi)b&We>5;`xLSRuF%a1L{^)*P4C82cr58rA$NY9+^t%(aI8J3`yB)iLE=q= z*Co?(5Uoz?O)vfPR)dEBeF*T9kM*u3$-107xu6JKe@y#;E#`LrM;r=Ya-Znh1|O7{ zIz9|7l^}PTb}u&o&FajK>{sE|Zjb*|chvR00e~$o>Rrcg7KzL6GZMcerN3NxBR*k z0aGxR-E~+570SwDz;*ea>9dOOUXgQITXW{v683e03shWtTTS-pbKTZRrJ}IszB})z zX4Le|8T-NeIRsB$x?g&mihf<`Pd@8>YjeNMPrrSU5Cb;rboM^nIt8vb!&Et*&MOdl z50-V8?ax5+WI*sUponw#yYMYliz>Xv{6F6md0D&n>&D%7;f=Pz$43jso%a2&8B!rD zg?xz2$E$=r3bE$0xYxF`h2|1n8`+ub!2|dNxlixAcYnk%ShgYSpSHj;y4`NM(a7eS z_EXKvvN$NdOzJyT66npE!vs%FP;X*clPVe1p(*$l?(`P_c#DER@DObe`2;5jzfNy9 zgT*`@xmc=9US*hMZ)Krq$hZuwx=vl{LOuQnp7|mL8LG`hFPm!kG3-9F8TM=h`_cN96DGRK$qsvqCt{EX-|X_3^xXPO zfc$FdM0ONXH1FGNngpw;dg3*a?DzuOn@~|veGOAR%!(+0e5g@hA;Bgwkzy65CyTFJ zRLV!z!cF4ypDk&&CdrF(tO=r;x`kz{AF5&OlcnN2OQj{VhuIKt{Y2}I$9VV;R7;k> zEfP1{)K?f?Gy>#10MzOMA^yI*BzP}QWwh}pQos@ve;1FbNz@@pQ#3{Wn|piy*#%$a z-^3awVDt_-wGYG3D3hS%VoI%KQ#@Af`}Z7t?>QI1=bq>E5Z<8&g+D9r_S)Y$vt>yY z5aWupY7lMW@mTNbjLf}ba<@HMSqE3<7PeSoLfs-#`S+qc!$mmLX0^k8CYZ}@b;pG0 zWZA)GgR6Oro~7=IYu{9oxde2A8G+8}AUOn^E}h4@VtsqDN-llFN!F#L{k`B`simpF zpz1vz^YBq-0PgJHL#2I#uqp{U(Sxwdwhv#ZY>Th^F58#*c1J`u+~^2nWc{EKDonCL zc2+VrbTshbLt(%wFHS@K^KMVN;zsSRrJ3H<3d7HRpYI8DR{k&%P)6rAKhDbWGzVTg z%Cetz5q7uTPmBJ6WQx!0taya8eQK?~a@KNs?3&wI5f3=e>lQ|!>Tib@y`%?rZ=ct5 zv|8c{SZkAZXuFKW&7AMSyE}e{aF+yKSk?Ys;qaX<{rCLKhN5{cW*)0i<6lTv?<6Jb zD)PTeULNCF1EZtmDxKLTmy=9XaG^IN)-pNoz?L zFqUMfF`wJJ`bh`bIH`ciWy7}9=QcG|G2~mu{JJ2Ajzn?z?8V0XafIRUZX!N@uC-^B6kA0t^z|I4rd&n9t@_4Z|jgnq?qeOJi znnC1o19>o(YL3%Pyg-N|FzIx+;eZGAI-$y)=soiGR@SLg})_yxi#?UTa03s&!{5W7w< z60FZKZH68(IghshT>Z5A?y%Oc&CF_p;hZvyisAkmXGxtKK^)!tYx1wUZ6jGW*&zlu z9Z%=a$IcPKz2E7HKx~?$Cca<~HP5|ZLCfJ3KUAK-Xt+OHHb56ypEm$)HmR+P>zsOp zK(T&A=-!NTqt+~ghE4%sLbcE_Ewb9~!(u;s$|MJM*GgkPDcfAGr*p^r?^YyZ@rstm zo=$^LQ7IeGZv|VHq{hU?G=K!AcX(Um3_=jc_c|cVI@IWx5HG$mLau_Of?0h>&KjOx znQ!q{@&m>P?C{sp4wdD>`T>Z3>_*_56ZPx~i~_r<_^;xIozf+keX98mj$ zWGWoZik?)K#~?VOaS8jMkwh_O^k5eLB>#42;VotHIiJ)w42B9v|5MbF-y6Q{%A-sd zfl5dWKQ_?Pw|-?o;kR=J+Nm$Pzk!5o^Q#2USUt>^-BDK!Mn*HC$}Kicb>J8_u30&) zl~+_c9v0tB2>=PS^OyH>(6J+s=NywbqYorS*z2$gtv}E`$5Qb7k7PG1Z#zzHk_yYm zW}5bpYX$wF!bU6u*Ecwfd%LK#Mh;G)<|y}tl^7SOp(4c(P2qK5o$!5>7&-szc;#tSvocvyF>4{`>1ENk0%*f&lmE|h-&xP%IaYE{PNriHmMt{y%3m>TQ8*= zrM4XMs+5O2IX|2}cW`UiRUrML5t>Urcrdo^!{hs)6nrwS0_NT_7YhE^edlipN3KCl zc?7>&ojK(<~28 zpo|SQW-(c-x(RN|2}*~EHTzycjKxVDxUdU8jAzeP&u>4%{gNxv76NA+6>9!c15(bYXFS1PQ>U|VQ2a6`fU?sL)usq}L2Jj46o9fO}`XVNX38N5>^y zxZk-<%ghRbEQ{8obW5z>e!can%n9?tDKq1GUk3v5YEg|#$ScX&%CY7K2`Ai2%_no$ z=4&B0*+fabVPhdT=dq8Uk2!)*N?6>4r*a-kZ+|ETpG*<=-~_hK$KJiL$sc=VkT{Je zMh#D!`z(fQZJb0W-v%~Ui{2xcJ5`{fo6UpO6Y|#4NppgSn7cv1g=akc-_%UK`Cbsg^fk1CPu#($EsG8C`taD{aO^ueXFE8Cy!KVGLm)f4@XS#cx0?>DyvCdF z11+-mPfX98Oxrhe7IcQp5o0f@BuQ^x}NI%(BnZwRo# zYH1kJ<$0>6&2S%e>LtbXp2L56qbs|e?zy~`z162*n}0mW_k_I!jx7mc47Gc+NgG5P z+nguyy~R(8CnT^KdfNUF{<`|%q4z6C-ByJIr2rf^=icMl?`{T5&*U+Vx7kv?SfpO) z$^$A=<^-$HY5EE`GU^k{bj~vBeh7!E+TzSWHc>=NoGO4%Lo}1Z51YbCXdUw$t+I4a zMSaJ6QB&y2rgwEvGyBK=#e(Vdp!=DHpxbzGAm>gis=D6nH?YVqZT%Ir(r;k<-o)%_ zMx8BiTsf_9aNkMKq!u~C9dGvzhY_WyBF0*zAG%c9{!f8eu&x*X4V{ATN9g zRwEyGqARHif;KUGE#p`OpYm!<1w_10a4Hy?&QY{>8)H`!Ou6M*P<(00F#nuCz^-HO;*)Jyx!dmugVQ z+|#bb!wE1yL=kka0=B3|;WRm6qY%^V{2U?|xTb@||Jdaj@(pHMv0(Mcd1c*z#yn{k z5=*!fD5FxUDI$@u3%VraYLaZz)u)Nszi9g{iH5dKtfemGRQ;D-stXNVN~d}fL7Vbn zn#YY$m8xtZtLK|wL@E~meKV8v3=?({{`r1@8_z(Ub1l*$H_uyLA!!9=PapPC8KR2f zni!Y|NvV?WG675dtwqm-T>Maj-Tr*qHgdq(12eW((G{abvRJE+`5Faszvng2C9)Po z+iKdbR9@LOKl3ffY*Y$sC8jQzW z=ZY|K)69IbR;smf?=@DJUN>#9Vy;2kIp{m=Z2l2K8N5-fYBWcojzXrfe1#<%5W{siX@v->bV+?_9FSH4^2f!Q3p= zJ5M`&Dzhw|xIYxiyJ45vd{tL1AYfU!!Ca=#$*tDX#4wk;tev-0 z{Z;+M+NvnNNl@ERjH=S_OBKtDpq*LEo#%$Bt>o9lB5@c4LKFZK*L7a87f^+6H!kha zN~z(bug4a570t_L4T5ug>PL!1*M~Xs<42{R-KsoNTqQXwALk>zf(v3R$G}Rq%~#FU zr90Dn2aQ+!NTMV3>t*!Y%DquwXQQe=ZCpk}Pf0}-MgAhgoHp8_|6K+7Wyg#dC=K-7 zkz}+Y#ILeJLoQ(<`9<#3^(WA{HdTd=(PyI!3VT~PXcZmlAiJla&f=5Z(8K$fU{nz- zJMN*T$~~*MsoeCH;US%^KjF8dokT~i~<5sTT(#uf;(fuw!&MzRa?HY zwy8Ei_J}Nit7(C%AufPOPd#_1T1b6ihe-c4PoE_p9C4F=g;yXqZxaJUOuIp%UwXf7 zOdsQdxu|>FS2CEcM9;}R%rsXqdyj!mHEQQ8zKFWEf#+uNzlQnf(Q#{5rhxU`nN8Yh z4XBslSxNAyYb*MZ8lT3=OT#mnR9*iZ>&qYOQ0s`weP33>g5mCrnk(ki`Cy1}UGcEr z=Na-8f8#EyRvWss_J1`ETpIsfLH-|?N4V)hOwx1G4)3%-B`HqML#Y8+CGrV$=;U_8 zlsT^TSS4Zn^3yt_+TTPzPWM8$25OUtf^T>slu@4lc;3f9f?8xt>+D4}(%v_{goTh> zQ>83g?Yl~k3Ydtx8ku}-0?C-_6=I_Xn$noet9k^hmX}SdokdB~R&umC?|z|sl&K0> zBKIUFb*8)8$LlHQw9v*IiCBJfr>5CC6Z#Kl> zh{ry?MI&+ZtzdOlkkuNl4J0`BCie)`Ze7IvoLR0DY+qJy5Qx#a% zMjxAKt$nv|93~PNL`uej+^eEAe{t^wSak2$881A4J|vDTZ5l^s5q$G38eRQf`Q1vv zJc3(SDlv-fH%LrmFwaBEHVMr!Z)PhYZI(av^$hzyQC_Z^@d`QS%Bcyp8cj=JUup$N zB_XGtT*g||250kCfCi|JKVrF#!Q_4KGbz}F;Y>xi=xI#O`GKuM62Y)5KoD>IgwtbQVJ%{f*4fr)>BxiMf?qN z#_apqm{pQoCo$XK(WFa~uMJXFyB`I~v;c-g=&G6JNZLHWE!QKQRf*6rIfIUvIzWBS zyBbKX{#UlISgtE>UZ0_>VdP)YdS3sYxFQ7r;au|nAA7Lwks=O^te4XO^=C}j_(Jl{ z0F%GAx&oQbkV$>=Kyu}=VFG7&oYl6dq#t|gG2GLigXm4R1+@^NGP}T={B66vkL~Wt z!W&s^tO5ieD<=; zvH=a1RhvZ>d>FFQ_c(90<5Anq9SY*ahfGvj4;G7Fq>TR6EOe2D=;E#D_p#Bgkl$j{ zwtvNq6Xlns-i@+ckfQ%qqV*na;waiz=6(tkK-OxB_M@=W3M?ukT*e_tmIZXg!R--X zW1uw9BO-5RbQ7qBi>)%BJY6|jY&>35R=jjSlr(F_N zDsuy+-?RkeIj>CtrkKgU3J?FqtnZL)UyWnR7ks$8*tbj^XV;>X(WR>m$Db=a4I{P} zdi{UcdgtKCqHpgznb@{%+qNf3$C#KCO>ARg+qP}n_Cy`qeDb^ZKJ~m+_pRF1fAs0o z-KT2rwa;1K&-yM+?Kwv=hco=p32KgWON7NnsVu^7J#4*D66DZ1~-XX{2>l9KASi+5CFsUq+9JuXM?i+ z99=&fMURa#eMx@UF6&=goFpPRzFdL1rc3KhN5ihV3%ks__@q7_yi%rZ!okuDt|0ve zf**%YL!PuIkV`y_$Ht8pZ`_qClT6dLS`NSE#Ea?DEvT!7JahNrQeA^Kp~gl1S^^Y5 zM&{N7IFg&jOA+#VRq3XECtvr2BT#`Xhpy1gzgw1hv-X|qe*WtMKa>s$HfGrwDxgLZ zR*)_P^2j|`7ql7wg@>nboN*WR+YxJ#nNw&pNbMqU-u{1vIP*ychx6uBQ)QbrjlQ=* zWZKgOGOHQRgB7`Yf~$^=uD=LPj{Muqq)erQmoZ=)qVJU$4m-wQj`bRlK&1NUaR0$= zmym#$=EEn3)XOW-c#Sgpqnm5{3qv7DkZPfg34Kaj`C#@~f%e@bC z7e#5uin!F=tJWI#ID}bAtiZnZM+cQ)6vlxY7Z~m^m;7#vsGJ%XU8_^UO`%z+|3WeE z`U?!Mo$?vHc5KwmmRIVwP4b}{_SvIqQt{dqhC(7*ULxbiAtabNOXHJy+$;yu;MSSl z7*L=tH`Y60QAF2<472{*3ebD(5ey3elnZBKjfedNm<%fVo`u`N!e=8JF#Cn);6j^* zUcyJ*f&CMwR0+Ax1N9-geGtIf&8n5UB+mriXQY>dMeNe9b9 zGGj0%X}shSg$B<6jY+6C>t{{mSYE&j{EjZ$V17_CsrY1KsYABx)5_g4y9lc7cR`Bb zQe$t(^YI~)J#*{D*mWv3moQg#i7+(*R*0T8(Z<)CqEbA>8wIMW&Bn)jiS)lrF#j;v zVI9n)B*;q=J>}+h`9(LAZ2sLA1V3d?E{!dRM@CLn%83+ zkFlb`Ja9<@6(!);%O;C&6?=d3)djp@G9g=?LlE))NO_oA`sHg>$@;`q->!ahDe3|0 z!nd~5<}%S>6dO(KXg`l(>Qy1yA@p-u>BebVnXVKM-8I*x0CSiRR1_hvQ{q+Wn5m&R zs@cE>LWtb9ypypF(?jn@ht=oH&z$_$+{|9PONm8j{$>;Oai?2VXa3Ul+hqKzQZOl} z^;mx85o)j+Ie$hUihtu6`Y28DjICa<199&B|I6QR(|$-RE!5+IaLTk(_BN6mr8kbE z=$s}=q&($DDlQG4F7OgaB{LxBsFxEMLS1cixR`u>3rCjhTxTiBoW{^)Q#Vx+VkYvU zC{n*n_B?;#;0^)(uqc!BEJmQ_z@a?IH4=dzxzE)WBP$$r#!H|6e+Wp=T+wDIm1BC* z92=3MJHY^pwAP3;)hAk1xT)292sXgpP2Ac<^fC#AUC**D)@&(hp@G((A6GfHW(Ywv2_t@ zODZU=lf?GVqiFVe1Z0427=Q|LnwIkJLj>g!PSt1Z!-sRC*3|~uD@08J^d^X%3m6!q`Xg?IavoaNT2Mrmu!f#J9I?})_IzTBla+^tDnstN4cwAhrw+7jWFc#W z2!OvnDL=5+8{(@JqreEA)^Q_D3(kjuSzAI7{#U7U9x7rpK23_a6%}0%-trWwkpI^T zFIHhwvXLjlk|m5(<*|Njovp2m1pY_5S}^z$VzGF=V(XmlY*svZOeAvTf=0web4ukB~+QM zCYA*T`YY^8&ldm7qgIeEUr{2SS3<;323$!~Zr$CGsRCO`!C`Hgfa!A zO409i;#6G>94bZMhsdPmpkWj%QQS%l76^tYxOyFwtHNS$ej|plAIjsBg}?l()vf-O z9ZT=|;PlIxKn+m49YxWUGZ=$YSoBe9-RXVOj{dGe&~1?B8F8#L7B$TK+*Oq)iDEL*pXYAU@Yl_{gvqE-I@Y! zCR7Kr0!DpL@EVz7U22Oa!+7?y)?r@&a%zNppZ!2<^Wp}^UM_IFTx?&ZQNVYip?h>G zr7EjCZG3WE(@nYZ?{*!C6jdbnDoGwh+%V}+@W$P>(b7|lK86C_G}ocl6e{>`N=br| ziBM4;oHeS@1Cu$LCd z#6S5c^*E%Tm!`$Snk76VR=&&|gE>*t3#@V=W`F!!oqSZqCV85L3pIVjyk@1tjECs0 z3hqja!_0PAy={<=ouE6ng{^(7##J66I6@$IpZ1Y-=5 z50Y~3VDhjyE<^7$=J3qEbA}WEuDesVaTQDn%qS_MaCd&CwVcv4_?NgsG|$q7np!hCXddD=z(q@=R&R zWCYu`fd{>?qpSzM6 z1D2K}7jfBTgaHgbs)|v@7zldGH>6UnRx>WNu1ht)6Vg|8hx7=Q3+;=6S9Y8hivmCQ zMRX2uvZ=DI-*5MFfXS+tYFe<1&rQ?sx<#Fb%(lDgwP+`+K31?RaWP|CtUo4f+Xatx zgYkWg5wi+_%CZudM$cj9)3W2~b^iKC=b5*sl;4~}ZI4~w{LdRFNh`*X190`1Wn1%< z-*@GO74f!y`|D$m+eYDM<-wo;fwkEo?*+zU>!pUAmE(00Ajf4a zG|rMec?C-N*u_!vG43MO@k?wK^s5NCbTQi1;@_WUFMb{Z*m&hNm; zLuP0X(R|P*a8a?+M4EmWVP!>d*lt*^KFASM2!jrn4WLG5(y>5y;HNKGOm-5BkHFLP zlh9>giz&GULry_2b*iGXU3&bo)D60X?rz<;k5(eOKW*;a0;74dk119wFcB!x4OCBa z3IwR-&Pmz^TbPO*TMt2_$W3$CxiaVzd@U;{R?{g{=dM6hsN3LCgINr@nfSlrjZf0v zO`}1jFp#n7&9V|}igZEOjlms+SGrM#xYU%`8p6n)<*CW_=>T?U>>sU^PMEXxO)AuhBHGbnIl|?<%u!Z$aneq zxD_KWNbuf|mcrEEvJ~C%d%NEA)^bRtgnj2zF6F=aSzI=J>sG4?+^!Rwn@M#4rThVtI-}BvU;{2xL8lk5D%U$bJOecr2E4xRF{Vl7d%dyATLO`k9=0E0n zhc7}@{NbOBvo#Qtn#p`CmCwWK&z=~eLZNHwK!q4mY@*6w)TC^@((GZoQmOu+iJX?e%&w=ktE=;- zX{|3$#6s_FV4b(%<>w7w&qS8flfLIg(+ba7&q^rJTt0{FABLWRoBf_?R!14v9(j!= z`8)Y1GDY51)Cqhr9*I*7V8kg&W1M$|&wQCH<=md~rMso-B5{J(RaK~wm%RY`IOZJ} z;c~`r1hK`tuX1{}nZu zagU(x`vXbCx(*YPT+*FQ^?SI0P0fqflx){?jQ{*%gvpRtY-}I(#v4;}R9mOxduNH* z8ckp&Xb|Dv&*P`uEqim*^?AXWF>Za|iJKLs)0oX+cdOU=?jTyFsvhmCu1w?)pFebb z(Jna;nTy@#R299(Z6dxsKz(uRe>Ln_6=bba=4YcCUkZayqn-V!jhUN70f^*Q##pAj zK|Y6vJ41+Wdo+uSp~qB0Z*p$LF5f1j}-tvUH|0 zoWl7QTQaneaT|l`I~g}Uq*3Apv(eHV87V~TaM=~ng~8PSd2?`aUX?zYRYCLvelIJo zl3vLB{R7t|L}Tr#OaxNYjdt$*SoRh(nAu3&Pq2_1;j~9Ar55JG58VK!>&2Xyp<%%Ic2Q+ zJV~#Z#w=c=3qRbfrT8z+*<^Ms52pHS`83C^&uK!-%nKv=Oj zUk{hUbxjM-JlzE@v@~OIYoOm(V}ZiTkBWGbREnGS>23O|HwV61k^rfqcIg z8Qq=t4)Tls(2TCvpGG!xmH^C=Fmqu0 zcE`ZsF@4$L>%-V|2N)-PO!9{2G9PyB%#_V-M=cyFaHp-G^*%g^{!!0f zbjrfvArQ6)cR!%f9^bk)Lnn03;G59rQ_r%)>dD_B)>DF5aJd`(Z_At_Zu5rjRV};c@|YP zR!TFRP?8a5#N*fYu|!u82ut+g)tVeN+2r3!cTr4NXYafE>8*PWarP()44QVh-)+p8%qgC-NHc33-xj!N&#ySUMCJb54IJCBUH zVgvc3CRgRQEwZ8A}o^%%%Y(CG$1|2QQ`pbe(5WX{+&1qwreyWsbO~xk} z4ODu|ZJx8f-8RdeQPa*siL-VBM!eUHT#_>eytxTIifIYgv+jtIuc4+LnSbAD#qln= z_g0k}h3p(#?ZD|ov0Z3ARjiV_S6$8#ke>JmezzVzPnfyZ^c+5)5#fTo`!RGLydEi4 ze|y&sxy?Qb_;?>$3+X*QKRoCdOwv!ZWVil%A90P{!Y}%E0p4FpDfw(<5;Kv>hB3A$ zy&xoUtNW;!c*Tw56oq!9veF7Bh}p6K4w9u>5g=9Qn<<4Xr`evL`+SgnuPur;_vj8! z^-r6f<2NZu0$fJJ47b=AzZ`><230^4gx_P%o%@+#0gm9QnG1e5vBj`MF6K5d$lUc+ zFh#Wi7r`XNxscZ?^|uJb>UFb9tTPs&Q6LZKe@M)1bdb?sCBYmg`GXSh_2IaqSo|s* z4y^k~G$}y~jN~PNWvqT`Z9j^Q6tWX;K$RoVZzQxht_x%N!hw-%XaW7W^5&g~3nZf9 zyV=mlH2hVtdV~svSGM$Y63^5#qG0(lqp&$7(1_pl&&dWX(-E!QId`LLh+{JFY^;j4 zN~b%6q6{)*{|3F9#Wd~ELF=(irKt+8{OI>QP8qw04rCp@>skyl<@rJp@M7p&QwQk8`FQ_y4F0=$$K;AhZ#iLYyC9X<8HierK zsGb`zJNLIO=#jm}Ju#`E25f_Q9!*S?Y`nm&{ z2$a28&zJIfyk~>i@^S|DjS%R&DqeVTye^)Y6G|K(F+Iui`na(g%_}vXdfw%fwX|PV z{kWga;%HCiM-XwWO8GD^ENQ9(Q2#tOPUt9(YzstYdKGLNN!;7)RC6cV zjgyT!rCSQ2d`ijsDZ9eYHJ%hHy7#jRaMz>IP2+oDoS>n|Qye&a%U`L6z9Osk&^t37 zqsYDxG|q99cdGNWu%mx{9BlkSP%iooLrX-+``K5b=xtADoK}=>Uv~6H@~QUTo`~3X z6yZ=_IBvChzXCl;cL-F6i+4||__`{QuA%eg6>O{@CO?^L0G?q_0<{ zXeCevQ1RZ_f!>T8B9_Apk}*P=S|=4SSj0zFyct z9f~E+9|nbv&z!OKY$Z=l)QCPLur=Fci!1^JvJT6o5mky#K}WMw*n6at(pCAA_5Lh7 z0jpZS@&`DZ>D22)9xHmC!k-d_nB6|B>6BC!CiSQuzf7ube*BbuU3;F5y6nUtlXk1f zrlN<@$CdGrBcDm4RY{leq=Y7Eqb8!^eFFc$(7F}fjy~FU)RP7J<(8CVsp?>3i63} zkN@YW)rjEGI-Xf+=0!J`WR`ew78%+YSYC_i!>GPGCk`g(qdY}zo<^_Xq+N%5P-Zl> zYc5V(JRE;CQgy(ib?c~e;9G?`iYtP2k|26Xo~`j?jmdPzKLW^qlk9?7r2+C(=*uvn z>USU>ZdRQfq&+V^Smda6$@DT;QTg+uGMq3yn5amx2jM`29El#|q1=AJV1gqq0d=x; z@1&A;?I9^%S#Dkv?tn1exQG@#UJZ)aS)8N_u^Q{93i1}fFcCK7Ohfap1oqgSiZ^K3 zREre0q90*BTwX`rMQUt8IiJsx@m?pL&mr7xG~NJWt=i0~L_iLoG3m#wPi^#rtiDl2 zeGMIjmef2OMm$mbyps?zVY2-fDh0=^XRh4~j&_nYMkAd-fn4rkY70ji$HY&X8ZHaW z!eEO(K6}bJpduM@qQ+3YG`SLP{wGa==Er7B{ ziemI!`sO5$?xmD5EL@Nr$9iJN=V&ZCT&l^J4QIk>tOv-P0>7w4+O0fEKa>neoDeim zTMEf?AE~L<>Uv0BlA01MI;=Lm3PB~QAT7dm(i%ednsitjbG8H8R+T&Jot;)yS?lv# z2FO;lEOdqq_%o{hd8uW)TIJnes~V{!Tyn9R(3^O4+fJ^WcwMpUY4aEzMUravyh-%M zf9U!?mvct*1GhYQl)Fd|vj9lSXLEjVx<0gJHIu%wsAU{VNhfG@5I6T) z#fNtrs^Z1fRZz^){lS&(Q|)~DBB_Nw-kdp=MGb_{lH5C)Pe17|Vs9}J)LtGri+V1& z>FGY8vs3iFIr@vJdb3TiWi==jiaVwXorW3mIrrqOtt;_wF_Tt@^^c19^EF?3F;E8g(fCCv-0{3Hf7;bB;P#Cm)~d|qq0(v*-FBIfwS zifYwDW=o!FXV z@EwFW%JQhclO1>3n@*c0Nxte)CkMt#(wKuDqK&OhX;eDmrWQREYnE`_a%vTQMZqO#PYC#pQ7>UWK4qHu!^<18{y}m%DmzMf>WnObjGw4#hv;1 z*Y53WR8A+c5dDiXK}TLPyoPmxC%ZWN2=b7UJ3GM`(?(Jl3rr)RkdsAvzBT2~C z0fj%HS#ykjuhh1U$Q5=OZ=p9Q1Rq*i6~T#8IkJa#G0`#hF5V?Apfid4Z1(iS?By`* zP5KBU&}KEDS*aqxaw&D6^yrX%CPbf^IS99b?O_APVNwLVKH ziq>y&rkXj-%_CddzPR$2c$=PfKHZHIOK{-&*#B!iNDCX%0Zd6k6twhFp-8_^&d!=clzyP6C$%rB* z^npFGg+I3Hz$8yzB!fdZD^Px`L@&kj8v2OY~ zIWN6)A$_c`X3Z&^DHNbQ&+9)bET(ja(ITwKTnr-5mmsB`7O!oy=HBwOp~|tQ)az`M zts;3&(;m$#jSa!|Q_cpbhlIyMu% zMiQ>WGVoLSzzcibfO&9!v>1)0(-z(8scv&fx;@-eKCXKz zTMIQ9^_uhEVfb3##ZGFRU=IuG*$iGnM1zY3eMo^*@w3`2Oc4Q@WBbjtt_`NnP_2O0 z6W<}rkzw?PwyBd%EtN-^Ob|REa-NGF_E$dnOl1wYh8cTUEJJt6?Uns`{vZ{L*m zN}sOe5ojDdKtKgbvv_*iHS->=Lx?+^n+fekz~yz#cmRLgQ6-BN-7!Iqz+$5* zF=^CmC|5KYvOQa8uiJq4+Jlw(lArsXR)hW^wUey*9)4U44Y{Ozjga&DVE0)X4Un%= zf9yQ!VbA`WS5d<>);D6R@4{PV;BLn7N&Lel0EscN6?+B$1NX15Jh3FR$w12mXH33{ z`OHJ&AhRgTtjc5yM;&6V6unX4NginE7rDm+Kc*xspke5maNobKE&_z|b0z(<+_Efw z-vlSnM z#4Xd5i&XNP>gu>lPmT^RSXZRP4 zQLwb+D=ISXW1-Tge>T0(gQL{_bA>jRRbakzh(>(reNY`<0LuQ7jnH(Z0H-0}qn5OG^r1Y-tsVFkun^U3(yzwgj&RBF@ zseg*E3(0mJ5|FZa?niNouZ!-qUi14Iw|+6gOYyzZ=$6(NMuY{9!>lRJCifg71&6hw zdzIu{eQuj+3e2MHPBiWBshFmfd+QlZG2~7z7K6t+quV%e&Qi5h|8wd*?eRku9A)%x zz9Q4U(;4rRv}Fg{MHr=Qy(e=Rb-3m%=Xp0E%aGeZr-}YVyt_iW^MCeoms8C$g%)zB z9LJa|;Bm8^;QUA$tB}vZ(37psJyt=CI?di&sQKpSrpyLYs#Cc^Q#iw4E)+todI}1R zq6EGeAv?>FZ5pYqcxBIj(`VTo_Vi;`Ydsif01cADWEDCgDY|)7kz{2k3;g_Wa!;tN ztw%TxA?!PizSaq<#BQ@{!MT8Gi(T0ekgKrCLpmj!M)4jB*6knLv z8W7GLt%^xw#!*4kst}a*fhW4rkGXy2Y-%ys_K0{B0=TEa;>zK8adsEgn% z@S?&TCKGZF&}(n08cYGWgJEG7qo3BGzqVp*>@OuVE^^s{rJD&yUJ#iX^#`JQ&Y~Wo z6x758#JoBGVpt4QfEWuiT0(F*2q;~F>Cc&TSdMWugENt_DB4vv_*q9d+Dnf(fHg}v z!)O@R0%&Gt5US<~2Bi$!%18vYOUU)rw4-_0`)CN$p!6m>i`VS%C^^HCNq+niu`FCe zop;n6WQVdQOcKIPR+YBHFGeJE%}ah-j*mujR6#446~Q!QWcBDYi_U&Otol6mMa=+} zzp=%H+-MJ5tx&FGXM~&)uNq?w*l070i%XET0Yn;6CXuybyMBRI@{Ly2vA+^c;{lt; zy2VPvsa5B=P(TpGKWgAw)ltcM1v~?PGAF=blY%KaJ$OU?A#uT1Di(icXxj2c*# z8$Os8J&u~_HNJdV!$0konSXb!rC0sexcFKH0CbD|Ix9z2Np6oJ*2@C4aBB%g-5LOK zo%;)X&Nh3KI&pMB$-TIN=h%s!m5Kn{ajFm93$?!&(A(Jjze)Id7F{hH6-V1y4NdEV zLAj;iF`2a;%SsTn4jhg)(!00b96-SU!Z6Fy9J^TY0H{Y!Wa17IHJN|wFp}qHl?L+N zvbw%)%AP3|g?><|%SQj!Q7P?CLLf|_t#NT`)9@ERIhEls>Pj0?t5I^)ZcPqx$pK{o zLfQ=`w=!7Y*%&L$c+lPpVcZ2-AwS=5Zn8Jx5Een3p6Awv%}=_nOQ&?YKj{_a3nWIs z{I;1xgTlXjL9?W9vC%)YgSpypLqiNTomrH=y$Kb$>xVNx96AJr{5R*7()&c z`bTzNF(Lpp=C6J^GpXkfnmB#1R;;Ts<#V^{MbkTr1PLOA@=dTX%4K>=A*x5&NN@xr zq*|k?Kj{R!jO@H~A;;)eVElM80)=dhtn(Oqe&7(N)j<$h z^oOXl%-#t=rW;oa6#pBXpHZ}S+XMMDKk$hRu2pu3`p|;o@WlRrK<5Eh)UI3_yfv$L zrK-F(sf)&SYs6c`K;efthLtAw2sS$8FQ(lV3W)$Rc$o#irg?MyV?eQ5=RlbKB??w)vm&=+ngdOXZwM=IYtcW$?OrqM61`-DnbbB?MDlXk#<0mgt!C`OD02TfMtih!GPq$z*$Oxa2>Xcv)5QkGPY@ zc9s~Hb*v1}!z|iLpPG?B|GqOL7TzAC1IVS|QcWRgC%AT(0q2JI%w&l}AnLG2L8?f! z2@k#75{f`YR8q;R(Id?BWDOG3M1d*9yrs{4N)%J}xa+6}77)>7z$XVp%p`v`nv`E` zpTQbaEV=)2OF$QjqcO3o_@s0maq;n3VQzL4=w&b@bBJ{8A~gT$Y6W~P{_u>O6tGB+ zMub>789L)Y+NGBVch3oB?S~yF#HSZZrX2V6l*Cp>wj(r=Q6$9hCUN8)jEl4zlo2dEiSlbVfxWlXf zhx$50!^pKj7ugRKIPL_@`@cEX=TfDnzAUK;cgmu z7Y%B{%i1A}EWtD(UNWq|N)Iz@;L!Phql>A^h9r94UL4hZDOR1zA_~Gfd`_HdSsnh< zHnoKb@+uUvN9OvZE*2`#s&$J^zkA3TvV z)nQ1Y?tv{7YxdY+aytnMGi^u$hX*N>$MlA!=LQuGY4abJW`MTPhDk>ku2lsKP%!<` z3KwD}RWZye!zgT=2)9muXAxXC3Hm%@2eV(H=b;S8#eteb&}e;A?yR?@0=kQ3lObx_Pw z!HA5ewLq!)s&ESg8}$K~N^yi4W8|lj2>8SDp67YN@nBk<9B!d}lkZS3s^2wTU46n4 z&{ToP+E8%~K^ds&82{RZ?;XIq4Y-ZOIK?S=*FX`+S54^YEMRfWF$$_Efp=1!d*)GS z@9`geW#*%a;cH4T;SPTH#6FWg5%+_6Z*w|{_6Cs|kUc-A$F+LN2s{SZjL02FkC|?C zCm44l3&~Ytp>T7U7}4EppZPgRTS{kmtU+a4QBCN6*jefbN3RudEta#`QRJV{B ztF|&$gS#gHf>knSJj(j(CUNqR#gIP<;on#_F~78 zuw$ldI39@@DjmfZg#haygY6>O&V5FV_XWLnln<+Dot#tR76%8QF4pjyv%)-Y+dO@l zVV)>z9lzc(j-Y|q*dyip{FFeDlM!8SOJ@X;T4X#!A`4+7Y?L5r^S^aVu(PgVN5jYa z*n9VJ@z4ipH&xP)5`#Qa5KJ*qyZDh~prrlINgz*$S$|(Z{X&qh{qpU2-_$@I4RcYE z_J~wS;Al=)k-h#J_tLB4_lI59yPxB;!4qqT@IcfdqDiHMQUdK{J0La4A9%NfSR?A% z*AH)+kvpZErfX;lvV*dJ9O5q^c+fwrCX|5Wtsty%!D&1~aRf*e0}1P6W>uL3Fh=N! zNB~nR0iCS3;N3$}FJkXpb%rh2LWEe;FbkE9ymyg{!Wp26DGe#JC;rp>DJQC9)MXAu zYzQ)*u?~m*(TYXTwOz{W7)G9{F$=5wJGGBVrh4SZG_SsFwD3x{z}wMM|GUYMQdDkN zSkSqH^VHp%aGuDuzbLl~M&DLnbKuj4OGU_J<4wEW$3qjTTqep#PSTGc%RG#~w#X!P zob_|A@zh8V{T*-CMT>u4h}&KB1hVkhDT;rP?YjT3`C633LZ%(@O?|(BywnzpEL09z6H}t08P87jVG>Z)bB@LfO{K$-!=_-c$Y1{xt9cREw5fzp==ZdI&rPsy6+z}8_n)-MN_m9_o~?%5l6w0AsP zJ~kuy;|C6rXywY0vONLZsg2=~dyyJphD|9u*vr>m2*1mBn!qd<;zUJ)obpE|B(mUN zYz6>0%-wvzwqxc1Xd&FiXRG1UUAYJ%LL#ZF-}umZTi7v~A?>}!@D&MS3cC_KufMlC zoM2PAJ!~An3zAz8N>67alFM0ucaZG!-af|p20cq{{QXt|Ed6FE)tvw zSszYIHd$RWl7=i&ex{tcl)4fc+hN9&k5HfTB%6Uam@soDNc?UM(Qw=RCOQ_QszrIC z)Nc`>lB0I_2XSb5Rq&52I)=#9{9N5u-1rQRwI!w@#ugn@ebKNN}smEC5WK#%~hpg;!)!Q&gDe54)X{*XBs_o z#>?+w9#x0|Hp-bVY;uy2^~z+jXiz5x@ly#uUSl7CF2S%?-;X2t2tV2OAJu`!#5&GF z(pn-rEE^Ou+@72DMA2r2MlIR`XWq|p!o)KR2_YGNKT(|oZP~Mg5ne`a`|+- zW!PC!Nz8lwFOq7ra@Z3ytJuW8#{@c+z-efN^Rn2cI?x=^s>idxTBV%X`SkU0@}PBc zU9=J{1x#3uy_kx25zzROH)M#RbsLcNp0r`RNAd)9#OAoH<)k&(R}Q>HU~=ojM=Vv4 zz9K17)C6ia{iCjeH?@?mtbrKW+%9~W=&&k4b($kA0p|L@9% ze{A5&P8+A| ziG7#-ov~&J%r>!qN~1knyQ$nseMPk* z`&4`BVNvcQG8%*yq?F2Yt4^KdsSp62E28X6UF9W~9J*PM*X%5|EmAvY99;rN2W3>> zS{{md9(7hp?z`1s@>xb8pqrs%9%eSvsp3T0^hch*-S+3io`UW^25Y8eEuiivqSTX9 zA&H^hAVswhXsOIs{RH2UZS7uBoa9$hJW7I`)e8o4O=I-kQFL^g+%{z6z*DosFVU~k zZx!y*BjW`~(>wOF2C=U;?MQ68yT^H|!d#!a9<;%j52@3RhnJ96s-$iyfX?Z2`Z!95 zQA_9buR$WCR*yZ_S9y=q2UK@s@t?8v`E!j|)$@_d_4gsUWk643^PjO-D5$+fJF~Z{ z6hWPK6WhZ*jusnPW7HE`BDYyc=pDe4Q za&I$=cQ}bL5kSn0KVx5i=!Y3U2!9FQHTJdheiE%(pJi`5;%?W7zACXCu10MwpJ*=u z$`#BnOkJ1|WC-=%iaq{$gL5enJv#9t(rR#qh6d%b(mWS9w*^N@u|c<77k;@c)N_Tv z9zC$%=&-OuKy3&+p-M<}uxyRU27op*A;K+D0Q@zEA_l2&G>d8|?VwbNpo_Lk0;X43 z=cQ;V{fzT~CDf2R5BULW^iz!WJhiSCLcw$tvF|iYHaf=i&wNpc^u>YIZ|5y`r2ItctjKnI)1L;xwdJJOh}8Y5n|)YAaIWRG!0Fjv4fjw_P;?FakxzFrZ~)7kdi3Hd^@>qwc*ncd#HUaFqPDcAu1eviTN z9hsl_lo~m;wfhE%p?nhLt-eXIj!!7dv+OsaJTx1yjG4FFbe^s#gU83x46dh_7;n04 z4J4a8qL!(b+dCobQJ9Wn^dg?UJtj*%ixmcKl1on|D{d4 zICVCh==0wkYkj^&r^VbCr7rLZb#)r=#Sxa++(GYLR$FWHcH0khB)ugo@q0{{F%Yo% zb`DTCom>L5d-l#xj3a~HcHq?{>DEJvTY~HTX^+tL!dP+c!+ zqqGORcVN+DO9f}y^`V}@Pblw0O{Tl9o;H!R5w1&s)!Pt~M7AeopBph|6G`QmgY|Dtyqu8BCkPI3|?);TJy7~{Uh@2~=LP|f}iRJY$S z^fF;!Fm3@5;UBo60q*r(gP$qxs3hvqo$hE5D-S-~Tk7>T!>3?PD>&MO1%v zae<}7x_W>&Z80n}(wbl#Mxv<@-YL$&H*Mm;v`@w@<{A3vF2xA!M_E;3Pjj@uKD6SM z2caqH64EH$4Pf8c2dn-NBN)FakT?nD8D>jA@RQ6bD+&#W(c;jMPq2@n=71#zd87m zt6TT)c=8xH@X!orAC?0bRxBLZb#Z|v*-|pQ`w6|;YSI4M@_0=<^8Q3xD8;g-&<5ji8M9PA{;d~`O$^>mU3j`JuWulI zchTjI4^)`&|7o=)U@djd{pWgpt{{;%uF4Xu>7?jYp6xDA$$*_S%`Ti4sq0<#g1UM36l*_5G`)Q{6+SA!u|{kY1Kx8|fa;r#S)pPC3wk#K}^n6Z$HqF&~p5A?5{ z`Aq05@sR7YPKjhqGzEliW+mJ?kmqP|+I=ACxe8wWV5>6Fgmws}NN%ZGqif-W2e9@K z)$2;!IV^7v8^+>L@72&Heem5V=cZ5%&AtCp9aOX21yFy=6>w)rvA`(&bAW*fc|9UA zIadv?EYiIqe5{9@iah4dwkByF5%dj1nxo$RO83ajfUgosJIHM96@x=Lj#k3BmF^5^ zcR25YS|tRU*Qdjslj-=lGJ}3I$9dn%0$)C>b2_0pUyQbcq49J z`gv%}>{G2}ghnv7)y7EH5_*WbqF8z)wW}p5K0<|w^Q0q(XB{gP_k&mCKjRm?|4uhg z($pFIXaIj;eLbsox4)xTOSvrFT#-_tmW*h-uiby`p1K}w_DX4Zz7vvu~nD(;nyRrsc`HhX7OM%y%tOJk3q@y6{a^TEb zZ@m^aAsN4NRlF9|j1l16sch}hq_n6&s*dmGS+`%1I|9838A+ORci1YBCkhxH0oE=C z^Md~F|9GGd|54m>!F&`)REYjG6`4wmMOrBh?w2YE=&cy4*z$t57$T3RSlBs?#HYsI(Yv7XkVgme zd0W~YNv+7pZ%kNk1c*M&u3J@kGt`DY$^*(rDeh!*gc;|cO(S$dI>i1m^D-&3vd;Icdd?UQ@c$R%oHDj<`qR^lhtRfAn zI&%KzOKykxs3gs?BFE>E;Res8OI2Qk`@mNHa#yI7VNyq$8o+b;7dFj$S7n-N6*qpv z_O45gh_O$R|?8y;2qhRjy_f7HTGqKdV;y+=QJDPC5*dr z&sKFd0&BGdm!2N$TOFo)Tg&7Uz2K?UjY1ucQrG#Na zJD0a4Ip{B?Z|t);rBVE<2X-L<#f&Y+Y92Vv&#Gtjzb&n=VolCNY%=Te)cN+e<3afU zh`lE`d_D4C$p^wN4T@kF4kSGHMWnx_t5}BreYj8drW$*3{vi^YEBa?YA@@Pa z7=$(G+-CiVKzvbw6Y$ee`~&PUhAhDL{1WGNJKBEq#Kcc^uf!n0Ya(2pwDP<@fLRhg zz`wsw%Avy>tcjoF(=RL?%XgvbvH55;faA5+b$Jya-~g!$?#C+4D}dQT3I>wfz+R7% zJ^TUvWCLvUC|GiFMHE0u&#!?GWQXpt-%eNFmEZ<4Q7uza6P0bpM?6^)Kl>+|ow$4! z!^1@1HIfBN3tGXn`wCcs=@0Xf>f2}DTSHCs@Yf|{{D-_kiZUb+!AQ@^#qFU zaLp`4%R^ZDiSVT5{gH@|13SnLsP(71RtV1TBol&zZsg|M4N2tcU<;ji^E%or zT8e7-g(k1S4@(nDT|pj&t?eJU(eSMja7f_D!xFZzl<11DeH{~+xcgUUSNHjbxn9cg zcvvP%g6Sy{HkiHu>?y*SUBK8Et;Akc#-d#n80uzot7X_glhwmUt}a3+0~MhKcSs|u{iq;}9ORSoC=6Pq4bU2oez7RHW5gyL99%%XRv6{T6^YR+p<9ZSKqQzs`K?=C5Wa)7=!GD}#`9KgCqB-Kp=tK;rL|6iz+#Z-7br4PJ1e&*08>3#T@b};!|kU^ zk8;;VtE?qhe%V9um>PidDY2B=y&))A+cfM1*fid6M6!`!I-cd62LogrKWq)w|Dw7{ zIF9*4I#Tq48;)hwg@B02hT?T+C8n+Qsv$}=%W6QB_$TW=@y>U_AD%qhDP}pyvZyVj z_ch`V%V%q=#a}Qlg}!b_0Ct*Y00+;wgweCsbdl{4`6rD{u>VkVj0|x8+*ngCO)3lC zDF%k}FzbLw-gbT3==#KKvg#q$^LidqIcPx;+ScbSVaodlYA@~+!Z+l1S&+0t4_ojri8`%lVTaP7J8crdci9;ppP>-!W16E{xFh5a<6Sy0n zk3=zCjw3xByI6*rr@UVx><$;!R7padSPgzoZxdtYnVEPXg=_A_gVl23&Hd(yW&e3E z^?;dfSv>z@R;+onun=ArE4GOsnj1?f@j}Y~fnmo`PIMQ+DpJ$^hm@*P>D=a@tzGCJ zGAs9`hZzNlnMGB&Guh4KNaj%=74^Xn&E>!`lzC`yq9u3x`~sfF)LXIfLBcB*-xNp9 z=c%E69}?480<)Rpj68s|nck5k8q}b~YJHmh2pyw6@HnUIH z-B^ie3APLN*HBJ6IH<$&Pd8V3%Qkkf(lhD$|0=a@{HO5$Lm<#N^|+MBK}WF)@+~T^ z;BX?Db4~;|&xJ`f363R!opS?tCeoN*IlnK1K9NOf-w-q2V~|w21>#y2aeqn z$tG2!N53nG0v|ArxJ+MZuYcu}RCyjHq~;yvLW5NXsy5$ce^S5bPG~fq5_HdFn5HQ`}Re+m$DZlJFkt}OlMk) z6t%{EB-Ie6D=bn$6yVY)UE-ri^21gv6Xn=@wpdBWNm%{k@4wo%cDubPGlK$jsG zTS*~0Xk3o~w_MLKC`?!O*|uO9c^N(IuhRYLf*1I^zFb+rhGG%EvBR8C3}oiBXM8a% z>&ZV#-zh_8J_t=rGc)WSe&i(Ec8CGE(X!npzJj?TI&sMV`hE06Sz#xIiy!f5K_JZc z59ecR!7)m7J*42ARc^8ESK;4z&8qn*NcmB_r&H*+*z$0D0e6mSBe=~xF*smW|KIH} zzIUHRr(i+qe4AXLwOTmq z3&f2?-zF#dVtqh3U12l`hwFLVdy_;*g6p9|an_G7IEzSpgD(p2ert1-Be+klGnyqu zS7ykBiE*WsytKkv!LrPCH2XVuf&+bL4433vt+=Rb&xFblcT9Bm96QQk^g*s=cJp-h z|I3~JFZvW}Z8pTg0_`X*<}~Qz;9iY>rS;TA!nNWaX2T;C7p=-<9CWx|tHDAQ_%Il4 z{BOa-#Y=K2p&Bz0O=nblWbxmQPs7hB7FVO1xVZ5`gHY^#4wc(E9Sjojg{X5Y;r<+Q z!np_1qr}F91hzN;p6{Hqxfqo#lR=Iw{ zLgbWX2-TmZuw*`HE&k@DlPGr!lf5|(QAnP|q#{N=`Xup9qG4B)N#J8n_j}x7f@bwP z#%L~A3Vvp5bR;e90qsYt_iT*c^--SdL$x`&-p;p>%;C!0^E)i-27sToG6!wqH+(=mTdmQL)A#B>Pxk&B_D4HsrX%9RL0t(_AK;*`{c zY3K*T2z#HtRvt#pe1{v#2|^gQ8?DK|{*fPyR)yy%7n6E8&JvQvCG?SOqJcKwRf(dq z%Fx5{rzIC9^Y0;NIr@kUcSWb{8}binMJR5)ZRTkC>ga_Y(O4h?+Fi$KrBN0uvY_k( zz7Ieg>!2I0khCM)5L~lw-?MGRgn#O;_lyRtM(S3RuogJqF_n!^EuI>Q!IPIPZtj$i zXPA-D#229O9m)P!FAuB?`AFBxs?`3KKlVDJBn(<3OCrZU-fM+@SJlXek#m;vP_jL! z*-A{8Y*ey?SwUM7)@GTo#^qzMi-Ry(i%hNIxirYJlslHoyv>b0QYYGi(v1ipCy>uz z;eFpT)W@%zi^Tpe4{gs&`-g&5xEDo^Wj|Hn%Kt~3{ttEvmZ39&$qb5oT?wjkwuKYE ze?qdBVF!Mr>cMLu`!=Cr`H`*nw6bMe68FPt*stslO!Y{Yzdui~@8U~2Kr>wA4=(Qh zZf6^#xWPYOZ1zH>&uQV*t^QoQ>%7I*4+-73_jyz6>QKg8eC=f;=wxJOOT%Kq(YvHH zCgjAfDcKA(B^}vT!#gsUvqaG-uivhPyT{*CHaz=N2Jm$L!!9&qc%+1plRb+J-6v30{t9yz7xX!2p)4V^SDkS z%Qj|tc-lGoI8}6uf4xGAZ}5smAEQHA=cIevBxleQ_J_bsRNP-#!M;`{zvbt2>Aztf zr&{KB|C|YhvWEVg$Yi>?aZ8xNW@%KVKDNau9Kl`wh=@VkkDD2j3~!ueHDydfPH(qExY+9r38E zjVxjM)kRc75iZN6wqI5*WA=6q}D?OO@XAz(N0J90|`?!3?e z!@y>mbL_id(^nCRC3v!yZ4*gN`ls84C`@hH44Wv*iBu1~9F&S6NhSd>=FT1@t}dE5 zN90G@G0qoSrJ)%1iRAPE+@q^sCfAP!q5`&DnNl~?1gR63{otnm5@l>sYdiswAP{Is*N%lQwWgSH*n#PNeP&=IZ|y4gDOA zOBfuWhPIh=+mgLRfc5!PHPOVcc=(xj)dUQ-E!e%!u8OamOY?9NFNLotN|k-o!9ASL z95EtTBqnU}13>8rw!EHyFShl|={?ki&q5*d!l`jz6XfCR?^!%wihmTfw)R@ES7Qiw zCcTggv5=QB1_LB)>xGGo(e%IQ>P228aotGB71_vzaW%|Piti~;=HuD2R!d_1{4v<( zVrQI{enfpBWT-liBA6Pyi4;ujAfqprh>z+PW_;_{6ck*-;f7@Qy=o&W9)0QDh|O;9l_;xZd=%a6&%)S$hK1C^x;XLowZ%oM zNc|3vj}`aZ_lQShKgWKXfgn;^Nhel)Gc}VT7Xg=d;5VVFQEmOQt!93#JW0woDfy$s zpEw6ty2IxA_gx=q4XUzjjfK5MxNho0ZxC-sP=vu)Q|J|JoH+!zm$ZYcDl=?t$?7X2 z`);D2NUniQs)KXdT%`Rqb7i=FjSTePtYb2;TjfZYR53B^W4A*IPVXdRas4X%udl(a#NPJ1gs9}lb-Rh@A3ilVaLEYK z|KPYFhv1GFY9j(n7;Jh788vaQ(>5xg<aJ#24mWI zU)?~VHE6*9W7vJ=Y-KeP&+&@el;FRYP#TUIalEZGBrC_&@3no`sA?!v044rDEVX3% zafv~K0gDG7Yaz!b+14W_AmFWOY zuOu>EA$`0wGe(qgT<&Dh9)Dl|uPe0N6`iGTAaV8lSB9M;2}ce)_<9)zw0Z_(K(iyq zkke3@r~zI}v87vnJIm3kSPu5CV{Wq{A+q|&CUd=^!=M5pBnBBbZnOd&KJrh+l|Vb+ zR4y_k9{$y&M{V@05T13^+_Mu6BNtx9cOi)<|1#xVb9fxOrJ(T24*?@c>X?2*g_f@w zn1_jOzYC3EbHHS&Dz6w?ju^T@{OervDfTumte|Os4T>=qBU>l)M4ZBMveJ()6yhRA zQOi-eQ(pW9+ALB8=D{*-Dj$sBeeDg!mJ7DrvpCf6$xQ}AlnpoBB~sp- zumzc2Gt!yj$UY(bMU|?;CX#=j6@<@;`)D}iL?UYD{Z7L~ZaQnr^efpjU9!TTW~%Tk zwjiV*GFfLz@+Qi8g2{8kSkRCw(e?S@1Jmn^$;2;+v^(}>O2kCtJz@aMqj+GM9h6sP3D6(Cy^BnSe1V)VVU`HoSd>2 z>hq2}ZpA^(Rr@)FBl8cg$yfF~j`zDD_D-xw#s;eR%Q;^T#pxGRbrq+au<2W)QLjEZ z_hCY(r7y|JuZ2AV!#RV$`xXEkkQy^pMy8QKu3p#zOHTRlWmj4nAZlZ5J z8O3+#yClPU<595=T2y%I>8yZ%qs|9Oq(GkT>R@bJf2ey7C zzS9?3p1UTvH7s8u6)|bL=A*f`{|FL3nQd|-E6tpBitJ0KPDVS*4W zW~CJBRWEOtBIAz>cQ2uPq3^kHUi1DwP+bH=U2`rY_npn!U_&hqj|V@$&F}z!tTt-B ztbo!LP@w1d4K;v6nI(vMXE*xp-EGKmI`U&Z1NHa3^F9D(5VTo)|y|-LYN0$~nT0HiYOWL?Uaqv#2@h%cAKR0+?K*?Z~ zv@xw@(cZ1GO0A!X>O2Wd-#zadJsS%=Xx%to zM&%Oq8KJlqblWjs;m|eu)g*a3lO-7^diy|0j9SX>8h|9wj0Z5T=v&Z^hS8{6s9p*L za}Y!eth1bte`VcCXkpT*=>B8G(3WV^bEoaBw%8kx#ye5GpB?qut&IwKfC0Su zpSqRRq~XW!9%{6kuUBeH)w}MP)V2aJ?|W`18*Se3#JgLznQkEI98_&fM~MH$MolSi z?AS~}DzdCXEd)WqOObLsx$^op-Nu>vuGZIKd`qR=GpkY!%&C~l{k)YHasB)7;Dus( z_DDHlLkd!kY1bVtU7a;mcv`*+DcWx?KUf>P8|9_)xV_ZmAeviHWW=F_ot9TW`X5Vg z&A!=<4nk0uZQD++;>arYErf5r1O7GKEbqTm^rX?Te%X7?s&d|HsNGEL^e6TiDQECt zSi5*B_sLRIQ!mi1FlQ^~UV`QV38$J=?}5+tmilTLCPFEm&sN2>fmM1d59%n#)28~h z8wrzimknYb>U8}ISq^ni9Sp=b-Vr8aQRiOgpan+os_0&tp`P!n=*;Ugn~n~+yA#{O z<&T!?Z|x+UEuH7gV`}6oq`XKrH~rio2r$5Jg3_ikpdOYcSFvlM=YN+vPk9z_JEK3n zS??-uv+OcezVPuLa9^S z9f`56cy^$Hm+R_eTO|VI0Sq<1pUk%R@vb#M-O1R+Pi@4as|%uJVyIwdT0#cgP(CdR z9eJ2;ZN%-5DND|y_9iRZJmc~oCRGec4n8M(D+&rqa%6_Tlz5)Mr)Rh9&_QmCMBh=Y^ z0Fl*p*>v&-?bbeb9Lfjmb0oy>lU$VkvMGqreqC!gvS?PG^2AONYotlyoY&?Vz4a{@ z*&DAtt;mw9y3VP6RI;RB_4uO`5za0h3c$LJDLNvaptVF^GW7pk7{zYXmUV*Yy$cj} zn2iF$C3Nu%8n`Qsl~q!sYh#sFV9{6VTN*kz{_4y+@zf+GQL;K?>Uu$p)y zR(b?LNIkFS&N|`3sjyKx385nryzgWtF^CUfI?sJh8v$ML?yaslWClpCc`ynv?omv2 zq0j4g&il$RFXVr(oZ;z20rmq5`M>6)A5m+=v@o|9db$Jbq~?{S^HBE~-+JVtHUOq* zcAR-|B%-WweG0dnbxea;sN=c(*p>jfjJTCoPINQkM|eosPe{x6Ifi*_Jt_v4X7sm4 zYpdNV;BMxBnA5n0e6oI08|KVpJ(r%J{A2fPEuGwxlT(~&>_b*ROcYc2yf;4Z;&C6~ zr_ⅅ66{8$?;yz%;Sfe^hlNs^VXuH@m>JOEZ!_(3-bI=7@S=kqlx_zQXE)9#^3wa z>NbV6kASA&lN_emQC>HK%$gwtc;2wHM!2Xt(g0MArqSj}0_#@hpAy{}s=R|Yr+=9Q zI-1?4lH%2<@@@yyYyft|>5E!ez*s*@(fZ$WJ>!lfDm!c@&bHMkc)NbtVStzB(pGtX zi?4>QR?zr;?K}NHbI~q3cvUdS(2VVyo5X9FO{Wxa6Mn9@?-OQu%%Wv+MEgXB= z;$37s7U6w1ewXQNIwOLC6lymW!83AS#ok}-d;^_o_t)$G==-?mmjMf$N=rQ9gHE>7 zwRR7>;%A@9NQ;kSG9q|$y1gglqZgQOz5vwj-$bwI9E8S$8Nnf|-NbMM;TVmf+GBXL zAEt9oKgRbRD|!6RP+v}1dq4Xv!uQY3CwQbN1P5k`Y%Y($oG48pOZvxFZi_HdL0d`i zZ{^c!fXCZ5y}KC~b);I&J@U@?ZR8PuZP)t`+${fi5N&_^!E!FsG;-qDQ642(;1G0f zww&SGd9Y$7Lxanp5;wr+{KOajGW%1S6_ObECg__XV$#*~SYnZGsebUlE?x4-#-LW3t$2XYRJ4PwY zW)b=3$dW_S3ni+53kX9)#;lb8XQz!X{$oGtUz5TUnq=j0gl!ei6s!aBt(bLx?DNv} z1NZr)jeSnQlojG!c@SPsGa1HrPyL^RPB#m7uPgioB~p6-=ao!GDLNQZ}iG|kJnYnVCVms7^iP(Ixia^b)~`@)?L!;YWd{h$X1&4=Es zH3j8Yr399`1Aia9Xz;`(E|=pGxGznbc7+L7b%mmcrbeA}RJ8*YnNX|;Z3f$#tKtyQ zHa~!BSQfaKTt6yYAptDO_)?jVTt&ljm|xEs4@a0CcfSC)H~6+ae7%ks3Tez*%;1Z@ zXD4mOt;E%;0lNb)By(I3FSC{vZL?|b5Ci_+3>l#F?mzBuw0caOg@5AhWW1-;GC`p? zlt8Ue>*eb6|ISzR{ii)cg2yRAk>8u`?FkCqkOV!8&;?3MbsWzvolxIS65gEdOD?9| zv{D-A{g0S5(hk_=`Q2}zb+MwtVI>8A?d?SoB>Pd>ZDvqB(`?}GS_NBQIfWcVC;3Qj zblvsW2koR*w-S$y(|9le9`|RLmO1~YD#6On{*-$FSQ6);pfr{bxaOZ=Dz#5Nh3@R9 z{7#`2`SVX3mtL&P)k9|Q*p#pfVsc`1J=>t{LlWSBwVw=lY>W@2%&ocxNP^E4aj0rF z(L)x`;PlwuSi!ge|9PB;JZ{xHhU|93JFWChr@n}gB!0o3!+nNiDE&R3yTP#L3}XY< zOPXF=??dKYzUoX->A|6zab+2WCXLqOK}FREB{hPVHla@O;Yb! zs6YIzjk0YR>A3Yq;Hb$o186!iF{*YFO<8^m_lxeQAc$rRSNFpJjfHNhy}r*w+rYnh z+{u{4IcYUw=kr}t_?9h^w`|JkTnA`04`f!UhvZnpdXcy9B)l?q+>3B-!s~r$E!Hj} zlDrmj1-^vN-7ynXodxB`uX#}E(Tsj#XKZ;U=M(oN^bEvi-+9=yW4kp$Bj&f|(&!NI zq_XS_bqS{;tm?4=or4r8JgAbG>#lWN(rI5s;~8)HTo<}d`=8QduACd5y3g<`W!7ql z2r2Sv4c7N03H+Cq9r#={MaDX8EVjBE^6+*Px1<;pv+)cTp^Q_+4$*pfq4j1;WO2F%>_wu!7?ceGhWP>h z?#KTC+32m1-&Fht1TK&?9NGl&BZkCuKU6uE@JTRN7(g9YgQnPdin4{@0n@_s#Q%;S zzSNr8-+TrhhIZnSoJc(@!F(hvWX!mye(jqsFA&qb@6_)A07SP^fL;3L4Q^tC%SGPV z;M}Kc$!P-3c4Nc!;x85O(LNanY5{k1R;WL5wAiDiFBZ?ui7GeZ)s$sQrfd`N^+-Ig z@3YfDu%i~5i?P^L-ySQcz0VbI zt!#7vzd+uaTnP_wfVpsMrGJsnKas(BZbtTN=aH~>)#dl~NAUgB+IwT#e$0DRs*?mn;#gVH~O>pZmb&#D{ z(PiU>(z%s9Lz`Ur>Mmp9-ng}lS~CGYc!y~=|C4<|TkX=Y|IY-tCNpWE*NHl5 z=%re={&mc?&$T3(X&RD?=P`vSN3GfE>#`Ly;D|1TO@W6CLAfQHhXs$~#%+5Q`mG-S zxy*MbM{-YhD3Av@!B_pIU>^N@g07=FbHl-=Bz|}#v#RgYdZ~-$9}o=QuXmw9FKLYR zHdiWS+xX^A)%cRp8j^EZd-lfK?BQozXock+K6>tcdHb*VrDK%)OXw1}Md3cdb7fqU zi~Z~tTbbPb%E`Wu%){~iDa2uq>v}8uKSulJp4Y*(TDNVte7Xj}Ik4}aypCfZ;ALj9 zJg!y?{rQ9i9e;IWX7^v;msXwQ42F>qL|aCioK8JD$lk9=to)FFsl3?|`&mHCKIS$M zj3dc(x`+(zaxwQa8AG?&8-0@i8&8Ma+gmibZ@5SXc$_dE0el?)?$2lBJ7n^M4ZLeIW1giEpdR;oBwDCpxh=L2qa5%mX z4aXqJ7c&b6$(8qwJ`ZDmNROV_zDmBCjJbCEdH4sp@%#Pe}Gj$f9pm(Y~W3E{N>4i{ab89d6yq3+P^ARFvIc9gKXn= zO&4InXQ}tFPTsSXJu6YUU3--+!(@}^c;gZbAWTfp*|&zsHp@JE9eCvZJIJ})vJtG+ znwdZWL7rmX9Pi;-=A8dony>Pm-g>QNqmAVx8T8;9mY6=Xzq*wPv7TKZ%`~lETkGDj zxbVX5S>F`c8*xYkcFk`Jm|SI#X+jnBQ>#*XN(01M)9$-gJhu~jo(Jbt{4=V++lIq9 zX_^XzSL+iuEpe#JlP3rK4bZWpX&si?*4+crTl?;Va=n^X$qi_GUT(Te`?HcIQ^F*g z1U&=eUQ7=gx-c!miObKL#sW89jn<8pl9@ITVr@@pIv80>B;p7_i*p7F<=kvA?nPa$ zd0QfTKA6vRnYwrQyPw6XIOuelBv?kQPcL#BK%w@hr5CQax~C56t{}MNH}XY02QWxc&R}?MN`|maq)lb-2`=g|UuZ&V<}L<3$L%fC zdVj{W?4jBtfV^O23lL;XJ}EFAoawap;2rtu?^mlmn>$;}#!vyJHx7tRa?o!B6C&re zzCxzU*+3Aj*AgG|^{0g{o9Wz2-kL1%(c?Hjn?0l=U9|CKr3F7)KmSO? z@|gz=$yO!Ds{L={c@eo)&$8porsqu*zrKTH=K6dpdl;%z-q|_+XN>zzw!Pt=w#5n4 z*VDJd0XOTHd|n4W8hY7RBOzm&3$^n5j*gDZiLcXoQV!X8^11cL@Jw%D4R1R7W80+c z(ytdUtN`85ZcLq5XKYDN?aWW>haL%6DPk~blPl@Ds@Tz|F!5!D-1@SP0J*go!Zmd& z<<%W4$6x@P#*|KX@)2x$yiLVoy{%JlXMdR#baB?{vKq`}ft@;f*{|{I2*aDifAPj~ z_NLCxOeA&lPIfIue1js8H(>6k$(+Q}KGPQ4-t@@Bv8;XWR*%9tncrW!r_N;+kXhuP zltb}${(H7hST^8k2V~ z@}&wldJ_&k-PJA{`>)Uag=d`*>Ll)$Q?ZI%gHRnvO{6QB|AaPtZsLK$MfSFLLt_DU z-QexUYHXR*Mo*Ye%u@$x;SD%F`fBe#3g+su&i+CLOkylfy;hy;Q2gs6_g#to%gn$h zGE4s+CQuvC9P=N#7-CKTwb(5m%5e}G!vodSGT71v>b=q4J|kH4^7a7FNIU71OrA)3 zmi%KaQ}#Z}r+6$iZzXNB@0h{;0=vVgp6t;L3XjjkiDgPmG4}HdV0a*KsIU86i-1!{Q zg6%a493-smCqdXgP{-M#8s??j=ig?v$=CI>Ka*D@N%SQp1$qy0fi*bopO>6SDqf}@ z<6K76`KVqB_T;l6yZ0W}i$>BX-=;Cg8xXrHrSkUHW}pGsF6FmZGqKta`+%rtq?=ha zzDbhNY}o$QvOcp24ae+|n4Yw<9nn?AD{>m0=?1|Gw;TihMGRX+Ib z{QGp$RrD-`WBz^#h<&+n2GC!&;^=>7a`VWSORR#k5FX^6N|M`5e?5eod z_4Gfx_B*OArB15za4*vo`5W?=g%<^7MRy7rIZddGh~T^q{y>?~&WAnr4^nAR16gr3 zZdvp1lFJ9oxh0i>og_@ONAe}rB%zp5aUsT)6<)I5uRSKU91gFVH-5|Bc@EWsZ}Bqa z{OyOMn!dh1el}ARyj#tOYa)JaR!PXKG#jM z20-gR@U+A6xDrB)G^{<`S+NWO!pw@or94^KuJQSy=fSuT3Z|6yD*z6Ye* zENZ33(tD`qykSu}E-_8Z0X|1Yj+1!m}g=2*n4;VgEfb}sA zcSVOuZlqQ4d0q!k?`Ihj!J_>1N%vi=LubwT`ELfhm-NgD^{FD7O&qF&eQ1Ebh=6qY z)1I_kz`_ZbKE( z(918S^-5-k>%vLo=+Lzz9?^-k$uqmHKZi^_E+y?!<-bbzI;b$T+I>T+{2Vt&tK?=B z%IxPR16`&KH2;mooQPVV0mf86UE60MbQ9dA>eWFCcMKUs;c)iEJ3h}K)o*6t8wR=1 z8R4MQcWv+Q>a!t+0gGPrFUo~a$Gp-Z2byMt>?-R)7$H7)VPOdRM0u*#hG3amGzKky zB9_k<)4cwU3paa_1gfj3_F_=cW&+IyR|;8RB8EPI4ZRiN%Nb6N47} z{7Retl+JxkzcdGiFJIH6NuG}ED^4Bd*&;+-Cfc9G^P$kF8JgWqew>Kn5AYSZSQeiR z-(!;h;l`Z!@t;cQrxoonWd;5n0kiF6>)Ul zFCIrVu~)*|11!6{En>z7~O|A|t- zZ?N-}S%Q6>cxM}Xd^C}o9S>N^tUozhtR+joCU%cFN@WtUwQa%ZS2Vv`!}|I&mA3>l zIk`WMMKH3TlVu|sAfTVU`;e*L1;i(&ET3^J%{CvtO&Zi$h)kxR@a_V94;W5g=AyL z&FeUFP=NQ=dS5}xnUKd-=EbdX_S#><>~$)=?(`|W^;qYNcABl|vt%7LK&I7#3{G;# zA3~*#<18=xjt#B}yIR7TY`>cJ*QB<*IJafM_5GaziPCh&FB)(L_h)gdL$}%@<&C*O zquH}ze0*s`lEFYgt(=jZ({}w@XOZR#3zb@b?@mOyMM_*G29^i;t|t~vWCk81^S!Qs z!^yb}=;j9SHjzs^0g2c&IqJk5|@jp#KL9DYK-$5@Cc~Wc{-_Ch<4qUIS?nMHRj%5bzPwF zC?TZO2md_;tp#|@!D)1oUzv|^1ho7dY^Pee-AgZffK7SKK)N(IJ>qovF*S+1v@A9t zSH-!TdwE@_DG$_O&6_?Bu#bvZycz*KLAmZ42++aw>Ed}xcq8}kL%$ASr$vm$Nt9Py zP*S^tU5%KR#~qgCQp&p+ZAstMV#Na~*u!J=^&J6sT~AFlGW{JQz@_fs)a}r&hHah} zJE)Fzzo?V6zRf2o^cv{Qno9qI*`;!kg_U@2_200X?esr~gY`GHycXU{Iu$Ny+4`Jw zZBiXlC2mY|smm3~4XFgg)HHW*qaIh%ni}J>5~tsN=(!!3OY_MpeZ&3hRfutM<^6ma zzC#kaL7*+KOUW0?TaET;R&Cse`Hcv$JlmW$@kqHx3C=}_%ha8R!e>r{dVbBNRk|82 zNO(G9W`Rq#``+YU8mE%p^;eXE>mi?+$5pZdS&M$rbQ4nK(0&$p z6er+0aqmUmgKNthx42!X0G%6aY)_of1IB*vp!PD|*mB5zT?@FEp;L>Rdy{Ux7Y(W}l##;xuT z6V(Il{fwA|F({2(rQP(lMZme+K~Pi&%N0FNEvLFjR6ot^}YKWON^ZEdZj4+{SWylhw&rB zVS0VNE1EIvf3IBHHJ?oeqr!j=gM~#fG!GUd{p6|aYb|`3b`1K|x^A(xc~-@p#%(a@1DX!^aI4YuI%UAGoZ)f8ZgoHWNKAri=;f3%U(`X#wT*Z2K8W;gt7@ zSHdns48V8JHtkN>h0{1+QXxav)nNd7KHjR6q1{+Xyh)vxQFIPImo@Uat1oCDZ6G`8 z4o|Sr@Y;668mS~|`{zeIUDl`b*4X^Z(t<@U zA#?w3oB#H{nnIh_$Ubl|#VybTB{9S2^~7f;KKFHY@AaauR73FgfURVpy@z~mYv|Ny z*odvC>p76PiE*XvDQl`xL1&h{^Hfp+q-@myj;oEgL#d5%5|ZLo%CJrL*t(qbvgjgD z)4T(sgr{~od-7A3h=1l21IFUzv_F?y_%pYe-0V<8hlS>@KL*TzP+OHXr&Yw>4Nd;-#+K^rtWb2y*Jy8p6BK&so&0F0Jp99wk~UQtETuT z1NWz3gKX#}j!)DX23nr;Dx1yg$$>tH@EuduU33XG`^t&t3<=*rKTKC!%dtr zhTxquLCSl^HZ2+h-M4NG#;Aoo=hhnKkl$SBKb=zEgbR8fnYJNZ>`jRU(XfgRN#ZiC zB&*G~|BOkY?1(i5Vhf38N=?$OHnpQldcnyLN0{r@Um;9uyB!?JAeaN5>IrLg1Pa5L z+Ck$o>5~bTv&>=|%V@qrJ0y>YFYIN(J zH-1JqQ$k{x$&9}g10X`mPn2r%NDV{Cw)Z9!R3PJQ@hc481>qIZL>yu zi1Ro}`_tWW>Gx`ji4IGQ!g`bWLQUM{`ti$ao$&!~tH25!3m}kFF7IE1A1lgwM|SHF z5MysI+1qkhaqgIUX^Yp22+S2rueIM|*M3qn)|f_A`AohrMtYsS9m9!Xx7FmN@E1&n zQN1N_+2VyLGf6MLhwU%hq4V1WYj~mFi0Mb?(4{Q<$!t~N5f}~FD_`Mm+itP@Z!cW! z&!`}dav|+4<;AdQBLYvyeT>F=4Rc9Yi^Z?Vpd4YP@G&33hZ9`7<%{2?LKw4OhMbz& zdytNzE1@;NpU-tWPRDUuFJyO~jCq`JZK{Iwx~wb>A)9jXb2t~_57l`YoUBZSdG1?} zA*YltAgzuQ%3b$`^=0Xdg`hf+?#qZqjpj|SSdP%GtG3e}m-S|73-bUMGE+1FGyf`f z`L*wqX`M~Uo1{S^isksD&h@So&-*!9qj(Xeo~!OcS}<$dQL1M7n1lb*=GC}&hiEvu zJP44$p8(n>45#|JaoyV;RXWO>W8}Z#y<(wJ?mV-JUJDID>(lwpo?^ z5ajiLp3RYVLiW@2qNl0Cj(cMYBIQ~I9<@VrRe)amrw$zaLQ_6YJ)9)^O|HHpEs?o8 z=-hrMhQ|YuV_$arL=mF_q+5TjbTs)c?Hx7QGBw>RGu$?=em}{PW)-&xT#GruFkn0X zPg!667H80G3BiK9I|K>tFgOVk+=9Ei2X`kpNsz(aVQ?KJxVyW~V8LCN@9yrs&p!M9 z0sZz5-Bop}Pn}cl%fQ>=>-;RvbRb~7x3sECQ_7Gfd#f;+swVQ4Lw;v^=AeeRryi~~ z8M$;Vk^h@GdZ?b{?uQnqFyA3ELh6opq;7)T&_uPD5PyxR7`TsL$Y0)D!Sm%6ypZ*0 zvre)4x1%jsNzkU2BFm$1cs&kt43J;I985 zdBEJt^gO-h&$u6cBR`G09{#+|eeNKysxLz#07FU5nlnZ2W|K|@-zrjHuVf-)0@B3kX&Dobmh7BVFN5J}o zd!^@X3(SC>rJ8VTc@{l}O801walwnq^)Bz8(VXYo!+xJ3V$!%w&-Ku*hu7NGtoTj$ zouf_fXsq$nvlg3W3t!Vzrn|V`j-9JUHRe|(8!1YTuYJgvfedJ)y)uTxtp%Ouy>}FD zr@op_ZTlyHxBNBG`t|zmTuDzyaaJ2d$aem~O4@Qo0F9&x>Zdc;ZESWCT?-iHnv2BpL=66r{rmdGeptRbNA?Dq4N5N*8p;#IJ zyfa}2m(6*8syE?x8^xZ}(6-z0Q%P()@Ok{uNkL{p@2V=_z=k4@P5)(^QiN19j6LuL zVi8!!a9gIfDX63Szon}%BgNXN)&tsT+1*x0n?S7d zgt-~G8raI%H(VUOFbhk57#6kYnqu=Zkc4nF(Oyu`MxKjbJ`&$)J)b{W`A~s>Ck;ym z^!z&yrC21_ZZki9T&;c^G7yZ0zT`6vOU82OoAJsB4{Mw^<3;LwOa>1lp8AYx$B zp0p=!c59d>m#IY3;tFGr?;o}HyLe`I=WSe~!{OLdIveR_2DE-Iq-LVTJhOn~gcSc% zH_8W4|N8vauTiaWWW+h)m^ub2^&>@JkA4@Mt&1x6ee$bNo3UN zu%s%>v3WX76oKA;Uk>?a9ycV{;RhM(+xWrHJqS5%Hv9OhT=%3EDW28-g>502+Gcnj z43*q2Jm=LhlS`Mt$dx({J%d?8wdvWuJCHD z?f%nayZ^V_c`ZV>tf?Pf``5)7lBGFu%kVtv>S^*@obBoZDWf{vbZg z9^MfX+)pWX_aF~?>urxNk-2Vi0~racfP?YG7VuYOoIVE(9PC5S9+w<)bWLa%U8cKD zdsrN*WeCvx_Ex$AR}pf^(HH|96Tt5~s(7ok);g(-i+{j?uB$G7sy=0m%m zNS(rlMSgo21NIHtG6(h49{RmVv>!>{O+zH^ZRdGa*GlYp=d+; z5bvsEnp-oC()L?dT|u<|Ytd(+fdNLfSExZ!)ALzs7JpS?&Hmd>8P4KEeN|7qyGG^p zTiHHzEo|6#LBGpFg4p3D=KE_xUEHEw$TN79-L`$@(n*JALj6#(D_Uduy8*szs3Tp4 z79>BqL?R|0ujX4>HG8k(SAL8eA@n1>y8L8()&TY+Qv%*r>H3CIm}~Sv5O_3KtQ;bQ2MWeLn;pbxt#u zJ2dFOcK)U8V1od-Im7(Xy=Lo)9)LtnbTx#&@aeghsiIc|3*nG~@LVHi-l z+5wB@$e83pI^vwbfva2jbTTnJB$ikcRBqL`Lhse=dy{=SPc0*HFl&D97W53IhWj1a zR3E-4%YsoStD(2Twpw2&J&sG}#Im*{5BtjhmA5wkc`Cm%}(BAS%V zqCvsS2n}{5v$}}T8O~``6Y9FYVAibEpd=CUEF38*vLLWa>$ivI8bsO#rm;ujGnOgG zGIG^9QbGWuaVxcl*#~uIITvrK&<94rwvfdZPA4qJKIfuGs+@fYJsg6$cjX%Cr|BS5sJ@ zG130|`S024cke22jh#Ekze#qOH`{FY@y!zA^*fK|LIs=%L_RC<+D7oQyB9UcDgWlO zN~q>yO)||7$=nr4RrMvhx?PTdUYwH^nw=g8h}tbtC$Jn^oIV9cdx%`#zK2-BZ?5h0 z%mUFfD_E=7U)1Sq!D1EFcB7L8HO^b$Km>gr*+-9jm8FzG28*3wsxciV|E3~V2b-Gd69C~_3-PW`=`%(hjO}8@ckO&JPMtC8mA zTU{6!5MmzLdQfh;mOrKDP_AmcT3}~O{JBp0``@{>Bk-d_Al*E_ZP{ocej$sz=O;xS zH4@r>E>x?!2;lFeM&qma8(LXpc2ENx?-=0>pINvP?TTe-f$WMUapswE$_0RjS!eKj zjDe1-FrCOZxTAz0Ji32Y-`!`fH^3EoT+Q*8G)u@vvx^-_;KI^d?moEa8qqk zyA=5t-RhEMOE8q*tWnD^dYX&@U)cvS+>J+H=c^*mz4E2l%1;tHolCq4s`Gj4+Cp6W zzZf=sWvRm2gl`KY56{d-Iiu>A`vW{~e_#|Aam6^;m{p!YYrBz@*X z;1fnD2WHPt9V_RLjVegS6m_z0D(n##a$hWU`9)dkt<0n}HT>rW$m_i-%Ju2<8&4A( zGvkQC5GPV_bwj#QIWt*x?_~+@lioF2E=2ZrHM@6B-Yrq40OGk#pHE>Br z8eG(g5~X&YP_kTS3@aA|rBBd2%k0QCEmXaj)`T=#jR!%aurxIcS2q5uk9I?C)j{Oe zVCQ}wbJ}sLNG|9Mog+M#eq0S{RdoVk9gdrE&R+MkdYbyGoFd-d-@!-iq0q^$4-^y| zNe|L}F?FU4iq&}wroI+U{;igX|1`$xLIh#dXL}#g7V+zG%pewRTEq28S3fHXNm^Z& z%N?>LGGGaRFAI13xpw>IXEyZ-&86KDr}6OMk~^2#7;1OD5r>^9Lr!d4>GyXb>DDHM z7TxhX8^`VOWfnvG#7T=#p~dl!yV3P8A2yY2wsl;?*c-83>qr^+f@u3s*k~P~W})>_ z&#J=Qk!u$eEQx8dCzKrg9fa(8f7{Y*Q0$e~w+3p(s0X;6X+$6q5oBus%Sw7nd@C}( zouZ%U(v5Tjq&n&N0r<;A7CV*!c?6ndImkLEqr}w0+!H1a$M)Y$ty~=+6;6w~t9j1P z!Kt;y6}9U<$vV`(0+LZTv4K{8^z+1*Ke%@nw-eMW?Gynj`XE-tavyP8po_NtA<+p#_q?&5ZT8UPWv6nYcSFG3L(%x z$*qTZ^qIq1uOpL^w5{vZ31GzH;#p%j;Zx)JZL%X}%t`+}64z>P)>vuFN5P9{%~3{f z_T{;%eDA`?EA@dP0Z37`!+hK2dUx6D^I@gd)_y0+>9_ibtNvL%lrhxn?PtCZ!mf~- z4_&P%oCm}$TG@+MrLe`Wvqx#m$b2W$?Si#|sNCTLS%55U<~nJgi4SL+!3-vrZY{bo z*8df^<^T5q-gp0u-7hI*XcFoE3%hVc$Kb1{*S{~vMDYPQXh92%;D8V2c&f6iQIkFM zh@fB8f&xO~c-jNg+E_Bko_`w+mQi#NW&|V5N@2^GYLyKdqjpA+@pqFcsT(C^CrDfA zrN-@M*m*+2I3KNHhDVQxJ{8DJnUS3#`^z(?N~1++X8OB~6t{&SR`Q3o1bp!WP~a}K z$0jrBj529I3F@1CRkWv-rZ}^}wwia9i5+HLT+_9OJ1W~Uq*%Pb;yeQI=`7YrLlrw9 zDo6<_a4xeXyPU{pf3WV~1>iE_+7({pct|+n>fRo$!OJVavB z58QX%M6-vRHihHv`2aDP!034Ma%Mf&8gJpH;*YzXDNjxOMfMmuP0s$2pg=Y~WfU%}@vgYC-2onx+=RU93>oBz!!O!TVIF55!~G7AbJS|S{? zOfoa(g{Xot)wgSA=Ak$^$xMjZrXvou8ig*(N8;T;Vbr5<)cHcOClJKSZ`F{RNZ8q( zD5pMA#SSDMDshx^Zd9w3N0<;OHHqTxF=>mITkJi^e05GNNUxw8^)&H5Vg+uXgf!~c z06A$u`mQ=r9i_?f(x}9nl{a}_gK;E=2P@vzY^=;<+d7vk@)Ab^xt-CROdk(RPWD+? zE#N#qOv6eyQC=E}^a-(2GYL+!{P;DxV5n*?@n58E^5WoJw_zNjyczto?RhWaM%K~d z_G2%LbKG$*=5)}hkTt3yuvWQSZkgNpQ~Mn7=@aOQc%aLMoi3HXVJ%o>kBf~pfBC;- z>wB18ERqbHPkyG>+to}FM%1d(*O5^_BvGFY!qLm7^|4~c3w9r>)MtQmuOM?zBUv2nzL zdw%YjKV-xf({;Zf^CpI8zv~?9im$tc=El5Hv^?sH&7Tp^DSA}N>WN?n9T+vaME^b) z3VxA|3U@lsP))|2#(*UF=paG6xz*7d(7bJU2Fa;XtN)69HIQzw>RHv+!)w6j?v73z zHaG=XAN;2Og;e1N=S8|mP#JD1Vxl``<_9m`0&57eQ0x=bJs~-njK#kxbn=G6wpas7 zzu7|APrD+B@6||*B3FDhtAAP>O%Pbyo>Y@@xJ$k+nF&d#6On(S$iTUd0>eL{V;*2< z4o9^l+0j5G>Z$CE!=jjUx|=b~BfYNCe}Ee_x;xU_B8*w@PqsMeG-)PBBK$vigljj# z?%TkfG^^RE1dO^CC8^tqgrbMnwkXg zCYqr>ed(<2+WxDTqTKwrb`f--j_y4{qVDTPwR&6gdyOXjKN)~6UMZL^73ou$INi`r%Zmh z8G^*}b-=~2dmwY3Ba++UG=h0zU4y1?3v^Lz%tI;L+(`PkIu#}uh@*=ozObTwV^R`4 zqh!J%{;u}zi`@(!&Yp+0WOZaVM5qW*j+tTwbi%$g3(Ig4K>hIg7|hrG8#-DZX)L)K zWkb&ouDO-hIG~Tn>cMND0QoxOt;ioG5IOtz8Br}mV{36-DmOdKC6H-)+^__^*F2)k zPrk|>q-*-%I28AJ8nEW`+3hJa5o?7!s$_Bvmbg84rhHVP{RY=K+9t@9!kb7PA3@Jv z2+t~nb;gRcy0yl)mE=b&sKFUIJm=L+CXWF$CY#geRW&gh#QeC*VTkn+GS6$;Oq>8u z5B!jl9I-sYX!#ZSQ{*~Bc>-h|M%@K6g?a9t4ydh(Bz+%*D<+b-Au9U-o`p%BaK3gS z_a7!LjSVemJNj%2q_y1^PO@KT8_bsCI1 z>YGR6S3oE+oNZ=nVVK~ccaAt)uoX%G9| zD8{f1#;4D&5~Xb2qc?MMllL?8p-RQshJcm*^*OV0HaDN(-P?xhSM-OGT;-o~ai#1_ zV|>S?)9omlXew77Z}Q)&yDdT9G*47THZrW$3gfc0qu9p z+lD9{<*dyFo`6U00x3*=gXhLEC$?i@OIp~j!nxJo8W?VRfYJ zwqT7oy9ai$!%FAT@E9}XiU=%K5#pQf$-r(=_f zpqY6SQlOo7HnhTz-v3KYRq`~Ac9fFyd-oi-c-P1`5AS$mbI16#5ot_2FAo8tW3t=9 zwEmCn1ok%Q^WsggEwlqvzGk-CLOF*dOL<9;M6{m6!L=jS`n}O;=j6ouA&kbcNHYC0 zF%O_&<`BoA59WW4o#4rTpm&V9rdFN;p6=_WJgzeZo>bgcdK|?ue6fe7B{3&U0q-IC zhc{66Xw+xw-Nl4W(LKBvRFA%yz5Rrk+bUdwXB-w=Fk7!COu;POt8OWl-VUrT z<22TX9Y?LQxW>2s=`0C<{R_$8D3VEJh#?}%9o>II$e^a=;*mNXB1(@7a1;OL*T?htylVv5U;63;n*0~YXR(Uz*6F|G8Sut3d;vb5zy$f<7KlN4Hhs_T zkLz;`@26}P)YmJIjy*vtP1U3wCIkGAI>NhFe!c$}tF2tdsL`wv&N68uxWXoJ4zKZ6 z*qxB+wi6kdqJfk|UG6WgBHM_ZP6N4k1)d=`h2FP;%2)tE3Y4qfB@zSKH zOtIQzc2XY1W$3=U(4Dx{=6F4Fc1lJ{DsnWU4vAeqpQQWM;J$v4q@_w;y*U!qzX39Q z`zh44?ycI50oCscP%BI2ugv83xGe(xaP0KGKA6npv9jOS$|;#=U?novNCh1DQ_bvlCez2LhApOYf7L?{m=fx*ucqjFEjIwIxXji;XW+0}1 z$EoA45s2!oqOw2z)g!0QKswFCFkW*WyBLQw$RG-F=eXhA6o0Feh_ea<%QL6fC(G;> zXlDLhY!|4xjo~$1>Qx?CE;c=OjPpIVb&==_W65DyY@zX3par8@3Yj1uHdGP}92^>| z{mD)fl159TbaJJS6%U@IJuJ6M(^xi-|FBY??(NCZM40w>ER7*1oB|SSWWL(z7)J(B zqTMgbVU;X!TWd(kmdK{rHK}xB(sIsyItV@sUoJ_Pt9VkaMxayrQckwE$nRA|GAEm~ ze`3PoEEAJW9$hbpOdlzbAFfHYyWk~(Mf~|XWehzS^24(_Qjn1qzVs@%neBy zwG1y6lM}p!IhpFBi=;)NCdmyO$rCFgk4{|Dg=@F}-f?gJMyb!F^^~}Uhdu4%20xy& zJOY}!H@>to>2ltQvXpdE@OtDSO)6pHD>$$C5Y|RIg(E?TCU8swl<-lHWgvqe;x&v< zknkr|lZ`3!&k?%uys%N!KeFX3WY46u|JH}u|9Pz${&mUaDVVOs<`uH-_&}L9$a|k z@gD4V64}`a%)Hl1Q2p<^?V+DBDTJ4Rh7K_;sg&ygCi!m~JEo7)wPw51)7q; zz~SP;Y3a2$m8+=k&G|s+b$2&|-+tvksdEfd^h?J!dM#p@TD6lna_nZMKl#mea%3ug znvnSI9@lRaYQ3X|UCk~}ac17#QX>sz#nbUR!t8(>Fn)|{djX_|>h zlgy_#AFLVyXLh5JF`QZ6OE$jQzIk6PU?j|wSuC%9d=LDzlJ6N%*8-YBg=F7N?a5o@ zQ2I^0kGEXLoB=*+(-WA6VN0-UjkSH@;VqALea@xgr>I|~;z!_$uMrW_dAk@%n7=e% z*W4*{eIcXSXSD=Dcq^!)z>kGq(%p$HxhD-u{lXe)%#`)^+zX{g&~`*m?nv(=YKl#` zk+e|6Pvv{AmWC~6MgiX1jaHrUj(jek-!U{JHZ2lS>bT}7tz)~G>H>NKo+BPAZIpa= z#n9!GVD3L=olZk8A%HSgXEyA^KH;HQIxm}~-~h9xwuLwOfGUJeOAMeqm-r)qo;sw$J}GpbN83%Qxf;4OI2 zHIU4Q&GgWYw@ChGs0PB+Zv}O^#$~caJpi^`ZaGD%%>-n^Lk9{&7%eGWzC2O6u1QpT zn3L)q&{@tO3r-AnAxOoG7NWamJt4y3-_dZ$V_9u|J*6`5l;9zu-9hh@yOZL=!a%Pl z@^rCbJOBOhz5r3Xhxi>=mW1G|lB_JXr26K1{X%O{XSsxs3c>9w#gq*oc-qK~!yi)4 zxebv3!-Sb4W&)_LxgVu(6E#_uVYEb5Rn?wL-bbr%c8Pj4Dt)p9LMK)CdG0m!HykJ-VPJ8 zm5(jYym00wvZrbTlz=d&;QPuv`pwT?m-ARL-^W;TGc&uhCEm9+9g|g_&$jc5y$QYU z`PHbNXdNpz^Zo_#ARpeNsl%*u#f!yHnG}&OhlSht1U{kF#&Gpbgw^7#ir-zrl>``2 z;tHF7;Ar{B_c~oQ+&iRBAj6H)%7;>(7WDwkk-sCIUO5j|=T|(~;?3~PjYM$w;{UKF zy75l6B^vk=&ZnmMU2A~n18KqZSww)mdaZ2HucNUr7HWdyBHG0gc|Kartf`L?f|5Lf z$Z<}(%We$Myy3^{<2HSxE@+J?yl3IrvOP(&2Pqqxzq#zvzwOWaoW(>gJ$(NY(*2-C94k1<3_-R+LgGMF+PZ$=j5) zbO|Hh|3W!0U*7pI1V2eiH3sK^pG2ssNV>fRvo|(=7_kS+cEj;h+K`^ivm;_HHS+qY z%+eZVF+r_N83}@|OB<(4C=9m<$QKNI`gKQ7nJgzln~hL5R`AUy)>g`mA;hqV*8eN5 z{N@jJ8?#7zA$+HIxiCWMF4AGp5FE4D!nylatI9;KF|{#1c|bK?GA6aqr-Z)ARA>LX z%&4x&rYQijSDLnTVh+n+zM-cix=%^h+zB6VGzwVv=7(1bw0*K6PVbMQuhH3_d&kyn zeN%7tlVx*2FtGvfNO~8iL@n^BdB(MGW!SP!&i0$3qOf;T|A5B%R8A?YVL2^_TJvpFwE7fP~ZX`*r+czfl)Hx>xUrJ6GZJs(J z`{!0xaJ4w^q2!MHVZ8meG3J5Ra?^5*T-CvdmnF(ZhM#XpKntoF?8_`%#c9zFgSX-D z1jRlQ{QrH|YPDTwumdTuDGCG-Rfr5Q1foz9apIu}{SuhWmbz!U7R8EzSDimabnZ2p zoLuiRFoBx2G113ek9(nF_sUM9Ve`z?q)3D0v+dk9NnRQ#b}Xn%h)g*q5k&nJC^~e< z=U+4-sL0F$LT(cct72UyT$!EFc&E+R>H;OA+~!MQBx|-GBwP-PnY@&#*`Dp+^LVL= zDfS9R#a`|Ttgn3gzRd0WHV9|*A5Q8#2QtW|mHE{DFSg8k_8a1VzB)qkPyq#;1>5mW ziaH2fe&tVj@ zV@PW|xey;d8gv(g$(Pxwbc-7)FDI zD2TKsi~y#qK_Bzc z_pqckQtv)qcA8^dDe(n?l`%`rG3-?lS`X2^aFCMjA7H&AEi#3c#AyT75C#8`G-8WO z)m_K!ygXvbZTXm*`(tc0{w&io7K3)fTFhI;V!=fC7)hcWSq2#usm`_vOH6rEFLJ|K zsLxJqPIb#eUWoOY9Yz!M0Fe*NLv4rz0yGyyiV5{;t@Y?{nXtv#u+ka9ktd}7-zkE! zg3($|Kn3xTipjON^^)EapxfxdrB+VsnXfWFr6rl~<#S$+OgCUat{3_q^51nEtj1n< zW=A70p6|qHHLoJ&?97lz(I}?UX$>_a_fOmTSbhYOb*h@}q!zo* zHN%l|*GvE1b0zK0e>Y@CyUuppjyvwu`=>1je9ta-4tk+wWuMPFh7UmfoOf;a1rssc zB|X6H1O1D*@tA_e?M&y+iLJ+NE&9;oStwXQ%qi2U=gx23*J7{LPMl;Bn`0Hy^RneqE zX(_#u7OtrxX6@)y3TFTyD~tR7yNv8fQ94n27V<#b%nshm?wD_RGG_R}uDnZeTJ2T_ zM@~K;=aVq8{TL<`qA~SgU8EzRRBM3ngmzOnIY%m}znt;te`u&al>=A~T9{G;v`x{N zDbCNZtR+o&o>zQsLIE(Ho|5Yt%(^%Kakxx!yS~@7~G1DXops`<-Xj zmyEG=;fgz=agqk&(fW)5{!~#UQnnYjnsfblzx^r0Iz1#0yCI|L7V8W96I|C?_@m%h zd#c%+l}l~ATHH)jp7=e?^;ePSU6LU6p)J1o@_JEolpA4Fc}NBUlmX=cHG0XfLb=^< zvc(NmuW-dcue!J9*5r*JbJF%0s>p^T9$r4_11*`yH)l%1-G+2|?qON2)X359gV(<0 zK({a-Y%tvF{R9teQ>It(UQ)pR8N>(fEKeHg&r-=b&r%Lr{{zW3*|6N60xQaAq^km+Ejh<-sX-phNn$FQlwZ{syuey`L7cHj2-$U$DXmS7Hmb029qvw?&P1~vQ+xl|#Jg1p z$@zDpk}=>Wb-9)V8!;S!`(7)NZb(8CZC^1i*tTj6fkbGsE!ni0=NJ%*VNEzi#OaF< z5%O)7Cio3b^6rOCKre`3bx!hEFRIHM7+h8q5F>ELl6b4zJO9~e{D;jhDkPuvXe9+r z>0&ZXc7o^9I8T#V@8iJFuPO9n{8dytdS(z-C)?@c%ABc#A~ht!Y@;ns0a{dVB`qr} z8qlAo$epArFXXZ4LW#1)kWTn!gzTOoCEI&Ze%>ZKj9A-Dqt3j9C^TbK?431~G;9js zu`r4=Z;ha(C2g}BYQ~g=eO(AxXDy|2;_6tvx!?OpF^)Ey*K}C6eJ*5hh^lV&R_euW z9+aK*`2r1KeWwei->WW2BgiiClkqye`mH(vJ+b2%S<7#8zaT@(QZmhQr4XWfo#Ka3 zU1c{m$oJ0jg~l3T5EYSpxAE@FKy&iie77cJ(h9tr-Rk8%t~?$YZTx?!ABL$o%hF@m zAaa*+6oLHX*==0=0n-4yfh*&zBVI|L4-~z2)_)N{%6y*2?sifjf1-v@TEMly16NXT z#X7*_jfae+OJ^x*2RfgyZWjk-CRZ5t7#C`OM>_lJ51xyD>MqDJ$5!&gWoQ+6sk%hdz3A^V5Nit$WW{cZbrJR_V^) zIByHd(H{n;?evql7xV^+(zVRUMp0gab^Lg?%*}J=q^0eQ^}QTjGmDof?kENoL;YPN zjEFr)m-FL}CWSJW1)0XaF>M9LmSW?W^_jL71*H&oe_<&%_|l2nyZPP)?i0a{9)GW^ zT$RknPSCuKI3R66bnw_)Lm*m&JIvPO(YwC!=y9(ojP(!3A@a>gQQf~O0vYu;N|wmrtztWOg!Zm;`0%P!Cj>ZsZjIg!X(yr25<2og5m96T`(ws$+4hb?tW8@ z8hw_?WC;LLay6tf0!`4Lh)+`4?bLpZzR0`}fI)a8_ZRiXCOzMSeoyEy#+qJ;Go(8S zA${OvYZ^8S>6%-ZEq6C>`;meLjJeP2jz<8k3|CmlZUichqf#r$dW5&bmNs|$G~|*U zVq!&B8-uk?@EQT6t&Morjh4Cd<)pwz*1h%VQXFGrL!R3^XN+5mUspRX_d~Cm*@XM{ zRXK-522JJFS(Ozc(ny9e7vEG|#lz2B*+!$B*}Q6Oebh&`f#DAgUQSp$ovMJA!wS_< z+!uVaJ#>H5x#(f>q9uv!AE?Cru2I)c*yI1*=YD?_0<+QWBnz6q?J1O@V^A`mZwraq z2_cV!j8%!g$ZHcqYA#1zM39&R0ut!iQ1b*zcaXt6<;sXU<=)}&EeQG6ncg3l+~cpt zW=6!F5p>6`8CvKsaPX-AysJ|(ES1oNQTg$OSX&x8D;gs2dnvVW%^BsTP%~A-rdAAB zeIJV1u~){>_6ga7bQkqj3X?eFjV)IhuaTcu3(&^nlO-*4v|gvdR_BFJo0H)kEtL48 z+_2Z8vo69){?;;xOXmcsCme{bu`(5g40L`?h0~|k>(vD@CL#O;rx=)vQ_SZD??WD*Se5m9tpK0|1 zYR_Jmm9N+uJ4<5X9>!J( zQr*Hd7?%s$#`VeeT14cJ6@=HQ*meU|Kvg7d5-RwpZh)~J@53@;!zXmhLHbx&H-3Js zZ}ITCs?H$~+X_~8NDc;l zc;vZrBp%IN2Z89(U1?dUIteI5z_BxU5#8?rH%$S&2!INK0!-_ynb$NseWZuVX9cmK zHd`ZUHdb!VNHn#~;DI6i0a{TbjB6>C(8MfZID}=g?|kTEK6QzgHu)7VSPkgX{K3O=1uFS-TpoNhQYasCe{oN8@r|UM6g5#oa=y{00Se)>c{UXJG~2i9Sy2$j(xcC&rmGAkgdTV{uJ%b zowZSY;=TZzTtOT00sy3L{qG?rYuF;t`la_&jA>a)15EZet~Gn3|ERp)qC{9_sjvrMJB zGD&v{&>Kw?K20C!X^0vyY;TWFA-xD8^o@|lt7qn}o!8bZYJ%HR69}X(z{x5|DzJfP zz7#Nu_4*4KZlg$ z**YI`MS&p<7&p&df}n&D``zNCpM!9ZhNs!cIK{yxHeUSViyP?LWiT{Y_rMRYeOjmNiD2vqa!x0&l)fO;MR*F0H zcCSW#Fu(}-qDs2`Ifu6{q&C&83cuh{L-aAfi*(5uxUMo$vYFC)P&mnZGS9J?!W(k* z`VKq>&$FU0rl)2IrtSZS>R~f_tVUBo)`x*wZk|;sa0nXd27)1>jqXM#|6Y^uHJxTc zyu8J6@trw&Go45UP`FDQDuYz*>i0&Lbp1F7xUSOSs%0xE=SD_g@OR&F3dzDn1lm11 zu_XO%e}k@$7Pa9Jvnq219jZORGX4u$^UM-yh!s})s7o%^V6+`bjT5hh7E3Yqn>aBc zD4hKx3-dcc<2dQ!J3F%z+)yH91GP$h?yZ&S;m=sec>U4A2c<*2I7^DoNoM;r?HX^T zMuh7S4ofW=9$sdIi1e=@*GjvV_U0ByMb7Zr=cs5Yh{eP`a0wZd<|Z-gZWLiEsenz~ zIDaxkt((Jwi;rJfPK!ISIB5bO?jl2sx*)s%Q9>*4@;mOJKuYy8G++r>d1C#&%g_Kr z!AKJvTDevvWutQuno{Lt{q%rnH0!qEU@%THJN313tdlEQ(N-MtIEM>6c%u(>Ca;r4 zV#MaG4_*JY1Ap-wZ&{h%V{~H-Wn^L`Ju24?)9kn}nury`Xj5i2yj)kFW0cMBfiF$2x*G9b#b77O%E7fw&Vzl9qIG7i0pdG>(jA#fEsoO#X)L%JDQ#3)Pk}Wie+R zT-!etkN(*fZ=5`)B;mnI~lsnaIo?h=3}rJCH~M+;JN_t#bDl!%DQA?-p_! ztKFD-`lNu7lMprIeg0;F$2Vq5M{6OW7X*&`lC=Uyl`Hl##K>;E5%s)p%!<+Q4R{r) z`T!oax*he|dm-4`;wqPU9Un?c4kFdJvivi1026I=gcc+dqRVMV_PDu&5n8dhnIF#M zY*(I)NI7%>sumL(u_iV!h`e)(qZ$YQhU0{+8ImY2`7HOx!%hi*t|1T!;|KTNp65L$^1afnp zZq;A+uXEqJ_Cr^7b=O*Zt-U%zT~!|IJ=yzLuU=s(D#&QQdi6Hw)hiUAcd!3dEcVSE zU%mSFN>N5q+dJ#zIp*F*$7e5M^JzD$G%qr(0QMnB;RAs(24RTI%t!D%p|C@$#6YvQ z0`J2FYho>Nwprrg3rfi%tFIJC(jcJvj4tU@#7v9DeI=cPh47H#35kZb%r@p5S#%oh zPj4b0bLvfP#GcxwmKTLe-y4dMmMmr&k8P)2XYFToo(G)!onN0!bv6C%m-yox3wJRV zx)b6TjC7}Q@XUth2-HqhMYOt=5H5~6iw|wImP{F2uAKPtY%tziWUyu@=-P9XL)X}D zmIW+C6xq(AubFNa__N*N4Giwf&62(xDuB*<6@~0(2i5Fa2jcdHM&l#k>Xv`n;{yN8 z4Z8rIpNk40yPoZ3=s7`p2mJZz?sF^t++89$SE6sNitQ6WpGDKY)Jex2i#aqaiHm=K zBb{Mzqm7|$rywRVn`DP>V56Nu;m+c5NkCOOX6>#7;!0k0JzKJ5P`Zm0EmgH&9ji78f?V}~B zoTG(AEZdfvtI&mfELBdfF3LkpI#O4P(&5robnaV*wTg+dq$*0wz$LcQ4gHBs@!I6q zfyKkg*?f|T#DRHk}`kBPF;+rp@fjlHh_E72IJVS zl}@PE_yD-M)gGW4Q){dWuU$sP7wd{ziDqvH&Hpe?1wCewThhsMO%m|r6Bv)fdCJ;H z@s&4Z62n*Mh9_HeEg1Xxgy=0DxKhx${A}Y{xD;J$OP10T>vb*gZ2ibHcCe!Lufj5d z-~%>_LoHc_z-qVF7_`P*WB!>pX#u>eSK-p|d^Ahd$)!`RL3jRUL#NR#fYK;%0v%E3 zux~+6U+a6K0ufa9Qm) zw@yulWOW`|I%f55GW@Xjj~o?dVT$wsaxgUec)#D37}&}74N7Hags`4*FpMp<7~&V& zXwVAE5gXlHsLhih3SO8LS9?IYnvfc}uboiel#7^asM9CLBNU-gXH2FCcrtyrWuF0eq2{5ylwa?tb=BCr))gJCTS~l@ay5C9Ut33W3E8?(ZA2yZ zCAPShMQxD}8crjEWH_+z<*^C^HRJ_xR>|69#F)^I{av72^oqx*REb*rM~=S9$%Eip z=MtX$391AmOXX3?p}Gyy1j(%5`C|)(2pq9R&X^nCy9Hp4mVMuwe#2D+uca;MzdfYef6D6Xz>C>SenHTcH@_&Cb(NzLz%=DBpY7SMeZ`QfDL`>QT^my&I~twZpj_ld@d zUJXhbXtvqH{>vrSS6WsY?w{dxg=aSjza52w)qdF>{V1Nlcwiq|5b{3v%))I%YqoUk z{f)#jX=Wqtb5Auxqt>mKTV*pDp84_&+wmXy#m{Ls6$RlWVwUUm(!dC(J7N@Cad={W zF#w8f@|2oY#xV(2cm}7m45_?d_Ps5z`2M-q!P1!Eyr{t@nJhryDk2NCY&BjwW$?4sgT9s_<=V_$)@{Mfqcf5tA zhfHJ^rc3z^Hocj~2fj6wJ^?B0jo;!!LqZMm9aA4OdaqXA?jAIW*95TdM_NYR(el3h z0&zAZU$I`9M_13c>@E#X3sVCw4AWKuBSB$x$1`Y24Kc?l#fd-rPk1iyv-W4!n|^HE z2^yev%PPyaFKEb=LnwZc`%}@rr9{s|D%%fYIk6WL6zl1HWfzj?o%5n@W4c1G*b=Sk zz5RFjlrjO0H|Ynr7v(Fk23>FQD)VXuCZLFn6Y=UNe()O>hd0|;4&5MA0v~l^#UR2s zT-vHQA;E1Qf;6L=8CphQ{caAKjzxU_@ONqpUevGKsi8RuV(<6)`YZ?Zuh7n=23EU@ zN#1Vu@Li}S%MO$8GWEBA@wsL$RW+-fWxp``{p}GwCRwn~K{+Q2{nOK@f&#)hK_a2= zVm@mH0n}ARE?p~0a_=OAh$%^3H#01GRUIZ0@PfQ4ztZfJH1{V0w@Fg$02{Gx z7pyYgI}|QXc)wf(2L4`El?GOb4K}&AfL5Kb)a0EC5_F|#b7*0A`NfR08GR(=%ks9N zp1?;zeX6_f5tk4Yi=d&;r{_&Xa%(>|;z>`ke>n9P@;WMjnsaL4UV%x-y5!U<&pZlj zr?l&Y)#*%P4rby@a;}YaUa)yc@FmH{>qy$*TmpWMpspKGoZKfT^humwb3 z<7cL6_89UeCcBvBN?A6Ffyw8o!<5uCL_7ZQ@5irxf+f2MTCg@Ra~A{?AEx79QhTzC zjd6CZFNo8aN2sW7HjZV+G!1A%!ue}BbNXm~8VOxBS%o@no(P)aY=V6C9cT$+xF#2y zJFe8keslzoNI20pwVY;B|53>`{PW>7!%(avS>F8sznx+wzjRt;dNm}qvtul;TbhL` z@a^i|%Eb`mZ{}Y~0Ou)_Eh1yV{c7Hkf6AR`p`nBiZl?kP&Sm@`%V#}k&eF3HZf(i> z%dj)=?dMfX_B1lBf3(BJt12T5X_jvm!yl_@tG-cj7qC{}RXcVjsRT=bX6v zdvJ(5Rkv%n`c_Fs6%kM%S>-%+c{iJK9L(`o!;uuhm2$o8Byn&d`5@KQG9T@O(Un}W zY%*8Nhu~@mY|zn*)ja#4@RkuoEx4WJkrXx~@mR##?M7NcwCTyOpRvqIe9jA8ChV>&`>cvdOu}WBC zktye%#T~2HDqBu)(xp;^1lhZD?AkBV>sB-o2^JS&0 z_(z=G=oO{-sqCw@?3o-=qHC8s<3=Iy8*A2FIm2o|m3~XP5N~m`kCvM?lT*IYAuyTj ztJC?<3xcJ3{n=LEfDlxF61M14c_XG@+^u8P5)Txp0$w);Vo_?0Rh6fPFv<&WVb{RLD|Q&u{>Ye4k?6URA38Pg z{boBe8wnFc15?)2d@oJdy;W$EeU2qN@Cr{^jc`@cj>` z<-khodCSi^6d8dwUw5eWV8joB{=#R}KWle$QfUZXLj}tp8g4UF*R%~Sec6Vv*@uIRd*n=tB zfZbt}QM6w_ZuWSgtb}S)|LmTD=-2VQOjZR(w#9cyWq z7dn@>;$(gf5=|V+8uNrKpK@&L+)7%wZXn^zNTtujIpXD7lS0Vqd`+3Fw>QLSojA*M z@wRAJJzrj+r=k|lF>k@}Fn_93;e(NU6Q~l^&*txsd^-kD7V=ce8rZj0ozZZj@Z#9< zk~?nI$J%NFu-D4A_l?m3*39|5cT}l9I9L!LB>L@-zG!p9^e2Y-rLxT}knTTzNIFmw z;}{+)bAVNMl?vIe>K@nXB>a$pGiXABaDGmbB{`%cT^INXhu)=vvWP}t5&k5FDyO?l z*dX2>tq(#>C9(p|@H->k$Z3CmWM2fNcYYx)Ex!lZ{2Q8SiOnOA&zEt;DgWJl{}Y6HSo=4Tv< zr?%Vu3c~Mk!G^rTAmI%K75KdjpZFneJWF()dMW$3++LO&)n5|C*8&%e zeIA$jVvRS{w9hg8Rk$0vBDDV$$|Hp8>&jqh!q}N~OgzcxDj8|euLQ$%S*Kq)?}VHn z)VAdtD7S~gHg4Co)MwPjF-I-raX0gh;YU?NTute6i8dQ^^pQ#7Hs;I3J>rZ{?ppGW zD-bt(d$6gE9dDm}ApT-4*6rkHC&#^nf%x@G!y5vE3Q8X)zZUwhKbutp$1E}O+(iq_ zswbl^b=jUsUx}T^!jsj`$%-~Iu$=T;> z==iyj+Z5ssykGjXy|m!DKO$Xe5WW0|J96>~HP%d6s&IoX-N(OYNxHCVzGcGc?HUJU zjQPQ?j@VL{%vWWT0nU5#f0D@mOD*T@Vzv7PS4r-_{3U5vG**cMiCEn}`Agz^efc5z zCODTb&?;$+BA&!haO+B7GOB#Q1t${v`?xE9vIOcjyu}=q?JpMOr79S=AM{P`?)1-# zAozti_s-_U$ayUrVzZwz|=ydm2qZaXLzp(zqZCAJGuc$8eqi0jRIZ zlo`9Rt*@6{j_kEfFGNpR5MLTBY7>97iRk1el^m#@^#Nd|l@{^G)B{?`bJ8!|cLfp* z$Is59?O6}>YIbHVHmY;}VMW;6B|H|j$#)Uk3*6TCO1~ci zeESGKcOlp^SLn zK{unKLRWSy=R~7Uh4grHiz06jiUljwy0Y5s<~g1p8ukhhohPSy8iSAoONErKW0#K}V_d|E|+jp`BX?3ggc+(VNZ7>P} zN|~)hGgZA%EEC%AusS_tJ7xlHtT!n=*@&-{$-sPTlb{}CjxS}fXO4#p5(`4z6(3Qf z!QV~(s(gdxza;2*`>gQnOwNmuNN_XJLqi{lE?Lq*neHg>U@GLu9CdZo1;jI=Tf&Ne zfqHW_@1&K(i#;c;m;_{u7>C=?D_90Te2+D6Q-Mve-PVWc`F;BievRw!{d1y8$w1X( z(R}#PK}Skn|zA~}T3K@35qkdZDst>Y` zI1oKe!}W{s4QAX&Hz$_sqJn>%T|yIWFVxY64rSp#rpQwgkfvvcShLE$Dp{hr?MPh! zT8mH<=cinP^LqlYYO|F2J?lJed(p#Csco55hnmFGIt3CKi%`2qeHO&m7g$nw=Lv;w z$&Br4%dOl^D$QP1$6Q|^W%#1nv`h3mTHGxLMs1(+YVoVSeCB40XXyGLBWBC16WW@d);AF ze*lqrvc6$>{*7HsOHY|_hl~mj(-rp9^5Zh;=dDzPiP?i*-(n;TX*9~xIvzZ-Q5vgP za~TkG-%~rl8>E!|9#kZbeehR*SOghIPt4wch$h*(dQVRR2TyE)}5N z!T&`!{Db^WV`0xB46CC2!fN2S0U;Cv-SD?TQWU~D-|?w$T#jknK1E!2g*aEL+MqJ} z#_{uh@3q`k!dUe&9`Rc3Z(qp8B$`iBMl#}24?z!@az})yF6NbflqOUuT4a1<5`RPIVWUl|#5^DoNAk zeoP2$NP+HZGbnpxNoR{O*vO~HpyI5~i{kJZK42_#H_0es*2j93L_xFX-#}ru+~kQP zx&}HC{R&S~ZvNA2l?yrX0cIvAS@<)g5<8Lmt{&{!OCPLXZ7Uctj|M$}`=?Z{myHWL z`$D|R=<#&TO+YNA5pw1d3%DZ-0OqMMZF$OOK?l=Ytz-ql8+|<&$q7N>?URlo(R->0 z0V{az7vaP4NVE*dpeQ_kl27ZRpY`+B7q+pyIx?`KGhc4Pk*Y`AFQ~f;!-li^BAllR zA1@LpPv>AQ&3ltqKq&VT^emKQbHmw8ZBsv|#2&8-J+f*&`fd<02t4}kQ*ITR$Xd0R z<HF!5yyGR&S-*GzAUaV5cH%D~k7qvliX1`7O2gHKNL);d5Zwi8AP&`wK? zn8$<4ZUst)SG*n@eG+hH(KU${OvC@Iph-;-@!o)$n1^R%5h6n)3%qcze2TbEcx(aq zE>MsrPcYWu-C>Te;(aQEu%;*J_%>G)T!heks?KY9Z#t_ZIgi5}5dFJHJ2u~!E(6nN zZ^d?9ZoubvqTGlg4xZe(MJy`^h*me%%48HTb2JhfE;=;-&L;d(L(aQ5K_&TE<<{I- zt-lkEOZ_`9RtiHBS!0M-_eZh}CWVrrf$`1^y($tz1LiZsxgh5d91urD+1bbnEE@>7 z3YXUn(DAL(F{x}~t)IUwN!|6gMzhYB&IV!O7u3>JD$L<K!JF`I ze&=?}OnX@MmWsUBV2_u_xak;btp0;FSrpmThYiXBjX%^2<46$xXa1{Z?$e9>d-?XE zmV_l+d8O%&r0<0!7G<&SrAe~g{cM9R!cEZ153`LQpGltek-)Jk&rCnct1SNO+8E;- zmkt5Nj~Rwu^RaL4 zm~b7W{NQ4QajHIxpWl3Zq|#UoEV%zDJ5gzXYM zV8La~yLYL~_3<|s59H}Ys?BF#Dj-@Wjrof=r?X1Z)&HO7(Es%Hk7u*^rPOb**ko1o zwGpt5>%mAx>pNNhQjz$D8sm2!)UI9!onuG z(=84@Vt`B^tB%z1eXwF|w9ckQb|&Jq8(|u&85Pk+`2>&27WlTxiWA;%XrpZqW4 zPgxO*pi^13$AEUKmSnKub}nz1SxEErr_w7dBS7ViOaFCo-j6MXTi7Gr<=}J$YD!jw z(hzA)8;Y6|&yPH>eD})7vD!)aua}PrDIY72`hOPon!#YW3F4Jxm2Q0Exb<=}uW~A^ zyejJ-v99J~d|u(hR+a|@k3~!24?k2Li&zq-B=J+BK_7LPL}J~)Y3y!kFW0JASBI4A zjQg*ErL)Ty3?6y$%5@`JyYMoK&`=9h(2Zs-UpHe|+s+3~;wM(QyWSp338Bk?A=nYx zkwt58R=R{}B~MO6dGI!h)(1Ow-0L2X5=ZsnWBI5}18kW46g=bUpidscGz_=SK$=E3=}*&X*tQ8 zbVgEbY&IxoBd6b;9$+{M()>@i>GcUoZ4!W;$1+`!K1ok|X;6F&>Tb;QK=-+He*C&z zs3?4xtTEzu2A~qOM~Hs9mXzZEZ^sXj@?l+~td^%-BY@V4Svolap4mXK;FCM=l(C56Bg+t^$+rB#NyWg$;*7DcwLk(buLxH)(_ii;JWGeF`V-8#X&^W=2P_JDw(+b}9v3 z6ui}=a(rZ`{cMP9DniZ)xLA-84YQ-Nv8QcjioN(qN@+ahR|h$DI`WaOP4+m2#_PQH zC1ne+9$+9_z}SF7&qfG74Sq#VI6ace((lCdAEo+~Lzy+hvVGYZCTV2j(0i4XT2evP zk_k-tPvBAi zD(O>FnC{bApSy$lgQ{$P4(X&(a#XgWDv)AfiK@x-pljVbKTPC@_wKSa?6(2E&x6+9 zrT`MVZO=)%5F_m)cM3dr7ntgN8nTQ}F!w{L(VR=af?6y(kuNPh4VcvB#W zljh4S!%qhPq?D&~HHmehxISEfUZ0_Pq`L^eE8IT-8V(4@0=v2vNpxd%t^aV=hh6=4 zh!IT)H{L}Y8h-&yz-KRa82g?+LCMI|I_hg1iT659^zFR3Q|FpC7sX?NzC{V&V(BJC zAJO5ozr;k*B+%=rboF+o(;d9ys%m{d#y%MwJ2&V8MiNs617h1Aa|T)Xa6^|Wa25Sy zPLtMI%ivgrv1G;uhDL<7cA?+%bvV|Zp+SN01t#-8&h+f7|Q+^A){ z&!yB=?!76+*yi-N*uK<+gcY<~O!ju3)P|aBf zpyFqe2U!tkx+Ch-EJr2YnP!(mXt^8#-h&7UrA~(C6ecY(anlIVU6DL7<98O$1L{_> zGJ`Pw;z?R_6I7l*yk0R`KMmQYXj8J13aVfVPr~P=^~VVLv_j^?A{Uczl`eQGwQT~R}^Ao1*QTHuF!VvxRoha8YEH2>$}QAfciUB{(>F42VF)nDGn={_90 zc1Fo)BZb^b8t_i7MM3*Wqf0=wreFGHeTs>Bpb=5~F6?zD^TiN=Tc;Wzr3u;CZqYq=GM99qD`r1j#8VjwzQ4* zC}c05QiG=wkOmskX=R*svtr}V-lsEGF1{#}!#qp^ZkQYFy^+l0FPP7nJm5CawN>)i z>o|<~SO_(-ra$s8_eFi$kqL4Z0icPl zI@O{pp_*K6aDjM=nN$efq_T%AF+t{J>MEk<^F*!La&oN3T~VTLs=`K(C~Gxjris*s z?%i=cOT@SgPB|gVg93!WoevGpRNL?*1R~Rkq00d+31zz?byXRY?u-~ZCqWfnq_cI@ zWo^8gqLn|PDYfrugI}!%dCzv+$=f51Y#P1hKW0M@5D7q2i>k;)-X2DC7R>~$sStS6pgW~BiDlyle7Y6Ou!PR{7$$s4 zcaAk~DDCAm)zqipK>1q;I(AR{G@ z`7sAlw&5egSR{gO6G^DC9%MsVpbj4%g}pX5oL*#1G$pNaS@=`z8%>VL*No@mK6sC3 z>i5A0ihr1jpm78gP-Iizd8fzKQ6TH&?7`b)&5Atkc=Wt`>h7`uy^c*yu>cLAq7Dp_ ztT&=NPK?3i&3rhtfoi-SieOgi4H3V8!rz@srDa2=m0L0vt~~N-*0Qrz49U+H>DoBw zcY#6lrZmq1yE-0viJU8@M84&|Im65yFW=nTJP65di5=_y@iATH`hpWy^ryl9lrKXp z$hKY;6xi>HCFGQL_52fLph0Aj?6f006nW|c$Bb(>zUAEwkC?GJ4cs+34EU}Lb1+)` zi>&KO!h*Za-i1E395KSE&LC=ZR&Hm9?oO{XgRqMla=hQ-&JOLmlvkD1@zq_Xw6Vts zf==^6&u^<+W|5fli;%#ZNhG#QL6}-6`gOq&49x+5hffbfb^2oIU;+116^P2OzR-u$V z$Y29%p|a2)ZK5z)W5ld7w)?iM=&5eyR}g&w{_Qm><*O^F{V(QE19tT7!2_jwA%6KE z47d-a_vuk*Ke#@SBEJ^lV-IQ2IM&F`1UW^Riv^etN8W^S8)Oy(k2vO+#{a}Gggq#%)WTMVx+7z%O1&kmj4Z4 zSRhku_^f8xJVcf4_c~yj%~e<_?9;C7{~auM2jR@MEdQ+w-Jem=Dse%4<+dVrCn4|$*{J`4y_K}U35;}6nh z+$JlT%CoQ=DaXOE*Xt#db#gQrI+=t#{o}TLDQ_YMlCa5wIsp%k!zXy<2NrV1hvW!1 zvrtn#+uzqR)b&GH@_c2y`0}t4UxuW`@xl5bQk&9ze^~vl&Bh&yMn&a8X-DuCw|UVJ z9v49{jZd~tEbn%JW{NB~2a_VV!3}Qw#j0Twkvy54 zv!UH5r30Vn@UXJk$_Vt7GeFZkmcHq6Nzct)g+5>mKf%U22rB&%C(fS89J~BSfzNv! zU~2b7<~_Z=zC;B1zLtWT5h0456J)oPC?g<2u=*F^7A&7kb8`4O(Ut)c9%Z$$pzerL z4(84*-2ShiHk$q_+#Q_}){-ei+yD4;VO;+8MTiUm?2ai=bxn{a`!s0J66`&?Ul&%g z>`czOsE&yfm7WKm)u|xU)Bq6tXp~(#y2g*OD~44_q!02%B!3p7LZi9S8B9rEtNFQx zQZ8Dt!u=pk_pEaJhT(XWh2fq~I5P#|qP9EVqd0TW7yn|fYg3xL%Y!SQWwiS(+0!aT zT62*QEE0a5AjDw2&NtN!vzvQ4$A5wJaxm(8G8F$FZB7n2v$di~YC=hpeWnG9;f6=} zy|Eb5Ax?kC(QdYtoXFsCZ{8diIHY%^9~#an4Y5XJThAGi;BER85V)(VKt zByc*aLRqIeBkKHAI&B%6fQ|DGaE?3nUnHt5fwMs;s!<+jj$2L|%$CYsZ6E1*4APlK zzKA-}SOk#l&o_No_ur|BMuF1&3Gt?X1{qL5p~z>wk+)ZU44_4j{0X_R4JTi&6eN~w z(zekTxiWN+RtBhz>dIXFILqAJi{Dq7`tT0&<__PYn5TYr;N`8(2prdSTIZalcS0@S z$YqQSh~?8oKbHP*pzstBdmZL$2v&LA>l4Yd2WQScu_g~tuB+&LD=)^e@`d+)fk$kn zG|+3B9**35Qv!VpN!kI|$x(?9bdX^UMl2B}z-HJfDzQKW_uBkV=sbRy6!cl>em1 ztFFOtC;8VS-Ibv5&iO%p72#se&32aSQUXQp9npfLDmlN*K(obBPO`-`KI3sTB*w+U z_+etrKCVSPbY6lJ0Hb>w$r$5KMoW92$Vl;fzsN-O>S{daxI<8%ZT~C#+S)GmC`rqbwQ8<|%_jb3YeKV@JWbtxPFHoNImX$V zE>H+s-8sdzPcnZ!Z!cQ@Iz7Tj3I{nBHk0Pa4H-s|bT8xNlN9_;9s8$8j45e>8KIA*xKuntpBU-_7nA#bXCM&RjB(9ox^w)&k9dY zd#9VwX0k~06ShM&)9~K-DRjbM3jgbSW?F^aUi{0S!LAL_LWg;Z#^W>J#W;%GUY{GC z5n+^58q=@!W{PCLjp7Yf68$N|)WY4Zu7;iIizb|Dr&Vr#a4L*68WJTr7(-mwwN)G~ z1;vLdHC9idW@BZLsP*Eb*r~N|m9|k=Rab`8Riy5ns_c?g9=-dal!I3c2^ZJRXy2Le zrO6m`bJ4yv%$`Hhc*o5i(=>=LS#P8F7mbu_JW97f_fStKFDk`cPiGoYgBjvo4Dpzx zzAh`u7CUKBr7JwjGk-}6msrr!onXDlX*@%lOwd=>GO#SJH>P(8)vkZ5T8|gn!FZCV zvofaLyz-$D@qSXtxuW{6keY$q7VraxviitY?7>=_Dts>AKwJN-OvUsxzKlRBtDQd4 zcPX@Wa_!2$5L}d)0mJ*Z9fG55w|@ydpl7N>shDKr&$6fL(mY-%Rx7LFHB_BdNUQo` zDirqgB$s;nx+RLynD_#WmF<%J-l9! z!r1yX6G`iUFc(vD5D8mlaLLZQrZ_}kS%D<*DkT;F0=r{HCHY!(_S>2q zjn%%?Mx_9-;1whbC<%W-QB`~+?SJY`gpPH2th=p#Vb$XGlLf5=VV(w4m&K`8$(80I zo+2JIGX71)D&B%s71-7j9%1o8=5-X!Oj9L8?CZO^?xR1R$@h$gLXgE2u-(&+MSM-) zT^-gw4Glx<;@l8D1C4A3&5(WZ$%JN%TSu1yc>_oc#E3z7j8DoH;EZ4Vlwo`G5wRFw z#dZCy^5HYDlylKUHe*HkUQ?YFb+Z{*+s8*s`G{yBH?;x&tjwSm-k=+{?4!E_aNiLD zi540E)TvIrzc1y6O*-L&D*56bTqNI!*hn#j)lj(r|A>{jzJ;ERO({*MB0bEpz%vLH z9$Ek&VL1+&XlZUrhM19EOUYvdw|WO6^3c2B@F6F>Of*&9TFrOi1LKoRrM1G`rv2W+ z*xo<@X@vt&OP(MBLEd_vO4iO`{r!2B49mNiwn7^NvU_}#$~jxuw{l6A-6yCzqS9Cc zBcXMShkH}16(D8tofuJ9Yt;L3GRd%(^g<0Jq)(`3{3)K7#A87Q@kQU|M;gfF3ZYdQ zr^R5y#bbQCFD#!FG-eWYMb6!5$4%XwFbdWt4b_XpJa}V;eA$Q00M95tw2*t8;$zcC zkr9vA7L;GE_{gjZ#(p&MRLfiY*%4%eZsTSbJjMB`fRb>&b(C+vw>~+t4pqq1plJe| zqsaD=S;Bp#gvuSSd(=bZE1Mc};uhPTSu#7!9gfyh=@=mG^|_#%;He5CepxA?^%khH zpo*_3n=Lu0)c6B8Tv~V;Ncw4(^j7?rEiqy*znp8$)oKp8Z+`NhH893Y^ILQ-QfKVJ%YCPjR_3=25bML}Bw44&u5N(5^8iHc4r8W~@;0Vt_A%Prdb~rX z<2t4a({a?P_-?S@1Q$uo3ST8T`!MvPC(m%>$W3}Z2dwxMsX38BCXMG4e(@xJtLqRc zv~QajCN8_PLU3Ki`&pev$uDx!*3fd403EGk?F? z!QvIiA;H~bH|bMrrwYxA3HUqFu5~}~XJvw_`~2ZLs+39mrTN!P_j2mljqMW;$2Vcb z+%DV64bFN>|7B_S$vM~m4`nk}se)S;4x2a92kLyN+Q*+%Kz_8L2ca-D7inuJ;tL*> ze3;IIMLD{f66Esy2HEl_-rx8<*ay(UcT;*sg^?;ks<^KmxOS#&pb1((oI*=;Fw0Fu9o@)jn^F=AT^^K5 z$ea)N2+$(knG9d|C|UJOuv3jFmdQ6-&ipJ?nteJ$HN3eye8yTLGRb451wIGcQ)#phz&^$j*ddbLCru)M1|j zH|(gk`nncOt>1%dC)E)CsbqB~x(%q~p@HvW3kba3cGEa&P}fx{S{Zs118YhUzsj>C zkJyLRcfkm;6Dct%-BcHLGPVznct|b252k^9&8mVs(Y+WZn{$oS}i%IYq!kCM=s>I}yrb z;mFGR*2U=u7C7m0_zUKV?BC&Ajtio1ke4&mK z{4JH-s^ph!2sQ*a4ApSh&zwh*(dICh?{7cze+|_LD=Z_;uTod4EjFuxLmi((x$;>x z7WwYpGqo1Fhk>-3;_@H<0Av&`w&X0yWQE9Wtt3lQh$2XQ`j0wgBDfu3Z{9T4wdAcc z9z_noSU5(3Q$=E61zf)A$5$mDZaVRM`=P2LK6^U3Pz zDwj55_jv|8#dqR6qh+&`4=kmL$*_?5(mQ58iSKTERWoHl}O3AKMIO(UXs7nZ? z!j`NkC6Xj;X>JB@c((isDAhd8)@{#BDQ;!P!+223pH9fBM2dyD#3CX)0emb_zNQAf z-aLOwISH;PBqn0`K^QxFps<$aNV8A~@5cyl18wG#brH>xM13T?PZZzvC5%1*Aia_& zEurbd#pWk+?@%(znqnR9{Y+x3O`Lv*W43F$I{Cz^!7ey1D#`ZcMd)xaJlX2se8xjZ zoNGKiU_&vSFr?o?Y`6wPb@$x8858-DA?mUU%{{P%aWJ7P-490Td>y^b*;vXXLdF^#_ybSWErq}MOdxr`Li!d}jK2Fs$dS^I zqhB5DNt>-7+JTN7d@uEsVb3VO&@;o}&Hub*s|{*8D?KVMf4Gmb$qL=-%!gKUiOvSn zwdH)1uO}J(AO;gDjNfZqaj1=*U>gcl^>QfR)nW6_a)O91;)*9sdZ!{yN@9I5Pwg74 z+R{4t<4#*m$w^kpq}^|%Xn7l=6#Q%DJg6?4t~U@GH{m1nh1!KW^<7qot0(T6}IE^OOF$RQJZoPb?d0w|1p5nRo*M%X>T~rG-*_;kgFgFEyO-5C{Bpg?Z`2Thg=(uice%Y?z zSUnzY$rj)XI~Eo-q$QCTmDimW6^#5_>DL9SKiWUQAZk~+AbEin<>zK!lWPt*Eotm* z8r+Y})%Dmab@3OAp`nUZ6$7Zr~HpF?nNKx%l$aS-FJ71bFVHK|6Zt_pXMBPsLbN~<>&=Q4|xXs z<|0A#?W%!Ten`CuW=NI74^BsWsIY4I7M-dwOnQ%Q7LU4#_XlifgL&f}W<{MxN*Nm^ zx)GGKVKRTLf}w64c%(9!l`1RMswLT&TO)*XA42BQwE8z{S3E5CXJHao$?~buM7_j| z`tOC#%cag=Gk*PrUPG3f$UVVYHV^{Vi?{8Wf+68b_-3 zShu~*hZ>#ee`KE>=iwdy?C6_`Y>- z_~lS-(|?_Or;BuH7Prajfa?i?b?ehR9}XbR8Gx>+*~w`KcyZUv__Swpn8K=fo z>1jh0-3FWz?TFKRPXp#DX{{+y2i8EGRHp<+>&L@0hg(|NrHE9Yc zEz(t*7aisU(J zX5&$Lj=qVgG?$;}7nS$Xw9r@Ay6~63`EEGf0^o9X40RVZkT$yYT&`eht~29Ax+!RJ z;60n$(JL7(F@LTgu~JH@}VeH#n0CAU{o^*Co+*s!#rU^%4hJ4u#6NB&A_C2r?;*(dr?Ccjh*T5N%yXfPl+$rK?E(JH>XPtdMQFn3hl?7#LikHy`-l z%+QDX36@&!hkU#sg6tbgr6*i4Zd=BWm2z!UZUQj|-%GRjU#sM8jEC!m?n?<3r~G(pC)JVTLMc(49)(0acC;P&joq*8#cr$ z<=7Fw-Dv#|1<7YDiemS=&2SuV68MBXN}iG8!wcrZJIi143M*9ty3In}W6P3EHhvgH z;cKoSv+Y3el;UFpYe6m1ohGx42f;|aZrQW$WHWf`j2Mr93{P8%PKj#(l4A6qj0_C`)+^=-VxIgRAm3zpDZ*zV5#1-AIzo zI}D4AscUh8UZnWSB@APycX2~z^S$C~hMr#!_xNjhvO{{H^r*def%xFeBUL}dB{{aV z?Mu{k@h`bDKdr4$52x&;XV z0TJm^x*G>I@#pt{`#dk6*Z2M6ITMIv+f5ACfdlL34kwyp( z;q4N7kiD{y8G8Y>wZ3g_w}jSkGgQj=C%WFk2ifE>G~h_?wyodr-Wz zq_D$t&1v@qnJWYmCw~YrJBI2)b4cWf5kAF0+-(J7NJ@Ao+Cq|j5pb;4d=48>S&x-m z4A|PER`5rzr7rt=qTp1VP%H}dl}6?I1%cR%I?wMwp;PLGKgf8W@@2Q5m1Euwoo-q* zcV2L{q;b?9HR`tG-T(&@N$xENllA_47xh-;Kah(n62||B_ws-8I_02wRyxI<%;t-3 zhpt3i`|-k#?!_dvA{eEi(7B%>*>(8mSC`bv4PjufnJ(#&S^+v$^PW#4!Er5Mh<^^M2DO zSDzI(hPW00LHr@N_=6v^ACh3GlE`_!c|SV^?(YMA*PF@z`q5`v-a$$TtAr^UB4siQ z{=6&WR1H2d|A0m2q!_gvLiz$rH!2ALAv&HGeIw(|gm+0e-K~Z34ylss`6f}jusW_{e@cLPt3@Sn$F)rTz_Xy z+5V0f;eDv&_-y!CyR{xwPj1=&TRSKCNZY}<7bjy-nf!qf#ONbcT^LAXvFrRfF*?IX z&(kn$&)beV@Taomni2Z?Mry}4wN-nFzV}1(nS>NqyYiEm zc_zv9%o}7S(b8PIZlz|w<=%i1K0a$juWadJ?`DP0gK*Xh5-0iU{rRL_-g-f!qdLhB zOz}6;!v9W&Jn7a2jEKZG+bzfip9(fF#hs%{)j&R)h_xPRM*1R3%P_3Yb!#+Y>(3XNN6Wa2t`n}V) zox2Tg-U)uXBgMt{{?05xa%4;Ixp|rRhNq-cA&UrL^txD@qi60=N&@fMYk25r*%3BM zEHWAXIy=hCo-WLUdp3$A4JtEGeJnW|`HD(*;=1&&%Vw<7 zyM@*F8IL~f#0}lL$M}Y&rqoXFk%Ga8mNK^i0^vOPv1ar`euhTFqV~)TNy9I+g*g?( z-D1l@6 zPaEL*g^sV!d-z$<%?OKXYZkvqI^oTFF$3WutIRC(^iO_5*V25q&o1>~P*hH8c6#@mH)jY5rayc5Jnhq$0)Pz0T8qAdnHGwNG-_wk$3mHQ@a8a`9^8=V&ycN!QU-w0lFnQmNvvKZ|p zXTzQHyxxsx%|hO~*jdG3kKXuPv30gAE=}y?>B|pLpvV@#hvHho0Ur zMZ9v{x_P+r0k6$-$lE7U_TljCiKk#LBl_1vCXuQd@NCyhfvVb!v&OH8ie-33WPo7* zJ-#L= zf6tgXbkn}PaU*0qL(93dEeFl($F)f?SO+dpR#)zNQN&>(|tCS z9oqiDJxz(mm)DvD#ES1M3IzU$$o+(J zi3;9SMFJH(#vaNFEwq* zDjZjYq*n(Zb~b)ApHB;{Pjyi^KhGEikL^)YrXncLq$)&5QKj_-?ti6O&IJK`kkdhS zPOln9O@pN`B|wik!-C#fI4MDC?gA&r9W~Y4^MZIg?dUpAV660A;anP4xIua7;Ys7^ z`blskK4lgXBTKvMyfiUDQ7i76=J6S`(Us{E7zGRbon~F=zw>2~s7FlMJ6|EVJ-tVz z5O3tllLt_pfY6e6$2@lTvGAJtBN?#$TSis(Pb z!Lh%B{WLLID$k@JB@l&{q+DGl(7VIsltXxPPr)f23%B)o85q|OYvfUs2Jdv90jyYg z(qdiCzkXW-tl3!6$1iyRAoFYiSDW-l$On6@0L@UnDiknJ7Q3k7{^5r%SQIChLbQ?I zy#?OqNKo9d1}sRw=_FA$<^LlE26}6f6GO(z$KA(xj4V!iKxT=YR`z`s zqL6ezS&~gr9;f_M;Hled0s7lw$FFtA7!(B0>&zwJL6Q^IJMn+AkH!*fo718iVz$MB-ZAO35V@L8cQGYhW7xDyan>z z2s7$BxkLCE2C)jlu4uuDP4qIv4J<%_Rz74l4AD-|B#eZ1$a@j@935SW;_}V)_4V^F z9@TNS?qSEsnWrKD;4aI4Q_>;8X7ivu$!*;?H6f(Y^PI7FL4#%rvHYCYJxkD?K7n2A2# zPeSq-Vslc4K|0L?y7x6|&viK0P!AuI>arH@#YFB5zk4g4%}NsWNioE0`rj6{Kzng5 zr=^x0%Yz8=3Vk~30!nmhj(HV{}Fn1)o4OhOC#qC_km_Dz*|-f&F46 zxS~g@n*=7Oc`OUGr7hWcD$eL?d(@6-$DmnJzBkb8OHHe0BSSJ>mneGiuoD^=>DqG% zzfYRR6em9(>O@sRG}Q#2zxEk!N?~cQ=U4KGtbIxhct0d0UTmsEj)^tcHsLQT(|N>8d2vuZ8gJNb_1l z-oMrxk$(P3_WO}}`fZw+gQpXplfV7zs23j_7xLKAe>IczLG||&`!2qP*?;#}{|^6l z7a!xMmwPP!3dC>6cVex%a(yI@pD%rlDTqo5pe zY?IZFdr20wWaI_U+)LF1{ksXL}?SFp>~4J|e23m={^9%wpN>8?KHpvi`upcoPRY-3BE9t+Ye%#zTZC4NVD)OAH=Ju@!(>G zQ2yubLfzMP2++V#YyI#QJ(P{glVtawIS{Gc^{E)m^;E^l+-aWkPt?&6Ytgsf7n-FC z&=g%M(L8NVG>FnUUa&s9~PvF0Rw^O|s^vOCSY@*mYtZgJ(6kpjiU z>0a`%h%0>D9=`{5V-$e#?p&jd^}HwW_jFR3HHpOX9^c0Bt=e%{JwK74|Kyd-I9Rav zM}9V}W9BgGmX&2rH=FO|j7?*a?B2v9m&^eAyTvhq%~UgLR-56XE0JD|HR%isJJxm8 zGiypvJvan{B4osBlNgxFVhE zmD;_~xXW(B$LREiJSyzEhzV<7`%y70@tqjJ{O3fRfA$ygYmJ7zGG`x1p}+SBRb1HE zPuSV$Rc-z)qSIHi>l@=nG+aw9%YU^7U8ATi_1}0inpLLuNlVa|Y0CnPMS>5p2u_6- zBY42_O0NfWWmM5K?=5HjU#*LYBlu>V{2kKUhJsU;DXYtOm&rp^SoC5A%H(X5liWSL zQ6IA3jcO<3Q3PG9u_eUCAtL0c*`tdLa2Fo1x~M`?RwwqlyXGilR{Ctv**+4y8dlOg z1}5mX9|VybWxtOcl*KME%B`6^Yz0OQbT;{%dtAhuxp!bgf>Bt` z)?IC3k51xO*^Luiz^_FzB_6M|y`A!2;#LJ7BLUx$X2X$`S*B8ga-P6u!9R^sxXS?+ zy5X``_+DJ=Ryj?ae6UI(eIsmaq3a^XiyTq)OOCkYpt$3!UXhzp0IH8n(dl8th4d+s zR)M8EXW63V}C zoLwIJJ^~FM3^i0t{w{CTCPmfWT-Ns$`aLM!D1wcP@ZeU$)f0I`Fm3-{l*T%pO_w9q z%z92Vn7n3J3O@Ow!^v>OH>=?IAWtD}NU~dQZ;1h!}`Cf$RMNLWGlLI;Ji`Ip4E6`r7k-WoE!}+WA z2!D>2(@c_Zxu}QiX$W@C2X1v~g8aYbV~PIKdHW{X{PLT!d}h^2rsn{So(R`C4?WHh zptYz$71Pv!ce)1@U+M*Bi&pWy&d&Mlw%Olgc|JuuJ0KjwKIwOaXx}NuD72oR*tb(Q z3)JBY0ss`=CBA)2zDD6BssMNjxdCoy*2XWkc0}E~q>VB|&NWH%DB?JVBXb>nEKm(R64+&2KJC^G89*oe zKQKi)#G?N#Utmm7vCW_U?)1?t1pePIbg>tX-$pj3fF> zZ+MGbxy`(=PSw&}(M(a&8+&G_tiRxy+Iha2uXGdY09dE3GaHE8!t}r_bZ_o}T5(5r zi4S@z1NdnzWNBFRBVfmwSdsNo4C4{ zPJXRKNm7U8lXc#VWxK?8O%r^Km1)oBnK^wtVZ~XlFCk-94H_~o7Vjoj%qDnKfAIOu zwj>o?hERT_FuvH^vgI3sr9rYJ%e5EPo%#x&8SYjeRkv=*IdHqffxV-+R^IQkVitQK zBzctc0!jbqVbXE3;zf=^aO#p_njbH0w=j0H^|);(gfdBnMg7HqF{s7BjZE-%V+|=i z(+U!EDt#T}cGqbw6Eco0)&S*n5*eG%moX5WO#oTkxy56vjyDCvA zZb18o?4#L4?F9DdqbBXL`j(P<5nc!Fck?S0GvV945U<#+wWhu1N3XH#5*hG*i8go< z@51stZ}D=G!~$HJ)5g=ffLorI)6H`=UnL?#+1;zpr#_ljX2<4^(86W{4KKm<4WY^J zIj#CxxX5z{8eLC`ep`rZ#iK{xPIh^V*+D_iEW>5_f@>OX2#7?9@}evK-}Yzz)LmrA zE(16QAtYhnv*h>gE#lK*{cI2)5w#M#Zitrq!Mj?eCV&t{NY+xKmtcLBLEFFde((>| zKjOb{Zd;Ri18xp$wJ(^FS*2jlRb{cduDY z5l-7|ZbV_mucJugOsqbW#5)SaT)c`H*Ok`5+pu_k$UETK#=p>4smjp1hvozk!{4?-gf6)D+yQfrRF$5WLQj`2tB-Eg#e$pHbd* zc6ygT39AVzu^;yh)|r>#m{?@oEnEFPi*r=l&wPYj65CUZ)HfLwZl!3LUV#@uGRbQP zv(FjKDDjovY^r22x4qPBooxas4qBYG$2D^p28p>1BOiqk`yt{i4`kQe2k{c(zi-P~ zt!cE15>=*USNWWo@n3JeUn{jb%R77AP0eur9?|V_!OZEszu(cl^J7VCN3?0IY|zc4 z4K}Y(3~P7-P;d)fn(*j;btXi*=~_L}ct)QuP?>?8yhxRE5qpDW)KwFk+BBtX8RrKN zAqrj;V|@@R2VoFnFkt-zTox&lP@vkn9N9;rLv!RnP4wRen;z6X5RQ$8@4(CCt zy>EKdnt39>=l;vC0o{`;nSRjh9{Z`EVUAObE*I8#T63Ue6X2vhi+}FK+&Cr}IJK!C zd@E(@k%jf+Y6Ma61dhGbDWUM!BD0EMS~PVM-0k;ygo{%bFYTVl{=;q7ecdK!X0FR) zZSb1Dv2Z`1xmsO2Z>Av0bhsbRq`SH$W2tH@V8a2Dfn^ohH>3&&-a~3R-_(6pz{qGl zE!E1NSaj3tiiC=9Pknf;W=^3<^_W-Wr;QlcRk<4=s{?_U;_>APwf8Qoz}qZk4II%% zn`hKs(5wlr)!^0yo998nZo(TDU(`Xp0SfEudVodLmT_&&q!&jDo3%~k>VXxD?mwH2 zD4GAJWB+M4dUw)DE5!09Vf*^Q;^SoX%KXOex0|Cs+BJ$t^_ zblb@x1{vwpulrK@b>FiCb*{V1nwk#`Sj&aoxbm8$j(axlw(FrDXqtzidVEqkV1*8a zrJ=K5xnNWbng6P;rnK%;FH?qa(mchRyS!OmXZt+XJrlyq$kqUuxQ9Y;H6!0rFMV_X za)5g8Y)O%z`8(B$v`4i8_;2uV9ktZu#?@O6{ebtq=%BYc0M!tebtwcRiPCu*E7G|< zeaIn4Uv(92P0N`%-^w9p*WNiaj;&?)S~CNr?}a-qzGIDmL}>f0A6+2T70vP!XN{(i z;Qg6Ne!oRaM@M!&{VlPc_b#fOCD;Qv3W$Q#$exQrFNj9q3t`ZiIxcuDkPP8$!TNL; zre0itw`UIGLI^8k1tnU0svZ{;(Vh6rkQbBR@2zj9x)ZA6HJ{;wu`4->UmiZ>BsZEJ zXho<4Uq}b8#d9tI)@iy9JuVt9Iyng*D9p>~2L_f^sIhaX;=B)e2YgIK0~7-WB()j_!6*UndIbGE5Pb11hr@aoFGr+d zXH5bKvD2nZa6NTCkPqCa06CTcn+Zmp_=Hr_(3-$0 zJK+dLNvxUk-JoCg+%Lil0NRfuz{g>Gdq|IqP|z0Za$qTzBS=NXANQX$c9){x5z5B31*Ry=<)k`R@d+xb$!SX8sk1H3_l}FTeVM#CDfu8*J2fU z?Jw7}nB>v%XP9T)F2z_(DZdvV72EtYPj0CJdM7t7rtf&2>%+S29RYW9U|Rz)Ys?HG zOR^@tP0g11&?iu-coe$$X-y%uS0rS}@|URY^UZbv7M|PQkFa~z&2_oCy$Sa;2IBte ztJiyV2SG_+WXW>1%l=K3z5aDOcMqUdsN^5F!hKD=DP8lxqkr@8!_FfM_*SP8t0U^l zlk0z#BiZkkMuyd{s%S(;{r;ME*r#E~TRx{hl;jLcJeLjY3FJir`4zQftxY7XvZjlxg+>3;zQz!1Df8WPh8S#OF&d z_+nM^XqDNIzhmHaP|ije*bz}U*@6!I&%lvhDU`P)hQaFCdZn*o0{$jEQ;#*9b+Lvr&F@3yT8o<`WI+F$t8xOo&aAg z`O9I0L=@GslHe|#9AEv)@4bGl?`5v@=`$-JtC5}xV{t5Bra=Lse2yuI|AEVjaV4jP zK$VM|*<`!FX;al<1O7Yt5APe`oqWJ}P-~;0TXC#!j_nIsR^gW7AyRPLobKz}nH}A{ zG-hQdTp&{q+*_^Hk=aj~BkJZOvn1CLxf>EUNlqPBMwiZ4M~&~))-kqD%^%P>gdt6H z!u8hH`d1GGq?eV(dJ=7!5yvo-9mgh%BJEGTH#(-ORpQkTR?<7>kuk8^MQw7l>=f$* zsM(i~Miuv805g%x&5#TJ_i&v|Np4zOa;_i$si}~=` zwR%_Ik-6E1^-{`1{sYZ7072tZ6Y5X<>nET;`eBeAz0^BnDWtNv{oA{Z))*bQNzm*d z+pqqG2`;_m0r4At-Sy*uec+_NO}w#LY>LyG$WRO?VB0L~UastUcywqUDHie=@HdUo5dCn5`mkLB8b)^M zGK#sC6m0jr#c5_U)lV^YypkfA3HdbosL;WwLI6s&BXp$9=fiBuw0yUK%I7KieT;&e zZqSl-Md*tTtBo2+KteU#sz69))-iS)Skz!il<7g`BR(}#wX-c0W*Xioy&p6+=veiE zW3I#q6`C%hC0to4yea)zb!PUz4~Yp*v_3l}J)w1z~!%FwKp@rL_Jz(kzeE2sWZd4cYAm8?~)z4){-aErgnvXng` zXKhQ*G`r~+y5NcncQw!c^RrTC1x`dk$;)j}ilrK}l$xu7#uyAA--KqfP4Tev{N2%b zVgpC>aSdH@S=sJ)mZ>%{b*c||$p^lodmq~4%pW<*O+zIHom(ba*dUtB67P!WVo`(a*~BjsRFmeaxB>LrYWPR zI=@<^{Nz=YP9^)!kH>a~U3nGvO}$@reeVn(*q>am+)g+Oo?-D1x{lI*xjd0syO5EX zotN?Oz+K=3i6{Tv3VJPnw=?;!A$%gmR{s4iyRi))%J)x}cyxg+iU*NFsK%LB3-!MCg1_)`O-CCJ5KGPu?37RorFdtr zZGAg>!J)vX0=EbnK-br_{~OuZ?v|CTfsQQ)j%lHS@qsmdlC5>{M9D7=TwT%f-k1mv zzlkNvimVlQw114`g{dCUWJS4$9(%On!s*HQT7ip&WTV-gYAE3eU?G!&wgNUn$!+nA z=RXN^?is=@5?3N(b4&19!HqCQ;;KH!#hQx;s-3bexfe3XO0VFb+VoR}3+5F!|Uok0-_dKDs zXz^IUi!%yUS~%A+x!@QZXH{{C-g|AG+!$FShDwjf>ak2*TCEh$rm9s2Cz<{GNcw7) z&~n(Fmk2wYHL$UCPa0dYlHk2*ol}QXyO0UCbutx4X9 z{#S(okNvTHhd)1TwNbqp0vUy~5n-$0X)gW>ums7l+sg)Bj@K%B{}GqNf&&6ptMjVc zlx13Ex}?Y(owB2+;_IqX0nR3h+jWYbs~Ub@ADmt!0pswib8zY=kFXKoB*s3TZRK(olQsin3Fq6e0(OZt+s7R=cfLJ%Ik(=F zNt4gUCbnr*bW6kd3nNuDV$L~BGCW(uA%@MmAgVh8-%2NP(#o1|wcduFI>@knk94@{ z_07U@Ppvt-U;noc+~sYe7)xzOkB}Iikle@ZGIi#7FNE7cNk$CG6!i@j{29f1S5JT) zfIg5rw_$DS&`)45Jwe|d>iHtjO($B-CyBssPq=^DRuihh0zLHZmR;tFGbg-o3xWRn zV5+~j+2r+A?={K8*WPXUTK4tpPYGnTc5Aj3cJJ=0)MTN7WX;uF>bdec8*0+jU#oq2 zTV+DPCDW>S&n zVb8a9;H608Z7F-!)-Rw>4bq$RinDHuetavp5}G01|2$QGig|p$A6a6^VVB;jbr)Sb z;l?F68T^*SNos3kC9-f_af4gzz|?;>UahCsEW%oRJ6khOWV-fhqAJUlj~S_V*f;uh zgkg9+`SDQq{bulWm)8>S|896;7TZrZq5JS+P)h-w{iD7|#O5mc*N%H1B8KJ?-u5t< zIWKZ ztGU-c#}=@=5B({Po=tJ2HC3&Dmhd~qN~6`6>7?*gn4=BWRQ3;L#X?;-&3eiDrn=4@ zZro3GPE~&W?MMmkQGPe&$*Ke4-_K#rV%LneB;sB~DLvs6N;=p)2;U8wegNQ-MoJkT z7QX13FxV%oe|bIdjgD6lS}WPm{%b5*fci}FSRwcUm-I`A+b5O2+yNpfg(p(D*9#4V zA8L`g8%oGnw%Yrn#x$`7RP_lHaitSd!e4e=Ywu&>+$Ag|wa~jZg%go!CU5Ik{puOU z<8tv$XQ{JPj)C_a*6onzp$Z0+`_uHLGK&lwA31N49K_xg%t+DvIcf%DcCWbC&hr~~ zF_F0IGE-RxwqP9Z7pkOg=UIvLS_j8In%lLK(vAVeXpRT2PyBPsP~T`VtUx!HK~w@)_j}R`l#UuF6Bb?VY+{n`jXLMpu(}65x+|>CW1akoVBX~x{M=|twt&@! z`us8JTCKw9EG!^SV(1=ldh?@qF^J!${YLxs{O%UD1d}f=-eorgOR5at8f(qJ<(;e$ z^X>}#Z{u_Kl?1y-Ll2XlRzER|b@|SYK66%iqV{a9?VbY_>znq_1@7|%W4cX0qJKbw zL|b#~!lN4togmjnxnP!@&f39|MkIQqDS4TbD@DS_lWo{7Ocm%tj+IWNPJk(`R5uf!A9@<(cNUVAHGu3n8TuKvrfzmYe(7qzv*o7GjK=Ol*Y)aG1wnG2;YE5v)K z{&1W@-({|Oa)3N481pksfju_8rwNj-Hd*I&F^(`U&389VU0owa9h$kESX^R~?_$Pd zL)J7~2+YS^Hk5rx1;MyFQ4ea*C$sue_{hxcC@V(!N>q$bec~_3;_AlJC*i$17J`&T1-l!Wx9{V~SQ^7Tv*~s`qmZV;Mh7lP zRY$!GI2F>eqAQCD&%j;usE6R*^Vf8);sZItK}z0P=lSpVE;;qrY++pw7XRyYe9HvqQt|k21$Yp!&QH_#jGyf4YsG1#!r8H zZ;IoPZnG3x(A{Sp`%)?R++(lzEGBkT@v!LPsO^}+sPl-A9xPz)*-b=W%7gKIA~hns zWvWmKUAW#NT0G`j97-xFV1*UDI>X4;fq`9|^?R(rSwjNOYJr^x8$ge)jTprFW|3lW z|JQ!L&a>E)IpLVMz`d~4&ePab^mabZS|MnY^`v3yQM|mbR{hL+h0jh2hX5QB{I5kF z*S<0iW6kmY_kEztXBhSa4qn-c=EJp3K`xr~r`|}Su&X;dvKzG#3d@Fh!U2~LxlqL7 zW8MN+q}*RmZO`$~r3L)WG_gVMilo*XQmbl9_!|K}84^lAk6wg&x!>Lhw($n>-dgf+ zSiFU9igUvWBTpY1xoj@%smn&d<+sUb({ZdRK(d;?v>_$=Zc%%3D>Sww0}fxD|I$RrR`G^})ZZ z`HB5Arq1AE16LgxfV+-7p!cQ4mP3fOLX}3I=K!Oa2FJ{#`Td@u!{ZGS%4?e0F8GcG^I3BGP?{HR7%PHZ0_V z!paKRJxs^6T&mxO_MdHT+kKw+t!b3`lB-I?@>FXtWvc-}qMu=Lj;t;Hfq z<@T-J%%Tj#Q}6*uR;+>Ju`N~Ku20(SyEFYqLQrD)@WN3pt%XL}7r-qwO9vNf+cq}9 zO1|Eo08Tfv*!Y{|@&}*aTiz9HYVv`rU80x#IsTxlH3+JyQ{g)hXBrc-r;$P>h1W2w> zJmp)ZcRzjuKa|KJEt@@f;ZmQW?MiO6cX$5+ zEyf(ptut-d-znoy3Ok8YjtULu)k=$9^!lJ)BPWhGjgYqZFO2R=RRLQ*SH)9*vzP~w zJ#d?>{Jr%UTTIq^XaZNRV$wbCi-)o6JX?#%$WJuLWQ#5P7or6AD0?QS`z|7QKMC)? z+j{*LF10_NzN5xhLte78yt&8yp^pZTn4HOq4yLU!X9b2{!i{@LY>ee^I{*)RsvjWB z@XDWRL%IQSG=8NqRSd&h+i?aiG!FAXMzj&({;T(@Od^evc?-#otOWOZPrUal)?CTA zhF0p%Et#c%o&{510t=cE$H8aGI@#i|8sDi>oS{#CRighh<(b%QPxxK5U;<+ApIy>( zN$m`Sh3|!CuULj}f35H}djK`?fA@TCV(mm<+eO>(piNWPm)~>kbJzjHe`D<>KtAI zgT&;fxAR$x+Uh}z&b?80S=5WvZhDeubvbMRzBao_{Gcb-PnpI(10tNxJaU=x^sef;3IQmfkBXJM7kk1A}kXo))3T)yJ@ zDN|9p#e5T83EbEc4^A^ds{*+tQ!31>5nxD+@nmf!p0`50_BD?gs0n|Yh5B(*?8!?h zssDnR*mnr#YCFnZcO{}l+~1(ZPhc@y8k6c3gdYMmwzR+N9=fXUb>>vv_A{6rymK|H z0Jiv;C_A$Hu!zUTMPWdjvu_6w*Kc$lL?5vcV}g7ET%-T>n0$|>E%!#vjhT%;EPS|g2o;kIK2 zD~E2C6{N~veAnl@_+tCT4bJ|FFP=`|G>gG<32H{bKF?Fn6}y6TSA5;OO_$|c>|=#G zTbYV8Ysd=Tzndj&?Qy`|uwCNOwr8`)jtl4@ZBr}ylM<)eVQJh)>umj(&DH@A1xmk1 z>w0JbAOzj)9yoV$2ua1ZgZG5$+-3A>JnjnMdN8 zh>Nw0eIJB5XhxAj9kS+UQ#S5$X{XqBSn@cp51~ZkfEU!1dEsSBsSl_P7k+tLhmaV% z&N@#opz-Im8ydnRVzK7EcIAF2e_4_6s=Izsv#-_ADbdW>skc z=WEy+?1}NfD|vQAjP&BKCrhTXFZL@_fI*)nMzVVTT11ZwPwb^!4wiF*XYDd0CEQ2e z!rzTz$@l8lKPHLyAtt7?P7TIMu75|q z?N(X-7P1{syJftHkU`> zg|u~zngsPu&+2zm^{^3KN)BijC6;U}pf2a5F?JNCZm%e*sECekmIV%?<7GuJ6kfFg zc>jnu6*jU`ws|t8iM5(3gr}D&1nn!U2J0;LSp!qR;mX*%XoGVJK~8xg%Uk{lvMw6O zZ&P;H0|(&x4uNCyIB&AyELhI#N#M-4#_+htX_HRe8=JDTMT0+{jnhWji=78?9tDRM$UymC_psqI-dKKStkc8px|yknKf|B# zR&QZGwRiA9#gWSBjxYCr)HwgX+A#8TaPyl%uIr}wpt*4R>_h@x6+32r{adx39azO> zdZV3o-dzi-5G`)~BA3>S)7bl`+=*png+DqrdXbYWLqMpV&L@6-F31p?FCi@WB}Iun z$E}m29+NuQGZDTCntob8O6?MuWNsfASNSa4P%{p%j*9K{O(Wi_H`~}%9MLQ?l!?JClGaSM`$+z8ipsn42LBXj z9tc)4H*(7=FI#cv-II!6Pep};Z|oH`vG*NLS*JDfW3-LISwQ-#=atviSP*{>D=g>f z>&5x1*a7#1yPfRqfDjEtX++KRAmqchOKO{o|w7Y{4j#7K^nlGgr0VfbTqv zCbUGjq5d{!%gxPxciE#s4f}}4hFDv-+r!@_*X}qw;N#sL3|@$aR@2r68Nu}>_>2aj!ztBWdC2xIRXqLtxR4M+i*_iq8h*JJRaaoiW2NTf`5C% z-(KTvq@2>1iTY!HPXyIyH3#$4YPf$DVl7vs0$8@9$l^d4psM(R;8wyxj zUqocf{Fma81=uS7cxhnw|1G@{GX)M_Yqp~33oA$~1fx!nlt89ksB!H)rmQCTJXK-8 zwnlztw2Hloy5gf0q&-V@S<%#gE%x?}4rSH4`)P*M805mDly=A}^beW3F& z42r;5`VRWQOsHIx&lP^x<|8Zvz?EZi=+%OO*^;b-Lv5O@Q?42rms%NosW2u7u#NU$ zbqQYfiL+7+8f%sSfLFR13}KDSec}blCXK{Sg|0Tns!2(Z zr-5JfjuHlLl1vR^puTN^*jt*;f#_=2*&LORPIRA=Zy&6uequSIF^aD;-&^&83uQxX z?fm8xkBpsd0X-fYnV&;KWdoeQFYAYl4|G;%-;QRWirn@0@?4H!0__iDrq^`*6wVgE zvwQ!I=wc=J0I1~vf6O%oOg$@h7UCy5A*AaOcJGdr(>D7*!CmyQLFdUI{dP>o=ReJO zIh=oBkMLcu7Dn}4qi3LvRnnS$HJ|PIi2vm+UCpLz<>L>bopY@5Qx4sKzZc)w&HV`N zabUe6cRBWpu*aCQ!a*V`lJ-mx=D~Zcl-ZrGVD`p--9S*2*EwLYavD96t2PD-9vEK!ln5y`t;}? zXY@E%d+eLN@7}fExt=xW1`|SVkhr>12vo4NZfAS+&mf=mgUXXm0WE4Pg+YI;1EOjdR8Q$XhxT}T&}xpjN&lk zTW<=E?)Iswaq(l}y_}o@))Rafhc}wLhJ$3L ztzY6C#+@cen`@u^rT3%z?x%7BC3BgGVLkbh?HNIyN5Je{yiH{M?pHm%tI_7Cj+##y zii}6?Vtke$Eo{{~+X{-J5k8c!T#XiHQI}$3UQNT2!IVAnP6~pZkT|Mo+DtRl6YtB^ z@H_vgpKTTUK{K$J&fA~HK+Aw|(2blU46F;z+eezSx%dMafEwzY82W_zb>RN(ecM{} z)_kBabGOmqcQg$M4a510ax3-&S=UQpa*n9mOaN7c6sS0ZU~{QhK)63wphdb%!K$7i z9aoNOAIee)gA@U+7^xDn4{f1j&#o&U>A%4RH6rDig*E-=q&YgIq8W-%q&HFq(vb3{ z{yB95?dJ|b=Mx^ml~C?ld!xmL`*>1`#HIV%IQ%EajI4>VB^y>C!$2ua>^Qv_7}-H5 z67@{=0A*LheCBduA(Mh3B*sg0HIe)Sxd}y{5;B`QU3=ZL zDx+=ceRG&Hilj;C%1`&=tjghH;4t=XzaY_-`!igup^E>*K9iRrKF-nm@9(zM3f0hU z6|8+CDmiIEj7oGNxjQ85>5(m160W9eM;SfwU-rvIlFN5^E#>>f@-ZN!pwjS`_gKl` zweLOQ3GBsR=f|wJB*AzsvR-od1t6$fOg&Le(e$-9t4*WD`e* z-KUZ+wC8UacKP5Ey&zD>6>;0hy-3Lic_tM``Sq;WUZTQ_QDT^?KsA#=*ar8Yqp`_p zHRz0vqBoW2>#on}d|Ot6d?^_Ems!4bi2ao9-i>H@AK0sQ@PcpQ!>Nq;{DGdVGNgkY z^u`i0Yik+|ocqCK+&F@foPg*OwXW>6Zt)R|>sb6r9xrT#9dSeHQ7BYsq({_m&9%k; zTvPeHkfPW`g{<-`^UIbK&m}dP(Nt;s2#~!6;f@p8FO&d@i>Q% zakH_?iYz}*U0x(|OMHiHlm5I2G&f%|ayWE{K%-*RW$$xr*dmI2?oPHnYV&p;)%(w5 zOhmY`qe|Ws!^`e6$cO;qzXJubmMqdEHEQB&7}4nxx z4E<%N$SAz6>)!3D>oU+o^(;~6q&CfJpZ1*N3b`&xws{>E zE*w*qH~woOZ7lcQNgUt%sZe|Bv!eAhLpiF`i1PORaaa?)(7oM)Vp=_42^To_x(<>w z_xsD`qvzZ0$suC0Jxi!g<2y$ey1fp!EE%e5JS4*{3t`|GPm~u$hpI$kyr_dF#} zdcKJ;9{Lq~9xj$$tuHyfAut3UK{?|_eyW!(dBJLmDbbTsP029J$s@~ z^94?u%iaH+mD3#B2WnR0|4G;IL_ zqEH#ZQ)x5t?a;e2-#!t!q-{s}PY-c=EyruDqfI*vM|hb#y?kpqlt;}cEu<~`qNIX# z9`}9)u;0&wLwWNFb<*R7r|#y=)#_D%@KKQ@U-MRdcMSTm1@(`G_RSddBg;)eR9AOQ z@R8%-ELEM`ZTnri=QOsG@Yx@x_Png-13d8`b^BeEaN73=J5ioTxsA@N96>p5w3dN1 zPS6Vj(Gtlv=FSBaw!quUeMkASeeGXTyk$<|E2ZenxJhN$pKipaa=tpcFUMzF&DMCi zw&wIaDl)d&YRr~lGbW5}rnfGlvTPTBjl}{kE%cUC${xEsLy<{?8dnb|L{WbR z_bLSvKJ$+knt^<(k6S4xV9u4NB<}XMnpyZwg|oYp=!x?UZhtr22D)?hEic7pz*%o4 zFWBeJqCO>l4jAcv<#V{#aWh@HHuuWM?S1BDY8A7=&ff0{Bj4C_eDSw^x0%0=^8rg70Wo0iB?Y8+X{YK z@2CsBeP^Za@49can_^TsXb(B#j(5fk|8IP3FIS7!XDd{)1*Un?_@LixI4IdNWG`*9F;Nv8m1UD^8?HSgqMB1s)CEZLJuve*f|!Y%O<#F$ z#61!p-=ZhA{{88DaVbut`&fmvJfv-2_kBc-7S=s%aA-SdHe6jDe|cn2NG8#ctVCMNpaSwv728r#Ez_zn3cOl-`a>8^$ zj)-ZMZDU<&6s*;tiL^AoNJ+rP+!9@~5`#k7ymN*gE*xKzBUzj}0_XFfRh|;*EBQo} zOWL4?6q({64Ah$r8&>?r#pf-ux0ib~mSlZa&{&wRhpoj_b4^A5RtH87qP(G~5tf{2fEW=@;A&P8BH~n!nai z&9^XS@j3lhG>R)N-oF~z2C6Q>Oa}Tn4ZvGUOB5f>H9RLV&Bzz5G;n#>;RUnRD`0mL z#1BMq_-GV#cG6T@K?gNF=^S9VVQbifULi{a`BJ(M`s%=B^ zgC&@Ul-=3<28caa6D*^WbW^ZY$E0s3{b0 zlVirRFasX&r?Z*tl*WWGz8k2RVtgy9?qMD_j+-{YOnd~V5x$mUS&hgA%Waq;XAwCSwn}{4_6rQNtUEw(0x1cr2b6mVqLc%Gw^dqJ@Y1RJ1KgAM~qc z=3enw6%nJ%O5v`wZIJ*!-hYF}BM&Y(1O93h2`*{RoP?`ohlBySBe@7A8zMob=3`DY zX87{NxWBE1s%G99y~BUJ;S@EO3qlp2q#YVCab{d__yp2Q5iA#9T$34#E!hwJ5ZPlP z0R?8NrPK-Ji*O5}zZa2YgErmLEq3OibpCBS3(*TO%5aFc#x#RX%2Cm}T&adRKr&dz zX+u!8t_i3}{IJLtfEZIrmKNuq*39_UL-n6xVf}73h?0n9?b-@yZ0TKV#+4;Cxf)<& zS44(P;4emtFs!Dz%ec8n3o3vUOMWAUUJK^tCvokiz;aR8C`qn@zv|NCu@BR?7|z?v zsa1uh9A6g^FWHVFPL*m@ie^nwJPWVXxK9G60EH5_rrm(z&Se$hk#CAJlq_Z7H>=f{ zM{@aY=E?Gy5Iss5rV%=89MF4OBzA$=D~hF0)r5veVNxkSx7fS_!NS|~(IZ``Z&<>- z|ImAmo|sdMwaAne$rj?l=0WQkG*B_}EnRLg*>JIwP-2XHX9iKJ1hJ2JSsBcZV+DLuNb`9{Y52C5?X|bO_kBUxiU`3u$=58>#3jHB5eChO zuw0w2qOhH0$$S)rleN|zZ21HlrD8tT>F~Em>VbR~hRSwC?3IDJNXq+&-#ZzlFq*^j zw;Nv~l_^acNAhNEoQ>ti2K!py58T1m;r4Chq)jb9V~sL?HaaR<@ZhR*aI1HCN-C$c zN^gBLE&cgK8n|Pxn@C;(4IhyQ+x0H|x6pMGz>GQLdVL_l5>HVAL08=c#$Rg5iJwDH1&G4m4AD_)v{1KZPIJLy@0pvWt4Ql>7bn0i!mLJ#){OqD*2=z_m~DQ@;PBaFrG2=s(?zNKJcE9Uk~=iFw>4RfHz@JTqw~?drMkB37|P>4 z&Q3(B*m3Ww`}{7Kn0xQDCUALysCzuzUO|mh9 zY4E-ZsL^v8w`zMtrKMy^-r_s{ZZ$0+*Fc$GJj{8Pi`}eU`5xSEo;0>St~OVCZR+_P z)b5-Wm*3wd-Euq~)3*4dY}SjNIDD^GeFwwwx}0C-r+q)#a$fCT>l4+x7I->UC{mra zgWTJRUc-Ek+dNO#MjsaUTNg^G+frqZUd+7`$;_0o^6gGg*YTKnrFXqedq-c^$~np} zKKh+y49m_4i@zeDqC7FwZnLlYg~Hdg_fIlS1Uv_fc5P?B(8V84#l3i=t#nq9&?YYh z(Ni2>lwG>ls`KpXhxsoj8826>a&qu|yAP;qee^$v@w4pWTtJ7{PiO!0a_k*wzIlBa zv$6Q)HXU0Y*T?>(p~;i-sUf;9@htXZOw@YCc^1yvhYI+j%#Wk6*wG?qk8Sw*Z0||M zd9UCVJ)?N}%<*aE>2=~&mJO$~$m!D2M$)}txcX$}TFhe8b|xtED66VDv*}Doq^6MzsdGI+ z+<7`})XTg~<00#={>0|k?O}fPDp*Dkz_`=)cYSwVZ=(fof29t?f4ITTQ*ra~V_xL7 zvlQpu<;Z_E<_KatTo!prOIVBE;_}Q3P0j+7gJRFJ;v!6sjrcIfI_FM$8uD=};=|_+ zx&X7*`D%uwHb{=gmpK%q<@-THI?G}=p`tG!HgxAxLaiiq$H0M(# zs_n}0iFkPBR(J!d#HeWRQlq^|l`IimBh!0Xjctj|K_DK>;PcxQO$T$oHoO?@q-e1Lq+*QBzQg0 zHAkavgchw>gs)WL)EzHoa*(r!sT}U;bw6RiU_7@g=bxO7~ z<#$>YXJ>_X)0Bv&uz%+r@t=!6EkPI0GRJ-f89Jm}QAkAN-Fl2+{;I_%nqdJ~6x~}5 zB!Eo==qMA8vv+vE*HEHd^1D^`b)7x{VayM>I_yAtRBrw2(n>m(YUU5|9@*?#QtC;X zofVNIniJuz6)f7Y4X<3dMRAWgNrG`OH=E*9v1}2*naAq91d-7mUlBG{EqhF4`LT9X zV!APoh7?VUrMKuM5!inI?Ac`y&L*hd^47MjH3{C6Tp+A&w-5t7_>hg(3=LN=)dB)H zLL{}Mn;h|%buIfOOy0s;>k3sd@l6OJ_B(;@<352eDenE_9vvng5oLTV4yn2{V7|Kh z@8WHg#C|!AArzr2SuEy~TNpFAqPBAyBne-qgHeXg--v(^oRq{8EN@*Rf}C%)FgJx# zjq1W{T8}s5j>=k%0sO6D5#AgWHDhVTpd{exD(@6rM((grq=uj;kn}{vFEWmLpAP&(jC}Ren!?R0gY_HU9Y%j2T)QJMWu^h4gsB8F4GX*p_*S)BLgxbx% z^k+Vou&WH|q2r?in%ZfG*{76La|?yVH;0h05K|^i1m%7azl`7AA>Q?_%O}C<{*Gj3 zIlRo}+Z{$cOf-ijo&6~3Pgi1h1GYp9V|AFjbF>CJl6d*piROB1c2hi!w}cI6qYEDYp>#6EoT7=GkU^Yd(B{{!m2AokYZsx#bLISP;PjTD1hoM-hX^iL+q0X(x7C3%7@C1IVedO)bUJZ35a|AvgJLyM=&Y6?`zq++!bQNtV)}LOP8>}; z#;;|eQwF)-Px5pqmhgtrV4Dr|mQIlu<9ia60POY9A@cV&vcs;s-j!6-aiyc&(eU!g z8p0Z=v}Zj1FHt%*oKlU-%RDP3AId5cmt5@V#M72}@n$Q`DhhlP%L}#{qZ7E1EoLPI zLgUJvD{UhvzYiI=52|X5Bi3AoEGM97)TLIeYx(_`sBh%v( zUJGibFNdy|mlR-0upuIAa&lED>d55H8azpGaNHk9RUGkT9Qn&V2qE~&Lm1uc0hjVe z?pBsGG;RM~5h-ztw23Y%yXcyu7{iofXV^&Pt~G5`7~ws7%tmHEk%kZx*Hp-CMVdc> zG+iv{C0fv*SoX8VkB2?8T579Lb#HHWD6I@wg))R=y^u3}Ac73np*$fw5(~L<`714C zLS)kW;xYDoPhk6u7bZexbOxi-x>kBWvMp{dB8yS0Cu`|4-@?0?9JhKlb_n^c6?y$d z@99Sb$FS?o=i#jxc47yP^ZJWB(`oO0JD>B)$DtJ&x)vsUuk zAIM9Fc?$SuWJ+WIn#*r)-36iGeXo9B!rE4JxwO8$&mQNVZqM#@fxLG(Yx`|iYgXkC zW952x?ZY?pY3JzT&4N#7HEoUV5Bsyap3h)9O5A#+?XulU+@7Z;rB-l;rsC;6@@LWw zMdEQ+*iIHBm7WWo`*9OMPGPUcA^Y8``}-ZCkx~JnvgXvGsXve@==%OpO_hKH>&D!i|&kmk%x+3*EEWqZ8u(vFQ4kg2d(^n%Ju)Jkl#P;xZVE6 zUgZA{%ORZG2C$Nv8CMf_W8Z@!+Jt_O=nx9q*}YfAM*j0dv$f{H&^sB-x3593ceid@n)}-yl z?9xWm=u6pz=X|R0L1g7-V~Jv(!%INq$N9LYkDc=XIcIFek9Y%@jX;3$w_T_Mtw0W{#{2PDyzEuw^*5WLA&Ac zk~B!B6`1Mc=DgF>8Em_h-gb^&?Acb`dNsIzXQwIdrsZ*8X7J#|PJRWg;}^W0%P5u< zC~IwL=;XP2Xx|%)>|Jno-Wg2utUZtMCEAf~X~C>XN}+3*o}$U$5%JwZ5iVqEY3t8r-GwOEsE#;8JT-Ik*yY2=zm77$ z>c3y1_ooRJc{Yhvq|eQ2D$oA@%3v{_Y-Pvmgfk)5A^WSo%lp0qj#ZW3G9#djD$SUt zF45a9DFyiOkQ2T>vio37o$M4_nC&(&Md26mHS<=WkFZif@NC)S88>v9)=KfNnEm#} zL<4O_PNIT)(A_KmsH;(w&bc7>9Q{KgOZi7tb^*8Nt6#&>*1=Cu7K5%Q@`v%gnVQLk zDfpvFa>&`w)0Z7Bbu>(YYmwiIpNE+b#z!JrR_fd;0Bp-l!`_1@faK4<_k!Uua3}sx zwFk94$#GwqCI!g+(D-?hbz*!77BCp4g1l`cSMiXdmIQLZl`A!24F^-j(zki8fk4CN zU+>~|nQQ41x4L?ItR{Gc`uwrEaKaH}q1gK--1ML~oBt|%wUT=LnQ^cNI#mx!`H$IPLhlN{TLNZ@W|Ii_p1E>Ip+gyDSAw6G%IrT4)yk~d`g zN}G*p=KM)tYTELKl38oRllv?;>*|X+QS}?1V+9xI{9QumHE$)8{J$}Ze9`tk^S3et ziFyr6+Ry~2&SV`ptt=rqFn;!3)F>t_2S^Vq=T!_EB4oWMeI#3#m>4C68;jshy)d#~!$SS<9xk3?_Xreh2QNQ#`! zxtVgT`f=pk!<2c_KBR?eV&In;^&YA`K}T$R!;+CSQ~bLuY2LMLzrFHRj3!*G-<@d# zJOvw8I7$E!p{HA;$faO#(M1TUJoZC}&)cn}+U67j*vcH2=J*!pFF+1B*aW)m>Ov6g@2s@Pby{&<)Ic>Yz5s zsm04QZD=C24pRc~Yscl)xc0utBP*$Pae^$IzHCC0Okeo~AK|4tPF7=?h@i`@8PiMO z*b6!uVj~!Rs>+18T)b$vp zu$i%zg{<~XbZN_ETm_c8P{eh?`OdQj42|9b+_R7sw{kb8Yvh5}qtn;cGvH?LDO7CN zZ-a+*MhUI~w)MK)kONhvo|o%n0U^p&jp4c_P8Qo_LnGc5sIM~`B#gHvHi=~Tu?5Im zW{z{*mS9p}#>DK?$q3aLS$xppSq7N?zbU(u=a_UCRTDlMM)@HANwx~te$OXT7*31$ zqqx(7#m@i!e)+!&7M_cU_kB2pJ;T)bdtVwufyz;^OOI8)ebW~my#*WYN5ZdD9_u#r zC#E|@0=RX{zBpC&T+J&J??9Eg{5Jm@&B1o)ihBhkOJ#a8ci?X+H@kqdqj(bMu1QtT z&m-AE_M!s^hRK<@fOm#Rfx zopQd*LuxtY0`+ESPL^08$;lxS&1QNbvLA0;t<<_^nWwJJ^vC1~QGT$?$jS(PDD-14 z&!-OxBNFxEYveMmRS%Ghyx4;()BKeHaQ?tKxAN!$D1}H<#kr=>)Q|(L!C(07>D3ZN zF>vlp^P?)yw#ZyNAkrp(v*CL)Ps6OfFEyWli7(sS2#8qtgD? z3uL7=eS#4f0%4nKX$vv|fpcIgujq5wh;*4QX(MOJTvfwQ zWG?4pnm(x(d$5S%%|veu2V2B5<}~-(^OC8`c`RSf$sxiLc`bHUW;>m=r^$<53Xxo;Usv3y>&6ohB>+%D?u0XElKXaRtMT_FPWYsH!v4+ zF7d{Xa19<|TAUZ1^YRl6awqUPVLKHGRyyE;i^|UT#UA_s(RZ7Y5J>SwuS?vTt7i!m z=Nd9S(BuKyy%g}%a{ld+7^SsttAYnTlUgI>%P?6B!#Z`VUm{ON@`~X%<^kaGYk#v( z%I~~2n5^;d#pxLWIzcvyQ6`8~O=05?^K#aq@+E{d-)cx$(85>pNo!V5A2w>8x94SY zi**?k{0K|eVv=Vr$qUBws?XG@omCRv2C6FeHFrZ=-j#W#ISs6>jW3etv$$9!hQ9V*&^v_vEAotdx;f zjS(9oh3M8aq}?|)4+LjscN^sNjj=2vKz>@iSc*&vQH^I?u+C9D#)8yRE7S8t@T@4B z-Owf0<`1wxmWEXETz|QKx95F)?d$f)fG;xDl3-3Sae>|BFeN}6(H%EO)YGnCrkz}; zUMtWaGB?4T34jv`k^UBd{yvW56H4c{d*u;Z&Kiapt-di0b z=Gg*1tE1d?&ZYV@I?wu+>WXnnS((dMzV_|Ytrm$QbLK+I2(bBlj`@oREf0k=eIr!l zkPz*7H{s1FzH-R~R7Bi8NhaH+ehmq+9VCS#qXzQZCl7Hqp_$93BiZt?;xrkk(^%;kQ9 zZBncsVGzkCeddZ7&SYh3+b+33YphzkgnKXKM~1+coZ@vQtyJn37I=zR2#e+nW6&eO zeT3bAFMltCTIcbRv3TnJ6P5nipsA&~P7 z#ky^24a@GUcuq~~ma$>ocmvq)k9&lDH5AHi=%k*CPMVFfLK{C+)x^$aQLcX zaYbzO%~7ef{tsD06_mDyFTf>$uOA5X__(x75S`fYVcO!nXAqI3HE%6)=cR`#&~* z#2%Fq#ZY3OrCf8k>O^}AL`Cu$Q-TeAkfXDxTex zo&JRns^syJPxwmMuZAR?UPR@#Cj~~Y7|MYQqZ!6Ip`>gdLf#16z|4J@4YO}=9*S!@ z*?%OnWu1P_3my_ z1}xNJstH0Ceg?L$q^JK(2jLe5k&7c3@ocrmeFpI=L??|~5ISX2A3{sJ(|JI@2qHlE zbVUQqV>j`9hUt^(g+}+eQtBt4ItFDXGE6BW2=>vTY5nqVYL^%HnBl>pJ)qrNmhjvi zGXLqlTvkG$iF54Y`vEdc3B;Zzz6~UvD@hP8UmZtS`n~qQE&C6mEf*M&>jrr)@vMOF z8wuRcW7*{6FtTW+q+9q9#;@oh6LUk>7}o<~pNtd9!Nb&s_PnZob%QZEv?m zttK#(DS3OwLxOAf;PW;-)HC|fi}~U*LKm6zuKnLciL%_&-KIl{1TYE7bGFA17Pimk ztGMIMuJPJz0}~x9aEH&(cg<&0<6BmdtG^N^)Um%EFz`pQEVc}fM>G-4G|3Ay^s97O zzxZe2zEYXRGUc8ySHR51L!8g}nMID~rO#+Ayqt@hei)DyWpX(+BWzI%0I4-{(*_Oe zedE2&*aH9l63tNg{=%7?RQ)F7n}W1w;{8{7NzYJ4%sugLk6z+Hcg~(3G%MQ3Ed4}m zQ&rj81-<0_oB~L0qW@s)mgxWV^$|w@bNK)NHugRh>wTD{U$#3IewwmSODemwn^m;z z17>FeW4g1GzfmQ*l>L3yrf}BGm&g%g`f-bb=te2__{`R`Cx+%<*UPVozU)k`ys6u7 zx}3#roPLlps1sF9YU0H2g;W1LK;>qISTplUk~j3&Hij^Ki7)b;Yu~xfoo9gEB35l~@Uz&31Dl$VecaV^-nvc-3o9c)V&RvrcSI zwuOh$Y3xbIkoVgtN@vn#GwtX?mE|uKss%T4MWGMN8*Vokw4Q(Z!f@an6n*PEr)P4?+Qe_RB(3p?aV*S-OUXTI&YElx+T zEck_ag0S}tFk7@3KIeGcv3_E>IG6xLvV38!{8Gg-LqRWDC%Ngit_^t1B@2ad5lZC8 z6m7KL>ZfCe5Ez)%Ix+NnYeoOA{^wItDFQLyl#0Jf#wBH6|(rusd}|_`a2J>0QwXWz+7N z>#*pli98kRiH@L`z~C5XWU%>g8*41-Lbg~!^)HH!6PbHF29u_%`z0mSpuY}3xb7s_ zO8gstF`Hs*(1oK=9G1wvS7(^R@aRwT6~hogfUVH9*fAhiY4*)C&;S5Aw(OX2;M64n zNEc;A$9C%yQzpO_b1#piQ4?Iz_wP$`FEV}ztqaSQcqh-%flkJc)TC~n;|1d1=03&f z&gE_k89h(%3okI7?bf7S)nw?kG73;x9nHX?Mr_lKB((YGkHO3&%yeW|PrY&_*qU8wn5Oete%AXKofpGedNzK95qvAs{;2CQC ztc7OJ_*U4!Nj((<%Au``-?GjobtCIOD9VK`wO?b8;vSmas5-*R{hT2++Gx)9vaS1V z+$_1dGDaW@@z#@qyLD`1tdrd z!NlW zGZ#5-Y;%|N(i(D^b}upNQ1vFtmM|$d<|akF=4vb6g`kvIF4Z{+!-e_MNC6ho&Pxx^ zFv5Hv%WL^5SP$*V?n=q>;BDBtriej8>|F-Aqx!4V!}l=dPex2)&9c_$+tg4}pty%X zm6XUUv$#z!9L^qIS;fGQE}&XAl8zWgL6+oBm_ik(hD$nYD1xYexVjHk<3FNzKXb_j z}5-78_FhWSw@Ck>4U2||GF2ZL$}lr=bp%OmR9`L3kY@E zxF4%G1{qd~ga?}o`TzVViIZSv&fL3FU9kzv z{#ndJY+e1P-jw-MQo-vC3Y^HM{1r0Gu}Ob_e%|E$FZR8-9>XI-u=yhokW16KBC(+X8nZ#x9AR- z>VbRsgJK_0;c^YQgc%uuq#xVJ^Aztr=*peZ7ejNMh{f>bYre@tq!lMHjY4X}^2D?- zh3AoxE@n39j0kN`+n6pjRwPs8$|K7Ih8T6V-8*gyW1$5ZXX0;RCM+>f^7J1+28Q;8 zm8QV3v7~II71Kjir%U8QwmV(BL7X)@u$$sasZ{2Vb8Oo?nyP{G z&77M#&O?nqf&Pb7v&&`Q=$|3 zTu+*S67U^4bmaNQqJ^pwmWicz5M4n(uafPUO;$7=PgVf&gW?by(y{i*C8;C?=Mj?( z>(BdjBohx79=Gr%8*d#5t#%*oG-(t8?O$nw^i9(4uZ7U5KsX3eQz6OT{iQAoh%-YL z%mRz{JoajYg5MGWL7w|${PGY7J^V(NKJ$Utz&5N;ulN!2%4j*4=?=Ob1h$nv9bPf3L`@VHANTnp zUx2XK*lemj#%HAN+$;#o^FZs7I+KCQ9-RXEB0;Ya#y-_V3iMr_2x2E122Q(#-q?3zTq>}V1fHx#{* z3W*dLl5qlk)Wq~ik&82TK?Y=0+Ch^!+9c;bWoZN|nCp2)wt^G3HjoUj}X+REq$9cKVjV$wS7{Er5b?Sp@5T>x^hdpgR8wYVkOG^^pn+^Bjd)q>Uy`0n zoBNg(F>D3dgJY%rt=v#7ALQDM>!_2~Hz~~%`GE>!OCKsJx9-2p=AOIuXjB_Cwna&4 zI0O&<@}%(a^?Le0Y37Zlg5Dgz^)^^l96Hm~SYI-qcW!!f+r8g|R!5yKmr!p%+&-cb z-y_#fSpRs9EzW0FYp+{$&? z+qlI5kTr8An>R;$OT#$@Ov&%L&D991+V{{tPKDy~9rb)K_?sbZ<^oQe7S7wneSg+h zSb;_XTcvzaI3Jm!PE9dCXg&0Cdb8@sPG=XJjD5D=vznRZEkfy8IYcV&TGz z-A4!3qyo;DB{3J|rgt~;FS!Y;59kmb+6)@1+=!mFNasdFfDdK1L1z&Fe&-^V~NhMMHf%dxKulPuL%Y#XS9&=`^ z-TYoiAhaf@Jggp7uci$AR-;o?Y0Q7dC zytfvBut-GUjM@|y>63V@Jd`=s;GYNC_J{Z*II-|CALQ)?;-_2zx1!HSV6peene}O# z{7DW#>$^$HO+d^z<j;JgL_m*YqXBIdf7`+5iM#8BejZ!My<2w}BCigKtLo3TZc zAaGOKQKjL-#1CDw^aD1lX9obK+!)!(PFnd$S!L`y5@QAsvc7IQgi!j7eG~ctQU^ZE z7`7i!c2A*)_kAMY79QKOws%F=W}evDCjS&w(ilk^g+Hx- zSb_%Tn!h@~bDQ>0tl{EY^{fWIp3f{j* z<0#bLPLBI1sCt^|nLIZ<_=k*WT5DCaW?=zlX&o7XJB`|6Tf&j}9BzZHHP9!WlY=6S zW@q%s+44WxlAGb5f|1gS0nBmYl($>~IVKj;9gpZKunbM-cWpT9f~ zJ(xkg?Zp;x%N_!~SZBOXy;d&OvA)XTuXSz%RrAdc&4mt+rO;)eNVufc-`jlmg!)eE z;!BV0q*{`5;q#7UWY-p2x#iKWEk(AQpS-gj%Y=We zO+c6cIIq;`k785nGR|uOd9=(%omU-=Z#u`(x&ot4$K%5iJ4MyETC~(&-NDf z4^?V+(I%9ysc0&acV^%-+Pr9qN$~TWEiP(hc-J55A4cGUhZxKKl5X40mI3?^4pm7T1f z6~(Bz{KQEC#zJ!UX7IbVFDS|lA+Y`$>kjb#NwHTUljU zBjq>Gv}3zL*pQFYjZRf|<%ofZ^NNQ(prTj`qe98gq@^9igfM|Ipr7lFgrQW`Mz-=4 zKZFCgR9l+_VE;KrJKcDgDZTR+LN_A849-c6jo7S)eXLFJO?exR`U|IH@_g*TVH`)m zX!OK~H1r`);F>Rc7_cjYEDE!~+ch*=!YMX?+Sns;Q9WPs z-1iwjjCnITC#A-|CsBjTUPux}O0(d7-d?Z6Vpj;X1#*IQz}zYZ$@W!K1xYJZpBRwe zP2h1-7&khi9@F%RPz&M9k*)X`jrcQkBprtov8M`=brG_;x-Iu;U8vndWg19-1IrN9 zIpVKs>~v~T#fqTVpW&{cZR?aT1|j3l#yn-TW-Buw#6~tNgZp&8@OHJ2M!bMj5gsiggBb}WwZ7Z;UgYr4CFpQr4%D=Zssm?8^ukvA zu#sI+wnKr!LjX+rJuu+6kG zZ^MHUEj@vO`#Zh5ixFS0`2xtDoNpQ)Z!XpqdilA{BqXD_jJGWsp7f4Ss|MX+hr8Uu z_~(d;G?@z%Pd2E(0-}=;Lr?Oi7UNTSY9G{r63*fpYaWq(!2TqpVeO}3bYu*9?~R}l zhOb_lrbwT^kUHl~_sw^K0)F?%asdp&HIlfo1@{BXBVsX)B8bLGl+*~;QWH+`45!@< z9@%BPB#E_3L09jga>@G=7L(M98)o6SpZL2T z3b}Kwo07&h{}*3x71mZ8b?v?_HC&4qikD)A0EI$AafedeJ;7arwYUU#O(D3u6f5q8 z;O_43vibj$eeivIpFG#Ko}+cN=9+WfV~j5nY^eb%WXk7@C_xFlqZJb@X!xeddX#&^ z{D5bjF`Br<`Q$!c$vrvCGW}IxojMe51#aAJWIimL+pUkMmDfB6LAX z^C1E%Rob$70U6o_*zFY|ea>d#%Use!QaA_9pLBUWfQ7r(TqRO(KTCaHgO&dn^PGed#>HX-(E{4RF5 z+olzT_)Xq24gU(_j3TcEsvfTR5t8hZm8p6pZe;#VP_h-*^7}iN1xglwBJ#)XL|PUKQkTlyFR^X1yq^-tWz2R!xL>W?7s?$3&fusf(TI7V`jLn2Iamjw{ptt?w)4 zp6Br~06G_kIn8}Z5njcIFz+(q0r23v5GhpdD?d>%B`Zf>C(+4MDNA=$1JT%UjUHm4vhrTL$wJMnX+5|krOMTha0r`X(J1FQ02 z4zmnx($G*UBQX25(bSi_`!8!TY59L7l$@tda&)kOzdnzIq)@$2uH)u>3#s@pvrU!x zv49ju57$(Kz92gObErBiS8i4%@8W(k#E`x@zhL(hqNT}V!R3tCDP>GYf^wkXK8{3j zwT8NDILD{0k^h8^?hbrO=s)pOSLu=?-*aMvMCc1>%F0h=d9?TAMKvXJ)+nhfQF9%i zQ)b?TOmlaQ0nq?Zl1o;Ky6+>kIIdUX7+L)HfVpQS0*&i7GN>T8P&D0S(X}06U19w9 zGoG&TX`l!Y;i6Y<#3SWiiLc}iHhIwxsC9zHJT z^t8J5i9Ikj7bTXXb!^sL^GuWx)I@~ok`GI~O6vTBkz^t=RK;M3)+#wLAd}&r+o{WJ z+5IWVW_WugJ-UFJu|HCYNM@Jcyo0^r0LD1J7gqzEeU56hq_2g+>S-O5OF8?8F*M8i z+8@782i_6K3wYvZ1DWELpp;h0RZ2f-~+$V)k{An?$$gyt!`uu<$_ zyPy7O&|cH+=@UNg?GWw3bDCE}6@Q!;N;C3HmTV)2$1^G!C9U)Np>-E_B+>lNhul<$MRW+2c{^nh)CT7M;HOlb8taMqX~3}C zaw;7^+jIaKgZA+q^B|0Tpg|}kJ$!G$&9}cM;pXjdNH9~xq@=3nJJ~KuQgCcF(Be8} zgJcNiTO(#Wso+8Qb5WKO2K|!m*ZoPfLawB77?U8Nm={T@E=v)qN=rn>vNq^IiD#t3{zbUtslPd=4Pbq z*;Za%KF7}Pr~ZOOMny)_BQi+^Nd~3K?yo5y6}9^+wI<_z63P+<;YfbL+&qc+R{r~egt$RN*!eC?X*{x&@lo+6?8*!9k zJ6HKB zGx4y!@#ta-C<&qq{3aqxbM?!k3ts{Y*hwT&?eo|C2LhWdK~Q15FCkmwj!%|tixVrf zJ3hamC+hg{ojuE%V+L~qNF-#15>8piYgCH(P|qXeL%j1vvPYS9M9MXE!cDL^R%LD8Zehw2pgicNo8{w>ds>%4Wi*gt`*v`zg zqih&=sr`BCo>38JPo-T5kMQu4m^ON+jRPlECVLPR$^UJ9GSh#_@9~NGn5UEAjZlDI zq}H0fzmBM1TLfJ;`K^*N@b>AZ^~tswHoYcAS2KO~-O;g*hN8J^+(WL|Smo2yO`rY>%O?HyfxeSi0te{n^@?XXB~8-OKIv=&P|I~Z2Syw5_`+~t zOQtq4V=Qe~-BvgF0xX~{63!2&OW^x?tM*dJkXjOEe}4Y(7I?sxO}U)1Mam#C|1cMM zZS7*ULcyA|tXEDt_(7Y}y_(9A{J5FY_-+vq8EvOOE;M@8oU~?Eo!Y>b=32Yr;Vg(O zqi!>@_O}AdMH5?^uTvSaBoXu0f!m`f!@%qj$P8k_FQki^0VNFi;lHh4+%!wxbxS5S zcOXeEn^r%}V;-H)E6bYQd~G)}df3rMKMYpCAe;YKHxl)StK>yp_XTPD*vps>^O79v zlDUGOj5miF#niROq1e4W^4O3JKjl|O}dCa zpUb4kJuzDvyr!_EwVc-oqYTD%$M(?HG|ZlcFgQxB!qxb7q+P~8Ni6I#MYrh4*0uNHLLPU+6TFiN;e+@_ zm4zsh^9UD(r8pe8Kj!L#!Or&wxYzF>z?P?nQ@4_YKS!HPFRle)4MiFO@Y~%d^V$AW zTu;)Lpgm3rnEh>cU9Ec=sy{xbrHub#a^_Ui&$RVgeltIupUG>A?3!&io1;d_p);Ss zacNOf#(tP@NnLB&%6u`wN@vFzLb{Zy0b7RFPFhLp*HEpzugyWybwBS+?AmqwQaJSh zqTT#n3t53RhP$KQnvrJiLw%RpokVM0_peGsuMD)4(3&?tSf3b;k$6#{zc!8fyFrdHK82u+1%IIV@L?cIp&Mf7D$+H z((N{LdtXvGo1(G2FOeYO-`7DkWK&<@N%F^vgcwq95>vbuWB0ITPSR}GdifNv z}tgv z68}$!!pA3U29jH1TVx=8uJjP9neL8&46MnR(Y>!y3*~Ht*=5 zo!`el2XxcciffAH)w12hBkLV%Wl(Q4NE1v_**w-fu(=MNaa&-JSM&v`CprRlb%Fz- z-XUpn_4cb$o5|z*wpmesr{f3}JJXxgtA0!KO7Wj7%RJSQT|{ku)6Be9@QlTxYqiH= z&XMM$*lp_3^zHyC+^yZf4jB0!za@TI5v@FLNL>d$ha5!L@tK8AXa&ThSH74MF?-+Q zbuAIIBLqF*>oB3_sCcIbZ@pIt?}=QRO^ct)fcs?IK9 zos@h9AUl{UyaS)?Oje3Wz0V{zt&3k-)pl{z)O`DPY;udG$L4Ct%^#Mmc@nYcRm!

%haH& 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

_uTb-i6!aupQE1R{K55vsC&C(*(%DdiUx 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

~iJ@b}xJUbz0rOb**THQb4Y+ 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%0D!3spMo{3@ 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%0D3Ns8ui_i|}~e*xHyq}C>dUEf3m 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

FO?<~yzf=lc4hWG#C;eWL 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 *FGQx>j3A~KL?*?~f85mIUn*t_R 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Ô_$}k5-YeCnNy6>2geSMtC(gtGtit*MB#n@fb_h@BfL3 z;h=CWJh*5Rza1}YPMu*=r(bAQ_^{G)>`A344#6CL#-!Z#CA`6$={&>l!B4exEhUm| z40sq+T#`>&gG4n5=XQhsQ;gEW_2x7vSv=rh!>PR$>ut^Y{ zS(vN8MIr1e$es?rnX?n4xtM*I&Q~&Wuu1RlVJm19-jcVpaCL;Z}WsyG1q=W5A4tB-bVRh*W$nk_Cvq9LfQ3ZnKiM#W3)P_mi7E&|Lb++}50I4S|Hopk<9(F# zK<=~0(0j#RX0rXOrh725Q_EAHIZ=8JlG5|hoR62&-7Z?6EyJdVgiVta#KEzo?PY&O z!>Y974y7Jf2Swmw`XzlMVGF3Hls7Js2MPUGi#3Sy1@!i0td?{hWG^r5ID8` z$#46n>G~;c@P--1<38vlb@JWez%lf38$+`0W+Kr)gZo2qdw_Ua0ezPK{59Z1%_Rjg z`oNJ-8vA=ekoS1{*SatW4DY|mB*lqfK8$MIBlqi8FVC=brSD0C%YdAiIk+=DKEK}l zb2-=zH=k|l-6IbLcSugW+eRu9q04>NhrxSQm5lUh=Rh~UVlc+nPuqf;tb^3-u3qnW<u&~n zE1!y#vD*s1sTIP79`gv}dr>Luk0Kaqfaw&d?^^dP#c!*A>#tSRD+$|tdR26`C1nG~ zmEjc(k^0VyfJB)}sj;l5-qDb6IrO-7uaxrw-&IOF=sQ?nqgW2X)wGH5JknJn`zkWt z<${%Qcird?$3a+@8rol#kc{|oJ*pbtaWR!k6!LCt-4!AFR%^dYdv{nx9t%Y;^X1AK_rLn^?^bSk<~4Nd=|LYCP= zCPC>tKc3CG8oNmMHP(cDTQuV>@?*f1y#M&7nuhxImvQYB(aM{);#tQ0fw~Nh8uZLa zql=u`o!{hmwoEhDE&ZW&OC_^R-2d@)R#9z5+t;rF#Y$V8V#S@}#odd$rZ`1PDXu9{ zpt!rcyBA4uch}$^f(HmmKJI<}{^P#vG0qw1Je-#^_gZ_+-^6GwWKI}nFI;iFMJyXI zoARjAn@`n{-b>&^@sNoRN0kPE+$h$5M;ImFnNhA!shC9(NzFdL)>hUUbWdNB|LAdm z{2ph;(8^3F)`6>pv~kh+p!cj2UqPpDz~c++`$!Hg0U7 zhdT16#A&eZ*Mp}XXYtraoM@;c$7-;M4o1$2njLi@5A3t;1uOW?0Tata!%QU8J`qnn zcZOE6gW*|pX5^ddM+pX8SV{=2xYFU-bx!%&5aX;^M9@308CB84XbKD`tnY$kR9!{^ zA5C}&6Tkf?dl?L+rn|n_rvV42IYQ3BrI!GW6Db_#g^5HoY_yH=M;-`t$)$`8oSUy2 zZqTkD;TKNs7d+#)ebXtP?G)-QmA}&zGuSEQOW=_+a3Syb>;Bqm(SXBX40@NK;%R*r zS#A)IBlBrvqB3Z{>1%*h9aj%sH=~Y+;a6;Iv+9sICV77ngq%ecH7v6dG-JNdM__bE z(*XC4a%nYbp9yHQ_Lu7^lU|m>ot)ottldtu?_ojvnt!tpB!bCePTWCy6!wG9=<@f* z`F!Jl*lE}QYcRN}#t)G)DQ+t6cPV}^xMW$9S9F9UYF=XRf?2d*@?OMAS@H{&>doIb zm&3#-Sl}zf-a4m(EE#X3{^nJ}!y?WM>F=5fy7r%qtw#yisxcQCra?pQ5DPv1TYK*u zMN(mWh#DPoWxfv49+Q^{5r67I@7)hWlcd|*!tMsVsEAoS)6V z-DbhGn4My6P2!eZyE!IQl*u(kf)i{h-6p#on>Kk7rs4CnGyUO96p`pj(84nh_wA{I z>j(qoO=onC`092A;!3$lZK1{TQ?;Lhp2OOtIZt7)^Z%q(M1EqkG{jE?S(EN8O}wH| z2QJyLRK+%9hnT$ex)jN!9XyWybJ2I|iIb)@$m~sDt}#DPOL<00f=fGPxkcpL zs7vJgx>~JhG_W!d>$~$*T;1&lks0b2=4&j8`uGZvmj)Eua*{XUf6N@6Wv2UyZtQDA zvwfnRhh{rB33X&UL!J5}OSy%aO3*bgf4w;!QV&bZI`p4%k>+A2!Ll3G{lOtk!P$Ya zXn~$5ap_?zaj?o3GapXzD!G?WnB>-9Lxk}9VJZtGUU2=kw=abLpRz(j4TfWPT^0fO z-%llYyxlKC?f&?8GrB5j+MGyKl4g)B7adPy zHRPPL4H5l7>Rydjt}g{_kf!Bhzg`%Uu8(*|D0>DDH001T&mr*f`D+#1iYh}4Sj1DG zjY*iJ%VDBKviG|9OGe(FKO-}mGdY}+xkZ*T$lxiPE+$GM8qCpD)LtR9{3=46CZ~3- z&JtlFJ3?rD?}dCl<@bK+Ja;+t3-z;$8iL>Op4`VD6|DFZ6;bMqPI-M{b$UZ)SZNG` z_B>%LxMFCG1mT~DwQG;j|F&_mR9M2|gAejvRC>oliK=nJDAhDP$x5Oh^M_Sgs@NhS z&wtiR-~$+KE^OVsc5tkW_6?a!X4NvZvQ^Z&k1R^m`Q9lvFd(OVp+`lJf}L6fG0Kg|AdgEtD&)MI(tUxNl+&(5SER z_GKQ_bYG5`nWP>6wGW|joxx*jPB79_Q)i^M=%hQuP5>1<9e5I5rViPVeY9qMM`TR0bXK?NG_6-MKj7M)B=U_Qq9$4MkazgvW`ORQPF0>iV*f+rLekksE zF??dJBsKIoRuZ&hBPZIy;%v0nX2AP&$(dKaRLV@t+P%{1Vic_);FOgaKns-Jcy>=u zYB(^*_ua3~t21m+A$shHq-CqAhf&LHZF9KDDH{h!`iGK?U@YSJbqml51>-phB+?;o z=FCR`W{@RI6$1?9y*2`)&Ye(2oE`A{&^hE?2IxK%bP2iz!{?xnn+N_6^5Uq0J5US| z?g2zP&F4H^_B#0^Vt|mx@fgIe5#X*J1QP)IJi!Ft8-(7WI-onlb;3oW4g{R6O{Tl)|df=CRdCjY-C>C$Zv7pNvc7dfs~4K0kl zt9I&*)g5dbw{*ZKY`j}c!Y<^%>Cs4$Wq@(rxJw_Im2>w9yh{O{tWTnbp^u$lR48QJ z19&)zNJ5o976C74QcMURj&{=#c8Z1PS1rJsUJ$CA)Bm~xga~ES+$LB`D7v-~zc&HH zd_X7xph<@dnc*1tt{v=u#o2L#FMjCSoVsT`s^)u-?X++`0Q0}-{IAOp+5wyQ@P8Ps z*{B3xyo7dMCFS@XAYfha8sw=*G2r14bQkR8$BGzsLiWg0J!;w=#rU7}g6}tp{b3nu zYM={%|C56T{P22b=Qm$s8Kkgq_I?)gyWSu7mA_g%E2#OizQ)-#c`U1A#v_$bQ}-aU zn}k_#brbu5$Qjd(U4(P&cegjXEAabA5}A7!_LTHyt)+0KqCeKG3=EVkCLNPgoj3ZV zOtN^fg|2baff_R8wAD#8WMIi;+++SC17+tvr`djUEtp^!d$^|sF)=w#pgcv{pwMxD z$%zq0>08-qg0co-*%!B;f^f!jCl!pyr_z+nUu~B$G7zU1mRFDJGwE!}nA4oSTJOY> z(wbs4z;s?iC!-%Q7!jkqXM=fqN_}aS2uQ>Nc+(th6uWAjgeYmegzypg@R;Xey4rQU zM&OtS#?7#0)l)vcD`$y_eWCTK{Cx0W_#%#qcMew%{Iw{bAxk7*ryb3lW2o&DQI$Lz z0Ql?Wal+*{DH(y!wo!Q8m;^phu4bCRtN|AH9Sq#`3F#YQn%huqVp{7A2|c&cIc64Y z|AxTY>aX~vl|qSs;Cw5)fJ}NtYI>f}5igQsu~I9U+4hHhu*42}{MNkNoNkrD8o-2+|V;SxpOYZ4${)9yJFtTA@pa z5?P}4^D7jkmf=XHMRxf9jH$S33gqEk!<&A)6?ctaDIcW9KjtZ`0^A=jtrjAsKT;pe zTnNVbxlNnoZ-J}uJ=!zS|9 zwEWLe5dnr3lf(7U1i4=${Aqm=bg@K!633|c=hIy=F0#_5i|U!Di#Xxxv=Q>-Yi{#j z9WaL9H_uH?hWm`~c%f8+%%Pw4epPOrO0dSlshKlgdT$So)Wy4u)s3oCdF8jo32Mg% zI1@a~{8k$XuNZnylBp-6(MwkOHH%wS_!v)LA&9Iv^_tw~lUInZIC0&`P=FH!^@HqU zGaOTXqz(JvJ9ei+c-50}O{DQ(blG(*T<2`j_w@w| z+84g8$5^^^u05xV28iG+G{LvpBE*Q49t)~_WaO-1Rc8nKVq`3_>$f~B@zzm)1GeGu zm#n2*zD9ZQn!g18#BU3ByA*r8@jh4!a+2FxqkptLWN`$a`!lH6ox#l*F%&xaH7d+< zgp86sZ#zE4@U2$q73iz$r{B_MSwJrTS~Z<_om%-n9Gex1w6GTGJ$|jE%`#c{&il%N zWooxlH^NfyK42Ij8k|Hq;6o!ff98Xg7hyD@y?t2QBqUZY zCK7D$WjPl4hU3hk=|_C(9J2DvQSc~i)ry}baRmRhx%FSVV=>MRr^8VTm84Wj@l~y? zwC1cjn%0qP7?u@rKSj|L#OaH2f0>34waBAo9ccqkXN>Ek6@#_$!IwL%oiQ3G39<4% ze3gyWoR&To^(;I~^bg$Vyh@^{O1yO_-bc1Allu+%>SQ2e-QsELSYrCIz@6YL16o2a z!;#kk$KGbmp%aA0%v@qyvk@dOhvG2o1HDLVU`@dCEU#WKs%mCFYaLa9B$v1;$OTI~@$CXQM7=r%)>~o%gh0 z)c%Ju;A0gS1qNMQe*isMy1SP?R zXH)}4zZ6n(?kW+VU%H8fVnQ`%yop{47|IQJ%{8ZX9*m8zXjij=Fz}axcIW zd(65z5I{||h##S9P`86rC3;|3lE>2*^L1X_b9TalTYf6lAk(N2X`Ef~a#6nv2n-Cb zh9TFv397Z=mb@Fbd;gIjr)=KqoX3Sp;FJ7-;M0n@Icn*~;zB|D3!gLf-s&NLM8#Lg z`Z%>~%~U^!6tJ%!B!oQq4TEM}M z#0NG6lIeG?e*ji8zX-3sP!{2h)T1xNQj2`RMUQ*TiGOx*`TXF(o z)G>Bmc(+Uhr!MDuh?P*@i_V#nXUJn~qMo5C{g6RqqBn3ZOp+gF|D8_%imgZSNS%QR)D2U+CDW|PyQ zgV$b0cS>?Qw1(LX1IyK17tZ)Q(gSbT%wLol4l8@l5esF67X+4%jtRb9jjwh-+#WLD zBhy7ZSN<@q(N6P7s2yy_8dRV*)%)HIOG!`TFnnIy;uassIdYVKt9-+)OC{Le?HSTJ z%%HfQe=NGQHPIaT_g++=uGX`FLG1CPwid?hJ0wpxJ_EN(A%mYt-U0nB*aAsob(%h? znq)Llb2?R0ixJjl`yxJ(>LF6n(bDtd%Zx9b8X7;TF^0eH+kMlm@Zisre4b-i@qJ!e z@ClGJ^Tk!leOi}N3zBT2$?)c zA6zF^mRF5@Fur%Km_DpxIT{(+GI^zwWOJCqUBudtyK3I)ga`Nyyqk_fcbq}0hkdra zp%E7KwZ4qxF40_tb`7T=!K4Xc(g8XIp4xT`F=-tms+MG8h^J2<- z&LHckNu2Q$60>;Y!XlXfvoEP}TEv}F)$gkOz|65`a^_402iuzx8Y=Uz9~nuxz+RFN zzE2=D%ZgH_b{L?9bIOLIFkb&?QC(G&ufJn=?{R?Zoejpk;n6;)cT>pU$L6<2{_jga zAJ{HjgMg*M&jk&oQLYV6OCQhvVL|a z_HFvI{fT8o5bkHS=M6qe?feLF@D?wpqpEwa$kDRrC%Je5bo9V3v#hHN#}(S4(a{2R z##m-DVmDl;E=#Da64~eRh!2?i^6v0;s01!tm41AMO4xqr_$kj2YSceecD%@(7(Rw; z>DnDuR|);4o}$b5dT-9$?N_pjy1TBsLllbA$9SxLk0kV)Q;}!_2OTS}xwGd@tD#2m z9}^rW>E_a(V*kQMd$w%$5q01V8VnVnIAaU*2X1$!Z&ba8STLpefj^?1wrKqxxIPQd zao5Vw|HV(zp*Aa?UE9mLC$5^FaOu*v9CaOVw@=iNu0#5|2d#&E~ov))p)p@FlV~8--?rS4_ zzA$DDDi-VXV~lEB(fY9iW}L%({%;8L?dln8QU7=DN-mRjn}JmFAs7UIo|3jKAq8Ssb`iVnu5WT}%{nhP?6K{>4=W>{#$YJjNEVFjc@b| z4;#UF3!%Tj95It^OX9j@4;bRGS@DMf@jI~U{XTGOi?NH&@el-S0U^X6A0o`hM;8Io z(x{ck?!^U*_{0{UF# zzy-u$y)&GY$DbGh4ysrw5xtI1cL1=OE-Y#%D#sfN5fF#{M+Za!_s7Ce5Nxsw#RKg? z?Og`t_*RHW;~J1H98C5uAA_z2#Zfonz9%&uPqY*u67k={W#fJX@ZSQ)6X^>FqZVgt z5LGe$7r;~T>mBe@E;`s>xbr~|c$<}jyb$odkEZg3wgdNVp47Ag`lu(?wqxX!{p#8R zE$j=Wh}=KIG!x-f(({Au@^R#qZ~h>43c{|MHEU8$NLti+oZ0s9AXGiY-=Ar*GdiK< z)|CEw9KNZvASR}oWzUZgYE8+?fe9vkuiy5en8y2oRhq$uTr_3SXC1yVc~v=;evFkxV~E1R44DraoscxuM1`z9_o=J9)Rg zdb;D;?*v<|*do6^%f~d`8u9up*+gOvZ@;qBSs51;6KA_u%~k*4diX%EUVX-TnS}Ro z;1!I*e%a6MuX+r}tzeMYA@OAW@tcHUQHc?c8B_f>it^yG+qc8|L-N=5z%R=ZdnK!p z#C-!gZWKy;#)~tNFJCHCXqGKE`+x~9+;tyu%cb>Cs_Kw{vE8i2NJS zD=bTH+LSFh8ZXEEL{vH@Ij!w}KO*(HUN_*Q01dl)#yjwN_c zFi@6s)LyIqGujK&UXVzsRJtuSJW9tq(d@wDAnIx$m3RzoLK}0}-{7+7DLJfttahw< zDo%CWR=&3y(jIx;su2g4NaDXV@4{$ftPE))O$JB?d;AbO6Da)mS_Oi`!ZXeDL^Uud zT_yG}u5HZoaA?U==EM0>3>m^nAS+lp_IFf96WS5Uu(B;_-qWTPSMO>03@k~f*(S0u z`QbsiW{|1I;;{KExy71v&Qh5imAzm7fU7i4Hz-JU8LH3hB8#ESQ)fi%=2N#S=pG)p zEKbBA#O{T6o!qs+GSNa~q=6a4(z(rKCWtNz?XdOR4|Z8JsM~7%)nM@a-SEks&4ZLZ z(OdA1a9ABK0Ac zlV*H8FD1003_@~FzW1f&nc7Yd-n+VXzql?MYhKIW8~OIupIZwJYTA?do&{vtN9ruyU*86#V3gg{ z(nj4TOPr+mgB3rJ0Ik~Yl`NZL$ZUe5edy~^LtoNW^OVsE6b6-k~%eAc#WfV3~DFIK#ivl0+EFuVq} zTGE2LJV12y{JE(FrW3?(X;m3m;7d|Sm~euyO>NE6JhX3@Jw4S3^Jq!tv?)#YQI4=Uqt z44Q!k6^|ZtL1&Mgz#Yvid3h=BwuiH-!jQ)QV@YU=LCvDh-dJ>?<03S5Rhx^by=puJ zihMvTh-eU0+X?^RLwK)wMOGsM4)9XRd5A`xtN9(PJz|4bx-K8^G)Hg3F8)&1&9?4e zH=?qXA12g5D(?^{9*QyOst%6ma??VQb{q(E9+Yhf^pJwyp7|RIubk46cSe z0A1`!Vzji|_-_yT?~D$g!Tq}VK!t}?Krr+EC|?0|qxC0~eTz&Iu^-BN#C6k9Sqx0AAc(}eba;eVHqVI9Z#hmCW zL$%^860Nl*aihQ5UR=|cCljCyc2qGh$fu=q|6$FQxpHp4DoRGns_b;H3dq!X#NbUc zwI??_Y#f-D;VkZwu~JNZgA4vcr8z7VV9QjPq+#!K=vZXK_P$i7T=hgJ&Q7_3D8A9p z$D2t5Z&agh^qlG6($^JPPgx%${m5 zqdtEN3&gX_Ex{<*BFA^2REq7kjwwZm5x03S}bFy<)tfX(n z1V&dIW!b=F8N<|5b^pbS;bn9$Z5iNNiW`3aVwzzxO;23f1p50C^XQxA39k2E5dP7o zOnxZLa3g=Bb5QgAjh4uCBXz-^ z%K5E3sYrxxLA@{AczOqVa-u}0Oj^HjR6 zn228`jWoF|=@1+pDDD;3ns!P_8@tlk2-MpMvAHbtMOyG*$KRC^*a!R^;%`bR(Ha* zwAbuZs?K(EPT=R6Cl)G~=cZ5W&ex^()$eg3Wu3t%w-id_B_)h65nlwK$4(lJZ##K1e(q+%@tJaK|t)L?dg!ocX06mh)Mt<3xHcFj1Yf{m02esv;`q9ekJaQXh&9oZ=k?Qr|jJ)>elR}AH)fvbYFnFXhFs$j=+3J zJ&I}&PU0Sb)p25Bip*_0h_2@Mwn8VAGzf+PJpYeiG)%|jCN6u7(x*U4*{UG;9 z)@z@*K)S|EZu6?eV&<_{=a=nOt#8e}XG~vBx=C`i1+<;17m@G&1k(J*9BC*6p^ORt zrZpeEj~?>Epij)XOJcIdb5?}&i4`0&l^-XpD10?5y{?LC%I zWFHsd7LWM~vCfO4X42-kVLfwGoDT|WV1C;e2Hj#M(XrCH<&EPE z=^(F+9IO7dUpD8HH(%O@E^G0UzLRHV?VBydZ}YC0t~-ji!R7&R*izf8;yL^}y1n6S zT{XWu-QF!MCEPLH`F`w<>NE(Z^h1~C8)d``ho>lkw-Hx^wVJzCo ziM_?b6{Ao+-F|5rJ~!Vxsi%FLZ6?n%4`QN^yD$&ctb& z4SW_d^Y{p?$d^J-GUF4Xv-G>pYvxQQcR!T>o}20u?Sxxj&nf(G17~a<0hlta>aV7@ zsJhN#Zxa4+kOj@Eb!wB?)!z5qI3<&-P%X>x%} zpIjEKEbGZ%vaq%{^xj(i>3Jz|kL8P>H^&y6Pm^5$IM_ zl5hl{$^G?ETD87n368_ECBT6Xc5|v-M+{M(d=}{WxH6R^`pjoIb~?XA3RypAj!`s1 zHB~>UJ_*gNDzATA@!`sln>RgFNm8G!Y&XRCU!17ZsDFVOYB+MH?xhUqruH!e?0(0~ zrHx?@*}1wYJ-&EYRgo^aZU@2FVaRDU;6eMEKSBVxG3gJfK^QCLumiV!#1Wi+@b*ko zWK9lgBn7kvJPHDH|SL{bd;y0YdHNF=he-&l~r#QkM@OV`N?b@jTooo5yR(qc+jgRxC zKP80%ivFuc2iW3=udd|*caI*3e>uoQ>>Si7)nl~qhUQEPYK9Xz6ob4>@h@Lpy=;TR z5BH139|FX$mcghqBh;hg_QG;b*!Qh>q#K;K*K+kT1uQ4Nw zZ$i_ni}YN;|J9FKf6kfpt{66~RroFBs%x%JYif#9)jbGf(ZJ4k5z`sO!lJb*42pl> z(JY@_N*KJ-8t&VMt0JoB=z*I9L z2)%9_^;Pic_#D`Z6Td^pR7S4y=30tRhb6e~{dXxGueWxarm|m*(%mYsAApg$Xt=LJ z;!YzadEz=Wg9i>vb5j{y>{itCOYb9@p@VY_KJz|IiiLic)Z8$Cq`>eVs2#!RoKH zz%xOLokH7NRky*M>YWby3Zae(_Gi>TWOr6p7{_F$mp&d(;QYcO(&-a0-yxo>VCrw=-M{k=y*G=h25S;sA%Hrd)rfB7YWzl))~@|_@?`#TKz+%QI_`+ zaXa)yTKmCsrUEp#;SbgVm}0Ok^nUlF+rT=d+@WEaiv8!0F6*yly!Dn{V&1he(9gE# za0T%eYd-;!j&cKflz5KKaEki%1xDqpnFlNSS`!^(=x#Qugix|KK%4r)?8pYAQ_U>To;h0|H6w6Xw_)`z|C*f+v4%^Qa_wD2f3Tm2GV*nQDifLpbZUu4;-1*+= zO+9?YL*G7q`bB{}kebMZ>a6LtE^?od6j6ZngrD#Dswh>G%6Q=kU-%Gl;8vB+jf zH0N&3|G~Pmp8g++>inx(l(V@|DUrN`)|Zgp1U=jV~-u}Mm#>$ zp&UvrrfZ`CrL^Ws#eW(YJsT!g(9J*Xfd0y#?Zv`14FQMn==t(Isovm6ZOD?3eoDP> zY>YDCBPeQ`cs{zR=HGiE_tD-Q*plB3j&iRrK?W6KA(vmZUh{-4yFKXw)4JhPd+^^* ztD7+`)B4Mbp3A1eUKfs=0-j4U9Y}8VPXCw`q>;-b@g|V5waW^tc!1O{hMiE1@tAos zyTQX!$k5QHB|GMaV;A1=x2$&~-H_kKq#xPl} z^fj{|Q;o_@4^yz+&@Yx$yvm!<@3R#;iSFN4Yedg4gd;uvI{SDyL~ERkc4}J81eqm{bVRK{;S@)Uz#Zsg3;>>%gMx@GenSD8|5pWr zSQba=X|WV_ZmjeP;Ac5i^S7J+cr(DiH^s@%L=Eb2=C~X0y%)+^JqPFgdYnh{h~FfM z!-@d+F2D;aL{yHNH2iMfYb)c*?>R1{<43#rj^Ws%%2C(abu~)QZb%?_ePgr9!J$6% z9Q^s-hibM4f-G#T%CdJiIWpY7gPl~AZmDa2pR#f{TvPlZt{QmeG9t+Ax&l#6OC^2eTE6^is# z_-NEW4p7tQcS{%Wi0&$+*fj&BpC)9EPm(?z&wnDC2@MR{?>qV;b4509xwq_0k2u0z zK=L#FjBbF@zhKiWkRcZix_#e|&bNf#W!f}4+!hh|B?gWAuksrO-IVPi-R+LBK73vx z&T~GW4p`3^nO}Ag_A@nk{!FrBQkePf+ZLbGsRMevd@dTdpZ(K?5jKC4d;k6hNO(+2 z@bKx^zbfLZzps-s@Hbx*cKCur@snDpGGA&Z8^=>h$B#w5fy#28a`3F%Iy%+M+f&Y3 z8|PNUI_fZpvQahv(y5+xtLobes`UTc=LeE?RR(_V534VWx9w<$2 zWl-=ihoKD&1P`l&D72ODbXe>o!~@IA8uz=OH8)quzEG4yvzUk$Fk zdB>{WzF^0iTvF1;@-TH8gz?W%VqDT{*OUGE^cTOhFiqd)`HCODB_IQ{7so9LVmlZ= z?Ngm+G(>YMR%OcmS)3TtmnQU)N3*i883ev4vvZIjcJhp={XHRcQ<#?}8iz74AaQ0T z^5FG)4+OIZD1rTM9%&kEmAg)QeFc~pb(xxZoW|taoR;~0A?kILb1tvU*qhW3f9sZ} zM1P4Ofnjm9=cD_f8wo9>r>>8@UOp_;txZ-;;;SB+WOc{%PC=VXjVWdlhw%3bD0MdW zF!ma`+uGT9eqDaHTtU7dbsSab!g0b;^iS;)G`C#h=o;6okEU5kO=C12x-$Q7P*=O7 zHMe9fHg41J%*P*~#xvA}6@2mgOBWWs75Btq^J4vYf%`523(vnA{I)l=84!O^wP@K| z4LNclH%a6u%;RCB>(h7q^#uzChN&scMR48>$9DX^W=4;Xg?|u~|Dv+Hb81OGkMW}L zQ>wYof~2&2ilkR^=lEkkx{y9B+Tqvmi#RGCcz)|dmJL;**C~zb*oNMR;$n6;)jYa0 z);~}hUjYtTXw}AW^_Zy!>KEc$#?1GD$NBQUodQkS=Nd*AzKP8^j5l()C_pQ)y@zra zCb4Z4<8N_;#?>rns^j#G?U*{+F)uG|xKHU>0*4@X9m}yAfh{gzb!5pF^DfxT(l=x= z$+Y7^{8W7-X_w8zTW>5H3!c_G?TDsfRfb*h*i3ac1=%AL;%2h|<=IJl-kNn{hz?4^ zL>xU*Y9H(uu?+bkq#rYbM6DC*-^RM|*YC2AW6cr!Giq=!wBCpUq6~~j^jVx2`K{b` zd2N=Mv>Lvy&#BIAQ|2vw*9Y@x-^gbhUx(D7DYDj7iCR?b!5i3FO_`{A7S@%e-jteg zG++(s)T;d&0UnzLXugpc_}FPIDf+9rXSrlzX7+2UbUJUs%alP}e*)Hbnmg8CL^geAGZ5PpknssdpSF#7@U z&WatG;k-X$yVd2;7^L)E&^31WvoOV}LsNChtB+?Zv;I(G5*yHa#@s9w_dVO7t_D~J za1=f$5$N%D&7XJC+db=h#om47?9_y-jpnMLf(-~9Vcgs>;}3uukFE})5wyjWf!D|F z)yVovmqnl0Y-r3hEI;v2>0S@MnbG3&dM7^;E+FT-G2~f4Ay!T(aG6v(=^vnipW_4Q z{Td4ORK-(rHSZhJjfjyLOA~VagROWJnUs>}lK6I!X1+p!kCzu-*b$N%zsTa)4OhqX znBscpbV@D#F7rcaGR!Et)m~bpie{tqj&P@wh_)zvjMA*)PgsEb2Nq>S-bb=7RvOAz z0f3;-+k+izrtHfgoB zDEpEn3H2JI`)^1TGF6GtccX2c?dB!XQXi7$lJKW@c$C>ByiH3oaXMCr5^PkZLm3PM z&yvicG{!x*h2n?FVQjx66@E&s>927OwZ7`t)R`qZp}4Rc{~paew~E31wt%`k-7QBT zOPAT5s~qrFBlLTLNMWl&BzN@Mluu>`u{PxJTar#}(A_7dQ~|pcej{6EXT>u|25%Y{8cE#L!G+!D zl5}I2)c%aST9s4~fv~_`*Ll}HC1;b9uvjd0hBo=-w)U$Jm$osa4ux%)KfottuLSU2 z4AxQXpkuO*^BW1PE6K5XnY&xa7IrEcL}b^?A-iF^5dTB8cCr!aQTo;BG?%e!zI1uQ?QwDbK5#_DBQ@m@oFoDV%3FRLiu+|(%+Af#Hnn-2zmTyjZpG3% zjY=`ePFJ1e-sZN0Xz7E?3%TeCyDd^LJ&0(V%ps6TMN84;$6#HTi=U;bMM#S)RP;uK zmG`Tfl(=B&*m==+Of;_#NlmP!88PY4P0BCM`5mtm<}l}logJUthbtJ{%-=@%ByU+n z^9K62Pl;{Y!yiEr-hyY+H9dr9Yvv-UqTA1^dR%Bcg0LW^Z|aSY~(PSU%4qEeqEl zd!e)3UHyx6#`2%6Xvuja@$rYFZxn*$W3~>t{lnR61}eF8^11+kTx~83PR=i1t4vRu zY9uC)h8l>DaL9sIP%_fbTq`R@nQQ>@pZy&G4&JH+;yubKssJ*kPmFM$uA<@q3hB3^o;}Nr^o6!NZ)o}#|zrpoe z5%~VU+AHw8L1ewXG#KzHfhb5cOHR7kVpa_nMyeoz%aQ)R3+vNrH1O$E$tPi%14Qip8&%@ zqJ?5R8p!Gyn+)ls@#`3%S|vxDeo;(N>zD{$_qc^8uMqqh$_+DFNmS%4O8aY+gmE<#ql7vuiLEW89LucxMPrraUl3bzKP}aAs?MqHkd+qiHzgy)cq; zSwk{h3)BUxvTyHdgHLizhP1w%iZHJeaG}14?y(Li9QXdo<&W$s&CU#r>hW~D)d@$r z%QWy1%+6=y2C5&^dz)L?4R7+O;z(R>#|tbPeHMx=uPR)?)!nf`>@*Y z&l`09-96#CF`GCz&XLRJrVZI$bxOhuagm})3&PRqF>ic-K98V_iJ}OOw(uM8{nuq~ zC|tXL9I0h(ddeQUkk@b6uxt~eqH5T=B3_xy`34(ldHT=nYP(^(!&}^i{ZChxI~lzk zqZ3&d#l70f^q&4A&O=)>e&uR*8f-OAwD^>0stNz)3IC~$+SW45Puij1EJnfF#J5Xh zbSI@|>XP$Es&$&g+<;o%i~U{Swwd7ri=4>GA12ldU(xYW)y0c{1@3N`x*A1g)8(vo ze-M&)8p@%jSE1LvPgVhl1<0~bEp@7M2FP3ZhcHCm zecU4s{`Fk(J4*|LJdpndYM@LP1AE{1!XXG2=S+S?67^!3U;sbL^Ou^WQ!5mLu(fQk^80)@A09 zE5+?tbJ?wHoBwJ`JC*nn}qX)TxOZk8=GZ9bVeba1G@5>*mRzC){ zsy{UL;NE{3iL6UisU+gx`xKyNgZ}IBrGjr1w{B-N`SOJ;m8oGep4(+-asOuvKsJ7w zWIX)1cQ#pv=O#Ob)}8kHS$nAE1|jV4u+qr=)KrOI!vCJX0Y26gYAYcg#_zk<>i$Gs z(GSB7P2@lGW)*!tExa0+6jpe)&F1ik044YS2OIvp6>`~8Gpo*mCPZJWvn1obBywgk{~-gFi$Pvc2ftb9AX z?AyK^P>hr0_|q&{W;2}D_1M?@d_=?{y{JtUk*n>nWy-1Ugk)!_iSn57QKbL&E4k}Y zPbSY^|HEgQ^PYtA9U_2EpCW;oOym1Mo6MK9+y29YDmuE(8#6TVfIKDNfQzU2ju1+# zm1zDt7IUH*>DxLrbo`X;+Lj?>sM?RpO5HC_%f>BCLiurNI&jIEIPY5|K^X@7(VLlC z1!7LwKXX3wP5D2vBKft{ygp%1?6(PsEkeU~gU_-}Qo z^!mSsh`@k)%>eHdhu#=nntcBN&#K%)p4K)jN3r*E(ox<`rC9#mx!SV0Y)6g(gKhta zV?!4Bc2qgX&BrJ{*-~`6_=z~=uEc2;3=v|Y1~0l`A>-~@Mf&EW0~&fxCu1PJc#?(S{@ zf;$ZEKDaYDoA>;`zJ1uwSs(Q3?pjrKV;rAt?)=p`y4FHL!rVtH4}ZnK>t4oeoDn;d z)`XmY+7@o5<_bTtD6_Xkj3uL3qhIy*)Zo_*M6mNeGYam1TfPWBDFlf3#@X-5 zX}g%MrA=e^dmJQD%L+rjabES-8F@}fu+) zdz#nP;p;PNc6Raiks;LK#!+oT1YcI9#*GX6KorKCkS1qA;r z`tVnZ#*=~hi9tsTbgmON%_uaQqOtP!lH6sxE9?(d*p3;l-i4O{D|Cz_^h**U?=J~r@n^3A~aJKcR2V@ zAgrCyT(;-}i3eMC+A{_)I|1iSf(SSR51C6$o(=sXM>+M>67P8{SEbmmcA9x9^FkSW z{;*_S5mfhU##GJiDQcDYh`#QqQzeBG`Q}wUKV%c*ZkX@0eUDxb3tLF(3AdBtP818g zR7toT_ebhGIT)U@$hTYOO1HpAQ+n2HtBi+_vGC&iI)uU+0{W~YerD5#%0cK{Hn;Aer*1#k z!hQ=^ z(Eg@|=cdheMu>;nyythtl^t`KNh!=%Uq16YwgbFVDadN`#S&121EM$G2(g}^PM@#H zS{EN5%_hc^>Bd&XP6u<-%Kx(T*`>1)h{S~s^^+lI>Nf{vrt1PKXz|9f>zKuOC``gU z)?ZMp)KifK&|?oFv=plKlyg`3FRU(`_L+v5ePeSii>&ikVa7Vp)IFE2L0$pp5g!UM zfq6)THs^AdzRtWA&%55R(L#Xx_#z$?E~Lb><5qPl1Gw*!UwM zqn@w{?F3{O&SW^%W%(8n`n92!I?jLQW68I!T0X1}qjNtI#r*|sF3E)RF@j8bXfyNw z87+|}+=#owSt9x#Xs+bN$`nMMm$~cj>TSea%s(#kPee?i7|9|6c~A|E_*RL>OwaO- zjBaOZJHdVdoL-*88lM~$JLG+@CbE*Gm=+y~eI^YyW(?=BcBS<>&Diy|o;9|*Nq>DP_EWXVFB zuNFcc`4uV4R{H~ajCZc1De>&1s|E+AgtUD$tSER!O~Amczp9f5tmFA;C)TUrct+bO zl~x_x=mcTGKFV)QS;#x@5m(Uhj!5Q@Kyu!NV@{r}sFy)27Lso3^OOjz7h6rIc|d0C zg++>*0|N3mO>9gLUd#P3U6v3IrIp_)E16 zbzfj6WIF(V={PUe94W`^7bJgZ7g1%evt0t(^lCDZ!lz~Niff>$qutbiIr@1wPl(a` zb^K?PtcW_Az!^P@QsWwzZ+4GmtPIB16^I6!0m-QC3p-kA-FoOW=A@MGbXf&`-|y;o z_`YVZRppqS4MU9$b*zS`O)c1OUZRsV4gs?`os1FIu#(~e;pOf^FxRzFU!)zZ$uy5? zn_1k3FI2`5TN}7*f+O=L6N2IVEVp0v@Cs~@S;+^zk&l`Lvs{cy{=UUrwHs98ta?P_ zW0d|1f+p#*&bN@!xDXgC(&xOxDdwYISIr=Zw1K_?es&oc+@<+6c{GE|!F<0z!PWri zYn6}D`EXMq9L!EhCXGvIixpGfl-bz_y&7Tfdd*4f1G4fZ-W_2BP49(Iheh}AYT80I z&L-!rcWwIayO-9xJW=IOp?mEDD)lYu8gShFc~XKo7MZ!FWt}80y=fqB;PV&x zmDs)>%6|x>rRv@^7N0_S{)J_vJ^;j6#8E~;TNa*C-Z0slEz+hwm33sL|JpPr3Pj7D zxm{ZOl>2qCZ(RD0OtiA`B-V3hq!AA%*NK(c-AIKa2??L7zO6`%MfjO+{vaQt=t~p$ zdU=sihjpUJE?xtBD2dEl^#z3*QAFPh}H16#Xi#RSg$kcJo$R~8QQXiYPi zCfY&?oS3!fyKAgey`PXlVzLs5MM~9^jt>$C-C_PZMY`oKomad*8 zyXaE?o4>X*|EUoFxA^N_cXt{6>NL{2n;vwQT+S3sSPS59U8|_2MRjGGSPRu*8pTPd zjg{@f*+L>WC?yl-*NCVOq-b>fSNTV%p=A?;tTDbDxorNGXYpVv$fc<{{?-NN2m}8{ z!MbZwv~dqNTSg(o#Y6*lDJS=(D)aEplW5`kZfpEhz^AHe`Gk)}-Byde#W|C6G~>nM z<$kI9qALigtKH*#E!!6n_~KLC>1=%rDL)fwBKj!~dVgtO#Jxs+jWb}(d^Xu@+E`oCILi=-y$ti+xc)|BY^Bq*bfk&qUuTud4jmThOcc z)Ft0(1SkkY>!rG}!x4t#GlTqlM|EIBhr+Ir)5J4RKHNn0<0w+2OuzP+#SEN|E{0Zr zIaSI@mr3j_Wno{WT1xCk#Wg$x=LuEnqxr&nRHRC2s&CBtqx}y?R`{F zV-Fwf2#M{)fPSNGV{#GJ;iv!ejkG!Jg(iyNd-lXbcWUfR+88N&z_t#Ed8r6&?;Z zOoj3Rv7mPchTk<3EQVZ<vFgdHYTNVZR`Qi}-;udCt-OVy37iCZ>|mtd`Nu=en+9AJ%vsS-mvRd2&i2UIyp z;GfFYD1A?ERTI4=cj=XlsEh!9u;gBx#5*O{{e@bfV60IfjvQZB{?1)!8pMQDCi8@-cKT}%6W z`}iu`eLe#4EN`L|WQsgFsgc9%ABe<18yV!XGFmGnV+iv4jNAN6g;NTNln?Hx9PLe#u-=WT=t6^=&4v2Q;KrU*Ul=a;VmFJ>DCwwT%77NNN zy-F3TsJcipi;Fy1A3YE};hZ*V-Utirhoyk1%CYRmgT}J*;5uGU-Wpv%DGLHcKNzzQ zG2h0Q32sd%;(CgkS`vy_`E*0eXK41bI^LN@HH+_DJxJRCPj3gp+>ZGo9+g_(HctHW z3FgzEFj6Ol49xbZ2wwKx9;p?-o1QMT!;^bH zC@eY-GH7s_vTJa3>S>=L@8_(+O&0&Lb2)x>3p6a1mIrO}(++k37wJL*;-vBz{PB>) z=Iq`@Mv{rBjsT{~Nug-80hUTlXPrAA{5Nvf@Z#TSNffxabDt6rzdo|dPWCeIpfv=% zsFp`)wKUxJts@gPs)RQhM zP|d*{uQ|3Kp9J&%?)(am7*4lwr}xWvKH>j=PMiAPFm4E@b*~#;B02?Uvcqm2H&oCf z^5UGH)MHNltAfi6DDf@@s7q_%{Bf?z%{|F>|2Ud)=`%qNu~Ks%Fnzw3(|upro$mW) zQs3E1O7jewI)NrUcyZ{(+6#J!O(6mx5|4naJ67E(V3&vz@A*lA%S}r5v`y3Fo~*(; zBgAy!w+}hD&#}f+BJb!)+hq0m5v$k)3$Om^$i&NQgs-%CS9L*mW%$G`t((ij(_O8j zv4sVWXF2$f=|87P}~exhz*~=GivER#~JdOVBI~vsyvB z?fiSBbf7l&2@|T&nbue-iKxWPk#A!ga8dHf3T-YhVKmMH48wDdz2v1r&~ouW*14QGA)(NPUJLOdTy5T$Lmv3Eo0Gy=iMXZq zGBn^E`G;7A6fc3iFgUy(L*42l^)ul(Kw+Q)1_W?axriwHls&JiS2oglTfp@VLOM#N zDOE1ywD{Y}@7jf7$_PDv&kK%?eAvSX{IPl}-uZ3JJvR4_w>00N3xd%9F>ny;NgfT$ zQQV864!MD$7_x%6T!c$-l|JRjrfA5YQXP3zIW=t}060MK_kiNK6H4+q;P+H&@{|!r z<0f+Eg1AeS{F%nhb>8>wVrzF%1d8|B5mroSMJjXHqp-SN%A9ty?%0!!rF#zZlovsn ze^4Ry^9yUJbIrU}F*j7H5XtcP3N}x@*~|ijf)wKKVtsHynbCB};V(=s8e~g|Y(=TT zBK^9AzICQ!nHcZ#eL>xz| zMR>1&P)9aSqL%1AnbFvOek`aH?k4TX{?$hvp0{G4vpS2F(HsyoI;Dt79Wll+nUrH- z9#Bk%R#e4P;G+%kET(9C`u*0<_G$zZN4MwJ!g4f!DKHvAz+)4oQDa`%yJ0&$lGm+sp3$A#|x zgYqGruY}4D=n6fkU%>8ZX5Ws@zjim_SPbDW!|!$NJzOqnKQQ08(R*o%ixwVIueefU zIa2DY(kz-&-rpTQxL)z;xo${)`0)FKqzFKz=6OH^2ilK>$xp9Y@q0%Nx2p13>K%>~ zy}hmljZ)=R-0>`@VRlIA6{a{jW7w_HE%}^~)9(FKEs@s8U(8Dk2KBr!R(d*nNypy$ zwsCR#-2|QfKkaPZ&xP4t!l=z04Qp%-$1LsZm#V_kT%Cx<`o(b|2MDn%go{^ETGiOp z7L;?9k=sExvdA8LUhf29d}@xHo#IUOoFjG@eG>BI(ZK&15L(1=Ee)TvgtJ?|>2bER z(ylNlN6wb4BmD@2Zy(3gv;m_F;N%rPJ-9M_)G0ta8be-Sy+6iv-GV}(S=;NfV{Y2T zTsQdMSxPl?)h!cenlqTBFdl7%T+0ggBg9-v9eHt$_XG=kouWC_2uJh6>3QD(HtXkz z5mToA`l#gKS#+)PDRDe;X_QgodA-@E{P}b$yyD!QwR!ZlasMTJ`C_XO%+y<%dPfF3%2R&qqp!} z17n2^oV7^Y(CI&Gx7BcdRJEB66&0Bwv>5utkeTF2awihKXixdtN7}{UAk^fSUwsK2 zbmJ@{#=IEjqBPbCC12^p&P8qRoMqS@)llMNOkDKh|71LvT!_BwKl_^FcWvx-QJ}^m}EMm4mcGI&_H81vr%@5pQz7Kjy&d2MdCyYWE9E9n;_hu zV=Yoc?%Uq>jL8U5@I0zA4EIw(_WF^?M>X*@EMwm`B;&j(mdKRm4zTG4b1J-J53g%! zw|dZ=e$oyBOVey<^$Imh&P#Lrbh(N)6B?iPaDU=KYNdPBjT9EOmC?k)z`iSYWH<>M zyWu$ur|Ty|S=o!~2|c+s6&9M{n$9u8zl0Hu_%!<=_w3LTvNKUHsA>OYr>q~==~(yR zqtf47Ucm4w-MDv+`D|4>TORa7%lW6y<%a9%3&jSw+CK9AiNMzLe}yVTlC1{XC7Ee4 z-BbhLy{hKvrhD`s5_#9hCI>rmidfa2ql!C%G-0$yQ^<+ia7ONz14*PCS;F6Y>+|6d zoXpYP?4n}p!WF`)@H)o3e8uE`N8`F$wp-X00vTO^k9g~nZGXosGwS|5IyP2l_da9| zsQ@FmFq=z1o^oVZAEthCwpB%%=@{7XB20Kgisq-b5l&8J)!czWJb3jg1N+}bIkVGb zu|W^=ZOSWM6t=L>q70{-?8nrj)ysE;Od?i(33VnZ+EU!Tc}N)~6=(OWiR}{LKBM5A z`n!gmT3&MaxBIZs6qzxqOuyOG-opsjFZ#wp^lkA$KoR1eO6>=8qKT}Nt>#=~#;$bk z>Y=W>QUO5l+}2mUPDVc3NUO~h<$NFE2+g&+krZ^hEpd|9w!-BPKG^AL9aV6e&m(t5 zXM!%oN5U1jIOWAO2@PqE0{;ob1^-JRmR+8D*rPByS2GRHgz+iVt*0gE)@s!>&93I` zk?roXk6SL?N>}jlR33wtAAbwKqt7)vIT~09oM)sdO8? zq*9zr9aZjNU?V7iwO5Wa+<>7pt#CB)>+MChEaq4C5 zMRT3O``EPh$@{GX+;)E5Ce*MIcns+73cXeWt&|?AL6ncX)(6TLUB1ubXg3|->2eGD zswp%RdebYou!9kt{E4GjAsC@6 zx@_JcssCetV$3ZCB|9Xs>%zW5a(QNiMaC&8PcpLDt;uyo@a{5tVJ_M zql6%5nl~v?`RH3*Pj*3JFEjrpyJ_s8Luv)n=)w4pjQ@&}UNGA0h++FHnJ+IS6jn@( zt*4;W6tR=a$2#2H^NTKmM=N7SNX0ZfYPj1~$n3HqC5%We+ld6%;}QYTOuth=xj zJ{-Xq!VX`)9}LGuoKj9uCnorj$Rjp_(ln-3pViq=lb3B9ZtI7ljqtNqN%5Na8GzPF zJ?+|z4C}>56x55Sa)ll51C*+dJ4{gBbP+-}Q+N0nxS&@)#$kt|oI@b*Ei7$`zcOVA zo2PIS935MB8k~s~skcZ;vX1_A_*xvSs>YNX;9sk*p>Uvs>vG>AA)}ItZN0T))+2@F ze0y&Lc=3J=oKSgTABFywof@G>VsCxS&>C>f*xl)%fMZ zsNfv+$G#OswH!dB@3OEzbyi*1g_k0NN#_P{Ly+o==<=oalKos|TGZXc5b1Q9l7UN! z!Ix70l3_KzX5cO!a{!0=MwI&>RYpT`sZX6tO(Sd-qeBz=6UhAaCF&*;kkXMXoHXhC z@;Iy7??>#G*%h?`2Y$f19~S1{2Ro^%vE5V07|Kdoa&9x-;cK*($2`G>u_%BI)nac^ z(A@`2HrGB@A<@(C0k+tKN9CU_!l;5b!{lj_)hzS+qlT=J=7@2xfTOx}R1E=P#=E)bD>lwS^0nm?4autG~fg21Lw!*&L z9u$VEiQl;D+9m9s7*Pnk<#0XJ+UGStP-JSXk@zBdHNL6D_pP|rJO`@!{(1xrWf5+AT~KV;&Nmrh1;#qR*qAgcK#Z zw!Ny8vK0-5kTX_qAm3Oyys@~ySC(|y|1ZDrd#SL?T3Ua#Eg@QyEWVSZFtr;MBCn3; zY&oalN=Bh<&sGt>NPYQF-rDrs=nTi0Aw~r@7l&3}IGt?*a}wU_%;W23Gc!{koyoQe zgz0L%ych4wUZ7Cy14SvLVry=emnvo8`CF3e;L`a^zjL_`;HfKU0Ux@T;MBe$&m$c( z!N^{63Ou@QzMgoMJOoN-FAL(h?v_n4+A<+UHkp%8iP;V02k0M!T(p+&C>iO-o2LQ#`#I%1v_)5Eq*oK8A zdn)Tp_-RE*AB`&fk*&4shG&dK{Z@w2)}7eMotW(BZbV zrXr4WQnl=s^vHy#7bd^pbl21*x$O*RUV%{avgeh5;yfXSbsrakSAr7#kU#$AR^27< z6BkY0TEI|E%L%_G8b@XuUCQ(juUI)O30+ED%Q7b*6mYjH}!7BnCKDu5Ak_! zyjA)$Dz{v$PXC6MLHtys0KG!fB*ntD7|fp}MZtmzg}KQH7Ua?H1Q@@Skzn^d>fpku zpi^kFpQ)#gOSlOy-6(M!7FxM|G$88G%U%7l6ucU&6>YSn-&c=4qud zIu;SkjL|8ZGnA$2986l|dD-%W=dOCRR9tJ7#hb3mb0XAz86>nOxK>G+U7c{gYQtRa zuVPvm-`w|=;RH*TxAlXCgHbJ~B_}@FmK4>%^b3R}f^t>}p-N!D1SrhpC*_l9;_C zngmj2)o~bUdgBj;32CwmDDW=qmyRv8w>;53HvO+kZ${|(tZ9#BR0cl3cDc;sfsaJY z_ER+A1u_~LQsBXxD{BY4nYRPeyYfeEO-EeBV#qWHedSP7BVLt>OdaPS@PS^SAY+NR zfg5lxWV5WKUeH1L!kx;1RvuN{W;1QghlT3!j~De`h#uv9>=$ddGF;8ScQ zX*yhn54fk0)vmRuZ$opmxk{p*xg06xzNPn3yfppWV15%{JHF|~>gD_im9gKVX86YT ze5st2F+LxpNB}^($MlW=B=^I zwXWl6$jx=FP&){eHpA%_I$UH=6QxSlD`ce1?^oEsuS&=a@aFKk!Zd1#@2?uNQZSW+ zqB49RfAtB%y&Y{=$Zygn99W_@pI&;!DXz?Av)(Lyi7N2V^v7_4vk?VzLZhp^VHFlZbMMTvQc%S* ze~`uuXs^qK*ci?07T@zxwBmMoJBGCC2dTuT5R5q|)y>&Rg#J8A11FV09G(bViU&1KcnccH6#z@`}+z6k*sxfb^-lud*Q&QkiDxkYf?w_ zjxdPeKKlJZF3b|0`tKPMhBXNCFL4t{hZS95=)DE`#6`gVLT z4AYe-VMwqi2>%I&8-^3k7&6vc-$Hns)rGju7C z3q~CRq|Ksmlz9Z_-^frQlN*g^)t?Ma*uAtlwdn(R!q6v#ST1EkVR=W2_(qvo;3cgL z9c{kOZ0Gy76i^xOC#hqS+7@$TtP{zi4mK(i-2(fy?7s`h&R6Q*C2*R0TZf;?==kHb z9AvjHhmtiSonyQOuCnvgf_qsWM-CWoX#r;6GzC2p6Mz9qZ-GcbDh6=ub?A?6;uiX~ zBZ?Qiz3XBNutA!C9CRxEWy)ih?*z^lgMTCLOYJ_XE6&}lFXA|Squ5i`>u@+hHd$Yq zir;cakm&s6F)eYibpn%i&Le;|5f(9q_?ofWT<04jDNNKA-Tt+ao^k4zlkSwWDuo~D zrUNapSd>cm&$e3KD6pQDBw z&1#1Xg{7aYdh2L{5IeG?VEt1PQJ(3>q|Gj>RwFMWmhB&WX-&SHBCywaJ1N*2`qH=} zE@WjtPAE`fTO#@HVOR(yp|Lm8S}gu>^g!wqneZ3^Y-z%t7b^y#3~JgcbP@7qzgFBL z?^f@(i!vUbbOjikan&nvIRXwxuHGMAquQpbCUZ^W?QUaeD$x*G4u7*G93Rjkz@#>6 z=k?=cQ2Vmmic9)zqU~fyMk2vG4YiZ#UNmWI_n_Ij&aCh)QTib;i$a$QlE zB8$Y>&-!+3*&B0Adsm5yQ#6&~<>6G+(@o{)$g?b6aPsES>IG6_kuw~BgcPN+O9=G( z1-jz&{*mj0c>3-U{y(ah{yU?z%*%~07wj%aDPOsgng|1SEv+2;SlebK4m4+6cSgrs zPBl`;?p98=YWFO;TTljO+F;dZXq$2mS(>YMBLmx>njO3rs#hg-yU~iXZa1E;sS|?* zCdluNi)(Z;TQ{oZzVqH%VXB36IgA^7qT|jk;0cB+56Ee4bSethE??+$`xLiIdhrIn z9EmhR$x5uxeM{w@ZjGXPy=Bxkf~45RX9uZ@TdEhDb7fvWk+lEHE+@{KMXfKy&AG|v zFRNGmeTrv1)zcZbKT3RFK=u`uLwOHbijCk>J~mXLBT#@O=BkR2h>e(X%1G~ zG|T$3cXopA0vr*ToL zH)>JOu7bdO)V{i8W5i>1p{U4pi;KWj^B1P9R692Jyq*p%7p~}9bBgaraSc>)@&%v> z6)A!a2{5D33%BXu@(s{(lb8}D#(FF7$}d2JQYJ`mP^qL%?w42FUfn95odUUkWg-O^ zU`fLa0RFT@`+yA3x1&qO2g?Q(qOEhDaTAd7I`FwO5o!7e63-+#K|{_z9&Kp3NoWw9 zvPd2j)GgD~?1cXaD)OS-j#wM&RnK656D=#sSwZv0rOKk&Km>_|#q-n~O^xu7{tF;o z>GL*$Tk1JF@(K<+EesU2+B_C_B8YW4`Wl`L&x?;avqNX_*0Wr`%?E}SX~P*Q#()W( z%J?znwU{Mg4y@Ppf5*J;Rn@eJdKs zk_Xy}!SKXkb{c`*;fw__@^-Y889ssc3VyBKTSOz@lf`@zIOZ(iVsUmJ?g`xq3aZmz z$7C@>K1O{;qP=%LA!?A5yk6+_$VBy=TrV2*>6`qj8O*_#k_IV^@ScFl)NubX<@oS< zWWu14gI@8oBO9MrN0bJ-V{Xn_uPFOEnr>bV(Q;ckDs}`9vZj6^4IZspK#^U5=!0r$ zoOsm3dTO9@em0_$8ZGT@Up(jT!;;9y6+=-{`OzdR6eYoUU5jwcB_1HvZnnAWKbi1h z6g_P_u_KA24(H71f*1)k%riy%49Q$HnI!#U6^HvISjOD7uN5V>9S=h*^?K6EAh8VB zLH9CyxE0Y%jk9$;Ad%|P;IhZhx9ZyqbIeu@9?xi%<55ix2gVw#fYVdG zT~-#)6t!4pUNKnH3TjdJ;OWT<1EH#JN4W6YKwkd6j8<7CU#yWQO&A3=Lo-ROsTLnq zJju11W@eTM>)QsH_LfVd_a8eLs592@Rq&BKfqDtblK|OIs6V&xZaeyXSLj-hv;9q} zmCfR*+U_vB!c0KK`o4J-W~96qCXQ|1D>GtIv2?Th{Y;0k>}jexHd{!sD#}>tz;v%= zqjeW}oC48x)J=C&W8k^YSl$wEuTqCiHKo?V@y&K<|7N;cMJ8zd^5UW?ram8Q$O3*j zJ(g)t!Vi8<Bx!jF6S$wLFY9!eI-7s&)ALCK=w~IrF*{wYaZKox`x1Mh2Z=6G zouEKW9H^hxfTPgBSc16}kwbr(%1G11Hk8&Fph`HK)xNJ>1Dqt>xbnQ5i)?o-O-fEd z9V1f8!f)}pBOGk7T|&Ed>(8QLW}SQ+^=4tQLc4N^;boOw5Cy)5nDuok|DLDjQboxdJhUR27`%UtT zRL0TxZeS+3t5n|;`=mxU(_Suj)T?l_UG``)H<^CTB5tjPaCUlqvrLF|+I|~6$rxz)B00&Iq((L@X6qk z&TULlhZBbLPrkd8riT$38|sQ0`<(2chP~i-WMcyr`oMX81T;8ym--t?Hm zWi0*lvKZlPO$@PUi3+)?ZLWx^xX-tqP#@NkDXjTInDcyyh8P&Tb`S}sN=%lYg^{pb zIwXdaWGy#RYdB&v%4)VUi9+oV(R=FqdFQW5bqo%4ccdi!I@oe=ttJOaaP^C#;3>gVnM z_G7<8Zs#g{JQjO7xj|wuD_>wvp$dW*OiHv#9=2{j9mM1wu~(->6qM$qf4XShV`~h- z2=?Xs5n89O*P@f-co_$2ayoAfCx+uB&=^PW{Ju1=$*{+6y5I$ya+(E6L9x<8(GhFx z2Mg|b&76*u9kYOCg0}og5>ToG(n7X4F$#52N;sRZshCdBFa4SMoo{ySlZW{{g0m9MM9!JzMvh#a$(rZgkK4~S_v`U z&H(Pr3===O!W;6$H!yY+gYDzcwkj)KPc%~I2DJ7s|G3Aawie>e{P8|sbw?GKN+Sb= z^N_$%KJZ~i(l&Gpxt&J)qn5U+pZ}JVs(R&+CvFOR99VNNH!(HE+;7b)Xu`qPTVrFc zTwT9kvhZR{yPidzNf=0?miG-=d@cEe=sbC`uOKqRVo^GTG{B|!ZfkwAP;g$W38x3C z`%9)akR@iF(*YQyrVVAi^0^4(AH?4hC?=M-U$lO&r86PEg&e$Fyy~Mh$Lh4Q>#04e zd)kmxY=h410Qr<-(Q=<5G8 zN<=pX`gX;TPvzoNMilB~x+_;2_Y)g`+JbMpan^MVCf&y59Rpjng31hiLtKp5Kkb#} zH5a4GXt(znv|`PwxxFQL%Ra~WGigXO?KezHzTi)Gc$h#_M;(_e=HMfq1Fg7E|5)B< zf1|$-T9f`XnH6I{S2LI&R>k67D?|;4dmW4OWBGGIjnO_1%67Y;z^o}ibp8{6O4awY z&3q+AH@+)y=O9AiI@Nn*%dnI2HOzIohQj6On;|Dxo#P`5sd{6HZ5nu_+E|zL$2GI# zj<>K}_Z`zv%Xo=4yUWDZrA2tFLXFy1)=z+Y#^c(~0$~L2T`IDMa)re7#h0>T9h&<- zwS<4K=i$jrZrm0lPt6I)0Z3@f3uDT)Ei|9&vlW%aoBmKnS(eM`L!)#53mvEb&wkPW z>cgD;ti{^>${P*+h}=?Yn@Por&m!Zqxu(h0{1$o~3BP3Yk->iV&l#q`haTkxx$e=$k%Nvc2@g_Fn(nYr6s`T?kl!~0VKpOWhtjG zp#Hk=;c|K#JVO|wp1*Ft)g20ST}Km!Ut5~llZ%~w(BvTb<{{#SF$~8|9z`c^RN*(5 z*3ieX?GOX-KAiicvy7nRmdBlQReIm#6uhHtfG$zDBZb=%3J?+%Nw_hfZ?aQWVSF!H zT5&`U%NH_a2q2Q&tchSxF0BnTvksb3ps=JSABUvo+8N1%qbh)am$N9U=BVz4dGSUA zQ98$e^vH^kuIWqyLwe1aU2HSdnKb-B8D~m$A^$d~Qdk;`y{{5Sv46&MFj>^2OPBAl zA}J4xq{a)PhrRQYs!ACC>EWQ#QH0ReB`J$VH4>V1 z+lm5A+x4lxy`IJYm~2XJ!d$7NyKs&T6nWozGUtNL&WJo-YH0tFsb%~NE9$QTn;r?OQg-&5d4XNbOJ20X#hN`#>>$N=el0p|@B zy4z+`q!7k%4G^FWS$3f2fd6xlhwt)S$YD)G8Js~;ynpbO-dc#ECf8C!ZU}*Hrj zNueZZSO4lcc=%RrvEWGfcVq0nIn1>`YDG!3{G@PLm<;nZVUY~+OvsQgjl!_}rU%yu zHkXtM>ft%QXV544#8^SLgapG%{MC7j(}D@ayFB;NJ1TOIEB~3tM#Y)DD$VzeDQ<@d&k}7{I-u`~W7tiRp-c2@^uw`0Zm!VFgb1tafzZ0}PV2LUxC1b)oWQ7N zI1g1rQA~4JUwXpVJV9ChT$y5A@3>BRUT4-*D(Uo)hm8|D!op zvJ+>H=d3fkbiI6?`~${|n z9A;{^?&Iw*-{;UXaCIbB2o20F3*XNm>^6ndplkaPKZfZynD!}zI(0Ap>@VJXLh~nX zdD_+Smi7UI`>)F0QG5&3pHbZBQrnvGCe3d6X%DnyY&F-!*J`s_de|K`$PrV~D~^>pZtZ}bBT7XBuOc{vTjLGkq^uK5f5viY zt1aWR&YG?En@{)tOC4YTuP@xjXy4s#S#InDqfAgz8*@W$rnnsE)|12aP<1IR<1+VXHxxac%5LjG&|IV`FXv5`r*N-C(%(B$YVZWWX;y=TfYM9AW-gm?=+dvT9d` z8B$LZ9&T zod)_O(}?pJPMI!%B(6Cd9)R%}giv7+^|qdKxhnsyR=8VEi@9BLg_;0c%1I~{&5Y+# zZ-L68Jb8qbufZC4Y(&8)LCGl8jDGIspHNZ=8;2N%Bfhu_;tiWD)HqtFm7LdA9#`{d zMbEl~Q~YrzC%QxYkajq>V_h^*?y}?#&lIQ4Cssd)8K#z{b~h)Bm*$Rw$t;aPg*iy- zd{h41my7&}weVkKX!LK7x|`YD)4easnd+@MKfuz~{3d;7SY`rkI?S`Zpne*U3@m7G z1)}P!D2QC7pp;FjxAQLX)8g=B9W|zlHn;P3kWRlT%a4no*IiVGm{0=n2TS#EYkhLp zT?R9OJT=x7Kxyn9q2w+g9K>Cxh9&uL4*)gYSc&RZU~Vk`=z5WQCiwMWmIwv)WMI#&J6}P%P1Ztdnvm8!hRfuc`>`o3_ zf*M>pNSe(l`CaQ|j=v6E%EDi5ZmvRQR^t)8vaVWtsIf2G|s$Tly`x)mM)^$(%kI{y%S46P1d$*p%f z=*1G;dd!k0L94xa@$l~D6dt|T>r@WN+XoKXc0lrj&7%HmMV3h?7}kMCAC9ZmvvVhH z$4uG#)A-a=RjDNMJC`kn-K)jSz}#-7-XyXj_D6Elob!cMWf0ACSCEOB6V`V-%qRV3 zi*e&B>Kt+Le(cq7aFt>66ep%LRKn(TfKCP#vZC|%TVd5YH!Xc-fklPD2x0}~BULlU z$p#Wm%<5BV)oYuR@AJxm@NS-w0xT5h9Z4osx|Ct_3$jG0Mwr)! zZX5Y(P|Ua%sWiWZ*1xr5ZYx^Xt#TF4-D9%=$qqjl$<>ub zHanN69QUl8VB{uZ711P3Fcq?H7bv(oP|3(=v)|RKd63CNYmoOCNzT!5rIqV&7-;n@G0{ z4NN<#dGa!e_lMFI-gx|+>+lsdVr9umhTUh7M9IcUOQzarxW1*1dx$=3n+7Lc5>Hu& z&WDlvy+~|WE6ZHBG^Dh{asVqj>0iz-?_iaPsXt|`4Q0{dBtn%%nk1t(Q;h6>6p}r} z{rya_3#ScsPke8Eb$xsKgP}}I<7$d+ilpm zvC-JJr?Drt?Z!?T+qP}nMl-R|#zMSj-S!aDW`(kePT)peJUp!B>VIq?G4``v2 z_J`0}S3Zod5$V)DfgM`%F>%`uIFBWRWfnqhnW*u|ofB0A(TeEf``|CWT}_KMXa(~~ zC;pf^vSNfL6_<*ZS}xs-kaUA-__E6zhV*^PN!md-iyh+NzMc43zpH%PvBD2K~1L?Ahcf4 z9VU9kty^pZ;r_2TLAsZN|GRPtg1CRWEH-=3s1|Nxo=rr$oo*HaoYgV3H60yn-Ot}K zD1M|$^sx416Kx`N0w(*y3e0)iK-s`=&v@L^T(&&I&D|QS?+Hsyb7Ke_L9bIQ)s&L51-r+ zm$)r7O~M=Bo+*)T&svoJs)lSPqV|wVU7Aw__9N5!Q{$}=E1}1CtVQ~)`J$UnfLzZ& zYJw@_N+!kLT>KU(Po}hnafo^4QQ`nUEU}F0J=uIb85`H2g1J8eVWl3WvW2~J2Fpx|G`7wzh>*iWiZoFq7aVkS zUjOMgue1$v8BLBXA0;Z^@hB2;$-XlcNydJnQ^_cwS6;D7JS(1BgHiT1pF)l1qkV|G zH1$F_&z>;;B)X%kbsg zH$?z^wz~D%z<#k$X~t>^+e{OR;vf>b<-GIEc!iDhVb$F?v(t9~Uo=Btsn(;D$L8Jp zEP=vIeF^@Gxns$@{0MD%sn#>go@fV1Wtv(_b%F55_9oEna4o6r=}xrU-89|i6eG8@ z*7gvj<5V3o#;Jz%h4~Cu;o?94|#SF&bWf*%v`AhirE+Liee;q6% zy)dm()GZ<%MC&Ac&qDF3?Q~?NIZUnM!~m06L0Ro#bHe_C7B=UfE^ofUcCAN);nTl< zrdM2qRaHDty7uLaQ8gm512dQMRk*WBQx*DJtwa~fJ2YCP_ZJeAGpd8_Ee%X$Wr6OP zv!n}hw~Etk14Is+5Z#>R1Nl3@Mi&nlQh%x+bsrLZrAFK$Y#uM8j=q0)Z{p6 zQMVGtuEWPi}?9aL^5do$?w*MMaS$Y9#(t#X|W`i`b&?@hQcDRN?MmwEfo7HY*CrL$%-5bHy*7l z8gF{|tz9zl&lV--Fq+_!I#xaY->4IDVVPbuM1&`4)A8S`?RodBiUM7~3l-7`+XV&% z(~zf1!qp~OlqX7fOIOdyGIuV9jExv&qfqGe-{1;X`}oxk1ZL#NxSBOg@to_~?#*Q$ zPx93x7a4|$N`608YplMwj?6s|)FTHUtr*WFhGm#+A+o9DjaP0UPl+y(=Pmt{f536o zvF(I;wyimv`}gORkmJv@%R*Ug_xzg)n91tS7=>~|;Uk(ayP@!;BLjo^_sAP&BSl^~ z(@qZNIme5U>4L7YDkgrVfUDnTf$zHgyOdTN)+FzX2xS9MSA{`+>ryk+u`|LzRK^oz1`dCi7*xR!4MZAV)_-sb*_ym^G3MGbrqWq<31xQ+4R{?R4_h2ny8Bnu zCXI&GNmz({lk{&kx2M>i9w<9~gTi9|KsX?#hvq7yU~2G54GX6`i;DmaN)INamlsO^ zyb4`tw@YgroMR>vjRLb*-qK;`kH(`r2bogMICI_=)!#tz3-5A>nCn0FV?EUHXX53K zdn=`gU!9DOOcS3{-rTlR$ zw8kqlpX^C!t4*~f)e=7vuCX*E@y>zydBI4{#t2oUyLDvWbj2KY-+U$8AA7?whuKH} zB0c2mtlo{759}Yaq6qE+w7AZU!O`pa`3nDCK-i?PB=|m?>nOP&BWbP<-}AIe;5jN%ofgz^iVXWTdrppG z+vY|Fj$;oB`PotT_=WA=xAHnYpONr+T1vJaeWvD}K&Nh@lA&f^%DmJq+gW}ZnokO8 zdU>&ISglj*PP?>mUIbSg9`AXPqd~cDkO{M@J}JA9i_!bw!}M}9fo#>GN>{JwEc`M@ zL_Ky#B|Upwiu_ue4~vjk%JjU!o052dwKxto8~Z!aW8F;N0KXue`|aU#?$+&V!_+b4 z$zn&L!J;na^C_E#&1QV!LN371&p-2mIPFux@wR-M7z+#l*H84IWjWTeAjhFd6$RWRf6|CB29yOdaGOr465B}; zQ*wr)jPA9brTcI;GBs2BBG~YyRRv%(q&gLSdM4hhWw#qSygUm5bjxWE8JD8Rv7~ z6XGWMsB}(1c8ML0Fvr+7!H3OPXR)v}Mw~3bf4mzlu-|ir*~u!h6DSert4K7nQgR_? z3I^aEZEQv)Y0b_K4{~seBl^(j%&~#Lq6u;S%`z7+ZvbN7F;tR9&-5IT0Pcyy*f2UgA4o7 zV3J}$fCn~!`Os#WCKX2c(;sBD2B}&^cmK|eFlBbtOy13ZXr&pQVT^2g8+EU&`D0UJ zOEW4U@gl7p8K!PmPc(hMtp^azl6!yGPorMOU{1>|L7hf=*hpSK;To`J5D5$4`?;lI|MIKB>4r~ zg!tBgk-d;Bdzf!ZjXG~I2V^X<+|>JanVG0W#C(duX98~UtiF_q2r|&5ZT;_Y;!Jrp zO*Ly5_~do#n6$6DdZJZ9hytFpiL~>lWgG*Ex=pFuGz}$linoK~d4@0YZj2nWYk_P9 zSVh!lc+2sjUwCT+%t3W7Hy-Y;W0Bvq4Of^TJ$IC=w{}z@c&uRovgf)Ubz_9r4&T?Q zec?Ys^qzLk{~oGpO0ZgbeW(AyCm3uS)4AG?@JIdv#h4evl+lj0T9u!GVEa* zo666z`MVNZE?T7qk3KKYBem-aNoW{ThJy0$iQzL7WeH|MQC6fk3Rz~uPXkmCrmV#) zG;lA)BE@b%NNkgRZh7j1FHf?HJ{)A~BSl5Tl{L&C!hxtuX%Y1zoiy?U*?|(6{?fV& zDV(keC*zpU1N&p0tWoB{;)JuC&4fV`v0Q3eC@{NaL-Xtm)YwD4EQ> zqYQZ;Lw*4cer5Fq(688fV{gR8z!YmzCbnW9iAp;FUZzVyY`+cUx!qE$aEcPlrp=X; zHzV2u2`lYbOKVrIPg5LQ?C93L@?Y4PdGy^xml*Uq64+v9WhC0$?n|$_dHk;&vRX?F zR{buI-v7+yo};4TM#B3^&b=OdFSi`+FHAma=KFW^OO*B&V7O+G{(7u{Q5O zg+lvWPhnG;v)KX3(_?Ar?HDcB?SBR`7`7oyH^_Qd>(a>X`_E0_=q4ic;hrDi@UADy z2a;1KG_Xpe)EXRpY;IfWY6=e>_&ej{^||dLyFZt3HDB_L(%TN|AdwEIe{+qkeS!2i zpZYRcsEha9(rcd@(sSOjZrAyLAMaIC_|NOj;o033y;)h-j7&af(xdW!c?B4dj+$;; zj6$9g++v>YMn-ninBRVNN)$BJK=8!F}P5NIysxR zkJaH?w0vAg+Jo#|AW<%s??A~dtYs#C=5(_nCl-DJZs*UlTZh33HT@Rrw=|Rm8<*5I z$LcR3ON{`b4r~kW(xc4S+lRt{^M&^9;Ks#*Mj`7c#BXkXLY1rXrh{QmJNj9l#>9{PH z1k`xGYofLPb~g|_`N!&LQR-+NGo~k0AWIm}a-Bw6g8GA8w~X6Xx}Riygr+g%CCUgI zpHCHUUi?yP&D^lz$8Ir0QE8QhVHFlJ%(aezFzX62jbZ?0U57-Vf_wxSb03)-@KuG_ zu1XN4!0BJZFy9^*zVO;n4;Tyj!~hF1YVjt#Xs*tvJT_hNG#7r%grLon&Yj@CWo5*g zj!Ky2UziErN~_dY1E?mj(S9W3VcMa_V!8*MlKCyi_d=?I(bA64{d_fD9_I%uT)uO$ z%|(n{KC*5;I)GBz*+)SEGBR)Acbzu%54yOhg_Cm?1=kbNsLbxlN-}J~C&!K3Dq)V& zdN20foYwMLZ`UT^LDK@`jM9;!hK~|HM<-dILChw1NRtoa4qkY#X^`) z&e+0uS2HCFc43r?fr1a^kA7f)ZJ<`A##w-%h&~e_kO@GO!26p#pSH|{hA%h5ADDrT zj}X$txFjgQ715Y>Vju1@(yt*kir(BJ7Ww-JDOEB2E^jz}^%D{tr_k=*>;ydtU}!4F zEg4)qCtTH04uk(jpn<=)mV}^cyPHsQ@h=QL)GCdfZ;TqypVBUenGp-qBjQE;q{L4% zu>!K#Y^Ii9f2ai&J`jka2|%q9SQx3%f}gblGEO#T`7YZZIU{RLFSl5#sA)+epMpc) zyYRe2l#z%x>K~2D`lzx1Ys0|%dvx-3;ad8)A{IFY$GM(B(TXNDWBGFXnuu3}PBh0! zyp!cq6K4fT&-q<0^L^nIy-@H4|K}PD8I#G$%jkw2JYTUYLfcN%XOqC~CGJt%#DL!S zCt)T^dfov|fGm5ZZIX|Ouc3g-BsSgQE%KZGGbbjMB;*geNfbvN8|-iN3CRI`pFfp44N(UH_b7 zAqBwDBktp#u8`<=mk!wfvZ)RE%_MtR;3DkS;!4%I*K&LJZiKF(P$Lk43H>WZ#l(H; zPz|A$W*4K31$#lfbyo_=d*2pggVFOtF$cEcc_Ka@81u^TAk<#ND$iTVQVQ)Q(XMk9 zxs>>=J3u`}yqo>b)^D2;$!FcRb<_3#KHfB6EL>PNS$XQFTK)qrW2j=|rd>BCJIiiV4sks-=ri8|sno<4DyZwNm6Ow$*-B7k<(Nlt^hNwmQEo(SwQ*y5d+Q_XFYA|ElB zE(&IU+~mYS#eFV7p~DHc6jAt3)-zpldr>zx=}70VwiWEjsG|!bJ=S&@{XqomOR}pf z+{ktkpG%Cvh1`fXuBXm)I%d5FgS?$yXOP5DU-9YM_v;Z)`5CBEEWOa@w zgn5l){Dl_wu{>BVj?O@0mWwKumgXO5P-;zyZiCOq5&S}z4}@QN^9-Rme_@YQ%Y$kdvWfpF&b};dc2)&~( zV;|#CrnJDiIoc8JIwIZ%C~K!-31@YWaP2lj0huw3^uz^CkiJypu5?Fr?ld}a?7NH^ zQI;XGp8l=6n~06uec}p!DffGN;2;HDsr+*8P|*EqAtp&l7~H>N)*Pp$egHRrhqH`{D0> zdmujj=U(+pz~N_S((o~D1@L{ImAtC#>x4E3KVl_>xn`?R5A8@bvC}4C1(Vs+WW0HM z9AkOq_W0P068wSv%N#NjODVq(=6u^|-*K-hIdAY7BkT_|WV;a}^eXerhL- zxn00?gXfX4#xFhL*u^}_%0zZUB(lyJKI+01f(M`Wi{kabC)l^@3j=Uy5o)cLjhN)AwJjFo%( zRr&97^rsfu^EipuV|N__(^NS_v@IX<#H;)rO}xTHgwp>seW(J=7{cXg=APF^H1&lY zSm&ofG}qI4^i&?adZY=sint(WQd~CZ}*=RDgiWCiRfX9 z=h*JO1X9(u3y_i<$72XI+?fZ*#9Q$h?572@p>H^+ERk{Zn_h$wOL={@fdr>Sa_9$!0(9U!V|f%vZFLWHJ4fcTuUHG zHMtN&ttn4hVi<1mQ?C@~ktZ;a^EX^PcdT(rB2#m@43foS5#_y`gb#S%F=AId`L9x? zN?ar)h~L~~&@GD)^VG@L9+DX45c^iFY@eYM-mj4GX_Y@5?F0!Y=bP_-?Z?ZRjL0_l za=kd;{=cN!|0G=@Yri*;5HTKa=d_~-k0#YGCz#?)kr$1u+TO!_&(Qg1(CH&|$isXs zu8<|DH(PExcB%39Q_NZONr9*sMcTV}LpEBL`uD1%FXV9W{Ny3cr+-#dmlQ8!AhSFoy`VsN=wg{e6E+yR=s*fZ_uy`&>Oz6KCdk ziM%tV2$Jm)6Yv~H)k61h-s1!~>bidco;ls7;kNKoZQ35x1)WAY3Znzp;=$sv=qttJ z@c!N^uRPsnCg>p3Ff`cvyoi6cMY$N;Lso>(jg2*K-b-KlGyW{Dl44Cfgh@l{YAYsY zz>6XT{%TkO#$`=7pspIry8qMpey(4TU8Jk?rnYD!0e`M2lOLPj@5{KR}gtOf;X z=A3~fg)Flp9~8Ti;t%WRy~oVHWpSlPvPo;hzI6`LeCVT*XuIewtRT%De2&KFGCg=ZbHDAlS?A4NePgMD`B%@PwiO`rLg}JB@7`4L^&81 z-jG3=eNaT^G*mnh&Hi$X;go{nqhv-dJ4f&-MthR1w4!R4T$MWNKtAG;KlxQuW<;#^ zMvhl>9hz(=vw42VOX4)24oZ5UGoKPGMs|eMUh1~RlxjfXQT_ASqJiN`}ZI7kto2qr(!ojec|VnO7G#;XPkgng@X=9 zoF-*wV=oOuC5tPLHOFVMT=(0w=jScYpbQHQ$Doj`1Gs!71dK2Z@rc+w;yYgCJj*qE zI+O7E?GmdK5uw^~mv5|Ex}y9xqbHkJCb@Bo$S{T=HhWKeRef00VRS3<;d&P1@S7E~O*bXlYsV=N03VpWH$9SEE<%g?4hUL$SnwM**A5*$1{Zi-_ z@48;;O*oT;>qezlJM>;{peRMm#uY}pH^qpj@iFB^O%ll_DUvhbL@=P`dLX=aG?>u7 z|FEwn)9h_D1fz$p4)GAVI<1(H7_5CMFg4R@|GA>TQTQ(%q$TaZG}Vu1uovx$lI{vg z#R|97;jUa)f7t!|d+EsCm)dNUo%LK&&BO4@RQkF$--f0!&mx61l*rLW?TO7Q_`nBp z6ZOX^Iuy7=$55fd*-7JD9JVEt#J8?L)4jx81%oXP<6#h41B za~zgIF1RKwg0E)jSMtZ*R}(NUXZ~x7gpHhy=mR0n)TT^BjIU2Nog9=x^3t31X3?4u zgxkeO>|ga|O~JzlO^*x=QbMdJcXFuHrq3x_xpy6g4CXDKRan&&k1`F38j9h1&IgBD zS(!+Bq#BQ=Bk^3jLLXQ0?Vnlqqvt=(g#X$_uzP8w#Pj6m9neRCz5X2ORTh2hUuV5Bo`I#GQDm55m9J3B(2I~( zZ~S{n>2<%sYmpJ;MRoWSBA9$^FJ}Z_w+cu+xsY=Tu#X>4ZYfmhCQWgtg`4*Ldw6rXSm;862T3|641gGBkU2I+O|ApHAE_Y(wNfkbRWW7=$0^8Z0DXd~%*DaKL(!<- z2t^mGf{2#$12mM7_T!fb0?K>Cj~M-8I=c5C>B^A~!Xmh?HcjA@vJL9F00` zmTUHUFS#3U!gY2AoaSm(8W&p9t_m;%8@{-lIoPkPf9)RAJYU-i^9hEqhhVb~_553) zwX*xRKcj-_PscD;KfDFY?K9hxb_ydmg?N6SNJtVZrBzMB^;0dzs_`igKMu40C?Rt8 z+obrK7RHYX3}7#-$j91HNNl#)Pa@EiGn^g?p^gHKA9-+3-~w6gntMU90XtT=m<^%EK9+Gz)4%ShcTU9hnK?J{9fVf^`9T9JBu>jYc zw6?Vi;9M(ZerF@;qWThV(A4CcM^*(rQBr zCav7G?I0gow9)FCG46G0-BK|7XO>wkhyT;#zl_MMN8aGN{q0n7@YH%?KB(ugz+TUF zeL5>SLN?N$E-XFZ=Z?wg#z#E~x<}5>)(${!{A*j9^PW@KQcwab-J11VTymv@XT*i5 z7*sYlhj$Tj^k!59gqEe2mrn7@{Z7oFo=aBm#MGGatwLHoxjx|;+U?IFSO00ot5ZA` zPy9PBq;|?uH5w=BBrd129abUZynq4ARd`n@O=GKp1a5hQdOA(r8P}x;pAKe=I_91^ z#P+CyzO>AMN)GoZrTCOl2n3HSBgmyFtDK?()73khfZ0IUvG%gRe~a+=!ObcL+k1s6 zK6}T5CM$+dJPY*{rEt@&{w1;o>DbkayX1eyI8TAcgc7QV<>U`IQdYv|*^Le{pwdi@ zAJMsK;Mo%K>VLH-fZF-_Npkq>@F}mtKZdp;F{Kp{yxM%IpUfv3y@PM*=yz{T38{Fr zhEhduND5JOMSneh9DBogRVLzrq?*M_gC6K;ZA> z4#<*GTPq8ta$uIAd2W=uetk199q3lalH*_at_qCT$N zJg2QkcPR{dUX%gE23m7^)M8N04vJNNUuO#g1c_}O4{_CZx0QZ?Sa$FH;8~eV+>j9d zx`HH#Odbp<;g-aO`xLD` znGo29ue3M$NIh8TvUSLwO+k4A5F;y9fzc@F;*bGgpv zX8vo7;j`_K+x+o9+Dm}vCAqHEPqG|c@8Y| zo^}u?)`dt9$U4E_3n4q%1X0<%`wWWQl<8J_3# z{@P%xT6~!cs8-Ng>+KpbApRxo#X{wKc@@0$b1bisXDK=ssk2g?X_=8iu)f#{j62jT zCS7}CNA~kr{&z0A@#mR6t~E_kk~g#r-1_W0@hMh|@~*NkrC~y3uIznOp08HFKNw2o z>ysJ-l77gzR2b40#Nl>KFMPK$ z=^^E;@){3K=P)w^nNerLiC{4rPwFTMpT=PVYjG4s+Y~|klP0|DpVBq)9sCRPE*N#3 zy$lh1CMI$FK_J2CEwKTlp$l&-ewGwJ9^`f0)<9E(zo2^g;)w&Crtpw(O&+oU*jiTr zF@e$KAut$3;}+ymrAcA=T-CF`t?I&f)CgcSTddrp-85jG@p%v$h-TL8WliknKx_mrypQt8?GcsX= zGGj8wU1?a4j@eXW|qi`F}mKqVIfjTDX#%bEp}4cW}VPjI+~QF@Tk z)I_k)XPBqacbX&ZY;_M(yw(DVJ-D;zO9j+<#cFtVUFKzF8hZga)AJA$vYLd0El#w? zK8#&(lH!U%z`vLhA`B`=-_+w;2%m^Qr@zQHwDxO)5HK~g#^%M_CR#w^IG1lJ@Wi3n zhk7OUtK$PNQG5s^>J?u)1;~X|S3~QcDhr3+{{XF8x_YJAv>Gil->Syu3TqSUmeJH? zLMZR^J_6ITrxfq>&knzB7ascb6cJ|+`r@5`viF%ct1b(?`ol2Y^V7BdT}h!)yB|EM z#x)-5ClGWQBv6Ylx?M<*0ew;dq*X3^IH7MlW6RcheQ zOb+1VU68zr-zNhb{?xeEeLOqsnAa%DRE|)q2Kp2usrY;kK6xj~VH&bNC5I4^IQj13 z9#Vz;rnV}EwdaV$Cmz5QKO%7Qon5VNCfi70HwceA(i{`X9opB_MDDmTu0Qb^)S}*= z7K%;91Wh|=cRHb%Ymjce5(nezdr&bTeONCbHm#er^eVrvj z{N}@A+f^EgM|u3Fd&47}prys8eHI^*g0>a|jVn-GEq7X3rJ3bumTF49WXmlQQ>pLd zhCRLXX{G8R-5>CF3KhW*FxF~BJl8cw{^}HNaLC7MoFt`V0B1;%)v;OzUnppRaP{p2`pJv~W_p`zm z>chlSpZi)-w=YgvTY74?3Se~Y9N4^>5_OKToh8ioa%X7P0+^y_3&MNtL&o#`oko-e zSow~692l0&riAl8;`;gR2`t{fgx z5%Wo83DcSDIQd32E^ZMYVVCB$WY?9%+^WM^^xzL6C|h7B|WmXMJ*X4mZ$3G2Wr-fAaH2ou2V^!up7lz z))#bCq&G4)lJ)`G)b}Zd;$)iJN1rhi-7oZMIg!Py>l=&iquwNS4X9faND2em^A8DM zYTnE!iZB|--6-P%m6*A{Lzz?99px#m%B|uEvPLlw+fWwHKsM)N`x0P;+y!Ju2j^U( z)LSRK<9zg#iN&TC8N7>L#tXzr^$y(NFQB|F)CH1JKj9eG=X&L`spYXl<-=RG#NIAE z%G4sIPpQX2FMz9i>md=$MH^sL)B|$P`sgv1wz2nl2lV^{Yk=ydA)BkMS%YQ?1oUl` zPa7T$gS65<_BL4Bd&nnIC=2G;o$*G)W^sTM?X^+wKEJpeGvv(Gyc-@&6bG!kv{5Gs zi(yisJpZ54Wlnus-w4f3E9=qOE-YfYy3dl;I{nn(`J@(&6H0Fkf9a9`;zF8OBi+=w zz9N^(Hm!V^Y5*Ni^7aqnQ&kb8SozpBvq>Yl0@r{tDDt+JO z=mdN>9PEA!3u{(^_T`6K2h zXNToGq^5(n3DXbT5vg-80MQ!HuWYpU^6b8!+GPJ6uh_&U6=J+KW$mc0i z?|ivj!{X9v{L6CQ#me(d2^sOVev}S5e4Kii==%u%SVShVMQ348S|)fG(IOXljuYoB zyq4H6Z;Tfb#OA6}Ut8s+J^xzufRh%TO$cs|8|aC2qq_Jb0tf7XeW{?t9dBIz{(PtG za=R?>{c8MR(!cQd$XcMl660jcs>dhy8Y$hoK$>Am&-_np*Cm7xTigI%nY}@Q`Zmb- z4*ayfPh$}EXPtOV2IsDC)VE~Pb+N9mi#0ieuBnAXdSlX*xEn${``>*#Z02KA0F|H* zWZcNX3vMp;dXE1PRUV?BNK(ytrQ}xUM<>p!K;+glxvj@m7CQD=+cjwsb?|| zp|%%qHqqA`RCvf?QdKeiT>vE5a;djBNaAIg^S+xcmo50LM!kxGXG6yK;N)6;PL7@0hKz@{|}GpPhseh()IZko;$OQgx?}c~q3$n6vJvkw(OA5;kPG#UxcLRo%OP@1TN`un*jX znV0}9=^a{_mBZ=~!gEruKkS$;U={+yyd1P0umwX19S)r1>OwNQ){;%`>MGDxOz*X? zJPAb3O~2nkFuq}Gt?v!-NE<t7i&!D(?$Iul&ogFB__ zJ`*`zRrjqhCJRHiIgqTs!Pm%rdy)?+J%FC)T>##XgGA4wV-oU+4iNkSm8t-!U! zwG6jnY=h87WoFE59AdM^>c(FxoWwp?RW?(NsWe#OT!(+cppg*V+t@bhNJ|t!+Vr?# zf`DFMF&LRv=d-Ca&(mKatIDU9Qx}K8;`4o`chY~XE(nrJ2GUZ=kS=5_K1hL}R*n(4 zc=q>#Dw9C4kAGDH{?9xVAHkuFc2{{FPjK!xH2p&O`;&GxKf&Pjf0@}?@i(o~T~^RP zv0ZqqO&)fdP7L_R*_4vo2GpkB(3~cmmfEY!%QAiM3_O_H=UrE=i>cT!$&94()pfgK6zEV&j0n1kL9I>Kl%SevP+~{Ric6o0u(p+HI?8ecJLge6x$@<~z z;lpwOV`Rip-Ur(Weo(_S=LWQ;y9;AuxD!{P7Y9z$1MHo{DHIulYf1*emcv5$%Z|18 zTXrJ?QPYAQNr~jJ5T`D}wNq$@J)o3@1&Lt{;5CQ?Ka{IL zsHLugtS3!1De&wsI&_V=Jm`(ciQU$GA1`!$iOXA6D+qS#fQiZXQVmeU;27V6@2Kvn zeLJkr&`l57-oIaOdAwl_>>>TF#F@ELn46vpY}9`@nz!PLwNl^g*5Makq^Jvxf^O=Q z-oAG;O!!5|n~azT#-6L0lAze<2YN+0jg|vo)VBV!ED%CGk_cMccW2aNbsQp;$UTH> zt5scm{+SYz^YVAFb6HM1-yV)$-o)%@quQT@R4HHF)i^Tat$*2Sb?dJo{!4?;@9O-8 z*qj^P(i-vt#Mzh$F>F6q9f9ihbLC30&81K#re#F093%i8g713q||IX-vPAk@Qg`$QlaJYez{0# zR|qZH3z6jmgOp76!fXV_+6Fe7gYgr=s9!E}htG4JgxzygOC)}cY{L}P2k|-&JQjB9 zCaz1|eg%iIf{r25H*Ntfj_^Ag5p&ZP%g>HO*?2QVM>p5rg2Rr$x%V}p0APwo4 zn9iiU3Em=m%&y-H_NtoPX=IBa3Qagut^_y2SscD{anXcv9O+NGxsL8~k|)MD8jAxg z(GD2vn}8}qcAI|(uX@s=fdUbd`+}cZ9SbQ1pML}nv=(0#%$yFpih{y;65c5}sU%skaTB||BcK;E1MbUQdflwdl^YX0^)Q>4hxgkZ zx!8%3x}+qwe$UUafyfSm@2o3dB5ox4jNg&SN~#d3@m-I$F|VLQJhug3sv4P$k}&@n znyY}alfJGhMfH9|HD~MpW?fs{7Fo_NpjR=F_e&1BxZtNVEGAq#=F=QSB5-mzZLdlCZ>paV6C^>xpr+XGYEW zJWWViYC{!+A|o#-KzNdlaD85homB$pR-_%rK|eupJ<$vdSxUbs&1@4}F$d#T1~Q5d@Czn_Y+xf4*na%mg*c^p}EJc zAeD~!iyfieX~ForNRn|7?4w}dmIEYVEv`h36kyl`Z1NXg3)9!M9C4ID4*IrEXbrmz z$P|kZv8AP+hao0g>O)ZEt+ngoxbebhaPF?(-NSVpDEGm+6q^f7?)n6RdtDaqwn9s9 z5Jo&rq11_-vKf+N<4w9HCS1~s<2S#2%4m=3<-67IU|k^YXnF=XS@TL>G{*9y;3_L%1;r1$s>t6gRb`HVb-p^{(R>$c1DkaF zc<~j5>TWErh?G#B3Q!LKkjayG>jhUORaF^blk9JU|GWrC;4qkxiq*SqzcnhSwP!Mj zk}I7~JVkQ17>qtNnuU0&IWD4UQJU*v@}Y9p69E5JCz01pMH!0oWTxFt;6PoL-7(F( zht-BjfjU|?nkSn_eD*NCm+$ILL1PTUPZoqNp;~=RJff3WeF3~q(cf%$GTx+IK#aq# zRwfaTdU0q*0}C=)?6dhnV3oAsM2D;{JDn;jjG4!+-op6?kMxfMLG4(e($zVIh<|gg zqn?~9tT=U*Aq0ZeS9qs&JMCTqy+%EEy5C=a`GIO{QyhE#vj;Z+Kli{+i9cj{u+;-n ztm+c$cr*-3J%`5+@+{T|#}BmhFwIzoY03_RpTOW>xh*N78t*T~1VT5WZ>O>LQ19&;oH|qbU5hd3Gton(SM*9(D;VnPiE>`GN79w67mf@}IU+4r#A&z$`PpB+R zQJn-x9hD&dupkACqL3+8pb|JWS*$OH(aG<)*qBhCmMKM6`~PMJYC)s6BQO5A{ySqM zO-?NKCMw!QPz&QzCSNf&&KCmfC5RZ> zwEVt_W8^t$jQm1)O3-(hPiU7}uEe|~$a^`IkD`lPL~Gu29Z9EOnk`8nF}fklutri1%+^bt z_(APb-*IGU{{FRX6Gl(Z8ge5mHsAg0`mz!Y!2Ax4PIReo1U~nqjLgDqPXS{N)u-H!LcGGm@2NJLMV~ML+^7 zgF#Tav!>^nM2z3^1a7~<&tWDJV%MyWEW5>GYP{M=#vf)U3yejWwj6@i#kw|RMM*RR z?|q8{=c_e1!9H$wZI?Mk>=gy-xZ%W?Ep@ZPHOFukjQn(?SDxt; zsxo26u%;0u2r-VBWu7fJooFZ8!2T@Je6d;!r#>8Hp!yUsEwH&}g{EgNr2`cg3&w2| z5G!x@{K&BKN+B{PfS#2JSG2X~Jt#!;S9`x(Id{{C^Er3ypFz!(u-#WS9`@L>P1a<( zLKGD^s?72%7*JVUa!YjM+!l!0Wg!(@{|GOKI9PZ8TTaZ4Zr(kc&Kwd3(%0+-Oy8AanENh*2;*YwW9FLwME!ML)WJ+~6z~smj;zBD)?L=bbP0y7|&4%)`*BEcc)@Io4w=IZX z0cPLApF&@G^d{ziE@>H-Q0C~R|H@Gd=ub?!ViwBKvljt?nr#5WIU{6SD zVZmOXhEd0;xNS>!7#&A~m*4srr6|ptFA2&q^XE9lj?Z4)2pf7dg<`%g8krN_gS>{` z9UkxC-si>7vj!oH|8?9D9&&-Aek$ugn{R!_-sGI6dx_&+kKSAe^K=^3NJkS3aggdc z(fb)?YqEyEjow#7A)PO~kv_i6R!sN)CLv7o-;)r(860fO0LvxMI7KA)@{Y8_ya~&xlgqgrg}}LGb;VN zRO;v)RWx==a9bw0M>3l2@E(Hq$YpW;j?l3J+J2^r&?=swvOFRZjcv4tM=pMJgKXEq z;!ud4^yp#?oQnn}&~AV05UpyWb%E)&s7kd(Rlxchs(^ud>m8=NKNnj3%(mlF)o=Be zy4YM4vr7d3+B?|@m7@?aMi~bn7cQNsv%MRQ;#~JK6+1(PRTgt$c9U_jCsvrQl~@;U zk0^CbP|T>ien;LvLWJRu5^UNM}EFEIy*-adsfC!k!KqEON zr^Z#HTa#qlLHMjSZI;Q#8b&n;&(qwTGS$(?_NMV1Re?Uy%7o5dSZlaWn!pW3Xm8pt ztiH(E7s`r0!pmuR&5bwiQ`u%i|Btb^3W}@kqIE+Ekf6b}ao6DP?(P<}ae_6j9o#h# z+#7dycXubayX)rL*Sr36s@Bzezh=!EbBt&BmShaPgk2Y-wv0nK`Ez%-BQa&4(QZQq zlzm%8I91PsWr(%aEU%52Zm#)vFpdaQ_Hn}ANyBMxF0x2s$fjciW6d&6c1HywYOT&D zZcVz%D)(3tk=E*kwB4q^Gp9Nw_PZgEx+EC`PCA*FOLNzh1$9;_J}454@KV&5W{aUJ zD|xTM5=Pl^MXVS~oopJ2f@}c@v~l}(#5Klh*F!xb@ycm`jzXieY>s^3W29*gxFxl0 z1Zo}r@DVE4V)+EraNhzcw@i($gnJk~!o8`c&~SUICn)J|fz*Zg7>;Hx)=IRn)r!EF zcdX`2qy%rc4i4m3VYKk!9KYog@?pv4*%TB5UVp37$v3h#i%l@rt82^^`55by9BJGV z3c#ZpDGz6fNHqOk1nZm6=W9*G7U_9to7gKpdV@rS&l5mxs=>g&6^ms(^%>M1Q2U-T z&jLBstraEkf=Z@z5AsKIaSar_AS)osnc=97;H&~VMhOrrux$rB5f=_46G^UCgT-wc zS$&3t!g}Ry!7qqrF02VJaca7o1<`74E2>|3gprkNtAcj?37+!r7wT7uqAtf>zf^(4 z+mvID?hgwE`k)|(>4=LdI>&73bMLg;T}Q;p1FE5 zqKap0i^)HU*QnM^b_3pGN}Q9S>Kv7udVg7cH@P(V;hdhwKB`=(>PBH*(53igYrkAN zeDja4!nyGyKBHVJllK5o(>+N65FBPL!?{nOr_wjmWAf@;d)1DWX_+Th zUlG%`Q{E7-<|`#-aNfJZgg&3So_xlBc9A@a*Hds+&I87h@G{nNIm;&V@|o;lPWS%5 z$LVeRz9eJGMoBSicMoAZBQF?GhQkg|c0FGV_iQYK43kJ614eBk9C#FQ&c?5d1LA)V zX4R*q)>`CLf!qv5@{D9DC0^>;Tr(GlIG0+PRS`8|52t~1oO_naUhH?|8EZ;Sk8p5r zH}0`nFcV(=_8arB-<$(~aV#^xX0LjxV?ESMJW>hGVh3jRHR zH^(%+0d6iy-a=?42(8`9hhlRG``z~SxpC9?#ZO$Y0V(?`%@qv6Aj@c)Q9{1<=loqv1U@a69+RJ>>^ zA4lW>`9)%i9~XC_m{_wf>H>p1vL5JfO_ds^jo)rE1y2~Le>%>Xro8@LkH7Rvvc_sb zcBFdL%|f>ohL=6%`Lo%mFSzXa_Tm+{DGbl+eu@Et?vU#PzT0AV5R_KUEE&=~Q7%6{ z(qAinabF{CvT!NHQO4C95h%)I}tYuKz-%?77+GS2@Le;%e}ac&?@=Bx)QN&Eq@nR zRJp;|6=U`{yqIuo9@84@K<-`o?f_$`)Rn3zUz-p>q-g(=c^!v~8El2a{^dH`LPI#3 zvG@CI_#pS5DC%MsP!siE>4$#7uM*TT9mGtWjgtZd*ZtyMij3oVf#lTO|G z*O&?s))acIO0M0kz0}SZz&{xZ8Vj-lJmn3!bh|Z^ZUg+TfubX33B+9a=}0w4!;r*9 zRqvAuRb2PhT+J$7goj4ZQCNT}>IU3hVS#sVnrTW{j)Qlx8r6@ooX#vK{VenR=WY)R zNSAz&f*4v(Z|Lp3cbmW9RSC_VLR-C!mh5wRENxofFu5=1w1Pnhl$g0FzjGQLckb`E zyefwfig%mWyb2!UQG97SAVn4u)oUZTm&Vd&2?Ys$7Ee^IO91odz7CRXJN2v+zbIw` zt>wJQPTxRR5-5ggnl`X)coO}l1*=KPcq{_E%SL??UL72$s3nL*6?npsQh~7__~2o& z|2RbP7j`xNA3;hXib4+t7CX2khmrh|g(bT5%MW(kQ+;me-$k>quL_cBN|?)AplXvs z#=QIYO_28&ETk@sR~oGel~)0m5^c{<+?+Z?YR!3DglBeW>GiRFDTv66JzuI5Q&iHQ zY8d7_;5$4gVvQ!V%o)?Sz|4k@?7ghrx_(hc{%61-CN<@WEPvsQ-)f7B4q0#T0#Y4j zg!mW=a25TJWW^)0fu$Kax?J0@uSu1qiRa#Hd z-nz6ygR#SteRiA2MXjs<&dsPT;z=;0`{iKLRCAWa!&j`Y6+aA#F_wlsrrfMIx=7~> zbhUeb*n@DZa;pPt3w0xmdT>;3UG`#5L0P%Yp{)ROctV~{(qYLLP{w9e;a>cRoAgAD z$Tv+X&HBuIcFsVZHkfsBe-4O8qRDUZN2Bu?;ql;G>dkYpTqn&tu2j77UT2Fgrv&(n z!3Sp(H{fRn?sL++TY}S9XG+%8n40N>>&cA$#q)MT*q45VI^&n$ccw~Jc(~l79W*}~ zu!k|97KV}f?C>taouhWv0xr>u@aQEnbcU34&f%)KE=CuTHwp;&Y!;Bai^8au9QcOJ zSA55BI|-1@Njc1WN#iB1qhwGb@fsVC1z22|(_u7=lhzD>W%c(m|0nJE`|*aBvUy;=q4ivB9#CYPX%-oDy8rW3&(f&k z>GCA)K>MgVVBokqx(Y$=`L zHK3jiJeUMia+wjOn&>WmgX>kw^Kj#^qweY^Gh+zk%(vM8=>Af(aG09D!NT_x09&JH$n#CR5E*9g&yy914{wh%xD^8C<8X9u4w~`6P zbolXUdzf^ct{n3p-cbxPQ<&brV62K-bb8OQc9o*>xW|g0cd3>oo>>_G4#D`L$lvZi z*aqp$Kg;tU9`9y0fy1Ph)r!I$V(_k{&W}%=B2*;O zVlJh{dG(tRW9N!iev-m7LEC&DLY6pZEv`2IQ4DsDU_vPRyDSSGN<_{ra2G;B zmr(;>Nv%VKZmEVlD33skzC6iJ3~ti6&Cv3%pHye=HcmrXJB0^~YNL2WH#AgtWX@iX z65@3IW(?D>zoa2Aa*v)S_|2%!pV$>Wcv^Z94k-L;d$L;#QIL#iCW&M6*qv+}R+2C< zp2`B`w;iC`_qBmxCV%^H=GN2TUI#9@>In1oEe^``Jr=nfALHs&eSp-G2SzdU`R-9qst^m&x0n%c+enbDxjbY`{9;-*88a{o#ito8vFi*x$Ihn3iFGX97P01 zT{%}2!;(&?_=zMFO!lK}GO|1o&*dzxiW4N$=h&bO-tqcdvg%RI@D=H)%Ln>Vj91&e zga_Uts+E|1W@H!7J>uyt^(V{9(OKU=XBS;@&u%Q4mIQkH(kT>a=j5-_#aH%pm_5R6 zW|j5`aFH+gmKn4Is$E0jRloy&>Ggn&%e2ezTr*cKIR5RC|YTK0M}V8 z=%_6<)TMFYmVj~RSAqSW5-5DPlO@bb`v9J9)6x8|=VY7nusq$vjaTScbAA>shnTKo z<941iu_LJ$3B#T?(1nOcrgFztsT2J#ginOBf#f@JEQ$*5RHdWLcXQ>eBI_q_K4qj6 zAf8s53?|GuJ5#tUobr3sDjge_QbnB_w|JU8@w8Ho0`cb7tfbT>U9fj&|_V-tqes2ESijr?szOR^n zyEOtXZZo+apLdTYCXe~^EN}`H;EjC^jiv7r`#7MjEBXR+IM}{A5KUa7ULP#a7$&!T>9g&p1p=;b&=QP? z>9trdl?aC&gGOi$Px4mKuW#<3F};!*)&)ympO~hfL&HeIpDt0PP%m?baY%#1Dzz_` zr+ZIY9m5_tEG>Fz5lB-2J50BEEZaSkPemc(KuD3sK?Cx4I_M{7px#-;fqA7PX4pi^ zlXo!kA7(<{euX}d6NfJY!zpE(r0(hPyT;J2e7IrBb=ecuwR4UDVfE4Ga!FIdu&{Vt zIVNVYvLj^5@ZV&KaX8rQV#stJaamLJ8k%^D%y?V(!mfB~nK+(;KzR>Sh}#IyEap)I zv4Y#yj@>|M2rDm$ZDDnF2d4q|bffHYrzkTO`Zx2py2_(zYEyvk z4-D0FOpKsvx_;i}Rn+SDcI+&5Nr1sjs5!o8_e8$cMNV?`LQTJ)NBAnLL$w`BdYj`F zw$)mSuZP-58YOiP`IozGkxBb)R9l2O6)bSqcJHQ(p0vBY=MEC88WSyrjSH{ z1gxj9Nr*Qsd_jMS|7{6zoiwufFH%|Wms~v09vb34r+M=WCtOb|GER#tW1|7eV~j$T zpfZceo5Jd{M!qTcBn`}EqH6VD9Zu;3OIDkIuwmhAX)rHXF=d$r>}J%o{qs;>nU&vR zN6_c#V})UPNA+Wb-!WrGU`*z)5=R?(na?XbhevlfN{oH9<-~DzQP$kSD*j zsvq6_=Dt&TNhs)<#{6#@WD-x9E;M4mZL1@Ew#&Y{e^#d42y^A$YS)VvGuKVI!o10R z0-EN$Tw-Q!et&=lFxKRiS23*?hE$c`(ziFyORE&Lpv2jKZw_T9+^5V`uG^0)CnD3I ztk}=L+^h`r{{~Io^VJMyGcB=7nvZsBEB%^RJy+kyc4Cnl1{=&qylkEZpN?sLlNEsC ze!`kB$es_(pwz;IR`V2o%?^4Jy;`Xf-7o5;V$bk%cp~3PyF?tu`KPmuF+W5Rz-vQx z-{;qNR!Oe2LP7t@>AQMnR{yglusVbC=erT-i5AI~ptffJc`b?;kmasJ1P~Zdv#wa8 z?Ys53>g7c`9!`P%BY5oqj<>^f|AF4b%xW!+m~dsLd7flkZ_h3+&s+u67cpCvDaP92 z-kPD+hpsB%=wacqkGYkwKTP$weo3AmMs|fh-2$8JuiUxJxr4%>^BKAXAte|5%6;{c zB=_0p{NF6MV@BSO^1=sHKDVWc%ov#JC$!6kkw>>Q7QnuZ(P_;8HQ$2&*V4Oe_nRg%G)R`{3_@ts7>lD$k8or+!Vnu_kNmT^C$gjU@P@OAp)f1uM z=55dgqZ%ad5{y=;&Z($?>MZu_1Oq~`%xt<~TFh(XM~WmqV!wKzrY(%oYC~b0+lr^R zQ?)KwlCwOg$f`u+TUO+)F8&*sGTZ5`jb^fiGSJrZV=ta7KYLbY#-E>~ef5H~pndwE zXKdRPI9Aa7rMP`7d!bWJhbd7L&Exlo6<6pQRs;AVqo|0{f~~v5w%j3PKh7_l`burC z%GoM&&)%9IrO8$i>Q$3CZNHNX{mn8;INh{_1XUH|*=i^7iX-<;#uTeZIS3^QzW1{V zJ1ObJcMSc8ki%E?fA~_K;?;JeaI!k24>=Bus%SmnFey%_L^ai1p<0ZB%hNVmzOqD% zgBR!4;WW990sE2GB*$BMv0pY{_;kUW>xPvM<_%8^%{?BCkq z#$+)g98`16GAY~uZw97L!*s|WLWhVZ3(5HwrYZ%zW2;79gF6@XSj7T*qzhvhkdMV& zU&z!wD>W1T*Ou#qJWi=}jqwp7EOFikC3ngLlp6Tj0p%3%5-p6*Bh1bMN)t^U)7tq} zUHXtJ1D~ zH&I5thhPoM9iEHAwQ=rU4HL;nMEU+M6Syc!lOJ~y)O}tp$pVrIgdj|DZ>5#ZuJ;+_VwSBw(~J*8ZPc+ALbX;JWGCvye9K-%g^+X3eww6zIO$ww zEtFZWj<$MV@?dI_nW0>f4*8l?;}V` z3pP~7%g$4tG5c?7oJOMNDqnZ#G5|NmYZ^u0bqbT8o7qo_S?DkMAYPIJ{ON?T?SX!Y zO7Km#8)}W>aah0bQ&02p8okhHz7EKZSyA6DmqY=XGd$80F)w;O%yH!Wi+cJu;* z?$)CUGdH+HHtAKKn*#2K&q+l~mNCl(U+ptX5|!qYrk$fa|6JWluG)iqmIS8)TJJgl zjpNvZ)Sk%UOEZBN`OK5_9EiOjAN z1yRq^{_nZ4x@vlP9?9q!tC?4~EoVAt?^L-#9<6N}r4of|9 zXN$Q-#aOmXbW{rP=b1HFtn0WX6(-wyz5TTI#3prLgo$_cl=4-v*|#1k#1$#;gHiF@ zJ(%r&LPIocN ztfu0w&LlJZwOGR~USTjN(_9)1vbCcEZOui_xLIbkvT~7vUGxm7ns;Ddm$4 z4CWS6sm0a4F`0A>%sIk_lk^!_wFy7F`E6j=K##qOn`yDR-q8BLpfyN&3vIyUp=EjN zA+yhk_od1d>>y-0TMmAWHG{RBD?+ELHviI=(QiICbT2)IjwKWk(dS{!-WV!Y{S74d z5`wNi*<~}yKmk*b!q8%?XGNv-=eluVXd&A5MOscSf3p%z$K(pCyF85HNj@sTXbv+i znaZe^+I8WAt#O0bg4YZ|Sn&s0FfrJh@|6|<+>wYe+JA)b5OB}04^`qEons%AL}7RW zS?r#1J&K#3x#@QAtsKxuwu|#KZLeg)B3&8O4`@(UT-ltoVX1X)2WY5@6weCtq)3a2 zSfYywj*;-jw)W^tzaQF&Cc-Sm@c9rl6r~c)OT%xHSH}`53HR)hMHkWpqX-5|G|kwm zxaMDRu@IthYiA;)aed>dfgbe3ggcr(gl3tH&_?Ew1N=5|EVIlC~pu}nIB~{rVAU4P?b7p%-5iOD&w5< z;nfKDD#k%qfeeE$afe#Q(&QRW>($sl(Z5s?KI{L@<~|W*FvxGe?izEr+od9UbwwF? zb$?8wp%C`rYwisANu%3hF1|y&@L%rHX z?Qm08JsvV)jxL;BkRqgS2KHk!w5E&0QIqVU+gz%1QWOmi6sI!!cxsc!DEeW#cFFwD^j(M-}>Kpvg}zJ-*lQjtu8ctj^=K7gZ0~Fy>pJDA4~FiiDL~So~FW z^zXlfSe{D3p(LCXHXj3MHEG7m9ne$KD7jF3pHScD-RGy_yo%#z)I_x8^fWP{f#sxe zreeLx1|vYg=OjZ+Jgc;boBJ@w+kR^!tW>ghlCvqngUmcPBvjj%!b1u1r&4@lASB-Y@Qc<&0Eohf#^Pgh; z8W$FdhXLL0Grgpp{Hp)pB|4{wtAkTP5^jFyptptRZA3TUGaXIp@{rdm)Pc97r`hQY z9}8=$#@DCQgR+@PXifYH@1=?>mc1u#jOGqi_vh{H&DNR{9a(!k+6e*h)6fi^FVOek ze6-_<`aDD$^|^`caFjOZa{-!F_qdnKfuo0?7O+H6JVF~dY8e96~wMc*c3F=5-hL9S^!b1tYK6x(+gYjm> zh3kPo7Q_yzcU_vO0o-kpXd5>kp%$KN`g`fUSc0wHgc0(Ij-5^HFn?3poxS^nCuGY%}vtL5+xiGq` zm;l3f*Mm%y)^_#gOc;DtnNx7k!}Zk;b(nP5m9fS6ol=ZNF|HxgDw&Xm--=TcBB#RS z7Gf3cnfb+fRO)k`4vN|JZ?Dfs1&6QW3ke~tK>=psSe5C|&+p+CYjQRKBs_^^~MB9PSp7|xa$#t-=Ey!!?d!|xABt$7Fq%stH zhpoj}^vREk7$a^3oD!KfzU3jpyI{KC&9%nuLe%jBF%lnzmA>zvj1saliYBb8rt#)k zi$G#5*CJaDY|Dlc>7;~u-#B)QmDL+&pm^W=`JtZH7tpwvHxO)wOBLdcrh?+ zgFqcm=Nbq}kvB71TG@@R+Oiqr>%fN}9doYrTFN`{eczj?pu>JCr2sHgprQW$lvb#F zg=Z;=jlYT&=JzW?Aw13tNkl-9M%sv&N(~!I)_z&BX;4P6oCCdcbP2Rz>MQ)~jd!*Y zI4z~}-vF(`)ShEMu?LUc5Ppmkpp==dhpNv0L27Nyl#}+ibh77l<$`VPKl%LxOI=fR z)~ADc1PJ)n|MLBoGOvv-)l(`UaFwQ&fMaboYDJ@(v4wPJqs0^uwcSdJQILD)Hmfmt z^whS&1uE-K4c7PGVGMuyAAB@vDc`-&Oryq)@6~94HqMWE+5^vGNf)ckPKrI{$T4p` zF_XUQheAO~vo5>-+XTH%!6cb3h%1g)A$E-aQT?_->v$;qkCBqLzHC z;O0vq0lQ#A&f98i+xu!=A5n$Sxk}ccCyJXJTJ>(-MFMw8Nrp(+z8CQ^zSDaBYe*sH zN-K>(4QE;g()I*k-~?WIRLPU+Vn=d~LA{4H;eK*ohvykWo#mpn^<|3YTe_X)un7Td zu`&4pV8kw~JmP9O_Bl>j-+b!VgvtGjWeM}=ylnK^*`lFwD`s5WFeI!)KEpk^)8{Ht z**2oWJY6*+r@8Obtb2=@bS^3@=KN?0y@yo?&bd*1)Q6@mnLkuY!@5Tq(zq~Nz3Tqs zC=mVcwfC9mouwv@@Th*_3ax9}8@B1>n^XMKNI;TE~$O%%?T z|D6(eT0A-a8KsCyQ0^?Z?1Kq5FrDq=_OAl%X=Leeo4~tftGQpPopB1Ne>y{RQYhG= z$GN1vT}VX%`PEZ$-^8z0*YTA6z>A+yCobm;Ta%WZVCx3-5SW@P7iRH3EZGNw#;x&y zsP^3|Nn%{i)Z!3kJ63_FYve8IER1glTB0z00P5S&mDq2Y(JV>IAsJasx_+hD z6|8%@VvN!Ok%H$4KanxwUvzALSwl7*rYG@AHm7(nO!5&!4vus5L%7p(G7C` zsEtAYThG4Y!=#<5XTo!Flx)SCGJQ56rbw?+h1eE8&}v-Gx<%fzvaCLh+bFp3{hAzP z7|hD13-wWUyChVedvT7AN(zB!QWMMi{-Cs-hnH03@le6qJtn3(ve!C+%@H$&dN8I{ zm!BrFZ&BgV`)MM6Bc!Y6^~DKWEI=U)7j0K_u zd5FCIrY@HA*TUCkFuZB}Q`E~-DF9~3 zIpdRdO1CQoN6Ty(cjcL4ulh5{vkw^+TFs1XHp%J$wOxH0BwJ z+4?M6UMg6><@M!J~v{%@gwgkQay0Roe$ zMg?etapxT1E0qbxj^)NHC1f@(R8qbtZ%U%Y$n*C~$2p5dr1{FE?)+(AK)QcXc+~vY zh{=U*ZAb%Ry{?X*aL9X6P`Hu z+&?L5V_>~pJZHdUbj1bbMdl>B^{;`iJ8?X-rf&>uZav zj!!O1vUSwCuiO%}lWlno@ia(`30M{UZC zI1!tgM!t3~YnGly(EGQ}vQ|n~W$&i_{}3HMrmshPX@#0EGNuX5N71AG;aA8inlS+4nwq=keolmk6hOZ#$fx#5d`fEj4l_z>`HD2(3ZJ-b;at~+2a zF8b_3xV9g(z@%B=^E8v8c)0mj|G4R$79Yhf)aJH4_q0P^z)k@uSn3LEe}*?H5Z7E? zq6`kb+u%9oSApn1-_|UiCbK)tu=fw|lY(18S8ItC-e3Bi&dbpR)U&}ISokpT;8^wQ zDqPyyru|d?F!?3IrX!_-5#nW9i;y8Hi8Nb@Y}a8wzNwu+;Z7P695KIv-{}Eqs8b=G zbfo+^03^mNQB=42Z*`o*nw?$D$PyYBJN%zFzNeH1vnWeOTGA*=o47`ovyuWK5qd)2 z8e$Ka=&)od*Mu_}A9i8G(5?tK`=rkc0veCA8Ui=lraB@H*dDd}o;t-)e%y{TDSA&olu7YZv3MbRCufrk!jC}9)pisMs_F3@Ib$D$ zu&cco8fPC!cRz$Lh>rTkRA8J(G&YBfdw*fMDU~h+{oew-9u1aibmI1_+~77 z7uI@Lm4sJohkuoZHrO@WBywVgk8fR2Lg;;gr}C~D8HSpManz?;rrU%(Ic5`H7Vhqf z_FF7*+_{)2;G@K5@2*l}0yy651`Ku*Qy5k<%9NSeX;~4TKR^t)a}WT9%?pN@Kbk{| zgpPT*0Y93y&Lt`t$mX3+2c$&s|IQ(x)iG7oBYa~q6N!k-W;K0BT;^q^KArnbTZ$5v=3Nk)<$ZONn?!yt}H zV!-bg*h9~N=D2a1Z%jJ`&K?U~p<3U57V#)`f1cRrx119mb#db=J`6Z|Pv-+P>VSh9 zEu0$`Rd%A+v5u-p!Ige5bMUbP?9;`tbQ~Rh#pulPjQEK9l1Pcm#{ImGt-XL6ECgp+ zxR(adQBOBAy-b~ZCw}dsFl4%mo^C__6;dzaZM6G)Zf&3BkE@R5xjLM_K@@9q=L9ZX z&-i|Bx6WrJZwf^!`~W`8F=CB#>0Zw7Gi?#+3;oxFeq*u07huOTw*{}hCgOU|Q*TDn zCkK^=Oi7m^(ZG(ebu7NuDG%rG6|99_9EwH8ijUv=O3j+i`A?+#XgF%fX#QKS!g&gf=W%h zBv+3<$w&5SB118;8jE&4ONRO=^La#EGcvQf!@-T@?$GZ#?6;5ETMtz=SZ~=s?j)KS zI{PSY9OE{uoEYNhI5SPVwS{fZlpb(p5ATRfSC6u%g>Ns!gWQVKx<4w=_Z=#px`<-I zl<~ZdhRG-_KMyLUO=L57$5+QxvjwJ zEU8EIp|)5#!Cz^L**YROw<1=&&$Is(zw+Uc*V|BZn6BrIJ~66<$NP&nqkzlH`+~|d z`+AsqPojMw`8?y>PE7*>>NS4}FwyY&!yx#?@9)LGr4nKx!oz>LQ8K=A9lFl>B z!Adm;+KWe7xF43ejc`%D`f=9Ff+KGoq)+@Q?ku; zFrlJ><@)Qdb6uPpDYH@7U%q7?;-Fl@Qw7U;G#H(W++vVTcf{-!8=Z{GJT>i%k8i?G zw^QIMe`G(Dn#Pm(a}~13-PD0$S~7ssCFV*k7VicKj^YSatK!Rg%qu-2{)}Nc#KQD< zcGbc3D0^O}P4G@fMH z)=T$NCO*6Nz36O~5-SDm_=jj23j=}7G7f)3B!yPCLxP`X3JUk2WZW4J$Pn$W`Wg1mjPPdvAy^a;Rl_G^GItN;V*Los zLw+lla&c`fp#u-jKkGB06-G`LpQ^7_ae_B{EM-e){`xG3j6wdZb>*{I`SpX07u|?xSy40;#7-w%prl3%x2k zddnkuvWmFex!>B*M5$h%P$!5Rb3d?&Vv1TGVn6!pND8e_#RkC~8Hn4&YqJM3LndfWP26snm)a#aX zTgeg67=2w8kj_cn-BK8v-Lw&F)U&E;=&7wv*FBCuFT`D~e|Y*}gQs@L+Nk5uH7E!= z56}kio!|Tp+}FE01eC~6Id-aPJG+4*9#1`q4!kg zCtaLpZj|~j?p~QnG4BijE3+S+xkBspQjY}IMWoTcglc%T^%%&kE4$;aBVum9hYA{t z3s-2n|GSyNio<(XVCEfmlx>+ChA3*p=GK_cofQ745kb#zz&d-oDSsBg#ywgAW{B}- zY`e{y?i^91X{6&~ZnhsgqD5ZZ>1vG#Z%DX*;;P%N=tp)$c)avVclZw=R`9n*8xleee3OjAAf`qzh|-=3bISwn7<9^VRs z6`TZX>?e5BuR#2Iz7(udZ&jjB8hApRir6YynZI@5&ps84Lbqmb35Gnz-`hke)Xamz zaW?&)2)AFpos?mq6t%IFQl>;L(tjKK0t+MtX?E(X02Eyu8Au^W%IsA>5c3iEve057 zZqhK&fjDI`0bb6TO6A&yZ>EPh8h4yA)ceoo*Mmu^q(O%GxJS)MJKNkE=F^1uwT?Lm!{QTCJMkPMs#_`r=Jmz+!n|LbK%3CAKN zTzoa(?G&!8OWI>7iUVnDiH)FA)ihPWZ`tm@oJy?RQ+8TP6HMn7ryg4QgIzjSp4iuS(Z{E{QleFe$iB{ zx4PJz_Je+2OcpHN3XH;P+nDgHe5E-qTk}npr<>RoPv8A1nY51lxfpD++aq}6TnW8g z^7I)|N0l2yd@NoV0FJ++ZWRn>LvFS4j%x(WXMVtMRc{FYRrsn>xi=mkfmF zW~#PeEw_A&0Cm5F85bnRYjPV9x$P`2unMx9SCWP&cocvvW+@+ZU)F`W?TC3+S_ORCUl$D@cG1!C?ie>53C=4K9~iJnIK zQ&CP$4z^~`*ZgzOOB-d;x*B&0Z^^*bNtz!;vjoP=!kij(A>*@ExWhBe;n9~uu}8JN zBOpbter`yrL7sFgQ|-rNd`L1E0Ib~U2R~?-r;uHnn`0rnjYHFywUv+(vH#>5j|ysQ zolW3zKjE*y$6M@2B>@=Sl=+yjXN^9BPKe_08AWpcNAl4 z&k4AS7GJV5$e~{}a!T^`^x&cn+%xwGeYLT+3f;*6S-VTuYqqa?aFcJ}Us~!S2H79y zF^wAi@dzKWKASqupCi1KW{-<9Tb{1%9cpJM}*>4J{mX*}ml5&-?kw?|$*G`f;d?yZaInvVq(<|C00=<}yb-11CeV zOrCw#4X2mzr1qnZ;Z~k~B*@vR_pYY9*caC)E0NiE41eZ~lzZs$JsjtO`L#BQvYKw6 zKN`6NL^E{A>t-RU{yY!X=R;zGN4nFy9isR=&XA4R3c;;-;oJuM7s;V@l_l*LH~9>n zj59^WJs!0@@F22Bn-qZe&@p^s;H$~}mH~9}YED1jx5;@VQ)*)YR9#WE4wib9I@RK1 zSkb~yXpM!quZ%+@7;rF$y0wPNxuP>QqNvfB{X+!IXUhz@P~tF>{b=HHVmol&tn(b= z1U@R|(kWGYK7pj%-5wPR1o_MJK<^p+fP&Z2lo3gmSC{Fl!d`B3kC`6JczCtN~mZ$TfX zh~UDsOnwCS)xFD!+?m>!p0@RWsBF0wR3RKn+<#TAH2Pz1sUzh{vOib5$ZN zCV|3(h_-3+0={xpOOXo?PNmke8ws+z8Wp7*7sd;^4vedFz&rjJ`C=*$_l~v=vJxHm z8g9@P@#ENd%2h%^E)b9Ao{X**NN0Tuni*mMCKdzxaw4tzIg4^(N)2(MNzZS>xi~9s-)CiAamt zt*)gqv)KQN6m?G3q6jS~wg*?JA2g4a!^wER(O0J6WpZ(oX{vM(J=0oDuIgPOFen1@ zPKXYKof_s;Cq1b*`UH9HA)X|Fxwy8norHf*y|>{B4dmk&u>VfE^tC*u8d+|)Qsi;G zSuJv}XF0FuY*xU7E%N-Yt;<|DA#_K$zlhY#p^tloI&Rg7%e>&+9kC(AJSL-bUa=;w zn=4}3=iNsc%_WcY{ZH_VzT)+S9%sV|XxACfe?Za~BNJVe4Pd0qecuhfjE~f|F9}bq z>%q?zap1PM)zADG_{`$fjB`JucnIT{&ow30)A?ou*P?t06kBwh`?E z_c&Zk9S53fNue!=geCc5cZ)m)!dcN#xhrJfuvnmP1hhbkIgbHYPGI{Fkc)>;IZSXS zHoJWj(U{`0>v)>G<>3U!!AM<=yC&ylhvCQW2;A_Ccm23?yDd!E0kGoxYCmJI5B*V{W9>pSed{MUm21|e}v^vPH z@oQZoT5os$f;HY4bO?%xi)bcREP*7BTfA_Y$d$&z{4VYj4b{M)5 z#R>0Zb@95+oBknGdMtm;3iuW5ao&whjI5VkLVXAI&cnq*{0kRoM_e!ED)UXYIsUEh zKI?`ZlroLga^MdP%sA@gtiXv1Fit>_3%oh)N z%=uiG7=amIk5f8e%S%x;Ypmhz^uE`Zje8G)XU%D>kM00B5~u+%2X@SMZ^ReScgN5}cjv?Xe1PBo)%6LkbDw+dwT@L3oym3) zWIdWY-=QJLQFGE3J-9gOL@Xm1F@~Zqb@*jACGnW)&bXu@ZtWkGY_x^&P!>BKs)k0b zsu$%^L~>QDLZXHCqw}N=itaAvQgbHBYi^S8jk}M22Zl6|k%X7@n_wO86mKr4T^x)5|fNF%|3=h3AQ#pJVN|_DCHtI@aCv#^jdN zU_4uj={zF5c-cZ*a?=xe;`ckge9Bsjq~PW9%w_^@O{h<3pA@?BA>-3&kU-@D)5pc_ zX}L_VAA1YkgO$z*TAnjjw0lO~5}_wC9E>f6`<(!yHzP3QXp!?qTG(;l7Wo$M~{O(1cCpfjU1{irOwN!uYOSWi)U(@Lpvpg` zmE|y8&%HKEZH7Qkfx!GKBAgrdOWW}Gy1eAct!@*6rw0fBuN$5zX&EJcG&tvT94Y^} z(yvNB1GCiyZLGFF5R7Ks`-_Z$iIEo&7i;doEInPVP z|Hx9n02AX^+eRSvXCism&&`5v$)MKSlrF#EJEkI0+v(r_jf=1~Ye_y;-NwJ}F0B3H zvg1!CQ2}z9Y0#0gfvxi5eppMMrTr5%R)Xr1w?FlRgYfn0^PZ@Fd)7zed$Vv577p4E z7y0L!=O0HHmb<$$A2W9w(sMiaktUz&hD^qdVg{;MSNqCQY|Ne z-fpZFdYM(a_C1ce+SPvJbp$wB(bY^GGI)J5__LZ_+0nLOOOn-}fUAZ>5)X)wfqKAf$1(fIoCvcz$Sct4u zbl!ru3OV0e+Snr>w}5$G3{Kr+3XUieYbgYj_Zh#bADp0F%SU;(#Q8IlPwVY5zsy7C627$P@ z?0Nd~4-}r!||Kc|!B}JL_f)dG%))DzB9?VUBMP~U&S)*ze6NHR*NVKXH%?y&N zl1JUv`O9&if`YB3zx?Ff7EOwGi^n%taQK=`N9D9jZ|!$?T#q~(ttBu-gP+|?T#;+a z%V2pXhHZYU5?=>3dNa63$qDy|pVr?oB4ShEt0{c4shRdW?yjG`G*=1f#miRR#6GMG zvK4geO6%itq@E!7*}L3+)k9bkv`>wW?n*i*4ZWOqnNhNQmW2`K{Xl1CFPW1$5=HR- zVx&Lo{RXLRCM`y6#4P?iSwjt&vcX#=R`_bU3+STplGc$75xmXWEd>k-#DlhGy!V>@ z+#!F#+AK%o_Cjv2c*|qO_E4Aej%Bo0OTZyk6&h_I%gLYlp^f(pc9-HsEuvW|`GvEL z0=>%tY_GdU(QqVhD@l!CV;22p#c}h#i)o!zM$rvQrhQRo^d?sL)C5meXc|>^0&3Do zW5oK3>_hqGRBK829m1-QhW7U{!#*Eal@vNmP8b+dIpZI7L$nik-g=dPp0a=o|6}7~ zPPV!7b?^kSscX2+8X`U=%E_SlhL)D#gVdKu zQFOT!WtEYBHK*p&6ait)Nk?=SM}^TPlHxn>fc$+nwRT(#RTs)ef^$FX#lV0%)7v_U z@W+56!`1H(Py63pzRUVWByEER>*#J%Jv)*R)tD8Idqxr# z=5V`(@t*TB;2(azE58@|Den#IQ-Hl&FCBD5u@lG%!3T``;D7a{z{Im^|L5@kC+zb7 zQV^)|@5dg51M=fhYmFVNCPmAN3JJH$Y4=hL>NL?7^64^AomqRFo?zvJ7bjUc(;2>J zvCJ1SC;H--XG5YlTSYG|oHZ}sqxQ1F;vow*^s>T$y*+yCX1|}ckR#IafcJBc7n{+b zYAz^;bor_UmVsW;-s9J%`6r5$JYkB|jW75kGD;~ojbM@m-6-DO^R+fmA-cNFL6Mzc zb{tXS&DSvk=s4*Da@dKO-~L)NZ0zMO?a?h#DH4fp2u0k*3RsKwxUQbsnTEuEp)Q7;ZK+{%VA7_-l{m$ig?VhGRSkn6-kpo zEw4J4ZT}blRWRlfO}UOpm>l+Zogm&%3Vd@5B$A~Jz0zl=D$jp;<;s9tnj`anEhT6P z(P&>}#iKItp-=dEuyJGJ677=j4Q3_&6EsXRC=rB@p#g5N+=VUGbgVW;IAXrzSga%J zU4CxzF3B699gvfUz*ER$mPOMRJF&#yPNiE2t61q0^U`PoQy50(Ea|!xoYf!V! z4t@!XlYx@o78!dfNSnbM{=Qqv?xlZSxABdAy`vwu;wKkVYzB#)OKPO{h3Y0{OncVR z4>ky`m<8^Nv>I~>+Kj+9Z+Sl(e-^P|w5dDF51h%gi47*8{h}?jkCN{?c<^HFbntVSR;xEiuUbL;VHbMCYE4qHzq^xjw4cJnO* zpGce5LaDLJb0#U)lqQ^b9!y-z6YwG5GfXExj~yqU~Glp|W55u*c7f-7m1 z9@rQ0;H?l~kNmo0Zx~XVS@9Hb?ly97Sr4~-W+*-_6i4i=u=T`o6OpzQe+JY~T5CFv>PJ*<=3@eo^T|X{DWu z1iBVA_1uj_X3_x-QsO~G)nVc$6XRCtBdjMGY}bU1>7F{71gv zgYePZw6TzDfegPjv+Oa?mFX^I;ZW3Q46E zI}l!$Nx*U!gL-u5VooW^Hb$@fRi#F+?YI24hOq@P4!m_3o)&Ew;dmG?dM>zHtKP8= znp$*kZSw@aunXYRo>R5QE_j-pyzp4wpAJKT@5V$lYMA&&+cL=*yjSsW@RwTr)}uk` zUoo5kd;-?I&XI)OO^SbhdDQG$4E-2OnJV`ybftUXF!=`fm>9)5nUDbp-@3cgFVEz* zi}x>Kx%69P-P=JKx%XC+GCKYzGF!gN<~17k*LSgT-S>Pg(OwM#zd^cP1z8+An@$Nq zP?Z@q`}X>32DSE3PI?9_xR*X0AW88&>o!W<_L>B06Z4$$eRDsugkr?Ge8;>Qjht zK0Q`D%wak`UgygmGzQqZ39L9+%OA82NQZj6AsPr=!el~hN+2mjCR*ZsywXx*#E;Gu za4M|a2WcalpKR~iJ4O4(#($yzaELqX1h#A5A}sQ0xjhL%j>cD_dA+R;U^&rflcHOg zSZyePXY$#%;Xk`&5p?I|dYd5$1QWcIx{)~XMfuMqsnnLtV~e$jXXL=-77EwC{!ukc zoQOC*=u=w)X4Y>ARxPwZb9)Vw-J9A?M_NEYC}vkxVuhDI!haUiDIID@O3@7@on86N zfMcUE2&Jyur@5CV!GfqPeh<$H67vRroWpp<;8hf;d3}8mlccnaRmM9N&DYGJZip{n z2XID0vKK%57)*ccx^{dD+vo1qEXY~l053zL2j?9|CJ6d?zFBU2`%1M+7C3+L{S<*r z?rgRS(?`UXEH-z4r}Z%pTxDId#4QwY&e-rV0jJL4K<)+_Hf&_xG_g5XtA&P*ci`OTxf{hlU76lA}p- z8coEF@9@1Cw0a)s9d{)NzE_6pg~|jaRTZt~;dmihSg+Zmu9{4SEQGevHY5p#QZsV& z^A8;e^hb?9_9l=|N$S&*UkKu%R259_@q3f&qS=sHMcaN<2_-L-oy2+lTgPsTgJ(GN zg{(-lJFd+7!4tc`_ZL5YfXUY}1?$e8#N`rV`U(RYa?{W7`L#8AXDGzrWIj{! zs500$2V;N;O7>tR@<&Dg(|b#Vw?`0xV;~l`2ep|atcBt32E8}bHjcicOIPER9qs2Q z?eFw7qfJD0Cq(%<+Z>HIt<;FC7KAew4D7rpW8cWVj;eLf!F&;Q%i0^m8mF2Za$VP| z45M#2aOvk5``kwehH3{g)%IhVZV=f6CucDP?VS@h79S5@2DiMm8Dui{|afyp?NB7Gb&LHS7ynx0<@y4ET1-nCbm1Q~u%bh2MOIN!p+doTuuV zcXiVu$;z$XiBGntq$iEG z*HC;R-i3EjKkmkQ)e|;%Ld%@G+OjhX;Edy68eX7Z0=MlqfaCfNYD+io_JxK%Vw$4Apk%iNrk{t^*7p z##I#;Asi8fy)6mI25o{JGTB{od(pSgK_`bq42elJ`TeMNHc?)OhZOLGpxSSouXKU7 zE=H0a^~9%yt6}7K+@*&Fr0zvmO3mjrx}m}>{YvDzf~Us=Nvmd)!2G?u@vVg%zey=l>``PaL z;x2A+ys0ge&;6RF;cz0s;Q6VV<^&bJsU|;FI;xqHn1N!bteIrW0w(^-bhrz)B1uc zi7rahC_4GD5EAvScb2^kztv7dgUD3!LnlzFc8V|yxhAuLm0nS7JA8lXDI2%wqgKbO zJN{BTk5cY_9VQ*IIqu)`3Gg+RD)$xyo;asoI(lJ(gYoq5d1JLnj7KkV^HfuZ9$}*+?t|f~ACgLKe?i zzNy#VP-U5N#tRFgNY^PE99Go_3rG1)taIJjjj(gU zW%`CzDfe)-q0>24sY{)4H7!H#60fPUT3=Y|i%&AdvB+*wDo+iXpED?2n`2S#e3{P| zs`E0Lja*!oWdAL}Q-7KubvY_vSn_RQmtfp*h>1ZMgWB$`re#~TY^^PY^6$n;J6OtC zt4Jd$q|J^=`=hd3@}bP5{;&xv5tAR_?mqPs-IwUC?1&)3pS_pE*;Njjxs%K?;(ZzD zw3O)!z1GS`6+tLxXIbV(WsFOy)S2nt(Zi;0g1mq`nTHlV%|UUUk{arslcoB>9V_~$ zKP4fHail6Tp}gwUa@W$`c+gX&k>i#J5G>3SajH9EKm`1?RxTd_9T^HXp{0g8HseeP0-!!@KRyvN6%V0HyQ>ARI$-H@X z96eDK;a7`6L&X}f-|>kvne^_1`ewTpP4(oUHJzSh&!D1KiR$`B-?iBYlYW)7(k_d8 z=Rbm8mSKTW=9Krmr`#(3lR^=Q?ZB*>GZU|!{MYeVVX%`N!Lm`+5;-U)cZ2KqM36cw zeygbdQP5)5j;1#L-Ua_Gu8bX~BV}8T87!3wG-WQn)2X&G>IU_oG7bOkLIPHGLl+^% z0e_EU7-%H$9Glcx*C8_4y=(Ie<0gqK($0S)EJhYf5on zK#WaDi0d2E+p&#{S99nM^Rd}j_lV%X{^?LO&^_bp88?V18ZatAtZ}m2|46&0k`(m* zWaZRPQvB+Z6>ZEWGq9$R&%M(->){_v35(Ef0pZ)lyMkM(GLjo8a1)?G{4ZK0_>aFy zrDGpz@Kp73EQe2_@X z0HbED=y0qgbMN4sMzCU3P0)uwx&F4s6jWD5pC0?G*8|i2@ZYD}s3!cun;ykJK}|Th zI!{MK&>wKO_jCPaQ5?YR8{VGf+%n)&bDN~(I3RNMzc@sI)&BsO|9F7CWW5+jL}c6O zC2U6u@n=l#gUcKHaV(w%P}p`jz^y!R7H2zM1V9ZvWKvR-|2 zpo6C_WIT#-&zoH$>!<$O-!s?~UQYgx>-V?IpSHGUiTo$DApq+uW8eJcpWo-+0O*d9 zP+U!Gn_LY!Htc|C#nO!4`)y`Qe7h~k*3}3mLT(*$+StmV>r&`YMy0IO5#N4~+zaP7 zT1b_%!OReA*sC<+?$YcS|%ynk)nn8{h^6J<797S2<%;m@`idv@ zMM?IDiS@BCglkm-W{AtfSTVJltJ&v`2SI1K?@HJiukM0rm~!xZxOA#eL)@J8H4w$d zE-0c=eE#nG@iie4Vhj+ys?9*IrGgJk@Ah-LcbU$Y_E}F>RRE7~hA{-HU>tT(K3ezQcw3 zMuRm0nR4R?^rbZ1FnYvg{`}yPi3Am|=g7>&%L2B(Ff1~5jPI60z>_2C*|~gU7a~F6 zsoo>g=y#0Kt-+*^1VV~DM2toVUZsO*RDuJb$f)fMk_+PNUtg_6VZCv8`7RXa-ywI+ zWzq~be}9lHmrinwO-1{`Id{SV85l|G8W)X_kE>dKZy$IXc}vrI5;oBkt3U2U(|nzY z0-~#yd6&7;gB`Jx^7em6{!`33y$p!v4x~JI72H z{X0SV5T>LIzdm%K zgSQ=U5`UA0w`tWglQiS-dP%t8OEXSabAEtJ>7#P14ZKNJAKm7H)g`kn?9kVhY-XcQ6Vu*$HiEM2s zruh89c+?Z!2>Q_ov<`?H+MUp@h}Tz^^yN?dIT z*!I_?@zv6Bn#eX1CLb7@1vw>*IY{sK@GXXuYigx>{UTs0FUk~qbrV{u*u}nFNULr0s^XEP(Hxc%{ z48OOax6gcl30EX-&m$#+f+pm-r#0XF^`sD3dn+jzIH8*H(!Z2C%r3xni(4rfwiSV~ z!Ptc%e>H!9B(%(*p^xszWf`crvU)fpbAgwr)u>Ngk`gT>43x|0_O3z_ZI+MPYnou& zAQ?K2;JekHaKBWfVoEOI zvxy+U0Oq%sEnQt+zl2` z)U3eeONih31aVT*xXf5E4iJt}$VDq8-6kl2&xMJy%y)V`%qvCO8Er5YsaF=)-Calf z$?~0pP}PoA5eFj++c=a8omi||h@rc~2-(}JCVcJ#VoM#z*M#(UXyHwW>Covcb#&3w zI^bswKtNS-MXna+lQ7(*vuX5^>D8^uF}3&UC$(lJ8FFPHADn&`>}-zc70t!reAurR zTmN2MGbdNqGALUVt;SrmZPb^g|7wUoxyk3;%F3%eT(4}fgkOhf)ldFlw4UQ542S=? zz#3;BhBj>^%8V#2bI?=}TCUb)aH;OG^y;Vt)Rs9ti5_27K<;`?Ps1DL`d6%ve?JRq zc0!&DvSJ*TU;7#e< zqBZlKucNR_^IKRS`tv9<^05U|Fo%}!44jHee)am2L56E*1_{+H`6OPKd@g3ac$aoH zX%6KZ^jz%INoHobG54h0e;)fS4jaUb3eqIc?hwQZiN z@!lpYJ0rmz1llFnn}yrqXL>f!?__POH&eDUFR)lMz{T}5y!}OUc;z)~_AvH8{av{^ zpbyMcHGd3rW)m>c{ovU-0diz~3#*}erT>_U^7V2K9}9osxQx%r;6!vWy;c+gB47uX z`C##p1(1aQg3(i(Xy@IL9W8a}wW}qkkDN8nbn@o?StN0KfB8S>T|MEPO+A$YzW(EJ zkLMpMclSY67YK+)yM+)(OQTQ~m%F(1QK!Crhb&PgC3XAr&7*^h{6^htj@Pm0G5xLW z;+(*b;r4{I3Uv4!1)eh~x+!JP2`h#`9R~VM-~J%SCYEqRQs;N7t+Qlp{h=ztO|Ek? z6Z|VVU7fCoXoqA<8RNcIc7cXGR z>6%1UhILFfs(Ix76Pj@$#s`X?qt3cm{~zD;WWQwaBf#UMpPEla4tME;OnL4T$ zO@6L$KK|HO?D(+j_jqj8p%*Bz+p3I9@clq%dl-UscDAUi5%3 zb#KuOCI-jT&@iOLT$HCYwrv=S%MAJw!r40nkXX2|u`%6*!O^Z2zoGL3A>sHi3`Xgn zD>;L$TPj*Q?6p`lBux)mGvKnl)`CS;6#bdr^@vn7R_v^)0Cop){SbZfcc)csuz6if zWR>mfsvY@mrBX~wGsSHl$M>mID67CfIAF;^dlg+d`&_Pjm8Hjk5ce$^v(fbTq|)I0 zq*p&y5%#VjbN;-IOlCif7`v5Z+Juy!5&A(sO>|G6@>vXg-?zwuQqg|_to0tB;+Xmu zKZk_JollmEqsXE;ASKu+eJP&jdmLj{FJ4Ndq=HaATVy8Fg!2&cp&`NO^74zZWZc)a ze(54PDap}nvg$%oik|?2aOa75L95-EDn~6l5`I9DDLrJ6#2IOmZW{Ro!r(lMB)NxD zrbLO>mwn&a7iqpUkx{8+TcR3caKUPNd5-2Es zGAJ)d0yFZFj$?CMX#lYE`z{aR-YkUhntkz%zXIjJPM>rW8oqBwQuJte*a_Z>F>@ld zniWSF)@9S;UV1c>;0xwnoXCI#+1dgNka1f=qQr9$eP-Z4A1&?tj-^Ds-x%K?C8^p? zg+D@Lq9j*q?DiObW`db zp_XW_hh3g@8gJhXuJDI5_pLH@)6_GCg!hmGjIuDOr~S0_Y(s zFr!3;6;c%C!anAJ;6=j$qiwxGIIhhso^fH(K;q!|AY%$D)S&LnabnDRBP%FiAxP^M zUAHc1y!Oa(N`&abvlv&2={Gfs*v z%4;Z3`J4I>JqWd=U1aXE+}Z6Jq4@*Nm6gdO_Cd^0f^ z8djjY^_MsKaP`jb1lPp>|9l&Jt&SkI7#gC8NjXJZSzmL{8fQe}B?up&5W+y=f#|Z> znK%?pAGV*DhnLOPj|q3a%)WN!%seoBhv$V(yv(*W&l%+GJzCSwsg*p7Z#=XrI*ya) ziPzpqJCAn;_5~m#6Un~{9RcQJS@Bty>9Ql&6boCz0Jk!bD|#~TvE|7WwgYUc$KshY zTIm7Y6ux8cb@QJ~VL%mQ7*Uu*Otg8srQ0Qh%k^}cD(sxJYM=sWl#uwf;Uhgu0sx0f z2eUeg)=8oX;$6abE<>5AW`bNS*)u7#PS*QD5&E49@8(PE20;)zUY9Q)!b|NgYBcg4R9&--Ov+kkC_*|r1SjWxU~ikJfHSDHVk?| zBFfR>=G9!4erH|p3i_Q`E!Co#rS&F0Q~fo!@3sXAeYU`lHKPfYHc@1`FyrVB z9$I_U2Qt6U7v!rr$|Ji0pzR1|HPpr}9w2;rl9-sa&W;j~o-dw$XufyU5yeFJid5|GcUzmcK`HpzQITAV6bKoH0uDi0+KKL!Qk;t_m{&1sKjx(% zWtyfP^PlKD=0bXqr!X^!#qU?|-f zjK5#NTup7nA~d1ws2m;Q1qDX~N3NNv8vUPYu)VuG*N` z%iC(4g*khNzx>WnQTiHQlKGjTb;Ik^HbC@Do-T&1RnUGV`_G)#70YXv zBv$_&y@WT?Z!T*UC5$eA06s>9*7$koz5qPPkB0h>fOe@(OEGO^nAm@w;k>Ku;n(FY ziUq44TJNfzZKA8cFWqXIMdcenFKHm$*CGL4UN$09=o~poWZk|IT{`q?w*-6srain; z;H004cqQ_myd}pHP&F717=S)2dk2PcRfM-nIwpC!BI3f8x%@lzuThX*S#7;X|Dv-C zbOSVuVQ%!LR_*{kh|A8IKt-q*dF`WAPiuq0e{S2!|K$a{ZhwKjz*J;E>0EP%?U1^Q zt9t=oIi5=U*N?>{ofL43;4SQ|;tmnWw@`LxdTOQk^u)^{I8rqsW5s1Uh{B(D*P!TD zUS-L9RXKddN%~S@>^v_?{pj8U^8KYlbxmfbzFxCnXKZ&V@cf)2^B});lR2mPDG(a1 zAC>(N#(*qNv^d2E4)7iyl#%IkW9$_u`|AVPb+riKtV3jMe3_S`Q!8ZPED^6>8pr|C zA%)kgdi<5YrR%>a8fF;DqkFiJ-Lm+}dj?=?06FvQYyc`G%8fu25?ggKRbO+u^O z<2*#XluN?oov2#7Qe{$hARI?cE=xa`S`rfGDpg2gYKZmO0>L}FM6B)ec12pzRfeW#zGc=W z8{GR|kfr#Z!>Z&RzPHGLT6#>snU6;YIijT*%;_JF_dxz#{^ee1;VL<2GgwTcRklS_dkPbS?y-H{<#*td2JcX|3Szo zkDNmqjpW}DjID#^ENRTwukC4js-dbbtT{MLS2^~Qp?<@nLn@pR=CzJov*9?<2r%@R-<%9Edm|K9fL17JW@qYWCC#rW1f^VWY?53Sp;CRE zu0&>1f4lWVP)St&v1;-$>n&>I4n@TSCv`d)eCPh?Vv|U zczXdlU7z%W+aVECpM^582ZECk%=gjE5@o3~9|M?$j<_V|?IN&5zH)cI{kkKi1g zh|?88yO9=)#Co&9F_~$B?>z!anmOLa6$KZ6;*c{b7n8!VK(ihKT<6cuxt6={be&~iH@<`L| z^=%~9{1bn9ylt&X?;OCMfL|{zQzW^r6RLeuNY)1le3LXoMiTOqacrjY>kRm&0FKvB zy1qK%5yabmm-eo030KzRM(6VSwLl^dEjUr{R~NLxMc;3-^+^q^ z4KkgCHRftFY;<}>(!ir5*)lgAd{QkuoiDWvBy|{aR%#<;_!xl=o zvv9Jex?^4{erTHALwte0;wCSD9r+8LyKU&@oak0uFkgM~{PHXLk`R8`G!{p)?CAZw zk*g%diFO5}#i{&#ja{>E4zC|OgCR5~k< za49;HJR;GyBJ{K^M!;ydKT_sOHO=cw@1kO_<`QNn!y5H-(V(?aekP{L5F1`tYXUz` z&l}=SOotO-YOV^0y2i`zb>pP1@WGZylloV#Bq~-+Ze76fLux%eN+Cm)FOz- z~3pREEvHq64Gm8uA7kQ?5uWJamNCAQb1~jg=z1rsh}aw74UUg_rY% z8H83tIwgR(gj4-p;r7=ehe@HK8EFM~c+(W)?G4@;04Pl~UaG$_Pilthy-{<4+=w|D zSbeg-lOWbp3sUy$SPw^-`L^SYH4zEsz_*1A>&i5^xXtNl59xitx;VK2U4$%d_^K>$ zX+XlRXj+jM1{7<(_tK6lo%9uialPk+J^ses_$DXSDHi{AW~gSfRLLS=+lsQXX`36Bm)oipLAH-v zg-Hf2^!%9;@iC7WWjEhBKJ_#lLFWkR$IzhqfbAEn&kq*LUnPsy zb+W7%1_zVuG5f3F0I1s3uN1@BcUS2Gqx$%QOSosnM3cq)nvP9wehjXB#L&B5sUYL9 zBHV{Z;D$t%E*mc}CfJtGPN>$kM9nwDqviK0Z!#OBCr2%wK7MA)2G*97S$v;+JEnU! zjja|DHq`YF?TQ}hK!s4SkU2+mfz>jT)RLZ^cZ*Fz`RL(a8n*_9^-eS_vn zzYjm75sUW|(G22u>G+WwaqjAigtd{Zs zj1&CaF<%3P;T*CkxpN!R8)n~Z@uVc^t_m+Qucb8FZ)A&=U_MSY@#Ju}f&26)lKwzS zfL>7>nvkEefb=#}TpbYuKAz$yW!>{(Um*JhK^VwY#(WZ3PS{U`*?z z;!)~rJS{ZpRMN}Lu}^)lemJMs%Yn#<+k3AiYGoTTd|6(b5(yb=E-dkXN&QlBs?6#l|We?IR8%JJjM(`d-?6#K{%A&AIh^+pgFlLcb-l1Cu z6=YjFtPuZljGo)xIa;(h{Frn4gH3kO#>#4dyc}c3f7NM?d9+^nm^7kY0rt%!Al3~N zhd(s}M?d(Xt!ksi_PwCXPHciQ`pH(dS%CqG`#U59=&@R*@F@L-?=gYuSelBxwBQW@ zWHIldRCpqW7TEJbdNM9`Kbcy7TJN7hlHB@jjxjsQZLymhHCiAa1<_r+G^`4OczBVE z!kuw|LgK7J%`^n#p4r~Z_6H921Ybn`!RV^-oRU;*dT#(>44NhHwY z`6x#J_Bc8Y%VSkjC;p39z%QZmtZb;w67443;-O!UPN=@6?RfIRqZVJ!ad~^Y2n1x# zA^dT{EqeZZmv%ob%GT$0xVwIvc3IPJX01MFng()u7Voj36K!urxqq;rm7uY)Ws8A;e`! zQc@E>-gMewYVOT~Qdr<`BFD>dLQZD4Y~V-D8s(u6g`jsX5M>YALp6x7rW#99{Gzbs z!0&H}MRVDbJYIYVHeM1(z=9gk2?O$-q_LBT!lVo^-tC>AJM={TQ6I%ASL~Y`i`fhX z&J`o|V*H{;fmQ4t)58?7QZsyh{Lj~v&i(qZTo2YcY`!GuZ&bhDw>k<={b3JY>6zp& z6^|%F2SNDk>emqI>l(qy???0tziQ?VxHpODdv)l{2^wEh9TJVHmU|y}bRgLif2_qR zjOFX5QFg&A-p$|jUp`VhkXNVMVZ;j#lEjl5e{N~vHpn1^gG28Zo(`xpKM)SsaDMEpjH10j!9SryP#=O1dK0uOT>kFbD}V<& z^-hpXIfN6K!(BK`wnw=rb!9CqCg`f1YdF?wvQ7SH{p}Q6wDm2TO?+QjBbs z69UGgK#zi_p{D(|G1(q$AG0ofd8(%bgm_`PMx`i<3sQ*6zRi?9$*v`bYG)^}hUFUi zg7|2JNhY6w76K7(e?k1zPepRyvgH`daU z{p&#z=pHwIuV^D;avd4fa=MMQyzxBJ?i|YCWDNd2rQi2tKxB**>g#5ka3(Ux-uqLV zCCSSQ2vRTo1nNs3(FJ!J!yKB01G3SD({`7WWXD{nTeC9xaly=t2Et6zk*@3i3{|w% z-BSyfQC>sLiyZ9=#01c@bc%dYw5l2;;RRp*&R5F74@vWuN2WfpHskr7guaTXTb~Yd zc8lB%eWh0;>yt-`G~4qsu3;9>%W$g|iPD~57yKdT${_8}7X~)(2)$%4l|h?xEVZ?O ze0db66O@7-F?F-9V-j6&j*KYSSW3-)2q$ta(FwmXt7vea3!Q;RNv9-YdEdPU2n_FO_Z~q!awZ%ZQivEvdrz&;UXSIEY&?bgG z!}DJVsO$ji!XFDBHIpXdIv?$VtD%9Usio7ldt_jq&V9r!z z?>E}_j8HbGS+yuwC*}y#0YpUmDg`v`x?afVe$^=pD`W5hUvv#wZCyMmI~aLRsa;dL z-VubIh+;d>uLp{G=P9--uI<4_Ey!F-oqW!x*(xT@3V4`YQoKa8vRoAYmpjSO)y!V{b~=Ub^|UM*NZzeA!8Gpq;|W;?sYl|3*UPH zUJ2jGW0+h5n-}b(*qg!+FG405*8=cur6I4&8;8vWi%7(MG1AfRF5f-qcy@7Wh;AED z>zF18o_1Ode%9jO9^i#C8Zb(#8&mwVJ(Jjea8R!g?FF9TJ*bh&^+CI)PfrQ#f3|db9|>lXXU5JwoD0n*;_zp4y$ejY2v%eis}pSU{<;ht@SB{3 z(!<^qI@FEzgYGuk6&0wI$lLCv=+z}y7;>NTd7j460z|4J^gWgi?TUslg!((ltZ^9o z6!1q--0$mkHsRAjOeE6U9mLk9bg@=uQ+h&4Ddd4W`pu0(&1jTYHNWGlzw(=O& zAE`SEqBTw>PLWWYI$TRW4|y(c{L60c>E`WlChLV8M?r3U{_C8;@XM#vd(u3#0KiQ0 zf%Nr&(%@1`yqh_yn)n$o+S{4VqWmQikEsDMG_kwg^jAtT-reHfC z3HP5@!%}M<+PjVB;9rFTK+I%(g!wa%VxTJAZOf zcHYx*eBlG$fo3LMYv|5dHbpbSgNErQH~7lLChs`0Z;K9>8G-zS4KGMGbFf@NfV^v}WU9?fS(&$&aQj|euKf?vF$9_=F&gVK zw(2~Va(_{xjDQrM-B99ub2xQ#UeS|Uy^a$4%V;?B+fbz_`v=!-{i$GNfejD16pRKGfkxS&8Dl~vGddc=`L*4p2BJ;^Stt9 z5Qb^gH^|B&ZOHS{XEd`*d{FJozsd|pqoTm+$zGWQs-yFq?Qj|3X4^vLWX3tMCo8qn zPrmV$^skF05R$YEqhg`a&sM3fu&eNAz!TT=n21NYDX(QpuH4Gd(=8UpaUl{)b^u1R zaEZwNV63ezls4UV>}fK)9tZ&i3n*>nhy2Y1bKKkhc)P+Jm$e^ z)wh3Hhb|`AfXu4FXBf|_q=SShFtibG?AcK@!J*@%d;6iriO$LbnTn1=YAvwU=;=R) z7_UEKq%!D$#Wl{UnbUU`GU;s7HHpW9Fs;+2NDU9~&;<^0l`ATPhvGbLj71X|3 zrTSUS1k6zgJwS9g9`DD_(+9mwG$eSc%137S%JvGZ3)4{Zc3w^^ux5zO*j=jak2~2U`j%bHGy?PsC z@v>8~3A;;P@&dovR$eH5Fp^y* zaMz8=ijYB2KBXX#oryaBE~2d~*?m{!!fnY5#n7b08n;}0w6&*xzsSYP(nK%_Gp&{! zm?xAk;4NLBi?9(op2j=MNjAOnsZXpW!YPaFH6zVEq$Q@h$GMs`W+gVA%}g^E7cEm~ zUqG^L36hDtBuvW`K*-kZ0@(zIVo6808XMr#Ys$-)7PKll9JDmc$nN5Ur{v5e1ZOhy zF58^HU~!zHwUneL+-KDa59rA6e~9cwwPov-mSAD{v%Aw-<;gfHcZcs0EOL`drg8bf zFToylI!W>%#Pp(JOdbHoZ2C8D>l{-sm*@PsdCD@13-$I!} zb?ZW>c=_wmBcYp6Lz^9od|Iv~yoX0zz**0pft|1W&q=SXd!RoxP5Nd5YT=j2( z%9Ts(qX4(>Q>*UgFv;UJpI&|?X>T#E(`c$6%wt-D z8pXQeWyIi))GnbF3F_vfpD=I}M+dSJ96S;NrY_N<;=}O;NX&d2_?jSM@g3=&HIB-^JtaMM0m3I)@6Gc-J9?lajXp&Cx%E z)`|eC6E%PuyOHit_;FQ;H|fy+g;U?FcgJP4 z7%0)0iCYYR$T{254oy0BT7g6=wVd%mE6X=(eNe}zlcLvDI@GYR;{t59D!#+8bs}U> z0gLP5>JV?G@UJ!TgvthZ*I2OPLJlqz4T!H(K%}W?2OMTao=r1XwNWjp{ z^5aR45}H$;Ibtum36mDIK8w^xctN{z4XA~=ig3DU^T<7Q(lH5Zha|fDB{mLy$|vDW zeBw`F6+y_{kY6SYI0&|fu0=306@L{XJGJz&)d#OYdTYd={JUka_|6YOPf$NXdf%Dx z*W69V4bH{W)GyyX1tAZTjazotG~H>e=e~66MOTz*>ct;^zeeBB4fUrmacz5j_$0s@ zO9G&NH1PV5e`x=2-1S&=__h3hA1@W(!vX?mNk}9d;F5auklBL7Lf}%8X=;fJTynM` z1*`5{EvciB_l(>I6yD^#kB8<=+K%IMqoh3TK5LCVsncCi7cH(Q5cu*?Snz`Xe#AJO zn)ys*_HU9iHm4wzCOOm2hQtbp>}jnaPuWE0T$aN_bn#nvNkwoJHuOlHQjGSB8muH@ z;qW*d$O@tr8~7TQ%TeAx%|b5#u7s^IboE9~If1<`X#b$L6Q*?=7t}G9!Ng9aLh301 zc{Z-@dh2)Jg?wLjy^G$uA%bzev{Uw>^1B+hs#(Y@SA7M-re_RwggNW`{QE7q!$6NB7mMb%!@){nv=S@ zvkH!92oQys5;V-wO^5OVTFYK1l2S|gAji1pa&-g4Mu>O(eG1ZGbnR%_R;wtXTs^vH zaa9I3qq(R_>g%)7CHmYjdmgq+&S8t!2j!T^W8Dh1Jw^GzFTYA5#{jp1ufeq;EeGR^ z;TF5#?F!jae{tg9{~9inHu9`4#2aCUTZ9tQFXOnrJP*uuC~q zAxzB>c11M3AeCvNc`L?xB`^Ev3_aTr%{%7iFxo@EEg&h;RCxOhd2XkTJIMzD5Byce z>R5E2W!`a|(1R5;AYKKCFTw&*Hh)m(p z(y7R{z5A7vGQ^`=JpYOa(oQb%(W(pf^H-}|-+S(!vhvLIIc5+eoNjORN53-%uZ?<` zb14TJwTCCx^XvOaeo+YJCKawy86hHd4qA>ppj7;cPJnIsR|LGKtOkJK_-mg>Tg>sw z30ow%s#}t2K#I?RfuUTB{4ReAkQuirGF4KjOyQQeMq374s2Bps?N;Kt9TTM9v(E%J^rzPcHk&4TpX!AtfQyy1KXBu zs}cX}T5RS#Cw}nYCmTvcgsR#ID9#+)g^OOSW#>_-$@x)fS`ROn18$}{o*Dz0rsC&y zU^T>K%@D2G&M-dfpKLtf4hyv?@2~AYQrNFs>y2~PNBNafZ0NFQT)aM&G-L0!tNGVk zx7UvBfW1m1uRgcmGoQGfW{um>D3uF<>QZEiETY860u5BS30fSLEhjyb zEtZ8bRatGE3;9NG-h6!{D*;ij#4qR1ibYTP4S5=C9cv$Zkwp3Ew;Q~Pre)Ij7I0T8Y-2GtgXVa)V2tsfR(uCQ$-@Dd?cqdta{wf z4vzPN;ep3 zT~es>JXf2A??qpiz8-Hyp-y(`_mN3KI! z<~;s4&=6>aH^{c}C?vCUQz?uO@3F9|4DQD^mD_;aa#ovPkcSQ-N;`AU z#{&hvr?cRIfEVD?Z0+TzHZ$a4pX(c|;sNEplfFu?yn-nVdasGyGq;Tg4jbT?X+-Awq%9}n14tqL4^ke4c2ndqA+i&j(|-~X#_%p zt+lnDo)Ym`B;INm=q9}Uc8dLa1G4m*oGCY#h$`uf9L!^6eHZL9wN8Gkr*dR0n)=&f zK-)R|x%hVhotYbPYs9RqxL;gM4zc#8YoXu{wiI*DvVf85*TIKKNkCe{2E`zNLsg?U ze8z)X5~Wp45C78s7rAb8Ax{Z1jO~VO$HtUEuc-BIQ-+JEB zplLYc_9e|z*6vwYlrq&%$kxPNPSyl!M?^Hz$tso1fzeh4H?A8e56-6s`Xkze@i8$< z;)g^Ip53sJEuz2Asp{Y#vmPVyq5}2KC}^JE*;rQ#!)^U*-eVt`ojI>D2~FAaaQ0uU z4QgD!yLB$%lIN-4EFq#hbHm*lBzuGPdX=gk$|d+?{<{r3pjHQL_d3R#(h!U%=%xS& zF#gDVI|o|_d(scHKIGHQtNa#%AGiB^=sB}7ZppG~xUc;EV?)_Qo8cBMiY8wXO;sjj z0HMwjiFbb~wq1Z-d@ejkfA6{$t?na|uYRZpRVt7kh{Qi#oV*_!vOX&1?1V80ziYcc zLR9M!ncY^_4Bx7d<}u$Sw;mDGS&B+(xq~rn~Y_bH)u!(yTqQ=ko5-f0*=^ zNbN#uHc*Fj$$zwrk9N2uq8mU*R7ci4HKnfXt!7+XpTFq5u$s?t7M-nu?V#-EgkS>U zP1s7)*ix#DIZGi05WlQ9Fx(Qn*bi@QcJssJ4mSdD4~83bII$1f;ykyi=RE@~HIrPT zV;M2HYDYwz)=F&G_H1B&gF670->0>x4WlAMq?2AeS-T!NQU+!r*Pdku!6l!NhAUk} zl5vv9N-+iCT0-2b^{UErW|lGqeYuruHp*mW$F35QI%VXHO0Nc=8a*Y0zgQey;$__M z>o7UYGD;Yr`|ox&iQu)}UdZfI>?hgcn(`+8^(faO_AI{yRI)Bv+>OVd zOr_XCflh`~P30d0r$0pgIuuvbQ`&3{C+1GjxXa%eYkbeqaN1hNLJ6>BC|R`1xJ&{F z9wxxkTVyOG<7F6va zeA%||_vhH8F>-h0;u9i=Vq%9F|#qK0wm;HQwKEEUZHVa%7bxnq~ zS#tVur5BC-G>b$-1n{@6yfOGs+36YZ!NY2f$lW{l;ZlMCZ zBnI@PHUBpwgMa<68ClU`H?geZNe;?46;t?~wC?<2RkCTU7%B|NG3vdReyK~}s3fcE zLYc+q8&PVD{&Ly_(L0ERDY38$dGGudgA4Zo?PSAlZd}r?okwUV1uBU=$syVy&aq=- zR)JumF>Dqaw8qCZTQwxX-ixPMEsVvLW=!0f4QaTpRiG(rffbg)-mRYVI3x|t9b59G zh<50)Ig$Qk^`wvqXg0SnV-+(wR329q9^%OKDS~?KpNV?vqYI8;F74LkbMY%Aof-1n zV~b8-Yg|E&R{PGeFdynNb~>$Iskzw@z>$ZLNKfB#?435S=cS_|hjgE?uQT>GeU3>| zD2e&ish_x-P{FF*5_bRkM7^~kAz>}Xm5kRO;V+AU=|=KU$?hsqC==SP|0non;L9EKf+S6O2=Q<)r z#2BJUtM9wgtw#9iu2g$+1*l%&03Fh3<@THkIr+#BLje~`$_x(*1h!x75fKS7B(=;QMxHEkSzQeC8~Azx@P591YnV2nNGS``N1o93~E---tNq%>=m{! zAA;UOSB+5`PeAe!y}HR{5h~Ic#AE2kmQGmn%M>mz@{kyUXs9O_oG0SxkvKawz3U+H zp#Uo>+I8j+c5|KxbKM=OeI^9x{#D?8KDvXN=5ED!Y}P(}4+MpR;+B=4q(!hwF=Sft z91jH3_7T5wI+|F6A(HfpUsW6e5%BR>h#h2dA33L z!=oXkvY?zsPRB)39`+P$IclQ|?`Z=9V5@%MQ!#TbTGh}}cm7MTck2xtM->a`o zJ8jgap8+D**}u9b;d?K}2F#IjLwloxC6{uoS3dM)#Gh%0CsZnTm0~|gb}mb=I{0c< zu&tJ9_&8Z}hHX`?xA!aJIW#}HO{r+Z75L@~0!v^0#92HO$?02Sj)eB=D4klOJp0Hf z#C7?RVRaB46bS)z?@%;Qw6{^R?S|FkGyks$*TaVoMCx{hc&itgl99vL6B?=vp)bto z+314`_0OQ3&t`KDR&<4GCyTPOT%j$v75F7bapEIcM5r~3bf9iQF4%#q# z0q(aR0&WQB0XnzhuX8JhW{OO5k~v8stE5>=H77dIN_ z=hJfCLdhZ14n>tA)AgBSJ++EpHyexazom&26Z=rKj z^7zr^m$vrDt@8aU?$%N=;`u9OL2M)Qek@fMEND)`i^O>K6s}ZJN#&GF`#--^mw?H zG9lcsE*g2?zISPmSDZOZR)Dn6K-4F5mW40SLyJZ<5_QW0Up=`}j~?X>Erzpx3?$HUS?(!#725z5PhYLjUO%=+=X9YzD(?`=1_<~;^5*UJ36xyNQr?{<6wd~7}EeMw z&KO;R|>*+2h>PQDnCEtoz;oabW`{8ALO-x5C%Tt^`HutQM$;)$V)MV^yhN^ zWNJfm!37hh638{D=vJtbnIk7gm#5VqSKWun)Zn}8>`iku%y&Sd4!+%|d(l^aUbPTe zM;$(tVVdsmX3lSVD$~m@fJWTb^zj-jv{kX<-k6Scm4N!xD93(LBW9abgm~=}VbEOV zM+nY|7Y&w|(L4yJ&>#H(ZsA5S4d8u=?@8KaZeEUTRyrtzUVZgR+xPE_#4tq}^#7-U zpJ8QSvruBs?5&`3inpb?xytu*EVp}B1>9;Hi|Lbq%`+DMh^M_BZcnU5#q{{T?N$?u9>;0*W>(34Sm^pRl7FaN61wzn2+)VY!{psmyHi$cfrg+px*L7d@Vd3Bf6<$ z^|o20kG9;?Bv|29*C`fwo45rrj4+b~Yfnt&Ww%%zhmrouP)Y(9en2blK;61W{T#1* z#1WEoEARV5NOHyCIW@Cgu5r-ry6aE9Pzb4K*bw)E5vVV?(5R*`GyMwjt6D&~vFQIKb}Nd{L~IoOGfJ^RCQf4v z2P7wH(`{m^&}rEbF-C@Yn}i`Z($!p?W183`qTa-+Y zn3Sre%J$}ph>1UMMfd+*KhBT|iQG<#p$ zYOntF%y}|P!%lqNw>YD9$12?JwXsS5L;r`u}^%cm?iRdUDo;D6UCNlEDNycv00pYu;`sgL|HSL z+9tp9zCi*tRVNY2&~01s=d3{u4fpJlojpml;Im_OZD#Dw9tuF2jNU&fAe%1m#V_+2 zeSZMSOz3n)E7m`#WC=)QdFFbi#j(KyYX4U^22fW4ntVC2n;#2~#K#!=4uCb1-0Dnr z@wK!^fF++(H9_ZGmX@_nCnA$V=^ zsXg!H@?%KxkGC&q=Gz1Iki{09b4?5K+efLG7CP+ofnxkgxss3O6-L!zjWNAZo^2Zf`Kz(zoYM@ z=My7q=7bpd%0u#lxqkB5PLSCEO#>-HS--`#D^M}tw9ZO?HyV)SGJ^gg97@onle@@ z*HL?H&AJ)}dflrwgNm|-(MVu7`IP+_w|)Su17*JF`1FDbZ0U(o%>bYei?ku*A- zPQ@tB$gLrxk#o>*#3>vsCx)Y$&t6jZOcSwdR9JOy>qi?61^qJnnawfrYe$Ag{9;vA z&jbW`rj`19Yzkn_FDZs);Z6mHu#!leirp6ZFZHp}-#l;~xXy9dVwy{7+qA!5zTbaI zx(2W0%uFImM)9qJM5B4%{tY$|Z$Jl}gjy%v|F8fjSW%HQc<5yopORClPi`k=tu@{Gj8e2jTuQ1;#e~+iIp%u#=IWd@SVv7*R};zft|DRg@T%;TLQNG3+>e8Go=?~qb|<% zi3JMcu@T~m>5V`^e^|~GU)-~dIBD{{PF$Oqfz}`lj;bQM5)%^QI4l-|T6&I(E)^1) zB#q@CYa*cTmiC0L*(vu<5CxKR78G_UdQ6x?W0N#EyenWAwa+BHQ_x=B+|$M&#XLrb zqCvikwMogMgfTdE_UI2*Z=@!Kc^z9sF`mhQEjL{`+NYlMr2w^3Z9mNU8f%M3PZry_ z;JQp0og(xByshwb&#@h!cr8Maf+>AP98GTNUQut7WDlWHvcY=9Y^#0}ZMZk**VLlH zt>~DW;;;|riLxR7`#}UP8^TiWtJW_yzNlvIP_0_;F8m$ZW1&7DhKFOLx{lJ08c_5V zYQ~W!d!+_vH%)|#_hmFFdZ@ZxBp7gu9*5JJ(*~Ix6CeDfI0?G1-I&Ue+=l!su0Jf@ zh6EI>By_%vUMMMo-x2$8Mn5l0(h=M$wVgRj%Io=Uwy}jRyQXg0sNi+N+V$fNbnj3( zT%7hTz(@GnHX6s+KA%1Gc7pWPsD8e{@`m%0Fbtept^O@7;=F*1T^~lpV!Q$U3>?B& zAvZIzkr*{p)&w|*<)eQqPY!~ojvfPgYjeyiAjhx28h|@Ls`f@OBY#oOKiPnBE*VcD ze?*?{tCg5}y6P2Cdb@UQDBq5Ohr4>(MC`aL0c!2Le>rF_+Vz(ILWx~CiPcjGnf@@c zw}J{Q9fxW13NBK6b>9MnVuNlxhw->7E?EZq zfsB?TUsgz{0|~M)GxXG2pOyZz^S(6xk0wk{#f5P-X@1!i-Q11Gn(D2sP&E8+A(L2^ z*Pa+6_gfBn`$7+;2rMa^KMevKoSMbld<-J*L*-j#iL-nW7AJ=M&yxMzsh3;f>L zmDOjtwcF#7hQCSngloMZ2#_fOG3$4?$IG8HJc|L{o@mp@#UPd^$7t2)Q)?mbW#)|? zth0_nR^B-(JXuv}eKt^hGiQGQ%V(TxMwc^F_aX^zv6>onI(JQY+T|#pjRwj$YXre-ud^X*`32HqeDm{dcEI!(m z^JN*KZ$foKjUk+J#q*P>s4^YJO;;;;Io`QBdR4to6!{hz+9+x|mFt2;LxrPh%+l!A zsgD>DG8Xdqy17S6l!mYTgPJ~e;cVy?b(#d0@^0He7~Th3&{=Ng=^xqYL#_ctLl_n3 z(weLc0?uwG))zEjTSBA_s-%7S@63X*{^L`#Q?Vqbf!)@S6zU#*?5E#4X~F{Y!8-A2 z)>SLNi8;+IXJmAr^F)_DO5^>5_pT**=Gp_x$H{+*tpXI3mFxP@Bk8sRC{Y$K3u_4C zQSw}b8NOl*7U!1u<}?2C;2Wcf1SRa}#kPKZxsPa<@y&g)-w~nrv0GJySL?wXN_J2@ zhja9MkbGNZ(CJ@TGd)iSRKXI4QP;&)xbggxA7g+BkwK*5D!zjOGB1{=cbb1)$h^*f zr+I06arrC={zji0zE`p8#RVd9SDjak-WRQ1xU>b#Asy>`huQ!iC@Kl#1GqoY8LA=55=vfS{3UvZObCM;E9C?c z`s-`V`z_?@E6KoypEujy3dqWbJuCy+wJxo@{aeG9jYyGOH#MrM1$T^YV0YUd@9%;e zNW&XtK?zpnu1DZu!fqfTi&wTuOPRu1?)y?WpFAxwQ9uG^^;Gw)FT%0!{y^}(K6k8a zkuBfws*n}B=ibL@-sj`j7g-@C=tG3!`pPc=Y>XFo6RqWLjn4U| zIN;zV@cNlWC((fKucY^Yg1cWa$_}#zxks`3@*;28hq<2}N`2CtuB`KZwB&y#rKG&Z zy%GKe;egLcDg9BORhHIa%nF}lytU+)-;R%89y7X1{S!*DaM+x#3lRNYLW~u$y~SYG z(M5SAuXqY=Q@i`HVej2QpgOsRZjn%B*>rUA=TTjxeV0_gfjQZub=!d3{Bqx%*{0O0 z!8EqLW=UCb^PfPl%KHhWLYJ!3NyV^P?yF+|W}%t(gc|Q?aX+CJ!fo5BE_v_KM@g@@ z>)QU{y{wGC!m`

blWlFN1#(?P64}Zncqc=8jZuKEOJg204@DL8E6d^86Z1-ce?KqcMO!RYX6q69XQO_{NkKvB)S>I9I{THeo2^WY7Y?7DXH&~Gep_8AR zNKts;a#3pMeDzJO{i51c#-IV)Tp8wl;5~Kwxk4o^M`qKdg9KW)eb8Z8cC8(W;-dFt z+dmq%3mW6Pczmo6A4c>(b(*cDe_nuNqg-qMi(OSBV}B6lD^!aEEh<-w>PSo?tls3W z;5b!L_64`khC0BC)X(&5wS|AN97HJ5+_y^VylqUx*uGCQa(MNqqx}z2&#K+aZQKiU zVV!btKsOWTxDZLymG$Z z=p|w$pn{0mL*8Ml*c+>USGoRKUq@~Rc7myK;FV(PZY`R&InoY$cw{ly8&CgSzVmT< z*JN+NQNF$TQ^FIV%ttYxB`;^a6P#oEsXWM3Qy5*B3&+M<;;RnjQ&8l3SvAIcHGJ7# zOs44wZPyQiZfXz19;s^j8s3mXbX{-eGh3z~Gp-T?$|MUA1oi$U9!f&XSrl5evwLLA09@A+E_-@AK6Vd%G1mdGmJGO zPM>7aD#9O)B~}Q6e=uv8(MbLiB@gjDZbGEG(0xZkUAM+boacd2RJ`jp&>ZnH-D)1# zjsI0yQ;GS6>h}Z%N61;Aj|)O}3!O)h%7MOp1RW9+$|PxZjee0i-6fRkeeCp#t2sLS z%fwT)IMD^N4i^(*$jx^d&g9!*bi57rbDn!q)*8_`_ka3Qz3Syh%;Gdel%Ulyrt9Ej zDLqx3By9x`(fWRvrqne=sCrw!JAi@0im(Y6L{4Xd;3N5o_MHe^R0O^}e82q3(Q>22QqSK!Zv#)+b_b*R!wMlBnltq}?ta*5La^a_OEs zgqk(V`iYxm2W2bX_*hn)d|NTJ`>}auu2X{BT6E~WDF}xX z4<002PrOa+k#QhblJsN{CM#AQDT^CX~O z61Xhu3Hj~t%@~D?X1b>;Bjvz$6}XuqHE-3zs^EO=SiBdsLi3LaY@CCG+1jAC^s}Mk}|`h zl#yxoGbGt)>SbfK$_5*x$nYunGK0&Sgj`+JR_oT@JcntwXikyKj1{U^Mi_kvA zA>?7+Q8xGt6=A#<3#DQN>p^^o-=1M#SxqSLr#1He;T`0=7LF=rT7cb`jPcIxgmh(V z@J&7^g_U-_(n=DWe_cOg*yzkabS$|Zn866dgC*m*4~TRV!{4gR!4o+dA-g9<1Whd0 zWxb4J(weLj7ucNBmi|$GJG#{rFDvO?Q#Ii@c9h-z_4+}d)>@9uM06&y`hId^2xwBx z`W&O!peJ1haw=IsryA{&kUD~0T{ zcik8-`i8j^qT_kNvqc z6DP`vgS;(USrbA~tu#&A?2*%h3e zhf8xW`S?E&zO+w2uSShs#5aCJTpMY9Nis**1HtwuTC#1w!?rm;IyjH`1p3PUW834W zV*-M_MQ*PAo}aPA?&OI_AliY?WKGlM?KvgnP(l2Pc5wTA)Wi(G-}CvNNlPuNxPhv- zH|K0_i(QE^njTQ0PUd0^&~hkTe_0RCCroyW4&0SXgRYVkT;NJ#AMND`AevTyZ*H&d z4%6D0z5zuRiEp15D^DvqyTt;Y|CxE^Gh3*e3DsjGF~5l9?;1Uf_* z2z~5DE$M*);KY^2RF7qySnJWzun_c|;Yu1dA{FI{)EB45mG#Nu9f(j8O5` zOM!h(weQUL>;&baU(j-ag&xTD&edbN2YC3(dOsGT{uB}^J&*u* zrg2<keE%VmABaCZ+H(MsVOfG4+($$77+eR}sJGt`ZR^O5? z-4tXU-l!kK_AA_<4`+##$qKHwLRyfWP14iCCjOE+#rAuj1ACIFC}jn6qZ`Y9rTS|6 zman6)dG8$JHZ|iDHks;X*HOc zCKg$gC{9ju3Fs^5>_<@MuTIpT}s#EsN_SlNF(|cyYQ*glxg-v&8PrJCWjQ zeG-7(?=@d{Ia3^h#OQO^svlq44mN|e^6P_Klibq#btY?u&DLzazvy=A?T-J%e3ry) zzQl6apwW0Ta`imsLDM;GA5q7Bi2D$;p98p53k`cHj%3ZD^PsoA1oP(`5b;6@^dft& z&*Oj%zjo`kB1behc#bb>0}hwG#f}(gx}~jsDkdcxZRayU>n@3ch>7{5 zl81(lwtaScTRdQOwH4(;G9=d9ZWEeo;27T4II(?Mm!+=~`xsK# zi|Vpq+L{vDJ=WT|3FeqZ24!qkrfHll#a$c(h56!UUgg4+jH){cuT(rL0Z><={h$10 z)(}bD`53jhMb}IFiSW>6JMY;XfuntK8b{%B63!NKcn7$D)~~9FxW>w~0_~AirS9W&(BpUP)&P#}x;rSr zPfGIavGifbP1hz(Y({kYu6m*LC4GY^P~R=)O8qn6O{Va0CP96kW=7XWCJ|EGQJ*$W zUV1{~^jfvs?ddQg(XE3ODS-_|y9xUTzBZ*Ep#hLwccR<7qNXAU-$A6}Z#yXc>QhmCs1H}ga@aDC zEVLl~b`^L1e#TH$K=8HWryzC4^~?Aq&E83NuhoECl*setYg_ygRPHZk%X`WjjBs97^l0_U+wACG5-(9_1e%>}PeJT3 zPnF{jm6_ai))bPSu0RjYc1_KGS!$z@5|1ht?NTJtaBI&oyF|+O?)-@msOP_da^sZ9 z7i=d@W%U3y4qAl5xqR2PxK)hr3e7i}dUh5tk<-H>#i+VP%MLP{x$&yLsF z;T!PHix4*LJwzlaPEN*LqT?QQ~%WYWg0R<4n*tFO&~HFz!zsMBjAVR`$oFOE^@JS`;$N zt)mX5UWfqxfj}|)Bv>p5gdQo=gbQtX`>-9Er`JU`esL13yCf7ZobmqjadpL2Sf~z0 zBC9lq4xW0sB8Kk3Jehx>&J^cE`)XE#^YTn9i+b|gtWXY?6GpmfRf{wR8VOc!IuOlL zd4xXkndB6ar!@bJw_?_g>BrBS=~xvauKF~3$PHrHWVP%6_P6-kAi)$h0SBQ~{5CKk z&0>`l`3$Kc+uho<=;Pd7#`oaXcS1A&bZlCCtbf%Nq7c1Vc%T8-n{(wJ|M}`f{iE1V zZWxhi-597k;ICt|CXRM1&AEWJWIge&-<20cf9FDRf=Q&6m5o-*HRh&N8BH*Gt)?wZ z?Kg{nK^>zW9oRF7FZAwst|N!j>hnxk%PBd&)_h=M%A?`zhb9O8q7a3{!#FQJAKH(y z(N+jbt(%^I_>_A>Gk4OceD4<%baSKoH}x>_lehglj&5{ z_EJh|nBMi5wZIsGJ}fIHMlTK~yIc>%S_NV#oBd;oKfFKN07|PpAtCa$z3sj%^J`M! zPCtLnm8~v7)9>9_A57IC!B-mF|0`b+m}}Mn3PqU-L!Uq?g27heKK`R~FbjWTYav`^ zVH9`@CUx6dv5Bq8$<~22RI*N+l{WgIjm~hoY|&FgKJi=X6R$QrBvBk|@UQ(BA$I>C zHElNw;ODz``ErNH$M{;X2&NP6?{PQm^;;6#(JgV(R~vG;pzC-WXuya;PM%!A+O&nP ze>aY{-rrChbhnoya+&)Tyh@d_Gv=;)ZSr*oi^WEzqdm8LDWGMRbiAb@)!zL}w-H!O zQn2nvU>p9$ueqa7`8~=}=c8n!H-X3NR*cLf{p(K4@?!~)mm`7Zl@hLL24=dM3&tHG zo@DJcIC-;r0S(V`RC?6!N(B4e2uoL1Z_rA~v_8;bJGxD(t~uiG4Dic_?vKCub^huG zdN+snj`@yZhS;%-Pb9C#5^kLz4PhzcjtC2|9z{)HA*Qm9s_v`9m?ELGvL%@oi=kt* z70A<8!(ul}iTU={mXs+^KKLVkRo$IB%&Xl9FPEZ(F$37bN;;wjDNe50H`bhN9^u2z zQ$?Hc+h{BR)$MZ66Rfh1Z@4O3s@}#B(V^fpEJLyctappckVi2jNLJ@NW2E9M6Fk3e z+XRX6r95xjUh*yIz(S|=Dmp?Nktmy$U)CB5&Uuwih zdlUH~p^diFt1T4bf`O=dhuj_73zXQ8uZ3N?s^dc{s=%Y%3BpmJ)&~-(Z+l*ar^Gf> zoph9K^UjNh#6rrvXrZv=GM6f-ame2(attvDPCSoR&&?Ce754Hqb$<)>z zq(#7c=qVm1alW1NS7tK%)*>pY&T$Q`Y+9AGq@0a23FmdGqmfA>e8-TO7-#Ek_Gr=NiZY|dfi>6&wEHRkFjo}?{EnpFMH;BAn9bYG zm#FT|#WTy&XfWMlsQ%JYcBrl6H7u+sBhQjKp&g{VqjX&FktNh_qAIE&v~LPFzW+lk z?~8Z!p7c7hVA>UKqFNp>gAU#mrk8Z#6(|A_;e=(Pqa22%V=K#`R(y(J6kiUtDu}T? z{lZuR*V5;jNio61=W#R88VN?76kwEn74eGmaD6ur6Ytl6FE`24*bin=UF&mq8VU z*1&n(z@wDcx(T2xBkq!8OS_td$S$2aEkB5L0krLO1{!vWx*Ep@Je%IdU^T2GBv|zo z(W+(GS&jz8YM?pK#13NyH21T83Di|7p*U~Ee)Wc>8|m)3_(cH)$WfHgftb3~CsHZb zr)I@+l?lU!9HnLJ%w*>gF4;-6TyxxL1N}S1-VeFMn5C?rkxN!tQ?Z^mKRw;lUco*y zea@T1h)o(I3>;fo-nm^#S3JfK2`%dNkqj&B47(JEHItQD%t`5lK#Od%+<=d{k5cje zf_)q(L$`6HCL=&u1-zTa5~lOH^iDMxbEQf!RRbqL*KkCo2gd$@wK6IjQeqoigjL*E ztFiOo?oj}6I3*y<+75{SUJ!gkgy6D~B)kpETX0b2afEGij=`VDe-NN*g&D}{3UTyqGjnt=017)8V0`gJ9ZMUVc# z^uLHwZKedM(l`xUovifglQ?4;fU1Hw(3~UV3P}%YoHCA=chKH*c@)>M_^#^Bj5Dp| zhMT{!-hR2W?dB$VV70R)In|>FZ-d-&CB>sNG?bmNCwJX9Ajr_r;0dt*#{~Uev2Z!U z0Y^78zVHvN%aJ&viszB`|8i^Xj{gn14U3M=|M&51_~8|JP(s53Mmv0|IU{ZwGh)%% zTTr#&@1M^NYfX4mG}y@X3~6Fn`*|>iQ~1F3asSz+)2P!T5dJUs`$ltcc`R8#2u1@= z7YVmp@c^Q4U+L|xrY7JJ&;C3-6x33=X%j>=yTr7 z#p-cfpspb7_a;Gyw0Co7K7Ay}k7QMkru%ivx+sgT*ZXL;thtHC&y6hP*0+9QIbg=P zPJ9_2G!xEgCQjN`gYDb>Uj7&x4Pz{_SDz#a_6CbZqw+kgqwp_2GJ&U{=@iZtR_8m_ zJGZZ1d9-QCJ@Ah`Ky)cR;G1iTa=3U7}@qAyw*j?z+>{$&p`-&k~^F9SFZ=W9LMe;N2C2 z$`woMnmv$$;2TSjiAWwbT4bsVvtMK8w%y;ZNkNQ0FTG(=!V4^q9dhZ!p#rpdrgjw> zNw`M+D3e6ev}j6AsJ1SNgcghb>U4pk_^g_lq~rpQ2}AlU&#D2~ERxmL>h-8Qg$9_< z|A(=^YKyDwx@ge{2oj`_;GO`1;O>Px0SYVJEog$fYj6(`tdLN+ySux)yE}z0-hI5U zZ>_`m2ktqpFb>mQ{zWNxY^Povdzyf~??xK~wh5j7s z2c)Nwgf7F)0)X3{`_ZMAmi2LjJiU7r$8eGViv15tAt*hwPUsRI5}K;g>PT89CSDn` zlZ{p{M8wkGk6}g@F5mJ>qVC5~fwy_S^WtoU3JqCjz;aJ)+)GMM9%mkcDQMIzWTY18K z_`1i3L0>K0Oh)*yW+vE8-X({rxlKb$1qR^l7Yd`bDtjE3P>bR?Zbol1aBFU$vc!E@ zxzd{W6%k4*^v-_h%BBO|$M{R+EXdJ+fJ12r;!s=l5U^RoiEOf|tWC?rmop7a-90?G z5K4+Sy%JSm>;z9^UoeG$O}c|^7p362aDf>|0`Y#LAYj3|{OA^ZQv$6aA{P-@neW4e z71T$kbIq!NAYDi^6~RJ6au2JzO|7z{dLJRPRM3L%Z$jxAHC->t^!`{ISr|5$1W>-tWbV z`2A1*w5z{;s*nZ)6I>@7XbXo@gO{2q&>af)Sbo^;c|{OPj)6nDokCluv}{jK0e z==kpot<-9~PAmSas(-+>CT5~S_zT_~|3xtxnX_VMVXhKbP?l0=qnpXWg+=&(cQD%y%a{6*h2{xwAN zI1%uskXi3F6V>kP6}CZHYwh#L`;{4JeIW5Z8v8>4N&5%;*N5t{!^Ww;H}x6_zP@r+ z-wD{}Us{i8J!Y#gArWMecMmr%&ja`Uz`of4o)~?^(&rbBr#HR$q}Q$mZ7||pu z!lNsyv$FQA+Zgy;9?o28&<@*IJm7QWotm}W`=Y}eIyA=najOa2NqGjl(s*Jt{2BSv zW2oFNrkbj3GTu?GtbJiirMF6xyqW$o)k02d_Kq7pvAk%~Z3*7<@WRqe>nLws&UfH; zR8mtu7ZI`n3YBMhi42v~W4KV#x@QrO%5vI~4??Z(pSC!fME#`GcRw!|*ys#Ra*OB> z)o$ool}~ZP3!HQbA+P3@mL>4KY;$NTXjZ!_>I7=$YiknYFCVC>o!+?AyBA1ux^W_5 z17U9QFU!fX-{leoEs2V2fNPQDxiuJHKEY#dq;E-aLxhSsp$o(9xcKiE0twL~k!J z2|wnen1!;gw}TfFitABKu^6XKgbi8Y4wW=5xT|Ij@#)L{fD)b$)Sa0srfGjCiG2Mu z<%iJvy;^QvExqb;vjC|D{&+Ooc$2ih0bSygBNnEfXF8S zj%4jjc4CWlCgJORbnc@=n2+V2+$`t(@{rAvyaNz<8rNdCQbRj)TCHauu&wZ3XuK)gZ`5<2QO!pfw$WfF)+k~YU`ylx=Z2S6m_bd^w=IJwR z()Q=Pg;A+Q{Y~B-tjSab{zEBlPRN3M?=$Td-*g z?SCv@+agMZ!C|sPGn=wfMx+a!>z7q--@Ag)9Y%8RPa4+@rie#4RvmVGWR)EZVq<&^ zGyc8$EMW;JPEbJiSzcLz`4?-43}32uM14Yjc)xC8pId~4yBzGRdasMt=tW>MIy^fP zq^qu=IUe__-q%d^6$xL_3C>fW4I93w85Hc=5xe=Yq`de?vPrjz6|9n2!YnbHPmkY3 zzbXLT-r&;o`QY@eO8+qjN8o#RUe6SF@&bC z3`~go@ixv_ZK5a1`1g-ps-Yd3AGZ&1hi$flJvi-@Suw zQDn(8$}|Bd`g~se52AwuB<>dM-W>F=u;zeiYyt&xusy5##ND4*Zwa8q^F($8KPVzy zySr#XfPHK`axtgRyH}4c9!X(#FiG=hH8B$4j3r(m^%obtlQ>r8^SV(OjS8QdM;e|o zyM(F*mv5|rnxaJdv%j$(T#_u;auTBmCt+Skj?>4l^Kver@LR}|Lq+r@(WK?6!^dy`OgQkDP z>4~Oe)BL=aA&OBaYA_qCfU_=>oN#+7zpSy1FgmJQ%G-dTg?E&DTa#7$DD_i8a(=}C zlk*AnmS6N-r9em7W3AaHt+l08wB1J8Khe&n@A+MB6vle6GW%^#Utf&dCAMKBvX5Xv z#EKx?B~i+#OlQX;qU1vqYnTs?3#KB2GOJn<*#a6+sRK^WFq5%__l*=? zCUo~+GLGATj2rAO^RAbFtx^lTcxfK9L5P)5@45!7^s~+v)i6SYWUrKabO*`kN8dH8 zC32yPkA89{-`oL08@xTYB1!7kW^Jq6U7Z;CnZnEihWNDL2XbVX< zIE7?oPe?WIn3x?p;W3IQUER=>{|VHKS_Z}iTNrMSt4$QVMak+#getMi1OoB6B$ zaQdD1{48RtIr8OciZoEX*ZDP8mA&J$%Z~2VM=@vck)0>Oop2f0DB{@jCs_d}HRqtPQ3Uyd78)lLkha>pg+ zZEqf&4mV1)R;}1K__{Eyq=C|7s++IyJlRDIO86)@Ew92Qg)q{8`tnMFqZ&!(%@VlM5S^O{+<~nz^QlVXZzo^}Ez_S5z|9Lnc zXw4gBxA;;AlQ|B_HHXM`B7C0{6NwFyB>jGKv!69p9F?L3N>5JA52OAys?wrP-A?@i zhpKZa605qU2@zVv%E}t*g$*?@bE)?lkQSvy-U8Lu0|Sa~Lah1%`jor1zvJh=|01N> zI#6A{QuzQ>95!j*E}B$wcFja2IQ*B24`^q@W%WjnI_}mA>Hb1*Bg1lvRsz=3Yqzm; z%jzV*=Br!qfpwL4Vj``jh$r&%=*$}%7Q3nj8mncq!W`$4QofL?|frs*PIO0Rf9@ddY zjiVar?~<#)q-UXBCX%b}Y`0&wIM$e55RwWDUoD|KI@wo)x55l|`)iCP4uG$ABByHL zUOBB=h=5dcELHc5oSFLMM#h!SjLi1A5vqx;&RHj5w|RkUWb?jY7`s!1IkiCSFMAJPq3MqK5zVqByR9&OLzp zd|ZJCz*q^_`WwDk@hln>z@{d7web&v%3tm7FgIjeNb1s|A6+Q&x6LpHR480lf_>1e z9vA#`QHj0I!bLJt>0L$pb09zLsR#`%-LWUVAmI>f{&7%rqCaAe&&EcRM7k890xLaF zhJYxt770UhXsWFu-6cVmq=v$l&VzOuC)tMx9Z%t~s~QcA@FUCx7;DzETvN%wT;sAUm-f0%Y8-EdGQ6cl003}&4Hs?@~mij91Fha ziOYg*3&rCMS&37A028|gx=jOT1m>&t#f`9e7Vf5)df=n3li==Y4>RkpIL&U;PATo8 z2Q|sv|L7}(Z{QMNWS>kdKaI7JF5hQY{rLfuxN~REWE(SEFLgBa5eBRHNYDBQBcJfu zAw0K@xms~jJl<-zA|~rvvzLQ5Xp6ZK9P*4Y`x<}pnwf4AJZ%rU*1!1vVZ`4t9jFuG z(Ml4_JQ*yJjn!b7I8|pN-SM6x=D`|GO6y7~rxE8IiwNl8BSq|V#=!SZu$mcwAg26a0q~y8m9-TE~juY$Z+MDB{ zN@f?E7_NB*%I5Oj1;lQ9>HsXkC}bjymx;8jRL#RI&V@~%9Vpv*IR0&?0ezVH)rrTE zs3b<~r**p3orO~1c-8tr0TqK7xd6&R$g2zq+4?K(@-plIKKM8|@9Q$4nCqo)z1-1? zEg|IJR%4ZV@_tE8-{s7ABzMxZ)kicRVIvIc!27WygGZ(a=K^#AGP%*4IMk#Prqa=P zl29#jD1WxE_(u^7>*ew3!)6azj6ir{Y9-&@#0^-$;>Qth_gA$;xKxWFmT&#eQcIlO z+FU37zE96H9{=;ZN&a6)wRgYUQD>IV58Wdw`BB(@u^;KkPq;uEQD%AhM{)6bYRACA zQc>|Y8RB_4A9*P4yKv}Z{vm}dk$eH+(4;#5a3}klm+TQJ82?R2wOMOu5=eJ~DZU!u zr}#xP$oYe$knXQv>vQpq(eu*2N|J|$^=Nomy#~IoUt9$A6Y?@^9PSL>URTO}%kF4~ z{<;zX-zG-0G85xRYX3Z!U8P2pPZX7%zTCOB%j}QOmeib`)2l=R(K-Dm}4Z~eK$;i$UpwgW*@q{cs!_ZNiBpAb9(Xx&{ z9?Z_p*ec%_kdb*9=h?=zC9hYY6N=pv}(A!g`h zHw`b{;}M&d?jFR+P8Rv0+Qus2wS50JsDS&c2TAfu<<1><{#o220iSd)GGU9Pm8o`qZ2odSh=};s z4M{u1k%DTnO99`fb@K-qZ>T8p$vs9(#Ic?vEr=K*#fh?x3&etj-Lk^JM-1NXFDR<( zB3~QJZUmr_PpB8*R61ei!`YgZ4y?zWVmJR2nVtsJ?uH&??Ks2L8&A}h7P#Uekj z1O|AWwq3>`O>yjr@sUoP%{P{)$0e)ET@Gs{w|(M}Np2$eBE?i{wtSlM?p|(v#qlE3 zzEfor)Nnu+6@TJzntNF0DH4hIDx5GP4aGMdDF=t`|6rj-bYpgCa7=b=d)~M#{0am0 zQ|ueM0n!cn>3&n8`Qiz>UEB`keQS)_DpMkZSr$7QEXzWP_W3o23laG^JO#%YHE$~h z^Us_A-L7X5M_ZBV)+cz^-KVvbOdsY&{%)r4r~L#(d}bTzJV%D!4h`^mI`)@YgnP#dVs z78vMPm`8jPZ#{cmM)5;@{E^18Py+7HiH<;xD3|NQ6XhuKdYjR?W7MoTp3}nXJv@7y z+`+IGQqrvcRpPf{$DDR<$BuQ7zWJyU6Fw3QKVf(bPbjutZIc5x@|QpAUFs&AT&C)f zVuS_53EJ+b0l-71MfOQ$dLg^lvZ%|0d9;8r7uoxfEwEs7;Gs}W#jbJ8-Kr-tQ5;Q2 z;ATJ`oPlnN^Icm|dJ1|PG5t2vOD^wInxuaD=0C(bc&vT5Nc)M2LaNQoBWA=T8*%TO zdFWob2?ozh5R{jN{w{8eQZV$W9%aOh;%QO2VwlwPmtT@kbb>35W@||;v++vHp8l^L zU2Zoygz;*!w1KJYdT-kc-5(cUIE|lM#gxt(r-<2wQJtO_LwETYq^>~bEdBT32Pg(Z zPiz!h?C!WhGQZbTVQ5>H-zju^Yk<@vu{dLW?D-aH)!j_7quSU-$ane&Z_G^(T)W0y zvQHs7~hj~oGcWxkZY!Y^-qdTMlF;m0-V=xyeJ7J$%W@&3!)Lm9j_(HqGNCZ6T7yYwz7 z7x3@Fa*&|EI5fZ|@@~HwU2c@ReEaOg0xEOAlW1)PJWdl%XaNlUU5DP+Jg>17$;+EG zwa#M`yb+C0B-v4Bsv*{zjx2Vv$oIW&-Rk-H@DHDmtW9aDAY6c_{ zesDP0V$+brnA9URV_UMwLxh}v)k-^?&)I#Y;k1m4oCbr&i=YvN&El5PH$leUVTKWv z;R|szt5g7)AQ=aDfLOJ=lxr?#2EQ4b^d%}{{YDFM3QJr|3V~$OB!g9m;xlh<&rGz< zhJYG&CVkF?z4ZnP=M@N-9xBI@QG#4K5#9Jz2Nh!ine;5uaDT=5M=>9Y89|1TS?N5> zkszT3@@H}e)!a*187Mm>pgOUA=~XY!M{_uHcGhC|My2X2`+z80jQc#s(4mU20Pgfn zD@OD8%gyI?xT(g6HbsdWwe|Oy$FcLlgu3QO?0^!XpR&LUt4LvzBnrIGz649f&VMUk zh=^WaERHFD90d0V$+6>o?rk9*iZLa%F$%)&4;iwcdIR{_4hDfZg{Vem4w*r(U$(Oc z-0deO_}J%M9r8qy%0*i>O5hGtco9WNIb-K@_twfo^e|glOKnT=166(nvVYY|(vR2D z?0Yu+S*vQ8VNQeK=?X$-dh&A$yJzuOvE4_^q(Li4oz z{0NGu)H>iE4&x@kJaBFeO(GP$uT^a%FF>*u1AWs$w;c6}H*tW<;@{XZez)u8zjXEL znf>x9qLEmB^kbaBYy2vvd3vL&nj3Y&S91`y9qTXCh_bD15};hL6NRAr=}X_jQ^ad?!ERhZR3>_6(GXA7Xl_~F zA(I7&>OWMKMWnX#e%ar9Edt=)z!QeUtS$2!ZLeg>4-`q#V*BeySSZK0s_a{>t=-RwL@199)l%XzF2{ zr$wOmkSq{JyCj0&HKKSOU-Yleoft9vh#w;^U%61(Q*Filg7es*cX{$&Ud3>H^F zw4z`rm}UiMdVeilkL~9CJzog^*t@Mv zR_RTZ#0;WePM8c)Aa7*9^+LtbT_leNDi&q%_nJ_2_rge_H;?AeKHG6L)wUFsl*&+1k0M8oZ8aW)Vex zM2n}k{bOJ+@0=$#p}(~~vIDYii_G-ep>)uugY+mr;$mF(QM#F`+rcR4*6G(xQ2Ikc zrbXwPDWKC3fGo}KGs(a3D|2;dp(CYu3Au%MDIbt=;~uPgEe}3Wt*4FleY!mC{{Qgc zzU});P0(;9TGOGt$u)7i?Hii6`_%qP@XpqKeugi8g4ng|8~|t=Nt^oCg>~55J4Nef zbeXdw#f2Z`QHMJX>NR%x%FcyFA3`##+IZY8CWjz!FNflE(w<>8bp5GgD}fmC@UPrD3HIJwdhZu zr|{lFP@$aBLVgqT*a?)RzJ|kA#VU6CQP6}t-9f<6q@%x8D8}VhxPwMB%FHC_ zDct)wUqY=9@kD8CckQ8X$P1W1aQD_oL=j~1cGfR8b^2k_-L|6Vk-5UO8f zAiB+!6TK7CQ`fJEj=$`n_LsAHeYYC4;0+;gyd!ag6{gwBYJ8MrCRr|44_D_5_`*~5 zU-Gj|^{Ha-#{f9&@_ynTO;5GSBT6(=BF6h{|GAUw0fKn=r<}-_$B;$F&_3_rBi-Pp zFSX|dG~YBO@6PP8c?P5p39scc;e(zWPf*S-`KTD8qFJjWwNbYe^4?YThD@eV4l z9wYGi&d&VRVNp#qGL?hBmtD5dOKkTR=?Xfh?Recd9XPeK43oRN!g!HX-@>l$s^}Mp zW!+zBETq-GC4ONjGGvfPY6>kG@U{Bd$EPV81Bf+tY4K&RyF2@FC4f2Oxm+1Ye&UU6 zag;)!L#O7sNasyJS8*nweo5-wM_Uf($;`|(9)K)Zm8b*JFSYq^oao%JMhi~_rqtk? zsheOo+`J()>kYALUkhxBf?q40)(@tgHe9So*7R-*=Zgo=e9-F`zsWm$92~W!Mi>yb*^mpg0 zwv)J1wMIzgq5TGaIIX6bAr-qB+nKeR`CIs=B((`AbpUPFD zmrNMTB03nX=jM(((Rm)a-;o|k^EY9iF>D4E(bT>kA*&8QVIeACe$7|h$(Mc>6*7C=kmqANOPJ`ySz^7jMQY~vmbym1`B z9^W4$FS+K03)2ts2aPz12(G4OKgK=AmPRlKeipDdv!kH~v|C&8K?$EUmBf$uOwE$3FVm?_Am?W!x?&268gaHD}0y47G|9%p|S7-_*mL z354joca}kDNx`nHPgswKA&lwB z@}N)_O|{1DL<{+VmhxKssmss1i8Vgr^o7*b zfGBEcX4OrEr$g1H_66}yiOd?lTz?irjUErI_+`Y`x6HC#M%}lK#wk2d_4Rq?l`Q>g z|CWKX(3i%H5qLaaeyAkRobvKKSD&}#xUy>6A)ep#^Nr-h<%Umx8;F#~>v0uSX>{tzR4?p zfvtfGU*oPxY@DGQzR0t$u=PU8W186pc5;F33nFC#o$$x2Ekvt6H?kxpv@aKkCw>Xv z)jq`V{~*ezHaZ0zL^P!0BAmWl%STX`pF-6YfQ8a4_U=!)&=VqO(>xU7Kh!6A4iOEy zheV|+dOm7nx8h`fpMz@#p#c)DdQ}OOuTUa6sqCBpm!7ldY-~w3(iNJe6N0XL=vB$`S@?zXEqOIRN?R!A{*)lZ-ldS{{qZf@(n=#n8<> zj{@??W+?5ammL8CE-$L07<;|~UMTXq6ruUI* z2~QDvd;zruW%+F5UaA*i5P3k2DUx-(* zv!Cl(!s0+w?<~y!OH~K`5D@t(AJKX5pb%(Rt*M8I4DmCGF=3D%5v^rsMLdN`5$kc+WOZKE*(=ZwY#UF}N= zn<-&z^}oI!1b7F002=AvL#r4iWlq|gp}bl$YqgB}XD|NG=vBqqCR~g7?C~|!IjYLY zU67fQdp{vhkrL|+R-*^2UtR(neR42eOu*Z?>@T&-H@*V8A@hQ{kKEd6Q zh`-gBp>r@we+eXVotU7mHU;*q?deAJkXm9Q+x%O!V|WPavcgA{yBs3V?fQ1(uBF`V zbj~*>WRqL4SS*TY8jblnRX7}ZM8#h&$|5vDOEb+6B?7t>%eP$>9s-%I%g^u&hYhYq zJwF#5rXZf3rAWsY-DVr7l62BiRnBH6OEkh$DJ={=ewz6f(tAA6t`%lO@79pgd+P0L>teuwkLsve58ESM^@5#;p`1I-k>b8ynempLn(`*Ek3ldo za;4sCFX{aBlu_R&n4Wd(|LY0vbo~vMRXg`y;9HX-+%$qG=zsyJr+#`4n)?N6f>5HX zZHjhlc}$#^$WZn7Y~@Stse(E~NL^LOoU`iFE|!NYE=E3VuvRT5kvu0}i+ zD=bkP?0nv^_g}00UPQX2Wx6*=JMusAQ^g&$K{*h)BiYs&=u#JZpsHUvs_0+#NiQms zbGJ9`K(^4Kaa)Ux`UzDXQD?6vu1EWyq>!)9>TIsVZz}%S=)E0J`^?qr(cHzY3Eb+> ziw*{iH=n+>*WG&=lIES#>@BUQhBq?OSmiAFUZA}u5u$i6Z4X$Jos8Zyq+eo^OEsz?&1ci5Q( z)UW)9d#d>vB{VX=rKXd=^ygY)k+lr+u6A>C_)&l^aehT8Ta?-N0>lluIjE>l%yt$3 z8EbcP^+*3BfE;&p34+RO3PRYSn}Ap4ov%(g?-tSVmSo+}QAHC>OrKr-7wYexu&3Y8 z!(ZFG>XNcG4saP1YzjY_kgQ9;r~*G-;%TwlzxK8J=H6mDT$pML>?PI^7mgsc9~3@0 zlP;!?Ttj(z(7fW=rlh_NhbI^96N!3qxj9s-z*o``>uvqEC z{xGkv@4&$&%oWx+J#ncgdgwDt9RO@N1W5rh4w@LKbbc`0o91kLo?gE;7#uhF@DXkr z*7#B*zv!v>ig7bjKU(U=Gz}#Mz@%>ejbXxxt)K(En|@K3!mzYu}<{aac&b{ zCr=yO*0|WF$l)vd*w&ml<44|pxICVI*>E49wuD#|7fvgFyC?c`nL`JX=wmN34`3P| zZs&bCz?zGg_bg9m1m<&^T%uBkdA81SGy7bth!omy%lo%z?UK?Ts znEt-~h9p=o&sd|lRgXh=6ysE!fka0)&&kQQ8A&#*T9K(6bbw9*d&FAmVnMmG0# zsfT=UT1P6P)`(|8NEY3>DhLJcw~ADjWmnyG1^OK@rnvTYK;-p1=4BR3Y1l+1O~h^O zDyg|n2M0Y}plMc;%5RA+*D}Lj<53t!v+de1hLNwCG1z16-s|dTeN^zKCRXmt54sNU z2ERi2T%nte2AB(^f$47u;VpsRX|buU5EluHD$ZYZn!ujz|1j)X%}g=XqcV=1OMpzL zb*2;&&X6vlTOC=QYkrKHhN7nJnd1fPykg=ps;MuC+@^lU2Q$O}z8)$M81hMLv7 zRtffb0m{C=_hVL=Z*1@%KdGAGeOT#w@WV{{>6Z{eoLhU69CVLY7eHT$$KSp)jCAFI zv?uS;M&p{wYfaZRy^WVILxIGHVJsu*W<>C(CTHaN7hO2_L757&?g_0RQQ+Ix2-(B zOAh>|r)uuIsgshYky~+2seoJXd&XZ;*LV?$GCx(@J43Z@1C>6c$LY(OFULnubP9l_ zb!V~G+k`LY4aWhm{iyb)264td8{T+ye%7^qCeA0k84BJMFl7Ai+n{TGw_T+5nEf{Y z`+35xyou>lGFrrQ=y{e|TlAHXRzmLXO69)KPIk`&i8=%`Lo51knBKY)mav08e@kw7 z(yuu-tDhN}PT{Z-(s30uMpeaFU}0Qj0} zHV26J$t|U{G-PRAIj(^tr4MQo{am$4FBVF>yQs5=54a5*w2!%OG?h==vk-g*(sxi- zFjU`B;Z>V|aw^7-Ws+2*?DBjg&C~PAK*Z&^S^I8ZpeECodiYtyg73iO79&?%ZY|>` zsS|o%zpX7X3TSJZRV__aONUaa?X;9oyQaPSyeA;rG4oK(di9UJ{D zwh3-wX!zh%J$sLytO{?=kg>asi7#${84-l3fxsake9s?=KJ50lI2=sAG>3U?jEDQ8 zGo`=2M~44a2d{K#J4=3reAeb=!X)EfhxKn=@3b0AgLz_!*!FCctF7k>o@p|!V!r>6 zpCiA1=M(hMW8#D#Ef)i9*066U$cht-t&8x#J{ibh_mv$IwbQ&k`6cr+H1e<(?C?v9 z-{gJV%216O<`JulcIB1q5#A6$>NBYH_+j)n?!1l<>fw#M+(Q;u%D~5-gv)Ut!}b8` z+|I;-{8z_Qg->ojs%c56Qzl+&TOqhJFB7F;#STN1jEpPB{%>JCKL;wbv~i?#`Ie9^KOf4Z{_t_jhu;nk6vO+E{(hh>6a6v z#D>7_V%z#<%%dXt)hlWm2*yxrE|A2NH1$(;mDd^kB*p*yqgi;{;-`YxM7tT^j{d3aXKago7qbl{=3+hOI{}V7*++V@hsV>`yHrSv*_1ndp?V$ z9=(?NM~L=w_kw8X&;RC_sxnLqLBmEJubdOpJME;6@R;UNKD{euSwH=koO><1h|hAe zetiMGs5;I&q%+|9Xt8WgrtfJPRyfzZO-%~iwCxujooB{R8FcE-o2ZM++w&=PPCDgA z)t=t?LXGr%&RydsP7F0LzDHdtP9&g;wHqNT7fwT%9$2eG-9Hc5S&rNnxf`gMA+j(= zZ2B(z&YqVQQ^#_j-qZ9TSWumzsuRafX({cDK$BN7#4D5nmh#N$ET79PMUa)-o2h8C zflX`TGFX9A@X4e4{39T;JpZMLdF0m?ao_2V{l`L8^j5uHD;a;_zJ{YykqraI$7USx@#2Ccz61bxS0V^5KD?Rn=g;n`9shOIy!PD2!MZ$uLAdkFR1okDx+U!UMMj(XgjlSSg-W-*|VQ0w` zn*?pCuSmW~$iIjvFf`FiHbFYfQUfg)Y2h?iUm?7=&7(a?wpTCzIDKe=^@ z%RG`PI+rMDsc8huh~R#A7l&MsLM8h#%Ia>HB2iG%k9-{DL?MCPj!c|54L?4bXN%EPlcu zvzY9m&|k=o*Ui>Fp)A?X=rluy2x>2@W%jE2qO5OtwcFP=bn%?=Xqqc;f;8(e1#}^F zFVFC+D^LG8UoNU2);8LNd9l1H0j&u0p zL%1&rB1x2z=-zolxXdnWrGG9Kl93vW6~?c-t<3@I(q~F4gQlOAB!zpf`>W>Jkr?!7 zD_VnzgR#kijT4P9lh=C&MR`6H)8sQLeYwq^;bYnHb)FByV>nZ2GJ0r(PyMVMLw5$j zX^7--~2A+ljIJ%B6m*ffR{OqOT=(0Mq5aS3ot1nT9Rt7 zi!TXkz=@3~Hk#0x{8Z^+$SQF3DYn}2!i=ot@6EiFw%QT)eJ=TnC0}ERZ@;(2IB5()i6LG=2&uxPRPg8Pt z=%8dAPaQ(wHMJW|N-?X(*0u9%H!HHnavWks&$6}HUKs%V397aQ>2hiQ2WBCh@H(%k zOwuCb#qJSR&Eni6_BbfcX=)V;e0Ds5a;NtqID`J7mbTx0ws8@31jdxID{Z8=8Dsy%IJWz zMBx32BkeUI!zUQ<`g`R~XlF6NO*G?q@BQf5rl1{m@)>6q$2ZQy|0 zBUBKq`-pUdmDclgz+tutnA_^j8Q5AVu3X)e=$0b)35OJ9lRZAjb%CQUx~wz?kgZGxlyU_ znCfCo@=P%c{!Vt>yy}>dWEqP5j4Fie%vx}K{?U>Lf7D5khmA$6E`twi07tc#ayXO4 zdfCA%MSY`Ri#4lj>Q5L^9LuWflhj|vf8dmhvc6LXDYc0w%Xm)tg965W8{g)v-Q2{(9FKq*DDp z>>|6buD_DFT~LN?H*cXrHW;~%(!A{7LlwgDNzuiJs-oi3gW0%8^w}P&Boxa0*`!pJi_3%&~cLS$OuLz#uJKp12nnra97^p{?cs9bf| zb&fE(%!*j4e!o%pugVCumlHht6e%b}Zm2^-Weu<03w9_KPu#K2p)Y834%ye_}LKG5Yoz z9$K$WJcbdjvUbOeQVAb?5g{5XxZXF?MWm#3s+rw^ zLsvEYvW-rK5wSB@`k=7|MlhG!Y)@3?4)MY)(yp9JhtivOPi=yiO*T^Y_M+%LV;(}0 z8%s&T-s+vFKli<<#!J4&QbOE5d=h_PTB*N-_5p%J@S|(lTcHz@6v=UDaUAO2ly|pV z{Dx0#25UB$`x~pT2D^1RCLJwt;-aL#`VIXYiJLz_4D3iiT4O>ZF7I7crup%Gog01q z(;U^ETwWm{*#g5=v|E7WX4-_uQcrX`c4jbVNUn)*?b9}?Zs1LvV=G3{=#)b^`xy2o zK21xWAt|l!qolJ^nk3oR0SDKS1OhF@%81qBb1Qlo1-wR~3{;Pe*F?l%_0tg!Lw&_X z&o9g$6Qf$f;I?rFi; z+E`D52@W|HuW=`{_2Q*+>sTUE*shJ<5__Pq=2*MA+pmxlEExZfXH~>wN>dBSoJpBu z+uttKrZwbIu_YMUU(FBeU@2g^WZLy4oJr~SqSeJ|?*rkzu&txiGw|a~1FaHv$|gH% zrl_DlL8yy4wpL6_2qZ2Bsw=84ANz7USqe^FL-`7hri)Z>cVw=;-{Z3_|4SWs`@GrH zFPma8Fo8V1Om8Olp>k;yKE*qqe^rZ-yk|eJBh&3>2Ee28E0#k4VKiRjbe;8X zN>a+RDZ75KO`!QM=_<^J!`o(GG*so%*8Ch46q-WWtkZtu$S|TT$~5>PX%WEaAyErz zv_aaDY{T~|;@t{tQ-TS?aJWPz#A~qcjEJzPCr|%tCz$;YP3H3`cs=K-cw)}j_zXIU zW4(pfNtUsk^8+}eB$7mv%!o{H=+C)N4j#fOig}UN`J&U)pVIU ziX;4ye7L;z-ic99BVa41|AUO5(ehHFxaaYply+~aH*&Onud*<2uyVq^Az|6NJz*c$ z^DfxN{hl5KSBNU?Irz7g;(rbSrw|ujZaDzSrzAokUz|p79CF&B>&sijFG!|LX z&Ka9W|8TDg|AkTiaHC>eJEf;5Rw5y%P-OQ(_@b7Q7Djh49VO_2A7X(SqX?3n7UAVB z!KM#W@yB1w3@`Wi3;W^zuGOl3BVi?!F#pPrGQ5W)-fFqvJW`!H$&*hUX1LFHCy7}j zW9Ir*$C5R^-mvt5;0UGFl7g&1Nj~9#wQHhqP|Fp6c5SY3CaqwC077rSgnwXW+8F^) zXaTtm4CSJVl8mA0F4V(>%jI8i(X-RquZNu^Tqn%&m9 zp5E$RuIbus{_(Pu2f}H}j{vYPi!usme(Iw$J?(9tfWXC|>+(&$)(GieBc}B z4HGnNYWXkUxO7m65=H6)N`5OOPhuuJLd6T(NG7)Oe?#pgh<3YMKE?!12d_Hi0Nn9_ zWbcd^Xs!J%n`CJX4hc2@P01z?3j#6rlHetRey{D<>XUNI2Jg}8-;Ybk6H)S(tOBNb z2HGMp6)*^+nzA!k26BrAmAA?1D`43V1e2z&0j~U(8;RpYgALB6ZCPoda0FtrfZY+z zR%^crj9?$Q&n=&_n*nQJ?`Bdu0&E$uh_^ntTKses+pi^xld3u^i+OR>T{WF_^GWK! z`e(N!yEI+NgZG=7_o@YrxjX$oOFTtqKE{7Qe$BQ1Y~Xr-?(?rD{%G%RSR z0Dauo&O$wBJnQ)IHe*kgOwovKCmNd(G$NK=Y#^og4Uzyx#PMRG$ZewOGCwEJ8F)4r!9CfLGY8h{ zo#~BB&q7LyG&L0E(Dmx2zeKzTB7|*iUW2N}ttxrl}NWl&;g^Zsq!5Yfvo3W1;8(42mhs-(ZI8>M3_ z_V=F6yich{b{`g>S!k{9h{0z6owU$tP;D7?UR*?edpvBvC<0_#31PJ{3fewxNYLn{ z1cugR<-R$L^z}GIpYngBwoKV3dsq-`D=$7<9XO*p)98ilrQWS!oOePRxgtk(9ZVZD zbt?KJTIv9B#QD^=N1XQ7Sv_~-IVjm{_hNzIGSESs$^3!3{hsq}e0n8%0oMbUH}1fC zoj-fWz}Atp?_>AB+pk8F{|}tq%cG~grxfkEt60Q`#}n5YGq&@{L}Pa9?5jPiL`W$c zl#1(>8HdkagKlqe$TJdq<0t`H zDdQ&e%Fbl~*HiG1O}*1HcmLXROKI+x@S);*Vv;+$%)zhJQ8OcE3&0+5cM?PFkS43! zt2f|5)#70XRHGguA}=macgy3;te1)x{J41bZ&nfG#fz^mlw_qq?1cj+34_EZIDDi1 zy6^b0>W5Lp{*`=9(VFeq<9wv94uFH@qU7MF8}!LxO@mQ1e0Ik~RYF9RnRUhr4x}E( zUU*H?JNnWK885dXw|5f^76&#EjM*q`x=SL0orC~J%_r7yTVi~%o`|B!2D|sKr|1K* z$mjA-&nTm!D#BQFdf}9XX%-2zWBbv?T&6}HU#|*$FCdtIrY;3{yVB74o71ir+9jR|3S?4zuwmtY_!n)dh-+(FpI8O_1pOLNT* zXnqtnK|N^28xw$vOTmQWl8bH*f&=7TLMxI0e9PI0) z3KX|+tt_P46cu7Xp&M2P(-v}nA zIgUZUwtQ?cu@!BI5i3KT`&=!H^DRr!%FUdAl!S$vZ6PFWe*!gpHU)UgT0i+MW7f?9 zKWC6iB5eunB1c#y;S|U&)jmAcyWF`}rMcg8FE;)2>rNN{N|GpAg z1e!*@xk&PvBDsywj?=g^&J*{C%MiPiT+Ss1BG%A$(}A;8IIL-;U2T=xvzVD8r?k$e z+_AEcXf=!&ys8urr3v7VM09i9|-TEx#(sZqGH6R!uRl8KWzI+6spDN zjQJeRlntKtQ8!!jXuDklqZc4}XNC6q zmNA^TK>zBVh=OlV2SJ)wHcPtD(Vi%0v7|pvlnCYQ8#kY}KAuKOpNbyWq0gWA->6rk z7^SqIsUD39#QvfU8cW#)3I-hi=*dS6-?8094=u647`W;S|FL*G2jXPvof`i^ zuCT8294#37JcMO3Z!$2g!w+lu4{S}P=$y+UNKu$^;>y{f87=S7N^q7(MD#TOal9{! zTJupC62G7eyZJwvW6w+AEq(3=-F>&y<~%YW`QPOg+oCGUqa%ssAOI63$kmQ4D0meo z>=tF~W1cF|7m;U2*>a{2_^|*vR?BaGhK`{SH-+Q=w^kFxm2OV)FP=F_aj#0=&#So4 zOMqZyV@~I7Mp5-FgM-@XC-R}^H6OV*rN{u(b2H^v~kOd>YS9ZG>qj{3D6C zJu+dP5c19kkUM}r-VHaFKKjLsw%EitZary(nI37|-UP%5i7}4~^M>4*Oyox!iu4{t zWf9vMT}arC>oOB19Eib5dzp!tFyz-!p!uY%x-L>$@fkk3-+d10m=!dlMVCom9%NGYJJ9BxwD_5=nl&3ESMzCUq;IZV<+!b>9p|LWgn=w@+kcsjp z*>;~9LqS7$AL0vm)3G>MzW+1`Ksbx_4v>7Q_!F|>)t%Mz9e+JHlnt$w*gJ^W!@QaEa8giNsA$`-a+mKMZRdVA?sb&qk__UCb8UDXgoBX_kQR1Gn+ zLk`9XNDi9i-VSFbU{t968r6KA^S-Rr792`Xjea$MHb8XW!`HfXoLA_(>^n0_s z`WsLDazm*wOvAZQi?f#BG%P7G7C-px_4C*r;ZEt*)GU-Yp(^$F8B?C($4HxhK-hHUjg+75w>| z+EH6~01TU7xgQZcDkJFS#uRr^9N&H(q~sWLif#FV3Ue(!pSN&|pfqFklwsX6z{zTZ zM9P&RlO9vkB|=AG3{6^>PI2=uA6YpXIQM|qb&L_}rB57vv`|juLzFdXokkxOUj~aPtVMfyh4$2P zzC7>9ghhw9GSTS;vrLTQx4F^OC7b03ZSW%x$O7yid@YYeSU`og>RnqIV!go`Bexej zbt*(T0WoH-YwT%g)2@`;N1=_zQdRx--i6} z^ZI{X;`Rnj8ht#jGKF;Es5iI&8tQxnK)-)j4S5cscFW#R`WkHp%71gfQz-*|%g<&g z2m1Dt(hojB(Ib63mPVSGPAruyp>{FFE%QtzmP9&!*t^(_j6q%I86eUX{ysLFvQB}% zcht5W{071IYAxsHAWy(VG6e6 z{N1Yj&jo$)ZWLKhtvQJseT4Y)C|?OPn8TeKhmCFrg;zux!jAUduMZ6Fhf~1KUus6z zD~6ppeTjlb{dN$htVrLU=abm;30Qh+;?hypgBY7K;*5h< z^^6_FLQE7)yRM5jCAfAU*twg$bg-1A0O718u4+uhtXJqt8i) zwS|RYd@snt0WsVTAB(PD?uM|C91})lSYXJ7LV{Q=ix;E+k{N_ySRcd;tS4@x1a!b? z>UOc~aQQj`v>iAefe)IOg|u#QVPV(h`B^k&(6r$eFm&Vs?STm@{KFy-(M=H=Z>q4s zr=LZL-D%aGQ82z=E2O~#%(RU}DRYhC; zMeW$if!B2&=3^)EWpnNAlRP*0DJf(-Qd{WX0OG8f%pG+qiNFQ{X^NaZ=p2U-lYAeb zPhnC`-aW(jaJ=&656*JELy`+aW0})--)Nx_cI4N5uv~*|(I22-<%)u^?tDj!;wV;2 ztUHv;_t{Yl8l!Ebm!LU9<&H8d`5yse>G}TGZh4l@IyHmJ@AWN-rzKGth=;Nf> zu|aqTC`xOUo@^&yl6XtL`BduQW>n}MRB%dX^EYN-Zb0_6?;2v29>R256wL888V_FOzbQ=G^;9qIlDMiR6H&QizN<=wK+F ziPk8tp%uvvTNtdeK_ix#ip>;v=LDu`E@}1GBcW!6lvya?o!{toL(Fs%gOuEHn_OW$ z)9-qZ->u?Sz=JE8hipidU|JfN?}f20regi-B#`+fp8iT4(sz3+<=Br9nPk_5KgR-` z7DFrX);2|P5{UR3EkUU?t`0sA0)d60GNO_6kW~5QhXMm8wlI8DDw8O? z>UcMGL3SG&A=1@~UGi?LP0-Cy5%)I!huq|6_?7FhNI6#-rH7L}3erp}G$&~RP5BVC zNUz4vmPcRIw*{PWG_<*Ph1a~u4+8H?Gm}9!eCUV1 zEa0%B{f4AoANiSv-8$(QOaWYOuNW#;p2^iu9}P7ARNr0Km2x4K!9ua;v~^b{Qp=nc zpBmSf*!$wGTRi`{(6g}OmxLTcBzBCUpagpq##MIaQO4+|-_-QEbZ~5al9NVy$hmm~Dn670Mb$!WP z7=dPFM7}@yIcq)qgx8heTGF~5yDRwBbDoRlgy8C@FWy^5!B zzjwxT(oDo#Cr$!KNbQT8r>hn6)Fo3)ETeJ0&9&dH61_7R(NwiP zegs9Pi4a_Ek)HRwO-1!MHpjuI8F?voQfykM-`8*p;m>)uut!Y%UYWo-S8&WL=#&flh&#{)JjWid352Q^>b9)+fxb*10CX1e`cUM@@i;~Jz zr@+!Abj97gh9;9)vx9Z`j}>Cm22M>o^YZK+sdcp_EF2|S^yiOM3Y|6I7$gGSjPR|K zAMN|SJrq>aSSf6weu=V^UB2floi}FWliPV|X7h(3hU9CwpgX~xKR!0q7>w@}@V@w;Bmv* zLE-?InEn@N`)87an+ZnQAla!ER>z=Q}7b+gq*zcWXz73hQ#tv)l(Ht!thjw6U7B69rP#ED{_K`tjvsQ8x<}wx}swLbx-6| zjMVC2CTAI>7Ty^k_!jLr0P53-kDYtY+qZ#y8#I4{DxmGaw#3uVimV}1Iq8^!z>b)B z{(#(l3FozWsfvrlnD-1Ut(Gk5W642$6N+i3D2Kleo}ULHg{!agX_ku+`teS2TaPcO zr&pjFR5*8w;|zwUKw$CKN#Lbf3J%x+-gYbol6$e+D%_i%%*c04*{GztHTg5eJ;tGX zQK|8{E#hm$w4()@uw*n?6*cR-B=6gU&c0~x?>}3J9dblvxus#zB2tTMHh5eq*~RWQ z5Q5XW&ufrvGGz}H=w0WvmzhNIt>jL4{G{PH4!)}JPxZ!NwcoHpxtj*eXrL%E|wiUaw&=_EN}sqfcia!Es4Xx3ILRkEa^|ImjSNxNj}+Iov7} z1F`6(*={96Bnk(#?tauh;pcu5i}`LL%BT~)%LL*_m9cVHk%iF4mY{~ z$deQFml^qO!}Gt$|G!M4;$g4-sWE9hFd!*QWt=1q)Iwlp%ZwUV zn6M})1>_l{59m_ivpqt_OX%Mb{B?(mLIdjvbK14zg;R;BVstCcl;Cp~eZW0zYF+SJu*aVwQoXuPI4vQ_Fy%lCXVWq?mU`=i2DWv-asFL0Ym1kr zyPw0I_2w;W$0_e+x`SE)5m5D|W}75Ii>QbJX`(@~JDM^|Y`J&SJ3KEUc9 zsGiJCD`u`!R~6<&X$T=tvVms!raUL@-e4{+Sb?WqA-nO9qz20P-I}ui_*@Q4i)5A_ z*XXEu?;c2F{z|2*)P32YmcspvrhNAFP;o5bmSjg`tpI5(@(csc-VA9#Z$@8hm+xr> z%p5HL&2Ltw-X|Yq6kwa|z#J2|)`KeUE=->oMo@s+CHEwc{3K111`4&AsqGnx8nD$q zp%op{a1b{3dNYT`UTDbuL6x4x+(~F5?~M~t;n&IeF&+Q>%iI1iDC5w-yr|$gDS6qy zCYNdEC!x^O!Ft`9#`px`*IO{F5ZmP+hzL0+Y(pXcmFEO{D#Xa?%+Q_r zSbkYcWg@WjFyLt(P)`2=d-aPX!+A7p?t>g8JBU4EK;7BI^jo{b zjxYK+WNdND{*hj zobTy90u*l8B1aeiFF>+UYpf!z?&2ch-$GMMF(|##Jf)x8z;vpAjpT;C!=iTw?2OJ9GmMtTH+&o+w>s*_ZOjBh>+M04vC|29 zgP#(0@xD%d9L;N@o4_hTh?Z-z1jfMe*1{<+@AAs#@?;!`Dr9hyr<|$C?rqQS>t@jX zj4ea9_{I^Scs)~edw0&}0lna1+mwC~hQ_=)ZJ>Dn++O9bK-K#*CbU-JobKE;$CXc8 z&mtGF010`cG1S&OdT`$1dX?40>U`|L7I@z4OIOJ> ztQL<0?0b=|VUWG|5AOkN-LjeqKek26O^Yr+^br_lH>Gn>8^#kufcy!D?K(PE~)-*JG7!WTV*7Zna-KFJFr6Uo_E$th~J z{|5fcwOjv3uH6d~=RJqIP<4vv1Q}YLLy_q7AEo&WFh}}tB7S`7my)1$lsJN3Rwu5~GhrOu9R%U2}PqdWmB+E0J@0ZUtTc7Zma(MuWE{2+rS_iWS3>ipY++ zbHI7&!nrun{@4;&%c%WjS8BrQE4jY2CXw zhdr;XeCQaS7b%NxJdVjA8Dk)pkIADlCKWpUxN}xkoO^jf2Du{pngK*71TI2yqXRt^ zHJ*<2D&clMXrWtxRtm8)g#DZ7eE4wA)k?-~sfArpneZ6s#$WPYsegj|(iD$xwJ8G> zTN3;VM*(Wua80OZM^AKWmGl@D%;Dm#S1dMzBgbt?X~E9=8u#R@CYr1^vR{-0AnaaxnE)s5T%cJsnAp)} z-`8Hv=&(L!Y+acGw1`U0%hVv2!3HN$jWE!Eql*~Z{I#)E7*kF=q*+;j&Q1eXJn@R# zw9q1W&G8;RH7c4Y0vfBNxOcn&B4Fw))-rytWp#5gO#ZY|BGrdN zK!Z}`;)1cV%g$nFL&Ac;0k^fkbVfa3ZpEA7JA_{kFF{7VB>=dEW)Sh*#sE{N85Zf1 z^tfThiqP~1sX!JXEJo8j5_49#y5lBrCm0i}wq^>E8) zzCEoe1fgpv9@H1~KO?@*q>Qd0=CjIAq`lj zqCRD@Vh;Ygs)L1zGQi*ezCWv@5(X#FMdG#;y%_&ChKwqpcvp2GsHDdgQ zxjRy##5k{U?#tc*LhF5~w5vY}*m1>;4U$vkyChR&JeXy>rxkSl66vEVRml3P9z=1w z=+?G>aV)2?CnVq%aIx4Ut{KjL{@YwdW!~|q4r-r%K_NQHk4)mcix$GK>nJ0Ahi(er zXt>{-$R7sp`e3eq;2>eiOIf%e$`o(?(A)p#vrQJ=0O8OD=P{)~9GPnQ*_fA#uK87x zK#6fh9ov_?N0T(O(STl2b?BkbkWuICu-iA)I#z>oz=aC-%_kh)5@Gr8mIgh6Uv`@{ zsM@yNSSFV)7SSJ5HB#aA>qi-0;svXqtoD-{n^$CQ?Y_8JdYsuc-^yx37IL|9BLhSm ziM_Ld*xoXskcgYCfa4lC%xwus1>^~sk5BDTRkL|ZoTcY8UH0~anm?n6!Ux|>*1)QH z7rvX0iL&F|#HLIm$g52}LDk(Q42Aer- ze7VrHjR`Yc^euBg8C#zTD=5jvcBOfAqQW!gF)zv(@6T;;ic3{jr=UdM*ZX9LF{wNC zWMqpv0n`1%>EIZYCdeb}*Hh}nePzj?`_QYut>;&!n0AM`$$%at3F$%3N@Y-}C%=M* z#FdP`umato*F+0e{Ipc$likOlKFCuDst3#l%3t^DoVw{lsii`hDs#@Id>BR3pO`eE zX7kB;dYtGPf>H;)zYm1f#WACOP41ROfqzqq+L0LKm-`L!6si@VMrSiTMcv+Q`_FP;=0v`UBI8wJInCkBX3+1bXtaN+S z7u@lcCP*h0rDI*cmxzZSCcHr35bmjHHORG5WK%i$kzE~Nh#~v^!Tbf*Wu-eB*CxSU zOaQ~8x6jGFFD8$!18f6)tmK*)KeONkt zmWLmoNnIryKB{N&A^1&v^T}3)m6$)}*=hB*$gJuc-RBY&{)F<0?iFq^XS8S=ZQ`nl zjrgGri{(bM{1Ns%?=Z8ZmU`XF8+F-dNN3;Ya1=Hv^7nAoZ+vWxj5$mnp^bOZW^L;# z=H*PA<***cgMQf_6QBUn3%;U6DJR}HyMW%X3wGP(+~{lDYwO2qNvELcz7m1==uhy& zEKD92y>Pze?z4gHNGNF0`yVpj=vw)_VKZvYU8PF6)3|+?=sVbKW2)8lXkqfqjV=D9 zKbLQd86t2_ z^X9i3I^V$!!(iQmm&~lxH!q0{KcM*}s#vF{+!d|N7E8D5f>`bJZi>bCA>*SmQkogNy7=2m^BPdj zUdh3kZCR$7sU!CLp3&TH-8|vp`W059MFV%;N)vG^y~fcPcoD@dmm;n|jFxTnQaDFQ z$}Wo%g7rQhGTlT}wGILI1q&=0xUt|;Sbj8HO2s_f-04z`M_9b)LrmYCqF8?!$Sstg zcQtG59Go>fX&TO(Gwk%nv~bwsyw+QnB#wbhWKSB7H_Rjmt^S}^!APg#Hnb7*2_CB$ z0*V6Hw{vI+%0T+AGYCnk{Kh@Ipbmb^dEN3(HXsng} z`?a51I(2newJkvYcXdkCGx71M3Ofv&bFudh%ME+{pLAuF2q+3;sR~IML5M7?JD6J-(yKEavh$&ey(LKEYs%Gsi@z;2d_dYx% zT`!mqLBdiJ_y{Z3w^k}kuJ7MEjNx5_;Wi}Wh;iRX*n>f>|K9Rb-t_NXsi6iq>fnvc&8I?3JT*g8+xA`mZZgk zpN^9Z@6gp{T(GF9P9;d?H{k5G z3kU2!!@RMU;fw)+6*APdl1$09=78nJSTSxz)y72({;Ff6RxzPabvOa`T)zwFCHuhF z+dpFIp(S=l6c;*qqz01yc+9(0@FXnoR|B!;m8!&QI)}kpNxEYsvjd{h#DMC!0sU8S zK2OM)ICFdA8~Wh~$>tenT;<>VtgjV=QOl8GpWmbD^!O(MjL%*Wu$qizSb|sX3Qu++*mOp%X-g7k*U?cg={B7k$1j017>np(y2!(6;h$X}d~}B{?OQ-q}2U zc7^O&hK;@iCe3rxGM%ouE}uLTb9)|&G&|-miB`oH7n0O<%&=(nKz?}*Ovs~Ad(j)Q z8r#C*=w?_hcRwmP#gaYOX4^obOo?+Z++Q3>-b*yA5=Q)0 zh`R}}jJCAp?^Xh1u>@=D{#l6*=E#kD7n5FGZ`Zwf7TtEcC$Af3EIAsG-i4~|twZ17 zTl|S=rH_d*sg-|N8Ot2e0zT)0Stekk7xvqqWU}&#xO=O^SX{q?vS|GutI!mPsLSaY zKj2x_F>XGd%RYU`pUx1K%cvjs+dfUOVMll1DnuL z?`?zW7OE96a#G`KVgE9h_$J1iQxEzYZOSvqCwKmvJhVIg&pX78^hfp&2Zdq+voB_9;K|~eI;*J(0eIk3IB?qNAf~P|63g$$Jq-%&Oa{0%5po% z3?&@s?)h8&7rJ7;gMn)go%iw*qowFxqA;b0tV|EhuDp@5lbidCt*wia5^cwvc3(S< z-aCnhO3G^2g^R7Apo@v-ik$c;E^MlnKymu>-#Oc{5G4+!g2;dhE)pR+cJ+HKq(_j# zGhiQuts6s(Pj59T40l^X;hx8$FxohK?dc{^E~TR?uAL%$WLQzF=YRz)38|heRu}>Z zCqxWSWufDjHfc(e*_*BDue1|N$O12m@*A5({cbYoAC++aL1f>K$pm6rZKEYy$^D|G z0{fu5^5X4YDpzXy#tU)q7;X53l0Ms%UF&nP2dJQ_#Dy~lQSBbGOTu;c7zVCA%RkxY z+tj0cgK}T|%r@~+_$aKY!e$cG--fH+yiO(a+NeHnJ>i6zjp6So7kHe$&T5&I;~{$Y z{7)3pP6JbaX>%FgHJ_bA)s`xeZvPh{|U88jJ{(T-Hu)|faNn|PJIGcFuW-)1V zAg6`ZarA=kXp=A6+iFb{E(Jabu-5oD?I4tXLEYMb0v+nO2_)j?d%kR^Ug9?(f-Z(g zF)S$}cmvj{W)pW&P;zdfsggxT1QI2@$03($ zhjs;j#QT1TC1FxC!V_hGqzp@Ouhk=)Z>qR4-C;_Z-u^=7demfmu$DWAD4`P?SD zSZ-gs2vO;x4> zW&Z2lGk<(JGLT*nXZyf-XZi&uzcSeWsdg3 z-T6J&iHEhEY*e}QPT7);<<Rwkm?(CG6yF z!(q@mG-?x84Ht=X4aM+@5Rxkh+iKrhTQ05DGfsr^|`wh_4dH|`*mtqd{=6Tx*Wc6t$Ggx;ELRLTDg37hyI09=#1(Wl4d zQT<73)Z1z3S1P{O);m&H6AHMeS6k2_pqbKO*sU}EaDF!A{vqU%TX3PNCJ44Wp3uXG z7-$cndmPcgV-~6)W91aupz$fPdPok!`Eq-sd|{io=`lL`5dTDU6dTyHh%R+siylA; z@>nXFM3}`qp_fyB^I+72F1bg|c+I;P1yQ*-$WOYx4DqelRWj|w1m#Jze|Nz;{q+?S zPuGrMR&1-g?d(EdV@XszAYo3gVXo#`q zai@pJyLW*8ULwaNasK-K4V{egQd<*w%{R7IsL)GwK%ziqS@i2T9FODT_R6lD(3K#% z&@``4^UZ8_^#ZEcA*T43u~psAIBqze^82JEAFCyl#P)*n3bw8v$_#T@M7?dxznyrV z6^*+tju`#o`mq7DO(>L#;%5vdcg5NyH8M zM0fq#0X>CWF*tBk-;B`0cQ9IqIpK3&4PbvDXy_=nAC}w5SvdA~*{`XJs7ks_Kypza zixuin#Y(C;gL=`bzI3B0;SN&gfbnu(Sbf^+e5ag+V;k+BnPWwdJuotaTrsJ&2@o@g z#W)aRqG$-vP>UEg&FIkt|E5ltpO~L~jT_Ph^Nd)?4b|&n1qVb7Rypb>Rx1?3(5AID~lM1YfTBuTlfCPXIZXL1NsGLh_l4EeE>y*Y^&6l^{(HY z#a(lZvagj7@Ee=15SsP{r~Aj}lGrS2#qXzzcNb;e`3mV;ibXot4ZC@>D%4YMMbu2p+$s?2Q$;#9!#N&8yoMy9je3fm;pJpgVFQnaT`gV!BTv9-^*!!mTPuVHc z35d~SQKBkQB^%SdA{o6jN@=<0oBx-Yc^8lu;*s`5nQs?Wq@SzPO~9*&N+k&^c{=a1 zvFS78Vvg4?^ng3=&nf$#)4GRDSESg`5l)Rh1H-(O?cTrAWImq#A&(CQCaGd?JUh&m zT4W+~9)|>V^Db1gymrx_A}KXRl$NTG&a0SXCf8`%u#!3r7vDXW(s=#DP5vbImT4L@ zr$}sj{%vND1G2<+=mxxvmOZ#V*_RFbBW3hs<9Cw8K5%S!T(IFln$ zQU^h%cCzHxR$MFPM50BH_6q-GNNM&)Gs`0qGlX8UM{iQ%pm{t>vZVWN54)M*l$8c2 zpLHD8TV`>T0>PCufDGB@OA=8oJyy*_k<+KXsIzqS^M@IYB222B$M-p%>!J??|NQ;~ zf(85!*O}Kd5G*LjZUOHtP`Oh=gg3W+PKB};jACZ|v8tmJy?Dxbn@}IW9&&VV-0mMx zL9Ob(&3y&>nexGdkqN5jq4w)WAI*jG;pYCHXCei%|E1Hb7}Jfj`^4}h8zEIOUj8`e zZPj}OVG0b{XD^X_9!Oj!Klj7LBGqCZlRz=-61k7}&A(54aFQJ%((Z_X@u(@%%PYP< zaCGfs=~f!FhKF${cW#;mnb~9a^f${FrXKV-Al&_cP}m!vWu+LTOD1y`&bMSO`1liM zep-xo{ZDBHBfwZnBgsFOG$OnS`1q_K91iE9q#zj3FFj3AQJjuLu{yL1Vv%qA+T)*)?_NYbUCeL}CV?XJ6w z3iQH1L@Hpqzw7=kT2&f;b2qcq9iPgH>*2KHr9esbxrC4+FM(rx7qoTMT%m|$i`X4s z8PN$7`)pqKR0t5j4K*8M9QuOt_LF%8fVYX-fNFLK*B5oJP55mmaWaG>TqCJLkXv0= zG2ZMrVCpZe;pKAPCjmFY1X=UPUdh8yLd*4vfW~_e=rhee@gsrTJN35%EoIwm83qGk zmv6+fG7{FrR1E7cNb13cZ{``PbYFG!(@u^g(5;A~o9hR>YZ9x3JaOMJ{3ekVcFoO4 z6FS6<2~#dZo8b4VFp#^~#n#unuVYZihPqQ=>HU#9Q+hYC!!YxEvj9pomkK0KsH-_Q z0GqZOU8WZ^&x-AQvrq>#G24Imvqwr3VDmGiomZ!ODesM4EoHFI_dwQJ3{!5B;lYf5 zxmpQc@m{-;rf!E<+r?6)0VDQo;EErvSh=V>HI@c9bY5{~lxZclT3?3WD!gaf+ezII zYT_Ul&^xytAHE zZA?}B{}?;VhBl%#S{EqLqJ`pKylAl&mj;0PBuXd3J(oHWwQ|f5%KFUC8w!_Dk0Ad1X7k<^2}hcn}jv zfbdwkot)qy6bXv>-6(t+m2?w0jB*1lKoGCiSFW=lJfXAJ&8gKMx+z6bLHg`;is}5< z(0Vc`Y3 zt0U9&n2olo(AO^?k*_3BG*3cFM25Kf6L)#CRnTf|9nsux3op%OY6QRzPcC8 zX4Zc0n9ic9{AB$F9D=`ivm;F;Aqj`|o`*5J1`H>$y8OaboP-4|^=z{fLE|a}4kK3v zod(}bp~C%9TGlDtbIcxVp*|sq6|r|R^aLw6&g)a*7V=nN%Tr0?7~iz!hyS14?SbD0 z`q@@AOhk>$X)l;^83OJ85w&$iUn z&QQoRnM=*HoGu^aXv{m%3`=>@uOP)mR|U_F(dI?Eb-#FFNq>P~f5?KM;H_Q)0eiOZ z^ZjK(#KH=GZJ|E7>^$oUN8Zl}EuL;woNwNOo732Hl(;#@djxbdQTBXOaswR2=I-LQ zDfjL59JyUw!irZi`)u*y@y`{>YPqfnk_KU z0u3Uivv50#x^sNK;QJM2Dg1>WCdC)_bj-02ax_c|@94c^oL5rwOhf0WcBaH!m0~rU zd{e5#Bv<}?|C_w3wn|VJfHoTY;+#41;TKPw7fP~dwNv}AaiIZ3K{}HJ9I>mQ72MbR zW$_~`>8+B0FH^<#gGBVFUb%8NB?AeN1&sm5cde#?fmyAT4dmd*)mlv zIt~!T$oeY5K6GNKxPn2OR$pR!t4X`GYEjad?SOVhttG6M<`O1D7k=oEm;sUeK*#($ zrAF|op%u!sTO~|-)1c|W+{|RJZ)Yu;s1{r&<_kb|p6XnTsQGZ0)@*C|qqa|MQuS2V z*f1WO!yR;N!)b<}#I2=trd5T|;bn8&p{vNrZ;{S_MJ^zLW=1rP&^yxz7uQbib~nwR zU@Is78;T*GU2 z-^MNITwWG>W-u3ZjTOD_8~}NqP4&`c8Z|}c2I6h%j9TT#Ry(o(9FeD~;P?$z&P&;P zvWb=#+|S(LSVCd>P~=4g&#pFN11yQV5%Vlk4tu(YN{4sUxq~fb1u{lXEoH;RHRVoOCsLC{WuefvaxT@_P z?*_tGKf_uxgnnMqd*BT*$6gwHBR!p+gjt(_mt{Zwx1E~64;F>Q!WPM97*wpIxrY7ep_I;@C3+2;lr*W_Z*DOswD4S4S>vAJ z<$!sA*+A?e#WZ>|>z>7m+iz~GA_xzQZkr0~*ImS5LpC^SoN43z>u@bH8>oXNtSvj! z`Lg4;&y%(>_7WOe=lkN>J_`#{7+mz?oCQ?KDE7Gq%Fpm7sm?#&8Kq}a!W?79?iE%9 zAzQcIL;)lk=ub9q757JtC;%hS@BYL6s3Tz=stDM6w$mSVk%DPjaln%dSZ5F6w%)SC zuQ{)t5hVnvOLL2F(dPXSV+3@vc1a|%h748)^d#<>4BaNnNW8--sqUM`R}{EZyV?)G z=g&(juqps`@wYRCe8M*u-=R6DdEJEuDRuK|o);`i*9n4^R1$EaNe0744{N>z(P{C0 z7CAoAcx?el50@Ez=Y~6(cikTw6hqdM8vm#*M&{}?$u}F3nJAzh%q5j(>#b*c z9_E-R>%d2SIxULd+Ex6_%ZSnUP7(ACcEeLa#i}Y!gIU{rkA42_RvtG7NxPJ~`0T=T zooj^@8em)li4y#!0E0CU9?6OeODJ~VtFDOl^7S;nRlzRQn?O}%J%nLKX#w%ii9Q1H z^TH%!dR3zq+#$zo)PI4JrE6Z&Da2E>1G0Fh=QS&>cC=Oj)%7l01DKz@4a*T$S$?tC zN+jTgh)aG!PMJqZ{M=us8frHjsHuGl#^g>^o$YIL=fA2R7~nMMo{S**Je4LdzR=k8 z=a1&GrNER2IxonkcK5n`EU+;};kBd(9!dx)Vl@>iFLnfg-1>w@KO)r2nSkAC33h-+ z&WvL2U#_OePGEOsRN#W#_jO*=|BfrauN5#kNfq=`{2*4yETnHcI>`MV?Pcw$qs2p+ ziXZs+iw>LW9{Xvj=-7E#qI1_9QrW&G9RS_pkB4WUXP$3??(JVZHxeyAiD^M1u=H%L zAFO9Db&v3`RtY7XN(g#=kU285xqHPNgfx+qGowDDmJD9OQW+$8MVsOYof%If&fK9t$GlH!Q~ERG{x(9CipT}H za8c%{6OzewNslZl7vb;sa#3A8k;GWOAH7g9=g~ZD1%N$}y}gz1Fuhhw+`l`N{W1F> zfrWplP@bs8!dt zXA^he0qZ{FI;*A~^-G-r#=-is(9?#01^*_4@Xyd*WQ(j1#V(?4J{C#ZS^j+57%EBS z@g7_7ojtc&ta27|FJ(LlvSZ=>rOJoWT?^32N|rXC#`HUCho%>0xkCcn8J828@a@p* zTjS}1M|tmVt_$i2J*EB-`DT2g2^MdJC_-FQX$WU>eap!{TmJk8W$XHA5T$nX@Y$-5 z7)RI>`9;CzGYPl(2aBgS)BOt!T#H00yFi(8*hdQ#Fj%FV_r%7D>F`0Ie#y*>?V{Fq zL5r?Toen9|q6u}(j3ac2i^nG@0)r^w7E6v=m?XX1i~36xEoYSrML_0N^$As1;=hbO zTRyOml&A%Fl3ThGcc0JSCd{#9E{EQs3_$)5;mXHBczNT>UX5!)dx__oLq+Y%;SGU@ zFwJX@;qdKNJ!f;q9oi+axF%N-vGqBYO}?(AaAOx%Wf)Svb&JAs8Fh^)eNc8$a&=PL z*)ZBiACX7Ooege}cW$N*!%;HqHuCWikFj1`55mJ@>*;FFD3m^llXuYp)dQFeA?;)I z%Hc7tf!-XqB67WcP#s^9UL1dXFA~MAO>V!RMJ5JZ6Ox3Wliv)0SjV#sQ^5bu=Dr#h z;$XGdn}Wi@=WmwDN?>OflZm0eqJXebr^?nmcfW$;pO(~wT7x3xTnrUanDYQE>LB zC1(l~GHcE$>^bFgAeTOzop=hO_3OTXx-5|Aw7{Q1LRnu>>7EA|ARd36`ZNHErw$AM z*{hREG9S@HH=vnHvhmER64}Pe1R>#Nm!R)y^w8odBT&W|Z$UxKi>CrqkVvl=r==)a zO590@1RXnm!HPU4RpZPhBIS6*8ZFGrD`&!zdK^j6Cq%zHRk5Yf)N*$f9sj-XV@fu% zc@MU$9ZtKqNbm&5`l&OUNAK?fuqiu_Or2S2X71!^h{?}m}1@|qVT>R^^l~#Kqd!0!#3<@%P*tx$>+*eoLqk)G7>wSK(^)8`cS>% zGe%MbESU^;G83L!t`n%c@6_EV4ty(1d3nV5c4c)M6t?EMf9gk-rUo%&@DVf?bvN|r zpDz14+48Bp>Sjt&lGlr84^R5#CRuU76q($pdA(le9lF;Lk28@BuN}a^>uV7p)CP2NJi7h z7w?YE$B|>|B9=0=@>f@qwK|}#NAb1ax3~*qJ-;Ml-`ALCt|j4kMhO3?ZfKbqless{ z3TL<1Os_JRJ+`l|^*uy1^S^7OztXTI36;Nw^TwXD?9COSBW*W+JtV>`W_FSaHtV{p zyVSiyXhbBvwAd`zvGx&P@mwi(>2(fSRI2iCoA1~iTs&;6N~~4|F@Vq*H&M)Ma^a$V zd@EnT)c!!7z((F=n>XE;!%kctL9e_JtkpMvCO}?5YPVj;pqv={@9P|6?Xugfb8m4n z`IQS0ot}GnwQV(NorkIlkoPsg8`U>;6OCP$EjocB{ussFeOfl%PVI?;LR?%)2q=C( z7}#wCo$CMb2UsO*%-iaG;@_Neu1>UYdp8wONWSW}$Qh~4EBLosNCfO-Bj%7=Bo@eohBi<&L#f!i(vGBM{4 zzEOLHh*4JaCw2qeh1O!Pf?`DOjA=N~CJfr%IxYV(uVrY}sTM)@G?%wwx!ECV&jz6u z+Zh%z-?_I~loPL(b7=Rduo5^h4jDZu)Pc#T8+U?U^ zF1c_G;L|d2RZibU@N?4gzcJ`LKf7kZZ$py?Hae!Q$#*V-T!+pMoF+1>hB?02NA2L2 zH8m2ZFC1YxG-FpH|2bfLk@;U+zhZTFU0pF_HgQ8@`!hgptPRZ;)~R3`3;^PzT0cYc zerk0Is?b>vnG#+(lQ!1ro#(!>kEW=(Evf?L8u$eO$q>^85aBud(Qw zz1bG{3QHU|+?>;B9p=;*nzDX>yg=g=lH`%3DZfD1cn3NHcG9nk3$a+63#nd~)>rY# zqdDT_D_Dp6ywwssOSlJl(g;#J=3JAWc;-NFsLF5s2@1gbyl_iw$Zukzk9~eJdL&zN zK{I2bZ%9)?1i^RJb&}p@U!Gw!0 z(XVjT@h*wt2T1IPP7BdSy7A8sHF`6GQ&xR4rlkae8-=PkA?5_X>Z>g2?jL&UM%@>YCnfZV1otx!5tD*(ySTu*bJS$3C578%zk7(i^d!0qh`QPGRnK1KIlx%k*R z*DE4>lj1Hk5ek%d@L$ik`g6fgVqxtW)comVH_-!h)PY@MBB$rY-;mCR3!lNx#IK-? z@)B)M)ORMwZ9N{DT2D@s^{T)W!_Udh3hAL!N`%OQY5&`nk>!s{I0?@-wwVmm3mnSw zAp61Qqk24lPrr9g7DwDwQ}xkJA;{V)Kt@T)AXzsQZ&<8FS!5x1Pu9NFm_gwmzh}fN zFtH7!wm0q0VV@@$UHHp2lrtd5dgaR~2WGi2EnbP$R{xHGBVxBO`Y20B)?Cbavq$x( zZnev8{JC_@bAqp$Amzc!R$!hFojjs6Y} zyduefJ$7`;FCBG# zn41m%3jzDVM@6L6QR{vsn<1Xq8@)(@(_9aWCX~ZOS?qdBw-v}5H!Z`g{9IyT2YxQs zAYnp$EE3II1WtuuLMKdSmPXFSxbfFT`h1DK|0ppVW8ut4(vX109U@3K_3!iY`tIpl z8TKs#@xN49R<4hS+KhqjhWvSIV}s3j|rOH4HkM3YHJ5zv2kKuym<7D7Z{f-< zltL?^?SLHHelar07d#8`5G8Uq(bB}(ZzTB)$!6)bVoSRnw1 zela-_yPn>Nr?_9c+!%$vE8~WII^YgSWuqX_Z_=-l;;&uyEAnrNo%lz!Ns7x+Nq57Z zT!*e+Q65x8BqY%r5h%qU_mO@KHP}JqoZ=s8wk;1dAnDH;S;5tz4D)QuIg&%Je|^lf zK!-TtmMN)^Z@Kf%gD|f}|vjBJPbsAU8AB3hI z!FJGoCa^lU5NcS=i)e~y6zxHGw>#&{xNOShSGpaJ$+*L)sx z20SwQC&kH7_h;$ruP&K3a&2=qx?Ea2Fd!E7oQ)+}(RWAS9G01N{Lu52ue~L6qNVS5 zXX3%p&eN0%z4^PM%i>MzqbHk|Nns)E3<11C8;BqwY=pJqv;6Lukao+9^T@rYVhhSQ zat-v>eFI?Ib;gey6=er)vL^07BKfGU`@p`K)uf7`AB3q{8Z#IubWh2GS7Wz#lZxzo zK^q%1!NfwuGC7&?$^h0w8NK9hZy{8F^YRA_g(J2!C&+-h$=~J0@p8@OoGt?NcX?er zEJij0HN@}8W@8OKAIaj$#N$Tck5dy)xT&lr^-Xr-S~^lcNcqK-J?V3U2J7LTmH1RA z5Ds@q9Mq{j66qhGo5cVT;)}d$>e$P>Z1@s#{IO{AYlQUJ$uBxe7T0`9I;8Ktx-YcO ze9qbR)t42mq~nD|O0wmYnz(%T2F9r*LDo}jCB-m9++r~=#3wvf{1+Y0!LqY}dh@87 zTcB0Kv65FgGpHVJ14&do(M&489HE`SHt(*7>h9?2jmwz^`@N?aEVcU8J$Fn zw{MgA;PnlWD*G7!T1>JQ_5i!6;io}iJQYr&v%M4c!Z+GdCK__X5MHSQzT5%7G5iAvCPpCWHm%PM)MGWgKNu|d0 z?mGUaH_sX5MGOud!Hi~EXe=U&{2ZD`(yd=#iVil$J?G(#+2TZ_;^yCZ%lWQ6kFqK( zKAB$lF^pvShI3*YCX%m6qw<&!AMtA0!XGGE+QUtL4&qz)U^e1RSc@Nr)2MVCI(vl> z21Jk;W3#dn{c1d2X(bo_H23WWB#F^xiL^WP_~q!Gr#iTi#&C(kOLkqaV`xGfACz6x zF)Tm)QT)2SqvUUG3Z|CU!uXU)^hNFAbwNiBc|WFc+drfgJMFK`rRP@(BEi};=jO>n zX-`J$Uw}z^IR(HHI#kp-?_gB(6e7;aaI=$A3*& zbYu4osi-Y{*|OayfG}0>t>NYP?AIckZA;V&jkS+VH;CFzm#9qO1%4O9sIAin~S!+_PQGf07Dqq#@UyzP#@)G+rX% zX)7*eLtkST7+5mck%%9Q<{D3Wu(T?5G{}$=w8>=o88+IG2HczDER~$S%tSvMe`Qvi zfnbi_pHZzEc|}7j*{Jz;r*!7m?^#H}LW@-onnHOw5mBG|`hW6AZl5%=-_}l~S%ltv z`8{9t0Nzd~+5Ikea0JsjmQ(Oq5H;_LOWoBPa9jhMjV@ho$@zMB>_X$+bfyK2CD!#f zY^^I9Ft59n-UHxAb3--t!L2s=Yr{N;ed*hA2XXBp&g5u5TxDA+7JUiP8la2Xqsmt8 z0HV@DZQRk3KrTzKen<8@3<2gdL%VLh+qS;Q-McoZ%&`^})xZm!e@~fR{-3_H|E^c~ z6aj6neK0qWyp{C~E)&@I zPLO*3!Taf7^Qr2dI-a|!PjgUV^gCCCe@<64zz<|8RU|gtMCXPXtHYez}c7km!$TpuU4*sdXpj z)jdBn%*Z$>Rj8l+m>N*SXy0MRpC^iUR`oJdZJ{o)LgpwB@^YS$(94^l0zx^qZhT=8O4YV|eGhj1H zp@vO-;1is-s;ieU+ZoJ7t7-5ZsWUn;^-+U++_G1NMdBKaj!$tas2eMLcrUs7|7HZ2 z7Sc=zH%j>JBTc9^8N?ArT!+>1!C$KB+iIx!X4FEg!IBA0zDNRl2+41#i^Ys4W0^Xz zzQ)~a)fK9-0I7H;)HL}pA8t&wqcf@I6xBQ_h&yMXpA!AOLh=ut38$1%PadUWDu^uO zP2Z5JiZRG-pN!Hu=Mp1`0iSbVO~5a-^rC)!(5k`5eC_qda!BK6OmQ5{#ynGOleV~3 z8XdH0!D&;&iP9ty1*O3mr4BMDi z8?bg4$pwJx3Bg9tw~Kw3h@bT(j~Q(NkK2;@f&bh5wQ_w+SkRE+@puppSIKz1as3jG zilamJWYM;*HM?Pv%@1JnzuJ?>IzCJv=DY6Bv-f|XhHgoqWC7{=a)0is%sykQF`X`h zE^6`&P?Z-$spSb1W>fUwui-P2*8+-7d~X8R&#ymZ3B7>1*G6)6*0%Ut%-{wmbn)h0 z1}w(L#8795MMRi{#4Yc)E{d;T>NopMal@qj6q%w=`bHHyN4>C0KvX)?yDaC3i)Zan z1Lc0Dgd`EXi}ZYT-+Z7|qpzmWze!XGct$x2{{R~2fn2E85g#v1kdG?Abt(!WfcGz^ zF%`CD&kk?yH_&TJ>`*d}(Hy@Ut|nKXjY(F)a+0stPB?80VoLJEOcvp!j@tGq^9$a)W*e{52n(YM=LjolRlFD0af~F+JQ2iy??es@ z_()Wx$E=D5Xb5l|wjcQhKGq^cqPadW?bzSwpwt$OvGj&s5rBRI3u`aVej&M9-nM)t zVBM@OB=Kb2{{{`is`&B9Zp;38JYZPbjG@COgU_u^D7DHQkXhs-3?f*?Z|3Yp*qq^L z59Kj14Cp~m9F}m!EMXc`!FagQ9RNQ~S**L*XewbLyMd`p2ELz;Sdh|bc=si0gjw^| zu*#%Ou$RCrikL1P;M`I1- zs!)1U;q?TX%1up6Jfq`C1pGnLgE$)d(noJ>m?=W&5N&Nw*?r3^-pn%6Y3wut~i39UY|M&@IV&(&%0ry%hTy{WqP+z^;7qa2` zx%9kvuV`t;OA&SdR21M$H6(s9q$uU@(>qXuO-@_fUl-07bWaIcS;@KjF`_&AZG$$cANbwtERHO+edeHsO#<*xL-wL}9 z`Sm*X;5qUpOCY{>L{_c2NIBB^Uz*jBV7UP8!o5#p54eS-8JmWY9z_{qYIvuAvuP|{m24<%JqlAS^$gQ^Y;OO9y!lZaico!IG=jpZ z(Eq@$NPT)l${jCo{#{e1C-+ep%T*6fZxhn@U^HeH*6H+hZ1tyrflKgBVnX;FQu21dWpN3G<2p3;eHxZVMv1r zL}aKvLeHO!<#T~b^bL0HPDcbNMvE8p-mIL;U93%3zQVi%UM<_ndoGp=7e3=kTSBm} zqM59sp`40g61R9hfZgrUWqUfuYFIiu_ZAN~NBPx&d|1W~+)U#zt}$CT8drS&(MAxUxwui_^Ue4l{`Y(rA|SdJcw(|E&bb@^DEoWfvK;K6!-Z5qy1G*@flo z-mT<(Bp3L1s)qm?3R87()x4@@xcs5r_l)SMtHtnUo&st0!g6*>SEEFvn}NqCEZ-s; zEVNZ#obzC|4l)?Syprf$$5Dec5eoOMdwx~0Fn`30p#b+VsW-Q!i>ZaWL3R~+;Gh${ zy|l$S_vo2jrS%SJw!a`dX+l!IX6&|9feVd6rGbuEXy6@7Hcc@J3P;ud)+&et!X#^m zcEP$e`eF;A@Ux1ODH4j@WQ@8E_<*{c(Yy*a|5SRP6rY!L06+1rcH%FBT;0Ti6#fgs zy&WpQ_KR=rfuYaVC%axU|7JVy2#WP~ONroPYs!nEtXTYW z*RWrbv<1`~WzrrN;^=rk#WnEIM;H&H{@s!0|9%_LS`hUqqZRl@74NQPD9l9VR7K(e$x(_- z{PNqDt0q0snO9m}9?509Ib_j4V)Bdft3)lT$h&Se;eNuZ);tqc-K0}ujQ&~@(TD#5$q!hn z?RXo$rIPw#STD}8^~7-vaamcw#kYr^Tf8P$nIB>nCGFrkj75DH&9Mvcj=|Xs5TXXj zFwHp;U{N?T^`B^9d3|reKF5~kN%*1LKW~v8k5$ffS!rHo?U&y@;X@dCV?S8@Xn)s^ zX=HT-+C20-o^>Wyu4(QvCSq*VJi^bsGPz9(&kiD|7o&2O`!KT!Bldv|48;eO(JdPTv~&rapavH|mtDomU=Jq6mgaI8>oE!VzxW2)6(h`iR$@YFaWMb?js5`g*GD zm4d`td$Rh;}mI086Ct)0;!@p3S2Bb|I&Ob{DdUqPRL9UQBE=dE^l>>Zr=IrAdJmTLYR1mrtO2pkH+lh)CYQ ze@3Ij?6VoLfTGP>P$IFl{py``z}W0^h9g|`3xZ?FVoGXwMQr#wbrwF9#DCpsh{Kgo zi$b)X^9Bo}bD$=h3e`}l#Ff;U%3;c0hC~U@!2?L%(syc&hywlU zp7uOts|hlqh)>w*F{+(2w|zxnAj?W^V7xDc{Y7<7#yfj{V4Cx{*tLp2s-V89lJxsj z#SkfTf9u4lWo*aSofu!};rblw`VGPL=i|HuU1v;1MI>r_}>SUh2j?Xn9Jx^JI79FTJ`8(;Bbj6HZ(TN1>bjM|Ef?^Q-4*Ab+7pK)itgWa6m z9v2$_NSgfRpoapEWM*n|-C|IK(q)m~V&zV5tP7Eg`-vn?)`fB;4Bv%owQ;{9Xt4he z1nt6XR)wC6w5jV%`!%1i*Nj$E8!Iw=&R#h!b~2MDrS2WZ?X<&F{Iz8t&Gx*uBe zEF60Dv|to_iF(cnqj?>zMUVGOk*};-{$|E1`<enZ;+Z*_PCt-+mh_ zMJ29nSe8byIqmrlJT!bIl$hIt;SSQvnzjm{^iHjSORiDiHVt!AB`y$?Mn;K%PHc74 z0Vk5}w)OcNP*_K@oZ;140Y@Z zCz6$U0~xXjSUpFYGxR!HF$22bOMws38>+vpQk1%WU4pRSez?#(jjmBA$luBHaL0Ue zwqB`bdd+i*kuNtxs-?BG;hwz`ik20E``FPa@MULAAn`Rq{HO0&zWk)(j zhR=tzX^siAMt&I9Llb=%=pFG=*P3BiR}MrR=RJ0->`1aPD##RWCO_p<+<%}+|CrXO z1gQzqSab`GRU=3|`_4(`lWmcakkw2$-;Z>uc*iI;(7Q{<0!iM{iwgGDVEv~4K&%3f~h&XszepM05oivYr?7ow~ zg@%_Un41 z*z9XrK--qgl-3HuvZ>= z51T)l`-SbSemfkPncz9IyAr!HO7aDzokOIGO6QCZuXQssAwhuge3VSw_b-j`)5SV; z=F543$;hi)8p;&Bk0C3fBJLJa2i3G{)2Ts;X{M&R7RU_w-|^d*`-+$MKUv?;!+5Y- z4P$31K{Vma$yrwyVW&?Y8WiQXH#UlSA8U$cDglkRIDdbmjpxcgzP-~)AoSIKt!YIU zA)m!AxsfW-CR~}-Kz+y*@(cVe=?9IYQsA*Doeu-{JzuTo_|>VayY7<&JB_WNI0#E; zUEsgHyx326DfM3IK{9WYRLuLk%4eU5cEVReHNsP$eda0bOqh8~(|YneIy(lee)buJ z$@W{m_Y9N3PfcRH95sL1PB`mL@xvFBnLs=1-M)D>E7JY)Uj-DpaN^`#=X{xieZ=7i z&ynnI2$E5yjkDHrESky?Z;8j#3D9S<>P8*6RsT$9U{W93wZ;6phD0rjKuVT!e$Vt# z++}A3&7(4T5sH`N-I#O>@aCl8$nC%N>^+rR-W=wjiF#i;$ZAO+U2`WXy^j{<^PSy6 ziyup*cW?RRGazt;a`7F7#)k# ziQ>C_>O}sm?L=MjBkM*2`6rx51v&PP+msP*^fK`9&>6~-%_xgb0KRk|m|jfBrp2Y) zof^=}A@D&!7PK0y#osbTCz{@+)jR|5!eT03IgiewySiF)qF0CQk%I1?p7MGcx|(^I zcB$lRg!OpN#>j-U_BXSz8Q<#q`ejI2&B$-#7fhdfB&V0oeX4)x$qe+-k=}eQI85ac zhOddA&eW?OaB6i)-%O%6zj}W{h{?X(Peq|f#k~{VZD@=w;kPnL|gU!GAEVu z-KpqbNbEdpJDPNx$d@wnQP+yA7EH4gs3tCuIch{Txwd#l6K*Y_GinV$C0R|J9r`Hl z1%oUYU!ph?!arSADD8_8lZGWc$o%50=u!Fvxcjkgl_c01J^aUVX<5A{MMl60bx|yM z;P?6RD4rnl9+_2RUS?6*LbW_$ zd;T;qQ@>c~c3MAZ_k9LA+a5!aF4B!l@Gia2%4{SOa|meEi2>FRT5u335#DR57u4A= zeTd)h_pIoj)Vro}X+pIi_T*aDhm}gz;n{glJjxONm~v%`vL1Y`L5yFk@e6w1@LwI z+Cw2?tAko|KnNM+(j>aM`Tx4V?EjmfMuwEXfBt;kh?%ORdPs+i14?2Z7|` zpm7QVqK~m!mhEP*$=rHi^K+=|)$Wa$OyBf(gvZ(4Iwc8JaZSn4F{0V2Cox@!xl0U* z5Hi#T^^UG>2dH9=+G-Q_y-EoIs0;Y4LZhifC9zDbF*cW!4|YJ6mkGTQ`%#?uF77K( zl015<#=@5AI0XN$a7CidKpZSJMr0m<$XSevl-#v2$dKC2G%<0(MEnaBqrKbGhazDp z!u_YGgW7ubgDYM-`b2IZ8pl%eWlxUpL(YP2j~>Ps9xnb=N8is!!o*g#Yf@x&mc`cx zkW;x8XHkvXPwI*bdah2y>8bTeyY_)!XWk@#QxnHnD&SaYxVaR&$Z+fT1TeFzB_Fq)qVy{F3&(Ct75`;Vyp;@rLniBtPR8Vi8 ze!ZLfSpUoLz?=8z_0k7u7p1mHHPOYi#2l51L7~7GY`H~C(#D656JF^RRG)wurt%7W zoe9LmsuGynA<#h09?iuN-C0-k%YF^kLVWggrvOWfzGke)Ztl?#{~=0VFtd1xv*GpP zKqh=D(lyP`bq}SQqSgFua}&S}K$}%eJhISY6LS_!dj1XHI|F(#h~G1}X6v(D6z)-xh$2Z!ZCKE!p?K zP^+G)95$gS9K2rqMdvErQbA2jruUGavLOasu%C0EH4CZBIw%tU5XPe=NMlgF-jCx3 ze=rv#&$n{s%1pKht`ks)7jRPR1~J=t9HZwjto=1DYJoc7;RV7%rxH>(ZH!N*ml`H( zuJp#*IM;f|>-_}i(#B+-y7whuPDS4pu(Anz`H~C;`SHK$VxHbf5YVvsA+Rv0tweS0 z@t7*}Ez@nxP~_;!8Nzxnm4aD{YlHEaLnNtrh$UgWFHB<+bUzARqs|V7@?V;^E+~|6 zI(!BX89tF%?r~m|mrPGPX9?0A1*sh2+3rAJ;!9sGr@C?|irxdCNcWdH2Xm$DdY zqfHFPZ`8Jf_E{Qm`k*JpNRh)(-FVF|3afXP8N@y>@trC2^wv`BM@X8BdIiU%&Xi5 zeqNYSry%Rs>_3!KIOB)jF`9jB=Alc@rhhMZY^$pqdXK%sC#KnI+|31A9FHrWVG9or zaAmssSrd%Ka*F{l2zEijcpHNOu6e=qPGoU|q6srBSY@3G1%X*4wUzpW&9Ih&P869Q zA(|3C*Dj_m_#TMWr$UN}+igqV6k5pUDb8!t*CQMfH7zW`UX|%pU%RJv!4a-`ve+Kl zy5Kd#R!Z2amwgY`bou^WBVb{2^FIkL=l_=AvYUV%AaLxmM|3Y(qLjVN zgKs&3%QX_BSM5|3fxK?wX!%A%`>Ol1_=^PDjjAa@9eL9jIJ3d>AmQmfqISuQ2c~_K zKQ|>=*E`Ajw#lWl_Ei~v!q(l32X-I(J=xS2gYi9s0pY%rCsfUIY)_#aN^;prsM_Fd zZV=&z3bB~a)aGGL@&VV;Q*yB+-O1A?G-#kNX-)L6B(#2Pa2>ysr78!!U$#0Twc5I5 z<9Z$dSnbbL-e!;vsDPzv03?`yAs2Y|Sg8+4*5Ns99Sz_1S2uynFv^_&7 zO2&PgZT}T7r{*8}7y?g9(3MHI=%}#74}!ByGQ1fFXya!AFa~jWu z94boFupmov5DgA&V$gN2u;)Ao>Zu@MVlDpfnGiBALyG0e5ZUCS_*)Xo822aN&_dbu0}qWE zzhzx1zmK!2`If#7uhd|!n_jL_nIZz_xA_af&B6GP3zu68uxZ%goAbCooNeu!wtbcu zR)F1;x``Y&lG#tMH9&$`Ox@kELXeIE>MO!6gs}fL@QZd5X8NxXzLGV?0UPF%FlOTW zHO%M5?;A-=$=HW?Z$LGWu|5(}`4=<;OVRu<(D|vCkvmo(XL14y9t!5HMhXg(ktH|U zwcb!-(xpKd6NFP_ZA3WdPMph;tlQTd8xx;glg>}{(^P*)%A==$D>auy#n@g~zwwp_ zmdAqX2}rc&oIl7qw`4BBS>Btk?88$^fG%3rA>{Z=hdQ?9+iy!(8xKYpq>$19^Buw7 zbOjW_N13c=YNN@2L~ewADcHh+58pt28t--#4ZVgCs-0aex)LysC#(aMzX{%V_q zk-uYS)2vTn4ih&*dT8I`ef_(1K8!ua9?FD-IKTo}p)81lnta@`?MVhSWl&otzigH? z2C>1kg&T4{AAVG|FseQ~c+*b$0nD(hAD^a`H>L@FNHd-~_5ur^{Ezmxc!70);O%pL)#a*hqUJkq!5y_!Ox};M|q!Ezr9O-W9p@*TnOF%jux_cP98(!|`>vM0<_I_DE z;k?#$tn=7+c;0D%md23CY3D+!^7@@H?91DZAexhK7f~J;tkd_7i9*%p1$(&ZrAO4~ z8S#5(!@}iI>B`u7_w6Yj##26_{YiMzs3PyP-Uc8q=_HL-q8I4l94B zs6uMyN&tc!e9y)fB-~$jk=3H33^{%AAi{0IXXv5)rn}9lh$r31qcfzsRSUJ1xVy$9 z(xYyrVy%F$JI=2jQNO3leg&aSY;Yu|aD6>Si5K%Fo22BGMLDdHa?jg$!9Qu*SSq!m zv(>efZM&=Aukk;@Z2Nx}x)$vITXFZUg^{e;yKxobjB9!bH+w|jffFdRSMCF&E1_SN zk#pjTeS6oz;oM>j=ZQB)+2ZI)nc(BPicQxC;6=nmdX_d`(B8N_p3;trM6@z~-QKu= z^5{iOV}vP``n*q+Zo{EtWo|((sNt$3a5dUZPs!Hiom3Wk&Ftn8eW436gJzZ>D)&5X zW=DL^<4w{PZ6NSDuJpPSAG@_cC_N(|@9&gjSJfcpbKNv8fC@%2X2)rxw6Os>&`}|1 zV(blyQ_rLnQ&`>0oFAmNUY&PPJFdBqG?7#x&#i;9^Xu2!Bi&z15L?1~=K9!iyvqierr!&Ir zEM3E^PCJiOD95$7PACcT)kS;Y-|+g~*NB&x*xQcVQ`=QMB5U>cnbnd`!EH-thEbP? z;^_LV@wsAkOUPj+h#e)rm8*V`sYGzTYA30zEeTfD?BI&jdHd3A;p{jAkmMuhN=Asr`h^V!yWwoOYkcSw!YlsxZ%Z) zYHvpB#Xq#dn{UwrV>h}{U(wv5p^YZdN@HZ!Nx=de)^9#h*jk4biYVHul->qhyqdRL zql*o&Z+s@impmGmvm*Mdp?Y6+TdX1yBd_}ZierkOSR?zov`K`!`+4gu^CH}!$Ho|* zaCw+zo4P3P;lPy?2kI-cGOn=}(*584W{A@W|6t@TBv(j-5j!*z>*>k=yV=p>WV|F| zwXR?flR*@@#6SFY?={u&$LfLbQsA?d9^%nZDzBh?3Ljo0M#=_bO8ayU=(-^oohVfS zcC54W3KFumxQn-Rc%$;j)g3SCvz0>|z>$O2apdBztOqps_1&t|{_`4yKaAVcv&>@u zJ_yMtE=?k|od8}P1+axK9nVP^0joo`{Z>{w+54IR$iJVx&qGhm^$R- z&krAVd7o2s2|^PaozUZ=buXi@MXu-Y93@@E;NJTl!>I8Np6TZ87>#gYGye1$c$&$a{C(#t?gZnZ3_0+oK?UU7PhQjq9cP&i2fB*fhPztM z5$o7@S--s-0Ei&=Ci$?Oy9dAxU{^u#Jz}jqiDnCz56%M?1d`jbW5)6R> zUf}mzaI$);f2{|7ZOyhmqE8t}%G;hDw~!rk4sF9uTG?n1Q98Xko+@q4sFU3NE|v9X z)Z*f=ofWnocW^ZUR^P()pNBEEewQ|>tj(k)HrlLB zN5_W|4>B1%tJzak7`%BJx6_Bkthfuzr@=zTEWsfU;Ii`Z;QH^F1RiBbBCovhaJ`0r zLo&6?Cy5=jxfr4M1zbr&ei>pm{k3dcI744lfF%z@PQE(01K|UKK3YCB(P|EhPIN$~jBX3A}b&m^403p50TQOQ|bHPie1i>1aMxPVUX+ zIZN5>*S&KJI%1~%Z4hwn%(U+Hcgk*-u{;qNI}pN76=V{dgD6Ujm~r;b=V ze9k5|sQ(t^95rr40}ucA(Lt_Gt~Wno`~%GUINrzWoC;1ZD}G7YV|OFJTra*N=>Dzv zZG`CK$;Y9tHH_{%fA(p6$nR%5<(R#%xaN%vl2HtVc|{)zKA2((rmbmQ6;9Z(h@Swx zRL1k%iRb_a+YQj2d3Jz)s(;lLf;$}W79Si5`0WZ5iPlBay%n4@by(@r@{9g4#OsQ1 zX6m5$amT;yTC0&ao$CGSWIo|#HlerI80!yX^KSNHaR*Hhu77OZu$}5ym8>q8lk*^e zPJ)($=kkenQ<)ZwDKgFIS!GHUi8VA1p>JZGQegfiis>_sH==bi<&4z^xacc_`%Q~YqH?xZYQ}`TwG8l%Qa>8xIYHw-U0W)m2k9PMog;1ky=8j^F$2 z9m~W&(RnEZx59>3;E<|<>nq^RB39_r-2En9s5LtmFWO4vQ4OrrUT-0;_kG5W@t6Oh zOusl^(N{9mQd$;rj8brFJ))x9?6e*Go3?X-Xx zM@rDexZ(T<9$qt-4aY%F0y<=#jQMjn<^Jy~)WOJ%KYyY=%lsB5cEKqgY2IA3Y3FoC zW3z(J>>IzU9DM8viFT6Wg2&iL#ssM4;~l-|;6d*{*wP}qT>_RSk`2zM|H-;LY@oas zWy7#u5&2ER?B0u_sni{At`x7~X`5}!LTF>VZ4nlKc5V+J&C7bMPPe>tY$KFJ?b7Y> zbU1}4??vwv+TB%QL85@9ihgt4nVL%+A^E0VoP2v<99?YCK@Ev#;!<1R7}?a*9<@K;0@UKEnFg>@uJi7894a~VT|OYW(TpIZjI&~*MY_@HV~N|{zL{H7%$JcxvHKjUG=>X6X6mksOu`ytd4S5qj6z2c^GJG z2}m|zeIcwJo>jk!iSWz!#v;=bW|Tcc#ZHO-S&EHtD47W??=`}gD{utn_DEssYX08! zA};ZDY$zCGH%`@TppWMDsjIOw-t>h30v+QIyu9}gS_Cp8K?#T8lro;$Yti%RSA zPscNXZC-y5j^7@aYh-TM@U=PXYPsp9v64;n4c*`ZOpIY-JTNPF&cldhpK>3Gt@X%} zNhTE(qnA}0t!I{Nn6=gHW4c~M%?txZ-~3GbC`Ek`^C!;xDhh5;U;Imj&P6gLy+#e{ z!JWWacJ^+^r*q1u56?>reUxsC4*&bOUwVUUE2ickU}?fN&>c+soH;#N4-CtPJue{? zFs&&_3qY4o=q~bHHplM3g!N-gx7r_v)Ph87V|vj;!X3t2P9B$+H(oC3=M!b#+ec;l z(Z8d#9zB^+OQ@&fM$69bkRmDyJfrW)dGo*n{q|v=HbsKt*2#`H<{10g(PKT6eJwdT zXGB?p*|z_j4r@P%^DcA(Q?fm>I(#?1vhYTpk-5chIEe0?h6O%LP&@7NO9{!}Fk5=P zf5&#f!&>{9ayJ0a0A)s4Zg{vvVE0RFgB$j`)L(7t{s=Lv-x<7~;)0epvF#auW&7QaTB^upIXZ~?TbI~)vi4)B_ zYcK=M#q$9>*S&K?L#H~zMT(Ey&2-WmxTGbANe33P5QzC#?62D-yB>9pUF%^rrRO!+qqUBf)H(s6cG?CbxMT<|;ehG1jQSws2W`K-yIP5{buI=c?K zQ=g4S8|wCSXSxDqyf2Q(2~fat85D9 zK-&@b#n86de_j6nazi6+`f9Q8W3Mcy)#x+7L0OrNOM8;e7b}2cFF)A`))Gi%viF2{ zxc$0wc|aovYGygjP(d894R`Qbs6C2{0t%5DZ+q?`x2Dnr9&I&gBW{e){0GITi42L$ z*jTDh0ycRve-3#dVnaNgyS6=C-;6|O5h?WfJ>w?Q%nU}s zZ+RFXj(oHy)WT6$$Oy} zY`Ch)rLPDoEcY5?D3?hjVOhcKB4Tb5OEQSH=&gz-FiF;`X~JTVMTBOKi1C{KrRDC2YBc-wA7GQ@BNc zxIFHKqLWH=CRTt8D) zH07;8{lU{Uhz%9o#}EA=wh-3yinRGIE%nzzI`hT}Y}e}$uoT174=xc(ndDoi2b59% z)b$f|&)YMW!Y8F9q;W$wwMYGmaVq!}Pil7+QZT=m(7~7^teFEYvf~0#-1eV66vHVJ zoxKk;N-hoUA5v$i!p9s$L9~A0bUaQke-k{8{p*!e!7sQ$hkLPVL zbU4d)SX+YlB6{>Of0ImO0H<|Z4k>TM^$v-XhxnEV zZ6-&(d0(Y4Vi)J;GsbiWnp3=ev4ds{vd)N8zE{FuX_SUu#bcXmHLc1Q*J=th3^w0M zTMC8c=n!z69pE4KqRHDesl^gHpfPQkejRNEBT6B!dT~Aj++5Eu-3k=_%*gvpljp3q zo)kQBWHbW=?26AZt_)U6c!r1bRpoUx|6pEg5m@~GruldLv$XG^#_X7&bEPjp%d`)N z%Ldk+fXN`EU>U+2e_Lb=es4=J2YzC0{8nx4C>`I%?1xdbi2Ti(=d#@=jy zLo`*T24AAml8k~+oavF(9u-^(Ickn_V)M>i^q+kzo0O;&V!Er1Zb?fZ&-oaZLS9Ll`Zy!BXKY`jljPlL zHvPuBx3Qpi8dRnAps`~MKVt@sS`FE56C%RX{AK_fVC=*BBfaIf7U{GGXlX~yCdd;w zrA%YJo}h;rAyguL+D@zzj=l3mb3CnNY|u^t9cN#HV1&XU79 z6@*VDJD7?&e#qoT@`W;|((*MnKNN?_%ksszVU&N)h4;^kt8T% zU^0;7N-1UHm9#b(_0jEZOSFX(S4YXA38D2qrnpgG(cQ7jF^;cB2#K|i^UE=jw(kWs zF`*kZtk!`A$I+HWoR1$iP_)fnOgk>ktahHYTLCP7@H|KdX?ML-(W!p*aQ^yM6a|2R z*J1G7V?V*wkx7~=RUcjn?dNS)Km_vcMS5dFWg28J>_+Kp^;i;)l?iwlI8Z<)c`CGGp5^O|fn|;^Qs`E5@Bl zp`{vbx?8k!kJV^ZquqFoV0i9|u8;Hdd2MH>b}?E_;q@-0PO;l3m&V;at4H^%(l-rI zNcqJ}W3lu-QzXb|KqSvPwR_EbsU-ot5TVL_%pERy;vbD9)E~Ie!?iCe*+OzH(KGW! zhX#|2mPUm=*zvt~B!`L1ELB-9q6kQg50h6K=wxt*-p^=t#sS`5(FEt0$&ulGTFK=J zb)spI6`4k{Np=2e?ul)wbY#kGY-NISS?c~l0JXiByvo1 z10(SK&-qu)U13AsU-hrMUpj9DH4#&ZHTX74sb6-zD^sPT1Co6-iy`>nUSk0wxzfLUj`uOf|Cw;OE zlFC7ABq4Pjk*>JG5K^v>0xTJmpEY-;tGMW8PW#ZgMiIXMk*C%X|3hIGN5g0Yp9>{Q zY#I>uD9#kN107F;c@I=pa-k=2ldgR_*R+UIs9GwCF!gg>NlnYrG5f|dOGnnf_*+hb z{gZ6Fe?i)>h$PKtH&pi2`&!$#japilx;UjfzNRW;-o_yqxbjmNIT4-q8n1>#8@BH< z*Yjr|DKMFh;55Mb&(N(8q2UHuETXDRJPAA&e&!0N`E3$k+Y_H6K?`?l@H>$H1r1Q-vIvnND zA$;Ki_r;^a3Yw{N7nK42+*-32PPqf{)3mO~QE2Ri^RA#m6kN<1+jM6gF?8pBURm^t zRfFp1ZBo@scnKz}ObRS-W2#Hi=IVbU1>fg-?|;o}frr;ERpa9;yn;qBKC#?%3H57< zRgCx8j)JxE5~QitL*7wW?t5Gg`U+lv*3{otyi2Rwj;|itw?v}u9CGyiq=ams5{TjHVs!k`eN*y zKOptU5)|tUc)^6>Oo}h_>*y;<@uF`#K{2EU59>G{OQv zqf|8cymUOmkL6h1-M$sa$Ps@d^wBQ5wXOO#n%#L5nKMV2y6`vpF9LfddMqiB{Jb9e znXOmn@)U#Rhe}iUQ?BdJAo(c|*X@Pq`oXdKCtG95gYVy_>Ii75J}>D2l)K$8h)=r;7@|E!l{(xzpPPMw^@opng_BHHoO7( z$@~J|N2OHmnOFH-Uk{ChKfC)&HK{Fg?Zz|?QM$Z<;ar2&Jj{F)2Ob&{e0f(a5dx1d z5;#A$S>Swt&J1Kd9zuxEMAb^7f9wkE8mM_80HSl8i^Q5Khbh}nt7*nTk9u_-av3iYP9$lxOm)}7aYEAaTu*6^3 zeayp<#1?)g=ti_J`j1g;CsHWb^}PGl6MF$1jKzgXFwA*|J%j(4vTVLPHF1_@%{UO1 zD!rcD-06>mX!90GXLn#T?h+b$_Gg5QRaB zjK;%6yC=Mg4zm4~q_q=1x`F?pRZl7O*T91Of`PB^lfEujEePNhYk27cFH)Nwacb(jSc*<6aD6HphCxY?Fbs;tNza zh}VaWMHe&=cWO_bl5`-YTr{j~`NgX?HP0>?pR5{n^lOk*erRoq9mDamw_nc>O3`fJ z$*RLzAVqjX#NmgjNuMho*q+IKa8fTayC6bw1R`nkK^P65iXEyzC3vk5Y-S585cDGK z!l)fnV_E(O13DkfSd;6skSI?dvS)ZLQd+(v-cLV$!oj|Qr$OGD11e-i1?J0dN+?kkQ=>waDz^MJP9h1cHpt2A?fyZ7=Q;+bc!4HSiB ztwom9xu^zb&;hBDq^#OT1KBBt@*>(G9jjhL@kh_;g9Bf4Ej`m8O~N@87r01Mv+(=O?l2tLMeC{~FsqCkZQ2eh)i- zKJEE~vx zpNhdMk9b>%>;W3F@zwIx=nWjO=%sJvrq7H|^h!@^Uy<OG+84S!hR#3uJ{W(mCN}mnX{S^@4|r9Q1-c8YTU_I%0W@wzHCxKubukOeM*8lv1TB)&`AH=dg|H;OB(Ak*01e5 zuZhdpET4ssDwqXqN+MQkTfFg41*dc_34LAmqNaV36t!Eahz!u5z-qV=xZN$*2SPZt zaJD{9mtNYe0YV1+%~ea|%hH>P#07faW-a6gYoL>Ie3twq8L+j} zoHtq>$_KR#2iKzt(K+R-lk$zp$d|76vmRj8%U@=vZI^Ob8fySYg%2SC)f!6}E?!ei znNGix=ipz(oVEdpBX3H!$VCPpCjj18FEW{^o^ywNgLLV@jpOXeo*0U|i5$cFm&v9S ziYoRVM<#5)O)+H|b``d{$(_OA6v_JCW0#zDXpZYVucpjs@ep=u`0gvELCgjHGJbn zDx3*727tGU_U2;*>1DKfb~p8v!WSn^rYJg>TLd5TfmV0c2die#7{#{v;)V7;9Q^*4 zVuf_A6XTWQ5DaJP-7PApc-Dz2@P5`wFz?+32GP=W~QopxJe^Z5B zmvz*GtS@wcktdRF)mL)+EXVlh>|aG@t&du8xtuji5jsFx*d&i)-Qf8PwL;E2hd;hp z%myLm4{9-hWk8S^Ehi{M1lkFqYCwEZ7>xavjrI3^g^J3+9No=>pi(WNr*%cGFsBXK4)tKPtr z>@lt;UtQ8XyH6rBlt)}wj4XsTFo4%D@Qf?mJPr-OA0942RrXy;uwN3!%8xK2c8;hL zgYuB;Xp32H)l{#6Gy^1R1P&|cJX1B=?I|qjGM5~)Swnk-0J#nY=r%mdMwQ_OWif~^ zmtd@+g30J9g;s3nH=kq4Cx3#h`VfHpJR$5B3Gufng=UdfP6d}!(T`s!y>dx)n8ES3 zsqv{OmWk>GFMV76nu5}-pOv#6NByP(pxnNX-us2Mx}j3XooTB38(=o)y28D5-_6=z zvjIG5z)r-?<2Dt*i9JeIZP$3z^fm6^%s&*`hPjEZdXeVJZH&Ru(ic#uix=c0m%Wpx zm3MYtf9&2~DNm?7{){DkUYAM<)(*bSb5q``O^sy6F!oVP8S7R)7p}+kpTIWq{|apL zacx&43R)M{JFah3s=5Y(MIB!sY(xCP1dpx0PnH$W?y`x3pm|4xOp)V>gzwE+kboSL zR$Aa`s27!KiGso*BR%?smQZav82d3uIYT=U$MNC*ujq^o!|rzDvT=rlm5^v}yQ6PD z){-ONXYJ-h?*~p$ieLGa6W+7X?a^=-T$23xQ(|#;7TLd?ZFXtksMv2i?p?UrlhSjArVvbe)IUYMiH|9?qZXyw{3D+pqR1cXqHU*}ujV19Ae_dK z`Zl%gOQwpe$X{+uLWH^Ua=tp)G4ob;t3Xm}CqQHJMz)9~V?QBsGxwOhbr>`#4B?`- zmZYuG#shRjb516l442luS9tOtC5rJMEi;)*>>4ehc}M6Bs4+#86f9OGkfQ

<1He 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 literal 25294 zcmcG#cT`hdv@g1L5+L;6I|zuhC@6>&6#z0qL+6 z1Qlsgr3OTbfPhGEH+Hnz3-p<-pCjkYp={T``Y_A=U$1uY@kg~!$SiApx3#0 z;VJ-BFaYQnESfyCa;nⅆ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 From abd23fa2aed04befd2be35d1d5d6483579d13e28 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Sat, 10 Oct 2020 14:31:12 +0800 Subject: [PATCH 35/37] update 1.4.1 version --- docs/WeBASE-Install/visual_deploy.md | 3 --- docs/WeBASE/install.md | 10 +++++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/docs/WeBASE-Install/visual_deploy.md b/docs/WeBASE-Install/visual_deploy.md index 01c35be1..c1c15824 100644 --- a/docs/WeBASE-Install/visual_deploy.md +++ b/docs/WeBASE-Install/visual_deploy.md @@ -11,8 +11,6 @@ 在进行可视化部署之前,请按照部署要求,准备相应的部署环境。 - - #### 系统环境 ##### 硬件配置 @@ -273,7 +271,6 @@ http://{deployIP}:{webPort} - 删除节点时,节点必须处于停止状态; - ### 常见问题 diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index 67ade23d..ffcce995 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -83,7 +83,7 @@ Python3.5及以上版本,需安装`PyMySQL`依赖包 获取部署安装包: ```shell -wget https://github.com/WeBankFinTech/WeBASELargeFiles/releases/download/v1.4.0/webase-deploy.zip +wget https://github.com/WeBankFinTech/WeBASELargeFiles/releases/download/v1.4.1/webase-deploy.zip ``` 解压安装包: ```shell @@ -194,11 +194,11 @@ node.counts=nodeCounts ```shell # WeBASE子系统的最新版本(v1.1.0或以上版本) -webase.web.version=v1.4.0 -webase.mgr.version=v1.4.0 -webase.sign.version=v1.4.0 +webase.web.version=v1.4.1 +webase.mgr.version=v1.4.1 +webase.sign.version=v1.4.1 # Docker 镜像版本,默认不需要修改 -fisco.webase.docker.cdn.version=v1.4.0 +fisco.webase.docker.cdn.version=v2.6.0 # 节点管理子系统mysql数据库配置 mysql.ip=127.0.0.1 From 69015de5b1a974cd0ed18e4454037e55deeafec7 Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Mon, 12 Oct 2020 16:45:07 +0800 Subject: [PATCH 36/37] update visual deploy url & version --- docs/WeBASE-Install/visual_deploy.md | 24 +++++++++++++----------- docs/WeBASE/mirror.md | 7 +++++++ 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/docs/WeBASE-Install/visual_deploy.md b/docs/WeBASE-Install/visual_deploy.md index c1c15824..39481ae3 100644 --- a/docs/WeBASE-Install/visual_deploy.md +++ b/docs/WeBASE-Install/visual_deploy.md @@ -314,8 +314,8 @@ yum localinstall containerd.io-1.2.13-3.2.el7.x86_64.rpm #### 拉取 Docker 镜像 镜像版本: -- v2.5.0 -- v2.5.0-gm +- v2.6.0 +- v2.6.0-gm **提示:** - 最近的镜像版本,请参考:[https://hub.docker.com/r/fiscoorg/fisco-webase/tags](https://hub.docker.com/r/fiscoorg/fisco-webase/tags) @@ -326,12 +326,12 @@ yum localinstall containerd.io-1.2.13-3.2.el7.x86_64.rpm ```Bash # 检查本地是否有镜像 -docker images -a |grep -i "fiscoorg/fisco-webase" | grep -i v2.5.0 +docker images -a |grep -i "fiscoorg/fisco-webase" | grep -i v2.6.0 # 如果有如下输出,表示本地已有镜像;否则表示本地没有镜像 -fiscoorg/fisco-webase v2.5.0 bf4a26d5d389 5 days ago 631MB +fiscoorg/fisco-webase v2.6.0 bf4a26d5d389 5 days ago 631MB # 如果是国密,版本号会带 -gm -fiscoorg/fisco-webase v2.5.0-gm bf4a26d5d389 5 days ago 631MB +fiscoorg/fisco-webase v2.6.0-gm bf4a26d5d389 5 days ago 631MB ``` * 如果本地没有镜像(如果本地有镜像,跳过) @@ -341,9 +341,9 @@ fiscoorg/fisco-webase v2.5.0-gm bf4a26d5d389 5 days ago 631MB ```Bash # 从 CDN 拉取镜像 tar 文件 # 非国密 - wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.0/docker-fisco-webase.tar + wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/docker/image/v2.6.0/docker-fisco-webase.tar # 国密 - wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.0/docker-fisco-webase-gm.tar + wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/docker/image/v2.6.0/docker-fisco-webase-gm.tar # 解压镜像 tar 文件 docker load -i docker-fisco-webase.tar @@ -353,14 +353,16 @@ fiscoorg/fisco-webase v2.5.0-gm bf4a26d5d389 5 days ago 631MB ```Bash # 执行 Docker 拉取命令 - docker pull fiscoorg/fisco-webase:v2.5.0 + docker pull fiscoorg/fisco-webase:v2.6.0 + # 国密 + docker pull fiscoorg/fisco-webase:v2.6.0-gm ``` * 压缩镜像到 `tar` 文件 ```Bash # 压缩镜像为 tar 文件 -docker save -o docker-fisco-webase.tar fiscoorg/fisco-webase:v2.5.0 +docker save -o docker-fisco-webase.tar fiscoorg/fisco-webase:v2.6.0 ``` * 发送镜像 `tar` 文件到部署节点的主机 @@ -384,9 +386,9 @@ docker load -i docker-fisco-webase.tar docker images -a |grep -i "fiscoorg/fisco-webase" # 如果有如下输出,表示拉取成功 -fiscoorg/fisco-webase v2.5.0 bf4a26d5d389 5 days ago 631MB +fiscoorg/fisco-webase v2.6.0 bf4a26d5d389 5 days ago 631MB # 如果是国密,版本号会带 -gm -fiscoorg/fisco-webase v2.5.0-gm bf4a26d5d389 5 days ago 631MB +fiscoorg/fisco-webase v2.6.0-gm bf4a26d5d389 5 days ago 631MB ``` #### 手动下载 TASSL diff --git a/docs/WeBASE/mirror.md b/docs/WeBASE/mirror.md index 77d668ac..f7186691 100644 --- a/docs/WeBASE/mirror.md +++ b/docs/WeBASE/mirror.md @@ -27,6 +27,13 @@ https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/{r 支持下载`sign, front, node-mgr, web`子系统的zip安装包(全小写),暂不支持webase-transaction的安装包下载。 +*注:可视化部署中通过国内镜像手动下载docker镜像的路径如下* +```Bash +# release_version为FISCO BCOS版本号(非WeBASE版本号),如FISCO BCOS的v2.6.0 +# 国密的镜像包则是docker-fisco-webase-gm.tar +https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/docker/image/{release_version}/docker-fisco-webase.tar +``` + ## WeBASE文档 WeBASE文档使用readthedocs管理,全部开源于[https://webasedoc.readthedocs.io/zh_CN/latest/index.html](https://webasedoc.readthedocs.io/zh_CN/latest/index.html),同样提供国内镜像文档[https://fintech.webank.com/developer/docs/webase/index.html](https://fintech.webank.com/developer/docs/webase/index.html),*由于网站资源更新周期安排,国内镜像文档更新会比readthedocs有所延迟*。 From c5e848d19b657033eef1ca78afc2e6796a25864d Mon Sep 17 00:00:00 2001 From: codingcattwo <847701726@qq.com> Date: Mon, 12 Oct 2020 18:58:16 +0800 Subject: [PATCH 37/37] update devided by webase version --- docs/WeBASE-Install/visual_deploy.md | 4 ++-- docs/WeBASE/install.md | 3 +-- docs/WeBASE/mirror.md | 7 +------ 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/docs/WeBASE-Install/visual_deploy.md b/docs/WeBASE-Install/visual_deploy.md index 39481ae3..6ec562c8 100644 --- a/docs/WeBASE-Install/visual_deploy.md +++ b/docs/WeBASE-Install/visual_deploy.md @@ -341,9 +341,9 @@ fiscoorg/fisco-webase v2.6.0-gm bf4a26d5d389 5 days ago 631MB ```Bash # 从 CDN 拉取镜像 tar 文件 # 非国密 - wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/docker/image/v2.6.0/docker-fisco-webase.tar + wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.1/docker-fisco-webase.tar # 国密 - wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/docker/image/v2.6.0/docker-fisco-webase-gm.tar + wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.1/docker-fisco-webase-gm.tar # 解压镜像 tar 文件 docker load -i docker-fisco-webase.tar diff --git a/docs/WeBASE/install.md b/docs/WeBASE/install.md index ffcce995..c44c70fc 100644 --- a/docs/WeBASE/install.md +++ b/docs/WeBASE/install.md @@ -197,8 +197,7 @@ node.counts=nodeCounts webase.web.version=v1.4.1 webase.mgr.version=v1.4.1 webase.sign.version=v1.4.1 -# Docker 镜像版本,默认不需要修改 -fisco.webase.docker.cdn.version=v2.6.0 +fisco.webase.docker.cdn.version=v1.4.1 # 节点管理子系统mysql数据库配置 mysql.ip=127.0.0.1 diff --git a/docs/WeBASE/mirror.md b/docs/WeBASE/mirror.md index f7186691..3cbf2e8f 100644 --- a/docs/WeBASE/mirror.md +++ b/docs/WeBASE/mirror.md @@ -27,12 +27,7 @@ https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/{r 支持下载`sign, front, node-mgr, web`子系统的zip安装包(全小写),暂不支持webase-transaction的安装包下载。 -*注:可视化部署中通过国内镜像手动下载docker镜像的路径如下* -```Bash -# release_version为FISCO BCOS版本号(非WeBASE版本号),如FISCO BCOS的v2.6.0 -# 国密的镜像包则是docker-fisco-webase-gm.tar -https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/download/docker/image/{release_version}/docker-fisco-webase.tar -``` +*注:可视化部署中通过国内镜像手动下载docker镜像,文件名则是`docker-fisco-webase.tar`或国密版`docker-fisco-webase-gm.tar`* ## WeBASE文档

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