From bb53918a285d1114e80d5cb754c0fbb7a53abc1b Mon Sep 17 00:00:00 2001 From: luckyasme <807254037@qq.com> Date: Mon, 10 Mar 2025 15:59:47 +0800 Subject: [PATCH 1/6] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96nginx=E8=BD=AC?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/nginx/nginx.conf | 34 ++-------------------------------- 1 file changed, 2 insertions(+), 32 deletions(-) diff --git a/deploy/nginx/nginx.conf b/deploy/nginx/nginx.conf index 9f753b7..290634b 100644 --- a/deploy/nginx/nginx.conf +++ b/deploy/nginx/nginx.conf @@ -165,44 +165,14 @@ http { # proxy_pass https://dsapi.osinfra.cn/; } - location ^~ /zh/docs/24.03_LTS_SP1/css/ { + location ^~ /docs/24.03_LTS_SP1/ { proxy_set_header X-Forwarded-For $http_x_real_ip; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_ssl_protocols TLSv1.3; proxy_ssl_verify off; - proxy_pass http://openeuler-docs-website-stable2-24-03-lts-sp1.openeuler-website-docs:8080/css/; - } - - location ^~ /zh/docs/24.03_LTS_SP1/fonts/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_ssl_protocols TLSv1.3; - proxy_ssl_verify off; - - proxy_pass http://openeuler-docs-website-stable2-24-03-lts-sp1.openeuler-website-docs:8080/fonts/; - } - - location ^~ /zh/docs/24.03_LTS_SP1/img/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_ssl_protocols TLSv1.3; - proxy_ssl_verify off; - - proxy_pass http://openeuler-docs-website-stable2-24-03-lts-sp1.openeuler-website-docs:8080/img/; - } - - location ^~ /zh/docs/24.03_LTS_SP1/js/ { - proxy_set_header X-Forwarded-For $http_x_real_ip; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_ssl_protocols TLSv1.3; - proxy_ssl_verify off; - - proxy_pass http://openeuler-docs-website-stable2-24-03-lts-sp1.openeuler-website-docs:8080/js/; + proxy_pass http://openeuler-docs-website-stable2-24-03-lts-sp1.openeuler-website-docs:8080/; } location ^~ /zh/docs/24.03_LTS_SP1/ { -- Gitee From 9dd433bcbbc85c4601d57a8b79d5f987470d974c Mon Sep 17 00:00:00 2001 From: luckyasme <807254037@qq.com> Date: Tue, 11 Mar 2025 09:21:54 +0800 Subject: [PATCH 2/6] =?UTF-8?q?docs:=20=E4=BC=98=E5=8C=96=E8=B4=A1?= =?UTF-8?q?=E7=8C=AE=E6=8C=87=E5=8D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vitepress/src/config/home.ts | 2 +- ...55\346\263\225\345\217\202\350\200\203.md" | 140 ------ docs/zh/Contribute/_menu.md | 24 +- docs/zh/Contribute/ci_rules.md | 83 ++++ docs/zh/Contribute/contribution_process.md | 230 ++++------ .../directory_structure_introductory.md | 425 +++++++++++++----- .../documentation_writing_specifications.md | 356 ++++++++++++--- ...3\344\273\223\346\200\273\350\247\210.png" | Bin 0 -> 190670 bytes .../zh/Contribute/markdownlint_rules.md | 2 +- .../zh/Contribute/markdownlint_tools.md | 0 .../public_sys-resources/icon-caution.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-danger.gif | Bin 0 -> 580 bytes .../public_sys-resources/icon-note.gif | Bin 0 -> 394 bytes .../public_sys-resources/icon-notice.gif | Bin 0 -> 406 bytes .../public_sys-resources/icon-tip.gif | Bin 0 -> 253 bytes .../public_sys-resources/icon-warning.gif | Bin 0 -> 580 bytes ...31\344\275\234\350\247\204\350\214\203.md" | 302 ------------- 17 files changed, 792 insertions(+), 772 deletions(-) delete mode 100644 "docs/zh/Contribute/MarkDown\345\270\270\347\224\250\350\257\255\346\263\225\345\217\202\350\200\203.md" create mode 100644 docs/zh/Contribute/ci_rules.md create mode 100644 "docs/zh/Contribute/figures/\346\226\207\346\241\243\344\273\223\346\200\273\350\247\210.png" rename "docs/zh/Contribute/markdownlint\346\243\200\346\237\245\350\247\204\345\210\231.md" => docs/zh/Contribute/markdownlint_rules.md (99%) rename "docs/zh/Contribute/markdownlint\351\224\231\350\257\257\344\277\256\345\244\215\345\267\245\345\205\267.md" => docs/zh/Contribute/markdownlint_tools.md (100%) create mode 100644 docs/zh/Contribute/public_sys-resources/icon-caution.gif create mode 100644 docs/zh/Contribute/public_sys-resources/icon-danger.gif create mode 100644 docs/zh/Contribute/public_sys-resources/icon-note.gif create mode 100644 docs/zh/Contribute/public_sys-resources/icon-notice.gif create mode 100644 docs/zh/Contribute/public_sys-resources/icon-tip.gif create mode 100644 docs/zh/Contribute/public_sys-resources/icon-warning.gif delete mode 100644 "docs/zh/Contribute/\345\206\231\344\275\234\350\247\204\350\214\203.md" diff --git a/docs/.vitepress/src/config/home.ts b/docs/.vitepress/src/config/home.ts index 6fd5010..c0f8a33 100644 --- a/docs/.vitepress/src/config/home.ts +++ b/docs/.vitepress/src/config/home.ts @@ -79,7 +79,7 @@ export const cardList = [ }, title: '贡献指南', desc: '参与文档贡献的方式', - href: '/zh/Contribute/contribution_process.html', + href: '/zh/Contribute/directory_structure_introductory.html', }, ]; diff --git "a/docs/zh/Contribute/MarkDown\345\270\270\347\224\250\350\257\255\346\263\225\345\217\202\350\200\203.md" "b/docs/zh/Contribute/MarkDown\345\270\270\347\224\250\350\257\255\346\263\225\345\217\202\350\200\203.md" deleted file mode 100644 index 365c438..0000000 --- "a/docs/zh/Contribute/MarkDown\345\270\270\347\224\250\350\257\255\346\263\225\345\217\202\350\200\203.md" +++ /dev/null @@ -1,140 +0,0 @@ -# MarkDown常用语法参考 - -## 标题 - -使用\#号标记:使用 \# 号可表示 1-6 级标题,一级标题对应一个 \# 号,二级标题对应两个 \# 号,以此类推。 - -``` -# 一级标题 -## 二级标题 -### 三级标题 -#### 四级标题 -##### 五级标题 -###### 六级标题 -``` - -## 字体 - -- 斜体:使用一个星号(\*)表示斜体。 - - ``` - *斜体文本* - ``` - -- 粗体:使用两个星号(\*\*)表示粗体。 - - ``` - **粗体文本** - ``` - -- 粗斜体:使用3个星号(\*\*\*)表示粗斜体。 - - ``` - ***粗斜体文本*** - ``` - - -## 列表 - -- 无序列表:无序列表使用星号(**\***)、加号(**+**)或是减号(**-**)作为列表标记,这些标记后面要添加一个空格,然后再填写内容。同一个无序列表,建议使用同一个符号。 - - ``` - * 第一项 - * 第二项 - * 第三项 - - + 第一项 - + 第二项 - + 第三项 - - - - 第一项 - - 第二项 - - 第三项 - ``` - - -- 有序列表:有序列表使用数字并加上 **.** 号来表示。 - - ``` - 1. 第一项 - 2. 第二项 - 3. 第三项 - ``` - - -- 嵌套列表:列表嵌套只需在子列表中的选项前面添加四个空格即可。 - - ``` - 1. 第一项: - - 第一项嵌套的第一个元素 - - 第一项嵌套的第二个元素 - 2. 第二项: - - 第二项嵌套的第一个元素 - - 第二项嵌套的第二个元素 - ``` - - -## 引用 - -Markdown 区块引用是在段落开头使用 **\>** 符号 ,然后后面紧跟一个**空格**符号。 - -``` -> 说明: -``` - -## 代码 - -- 行间代码:如果是段落上的一个函数或片段的代码可以用反引号把它包起来(**\`**)。 - -``` -`printf()` 函数 -``` - -- 代码块:可以用 **\`\`\`** 包裹一段代码。 - -``` -``` -select * from table; -``` -``` - -## 链接 - -链接使用方法如下: - -``` -[链接名称](链接地址) -``` - -## 图片 - -图片使用方法如下: - -``` -![alt 属性文本](图片地址) - -![alt 属性文本](图片地址 "可选标题") -``` - -- 开头一个感叹号 (!)。 -- 接着一个方括号,里面放上图片的替代文字。 -- 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上选择性的 'title' 属性的文字。 - -## 表格 - -Markdown 制作表格使用 **|** 来分隔不同的单元格,使用 **-** 来分隔表头和其他行。语法格式如下: - -``` -| 表头 | 表头 | -| ---- | ---- | -| 单元格 | 单元格 | -| 单元格 | 单元格 | -``` - -我们可以设置表格的对齐方式: - -- -: 设置内容和标题栏居右对齐。 -- :- 设置内容和标题栏居左对齐。 -- :-: 设置内容和标题栏居中对齐。 - diff --git a/docs/zh/Contribute/_menu.md b/docs/zh/Contribute/_menu.md index d57839b..15a81c3 100644 --- a/docs/zh/Contribute/_menu.md +++ b/docs/zh/Contribute/_menu.md @@ -2,24 +2,14 @@ label: '贡献指南' ismanual: 'Y' children: - - label: '文档贡献指导' - children: - - label: '文档开发流程' - href: './contribution_process.md' - - label: '文档仓库目录结构说明' - href: './directory_structure_introductory.md' - - label: 'menu文件写作规范' - href: './menu_specifications.md' - - label: '英文文档贡献指导' - href: './english_doc_contribute.md' - - label: '文档写作规范' + - label: '概述' + href: './directory_structure_introductory.md' + - label: '快速入门' + href: './contribution_process.md' + - label: '教程' children: - label: '文档写作规范' href: './documentation_writing_specifications.md' - - label: 'MarkDown常用语法参考' - href: './MarkDown常用语法参考.md' - - label: 'markdownlint检查规则' - href: './markdownlint检查规则.md' - - label: 'markdownlint错误修复工具' - href: './markdownlint错误修复工具.md' + - label: '文档发布流水线门禁' + href: './ci_rules.md' --- \ No newline at end of file diff --git a/docs/zh/Contribute/ci_rules.md b/docs/zh/Contribute/ci_rules.md new file mode 100644 index 0000000..4d59ad3 --- /dev/null +++ b/docs/zh/Contribute/ci_rules.md @@ -0,0 +1,83 @@ +# 文档开发流水线门禁 + +## markdownlint + +markdownlint 是一款检查 markdown 文件格式的工具。markdownlint规则介绍及本仓规则设置,请参考[检查规则](./markdownlint_rules.md)。可使用[工具](./markdownlint_tools.md)对markdownlint 进行批量修复。 + +> 说明: +> 开发者需要确保提交的文档已修复所有markdownlint错误,否则CI门禁报错,将无法合入。 + +## 标签闭合 + +链接、表格等内容元素建议使用markdown语法书写。如果需要使用HTML样式,请确保标签闭合。 + +错误示例 + + ```yaml + + + + + +
Header 1 + Header 2
Data 1 + Data 2
+ ``` + +正确示例 + + ```yaml + + + + + + + + + +
Header 1Header 2
Data 1Data 2
+ ``` + +> 说明:开发者需要确保提交的文档中HTML 标签已全部闭合,否则CI门禁报错,将无法合入。 + +## 引用链接 + +图片、网站、手册链接请检查路径地址是否正确。 + +反例 + +- 失效的网站链接 + + ```text + [错误官网](https://doc.openeuler.org/zh/) + ``` + +- 错误的相对路径 + + ```text + [写作规范](../写作规范.md) + ``` + +​ +正例 + +- 网站链接 + + ```text + [错误官网](https://docs.openeuler.org/zh/) + ``` + +- 相对路径 + + ```text + [写作规范](./contribute/写作规范.md) + ``` + +>说明:开发者需要确保提交的文档中链接有效,否则CI门禁报错,将无法合入。 + +## 静态检查 + +新增文档时,为了能在openEuler 文档官网展示,需要在_menu.md文件增加对应文档位置。 + +>说明:开发者需要确保提交新增文档同步提交了_menu.md文件修改,否则CI门禁报错,将无法合入。 diff --git a/docs/zh/Contribute/contribution_process.md b/docs/zh/Contribute/contribution_process.md index d283502..8fc3b42 100644 --- a/docs/zh/Contribute/contribution_process.md +++ b/docs/zh/Contribute/contribution_process.md @@ -1,69 +1,51 @@ -# 文档开发流程 +# 快速入门 ## 概述 -本文档围绕新增文档,修改文档,删除文档三个场景,为开发者明确文档开发流程。本文档中的示例均以中文文档为例,英文文档逻辑类似。 +本文档围绕新增文档,修改文档,删除文档三个任务场景,为开发者明确文档开发流程。开发需要具备以下经验和技能: -若需了解更详细的文档开发规范,请参考[文档仓库目录结构说明](./directory_structure_introductory.md),[menu文件写作规范](./menu_specifications.md)。英文文档贡献指导请详见[英文文档贡献指导](./english_doc_contribute.md)。若需使用 Git 提交 PR 以及 issue 的具体指导,请详见[openEuler开源社区贡献指南](./openEuler开源社区贡献指南.md)。 +- 了解 Git 基本操作 +- 了解 markdown 写作规范 +- 了解 openEuler 文档仓组织结构 ## 新增文档 -### 文档发布在文档中心 +若开发者希望在服务器场景下新增《升级指南》,可参考以下操作步骤: -1. 克隆文档仓到本地 +1. 创建存放文件夹 - 要新增文档,开发者需要先明确存放相关内容的文档仓库是哪个。一般来讲,要确定新增内容该合并到哪个仓库,可以先看相关特性由哪个sig组负责维护,对应的sig组名-docs,就是存放新增内容的仓库。例如,《OpenStack用户指南》存放在 [openstack-docs](https://gitee.com/openeuler/openstack-docs) 仓。 + 确定《升级指南》的[存放位置](./directory_structure_introductory.md#文档存放地址),在此处新建一个文件夹,用于存放该指南下所有的`.md`文件。 - 如果是与系统安装升级或管理员指南相关的内容,属于通用配置,在 [docs](https://gitee.com/openeuler/docs) 仓统一维护。 - -2. 在合适的目录下新建文档 - - 文档仓克隆完成后,要先在仓库里找到合适的目录,然后在该目录下新增文档。具体目录可根据该新增文档在文档中心呈现的目录层级来找。 - - 例如,如果开发者想在《安装指南》中新增一个章节介绍多种安装方式,则需要在 [docs](https://gitee.com/openeuler/docs) 仓的 [Server > InstallationUpgrade > Installation](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/InstallationUpgrade/Installation) 目录下新建 `Installation-Modes.md`。因为《安装指南》相关内容属于通用文档,因此在docs仓统一进行维护。并且《安装指南》呈现在文档中心的服务器场景(Server)下的安装升级(InstallationUpgrade)类别下。 - - ![image](figures/安装指南显示.jpg) - ![image](figures/安装指南gitee.jpg) - - 如果开发者想在《OpenStack用户指南》中新增一个章节介绍devstack,则需要在 [openstack-docs](https://gitee.com/openeuler/openstack-docs) 仓里新建 `devstack.md`。因为 OpenStack 相关特性是由 openstack SIG 维护,并且 openstack-docs 仓库仅维护一本手册,所以无需在细分目录。 - - ![image](figures/openstackgitee.jpg) - - 如果开发者不只是想在现有手册中新增一个章节,而是想新增一本完整的手册,则需要新建一个文件夹用来存放该手册下所有的章节。例如,如果开发者想在服务器场景(Server)下的安装升级(InstallationUpgrade)类别下,新增《升级指南》,则需要在 [docs](https://gitee.com/openeuler/docs) 仓的 [Server > InstallationUpgrade](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/InstallationUpgrade/) 目录下新建 `Upgrade`。 - - ![image](figures/升级指南显示.jpg) - ![image](figures/升级指南gitee.jpg) + ```text + ├─docs + | ├─en + | └─zh + | └─Server + | └─InstallationUpgrade + | ├─Installation + | └─Upgrade + | ├─openEuler_22.03_LTS_upgrade_and_downgrade.md + | └─_menu.md + ``` -3. 关联章节至对应手册 +2. 生成`_menu.md`文件 - 新建文档后,为确保新增章节能正确显示,需在`_menu.md`文件里添加对该文档的引用。例如,开发者在 [openstack-docs](https://gitee.com/openeuler/openstack-docs) 仓里新建`devstack.md`后,需要在 [_menu.md](https://gitee.com/openeuler/openstack-docs/blob/openEuler-25.03/docs/zh/_menu.md) 中添加对`devstack.md`文档的引用。该`_menu.md`通常在新增文档的同级目录下存放。 + 在步骤 1 所创建的文件夹中,新建一个`_menu.md`文件,以维护手册内各章节的展示逻辑。 ```yaml --- - label: 'OpenStack 用户手册' + label: '升级指南' + ismanual: 'Y' + description: '升级 openEuler 操作系统' children: - - label: '安装指导' - children: - - label: 'devstack' - href: './install/devstack.md' - - label: 'antelope' - href: './install/antelope.md' - - label: '操作及管理指导' - children: - - label: '安全指南' - href: './security/security-guide.md' + - label: '升降级指导' + href: './openEuler_22.03_LTS_upgrade_and_downgrade.md' --- ``` - 如果开发者不只是想在现有手册中新增一个章节,而是想新增一本完整的手册,则需要为该手册创建一个`_menu.md`文件。 - -4. 关联手册至对应场景 - - 如果是新增一本完整手册的场景,除了上述步骤,还需要在对应场景的`_menu.md`文件中添加对手册的引用。换句话说,当开发者创建了新手册的`_menu.md`文件后,必须把这个文件的引用,添加到某个场景的`_menu.md`文件中,这样才能让新手册在相应场景中得以展示。 - - 下面给出两个示例进行说明,示例一: +3. 关联手册至对应场景 - 如果开发者想在服务器场景下新增《升级指南》,则需要对 [docs](https://gitee.com/openeuler/docs) 仓 Server 目录下的 [_menu.md](https://gitee.com/openeuler/docs/blob/25.03/docs/zh/Server/_menu.md) 文件进行修改: + 在服务器场景的 [_menu.md](https://gitee.com/openeuler/docs/blob/25.03/docs/zh/Server/_menu.md) 文件中,添加对《升级指南》的引用。 ```yaml --- @@ -82,131 +64,73 @@ --- ``` - 如果开发者想在虚拟化场景下新增《OpenStack用户指南》,则需要对 [docs](https://gitee.com/openeuler/docs) 仓 Virtualization 目录下的 [_menu.md](https://gitee.com/openeuler/docs/blob/25.03/docs/zh/Virtualization/_menu.md) 文件进行修改: - - ```yaml - --- - label: '虚拟化' - children: - - label: '虚拟化平台' - children: - - reference: './Virtualization/_menu.md' - - reference: './StratoVirt/_menu.md' - - reference: 'https://gitee.com/openeuler/openstack-docs/blob/openEuler-25.03/docs/zh/_menu.md' - --- - ``` - -5. 发布在文档中心 - - 提交文档修改的 PR 后,doc SIG maintainer和各特性 SIG maintainer 会进行检视。只有当他们都审核通过,PR 才能合入。每晚8点至10点系统会自动构建,构建完成后,修改内容就会在官网显示。 - -### 文档不在文档中心发布 - -如果开发者所创作的文档内容,暂时不适合推广或尚不成熟,目前无需发布在文档中心,也可先提交至 [docs](https://gitee.com/openeuler/docs) 仓的 [archive](https://gitee.com/openeuler/docs/tree/25.03/archive) 目录中。等到需要发布时,再将其移至合适的目录。这类文档同样需要遵循写作规范。 - -> 注意:提交至 archive 目录的文档,按计划未来会发布到文档中心,若长时间无人维护,将会被清理。 - ## 修改文档 文档修改分为以下三种情况: -- 若需对现有文档内容进行修改,则需要找到文档的存放位置,并对其内容进行相应调整。 -- 若需对手册内各章节的目录结构进行修改,则需要找到对应手册的`_menu.md`,并对其内容进行相应调整。 -- 若需对文档中心各场景下的呈现结构进行修改,则需要找到对应场景的`_menu.md`,并对其内容进行相应调整。 - -关于如何找到文档和`_menu.md`文件的存放位置,在[新增文档](#新增文档)章节有比较详细的介绍。 +1. 现有文档内容修改:找到文档的[存放位置](./directory_structure_introductory.md#文档存放地址),并对其内容进行相应调整。 -下面给出两个示例进行说明,示例一: +2. 手册章节目录结构调整:找到手册的`_menu.md`文件并修改。 -![image](figures/安装在服务器.jpg) + 如果开发者要删除《OpenStack用户指南》中的 devstack 章节,首先要删除此章节对应的`.md`文件([devstack.md](https://gitee.com/openeuler/openstack-docs/blob/openEuler-25.03/docs/zh/install/devstack.md)),并在《OpenStack用户指南》的 [_menu.md](https://gitee.com/openeuler/openstack-docs/blob/openEuler-25.03/docs/zh/_menu.md) 下,删除对`devstack.md`文档的引用: -如图所示,当前《安装指南》的章节设置中,“安装在服务器”作为首个章节显示。若开发者希望将“安装在树莓派”置于“安装在服务器”之上,需找到《安装指南》对应的 [menu.md](https://gitee.com/openeuler/docs/blob/25.03/docs/zh/Server/InstallationUpgrade/Installation/_menu.md) 文件,并对其进行修改: - -```yaml ---- -label: '安装指南' -ismanual: 'Y' -description: '安装 openEuler 操作系统' -children: - - label: '安装在树莓派' - href: './install-pi.md' - children: - - label: '安装准备' - href: './Installation-Preparations1.md' - - label: '安装在服务器' - href: './install-server.md' + ```yaml + --- + label: 'OpenStack 用户手册' children: - - label: '安装准备' - href: './installation-preparations.md' ---- -``` - -示例二: + - label: '安装指导' + children: + - label: 'devstack' + href: './install/devstack.md' + - label: 'antelope'markdown + href: './install/antelope.md' + --- + ``` -![image](figures/安装升级.jpg) +3. 手册在文档中心呈现位置修改:找到场景的`_menu.md`并修改。 -如图所示,当前在服务器场景下,《安装指南》显示在《升级指南》之前。若开发者希望将《升级指南》调整至前面显示,需找到服务器场景对应的 [menu.md](https://gitee.com/openeuler/docs/blob/25.03/docs/zh/Server/_menu.md) 文件并加以修改: + 在服务器场景下,若开发者希望将《升级指南》调整至《安装指南》前面显示,需找到服务器场景的 [menu.md](https://gitee.com/openeuler/docs/blob/25.03/docs/zh/Server/_menu.md) 文件并加以修改: -```yaml ---- -label: '服务器' -children: - - label: '快速入门' - children: - - reference: './Quickstart/Quickstart/_menu.md' - - label: '安装升级' - children: - - reference: './InstallationUpgrade/Upgrade/_menu.md' - - reference: './InstallationUpgrade/Installation/_menu.md' - - label: '系统管理' + ```yaml + --- + label: '服务器' children: - - reference: './Administration/Administrator/_menu.md' - - reference: './Administration/sysMaster/_menu.md' - - reference: './Administration/CompaCommand/_menu.md' ---- -``` + - label: '快速入门' + children: + - reference: './Quickstart/Quickstart/_menu.md' + - label: '安装升级' + children: + - reference: './InstallationUpgrade/Upgrade/_menu.md' + - reference: './InstallationUpgrade/Installation/_menu.md' + - label: '系统管理' + children: + - reference: './Administration/Administrator/_menu.md' + - reference: './Administration/sysMaster/_menu.md' + - reference: './Administration/CompaCommand/_menu.md' + --- + ``` ## 删除文档 -删除文档的操作步骤如下: - -1. 首先,确定想要删除的文档存放在何处,找到后将其删除。 -2. 接着,找到对应手册的`_menu.md`文件,在其中去掉对已删除章节的引用。 -3. 若开发者不只删除某本手册中的部分章节,而是要删除一整本手册,除上述操作外,还需找到对应场景的`_menu.md`文件,在里面删除对手册的引用。 +若开发者希望在虚拟化场景下删除《虚拟化用户指南》,可参考以下操作步骤: -关于如何找到文档和`_menu`文件的存放位置,在[新增文档](#新增文档)章节有比较详细的介绍。 +1. 首先,确定想要删除手册的[存放位置](./directory_structure_introductory.md#文档存放地址),将其删除。 -下面给出示例进行说明: +2. 在虚拟化场景的 [_menu.md](https://gitee.com/openeuler/docs/blob/25.03/docs/zh/Virtualization/_menu.md) 文件中,删除对《OpenStack 用户手册》的引用。 -![image](figures/安装升级.jpg) + ```yaml + --- + label: '虚拟化' + children: + - label: '虚拟化平台' + children: + - reference: './VirtualizationPlatform/Virtualization/_menu.md' + - reference: './VirtualizationPlatform/StratoVirt/_menu.md' + --- + ``` -如图所示,当前在虚拟化场景中,《OpenStack用户指南》设有专门章节对 devstack 进行介绍。 +## 文档暂不在文档中心发布 -如果开发者要删除《OpenStack用户指南》中的 devstack 章节,首先要删除此章节对应的`.md`文件([devstack.md](https://gitee.com/openeuler/openstack-docs/blob/openEuler-25.03/docs/zh/install/devstack.md)),并在《OpenStack用户指南》的 [_menu.md](https://gitee.com/openeuler/openstack-docs/blob/openEuler-25.03/docs/zh/_menu.md) 下,删除对`devstack.md`文档的引用: +如果开发者所创作的文档内容,暂时不适合推广或尚不成熟,目前无需发布在文档中心,可在文档仓的 [archive](https://gitee.com/openeuler/docs/tree/25.03/archive) 目录中进行增删改。等到需要发布时,再将其移至合适的目录,注意这类文档同样需要遵循写作规范。 -```yaml ---- -label: 'OpenStack 用户手册' -children: - - label: '安装指导' - children: - - label: 'devstack' - href: './install/devstack.md' - - label: 'antelope'markdown - href: './install/antelope.md' ---- -``` - -如果开发者要将《OpenStack用户指南》全部删除,除了要删除与该手册相关的全部`.md`文件外,还需要在虚拟化场景的 [_menu.md](https://gitee.com/openeuler/docs/blob/25.03/docs/zh/Virtualization/_menu.md) 文件中,删除对《OpenStack 用户手册》的引用。 - -```yaml ---- -label: '虚拟化' -children: - - label: '虚拟化平台' - children: - - reference: './VirtualizationPlatform/Virtualization/_menu.md' - - reference: './VirtualizationPlatform/StratoVirt/_menu.md' - - reference: 'https://gitee.com/openeuler/openstack-docs/blob/openEuler-25.03/docs/zh/_menu.md' ---- -``` +> 注意:提交至 archive 目录的文档,按计划未来会发布到文档中心,若长时间无人维护,将会被清理。 diff --git a/docs/zh/Contribute/directory_structure_introductory.md b/docs/zh/Contribute/directory_structure_introductory.md index 283dd1e..cbf7f21 100644 --- a/docs/zh/Contribute/directory_structure_introductory.md +++ b/docs/zh/Contribute/directory_structure_introductory.md @@ -1,16 +1,109 @@ -# 文档仓目录结构 +# 概述 -## 概述 +## 介绍 -在 openEuler/docs 仓和 openEuler/SIG组名-docs 仓中,docs 目录内存放的内容将展示于官网,其目录结构依据官网呈现的目录层级进行设置。docs 目录下设有 zh 和 en 两个子目录,分别用于存放中文和英文文档。接下来,我们以中文目录为例进行说明,英文目录的结构和操作逻辑与之相同。 +openEuler的文档仓库包含 openEuler/docs 仓以及 openEuler/各SIG组名-docs 仓。基础特性文档,如发行说明、管理员指南等,均在 docs 仓集中维护。而增量特性文档,例如 A-Tune 用户指南、oeAware 用户指南等,则依据特性所属的 SIG 组,分别存放在各 SIG 组的 docs 仓内。 -在文档仓中,除docs目录外,还设有Archive目录,该目录专门用于存放无需在官网展示的存档文档。 +![image](figures/文档仓总览.png) -## 场景 +在文档仓中,docs 目录下的内容会展示于官网,其下设有 zh 和 en 两个子目录,分别用以存放中文文档与英文文档,文档目录结构严格参照官网呈现的目录层级规划设置。此外,文档仓还设有archive目录,用来存放暂不适合推广,或尚不成熟的文档。待文档完善且满足发布需求时,再将其移至 docs 目录,以便在官网展示。 -文档中心有五个业务场景,服务器、虚拟化、云原生、边缘计算和嵌入式,分别对应 docs 仓内 docs/zh 目录下的 Server、Virtualization、Cloud、EdgeComputing 和 Embedded 子目录,工具模块对应 Tools 子目录。 +```text +├─archive +├─docs +│ ├─en +│ └─zh +``` + +## 文档存放地址 + +| 场景| 类别 | 手册 | 存放地址 | +|----|---------|-------|-------| +| 服务器 | 发行说明 | 发行说明 | [docs/zh/Server/Releasenotes/Releasenotes](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Releasenotes/Releasenotes) | +| | 快速入门 | 快速入门 | [docs/zh/Server/Quickstart/Quickstart](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Quickstart/Quickstart) | +| | 安装升级 | 安装指南 | [docs/zh/Server/InstallationUpgrade/Installation](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/InstallationUpgrade/Installation) | +| | | 升级指南 | [docs/zh/Server/InstallationUpgrade/Upgrade](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/InstallationUpgrade/Upgrade) | +| | 系统运维 | A-Ops用户指南 | [docs/zh/Server/Maintenance/A-Ops](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/A-Ops) | +| | | gala用户指南 | [docs/zh/Server/Maintenance/Gala](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/Gala) | +| | | sysmonitor用户指南 | [docs/zh/Server/Maintenance/sysmonitor](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/sysmonitor) | +| | | 内核热升级指南 | [docs/zh/Server/Maintenance/KernelLiveUpgrade](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/KernelLiveUpgrade) | +| | | SysCare用户指南| [docs/zh/Server/Maintenance/SysCare](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/SysCare) | +| | | 常用技能 | [docs/zh/Server/Maintenance/CommonSkills](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/CommonSkills) | +| | | 常用定位定界工具 | [docs/zh/Server/Maintenance/CommonTools](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/CommonTools) | +| | | 故障应急处理 | [docs/zh/Server/Maintenance/Troubleshooting](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/Troubleshooting) | +| | 安全 | 安全加固指南 | [docs/zh/Server/Security/SecHarden](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Security/SecHarden) | +| | | 可信计算 | [docs/zh/Server/Security/TrustedComputing](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Security/TrustedComputing) | +| | | secGear开发指南 | [docs/zh/Server/Security/secGear](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Security/secGear) | +| | | CVE-ease设计指南 | [docs/zh/Server/Security/CVE-ease](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Security/CVE-ease) | +| | | 证书签名 | [docs/zh/Server/Security/CertSignature](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Security/CertSignature) | +| | | SBOM用户指南 | [docs/zh/Server/Security/Sbom](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Security/Sbom) | +| | | 国密 | [docs/zh/Server/Security/ShangMi](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Security/ShangMi) | +| | 内存与存储 | 配置和管理逻辑卷 | [docs/zh/Server/MemoryandStorage/lvm](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/MemoryandStorage/lvm) | +| | | etmem用户指南 | [docs/zh/Server/MemoryandStorage/etmem](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/MemoryandStorage/etmem) | +| | | GMEM用户指南 | [docs/zh/Server/MemoryandStorage/GMEM](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/MemoryandStorage/GMEM) | +| | | HSAK开发指南 | [docs/zh/Server/MemoryandStorage/HSAK](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/MemoryandStorage/HSAK) | +| | 网络 | 配置网络 | [docs/zh/Server/Network/NetworConfig](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Network/NetworConfig) | +| | | Gazelle用户指南 | [docs/zh/Server/Network/Gazelle](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Network/Gazelle) | +| | 性能调优 | 系统资源与性能 | [docs/zh/Server/Performance/Overall/systemResource](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Performance/Overall/systemResource) | +| | | oeAware用户指南 | [docs/zh/Server/Performance/TuningFramework/oeAware](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Performance/TuningFramework/oeAware) | +| | | sysBoost用户指南 | [docs/zh/Server/Performance/CPUOptimization/sysBoost](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Performance/CPUOptimization/sysBoost) | +| | | 使用KAE加速引擎 | [docs/zh/Server/Performance/CPUOptimization/KAE](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Performance/CPUOptimization/KAE) | +| | | A-Tune用户指南 | [docs/zh/Server/Performance/SystemOptimization/A-Tune](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Performance/SystemOptimization/A-Tune) | +| | 应用开发 | 应用开发指南 | [docs/zh/Server/Development/ApplicationDev](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Development/ApplicationDev) | +| | | GCC用户指南 | [docs/zh/Server/Development/GCC](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Development/GCC) | +| | HA高可用 | HA用户指南 | [docs/zh/Server/HighAvailability/HA](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/HighAvailability/HA) | +| | 多样性算力 | 直连聚合用户指南| [docs/zh/Server/DiversifiedComputing/DPUOffload](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/DiversifiedComputing/DPUOffload) | +| | | DPU-OS | [docs/zh/Server/DiversifiedComputing/DPU-OS](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/DiversifiedComputing/DPU-OS) | +| 虚拟化 | 虚拟化平台 | 虚拟化用户指南 | [docs/zh/Virtualization/VirtualizationPlatform/Virtualization](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Virtualization/VirtualizationPlatform/Virtualization) | +| | | StratoVirt用户指南 | [docs/zh/Virtualization/VirtualizationPlatform/StratoVirt](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Virtualization/VirtualizationPlatform/StratoVirt) | +| | | OpenStack用户手册 | [openstack-docs/docs/zh](https://gitee.com/openeuler/openstack-docs/tree/openEuler-25.03/docs/zh)| +| 云原生 | 容器引擎 | iSula容器引擎 | [docs/zh/Cloud/ContainerEngine/iSulaContainerEngine](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/ContainerEngine/iSulaContainerEngine) | +| | | Docker容器 | [docs/zh/Cloud/ContainerEngine/DockerEngine](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/ContainerEngine/DockerEngine) | +| | 容器形态 | 安全容器 | [docs/zh/Cloud/ContainerForm/SecureContainer](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/ContainerForm/SecureContainer) | +| | | 系统容器 | [docs/zh/Cloud/ContainerForm/SystemContainer](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/ContainerForm/SystemContainer) | +| | 容器运行时 | Kuasar多沙箱容器运行时 | [docs/zh/Cloud/ContainerRuntime/Kuasar](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/ContainerRuntime/Kuasar) | +| | 容器镜像构建工具 | 容器镜像构建 | [docs/zh/Cloud/ImageBuilder/isula-build](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/ImageBuilder/isula-build) | +| | 云原生操作系统 | 容器OS升级用户指南 | [docs/zh/Cloud/KubeOS/KubeOS](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/KubeOS/KubeOS) | +| | 云底座操作系统 | NestOS用户指南 | [docs/zh/Cloud/NestOS/NestOS](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/NestOS/NestOS) | +| | 混合部署 | 云原生混合部署rubik用户指南 | [docs/zh/Cloud/HybridDeployment/rubik](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/HybridDeployment/rubik) | +| | | oncn-bwm用户指南 | [docs/zh/Cloud/HybridDeployment/oncn-bwm](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/HybridDeployment/oncn-bwm)| +| | 集群部署 | Kubernetes集群部署指南 | [docs/zh/Cloud/ClusterDeployment/Kubernetes](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/ClusterDeployment/Kubernetes) | +| | | iSulad+k8s集群部署指南 | [docs/zh/Cloud/ClusterDeployment/iSulad+k8s](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/ClusterDeployment/iSulad+k8s) | +| | 服务网格 | Kmesh用户指南 | [docs/zh/Cloud/Kmesh/Kmesh](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Cloud/Kmesh/Kmesh) | +| 边缘计算 | | KubeEdge部署指南 | [docs/zh/EdgeComputing/KubeEdge](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/EdgeComputing/KubeEdge) | +| | | K3s部署指南 | [docs/zh/EdgeComputing/K3s](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/EdgeComputing/K3s) | +| 嵌入式 | | openEuler Embedded用户指南 | [yocto-meta-openeuler/docs](https://gitee.com/openeuler/yocto-meta-openeuler/tree/master/docs) | +| | | UniProton用户指南 | [docs/zh/Embedded/UniProton](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Embedded/UniProton) | +| 社区工具 | 镜像构建 | isocut使用指南 | [docs/zh/Tools/CommunityTools/ImageCustom/isocut](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/CommunityTools/ImageCustom/isocut) | +| | | imageTailor使用指南 | [docs/zh/Tools/CommunityTools/ImageCustom/imageTailor](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/CommunityTools/ImageCustom/imageTailor) | +| | 编译 | GCC用户指南 | [docs/zh/Server/Development/GCC](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Development/GCC) | +| | 性能优化 | A-Tune用户指南 | [docs/zh/Server/Performance/SystemOptimization/A-Tune](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Performance/SystemOptimization/A-Tune) | +| | | oeAware用户指南 | [docs/zh/Server/Performance/TuningFramework/oeAware](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Performance/TuningFramework/oeAware) | +| | 迁移 | Migration-tools用户指南 | [docs/zh/Tools/CommunityTools/Migration/migration-tools](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/CommunityTools/Migration/migration-tools) | +| | 虚拟化 | EulerLauncher用户指南 | [docs/zh/Tools/CommunityTools/Virtualization/EulerLauncher](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/CommunityTools/Virtualization/EulerLauncher) | +| | epkg软件包 | epkg包管理器使用指南 | [docs/zh/Tools/CommunityTools/epkg](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/CommunityTools/epkg) | +| | | autopkg用户指南 | [docs/zh/Tools/CommunityTools/epkg/autopkg](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/CommunityTools/epkg/autopkg) | +| 社区服务 | 源码管理 | patch-tracking | [docs/zh/Tools/DevOps/CodeManage/patch-tracking](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/DevOps/CodeManage/patch-tracking) | +| | 包管理 | pkgship | [docs/zh/Tools/DevOps/packageManage/pkgship](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/DevOps/packageManage/pkgship) | +| AI | | openEuler Copilot System | [docs/zh/Tools/AI/openEuler_Copilot_System](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/AI/openEuler_Copilot_System) | +| | | AI大模型服务镜像使用指南 | [docs/zh/Tools/AI/AI_Large_Model_Service_Images_Userguide](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/AI/AI_Large_Model_Service_Images_Userguide) | +| | | AI容器镜像用户指南 | [docs/zh/Tools/AI/AI_Container_Image_Userguide](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/AI/AI_Container_Image_Userguide) | +| 图形桌面使用 | | Gnome用户指南 | [docs/zh/Tools/desktop/Gnome](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/desktop/Gnome) | +| | | UKUI用户指南 | [docs/zh/Tools/desktop/UKUI](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/desktop/UKUI) | +| | | DDE用户指南 | [docs/zh/Tools/desktop/DDE](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/desktop/DDE) | +| | | Kiran用户指南 | [docs/zh/Tools/desktop/Kiran](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/desktop/Kiran) | +| 云原生工具 | | CTinspector用户指南 | [docs/zh/Tools/Cloud/CTinspector](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/Cloud/CTinspector) | +| | | CPDS用户指南 | [docs/zh/Tools/Cloud/CPDS](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/Cloud/CPDS) | +| | | PilotGo用户指南 | [docs/zh/Tools/Cloud/PilotGo](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Tools/Cloud/PilotGo) | +| 系统运维 | 热补丁制作 | SysCare用户指南 | [docs/zh/Server/Maintenance/SysCare](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/SysCare) | +| | 系统监控 | sysmonitor用户指南 | [docs/zh/Server/Maintenance/sysmonitor](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Maintenance/sysmonitor) | +| 安全 | | secGear开发指南 | [docs/zh/Server/Security/secGear](https://gitee.com/openeuler/docs/tree/25.03/docs/zh/Server/Security/secGear) | + +## 文档仓目录结构说明 + +### 场景 -![image](figures/doccenter-modules.png) +文档中心有五个业务场景,服务器、虚拟化、云原生、边缘计算和嵌入式,分别对应 docs 仓内 docs/zh 目录下的 Server、Virtualization、Cloud、EdgeComputing 和 Embedded 子目录,工具模块对应 Tools 子目录。 docs仓场景相关目录结构示例如下: @@ -19,15 +112,15 @@ docs仓场景相关目录结构示例如下: ├─docs │ ├─en │ └─zh -│ ├─Cloud -│ ├─EdgeComputing -│ ├─Embedded -│ ├─Server -│ ├─Tools -│ └─Virtualization +│ ├─Cloud +│ ├─EdgeComputing +│ ├─Embedded +│ ├─Server +│ ├─Tools +│ └─Virtualization ``` -工具模块下的子模块包括社区工具、DevOps、AI、图形桌面使用、云原生、系统运维和安全,分别对应 docs/zh/Tools 目录下的 CommunityTools、DevOps、AI、desktop、Cloud、Maintenance 和 Security 子目录。 +工具模块下的子模块包括社区工具、DevOps、AI、图形桌面使用、云原生、系统运维和安全,分别对应 Tools 目录下的 CommunityTools、DevOps、AI、desktop、Cloud、Maintenance 和 Security 子目录。 docs仓工具相关目录结构示例如下: @@ -35,26 +128,24 @@ docs仓工具相关目录结构示例如下: ├─docs │ ├─en │ └─zh -│ ├─Cloud -│ ├─EdgeComputing -│ ├─Embedded -│ ├─Server -│ ├─Tools -│ │ ├─AI -│ │ ├─Cloud -│ │ ├─CommunityTools -│ │ ├─desktop -│ │ ├─DevOps -│ │ ├─Maintenance -│ │ └─Security -│ └─Virtualization +│ ├─Cloud +│ ├─EdgeComputing +│ ├─Embedded +│ ├─Server +│ ├─Tools +│ │ ├─AI +│ │ ├─Cloud +│ │ ├─CommunityTools +│ │ ├─desktop +│ │ ├─DevOps +│ │ ├─Maintenance +│ │ └─Security +│ └─Virtualization ``` -## 一级目录 - -各业务场景下均有具体的目录划分。就服务器场景而言,其进一步细分为发行说明、快速入门、安装升级、系统管理、系统运维等子目录,分别对应 Server/Releasenotes、Server/Quickstart、Server/InstallationUpgrade、Server/Administration 和 Server/Maintenance。 +### 类别 -![image](figures/server-menu.png) +各业务场景下均有具体的类别划分。就服务器场景而言,其进一步细分为发行说明、快速入门、安装升级、系统管理、系统运维等子目录。 docs仓服务器场景目录结构示例如下: @@ -62,32 +153,30 @@ docs仓服务器场景目录结构示例如下: ├─docs │ ├─en │ └─zh -│ ├─Cloud -│ ├─EdgeComputing -│ ├─Embedded -│ ├─Server -│ │ ├─Administration -│ │ ├─Development -│ │ ├─DiversifiedComputing -│ │ ├─HighAvailability -│ │ ├─InstallationUpgrade -│ │ ├─Maintenance -│ │ ├─MemoryandStorage -│ │ ├─Network -│ │ ├─Performance -│ │ ├─Quickstart -│ │ ├─Releasenotes -| | ├─Security -│ │ └─_menu.md -│ ├─Tools -│ └─Virtualization +│ ├─Cloud +│ ├─EdgeComputing +│ ├─Embedded +│ ├─Server +│ │ ├─Administration +│ │ ├─Development +│ │ ├─DiversifiedComputing +│ │ ├─HighAvailability +│ │ ├─InstallationUpgrade +│ │ ├─Maintenance +│ │ ├─MemoryandStorage +│ │ ├─Network +│ │ ├─Performance +│ │ ├─Quickstart +│ │ ├─Releasenotes +| | ├─Security +│ │ └─_menu.md +│ ├─Tools +│ └─Virtualization ``` -## 手册 - -每个一级目录下存放手册或继续设置二级目录。以服务器场景中的系统运维目录为例,其中包含八本手册,每本手册分别对应一个目录。 +### 手册 -![image](figures/maintenance-manual.png) +每个类别下存放手册或继续设置二级目录。以服务器场景中的系统运维目录为例,其中包含八本手册,每本手册分别对应一个目录。 服务器下系统运维的目录结构示例如下: @@ -95,16 +184,16 @@ docs仓服务器场景目录结构示例如下: ├─docs │ ├─en │ └─zh -│ ├─Cloud -│ ├─EdgeComputing -│ ├─Embedded -│ ├─Server -│ │ ├─Administration -│ │ ├─Development -│ │ ├─DiversifiedComputing -│ │ ├─HighAvailability -│ │ ├─InstallationUpgrade -│ │ ├─Maintenance +│ ├─Cloud +│ ├─EdgeComputing +│ ├─Embedded +│ ├─Server +│ │ ├─Administration +│ │ ├─Development +│ │ ├─DiversifiedComputing +│ │ ├─HighAvailability +│ │ ├─InstallationUpgrade +│ │ ├─Maintenance │ │ │ ├─A-Ops │ │ │ ├─CommonSkills │ │ │ ├─CommonTools @@ -113,40 +202,37 @@ docs仓服务器场景目录结构示例如下: │ │ │ ├─SysCare │ │ │ ├─sysmonitor │ │ │ └─Troubleshooting -│ │ ├─MemoryandStorage -│ │ ├─Network -│ │ ├─Performance -│ │ ├─Quickstart -│ │ ├─Releasenotes -| | ├─Security +│ │ ├─MemoryandStorage +│ │ ├─Network +│ │ ├─Performance +│ │ ├─Quickstart +│ │ ├─Releasenotes +| | ├─Security │ │ └─_menu.md -│ ├─Tools -│ └─Virtualization +│ ├─Tools +│ └─Virtualization ``` 以服务器场景中的性能调优目录为例,其下进一步划分出二级目录,分别为概述、CPU调优、系统调优、调优框架。 -![image](figures/performance-menu.png) - 服务器下性能调优的目录结构示例如下: ```text ├─docs │ ├─en │ └─zh -│ ├─Cloud -│ ├─EdgeComputing -│ ├─Embedded -│ ├─Server -│ │ ├─Administration -│ │ ├─Development -│ │ ├─DiversifiedComputing -│ │ ├─HighAvailability -│ │ ├─InstallationUpgrade -│ │ ├─Maintenance -│ │ ├─MemoryandStorage -│ │ ├─Network -│ │ ├─Performance +│ ├─Cloud +│ ├─EdgeComputing +│ ├─Embedded +│ ├─Server +│ │ ├─Administration +│ │ ├─Development +│ │ ├─DiversifiedComputing +│ │ ├─HighAvailability +│ │ ├─InstallationUpgrade +│ │ ├─MemoryandStorage +│ │ ├─Network +│ │ ├─Performance │ │ │ ├─CPUOptimization │ │ │ │ ├─KAE │ │ │ │ └─sysBoost @@ -156,23 +242,162 @@ docs仓服务器场景目录结构示例如下: │ │ │ │ └─A-Tune │ │ │ └─TuningFramework │ │ │ └─oeAware -│ │ ├─Quickstart -│ │ ├─Releasenotes -| | ├─Security +│ │ ├─Quickstart +│ │ ├─Releasenotes +| | ├─Security │ │ └─_menu.md -│ ├─Tools -│ └─Virtualization +│ ├─Tools +│ └─Virtualization ``` -## 文档 +每本手册包含一个或多个`.md`文件及一个`_menu.md`文件。例如,《内核热升级指南》手册中包括三篇文档,包括安装与部署、使用方法、常用问题与解决办法。 -文档及其 _menu.md 文件放在手册目录下。例如,《内核热升级指南》手册中包括三篇文档,存放在 Server/Maintenance/KernelLiveUpgrade 目录下,包括安装与部署、使用方法、常用问题与解决办法。 +```text +├─docs +│ ├─en +│ └─zh +│ ├─Cloud +│ ├─EdgeComputing +│ ├─Embedded +│ ├─Server +│ │ ├─Administration +│ │ ├─Development +│ │ ├─DiversifiedComputing +│ │ ├─HighAvailability +│ │ ├─InstallationUpgrade +│ │ ├─Maintenance +│ │ │ ├─A-Ops +│ │ │ ├─CommonSkills +│ │ │ ├─CommonTools +│ │ │ ├─Gala +│ │ │ ├─KernelLiveUpgrade +│ | │ │ ├─installation-and-deployment.md +│ | │ │ ├─how-to-run.md +│ | │ │ ├─common-problems-and-solutions.md +│ | │ │ └─_menu.md +│ │ │ ├─SysCare +│ │ │ ├─sysmonitor +│ │ │ └─Troubleshooting +│ │ ├─MemoryandStorage +│ │ ├─Network +│ │ ├─Performance +│ │ ├─Quickstart +│ │ ├─Releasenotes +| | ├─Security +│ │ └─_menu.md +│ ├─Tools +│ └─Virtualization +``` + +## _menu 文件格式 + +### 手册的 _menu 文件 + +每本手册都需要维护一个`_menu.md`配置文件来维护该本手册中各章节间的逻辑关系。 -![image](figures/内核热升级指南menu.png) +《内核热升级指南》手册的`_menu.md`文件示例如下: -- 安装与部署,对应路径 /KernelLiveUpgrade/installation-and-deployment.md -- 使用方法,对应路径 /KernelLiveUpgrade/how-to-run.md -- 常用问题,对应路径 /KernelLiveUpgrade/common-problems-and-solutions.md -- _menu.md 文件,对应路径 /KernelLiveUpgrade/_menu.md +```yaml +--- +label: '内核热升级指南' +description: '使用用户态自动化工具快速重启内核和程序热迁移实现内核热替换特性' +children: + - label: '安装与部署' + href: './installation-and-deployment.md' + - label: '使用方法' + href: './how-to-run.md' + - label: '常见问题与解决方法' + href: './common-problems-and-solutions.md' +--- +``` + +- 顶层 label 指定手册名为“内核热升级指南”。 +- description 指定该手册的简介说明。 +- children 下配置手册中的文档信息: + - children 下的 label 指定文档名称。 + - children 下的 href 指定文档地址(建议使用相对路径)。 + +### 场景的 _menu 文件 + +不仅每本手册需维护对应的`_menu.md`文件,各业务场景目录下同样要维护`_menu.md`文件。以服务器场景为例,其`_menu.md`文件示例如下: + +```yaml +--- +label: '服务器' +children: + - label: '发行说明' + children: + - reference: './Releasenotes/Releasenotes/_menu.md' + - label: '快速入门' + children: + - reference: './Quickstart/Quickstart/_menu.md' + - label: '安装升级' + children: + - reference: './InstallationUpgrade/Installation/_menu.md' + - reference: './InstallationUpgrade/Upgrade/_menu.md' + - label: '系统管理' + children: + - reference: './Administration/Administrator/_menu.md' + - reference: './Administration/sysMaster/_menu.md' + - reference: './Administration/CompaCommand/_menu.md' + - label: '系统运维' + children: + - reference: './Maintenance/A-Ops/_menu.md' + - reference: './Maintenance/Gala/_menu.md' + - reference: './Maintenance/sysmonitor/_menu.md' + - reference: './Maintenance/KernelLiveUpgrade/_menu.md' + - reference: './Maintenance/SysCare/_menu.md' + - reference: './Maintenance/CommonSkills/_menu.md' + - reference: './Maintenance/CommonTools/_menu.md' + - reference: './Maintenance/Troubleshooting/_menu.md' + - label: '安全' + children: + - reference: './Security/SecHarden/_menu.md' + - reference: './Security/TrustedComputing/_menu.md' + - reference: './Security/secGear/_menu.md' + - reference: './Security/CVE-ease/_menu.md' + - reference: './Security/CertSignature/_menu.md' + - reference: './Security/Sbom/_menu.md' + - reference: './Security/ShangMi/_menu.md' + - label: '内存与存储' + children: + - reference: './MemoryandStorage/lvm/_menu.md' + - reference: './MemoryandStorage/etmem/_menu.md' + - reference: './MemoryandStorage/GMEM/_menu.md' + - reference: './MemoryandStorage/HSAK/_menu.md' + - label: '网络' + children: + - reference: './Network/NetworConfig/_menu.md' + - reference: './Network/Gazelle/_menu.md' + - label: '性能调优' + children: + - label: '概述' + children: + - reference: './systemResource/_menu.md' + - label: '调优框架' + children: + - reference: './oeAware/_menu.md' + - label: 'CPU调优' + children: + - reference: './sysBoost/_menu.md' + - reference: './KAE/_menu.md' + - label: '系统调优' + children: + - reference: './A-Tune/_menu.md' + - label: '应用开发' + children: + - reference: './Development/ApplicationDev/_menu.md' + - reference: './Development/GCC/_menu.md' + - label: 'HA高可用' + children: + - reference: './HighAvailability/HA/_menu.md' + - label: '多样性算力' + children: + - reference: './DiversifiedComputing/DPUOffload/_menu.md' + - reference: './DiversifiedComputing/DPU-OS/_menu.md' +--- +``` -`_menu.md`文件相关规范请详见[menu文件写作规范](./menu_specifications.md)。 +- 顶层 label 指定场景名,例子中展示的是服务器场景。 +- 服务器 children 下的 label 对应服务器场景下的一级目录,如发行说明、快速入门、安装升级、系统管理等。 +- 每个一级目录 children 下的 reference 表明引用,您可以使用该字段引用该目录下各本手册的`_menu.md`文件或二级目录,从而形成一个完整的“菜单树”。 diff --git a/docs/zh/Contribute/documentation_writing_specifications.md b/docs/zh/Contribute/documentation_writing_specifications.md index 1107ada..63c2911 100644 --- a/docs/zh/Contribute/documentation_writing_specifications.md +++ b/docs/zh/Contribute/documentation_writing_specifications.md @@ -1,89 +1,329 @@ -# 文档写作规范 +# 写作规范 -## 写作规范 +## 文档结构 -文档结构、内容元素、语言风格书写请参考[写作规范](./写作规范.md)。 +特性手册内容一般包括概述、背景介绍、操作类文档(安装与部署、使用指南)、常见问题和附录,开发者可以根据项目实际情况增加或删减。 +以[A-Tune 项目为例](https://docs.openeuler.org/zh/docs/22.03_LTS_SP2/docs/A-Tune/A-Tune.html),可以参考如下内容: -## 流水线门禁 +### 概述 -### Markdownlint +一句话介绍特性定义与功能。 -markdownlint 是一款检查 Markdown 文件格式的工具。markdownlint规则介绍及本仓规则设置,请参考[检查规则](./markdownlint检查规则.md)。可使用[工具](./markdownlint错误修复工具.md)对markdownlint 进行批量修复。 +【举例】 -> 说明: -> 开发者需要确保提交的文档已修复所有markdownlint错误,否则CI门禁报错,将无法合入。 +```markdown +本文档介绍openEuler系统性能自优化软件A-Tune的安装部署和使用方法,以指导开发者快速了解并使用A-Tune。 +``` -### 标签闭合 +### 背景介绍 -链接、表格等内容元素建议使用markdown语法书写。如果需要使用HTML样式,请确保标签闭合。 +背景介绍类文档写明特性背景与简介、架构说明等。常见文档标题:`认识xxx`。 -错误示例 +### 操作类文档 - ```yaml - - - - - -
Header 1 - Header 2
Data 1 - Data 2
- ``` +操作类文档写明步骤、注意事项、前提条件等,以便能对其他开发者起到帮助。 -正确示例 - - ```yaml - - - - - - - - - -
Header 1Header 2
Data 1Data 2
- ``` +- 使用说明 -> 说明:开发者需要确保提交的文档中HTML 标签已全部闭合,否则CI门禁报错,将无法合入。 +说明此操作在什么场景下使用可以解决开发者的什么问题。 -### 引用链接 +- 环境要求 -图片、网站、手册链接请检查路径地址是否正确。 +执行此操作需要准备的软硬件环境、权限以及其它约束条件。 -反例 +- 操作步骤 -- 失效的网站链接 +具体的操作步骤,需要注意如下事项: + - 建议一步一个操作步骤,不建议多个操作步骤合并在一个步骤中描写。 + - 如果操作可选,要明确可选条件。 + - 开发步骤中,涉及调用接口(例如使用了工具或者 SQL 语句),需要对使用的接口进行说明。 - ```text - [错误官网](https://doc.openeuler.org/zh/) - ``` +- 结果验证 + +说明如何验证操作结果正确。如果验证操作与步骤强相关,可以在步骤中描述。例如,执行 SQL 语句的返回信息。 + +### 常见问题 + +此类文档应该包括问题描述、产生原因及解决办法。 + +### 附录 + +附录可包含术语与缩略语介绍。 + +## 内容元素 + +### 命名 + +对于新增文档,请在对应的文件目录下新增 MarkDown 文档(即以 .md 结尾的文件)。 + +【规则】新增文档名称不能与已有文档重名,如果有请重新命名。 + +【规则】文档需要以**英文**命名。 + +【规则】文件名中不能包含括号,会导致文件目录无法正常显示。可以将括号修改为可识别的下划线(\_)或者中划线(-)。 + +【举例】 + +```text +installation_and_deployment.md #新增‘安装与部署’文档 +``` + +### 标题 + +【规则】标题尽量采用简洁的语句概况反映章节的中心内容,注意不要省略必要的信息。 + +【规则】操作类文档标题尽量用动宾结构(例如:申请权限);相同级别,相同类型的标题结构保持一致。 + +【规则】标题不使用标点符号结尾,标题中尽量采用圆括号来表示补充说明,标题中不能出现特殊字符,如“?”。 + +【规则】标题与正文使用 1 整行换行隔开。 + +【规则】标题使用 “#” 空格连接标题名,标题级别一次只能增加一个级别且第一个标题应该是顶层标题。 + +【举例】 + +```markdown +# 一级标题 +## 二级标题 +### 三级标题 +#### 四级标题 +##### 五级标题 +###### 六级标题 +``` + +### 正文 + +【使用方法】 + +- 斜体:使用一个星号(\*)表示斜体。 + + ```txt + *斜体文本* + ``` + +- 粗体:使用两个星号(\*\*)表示粗体。 + + ```txt + **粗体文本** + ``` + +- 粗斜体:使用3个星号(\*\*\*)表示粗斜体。 + + ```txt + ***粗斜体文本*** + ``` + +- 转义:对特定内容使用转义符 \。 + + ```txt + \<转义的标记符号> + ``` + +【规则】该转义的字符必须严格用转义符 \ 。 + +【规则】如果有连续两个转义符,转义符之间要有空格 \{ \}。 + +【规则】国际化:需同时提供中英文文档,可联系协助翻译;如需参与英文文档贡献,可参考[指南](./english_doc_contribute.md)。 + +### 空格 + +【规则】编辑文档时中文和英文之间**建议**加空格,页面展示更美观,请保持全文一致。如果是产品名词如 “豆瓣FM”,请按照官方定义格式书写。 + + 例如:openEuler 是一款开源操作系统。当前 openEuler 内核源于 Linux ,支持鲲鹏及其它多种处理器。 + +【规则】中文和数字之间加空格。 + +【规则】数字和单位之间不加空格。 + +【规则】全角标点与其他字符之间不加空格。 + + 例如:刚刚成为了 openEuler 的 maintainer,好开心。 + +### 图片 + +【使用方法】 + +```bash +![alt 属性文本](图片地址) + +![alt 属性文本](图片地址 "可选标题") +``` + +【规则】图片统一存放到文档同级目录下的 figures 文件夹中。例如,[A-Tune用户指南](https://docs.openeuler.org/zh/docs/22.03_LTS_SP2/docs/A-Tune/A-Tune.html)中的手册中使用的图片,统一存储在 [A-Tune](https://gitee.com/openeuler/docs/tree/stable2-22.03_LTS_SP2/docs/zh/docs/A-Tune/figures) 路径下。该文件夹下的文件引用图片时,使用相对引用。 + +【规则】请使用原创图片,避免存在知识产权侵权风险。 + +【规则】图文配合使用,切忌图文分离。 + +【规则】图片格式首选 png,此外也接受 jpg。图片的高不超过 640px,宽不超过 393px,图片大小建议不超过 150K。 + +【规则】中文用中文插图,英文用英文插图。 + +【规则】图片路径不能包含中文。 -- 错误的相对路径 +【规则】如果是截图,请在允许的范围内只保留有用的信息。图形中需要突出的关键信息,可增加红色框线或者文字备注说明。 - ```text - [写作规范](../写作规范.md) +【举例】 +​图片以 `![](./figures/pic_name.png)` 格式书写,“./” 不可少,否则图片无法显示到现网。 + +### 代码块 + +代码示例说明了如何实现特定功能,开发人员使用代码示例来编写和调试代码。 + +【规则】代码的逻辑和语法正确。 + +【规则】代码的输入和输出尽可能的分开。 + +【规则】保证代码中关键步骤要有注释说明。 + +【规则】文中行内代码和命令行使用 1 对反引号,如: `代码行`。 + +【规则】块级代码使用 3 个顿号或 4 个空格(不能用 TAB 键)缩进,且上下均用整行隔开。 + +【举例】 + +- 行内代码 + + ```txt + `printf()` 函数 ``` -​ -正例 +- 块级代码 -- 网站链接 + ```python + #!/usr/bin/env python3 + print("Hello, World!"); + ``` - ```text - [错误官网](https://docs.openeuler.org/zh/) + ```c + #include + int main(void) + { + printf("Hello world\n"); + } ``` +### 列表 + +- 无序列表:无序列表使用星号(**\***)、加号(**+**)或是减号(**-**)作为列表标记,这些标记后面要添加一个空格,然后再填写内容。同一个无序列表,建议使用同一个符号。 + + ```txt + * 第一项 + * 第二项 + * 第三项 + + + 第一项 + + 第二项 + + 第三项 + + + - 第一项 + - 第二项 + - 第三项 + ``` + +- 有序列表:有序列表使用数字并加上 **.** 号来表示。 + + ```txt + 1. 第一项 + 2. 第二项 + 3. 第三项 + ``` + +- 嵌套列表:列表嵌套只需在子列表中的选项前面添加四个空格即可。 + + ```txt + 1. 第一项: + - 第一项嵌套的第一个元素 + - 第一项嵌套的第二个元素 + 2. 第二项: + - 第二项嵌套的第一个元素 + - 第二项嵌套的第二个元素 + ``` + +【规则】有明显先后逻辑顺序情况请使用有序列表,并列关系、多选一情况请使用无序列表。 + +【规则】当项目列表是术语、短语时,统一不加标点符号。 + +【规则】当项目列表是句子时,统一加句号。 + +【规则】特殊情况下如果不能避免出现短语和句子混合的情况,统一加句号。 + +【规则】项目列表前几项以分号结尾,最后一项以句号结尾的形式也可以接受。 + +### 注释符号 + +文档中会出现以下注释符号,代表不同的使用场景和提示程度。如果需要提示用户注意的信息,可以根据重要程度选择对应的注释符号。 + +| 标识符 | 用途/含义 | 使用方法 | +|--------|------------------------------------------------------------------|-----------------------------------------------------------------------------| +| 警告 | 如未按该警告内容操作,可能会导致结果异常,且不可恢复。 | `>![](./public_sys-resources/icon-warning.gif)**警告:**`
`>正文内容` | +| 注意 | 如未按该注意事项操作,可能会导致任务中断或结果异常,但是可恢复。 | `>![](./public_sys-resources/icon-notice.gif)**注意:**`
`>正文内容` | +| 说明 | 提供帮助提示或有用的参考信息 | `>![](./public_sys-resources/icon-note.gif)**说明:**`
`>正文内容` | + +### 链接 + +【规则】链接需要确保指向的目标文件存在,否则会造成链接跳转不正常,不建议使用 HTML 的链接样式。 + +【举例】 + +```markdown +- 网站链接 +这是一个链接 [菜鸟教程](https://www.runoob.com)。 + - 相对路径 + [文档开发流水线门禁](./ci_rules.md) +``` - ```text - [写作规范](./contribute/写作规范.md) - ``` +### 表格 + +【规则】markdown 文档中请使用以下方式创建表格,不建议使用 HTML 的表格样式。 + +【举例】 + +| 表头1 | 表头2 | +| ---------- | -------- | +| 单元格1 | 单元格2 | +| 单元格4 | 单元格4 | + +【使用方法】 +设置表格的对齐方式: + +- -: 设置内容和标题栏居右对齐。 +- :- 设置内容和标题栏居左对齐。 +- :-: 设置内容和标题栏居中对齐。 + +【规则】当表格内一列全部是术语、短语时,统一不加标点符号。 + +【规则】当表格内一列全部是句子时,统一加句号。 + +【规则】特殊情况下如果不能避免出现短语和句子混合的情况,统一加句号。 + +### 标点符号 + +【规则】单位与数字之间不建议加空格,比如 50m,10kg,64Kbit/s。 + +【规则】对于有序/无序列表,如果是长句子,建议统一以句号结尾,如果是短语,结尾可不用标点。**重点是前后一致,要么都加,要么都不加**。 + +【规则】中文文档使用全角标点。 + +【规则】数字使用半角字符。 + +【规则】感叹号使用场景为可能引发严重后果的操作或设备安全、人身安全的警告。其他场景不允许使用感叹号。 + +【规则】文内引用其他文档件事添加书名号,同时建议增加引用文档的跳转链接。例如:安装 openEuler 系统,安装方法参考《[openEuler 22.03 LTS SP2 安装指南](https://docs.openeuler.org/zh/docs/22.03_LTS_SP2/docs/Installation/installation.html)》。 + +## 语言风格 + +【规则】提交内容必须是与 openEuler 特性相关内容。 + +【规则】内容不能包含敏感信息、有强烈的种族歧视或性别歧视的内容。 ->说明:开发者需要确保提交的文档中链接有效,否则CI门禁报错,将无法合入。 +【规则】提交的内容必须是原创内容,不得侵犯他人知识产权。 -### 静态检查 +【规则】提交的内容必须客观、真实,不允许使用夸大宣传等词汇。 -新增文档时,为了能在openEuler 文档官网展示,需要在_menu.md文件增加对应文档位置。 +**文档贡献中不受欢迎的行为** ->说明:开发者需要确保提交新增文档同步提交了_menu.md文件修改,否则CI门禁报错,将无法合入。 +短时间内通过自动化工具,提交大量的PR,提交大量的处理诸如拼写错误,语法错误,日期错误,语句不通顺等“无害的错误”的修正。 +具体内容以及处理措施详见 [openEuler社区开发行为规范 V1.0](https://gitee.com/openeuler/community/blob/master/zh/technical-committee/governance/openEuler%E7%A4%BE%E5%8C%BA%E5%BC%80%E5%8F%91%E8%A1%8C%E4%B8%BA%E8%A7%84%E8%8C%83.md)。 diff --git "a/docs/zh/Contribute/figures/\346\226\207\346\241\243\344\273\223\346\200\273\350\247\210.png" "b/docs/zh/Contribute/figures/\346\226\207\346\241\243\344\273\223\346\200\273\350\247\210.png" new file mode 100644 index 0000000000000000000000000000000000000000..a87b2504d20c7a744421752d1e8905dc885b97b7 GIT binary patch literal 190670 zcmeFZcQn`k|39pvgvPsMrKlt%GD66ztjNsDC@Ul*duvEp$;_6$WtW-CCOaXcB%AD= z>-KtoKG$`=*ZE!7zt=gxb1vs|KJVAb%k%YoJ|6dR8~4ZSh2l-A17vh$L_|afWTdYt z6A_VU5)tigBi)UEAvrnrgoucdNamWjs$=x@fRQVu`X>J$9-jNXhG&RxNcf}*cv1EI zq|+u#^7^Uv-G|!Lnl+g+Rng}LquASFiyEJ^hnWsDohlaLY4x4D``6{%sp}F)z74IC zFxc~y@d(*}dH==ki&Z{54?c_VV@2m`Z26y;L_~%xp9%Ls_=zUh-}RqYL|;hq{`-n( z?6JmwUwYbzv;X(yhxd$B|9v^EeVF{eFReJ9ll=Fk0QLWWSt0@ITUh8VkA?FQ6{m=Z zhLZ#WM%J^w$#|YVLPR7Y^Zk58zWwLj+;L1Y2`sWfNnH;W2X+y8`XzNqu+YaVr*miO z22uD(6A`VcDkY3fNw7yd8j6A*Od`gr&F6Z$!^CWE{5Z3x?S*zDP==#fcsLBc zdTEF;2O7~nBHRj#q2WG~rY=Kbyg7^UlaBlD0Qge;%^o+0NI{ZYJ=R)y{~ zRbYD{C0;Xx`%&CAu*EB}+CtiY2*Ko8XsCgFu)#~FJ&o6Jm0gp9L_~l7X{gsABCLp~ z-y;n%$*ULk;Wq3PWpVF@a#r;Jd&F$uv4;FD=B7Z3Zzu75M4k#S*b4ZuJ{EIrbYts< z34!_SHuR~==~(7EYg6`gwM?hjaHC%10Fv zL^nzC^p2c#{*s5EmTWxlHgnS{iy3qBmo(sxNJvQ7+S)SbyPZ*VKr`$XTX%)aYEV#6 zp;mTPRh4XV$JDZEmTH)hZ%smZ*MzO5?#ow94Q54^KR)6k7)Zz}J9mbPdHJJS7>pB% z7)Pw6b6f71sD4O&I<}sw5GUfiG~Obbpqx%d$uc}SDf@$Hl!{3vNH*EW*Z1~2s~>$u z_jPo1u3o)*MOYYNYv3W$t%d(aMcvNUD*6(8<#v+vtH8j+3JR?rJKH_xd^XyXC6_ok zb6Z6=w%Hf*@LQ0u{7+dZ;DhItxoL!^HW zBJ$G*6M_}OjFc$T*?$Yn{%Q#R=bwL6hf}N%H0HC*1f{0lyK`rF>gO`ipTB8CH?q|{ z+KL!CiHHVYG06zVSj_Ylossl&TvRYE>bvTF@K%;ay9w`taBkkp6Ke4|4Q zB8Gn3+p9x+_EH=suFgySXk5U0nPmU|{V!g;u(r0QuRDA8EXm%zgH;|oc2f@q%hyZo zrjXywwGF}N;sot{xKetiR92q0)qXSQ3vT#KbAO=J&Y$iQi;uVSA#CU+vm)oFunVV7 zol*@F{QE+e`FuGGrEZn`cJYILt!y=a$pZ7<{7d)0mj9Ss7;WmwH@e|lvrzov5m8_= zp(4*+&+I09JpAo=T-H5Zr-nsgJ7xiUZF*66?TLtRriMEgyRtMFbF2R9`)#j}#nt#6 z>onn&9f=!x_tA@dtU037xS%0lZt58EqspOApPuaAhiY+{n3|e8vAv!qQG8#6^Q8lO zpD>c1y%82ICHC4vgD=zlk8MiE# z#h+BSy}7zCvzx6c-`Cfdk(4boLp5FbvdwR~%SMOltnJITr+W*qiWU|Y6C312j5hy1 zjaLu_twExsKbuO5U%ScDpFgkpEeGFR^&W5GtlH`@sDf%wZ@H6AfpH59=c@z?;nvJeE{LrAJ|GHAS>-xi%$V;7Tc9d1|3@CwtM(;~Y&3NgG zv}S0;O8RFSS%~Vy%4L(eBjolz5odjs&f8;FboCiUx=QLzW#u4)IMHL(l8JfOeW}!Q zw5#JUdn)Wfj|~)wcqI_mmt6hw4+V3CMbawJ^akaO!%pmF;qjYt3jSDoxMyWY< z-%=hUHH)TZ*Ldr)I@{20JojZG$tJa5-mHRX&6>;a)IW}6y z;yiTA>}L!;>|8${41F)$N_|1AtF?8`&VcyfN#XG|#gjy9X{V5A6P_dQbSs>bU8@}C z1{(%tiZV|j5_6+G1GR<`P=lp*naZ3moF|B`NfY<-VCDd(OkcO z{_M!oEWq<@uCHJ5_#6G~NZTHAEIh3N*5JHiJW=Z+DhjX4)R!2c2_bSymOnMrdK%ek z;)gTTb2)tUu`XR^MU13rM7xN@z8Z2zn7C^@n-=s^?0phMdWSp0oG)s`Mld9(ef~z5 zncd5iSIl~HwoAEoW7TloYTi6n>F&HMBHb^ggADniRJJpjWH>lD8t8s( zZ!8z|&qVP(@CgW5`SZu*`#bCPh0%Q!G*+|UFDEaGo<5zRQ)bT`ER)!7MSriL7cJ&% zj*iRHczaq}+7{|`Yn)z$typU36_=Ii@9%B=xI8>|ICM&xn3&qko0rx`N1MW_Srp@) zmnR*EX;J&c8|YSonA$1I8ubvojf3u9+>*onmQ}ZyN9Etk<&W*!^FitWx}5aBeD*^p z1Pf6>cpZjOx$tz2G{?COrBR?wXFm*~k>Fo*GrbfO+%tycc#aEIUbdT5tP8W>yYuXQ`uU%bg;XNLNnIzt_s)lVIQ^FGHNb5-a2|i)V^>=S37408s3?)Q-wy z6#3zk_aPPbc&EkRw=&g|`B!HLTz-5csnaD-j_%m;%!w0ER`&At=JB2}``pLfLQ+a_S@7}!= zple*i<+5*=RQ~V@sz_q;@RvMFNx8H%p`saf<;s;*`KXn(`H}WSDc=ME$3Mevs3hO= zo{X(0B_-Yc^vs&x0nvmg>DQC7^EWGs9CPC5FTpRcg002{K(2N3!36vv&elPXFghI zoxq}8?l~erO&yN@^mnD-68VyNm`M5bE~4S1pRB(lIOYZ`j-Nbv^THOQT`fbk!I1m% z%DM`fXRo=)!(a6U_gaq}Il^Z-IQ{##T7|P6WdIQaC#uMBMH{_D5R-fqUrSR{lYSoV zlT)|+b?glPoe!QJ$u~N`Ke`dlQDHlAD~FFW*S4!tE9+Xe)x;jAnSfl&Ly+1@%F?zWL3Jy z)v(d}dg)pkx2KWYYMGZrL}I!4%(~L@4C<6gKis*fsB?~$^~IQzkBZ`l-F7F?@A6Fs zwd)dOgP6#yI&T;;isc(EId20>g>&f0&b^jPId%2f*4X6fGiPp>Sm+?b_v|}ZE^`mn zNgmwxLs_uV`q%8+eq7>*OKm5D&PW|B8^}>k4>%ztndkZ8!w0P*v-XdO4E*v)(aPn3 z0uA;;KdtP8q@;mN4f=WI7RDlt*9~)jFK(jK0G6X`f42VqWZxk=ehd2J$D3%*YZZ?B z(ej`l7Xf?JYIu28w?Xzo-`OXzB(f%xy47cc88F04yR;-Bom!b<5Ave4R-C? zwZtSE-0*95Hm5M!U-C>h4Lg-Dx5V+olk4eZo3ifo4yQ{}q zezw+DRBRh4b1;34xWZQ3O?`dPm8OJhhb5`p`Rfw-XQz(A!`8+I(BtciqvvQ0LS{`a z(m2L)Y89G{eTe~n_=6BQc3zG0yc#3g9k9v0C z`0th|^=vg2+1*Egb{MA)UvICeF+$v<8u8FjG%oQ6F-_Q(qCs~wp_GBlu=ED+e!zFT zzxaU^`ikwiqHH)|**9EmcBo1(;o1wV@&3nR`$;a`E_VGhEdC|>aum=Uuol`13WZNX zJ$(xCUeA{Yf%N`xm@HHU1_q9gn*@ybP;<`C&fbhzA*+4OBtxJYYk%%)Yk!{~shg0m z(6!9dU{;8wr>3r>$y84E$<4LY*Vpgs{O5c(wfNzDqbB>2+5@$(y}hM?S6p3PckkI# zW;^k4V`<`MjNo-CDV|!aO&*#|)!&V&Z+Qm1lJRm8+j##yQhfXGOMxz^} zpICyKpi)O(5~HlK9;uB%|LaOu!99^uP-G$W(QQOFrwa^^u@aiywY)hHq6gpJp7O8B z!DEg#hK9^hpI6HQKm(3DKu#`XHT(fdWa|1IrRDVL({#KhA87guO*@yTdT0%h5rWQ3 zX}EV>ck*j?f5LV0P+70Lw*M_3*-8wRz2<|JZe=z4cl|9V+K;FS_4j)}0Z`p(BVk??q0%va(|A zcg1z>ElS3cz$dUC=auPRG#wR@kJj42H8ckM4${+zxC&Hg=IU0=4wS`#(*SVh<>m3N zLbecYZH>OX2oiZ-J!cEurv%i?s3{Ch_ZXXMy$NqZ#~vagO)`>Br&xt$Qz6s%{kHCF zKlY8@{a{v9iZ|lX50R2yjF1y<4QEv`{`Bks)}gQX!EIGlRXMq41Sit`R*~5)BYN?T z9VVi+KNtI@Bq70cH+1Y05#&|#82<1GyaBX`Rk!?IyGe+VW^Ru{w7{#r9RzHp`}T%{ z=r$AS;}+w^)m1Pbd)(gxzNnk2o4=zh9b9MnTMy( z$;lCJz1I}>0Bea_96#eU|FZ_Y16esdJ6mboLN|F~mz9K8Hs79%OPJi0uu6ep~*jo568Egq&2cNabK}*vnZ+i z{2A=k6)*__y!m%?4w)VJ`t|eFncc3WA&)ZU*5@BFLPJ4e>cTS7O4MAs5 zSTf6Ajp-ZYy&!7PTvz8kBH)}62T|hXOX};dYUwK<%;*I%MIMScxvQRLMBrv-cctrk z2gtXJOXmm?ikMb5fH%K^Uo7JX8eH|y%F1u2*xH@Cy1JdsxhgvUT64aA#KdbG8y(-J z{kZ%kuR8pA`t<1`H=(`tji{9MjX>RfBh$Kd7NCjtv18aarDAhU2L}fw$_ISMTc)p4 zpOL3!B;73^^NFU+ZL`?d_r~n^_pd04{@{WBm`bn{iJavX_f*SF{$26-q{U~N5vM_G zNwG7jMkO>1h83@JECw2+OYj-n2YqL&{%nQ4ug#pD)L{cj>C~K&(TW!7f)>JnmXy zyY^*E$7Q8AFK!$g{?zbVgGh3X=!468Yo8dM$M)fF(z-d}|Vxqt63OT*!MY#90M}vidg8QkBBBpcOrLx% zguKMV_;Ce{aL3DCV`oe>YPNzJg_WhDrvR>o#Uf(DJ^kW%;6S=0IN{SO!t2xtm1 zzFcQb%ixJWsV7rqyY+0e&KgQ>b0p(g%`j9G79UdB7Ghx^7ol@Bes13kVnWlF2~xba zo5(X*5fbuc#e)!u&-o+_Skyhj7G?osiXY}SPSWo))J!?eUBHhA9{$uAa#&b@m!=ns zPd@vNppf30V-~v4Ge>pxFQZ3~OI>VEoU^|L;O$0urKT z*nf0$MmzdO)BoH6QEEct^Z~r~RPbl zV?TeMCM+n_9B`w-=II&y#&hS%`oC|8S>Mk*Q{C~UzMETFp|7!Roi8h}gC|;p=XT|>erm_F|{G57~ zl-Jww{HdKr|M%yoI(F>X(W7SwO5Y8j)owGp|MmGnC;xr^2E+XS$LCM&nYyl2*lVtp z9Tv13QTo3=|AH{5PeMsaiCSjMbPFEC^Vdba|K6vkO*IYS!K6L%*%Pbqim^#T_y78x z`2TqM|L$jbE_uJ-gFnsZ{&yJ&e?6?N8c{*G?w|C${uw-fVgF2QY^-1mDgo*lQP9byuoAe zJk=lO(NgxN1Qwr!*OMQEm|i5X$aLJ!UUEx0Bca1||D$yS8Mj+P?vA$5fP$_Ak5i`5 z{KXd!@OzC|UZZZG;_R_-AhWWNjb zJ7$`7LQ4D1bezMtbGF{20<)rrY`JZ7t+u9xK7?)-o5U?{mDRb%*u+(Jy9YB(*xg&+ z)V^w3hjiJzNUSv?%bzMZA%Qb26*GkmN`B4s(`t)9l8pxEb3q57%OEo{z)lE4SZ*0BvCE1vr-a< z%-E+_3sDm%f*U}J&M+`AsH^w%xUro+{S(FqaN?hZ1?6IhI}Q2JlI}jKRxGtOty6HL zyBadYR==$_YK;Y{(O;h~Xw@yz4HyAXhL8=`7jou{b+l}Yl|Ae*DF5%r`W zkLPR~h*xoNan0BGQopwu`)XEXxp`pDqvCT-%?Tm4q5<^a3^nP0I(2z(0bd84EpLb?Rne&gajc-@bk8>FFuqMaJr2 zS!x6^ORvJY$YP*0V3fRdF?}#zx96Iy-4oFtdm@j_Y@t4qJ|3Q!STBBXrS9~lnV-ui zI+kE><{xM+@g-@q03u}I(*KM{XQyg{QbJC}{@RS1EVL0Y5qMq)k5K8h38r671I6(b zBPo`l(r!u({30PS@qTwkkwM+TP}$`_KduIhK$+Annaotr{hF!Xs-MSe{>=&^tEKyE zBh5;18OVK(u|q}osdc0^SJGVB<(O4mU4@UC=Cj{s4+EdfP-Vl~$Uio`2fKrsxO$#L zlDZ%FBxE;P=(@hZEFW3^BV**}PYBVYG5PANLI8O&H&+)%;m!QiXp3wywzQmcNUQeH zH?d?8cC-TO2GxC7PBv~f)0x@|f(^#Hy|ooIuy4Ye_TXRCtAA$!w1i--0artE6|3G| zHV`}Ar_lRGcFa>NyAmLt;0P6({Fs}In{G`0GX$?i(02SScn74L6m6mG9Bc&%Io0<< zQ_% zZm6mX@V@b&-^-Vv6g%pAZlUb45<@m4wf^9m6f_s(@$0$o7OA-#xB$|WAKDwX^x$zm zIm#M6_x0}!{V~bGu{~B5#4#;}1|0K-l}{ z$u+~y$}|R_YxVw;?RlutxFEfI@}D!3>^h~q!ouG>I~VP4bX4er{lId&4FwP^_QVry zqsEZ+jj3Fe4tdMJFvY+~Y<@R4MDW~e+;qiT5H=!ki_E-HQ||q4ju72m3LbGtdDXk5 zHeTw2oK{v=?(@G@n!d5N2HmS_Ot#aj*IX^L8?-HfrO&(=dgr%q-@FeoNJ>dT>}Oq8 z-gtytR*;j^hN%I3uOn4f0m^+&Ay(M&&mHIqC+>?2x7yH4g+@aVob4-`!bdwT{E{g? z0Ot?F9&XVxzdC_M#BD=0v0Y&A*-$qNz9=|z)pw-BJAOc|KO?^)4% z!%`}Zyjwd}T;1M(Mapv}zWR=U-6Z9$T~D51H%>-Rex&3CyFm|wU^`>4LgK$h5m%!>OZ z{j80d%IOeTsn|8zl4OD*XgnAw?Kb3Yr%mfNBN5jqFqTKSbV^^gJ_(g=bGb(k-X9dY zU+Uu;D7R2k{5BZqH_JlW#i%*7Y52^)A)mw8HG|N9xD0AxlYX%%Ie#`mG7^ z0oP(@zK$U{DCpzIj~v?X(9b5AemD`T0ob;0NqC1bFP#UXxb7u`3bi=h4FX8|iQMZh zxTjG2n#G4;O+jU8FmxW!5roYnC@46(X}bh8QtB{wl7YbklwY&J7#jyM&qp5?5Zo(7 z&G}myOHdQwK%2GJ=WCZc&Z97RlnX@{Z$WCpA_zk`tJytXqQOqZ=JqY~{9~>a2y|-M zTG={fD+R40Hd*{_sZcu$AzDDVwCFF+#uDuGwg%QRE1m5&E>LQ-fg-P-s~ZEOtoktt z33|bR0Ie0B;+x^$zl#m(0+93vX)bzJOq!{nl%>KKX%Lb29>K@JI}B!eaXKou-?&r( z)w*mzH{Y<~(Vl&c`L0NJsMeFq8-~5Ry7Fb$QwA(J)v`2xeDvzgl-0!pS`JliGm9<` zS3lA7*tV1WdOJ9C?kd6C81dXvTmn<=im-hI4^fh*f!24Z@wrg zSw$eRjLH)L{aSr}JtX*2o@nGHd{=RCaYXU@$V<@;NE`8DyK29oUH9bbiJEpKp{+3A z?!hfWyu+XYSE%fDhdKC1^a57#s0E?t)l(j*Xk{;CeizHANzT$qb(ZZnFNTUr2rab? zwM@L%74i^&uc*iNvO0t%ZtnN2r%v64-ELfP8PEU{kE*^1!ZY$5G$e#S%+JENYMFL6 zHd83ja8?~-Q)m4A{7{9Q2w8dQL!LnutP*(3G*CPtbp>UIe-wj8rU9!O3QVqEmHW!H zCT?{#2jbOiZ^0PcG1U8k3YU^z^AxiT7N6@rlyBs_O?V3rfE?A-)b#fYUA(AhdgWi+ zJTjb9uQ6Zl(jWpsE|M2C2vt$H)Rxs~^pwAgD)xkRP+r{`URwZcZRRoubV@Yp#J)bE z6LBSBW@j*zkO(i`pw^F;+pr!{F!X0S;cGRtBuL_mpk27$>|jM1Y$VylPu6!e!%z)& zfB`0t*=(s~q|@6bcjf5x-?`Z40~u2p(pzTtM%?i*m?xNIaUU1#_MpFL_DQJnYR}cW zfD=3GV+^$#R#sLp2h!@gt*?@Z$BW!Pbm)+e6dlE0@xv(9gt+lP&To$pwEFQ;_C4lc ziY*45f7SmJ)q)0H471?e=ID|~kybWjt)A5bO-zj>M~Lq>hOpujZ%RwQhHQstgoWcx z+_Xx0^eEvm@Qh%1$W)gPp1V{%XTHBL0FZ*caw)1sRx)|OB98BY7D^f9@mhMpKZ}e%Xkb=G$uZY87P2=vR}7l-!7Oh9FldVxx7FmXJt^!sJUV*Ga!{CU@#CjYsHHOe z^N6<5FEK6<>up^P^z|P#@Z)!AV6UH2xB;3E?|Fo-w(%nWl5X7LLK4 zi%F48%rYIGyY>)^kE6whvfWyl8}gX`mWL}|deDbH)lnaVg7eJF>sF5TWk$vi$a2l8 zxj9R|C@8}`XcXwqwsV7SNcWQ`Pd4OO_XVkPnl;kB7Iu0F2#gwsa;lhcZNDHFL}Qqy zUVwg~oOh7Po201my($Z2=XVgLMMuX3bFD}U>cK$_ZwZ=}pB0K1ZbjW-#rzEYW##vQcp^+)p}{K5q#2%1ULZiIU}kye{(*(R zX|o~I@@6S1>NPJu9%%R)q&v_R!O@!=|20uJSDh`naX00(N@h2&NWe`~b#?WC5p5kE z(;agV{Pu+F7qkj#fId+(Y6DI{Kh~;!Et&XcPF0PmDl+^Y=8XLEQ0ut8*?3zQm$nNR zS#Q0)Q~ekug}zRw+%XUE(z!xJQ!zHcCI8G>(#PFqGd;OO5Zi}M#J?CHUHxOuPH@?yTI}>>3ZhtOMZpttbo9pH-mdTdGyLRB=zEG6TzUi ztX#)H9io`;{#Uu&p4-`K0VB93i8u{x5fyC@Ak!oP?D#yi?}OTZJ-d>-n-jc5k_pDy3ijYc4@g{_Gh@7 z$GBOMLoTXC4Yd&VOfnr?GCvyC0BVMxxkCFcx4&Dk@!p{y3+|*doWFR{3Tq6%s={#| zqETv-_javw5s}>I&@KNKFTMvx^pPXncRxO*x}b$|i~=;Cu13Y1dp0tV;e>Gq zXQ}ZUX^-V^2brsrKE9Kuk)vCY!E~&{n*QP)u_Ci><%+~UbG}enl#lZ5%~g-_n1+t$ zByERc;o&w%@UYS+FL_%XRM~q{$lmXvPDsJE%x;tk*x4}VM1+O6z#AwnM4gvRU@RcZ zklZLo7YQA5aja8JFI#OBP789g*Sr`TkHNqwE`oD@s4xN)_i!h2c!)&E$*S%2?KMCE?@#lr_e+RmN5!dbbd}?{!rB9c>+=X z_Vz9UNDWU3o{9v7rBMRU$uAFaUu@p{u=zC?vLA`7h!%p%|BQlm;jaDNX9**tFmh0A z9oDj#WT0{RQeDVUPHsFTx}^x}D(tk7B)Il*{>jo!35k#JpbBj#I^c2w6!2Mm|7OUI zxyOi{A-)HF(ReGi6*MZba2=~BxKidm&7}s00oX=hBaV(Nb}1Oi0ek{&RX*{GZHda) zi!PA0>gi7b_`BLDf9S2SmM+?kxAiPf0U!g{Pm-G}UG<>oAX^gXCEF((P<1d6LaD->x-c9+g zV_!}@sSZSu6U;P~h?}e0asQg7iPXr2`qL<7-7fzZqzJVp9jFa{SZL|d&{SIvrKKN8 zR+Q^Bjl7=-hsyz(if=wbWC(Q$=~$qJod?{A;F_D5NLMX4-DPQM`CHMexYwM{KLvwY zU9V+|6~;qW78VkWYxaGcN>6NATv{r(84EBt<@l@q70PAp&`=e~^a(**#V`!=`3D53 zoz7l*_5Ats?o4%zZG~`igVovtA;pfNN?yD6G^nZKUhB!x>0`ui5Xztcm=j9GlqO;p z*0}e9<0xFp0Q6wdxNx=}4DRJAkSzf`UEry!7?WuVVZA!G_tK@EwUL+jAPk2tlnl8O zTu>SVh!w*E92YMJrt}J8$ji{s5U7&YfG_F-COv7l+tZX1kDj~9bVI|y&u*sg5~!en zz_(AIKFte<7)2bB3wf!L{S{HH3faUc|B8!Ur;VMR{POI^55+&WxKh_pqM;pEtt#8G zW0jZ}fD#h)FmnH63`*Jx>Hs>T-Hxj!otMCrqljB65CdR1N)ePRCHVN51MPTw_tWt3 z9W#@*%kjK4=j0=Kk&Z^*(m_exW+=4;#DZ0QRy%)rmP00J{0^%%txOPN6JvlmOV)x3 zV{`E915Va$zS)-26@#`%&?B0drmU00^VvCdN>xo`xoV#sJkdx4dsS(u(hachJ$eb; zX%&e_TG^=A=8ld62IgC9^R}mBLD3N{xwlOX4S#`dC|8OaH`CC0C4cuwOh^FA+y>;Q zyJRL8E9?Y>j2>JDf{MNeUZP*ppHB3bm@HQAl#H^3gaqJm`nj-*#_^l7n73gS5z(ck zEI~KJ4v`&Wd#heuALqVd3M`KzXW3Uc(WB>af`$f!O0u+}gCB;eH3Xl)lWrHY`0$QVe{VRj@wJ|1a>F#u*378889PN}W6pWx+lGC>&W0bu2S&AiN@xAn zWNyc_YEV@gaq<^`(D4h}@7`jv2;oJCAxHd&KpOK6Wn_XLj(xd;-i=JTE-87CL1c?y z)Z5RnDJRvRvwEY%s)+DI{c0aS$0i%{<_)HTv(?BSi=7?8l4IW6AWuU%dvCfbn@kX{ ze+#{WmdDr@J&%rv_1;e~Y?AK%9fRdi5tG>0F!uEw054=aGmfthusRz>tju99c{Su`6LXtx!{?Y_ou05pk;%{-s>wg1*}ereGBSN<6n!$3khbGLQuTc4oWMgE3gyTX4=U$Jx;_gi}vs zl(P{-d3DwxstR_-dQy9z{6JU4^_+FMQy57l6A40o#HBmIU;0tu@F?cs3wX>(5Fu2F zki{9aOG3!|_+Yrj70J-ix!%NCMMLonhzW)AAsPgL%MRozR$EsniLG4QnWzBh;o zwapT066?O&BQZA}KoWS3#}%Y@tXbXXYp8JvYa1J1KR;A;CIfafa;$>wwBwk71y&KZ zE`8lGOfRC1Vptw1LfHBzv4PxS;*6m-dBxlw%-!1HeNXltVAFp0=Vy&Ctw90{N}Wn# zJL%)LDsC;FUW#!~tfwZ-xDZLt&}jP-Z11F-1D?8#u^OB^$m_&(e4` zNQ-=0`KwH#*mQ)BvPbY6#l~MhywP&}QsrpNCD%jtE*8Opa}lOq%j;4 z*jAVj#FW={&FgHTY-s9VSxC`oJ|aCJRjex9IUHzExS6fk60~9nLE>BHTE)nkWG&4J z%DNLbJlabVRd}m{dv-Y)GCXR$4J6JUH4Y9`}D{eQJ zjUgyP0;40o0WPJ1E*f*Qj^;K7hM=SMWZ#zZm>ei80aVMFk?R|S^iD|gIFT4`BiY6< zVK+83TnrNDW}0)=vQyo_zCC&Tm_Sp6G#jorW5{ST_tf5qv)zRqwr_094xA9=Wnp>F zm7<)EF}i2avqnclU%#fIrXKs&OL%eYShD%co2fR@C4Q4f0L=+glY^p@J4sJJ17Nkj z=1LTQvKKYq&OAOPvRYiFJE{G~?|1wVb@0ich$kSIFOYU@&mdf?Fl(9ei==IK2BI00 z4B{Q*&bPs7Q6XTttiuiwdUhj3vnaIp{J3C(s(78=wf!ZkF@*U-U>k_V>e*VOBO^yo zoTvbwhl~L^zy|gl~p&qC?Jz5uuCV@?WALy~fO z+P!?JZm=TQ)v{=^>+f7-Q90A;{tlPIH7Cc$pf`%t{nC_ZDaKJ53?u$VS`eNYPZ=6= zw(e|bIZ@vy98JmXN%d9zBZjJ1USRGz-)y$_rYyKo?rs z#n4L-QOK`j#HUcZ3G^z+%WQY!ElKL#b}yRpLAGsz8@iHYjvB3%8W?+zSgHraJQPd6 zA?m-!j5|U$l{-NNhwhzfEb>Y4N)AVAS2trwBx6bA1U@;%^!v0 zB9-ncYsbRJXaD*6KR3eISyj{82+Cl$x}MTm%(rcBZhCupEswVw0Mw$xN5T()=dfIQ z;s*cKf?m08UE3W6gWQh2g@B#-Y+fd&-W2rx;CR?Vv)c|`9?lQgJzXxDUPEc3F+e>6 zMlb`6g)xHWJwZd~=i`$=w7+#RniGMpLvftXFGCN0Rqu_YHT@zjcysrfU;mh$6~Rfe($tY*w3AD0Y_f^%z{(-)n%p=_h1vRu*vO37fVsig=$4>KyWeKw*7nHU+l#`!L{jradxkAv-NCE*^*Vk7$DG zC^y1@+m`Hy5x;-!lNy)v@Qt~Yq-D!L(5>osY)gE)|@^K=V z3fu;uhXL4-@iSm>#SPm0qo~^zA{vgu9;!0l$BSckexdV)r#` z0>nXnE+M+xb_tZ^d-iSqNV-oJCAlbx9Z50}NM^b-dvJ6xjd@x??fmUxa{|u8c@yXu z*jm7mlDW#w9E_^7#*H^rd>k~-C2%_o4zT-^5DXfODLM3Cw;UCZzs(tpam*Kbyj-~=G+8V{A0mF-|y zrLhT`5VT%`CIlW4VsVXD4S0yqK2S(PPF|kv9=VNb&rZ6#LZ))(@8+&Od$V*a1i868 z?p)MH+@X{MY4k&S40)QF)oT~V6|!9n`5yKG&?$;9L{nv#XCnfM?dZl=)72U~X+!FE zU96?!Gk=Hb0Gv{c%8rfNnk}0P@eLVUC-@PrI}otN1RrV+Td z*46-S(5*3zdGdT90tV%tnTbg?LsjPTAvzDD)L} z_U3_snB880L#d`;(gynxhB%ih7bmif(UBB64Z8c6?WZ*&sr(yd>l7pNz0@*8$wr~o z2F>objSv08XZEX83g?EzUhGGOBt3M!NL6l0gBcw`?$e1E71uz>gqu?tS@B z{N`O8f)25k>*BwRi3)sQggG{obOpRb#O&}nO=iW_V09(Nmb=J_$K~k>7P9s&UIv&IZEpZ$F!5Oaj#oLMPTT7h^ zAQ6E^>j=)mx3b9(9UO4t=5)&l-O;0j#Y75$_H6<;;!79sgT=iKQ4vZfkS>8&wY9Zj zUa<4WCVF($+D~5$BO&|zF`5C?u#_dfl3|N6xiLUIOiW@8uq`wOAii!m6$kqsHfj35 zr-4%4!k7k9u)sn%4T|<@H~meCRdqa?Z~_T`1C)7rpKZEwRp5ZdAqom%C~eSog5>Xw zPEM9WuZVnFYweE^v%QR)hK7L9D+Ox;1RWFjf-f3?^ibSrQF5H(85(^6WEF@p7`#=T(sg`M-+S%+4cr)NM)3=<-Afj0p=iYgX9&-ccX^8uD35piZ%DkurDB=nnOUKrl^ApTL%{i0EK zSb_l#lk30^MDqr)-~nO+o&yyESy;Fla)QdY29^%$9-(3c{IljU9pj*(TGvx|Z&odA zP&^|+<8A!&1G`)fD^dJIUPE)NOerxzl1t-=L7mAoPSg2I{_~mY$*~)sWiL{_RZ0p^ z=D0mu?h$P@w0(h`i|TDN(A+-sFbDhD=I@9m*Oy|9?=XvIc*V7##9hX!h?(!xMMZ;0 zj~)@uH6qpo9cG)y771gjm~{Xl$Kb>ja9Cf?O2FZdFGc^F=<7cORv|tAge$sk1gNAiTC>J5hMldgMp4%|>8YbfgRvQdWe&OV@nY)gt5^Yq-p|E#3_ZOqD#}hv z!^q+W6bp!cdmQ@8-E($D(ym=I(- zBGbY|_?sIyZ(@{3NY0OB_b!S)<@60wqq-Q8X~Mj~-~s;a!uc6oRT zkiJWNSVO*r6<;UeH}@ZfF`RB{5hpA&u1$BRkzFV~EWjqPC|XJoJ? zEB7LM07h^C4)KkJn#c4OCPkq$Bq!thO{M{8AHJvGjpKchc9=eZ2aWIa!T0olje%dS z0Z9!f=KRg~tYe}iyTHy4fy?sVy&g1j0|NsQ*xG+x+cYti35_|D+sFq;L9bmSt`#_U zj$mjWM$n!PZ{p$MfnivXpFfyo_xgAu<1eWZ6~}n=Bn5f-Z2l@D$L#?CLJVn$b(ad` zNdCmc1nM^dCc!#7kisvZ$4>R+^P#j)O35x=;&WKLaKF zl;nP0vVed9Km&wzL_`E#?wtDH{iJUQ>=X5AVAOk$>mUlwZBgAEPNT3V;`gvnXx{{^ zg{p`)49@=WX&XE;SQ51t<*-3;l-{QhJ!wK}2^1hi)b8B5L-^_*ivcrJQ<<(HmJf_} zfZxxblPaG{zCdB~Cu8`dDDm!H^t<|BK64{8ho8Ry-X_L!#76gvjQ`#^Y_$-98#&MI|Lt3~sN9o>$yAY51^b1FZQN z*>y}DC>Hgfl3)=MI$pf|?g`opc4{v*s|LsErx*-I??M2*=coU45zz&h^7ML&BFit~ zG;!;|*0KB3gHL+vyStBNElgT{z3P_-P^I?bQqI`d?`$3nkA{?0cFQvd7nycSG6xgB z$B0gU;?g5tM}((Yb9MEuBnE-z=4P5_KR%xkkS?O4&?eSRzNF`V@nu)N$#U%OsvLYd z54s1T2twq*8Q;X*+?QOaA$j59J;1B*V7mbB(C!FA238)h4qstI`UbS zje^Et4IY>&%u&A0+uzTAI6>1vwnn{@JncKlzJ2E@$vixEFzkm(6Y-BXmR+iaV+&%s z)hOyeivXD58WgnLOh|i>-Z;0F-rL-#!$U)X)S%X<2iOD!2a7)%^&i@<+HJqc$`42Fa(b8en#-Xa}s*q ziqRr~x=1EtVqy-R6ed+Ryi;II!+h=>=sXX;b71%%qQ|fBkyl9xU)~`kB*e`f0)E&dAMg#$){25^Cc3Sy**l+}2@ZzW^QG+QD(pqj41}Z8lIDV$4rZ6P521qcVUN|Vo z#x{w%`!*sjJbWMdCgksz$N2+}^Pk$cD`O=J2eG}2e~ymcin>icy@EBz8H8c*C7c}u z0@Eg?8a=z~I3JPJoz*+gN7vWa0sJs3$VJ~;UypviubdL~C_6hF0;REq#g}wGbn!XZ zf`_;EH#ur>NT@>)3Y1L_GHWXP#(E0A ztoQHXy$|5xC>$FadQ6p?-JPAC{pZLCc*0wpdy0^Q49JFEIdteH@JecGDq&h6{Q&2m z-E0>w47{^WjEJB$`H7~9BO%$4Km-Idbi58$c7yH0n_vx<&C>wipTt&wuB+pRQXTdD zTVJ1u`_{XxEI9>*xq%YRC%rlE-qEbwWek{W38Q5uLJehrh$b$+O9B9QoG?%;E&Z*; zGOqS9gSJlBwn^ca1B^wA78bK86`wEqT|3>2iDvXk0-4~Sl0EP`DhjtxIIKq(M!u}y zWXK&j@A72T?L?Oz8JtruFE5+}I?HtEh;I#i8O%;%UK-S+4nsd^vGxFSe{@AK(}O!m z+C+BO(%jb2Fu61!QEdN3D6(z@ByFI-zbrprSxV|21T9!O80!p&{f4y*ksU?DjfsxN zX-$DqFNahIF(#hZRkY7EAs$6U^r9cqK6~Wo{_PkB+4l&fq!^7k4mk;hQv^ib^V2HR08uCU%U--49 zqR_XUV%FT&c2PuRu)SSr%HmwSBFn85G!OJ1$Ozy~ zi%wQlBPBvy%hvE`DVs&z6j}VwpFc7F5J9~S3eWDxkD*d6D=$X@H=O*w+F3VcC0qaZ zslmk6?N6ChdFfl3S8NqeMBgZW($dq3mMd(>NOChsB^mw>utiRZKOwV&pIM6@LoA4; zLPC6eU+k4LVsP~YwFp`EtKS+8;VIk)OF7;dLemX`^*tjWw~~J8QZ*bb_=(##`;x?fw1 zPEI#Bw`0EJXFD4wnol0QVL@vJ`N)(Y5!CzqxwIrT}wBfpo#^B4i*6RMEF}!TpSDf<->=8B6I1rYuCoS2HgRB?y%uzQIRA=Kv1w`<0tid zYwjl8JgAUxwuJRc1!!gSRT-o2th)$yRatNF6vthrunU!NZSAi}@7L3FXzJ?y&~~V) z1wyJqJ2X;aaN1Ym-QN!-cB2|G_o^B&RSSfIYDPSF#fLBpVkqW{6%S`rSeS|pH>B@4 z;v4@J7o(~C8a+~w+Q8-}r>3?*JnKXON(Dl;d0qONg%bVpUJx|+yNfNL7 z`o1MR`IQsh)!7M_8DEeTgKz^2qNF5K=oRej zXCPh4cit6bLzq!gLMX}c-B3bKL;ivIc%fu4`QE*IfVM1COZL{PK4Rk)>h=jCVTf1a~$DZ0i1~<<@EH*5oZD( zu3WjoXpNcG7FAWLev!F%=ZQV+6Cx5Jx)e$f`;CVVJnZ45N?nwL9et-aaIJC{x~xPE z7cpKV$*{ZYa~e(wE7~-OJo9RDaNNiX- z^vJ+wo)>MWNbR$*KU?A@uF-wP2WGkNp1g z=WP_NDTGT*jOh9?)YnJ41R8|h%4kSedE4oqDdfX0E|0`;se1wfRJBRPmahP&7-j%N z;3VEcIfXnEg-j3%;H|9JC*wirS;h|Z7u?$sB-U_cjdlXnZk2O4ZP#P9GyoZ;E)3bN z2T3-oI-oH9_YJdYW=cv5Q&@W-JUd6H0O|EJSChAab!e&{W2=|l<4r?O}p>XvvSUv_A{_c>y);>N5Gy}AW zGU8P*c9`oWbrHY*fZ3l>dSPDE$o{U-oal%HNWfHD!J4KR%Oo94=e`mZvO${^MOQ(w zcWi775a=;l@*c&lMm38jTKua8=<+%WI5+2$Ra)N}SXo*1Be6%isygXhMPH8@Q z?0EQkycxLzm=W138y=S2cM&MwSb(nI_}^mFz<}VlE`6zI1euEN29%D`>OgGk^~vjG zWYFwsC&Q092k_rtX&O4GzLx>7W%cQl@T$L0yXe5|_%iF#C8^{NwO6uZ&2-P4bS7=1 zFYljradB}ihMqAo;i|21b9J?{wvJdYb@UQ4dA*Y#_J1J_-BnOjMCU&f=Q}UyjT;Rs zJ4*jg3-IL48}ZhnpMgKZ;<#FmLxXOTKL_FwJ)0y>&XMoGF+<`upggWU7kNbGhl$Pf zcjp07wgrEtJjmvwlTDhdKcgs!QIs%KF(RnT*x z!q(q>{%`&p#Vp0`bRcgdav7;UhMarz=C$l>Z#TD?64#}7_Mp)a-jMmt{$v~8$iWc< zT)pFH^vP9l{Mgw0-!7+{x%8mmjhT$lBn{j=h^U9`7axa8G-eC|8PrjZXH3U1z9HEBEf8IKJ9KP@fI z(cOKpVi-UZ-+*TV0^xrY|3##Yb8~Zu5Sa8u^paq=0I2ZC>E~MruU)&}(h`}A8_d4e zj{TE!^c3mcS#cquE$BY0bNJi5N{6y`tq$5>@R~}GdL|trV8u z5MaE8AHW|Z2P%q+UeN7Nre!1UV`im>rY3Ov9vS}AG)}#SV5GB}cokZFP$U3)=?P)A z2!ImF1>HH|rJyP+ef+AWTIod#5K>=qljn+Pe>@DZE?5N=%|O}^`dZ*pzthJHFa#aB zq9-ctcOZ8j8~fJSSN9JQ9;oqLv#8*9K9H(_`nO+|%yiYf3R=rH63fzZTCCgl7VQa-}h{CLmx!(yVMN4>ohvFk9q_hS>@ z11y47T>0Mnm+FJ*VV-bZrWr9~L00wO@Pkc-8_yoHQAfp(@Aed|PRFI4OreU2iJ|3$ zpsC;mI>zT93lw2fJveRDIC|myd34{UT)leG+Ij%^&h2sL3eJhXAKBNd;`DPt-yz7t z2@+eryZb1*6o!0WC03p9Cj>%lwj|cW>V!oV!mpq6i1V@1R>Y&;|0r<2O z!NkK^;mo7P1@#N$1kTOP1>_YB$C5j{y5_%sM@0vLJ197q{eZ&l{Io~%q3&jW~ATk(q^}I zaz{0N{(LlP74kV91F2^)7zC0x!O781!6>35TLi+uc7ghUojDsU7{Muhd`gv+yng%k zH&kty_WwrUM?aPBYtVbd{GD63j-jXsCbzc#h^y;3NOzs3vDFDDBi(Hsloz;+ByTRk zlThaj9v-KRo`XU#SL*cX(;2&3y$|m=8*W8WlH{XfOC>dBSSt2mDgcTiMc#D|Zva&< zv)9whn-sx!Zbw^)B>6X3YitqZ&*NjteG+orJjfk^1yM0Rv-~HdeUdA=_3k!9{{zk_ z=ip6HK!|P)R$7dOTK60L2x_kG{UvMeW>wgVb7L6h)~!#g!>MvQI*^|K0`|oy%BNxt ziKFV%ugunRMGbe{A+# z$S?3QdxR(jX7cE(+nl0-bw~U`OG8<<>&j+yGLgQu=3Ga@jrlhxe}0qyy*jTDI1%mB z*B3UR_Pus&ZOnYmeJKV;5p-<>0m9NFQ})*pnjEl6EfezwQszW~$=MlZ#$B?Iq0!vz{!|jxx@%|u)tA4OnI{@CizI{Ik~x^04Ti|N47ejD9M26a~}3c zgt$A=GW~xUAfr*-+oY~e%tD3FUL~qQsQb}|Sv;{H%&J4ROWghYzo5C7PwwCq)d(X` zBHxZSd;e?2H{LW?NEVJGoPgs94~;&V@M&_A&}o7-0K@41>UJ>@hbgT?Ls?Fj5%+-Z3CHtg_%)P5SSR5B zO4pOXSK!JCfeboJXO2XtoOEZW9oQFQ%FuO9$Pr&}qy841q5GNvE|BeldYH!|m6p|VfpF?YS)O_h&tN87#`lH ztgNiAUIWH_p}4kn^ebdFbm_ecP#|h< z1Uq7AzRFLf5P|hFG$}SVl%n|$6BDa4lTccSsbi0nc{HOa+6Hb=igrbH~vgxWQY8pV2Nfi3Sqm|^SSvDy2 z(U0fzi9uFXQxiDffwMqD(OA(M0yBzi0*Zs4m@P&Ge&2(rNQ+pm?tR9P?>r1`0@CW zHzTUdZcH4iB7gCdxS(h2} z{aeK+vRY3h9;-U$S8W&@i`GK?{Jg140yRGhCx|M2n*&YhfzZTsW|dU|>s_eFX?!J|al1{4yuBRoIf72cbZ zipwyU6CkE6xw@{S)URAgG(xW0ju~fr_s=YZZePZJga`SBy#h%2ME#x5xCPA2knRxQwCvB^RRXnP+pby$hP9cHN z7s0O+h3Az#Jc#~x(dda5$%Y{j9%clnCG2qI@Ol)7hu+Ql%gKAUX8`OV@5E=-pZ*p6 zA|#?a3V|Ok6`M_|>*udu&@ArE?*)bdDZT)p2iJ^S!~bKz+eLa#J3tV!{r2fAMXjOx zr%E3jk>Uxu9|nWa3~;fveF?DD=oS6?N2C$4pFwwEzbEVxo%Fl%aPo?_`uT7&#>+bx z8PpL1e)4EOiuoUK3mPRkMw;Hz6x=j68&{y0qO#j zoOkctE1~Xb2^xTpPH?0uDu6k?{r$wWi@3NBl!MIvRP68^SgWsxKyU}2e*I)6Ix0|= z0`Luzm1K~cX&^n(KLAAe{-8ar-nG;S9 zUJLC7li_2J9(Go37cXAES&+}aW?-=^YZ|MM?%C6W_>IGC9_M{e(Hzp5T%i;n1}Yb4%3RC7d(axgL^;~0~aA+Yxr>X$dM1IVgbi^xx3ebYXE9m z7@_bNefu)JRZ~;=(iZn2zG&?)hSwXyOWu|hMK9;w;aGw zHkh7*4*A+=Mi6BQ2w;o{F;@_!^A}Kskp?|pER2qhM$vQby;vW*W$V^o*pHR{*V5A1 zOU)Qb=z77k$D?p^j2b^@NE$FA1-242-DTPcViVA%4J1ZTg+iBfXf1^T3bdi(!quzd z-T4~Tw{G##wZ)$d4gH4sz{erVYy~5M5JjDy#u+jk7e$bo03XqF$R#JCw+H_a@z_&G zN5}HvbVhRW=$9`(PEJ)oJD?*<-kOdIH?n$zN(CjN8Tkd%KxiPSQPw7gY78HGh?f0;;Q{7z}p@w#^18 z2K=}9p1V>#FF*f4t)COfF!1&w76z{6*Pv*wFPFP1 z0{bd1E`S*(;ZUF}1P=6a7(b*il7Nq~)i9!O8hC`K`5PLZk-|$#Ff|*%)ZqWW1GznY zYUYsbBJ$hIFj0JZdio(U6PQV3>we6QfC0B0uDYkbFW&-W?gS7Z^zWVnWiPQg*NTX6 zN#G<2Om^i(Ooud)mzVddigPry90O6-51BXr!17Iujrs9agH^;2oXER%ZNe04yQZ*XwX=f+u9i5GhPS8C9Y1pIP35M@=VS0#{i%zn5 zib0CO(7k!u6pOcDx?KQLI(QS*=Sft&4>TicZRoElf}h4cLl1-+K9PQ5f@NLZ z2`j5qW0?q^|IA`gNyQGzvVP~^u%{o+-onTnp;mK?J@TuG2@JthMivWkCq5Kn?HZhp zQNCw{?Uuh^4O64iaV@{!2q_3BmQUV3dUy$1F|eIz%`Sa5_%57Cmq55)31rveU!8D>1d&AX>1&MyuJ3`h~OJ!5gi>J*gy95XHFxN zK#D`OwGRz}93U`WYfB3uQbRG|$&*Cx{~)1>*}d_L=Tmk_A5>a#U!eCyDjrn|xw^aK z6ucp%prxkoc9gMcT*h?ahWmyOi)QtYplUcd$#v%v!eU!X3(+p0m*;}Uc~CH6M~K;Z z*n_x!l#<<%Ai{?Pg@jD-S3FcUR&EFY`|&!dWhGjdW6zy~=}UU@5&i$Rm5$6ssZ3xY zlG3usI8wy}4Y<)xh~zTqT}VZy3jy>)%VcXz$| zvWS|lwWXzBebk()ZaF>o6~g&JNbQir!<>ys+fIHXF~*@cA z#w*>TI21%IBmk@I9w8wFf59N9xk5lDfa8`#M6}>;u-`8G;rN?aOVe9T$y_`<`Xpqa z6k*|v%a?TrU)7)0p}L?wfY3CrCQEJJv}p%P@5~Vz?Q~YdzDV6pu;B@0elf9?TDQS? zLr?kU%^OgaSf=4pzzG}!b^~>u8#hK_;+$0eI2?m02fiI}zq8XsA$9xlStcrq>t$d) zQ&I$IL!iU2kaH~+ASlK}235?6kz>_&qB6iR>!y;!CRkpJ)Gzxd}0D~kf)+W{a{q&v0AaP!Ig7O-7^9gWPUGf2 zPn2ct?Fltis9fr@XTvVmZ!Fgd`C?g|2(6QoErKXo^FfpXMJ;Nk{B%?|mJc1-MY@WL z$*W4INQmkZ5_aEMZfR{T07k-cBzV5Vv>+(i5bhNP&Y}AT9HhYdJuqI7ow%~Rd%j44 zva?s7c=v5#VWa?lq*BJ~MO(T5k3soe-fyD{c(eV{_J_EOGIQu-uYpx&bI=xnw1kQn zF1d;K7RKt|y&D2BAZhCX$zS70&x;qeKtV7U7!4Gts1Tk)IS%Rw2%*_zAuoxs+!8=H z2K5b>NiRaU2Dz}F5tgSIPX`&kDP#_v6NIFAINNIzk{`#TkYC~lQ9+pP!EMie7#RpN z6anuYxsN_8zHgbC<-;)2N00E38Llshat^3v4le^ZcA}dHRX}phNX7N*@4&0$-&lR! zP_ZCHsT($Y@!sN5`wO7R+smtK^lQVDC~`G==8>kCIn?oc`ogjLsai_fq?75OUu75= z|*I^npG9f~Jij6F}gY@PpgA7Oe;lmLpr)PJ455dcR zdG+z-twQ){h_7n7;L{O%y0GW#uB{dp=5#v=pLgN}Q8@1Hz0@{}t9XpTV_jX`9|Euk z02!`ejkB{4Jm#1j8?$U<1z_+wabgL5hp6l_o2LN+fh|QlrsjSeU!w|28R|#mToI`y z85y>^x((PYBhT;t(A^pIZ@L`h3+zyPmslxMvWNlY2rENF4qv*_l(q{e2mShnvXfsZ z78P(1=Cr3@SDM4V5Xs+9qo=mSDP%ZNj`a2W_suwsucpT8rWTYA_V)H}ZWB;(4VL-g zf46SEPgE13WyZ9Yq=##%0u&0mBUz`p6z%}UtE=NC%N^3bpx6}(SqW(FvGN4pnx8Ae z`Um>^g8;wK1BbcyS^t0dRey{3{qU|KRIjnsz5{PVApkui{x&r=^}7@<$LcN&*)1Ly zHt1wQpk?-+QD8vH-u8j3>P!`eq-ROD2Dscl5?!C*A_4=|?gn*NL!tH;_X@PO%JX*0 z^0|r%AF%NpD@AU5zurt*;^pKd2FU;bpfBXn;VO&b__#P>HFt7XHSx$36A$4bqudM) zCvX%p-jf*H0QT&vRuETN-qRw~U2q=QS&UsJHKOuJj246|FUv}!Fo}LXDyo&O^l932sPv~}ZNDK--+76%r{2HfU4LLdtXovH=U~R{ zx0(WYih-U&ijC)n(bO0;YtR>5HzJyEA)nq=m-Cmk=$Nk5MT}_h!DgKdszEgr&Py4I z67rj@&^Q|<1etg6{ea1k$wJITXyTq^s&iY-=zBceKInsq8vTH&fD;G^Jy4$<;b3$y zYqZe%-xq@}$wYoZyklZMWcpQenjtM7q(qg{oq)?!n>9`HkH<2J<0TqPvh2+H_uP9?{7PfzGxzu?e(0ToTT>{#QTFkeL;rc z7kV}7e(oRT(AmW4L;qcU(kZ1Br^Wp5jDQ7CcW23&RsIJ-uOS^ogytlXUf|@6+UUl; z(eu>P><+t?1b3KNRyZ=qh)8fufKA12BUP1^i%>%&zt9!4_F6G8kY^sWelxZm>i#Hx z?%lrR0xtfqe={DSqM9*6z_Qa zc=(oE;>C;R$SwW+Xfj3b4efU9Xodk}gf}r9EbnA8r?mu%8t5+q5r(C}==94!eKC(( zX~PEeIWWnkK*Q73-X43*F{Q%=)D(ix&|!TsI_damDYpW+huBg#KTb9(`>bo2FAm;| z;NLXJL1o#3c?U>WY7)$g1btOWJ<5=3!&hNLfQ^Fa>>28$v$^lzcp)+F>l1L<3T$!~ z{uyhD!^T3P8(VnF(YTZgSc$SYJ*N_?62NqbRy+`^%05Y+3wN~zz<_@Qfp*jO)(1@F z%zAwuuA2xiY3T#-S~!QhxV4xvGH+;93W4ConN}df9TMmT7h5n z<~5Gpt(0bUFP80=SzFHGM5xD))scDi_v7Tx(XYoR#ns{O;nPGq40Mjvw#+Lky^)-- z_4ltblk0o-Y~<%2EMq`GH5yLPRIXYu@T{)ynnrQjJWimq#wNzj@2@AF#kec{5F$R> z(?M;$95WPIUc7npA1voHM~dbpOE;a7p)37v;$c4-H}6bUzGBM-d_~BPiHT_y%Q=yy z6=WiHQP-hjfO!e4gkjOB+M-E8qE{CP4;d2bCH-5CVR;bX$f}k4#L(3ZE7OY;GQBB( zX5QC-n1AmB7#Iu(i=^Lp&v&ZT-?J;uoPuQN@ZsFj(y3E9YfMOhs9Z-S8u`jMDIOmf zYV7N?+;C&DjY;VRDw8;pm*}iQrQy@CKzkpPhzv=*K9kGp#ECkL$>NH#o6t!*!CWl- zye4=VU7ol$NCfyC9;vsMzB>1ZD}S7rv;dlf`k2-`kjF`_w0O_E{lpv`dd1b6d$m;} z5pfM^=Fd6oZ_p*>nUp>?TKfQ2dw49(?RaRCkBlLzCK z)`DIujEY(z)b>?%l^U8508CcfpLh*E9|R(ImThgM$hhU9tjN)aKlfPt*@wpfx(Zak z-`12#{~b))fjviaFioJkT36+p^4FQT0?pfd)@k;IWKD|uc-|jdlM`9lE_x&5)Tyt!s_T-@By>K#AV z|N8Wy0GrX)+xu%<6whA#rSgdQ+$jA?Y#eTRL@HN55j%}jRj;Gt7^6ne?SdyBq zCO?qn(uc@K&pkKFqS$&iE?Ok#gTZef+4)CV!yE{IBA50b_e!{QAMVqC-sod)XEq$mD%rK6=DB z67cUk#>E(~Scvb!r@XNu=>%z9R}*Qg->eO*WLQxdBa|B4tyW8{#$do zX{~?t1ECTwmzP~Pb4+*syYJPW-015dZoq>?Yb8lDQpUlM2yyvdmD{tY$avY_D(<)z ziTil`W#i9w>VfkAF5ijn%`DJa-;n?6y8lh$tFK8i%sRqeNtT&dQI$^xY+d#YY)lxf z9tup|6@>$mY#bZNX$B0*rgPoXlMlG`C{%q#U`aE%Wntp$)u>|sO<-vipy?ImXjgIkA6Tr_CTc+2)p{t`o*TpfYh{jZNI?dt;WQy zEc5o~pC+8jJ?Bb8-Yj&iuS<1fahi2-hx;63{;~^ILPi`qLYCrHdywAQtjxZk`7dJQ4e2aL0 zSJ!-0LyToSKk`4^=NNyny|2}0mgk1GxV(LVfUK-4{n4y&`+BBA@)||eO>TkTM&2$j zd(+8u1zX$B4{5VxTg^h-%ZVuocO2|XKMrfBf;7^dmj5rbqmOdcg4S! zrSV(36l{BoR?yhd%Nw5xDw&BH>8h{zXOZ=0_Dth9)|cuAYu3FpH+hnAmCTv2fb~jU ztEXO_-P~5`dbe$>o6y@o$$Zr4Cz6af{V?ZjE&QpkmIyP~BRRz*GNZ|zL3i4bKAz3t zY%}XDUhm(|KR72+L3QrLyXphzlZ$IR%*D9sIyd+Dc#a{KkE4TC+E+$ z>g&NGR8r1^t{8sVItSj(d$)d5Ht*yt?L`hw$=DBrCVuWxDg&x7CObh3TX zyYb#>6PGV?Ro>yG(rqi4u;!G}d#l+591@jJoqYSEzpJ6nYh~$XJ<_cJ+xM2~=Wff! zlUJ`9z4QItnOl2a(K$&{%QDhM>)ifr)i<(52bsp5V;W;6yQ|$Dwy0IRGdIj0+{Xtw^)zw^21zgsYEbo^p^VeZiRX?~~cq2ww zD?AS_^M|vU^{ZXPDdOUveUw##ZpYeP&|uTF7~$TNQ&cIpc*gO3lMdduD(a1~YWXZ%-m2?zdTh37y%9C({!+B)m? z?`N7E&S=anj@2CPc3gWbyI}J@64mf^@L6ZC;TR8Bg;a|}O?PPm(!0mkGfHYQRGRSA z$mN6hAlMeGvgh*6V6iv#d%ue;#cw$}-e_$#sqT?@A~Yd|jhvShvM@U;_LfGM*?p#g z)S~S6rCIyxhYY`aCUK-j?SsRO+{B~xuz`c1FP){ZuZ{=|IzAtfedX21ilJ+Vb7h&H zoGtI{+^6F$^?uWj=O!G1H342eB#Q`<3CH+zodQc1b;aRKY9u09(oeWGkf{2x6{n{r zr8B!u9p_NUJ3*5EuY!@Vfudl^s9a7{a@ofxL+y_@ zq(ptc0L--?tTpNwUOe zymIkHAP@O)LTGq5zsNbe$8Ws9Xzto~h#bmB>d>q=I+)`8Mbq-=m+Srh|BQTwrB6^d z$DQN%(zuCr`_2BAi<0^_O|;9KB#LfW@QJTlru=bvGV^IYdsC=KzuUph$09Q2tr$;k ztj3^^IqE)Ce$vwmEsD{w?vmpJ0+tM{Fj4N;a@ElB<5GMMF7UvaoJ zX=luZa_RRBLqUh{%y>XK5B5FH$)G>ujZ`r;7K>*3miSR}z43YKyK9Mj{M^(({7n?o zM>XtcEl%qZUv?2ZB+e$cv&+oLC^nOW7f#v2Ol3K}Z(oSSbTpGb`ADou#<4T2nn&Zh zAN6u<$?FgzH!=Fxs~FqplcbdB-yR#mNLCU)ORlEL@we)xlvj5a8+Vc4xjw&n!yuJD z-anvJX(Y|K?amd(u`W`j)mK+76H6l^nC1%F=Qw21Z72s^>KZ3eJwJ!eG*bBJHh0p# zF;n;=mgr(r1qvA^)Kt!ID<7pLEHCAzJr`!EH1Vtv0M1H@j%XzT9*V6oHR((}sTImx zKOnsKzuS}MCr|9NKfo<*emX6IumX0BnM83zlJOC9#$LYsx@1|pC>=&-R4Hwo?x=W~ zDxCN^MwvGAJwq@~6bPY?lY^_Gg;F!++8?51c-fN+yTIhn4g#gUHaMVOToA$kk+;Al zMft_oAIU=F!5=QIS$!b$)kpL4b$Fx)caYGlFT;T7ACmFt4ZP#o;Z{=7*Fu(_J{;F8 zbJ!`+eqt`*ewg2*lBa7sbN->NbjH6M5&FINPQmi>{SR&RZ`)62**bZbBrBF{1^zYo zBlyppwJFXR0fNyVo}|T(l8j1)rjpyy{NyxA#)B)56pgi`$x?Qsyd+ag zu3QU?-Go`3SPS$JWg*dbr(@Lx&0s+-C2FdbLewRjUJ8Car>9F=qyI;)k+Mmb839AN0e*MFq*4aMkPD=QtnjGo)om)A7bQL;^c~syzBE&)u}!?c z)fvNHsY9P0x^(Zj!&>kDcYN=Htu9`)M7gfQ0))SVBt;UQoSSNwx3MgFaq{!a>W7IH z!-{2Zd!bmvEgLrSkhsX!`3Br!u6#}79zQz8WzX-@59QREnQPQi{lcHNu53UphHwLz z2{{@=_c*R`TCYsGoL}_qna?l7j|qp0Cnq^nI@#TC9pG=*Gh5ClTsYUbdLz%O{`Ccs zDs8nPL}a>=a+s`c{1z`N(!-#Kow&3f42sSDdeX(avafOS)0>r6jJre0PhI zULU@g`0RCTd<ptSFs zpZc-N6!+mpNwz8m?eeRy@&YETAeKbl2A;joLoSdR{#H%{ z3p5U^{0PTKv&XaVZ11ZIh!AC4x$oT%t~6I-22gxFDp!1TkQR_ULApzE&bL5K6pi&q z9UY%OZ9#zb<_ga(%o6z6f=G zP=0#oQY?Yw8JrdvHYx+^;;D}xYY81?k&~$@>{y)e?hm$*=boIk)1i}wcc=Pn`~KP5 zL?wiQCpsyS=IW{{oY*!xzXU2Ypia~(Mq;0wFMBt+>0EqymSMRg+u>ZP3yl{Kb91yC z*^Iix3tttSh)7&hBo(eJ361=>Z|`D3KUY+2Xr|5bU3(&QzGbC@8B8`U2bSG=YL$#Y z?NX7(;kLKqs?hRXd1C)<(s2(dXAcl=z8>UR7N<9~1$dc+3? z?&8c`<9|4$8BfcNdLJAiGKQ=J~SmbZmc3qG-v>7?Q==Gd0QJ$y{gM_pX{bfduVEN~ER z<;|&vy2AWO@oO>MCSw8XUUypyJ)^-<_4?6xoM985o+c}qQ||IqD2DPn8+hmq%-GWs z`9wGa-iM?WylJ2$ze-uLT~+NtWdHI`u^9Q3MCM5$tl1A5MVfK%uF6V@XP+%B!cCnc zbGCVl+%v6j~;qJx?89!AkERbZHVsZ$bPL~JDV&h&DdTb$|f?r z@6WZ{6Bcq3td<*rXks00Bgj&uuaut`3JC}o!%HQNMm%yZetm?T+UfLSaNtkV?Wq-h z9Gt(*Ggt|L&qD-D30{RX8fCRU#rs3(LdU8#dvNdgU1Ui$8(&j0#q-y!#B^9^nGs1v zYhd?O-BI|VUNgdn&*_=p73poczv8aNIlHYQ-#@t@JnKrlnJa%pQt7-fdyXB?2!ot! zvi0`orSKWrwLuM+xbkHlPgPu=1S?^?p^Lh`jfx#n+#zo^Zb&_E@Oz2c^JlAl)7R(? zVuYub^A*1QWx(dmYU?QBgD*#~+-<&JTrx(Y{-@vTYNU1OEhCe-4~|tUV{^^6huTDt z=^+;9yA-YNe9)p?JRgFzuaEpMt|hX>PuaYf4@_7**{UB!reEHuziaxr^SvlTxF^Yf zfN(Z^Y46l}_QTYDHYJjzpkNic<+{uN9MhJ6POmKMDEpq(6v}*{%mrzwrF({U*({_k zsd!KeOFG|sw(6df`Za2mz5Yv2x1mjhi$3!zbD84nEDG193Ru^C)Bk3sc}sNth1Fm6 zSDXpExJj~c^@_S3-^`c|IJsiENc@b)9s!d!^*UE?pSr*4VJXY~^E2~pVm)UH?-krX zxF7X_o3qArHoZOUeu+#Gzc+-LKQ7tWd1rd%)n_X6bK%Ng<(S#@E=ZtxEH{@vxPX%S z-Pgk}`t_22nn#Q?K3%#gxo}NbIz@HI4N>v-1j+WDEI(PuY)isKZ0K|*k=gV_NY0;8 zOz3dAr1HT}1Il7qlE!IzCg-QUqGi7ipLqFd%jXl`uj0=%Tn*`bBG1Xkrk5%EVvBV9 z45{^umb>J*%eAU&510mG_#{aYHqMmjTsiG0t1++H+-l8fX5&qgyU*w~@zCpL-|W7> z>>nw(cTy!+v8p0uLte_^GkW+i^^ZOJNpJa5_&1#XDPywJ-)hd$L$pnu6!BZ|_|+dv zp_v86C6mGT*X{KDEJ8JAt?b@-S#H^!Th`llPluwxs?*->{&atV1WDt0_CMc95#&gf z3%x;GOFrDxpqP3}|El>tU-Z59Rk&pP%>uOJ@y0}|q-A7qGP96+kLECv$~J8XsPPrr zIw$Qab9W~7fpnxw8_CmRg*u*cV?zRci3aX_rEcLM0=SOhiygIjbe7Sl4A6j@kw?KcVE1y(M@t*u`ZtP z2>A%vVr!A0_MvByhh{>@aJ_8uFd)v>*g@r! zaqd*dcyr$UKmWa#y;3?_Sah#k+rER&nVx5GtX;2K<2Dvt99upkU*fK=q0Eqa7|cYn zCah)II(>NB^KF{2Mexi#SM+iQ`I43wlNKz}L*$(}j9SD*rXtl^_Wo`E|GT#0MpBNQ zc8c7~nWLu_d_(fh#kP4d?fqgv&a2Wp#1tX9&_KD7@?{%;#-H!uO`VT43tfj#?UpUf zZgb*^z_709*Fu!3%0Ox`N+NH`$Prs-rx z*QDdac<3JA+OlH=w-t1S>yKRA;j5k35|I+XHcWgF|3_}(Lf;LAt&O=e-Pf7_Devr$ zvK+T@KKk))=~zi)1)gRztJH}TS0@nit!k>g7?KIR>j(|H09|gcW^U=uf>NDjPS`3V zatSV=Si+FBPKG*_-yd*4ZBHPJBnCz8zqP7E2J61@npKDL%S}F zDd}gW!;)JjeFf(YRx+Dr#r2I$dc;3Fui~M}^|+A7&N_C3$_g6%Exbu?{L&g7!HVNr z<^gguL#6f(fvfKkZ#qLtH~>4!+(I+q)K6JHW1C_5?INq4i>t9lAU^CN6X_CHrqAmVRUwQdoRJA@UDJ`@=8^|F^3dqtWEUSLaZns-+x6h93Un6ByKeYDp zDYw16x43Z!xcD%>PT`U)x#5kq>r^85--tUt;9daQ7(t6GlM*IhC%Fyl~DoRG`4ivxl>e)yIQI zrDmU-nJ|_3EjO|Yy ztC8uO-+e|uXzU#;DsLK)$L@yJvGTDk?WVAgYMd-myA!%&r&>jVxaHGZksLoZ|GO36 zb*{cYb=-a*4ml5Z$w64KWcy6|ddvzb>s2YXXXVzsQ_UWr?Xi5r?Eka?K4)(HKA7@H z%l6nr?XX&KV7gej`V+T!a+6$sTs7;+@U>q(qEaX92Ld=Qv!0qdpZoc4`{e2Cayv3= z%07kt7dCp{iE=L2PgHhiZ`Gx*I5<2vYS&lAU0CjopTKaYo)+R2pC+r zWkS!Hx>w*KYg6EnSuu4<#@7Bwvum`IjZU#)ib`wQwXIZr2+P~6QaN+oDYOet4kc@g zJVdCE?yU)rx9FTN4p3TF5N`7ycswf9as2AdAAjEX****zl}S=*;gN<`9j#=K90X)PKu(_gSc2>VUD({+EutrEI zvKz-(U77L7gloX*8hpGlYo*TXOYz1?59{x->LFH&QDK-iUkTPC! zeMuKgY|BxzvO2I~|Glq=)I^l=i;9W?wZ}MOxgF(A*6^^3DM5Utg@eQAAHP;MS0+U@ zj{si~;M`v;TV9=!WG2U!Z*HRO(&$);gPO=BKhX(4joyymXU;-+PooI1HR7iFXss;a zx^OCzJG?yz5oYVL;p3Ex{jZd#%AJiPjC+jV~CzMX(5hvo7;Y^ly(=}J8~=EY$~AUc^!>* zLcdu!)ux@|j8Yd~(S^tI`%Hb!!-i9>Ge4&8`P_Xyl^Xsqua8U*JaDtDj3MarY<8T{S~#<3{9_IQ29)YKKRhev=)HNl~$LO=OBvhRDnN z``Z0l6D@a&8x3R#Z91^!iF|y^VVYXC`%!gQ!J8+E>hRZJe+IrE?rb3UdXT6ielOJ6 zxNVU+u(4nhKM2ZEOR`lvAg3(Ag=4E+;;Z~Lz`Drg3+_%=VbAv$b$hm6*tyY>CdzBS zu`5H>#@BQrRE960(|78A?%e@K?mT-49&s#4wux3kt{@N%VQGTwbOeQ@# ztTI(l>XG?&hGR#iyFp0_I}7tiJ|*m>#Xo;f+SlgFp%>^RBT$5n@d-I*MF(wFGkBut zB_(!uJJ>rj1wL|XYzTX-f8!Y%$uEos9!Pi9gs3AQri!T?v)aDO-0YEvz1mN}CYF>u znYfiEe=c|G-r!WZYs2idaNX+#-J@UgQmin=YybXv?Tua4P82W<@~*UZI4ty{v6%^U ze-@pNu?_wX+Ts%@-b@D|}@4wbQnJE3WRzAO4X@A<9xkr+_67`?MC+RymQ6J^VBzFYj zC>?k>m(Jdortmo%HVgzEFc+{*d;XHU)|sa{$<@|e;O5{J3qh_Z^wvMBid_mjEy>8+q_~g$LsCzf<6&0Ss}s*Ntk4MB z?)c(jPZ{=zix-NVE(S$RhjV2xT`c*+-C3323D`m-V7@U z{1p_W7`nA9)#fr;4?j=CBnMa93oVBQkE{^4Nz&VrV!?i=OwL42#5F$uR=Sy-rG-VV zoQVuSm63NV-H~QvXUC;_VRZ7;M^oqfI)<2|AI^tr@StuN&?!gM%3{CwrX|3}n&z+>I^ z|NpjAWR$E3rI0-;A{h~~rOc2~BqSn~jHv8Y$S6Wlh@^~&E@Y$-m8^thhiv|@PxtTp z_}`D~abH*Abe_lOINtksJ7Nd(N4AvQ&dg9JgiAA26kXCqZ(#iILaZ{`b;H=y zlq7vVer)8Zqf>c7uE^F1S#HLLvr;jiKgVQsVIr+1$71nRQWyJ{upf6Ga;z8k$yIJVfAjmZHJq%8*s~aW3V!vxELU_xudDarlA!Ec=Vc*BAZkx+lu4{G z?$eA}o-C?o#suVh`@@{3yfDeIe8LVN)q`{l6CxrQ==VI!%e!-IcV3>Oz5SySr5N=r zLwZhAYiNDTa((tXV)c=8{?Ya7quXv{|8z5xNgBnlsQ%`nAUh)b%G~H1Jy{n!1C8wi zhv%Z*k7{J7qxaZsTL|?v(th~bqFFAAk~6!r{Dt|B$ETeJ+YgRAUNbC_HFndjDyF&H zKqr2Xfv@+?4y>zdLwE_E=X+?HSzZoS1X<-v2a#*-!oPLw>pFWSuA@V5SruY|LhT|{!WS!bja&FV8Q zal44@Rl1QWF?S);Mw>;pwmG)H6!$BsRLE#AmAC68^O1_=AG;3I@u%dx&DoJYYMY@) zn3eK^I(-Ayy~8^&rK}JdZr)r|%wZ=J(khiCG; z60$`m+26x4NYC(fi%?3)`7q>d*hW_AEd^nul zEx+Y(*=uLjzGXXPJgZLEIieeOs0Tg>Jue$qAUktgGmeUW|Cs$iE+wbVT_bbemL{9< z?3)aZ4l@Temro2@@CAQ;brZftrXGw}uOq|y=N~XgI^^X+k)mIS{-$aOvsPT(dx1)w zcC16300Nen>`J$yJC4K?k)C16O$e0XagoPc^b5SPy0i95P3yXa{lH#YGdb>;k|OTg z=z^FT!^B$lvxNtWqI4G@IJE7|0-S5w0$!`gA!>+k?O?X(uION~;M^~&Sc^fP^x_ve zbSo55^pZm!htp7M4`Ht8P0z^4(7Ou*g6kg-4Z4a^_`XHg(%gJP5N>3C*`N6`jusTUh z=0+q)^FgrRwX9B>MN}v|VR&TZn+xy^io2M6hCAM4ab#P^7lQ6dWs4p?YR#%{)jjy( zQG%g1C>8u9ipCm=B%`|-8BE06n#t-;1cw5Dnkz#{=*i+5#8)$PkYNwhKhJR5i9(6Z z>Q{=;9el7E=jPT{-O-S{0(2?j`~vt&V%aTRmAS@~T5-78({3VpF-U4p{E*yGfOXSM zJ`ZD9_xNY8w4qlJa7yrwU`Du(H`rn^Q1&Rn!QMVen%?g{rf(Y?$v9ukBuGa$P)ZxJ zirJqj>>l>`oRBRelG{PIM-blxtQ!_s{?qpTr(^V*@Uv9B$~XPR8$lEq|z(M#KlVi!pTK==mwJQ(Cf?8@gKvZ^GVDp3Y zQgN^7wIQ+HZ|19Kwr5+d6wvZ`ZRu`!f%6M}B_;fM$Zl1>Gfh=tISdoj_FfX_np_Uv z&v7c>?`Q7y`$~WN(U!GG&5!OK^X}5m%yOg-=Cm?SyP_cDtl#Er#%tH|BQs|~s@~|} z!4lab_9gAZ$vu-Ja*UNng?HW;rVNwFmUXa`iDb1O32pGqW>Hn9nVv}y`<^hX=*A!X zh1dOd&V|7P4w*u*X_~E8c4PLAzM}Lc(hegd#R-lM2d)0O=z%kVRbO0QdUl;QcC>w@ z*w*86FviS9obp_tnfYNqa^6(4l$#7Gu5}K=_hwaSJ{*t?NwA>P;hdLWaF zlzpl#rf=;Dd7NiHT`%w9`MIF4N~g%Vo0*ee;2Im5$8?Ze*);uCOVvvz9!(2Y$1}RO zMe*zGbu>s>P*>3qJM{LTr6Y%ibaKd>CiA_UD$zd7xQG zCnD8QH^kS284i9hYqmN4-}AV=@mgQbJBtM$;o6#D#xQ)LNwobIS<#KV;wzu1*gigW zC~Be3Le>f)fb)Z)jqNvuD2tXU98Yx>8wi13q@I4%!_(}2>eC#xju!?(_Ijr}9_Hhe)U2)&skQKvo>s?!Df|;${s>TkpZV5DQ$&@|s!Yp%^2=2=ZEV^~Oy-XM9 zd=%NHm18(V2j`YW&+w(>1d1vs^!%WvSk0j0?}EEnzkXDXm&npjo<1F(N!sY}M0z#0 zxVl&C&($jKHp3>CdeYv3D~J9`9n{1o4`1$~;}>Xs82srx>r;td4FNuGMzxJ6o(d5+ z5N%1%)aUHsU{HN}T|2{0EV*Os#T%iClin4*UW<#LsSZ9eZRW5mqNicoCTbs()?iLU zcii6W;OU1(nd65A_68!NaDbipF`VPX<#H4TnN8x5iHWVX?Wt3D|7+GYWc?y}9>M8r zL^8~03!JhAl67zw(S!RQ)E3jO=0eDvnJWB%n5rf?Cl^1!FtfSAhnbt1A-gF>%8SfY zD~>8WXbc%{8ueL{16XmLsTdEYATpiGSXCQs@jSS6_uhn{b3TRovIgnd_sX-~{e@kbho=*K70X3)r-d9j zUXasmqSnEDX%b0N% zZ2VqNeUtT(<;EJL(?Dvap}j7x{{hqm{cR&^P6>RE`B%PcVEVFr|Ld5jnw_(N4r$hN zr!vWQOy7g(3oz7E6W=X$X(fYdJh>+oep@E_ab?km zRrAxli)nZ{mjI|l&^>%B{9q(R%ikCehZUaTflO`9@u_388>VG=?!oD>q zjmi3@+gnO&{ntX3-t_zlk~-qI_^OZpdzV=ccSa077IH`F*vM_-H5?|iuO5w5s*)B=L2G*ddrmZtBC15$y8i776?qb$K@iV@pwxFnF*~OI9nlHS zdgXqLPjIJC4quS0;q{c!j!+(N2`h)F@LEJr^wD*&FWZd!}2~{zM&hsa~x- zQnGQrk#6EP%TIgif6WOojy(y?CNhk7-*MFWYyA5WRU4Y@laVLyU0;gh9}l`;xbmZS zU`n4ZyQL;xh2^KfvGWsKh=azIur1(N+VV(W8g1=WrJkWfY2TjLI7rq$H2znnj}nQ% z+-4Mm)j<+}ka6*{`8J)kKt4fX4x&-8UG)$L|Iect_pU$h(HCCc(6s;BpiYd+YY6=- zLSG8;h>&_aIlh!TTI{=UxpcC9YNfj3+k!yE0lxqEaDJE~h*k(4IX%Dlj3fZ!Du=8t{P_(fq$2igs%cK#{v#ES9E3Oa&^c4%t|M$uHZE6E9WmLK` zgvou*ZZu_k3Z?WW+6nUDKC zS6#W@>6W`SnrAtRnY0}rd^ymM3Qe+14w@|1MXo)Xb85^Xh@DaFtT%OaE$DT1BTk)% zsLkPr{x%KYu1WO0mEE>-U7{m#SM(cwxm^kusGOqyZNVJU-jE!5^%$w|skiua({Qa0 zWuN+_y20}k<-`fRv2l9qX~{^Eo&tZKrIpKhX*X}X{s_F^?|bkZF9)%x3h$D-#n(y} zRyXK*Sn4IMiXN8`hUm=BF)pTe9setM`ysofzlfW+jMZ^iXxZbE-o*2Z(6nrJKdZAn zNY-mcM}85C$;scXw{?F{K+fLsOb_%Agn9XK%=!brwl`)K`dvA>tiidlH*q8m>jylAF+3L z3h_s<^xDwa{UYJ-bRa7OiVW_6WA?$Wn_4AiJJp^Lqk_7vGT+n6wfopE7A%!aw?L>N zq3!`0mD8PnU0SSc)ZV;2aE+C_z3P*M?m#j1p1_mmA~*ROZ>!C+UzjZ_@hYn?z$ZHO z|NlUOQJv(kPrrC9y_946ceH%WetOF2lnBNIq-Z!*QpC?^5DOo~eS%7*@%?-L5XpLf zrHod`3;#Cuj|bfPNpBf==2l=!XctMuVv#&1wD!e^FyC+0xTN&2!>r3R56An*kG$`S zoCx7ZiGNy%X5)JXyLY&LpekScaOXd3g|CqK3Dea0p4KjerJiH(*XFx@`6(>AzmoL= zM?VSwdqG&ef`244%Q#pk1%olZl$xO)DZWNshBd<5~UelC&` z`|+ne*}lIiA6Q$3@-!#JB6bNy?JCe*s?#C>Jqsjiagbv*yv zM9><8OIp31L2N&hrQK<)$j@#y;fD!_C)a}Q%D+qhU^TI$*o3y1q$5X*4TBM-fJqi# zL*M90Uj8RctTqugugHS9)ns)$ysDmGfRU%DPbwH6i*p|_4r112h&~$(WY2)%t9?HTw`ROc zaX()1y#G(Hb!4gW(7VOsBUEn!gE^yyocpNiBwMzzs`H0v#(93jx6;_9xPHIBEZof?e(T+VKh+o3BBauXKFGHo*ZlqD&0Et;4$>SZ!g~d6 zhC`)toW4nzzpFX0_YvpAJZCer!6-azHg^h`KVFK;c-pRe3?vHY6rx zP;w@HbM)w@JTzsX9USMpyLH_o>b>_v->r0gPfCC5i8(d$ba+|a9X_@@R%f4sS(mKt z-C=}OngXoqpJc_7b!r2^*f3Okl?>q~4lodDdHt20j*Mm@S|XVN@2SRg1Z_leUJveb zr&ep}CH&_<9e@AntwvQfwMvQtvCms~knYI%DQOGO&$7w1c&^L(GcqoC8eTrI*&!K` zkj1I}RXdjyZ96DBjmgAU){cekmtum z`=i{9b+Vr+=E5^^l#YBGokQOgQloj!&!Wgio_lp~a@rld|Lnno8%B9fDSRY}s`>U{ zCM6EWuxApJ9`T7l5>WSeVze|QZy?@N1)+~P0To@F zWQZ+|VfbTj2weF!-0%KZ_K>OnSMo=BI8(?-d;4uXs2Lx{1S3P%;I}qcuKa~G3`7gZ zqu4yHMz5Y>{SWVY6RJ+&A|PWcFX&#G98sp&Sd2W>XNtSL&>ti5KQuUx?E$SaXNb{c zdqVVK>_^h?Hw~gI{pLSHg`OWe&P5G-rg?d<)v>d6b(=Oe&!Kik+^rs#2pEGHfRm}4 z{Uy5b{GFk1FMWsJ5L64iM$^0<&z;-M+_GIY^V507U5Adamo}p_?_0P0;e6-Z*8(bi z*QO#Qa1vf9D*XjM= zj?>Wb{phR2R8_@O$H~@@>KNBx#2x{6HsEZOkREl=Xl=Y1~ZBkfO{tbFX?W z`{`2*rMxd@sIq8ssua3YUNByc%jj48u8uDIzd>6Jx=?7P&ndd;3ENIxEcuFNc#f0f z0h^70dd_nY(drxX3{v7|6pVilDpNoDYO8?}&mo_Q>((h=r&xhTa_3(BkKG#NbT=qx zKq_PmyABWCHmw>3E(j@+W$-mz!X~wNiS7``mXoY|nMu&Cvcui_@`3<}cY61Fbzg2f z(p`GtbktCv-*gpTUex?WT-26mI+Z*hvng7bmsFgtIUWGUsG-4|u;t8p%?42h$ zLf_8$L*A7Tx@6#N2T?~=6Mv*;x0J*t6gJLbM%IyAHz;X*v}XSa-J`0{D8{?CurWD% zH4LObHldjRcHro{>)i6QgbzsJ{b)fbhuvg9bAwebhz}CpfJJ^D_P`N~Vcy;B(OT%v zeXisyG+TUd+x`Cd=Eu*v>55k&)W&pVJ|4RX4;{|AWL0^88;U zbwkgJUWoX4L#8s__xBTM+oNnElsbB~u-mWO%6sA0C(6TE0FZs9A=5WrP$3TG7O1U5 zWs*((dCqpLZm)aI4rM)FR=konHOc4Fo&LU(sGO;Vnh&*#CcA7S2Mbk{fzs&2drpMq zCmm_BDxbMb3(A}m9o(DSyH9;L3yQ^tw-ohHXnAWjWgojNf3g4C+`{K>9d@6yC0_|C zwQvq-1tt6RT=dvI;wiUP)$0J~38BgwV^x0E+KDCkDD*8QBY-;wGC(!qSnGNESCn@$ z73W%HGW`F%hhX>xueA~7qLC#V2o`NFH5>&E>n>^`9QDv1{0KA@M>!#8?N9z{{*J6L zjyh_S!h}=PbM>^+-xsggW_{_u9S{kF*4HhfS6(%u@O`&g8XqZ6z-#LJGH8H1)ML4I zWlcrcbeKbIB!4aV+WKb1$E%TMm;Irwh%Wg^DMMY+R~IO2T*cOc>JZ>>yy}L|8ozw1 z&PZy>9DF;zurb8DS+o&}?~$rwlZ*2E8GC%7zp(O86X>vn5CB%Z?@G@_?8|%0iO?uc z+Pv$q{H&}`T0tRdC{^zq&@tWP*{G20s*{99i>s@+UCZPZnR*B~R-KU`s^JZT?ltU( z@EC3DXtd%yt;%{P4W#Fj(Bp9+rY(%-#% z_xgRupUucYlSkmrk6SEz9{5Ub(U#|Dq6xl}S>t}w=(oGv1IB^kLk>kgHXIs4tU=|k zd#B1{Z;TZ2vu+tH7bmGYI__KYl!QcQ?El-?H$erM!>8an;LQ3|hR|g4?z?(UlA{v3 zT%a_k-n(~B9OEdtdB0%>dHp7&I@rmswSnZJw6SCtR(EMQ@pS#!=jIPr58fA3P_Quh z3=vj>{9|H58pNSpgi_uWn3cEtZo;ep9B{_#vk8vB4;}*u6#k#o*_~4A=lr3T1f3p< ziiu)q6eQL0-D@76^|ASnk97;AIn9}=k|xzMe$V>g)$q#dB(qoU{7V!MTyeDktA|JS zWLQbkHi9l_X|Y;gVP^6KtgAtSjv$SLImmBmCwTqbXP@ylzgF9FXAlHlXM?Xvm1xw(K#q_kWzfiJl!eTQ3% z@4#DOJS`UWS-`53pb31TunJXu5W%ZA*QY_jQ0;AhrU$~=@axg^iq)wKTww6;&^=_P zc)^{!5`Tu@ng)%DUx1qtLVuHiw7Y!%ycay6JGbobzSy#!y7l|>+k6c>?~8c}Fb1V^ zD>uv+2CNf;AjGJxV_8oItOS}Zhx&Z72;DH9Er?V)##}yS{s&ciLT?SmtP?-btYOV_|p=RLs~xp&4_*wdEnR;H^ z)$1=IO*%4KUT`7BvE(ayV%+SRPUgE~`9h#ut`*nvhN-+3D)pCFtMc+@ef*)@hZago z&LwVeZ@lnaMeb0HvmLxY8FxZFkY_7CE;|*uA`8N+q(g4$0$Pe~klV>%Zhv{vLPqbS zYZ-X1f&r(jheI4+4IjEc7dZPI{#5}6bt^VyD;PHb~T~5cXo*6=%s0s#y;nF z^LT%^UFo(xHRkael6P}u)$5VW9!S8xn4QSHzJwRe2Ai>G_|)9J;FYdOCsT$4L?EmgD0r+1(6n@sncT81kXe>D&U zaaw&qD1=28t7g_;UL(I>!xERIu-=!RmLV!qD3>+bHnb~!2v1_{x8xu9AFPQ2OKTmM zzZF#d_`}lcw+0&Jf-fP$GZcBKwoOMM-c8hZyEOeofAuB-fU>4-rihVdw%m`SF9(Gv zSO(e;JZM8=t=^Ygh!zq%Z({{m%9Rg(Pre1~ld6;t?-oaHqP zRm;cLC=m3CL;e0Tl{Gw!4cH)B_BWLY-r$67>bYq znB)34r(85xRSRkT_7+r3l^@-hjm8@<$;+F;v<`Rz*0>s)k)coG#PPsz5FI~b*ie+h z)Dj3RKx9nLEw_Bva(`_jDTh!Rh#2VQs~WP_N%H+bmIW~w7pQmvbBNeE;yGwmm!Qh^ z-X7l?JJTVn+XH~%)zLKC(snOG=e&BM%OXENAIHq2%j{e)Vk=@EtP-dqym_PvKdTn| zWP%xGb?<{I1fNHMWP!DSt-)XiRB*u7o+S?P5x;{W7F&X5x-8s!Jv($Wg_Qn&vBM$5 z++)zrSBUrjtqNQN)8!*L=ZRwM}ly zOFg!8g%&u69#TuW(($C@OwZ+x?A#ZPvo-4P4G(P*HUD<8{ay37b-O2d<1Rk^Yg0TW zoc!GD@?ny8I(qwn_P z!+E=nGo>^LF~|W*CU-@B5;B|e0=18OPWBDDS3)`z^2C+NV(-TnYKz8VkMAP4CTp96 zSmuY8mdc6ZW(+yBBUHXx)n}}Kr1Zs$lV~hO8J;?oleeFWgsA0S^MZ)Q4%BMeB_H%d zvkRKD*9PJdKLQ;y1_;i=>Ut4R)jsAPYQ{xiT@Y&(jWEhZ4HZ=VHP`Kc4j^=Qi*SPj z$Y!$IS;!;5!C&b?;}`b4bmd2a#jn=&Nk_r^Q-Wwa#>Psy^(l^D{0$YW5QhN1UD1%Y z!$&A=Yi?eJ1<{D&ehq0!$o>)9`AkYnHoy};ZNI;QX1RxK*e28z5eRl8Ho$L8He-6Y z9r5WoS+3s7t0k`s$yLQt^$4ao@xyqH`?uG{5eeY3&hacmjxU`Uh(!$m3P5l0(<5OY zGd?8C&>l83G1;r-i$}dfJsEn7pw*)#DWC<%G1*-R2hs7swdkx$l!m<5uaAS#0c(3$ z<-lqL4eAUynLt3SEDc55n*OQZ=_YDgWP{C(`0)b1KW+#H!EsZP=?2%W{)5}fw&BJGasy+6? zb)*x31-%9q`U^do%oPGCb*17OR1`t|JTjkyX3IR47}Pl)*ZOY> z-9beHO2*6%cg4jA!g#MgJ}~^DxtYMSAfo*X^b6QW!$>gR%(tHqgh2nb70>&vYz#Eu z9#i(p&QFi*TZ53X<>l4`McI0+>T@lzu-tHhmp{mlVuyvjBJ-G6v@*NfCO?X^&V6Nm zNkFv`2}0capLr(v_$KblR1}NnAjXG@KsXFX(~yGkOd-gFZ>5;Ep|_XhSVIx*E5Z$h z>B^2ZEAEEU^PkQ_{9f3NojZWEgN@1-X*{;jC>{hNtUB25rsB1C+x4M^k8^UIRbA#| z+xUXg%C9U`QmmlajZdQ|d~N($8K%t%-B%<9DX}bixpSyaNakOf*d-lgO0=<^3Y5Kl z>b4$2!2nE=t`;3i3(Cw-zu-{^;&B|rtjbyMehq#*09`@}#3@i1mgA1HmtIE2i3zm% z^6`Szzddde<-an)SppAm9O3dfP96Xvdz*{LNH;JLmshl9t1$**)eXTf$K3cz33327 zc6Ru}Z7&&X-;n8c0DWzJ>J)}!J+1lyYY@5vA>iBu*RRFHhy}r%8qbPWGM9OHsr8lj zt$4f&_WxnD^IEXRFq)W80AlCCMBCo4lhwbm>)XSfF+*k5DvMwxBtN2>a z>F4JK*uvi`he)awotv3#NR>WcLn$$tCaHLJc=;KO16?VIj7zYvaMR9H%6SXDm zqE6W86sFkGW#kHbc15dc{KE7X{J;!4Y6y1qv8@LdH`b>Eaubx6f5yjZQtdKEiH0s+ z4_$ZS2;h&g#kbhiM@Vg_t!X4b zJpMn#!+mCeQp;;=Rc{TB%87F`uC8xDOw*pYer>z8#<2uq=vPo98u5C2oJ^Rhu>5x( zm>EZx27)m_J9Bzzhg;>W1~eFL1$j>H3>tZm)za2>npK@S1mDHZ#s;JVN2UD8sbi1x zUVpLS2$g?B!G0r|oot&1POLW|*x(>20*!}gSWqX4Y$tQewcSuY1CPY5e;1poQ1*27 zCTQUG>g-lj`RpUwp=18?FQYkBME`|4Zm{Bg>CqvBIKy%+Mc}@8UrV*pdsU z?7(AcJF@s4g>NFk#vxckrP2xN{>a4fTP;eR)k#hOV5S_nfU9?GV&#)Bdq79Kj6?$r z7Sw1Ju|$e(M;AJciOdRUdrY55UMD8=35CwKwlG&O*o9ru=MX)NWD}y&4LsgZkMA0t zOXe+rDsMv+k6vzk&3g*PjO1h@Yk<k;f)E=+KmacGZbYj%Y#n0^R5z zi>tO-`}p5EmY@tVxw`*=R)SpS<+I~2bL}||r5<9k9&>xI*XbUHIPIOCaC?(~MSJ6s z_R()=4!qE(4?DIscvkTcB>4-wiMo4B#!>6LJ5&bf_{(kG69}>KJDCiKT~g&nVyWQk zB&ye><+%jkbNE5)wWOp3%dORMq8PXQRhWsbX|B&nyInKBmfJLAz#~P|Xv)qa(#}gJ zwm&L)-(LW1{Wq3JZU6IwcrRjE-F@+rWusS7;@lZ(Xk-)@8%u6%J;T=-*@6C#HyFfK-`tQN6BV3N)LmA7ISqJ}3li zuJ$9D*m~O!@S>yeOGHS+Z54LtV&2rz-xN&G@qv{x-2OFGa1}#a_>qikg$Kud71u_1 zIFu<-6UG@w49&)PU-G!?FKXrgS3aj+iAJnquhn#Ojz);K3|b{oT@gea2X1|r*`vW$V)r! zgEAeh1Uc$q}0hk&>(pi&N$hk}6 z&TgtE6}uBxn{FgC+Q7w2t`|Ih>@)ixJCS$Fq;7C*P-(>ly&XtAeTHso#Pbq4qQq-( zF)eNUQ|oEoeaisQp*}-h{{_|}9bp})jmc8MAu%xbZ>J8bHsTp<5qJ5*PIl=kkqjaj zV0<3-C{(J}rrxpS2y#s5m6v{XaZDzYGb463=w^zDL}0O9u(t}viwO$EYsi*+v8$q* z;)m3mNOD1mx$#gP*#W|Sles%NM$928z2|#}$Sz~IztFys$Mnn@SDHU8s$g=?AZ6MT6qAwB7M0HDgOnS- zkEpz$*O4rLIj4V`UEQ$TE4tzGWN9}_r;GR9-pFsR&Eb?O00x7$3GbDzYcp?Y0W;jo z>W2V`0h-h}%sBTqRp{(+sc2TQ8n7c()V!1BE}cbY#-}`m=#_xY!P+v^y+W{fJd(@A z`;lDgJ@kt~V=*x?v}E?II93{=jE_jY=}7U4%jGxkTG|)oQ<~*XN*r3>6bXbwJ*}F-D}Y(#XVwLrs}`&$~ml8Vnxu?slmH zxU0R?Xk$|aJ>tUd9^~ZV!rsp)KVM*6C$E#lJwHBDj9@mKSCvgl&P`Q*bU@CzC+&^r znw#8iBOGeGhVIts^{R= zqgv+@XnNulib5+wZSboO{M=dKCnBJQ@~9g+ExqzG92Eju=zrV@jyd(z^zGalqGAGr z1^Xq4$-PQLn>_&Ba7&#HsT+)Oke87`yP7Ca!J^7`3zC`Ly(eMKSao#m4#Gxc2C9}C zy}nJwshR=;P^x%w6! z)5|wjn?wqUVii6T@3ncB#sTI)DDtqVBHEC#skwo-kIhKDIcjR^kQfw^B9ZMsctCdL zJ}5#AI}b9y);ECb>spyGVett+lvY~6zEp>L3~q1=&%h9~Mr1e^!K4si&PNIUm_ z>*5;Uj$mp6rP+ex}66Ktt z_1uGfx*hle*>V2bQj{m~kO{EgM>Qs?dSKs)W*rJ9C_1YOJZyEW7zm=L0qEVDpbtdQ zw8+pm{SCPO*(3`dPfUGXK7!YXQ%Y4m&_6(6W2SaGUrqY>!tA}&_9vx1HX&J^CyC1S zC==KG_mZ~B#J2Cn`cksXpEpl!%zV-bz1fxo+zw-$b3MK3_;U5qZ zZf-1A8yuNCMq|j@ny|IHfR4X$mJbD!#6%X=Z!a&7FRo%$w>DflFf%S(XCW7LAKn6f za;kh>e7rE2WfJKs0!0)h=diBMiI_o`<3xhb=mQmc*gRkWf57pB$x9RimT-bF^$MVAk_Y+bX`5Z{ zNf{Z|=H|{~;58h5_1~byK+!8SLur_HF|Y&$@hRW>p0P2XYpybVgHy(h#uyhQ0dPb$ zt2KiDF`Z{qG)xwZQnJSf269itBumwstJOz0m)o$k$~bvM@d;>k7?a|h2C69&Jv~Ny zURlatG+Vh6pjnlpMgfnMh+Lg0%2&QG(#J4%SLD>ggsGk~2|!P2La;Za>XGVdMYe7l z_{edK3kw6J6j&EQbRqzG#+~NH631@q&3LsKJ7Om3(d)D2<%9kyDaI=GUyzYyTpdZq zrEqj9Jh>*g!pS+M}QVLx^#F#}c3q6Qy24v!AG~ zY2A3x?fKdg-x2(x++9eSj~Sa9eGLno&9Z>a4If1%w98O=xIgp?^`Gw^&0=^Rh0)Z@ z1aSlzBR)u}TmKncXWo%~^#*RxHhz*T2Se;a%0Xleb&^C2&e9UqrbB9nch5A%XT4n` z%68a1CrzGx4(JXUy{c~LT0WKoC;p#K3+1Z3d{o8nynGTrk-(sZ4j=l)tzYSKB#)jQ zF0C?Ck)~xArJPfy7KX)r=bm|uA3e?bHR97v+P6Z2M!_#RhbMiL-|gHe`tx@sZWoVY zh?IxtJX!DB#Av$0c*~iLfY%BYt-L>zGJpO27+d_rcxtlqd9Xa=jZ1CtlWh~9Wkj0U z!%xc8Q>pmF+X7F0Zi*^!3jznGg!Ym)rJY^Q9Cof{exM2=06EMk8dI-o@)?G~R2_G- ztwAFx7)MRMj_Igu^cq=bxNU#r39e`lz-VSXv^x{_NxWNiv0|m*roKNT_p>z8B!UOr=~Xu#I@zC073htAir& zX=7uFnMZ5aH^E|oxd*eM2FWD`9L}eVEcgPeb`Xm8s19nz$-@2Oa=rB=;|&S)V5^XT zaW`B;j(WX%6EXdQkD@_9iRpR%fpj_lr6SR0^y;D-hOiGWA5KG3gOUKjFU)N$lSB z#h53TV5;F2xjHLPEuJ%fVYY;KKF+p;(hAxso7i8E7vzswr_^oxGNMenir}7(KT9KW zcL-tPK^}l}OFeke94T_k!vp~>=s_uA>8v+bPOIK(b=(Pqj|5>EV2mhE8I5kQnUWjv zwVo*$z9c8wfR)RjaPqs}?P^qx*A)10baV4-#Z-|{L1}>F%jcr>C#LyGcZ^tf-nw;G z-OylSADhc_To{jhY-ksK8vmcQZ70W`QxlIlo<61`S3k*`ty$Py?2?>39epTO;VZT5 z@>FYURdWBFK$|q-z%G4|cU!Nj0!<++E2|nj-_X!dEJ-wnRBd11E`d+D8VAZ>S7&F< z-MXP!RJmliT2UMT2>bRb3yBI#%TQ-oaitZcwuT`@je8UoEwha{xwyVT39qLIeb?R6 z(%Zfpv#MY9^UHno$gvD2mw$rek z?#L5%@~aC~d}qLS%l-F}uxh0uSJ7Ba5K?&+efSc!(JcXhCa;6xT|Y*>ckbLNAt6Dk zS0O<{1ELo}^sHsHKbW$O%*@T3rf6Nr<=Q#+xuNfepbxb`%z+WbO8g7A*FV0$;Ov~B z?SKFsAMM|mA@+ux-RsvJ*BiY*2DI-};~0<=HDeCJ@1Gfl8U(mP$ayQ*inFK!jXWXUVf zF(V*a!0EfeGl+-PhgCsW)6&Wcz|leDtFXz)a;s6aSGu<1&PL7{z}4qQ|1tT*<4dQ4 z-*25xOJZB7stR=93>r+#u}cVI9RwHbUG40K zFwBzo`8SF$z)sRH#lJA0#L3&S@VqF1P4Da7@s}cS{PhYf%eX>x)9OT!Fj{moyYP&|7c{4$=W}h_qZy#?GGzk@4c@q`p$VG;1fOG znpqA)hvj$1k1kopO=0K~T)uo6fL@FX!NqXx+}YjT4akv#kPsXJgChzkKp!0+=soBiyezklqW%8?&elAeCOfPonID3)@Cdl=UDXad_9xLKK(_ZtrryB8x{p$^;2^iP}+5fx2n z9^Q5v5W4>w8fZxdsOm1F4;v={IFoB%WpY}YSfVz#Qv$48Kr*`W>m&cmu4Bx{Fyd?= z6q5M*(W9UEKrVt}0xo+(9@JrINb%YVE2}C8lUAI^>+k*jMc)h$qg4B*?r*$*aO~5Mg#_`V8#%j zYxn(IJt;QJii(Jt0uHpvizT-TZhrfW+LLBcY)*DLFu_LoMaMv$JU0C>}ZDMN@>cC#qhf><$4#5Jk4v0h`xvsy_D^)&>I*F$b8n zGP`%5MT!V^sn|H9zf!f91C$owQ@a-EyF%Vz$#E%M=by$7iJLaiq$$i?d{RT z96`c{($Z%P`u(F{$Hm0h;51ErmyfYvR>hhfMJfr<9$=TqB3$h3U~B?_kA(yc&g}<* zhQYRXs~5>veC0lw=Eq;7x_{JS!~gyZwK6iRQHwqDca=On9B$V)Wwd@}`4V_J^pL=iV6!SA96bbH4K!qfD|K&A}9-> zk^^~hY&dUZ*TA|U%0Y-fh7Aadi1LFw=vD0O>>(fVuwgmTwmtKz!srR?_{7=3BCVqV z8wd+L!hzFCZJ6gw2T*Z-wI1PJbCQu!(YFQ)?=wH$d&_4!$^(Ge<#c+DT6VFSKrV8 z{*>2rUs}~4l(2CqQAh|04UOVDuti^l`3F52dAf_dkOkEERnmH7xj;AKq%sW{&XSiSQiy>vYyMP1_ni_V8afpQUzLydwY3B z-nk=v@SwPe2pYgXC`J zW-m20HGhB1P|E+*%>VowVIsCfYnlSP^xbKs_jvqx+cOVfx6@#H&<}_I{&_OCpZc17 zyzTJ4z|jb&r!T_PXa)}T#RBcz>AZks5%fH04Yi*T$0X_gL~-*MnpvM%+1SiYO|i#O zF}c;69?X^e8}wn$(A$xb05DQ*(N{c~lH(x#6@v(px%ysS3q z+F95|*N{FUHMoD+E3d5VkiR?`9vzV2@Hl73cWK2rmvT{<%p6yb6R=E7OVc$xiG@_Q zmXwhRzH000%2@IGgM|Yz-@4_dDmqqY&(6azCZ>l5OBFAe4%)at;TY8>U48wA#Ap<7iqLY#cSv&I_>K|? z7=)kE0L5~Fn|DE$3jj^Ld6cI5J}+b>-;mXf=9H=L?Op#Lq7pN!$el4F_Z2Wxm4U&1 zd|^koPG@j91NHUFbYDD#&um7^{g?mXkaKf$Bj_3d1-XA5K|GAm1Jip^YP-m^8(|bM zG7P%7rsl0DPn_acx4Jko*RpQkZfs~M<=iP`!*16RTuNpdWc#hZ%I}bpQeR7p3$X7m zU%oUos99`nYC7yY|JeN520G;E3;uU=z+-8g@?|^j_h7P`yF91A1prU1K0+oy`34w{ zN75*8Kdc*_oBQ(zDIvNm2OOGMp&}@DBvISJ#)j;n_r87mCX(vl2hf;#YEj1MimJ%f z!CLC1OF;4R@!6n<=)(b4CgxFC)ghyYvPfG`j~@n2VY&gYgPIAbYZxBlMv$s1bmYi2 z#J!+BBOXDh=dZ*oIFqH3Nx-+^(`l%wk-OmF1Hr~yQr?!_Z2`JIu9n?($@ zM`LcZ73M#a_gU%Fe-bL7Vp_Vh)9ucu(xl{PR+b~zHkJ`N{Tv?;S5PCp{;G9M^^9)X zT|rspt?Hqwr*}ouitk;U)?^k?%NN!#+AsJ_=NReI1@^E_#epGzG(6#OYErte^RVCC zkR#zAd~RiJUqo<3+wat=sGWxxO%=a5%ZG@AT0p)oH~;jrGnjo~_{seyXYPS!HkC1l z<98&>mMC^zxIiyLHbpKG{8*|cN$dq*2;VPZWNfK-#>U2A5Rw`xi|J+zaKuXxc!T@f z*r*v05CHZl><4;$*t5`C@$>V;pf&fl+n9^t+_j7GsR)VxwPoKEV?j;hvqLEC0G|8q zf^g3RGiz(!?b|z0=SKH?C>VC17}kefA<*J(>o{y^Tf?!akdPn|1l1p0xc@`i8W9EiNAPjAOJhTEn0gcF*BGozA5QuA^?<0(QI_ z8H1{7?Q^>ZW>pmQOpEQ`Bf)l0qC3fR7!&izgV7@PLjr(@u{hRo4kfq;f2VuO^!F#8 zW#{>nq^ECq67Eu0M@I<*Y?$Z0;WdC^dlbEevgq> z9M0}A;G38)I1%>!W4vvl(7A|wY5NZo)HsT7wy=J_d3a{~c$rgk|fjm^+jF~T=KcB^H zkHHXYrjRp+&JP?o0Ia7b(f~k?@iok-PEJg?ujqmii)WI5>KO`WCAiNJ@(~O0K(%di z^_j=Oj2l&lslOb4n2(Qa_gN&PUpsV#ShrDKLZpsI*koT^US5s}6OAVNeLOnbnGY2L zRFC-q$cQ!Hlc+OOJpN!5_xYeZe=9TWD(yb`NDWG<<$;6_=Tg%Vnl`dyWE6FhNq+&R zN45!+GmYJ=>+8Ojmfz7u;Qt{G1B2lu$Znt^{!Vog(~-|Gi6|;+U?&=voXq)a2S!uM zo6P4j1`_9rsbfn4r|zz1sq2NCA_HL(uW0$jwnq7owjk_yaA(wy)e3R=eR zM-&w9^WDN4*7TrGj+hSdSh?>)p7}FZk9;WZwWT}IsncxRvnTD213Epcf2WVK`3V$$ zkUrmjUBk-I*z8+JwRh+7?ySsAVr$?5VFNPoDk;j!b~ZKLu{E#|9Lv1qT9(n3q4<|F zTRT2^{y1su`>Ff_Z|D9Bqt1(iQ@OhsYyTVSnbFb<9hkYNtfm%h^dwcvF0`Ve;#7X= z%a;U!6k7of7#s%_h7cWIba8R~kopyam$$lX>6=LWmQ5j%*t})VpPf znEgKc4EF@`S`0QcTrx52Oe!%jFc_GaU=aPmP=_)adEQNOzHglTR4kq7vd5p?k8v;Z zGhG7Pv~V!4`THYvnu)Zz8bWU?0GU)l!BGsneH>&I6%$L;6!;Q%i)&p7@e|CrK5TP$ zL7HCZWi%vy3=P5mpfYsP(UIod^Jx}}`&ShKqWcW{-wqmLdwXqN-P=m~M-I$ITOAx= z<#2lBEoyivE52P&QBgt3-UkvF1oHa%^CyoV3yFxRkyLC*rndOSi1rE$go=a*)#g7V zDM(I9=_~ijmsjTs|8Y21=+3q+H*<1w;17Y14lGJ5Dk_34|8a0;{Yy^|CiAc_g`r`E zC?2WL_sXl6!ClkTB)xk{j20sA>0?;#WrR(EsE4$D=g{DMo^Dr^1g0*AfmQ!Yahq1B)_KnOBcGVp8 z?mWLRjt;}p3_dQP&7g9ir4v3)5&xrV^VZ5oUcnAc`r2JG*O$d))gnj8)*ZiB4$TN= z?X@8DpGS7!`*(tq5DEPxYlX50l4PZfY2;#qgDQq6uU%V55f69&aBi@DQF8e7-0paY z0lw4BjI;0Tvi}A;J-Dy4fufGGO-b7Ul4 z!Mosg0|Ih3GM~jMo+MScM$av!nElm!x0GG`LW;Q(o!MW z1RES0gl_vWMT6u( zhnW5Y(izJ~Z)uF5z<pxT6dxF{Id|?{s4WI^vDx^aF5=VxBLb%&BqrAT+%62kD)UTd zR~H8E+~M?45(k1g372Y7P5(1DC*{Yc!VGU89ucvI5nr_Z%h2USeMuD895JBHcMfh% zdw=4OTiP6F5U#5*g9*YF=?DZn{Q1_cTPXth4j=voPI7PW5eW(XhXw|$CQ!v>V|$5< zJ^QqxZ4-%)JM`m6y1nE7N7Hx5Q{DgXANv$?NF|Y(Bs-hzGNOo-Qf5|zP#M`fBcowu zMkIt3l@KD8Rif-swv1$C{H}9v=t~-$~7T7@rat2?#pA zptJIdTA$Z*%>pD{V!~ser4>1(iC%HqSX=n8yo?XBpP&4~GL`D;>Kz}eruLG$8ajo_ z`4q}l^eS|9=7Y7F%3QL`TI|buq^inSKP$41U19!Olah1YV=EjO0@*^;>WZYd$vZDE zQP_qS6^V5%iWh}y@`i_nHMX> zQ(nG|79F`r!9_l(RZCOz4|EY=UD_SX66iElF0y~3M(=X@hUoGYd;0|RWcTjL*4Fy z4uK-X_;TsM!V1nS5~`T_TeA`y9Y7&njv?5;jMF$hJ;({;va?q(5?&o4cuyDcWtZ?75+~;spv|$`7VpwP6GKHX;2bD#cKS43g$5qc zSV#VYvjyLD9D@TCvb63X^Shdud_$D*tNH_dC7vlTD7ir`fp~n!HCLaU%$v2Mj(`*F zR+LW4zR<{EUhizdi`-m$fI2`RQkc+Nr#qa@J}E6Fm3~ynP?XoN)|VL^uhW$)D2UL{ zy@0L|uA<1uK$anGPRap#PM#yjR0nxXm?hi>vQ1PYXdE_1;!i+zTaJ+yRDIZU&KKl2 z`|ZOAovbz@b-?_*3#XPD3J`#6k!N1B>cpYMMKlBjMEm|VlpBQ?D%nRq4h>oD*^`W$ zD=Q^6yRwD@iJxWd<8)&qT9embZvX%ogqnx}smk83K&|8IZQ@R5R6cyz3ka{q&>Z`` z5Wl^={-M%2o*-TWA6pO~30R^6C|--0n2>-);48~>!`O|4grej!q7Bb%5EAxD_dg;Z zi!lME<)gW9_b9|YhK3k8V&>$m1YHMVxw?QIYA%3Av_2n4Mr>lWZ7eKeQc{$ltq|zk z+5_+1HL#QD9LOs2%U$Av(QK$HckYz&{KHnwHA!KX_Kfvkp6sdPjcaSY9b)Uv zNnP_{H^;{1f%flY{7qgS-@oVFP;hbaHFtM+q!%0!=%fgGUWf{R|Ncb=uvi9vAcX|t zaenkQ4U3WY9*Sq73W|zAYI;FAA?!*^?~qJHt_OfSpw4!}&@fh&8znaKJB7(7Odhux3mX4?GM>) zb5EY@y(YZ~A9Q$f0Us&d9w$-RgT4;^*D(5cintz^Ij@@GIqvU_n|V$S?GAT*Hz}A| zl`D4Mo-QMZA4hJYkS2U-+$@MUJR#-c@6Qw1FznB@m&eA@ku1@wYkFH#9qzt*;H9(X zer(G1w@d&RU)<2c|6MtHF>%Xd#sAX+@DT$Zex%^^>&ZUM5OZMup7RZ?;*0|T{==f>I!SlP30 zZ^>&1J&RysmudvW&BJ2}#D>zpx~+{_sGs0PqHf>~dQ(}6>M!Fsj~WR8Kx%3#;>P+n zD^4H;Ha1{62)-EYsO#4>xz|?r0>QW z%#tkxZLAT0suSc8gHV>_8w;JuL4Q+ITMFSNz`B^*f9{bus}HH$i)zXs>)x?s!*&CE z)wbuwnru^-{JXP`Zr8CVzs54_BPJ)tyA;2+I2753h!*ZsPLw~F)i%}`KFj<0QzTW- z*V83Iti0>J7ybKw5qTb_6P~d@s(K>t^}4(ui(k0aM0iAkcr8vj)R*h4<8@nGTL*`6 zL=SjEJju_8Os}$X9c2k>K)~+dq$ZU1V484XThdfo#3Qx&1Kb{w+YWZAF{b`iHH3SjTl}>+ji$FTxUzCunKv1*RAo8H>}xb|UVf^+rs;g8B`U?5Bk8m6a_5d`A*O1`v$@ z@ce9nZZ_qXttEwEl!(;Guc)?B904OLhcXCH`Ur0uwAPiCm1wAcpoByWq%`8b(*S`m zBsM1v3|jG@@f*OEqe_5|z~$!6n<-WXMn*ukaDo6!VBtL$Oc$@#jV_?nhDgd?>B5mC z!GVFb04%w^{Yq)pC|avTbc4?it%_W8Bdo22<~OYSHZ>P75YNtpu50ERviV)f*I_@O z5*&I)%)hrhSoRA)u~Mk&H|L=mUTLkW9TsCdFNK!fx=$6ldH7AJqCtKKOxmk2#9@uW zokI*p7)LTTe)Q$-vuC8S6Ax2TOi-i%#LvBf;Zw3m6pT?)4ysBA5X>mo1Gv$UVGX?3 zU~XRCmaSVo=SOso9HE(ck&{EK&=CI}gMVH&o=6ubnebgE}ZKru-tKa?$HRnLAFil7%zYZ~c!4S6I22KN>0b<%*TG$RrJ4eT@cMXX= zJxA@jvGGp%zt@!4_?e|G0c_$H1a+ca4>%6856-Njl2VE{jM}Dz97Nw9=Vz(;>C6{a z*l=ZbwOTy#!Gm3H+oGSgwzdi=QY%tE+c(@Edq=jM%hpD9-CdRyOmnFtbQnr-{5Mj)nd(5oKVL-Iz68}m%%ePzeY;< zS&{)xoGveaPxueV($k%l&#loCNM-}DdBH@XE%mJ|kz(-N! z8WE8rL`WrSDN#9;c`VrK-RU2h){ZmIGe(AkjyF3m@4%gg$==s5QQF~tr9)vJ%DCrS z{%NrrW~w;)z#+6E*(gQ=G zlMw9!6MFe>g9_}qoYa3#E=?jAfQE~&%msGz(WV4Wq`~UUtgK&Q+Yzm{!j$zP=J&6iUpAL{^SPQfcpeP& zfA;3r4{0bJUTgc;r$^sgqPRk3ebr-x%jLf-L9RtVScBlg6ar)yVVsoGd-$hXTMcgP zASI*`c`!TE;YdYAg=@~!yN%~=T3Qv_Q|R;$AHF%$btdyepPG;;8xg`5`h44O}QY%lNwF?VV`uFv#5a1q6<#DffQ-2zHO2hd)+ZU0t2K zgxG4M&WYKS%1M9Y(3O72|f6;mgd6CH`{pLcJxInhV7Kh>45b2=8=J)TXEgdfkYe=mKySt~$jH#42yDM`{DSxjOAl6-)xH7wP zD?|-5)w`MR=g|I?enKnV`{BF*vxJ+`RfQx=?EuxVXOhy-B##iKGX@SZ1QLf9U$2%p zmL(eJ+P5k<7CK(7CaI}%Q*QpM9$cbSHU@13a;xd5OP(<~hoU_PYOw~S-(9!FuJDX- zj-Zg7TseqG$Fd(FXuoY2=YV?lQ+M~C(c`4KV<+%aDZ!V`Lsn!wVs93U*{iv4y| zMn1#$3i{~!f3`2L(d7b^0Qp8?>`Tl*L>O!c9n%Ji3ssA%#fz*gK24i}`k>5Qi2uQz zVNZyrmKIV=3sTdUFYyud1G7amy=Q7CH@~-VJu`=zE#u;whMg8yuWq1Z^d~}ofwzvM zz^I@!<)KgM)SjSt6T}m`GnA(Y0z-4|z^O?WXAynZKRP6Z2l zeyY?7_61~|-<)R}H`qUuUh(-t|73f~nQGkb-a2CLy%G!U+Z)t_mc@JcE&3gg))6l4JVJqSjM~#tov{_W$~!!$o9d* zmlw~jmtOOTdZk-(TSIXQMI25Wf=DT=RK>9g*8mck)rMY#=biRr zZ&yV*VA*Hid$~}Pj@jitc|xf!7Qo#HM%>|xKwU|zwe^d~kN4kQr4Br-6Nec4+G9aL zjfA=iB?@^m8z!@^I2^JmmHGzO4@{h-PixZ9`y?>tMddT{)?BEJ1WKmh^t@ zRCiKO7u@kSG|rg#X}$5Y;mRWxHP^sjnY41xv8NAMKjs5@d|E$#yo7-9SsK(d_6P(` zTvF9)ie@K7ah|-4b`fMnl&OsB60NSq!`G#ob!IaPjH({?^Q?|3ZKO{{EjQka>!J4& z!w3A?bPuJ9#tOf^t-XENW2HwrC1va(miWkM+Wg!|nM*%iRshmHQ>&?~vjOpe4xgQU2@$i#Vjt{&CJYD@ss5R;48JXv_y^k zYOAPcd9XJ|Q&SVkx)OhlN`70?<@@*Ve?!-flV(9VRPA58$@Tjs%|N9G3MYVR7Abug zzIC03}E)2;9i_GF2 zK@okf*ox-N_H&JUG>O-ze=Op=RnH*Fd_}Yc;)e1GPvSYaU<2Kk`pGgVZ#VsxYW-35 znffivHr+c2eJLRIFLdqqr1x_zjkOI!EXF16__fOBa@Bpp+Ntu+!$(NDB_^e#W>?h` z;~Mz3ncbQkwjHvv?y`|q3*cr8`XR5=Ew5ur=lg|6hlO3ld&t)Ennz$_@vMpM5f{&u z7(%zeb)Rzj+Ofa*y&<~UPjYh!`g_XC_z$B!Qu6%|1;gjrY2H9^DV zx6bM%H*l6%1oYQyZF_pD<*N5xi7(HaGK~jAn^B_Z^z`PW3gJ{;d;-F`p>M z$5-3dHg{*=(QC_2bjC#56UxamyH2`Y-^%!`JMf}@!z^P6A^W8Kl^;^M9BTkDgjlyG zXtwqNRRhb1MxP<#A}lR0Vk(ydsFi>ueU;UMI_3CpeeXsxt2?;pK z5)6DhBe4CQ85_*1YiqLrc5z1oe=MGy#Kgd0W$TG#Cm#3I-sR2yr@{B-icP8xZ}`R^ zw%$1d^O^&!TOk09i(?5nQUh%oGt=X9foF7O>zhzhiE0 z4)R}UNcZilN3|s`-rCpq7T7(YFfe7Gqcr=uL|MW~>d3YVuNZ5^QCy>23kf^ouZkqC zjIWe*o-HKr$&-LOjf7s5(I@l%pfyD>Rk=RFD!3ni4=l7QuU|b+Pu0;Z9esUi8JXk9 zjzxrrCn|Yh-xAUbz6*mY13M+TdC2Pcu~-my8|OMe>n(zK=8*^}r@$Lv1$fx5-EUSq zzJ7g9y8Gy49s=0241g{mpO0me%PP0ueZ8MPMOrg1pQG5QNG|0VpX@4sly=-}?YnB= z>gpq0`#ygbIed5>w?vOGU*d=%%5i+yneV0haUb?W4S|l&#DqoIlP}C5M-W<9 zJ<$iHwW}5t7BAO2tGKsuY-r8xJx91-TD3exFG%vk=IM8>t>hVfEKNsYk57!k{B~HF zL7p*7IQ4S%mVmIRsPoV5nbnEi!({LdiI6)8pj7&IOtAowj3T{4jP#?RLYa`zZglb_ zoIQ1=B%SnAnDg#+J1qh|+9( z_TVDD2I;et<3IJIc3jU}Z}MFAwWq>8Zcq^;XulUYUdMtdyN!RSu7>$3<*wS>yW_qB zL6ll@tJRNI3_Ffi?QCl&JrMFjy%{Mia0_;VfrE!z=`QrHBFJ6Bd zcgbbzjx4Y4e_l!BFGKlceGVwPzHZbLTIT;$|E(uI_FW8BsINLd3#8lu9eTn$$sGmW z;p%6L<3OE(Epz^3S8x3GZKq~1W@rE^^+582@0Lttpjpz@Z2}Y$9~XzF3P1zp++T%< zwbT&L0po_;m^ECpTpv@wwc?<|&kT3iOW}Oh)YSZMTBER_Aecq_`0?YYPg~!A`*s5# z-{2>;+vN~TOd1S~kFTt)xaKBFU+1M4kc@vLrR`5yClEmS&IVYE3w`D`=9PYjqI7a}s=%YQ=x zcOafSqcY;MfRnXpxGN5KT>95D$3l5KmH*q(a^k(})!A+v*47LX(e z1p%)^_deK|!+rqj(OHhLCDVG zedW~kjDiQdL+JXJQ7?>D0Y8Zzu<;=k0ldvJ7Q*T#BK6q<896z3P`bC2H!+%jl<434 z@bGc%18YMOVkj(;^B%X^8w=e#TkxJ?pPUG;Bd^I32@I^=;zlE||G~%NJ^H+{s?5R< zpPvllZ?~6%CST~@Rx-T1wf#`{StfbS)`F9HBXjOh4(oevyB0GIDJGJnzduFKuIBr9 z??M(+@%r^JpOk(rH^}XuE+7a&q2g7papv0vfTdvHp^<|K>nqflFJA0?8cOM(j(;v2 zxG6=6lUY8{Toj z5hq}_PGlxZ=jIK|ZjBJy!|VCu#kIRKcH8`Xt7W2(Cfj**2tMB_pueW!*Sz^EcO%(a z?9!w(yGWMtmrIY!MrF5iSKr&erWnXgL~9KV(yLbr&W}|*<{t$=+|@ommxgNWV{`L2 z$1((fgCZiq$Dz*$=`;axC5fz}K7YO!K1XClKTs-s!MpeDp`)QuTUQ#R4pjgJh)M*K zM5})f&j{aeb;SS_?S8s0zI5t59Q~*$Mz726;TTrHK;}E9F!s-kFy2gaVk#s{fM5ub zX&{)c{0?=ym6a9l8;OMl>dr?e$Kk$8{WB3|J&_*EXu%bN;bp_WB77p-052Y8x4XP2azJkTX8rwl`=|(HO(chSp;{tTf0v|Fjl-I4}CmqoV)4ruaTNT@rOR zT5_W7O2QaDaGlhoq^d*T)W z?Su>mCEo z=`)8r{5qJzfF2E$2CkU18U=^k+J)yfpaW+bxO~A0h%^oXFvbnP1)pW$3h<;lP9k3= z;F65-uISk$EqprKqq_`R0rnuxWgHXbIFv$ZPPr(guM1+#x{-gc+>g zi;|LeTm1QTK$4QD5)lrlD9A`Rcn9)GjF(twKjQj%BvF+3g9FHmXkW-;VA9z)?sEXu zP|=1?2F3G(m@7y6#1p|t0bkJ5f`Z!GTJmIGv&P;#50a7;&<1uEnUfzEezQW$Ka9QM zxWdh{AN<~U@S!v3&LLQ0i6YyfltJ$IpiQvTaH`+W2wjtexcKq|dO>Os=^Vnz(Gf>g z$D7jEclEs&__g3MG97ulmtH~PZ202jwh~b_O64sfe!r4--0wL3?McBWO-4pzpS+X# z*)&QQ;-fZAQ=hFUx-4_ihLNydLm(dhW|ladpUG=^%`gXU+pI+%V}e|w19%;8Ec%f5 zV7@_`=jV~EfWCb#BYQNxh8@7;>}(Wk8V&Arhm5mNF8x=8RMI2Lx2bM2rVoG%zitd?!!wKE8paq%XoOGZHm)g4!!Q?hWWc6@TLM6l&a!;!N7pagGzi2 z?=wxL69Zg`Ev&zUUIXS2mUy0ytAz|U5lax@dfx`%<&)~lU_iwPD2#!!#e|3~*!rS_ji7)dXx5@uMe6_2-EEEn2HF{XFmtpq zI&l`FHf*%piE4XEt*!tz)=_B>4h|A|e0?{Ynsn1QY}tO{XOo0yJ5HO!BxV{2vPKAl z8j(DPqBp!s<*n?y(E|+f)2AtDyvP^{TwtI8Lp?yOO_p+iE(32-Z+HZMSwy|Dr{@+1 zm2icsAf&{%1m!5S7n2hc7+k`Kud{-xXb#klTk74MafI)=< z&Ze3-)+4gnJXC#33C4we}XAvwv)&Ek=|`k#B^cK$J)Z_Qrv^uB*f51cgos;so z>Am)miz{`Tb_7LPS((1_@puEFdlq~ae^MXxZuyt4p0T{SEvdGjfjuh3G69qW!S2!7 zf)GA7V2=38Q8_Zyf_gPI{hpyghf)grW9-vA90&P8F_1wqww&~I3&<{@NwT;S%E(MO z;Ev_jLigT9Z|QrBM}P31Zce=iM4B4uw3|08>Cs&H*vp6#jMtZ!-7WISzKDo@NN&2> zppwELKIBv*8Bl~}3g#J4jE`eRX?kcVU}07#4ut8BuFhoFuyD;x5actk|9lHwprg%3 z;HhD#-Om>6e10>;QacXfg+|0+VgROV1GBUD)y|i~bQ=hM_DKhOdt${F=N(53#eD?( z=zAz)c9-LOhjTUpg_7?Ehxt3S7XlO;yv1i2iUIecs>3MT;_rSHjEeU6V`gqQj~fIo z!0%!7#I3A+L1_J6nGZ53BpVmX96NB6US9tGPFxQtGsr~Nt@Vie&*%?gXb6{iYDXY> z1GO^>Q)o6&frf^JsDH$vDdD`iEPJQnn6@^?jXjXMq0C}rt|DfDQ-QOj9sVvu?blB9 z&kbJg?ih7)Lc4&h@OY1DlmE{#@R!647_C5L>!V5p69&W-_pPJ0HqerdI9ciP^Y+F; zUL6@M0LVH zvDkSy^6yfrNun;z#ccz7D zIna8Y6DQ0|ZKF_|;S><5XRm1Za2PN^DXFo09$1)%yE}vj=E6Ivyc2Y@PeSz@PVMSQ zqLx6tuQ$GqJ`vbG8lKs$)oLM@%eQ>Mz(NyLT5A2p7Yg?~)t^6;;|%gmG9|*TTv8cL zwI(~NH+*xqyuGchtuc}4ifJ+6a5x9=7=mmpf(%Zb>VOj(*iyyo6Obdq5}Hm$r3zJ= z6|GoKqTell)mg-OxIAsyz~m}*i;B1tid5=v+~^OW+Cib9Ds15HUXJDF3-Ng!6F_Lt z&E)EW##H47HsrnofCsr!MeT%l%!7XfFkOFvXF^H zAeEdP9O-X}YNUZIG${t{C;`yTBhOPM)E>C4;QC7sJ!HIF|9?$B+C~tEH-bd!PBLOl zfY)bJih{%SQY4@p0MK72_(`(4e( zx6i!~xQR)&qL1&As3j#v9#=hC|LM_Def68Zvf|raTB^$`3^@|_e%&m~Fr}$IyUjF| zcJ=VBM(<7PXQ66R_w}r0?T>$G==9O9Q}#KQva=2}*V}4nSdgn6Kqei#FPsR+;ntJ( zWoOraFCfTKt3fT70MTY`@fN0+HC8IM;*yC^QSdEK0Zbsxcl2I%RltE1lT3al0q zUK(L~h37T=I?w~&)2+YXRl|_c;fUD~9>cKz9kae#&avs~UeM==PAC-3%bh6>t?>k* zDZejl+K!3|Xz%$dpGv@{5T-)~D5dqZr-`(+ov&S+ zo1G==h6ENbvTyfyS4uSyR6>b@nJS&Qy?gfpQ?O%S_zsBXPD6en_9EsN*(cp_c2*@q zX5lE6)ZTvbmRRu_Gb1CauUSw}VJa1NR38CO0TaT=2yT4k&;HpEkW6WmtfY6w)zEH$ ztB8U8%xD2UFseRs8D>H0cg#Ks8^3``AZ;Mg05``&;vrf=j~C++c7)pC-<)31Fs{HO z2T#ad@I$y2#-Jy*Y9KcU=x@AN-GCU3Rp{(SyTZO-h-9##+l9zYTSv$8qu{`fM-H!mY510i5U%n`4BVNx0*Azt) zh!-U4Cx-T#l&SvDOs|L4`YI}qBzHP}2?$y9KfHG2uiHb*wL-&nf34*RCF#&jUca(R z-^~r^)xV(WBu{+D}a(Y{uy&HUwmg;jA@)o4IB@Y=v^=v*p?KW?{q zrRNS!XYDt;wgv;s45VcQFS0WxI0Y>r{wuo2SLjj@RY>Z{TrgCWGoi&;E52kcQcy$$ zeZo5TA0qjALv@AMtoLq{Jn^I)00T!1T`F!N2$JzXD zN;|GjP0yFXcVqsYc-5<(-CuDwQzzGYGwnQFT&)Mi#Gd?CF5uW{-_6m@#j*eFSJ{E< zN4DMgW}tT@>Xnn-$L1NyM>n@HOc~F=Hu`Wx;OJTfb3ymZxORs2{M(Jl@TiF@2_2rW zvqdS3wE_b#;aEyG=|nRKb6cF&KTaRrHL5wkzSAU{o;wGVS-*y1^bkmds9N59*tnL& zaC=Px?4u=R6ZV%DW2jGR04hx+go);hy9+{QL2_7*-|KDKD z4TJ(M7E46Eoah$mSF8k*D)sZDL>{7UyD5pAe-LA4h#1zP2P7G?O!9fews?u496+BA zr-Ork()3OrRXSswJUTBcH6X#zeiCcXq&}zHGEhi;Ch=2jIt^M5=uCfNG|~UtYVSai zR>xQ4S01>(=u(y9LK1&t=kJNXX}+aCA&<3HWp>A@wlUOl$1O|G{dWT7)-I_@l~AG? zxr88y?hO75n2Q-jZ*<-G8aVL)Za9+B+~t7W5S<=*U=ELPqwn*!#y5V=r4_M$m1r5z zQvpby_&RTKdg6eX7?->YKda;@wL4B2p)a1#kKN-RuLEd<2G z?r;+YdmxW{7#ln1e=*-8c#f>|Sx81CiraS#I!*OB8$G?q=JOCUZV3Q69-sn^NK6c0 z5ZUbyut?d|eY)2KMUpC)^8^4TxBQnL!!vGS)6$QYqN>K%;Otpl616zdFOan7=k>yD!6t-11l;9DymgF20yPhR zND(u$#8XIv)?O-nshg5$^4&S7_}%^+!&DaAzC@Kd#-<9SbFKdK%I_SK;(1t4ITcaP z==O0YtzmdDCga!DA2u!jfmW&qU{MdV#UEJW5x@->n1X_7+|9X@s!}C33oC25+viM8 zDYD7|TB?yiP@{c!-kBsVPiGkrc)bWS`*@(M z{>ywfUansCP09h#M>hN=Q8!yVN-99W%g)a319K!2H3iJR(AN+(l_<#mu*lJyEyp%) z2J#a_)L#6eowRc|`I^g7z!01IHp*k;M8D^QznM8@fi`+vbb+=U%WTvX&na_tGzfS3 zXKzT4k6+nv^{hD4xM#1;C1K{VvzBZ@#7Ef)#}4cZ{@Jwmf^A=+KuX)+DoTc0NP7^= znWeX4^nxz$y)&KV&wfPeqJ6+}`HrCKCT4NIj!@ zl|lN=vsFw!0jOmQF~#u2F7sQ182ni8{Q7l_Y0KYhjl2BZsv!OsB#Fj-jPPj_x|4a& zYWX5#A)b8=pFW{yAHzw8&{SzJ4DtnyuoDf^^Sw&$1EZs(pa)6pk~YLzaa4NG>{Zjm z>3I4>8O5j7d@wL5BPr=}Q>H$ed@Ux8ESdP z0se%#yWnYq)v;7E`Y+vkJ`0hyij+)TF(JWIgcGk|tb^>KTE>s`*SXPmYNmxwa2f<` z);&wtpX)@*ecAV}$fvqaKPYiJ@kU|Am1i~PdRe`$KeazY&`77zk7@I%f9sji8dR4T ze=|m>T6faRyszxKx$$|PszvfbCvQOdSdPGOfebGpV zzRZ4F>sYk_b-Wyw>_GK{$!iyvc_4Je05)uelB$)I!NQ35?*Razk%o8-6CZu3Uk?fi zp{K-Hnvt2=(^6?{NP|7y;(+AH!V1|+%zZW;OXpBO1MbIUEDT$Y1#n}yw-n0^IGr*v zbeU&tq2@=-0!WI=%EW~Bg^!?6(6JC#kl#!LDmet-^bZ5(*Nap}j{>-6qPhXp+u9$F zc0?F7ko`h1u>-juq+xy^e9=Ae#*UE}XdOES)hc$ba+6@8;)YTOiU31H!|FefoVFrh zaA2BCL4iGCjheCsw-Rxn0(NwD?T2=UfKK+F8=@i6&vibjPw!67{%sB=HM)sDq<1tVAKL z+tb?%!kJzv&wXEp;MRb&YtF-XgoqI!H?;ZVwD~Q<3G%;MHg2x2bF(L|ojr3Pt@2(x zE)y?ngu7{l3mIr>?R=e)W@~)C@;z}2%_F;m*0NrFIoJ3-^;-)fT_|)E&V(JyHx{Fx zAbx%N?gXjoD2Ma%9gY3D%SBGC$n3wjq&PwFs|bD_BjK*D3rKHmQr>7;p#Ud~GcI6X z$4I{#>ofQ-gNi`036cTrHfTwpEW0>4$!<=-%Cp}8pk}BI!Yep9ynYA=;VFI;W^E-C zryzSlT*JXofrblGF7O$XBO?e-O)q{NVmJiv1+;awKFCnur19g?6BQLXfj)pYp7YYo z`Ebn=fSwS8{zCjPAFaP@o_8y2QSeKKm*U>6Neoxv~XEld!t^pqnmSzBNYT%&8^9KeXNjWIk z?))b9aN&%gJVP6FSDSxvaS`teQ5c$d+AXwODg1KOzPO<@X-++?h;h)cFvw=jQ79;V zMKKkSqPD^1wZyq!$8>-6=7RC5(eatY@$oHtZ0#0GVte-$mT0p^b8qFHNMu$!@n@v& z%feea6{^Q6w==EY)z$b@z7!g4bO&%-|LRJMuTKrlu3LYyxGLw~ z?*W23kLvycHr8?d>uOM5`EcSk3%}JP!l)7(Lm@T^xy6NvU~ow7%X5sOdI0u%aQ?=3 zSW6QuFp!8xU?q9vUVoPOFJm(jp|4nJzV#T@ho>{wbSCdOSw)5~5$m@~s|k1W#3a+YsHe^Opub2YwGp&(CgCe9y_fyVx-7FTw{c!8s||{r6Q3%!?{;n`8)%VNL&5Iy zI_SccTYZy@WDyr;@@r-335j~Y$V-lZR_=8lK(pn)0F!78VO}V)*+N+RC0kX2b!czl zz)RktN3Qu{F}hOZJ$=b)B5m1oM}8!D_NtA=B5e9t67ya8h;pzGs|-*d^#I4|eEU~g z!gV$?LR0~(5(b?q16DVQ@cyQL$M`>>r`5j}i6u35fDbMd0 zADoBhXq)}>wezAIbMQCp$1*3fwKqH-Vbb;Rcs@0B8JSBRuHwLFV(D`M58HafMJQkDu z_UwEOUA9?8UyXzo$Med{mHo1eA`kc6YH;bU=uZqNey!MTFq$gMCw}2~;r(TE1X z#uMfp)FwtuZd99-sl6wvlt*rSFn8a4Q`#wIbg#ydyXls(2X7?FYK3@yqv^%J9Us{* zWH$R2pCRvkNriItoUjAUyKJMn^^cyuj zh?K>#tUFk&*y26o+P~6#6EHtembA^aQ8?xfVO!LJoe>z4R+)bOMYLih4%d9|mz(?T zOIrudQ4r-jmVK*!%(X`cwTSp`w6FX=Tu|ULRb9S)lJ(7Vk-0_l-!XnarLA?mX6?++ zW;gD%W^JNj7O-p}@{F+Y?j8QfM8g+S8Xm{RC-ggV`QBi-ivE|v@}b+KSQm#)5@wjK zfouJ9+t2KCS%U{?i}l2;^}alJ!b2t7>|)=Y1ZJg>iM@eKa)v&{vOE0E!UQ(KrX_|G zC*iWN2<6W@ymno%QnxupKHh}_yR@5VNb2uxmQTN}-nNH1JXBvjp(~%+dl#Qi_S(73 zT|<}5|NYRH?d88vH4=AB`A-JZ!|UHnGxIH%0}favBb#o#mwkH;`zFb|i&WMInaFD? z`qyV}Mi!fi+9myh>`Qq*_72Rt_gPtt%$`dDwxfibtg_m6hy1{?p>ch(Y9rs3>)4_z zTZ`D$P1R?@l6Esd(}6G+>*O2Rh5tV6 zB-}TOa{VUb`|nA%#XTb1#=}FfX+6!v;l6y&Um?w9vEKE>`EPPV_I#A$jXNV%lseXJ z?PfBs7d$R<%=DlRB1vY{S@BwZ<{lM~J&;@OmUTwI)pEz7xw3N=XGuIZ!sHv0_^s}? z?u{>7k3PI+A#3O2?pyE1otppq)|<)1s`})2Gbd8|-#VN0@~d3t;t-@>*R^gv?9xxr zG#R4v?QtEo?)549#P)iT{-8-S{W$^qI!7Xb`^zkaI?>}?-O_+z0lUnbvj!{u)@zIG z%`dh~W(Y|b4E6Q+U^UuseeR3P%c=xrLT!%FnZB{egnDOVS&at4xfNxY^em;y z)DFkh8T|=k5}E0^(8XRg8GcoN7(r+4r>n;BJ+Xl>*RyNR?lJFTofxY9Tzh)&fu3LW zJ9tj2Pbub{yx8THnMi-LNnbH_Vxoc5a6}Qu=F*xd&q%J`1LcG2L}oVY+nJFG%mYt3 zgpUf{{u$k{JgK#Kv_V00*2~7!>K;`y$zS5zuG7A5n{PXBX7^7u^|_56KPB5R*`*zM zO;eLCkw~y$h{@tFF8y}2EKWY=>%^qlrCptYM_y18xXq)2^a<(}g$Ho`aIMH8msq?+awFjRHeOh`BHm4l9NYnRX zJf4Oxh@>8UL`u|;q~2I=$+v6%U{y20qULG!>Zw@0w#FTw7fxK=;rdTx_+t3?&fA{n z6ln>B{h|)bt=~&WTNsT0o{3O zM}+#d=tzm6+ewtpg6BvDOH$P5D>5w;*tSFoYsjsk_^oGcxY*#xzzb>FzIYwe`^X4* z<#^s9|2j#Q0zOqD&!gMi@5H#|W?yS5><*NUn5bIG%jT()l&4y(pJ&>WI{B~m%i-Ac ze+v(q&D)h-q^S*)XH|U%8rG-CE*67Ns~rv|3zzPwji3G^WGb#C zEm_cHM?Mb?q$jw7JT~*}r;YvKE__cdRA7Q4yz zHZ&zmxU{rWrtu_97M;tX~H!?CP2>jum zoOoU_j+%?)=f-iYZu??i>RQWYNtNrf<>nnxr_alEW=A@yTevB1v;DVy;>VH248Q!$ z9D+8(>hOQ<&tpa04uF?szjiK(DM&RdcOAA*?ZLN44$C(n~=Mj9)O zN>*p~zsAW_zWdc@Q@b;wnBH$WEU%?HTSQtMpskub9v%JkjqHwPa<*;Se$c-rXbWw?z?kr-ovI@;xRkn z8&i8&=*FJW!_)&D`q5$cY3NA=Tg_WhJg1ckE^b}T{C@qyOS8TeKAC#%(^7x`{<+xwGCe$eE_OFZ;#Sh@=j*C}LziZzPdwQ#T)6ozdm)hGL4ufg z>OWobuQ};IL5?Nz@3{$7Y9@-2eB{afQOUuNR}@&0aZ0 zIxTgWU-q3?%!o19`T57m*K_>)eyL=RgA43dB1dVf1zw9&k}tI5_9)~vl1ro|A*{7$ zz~SnwUx(4l+`gr*oQ&iRug6!1DqH^e3>zKmzkX}`sJO$a>D^S(f~h^6^OPYUb_9Qr z)F1?Q+m7z0`gol!e>bBuewO-^-5vk^%qhz$XAwevyLSp7L22Qr-l1m)rhXCkysV?} z>t+Z}PG@%cDSGSUeyh2hG$r5W6x*t+1GqQGFZ_^Odl?d1xoSJVx$fC;LT2jN#l`UM z!MP*h3=b(fggL++E%JOEtiW=(^-$R$X;6v5GQnfp4*k2G@?Vz`|z5X*6fSP zXf9m`q>WI=tqk3CvEyUxLVe4xWsT%D4km`{jpuV+xNOQn5%QCmvnG+^dO>*SMbp2Y zl}2w4lFwqXdIkAcmK`nL!K zoL2WqF0!V!Xq7(Gxbu^<>W91|X>a~d3vlrA&C{X}JNbBS{w&<)dofO>kr>w1+4(>> zo6Q;)IWUW8x)Dr1rZVI#&GU#heE%TAw*2PE&X0t-=P9Q@C(rbhIoOpHwEYu1Eqvw& zbJCg{K~Cw_A%b7FtGWo|%=$VFLC(k0TjL?U<;Z-H6}8%^szhqr&d*zEZ_QKxE|0e= z7G$AFS%9J4)?hQyPSzPF@(F;k2l9sY=OK=L;n$+?{an(IzWpiHgYR$S!SyJfmgd49 z&O0}H-8xDRd_VDeDlj+hjQQxRm873cZ>2~DH`8vqMDQ0gS5VDW?U8MG>$Q}+5p<(H zZnenQP3Kr(_tj=)UP55_NB72(PhA!$uDz_2cZn8A3%KrHf4uDFa*;<%&&T6wrlY6Qd2ez%^7gIUI4K!9IyhIoI=DD; zNh4C?i=!oFbYoYBa4q$myHY_xf#`#elZ$Yc5ZroQiTprMg}zNioY&Lh)t`;t5qqrf z``=DkqtfK{(<#y)<=waP1bm1Me-rZgtyBEN^bYF(Vqbku`kg@h^gK!{`@_6b(;uW|J=J|8IwzjpXF{X~RN=C{1PpKe17!ls~fkxn^J@9Xq@`KZ~L$And-^+SH!n*Lx?G zyUhKid;dLT;@XfExpSJakM|bR{#?uWVd}ihj`YNtV9Wxg|OyPUklp68nvf!y7 z&x%jPntDI{Cnomy_iqvL_i{zAF2A;C&J<1mc|u-GCm`CySHN8N=k@U7U$jhJOY4ta zJ=LTO?9QC|W`VxrU>G5NG;W-;g=f^LQZ^`t&tO_rU7L}mwzQOHz3nuem|S+pXzXLp zJB`Ir65ShD=3H8f%FRv|+Ou)gUhnhkT)nF(m6)b~Ewd>j)Lf~`+{2QN@=x9E#|4)? z8|ER~^NJw&StKl@!rGiQK4H|gp1stfVyRO*%XBfxRyplvg&CI6sjJW<`i480jEkI@ zUf#I3f72@Y_1hf;!4oI6@1?7Qn)t;R3j49Swsy^kl-|YC6TjTRI{r{$J<8GSlu9cUhRa7XwdAO~f z*(>Ds%bwQ{nDW&c<$q649|k21$Z=>+Zq(jID&OfYHIGdIk2QmS)@aSSvW$`H_$sQS zU*fmq@sf+-lYwkhwRQOV@9loQnb@~uLEY`Qnn1KWt+K2BAJnZZR1(`Rj@%9;M%GxI ze7&9#7R#W(P^WSdqqrp_fJeL2Sk`cNdldqpt zu1p=$|Kl-YT>$K|wJ|?3c^`RuIA2^$KV@O$y}r^3R&vIo{rUoXvi+Z58#+WO4C?OkH& zuc^t--mRZ5&*$x1DC<4&?1V&E4_%p|x+4W|JipYRR65_fV~sXj^fl&m5@l~P9NyHj zh-6pb>F^`Bc#fg&VM4pteAA|-S2AeYZNjrlR?TJpaxG<~_r9_Z(vxc2zA?A(W7p@x zk0X&C5$_n)cAa75wP1KL^%1$F$b5$bL&cFDGdlhKZQ*VN7i!x|aSE*%{uhouV`$6c zOb?HoHWAA$V%Sc_=SFqY%{Fhuavy<^2yC)x)Qsm;i+zBwP7v1sjJ5nHv0~H zrFOGC;4fbts@Rp%e%o&wJr|4m6V6Oip*M3Ki{qR{I(xUwI{Opem*1u@+9)!8U>4eA z!&0z(tkF1Ao-!zgo#&|VsPS;>W6z^Xn&K9Y;r)y5vWl$QjbBv>@mZEuKizgHndSaQ zeHZurOJi!)o8+OmwD*lKO?>9lD|+=zS=R4#$HyjG*aU1Xo}tr!!+|)(~FN~sYqJ_ zkUrCsDl$J1ek6O}@2;6&z2(lJ#KyOGwI!POm_Wc)=icfVb3>cS_tP`;hwm%R=IVVZ zcJGkcZE8X!=PDDSNA&)uiOAyXANM4ls*zEDLa=7o`RVDwTmh=`p{J(13NB$uj}gI7 zLi?v%npWY4tB3plqvti)ND4@Ir-a0Uq#y`L3j)$5Eg;>E zbccXQ3rK@VNl5&M@9%y0^0IfIXP=olb7tl~_ec55H8DhXPm;D_S~9<0u2s)uk*{dR z#ekV1mHTFMHP}mX*~u+Kgt4>GHxol997C2xDOhb~@}%=1(o9=U3|}_S245=b&_(Qq z&L;NEkOMp`X&f;bMQ$l6%>DBImN$R;+oU@z)AY+F`<5e7VwKy^<{v~Y1bddI5oypMHdE!(Up}8RZq+mDE-6X&Ey@D0xYiE>VJ%1x9+;kJ z8?@hvQ+;Qt$v+$=M<2_4*p=Kk*k92@-WS)#HXbEwWNTKf3!}W zxg@KzCS($-6f2OURrxrR@k?u2aMYM*%dH8(q4d{!E$Phfq+!8$&z+V$=@-QGjlns& zhffcWXyTOFa$Gq2k|Vju#2-2t7PL+`1XK8}&JiO{ zicBd*oK=W>^X`7#s9HOysL!t#_FeI}6o9x=H({GK1^XY)gN&LGMPrA#xr9s}6`q90l6FIBrQFmC`W|Od23m8VuVNibO4`>O; zSPj3g2X*E z+nSNO;S(E_DGvD04`EYhp}L}@_k99;B8k~9d(>=@&SV}l*GozP)-s%dYA&!8bC=WT zEB(x1)!7^LX~a@C&^xE@>lSjbDK{s{n`xiW`@tS6IzEIxacXam>)8VmnLZRa>eIa1 zfAysa6>V&<%@18}nGs$(-6b_2(p7Siz9A}-9J73@P$X9{uLI-D=@fRH(&J!x3&t+_ z_eer3mBlww{6zwxZz^88MKcS*Of_6vS3Y(PFj+yuJBcStZ0WJk17|&%u@Vg3+xp8Y zi|&N;cZ@$Wd=B|rwtn!x#T9KVD-0hjt_F@9mrj*Q5}0fo9z)fD->ss=g>WwLpjyESuEd&W;pxr^N`k>^-J~K|n@~`c)75gNfYal)?Xb7Jye1`MQp0vVrbAqrW+;L2Pxz*50NnzA z9~U)pHn|qdhLU71zHmJ#RXP@Kz>3OZ`@!$&{j2-JWj5}D{zcjQtU6)wwO;-hHUZDs z^(C+cvFA4gvJj(hw5@g~rDw+>e{|DA#=K-=$l?4-S;*xV=eJj!yMa{x{r2x2$FZcS z$fOh#Ke#lmh88b}877TyB@E`5lmPJhYP(qWI4cQ`>QqLzTN6-o1HaDuzgDf8d&!?V z?Xe{GMV$?Z&btvA-97E8g*#`yG+p37@~5Ih8Ws*(U3OmiwswKTCE;|N=qBUm!4gwD zuUHb|m+AtU#erFiQ{ zNm#^M#lS@dCd8GhLLMczg&1qXKJk_y-1-IUR+&;Mnkp%YVOF`P-da(hK|(FSL5F6s zH3iGEd6a5>HN`+-~Cx)PFD5SuB|9G6Y#}XE50b74ixF^2lN8Jsbyc}Zbf|$2<;dck}G3l#LS+7OE z>Jg(G{@zC`oHSBl1G6H5gd}CmSMHijdTceA`L>b7@WUkQLc^_mruaft+mDv+90(cv z#fLCd=yh~}6}SKZ_hxTpUxM` zq7Vj22juQUTPGm+Uiv*wALWR&OeP%IaN9s658F^A4O+_rj0G5^o+6_=ubNw3Krj3) zERw47_w+OzZ4C+{weRcKaw#i^4J`rhdo6)J9DGdjFepZxTj~eG!n5=9SSnCu{bOY% zdw2tA@l8xJm$-ZXRGK5~D87R#LImQ&@J3{>B?4C4q6f7AGr&}>I-9kRy?hUlV(N2k zQum1+?(9VLuY-S@^$4p3!qzIGDM3(m!3BEY{_o$wgl_I-lKXEcIFJQ)<2_HSmnfZK z@?!Y=;{aX>yhi0xn3OzUG?wpS0nsq~?g%FBpXNo{>*J3SMz&k^FruI8>j^#fwZ7c z9ECgfux-sor4+sSEL1juVo)>;G5Jf5WjLqpWB2i8>(i7*{%}OtUm*OEO|kR$v^erM z4k<37!pA)L?QL154>U*OnLLTlJYRU<573?F-<5Shhz-Pn+8j2p(53HCq^qlX2yzVV zZJ>!hPy>J$N1}`@I8cPE^;xn<32)qHHzyV*}j(2Sc8r3VCV)AstqYa=C zXk(*nnY%b*jX|;4?*20t%gCN{qBINwy-_0n)7HP@+5Fcy%AEECzAtw z2xwy+(?Ds_epgQ-19_BK_Uf7~J#8!q3SQ4qrG(QT%)SWIqJVtcscoDOzA2!EfCl+N zWi?`9Gi1%rUcdS0Jp=-tsd1l;f#)_Vz^*JUEfs46UzQdv3gTW2z-n(^a&FPm3yCNb z3+uJ40$pphsNCkq#KZ^elS@C(Syx$V7z{LLvhSErKtM-hqnL5G*cRx{@R8MwUm52> zuX1)aCxrfMabc0z&g^^k$lq696=YL}<jJIfkBtXM|85B929G6!-BY~Npbhe#FGS%iBoXcHkB`jPpyaXraw*+n22L^W z+axx_i^I|i?bBGUMtjg&ZBj}~;9q%_;=OUJ@9$w_q^U&m9Rx_&(a8e(dIB{FQ%vEdLT!bWo2rA)rl z%u4Y#VhMwGX|@zBv^h2gI0)V&l=AK$Vu z*vyFfr#D;)=A>q3)hRNg8j0@SlOk+VqZ)i5?@KEjtTyII?D_Pt1u@B8Y@gVO>CHjH=GsAAgN~V%hLo3)>zT*gS6HQ za7Z>+XLIC5wlrC+Jyaf-R>&Tc$fN|CFXt?xBM-aA(LdB89MPvQLF;Abzk%R;HO#Lv zC3u8|8km#AFl^fk`*rf}mADhkSi}{)yi*3_`2KEw-IrAJ+=|*%Z?0Y4@YC(pfB8q< zzn!rG69Pox34@5fo)dZS7}66P8&eC#L`Cf=z%vwv(cH82_6MHckW3qWE^<;hcm(T5jo9vX{;4YRARO;j*1ZzvF8|zXsR3HEQk#Rh zeB6?i`!SQ%z~~S20Jv~CHXu}!N4>of32Jm#E}BYO$(NC!Rbxq5<8ZoEM8 zl~qtDJud8=v*AvN`gHUIrp3B&|BCj)@|@FL74Wm}NM;+@P_9vgMSy~9IZ@+eQR z>ohDl3Wg~1YjL!64~YFTIiL1?)zs9AwX65KD3wzzU~n5oH#*NUHE^>W@l=FmF5W37 zHQxkPtvzLbcOQ4627=M6_Hld*l;3k%K|ZOog;#Cy1fPA9f6o21zX4_OZZnnBkX3faCcP|KwMZiHo<-2-CRV9Vk${CVYF!3<6+_OksQuX)P-!3-E3yrA6^W)GV6mx@cSam#QW_$>7^>L)V#>oEuCW04@<^x?Mny{WN8Ek2`FxKo}gAc}r{{ zTBZv{bvF>h<7{1v&gc4F#yp_3KEu6Y){$b6egN)HJ8RU zytX;BdJ4^c9wKJF(OdM8cC%IJ$R!LRD~KP=XG^L3*x3q)(?vC&DePC<08xx2xce;x z@`M}2S-rr4-f)c}PYZaH@a}h*Rd)l+eAEUztEOK<#6#G$P4q7ZF2(C`M`eR;(ij$Fro@3rLmem zt`iE+L$>E6!-%6?@3w2AQY}KxZtA}Q`xc(#FiX6Rt$;8@oEF<%O!twcBYR;na)zT|L&!N8XkcfKD$q!oRBj zII0iE(hT44Dj^*uPLZ-4;Dd*Dui6PZoO5%As*8stx@?4niAk_Wy#5WQV?`!Q3SHU) zD+-oybabmPAeXADn&eTjCYL8T`FFEsIPqT<6Si=}E6X1s`fhyFN&-_tHJ1XIO-1*i zEWb;EUL>O%A{7GS=T;ee|r{~>yaJdfG|29@>Z&oL4`~eYA-tMu(k0Q z-rfzCeHIj?L57Bg`}1yMTx7UHA|g?TlS7CjR!E?$=;HMBX?-_3v95DIp~YHEepQu* zG3EZ4D{_H2LRL1RVId70cwV^J*;V45__nRdgB*6NY_NI}&v#l}b;tk#q zd0>&aKx{!9s}LfWr_thL3I_#4b`B2JFOS37o+X7Znh8?XIUd8`F? zr~ubs8QdQzy)d#!vrW60mE2W-rl;(;6geQ~n7-<|8t4YXeI$O`j%uP`T&2R}>Y3yx zL523=Fnmm)2-=Ut``8WEj7%g|j`?tWNZ0Bg{Vv%(5cDKZ#>xPOJc>{$4AGYYnt&!A zI1hQg*Y*pGtaLLf_ft5!DK9B$j zr<0F2SbKn?7Gky)hvv&0+4KUj2q!%4Z7(XYTzjS&EO|Qvhr= zj*TIhrRzZQTE ztdWRSm&Hc*&g4N`fk>{yMkc!TIGdO1{X92v*R83?&$MG@WqKN{&xhSW0^UGQ=wuMj zR8_|p3Knc~aN-v5buX~LnopDuM%Ap--OHC>GMrd%!JxNcvsZ1aSE1RW&^ms%6HMKXEJ~~8J{r&uqN$GKQdxPi;%bjmGV*cP2Q7QvqQy~DdaMj-{mSSbBK=KmDT`{!b)S_}s9`|Hh<)sbZ@co+Eg3r8cCJz< zui~1BWTk!?oio3=?pRu?T06p%nGJB&@Xsu*w#|XD{Wg|(08yDD>(%Nf*)*Q;TI{Co z^L&p@s)ighBBilge*lnT8CXsNbEebT11WPrd&LVAvk`R+vo6y3N5(}6W z4r#>mEwG?x;~*0?xXS3 zo>AT3Z-Nx~{dFP8Dt!kD(UMT4X3zW{KXK64$uaH>sd;!OJZWLov`(k|L;K*#yZ6`+ zE1qnhz75Z#GZ426`9V5f%bXdo9+OGb{^Kyd;9U(`N2Bxm6;6g9UtWkheT?lCIs9=} z^u7%!n(EEp9CSzV7|$A};z3nnAnFFeA3p57<#`yQO;bXFSlyRjRDJaWcJ6fS72UOL z`r|X76;Zk{Ar0YH2rG>s|0n}wOP`O<_!=9<9HBGc%sWNqDKgXY2rJS*VlBt4wDYL! zV7oa>g+(rTvP$`*hHPzf^e1l`<>t58Bv#*69Z>DGM5K~ZR3ZZHZKF+`g=jsu74Ro_ zWd!Q}2^Uz5ol&uU3GFWFXIm%20ix$#SPC_#`=c8-zHBfTPKiDBZaysBK2i=pTH8@pBO zMN|w#4?yph?Jh$Gk(W4(vOsm&SG`*;UKY>3PK|m*73|zng_hqJ?ZR>Q1OKTx{(BOL zRphXEtf*x=mnedFMA{S)^S$=A=sJ6_#H1MQ}?*K$ZJLGEh4 z+Z7Pf50Xa@kEe)n?$$V}0u2R6DX%k;TU(?1_#3&T9_vF;!=m9xM?Hm4x}K^Dc3t`9 zx?rcQ(|d2KJ=D~)`1Bhj+)jjst<$fSFAJl~_43K-QLT8yW}UEq zI<%50k>?H&A(bg)kcD76MBMFu4Q^?6qow#amwjGg2sK3rbQ0V9@h~XJ)uvpD&ld6S z!;UOd8><44Mr)6}4xVkE0^RZ56!QUXvhg0X)4T54<+Kb2T8n_st2n?Y#()}Lisr~v^r~3cR4rL7tg%CxJ+=pH^71Y zlHaF^$;ZP7M_}K{sJy}eNDLnl{yUF*Vgs3=Ju6G2iz%oJvdwA|-$fcwLy<4f&o)Jz zBl^ElS-t9o_lu)Lw1)SJQ9eljc$dsVp3+AT3EG=EWGJWFw+@w?4M@@z$ z()-KOR6@s5!y`Z^C#_t zB_s?8%)9gBPBYVOJ+i+$c#o3C2{d%HHP4`8SW&4)AVPxEEZfO#0~r?8rjV>r zLmvo!J>3AR6@j$ZtUA)m>-T=0#;{Lhc-YXPT6Pg;9}E?ohML{}?9zT-QQ@xB7cSfR z_4bg7sb)a5V)-$O=bxm$q!mr|GEO0K$v2?Hb{BUIPZ+Z{{S@!Tt z7-#e#02|YiMLdq^fkO{4!I{d?b86upUxe0N_Zg<%DM z^bbtJWwsXgsw~5M4F(Vnt*eo-k`v`wLjSesioDx1Haag#9>=5Upf`SVQ)UJX{;RZi z-nZ@C%NBCm=Z%n^UvsJ+2-6ubDUgqp7uV{XpPIVQkZyk zvOzPbIMC+pSy_$wR@9iNL*fsxC_sj6%8!dY_E`i9l-g}bs^%IpcuY#B1n)o5Q=wZ{ z0!dbgN;{wc#rD_C?f;>WlT#au%j+HROaKzl+ue!pH>rVo&#g~iXYFG`oToyIUQEeD zVwFuhs_hLF26AAlRuzP(!J(fV!7<|5l0D>SQUT@AT}l#Gf(i+ly%gp^k*^*$gTkl# z))wZ&G>j-^9)nGo@PM5Y!BJ3~1!{yq#T3{%U40VI#G*7({kzTENj^a@uHfbJgzED0 zE>?P$?3hM$YPK^`)tX)O)z{cP><2=RKXSZ7DjiKG z&bBOLe%gS@qHDMIAsRzSG%KI%-#HOWGl03x76BSwV?0|-yA(c#ghFuCvyL=KBAyf+ zRcB+;A;C8vKmlrXbMq@(JZcgF-|)s zcE272{vUJ)jIT|FP)(zb`!>Y-fu8fvpJ6lscvfs{i~nCiPQHtC(%C_gNA70VN485+ zIs%|pVA1zr$Q5K+Bn&`A$ig?KQ5cD4J@UbwMX9%4vcfE&ggiC}=ay37d80=<2{zh~ zXl)?8&^`=p!Cj;6eYu| zvoyRsGVTmR>>0`H8i9XpuRR@^Pi)ZesP6h$WApkWpRp()wfCQ4rco21Q3f)hz*Fo@ zmfoWvB2WUk_=cK3VK4A)j!# z=1~Uu{P6lZA>DqTlOchNns6LcD*>Aw(~5Ju06p>R5ra9~-YEx(ycfs5Rs%GroSA4C zVQWFuaVPfTsG8&jlwU|t*2J5>FnWJ2F5`Iz`p|iYqrBCGlfl#^;wV<_-0$C5=J++Y zyq*TXr%F5upQww+o>+Dl3Dz%xv6lIVPFS+$r$BL{^XXmq;h3S)rGEGs!ZN1uhn8X_Y>f^$V)2bitqtt^w_4iw^qUz`LOEKTlGoShU| z2Eu>Ip0}vWx z_`c+N`G&Z5&cI&v3NUx~B%a8;mllCkMm`=qX5>7xT8Lxz{64>J;Fz}-pg`@xXJ$U! ze%d#Rj8Xq~X%g#^?PVFYV531@-YSf4g9{!K)&G>dAi(2GWL!&Mu4&Zp{kn>cL=HxBZD>CgnLJE9i0q+z)}jsv zlSK*If8mx(w)BmZ%s}nx!~yS{)8oIt{-=~D%91>Ztg#JNedo6p$Ox>WeOmX%c~6C= zo1VOR^N(Hmp@PJpWX{LSNBXm7Uimx{b!YKY^VSiBe`_^pNr9l5<-ggx@VM;BnKUu~ zrJ(AtHUEF7{?BL7R*WJ7huD8(N53^(GrO4FJiro&XX*Crc>*BE@M4;r7Pm3xaW_6GCGxTX} z%+Ax7i(Izs#8QfNIl@ZV#X{kM*yoR@PU2jgnvXYUvsS3WEKW>t7)Z<1*?=)68?F^s z`Y70>o_TEzkbyv6mN6%to%_(cZ?`bf{VC*o>E0kof(=WO08xk97&@^MPMLX8>%~gj5sUmnS9= zppwubi=w@TQ*U}?eG^?$x8U$yN9&J($_`g>n>I8#gNqIGH8ugZW@>MGuP0jTJHzQB zaCw`8jz%AOK0dpG!u|GJ|2i%U=vjU*B0`0zqLf+=5U{WhiqI}xA8x@>XX$J0cIN5Y zzcNw6CMfuU?D0O6m?n!`;`&@z?%ohZiMfrLmJtu8f7*rxN%zeWZ;9VW-oOJ_h!s_| zYi-Ws?-RL*s+O$n+nrE<>ea~(!rNJ)VIYXi<6v?jLj98R(2!3A{kt5sy5$$g%0{HJ zgyA8dir;p@+t{`i$!)#;XHQVM)$~W9kj{aEMwIH=_n~7R4~P=C@_B7!N>Kmzzzi(I z8~seTyFAL~T2Z3g?xHC@9%IB^(PO7dJ1ni9L2$z&I8HMX>oXqYEtCr!XmiJ_icL&-vcgzOosT6nQkyuiE4AkXf1 zLKbmk-KoZ)Db=+;M=usuNkXYQ3JI|DnceVhW_oQ>v*Oj3-}u4(Kjp}O;oXqY_rt5; z!#&PMYhjnZfw<2=FHa843L0(?+kxWUG8#-DhXKx))lCd7?{GN4XXC|Zs3_{_bWLM zgSw&LE89W7st=7#_L;d}*OGkH;`X_&*l&0)2GxnJ`dgLt-9SImUTJmyTd!= z_>$Ub2*(1dAZj3q1{M) zXE{s!S5wVKQS!LjSeW7A)PZ~v->gHlDI5|)KFs&P6iM=AAq>9`U$_aX{L+2OPKkhc zUu?YHs%M&xzdVlVLF4^PcZK6)G?eVLw}A#l`T1??#fUvl3d<9FrEU;s5+~urh>zdi zTz0-)dF+SCVn<1Qkirqor&I_&Rww+w!c2w`(Kt@b?BodPacu1HNT$K)RLiqhdt3VE z`xBiW&$Qbmqxocwg`W8B)p4GmZ-HEK#>Yk$cEoClA3ygk*=3==h_z_P4@lJZ=nTFL zj2t&cA+1Mjk7Pg`)%lovUza&>@l?ad#kcVnjgupV2$|4He!=_0M`Z+^%|wP04*Yvq zn*6%pB6cNS*^T)*W1LUrEafu1{{4$=X>orqtta|(ekN1d#^Wf8(N#h)=1WE)Sbf+B z{U<~t_h={Pe^;nPSGpbJTylPW-Mo&K;9&LRAfCC>SKJ0a%UAO6$iu2j0o3I3?9~%} ziJo{qlJSGF%uDx$Yp{xFYx9AKdKg$CepdT^ONKF37i6V~7tPV(vS}|lqyEg9hGqT^ z(Wd-g_7=ltq_UBRo%*Vzq;SeUwx5(Rtmvs`r;n=i(GbY$L1jc#$&uyY_31nJ$Nm~v z@QKP(95=h2ukBr-Td((8%fV`Le(@)z#)L-C%O@W$fpziu-%UN<&mFhHcrS!~h(B-d zUr>Ihg^F1TGNpdtkh!nP6beU4p`P;TE~^x$Gug&Y)&6frC}7gh7mTVo>-`{Y$3BtT*)m88q#6c5b`}H) z{FFGdaNBw}IBRu=vN5d3WhnMUHV+LuRdDWQy*5XaF;EBq-4_#y#z%W($EshPL0jeH zZLOp^^Myf>Zu2^wc8$y|I1d0c$MPr_X7@*y|&eT2j? z0k^@WCoSTChn_BP#;muW{%iIrjiqh|eBx)v1R{%wnSY=}Y+ZiQsH0lIWAEl4#DYyn ze8Q~J&V+Nxh?L)+NeKvH3hmv-p5~~FQimGSQT$Z#J1wkyeb(h_lyEM2n1Z}z=Z^2; zqEi>^=l;jf(*J2i=(5Go>W9(GH~5H((GD9kmei@)3Wuv7Een!7KCwRZJi0a5OSZn%7WP#NOI67`vpox$zbSF0#Mb{S=seS3ZU6#x-gbQQ2+dTAg zTBLI4{5C@|?mzx$K@>h}l1;x>ITn58-17S(e$1b?$?Zt-XkNuYXttQ8&XmMS72w;> zTagw&!|#o1GSi0vZ+rmqjDh&x9P$T$Nar+7h4#?O)jNe!zG;eO&iR#v2NBmwFhCGW z(mjP*%L{&2O$GT>DPph3!kp0|_w&Qqf5kItT`>A;SEi(uj} zP%xvxy-ajhd#TIuO)yt`lr%lmx&5`5sn83#ww2q{>L#Z*Exe!XYqfibSNf^#)FBKr zA)pZV!+eOhUE61SWQ`nlF+(sr_b)G>C2}=YxKO2y*=ANzGhWH%s=IB4iMAT$IQt8? z56r+fWBKT!G&rvEQKGKX5!|;V{DE(Lf=*#DkZ*ZuVtKu zzEWM{QDY2;;G>$#U0cbbK{H);TFaBXCyG+2N$28iT^p3ERla}3BT(l6o2=6RZ+(f> zEUWwP12BB?N2Q|I5pQtz^j0+@EU{ZK1(@az4{loh`l z5WRb>`7L0Z+uPgw`_Zx@Z)XYmkFaMxXhWEk%Cc_uvm+=meBWtns@q;~y>Mz4Y#{YO zamfs5d8vO9rp5{FGW0Gk(W3-lz{%w7vJ3VH{RpE1YY*>Xa?@RkL{>6^4FHpx#;vLk z3;*vmuqRsz&Yz#gGs!4c%s%aFX;}K)@lZ5oRj4N+x*R5DRBOP7?pMMTHKfeOBpLllhh z&-2a`U|U7q|292z`wIgcypBV^B7mhQbw9GT+!HlbC3IbMxLRTyD6FXa_i_oL0dTVi zSqkVek7>6Z5Y=)IHsd5sBr+8f295pEv8mU+mq-5aQ*9Aja<{VSv{Ras&o;7%W+i`< zCDpqub~KI%WngYh#v3)z58WuCjzJ%KAF_<@ zTnMu7O|2!35gXq_4o<8uGqv(C{FhW@D}_*d*lKy z{Makd#-L{I+K`92ootyji0g{36YTEF56e8B z9Q+;Aiz8ZdrFCuZHXKjsKPeeABu|j>5DuoJ_w%9lJJkNNg7NcZwA8%x3(yl&6`h}; z!)Tr>RxF&yUK8aPSX}+l>Jsqm$wRY{s2CJDJOEELrgWI7HW2h|PjeXXX=**t{ohSo z;{aR+%ORWiXd54sXi`?uI457zY(mo`rBda1iC8uq&n;x{=&xf>)oGga`RVN-o@3ok zWc2z)v|n&Yr^N1HV;VJ*iDZAvy(wMI8Xkhc_rK9d2&^Z>Oekp93{(hT_r_%GnWEWSwyy+K_@rS6Z2gxvQ9&{=>^Q}x;ALYWpgJfMdt$x3UxTzKBCBgoq$N^|v$ z6vln4(;lEOWql~Qbko}%?|Aah;e1^=qChjUGJO5S*?iSIH-P#NlRQj+WWZq4`0mPNT7ulDB_OfTF$^Qnq2&fC+B@n1i=W6l=rI>fYsmF<9BmwXh3DMA*3PcGu)CqEYtip&TrI1wL~w6|m_r!^hA})mt2Lm-b5}8=FO9r8 zRBhXb*gt5QFU1w<{Z6J2Sw1ug_(m_Hr8>w6uDC43MXqeph2G$&5-`HxI5KK^zq#TXU`Yi4c z8$4tgrikF2l@Z;Ux+95P#r@d+v^k@AB^+CR_c6~?uWUhg_uNsHx=P}ZiH<0B`cq?O zaKV9ew0>k{u7iK`_I-PJiT$rVTuy!c4GdDXIqGU^Ui&c1m<&N9uanL7-&ngO$F&(l z$I~g>o8gdtzRbbu8}09-`EIWtx(%7fem5Q3ox_q{#)Zj9$grGr=s<+iCR{HJD3@PhA zsVZ)lrbnCW2GQ@vM?@q>XNV3=$Gc{jJR@6~=`p0HSg4psU|V~@z`+@Ji9l@6<-NEngw~iLW%7##5=%<|IcevTqDxYs}o^u+qf!e zg8AxIwQFle-{=e(3Uye%AQB;bvUp%g`R-6Gef@Lc^5K+JsTGrKT?x8G&>cd>_zDg` z6ttuP(fz+cI~$?G(v8fpG055iLw33Z8Y6cD3 z%kU&ChNoE(+;>r8*^d7r1&9^15!xJQr>9)(>^b)Hz!0;|QV1ok0}7gYe2T2yJHyK@ z>HA=4`3nWUq>@2Y(GWJ&*BNDxJlZ(I(LcInrf<+33@j2`uge_6wgvxf7WcMZ zMQOG?=sEFA^f)4ay|3nSQ?CovZY`~PGmh8p+oFH2Q`UbvI!*jjbj+InhL`JG2j$Oe zwP&s|>jp9XCH|ao<^@!?&$W;9xM&<#S5DmZ`P=!VwYin(k9oRJ6rZieR=+A1yGkN> zKznArc{c(bJPGgQD|>t6FutBnG(1A?tnan;&Z^BIsiJBd5<=4YnI#ttzwEabFx9EL z$0nzE7mw%_>xFF1`;gRsbt(*NQ|ZIEOit7e@wVE37VP24rWd5-f!)jh*rjX(GZIMS_jcPq&NX=!#?}mj|nZBB^a$&Cf z7ljp7@r&SGc>IJ+PKk-6X3n_H3DkLZGMSY9HBql8Dl4{&x@=Kbm4KGn0lg^IztKg-JRun z9Es1ENcQk{Ux|N^*>LlD&m9((z{H*~SW+8e0RtY>&|Lc~8xkw9UxDAvMIJS1?OSC| zAE&6Pr6ol59@MLV;uZ;ZY3RfgUfZa(Cu-dd7!c6mDUlOqT!w?;*iu3>AZZx&;v z$R)!LKi2i$GNzO>r3Ex9Alt|71@`SXH#cags61xvKv4JbSwSvIlQAtZ@#^6r!1`FH z6|RzoK$YT;9VP_1w}}z>z%E?}5DNA6Q$CqN+vA@V@TYQ#iHRW)l>v9RfOnY7He`%5 zeu78AgO803lkl$mY7Q|V>oJ#}tOQ>Cz+@Vb@wCV=avNpg4A?=1J7Gk0e|M((S61$T zJMu*S))_?cQOC{S1%UejM7JvBx;)h1QR0VX)dwaZ!-)nEx-!$Yv@I}^$wOs*e41q8 zIcyF95Cw=J0BvOF=O>{Q&yt{2Iy1E4=6!8QL^@z=U|;~SQ)nI#ISt?m|L6StNx-ed z%ZY42IR+H1t}dB(G8#6VvCuWq7^Xqcm;fXItkoYrFMjNY3d9j1?*S1QlqBElOE=uq zol;Z^0S%(usDV%rbwUD^Z_?7X10(LQN+|PRK4Vgw3sQNAXM$$du@p`}^KCP&sAxG$ z+44y%1WZ<15|a41I0h96Y!ATR&X->w0^`*$NXrjQmw#5fFD@>2aap``fu$}tJw2pw zFB=!&WL*H?HKh)|kKxpZT(lDeWXZ=I9M87zD5B$xd03UIbtSdWzJCuCkOQ!@e}^4( zw6uh~Pf|3#cQ(;0cb^ur-9s*bcQr?QYikRbH!H}=%>j2#YkoWM_ytt~T$+$da2uHBgUUp}c_n(4n4`x=Ca7w}Mg9j9 zRqC1r8#QYdly&U90CbNT2chwt++0+`$~P#6T;!3t_eVd#VLT)RJu;UqQru%#8yMyS zwu>uu*fMx0tt?A|ece28P@kQ#hr=P*e+h-BbF1F7o_Y~H{Poz~`YHQ6cVmLJ?2yi^ z&4;v)XVzeFY!!TK|JhEyXnF^Abb5q`{skuCX$Da%NDB^Dz9QvapVk?7-Mo0K6r)g! z9*~ju&%tXq=zu-SGhch#0F|QOQ1%x${T0Tw&R1mXmoNL@%Zva{8_+udtWW_PXl{=j7VtIK)_!$;fvhv+P9AP~wd1xmmf6@S`qdn;2D%ZT2nCP`4a<_4 zl&JebKRgDg!J0YzwGi`XHZT@;cBKMM0J{dT=k#^aHq%&(6u<{dOU}&nzq|EMD?HfW z4Ra9iL0jUNa(s@T`Fo(d9;!u3{ zY`*Qah{Pcv*|Pk&EPX|x_^hd^319^Q>R2@92|y|Vj0a%1ioV)b2X?3cjRat@2>dCB zI_w-yz4DO^v6BR~$COXrw3d}QndD-6X93a+5?J*c8dCibTVG!X#9XYlw-&&F{yT6m z_X3#6ZlWjn)S?sfkBOk@M+XfnT`aWyM-N4ud;0oxU5FIPz=J@;#HYuG3klsju!7+! zid>Tg+yZ*shT7U!z~dg=5*{utU;uL@?k+aD18Z^chKtiFHKlm;;(uUg8n}zscoO#` z?zvSQi5wCVeqiwGaD|D+{JXfg1`fDE3Rqqin#AGGIk_+}(nb-hXFJp1R- z$?@^`3bSkgBcP$7fx#|{mQh4w9P8$%r>6n63bfrwx(F|59RT<$8H{0(b@C77c@`K52$vN-~~87=XdoW?W&xXn0t z&=4%SN&^phhnW&!PY>u`|H1b`vj9`)1Rqdoz9eRhM2 z9*+7`l)nZnL7QS*P?NOJu7f0E?MUvIw2Rd#g8rhx^a4DUdsp-aERa^Y}HlN`TYP3 z`#}>xNKw|*!ORAp1;DpZOHB!CXMEc`0~sbjw*WtNQ2df9@FK>TC#*kicmoy+Tn8%6 zaLV^}V8SndfFX#7hnJ9$;Ii0A425>;MI~cq>r?ly-kB$Mk&?+qu8`H(rqF%~kEG9<$>gk;K`Oi@UM zkfAcmP^L@`LdHTUBpE|Uq7Zr#qCpyn3W?u3@9+9Pf4tXwJx_7Y=X2kCuf5jVdrwLB z`Q9{^#3H19fCFY`DfShw=YAc3peiH7LLR!U$1-2|dAMu@`@f1!as>JLRW7V9b$5eY zB>d~g8quORnCc(Pwgt;&v0&?1^Z?+IO}VXk=gX~R@l*qUH7wJcX5iT7tt5!0OOLP! z2}>w0Z{7DBdot^)t5c1N@Wc^U{$wj2JN>S447=Enp)n{OkqeX9!Er{|W#2Bv;x6RH z=4aE~+}x#>cdoSy9m@t>Nvs`j2u+L9OE31sqKRx(=U*{rGK?htw?dge zR=Wy=BSjzP3t;AWC)OljTQMR9*6M0(tew>^Z1YuDR_5zk=-1qM`{G5C3x6AjD?$^l zQ`9xq<}GkCVoS83qH70Ud8Nan_tVq#M%9AZWl;UHB`i!>IM?1o(ODJi zwv2PsYH#1ZT~%dPGT3G#ZiqF)AwfZx1$Gyo`mc^iuFAD}6xr#DGlYCb-8q3Hk7@UP z#~+|Sr_*(;A>bsE3leeR;H)?o+Q3z@f)abEu}5Ia>M&nefKZp`b!<~z#L72L3iblI z^E3Dds#EubvI}dh0n4fPCvV;N+Cxe3ihec^mi8s`?!2ygw)mw-p{JlfV@T6Q#3P_b z#06#!jxGh`f|poAS&UsiI1zfp&W;YOC!j4Z&AYc#UjD~_4}V~BMVX9i-jNr%nk_Ev z3@1BzRbso{c41?T-a3iG6|Y-lk&%@}-J?RyL_gjgGBUz~IQA}IL?|3ECRSGN3xD<2 zw>T3OWs_4#0!zXZKZ%?w*5!&n{_X7Qm@gzGK5`r?%eZjqc-@|aIME-n{ISnjlU?FI zrLL&n+EAzH$F@^R=yYQHk@oyTf|w60xx+RnY4cG=&}F-C%S~3IZjsKo>pT6Fx{mEe zR@Nob&-r<@7FQ*8cKWJINa&Rensa~n_%YVS_P@GQ!MFbW`n7eBmt{!EDk8tzE;~F9 z5(V2APGGP*b`oP}3@%Yy43GG=%a<=-l`^%qw3KzIueyC(R7|WLv(YiR4dqYpGREcE^&kNIC*n+n-Kd(iMs4Kz|!0XFV@=VLh;yW~$mpm}*k2J5Q zhPAsr*g3SZ{`UtUr{ER5RRI(LS5AeKP7XMH_HW?OSQb%L4aOnGrn+p63n3;ZNjW*= zSXdDXU}h$S2OudS@u53a3~SV>1%f-sqajsfW1pBBwbCFY|RSh5Y)m zpk6sLhy1^lld~Er6&KeJJ9bFjBJ~`tpKlmT5|2i(N1rJp1Z`nuFg5MRhUZ_OUmkmw zz5`2~<+r&fcBW-ySm7k&QDeh>aA>Hq$G{|ZuvncRnxe&CvQ=zSKG4L}dmoS#SB+W> ziTKR@P7$|5m3HICe?gAEK7MGNK+S&Q&@#8_I zQ(Gs@$BXE`*Za>}VDTE2ssu2@HYh}boiZ|ygBIQw8eYZbBKBLlMMXteW^e;L5DN;X zS(a4f>9;pxXWCC35bX22`0v*UjuEosk;Wj!nZpV<`h?HVN8q?}Xs(e21>aze_$C(K z@D7tSH=x9|wKb3H>)#*$z?$rOn57Zg`S`NpH%p;aRnEQ!lUeuPz*eQ*cqRBiItPw6 z`1geTY>mSDnGmFJ`Oojzw(KREGFO_RkUx7?AhxHsx3{M!wa1NH&r|6-uywn-%^gcx zTH5*8h2OvTUNgok*|B4XhK9zI=XVZ{kQGmc$MMK#vw-M(@5z;Ap?fE`*2lo)pqsx{ z#=~wWI+wg$n_DTLmQ$OKTHOB?^PxENN_v#q$nM<^8M)lI4ipkXZx-weEYjMUMfl?% zXm;3js}ab=#QzUAHmob`BUb+5l>!aw5w8gD@xsRD$oy@W^>F>Mz1d~@=@sM~*OMoE z@0Y*y_==^}0GxcXwj^QU37`}FwTL@wIE*Q>1FIuhmBu+07I%n|rKP3VtF&+5-?GZ) z$gea`7gs)DoqA+sq{npzsYP5k9&TMpsF4nFI6 zAyKKSsohdN%kX}e(ZPd&?c?~=rKQ`o-_RZl!kIEmd)pYiyMGZc85{Zb`AoKAgC-U) zVbh;6i7-QRwfDnoPJ!2Ao8D)VhEDCecD(=AIF?!9YaVxZ$HV=CwMRs9nmFRFmy%%H zSru7uhzgiIf|Ve@e@qC=ZTjeofilr4m|E=28=LMo`5)^gZ2V1m?o@2*7_KXd1AnKq zREvm#J_5UspZ_y{j

rmO=jypHI1iET?DUT)BKS_2!;onw(bO?ar(w{%nWEIx=PDzpmgBm38dtPdC&8JU?4 zU>`HK(Hu_cvds)Qd$#PNf;K6nX)ALHrii5vvN!yt{iVFWQY|9UtjfAsOWA3&WbxBe@) z+wIeGfEeL_l;tSHvTjgtu(lZo@f$+imE`1eXeWN~VDl@}@Mq=Bc_sT$$WtR8zR-~) z|6wQ8bL@TEyZ3c(FH3qFV1tq%{&j|ojlFEE-7Pj0V~{sHPLt5B@rV`Sy`nd#=l zJX`Dz!hgooJdP`XO0oCFi(ATP9I+6MnsR`MumBRQ3|I%^z1I8Xn0!O&1`xVqiIpVQ zwv8c8&4q=8u7$`*I&>T+BxrrJb#U;`8Kbq5`vzz@G-T-_LU3l&2w5^PJN#bd-b)Xx z$u@IvVC}lRMVXyEgd>0eGOeP4ja69wT7xidUZDTv$0ltO7O3M}dAqr}A@ClOJiK*} z^=)3QnT$!5!gQ`&)_{o+(ZuPODffN}DyQ6dE^ibr{nLi<^MKM>n|n-WGLL$Ad=`CR zo?=}4GrEw_E5D~wV_97FaKG5PXS2&}w4_R`?uV4P?vuJho7Q5cg5P;4frCnkQ(#R* z$i95J+>d`Pj&dENO|!<|P=rROK0?1hQSb`D zLSlq^^;9JGBh)>wSGQTxkd=nxfxZ{-PzC!Zy@}>t5>JZJjhfy75x*w_WpjGWL zb2mAoo%96}3Yj47>Qw}(c`Q}YI)Foolb!Ydk?}#)I$Csu9WPv~an_4*X0dEl-c#uq ze=&ARmzI8B?ALs_z6Pcc=rpt~9pZ^~eza_8^eZgFkS;jb8=4|p%eu<&84RQcd+c_(X}2hEX&Upsw- zz*j}e(L9k^uaR+NRap^6z`|l#++*wQ+#pP-j|@oX*W3sjLzJa7w!2|@tiH20xTI}9gi1bwwEDAG9s|O(uR}__q2NM6 zK~dI~K}=#&Njjjf|9ftvADKG%-bdDUH+T1p^z`shI&tsHSDvL7zBGb0YJq$-yTe`; z8cy19JkQmn@~4_8R{~;EE$)C)5|>pfEitpStN{W6q_}2Wj1|RrUFXi7n+n4JB-}>r z@w&=IXG$lVtM*+Es5v5A_%dG*A*xMe=x0Yc*AEsGEmA{TW+om^BZ4CWsXF31Hk=74 zy6RGSm;3i^Gm+rwPpsoCQXjFncp-k*>#bHSgnxRt5`g*J_J?42-F560>XFKIJ8@#- z@wt8vrEQuQ)wgf&e*OA4NJ4B%JX~zt)7OVU#~U=hPfd-&Yq5Ry_OO@s!di_csD9SoD#nJRHa;0_4DHVSb^v)pk=08r} zQ)K`2PVrp=_|sZ_+}heUX>B+*G(iI3gE3o+C3a$lSM&1wM9><Q9@`30aME@5Ggw%=ICiFOn{VygHU z7HflgYFS;tt6%>2S&^X?;CZw1cBn)JFGy}H^QRKUm;tz+$b+EM~>d(F+igxtUG{W zUxzO8=TATMIl6U|fTO>ho|*T+_EVuQ2}#Lqs(x-Ditp@64b=glO~~( zq_f)8(V@%Qj$M$T21Isl0L}M4dscUPocWpjtxt%-;P0J|2K@Y~CBKltv)|gpH+@O=P%#oqy^-M{oBOIxTGWvYzMF6p9%sr0Ds1Tgu5yp z?I69duz+;5sZ*jH>%bXBsg*4jUJd|Ifk70Fe%9OjE93&C0w88>4k90!csno88Al(R zpihHg+e$BUS^rpI;NBpwD%rXB?=7-a#eTNXCzE=A-b+%VY$U1jtvrr&>2{rJ`vgzr zQ-#gk-(r z3U1$aKD+nacZbrD0IcF14HibIlaZN22qWgBfI=YEnb|#h^lDlfiLx*7tB;?b*T}sb za4JBo$(rl+SXn2%69w%=*hbU*37k;erw)b7B_$_9Lezv>7uOI*NED+YKa`|^jldsA z9~@`vUj$V^Drdjb0=e6$$dzATE{j7*Wgd43HYP0m#H=2pA})Ut&asrq&G7%g`)hwt z73x9)!Yh4z;cwt_9g-S85h`rV@r&fx*?Rvg?q-Z8G{21O>{5hdRj8aI`}Qvr8)ppc z_zt)Fs!K{1qdre5&@QqV4q^^E0b)ipklwr&dJa@tl>ufQs*jm{d(g+u2371@~{xk9u zE*iEx>TrZJOM>2$E8-4 zcIkqRa>Ae`*{_>2UrC#cZ=4dD)yHn=8G;^BTf48aWgVW6i+EFe^i!k3ki^D5X&J$x zL-`A#4d|lo%!K2B|4rO6tV}esOS!$h*1pMeP_pz*tHN_IBX4l+?YoEo9TpaJ-+4q> z!3y};(=Mu<|2{cM^KLV63jn>N1MWSlqLZ z3F-#tP)M@SV^4iW#ZC`4Rt6o=9wORW*hFh-ncmV8rmIV!VC6A5>a$PWqLy<2!X7m= zX#BWBD{EWT3bZ}20!|7nob4MdKCUtj`SZOA0xRO#xADghS9u^O;`K4!Qwp$qk&;GF z*TKpVRZ7GLZw1zC{M*Rl#Vl+8MeT1MR&2+~;Wv#c7r&dwB0JgI6 z$;-(6*L-2$+T+GXp&3YSP|zT4O`eS_|33Dh#O(6Xlte8nT0fThpOFvgZW4K3TsVKe z(83d(3zjaYSPAWkyH3ic`4eNxA4`Qk05*YvP_0Y)@#L_JJ0XD??-NqBM+R=GnHec= z^8gu-0F1X-_frV14h{a)4V#EpN6pR2-XEr34@fT)_AU^~aVEmbryUUbFj&*c@JrM@ zAucc}K0f&O*J}?S{y{xVzH-}#U!|wl?LJmQuPiTzFS%FS!ZM0U7vS|5{{5MN%q8p8 zd>)DS^)uqhT(9Ma5L=+@Yhv3xbshE#%9Nbap~KuomeLggwA^}3k5(%XYqb3RmHHP2 zuf&QQein{u8vwJOdvTS?s+b4lfQrg80!Ki+90PeC-~@+`;RFG&1cVmKA0l}oZ&Z{> z_bflcSkIiBJKO{05V#0XyqPH}&fnzotjk=UwJmtn3VM-xtw41; zi-i5B%&hbK05b}cj6sm&txq8IyBlgfcE>#fyk5WsG)RlC&xgQ| z=>`}EIMk{GJYZ*L)_UI?AlemuUb+|Hdq3A^U=j|vKoA)dD@s3gt#tKIq(lgCBgEZ(>o za9Ig8&HMMR#1~xlRub9p_-T1OkKDvUmB>c0QQ544Co+UTHs3RZsu|98JM%M$MUr;$ zvj%XFll7S#FPIrvSu(~os-p}g{M)C>IWl0!tMPX8LY#~0Z&fQMFtA>Sb_UQ!7XI0_ z5WTjzo5^NOujy5V)9`TJYpLd_R`wqVd?<17`flfOQpjX70s&W@uTa+x?gYH4%!~|h z3ZtX8wf24Y%d@gZP)ImWjDbs`mH_b3sH(#L0QQ*1D_$)6o@3K0UO7@ZStk}AnoM^* zzmp35ANzABkar-*LZ4_Qbia79ZLfE>^O>4r037>@KvZ-1KYGL*jSCI9#CG2vrwcrIK|(^Tp{_1QS`+wgJMC+>OG$OTS?2IN2C7(PE0)O>&qDuU+f8Be6r;NaiP1fucEZH>h&h*R`@bsOsNSI?5AnO@~SElS?TOYV^sL8?N~ftWZ@Z5%TD#M zf%*G7S`9Vfu~nHhYI-?2IeedWY5`Df^=FM3Ks&Se{P}Z$_V8kmV^@39b8{;#r9t4M zjLVOi_Xnzg5w)+6jXksX1M(0`i<9FGdmK{4djKgv`(teMV-)F*&F592bKdV84*FwX zlF;FMzB`4CpIYeo#fGg@pc6yY4m+NT0?|pj=2rN1;s&o`i{eb%BNZPSbu-l1g!T856#|Ei!iAOI^WH0 z1}6wifC@wd$jUl`>C%h`#nW)!R#sO*v9$m&PFCa%&PGN>F-0yTcA;LyAY+fcH=1C$ zO=|>f0Mp7zk-U1Ryxbc*W|2U}iFB??B9oii6{6aF{;dYo+K)p*^~s@m`Nn(iL2<79 z4*H~NdZWOskv&dhur2W#Zs@xnby zheCsb(lat%DzPP**RGH8yz$(sm!m(Z|IJoKCV&D#|@4rgUoxes;IMbXpn`!f= zsWIq?RpOznxb7o__LS7>`Qy?5Lf2cqF~rBMeJd@Jo6P9&oD*v^V41Bqt9241zkc`( z$!PAd*PmU>TS{pNtr5YHQ^2m>Uq6qs07wlchOgYH5~OEp-#tE8X;yzwE-T7z8`;v@ zdM{Oa*?qj#1+4VD<_nJz5rD^|%U~Hu6NgGo{Rxn{!&AK=5rW7IURzfDdN`)=B*vy9 z!x8hL=q@cSfu4xDbO{2aQ^}xRi4`X6o8D4a4fw)M;3jHMI)(k)!@V1o2Us@Lk{HJh z;~<4W1Dl6Y;2n2!dke)AS`Sshg}9-u^7T#a914N_Vm^aIJUkFA$|q&!${<$kx+dpP zuYl?5H|z|RAef9eKYOo5hZ;uQz`+G72{SbCA~5InLr@kw!Jct=_RQssRl64$q6Q`xo3M zSv!wNItX1ZMe*s-a$2a713L3$GC(&o7b{F0_Ut|QXm{OJ-Q|6}g| z$Q*efPyZ;5VH$KVgF}Zv$n1 zqKz;$jJdWW)nI!9 zl+eFeXdk@=ul+gLL)6fb6h`tA?lda=_A}cFm%%?u?%a8(YKFQ5e0@lB!)1Imcjd-oNU&bL4%YW#OqzbuK{_ug;>_lE-8Ca%v(^cM0CV)9 z)9jABp>oL8=T7h!Cw#dC)OBKx&*TcD7B?%!VE%5q0&9qVY4=~(*3Hb;1G#sn4AKau z%0VkpEn8}$MTjn^Tc^VZ-~Ko3oeu{KCh>b875UKhKBJ}^QUo2d%tTn z2=Qm$d!u&ni#rozHA_#JEJy~4CX9lRP#y<3<>Abr_lYLj4HNQjS*5F%i7KF&9` zHUw^@TvP|HfetY?Hs+y}389LS5g7aa{aqE-EIf75TiUpXy=qrhR!WO2+$yA)lBWOu z{)VGv`^eAz{P{J2`9|k9IwvP5k}P>jKz#Axg9n2iN=8LLAtzG>%s+ol@JlKxE@a%! zak*rpx4Fc+3@*S|5aou;Y?9%-K=A~<9%-gFIW#>7F0;}nC}hxyf}=nXUOUvrf$_z)LB z0y;W6lEmnXk1yp4S|Cy!I|lvl9GnQzX3$%sv&31eQ_d5H`$~z;bK%C4&{=6K*-)xy z#jMha4Ds;tN^>)3!<&NA|MY)#SHyb&;yE=u2l8n3%&FE8IXTRgS^qWSgm1vl%li=` z#_4gjgxiwF+0HrS%J1{)E$3JKpx1q|5MqsPYHIow8ucmoioV#@9)Gp1z4!6mQ*6R; z)rt9tYNFBbn&eG>Kpn+NG0oM0K_pTwwMyuJRtIN({h*^rC>tYAVc#ZNS}H5$w{Lgf zWq0vnbCo^7j;ZE9o>^+wDH8FXQV z+yCLY+wR>)_3yrG3CnfipSPtAc%WYpL6?9BegbVLJ+S8hMxqFL1H)p&KZ15^bl3uc zBw46XJb&ca-Wy1Ub`B12L0ivfv`X*RMHT)DrI||7pV>ji#_IB1ZuVuICTM#oTSbyM zTqSHX_gpi^u|=*#IQ5ul{+H-Zmx)A87D=3 z`rts?uDe|j_3mJbG%z)Fs`D10Y*$bq`O`w0cu-b$veL0h#JyU-VD??pU&yl}2}deN zk_Gn|)ti83KwXX601OmSF&8CS%vU3v%P)w?S6(#iS--pg;u=52bicZ~{$>6J>87O@ zv;iLhC*nys8tY%mD!Ddq=A@u}T-=QhQYQ8b0#|>~6zD0h!dHc#3R*|6x(M)3y2~2X-m?qZO z7W<*zL5@JMZ@TPs*;jY4V=-UqOP3@JowHNs9{pb zI_Uv4@A#2z9}V?;wZz>joqtuyBlQf^G`@(SH6aNgMd2R&v?b zuBpP|IDgNkY#0xMrx_*#s(6i{C?q7Ll^v0FerHJQo04(3%(AkeQN2>yDeE)P<+5Ri zK@QiWqS`e#R!p}WS+rcdP@3eTzz>!4#-5YK(0W$C$Y^S|0AVeCAO8zs5|9q!L@jTC z*T^uP!gqXlE(=fV;F^w(4mn_*6`@;C8nV$`^K)TgDp&)0s%R=V4^PAy_Mxf6Wy2sP zD}UaK-bDQE60b`qtpLH*tRQNZe<)@kK^FF+M`7(v)J?bwUoRUGRvzY37G6lEGv{}+eNEt{H55d+(y25b) z{YZ{T@Q@48S?BqxkZSlMC!WY?=5dXAaclo$_g-EQ!Js7GjE#YB%Te)lMUsP;gKGK2 zf##(6J)+iXtnJ8YMF7I^s6+-e*mGpYbx$x1Y)$Odo(a38`Et`x{Wg$uVEyowqeyD7 z!lRNusboW`_Mj>n(Za_cj6qYK!4txfpuMjcwZMB{CJP8uSC{(laj}rlHw90_0XoSe zz|HNCUWw=w(l#c;2W9DhV;OSQ0+_$-KC)4Kz3=#m6Q6K>AsGP*Uy4`y%JOh}ZfKa`9e&2W+9#UUhuO^+f)+J=A>t37EGLvhK`Vb|rxy+mS? zzBegyo2c6A1(HvfZ}vJpG~qAWyPk|vZ#SPAi~f6WeFx?PGI{*@A&=`)4r zfVKD|pJr!0zxDpR8!kyluEC!|KpB1W2Bo@#JMT**c+6a7uFWKpv~S=@_Yqe z3};KRjC%{37pTdNNX&*+Dn$w@mB7e&DLPsRf*|NqB!}?x3AJ0ePcA>p%dpw%I*_CN zfN!V$5S)tesUbQ5W_ux?frN!GcPpB!Dk{F=m;;$)+zfLr1`E=RlQ;rQVsXer1Q23?h7oRH$<@->jF6e zH-LVtFWzGF+RxtZ?rxOXtAGCjhKz+6jWm>1{1;BWD5Y6hHasV#8`WC(^{Cwyw)#TS zwnP?EI>g7zOLfZR*jre@G?)oI)M~;_*@iPgpG9XC8L)esdQdnCWdX?KVl`Ri zG;x$Y;`o*5>$7}MAPYPGknN3)i2+ErO6JrW7Mgn}r;-FS1vB%ru4LgTN&5=xPai%2 zlE~WK7f0s=sx)qDC(@^nA9?xsz`ku;n?glF`+*DXVKY-x=Er8u5<98(OW0;@Y(}V# zZrADor6!Q;K;2bURKFMQ9lvB$Ti&o2d6LD_X0p)C-kv$Zyt{{aHbCUHK02&F_{Hm{ zy}x^U`~P_XZrws>mxaB31Cm&>#wrR>=)%Nly0&dk?d>*Y9piwhsH^QAJgEmW z-Km{aFqsIc2Mu&}9jKQ*G?-%gSU+*|^1zd$g%&$hK8Z!6@;@ZGxiQt{7~>7kY%Focdh5w`IU1berD@AtQ=Y2rvs1b5-lAn014j!Xxa z0RHn6(eVJ=e6Y{j!q1=BfOjBCNb#C6kk%zOx$FsdG`EJ(D@Q;eBUO=~Y`Cl4)hDz- zV2}LK{P)G+;8{o=C^SG+9jS6|qhf6Rf&op1{jD8RS-tT4tf0`s^W3GN;DbP5Vq%h# zgDDx1Gf_L;v#oYTO2IE&LB)|5mjlfod>X>k&72%i)*_s0r!%6@pwhh(^!b4>nJhW$Ia^78|lfk5#8L-vQg$CT6o%K?rO$BK%_b#@L8e0D!z zckL8OLlmPVLcXQ6(;iZ%g>`*>6&sapGh?0=gX4Z+ zD~mLEUB&lyOG^txatcg8%)SJnF4*}Xa}^w`xB>nizBm*X4>GSva2cXWuOq!ltTmb4 zGM#YrDHIi)5P5Y2wB;EaU-nr8D}a+0=VEJO!Y(cwJ;J?Yi+)(1Y1+H2^-=92Mcd0$ zkz(QbF}bP2`Ssi6U^RjepsE@7rdj$)DQDCoLGH0{K+@rAhJWV~FT$4+zPRiHuaCkR zWFFAjF0rkqQ7Ic-WVD9>>uHIJHA>{Qp;HWqogvBvM+NQJ#LcANN0AawqoAiCKx&Ed zgL45E!V`1huS0qWTbmY!knx7K`63W9fscOvM(BaPnvGUh#Lc&bo@kRk>qu-Ai`pdb z(xx+TUGo$<$Qy|73B(G$MBYl}dgGbS@IMkE@iQHJq>VR4ugQwa_n!@*oj=RZ!{ffw z)SiACMW6S#SMpUpQ%^v2=^Z%mX=Wz8eG$0{@`bY3P$|eJ6nbHBq2trfU%g|to!Yg~ z&G`$Rx_#GnGkW7Dk3SCiCH=J%m>Mm1(WHbcS7MI93=hz2cceij=>}dNvU6>UWO{+l zu&!iP3i0nFwOF+lMdt^R)5~ad@P*uqKIWZ{jVdS+$z)o>M}Ws1IGf2zIBht9+7k1y ziIfx-^<^uzkB@Iub7~P5{Dzr3^NO=}_f^KoJv)A!P6aG;$o@#Ar)x7=elei%sUH}@D(D($i z@N2dEpW1wHTHI+w&4piYU+4YE+06s3cUxp+~764&D0+NCiXf3Tg>5vWgBY0* z1dISgU$l3Cgr^CpY-~IaO}nqJ4?RYZ+gTattqnp$A78#~Y+>;V2PyFT+u85m+4X*e ziSp8umAr)4_>EEu@#JCtKrqFi!kg`-Tygi8J(^Xxx8U_ zYiswQB?xFlcOOj7r_Y>$mk&-5oGp4c+U^dt7aqnaov0`sl;>q-bI=1Y)Z*XTS}cd~ z#VqUiy_D7BY2^^aFGLNN)uLlMOUcLGvXwTtLmX}AvAq!`y5PL~MfsUhN zGtAsC?!zz!Yb2Ant~c$5{Efa?3E!VHhHpoQUcI`HgAZ*MUz+c{H6SzkqZoxc5XeDh zM;++EcmdFPU`=%MZkinJRDc|Ik|Z`3PgQfaZ260{0EUemjRVox*r>E;47?%U{h@oW_B5Vf*_Gaj z14Cu^;N^hJ5YTmj`E2;y0{~Yv0OP67Gfcku5vCFGcz9??33Ro{AhomA%ZquNC0bp7 zyxSi=0QRS%yj<&}$LZ5p9ZBTiKxHZNJqAe~>lDDc6Uq4E)rEc_V6srM5?c)d0s@^bl(kGf4)_Ru~pPS@+#Ks zl9RU9ya%J^2vQhjVXkHv??JCyiJkA^UiyKShWW`hL~*LfCMTy)+_Ps-XIB@DrP!FO zrlRr{XT@luEtDL-2(AD$6`gzSUp3fEgyqT|lt3 z9raK8mV-p&3z%?b>*_S%%?Fuy?AS4!fQv8KSROdo*gS+W8dWsTJ_!GQxRHbAol0x{;vNEMQlMFN52xaZ`Q_!?`78jJV0Eu$XD|6BxR@YfAq#zck#pqe(F=eLKkPRRNsjDnY%yCho99Q0Of-3l8Wu2MqR5p!(c zTMy^-edHjdvDvtW2Ca%-o}MVKf%;njUqIL*C>|)X5LOQ&q2&_E3}eY~NANS75qk#& zWjTU_S4<9zam9oBE+{UJeeBdaMEAR(C3RjQIyWeVk`HqY`V=agnzoWrf|RVSowpT- z`K0vTy<0dAco$HBuU#9%r9cq~z!vc7#nx&jYh1Q zo3=9#fVCk1LA4oKp9U%qv<$o^7}XG=sEleCaY3AG7Om&V#?DDf%E~7mjN!t0d3!rh zH58=jSF=kXDR3)v2yfx;UU&$OgVG>DDJ?F3IzE0>TYCy=rk;tOQ?%MwGOEBcPNI5% zbcKtD2Wz<}Z+-lDyp(V8%diXxC(y(AF}Q$FD&ZT1?|`1tjV7r6{vYzMlh;BqK@I%l z2C$$wmnV9U73wxr$NvgTy{)Xn(Wct-^^Fl(yuH670zkZ6*hti2`gG9V{tccKSoy|A z_3iRLFMcyjGj!~Qs~qXnVUo6 z51D->VP$271Z_SBZ4V2C5gK2CZKqwiicAWy*qED}i(;KdAg^1JVaR99w&g_dT6~325B;Z5=7rs(P!a?geGA%q>Wo2cE=;MGc!WIqlp7kc0UMu;^-reF&5U4z_~}HbcQ! z4+(C0d&CoGclTfT9I*dry`>R(etMIjvo<6@{@9hjf9aLR6L@5roA?1hK_}xIElq(0 z#!MKR*k_*>aR{Ihewm#W06BQ%$QE8+hQ;NhsWFuNMqFjQDw=&^e}A7U?fv}WLoG%~ zRoQ~NEGaD1MH4k*@c+82SfyaYk| z_AR{ll8_@2Sc&=2QXm#sSX&3;Nze!@z@ml4O}6&-zn?~Hi>8ix{{~MCQUga3Ph|Sb zmp333ZNV!{)^KdItdzoKh~gM;JG(h^SRd2~*}@m_ig0Q0HBR|HrzMT4e<$csSv z18y0#)!<=HL6wJ;0Si3*uem-VXhOnM?dJa>xSz0Xw-Bv~2#FQ97{3$a3g8z52oky4 zgCGxOuk}HV$V_2f-EX`g9Qdl=d0XY>D^ciWrl)g5@c;M`{h7qZX8ciGIHDk+7>Lt- zevQT^)E;|r<>Admyh2U{DhJ8-?b|n$r>G{DLt?AuO+Kllu0JI`%FXN%nSrtKG?>0T zo|d2mQH*X$KF;`c3VN|`U5 z7C_)FTeJf%RZcDhf#-0(K(j??M$3i2xTwh8*_meVAGpHtEs*bk;A~&vhag6wnJ)Hy zE&e~|Z&30Tl$FtCh~zc<`LotvU|q3P19$-7Q^n+_q~zrO?rtq2synD#Q$q2Sd|(Mw(m+*_*zDM)JminmnogZI~udB`ZG)$JeHBD{FavdAt>XKc64=N&IZRB+A!ub zSNNCXoyg66A(8(bo_wspYe0ipXdWVL&>>Y5;g+qRv14qR2|lu29!Z^bGYx; zgSafh)(4^yaRihyDUq3;_>){taE{lNBk+;$0`&yZNBm@qIhRwfa=T z*3XwDyiBo+I>F7=!p*ttSVDJu!j>n<)VVM5v8DUEUK5$$r8{l6k`f@fUrOY-^KUrjqS2VO0p&RT z#tn3vl;q`6nIr@>WY=BS5R6ZqI3Xn?gEjDE;WHqSQLtPZRmWw9uHdYLni(Yn_@03x zh%s7i!9fMKvJ5RUr&k_SRZ&So_vgdIzYr}+tU>|;!N0y(v9{ymSXVm!tK=UGqo6nuMzh;_7HVYgS=BSiG?ljr({HF zVMz%hYBQ+mFJHW5WXeF%jlFqux3tvX-#^^6xT4~aqoW3zI0pw8abqDt%52|0zqIuB zzB`K}3$tq#**_4KHg07eE9pQoCBJIyD+v9)%F5>wf~OZ(a0_zO=f}A&8o+XV46+si z6jiN9d5Jj=K>7$zc&6xvk0p7XJc+x3iWe-|N2(5qGy^gMy-yfGag6X)ku$$a_~sq_ z>n9hCNYnx(;m8M<0g%#dAN;Nve+21+G=YnPN*&dv!9er!`E?|ANKbgj`C9>G;pK8p zqFITjniPU?(a;|W{RQN7t2zQEdRLH6XfN}SYv4|kyvk%6;17+rI;#H@8Wk;VZ06?X zHq1(;a{DnNfG@EVE)#jjMyl)I$4BAjz<`8Y7LrsboUr)x!e}lBPw%#CthKcjUTFnR z=wK=M2eoHP%KUgw0~itr>nMi+FJX23dx}pvUKbBx@z*a9`v^B?lAAAnc`ZugWqAC! zq((Q9j9-g)3GhSPqa?UfL*pHOZfg(xjm`g^NF_Yu{CWUD3WPsIMt-yyd_L&ByHnvg zatvCGaa{muk?#SQrO z0uBN&TC}6;?3XaiOo)$n>45`MDk`HdU;3grqKlwm5R!a@5C8f#HEBW`!sl!T3yF`Hg!6_A zsc-{;-B(3OMHW-redt{sXmU)@?9Rf*_V4lA5F9TQ@93Mdvs?M}CVG_leA2vY1dcfh zS_w(J`IYlvK9Kbp34}OZQ63)j)MX=BcK7z4^C~>@M288*^1ZUM$G`@_z4(K;i|479 zW>~YJNNlYC!*7Uy+xF@42QK$O*k}fNo2tV@UhYv?vE^eg}4CkpD^QK97 zaspqFtumNE;M6BQ#-J&h1R__rZ;dDED9vZi@0T#xamNmi&Ef(`>mq3h77$YZTtG0>ru4|xN3uSHj^D^3I z8HRJnZxJp9Ii{bKBpVfBD*;V0;*OF(e_a2k_Mz$ci}mWpZ%=E9@V=*gfaz^pe(x(M z;dgt`a(Djz9Y_?Vx%MUO?4329$ZvLs4_`$$l5<-m(5kqU)C5LmA(lB0eqAM2@s;j> z`|@Sm^a4(1-a3nI!{Zz$6%8PblP6^~l4+P|!>0d56k&i9!zTB*mi5E4`Bs zsJ+zMdFM_;@wD`GOGn3T&YkpBy`-y)kz50Ue*4{#c;`gyY(^m&$wW=laC~Aii8F@0 zH8g~P0ZmTk=x_mH_}|;NLP?@PwW4pwTjG2+E&uTP_Lyv%^S$d4&&z1g*;icny|Yc& zBA3^3YH_5owGFPM!-o$WxXSO?p^Aw~wz9t$7G92wTpEYX1Y{Ijlsq@{mCKirw-~;N zo;Ku(*M)c&w(vftx_SYaI`8Ak!%+5pPDV!3d-i1L7a;M_MecveA1$tU)og!RQPBr* zB8Z_jmX?HHJOlZO2?>akb6>tNEB+pDPHLah)z`;~WkXKW_`L2l!Ea(<$R;e%Tc(Z@}*!^)KDCkPf>3!jbcPraCDFrV>1m17wP1N>@epy;siS|$o z6dQup^VoVrG8OdfA)rM}784<9DXPDH$2x((0ki-di`nHN)6SQ!jJ; zCtR!fJ7is3*<~vbSD@K$-n1XMac6h$+(E^4Kh4_y%KY1Ro695&R>{{g~qwtft zg#u~*UcYtgG;rIGACFN0bRfEE7|kjDKW@ z1UK^?OD~Ka#oRWS3_4vGaD%9H^yYh&l@F_`N-HYRZ>JW3|HdL>4&LbIO{!c*otR3p zfMLqSq^_n$NYRyG8U8&UA|cQde2l<3807Q>85M~Nad7d#;0fnvIKZ&~_=9B!I2OD@ zZ4f~N7&Xc4rHg6{H_C+y%^!31%9BTS9ZUDyG4jt$=tz zLVPti2(rUK5b*^7RQ>En)*F3P=lSZ=9W=bc!2l&X6rmCRT37=p-m^HNfKN0AxMCMj z7p6FJZ`-EfF_4Gq#>2}CN~v|>G1$ieFHup)Msb-a;j|-}<5wYFz`FSQwY3(X8tO9$2+r2_WP%It7mz{vvuMi*lhsB#qY z;a6xVvN+~V=s0-GOVccXM~5~#%$JDki{9-DjE&AWd^S9wP=JIy?I7_8~~Ge3{W zSp;$5-o5WIyup(>bmynJ6y1?lbX8#_FOVN<9hTMxaNJ1SW;3A@6tU%yZ(q5Q$0cfLwju^VN#^9Yy>ytc+afSrMt-l0hodFYPR%5V##9?-#MUx- z?A4yYhoV2{ry@j?@%i^rv^6j7_>xw$QP4}TM$hse)EahootoPP(y2f zx0IBj&#!%kPjv@(NE*)XRZ{A(>Uu{y{}F{(ertY1L&Kv-!4GNv`qZ!x=#bgAC3j8v zK!Of`m?CbwOPtBN^Py8h){(gj_r#Wu`5toA)9dW-H{H%1c;k&US3JDQpy4K4s^a6y z8Du$8XN*7X{53=ia4IGB2`QOzTeoetcptx%tvzBQH?uq1hn6pjzta~@r7@sWCceKb zslY7yYTLX0*|PW+RkBOR-%c*V;Fnza`<^l=r0(n5T*j04=&>j&x8KIxJVFyws)i0S zUSK`L$j`!G<ȿ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

IXCRtPm~gYWxcL5kh0ot0CU824{if@g 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 Menahp%I(nq3)*DhI{*Lx literal 0 HcmV?d00001 diff --git "a/docs/zh/Contribute/markdownlint\346\243\200\346\237\245\350\247\204\345\210\231.md" b/docs/zh/Contribute/markdownlint_rules.md similarity index 99% rename from "docs/zh/Contribute/markdownlint\346\243\200\346\237\245\350\247\204\345\210\231.md" rename to docs/zh/Contribute/markdownlint_rules.md index d7a8cf0..2dc12ff 100644 --- "a/docs/zh/Contribute/markdownlint\346\243\200\346\237\245\350\247\204\345\210\231.md" +++ b/docs/zh/Contribute/markdownlint_rules.md @@ -820,7 +820,7 @@ markdownlint 是一款检查 Markdown 文件格式的工具,可以根据设置 [EOF] ```` -## OpenEuler 规则设置 +## openEuler 规则设置 - openEuler 规则采用如下方案: diff --git "a/docs/zh/Contribute/markdownlint\351\224\231\350\257\257\344\277\256\345\244\215\345\267\245\345\205\267.md" b/docs/zh/Contribute/markdownlint_tools.md similarity index 100% rename from "docs/zh/Contribute/markdownlint\351\224\231\350\257\257\344\277\256\345\244\215\345\267\245\345\205\267.md" rename to docs/zh/Contribute/markdownlint_tools.md diff --git a/docs/zh/Contribute/public_sys-resources/icon-caution.gif b/docs/zh/Contribute/public_sys-resources/icon-caution.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/docs/zh/Contribute/public_sys-resources/icon-danger.gif b/docs/zh/Contribute/public_sys-resources/icon-danger.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e90d7cfc2193e39e10bb58c38d01a23f045d571 GIT binary patch literal 580 zcmV-K0=xZ3Nk%w1VIu$?0Hp~4{QBgqmQ+MG9K51r{QB&)np^||1PlfQ%(86!{`~yv zv{XhUWKt}AZaiE{EOcHp{O-j3`t;<+eEiycJT4p@77X;(jQsMfB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git a/docs/zh/Contribute/public_sys-resources/icon-note.gif b/docs/zh/Contribute/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda GIT binary patch literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> literal 0 HcmV?d00001 diff --git a/docs/zh/Contribute/public_sys-resources/icon-notice.gif b/docs/zh/Contribute/public_sys-resources/icon-notice.gif new file mode 100644 index 0000000000000000000000000000000000000000..86024f61b691400bea99e5b1f506d9d9aef36e27 GIT binary patch literal 406 zcmV;H0crk6Nk%w1VIu$@0J8u9|NsB@_xJDb@8;&_*4Ea}&d#;9wWXz{jEszHYim+c zQaU<1At50E0000000000A^8Le000gEEC2ui03!e%000R7038S%NU)&51O^i-Tu6`s z0)`MFE@;3YqD6xSC^kTNu_J>91{PH8XfZ(p1pp2-SU@u3#{mEUC}_}tg3+I#{z}{Ok@D_ZUDg- zt0stin4;pC8M{WLSlRH*1pzqEw1}3oOskyNN?j;7HD{BBZ*OEcv4HK!6Bk6beR+04 z&8}k>SkTusVTDmkyOz#5fCA$JTPGJVQvr3uZ?QzzPQFvD0rGf_PdrcF`pMs}p^BcF zKtKTd`0wipR%nKN&Wj+V}pX;WC3SdJV!a_8Qi zE7z`U*|Y^H0^}fB$R?oG%6hQ z+MMLZbQBH@)Vg&1^3?qHb(5!%>3r0+`eq=&V&E}0Dypi0000000000 z00000A^8LW000R9EC2ui03!e$000L5z=Uu}ED8YtqjJd<+B}(9bIOb$3-31_h|V>=0A{ z1Hh0#H30>fNT})^fRU_83uewx9oRr{f{Sx1Ml`t)EQ zGkHZ67&~y{W5Jpq4H_WfuLxp*3<7O}GEl;1ESe36fLNs=B0&LQM1Buf(R)qg(BRd`t1OPjI1m_q4 literal 0 HcmV?d00001 diff --git "a/docs/zh/Contribute/\345\206\231\344\275\234\350\247\204\350\214\203.md" "b/docs/zh/Contribute/\345\206\231\344\275\234\350\247\204\350\214\203.md" deleted file mode 100644 index 7ea558d..0000000 --- "a/docs/zh/Contribute/\345\206\231\344\275\234\350\247\204\350\214\203.md" +++ /dev/null @@ -1,302 +0,0 @@ -# 写作规范 - -## 文档内容 - -根据文档分类如用户指南、开发者指南等,选择合适的大纲,要求能简洁清晰的实现文档的目的。 - -- 开源项目做什么 -- 什么语言编写 -- 项目维护、CI、依赖更新状态 -- 项目可用版本及其他版本 -- Demo 或官网地址 -- 功能特点 -- 获取 -- 安装 -- 使用(操作步骤、接口文档、开发指南等) -- FAQ - -拟定文档大纲,编辑文档内容,针对文档内容做如下规范。 - -- 提交内容必须是与 openEuler 特性相关内容。 -- 内容不能包含敏感信息、有强烈的种族歧视或性别歧视的内容。 -- 提交的内容必须是原创内容,不得侵犯他人知识产权。 -- 提交的内容必须客观、真实,不允许使用夸大宣传等词汇。 - -## 文档结构 - -项目手册内容一般包括用户指南、背景介绍、操作类文档(安装与部署、使用指南)、常见问题和附录,写作者可以根据项目实际情况增加或删减。 -以[A-Tune 项目为例](https://docs.openeuler.org/zh/docs/22.03_LTS_SP2/docs/A-Tune/A-Tune.html),可以参考如下内容: - -- **用户指南** - - 用户指南包含项目介绍和读者对象。 - -- **背景介绍类** - - 背景介绍类文档写明项目背景与简介、架构说明等。 - -- **操作类文档** - - 操作类文档写明步骤、注意事项、前提条件等,以便能对其他开发者起到帮助。 - - - 使用说明 - - 说明此操作在什么场景下使用可以解决用户的什么问题。 - - - 环境要求 - - 执行此操作需要用户准备的软硬件环境、权限以及其它约束条件。 - - - 操作步骤 - - 具体的操作步骤,需要注意如下事项: - - - 建议一步一个操作步骤,不建议多个操作步骤合并在一个步骤中描写。 - - 如果操作可选,要明确可选条件。 - - 开发步骤中,涉及调用接口(例如使用了工具或者 SQL 语句),需要对使用的接口进行说明。 - - - 结果验证 - - 说明如何验证操作结果正确。如果验证操作与步骤强相关,可以在步骤中描述。例如,执行 SQL 语句的返回信息。 - -- **常见问题** - 此类文档应该包括问题描述、产生原因及解决办法。 - -- **附录** - 附录可包含术语与缩略语介绍。 - -## 命名 - -对于新增文档,请在对应的文件目录下新增 MarkDown 文档(即以 .md 结尾的文件)。文档命名需要根据文档的内容声明。 - -- 新增文档名称不能与已有文档重名,如果有请重新命名。 -- 新增文档之后,需要在 menu 文件夹下的 index 文件中新增对应的目录,否则新增文件无法显示。目录层级不建议超过三级。 -- 文件名中不能包含括号,会导致文件目录无法正常显示。可以将括号修改为可识别的下划线(\_)或者中划线(-)。 - -## 标题 - -- 标题尽量采用简洁的语句概况反映章节的中心内容,注意不要省略必要的信息。例如:xxx概述,如果用概述来代替,就会导致读者无法从标题中获取到有用信息。 -- 操作类文档标题尽量用动宾结构(例如:申请权限)。 -- 相同级别,相同类型的标题结构保持一致。 -- 标题不使用标点符号结尾。 -- 标题中尽量采用圆括号来表示补充说明,标题中不能出现特殊字符,如“?”。 -- 标题与正文使用 1 整行换行隔开。 -- 标题使用 “#” 空格连接标题名,标题级别一次只能增加一个级别且第一个标题应该是顶层标题。 - -## 目录 - -文档为以 .md 结尾的文件,存储在 路径下。 - -docs 文件夹中包含以下内容: - -- zh:全量版中文资料。 -- en:全量版英文资料。 - -根据文档所属的手册,选择对应的文件夹。 - -- 目录层级不建议过深。 -- doc 仓库内新增文档需要同步修改 menu.json 文件,才可以在官网文档页面展示该文档。 -- doc 官网会在右侧自动生成文档的章节目录,不建议额外增加 TOC 目录。 - -## 正文 - -- 可使用*斜体* **加粗**样式。 -- 该转义的字符必须严格用转义符 \ ,例如 \* \< \> \_等。 -- 如果有连续两个转义符,转义符之间要有空格 \{ \}。 -- 国际化:需同时提供中英文文档,可联系协助翻译。 - -## 空格 - -- 编辑文档时中文和英文之间建议加空格,页面展示更美观,请保持全文一致。如果是产品名词如 “豆瓣FM”,请按照官方定义格式书写。 - - 例如:openEuler 是一款开源操作系统。当前 openEuler 内核源于 Linux ,支持鲲鹏及其它多种处理器。 - -- 中文和数字之间加空格。 - -- 数字和单位之间不加空格。 - -- 链接与正文之间加空格。 - -- 全角标点与其他字符之间不加空格。 - - 例如:刚刚成为了 openEuler 的 maintainer,好开心。 - -## 图片 - -- 图片统一存放到文档同级目录下的 figures 文件夹中。例如,[A-Tune用户指南](https://docs.openeuler.org/zh/docs/22.03_LTS_SP2/docs/A-Tune/A-Tune.html)中的手册中使用的图片,统一存储在 [A-Tune](https://gitee.com/openeuler/docs/tree/stable2-22.03_LTS_SP2/docs/zh/docs/A-Tune/figures) 路径下。该文件夹下的文件引用图片时,使用相对引用。 -- 请使用原创图片,避免存在知识产权侵权风险。 -- 图形清晰可辨识,图形信息完整,例如流程图有“开始”和“结束”。 -- 图形逻辑清晰。 -- 图文配合使用,切忌图文分离。 -- 图片格式首选 png,此外也接受 jpg。图片的高不超过 640px,宽不超过 393px,图片大小建议不超过 150K。 -- 中文用中文插图,英文用英文插图。 -- 图片路径不能包含中文。 -- 图片后缀也必须是小写,不能出现 .PNG 这种大写后缀 -- 图片建议根据内容命名,只用数字序列不利于后续图片的继承。 -- 如果是截图,请在允许的范围内只保留有用的信息。图形中需要突出的关键信息,可增加红色框线或者文字备注说明。 - -图片写作示例: - - 图片以 ![](./figures/pic_name.png) 格式书写,“./” 不可少,否则图片无法显示到现网。 - -## 代码块 - -代码示例说明了如何实现特定功能,开发人员使用代码示例来编写和调试代码。代码要求如下: - -- 代码的逻辑和语法正确。 -- 代码的输入和输出尽可能的分开。 -- 保证代码中关键步骤要有注释说明。 -- 代码源于具体实例。 -- 文中行内代码和命令行使用 1 对反引号 如: `代码行`。 -- 块级代码使用 3 个顿号或 4 个空格(不能用 TAB 键)缩进,且上下均用整行隔开,如下: - - ```python - #!/usr/bin/env python3 - print("Hello, World!"); - ``` - - ```c - #include - int main(void) - { - printf("Hello world\n"); - } - ``` - -## 列表 - -使用列号 “1.” 或者 “*”,其后内容空格隔开,示例如下: - - 1. 一层列表 - 2. 一层列表 - 3. 一层列表 - * 二层列表 - * 二层列表 - -列表内标点符号使用规则: - -1. 当项目列表是术语、短语时,统一不加标点符号。 -2. 当项目列表是句子时,统一加句号。 -3. 特殊情况下如果不能避免出现短语和句子混合的情况,统一加句号。 -4. 项目列表前几项以分号结尾,最后一项以句号结尾的形式也可以接受。 - -## 注释符号 - -文档中会出现以下注释符号,代表不同的使用场景和提示程度。如果需要提示用户注意的信息,可以根据重要程度选择对应的注释符号。 -![image](figures/SafetyAlert.png) - -## 链接 - -链接需要确保指向的目标文件存在,否则会造成链接跳转不正常,不建议使用 HTML 的链接样式。 - -链接示例: - - 这是一个链接 [菜鸟教程](https://www.runoob.com)。 - -## 表格 - -Markdown 文档中请使用以下方式创建表格,不建议使用 HTML 的表格样式。 - - | 表头 | 表头 | - | ---- | ---- | - | 单元格 | 单元格 | - | 单元格 | 单元格 | - -单元格内标点符号使用规则: - -1. 当表格内一列全部是术语、短语时,统一不加标点符号。 -2. 当表格内一列全部是句子时,统一加句号。 -3. 特殊情况下如果不能避免出现短语和句子混合的情况,统一加句号。 - -## 常用词汇 - -| 不建议使用 | 建议使用 | -| ---- | ---- | -| 阀值 | 阈值 | -| 登陆 | 登录 | - -## 标点符号 - -- 单位与数字之间不建议加空格,比如 50m,10kg,64Kbit/s。 -- 对于有序/无序列表,如果是长句子,建议统一以句号结尾,如果是短语,结尾可不用标点。**重点是前后一致,要么都加,要么都不加**。 -- 中文文档使用全角标点。 -- 数字使用半角字符。 -- 感叹号使用场景为可能引发严重后果的操作或设备安全、人身安全的警告。其他场景不允许使用感叹号。 -- 文内引用其他文档件事添加书名号,同时建议增加引用文档的跳转链接。例如:安装 openEuler 系统,安装方法参考《[openEuler 22.03 LTS SP2 安装指南](https://docs.openeuler.org/zh/docs/22.03_LTS_SP2/docs/Installation/installation.html)》。 - -## docs 仓库提交 PR 和 issue - -1. PR 规范 - - - PR 标题清晰易懂,内容描述详细具体,一个 PR 只包含一次提交(git log,git reset commit id , git push -f),一个 PR 只涉及一个主题修改。 - - 需要 2 个回复 /lgtm,1 个 /approve,一般需要需求提出或文档相关责任人进行审核。 - - CI 格式检查成功,需要满足无 markdownlint 报错。 - - PR 需要关联 issue,每个特性需求 /bug 都要转 issue 跟踪,并关联对应版本号。 - - 新增文档需要同步修改目录文件 menu.json 文件。 - - 对于同步维护的分支,PR 需要分别提交到对应分支上。 - -2. issue 规范 - -有文档需要合入需要先新建 issue,内容表述清晰即可,如果是 bug 需要指出具体哪个版本哪本文档需要修改。 - -3. PR 提交建议 - - - 修改同一类问题(例如末尾句号)建议全文一致,不仅仅修改一处。 - - 建议将同一篇文档的低错问题修改条在一个 PR 里。 - - 建议在评论区使用 /sync + 版本号的方式将当前 PR 修改同步到其它分支。 - -4. 文档贡献中不受欢迎的行为 - -短时间内通过自动化工具,提交大量的PR,提交大量的处理诸如拼写错误,语法错误,日期错误,语句不通顺等“无害的错误”的修正。 -具体内容以及处理措施详见 [openEuler社区开发行为规范 V1.0](https://gitee.com/openeuler/community/blob/master/zh/technical-committee/governance/openEuler%E7%A4%BE%E5%8C%BA%E5%BC%80%E5%8F%91%E8%A1%8C%E4%B8%BA%E8%A7%84%E8%8C%83.md)。 - -## 资料PR检视Checklist - -- **规范和低错类**问题 - - 错别字或拼写错误;标点符号使用错误 - - 链接错误、空单元格、格式错误 - - 英文中包含中文字符 - - 界面和描述不一致,但不影响操作 - - 表述不通顺,但不影响理解 - - 版本号不匹配:如软件包名称、界面版本号 - - 相同内容在同一文档中写法不一致 - - 软件名称书写不规范 - - 描述口语化 - - 图形、表格不符合规范 - - 专有名词的写作不符合业界规范或拼写错误。 - - 成双成对的标点符号使用过程中有缺失另一半,或使用不规范 - - 标题和正文中,命令的大小写写法不一致 - - 图片不显示、超大,超出正文或页面宽度、变形、缺失或冗余 - - 命令解释和命令写在一起 - - 相同内容在同一个地方重复描述 - - 操作截图与实际环境不一致 - - 步骤中命令行和回显中的命令行不一致 -- **易用性**问题 - - 关键步骤错误或缺失,无法指导用户完成任务 - - 缺少必要的前提条件、注意事项等 - - 操作场景不明确 - - 图形、表格、文字等晦涩难懂 - - 逻辑不清晰,该分类、分项、分步骤的没有给出 - - 步骤不易理解和学习,如命令缺少描述 - - 已明确说明不支持的场景,又给了该场景下的使用方法或约束 - - 文档名称不规范,根据文档名称不能快速定位手册描述重点 - - 步骤描述和实际的操作不符 -- **正确性**问题 - - 技术原理、功能、规格、配套版本、OS 等描述和软件不一致,存在错误 - - 原理图、架构图等存在错误 - - 命令、命令参数、IP等错误 - - 命令无法完成对应功能 - - 界面错误,无法指导操作 - - 链接本来就是错误的,跳转的版本或内容不正确 - - 链接未失效,但是所需内容已更新不存在 - - 代码格式不规范,如未换行,或缩进不正确,括号没有匹配等 - - 命令行中有多余的空格,导致命令报错 -- **风险提示**问题 - - 对重要数据或系统存在风险的操作,缺少安全提示 -- **合规**问题 - - 违反法律法规,涉及政治、领土主权等敏感词 - - 内容侵权 - -## 参考 - -您如需获取更多写作技巧,请参考 [Markdown常用语法参考](./MarkDown常用语法参考.md)和[markdownlint检查规则](./markdownlint检查规则.md)。 -- Gitee From c688011d8a0a5414549538fc71403b7254dad5f8 Mon Sep 17 00:00:00 2001 From: luckyasme <807254037@qq.com> Date: Tue, 11 Mar 2025 09:28:14 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vitepress/src/stores/menu.ts | 2 +- scripts/build.js | 34 ++++++++---------------------- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/docs/.vitepress/src/stores/menu.ts b/docs/.vitepress/src/stores/menu.ts index ddf52b5..a502957 100644 --- a/docs/.vitepress/src/stores/menu.ts +++ b/docs/.vitepress/src/stores/menu.ts @@ -45,7 +45,7 @@ export const useMenuStore = defineStore('menu', () => { const updateExpanded = () => { const node = rootTree.getNodeByHref(rootTree.root, menuValue.value); - if (!node || node.depth < 3) { + if (!node) { menuExpanded.value = []; return; } diff --git a/scripts/build.js b/scripts/build.js index cc7d196..469da72 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -67,7 +67,7 @@ function parseHref(href, label) { /** * 获取以 title 为 label 的节点 - * @param {string} filePath 文件路径 + * @param {number} level 标题等级 */ function getTitleNodes(filePath) { // 检测文件是否存在 @@ -88,38 +88,22 @@ function getTitleNodes(filePath) { // 解析获取 md 指定等级的标题 const md = markdownIt().use(markdownItAnchor, { permalink: false, - level: [2, 3], + level: [2], slugify: (str) => slugify(getMarkdownOrignalContent(str)), }); const tokens = md.parse(markdownContent, {}); const headings = []; - let lastH2; tokens.forEach((token, index) => { - if (token.type === 'heading_open' && token.attrs?.find(([key]) => key === 'id')?.[1]) { + if (token.type === 'heading_open' && token.tag === 'h2') { const id = token.attrs.find(([key]) => key === 'id')[1]; const mdPath = parseHref(`${filePath}#${id}`, ''); - if (token.tag === 'h2') { - if (lastH2 && lastH2.children.length === 0) { - delete lastH2.children; - } - - lastH2 = { - type: 'anchor', - label: getMarkdownOrignalContent(tokens[index + 1].content), - id: mdPath, - href: mdPath, - children: [], - }; - headings.push(lastH2); - } else if (token.tag === 'h3' && lastH2) { - lastH2.children.push({ - type: 'anchor', - label: getMarkdownOrignalContent(tokens[index + 1].content), - id: mdPath, - href: mdPath, - }); - } + headings.push({ + type: 'anchor', + label: getMarkdownOrignalContent(tokens[index + 1].content), + id: mdPath, + href: mdPath, + }); } }); -- Gitee From 398190558f1651cf75c8ac42e74edacd31d4234e Mon Sep 17 00:00:00 2001 From: luckyasme <807254037@qq.com> Date: Tue, 11 Mar 2025 10:58:20 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0gitee=E6=9D=A5?= =?UTF-8?q?=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/assets/category/docs/icon-gitee.svg | 4 ++ docs/.vitepress/src/layouts/LayoutDoc.vue | 63 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 docs/.vitepress/src/assets/category/docs/icon-gitee.svg diff --git a/docs/.vitepress/src/assets/category/docs/icon-gitee.svg b/docs/.vitepress/src/assets/category/docs/icon-gitee.svg new file mode 100644 index 0000000..a172b2a --- /dev/null +++ b/docs/.vitepress/src/assets/category/docs/icon-gitee.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/.vitepress/src/layouts/LayoutDoc.vue b/docs/.vitepress/src/layouts/LayoutDoc.vue index 145321b..e8d6f15 100644 --- a/docs/.vitepress/src/layouts/LayoutDoc.vue +++ b/docs/.vitepress/src/layouts/LayoutDoc.vue @@ -383,6 +383,56 @@ onMounted(() => { onUnmounted(() => { maskRef.value?.removeEventListener('click', handleOutClick); }); + +// -------------------- gitee -------------------- +const getGiteeUrl = () => { + let pathname = window.location.pathname; + if (pathname.endsWith('.html')) { + pathname = pathname.replace('.html', '.md'); + } else if (pathname.endsWith('/')) { + pathname = `${pathname}/index.md`; + } + + // 贡献指南 + if (pathname.startsWith('/zh/Contribute')) { + pathname = pathname.replace('/zh/Contribute', '/contribute'); + return `https://gitee.com/openeuler/docs/tree/25.03${pathname}`; + } + + // openstack + if (pathname.includes('/OpenStack/')) { + pathname = pathname.replace('/zh/Virtualization/VirtualizationPlatform/OpenStack', ''); + return `https://gitee.com/openeuler/openstack-docs/blob/openEuler-25.03/docs/zh${pathname}`; + } + + return `https://gitee.com/openeuler/docs/tree/25.03/docs${pathname}`; +}; + +const insertGiteeBtn = () => { + const link = document.querySelector('.markdown-body .gitee') as HTMLAnchorElement; + if (link) { + link.href = getGiteeUrl(); + return; + } + + const titleDom = document.querySelector('.markdown-body h1'); + if (titleDom && titleDom.nextSibling) { + titleDom.style.margin = '0'; + const container = document.createElement('div'); + container.className = 'article-detail-container'; + const a = document.createElement('a'); + a.className = 'gitee'; + a.href = getGiteeUrl(); + a.target = '_blank'; + a.title = '在Gitee上查看源文件'; + container.appendChild(a); + titleDom.nextSibling.parentNode?.insertBefore(container, titleDom.nextSibling); + } +}; + +onUpdated(() => { + setTimeout(insertGiteeBtn, 100); +});