From 76bd37dd1199139984251427aafc5612085a607a Mon Sep 17 00:00:00 2001
From: l0tk3 <1037730299@qq.com>
Date: Mon, 15 Jul 2024 16:33:05 +0800
Subject: [PATCH] first commit
---
.gitattributes | 3 +
.github/workflows/main.yaml | 17 +
.gitignore | 175 ++++
LICENSE | 28 +
README.md | 405 +++++++++
README.txt | 4 +
async_db.py | 96 +++
base/__init__.py | 0
base/base_crawler.py | 71 ++
cache/__init__.py | 0
cache/abs_cache.py | 42 +
cache/cache_factory.py | 29 +
cache/local_cache.py | 120 +++
cache/redis_cache.py | 76 ++
cmd_arg/__init__.py | 1 +
cmd_arg/arg.py | 40 +
config/__init__.py | 2 +
config/base_config.py | 131 +++
config/db_config.py | 20 +
db.py | 96 +++
docs/STZHONGS.TTF | Bin 0 -> 12135284 bytes
docs/hit_stopwords.txt | 768 ++++++++++++++++++
docs/代理使用.md | 47 ++
docs/关于词云图相关操作.md | 58 ++
docs/常见问题.md | 31 +
docs/手机号登录说明.md | 20 +
docs/项目代码结构.md | 38 +
libs/douyin.js | 578 +++++++++++++
libs/stealth.min.js | 7 +
main.py | 51 ++
media_platform/__init__.py | 0
media_platform/bilibili/__init__.py | 6 +
media_platform/bilibili/client.py | 287 +++++++
media_platform/bilibili/core.py | 302 +++++++
media_platform/bilibili/exception.py | 14 +
media_platform/bilibili/field.py | 34 +
media_platform/bilibili/help.py | 70 ++
media_platform/bilibili/login.py | 107 +++
media_platform/douyin/__init__.py | 1 +
media_platform/douyin/client.py | 280 +++++++
media_platform/douyin/core.py | 271 ++++++
media_platform/douyin/exception.py | 9 +
media_platform/douyin/field.py | 23 +
media_platform/douyin/login.py | 254 ++++++
media_platform/kuaishou/__init__.py | 2 +
media_platform/kuaishou/client.py | 307 +++++++
media_platform/kuaishou/core.py | 288 +++++++
media_platform/kuaishou/exception.py | 9 +
media_platform/kuaishou/field.py | 1 +
media_platform/kuaishou/graphql.py | 22 +
.../kuaishou/graphql/comment_list.graphql | 39 +
.../kuaishou/graphql/search_query.graphql | 111 +++
.../kuaishou/graphql/video_detail.graphql | 80 ++
.../kuaishou/graphql/vision_profile.graphql | 27 +
.../graphql/vision_profile_photo_list.graphql | 110 +++
.../graphql/vision_profile_user_list.graphql | 16 +
.../graphql/vision_sub_comment_list.graphql | 22 +
media_platform/kuaishou/login.py | 102 +++
media_platform/weibo/__init__.py | 7 +
media_platform/weibo/client.py | 206 +++++
media_platform/weibo/core.py | 283 +++++++
media_platform/weibo/exception.py | 14 +
media_platform/weibo/field.py | 19 +
media_platform/weibo/help.py | 25 +
media_platform/weibo/login.py | 137 ++++
media_platform/xhs/__init__.py | 2 +
media_platform/xhs/client.py | 419 ++++++++++
media_platform/xhs/core.py | 300 +++++++
media_platform/xhs/exception.py | 9 +
media_platform/xhs/field.py | 72 ++
media_platform/xhs/help.py | 287 +++++++
media_platform/xhs/login.py | 186 +++++
mypy.ini | 9 +
note_info.txt | 1 +
proxy/__init__.py | 5 +
proxy/base_proxy.py | 63 ++
proxy/providers/__init__.py | 6 +
proxy/providers/jishu_http_proxy.py | 87 ++
proxy/providers/kuaidl_proxy.py | 134 +++
proxy/proxy_ip_pool.py | 110 +++
proxy/types.py | 23 +
recv_sms.py | 68 ++
requirements.txt | 17 +
schema/tables.sql | 317 ++++++++
static/images/11群二维码.JPG | Bin 0 -> 175288 bytes
static/images/IP_提取图.png | Bin 0 -> 193862 bytes
static/images/img.png | Bin 0 -> 260254 bytes
static/images/img_1.png | Bin 0 -> 204636 bytes
static/images/img_2.png | Bin 0 -> 73941 bytes
static/images/img_3.png | Bin 0 -> 142986 bytes
static/images/img_4.png | Bin 0 -> 140409 bytes
static/images/relakkes_weichat.JPG | Bin 0 -> 228734 bytes
static/images/wechat_pay.jpeg | Bin 0 -> 120685 bytes
static/images/xingqiu.jpg | Bin 0 -> 246403 bytes
static/images/zfb_pay.png | Bin 0 -> 495587 bytes
static/images/代理IP 流程图.drawio.png | Bin 0 -> 98233 bytes
static/images/修改代理密钥.png | Bin 0 -> 267312 bytes
store/__init__.py | 4 +
store/bilibili/__init__.py | 82 ++
store/bilibili/bilibili_store_impl.py | 206 +++++
store/bilibili/bilibili_store_sql.py | 102 +++
store/douyin/__init__.py | 124 +++
store/douyin/douyin_store_impl.py | 249 ++++++
store/douyin/douyin_store_sql.py | 148 ++++
store/kuaishou/__init__.py | 97 +++
store/kuaishou/kuaishou_store_impl.py | 219 +++++
store/kuaishou/kuaishou_store_sql.py | 102 +++
store/weibo/__init__.py | 97 +++
store/weibo/weibo_store_image.py | 53 ++
store/weibo/weibo_store_impl.py | 208 +++++
store/weibo/weibo_store_sql.py | 102 +++
store/xhs/__init__.py | 125 +++
store/xhs/xhs_store_impl.py | 246 ++++++
store/xhs/xhs_store_sql.py | 148 ++++
test.html | 108 +++
test/__init__.py | 1 +
test/test_expiring_local_cache.py | 39 +
test/test_proxy_ip_pool.py | 19 +
test/test_redis_cache.py | 40 +
test/test_utils.py | 10 +
tools/__init__.py | 0
tools/crawler_util.py | 135 +++
tools/easing.py | 70 ++
tools/slider_util.py | 164 ++++
tools/time_util.py | 106 +++
tools/utils.py | 31 +
tools/words.py | 70 ++
var.py | 13 +
128 files changed, 11672 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .github/workflows/main.yaml
create mode 100644 .gitignore
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 README.txt
create mode 100644 async_db.py
create mode 100644 base/__init__.py
create mode 100644 base/base_crawler.py
create mode 100644 cache/__init__.py
create mode 100644 cache/abs_cache.py
create mode 100644 cache/cache_factory.py
create mode 100644 cache/local_cache.py
create mode 100644 cache/redis_cache.py
create mode 100644 cmd_arg/__init__.py
create mode 100644 cmd_arg/arg.py
create mode 100644 config/__init__.py
create mode 100644 config/base_config.py
create mode 100644 config/db_config.py
create mode 100644 db.py
create mode 100644 docs/STZHONGS.TTF
create mode 100644 docs/hit_stopwords.txt
create mode 100644 docs/代理使用.md
create mode 100644 docs/关于词云图相关操作.md
create mode 100644 docs/常见问题.md
create mode 100644 docs/手机号登录说明.md
create mode 100644 docs/项目代码结构.md
create mode 100644 libs/douyin.js
create mode 100644 libs/stealth.min.js
create mode 100644 main.py
create mode 100644 media_platform/__init__.py
create mode 100644 media_platform/bilibili/__init__.py
create mode 100644 media_platform/bilibili/client.py
create mode 100644 media_platform/bilibili/core.py
create mode 100644 media_platform/bilibili/exception.py
create mode 100644 media_platform/bilibili/field.py
create mode 100644 media_platform/bilibili/help.py
create mode 100644 media_platform/bilibili/login.py
create mode 100644 media_platform/douyin/__init__.py
create mode 100644 media_platform/douyin/client.py
create mode 100644 media_platform/douyin/core.py
create mode 100644 media_platform/douyin/exception.py
create mode 100644 media_platform/douyin/field.py
create mode 100644 media_platform/douyin/login.py
create mode 100644 media_platform/kuaishou/__init__.py
create mode 100644 media_platform/kuaishou/client.py
create mode 100644 media_platform/kuaishou/core.py
create mode 100644 media_platform/kuaishou/exception.py
create mode 100644 media_platform/kuaishou/field.py
create mode 100644 media_platform/kuaishou/graphql.py
create mode 100644 media_platform/kuaishou/graphql/comment_list.graphql
create mode 100644 media_platform/kuaishou/graphql/search_query.graphql
create mode 100644 media_platform/kuaishou/graphql/video_detail.graphql
create mode 100644 media_platform/kuaishou/graphql/vision_profile.graphql
create mode 100644 media_platform/kuaishou/graphql/vision_profile_photo_list.graphql
create mode 100644 media_platform/kuaishou/graphql/vision_profile_user_list.graphql
create mode 100644 media_platform/kuaishou/graphql/vision_sub_comment_list.graphql
create mode 100644 media_platform/kuaishou/login.py
create mode 100644 media_platform/weibo/__init__.py
create mode 100644 media_platform/weibo/client.py
create mode 100644 media_platform/weibo/core.py
create mode 100644 media_platform/weibo/exception.py
create mode 100644 media_platform/weibo/field.py
create mode 100644 media_platform/weibo/help.py
create mode 100644 media_platform/weibo/login.py
create mode 100644 media_platform/xhs/__init__.py
create mode 100644 media_platform/xhs/client.py
create mode 100644 media_platform/xhs/core.py
create mode 100644 media_platform/xhs/exception.py
create mode 100644 media_platform/xhs/field.py
create mode 100644 media_platform/xhs/help.py
create mode 100644 media_platform/xhs/login.py
create mode 100644 mypy.ini
create mode 100644 note_info.txt
create mode 100644 proxy/__init__.py
create mode 100644 proxy/base_proxy.py
create mode 100644 proxy/providers/__init__.py
create mode 100644 proxy/providers/jishu_http_proxy.py
create mode 100644 proxy/providers/kuaidl_proxy.py
create mode 100644 proxy/proxy_ip_pool.py
create mode 100644 proxy/types.py
create mode 100644 recv_sms.py
create mode 100644 requirements.txt
create mode 100644 schema/tables.sql
create mode 100644 static/images/11群二维码.JPG
create mode 100644 static/images/IP_提取图.png
create mode 100644 static/images/img.png
create mode 100644 static/images/img_1.png
create mode 100644 static/images/img_2.png
create mode 100644 static/images/img_3.png
create mode 100644 static/images/img_4.png
create mode 100644 static/images/relakkes_weichat.JPG
create mode 100644 static/images/wechat_pay.jpeg
create mode 100644 static/images/xingqiu.jpg
create mode 100644 static/images/zfb_pay.png
create mode 100644 static/images/代理IP 流程图.drawio.png
create mode 100644 static/images/修改代理密钥.png
create mode 100644 store/__init__.py
create mode 100644 store/bilibili/__init__.py
create mode 100644 store/bilibili/bilibili_store_impl.py
create mode 100644 store/bilibili/bilibili_store_sql.py
create mode 100644 store/douyin/__init__.py
create mode 100644 store/douyin/douyin_store_impl.py
create mode 100644 store/douyin/douyin_store_sql.py
create mode 100644 store/kuaishou/__init__.py
create mode 100644 store/kuaishou/kuaishou_store_impl.py
create mode 100644 store/kuaishou/kuaishou_store_sql.py
create mode 100644 store/weibo/__init__.py
create mode 100644 store/weibo/weibo_store_image.py
create mode 100644 store/weibo/weibo_store_impl.py
create mode 100644 store/weibo/weibo_store_sql.py
create mode 100644 store/xhs/__init__.py
create mode 100644 store/xhs/xhs_store_impl.py
create mode 100644 store/xhs/xhs_store_sql.py
create mode 100644 test.html
create mode 100644 test/__init__.py
create mode 100644 test/test_expiring_local_cache.py
create mode 100644 test/test_proxy_ip_pool.py
create mode 100644 test/test_redis_cache.py
create mode 100644 test/test_utils.py
create mode 100644 tools/__init__.py
create mode 100644 tools/crawler_util.py
create mode 100644 tools/easing.py
create mode 100644 tools/slider_util.py
create mode 100644 tools/time_util.py
create mode 100644 tools/utils.py
create mode 100644 tools/words.py
create mode 100644 var.py
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..3ab78cc
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+*.js linguist-language=python
+*.css linguist-language=python
+*.html linguist-language=python
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
new file mode 100644
index 0000000..705b563
--- /dev/null
+++ b/.github/workflows/main.yaml
@@ -0,0 +1,17 @@
+on:
+ push:
+ branches:
+ - main
+
+jobs:
+ contrib-readme-job:
+ runs-on: ubuntu-latest
+ name: A job to automate contrib in readme
+ permissions:
+ contents: write
+ pull-requests: write
+ steps:
+ - name: Contribute List
+ uses: akhilmhdh/contributors-readme-action@v2.3.10
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8c74d2b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,175 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+.pybuilder/
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+# For a library or package, you might want to ignore these files since the code is
+# intended to run in multiple environments; otherwise, check them in:
+# .python-version
+
+# pipenv
+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+# However, in case of collaboration, if having platform-specific dependencies or dependencies
+# having no cross-platform support, pipenv may install dependencies that don't work, or not
+# install all needed dependencies.
+#Pipfile.lock
+
+# poetry
+# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
+# This is especially recommended for binary packages to ensure reproducibility, and is more
+# commonly ignored for libraries.
+# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
+#poetry.lock
+
+# pdm
+# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
+#pdm.lock
+# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
+# in version control.
+# https://pdm.fming.dev/#use-with-ide
+.pdm.toml
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
+# pytype static type analyzer
+.pytype/
+
+# Cython debug symbols
+cython_debug/
+
+# PyCharm
+# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
+# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
+# and can be added to the global gitignore or merged into this file. For a more nuclear
+# option (not recommended) you can uncomment the following to ignore the entire idea folder.
+#.idea/
+
+*.xml
+*.iml
+.idea
+/temp_image/
+/browser_data/
+/data/
+
+*/.DS_Store
+.vscode
+
+#New add
+test_parse.py
+test_soup.py
+test.htmlcov
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..7930856
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,28 @@
+非商业使用许可证 1.0
+
+版权所有 (c) [2024] [relakkes@gmail.com]
+
+鉴于:
+1. 版权所有者拥有和控制本软件和相关文档文件(以下简称“软件”)的版权;
+2. 使用者希望使用该软件;
+3. 版权所有者愿意在本许可证所述的条件下授权使用者使用该软件;
+
+现因此,双方遵循相关法律法规,同意如下条款:
+
+授权范围:
+1. 版权所有者特此免费授予接受本许可证的任何自然人或法人(以下简称“使用者”)非独占的、不可转让的权利,在非商业目的下使用、复制、修改、合并本软件,前提是遵守以下条件。
+
+条件:
+1. 使用者必须在软件及其副本的所有合理显著位置包含上述版权声明和本许可证声明。
+2. 本软件不得用于任何商业目的,包括但不限于销售、营利或商业竞争。
+3. 未经版权所有者书面同意,不得将本软件用于任何商业用途。
+
+免责声明:
+1. 本软件按“现状”提供,不提供任何形式的明示或暗示保证,包括但不限于对适销性、特定用途的适用性和非侵权的保证。
+2. 在任何情况下,版权所有者均不对因使用本软件而产生的,或在任何方式上与本软件有关的任何直接、间接、偶然、特殊、示例性或后果性损害负责(包括但不限于采购替代品或服务;使用、数据或利润的损失;或业务中断),无论这些损害是如何引起的,以及无论是通过合同、严格责任还是侵权行为(包括疏忽或其他方式)产生的,即使已被告知此类损害的可能性。
+
+适用法律:
+1. 本许可证的解释和执行应遵循当地法律法规。
+2. 因本许可证引起的或与之相关的任何争议,双方应友好协商解决;协商不成时,任何一方可将争议提交至版权所有者所在地的人民法院诉讼解决。
+
+本许可证构成双方之间关于本软件的完整协议,取代并合并以前的讨论、交流和协议,无论是口头还是书面的。
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3d541ac
--- /dev/null
+++ b/README.md
@@ -0,0 +1,405 @@
+> **免责声明:**
+>
+> 大家请以学习为目的使用本仓库,爬虫违法违规的案件:https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China
+>
+>本仓库的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本仓库的内容用于非法用途或侵犯他人合法权益。本仓库所涉及的爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为。对于因使用本仓库内容而引起的任何法律责任,本仓库不承担任何责任。使用本仓库的内容即表示您同意本免责声明的所有条款和条件。
+
+> 点击查看更为详细的免责声明。[点击跳转](#disclaimer)
+# 仓库描述
+
+**小红书爬虫**,**抖音爬虫**, **快手爬虫**, **B站爬虫**, **微博爬虫**...。
+目前能抓取小红书、抖音、快手、B站、微博的视频、图片、评论、点赞、转发等信息。
+
+原理:利用[playwright](https://playwright.dev/)搭桥,保留登录成功后的上下文浏览器环境,通过执行JS表达式获取一些加密参数
+通过使用此方式,免去了复现核心加密JS代码,逆向难度大大降低
+
+
+## 功能列表
+| 平台 | 关键词搜索 | 指定帖子ID爬取 | 二级评论 | 指定创作者主页 | 登录态缓存 | IP代理池 | 生成评论词云图 |
+|-----|-------|----------|-----|--------|-------|-------|-------|
+| 小红书 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| 抖音 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| 快手 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| B 站 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+| 微博 | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
+
+
+## 使用方法
+
+### 创建并激活 python 虚拟环境
+ ```shell
+ # 进入项目根目录
+ cd MediaCrawler
+
+ # 创建虚拟环境
+ # 注意python 版本需要3.7 - 3.9 高于该版本可能会出现一些依赖包兼容问题
+ python -m venv venv
+
+ # macos & linux 激活虚拟环境
+ source venv/bin/activate
+
+ # windows 激活虚拟环境
+ venv\Scripts\activate
+
+ ```
+
+### 安装依赖库
+
+ ```shell
+ pip install -r requirements.txt
+ ```
+
+### 安装 playwright浏览器驱动
+
+ ```shell
+ playwright install
+ ```
+
+### 运行爬虫程序
+
+ ```shell
+ ### 项目默认是没有开启评论爬取模式,如需评论请在config/base_config.py中的 ENABLE_GET_COMMENTS 变量修改
+ ### 一些其他支持项,也可以在config/base_config.py查看功能,写的有中文注释
+
+ # 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论
+ python main.py --platform xhs --lt qrcode --type search
+
+ # 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息
+ python main.py --platform xhs --lt qrcode --type detail
+
+ # 打开对应APP扫二维码登录
+
+ # 其他平台爬虫使用示例,执行下面的命令查看
+ python main.py --help
+ ```
+
+### 数据保存
+- 支持保存到关系型数据库(Mysql、PgSQL等)
+ - 执行 `python db.py` 初始化数据库数据库表结构(只在首次执行)
+- 支持保存到csv中(data/目录下)
+- 支持保存到json中(data/目录下)
+
+
+## 开发者服务
+- 知识星球:沉淀高质量常见问题、最佳实践文档、多年编程+爬虫经验分享,提供付费知识星球服务,主动提问,作者会定期回答问题 (每天 1 快钱订阅我的知识服务)
+
+ +
+ + 星球精选文章: + - [【独创】使用Playwright获取某音a_bogus参数流程(包含加密参数分析)](https://articles.zsxq.com/id_u89al50jk9x0.html) + - [【独创】使用Playwright低成本获取某书X-s参数流程分析(当年的回忆录)](https://articles.zsxq.com/id_u4lcrvqakuc7.html) + - [ MediaCrawler-基于抽象类设计重构项目缓存](https://articles.zsxq.com/id_4ju73oxewt9j.html) + - [ 手把手带你撸一个自己的IP代理池](https://articles.zsxq.com/id_38fza371ladm.html) + + + +- MediaCrawler视频课程: + > 如果你想很快入门这个项目,或者想了具体实现原理,我推荐你看看这个视频课程,从设计出发一步步带你如何使用,门槛大大降低,同时也是对我开源的支持,如果你能支持我的课程,我将会非常开心~
+
+
+ + 程序员阿江-Relakkes + + |
+
+
+
+ + leantli + + |
+
+
+
+ + Rosyrain + + |
+
+
+
+ + Bao Zhuhan + + |
+
+
+
+ + zhounan + + |
+
+
+
+ + HIRO + + |
+
+
+
+ + PeanutSplash + + |
+
+
+
+ + Ermeng + + |
+
+
+
+ + Henry He + + |
+
+
+
+ + leonardoqiuyu + + |
+
+
+
+ + jayeeliu + + |
+
+
+
+ + ZuWard + + |
+
+
+
+ + Zendrix + + |
+
+
+
+ + zhangzhenpeng + + |
+
+
+
+ + Sam Tan + + |
+
+
+
+ + xbsheng + + |
+
+
+
+ + Martin + + |
+
+
+
+ + zhihuiio + + |
+
+
+
+ + Ren + + |
+
+
+
+ + Wang Tianci + + |
+
+
+
+ + Styunlen + + |
+
+
+
+ + Schofi + + |
+
+
+
+ + Klu5ure + + |
+
+
+
+ + Kermit + + |
+
+
+
+ + KEXNA + + |
+
+
+
+ + Jian Chang + + |
+
+
+
+ + tianqing + + |
+
D zkJR?g=e8Cdw^J{-A4r>U%;j~7j=pFYd+6h+5l(WYZThrX`;`mc&EBJKiMWpp7a+h& z$*dw9;^h3tZ0D1(>$A<9t@^Khtge3U@@0-^Pd4%6s`w?R144pRvE1C1$}5{U9Ik>x zIqj?C&+fFnd?9%gUfJ-#{$Znr=s%Z70c+lh{rHUn7Qj(pT4?BGtIOeEl3&%a|1w~C zw!&NP$^RhUPB}+qW#{K)q^0LIOSzLGm^Ul28Ob?Wxmo@4oT9RFvV9c}a?$V3E&sVC zD<>&0BWsXCB6ndDEnnE0ikUIQ=63 zAB^b#q@-&F2ajeyQGaM}@3Cy&@Luv46>F!v_WssXW?HekX-S1s_^1vQiz-U`C ?qGp3OaR*r(sZh3Re!E`>-BQ#-r3 z9o0Q0!h_~Y*Lno6dDU)w ~VOV5_ebbn5(em%3N0f??2|FNZdbD{I IGmVOW_SST-;H_o#ArR=vEIZItSjA^kgb_Q2n zp7Vcy{tEvOGR`9|2$Ve|k4*nK&({C-9 +!%Gbfjv33(#<@UHW0 z>CWXbr~AJBdGnlF-ED0^LPk^D%!o7R*44tJ?kT2+Ewjw-zrV>k&Nk!7&r4Act-3kI zz34k~^SU;ty#rl+4yBe`Pj$6OUhy?S^j&i1M$3;KHw=nWqK$>EzdcSHNO$;h@O{Us zgHKP$e>y4f$>K6kyV&bu!K(M;?hAKx|Freq>CSIb+f{W;*tJ9GVa=7^c!!mY*)#9t z`atQU5s%gkdpLACaH)U9(JKK{?`y2r`1iN(f7ieMnh1KdMhl(prV1JqE28`ECMt@r zUQdY7ofjpp&c16MGHLdZWtCT!^Qdr!_YJoG;T!ZP7sMR_YS&p^yTvYCbLh!`3s{iz zIKacgFLU4QvHB|%yaW52loza4kiP&PLTm(y@d_KcRWs6HHbm#7+;rY;&g0?7QqDA2 zqBdy9)RfGuK`DO%7Gd*W0M>tne$9^azoDOtT=E;;?EZmnQCTUx>(09f&7QkCO2eCW zr@wRax5=lQO+NO^ 5Sn-|+}s=RgE;1;p-WOd2h z2kky&-g-VaycWLrZgpbdMp>Wps>apPAt_nWRelEzvlks$E&dL>wD03ta?a~R(ZU5A*W4wt zN8a$$l&;#{ud0W=c!i2tlpwT=m|wc*+|w{9FG^JMHTcQ)4f+uSyqLaVQt;40jp6fA zV~h8ouCXO>Kju!{BlyucR{ jK;Tz6C}yBm zPz%o sQQ35;Q^K5bQAl{ YT 9U0IDBiFvtt`*TIh_%JW%Fqf;ZndTn#Gx^z@wv)Oa3b_1C z@mYDhS6%*yeew+%6AcZ;R)_7UCv=q;!WKN3ef |_jhJBrw#tcfJSqu zqm=tA{pE6hf4`t+^i%QR=g-GK&7{1b{QoxkDgO=q{_y>T{{@ut3jM#2b=EC77`(>T z{gZbXX^I#%%(t?7=jCGhSV-Q@**otqH%4^rbwL}qFyHfiyK{CiZxWAT;nq&y5ED3*ond|i2A@T7E?`t6TwNAHONS9zc4QoU`;z}}5lr6;oXxNM`j&<|GH zybn0C!1i9&k%^$Kwb;AW=1y-@Rpl?z+J7<@u77S(1OBM%Gqzt$&uVG*xsmN}BYOrF zQ%!vxBEQcbRk5B}ddbCdQ|w6hnOSa!(toUuSmyHb^pgFP6os&m_whJBdD uhy&UKF+AnV z(+PkMaN>_FU=Wa3?l$hv{6urk=%0l-FF!jgEhi~EJ^x?bLZ}b~6mug>=gnC -^e b=iKtr`;1yM6jNvB=X+o?`X!Mc9yGA+*zYx#6<->6X}oQ;T G+v=jn{%P4=XBq?MpA!3NAiwaQjmArmtPYRrJQ=qu+DB4L^2!`tqW238m*$t# MrX9!x3wp2_ZhwC$xME4J@L_%g|3rltylm0$^;OA6bJ#p^rS%< z0LD{bl)k+aU=08q*ZdXguM*_byLo(%-* 2@lSD+1K=QX5IZ &$nNtU@Bk!0004q01()`@z;|ui)QZs-s0P}j{{i1iF+(`;(~xu zVJT40&%m;}n}2i={+=s9#FuUODRSoFpMMHGh`&aDPuZW(`lA&5ofbkcf?_y9QZ!>> zX=QEGqGhYrwr%X}MPdg>CyBF5TUR%C4^J;|{zH PVApHWgebJpxRWpn4vU$Ah|;w4L$EibQFv2xYw z$~9}(t>3V5)8;K(w{73CbJy-Yd-v@>aPZLKBS()NKXLL@)#)>5tIwUkaPiXRD_5^w zzj5={?K^jC?$y@auYUkQkcsC4!?Oeh7@jjW00&0!a#T-o^q2y!kQ>hxaTB D&yige&D{aRX5mE0O`Ew_$a&u!o~a+|o#+!k&tw~gD*?cjEDySUxl9&RtUkK4~3;0|(!xWn8L z?kIPRJI HF8ZHujS2~4d4Vi2_!-ZC83=P*g|$ZTf|OaC$f{+$?Oz%Dm#rWW~Z|= z*b=ssoypE(XR~wIGIlOIkDbphU>CBB*v0G;b}74zUCx%X73>OjCA*4U%~rB&*tP6B zc0Id+-N ^^osdw@O29%2u(N7$q6G4?onf<4Ke zVyoEG>>2hfTg{$h&$AcUi|i%#GJA!+%3foyvp3kA>@D^-dxyQt*0A^3TDFe8&(^aK z*oW*R_A&c}eab##pR+I6m+UL{HT#Br%f4gZvme-x>?ig!`-T0=eq+D0KiCHLC)>z2 zvCaJ8nf8!7-t?g9=$FDTeGAJAlL{pT^#$bxNd=N|_2bINC5@Aetsh%HHfgM6O#PVh zF-c=2qw7bPk4_pb8C5^3d{ojX$;kSV >G*mLAen|O{q#=^L`n+=f1C1oNKDRtKDOZwHpHrTblp`5j zKe&8w(qKt;eRg?vQnnYj>xjwl(If+Ls=9hf@|I=>{G+RXI&`=&r k4~0O4o=QaZccJ1m6N|y zs8hI8w9{Cpl}?pT8+bK@CAh>!(n{hiag+E;dPxRI@+Au-Yn%nnh%@GF;cV^P(%H`0 z$=Su()!EzG*E!HR%vtYja_;Dy k~J`4R;H5W8EU%`nV;#^>Z5_7s^}99ps+!+480G zFY+dZr_xiYP_9swsFteARVP#zR995jm#uo1@=oww`aS=9+4ra4-~X`qVfCZM58EG- zA8mhlHVB#&P0>vqn>si3YZ}1y;sL4|ZJdDR|AAvaesS!S;Edpwu!!f_4B-k0gczs; z)C($g80YYT=a`L?lanjYF(uEj;6FIF;$Ju>`NgsBl0K4bN$KA>X2o-?jkEX{$J}|2 z`TfPQKF%r5gZ_nMPHp?N&2t4@&938Im%FZW-Ntk50MD^gu4i2@xZZMo;0E&?3;By< zsc!xG52>(RESK;>`yzR{{HFp|I{o6<4AtU4ICfcey*+RrcnAKCV-(LZ8=hm1KU{ve zH-Js@CRJ0rri7-hP3auSgZnRh=30WCz#d>Pun)iY=F6Vk1mGqAs9#$X*aS54{Tk0U zo@qSYSk*Z1;o65`Aiu7vdHdPpXFTu$0P4Tjf2!Zdmvip34Ml(p;8gF`z^_ZH8&Pj{ z|8c{IhFJh`zoK?t?TR1CKf3ZL$omoenf_q_fFC;kQ2&tq@M@}SuKhtb)qcPI{Y=x4 zI#XT5_uh5#Z+H0jYn$5upoYJ$xzMns=F}fFzXA&Y8Zv4+eTn+Q*7(<`YLqpy=DPP? z-XD3R0f0B<0PwE-rQ6%HZ)4u{eAD4g+#8=aZQnS*acb^my)fM>?PS`zw61C9w6e50 zX|vNx)260PNt*;8X>NBp;&PZjA8Nkl5larf`E~UlPQp3Dxx$6N8-z>$wS(}H@Q1MJ zkJcamT>jZt__t>ZpZr QuKnrnnSw}s#SY!iO@$Mv6ezk0pkp(Fqr1+C^w z{%GEy3TWkT8rt-`<{xKh`Cq+G@I6oeqvh{c(5^LqC;#nw&xSp}p1g-&fwt$--ew*M zc~24s5Z*Jw__cEcKmrs%^Inn#U Tfh}?1Ka@*z!UHSy!nX2hmZVafE-W&N
CMDl6 D1(QJx#DQnPb1(%=1^a<% zU^ 8uA2 TlEC(yV72ry66}XyT%UB7n0oQ`-!1dq;a3i=0+zf63w}RWi z?cfe@C%6mT4ekMj;9hVaxF0+K9t018hruJ@QScae96SM@1W$og;A!v-cvjL@WR$py zVg<_Ph!8j_P&G$|z$suna2%K{aTB!%4g*I-3k3m!3PFhE2Qd9tM7T(_RG=5MlXywI zB~poxC=K9%6QWE}zG$pOCdwA2iu#HAi!wyHq5{!4QHp4wXoP5pXtZdIL@7~;-Nf!< z53#4%OYAL{ihabsVwqSjR*02imDo@0FAfj~ii5<#Vr#LDxP`c-xRtoI*jC&|Y$vuC zi^O8FgV<5*B$kMs#V+EuVpl;=K`%jXK_A}3=qpGTqzF<4{RC-(bU}uozhHo1pdeE) zNRTDS77P~T2yz8^f+2#Tf? 9D-TED)K7vv2|gTCozK|Z=N$QP19a!3)pL3 Lr`HZB5DM}ShJrl >2*@;dneC I8L$x Eqs%p6kRlw z>V6jL=QjyT3z-h3tDis_>Zdv_)E^oE4TLhGLEclKEGXOC1Pz9Apj;>q8UhUs7kLkg zKBjG{`2-CMJp~Py$)J2)lx}n+sIB#}(%Ne4w0Cup0Vkjl&`8Zq?RDK4Xq2`F8XY(h z8Uu}0ZH2}`1?)`s15hC}UcOBi0~P6X&;)2AGzprli`B(JQ* N>#PcOtlX*OJ{^;>-5kZs7%)ZnhVX7T0`@p1<*oY1GGpZffhqc!t0@> z&@z7)s9cd6HQiGa^jt;h+CvpOGqfVyD2wC0idE2Rs1jNe^c7kQt%KG>8=#HQCTKIX z1={LS1Z{)1Lp!|oN!#lZp`Fk!Xg9P+c?{YM?SuB~#s _XV4`;r}=d>*CG!4Ooh%WqoHbD zFX$X}9=ZTs)OCk0xzB+vLsy`yx@71YbRD_@-GpvIx1l@GU8n}S2h~D#P`xhIqcikC z*9UqCJ@W1bJys?_PoSsJv(UA&c#Q&ju1kSlKra Pri7#t2qz$~nRBjG4G8rH%(I0n|k?O+3J zgiUZP+}`UZ9H+~I&AM!_@w&lq2e_lx5jY-BfD_?PaA)@lxC`7B?gn> u+ zPH=BH3GNFg!zpko+z(EJ)8P!bKRf^)2xr2B;4C;B9t`J1Si`w+9y|md3J-&a>vG|I zcmzDsuOB=L9u1Fy$HL>_0=N(!4;R4`;EB3nA#v~|crrW%o~j$F8=@NyPlJo$>F^Bo zPq;*3fJ@<-@GN*XJSPZ)%iy{2Ja|650A2_$f)~R};HA1eT|T@FE{7|0Bj6SAN_Z8# z8m@%b1fPP}!t3Dm@CJAzyb0b6Z-KYM+u-f+4tOWLOLY+54ex>X!u#O;@B#QBd C>Toaa}E78q_@4>Zjop%C!U)l<;habQX;YaXe zB@91-p9Y_UpTW By6qU?;2 zs@587)k%axXoQir&@Iy~MJy0Yr3kS?tPz_a4bmd|UW@=~>DLWu PDCq-{Vg;)=M*7f7!n?udtvCE|&AA>N1-@j-lb(-B#a zBO+H`ki9|_h|+riqKbJDu?O)B>*l`1tF_!V=B3OM@sB*|-PwDNc6abrBmfDNehqrB z-Gc-vFCoE5NKB1(FQP_5BR0w|B4J245)ohLH`s4( g5%o)ksGq9!WqFkxoeG2wS9!_E6Aeq$|?Rcd#NF>5lXWJ&g1W@ yZ9RJu*NI$*&^=kxXO|lI1fC$wmhITtsq^TqF+} zf(%85A;Xb;WCSu&dmI_17>JD4p46T|#vo&naYzAD7`Ox(j}##jkcr47WHK^EdkUF~ zOw(2mIDI22z5QA~TU$elf`G;F<2{ePiT1!aK&)`sE>WkTPU0GEZt5-90c?F(Rfe z<~}kXS%555-Bt=!n~+7wVq^)j6j_EWN6L{3WCgM^re5uitU^{Jm7XNB23d=&(>z4h z2SCUM)`V ^6gnQ#eefm&+I z{4Z*bg+r*7yezoPUx`{P+egepZDJzP7HCVf71}x&Ms3kHo~KbeX?*BC)m_vc6{&8a zVzwJws9l3PppK{nbw*v#wy3LT1nP#mt4^UFvW}=H>ZM(adPmMcrKnGYK)Vk0)vgbJ zgvz|yC_PX)sz8;fO1lB|L;cYJG!P9!gVB(f*Qgo|MZ?hW;E8Ai%A%U^?`ULjou>?q zLZeYFszYNmUp-^wGc_O7=cLzBJ=zX6NROjN)TGv-vB8DvFpmilm(litIcOYeMmxkj z@m_{@MB|kWzWtP1zZqzP;iln6v`8^HYJ~e*DWrT6I>m5JZL9f+CTh26TFczjb)n19 zPKI0FGY!|#&S)33Yh)|5o9AbrTWEK~U9^WxE}!N-7ws7q8z7P;sIG@4N7xu{hd)7k z`AZCU{5zn%(LQLBvKQLdZ(LZWri=8A;Q^X#c#Ni?sXo^3>!g9w&uBjx9a^jWtiBSI zh^9s3h9_uxc$DWgGz0A)-qUL?Iw0Ib)&U(D9*JhMz0g5umZ2WaMhAOcM{_)1qPad* zh8i>v9fA%;hXt%gha2u0Y7KRPJq-5^4 4k?x;28hw==nQ2L zT4H#LmKxrmGXwL{S?FwZ4q6r!BlAV)Dt$DyKIQ1VXe~P5@XWWj@-(^tUFf&O@XGKS zU1WHVE=HH2OVMR$x#6b~K`RX33}2&P7$GAZSFFJdAJG-cv*^mm1L!K{bHitJHCl CjD5Hf)sdvdCTNW^{`Yh@jmk8ZpBMHqG$G z@ZIpk(1>o8okh19L8AcOZWJ0(Bd)oQ?m%~ &E(8K5v^eB1^J?_~CJt1R_G (K|smgqy-3G|UVG#och_N+!98z-Sp(5L7#VB*2%tl#dEDg6a7Kfx^EwGlV5@U(1z0Aru6>EjH#%ztPu{Opzm>p(sT!4u% zG3MYk!?+N0#GJyf$~-ZNaVF-BxnONESIiA_$2=nLVxE{6=8Z`)AIuk%VRB4ioQ^3Y zYcQ437V`_7jQJa9U;&Y~SfFv9aXuD=1!EzY8Vfb9ia3UaVc}SWaS6s^8sj?SdMpx) z!lI4KjMGB2#tKYpoQ>(Q7)+0~!whOq<4VkEoQs*lrC6-`k#Uo;(zpU^Z`^>z85bFs z8_O{>*1@ xji0*BIAg3C4|BqH!_S3G0k?!MbAI)Sr#Ju y0I0 zeT`e?o3Ugp#kdVi^;w}^jrGIQuyiZ~>yHh<24a~J)z}~`%ioM;V}p%bj7zZ`EEmf& z?lkVehG0XDd$3{Ha4a7iVLWKui;cuaVWXovdtS!IXlZP$x&|AE6&Uwph2cH0@mLWy zK^B5d#3o^ru_@S8Y#LUKO~+ $N+u?lPjwlb)Tc6#JFW0l$qTZOI0DzP=jQ`lN;9kw3Z z;8THZ#5Q4@u`R~a#xvMfY#X*6+kx%Gc451*J;t-f6WCsCAGRMmfE~mRVTWZ-p{KDU z*ir15u^Ky$oxo0Fr?4vQG >_pvyBuMMUBRwm*Rbo@4eTa%3%iZo z!R}%;#&g&`tQM=o?ql`X1MFe&3hWW~7<+;}RU~20u; ?QUJdyT!p-eT{t_t*#Q zBlam^JN6m-f_=rlVc)SISOfMGYc!t6nlR3I0S9m}xTX3rE-+q{eb>&@#2YV#^}~fy zH4fo0j^HSc;kfY%PDIYcNt{wm_S%NiI1`Q;FXI-tC2nQB>YIsM<2JsF!g?C7;Vtl% zc&i|P<8{1s >P6WNkH)pq8eA9iKD0!6Rdz$$M)?Vk!S#4M+<+TZ z1a87(<;Ozj#BlCA!cEfe(RYGe@b-9|Y65N!U5IzkV|qc5y&l3l>Tx_ia6X=ZC*qy- zB;FbCq9>H~cvrj|-d&IKYq@&hJ@H<6Z#>Csp=!FnP%qTOcwamjPr*|oHt89>AD)J% z;~98=)giqNJ^&wxXX1nKEIb<@ERDi*@LW6(AEIv&^U=3!WU-#chblklt?*$nAMoMc zlkj{!r9$u#_(*(|-U1)3x5mfdWASl%JG=ld#K+@B_yl|+J_( A9t@O6~*7$sUf!+~c7-{2ak1xU( z<4g1o_)>fsz8o*dEASQgN_>@m0=`-=!YlDL_*#6O-X33%Z@@R|#eoHKJA4zqSzm;2 z!MExs;@d)3;@j~Z_)e*^T@t wAuI?>!iumaY={;_OQKcGC!)2!R6m`tRkk47sCy80ggqhB&mhEv z1K~(W2xr2DXiK<;3 7`3=!tfOfiQZEBuqps(LUx2 z5l5Jb4n#*Ho=6}PiB3dkq6^VA<}1;S=uY&IITAgIUPN!A50OOlC6b90B9-Vzq!H;v z2GKvboESh1Br=IXL>7^)b_!lc4354=}J5VMInL>VzR)-KkTnCEqkm>+sRwAjanSfHKF7RyA$LN!J#A{K{r zA(jwJHLfaHzEv7YEHk(f >#AkGV&zVn-0GiOQgufXzM@#2RTMv6fh;5^F(X zeNZQ21F_Mgr@>RvF?5f?o7iOVA~q9Sh^@pnV!QWrVn@grVkfc7eFd?b*hB0k_7VGu z1H?h%5OJ6|LL4QI5yu1L0!_q;fQ`gS`Ponh;uKLuoR+mE&Jbsb>bQl$r{fldEhWxH zU-4Py-;OvRyp6a(T#Q>xTp}(LSBR@pZ}|q|8gZRnY8DVT0xXD|#4X}BamNf3cZnL} z9#I>&%#4H$C+diL>4Uf>aZAk*@ql<3aL9}kkBG-+jCevkC7uz_i5J96|3}2Dpa|kM z@y1LNZ;5xrd*TD}k@!S>4wz4TA-)pd%tE!8_)h#F8i=2YBHt7<8nG+fl4vBF%!JvB z;4~-+D2!%?1W5rYBq0(uTat)s8;O#b#)rg7f+XdWNs6RNhO{6pNh{Ktv>{uNEy-47 zYqK?JtLaR(A?--}=vSmDY#AvI8|#mnDKo9;W4182ARS0YvkmD)N=RqY#oU@~Yi>ij zl5V6s=@D>=^d!AV?|`+Wl=M*=LrO_sQf9U#< e^K0GRY6{mB3_kPIS&$&g6G z+>%tATalr` dAINZlr-UhRrgIND~=LwkP9A zGueUcNXC;1WTIJ2b|O2IUC6F-g6u|iCwq`R$zEh{GRf>n_9c_a6f)IpPxd3zRP)Jn zGK1_-4j>1TndBfci_F%XG&_ZqncI?s$sDsQnM>x8L&%{KH_2h-a5A49L5?Ixk)z2m z iOmY@Eo18 &Xq|Mzb5a ziQFtd9AY51kXy-Z }clsskjA*;yKW;uC=JR5L;tTwxo=g9Nq1@aJ|>@#Pt7Xw8Tp)iLB1qkk*~=& $7>l4?b@rfkhYR2#~UvZq9pm~x;TDGB9FxlnB>SIUiY zr#zxRnZqehbA<9+ Fv{Pj6%{}QQbAO3a1|9osRM3Mp;TC0d_Wx)9x9GYh>E2m zA}!Rx?z1UY{WfeGrJ*8aMk aNQJv+hsV?$Wn(qFM%0{Xy)s5;-_3&9t^`v@Hz5O3jNivJb@l; -TqOzjQR5mr3%As W6Fx@1E3XYK%IB8tWsZ#!&?!6R1Lki5gE8g*$4ks0q|WY7#X$qL7*r zGJ={)O_TO82g{FB#h!K4^pL^S40DL*ajJwWrDjsI3_jFs&2xh 2JZio{ zMlGNgQj4g?N?&RTwbUS|mQl;8ay6~#=>^113pl0}gxdsMRR#v(p3zhVwL LhiF zs*0qk)1hQgN9qi9ma3-CQRhvu)CKAyb;+bR8K}$D6_e3qrmj-gJlj*(O(viHruL>d zQwQ(vrjFDN>LzuIx=r0NC78NWcc~ic9#u=#vAI;esk5n*UorK7dPqGob)g C8lqtup-~zOzfa>dVd`b- #Q(xMdb}^-UVRT#Cm3E`u zX%E^n$UuA1-n5kVp?$p$(=s-hmeUGaNvlj5v>)wnN}~hlKstyHrbA5qXtgQDluU?KP z=xk3X(w$6srre;LbZ5E?-IeY}cc**MJ?UO_Z@LeiWa>}%rISrrbc$&(ol5tk)97?M zgYHicpa;^K^dLIRG=$DJ<(LN1gXtVoHl0i7(L?B=rlIsOdN`d=kDy1=qv+A}7 G7svbP+v)o=8ukC(~2tsq{3un4V70piAgddL})Ko=wl8%jmiEJbFI8z%-m* zNH3xnoAT);^ip~mT~1ffE9jN $zmA*z_r*F_V%}w+zuPM>t^lkbM8}E6QzDw8mYPBtbUMM4c -8az>=!X%O^dtH){e*r>KhqT{X3)>+7aqB4g{PQ)sXi?|N54{| z^lSPJ{Wkmr{f>Tbyd5>bSVMoHKN{}__6@C}Klybu-ieO(w2XH39z}nqztCUlZ}fNi z2i-vb^tv4_pd0BXnqvS448P=li4ibD<2?pqU FxDFD{I4)1LoqbN z_%|^YrYIjf#*(pOtQi}o1=CXYj%mfTW^9=@j2&aoh)mG|iy1NFz&J8ajKrj6oEaCB zj%mxdnqs_WF>Z`I vtyM^1j90#h^zhwCX*S&WW|Ot+00-jhskB~m?6wiW*9S^$!A6|BV)svQLz!s zXl4vEmKnzsFon!`rihsk^PHK;=7mKulbFehcFYuJDl^T{Ry$Ey9rH#L8`M3}$P_cv znHdIGro>~o;UZJY%w%S%9hljME6g0<_Dq?k7c
?3 z%o1iPv&{c%_($0>raW#=+-# }K{bdzpRAe&zskkU7L0j+?|B@tx}3kvZxwj++uU zIc_R*j5*GnU`}d$nNv&^bJ{d5Vl#6lERH$LPGqW?bDrKF#msq+*?}{d3(Uo+6wPJk zl4&$^nYqGTHH~4eX+oLno_9P3GB=o;%&oA6QS(h>ncK?NUbV~}(>Pg}sX%ts-^*0U z++}K*dlBcE+OS?s9dq9_o~idv2~0N?F%OuBrU}d=<}vf+e=&3qTy8B~0ETOKj$PbF zM>) #x{*t-aUt#y!cR 6uQPmcZ{ptO409EYdl&aU?nB(ixKDAPbB4!#5gWyQjr$h&J?=-&2<3C!&$wT4 zzvKP@h0+&$Gr1m_Re{1l5pNby6ey;yNL~#T_qxM(!*@LAfD%ASpp-Y;T{&$|{86AZ zPzEULeF&5T%DWA34ImBxyfpz3fHI!~Fo1ZyMtK1B`n=Tu48Zw&00EEym2eiI0mhpP zQ~)ZbF9IqlQLo4TN4bk`@0=7gSz-G@% zY{XXqIDq&10l^z`_?@=_5wMF{-WVVOGN7mvy}|U&Su?$PayM@jPyr3llRg3l-~i%* z1R&8H0Fr=YAO&y&sqSBqEFcYVc?*E_NHuSLrw(KQnLrkh4Y+}-Ks84mP+fTk)BtMg zUjUEd25JF0&I5oK@Bz7z>Jc~K2Lh37AP9tjFc49`L~5j82J(Ptq^go`&-Wg%BdHhU z8bH45VA27g0Ep=yfZ9MEdl0DWt?jMjt>>+qu*G{2sF!&ks1Gy%8hVc zfv!NetVKZggquJQpl76J`fcwKpjQG8^!A?N{6HV?MW8Rx59qHh1O@;Dy{E;0fkD7v zU bpZfY0;_=4z?z5$SewOU6$jP<>wyiCTHYI(*}z6% z6R;WB0&MkO0k#3#fgQlk%s;>`U^lP_*ek8~UIO+3`@L7CLcjs V|+c} z6Yv@M0(@0|>Suv(z<1yW@Dun2{09EG{s9Ytg~1|VQSWWAn0^&34we8*f~COHU>UG1 zSPm=?#(@9`f)EIU2#A6hh=T+-9wb33>l#Rd3|IlI2v+jm1uKJ9Koe*NEua;&fo#MF zav%>1pa|MQ36wzvRK5RG%0#@N2I}5BpaD9-crXD>1e3sIFa>misor~F8t4Mk!3;1H z%u)z28+3zJ?EqK}tPa)yYl5Ei8DK4TQ6v}40llCP%mw`szp(%ec<+NjFa(Cd2$%;( z!F;d)jDfYmI$&L}9#|jz7i<7FObmmKz{X$`uqoIKY!0>nTY{~?)?gd3E!Ylh?|lGv z06T)6z|LS7uq)UN><;#*F$wGm_5yo@eZan8zeoV=FP#JjxV)iK>BpS0 xKBvd-P9ymD36)FP`0f&OaLS@0>q4J?};D`_qiUUW2qrlPN7_A35HUxs> z;wyvW!3p3*aFVb eIvl(JUIZ_Jm$@3?74Rx}P3#6< z2XBBk6GniyJdTXoLK*OO0s`Iv?@A~;;!UpTIz@ucW?z_;K#@ICk;33DHFLJ5n&kNg+86Zi@I41NK>x~WiI zb_)0n{0{yAe;OshU*PZ5%itfV5L6f{lGY0<3KfHjyZ?z-pb{=6bx``agiT_|lbk(O zovwU@N 9*1C@o!Wlx04Lvf*c5CDM?1i=sjp&n;ibqIs-v@s9?kq`yZ zuIipNh)D|?!=MUKMfV-3k|&j2s$eOd6E5jBp~}!dP!-6;6Ob9QKvu{Gu@DFGkYKD% zg& 7j;s7WE%7n6@Y a%^4Fn|))@-x-_n|8^b$@%5l>Z*%Toi&3)P3BP<}k*$%YD` zn7fKt1FFqOpgNwKP+d<5st47F8bA%9Mjjv3*b{`BKuwePL(QP(P>ZTXJpP2zsRy8z zd^M;Q)Ea7&Ss7{zwS(G29iWa-C#bV07wY24aV0=qh2c;)s5{gH>IwDIPwADR-cTQ{ z6Vw;#2la;rcs$U+tZ~pFPdYT%Qwtgb4TXk5!;Sx-5gsoemQKW%f<{84w1&`VXbdzK z8V8N{hoIS>d{1p?4m1~< z2hI1ypasxEXi@4yXfb<0I14R-mO{&*< !1FePDrH_Z!LmT)UXk+LA zw8;~JHbYxd27AKn°*bZBepcxW569ohlygmyu@p*@}ewAXnU+6V224rJGY4nl{Z z!_X1vsHYBe3_1>-fKEcEpwrM9=&Y~@I+rjEIuBidE_&)gm!Qkg73eB-4Z059fNny! zpxX(R69#$?KzE?K(Ep%&(0%9u^w7};dgQ6A`=Q542=oMc3O$3KLocA0&@1RQ^oD<& zd=+{Ny>s65)Q8?fA3TSlkI*ORGxWuM5&8;!gT6yQpr8CT=oj=G`U4koG=>YqMUr0r zeaAWh7j>V4i^0X=5^%|c({L%zLC+z$wC4z1MnU1Sa5=cV=O`R!?1cdsOlb^5FbpFw z3S%%16MRZ?NtpB;gQ=unFby+s1-PQ;c<3Np39bxRflaX4`4P6jR@mk_3A3IPFvpu< z9u{B`w!;!E!wRgz8mz+x?11Cp1UL~+f|KDC*a@e?X|M}Uhcn>J#8z+?oDI9-s&F;9 zI$Q&;={W^^;977F?1g=BF6@T`S-asN9D>7e1kOud07v0`xB!m9wc$E&UAP`xA8r6Q zgd2HI!;Rr4a8tM$+*}X9E#Q`(GwxDwE4Ve>25uW7Lsy*%aJ#CvrNwZ2xf li!^9uH4&)`KS|J%lG^&xR+% zQzR6g3QvQl!!zKS@GN*XJO`c&&x8Mi=fex&h43Pm6@N#%Xcrv>W zUKySWuYy;@YwRSv*3lkbS9@0aM0h>CA$usi(dB?Q!JD=5LQ!~&G#cKT9fh|=>cQLX zD!jvaBYh#f6W#^yhWEgG;eGIa_<;Qmd=Neqp5`nAABK;>M-#ii$HFtiGvY1b>F{y* z1bh-cm3}8Y3qBp5U9|*!20j~}1D}J>!xzGHlf3Xn_!4{>z5-u`uff;h8?JQtrn(%y z1>a8IB6@VeT`}tzd )xA41A1^7K*5B`uqs-@wN@F)0lW|Aus`Un03e}%t=D#G94 zAMnqR1^$)3Eb|il8~%e7LJAABkRtK-t0G8Iq!>~hDUsa~De2^pQXv~s8YvU9hPV)m zlts!R<&ii9aMwUU*Czx*;E)|bls5>9U?U4>hN2C+d8R>#_ zMY4Wq|`XT+10mwjP5Hi^5M}~wFLrF==$WUY$G8`F!j6_BuqmeP8 zWMnKdE|h|dM kx9s8WJ=a-WNI>#NlLeoX~^`D8JWSSAv2L#@pX~eS=UpKRt1nb z$XsL|G9OuhEJPM%EzEoudYCvFSu9mXmLN+*pO9t9a%6?`TIdh5(pZVCLRKSd(qS*???BHX)mlE#ZpD)`WS;HW!vKlB=I}2ifk-Lw2~m$WCNelEYpV*^TT$ z_9FXK2HB4sNZ*efL=L3{k;7S=l1Cs%kfYKn UX7EAOhO#J!@~D7{ zs2!C8`%u|w3hY1?R7EvZsCZ+^Fn2fwh74b||n3bp-YpGthWvKAPY>jwYf>NomFv zG#O1nooFhW7C3>r&~!8-eK4AdW}(@r8?A~~L#qcax@(~|(3+?Rt%c^GUep)ZA2@*K zqJA`xF;lTiH_#v&k}hOz4xB^7fwO_r@`TilfupXH27*S|8G#Fd^Jt#?9vTfCM)T7= zDQ>htxvupNoJ3=2ZL|(r7p;fZM;o9G(MD+Fz`?+wz!5Poa4hL@;8fs@7I2?Mn*^?- zP0?m(bF>B85^aUHM%x6gpl#Cvfvadcv_0AZ?TB_lJEL9Du4p$$ZM1vfINBrr8hak? ziS|N!qkYi6Xg{<+Iv{Wv9f%G>2M4a9L(rk LK> z(0f`wdLMm&K13g(kI^USQ}h}79DRYlL|+AN2kxM+(KqPZU>5ogeUE-XKcb(|&*&HQ zYg#w-8~Q!7Jo*FuiT( =)sC$MX_SSD6F_J8!Lg84CY{^u+mr=tSnXz zE04ut00v?Z24e_@Vi<;F1V*Nhz$lCkR>K&qf>0T&h*b)DjYC-FU@fc)W(vkIGiC`E zU{=hAu^1Q3#du5z+{8r89;}H;n2afyifQ`kU@%x4(=j9d@1s2yk0k{CSfaE9OA7k1 z
x6a2x?o+g zZt69xJJtj18Eg`4hV{aFV|}o`SU;>kHUJxl4Z;RvL$IO2R@g9XI5q+s8El7*!bW3b zu(8-UY& NDmD$9j?KVkVzaQ>*c@ywHqU+*`wyFsEx;CHi?GGm z5^O293|o$^z*YuZ2ist)u+`WaY%R79Tc6z!+mJ9A+lXz#He*|`t=P6;4{W=Vh3&w0 zV!N>2!Is#b%tP2-Y#+8i*abU)9mEb{hp{8rQS4Z-d$0p`96N!X#7<$SgYB_1*x97} z*g5Pxb^*JHUBWJ7SFo$WPS`c<#u7dxyQpJ_scC5&MLF#=c-*v2WP-U^nas_A}TE`-T0+ z{-jR93*m+FBCa!dQM?#l94~>F#7p6&@iKVXU{}0cuurfzULKFb0UX4kU_Ttj5gf%a z9LEWq#HnCMoW>cv0$vfXgjdF^;HF?-+#Kv5{{pw*R@{cOIEVANfQz^tmv9+Za23~Z z9XD_X9*-yBiFgv8jHlpEJQYvFU3fa4foI}bcsB0FtK!x0>Ua&jChoy&;W@Y$_u;v? z9}nO`JcNhw2%d*W@qD}hkKwiPI(S{Y9$p{+7jJ+!#2ev_@g{gvycymcZ-KYOTj8zo zHh5dS9o`=AfOo_@;hpg=cvrj|-W~6O_r!bQz41PHU%VgQA0L1Z#0TMn@gew7d>B3) zAAyg=N8zLKG5A<~96lbOfKS9H;gj(x_|&9p!dm5O`uy- TGIF(03S&%|fpv++6j zTznorA76kk%&LGd!WZL9@TK7)__FZOq*Q!4z5-uq0Qf3=HNFO48y<$Q!`Fw0r;oxn zBwfch;+v%7_-1?yz7^kwZ^w7wJMmrkZhQ~E7vC2if$zr;;0N(T_+k7AeiT3ErnBb? ztN2Q;s!28Q za1{Ome~G`sU*m6rqw%-+JN!NV0sn}9!aw6*f@AQn_&5AJ{saGs|H6Ocf5PJvV|Ilo zlo=)p6Ge!kL@}Z`QGzHbjw4Db-@_A$(nOg|H&K=-N0cYx2*Bkgz=RnD6#qX0CJ=k& zsx!G3Tzjr#;yeQ7IuKa=DFP=5f+Q${&JGd`QGuvPR3a)9{}5FOQ|Pc_BFuz^u%^x; zYy?Yip(6wzIz|YDNZ3Qi35k#iC3KWf360PRgK!Y>L_+99=v3$=kw_#F$wUg_44o!Y zoodyo2{4fse A%oeQ0}e >_(@`(Z><~l{xCh8D%eT7q+6ZI6Ds82K?8fHX%MUqd-e$B^!bEOiE zh{mb&i6%r-qM5I>uT0t$qB+rmXi2mpTBnXB+NhI>w!X4NJ6}1XJ<%b3C()7UM08H7 zWB);PA-X0P$`oCRL^oe?UwNW?$|U|i(SzveD@F7odMCMkC5S#m-$>Y3lITbDCk7A$ zQ^Lfc#9_o>VhAx*&Lf7!-y(+liY3-_RE x$m-(8Q;8wCb%MG(589j)J#3W)eF(rLwGC@owrV-PVNAVajBmM_5lbA)! z_5s8kVy>^E540cmkv@!=N6aS{*l!XGiA9Oo#9|+j*q1MzRF_ziu%B2;EOQ?umKz6r zG_itM>0^AAQb+nwVpZl{Vl~$|67j)4gjnOF(q|=EvM%{56Kjce+5lobvB5W-*hp;h z4I?%aTZpY0lYN7UZN8Djc47yyGx-{^i`Y%MlY+&73gL7Y@PzEQ*}; |=RMEuV;i@4{TPTcp+CLRzEeRGLN#N(ty;tBCoVU1P9GvYb%LK^6sLcAni5wD3i zSp$i;#5<*!Hjj8ud>}sh<`AEV&%_tvEAcJuU*bFQBjE<|llYZhA!QixoA{IYKeCYP zJz1D6;+sqs_090jOg%vsBa4$I$dY8K)U{-3W3z9nBjB6n(#SH(eX%oHHu;iPBfEKu zR~qD7NtPqa`&MT(A>&9OlOaJ8QsPLMM3i_EB{32w36dl!-y(4=Ns|m&!Ts7dKfRLg zKe8fOiLC7Cle&_uLYhc3X>rydt)z`)NiJa<$)|4iEhhz1B<;Rsz6GS@TP*rWnN%{r zld5kisgXKqkdDllaEOdoE|UplV#+u&Ntj0_lPRQAEl;Lqv?bG0&qVS_7nx3GkeOr_ znN7OMs>vnDYGie?23a#}1nKdua)0(MBx`Bad`rk2(wkM1^!Zk#%ph|~zi%EHAcI*Y z$PgJ$u51^`NY-s0^=%{b$S9fbGLr?qHDt_Hk*qE4BI}TKeOt+T`U|o?*??@A`G#zi zP@Zf|HX)mm&B*3t3$i8IDzSxcJK36SL$)Q`k?qM2WJj`7S`*(ovNPF*>`Hd?ZT4*; zyDRm{9_b~?o@B4=f63ltAF{7+BiWDaPYxgll7q;> Aj(9{HcNoSaWC zAQzI0$i=>6SyRX* 9`}UDr zeEZ3* *-_zsg7$xHGy@-lga zyy}*HJAAw2Yy0++*W&HQ;&_d`&P`37MBX58lDEj) Bl*d9h5Sr@A-|H}$nWuG$RFfS@|STs zqp$BQ`J4Pp6H$e!B2-bT7*(7qL6uAxN0p*VQ)PT-sIpW!syr3vyXw0fU!MYednnL% zo`Rh9DLA_cg;1#P0)Qiszz0(YWQwaHGOv|kMA~Bi^`$Al#j}#{8WH{Lj|c273OdH zu2B&x&v(OjJ#h>brSho)Dn`|&>QHs5dQ^StU#bDskZNSir5aOBsHRl2tm9O3ss+`O zYDKlq&8FH=ZK-xtd#VG~k?KTsrn*pFsc!6Isyo#qw<^_>>XqxJdQ*L a&hxzs#rKDB^aNG+lkQ%k6&)Uw !|hA25KX KAa#g3OdX+)Qpc#{Nh#C` z>LhiFI!&FS&Qj;7^SL>>KI#H>k-9`(rmj#|scX4j>N<6Ux=G!lZc}%tyVO1EKJ|cl zNIjw+Q%|U;)HCXNuAh2Ay`)~{=2EYzH`H6|9rd32Kz*b>QJ<+V)K}^o^_}`b{iJ?T zzo|d+0J;!eI5$8Sp^MVR=;Cw {ZXq3iioF-_J zrf8aGR49BP0ir92&6E#xMY +Du#APiSk_R^AbwN84zY=4d`- zq6J!{?eU;6jh1McRx-NNDy`8vf0;ItC+WAs^Jxbi@3zwkbYl3w@B%uCPNq|6C!I>C z(Jnfj&Y&~tEIONZhnMKpQ~yisrB|e@hL_USxOsGSx&~b{yg0k2IGFZ?7doOsF}fC= z6JF%JZY)Z@OM7V_olE;2o#;S#IUS@!beN9Nd32P{rwiy9U7M~$*QM(z)s0PbeRqg% zKsTftWwfCi(@p56bTj=f-Q0dDrE7SZT9j^)x>}o?yqs?7IzhLhThndmwsbqXJ>4N~ zB;7G_G~J2rOm~sW&|T?nba%Q3-IMM`_on;Med&I5|BRLjMGv3{(u3&1^pNlhdMG_C zypkTS+zYRwM}!Y@we8>Ok@P5fG(CnMOOK<+(-Y{4^dx$+7Ne)oQ|W2+bb1Colb%J- z4zJD_7G6Woq36=`==sUB=>_ycdJ(;tUP3RWm(k1V74%Aa6}_5XL$3{Qpx4ps=?(P8 z@Fseb@|xbP9-+6;Tj_1|c6tZBlio$|ruWc$>3#Hm`apOceJ~}TK13g;kI+ZyWAQiX z ?6n&aL;||kj>2vh?@W$|3`T~8CzC>RRZ>Fz=x6oJVYbpQI*XbMd zP5Ksno4(^ZPT!^fN8h9G(+|>j(+}xK^ke!-hL?UyKck=1FOqlBFX>nG>+n`r9{q-X zOTVMv(;uAP@J{+8{fYief1$t9-{|k*9rO?SC;f|^NB^e(Fol@HOcADNcpFnJyqzh| zlweAR4>P5h(o7kqEK`mt&%`kR118U5AO>a-24ye?X9$L5D28@4XBegeQ<15}R1WXX z7{F9vOpKYaFjmIKunfoWj1b<%h>V?)7&+@4qlEV`Dx)zvV=xXTzWNg;fk|YNm}Dk} zaWbh)8slQp!+V(wCX>lxvKcp1m8r&5XKFAt84pv7^D;S%m+>*VjGqZGK_ GcyoN2+dWLhz;!~2;w?xRfG#0E?| zrajXkbekQ=bYwa)o%M(`BNJq|iZhumRVOoDou`>@-rr1jrU%oL>BaPB`Y?Ty%CkqA zeoTL6Kw`7d4Q3!Sh#AZb3EgCdGQ*hRplh^8665SV-hAYV-uztYngG( zcxFN 7s?Ao zU8jv>%zS1+D4$u#EMgWjOPHnhe?kS!vQUg!9;(f(U{;3eFsqo=%o=7bvyNHMY+yDr zo0!ea7G`TG$ZTV_Gdq}_%r0g(vxnKs>|^#b2bhD&<8nqbhwRsL#xRGOBh1m9vCJ{| z<(zRj<1=3|$C(q%N#+!DnmNOq&6#MxITOTA%sJ*fbAiieE;5&x%gmLW$vKmlt4dww zTFw;aI&*`$$=s6jncKR~++psT=9?BI+%_##Tv{{JqQBzg64O%CGSl*$sX5b4D@-fx zRb2O-rE{ib&&aBnGb3kC&P>xP)9RdA#!1tfoO#|N#xm1d(>l|7(}tYcrj0psO`A-c zO MiO?ymxP5ZpXO#8j1`TE|XrURyfrbF?sd9$~ax1{N? z>4>+uw~Xni>6o{i>A2~H>16r}w=e# #OOs>5LaJoi&|P{HF7!3&8>2IB!|g zMbjnIWz!YqRMuqERns-ob<+*gP17yYZPOjoUDG|&ebWQeLoZ}{WP0ocO;3UYO;1hF zOwUa(ys+t|>6PiV>5b{F>7D7l>4O(BeKdVCeKvhDeKmbEeK-9u{WSeD{q~}%15JOt zn7NR-u(^S`p}CQ{vAK!4skxcCxw(b8rMZ>4wHG(HF}F3hGq*Q)NWW|DXzmm*nmcE~ z<}PVd&0Wpi0)@@p%{>A|%stJ$%)QNhbd$NSxu3bec|d$E^FZ?;^WZ>n^APjUKr!<$ z^KkPB^GNe3^XRl;<}vYC%wx^t0!5W;t}o{Cj)8$P<_YGB=1GCl=E>$M0gNwZo@$ C~2N$o^76Eo@<^LC?6=7QrkS=ydZmsd10W0{Y0RYd69Xsd5L+cd6{{+ zc|`y)uQabRuQsm 6r-@BOPa?zdF2m@H ~+v4L@xM~)hn$Cf9Sr-AX7XO`!d7l8?umzGz7F_zbXDV8^ux0ZL7_m&Tq zkCsoC&z3Kiua<9t(U$LliIyLhpO#;i- l@R+H6iwOFlI zo0YY4*1rd^z%;99wOb{tY*nnPRkP|=LvC+%M8{a;qhqZJNf3K7`9Eu7T7PSjHQAbC zby`!cX;zm@4#C!RYlbz`IzNP17bN{7tgtS$F0wARF0n4PF0(EVp?`(dm498@)!D #XblimMx~o2;8_&a`d`Vb-l7+`279ShxRmSa(`?Nh>|)Q>I#Xr=GX&vF=To zW!-1pZ#`f=Xg!oN+j`h~B=e#3sP(8cEIN*BWIdK!ka{ljxw qYCOJj8n0dL<9mhFh=ZK`!#I_ PSJv0o zH`ce-ch>iLnDv8D&ic{%$@*EXkcV5pSif4oS-)F<_ %)M%qR>vZAM=XKkaSXQJn$r)^`DyU}yDv9@ux@wN%6Q==Dc z6K#|D&$h|7DYmJ$X u5F%ezHLGDrfp&L zx^0ndv2988ifyTFnQggkMf8qsW%Ne$cJ!`oReqLjwQY@Ut;>{O)wV9*ZCme{7QN+k z**4fV3KzJEsS|CR@~hi6+qUG_ux+(%%lBrt%lFu}+jb;Rw(Yd-vhB{#w(ZH!$*-AT z&9>LJFTa*;KU;-0v1Zo7T3H**vLo|-EXVS!z>2J$mGb?poF8NrR%JC-XN~*->&VY# z ls5gpEk*s!#hjj(yq5p0yrXGgFF(UEM7t(`WGt;5!h zj$-Sv_1Ok&L$(pym~Fx~Wt*|hqodgtY)iHk+nQ~|wq@I~?b!}V#o3N*CwH~{A#CUT zp==knE8C6j&h}t?vc1^eY#+970?PJd`)B@S2e9|tdg2K7ev$L1uOKA^RxL#Lmvn z%V?+WS2XsqL9tJyWn#m`HtbXOnX@SSoPEK*jDN|#Vqddw*thJvJTv>A{lI=?Ke3 !#IWPh>0(+fw&vwyfkiS4+;_B5^tSJYXAE5;R%jO9vj zB_k6e6XS1lrS!{O>Bu;)3|E#b$Cc;eIDi8=h=VzVLnBinlQ@jSIf5gzhb0u^sK{iF z<`}L*WExj7+nwR&Dsh#$Dv_z2DgGU2<}93*vvF)>x`FB5$PA84y~gnwy*YssIlKFD z_B2k4%;98C;nc`%PUCdW;2c~$m%t@*Ns*b6SzI!g!a2EAE{$_>>0Cx+u3nPM &{p9;wd{<%cDX oC0KZ+lnGBRsp zq+z5{q;aGvKgPJhj}->; kbui#hmtN7LYnn)+dq|A$v*2&ZP zwfs7MJ->n9$Zz5|^IOz&{8oM&zn$NaIDy~E@8Wm!d-%QlK7PMYMKB5GNVmVs(0IWr z*y3?^Y-$;S6*w+e;3HiGK@bId+Guf*AVs=HI!C$-vY?2w1U1q_&>}qrJ<>-oxHf`A zh!+xsL?KB?7E%Of;xzSaq*v-3zLt Z%nnhPz2mO?9`b!4E>CNfxPE3|WT7upLQl&3;Rp_9;A z=pu9#x@iSMccF*SGcri%CG-~h2z`ZqLVsa^a8I}|JP;lVkA%mOA;J^ksqjpAF1!$4 z3a^CM!W-djWSH sECQUNQk6J zh0lw$$W$#Ez9d! t@) z!&gL3 QLuySPK#Dee+?i+jSi#l7M_ald##JeU<%b)0cZJe2fXk;KF4hn#oBBWbn8 zqvA1XgLqs#!Oam*CWGQBccOS&JR_dfpCptM&xz-wxOhRl82?SYBwiM;h*!mH;`ORU z#T(*H@m7@NKZ>`LzGaLR@3?vKZj=)5MG5h~T8V!mJ`f*@kHp8~6Y;6|OzSE>7hhzu z;!Cx#_)2{3Iv~D@R*Y5<--_>|wD?~9Abu1-@vp?sDP5fB#V_Jl@tgQv{1L4z{uF<) zd&S@4AGcsHWG`%Q5UpfyD8$(t*&EkMus5+cwKuajx3{pjw70UiwzsjjwYRgkw|B62 zw0Cmx_RjV$_O8)E_HNOE_U>YRb*Ea<-a|TK?`iL4?``j6?`!Xuu+ZM$KEOWEKFB`U zKEyuMKFmJcJ|a5UKGHtQKH5IUJ~p+SeVl!~eS&?WeUg2$eTsdmeVTo`eTIFeeU^Q; zeU5#ueV%>3eSv+UeUW{!eTjW(beMgaeYt%_Mos%l{hwqYKboJff3~l(uePtTuN6k- z7o^p(uS@!r?X$1XkJ&fm*S2r8Z?bQ;Z%KM<-)i4x-=10At=f0kcjnj8Itml?O7>m$ z-S$1gZkKM~YZS__XWwVvFIACD29sY`GUxv*StP4u%del`Kw>3M;w3>6^BYQbNs?qq zkyJ^Objgq$QoNMlm?tGlNm8 ByF{q-@D8Rh6nq)ukFzP01tG za@Lk|ByV W2uQdSnyD4Dm5#3BsG`TNG+t6QmcX|1y7~c>`JLk!DFdy!ShsDYA3aq zIuyK=I;IbkI!T?mRt3+bE>c&iTftkYyVz0cA@wZyD)lP(AoZ5|NPP=F6?~K`Nd35f zrTztP3SNl4qyYu*q 5=qUdQ$LOda53ho;l`9&kMdtFQk{!E9tfL zMtWQDLwZ;6N_sE0kUnVR3Vul+rBC+52IQ`v7Lq;-=cO-vhV-@IoAj;VdrE=yz2LX> zL;6|pNBR{jBK?;B$c5y>auK LtX!_(r(E7BE5`|- z48#h{pbRCQkYV+rjL4{r$#|@sOvt26$+XPK737NYzj7tHa;&&qMK;N1K2EJHTT+Y3 zR@o-AG8c=Bm63T_kVUyq43O=zB+Ic9v68W}@maC*F)&tIy(25KDr@P*WnDI6knE7- z<%C!%IZ;lMljRiIDW}S5vMYwj>2ijgDbIJGNh&KZkQd5}~rN!TTCmbb`TV?>OUx5?Y(9WhGYDesbZ8?)p+ z@?PVFyieXQACM2qhY}~shvg&kQTbS`f_yy2$S35J@+tYWd`3PipOeoE+vN-LMfp;! za*UQQ%U5C*<*V{F`MP{VzA4{|Rg!PZcjUYBJ^8-;Kz=AciVc(>%TMH|@-z9l{3143 zc`m<{U&RK=ujM!LTlt;*Uj86|lt0Oz kD*jk5MS+1-| z5|ov~*6gsdN?EO}iLH;Vi*0cJP}VBzVjGq9Sqt2m$_8blvPs!26;`$=Ta|5&0%g0h z!%-);NiVPLRCX!5l|9N{;h?fl*&o{++oG5I+bl7~wyI{;qFQ6SR9kFYY^Ta9^;9ml zJ+|X-14d9q)vijatSZvM)Mc^Vs>(b6=63b?kAD+ x!DAdR3pAtNPV|8dO7SSdFN8 zYE;cv3tWO4Q){br)VgXtwZ7UwZKyU<8>>y!rfM^_x!OW)skTyEt8LV_YCGpQwS6k7 zc2GO2oz%|S6t#=mRqf_}t9Dm=s6CBcYA?07+DGlH_EY<-1Jrx!ef5F*P<^C6R-dR( z)o1E+^@aLUeWkuu->7fZcj|lfgZfeZ^tXKTMg6LNQ@^V})Sv1v^|$&*E2I_HifBc( zVp?&ngjP~3rIpsoXl1o>T6rx_12j;BG+0A4RKqk}Bhs&Eq(*79#%L9^idrSDa_pp5 zMKft;&7xT~o5pIK#%qEmYIaT1WKGdj?QhRmGc<=5uO(=Se+!4nT8ie>QnfVArKM{b zTBbH%Tc9n}7HNyMCE8MLnYLV8p{>+bX{%$Wv^CmVZJoAW+n{aKHpNbBo3$<4R&ATM zUE87U)OKmRwLRKiZJ)MZJD?rZ4rzzABid2zn08z{p`FxDX{WU_+F9+Kc3!)nUDPgV zm$fU}RqdK~UAv*()NX0FwL98f?VfgDd!Rkk9%+xYC)!i(nf6?Jp}o{zX|J_6+FR|N z_Fns-ebhc_pS3UASM8hjUHhT^)P8BdwLf|xy|CUuZ>TrY8|zK uvP5dON+n-a+rEchWoSUG%PcH@&;wL+`2g(tGQD^uBsOy}v#{AE*z~2kS%hq53d= zxIRK3sgKe}>tpn>`Z#^OK0%+TPtqsrQ}n6&G<~{0L!YV7(r4>)^tt*xeSY0y`T~8S zzDQrJFR@?Hm+H&(<@ySJW$cW;N?)z7(bwwh^!54%eWSif->h%Zx9Z#U?fMRVr@l+y zt?$wI>ihKlMis+km<@|zHEafJa0YJ(hG^Ig$&d}j_}iv7bi*(lM!b<=BpOLZvXNpq zjZ`Dea2e@FhLLGx8QF%rYB{5-QO&4s)G%rq9;23#V|Wdpk!$#kfDtr8M%aiLc}CR8 zHwuiHQQN2!J8RT6>KXO@F};evw&L~IalQ1{&6=Z5^Vjp&SJxzObfNwOMg!qL|G|`q zv?F1K(a`-n-f92puH<6vkBmk} 0`p?AI& Qu!=|BH7 z|5K^F(aQgvFYv$czx2QIzxKcJzxBV%JeG?4-}^uKKl(qVwDf=WfAN3yfAfFWTKaz! z+%;ND+l)5J6OFb;JEOhP!RTmoGCCLh&*)Ncui(DX)#zq)H+mR7jb27?qmR+o=qL9} zn_=`f22?$+z{b7!^gPnIZ$D%_FdiC@jK_Jj@g$F8w-`^2XU22mh4C`4LUy;Rpz+Fh zZM<a^Makw%kEFC scXxO1TX%PNclY+IySsn)U)Zx}&zd#sTDy@g zQJ74Yw rHaJvYoY^Oa5a!pGw&-WKgz?woBku zZMyBU?TR+TcGY&xcHP#@HrHKVn`ygYyJ@>+yRFT#-Ld&>cWw7<_wChf4{}i3L)#x&qy@PNdxrKLfgl zpC``Fc@OjmKPBq`J;N`6UO?~gOP~+XH|-tJFZ?L{1exKsQ|<97;rGt!;SWInR1O#b z3>EnRySZApSumji$ z?2-xqyKNG%2iObj1NH+4>;-{?U_G!tm;g2a8-k6{D`28j6imvU d|s*A1{6*xiMJ zJ;0t|FR2dLTdD>20sDge!2aL>a3DAcd;mTKAAyg-C*V`?8TcH00loxZfv>?g;9Kxr z@?G#f_yPPFE)RYJKfAwxUyQLSmBFvzH}E_71N`Z(?@j=Jfxp2&;9u|`l#d#nlM3ZG zMnVN##f?$MXsDnuCMS)|2Ni+}Lq(vXP%&f>G8ifjmCzqSB^?Y@3cU=KhRQ%?p>j}p zsDi($<0@3q$+=Oek}=+xU`&K6Lsg)vP&H!;R6VnfF*WgsF$t<+OwOi~L8zuN! RbGgK8Pmq1sR#V-{2wst47F5}*dgY^WjB2xFl{V-A#L%!QJn6e!i02c<#j zPzIC {J&Bt%6pw(-OzA)1fuc+U!2iI(9a+9@+qH^el!pu`|g^ z&}O6uJBOVCZDHpEhoP;|HfTGvgPq4NW9LIVp !7{RK6Z2V2%r?S zpPj|7Vb`+@(mo|FV^`n{*hQHqp#y1m*|pF?=n%V{{XhF}=rD8yI!eUZh0rnRIJ+7; z0i9$wLZ_h9&NA#`=nT7rUCFLW2G~uGuh3a?CcB3{fR12~L+8L^>|W?RbRp* IQ zcsoO7kFi^zOYBm1JA5@aKXe(o0$qi!Ar^EUx&hrxibA(shoRfh9d qJ#{| HZ$fXOckCgKVoyNtp%2hU=o9oA`T~80zCquiA6aKomO?+FU%-)Mmc0%AW-mj3 z*bC5K_AYzg6-wryfA9|Y2z$q#k3DD4Z_l$gW^dS=*qgG~?9J@Wa|*Fn?Jbg>_LlZm z_SW_`_O|Smtn2K_%qRACxmWD%?H%kL?VaqMv$nFQ*wgkd>?QU(dn;A8cZGLl6=UzS z_grT _8#`0_Fneh_CA>@oY&sh-j7o`k(2HH?E~xs?St%t z?L+KCxsW~6KFmHm_p*J2eWZPqeKZoZkFk%nk7Lhrf_=Pwf_ xuAV2 zr`xA-e*1L$4Es#`Ec 8 zX j`% `fxEz6;cjqu zxCb``?wM(jhq#e&FSs|{CuJktm+J%f%dN!?h5K^@;Q?HKcpy9oegHp&AHk2|C#k*R zr|>iQIsAg_%k|?1z%R3d+%WhRHynNqzk%Pv@8I|F2lylWiJK08242En;IC*w_#6Bk z{sI5wrog}8-|!#!FZ>V5hvY{JAO(>^NMWQ1Qq*$@DTWlc=O87xX-G+=6jGX+#!clW zA!U%V+&H8hHxVh%jY29Q74h>(C8RP^1*r<} EJ2nc%aG;B3S=cW3t5G%M%Ex} z!E(qtz(Up|8<36EU}O`r*;xhIf^0>$A=|n6$d2T6WGAu<*^TT$_9FX`{m232Ab8S2 zAcv5{$Pwfyatt|+oIp+@r;yY3``jFE9=E_-FmX&$2jmQL7CDEUM=p3vBNvfN$Ytb; zw`jHsUqG%R*O2ST4df O$OGh|w+QkGd5k bu(x2mIww}PXoqnV?*qlKfTqm`qzx1ytsqphQzqrIbpqobpfqqC!n zqpPDE!Fa1Ux;uI}dOCVJdOP|!`g+Sb`Z@YL26)Rm2IBJ_gB*h$L%fw80dEb*P{%OG zaK{M8NXIB|b;oFLHOCmoSjRZWc*g|CM8_m=EyrZX6vtG@G{ QXnpb+nt(Py8+z-YjnG6i z2~9>*y#GT}(KIw2%|J8JEHoR zqaKt-8I(miZ(Y>ut%v$h9`&OER6v7h2o=#VDxor}pem|SCaR+bYI+k;3yq*rG=}D( zjnO7(Q?wb{9BqNNL|dV)(KcvXy=>-Tpdu6klF)W&d%Yam0qux(LOY{f@Kb14v>V#p z^%w1d_C$My@1ecXK4@RGAKD)sfDS|lr4-f6qYv~7=tK08qYU~OeS$tkpP|pu7wF4O zR @hqz>mH{U!!l(x9B_cJ^I1fK(C&7U9X0IL_eXQ(J$y%y)ODK zISc)c{y=}CztG?4AEL2d6a9<+!}4MIu>yK+@)TAOE2P)btLp#L>tKcT8dwpmsGg)Z z)Dy8{SaCg7PtfaOC9slMDZLR^8Y_d9#mZsj-4<2>tB6(7>tmJw3lk5-s_4lXEmA{R zRjiucKu^)LbqK4D)yVvg)x>IHwRI5dht+ZOSY521o~r{`eJlZMfHh3Nj5Wd%u_P>6 zPs38MR4h%;1Pm;l>aVBk8G4p(!!oc;EK5gRcd=|N2g}85X+8{ah!~h&Shr&kX2L`X_4jsc#48xolPIT6DFam3hxtv+<64*lBjV%IxV~cecwgg+6J5l%RIJQhD zvE|qbY^Ba&tFYDB8f>jjVe7E}N1v`Kp)Wg^zd@ObtJAxg>j_C?^96N!X%zS~J(hcl1b_P3(ox{#! z7xWNz5xb FnU_sGoOsa(31)I=eW#I=eZ$JA3GdoIRbroW1o+`dMcmXJ2PO zXMg7a{em9T&p8J=2RR2jhd75ihdGDqmz^V=Bb}q1qxGxKG0w5hanAAjN#_LTMCT;u zWc`YBigT)SntshW-8sWK(>cpI+d0QM*E!EQ-?;#v>0Ibs 9?Hgog17RotvDSom-q+o!j&q&h79~{kn69bEk8cbGLrmxyQNJ zxzD-Zc|gCDve0=DuZP#i6YvIjL%b25h$rF6cnY41r{U>%hSC7f#Ix{hJO|IkZTejt zz(M^U4&nCy tp>@E2;=l0U^bGuuizJ8QfAN3D5_mR|kH}9HAPN$NjHN_jqKMXB>zG?e>qHbK zifP@5;zS9eBvFbeO_U+ZYCW{hL^-50G?*w)R3QE 7^)^(1nLT*3yQB>(~>Ai|Ed(fSiGfe;P?6`}-2I0; eyCB#x< z8L^yLL9EmU603;ScoAX^v6fgztS2@Q8;MQCW?~DmmDomXCw34!iCx5QVh^#G*hlOq z4iE>4L&Ra?h_NhtDshxJMjR(j5GRRK+92XIafUccoFmQ?7l@0*CE_x1g}6#wBd!xS zh?~SM;x=)IxJ%sA1{3#*2gF0CMm%zrBpz#Xi6_L<^eMzM;yLkxcuBk>UK4MKx5PW* zJ@J9~NPHqb6JLn0#5dwQ@q_qD{33o6e~7=tKUY3iepjBWv8#!zsjHc*xvPb%rK^>z zwX2P*t*f1@y{m((qpOpvv#X1%tE-! mE%x2un >;l4R)Lh^t_iM*u1T)RRzcSk*HqUutB`BDYlds4G{rT`HQP1EHPP?RD*Q?ROn;9VF|K^~nUX0ojmjL?)6+WHOmTrjlu7I+;Ocl38RnnM3B1 zHWDB~5+dy+Od_O%L`jTvk~m3Ng~|WcnxsfK=^<&7Az6}BYLZ^kNAjef43GjDBtxV~ zhDnK(NrhBNjnqklG)aq$kWn&5=8=ubCS+5x8QGj{LAE4Yk*&!#WLvTw*`Dk`b|gEI zoyjg_SF#(~o$NvOBzuv)sW91x>`V3|`;!C6f#e|a0r`-8L_Q{;kWa~H ~qzsW!3U-BQ7kIGLKpbAoj zsKQhcswh>ADo&N4N>Zh$(o`9$ELDywPgS5QQkAI6R28Z!RgJ1n)u3upwW!)u9jY!> zkE%~4Pz|VtR3j>pN}`gf6e^WUqtdAiDwE2hvZ)*@m$Fd+1yT_8Um*;IP!0;EFv>~c z6hXPDh14QyF|~wRN-d+7Q!A*I)GBH o%cCTcUah1yDOqqb8!sGZa< zYB#lq+Dq-D_EQI_gVZ7Fu#iU`p^j3=sN>WL>LhiFI!&FS&Qj;7^V9|EB6W$nOkJU_ zQrD>K)D7w;b&I-9-J$MM_o(~S1L~nwgnC3hrk+qwsb|!4>IL k*wuuCDP}?8?uHoMVVsgc6bR>+#YrBA{3XGP_tIJcV~yQ3Ns~`l0++}6n-u( z2%zpgj`!(hkWp!mb2N8hrZiK=Ue8m^QPsVd@}l{uiA-5Hk+Pa8&y;iTbMZ_CrXo|x z0Wg&vrI;#A)#Uf?AX6>#V(NeBA5$Y^0ugj^OwIHqc**1-Q;VtX-k&|ziIL@)I!=kH z>-w5ig!!N2n&Sgg4=&{vnEH^CR-Z{odz15yX}~meoMRfL&SVm8P26{wBy^VhfXfF? zW|C9qXMSW-@Tp8Hljf|$q%#>zX0pcQFj>SXCL8$5 TXAdY<~81WyA`Lr)`5q9@6doK?n?;z{+S zdD7Er7&ko`#w|~#Ckq?u$@b)Uay|cH^&ZdzdF-a)fjx-F;X$SR9?awP;2y%`@{o9? z%>U=1JZ_K2Lwgtx>)|r%k;6S+kI%z<{GNbE@C5nZo{&fMggufuEy t~;Pis#bPg`@Ar=6$0 zr-P@Xr<13%r;Denr< z7oZE$h3LX`5xOW{j4n=>pi9!F=+bl
BmWE7Fzd%5)XFDqW4PPS>Do(zWQ? zbRD`bU5~C$C(sS(hIAu3kxrtM=@dGZPNUQ53_6p}qO<87I+wQ501eU*ZKq)xp&c|z zW3-dTX@Yjq3+YAlVtNU^lwL+Jr&rJ`=~eV 5gO!PCJx!JM0Lf=&g*YVJzhia3$?yCLDH>SHpPL_N;ti z!ZrY?P9AW-3cJE&*b}D0Ze&3E)U<|S+Tlamr>vtl(wqDUG$hRAPNz4!Z-!a-S@^DJ zi)S6VpWZ^=LYleGr*BEgPj5wr7}x1-^mckjCP?ozZqU2v-JX2(9(u2FDSZ;vEq#MM zMDL^b(+B8-^db5%eS|(rA4`5rAE!?kmy^%ZC+So4Y5EK~AFf89rO(ml=?nBl<0^fL zzHD5fuh3WNYxH&c27QyhMc=0H(09=_^ga4M{Qw?DKcpYgkLf4$Q~DYGoPI&Sq+ijm z={NLS;~M?WQwWNidGvewgK5zp&8GAxvkCp#UDIq#f1$t9-^c}KGy1#Pj{ZUaq<_)B z6E~#JqW_q!%{KI3s2}~0$;aep^33LD3#KvC#B6D{Wt!%=%vR~QnPyCLriIzb?8>xc zS~0D2i!p67rkD}4J=2zH2UKI)GaZ E;ABBc%qL$!4+HYz~{t z+E~DxXijE97Gmw@Bo<~7*1@7I#yVNtoWc_3RMy3kEXBH64@ a4+ vw**v4!Vwkg|;ZO*n}Te7X# z)@++_QMN7Hj&09&U^}v%*v@Phwkz9>?auaKd$PUQ-fSPXFWZmp&kkS*vV+(M>_heu z` xhAM8)|7yFz2!~SLe zarwCXTmh~iSBNXj72%3<#kk^J39ckpiYv{P;mUI5xbj>Dt|C{7tISp5s&du1>Rb)3 zCRdBA&DG)Ra`m|STmsjCYsfX?61gNUnM>hPxil`F%iuD(EH0bN;c__}2XG(w5*4v%j=InjBK(!zzQ0pTL}qKpW4EM-MfZ|*pEf;*WznLEXu=FV_ulSU+s pSdr g#?VjdDOM80=J-t1>y~wKG-rhdmzTSS`{z;>~ z1JY!nkI+l#otozz=pE!8>}n+R^A7P26$W^Rd53#Pct?6ic}ENV?U%h{T!p-2z2k(w z-tpcE-ih8x OTEj4;ojxm72cKJRo>Mu*t;gRt#@rGpLZRjc-J$!cLSq(H!_-c zlXtUs3uEFNz!l!D-ffBJz1zJzygTtp-d&90-R*jnS&}&nSMcs(B8-LfWuo4_%pvzb zCT8p7-RIrU9P=LV9waOK>iOz3CzzwY1m>i#fv;h9#Mj7|=u667#T;Rdy9@b}nNz+L zU#c&SIp<6FW%x3g^UT@I1Yedf+n1AblsV(e_1Sy?bDCU{{68P)gP03Gd&X=Z%v| zK8FwWVaa!VPTzm#Nh;%W`A8q-bEnm2F8Mq@+Q+0RK9;%c<9uG9&&T`xzJO2g1$`l( z=nMNKpX^h7s!#LjKEr4Ftfbbyh%f4k`SO^nzQ(>LzNX9-=9;gWueq; x$f)a>+I{|>+0*~>+b8p-1PPI_44)h_3`!f_4D=j4e$+QZutiJ z9x%6k4}FhZ?~U7V758Ikm~q#*XWa2U&Pnt=@jdlD^F7Be_+I#4rhWFk^1UY4p<{e+ zd~Z$4Br}T}_Z{DS?|kolA52f~X5Yt@lDu$Q1dqd^x^6UxBa4S2DwVWxk3jnX;+yRrzXsb-sqF znJQnCuf^Bq>zF!Um#@dy=M(q_d_%qwpU5Zi$$Sc*nw-L?xxP3u`1IThZrD}c7Uwgv zC-Iql7N5=M@VUH=2Y8T&czgO79_A6=!J|CJJ9(TZco)BrU&Jrwm+(vZW&Cn}1;3JC z#jobq@N4;X{Ca)^zmea>Z|1k~TlsDLc76xHli$Vf=J)V>`F;F;{s4cFKg1vAkMKwN zWBhUc1b>o0#h>QS@MrmR{CWNYf04h$U*@mySNUuFb^Zo_lfT8^=I`)#`Fs3*{sI4x zf5boLpYTulXZ&;i1^<$N#lPm?@NfBd{CoZb|B?U1f9AjNU-@tRcm4 8<{uNfDf2Dtw zf3<&&f31I=f4zT$f1`hsf3ts!f2)6+f4hH&f2V(!f46^+f3JU^f4~2L|6rhApnf1B z&>+w-(8x*(BnFZK$$^wWY9K9;9>@q}2C@R#ft)~Yz!m@kU;ql(18@KdI09$@3pfL~ zl^h@ft^gUJ0`7n(KnIur8{h)ofG@xY{DD9~2m}M6fEWk|q<|by0%|}D=m8^O2CP6N z5Dmlvd4a}(CV{4bW`X8`7J-(5R)N-mHi5Q*c7gVR4uOt=PJzyWE`hFrZh`KB9)X^L zUV+|$K7qc0eu4gh0fB*mL4gN>hk-|d$AKq-r-5gI=Ybc2mw{J-*MT>Iw}E$o_kj3J|VwQKqx2_5(*1NgrY(*p}0^&C@GW@ zN(*I#vO+nbyih@?C{(gigvvq{p{h_#s4mnHY6`W4+Cm+nu24^?FC+*JgoZ*RAyG&Y zl7$o@RY()kg$yB6$P%)J93fY*34j0!kYE>J0TCPmDqw %Ar;ev2cxFlQ_t_W9!Yr=KmhHz83CEOP7 z2zP~h!hPX^@KAUpJQkh^Plac~bK!;XQg|i27TySNg?GYx;e+r|_#}K5z6f81Z^C!s zhwxMQCHxlt2!E|K;a@OcFn=&F*f`iE*fiKI*gV)G*fLTg*ecjM*e2LE*e=*U*df?4 z*eTdK*d^FC*e%#S*dy38*elpO*eBRG*e}>WI3PGMI4C$cI3zeUI4n3kI3hSQI4U?g zI3_qYI4(FoI3YMOI4L+eI3+kWI4w9mI3qYSI4d|iI43waI4?LqxFEPNxG1 )KFR|J(Lm3v@$|jq3lpjC^uva0U C!HpGRzAzz3O`9pz_5DJDuAu$vVNg+9;gw&80 z(nChbv@%0hC=!Z>VxhcH<4}`O(@?We^H7UW%TTLO>rk6e+fchu`%s5a$55wG=TMhW z*HAa5q0&f6q{gNdR+5z@B}GZKA5+ql^icP-i>Wh|3?(bnL&*&FOkb{KD>+JT8k&6G zZ3CAlDe2o4n*xykXaAaGIgt!WffP`I6+1*Lh~luHS5W%}1xqfbI2By^&lXZhPf3MR z+*vynkLxvhJGr!NxI){H1Ls1$6h>hcPVp)}g;)Hc-bz3blwhb&sIL-IL?x`qiWKUn zC|Cffuc(Tq=oG0K&MS(kSfTz(M2RYgl$dfj{Tf(PIieiRZsPi1vY{MPjw>fzx^mJT zRZiK{Lj#o4${CxioW*OR)s^$gxs;k2vy= z;Em8z eukbYzm(s~ALVc8x$-ZkidsO;r{)j6Pz$PsZ0*&; zY7w=lT1+jjmQYKorPR{7J3}wkGPZzPRxPKN54{S##tVktgx-eUh2Doggg%Bog+3=A z4SflH4SfrJ5B&)J4E+lI4*d!J4gC}IiTT9>VnMNxSXe9~78Q$$#l;e0NwJhzS}Y@$ z70Zd`#R_6Yv65I>tRhwwtBKXc8e&bcmRMV?Bi0q`iS@+ |`_xnE(ZT%np zpZuTwUx*(5ugO;KT>m%mK<-%ocmEInPw}Atm;bkTD19bFiHFl{;t|HfxW%L5G4Z%~ zLOdy+5>GRXct$)co`cVe=fw*Qo%Vp3=2EDs**(RJ;wAC2c*Rqk;TTrDnm7dODqdr} z;`Q|TS*w9MK;h&^j8D7)lmsVbE8 kfcAH`4N zXYq^pRs1G?7k`L9#b4rY@sIeIECv)1|1n}XUpPNnB%H^D!;R6Ru2{H9xM{dq`qgmr za0^CCoanqBZW(Sxbqu!-w+Ximw+puqcL;Y3cM5k7cR|a9yN0`kyN7#(dxm?3dx!fl za=34}pZ`g?e|Uh64i5|uvi=ty93EoTv+9GJ!b9O%#L)1t@Nj$&(L8HnM*HvxwQ_i5 zcvQ-A*KI2yrB--!c#PE`JT^Qob#i!octUt$cv5(BcuII`cv^URc!t#|JTp8iJUcum zJU2WqJfAFS6(hXi1>uF^Md8I(iSUx}((p2?czAhug>7i=j_}GPD!eMZI=m*l))@$| z!%teJ!t28u@T%dBR!M4-RT{Vz-W1*(-jY?>Dr=PqZw+q?ZwL2>cZ7G^dWCm|cZc_c z_lEa5PKWn9?}iVA4@&i<`ci__Kx!y8k`kpPDcLF~rAVn(c_~dww<<^(KvgMI%966B z94R+(D>PgBF9a-s5@c1B>=G;?l0!lzOma%NL`W`)lqkt9c_dn5Bv#@iFPz^hD)}Tn zr@G{q0yz~WA$7PEltO9GB{Ap!0iVF4Qdp8aYb9AyBsKklq)EDDNTy^-5h*Igq`d6e z1T8gA+$c4Xno7;2=28pmqSR7qCAF5?NNuHdQhTX`bxG
8tcj`Y!#DeoDWj-_jrHuk=sOC+C+7 z$OYv>a$&iMTvRS57ne)OCFN3bX}OGCRxT%(mn+B> t|nKPYsfX_T5@f< zj$Bu+C)althS$jnnWaLrLbF42auVbQaznY1oG2%`WI37Kfb^16 *(L)rC_}PchGj%{$f%6TP8pX8*(EQO7s-p|CGt{vnY>(HA+MBI$*bix@>+SF zyk6cQZ L?R(YGeUEU$@ly}Ly %(ud|tjFUz9J&m*p$+Rr#8HUA`gTlyAwm }_x{9gVbf0RGTpXD#|SNWU#UH&2elz+*; B^G+*K*92wYN|hnIC+!Ow)sVIwozrXkw=#G{Tk+5&PIP{uaS-Y} !rN>`y8Gwfxh@zMlkrZP*J zo%YgENtvU}Rpu%4l?BQ|Ws$$S^ z$*TImpQ1jrP4%bx(*WI{?$7XNI_#cV^l-e8`bd4OK2e{l&(!DY3-zV?N`0-qQHQH< z)pzV9^}YH*{iuFYKdWEVuj)7TyZS@@ss2)btAEtL>OU=?mR~EN71Ro8g|#ADQLUI( zTq~iK)JkckwK7^+t(;a~tDsfXDruFqDq2;onpRz_q1DuCX|=UFT3xN4R$oid8fXo* zMp~klq$O)9TB??&rE3{lrk15;YdKo3X43!-)F92S!5X4DG*rVhr-o~U=F%2wi?qes z5^brrOk1w4&{k@zwAI=gZLPLWTd!@ |y6YZ(?Ona`q&|Ye aFzFdK r%auwizL6@UekPK2eK+x?ziggdtS^I*XAQNN(LGPL!3vvLHSuE() zy9Is8pNP?VcfCi>u^?{`2K~W+-c#=t6zpY!LA^J^217wH7#5766qErfs039v7u57V zK|Q0T-dFFZ_tyvL1NA}rVC#-`TOXni)raZBt^3y9%mVrd>;LH^tq1xjeY8HtdSpGc zp6Fxsan@sfygosns87--TTiWL`V@VtK24u)J=bTT#r2u`EPb{ #vbyBpWH#KO@yh zGt!L=Bh$z-vW*-g*RUBtB%c8qkYSJHH(&!X90qD&hSR_e!f+X+K{2llx8d=OF=&G^ zSc5aXhR@&)zc4dnyb&<|8=w)&t&>&KdTCFxUKpbF%6enHHo}Hv$ktm!an>|c>z$z) zIyllW4AZcTh!HhnMxN2wXks)qni mC@R0W3)Be8SRY@Mn|KQ(b?!?bTzse z-HjebPotO7+vsETHToI-jRD3$W03K{cxXH_9ve@Lr^Ykmx$(kyX}mIC8*hxa#yjJ^ z@xl0Ld@?>8UyQHDH{-kU!}w|ZGJYF>jK9V|GoP8?EMOKi3z>z@B4$yum|5H`VU{#Y znWfD#W?8eGS>CK*Rx~S_mCY( X0B;70TVPK({92hVmeIJ#7w7&n}q2y7n+OA#pV)oskzKt zZmuv_nybv!<{ERYxz1c~ZZJ2Ro6ODT7IUk)&D?J8Fn5}}%-!Z5bFaD2+;1K*51NO} z!{!n5sCmphZk{ktny1Xu<{9&>dCoj x{L}+Hak;&e{4}=dA d_j}n$cR(+R-}Ey3u;k`q6}FgJ{EO zqiA9@DViKjiKa%=qUq6$=znDl(d=kWG&gFC0#PsuMeR{IibNezG>S!?Q9MdSUD1Wn zMbX94CDEnPWzpr)715Q^RngVaHPN-vb sXsu+gQ6;`&frq$5^LW=UA6m*I2h$_gIfu&seWm?^vH$U+|JTF>8c639J$82kC?r z>#t5$r>IlaY3g($5*t8_iw#s~sx!!uu|ZfDb(T6uovqGQ=fwuchNPcS=Vx-Uq3Qzl z|8l(Q!Zg3SNL{QhQJ2Eg)n)4P*f4bkG%Yq ;4sh;58*ifxW G|o*TDiK8pi!Fb>7- z^sqP_N8%1gIQOJFERJS6;#k~iKNrX2MBD|Ai<5CGQaVy5Qa0|6l#i5)dm8#Vc*l6B zc;|Q*hZOG`sTS`R?;h_F?-}nE?;Y kykRWR9@-4GI?e5%H@^M ztB_YQuToy+yefHB^Qz@lRGFGp|-&?Yug9b@S@w)z3@FYmnD4uTk<}t5RNKUXoSW zHq5GGRkf;F)vX# 29yoF9b