From 310fe75d9068feeecf8d0e7b83479b270d77be41 Mon Sep 17 00:00:00 2001
From: linju <8432241+linjuDcloud@user.noreply.gitee.com>
Date: Wed, 7 Apr 2021 11:40:46 +0800
Subject: [PATCH] 123
---
common/appInit.js | 2 +
components/uni-badge/uni-badge.vue | 153 ------
components/uni-clientdb/license.md | 30 --
components/uni-clientdb/uni-clientdb.vue | 377 ---------------
components/uni-forms-item/uni-forms-item.vue | 437 -----------------
components/uni-forms/uni-forms.vue | 420 -----------------
components/uni-forms/validate.js | 442 ------------------
components/uni-icons/icons.js | 132 ------
components/uni-icons/uni-icons.vue | 67 ---
components/uni-list-item/uni-list-item.vue | 440 -----------------
components/uni-list/uni-list.vue | 106 -----
components/uni-list/uni-refresh.vue | 65 ---
components/uni-list/uni-refresh.wxs | 87 ----
components/uni-load-more/config.json | 10 -
components/uni-load-more/readme.md | 48 --
components/uni-load-more/uni-load-more.vue | 359 --------------
components/uni-popup/message.js | 22 -
components/uni-popup/popup.js | 25 -
components/uni-popup/share.js | 16 -
components/uni-popup/uni-popup.vue | 296 ------------
components/uni-section/config.json | 12 -
components/uni-section/readme.md | 30 --
components/uni-section/uni-section.vue | 136 ------
components/uni-transition/uni-transition.vue | 279 -----------
manifest.json | 68 +--
pages/grid/grid.nvue | 8 +-
pages/list-news/list-news.vue | 6 +-
pages/list/detail.vue | 8 +-
pages/list/list.nvue | 6 +-
.../uni-analyse-searchhot/index.js | 98 ++--
.../uni-analyse-searchhot/package.json | 28 +-
.../cloudfunctions/user-center/index.js | 418 ++++++++---------
.../user-center/package-lock.json | 36 +-
uniCloud-aliyun/cloudfunctions/user/index.js | 188 ++++++++
.../cloudfunctions/user/package-lock.json | 58 +++
.../cloudfunctions/user/package.json | 16 +
.../cloudfunctions/user/user.param.json | 14 +
uni_modules/login-page/readme.md | 1 -
.../login-page/static/login/img/qq.png | Bin 9416 -> 0 bytes
.../login-page/static/login/img/sinaweibo.png | Bin 13509 -> 0 bytes
.../login-page/static/login/img/weixin.png | Bin 5286 -> 0 bytes
uni_modules/uni-clientDB/package.json | 6 +-
uni_modules/uni-clientDB/readme.md | 14 +-
.../common/uni-config-center/index.js | 1 +
.../common/uni-config-center/package.json | 9 +
uni_modules/uni-data-picker/readme.md | 2 +-
.../cloudfunctions/common/uni-id/LICENSE.md | 402 ++++++++--------
.../cloudfunctions/common/uni-id/config.json | 9 +-
.../cloudfunctions/common/uni-id/index.js | 2 +-
.../common/uni-id/package-lock.json | 28 ++
.../cloudfunctions/common/uni-id/package.json | 9 +-
uni_modules/uni-list-detail/package.json | 2 +-
uni_modules/uni-list-detail/readme.md | 2 +-
.../uni-list-news-title-image/package.json | 2 +-
.../uni-list-news-title-image/readme.md | 4 +-
.../changelog.md | 0
.../common/myStyle.css | 0
.../components/auth-btn/auth-btn.vue | 0
.../login-action-sheet/login-action-sheet.vue | 0
.../components/login-ikonw/login-ikonw.vue | 0
.../login-short-code/login-short-code.vue | 0
.../package.json | 8 +-
.../uni-login-page/pages/index/index--.nvue | 128 +++++
.../pages/index/index.nvue | 0
.../pages/index/phone-login.nvue | 0
.../pages/index/pwd-login.nvue | 0
.../pages/index/pwd-retrieve.nvue | 0
uni_modules/uni-login-page/readme.md | 1 +
.../static/login/img/apple.png | Bin
.../uni-login-page/static/login/img/home.png | Bin 0 -> 2637 bytes
.../static/login/img/homeHL.png | Bin 0 -> 2196 bytes
.../uni-login-page/static/login/img/logo.png | Bin 0 -> 4577 bytes
.../uni-login-page/static/login/img/more.png | Bin 0 -> 3037 bytes
.../uni-login-page/static/login/img/qq.png | Bin 0 -> 62363 bytes
.../static/login/img/sinaweibo.png | Bin 0 -> 4513 bytes
.../static/login/img/univerify.png | Bin
.../uni-login-page/static/login/img/user.png | Bin 0 -> 4793 bytes
.../static/login/img/userHL.png | Bin 0 -> 4214 bytes
.../static/login/img/weixin.png | Bin 0 -> 2421 bytes
.../check-version/check-version.param.json | 16 +-
.../cloudfunctions/check-version/index.js | 212 ++++-----
81 files changed, 1148 insertions(+), 4653 deletions(-)
delete mode 100644 components/uni-badge/uni-badge.vue
delete mode 100644 components/uni-clientdb/license.md
delete mode 100644 components/uni-clientdb/uni-clientdb.vue
delete mode 100644 components/uni-forms-item/uni-forms-item.vue
delete mode 100644 components/uni-forms/uni-forms.vue
delete mode 100644 components/uni-forms/validate.js
delete mode 100644 components/uni-icons/icons.js
delete mode 100644 components/uni-icons/uni-icons.vue
delete mode 100644 components/uni-list-item/uni-list-item.vue
delete mode 100644 components/uni-list/uni-list.vue
delete mode 100644 components/uni-list/uni-refresh.vue
delete mode 100644 components/uni-list/uni-refresh.wxs
delete mode 100644 components/uni-load-more/config.json
delete mode 100644 components/uni-load-more/readme.md
delete mode 100644 components/uni-load-more/uni-load-more.vue
delete mode 100644 components/uni-popup/message.js
delete mode 100644 components/uni-popup/popup.js
delete mode 100644 components/uni-popup/share.js
delete mode 100644 components/uni-popup/uni-popup.vue
delete mode 100644 components/uni-section/config.json
delete mode 100644 components/uni-section/readme.md
delete mode 100644 components/uni-section/uni-section.vue
delete mode 100644 components/uni-transition/uni-transition.vue
create mode 100644 uniCloud-aliyun/cloudfunctions/user/index.js
create mode 100644 uniCloud-aliyun/cloudfunctions/user/package-lock.json
create mode 100644 uniCloud-aliyun/cloudfunctions/user/package.json
create mode 100644 uniCloud-aliyun/cloudfunctions/user/user.param.json
delete mode 100644 uni_modules/login-page/readme.md
delete mode 100644 uni_modules/login-page/static/login/img/qq.png
delete mode 100644 uni_modules/login-page/static/login/img/sinaweibo.png
delete mode 100644 uni_modules/login-page/static/login/img/weixin.png
create mode 100644 uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/index.js
create mode 100644 uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/package.json
create mode 100644 uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id/package-lock.json
rename uni_modules/{login-page => uni-login-page}/changelog.md (100%)
rename uni_modules/{login-page => uni-login-page}/common/myStyle.css (100%)
rename uni_modules/{login-page => uni-login-page}/components/auth-btn/auth-btn.vue (100%)
rename uni_modules/{login-page => uni-login-page}/components/login-action-sheet/login-action-sheet.vue (100%)
rename uni_modules/{login-page => uni-login-page}/components/login-ikonw/login-ikonw.vue (100%)
rename uni_modules/{login-page => uni-login-page}/components/login-short-code/login-short-code.vue (100%)
rename uni_modules/{login-page => uni-login-page}/package.json (91%)
create mode 100644 uni_modules/uni-login-page/pages/index/index--.nvue
rename uni_modules/{login-page => uni-login-page}/pages/index/index.nvue (100%)
rename uni_modules/{login-page => uni-login-page}/pages/index/phone-login.nvue (100%)
rename uni_modules/{login-page => uni-login-page}/pages/index/pwd-login.nvue (100%)
rename uni_modules/{login-page => uni-login-page}/pages/index/pwd-retrieve.nvue (100%)
create mode 100644 uni_modules/uni-login-page/readme.md
rename uni_modules/{login-page => uni-login-page}/static/login/img/apple.png (100%)
create mode 100644 uni_modules/uni-login-page/static/login/img/home.png
create mode 100644 uni_modules/uni-login-page/static/login/img/homeHL.png
create mode 100644 uni_modules/uni-login-page/static/login/img/logo.png
create mode 100644 uni_modules/uni-login-page/static/login/img/more.png
create mode 100644 uni_modules/uni-login-page/static/login/img/qq.png
create mode 100644 uni_modules/uni-login-page/static/login/img/sinaweibo.png
rename uni_modules/{login-page => uni-login-page}/static/login/img/univerify.png (100%)
create mode 100644 uni_modules/uni-login-page/static/login/img/user.png
create mode 100644 uni_modules/uni-login-page/static/login/img/userHL.png
create mode 100644 uni_modules/uni-login-page/static/login/img/weixin.png
diff --git a/common/appInit.js b/common/appInit.js
index b6d2054..9a78c28 100644
--- a/common/appInit.js
+++ b/common/appInit.js
@@ -9,6 +9,7 @@ export default function (){
}
function initAppVersion(){
+ // #ifdef APP-NVUE
let appid = plus.runtime.appid;
plus.runtime.getProperty(appid ,(wgtInfo) => {
wgtInfo.version
@@ -20,4 +21,5 @@ function initAppVersion(){
finall:appVersion.versionCode > wgtInfo.versionCode ? appVersion : wgtInfo
}
});
+ // #endif
}
\ No newline at end of file
diff --git a/components/uni-badge/uni-badge.vue b/components/uni-badge/uni-badge.vue
deleted file mode 100644
index 4291fbc..0000000
--- a/components/uni-badge/uni-badge.vue
+++ /dev/null
@@ -1,153 +0,0 @@
-
- {{ text }}
-
-
-
-
-
diff --git a/components/uni-clientdb/license.md b/components/uni-clientdb/license.md
deleted file mode 100644
index 2b0e438..0000000
--- a/components/uni-clientdb/license.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# clientDB使用许可协议
-本协议是数字天堂(北京)网络技术有限公司(以下称“DCloud”)与您之间达成的关于clientDB框架(以下简称本框架)的协议。
-本协议签订地点为中华人民共和国北京市海淀区。
-您使用本框架即视为您已阅读并同意受本协议的约束。
-
-## 知识产权及使用授权
-您可以自由下载、使用、复制本框架而不需要向DCloud付费。
-DCloud所拥有的知识产权,包括但不限于商标、专利、著作权、商业秘密、专有数据、源码,并不发生转移或共享。
-您使用本框架开发的代码及输出物,包括但不限于网站、移动应用,其知识产权归属您所有。
-本框架未包含第三方软件或技术,不涉及额外遵循第三方软件的授权协议问题。
-
-## 您的义务
-您不得破解、反编译、逆向工程本框架,不得破解或劫持本框架网络请求,不得对DCloud服务进行网络攻击,不得利用DCloud系统漏洞谋利或侵害DCloud利益,不得替换、删改本框架自带的非用户自定义文件。
-未经书面许可您不可利用DCloud产品的全部或部分文件、模块、组件来制作与DCloud争夺用户的产品(通过DCloud插件市场服务开发者不属于此范围)。
-如果您违反您的义务,DCloud将有权停止您使用本框架,造成的损失由您自行承担。
-如果您给DCloud造成重大损失,或者在接收到DCloud的停止违约通知后拒不改正,DCloud将有权停止对您的DCloud所有产品和服务的使用授权,冻结您在DCloud所有产品服务中的预付款项和应收款项,因此造成的损失由您自行承担。
-如果您的行为产生法律问题,DCloud有权追责您的法律责任。
-
-## 隐私条款
-本框架未进行任何数据采集、发送等涉及数据隐私的行为。
-
-## 安全
-您理解并同意,本框架同其他软件一样,无法承诺绝对的安全性。
-当DCloud发现本框架的任何安全漏洞时,将及时在[社区](https://ask.dcloud.net.cn/explore/)发送公告,并将及时发布紧急更新补丁和升级推送通知。
-
-## 免责声明
-DCloud不因开发者使用本框架而承担任何法律责任。
-
-## 协议修订
-根据发展,DCloud可能会对本协议进行修改。修改时,DCloud会在产品或者网页中显著的位置发布相关信息以便及时通知到用户。如果您选择继续使用本框架,即表示您同意接受这些修改。
diff --git a/components/uni-clientdb/uni-clientdb.vue b/components/uni-clientdb/uni-clientdb.vue
deleted file mode 100644
index dea1ac4..0000000
--- a/components/uni-clientdb/uni-clientdb.vue
+++ /dev/null
@@ -1,377 +0,0 @@
-
-
-
-
-
-
-
diff --git a/components/uni-forms-item/uni-forms-item.vue b/components/uni-forms-item/uni-forms-item.vue
deleted file mode 100644
index cb91412..0000000
--- a/components/uni-forms-item/uni-forms-item.vue
+++ /dev/null
@@ -1,437 +0,0 @@
-
-
-
-
-
-
- {{label}}
- *
-
-
-
-
-
-
- {{ showMsg === 'undertext' ? msg:'' }}
-
-
-
-
-
-
diff --git a/components/uni-forms/uni-forms.vue b/components/uni-forms/uni-forms.vue
deleted file mode 100644
index 5065cde..0000000
--- a/components/uni-forms/uni-forms.vue
+++ /dev/null
@@ -1,420 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/components/uni-forms/validate.js b/components/uni-forms/validate.js
deleted file mode 100644
index e369abb..0000000
--- a/components/uni-forms/validate.js
+++ /dev/null
@@ -1,442 +0,0 @@
-
-var pattern = {
- email: /^\S+?@\S+?\.\S+?$/,
- url: new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$", 'i')
-};
-
-const FORMAT_MAPPING = {
- "int": 'number',
- "bool": 'boolean',
- "double": 'number',
- "long": 'number',
- "password": 'string'
-}
-
-function formatMessage(args, resources) {
- var defaultMessage = ['label']
- defaultMessage.forEach((item) => {
- if (args[item] === undefined) {
- args[item] = ''
- }
- })
-
- let str = resources
- for (let key in args) {
- let reg = new RegExp('{' + key + '}')
- str = str.replace(reg, args[key])
- }
- return str
-}
-
-function isEmptyValue(value, type) {
- if (value === undefined || value === null) {
- return true;
- }
-
- if (typeof value === 'string' && !value) {
- return true;
- }
-
- if (Array.isArray(value) && !value.length) {
- return true;
- }
-
- if (type === 'object' && !Object.keys(value).length) {
- return true;
- }
-
- return false;
-}
-
-const types = {
- integer(value) {
- return types.number(value) && parseInt(value, 10) === value;
- },
- string(value) {
- return typeof value === 'string';
- },
- number(value) {
- if (isNaN(value)) {
- return false;
- }
- return typeof value === 'number';
- },
- "boolean": function (value) {
- return typeof value === 'boolean';
- },
- "float": function (value) {
- return types.number(value) && !types.integer(value);
- },
- array(value) {
- return Array.isArray(value);
- },
- object(value) {
- return typeof value === 'object' && !types.array(value);
- },
- date(value) {
- var v
- if (value instanceof Date) {
- v = value;
- } else {
- v = new Date(value);
- }
- return typeof v.getTime === 'function' && typeof v.getMonth === 'function' && typeof v.getYear === 'function' && !isNaN(v.getTime());
- },
- timestamp(value) {
- if (!this.integer(value) || Math.abs(value).toString().length > 16) {
- return false
- }
-
- return this.date(value);
- },
- email(value) {
- return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;
- },
- url(value) {
- return typeof value === 'string' && !!value.match(pattern.url);
- },
- pattern(reg, value) {
- try {
- return new RegExp(reg).test(value);
- } catch (e) {
- return false;
- }
- },
- method(value) {
- return typeof value === 'function';
- }
-}
-
-class RuleValidator {
-
- constructor(message) {
- this._message = message
- }
-
- async validateRule(key, value, data, allData) {
- var result = null
-
- let rules = key.rules
-
- let hasRequired = rules.findIndex((item) => {
- return item.required
- })
- if (hasRequired < 0) {
- if (value === null || value === undefined) {
- return result
- }
- if (typeof value === 'string' && !value.length) {
- return result
- }
- }
-
- var message = this._message
-
- if (rules === undefined) {
- return message['default']
- }
-
- for (var i = 0; i < rules.length; i++) {
- let rule = rules[i]
- let vt = this._getValidateType(rule)
-
- if (key.label !== undefined) {
- Object.assign(rule, {
- label: key.label
- })
- }
-
- if (RuleValidatorHelper[vt]) {
- result = RuleValidatorHelper[vt](rule, value, message)
- if (result != null) {
- break
- }
- }
-
- if (rule.validateExpr) {
- let now = Date.now()
- let resultExpr = rule.validateExpr(value, allData, now)
- if (resultExpr === false) {
- result = this._getMessage(rule, rule.errorMessage || this._message['default'])
- break
- }
- }
-
- if (rule.validateFunction) {
- result = await this.validateFunction(rule, value, data, allData, vt)
- if (result !== null) {
- break
- }
- }
- }
-
- return result
- }
-
- async validateFunction(rule, value, data, allData, vt) {
- let result = null
- try {
- let callbackMessage = null
- const res = await rule.validateFunction(rule, value, allData || data, (message) => {
- callbackMessage = message
- })
- if (callbackMessage || (typeof res === 'string' && res) || res === false) {
- result = this._getMessage(rule, callbackMessage || res, vt)
- }
- } catch (e) {
- result = this._getMessage(rule, e.message, vt)
- }
- return result
- }
-
- _getMessage(rule, message, vt) {
- return formatMessage(rule, message || rule.errorMessage || this._message[vt] || message['default'])
- }
-
- _getValidateType(rule) {
- // TODO
- var result = ''
- if (rule.required) {
- result = 'required'
- } else if (rule.format) {
- result = 'format'
- } else if (rule.range) {
- result = 'range'
- } else if (rule.maximum || rule.minimum) {
- result = 'rangeNumber'
- } else if (rule.maxLength || rule.minLength) {
- result = 'rangeLength'
- } else if (rule.pattern) {
- result = 'pattern'
- }
- return result
- }
-}
-
-const RuleValidatorHelper = {
- required(rule, value, message) {
- if (rule.required && isEmptyValue(value, rule.format || typeof value)) {
- return formatMessage(rule, rule.errorMessage || message.required);
- }
-
- return null
- },
-
- range(rule, value, message) {
- const { range, errorMessage } = rule;
-
- let list = new Array(range.length);
- for (let i = 0; i < range.length; i++) {
- const item = range[i];
- if (types.object(item) && item.value !== undefined) {
- list[i] = item.value;
- } else {
- list[i] = item;
- }
- }
-
- let result = false
- if (Array.isArray(value)) {
- result = (new Set(value.concat(list)).size === list.length);
- } else {
- if (list.indexOf(value) > -1) {
- result = true;
- }
- }
-
- if (!result) {
- return formatMessage(rule, errorMessage || message['enum']);
- }
-
- return null
- },
-
- rangeNumber(rule, value, message) {
- if (!types.number(value)) {
- return formatMessage(rule, rule.errorMessage || message.pattern.mismatch);
- }
-
- let { minimum, maximum, exclusiveMinimum, exclusiveMaximum } = rule;
- let min = exclusiveMinimum ? value <= minimum : value < minimum;
- let max = exclusiveMaximum ? value >= maximum : value > maximum;
-
- if (minimum !== undefined && min) {
- return formatMessage(rule, rule.errorMessage || message['number'].min)
- } else if (maximum !== undefined && max) {
- return formatMessage(rule, rule.errorMessage || message['number'].max)
- } else if (minimum !== undefined && maximum !== undefined && (min || max)) {
- return formatMessage(rule, rule.errorMessage || message['number'].range)
- }
-
- return null
- },
-
- rangeLength(rule, value, message) {
- if (!types.string(value) && !types.array(value)) {
- return formatMessage(rule, rule.errorMessage || message.pattern.mismatch);
- }
-
- let min = rule.minLength;
- let max = rule.maxLength;
- let val = value.length;
-
- if (min !== undefined && val < min) {
- return formatMessage(rule, rule.errorMessage || message['length'].min)
- } else if (max !== undefined && val > max) {
- return formatMessage(rule, rule.errorMessage || message['length'].max)
- } else if (min !== undefined && max !== undefined && (val < min || val > max)) {
- return formatMessage(rule, rule.errorMessage || message['length'].range)
- }
-
- return null
- },
-
- pattern(rule, value, message) {
- if (!types['pattern'](rule.pattern, value)) {
- return formatMessage(rule, rule.errorMessage || message.pattern.mismatch);
- }
-
- return null
- },
-
- format(rule, value, message) {
- var customTypes = Object.keys(types);
- var format = FORMAT_MAPPING[rule.format] ? FORMAT_MAPPING[rule.format] : rule.format;
-
- if (customTypes.indexOf(format) > -1) {
- if (!types[format](value)) {
- return formatMessage(rule, rule.errorMessage || message.types[format]);
- }
- }
-
- return null
- }
-}
-
-class SchemaValidator extends RuleValidator {
-
- constructor(schema, options) {
- super(SchemaValidator.message);
-
- this._schema = schema
- this._options = options || null
- }
-
- updateSchema(schema) {
- this._schema = schema
- }
-
- async validate(data, allData) {
- let result = this._checkFieldInSchema(data)
- if (!result) {
- result = await this.invokeValidate(data, false, allData)
- }
- return result.length ? result[0] : null
- }
-
- async validateAll(data, allData) {
- let result = this._checkFieldInSchema(data)
- if (!result) {
- result = await this.invokeValidate(data, true, allData)
- }
- return result
- }
-
- async validateUpdate(data, allData) {
- let result = this._checkFieldInSchema(data)
- if (!result) {
- result = await this.invokeValidateUpdate(data, false, allData)
- }
- return result.length ? result[0] : null
- }
-
- async invokeValidate(data, all, allData) {
- let result = []
- let schema = this._schema
- for (let key in schema) {
- let value = schema[key]
- let errorMessage = await this.validateRule(value, data[key], data, allData)
- if (errorMessage != null) {
- result.push({
- key,
- errorMessage
- })
- if (!all) break
- }
- }
- return result
- }
-
- async invokeValidateUpdate(data, all, allData) {
- let result = []
- for (let key in data) {
- let errorMessage = await this.validateRule(this._schema[key], data[key], data, allData)
- if (errorMessage != null) {
- result.push({
- key,
- errorMessage
- })
- if (!all) break
- }
- }
- return result
- }
-
- _checkFieldInSchema(data) {
- var keys = Object.keys(data)
- var keys2 = Object.keys(this._schema)
- if (new Set(keys.concat(keys2)).size === keys2.length) {
- return ''
- }
- return [{
- key: 'invalid',
- errorMessage: SchemaValidator.message['defaultInvalid']
- }]
- }
-}
-
-function Message() {
- return {
- default: '验证错误',
- defaultInvalid: '字段超出范围',
- required: '{label}必填',
- 'enum': '{label}超出范围',
- whitespace: '{label}不能为空',
- date: {
- format: '{label}日期{value}格式无效',
- parse: '{label}日期无法解析,{value}无效',
- invalid: '{label}日期{value}无效'
- },
- types: {
- string: '{label}类型无效',
- array: '{label}类型无效',
- object: '{label}类型无效',
- number: '{label}类型无效',
- date: '{label}类型无效',
- boolean: '{label}类型无效',
- integer: '{label}类型无效',
- float: '{label}类型无效',
- regexp: '{label}无效',
- email: '{label}类型无效',
- url: '{label}类型无效'
- },
- length: {
- min: '{label}长度不能少于{minLength}',
- max: '{label}长度不能超过{maxLength}',
- range: '{label}必须介于{minLength}和{maxLength}之间'
- },
- number: {
- min: '{label}不能小于{minimum}',
- max: '{label}不能大于{maximum}',
- range: '{label}必须介于{minimum}and{maximum}之间'
- },
- pattern: {
- mismatch: '{label}格式不匹配'
- }
- };
-}
-
-
-SchemaValidator.message = new Message();
-
-export default SchemaValidator
diff --git a/components/uni-icons/icons.js b/components/uni-icons/icons.js
deleted file mode 100644
index 60b7332..0000000
--- a/components/uni-icons/icons.js
+++ /dev/null
@@ -1,132 +0,0 @@
-export default {
- "pulldown": "\ue588",
- "refreshempty": "\ue461",
- "back": "\ue471",
- "forward": "\ue470",
- "more": "\ue507",
- "more-filled": "\ue537",
- "scan": "\ue612",
- "qq": "\ue264",
- "weibo": "\ue260",
- "weixin": "\ue261",
- "pengyouquan": "\ue262",
- "loop": "\ue565",
- "refresh": "\ue407",
- "refresh-filled": "\ue437",
- "arrowthindown": "\ue585",
- "arrowthinleft": "\ue586",
- "arrowthinright": "\ue587",
- "arrowthinup": "\ue584",
- "undo-filled": "\ue7d6",
- "undo": "\ue406",
- "redo": "\ue405",
- "redo-filled": "\ue7d9",
- "bars": "\ue563",
- "chatboxes": "\ue203",
- "camera": "\ue301",
- "chatboxes-filled": "\ue233",
- "camera-filled": "\ue7ef",
- "cart-filled": "\ue7f4",
- "cart": "\ue7f5",
- "checkbox-filled": "\ue442",
- "checkbox": "\ue7fa",
- "arrowleft": "\ue582",
- "arrowdown": "\ue581",
- "arrowright": "\ue583",
- "smallcircle-filled": "\ue801",
- "arrowup": "\ue580",
- "circle": "\ue411",
- "eye-filled": "\ue568",
- "eye-slash-filled": "\ue822",
- "eye-slash": "\ue823",
- "eye": "\ue824",
- "flag-filled": "\ue825",
- "flag": "\ue508",
- "gear-filled": "\ue532",
- "reload": "\ue462",
- "gear": "\ue502",
- "hand-thumbsdown-filled": "\ue83b",
- "hand-thumbsdown": "\ue83c",
- "hand-thumbsup-filled": "\ue83d",
- "heart-filled": "\ue83e",
- "hand-thumbsup": "\ue83f",
- "heart": "\ue840",
- "home": "\ue500",
- "info": "\ue504",
- "home-filled": "\ue530",
- "info-filled": "\ue534",
- "circle-filled": "\ue441",
- "chat-filled": "\ue847",
- "chat": "\ue263",
- "mail-open-filled": "\ue84d",
- "email-filled": "\ue231",
- "mail-open": "\ue84e",
- "email": "\ue201",
- "checkmarkempty": "\ue472",
- "list": "\ue562",
- "locked-filled": "\ue856",
- "locked": "\ue506",
- "map-filled": "\ue85c",
- "map-pin": "\ue85e",
- "map-pin-ellipse": "\ue864",
- "map": "\ue364",
- "minus-filled": "\ue440",
- "mic-filled": "\ue332",
- "minus": "\ue410",
- "micoff": "\ue360",
- "mic": "\ue302",
- "clear": "\ue434",
- "smallcircle": "\ue868",
- "close": "\ue404",
- "closeempty": "\ue460",
- "paperclip": "\ue567",
- "paperplane": "\ue503",
- "paperplane-filled": "\ue86e",
- "person-filled": "\ue131",
- "contact-filled": "\ue130",
- "person": "\ue101",
- "contact": "\ue100",
- "images-filled": "\ue87a",
- "phone": "\ue200",
- "images": "\ue87b",
- "image": "\ue363",
- "image-filled": "\ue877",
- "location-filled": "\ue333",
- "location": "\ue303",
- "plus-filled": "\ue439",
- "plus": "\ue409",
- "plusempty": "\ue468",
- "help-filled": "\ue535",
- "help": "\ue505",
- "navigate-filled": "\ue884",
- "navigate": "\ue501",
- "mic-slash-filled": "\ue892",
- "search": "\ue466",
- "settings": "\ue560",
- "sound": "\ue590",
- "sound-filled": "\ue8a1",
- "spinner-cycle": "\ue465",
- "download-filled": "\ue8a4",
- "personadd-filled": "\ue132",
- "videocam-filled": "\ue8af",
- "personadd": "\ue102",
- "upload": "\ue402",
- "upload-filled": "\ue8b1",
- "starhalf": "\ue463",
- "star-filled": "\ue438",
- "star": "\ue408",
- "trash": "\ue401",
- "phone-filled": "\ue230",
- "compose": "\ue400",
- "videocam": "\ue300",
- "trash-filled": "\ue8dc",
- "download": "\ue403",
- "chatbubble-filled": "\ue232",
- "chatbubble": "\ue202",
- "cloud-download": "\ue8e4",
- "cloud-upload-filled": "\ue8e5",
- "cloud-upload": "\ue8e6",
- "cloud-download-filled": "\ue8e9",
- "headphones":"\ue8bf",
- "shop":"\ue609"
-}
diff --git a/components/uni-icons/uni-icons.vue b/components/uni-icons/uni-icons.vue
deleted file mode 100644
index 5f303e4..0000000
--- a/components/uni-icons/uni-icons.vue
+++ /dev/null
@@ -1,67 +0,0 @@
-
- {{icons[type]}}
-
-
-
-
-
diff --git a/components/uni-list-item/uni-list-item.vue b/components/uni-list-item/uni-list-item.vue
deleted file mode 100644
index 7688e64..0000000
--- a/components/uni-list-item/uni-list-item.vue
+++ /dev/null
@@ -1,440 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ title }}
- {{ note }}
-
-
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
diff --git a/components/uni-list/uni-list.vue b/components/uni-list/uni-list.vue
deleted file mode 100644
index d478729..0000000
--- a/components/uni-list/uni-list.vue
+++ /dev/null
@@ -1,106 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/components/uni-list/uni-refresh.vue b/components/uni-list/uni-refresh.vue
deleted file mode 100644
index 3b4c5a2..0000000
--- a/components/uni-list/uni-refresh.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/components/uni-list/uni-refresh.wxs b/components/uni-list/uni-refresh.wxs
deleted file mode 100644
index 818a6b7..0000000
--- a/components/uni-list/uni-refresh.wxs
+++ /dev/null
@@ -1,87 +0,0 @@
-var pullDown = {
- threshold: 95,
- maxHeight: 200,
- callRefresh: 'onrefresh',
- callPullingDown: 'onpullingdown',
- refreshSelector: '.uni-refresh'
-};
-
-function ready(newValue, oldValue, ownerInstance, instance) {
- var state = instance.getState()
- state.canPullDown = newValue;
- // console.log(newValue);
-}
-
-function touchStart(e, instance) {
- var state = instance.getState();
- state.refreshInstance = instance.selectComponent(pullDown.refreshSelector);
- state.canPullDown = (state.refreshInstance != null && state.refreshInstance != undefined);
- if (!state.canPullDown) {
- return
- }
-
- // console.log("touchStart");
-
- state.height = 0;
- state.touchStartY = e.touches[0].pageY || e.changedTouches[0].pageY;
- state.refreshInstance.setStyle({
- 'height': 0
- });
- state.refreshInstance.callMethod("onchange", true);
-}
-
-function touchMove(e, ownerInstance) {
- var instance = e.instance;
- var state = instance.getState();
- if (!state.canPullDown) {
- return
- }
-
- var oldHeight = state.height;
- var endY = e.touches[0].pageY || e.changedTouches[0].pageY;
- var height = endY - state.touchStartY;
- if (height > pullDown.maxHeight) {
- return;
- }
-
- var refreshInstance = state.refreshInstance;
- refreshInstance.setStyle({
- 'height': height + 'px'
- });
-
- height = height < pullDown.maxHeight ? height : pullDown.maxHeight;
- state.height = height;
- refreshInstance.callMethod(pullDown.callPullingDown, {
- height: height
- });
-}
-
-function touchEnd(e, ownerInstance) {
- var state = e.instance.getState();
- if (!state.canPullDown) {
- return
- }
-
- state.refreshInstance.callMethod("onchange", false);
-
- var refreshInstance = state.refreshInstance;
- if (state.height > pullDown.threshold) {
- refreshInstance.callMethod(pullDown.callRefresh);
- return;
- }
-
- refreshInstance.setStyle({
- 'height': 0
- });
-}
-
-function propObserver(newValue, oldValue, instance) {
- pullDown = newValue;
-}
-
-module.exports = {
- touchmove: touchMove,
- touchstart: touchStart,
- touchend: touchEnd,
- propObserver: propObserver
-}
diff --git a/components/uni-load-more/config.json b/components/uni-load-more/config.json
deleted file mode 100644
index 12c5226..0000000
--- a/components/uni-load-more/config.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "id": "29",
- "name": "LoadMore",
- "desc": "加载更多",
- "url": "load-more",
- "type": "功能组件",
- "edition": "1.1.5",
- "path": "https://ext.dcloud.net.cn/plugin?id=29",
- "update_log": "- 新增 颜色大小等配置项"
-}
diff --git a/components/uni-load-more/readme.md b/components/uni-load-more/readme.md
deleted file mode 100644
index 7dc215a..0000000
--- a/components/uni-load-more/readme.md
+++ /dev/null
@@ -1,48 +0,0 @@
-### LoadMore 加载更多
-*已经支持在nvue页面中使用*
-
-用于列表中,做滚动加载使用,展示 loading 的各种状态,组件名:``uni-load-more``,代码块: uLoadMore。
-
-### 使用方式
-
-在 ``script`` 中引用组件
-
-```javascript
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue'
-export default {
- components: {uniLoadMore}
-}
-```
-
-在 ``template`` 中使用组件
-
-```html
-
-```
-
-
-### 属性说明
-
-|属性名 |类型 |默认值 |说明 |
-|--- |---- |--- |--- |
-|iconSize |Number |24 |指定图标大小 |
-|status |String |more |loading 的状态,可选值:more(loading前)、loading(loading中)、noMore(没有更多了) |
-|showIcon |Boolean|true |是否显示 loading 图标 |
-|iconType |String |auto |指定图标样式,可选值:snow(ios雪花加载样式)、circle(安卓环形加载样式)、auto(根据平台自动选择加载样式)。**注意:**APP-NVUE不支持此选项|
-|color |String |#777777 |图标和文字颜色 |
-|contentText |Object |`{contentdown: "上拉显示更多",contentrefresh: "正在加载...",contentnomore: "没有更多数据了"}` |各状态文字说明 |
-
-**说明**
-
-- `iconType`为`snow`时,在`APP-NVUE`平台不可设置大小,在非`APP-NVUE`平台不可设置颜色
-
-
-### 事件说明
-
-|事件名 |说明 |返回值 |
-|--- |--- |--- |
-|clickLoadMore |点击加载更多时触发 |e.detail={status:'loading'}|
-
-### 插件预览地址
-
-[https://uniapp.dcloud.io/h5/pages/extUI/load-more/load-more](https://uniapp.dcloud.io/h5/pages/extUI/load-more/load-more)
\ No newline at end of file
diff --git a/components/uni-load-more/uni-load-more.vue b/components/uni-load-more/uni-load-more.vue
deleted file mode 100644
index 9430321..0000000
--- a/components/uni-load-more/uni-load-more.vue
+++ /dev/null
@@ -1,359 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ status === 'more' ? contentText.contentdown : status === 'loading' ? contentText.contentrefresh : contentText.contentnomore }}
-
-
-
-
-
-
diff --git a/components/uni-popup/message.js b/components/uni-popup/message.js
deleted file mode 100644
index 0ff9a02..0000000
--- a/components/uni-popup/message.js
+++ /dev/null
@@ -1,22 +0,0 @@
-export default {
- created() {
- if (this.type === 'message') {
- // 不显示遮罩
- this.maskShow = false
- // 获取子组件对象
- this.childrenMsg = null
- }
- },
- methods: {
- customOpen() {
- if (this.childrenMsg) {
- this.childrenMsg.open()
- }
- },
- customClose() {
- if (this.childrenMsg) {
- this.childrenMsg.close()
- }
- }
- }
-}
diff --git a/components/uni-popup/popup.js b/components/uni-popup/popup.js
deleted file mode 100644
index 14d4b77..0000000
--- a/components/uni-popup/popup.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import message from './message.js';
-// 定义 type 类型:弹出类型:top/bottom/center
-const config = {
- // 顶部弹出
- top:'top',
- // 底部弹出
- bottom:'bottom',
- // 居中弹出
- center:'center',
- // 消息提示
- message:'top',
- // 对话框
- dialog:'center',
- // 分享
- share:'bottom',
-}
-
-export default {
- data(){
- return {
- config:config
- }
- },
- mixins: [message]
-}
diff --git a/components/uni-popup/share.js b/components/uni-popup/share.js
deleted file mode 100644
index 462bb83..0000000
--- a/components/uni-popup/share.js
+++ /dev/null
@@ -1,16 +0,0 @@
-export default {
- created() {
- if (this.type === 'share') {
- // 关闭点击
- this.mkclick = false
- }
- },
- methods: {
- customOpen() {
- console.log('share 打开了');
- },
- customClose() {
- console.log('share 关闭了');
- }
- }
-}
diff --git a/components/uni-popup/uni-popup.vue b/components/uni-popup/uni-popup.vue
deleted file mode 100644
index 0a509c5..0000000
--- a/components/uni-popup/uni-popup.vue
+++ /dev/null
@@ -1,296 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/uni-section/config.json b/components/uni-section/config.json
deleted file mode 100644
index 43d5d01..0000000
--- a/components/uni-section/config.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "id": "99999",
- "name": "Section",
- "desc": "标题栏",
- "edition": "0.0.1",
- "url": "section",
- "type": "布局组件",
- "path": "https://ext.dcloud.net.cn/plugin?id=",
- "hidden": true,
- "test":true,
- "update_log": []
-}
diff --git a/components/uni-section/readme.md b/components/uni-section/readme.md
deleted file mode 100644
index c5998fa..0000000
--- a/components/uni-section/readme.md
+++ /dev/null
@@ -1,30 +0,0 @@
-### Section 标题栏
-
-标题栏,用于显示标题,组件名:``uni-section``,代码块: uSection。
-
-### 使用方式
-
-在 ``script`` 中引用组件
-
-```javascript
-import uniSection from "@/components/uni-section/uni-section.vue"
-export default {
- components: {uniSection}
-}
-```
-
-在 ``template`` 中使用组件
-
-```html
-
-
-
-```
-
-### 属性说明
-
-|属性名 |类型 |默认值 |说明 |
-|--- |---- |--- |--- |
-|type |String |- |标题装饰类型 ,可选值:line(竖线)、circle(圆形)|
-|title |String |- |主标题 |
-|sub-title |String |- |副标题 |
diff --git a/components/uni-section/uni-section.vue b/components/uni-section/uni-section.vue
deleted file mode 100644
index 52a1567..0000000
--- a/components/uni-section/uni-section.vue
+++ /dev/null
@@ -1,136 +0,0 @@
-
-
-
-
-
-
- {{ title }}
- {{ subTitle }}
-
-
-
-
-
-
-
diff --git a/components/uni-transition/uni-transition.vue b/components/uni-transition/uni-transition.vue
deleted file mode 100644
index ad1cb55..0000000
--- a/components/uni-transition/uni-transition.vue
+++ /dev/null
@@ -1,279 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
index b268147..621b041 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,24 +1,24 @@
{
"name" : "云端一体搜索模板",
"appid" : "__UNI__BC54A00",
- "description": "",
- "versionName": "1.0.0",
- "versionCode": "100",
- "transformPx": false,
- "app-plus": {
- "usingComponents": true,
- "nvueCompiler": "uni-app",
- "compilerVersion": 3,
- "splashscreen": {
- "alwaysShowBeforeRender": true,
- "waiting": true,
- "autoclose": true,
- "delay": 0
+ "description" : "",
+ "versionName" : "1.0.0",
+ "versionCode" : "100",
+ "transformPx" : false,
+ "app-plus" : {
+ "usingComponents" : true,
+ "nvueCompiler" : "uni-app",
+ "compilerVersion" : 3,
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : true,
+ "waiting" : true,
+ "autoclose" : true,
+ "delay" : 0
},
- "modules": {},
- "distribute": {
- "android": {
- "permissions": [
+ "modules" : {},
+ "distribute" : {
+ "android" : {
+ "permissions" : [
"",
"",
"",
@@ -36,28 +36,28 @@
""
]
},
- "ios": {},
- "sdkConfigs": {}
+ "ios" : {},
+ "sdkConfigs" : {}
}
},
- "quickapp": {},
- "mp-weixin": {
- "appid": "",
- "setting": {
- "urlCheck": false
+ "quickapp" : {},
+ "mp-weixin" : {
+ "appid" : "",
+ "setting" : {
+ "urlCheck" : false
},
- "usingComponents": true
+ "usingComponents" : true
},
- "mp-alipay": {
- "usingComponents": true
+ "mp-alipay" : {
+ "usingComponents" : true
},
- "mp-baidu": {
- "usingComponents": true
+ "mp-baidu" : {
+ "usingComponents" : true
},
- "mp-toutiao": {
- "usingComponents": true
+ "mp-toutiao" : {
+ "usingComponents" : true
},
- "uniStatistics": {
- "enable": false
+ "uniStatistics" : {
+ "enable" : false
}
-}
\ No newline at end of file
+}
diff --git a/pages/grid/grid.nvue b/pages/grid/grid.nvue
index ebc1b82..f6f4fe1 100644
--- a/pages/grid/grid.nvue
+++ b/pages/grid/grid.nvue
@@ -7,7 +7,7 @@
disabled />
-
@@ -19,7 +19,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
+
\ No newline at end of file
diff --git a/uni_modules/login-page/pages/index/index.nvue b/uni_modules/uni-login-page/pages/index/index.nvue
similarity index 100%
rename from uni_modules/login-page/pages/index/index.nvue
rename to uni_modules/uni-login-page/pages/index/index.nvue
diff --git a/uni_modules/login-page/pages/index/phone-login.nvue b/uni_modules/uni-login-page/pages/index/phone-login.nvue
similarity index 100%
rename from uni_modules/login-page/pages/index/phone-login.nvue
rename to uni_modules/uni-login-page/pages/index/phone-login.nvue
diff --git a/uni_modules/login-page/pages/index/pwd-login.nvue b/uni_modules/uni-login-page/pages/index/pwd-login.nvue
similarity index 100%
rename from uni_modules/login-page/pages/index/pwd-login.nvue
rename to uni_modules/uni-login-page/pages/index/pwd-login.nvue
diff --git a/uni_modules/login-page/pages/index/pwd-retrieve.nvue b/uni_modules/uni-login-page/pages/index/pwd-retrieve.nvue
similarity index 100%
rename from uni_modules/login-page/pages/index/pwd-retrieve.nvue
rename to uni_modules/uni-login-page/pages/index/pwd-retrieve.nvue
diff --git a/uni_modules/uni-login-page/readme.md b/uni_modules/uni-login-page/readme.md
new file mode 100644
index 0000000..b97c7e2
--- /dev/null
+++ b/uni_modules/uni-login-page/readme.md
@@ -0,0 +1 @@
+# uni-login-page
\ No newline at end of file
diff --git a/uni_modules/login-page/static/login/img/apple.png b/uni_modules/uni-login-page/static/login/img/apple.png
similarity index 100%
rename from uni_modules/login-page/static/login/img/apple.png
rename to uni_modules/uni-login-page/static/login/img/apple.png
diff --git a/uni_modules/uni-login-page/static/login/img/home.png b/uni_modules/uni-login-page/static/login/img/home.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d9412aaf1dc1d5ad9823a875a4cd55a8cfa290b
GIT binary patch
literal 2637
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
M+PT?Q*DdjrX@u*4OGxl_ya_xREUZc5JW;z
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
LNkvXXu0mjfThfl&
literal 0
HcmV?d00001
diff --git a/uni_modules/uni-login-page/static/login/img/more.png b/uni_modules/uni-login-page/static/login/img/more.png
new file mode 100644
index 0000000000000000000000000000000000000000..cdfe39223017f5ed522e36b30d80f22f80c9bf8e
GIT binary patch
literal 3037
zcmai0`8(8o8~x0f8Dp7gtYZt~A#2(Y(ipT*wo;QY$daBcGX_PC@oggeQb;uz*-BZT
zY*|M}DwVt_L*_SM@_b+&VxX*pv*SXI5;rwu}JKEOzG)7QH5CDL&Fh6mAcSHXh
zG-?-{iC5YH5X!YUVR9kZc_zb!-lr!TDVx1e&W@q8E)G=c9jTyuF8Qn@yg7;s0>T;G
zA7W7kcgDo*Z^PT#v(KK1zoAJzXN@Z;th$DBJZ|=OR75}rLZRvUiK07C!xUt#0{L(U
zH}!tN-Etg_b>vY%PmTqHU=XH?d+%u2Z@>p+{qA6>+e5Hjst>+jXGbB8e!y;o-BRRL
zdIVpZb9i}iC-dJ+WeTc~_TKEG%3O`tb-p>J^R
zr0*;ec#mBALPa3L8dGX}j|97GGCXrX^BvSka2Bu)x%+ZT7jZG|wEwad#pD@G3NK38
ze)^O%rGns9vQ5Fb7I=sn#~`HocY;uJPLyp!kqiX){HAjYB1b6X`;vthqu(1lE(a1u
z!u)EWv`&QuJG^^EXu{3jS}b704AD)i3VD6!X>TxByo>;QEfskT(NvwJ|9mmQkx}QY
z3S9Ax?zlLibxkmR4*-W-BIagIp1jz*a%-sY^$HJg-Tf4P!5$rKb$np5TC<;Y!%%
ztNRrfEF0gMO$cP|7d1S>ts2zNr>Ypq_tDuE;Dm(n@T{wo`KCh?4?9=lIiI$vyXhce
zd=C9KVl!iF#)ib$5Bm7_R+c2d2_>qk#@{nrLm5f$j78=vfR4vX^^AATz(nAKMxDLl
z3p=BxnJ{i+&+PrAH3#sU!^WCOZ$AC=Yh7hug9v05nN>I$(w@y^jUZ=E*UNl+
z)64Mv_eIspk({e%nqEz9$?5(X`Gp{z#hs7{>ll+bA9Cw)?}YMB_o9qT`m7QY2b9ck
z6o${>^Q24gAr29)_u4tlyCx=a)olh&Rv@0bnFT%@7u`9(
z)apg@7Ha18It7?tjJ6GK!paB$8gG7M34+_#7ef{`Ggxq3*|8`=*d>v7&x9L-GSu1#
z4aI$NEqoVJTE?+%x8QFrhhis`TXP?DC7NxX1nA$L%gSj@HPG^`t2fFEK13xKRUFfg
zQRS{PUG{68ANHAKB&%%%s;jq>;0Qxkz{$l>b_OJY%
z`ly#{AZv=n0??afB>W+R>;AxhIPR4})Z*oQVqwB{dMs7r=pGcwMbR~mFA$4~tZ0|u
zVsDRC5TqrL)RI7Aqd
zhyIR+PokK6RwQ>4M9<1p#I0DftEU^U13XFh7ts>Xu(7c31#3u3Vc~
z$~63h~(~
z`}T`h6FNW_SFS+>MrUY6LS>KW4anN-+rh65%8*B|V~++M34YG{A^$A|kQIZSR}C&m
zz8D!vxYE7)$HzZst#X8?-+%{MPfMYI`Y^4QR;2t|+D*rE{D1yTSvc3?ZG}ZbXFFs;
zcRbFHF-Y}SfQ7ctsDQg`fm*ltxr#&z!|0z&fHvK4c1WQWr!_`AlrVt-B0>g*g4%9T
z;{l1zU{}cb$WF9<`gz7^SIE2;C<8^QICbZdng8&P)xH8JK8`s?yD%f_&V$-L(sln@
z572UUQ&EaZT-n$4J=8^ROD*Mrx2(5vqmA1y5T!x9lG;w6Rh(7oPVqLEVOhhH9;|sj
zSq;~x9=wb;gprm+wVT<-8)_~>$V$zyeioGTRjW#>AH6>x;H@?bYt;SpmrlV7oK|vH%
z0N8I_mKD;e4wXf-yN6Xi)BGe@xgaXF&1E>}hJ1beT5yr^;kDww
zd5P6CmfkpJK9bKoo4!#w@)yXj2v!r&%p00y%4Ygotz{WDDFgG944o&7*|zuI5ig=0
z_!U*=>rcxZLz}z=rA$XLMrLtJ?7}@!zbj7Z(R77r?9blc|0&Pang|i*uRwtooE*mK
z^{LUTc6s=ke``1svYeh3we`DXpeO^K-BV}nZr#`?FWK_#liZsw%l4n}8xe4e^xp;X
z)6sfptVtk(D>fXGsS1v*P`N^h
zRMZFRF)jvTN{F{4EklIh!UU7)F(
zg+NYIY`%XO-I5Dn$AI>Gajc-FfOO~aY%^E$ZCe8E`+c7-$wE-BLiF^N7XxcyyY?Vi
zM(ojH=mPqA0DjVkiz0n%afugb$TY!%jpK2a(HzrEnUXR~74J@N_0p#my27dceceYp
zEw=X}7na@a!FcT2%eRF3mVIdA87Fz{(a`Q~OI(ssvis&JhQzyA-5oE*xLBNELK;vB
z-;avQXe*I7`uW01-Nf~SgWe3TIKcR`e3sR`d&vh0SvX}sw>s&Cg>4$;Lk8$kp4W75
z4F{_-nV!FW>J@W8x@-<0NS&GJX?fQ`!h!ny(~q;WpX@vv<{QO(3#vHV}3b2FlxGe{T42LUj&D3H+6c3fAA{Y;8Cq@w-@@s09E5bB69l7u_g
zGVa9*g?M*JC?6pHfOJf&bjY@7hUk?-FwVlU5Adh8OTTCvB_;^LJKOTsm;TV|IqvCW
zORwPEuSgvMuMOtb$osvmw}s5Mw%y)$MAK;eUa|#a-SnQwa&StD(Ga-ZtdOicj6^m|uTJv_9%tJ@
z(XV7O=T1<&z4pU6WYWg___pNlH|qDTe+tKH)LJ$xyiYfqyKS-TghPtU+62Sk}q!cKvx?J*E3XG?wuf$9L|7*>-d9YzpNk?c_6h<55*7gt_=&R%vKF|3bXJiPgQ%P&J_3G$
zGnSJQhxqvSnbT360Q?2fL0Zch0s~NEFdsNVZU}n;wK82LHu}XiYe#gyRT&$6~-paD(;j8-Z2zK|^x<7cgZsWlyYB>UL)yMzb6
z1iw9qtYOh*@Y>dXJjRfLi!$tX;-pA(^{et5ie@anm8e|`#4wLZ&jD*7cM0{_X#nv}
zr+xw71R>C0wlGiyslwG#h@aiv+Mzfs;M3Y5{?3=d8v*SKTxe+M0xe|VLAK|-LHW^N
z!&MdeehWY63m;eHlZN`$?M?Du)Em4VYd-C>`Hd_s;fwv56<^TaeG%%sNT5a>#7|UF
zD^o9>XVgljD1;$LfFg{7^SKL9(E)o#H{e>^K6#=|Yb6_1NHC~B52N)b$^QNlZP~QC
z=c$M-L0?$CU~CiK(CF>QKm!6NrF)r~1!E}*#65IWA-P9b-KuxeWUd*TYbsX(-)ukTe@@MeW-
zM>nlq$P}Yg(I&uajFS9CjsUF4(UGN9gZ9-sXSPWZf7hxl`?*hM+PhcRgID{7&xOf+
zsd~p9aOFCK#>kju^w;^2=Ic==nfM_3aEk_Q8vK0v-W2sjl|s)`|80@f6Bjh;HXj3P
z7Omt7$n#y?mP_kao|o4b2rW=-5rYx_Ckf2CxjBeTmsy$D6I$G
zwrO9kV(>aE<1uC86Av7Shk!T0m?XR17koFX*IAOnB<_7tETPE
zaWkRcaeO<3Y%)aXmO}B%_I!uyBJ|Y;L)XKLeZ%Js4=P7ulM0$}${>s%4CVSA>A;#k
zC)wqiYe|CAviwh++Qbl?vRDazC?)Zo3FW^mtfMmtITEKZFz2+xHE2gQuQNOUm5F!g
z$CSEUp7Kow3x9Za-2J-(1#sd&=Jb8;=IIN86}PC+YH^}jZL~G%db>AqFeH#Inbkc<
zqqp7cB(c60%XfWhoz!hypk$A*>MQ=#e>3s&WN23(?%fy>*yf^}
z4hI||=FN|HcQ5N|_#Jb_&c^|^6*iwExq_0R)6>&TL-hu2(}8dtiAfDfZo;Tf7^L`mXz*$cW6&m-B+;a4^hMyhuC0!ih+GTh|3cC?0eJ8RNnbuqA-Nil;WkluI`KYlWjxp*`TG!db4qUt>$?tW@uiiY%
z6}R((i=RIN>?x8J7l*k}sV9dYJkYBUKWh`Y%9oIkU<$KR7z>0Fuuo+1uwmA7;0dHysCs@DR=RaG$>WfE=c=X*VK
zPFSy7@WR7K#n~G=DS{ZnPqmIV5k3!Xn`1nSx>8#q@`{S8RS#If6ekZ}q{`TsFg=-e
zxoK$xKob4dHeJ2WKxwk#+&y!Ku4CPETzuOmsITzq!P9}^)|3I^zd!&iKuHP1^UDhX
z3CaF5QRR8XL}4)Z&lE$)mgClwGeo+~;eXd@!+GcA9FfUZ(E-u6BI<&Fa
z(006g4qGv%Ex2W~`B45#Q~^TkYKUygFY|3;W>!kHrmitCnBdIo#JQ|Z`
zrSZoby0}a>d1$!5q8$(jrawoXYA5ObI=1Ju2$1#jtN#!j6SZm0J86?uCP+v@C6i?U
z(l4-O+zQIFHNGD{%{$>tKdl?g6@`U7uObYL?YrLG;;BV3$bU~g-@!W_Qglgl@D88a
zL>!gC1sJ3TPM9TdD~yT6o6LP5H(yh~>aQdfPLV%(iqTscf$f8Xhaahpqz@mijSM04
zP5p%~w6x(g#v*vr3coY3-vdw97(#L{(B^ugQNJLrEdB}HzBimwXZ%DMbQ!uzkWa;g
z*$W2lRk&^ktbCgX(wWIY{WA*>#;q>Q`75er=lpi1GX_k7rEJ-Jo_0m@j28n97Z+Fi
zU4{LAX<6klWQ)1tg}z<;mD$U|=Pm*Y@evP97|1EVo-1mZ(e7@DRl1^B&YX2w2<
z?ra9=@7gD|HnS|>
z2sa@raOP($;=zr3jmPI}jx4_gmm937J1o^1lj2X14d;p!oauk9HQWlsa4YbEGo2qZ
zx}GvXlINB?B-arJ`qrEGjZKj8e|cf;a#7z|ry`Yr{9rZ)#+emEHV`zR=_C#9#`q>+xyxk>{1DDvYgp
zOYG&osf&a`FevtizzO~DO|RJ4&+u?HqZ9?-sZ-#fNknOmQq!)ZU<-pt>iQ8
zKPxyncu=19&>pWl9s`-Hd5M$=P=iB5d>^kjPnRLWHvgV2Q6ZyoDM3jn&33gBDB76x
z_v_}u3+2o3*09QIh4bNQsj19q6ktuF3468g2=zA~_BD%l1!I|$H`mYnESX@~#m0tY
zd+%MM*Lj1tBp_x!%L7#@sP@F{r5_uRfJSf6(BC-86`TrgQ$Zlp)rB)>rU!Z5wy2tI${Wp~SwA_RA$DCGkSw>HpBp?~WVrp+R_t
zC^j41l9eoPZ@*~#$zsgb)jJ%}r6UUKAljk9}cp08}0D|N#O_YZ-<^L2|ewBXnk2n3pMpkr}!?0EKZF61QKsO
zv3&taa#1Sg;t&;?ui{f{Ak7L$JO_>!AY@R?c+76e{1T_K39crP-7^G}LUBFRG)Q+_
zpbq8)i9qpADQ6kOHA%Pqvap+T7@(77=w)Y)AYJ1Q7Q~@&4jQldA#EyR!L0SPbOWQJ
z9XT@n71BvS>D%Ahz5P%EJRY|iXsPF>q4Xb0VSYB0Yf8Kz;zSA_rt}DG1`)P3R&bUa-YICmqmE`
zIf2S{Y7`*dh*3P_7yWDGdS?p!H?qodSc1oEnQ~f!uS&Vdv~n-)fnz0%&-j
zuDu~AqL2u*wh#9lH|H!`TG~*4+f=2(A6gnt$$ai~GM^@eKfEVjuQju8M0_XtUClwB
zMS{EbA0SyZSZW}}F1u$#4|Dz!;ox5tr#fI)XeO?P&hH#|Fe+J
zj&kMGHP^dD&lDG!gRe?BDb#Gwsw21V+YY4P}-y4Opn@xtz@k*#!X
zc)|8J0XElgM)=9vG6t^2G?G{G2;kxF;L(ULeFG4_$X6A6_#g&5H!#y*u#Sfh;
zSC3YgAXuBzdFCsbr!1$2>rCzd6DvKNmp|=PfyVc!FZL2q7RmNj+Hm5
zFWa3R&%oOeh&V~Ur@e%;yF~-^QrSWkll9J%8jU=zfOv{CH!%Yrf63XklDQ)Oqyk*>
zpG?E+ca#-DTpl3JKo20bTU3;2l>HNLC}?VYr`3I-d7*9Rtr7peudW<{4iy1PtV^;`
zg#x87-lKaSlmD!VjvS3j9WIwK2?lEk99{AH~Uzy1P
zJcIETFlemnZMBQ4kUE?)kDgJBFLR_TRi>kue2_`V+{~;fQoGIZi;s_wyrS)X{hZ=%
zAK82Lzcr^ecv=Otxifk;IrC5W6JenWfoyell)5+O)RJY1Gd7
zCj&Xi@2_=mg-%m^5d$E4VMM#h-nYq|j!TN2x*_2)BqYeoh$0>~yvR0R4?aIFG<8a}
zDZ@ko!b=Wo{-!-1YB6m~3A^yZY_tRQHJbakA-
zJhMm1_Zq7pvGD%v&SROr0RaJ=lwF6E
zYyV-CO`BU;h3DqxqK$||f;|DD&^w+oK-+9KK?n$zLGW6-pQ2mE$CR*dNXOCO>bKf(
z9wF-m;-CdXr(sS7kaa=5sgN4tuj-#oA!85P8NbFL-Pgl);|du-*TeBJ)6zzl*oWl<
zdw(VCqn~z#g??Z7J_vvB^v0)f@;0EPk!FZ>8d^~yY4l)#g@%3u6jRsK^d$z~`wo;D
z(cIsc(nA4Qqv}2B8uo8aSvy|g%nAs75am7Ezc6A?P?$bNj#zM;djQpDK*{eX>AY2_
zN}#}^2Z$MBl}{Y(5K|cF#($6`)fKtDO~KlFC>A*};v$O=OMjH4Y$FBQdOZ=CiZkYL
z@`}JYeII5CATxCOHKK6kiwh+zf+Uk(h(Hmx8^ksFcqy#wGQ%bWG`{-GF@j&sKJM*>
zSHe<}fCUPl$9o}IaSjMHuK67X8HRaN3m2^J1u0%ERz&^=hErlyK8PK?lHj{`m8
zlM}rM28^>AE(`UU+aRVC@ju?vycaKL!JFX$3c(1Z4?i3?(fNkghMmMje-!Ox?kQh3
zzcaw*%OU*OgFYG<4;1KHTjq&BSnY=rY{u)YuHF}3n)uWwfBd>dvO5V2Lp<+%v7@DHdJt*oC
zzwE%SIgM2{zum7QpYhv=w;&G^m>_+-$enA#4@Kn<&X!|%I@^5D^80rW5SNIrB951?
z;}g$)Fp*u(I;#~(vqJm##f#~-_d{lm9qni#uIm?tjk6mNY&>v^!f!4cm%*QN8vb!F85|uuP6_w^W-on*
zWK-``6Ec%cp9i2TtYu~j0kP2hPNF6d!>*LYz$RWd_;_9%%d~x1GkzdyhKeix50Dg#
zK@G{)l`X-5?tJ4@g}Kgjx;A(U*IYhZ1qk5gVEBI7A2p=bxy(O5a$F*2A(t$(1ZM|n
zPxkDbcbb3K@R^uoVD?^D*!x5zDETU+wYkuQi($)CR;pMTW#jIA$<<&gVpCL{blM7l
zH;&8&67NXw%#py9+h{-=s>RFw8L`*v*yF{=`^7b};1m-wACSFK`e^k0@H*Tcy57z%
zE&(;2rQOiQOzHR=e?5xE3NzcIW;o@$JYLC;*Sr-EumaT!wMKn#mF?Hp;QnX7NsApK
zyXFz0%Wh~ODFH`)?7GeP7zE0f0Hbkn$t`rZ%?&2WN)tB$+CigD286f!)xe|whVRI=
ziors&f(3G|;&*bEt6txj9^%j@OlPW#QI2~ctVmik0Imhn%n
z`
zh1NN1CeN)>W2BZ514`%^r(N?l9I4N3oOy@+YvxQpK%q=5^ICL|8*Nu*x7@6A&kbiQ
zX}Ou<4zePIi(5I3O&!{NVEkTT<>X?;panmh`PJH#Nmm6UB7$%Igo=`_kPta!Tt
zJFnY4{xqo603hN)^tJI~K+bhMY>c@su3wff4o)FvZ#8t?;J$4ALg(b*5G_>6?ds}c
z?wHf2`rUdyk>
zdMG>vP&$OetF`gKkUtzFFH{ss+$Elcn0Mwnch4^NfbC&ANiUnXlJNk0l1j3*$At^3
z@qi5Ky<6e1H2;1Irug;i*X#3wxjW>rvlteDklwg66aeOQ_p?Jfqkh#?%|+9vOD;<
zF;j{AT7qkS)x0Sts}+w2FciO!2fu%-9flFXo~&^oc-RxeyoyyKR1X!ZzZZKGQ32#
zId`oax(PKiZKS5BQ-)J23S9LE?i6YN7AO{ChwzM6{M4=}zT$GgYQIvCSRn4g3$yL{
zy#jffjgl_YL5#rA1$_8j281?QW2f0`Ys1PkZP)a)1{PYp3Cosw8vNWT3bbmI$J}{D
zY%5tr8*d_YLn(BiY-_jrk|;@N|HbwLp1r5%7u)9un2(*PAJ@yWfL*%l(SAT(#|b
zYZ9B^(^#fMFXEc-sxAMkl{Mda^X_O~j9pp24py7c7CFLbbl#U}&k5`BznY*Ti7V$~
z-xcKlR-)iOZque5_Tr?RfG~7?y&AeX-i_W(_;~T-;^o!Iy!liS`BQMmbIMC!W_kBZ
z&CVBnm0PbEyr=ft^g6}0=jM~jwxxE@I-vI^h~+@by^dn)VIgC$0z*0jSe)ln+C1W09Z2>_w?{cRmkAIO7VM2kylVmmZvtt
zb_68vRE=pQFt)0W{{Vl^_!TKd=VDTx{Z{B-7mg7Z62;p=u`&~+Dh&W%Dq
z-+#}2#YK_*c4{tH{S{Tf;KnT@1=(`;ck}=^AJB_1w}1em$1b2GRLOu2=wRtW2M(`dV@LhoWf$mNgZ|UgAvh$
z9=B#Q-Ry=E1~41{B+Zq~gFaUI>RMGwF7wIW{s7EcjJ5qzEJyl)$VApG^1StMXe{PV
zJo-GjduB#CION5hXnrHAV+bHMddVhM6-Os0`5I+OL&x)F1Ox;<_RwDySTte-o|4BCV^7MM$LJB@E=PiiN7^R00bj!1gmRrQ9@f8{k(GT2;CwYN=US
zrWO{V0Kd+9ed+q(2RdC^K!p^kl#mzh0lJ>?+0`f8^<*K5@A@guvdJ)?o^lL{m2s%a
z)+vGvW?IHRDkjPiz-e=fi<)pN*8=815j<_X=mgZhUE3M&c?*~ng02C4
zd@b%2rR-|2t7-MFjjmx5=$x~g_;ea=7_=B7@Z-)N!F&ryz+I7mT&wQ?RB@FS;?^~PJpqqwP=OFP@`S9>HDHwp)sTF{IKqxFu>7!
zbC9S$nZ5L-Yps6RqC`AO}`4r1R7opPqPazUZ%<
zxuu14UG^f6-GB_R)_r`!W$U~rH{0@o0?how5pZ{Ek9M<#KO_L8H%H#Ic5Qu9T6X|n
z3ySu>d>vvPJ=VTJ!g4z58;;^YK|}jA#G#Cx6p+oWAZqP`H&rK>WvZo-+Uu#PjAwk{
z-`wWc`ceZOv(Wn2NeqEk@R|PKrmDIE6|wzk!d?=#C-ZuEH(D69y=_#G2q-%s{YLX$
zh3NS-?X=TZCA@4FmytNSuUV|`P(J?aI(`D@C)RnAulUv^c}G=n9>RS*oIkHOab9QL
z_xPMU5Lo~cu$i!6AOVXKIHMT{r_B2JlmanjRh{WT80k8Wp`DEpPw*RHxx>d2TO8NzAhyjG6ln@W=BC6H56HWd(hmX?+>C-S@kgHBQz)2YTYHKy%?
zV~SPX8W7vO@2Fw~W`T8L{5IM1f3pA-ntHD4e6=Q)6;4Vlp=}Bpco2WHd~ZqT7q^dkKBs1tw+v0+6V$C(MoZn~DwEEaUDBm~wwok3ol9gAIvba}jrK
z8l4Ia0v_KZIRouvH6)l8212Up%mKMh<7N?9YG
zw!hsssy3{JP=G5_on=Q=#f61r_~S;ceZc~?F7%(x8HEex->0RfNz
zAPT5)J6oA$K1bVY*+Dbesu?29Fv)Uxd6=qKI<1VVQ>*NHe+DwLY|Fn;a;q(54IG*)
ztY10-3omvc6eQZLHDfYFtn8hOECy;D$O3KaVv?!9`IGSPzz@Udr-Dwc;@+ezQXPKn2kZHx2LYcLo
z_*&SJ$@XGiVtW&%@HM1WqvD0c=+E14NacYx3bnU7aFXV0%ATZgdH?r-Gg^n_K;gGJ
zVNnJdj7K1>92c|YRJ{&lFLK}TJz&y<(KDVgX_V{J
zdM2AzvEJ0v(LXTNp#6J$TU5J3V-d=vxX*G2Sn2D4ImP@WYUxcW57N2{TwlOUrI?%J
z`g`Kz0h*!{eqs>WdVwS#?N<4GH|cG=dl=BlRCo?#n`lXxP0e!chQRz7p?^?oR+D-7
z0!EwY_zsxrsGAb9{sMSbU*2x#o`8uL`S?Rc@r_wKYet+d7&&Z-ptzk`IW`Ffi4J`>
zun=Ewdxs1$@)1jufESW5$d&vY6arYRZ}liO`rKca7_c2$24BwG&?`_?Rk_+MQd5zQ
zO>%bs{x4=6WhhRBz$Ya&Gd9kHv52Q`-$u3Hny>QZ`Q`$XCIDWsuF6V~UBRgXbMv>7-yT9oM^8>4i?WNGo!KyZ?4+Dxks`TM*|@88=MWHRo(n!0H`U~UcUX5_
z1k99{W%aUo8m=gzw4$3z?&dZ(k)u{!&;29-GU7Oav)pwwKZu4LOZ4vHlx2a3%L7pe
za7bqO@RlfZJNUn75IV@x=m|QBWYSL!Kl^
zkrn7b5UU@4B$I3akYm#(mCx>1bLy>4{4()B&?0sPAJ+QT-8UzCLWtG&NGH}3N7sxF
z41=iaKGoA8cyD|x7T=iry(|7>lu$0CyGd2vrfHfD3wbCozDZseoiP9gt^P~i##y-T
zlVZ%+y>tNVf~mJn3swLMD*T1Oa<^dhhE+&hn1xi&9d@tHf~igr(%2)zd5ef_DfyYkuo
z&+9H&0MDl37k4MUC+G;xLMXT1tI{aT^toSl*7aY%W7DyoX@Si}5X)W@Nhdh=@ga6T
zb!^{B8gjUusiK~;&BcU9pSr;mqomgLeM-s_-Re=C*Scw_=Bgt}9U2^LKFo^<&C5|e
zH2Mm2O=!Ywbm%T};Tk9+5#>?0T(GYAM}z6#Y>c_-?b=i8`AfrUI@#Ny6piQx!1=V2
zIk>n~iyA;9!}V-2PPe8e|8cEh!0xn<2IHh#@0#cgJO5f300Xlq28?Zit)7K#
zc;*ikFB$oN1c7296JP!#=XArt%?8E=f^JL(X}}`UqZoJi-052(_Q##UhXl~O$Q%*B
z$W&;o9yLrQDy^;iRVFf)K~#0zuK)?vre!;r=-{!(kyy2A@gdx~Ory+{`lq3xKM;;F
z&QpRZ+7*qfTTx!VFKP+QpM!9+spsmAqwu5y{{-^l(%{r_*}}y0SZmDM4H&{|>bjvm
zY(79F$(o`i>=K*FGl0J%p96zcK+^``n|{|tz0bwbORzoK6@fn}WRN}@mTgk{w$=~`
zr9!j8o?4eXftsBcH}(Jm2If@&?Evq`pVRy#4V0)gl2>PJNnk1n5Q+~XuLafuINMCw
z&GXcku=C+cWqe`X%udx?HN}+EsREE0yD}0q<&;+dj~5Cafhi@7ml>0v?S(_CFr>BQ
zNT`?oovU3DSCsyx@zGaVl5nVzi%=p?NA>n~CDV*4*FGnlOjhXr!w2O*j+hd!PSww4
zCLl098=Zm5%uxobVM=KhcP4VS2v)q5*W~ht7ibSc;3cdZZOY(>46#*kV6D8Bf2dchB18Kk4!L)@1`c(kd7|hWBfRisGIKH5Y
zz!IRa{G3h?^VaaQCu!f)^m$xC*~QnUL*LxVDSm$}WQOqlxk||#u=T!MkHzK6-NCl;
zH${*+On_!IG6_C@H-4Wd
zIBN(PBH^iDXcOq_K>fQOAkvif^&}5|hfbN-enS_ku#E_uCaXNYIYL5^vAg_9EKxqG
zY0ZVp?=1j54+aGtZN}iDF99h`qa8sFsb
z;=)hNKh>b5-uuZ3P*9&Yy}63B+z1_Yt8FL8$FY&MzDG`AesTd}(%Eum#hW3DiFN1?
zJ^1uagJ-13_LV+vl`zE;3*M0-J?tS|+>s`6CYrbHfejA>fMviHWnuVX=&lbsx9?oG_f0Jvmgqc!Gk0on)~2vVs11BmCi9
zzW{Vv$v4qtN)G0}`Tkyj_HzY9xX{Pb)D3VN;QeQ2dM5uQ7$4MPNbGBHkWV(#G9J%|
z{^Z#K#%cQi~bqjQ*%NCD^#Ro{QN
zck|M7_=PY@vVc|A)8h*WC9H%w@5_4hD?Gm|yzkZogoKPbFPZAKpT}N#Wrtvs!JY*5
z!2F#IRQRsV=uJDbhDR&XVM;BAu0t8oQs;$gi5g%V1Nc~7Q*R&`mFRI6uPc(w0|EW{
zS?u}Q>aUeLBTmfE4p{>O>9Qo}F_xz5qR$;+Q$FX;^o76!0pSnKUTTS4dB_jiIj@k|
zsXDkGsmKCNDVpNfBkGOohcLY^*M~dDO(Xl0+Le9#7aPbcx~@l=mn*+Fyz5{iZnP3=QcpD#S%T8m
z7R~H7G^_d*)Z>QGv=YZz7dRztIC#cP@9Ptf37HRc>xJ^|rx3Eir31(FHZZB(+kDm2
z`$Oj#piBOXSIQ|++FHEqAOw{Lp!P79D@(T&>e{g4&%G@@;L)CxML@cM@?68!;3&vt
zGU~MlGRqoI|3esy(7&Y&oTdt=1WXpE@`fK;vdpT_)~=;Vkcp@@U&U7-ME%*rb#3*2
z;G8c@GLQFGP5oXewB8;E7gSA-TBHggHOAW>!Khw+8Rcz0&b!fSo5J+sQM~^-r3XGj
z1R?nv5h|?A)p_v3^ah3sMAgJ~E!vB;D3%04B8g(Fg#t5NmUT}xXRl!Qsoji^dz0EP
z6bS9cwDH)Fva>e4C6bVLrY}&R7z9LeEBcLVG)yEUyCD`_UiH2bF1Y-02$INf>G^Z&
zv9tT4UO>k`V;+H5PK}~#y{(Zx!MnJ5%Tz1BTLNM2W7Qy38jxqebEW3b=?fM>4NVkK
z8g39h{XJ?^$zv!phaZTs&vfk;JVw$9FF;)Bmq4U%qri@74g681AduV
z?Vq|!W-+TEX3BxyI&u^-coJvQf=oF$y29?JWyS8Zg~2>F@e_P;|6A|czwrm8D$n@L
zqpQ7#wW2UWpi+z`7Ud<)SA)`$P(t3O-;!!@*3O(*CLE#Nl$Q^Tmy^Q4AW3Tl$6kE~
zOR1=c38Mrx%jElO8aMCzipGm%+*_Fh5YcL+8@*X6dI~0EUuqX(W|Aej3Oj9RWI(<8
z(Yqq_P`SerMtsL^NQ0k#Qlw`F1mGYTh3V8G6khot(n4}qxQ+f1M&2XmWae0?ucjPQ
zsYhY#M$gd?$<2MQbt<a+;uu({nBykOQ4Qshra#uoCq;sbql{fS
zVn$K|1r%cO8I>XSQVYT+OA$;-q*qYrl`bOLTTge{K|
z%~p-n;7A6l7#7Fjldj*SQp?UX70{EeA^Xjl+y@}D9{Blfx!g}-quVSGq98WB$EGba
zNcK`N>Pwf`b&&SoRikJ1d(7e%vD>oOA(WLYvMk8w*73?(Sn>1(|5|W3%!TI=n3XaR
z+=*f<&rOtgA}ryIRd8CR{LHmSTX-CW*Hw_{Qq&T#u$RRvJ>~vi3X&}5>O3xD&W@H8
zD{Ai0wGm_=(*4b_YBom;WEO!7tu)q>5Xabo!m7t%j{?9kvND?FXYfSf_Bg2kHD%mV{Ha%kQh__>dA}L=8`$t}!;vCp{YkE$xAr_H
z_w@HgNW_#@GHJejdVUa8Xjike@$K&1o$rdUph3}m`M!*1q$T`o)qHu$Cg;%QUX6c0
z%*!jl#|)tzgF#hNGGxi&5|Y^Mk&xHs`@nV5f9>pVtiBLpYY}R;2%m)yg8>JnP1dK;aTLxY;Gk!W0
z5VfB0CmvFY-=PWaMO@6%LF^3Lr=oyIjdtqAl$ssZsPz=sx%Vn+zIbPO-HIF3$B6@>
zA96=flyY=hB5N0`381IxP-5r88T{^-bl7!WbliXN`(f||Z@*NAyQbgte6}EUHlO{-
z-1V4JWvrth20KNDh>sTt-xrHambPsK$+bcLmj6NtRHG%K;x)&2#W6|=J+rtnazWAL
zfyX$C&*^4zSRVhu^dLxv$iv5cqDN=rdQ2;_f>CCT{rca2@?wQg(0^#ZsA6=-d|y!W
zdI_95P=6rr|Mv;^H<6g^w@-@
z(1O?soXId()G(^7j<_9r+92UC?B8Lm^`d)lxu|r_5Nf|V;O%B$ETPui_<4!qkqi1VJ5!}4()~9xvlxV
zh|Q0HwYDAZSdbXmD1~2UzSi(&mp5YDo|EOM=12C%GZKk+lXnzUgBuwJu|PU%&h|uO
zydHaKxdXfRZxBVMZK9g(N)WQ7Xk$@IkN&u}nlxz!m_9T8;Ta?{UZM%gFlKNn^`fjv
z6a5MK6`i9<%m6#CF!|sX8yKDbsY~^ZFTfTf^$g|-h3RGc57olWXiB?3UJTl<7u?ho
zM=7c&iY#RZMmsUp>!*HL4;=b1^(+Z6d>c#+Rd$LjD}u3nG&e324DV-YFlhuO3$*}x
zzH=g!5vmwL5Do(Rv}f)xKlKBCfFoH)|4CCjBffxFm!gRCpRct|KV
zw)7}DY)lD>Q-~2}mhH2^8K;0*-=x9=CH#B&043!E{NQzPD^`27u-g2w@$%gk^}8rf
zso@;0sNMI^wVD4J_dPCQ%WN1IRixPkqi6=g!s|u|a(|IeBrjL8CbW7-(2z^Ct8G_e
z=YL_(&m%K6Cn)9d*r321>fAE~xqlm$?ucTmlt}AkUPy)dR_alX5Qi&{55#!!=zol`
zVmWy$Yle|jLFdF`VbN7%nHT4zav8XOpC$B{Wq-wzuvoEtLZ%!FZ%+-K;h0Mr=GZfI
zx$3HgaI)N%{=DwJeUf6A^`lz&$8>ff=}@MF2-y%xYe2|ng_{%pi~XTR1$Gl{?gj}s
zA#qX#6Uzpgl7_zmQPgKdM*(9wmQgN9?B~hJp(mWixeu
z_1{T+>F(e@x2owtw?8^JUjm;MIf92#>2*^38ZV;?Im!7&GzLB>xK#+{%`md2FiKSq
zmLMDaCDxO2kO~kBR{u~U5J>IE)L7Ye$CaHB->kBMOHX_U*eX3j;RhLt*uss-&8Q-Snv0cm0aoRULv@23I~&iH0xd>L-sKDfGv2
zl$WI4TneS0L`Eif{FLF{NdMXC;8T_xNIdhXed{ZQs5&+>rL#X`a0p5KeW3b|*4?WM
z;V#8X>;T?;ZvBD>uf2R_UdYnTYGcGph4}~SloFn)hEpmXdry~8mkIWJK$3_Z-ZBi+
z9Mn-
z6Tf1<;Fx0w>A2kIc94PYGdbStj$3fzUZsH8r=2mv(7>=ctax_+L>n2dumfH=$DSM?XO#c1G?bCB0IHxEX=>S_&S!lj}Z
z0p>{K(gEK-oxE;DPo>GYS^c@_WXsw)^Dk*{kgyuTD)msrc?B)tX44grH{sGyOS7v`
zGD};FYL|PNsOKmwDXJ--ryf|8>(yuTT%$T>8uE*BGyGRx)2sulWnKdvv-fHMY!w5!;TwpE?+E<2kZFYLBwE+xCN{hFn0NTxwD@i
z$-7!!_E5)TsX|sBSBPutbeub7*dWQIaH#r?!*CZ4{q0(%ZPRh8U8Z9(z{A5LRI893
zzqUPff=N@uB0cgwCp?@dY0bpeKscmQdtw2eH<{ns{dizz-viV%w96$`X3b|9wQp!ATUW47idY@CMxCobhl-(-j<*K*LSsA(E@_I1!yTpUsGYQq
zyKIOSRSc5z5~)~wb#j);H{+f+Mz#aW_A=FINp9v$iU1AxH|FkpypE`B0|y58wR?8_
z06L#Yg&JCk@BtZ$)@5Z992I~o4_%ZKAT8T_z&H+>6!;ErrHigus90Z?y%ii`H^?R}
zFT?%vp|H{s8+dq{X#wAJ*CepG4OU{miTPa&-Jg)X!3U=CR#abFO2raqR*HHCGT$y`
zPJO%hm2P)aE1U64v!`Niu7H3#DlN~Yrjxi3ZaALO|409$9S?zsU`>I3cVfVwF2%L<
z9JbBLWA>u-rpG<9jfvb4vA>%k8ym;fI|YfnA3m!tJ|L_xm5U4+lNT#pXVn;C0`z<@1G?uX0ngmLmBB
zv*c+C2#8u@{>t4l4$`CF&^Rj9lrN>^k;)h=)s~YI$CASkajKb`+hKyJV}nc)b)bJ0
z#7$eI`4qJkHyxd?x(lw_dp5mZy-%L43if?b#4*d5yDM{^I`W!a-vIk$gP(k}FCGkD
z?FQIB7I-Ru&-GvX(kf8C9qzk^(;vZxIU>ec{3zgnGN&$k|C+&J{?+X4+5~!*
z%$l!Ky?M7Ov=x6oZk{oK+UqCr{zh8MI)^Z7)kP;TL6@(J45V+@;IPU!T3CH4a1Q!K
zC;WEO|6E8PF1&nHB#a~KEgmV}?#=sNb@66>D)7MkOThe~$RiFLHz-oNBay%~m^ym}3xgwLX|J2P
zp{L1z`e3rYxYvrBvVndTHkqb?2Wv~mPQJGhplCLWgpEc!mmI*5Qz9a#HkAWCUQ}Ib
zR9n~c(0S*(fOh*d^l{B3(8QCgD-^|u+#dV5FsBXA>~O0FPgMBlFA|4YeH~m=O|(^U
z=HECP_|3c4|LTcAgS_;Jw(~i<1;ussC77*Fl!f~($
z^bNVenl8w?7EGS=w8_}fxt7Bj)@y#UmrWlL_TXCwF^2H^;fIln>Zzcyw*J`DJ0#j&
zLP!*i;4Pg{wDl}~%7Q@$#!S_e?-FTWjVXEJ#ldozg(5-c;#f_0m3B%-`CTNcE&Jgc
zZkaLBCG)7FTm0@Q7j07tUm8OL@Vx``c7*6hL;eTJKsLWUKh_v-GQMsX-P><#3ZPuO
zm)1hS`GB+Cmu#TQU}C#Ujl@ZXr&NRGZrIe^NQK-E=4`zsNLmmZ~4Go1^4I~GkVP0Ia&ep8eO$4
zA6&zTfE6*}^$4=Eplt-XQG}|Zoy_6d`fEYFxc%$@j}U>Q_jk_b)VyMe7_xM7f&f
z-1FBz`0boon^MfqQ@NTvHz;F>-sAU)y@!w%q|pUCn=Mil43`Gj`5d#_hxr8MeHuED
zBIS^Ff$eraqO!T!Kw6~I>Skjr)zi1utG9t*FAHL^KajoazFZf0T>z(mhP{aL0jvk>
z5zgX1l`25er_OT_0@t<>B}y8I3D#w1
z6}fIO9&;*8xGPxR
ze@Dq1ioj?(W7kXO9THgv$mR{JCP%~>PDG+k4Uf@i#Pw@C6sAN+5Z3e3*%x06Vt~n0
ze-QtNZ+kCGQF3f)2{)eO3YlE%bBT|3PqjixL2N3h8k7`hDL5o{(W3%-r>UR2z&9({
zqG49wVAo{CT)vF5xWJSFl+m34pCFf#Q%BY~d3Z#uU!XACc-g5@hS1rZB$07Mf+A#5
z;9A3Iu!d~|)7^%0kmGiC&^?g0g|O)Ch7N<(MBm}SbO9?xH%=(Qi<^^4%D+kgcR{@W
z`P;?~W$>w^8*ZMaVqc1lvwJ6Vv>s_w07sWzM|U5(*DW@IMKCL+UzX+Eo){q0Ts2XX
znH-|*CZhsDt+F*8b7;7Rn{6X1pCo-u5<76Q8{)_SJA-`29j6Zy+*PttA%agbx~g-4
zR0^dv!8)p{Vp^?Jv^59aCZ~WOI6dO^MPN9o7;3l><}@PxX_lp+oVS!A(nJq3;zFwD
z2cseDFKuI#qNg%?LUHZ<#n*xu;L(r&7K7Gfe8WHv>1UE_Gsn`IAzM2)D2J=`vK;R{
zxfJZ~?9fvRsv2z!LET_QjCk{KL^yo{`SfL;04~#Vb$*={R&NoS-yg_QO7g77=2p#c
zw2BOxvuB^Du@I#K4Km7GNF-W!>A3eOCGjz1I%yGojUXp81;I^dgGDG%v?(y7Pgl@H
zuLxQul1G;!3nBJ6(?ZETm?_*QV*c{eF1%vRzqnM`SJ&4%0=*YC-MIJ
zc`vXR8$tJ;LWx(biEmZ_aSxx?S`&l9JBgAR%4jOP!sq|}Mc(zcA%};3l$<9lItJ|A
zBc%fajR%(vsr$$Iy>C8C>m>C!uqHGhXo)xxF-kxTxT>bw9z(s$LD_OA@I%M@ys5A0
z&Bo*yn#wZ{o*=;lSkpP9AYd{>^-~t;WcnGhJf|oMTpcNtAp>Tc+ph&N!20v&DO$%N
z-ACGnQLn`24Z~r{)Hhh~2th#%c<-nt6IP6dro{-&m|%uy&lCotD~3jOp{S-+7e3@qxo^HG;lt_X1dGjfj!ZsY;rn
zps6Cga*0p=)&;)p;gcLZGz3x8@8>kGLAEvpWC#RO_csPbu!5ijO31DgoziHj6;Y-D
z7ee6km+KGRV!C!)qia8JJWVfk&v$_reb_sB6A<0*HNCK10Nbu64mVGA(bdy?8-TyH
zvGqz#Lja}OtDS=vco)b_A7swv`X;~liOYP;y)YOZhqz1Ixn4$LF!?grO>BT^e}!3j
zhTnYTC4T!0TMS0`QH^tqnPWpFDnV3&$~O3U1Jjyd9Vbo23G4Z*XO?+OAy}R4V0=y;
zayF(7m9B6=sbQoI%Q~mt+@Tx{2_h0=#1l|4a$t3hmo9FSNriG2<^JR)lmArcPG3L&
zBBfIFltNldnP>ER1-p|mS+4QkVtsN8tmhTMr5Z023KavJ0ep1m$(SQH^0p(Vc*p&(
zOA}B<@@rb?D(^SVS}d}Df5gVMEu`!*7#u>GH9r5vZNBieXHkPyvMfXE}ZV|&ZB
z|GDVXMQ|^>C%E(;t|fL~ck%J!d4eZIpK9OWiHrO03gPCdy*F49_82BF-!%4poW$^<
zX>Xd}386qJF1>h(fBmm^sakl)JHLavmWWuA>U66GZ(0{
z1I*e2<$HUQwX&N6tD1)G?QLeW8Ad8b&hve5y_0)Z3X0h_MH>({()xm_D``7&no*Do
zMc?GiC)2&nF$(q^6PK5l3C<&Z#I=^pnAc8XfTgz26O40b)V%|k
za*aHc3@T08DqL@iLD?d>g13S?D>+-A;OBp{cmZT>*jIdZW%T~X?P4S`rNs+2+oJKMs#_aXi&T2=
z|C_jvkDXR^OmzYgXk$i}rOmc(E3~HDd>z)ppapWE^|VdNwz-GTJkjz`KY59G)qd%w-dICia7IXk)%SH9w%;PE_|J-?gLFECc)l)%cs#$=4$
z9y4kM$H_QmOaA^HyPT31Q46-(l3l3~t0OLKZL(f8m>LGaiBhwg1*Y?>X|vgNEDOVh
zr9(JhQF@PzmV>J$mo8t&W|}I`UJK#{{zB-DGnVt5SyNL;
zfzC8-Tajsj))DCwQnRzUg(yeJrDYDRuJHD^DZcjAYs}g?a|hcyJIr^dBB9Y$VrNvZGJ)uYUV+KKGRhVc@TS=-nJ!{S>;8#5kjAEm46(6Ge&ELpEnU{`tT8
zZGQh7HML&BDTNJ=te4ZeIYAAXyNXFQ!;Uu@c{m2#XEfjS`nx$;L`+$rlpt9X)(^Tj(Nf&7%QbDkha?mGeiC2=7ci;V55bs}jsZNEJl@*G?
zfcZ2~TZxR|ooBn*r462}Yov$}(NPfFL{5+a>S>KcQw)YItrQ$NeT@HR_4WMDm%qp(
zH*SD)jC+Rp^adB(IiuwRoXD2;48HsQ{@zHVl#SATmR(=4)+YBd`=cOp`KAX
zFxerPKpeG183`fcqf3k?FA^&;MzYwx;z=CEf>s${@%On`Gr613?@x1Y2C;k@w!DWi
zFW{>E`15UFr_g?nb`ly-Glo1*3{$pX`@kV~>`=Jwj=uNBW
zFoq5)M{B%U#pOr2wBGX6*DvvFpZ;w&cA+){Y_>w>(hPNwo;Eh@c)?^m$Ap@rQL$`2
ze`x?8c-(a!fQqa#KR|*v)Q6vt)WIkc3pP_?85KsaF
zo?uVT~GYLOc)0TDW4M`tBUL}`U;=%jH{b4hmh
zB1EL`*dtxTDveX!`dE2x#dkZnX>qB*&2+j;vqjvuxq4m}ytlBlV#K>hv}u?^mnFmk
z8UrEYO7FdV?2#M%rX>|{Zj3^wop5WR!Te}it8`eV2acg6`Y&QxF{4q@(=zu
z@mdfAKYZr?zq@|%9IJ)k#DNk0GRH@SmpM`8P`5O7#m0?w@+>i{awW(B6GHMS!Vs)S
zOG6tRmOyX0j}wkzwnV8Sr;Z+CITLJN-@w{{8Y-%~rJeguP4edDW5CBGPB+u5Oj=13
z6g!i^m%nm}XP&;qaBzg^`_hve4B(s$)`
z7jTP9(hWtpn-t93)9M)G&2)TU@a{i}r3UXonUbhiY1|Ug9A_R5abaEZKmFomzVywC
zt$G=m^*MeJ{`QZ(iPOEOSe9GN!zztB#zfr3m!66I%158zqo2FN3+p|`VHImuX>^}P
z8dR@GUSw309mX5ikgcO=9EU^014i=w_nzRpk00P@JK?Zy=^MvR%n4HBwPI!+TiX-r
z#->sz!Z3$XnUP14;5ZTSA~0!MOwW)NeW0V|A*qGod~KN?I>6ViUH|ZF=`<;Qu9_BW
z1%tt0Z-HcaMi4nlH(cG=Br7wvXBDaxAQirCDFg%zA_i1YWSPc>h?Ef{Bh_pNC9a`l
z&Y9kbLl3=))5~jo^zpCoo&+)?Z
zPw>9K+~)(|d4|KoG0|;uFhmrKNg;{sPSfZDK|0i)4T@MyKoDZwtB+-P^>mtjC#l%u
zSKs_RyBK!Z$D@8(ef%mXagacfvD@Y}aT%YVYYpc
z=#PJZ0|&;;XG3;W!}HaH{NZCS@aUJnz?CgQqmNLVlT=<4bl}j&?
z+lD2Tet|r*$l(%Xk`NS9XILSKWzJ69B;5lCnGg)}NQpo#
zvLT@L7AIglAG0=CLTibQ2``&khsz9aeCM~r*S_&uO$_kRLl5zpU;j0<*4@~cO>?kX
zqfj6uZQUSEqQ})f;=6^HQoS_7r=>#CpfpPGaILFE5kFF}8AymJTp!3wA?BZ*Y=b-x7@E#qt2xcM4|L
zdR#iU&hLEYG4hp~O&^e|PaVICmPbGxXJ(ILILeC~SNYYCU*u!IcZpy7anEQJJ0}94
zw48GdDm}I$1ytx}fg`uh|K>jYM^55bK2dK;k#7rJ@keyJU+Mj$Qf%#1eEuuX@aZqX
z^P4b{2buLwQHLd}<)>)obB?U!oIU#_7oL8S5F{Zh32MmoY=Y4PVki)zB<~kQH^ce~
zc+ci;ps`gdJ)*}op2AD+JbDLjy6-`LFg!-tR+!lwQ+q6drmv}W#w=>`7^qu^(}pHO
zloCOtU-nq;FHxwQ#Fj;a)q0Q_)HT>@PBAPI3!Uy5vBC4;yWjn%LSySsjdt$)PMwbL
zKYEI{_XZTZ>zKSktV*`R1o6ZKYc13HjOje!BNRQzdj(2s4l9ojo#KR1kZBGcJwlWM
zof#S@P4($<>oqP?pWhp58uVNzxgmHhr7u6
zGvwhqvgg6~K+Dv@5P=YyeWpWN3Il@kUgvvMUHdE?$&erC2W;eE3Efqs;
z=o5%YtccXXGjoB;1)NBYd!NBwcb%beBPME#@h#
zig4fB3e)i%tVbg79o$nC1%Zlr9cdasHT0As27wTYAOy}w3TcQ@5Rt?n2ri|k3!33<
zJi&WQxjdx5G^Ag^yT1LctZY_%^63jadgUrTT3WBLTRV((kKu4guPCwIJaP1jv2Af7
zb;fV83f=EW*ku+8rhR3JkzJMZ^tCNs{P;OO^$2{&n-B2rcizMCg9mA*8yqm>#P+fd
zodu*J;c2ddiX>S>8XpYa5@|cx*@zGUi6Q!$G;x@Yb15{LQV1i#?WUFBA_VX@Wjlxj
zzcg8&C`&@Nf|UojKFN6E`3=7G^>6U}*_yNJ5VLteXG5YC1Q*DSMrS=T;W3TCcFi-X
z1!$F|c>=^t(`yD09TtI)4U>AzM!ij#*BAqXdY8;?b1(3o6Nh={i6!po2lV_pe%#Q#RB
zzy0y}4}SHZy(Z7IxV`ypZ|C?T_;U1tS@kOG+-q=XpfOsiD4
zSXt3#3S~4%i4Pu~XNiX_QkOY(Y9o`~F~X-Buc;~;Z>igw<)bB;41CKShdFfj3GO=k
zBLDU)U*+6Rg;sF3X{aMKvl%`@Z_rO0N>r4i0jgM#%y5
zDsbfwHu&h5H+bE>J>LAr2l#>e3o;YQwMU8y8RlT8>6jpNi!dPYoytdm=x(OYJ_!jb
zDO1hoNtDabeQz!%T(^|q1U8Z;w^WAEB`?}H(pbs4^IJUjwdeWf^BZhT1eMQeT*;1Z
z$+9wu(Ax%yBNqzUdVDR&d1h`
zp_gRN(`xn%+HaZ=q$?(BIn&xw3^m&X&TntCYds(R#HaY>|MQ>5pZLkYDPBvbfp?s^
zGu{y*?>c>w)6#LgCuwKvT)A|PgTCA&J9r|EZJEtmnyz89Y9Q}rs3Ic>IDGsVy3Et(
z$C$i@TF3RX7s#9^lM$g{?k&PdM5b9jdV;vJ#&+JvtsG#MmpuB-Z}8bizRn-kNk+?P
zO;8z)P~^h_QE8%(tZMVJz`RBFW*?IGN`XEXJ@P^!VoTHP62p`{k4WY5uI6oPmb*_2
z-t_vrx&Mws92`O}=H%2E8F0-`f~O2f6%oRNaD-?HAz(z-4Igwca9HHVX`^e3K1~~F
zYVe@|Ilwx_#`=Wy8(Tbb@gUDWf1XR%8iF=Nv%+`|l{4hMC44c5Ac$>1c|n1~NRdVy
zy=4#!S_Lx|n8|=QY2YJRM`$duJxXAl-vjq?f2lYeYWmfTW_J@kuTpBNWFn)-q(V5W8mbCPpy)}meo59VIePL0
z!YCZ6F3qIHxWJ9`mrzZM@D^!0?c_pZo0h1cSY4)f>=<#h!o=h>c@KJhKKjfSzyHNA
zadmr4EhU>S;FU&{eWFxk((H{oDy8<+6&FE!yLkP}(l)(}wQUNxOzkzeytf1a19=UF
zB^M2&+;eQzaNp@Q9=Pi`#}2RZt#>B6V8jxFO(Jr*bRQ$8OSnWTs)a^5sN{%S{^e7B?l4o3^E{ed537kd+0?2i7=r
z{3t<+q{dX!aWm?oa%FD15ML1pViFg
zHBIAq>~evRU>*3N5wb+c0v{yKLBH_Kn;PpPQso3`upWdq#g}rEGCs^J;fCO)8TvQUrmHQ1@%h42}Zdb$H18U;hT)eDoLx^9-D29L|z^2-{<(
zm#-q~2Hnw58|N@G38q9TX}w56EHsmGf1rn-MQmB*Su;T5^k&{M^Bz$
zcwi+pPdY*NvYxPg^*VCako!QU5(l;=&_++zNQ?;NESd?j001BWNklXxL{X?5gCe+ek_jQ$7E4GGQNkmz5L<+_$)rsRiY84Z`Op$#3wVU|DBYPzbn1O!
zA*B^XcPgjvWzG^pDzwhhX%+;nb1B`HnyTJlG#a5zMpad~;87+g#>l*`7>Q-1_INR;
z^-}^7q5DK%&{)VAGpXiOO%h5fQ1rZD7!*U9ad&=$hwoqE?I-WzgvjVkYlc9t--qDX
z3cD15sx5vpWwLbxA3a`yH?Y)58XJgG(FTDH&<4Szve*^|XYOXOJVY3QR1qB6H#NFhN;w9;hSVC#m=2ZHm&2-aJo78s-Gn?AzN$ZT>3j1dAB
zIjM=|jOqMI%9T}C4j!SG=eV^ce&UCJfWK-3fB59n{G-R7PP4{sOWU?M=WdY$8udqe
z{y+OIH5b8L=^09^lp%zc)<%?%lqx6JhQ6DpAdM~=pUFfGv=Le#sr+3@XaL)BEFIvI
zvStuyQV_?E5tcOZx{V|V3RzI6J)vztCd*YDQuo`G1=&1F
z;b1_B$h@s+<_;HITrj9GPRJ0}dX;^vbBD2|ys;c%*%Xo`QqeTT0(@Pqr-r~!grQ=6Y!vQ_N
zLfh7$BFk$-s%lEs)2N<-+%U~ga_-u7zVOtuJo>^po*73rfLen!28(6xA!Z{SIiSgv
zq7;FpLCKm>SQlu#Ps}2v@JiuDVrdE4;=M;jg+?J9D51!NL4?R$ce>LurO!gdG@IPz
zEYN$!F8Q7)f^f9K<5hBg$fQ724ZV=$?r-Qr$xYFFLTr<#l8S`b;@XCn)M27+VLk@i
zB3(sJKzfS?258oB90MNA;k(ZCc|
z{;?nXF`RQ`Sw>ygl+xh6!6`-P1`p=Kvq|78fx_ryjAj!GqNPeBWcXBn#ej@~153;F
zbw*=Tw=vW$N(*MQ8P2&^wRG9jWACJBJ!#H4ku)4yOQaG^cE?>c-XXB0GraJKC{aNYWJJfL<`_hv=wPN8BH)SmJxn}CpM>~cP_z
zlO%*PlQ8$%2Ig6kMT*hleS>S}*mjP!ZDND96N)UOAdp3m@(qSGiI@Z5cK_Yne`JMk
zIW*u-({jMh8MHO3b`T_fJ|{E|>A>5NTrfxhDfB*nt$5Rlg${e)-(PUfb72bRL^pP=m_qi$<(mR^9F3&_TCV{0R6Qfq-W0vQ~^I%KD-ekUz?
zXvrh=BOG2Xxc~TZ9=!Kn&fIYa%TzGmrkHHfpYBjpGepzU%pKLV#^?%MK(rAVB|;mB
z5!bYo{W3KW_c7dzF}O}5DemLFr&1>UOiCpIe<>wR2-I~=krmxW*ZrNlP1<*JC2fRY
zaw?Ux83mW@lp7xAsZha3f$TO?q)N_=B9iNzjg1=^qbSRgk9_1KoI86l-gWmW@#ijx
zfBx@$IDYh_A0x)d&dv^l!4M$?JzsXMs=%C@CUwdef1LFWH21kJA8x#Cr(l>uM!)>@|~yn!0X;XRg8G4a-6+>ohQ#e
z!;?=v&P$iKx#j~lBq2MQC!+q`wb-h{gp8_jiIGHFJTVAR8YPp|ZZPThw@9bck+ool
z1r+(qpsht`JgH%32&1vm6Gecw#Ycf{TLhldS(fUNQOnmG4u8FOfH|tPA7;6h02jJN49||d=k~~PDCXY8t~2`?|mTA`4*BOmQeCR_T`tz4gKlY`s#vlB_A3_L4uh+x5
zz+^IEZEX!T>tlo^i%E6R%SdGe>tyWu!17!(4T2C9Lgr*18fyt6dEUkt>GgZJ5GY~{
zd*be$&?MHTrk2*XdIl|=Q92Vr0L(rCv=AIxMKYnO+ZNHbWJGeM$g_-0SeoEz+c|FB
z(oA=`boM#OGEAN^IDR)vM^CbP_#_AVOWbqkG2V6N2;qAl#@mV~u1#6r+Tg;Kmw54|
zm$-amoy}>@yaiviv{~ma+Wl()PrDc+W){2e)h7>xB(UmPjMb^|>ZW4{Y>l;^mPn>0
zA_Rs?(N}`L$~n@`=^+^Q3f6ihM^~0Pee5tN4jp7=IG`_HLP?p#1?(=vnSiQ+#wTHd
z$wkc0CTq4%E(;C#wn1u1sSIuGe4u1N3yA;}0^8bdQ2ADJ%))y*ghVxM+t5i0gE8Wk
z0A6g`ZQFLABX4=HJkJ>ih^n9wh7AuFTE`1May2Wda>IP#;6ZZbprfP;ljMcH^{lO}
zarNpIilU$_OU|D^&oBJKhvSDo{KubG|7Qu}wzc2$rib22uh(NTnL(74WuK!*SDDRb
z)VhbKBE}jSBSA#0Qdp7FmkZjmT{~>ml4TjC$`RJm5Xp4vG_Q>MI4uZT;De*_Y4XWQ
z$g*2RD-tH$4JYi?!~2{DLkJW_v2Ov?$l%dZA-rRtG+7M9wkFmVGKmTiBS3jiPNXj-
z!FdQZ)eGN5Pqvs}dx_9rL64SL9re+Lf@Vfv8?sYJaCaW3at+
zURR9gb2fIzT-)AeXEJ442j&gzRIjXkyhxZ;*TG!yv?Mp(Nriw1dm3~`%p?a6AE2LS
z933sQqH|XJL*7#6^s`7$H0M1re;r7ZIi9kdM&Lfn-w-#47gtCw1rY+23a~2^Gd^bKR1WL(0Gx5dWac^eY
zTAHRo6}^;Ibflr8DA*<=D$U$$u2wDQec(z_vN7nhqcz$|R7|Cu4j|g(&Fp0$N$-0?@l>#
zWQnF}7z_rC8`-&q1Okp2LxIAGy!%-deZ!NAG;U(n1#k=Nx&S#Oh^c2*Gtbalkh(X%1)CIE4
zpas~@Z9$8GcY(Hz7}YSaW3=nhP9yE^7E|vC&6M%h21S2BEJ{q-W02>lexH0eK$r|K
z0^fSyy|@q{%ZRzbD-A`C%yPVd>Gd%&dO~z~@9^H@gY6cv$4{$UYRdiM`9cVmR7Tb>
ziAFG78qm&X6fRP4ZKG{K*E>i%hFOcK=1Ep)K8LCzG%Ya20Z~Yl(wzaGrxg*4XCQk-
z)8d&Re2bDG@|5u#l_--^q|;bLfwK;!v*bEq9kJ*pr(+UCSolwi5ElKdz4B+#yu7vV
z5%4a#LG-dB!IeZ>@5%F=yzH?ttJ!QU+g`CP4Lhb_qv*3G1qV>%9VCZKqlkfkSAi%5
zEo~BysAjCLt}>bIGMP*$%8Z}=*`NKhpH6@L;~$Sd^;3U~7?Ns7(=^<7-+ee2Xj{u{
zHe=2J5tCjPp{vWJA}Wm&n(M(~%7V(*Y)xitMo({`(OE`Ii!cguP3t{UM1qnCqnXd9
z%xuHjZBs>y21twnrQ$74gF+r|VKdYT{|xe8z_at8&S0KIMTlL@`~oW?sEnVMNnN}3Q6d7hLNe2Dh5N6~;wUDz^!=2zW{2bLgnL56-3ks#
z$>9@yjvP9Gbb(=>VZ28>&t!X>$@UflZ`tpY9dFfy!%H%>20(N(odS?senuH7opB9{cbt$z;Z|D7{oK(ohajOnh!k%p5;
z?_$JF_6Kg-r4tmfsEZev;-Yb~sEHTy
zwF@TJfAUWGN4zG+KY0s~|3BaNs{!poq-^Dt^sD!9dci9WgxvmIGP(0FliBrMzeB0i
z6?R>NZ}B%2N)m;{g~SK%&tO%;YzwsMqlP0UO0Y%X+<1q}Zq6o-nTWKVrEBg3eHR)0
zf3Rt>*50y?l~NQ%u@}%n2>$!O`9H=#b3y!z|K$IQPe1+iULY(jEioJp_b|Qv44ePh
zVjfyc8B!2OU@8SSgy6*(IqL&A>WIsSI5S|{M5O8Q|FZYyL6+TDo#*Gb-0dxySy{VE
zRoaX!YeVuP$(Awlf(>|KHOMgU8L#G~Dh*Ua#M(SD4<3P#3Zt;(olv{N>P^OI>Ja>W8U^6H?P@f
z6y31zxqSFb5RKo;@NGNqc*CQu%i=fR%)06*tpOWjD2ieRL`G3)`|S7ovpl%bG6>#R
zDjYJD$egFNke-7&
z%Iw&P+xw}MqTlb+@AqeG{DU9-AW!_m(^utYUzMEr=(DH%0}s56NGIfZ&hFj&7z_qP
zQAAZ$vzt@bbzst5K!~mN);&{%!B)akOUYCxAUuVYq!vE)^hs{EF^3oDnU7*bnNy!x
zp(q{w;Q-^xh7&7i8dXvTMpVlsmI@?thFCfmm<+QKs8UkbHEA1P;4C=ns8
zM_I_EBlQMX*G!YGPrqf0wX8rP1X-5hy=O9+gzAQZpZ(dN{l^1r{q#@&G)gJ*JZCr@
zvbY$AlC?(LHDGHkYLju8-36~*5$dGUVYMPB#ac~iEXq3mZe_%?^-*3>8t%UCAVxW=
z+M{*KnbDNF$TpsK4FGACS)KKv1S3Knuq6|;i_bUT%b0c`n7HV0v)f0F;a>|YI-Py4c%hkaH7J9dPnE&Tma76$SX}#
z(lli_9I~`jp_Jec|L_la_L&p@`ojmrHEqOy^@&gW@BGg1LhBfrY4+_4Ubw2N*{GDZ
zWi5f2h;h~m+wPaO7B^*i$o=qKPmN7ZA#PW2)ox2y1WldU_EW|Nsoj3V!
zFj(J3IB8~=H6FDk3fL9}YyPi`mWUhRN33OE%(w#;eUENML2FIv>{^a2e8@RVgF#}vpmLVVdP*F|gKp-S
zXsuaTSYUN^nKX^Dw&rbbd)u|26Tj_kZ^L^}RaGdZ*t>Uc2#K2UqHXBWBGcWDqVCbH
zW7^12DN89Wl@wGmq7*T;=u?q0*}I=FSx<7)&7?Qp%-3};
zmdZNnX2*77{UvCbTHOV#l%gn#^SYn5YN*&OoE95G)R046lZX~vEP&Vf`}1<*_WhLF
z^nBNvPu6efZR=*;@TA*mj#A1QxaGa4Hld1Od_bq27u42M7)M^iBN!g@hGWBwJKppL
z)b&TG`wN_2DH+b~r*9*&TA@piv;wc7(4KQi&6!@kqfM~=Zf#y%mL<+PhQlFy_UvIi
z9^;(jFaF{$c=p+2{+c!7_q^x#{FlG{<>Iy3uF~kP`rRr
zJ0{vPNw>d88>NVW8PJs^34_6a;cz&kdH(p1|M<0=6aT`0{57nN5hCKifg>bopRz2;
zClgFnQB0?^9ZCuj`coT4j`J=|XAzXHj{q`D)5l<#jWy6PsB0o2dFTz_%+Zx|RM%b4
z-uoZo3m^U~KKwsE#v^Aw&yB+cj_8>E)-kM0w5U+2U|dXzvY04K(F!6RMx55JMr(yB
zONLVzO)R#us3#9lIvEt%A46Po#j5Y)m^t02ibm+r?&g>`l4!!;F{5>Xps
zuN#HR4Mx*d#Z(0H3t*fhN|LboIDzzGdLp&QO{ZkFM>_%1VT4EYKvrAdw^SAQVuYC6
zjjbgzNxXQoL_0O$
zRD&{mkC$QEqjfdA>w;{QlJ)x3xnYXL_xhYRmM`}s4vki*fQgD2i9Sm*W0|n(
z43lsD9=`f(zJ^m;lVutAzw#iz_rZ^lrkc@cgt^$OA8XDgWmC-@@SeH}i$*GEbT*
z&-jYt-cs~ZPUlnf+>n*BVztPbT7!yXoRmR+)rUR97}H3aw!Ky!CwA^tH#^4*X;5EF
zwc(xKo3(tF^|j(nuFblXqB%r6rd7%?ygaDlH=Z?YDupq)CX(__Q5OzbJCs!v7IFtU
zij!r@=g*wxSzD6to#*vG@`K#>!2LmHxR;S+DTi-3!mYPGALA@(FT3JVO}EC~=EiB7
zBBf-0ejeu>KlgJ#ckOxN_rL%BGqJdR`}Pq<5v!}Kj7B5ss-mvz^Ne^_Vz|uD9@izW
ze%)&s4u|+iF}4+x$}-%uhrw_+&wJjF@s}U^W4`dwkMZTDWsXFG!zN?j;%-h%CM;$N
zIiVG?6pE^>5s^mXs4SFqg>i1y8x%D(&2~ocX25RS9px_o5VfG*wNqVMo6XcgmM;1I
zoOA0(ZnpBhN17;TM$=8
zhBQstwQCnkOJ|W%@_`S0;M&TGf9h>N=f~qQQ4}GiWbfX+Gm^U2nzAg{<-`|K*}v3B
zH0<$`mp%~6S#$F&^oPvP&yx=O_%!0&u6gcy^SAOX?|cVy58clr3O=KNDSGjW2#3UUKZ#N<_p^=>xYJIFSRAW*O5d4SADZ?;jBx-G+8O9t%Pxx`(=
zy;x7&0sJm>eqE4nhH49eL*kILe6~G|gOQW0Si#h5mUGLf1|t&U{x0JFF8=0B$!AZE
zct%FZTb{@3f9%J(>)XGDlZ$h#9@|qbe>eEUc@m8e?Xt^wk1#?z!*9
z9J%Et@)KuCbcBdP_#*NO(wtS{smhYEv3$+{^cIS*{Td$qz#s9YPd>uxXv~2=WSL|!
zN-1@Qu@Wy8!i7bb7X`*U6uxb_Z$PmItg)Mi)M6Gciu0n4c9HLdEb$k3raQYqZc!&S(|L1+wb*$d04YKS#wGZCc
zx(4+Xj&Tin?HLf^dVQW6jd}c;W1JdKFhK7WujW->|Mlp(dCDZl_6NkhKBPUeBqk<^
z`^Rxinx^Qc(s1vKUdV?&^r1kozJi!SHy@T#LQya`Kg1Zru3fu0eI{T>tE;Pg;;%mG
zU;4m(;yE?q-~R32CW;m*ih{Yhxf%T5h7IQ}5H`_yx=e8E?iat1ahbCi$7DJ|X9-c6
zU$P?mvr
z@TTxyLazqd3hNrB`Yf{Os7-w
zJV$nNEwKf~@=_l!xa&@2DUeoRiUOZ#k|bd`95Rubxk7T*O_`>1q=SU0KjhPY{t2v;
zL`h1)3h^)|>q9ZBc=q@bCr>P~Z+^(`#YN`JrphCN5z7XR3u8*cFD`~Y*=37eOL_67
zRtq+I;*IEg*SpV*n81y8E=*eRvoJc;^V{bDPds^)k%6&ZVL65aFZe26^bOy@!c8}l
z%ndm{=ri2EAB)1G**!mxFAe+W=IJFpmf{tZ)~u|ogz`}w6U8xi-F-JnnnF=s5d+>h
z-nJ!wL{Y@qvuD}Ae=lj8a^S!Lo_Qu{lz;T2AAN3(_~(D_S4pA;%F50Lge#?(OeQmQ
zZnK^Kyalrvi>I?BobWS{Ob8J~&l>rh2OfBU1IuA|ErdX2VU|%OgJQ>U*Bq6pV5m{f
zv1?p&@YIB3k3P!n#W~VQQY6iAb3D4AVw|ONmZyq>FC9I~u!3HySdateS#
z;GM-wffCJTVVlW^Qm)MuwsqK4@Zc<3fGtt
z8=lul5*_#f5F~gKrN~#7$@cBT6cth`yaOLaEZdq=hPhg3a5?xmr4|V*QnKtL&J~`s
zc}Z#DqX+g;E5*U*-N?PKd*
zN`*S{bUJO=RC63WcpYcH^u@K2Ivtv4>#=vT;dcK-HoLsFHP+TlrmOUNJ*LwsQ4}%g
zFMvNzq*IEb;CFuKcl~#M=XZ#&xDmhqeShTt!%zKmfY4Pm3!|&1oYaNe_gu
zoe|8lETgV#ilX4|yYJri^}U6di8S |