From 59e673a0cd62e91df53864570504889f6b1cb1fc Mon Sep 17 00:00:00 2001 From: "[yang]" <[494846880@qq.com]> Date: Fri, 11 Sep 2020 20:40:18 +0800 Subject: [PATCH 01/12] Description: update docs Reviewed-by: WANGJING --- contribute/faq-template.md | 36 ++++ contribute/tutorial-title-task-name.md | 48 +++++ ...41\347\214\256\346\226\207\346\241\243.md" | 4 +- docs-en/get-code/source-code-acquisition.md | 18 +- docs-en/get-code/tool-acquisition.md | 10 +- ...ping-the-first-driver-running-on-hi3516.md | 11 +- ...first-example-program-running-on-hi3516.md | 15 +- ...first-example-program-running-on-hi3518.md | 12 +- ...first-example-program-running-on-hi3861.md | 2 +- ...econd-example-program-running-on-hi3861.md | 2 +- docs-en/quick-start/faqs-0.md | 54 ++++++ docs-en/quick-start/faqs-2.md | 28 +-- .../figures/adding-the-hi3516dv300-board.png | Bin 32367 -> 45781 bytes .../appearance-of-hi3861-wlan-module.png | Bin 174836 -> 174893 bytes ...-for-changing-the-serial-port-number-4.png | Bin 0 -> 98474 bytes ...-displayed-after-the-u-boot-is-burnt-5.png | Bin 0 -> 22299 bytes ...rt-displayed-after-the-u-boot-is-burnt.png | Bin 22299 -> 4957 bytes ...\220\215\345\233\276\347\211\20711111.png" | Bin 0 -> 29438 bytes ...duction-to-the-hi3861-development-board.md | 4 +- .../setting-up-a-development-environment-1.md | 60 +++---- .../setting-up-a-development-environment.md | 12 +- .../setting-up-a-hi3516-board-environment.md | 65 ++++--- ...20\347\240\201\350\216\267\345\217\226.md" | 20 +-- ...67\345\217\226\345\267\245\345\205\267.md" | 10 +- ...72\344\276\213\345\274\200\345\217\221.md" | 2 +- ...72\344\276\213\347\250\213\345\272\217.md" | 51 ++++-- ...345\217\243\346\230\276\347\244\272-4.png" | Bin 0 -> 22299 bytes ...2\345\217\243\346\230\276\347\244\272.png" | Bin 22299 -> 4957 bytes .../figures/zh-cn_image_0000001055148043.png | Bin 0 -> 4626 bytes .../figures/zh-cn_image_0000001055268090.png | Bin 0 -> 4991 bytes .../figures/zh-cn_image_0000001055427138.png | Bin 0 -> 52670 bytes .../figures/zh-cn_image_0000001055427946.png | Bin 0 -> 73375 bytes .../figures/zh-cn_image_0000001055428072.png | Bin 0 -> 20850 bytes ...345\217\267\345\233\276\347\244\272-3.png" | Bin 0 -> 98474 bytes ...\220\215\345\233\276\347\211\20711111.png" | Bin 0 -> 29438 bytes ...\350\247\201\351\227\256\351\242\230-1.md" | 54 ++++++ ...\350\247\201\351\227\256\351\242\230-3.md" | 12 +- ...13\345\272\217\347\244\272\344\276\213.md" | 5 +- ...13\345\272\217\347\244\272\344\276\213.md" | 3 + ...72\344\276\213\347\250\213\345\272\217.md" | 4 +- ...\345\273\272\347\216\257\345\242\203-0.md" | 25 ++- ...\345\273\272\347\216\257\345\242\203-2.md" | 18 +- ...55\345\273\272\347\216\257\345\242\203.md" | 14 +- ...\255\220\347\263\273\347\273\237README.md" | 43 +++-- ...\217\221\346\241\206\346\236\266README.md" | 165 +++++++++--------- ...\255\220\347\263\273\347\273\237README.md" | 38 ++-- ...6\347\225\245\344\270\276\344\276\213.png" | Bin 0 -> 12558 bytes .../figures/zh-cn_image_0000001054762887.png | Bin 0 -> 34952 bytes .../figures/zh-cn_image_0000001055103250.png | Bin 0 -> 66647 bytes ...\345\261\200\347\255\226\347\225\2452.png" | Bin 0 -> 9833 bytes ...\347\225\245\347\261\273\345\236\2132.png" | Bin 0 -> 7247 bytes ...\205\261\345\237\272\347\241\200README.md" | 66 +++---- ...\255\220\347\263\273\347\273\237README.md" | 23 ++- ...\255\220\347\263\273\347\273\237README.md" | 81 ++++----- ...\212\250\346\201\242\345\244\215README.md" | 4 +- ...\255\220\347\263\273\347\273\237README.md" | 26 +-- ...\255\220\347\263\273\347\273\237README.md" | 55 +++--- ...\255\220\347\263\273\347\273\237README.md" | 101 ++++++----- ...\255\220\347\263\273\347\273\237README.md" | 4 +- 59 files changed, 729 insertions(+), 476 deletions(-) create mode 100644 contribute/faq-template.md create mode 100644 contribute/tutorial-title-task-name.md create mode 100644 docs-en/quick-start/figures/procedure-for-changing-the-serial-port-number-4.png create mode 100644 docs-en/quick-start/figures/serial-port-displayed-after-the-u-boot-is-burnt-5.png create mode 100644 "docs-en/quick-start/figures/\346\234\252\345\221\275\345\220\215\345\233\276\347\211\20711111.png" create mode 100644 "quick-start/figures/HiTool\345\267\245\345\205\267U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272-4.png" create mode 100644 quick-start/figures/zh-cn_image_0000001055148043.png create mode 100644 quick-start/figures/zh-cn_image_0000001055268090.png create mode 100644 quick-start/figures/zh-cn_image_0000001055427138.png create mode 100644 quick-start/figures/zh-cn_image_0000001055427946.png create mode 100644 quick-start/figures/zh-cn_image_0000001055428072.png create mode 100644 "quick-start/figures/\344\277\256\346\224\271\344\270\262\345\217\243\345\217\267\345\233\276\347\244\272-3.png" create mode 100644 "quick-start/figures/\346\234\252\345\221\275\345\220\215\345\233\276\347\211\20711111.png" create mode 100644 "readme/figures/bms\347\255\226\347\225\245\344\270\276\344\276\213.png" create mode 100644 readme/figures/zh-cn_image_0000001054762887.png create mode 100644 readme/figures/zh-cn_image_0000001055103250.png create mode 100644 "readme/figures/\345\205\250\345\261\200\347\255\226\347\225\2452.png" create mode 100644 "readme/figures/\347\255\226\347\225\245\347\261\273\345\236\2132.png" diff --git a/contribute/faq-template.md b/contribute/faq-template.md new file mode 100644 index 00000000000..6ded2b7b482 --- /dev/null +++ b/contribute/faq-template.md @@ -0,0 +1,36 @@ +# FAQ:标题(简要描述问题关键信息) + +FAQ页面介绍开发过程中遇到的各类问题及解决方法,帮助更多开发者快速消除此类开发障碍。 + +## 简单类问题写作模板 + +简要描述在完成哪些操作时,遇到的问题现象,以及解决方法。 + +## 复杂类问题写作模板 + +**现象描述** + +- 使用的系统软件、硬件版本? +- 在完成哪些操作时,遇到了什么样的问题? + +- 可能显示什么错误消息? + +- 如果可能,请提供屏幕截图。 + + +**可能原因** + +分析哪些原因导致此问题,如果有多个原因,请使用项目列表一一列举。 + +1. XXX +2. XXX + +**处理步骤** + +- 如果有多个解决方案,请按照复杂性排序,并提供什么场景下选择哪种解决方案。 +- 如果可能,请提供屏幕截图,帮助理解步骤完成标准。 +- 代码如有打印输出,请提示打印输出内容_,帮助理解步骤完成标准_。 + +1. XXX +2. XXX + diff --git a/contribute/tutorial-title-task-name.md b/contribute/tutorial-title-task-name.md new file mode 100644 index 00000000000..c3d29f63c70 --- /dev/null +++ b/contribute/tutorial-title-task-name.md @@ -0,0 +1,48 @@ +# 教程:标题(对应的任务名称) + +教程页面介绍如何完成一个复杂的任务开发、功能开发、APP开发。通常教程页面会将开发过程拆解为多个小节,每个小节由一系列步骤组成。同时,教程中一般需要提供代码示例并进行介绍,便于用户了解具体的功能实现。 + +对于教程中可能涉及到的基本概念,简单的概念可以直接介绍,更深度的概念和主题推荐查阅文档对应专题。 + +撰写教程页面时,在“others“目录下面创建新的MarkDown文件。 + +## 总览 + +_写作内容:介绍开发者学习本教程后将完成什么样的任务,实现什么样的功能和效果。__例如,可以是移植教程、实现一个功能开发教程等。_如果可实现多个目标,建议使用项目符号列表。 + +_如果可能,请提供图片或短视频展示实现效果。_ + +## 开发准备 + +- _完成该功能需要的软件、硬件、工具及对应版本信息。_ +- _需要获取的相关权限说明。_ + +## XXX(关键任务一) + +_将教程分解为几个顺序的关键任务或并列不同的场景任务。_ + +1. XXXX。 + + ``` + //代码示例 + ``` + +2. XXXX。 + +_所有的操作步骤,遵循如下写作要求:_ + +1. _步骤明确操作场景和目的,__步骤中执行的主体要描述清楚。_ +2. _步骤中如果涉及接口调用,需要清晰给出使用的接口及其使用说明,示例代码。_ +3. _涉及到工具界面的步骤,可以提供界面截图,帮助理解步骤完成标准。_ +4. _保证代码的逻辑和语法的正确性。_ +5. _代码中关键步骤要有注释说明。_ +6. 代码如有打印输出,请单独提示打印输出内容_,帮助理解步骤完成标准_。 + +## XXX(关键任务二) + +1. XXXX。 + +## 下一步 + +介绍本教程可能关联的后续开发任务,如果没有请删除此内容。 + diff --git "a/contribute/\350\264\241\347\214\256\346\226\207\346\241\243.md" "b/contribute/\350\264\241\347\214\256\346\226\207\346\241\243.md" index ac49b6960ac..ce6d44c138c 100755 --- "a/contribute/\350\264\241\347\214\256\346\226\207\346\241\243.md" +++ "b/contribute/\350\264\241\347\214\256\346\226\207\346\241\243.md" @@ -52,8 +52,8 @@ 鼓励开发者在学习、开发过程中,总结经验并创建技术内容帮助更多开发者快速上手。推荐输出各类How to教程、常见问题FAQ等。请参考如下写作模板: -- [How to教程](zh-cn_topic_0000001050785644.md) -- [FAQ](FAQ.md) +- [How to教程](tutorial-title-task-name.md) +- [FAQ](faq-template.md) 内容写作模板归档在Docs文档仓下contribute文件夹中。 diff --git a/docs-en/get-code/source-code-acquisition.md b/docs-en/get-code/source-code-acquisition.md index fdd4154d06f..b9441f2126b 100755 --- a/docs-en/get-code/source-code-acquisition.md +++ b/docs-en/get-code/source-code-acquisition.md @@ -36,16 +36,16 @@ You can download the source code or the corresponding solutions from the image l

1.0

-

Site 1, Site 2

+

Site

-

SHA-256 Verification Code

+

SHA-256 Verification Code

Hi3861 solutions (binary)

1.0

-

Site 1, Site 2

+

Site

SHA-256 Verification Code

@@ -54,25 +54,25 @@ You can download the source code or the corresponding solutions from the image l

1.0

-

Site 1, Site 2

+

Site

-

SHA-256 Verification Code

+

SHA-256 Verification Code

Hi3516 solutions (binary)

1.0

-

Site 1, Site 2

+

Site

-

SHA-256 Verification Code

+

SHA-256 Verification Code

RELEASE-NOTES

1.0

-

Site 1

+

Site

-

@@ -234,7 +234,7 @@ Add the bundle \(**@ohos/demo** as an example\) to your project as follows: Method 1 \(recommended\): Use the **repo** tool to download source code. ``` -repo init -u https://gitee.com/openharmony/manifest.git -b master +repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify repo sync -c ``` diff --git a/docs-en/get-code/tool-acquisition.md b/docs-en/get-code/tool-acquisition.md index 5fa7b5267ec..90ed477644c 100755 --- a/docs-en/get-code/tool-acquisition.md +++ b/docs-en/get-code/tool-acquisition.md @@ -21,7 +21,7 @@ Download the compilation toolchain from image sites listed in the following tabl

9.0.0-34042

-

Site 1 Site 2

+

Site

64a518b50422b6f1ba8f6f56a5e303fb8448a311211ba10c385ad307a1d2546f

@@ -30,7 +30,7 @@ Download the compilation toolchain from image sites listed in the following tabl

7.3.0

-

Site 1 Site 2

+

Site

614ee086ead1a4fd7384332b85dd62707801f323de60dfdb61503f473d470a24

@@ -39,7 +39,7 @@ Download the compilation toolchain from image sites listed in the following tabl

1523

-

Site 1 Site 2

+

Site

50a5a5ba5877dd0ec8afcb23d3dd4d966a16403c29cd80a4002230241d32ef34

@@ -48,7 +48,7 @@ Download the compilation toolchain from image sites listed in the following tabl

1.9.0

-

Site 1 Site 2

+

Site

b4a4ba21e94ff77634e1f88697a00b6f498fdbc0b40d7649df1b246b285874f9

@@ -57,7 +57,7 @@ Download the compilation toolchain from image sites listed in the following tabl

0.65

-

Site 1 Site 2

+

Site

fcfee489371947a464fe41a4b45a897b9a44155891a957f15bad2e157c750162

diff --git a/docs-en/quick-start/developing-the-first-driver-running-on-hi3516.md b/docs-en/quick-start/developing-the-first-driver-running-on-hi3516.md index 1d64e5ebbea..3fe79a1f492 100755 --- a/docs-en/quick-start/developing-the-first-driver-running-on-hi3516.md +++ b/docs-en/quick-start/developing-the-first-driver-running-on-hi3516.md @@ -419,6 +419,9 @@ Compile and burn images by referring to [Compiling Code](developing-the-first-e 1. Connect to a serial port. + >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >If the sconnection fails, rectify the fault by referring to problem 5 in the [FAQs](faqs-0.md) section. + **Figure 1** Serial port connection @@ -428,12 +431,12 @@ Compile and burn images by referring to [Compiling Code](developing-the-first-e 2. Enter the serial port number "com11" and press **Enter** until **hisillicon** is displayed. 3. Go to step 2 if the board is started for the first time or the startup parameters need to be modified; go to step 3 otherwise. -2. \(Mandatory when the board is started for the first time\) Modify the bootcmd and bootargs parameters of U-Boot. You need to perform this step only once if the parameters need not to be modified during the operation. The board automatically starts after it is reset. +2. \(Mandatory when the board is started for the first time\) Modify the bootcmd and bootargs parameters of U-boot. You need to perform this step only once if the parameters need not to be modified during the operation. The board automatically starts after it is reset. >![](public_sys-resources/icon-notice.gif) **NOTICE:** - >The default waiting time in the U-Boot is 2s. You can press **Enter** to interrupt the waiting and run the **reset** command to restart the system after "hisillicon" is displayed. + >The default waiting time in the U-boot is 2s. You can press **Enter** to interrupt the waiting and run the **reset** command to restart the system after "hisillicon" is displayed. - **Table 1** Startup parameters of the U-Boot + **Table 1** Startup parameters of the U-boot diff --git a/docs-en/quick-start/developing-the-first-example-program-running-on-hi3516.md b/docs-en/quick-start/developing-the-first-example-program-running-on-hi3516.md index 024eb2b7153..428ced4f97d 100755 --- a/docs-en/quick-start/developing-the-first-example-program-running-on-hi3516.md +++ b/docs-en/quick-start/developing-the-first-example-program-running-on-hi3516.md @@ -4,7 +4,7 @@ This section describes how to modify, compile, burn, and run the first program, ## Acquiring Source Code -You need to acquire [Hi3516 source code](http://tools.harmonyos.com/mirrors/os/1.0/code-1.0.tar.gz) and download it on a Linux server. For more obtaining methods, see [Source Code Acquisition](../get-code/source-code-acquisition.md). +You need to acquire [Hi3516 source code](https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz) and download it on a Linux server. For more obtaining methods, see [Source Code Acquisition](../get-code/source-code-acquisition.md). ## Modifying a Program @@ -114,6 +114,9 @@ This method applies only to development boards that have network ports, for exam 1. Connect to a serial port. + >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >If the sconnection fails, rectify the fault by referring to problem 5 in the [FAQs](faqs-0.md) section. + **Figure 9** Serial port connection @@ -123,12 +126,12 @@ This method applies only to development boards that have network ports, for exam 2. Enter the serial port number "com11" and press **Enter** until **hisillicon** is displayed. 3. Go to step 2 if the board is started for the first time or the startup parameters need to be modified; go to step 3 otherwise. -2. \(Mandatory when the board is started for the first time\) Modify the bootcmd and bootargs parameters of U-Boot. You need to perform this step only once if the parameters need not to be modified during the operation. The board automatically starts after it is reset. +2. \(Mandatory when the board is started for the first time\) Modify the bootcmd and bootargs parameters of U-boot. You need to perform this step only once if the parameters need not to be modified during the operation. The board automatically starts after it is reset. >![](public_sys-resources/icon-notice.gif) **NOTICE:** - >The default waiting time in the U-Boot is 2s. You can press **Enter** to interrupt the waiting and run the **reset** command to restart the system after "hisillicon" is displayed. + >The default waiting time in the U-boot is 2s. You can press **Enter** to interrupt the waiting and run the **reset** command to restart the system after "hisillicon" is displayed. - **Table 1** Startup parameters of the U-Boot + **Table 1** Startup parameters of the U-boot

Command

@@ -453,7 +456,7 @@ Compile and burn images by referring to [Compiling Code](developing-the-first-e

rootaddr=10 M, rootsize=15 M rw indicates the start address and size of the rootfs.img file to be burnt, respectively. The file size must be the same as that of the compiled file in the IDE.

saveenv means to save the current configuration.

reset means to reset the board.

-

(Optional) go 0x80000000 indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press Enter in the countdown phase of the U-Boot startup to interrupt the automatic startup.

+

(Optional) go 0x80000000 indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press Enter in the countdown phase of the U-boot startup to interrupt the automatic startup.

@@ -162,7 +165,7 @@ This method applies only to development boards that have network ports, for exam ![](figures/qi1.png) -## Run a Program +## Running a Program In the root directory, run the **./bin/camera\_app** command to operate the demo program. The following figure shows the compilation result. diff --git a/docs-en/quick-start/developing-the-first-example-program-running-on-hi3518.md b/docs-en/quick-start/developing-the-first-example-program-running-on-hi3518.md index 9aebee65819..c089ebe8c50 100755 --- a/docs-en/quick-start/developing-the-first-example-program-running-on-hi3518.md +++ b/docs-en/quick-start/developing-the-first-example-program-running-on-hi3518.md @@ -4,7 +4,7 @@ This section describes how to modify, compile, burn, and run the first program o ## Acquiring Source Code -You need to acquire [Hi3518 source code](http://tools.harmonyos.com/mirrors/os/1.0/code-1.0.tar.gz) and download it on a Linux server. For details, see [Source Code Acquisition](../get-code/source-code-acquisition.md). +You need to acquire [Hi3518 source code](https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz) and download it on a Linux server. For details, see [Source Code Acquisition](../get-code/source-code-acquisition.md). ## Modifying a Program @@ -71,14 +71,14 @@ Burn images to the Hi3518EV300 board over the serial port. ## Running an Image -1. Connect to the serial port. After the images are burnt successfully, start the terminal, click **Settings**, set **View Title** to **Terminal 11** and **Port** to **COM7**, and click **OK** to open the serial port. You have logged in to the U-Boot if **hisilicon \#** is displayed. +1. Connect to the serial port. After the images are burnt successfully, start the terminal, click **Settings**, set **View Title** to **Terminal 11** and **Port** to **COM7**, and click **OK** to open the serial port. You have logged in to the U-boot if **hisilicon \#** is displayed. **Figure 6** Serial port connection ![](figures/serial-port-connection.png "serial-port-connection") -2. \(Mandatory for the first burning\) Modify the **bootcmd** and **bootargs** parameters of U-Boot. This step is a fixed operation and the result can be saved. However, you need to perform the following steps again if U-Boot needs to be reburnt. +2. \(Mandatory for the first burning\) Modify the **bootcmd** and **bootargs** parameters of U-boot. This step is a fixed operation and the result can be saved. However, you need to perform the following steps again if U-boot needs to be reburnt. - **Table 1** Parameters of the Hi3518EV300 U-Boot + **Table 1** Parameters of the Hi3518EV300 U-boot

Command

@@ -148,7 +151,7 @@ This method applies only to development boards that have network ports, for exam

rootaddr=10 M, rootsize=15 M rw indicates the start address and size of the rootfs.img file to be burnt, respectively. The file size must be the same as that of the compiled file in the IDE.

saveenv means to save the current configuration.

reset means to reset the board.

-

(Optional) go 0x80000000 indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press Enter in the countdown phase of the U-Boot startup to interrupt the automatic startup.

+

(Optional) go 0x80000000 indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press Enter in the countdown phase of the U-boot startup to interrupt the automatic startup.

diff --git a/docs-en/quick-start/setting-up-a-development-environment-1.md b/docs-en/quick-start/setting-up-a-development-environment-1.md index 1c66dcca365..1c51e40f99c 100755 --- a/docs-en/quick-start/setting-up-a-development-environment-1.md +++ b/docs-en/quick-start/setting-up-a-development-environment-1.md @@ -58,61 +58,61 @@ The following table describes the common tools required for Linux and how to obt **Table 2** Development tools and obtaining methods -

Command

@@ -92,7 +92,7 @@ Burn images to the Hi3518EV300 board over the serial port.

setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";

Run this command to set the content of bootcmd. Select the flash whose number is 0, and read content that has a size of 0x600000 and a start address of 0x100000 to memory address 0x40000000.

-

(Optional) go 0x40000000 indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press Enter in the countdown phase of the U-Boot startup to interrupt the automatic startup.

+

(Optional) go 0x40000000 indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, press Enter in the countdown phase of the U-boot startup to interrupt the automatic startup.

setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7 M rootsize=8 M";

In this command, bootargs is set to the serial port output, the baud rate is 115200, the data bit is 8, and the rootfs is mounted to the flash memory. The file system type is set to jffs2 rw, which provides the read-write attribute for the JFFS2 file system.

rootaddr=7 M rootsize=8 M indicates the actual start address and length of the rootfs.img file to be burnt. The size must be the same as that of the compiled files in the HiTool.

@@ -115,5 +115,5 @@ Burn images to the Hi3518EV300 board over the serial port. ## Follow-up Learning -Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](en-us_topic_0000001055366100.md). +Congratulations! You have finished all steps! You are advised to go on learning how to develop [Cameras with a Screen](../guide/camera-control.md). diff --git a/docs-en/quick-start/developing-the-first-example-program-running-on-hi3861.md b/docs-en/quick-start/developing-the-first-example-program-running-on-hi3861.md index 88734f1912a..2093cee18a0 100755 --- a/docs-en/quick-start/developing-the-first-example-program-running-on-hi3861.md +++ b/docs-en/quick-start/developing-the-first-example-program-running-on-hi3861.md @@ -4,7 +4,7 @@ This example shows how to use attention \(AT\) commands to complete WLAN module ## Acquiring Source Code -You need to acquire [Hi3861 source code](http://tools.harmonyos.com/mirrors/os/1.0/code-1.0.tar.gz) and download it on a Linux server. For more obtaining methods, see [Source Code Acquisition](../get-code/source-code-acquisition.md). +You need to acquire [Hi3861 source code](https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz) and download it on a Linux server. For more obtaining methods, see [Source Code Acquisition](en-us_topic_0000001050769927.md). ## Compiling Source Code diff --git a/docs-en/quick-start/developing-the-second-example-program-running-on-hi3861.md b/docs-en/quick-start/developing-the-second-example-program-running-on-hi3861.md index e8358ef045c..31f1b5d87db 100755 --- a/docs-en/quick-start/developing-the-second-example-program-running-on-hi3861.md +++ b/docs-en/quick-start/developing-the-second-example-program-running-on-hi3861.md @@ -144,5 +144,5 @@ wifi init success! ## Follow-up Learning -Congratulations! You have finished all steps! You are advised to go on learning how to develop [WLAN-connected products](../guide/overview.md). +Congratulations! You have finished all steps! You are advised to go on learning how to develop [WLAN-connected products](en-us_topic_0000001054530966.md). diff --git a/docs-en/quick-start/faqs-0.md b/docs-en/quick-start/faqs-0.md index f29b7983428..12610762aaa 100755 --- a/docs-en/quick-start/faqs-0.md +++ b/docs-en/quick-start/faqs-0.md @@ -117,3 +117,57 @@ ![](figures/en-us_image_0000001054875562.png) +**Problem 5:** **What should I do when no command output is displayed?** + +- **Symptom** + + The serial port shows that the connection has been established. After the board is restarted, nothing is displayed when you press **Enter**. + +- **Possible Causes** + - The serial port is connected incorrectly. + - The U-boot of the board is damaged. + +- **Solutions** + + **Solution 1: Change the serial port number.** + + Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If not, perform the following steps to change the serial port number. + + **Figure 10** Procedure for changing the serial port number + ![](figures/procedure-for-changing-the-serial-port-number.png "procedure-for-changing-the-serial-port-number") + + +1. Disconnect from the current serial port. +2. Click **Settings**. +3. Change the serial port number in the dialog box and click **OK**. +4. Press **Enter** in the dialog box to check whether any command output is displayed after the connection is established. + +**Solution 2: Burn the U-boot.** + +If the fault persists after you perform the preceding operations, the U-boot of the board may be damaged. You can burn the U-boot by performing the following steps: + +1. Obtain the U-boot file. + + >![](public_sys-resources/icon-notice.gif) **NOTICE:** + >The U-boot file of the board can be obtained from **vendor\\hisi\\hi35xx\\hi3516dv300\\uboot\\out\\boot\\u-boot-hi3516dv300.bin** in the open-source package. + +2. Use HiTool to burn the U-boot. + + **Figure 11** Procedure for burning the U-boot using HiTool + + + ![](figures/未命名图片11111.png) + + 1. Select the COM7 serial port. + 2. Select **Serial** for **Transfer Mode**. + 3. Select **Burn Fastboot**. + 4. Select **spi nor** for **Flash Type**. + 5. Click **Browse** and select the corresponding U-boot file. + 6. Click **Burn** to start burning. + +3. Power off the board and then power it on. Connect the serial port after the burning is complete. Serial ports shown in the following figure are displayed after the U-boot is burnt. + + **Figure 12** Serial port displayed after the U-boot is burnt + ![](figures/serial-port-displayed-after-the-u-boot-is-burnt.png "serial-port-displayed-after-the-u-boot-is-burnt") + + diff --git a/docs-en/quick-start/faqs-2.md b/docs-en/quick-start/faqs-2.md index ffc8060fc95..feb6b39d5cd 100755 --- a/docs-en/quick-start/faqs-2.md +++ b/docs-en/quick-start/faqs-2.md @@ -8,14 +8,16 @@ - **Possible Causes** - The serial port is connected incorrectly. - - The U-Boot of the board is damaged. + - The U-boot of the board is damaged. - **Solutions** + **Solution 1: Change the serial port number.** + Start **Device Manager** to check whether the serial port connected to the board is the same as that connected to the terminal device. If not, perform the following steps to change the serial port number. **Figure 1** Procedure for changing the serial port number - ![](figures/procedure-for-changing-the-serial-port-number.png "procedure-for-changing-the-serial-port-number") + ![](figures/procedure-for-changing-the-serial-port-number-4.png "procedure-for-changing-the-serial-port-number-4") 1. Disconnect from the current serial port. @@ -23,32 +25,34 @@ 3. Change the serial port number in the dialog box and click **OK**. 4. Press **Enter** in the dialog box to check whether any command output is displayed after the connection is established. -If the fault persists after you perform the preceding operations, the U-Boot of the board may be damaged. You can burn the U-Boot by performing the following steps: +**Solution 2: Burn the U-boot.** + +If the fault persists after you perform the preceding operations, the U-boot of the board may be damaged. You can burn the U-boot by performing the following steps: -1. Obtain the U-Boot file. +1. Obtain the U-boot file. >![](public_sys-resources/icon-notice.gif) **NOTICE:** - >The U-Boot file of the board can be obtained from **vendor\\hisi\\hi35xx\\hi3518ev300\\uboot\\out\\boot\\u-boot-hi3518ev300.bin** in the open-source package. + >The U-boot file of the board can be obtained from **vendor\\hisi\\hi35xx\\hi3518ev300\\uboot\\out\\boot\\u-boot-hi3518ev300.bin** in the open-source package. -2. Use HiTool to burn the U-Boot. +2. Use HiTool to burn the U-boot. - **Figure 2** Procedure for burning the U-Boot using HiTool + **Figure 2** Procedure for burning the U-boot using HiTool ![](figures/procedure-for-burning-the-u-boot-using-hitool.png "procedure-for-burning-the-u-boot-using-hitool") 1. Select the COM7 serial port. 2. Select **Serial** for **Transfer Mode**. 3. Select **Burn Fastboot**. 4. Select **spi nor** for **Flash Type**. - 5. Click **Browse** and select the corresponding U-Boot file. + 5. Click **Browse** and select the corresponding U-boot file. 6. Click **Burn** to start burning. -3. Power off the board and then power it on. Connect the serial port after the burning is complete. Serial ports shown in the following figure are displayed after the U-Boot is burnt. +3. Power off the board and then power it on. Connect the serial port after the burning is complete. Serial ports shown in the following figure are displayed after the U-boot is burnt. - **Figure 3** Serial port displayed after the U-Boot is burnt - ![](figures/serial-port-displayed-after-the-u-boot-is-burnt.png "serial-port-displayed-after-the-u-boot-is-burnt") + **Figure 3** Serial port displayed after the U-boot is burnt + ![](figures/serial-port-displayed-after-the-u-boot-is-burnt-5.png "serial-port-displayed-after-the-u-boot-is-burnt-5") -**Problem 2: What should I do when an error is reported when the U-Boot is burnt using HiTool?** +**Problem 2: What should I do when an error is reported when the U-boot is burnt using HiTool?** - **Symptom** diff --git a/docs-en/quick-start/figures/adding-the-hi3516dv300-board.png b/docs-en/quick-start/figures/adding-the-hi3516dv300-board.png index 81a2b496aacb056d6003d0fe440e9d1dfe8f96e8..2d807c348ffdb802b239e295abb7b7e079e213e5 100755 GIT binary patch literal 45781 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

Li3u6}wI!b-5Md-J-8r>w5!V0u_*5&QJb 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 literal 32367 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 diff --git a/docs-en/quick-start/figures/appearance-of-hi3861-wlan-module.png b/docs-en/quick-start/figures/appearance-of-hi3861-wlan-module.png index df3f85daabb08e137bafd8a098c6f882f1a5776b..ccc714eadc965fc4b29703c3156e730f84c97596 100755 GIT binary patch delta 168431 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

General specifications

  • Operates over 1×1 2.4 GHz frequency band (ch1-ch14).
  • The physical layer (PHY) complies with the IEEE 802.11b/g/n protocol.
  • The media access control (MAC) layer complies with the IEEE802.11 d/e/h/i/k/v/w protocol.
-
  • Includes the built-in public address (PA) and local area network (LAN); integrates transmit-receive (Tx/Rx) switch and Balun.
  • Supports the station (STA) and access point (AP) modes. When the Hi3861 WLAN module functions as an AP, a maximum of six STAs are supported.
  • Supports WPA and WPA2 from WFA (personal), and WPS 2.0.
  • Supports three kinds of packet traffic arbiter (PTA) (2- , 3- , or 4-wire PTA), each of which coexists with the BT or BLE chip.
  • The input voltage ranges from 2.3 V to 3.6 V.
+
  • Includes the built-in public address (PA) and local area network (LAN); integrates transmit-receive (Tx/Rx) switch and Balun.
  • Supports the station (STA) and access point (AP) modes. When the Hi3861 WLAN module functions as an AP, a maximum of six STAs are supported.
  • Supports WPA and WPA2 from WFA (personal), and WPS 2.0.
  • Supports three kinds of packet traffic arbiter (PTA) (2-, 3-, or 4-wire PTA), each of which coexists with the BT or BLE chip.
  • The input voltage ranges from 2.3 V to 3.6 V.
  • The input/output (I/O) power voltage can be 1.8 V or 3.3 V.
-
  • Supports self-calibration for RF hardware.
  • Performs with low power consumption:
    • Ultra deep sleep mode: 5 μA@3.3
    • VDTIM1: 1.5mA@3.3V
    • DTIM3: 0.8mA@3.3V
    +
    • Supports self-calibration for RF hardware.
    • Performs with low power consumption:
      • Ultra deep sleep mode: 5 μA @ 3.3 V
      • DTIM1: 1.5 mA @ 3.3 V
      • DTIM3: 0.8 mA @ 3.3 V
- - - - - - - @@ -310,7 +310,7 @@ sudo ln -s /bin/bash /bin/sh ## 安装gn 1. 打开Linux编译服务器终端。 -2. [下载gn工具](http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar)。 +2. [下载gn工具](https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar)。 3. 解压gn安装包至\~/gn路径下:"tar -xvf gn.1523.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:"export PATH=\~/gn:$PATH"。 5. 生效环境变量:"source \~/.bashrc"。 @@ -318,7 +318,7 @@ sudo ln -s /bin/bash /bin/sh ## 安装ninja 1. 打开Linux编译服务器终端 -2. [下载ninja工具](http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar)。 +2. [下载ninja工具](https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar)。 3. 解压ninja安装包至\~/ninja路径下:"tar -xvf ninja.1.9.0.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:"export PATH=\~/ninja:$PATH"。 5. 生效环境变量:"source \~/.bashrc"。 @@ -329,8 +329,8 @@ sudo ln -s /bin/bash /bin/sh >Hi3861平台仅支持使用libgcc运行时库的静态链接,**不建议开发者使用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。** 1. 打开Linux编译服务器终端。 -2. [下载gcc\_riscv32工具](http://tools.harmonyos.com/mirrors/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz)。 -3. 解压gcc\_riscv32安装包至/opt/gcc\_riscv32路径下:"tar -xvf gcc\_riscv32-linux-7.3.0.tar.gz -C \~/"。 +2. [下载gcc\_riscv32工具](https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz)。 +3. 解压gcc\_riscv32安装包至\~/gcc\_riscv32路径下:"tar -xvf gcc\_riscv32-linux-7.3.0.tar.gz -C \~/"。 4. 设置环境变量:"vim \~/.bashrc",新增:"export PATH=\~/gcc\_riscv32/bin:$PATH"。 5. 生效环境变量:"source \~/.bashrc"。 6. Shell命令行中输入“riscv32-unknown-elf-gcc -v”,如果能正确显示编译器版本号,表明编译器安装成功。 diff --git "a/readme/DFX\345\255\220\347\263\273\347\273\237README.md" "b/readme/DFX\345\255\220\347\263\273\347\273\237README.md" index 85fef3ad83b..3e03ca4adaf 100755 --- "a/readme/DFX\345\255\220\347\263\273\347\273\237README.md" +++ "b/readme/DFX\345\255\220\347\263\273\347\273\237README.md" @@ -2,13 +2,13 @@ ## 简介 -该仓库用于存放DFX框架的代码。主要包含DFR(可靠性)和DFT(可测试性)特性。 +该仓库用于存放DFX框架的代码。主要包含DFR(Design for Reliability,可靠性)和DFT(Design for Testability,可测试性)特性。 由于芯片平台资源有限,且硬件平台多样,因此需要针对不同硬件架构和资源提供组件化且可定制的DFX框架。根据RISC-V、Cortex-M、Cortex-A不同硬件平台,提供两种不同的轻量级DFX框架,以下简称mini、featured。 - mini框架:针对处理架构为Cortex-M或同等处理能力的硬件平台,系统内存一般低于512KB,无文件系统或者仅提供一个可有限使用的轻量级文件系统,遵循CMSIS接口规范。 -- featured框架:处理架构为Cortex-A或同等处理能力的硬件平台,内存资源大于512KB,文件系统完善,可存储大量数据,遵循POSIX接口规范。 +- featured框架:处理架构为Cortex-A或同等处理能力的硬件平台,内存资源一般大于512KB,文件系统完善,可存储大量数据,遵循POSIX接口规范。 ## 目录 @@ -64,7 +64,7 @@ - - @@ -102,7 +102,7 @@ ## 约束 -mini框架整体代码使用标准C开发,对外的接口依赖统一通过util封装,如软硬件平台不同需要适配,需要在vendor下实现适配处理。 +mini框架整体代码使用标准C开发。 ## 使用-mini框架 @@ -130,20 +130,18 @@ DFX-mini是一套简单小巧的DFX设计,对外提供log功能: 在A模块的初始化流程中添加如下代码,注册模块到日志框架中: ``` - HiLogRegisterModule(HILOG_MODULE_SAMGR, "A"); + HiLogRegisterModule(HILOG_MODULE_A, "A"); ``` 1. **第三步调整DFX框架静态配置** - 根据需要调整 + 根据需要调整如下文件的g\_hiviewConfig全局参数配置。默认情况下不用修改,日志默认输出到串口。 ``` utils/lite/hiview_config.c ``` - 的g\_hiviewConfig全局参数配置。默认情况下不用修改,日志默认输出到串口。 -

Development Tool

+ - - - - - - - - - - - - - - - - - - - - - - - @@ -140,7 +140,7 @@ The following table describes the common tools required for Linux and how to obt - @@ -246,7 +246,7 @@ sudo ln -s /bin/bash /bin/sh ## Installing gn 1. Start a Linux server. -2. Download [gn](https://chrome-infra-packages.appspot.com/dl/gn/gn/linux-amd64/+/latest). +2. Download [gn](https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar). 3. Decompress the **gn** installation package to the **tar -xvf gn.1523.tar -C \~/** in **\~/gn** directory. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/gn:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. @@ -254,7 +254,7 @@ sudo ln -s /bin/bash /bin/sh ## Installing ninjah 1. Start a Linux server. -2. Download [ninja](https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-linux.zip). +2. Download [ninja](https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar). 3. Decompress the **ninja** installation package to **tar -xvf ninja.1.9.0.tar -C \~/** in **\~/ninja** directory. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/ninja:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. @@ -262,7 +262,7 @@ sudo ln -s /bin/bash /bin/sh ## Installing the LLVM Toolchain 1. Start a Linux server. -2. Download [http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar](http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar). +2. Download [LLVM](http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar). 3. Decompress the LLVM installation package to the **\~/llvm** path by running **"tar -xvf llvm-linux-9.0.0-34042.tar -C \~/"**. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/llvm/bin:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. @@ -270,8 +270,8 @@ sudo ln -s /bin/bash /bin/sh ## Installing hc-gen 1. Start a Linux server. -2. Download [http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar](http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar). -3. Decompress the hc-gen installation package to the **\~/hc-gen** directory on the Linux server. +2. Download [hc-gen](https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar). +3. Decompress the hc-gen installation package to **tar -xvf hc-gen-0.65-linux.tar -C \~/** in **\~/hc-gen** on the Linux. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/hc-gen:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. diff --git a/docs-en/quick-start/setting-up-a-development-environment.md b/docs-en/quick-start/setting-up-a-development-environment.md index 59c381943bc..95e689004c9 100755 --- a/docs-en/quick-start/setting-up-a-development-environment.md +++ b/docs-en/quick-start/setting-up-a-development-environment.md @@ -67,7 +67,7 @@ The following table describes the tools required for setting up the general envi - - - @@ -298,7 +298,7 @@ sudo ln -s /bin/bash /bin/sh ## Installing gn 1. Start a Linux server. -2. Download [gn](https://chrome-infra-packages.appspot.com/dl/gn/gn/linux-amd64/+/latest). +2. Download [gn](https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar). 3. Decompress the **gn** installation package to the **tar -xvf gn.1523.tar -C \~/** in **\~/gn** directory. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/gn:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. @@ -306,7 +306,7 @@ sudo ln -s /bin/bash /bin/sh ## Installing ninjah 1. Start a Linux server. -2. Download [ninja](https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-linux.zip). +2. Download [ninja](https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar). 3. Decompress the **ninja** installation package to **tar -xvf ninja.1.9.0.tar -C \~/** in **\~/ninja** directory. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/ninja:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. @@ -317,7 +317,7 @@ sudo ln -s /bin/bash /bin/sh >The Hi3861 platform supports only the static link of the libgcc library. **The dynamic link is not recommended because version 3 of the GNU General Public License \(GPLv3\) will be polluted during commercial distribution.** 1. Start a Linux server. -2. Download [gcc\_riscv32](http://tools.harmonyos.com/mirrors/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz). +2. Download [gcc\_riscv32](https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz). 3. Decompress the gcc\_riscv32 installation package to **tar -xvf gcc\_riscv32-linux-7.3.0.tar.gz -C \~/** in **/opt/gcc\_riscv32**. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/gcc\_riscv32/bin:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. diff --git a/docs-en/quick-start/setting-up-a-hi3516-board-environment.md b/docs-en/quick-start/setting-up-a-hi3516-board-environment.md index 5a399f6c3a4..205948a0587 100755 --- a/docs-en/quick-start/setting-up-a-hi3516-board-environment.md +++ b/docs-en/quick-start/setting-up-a-hi3516-board-environment.md @@ -63,61 +63,61 @@ The following table describes the common tools required for Linux and how to obt **Table 2** Development tools and obtaining methods -

Development Tool

Description

+

Description

How to Obtain

+

How to Obtain

Python3.7+

+

Python3.7+

Runs the compilation scripts.

+

Runs the compilation scripts.

https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz

+

https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz

bash

+

bash

Executes commands.

+

Executes commands.

Internet

+

Internet

gn

+

gn

Generates ninja compilation scripts.

+

Generates ninja compilation scripts.

http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar

ninja

+

ninja

Executes ninja compilation scripts.

+

Executes ninja compilation scripts.

http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

LLVM

+

LLVM

Functions as the compiler toolchain.

+

Functions as the compiler toolchain.

http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

hc-gen

+

hc-gen

Configures and compiles files.

+

Configures and compiles files.

http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

IPOP, PuTTY, or other HyperTerminal software

+

IPOP, PuTTY, or other HyperTerminal software

Connects to the Linux server (choose one of the terminals).

+

Connects to the Linux server (choose one of the terminals).

Internet (for example, https://www.putty.org/)

+

Internet (for example, https://www.putty.org/)

HiTool

Burns the images and the U-Boot.

+

Burns the images and the U-boot.

http://www.hihope.org/download

Executes script cross compilation.

http://tools.harmonyos.com/mirrors/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz

+

https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz

Python3.7+

@@ -102,14 +102,14 @@ The following table describes the tools required for setting up the general envi

Generates ninja compilation scripts.

http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar

ninja

Executes ninja compilation scripts.

http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

- - - @@ -54,25 +54,25 @@ OpenHarmony是HarmonyOS的开源版,由华为捐赠给开放原子开源基金 - - - - - @@ -234,13 +234,13 @@ OpenHarmony是HarmonyOS的开源版,由华为捐赠给开放原子开源基金 方式一(推荐):通过repo下载 ``` -repo init -u https://gitee.com/openharmony/manifest.git -b master +repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify repo sync -c ``` 方式二:通过git clone单个代码仓库 -进入代码仓库主页:[https://gitee.com/openharmony](https://gitee.com/openharmony),选择需要克隆的代码仓库,执行命令,如: +进入代码仓库主页:https://gitee.com/openharmony,选择需要克隆的代码仓库,执行命令,如: ``` git clone https://gitee.com/openharmony/manifest.git -b master diff --git "a/get-code/\350\216\267\345\217\226\345\267\245\345\205\267.md" "b/get-code/\350\216\267\345\217\226\345\267\245\345\205\267.md" index 007211fe433..820fc481049 100755 --- "a/get-code/\350\216\267\345\217\226\345\267\245\345\205\267.md" +++ "b/get-code/\350\216\267\345\217\226\345\267\245\345\205\267.md" @@ -21,7 +21,7 @@ - @@ -30,7 +30,7 @@ - @@ -39,7 +39,7 @@ - @@ -48,7 +48,7 @@ - @@ -57,7 +57,7 @@ - diff --git "a/guide/\347\244\272\344\276\213\345\274\200\345\217\221.md" "b/guide/\347\244\272\344\276\213\345\274\200\345\217\221.md" index ac7f0267fc7..02a8888db1e 100755 --- "a/guide/\347\244\272\344\276\213\345\274\200\345\217\221.md" +++ "b/guide/\347\244\272\344\276\213\345\274\200\345\217\221.md" @@ -1,6 +1,6 @@ # 示例开发 -相机开发基本概念可参考:[相机开发概述](zh-cn_topic_0000001051690589.md)。 +相机开发基本概念可参考:[相机开发概述](../subsystems/相机开发概述.md)。 若开发者想先查看示例效果,可先跳过本节,进入[应用实例](应用实例.md)。如需自定义应用行为,可参考本节描述对示例代码进行修改。 diff --git "a/quick-start/Hi3861\345\274\200\345\217\221\346\235\277\347\254\254\344\270\200\344\270\252\347\244\272\344\276\213\347\250\213\345\272\217.md" "b/quick-start/Hi3861\345\274\200\345\217\221\346\235\277\347\254\254\344\270\200\344\270\252\347\244\272\344\276\213\347\250\213\345\272\217.md" index 076e5b7d933..38f43f223e4 100755 --- "a/quick-start/Hi3861\345\274\200\345\217\221\346\235\277\347\254\254\344\270\200\344\270\252\347\244\272\344\276\213\347\250\213\345\272\217.md" +++ "b/quick-start/Hi3861\345\274\200\345\217\221\346\235\277\347\254\254\344\270\200\344\270\252\347\244\272\344\276\213\347\250\213\345\272\217.md" @@ -4,7 +4,7 @@ ## 源码获取 -开发者需要在Linux服务器上下载一套源代码,获取Hi3861源码([下载链接](http://tools.harmonyos.com/mirrors/os/1.0/code-1.0.tar.gz))。更多源码获取方式,请见[源码获取](../get-code/源码获取.md)。 +开发者需要在Linux服务器上下载一套源代码,获取Hi3861源码([下载链接](https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz))。更多源码获取方式,请见[源码获取](../get-code/源码获取.md)。 ## 源码编译 @@ -66,7 +66,7 @@ Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成, 1. 在Baud rate中选择合适的波特率,波特率越高烧写速度越快,此处建议使用921600。 2. 在Data bit中选择数据位,WLAN模组默认为8,此处与其保持一致即可。 - 3. 选择版本包路径“./out/wifiiot/Hi3861\_wifiiot\_app\_allinone.bin”。 + 3. 选择版本包路径“./out/wifiiot/Hi3861\_wifiiot\_app\_allinone.bin”,选择Mode为“Hiburn”。 4. 点击Save保存配置。 **图 8** 波特率和数据位配置示意图 @@ -75,7 +75,7 @@ Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成, **图 9** 烧录包路径示意图 - ![](figures/zh-cn_image_0000001054087868.png) + ![](figures/zh-cn_image_0000001055427138.png) 4. 在DecEco工具界面中单击“烧录”按钮![](figures/zh-cn_image_0000001054443694.png),然后选择烧录串口“COM11”。 @@ -97,24 +97,34 @@ Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成, ## WLAN模组联网 -完成版本构建及烧录后,下面开始介绍如何在DevEco的串口终端上执行AT命令,使WLAN模组联网。 +完成版本构建及烧录后,下面开始介绍如何在串口终端上执行AT命令,使WLAN模组联网。 -1. 保持Windows工作台和WLAN模组的连接状态,在DevEco工具最下方,点击“Serial port”按钮,弹出串口终端的配置界面。 +>![](public_sys-resources/icon-note.gif) **说明:** +>- DevEco串口连接功能待上线,敬请期待。 +>- 该样例中使用IPOP(或其他)串口工具进行演示,IPOP工具请开发者通过互联网获取。 - **图 13** 打开DevEco串口终端示意图 - ![](figures/打开DevEco串口终端示意图.png "打开DevEco串口终端示意图") +1. 通过USB线,连接Windows工作台和Hi3861开发板,确认待连接串口为COM11,如下图所示。 -2. 选择串口,并完成参数配置。根据实际情况输入串口号,此处为“COM11”;波特率、数据位、停止位使用默认值;由于AT命令输入需要以“\\r\\n”结尾,否则输入无效,所以结束符处输入“1”。 + **图 13** 设备管理器的COM示意图 + + + ![](figures/zh-cn_image_0000001055268090.png) + +2. 在Windows工作台上,使用IPOP工具,连接WLAN模组串口(COM11),并配置好波特率115200,同时勾选Newline,确保输入字符串以"\\r\\n"结尾,避免AT命令无法输入。 + + **图 14** IPOP连接配置示意图 + + + ![](figures/zh-cn_image_0000001055427946.png) - **图 14** 串口参数配置示意图 - ![](figures/串口参数配置示意图.png "串口参数配置示意图") +3. 复位WLAN模组,终端界面显示“ready to OS start”,则启动成功。 -3. 复位WLAN模组,观察到终端界面“ready to OS start”日志打印,启动成功。 + **图 15** WLAN复位成功示意图 + - **图 15** 复位WLAN模组示意图 - ![](figures/复位WLAN模组示意图.png "复位WLAN模组示意图") + ![](figures/zh-cn_image_0000001055148043.png) -4. 在DevEco的串口终端,依次执行如下AT命令,完成启动STA,连接指定AP,开启dhcp。 +4. 在IPOP串口终端中,依次执行如下AT命令,启动STA模式,连接指定AP热点,并开启DHCP功能。 ``` AT+STARTSTA - 启动STA模式 @@ -125,9 +135,16 @@ Hi3861 WLAN模组的镜像烧录可以通过OpenHarmony IDE工具DevEco完成, AT+DHCP=wlan0,1 - 通过DHCP向AP请求wlan0的IP地址 ``` -5. 接口已分配IP,并与网关联通正常。 +5. 查看WLAN模组与网关联通是否正常,如下图所示。 + + ``` + AT+IFCFG - 查看模组接口IP + AT+PING=X.X.X.X - 检查模组与网关的联通性,其中X.X.X.X需替换为实际的网关地址 + ``` + + **图 16** WLAN模组联网成功示意图 + - **图 16** WLAN模组联网成功示意图 - ![](figures/WLAN模组联网成功示意图.png "WLAN模组联网成功示意图") + ![](figures/zh-cn_image_0000001055428072.png) diff --git "a/quick-start/figures/HiTool\345\267\245\345\205\267U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272-4.png" "b/quick-start/figures/HiTool\345\267\245\345\205\267U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272-4.png" new file mode 100644 index 0000000000000000000000000000000000000000..4e2a2794e63f64341e448313968b6f82d237543d GIT binary patch literal 22299 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 literal 0 HcmV?d00001 diff --git "a/quick-start/figures/HiTool\345\267\245\345\205\267U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272.png" "b/quick-start/figures/HiTool\345\267\245\345\205\267U-boot\347\203\247\345\206\231\345\256\214\346\210\220\344\270\262\345\217\243\346\230\276\347\244\272.png" index 4e2a2794e63f64341e448313968b6f82d237543d..ad4fd618860ca9f79e9bdc39436c3b2f9cdb72de 100755 GIT binary patch literal 4957 zcmZ8kc{CL4_n(Od8H}Znb;kC}zGXMlSf;WiNsMLeN!hZLZS2OrM)oYBlCeZ(VuW!&oO|!*e(opnni-1i%=t3_0D$evWrOPg z0MOv%oXQM3*+)Vc*Z}};@hb+GZae^zi@!Fw6Qy{u&`qsMMk5YHtNp#~Cy5+DHy@-x2ENk-lY;*Y$!71#|GGMRt z0)h@q&bZimJ2vXcL6QD|PnK?4&m_qsv!a2P#Hj6M7g{H`OLEUB78+7b^OUU+>V;<9 znn0_>gCDBKkjD{IoLbc!iz})_i*)Cma5RHNa1hAxict`&<77Sxvj(0iBeruNRP9ho9|tJy}GF zb+0olf`%>y``g{bW<{mB=PL*Q3~|o!8!;Lx!OnJQuxK$dP?hRwlc^fdu;RU%emkIO zSERqoVu-p`Jn2@2_j8@SoGIz&O~|B(q7gp_nSgr{c3-QK1$mj}=Ii#J1pc9ZH>7%$ z#O`g{5_XL2p{BBIlg{#K#7AiicCwI|PI3-U0jAKqdZY?9a!sEQw?;)`nW54DTObjR zts^|_h0#$ie4@%3LVp)fA0*w73#LS2V3ZBKo%GE?~sSkX49naYiK{2()(M|^ia{=1uUmeLk4D;xPPI9w7ullyc z^P?6OqLt|cC;%jLBYCHnsiI|e-9)z=lW((T0#edlIL58P6(9szoxD1T(5$RX>wspSpAY!;5qHyZWcc=sWYBs-9 zMG#-j{0)*#<=D^c;1`uX3E2fPmYOoqYY(?BU(cnJya!HRO=heJ5>3E-q&a|bO*e!I zBn77|LjQF?EvVr`^DDbt&kt!bP^imsB70@-tVF2g^jggT2#jq}(1f|F&6(xkLsP;+x0N@NLm(55@tsSdQI0Fa= zc4a!TMFN!#U=($OfF3~FNLS?(YnZIN zgsI%B(s<15mw(Z#{3FKK3~p;}gWi`8ZX@qT{AC;3waCs*y2inY^7?)og8!Di9)b73 z4QDDFI*Bp8XjZoZ>_NoPYR#uBW98&ifu=Zt=y7KJc*I$$N?}<3fK@$C(7M~X1Y(V6 ztl@Nc+4eOjKLjTb#a{ic+!AIfV|Px3@Q~6P*Pd2JlvWIn53U`XZd0Kw9RmV&(p9zPqOXEc?Wbd7deL)(3iNK>L0}KIM>WGs`a;kFKlkQJ6W( zSHwJ}tRn3U3rR*##{g@78Rhx`2by4=yITWJ&xFJk#`Nv(?NMg|X28MRBV|<~A z#-IB;>Z5-uoJRB%a2&uZ^AaIU{k~yFkGU3awjnfcT2Ge{@hp{2y4^89w2^{i8dh?b zfk})xm-3L@#SiR}5!H;fBL0_mKaYDv>no%cLl!Y9*$WD=r z(XO-C?H2oCzMk+L>1Y&KMOsQdytXUI0tDHgbgzq9a86dDsuHT7O zbO9JHfd9r7bEY&&!7Pza<<0#2e4|bJ9L=i4KLZ!i*Aq3I_*pq;(MI*-iRO*;FlnhD2Wbjutxv7UM&7W zSl9=jaBHU2-ixl+JJ~qTF7<~8_}NQV`s+_ot1g-sN{mmTEvR za$}(PH8j1_*8m@B1$PuYKpfV;n9$!~^0I5bHwDwM&E6D9U(R!GPAtAawxSuWz{$7c z-^`-#z^$*{%EKCO5bh{&*N=3dvhUJv987kbmlasZRiqaaVD#Jwvo&IE=`FJ~YNTG) z1SqG<*_&hQU4qSjV4NCcuhGfY2bA?|P5mh)@y-l4flrt;Y~?w{$}YED{VRTiI>4*_ zdD=s2`lF929BF%fwriq0Cwx5wANsNlSBzxO%GH%w{{;| zE7X&7N7Fd|AYjYghBCNj=tvyj+{@KAn+{q-T@JqB3tb@7dG?f6Md1}m zm2Wz?mnHjdC+N8vSYS2VO0VFw*A3+xgNp+ngsprdvG`BG>*F;{JLPRTNSTE;RYPCimArAqrPUAT zD|@IM92P60_vAlB7;(2u+Hyv`Z2Pub7`s|kQ8r#hxar<+=pyTw-n8*R?J#}O<2-%c zSWk^ca%dqF1H~{Y!moGK*z&9y547T)2E=<&?1UojG!`=KZsTpCFE^gq&vT56RL`+L zmN3JN9O~(f6FG zru&@Lj=qXLd-4(*1vU2EyQ=oHcjiw$6%Mr_q7U*n?C`zMb|6@Ms`)nIsR+Mg8`dYm zdRt(S@YH;oef|6PX?A#HBxl3#!GO0D5dQ`TWtJtVL@2Vl&&Nl-w&!E&?L48xHv%A0 zgL1jweHhaNNb2DKdr*bIM)L`#9vQqt?E(x2phkuh2zLPZVWj;pq}=tG27*&$A0p_t zjZaixJY-%jL`>mvxcWaCvz$z*kegs~3GVtQh8say7yL( zkH8OV?M(Zb{B4vsu2-QDJ2|KGGD4I3+Q5o`;^#95FbB>Dv^ddJ=-3dh&ZnKmJxnAe zm@k(nkmE^4%M$`rRT{C#nJ<;>VElu)wHN@S91TC z0F~_YrM9;{1`;Q_BI|$F{zm*-dgcfYGf~{*I>RykW>w8lQH4?YTx0HfYL9IGhGq8F zC# zOC+@$>yfNHQb*?x6AgV%T@;GKnb1uh%pr6L;Xk{=&0}kdNt$0izGOVtc#CtWg zIA6is6s*7AZ$uMQ%CZ3~EPe^JJ2Y15R?&vZZ6XCf658t>h+io5#cL$DI8$mWWVShtx6&iwUwnGk~VnT{8N`E{JV z^ttKm%2*cpF+z}?F^-uY21>|W6$TzZJ>J{Pc^7xPJ&96?FjKZWYp3&3>~OC+XqN~} zL4hnO1#7>$_VZ-70%`XK90jm1!-c&p+Hdgs9AM+lX7VHLB*K~$TszRdtG^)5KB*`8 z)Hf>N!cgc15Rr>Vxf!Eoku1>j`MG#OucZAFjil1#VFxljFhPDGM<8^<#s)KA4BhlS zFh%zFLuf&1wB*?PH;$(doA)2q8Xm&zYY-0>x7JeDEiw)rHMA_+llMZ;LE}AR2o-xK zRrwO9ll+XDOsrcU%Aq`B3Cw=OpJr`uy0XHu?f`RsYkWF zr)hGH4~35J56G?v2>H6E^q)`k%K2wuqkMDfZs$&^4oESMOcSe)=kW|I%G&z?&G+uS$iSNui@^19+Uo#~ z;DqrJ(OWemi%n0%SE=(y`&-(yH( z4fULS2eSWYblurv=`*Pv@&M(6Y`@bs*o<15enV)9U0$zon$DPw4t7uRfdlZvPX%Dd zLw$O>UNUa5vqB$GpLM`qVAelUp22kRcqI#`_^dfXnN0!Jn9}Of!_$X z!ZY5wCuf|*t#SPZ)!KOJm%l4~ab7E;iu_5Wn$X+A>-Z#IzAngGXn0 zzmr*_mRaPAsJ7HFm5Rz54hYQh8>Y+Z$sbd3^U&8`&I=mQft*)2eYV15-$V#t)bo;m z*vywmH^Ij>cUk$%rG8pDPN-@P2_ZX@rnJ6cIL4scdnY?#`Iq;{dm7uFXzXxEpdNuMkLSt zJ9HB$(u=rm-PK`m;#Y0KkHyT2qXw|{Y?FNqQ|-}FC)v72eya2Isc`v?(|Hpjt6Is0 zjAw2+0%cYr3xi!2z{ne{Z^!hDszyxm=h^J)I5gWC7MnnmxD$Erl*D>W6q59o+LjO#=WvS=>)Sf!J77@oe*c$O Sw{J1vWL+^dGpIviqW=$_qB&Cl literal 22299 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 diff --git a/quick-start/figures/zh-cn_image_0000001055148043.png b/quick-start/figures/zh-cn_image_0000001055148043.png new file mode 100644 index 0000000000000000000000000000000000000000..d8f0f95d6e464a7af8e81ef8466fedd7f760a75d GIT binary patch literal 4626 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 O&W~qZ&#=A^{^h@4g@Ky@ literal 0 HcmV?d00001 diff --git a/quick-start/figures/zh-cn_image_0000001055268090.png b/quick-start/figures/zh-cn_image_0000001055268090.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc4a7bd9438664d3fe1cade7738ba72e68c586d GIT binary patch literal 4991 zcmY*dcQhMb8%DK8&6o|XO>3(lHf^j@qo}s_YE`XNk(foPn6)XjOO4ulgc?z_X6+Gs zRYGhceEEI9@1O6Vd+s^+J?Gx{KJW89_q_;1eJxsQATNl2J9bs*{{Fj9==?~>a+tP8tLbo`XTj|KZW5bW10n65diP2HeiQ}XcoWRztS zO20VNU6p@8mU>g)Kg0rS$oX+mt*5!Hd7-OPPz z?{QuqWG&#aq5Q)DrXKOYew}sa(?QO)xSD(t1)3l|%S6QDbx15Qb4gC0FfoS0f`9L7 z=KYe_f>Py<7U)YoF%QVfk34ShGfR}_GN{eAta*IzQ&XnvnCu_1fkzw`MfZ>`B3h2d z?0G)3a^y6@V`@1JG3{5EEuWwN_5Z%VksXBfZux@WsTrCR%JyGYIp5?vS^CJ;e1Z-_ zw;c>BVlfS9Z+b43cl39ZzR9p{fS{P;&zb3xX3Vqz68_!NFV;E|RyF#je%=w05X z$J`qjZ*zfJe(Fs#ZbrIl!%?Z}U+}T?dYfa&HMvHtV_&t#<2Ye;j z&(#W!cl~W?lGB=_$9cUQQ>@9Z^MUQ28FFGkBiO2No*)pJ_aX+WQZGYH+gO7efwB%F ztc3+XCArHf%I=@F{g|L7LIa3is3`h&vC!scTxii;eQb86*l^GQgL&oF$9o8DnOVHk z-~)ise7wuMjPQocpD7hH2gxcuLfYxBd-as^wc|st>+z*WWj=;d# zW>VbT#h(GA@3Lklwu`9i?TNK66t2btOyZ*Meexsc_;45>C4t;5msKGgj=}Sm%IDl# ze9Ukgb^a|SbplsJ?Aj)oX!lc}k}d$}>>@Ee;oFlzfE{h}1Tl>nBkp5ZX^9X}>gAx~ zs6UcBX6i z@1&-tUd|;78O+VM_{@(L8N5oP>((}#I`pB^`}|$(R%?@!HbB6-$G}k?R}OCN~< z&`RjnJ|G+2C6ZM9&r0hx5BFyv|5%2r=!IHgBEvoAC_x%4g0I^G2{X#Rhj$5ODS-kS z^le+Wh)CuI@dGQY+CFayGKe$EAt>gv+z95+(Wxfe#7jh@g zJ9%+&HvVz*QbH{A(+HI9WkOS?$(cmI$nM9GIECMFLNiU+maM02w1cG@Pd-q!qqhsz ze>wLVqN99*aepr>W_vFM(!O6d>P)SjA`x|7vnVKQl}JttN^!{-w+8=RS8%m#=^{;F zlYlrLT-X^e()4cl51xhP9yIaaYM&U~%d1*HK~d$Nb=-I&dc&6GrA)C?PJzBS23D;d zUhI#8oX9q~MY;EUM|BG6wp&yW%1*U!$qh{+98E+#@oF*IZ;Bpzzl{Fcb37U8UbTX_ z!JHbH_)c(S?=@MN7C#O|SdLOUfcAb(o6OQ{-HfU~wNkuF7=vGK4DkVt<$K>ib%c84 zHM*iuGiZ)>+7WIpIJarU!}i-xxy*cH%RM$N4Mx4c+9{agGWsW`5XbJPzYk=1Z%v}+ zRGvj84e5bEh^XM4>({B3)1`5P7(PN@SZu&kzU> z+_-Ts3%tjh2zQ_1oPD!r%=TMoiKelRvHDZ{Ers&T)NT-+MRk$=k<_aBeYi{F(Dzw3 z0z-i8tdTs5!?nQTojlS(>b!NPMQmYaj|tdIwh>WAfNKgu&y5m+X9>*1+vLb+r z{+Y3YkXIKy^VWGjQ6q#rSProD7jEG77VTBJ*PCTc8*$lrQFI)dtrVMsyyIucjG`GD zQHs?_UVgs~SFJBGu?LDteUj;b%|DIpcupi%zG1IV5Y^Pf4Lr{d@(Swc( z(Dl3(UeO7|{}IWx0_1FCuFY#66|%oqpi_7`+TqP^%`6yeG}YxhBb$w_|SM+E8jIvP^tU71hy31VIg$kt}7Cn(`vSvqy!Jg6*rJJ1B61HabST4=VYVAn?AmA zEla#{UWkewGx>v`~&Ep89lBN-6P~Kzy)AF}Lxsl6J zD|RNE517fc%z3==i!U~=QLWrgO0K*P>kS)ucH*}ZGi$uH&qmrim1>DOC% zBX7*2*oKx=K7OhHAYx#lFfDK8@X^Dzg*t!LeAnc>eWT`ip=ZZ41xHiAW>@!C_4&_Y zUa`HILca2hAjz9?_q43m7LoTK;`T1?trwMK(DmJkGgBzW>9MQ~$`G{5J|Aee+*=-o zveLTw+x>fVIffYO=>wmZE|O)^uN1~QoPpJg&Jf1tO;f3kCUOdXtnpd$>{#!gBZpy? zO<0R(3&bPWHS66Ev%&a)gQpuT%RduGM2wNtB@9~S=3SzIT?a)$sz{OUq>5IM?4PUe zfumB3IDn#BPBT4wvz_j-ytsJgJ_7EUZT~Bp;^vgeElLF$mPUJjp7P4h*eX^pDcN}; zTu3gvU*<`OSd1-?!hJ2(q3$qJ>#`&qmGn46fosW=I{Nmkk`z3A>VRwSx97v7uzomW zs>#8Nz_-Ml@O~@H6Z*NM;3c?W$G(I&ST+0SwHO5j1K<7lfzE=y-oVBt0xLFqtRRu) ziNX2WtFL;QY|u4uXHEMjT|~|3K_b`fD3wH9>_)#=t>x`=;zH zo6k<{@^O(J=?GLZ-loPYRaGS648AMAFw>Gf+U8o4ital25!ZAn$F*^A`9(UbU#0#b0-Nc4tmbCH7JJzDAWrE37z6r`wy$+H}ZX{J!SxmS}k5&UJj)?M}%a{rXDf z4U-cd&kpZo=3@* zrOe~6_BfRQadVADX0xHxNPO=eK=zO@5Z7|okXG>l=+Q6!DvF@2J-NI7KfHO(xU^6z z_P`Yu!a8S<_5-W9i~-Xtd}Gz)=%w$j8lS$bq{-=k9t8M`Y*BLGeO}5dMq2}8dT^BUMxY|0MvX;R!o_ot0LkEiCiod1VWsd zxsr8SSp53fBEwnbMe_;aw+)cAAw`W$eUCcZA$ejhApf35$5>;iPk$I#BU|FIAK{5^ z9$-uM4;1OW5!?I18Xg~d*?leu?DE{0z5#A^5o=cY(u_njnDQ^ZTuw@CH*n?& zr+Z#UIhB}Ke>>Kw(m_iF zyCw8PZ2Y9*)i7%dYxSDPbF!H0A%J7R>+S0MSixdATKfZYkYJa%KJ9~FuJ0^P{Yjnz ztsoE5S#6>@P6jrZlz9s;I?yI_^KZLv90#;l(R(3BchhuHBGF%b)B8zL(FoMu9K4>C zNNHUpW4VwsybJ+~3}%f1!^a4JA*(C^rtSyF=@8un2@EMCsqKeG$6N7(e@q(%1>vHY znAlQrVsBcQgrQ{D2HT^p{ChB9TrnF+&tYq(snQ9O4gNa_CI+!Kf(l0XS!*G(L ziZ{}3(yU?}{OPW)U&Ku;Mf7RE;(G1sq_Oa;+j8d#uo8BTRnD1#z+6v4BgdN6&Yspa z;qb#TTXyM~MhEe?q9y~a?v*zQ?jkYLFV}t;b6J5d585ZOBl%j`rLK?IAE6Z3O9CEC z?8ULm%boL0p1oImBc~@p*1rL?ylkI4V0BUSsnTbw3NWvd*>w>U9YF9@XOr4X8Nc8h zN!Igl=&2&$v6X|!L|k4tWOW5#$L7Crz+%m<#$JIw;Z3q1Y>07&;?SxNWJ&TH2Q&2R zivzp}3cVT3H}Se2r@G4|fVMi+`!VQ7k?zen26ih@1m!8m zQf-_ycFZvgWV1Xi#k7QQ(;@NglskMzeD{VVdYAu8A@{EPXxGMRh~HmIHRVd_~gaerP_<{xSl3s(d({QjP;hB`$~8Buk`}2 z;q>03MU`((ydOM`!f~ScW)gjU4G6>o&*(wX5lhAX+OV6-8c*Y^B&n&{vk;#sDf1r- zOg?o9WX+~y5+kEiv2JorqeC)Ut0=It%3}yMbgsghN-7`~P)28HN^4v+p~X!9th)NYJ!EF)!8C6GU@u$q z&=>QHE=Z|1)HVL?%2Yi)I)@Flmk&{x1FHPnW{LlWGQJ3_aa-s1b~W_1QtLO_^ST)m z?bmE?IcRv0TTnF*Y5!90*B1eZ{;^dsk{NI~Xz6qCPv!G~F_EpI+9a`Ug0a)wUM{xr zZmm_O5xChBz9P0P&FPMD{D3lODeaUlivPhAz%Z?@skAhYDPHhCAS2IoilE1g0|XvIg@|kGWnNDT7@n|*@kbTpGbCF zqbG9ldz^FHf(r|8#HzzEP;(_Jp;)Q4mLI`5@_VE&glS~@x~jXSjr|I(j8(=z?|^96 z)EC{6w9XSeB9?m=rRFGRLXa!RkQ17_&>befg<#W5-JO1vNGNCqr~g6^RNh|dNR-hq z>_?bqYsNySsHa_J;kMjpvdxitouU-V*}u!nZX+ycrRka{27lCGT{$lsc{HCM8g zeYkkG)Mu8dSl$Wny)Dmu#?y?(EJIOJtkC{L;+;UPm5xh=y7SU#gt7eHt7r2htmWQE z-R~D}L%6bxmAL}2BosFcu!V5v00r$|lKHig(%rkgi`(!)p8L${80NKu^X;kt!${D4 zeBgLT@X-C%jgj`?;iY(gTS!yalVJyUmo-FGw{VIoZ51Sm)35U>@LOfLalM9?=1_^n$cVd#b&cf zkR_l)HtnVc-F_n1>v*WAY59}Dnt& z;IX-Ehulixw9@4;{_TLOsE3CBJl|l3zmr@FBLrfWt43R|3JNrqYOsDyMs4%GLUN$} zvn&bmnU&q$BD}r^Nf{JaRuy%_7n0z6OI2lQT2nWF+1Nl*kcqxDZ^~ZFd1a1DIMlE& zxeoM+SmZ+o2e$z(~0-tJuLGRPN{p9;rCVLBMQVA;F`N91|;aUuL1d9l95$GvXC+Xt@1xXrfNOcI8bMZ|gEz zLSS73nzgMqV{&JC9&A4<9Wa63wj8U#memjRmwd8}FiDI7quGigI@7_KU?e*$?DD#h zKl`4xFpIONU)Vu!lRQ?$k&W;1P{Jo(_c_}4+BcZkMV3}D2PTKnAGv|DR!Q;C4#mfn zaF#70lNm#V)<`wGb0yBR*26ssj(AZ+cbQ>v@QMmPe4v?q+Mk)!LT_md#V)*=wlfW1 zUQxoAwoJTVX_Omw?>*S``}}*ec*Ovs^UKnAJD5Z&u{+=X@jid5>X-$4`Ie(#ivN6i zIW8c1sb4-IMM!W}xxpuK+W1msMX|#-&ugtC&1>Uyk^7FzDK|A@{Xt6b?ifNTT z2$G$Vu<02u&HT16`&5~ZqeYrB5@?8fcV%-q@B_DWuW#qb-RJ6sAD?0qtCXLue9#0FgK6|} zQCXVMPMSY^(@sPHEkX96HQ_gVbk=geTh}`f)_iGXQye3&As5&BO|q5FmusXC*Mr(; zchno+L=a;3QGN@Uoc6D>Tdlj_aoeT707m!7Z;vo3GSA! zLm9Z2H9b4w07)(I=`V!a4R_(~334~`F&y(0f1o~XEpr-MHHI122-7*!{S*?c zq+Ot;ivtJ+1Pcmf3i4&WvK)r$=3A)n=NDG|9ppWKNs=6unik2K;MVVh=yO-RyOJ`* zJeL3Q2TgSso#ImYjivaR04g4({3SroY8t1nP3<`fp1bBM%F(Tw*MT|9V-PzLU$h6n zw*dCEXI_?`=ASS`Z&gLXeV4=E`K;9P=17$nV&E_-fq?x+A60aJP&&tUbf#8yz`tXz^YF7;Mq{oqYM*kb9y6l=4Ep+<8Y4PdGs#I(Q-;J>qd?Oa)O0 z_k{=9n&w|zsypxa_KB0r@`m3eqt-dMcmIJby+d*$M25Z2tIfH5KV!WL(OF4khX7%t5$cv!YC?7G3KfWeS?X(9 z^Uc;ry0B<`$(6DiZmTvmIIyvkPmC#nD*h0iK-EkXSiH*|nhr1Zt{iO{*|Wo1td#%c zS;~JGeHDq>bwZ=cQ!NeojMb&jO#u49g{da-m-M&RhkTS<_gtKc+r=CsM_SHmahoE# z0PiaGM&4}WR?!?kP3+9&)KfSdo<~@$yKAYnR>2GxFXP03=-c^Qeoq2cW?0>pnj%sp z+E$z}0{Mw`HvVj}5Xi1F-d94Fb*JJikN68i*4&^nx?7mnR-_pc^INtr9cUU{gZLDF zy1%okOr~4z4FiZ*>N_rWTWz_=7y#uV7R=5KVu-MWPoCo7@ZkxkOi1@ku44zD8a~Xk zHN%ihy$s)nH=IWcR+sxn$CigcWQ4Z5x+8i_H%6yBIC?lzWqe0>5yJlFV+Gc7Pk3(j< z;6feMO0wXX1G?xFWN)uDy-OHA#%Y%4ZTvk`pgZ4Kj?lFOOCr>)43qmaFQ~7#)?Sly zn7f~|e|KzRU&v*`eyUTsl~M%DRFt*-evScZ>N7FoIk3`I3AZ0w+A2LL9vbKv&js&{ z&AmupstX^tHXiJOp)FnObNw$98mkh~{5`mmM_g~f;fTSKvNj&Eo*fj>(8i=rBWoYG zZ6T?vf**24C0HD+TJ>nprR9jU4w@8$M-ZE1prUmL<^!MmBbXT3Mzv=US!{_-rU(J7 zzeE5x(Tv;xDYVA9M4pdEi?_$MXv&A~gYQ-RsPywxzlv&mgBO8d_`s+y@;+R@W%%>w z*b*kHe=eYMe{7ESG*hg6b=^9%aB&Jjxj}AI!qU+^!<@j}GkmZ^;e7dyB{@(=$TM8) z5_cx5=@LSq+JDc!X3G$=Mw5P4mi-}H*SZxxLKA+#WwpreuhJ}a}#vdU)vbt zZu}yJE$g>x9^h*SM+i{dj48`dJiIQb!5oJJjb-g$#R7MK%t=ZC`wxB6i#sfZ<=HRj zN=MghyQ}YJAE;GX!$&w7BR0BfTAX^<8t8i7a3aoK8y1f*t^~HIO1_yFdt>VkdAHIl z^=u`C8yG9p7N8o`);P}Go2lLB%gJxp--6}U0c&1c-coKU`K*z$Sw7-WsPhb*-8Cd8 zux*>_o`Ph`Oc~DGe^uGcY~A_nd6xvnvwm%7$0ZHXZz>K0#!v@bZ)-2nhw8yTUtFpZ zUBBQkv{!TxmF~3~^4ewm0Yoh+T~&l5<9X&rsgU49X2UUhh??F~6(yROFP0l!mxRKp zn_9?3$jcn6S>knm?U?8jufFC%#WGdpy;vEqtuW)BdgJpT$MJQEI$d1>qCc5)L z*mDj?8W2M_zE^*i-0a(pbD`6A z;TFq!X|!J56o{t86XnIy@=V~;cOgN09vvV#fRT~q93_ZUcpE+WOTrI zpaP)38hDn`1$BmmDR9Xri(5WT{`5r0&xAmQCTVDlh|hGiAAQA0S3Hkln)_72@~}D+ z7^%SRLwWAbWDL<-Buv8 z*q^L3d~_I;5-o90EJPVh1yG&wxs4V}d#Y6(Ju~{jg1RE;9D|_+4u1TVq_-N2%@yZQ zZJ176g)=6Mt>Fx{BiyH*IBWlbvdvjFDNiQ16I>u_@Y!e*RhzOYEb%p!Z7m6jA6n|T*T+#!ZA-h7UFE9E?CpGs_@zy)V`S=Y7U(#ppJpAksO=u{dH>o z_J1stuNjg$W2PIM@6(ca|FZ=gv|Pwy8ujn~mC$37EHO12`=E&2p^@yocrMZmAbn1s z3@)d~Vye5Jx^iu&CqzkZGaDt1M#h5-7%?uJ2xz?i<9sH=1rL^NNm$UC%h|~I~kUpH5F}s#mw4Rm0!8Xcw zEA6(k^p!-5rQ97GX-`6i?9WY$wOxDP)|Q(F&RxTGDji?Zvn$NfEjR~gYE@*OtRpiT z@sxm`5HJ*lVV^}RS38fei}EZh8}gz8aGS$QiBF>;k7mMEl`?i?fpU-?^;p>6M-&-t z=w7$m6E0jt_1z@;3!@6%?ICU#8nT6H{N`+9Vg9`Lcgzjr@e71v^@E2QyQBU1$=Te} zfz5;t_Jmx>R>I!s&7DO_n?&B|HL4RAJ|pitcHUrg5FHBZ9N*?BqNxP;eSqO#Ij{6S z(+jW_$*X?FMupliy%zhPM^ZMBsjVk_ZQYSB#9}(*!RBi(o%u2?X1ZJ=z8&nV1n`AW+tixC)Y~OGdrEtqBaG#>SX7tj>{Im)U(0ipmO-AGJZ6=A z;~x$JMr`D!IRwhM zKb!G~+`zBFBK!_BmFqSOP>ot)qIEp@MJ**VxJjxBR0W!uNRc$AtZLC~Da}!{@m@wi z3l%~VTj=(Ka*Ebp;L1vtZ3fyPF}=m~RpCOZV9L-E!Lz?qr3rV?pXvSGv~GVR$V~yZ zw)ng~(j*mgU{md==&)j4i_vU-Ha*8y4;`U9veuj6K+*ct?cZNZhhbPVQn)uwWo2QT zM;;mcs?cWEmm$14r`xjS5Z&49hR<0k`=6{aRSvyry&R^YDz6WS)_)~Yb!AK`=%e?j z=XtV1x*7+#{!#0}Y=jZT_qxB&3;l}=B7iG)>R?H7AgSy^e?iL!jqg5OL##7oo3IN9Iw-m7 zOyu+o2F1Ik|~wYvm*nec+5uzYQv5z1~&EIYAf5;vABfiPY$lcx-Lxg7a*1 zq>RpeYs>0v0U;l?VK{|wY;^dY`Aq9cer{sRz&`m+fF0Lu-t9@&PrH;%nkUy zQ|v^5^AkY1znWg$8APyK)=NZ_eT2dmXXhv>T%h2ok>QTY);_N@?lNwb$yN)HIyl(n z$k^s&ZAeI~Ef~X;_k(_5+4x#zRph_Z9%n>ea{Ps#r5izCV5x4xN-_Ny-E?q`n4QDn zf$I(@>h|KV^PCOKq$%ND_d~LJw!iQ`G}2wd+RHmv@AL&>3=5u4f(dbgD+V}?p@n-x z4Cx^>%9$ci%3p~LR_R1Ax4}GjOtdej0LGanGQ^Z6Fx3d5m6p+?^4#4_{OIkATTGGu z@bJRyOz*x-4+H;?s3r5*az7O%<#ibLAUQYtK~dR~q?$r`6aY(y5<1IFhekZ>=8jno zb%P68Ko;yQbMF_F#IwWwzV| zQn=Ut^zd>R7g~GvcU{h){f2=w>~|fzzvI>X1ES47gMG-QuAfJ6)-I?Q_}_2@u0Z92 zSd70c%j)p2C3ytXfey)xi^WG`S2YQHojQ3d^u8D~`P9ZY>0gQL{@Wzeah%cWP27l~ zW0uq=`jLhyG-41uk?FpnK5LrpWyl>{F!ii|QEVCSkkS93c)v%+V%$$$QidsPKqafL zFct$Q8I^%KxIychcPpPO6?+}nv*S%@tP-8_-$4iNg@BFn%0mGK}ryjg$6aa)N4U{P4~^--+Dw( zs@o@ZwdVTOgF*R&)`17`jDFGNX4e*Y{NnV+yIPNGe$T}ZZ2ObJGE5;S-OKilZ$6`* zt0uOh*OTS9*~V|;-WZwQhzY4V*Wr6#Xrx!-W1E5miB8f(oJbpTbJt#J;!z>ey@374 zFoWAdrDn&M>RaW=;nIV&Cy)+%_I*!n@$C&8O#g=TKFtxm`Ph8SZ1Dy}P8&j9ap`$u zO2}bnvA&tWGQ{ai$O9+st$M}l0u*5fImjd0XC`{Wj4Q)b*15AL7Q9jevznM^FDoLX zK$))Rk8|P~@+ymerPr_R4ukEq#anvkyL-PmjhrUVcZ^4bs_o!Y)c`O#-k>mXN5o6b zcu}2TX_vLXaubbAcUYl~cg^DqI!hhNc1}4=qJ0^82OGdvOGuW>?K$4e#_>B)Gq%;A zayTk8uqA*JGDkSXwV*6j}{X^(`yn+*tLwPz9 zu<4_bQyqCFcUD8yYq)phVs-sDGe+KjYP6jWgQd2=oBg`66q$as-Wl?65V1O09c|>0 zj)OBjFniBJ4R}HTK8b(}Z9kLxCA1rOjFM*==Xs9H7N8BWj&eaMXir7C5rCZpDW-Ud zZno1JBq8W5DV(QiXyMN+!2MRn&mCvQ_7&u>w4J$Ec6hIhmzkmMs-;L#{Yl%MxGfYQ zCc@iLtOr0#e#S|3iTa!q)8CzjqkYMIpKBdgCxODkF^T}M9mL`%DXEpnUlY1f3UhC6 zO<%m9J_)Bkr+j{JFkg>~-QjO{e)3gd)?Tu3LMjo@!v;B^UT&IF(JzS=7H?c&7CD$9 z{)YGDlhb{iq2@iOydz@C%MjQpf~t8>bUU$}Q@*$)DJm&?1fs{EB1Yc!%v<*>kD|ae zR-3P#+wQ`-S+n<_1Ah#@ejq2Q_xGEp@A_Mi9W9u~l*V*g&%HdWM}1|sC*gw;Dg1ux zJ4zENju#u}_8)N_Em_2^gs-psTdw|Dl2o|&{_&N*BKCE_owuJ@;eMGWB^(jlKSnC}+4?L(EWLB3oM(M)gs$9B=esrA z4C}9n%L-icxM=(CF3&)@d6KNSpbiDCYP-Cji|R88N39s5p!b1a8kvY-iMyZSSb(5F z2nc^s9aUp-EnqhyZl*frQX2)9C>Rc$=&y3ONi=pt z8K2aD<>kwGPu1ky;cfbaF}4y8Qc`hA=Xr8Y+g2(6R>$SspPtk37mvuiabh1P#Vy}C z@)sJb`kHoJBrUkr11rB-6SPhj%hJZFtDA%Py}5y7-{-t%Kk-hyxLJJg$Q7*CJaAOmV)IN zr_y=yndU!~W+k-bIOKo3r+uzE|9q^UOVO!Wh>?c3Zhz!NMvAY9EJWYz*yawKQDB+a z7aT1URQ6M9GK*=EyS5af{#9c`>=LwI7-s_-N~20*@+A?wWxyQTGGpVKA{oW1^%)jM zsk->~aR67;P-}OO5~A?teEQgPB^tV!D|5f^E8^{-;Uk~^lO3*;=(FOk#il8;l!w-P z1UiuB(m|>&23tP-dR?2z^m#ht&8?1y*W%awq9!ju4YS19+MF)!_!?zT{4PkPB2cx@uYsWqS?62Xi!j-yGd=s4!BW640oqc{L zp~j&&L_vJNd1x+ck#H27B9bD1BkoUZ4qisx{w2N?JL}8bhvI-5Hkt9>nRX6#x|(;} zXX!zazKPE1`k-;12#DsE#lt1GC)Rq@U3_0mPVLm|Lti;ZTJ z1j@{vrB zjWbwH*kL-Qg=;k_kY_drLV&`H+S=w#WQI$^OVs~4_)9L>_C4Kg{-;r}{WHY-;OnD- zZ@=vBaj~cI{Q;d5IE+wG`OV=+1b-G`;#Z&|K_cf);qA_3_@A#3^%wePKCLU!b?<@U z&;S1dT*c?mtFxB{f&=k){>!ca^s+=%?I^dLlkTSOranz7-(K>agpS~m`1J4!Oh#K~ z_f;J)aj*ZkAB>3NSMvM~>TfUalZRg)akX->`Wu5rLXQ&Ub>6tqp=emAvp94U)Jw0B zw>J`(^p&8WdaGx0D_VBz-MHU+R~&X%54k(&cDTPCVUmfhGS|vq9t7JHLTUvD*m9$g{uDLUgmE&>tn`Rb?kaHIxYI3*31fca~M@OTU|MM_W z9OMqy%iv}6S2VrSe6$x6YfwOd37g-lVsGJvnTnC8KMUC7VQSmIypZUKEW4Res2p>z z0~9@+A~R(eWt6%RErSo$V~AJ5#e+51>!zX7H9o1LIS02l%8bh~KKARozuC`-MzM(u zx8PEq0ITKJ_8z8>(jf0YVDAe#3ZY4n6T7JD0HR^B#hlPM;=e6%KTLZHVa2oxqorWp^Ip|#Yb!q8Gxp`d{w#JUnf=SDS5&o*R%b}_`%;ivZ8U`3 z{72ub_buFNI$2m8F%;%*^kg91E$m%`f)pdKomr2FP^)s5K!ApvH>sP^6FW9F@06P9 ztO1r`$1$mDxvhYjf*0tGns8H2hh=%{cWz}x*FEbt`qXPZRQOZZts)d!&WiJY4JISj z6JP!uUlRb6J-7+~IftHYLheD+e!q3@SY!9SmjM~l5JvnWWnwlIafy}jT>UCaBS2GQ z)bvEE>B|12+JNKzXtxHN#PK@v+|%&sQtc=s`ZtDiw?bzCg6Y`6u9MF z9pF=_Z{X-GM&dvCRL?usre9Eprz8s9#bO=tk@`3oABmmZ`68V_8SgQDHw>9O{A&f* zrq7QTWRqI;<-2$7Ob; zth2|7!787$w3G;xnaB*pG*WmeDHZZ~tQaQV@=ads3m2VgU0S!8ex*>9p|BXNUBnu| zMhu%0%}$l^v8nG%sg~_2deU@u_&fLduD#D;Bevz0^8};n7IIP_2iwGb8 z?)`zgy64@J8kd&971N)U1A2k*+sbVe%wWrF!Gyey!q-M>yg;6n58fp@dCu%}&Xg zEwEsCWXb>+rwh#xAu&{TuEE%1mv%=8Yw$RwB7w=}{Q}EW4@wZr^F|WGXGCq_^WBpO z9S&5$aP>3n&`k%AIgNtd;?7`r4ZXVC_lTM>#hfLvAC}_KJNt`ePE0tU)75Q5?C?Hx zrv#Z`@r&?<#eX(R_#lgZCRCzE9a=T7EmgIpEVW4MoVdnNCwZAkQ_xvk_c|YZB$Avk zp+_SIvTO@YIU;SF{#ZDR)9273trw0F3c73QiACNrx107ux8Mcu)-iF8g*uN+9L|^P zS+!TrY^4zCkKCQ_VMI*aDxmk24z!`t(y)#&k+n97v{Wjf>z}L6>Gf$s@(cz%v>G6FeN0XVh~`dTw9K#+ABH!p9hKQc3vis$C)GfiTj*}n)x^iZ zG^7T%v_K|CMnLRpo4QysCQai~YZ8dauIYP_le|(>8qTpFR}R#r7UNA5KOVH6gU`*v z;)>VA;8u-%v!9cFXMzbx0B%cch72~&V_|RdU6HG`2^MZ}^@CM@!zg`|3T6JYGNr<+ zflx}27E7wV$Id1k*kIB6(K|YVy;gjf$(&^$bLE%rs9k>c>{OVz!-3G5z}Nm}M`(O; zNuL|bnKI?#3%vk0X1e-}?;D)m*8>qfV(Vd{z3&)lyGL!O zIVARd@0sYz(l0aQQ8iF9*DLTGrMGZduLH{&FOqvI6f>ZwzM zjuOa{N4Ax{f7(y*O{>=N#^u~Jz1oPOs(9j&GVfC195H~3vnnZ-3grzUk*X0l(8asf zcFRmSBz+prfehDl3On1Qe=0xk-37#arJydgI40*=FRWk5y{A3N$X^;1v=1IKwJ$3I zGH;Y54SbUG%1BGQv=9Z1g8IqZ!?y3i#+V8GF~cl3kY00A_{^d@oebYiV|;begkZjD z@zWNQ7X^{5uGzqs(USkPKz(8hWX-EtO0Z{>C6PCPDc%pDcWrZO71*d=ugqo zaalK0_IZoxN?cp--i|4>PE3t8G#wC6da%u+DE^!+mVSk*uJJY1e=%*4LPnxNt>EsG ztJ0p;<&GbwsU3m-^}WL2Us;i+YeM?|JFM{CW%k51b>b8omZp7Cr#qooOcnL}RyC;0 zyBxJxLffug{VR^4E5HN_alb$0Sep~1Al`G(5`b^3iR^&3`?SUd+w#T)%?`yfyx8dh z_}UgstMvfTBr>wESQ5;K3vV^isaB3OII*roYnNFc@g=3TZc={*_LHLUN$|-nFmwzo z0RHr8&Yzvfu_tgk?_{y8)vJQKG@?->n-}$K9it-)WgoYc3$%|N9t^{)wxsm^e`U56 zJNrC~hve$GR*>;%wa=g%_~?L7KGjuhy^4erA^E0sj7GZP~S%`L=jFKt(sxyND-dI86$uI)LP#Cddg` zV8?H&9{l{_wvp$_WJqY}CQ0Vy5GR(+p+d*JR=Y+-k^MWxNrCXx{G=@10>toG?q*dD zFl@K$Cnr7)>0!>S@zq@1yg6DeE0gG%40Z~X5f_|pWdTk@zUsFePCjAk@97ZlAclso z{JJQ(Q{8g!lObrSIn{EhBHq$r3e=kf_SB&n-eB`@d^6%Q!bD^Ou=dvvrCkJ11QxUR zFHRwZ*!8=oiFvvnaL)TznuZidJsJeAXBdKY+$wmgL|eW7aG&nwokxzxq?J3|i+ldu z?rBMV`$R1m&mhG&HHjZ;3?1X{&Fd$itmNsacQ89hIb%mf^_p|vknF!)-j50yF>Q_| z@JBFp|2*z$tyBkkH4K*yL#OZ5i(_O{-e3%jeEH?o%dCroa}`HrdgWJHginUn3 z3^Vu2$df0zME<4gxK#K*uRgj=0aKdKt$v*j3QUr-jjwUSI*t1ODp*3Asem&@1gsrp zE3M5V6^am_6-4`x#QX6dcVv8iM#Fk#Geg>>>V*no^Q+NVC`JbTMY6Z_oFe79LC}AO zwJw2}RN!nC2s}CUEZ75>HB|}pe!FK{?UXnnxjKyJ)7u{)%-6B?yVuTil?`5z-r(C$ zNjgg5Uml`L&tWg0suZ7mE zFWLz%sM3v-AKq(F|7cr%E6D!RV`2cbA5kGT>*rl5Vs0C~svWzVxY>6W(4RpUPYa{> zS=94JF!#FdeQ&?u6Vc2Vkjc0=w-)G~{A1`BHf=oOxgi(!>W$kkASGMLAni0jqL=^& z(}(yZk-o;rBkRfHvUBOV8s5oYSPh{&;q|@G6|e^~9F@oNlodTng=LuG!qwIv{KZ4F z{dwBcq=5yto7bn8;L5*=z%_IHmVAXFB**lXs6-tlNdLr1^tQj;J)^&Wx-rG0ix;s` z4o%8N*vF6bj&p3eOMM|4mP;W208+%TGie&`x2P6tA(!xVW;ewYZ?Wu{O zE51AqEE{#~4)~JCV4mJu2~~|gjP?ral;y&ASu3;sPDHWG^W$eqI4IZ|cDz<1F3du; zXFgrkVubPQPnl!k1(MfFC_x={p`e3D!lXx)ymk7jOSnq^ts~X>B!OE3@{uQ%n8^7V z6VgJQ{W>Mc|9)9*jZX&;vAbJGY;^8S{iZ!kLK#n7+99w<80|NIRv5DH@90CVnd@Vc zxiPQSDg5aiIld89ypZ0x`w`{`(n+%}A{TyKGWA%AnI*)1?9bbw4t(*T+%`o(3flE1 z;)FG_(Ojmvd|Grz3ZDC8a6{X`0{K}G)r{T&gk#0qXogcO)Nh&MK$UDAi{x{g<YNMoQEU_C{5pBBM4$OMMof-~fk7`8C;#C^)S^5po}e|cgSi@Vd7B!ASeNs(W2%sg z=Z@JLk4#!tuV?tY?=IW%ZU1|I)yIJR2Lam_9FQ%I*p}_Ro~zzuaDf0rQX83uCDkC# zj^d~D+;bm>bI#Am>;Q7!C_dC~U34`d7O9>MjZzI#r}}AN@Bf&TPatMmy+DJMI9L(j z5a_ql*h}e#zByFP>y(dDyN3GNQS<6ke;2REC08fG5+`6x|9W1=h)tP*V-xqR)$t8~ z9ik&zrAgsTq3Im*ZV*2r6!+|T5YK*)@srrbxvvt#TpUmr=q5j`4*c(sC z^xj3%hA&mr2odq z<&2DXWf;*PSH2aJ=;N}007HkmeVu!_e8I&4ZBcVpR{Vu5a*x%z7zUdLHyPIOf}sP1xqInt7j5vbNJ3jyNt|JBQwTmdn>kX0pap=izGN`Ok{AIem_OFXrwV~`0s_(kI zeWeg{%A`IUEMg2YaTMc3bbb;Q=v7D9$9H=nwM_P=7*r1`9LDlmH}{?n*YT{?s3nzl zor2}R>2E}5s>NGMw01tWkD_S}c8nV#7CI)((UM*|6h-y7{uY`%4>j8_ve!HCylc&yriwQqLQdA<(pJret6aj%oSI5gCqvl?7K*k^TsmGsx| zENoV&eVn?RAy_B_ohChr)X2-{c+xjaW$666q$ki<+HONPtHUj1C!%EGyHx*2w}u#u zCKBLfXRZ1|Q3yQ|@}v+9V4cEIq7 zhB#d$Zq3OtX3+FR|KPkC(<+ex07~BBQ)R7s46Qrd$Ea>^zRTcjkho4Kx0@XBi{}Ik zYn*rnvTCe8qgdlIDh1|!BZ*ZRVLJYHBd(~l#%Lg3#^v=X8UAMdH!%2s zF=DsVxL%`K*E!mhw8OHAp7N+aR&CDrdP^>Ff#Pc> zk9)FlOn;N}KU5(9B1v2Q%^_7eZrZ)+c(+6O03C7vpC1KC3}Cj05Aihmbt^=fh+k33 z{zz3RKs{%G%Fwl4-eBL?m7+5_NgC!4z>Ht1z{Cb2QTbpbBmZOB@;(wNHrWGU)YZym zUoBJ*amH*1qXpsef*dmA<4yOBF#BDqv%lq$QXC0r)mS=IsC|SJPplRqV^;QNLb49!cD5m$N&frpm;(`cLZ06$+7y~SXx~q! z@C2a6D#IUjzXR@PdjERV8_{2eiFraA77*GrTlzI)gSCFU-TM)-@N2YW!wZ!UJYEnf zPl)Btd&u%n>6HuXHlj1D^{laeeYnh}k$AT1Zwf1a5&>fzEBVqZ;}a&R5*YZesUXu0 zPKNIrW{Zms*gn6rM_b1^akvmYo0oa;fX#PqrPhK$er@4_L9MtkKNltFY7r*Ro-^{} zMC#NaJqp3Q)t|baF|tJpp8T92;}oD5=wK=>Xrba#@}yh?vMK1(rw?#;ptn2;V~Gp# z@{Uby!N=Br83_7oey?m&y!64GyW4!V>07VEA0IJ~aauB)o|SXX?1`y$`<6S?$Q?gt zlF@Jy0^RJL+bla7TsEm3lA)JWGaM1kFB*2T_bzpWS~BuRo+eqE`|!q>#$TyUVv6_9 z-#~qP4YhW2X!u~66Ta64Y!jF`2p`{D26o`%quWA|>q!|8>hR2_p_DUw>IFKaYaT9tkA7Px!4}mpqs8p%b{YVH9Wwa-J%OvW-1lSzF;rD4JuJ~3&)j#!=w=kDSljO} zfsflHL+72Za6`sIiw8e0OQe} z#-LHOoWkmp=hj#L zTKB;Kf_)}m1#8_f0(x85T?>?9l;)Hvc2_)&=^>aY@Z;o}?Hw{@3T5!{D~V^!y@sYS`_dB1A6s*m5~WsVjeRW_ zMg7ISKRWnN2dt2psuOZS@Q(Rn!9l@l_lNtJT<+W%J2jYSx@OF-9_Y2(yyT>kIn~K| zZWGt4?cVWjDkiq8k7h$8G8ML7FK4IKI1Um2Ecr=lVj)j?T^er2eY4q^N|<1}{28CU zG!B!$SZ12za|y*Po(AyydX@~%~gekU%{jM3YJ|~uo(Ni-TsjdcpWF`4iQK*h`CT!Wa78||U zHPkgbz@yQ2K-AW-)*vbpCf6t0u1|(Ob8lWZYN{oQITRn{X-L4$MW@t-*dsZXU!xT= zMvgihJ-30KgW0La1EB3>=8wSjMUJ@fD2tka>12G`4~aI|VH+)Iuq^I(uX~D0KUjx+7%)c6Pzl7_ z2WEMFAW1oLwfZEbM*eA0M3Zb+3M#ff4CB; z4La2#xnh#$u&L^wJ()abN=gA`$+t!?`^J|EfU8G)ruP=zo7XG{kvmSYhkg%cbhN^2 z*3~(BklHg6MG=D4L-reE-Il@kbekPMx`r6dP0s507C{uQmz!pM@N0U6m1|HLvHAL6 zj+j9T-*#AQE`hIaV2FP~cRO)ilF&2iZvoQZ{7s=;^g?MSk3DRAB?)S3=B zz79E$2s5%bC|McS=uep)tvdX+DY4s8F7NqqNxK(2*qp#beB1u=SeMk2_%Ry%hamGK z*=ceVmS#8n$JjJ(tVpBVq`~sF%b0ld@9)PXsna}mdp{V}iWJ1}L$2)%m2l9?-|YLH zfy$RZp2oM+KN-j7?{2@Cc|jRAHyzOrs3JDc>AEo6k6ctaQQCnlrUAdb&z9dxM_ zl5WPO(SUN4Gg9Jq3>ulOu58PEBbno$L?i&(+B9@g?SNF@24@0NHfOyR>*THj!;=w zR{C);SK9st_IvR~gxax!ZAUM%TtE6(Q$L+olp@8ye(03C3EBSr?N#TX-Q((Knes*I zN1Vti(P-N{RTaR#P2g#B2TyPvVI@Z_Ncs!Q#BixklnJ_+Kk5ovJ)ujaC1ZLi0_6Vx zk@n{CP_|$E_!F{3B-ye?QnD0f-wNRoQrWk%Br#-fFf>$T7m;jPvSi=ap#_7niy1SP zvNMK^WiW={J@jm!&+~bn-}n1{y}arl?)$pWIoCPw>zwyFSCiozZ{e8kwa#-B^X7&6 zCj`S_Yc#jNAK0($j9seu~PlioccXKXQscfFqXA|!wqe{omskeK+iIl#$O1@HxVD` z+0yr<;5*d|-@d$h*z)+(O@WVD6pcVZ;qTQUC>Y~5nWd+=`H}Y^Gy)tYfiMq&Ql)Aj z%R{cZpZ<**baOqDR`fR_)8Bt&IJsAjB^Il%&e&jsyiew8{SQfp=N;&6DJ)&tj0m0>zd6%wP`vnLBJM zX!bSy;Y9|9D5xaE(%0{GLC48J@n?=e=Fc6Bech^ES8sm%iKGAse2bC#1i)Ui&GZZo zAGi+yE+gtUqn(%Q`kB@#|IZ#VReqx~kG(0JW#-N3Jk1W!$NID8$OXLScUjLr z;GaEx?(xqJ2H5C%8h{QC^a2>vf6`b0vYz4>|8F1R_J=TzoU3ua=>ia;fzLer={tVF zI{#@uo>C_~j z>z!U#wj#h8qSX8)s=JgE(EZ=8m5~ack|J~UqK8h?t+eKQzgDN9njcC=?S12hkh_KX zRVc?8S}eX$9rQXJN@?caN2qFXN2Pd?@+!lKCA~nWj)$Z|mBu+@>GbJ;d*3pZJO2xr zv^w)g^Z{4E3u1E}oWgaH=ceYFdivqRsMFMVslPM96neXT4a;P^#a%hmfw?#)Q7v4G zR0^zx{@>mQIoTfY^$EW6LQ<+Z-fFVSbG7hhs`SX3PUGWsnz?yfC+Fjo+nj%AZxGgY zV1>7PWOL8a(|C?-yy{AwzyN=ST2oj;F(iNb_>JS9`$hQlZ+%Y(7BqJ0(l1bM#bEze z8z)P615O^(4164=T-`Q&DJC82LTyugpW@Kz0&0E=b-#2;7PpoeHE=DB<j3_Jx5QAp z9vIeB5Ue^bBDLm~FEM1d5x4)MGmLn}S}|R*3OTaED;N{*vCeD?L<+prH}_jIdLanKjsk8( z&F?<%-7$u{{l*LDV+`N9q|%Mc7hRW~ky5EJjCeEVy%!{EnX0;L~!i{SBOiANxNus6kgiy#z{jb%+FB3v#8J^{d9Xssjc<~Z_W1uR`(i%lGIcQ;vgo{^z z8+Cnk2RGl^t8{{1uHXFx8d6F-r`;z^iVd>85ZLl?Q)o`}IddY57ppK&;^vtWn^b|N zXwu=S>%)A3=ZW@f(>{-y2}`Scso%K@b>n^99Ui-MTE?TMQ!8~n%aOQOGk$UE?)*_J z0f|dyi2}Do-B4YapA8;V!=fRZg5CY|g>nuFk}@sf)6_x3QHyUSr#^pGNjq1`@~n~B zCgEY!@P$)ft;|KgJGbn8C+@z-#O`RI`7Cd{EcQr07aJ6I))aZWG+>%HnLRb2JpJ63 z`e)Q^mAs{4Ed=a5fY-Aq)edaF<;2uYS02~#3q*DjyN{TKtWfgKsjEP9=?4xc<_^x5 zvSaM#3|wby`6>wA+xNJR_0`5i2D%D93~uy?aHo@#0G^DdZnMqFQb#!y*7|> z{4{}QGaX*tT48K-EBc%1+}10XJJROQBpD(UNJ+sWdh)W8t@4s6KH^~kuGWscEoh+J zVN=h|x{2LWJ5Zsd65MN871&h%-Q<&NkFHv)GF?Agw)J@nIEZv5rMurgqa^I%SKVQkp4HBCbohl*xxcI0Y15XnFcuwdUoaQ*Lv{OI zfAv08tYO8v+0k2JsxD0n=-)d_PSoU#K0rUYJ95&*4a&Vg-u0yfGkNBsgaRl#@`fD| zd6UP2ZX%mU+hIu1h9%0!?v$UQ-YE=Z+5Kd}Ppu9D13eBR*@0Hyt5Jb3^|E4g@)U5G zsJu9cU}(3#(86%QOQX+Vh5APV#r@}t#8QH_iiP}>k#8iE=O&S+LDJfHM+A_e?kf&C zqOqs5`{jvx#N-`t@;Ge}C8_vAUk|6RxlZAthj;Dy1^@sc0xJ-|E6TWx& zMTYB!2S`@HyH$OuRKZ(BI5jKT2R|X;Em6vYU;G`5K9(~uK76Cd@P*HN zD82*C1z6WHa)XFP&UrSkGarsowqE)+VA`&*;J;B|{W?2Pg|whQbJ2P`tgEL-o|HOk zh2B}v50uaU&~3Yqm)I9Dw)A@KjH%XbT1#Dd!Z#)}QB?$s@2!&c`nilg1xhgF_5D&g zU~J0G^%DpEf#NiKjd4+7ZRw;X2YgitM7L>oMnXnqVtNo>O!dDS-}`TA3F=Yw$(b#f%j9jvbN`VbB#Q& zWx3U-sBmV0YW58$i@ZhhhF+@4G4WB#Pc?esv5TnA)CA7M!yfmeIEo ziP4Rh?e$WRacjf>xNi1@T+oE>NyZ?JIbZDkX*|ovnUCo{1KKR@X1Pp|d9`u;jJYce zDBL+-mkJp5-^VuZIe~Xq;YzWjV7^^djz zsOl-;Dz)SjAzD@>udY&wO>*rIYQx!%EnrX!JQKqs-)0|XW5AyI;nFPz$^%*Jy;W`6 znhc*wp4iRFD;=wGwKk?OO;p3)#_9V{vbgsu5!!cm8--)89xJ@QmJ!1HNH8K&Mn(cSQh#*7+4Su$2X$<&jcMz;g9>q^ z+RJMsciON}Foaa5Le@*IJ%34wB*UiWA0uuKWoQ6R*<4x3O;7NJjh_lSCs}|*c}4Nb zOc+v0h>J@PzMT?@DS>UGXIJSZ8gHdRHcem7IVENgi>dHj<3FgkiOu_d+sVz_$y#Sk z1X0%eJ4hIi^|s!6?{$^gvnV*HAG;n+bf+bSQ(uZU1Hbj3S`Bv975d8 zsl5W9TIlwAP(UGvOD8$IE2^xGeI+gylx#jLY5Iok%TSArZYu1WesACjYQB-=wcwR2 z^erdNxnQcLKXF~?Krq0F9zZaVgBeDLOW(%q?B*)G3TosAUXD>TPd!)dMOW4I=BD*s?-dw9 zI$dRW1}U;^cz2DV+%KeKUCP|~p#C`Y;NZ=Q{C{gL3edt#lf;u;M|jxZ=8UgS&HAZO zmA_nmTOL=viti@Wsv2dactUnjNe*cj_(=1bGabU|&S5jIfkaFuqIAk}+X|E$wf8=d z9QWV(P~&$*zTESmaz|1e5(=NBe<^PqbZ;YLxJnNz@TaN}wmSkod)q*ZO?FC6=VJZd zH1z2+Xuzd!?%#S97CZ%G46hVCk={s4N{V$z1Ltfrlrd-9v$oSP@vc8Bj%v+0Zdy~{ zWo9j&6T8IaQhSE5VTw3oxx&ctbGFefy@NIMMFSZmBuLh3xQaCnJ5zfcD|KuD=oztA zGfJR3a_f1{u7jhn)2Cb#~jK5S3aFI(D|8mxRhlcEvI}rztY{y-l3h!OFyc{we z<>Rc++<~=64*7I^Zzz6+18I1EGjV!`ItjD2tv)|IU&4%dtGqYX`-SC`HicZf-}VU# z&NE2sGa(S7t#u-0;JCJ?253O1-jl9O*`t6@;r0g=WOncT;&wD-$rg{YjRxzK;%aUs zTJjgbHgZ!cL9;S%HXPEfOcq_Y25P2&8Ku_@s8BzA8^RZW^4m12+0hJkg<#FcD|*C< zQH`D0u6~*I;|Dfvdth1Be9TZqaa*i+2Og#^Aa?@p)2!oNgqXkN)FOM%g*`cFm<=%{ znd2yEQ=baZFiA7$`vIKTcnwtCxv67EoTHvBryV(5_fhu&71r)Rf={3@*}w$*??jf5 z2kw*79^TE^)!$#&FK=vI(ufWb3UXd5k~rhHn4hcosRU#Y8wls|X@7B?>n&)QwxTKf zCN5*&lQ^Fhjc3tUk4cW;NJG_oq?HL(KZ8D!B0G6%-W!_y1+vb}9rveYD`a`O60_$^ zci2@^j%5vAZ3%0a6zp%A#D%-sGD+|Jvj=kf2EcfGQO#M(jsIfoLOpbcD0;mD3 z8Hw;fZHwZ7;GB(!NVTWC%|f5p7wV2gE4FfwK1@*qHH2 znHSulB^xb3DrbeTQn?#bfGye-&o~FrjIgzQ3a=~Fdb~FGuCN?Pij}$?;2=LVC7?Q8@l95}e`7DHo# z0fz0z_ky<$kHH0KJ$91LKDjijx=lub1MJYo8QrzpCB2Ao4{ro8>a0sc=e9Lk;ts7{ zLe0t65a_YX-`pij4$-b*0Q{wLW;8hk`3`+>90v+PS@5e#E`k9S+1g>^EJ<8r?c4zW zmWh&5oCo?-eM8>$^VU1;2R^6wP<_t@jKA>n<_QYaECL7LzcI%{6O^Q#)*kU*4#*#R zbRpezgwroUR>xCT=d?h3X#R)r3ut4dHcNSmpSt^i^XzY4mmqtG_;j-FfZnYaiJ*n> zS{sScP61$r*Z7U~75Qlw20s8vhX4Ih{4u%jjY<%ow=w8OQ2kY1w$)^z;}o2i4ZSXF z5I?|cbu{1oRBlzO_)g;90WiWJDp!%J_mB!kOt61MyBPMZAnjY0{@O_unLs$i(MfsrDeAM8p#z}D7>5BAPGu`-M7SeI+C_d(AsNx6sHvUZW&hHDUBJ}PH@8g2c;w5%i= zikoy8CjbENdNDInkcYiJKpkw~kz)KQh1)VpJ%CBf7q=00lo&wFLWXR=-GvK@$H3dx zPpgD2&DC(L*Xi2Hy>$@0oi@v*G$HCiW(ZcdPP6Ls?YZ&iLr4pQeQeXwV$>Z^5ua3g zvpq)L;B6EqDbrRJ!%SfN1;{IsXW!q=N}*>_d8EQHn8Vo1ernBA2G~xt!l?FQluK? z@G`Zom{jbos?btxJW6B2j@0aRt%ooyLP=xfRMu}>2bV|nmz@`+TK)WPxE7-ze5AEZ zezZxoG98%0W!9kRI&pH)>dJ7`=bav4?p#5;^ULLG`E55KVTH6{@6gA_oV5TMq~Cs^ zqihr}FH#!3^S+WPb{HLqvU>uW{NGmHarWo1IGyb-#4BZoQR(i&rBTKH+1$+XbZo<8 z+P?%5Ww*j8n2;~!HEz}jwmrwuThlS!)hii0&m6(?JlF9vou-pzd4PM6B zJ`vw9wC+oFmaZdZFYC=HKAJ^wGv|%3-k9c`b?)U40c+yd)bsZv%6JxzV*$RTqkYbh z(m78-aFT}+@kN%t8qvVoxj*WkeLJmmuDQyiM=HV2Y5N=8PLXMEXL<=m?P1&6=ZUo& z_yV?TT(m|i(Nu0c>Muc`oD|l@w!t8RMtQz5qRP?!#-ekAI~?trmK2q(TU=wQzsa2W zrTrhi^(b`dE{EX57Y2Q|9BREfp8k^qi%?x2bkz~8w+Iu*pXN>bm(WPTd3e(P2VYN~ zpmToWhx+#X#hnk<|K#oeRM2|7K>IUo@n3)kNbcP!56lDoS9l3wS4Lb^4#{x+C#_7skzG7>E$z*dSPRI;5Pp479}%ao zynw@&-G4lqFZh{>dZ+gvEg;2!AM<%Di;tAI+q}PmXpCM~S?iLboq5B9L@}5 z&j!FAFF6x=V@nR0h!o=VN}YkC?oRq+<(FJh8*%ji8#f)Js0&sdZZB1K@?Wl-^Ey>p zh1Re#gXO>|iz!Cbp@xN?C+f@OUx0mTqiEej0#whx5WP=tTn$*}bdqP3B3|o{{=8qP zEdZ8sddF0OU3bO2C++l`tq9GSA;$m`)>^`PyVH2OcYn76|G_wQSfGBr5g5T%KQYoD zMGp+;Y%HG+kIxSd5jtrwY(GR0L&OgcncKhw!mVIa6sFC|dFx@K0x?qSM?aTJm7vZ? zM*`&*@Hw9UnvP{kN>Xh4byzW6FGSS^ILI;AI`XAUCCs zy{dg3ox;ZzPG@KSOLU};4~3jaIVsOG*dfN2#I<=OlgWHNYNV z9Z_`W6@m%{jMJ|H-aqU<>#04RhGOQm6(BLO8nr;4{k!oN*cR%(q@tI+PRhVs?MSxd z^A(OP%+s@cVkd%0%)zLtp<;2G4aK;q|Cq#7z9R*|i$XA4DkIdn#jdpKXt~=ScB7tM zsA+G9=}K!U&~3ol?W-r)@pf1_v5^nB2`dsYnQ_Cz)C)-=x7YRvz*a{t3GXIQ{+|J;tV{U z?b@(EP(^gkq+Sh4wE(d3EdV3c{&mC_e}PII+_>YdL;u2wb^wI>zpN6^+FNq);@pS> zI!l1D2mU&RxEd3HRhDMr5@xwSGC7N1_?qasEir#A@ez&0QkdpzTb!5Bv343L9i=jm zTmz)U_#Z=e{wyVKmI%{C6Q_7o$GQpzZo>h;C1ScJD$fJtf=72dKAd$(w+&V0 zXovs%(**&J$Ytsi&$g+~Y=)r`|01a4sjB0p->DYnGy`Yz)3@V%0*OpSn~6-|yq-6g z(<7c329Gl^FjWvJ)=x^`3kKL*RSFZNEa8kWzRddib0CWV3{j!-Q= zrvI8r>^)f4r=(9whs`hmB7fZa7ya2z=2=p0k9tgq^6hV>;&HBlnqAEj{@?F|SAg4i zgi}3_U6*=*$b5cmM$q&Bk3HCCifi*1Y>~d^G9oH^_iib#XPD14lWOD)$_mrpzpv@| z!lWY5tGHHJWBp7`FNyXV$9bkhtJO1dn9YvUdzI|kWa`p@t8VH2{5i<3yTGy@*|b@O zkB#I}EuoorDA(k%O53%=CNr6oUUvfL}~t*Quj3`XC;J#ap?pO&lV4fZAu z8JVS_^+0cg^#>;VK7V|C>0X;AkNzZ~K8ognzqGBs4CztZ8!P;LjzuviBX!04oj)74 z0>Bi52W}W!Z>axB5Oc`B@zPL~>qw-@g=muui5DdjJiU!IJ2dn-_HI6?1<#yh z5B|aS;l9OVTaNf&F>lM75)}vVvs({KQ~n$?7%8^*h}gp+dYpXgqwjLB zpw~NZ^66qf1X_}JMQR~qxZ7K2g9Ohaw*jEtgZ=w02eE)io`ukK8OC?=4oFKMODO>x z`p0)(xH0OEMGWT6#Vrm;+vY4i;lh(gycgmAX?$Yx#nwfk8^g<<_^kAyItencR|}O7Mo+_u5Ql{$2$z1 zHgHP0x2Dt`mAd4Q5UaVeUwXeY6f?%{YOLSTvjp6Dg`!IK{PMJ}#I^Q2b$>LcPnR1h zD>LfIgWXG0L6F|XCQji>#s`XFxtGCj8mH#EYx{H+YID%L4y^e=0{~sp`K`f@5!^;2 zi2)B+2}mS#m37?7>JW)Aq)oQHp>7SH85+M0WO=d8n+A5Q?M&^*rEWM|0Ic<;m04MH zTZihbFF|2b`8qyN(slOz`@_$649G#ajfrIQAwnd`plod(8S+j&$G zttxJ^KFd62nmXk&I6|?lFtM$7XMPdyNOB0bz4M|ePiNmz-PC&W{r-CQ@T@;pT0Djn ziU+Oy(CACU^2KPWgJ*Amzul4P5}7G7Zvl2gT5aT=?5MlDw(1G;N;mF$x#vu7b2=bo zpT3QD%j~)w*Czf&))lvChhKn8k25y#wo&Iq)ep&|CUh}N*sdmRS0pArmtwneP;ZU< zzHUiRIU2r959`U60iWi2>)!3N7IKuhW3}jrOd?JD9c#Fk*vNn);Eu9ee2Z+I9Y;U0E5elX_(}h??`VxCDN4xy6}gLsRPxFkjrGnLozwRJ(+4fB5u_ zL||Rx?A4OkL4B1mqVrh2q19%2qFl5r!F<VfwuIMrhT|wd%!eyx|q6=_ka^3;MUP zUZ+8O`xu3Nj*jBR9tE?alNtquo6(l`Rc62hXSXe8xYgBajgO#7zDwhmQBNcs9 ztZbrc-FZ@JF^J7rQ;t;a!RAi5j?V=azhR#hdU1qUmk`Jw=cTDaz{^zpWA}51RZkeo# ztN=o|dK`6E^w)3af^MxiJ#`3{D9XCtRh_XhWHs_BF{=^ojvS@w=G!+r=M46*=_+G4oBVS~ zy|Bt6r{Kb@ojNwI+r#6?-ueV2ad17o9`}t8s`y-$?Z|GQ8k2oAD{-ILrZ(N@&F`Oywhq@ySP>2nRrcR95}wemwx{leG2mx*-gs(G>xsp{ zBG&I=hUoZqK8=Q4x_7jE_tnPE+)8^(nZJZwc2mMN{yEog(lG;1yLi`H3aHe~dYP)7 zE#;8J)8DoUGcf9hM*Ibk=0yURIuI8!&X=&fwjGRz#GSfL9GO%T&cBK=nO=cD)9ap6}K2LuQ(4${OG`V6H{pxboa@O+K<_JD_{cc+=E-JQlRm2bB%>vN@ zJEU32-dq^?zLgC}DK^Xh0UXAT*%=wG5^^mn#{z}=QK`*d#RXs9L7&d*5HFxXfnvLj z%e9NQU^)MLN*uWwyDZ4J9on!|j(8P1ZAwpbF=nm2?UlhWP*$E$VCxs%Uohxdlk6rn zG0{&$;n_62vCGO)MbS5X0<#f&v`AG;(isV{Ucur1&mUHD@AtRDMtWZYvs79iL>2{} zXvdAT(4l@@{dqXa2CnE)gsKLthFdR@i4F`}lK`%TF9U_)4y(-6DE7%_mPoyNuObA5H zG_=LpMHZ#s5f;g?GovOqBuHMv<%63P7r$E=D8+CG}2AKU~$F@M%X1WK6wu zaN*2MzheiRtF!Y)(8G?ifmri>31U<^PvNdf;;!+oLs};bmppY;7x)gxn{!Ui@bj56 zv-Vg$k2H6K=n+qJ<4Y;;Ad{a&Z!LuCLq!&rf@kQ$`cZX?ZPt<}&x!cNW@oPq;9|}# z8lRo@g`2-1vXFth@Ib}K`!p(BP(R=VfYE}Aek$J$tFrs7aSGuRF(b6UP+}B*iOoQC zM*SvYYGjaV>Z%HEVpJyXDs;JP5=fa*Omvqdb8q@71*(bUbTJ;N7j&`{K+ zWtsYKKidKE=@;q&$rGo0TUtaiqzlB^MPsbjGuiDY&hXx9 z=&395pSh^l6qh3GGP81af2U;McavmizS6t5)H|vxGZt?y+#3axcFKUNx>;wJovtf9a)nLt}Fm(9ElV9B%B zGcHD(scfQbDL1Bjuca#Z^mGuCinfl+O_WVtmq8@bPMf0Po6aQou4J>JRLsAannjH2 zc%4VC-*l{IIXnvxgsVf~_(I9vVoCW5NAvo72`{9DM`Ya8Ormuf-MEef>??rmSw}Wn zTQ!6OPj>E)mxto2s;*MuBaQ|R*+4g$3qiL0Gnu><3nw_Tk2Ac{pFM2dc-PJFtWD~2 z*{^xs9}q|BrjgBi8_NaOqz}Y3mHo9Pp^1xoXk^oDzzQLt7c$9`{y2SaJ$H}>Viyhe@a|s}echcR-)E%1gcKmEbI!Tnw6Kmt8o(+S>hx>Nr49@DNl(Dq@ zHV49t`ufywyF7>rUxlgI7S;(QPkr>#QL4%oyYs;qCW2rH1f001_10&0UkR|p#MOjmKhc?Kng$>R%bRGd zw>aj7v}Cc5ZuNF9J#F5^Ndf+nI;OnR!>!)fvXh9vB;|DYGQDIOw>G^KzYRHXqH{A9ayocYjpVK9aR>W{Q^^$Gkz6Znmd%}SPk6z&kiR4b(qWFl~%kR#o< zR)bX2uF{~G>|@=PFaF!kVuUV{f_|KbiVB!C8H-Lx3_msD&DtBXCK(bs^aCV`%u+Dk zb1@`_($H~G4a6nO!5Vj*kGcJeN6;->y~R)e>egtde}Mv*h6GgVRJ4`^lDNuOI92wy zCEANSU>ZS>;GVgA*zfg+FxBw*tgmluwHzrw~gsxQd*B4 z_hW4ZEb;1$dRhtE~uigEYt|%kLFh3oZ*J1*as;rR)>*f?T&ShC(9_n{8EsNIQ-6&Y95-oP<4(_2mYDK zA}*cK?*9rjC;hZIRgC%xW$?bu&htR0uPT2u%W)RE>6_d>6>!sZ`3b3I2o3mMda579 z0JCl7wh~fD&6~A6id8AbVKzXm^g(WGpCGf9y1@Ety*%j3wExR%k>9~pFu$D*?~``0 zWP~d6D@u4~@s>r={rEyvz86->yFpVM@n$h>c06ks)>RUUUR&;RT;tgMXgg?WP}m$G z*6cl2P%vREjl+jtjW+R159S!Z;G|rkAntjA9W-|Dx^p#{#bJr6>@c`pib;URpwv1a z7T$i+)s*sR&*#%oLG1Ht1%x{=ftVv+FouS5@x#%!KEaXkl)Gap=n{5`tt=GZ1$O5# z=j+ZV|0|}n@ZP>*`#M&0s8uA4MDT_AF@Ss$W=^!HaZ~~)uezNk;<85x1c%ME!V_ZN zy9hp0Pk7(6A9p8mzIje%$3k@cP5MZ$e&ukQX3 zQy~%p@WlmVl&DWUU(Jk>!}gkXwwnFp_rqzY`@9`Y8KDuf*ZF}agR^%0GeJekx}mxh z!IjV>YaRZF!L~B#r*=>JtMliQpyJz~BqR+zxY^SZ-H$C(GIj zhyFH#sFLB?Z;G@&L0o}p7O7!U?d2rf>7+D6U+=tR^$*hTeDKFRcRzl^BP4tp-%tXz z15?RM9Xo#g8tirKO+TI&>U%WZ2#;<>#$CGYmHL~l-8CrG)IWu(KXgj~TrdLqSozOT zlI`l!b!Q`3>~Iyyl)4pl!xOk^f|jxjn@)QU<;bp}d#Z!H#mmaV()4{9Kpw+@ZP8Iq zl}i~`YI>idUW5aYz+C3diR7{)X6BtN&#EudwoYs{9HX{D-jRgkrtbRlBD9BQ)NGh8 zOungcD0HWteg<_5a~^N21NrQ&Lw%1W1Urmw zhtn~@L66s$Jwp}x3KlsLsWNd4>Z=L?5^+$}MoCvwzY#>4zAWXgr83#Zvw&wSFLR*v zl7OXEoN7;cH|mYS?BH8xj`+-WfPB0wByK*q5YxIj-?UDQxqfyDby>0ciuWA?i{F-z z7$C*RV|RZ_5fb!ehbm-?!n*4sAjOHs9?B_^y$HDbZLe*zGM=@GWXxPAD;MDX@mu?E z+b>UEFY|xdu#VUHEY*HYB_>=c0ps{2Wp@u z)(F+7GAnfyc<<7i?(74}v6QmXICn9vQBn>{ooLv*JU7@2W|_N`5cdHQ@;mMXieU!3 zW`tyY{|?A3PYKVNR}yX^%YLJ&fx9xJPV^d;$0CmV470<{^q;Mf12NC-HapJ>C-(X% z)$w*o1aPO+y2hIy~SrTbniG~k5iAnBLbyHmms5agYW8)nGOWDfQIIdAITEm&PZwB`N}FAs=P z<|^)T83h|oR>L_?(NYyhTWBa{7>Wp{~WgoS~NcvtGO$#;XpB|EV;ZXLggnD6zE6CVudn9H`8)ucz?RnrF1L z-w3JLk={tm4_Vxv8t`6c&xNgMIS7n2$k=(PqP(Sgb2Zj|h*Kj=O1H&qxgJgsLnxa| z8q={1*v5UeLs(8Xrlqo$)LTpDe%FrN<`SuH_;MxmaaEaU^Xbx79QnW-4?lR1Tnk+sxu1XrNJ#4?O9 zK3XU7VX)HAn-}t8305DiL$sQ<6%$kpi4gWC(U+Oty`k)vHOxgyc{DL|J_Yf{(?Y{m z;!&bsE5(!1-T&04q>c0S%hEgjOJH`@h~8aFru6g-0L73~Ex^b3rYQmAz-E&&kTOlH z$7_66tbDq!BJHky1#a0f6t-8x4OflUK7Id^AoOjcHQ$1swSDgm>8aTSh9AvTxB

Mt-y`Npy>Md+%KHa2dg&ZwhK}%s+o;KfeUAs21j3xstHrh-)hj z9IR#+i~*Tfa5Pl)g3F#p&15g)|Hv%S+EMIg{GxL67lD{Bvvik7s=>ehwCQ}>VAp`P zWVI4=m%3IS3v`iF9hd>7{-g=$py6saVt;w1JIw5|)0~h5s@g`Y zbN1!0j(48tRDTa=oQOib@_qY!c&A#WLb;aruAjVLqWM*O#+0f5Co$s+l5tCwZ};7lp(DQE~4 zow#geZjNY*2F|2D8!f9ZS%iHj!Ms%Ed{j<9Wb;+ye!0U-4?xcbsn}do^NYM^Pm~MX zLJxE$9~Tg69|~wUSj_8NZ!NS+^qvN;rHjzOXA(4Ua+1%$QYktS`^)WE==Dn4K9Ig#F`onPUi zI2}1y@zg*-q{1Wf>ZTnnkWO>_)e8<7Mlq>k;MX8oq*ZYFTAqivm$Qo9O<(uI5bj*mSxTiMJaVE1*UB7<#{;X!Mv6n zsIGJHyLtme@vF?(ZtMHYEl;!~|IKgl}3#$@j_^XO>}6c3s2OpgRbY39S*gH9OqU#_rx= z^UQMKKFt_wcsS)0a<9{?Zhv{gpP$f_fKX_2&z!Md4KuDq0_DXKon7$qsGQGQw+vHb z3p+fTZ{>BIyjkFY?Vs?4-2HngiMo@gO>b~KWCu_ckdzemq>NY9ruxC-GuqG6hJUzG zY}qi%-n`XnwQ2Ixj|v}2rVcr2vUSAL>ckySUCNs(PvQxuOVQG6&f342$AdN~Ez0iW z5PqED)Yu)Xpz+Ma1mxw=;}{i~xU{F}W)pQQ`b8?GTq0H;d0QWTA7Sd}K9*2J2vW(oh>%3^Bm+;;~A7dHqL$CyVhMebqzyHWPD0t_s-^n+@~lL5~{D zdiWAkg>fO0@jm*+`C@_2O&~FcIdjbUazTRs3;bd}L~aoh*f^Y!P&T!ODYFGalXKuX zxx^;y+~cnXL~%`ALsY@TrNxU1D+8KXF0ngynsEC$?UJGGCmTb^TBgADLSi=o@)0(# zA+dN_6p}!2w_Mh#L%Fp8;$8tVUW7eD^8{pXE!`(qKi!)!5g53vv#iZoC*f7O2OO{e z2*m&aXbHG7?GJ;eJ`a8MAhbv;Aux6r>lh zOC{F(=$y)_#5lb43FOY^JWV<}2UlScw>f>@D?F&rU=zQSL;68HZ;yNOH7ClnlW3#o zyzTvUuhy?RCD5hy{kj^jOd=e-!N;=%0cr*Gzoil%;E%FWC5`)^--m{_e&+J@6*4GM;E_(0pU4Y-0`hmfO}l{1m1;7lW>$;}Th!ZubP1cwF4XL7XsYL{h0u z#>0pJB}hs2Yo@YX6n;4Zv?rqziii`GzTI&eZYQ7Q%iQ3Qy-SmwwGtDXDA=brX2lQvg_!5UJY?0vC zm$48zw6x}HP8t1StFc~JGzqb6o4ys{HwRnk;jKx?YD~n&Z7Lhs6gD268u(AJ79I69c^)UV%z_u9_fN{MCdI!oBv^|!oLjg_{o&nAjt zuJ8|YkF0SW{nZ9nZkWT<=7v@=6{LasxcL71tf(eku{lEjrsj5xk1`lpx z_wyZd{Zcc9`3jJPW=CGjdp8DfDkxXEBH+d0k8B6BemEpmdoQ8SAmQEl3H@HT05f#P z{Vq6`9u08)feVQ;M4ak|4X;L5>%ww9iUVFrikMYK zR2NOrU&!*(FwOd)Ic_|r^ZNHZ%`=9tmi#~tyw|4}vg|R| zOB(HEZOV>_-;kNlfhGQ89ejya^0 z1UYTN%T*1fKnonx=W+9XVkMtSQFIrkqRp|W%Z};O^NBTt zwp1*~(rDhLAEXO7RM{2|O_cYpI|sRyEbrs4+XLc~)Wbx(K@y4bGVbvNbn(_Tq6nmP zr3wU-SW)ZLs>@8Q2H_sBFp}3aeQo(Ny8qh zDhi}S67_oDn9#wMj*jzNB%r(u$Xj;REYMUzo(BI_yp7e#cK<<&PtroL|tPw1BBB=N-v$MKUp5efQP-ifYxS5bY4reLYzB z|7-8dqoH8ixU(h{BFkf&kR@a*l5JFIL#4>RQ(=Ud>?V|urDVx6N~G+2c2RbwB>R$e z#Mq6o48D7YdeqbVyx)2M{La_ubPnBf&%Ipx^}DWn|J@CrFGYtv!#h)RZi=Vz@YvIC zmfh6tja*h+kLwg03@Iy;#uNw3*c;i#TtT1W@7>E8HHecR>;lG5fsN-27q!RwQ}v#e z(^od4rrI9#L;#_()+6I8hF-wA6~u97^|0!sq|&*exRbiBrQAI>nmTRcinaf&aO(`Z z9?9*RWxlwI?Pax8YkI>OujFmpqa!-I6>n88hRqK)${W!tb<|wvC=Gf0_$5svls<{Bm+Vsen3y3WjP$ylSmFsKG zP?uw;aaEvjenu#&1#iUJbD*hw9o&q_wY29!~446UK>t-H2kLJI^|= zc>{O~ab*?;j*q#&Ul2%i{ovNj+u>@a!&Q2Wx^Hok>Dlby83+zd>QHZR{3+rFgTXZ} zgh2wdqwXL!yt*t&QA5``>_pZy%9n1`p-tWeQ{bR$inR||;nb;BthQY@K_v$lHaJLz zGYj91MmLNXe_vzIqKjVTK>RXtksjlK9?}Mt*hYyemwSvncc!T&RT*E)s&P6n$B z8KPaNm94y__5q{hS)l`WUr+Cy2;nXDg4JNB=IdRkKl|?g;3T+hpjx->zcVnEOl_O} zrPYVIas)>Yq932>Vo<9>xui-+ANvx>$@zm1#(i? zxN}@$VRFOocmq}L*}jvK1wAWZ0^+mnvZX>}AiaogeYeqHVQse3r@Gu#M2*%crZHUJ zZ1C#-1VK7doo0;=-i}vo9}ATvTCD!V>y>;Mh*u>!PbqB(p`{KH1Hii+9)LPxptE=T zk}(sm#>KX#xNrmEF&8X{6xOq&>`s7_Iy01dUa`B6YsrK4QjgBK^51zS`qWf)DcY5N z#C<%l__^ONF*1DPK76$GcyS9MMrN0gCLOBqd$6T0;MEl~9k0}j6+t4Q`s>O|si(>v zRX;6fT5e>&ywSQIsxy_;b<__Yu;1M~0@}*eJEL@8p^J+&VATiF4zfoCAjDglwvxiZ zag*R2UOm%94np_~e>KE-QW`}JBmcxKfFu$EdhB4`LEF9iMiXfls7!^2yEDTRFIoo+(ORUDaP^PYMR-*2MxTZa`XO-1P_wVtF(Q^n6o|CmS7A=@%?iVxo)JV?{ zdX2Q3ZP?|)O&;twY#y4r!uJxT>jc9JJ@?fV4^vsO9b6A_H;T&U8@{R@exc7>p_sMK zrTMn42F1MJPs$($s_N4m1To{tw%tLp5EqGr!g8S@uI2+KkT|f$(Bl2bUf1VozegHD ztF^K9+9wPluKk`kxq7{j7#(53lWHcdjN3f&niv{KY2EpFqlfL<2=1Qed+Q%qfVFi6 zmkswJ8smvMn~jaMO$nzzCX+F zx+%-VEpvr~=F2YQ9+b*;pCQ@~+cbEd^!Q|1qQln9P}JOZ_cAEkE?mjsFhu&54x#gQkyMy5AdH*+-fsj7CvyqD2`7uCkc&LEowVkX(|3U z+UFrugOwGf#T=Xy_LX4oZIhIxZDhXk}{Z6Q7sN+Z@g z&9GSihB*+As^Oh_q=WfDbdjsscElN&`fZfTKbo}V`yzHrE&zx4R;7$<*V0repQ%`f zNjjR3J13Acm@9wN-wvc4Ah{?<%8U<2Zeutae_5NnYW<^=h41a_SNWVzW3EyjrX<6H zOf&(v^KW14I6}VgK(5qtAYL|FPmtq|b;2c6nfBK7+Hg0c?1zG(KcGL^`Mf6YQ7fRJ zl+a#)b{7DLzMhfF!WC0;?s&7bue`9StcWcRfE@~pisZ5cQ13R($KOf`)VM65Z)=YP zFiNd@)=(}=%I=VJaLW^Esz$<`glRc{x%s*PMPm$zHXWH6;of>Dyq1t-ERfL^{VaRQ zZyIEe@XNYIpW~4L3b;9k362}oea!nRG~#>{-{LK_)HY`6-xkhGVIVMpVk{jw z>uAKu4xQ~fJe)12IF@iI(a~#j>4Ds$g^au0+&OG^cEm#YCHs*60R=G{Td5E6%RtBT zgsHE3Z9Sm4^CI3hy+_GhsnlyAzMJW=Vq7wFELxL$!g{iN^X~ZN=>!7Iqkp;hvDd1E z7w6Jm($Lj&gd`&f?FyOaz1n|YatAPYbMGz`9o4AB>Dv)qq6Zt2CYMy|?;*oQD2!AmZU?6OQ)l>6Z&Z|p+9?So7D^CXw z5f&ZklJ=a&^CANK%n+FF>kI?zHm7pF;Mk;Ng2exCXzK-(IcF|Krhk&lbu|1%x+OKD zk1|5l?PQKFXbBBUyJvWWq3Hkl_MR>LMMOU&VMYM^H$Q<$t4r!8(al5RQAHxuAl6( zsd34pC1m_+tCCQK8X@tQET+sqZI}xr+19;qUY`y*RA0dwS%|kW_vpnvEJTIN#v~vj zV%z0mr-aaZ^~wErzzvs0$rf2b)ofirs(g+9|DomgD*i zGy5hm^VVDI_5E%s8_lpRZ=U-Ka^)b7IA!g*cU?yCz8sE{d$G{PQ$LSI+0(d<*-4@v z+Gt|RB@-X9=qpMpwL_w*kqFmd(0ESay)^6S?N3TZm;;?OZ_T-t6pJM0ZroMtO8AZs zxV}t-T6Vw;HQT6NhI5-rn>o)#C7??4(3IY6JsnLOhio>SZ}mP*xU4PFzu}Mp>&|g; z+n5R&$;a=}Et)0k9?ukPopJV_F44iAE=uYI70&!~0oYGTn~maiL#PQ6G~bx2!Zyul z7br6^RIcv2g$eqFdQ54AR}C{_`w=y$K5M|E>(3igB{6H-JV}C%=KK-0#tx8w`&IGXBLQ$jGVfZxiZ%dlG(a2uflO5fksPhuhoYqB+iDqj5oXWm z-JJz}0Y>I2p~2cYK-&Lh9I^{Pyi*9XSHJX4;kzgx#vs#*? z@e+CpJQYCVT7^(%2@#&|Ks``ea5g(4DvHX4;e%VI<@8AR?aE-aT!#8v_g_U|%xRFs z`eiBNWW!p7V%eXu@=b|YjYFimxura}PcYh2# z6Cw`Hr=#Zk_!*QLAvCO=Te$_pagvdCqaf>Moq=WywNI{Zve+xkZq_t;f80n*qKo1Q0WLOG z)m5*|Y=0ENR)cVEGbkq_PF$QnNe30o<@H|7a_4H_GSxr%{;YXk6Xum95N0Rc%~HE& z)EEGXj0!Ms;Q*0ycRg5#nq>WV(&PxdIZY+;JU7?~d^oK6kMn#6sj#w-M!eDEU$QYVhe}$bO2-+m*8Pkqig4&tin2A6{Z}cER z0f!`PKW11(CfjSvr+sT-{JfBgeW#XJ;PsZ5RMs#t;)%EI5b-^(|4fP(A+HZ6JLmdB zGrjjjE;#v%;`b9eWPRVJu-QLSm@m{zdG^Z8jrqq=4Hm)VQEvSe3c`9PQ9w|%F?kan z46vZv@n#4tLWtZ%U`*3Cm4y_m)xh-5CJ=t@H)p)htoi&#A*Y!KK1l*lH1HNU8V`+8 zz1_B`uM&>p)om&NctX9xW4FV*zQXLYHv9G`();f4&28h{1cL|^n6BubFLi;V$(bB* zZgjAbf|T0|MP)<-wEiWB9{;vPI#c|T10l6t%YT$WV%O|avVlY*e|i{5B*8}rrl7)} z0OBSr#vbq@h>fzq<5vV3ZHX0n1sWBcM>xdj9_`@~rY6H$KrF5t5M|8!j{i{VHIV>s zNM_u6;)D@XLS1x?k%}q3jJzC@_~VI%HNqs$&t-nn%6Z_r;XwcZSuyQ2GgvXsM7m1h z5Mx33AdvOiN_WhTMHAoginb>#^;C`z^q9~;374Qpb@{K6bH|L%^XQJB8^4fSCkYqY zc#yGrfO1}JyYrSJf%N0Y_y6Fh%Ljq!ztyF#=9ge`MrEl1{>1fh0$B`ijPM5srTX&? z#|oo~Pdx!+I49?V;X5cKis@J8#;f<=z1m7r*u!8lWQ`~4gcgg$H#yWle7{6K%B!%s zol(!(#D`??M1OADggC1B)i0OS=#%&c*q^dh+H#~KJI+;N4DIm~+5}C~zy)xS5g(w9 z`zv-vNs;m69}MpJE5uR1Es&D@|B(fje7{pxC9${p$Kx99QHY3nO}0Y%`Xdyz7E6;c zpKHWck}nY)2y#;Fe)75f6+0~t5Q=0%BS=ZxpA2-tEHPLmUi$ee>t9|q_5?voXpu+< zUdaGcSz5ih8I&$a+y0b9y28!YV}(TNC;mIwY|k#rNn$q3%sanr?GeSG0xOX|b{Q8Y zBWZQD54q=lKIc&-NPLTf2+lkrA%6St_^H_AJEa$3j&@&?-&o7%aTXUlw^tS2&NBCq zC4q1GNeWe|{?SvmZ9o6>=QehoNY~0_&iv3`{PsSB>Krdp4S#a`!4zVE>IrMKRZhyWSOo%E zl3!QYko=CO@NSJ#5*YJwn;!qiebw0E9t3Tnzid&xU0o2~j1%+Dof$@*-@U{tzM$jI zU45pB1GJFT$!TO4ijFX@b`80(V*Cd}wjA+CteWppK4Gl*5xF>~*9a!GW?j-MHPJu z6+$BAQtmmehb^3xlP%Ej#Dfm_HoBAl@sm4-Gf-3KnQu*I7uP_`LAK-?)#%#h$R5(- z0ifuzldxshV>>t+0lpvJfXHgnA@@0 z+|Q;3-#1dUy3D>y({^1(yPx@3IlYucohZM>8-~6JNz0-M&0HU(U^!W7z{P7|gDyb~ zPEErJV)hsL^uZ0}x%O^ds`d#?EGuzls^?xaZr%72di|qwNaZ4Sjk?<*^n#|F(lUb$ z)@kUohD``Gvcxs+&f|i;l#?I#>|Vs4sREK=I(+zjl0%nV3nxKs9>>-jwi zuPeV+rr^d`qYWVX4kBnOi%p4dvgtXlQ)Y~rhY6ygsrl+>X5A~SsRCr`T}%_aB>QPU zNF<&Xv>zbMM7}jm7gstxuPlKvj#|Iky7`(^FSms!cXrKe@Ie4(b|c$cy|HU+GWvxo zq|PCsPNp-u#?{iqiga~y%HHK-oo2~bIhp?PH=;!aUp?b{?#9A1OPwPct(! zKPjiDz%o&+P*heyA0k})&#|&7UyWtE`2?yxq{nyTI>*-F>@r1mfVr!PJ}AmHXQ=OZ z(AT-(*iU`)&4_izR9KA0(J-tr8J|u1R=6@h$Y2!b(DJd=2gzXIO=+in) zc#=#788Flw4Y+Ww&SG2s>W68a`$1T(T8lstt&|HF;6$`e(Q2b(^{y+I3<9g`|mhBnbouoxHVX?X#H|f?_8- zPri_OMi}N~(`1(^Qfz3%yfUdHRyuUp z`uU2()TzC-OZ$g_=_zi{PBn5^@IC^)Q{W7W6LDJyTkcUOk+30**-upv`9(rJ^UN0^qcGHj^Yfv}({G zx_4G3=KZOC77Qso7Gp|>@{ek(U?zD#c`@G@>;<)h8D&$;dWI@a>Ci}2&RWUb4M>cx;q*Q~)FtWXYK zYV@H_E?WaK=XzkQW9GQ;&hU68+QKg(r_TFgx9s(T-1Fmymh3#NNhj#sQ+h| zy}9kT>o^!7RP-QMc1o(Mwk!BCgVNAzR?2ITv9E`H4UFgIGoZ}g1nsdH{q3(Q8rpUw zLWq1p5pHJQWEbBzyRVO;D8G%N-pk4r`pre^qrPwj)acH-CagH)F(VAgP)X*jW{~yw zodjYBndTW311+H+uNWziFL=<5$|Ic~pCG4vj;dlJb#2J7wJR=DdtqNzuqYF*6N=$D zh&p-~-kTj}I^--0 zR`EQ(n7k_Yj=ikWbd**+VJw;Yj>4}C`#Q!0=;%*2 zuX@mp+0VE&R4Gqb->CetceQRLWG$B9*2})Ra5IvWjfa%qo1* zzkBvC;HQ*t4%_%Pk9rvlqn?+bsHd3nIV;i4+vphqm#6hSh? zxfQday^8-{yJ~myjbM*GCfr~qi!^vjBaO7(eOy|W(ZA57kr)w+~#<{3WM+$Yc zu;9{4j*znC#@SDV?hq!vwjGp@D(7^l2o|3sl|Y240s=8EE?y4hTKPEHn)FqG?!eY9 zf!ObyCkNp#*KInl!k5JK>Dt*2S1@o+GjRf#fQ&zhbltdZ$O^Twza+sndzgD#w&M`% zO-h2WudaUC>prEYHUY~hPLlOrzZX$uST=N1V5+QOtRu2cA<{5T9d;q?k`lvR@lP6* zU97P=62k&`@TM=IAdVUuOI>4=#7$bhgY`THEd7t|<-6C}>(Yuui_7KIte>#JXPhq< zWw@wdOY~*StY6M@>JL4hxcPdb3e@`u(Pj&Ecx!!7TM>*z@F4KNn)C@-LHHP*1eYKkBOfU0J$cIs zDE!d+llsaSq|A|XDM+eQtTzS7Y+o)GJsQ^X2uyq~MmdM}SbcipFK>-%s3Um$;{S_HMqoD#na-Wd0!^Qza#@FofL8L1|D@zX*g@D3>np1 zw{?N#MPDU!6EbJ>wfrUvr4@gexu4zJT=jiVz6;zxK-trcHpxS$^BJ7J7Ewa zyeGDOpIDXQxO5)c{HKU^nv=^^)Pyk6_FvEN(FEB%sTZX|VF%0FT+U<{$p&JF?r1kr3wZpn!MtXl_7CeO7Hy_+tp@RI^* zRAkc@5G-kk!hO=6%pGAw(=Rr2RU6FYXH7APQG`7wI$IKKH7-`Pps=)v_LWgpj@sp) zL5w|Qw|4tQd)ROE><|9gQUdJrD)4(ips-MvueIT5HKCPDxsQ2h;?FZ6bX(cw3Xw=> z=d-i^EHx%<(TeC-U#iWHXFG!r85AXZ!*U11z(hEqokpnJvVSL{}166 zhxTm`%8vPwQ*I!EJ+F#=>*5szyWjbX$R~Pn#K`dlGoSq;)0DM8JGFrO{{N&vBn3na z&1iXDXMaaWN0rUSicwK^b{JkoJ2PHa7Tim0^&c1n@qyI!v#8N6|5*+A-2&ba85!yL zGRd4WxAy6L($z+lqML)7_XZ*$FfcZ;_t3YeJ-sN9V{Lzl-79X*}bk(gq{o3S0cz{oQCL=zh(QMSnm<2P3DMIdn2P0 zS{zGIH;ye9!8l|@@WOMsLbMg!wjlP(Oh>FX-)`afPY#2Uf|kegz*5PDSL%Z&o;F(N zTlKZ~R)m%nxKvLMx_^o{n3WGyczjOvZobytZ*cqo)1L_Nl2}-lA+UPR_Q6UR*O^O| z%D#Hv)vItSTToprAMF$=#fq2%FCw%bli4xLJ}cW%>~;I2sG&{c)P|3_)_se$M~S`& z7s)?SKbV?@xi7P(KYgx8qNta;dkS9KFL(Vo`)BtSSkXGAyXR|tz3=j{a<_Y(A1YzH zG|wNH{TwjQm|co_?WYuZJf~)EBDO88^o8D#cZS*~Y6<`4w0MBs!wlzkP6J&*reLcl z`1Q-O!7pZ<_tJ4Ys2$+G>%I}ZfV~K_)bjf7_LZ~WF0av7`t&AD@^9Vp2PsG}r+P*E z3x~C5Zop$>#AhtR@{Cg}-iX26yN71Pt~bG-=^TiuOU;rS)^^986|^tG%4zpC+FkSw zwb^U&H1;6h7fo_bAfx{ze+ZM0YG3Pu!Ah`S55b4K7~pqiTQ>)#wC78U$2B+7;4gb&h-N5d2n_ooFWUPa*h(s1v*%K^?qtEqCtYuL`X z)yQ$PtjM#GQxSVWvRFF369oYP_D>y9wM44Rl{a7jw<$v2Z7LEe_AIU8%Gq2^ z!j;fy7tt7_dg1nBix}&e#Q|RWNiq642F2UJkpCw$5WIo~?(b`%_N(_^h!<9`S|9Kf zyunu_J7 zGO`AzU1kk1`}7;g(KI7l)0uAg(wW$;r897=54b01a_g!5)@aB*{6c%0|D@!AsafID zkP-I;GoK=tqxo^}W$FB5fqpj^&!&vBoW+xc_|wjr(9K4=K6vFKFV0X#4|35^$sAK@ z@AR#uiy=Y$viEH~%7@h34&P7|7oy_3x*YY{1^O!dDFEeZUW!v5XP5#&eZM1{$i0+Z|FkC% zex${`Pgt@dk}6zElG5Vq(t%FsPqsnE-GD6e8dAM-r9T(^qMzgSKkbZjB4O8AaUhP6 zg#$IYEA8$A%=P$~*Z=x$KxKJJ7xO+>+j{eQI(%4`&s}7?`OKacR{Hzm;+220W&{l( zL17y)XSn|oda%Jg|0K7fo(s!mDp6TYIyl_xYVs%ZAoVOHsA_)$-$SdA>*A5i!#I;-Jtrz3Yeom`)bY>yM3`^(cNz09b($;tb`0S_wwr;8>iwF8T=_jC zDYM`pTQOQcsVXb|vTjMGX1X0i@3=3by*f{5c^4SSp5JY;j$HZvV*kY`)MUBQ@V~Hi2#Kc6CSfeJ! z9!)H<7mU4kWA=Tn`&l#S-q+6g?eE*ybSZ1pdy3> z6{C$$21aNaUek0a)ihM-H4M=-jMM8eQsd9nFj=QzMlDD5_h^JxQCVmj+ZoN`Iw7Wc zE}F;ZATFU3;uCX_*rFp^BzHt|YBo~SIwB=46KO5mqh;$Xq-V58>$V-xwp}LLwQGmW ztaj+ou`RN)+af!s4RSiQL2h0KI_I}WL1AkY7GweSwnpJg%7@7?}M+_yJO?mUij{74{Z9@9h<-Nz?MyJ*t*39+ctaP z`^_%cJ=PKZGz}kW8s?d5n5EaS{|g7~>|}}AraF9}X;@*S!|r@5tgzK%f~H}-reV0I z$6$@0nGVNi+Trxiwm5g9CeEFzk5zVh6zVke*7SHw)5)0W#c^k$;lxN&jN*9Fba+G4 zkgaK$ujz2>qz&#|G{>DAwzzXckL#N)4C6&ZnPI#P(`k55(`3B7uW6X7Y1q+B!=*{q zcyd9Hrw^>~?6E1HJTbu^53J?>A5Sgu{7DVGcxr2c1CPh|ba-%2!~MHv>bR}Ly*swJd)pHCZdu{(4Kv)jVT+sBEphXj1Fm1Q$JHyA zxc<8pu3mP)l}mbDzUYX{7wvKBye%%Bcf!SUwQ>H8EzX^>#+g(0IDOI4J+pPyrS2kzg|Os&M|t`NH1wDHtqg&S$bgf81d6yKFm#3k)q$P?=TcV)274nPHk(Zx=PMurJk&}~- zj@cQ=?8tegE!uZzhqmq8qfNVZ$Y`61jEoLwm7a-|R+&gk%R)+O7Fwia%UqR^n2q?v zj)+U>h?wS`5EIu~j;1lWXdKfS(M>y}apOERipoP|Q~|;p6(TG$A7PP22n#PnNN6E~ zLW>X>%sI6f{y`=14=90OU>SS^O3~221b)7yXy{u8PoFZl_>{xly8@n`74YyXgR5sb z+&#+SYFInChIqJ^Bg-)r{WQINuAH}LXgWkWcgA3wAk5M9n5OA5Pj7*t)`7AP@Vh@r z(=g0LGprXHvYk@k?N%=91>aZJ3!M)9&hz`v&-FD;!(5#n&aOq(NA>@pdJI&Lf$A~v zUl;=#H}}SkzW@Yx1quiZ_}B;pc%OiPhw*y8cCbwVGIV*5eR9Jhv}yEF)6^cq) zp|~UsrDbU-D@#R}E@|jOaL_FoJ$ojh$7{)Wt#=FbemxOy^hv;*Z??c&ZzZDdTk#k$ zu(=$A2FGFW;269^U@$xuBi@a}yCa%m)Tmh5#Ec!=1n-S+f{7EFV8X;`yg#`Src8;# z4s(D_!_Tq8g}lE`!%R)X27fbr7iNxio~GCmVTPUQW;oc( z8YgzyV@s4CEA2F#{@Mg_rI5Emp#!GiiLl;eL z`o9Y@!Ho+xxP8SOx6jlNfWq;@YkC*}>rA~K>wPqA@YZ8rx(Ut>GQsJ=dTcbD+tX5q zdpj-g^sXL%JTfzE)@$JT69NNE+2sH6)CPY%dAYe4a6o`y014``J@AL60twGF{PEnx z04Qv$fCYho@gV5<{i>MSOuGq1y0lwerhV7f2v9&`jWM~@R(ChJ;vl)gNK>q8RCZ93K z$roN0_#&VNR@XJbdVfoN6=RF9vmLQ^jxW~v6Ihz!lW`5PbYT!yO!Ad+QXs%VFYiI% z!8u}0h%Hujbd_x=3NdK zuL`((Rlvo)93Ji!@N_Seb%aGHt{3Y2&q9)|e6B12aSq_;F;mlHrip{B6SGWg@j(r> zUi7hxM5s$Xrq!q`>qT6BwO%xG&czT-k0Jvgx)FyADPQz>qdqjj6pmAs}nnZL) zT4)E1uH%n+HEl50(hl=X?J%#VJ>IYFhSHE^B*o?+Hoi0B2@Dc*5TBHTgrsaFr*=eA zTDC9-Ez`3E7zks~MgfDi?b``B$joYwtgH-l>`2BS138^Dke8Q%yn+lA6t+T9QA-q+ zv{b;LqNMfIe(M>USY&6Eb7ljEE8e`IgXiT0Ig~?MQFm-ApOrO>W z)2ByZ=JasPoE45)vqN722EkaoC{%#KvZWzdw%i{dFAu>Y<0!=+Z$llHW#Szq9IcwpwzJ5 z-y8?Nse^;N9dU49Z5-O`h$H*z;_%OP@XOEjaP(&f9R1lICsx+mLSsN z91s{heQF`>!L!F?4Q%k_p@wG<6hL_N!1N_!aMu!#?pg^j;NNujwv8|bcW#*B_H`X@ zU$+)uaQk{4+_+LpfWg%(R=8SehO3qK`2CU%=cygq@uhc6=hYxARPsT>0t4ob6z?+ zb!rV^4075C``9k4t;{W)V=~&cM@HKYNK4N|tBg!3Qjo<=PE(9QVsZ`=T4W=E;2=RU zpkxflh>|U68k3LcruhO68bxSd+|3*d(bit@aV?Se3vev~7lCaDPRYUd=3#vNkGK3C8o6|a>npE$^%^n}lmW%Kclyis zV5O*&fkhan*D%$_x$4@;umVJcBn5>YOofPs<|l~<50NJG~y z1P00I)>E+ty?Q61_Zvxg5MTac4RbEh1 zqRI=lICstr=g!#T?CIJ#b;=H>exr=Y5vNZ$2sk)?v^GxsS`P#TzaFZKBZuv9_+V`u z5ypVP&l&qEC;G`5dw+Dnk3TlRk3ZDM&Rw3^`Mn!%LXx-e8K$pnynbsF9^j2E(!{OlLJ8;qspo>*#biccc!u&9S0R@s>e%Rm6ZaZ)T& zL=7t%+GEt8s-X<`qjj4O$Y|XG>8-QS zvQ?I_1(Z2*j%tyjfB`{4LSimr<8#rhd1u7LC}7aIS!YBw%R^M-JVZqEC{S{uNXm(d z5E4<0kg!4ohVUqXUvMb`0tgCq zb%kpOSp%*SVGZ&z($Wjw?xnJZ_`4R%=AUbZu>i&Og0Bg5Ekakv82Mahnbm~1YniMi z(Jp!New_Eo_VJbyRo=?ys@JMF2mi+Apn607pS_{}f93N79s_$v1FKVkc_F|wH(-V{ z{+R59r;{9UZ;U;zkEn$+18ZSNH!GZezX@L8R`qxP-}vrp-1NJ;sZF~P80r(X`U;FArPB1~Rz{P-*x^eT&>!>j`K29@K^h@;ms&nqHrB(NH zG@a1PWFU;Mp+|t4bK_%r8YY>jO`h>wXVIf;i1+P?*npg>Ys10{q#{PGddpYdqkTwQ zw2o+x=8a!o%lCTIuQ3wiJ4)4!mAB;NY$T>+SG^ylM6B2ue=e(d^cb}5(8eGoQow+V zI~RHJ85CrQj<~Qm9YrPF6r`c7JQd|#($KAIngE0DJyP-7Ybki`wIuX@okt?xd@})W z(qlj=QGX>T8YI9V7DL~m#~=>xzS|TdM>NCeF-=AK@ZQ)a7)M|*u?Z$lio*MoqcM3( zlz;>A7)&QH2o;aP>^b3>J1-0i=7nSNf)FfP6pF=*g0WnHfnp3+e(Z-;E6Eu6;;swrujkmhW6eMns9o&TS2_<9iqUu*+4BJwG%M zo%z1q^|61q(w`sP?Sw=7oglzqUo9LvSQn%98d_;ObT`qVM5ke@iH6fhYvCNFL?;|^ z;(ZJ84p5Fj27;gQ2x^k`YP=8-94R#w$q@Z5l&bMLZYFXKpud2O0sR%XuUp~PH7ne_YL8o2YT?EeJ+57*$G{v{ zF4^Mui&h{o5O8qT0_V@y7RKP*X-5GE^cWBr@HlbY2`7#@;n*)uIC{hxzaFlKpM~{N zpXZ_db+CVLU3Khs#!o-i#qJ;6MN0JJjt2PQdv|=l-38mWxncVjPXU$$mzy`bW8*iT z_~vUbZ1~a}>%Z{C`p>+?-?Hv=Uwrn757w?~h|zi-()FzBQwpRPzsjii=l&KF?evCjFXl+6Ja~)FBn-IjbUX?(6?6th7>o$nD&vF&@vR0S_Gm8 zK|z;P@fc7}SX|P|;4x?^z@W3yW6&u>BHPAUd#Ix!C$&v8L`6&O$!GCx(-{PPhKScuSIn&^tE-ZLgFS4`5zYlk!l#cQ51h>h-qCQWmzuH*A9VmqQu zvvx>G$VNgkeFnFJlabiAxm#o2v zrWiS@DaMR#hW98X8rMW*M3W{q!sJQOm@>H$rcMpV^baC2ZF(qX&WOOQ**uiTVE+6N zF&}?K^YP*kVGNehW3W5`D?j$fnw5cAwc1arvuoEj#Al!R;Iq$_`B*Uq4Y6T^m&k|+ z48&uwiA;efwr_VAbLpsH@>D=VyX1sGJ)UT$yKyr`K)q z{E<#1M9;|*JT{a2PcNF|&qwA`(N~6H#Td|NERQJ}GHm*VA$Vq{Edd2IA1ed06Mj2xhZDzaK`GJE zU+d!7FShvgu)Tl-8juejtSf+z=Hoqk9IK3G4?N5JEFO^-G1HL$=^FLFZ$3@lj` zj3sjd@$qP1tnK9i8kFg2A<*n+qCfxvBgY62&MPuzG|HItB0*c!(Hrj#Z-UXon_}d! zrg(Q)42BFNFldeueVbvrUK3;UawludYvzubi9YDxt2tip-2#1kB;vK6$>`A|8NDi6 zpif~u%F9zxQJ#jl;4U{8k_y-?;Su2@GBZ1h3xzpYT8W>9?o&tK+}(`~9=OkLPwBefUrRPZ}p= zBQwCs*jW8H0s-Ug&R-q~I51Xuj7$MR0h1@xWNw(?-Mh&G!1pz7qnY zG9RmIAGN}r^4f@$C_g_P1qH28T%3*)0R{vI^cbXwl&DAd6fq|n8H3l~P{2Su2ErI5 z;;jLR7)YN1&BsIHWOG6(5mSliF<>eYS%de+HpSR+Q5Zii5)&siHUNVtOry_WdL%xa z&QzjE%$^m2IkUs6Qi&EV2orFy_Hn6I@(H-A@>m`iA)=kQMtULyuq9NZ&V6e+gBqV!(a1vR`fu9;kCHdga zx;Xq}9g&~>@{==;ZFRz%nhxt+Ot3AUvK}4QIO#<)^tqEB=Z-ky+(`#9#9rK73#aGX zfHE>}`dK+9fZ&*6<(IE5&}qohDT&9;gI2hG$r5)63@UALb)6YbzHN$!H)`VU5k2l* z)G*#u$wMd`T2WJz@gm?r5{c}^cq|+BJ(_Z5001BWNklRTk@Z`QZ9zU?hqx&|(dQeLA;EtI=N~8&EaOajK?%s3|V4xTSb6mY*BT^!jN@OpL zLFFY&R9-N{rSmod4l2*p5ys%`Stl_dD>;#)0E3gqYJpOsAoYFqCz05HZb|8#FdtnUHT4svxiRR;!)NIgWkeHN% z=JXkel!%E$OeV@hvzUAV2GIltP4W;KosY;UbwotuBUB8?#Rv{BLP$svfH47+{pkAjG#ctQ&pe^8EGRp@Np{@ z|3H1W3c01>m_CG=dRvUP_7RqEo@ot?Fku>U*B-kjLfu@wm6bBCGz}G$ z5_L05i6|pVkf9M&d6ZV=%`64Cc=Z!@PNnEDgfqML{aAbV(4FE(@wk zC0e;E5UW-hBTE%9_`HfSASh^vuQzz%+l?N=8c<5a&7Cj?TWBnG5gqxiogTs#?Eay? zRE=3Z-oK|V4(zp;SW8NYm|}C}kTZTgu~F|DQ;ac!JUhaxOv%Ski$eI(!$Zi5!I+zWzErx|pznti!P$CU|_^M$EpH^f0beHtoElDN`yXB=OekA*RCl2oE&M{IHQh@&tDM-JD;kwY%Ze7vu= zfIqSZKmAl6dwwJ^P;sR@cerE6_ih3lcWiaWmMslr?2vWZ^o^1dF$#CXR}Bq}fsgXH zeCmVG*7}O?WucDaL?;!00>jS+yJ5`;AFQftjxV~nVDX$l8RPWR5Dc&A>n$Dv&H+rd z;yB@)P^_u2gH=v7Fll%s#*c1-@x!ArabP2?2yrls6P+3-nud?-T1)gX#~StR6`C5a z^Fte;U$1!d?%e|2dnJLufXQR@7xXAeK}AW5u!hB@=_syBB{DDuG#~$?lqgfpF=PzH zXF$dvU73$lTjfY1Q4$%079FdAfk=tsJ0p(3AT}3GV)7)Jh^zq5nh47gtWl=glGkT+}C>H|@Ti~~k-@?Od$No#-{Z}{5|H|+5kJlLY%Ent(;*IzJ@!Ego@m~Re zzdHY~yeF?Q{+)lt6d2z}JO)MzmlLZzK@Y({NQ#Vqq>(W&ZvI)VA$!0HStfV!7AQ{w z7Xjl&n-e_aNsW)0GfvOIpqc@o@r=*&*7&@SN11>EE-uD%3v`yU=o=r??40P?0sg+l z2w){EpaiL2?J-8vOVnYxVWFon)%Y6YElq0eBo6WAbByvcJ|7pCBfSh-#CJq;i)^GM z(b)G=I@B^v8UKveGbMzPr5!TcOCN)d+3k>>t*U;Vb6ZOlFt0!*k1&={r4p&gLduA` zbW1^xZprAuyz^d3=>1v?ykP(aecwz(AEWtrfJ!DBEK(vS62)TJ@Ho6GB^o_C8e`sL zDp6xeC1PCZr1zsSbqf0!L}1#qNX+<31*c?4tGQkswb zs#1wouMEWM)&5xfi61`uR2e_n$ACTq>b@!U*g)365LYT5gH67xd;a7WH_{Cl%E|ur3ap`m|oLNu{YwYwgUIwrif~khRnP#}M!vr@gYvAUk z8n|&;!_D3H7-Om-LuY~tO(&Z^ZVqWS<@h<6qr-bTWojfSV9e^h9j174-%J^RDe1Yd z!5AI-;-OxE0k!`x9vh=dZSdlWmGmJXSTGun@ytPDN>yyBG9(+B1TqB#6yjMBkAbDI z2P&>q!_y}g%5Ojx!DvD@q!KZ%lo6$m?%RPr14fn7XYk;T1Mc0_px6R?>ECekx(#k! zGZ&x1wX4c}On<@EN?TzJE?=~I*~{QUUFl{mM+JzQHpH_C{9`Pl_OAFPK1uXqgh>}i0XcDsrJnd5-H446tJ9)qo}*!GPJHf?g1 zUKrng%l;T{*to%4fB|J|?47Z0oiEm{X^1ZudSl%(rV{zdW}V|?eX2cH&-KT$kAkpr zx<6Kp^~Iu@fmk#v1PkUUU@-T?Fs$tEiRG4NFUN_d$Leqg%pMSoiDRQMVN7F;A034c z-v|?6$_Q08PK+KEos5&EesyG=u=hnf_CnC>F*-L2Z@x~(APGHRYk}9gC!>2e)ytq; zSt=^ZQczx!Cdowf9kFPTm!Br=Vh$OD+zg2;W%MyU1}r*oj$zM~^o$PD#~?jD3oX;L zk=jxjkQu2=W;3A$gA>#oMz$a}t}|j|$r$8`Y?A&0@fk$rBO)qK`WR3~M2|tRn2!yh z;1!R7Z=muRc>9$~T&a&gL4isoa`P!uQX=m%0R=9eUEpSr5{c*R6{(N{00aoCz$C0Q z*N|6=Qk0#BIp;~R1+Qn{3VyEakHhpjt{0)MMG|xE;Z_DR4J;zjlR#k6u}&HmSXlm- zHV4K?+^z9oqE&P6|mP`s_vBiRrqNG}4L<*@M) z(`Sr7*Ld4JvJ(pYl93bmQmSNp&UnivXKZkm+#(At6El&V{1OtP^YtXW-aAoJ ziTdb>_ zj}T7Yd9tQ~lC+6>Hdj(j zvN&FtF4I$|$Njz5cy!$ok1o}~&97<*D0p^5k7qaR@${w{p53>ok`w*O24rk*c3%@C z^7H$e00J72CB~GoqfazxZdSz(7@D3j!AQfy)T4FnYI+~F*Y!49TZZFk4^Z{373pugbTjh@P5AdG=0)_>`RuRis{7wh~$ z1N^6J{PF23U#wk9xtkv-dt0^07b}+fW7TwDESnXGB@08bXhAR*&JM!-*&*PVpEWxi zv!;e(*5okEoEV0g?}cId_()8h5QRzOBQb4gIF={Z7o$4o70MpjaEpmlyrqtv%mmMm zt%$_Xe(@OkMl2>|hhc1fB;I^I0dMtejyD-U+%pN?dnl`lDjw8NHk< zy;*2LZqlrificKKRCF$)qYDt$C?64xiV)tY01**I2n#EexYB^&LIi}AC@E1OeFi0H zXlQOGaixCBUqEo+N%OHc!GV$yc`%j8(93}9N(1+9vQBWl;CfTF))*KCo+B{erk-ns z0tpH@u=yp=6F>wRKtYI0Ap%{B4ezCbEyVvuw%Wa`01EmK{$ELEss1~v6N3K#ItKps z@G=hdx5vO#2MlTFf+1~P5f|=^PuIPHg^Sx`_S{U&n301~W3w@S!~pD>UW}*L&;Co_ zed9*?f7<_+0N}5V|L*Vl>fie6{eSj;uKk-0*n$3*91zJ-k#QyFz>yrxyN zOe7@a$k8G(8>vZINP9&}l+vmr(p$YuC1O&D0D}%n51f_7=0q6+401cE2tq~?O7~-? z5*4=;<6%XYR+3O6K7($lVo+q0GgcW@=i@{W7_jp(8=Mgs3>*}X0fS;O%n(;Pe0U7r zeK*d~%Ydmw>|@YG7=!WSqA_Wr>SHix!};2S~#@V8He{e;_yL7{KDf%Z5%t|h@<;zgHfeN z$JNAFCw*!pwWJ1$XyaNJ7!0+va$3%K}fYtEOk{rp(Ao zHrhHf#1v1jT1e%d;D8O!{v;@Ps5eBEaI!M=J z~SiD*D(gR}EzZE@yIZG)7^N~IDVtquANj{ahcUw$z%29$)=!J$L- zad^LrfIl`kBV#~+$xplLOG4GIoi4%_e81fj+qSx4>sC)O9&e(Q$lx(xT0jr;^^2h4MKKP`*8NTk}hOdh1;nPvx_;`jdmdywfV6b3*sIX&m z2@cr(ds-OgObW&9@e!EyUL@uX3dSe?wpeVTI%acTp~q#ZtvMEEdC52-aFlsPuSpM$ zWkF6DR}qP~$>#Ork$|`QBuL}4F`7=s39p|K?Ty~03DW(zyrLz_%Tk3gU_x1Op#lc^ z`5DN~&p=*oYjny{;RT#aGBewtJ%K^HcG6HWqjg(|`BEqRY)W%V^05fRk7;l{^wMM zt3QkC&*HDfz_UA-aei=ZJpa%OFBU}ss}oU>?17$dW+NiZ9YKDsNJ&pbc0qGY7~TgP z2E^mxwG02!ci*@{{;Qw;f9w2Tfr9@oWAM-Z&VP2!`1cAhAPZoeyg9)dH~dDb*Eo6e zJXrzW@|^MD1kOqjCuGvbtn3846o?koxX~sMV9JE?@dsu)0R`-YJk&a{iZS5pjn}+- z>*ZA{QFxIaFXcXyYPw=tjXLO8I|5m5EfMTrDAlca-z;GXatvnWJpJFZ28|-~&^Rg| ziIE+JqV8m9e8d<-x^y!qQc8(7*297K?ZDW`*=8CJ|6~WI z68*a00sDJd$>(%rTrF&BWQzR-<~Z{Mr9`y_6r4Tni1SBmWy5;uyfr8%x_sUil^5-C z<&YgNZ@0ktMHbkVYKm=*O>ttNIe!1t61OktmHGB(l~mM8(~D7=o&q+>dwknMs_sv3 z*HGZ#l10^csnF}e@j`7nLB@0wwNa;}h}C=^Mv%b9WWoZ_L-4=^f6_bfis`t@jLhd5 zb1J4~Q@Kt73idLvl=o9HrKT^tAKy2`l|C>RaKJ<&%A6#s^sa`-_iPQ`0(;!QMYfk8Ef$v7=gjb6SZ;jggs84 zsHZ#zN9zg0^Xo5;Vm_vn=-`36(!7p+4EF6~5>;)HkSW%vK6dOh#Fc)pdR`D15L9mc z)&-lsW-5{DWAM#VH*6l_Bq0KGG(Emp+@9)XMFBwiLa9FuyVRD zme2B+Zr%$P1Y_~c5X_qsqzv~n!==d|dwR?r6O8$Tg0QsQ7i$7)VYNq1e4Ofnd0hiA zX+$H88Qlc$_lpn@0gbIRv~!#gB#5kUKywUwD-Lh>i^IU)agt`0W00e}|k# zg|b2V49d$>P+F3T;-XX(6s3WQWqAY!c^T;3DIK{v>EcsTeGJ-3umO|L2o5sZDmf87 z25h$2vSmlr;4HZ#l9IBKkd!NIXY+(?)ychiE}F&WASNbPJn>0KoGE0hF22JHVb21X1jb!={+@8uY0ZDJevSwc|0xsxF3D1tQe75CN`5vhHyG z;rhaLiA==H^{We9J$qFj)&GO)G4LNe2Ao(I~0_6+ZEx|Dascft@p7mxL0Ph2K%rFv24kTv*vflpce$qz*_) z$wWp<2lR}NLvdUZ21GYSL2@dx(%T@rZH7b&w(r;;oif?6RCx>vv(u56mtGZDT3nd+ zN*{w(=x&HB?cO5|1O+{Mv_PL;EtHg~PZIi)F?cH;{rV?hz`z8&{k9>IXhJbU-NseGpo%ddFqqgFlP5P4^YI5CM1g$_xEZ39X!fj7X>c}gPAKNj3&z6v!B}K4 zA4`L?D#pNHWEyK$`{UD3yagOEk?4zc-f~dhVeEXYJO(PRlzj{+CEC8#O)A1nB>G`n zJ!L-ru>tmNZ6LCeEpZkyUf21|?or_jj z?VvXJ8JZ4-It>RpnF%O(bl(;aZ`H!1yBaRfHJ9I!8Ts@fF!GW~N9>)zabEepxop^F zGylX&F$Ry#@PZwOKefV>BN}e6wZOBJ=J@lTC0^V$lSXIK$Ka7UUi_irOrPJTY{;_8 zjI2P00v?i3bdTNxOJOG1RPFH{4Ug|wzZK!LCZ_iP0eJY?77dp5X#*9;GC*HXzu zH?2fYbmzJb%45Jj1`go==h{^pT)*s~x*lJ)LFJ{|khs!w)+(x0*aCY=Br-;ovX=on zAD=u?AIE;R$FX1QiR_C^54%_MU|i{e11ges{~i~KsFk?VUC!9Ovo3b+Y#`0e=rdq5 zylw25{f(#i4Cpb~vX*ipA8d@Sfo?jzKuh472d1YCkBL)sufdFq0P`yTGwDOnn@%Q6IHQvk8X_yl0FH)k4 z@>b$6C@XA<;-Z!)$xX#O@sW7FO+1FiMxk5VWaMS0qjP3!@fftrY>W17+eln#Mn(s8 zXw?QSTXg{0%e1siFs`&kvO1DljEEG-=XVQi<64m>vTG z29fM~Tqw=W7+1;$X92+mDN#^~7?2wV6jyaVW-5{NGN6>GVHw;FJ_8z%2@oh3B>>=| zfPvby^D&D~obRjFiyE#n7xVkiMuPnQb6uIQalO!?d+k`YURVYoxu2=p`z`$5Ful}6>{&O}k25O?_WNl;t2msW5-Wq{}@m5Xh z#z|N<^o9k1JrAhyoNH235`oyMa-gXWV=cWgS*OF>>_t$cfi#w)L5w<3BQwFD`EnsC z1N{dC1g>6PRYy(la(J@4CUdiW%RykkENwabOAr`XjNrgx1O*f!(Ju>KTw>9^K@3{@ zwMS%FJ|e^Ogf5Sa%)=1pU@cm2d$&}@81!r*QldWe81zY!R3b`=2J~-^{sZD9m1yAGaZrpwEZ#Au5{+nv zF(c?NXohj`HO2UGQJ6d?3X>)@!sPd(F=a{=rcY^v=>!HJHo}Y<;UHr`a3H{7eh64q z{b*sRq!KM%5+I$AS1tq#eTdJGs>N{_*Ty{;;i zhg9 znll%ggK}>ix%WT;5oP-2{eC{*@%*0OKi~s+@44J_53l>W=XLJK2X-ycRsTy`LRSVI z0~~Z`)~;LuOJFFSF1$iY8ZPcOH_N&9I@KkT1YZ@kfj`}H$Os)obC_Q{(K6%^ZbABl zAuAueK6lAyej(RVN#UrkBX2AbKGt(A^uYdN!IRkbr62Rz{}S%Q-mVkbYA42lT#8bW za%V;EL4%Rf596aN)%&ggD9wQwr;Aai^8j&e*|m#A|3h`fIO3VJ7ltdve*DeLy(IYc z`AOvjp`QZNj}ixyq;r3ouVp321r==NW+w-l(M02RyY6U7@PBZR+rAR>$8GjWaDJ6D zP9$~R{ZrNqN9p)di9^AWh%a9hm8Iq79nM$W6Fe=X^xzsD)fhb`I)lpICUfLEDMc z^rkpzHWH39YKSd-0k(Kt^fE7ghO=$*M*oQ6%fi*P@vePDNzx18xbe$xKZ;)fGlq)7 z+KagrICwmke=CVKxps1z@4Y?T=Y#JZ=F$#{C{-S5Ys|a+i81wYjPw)!qUgnlO{h(B zusSt?uTRi3?B>o0b|Pob%gqiJI#n&rBX2o3Hu~uBw9v!GC^qgIChM^Gox0 zy`^*i!;`xR$bD4$_AwLL-93E!%Bf{;n|0;2)VH`)!x1e@O_}}m#P@JdxrNf^x<>iIsoQL_N#ryTe{v&(BkoEt*FFGU#Jxc9l&aV`UVxl|^G15gFGSydJtGXXA2K z`PaIZsN2j|yt|uMjgepVbVY}eY8YtSt95(FhJE_?dhHeWSN>M{Jv03aZ{H^Q2frD9 zqpmV8DG&EKEkOS}>#{iFX*dgiqDiv+l@_;B|@x>x_zJ+qzv*%^YO@<^q3ee+SD>ULQ19rLz`G@T|M?x|%bFWSl zQ_%jcD{$U%^odE#T~WpIRx6;?*ID+Ae;+OfO`oa7xdf6bqYR>Z32O#?+PZEDv%#;` zwR(w6C%QbiaNa}~tCM+=oij`( zB%IxzR!Z)4d@NrdGIf9a?Nsen{@)3_!qKCYI@ol*;gfbAC-C(bi$3}BVG)l+d)q@p z*XyLNX9cuVD_`+T3iS56-RpB;!&osct#vqChsLW^MkbtdVjuRsmyTfWRRo}4^7|iJ z81!J>-WUW;l;J&w=G^H105^J{fK^Q$bhvi=U|S);o^Sj@#O{ep+A@}Dc1ejb7Y+At z&Ife`KTI>!&S=^1g@V>G6`__N4_znqQ$NHivo>8q_i^|`P z6)lu552XH4&uMpysXkj!aJ1`RtM{F!ZMwYET_(if)uW0v)$OvGFR#e2sq_SR|JEW7 zu4QJuw=F$AsFtr$UwG+H~sryKKWqVzgSLg*(@>r`g+0FO zN!!>h=xt=U%<^59%k~~Qha+`m@p&End#B?Tv_+cdU!KqzF}2N%%`2xCO1+!dIS5}Y zo_)pcy-aYt_V^^`aJSdx0qE^^HS}V20(#j#H1nkl|Gko{{ck^CKOXqqk-tdo!G8pE z!Tbzr?WVfwRk52>qwS)0m1e|?sfJhc%I0BD>Nl*x6YailS2lwZlzrN6HIa{H zFTEWd$=}uj1D-GE#xX~7!rl5z;_Ot{j$b?NqOIL{%;>k~qkw*q9I1Qywq?VFnkOC4`*3f> zR!+ZT4KYX9#TKqTmHry$y!WrY@o{zw#=+J|>y>=Lg=;o`Qp=pv6=qhi9INi3>MY0} zr;rP(Kg7-mMK<=Bf4=@XeM+1=sPq#gTbt+Jz4f&h-*5CZe7(r0v^I9>tWAT$t~chy z4W7S4lI!uhF@d{AX~;#Q`QeJ#07^PyB`~D?C4ZDaOsm#Tr(r~8z<-n~gFF*lS~54w z-h@IQr;Hynk-x{L38W*=CSF0k&iiKQ6d6km?ECk$2a^5SN(6YqEE9RDOyz+#PqF#s zF}pqat7Ri=%4`)!4|WrF*N}|I{cEp4h8HXGd^znteFy5y6_dNPvV+BUK?%c1KQ^D! z8lMn|y$ftQVPWPVsI5@CCEsEsqxX-Q2W>Mvcz^QLqBp(vqkg^N zbqogR{bnkt2Kr#d0mf4wYBGE(!_%I?F-S$Sy4E|UpsCt2aD)BfbaC||%V_0-;HMw% z->$s%xNY~*mO(a6cp#9mkZ{G;`esMO4qNx@{S2vvayeKO3=w6YTZ$*AKDg`23Al0U zv0SkKqrY)kI#s7DcPp`!Kt{+lZCFcz%&K#p7>;FZp-R& z6`cOjhkc^%Gj99pu7RK?n<3DrZ$7wqE!UY%pW2isN0M)h4<6B~!F42*3S6A@pK=s+ zn_iOB6;4B5xiDGvTdM7`*v-dRlA}&E<-}yhgeMKEgpxji%u5Kome=K6Dty&)14OSM zJ87bWJ!sT;#Xmj=l$7aveFTS_={_}_y}yvL(v4b7fxWYlZ(Ps&_Rt;L zZ`0?RZ5W3N=(RW94?lao?aQ=^h(E>m^TmfR-w}6ivi&~#?U=LJK%Vl?8+_QgSA_hz&bfG+*xix({r&g2BB`&k4Eb6 zV)Ux9b7&FP#_niOD`H5jC0C*@r1bQ@C!sEmSMBQZ++v8@Rqy?JO%F)vQE3R8hx<@Y zO!Wv?^}L!#j|1mngHe6Oo!q>;ZY~9Kj(eH~51%Ty92F|zd1lxiuOc6;dNLSyau57% zI2R3jB|O}M>cDy5SPl8C{E@rusXNJT`ERAQ`0B@N1md%3&$j0Ws)~C0G(N_oc^Qij zEiI?t@tirQn0>PKTx7O)!i$M=!ku@~s~67yJofAp_xt#@i$1dEDc!wV`p>jtqdqis(yd~bIBCpD zn0O)0vcQ_A_|1I2(qA{kmP&*feHR1%WuM)>l%3wVLi6srJKpZH-^p{}?8~*q=C%wCRBVKTWfPe4J97nucI4q|11)i;d|0o z(E*4-p(AI3>T?_STz>>Z8eYBKOcMD?ZK8%;uha^PI1iM)8M}Zw0#LGdPhd419uy zwA&2>wI&|N8I!b{9&>dvhfFS)EF7s>qtzE)LE4SKCh2=kDT(W=Ex%XB{ zQ7O-}H%lmL;-9gD1q| zUPqnUDGzwSf2=E--|-~-NJrp(M>#J2_)P+4JVYpv{;BqxJ&J8*R(O?FE?Irez+ri@7X

BaIm^j0vX3?8>Ff(PoI}O7U+b|5Bx>ZZD4Z+{a^rKjAX8CR}-h+NP z0$<+J>YqIeA6#1&)oEt#q7kO_S!plSeBl$SLCBUuV)lR8>7jL z!s?yCK9flRY&xhxslZ z7HLx-_KU;Kshb#Mv3ZjfNGi}n8ZxllGj_#CUIN{HZ_z5ofxy4fu^0#@J44sWw$bj_T_rE)yCSuwv z6|;jZ3RE6bLmcO8Zh}#hjhfGe>`_sw7kA-WM&Ga(PMo@O8ErYTj0UUb$3{)cghV@T(4bI|2rIOQC`9rI=<1RzR799}_PD#Ps(= zZ!!uYS*5F|z9E}-n(_U!hY#Co*AT=CjK&o~UB<)2RT5R+J^-;nz;MhE2)k4JTN$&> zA^V3C8L`Qk^SGGiMQvL@LuiZfM-~p#xc^Zpt0}OM z8BKozzrVkSY8sxQSMIwYn5`iK0jF7;D8x(pA*;Jd4&z2n-j_b{?r=Zi->q?HM9}6F z`X=C?(*duOzTWL{Lb4Wq@z9|V#)v>o9$1>$eqj|O|GCyJ5)qhHT|5xvgPKo%&q5<% zlTXk5V-EfWY2?a&Q)i33rO~tjUXXVn2bF7wxbA$b8%N00G$))G{DI&1$+VeP6mbscY&MT(=43w3?RW3xz0p6;_`fqs|% zgGo|`W_(nv8w!ukl82f0N<>E%v7g?q8h??gXB1_H5R`?UuPk;zCI;(Jknj#g3ag$B8u z0N8v$b+otq{yfkF02^Nd#{{Zv>HWJlZZraN-B&i-4{Dx1jN;X;WTx-#fEa}@;bCu4 z(#&wWjgodSZDUuiLmDgmVq0l9{}iZ@*BGr&neT3JkCP!&S6Qy4hjoAMM_&wy32$$a z>u8zDz1tR5Pv5+I=2%-Tr6HXV;qS?1th&ey5Iul7pN7Hj_j!f{ex)q0;`wXe%k0j@ zPFBhg;`M*_MiNE+bzui`(U6R}d`Cp&>jQy}{t)lQue<=&WcPb%u&GNaN2gel`G|IUm`HsPknJ&dbi;frF6OtO>W;9>Lg=JkN7U^mf*C z7VQjcmsmN8pnq}VM*F$w{v%Uq`wQ9dW@{$NJz&?YI&S$ZA?hB(}u+COZ;RU-%y z5FDJGZ~Xd@l!|o0__Rh$q7i+CwK&*VVHH?s@f5z$mQqJC0n)oDLO_Hy{RgV9oVjGo z1`^~;|8bgsbQvD@_W?vWl3W!q#5v=$wp(H!BE_?VEK*vwj%>kmihqVwom7 zpig=lzCOF_rn)1h?L+GCwcYQ);~@L*DVW2~3vxT61VFy+;cV66fmI@<0i#3xHKfMa z7Oi>&gay)#57%?>0QipYltZ%4n}d~oBYk@U6>rR1YsHsh4(H~saZY7a zVObU*WfXI0iMK&`9s1+@;VW|&7M5#ed~6%$ZBT65K<+f8 zf1ku@(`F7d=tUcuUhM`QO!|UMy3oSRy+hax zq51d34)xu+D@&N`yEju04;Uc=$Ql?!G2obPJ`)r$;~JRvXP=L?0ra0l{PHV=&Efi7 z)tbl*N+A-2ZX!O?t(e{`+MR?n(i5kq1GcL`hb^#?NAd}F%MrIZhfU!{ROGh)8kPw%gZ}fo>^>HNblG6QopZe zbJ*g)5``J@{^z6z<(vjO4vj=~NX6Z@MHK2n}yaJeuQT^0eZg!8e zj8UN2Of+>5!d#dy^hfN0rFFDL_8*~PZ$j{{(prs>7P?9s+FJl)NY2Nvvi7*~N$5PK zgQ0ovhWS-k03vD43BJ-D?HhwSvcjPKK={lPejXwZ$Au=5tZ|{}-*Z@7O8fki831zt zS1kjd0M~+H(`}QOCft(8MTqK2toCVx46o?V4R&*I#yVus_8`;PdA0+j9ojlPc@G$9 zNT;lV{0=HOo1e~kEW7UP{*6aDI6&sFw;^r3^g=poLtW_wPF}U7^r>MKt%TC!8EQ_4 zNHfakG1m~geN_Dn!uyMut=$qdqkwV?!u&@W!Rl1%uwwc>ks;@IM77a6Ebo5zS+Ca0 zDR#WYRiRit233d-g2 zQ=a3M4gK=|_nfbcYS30<0Dsi)FfGioj_T=9v?y@7qI_4qj6q7l#qNl~YrepeQCzG@ zV_MaG(=9Y0)Vn>zP2}ipI_m)sDLeP$cwVgc8zWMR*aQBIcVgqzajfpxjNf9zq$h)w zK82y}%}%dT6fnLMc5D$#k;6v(x zW3vuTg}SaX5j;SBwz~JowX|u&OvX(V!YIUBH80oJ{Ir))B~2`CHe>stwGV5)?|Pji zIW6jxw`Fp2`B=%Sy4U~LG~)kjT1V^uHEmHemUB*3EtbozOm}>QCD*BWPTqrNZG?n|iATnOLA)&y@9<*Ag`^ zefL@mC~C?DgBmD2q2*3wYhPdA%tHf=Cscl3F|Etf%^jJZ3?ED^!g~7Qy|DI`)}C>omWFZy98Y5YEG&g zgmI&$!Th`Q9b(IeVwm$v$HUp(l7mT^MXS}-b!$e)O`3E9+M~Ef{ddo1fXm~tsJ3i%QvLk;@u^6GK0xp()B^FgPWOw zHk9rF=}f_I8n2}-cL%-?tJKBeb%1*($Eg2fD?rl9WOX%v9YC`E!^-Ch& zfN$)rW1%$Dv`LvE`VRc~ZP6$h@rgX*4b zyS7%Uwos1pyhw=tpfmPXeMNwyo$bWgGwfMeLDg!#N=WPNOa;uf(?2!b6R3qzAD zX$O}gTgd@Ff~0(G_E1bQwhO9sUo9$;J)lbk*n^?~G@z<))NkRPpT`TC%-sn=K#8fC zn9A>pFz+W8&MnH@t5@N1%?q8h?hMln*^nkqiC7fopYL~ zf>lE8#8}da2wkPlPT14Y3Rupj6kkZ=qO%t}FeG!$ekf*YssW_anvI4V7Lu#=GJ`Gl z%o9|gzC&cMG4a)R(9lim{)U9)YD`zjPZvxV8x6kR2*vj+R601)`og7Ly+Pw!@=GUuI_W||goGG#>-S>`j!TMt8^0~fS zNnntCub6doDKu1}3|HDWi1vS|@MWxGz^@PIZQNE@Q}6gf22)b3blcykONuX5>-&!O z035R|d)BXc2WTQ@I-8RS^(*=K%g_WX48e_~tGZISMdR1Aa5rdm_b>Ou6`P~iGWz`k zWg}bv{C(1bOU$8c{?k6lDgdPx#EVXg6=hh$R$NTrHWxhj&Fd$l$12JfmdsY$<6F(P zz#d6vbSTOCrh6G`hpHh$Aww6Pf0|b}kxFUr(RGtD>8MCwK?~{#JhS*<60MT7YJo@( zHGw^)kID=apv^z(%$V=~U2UKgXM8|24fQc7U&V}j!@C>U;_(;D`=OhGA~v8^i_0?D zJA`To+kQGJjdvm0PlSiPCs?WMCCK?cQ=+M&!;KZZU46G!LFGR6C!&?Sz_)T zMw>wKVI5SFJ|0{zy<>6N9V9ZV|EAALOZ($*yRH~(nz?23fTDQ$Hyq0iLPGd|-C{`04t8rdR>}yBVa)qc--R0dMVX?Ww=E zwS~UvlWHHX{+$JPvktl)+9REG!!4w(|+7(zHqS4QQZ2HTyW~} ztGK}!q5823FOlY~HCvK=Hf(jco?c#ZJDi5jW+@9{8o{pZPS+ z(rYyF#Ecm)7OH7#Z8N;DFs(S9X%#K7VUxp%9440pI)~`~r^QXNsdlNOID5pXK2?~a zX-b19cxR&7>mZ63w}?H6wTi}*o~!w-?X6*laC^gENd=@I%zA%*Kp7U?3_}dVOz`XY zG0{7))w)7-BaNlW80k(gFvu@f5eD^sWe5H#8u4lkg%mR5*BIySXVl+ap%OQ0Fg{EU zT*b=5HA;RT(Rt7lxl7I$P8-(}k$xA@{GXB2Bz{%RL@#Vw;~#+pR%w=R`u4mAQyiN} zUq=heiW{#s<0=ydgVIqAAfuXVreY(q>VKIIPl^&9`&GxwKNuTVG7Bdt5ieJ&sE#wS zK0CE+(2(e|`4d|P`r4g9?5;n-^_h^SnD!+iy%t#NHCb=_#CWG(`nrjj;^tJFZNPJA z@Ym`8y;il+bz)wd&|jTH@co~tmjI@ z0ZI;(DQ5-H1Z`-;AKEL;QlB&ZPt(%HhX2P7y%P~Q2+p=3tMo^QjUWERCy7?%kKCN6{DTS#QS6B!Sl$CzZ`+uM8ECEl? z6ewAYg;jg`kQhwNNq zUmIh@V!T>SK=W=Uz98LW5}Ul|iJ(tS^{UNktGw>Z(wWKz`K~+;!D`JYS4nu(*&_pz zOqTETYf3x3oy`oG`Go{Rmt0*(D@b?c-r%f#d$aX3^=IpwSD!I+fCEx+oK3*=fCq+2 z2{%}_qK>dsER%Q|Dnwb6q4;W?Aj>@3&=_%6Ybn2f`5As3ET%sH)+H|1p=dGqo=uy! zfbBwF(jhx{;j+Q8YoS+xs}^nAya_Bbu+6QbZ%JP2ykG1(h(}L^W5sdd#f)IfxO}~+ z#o+VftJ&Y$re-KL;qqh^>V-tzU~f`(dVP@)6j#?gDQE+7jF-P&-vSn={(h8kV;Nus z>KD^A{@`+f^{P2*YeN7?ONi7tboReJyLsHhOl$60I;mK3bufwAZnn^6v9_38L40n% z;Bu&&3nHI_(k9SyA&(bae9;jiJlG(ql1PqIU84*%K|Vg1^c!}&WWA?usb?Im&D7Ztg#d)d+e3kk&lN;p>R08h8K% zVsEE~vVUZV;^vo z{|qkWJMkGkrkJ^!$Z9bl(|5J$qdJMT6=K849t{+8!`jw6!`mTiiJ0;gqyb=RO00gR zo`t2cl+0V=_k_UoetBj%=E*Mno;F^`@D<_Y_)(F>>VCBq_1GiDf+I0=0uNRcj06nV z*yu(Y3)qCJT}i- zXC$eb09Flrb8e8wdG2-i+0k?;4oOlLkdL2DX#*pkAEaD%g+~5K z0-m&;8^J1j^$6n3)2lhw8Z|Y|$Ev*Z3wJEoskKK@b!q>U4Xuqlh9#^zpUC*e6jS?m zx4?9vnhJ{|qGOK(Ml--jx&bcfV4W)Ool)mO;4s&QA@R4%J3)jbOvSenXXxSsO>9hY zq7WFH3OQvQ63NkOZ#TTdHI;oXWo?-MvX`96EwTJhPsWGqq=OFzwko4^d;LhK419WP zjsIObvM>^y-10VTkNLuj^bD|`=VzTmNmEaZGdY=}z1x#X9=b7B(+$LgW}B(`9k~UVzii;zGsVxxL-e?G`=uHxMd7WquaF{dR{$MAex&WrJ8Kx;|1hq~iXzpvZ zKAaF9P2>B-760bWYWT)C8^WO6-rM_{V}A_(Jxox*4>`JPIkOeRG*g|z4zucFkhJs# zB&snxQAC_*rb-GCUyU4kApb^sd@5XVnZuIZObG`Vuld(IvTQu3cT)9QSyi`R6JY)V zAZP<+Mk($p?n)5>r~ibkE7;+UV-?)g#%ivVl^>@Y2V0*#l;nN09I?I7I*1coSs#wG zM^-}nky)KV=iUso$XMs2Rme#kC9tu}{kKRQfa~7X!SH;~y&u@Qi`(G#;pX2*mIbW2 zB=kEuk#mD}x*sJgiN>y4T3R6zY2-hJ{k2EP^MJd>b96!oa7h=O}D<+Dj zERxCBr@C>@W~$6CE?CR)Yj<2oao0rz2*W(okY`JILWPez&7@&tQ+b{USO9%qhBa@m zqcYz0NcpHlXb!ruNUHB|_oB`EAc~XM77pdV%R{^1>r{xZ$!wKRB<4YaCU8+#Ay%#> zjq?JYuWN8k+kW_4=pdtpxm#LXdHsc*AN>QZzZBa15sOs_jJvfq@0a3zOAeg=QAeSy ziVw5_a?6r0doeW;8*7Qxm+2D%Lu<;LLDF-M9ZCKbf-i#XaP%CuDg7$CF(#Fx(OyL?qjw%b1dZt9h7L zPKBeY#@2tiSZm%-t*?lFxAx=eGSCb(EXIflrPH|njMr&yY-ZDPMVS!`A5sh;bNz>m zegN)FKNm8;F)VfqY@IweA7l@a+Ns|x(=!P5)W4tP1hKK6k^!!y>VNem`II)c>mxod zp3ted#|%$D4VDJD53JtC=j;$OguyG|l0+oK5@>5nx>ew!O;*`BZ~Fq|VSh?|y?qI(}-j6E= zjeYhd0z=<`sG>@hj8}4ff8^dzXKY5AYup+8Xjkl1Ej+VPD!KPI;r_FhV2OHrE=|IH z4C_sk_Iz$B>1CO;r}Jf{*X-LFjGumx9y{+lB!_cA7I$z$1B>}WL$pTv7nS+8Gx%`! zCI+gEBB>-0(?v9RAloT{2g%B{Iq*@W+BNyN=8`t)G;vLLHk7dm<7H2=8TC(@_dSlM zdwRM8+BZhHB;U*xC(MaK+p6k@z@yQgp^Fj{y&BXD0NcuiqRD*sQJ%3jT}x4=<*GMTIWNhC28Cs3nC@F59*SY1Kel*)anoEbr-VUot~>jkuqg z|HC`d-8w8RqqutuJjsn%{t@wW4-<$TU@zFQqRN_|ebt18f3F_Pq*;1j%G4aGE(5Qm zNFA&#${Zfd0h_IYY_EprK@5Jn|GYX{dwQfQVX-&W!f`&GkkCh?}?!>U> zGaO0-$A-b^hMne+{^YJ_o30ownwA2;Fi#Xbp>Ehx9G&Ks_F&Kfm+3i+etW?03@XbGDi_ef@r_zI~&>q3pgRy=D?kBGQuGtCB zu?VW@h$cF@(kYs65;+=(k{Jj4I+dRM35|0PB2SCnLNmx~mT1UE`y0I7Seal};g*7UG84v}?&?XJ-W$}9cuWMBe`%?rNCW!=G7)m zDL4`Dq23S0hL0euvPiTFC6!Cw_7|IN1sdZxKj~e_V&{6Ko*X}Uc6?4iJGJZRYiQYt zV)+-d`wQ*jLFUkx7yqU9laPV_RW6W9W#_NSJ6(+wF^z|HA zO`m4^OVZfyo&U?(Jf(7^RsPw^+^*Jsx6YE(u{!nUgAO6k`9lX_$V8U$a{f$Qhgky| z=u6{((TzI>!G}eXKij(j|11zMhkxZ+)?ek762tLidPnX&l$&@wVAC+7Hx+iPOiq*- zBQWqy=A;H8x>A>lK!1#_*qzTEf70-AQ+zdSBTkXFtFrf2D-9 zG$1|&I{Zl&MD{D0i&DQA2f`M{p;%&tm>9#VbBIh&(k6@ESm(kn7*4D$i3gh6Na^dN zRBIrohW9U@upLYbI5Da4BG+5cOX}NT^5J>9aI>CFKi``|v=qC$KM5{3gUfAEqsrm%{TvCe zFp~Vp!-fWx3nxN46Qlx{4Ri5q8YZb&I>}s7{jK z@Tap88E-ru6A}v(J^}(?^-pPE83nAhew2TzL0FBr9=f4PrnEJ>Wq9NOOENR6Yc42d9|f5u(+sSHWN+e$^t!bpO&7R8 zd+*FGr8oZuzErDHc?G6!9DOxyYp-N&7rj}FBXbDW{tM`1Z)BC$@K3Y+Ungr`2HOmb zLPz$i`QB#~orI=^hQ%$TrRT2kw@jes`u~;@zv+^&`?Oh$!RuQkH!O#-!lJHjVSRVG zzHbXP^>sKdW0hB}F31LseGj>Iq6od^8vSOs-OMvtci>4NkZxb9>dLF?4BRD;$~?H^ zm{_*K`6O!&zh9AU15f{8tbxs26l;w|sz&&hxUGM=@XFSvbUBaqb(Ea zqM606^Ej-qPt_yVT+x%Y2E#-ksTk4fdm}t|{!zd2z5;e&1K?G5&vAaKA_ErW5*??PWEeI>o{CZ$t7#-Nr zyl~rg19A?ACA9d*zUBC;RT`HXT{epzkg)l3=_p79Jjc{t)#yJvW)Aw6sO^Gq!)(O9 zotLV%+255;H}=a`;>Hr~eJl3cl^on70X z7L#LD|GtICaHewgr`)oA-I*;aBMi-ijj=iFPl%_!LeH8RVP@D3ZDNUo(11TVHzqnd z)Ou0um@%WZ_9BU6d*|@()Wk2R#VLKx=1G2IY?nTdySaUfHn}T`7mDi=Vl}b$0`;+Y zi|geXC&!mNzP`K9+E6`f9Qu8`PDtje$qT1N9(dDYOS=jjQ|$xsBN#%!r+{00QW16WApGb*^PSD}0*2OYd)}g7z0k(6IbpC+P{O zw;3Oo`+OM(xs1Et;_PHNpz{Og3@~tNN>}$_Z3EX>SMA?A09Kxp64(W`Paw;PgQu@_Oh%>B4$QNh36y^?OE;nLkZ(vc_GG4RUTBZEoyfdq}un z(=I!_1s{z13F8*&6}01-J6KYNzto8Fz~44q+Mf4vhU!(oKp@NCkt$s!j8Wb{q4}ebp>AZw=6hVzZ}#QY)B&~fa|JuvP}=XS7UEtR zPlwY)3%htH%q;0$20(JkSPH5`e|kjXJO9c--Kpb}(mv1Z88*8rFX%NFGdyaGk^X-_;I zWrMrDFdoE?Fi)HJxX_@#f1pP|t&&)1!*E%1u+OKvHI3E!sU+NW;*b^qpu4&?4jIrW z>=o|f%A$mK-7a9pAm(&FaW^M7$-9DOUdJggJnkH~Z3u2C&b(E|o^Wp+z(L5PnYy?4 zXUshLeM&r|uov5R?tBhhBOohAu)>V$SlucW2Qcc|^E0;}`GkcAIrC{N2nG!dX4@yg zuL-skKU&sD?JaCU(f;-~=`x${1LoDpaA5BHT_sP7BU&Wli46ubYV$SV4+N}`X&(Vyt3KAN+_f;e#{zjFDXv@uhc${FgFYwpn z+_RulU~At{w`e~?ZBP#y&eWg6qT#fYT%kE{ufe>JK=ydPh3p6&c)O{i4*0#gq$1#$ z&tM&RmuZYsRsh!6!kcl5Ys86$n)c7#|wehhyn^bK}L3wuj0=Yr0Wr(q3%69tf{_ z8HoFy{xN9LC5vI0I;o~mmbZ?K4zxpyvNHg{wg5{56H!?sjq$u`v#+kfsRQP=1Ak+i zwcFWLk!4BZQB`I|%hzB0uQu-GN4s6rNvIG-6_t~gOXt^eu2Ty2aGayU&1AZAQX+XW z+_uJ9^q%t|K$@_8o6dKkWRdINY$spDalEn0X{ErY^FzUi%eeRoUBkP--wXB-UGK5t zuGH`Oe^+Bv$z zO>2t%aZj%aD(e}1fBn$ePpaM{g`x*cP33n1}6qvDhVcmsf7e4nA)1rQ#$1L#vJ6OD3Fy`W=amYgRu3c3$Ezg{)LqHXImF4*e2&A1~KVmJ&)Q z5B?4EA|1H_!BR%Uce`OJ)qB>Z&Ay%@H+X?m*=Su_J;XWr&19b7T2HhEMc zIXDXP#&4n{I+KVPQLxFjn4KEsh1ePZ_LO-ZZOByyk|y2drIjVhmzUZ98#X;lVx!X` zQ?^qO^>BL2=HF-L*4nt5E6XDMnl%4JSEx2Xq`p9Y`DfKVw;k1MYTavgOt=N5CsC8w zc9V{{AW2^UrEmIvWmUX^s*wDoJ_b&9f3SGG$TciZAUnwVayM}74a6cv^G;+Yigx`0 zWWcy=ZNi4dgKuJAY!O~^deSG4JegR%PNBzg9_ShT%+rl?Uzlray*Q_yLuebvYVpvH zi|>dX`{DNRPuS5D+Ml9#_{Elp>c{(Sy0>(#|939H^J9d!Cw2s6n~Q;8Ow|*X)gBVa({UD*RiX{GT@n>pv+l-lYC_tn_6+B!Z~hK6?baF zR^E}$l4p!)Ml6L_S$;_~bwf@x-SW@PNc4n6WaJ(*bqAJFKO3xrnsEBA|MR}GXKoQpM{ zMvFCc26b+@%_{#)>X+7^D`47gr5*%Vd7a+5TgP8oKT#IfWiM``|*^ zR$E93pijfW{8!JQ`mZqd%*khYFN-tV8sVSSRQ}}J)0du|hktv6NYBs$10vb?91o0t z5@y-E@e12wBe3uw@nCCa6wn2Xna^Q6H>kV`zlZv_9XO?L zML)RLCW%dbmx^`C9u-}?0)VwzVD!3)^H6Wuqy5?;W*CSWtFu=3)NkLC%X5=FSxDG9 zoZd@Mb_6YDF6y^ya&rKsb}yeop7d^X4%HU5h`qME4KC?0@8=6OfI!S4Hx0HX$Pp}_ zu}*F1IiIz*S+TMHftXyNv^5_0D`>$mRa$>+D!R7*ik0O;PT@{UkaJ39Oave}6>?1o zOn5hYo+?ay^VHfo;^bNK;ICR4sdjrnqf>|3UPNfIafX3y63|vEY@r9pR!5Vx$SmVRgx z*7|sQxl#SEwBPI#N)k~tj{im4dj~a{wGW^m3Mv5<5hBtQq==NL^bkN-5fM;Xnv?(m z0qKMmAhd{xRO!-@rqZSNPH0l4SLp(w1PC4Oo3Q)se&7B5acAz#&a5-M=bWdvbDk%2 z*b)&oqd^t7&(@whK!6hNHymbZh2l$L?~!7|_T(niv< z)#!dFrKwb|+`3tzK#6dej^45DKX@jQb>mv}uAyD0XT#Jh22iOX4+8PE`6?5mQ60Pj zs=m)8zVUn3S?f|QQay}THyPvW*rGbz79NRcWNrp77@99`S5@vd`yn-5ixgqq3hl2P z9z^12`ILFHi)*nkWJDq|4pCT6H;9aofYsJD>$>csc{+GHyw$-9u}?qr(QOziXy|Y&t1$ zm^DR_jlPABx((5^59k zzo(JsK640R6fcIqa2{Arg5Fj+O6|~cfXuy8wjAI*#$Au~#evxv-PGa7*3 z4yAL`rN}9fV=s`C&5(W|`b02Y%|oafPtZiV6;Zfg*R#JDVNe4>9-ZTS&tZi+V^ia! zUIA}192Ewa$$~Mk{?|fpx%>O3FQUSb(_N zscRLqRhAES%RTy1kHDG)v?YrMY=a=V|=Tihln^QKUH0t&i9i65m~ih>@a+%MSN_;NhAyJmz!$TAZ>`=071yd`d*tpCDEFiwMwY4^Iu zmX?2ztZA*<#FkmFu*x${mT2fp1{)^wqofGB!s3Kr7YeF9&V^)i*Tuc3ay{6q7fSJS zfyztga<5PB))F?P1X=7|_xloIhxR5Oak`mwEbadJc1d-FZ#)PBzr91wss{c_{X_Sb zJdX8vZ=j~+{N?)ditQQ#Sx*$Wg!hXOGty#N!qa042fGC|t?{N>h6;82RqsCsn>wxe zqj0s&PpLgn8{r4Qb@c`lw+9#fS3bT}mfl%llJI%;M3oZ^;}D7Z2I;C3x)g@aTYx-=xb zND+%-Mv9(I9AzQEg~pxtsh?Nv>YG;4sO|M?B$Sh7h-^R3SYlz#3Y)#);eWv~yHJkZkf`1gU=eJfWl&{ZSIWE?bt5NDo__c!GG)J5qQ-D5akBpmV>*7Drr zhB&%oV@jL%3iFC#UulMP#ku~~rc1|c=3;8Q1jqNPbo0sV=DU+l7vEVAI~wn)rY#AD ziy>y7Rz&wv?VlC@k;B&2)Je^TB>eJ&qSPfA&s-5#NJuuOQG(%@j0Z}m!5j_SBWZ54 z1C$96^K}HPhD77l&F(kyMdvEb`8}MYL;BcZtY_gzqKq1iOpf2oi>S-)2j6nxQ>^xv z9Ze&G+=&HIOB%38AMTtTkLW-iyqbLX-T$gzReeMO3r#-^OkubNciB=_1`65j~f zndV%dNt@`l3F=4Muf$RKR>?XTWYb*RipbP$vz<7)h~5)k^WAn&-~MDGu(@>OPZ$=6 zIKK;jv29|GfdQ9Xv*V+6&|@(F#oHo04a{U^!FP&%Q~0 zuPq>m;}#BauTd^PX?2y^?%u3M+ZY@^2Lw&d`<$}1;|-K~~S z`#ey6WuSz?jB09Bli2V%l`GU~kZK9KrJ09ID-sY!4elZNPekd!2;y&Zckz6 zPMBz`hnDzj-{ShP;7aLI?uAeO*k)MQWUk_DVOQyV4UFIq)`#AQCyy6-v4QPDcGIx(S&^w?6QB~c>snb zL!oubc=}62gI&rZA;|j+p8d2(s%s1_bmF+fkjK~5oc0@O7N&=&KDlw*(3`h>Du(kt zl$z>#waWNK#);bPtg3c$pWdLM6dK#R6qaAQw8L+FhTmhhj!I`vg&pcddz($t#*O!q zo7lIuyn+o6;b+O`iUHPW+vB8!{ z0r(Xbo`d!0V!;u`DOZrwIL`Le^DMX|Km^P(4|}}c9Zzk2vTugDa8Qr<#V@Shk>!_3 zc8jN|k5#8WYiUbcZf5%^u9Xg5NX>$eD+sQ3P@a6_TO9$sDhta=^rfxpDLe5D3;vG1 zh|#i5(`{2rlw`~Z&`aN3%n0`ChGgK1=scLkUj_27;49DF&0QIZs;T^@SEYNjAu9vR z+HP=>Y1vTSn9|H-YqPImHg!57R~yg0b8)})n;WHW8xv^VErfV}PLL54;%ZzkFk<;dI z?Yf>fIw;mZBD15^wj(t9+hNFR*XRCc972P)79X&S`{&v(Vtsd`sBDIhF6w3NRLat# zxBp-(&zzK8@vJGot`X$bPuHSG$U17(4hYylk3SmS0`o=5Z${r0&&T zK{}ydMQ`cPWXG>pmg~NTZRUKeu|INCStylZ+iZ@&PpKLYJ56jz;sDo}T z=JA*Tn49U)k4G0+dm=Ej@Ig82#Kx1Pf#qCia%CX}Z;-VbkWJ+D${}i&{+LV;7O;B~ zDF7;M>CMYuNaBI?24ARnZMVL(_i?pI za-FKA(GOKHhrHAjPIK?Uk)8|pFJ z_Uj!i!42kQtaZ$yfI%fu)bLpQrSp36ORwhBe(ymX17Y2?h){@qTc!^=lFONRRrk#u z-^;kmkCAYo#}0`s`s9c@%Tm2fCuqrE_vZ(m_1ncC{-iL4qpxXHgbTcl+83bifB5Nv z5fb!9XQQkAO>7Z7UtN2yd?U^?N4&A#NCbT!)nmB!{i}!dx+6@@U&*if0WkxxpeS+En z`{B8sbOV!a-2_pu&VzSFOAHK|uv)6?v|=3sT+7sWP!-Bw^wg+uWNnEkvqlB%P_;`7 zd~pOd^Awhq0(bcO{kF$`n{D9p_)k%f;|>ck&LbLN;X1071ea-!H4|p``g-dW}gOwM%GZgu0S;;2O`myi6nefJyrC} z3uRhH$-%V+Km%p~yM?xr?Fs`oZVuM9QB4GFm(9398~HTQ;Xn%jtgv^~7r46$Hd3!Vg6wsFXJp<7qysvo;sGE}x8%!~6{XUz!FnJPpv&_E>UfFxs*l>B(YM;m z5}y3v_f=zhDGs^#1x}#&E{ruwR_Sl0Se5HW1^xQPY}CC#7Asy* z?LGrS_dj9{AMV<59vIjrBrh+_3MkD<2dbkU3^-R7wHwMVHu=p^NLPEwKxb8Lmmuj( zTYdJ|QxYF%>fE>+VGd;4O;?*}k?SE{(X4oca=D)RoZN{p5GQvVM8cM`>9B|GE(>W) zK|LxdYIFv35J1tHptJWJq0L*~?lD$~tv=HT{w&9>BS4lbLii@X^(g?>g5n#`(KmA- zmeAoBu-{^pn%qRXGiT%9;=SA_O20w456m>$9|WY+1&&aW@O<~yr7j_{+y{`mR;1C7trz1*l#4my!oR%$QLWO2$7qwv{mae z+XF6(w}gpV$VG|>p1jMi^-~zo5if5fiC<-+Vq?j^t@k^ehi-5{>YRAbs4kb*y7xp; z0KW%{47=zW|Fa+`^YCX)RD1fguN$US=r>V=_WHP64tlq06&~! z4CLQySJbL)i*nDwl+iL@5z(vdsUupegcK*OZ&;rCv`ed*#CrI9;E zISV&xo~AsTzg?qcp6tMCzvVhHmHI+YhLWyR{>Gh)cg{O+(69uLKapzAY=bFFZ9SS^ z(t$X~VL5F@6hKRR1_1-e7jeMYr9WBBmw{po{zdwh#~k=8*3DioVP|E$Pb=LI-RDyRE~ZIMS;=E7}k^QQl?ZNfsV4J%gy z;VPwMuG2R;_>KD_;NKN`3yKtMam&|6OHDso*qL~8g?}bvDV(bN^~?qzCiDDL+u8zn zCwnP7dm5aXi)U%TYTGj0fx=RAvKB@|ZYR2T4cf+2WPrAT-vm=;F}J{9{$?KUBrQIl z_JYybn4iuyFMHxvo;U>on(4MHA*5Fw5Ihn@e7G!rpD<|a&Xq&2;g{L!>X~sQX=?C% z=GT{8%wqSNxt>#5f=NxAyV^`24DxU?E)X)xLw`JO1O7ru(*(q| z0ju)cQIH`JJ3QiAfSWg(-4v&>p5AH9UmuApK=N7~R#JKVd)BrX?vlQXuGddcvL8r4 z`8aBA{SRy`CZLXTJciF3t2$BD3>!`JD zt}QhG(?cNEVO+}Z0>WOB^_(KHRRm~vd^QR`pedX*Jy1G%STa8FFL*9My5TAN=9(UX zv5o@I?z&5cZiLy#kxnYE*B^PTDb`W`X&}&Xve{!f8;2mZ0odQoCJg~zF5}7YT*Zf8!f8*y7vFwl?^>jO%QZ8a7?7BXh$C*5&p>(9tl{sS z%<<(>on=W8-R74|vF3b~V*$(WPO1w`VsTYs<3Im}UI%zRh9YZ_Gxr7KMZJd71ezc0 z9YaSqv-GGA%x4vzvZS;-GTkO}fdysIZSCxEZ)J_X)QfPg?!dYlHRS0_Q^r7cve$e) z7MF9+!b;e?CcefGRtQJICg}@|d@5MmxZcU71-}0Uxdpo>7oNDG& zxvcxJ;wZ+P8CRT{tL#trSEJF?b40Cq&>#mjRgP-Wll2#zt8C7eDY9UGS^`_XlC4du z#M6t(P9;Pd1#P8{YJkJF(}9~8i%5&O>W8)O+Ty)-Rwgd!Q;6=>Y%gVw3aq)ARP24r z9Qm>4EHC9c7xA#-cN_n|dWlGEDLuAfopxztQq@VhL;nsN0QB^fj!FYu5uznr#7M20 zZkK;*+}=WCJbq%KKxY#MAq1*Kw~c$dWO!Puy~Dn9T)Xrfls7!F-|1AWom2iM^swd# zhim4~F*OmasT{Z2o5SswRAuY#43yB~Mr4lq{-uNl&7OlSIWjuFojSIUDt_avtxYC3 zf_}X+_NrxlTQSc|Tgm;3B~|zd#3sCn)W`*BXDK-?QJQH^zN}D82u$gEzhqb!0L2Q# zu5MeSmqWH{mQ{{ZbvGkR3Nuf3gGZ%K7K2CBtlg2W*w~5th5VCS>Hh*?#BeIm+CpQ* zF&CnTB#|PfvB=NcYx$}Z{q9Tu3aW>;HuD|TQdA9yM~9rn<0nqF+ui1zr@-)mLbKS- zzPtZPt|2BSDkTPU&#~NHFs?XB@l>)a)y_NEz2tO}_hR+h+ELX%?Omd`DNFrp$1$&1 z)=giWbk?muu={|??(hh@-Sx^hZVd9|vYipnFHHmCBHmI!T{L{1%c6gTOP$;MPbXLG zJozdx9)=bmw)2|j^2oX&{)ufZ>*jH%+$!^IP@N?GF$x7x&A?{X$E!=p4x1zd+LbwX zIKR1$Ocfgw9&?#PpQ*NO{f`qFx=*+6d^xxVA9`0NvQF2=pTgZZcsc%LS^t&6bAJr# zN@aIik|sChOQK1QtWWX?Xo26r`yf0*!=s9wVPPgBn|^=ypV5v|M9C~`S?bd0qIkTV zXm>w?+>2VGKJwANgY!!wU+*RdRwY8_c%C_(v}O#pF;FVtqk#Xk!bleDDkZ?uVm=@8 z*w0SXLwA-De^`9`2XSAVm&4U_>%WkD#!)mfA$7To8wFnvzq2*fRXD*P6VMpUD)X-R z>fKhofz-Tcu~T>f7cfDMtyp8sdx58>wMc@-w%&{R?>(6)t&ff-+1(+*Qj=oUN4N%E zii!BmkDse5D8(kk-Q=3LZ3bK^H@TgY6(M=gKqS&0`gqBxxDZxm$Gz{FygOl3FaYk8 z4q41#e|ykc16TcVpSr}ui8Y*S+E(O_M%=)I(7&StLrsMDu2KO9 z&>1z$lmH#r1{t`Om13UC@8gonrAI@G@Vgrnu+r@a+yyBW(_Cm#=g@HjEA@<*^OOxV zZ?%3Z*nP*zcL%iVZSEYm_<{f3i8=7Jy_zi3iDqJX=8riO#VW*ixS)5&0cesV9KP&~c^$~o$jVResx9~FZ7a{!>Z z%uQ|Zdfzyzi^K2et{;%!kYpH;i37(;p{ZM0J33C|6aLuBFHJ)9RY!r=D}th7Qs)jn zcn3}I`pWBqXKCv;*f&jy4V1B~URpk0#d0$X9Q$HN*pne=@=sEeI$gUp&_2Bf6RvT* zK6M{wxih(YMoVENj!NvMPe2y+pvA&dge8GFCcm8B1{r(0gxX(Lb&4Y$u@n_f3~n8Z zI+ycf^J?sNdSc__32&=RtX}^p8X#Mtsdnm?GIN`sP4cAv*c@SfOr^Ym&9L!-5D!=Ry-A*Eu6EbG-4O6W z;J(#O-0ZqVwZgF+5^tKVyB|94Z5TS0$S?S3kz(f~I-7x*m!LbTPCeOb!&hSO?+j?b zl5s4I4@(>$lgA3k2z zx`KYqHPtr|Fr^9}n^~m1Orm%)N?-kZ?sL;amOm2fIW8RA&g!IOSgkWYq{q zL)#ke9UgqZRKaiEjaJ*i`O5t?U; zm+@yCAW>i5yC$oHXf{MEgcn7(Knv@&)fGI*ZeK1^!l62Q3QVa0ky^%KTQizbr<7B* zuWR`EOYm`3fnD25a2d%6cHnD2x1QW_nI#!amJ7$x+M7ds88XBroM(PUV7uaxY!@uWXc-j|8TssDez80};%)n0kE^pqy7p?7kckqi2E~u!X$6-AF^4v8OUDhdZQCf_cZQP3F?N^k4opc ztu0^>hkft2hdxW3KZcwm+3$);DNiTvny7<*A|Xdy2mXyD5h6)z5ZZ>AG)sogu8V^L zI>KxpxUY0dUB?mgTA1Ad4%YxAlrZ~IOB|+TtarkLVBxx^Bvw?>8E3XucDzqmUCuEt zfg_bjar>usA?v})IRPBLUGO@3HQ~o6j)ZNmbnc#`cN1L_lq0#&*T49!2QS7W?=T2K z&%+mR)Fyj3kVLN-M>U3k%2NP?8R&rl3d)b!LfvetXF}>ZoIpXTyikCQ1CK4Ip^y8z zBpAz^^KC#~I+opATSt=Edeow8jQgG3S}tKfuYO>dLERDz`ok7TyQ|;c_d94^S3Q-{ zaya?jRz?>&FMocb`uRvL*Ii&$6LHlZ{(iIZMa&+3FV`whg9=GdKGb{q zUv5QOZl4i(w-#oJeK0r(LC0=Zt+2td(w1`~+!;C9n^zOvLt`3i-#`E*6*-9~>?#`A z+@+sjVB2K%C90LOl7Y>LkaE6EtCFF986eMjag+4cS8CFPqlIoLO}pPc3_lgx3S>|F zIVd22z;AT%fzl7SZIOA_fVc*{74yNmVQ-w;3E(fs3>Jd>RPe2t6x_~>ix`|tvoDG* zITg->MS)nX!{Ud9~t3W|#1}6Ru z(cKPAw}3y0X*@F8^*a(g*%NQ7OJ<^y-=OO}KkqM8Eq+=X7@((c8h03ce#zpMfiQ2p zj4RtzxorMVo)vi!<^Q6_McOLfDI;iGz5W9G~INSRHVZ>xgc{ zcmf0E=B>91aWg!pYL(3odPb>m{baY{kddiSeQru+4bYue;H;VJE?0()!!{Wx58&Yg zi9myj;>9p1mc(`oU4!Rq;GaTkZ(fSgz|DGPbQSc2oPwMJy^L3ZmD<2cVA+*J4q|C$#l&!RJvGA4&)2bHSuv2<+nv=m zY*GV{!s_+&Q-u}m4oF>sZ#3=v{vt^Pf#tPu-^vLW{+L>M+LH|l_xHfW%sbUWKvrwmM1IaQn|l{+a9Ru)R?rWf1-eK6MrtZQ z*^T6uHTwajofiVVxnUE!59H{(1V8KM0>sU~0*TjjTI_&(*8WXeIPhXthoD{4KVkPf z4fmm4(0uK1M#gFon2&<%n2Rcj%>gnZyM8qs!92&zNzc{NwQGB@gk-L(Hkt`Q5p9&p zsw@q?IG{c1Yh96zo+XTq%CD8CpaHY*8#(LfXm|bO&RQbT1Qb^buMddkodo=Hi3uQP zQuZ!W!WS_ZdZn6Qu=iFYhqi~ed+zHhpV9M}*YJx}VF)uy6r3ald;P#{oLwo(5oMFM zE1ATl96;Cs5Z-}7tPEjOPQR=qluBaHQhid*x;FUz8g`n36h0E2HsJh2_mxz(nEGW- zY0&CHA{2O|mYa!EXRMDKR=PXwug!MrsdtU3x7(}Vq>849Pu-`=vjDP$upH z9Z_HTFY|oVCB(j=*B{8h?T})#43QrA&sCCzePkeE#jWI@-FO^p!LOvVy%pQu94jS68*H_2OnCG-#z8e6nQJwdCbP=N#hRvEh z+_{#{+Cbbn=w1)}Pe-Eb(bfgCgzvK7_h`c>MH4fgCV<_=Vp@rjjqH@9yz5ce=1i&z zF>G6=rU*S5X>;(X9kksi1!RkVah;dsjN*XE`a2QXp{4p-YBzn-pd5b}QnUnACYG3# zvc%#^doob^zot$OCW7~i2%dwaQ3U+fEBTw(*_H*~+hIAHnz*l0pT=IA3s=dhanECQ7fF#>Jx43yBiCpwgDHE(X6NIBMOLT6;4ydCgLPt+cHB|> zU`n8*a3@iEbi%byiC9b>am@jS_8gQikKhJ%`mCy#zB$h0+ebyLQHm9Z-`mrVbHtcl z!t|b(aP#}!01&mwV$%dB0Et|1VAqc9%9mU@OD)rB$WLUyQrqAV#&PISRN?nxIf`f4 z_A2Fe8sdOwcjRh60QA&Zl)fr8Ms4kt#pu48f3~sz{lPThp~|?q`wKv9Y3DTaSkH<+L`g1QUdl)L6miF_Bvt>B3K52&>#?hygzBrdSpPRhnOj zi%iYg$BCAw?A$-jxLos1MPpm*G^z--U|0BFrQqdAzY1_gc>DrUAW+b}&iW)F%KiM- zg>MRX9071n@c3`A?V&r=B<7{M1#aG21E+>aY(1DSrN%Iv+f0>9CYGd@yns2f2g!m-mlr7wIT4lwFp zJ1d&=*EuRT{p;1xr}*}Hlo zesj*O#s*0O4=j@4mdHC<$leM)-s%k9*OlK?qCRR3{-pqZgk+wPSOz1&e8s3{4zbZ$ z zPO3$QNS)s}kqV_$0D})bKx5iIT(~WBydJh!EzUd+X{o~L{sOqb@~N}s8I9#4SLK%0)7BuPd-wehgj zL5V0EnZTBzu#y<;`^R?^lZYng8xN2)BLS&C}U$&(`&`|5r3!jiN}rP0EWWzf7#5+*%L4e+Ah}H z5S5rgLQnq==XpWmmmavP|N?a39fw2r0lt%izYqK67C|xpw8(Du{ju2%etN+$HAo8N{&S zB{=KlrBYF!x*nbqKHkV36v-pO!LxHSeK7+~tIql&bXgU`UtB*bAm}!Edk9xK0d}ao z44Y!FTKn5WpZLB$axN;oLG{c&_+n3!gp7oDef2!QT^fkCp|u0Zo7(VFr5)EzTL zYiyfI!`in_P4pSg)7WFv=sd|Xt1bXib#P_HICMHJ4=8~DOGQD&<-&_=m$qh9qkcC| z0e&NTlmeJ#x-WJ1Xy~j9U>#=cu=*Zy1>aPpMceCv0M)>53{bvP>%0V5XD%lF(XnfC z=ZTThPgnhTA997XgYLr5WHA6zv?DJVDf`p49Jdv=Zx$YnJi-F#y+BE$iLCVJn#U>; zi-C0mOq3b03O@=W0r`kLUA)qqzX7Rz%{7NiYK?1G#9}0nm{B|1$=490?m7@^Eg_`#<1P7Xs~{smSNAsYXpKm4j0<%*P7u=hA)~?&}|B&2@ZsPQ* zBizd6dqTSweQN#mzlPuNClYW}I`4^r?A@A9QU0EI5iCT)%%?88nh%8MeGz)lpt!2B z@t2n>magza6HRhB(T+8TPR`UCEZPDtyk5p~Y=*8+1MnAjuXL-04rWPLB4Pl#0TE5w z%XfD^0E%Hrv}b!05RTT8K){3b8zvF316fz1>ZjI2TeucS7e-Gt+QQZG%E2jL0Rveo ztZ8z_L$ea_DsX&^_w0I*+5bT*K=D&FfwA*am0Y6d>i5zAZz7%Uoh7sJ?5@Xm^#27K z@e5@~`q-O@BP`FUHjE~WH&z1@uGvO1E~&zr9@C$Uj*SlP6aSul8&n#S(L_c3rHOJw z&kx?zw-Oz={Cs~D8Ow-H`wY8*svt*49SI+GKl{w{wyrs zp(I_2{H5|&A=8*N7!zZru&dB`>OH1bb=D)Rri^tBc}Nw)jv$hwQU1>+B!l_hBqPkN zLm38?+;|{1cmH3zkVN3WtCUk*jAVWGPfzvghAs$?8*e=%2x4zxZvh91x1A#Yir$@m zgGen>NJ6ZZX56JLB}gwNPu%g~Bz|B+Pwi*pU<&n3+x z_FLiuLiGy&m8@FiWF!()j4RnMX<|EeMFzt6m-np)mZuOa9Y`2)k+8r889!%3SKqK% zuG>uU#S2FJz>^u#5mK&5Od3hq<6`mX2$gkNTGh$QFkvFr>Wx#pL?7|V18#g!chIV4 zKE`nqn6Pj!3O)#wE8K$11YB!(d<7s zlCx`22w_{ilBtF;yFR#ZC?01cN{IZm3i;@3OC@9z6ny>L0@UR+)IWDFKOP9iXlbj& zN#yy&b;CSzM>bLOM_6r~D05iFTvc2If=%-l0m>~+2V4h~B1$(qx9!8|e=L@3`2dwO zhI8`Y>xi2PN6MacaweYJ7rE7i$W>VU#p=`7ii#N8jNXE-&sGv=)GIHK7CL(dN&LEB z&X$`X?QRhV1TPWbM8X5oO{(e(aEI$h@aWHlxD|At00`_MN=*swyTS)pOft2fFUNr73t6K)ZR= z+Z+3CLZEaw=>7J^vXz+QL$FjmFrL=%Z;IRps3z|x%2zk>=YP_Yu$k1Wzzqm}-@r%c zmV$~*LNP&jL(k}-eZSDigt;1?xY0_aumH13bMAW5_Gb5whscmPhfWnKnWY|Jay#Q@ z?d|*p$Zu3q9Wb^x$jq`aJfH74NnEuHvltB&#>OB+sW-ibI)Pg%DqlU8xLF_p_F{Uc z#dN_;XXa7zw5twlaCT

- - - - + + + +

Development Tool

+ - - - - - - - - - - - - - - - - - - - - - - - @@ -152,6 +152,13 @@ The following table describes the common tools required for Linux and how to obt + + + +

Development Tool

Description

+

Description

How to Obtain

+

How to Obtain

Python3.7+

+

Python3.7+

Runs the compilation scripts.

+

Runs the compilation scripts.

https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz

+

https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz

bash

+

bash

Executes commands.

+

Executes commands.

Internet

+

Internet

gn

+

gn

Generates ninja compilation scripts.

+

Generates ninja compilation scripts.

http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar

ninja

+

ninja

Executes ninja compilation scripts.

+

Executes ninja compilation scripts.

http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

LLVM

+

LLVM

Functions as the compiler toolchain.

+

Functions as the compiler toolchain.

http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

hc-gen

+

hc-gen

Configures and compiles files.

+

Configures and compiles files.

http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

IPOP, PuTTY, or other HyperTerminal software

+

IPOP, PuTTY, or other HyperTerminal software

Connects to the Linux server (choose one of the terminals).

+

Connects to the Linux server (choose one of the terminals).

Internet (for example, https://www.putty.org/)

+

Internet (for example, https://www.putty.org/)

https://device.harmonyos.com/cn/ide

HiTool

+

Burns the images and the U-boot.

+

http://www.hihope.org/download

+
@@ -253,7 +260,7 @@ sudo ln -s /bin/bash /bin/sh ## Installing gn 1. Start a Linux server. -2. Download [gn](https://chrome-infra-packages.appspot.com/dl/gn/gn/linux-amd64/+/latest). +2. Download [gn](https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar). 3. Decompress the **gn** installation package to the **tar -xvf gn.1523.tar -C \~/** in **\~/gn** directory. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/gn:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. @@ -261,7 +268,7 @@ sudo ln -s /bin/bash /bin/sh ## Installing ninjah 1. Start a Linux server. -2. Download [ninja](https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-linux.zip). +2. Download [ninja](https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar). 3. Decompress the **ninja** installation package to **tar -xvf ninja.1.9.0.tar -C \~/** in **\~/ninja** directory. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/ninja:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. @@ -269,7 +276,7 @@ sudo ln -s /bin/bash /bin/sh ## Installing the LLVM Toolchain 1. Start a Linux server. -2. Download [http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar](http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar). +2. Download [LLVM](http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar). 3. Decompress the LLVM installation package to the **\~/llvm** path by running **"tar -xvf llvm-linux-9.0.0-34042.tar -C \~/"**. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/llvm/bin:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. @@ -277,8 +284,8 @@ sudo ln -s /bin/bash /bin/sh ## Installing hc-gen 1. Start a Linux server. -2. Download [http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar](http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar). -3. Decompress the hc-gen installation package to the **\~/hc-gen** directory on the Linux server. +2. Download [hc-gen](https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar). +3. Decompress the hc-gen installation package to **tar -xvf hc-gen-0.65-linux.tar -C \~/** in **\~/hc-gen** on the Linux. 4. Open the **\~/.bashrc** file in Vim and add a line of **export PATH=\~/hc-gen:$PATH** to set an environment variable. 5. Run **source \~/.bashrc** to validate the environment variable. diff --git "a/get-code/\346\272\220\347\240\201\350\216\267\345\217\226.md" "b/get-code/\346\272\220\347\240\201\350\216\267\345\217\226.md" index 4a9dbd455c5..b2696931356 100755 --- "a/get-code/\346\272\220\347\240\201\350\216\267\345\217\226.md" +++ "b/get-code/\346\272\220\347\240\201\350\216\267\345\217\226.md" @@ -36,16 +36,16 @@ OpenHarmony是HarmonyOS的开源版,由华为捐赠给开放原子开源基金

1.0

站点1站点2

+

站点

SHA256 校验码

+

SHA256 校验码

Hi3861解决方案(二进制)

1.0

站点1站点2

+

站点

SHA256 校验码

1.0

站点1站点2

+

站点

SHA256 校验码

+

SHA256 校验码

Hi3516解决方案(二进制)

1.0

站点1站点2

+

站点

SHA256 校验码

+

SHA256 校验码

RELEASE-NOTES

1.0

站点1

+

站点

-

9.0.0-34042

站点1 站点2

+

站点

64a518b50422b6f1ba8f6f56a5e303fb8448a311211ba10c385ad307a1d2546f

7.3.0

站点1 站点2

+

站点

614ee086ead1a4fd7384332b85dd62707801f323de60dfdb61503f473d470a24

1523

站点1 站点2

+

站点

50a5a5ba5877dd0ec8afcb23d3dd4d966a16403c29cd80a4002230241d32ef34

1.9.0

站点1 站点2

+

站点

b4a4ba21e94ff77634e1f88697a00b6f498fdbc0b40d7649df1b246b285874f9

0.65

站点1 站点2

+

站点

fcfee489371947a464fe41a4b45a897b9a44155891a957f15bad2e157c750162

U6cWk_d_B$}g;0HrsU~VQB!ue#>fOKOEAm%+3u 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 M>FVdQ&MBb@06z#Z^#A|> literal 0 HcmV?d00001 diff --git "a/quick-start/figures/\344\277\256\346\224\271\344\270\262\345\217\243\345\217\267\345\233\276\347\244\272-3.png" "b/quick-start/figures/\344\277\256\346\224\271\344\270\262\345\217\243\345\217\267\345\233\276\347\244\272-3.png" new file mode 100644 index 0000000000000000000000000000000000000000..f699204d10d39eb088c0ecc7aa08ba134ec4b6b6 GIT binary patch literal 98474 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 + ![](figures/修改串口号图示.png "修改串口号图示") + + +1. 断开当前串口。 +2. 点击设置按钮。 +3. 在弹框中修改串口号并点击OK。 +4. 连接后在对话框中输入回车查看是否存在回显。 + +**解决办法2:烧写U-boot** + +若上述步骤依旧无法连接串口,可能由于单板U-boot损坏,按下述步骤烧写U-boot。 + +1. 获取引导文件U-boot。 + + >![](public_sys-resources/icon-notice.gif) **须知:** + >单板的U-boot文件请在开源包中获取,路径为vendor\\hisi\\hi35xx\\hi3516dv300\\uboot\\out\\boot\\u-boot-hi3516dv300.bin + +2. 使用HiTool工具按照标号选择U-boot烧写选项,点击烧写按钮。 + + **图 11** HiTool工具U-boot烧写步骤图 + + + ![](figures/未命名图片11111.png) + + 1. 选择单板串口COM7。 + 2. 选择Transfer Mode为Serial。 + 3. 选择Burn Fastboot标签。 + 4. 选择Flash Type为spi nor。 + 5. 选择Browse,找到对应U-boot文件。 + 6. 点击Burn开始烧写。 + +3. 提示下电并给单板重新上电,烧写完成后,连接串口,如下图所示。 + + **图 12** HiTool工具U-boot烧写完成串口显示 + ![](figures/HiTool工具U-boot烧写完成串口显示.png "HiTool工具U-boot烧写完成串口显示") + + diff --git "a/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-3.md" "b/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-3.md" index f5616e23bd1..1c25ec9d9b0 100755 --- "a/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-3.md" +++ "b/quick-start/\345\270\270\350\247\201\351\227\256\351\242\230-3.md" @@ -12,10 +12,12 @@ - **解决办法** + **解决办法1:修改串口号** + 请查看设备管理器,确认连接单板的串口与终端中连接串口是否一致,若不一致,请按步骤修改串口号。 **图 1** 修改串口号图示 - ![](figures/修改串口号图示.png "修改串口号图示") + ![](figures/修改串口号图示-3.png "修改串口号图示-3") 1. 断开当前串口。 @@ -23,7 +25,9 @@ 3. 在弹框中修改串口号并点击OK。 4. 连接后在对话框中输入回车查看是否存在回显。 -若上述步骤依旧无法连接串口,可能由于单板U-boot损坏,按下述步骤烧写U-Boot。 +**解决办法2:烧写U-boot** + +若上述步骤依旧无法连接串口,可能由于单板U-boot损坏,按下述步骤烧写U-boot。 1. 获取引导文件U-boot。 @@ -39,13 +43,13 @@ 2. 选择Transfer Mode为Serial。 3. 选择Burn Fastboot标签。 4. 选择Flash Type为spi nor。 - 5. 选择Browse,找到对应U-Boot文件。 + 5. 选择Browse,找到对应U-boot文件。 6. 点击Burn开始烧写。 3. 提示下电并给单板重新上电,烧写完成后,连接串口,如下图所示。 **图 3** HiTool工具U-boot烧写完成串口显示 - ![](figures/HiTool工具U-boot烧写完成串口显示.png "HiTool工具U-boot烧写完成串口显示") + ![](figures/HiTool工具U-boot烧写完成串口显示-4.png "HiTool工具U-boot烧写完成串口显示-4") **问题 2:HiTool工具烧写时上报如下错误。** diff --git "a/quick-start/\345\274\200\345\217\221Hi3516\347\254\254\344\270\200\344\270\252\345\272\224\347\224\250\347\250\213\345\272\217\347\244\272\344\276\213.md" "b/quick-start/\345\274\200\345\217\221Hi3516\347\254\254\344\270\200\344\270\252\345\272\224\347\224\250\347\250\213\345\272\217\347\244\272\344\276\213.md" index 15801a72dd7..5b00e7bec3c 100755 --- "a/quick-start/\345\274\200\345\217\221Hi3516\347\254\254\344\270\200\344\270\252\345\272\224\347\224\250\347\250\213\345\272\217\347\244\272\344\276\213.md" +++ "b/quick-start/\345\274\200\345\217\221Hi3516\347\254\254\344\270\200\344\270\252\345\272\224\347\224\250\347\250\213\345\272\217\347\244\272\344\276\213.md" @@ -4,7 +4,7 @@ ## 获取源码 -开发者需要在Linux服务器上下载一套源代码,获取Hi3516源码([下载链接](http://tools.harmonyos.com/mirrors/os/1.0/code-1.0.tar.gz))。更多源码获取方式,请见[源码获取](../get-code/源码获取.md)。 +开发者需要在Linux服务器上下载一套源代码,获取Hi3516源码([下载链接](https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz))。更多源码获取方式,请见[源码获取](../get-code/源码获取.md)。 ## 修改应用程序 @@ -114,6 +114,9 @@ python build.py ipcamera_hi3516dv300 -b debug 1. 连接串口。 + >![](public_sys-resources/icon-notice.gif) **须知:** + >若无法连接串口,请参考常见问题5进行排查。 + **图 9** 连接串口图 diff --git "a/quick-start/\345\274\200\345\217\221Hi3516\347\254\254\344\270\200\344\270\252\351\251\261\345\212\250\347\250\213\345\272\217\347\244\272\344\276\213.md" "b/quick-start/\345\274\200\345\217\221Hi3516\347\254\254\344\270\200\344\270\252\351\251\261\345\212\250\347\250\213\345\272\217\347\244\272\344\276\213.md" index d913c11639e..72716dc85f1 100755 --- "a/quick-start/\345\274\200\345\217\221Hi3516\347\254\254\344\270\200\344\270\252\351\251\261\345\212\250\347\250\213\345\272\217\347\244\272\344\276\213.md" +++ "b/quick-start/\345\274\200\345\217\221Hi3516\347\254\254\344\270\200\344\270\252\351\251\261\345\212\250\347\250\213\345\272\217\347\244\272\344\276\213.md" @@ -419,6 +419,9 @@ 1. 连接串口。 + >![](public_sys-resources/icon-notice.gif) **须知:** + >若无法连接串口,请参考常见问题5进行排查。 + **图 1** 连接串口图 diff --git "a/quick-start/\345\274\200\345\217\221Hi3518\347\254\254\344\270\200\344\270\252\347\244\272\344\276\213\347\250\213\345\272\217.md" "b/quick-start/\345\274\200\345\217\221Hi3518\347\254\254\344\270\200\344\270\252\347\244\272\344\276\213\347\250\213\345\272\217.md" index 1397fff09f0..5129d178918 100755 --- "a/quick-start/\345\274\200\345\217\221Hi3518\347\254\254\344\270\200\344\270\252\347\244\272\344\276\213\347\250\213\345\272\217.md" +++ "b/quick-start/\345\274\200\345\217\221Hi3518\347\254\254\344\270\200\344\270\252\347\244\272\344\276\213\347\250\213\345\272\217.md" @@ -4,7 +4,7 @@ ## 获取源码 -开发者需要在Linux服务器上下载一套源代码,获取Hi3518源码([下载链接](http://tools.harmonyos.com/mirrors/os/1.0/code-1.0.tar.gz))。更多源码获取方式,请见[源码获取](../get-code/源码获取.md)。 +开发者需要在Linux服务器上下载一套源代码,获取Hi3518源码([下载链接](https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz))。更多源码获取方式,请见[源码获取](../get-code/源码获取.md)。 ## 修改应用程序 @@ -115,5 +115,5 @@ Hi3518EV300单板请使用串口烧写。 ## 下一步学习 -恭喜您,已完成Hi3518的快速上手!建议您下一步进入[无屏摄像头产品开发](zh-cn_topic_0000001055366100.md)的学习 。 +恭喜您,已完成Hi3518的快速上手!建议您下一步进入[无屏摄像头产品开发](../guide/摄像头控制.md)的学习 。 diff --git "a/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203-0.md" "b/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203-0.md" index 55d0bf8f5b0..4c1d029fc92 100755 --- "a/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203-0.md" +++ "b/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203-0.md" @@ -89,28 +89,28 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示

产生ninja编译脚本

http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar

ninja

执行ninja编译脚本

http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

LLVM

编译工具链

http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

hc-gen

驱动配置编译工具

http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

IPOP、PuTTY或其他超级终端

@@ -152,6 +152,13 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示

https://device.harmonyos.com/cn/ide

HiTool工具

+

U-boot,镜像文件烧写工具

+

http://www.hihope.org/download

+
@@ -256,7 +263,7 @@ sudo ln -s /bin/bash /bin/sh ## 安装gn 1. 打开Linux编译服务器终端。 -2. [下载gn工具](http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar)。 +2. [下载gn工具](https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar)。 3. 解压gn安装包至\~/gn路径下:"tar -xvf gn.1523.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:"export PATH=\~/gn:$PATH"。 5. 生效环境变量:"source \~/.bashrc"。 @@ -264,7 +271,7 @@ sudo ln -s /bin/bash /bin/sh ## 安装ninja 1. 打开Linux编译服务器终端 -2. [下载ninja工具](http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar)。 +2. [下载ninja工具](https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar)。 3. 解压ninja安装包至\~/ninja路径下:"tar -xvf ninja.1.9.0.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:"export PATH=\~/ninja:$PATH"。 5. 生效环境变量:"source \~/.bashrc"。 @@ -272,7 +279,7 @@ sudo ln -s /bin/bash /bin/sh ## 安装LLVM编译工具链 1. 打开Linux编译服务器终端。 -2. [下载LLVM工具](http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar)。 +2. [下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar)。 3. 解压LLVM安装包至\~/llvm路径下:"tar -xvf llvm-linux-9.0.0-34042.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:export PATH=\~/llvm/bin:$PATH。 5. 生效环境变量:"source \~/.bashrc"。 @@ -280,8 +287,8 @@ sudo ln -s /bin/bash /bin/sh ## 安装hc-gen 1. 打开Linux编译服务器终端。 -2. [下载hc-gen工具](http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar)。 -3. 解压hc-gen安装包到Linux服务器\~/hc-gen路径下。 +2. [下载hc-gen工具](https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar)。 +3. 解压hc-gen安装包到Linux服务器\~/hc-gen路径下:"tar -xvf hc-gen-0.65-linux.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:export PATH=\~/hc-gen:$PATH。 5. 生效环境变量:"source \~/.bashrc"。 diff --git "a/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203-2.md" "b/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203-2.md" index 2b1a264c5d4..5c27f966f02 100755 --- "a/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203-2.md" +++ "b/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203-2.md" @@ -84,28 +84,28 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示

产生ninja编译脚本

http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar

ninja

执行ninja编译脚本

http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

LLVM

编译工具链

http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

hc-gen

驱动配置编译工具

http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar

IPOP、PuTTY或其他超级终端

@@ -249,7 +249,7 @@ sudo ln -s /bin/bash /bin/sh ## 安装gn 1. 打开Linux编译服务器终端。 -2. [下载gn工具](http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar)。 +2. [下载gn工具](https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar)。 3. 解压gn安装包至\~/gn路径下:"tar -xvf gn.1523.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:"export PATH=\~/gn:$PATH"。 5. 生效环境变量:"source \~/.bashrc"。 @@ -257,7 +257,7 @@ sudo ln -s /bin/bash /bin/sh ## 安装ninja 1. 打开Linux编译服务器终端 -2. [下载ninja工具](http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar)。 +2. [下载ninja工具](https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar)。 3. 解压ninja安装包至\~/ninja路径下:"tar -xvf ninja.1.9.0.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:"export PATH=\~/ninja:$PATH"。 5. 生效环境变量:"source \~/.bashrc"。 @@ -265,7 +265,7 @@ sudo ln -s /bin/bash /bin/sh ## 安装LLVM编译工具链 1. 打开Linux编译服务器终端。 -2. [下载LLVM工具](http://tools.harmonyos.com/mirrors/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar)。 +2. [下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar)。 3. 解压LLVM安装包至\~/llvm路径下:"tar -xvf llvm-linux-9.0.0-34042.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:export PATH=\~/llvm/bin:$PATH。 5. 生效环境变量:"source \~/.bashrc"。 @@ -273,8 +273,8 @@ sudo ln -s /bin/bash /bin/sh ## 安装hc-gen 1. 打开Linux编译服务器终端。 -2. [下载hc-gen工具](http://tools.harmonyos.com/mirrors/hc-gen/0.65/linux/hc-gen-0.65-linux.tar)。 -3. 解压hc-gen安装包到Linux服务器\~/hc-gen路径下。 +2. [下载hc-gen工具](https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar)。 +3. 解压hc-gen安装包到Linux服务器\~/hc-gen路径下:"tar -xvf hc-gen-0.65-linux.tar -C \~/"。 4. 设置环境变量:"vim \~/.bashrc", 新增:export PATH=\~/hc-gen:$PATH。 5. 生效环境变量:"source \~/.bashrc"。 diff --git "a/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203.md" "b/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203.md" index 675c8dc1ec1..e629fae462b 100755 --- "a/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203.md" +++ "b/quick-start/\346\220\255\345\273\272\347\216\257\345\242\203.md" @@ -67,7 +67,7 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示

交叉编译工具

http://tools.harmonyos.com/mirrors/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz

+

https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz

Python3.7+

@@ -102,14 +102,14 @@ Linux服务器通用环境配置需要的工具及其获取途径如下表所示

产生ninja编译脚本

http://tools.harmonyos.com/mirrors/gn/1523/linux/gn.1523.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar

ninja

执行ninja编译脚本

http://tools.harmonyos.com/mirrors/ninja/1.9.0/linux/ninja.1.9.0.tar

+

https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

services/hiview_lite

DFX框架服务化注册

+

DFX mini框架服务化注册

frameworks/ddrdump_lite

@@ -94,7 +94,7 @@

utils/lite

公共基础操作定义实现。包含了miini框架的config配置

+

公共基础操作定义实现。包含了mini框架的config配置

@@ -157,7 +155,6 @@ DFX-mini是一套简单小巧的DFX设计,对外提供log功能:

OUTPUT_OPTION_DEBUG 日志不进行跨任务调度直接输出到串口,仅适合临时调测使用。

OUTPUT_OPTION_FLOW 日志流式输出到串口(默认设置)

OUTPUT_OPTION_TEXT_FILE 日志输出为文本文件

-

OUTPUT_OPTION_BIN_FILE 日志输出为二进制文件(后续支持)

- @@ -191,7 +188,7 @@ DFX-mini是一套简单小巧的DFX设计,对外提供log功能: 在需要打印日志的.c文件中 \#include "log.h",调用如下接口: - HILOG\_INFO\(HILOG\_MODULE\_SAMGR, “log test: %d”, 88\); + HILOG\_INFO\(HILOG\_MODULE\_A,“log test: %d”, 88\); 接口参数说明: @@ -250,18 +247,22 @@ DFX featured框架提供完整的DFX特性,对外提供log接口: hilog 可用API ``` -HILOGD(fmt,...) HILOGI(fmt,...) HILOGW(fmt,...) HILOGE(fmt,...) +HILOG_DEBUG(type, ...) +HILOG_INFO(type, ...) +HILOG_WARN(type, ...) +HILOG_ERROR(type, ...) +HILOG_FATAL(type, ...) ``` 使用介绍 -首先需要定义TAG,DOMAIN需要找DFT申请,未经申请的DOMAIN,日志打印不出来。 +1. 首先需要定义TAG。 -本地调试,可以临时使用domain数值 0。 +2. 本地调试,可以临时使用domain数值 0。 -包含头文件:\#include +3. 包含头文件:\#include -在BUILD.gn中添加依赖库 libhilog。 +4. 在BUILD.gn中添加依赖库 libhilog。 接口规则介绍: @@ -284,7 +285,7 @@ HILOGD(fmt,...) HILOGI(fmt,...) HILOGW(fmt,...) HILOGE(fmt,...) - - @@ -70,7 +69,7 @@ vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层 - @@ -79,7 +78,7 @@ vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层 - @@ -88,7 +87,7 @@ vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层 - @@ -101,12 +100,12 @@ vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层 - **KV存储** - 获取接口 - ``` + 获取接口 char key1[] = "rw.sys.version"; char value1[32] = {0}; int ret = UtilsGetValue(key1, value1, 32); + 设置接口 char key14[] = "key_14"; ret = UtilsSetValue(key14, defValue); @@ -121,10 +120,12 @@ vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层 printf("file handle = %d\n", fd); int ret = UtilsFileWrite(fd, def, strlen(def)); printf("write ret = %d\n", ret); + // stat int fileLen = 0; ret = UtilsFileStat(fileName, &fileLen); printf("file size = %d\n", fileLen); + // seek int fd1 = UtilsFileOpen(fileName, O_RDWR_FS, 0); ret = UtilsFileSeek(fd1, 5, SEEK_SET_FS); @@ -133,6 +134,7 @@ vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层 int readLen = UtilsFileRead(fd1, buf, 32); ret = UtilsFileClose(fd1); printf("read len = %d : buf = %s\n", readLen, buf); + // delete ret = UtilsFileDelete(fileName); printf("delete ret = %d\n", ret); diff --git "a/readme/\345\206\205\346\240\270\345\255\220\347\263\273\347\273\237README.md" "b/readme/\345\206\205\346\240\270\345\255\220\347\263\273\347\273\237README.md" index d1583ca09ec..03ba49855c5 100755 --- "a/readme/\345\206\205\346\240\270\345\255\220\347\263\273\347\273\237README.md" +++ "b/readme/\345\206\205\346\240\270\345\255\220\347\263\273\347\273\237README.md" @@ -4,11 +4,13 @@ OpenHarmony内核是华为推出面向IoT领域的实时操作系统内核,它同时具备RTOS轻快和Linux易用的特点。 -这个仓库用于存放OpenHarmony内核的源代码,主要包括如下基本功能组件模块:进程和线程调度、内存管理、IPC机制、timer管理等,版本包编译信息。 +OpenHarmony内核主要包括进程和线程调度、内存管理、IPC机制、timer管理等内核基本功能。 + +OpenHarmony内核的源代码分为 [`kernel_liteos_a`](https://gitee.com/openharmony/kernel_liteos_a) 和 [`kernel_liteos_m`](https://gitee.com/openharmony/kernel_liteos_m) 这2个代码仓库,其中`kernel_liteos_a`主要针对Cortex-A系列处理器,而`kernel_liteos_m`则主要针对Cortex-M系列处理器,两者目录结构非常相似,所以下面主要针对`kernel_liteos_a`代码仓库进行介绍。 ## 目录 -**表 1** OpenHarmony轻内核源代码目录结构 +**表 1** OpenHarmony内核源代码目录结构

配置项

level

@@ -180,7 +177,7 @@ DFX-mini是一套简单小巧的DFX设计,对外提供log功能:

eventSwitch

事件功能开关。编译前关闭则不再初始化DUMP组件。默认关闭。取值如下:

+

事件功能开关。编译前关闭则不再初始化Event组件。默认关闭。取值如下:

HIVIEW_FEATURE_ON/ HIVIEW_FEATURE_OFF

domain

领域标识ID,需要找DFT申请,未经申请的domain会出现日志打印不出来的问题

+

领域标识ID

tag

@@ -312,14 +313,14 @@ HILOGD(fmt,...) HILOGI(fmt,...) HILOGW(fmt,...) HILOGE(fmt,...) **日志查看** -1. debug版本hilog日志会保存到/storage/data/log/hilogs 目录下面。 +1. debug版本hilog日志会保存到/storage/data/log/目录下面。 2. 可以执行hilogcat实时查看hilog日志。 **日志系统架构** -![](figures/zh-cn_image_0000001052080708.png) +![](figures/zh-cn_image_0000001054762887.png) 1. hilogtask流水日志的内核任务。 - 此功能是一个linux内核的任务或者线程,在系统启动时初始化。 @@ -329,7 +330,6 @@ HILOGD(fmt,...) HILOGI(fmt,...) HILOGW(fmt,...) HILOGE(fmt,...) 2. hilogcatd用户态日志存储服务。 - 这是一个用户态的进程,负责定时将内核的ringbuffer读取出来,存储到日志文件中。 - 日志文件输出支持gzip压缩,使用zlib - - 每个类型的ringbuffer分开存储。 - 存储文件的单个文件大小,文件个数可在编译时配置。 3. hilogcat日志查看命令行工具。 @@ -338,7 +338,6 @@ HILOGD(fmt,...) HILOGI(fmt,...) HILOGW(fmt,...) HILOGE(fmt,...) 4. 支持日志缓冲区可配置。 - 编译时可以配置日志缓冲区的大小。 - - 编译时可以指定日志缓冲区的类型,类型个数就是ringbuffer的个数。 ## 涉及仓 diff --git "a/readme/JS\345\272\224\347\224\250\345\274\200\345\217\221\346\241\206\346\236\266README.md" "b/readme/JS\345\272\224\347\224\250\345\274\200\345\217\221\346\241\206\346\236\266README.md" index 1d001b0f676..0e98449019b 100755 --- "a/readme/JS\345\272\224\347\224\250\345\274\200\345\217\221\346\241\206\346\236\266README.md" +++ "b/readme/JS\345\272\224\347\224\250\345\274\200\345\217\221\346\241\206\346\236\266README.md" @@ -2,7 +2,7 @@ ## 简介 -JS应用开发框架,提供了一套跨平台的类web应用开发框架,通过Toolkit将开发者编写的HML、CSS和JS 文件编译打包成JS Bundle,然后再将JS Bundle解析运行成C++ native UI的View 组件进行渲染。通过支持三方开发者使用声明式的API进行应用开发,以数据驱动视图变化,避免了大量的视图操作,大大降低了应用开发难度,提升开发者开发体验。 +JS应用开发框架,提供了一套跨平台的类web应用开发框架,通过Toolkit将开发者编写的HML、CSS和JS 文件编译打包成JS Bundle,解析运行JS Bundle,生成native UI View组件树并进行渲染显示。通过支持三方开发者使用声明式的API进行应用开发,以数据驱动视图变化,避免大量的视图操作,大大降低应用开发难度,提升开发者开发体验。 JS应用框架模块组成如下图所示: @@ -14,37 +14,37 @@ JS应用开发框架源代码在/foundation/ace下,目录结构如下图所示 ``` /foundation/ace -├── frameworks #框架代码 +├── frameworks # 框架代码 │ └── lite -│ ├── examples #示例代码目录 -│ ├── include #对外暴露头文件存放目录 -│ ├── packages #框架JS实现存放目录 -│ ├── src #源代码存放目录 -│ ├── targets #各目标设备配置文件存放目录 -│ └── tools #工具代码存放目录 -├── interfaces #对外接口存放目录 -│ └── innerkits #对内部子系统暴露的头文件存放目录 +│ ├── examples # 示例代码目录 +│ ├── include # 对外暴露头文件存放目录 +│ ├── packages # 框架JS实现存放目录 +│ ├── src # 源代码存放目录 +│ ├── targets # 各目标设备配置文件存放目录 +│ └── tools # 工具代码存放目录 +├── interfaces # 对外接口存放目录 +│ └── innerkits # 对内部子系统暴露的头文件存放目录 │ └── builtin # JS应用框架对外暴露JS三方module API接口存放目录 ``` ## 约束 -- 语言版本 +- 语言版本: - C++11版本或以上 - - JavaScript ES5.1+ + - JavaScript ES5.1 - 框架运行内存通常分为如下组成部分: - - 运行时引擎的预分配内存,该内存值可调,取决于具体设备应用复杂度,通常建议64K\~512K - - 框架本身内存,在百K级的内存设备上,通常通过预分配一个内存池进行管理,可以和native UI共用一个内存池,包含了对象和堆内存统一管理 + - JS引擎运行时内存:可调,取决于具体设备应用复杂度,通常建议64K\~512K + - 框架本身native内存:在百K级的内存设备上,建议预分配一个与native UI共用的内存池,用于native内存的管理 -- 框架针对不同的芯片平台和底层OS能力,规格有所区别 - - Cortex-M RAM/ROM: +- 框架针对不同的芯片平台和底层OS能力,规格有所区别: + - Cortex-M RAM/ROM - JS引擎内存池: 建议大于48K - RAM:建议与native UI共用内存池,大于80K - ROM: \> 300K (包含JS应用框架,以及native UI和JS引擎等强相关子系统) - - Cortex-A RAM/ROM: + - Cortex-A RAM/ROM - JS引擎内存池: 建议大于128K - RAM:建议大于512K - ROM:\> 2M (包含JS应用框架,以及native UI和JS引擎等强相关子系统) @@ -53,7 +53,10 @@ JS应用开发框架源代码在/foundation/ace下,目录结构如下图所示 ## 使用**targets** -JS应用框架实现主要包含两部分,native和JavaScript,native部分为C++,为框架的主体实现,JavaScript部分实现提供JS应用框架对用户JS文件的运行时支持,并通过向引擎暴露一些全局方法或对象,支撑JS运行时与native框架之间的交互。 +JS应用框架实现主要包含两部分: + +- native部分:使用C++进行编写,是框架主体实现; +- JavaScript部分:提供JS应用框架对用户JS文件的运行时支持,并通过向引擎暴露一些全局方法和对象,支撑JS运行时与native框架之间的交互。 JS应用框架通过一些特性宏来定制不同平台上参与编译的功能代码,该部分特性宏定义在 foundation/ace/frameworks/lite/targets 目录下头文件内,目录结构如下: @@ -61,70 +64,74 @@ JS应用框架通过一些特性宏来定制不同平台上参与编译的功能 /foundation/ace/frameworks/lite/targets ├── default/ │ └── acelite_config.h -├── linux/ #linux环境配置文件目录 +├── linux/ # linux环境配置文件目录 │ └── acelite_config.h -├── liteos_a/ #LiteOS A核环境配置文件目录 +├── liteos_a/ # LiteOS A核环境配置文件目录 │ └── acelite_config.h -├── liteos_m/ #LiteOS M核环境配置文件目录 +├── liteos_m/ # LiteOS M核环境配置文件目录 │ └── acelite_config.h ├── platform_adapter.cpp ├── platform_adapter.h -└── simulator/ #模拟器环境配置文件目录 +└── simulator/ # 模拟器环境配置文件目录 └── win/ └── acelite_config.h* ``` -在编译不同的平台目标时,需要使用对应平台目录下的acelite\_config.h 头文件,这可以通过配置编译时的搜索路径来进行,以下以 ninja和cmake 构建工具为例进行示例: +在编译不同的平台目标时,需要使用对应平台目录下的acelite\_config.h头文件,这可以通过配置编译时的搜索路径来进行,以下以ninja和cmake构建工具为例进行示例: -ninja: +- ninja: -``` - if (hos_kernel_type == "liteos_a" || hos_kernel_type == "liteos_m" || - hos_kernel_type == "liteos_riscv") { // 通过目标内核平台选择不同的头文件搜索路径 - include_dirs += [ "targets/liteos-a" ] - } else if (hos_kernel_type == "linux") { - include_dirs += [ "targets/linux" ] - } -``` + ``` + if (ohos_kernel_type == "liteos_a" || ohos_kernel_type== "liteos_m" || + ohos_kernel_type == "liteos_riscv") { // 通过目标内核平台选择不同的头文件搜索路径 + include_dirs += [ "targets/liteos-a" ] + } else if (ohos_kernel_type == "linux") { + include_dirs += [ "targets/linux" ] + } + ``` -cmake: -``` -...... -set(ACE_LITE_CONFIG_PATH "${CMAKE_CURRENT_SOURCE_DIR}/targets/simulator/win") -set(JSFWK_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/include") -set(JSFWK_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/core") -set(UIKIT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../ui") -set(THIRTY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party") -set(JSFWK_SIMULATOR_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../tools/simulator") -set(JS_API_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../api/emui_band/MoltenCore/application/framework/ace/api") -set(JSFWK_SIMULATOR_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../tools/simulator") -set(AAFWK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../aafwk") - -# header files -include_directories( - ${ACE_LITE_CONFIG_PATH} - ${JSFWK_INCLUDE_PATH}/async - ${JSFWK_INCLUDE_PATH}/base - ${JSFWK_INCLUDE_PATH}/context - ${JSFWK_INCLUDE_PATH}/jsi - ${JSFWK_SOURCE_PATH} +- cmake: + + ``` ...... -``` + set(ACE_LITE_CONFIG_PATH "${CMAKE_CURRENT_SOURCE_DIR}/targets/simulator/win") # 模拟器编译搜索路径使用targets/simulator/win + set(JSFWK_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/include") + set(JSFWK_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/core") + set(UIKIT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../ui") + set(THIRTY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party") + set(JSFWK_SIMULATOR_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../tools/simulator") + set(JS_API_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../api/emui_band/MoltenCore/application/framework/ace/api") + set(JSFWK_SIMULATOR_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../tools/simulator") + set(AAFWK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../aafwk") + + # header files + include_directories( + ${ACE_LITE_CONFIG_PATH} + ${JSFWK_INCLUDE_PATH}/async + ${JSFWK_INCLUDE_PATH}/base + ${JSFWK_INCLUDE_PATH}/context + ${JSFWK_INCLUDE_PATH}/jsi + ${JSFWK_SOURCE_PATH} + ...... + ``` -acelite\_config.h主要用于对应平台的特性宏开关,也可用来进行一些屏蔽平台差异的定义,如不同平台由于使用的文件系统不一致,可能存在一些固定目录路径名不一样的情况,这些有区别的常量可以放在这里进行定义,如下: -liteos-a/acelite\_config.h +acelite\_config.h主要用于对应平台的特性宏开关,也可用来进行一些屏蔽平台差异的定义。如不同平台由于使用的文件系统不一致,可能存在一些固定目录路径名不一样的情况,这些有区别的常量可以放在这里进行定义,如下: -``` -#define JS_FRAMEWORK_PATH "//system/ace/bin/" -``` +- liteos-a/acelite\_config.h -simulator/win/acelite\_config.h + ``` + #define JS_FRAMEWORK_PATH "//system/ace/bin/" + ``` + + +- simulator/win/acelite\_config.h + + ``` + #define JS_FRAMEWORK_PATH "..\\..\\..\\jsfwk\\packages\\runtime-core\\build" + ``` -``` -#define JS_FRAMEWORK_PATH "..\\..\\..\\jsfwk\\packages\\runtime-core\\build" -``` ## 使用runtime-core @@ -133,30 +140,30 @@ simulator/win/acelite\_config.h ``` /foundation/ace/frameworks/lite/packages └── runtime-core - ├── .babelrc #babel配置文件 - ├── .editorconfig #IDE配置文件 - ├── .eslintignore #ESLint配置文件,可以设置不进行ESLint扫描的目录或文件 - ├── .eslintrc.js #ESLint配置文件,可以配置扫描规则 + ├── .babelrc # babel配置文件 + ├── .editorconfig # IDE配置文件 + ├── .eslintignore # ESLint配置文件,可以设置不进行ESLint扫描的目录或文件 + ├── .eslintrc.js # ESLint配置文件,可以配置扫描规则 ├── .gitignore - ├── package.json #NPM包管理文件 - ├── package-lock.json #NPM依赖版本锁定文件 - ├── .prettierrc #代码格式化规则配置文件 - ├── scripts #编译脚本存放目录 - │ ├── build.js #编译脚本 - │ └── configs.js #Rollup配置文件 + ├── package.json # NPM包管理文件 + ├── package-lock.json # NPM依赖版本锁定文件 + ├── .prettierrc # 代码格式化规则配置文件 + ├── scripts # 编译脚本存放目录 + │ ├── build.js # 编译脚本 + │ └── configs.js # Rollup配置文件 ├── .size-snapshot.json - └── src #源代码 - ├── core #ViewModel核心实现目录 + └── src # 源代码 + ├── core # ViewModel核心实现目录 │ └── index.js ├── index.js - ├── observer #数据劫持部分代码实现目录 + ├── observer # 数据劫持部分代码实现目录 │ ├── index.js │ ├── observer.js │ ├── subject.js │ └── utils.js - ├── profiler #profiler目录 + ├── profiler # profiler目录 │ └── index.js - └── __test__ #测试用例目录 + └── __test__ # 测试用例目录 └── index.test.js ``` @@ -164,7 +171,7 @@ simulator/win/acelite\_config.h - npm run build - JS应用框架所集成的JS 引擎仅支持ES5.1语法,runtime-core源代码是使用ES6源码书写的。因此选择使用rollup做为打包工具,配合babel实现对JavaScript语法进行降级处理。只要命令行中执行命令npm run build,会在build目录下输出打包结果,输出结果如下所示: + JS应用框架所集成的JS引擎仅支持ES5.1语法,runtime-core源代码是使用ES6语法书写的。因此选择使用rollup做为打包工具,配合babel实现对语法进行降级处理。命令行中执行npm run build,会在build目录下输出打包结果,输出结果如下所示: ``` build/ diff --git "a/readme/XTS\350\256\244\350\257\201\345\255\220\347\263\273\347\273\237README.md" "b/readme/XTS\350\256\244\350\257\201\345\255\220\347\263\273\347\273\237README.md" index b66acd065fa..c44113c0201 100755 --- "a/readme/XTS\350\256\244\350\257\201\345\255\220\347\263\273\347\273\237README.md" +++ "b/readme/XTS\350\256\244\350\257\201\345\255\220\347\263\273\347\273\237README.md" @@ -6,8 +6,8 @@ XTS是OpenHarmony生态认证测试套件的集合,当前包括acts(applicat test/xts仓当前包括acts与tools软件包: -- acts,存放acts相关测试用例源码与配置文件,帮助终端设备厂商尽早发现软件与OpenHarmony的不兼容性,确保软件在整个开发过程中满足OpenHarmony的兼容性要求。 -- tools,提供acts编写和编译所依赖的开发框架。 +- acts,存放acts相关测试用例源码与配置文件,其目的是帮助终端设备厂商尽早发现软件与OpenHarmony的不兼容性,确保软件在整个开发过程中满足OpenHarmony的兼容性要求。 +- tools,存放acts相关测试用例开发框架。 ## 目录 @@ -17,9 +17,7 @@ test/xts源代码目录结构: │ ├── BUILD.gn 测试用例编译配置 -│ └── A测试子系统\_lite A测试子系统测试用例源码 - -│ └── B测试子系统\_lite B测试子系统测试用例源码 +│ └── subsystem\_lite 子系统测试用例源码 └── tools @@ -39,7 +37,7 @@ test/xts源代码目录结构: ## 编写联接类模组acts测试用例 -当前使用的测试框架是hctest测试框架。 +当前使用的测试框架是hctest。 hctest测试框架支持使用C语言编写测试用例,在联接类模组上执行,是在开源测试框架unity的基础上进行增强和适配。 @@ -49,13 +47,13 @@ hctest测试框架支持使用C语言编写测试用例,在联接类模组上 │ ├── BUILD.gn -│ └──测试子系统\_lite +│ └──subsystem\_lite -│ │ └── 测试模块\_hal +│ │ └── module\_hal │ │ │ └── BUILD.gn -│ │ │ └── src 存放测试用例源码 +│ │ │ └── src **2,src目录下用例编写样例:** @@ -171,7 +169,7 @@ hctest_suite("ActsDemoTest") { **4,acts下BUILD.gn增加编译选项** -如何将编写的测试代码加入到版本编译中,需要将测试模块加入到acts目录下的编译脚本中,编译脚本为:test/xts/acts/BUILD.gn。 +需要将测试模块加入到acts目录下的编译脚本中,编译脚本路径:test/xts/acts/BUILD.gn。 ``` lite_component("acts") { @@ -179,7 +177,7 @@ lite_component("acts") { if(board_name == "liteos_riscv") { features += [ ... - "//xts/acts/测试子系统_lite/测试模块_hal:ActsDemoTest" + "//xts/acts/subsystem_lite/module_hal:ActsDemoTest" ] } } @@ -203,13 +201,13 @@ hcpptest测试框架是在开源的googletest测试框架的基础上进行的 │ ├── BUILD.gn -│ └──测试子系统\_lite +│ └──subsystem\_lite -│ │ └── 测试模块\_posix +│ │ └── module\_posix │ │ │ └── BUILD.gn -│ │ │ └── src 存放测试用例源码 +│ │ │ └── src **2,测试模块src下用例编写样例:** @@ -226,17 +224,17 @@ hcpptest测试框架是在开源的googletest测试框架的基础上进行的 ``` class TestSuite: public testing::Test { protected: -// SetUpTestCase:测试套预置动作,在第一个TestCase之前执行 +// Preset action of the test suite, which is executed before the first test case static void SetUpTestCase(void){ } -// TearDownTestCase:测试套清理动作,在最后一个TestCase之后执行 +// Test suite cleanup action, which is executed after the last test case static void TearDownTestCase(void){ } -// 用例的预置动作 +// Preset action of the test case virtual void SetUp() { } -// 用例的清理动作 +// Cleanup action of the test case virtual void TearDown() { } @@ -339,7 +337,7 @@ hcpptest_suite("ActsDemoTest") { 4**,acts目录下增加编译选项(BUILD.gn)** -如何将编写的测试代码加入到版本编译中,需要将测试模块加入到acts目录下的编译脚本中,编译脚本为:test/xts/acts/BUILD.gn。 +需要将测试模块加入到acts目录下的编译脚本中,编译脚本为:test/xts/acts/BUILD.gn。 ``` lite_component("acts") { @@ -347,7 +345,7 @@ hcpptest_suite("ActsDemoTest") { else if(board_name == "liteos_a") { features += [ ... - "//xts/acts/测试子系统_lite/测试模块_posix:ActsDemoTest" + "//xts/acts/subsystem_lite/module_posix:ActsDemoTest" ] } } diff --git "a/readme/figures/bms\347\255\226\347\225\245\344\270\276\344\276\213.png" "b/readme/figures/bms\347\255\226\347\225\245\344\270\276\344\276\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..fb9c3d8c66673f5c5b69718f59bb09dab16e48a9 GIT binary patch literal 12558 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 literal 0 HcmV?d00001 diff --git a/readme/figures/zh-cn_image_0000001054762887.png b/readme/figures/zh-cn_image_0000001054762887.png new file mode 100644 index 0000000000000000000000000000000000000000..fee686d5a816b82f3d0d455d2134819976d33613 GIT binary patch literal 34952 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 literal 0 HcmV?d00001 diff --git a/readme/figures/zh-cn_image_0000001055103250.png b/readme/figures/zh-cn_image_0000001055103250.png new file mode 100644 index 0000000000000000000000000000000000000000..e1732f4dd9bb12a8abf040fba4b92dafab7df01e GIT binary patch literal 66647 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 N7G^f4)h4$e{tw*UteOA- literal 0 HcmV?d00001 diff --git "a/readme/figures/\347\255\226\347\225\245\347\261\273\345\236\2132.png" "b/readme/figures/\347\255\226\347\225\245\347\261\273\345\236\2132.png" new file mode 100644 index 0000000000000000000000000000000000000000..1ad38251b4d9abba2076bfc2df91fa14c81ac07d GIT binary patch literal 7247 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 ``` -utils/native/lite/ # 公共基础库根目录 -├── file # 文件接口实现 -├── hals # HAL目录 -│ └── file # 文件操作硬件抽象层头文件 -├── include # 公共基础库对外接口文件 -├── js # ACE JS API目录 -│ └── builtin +utils/native/lite/ # 公共基础库根目录 +├── file # 文件接口实现 +├── hals # HAL目录 +│ └── file # 文件操作硬件抽象层头文件 +├── include # 公共基础库对外接口文件 +├── js # ACE JS API目录 +│ └── builtin │ ├── common -│ ├── deviceinfokit # 设备信息Kit -│ ├── filekit # 文件Kit -│ └── kvstorekit # KV存储Kit -├── kal # KAL目录 -│ └── timer # Timer的KAL实现 -├── kv_store # KV存储实现 -│ ├── innerkits # KV存储内部接口 -│ └── src # KV存储源文件 -└── timer_task # Timer实现 - -base/iot_hardware #IoT外设控制 -├── frameworks -│ └── wifiiot_lite #IoT外设控制模块实现 +│ ├── deviceinfokit # 设备信息Kit +│ ├── filekit # 文件Kit +│ └── kvstorekit # KV存储Kit +├── kal # KAL目录 +│ └── timer # Timer的KAL实现 +├── kv_store # KV存储实现 +│ ├── innerkits # KV存储内部接口 +│ └── src # KV存储源文件 +└── timer_task # Timer实现 + +base/iot_hardware #IoT外设控制 +├── frameworks +│ └── wifiiot_lite #IoT外设控制模块实现 ├── hals -│ └── wifiiot_lite #HAL适配层接口 +│ └── wifiiot_lite #HAL适配层接口 └── interfaces - └── kits #IoT外设控制模块接口 - + └── kits #IoT外设控制模块接口 vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层 -└── wifiiot_lite #HAL适配层接口实现 +└── wifiiot_lite #HAL适配层接口实现 ``` ## 约束 @@ -61,7 +60,7 @@ vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware #IoT外设控制HAL层

KV存储

LiteOS-M平台、LiteOS-A平台

+

LiteOS-M内核、LiteOS-A内核

为应用程序提供KV存储机制。

文件操作

LiteOS-M平台

+

LiteOS-M内核

提供统一的文件操作接口,屏蔽对底层不同芯片组件的差异。

定时器

LiteOS-M平台、LiteOS-A平台

+

LiteOS-M内核、LiteOS-A内核

提供统一的定时器操作接口,屏蔽对底层不同芯片组件的差异。

IoT外设控制

LiteOS-M平台

+

LiteOS-M内核

IoT外设控制模块提供对外围设备的操作能力。

- - - - @@ -87,7 +84,7 @@ OpenHarmony内核是华为推出面向IoT领域的实时操作系统内核,它 ## 约束 -系统启动默认使用jffs2的文件系统,该文件系统支持可读可写,若要使用其他文件系统,需要适配新增。 +Hi3518EV300默认使用jffs2文件系统,Hi3516DV300默认使用vfat文件系统。若要使用其他文件系统,需要新增适配。 ## 使用 @@ -95,11 +92,11 @@ OpenHarmony内核是华为推出面向IoT领域的实时操作系统内核,它 ## 涉及仓 -drivers\_liteos +[drivers_liteos](https://gitee.com/openharmony/drivers_liteos) -kernel\_liteos\_a +[kernel_liteos_a](https://gitee.com/openharmony/kernel_liteos_a) -kernel\_liteos\_a\_huawei\_proprietary\_fs\_proc +[kernel_liteos_a_huawei_proprietary_fs_proc](https://gitee.com/openharmony/kernel_liteos_a_huawei_proprietary_fs_proc) -kernel\_liteos\_m +[kernel_liteos_m](https://gitee.com/openharmony/kernel_liteos_m) diff --git "a/readme/\345\210\206\345\270\203\345\274\217\344\273\273\345\212\241\350\260\203\345\272\246\345\255\220\347\263\273\347\273\237README.md" "b/readme/\345\210\206\345\270\203\345\274\217\344\273\273\345\212\241\350\260\203\345\272\246\345\255\220\347\263\273\347\273\237README.md" index 6cf4b301174..b8ddb55f5f3 100755 --- "a/readme/\345\210\206\345\270\203\345\274\217\344\273\273\345\212\241\350\260\203\345\272\246\345\255\220\347\263\273\347\273\237README.md" +++ "b/readme/\345\210\206\345\270\203\345\274\217\344\273\273\345\212\241\350\260\203\345\272\246\345\255\220\347\263\273\347\273\237README.md" @@ -2,9 +2,9 @@ ## 简介 -分布式任务调度模块,通过主(智慧屏设备)从设备(运动手表等小内存设备)服务代理机制,在异构操作系统上建立起分布式服务平台,支持OpenHarmony智慧屏与拉起其它OpenHarmony设备FA的能力。轻量分布式调度模块组成如下图所示: +分布式任务调度模块负责跨设备组件管理,提供访问和控制远程组件的能力,支持分布式场景下的应用协同。分布式调度模块组成如下图所示: -![](figures/zh-cn_image_0000001055199362.png) +![](figures/zh-cn_image_0000001055103250.png) ## 目录 @@ -21,17 +21,12 @@ - - - - - @@ -42,16 +37,16 @@ ``` ├── BUILD.gn ├── include -│ ├── distributed_schedule_service.h # 分布式调度对外接口文件 +│ ├── distributed_schedule_service.h # 分布式调度对外接口 │ ├── dmslite_check_remote_permission.h # 分布式调度权限管理模块 │ ├── dmslite_famgr.h # 分布式调度FA管理模块 -│ ├── dmslite_inner_common.h # 分布式调度服务文件 -│ ├── dmslite.h # 分布式调度实现 +│ ├── dmslite_inner_common.h # 分布式调度内部通用文件 +│ ├── dmslite.h # 分布式调度服务实现 │ ├── dmslite_log.h # 日志模块 -│ ├── dmslite_msg_parser.h # 通讯数据反序列化 +│ ├── dmslite_msg_parser.h # 分布式消息解析模块 │ ├── dmslite_tlv_common.h # TLV格式数据解析模块 -│ └── dmslite_session.h # 跨设备通信辅助文件 -├── README.md +│ └── dmslite_session.h # 跨设备通信收发模块 +├── readme.md ├── LICENSE ├── source ├── distributed_schedule_service.c @@ -65,67 +60,59 @@ ## 约束 -语言限制:C语言。 组网环境:必须确保设备在同一个局域网中。操作系统限制:OpenHarmony操作系统。 +**语言限制**:C/C++语言 + +**组网环境**:必须确保设备在同一个局域网中,主从设备能互相ping通 + +**操作系统限制**:OpenHarmony操作系统 **远程启动的约束与限制:** -- 支持远程启动FA,不支持远程启动SA。 -- 远程启动前必须确保主设备(智慧屏设备)与从设备间(运动手表等小内存设备)分布式组网成功(需要在同一网段内,可互相ping通),否则无法远程启动。 +- 支持远程启动FA,不支持远程启动SA +- 远程启动前必须确保主设备与从设备间分布式组网成功,否则无法远程启动 ## 使用 -**轻量级分布式调度模块编译** +- **轻量级分布式调度模块编译** -轻量级分布式调度模块通过一些特性宏来定制不同平台上参与编译的功能代码,该部分代码位于build\\lite\\config\\subsystem\\distributedschedule\\目录下,目录结构如下: +轻量级分布式调度模块,其代码所在目录如下: ``` -build/lite/config/subsystem/distributedschedule -├── BUILD.gn +foundation/distributedschedule/services/dtbschedmgr_lite ``` -在编译不同的平台目标时,需要使用对BUILD.gn进行修改,以下以平台hi3518ev300和hi3516dv300为例: +在针对不同平台进行编译时,需要在指定目标平台,以下以hi3516dv300为例: ``` -zlite_subsystem("distributedschedule") { - subsystem_components = [ - "//foundation/distributedschedule/services/samgr_lite:samgr", - ] - if (board_name == "hi3518ev300" || board_name == "hi3516dv300") { - subsystem_components += [ - "//foundation/distributedschedule/services/safwk_lite:safwk_lite", - "//foundation/distributedschedule/services/dtbschedmgr_lite:dtbschedmgr", // 轻量级分布式调度模块配置 - ] - } -} +python build.py ipcamera -p hi3516dv300_liteos_a ``` -**\* 主设备程序开发**(以拉起FA为例) +- **主设备程序开发**(以拉起FA为例) -构造want,首先使用ElementName类表明需要启动的远端设备ID,包名,元能力类名,传入want中,然后设置want中的分布式标志位Want.FLAG\_ABILITYSLICE\_MULTI\_DEVICE表示需要远程启动。 +构造意图参数want,设置需要启动的远端设备ID,包名,元能力类名信息,以及分布式标志位Want.FLAG\_ABILITYSLICE\_MULTI\_DEVICE以使能分布式启动 ``` -// 引入相关头文件 import ohos.aafwk.ability.Ability; import ohos.aafwk.content.Want; import ohos.bundle.ElementName; -// 启动远程设备FA -Want want = new Want(); // 封装启动远端FA的Want -ElementName name = new ElementName("remote_device_id", "com.huawei.remote_package_name","remote_class_name"); +// 构造want参数 +Want want = new Want(); +ElementName name = new ElementName(remote_device_id, "com.huawei.remote_bundle_name", "remote_ability_name"); want.setElement(name); // 将待启动的FA信息添加到Want中 want.setFlags(Want.FLAG_ABILITYSLICE_MULTI_DEVICE); // 设置分布式标记,若不设置将无法使用分布式能力 -startAbility(want); // 按照Want启动指定FA,Want参数命名以实际开发平台API为准 -``` -**\* 预置条件** +// 启动远程设备FA +startAbility(want); // 按照Want启动指定FA,want参数命名以实际开发平台API为准 +``` -**主从设备间组网**:远程启动前必须确保主从设备分布式组网成功(需要在同一网段内,可互相ping通),否则无法远程启 +- **预置条件** -**从设备FA安装:**安装测试或者自开发的FA到从设备 +从设备侧需安装对应包名的FA -**\* 运行**(以拉起FA为例) +- **运行**(以拉起FA为例) -执行主设备(智慧屏)侧的startAbility即可拉起从设备(运动手表等小内存设备)FA +执行主设备侧的startAbility即可拉起从设备FA ## 涉及仓 diff --git "a/readme/\345\220\257\345\212\250\346\201\242\345\244\215README.md" "b/readme/\345\220\257\345\212\250\346\201\242\345\244\215README.md" index 96725f0b563..51b3eb02573 100755 --- "a/readme/\345\220\257\345\212\250\346\201\242\345\244\215README.md" +++ "b/readme/\345\220\257\345\212\250\346\201\242\345\244\215README.md" @@ -2,7 +2,7 @@ ## 简介 -启动恢复负责在内核启动之后,应用启动之前的操作系统中间层的启动。涉及以下模块: +启动恢复负责在内核启动之后到应用启动之前的系统关键进程和服务的启动过程。涉及以下模块: - init启动引导 @@ -139,7 +139,7 @@ vendor - init启动引导的配置文件 -启动引导模块配置文件包含了所有需要由init进程启动的系统关键服务的服务名、可执行文件路径、权限和其他属性信息,该文件位于代码仓库/vendor/huawei/camera/init\_configs/目录,部署在/etc/下,文件名称为init.cfg,采用json格式,文件大小目前限制在10KB以内。 +启动引导模块配置文件包含了所有需要由init进程启动的系统关键服务的服务名、可执行文件路径、权限和其他属性信息,该文件位于代码仓库/vendor/huawei/camera/init\_configs/目录,部署在/etc/下,文件名称为init.cfg,采用json格式,文件大小目前限制在100KB以内。 init进程启动后首先读取/etc/init.cfg,然后解析其json内容,并根据解析结果依次加载系统服务。配置文件格式和内容说明如下所示: diff --git "a/readme/\345\252\222\344\275\223\345\255\220\347\263\273\347\273\237README.md" "b/readme/\345\252\222\344\275\223\345\255\220\347\263\273\347\273\237README.md" index 781942e0002..cecd0977ca9 100755 --- "a/readme/\345\252\222\344\275\223\345\255\220\347\263\273\347\273\237README.md" +++ "b/readme/\345\252\222\344\275\223\345\255\220\347\263\273\347\273\237README.md" @@ -2,9 +2,7 @@ ## 简介 -该仓主要用于存放媒体子系统的源码信息,旨在为多媒体应用开发者开发者提供统一的开发接口,使得开发者可以专注于应用业务的开发,轻松使用多媒体的资源。 - -本次开源基于本仓代码信息将相关设备配置文件放入到test\\lite\\devini内,用户使用时将配置文件放入到开发板/data目录,通过该配置文件可以方便去适配sensor及分辨率帧率等能力。 +该仓主要用于存放媒体子系统的源码信息,旨在为多媒体应用开发者开发者提供统一的开发接口,使得开发者可以专注于应用业务的开发,轻松使用多媒体的资源。下图分别展现媒体子系统的框架及业务流程。 多媒体子系统框架 @@ -14,7 +12,7 @@ ![](figures/zh-cn_image_0000001052440794.png) -如上图,多媒体包括camera,recorder和player,camera提供yuv/rgb,jpeg以及H264,H265数据到共享内存surface中,recorder模块将surface中h264/h265数据和音频aac数据打包成mp4文件,player模块把mp4文件解复用成音频和视频数据,分别送入对应编码器解码,然后进行播放。 +如上图,多媒体包括camera,recorder和player,camera提供YUV、RGB、JPEG以及H264,H265数据到共享内存surface中,recorder模块将surface中h264/h265数据和音频aac数据打包成mp4文件,player模块把mp4文件解复用成音频和视频数据,分别送入对应编码器解码,然后进行播放。 ## 目录 @@ -29,27 +27,27 @@ - - - - - @@ -59,18 +57,20 @@ - C++11版本或以上 - 目前支持3516dv300、3518ev300开发板,其中仅3516dv300支持播放功能 +- 当前3516dv300开发板默认支持索尼imx335、3518ev300默认支持晶相jxf23。 ## 安装 - 请提前加载内核及相关驱动,参考内核及驱动子系统readme。 -- 配置合适的配置文件,可以参考test/devini下配置文件,说明参见《配置文件说明文档》,当前仅支持imx335和imx327sensor,如果适配其他sensor可在开源社区中求助。 -- 北向接口调用参见test下demo实现。 +- 配置合适的配置文件,可以参考applications/sample/camera/media下配置文件,如果适配其他sensor可在开源社区中求助。用户使用时将配置文件放入到开发板/storage/data目录,开发者通过该配置文件可以去适配sensor及分辨率、帧率等能力。 +- 应用接口调用参见applications/sample/camera/media下demo实现。 ## 使用 -开发者使用多媒体接口用于录像、预览和播放音视频等资源,使用这些资源前先创建camerakit组件对象,注册各种事件回调,这些事件回调是用户实现用来响应多媒体模块中事件响应的,之后调用创建camera就可以创建一个操作camera资源的对象,使用这个对象可以启动预览、录像或抓拍取流,及设置取流的相关参数。 - +Native应用接口调用可以参考applications/sample/camera/media下demo实现 +应用开发者使用多媒体接口实现录像、预览和播放音视频,使用可以参考《多媒体开发指南》。 例:下面是用户重写事件类的实例 +用户先创建camerakit组件对象,注册各种事件回调,这些事件回调是用户实现用来响应多媒体模块中事件响应的,之后调用创建camera就可以创建一个操作camera资源的对象,使用这个对象可以启动预览、录像或抓拍取流,及设置取流的相关参数。 ``` /* diff --git "a/readme/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237README.md" "b/readme/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237README.md" index 8138f6596c8..ec7b36ea2b5 100755 --- "a/readme/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237README.md" +++ "b/readme/\345\256\211\345\205\250\345\255\220\347\263\273\347\273\237README.md" @@ -39,7 +39,7 @@ x509镜像包生成:参考编译构建子系统编译方式,执行编译生 ## 应用权限管理 -应用权限是软件用来访问系统资源和使用系统能力的一种通行方式,存在涉及个人隐私相关功能和数据的场景,例如:访问个人设备的硬件特性,如摄像头、麦克风,以及获取个人数据,如通讯录,日历等存储的信息等。操作系统通过应用权限管理来保护这些数据以及能力。 +应用权限是软件用来访问系统资源和使用系统能力的一种通行方式,存在涉及个人隐私相关功能和数据的场景,例如:访问个人设备的硬件特性,如摄像头、麦克风,以及读写媒体文件等。操作系统通过应用权限管理来保护这些数据以及能力。 权限定义字段说明: @@ -64,7 +64,6 @@ x509镜像包生成:参考编译构建子系统编译方式,执行编译生 @@ -85,19 +84,28 @@ x509镜像包生成:参考编译构建子系统编译方式,执行编译生 ## IPC通信鉴权 - 在Samgr中注册的系统服务如果通过进程间通信的方式暴露接口给其他进程访问,需要配置相应的访问控制策略。若不进行相关配置,访问会被拒绝。 -- 配置方式:在头文件base/security/services/iam\_lite/include/policy\_preset.h中配置访问策略。1. 定义各个Feature的策略 2. 将Feature的策略加到全局策略中 +- 配置方式:在头文件base/security/services/iam\_lite/ipc\_auth/include/policy\_preset.h中配置访问策略。 + + 1. 定义各个Feature的策略 + + 2. 将Feature的策略加到全局策略中 + Eg. 比如当前需要为BMS服务配置访问策略,BMS在Samgr中注册的service为bundlems,注册的Feature为BmsFeature。 -一、首先定义Feature的策略,可配置多个Feature,每个Feature可以配置多个访问策略,策略的声明方式参考图2 +一、首先定义Feature的策略,可配置多个Feature,每个Feature可以配置多个访问策略,策略的声明方式参考图1 **图 1** Feature策略示例 -![](figures/Feature策略示例.png "Feature策略示例") + + +![](figures/bms策略举例.png) 访问策略有三种类型: **图 2** 访问策略结构体 -![](figures/访问策略结构体.png "访问策略结构体") + + +![](figures/策略类型2.png) 1. type为RANGE类型:允许某个特定范围UID的进程访问,需要指定uidMin和uidMax @@ -105,38 +113,38 @@ Eg. 比如当前需要为BMS服务配置访问策略,BMS在Samgr中注册的s 3. type为BUNDLENAME类型:只允许特定的应用访问,需要指定bundleName(包名) -二、将定义的Feature的策略加配到全局策略中,需要配置feature数量,注册参考图4 +二、将定义的Feature的策略加配到全局策略中,需要配置feature数量,注册参考图3 **图 3** feature策略注册 -![](figures/feature策略注册.png "feature策略注册") + + +![](figures/全局策略2.png) UID分配规则 -1. Init/foundation进程:0 +1. Init进程:0 2. appspawn进程:1 3. Shell进程:2 -4. kitfw进程:3 +4. 其他内置系统服务UID <= 99 -5. 其他内置服务向后递增…最多到99 +5. 系统应用(如设置、桌面、相机):100 \~ 999 -6. 系统应用(如settings):100 \~ 999 +6. 预置厂商应用:1000 \~ 9999 -7. 预置厂商应用(如钱包、淘宝):1000 \~ 9999 - -8. 普通三方应用:10000 \~ INT\_MAX +7. 普通三方应用:10000 \~ INT\_MAX ## HUKS -在分布式场景下,不同终端设备的硬件能力和运行系统环境都不尽相同,这些设备在分布式场景下,均需要建立信任关系,最典型的应用即是HiChain可信互联。那么就需要这样一个统一的密钥管理服务,来做到接口一致,密钥数据格式一致,同时提供业界标准的加解密算法实现。HUKS基于此来提供统一的密钥管理、加解密等能力。 +在分布式场景下,不同终端设备的硬件能力和运行系统环境都不尽相同。这些设备在分布式场景下均需要建立信任关系,最典型的应用即是HiChain可信互联,那么就需要这样一个统一的密钥管理服务来做到接口一致,密钥数据格式一致,同时提供业界标准的加解密算法实现。HUKS基于此来提供统一的密钥管理、加解密等能力。 HUKS模块整体分为北向接口,南向适配层,以及核心的功能模块: -1. HUKS 北向接口:提供统一的对外API,用C语言实现,保持所有设备一致;主要包括密钥生成API、加解密API等; -2. HUKS Core Module:依赖HAL层,提供核心功能:加解密、签名验签、密钥存储等; -3. HUKS HAL层:屏蔽底层硬件和OS的差异,定义HUKS需要的统一底层API。主要包括平台算法库、IO和LOG等; +1. HUKS 北向接口:提供统一的对外API,用C语言实现,保持所有设备一致,主要包括密钥生成API、加解密API等; +2. HUKS Core Module:依赖HAL层,提供核心功能,如加解密、签名验签、密钥存储等; +3. HUKS HAL层:屏蔽底层硬件和OS的差异,定义HUKS需要的统一底层API,主要包括平台算法库、IO和LOG等。 ## HiChain @@ -232,12 +240,11 @@ OpenHarmony应用安装服务通过校验应用签名验证应用完整性,通 - **应用发布场景** - 开发者向华为应用市场发布应用,需要用应用市场签发的应用软件发布证书和应用软件发布profile对应用进行签名。如下图,应用软件发布证书和发布profile的申请方式类似于开发者证书和调试profile申请(支持使用调试场景同一对公私钥对)。使用应用发布证书签名的应用不允许直接在设备中安装,需要上架应用市场审核。审核通过的应用,应用市场将使用应用市场发布证书对应用进行重签名,重签名后的应用才可以被用户下载、安装。 - - OpenHarmony应用安装服务通过验证应用签名,保证应用软件完整性,通过校验签名证书是否为华为应用市场应用签名证书,保证应用来源可信。 +开发者向华为应用市场发布应用,需要用应用市场签发的应用软件发布证书和应用软件发布profile对应用进行签名。如下图,应用软件发布证书和发布profile的申请方式类似于开发者证书和调试profile申请(支持使用调试场景同一对公私钥对)。使用应用发布证书签名的应用不允许直接在设备中安装,需要上架应用市场审核。审核通过的应用,应用市场将使用应用市场发布证书对应用进行重签名,重签名后的应用才可以被用户下载、安装。 - ![](figures/zh-cn_image_0000001051562162.png) +OpenHarmony应用安装服务通过验证应用签名,保证应用软件完整性,通过校验签名证书是否为华为应用市场应用签名证书,保证应用来源可信。 +![](figures/zh-cn_image_0000001051562162.png) ## 涉及仓 diff --git "a/readme/\346\265\213\350\257\225\345\255\220\347\263\273\347\273\237README.md" "b/readme/\346\265\213\350\257\225\345\255\220\347\263\273\347\273\237README.md" index d02604e98a8..e9f54ff7ea7 100755 --- "a/readme/\346\265\213\350\257\225\345\255\220\347\263\273\347\273\237README.md" +++ "b/readme/\346\265\213\350\257\225\345\255\220\347\263\273\347\273\237README.md" @@ -2,11 +2,11 @@ ## 简介 -开发过程采用测试驱动开发模式,开发者基于系统新增特性可以通过开发者自己开发用例保证,对于系统已有特性的修改,也可通过修改项目中原有自测试用例保证,开发者自测试旨在帮助开发者在开发阶段就能开发出高质量代码 +开发过程采用测试驱动开发模式,开发者基于系统新增特性可以通过开发者自己开发用例保证,对于系统已有特性的修改,也可通过修改项目中原有的测试用例保证,开发者测试旨在帮助开发者在开发阶段就能开发出高质量代码 ## 目录 -**表 1** 开发者自测试工具源代码目录结构 +**表 1** 开发者测试工具源代码目录结构

名称

@@ -72,14 +74,9 @@ OpenHarmony内核是华为推出面向IoT领域的实时操作系统内核,它

系统调用。

test

-

内核和用户态的测试用例。

-

tools

编译配置和menuconfig相关的代码。

+

构建工具及相关配置和代码。

dtbschedmgr_lite

轻量级分布式任务调度实现。

+

分布式任务调度实现

safwk_lite

系统服务进程实现。

-

samgr_lite

-

本地服务管理实现。

+

foundation进程实现

foundation\multimedia\frameworks

北向接口内部框架实现,包括audio,camera,player.recorder

+

内部框架实现,包括audio,camera,player.recorder

foundation\multimedia\interfaces\kits

北向接口对外头文件

+

应用接口对外头文件

foundation\multimedia\services\media_lite

北向接口底层服务实现

+

应用接口底层服务实现

foundation\multimedia\utils\lite

北向接口通用模块实现

+

应用接口通用模块实现

foundation\multimedia\test\lite

北向接口测试代码。

+

应用接口测试代码。

多语言字符串id

应用申请此权限的目的。

-

上架审核、弹框授权、用户管理权限时使用到

used-scene{

@@ -76,7 +75,7 @@ x509镜像包生成:参考编译构建子系统编译方式,执行编译生

when:inuse, always

调用受此权限管控的接口的场景。

-

声明在哪些组件下、以及是否前台还是前后台都会去调用受权限管控的接口

+

声明在哪些组件和场景(前台/后台)下调用受管控的接口。

- - - - @@ -130,31 +130,31 @@ 依赖python环境: -需要本地的python安装串口插件pyserial,在shell界面执行安装命令pip intall pyserial,安装成功如下图 +需要本地的python安装串口插件pyserial以及readline,在shell界面执行安装命令分别为pip intall pyserial和sudo apt-get install libreadline-dev,安装成功如下图 ![](figures/zh-cn_image_0000001052278423.png) ## 编写测试用例 -- 自测试用例规范 +- 测试用例规范 - 命名规范 测试用例源文件名称和测试套内容保持一致,测试套与用例之间关系1:N,测试套与测试源文件之间关系1:1,每个源文件全局唯一,格式:\[特性\]\_\[功能\]\_\[子功能1\]\_\[子功能1.1\],子功能支持向下细分。 - 文件命名采用大驼峰方式命名,以Test结尾,如demo用例:developertest/example/cxx\_demo + 文件命名采用全小写+下划线方式命名,以test结尾,如demo用例:developertest/example/cxx\_demo - - 用例编码规范 + - 测试用例编码规范 - 开发者自测试用例原则上与特性代码编码规范保持一致,另外需要添加必要的用例描述信息,详见[•自测试用例模板](#li2069415903917) + 开发者测试用例原则上与特性代码编码规范保持一致,另外需要添加必要的用例描述信息,详见[•自测试用例模板](#li2069415903917) - 测试用例编译配置规范 - 用例采用GN方式编译,配置遵循本开源项目的编译指导[使用](zh-cn_topic_0000001051580775.md) + 测试用例采用GN方式编译,配置遵循本开源项目的编译指导[使用](zh-cn_topic_0000001051580775.md) -- 自测试用例模板 +- 测试用例模板 - 详见测试demo用例developertest/example/cxx\_demo/test/unittest/common/calc\_subtraction\_test.cpp + 详见测试demo用例:developertest/example/cxx\_demo/test/unittest/common/calc\_subtraction\_test.cpp >![](public_sys-resources/icon-note.gif) **说明:** >Feature: 被测特性的描述 @@ -165,7 +165,7 @@ >CaseDescription:测试用例描述 >step:测试复杂逻辑时注明用例执行的步骤 -- 自测试用例目录规划 +- 测试用例目录规划 ``` subsystem(子系统,系统组件) @@ -194,13 +194,13 @@ >![](public_sys-resources/icon-note.gif) **说明:** >其中liteos和Linux仅不同设备形态举例,对于同一特性在不同开发板上,如果用例没有差异,则用例放置common目录下,如果同一特性,用例区分不同设备形态,可能包含内核差异,芯片平台差异,则用例以目录区分 -- 编写自测试用例步骤 - 1. 添加用例文件头注释说明 +- 编写测试用例步骤 + 1. 添加测试用例文件头注释信息 2. 引用gtest头文件和ext命名空间 - 3. 添加被测试类头文件 + 3. 添加被测试类的头文件 4. 定义测试套(测试类) 5. 实现该测试套具体的测试用例,包括用例注释和用例逻辑实现 - 6. 编写用例编译配置 + 6. 编写测试用例编译配置 >![](public_sys-resources/icon-note.gif) **说明:** >\*样例参考:developertest/example/cxx\_demo/test/unittest/common/calc\_subtraction\_test.cpp @@ -211,15 +211,15 @@ >d、使用printf函数打印日志 -- 编写用例编译文件 - - 定义用例编译构建目标 - 1. 添加用例编译文件头注释信息 - 2. 导入用例编译模板文件 - 3. 指定用例文件输出路径 - 4. 配置用例编译依赖包含目录 - 5. 指定用例编译目标输出的用例执行文件名称 - 6. 编写具体的用例编译脚本(添加需要参与编译的源文件、配置和依赖 ) - 7. 对目标用例文件进行条件分组(分组名称固定为:unittest/moduletest\) +- 编写测试用例编译文件 + - 定义测试用例编译构建目标 + 1. 添加测试用例编译文件头注释信息 + 2. 导入测试用例编译模板文件 + 3. 指定测试用例文件的输出路径 + 4. 配置测试用例编译依赖包含目录 + 5. 指定测试用例编译目标输出的文件名称 + 6. 编写具体的测试用例编译脚本(添加需要参与编译的源文件、配置和依赖 ) + 7. 对目标测试用例文件进行条件分组(分组名称固定为:unittest/moduletest\) - 如果存在多个测试套,定义公共编译配置 - 将测试用例添加到构建系统中 @@ -229,16 +229,16 @@ - 测试用例级别定义 - - 基本(Level1):<1s - - 重要(Level2):<10s - - 一般(Level3):<5min - - 生僻(Level4):\>5min + - 基本(Level1) + - 重要(Level2) + - 一般(Level3) + - 生僻(Level4) ## 使用测试框架 - 安装xdevice基础框架 - 1. 以Windows环境为例,打开xdevice安装目录:test\\xdevice + 1. 以Windows环境为例,打开xdevice安装目录:test/xdevice 2. 打开控制台窗口,执行如下命令 ``` @@ -292,14 +292,14 @@ ``` -- 执行自测试用例前的环境检查 +- 执行测试用例前的环境检查 - 系统镜像与文件系统已烧录进开发板,开发板上系统正常运行,在系统模式下,如shell登录时设备提示符OHOS\# - 开发主机和开发板串口连接正常,网口连接正常 - 开发主机IP与开发板IP处在同一小网网段,相互可以ping通 - 开发主机侧创建空目录用于开发板通过NFS挂载测试用例,并且NFS服务启动正常 - 运行测试套 - - 启动测试框架 + - 启动测试框架,打开test/developertest目录 1. Windows环境启动测试框架 ``` @@ -318,24 +318,28 @@ 根据实际的开发板选择,设备形态配置:developertest/src/core/resource/config/framework\_config.xml - 执行测试指令 - 1. 执行测试指令示例,其中-t ut为必选,-ss和-tm为可选字段 + 1. 查询测试用例支持的子系统,模块,产品形态以及测试类型,使用show命令 + + ``` + usage: + show productlist Querying Supported Product Forms + show typelist Querying the Supported Test Type + show subsystemlist Querying Supported Subsystems + show modulelist Querying Supported Modules + ``` + + 2. 执行测试指令示例,其中-t为必选,-ss和-tm为可选字段 ``` run -t ut -ss test -tm example ``` - 2. 参数说明:指定参数可以执行特定特性、模块对应的测试套 + 3. 参数说明:指定参数可以执行特定特性、模块对应的测试套 ``` usage: run [-h] [-p PRODUCTFORM] [-t [TESTTYPE [TESTTYPE ...]]] [-ss SUBSYSTEM] [-tm TESTMODULE] [-ts TESTSUIT] - [-tc TESTCASE] [-tl TESTLEVEL] [-os TARGET_OS_NAME] - [-bv BUILD_VARIANT] [-b [BUILD [BUILD ...]]] - [-cov COVERAGE] [-tf TESTFILE] [-res RESOURCE] - [-sn DEVICE_SN] [-c CONFIG] [-rp REPORTPATH] [-e EXECTYPE] - [-td TEST_DRIVER] - action Specify test para.positional arguments: - action Specify action + [-tc TESTCASE] [-tl TESTLEVEL] optional arguments: -h, --help show this help message and exit @@ -360,6 +364,15 @@ +- 退出自测试平台 + - 退出自测试平台,使用如下命令退出测试平台 + + ``` + quit + ``` + + + ## 测试结果与日志 - 通过在测试框架中执行测试指令,即可以生成测试日志和测试报告 diff --git "a/readme/\347\263\273\347\273\237\346\234\215\345\212\241\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237README.md" "b/readme/\347\263\273\347\273\237\346\234\215\345\212\241\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237README.md" index 8acae2fb472..ae6c3939d8c 100755 --- "a/readme/\347\263\273\347\273\237\346\234\215\345\212\241\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237README.md" +++ "b/readme/\347\263\273\347\273\237\346\234\215\345\212\241\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237README.md" @@ -106,7 +106,7 @@ Samgr:做为中介者,管理Provider提供的能力,同时帮助Consumer 服务名和功能名必需使用常量字符串且长度小于16个字节。 -M核:系统依赖上bootstrap服务,在系统启动函数中调用HOS\_SystemInit\(\)函数。 +M核:系统依赖上bootstrap服务,在系统启动函数中调用OHOS\_SystemInit\(\)函数。 A核:系统依赖samgr库,在main函数中调用SAMGR\_Bootstrap\(\)函数。 @@ -622,7 +622,7 @@ A核:系统依赖samgr库,在main函数中调用SAMGR\_Bootstrap\(\)函数 ## 涉及仓 -distributedschedule\_interfaces\_innerkits\_samgr\_lite +distributedschedule\_interfaces\_kits\_samgr\_lite distributedschedule\_services\_samgr\_lite -- Gitee From fd74719f814b9b556a7cf0078f8918f806ace1bd Mon Sep 17 00:00:00 2001 From: z00287825 Date: Sat, 12 Sep 2020 10:43:58 +0800 Subject: [PATCH 02/12] Description:Modify cpp guide --- .../OpenHarmony-cpp-coding-style-guide.md | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/contribute/OpenHarmony-cpp-coding-style-guide.md b/contribute/OpenHarmony-cpp-coding-style-guide.md index 9eaeb589e8a..5094d63aba9 100755 --- a/contribute/OpenHarmony-cpp-coding-style-guide.md +++ b/contribute/OpenHarmony-cpp-coding-style-guide.md @@ -143,7 +143,7 @@ std::string path; // Good: 只有一个单词时,小驼峰为全小写 ``` ### 规则2.5.1 全局变量应增加 'g_' 前缀,静态变量命名不需要加特殊前缀 -全局变量是应当尽量少使用的,使用时应特别注意,所以加上前缀用于视觉上的突出,促使开发人员对这些变量的使用更加小心。 +全局变量应当尽量少使用,使用时应特别注意,所以加上前缀用于视觉上的突出,促使开发人员对这些变量的使用更加小心。 - 全局静态变量命名与全局变量相同。 - 函数内的静态变量命名与普通局部变量相同。 - 类的静态成员变量和普通成员变量相同。 @@ -261,7 +261,7 @@ private: ## 函数声明和定义 -### 规则3.4.1 函数声明和定义的返回类型和函数名在同一行;函数参数列表超出行宽时要换行并合理对齐 +### 规则3.4.1 函数声明、定义的返回类型和函数名在同一行;函数参数列表超出行宽时要换行并合理对齐 在声明和定义函数的时候,函数的返回值类型应该和函数名在同一行;如果行宽度允许,函数参数也应该放在一行;否则,函数参数应该换行,并进行合理对齐。 参数列表的左圆括号总是和函数名在同一行,不要单独一行;右圆括号总是跟随最后一个参数。 @@ -506,7 +506,6 @@ int&p = i; // Bad ### 规则3.13.1 编译预处理的"#"统一放在行首,嵌套编译预处理语句时,"#"可以进行缩进 编译预处理的"#"统一放在行首,即使编译预处理的代码是嵌入在函数体中的,"#"也应该放在行首。 - ## 空格和空行 ### 规则3.14.1 水平空格应该突出关键字和重要信息,避免不必要的留白 水平空格应该突出关键字和重要信息,每行代码尾部不要加空格。总体规则如下: @@ -519,7 +518,7 @@ int&p = i; // Bad - 三目运算符(? :)符号两侧均需要空格 - 前置和后置的自增、自减(++ --)和变量之间不加空格 - 结构体成员操作符(. ->)前后不加空格 -- 逗号(,)前面不加空格,后面增加空格 +- 逗号(,)前面不加空格,后面加空格 - 对于模板和类型转换(<>)和类型之间不要添加空格 - 域操作符(::)前后不要添加空格 - 冒号(:)前后根据情况来判断是否要添加空格 @@ -658,7 +657,7 @@ switch (value) 减少不必要的空行,可以显示更多的代码,方便代码阅读。下面有一些建议遵守的规则: - 根据上下内容的相关程度,合理安排空行; - 函数内部、类型定义内部、宏内部、初始化表达式内部,不使用连续空行 -- 不使用连续 **3** 个空行,或更多 +- 不使用连续 **3** 个空行,或更多空行 - 大括号内的代码块行首之前和行尾之后不要加空行,但namespace的大括号内不作要求。 ```cpp @@ -949,7 +948,7 @@ void Foo::Fun() 头文件循环依赖,指 a.h 包含 b.h,b.h 包含 c.h,c.h 包含 a.h, 导致任何一个头文件修改,都导致所有包含了a.h/b.h/c.h的代码全部重新编译一遍。 而如果是单向依赖,如a.h包含b.h,b.h包含c.h,而c.h不包含任何头文件,则修改a.h不会导致包含了b.h/c.h的源代码重新编译。 -头文件循环依赖直接体现了架构设计上的不合理,可通过优化架构去避免。 +头文件循环依赖直接体现了架构设计上的不合理,可通过架构优化来避免。 ### 规则5.2.2 头文件必须编写`#define`保护,防止重复包含 @@ -1593,14 +1592,14 @@ base->Fun(); // 调用父类的Fun ## 多重继承 在实际开发过程中使用多重继承的场景是比较少的,因为多重继承使用过程中有下面的典型问题: 1. 菱形继承所带来的数据重复,以及名字二义性。因此,C++引入了virtual继承来解决这类问题; -2. 即便不是菱形继承,多个父类之间的名字也可能存在冲突,从而导致的二义性; +2. 即便不是菱形继承,多个父类之间的名字也可能存在冲突,从而导致二义性; 3. 如果子类需要扩展或改写多个父类的方法时,造成子类的职责不明,语义混乱; 4. 相对于委托,继承是一种白盒复用,即子类可以访问父类的protected成员, 这会导致更强的耦合。而多重继承,由于耦合了多个父类,相对于单根继承,这会产生更强的耦合关系。 多重继承具有下面的优点: 多重继承提供了一种更简单的组合来实现多种接口或者类的组装与复用。 -所以,对于多重继承的只有下面几种情况下面才允许使用多重继承。 +所以,只有下面几种情况才允许使用多重继承。 ### 建议7.3.1 使用多重继承来实现接口分离与多角色组合 如果某个类需要实现多重接口,可以通过多重继承把多个分离的接口组合起来,类似 scala 语言的 traits 混入。 @@ -1883,7 +1882,7 @@ string name("zhangsan"); // 调用构造函数 ## 表达式 ### 规则9.2.1 含有变量自增或自减运算的表达式中禁止再次引用该变量 含有变量自增或自减运算的表达式中,如果再引用该变量,其结果在C++标准中未明确定义。各个编译器或者同一个编译器不同版本实现可能会不一致。 -为了更好的可移植性,不应该对标准未定义的运算次序做任何假设。 +为了实现更好的可移植性,不应该对标准未定义的运算次序做任何假设。 注意,运算次序的问题不能使用括号来解决,因为这不是优先级的问题。 @@ -1911,7 +1910,7 @@ x = Func(i, i); ### 规则9.2.2 switch语句要有default分支 大部分情况下,switch语句中要有default分支,保证在遗漏case标签处理时能够有一个缺省的处理行为。 -特例: +例外: 如果switch条件变量是枚举类型,并且 case 分支覆盖了所有取值,则加上default分支处理有些多余。 现代编译器都具备检查是否在switch语句中遗漏了某些枚举值的case分支的能力,会有相应的warning提示。 @@ -1973,7 +1972,7 @@ x = (a == b) ? a : (a – b); /* 操作符不同,需要括号 */ 但是我们无法禁止使用类型转换,因为C++语言是一门面向机器编程的语言,涉及到指针地址,并且我们会与各种第三方或者底层API交互,他们的类型设计不一定是合理的,在这个适配的过程中很容易出现类型转换。 -例外:在调用某个函数的时候,如果我们不想处理函数结果,首先要考虑这个是否是你的最好的选择。如果确实不想处理函数的返回值,那么可以使用(void)转换来解决。 +例外:在调用某个函数的时候,如果我们不想处理函数结果,首先要考虑这个是否是你最好的选择。如果确实不想处理函数的返回值,那么可以使用(void)转换来解决。 ### 规则9.3.1 如果确定要使用类型转换,请使用由C++提供的类型转换,而不是C风格的类型转换 -- Gitee From 66ea69f1e0cbc441b1a79599e7b36276eb37e813 Mon Sep 17 00:00:00 2001 From: c00546070 Date: Mon, 14 Sep 2020 10:32:58 +0800 Subject: [PATCH 03/12] Description: update kernel subsystem readme Reviewed-by: chenwei --- docs-en/readme/kernel-subsystem.md | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/docs-en/readme/kernel-subsystem.md b/docs-en/readme/kernel-subsystem.md index 032eef563c4..eef0aba845a 100755 --- a/docs-en/readme/kernel-subsystem.md +++ b/docs-en/readme/kernel-subsystem.md @@ -4,11 +4,13 @@ The OpenHarmony kernel is a real-time OS kernel developed by Huawei for IoT devices. It is as lightweight as RTOS and as easy-to-use as Linux. -The kernel repository is used to store the source code of the OpenHarmony kernel components, including process and thread scheduling, memory management, IPC mechanism, and timer management, as well as the version package compilation information. +The OpenHarmony kernel includes basic kernel functions such as process and thread scheduling, memory management, IPC mechanism, and timer management. + +The source code of the OpenHarmony kernel consists of two repositories: the [`kernel_liteos_a`](https://gitee.com/openharmony/kernel_liteos_a) repository for Cortex-A processors and the [`kernel_liteos_m`](https://gitee.com/openharmony/kernel_liteos_m) repository for Cortex-M processors. The directory structures of the two repositories are similar. The following describes the directory structure of kernel_liteos_a. ## Directory Structure -**Table 1** Directory structure of the OpenHarmony lightweight kernel source code +**Table 1** Directory structure of the OpenHarmony kernel source code

名称

@@ -17,7 +17,7 @@

developertest

开发自测试框架

+

开发测试框架

developertest/src

@@ -32,7 +32,7 @@

developertest/src/core/build

自测试用例编译

+

测试用例编译

developertest/src/core/command

@@ -107,12 +107,12 @@

developertest/start.bat

开发者自测试入口(Windows)

+

开发者测试入口(Windows)

developertest/start.sh

开发者自测试入口(Linux)

+

开发者测试入口(Linux)

- - - - @@ -87,7 +84,7 @@ The kernel repository is used to store the source code of the OpenHarmony kernel ## Constraints -By default, the JFFS2 file system is used during system startup. This file system is read-write. If other file systems need to be used, the configurations of the file systems must be added accordingly. +Hi3518EV300 uses the JFFS2 file system by default, and Hi3516DV300 uses the VFAT file system by default. If other file systems need to be used, the configurations of the file systems must be added accordingly. ## Usage @@ -95,11 +92,11 @@ For details, see [Kernel Usage Guidelines](../kernel/Readme-EN.md). ## Repositories Involved -drivers\_liteos +[drivers_liteos](https://gitee.com/openharmony/drivers_liteos) -kernel\_liteos\_a +[kernel_liteos_a](https://gitee.com/openharmony/kernel_liteos_a) -kernel\_liteos\_a\_huawei\_proprietary\_fs\_proc +[kernel_liteos_a_huawei_proprietary_fs_proc](https://gitee.com/openharmony/kernel_liteos_a_huawei_proprietary_fs_proc) -kernel\_liteos\_m +[kernel_liteos_m](https://gitee.com/openharmony/kernel_liteos_m) -- Gitee From 575de24ecc1f9821dc52fa1e9a4a8689095497a9 Mon Sep 17 00:00:00 2001 From: l00518380 Date: Mon, 14 Sep 2020 10:48:01 +0800 Subject: [PATCH 04/12] Description:update utils readme Reviewed-by:litao --- docs-en/readme/utils-library.md | 53 +++++++++++++++++---------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/docs-en/readme/utils-library.md b/docs-en/readme/utils-library.md index f1a779ea0fb..e825caf8379 100755 --- a/docs-en/readme/utils-library.md +++ b/docs-en/readme/utils-library.md @@ -6,40 +6,40 @@ The Utils library stores basic components of OpenHarmony. These basic components The Utils library provides the following capabilities on different platforms: -- LiteOS-M platform: KV stores, file operations, timers, and IoT peripheral control -- LiteOS-A platform: KV stores, timers, and ACE JavaScript APIs +- LiteOS Cortex-M \(Hi3861 platform\): KV stores, file operations, timers, and IoT peripheral control +- LiteOS Cortex-A \(Hi3516 and Hi3518 platforms\): KV stores, timers, and ACE JavaScript APIs ## Directory Structure ``` -utils/native/lite/ # Root directory of the Utils library -├── file # Implementation of the file interface -├── hals # HAL directory -│ └── file # Header files of the hardware abstraction layer for file operations -├── include # Files of external interfaces provided by the Utils library +utils/native/lite/ # Root directory of the Utils library +├── file # Implementation of the file interface +├── hals # HAL directory +│ └── file # Header files of the hardware abstraction layer for file operations +├── include # Files of external interfaces provided by the Utils library ├── js # ACE JavaScript API directory │ └── builtin │ ├── common │ ├── deviceinfokit # Device information kit │ ├── filekit # File kit │ └── kvstorekit # KV store kit -├── kal # KAL directory -│ └── timer # KAL implementation of the timer - ├── kv_store # KV store implementation -│ ├── innerkits # Internal KV store interfaces -│ └── src # KV store source file -└── timer_task # Timer implementation - -base/iot_hardware # IoT peripheral control +├── kal # KAL directory +│ └── timer # KAL implementation of the timer +├── kv_store # KV store implementation +│ ├── innerkits # Internal KV store interfaces +│ └── src # KV store source file +└── timer_task # Timer implementation + +base/iot_hardware # IoT peripheral control ├── frameworks -│ └── wifiiot_lite # Implementation of the IoT peripheral control module +│ └── wifiiot_lite # Implementation of the IoT peripheral control module ├── hals -│ └── wifiiot_lite # HAL interfaces +│ └── wifiiot_lite # HAL interfaces └── interfaces - └── kits # Interfaces of the IoT peripheral control module + └── kits # Interfaces of the IoT peripheral control module vendor/hisi/hi3861/hi3861_adapter/hals/iot_hardware # HAL for IoT peripheral control -└── wifiiot_lite # Implementation of the interfaces at the HAL +└── wifiiot_lite # Implementation of the interfaces at the HAL ``` ## Constraints @@ -61,7 +61,7 @@ The Utils library is developed using the C language. - @@ -70,7 +70,7 @@ The Utils library is developed using the C language. - @@ -79,7 +79,7 @@ The Utils library is developed using the C language. - @@ -88,7 +88,7 @@ The Utils library is developed using the C language. - @@ -101,12 +101,12 @@ The Utils library is developed using the C language. - **KV store** - Obtaining an interface - ``` + Obtaining an interface char key1[] = "rw.sys.version"; char value1[32] = {0}; int ret = UtilsGetValue(key1, value1, 32); + Setting the interface char key14[] = "key_14"; ret = UtilsSetValue(key14, defValue); @@ -121,10 +121,12 @@ The Utils library is developed using the C language. printf("file handle = %d\n", fd); int ret = UtilsFileWrite(fd, def, strlen(def)); printf("write ret = %d\n", ret); + // stat int fileLen = 0; ret = UtilsFileStat(fileName, &fileLen); printf("file size = %d\n", fileLen); + // seek int fd1 = UtilsFileOpen(fileName, O_RDWR_FS, 0); ret = UtilsFileSeek(fd1, 5, SEEK_SET_FS); @@ -133,6 +135,7 @@ The Utils library is developed using the C language. int readLen = UtilsFileRead(fd1, buf, 32); ret = UtilsFileClose(fd1); printf("read len = %d : buf = %s\n", readLen, buf); + // delete ret = UtilsFileDelete(fileName); printf("delete ret = %d\n", ret); -- Gitee From 4ca3797e73e6439eb1ce540588b2d6b2f2957c29 Mon Sep 17 00:00:00 2001 From: j00421855 Date: Mon, 14 Sep 2020 10:26:41 +0800 Subject: [PATCH 05/12] Description: Update readme for security subsystem Reviewed-by:libing --- ...6\347\225\245\344\270\276\344\276\213.png" | Bin 0 -> 12558 bytes .../readme/figures/declaring-permissions.png | Bin 74174 -> 0 bytes ...\345\261\200\347\255\226\347\225\2452.png" | Bin 0 -> 9833 bytes ...\347\225\245\347\261\273\345\236\2132.png" | Bin 0 -> 7247 bytes docs-en/readme/security-subsystem.md | 80 ++++++++---------- 5 files changed, 34 insertions(+), 46 deletions(-) create mode 100755 "docs-en/readme/figures/bms\347\255\226\347\225\245\344\270\276\344\276\213.png" delete mode 100755 docs-en/readme/figures/declaring-permissions.png create mode 100755 "docs-en/readme/figures/\345\205\250\345\261\200\347\255\226\347\225\2452.png" create mode 100755 "docs-en/readme/figures/\347\255\226\347\225\245\347\261\273\345\236\2132.png" diff --git "a/docs-en/readme/figures/bms\347\255\226\347\225\245\344\270\276\344\276\213.png" "b/docs-en/readme/figures/bms\347\255\226\347\225\245\344\270\276\344\276\213.png" new file mode 100755 index 0000000000000000000000000000000000000000..fb9c3d8c66673f5c5b69718f59bb09dab16e48a9 GIT binary patch literal 12558 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 literal 0 HcmV?d00001 diff --git a/docs-en/readme/figures/declaring-permissions.png b/docs-en/readme/figures/declaring-permissions.png deleted file mode 100755 index cb34dac621d30de96efeef18f8b5d4519ab3de8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74174 zcmb5WcTkhx7yl`uNN*w?X+c`(0@6Wh=tX)HrHDu|^cIvNO$0*dO^_lTDbhhYBmzPx zf)ptM=@39V*$2O${muTdvorh5WSE4f+}wNax#ynu>m*uVSDlQQk@&`q8)Og-6~h}h z@CJcb9U%emiFw$p8}J9u(@_2Kjmlx>b>Ph{CnX)F8#lhhlU&%{2Hq2SXqbE6xIx~1 z{le>a|7?Hb2CfjIqV&YiW^3+FTA^yPq(^si=fp_4%dGfrMrU=URBQ|pKHoD%sD3D$ znzn|T%56@Ffk@snf_owyH}maPLxrV^$?tB+bZkfs$)x_0lM@#6qVUdL!_5Y6Rv0x6 zcjy|o88@5_oto0-PS-l6hFmPOVwyKAU0z%tjjDLK#m@PWMv#>2OkGT+rSkRBUG&cT z0R)#SXl)_lx%wTtT|ZSx_4L1gg%Tx!P_Kuxq%d2xBZ7fDO-}xsmJ1fJ%T3$V(}T5R zvc|mY!>;ss7bu!dsQFKR4N9;DVL7*9f*I6L6NE#a)!oCHne;D?|9}~UR|sy zH0a2XT_2ebCpF;`Ti>%~8iLlfZ22fcPP$QdbN0fqpI9$H@AzbkJXc##WMaHNByMX* zf&5PvDMHM0t`3V+)#Ww}Ff9w0Zui_k|7#QP^T+6lDJxH%%gbIN*p~~m!ljY_XspeX zD{N{<-TLIa>qCd}u1%8F*H`9JS0~GxecAo;f4^X6Jx5%beE;_tXYDjl+s$Xbo7uZT zYc;2HTCVX3N@PBt@x%&VTezMGpYoso?>w9(5 zuVAvYMfc*r@q0s*WWQrC_vd5S#&ktIU=ApAr|gOH|E{G4u63#tw5a=R1s&wVSnmdy zPW!KAqufKze~G%!x3=R+{_9X}Z=h-ZYKWZ#FO}@M%5C}ou4mX(ffE&PD^6AX&kBsX z<2VL0V_LsWzxJ(l94cM-cDY)ujeacQO*$qTe0G?jhD*i^nH?Kx&XNGxcCm4Hq#t|B zebJB}wD+&S8~?Af!EUthf~~5?r5J2O$7RLEj2w-mfJ)WLsp9j=t$2?9ksZ;L7 zq>xXzu>squkqJ}V;4qKA&kFrFP*zAR3cYHfqT35J)ct-*zYmriGS+%3_%}EccY98@)ewb62$0lMJM*P&I zw(HQy%!P~9vyk1k<4VllrY)|y{pP_Rb%o}$RJuQOZlM!?qpEbt!N+qAvis3`;5+yI zo(`Rp*q(GjH%f|ic}Npsv%Bu&Zv+=XzQiJY>;LcH=IR{zL-1FJupo7eX zEPeX1lG*TsBFVOr+5Hc`V41CI<k-}+2@uS> z$8UnrgJF}B{R*5qF8}iPGka>wW&SO*y?l8JSgTF@LH6zwto-F68l?a{z_eyr5N0=! zw)S2fv3amqdRY>t@9XhOS=4+FsYH)k5jWYfI51U-xWY`{d{y`MtNADjJ)v?tzx4@wk)tGuE7o6>igKs=7{Duhp8S+IEcRY>!G!jW@sV zw*8$cgU6S(?RZ4WyhnCf??6+rc@)7fyu`@6*5xDb$o*0B-k6%n#Z?7i_+1!#kA-kp zp$W3l!g{}zMD>(w*X$B*XEA>G8LI{NWRped-N&TL-n;}XUYaj*98+OwvNBjBYaJvI zJQm8v1iALRuO7|50zsN;YsMInIKmZ9)>Dns5Zo?qqJ^IdgU@>M4V#NQ&HWUEisiP2gS(mL^>+fM zT1>RCJ`F9_N2nV6QMq0Jkuq#m@V1M)A{?w>)S)r-u)>2X&0BkMKkPU9+4fM?0>N#t ziF3Ume=c}V~sfZf0a z%fS&cZbB0O8kLB_-A$Y0W~PLdQFT`9V%LT_pI>LV5ZrOd=D`9mnH_*Nt;B64XjN=; z#u5HpvWjS*O)=H1#k_a7(za&c+PwsD8KxXwFG>d3t#=duS_u>3g}}K^t8iyk$#vyg zt3|X`dTb-W0*I@uddxOh2WorP$#)=P{PIqTuvyH&_x{65arLW2ewWcmvmY5o(H2xC^5E|CMDi_9W6}0aMHF+ z|8IDAo@kBfn%iN2krn@2>@S~+%O90YJZ52JEJdejVC^UZ&8&A31U)?z z9hVwoAIwaaOe|fEakbc29MbzecTqt1V_u$4$G!BV%4b5sZ`nt(;Ys;Is0TO%)9N^?5c$K^Els|bJFne7dqtWW=VDAgK^0YrSSR} zV()pM>_}|1o=sH!3v256%%9CB7ACov#Yw&cDF9A$_NCuvS1#?IaSBz=&b{2eYX@~Vs=QvXnaGn;KsvTFD(IH;@sP=k zcvI1n<(*{W6`nS*SPCt46B$Y-JxN-j$3fqs<|$c`U1NJTmdeK-uxih;Q*OZI5kPUb zn&h5=j2!peUBY=6@TrYc$AxCu!(XnMQ1BBI&na7Yfw!4So#s3}V#x1uF@!pQV{o*dEUqu+}is#>Hr>VF{vuz`Pq9p7HQR9WUC{c&EsxQMxIUM57 zzJ3}nksi291yxqm#pmeOG$tpPsa{Ub98$dSql5RJ#F(}|i}NdIs-Ya*pUO0)?087* zf)Z#bhZZ?wDmLR=A4V^*lTN-QqYTeJb-nhyX1KIEkh2APljeh)GBsfYYYN(|0DW8G z^5O#q_FTk9b`B?byUS1l@ayJWwoGA&#QMpj^wfXjCk`0-*x{#jO&NW2lX4z(c3a9_ z=wA6$+roj0MYMH@{Q<)mJ6yV-Icze3J?(UZRo9oE2nxT!@f5YJ9TSM3Q7f{Pf1uS?&R;NhL-f~Av!h~N*)_e)tzhz% zx>4EB%d6%6PagZkXpQ*cKlh*XX_*>L58jxP_;sVjF8C=D4vN6jtvl_LY&Wp2Jhlig zt7_Ft8#y1WbdOSJkXjvPEM;jbiuV2kyOMlRFqB6$9O%80gN|y)CRdGbeq)}JOnkU% z@!3~vFhKH&AJ+fsbj^Ld#)eKm2m8mExoY~+=fw<{N(Nugar=meS}puPnf>hWQ@<`$ zbd=+J=er$}tld2>W4-lE$FhkqUYq<~^OXcaLGQY$ZYlhJ!`fkyR7jcLcA9OK%BbFl zPvggf(h*w0mZkfprtXi($Tnkmwcv<%!-dMTz*;RZ;@2mJWCCJe=$gzzQ|n2uQ00ik zq=um^`Rzv+d)+P9^FfetIGvk z8~MY+PcmtVFz=ThDRvTY&8e|*HW9)9|WEXxqxAcCmFt5%01~;*e6;Ugd zwZAMqYm`*$)U@WmxzSbf*|y(zfuY?Im6f%s(25Li+!)4e39@)-7ff^Qd!d2NU}YK> z%(5O4lr5?0tGLo}zp zkYSS6%IGwvf4@T!uhK%OB*M|87?1=-EvZBv2gSEYp(Oc=vX)BiWc82j1+w+o&jTK zR^-({yR~eaOu3GeMF>?+bzB{Nf>EU%(c3}7j#MzqZ@eT^&Cq$T3JGXE*fP< zuaVlKo7{spEz4}D@*uU-_>r@oNsj&^PdE6Ucl4%%AaD5^Mqqzyk3K)f@Z5K?vkzu^ z@mc}cS(m|mPA*>evzX2eJR%rfr5qWuvcE4Ysc6JK*3o}I@QGwU!^_-_BvKcf00AnE zPvVBSdR3$1GLwo@hcY?)pBu>`u0LinvA)`zD59nk+;>kQNQUw2AMHN8a=%Sj9A4aT zV$o~QS}JhmvE6HX6AfM&Pi2Po>Sz_+xdBR)*^)v z>emLpeQMUjr9bH^^PcLw-FzyI;AJ#=0^`1a+}J-s4lyZ)l4u-D{mH7t=U+KZRw^BOGHs^HUTlR#5S}qd%Q*H`sE`2DxdTe(-I5 zekmZ&B)~(hG9e@@nXB(1#gVG+QV^xga2j97^C-m^IgJPdwZw20<0U)qq&?~DqWX&4 zz$;;5^FrIT#llT}G&px>wz~4RH{RYX+M=ZNJxV-|2<275xSu_o`}UA8f=3{IRS+V5 z*ECy-NbbRGmiEY6L9lb1y;_ik&$g~Kel$7-L z8aGf+X7Qc1gbN{1**_0ct)LLO8*>&BW!2YNAXAr6 z?1R62XxdJapkbFI&&&c5Ut@8ikobXebK@ z4HF+|zN1F@l^>)1`<~y<7`j-LGOPbu)nhi9c zhexY2i1N0BHj&{wp}=Vrp9r7PW()x_&FCnS0cgUmb~l|gk)(VH7%AxtkwCofW`UR9M_xlSUuLzX0- zieIMV8*f|w`aw>5e+cW5Dk;V}<3KJ^-bsw^6G8DJ!H}^n)k%LKg!}eD4_@L?@ti*I zjDD`=DrRirZQPZ)Ub&J{wZt4f``wIrg2l+Z3DWq+-8#oHXu8b347_m?$#5#lH3A&njx{9 z>q;h#0~J0!75H6v7;@1JW8O>syf4(a_xN%nMFhCBDmT8SzZcS z60Qu;pk}^(1W`GaCTQxxd9p#5Cz8OwzzTDk!m@-!eQ_%w}-)T zk9g(w*`GMT;sa+tS-co?8RA1t|L)KEoV0J(@+h1I%CrOCW2RoFv~mk zM0;cnQR1{zH=j1i#i7W7O~t3Zr94Q2eshDj=4FBUG?NGW<86(WPd}+BsV517YBkNx z2(_&_C~u8CR)r530XwL1ca!X9nmbyC*_`+7lR>;f=}!6~ZA`x9P8>dqgRywASh4B^ zwVv>TL+^spt$GoY0#Olt{i}4=&9vDe#p_)8f-e-57 z=LJIBb8#{dII^1!;$J;;nrJ%dW-%29Vv-|l{rtfpTt}+<8xI3ZTvu)0n|tbm zOe{uNLLM2;h$7`;uHt1QVd>&wcP|vNj@FpQlowkeB)!HDk@s+#y>z+O?R`o`OSOkK zdwR1f@g3G6k2vmoRJZ$Ml$K`A;WRRZNt1XtKYm=n0BgUu@fo4i)Lmc{9?w%|V>6;~ zf|TV-H$;_Gu- z**qeog%rV^$QZs2$ZXC%aZd$RY<_8P29?ZGCcLGRME68lopL;Kn~9zK237<)rr?!m z)z%F%bv+j`m>qz$Q|9?N1lahMSAQ28`y!%#zt?FSksJ}8&?1rSUGiZiIynF0!mk-9l@CM01~eN_1MCQ&+z#6~QP-_qY2j3A9OO&)Am zvhe6(o_+h=hDC|$z#l&S;Wlo5EH?;(xN=U-2v}DCtv7%obI(;EhV4Di6Pg8GTk`NE z{NV+AJZ?Xl-oNBE$tLyBSVH6J?7yxxd8Vo1RK(M`zEu>!lk4?KmWNoAv-nj7q=u50 z2mKnX1v6)iLfm^!W@y3F{63O2q}+lS{gA#_D0r+JOZgz8FV|U)IBX2zwg{o<)iNNV z8)eI?i#mG?HE2*fTKZT(Ra3LM*1^idwn*={@{k@=nuTH7XXDefJ>xOLCz|@WKf(vs zb11)08Cs&BlHRNZFZdZDKuVleBc{WApdFgT+u#TFd~AEbhu+sv{#<&T5}ahSJ9P9D9Q62ih793+!0$#m3Tq#{B-9u^Wc zrGNQdbkQ?pXq>8neuGcM0a-WlDK~LWHNC2^dwF;12h42ECR!0bqgB*@_&ESQ44n)+ z;tgK<<0fht;`mgtMax(0=0E}$5A(KewsY0Mle4-)f=@DFLECW1$$D`r z;ELc38DMBC>bQkLQs=3hB~ySP5A5`9%2|kAU1N$#U=<1+$e>68r6x$3fh;OAc`TS5 z!L#)IUb>s3l!sIA7i_>3XoLv+>9BR?;|GMK)}2nvObo^AD^R)YqJuwYWJlFkkf(Z; z6H;HEG;N3W)-VecjaVR5pH7n=o@*eQ{EYX$wMI}!lEb%_Xg$(9ZYw#ldGTGAnKQN` zmtj23L?^w6GwcoN!-NtY$*A!+6p)uf1L+Fr>;ZYnu@@uAfhTPYG4D--IUz1fSDUQm zP}fdDH(HB6SE4tCd~uGljSxxrxq8BfulW>%z80m{X;KD`V^1f0zeTsSb6cHCB*zpO zy^G+N$H(VZEtJ`!4~t`dpB|x~`n=xwGVHe7ob5DyLiOjS~xN?mwu*JSL!16xo|;hs+(7gAWfeUnYEV z*_2%=cncj#^i@cQrO^`m4qu!)nDdw+vA?^?`6E>V$mI`zNL#=1_`(K$ePV-1#{1S8 z$!vJZeE;a}Y`NXg2k91Yd6H3n5P94havk|1kfe)RT3{ezmaYrl!a?XCz|(AdTPcWR zMd6<2UVP$CSyxpvwsO@ee^!u`E690#f8W3-Qa$@>5702`^Yoomt#i({-Qx>{Xt0H4 zsOWn~5%fLG%rJ^**$W?LZj_Mv32~*@v4{E)ZypHJWQEhK=8qu7&VmGm| zUM(2IUv|IU6L<3HnZJMVz|lB(zDih3O#CXAZ%gPKu;Oe(xil@3z`^Z)HvIj?uh>vC zJ%#1>76izpB!fF^>Ze&WVGM2xaZWSe&0LK$MF)^?`JSzsTAZJ{zxWerNean;*^j0X zD?e8IDwVH7gLSru=}l`OS_$bm#rrhrrAL26e8-t+>VVWzy4lXKue=3;NtKb>8S7*e z&QMz+Ozjf8HxOFw*v)ZIm-^$Q@Lapcy2=nSg=M9S^pt&#dZEX>Bc!U26jmHna_H0^ zQJF>GN*2yWE}i61VMG-!1jsR;@^Y}RNTRJVr9a5eEP znNgZC-qLd8$q`tj-5-j@>l!0;ayVg%XBM@9yD2acFCX7!)|Eo>)?K(7o$e zXO~gHTA&#)b!@X$Bn|2NI)d7rFOP;u6i7H-#j{5pdCpvvVZuv87i21pgas>bsw2=Yl&)LX;K98y(am@j|D{0UFNbWr@acK$>m2P@oN1`9S=PV9vL{r9Z`vBHf4(a?0U;itpYM4P$BWaWPQ#|OWD z2-8ZK!^fk|d8AbBol1wOuwwI1p6!12DmUOeR_R!?K0J_20e97QcFJUr%|(20`;>UZ z?oZGE9ky6WCaJb6Et>b;F*5m~R~M0kftmOLPfhhBli-tXhrMwlRO{!++lx*-<%`L7 z=HS!IUDT}plh|&kErZEmOf{Icrs%Po`9Ou0K=D<=vc8$NvEY(M(>=S_V2ZMQq`_X^ zMX8lpW#c57>ey_TXK zFzN~xDFA@r;8x(gA3>LL&(5{-&wv1#metj}u4g%{m!2?FL9njBIdgCmviHqv15%ia zba$x@v$xGJyWGDndoQIkxSTJ?exnt?PT4AV`~9?s7&-}OzidNEr!%o_Jk<3%VNxYz zA{ujjIjlyTNkc8+_$cTbO{u|Y!GLnXTP|TvnzgZp_IlDgcmfoK;*Gc~he3deAn^HB zLE4YQo2XPZdZj>{vcL8`G}j&T!P8Q(F| z^us{#ZlJ>+KC7A0&PtN{(ywQ+;uss;8C4U#;*%x~t>nO8zmR)V9r7I9^3cR%J}3M! zrg>owI($NmD9!e(tIj*Ao1_8#^d}qKMW%M5$LH?`V|7wM-h@VR68C;S`W;xhqAV>o zXKf~y>6IN^56xiUywXIBz|J z#sK1hXw+e7n&ah3zYB7^cI5LcwPuzT&pO}nL{*9sh~}0UfBDzVXCC#!13{0;vW~(59FiDptXM_ES9O|(8fm6>LCkW-&lhw%l z4#5p?T{DX?4fZH!6Ut8~wBbh3mC(Q~gQ7@dh3qUPf+l+UCr$K^NZT(k_iDqwSCVK2D3QjLS|!*fpLeq& zslyndB5z8d1ZGsJkBr>pn+8Za(9aWOF0(w5aQZzye&=-BBVk&l(DrBgQqy<($&%7NJ0}(hrI;>gJGeTx4RLEpU-`Jr)5PXPP`=|lLde;5co{{QD`?;-Gx%oWi3fRuV2CXU%n`FBc# zo5%6&y0{zu@73{)=-HUjYx(`h4WkrLcK;t)BVWO0_fay|VJENRPq@kq=vuy*{v7Sd z_L>6DUrw<#d-3P>>B3an=5TwKX8O}%-*(S7wU@cUe@iA;+Rt|^aSI1I$KY#dL+X61 z7NvY2o3ODe5iq&pXX+sSkGBH#Js2c;APH%H^0NXLAH4M(bxm;8EWplcrli7jMUbGDdSlhynNw|WO>2EDk_b;RmS0S| z|D(ywfYbf~Z$GN@fN}Z%*U|qkP6(FA_p(uk*-XatUm{3s;`Ut(#7h<>r!v z|B!_|J1{UDS(5HHZCcQN7GJQXYrV15=}HnmLyp%NmZa9n90?y!SQ=yjT@ z*|iCi@(EoT$MerbC*Se9Laz4XL%;y4=;=REW@B8TVpMGlEYF*`Yjz^bd(s>;5_09~ z4``g`bL0Swg+1=T1$!}mwQc-g8=?VGlrT~CMFo}JY5=F!XvmJUNXEPEvwuVQB8{*J z47qvpRg2}n2TITY{q-LWsqz2T^$2c=OB^aifd85+B%u=o~iy=$VN zaNSTQCcyr9Uz}V+o$>%-HQ9Zu9iVzrKgG*8X93`+chYd*{O2TR>`b&W8ISY~To&S*ZNv23)hox~0I00=YbFfZHXz!v6vO|r4VXKu{KYu|FM}r~EP%;1I}6w_ zWd-O#CAk#p=o6c(? z5;|dQnjA(h{rL(v6>>QR?IPlS@@$i?ulYt3TPa#kp^Z8gFU-`ol_cg>&+!QEVgz%I z00u-?k)$jno7$KIAVx0q8n|h%I_u$<|MCxTjbw%S$!#f}oelcft$hiA_uWxA>BIp1 zkg3$k@32j=*N12Bz$E>dcC8c_nT`M|6LchSzP5EQLI@nVU2p3DBkcYY8z6=>y-kAf zXy;DXh~@9jD`-OT!%@CMd1ap?dWSqaPW3`~NdPJF82Oy_{HLZNz)uC1I$R@Z$=3;F z_^B@d;swas?6%|(tut(<`xVTIb(lv(bgx+1z1CRLwlBDfFz#<5sfJ^rWyZ!8Z z4hG|)a2%L*FVhzG8{oVYn*gBC>R?^vQ>6T1-bAQ4CL41b=5%6h?*}ydV1pOJ3UFjD zS!2^9A=h)fuLr?B=s6rubNtt&21SX{##Bj#k1i(=j)H-kGhbPgS z1|T+3%Nq)3iAZPSRx}Sc`q-I7drY>SFfiIm-kiEe&&d17OB=u zkKCk~|G_VsHGm$(F;2a`bKh((am4{3P{K|`M=ra*JIw|0NjmQ-T%HZZ*Ws7N-{#o? z$bll+(?PvT{F@+N7W?ptDza!j`l8~AOa{CfLhFEl%WF9H)vF)Y*9LD!eDz*zn5P3U z^-YTfA=rMbCOL$5lGpYypDwvyc2(paxHYwH%VFYXl4PdJ{86QEGQhXJ#%#NX1ZKB8 z1Q#w`)43D*h6MerAwm9KcXRY}F1MUgt6)cE6HuLyBBtK{mmBbvKwt>@P#s>a0H{&! zG#oR908s~S809vroylJ;QcURxgU4_HgJ8WpZ8?uk`G+-9UmB>h7#Dl%l+3S6H1J;I z5*z!0V0D)|At0nhp#V43Y!g*y7O8MH8eb}&Y1bv#vSoP9E|0HapGu!JjRd>-_ww5q z$OGMBlE3C&J0!u+diEm{89`@bcF7?XIgq&{K5-7*w=xCSOJ{2}rO}%S-C)0S+dKpU zU&{@F4XuS-^oKklG4q$aUYFBI)5buMJfot?UuLW{lA?-=V{sZ#*Gjr;2U=Dy4ha6y zv6*2%s7$67Lax?ACWnN&b}A3#mZ;)C_aLsW7I5bw7yyKRTAu}wrMd6npiSCD)_^~G zM>rOMGQ$=M1(%SLkr|5y&!BT87}b{I+=HGEp%c~b`-eF#sl6N!r|{hE8ZUM>rOi3g zbE(sapV+ptG^%bBy^vzNe_G<=EFOG*%|v3Zoq|g1ygKmZw-L`??g7BBITu+bWJ_=kU`_d& z(r2D0p8niZPW<(zYv%c7C;t7tHydto2UQ`LE?ffPp|WQ3;1K{M_C@@;x+Y64jGS`( zR~Z4IDrLfVs%5_3A`sk$66$ExrAoRxveU9_BcNd-=t5@j=wmilU=Nl0cy>*>#!7EM zoeS+C^sXQ_Xg}80O8#~*I&-^Be(bR}KebXuk+{QE z`*B;>yj#Qww#c&;*e66(`$bIOvE8W#*~UIMB}9_T*Yng+a3Ap*{i<|RrdUC z@*3TnOd5R|AH~&co>mysm&+KXZ}cI`heQX^W%Tk`p$dYV8e_wzr%QT_z5qeJ(ckao zym}yB<*$>?SHJ&`nScCu*PX!{j#JMvV)(8_MB7tLEziN6e!)U;&QUjq+B_B%Kl|$m zP>j%R-}wLnrxCcl)8#gHkFhwB^F_L zr%v1Zks$L)7f#4XvJl&M8-)Q%gPQhh-#R63YM&!x6ZoHldIbliyI4ncZn78M)iIyR z3a#S_a0!!0@`8+Qaz-VLsevJ%2k?0dxCVzDS$p2@eVut(w(;(}S!mH?Kq0Z?G-3)L zkOSNT#jKxC7q{j&fvhOpPAs<|rfo!fTvEyJ1Hw55Po#wd&)=GFjhO^rJtv$M%2lCVzfFTQo}48%#Hn?O&GBCn&I=kl>xACp9(xR* zq)V*z`wIk!_3#2-6PG-s;q=e)@JH;IY!IBzsl~D?T%+YWbOkKuC+Kvor0oG@w5FZ% zqqqi=#ZJHPinH+Azquq7_#VA_vCotct;0W{$iQ|V6c)7gK?fC+IhVI&WK)jX*BIMm zm=vwReVG?+Cq?ZTqCd(2H3*C&t*~drh=|mJ?uN@> z6TGScrPIc)%cGNrwZ+?z7FgDD^8j%U$(=_>z2hI9z>G$57u7MXx{pUWIqgxJHGg@m z?4L>-nzQ3=W|XVi{Tv9pB}*p=6>A%)8j>2I6d}CRdUNs3Et8aWD^T+5YC$R)_>mjC zf<{rMI=X6}PW7ez8{2(z1&4K{Y2O{Bip5FdBqEvCj=>|LmK@nJ*Fsq3dsatc_k~i7 z-00_wLDl=iFmGEE?lP9V|JDy683nH?PM`{7NdYsNJfEkz38vjOUFBy3^A!w0u{o>? z*m#dN>>H3yd`3)N(Hf@}D8^pYMuoR>-cs=-tS+aKL;;;@x4+3S9n@z%6A`Nt-lvEeHPExOT;Wx&V;luYZBaHXUXcE1;T^e62BEa66DOd#S&c7Y0 zo7-$Y1P*o7vGBE5l^*PqW6cA&4RALjrZ|wy z$KO0M3neE-HDjBpxi%b@Oz`mm-)_{}`lQenVq5+|&K&8}TIV}Dq~6hbK2I~F1=v2> zsD@}l%#eS%?x+2o{4i9*&u6h`eBqe_0S*tu#?w7*=l1_Rl35_v^G$2AZrVsP+~xii zaimn${PX8ZwoWl^+m3e?zdCEMm-VM3#;7SPM3PZ-Yx6Tn5%bOZ`L@IFotsPbtAD(c zeOs4Vj@W#w0)JL_-`tD~RKB?miR}hi2^3i|%Z^rAZLJ*f#d^A8ddnmRgb#KS0(O(7 zKh77Thi8llmJ{88mX0fN4&I1RD`^St-Z57BEkPMcYB>g7Q~cmsd| zA4v;GviZf29qy}WjPbMjWCVnaDiK6|i&kt;PG{*Lr=^VSzVpfvOH6F;;P_^dfsMvt ztNN(b8l&SLV5C!g__wc(J@F`RwxFAx!bWM`_vc%FRI5zpRK64$Q3*+R1=oD0_?zl| z6t6A;2zkBr?Jjz&1}|HrbT3}=YwH#?os4)smIVs~^XMT*Tv!p(E}ibX%!UQlV_)1L zeYLmDXrdGe@vg+S1XoaY1msU7UnmksJq1d0${fBCdy&y%{eaY`Rn=b(Ws?kM`QPaPE1vke z`YqJ4q}C9F3M@(gP`4V+Ns38IX?Ufd+L3)0sJwe7~4Z z>h{2N;}xfhodd%gS>8J;1WTUn6#<6=q%du=GN-kv2M|8X@C|V`ZvolJiKI<9h}yJI zS6)l9bl*-&GjaV{Y zx~`4jA^@rFTP}!ZyRf*dW&2i2!uHl)$lhA)JwrH(;rj|NT(%Xw-h9->-W(=%vY_`xnX*(U1gCdi?>GaNJ|`lfEHoU`UH%NM6ob8ER}hLO*^O&qT1 zo*le?AFWDsMUz1aXLAtKe-O)_yeh*@n~)s#Bu{|54R;m|}N5f~vp> zvI#)w@Hrn$#_I4Eacs{P$R^GJ+e(w@H}{q)J&fMAZ-Z6oE9G z!&m(Nz(HEr>(W8*TB5$}6n~$}bxo5`;(E6tWE01)SvqN!m&>D$nXV?NPN`<+xu#|k zhEj^m7nB)FF}Nb#+E&W^BmESKK@i&%nRb5b&tA+@C<5!T&kP-3y>6^ zSFvT{+%?LI>Y1^$sld#Djo!?b_ZmzV87A^zmA%0Fo6Z^!2a}VZTO{0eXp8?Me4_XFIkjxwN(B4hCwita?!# zDJFDknay=OPTdJkgjK8%4&|Pn{3P|%$1)1k{qsP+q7u}2jqO)cmMC>rw(M9$ z^Y3;Zeo=GYPE3yDxs>n_amd7M;E>7un|OblUUOI7ueCYfi&SVm6L&!6#`9X<8fv@t zH3B4YAnrFH$Rr15ShOyYz(9WzQT*$Y_o?YKz~ZCHglzcjFa|SV29^GRng@^%*oO7~ zfMuW*>uh6{L1EUlojnq4CIQx+Bp*AnAjnq&gZX9n+cuq(s6v_JK~%zq4DP<0ej4!a z;t-e0v90AJ3RZ{J^t!(QV?<_GO`2Tc{QTIXrZEu_Cn9m{%WSexS^QC?S(^(lDQJ-K zZzA0-0BmL8&&0Uu7)mDynTJt34^CN;LgP(i5my6D&g)dl2E zb%5L{_8rLiIeFQr1&vE2*1j{nt1hpvh-NdGu!rQJ=-do8ITeoPg6tAMfLPS7tlqdW z39nb~;g&^5mWypV+MfiTp>u5(j+Ea6X!NW4r2?hqJ`N3}b#TVZdlD|hU*fsZ6m6iU zucnG;i3Q@2)5Y9-74J_{O;fVZACleDF2lwv>f~v5uzZ~jclCHHJAnei{0qju>q67! z4<+SEAajI9Z7KlkOnl>(yvhF31x3KN(YwmIbC(MeM(OZT7O~w-{uoH&Ke)pP(Y+xR zp_y)oXyOgWie2`T@z(rKh%Yg9i?))fO;>$XWVv0pvI?RDIWKEh^4HMlG^`3fA60y~Ub$gVi4WzZ%786F`P`WW@b9J{}9>tq;|)L#s@y z3ldo*@kukY8-EFN#?P9^Ptq5n`Dq#6y^Ro8^VfezKoTXI%Wame@uWqyt_gyqkvs)K zHj}XNJcSf?GCG71-|kxSj1H-NNfU&r0uG3rl7PsG`-bK$f{9C~ zv-X>r0V265OI75ykCRe>3kq;P_x0Uf*;Clu-(}n=n4hpc7pn>JXZP zqAc91NKhV=FUK5t6&Cm7g(za*_N!A!e}325wlhvv^9$C`;xgYhfcqUOTOfN{q9?F$ zG1>5vF?qd7$)siHi#nNagSBsk(b7^T9cXYPrJ9)_U)4cB>xT(fjYXjK{)@?o-aJ+TgH=HBSZe3#YLrE$W}Z0SemV1r^or3rm%*9VXUOP;ZegJdhoPDm zH=s-HbN4q8no_gCxT~Gya^>hYu{j#G5=cvcG2^YUae)pX#xDV)zq>aKm0{(iM&9LV zK}A7kL^*{_s)JIP8&d6loRDV-S9 zCN3gz>Mc-RO?um0fRT|ewmVprazW87C6?npEM?ju;Of+2qAJ9CHNsdy0NeCtmI9`4 zLVzbg!~iYJ|BhsELO2*Gpu6?rgvuMKUz1mv8LVo$G$vUxsz?ZpweqZ(sO6-n&(Luq z{n~{ADy8uw0{BG<{ID?b?d}hs&oM$MtVS_TEPsnu-5Pu{)4 zihze8U$Ak2Q{Q=u&5|tPx|2k4&GUCIjy!cTIvsv^os#p#`^Uv|)iuMcA;5|i9(uOU zl~RClA7$BUu@6*&tNRwe0o8l7gadmXqejoOZ~aSQVa`m|x~Zilo=^2r(HF2v3tbE$a3 zcMva!oQn%;g&7(;2NL{Bh0eNIZlKYr8#!0BmB+=+X)Bp?k=$(nGW;|ed6V_dfaUgU zgQlLfPW-0Jr&N0D=pWb(6^!)v$8%8S@T7zT1v(+V$a~S-*L95jV@mMJ*fv;awdQUI zYLAzjVAB=TSvSgw2zwzY#NOQF65yB?fMl6SPY=9YhsYSkM}2r}d$aGgK2y113m`av z&K>_qyP3s%i*oGgChJlCrb_01_3K^Bfe)2WNcP(O(vD^qWBbq^a$xbM-&e&Y*&CVx zMP_32B~uJ926T>w0m6b5DPdQG&*H0xyx3TsoxJwrv*Xwv|(ZY6QwqrN)H z3O-kgfoDtmB0=R!NL&FSlKkFZ*{9#Gy!U817{vT*#CNXJc?kpk8HAtc^gl`nO~RZ~ zm@T64el%|2(ptoOqmWSy4Sec9g4fVPSM$@u@MI%N;YdPij9X%b0#|C)l*6#A=BUq> z_1)7A;6{&urjpoaRXBHksj-gCG_Q$TysCY%JOAP;8+P;PwkD8cimVvegjoSuY z(UH}<6Q9=vBl23io@Zj+$OV_sFC5^Kc0|nC#`X`{cET4IST$|jw}my%_G7!Y2^Yq2J>a@A;r`Mw@d)U zBOs~EuMkgzpnL}XD>j&IvzCDk}nl=l~8y# z>eXD~=;MU^rYXuR$)qpR7#Pr#@>3D_jVDk5^i8f}V4xyc$+BV+Ey&(xn&tKxRfY-> zETG646{a(iL^XM9ln#5{8Rgae;TkMW^~k7AjaOCki!!rdm?-3GX!y7OkEI|%`F#E$`ZC0O)MmZ9rlWaTT_LgO)cu>di8;{9i3Khzu&G+aAr0d(M(stdV zw|#V2hQ(so+%2ugBt(rkzWacTj7*S&&l;%b(32T+WleS~I=MnFka zBsu8*a#RtQHVd>K*%Rl##&Cuu!Q?T$r-l%k3-6Bu(mTO8lq0tJ+qU>5*P_{jAGt8# zG`MC;+`I_0fL8YMRWim5Bp7y@wM!@+ZYrb!$rxz~WVRW(-IzR+qr+N+f3@p8oaI|A zm2TM4#p?s&(?255ws8|5Eh`18jWlb^2Lih13{mnFF9XIN1~px9-^&*Y;aLRr{8+k@ zyk*(ok_+Cz^+c6$v7WH#1paCv<#%*-{>pwo*2P}vlFSjdq&)~-k*6sHiMUOvQ;!YF z@*}+(@^>2uKDMeR^4qk>a|}cu69+ZmNTdkaZ=$DdI?v~4aQ7Ej9*WP(B|n#%>q)vR z7)c1&34IZc(I08*bL?`9oj)bgaU(h~Ir{$QuWajlJ*F|q7=7Cq?c446xYH5!Rvbo=lLi;1d-vB4!%t~v|6 zpDs>yoy@O#v2@!dR+ZA?M;b3i1aYS${7v^=FWSeGar7ul`kD=ec1WxLkR#B^!R6t2 zLo=?~h3M*JRko$M%#X7aMN-RO+v{`#(cV-EBneAxb3B;Y+|j!{VFiDVSe9kWtVmg% zXWh-UEm`%Whl8~8+;NlJE8}MfqA;g!)+~11ky`{te!pH^9mx@Ck6-yX)_A07mpikl z>NGB?Ge@q`+Ee2ygmIo?FT0xcr<@*^xOQVSGU8N+FQ?32Dv#|&b|?8jZ0+n)+oxt} z+K9<$BPS$jk@hJbzmjvL%6z;Vca!}xC@qw`(QY0bVb5u8Qc+_8YCFcb@y^~JJ||B~ zYv!+ei$(3jzGAf>leG|)L1|M0WvGlQ#_DS&&OZFY{mJaJ z-qwXD_RBSFiV?i0l;!i1a^b+V3-;+s?&%H8g_xC9q2Z1kNgJB+jD_&Ed;qFNr8!7E0G^x)7cz0fn zNSsp!ppPkP&iJOmn8(;Jkad_JvrTXi=J?sc^^~Aiq`ba9e2E;MpZik+`IJ$yqeMb+PY@DlAgjPu>gx<73y76q%m^P(v&ckMV?o2ENed zpZLuw-Yu58P42f*y=rUT3*i;UzuA?eS9?`lzp{6eKU?s#OVx39vcC3ls9H$8z1xoSln5 zyTa6>8(E5LrPXh@-OK%CKPe&+Y9}-7BP=ve3rtI1DijCE>W0lLQ_}5>_&!*#fx(Ll0Zn@>6mQZoH05(2}m9DEOGm(y$nq8Oj*am zXkhHEx|+#*MtY8$DtWWML9AD2T30*zX&B>*1othMhiYlR*}F~XGS*9Pwfc|(E^upo z-Mg9CRx)8DzKQy3jTTT*Kq~9tthQ12%ok{qK|{Lhff9_U5n9)Auc zG@Hh4Y;^f60@wxuf7=h;|K<`O9UDWN%xj?4dM7Vo?a6zPF|8;jn)NRgnT&Kkg?=i! z>N}$ZpE}r?1XgDf7>*`nqwHf_nD?Gpa*{mi)2lqAgd7cL-^j2|-d75h?$MumWYV_Q zh)OrvwOTO3X5&CCoVpbvodxe3cMm6*)WCFF%jphzwMJ^C#A0k=A3+J~;b1y4Y1%+y zGiQ@{$!-4I3{XE5=B4Y}WZ$(Ub7dTNi)_cn!mwT-RrtjS#v)8;q8RJt&-6{A9xq<8 zdPoQEF2DOFW1@$cQA^U@Lgu^(Q-e47CIzkc&OkWmX!qoVk-A3C;e>^CZ^zvb&Oq|X z1>W4OTha8A1;oPDh!ocGr0H*Z^o|F57Qn}XE&?3U(H=JyO05?{S`KXuyW+KQulUBw>@UaxqP z?eDZDtRX%s!W?B{+shQTaNzNHZ4MK~Gr7!a`=Z#7YT6U92ES5Z(m%727BMZcenFN? zj;5=26Fka0(CcSj0jDn@7QA)Zoc1XX zCnoTil~NOVC~5SCR;qHA4nH$M(&z+%J)}h#K$9<^rx|F)H-uQbar$qHr`<~&8{ziO zp|37k{G7taG@c2%f?@KFNTX>6@+YH=U=_=js>^N{=SiM`3x&`2b+HgIYlB(CxGk=g z(dRxe_1X(#o7-xgIxd?0RMiLUocG4C6*zv#1Df&XWZcjQy)_qc7?9a4w^_!bs5OT$ zT6W5%j?tMpsotHHWg-o8c1C-BKSTL{Ygu&ubSZ^=((K@S|2*O$u8;jxVL&w}0Y~+e zZ6fGQY|n)1YWSfQL%%u+Dna+@6WSNPEn$SeyBQKRMLiCa#}YA@<00Rx?sjLkvHH~8 zr&rh@^MQ9bb_Z%ZUIZ6Xa3=575J6&yG$v{ri3+315U%mVeZLR^O%jeg@T6F^;7z^6 zZ7cg%ZTSKWmSYYQh$)yn{p3;~G==Mkf&LxcvvEuG$L2782{17X#4`2K1SW*m1_E2N z*?mfYeBh4<^~?h;o^cs0a%Y2CI)WF=wpy<%SEUM^M2B%c`0|X?nvGZVshjHLOitD^ zVwv8sx9ANDrqe!gG({Fn!SpPQ5$yU-+6x2*7KgxzZfKP!^IGY-9LvznJl{~p)2jt!ysGNFy38+em$iguvwLdMDSu zoWHR@&*&bnfWX^X7~tZ^9;1EkJD*W6oi}Q7+Nq+U!*-{;66|@d&ImtdF^IxKN9moas!?JvxY8ts)Led;0=QqbqLCSlwUBP(?D?ud zdjo?>X~VGw#PR|QFF4B7htBAeS@w1Rsay((#bNuVlcZe>taDQ;d-iQc9hUE%K+T(k zcWG-379z#bUW31UG~lZ@HO6kS92s@2^mZm1S`c~(nJ48ga)T&0WmFS8bAdO0u|FEZ zWj+2PnIwTGIhk$)1L;h~{u1jQg$h zhS$Z(?4v@~bfH;PqxLINTRbc~&=}1eCcoAuMo%ajrP(V0v*pqKd}$_nz2{t4Zi{7- z3T$7fRI#F<)@WMUbGp{_bfNt*(AN-#?LbJ*r=AC(f%G0*2cvXg@IyrNQ*kwzee(<0 z1G;m@Q`l|n^W$%oD3S7_M!^W#rjRS`MP<&ZT-;bADt21=G+h`NWM26QH@$Sd`VflV z`Ge>&%|5c{?L#l8K~d7q8oW$<^tIpfxO-MOdvqsUw?vKV)=lN9eIfMUzR8#xMjU?# z#rbgDnqk*-& z<~%f!=5mk2>+{^Yx^QF^&Hxq|yCX+UYA~`@e2lWO6eY`_-oO^dVP;3`6`V^*%hFq3A||VGJ4?>$9to)W@md*Kq^HwIa;o5co26( z(LIRK!IwvE_q30SDmiPjMIlv8iMlo>Dnyz@L1YNC`u;VX?3JJ2ul|(0=zHotE8D)I zkK%z`L?TV+;b=}j>DrgKGJ3-%m`bxk-r|3%Kbx)W&L_G24d<1D|E*QFOnxZhq$*(( zP~^C$k)hRr?v0$;w*mE==x)wX+@mY*7zS~ta`zw|Y@Dhs63Boj4fgSSba14wkqvs{ zOmG@r;2E|7XjkRxLf~f~|BMK$#@-K|2zRK^!1v>`S*uYs44=K!p3LJF{;#~>4lSuq z8TKNA&LD~}Z+G3U3h&mMt_BX_A%W%Q)$#=~ExgaD&z)OTF?ydVm7h5{UimWgqoV%j zPrl@r#t;+YZ~cO|EW*P#w=J9Asdh*kA2O7}cRx@RtoVcnM<4r`Fx_128GFryXKvnX z@Y(lKH7YKbD&|M_T@ot&cse$v?u954lH{Emp8>}g=!t7e8Qa?MQFn|735~qYrAUDe z@}HjgJr1>;@*Tosj}~v7e?7WnWlXf4Nn<@2bIO5nULceDc)6YyX`|8D6k|iXM8Dxf z*gzrO$Q8#g|8UY&g<$9OP>N`s2;s(PzV?-xSg|9QQX+@u&hSYeZkd@eWS*Z_YK&iM z<fpFS$sm)se*YASXii9bHwxg z&wUQ=<$*x(=G5%~>2Vty0pG?ADx-Zq`L|U|N6wm#6XWtyn{%N3{@_x$(v? zCVO8II}1`%`pw^G`SV4;pCoE%>V zGRf6w-pa*5$kOEqSIB|45*gkj@~h*Nfod(Q$1*r_IX5f?dL z0gGFRu+qWGA45S2?)PJg^>H_E_}Ep(L));jq{ho8Cyf#WyHaKCzR!P|nS7F~rp9AB z(jd;8Ju%JQ1cbEDBeXeHzg^{f(CpIQ-Z&j|a|3j0-fKrowvgGky2&n83TY$;^QVbwLg-+;x zm4<7;@)*W@cr}$`EThKP>0nxY(9Qrol3+bY2qmq{Ku@I3iU2K4{ko~MPum<*wng8olq<$=fnd+@wy@c=<439gcaKw&4>Z zOv*%~<^!L`wEMDLJI|n-Ia2f_@?PfflRE3Vk(;BqDLD4|v^9@GQxqq80`{YHKqi!& z24Gfk*FS6(o8`aO<797gOkpQWh`O*%h&t74%DJl@#2jl6o;&JIu@AabZ4%rGUV#Iky*ssbWR8fipyQHkx(W$mFxH~f2^fN5l9_)Ohb*23B zHq_rzB=AS#sv_srSWNOjZAFP0LmAM-84Bpn00s6-*yueKv?s|n%#oc z)RK{qp=x&PrBQId^!b(i^nU?($2&Q)L0JHsQyk!54xqYzeY={YJg9d5z+O2!Z+daW zV_VF(4i7=P_lI^#Z2w8={`C}s$I1@(N8BWSq5ydn4}Af3gu(pW@bH*8fZE*+a>Z_` zwhsG?-SAIBxwA^F3A4gIzBw7;0=iEc2J8#73^28`0S#)7egof#c#R2+#N1uGj<@MZ zv)>G4}}WMZ6u^dn%tQs^`!B?-lZ&I|k}vni=jZ~KSUZYIqDakZ|;uYEwnMt)?< zHp)KDXG-Fz|NRApac4I)_t2jPW~P{8_ox$_iyZ|W^g-%o>&&;G7H~~OrRM&ZfKZpF z!5iot)__RJZkz+~)}s3Wzl9N?=K?6HBcgzc1kdXq(Y$uUnV)L$oPHfG3PmOQT`hMA zMgJQ*byPw6-yHsrYFjmX7`#3>IQTCVrRkFELjMj2fivDL0ZP7-idX)?NR(B){jD_~ z`A;=!9bl~j%g-uc?@iQ{Z2HHy2SBfF11yD^IvYb7Qx^OGX2-}S6$Zkz=xsbkvJC*D zl_n@k|MCyn49GBPb_m^WZ~kLYP|60VA3wZa9+tYlaZr~8l$KmlfL3W|TjciUKPpJz z2!1fi=>WEdQrsM)G$sCktgPJm|2m=>xdZ61UjGBE{|A+iQV&c*q&oiHrYJP6CXBrw zg%e)SK5w~*6v+ID)&gdVm+t;yIfyA8O*B*)*8@Vp^ z@9>vkF|#&2C?E(-L5agWoR0GoH5@8F{FDFwJ4vQgP+%S9{6imp|FKD+(o zZ)_l{I~(|N>;lf>2m@|J=lNPUl<0KdnTnFKv^x@%%LRtIQB5|#`V#8*x+@}Z`K&8^ z`0;6C4u+t+NS(MEP9h6Fg=lPY#7FDb-Blm0RT6F5A3*_SnU}j)NsJiEYXCXB@VEXL zU_XCp7wfMMWd+O)%2szjSlw57A9WMHOW0MHvm8v-E;q0I93;H@9%p)Yvi|6e2lZ7L z4<|4FbNfRfM*PW8AwB9xQ=;6js@G)hx1Rr);ZBdJ>!HI(8Hc%{@8{~-E58fkoU`BjUJ8n|-24D$f zR`?gFwQQtAIp}v25i?qk`GDuNdMS@)k7C%{$aN_g^5Y;#ij!Uv=a7qOV0 z4mbyX8>Rs4hSK~1BF9XUVYvi8(BrxRK-GXVc74DP_&RtqQ8Aev(Q)54_))OoV$bD( zVmKA!-Yrh59a$lOKia-Y<7ss7`r~`&V?1WQpv!@y6M{V>kzvWRUnb?i*ge;FaqBn? zn<4Ji`%G9NY@6w2krvcVc-uwx6dQoe^PX%<(O?F(iko@pr`^sUBrEvsO$cT3(BT8P z{RvFRp)NqDyFufj_wOSB9oL}vYIK4xH5dLUlN}(eg^Vuvo#Wc6h2o`p{i%Wg&8;!N zJaP{C@W;6tKM#ssZQU(LhlBxa^t2a0et7$kDs=0DU*t2*xLOA3V(7v^gxR=a9e4_V z)5{t-8vuzH>#V}-CSmeV9!RgYUGpSR10ZUL8aGb&$>Ck9bsTn9zgY}Wz1$3nHCu4V zs`Q>RcZ{H{;c*}co@SqkkSKK_UA4XhWTI(QD(5q#>VI*itWG)cG1@Ij9lKVjJV~|R zmcEx&-U(k$*@%gr|8J!PWZ?G2z!STC|$p0Q-ZF=Irb7 z?$^{@+LVs)u$82ElxWo><~Y6bhJdwchIG|uPb+}DtFdvU(PXhWZ7OriGV>I0#UaZPQvQ1&7JOx1#i9Sq z!&w;v&|@m@571EF)C^q#*B%a-dN{nR;J{A;y_TNjimtQnr&tu`f!%z^NB&IA{`GHG z0deFYrlW@}h-`8=hCY?_vqmZ?=NSHP8qZrS)6SS+$7ou(gTXgvRa*Z2DoemBu_e zS4#YU#nqP3Gd%Td)_V9ykF`RH`j4MVyjeRpk)BSMEz?aJwV%Wg$~}Hu^Cg$v?{eTe zoR2!W=c_>oc}*Aknx8N86dKT%72b9Hhh*4@)OT(b`GJ)7m%Zfr6w^(51T)h(+d%zH zv5WAkOhm!&5}hrM`-!hUR%bL&Wh&BBY&-T!92Sp|Ea0As<}0on=gK^)`~!I2)O4Hx zKMRIt2dyPQ03^{q#jw#*(DL22X5$b za!;`j&@t!>#IJw}kPZLS7}Hxr`a~JXcK-+w4}DdEedFl(8Cch>oiw+_<*&J4bLWc7 z7v^YPZ@)4>As}`{je-2}10g~Dhajn3alj9%uK5~R57(BFY(oCjTMZxA=+HfHJ4s1) zVG*=Qa9RYZd?^P$hKa=<@aotUv($u@RI#$#sPaSs&#ua(zVn%Mr4V4&R3rz(;_uTe z;K0DPVOG0J@@g6&e^K=|f(kjP^=X`bXjL#3qa@b$%d3Q)&~LIYoI4JE315t0Z38PB z_p@Jbn6m?yU(&k>+yWnszq%GY0i*#6-{~su>PTWv8m`HZl38?I2+C7CKiIZP%4oM} ztW-Op+M;kKDLIKh`^k|ZaGV#TU=oV$Q6t-NcxCP6#7}rM5BJ@ouq83ZN7h*iuUc2H z(YfZGeCwS3=~KB}V42#65kw)5zubU&U(@?&Y07k>;)UTxj(LZYX3m9)k@wQZ1MI`w zn>m&q&F*KoZZIo{_2Q5U4*!&< z+|`Ws?X=cQWsexW1AsborPiH^q>IKOxWo~%+^b2JD1eW%taDp z)eFg>d3nkT^X?W(aHSv@1aFb#mJGoviJda#QbRQTW^gB44d-?(Ji12b5;e<1%9`Ek zEmIR8BxZo*FekLt{71w#Qbiwa6W4}a1&OcGt^Y)A%Z_HIk~OIVy{92@6924(UQ7-Z zWEPS$U!b(skci4|uLYk?sBJX5ip)z$i3@Bw-D=fWx zl+*SI_x4L`hRNr_^FLjqo@5Pu#iTlngA5dB42fe)9R@f1IO-b)J^jOT_$je~1S*8# z^33WOmaqL$`??@yax@Zc&3PG5YJ&&jy%;cX0QAz%?Jk^iY67MK1H1L}g3-tz4iuAP zH^Kd<(4TODr3c}tZ?#JsiZ2H3By|V&f8g*Ezz_c}2HlSywo@>uEYFjUweb+d)uOyL zxKO=M1FHbAyxOHU3FXMLUZfe|aOo5cEc&-LEz*BcTjc?i8&`VVKVvnNs-LkR2qi}C zP~J8c00?6$2?gRn#UIVwVXfZp7^O3oTjNYE?VI11I zJ+ETVff>|((!kOXJs|TKG1~Ze9X#q)ICQZsdA>+Q5ouS-Qopd>ocTA;Kdh&0>Pzn2 ziO&_dnk0L1u18&P{JX?Bcp+&2QtBhaJncBAW?@dC??2-qAh~6jlmpQZcGfN@pcq=ZKznWJw`byQ0R^c%kbW~#-2iPRQFsp&}?GxfiHf>v7)WG<+KE!cPI0H z!B-9DZ}0vF1#uZFzt9xZ=bZb7WAg$axY+Ox!6ICukSUXV6E#grpTf*N5oxym?8W38YLV3$55Gq zF94K=WR&zre_Q(yE>hrA;WuB>oFV8pmYA)V#1s`qFE8J+S8v+1N_Aj#+X!<6xDi~a z{KNpN<)!^^U4?!}8y0aR_CR`44aC?UAPV@EKp4saG|fHx0TB4Gv9Q=77kfrWe1_c| z%xIkeK!(jw28*O_uGdGx-wf18k;lQnDk^@Oi(i(ap}U0s^!O9bKWY!^;p7DDy>2^> zf#j1#S!Uymd zGsFbt901mo>wpU$E6NiNSJMXoo=BBk>Sm*mI4Cza-W^L5qfB;V19BZ;dnu`N@+STC zYhG;e_~wdM_%XBpwr)@)5?*{vlzr+p5FB=;+uk`r9bephbYI4^M1KOjpK8KcV&<=a zLa}3Fr#$RNg#tF`P*TR4aI%;Lq!_kBe!88u8d~g>F!C&wJ((Ff0DW6y07uH6jNQ#? z-Ds2>zq`LqxwK|9$!X<;zjnqh1SLF|&F5#~>IMzX8Tk`cvhdifA_zJX&>ef4r|0)Q z8+Inqp2<0vz913Nji2AVy#J0L=*md`?g%@QlY>enQU5#~$PHg9k)!e*Qy2qOsc_MP zfEoM3iJ}%%#O-*Iu+I=H{KbT|k88f?z%;etQKV&ndf}?g{1AP ziH;;ww)e`{7IjY56iyBl1&K|@6S78?P?Kq-)n*T=tI9Sv-H@v03n;O`A=n3IyJDFJ z2peYg>0jv=kC=_P-;#~B05(SwJ0x`3zB@&A>VbeeTDg4s$OC(kcbH@Vrx|Sxk$qzz zg-(UeVS~eK)P3`{;cdk0gnZY8Vi_!$5XM+`sKiV-kQn-*cv{n3BJlJ464bc{0t4dn z=iSSxf^L%4wOtI8Oj+IS?w(U=V` zI99nF+VcZH>5kyFC$f}1n_8XEj?ZbtM(cK3`CVTk*Ah->z1r66zsn#^I99}XeXPu z-R%XftiGpl5O7IF9_!{@>2Vl(AO?qs+%YSnGJ~y_$qD)r4;$rB_v&PouOi%2OH9ww znDv?xr=e^OHMhMmjcK|#!0fM(cW zIKWy)j72f3b?i)L&2vTj4V9@h5kZKu_(ImupV{<6(Z;`)YVTSi&Iq_1hedPaSfuk) zK_Dkjiz^pVSoHQX;M8|ti_sdu7<<4(4xsLjWeesa} zJMGJDC0D>C?kyVWH_}1UP{8<6>g%!q02KQD!02gP2OYN$m^b&mbLcV9e`H3)88!Bc zsi)UOhI?|I00U-IWz-qcK-ZOxcYgOZ`gITop_!J>)0a%Z&{Vk zJ@*tSK}hO&2JrFtlKM>H5rFDXr?2->YS$21hmY2cqPT98ZYd!3f@8ZKqAGGC?_{g( zX@~>v(Zy<9#dvj-pgmUlAQO;|z3NzWck~iX>#?u=@|J-274kwYA_Hkw^-4iKr&$_? zfEvTlDJ?dH&g`*LaA-Xq(_bDqk*=(s zNra#Q6&cFQXx^aTUDO60#)<&t=k1r4cfjnC5^=b%ewjn1mksU#P~aS{;1no6G%lxiO8wK5e;=eeqSWDFyV`hr_+{U?yRA@<0}oP@W|bJ~JUqlLR(;;^+T=?CC?lo#+W;b?FCt2UH@Y|+#HUldNVBa>-8fxHw1 zuM^i4D1t$d3&m0)jVEq-(p)hgh7F}#xx74$NNQx8v|&V43fJM4?fXk-v09#R0aeHp zuvH*=DpM^VNNh05CWpDe(-++7)roXIy6K=k{e1kB7Skpe#Im>`?y3YElTMq}cbt#W zLAaMu(HrZAjD?s1q`VPBFMIHB+RiWX#0Zl0-d_v@2I545I^5=e(pa=X()J9`bQ30r zjl9SDKQW9{9EJ`wpDqp??FK22!7DBb1ageeU!NVXDg<024OP_QW^DNQ`Sto!GJ-?B z>lmJdh+hu0(wReEJ;-a#pJk)9!6j8|@ST^x!eLfZU|`DMh!n|)$p5a#MOKl|>;}=< z&DW**$=L6Y*6k~hMmd+iXaVDodhfmddb%3oQ5g&x(n*yRV&47%*lAYoyMj+LxgQt+ z26Nx#87dxdV$K^_-pj!QYy?5hfv|k|vjF%^jDo&*@X4@L$IZ$h-vG_){2-@LsR$3k zMfiH=g#1;B)=w$?D72e)_P#_*YcmS#TSkm6p^j^FAblQWTKE=UY$dY#Y}eA#g3{(R z4B%Qlt8TnFU&v_0tW5qi zM;&-h{nDz~C>0%RCjCD9s8F0Y;7+xHzp!Iasgu9NADe48m!|nL5&!7)3Jl}l(hBM` zZd`gnMv<$=lo6N`TZQlfmh+c*o9)9m5+aA0o6)c}q~E;bnuhA*(b(8|(#C1!G2=i! z*@q&H{tEy-aF_Ye)szO!)rq-(J2#pHO$HAaFS%eKC56$N0~g4)8WY>_Fe$RGKwoLT zK|V97`0d!le-rwb?K?9>o7wlkW*9e$j{gk{U5kp3JX$u{r~6;$9UYV;#3S3ejhiM> zID>7cV+pEhhMT#nFoefHnoQ2RtrFwF1*F(RQaOZz^ZeaE*&&fn_IbtfLF;Gai}(NTAAG`ZWQU#@0v zpIB0MDhJ(pb?t1JXRgwnFwv}R2XL|%9;FrwaSS-rtxl!a)us-6{eI;58|QJSi#(vi ze=cMBWP=J2WO`iB#ywj{<%#)T5r{9Be4l)-lXDg*C=9-1fM=Z3?CxE~dCRvo&7}n< z*%+`*P(-PGvxcyv*osR)QM)G>Cncu+@MZm@KdLgji6j?PMVKwYM`Och^ zTgkhT?P(IwP-6hiXW&RMy9Nrp5CxWVM3eRLL!KHd^|Ki(o8IavvsU!P@zql87N@rJ z;&L|v0D9}Xx~z4YHkyN8KUcl*Hxy(zw@N+nwYVYb?J=m|0ppQz<3W2~UMMtU7T#oe z^J?fuU7|Oxl_AbHXwMO{UEY$c|CCZI{CuW_{kKa8?>(TL1^$x~*=>$lNDA+L7Y!%S z1W;HSX~)*JxN<1PMYI6(u4m20jVP$39RuTO!!mAx;K$OX%|qlMse)a#tJ>%caBdFy zZ5PU@?PXb3ufnXO8-hpcYL?+4svC-|6&k`##4pt*M##jRi?(rgevpr~FDh0Asyvnn zJM!$mfjZ`qHg3VvBgaIx1J4HSY@^y{<8J+r$ADEVcF2QWk>KDj)i`mwBDWIpl?Yde$mAWm$0T=)ik)6*Ua|OOjyDYKPr)sMz?T^ufDbsh>Vu;;* zRho#dxM~PuQ(ZVk@ZPROO&#nr=EX4gZIhU3A%GBD`8)bY^_HDt-rJj#fm*<-ld<03 z`e+DqFz!>@a~oT};V*!>`XC;(G%uaH$-Wayt>tu#_jV+RI;O-@l-Y3Yx68bvT<5PG z0p7*;`ECKO^wJxp4A9AgTC|P;zwF%)WJ(MP=s)pl3HLf593k*<{AQxqtz~3A-7N=2Mt83+Pg^N|TO2D-r`jv9K zU{R{?=*Rci9`1YhB3}#ubV=R=z8o@)mA07mQ{Pd6EZr7XRzo9LCR4FaW_$}<+{y~t+afjF^*EGL^VnH2U4m8Ghj%px# zD*hRY76m=pZ;6YyVKS$9hO}8t$XEFoO(!>=EHECt4EW6t@=rATeyXkbqaMud*R^*u zCA`!JXuYYE_n3tbFeLvh<5$eyl?k0CQrs@?dh&H`X()LNW_UfLs@wGCs$dmXP!7=O z{=%>DN1p0{O|<7_#U*qlHuhCvxfdlBn%z`k>|4EQuF`N*^jZm(@zD^Ce5i6L1Bo&D z?M(&lOyYQYE#%;@Z^Hz75e3CUGrgS-DrY&9(pr=0N)I2e)R9tV`|!^CgXH&)=k)}i z?!v8%BHVFrS44hG?47ZWNSruj&F0>2_qI$dxEQpf;~W5L*y0w|jTUjmG9= zmII8ZnJrVH5NiY297eO(D$IueL8=Gv8s&zU;Z!uw?;)!VJDSU{C(7Dx*95uwi7Ouc z&fOx$vn%tJnZsW56qu<^xckgDwL5uWEG5;p-*(>%-TiXix~n872#}-}4%|Y*84k>H z3i6H;v+CKVupzI63K{2g+!5$(e!gE*ZhBC|`ErG6bl1)aI=^{)b1JDRHNV()_X8?tfv!4} z?YYb>(|flbyI&4?gLWKB`yG>OEGVx&dvK8N=@og7bnn`gJh)vPaiM=Ytf2$-iyzPF zUc?SjjxdiOwQQwcYhCf*N6_?|?<98SX$EZi^enxgFI29Y5my?F6o^Yxi&VYz-Ef8P z*Mz#_(zlYt;9OrmjBr+F8#BN=4R#kHuihP53gt|A>GSL0){y2Dlb$&FJdDsK*|dS( z1E2Q{LP7qw@!2Kl|2dY{|Ji@(>BMBsdpa8%&*p z{2+qQGNT;MSzz+4?=@c72=w|QR*!&bB+ zmC$CZ@#Cj?M%%yoDdU%@w7hJqX${Iu^vC4{#fYQzUmmkM+ar0aLi8?=xw6KXT5lFP z{O-eYHF(XAjVI?XPJCpi3p;S+8dr|R#=FWW;_jCkDs?Sd$;u@e{w#=}Cu4tg+}|#w zuoS{K)*wTOAEiL&TC7hh{v3-iyB&dZ4*Tu03rtDd`(q{+lA;cKa-5Gjowxb+HsaBR zCR3ZN%6=z+xL;Jj0)BUQars$IpgbUK$V^TbLh4 z)Xx1%+x4_TV`XjogIZOcp_ zcMcxshhv;f^nQ5fRv1_BwVcYdHf3fO70YruBd$)N&=_&My=rfZedhL}n9nv7glcI| z%F9D0_cA&8G-S{N$G)JHne}PpF6GMS%J@usQluPpv;{6srm&piObg_T+~KAmk**XX z`R}YtNAU$bMI)C%bY>_R(;01)5I`FEiq`NF=4^wgM8>g^x~=dJb+`$bD zsG$^(FCb;8L_!SGFFZKed+4*s$|+2lDYvJrC4>b2e5yHpTTO%HfMIiiIYUHqwKble=OZEM00*` z1r+I7xUeR*eynDC2X8VoFp|Bb{KcU9gbdSC9I4Z6BtEvQW;L09mFt~^rjT~zkcSc8 z19OUhl)?om+5@N5IG-^(k!Tk^xAxlo9t5396yWw5vAYq0TTZij*&Es&e;tZcZOgw8 zwU-L$aa%9o*m1n7wwnQLP9CNz9W59Fba7mGQb-cF9O|Z-+ww?ic{jx`7h+Pf{ zRoiMJS!O>r6Sg15gT9Og;aIKfr-$`?aKk~c=z#29XBhiiZAa*cV}l3d1|DoZ746~Y zw|^b>~LcDh2es?}3YwS+kA=LVOZ)ZRlhty&4Pd~o!*~t}{ zHQBqv>rBP?xrL(KU9x_DQ~zHiopnG{{ojUB6p$|I4jGMfN!KK#q*EA(NH|K6kZy!A z5Tv^sgppD*Mo9?L5)%eeqmg*e^Zx!K28ZqJ?CkLU-1l{9J8h{nUkdaVdg)bdQ731~ zwsp{lr={Pr9A^y8)K|xsGVYqFKJFHGDfZubMXT{yRxpH(_1f=P6`}u%;XMi?urz#< z9;;Un?q4eiVqLu*iFTpQu`2VEbc=GidUzCXD(!xjPmPtKW9H;Q;rcsgN*_p&1^AJq zb#4`4WrJJ)>K-$EEEbSnO%qMivzPnUOC6x_LYi|9nWb3dfJ+G3b7a0m?GAji`^FZr z?x$DXDa~(sfd!HJ4AqJ6is3!%^7rkoZdWx%rBiAejt}l#rP?rZ!o6mreP8dSOl=N* z<0|V=w!(X=_23c5s&VNfNUc!wJ(ql9gk_Z>OK_G#(M4ldR%NS6p1uC<0`wdw5R&w| z*hCf9#f0^zZC|XCGmbBwMA#$VVnghqpBJZzMNsM%InW(;v0Pns4 zi>ou{Q%RYSS?PjOdQ<(NOLBE>N|bNh$0;(7-!E=lSJy?Qzv@MQB;FwwLGqbGl7puF zW*K*9sCiXpNQte8X#_ml42A+&L;8&WfMG7+M#;f6+z+@?xTLt{+30ufVnlSqe_H&; zt;dPTnpH*dlykv#71IKiTvdUFipeQSOflt_rz=&8vqTYKsUaMQLGvEB++Y1anl?N9 zewUr5PR|^GH+1p`)BXk-+x)8LY9#PA{V1W=<1^yu;eqKWdvEYfhU>Mh3$ z2C4Yx&T0%xC&DJ3X(Ds4a9p7>?vk&h*~=~ zQL0CSbRH7XW*SXVXHtmyqw*s2_d&dn7Y%f4RR>&zr##G4nS_f0srQH?m3#GLutS9D z?!g}=J_ayv08yr%blWK}j?#&6H)ilVt01*{`5cE)HTemsUtYin5% z#Bo>F=+B}k*!kt$CO%Sv>FEene_>Via+-Ehgc`|T*n~SdspN4MjW?2E@RypoPd|N3 zO)k!44L+7+@E74M{Nya-x;PHVNCzsIIjPl>gOwDK9@vFwk)KljXtqSWCr+#<&rS;! z>0%CDal#UQhKAC+j+Q){s`Nnrd_M&=Mg7L02M_&%x9P*_)_n6^7qQ_YKhwlRGeyHg zj>@S9>Jnd1@7y2W2y@TWwmF8!BuBUBC)W@4hQsJH>FM^N)V{PY%d z+eu4xZ#X=Kk5aVK)E#Tb)=TzKfC+;%sD+BQXlq!NZi4iV2rOk7F@~PkO?Hv&!OUMc zN`EIHBRSn1dEY?rztQhdv1+iEv$We%B*56+(huc86je|L4x7IS;u7 z=Y@!qbskre?VC&D5teS5;b^^((T_oCUzXv*q zHf7IeDZ}|8$SMe2cQ4@t%d-^B1txuzwJwqWWE#L62sjqW|eS(I83huN%=1@q37AFQ~YCaU6P+_$xHW9X@Pi+6hAfA z8S&B9&0tZroL7HH3kw|9GZf{2Z(v1Kn@!|~j;R+MNiVPNg4D=$j<8>b(|3C)pA z&6j7k@-eooV}X7?y`@QsdN5KE*1+*o(|qE$4eE#_Zik2;nogqm+AxO3@v2^ZeZ-l{ z@as;kdyneb-l~WcmJRUoqfB^8v!QP$7s3p3zUR&2qjf1frCvQLo8A_Yy#)1VMlAk)ghpQg$gDg?X(uy`WJo zQqBKL{~IdzzOsUVJfX~7M5O(u$Cpo2pYe*`o21E#esP|>DyJ<5C#{> z*1V>r&TAuff~#NYio#9NA07WTs&Opore^9HDWLjx?^9P-Sep>lo3%Ve8OWy4hf(1l zhF2%2L#aNU<#4$u6)}U(JAY+i)up?*Tq^Z4@HnniSuXO{=wiw}XvE{c+x3fuD+TFh zX?pHFr)T_Kzr*W!L!8OR$5qPoQz}ff4WQyb^RmkiZf4!nVwwVtq0DXI63DFPKh4#F z^*e8)M730@OJhhf25QC_1)RDAdZ$!B;xVqjfWe=*SuGlwt{bru=w-pBZohMY_q5(C z;JrfOtZ{^`dHTTG`bRvI{98W9_IF@WzF*4s zXW5H3HMK+;;#*Ls!BgV_5m5j?BF+YPw#}<4bh3)HJk@o(^g}X>y2d4@Si`9g11qM0 z!W?UT8p1$Yg!2nD5PMEy?y^wdSaW=2|NXbr`S~TT)lq*luV&UtmbGZ?**^KW%ye;O zPG=DyPfXKeulcBqz%eNAB57Ts<0APF;Hd=y$dop$Psw;)Qui|#cv4Go>c}#Kn)6{P zlULl2*EaMCjZfP++rL)%H z$@@MSsP>}7!j#(JEZPyoNMW?wTvcO<8i^Aq$SsuB(M73*gdOBguxuBro^m;RJNh2v zw-*sva>G#rkV@0miw-}44G~DHUB0q-fX+hDu=zIby-v-UUMtFhGV5N^JtNAv(A3ae zXu1Nrm{cA&y~vvz{Kfp)zu+x@La9 zs`_VBZ&4tDR9OQ_Zn3JrYf&jr3oaUzbL}Z6E$NfnfhhSD>2mimH1@(PHOs{aS3CUa zUIODUD~M*r*MksYFdxsp<4mkLSZ;UDZir2*LluS^#8F#jU;=3d%{Es`LZZ~OrqYK& z_-^w8>DO_pG8L>h@2WF-f@WJA#gY$~cb)lOZNRwHnIe9FPYBhIsTZM+XhCHKJe!S* zNTDxLzUPvGh$`uQt+te4C3!N~vjmxLA+I2E8w>RuYHNIKjxj zyd~YV297|G17Re9-4XyXo~HVcX)Is?Ob5&CCvWs|M13+L|7XL380hmVz|JR%#6q6Z zKkx=qvKN=&E)YDddAqqt?FZAK-BHN_d4&_Y6HGRP!e&-#h@6<|PmogUW1$IW{6TPE z3kf{+*=M}(W+kL>>GuZmtF`aP8vm9dS&lq&c%p7zdRifG21boHF@bzS;btkN%xO)T z%=;^kXEoAv#~*w=aruW_41v@Tli-jyU+qx(-9MVAvfHqs)OQ|i==!`y_DS5=0AY(%E4O@HM!h&lwjR!N)|d`}uJVz` zw&8)ab-7s4#IHtXm0RDDH>?Fe5~?p3MN#&5^@Z14TaPD0Ct}Y$A;sWK&wpC*{$_ps zCX+G@k8+`0^uv>O5N=$EFZ`wTMqJ9Cc38IgqFAAj5Luy|tj1tng1mX19FOctA6rdi z%996QA@Ip~T+8oX&>e{TfS45OWG7is0gp}tEvISSZuY?wjjBv;jiqR(I5RCewq^EL z4qKNKTIjVl<-dK#DM+0|)K;e6o-&p;sR4iY{d}D*!%w|khzM#y?lQICXiT z=_Ba|G}sBgAKiGSHGHi9*3XHMoLQUg^w^@g!#_~RMc#)TCh3vtFmw{wm+!?R#QZVZ;F|5$-z^p-@ z^MeWoGyU=@o*ZHGoN?7c-J53%gJ=pCBCUT<^)J0n^3)B2uU2CzUZ4QQ5c7i`QSZ5H zg1K+Q`6f5akNwj;g7*0B3u3og3>3F=LW13#S>=C!#KK}6@@~%SXvz*r?$;*BDzc$0 zp3O7^G|4=I^RR8)p@+O~6ni^@_S{*pYt3SF#Vm@(tMGeaUt3?ohiEzTOx2cA(e+6Q z!S!5PfC+qp=K=eh5LVgkd~8{HJR~L9%~sZy-tlT<`>v_5lf*rVxGVKE_s6&|p^8+D zWd4=X=GMysInqZX`oYQFK-%8nHlr-g8tvYk?m3TPv6jNIa6rs2E3rFh|>e8way5)w)mpV6azk`M75l ztcIB-;a?6cQzS`Xa&$Nr*w`!NZO0)EXrQN<_;WTv2eIz(aPr*`{LyHBrYQobENl6E8^wv$SJ+z$uCU`v>cW_B@7I+kq zmwA-ER7gNnfyxWKds^LYtupCBlRiJJtg%U>_WroU{8!a9>?kFLM{0Bi8oP>2Sb}+` z_8``51A+foX$GVa^ha;)JnOFo;n=&{+{j;wcp&YKc{@0*jDIZ@OZkq&6-pF-QEab# zVPHya_vghDw)&Rl`yFDfPAKR-i~A-#KA=sg&yqU0#OTJF@z!-&O@Wq(r;poom;HLe zHmB5rY^|HC4{%=Jd2#9jTMkR^Nn*uVGOsdVP88RN&(`IpD_A0W@_{u_oxsiO*|Pzj zoa6QL*MU`Nr)btoBVVD{pY@>g<1~>=g%`r^Yh_E<7wNW`L#tr8b9#J02IEAevYx+C zlCwl2mNJ-j;QacKryH|oDmy5=YEDL<7wVGp&eGa_WWB>Ocf_Pjb?JI6{&4uR)HSkf zi6-9JXBp&hG~C(@!1joW_Qv842W&?mEsB^?1sToEwJ0Q2S9pYZu9Ix_WEP*(*b8Hx zn#Wbg`XlNxC&x|qJdcx$Rdx&W^1yhH6C(n^56#~lSI-G9cLX=~7H1vU0Hd%rqz|O` zAb}GYKFB+^ZO*1~RjI^MT&*9E^J{a~csUGo2rMA=6L#=l6@%$VKT(``%Cjo$w>64u z+Fzu5>99}JHF6D!zorgktDhPPA_4bQDK2mue|kYDPMU1c+B3qv$!f0 zj}}{^iTv3uT8&DxKZ^CB;eIzR1M!cLVB&Opjx$dh40L`j;6|0N0MaykqH?>FKjgIP z`Fhi^`Vh^k-GG$GFibW__T=W^a{*iTV2bG_W6S~C{vq*yAYq$`5B>vpS@jt&LI6B7 z<|s&gGsIv(=KX>TL|VWrF3_pC>icAx{v0PZ?!$*$PTWHYnTnq|T? z=w|n4&o%o$G{tyjJpr#8R688`Ir^n|;4pU!3z9_r)uarE(~f%ifp3# zf^0xu7%tOezut!uAw+$vsB&8jM_EpV=21;dpm5Ul*mP|X)1Va7Y3MdFo{8G6srrRB z@jhI;xV7|HQ?U}48LA5CD@Gt}0;V)_uJ12^K<;Uaw1A|GiZ_2@7pdmWXrlO>chp1S z?%w27y{5Y$!sh=YcwiD zV~DluYD0r_XCRm6kk8&$kr79V3@oW*t+rKJw6%>BuW&UfdJT9)*^R=1#;y4okQ(@Z z;J3OaQv#`E{SXUee%Hn{>TIcrIPw*Jf}Z?gdMiA1uCtUlXvYY$4RnitE8_!5?6@Ei z0;usm^FetWL`2KZct14{5P)C&ra;W~bQ4DwGAEo6ci!v)Up)(=&6K&3K^%J#0y|^(IqNDWzoQh!q`;R5u%S}|O1PaMEKWE_#GcT__s0UvaIVX$l9zkNB5){P_xXh;16U0Qr7fy|z_vCzV_ zUGt~Vn=?SVzA&LrzWwcN@e@)#uN-QiSOlHipG#h}j~1l{3O*(>!3x+E3PkxdL|Fv5 zDG48NXi^{!90l8jW;LA zb~ZdFfuZ@y?mwE(`m#Y;0nZoTKv$9hHF5p^kHezSaY9Ik0QELXe@R>AXo3*3r8Bs; z?L86>`h%Y`MhKKpX5+T)w48hs-a0o0s@T`D1I5H7UMVdhfdM|+0Yh}yFLyTDxMo!3 zx*5guX4D`u$QRUVfMEM!USPEqyzd2(uKos??|~mEtUP)sGiEN>Dt=u@tffkBjxO^P4xi4uIYUUL+5dptKpOZeV|e5g;q zTq0+kXx&;>Xvz}(O6`TadU23Fatx4Ou%KLIBGrX*CuC1&zH}QPE)=B%HrD9Ok}b(E zDObaiZ7Cd0rsw%-PYuu<%&MDxZpv_nw0LXb~ zr^R0jEW6fGAb`RM6y<6xL@gzADh(VmYVKh2vvR8$B1A7d-na0!ISaiR_IgXLqb<~` zIZwt(Q03ATp?~3ueE25<3m{HTHq+H_Ok~onl1UJefFmi!iu@KEqaElqtp1NKji?Wx zgZx`ng!RzbC7{$pG9RNtVvUgPPR?Q!FK^d36d-45+HI0p#wCohGrEAfF+(C5)ny-b681%wTO=r_X_gjZ|;P`Tkt z|Ig(5Wrw51Ut#(TVh%I5a#~2tH&^6fxqmP@ zZecle(w>3|VQvp`3@n1$lO#JZmt}9Q7sVjQk}hhA5XYQupt9>Jsqsqf~WzRIO> zCm^PPbx5uk>AwlIf41{`nuD2|BP^T6WT54EYwm!-)>Npvg^%`mWv>2XwEDfWC7+b> zd5W!dt#f&(!3yxuSCxcf3Q_9aZvqVzj>9uZ$bkd&$VO9W$Jba0E5XMTl9CkgR2IP& z%SU@Ty7(c2|JndizeB7vn=E#tC4_20sWZYt&?3)vI#B8z6;J~k05AxA@OUY-^UhcZ zfYYe|tArW|0blw6r+~R~E086jHSpXTMRq~$xqZ;h(*}sw(F+?1aIr4NQxQH|_ohPD zYIfT6@uk=23wOkFUxqXFNMGeL?gcG8Hm&BR#f@e}-rSzgji~p0VN9PXw=#=RBL2XI)mxKgrzjsYbXc+`I_yVP_HzH4vxQm1=ARTIq6SnX+6-+5oh)@_ zohg%Rw+||+Rn?Hk6%Mo)nck6$ambI$?=t!I!YK&go8W6Gt{gn2Y!pHd+V6^Gy}8wm zcFe7zwJ2(WSm*w`?73ISIY%Nk*_&Q#Wlke#ZQ+;7C$($y(mYzU3V)Hm|Ke-rfW`DT zEE*!R&TQ6FNlZ%ix%V;uo9my72>s`2F+NJG^|A`?m@;2a7Yxsqxv3sQVbgrFon}Fz z$n2g5@bcri&b@g1HIshgglM;{DeZAj)v*-c*7+M5*EUI$n7Z7*l<#J}YtN=%)KZ$< zero=CVxYBoHP|YfBlSFKabYt8z&rdGT^LH;1>P&IX4W!JTWg_IU>?MZ_gPAneHqjF zsbH(@9;0!RCDJ8Y(qNvTS^O%yWxiyR?6bOUy^~A7LE3Iq*Vk)*7Ewk@te|l95EpnT zbLB7B<&Y&g_)lQ_-q^}h?0)L`K&R^FOQMdiSHrpxWK#vj0cAkuuMSurfz1#s^Df$;Ub6VFGMZI6-Z>=3z z6nup^O`)nCGa&W9&@p>$oAkbGrN8UDOw`i$UBl9o_@#xuH_%j#@qP1ykew}_TyH~} ztXOSj?@gu%lespq!cw)_3aBNO|6p zag=;hM%Rn&hmJ#*{=7@t(*)W%oQUAYSb^45)uU9ene@*^ky|FoE{$&T20hD!Vq z^Rc2fS5Z7biRHBCT$%an?`Km&y-E1?oXq%?Y=J!M#t4N*1n$J_iG23Af5Fw5{iOBN zST4JRk+>H!AJ{G13-WYS`=dT~?*xHwmRxjK-udQ7sj_tbb4!*(E^>dw!0%$g-fY{W*%V1nxBadrRX{N6RtwQ&c4OV9lk6_?*r zR(uH=OeL45j z0S3*F4GicP(i-(zKPWzsiqyZ%R)6H%-|#!@gvWYnQ{7v5K<<`g zO?Hfc-S2qM(rju&io=(#m2-fpCvDBAfA4$iSJ`#NJHH$37CrW>;0i|CpW5t-c4A?D zckU~Y7ji4y&9(n0DA0rOna;V3%yH-C99{8@Om#uFbxbHrUkXewlgLe;a@NM9e1o&2N@F3c}PQa6g zUx-H=Q?%mXo&3=#DjUA}<59R1W~A*2k-Gtx`PK}l!+#-G;(?fe-!c;wa%(%;m$KrU zB=@+$^BfvHbJEH~=pMb9f*7CsJU?;nP!SyGHTEtsnDpOui^?DJoXzG%f>i4i@19NQ zY1E$kmxe03j5#lL+}-H)X!XY`CK-E`mL6+RWMgQVSyaV^ZM-!rgT`mWuC5-M;OskvhH>y#)a{apJ@G?{ODODGo zihqj@IrlT24T0th%M1@cQmf7MBJbwhVM=kX7|2Itr4NT$(ttIh{z4f8QAQeK9pcrW zWN+e>{vqEA=v$TI)>JgSWzzfu5=)QO6`bYQ<$hyK>Zm~=Kua=4pIAyjf$JL6LBVjp zkr&TEdhYSjA8O8wDW9tD?`{J_c}*(jR-2dhM~A8n@k5i|;|+hKHZ({GS?w{@N$#9H zHA#66nU4T8FC>RYGsEUW;w6~nUCgSSUM@e;5C&W(WE}uF9O3zqdq2G1@l$c#z&>{te=i%&?!mCVg&f3)ufZgq?fjBcs}t7esYACiuM!aUsgCc3@9mTmmjad9C^GN;OGZY(U(>~2H*H_ksP~94od9?Y}C4UrecQbR}$X1f7ikjG!VME>^u=L+w>+k$B&QM zi7-2pZ?*Kan*=O7&nZ9egVhi0Tyr%YT>>6_KX6tP@#YK;P$3C+8m(2;?mTvK3b#KLXwq)5i_~xOf3IR>Cv^U zs`@KM-Msh$yP}AK_el`^UR~JkH(hl~5&6g#4dQi+n-Eo+`y|d#&AYqL{%iTGi)ZoP zMa`a%2mPc|c0+9Q6v>iPsJtm~%>tHKUVfL+lg8SoguaXqvVuRlijN%2#&$!lI4@V)(@n#Lxdd4K%R3;jlMO^~x+-c~ zFjNgKD5xGJ=9AS+PFD{aS!v89ZiB!a9Yw_WH&R2nhQi0+Y^Jq-sJE&%Z!|X3_l-8J zg%?y+93!}q8AiaHA$@so)xQZCbR=2_fNAYSZ!*=Q-7unmv$!C{&93q833j&Qk z_NA~K)w7UGzEV-5=8jKh6%mD$R4fKx{!H;^VAkGpcxm3W?F>%B&zZb89iz%%o`NE@ zXV*hly0NQcir@3zD|$_+o*St;JS-(elOg()Jb%>u9T>i&?jIB0r{c6UIJPd9Z*QHV z9Ej4C)-q%UG2#+FSHG!;A&o5H65LLk?!T2D5w3=$oAH?(RpG`(8#*XwIDJ))p)4#n z+u7ktV^<&UE6F!%;NXXRrd767R1a{kLwd7IpO(8_VrV0J-g zB`$Q^oNwVv<4czDWwmYvCmbvuwHk!YiJ9op6W#{#7CDR~g1~6i?&&a(HaMt43Kz_% z4rhI3sxe<0S!YWybni~UbCX?Xf`kz1DurdYCg{!Amf=_Qv9l|`o$(>X+01LH6g+K8 zpVBqw#a+|-+z2g7l#t(}G}tM^a^_6EVyhN>?X{313sc+!En2O7zgK%mnJXSQf{psh zP2!uucQkU^En!PGJ$sB%KKX%K0BhzNQg7>=1KaVhDfXmTo;o<^ zL9M_7Vyj+&wpJ#f@HN4)?0xn*R+WGj)tocpb&ck z(*14$%fnSn#_`6-dG?!k`=@%dQPjgVt&jt@ z7ji24rBTNmj(a*8{y)<$bo`GGTCdqS-M;@;4}!=|dE9)~L~n7ruc4w>QHx5diXv@i z3~=A7F~+4va?Ar0$wn?BCkt|R*vYD0tov*&hM*^<aUk$`hKiI35R5JyfHBZAH(Jv0*h_iWJ{!HHDF2wY>zLQMs}FU2$Z|4 zsWSC`V$AWULLXG$G$bU)Kpk$7@$#IHadGUo5Am2~AkXO=qf)3JrZD;?7hgb`r5`1V z+P{0GodE}xECKogvo@rW`K5j%btY5|wj+CRWIRiakX3rFmD|yxfPSKI%0;@HI91Y_ z%EhY|QOuyn9t)vOU7{y4GvR{}3Zr(%Eb zdhX>IN}c}Ad{3TmH;ej7(z9c|Xs{wvZ%DfS*#upx>$)f)fjKh}LOy3zrMz)cNshW^ zRI1-D34P34mku7_4HWq(CRVH)Gc*c2p>N~R446s?mED@K>x-5Uw8G`UwJrW@Zm}ZZ zyw`6hhyMnTVaFU%>AE+P0P}hOF4f@@^{Jhv^(18kYqEthS`t_tb(Oj^x>v+Se(tV0Ku<)<9%ul?gTDgWmHZfw%}JXQVnbvE&5P^g)n|rA$Vx^O zXW3#h7r(wG&HjRxA)SK8za8q!45v*p8A369VIgHF?o7!I_x6{F#``~sxD#WlYfv9x zjux;5s*%LBepn$6uOy=)XuR{6dEhL8Ii($KooK#c%AJ?TA5Pm?&EfKslsKJS8^-wh zUpfc;@!hxQfSQDAU4IBD!@TVygq(hP4!1q6A$zlk;uVyR5T}5tSxlugDaL3hj(>e& zlGhkf_yVJ7vuodg{x&8Tjq1{dRqL^0ui3zBanrxq@ViRmPKD7zH4CMUu+7~KkROVX4)#aQ}1dn@=UWf%F*y;U_h3vn}`CoM0!=~MhYFp)WalNXX!{7&8 zF4WG&iQ77i+{5||z73dqc+|LdLt|0`u(C$jSH9|%Gb{F7q6`T#AxwFkk84&wH!1G^ zL#AeOJEod=EdwA`SGT?^I!uoG?)D|Fu;j#x?^9SwGcS{)1PgeFDHroYmPK@Wk{7ym zo=Q(7%LGeRhznOKQA0zheMqoxb0Q%QKU8EsVkF}% zvnx(?@-oK(pr|}AAhfR34gi55dKg}QR>v>Tm*IuM-&oZv0x5cAaqMH`xj~B6ub?p& zHs+h=ECd7MoDVhTD^$brE~#pHHH@&-43J@9o$9)tvYB;tXK@JLele(7s||C3xW*IU zfjK}&uO}9wz3CssMcbk=;cu_;xl#y?Z;APeA3gP%hP=s!2z-)xC}@jH`ajjLF z#Kby)sKJZGhLNL8?}Sl|WGSuH6I#Sh=dBaLg;tiok~Q4laxUV;ZcEGKpOVSnT|$08 z6b8k=`eyZMXpx|^K<6rTb1;#MN@KSg?>SeQCWsA^TC6N%@M9hnDw?k&uA{c_63d{- zt#YrPCgB?NS4igmRLP9b1JpMy2`LvY;9b_RsPxeM*-~WMt}AkwAQL94+aw7Sk92_N zx;S0xCpio!L~_Xy5*ZlApis_(agSfRaLSs5lSo|i8A1NEj^`P@d*q*gop?fG2=X#A zx@2l#jNJO3W2LAA=*S3>VsQqU?06`HE)YK}+WlK0i>|2w3$>eHP7JZDpdew7IepCh zN8~rnu41SjY;%Gws!%-g!_ZF?>cS7_I~Xa$8$Mvc6Y{H=pp72vj>n9)1zKC*T!PG|~RS zO91x3|DUUwSG4--aIea%xnYT>FDORUdplg$*4$Y%mwy!PCB9TsUc}99W;P&Onh2=+cbHH#|*RtudBq|P}Ftx z&C@=62aFF4gnoa!rhn=g7Vs-XVfVBr7Z5t$&u^BXQ*(6m;M0ws{tZ%M)VdIhd^7MR z|KvDGIcM}P@Q(yBv-*2@3aOn%q~Tsvs8w3e_c-!oMxw&q=)lr&TTahJ=Kn5~b5F9q zm#FcwVdkC&9Dg|+1?AjN*Wk2eekY&Vke>}Nkk6_uMkW(r8%HLjT;swf*DlLMaGr9u zxChsCvAwv3*EEVrWK8I$@_9IJDRSiF7%H=w`cx$7Sn|ouerimyg_MjY6B4P&7$UJA zx@2p7+89H{Qti|M9pJp)OM5Jf~b0WgJL5==GVi z!@yQn=W!loaMI=V)`$U??v_~mmRhY{1dp!TGyS$<&DVzb>yAuLXjP$AFoTb--eM;Q zN-gB}6rk}s^y}K7Qwk9R*SVfkU%H29rWw5Pn*JQ0S9 zvJ3b!7Z&g?qVh|Fq?VfjyIrvq;dBJX+WFV*lc~P~%Ln)cDgPYdH%}+ennGNLg#KB} zi|CI(DuhS9h*1Cj>0%}tnnRT@r$>fmtFjS_4dkPRgy^&d$@VGmT!kKo|Lkp{`0Ax& z%_4BHV;e}?)gznB$mFvj$A6W2dp@Lf+>k=+KBSfhV|6b%^5U3FgQ>8iX_j_kW-$UzMWFVoAYqz9fe~Z_8MI$dHscIy5g~R$(yA}2_71) z&-#XX=03;#&#)PoHBI_WukhH~th?nalqfYR_xG{ZyQQ==(cLQ}C)6*T2vMidg;9qu zB=m*?rESD^$)VS51mP5GF#r|b3(XsI7o-2>jynBz_v>P<)nh_QN{e*O5HEh*S7riORh-y%v}MtVV2X9(&jY0A7BL}a-Jk9=cbffgtEtz|Yr2iz1#z?AFMB=yQfu~tak<7sA#_Zo@ zOUgZnrw{#{xOz}pIluqs&yhzV$`N963z~|%+N@7c-Jg8>`?zuL?zG6Jr&S!lwErqs zqLbyqVj{o#I)LA+hBqer4mevA^ZMG$rv5~QsgGk*!}CT{ciWxtjs&i5&qofD=^tg7(|D2qrXhj1*jS$uHqK;D`!O!J#9#+Gf?8>*jS!b}01>`n<)fXvM3^ zMy~37KHAwu&tey80e&b^QHb_2wq6DK^Md1rDn7F~pXoF`VH-+4mnI5U2em(%xd0&4 zqIp)JV?J7RI8O4ql9_uy07j-K<$q%jM~A_wRzC#;Gw1;+@55eBXvpnxjFnmG=AX#H z5TD{LRC!U)_hap^EA3W~FRwq$Of0eSKt}+~cw@7syR^Vbq`@6ga1LpbT@~ej-Lmkh>ekK@0TTVc{0`!Z^}Dr@$^DMcC5!HsCJ%Up z?*O6&?6CDUpk}wTLsyig7XZBLc)$4)f#Bn;s<2vU$DSm|IWVt!jO0W2tty!c1q;*I zf)*q;2cnt6BQ(&y3odFx*GVXKx|c$Z8XH7~RxHJ>;%MKchU)9HR?W@gCVpCzvqGgb z)m!HOM$YnysG#4tKWk8sz?AQ33LyOuXo_G%OnL)y7m2-akB|>(9a!KJ$#mf3CidF| z%gr`6NAp=_HkFSb+CVeSUl|n7Q5U~@H7m+AFGt;qiZQ|?_LTp_Ii90l!A?XUBt)daxZ^HJnG|Js^}9L#^+;O*YJ9JA!t4a7H& zk|<=3QsP7V8KA2d8qCE43jjWYGp2_X9447Whq)eJqLq@A6as5JWCP2=O@JH(1Pug9 z(xdv`S(^Z=g9@CWUg}Dp9}%Z|6QIl%UfR9Rm5bn$NysIUtr^V$!nw;l~{6#=+!LRA|q~3-Gn3vPX0ohQkSH?of4W*7jjDRSAS<%<+m~L*aYVNe4FXX za{vCen>!qJ|4T1Gt^!kC`E^D%T0oZ*HUR9_aK_6jChfQ-`{)FD+Gtkp50)l^Ymyw>c&9t7knWuZm!f zD~`{27|yP@)sBmB$8T@XHJ5mLk&&<_mNb$<55PyT!n9plw|ZQWf|Q(54bWD?g>k8LN-vB z`@l@QM!oj-Af@Vm-=j*mypg-nRjY-Suih+d7>CI#_c${W0I{;#+Fz4|2V2gZ9BJh_ zv9np7WauC@o~2*w9!21~(eDp-AIiw4seNI>v*VXO*9{dw-z%86b|z}~vhE^WyD_M< zl_nX)Dad;(+-!WZ#=4h?BC~L=K$rlE*Ah=amsmDt$E-gGdk}gNHC2Nmi%5{EGFpC zwZ-dZ9>$^n>;(^m#N=bX-k5=G16A$W{kd|s^ z#%lB4Pd5c)viTY{{z!+N7wF5-MaA=n`xw#%mT$G zu-eO!eD`|SScnXWmAnx^{9##{6CP&V8ehO3D@CjpWBS zVWh`+RccTl2XYbmWRNe#pY(QmAY4(IbEx6ai zU2DqV<#>TNOWDTA6s1E;y+V#~94I-Ivol#xMf?3c6K{QcvU)B*;rN{z=~Ajlc1h;> z;=QoZ5zCxQSr#x3(OjWN9g?wiuAoajyx%QuxEJe055O2qwJEmW^pEoD-2}mlM z%ud8~8u9$tyf;!>aeU}S9yh*ryTjHz#J-b?;uR1p=Wze1QW@y_o6qL2@+ybZ6}un<5Vaa!0MZm ze!uLo8+UC^rFPf{GevJRV)%&spPt5zHcJi6))1}QtZN>wd#&clgLbPGebyBDrvnZQm@>6;Ut}z=-yht@_O0yq87G}f5e}6ge3NFWYXPgUsE=36z!nl5cO4R^0AZ> zLmDZ%HUSK&H)}vrWiCpk!*{Zf;%$V^in0FhS$^ICE|)JUaxl^5=kts2;sTSMSLB8g zOE7696QI9yJ-4T)nU=z4P=N{nnK=8x2C_M>I)`&9?YOA?dr21vMD>0tSZ*zan7{dW zZDuTB_+UseeyV2c`ng!Vl&}wtVo#MxP33I%MY675Q~PpX$wc)=Cn;**sCXxhzBo2v z+2&PcW}u$L)?lyyMkMBq3-*id97=s$%e~rVvKi~O@xuLLEjO5$n!GVI+EQb4i)|0C)vP*>rd zOlB|%5Yjq6k!NGgQgYO>-aouOh=sNqlHz^wBr%tN+(4?*pv>}Wu_9F}m&7-CR3=;Va5Dio9vs%zO||g0bMl<{O(d`(o#7d` zdJd(_^jy5p1)35pw9Z~o<{m5JSVzOCjolj|Iw5}-~zl~yZ_4MXdUK=9(%h# zoJ3^(-E!i5Hi=h#`xqzlakC#t)7IJ)qq)5EzLF2Aw^V#@3Nv<&9oB!c{P%7FBHs@* zIkp&h%0IR@;juzX1eP@nAkUtfNHcbj%syx-1EFpuxep>S{@`2KvSX~YctA%waqwkx zy!*3{N;aPQ)L6x%|BfUZ|J0XS4aWdw1h2clI)3E9%fv*54h*NVuSg(< zv?G^98AY``U+X*$WLnSTI~U$--1*3CtCZLzOi+FjMQd2i^`6!<%}1DDwsf3-XuE@Ci>ptqe87 z-K~!TDLXbYKg62>V2wm(W~hsCkVUC^6v)I**1Iw+^plQ#xtXkmXi7`*15D!_(Piyh zkW1zJo{&M@3%CM!m?dY12xxOk8(&|qHM*3AxzCcbFINri3`+4EV|FVaYwYZ{#?mvL zRO1)3F9nXOkIRL>u1ldEfKO}6V}pl@ieLH6tw%eYXE+jv$Wl9Iiyk)lcGASDHs1C; z{cq{hfV7B_ESp?r&S9c)C>3}iyBNgpcqqj(2qfvF`zH%^cPJPp)rfzdah^MFDZ3gK8>D$+ z`f!y%0A^c%TZy!a;4=RICiK6<%MCA0#7}vQopEj&y6`3qA778O4B)RWp51`d4UECS zT@vG2IN}AqHMDE|Z!K`W_~J37sP6l#1loBL%#+=Bo^@s8xcU=GOo9Z1{!h^h5iRfb z?)u|^*$$(pQtp3(D&M)PG7oL!%-8!)IKD6lvV)2OaRDIzw#0>%oHp?j6|nlDoz$tV zTI#k!!^d5F%E$P~0rP3QqjISD-IxBIfmhp-@7#?KU!1AtoCbYqUt~+g-k)kk5=H&~ zPi3z}yUHR`kz2I%yCYyZ9G^jJtT}S_kXS3CIYUUSA_)_)i~jM1DuD2()@;aAm~6iK z?ZvrtL<`Sc;??SC{Exq3SL-~iiwocj>vJ%L#iyvO$f%H~|D@mCg!Xb447bOnO6t??Q0|x%PNV{ie#G-O`hRmi5cF1w@;?FO zhkz}bu+pI)Y5PJp=%q)0S`aF-z~#A9(!B1IKQi=L#Y200-!7hc#|c>3pYoMP_Vx8} zYBZYpG5&BS{_`pcbFp~oH68D+#oKi)IB`4LNu? zGA3WusUYr=H116d%DcapTfXZlLx6gYv^;dG5PdDJ1JBGr8ZDS z3N1b5Drc8^DDs?>hKUE-6r&F0JdvWuKHKCrzN+0G$O(iQ(MtK9i`)OWL%b*V9(XX$e|z-2PAkX!5h*A!B2CUoo7 zTHyR;m5a+|v&(v|(3H;4C4QZ7&8{OC(vt@X_I0 zMyPYsaGE6`#jnR6S;fzP&?7(E&DHTgdB=PfkgAVwgaED`5tQ;W-v=XWlW!{L(Ol?r!l?76Y|14x05{vp&&w_i?6>vDGvQ*39;MmI^S>j*yoI-ey{S8)2muriN8uzn6Fr_^2xt0*1?3~KZ{1=CTjcw z$HF}P_5Iy4N~ganL_za1PzIJ}7eSPkTcfrP@~)KDgt5R{0Uc`rhxattiSvai4H;@L zlx(1C&qo6EsQ_0%OE?znu5)bteLk|r;rOcSO4ATZU*$X8%@)b%{7IA%dq#d8YOn~` zWd8EM`4FT0>yWz>2Z}>-Vz^+fN&zIs(z461AthO^u@4E%5WX^~qv5|7xHb24FbLi%`T03ETaP6K+eo!SJw=-OnA z5C0|%R3C7yv<9vG3FzqgQ{OG&KQZre|DV)}6|Z!5aohCTpL(R6%M5os`1i;4;KP); z)jv4CKN^giOOK633iFOPd_x&G(=S}lv5uWiX?vdRME%wUc zNCQ-TsR0XlIOS*9VZJ!lFfTW@2S%X&m9=Z*8IXV{lh?T%4Ss{Q#glSOb$V{WH*;s~ z((xCmM~4+?8@x&hTU-RY;0Zi`X~1a|*~}`4<|Uy{4M#%5k{CbvU(>J`4CX_B%go*T zt~3a8_yLRt4JdI$@4giUUoTVamV+|jHwv9f5QIRuZL0L*QwBc=D0bv0#oizw*H(5V z0>JePGCNDvvY}^b))a=`GT3ciXpo2o9ZojdCOPgcucwf({MFOoP} z?dZO-rU4p%;_!Sh(HKQmVni-ppN8$o^>)U4@@}#C;?8aw3!es^0IJ)Wc;GJ!8iaig^z$R_$bp!Qa^{D#BTE!lUm93io#&;~g81jUr{B|8 z@t}PG^=FK{fxV}(s#HyK*MxspirG)BK1?y#%LCM)CuNjV^nOVP5Mm};i36pflG`pu z3~^1jl_IFjEl%x~mE*H^%y0EOQ*h4J`%(YZ^Bz=}u>yli2cmq-Efg(IHJ?igmuD5l zk7G}*k0rW}Z{LQF!c_?F+7Dt;TbUix`R`>C2T7*oLnhrPKYB$<49|*@97Z0NAc>+! zmHj(s+M0;?BpR|KgigOgF#Pd+ia>qoGIw$qcXll0bo0|wSv*I3Q=@??3!8xDcvVO& znt(&B!33AI%kD;B>fdxbT968d02vKVY^=Brr~?DC^+sa0!w(I|tD3H8(2z1ytuld+ zQgAa<}ja4cMucYUQq45l`OX6sP;(sFZ!YLhlF3zQd9GS!y?qgxAW!Z z@`SntJCEJd9OK!mrayb>Dhz^e(azXnobi9WZ{?ZbJMY&$ANv{awevMTC-T9?AMU4o zoJuV`K1IIZw#U%UMx62_7T5f<6xTfE(x+kvVru`ABD7qRQ1;+lk4bPT zg;{U4`$1l3jq`bCt$WP!Ivb`j!qn#k_MRE0R%2&8xS z#INbjDTuVbZ4RQ4`DeNWvP#_oCx`5(v1K2%47;5pKGSL6LkICaWBbQ+g6Xsd zu~-YvN5e@9639~CAhdBNIda49-u9wl60~~svSF||!fJOlP*G#90labpv7bivHH}-- zXxwKvW$t3rn2tv8H^j16@x@l(ZHh-yfy>wKuMQoS2&6Bye|u^4MNwjz`)x)qVphMM z%#+7_NT|uzxEK1DB59kZPU}%h&NB`w)@ymO`38oB+XQXW*;{%KGKF_zqh;uny)m&; zkxkPA)1_3#WgrA6M*Yhg0zY!Ve8{EZIGHk0IQH=9CH0Zct-vzUWPP>4nR>w{_Xj?V zy|IbMYT56oJrEsL{DlB>tPxtrF`m-$ z#BDwO8c1N96dC3iN9B5V=GrubQTdL`C@xUc34ee4v!gqz(cV2h7%p2J(qdaFkkSsCx%GuC;AdcfnBLf?!^jf9_ z(w&KW?Pvt@akBbj+i%E5Dcn`Rh6=CX!{sR=?3>W3!38Xv;-`@Urr`q8Zl-GiCT30Oq{j-y)vUSs zyYW5i*@1`JjJE!{z5zU1X;vYZ_n(+Yfc;NGlIJ1LWj?dG0F#=?tSnkLPM#~1Mx=T~ z0bt4CH0_k=Je%;E8}4hP4+~_|VUiM%qCy!9_aP6P#eKlycGV8YjTTw3u*!dKncjC?B!8kOwqx&Wx?f`s`+~HaXH~wFXfg&r1ts7 zPfV$J{%l9u6PeN1OhAWy__$&TaZ&3XBYab`g_&?(_zvHd7>=u!@hB{}Q4b^{SHZOT z6Mau8hdQUiBoudwRJv~IYrtcVyC_ZMYdKsEMatZ0ln8SUDr^3ZZfE+Y&3BOC&ws#B z5xNnMISzt&Olps(ooI_5r&s-G&*X?gecWZhx|>)TE8YE9RUo19JfS%F0BW`z84L?R zY;Uwu8`9Vlxc@|*x97y%*OrOPYzMdxsUf9`%f4-Y^_fx?UkQ6Wf1Sp)Z|e$CIo7+$ z%y^F4e%uwEPzQRkyud!kU;_Tudn>)L68l6qr6~PlhMMdg zPi|Gmlb4=85Z~&?y39VtBA>Y|)~Cbyp9)8`CMv6GGV68d9{}w1X%q6>Jx7iHo&Et6 z^zxw2p6eeoZm;|^7~*1oDtCH%{`p+)9A(Q!5!)+O(!S^gPX_)ST>^o2LQ*#MzcMm$ zmK4g@u@BM#mjWc%tf86s53K%oLQ0X_^5Rdd>NK7Cep!@f9!YeIzy#(qc@eT(H9orRvba0WbwKQW!n1izeN zj~YxMASOKgvnM_ngU|lW84*7sd03@J;eF?z_UP!efA@cS>VNTp^Pv_Nh3TZ23{j6B z-;Xc%=QJfsel&C+aM$qziBkxol&Clbo}(a#YkfU!q!%jlvR82t6VaI1bJ?73&`q>f zt61+i{(0I({Met0bo0D!qVTb)jb)rDCHmP)PWwz?BsNf;!Y|E1iiC)MDz63Y02y&Y zqLLid&CEF^sCVVhV7VFxq)RfvmZ%8kaiZjf1e)V_@DbfSgpi8$=wB9|E2B#_-my_1DHjM z_@%_6wqA0!E6MlM6{?CKKyG?o zP@|jl?Xw(Y`3(<5NK*Ylv!Oj!{yea`fZNG(s}ZOrX1({E#$qV|YUBN?uM;D}zFs z3pf=$9pZUl1 z){=?22sbXiSK-ZOh#XZW9<|UYmek!7^3uh@Q`_>KB$La(%zZhNwMbQLUQtMuG?9W{zMuNT zX3;1qD)olVc%j-aukR8QQ|54&^dfYsjF_C*5G@&BiwZRb)RY*9& zXzMr8-@imKq%WB#MMo*a=v=4WS4%RB0{|yO=r|@9<~r=Esk@&Zq*#M8Lj2rF$EQ=SRo@^bsJYnp4Dm?La@1?}z zMk!5Ts;4fqH#X1S4gQo=^wW=@`N_aq;Za^@n2j#ST^XY9LG_Jfp(5txzlB8)$X6Ds z=<}vCZs41)&!NvxJCHG5>tnR-QEnw50fQ)%`q-9D!PtBBlu4L{P%VY{VLQjlEt_tU zV#$xH`K3fyp^ng!_Rb`G$~%8;W-SJDs3IBgf{RE35l0@WtH=P4CPSg1QHt4)9)3@z zMFmtM@R$e)`_UC^vn#pH;+Dy-q|}}ClmQ|!fwCW^`d*bCKW4Yi*x+uO(A=f(diKonmXM_Av@LH zOS36OS-7lgVswrMgyfeLdGYr#~o+&J`h0jB5gFI*PDBQL}lLuhWxBnK|VAl~DcG-i96OqI2WHj`&W5i^5 zIMJAx+ax=`JQxLOCjN|LqKCb(Jx<1CFw$cJ*?r(4!{t*YBf=qU*+BCrB4B}Azt^WD zLruVR&T-G~E~{>ORE;DYO@^>&VbPEbvc=gjYrXl_S>bVZ&ba-urYwzXR6Z?md) zLT04%Jh58-80q5#4#(S8bpPmIpH$d`CxxW|obJP3si&P@Fv6uKUCtX5heGlWDQdaX z$EKFt>nH@XDln1Lh?YVI@WNUqTzyu4eMjnGRFpl;{oDmu{ zH60e&J(wZr``5V69UcXw?)+KVigqTibXj#MordFs)`j@ZZ9Xa9D8t?Dn;;v_$9AR6A& zqHAKy-T-R*=E@}5yvz3=p6M$8ed+n5-g^RAws{GG&ZQSD7L=I2b~0iCkr{f(mk@Pg z%Ew3uVF5c)m~|)wqX-Fw38@L03F%*wsX~aQ8<=-AKb^cQ5BiGq*+D{I$*qZ-{K9&X z-T;$gS{geJrqI}MG(hKXP!qf7+Y%3tWcf^E#Wc)OZjkV z1d~ZaD0cI7pi(-W1_XKzBjfqEQgSjHL?l}>9QQYSQ)`VP78b5>8UQD=8zl|Lf1F#X z%LYUebN5CS<6M3-ogzwsfeE;Rzhv@DEgW3c%Q?PLS+Uy6>x1T4@|8JI6@NNY9v1*B zGMNnrfD-*2ai=tce;6_OAE1Fh6L5)9(74J|9SG+Fn&ljE&ov%44Y$z*@Wo(c%O7ZJFO(-7}FZH73E2sSCD5ju}1jeIog$R!p(b|y)ntV}CC zLbd1vD@M4p0%VT|D|kb!nnDw%?zvACc4S!Kn1xPFN#q-cN zO$JWfrTEx(Hu@q9DG43VSMp^3A}lL^x+Ot*E;NuNz!pV%`C7;GA6L&Gcx_6&y%~r+ zG@-9L6;}1EJs1XypW%(6$#;1M@=7po_S4f6y2!C;$Z%g|bkxH5Wd8P+l-;U>Qc5C* zJ-R=}4f7POGCC;gj*d)%kZlUJVrnE|)PX-y)m z1&OAje~JJihOPNhq#zvU_}Gd}m+4J%*d6YEcdw$xrSKDI)WtdNSAC=Gi3U%0R7w1y z3^JYa)JGf;K(-Z=B%BS1lmAGZeQ2!1sT-FY5Cc%nIk#~oifQ8PmNO3rAem#O<=&SZ zb*kjcz3;^9def6G>Z2x^Nm!xvN8!?V2vPV5W^8$nyn;WM`BUM3Hn76?WvT6czDe^d=R5pk81fT2IDw>dIwW5P7?}_ zeCA~Xtq36{ipOh0XDi%)y3JE6VN+jdu3LX6RY(l*)eD!2%+E(fzgWU6s+L`Wv^$)R z34?xbX~rj%aj{I!5XtMpHfcb7JlS?OroOV8w?1ShY_N)zeSd?+7RNceJJPpQIF`X8 zzJ2Jd9mx3il2ZyEFP&tP$z&pYt(3s> z##0f4(@(X)IZB?P36gQg41bSqJ<0D`_6o*-Ar@u(laSSojM~dFikS~NnVjHE;Uy$X z^pn7evNSRO_K=Mo3W|wd$Gq7j|6m>t4_kA0I;$lHRXBhd(L|0$f(?joVU^0JaeUWT zatg|6^)Sf5*tagU#jnx!^8CVyff&o6j1F0 zQb^RL;=r)k5DHop7lvH1b(7+XR3x6(zE#+R9~Mq9@v2AeNr=59R5DCExJKlx=ofVHr zF@xNHE}PW(B^`JLp>`5E!_Kx7qfZ}bV6|Ae>PS9g^u66Y4>t`r<|IN-cvTK!XyT;8 zx2nSlz8H@tN0l`an!sUt3%gUk6U-4YA}96Fuk*w-5|(S$v81?hsY>uu`B(e_SMYI(I(=nwMUwb}Au*=+Li>PZyi9^{yl%kNUjI2Wde98=s##2~50_ySW!+)Ff9s z`cv5I)>|d)6oToOIvNXpsWydO_dDNu@Tgn3x;|bq+`G20-Sxaw7m~u97Yt7K=FlkM zlyx>A#h@b6*)gRzZq@_!k%%p0b7dZ)P!da1QfHl}SaO41jA!T(y8}*fldK zIL@OnFR`te)rTChuV_%NmJv&TXp=-T_%itRZpYf;($ds~YdRtENG5?eX-Vf2w|3Qo zSmFKM3ZFy*mn0e(C&@hEQBB^K!h_9!*f5i1XyRRwPd9jA`OuPWpn*>ui>@+yZW#<1&P-ezbA< z)Wmt6XNDL8D|QyS_m_m{Dq+Gi(hdMkX-`)OcT1HBuq^a`laeO;ay*6B!Kcl5j#oc1 zApV-!+#Hb@@Hmt2K4s)&KuydUE?qwbxm2*|hb}JKOx1bzm)yy_m3EnmcdijA{RDPA(#H-fxwMah&5iP7k!-v|; z=8HQ*z8Xcx(_KZ8OT-REUE|L>oW_YMS6`QzjK(7*#q_(HQcIpn|&QNw#`*3$T`N2aC|i z7TMmF&_AoP%}%q0AMb8jiItXhvg^L;8kn-(qZrm*aqt+bwyp8ad2HVg8rBWh%sv}j zUFp`XkLuN)kst0Y>zZ}xI_V3NJJZ?M0uMSX2kMwv*uGS(pr(Jh)Q1`D&6sO;=>Poe znOLb9z+Q!@GgZjuK^@(0O`7x^P`fZRv*0zzo3WWxxiBA6v(QvAQ8^I7Q?jb`-yU$v z^1G{jrBz3nTqZXMLk>tA0mwaiig!so+d0^PGuNLy)dE12#YqgU-PmK$h1G*R5)k{nXB(BBU{Hrrd ztqE-m+#-D>eZ_Up)A8zu^3=Z({hFC`0p(D(0LH`k-p2XsNq6WBxPAtM%}r)LaiQp1 za{;0Id0U=3-LjA*?gJ9V%)_|PYij38^fuLZ>2i;MlALQ(->E03+GcugJ^QVu8MS7D z$gxd5sruVP$LJlAW=qvnhp6Zf<;l~6ABOk&oi%~>+UglWJ5J(>>JM+~cf?cV#yoE zDR6M-lzz>;^l8|snxD11{%>L+@>ibfXeXX$5TSSY_F+eVo$QS$MiA7VP?2R-u%o9nGC^Z#`lI zb}Gp&FlD~VF`w1f%1VGqpD6*Q*}^*uOkc8BC48TKcv!EOQBMyo7N}ZV1>*_vi z%vqV{%ixAGBIawGFZBsZU0AAcW>%wW0h(?msX8;DA2!iwsVcZuY8C z?Z&gbg6wI;s{!_^JIU2$8qIrFL2h8z-Ri$UqF*v{AnlxiB#1_2La9O46y2}n$Grk;9xhFAPTptci+ScnjcXBw-{;Wxt;1WKC^`b*(okLV8>sn2UHDazU+B?KWmQPP9I8sq zK}Q~Iia;h(lGKH$Y>Cz0lvoS0{DLrFM*Hsmb54zoLVCjw%(nB(xe6t6Swg2snGK@1 z%VDUx3FkjBgDSYk^1NoUblD<>{xujWe}O+e7{T!AIPukj*gsw`*G<h0u zL!e0d+_j6G7CDmWrl8WO>MGgXpoMOf7NPH%U$E1mADY8;&>Bp-%^g99_OgL(%CT>J z+Z&}-0h@_WB{+qOI73~FP~w{{sl;&9Wt!~<+3Z{sPZnZdjBES2&xnSqS{deOk+-^F zG>t<~r935KnK-?FVGA~`YSRIKT<_zSM!bUN1+o}fu(68%*7&Y(xm=wES_lFN)M1(00D=~H6X(D+G6)mO6LlExh~GDo3T#aI~+ zmyg!U?qgh4stfTPd52-d&Lt_o>QW`%Od05Ghuqg7s>cj!ajGhf__++Xm0~BChy%xJ zs?-)3pP0}kB}FCZuMBUFdADn|y=3nI>{U1m2z}V60#g_AszQp4z$bs&aPot=KM4Jw zqucu7OP7DS#%@+^!Tyr7VqK(KX%UWd8g99!pItV&jK;Db&L$vb*^2QbZ_KrLG05=D z0&9O!-mH2FO0@ZDYLQzU7f2xO1LvpJ)6F_WCZhJ?DkH+77-=U#40?U-%^a~c~PE(jeQ9LY}mSbUp zfoHq+)y4anY`V4$wM=b|HYdM5RVNO!{A|KI6xNbRw{Nx*qN%!fimB{pRUG zw*l?*L4UCQG6E*pb+%;-u3gpC;?1>TV_9ibBLAn`c60QX3RbAyp-ULg=u~w%E*7k#a?wa_OHU}j>0*Z z$!LW$r|t~BOMy2B<|v`51xh;4UoHGNj%bwzUxqg96#JI0;kG?#Y8|$z9p?CoNF)#3 zHuTtlSDx6#oU`$bHMD;JMzqq`wK6j0Fd{emJbiHMykn0Q^lH_1M%wyr=?if`GG8gsjOetZ=oJSpO|EjZq#3&JQ z8A2-YFJ;;>L?cBehbflDHN7B2Z;c(CHy{Gh8y1$RFYYX8C%sxz(gLkv@sLXJ=2*<# z3rb+|=p0`yu{jJyENtrwLfZ-mxbr5tbn;do@2=Mo-f|>dnDTF6(U(GLk)Mn*=1`5s z!52GY!+UM3U0$~36o^Y|+y1FIkx8x+mWh&IRv$XiX=avIwERc2fGPn}4{q|lRHGnW zOe;@_)MvC_?=DRcN$F>_NCF{K+bfnjIA>kGM)q2++C}o?|fOe3*lVPOWD9S9WAg7!9}K|7L^EEs|udplfSC-NlZv|9dna1 z&orO+I{ZM1WJxI>R8L5-`Egq|Y=;X~DhqN^-F-=NJ>a>>%8}Rv7F4S=7>vXwX^f7Q zyfcMAx1~?NY8ZXyqeQbNY3wq`E429j^LS4e0ApZV)txr!@*N}BmGrJAlex3|8vu^| zM&eOtBLQY-r)?PFqWimRt8AK?G_vU--V)iM4Cxf7;Lko_P0b{ybqDg0lZQTeea#zX zBVo?qJ++R!Kkhkk%MV@l`-)AcV~s?zjHJ_h^FrodEZ4P!{5$lst_!$H>9T5LDYa`s z$4b}J7ytYVG>iPUBt|zo$O&}|i7xpF@kRo6RLBYdg@FIQ@DuOdu@$UjOj)wt+fpE-#O(F*Z|ZOA*}u5d(uL~dc0ge3C3cwD zdXQdiZ7t&8&3aC#Q`srWmU1FR+n?M9WcxNhQ2ed3($ytVqySE$aKPToFDxwop8bd< zA!h}xy_wlPsB2tw2~i=CKoH$s&b>Wy-Pg+eZ)EI0en9qzHL9>PP@QTsj&-?26LG!pwaZ3})-i z#FqWGl9M^t{dei_{(hN3e2yf5^j)v07X=B9k z6odBND)2~zS~{RLiBZ-P3EncfJD=vq=kL3O^xhxTUH|?A{ci%=(hMN26}?VvXO$n< zlD?aLKdOH)-_>N&5i)tvIA&8qPz{B?N+i~`i{?oT@MwDjlb|DrExTap0W5!rKa07Q zq8JJ~k4NyCW-fq?kpt!-E~M-W5|XQLVRMp>xNc`69V$|VPC_6gT)ez(>(QMNIly?l zVglo`Aq6&>r$$Hf+=$!eFi_4TB{{jtitz|~Jz|y}f5#y{$GfSex${nwdLNl5-QFoI zpkKft-2Ut~$#FE}zOuesM4ys^zJ+(`nO(K3n`YPW?*l31?>j87(|_SvliIC7rW5%=-Tf=q$bamHBqag^;DEB{9|> z;?g`ufuytV0Qva%l$&#FyA%DTb|_%ZcWH^gJpS|h$+ki%+MV|ue(*Vr1H6;#Fm*HV z9NhJ{Wg2)Sef>+ZDBysL=WxZ?mk5($3jxd6?m#Np7a&1;=f%%Rv4qP#=G_9Xlq^qV z84Gxtx8v7hF0#JI(lY35jG#-1>hR-iIjCi~C~%6e=P!%csz>DGUkBNYfyZrr(RZcz zWeDUpr3hcsE^L#@_bWs}VJ-zJ$?HGDI4Umlobi+iWnGZsRU@SP$n|X=`Ek`V))kqk zEkMf;&h^fAJKBwP8R|_~-WS{S5-cTU%rPco?>T`gkM0Q<_mwVf}VP&vDD`!Qmk*h~%UDB+sV8n*1c@I&*4?#-`*_UR_35_UeR1QpbkT zz7bW`lt_v|y-NGv16>kacp6<8~K0f2TW z{x#C!NPV1neoQs@7(xf%BQ>v^SCM#|H;^) zLN<#-I`H}xCBPG%n#?y2_mt7(7%e1L!1@U|8RM;BOeQ&19QgO77XeXEI%RG^HY&B{ zu%RdKAtQ){Vwotk@}hi_gu!M==uhBD-}V$w<0~FKq0x%z0tWw)ylA>+p%KpzL~^gL zdkGMgnK26Yie_r`N?R=6=Y_&Al;hZTl+koQ+2;DD15eNw%J#sUWAI7e%@h(=OL})` z^~_xy`qZ^8IJ$*2j+o(qWj?BQf|lf_f9o%1$5ctS?~rDGYBHTwbGb}PC7H(lSaGL@ z>9xT7uT=Swk$A`b4{moONPjQKDx@p@#nmhODKf8S8w<@(0z<1s#@+)De@?!(OjASCzYDD#2m6!*TkP zf+Z;O789Sw&PR34!vV5{$>2ALU^+<)or*+P`!(?V@8mtqc3IG2GA#1;{^rEp=f$0Z zH&7#BuOt?Jg|3<*p?uIC!)fhTk2nR?M@*?54?Gm8()S1LW!$%2_iKz{-i*!1HFt(V7Q{<8rR!? z0;Qnm$R+e0?jVyLM0~svN!afE^+89Lneg3U7^)#9(E<{&=(v<3eQnIDIZ0}SOzm@o zAktNm{!)8C!YKznkPr^mYlMua&^x=$j|P6712ga^e)^zzPy|Lfz>!#4!=ByTquPT2 zx|Fi6NDS20xm$E5+vJi(0_df&C^E z3s4L?brN#ZQGg+-atlhZC_kjn;mBee_j0R&5HNCTr%_kl5m5rrxi;9NZkqrj z!}R8HU(H&i;Ygu*F=rxmVk17UqSwcrWnAu)5oim|O-!qvw6u5jLd76D;{_rB8Z8h>?kTw)ToOeq6V$n&*WC>kr#nhSI9H)M9F&V-fj(FC`#^E8K}Vc zlXawwqoPnGCSkh(XHXm_`rBXG5P-k!6Je=ieLMbS6u|QfMCKv^2*(D%WV8slK3if> zFrjvcUPOIew+a3N$sQA#B*BctH2kFinUsrz>Q<&u`@Pc?>KvRZ*IEyGaQ$LqLPVAo zigdl2kudHSv_5Vg($BZdj9AHCvYCRNXXCU-0mkJoJkS6AvQ1rvlV2+<1elM|)2f~? znz@U#*b5SQMRXE)PJ{8szT*~oww)&@lC+Gy7;{xMPh&w~QQJhvjPdNR)*B}iZIQl} zvZkQAi0E`S`7vkeHi1OXdn4kPQqUoGp9e*DNIaDly*qW7g~IIP9&*SBqimnjlx6T_ zn&xw@5VS(}(cF;~2iQVm=Sne>0M`R_Tt;g6yJBwZyO=>wE8*LC?#PkNJ#i0pFntri zQ>7(>6c+#mM*~glVX^KFsMmxFI4-h-+cZ1hjDr)#u>4~dDvaO0mANag7&`OW+z40t z{MgKS*K`}@{Q9K#3w;F!H5?;Gyz@Jp*|0@a1=7lf7=4T~L6e$t)SGMvhIgu&fq+m3^^eosM6%5hc|kfEh6cv3nvxwq7uhR`C#&$hd?6d3%Wpc{z{9CwaZyJVERnWsv!I^8sl*T~1h* zmigme#F80@$1jZgtR@&I8M_vcN_y{UzsAS>$X$-nB_BgXMPZAAtNrOWLZ(i(D~2cC zpqL1Ck?XmOpi5x=7u{w$!6L08#oZVQ?n?^t5Y4nQ&c)vT&j76=rs*!14sG0Vr3Kpa3Y*h5)ABPPCmTQaQ3d%lhz}bM(H4JBZ{Qh&b-1}9p^U}rTHmBzG za>Ls|$=gAe_IB;VT!9?NUv-V$YLzk%P=uoyc~*{kdL>M1m#O}FdR~$qI=E5_fys0NyK#{?Bt}pu=%V;=b;gdEz?Eip^CPe%%p+y^qZ?Ja3AEKJ<_|elkrq)AalKLOuD(vf+%}(KOohm@fE7 z>Hnq>0}k;2D(JaZ{jkuuQVfs*RqvzbG#0zKYI4=q;-?`i6l|}&j0#CBQZQ`0K24mbt zjo=Dq>9)_)`tSF1tnME)=u-%i5Aiu97EXE{+xb;!`m9kqt;IaB%aBYb4qTHel;@t<)2n9K8_(WgSNnLrR~9OyG1<8 zG{t>$^T^PAuXE73a>lWlAcp7uMl5qR=nK%mvSn9Ht&)5bu>ZjVv6JV6p|eQuU#{;Q z%cp%Pa1%*b9yCehc#Av|9us%~A9pmkwACB#5g8Q?$U8yZX>g5ckTRh(S;oV(Re2cN z@&XNzQSudg)%mF2=`gOK1Y3V8CPN&|+M4?;Z}rQ}IO0`dC*3}mqgSzqGV7bk*%{fB z9}iyi1QXn+1h7?fTs(_P6bN+1X^| zptU4w-P_wO$j$v>OL_TdgW~7uq99!`a#G!SxB(7py_Mjxu{uQMTX##hr^ipL<)CKb z%9zAVJsScrLYVs*8PaYItv1|$rOC`G9d1Sc&-wQa8y%@P3lvm0LUSWpSpbS)FwAom znm^2uKs6ioJKCiAGRB>`wujr8REpz~7dt{}iBmnu0QjZ1KO~BXi}5$MpDm`Dh_Rqr zS0U#TN%Cmx%Ciz!&4)Kbpq_ab8S;PoY@yoX*4PIJz+R+Wvx6qn{>AlX6>V(}Kj4gr z;{F#*du!U|0J89wa}0gp@wx-Q-D1xFuc<2!hq8PBrB`~9B}0ivW|x#OJt|WuE-MEW-L)?EKx{{?Afw?&*=O6UEld*u4}G&<~-*)_c`~u zKcD+^?(rRb*w|T9rBx=Y^5CVJ>|nh8fXwUcQz!Sy65to#CVGW1nOSjNER`)+qEfD4 zK6gHZj2!@Y^w74o^3=dC&QSnC9M5U4h?tv} z5#j%HK}~!W@Kzc|dw4{YL#tT%jd$>I`N3Xk?bcxZY~_#p*j|;x&|UR-J3s zi0zV}^n6vZzvLBGyDjs(nL_u}al13tt?P|{N!PC65PvfJvljdP`V4tfAY<%)iUXVn zGmQ(P#3W!_^bphD3S^K2kae$vfm+|bsL4bOTTC8nZ)(|I&Zfx@bok`Sb>HI{4i+RbfW%n^wStj)CYTZCyg`1ea};@E$@oQxsq5brMH;+|yG}LiEM& z-rkqFH7#fsI%ZaV9wwlSBGvOwBq7W?CRH^dmOvS+ufa1L|s!aKn@V0O|dpX2YD!`=1bEzH}y-J5-<#r0Gbat)`^YXCZ7t<#p1+ zbb7dVz@iAqcTo=U&eJIG+`E}2Juv7IrBL7iXqz|5)V4RuLamitQ%69E2@d%OOmi&JI60s8iw=Yx8>S$kMAywnrH9kGaI! z7m*J3MFzgMht*9@6AVnN+n8gUy^&EpTS_`S7$}X9{FI2jRa~Cg5Qlf8%zgE|x*;PF z+Q%c9RyA`=@CVdezr8yU8bb0NF%&&3ihdN?ea_ILD0u>D=53*j@m&30D8v_0m&h4Zx#!VYWa2Xn== z&8wDXh53w(^VXNqhw7=O5pn0m(tJ#`1SguDdB7%yzyAoCe&~)LtZdlD|MNztq zsP^X=Bs0SKI<#+Gp%gN(`ReC6H~@equ8a!e4dEsEyyl`OnfQeDoxW?@$8ZIR_pK33 ztg9O}ky^`)Fo_!tvN+un0z*p3|$1afB37j^52x6p{b+H!NS zLFjTL&dor2LZBf$X6ZbPiR1Zb5=ilY8i@RqS_fY;oN}&eLmw>cjI6=wvYOq6tUkSZ z(_`}4p6jngQ(C%#s+z`Lq}N+FZpi&Fc6;D2-!YYAs8?t$q&>{tJtfqxFf;L{%?C_+ z@J~JyJOm_f7Tb5kcQE-L)0_EKU*V<3EQ}{f^I^Ey=8={HSQE?30OaHHk&O$PCpi$z&fEg14KiYxW=JTgcf2`fDaFRa1$7b$>nmDr6aUS5SG+op`V_N50c( z5Pym14K*FR=F#Cn0>Z5P&9w!-Kb(1WgL5F{AVy!ppE?y(FtXD0%#fZ_VArdeS$&~C%(G>=E!<|WQVvg z>{~X3#0-9afWSoQ<1$O8I@HW|#+`hg8LtA*E7Wp(6M8WdI(g=t8mDq-^RLAZx?n$1 zglkg{HGg&vBMURj-gF#8-uZl}b+A%dn&WPUq?dcTkN}Jg3?>)hK z&R0uyDIrIDGwFaif~n4WK2`{>sR;N8rVbWBcF4lBvFq3n6D-Il_1h3R$8a}gu7j(+W`FS1FuepQAMLk^BQge!a9yqYiDgl!~z zAw<3%KU@Qp{>5V5T+hmZS;Z80*u(f4iktC>)HvWu$t2nyYo7aZ0*`Ao+q}v%osjXqmKjbBc{M3PlL`vo;K%>4oS30({+1h zM#s=Czio439epX8^UH1YF6Rnmt)BblP~HMm##E0vuX$?G zFk1g(bKP(83V}Zt*=JaiwOOjb!iGkxjA=r7Wc#tovi#7vWDi^ND`3g2t=-#_0+N8cO7JRE|ugk~$ z3b@ZST|Lsr6{>5L=-rp7I^g3?G5IJQXDJ`rHmve_{X-fuN ztH8k?-5v^vkCjYxC#Vwa4LQH#aWE*f&!n-W=lUkj4`#3|rt0IU)~mepm|fe$4&U?64`gSA z&IxbVF>KWR+-1fUQt<;eESLL^twE70%(kVX{uXKXjPATok&&A!&7!QY-cul*e140zONto^)gdgAS`>NGLzuKbxA4TuN-`Oed!tq-(&$IRlDn^hGs zJl1DNlZgh-iW&q#X&U~WTO|SH-w143UYBghEP4U$)WsJv`7jAd`sa=LSxBA3=L{cv zN6ZWFj+a(soaXmnb)x7j-i%qGyWewig#LmHHmxYZuTI*qGAlok6y;Vl{}Fn)(Hmrt z_teYg8G5m9pe~Z2%1vH>uj>^I3*Au{1XMh{+7BzhDL*!ShJ{U6$lHL1guuf5yiu1( zGz_WH-1|HdISVQoumiOdE`8#-`~d>GD~0x&T!*L%7>QG3 z<6C<4oE}+Ix-_jQm&2+8V;68C*A7|2G%W~j<6Y;q-$+m10Hza|xJlAm-QTEI^}E4Y zrgvwxz2+yu4XQhtHucUpoml6r z>tMe7NI{W_rJZ$SX;6L@$i4KR5WFZSrP0~R!ltaE`)s*D_mOJ*iKkaTF8sox)r~Rd zSe;8g^^XGgKdAGj5hU@JIE)<)cN|YP=7}4o4Mr1;WjwP}t^Emx+dtUc^gQ}!Kfm!% zde6Qtb)FGD4y0#NQufKkR9YwLctkKyi_Aw$bR9Uqza~}IAConpm6!Go;6~eVHk$2y zVm&!g3nY~ZEr?C-6Qwb7cutya9X<7}V$Hi9bRQ*A2g|P}<7O)8T{LS#UWfO}yvy6q zkL%w^X`s(cYWf%eddMbl{S;T6@L5dSVz?Xj2IqG@+>f#V2_231Oy(x{YuBX<_~nIa zbRg3N;1PZH*LwPXFII|CQhr6?Tn~Ntyy5ORFPF!OE3x`JQM!tJU9R^sqHer&ykweU za}iS5Up3{hx`*%|F@;rk$gnuvgh0Ax%ohyS5HF0z6gt^}+$5nn;GF zICN4q`jt+)RsO^mZgu%#O@$#t;Smx(5kbQc4@Onu3T6O}Mi43C^-_-%+8m<4n+H1} z4-bnXi2puT(z-A+OlsYlaQl#mV97gccfTx6sBqlm- z`AET^hKF0r$F!;I#Yc9SuJ7xv9)*Gd8>s@n6I=v_I5%mb976$4MROlQX9fKLAyOjb zpdOhep7#Z-2Z;d?*-sMpEoS`~7UrN(R%J;fpsZZ_RAO?ai0iCuy1q~P7c>kbv@D_- zl~Z}S{7_&Cz1;U$mNo+G;_qnnCl=PmHsT>>dwn3d6_Ny1s_ z!oEfqST2(biVua2V605IHRVHQm@aD&d#px09%~+8Sq5exY{(Na-WC=HvKM#qnko&_%^=#VuTN4qGPDv08_Cp}%$;bWPcSWz5CHqrDKs*pRK_5m4{KY$otdh- ziPpgCJ+1+7u-cmZ*?-hZ1WpMTSs0w|csgi(-nh8oG?;M6Av*@2r-{5rD@TXAl!Ua{ zx6)XYB1~)=Ku3lcI9;zChN^e#{0@ja)c;+?qWX$Is&8|3)+a5#WaMA^9K)H`v5$#ac&AlWD;X9G7J#S~Y}{mOKVJK6AQh|8!%{Hvvg z$)B6Xfvd)`8i6i`_mA86V|Ta#0ZiGD4qvJ11JweazasfI^P(z1Rg7avjgyAPvN4sh zu`wy(`n2=c3I+}-&DNb+I{481nd1(9L-q#g)I5K#1GKTCGu^!bg|NBb` z{@qR%-Chb(0(Ft_{aM#_NhA_49I!vYl9D|3ki#U+jQh#synVdnAYRsYflQZLz#DLE zE-Q35g1F6}8^U|u()*r!?SQlokuROxTzJeMF`%7L-3T))D-pOxe3dLwok6y*0SE)a_TT@SLwx7{^HEoloB#j6$=sE} g{QmDnEW6CRM?u(g3B+_Z`xD@WLFwFhu4WtYA3?UDQvd(} diff --git "a/docs-en/readme/figures/\345\205\250\345\261\200\347\255\226\347\225\2452.png" "b/docs-en/readme/figures/\345\205\250\345\261\200\347\255\226\347\225\2452.png" new file mode 100755 index 0000000000000000000000000000000000000000..c40fd5e3f15cbd316c43dce31020740396c57d3f GIT binary patch literal 9833 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 N7G^f4)h4$e{tw*UteOA- literal 0 HcmV?d00001 diff --git "a/docs-en/readme/figures/\347\255\226\347\225\245\347\261\273\345\236\2132.png" "b/docs-en/readme/figures/\347\255\226\347\225\245\347\261\273\345\236\2132.png" new file mode 100755 index 0000000000000000000000000000000000000000..1ad38251b4d9abba2076bfc2df91fa14c81ac07d GIT binary patch literal 7247 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 -**Directory 1** - ``` security ├── framework @@ -31,18 +29,6 @@ security │ ├── secure_os Secure OS ``` -**Directory 2** - -``` -kernel/liteos-a/security/ -├── cap Capability mechanism -│ ├── BUILD.gn -│ ├── capability_api.h -│ ├── capability.c -│ ├── capability_type.h -│ └── Makefile -``` - ## Constraints C programming language is used. The preceding security features are mainly used on Cortex-A or devices with equivalent processing capabilities. On Cortex-M or devices with equivalent processing capabilities, only HUKS and HiChain are available. @@ -53,14 +39,9 @@ To generate a x509 image package, perform compilation to generate the required b ## Application Permission Management -Application permissions are used to control access to system resources and features. These include personal privacy-related features or data in some scenarios, for example, hardware features of personal devices such as cameras and microphones, and personal data such as contacts and calendar data. OpenHarmony protects such data and features through application permission management. +Application permissions are used to control access to system resources and features related to personal privacy, for example, accessing hardware features of personal devices such as cameras and microphones, and reading and writing media files. The OS protects such data and features through application permission management. -To declare the permissions required by an application, edit **req-permissions** in the **HarmonyProfile.json** file in the installation bundle. The following figure shows an example. - -**Figure 1** Declaring permissions -![](figures/declaring-permissions.png "declaring-permissions") - -Field descriptions +The following table describes fields in a permission.

Directory

@@ -72,14 +74,9 @@ The kernel repository is used to store the source code of the OpenHarmony kernel

System calls

test

-

Kernel and user-space test cases

-

tools

Code related to compilation configuration and menuconfig

+

Building tool as well as related configuration and code

KV store

LiteOS-M and LiteOS-A platforms

+

LiteOS Cortex-M and LiteOS Cortex-A

Provides KV storage for applications.

File operation

LiteOS-M platform

+

LiteOS Cortex-M

Provides unified file operation interfaces that can be used on different underlying chip components.

Timer

LiteOS-M and LiteOS-A platforms

+

LiteOS Cortex-M and LiteOS Cortex-A

Provides unified timer operation interfaces that can be used on different underlying chip components.

IoT peripheral control

LiteOS-M platform

+

LiteOS Cortex-M

Provides the capability of performing operations for peripherals.

@@ -104,46 +84,55 @@ Field descriptions ## IPC Authentication - If system services registered with Samgr provide APIs for other processes to access the services through IPC, access control policies must be configured; otherwise, access to the system services will be denied. -- You can configure access control policies in **base/security/services/iam\_lite/include/policy\_preset.h**. You need to configure the policy for each feature and then add the policies of features to the global policy. +- You can configure access control policies in **base/security/services/iam\_lite/ipc\_auth/include/policy\_preset.h**. + + 1. Define the policies for each feature. + + 2. Add the feature policies to the global policy. + For example, to configure an access policy for the BMS service, whose service registered with Samgr is **bundlems** and whose registered feature is **BmsFeature**, perform the following operations: -1. Define the feature policy. You can configure multiple features and configure multiple access policies for each feature. +1. Define feature policies. You can configure multiple features and configure multiple access policies for each feature. + +**Figure 1** Example feature policy + -**Figure 2** Example feature policy -![](figures/example-feature-policy.png "example-feature-policy") +![](figures/bms策略举例.png) There are three types of access policies: -**Figure 3** Access policy structure -![](figures/access-policy-structure.png "access-policy-structure") +**Figure 2** Access policy structure + + +![](figures/策略类型2.png) - **RANGE**: Processes with a UID within a specified range are allowed to access **BmsFeature**. **uidMin** and **uidMax** need to be specified. - **FIXED**: Processes with specified UIDs are allowed to access **BmsFeature**. **fixedUid** needs to be specified. A maximum number of eight UIDs can be configured. - **BUNDLENAME**: Only a specified application is allowed to access **BmsFeature**. **bundleName** needs to be specified. -2. Add the defined feature policy to the global policy. You need to configure the number of features. +2. Add the defined feature policies to the global policy. You need to configure the number of features. -**Figure 4** Registering a feature policy -![](figures/registering-a-feature-policy.png "registering-a-feature-policy") +**Figure 3** Registering a feature policy + + +![](figures/全局策略2.png) UID allocation rules: -Init/foundation process: 0 +1. Init process: 0 appspawn process: 1 Shell process: 2 -kitfw process: 3 +4. Other built-in system services: less than or equal to 99 -Other built-in services: 4–99 +5. System applications \(such as settings, home screen, and camera\): 100–999 -System applications \(such as settings\): 100–999 +6. Preset applications: 1000–9999 -Preset applications \(such as Wallet and Taobao\): 1000–9999 - -Common third-party applications: 10000 to **INT\_MAX** +7. Common third-party applications: 10000 to **INT\_MAX** ## HUKS @@ -193,7 +182,7 @@ When an IoT controller and an IoT device communicate with each other after estab ## Application Signature Verification -To ensure the integrity of application content, HarmonyOS uses application signatures and profiles to manage application sources. Only pre-installed applications and applications from HUAWEI AppGallery can be installed on devices. +To ensure the integrity of application content, OpenHarmony uses application signatures and profiles to manage application sources. Only pre-installed applications and applications from HUAWEI AppGallery can be installed on devices. **Basic Concepts** @@ -232,20 +221,19 @@ Unique identifier of an application, which consists of the application bundle na - **Application debugging scenario** -To develop and debug applications for HarmonyOS devices, you need to apply for becoming an authorized application developer on HUAWEI AppGallery. You need to generate a public/private key pair and upload the public key to HUAWEI AppGallery. HUAWEI AppGallery creates a developer certificate based on your identity information and the uploaded public key, and issues the certificate through the developer certificate CA. You also need to upload the application information and debugging device ID for creating an application debugging profile, which contains the HUAWEI AppGallery signature and cannot be tampered with. Upon obtaining the developer certificate and application debugging profile, you can install and debug applications signed with the private key on a specified HarmonyOS device. +To develop and debug applications for OpenHarmony devices, you need to apply for becoming an authorized application developer on HUAWEI AppGallery. You need to generate a public/private key pair and upload the public key to HUAWEI AppGallery. HUAWEI AppGallery creates a developer certificate based on your identity information and the uploaded public key, and issues the certificate through the developer certificate CA. You also need to upload the application information and debugging device ID for creating an application debugging profile, which contains the HUAWEI AppGallery signature and cannot be tampered with. Upon obtaining the developer certificate and application debugging profile, you can install and debug applications signed with the private key on a specified OpenHarmony device. -The application installation service of HarmonyOS verifies the application signature to ensure application integrity. In addition, the service verifies the developer certificate, application debugging profile, and the mapping between them to ensure the validity of your identity and the application. +The application installation service of OpenHarmony verifies the application signature to ensure application integrity. In addition, the service verifies the developer certificate, application debugging profile, and the mapping between them to ensure the validity of your identity and the application. ![](figures/en-us_image_0000001051282241.png) - **Application publishing** - To publish applications in HUAWEI AppGallery, you need to use the application publishing certificate and profile issued by HUAWEI AppGallery to sign the applications. As shown in the following figure, the procedure of applying for the application publishing certificate and profile is similar to that of applying for the developer certificate and application debugging profile \(you can use the same public/private key pair\). Applications signed by the application publishing certificate cannot be directly installed on devices. Instead, the applications must be published in HUAWEI AppGallery for review. After the applications are reviewed and approved, HUAWEI AppGallery uses the publishing certificate to re-sign the applications. The re-signed applications can be downloaded and installed by users. - - The application installation service of HarmonyOS verifies the application signature to ensure application integrity. In addition, the service checks whether the signature certificate is from HUAWEI AppGallery to ensure that the application is trusted. +To publish applications in HUAWEI AppGallery, you need to use the application publishing certificate and profile issued by HUAWEI AppGallery to sign the applications. As shown in the following figure, the procedure of applying for the application publishing certificate and profile is similar to that of applying for the developer certificate and application debugging profile \(you can use the same public/private key pair\). Applications signed by the application publishing certificate cannot be directly installed on devices. Instead, the applications must be published in HUAWEI AppGallery for review. After the applications are reviewed and approved, HUAWEI AppGallery uses the publishing certificate to re-sign the applications. The re-signed applications can be downloaded and installed by users. - ![](figures/en-us_image_0000001051562162.png) +The application installation service of OpenHarmony verifies the application signature to ensure application integrity. In addition, the service checks whether the signature certificate is from HUAWEI AppGallery to ensure that the application is trusted. +![](figures/en-us_image_0000001051562162.png) ## Repositories Involved -- Gitee From ed9926df065a582c6f8599034d7652e76af4977b Mon Sep 17 00:00:00 2001 From: h00294133 Date: Mon, 14 Sep 2020 17:18:20 +0800 Subject: [PATCH 06/12] Description: Update test subsystem readme --- docs-en/readme/testing-subsystem.md | 86 ++++++++++++++--------------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/docs-en/readme/testing-subsystem.md b/docs-en/readme/testing-subsystem.md index bb2f779f1cf..6b1947fe865 100755 --- a/docs-en/readme/testing-subsystem.md +++ b/docs-en/readme/testing-subsystem.md @@ -2,11 +2,11 @@ ## Overview -The test-driven development mode is used during the development process. You can develop new cases or modify existing cases to test new or enhanced system features. The self-test helps you develop high-quality code in the development phase. +The test-driven development mode is used during the development process. You can develop new cases or modify existing cases to test new or enhanced system features. The test helps you develop high-quality code in the development phase. ## Directory Structure -**Table 1** Directory structure of the source code for self-test tools +**Table 1** Directory structure of the source code for test tools

Field

@@ -83,7 +64,6 @@ Field descriptions

Multi-language string ID

Purpose of requesting the permission.

-

The purposes include reviewing requests for publishing applications, pop-up authorization, and permission management by users.

used-scene{

@@ -95,7 +75,7 @@ Field descriptions

when: inuse and always

Scene where the APIs controlled by this permission are called.

-

This field declares the components that call the APIs controlled by this permission and whether the APIs are called from the foreground or from both the foreground and background.

+

This field declares what components can call the APIs controlled by this permission in the specified scene (foreground/background).

- - - @@ -136,7 +136,7 @@ Install the serial port plugins **pyserial** and **readline** on the local P ## Compiling Test Cases -- Self-test case specifications +- Test case specifications - Naming rules The source file name of the test case must be consistent with the test suite content. The relationship between the test suite and the test case is 1:N and the test suite and the test source file is 1:1. Each source file is globally unique and named in the format of \[Feature\]\_\[Function\]\_\[Subfunction 1\]\_\[Subfunction 1.1\]. Subfunctions can be further divided. @@ -145,18 +145,18 @@ Install the serial port plugins **pyserial** and **readline** on the local P - Test case coding specifications - The self-test cases must comply with the feature code coding specifications. In addition, necessary case description information must be added. For details, see [\#li2069415903917](#li2069415903917). + The test cases must comply with the feature code coding specifications. In addition, necessary case description information must be added. For details, see [\#li2069415903917](#li2069415903917). - Test case compilation and configuration specifications The test cases are compiled in GN mode. The configuration must comply with the compilation guide of the open source project. For details, see [en-us\_topic\_0000001051580775.md](en-us_topic_0000001051580775.md). -- Self-test case template +- Test case template For details, see the test case **demo** developertest/example/cxx\_demo/test/unittest/common/calc\_subtraction\_test.cpp. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](public_sys-resources/icon-note.gif) **NOTE:** >Feature: Description of the tested feature >Function: Function of the tested feature >SubFunction: Subfunction of the tested feature @@ -165,7 +165,7 @@ Install the serial port plugins **pyserial** and **readline** on the local P >CaseDescription: Test case description >step: Procedure for executing the test case when the complex logic is tested -- Directory plan for self-test cases +- Directory plan for test cases ``` subsystem (subsystem, system component) @@ -188,21 +188,21 @@ Install the serial port plugins **pyserial** and **readline** on the local P ├── common ├── liteos ├── linux - + ``` - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](public_sys-resources/icon-note.gif) **NOTE:** >The LiteOS and Linux are used as examples only for different device models. For the same feature on different development boards, if the test cases are the same, they are stored in the **common** directory. For the same feature, if the test cases are used to distinguish different device models and may include kernel differences and chip platform differences, the test cases are distinguished by directory. -- Procedure for compiling self-test cases - 1. Add the comment information of the case header file. +- Procedure for compiling test cases + 1. Add comments to the test case header file. 2. Reference the **gtest** header file and **ext** namespace. 3. Add the header file to test. 4. Define test suites \(test classes\). 5. Implement specific test cases of the test suite, including test case comments and logic implementation. 6. Compile the test case compilation configuration. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](public_sys-resources/icon-note.gif) **NOTE:** >\* Example: developertest/example/cxx\_demo/test/unittest/common/calc\_subtraction\_test.cpp >Notes: >- **SetUp** and **TearDown** are the processing logic before and after each test case in the test suite is executed. @@ -213,26 +213,26 @@ Install the serial port plugins **pyserial** and **readline** on the local P - Compile a test case compilation file. - Define test case compilation and building objectives. - 1. Add comments to the case compilation header file. + 1. Add comments to the test case compilation header file. 2. Import the test case compilation template file. 3. Specify the output path of the test case file. 4. Configure the directory contained in the test case compilation dependency. - 5. Specify the name of the case execution file generated by the case compilation target. + 5. Specify the file name generated by the test case compilation target. 6. Compile a specific test case compilation script and add the source files, configurations, and dependencies involved in the compilation. - 7. Group the target case files by condition. The group name is fixed to **unittest/moduletest**. + 7. Group the target test case files by condition. The group name is fixed to **unittest/moduletest**. - If there are multiple test suites, define the common compilation configuration. - Add test cases to the build system. - >![](public_sys-resources/icon-note.gif) **NOTE:** + >![](public_sys-resources/icon-note.gif) **NOTE:** >\* Example: developertest/example/cxx\_demo/test/unittest/common/BUILD.gn - Test case level definition - - Basic \(Level 1\): < 1s - - Major \(Level 2\): < 10s - - Minor \(Level 3\): < 5 min - - Uncommon \(Level 4\): \> 5 min + - Basic \(Level 1\) + - Major \(Level 2\) + - Minor \(Level 3\) + - Uncommon \(Level 4\) ## Using Test Framework @@ -292,7 +292,7 @@ Install the serial port plugins **pyserial** and **readline** on the local P ``` -- Check the environment before executing the self-test cases. +- Check the environment before executing the test cases. - The system image and file system have been burnt to a development board and are running properly on the development board. In system mode, for example, the device prompt **OHOS\#** is displayed during shell login. - The development host is properly connected to the serial port of the development board, and the development host is properly connected to the serial port of the development board. - The IP addresses of the development host and development board are in the same network segment and can ping each other. @@ -318,25 +318,29 @@ Install the serial port plugins **pyserial** and **readline** on the local P Configure device models based on the actual development board, for example, **developertest/src/core/resource/config/framework\_config.xml**. - Run the test command. - 1. The following example shows how to run the test command. **-t ut** is mandatory, and **-ss** and **-tm** are optional. + 1. To query the subsystems, modules, product forms, and test types supported by test cases, run the **show** command. + + ``` + usage: + show productlist Querying Supported Product Forms + show typelist Querying the Supported Test Type + show subsystemlist Querying Supported Subsystems + show modulelist Querying Supported Modules + ``` + + 2. The following example shows how to run the test command. **-t** is mandatory, and **-ss** and **-tm** are optional. ``` run -t ut -ss test -tm example ``` - 2. Specify the parameters that can be used to execute the test suite corresponding to a specific feature or module. + 3. Specify the parameters that can be used to execute the test suite corresponding to a specific feature or module. ``` - usage: __main__.py [-h] [-p PRODUCTFORM] [-t [TESTTYPE [TESTTYPE ...]]] + usage: run [-h] [-p PRODUCTFORM] [-t [TESTTYPE [TESTTYPE ...]]] [-ss SUBSYSTEM] [-tm TESTMODULE] [-ts TESTSUIT] - [-tc TESTCASE] [-tl TESTLEVEL] [-os TARGET_OS_NAME] - [-bv BUILD_VARIANT] [-b [BUILD [BUILD ...]]] - [-cov COVERAGE] [-tf TESTFILE] [-res RESOURCE] - [-sn DEVICE_SN] [-c CONFIG] [-rp REPORTPATH] [-e EXECTYPE] - [-td TEST_DRIVER] - action Specify test para.positional arguments: - action Specify action - + [-tc TESTCASE] [-tl TESTLEVEL] + optional arguments: -h, --help show this help message and exit -p PRODUCTFORM, --productform PRODUCTFORM Specified product form @@ -347,16 +351,6 @@ Install the serial port plugins **pyserial** and **readline** on the local P -ts TESTSUIT, --testsuit TESTSUIT Specify test suit -tc TESTCASE, --testcase TESTCASE Specify test case -tl TESTLEVEL, --testlevel TESTLEVEL Specify test level - -bv BUILD_VARIANT, --build_variant BUILD_VARIANT Specify build variant(release,debug) - -b [BUILD [BUILD ...]], --build [BUILD [BUILD ...]] - Specify build values(version,testcase) - -tf TESTFILE, --testfile TESTFILE Specify test suites list file - -res RESOURCE, --resource RESOURCE Specify test resource - -sn DEVICE_SN, --device_sn DEVICE_SN Specify device serial number - -c CONFIG, --config CONFIG Specify test config file - -rp REPORTPATH, --reportpath REPORTPATH Specify test report path - -e EXECTYPE, --exectype EXECTYPE Specify test execute type - -td TEST_DRIVER, --testdriver TEST_DRIVER Specify test driver id ``` @@ -371,7 +365,7 @@ Install the serial port plugins **pyserial** and **readline** on the local P - Exit the self-test platform. - - Run the following command to exit the self-test platform: + - Run the following command to exit the test platform: ``` quit -- Gitee From b00353787f3157f85fe18f98afa1722e8c232ad6 Mon Sep 17 00:00:00 2001 From: w00453352 Date: Mon, 14 Sep 2020 03:23:08 +0000 Subject: [PATCH 07/12] Description: update docs Reviewed-by: ZHANGMINGXIU Change-Id: I90f8b21f6bf8c6261e6854faf122a9d225a892f9 --- docs-en/readme/application-framework.md | 157 ++++++++++-------- .../figures/en-us_image_0000001054941316.png | Bin 0 -> 21913 bytes .../figures/en-us_image_0000001055267336.png | Bin 0 -> 5510 bytes .../figures/zh-cn_image_0000001055267336.png | Bin 0 -> 5510 bytes ...\255\220\347\263\273\347\273\237README.md" | 151 +++++++++-------- 5 files changed, 169 insertions(+), 139 deletions(-) mode change 100755 => 100644 docs-en/readme/application-framework.md create mode 100644 docs-en/readme/figures/en-us_image_0000001054941316.png create mode 100644 docs-en/readme/figures/en-us_image_0000001055267336.png create mode 100644 readme/figures/zh-cn_image_0000001055267336.png diff --git a/docs-en/readme/application-framework.md b/docs-en/readme/application-framework.md old mode 100755 new mode 100644 index 13bcf46ac37..4be92759753 --- a/docs-en/readme/application-framework.md +++ b/docs-en/readme/application-framework.md @@ -7,9 +7,9 @@ The application framework of OpenHarmony consists of two modules: **ability man **1. Ability management framework**: This framework is provided by OpenHarmony for you to develop OpenHarmony applications. The following figure shows the modules in the ability management framework. **Figure 1** Architecture of the Ability management framework -![](figures/architecture-of-the-ability-management-framework.png "architecture-of-the-ability-management-framework") +![](figures/en-us_image_0000001054941316.png) -- **AbilityKit** is a development kit provided by the ability management framework. You can use this kit to develop applications based on the **Ability** component. There are two types of applications developed based on the **Ability** component: **JS Ability** developed using the JavaScript language and **Native Ability** developed using the C/C++ language. The **ACE** framework encapsulates JavaScript UI components on the basis of the AbilityKit and is used to help you quickly develop JS Ability-based applications. +- **AbilityKit** is a development kit provided by the ability management framework. You can use this kit to develop applications based on the **Ability** component. There are two types of applications developed based on the **Ability** component: **JS Ability** developed using the JavaScript language and **Native Ability** developed using the C/C++ language. The **JS application development framework** encapsulates JavaScript UI components on the basis of the AbilityKit and is used to help you quickly develop JS Ability-based applications. - **Ability** is the minimum unit for the system to schedule applications. It is a component that can implement an independent functionality. An application can contain one or more **Ability** instances. There are two types of templates that you can use to create an **Ability** instance: Page and Service. - An **Ability using the Page template** \(Page ability for short\) provides a UI for interacting with users. - An **Ability using the Service template** does not have a UI and is used for running background tasks. @@ -80,7 +80,7 @@ The following table describes the source code directory structure of the applica - - - - - - - - - - - @@ -45,13 +40,13 @@ The source code directory structure of the Distributed Scheduler is as follows: │ ├── distributed_schedule_service.h # Header file for the open APIs provided by the Distributed Scheduler │ ├── dmslite_check_remote_permission.h # Header file for the permission management module of the Distributed Scheduler │ ├── dmslite_famgr.h # Header file for the FA management module of the Distributed Scheduler -│ ├── dmslite_inner_common.h # Header file for the service files of the Distributed Scheduler -│ ├── dmslite.h # Header file for the implementation of the Distributed Scheduler +│ ├── dmslite_inner_common.h # Internal common file for the Distributed Scheduler +│ ├── dmslite.h # Header file for the implementation of the Distributed Scheduler Service │ ├── dmslite_log.h # Header file for the log module -│ ├── dmslite_msg_parser.h # Header file for communication data deserialization +│ ├── dmslite_msg_parser.h # Header file for the distributed message parsing module │ ├── dmslite_tlv_common.h # Header file for the TLV data parsing module -│ └── dmslite_session.h # Header file for enabling cross-device communication -├── README.md +│ └── dmslite_session.h # Header file for the inter-device communication module +├── readme.md ├── LICENSE ├── source ├── distributed_schedule_service.c @@ -65,69 +60,59 @@ The source code directory structure of the Distributed Scheduler is as follows: ## Constraints -- Language: C -- Networking: Devices must be on the same LAN. -- Operating system: OpenHarmony +**Language**: C or C++ + +**Networking environment**: The primary and secondary devices must be on the same LAN and can ping each other. + +**Operating system**: OpenHarmony **Limitations and constraints on remote startup**: - Only FAs can be started remotely. Remote startup is unavailable to abilities using the Service template. -- Before the remote startup, ensure that the primary and secondary devices are on the same network segment and can ping each other. Otherwise, the remote startup fails. +- Before the remote startup, ensure that the distributed networking between the primary and secondary devices is successful. Otherwise, the remote startup fails. ## Usage -**Compiling the Distributed Scheduler** +- **Compiling the Distributed Scheduler** -The distributed scheduler uses some feature macros to customize the function code to be compiled on different platforms. The function code is stored in **build\\lite\\config\\subsystem\\distributedschedule\\**. The directory structure is as follows: +The code of the Distributed Scheduler is stored in the following directory: ``` -build/lite/config/subsystem/distributedschedule -├── BUILD.gn +foundation/distributedschedule/services/dtbschedmgr_lite ``` -Modify the **BUILD.gn** file when compiling code for different platforms. The following code snippet uses code compilation for the Hi3518EV300 and Hi3516DV300 development boards as an example: +When compiling the code for a specific platform, you need to specify the target platform. The following code snippet uses code compilation for the Hi3516DV300 platform as an example: ``` -zlite_subsystem("distributedschedule") { - subsystem_components = [ - "//foundation/distributedschedule/services/samgr_lite:samgr", - ] - if (board_name == "hi3518ev300" || board_name == "hi3516dv300") { - subsystem_components += [ - "//foundation/distributedschedule/services/safwk_lite:safwk_lite", - "//foundation/distributedschedule/services/dtbschedmgr_lite:dtbschedmgr", // Configure the distributed scheduler. - ] - } -} +python build.py ipcamera -p hi3516dv300_liteos_a ``` -**\* Primary device development** \(taking FA startup as an example\) +- **Primary device development** \(taking FA startup as an example\) -Create a **Want** instance. You should first create an **ElementName** object with **deviceId**, **bundleName**, and **abilityName** specified and add this object to the **Want** instance. Then, set the multi-device startup flag **Want.FLAG\_ABILITYSLICE\_MULTI\_DEVICE** to the **Want** instance to enable remote FA startup. +Create a **Want** instance to set the remote device ID, bundle name, and ability class name of the target FA and set the **Want.FLAG\_ABILITYSLICE\_MULTI\_DEVICE** flag to enable distributed startup. ``` -// Import related header files. import ohos.aafwk.ability.Ability; import ohos.aafwk.content.Want; import ohos.bundle.ElementName; -// Start the remote FA on the secondary device. -Want want = new Want(); // Create a Want instance that encapsulates information about the remote FA to start. -ElementName name = new ElementName("remote_device_id", "com.huawei.remote_package_name", "remote_class_name"); +// Create a Want instance that will be passed to the startAbility method. +Want want = new Want(); +ElementName name = new ElementName(remote_device_id, "com.huawei.remote_bundle_name", "remote_ability_name"); want.setElement(name); // Add information about the target FA for startup to the Want instance. want.setFlags(Want.FLAG_ABILITYSLICE_MULTI_DEVICE); // Set the multi-device startup flag. If this flag is not set, remote FA startup will be unavailable. + +// Start the remote FA on the secondary device. startAbility(want); // Start the specified FA based on the want parameter. If the name and type of the want parameter are different from those used in the IDE, use the parameter name and type in the IDE. ``` -**\* Prerequisites** - -**Networking between the primary and secondary devices**: Before the remote startup, ensure that the two devices are on the same network segment and can ping each other. Otherwise, the remote startup fails. +- **Prerequisites** -**FA installation on the secondary device**: Before the remote startup, ensure that the target FA has been installed on the secondary device. +The target FA with the specified bundle name must have been installed on the secondary device. -**\* Execution** \(taking FA startup as an example\) +- **Execution** \(taking FA startup as an example\) -Call **startAbility** on the primary device \(smart TV\) to start the FA of the secondary device \(memory-constrained device such as a lite wearable\). +Call the **startAbility** method on the primary device to start the target FA on the secondary device. ## Repositories Involved diff --git a/docs-en/readme/figures/en-us_image_0000001055103250.png b/docs-en/readme/figures/en-us_image_0000001055103250.png new file mode 100755 index 0000000000000000000000000000000000000000..1123a2ad54538e66721419518ac33c94a6eaa5d3 GIT binary patch literal 39474 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î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 D#U5+P -- Gitee From 0e405316005baccd33f9b20c98efac291a6edda0 Mon Sep 17 00:00:00 2001 From: j00292294 Date: Mon, 14 Sep 2020 23:57:33 -0400 Subject: [PATCH 10/12] TicketNo: DTS2019120610908 Description:commit test cases adaptation Team:EMUI Feature or Bugfix:Feature Binary Source:NA PrivateCode(Yes/No):No Change-Id: I05210c231a1507bed87e676ce0343258e52101e4 --- .../x-test-suite-certification-subsystem.md | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) mode change 100755 => 100644 docs-en/readme/x-test-suite-certification-subsystem.md diff --git a/docs-en/readme/x-test-suite-certification-subsystem.md b/docs-en/readme/x-test-suite-certification-subsystem.md old mode 100755 new mode 100644 index 909dd514696..5a18b5890f9 --- a/docs-en/readme/x-test-suite-certification-subsystem.md +++ b/docs-en/readme/x-test-suite-certification-subsystem.md @@ -7,7 +7,7 @@ X test suite is a set of OpenHarmony certification test suites, including the cu The **test/xts** repository contains the **acts** directory and **tools** software package. - The **acts** directory stores the source code and configuration files of ACTS test cases. The ACTS helps device vendors detect the software incompatibility as early as possible and ensures that the software is compatible to OpenHarmony during the entire development process. -- The **tools** software package provides the test case development framework where ACTS code is compiled. +- The **tools** software package stores the test case development framework related to **acts**. ## Directory Structure @@ -17,9 +17,7 @@ The directory structure of the **test/xts** repository is as follows: │ ├── BUILD.gn \#Compilation configuration of test cases -│ └── testing\_subsystem\_A\_lite \#Test case source code of A - -│ └── testing\_subsystem\_B\_lite \#Test case source code of B +│ └── subsystem\_lite \# Test case source code └── tools @@ -49,13 +47,13 @@ The HCTest framework supports the C language and allows you to execute your test │ ├── BUILD.gn -│ └── Testing\_subsystem\_lite +│ └──subsystem\_lite -│ │ └── Testing\_module\_hal +│ │ └── module\_hal │ │ │ └── BUILD.gn -│ │ │ └── src \#Test case source code +│ │ │ └── src 2. Write the test case stored in the **src** directory. @@ -171,7 +169,7 @@ hctest_suite("ActsDemoTest") { 4. Add compilation options to the **BUILD.gn** file in the **acts** directory. -To add test code to the compilation file, you need to add the test module to the **test/xts/acts/BUILD.gn** script in the **acts** directory. +You need to add the test module to the **test/xts/acts/BUILD.gn** script in the **acts** directory. ``` lite_component("acts") { @@ -179,7 +177,7 @@ lite_component("acts") { if(board_name == "liteos_riscv") { features += [ ... - "//xts/acts/testing_subsystem_lite/testing_module_hal:ActsDemoTest" + "//xts/acts/subsystem_lite/module_hal:ActsDemoTest" ] } } @@ -203,13 +201,13 @@ The HCPP Test framework is enhanced and adapted based on the open-source googlet │ ├── BUILD.gn -│ └── Testing\_subsystem\_lite +│ └──subsystem\_lite -│ │ └── Testing\_module\_posix +│ │ └── module\_posix │ │ │ └── BUILD.gn -│ │ │ └── src \(Test case source code\) +│ │ │ └── src 2. Write the test case stored in the **src** directory. @@ -339,7 +337,7 @@ hcpptest_suite("ActsDemoTest") { 4. Add compilation options to the **BUILD.gn** file in the **acts** directory. -To add the test code to the version compilation, you need to add the test module to the **test/xts/acts/BUILD.gn** script in the **acts** directory. +You need to add the test module to the **test/xts/acts/BUILD.gn** script in the **acts** directory. ``` lite_component("acts") { @@ -347,7 +345,7 @@ To add the test code to the version compilation, you need to add the test module else if(board_name == "liteos_a") { features += [ ... - "//xts/acts/testing_subsystem_lite/testing_module_posix:ActsDemoTest" + "//xts/acts/subsystem_lite/module_posix:ActsDemoTest" ] } } -- Gitee From 6b267828bbfdd686fdcab230963b976cc018cd3c Mon Sep 17 00:00:00 2001 From: "[yang]" <[494846880@qq.com]> Date: Mon, 21 Sep 2020 20:33:51 +0800 Subject: [PATCH 11/12] Description: update docs Reviewed-by: ZHANGMINGXIU --- api/api-LinkIoT/Broadcast.md | 2 +- .../api-LinkIoT/IOT.md | 0 bundles/Readme-CN.md | 12 +- ...06\345\244\207\345\267\245\344\275\234.md" | 6 +- "bundles/\346\246\202\350\277\260-0.md" | 86 +- "bundles/\346\246\202\350\277\260.md" | 86 +- ...04\344\273\266\345\274\200\345\217\221.md" | 14 +- ...00\345\217\221\346\214\207\345\215\227.md" | 2 +- ...00\345\217\221\350\247\204\350\214\203.md" | 2 +- ...04\344\273\266\347\256\241\347\220\206.md" | 4 +- ...enHarmony-JavaScript-coding-style-guide.md | 4 +- .../OpenHarmony-c-coding-style-guide.md | 1976 ------------ .../OpenHarmony-cpp-coding-style-guide.md | 2780 ---------------- docs-en/Readme-EN.md | 12 +- docs-en/bundles/Readme-EN.md | 12 +- docs-en/bundles/bundle-development.md | 14 +- docs-en/bundles/bundle-management.md | 2 +- docs-en/bundles/development-guidelines.md | 2 +- docs-en/bundles/development-specifications.md | 2 +- docs-en/bundles/overview-0.md | 86 +- docs-en/bundles/overview.md | 86 +- docs-en/bundles/preparations.md | 6 +- ...enHarmony-JavaScript-coding-style-guide.md | 759 +++++ .../OpenHarmony-c-coding-style-guide.md | 2116 +++++++++++++ .../OpenHarmony-cpp-coding-style-guide.md | 2821 +++++++++++++++++ docs-en/guide/adding-pages-4.md | 31 - docs-en/guide/building-the-detail-page-6.md | 124 - docs-en/guide/building-the-history-page-7.md | 86 - docs-en/guide/building-the-home-page-5.md | 271 -- docs-en/guide/debugging-and-verification.md | 90 - ...running-on-the-hi3516-development-board.md | 177 -- ...running-on-the-hi3516-development-board.md | 560 ---- docs-en/guide/development-and-compilation.md | 272 -- docs-en/guide/development-guidelines-2.md | 4 - docs-en/guide/development-guidelines.md | 4 - docs-en/guide/faqs-1.md | 132 - docs-en/guide/faqs-9.md | 121 - docs-en/guide/figures/add-a-board.png | Bin 32367 -> 0 bytes docs-en/guide/figures/adding-a-page-2.png | Bin 49895 -> 0 bytes .../adding-a-windows-host-ip-address.png | Bin 77472 -> 0 bytes ...code-application-to-access-the-network.png | Bin 72894 -> 0 bytes ...-the-serial-port-is-used-by-a-terminal.png | Bin 20832 -> 0 bytes docs-en/guide/figures/chuankou1.png | Bin 38849 -> 0 bytes .../figures/complete-project-directory-4.png | Bin 16214 -> 0 bytes ...g-the-terminal-running-the-serial-port.png | Bin 2782 -> 0 bytes .../figures/en-us_image_0000001054132216.png | Bin 263419 -> 0 bytes .../figures/en-us_image_0000001054132279.png | Bin 250743 -> 0 bytes .../figures/en-us_image_0000001054250955.png | Bin 21677 -> 0 bytes .../figures/en-us_image_0000001054370936.png | Bin 269621 -> 0 bytes .../figures/en-us_image_0000001054452241.png | Bin 83146 -> 0 bytes .../figures/en-us_image_0000001054570953.png | Bin 214072 -> 0 bytes .../figures/en-us_image_0000001054690925.png | Bin 32704 -> 0 bytes .../figures/en-us_image_0000001054850904.png | Bin 95322 -> 0 bytes .../figures/entering-the-page-name-3.png | Bin 10568 -> 0 bytes ...the-file-due-to-unavailable-connection.png | Bin 10090 -> 0 bytes .../failed-to-open-the-serial-port.png | Bin 23196 -> 0 bytes .../firewall-and-network-protection.png | Bin 107283 -> 0 bytes .../front-view-of-the-hi3516-board.png | Bin 203450 -> 0 bytes .../guide/figures/hardware-connections.png | Bin 16729 -> 0 bytes docs-en/guide/figures/ide.png | Bin 69416 -> 0 bytes docs-en/guide/figures/ide2.png | Bin 54734 -> 0 bytes docs-en/guide/figures/login-page.png | Bin 4051 -> 0 bytes .../figures/network-and-firewall-setting.png | Bin 70139 -> 0 bytes docs-en/guide/figures/preview-effect-5.jpg | Bin 136594 -> 0 bytes docs-en/guide/figures/project-directory-1.png | Bin 18811 -> 0 bytes .../figures/putty-configuration-page.png | Bin 29275 -> 0 bytes .../figures/putty-security-alert-dialog.png | Bin 18010 -> 0 bytes docs-en/guide/figures/qi1.png | Bin 19837 -> 0 bytes docs-en/guide/figures/qidong.png | Bin 5495 -> 0 bytes .../figures/rear-view-of-the-hi3516-board.png | Bin 155536 -> 0 bytes docs-en/guide/figures/reset2.png | Bin 24509 -> 0 bytes .../figures/restarting-a-burning-task.png | Bin 17282 -> 0 bytes docs-en/guide/figures/saved-files-2.png | Bin 5511 -> 0 bytes ...for-the-visual-studio-code-application.png | Bin 380465 -> 0 bytes ...rial-port-to-be-connected-to-the-board.png | Bin 39521 -> 0 bytes ...d-after-the-exit-command-is-executed-6.png | Bin 172686 -> 0 bytes ...he-photographing-command-is-executed-1.png | Bin 51815 -> 0 bytes ...fter-the-preview-command-is-executed-4.png | Bin 8788 -> 0 bytes ...er-the-recording-command-is-executed-3.png | Bin 61213 -> 0 bytes .../figures/starting-camera_sample-0.png | Bin 9097 -> 0 bytes docs-en/guide/figures/successful-burning.png | Bin 31075 -> 0 bytes .../successful-driver-installation.png | Bin 6349 -> 0 bytes .../guide/figures/successful-login-page.png | Bin 13485 -> 0 bytes .../figures/video_2020-07-25_173141-0.gif | Bin 703309 -> 0 bytes .../guide/hi3516-board-environment-setup.md | 284 -- ...duction-to-the-hi3516-development-board.md | 77 - docs-en/guide/overview-0.md | 4 + docs-en/guide/overview-1.md | 6 +- docs-en/guide/overview-2.md | 13 - docs-en/guide/overview-7.md | 13 - docs-en/guide/preparations-3.md | 10 - docs-en/guide/previewing-5.md | 38 - docs-en/guide/running-and-debugging-8.md | 4 - docs-en/guide/third-party-sdk-integration.md | 8 +- docs-en/guide/use-case-6.md | 47 - docs-en/guide/use-case.md | 2 +- docs-en/guide/verification.md | 2 +- ...running-on-the-hi3516-development-board.md | 177 -- ...running-on-the-hi3516-development-board.md | 560 ---- ...ping-the-first-driver-running-on-hi3516.md | 112 +- ...first-example-program-running-on-hi3516.md | 2 +- ...first-example-program-running-on-hi3861.md | 55 +- ...running-on-the-hi3518-development-board.md | 124 - ...econd-example-program-running-on-hi3861.md | 11 +- docs-en/quick-start/faqs-1.md | 73 - docs-en/quick-start/faqs.md | 23 +- docs-en/quick-start/figures/add-a-board.png | Bin 32367 -> 0 bytes .../adding-a-windows-host-ip-address.png | Bin 77472 -> 0 bytes .../appearance-of-the-hi3861-mother-board.png | Bin 118477 -> 122523 bytes .../appearance-of-the-hi3861-wi-fi-module.png | Bin 168928 -> 0 bytes .../baud-rate-and-data-bit-configuration.png | Bin 47629 -> 0 bytes .../figures/burning-and-starting.png | Bin 54082 -> 0 bytes .../figures/burning-basic-configurations.png | Bin 53983 -> 0 bytes ...-the-serial-port-is-used-by-a-terminal.png | Bin 20832 -> 0 bytes .../com-port-of-the-device-manager-0.png | Bin 4991 -> 0 bytes .../figures/configuring-the-serial-port.png | Bin 66745 -> 0 bytes ...g-the-terminal-running-the-serial-port.png | Bin 2782 -> 0 bytes .../figures/en-us_image_0000001053302606.png | Bin 4834 -> 0 bytes .../figures/en-us_image_0000001053782590.png | Bin 5151 -> 0 bytes .../figures/en-us_image_0000001054087868.png | Bin 52059 -> 0 bytes .../figures/en-us_image_0000001054099459.png | Bin 6402 -> 0 bytes .../figures/en-us_image_0000001054218563.png | Bin 50222 -> 0 bytes ...0.png => en-us_image_0000001055012855.png} | Bin .../figures/en-us_image_0000001055148043.png | Bin 0 -> 4626 bytes ...9.png => en-us_image_0000001055172843.png} | Bin .../figures/en-us_image_0000001055268090.png | Bin 0 -> 3530 bytes ...5.png => en-us_image_0000001055372855.png} | Bin .../figures/en-us_image_0000001055427138.png | Bin 0 -> 52670 bytes .../figures/en-us_image_0000001055427946.png | Bin 0 -> 59803 bytes ...e.png => en-us_image_0000001055428072.png} | Bin ...the-file-due-to-unavailable-connection.png | Bin 10090 -> 0 bytes ...functional-block-diagram-of-the-hi3861.png | Bin 60719 -> 0 bytes .../figures/hardware-connections-2.png | Bin 14852 -> 0 bytes docs-en/quick-start/figures/ide2.png | Bin 54734 -> 0 bytes .../figures/ipop-configuration.png | Bin 54951 -> 0 bytes docs-en/quick-start/figures/login-page.png | Bin 4051 -> 0 bytes .../opening-the-deveco-serial-port.png | Bin 62430 -> 0 bytes ...edures-for-burning-images-using-hitool.png | Bin 25779 -> 0 bytes ...es-for-burning-the-u-boot-using-hitool.png | Bin 29131 -> 0 bytes ...es-for-changing-the-serial-port-number.png | Bin 98474 -> 0 bytes ...-configuring-the-serial-port-of-hitool.png | Bin 42456 -> 0 bytes .../figures/putty-configuration-page.png | Bin 29275 -> 0 bytes .../putty-security-alert-dialog-box.png | Bin 12185 -> 0 bytes .../figures/putty-security-alert-dialog.png | Bin 18010 -> 0 bytes .../figures/rear-view-of-the-hi3516-board.png | Bin 155536 -> 0 bytes .../figures/resetting-the-wi-fi-module.png | Bin 2425 -> 0 bytes .../figures/resetting-the-wlan-module.png | Bin 70562 -> 0 bytes .../figures/restarting-a-burning-task.png | Bin 17282 -> 0 bytes ...for-the-visual-studio-code-application.png | Bin 380465 -> 0 bytes ...rial-port-to-be-connected-to-the-board.png | Bin 39521 -> 0 bytes ...-port-display-after-burning-the-u-boot.png | Bin 22299 -> 0 bytes .../figures/startup-parameter-setting.png | Bin 32923 -> 0 bytes .../figures/successful-burning-2.png | Bin 35599 -> 0 bytes .../figures/successful-burning-result.png | Bin 35599 -> 0 bytes .../figures/successful-compilation.png | Bin 1914 -> 0 bytes .../figures/successful-login-page.png | Bin 13485 -> 0 bytes ...ccessful-networking-of-the-wlan-module.png | Bin 76477 -> 0 bytes ...sful-startup-and-application-execution.png | Bin 14441 -> 0 bytes .../hi3516-board-environment-setup.md | 284 -- .../hi3518-board-environment-setup.md | 278 -- .../hi3861-board-environment-setup.md | 358 --- ...duction-to-the-hi3861-development-board.md | 22 +- .../setting-up-a-development-environment-1.md | 240 +- .../setting-up-a-development-environment.md | 289 +- .../setting-up-a-hi3516-board-environment.md | 249 +- ...running-on-the-hi3861-development-board.md | 110 - ...program-of-the-hi3861-development-board.md | 148 - docs-en/readme/dfx.md | 15 +- .../distributed-communication-subsystem.md | 8 +- docs-en/readme/driver-subsystem.md | 47 +- .../figures/access-policy-structure.png | Bin 9937 -> 0 bytes .../figures/en-us_image_0000001053044331.png | Bin 47709 -> 35499 bytes .../readme/figures/example-feature-policy.png | Bin 50786 -> 0 bytes .../figures/registering-a-feature-policy.png | Bin 36428 -> 0 bytes docs-en/readme/js-application-framework.md | 1 - docs-en/readme/media-subsystem.md | 50 +- docs-en/readme/testing-subsystem.md | 2 +- .../x-test-suite-certification-subsystem.md | 8 +- ...20\347\240\201\350\216\267\345\217\226.md" | 2 +- ...67\345\217\226\345\267\245\345\205\267.md" | 62 +- ...6\346\224\271\346\250\241\346\235\277.png" | Bin 119514 -> 0 bytes ...345\212\250\347\244\272\344\276\213-0.png" | Bin 9097 -> 0 bytes ...346\226\207\344\273\266\345\233\276-2.png" | Bin 5511 -> 0 bytes ...345\215\260\346\227\245\345\277\227-3.png" | Bin 61213 -> 0 bytes ...345\215\260\346\227\245\345\277\227-1.png" | Bin 51815 -> 0 bytes ...345\215\260\346\227\245\345\277\227-4.png" | Bin 8788 -> 0 bytes ...345\215\260\346\227\245\345\277\227-6.png" | Bin 172686 -> 0 bytes ...350\247\210\346\225\210\346\236\234-5.jpg" | Bin 136594 -> 0 bytes ...\347\224\250\345\256\236\344\276\213-6.md" | 47 - ...00\345\217\221\345\207\206\345\244\207.md" | 23 +- ...21\345\216\206\345\217\262\351\241\265.md" | 60 +- ...21\350\257\246\346\203\205\351\241\265.md" | 95 +- ...00\345\217\221\351\246\226\351\241\265.md" | 134 +- "guide/\346\246\202\350\277\260-0.md" | 4 + "guide/\346\246\202\350\277\260-1.md" | 4 + "guide/\346\246\202\350\277\260-7.md" | 13 - .../\347\242\260\344\270\200\347\242\260.md" | 5 - ...00\345\217\221\346\214\207\345\257\274.md" | 20 - ...\344\276\213\345\274\200\345\217\221-2.md" | 4 - ...72\344\276\213\345\274\200\345\217\221.md" | 4 - ...07\350\231\232\346\213\237\345\214\226.md" | 5 - ...00\345\217\221\346\214\207\345\257\274.md" | 20 - ...346\210\220\344\270\211\346\226\271SDK.md" | 4 +- ...\345\217\221\346\214\207\345\257\274-5.md" | 38 - "guide/\351\252\214\350\257\201.md" | 2 +- kernel/VFS.md | 2 +- ...23\347\232\204\345\267\256\345\274\202.md" | 4 +- "kernel/\345\206\205\345\255\230.md" | 2 +- "kernel/\350\277\233\347\250\213.md" | 2 +- ...21\346\235\277\344\273\213\347\273\215.md" | 30 +- ...72\344\276\213\347\250\213\345\272\217.md" | 2 +- ...72\344\276\213\347\250\213\345\272\217.md" | 7 +- ...2\345\244\226\350\247\202\345\233\276.png" | Bin 155536 -> 0 bytes ...4\345\244\226\350\247\202\345\233\276.png" | Bin 168928 -> 0 bytes ...7\350\203\275\346\241\206\345\233\276.png" | Bin 60719 -> 0 bytes ...7\345\244\226\350\247\202\345\233\276.png" | Bin 161245 -> 160437 bytes ...7\347\244\272\346\204\217\345\233\276.png" | Bin 76477 -> 0 bytes ...6\347\225\214\351\235\242\345\233\276.png" | Bin 18010 -> 0 bytes .../figures/zh-cn_image_0000001054087868.png | Bin 52059 -> 0 bytes .../figures/zh-cn_image_0000001054099459.png | Bin 6402 -> 0 bytes ...0.png => zh-cn_image_0000001055012855.png} | Bin ...9.png => zh-cn_image_0000001055172843.png} | Bin ...5.png => zh-cn_image_0000001055372855.png} | Bin ...6\347\244\272\346\204\217\345\233\276.png" | Bin 66745 -> 0 bytes ...4\347\244\272\346\204\217\345\233\276.png" | Bin 70562 -> 0 bytes ...7\347\244\272\346\204\217\345\233\276.png" | Bin 62430 -> 0 bytes ...\350\247\201\351\227\256\351\242\230-1.md" | 2 +- ...\350\247\201\351\227\256\351\242\230-3.md" | 2 +- ...70\350\247\201\351\227\256\351\242\230.md" | 25 +- ...13\345\272\217\347\244\272\344\276\213.md" | 6 +- ...13\345\272\217\347\244\272\344\276\213.md" | 118 +- ...\345\273\272\347\216\257\345\242\203-0.md" | 248 +- ...\345\273\272\347\216\257\345\242\203-2.md" | 252 +- ...55\345\273\272\347\216\257\345\242\203.md" | 292 +- .../figures/zh-cn_image_0000001053044331.png | Bin 67633 -> 35499 bytes ...\255\220\347\263\273\347\273\237README.md" | 2 +- ...\255\220\347\263\273\347\273\237README.md" | 10 +- ...\212\250\346\201\242\345\244\215README.md" | 27 +- ...\255\220\347\263\273\347\273\237README.md" | 32 +- ...\255\220\347\263\273\347\273\237README.md" | 4 +- ...\255\220\347\263\273\347\273\237README.md" | 44 +- ...\255\220\347\263\273\347\273\237README.md" | 29 +- 242 files changed, 7787 insertions(+), 10419 deletions(-) rename "api/api-LinkIoT/IOT\306\275\314\250.md" => api/api-LinkIoT/IOT.md (100%) mode change 100755 => 100644 delete mode 100755 contribute/OpenHarmony-c-coding-style-guide.md delete mode 100755 contribute/OpenHarmony-cpp-coding-style-guide.md create mode 100644 docs-en/contribute/OpenHarmony-JavaScript-coding-style-guide.md create mode 100644 docs-en/contribute/OpenHarmony-c-coding-style-guide.md create mode 100644 docs-en/contribute/OpenHarmony-cpp-coding-style-guide.md delete mode 100755 docs-en/guide/adding-pages-4.md delete mode 100755 docs-en/guide/building-the-detail-page-6.md delete mode 100755 docs-en/guide/building-the-history-page-7.md delete mode 100755 docs-en/guide/building-the-home-page-5.md delete mode 100755 docs-en/guide/debugging-and-verification.md delete mode 100755 docs-en/guide/developing-the-first-application-program-running-on-the-hi3516-development-board.md delete mode 100755 docs-en/guide/developing-the-first-driver-program-running-on-the-hi3516-development-board.md delete mode 100755 docs-en/guide/development-and-compilation.md delete mode 100755 docs-en/guide/faqs-1.md delete mode 100755 docs-en/guide/faqs-9.md delete mode 100755 docs-en/guide/figures/add-a-board.png delete mode 100755 docs-en/guide/figures/adding-a-page-2.png delete mode 100755 docs-en/guide/figures/adding-a-windows-host-ip-address.png delete mode 100755 docs-en/guide/figures/allowing-the-visual-studio-code-application-to-access-the-network.png delete mode 100755 docs-en/guide/figures/checking-whether-the-serial-port-is-used-by-a-terminal.png delete mode 100755 docs-en/guide/figures/chuankou1.png delete mode 100755 docs-en/guide/figures/complete-project-directory-4.png delete mode 100755 docs-en/guide/figures/disabling-the-terminal-running-the-serial-port.png delete mode 100755 docs-en/guide/figures/en-us_image_0000001054132216.png delete mode 100755 docs-en/guide/figures/en-us_image_0000001054132279.png delete mode 100755 docs-en/guide/figures/en-us_image_0000001054250955.png delete mode 100755 docs-en/guide/figures/en-us_image_0000001054370936.png delete mode 100755 docs-en/guide/figures/en-us_image_0000001054452241.png delete mode 100755 docs-en/guide/figures/en-us_image_0000001054570953.png delete mode 100755 docs-en/guide/figures/en-us_image_0000001054690925.png delete mode 100755 docs-en/guide/figures/en-us_image_0000001054850904.png delete mode 100755 docs-en/guide/figures/entering-the-page-name-3.png delete mode 100755 docs-en/guide/figures/failed-to-obtain-the-file-due-to-unavailable-connection.png delete mode 100755 docs-en/guide/figures/failed-to-open-the-serial-port.png delete mode 100755 docs-en/guide/figures/firewall-and-network-protection.png delete mode 100755 docs-en/guide/figures/front-view-of-the-hi3516-board.png delete mode 100755 docs-en/guide/figures/hardware-connections.png delete mode 100755 docs-en/guide/figures/ide.png delete mode 100755 docs-en/guide/figures/ide2.png delete mode 100755 docs-en/guide/figures/login-page.png delete mode 100755 docs-en/guide/figures/network-and-firewall-setting.png delete mode 100755 docs-en/guide/figures/preview-effect-5.jpg delete mode 100755 docs-en/guide/figures/project-directory-1.png delete mode 100755 docs-en/guide/figures/putty-configuration-page.png delete mode 100755 docs-en/guide/figures/putty-security-alert-dialog.png delete mode 100755 docs-en/guide/figures/qi1.png delete mode 100755 docs-en/guide/figures/qidong.png delete mode 100755 docs-en/guide/figures/rear-view-of-the-hi3516-board.png delete mode 100755 docs-en/guide/figures/reset2.png delete mode 100755 docs-en/guide/figures/restarting-a-burning-task.png delete mode 100755 docs-en/guide/figures/saved-files-2.png delete mode 100755 docs-en/guide/figures/searching-for-the-visual-studio-code-application.png delete mode 100755 docs-en/guide/figures/selecting-the-serial-port-to-be-connected-to-the-board.png delete mode 100755 docs-en/guide/figures/serial-port-logs-displayed-after-the-exit-command-is-executed-6.png delete mode 100755 docs-en/guide/figures/serial-port-logs-displayed-after-the-photographing-command-is-executed-1.png delete mode 100755 docs-en/guide/figures/serial-port-logs-displayed-after-the-preview-command-is-executed-4.png delete mode 100755 docs-en/guide/figures/serial-port-logs-displayed-after-the-recording-command-is-executed-3.png delete mode 100755 docs-en/guide/figures/starting-camera_sample-0.png delete mode 100755 docs-en/guide/figures/successful-burning.png delete mode 100755 docs-en/guide/figures/successful-driver-installation.png delete mode 100755 docs-en/guide/figures/successful-login-page.png delete mode 100755 docs-en/guide/figures/video_2020-07-25_173141-0.gif delete mode 100755 docs-en/guide/hi3516-board-environment-setup.md delete mode 100755 docs-en/guide/introduction-to-the-hi3516-development-board.md delete mode 100755 docs-en/guide/overview-2.md delete mode 100755 docs-en/guide/overview-7.md delete mode 100755 docs-en/guide/preparations-3.md delete mode 100755 docs-en/guide/previewing-5.md delete mode 100755 docs-en/guide/running-and-debugging-8.md delete mode 100755 docs-en/guide/use-case-6.md delete mode 100755 docs-en/quick-start/developing-the-first-application-program-running-on-the-hi3516-development-board.md delete mode 100755 docs-en/quick-start/developing-the-first-driver-program-running-on-the-hi3516-development-board.md delete mode 100755 docs-en/quick-start/developing-the-first-example-program-running-on-the-hi3518-development-board.md delete mode 100755 docs-en/quick-start/faqs-1.md delete mode 100755 docs-en/quick-start/figures/add-a-board.png delete mode 100755 docs-en/quick-start/figures/adding-a-windows-host-ip-address.png delete mode 100755 docs-en/quick-start/figures/appearance-of-the-hi3861-wi-fi-module.png delete mode 100755 docs-en/quick-start/figures/baud-rate-and-data-bit-configuration.png delete mode 100755 docs-en/quick-start/figures/burning-and-starting.png delete mode 100755 docs-en/quick-start/figures/burning-basic-configurations.png delete mode 100755 docs-en/quick-start/figures/checking-whether-the-serial-port-is-used-by-a-terminal.png delete mode 100755 docs-en/quick-start/figures/com-port-of-the-device-manager-0.png delete mode 100755 docs-en/quick-start/figures/configuring-the-serial-port.png delete mode 100755 docs-en/quick-start/figures/disabling-the-terminal-running-the-serial-port.png delete mode 100755 docs-en/quick-start/figures/en-us_image_0000001053302606.png delete mode 100755 docs-en/quick-start/figures/en-us_image_0000001053782590.png delete mode 100755 docs-en/quick-start/figures/en-us_image_0000001054087868.png delete mode 100755 docs-en/quick-start/figures/en-us_image_0000001054099459.png delete mode 100755 docs-en/quick-start/figures/en-us_image_0000001054218563.png rename docs-en/quick-start/figures/{en-us_image_0000001055674130.png => en-us_image_0000001055012855.png} (100%) mode change 100755 => 100644 create mode 100644 docs-en/quick-start/figures/en-us_image_0000001055148043.png rename docs-en/quick-start/figures/{en-us_image_0000001055073889.png => en-us_image_0000001055172843.png} (100%) mode change 100755 => 100644 create mode 100644 docs-en/quick-start/figures/en-us_image_0000001055268090.png rename docs-en/quick-start/figures/{en-us_image_0000001054713955.png => en-us_image_0000001055372855.png} (100%) mode change 100755 => 100644 create mode 100644 docs-en/quick-start/figures/en-us_image_0000001055427138.png create mode 100644 docs-en/quick-start/figures/en-us_image_0000001055427946.png rename docs-en/quick-start/figures/{successful-networking-of-the-wi-fi-module.png => en-us_image_0000001055428072.png} (100%) mode change 100755 => 100644 delete mode 100755 docs-en/quick-start/figures/failed-to-obtain-the-file-due-to-unavailable-connection.png delete mode 100755 docs-en/quick-start/figures/functional-block-diagram-of-the-hi3861.png delete mode 100755 docs-en/quick-start/figures/hardware-connections-2.png delete mode 100755 docs-en/quick-start/figures/ide2.png delete mode 100755 docs-en/quick-start/figures/ipop-configuration.png delete mode 100755 docs-en/quick-start/figures/login-page.png delete mode 100755 docs-en/quick-start/figures/opening-the-deveco-serial-port.png delete mode 100755 docs-en/quick-start/figures/procedures-for-burning-images-using-hitool.png delete mode 100755 docs-en/quick-start/figures/procedures-for-burning-the-u-boot-using-hitool.png delete mode 100755 docs-en/quick-start/figures/procedures-for-changing-the-serial-port-number.png delete mode 100755 docs-en/quick-start/figures/procedures-for-configuring-the-serial-port-of-hitool.png delete mode 100755 docs-en/quick-start/figures/putty-configuration-page.png delete mode 100755 docs-en/quick-start/figures/putty-security-alert-dialog-box.png delete mode 100755 docs-en/quick-start/figures/putty-security-alert-dialog.png delete mode 100755 docs-en/quick-start/figures/rear-view-of-the-hi3516-board.png delete mode 100755 docs-en/quick-start/figures/resetting-the-wi-fi-module.png delete mode 100755 docs-en/quick-start/figures/resetting-the-wlan-module.png delete mode 100755 docs-en/quick-start/figures/restarting-a-burning-task.png delete mode 100755 docs-en/quick-start/figures/searching-for-the-visual-studio-code-application.png delete mode 100755 docs-en/quick-start/figures/selecting-the-serial-port-to-be-connected-to-the-board.png delete mode 100755 docs-en/quick-start/figures/serial-port-display-after-burning-the-u-boot.png delete mode 100755 docs-en/quick-start/figures/startup-parameter-setting.png delete mode 100755 docs-en/quick-start/figures/successful-burning-2.png delete mode 100755 docs-en/quick-start/figures/successful-burning-result.png delete mode 100755 docs-en/quick-start/figures/successful-compilation.png delete mode 100755 docs-en/quick-start/figures/successful-login-page.png delete mode 100755 docs-en/quick-start/figures/successful-networking-of-the-wlan-module.png delete mode 100755 docs-en/quick-start/figures/successful-startup-and-application-execution.png delete mode 100755 docs-en/quick-start/hi3516-board-environment-setup.md delete mode 100755 docs-en/quick-start/hi3518-board-environment-setup.md delete mode 100755 docs-en/quick-start/hi3861-board-environment-setup.md delete mode 100755 docs-en/quick-start/the-first-example-program-running-on-the-hi3861-development-board.md delete mode 100755 docs-en/quick-start/the-second-example-program-of-the-hi3861-development-board.md delete mode 100755 docs-en/readme/figures/access-policy-structure.png delete mode 100755 docs-en/readme/figures/example-feature-policy.png delete mode 100755 docs-en/readme/figures/registering-a-feature-policy.png delete mode 100755 "guide/figures/\344\277\256\346\224\271\346\250\241\346\235\277.png" delete mode 100755 "guide/figures/\345\220\257\345\212\250\347\244\272\344\276\213-0.png" delete mode 100755 "guide/figures/\346\237\245\347\234\213\346\226\207\344\273\266\345\233\276-2.png" delete mode 100755 "guide/figures/\350\276\223\345\205\245\345\275\225\345\203\217\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227-3.png" delete mode 100755 "guide/figures/\350\276\223\345\205\245\346\213\215\347\205\247\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227-1.png" delete mode 100755 "guide/figures/\350\276\223\345\205\245\351\242\204\350\247\210\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227-4.png" delete mode 100755 "guide/figures/\350\276\223\345\207\272\351\200\200\345\207\272\346\214\207\344\273\244\345\220\216\344\270\262\345\217\243\346\211\223\345\215\260\346\227\245\345\277\227-6.png" delete mode 100755 "guide/figures/\351\242\204\350\247\210\346\225\210\346\236\234-5.jpg" delete mode 100755 "guide/\345\272\224\347\224\250\345\256\236\344\276\213-6.md" delete mode 100755 "guide/\346\246\202\350\277\260-7.md" delete mode 100755 "guide/\347\242\260\344\270\200\347\242\260.md" delete mode 100755 "guide/\347\242\260\344\270\200\347\242\260\345\234\272\346\231\257\345\274\200\345\217\221\346\214\207\345\257\274.md" delete mode 100755 "guide/\350\256\276\345\244\207\350\231\232\346\213\237\345\214\226.md" delete mode 100755 "guide/\350\256\276\345\244\207\350\231\232\346\213\237\345\214\226\345\234\272\346\231\257\345\274\200\345\217\221\346\214\207\345\257\274.md" delete mode 100755 "guide/\351\242\204\350\247\210\345\274\200\345\217\221\346\214\207\345\257\274-5.md" delete mode 100755 "quick-start/figures/Hi3516\345\215\225\346\235\277\350\203\214\351\235\242\345\244\226\350\247\202\345\233\276.png" delete mode 100755 "quick-start/figures/Hi3861WLAN\346\250\241\347\273\204\345\244\226\350\247\202\345\233\276.png" delete mode 100755 "quick-start/figures/Hi3861\345\212\237\350\203\275\346\241\206\345\233\276.png" delete mode 100755 "quick-start/figures/WLAN\346\250\241\347\273\204\350\201\224\347\275\221\346\210\220\345\212\237\347\244\272\346\204\217\345\233\276.png" delete mode 100755 "quick-start/figures/putty\345\256\211\345\205\250\345\221\212\350\255\246\347\225\214\351\235\242\345\233\276.png" delete mode 100755 quick-start/figures/zh-cn_image_0000001054087868.png delete mode 100755 quick-start/figures/zh-cn_image_0000001054099459.png rename quick-start/figures/{zh-cn_image_0000001055674130.png => zh-cn_image_0000001055012855.png} (100%) mode change 100755 => 100644 rename quick-start/figures/{zh-cn_image_0000001055073889.png => zh-cn_image_0000001055172843.png} (100%) mode change 100755 => 100644 rename quick-start/figures/{zh-cn_image_0000001054713955.png => zh-cn_image_0000001055372855.png} (100%) mode change 100755 => 100644 delete mode 100755 "quick-start/figures/\344\270\262\345\217\243\345\217\202\346\225\260\351\205\215\347\275\256\347\244\272\346\204\217\345\233\276.png" delete mode 100755 "quick-start/figures/\345\244\215\344\275\215WLAN\346\250\241\347\273\204\347\244\272\346\204\217\345\233\276.png" delete mode 100755 "quick-start/figures/\346\211\223\345\274\200DevEco\344\270\262\345\217\243\347\273\210\347\253\257\347\244\272\346\204\217\345\233\276.png" diff --git a/api/api-LinkIoT/Broadcast.md b/api/api-LinkIoT/Broadcast.md index c7f2897538d..dc33012242f 100755 --- a/api/api-LinkIoT/Broadcast.md +++ b/api/api-LinkIoT/Broadcast.md @@ -37,7 +37,7 @@ With this module, the [Service](Service.md), [Feature](Feature.md), or other m - diff --git "a/api/api-LinkIoT/IOT\306\275\314\250.md" b/api/api-LinkIoT/IOT.md old mode 100755 new mode 100644 similarity index 100% rename from "api/api-LinkIoT/IOT\306\275\314\250.md" rename to api/api-LinkIoT/IOT.md diff --git a/bundles/Readme-CN.md b/bundles/Readme-CN.md index 5867ea43d0b..9dd83ddce47 100755 --- a/bundles/Readme-CN.md +++ b/bundles/Readme-CN.md @@ -1,15 +1,15 @@ # 组件开发 -- [组件开发指南](组件开发指南.md) - - [概述](概述.md) - - [准备工作](准备工作.md) - - [组件开发](组件开发.md) - - [组件开发规范](组件开发规范.md) - - [概述](概述-0.md) + - [概述](概述.md) - [组件构成](组件构成.md) - [组件管理](组件管理.md) - [组件版本](组件版本.md) - [发行版](发行版.md) - [环境变量说明](环境变量说明.md) +- [组件开发指南](组件开发指南.md) + - [概述](概述-0.md) + - [准备工作](准备工作.md) + - [组件开发](组件开发.md) + diff --git "a/bundles/\345\207\206\345\244\207\345\267\245\344\275\234.md" "b/bundles/\345\207\206\345\244\207\345\267\245\344\275\234.md" index 5102e5ed15e..63ecb5f47c5 100755 --- "a/bundles/\345\207\206\345\244\207\345\267\245\344\275\234.md" +++ "b/bundles/\345\207\206\345\244\207\345\267\245\344\275\234.md" @@ -54,15 +54,15 @@ login = https://hpm.harmonyos.com/hpm/auth/pk # hpm处理 loginUser = {your-account} # 配置hpm登录账号,发布组件必须 shellPath = C:\WINDOWS\System32\cmd.exe # hpm命令执行使用的shell globalRepo = C:\Users\yourname\.global # 配置全局安装的组件存放路径 -http_proxy = http://your-proxy-server:port # 配置HTTP代理 -https_proxy = http://your-proxy-server:port # 配置HTTPS代理 +http_proxy = http://your-proxy-server:port # 配置HTTP代理 +https_proxy = http://your-proxy-server:port # 配置HTTPS代理 ``` hpm-cli的命令介绍可以参考:[hpm操作命令](组件管理.md#table10510164515371) ## 下载OpenHarmony代码 -参考[《源码获取》](zh-cn_topic_0000001050769927.md) +参考 ## 安装开发依赖的组件 diff --git "a/bundles/\346\246\202\350\277\260-0.md" "b/bundles/\346\246\202\350\277\260-0.md" index 65546c20d4f..f0068759076 100755 --- "a/bundles/\346\246\202\350\277\260-0.md" +++ "b/bundles/\346\246\202\350\277\260-0.md" @@ -1,34 +1,54 @@ -# 概述 - -本文档将介绍组件的基本概念以及如何按照规范定义组件。 - -## 定义 - -OpenHarmony软件以组件\(bundle\)作为基本单元,从系统角度看,凡是运行在OpenHarmony上的软件都可以定义为组件;一般来讲,根据组件的应用范围,可以分为: - -- 板级组件:如board、arch、mcu这些与设备硬件相关的组件。 -- 系统组件:一组独立功能的集合,如内核、文件系统、框架等。 -- 应用组件:直接面向用户提供服务的应用\(如wifi\_iot,ip\_camera\)。 - -从形式上看,组件是为复用而生,一切可以复用的模块都可以定义为组件,可以分为: - -- 源代码 -- 二进制 -- 代码片段 -- 发行版 - -## 组件划分原则 - -原则上应尽可能划分为细颗粒度的组件,以满足最大限度的复用。主要考虑以下几点: - -- 独立性:组件的功能应该相对独立,支持独立编译,可以单独对外提供接口和服务; -- 耦合性:如果组件必须依赖其他的组件,才能对外提供服务,应考虑和被依赖的组件合并为一个组件。 -- 相关性:如果一组组件共同完成一项功能,且没有被其他组件依赖,未来也没有被依赖的可能,则可以考虑合并为一个组件。 - -## 组件依赖 - -组件的依赖关系分为两种:必选依赖和可选依赖。 - -- 必选依赖:是指组件A在完成某个功能时,必须引入组件B,调用B的接口或服务配合才能完成。称B为A的必选依赖。 -- 可选依赖:是在组件A在完成某个功能时,可以引入组件C,也可以引入组件D。C和D可以相互替换,称C和D为A的可选依赖。 +# 概述 + +本章节将简要介绍如何开发OpenHarmony组件和发行版,并通过命令行工具方式完成组件创建、开发、编译、烧录、调试等开发过程。 + +- 一个组件(bundle)通常和一个代码仓库对应,在代码的基础上增加bundle.json、README文件、LICENSE描述文件。 +- 一个发行版(distribution)是由多个组件构成的。发行版中集合了一个完整系统的各种组件(如驱动、内核、框架、应用),可以用于设备的烧录。 + +**表 1** 组件和发行版的差异对比 + + +

Name

@@ -17,7 +17,7 @@ The test-driven development mode is used during the development process. You can

developertest

Development self-test framework

+

Development test framework

developertest/src

@@ -107,12 +107,12 @@ The test-driven development mode is used during the development process. You can

developertest/start.bat

Developer self-test entry (Windows)

+

Developer test entry (Windows)

developertest/start.sh

Developer self-test entry (Linux)

+

Developer test entry (Linux)

foundation/aafwk/frameworks/ability_lite

Core code of the ability management framework

+

Core code for AbilityKit

foundation/aafwk/frameworks/abilitymgr_lite

@@ -95,12 +95,12 @@ The following table describes the source code directory structure of the applica

foundation/aafwk/interfaces/kits/abilitykit_lite

External APIs of the ability management framework

+

APIs provided by AbilityKit for developers

foundation/aafwk/interfaces/innerkits/abilitymgr_lite

APIs provided by the Ability Manager Service to other subsystems

+

APIs provided by the Ability Manager Service for other subsystems

foundation/aafwk/interfaces/kits/want_lite

@@ -115,12 +115,12 @@ The following table describes the source code directory structure of the applica

foundation/appexecfwk/interfaces/kits/bundle_lite

External bundle management APIs provided by the bundle management framework

+

APIs provided by BundleKit for developers

foundation/appexecfwk/interfaces/innerkits/bundlemgr_lite

APIs provided by the Bundle Manager Service to other subsystems

+

Core code for AbilityKit and APIs provided by the Bundle Manager Service for other subsystems

foundation/appexecfwk/frameworks/bundle_lite

@@ -147,13 +147,13 @@ The following table describes the source code directory structure of the applica - C++11 or later - The specifications of the application framework vary depending on the System-on-a-Chip \(SoC\) and underlying OS capabilities. - - Cortex-M RAM and ROM: + - Cortex-M RAM and ROM - RAM: greater than 20 KB \(recommended\) - - ROM: greater than 300 KB \(for the ACE framework and related subsystems, such as UIKit and engine\) + - ROM: greater than 300 KB \(for the JS application development framework and related subsystems, such as UIKit and engine\) - Cortex-A RAM and ROM - RAM: greater than 2 MB \(recommended\) - - ROM: greater than 2 MB \(for the ACE framework and related subsystems, such as UIKit and engine\) + - ROM: greater than 2 MB \(for the JS application development framework and related subsystems, such as UIKit and engine\) @@ -231,7 +231,7 @@ The following table describes the source code directory structure of the applica - After the preceding configurations are complete, run the following command to compile the entire system: ``` -python build.py ipcamera -p hi3516dv300_liteos_a -b debug +python build.py ipcamera_hi3516dv300 -b debug ``` ## Running the Two Services in the Application Framework @@ -253,78 +253,93 @@ deps = [ ## Running an Ability Developed Based on AbilityKit -- The demo code of the ability developed based on AbilityKit is stored in the **foundation/aafwk/frameworks/kits/ability\_lite/test** directory. If you need to modify the functionality, modify the code in the **unittest** file or add a code file, and update the configuration in **BUILD.gn** accordingly. -- Run the following command in the shell to compile the demo. After the compilation is successful, the **libLauncher.so** file is generated in **out/ipcamera\_hi3516dv300\_liteos\_a**. +- The demo code of the ability developed based on AbilityKit is stored in the **foundation/aafwk/frameworks/ability\_lite/example** directory. If you need to modify the functionality, modify the code in the **entry/src/main/cpp** files or add a new code file, and update the configuration in **BUILD.gn** accordingly. +- Add the configuration for the ability demo for compilation in the **build/lite/config/subsystem/aafwk/BUILD.gn** file. ``` - python build.py ipcamera -p hi3516dv300_liteos_a -T //foundation/aafwk/frameworks/kits/ability_lite/test:Launcher + import("//build/lite/config/subsystem/lite_subsystem.gni") + + lite_subsystem("aafwk") { + subsystem_components = [ + "......", + "//foundation/aafwk/frameworks/ability_lite/example:hiability", + "......", + ] + } ``` -- Modify the **config.json** file. The example content is as follows: +- Run the following command in the shell to compile the demo. After the compilation is successful, the **libhiability.so** file is generated in **out/ipcamera\_hi3516dv300\_liteos\_a/dev\_tools/example**. -``` -{ - "app": { - "bundleName": "com.huawei.launcher", - "vendor": "huawei", - "version": { - "code": 1, - "name": "1.0" - }, - "apiVersion": { - "compatible": 3, - "target": 3 - } - }, - "deviceConfig": { - "default": { - "keepAlive": false - }, - }, - "module": { - "deviceType": [ - "smartVision" - ], - "distro": { - "deliveryWithInstall": true, - "moduleName": "Launcher", - "moduleType": "entry" - }, - "abilities": [{ - "name": "MainAbility", - "icon": "assets/entry/resources/base/media/icon.png", - "label": "test app 1", - "launchType": "standard", - "type": "page", - "visible": true + ``` + python build.py ipcamera_hi3516dv300 -b debug + ``` + +- Compile the **config.json** file. For details, see the **config.json** file in the **foundation/aafwk/frameworks/ability\_lite/example** directory. The file content is as follows: + + ``` + { + "app": { + "bundleName": "com.huawei.hiability", + "vendor": "huawei", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 3, + "target": 3 + } }, - { - "name": "SecondAbility", - "icon": "assets/entry/resources/base/media/icon.png", - "label": "test app 2", - "launchType": "standard", - "type": "page", - "visible": true + "deviceConfig": { + "default": { + "keepAlive": false + }, }, - { - "name": "ServiceAbility", - "icon": "", - "label": "test app 2", - "launchType": "standard", - "type": "service", - "visible": true + "module": { + "deviceType": [ + "smartVision" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "hiability", + "moduleType": "entry" + }, + "abilities": [{ + "name": "MainAbility", + "icon": "assets/entry/resources/base/media/icon.png", + "label": "test app 1", + "launchType": "standard", + "type": "page", + "visible": true + }, + { + "name": "SecondAbility", + "icon": "", + "label": "test app 2", + "launchType": "standard", + "type": "page", + "visible": true + }, + { + "name": "ServiceAbility", + "icon": "", + "label": "test app 2", + "launchType": "standard", + "type": "service", + "visible": true + } + ] } - ] } -} -``` + ``` + - Generate a HAP. - Add resource files to the **assets/entry/resources/base/media** directory based on the following directory structure. - ![](figures/en-us_image_0000001055712348.png) + ![](figures/en-us_image_0000001055267336.png) - - Compress the preceding files into a ZIP package and change the file name extension to **.hap**, for example, **Launcher.hap**. + - Compress the preceding files into a ZIP package and change the file name extension to **.hap**, for example, **hiability.hap**. - Install the HAP. @@ -332,13 +347,13 @@ deps = [ - Run the following command to install the HAP: ``` - ./bin/bm install -p /nfs/hap/Launcher.hap + ./bin/bm install -p /nfs/hap/hiability.hap ``` - After the installation is complete, run the following command to run the demo: ``` -./bin/aa start -p com.huawei.launcher -n MainAbility +./bin/aa start -p com.huawei.hiability -n MainAbility ``` ## Repositories Involved diff --git a/docs-en/readme/figures/en-us_image_0000001054941316.png b/docs-en/readme/figures/en-us_image_0000001054941316.png new file mode 100644 index 0000000000000000000000000000000000000000..5c36589713f0264b5d3f87e3af9b63b05dda17d7 GIT binary patch literal 21913 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 literal 0 HcmV?d00001 diff --git a/readme/figures/zh-cn_image_0000001055267336.png b/readme/figures/zh-cn_image_0000001055267336.png new file mode 100644 index 0000000000000000000000000000000000000000..c329d1d02d83435acfa6dbf1629f5649541f3b42 GIT binary patch literal 5510 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 literal 0 HcmV?d00001 diff --git "a/readme/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237README.md" "b/readme/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237README.md" index 68d4940745c..f0df35c2c0d 100644 --- "a/readme/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237README.md" +++ "b/readme/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237README.md" @@ -13,7 +13,7 @@ - **AbilityKit**是Ability框架提供给开发者的开发包,开发者基于该开发包可以开发出基于Ability组件的应用。基于Ability组件开发的应用有两种类型:基于Javascript语言开发的Ability(**JS Ability**)和基于C/C++语言开发的Ability(**Native Ability**)。**JS应用开发框架**是开发者开发JS Ability所用到框架,是在AbilityKit基础封装的包含js UI组件的一套方便开发者能够迅速开发Ability应用的框架。 - **Ability**是系统调度应用的最小单元,是能够完成一个独立功能的组件,一个应用可以包含一个或多个Ability。Ability分为两种类型:Page类型的Ability和Service类型的Ability - - **Page类型的Ability**:带有界面,为用户提供人机交互的能力。 + - **Page类型的Ability:**带有界面,为用户提供人机交互的能力。 - **Service类型的Ability**:不带界面,为用户提供后台任务机制。 - **AbilitySlice**是单个页面及其控制逻辑的总和,是Page类型Ability特有的组件,一个Page类型的Ability可以包含多个AbilitySlice,此时,这些页面提供的业务能力应当是高度相关的。Page类型的Ability和AbilitySlice的关系如下图2所示: @@ -31,7 +31,7 @@ - **UNINITIALIZED**:未初始状态,为临时状态,Ability被创建后会由UNINITIALIZED状态进入INITIAL状态; - - **INITIAL**:初始化状态,也表示停止状态,表示当前Ability未运行,调用Start后进入INACTIVE,同时回调开发者的OnSatrt生命周期回调; + - **INITIAL**:初始化状态,也表示停止状态,表示当前Ability未运行,调用Start后进入INACTIVE,同时回调开发者的OnStart生命周期回调; - **INACTIVE**:未激活状态,表示当前窗口已显示但是无焦点状态,由于Window暂未支持焦点的概念,当前状态与ACTIVE一致。 @@ -42,16 +42,16 @@ - **AbilityLoader**负责注册和加载开发者Ability的模块。开发者开发的Ability先要调用AbilityLoader的注册接口注册到框架中,接着Ability启动时会被实例化。 - **AbilityManager**负责AbilityKit和Ability管理服务进行IPC的通信。 -- **EvenHandler**是AbilityKit提供给开发者的用于在Ability中实现线程间通信的一个模块。 +- **EventHandler**是AbilityKit提供给开发者的用于在Ability中实现线程间通信的一个模块。 - **Ability运行管理服务**是用于协调各Ability运行关系、及生命周期进行调度的系统服务。其中,**服务启动**模块负责Ability管理服务的启动、注册等。**服务接口管理模块**负责Ability管理服务对外能力的管理。**进程管理模块**负责Ability应用所在进程的启动和销毁、及其进程信息维护等功能。**Ability栈管理模块**负责维护各个Ability之间跳转的先后关系。**生命周期调度模块**是Ability管理服务根据系统当前的操作调度Ability进入相应的状态的模块**。连接管理模块**是Ability管理服务对Service类型Ability连接管理的模块。 - **AppSpawn**是负责创建Ability应用所在进程的系统服务,该服务有较高的权限,为Ability应用设置相应的权限,并预加载一些通用的模块,加速应用的启动。 -**2. 包管理子系统**,是HarmonyOS为开发者提供的安装包管理框架。包管理子系统的由如下图4模块组成: +**2. 包管理子系统**,是OpenHarmony为开发者提供的安装包管理框架。包管理子系统的由如下图4模块组成: **图 4** 包管理子系统框架图 ![](figures/包管理子系统框架图.png "包管理子系统框架图") -- **BundleKit**:是包管理服务对外提供的接口,有安装/卸载接口、包信息查询接口、包状态变化监听接口。 +- **BundleKit:**是包管理服务对外提供的接口,有安装/卸载接口、包信息查询接口、包状态变化监听接口。 - **包扫描器**:用来解析本地预制或者安装的安装包,提取里面的各种信息,供管理子模块进行管理,持久化。 - **包安装子模块**:安装,卸载,升级一个包;**包安装服务**一个单独进程的用于创建删除安装目录,具有较高的权限。 @@ -115,7 +115,7 @@

foundation/appexecfwk/interfaces/innerkits/bundlemgr_lite

AbilityKit实现的核心代码,及包管理服务为其它子系统提供的接口

+

BundleKit实现的核心代码,及包管理服务为其它子系统提供的接口

foundation/appexecfwk/frameworks/bundle_lite

@@ -226,12 +226,12 @@ - 添加完上述的配置后,执行如下命令编译整个系统: ``` -python build.py ipcamera -p hi3516dv300_liteos_a -b debug +python build.py ipcamera_hi3516dv300 -b debug ``` ## 运行用户程序框架子系统的两个服务 -- 用户程序框架有两个系统服务ability管理服务(abilityms)和(bundlems),两系统服务运行于foudation进程中。 +- 用户程序框架有两个系统服务ability管理服务(abilityms)和(bundlems),两系统服务运行于foundation进程中。 - abilityms和bundlems注册到sa\_manager中,sa\_manager运行于foundation进程中,sa\_manager为abilityms和bundlems创建线程运行环境。具体创建abilityms、bundlems服务的方式以及使用该服务的方式,可参考[系统服务框架子系统](zh-cn_topic_0000001051589563.md)。 - 在foundation/distributedschedule/services/safwk\_lite/BUILD.gn中添加对abilityms和bundlems,如下: @@ -248,78 +248,93 @@ deps = [ ## 运行基于AbilityKit开发的Ability -- 基于AbilityKit开发的Ability的Demo代码位于foundation/aafwk/frameworks/kits/ability\_lite/test路径下,如有需要修改其中的功能,可在unittest的文件中修改代码或增加代码文件,并在BUILD.gn中做相应的修改。 -- 编译该Demo,在shell中执行如下命令,编译成功后,在out/ipcamera\_hi3516dv300\_liteos\_a下面生成libLauncher.so文件: +- 基于AbilityKit开发的Ability的Demo代码位于foundation/aafwk/frameworks/ability\_lite/example路径下,如有需要修改其中的功能,可在entry/src/main/cpp的文件中修改代码或增加代码文件,并在BUILD.gn中做相应的修改。 +- 在build/lite/config/subsystem/aafwk/BUILD.gn中添加对ability Demo编译配置: ``` - python build.py ipcamera -p hi3516dv300_liteos_a -T //foundation/aafwk/frameworks/kits/ability_lite/test:Launcher + import("//build/lite/config/subsystem/lite_subsystem.gni") + + lite_subsystem("aafwk") { + subsystem_components = [ + "......", + "//foundation/aafwk/frameworks/ability_lite/example:hiability", + "......", + ] + } ``` -- 编写config.json,内容如下: +- 编译该Demo,在shell中执行如下命令,编译成功后,在out/ipcamera\_hi3516dv300\_liteos\_a/dev\_tools/example下面生成libhiability.so文件: -``` -{ - "app": { - "bundleName": "com.huawei.launcher", - "vendor": "huawei", - "version": { - "code": 1, - "name": "1.0" - }, - "apiVersion": { - "compatible": 3, - "target": 3 - } - }, - "deviceConfig": { - "default": { - "keepAlive": false - }, - }, - "module": { - "deviceType": [ - "smartVision" - ], - "distro": { - "deliveryWithInstall": true, - "moduleName": "Launcher", - "moduleType": "entry" - }, - "abilities": [{ - "name": "MainAbility", - "icon": "assets/entry/resources/base/media/icon.png", - "label": "test app 1", - "launchType": "standard", - "type": "page", - "visible": true + ``` + python build.py ipcamera_hi3516dv300 -b debug + ``` + +- 编写config.json,参见foundation/aafwk/frameworks/ability\_lite/example路径下的config.josn,内容如下: + + ``` + { + "app": { + "bundleName": "com.huawei.hiability", + "vendor": "huawei", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 3, + "target": 3 + } }, - { - "name": "SecondAbility", - "icon": "assets/entry/resources/base/media/icon.png", - "label": "test app 2", - "launchType": "standard", - "type": "page", - "visible": true + "deviceConfig": { + "default": { + "keepAlive": false + }, }, - { - "name": "ServiceAbility", - "icon": "", - "label": "test app 2", - "launchType": "standard", - "type": "service", - "visible": true + "module": { + "deviceType": [ + "smartVision" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "hiability", + "moduleType": "entry" + }, + "abilities": [{ + "name": "MainAbility", + "icon": "assets/entry/resources/base/media/icon.png", + "label": "test app 1", + "launchType": "standard", + "type": "page", + "visible": true + }, + { + "name": "SecondAbility", + "icon": "", + "label": "test app 2", + "launchType": "standard", + "type": "page", + "visible": true + }, + { + "name": "ServiceAbility", + "icon": "", + "label": "test app 2", + "launchType": "standard", + "type": "service", + "visible": true + } + ] } - ] } -} -``` + ``` + - 生成hap包 - 按照如下目录结构存放文件,assets/entry/resources/base/media下面放置资源文件: - ![](figures/zh-cn_image_0000001055712348.png) + ![](figures/zh-cn_image_0000001055267336.png) - - 将上述文件打包生成zip包,修改后缀为.hap,例如Launcher.hap + - 将上述文件打包生成zip包,修改后缀为.hap,例如hiability.hap - 安装hap包 @@ -327,13 +342,13 @@ deps = [ - 执行安装命令,安装hap包: ``` - ./bin/bm install -p /nfs/hap/Launcher.hap + ./bin/bm install -p /nfs/hap/hiability.hap ``` - 安装完成后,通过如下命令,运行Demo ``` -./bin/aa start -p com.huawei.launcher -n MainAbility +./bin/aa start -p com.huawei.hiability -n MainAbility ``` ## 涉及仓 -- Gitee From 9c230bcfff008c4abbd09f7d8e4d478757a42e2d Mon Sep 17 00:00:00 2001 From: c00346582 Date: Tue, 15 Sep 2020 09:40:44 +0800 Subject: [PATCH 08/12] Description: update docs Reviewed-by: chenyouzhi-hw --- docs-en/readme/js-application-framework.md | 161 +++++++++++---------- 1 file changed, 84 insertions(+), 77 deletions(-) diff --git a/docs-en/readme/js-application-framework.md b/docs-en/readme/js-application-framework.md index d1e8b4a14c9..fd0a55854a0 100755 --- a/docs-en/readme/js-application-framework.md +++ b/docs-en/readme/js-application-framework.md @@ -2,7 +2,7 @@ ## Introduction -The JS application framework allows you to develop web-like applications across platforms. The framework uses Toolkit to pack your **.hml**, **.css**, and **.js** files to a JavaScript bundle, parses the bundle, and renders it with view components of the C++ native UI. You can use the declarative APIs to develop applications. This allows data to drive view changes and avoids a large number of view operations, greatly simplifying application development. +The JS application framework allows you to develop web-like applications across platforms. The framework uses Toolkit to pack your **.hml**, **.css**, and **.js** files to a JavaScript bundle, parses the bundle, generates the native UI view component tree, and then renders it for display. You can use the declarative APIs to develop applications. This allows data to drive view changes and avoids a large number of view operations, greatly simplifying application development. The following figure shows the framework modules. @@ -14,37 +14,37 @@ The source code of the framework is stored in **/foundation/ace**. The followin ``` /foundation/ace -├── frameworks #Framework code +├── frameworks # Framework code │ └── lite -│ ├── examples #Sample code -│ ├── include #Exposed header files -│ ├── packages #JavaScript implementation - │ ├── src #Source code -│ ├── targets #Configuration file of each target device - │ └── tools #Tool code -├── interfaces #APIs exposed externally -│ └── innerkits #Header files of internal subsystems -│ └── builtin #JavaScript third-party module APIs exposed by the JS application framework +│ ├── examples # Sample code +│ ├── include # Exposed header files +│ ├── packages # JavaScript implementation +│ ├── src # Source code +│ ├── targets # Configuration file of each target device +│ └── tools # Tool code +├── interfaces # APIs exposed externally +│ └── innerkits # Header files of internal subsystems +│ └── builtin # JavaScript third-party module APIs exposed by the JS application framework ``` ## Constraints -- Language version +- Language versions: - C++11 or later - - JavaScript ES5.1 or later + - JavaScript ES5.1 - Framework runtime memory consists of: - - Pre-allocated memory for running the JavaScript engine. The memory size is adjustable and depends on the complexity of the device application. Generally, 64 KB to 512 KB is recommended. - - Memory for the framework itself. For devices whose memory capacity exceeds 100 KB, the framework memory can be managed by a pre-allocated memory pool, which can be shared with the native UI framework. The memory pool manages objects and heap memory in a unified manner. + - Runtime memory for the JavaScript engine: The memory size is adjustable and depends on the complexity of the device application. Generally, 64 KB to 512 KB is recommended. + - Native memory for the framework itself: For devices whose memory capacity exceeds 100 KB, it is recommended that a pre-allocated memory pool be used for native memory management. The memory pool is shared with the native UI framework. -- The framework provides different specifications for various chip platforms and underlying OS capabilities. +- The framework provides different specifications for various chip platforms and underlying OS capabilities: - Cortex-M RAM and ROM - JavaScript engine memory pool: greater than 48 KB \(recommended\) - RAM: memory pool shared with the native UI \(recommended\). The size must be greater than 80 KB. - ROM: greater than 300 KB \(for the JS application framework and related subsystems, such as native UI and JavaScript engine\) - - Cortex-A RAM and ROM + - Cortex-A RAM/ROM - JavaScript engine memory pool: greater than 128 KB \(recommended\) - RAM: greater than 512 KB \(recommended\) - ROM: greater than 2 MB \(for the JS application framework and related subsystems, such as native UI and JavaScript engine\) @@ -53,7 +53,10 @@ The source code of the framework is stored in **/foundation/ace**. The followin ## Using targets -The implementation of the JS application framework consists of two parts: native and JavaScript. The native part is developed by C++ and is the main body of the framework. The JavaScript part supports the runtime environment of JavaScript files, and supports the interaction between the JavaScript runtime and native framework through some global functions or objects exposed to the JavaScript engine. +The implementation of the JS application framework consists of the following two parts: + +- Native part: The native part is developed in C++ and is the main body of the framework. +- JavaScript part: The JavaScript part supports the runtime environment of JavaScript files, and supports the interaction between the JavaScript runtime and native framework through some global functions or objects exposed to the JavaScript engine. The framework uses feature macros to customize function code to be compiled on different platforms. The feature macros are stored in header files in **foundation/ace/frameworks/lite/targets**. The directory structure is as follows: @@ -61,70 +64,74 @@ The framework uses feature macros to customize function code to be compiled on d /foundation/ace/frameworks/lite/targets ├── default/ │ └── acelite_config.h -├── linux/ #Linux environment configuration files +├── linux/ # Linux environment configuration files │ └── acelite_config.h -├── liteos_a/ #Environment configuration files for LiteOS Cortex-A +├── liteos_a/ # Environment configuration files for LiteOS Cortex-A │ └── acelite_config.h -├── liteos_m/ #Environment configuration files for LiteOS Cortex-M +├── liteos_m/ # Environment configuration files for LiteOS Cortex-M │ └── acelite_config.h ├── platform_adapter.cpp ├── platform_adapter.h -└── simulator/ #Simulator environment configuration files +└── simulator/ # Simulator environment configuration files └── win/ └── acelite_config.h* ``` When compiling for different platform targets, use the **acelite\_config.h** file in the corresponding platform directory. You can configure the header file searching path for compilation to locate the file to use. The following takes **ninja** and **cmake** build tools as examples: -ninja: +- ninja: -``` - if (hos_kernel_type == "liteos_a" || hos_kernel_type == "liteos_m" || - hos_kernel_type == "liteos_riscv") {// Select different header file searching paths based on the target kernel platform. - include_dirs += [ "targets/liteos-a" ] - } else if (hos_kernel_type == "linux") { - include_dirs += [ "targets/linux" ] - } -``` + ``` + if (ohos_kernel_type == "liteos_a" || ohos_kernel_type== "liteos_m" || + ohos_kernel_type == "liteos_riscv") { // Select different header file searching paths based on the target kernel platform. + include_dirs += [ "targets/liteos-a" ] + } else if (ohos_kernel_type == "linux") { + include_dirs += [ "targets/linux" ] + } + ``` -cmake: -``` -...... -set(ACE_LITE_CONFIG_PATH "${CMAKE_CURRENT_SOURCE_DIR}/targets/simulator/win") -set(JSFWK_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/include") -set(JSFWK_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/core") -set(UIKIT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../ui") -set(THIRTY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party") -set(JSFWK_SIMULATOR_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../tools/simulator") -set(JS_API_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../api/emui_band/MoltenCore/application/framework/ace/api") -set(JSFWK_SIMULATOR_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../tools/simulator") -set(AAFWK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../aafwk") - -# header files -include_directories( - ${ACE_LITE_CONFIG_PATH} - ${JSFWK_INCLUDE_PATH}/async - ${JSFWK_INCLUDE_PATH}/base - ${JSFWK_INCLUDE_PATH}/context - ${JSFWK_INCLUDE_PATH}/jsi - ${JSFWK_SOURCE_PATH} +- cmake: + + ``` ...... -``` + set(ACE_LITE_CONFIG_PATH "${CMAKE_CURRENT_SOURCE_DIR}/targets/simulator/win") # Set the simulator search path to targets/simulator/win. + set(JSFWK_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/include") + set(JSFWK_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/core") + set(UIKIT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../ui") + set(THIRTY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party") + set(JSFWK_SIMULATOR_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../tools/simulator") + set(JS_API_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../api/emui_band/MoltenCore/application/framework/ace/api") + set(JSFWK_SIMULATOR_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../tools/simulator") + set(AAFWK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../aafwk") + + # header files + include_directories( + ${ACE_LITE_CONFIG_PATH} + ${JSFWK_INCLUDE_PATH}/async + ${JSFWK_INCLUDE_PATH}/base + ${JSFWK_INCLUDE_PATH}/context + ${JSFWK_INCLUDE_PATH}/jsi + ${JSFWK_SOURCE_PATH} + ...... + ``` + The **acelite\_config.h** file is used to enable or disable the feature macros of different platforms. It can also be used to define constants for shielding platform differences. For example, platform file systems are different, and the names of some fixed directories might be different. These constants can be defined as follows: -**liteos-a/acelite\_config.h** +- liteos-a/acelite\_config.h -``` -#define JS_FRAMEWORK_PATH "//system/ace/bin/" -``` + ``` + #define JS_FRAMEWORK_PATH "//system/ace/bin/" + ``` -**simulator/win/acelite\_config.h** -``` -#define JS_FRAMEWORK_PATH "..\\..\\..\\jsfwk\\packages\\runtime-core\\build" -``` +- **simulator/win/acelite\_config.h** + + ``` + #define JS_FRAMEWORK_PATH "..\\..\\..\\jsfwk\\packages\\runtime-core\\build" + ``` + ## Using Runtime-core @@ -133,30 +140,30 @@ Runtime-core is a JavaScript-based simple data hijacking framework provided by t ``` /foundation/ace/frameworks/lite/packages └── runtime-core - ├── .babelrc #Babel configuration file - ├── .editorconfig #IDE configuration file - ├── .eslintignore #Configuration file of the ESLint tool. You can set a directory or files that will not be scanned by the ESLint tool. - ├── .eslintrc.js #ESLint configuration file for scanning rules. + ├── .babelrc # Babel configuration file + ├── .editorconfig # IDE configuration file + ├── .eslintignore # Configuration file of the ESLint tool. You can set a directory or files that will not be scanned by the ESLint tool. + ├── .eslintrc.js # ESLint configuration file for scanning rules ├── .gitignore - ├── package.json #NPM file - ├── package-lock.json #NPM dependency lock file - ├── .prettierrc #Configuration file for code formatting rules - ├── scripts #Directory for compilation scripts - │ ├── build.js #Compilation script - │ └── configs.js #Rollup configuration file + ├── package.json # NPM file + ├── package-lock.json # NPM dependency lock file + ├── .prettierrc # Configuration file for code formatting rules + ├── scripts # Directory for compilation scripts + │ ├── build.js # Compilation script + │ └── configs.js # Rollup configuration file ├── .size-snapshot.json - └── src #Source code - ├── core #ViewModel core implementation code + └── src # Source code + ├── core # ViewModel core implementation code │ └── index.js ├── index.js - ├── observer #Data hijacking implementation code + ├── observer # Data hijacking implementation code │ ├── index.js │ ├── observer.js │ ├── subject.js │ └── utils.js - ├── profiler #profiler directory + ├── profiler # profiler directory │ └── index.js - └── __test__ #Test cases + └── __test__ # Test cases └── index.test.js ``` @@ -164,7 +171,7 @@ The following NPM commands are supported: - **npm run build** - The JavaScript engine integrated in the JS application framework supports ES5.1 syntax only. However, the runtime-core is implemented using JavaScript ES6. Therefore, you should use Babel for ES6 code degradation and use Rollup to package the code. Run the **npm run build** command, and the packaged files are output to the **build** directory. + The JavaScript engine integrated in the JS application framework supports ES5.1 syntax only. However, the runtime-core is implemented using JavaScript ES6. Therefore, you should use Babel for syntax degradation and use Rollup to package the code. Run the **npm run build** command, and the packaged files are output to the **build** directory. ``` build/ -- Gitee From 16d8a0199827bf75685db900c3f6aa1a8b962e02 Mon Sep 17 00:00:00 2001 From: c00356593 Date: Tue, 15 Sep 2020 11:01:01 +0800 Subject: [PATCH 09/12] Description: update docs Reviewed-by: yumeijie --- docs-en/readme/distributed-scheduler.md | 77 +++++++----------- .../figures/en-us_image_0000001055103250.png | Bin 0 -> 39474 bytes .../figures/en-us_image_0000001055199362.png | Bin 39581 -> 0 bytes 3 files changed, 31 insertions(+), 46 deletions(-) create mode 100755 docs-en/readme/figures/en-us_image_0000001055103250.png delete mode 100755 docs-en/readme/figures/en-us_image_0000001055199362.png diff --git a/docs-en/readme/distributed-scheduler.md b/docs-en/readme/distributed-scheduler.md index 799453b3065..28435bba82f 100755 --- a/docs-en/readme/distributed-scheduler.md +++ b/docs-en/readme/distributed-scheduler.md @@ -2,9 +2,9 @@ ## Overview -The Distributed Scheduler sets up a distributed service platform in OpenHarmony by using a proxy between the primary and secondary devices. With the distributed scheduler, the primary device \(OpenHarmony-powered smart TV\) can start a Feature Ability \(FA\) deployed on the secondary device \(a memory-constrained OpenHarmony device such as a lite wearable\). The following figure shows the components of the Distributed Scheduler. +The Distributed Scheduler is used for cross-device component management. It allows the local device to access or control remote components, and enables application collaboration in distributed scenarios. The following figure shows the modules in the Distributed Scheduler. -![](figures/en-us_image_0000001055199362.png) +![](figures/en-us_image_0000001055103250.png) ## Directory Structure @@ -21,17 +21,12 @@ The following table describes the directory structure of the Distributed Schedul

dtbschedmgr_lite

Implementation logic of the Distributed Scheduler

+

Implementation of the Distributed Scheduler

safwk_lite

Implementation logic of system service processes

-

samgr_lite

-

Implementation logic of local service management

+

Implementation of the foundation process

Subscriber

Defines the subscriber for external interfaces to subsribe to events and data of a topic.

+

Defines the subscriber for external interfaces to subscribe to events and data of a topic.

+ + + + + + + + + + + + + + + + + + + + + +

异同点

+

组件

+

发行版

+

应用场景

+

面向功能特性开发

+

面向系统开发

+

内容

+

功能或特性的实现代码或二进制库

+

依赖的组件清单及编译构建脚本

+

完整程度

+

操作系统的一部分

+

一个完整操作系统版本

+

编译后结果

+

组件包

+

系统镜像

+
+ +**图 1** 组件和发行版的构成 + + +![](figures/zh-cn_image_0000001054663940.png) diff --git "a/bundles/\346\246\202\350\277\260.md" "b/bundles/\346\246\202\350\277\260.md" index f0068759076..65546c20d4f 100755 --- "a/bundles/\346\246\202\350\277\260.md" +++ "b/bundles/\346\246\202\350\277\260.md" @@ -1,54 +1,34 @@ -# 概述 - -本章节将简要介绍如何开发OpenHarmony组件和发行版,并通过命令行工具方式完成组件创建、开发、编译、烧录、调试等开发过程。 - -- 一个组件(bundle)通常和一个代码仓库对应,在代码的基础上增加bundle.json、README文件、LICENSE描述文件。 -- 一个发行版(distribution)是由多个组件构成的。发行版中集合了一个完整系统的各种组件(如驱动、内核、框架、应用),可以用于设备的烧录。 - -**表 1** 组件和发行版的差异对比 - - - - - - - - - - - - - - - - - - - - - - - - -

异同点

-

组件

-

发行版

-

应用场景

-

面向功能特性开发

-

面向系统开发

-

内容

-

功能或特性的实现代码或二进制库

-

依赖的组件清单及编译构建脚本

-

完整程度

-

操作系统的一部分

-

一个完整操作系统版本

-

编译后结果

-

组件包

-

系统镜像

-
- -**图 1** 组件和发行版的构成 - - -![](figures/zh-cn_image_0000001054663940.png) +# 概述 + +本文档将介绍组件的基本概念以及如何按照规范定义组件。 + +## 定义 + +OpenHarmony软件以组件\(bundle\)作为基本单元,从系统角度看,凡是运行在OpenHarmony上的软件都可以定义为组件;一般来讲,根据组件的应用范围,可以分为: + +- 板级组件:如board、arch、mcu这些与设备硬件相关的组件。 +- 系统组件:一组独立功能的集合,如内核、文件系统、框架等。 +- 应用组件:直接面向用户提供服务的应用\(如wifi\_iot,ip\_camera\)。 + +从形式上看,组件是为复用而生,一切可以复用的模块都可以定义为组件,可以分为: + +- 源代码 +- 二进制 +- 代码片段 +- 发行版 + +## 组件划分原则 + +原则上应尽可能划分为细颗粒度的组件,以满足最大限度的复用。主要考虑以下几点: + +- 独立性:组件的功能应该相对独立,支持独立编译,可以单独对外提供接口和服务; +- 耦合性:如果组件必须依赖其他的组件,才能对外提供服务,应考虑和被依赖的组件合并为一个组件。 +- 相关性:如果一组组件共同完成一项功能,且没有被其他组件依赖,未来也没有被依赖的可能,则可以考虑合并为一个组件。 + +## 组件依赖 + +组件的依赖关系分为两种:必选依赖和可选依赖。 + +- 必选依赖:是指组件A在完成某个功能时,必须引入组件B,调用B的接口或服务配合才能完成。称B为A的必选依赖。 +- 可选依赖:是在组件A在完成某个功能时,可以引入组件C,也可以引入组件D。C和D可以相互替换,称C和D为A的可选依赖。 diff --git "a/bundles/\347\273\204\344\273\266\345\274\200\345\217\221.md" "b/bundles/\347\273\204\344\273\266\345\274\200\345\217\221.md" index c253a5ae72b..58f4ea92890 100755 --- "a/bundles/\347\273\204\344\273\266\345\274\200\345\217\221.md" +++ "b/bundles/\347\273\204\344\273\266\345\274\200\345\217\221.md" @@ -9,7 +9,7 @@ - hpm提供了一些组件模板方便快速创建组件。 -## 新建组件 +## h2新建组件 通常情况下,[HPM网站](https://hpm.harmonyOS.com)上能找到您开发常用的组件,如果现有的组件不能完全满足开发,这时可以自己动手开发一个组件。 @@ -37,7 +37,7 @@ mybundle 接下来根据您的业务需要,实现组件内部的功能代码,完成代码开发后,通过git将代码(包括bundle.json文件)提交到组件代码托管仓库中(如gitee)。 -## 改造组件 +## h2改造组件 如果您已经有了代码,只是还不满足OpenHarmony的组件结构,需要改造成为hpm的组件包,只需要在当前要改造的代码目录下(例如mybundle2),执行如下命令,会提示您输入组件名称和版本。 @@ -90,7 +90,7 @@ hpm init ``` -## 从模板创建组件 +## h2从模板创建组件 hpm 除了提供了默认模板 default和simple两个简单的模板之外,其他模板均存储在服务器端。 @@ -112,7 +112,7 @@ hpm init -t {templatename} -d dir name 完成代码开发后,需要对组件进行编译。hpm提供了命令集成的能力,您可以选择任意的适合项目的编译工具(如make,gcc,gn等等)。只需在当前项目的bundle.json文件中定义scripts脚本中的build命令,就可以通过执行hpm build执行编译。 -## 定义编译脚本 +## h2定义编译脚本 以编译一个app目录下helloworld可执行文件为例: @@ -150,7 +150,7 @@ executable("hello_world") { >- “executable”是gn内置模板,可以用“gn help executable ”查看使用方法。 >- “sources ”是源码路径,“include\_dirs ”是头文件路径。 -## 执行编译 +## h2执行编译 在当前文件夹下,执行编译命令: @@ -166,7 +166,7 @@ hpm build 发行版是将一组组件组合起来的,编译生成可以运行的OpenHarmony解决方案,里面包含了较多依赖的组件,以及以脚本形式描述如何完整编译、链接这些组件。 -## 定义脚本 +## h2定义脚本 bundle.json中定义 @@ -190,7 +190,7 @@ bundle.json中定义 } ``` -## 发行 +## h2发行 在当前发行版根目录下,执行如下命令。 diff --git "a/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\215\227.md" "b/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\215\227.md" index 8a67a35235a..87e8f9fb341 100755 --- "a/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\215\227.md" +++ "b/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\346\214\207\345\215\227.md" @@ -1,6 +1,6 @@ # 组件开发指南 -- **[概述](概述.md)** +- **[概述](概述-0.md)** - **[准备工作](准备工作.md)** diff --git "a/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\350\247\204\350\214\203.md" "b/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\350\247\204\350\214\203.md" index 964a644bd66..f5a3ffb754e 100755 --- "a/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\350\247\204\350\214\203.md" +++ "b/bundles/\347\273\204\344\273\266\345\274\200\345\217\221\350\247\204\350\214\203.md" @@ -1,6 +1,6 @@ # 组件开发规范 -- **[概述](概述-0.md)** +- **[概述](概述.md)** - **[组件构成](组件构成.md)** diff --git "a/bundles/\347\273\204\344\273\266\347\256\241\347\220\206.md" "b/bundles/\347\273\204\344\273\266\347\256\241\347\220\206.md" index d619fff0992..894381c827c 100755 --- "a/bundles/\347\273\204\344\273\266\347\256\241\347\220\206.md" +++ "b/bundles/\347\273\204\344\273\266\347\256\241\347\220\206.md" @@ -214,14 +214,14 @@ hpm dependencies

hpm gen-keys

-

生成公钥/私钥对,将公钥配置到HPM服务端,可以实现hpm-cli

+

生成公钥/私钥对,将公钥配置到HPM服务端,可以实现hpm-cli 免密登录,发布组件。

生成第三方开源说明

hpm gen-notice

-

根据每个组件的说明,生成一份合并后的第三方开源说明的合并文件

+

根据每个组件的说明,生成一份合并后的第三方开源说明的合并文件。

diff --git a/contribute/OpenHarmony-JavaScript-coding-style-guide.md b/contribute/OpenHarmony-JavaScript-coding-style-guide.md index 32ee51d4ca0..074ee9ba77c 100755 --- a/contribute/OpenHarmony-JavaScript-coding-style-guide.md +++ b/contribute/OpenHarmony-JavaScript-coding-style-guide.md @@ -694,7 +694,7 @@ console.log(sum2); // 输出:0.6。所以对于二进制浮点数,(a + b) + ```javascript const arr1 = new Array(x1, x2, x3); const arr2 = new Array(x1, x2); -const arr3 = new Array(x3); +const arr3 = new Array(x1); const arr4 = new Array(); ``` @@ -751,7 +751,7 @@ for (let number in numbers) { ```javascript let numbers = [1, 2, 3, 4]; let sum = 0; -for (let number in numbers) { +for (let number of numbers) { sum += number; } // sum === 10 diff --git a/contribute/OpenHarmony-c-coding-style-guide.md b/contribute/OpenHarmony-c-coding-style-guide.md deleted file mode 100755 index 453ffaa0681..00000000000 --- a/contribute/OpenHarmony-c-coding-style-guide.md +++ /dev/null @@ -1,1976 +0,0 @@ -# C语言编程规范 - -## 目的 -规则并不是完美的,通过禁止在特定情况下有用的特性,可能会对代码实现造成影响。但是我们制定规则的目的“为了大多数程序员可以得到更多的好处”, 如果在团队运作中认为某个规则无法遵循,希望可以共同改进该规则。 -参考该规范之前,希望您具有相应的C语言基础能力,而不是通过该文档来学习C语言。 -1. 了解C语言的ISO标准; -2. 熟知C语言的基本语言特性; -3. 了解C语言的标准库; - -## 总体原则 -代码需要在保证功能正确的前提下,满足**可读、可维护、安全、可靠、可测试、高效、可移植**的特征要求。 - -## 约定 - -**规则**:编程时必须遵守的约定 -**建议**:编程时必须加以考虑的约定 - -无论是“规则”还是“建议”,都必须理解该条目这么规定的原因,并努力遵守。 - -## 例外 - -在不违背总体原则,经过充分考虑,有充足的理由的前提下,可以适当违背规范中约定。 -例外破坏了代码的一致性,请尽量避免。“规则”的例外应该是极少的。 - -下列情况,应风格一致性原则优先: -**修改外部开源代码、第三方代码时,应该遵守开源代码、第三方代码已有规范,保持风格统一。** - - -# 1 命名 - -命名包括文件、函数、变量、类型、宏等命名。 - -命名被认为是软件开发过程中最困难,也是最重要的事情。 -标识符的命名要清晰、明了,有明确含义,符合阅读习惯,容易理解。 - -统一的命名风格是一致性原则最直接的体现。 - - -## 总体风格 - -**驼峰风格(CamelCase)** -大小写字母混用,单词连在一起,不同单词间通过单词首字母大写来分开。 -按连接后的首字母是否大写,又分: **大驼峰(UpperCamelCase)**和**小驼峰(lowerCamelCase)** - - -### 规则1.1 标识符命名使用驼峰风格 - -| 类型 | 命名风格 | -|-|-| -| 函数,结构体类型,枚举类型,联合体类型 | 大驼峰 | -| 变量,函数参数,宏参数,结构体中字段,联合体中成员 | 小驼峰 | -| 宏,常量,枚举值,goto 标签 | 全大写,下划线分割 | - -注意: -上表中`常量`是指,全局作用域下,const 修饰的基本数据类型、枚举、字符串类型的变量,不包括数组、结构体和联合体。 -上表中`变量`是指除常量定义以外的其他变量,均使用小驼峰风格。 - -### 建议1.1 作用域越大,命名应越精确 - -C 与 C++ 不同,没有名字空间,没有类,所以全局作用域下的标识符命名要考虑不要冲突。 -对于全局函数、全局变量、宏、类型名、枚举名的命名,应当精确描述并全局唯一。 - -例: -```c -int GetCount(void); // Bad: 描述不精确 -int GetActiveConnectCount(void); // Good -``` - -为了命名更精确,必要时可以增加模块前缀。 -模块前缀与命名主体之间,按驼峰方式连接。 -示例: -```c -int PrefixFuncName(void); // OK: 驼峰方式,形式上无前缀,内容上有前缀 - -enum XxxMyEnum { // OK. - ... -}; -``` - -## 文件命名 - -### 建议1.2 文件命名统一采用小写字符 - -文件名命名只允许使用小写字母、数字以及下划线(\_)。 -文件名应尽量简短、准确、无二义性。 -不大小写混用的原因是,不同系统对文件名大小写处理会不同(如 MicroSoft 的 DOS, Windows 系统不区分大小写,但是 Unix / Linux, Mac 系统则默认区分)。 - -好的命名举例: -`dhcp_user_log.c` - -坏的命名举例: -`dhcp_user-log.c`: 不推荐用'\-'分隔 -`dhcpuserlog.c`: 未分割单词,可读性差 - -## 函数命名 - -函数命名统一使用大驼峰风格。 - -### 建议1.3 函数的命名遵循阅读习惯 - -动作类函数名,可以使用动宾结构。如: -```c -AddTableEntry() // OK -DeleteUser() // OK -GetUserInfo() // OK -``` -判断型函数,可以用形容词,或加 is: -```c -DataReady() // OK -IsRunning() // OK -JobDone() // OK -``` -数据型函数: -```c -TotalCount() // OK -GetTotalCount() // OK -``` - -## 变量命名 - -变量命名使用小驼峰风格,包括全局变量,局部变量,函数声明或定义中的参数,带括号宏中的参数。 - -### 规则1.2 全局变量应增加 'g_' 前缀,函数内静态变量命名不需要加特殊前缀 - -全局变量应当尽量少使用,使用时应特别注意,所以加上前缀用于视觉上的突出,促使开发人员对这些变量的使用更加小心。 -全局静态变量命名与全局变量相同,函数内的静态变量命名与普通局部变量相同。 - -```c -int g_activeConnectCount; - -void Func(void) -{ - static int pktCount = 0; - ... -} -``` - -注意: -常量本质也是全局变量,但如果命名风格是全大写,下划线连接的格式,则不适用当前规则。 - -### 建议1.4 局部变量应该简短,且能够表达相关含义 - -函数局部变量的命名,在能够表达相关含义的前提下,应该简短。 - -如下: -```c -int Func(...) -{ - enum PowerBoardStatus powerBoardStatusOfSlot; // Not good: 局部变量有点长 - powerBoardStatusOfSlot = GetPowerBoardStatus(slot); - if (powerBoardStatusOfSlot == POWER_OFF) { - ... - } - ... -} -``` -更好的写法: -```c -int Func(...) -{ - enum PowerBoardStatus status; // Good: 结合上下文,status 已经能明确表达意思 - status = GetPowerBoardStatus(slot); - if (status == POWER_OFF) { - ... - } - ... -} -``` -类似的, tmp 可以用来称呼任意类型的临时变量。 -过短的变量命名应慎用,但有时候,单字符变量也是允许的,如用于循环语句中的计数器变量: -```c -int i; -... -for (i = 0; i < COUNTER_RANGE; i++) { - ... -} -``` -或一些简单的数学计算函数中的变量: -```c -int Mul(int a, int b) -{ - return a * b; -} -``` - -## 类型命名 - -类型命名采用大驼峰命名风格。 -类型包括结构体、联合体、枚举类型名。 - -例: -```c -struct MsgHead { - enum MsgType type; - int msgLen; - char *msgBuf; -}; - -union Packet { - struct SendPacket send; - struct RecvPacket recv; -}; - -enum BaseColor { - RED, // 注意,枚举类型是大驼峰,枚举值应使用宏风格 - GREEN, - BLUE -}; - -typedef int (*NodeCmpFunc)(struct Node *a, struct Node *b); -``` - -通过 typedef 对结构体、联合体、枚举起别名时,尽量使用匿名类型。 -若需要指针自嵌套,可以增加 'tag' 前缀或下划线后缀。 -```c -typedef struct { // Good: 无须自嵌套,使用匿名结构体 - int a; - int b; -} MyType; // 结构体别名用大驼峰风格 -``` -```c -typedef struct tagNode { // Good: 使用 tag 前缀。这里也可以使用 'Node_'代替也可以。 - struct tagNode *prev; - struct tagNode *next; -} Node; // 类型主体用大驼峰风格 -``` - -## 宏、常量、枚举命名 - -宏、枚举值采用全大写,下划线连接的格式。 -常量推荐采用全大写,下划线连接风格。作为全局变量,也可以保持与普通全局变量命名风格相同。 -这里常量如前文定义,是指基本数据类型、枚举、字符串类型的全局 const 变量。 - -函数式宏,如果功能上可以替代函数,也可以与函数的命名方式相同,使用大驼峰命名风格。 -这种做法会让宏与函数看起来一样,容易混淆,需要特别注意。 - -宏举例: -```c -#define PI 3.14 -#define MAX(a, b) (((a) < (b)) ? (b) : (a)) -``` -```c -#ifdef SOME_DEFINE -void Bar(int); -#define Foo(a) Bar(a) // 特殊场景,用大驼峰风格命名函数式宏 -#else -void Foo(int); -#endif -``` - -常量举例: -```c -const int VERSION = 200; // OK. - -const enum Color DEFAULT_COLOR = BLUE; // OK. - -const char PATH_SEP = '/'; // OK. - -const char * const GREETINGS = "Hello, World!"; // OK. -``` - -非常量举例: -```c -// 结构体类型,不符合常量定义 -const struct MyType g_myData = { ... }; // OK: 用小驼峰 - -// 数组类型,不符合常量定义 -const int g_xxxBaseValue[4] = { 1, 2, 4, 8 }; // OK: 用小驼峰 - -int Foo(...) -{ - // 局部作用域,不符合常量定义 - const int bufSize = 100; // OK: 用小驼峰 - ... -} -``` - -枚举举例: -```c -// 注意,枚举类型名用大驼峰,其下面的取值是全大写,下划线相连 -enum BaseColor { - RED, - GREEN, - BLUE -}; -``` - -### 建议1.5 避免函数式宏中的临时变量命名污染外部作用域 - -首先,**尽量少的使用函数式宏。** - -当函数式宏需要定义局部变量时,为了防止跟外部函数中的局部变量有命名冲突。 - -后置下划线,是一种解决方案。 例: -```c -#define SWAP_INT(a, b) do { \ - int tmp_ = a; \ - a = b; \ - b = tmp_; \ -} while (0) -``` - -# 2 排版格式 - -## 行宽 - -### 建议2.1 行宽不超过 120 个字符 - -代码行宽不宜过长,否则不利于阅读。 -控制行宽长度可以间接的引导开发去缩短函数、变量的命名,减少嵌套的层数,提升代码可读性。 -强烈建议和要求每行字符数不要超过 **120** 个;除非超过 **120** 能显著增加可读性,并且不会隐藏信息。 -虽然现代显示器分辨率已经很高,但是行宽过长,反而提高了阅读理解的难度;跟本规范提倡的“清晰”、“简洁”原则相背。 - -如下场景不宜换行,可以例外: -- 换行会导致内容截断,无法被方便查找(grep)的字符串,如命令行或 URL 等等。包含这些内容的代码或注释,可以适当例外。 -- \#include / \#error 语句可以超出行宽要求,但是也需要尽量避免。 - -例: -```c -#ifndef XXX_YYY_ZZZ -#error Header aaaa/bbbb/cccc/abc.h must only be included after xxxx/yyyy/zzzz/xyz.h -#endif -``` -## 缩进 - -### 规则2.1 使用空格进行缩进,每次缩进4个空格 - -只允许使用空格(space)进行缩进,每次缩进为 **4** 个空格。不允许使用Tab键进行缩进。 -当前几乎所有的集成开发环境(IDE)和代码编辑器都支持配置将Tab键自动扩展为**4**空格输入,请配置你的代码编辑器支持使用空格进行缩进。 - -## 大括号 - -### 规则2.2 使用 K&R 缩进风格 - -**K&R风格** -换行时,函数左大括号另起一行放行首,并独占一行;其他左大括号跟随语句放行末。 -右大括号独占一行,除非后面跟着同一语句的剩余部分,如 do 语句中的 while,或者 if 语句的 else/else if,或者逗号、分号。 - -如: -```c -struct MyType { // Good: 跟随语句放行末,前置1空格 - ... -}; // Good: 右大括号后面紧跟分号 - -int Foo(int a) -{ // Good: 函数左大括号独占一行,放行首 - if (...) { - ... - } else { // Good: 右大括号与 else 语句在同一行 - ... - } // Good: 右大括号独占一行 -} -``` - -## 函数声明和定义 - -### 规则2.3 函数声明、定义的返回类型和函数名在同一行;函数参数列表换行时应合理对齐 - -在声明和定义函数的时候,函数的返回值类型应该和函数名在同一行。 - -函数参数列表换行时,应合理对齐。 -参数列表的左圆括号总是和函数名在同一行,不要单独一行;右圆括号总是跟随最后一个参数。 - -换行举例: -```c -ReturnType FunctionName(ArgType paramName1, ArgType paramName2) // Good:全在同一行 -{ - ... -} - -ReturnType VeryVeryVeryLongFunctionName(ArgType paramName1, // 行宽不满足所有参数,进行换行 - ArgType paramName2, // Good:和上一行参数对齐 - ArgType paramName3) -{ - ... -} - -ReturnType LongFunctionName(ArgType paramName1, ArgType paramName2, // 行宽限制,进行换行 - ArgType paramName3, ArgType paramName4, ArgType paramName5) // Good: 换行后 4 空格缩进 -{ - ... -} - -ReturnType ReallyReallyReallyReallyLongFunctionName( // 行宽不满足第1个参数,直接换行 - ArgType paramName1, ArgType paramName2, ArgType paramName3) // Good: 换行后 4 空格缩进 -{ - ... -} -``` - -## 函数调用 - -### 规则2.4 函数调用参数列表换行时保持参数进行合理对齐 - -函数调用时,函数参数列表如果换行,应该进行合理的参数对齐。 -左圆括号总是跟函数名,右圆括号总是跟最后一个参数。 - -换行举例: -```c -ReturnType result = FunctionName(paramName1, paramName2); // Good:函数参数放在一行 - -ReturnType result = FunctionName(paramName1, - paramName2, // Good:保持与上方参数对齐 - paramName3); - -ReturnType result = FunctionName(paramName1, paramName2, - paramName3, paramName4, paramName5); // Good:参数换行,4 空格缩进 - -ReturnType result = VeryVeryVeryLongFunctionName( // 行宽不满足第1个参数,直接换行 - paramName1, paramName2, paramName3); // 换行后,4 空格缩进 -``` - -如果函数调用的参数存在内在关联性,按照可理解性优先于格式排版要求,对参数进行合理分组换行。 -```c -// Good:每行的参数代表一组相关性较强的数据结构,放在一行便于理解 -int result = DealWithStructureLikeParams(left.x, left.y, // 表示一组相关参数 - right.x, right.y); // 表示另外一组相关参数 -``` - -## 条件语句 - -### 规则2.5 条件语句必须要使用大括号 - -我们要求条件语句都需要使用大括号,即便只有一条语句。 -理由: -- 代码逻辑直观,易读; -- 在已有条件语句代码上增加新代码时不容易出错; -- 对于在条件语句中使用函数式宏时,没有大括号保护容易出错(如果宏定义时遗漏了大括号)。 - -```c -if (objectIsNotExist) { // Good:单行条件语句也加大括号 - return CreateNewObject(); -} -``` - -### 规则2.6 禁止 if/else/else if 写在同一行 - -条件语句中,若有多个分支,应该写在不同行。 - -如下是正确的写法: -```c -if (someConditions) { - ... -} else { // Good: else 与 if 在不同行 - ... -} -``` - -下面是不符合规范的案例: -```c -if (someConditions) { ... } else { ... } // Bad: else 与 if 在同一行 -``` - -## 循环 - -### 规则2.7 循环语句必须使用大括号 - -和条件表达式类似,我们要求for/while循环语句必须加上大括号,即便循环体是空的,或循环语句只有一条。 -```c -for (int i = 0; i < someRange; i++) { // Good: 使用了大括号 - DoSomething(); -} -``` -```c -while (condition) { } // Good:循环体是空,使用大括号 -``` -```c -while (condition) { - continue; // Good:continue 表示空逻辑,使用大括号 -} -``` - -坏的例子: -```c -for (int i = 0; i < someRange; i++) - DoSomething(); // Bad: 应该加上括号 -``` -```c -while (condition); // Bad:使用分号容易让人误解是while语句中的一部分 -``` - -## switch语句 - -### 规则2.8 switch 语句的 case/default 要缩进一层 - -switch 语句的缩进风格如下: -```c -switch (var) { - case 0: // Good: 缩进 - DoSomething1(); // Good: 缩进 - break; - case 1: { // Good: 带大括号格式 - DoSomething2(); - break; - } - default: - break; -} -``` - -```c -switch (var) { -case 0: // Bad: case 未缩进 - DoSomething(); - break; -default: // Bad: default 未缩进 - break; -} -``` - -## 表达式 - -### 建议2.2 表达式换行要保持换行的一致性,操作符放行末 - -较长的表达式,不满足行宽要求的时候,需要在适当的地方换行。一般在较低优先级操作符或连接符后面截断,操作符或连接符放在行末。 -操作符、连接符放在行末,表示“未结束,后续还有”。 - -例: -```c -// 假设下面第一行已经不满足行宽要求 -if ((currentValue > MIN) && // Good:换行后,布尔操作符放在行末 - (currentValue < MAX)) { - DoSomething(); - ... -} - -int result = reallyReallyLongVariableName1 + // Good: 加号留在行末 - reallyReallyLongVariableName2; -``` - -表达式换行后,注意保持合理对齐,或者4空格缩进。参考下面例子 -```c -int sum = longVaribleName1 + longVaribleName2 + longVaribleName3 + - longVaribleName4 + longVaribleName5 + longVaribleName6; // OK: 4空格缩进 - -int sum = longVaribleName1 + longVaribleName2 + longVaribleName3 + - longVaribleName4 + longVaribleName5 + longVaribleName6; // OK: 保持对齐 -``` - -## 变量赋值 - -### 规则2.9 多个变量定义和赋值语句不允许写在一行 - -每行最好只有一个变量初始化的语句,更容易阅读和理解。 - -```c -int maxCount = 10; -bool isCompleted = false; -``` - -下面是不符合规范的示例: -```c -int maxCount = 10; bool isCompleted = false; // Bad:多个初始化放在了同一行 -int x, y = 0; // Bad:多个变量定义需要分行,每行一个 - -int pointX; -int pointY; -... -pointX = 1; pointY = 2; // Bad:多个变量赋值语句放同一行 -``` - -例外情况: -对于多个相关性强的变量定义,且无需初始化时,可以定义在一行,减少重复信息,以便代码更加紧凑。 -```c -int i, j; // Good:多变量定义,未初始化,可以写在一行 -for (i = 0; i < row; i++) { - for (j = 0; j < col; j++) { - ... - } -} -``` - -## 初始化 - -初始化包括结构体、联合体及数组的初始化 - -### 规则2.10 初始化换行时要有缩进,或进行合理对齐 - -结构体或数组初始化时,如果换行应保持4空格缩进。 -从可读性角度出发,选择换行点和对齐位置。 -```c -// Good: 满足行宽要求时不换行 -int arr[4] = { 1, 2, 3, 4 }; - -// Good: 行宽较长时,换行让可读性更好 -const int rank[] = { - 16, 16, 16, 16, 32, 32, 32, 32, - 64, 64, 64, 64, 32, 32, 32, 32 -}; -``` - -对于复杂结构数据的初始化,尽量清晰、紧凑。 -参考如下格式: -```c -int a[][4] = { - { 1, 2, 3, 4 }, { 2, 2, 3, 4 }, // OK. - { 3, 2, 3, 4 }, { 4, 2, 3, 4 } -}; - -int b[][8] = { - { 1, 2, 3, 4, 5, 6, 7, 8 }, // OK. - { 2, 2, 3, 4, 5, 6, 7, 8 } -}; -``` -```c -int c[][8] = { - { - 1, 2, 3, 4, 5, 6, 7, 8 // OK. - }, { - 2, 2, 3, 4, 5, 6, 7, 8 - } -}; -``` - -注意: -- 左大括号放行末时,对应的右大括号需另起一行 -- 左大括号被内容跟随时,对应的右大括号也应跟随内容 - -### 规则2.11 结构体和联合体在按成员初始化时,每个成员初始化单独一行 - -C99标准支持结构体和联合体按照成员进行初始化,标准中叫"指定初始化"(designated initializer)。 如果按照这种方式进行初始化,每个成员的初始化单独一行。 -```c -struct Date { - int year; - int month; - int day; -}; - -struct Date date = { // Good:使用指定初始化方式时,每行初始化一个 - .year = 2000, - .month = 1, - .day = 1 -}; -``` - -## 指针 - -### 建议2.3 指针类型"\*"跟随变量名或者类型,不要两边都留有空格或都没有空格 - -声明或定义指针变量或者返回指针类型函数时,"\*" 靠左靠右都可以,但是不要两边都有或者都没有空格。 -```c -int *p1; // OK. -int* p2; // OK. - -int*p3; // Bad: 两边都没空格 -int * p4; // Bad: 两边都有空格 -``` - -选择一种风格,并保持一致性。 - -选择"\*"跟随类型风格时,避免一行同时声明带指针的多个变量。 -```c -int* a, b; // Bad: 很容易将 b 误理解成指针 -``` - -选择"\*"跟随变量风格时,可能会存在无法紧跟的情况。 -无法跟随时就不跟随,不要破坏风格一致性。 -```c -char * const VERSION = "V100"; // OK. -int Foo(const char * restrict p); // OK. -``` -注意,任何时候 "\*" 不要紧跟 const 或 restrict 关键字。 - -## 编译预处理 - -### 规则2.12 编译预处理的"#"默认放在行首,嵌套编译预处理语句时,"#"可以进行缩进 - -编译预处理的"#"统一放在行首;即便编译预处理的代码是嵌入在函数体中的,"#"也应该放在行首。 - -## 空格和空行 - -### 规则2.13 水平空格应该突出关键字和重要信息,避免不必要的留白 - -水平空格应该突出关键字和重要信息,每行代码尾部不要加空格。 总体规则如下: -- if, switch, case, do, while, for 等关键字之后加空格; -- 小括号内部的两侧,不要加空格 -- 二元操作符(= + ‐ < > * / % | & ^ <= >= == !=)左右两侧加空格 -- 一元操作符(& * + ‐ ~ !)之后不要加空格 -- 三目操作符(? :)符号两侧均需要空格 -- 结构体中表示位域的冒号,两侧均需要空格 -- 前置和后置的自增、自减(++ --)和变量之间不加空格 -- 结构体成员操作符(. ->)前后不加空格 -- 大括号内部两侧有无空格,左右必须保持一致 -- 逗号、分号、冒号(不含三目操作符和表示位域的冒号)紧跟前面内容无空格,其后需要空格 -- 函数参数列表的小括号与函数名之间无空格 -- 类型强制转换的小括号与被转换对象之间无空格 -- 数组的中括号与数组名之间无空格 -- 涉及到换行时,行末的空格可以省去 - -对于大括号内部两侧的空格,**建议**如下: -- 一般的,大括号内部两侧建议加空格 -- 对于空的,或单个标识符,或单个字面常量,空格不是必须 -如:'{}', '{0}', '{NULL}', '{"hi"}' 等 -- 连续嵌套的多重括号之间,空格不是必须 -如:'{{0}}', '{{ 1, 2 }}' 等 -错误示例:'{ 0, {1}}',不属于连续嵌套场景,而且最外侧大括号左右不一致 - -常规情况: -```c -int i = 0; // Good:变量初始化时,= 前后应该有空格,分号前面不要留空格 -int buf[BUF_SIZE] = {0}; // Good:数组初始化时,大括号内空格可选 -int arr[] = { 10, 20 }; // Good: 正常大括号内部两侧建议加空格 -``` - -函数定义和函数调用: -```c -int result = Foo(arg1,arg2); - ^ // Bad: 逗号后面应该有空格 - -int result = Foo( arg1, arg2 ); - ^ ^ // Bad: 小括号内部两侧不应该有空格 -``` - -指针和取地址 -```c -x = *p; // Good:*操作符和指针p之间不加空格 -p = &x; // Good:&操作符和变量x之间不加空格 -x = r.y; // Good:通过.访问成员变量时不加空格 -x = r->y; // Good:通过->访问成员变量时不加空格 -``` - -操作符: -```c -x = 0; // Good:赋值操作的=前后都要加空格 -x = -5; // Good:负数的符号和数值之前不要加空格 -++x; // Good:前置和后置的++/--和变量之间不要加空格 -x--; - -if (x && !y) // Good:布尔操作符前后要加上空格,!操作和变量之间不要空格 -v = w * x + y / z; // Good:二元操作符前后要加空格 -v = w * (x + z); // Good:括号内的表达式前后不需要加空格 -``` - -循环和条件语句: -```c -if (condition) { // Good:if关键字和括号之间加空格,括号内条件语句前后不加空格 - ... -} else { // Good:else关键字和大括号之间加空格 - ... -} - -while (condition) {} // Good:while关键字和括号之间加空格,括号内条件语句前后不加空格 - -for (int i = 0; i < someRange; ++i) { // Good:for关键字和括号之间加空格,分号之后加空格 - ... -} - -switch (var) { // Good: switch 关键字后面有1空格 - case 0: // Good:case语句条件和冒号之间不加空格 - ... - break; - ... - default: - ... - break; -} -``` - -注意:当前的集成开发环境(IDE)和代码编辑器都可以设置删除行尾的空格,请正确配置你的编辑器。 - -### 建议2.4 合理安排空行,保持代码紧凑 - -减少不必要的空行,可以显示更多的代码,方便代码阅读。下面有一些建议遵守的规则: -- 根据上下内容的相关程度,合理安排空行; -- 函数内部、类型定义内部、宏内部、初始化表达式内部,不使用连续空行 -- 不使用连续 **3** 个空行,或更多 -- 大括号内的代码块首行之前和末行之后不要加空行。 - -```c -ret = DoSomething(); - -if (ret != OK) { // Bad: 返回值判断应该紧跟函数调用 - return -1; -} -``` -```c -int Foo(void) -{ - ... -} - - - -int Bar(void) // Bad:最多使用连续2个空行。 -{ - ... -} -``` -```c -int Foo(void) -{ - - DoSomething(); // Bad:大括号内部首尾,不需要空行 - ... - -} -``` - -# 3 注释 - -一般的,尽量通过清晰的架构逻辑,好的符号命名来提高代码可读性;需要的时候,才辅以注释说明。 -注释是为了帮助阅读者快速读懂代码,所以要从读者的角度出发,**按需注释**。 - -注释内容要简洁、明了、无二义性,信息全面且不冗余。 - -**注释跟代码一样重要。** -写注释时要换位思考,用注释去表达此时读者真正需要的信息。在代码的功能、意图层次上进行注释,即注释解释代码难以表达的意图,不要重复代码信息。 -修改代码时,也要保证其相关注释的一致性。只改代码,不改注释是一种不文明行为,破坏了代码与注释的一致性,让阅读者迷惑、费解,甚至误解。 - -使用英文进行注释。 - -## 注释风格 - -在 C 代码中,使用 `/*` `*/`和 `//` 都是可以的。 -按注释的目的和位置,注释可分为不同的类型,如文件头注释、函数头注释、代码注释等等; -同一类型的注释应该保持统一的风格。 - -注意:本文示例代码中,大量使用 '//' 后置注释只是为了更精确的描述问题,并不代表这种注释风格更好。 - -## 文件头注释 - -### 规则3.1 文件头注释必须包含版权许可 - -/* - * Copyright (c) 2020 XXX - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -## 函数头注释 - -### 规则3.2 禁止空有格式的函数头注释 - -并不是所有的函数都需要函数头注释; -函数原型无法表达的信息,加函数头注释辅助说明; - -函数头注释统一放在函数声明或定义上方。 -选择使用如下风格之一: -**使用'//'写函数头** -```c -// 单行函数头 -int Func1(void); - -// 多行函数头 -// 第二行 -int Func2(void); -``` - -**使用'/\*' '\*/' 写函数头** -```c -/* 单行函数头 */ -int Func1(void); - -/* - * 单行或多行函数头 - * 第二行 - */ -int Func2(void); -``` - -函数尽量通过函数名自注释,**按需**写函数头注释。 -不要写无用、信息冗余的函数头;不要写空有格式的函数头。 - -函数头注释内容**可选**,但不限于:功能说明、返回值,性能约束、用法、内存约定、算法实现、可重入的要求等等。 -模块对外头文件中的函数接口声明,其函数头注释,应当将重要、有用的信息表达清楚。 - -例: -```c -/* - * 返回实际写入的字节数,-1表示写入失败 - * 注意,内存 buf 由调用者负责释放 - */ -int WriteString(char *buf, int len); -``` - -坏的例子: -```c -/* - * 函数名:WriteString - * 功能:写入字符串 - * 参数: - * 返回值: - */ -int WriteString(char *buf, int len); -``` -上面例子中的问题: -- 参数、返回值,空有格式没内容 -- 函数名信息冗余 -- 关键的 buf 由谁释放没有说清楚 - -## 代码注释 - -### 规则3.3 代码注释放于对应代码的上方或右边 -### 规则3.4 注释符与注释内容间要有1空格;右置注释与前面代码至少1空格 - -代码上方的注释,应该保持对应代码一样的缩进。 -选择并统一使用如下风格之一: -**使用'//'** -```c -// 这是单行注释 -DoSomething(); - -// 这是多行注释 -// 第二行 -DoSomething(); -``` -**使用'/\*' '\*/'** -```c -/* 这是单行注释 */ -DoSomething(); - -/* - * 这是单/多行注释 - * 第二行 - */ -DoSomething(); -``` - -代码右边的注释,与代码之间,至少留1空格,建议不超过4空格。 -通常使用扩展后的 TAB 键即可实现 1-4 空格的缩进。 - -选择并统一使用如下风格之一: -```c -int foo = 100; // 放右边的注释 -int bar = 200; /* 放右边的注释 */ -``` - -右置格式在适当的时候,上下对齐会更美观。 -对齐后的注释,离左边代码最近的那一行,保证1-4空格的间隔。 -例: -```c -#define A_CONST 100 /* 相关的同类注释,可以考虑上下对齐 */ -#define ANOTHER_CONST 200 /* 上下对齐时,与左侧代码保持间隔 */ -``` - -当右置的注释超过行宽时,请考虑将注释置于代码上方。 - -### 规则3.5 不用的代码段直接删除,不要注释掉 - -被注释掉的代码,无法被正常维护;当企图恢复使用这段代码时,极有可能引入易被忽略的缺陷。 -正确的做法是,不需要的代码直接删除掉。若再需要时,考虑移植或重写这段代码。 - -这里说的注释掉代码,包括用 /\* \*/ 和 //,还包括 #if 0, #ifdef NEVER_DEFINED 等等。 - -### 建议3.1 case语句块结束时如果不加break/return,需要有注释说明(fall-through) - -有时候需要对多个case标签做相同的事情,case语句在结束不加break或return,直接执行下一个case标签中的语句,这在C语法中称之为"fall-through"。 -这种情况下,需要在"fall-through"的地方加上注释,清晰明确的表达出这样做的意图;或者至少显式指明是 "fall-through"。 - -例,显式指明 fall-through: -```c -switch (var) { - case 0: - DoSomething(); - /* fall-through */ - case 1: - DoSomeOtherThing(); - ... - break; - default: - DoNothing(); - break; -} -``` - -如果 case 语句是空语句,则可以不用加注释特别说明: -```c -switch (var) { - case 0: - case 1: - DoSomething(); - break; - default: - DoNothing(); - break; -} -``` - -# 4 头文件 - -**对于C语言来说,头文件的设计体现了大部分的系统设计**。 -正确使用头文件可使代码在可读性、文件大小和编译构建性能上大为改观。 - -本章从编程规范的角度总结了一些方法,可用于帮助合理规划头文件。 - -## 头文件职责 - -头文件是模块或文件的对外接口。 -头文件中适合放置接口的声明,不适合放置实现(内联函数除外)。 -头文件应当职责单一。头文件过于复杂,依赖过于复杂还是导致编译时间过长的主要原因。 - -### 建议4.1 每一个.c文件都应该有相应的.h文件,用于声明需要对外公开的接口 - -通常情况下,每个.c文件都有一个相应的.h(并不一定同名),用于放置对外提供的函数声明、宏定义、类型定义等。 -如果一个.c文件不需要对外公布任何接口,则其就不应当存在。 - -例外:程序的入口(如main函数所在的文件),单元测试代码,动态库代码。 - -示例: -foo.h 内容 -```c -#ifndef FOO_H -#define FOO_H - -int Foo(void); // Good:头文件中声明对外接口 - -#endif -``` - -foo.c 内容 -```c -static void Bar(void); // Good: 对内函数的声明放在.c文件的头部,并声明为static限制其作用域 - -void Foo(void) -{ - Bar(); -} - -static void Bar(void) -{ - // Do something; -} -``` - -内部使用的函数声明,宏、枚举、结构体等定义不应放在头文件中。 - -有些产品中,习惯一个.c文件对应两个.h文件,一个用于存放对外公开的接口,一个用于存放内部需要用到的定义、声明等,以控制.c文件的代码行数。 -不提倡这种风格,产生这种风格的根源在于.c过大,应当首先考虑拆分.c文件。 -另外,一旦把私有定义、声明放到独立的头文件中,就无法从技术上避免别人包含。 - -本规则反过来并不一定成立。比如: -有些特别简单的头文件,如命令 ID 定义头文件,不需要有对应的.c存在。 -同一套接口协议下,有多个实例,由于接口相同且稳定,所以允许出现一个.h对应多个.c文件。 - -### 建议4.2 头文件的扩展名只使用.h,不使用非习惯用法的扩展名,如.inc - -有些产品中使用了 .inc 作为头文件扩展名,这不符合C语言的习惯用法。 -在使用 .inc 作为头文件扩展名的产品,习惯上用于标识此头文件为私有头文件。 -但是从产品的实际代码来看,这一条并没有被遵守,一个 .inc 文件被多个 .c 包含。 -本规范不提倡将私有定义单独放在头文件中,具体见[建议4.1](#a4-1)。 - -## 头文件依赖 - -头文件包含是一种依赖关系,头文件应向稳定的方向包含。 -一般来说,应当让不稳定的模块依赖稳定的模块,从而当不稳定的模块发生变化时,不会影响(编译)稳定的模块。 - -依赖的方向应该是:产品依赖于平台,平台依赖于标准库。 - -除了不稳定的模块依赖于稳定的模块外,更好的方式是每个模块都依赖于接口,这样任何一个模块的内部实现更改都不需要重新编译另外一个模块。 -在这里,假设接口本身是最稳定的。 - -### 规则4.1 禁止头文件循环依赖 - -头文件循环依赖,指 a.h 包含 b.h,b.h 包含 c.h,c.h 包含 a.h, 导致任何一个头文件修改,都导致所有包含了a.h/b.h/c.h的代码全部重新编译一遍。 -而如果是单向依赖,如a.h包含b.h,b.h包含c.h,而c.h不包含任何头文件,则修改a.h不会导致包含了b.h/c.h的源代码重新编译。 - -头文件循环依赖直接体现了架构设计上的不合理,可通过架构优化来避免。 - - -### 规则4.2 头文件必须编写#define保护,防止重复包含 - -为防止头文件被多重包含,所有头文件都应当使用 #define 作为包含保护;不要使用 #pragma once - -定义包含保护符时,应该遵守如下规则: -- 保护符使用唯一名称;建议考虑项目源代码树顶层以下的文件路径 -- 不要在受保护部分的前后放置代码或者注释,文件头注释除外。 - -假定 timer 模块的 timer.h,其目录为 `timer/include/timer.h`。其保护符若使用 'TIME_H' 很容易不唯一,所以使用项目源代码树的全路径,如: -```c -#ifndef TIMER_INCLUDE_TIMER_H -#define TIMER_INCLUDE_TIMER_H - -... - -#endif -``` - -### 规则4.3 禁止通过声明的方式引用外部函数接口、变量 - -只能通过包含头文件的方式使用其他模块或文件提供的接口。 -通过 extern 声明的方式使用外部函数接口、变量,容易在外部接口改变时可能导致声明和定义不一致。 -同时这种隐式依赖,容易导致架构腐化。 - -不符合规范的案例: -a.c 内容 -```c -extern int Foo(void); // Bad: 通过 extern 的方式引用外部函数 - -void Bar(void) -{ - int i = Foo(); // 这里使用了外部接口 Foo - ... -} -``` - -应该改为: -a.c 内容 -```c -#include "b.h" // Good: 通过包含头文件的方式使用其他.c提供的接口 - -void Bar(void) -{ - int i = Foo(); - ... -} -``` - -b.h 内容 -```c -int Foo(void); -``` - -b.c内容 -```c -int Foo(void) -{ - // Do something -} -``` - -例外,有些场景需要引用其内部函数,但并不想侵入代码时,可以 extern 声明方式引用。 -如: -针对某一内部函数进行单元测试时,可以通过 extern 声明来引用被测函数; -当需要对某一函数进行打桩、打补丁处理时,允许 extern 声明该函数。 - -### 规则4.4 禁止在 extern "C" 中包含头文件 - -在 extern "C" 中包含头文件,有可能会导致 extern "C" 嵌套,部分编译器对 extern "C" 嵌套层次有限制,嵌套层次太多会编译错误。 - -extern "C" 通常出现在 C,C++ 混合编程的情况下,在 extern "C" 中包含头文件,可能会导致被包含头文件的原有意图遭到破坏,比如链接规范被不正确地更改。 - -示例,存在a.h和b.h两个头文件: -a.h 内容 -```c -... -#ifdef __cplusplus -void Foo(int); -#define A(value) Foo(value) -#else -void A(int) -#endif -``` - -b.h 内容 -```c -... -#ifdef __cplusplus -extern "C" { -#endif - -#include "a.h" -void B(void); - -#ifdef __cplusplus -} -#endif -``` - -使用C++预处理器展开b.h,将会得到 -```c -extern "C" { - void Foo(int); - void B(void); -} -``` - -按照 a.h 作者的本意,函数 Foo 是一个 C++ 自由函数,其链接规范为 "C++"。 -但在 b.h 中,由于 `#include "a.h"` 被放到了 `extern "C"` 的内部,函数 Foo 的链接规范被不正确地更改了。 - -例外: -如果在 C++ 编译环境中,想引用纯C的头文件,这些C头文件并没有 `extern "C"` 修饰。非侵入式的做法是,在 `extern "C"` 中去包含C头文件。 - -# 5 函数 - -函数的作用:避免重复代码、增加可重用性;分层,降低复杂度、隐藏实现细节,使程序更加模块化,从而更有利于程序的阅读,维护。 - -函数应该简洁、短小。 -一个函数只完成一件事情。 - -## 函数设计 - -函数设计的精髓:编写整洁函数,同时把代码有效组织起来。代码简单直接、不隐藏设计者的意图、用干净利落的抽象和直截了当的控制语句将函数有机组织起来。 - -### 规则5.1 避免函数过长,函数不超过50行(非空非注释) - -函数应该可以一屏显示完 (50行以内),只做一件事情,而且把它做好。 - -过长的函数往往意味着函数功能不单一,过于复杂,或过分呈现细节,未进行进一步抽象。 - -例外: -考虑代码的聚合性与功能的全面性,某些函数可能会超过50行,但前提是不影响代码的可读性与简洁。 -这些例外的函数应该是极少的,例如特定算法处理。 - -即使一个长函数现在工作的非常好, 一旦有人对其修改, 有可能出现新的问题, 甚至导致难以发现的bug。 -建议将其拆分为更加简短并易于管理的若干函数,以便于他人阅读和修改代码。 - -### 规则5.2 避免函数的代码块嵌套过深,不要超过4层 - -函数的代码块嵌套深度指的是函数中的代码控制块(例如:if、for、while、switch等)之间互相包含的深度。 -每级嵌套都会增加阅读代码时的脑力消耗,因为需要在脑子里维护一个“栈”(比如,进入条件语句、进入循环等等)。 -应该做进一步的功能分解,从而避免使代码的阅读者一次记住太多的上下文。 - -使用`卫语句`可以有效的减少 if 相关的嵌套层次。例: -原代码嵌套层数是 3: -```c -int Foo(...) -{ - if (received) { - type = GetMsgType(msg); - if (type != UNKNOWN) { - return DealMsg(...); - } - } - return -1; -} -``` - -使用`卫语句`重构,嵌套层数变成 2: -```c -int Foo(...) -{ - if (!received) { // Good: 使用'卫语句' - return -1; - } - - type = GetMsgType(msg); - if (type == UNKNOWN) { - return -1; - } - - return DealMsg(..); -} -``` -例外: -考虑代码的聚合性与功能的全面性,某些函数嵌套可能会超过4层,但前提是不影响代码的可读性与简洁。 -这些例外的函数应该是极少的。 - -### 建议5.1 对函数的错误返回码要全面处理 - -一个函数(标准库中的函数/第三方库函数/用户定义的函数)能够提供一些指示错误发生的方法。 -这可以通过使用错误标记、特殊的返回数据或者其他手段,不管什么时候函数提供了这样的机制,调用程序应该在函数返回时立刻检查错误指示。 - -示例: -```c -char fileHead[128]; -ReadFileHead(fileName, fileHead, sizeof(fileHead)); // Bad: 未检查返回值 - -DealWithFileHead(fileHead, sizeof(fileHead)); // fileHead 可能无效 -``` - -正确写法: -```c -char fileHead[128]; -ret = ReadFileHead(fileName, fileHead, sizeof(fileHead)); -if (ret != OK) { // Good: 确保 fileHead 被有效写入 - return ERROR; -} - -DealWithFileHead(fileHead, sizeof(fileHead)); // 处理文件头 -``` - - -注意,当函数返回值被大量的显式(void)忽略掉时,应当考虑函数返回值的设计是否合理。 -如果所有调用者都不关注函数返回值时,请将函数设计成`void`型。 - -## 函数参数 - -### 建议5.2 设计函数时,优先使用返回值而不是输出参数 - -使用返回值而不是输出参数,可以提高可读性,并且通常提供相同或更好的性能。 - -函数名为 GetXxx、FindXxx 或直接名词作函数名的函数,直接返回对应对象,可读性更好。 - -### 建议5.3 使用强类型参数,避免使用void\* - -尽管不同的语言对待强类型和弱类型有自己的观点,但是一般认为c/c++是强类型语言,既然我们使用的语言是强类型的,就应该保持这样的风格。 -好处是尽量让编译器在编译阶段就检查出类型不匹配的问题。 - -使用强类型便于编译器帮我们发现错误,如下代码中注意函数 `FooListAddNode` 的使用: -```c -struct FooNode { - struct List link; - int foo; -}; - -struct BarNode { - struct List link; - int bar; -} - -void FooListAddNode(void *node) // Bad: 这里用 void * 类型传递参数 -{ - FooNode *foo = (FooNode *)node; - ListAppend(&g_fooList, &foo->link); -} - -void MakeTheList(...) -{ - FooNode *foo; - BarNode *bar; - ... - - FooListAddNode(bar); // Wrong: 这里本意是想传递参数 foo,但错传了 bar,却没有报错 -} - -``` - -上述问题有可能很隐晦,不易轻易暴露,从而破坏性更大。 -如果明确 `FooListAddNode` 的参数类型,而不是 `void *`,则在编译阶段就能发现上述问题。 -```c -void FooListAddNode(FooNode *foo) -{ - ListAppend(&g_fooList, &foo->link); -} -``` - -例外:某些通用泛型接口,需要传入不同类型指针的,可以用 `void *` 入参。 - - -### 建议5.4 模块内部函数参数的合法性检查,由调用者负责 - -对于模块外部传入的参数,必须进行合法性检查,保护程序免遭非法输入数据的破坏。 -模块内部函数调用,缺省由调用者负责保证参数的合法性,如果都由被调用者来检查参数合法性,可能会出现同一个参数,被检查多次,产生冗余代码,很不简洁。 - -由调用者保证入参的合法性,这种契约式编程能让代码逻辑更简洁,可读性更好。 -示例: -```c -int SomeProc(...) -{ - int data; - - bool dataOK = GetData(&data); // 获取数据 - if (!dataOK) { // 检查上一步结果,其实也就保证了数据合法 - return -1; - } - - DealWithData(data); // 调用数据处理函数 - ... -} - -void DealWithData(int data) -{ - if (data < MIN || data > MAX) { // Bad: 调用者已经保证了数据合法性 - return; - } - - ... -} -``` - -### 建议5.5 函数的指针参数如果不是用于修改所指向的对象就应该声明为指向const的指针 - -const 指针参数,将限制函数通过该指针修改所指向对象,使代码更牢固、安全。 - -示例:C99标准 7.21.4.4 中strncmp 的例子,不变参数声明为const。 -```c -int strncmp(const char *s1, const char *s2, size_t n); // Good:不变参数声明为const -``` - -注意: -指针参数要不要加 const 取决于函数设计,而不是看函数实体内有没有发生“修改对象”的动作。 - -### 建议5.6 函数的参数个数不超过5个 - -函数的参数过多,会使得该函数易于受外部(其他部分的代码)变化的影响,从而影响维护工作。函数的参数过多同时也会增大测试的工作量。 - -函数的参数个数不要超过5个,如果超过可以考虑: -- 看能否拆分函数 -- 看能否将相关参数合在一起,定义结构体 - -## 内联函数 - -内联函数是**C99**引入的一种函数优化手段。函数内联能消除函数调用的开销;并得益于内联实现跟调用点代码的合并,编译器有更大的视角,从而完成更多的代码优化。内联函数跟函数式宏比较类似,两者的分析详见[建议6.1](#a6-1)。 - -### 建议5.7 内联函数不超过10行(非空非注释) - -将函数定义成内联一般希望提升性能,但是实际并不一定能提升性能。 -如果函数体短小,则函数内联可以有效的缩减目标代码的大小,并提升函数执行效率。 -反之,函数体比较大,内联展开会导致目标代码的膨胀,特别是当调用点很多时,膨胀得更厉害,反而会降低执行效率。 -内联函数规模建议控制在 **10** 行以内。 - -不要为了提高性能而滥用内联函数。不要过早优化。一般情况,当有实际测试数据证明内联性能更高时,再将函数定义为内联。 -对于类似 setter/getter 短小而且调用频繁的函数,可以定义为内联。 - -### 规则5.3 被多个源文件调用的内联函数要放在头文件中定义 - -内联函数是在编译时内联展开,因此要求内联函数定义必须在调用此函数的每个源文件内可见。 -如下所示代码,inline.h 只有`SomeInlineFunc`函数的声明而没有定义。other.c包含inline.h,调用`SomeInlineFunc`时无法内联。 - -inline.h -```c -inline int SomeInlineFunc(void); -``` - -inline.c -```c -inline int SomeInlineFunc(void) -{ - // 实现代码 -} -``` - -other.c -```c -#include "inline.h" -int OtherFunc(void) -{ - int ret = SomeInlineFunc(); -} -``` - -由于这个限制,多个源文件如果要调用同一个内联函数,需要将内联函数的定义放在头文件中。 -**gnu89** 在内联函数实现上跟**C99**标准有差异,兼容做法是将函数声明为 **static inline**。 - -# 6 宏 - -## 函数式宏(function-like macro) - -函数式宏是指形如函数的宏(示例代码如下所示),其包含若干条语句来实现某一特定功能。 -```c -#define ASSERT(x) do { \ - if (!(x)) { \ - printk(KERN_EMERG "assertion failed %s: %d: %s\n", \ - __FILE__, __LINE__, #x); \ - BUG(); \ - } \ -} while (0) -``` - -### 建议6.1 使用函数代替函数式宏 - -定义函数式宏前,应考虑能否用函数替代。对于可替代场景,建议用函数替代宏。 -函数式宏的缺点如下: - -- 函数式宏缺乏类型检查,不如函数调用检查严格。示例代码[见下](#macro_lack_of_type_check__example)。 -- 宏展开时宏参数不求值,可能会产生非预期结果,详见[规则6.1](#r6-1)和[规则6.3](#r6-3)。 -- 宏没有独立的作用域,跟控制流语句配合时,可能会产生如[规则6.2](#r6-2)描述的非预期结果。 -- 宏的技巧性太强(参见下面的规则),例如`#`的用法和无处不在的括号,影响可读性。 -- 在特定场景下必须用特定编译器对宏的扩展,如 `gcc` 的 `statement expression`,可移植性也不好。 -- 宏在预编译阶段展开后,在其后编译、链接和调试时都不可见;而且包含多行的宏会展开为一行。函数式宏难以调试、难以打断点,不利于定位问题。 -- 对于包含大量语句的宏,在每个调用点都要展开。如果调用点很多,会造成代码空间的膨胀。 - -函数式宏缺乏类型检查的示例代码: - -```c -#define MAX(a, b) (((a) < (b)) ? (b) : (a)) - -int Max(int a, int b) -{ - return (a < b) ? b : a; -} - -int TestMacro(void) -{ - unsigned int a = 1; - int b = -1; - - (void)printf("MACRO: max of a(%u) and b(%d) is %d\n", a, b, MAX(a, b)); - (void)printf("FUNC : max of a(%u) and b(%d) is %d\n", a, b, Max(a, b)); - return 0; -} -``` - -由于宏缺乏类型检查,`MAX`中的`a`和`b`的比较提升为无符号数的比较,结果是**a < b**。输出结果是: - -``` -MACRO: max of a(1) and b(-1) is -1 -FUNC : max of a(1) and b(-1) is 1 -``` - -函数没有宏的上述缺点。但是,函数相比宏,最大的劣势是执行效率不高(增加函数调用的开销和编译器优化的难度)。 -为此,C99标准引入了内联函数(gcc在标准之前就引入了内联函数)。 - -内联函数跟宏类似,也是在调用点展开。不同之处在于内联函数是在编译时展开。 -内联函数兼具函数和宏的优点: - -- 内联函数/函数执行严格的类型检查 -- 内联函数/函数的入参求值只会进行一次 -- 内联函数就地展开,没有函数调用的开销 -- 内联函数比函数优化得更好 - -对于性能敏感的代码,可以考虑用内联函数代替函数式宏。 -函数和内联函数不能完全替代函数式宏,函数式宏在某些场景更适合。 -比如,在日志记录场景下,使用带可变参和默认参数的函数式宏更方便: - -```c -int ErrLog(const char *file, unsigned long line, const char *fmt, ...); -#define ERR_LOG(fmt, ...) ErrLog(__FILE__, __LINE__, fmt, ##__VA_ARGS__) -``` - - -### 规则6.1 定义宏时,宏参数要使用完备的括号 - -宏参数在宏展开时只是文本替换,在编译时再求值。文本替换后,宏包含的语句跟调用点代码合并。 -合并后的表达式因为操作符的优先级和结合律,可能会导致计算结果跟期望的不同,尤其是当宏参数在一个表达式中时。 - -如下所示,是一种错误的写法: -```c -#define SUM(a, b) a + b // Bad. -``` - -下面这样调用宏,执行结果跟预期不符: -`100 / SUM(2, 8)` 将扩展成 `(100 / 2) + 8`,预期结果则是`100 / (2 + 8)`。 -这个问题可以通过将整个表示式加上括号来解决,如下所示: -```c -#define SUM(a, b) (a + b) // Bad. -``` - -但是这种改法在下面这种场景又有问题: -`SUM(1 << 2, 8)`扩展成`1 << (2 + 8)`(因为`<<`优先级低于`+`),跟预期结果`(1 << 2) + 8`不符。 - -这个问题可以通过将每个宏参数都加上括号来解决,如下所示: -```c -#define SUM(a, b) (a) + (b) // Bad. -``` - -再看看第三种问题场景:`SUM(2, 8) * 10` 。扩展后的结果为 `(2) + ((8) * 10)`,跟预期结果`(2 + 8) * 10`不符。 - -综上所述,正确的写法如下: -```c -#define SUM(a, b) ((a) + (b)) // Good. -``` - -但是要避免滥用括号。如下所示,单独的数字或标识符加括号毫无意义。 -```c -#define SOME_CONST 100 // Good: 单独的数字无需括号 -#define ANOTHER_CONST (-1) // Good: 负数需要使用括号 - -#define THE_CONST SOME_CONST // Good: 单独的标识符无需括号 -``` - -下列情况需要注意: -- 宏参数参与 '#', '##' 操作时,不要加括号 -- 宏参数参与字符串拼接时,不要加括号 -- 宏参数作为独立部分,在赋值(包括+=, -=等)操作的某一边时,无需括号 -- 宏参数作为独立部分,在逗号表达式,函数或宏调用列表中,无需括号 - -举例: -```c -#define MAKE_STR(x) #x // x 不要加括号 - -#define HELLO_STR(obj) "Hello, " obj // obj 不要加括号 - -#define ADD_3(sum, a, b, c) (sum = (a) + (b) + (c)) // a, b, c 需要括号;而 sum 无需括号 - -#define FOO(a, b) Bar((a) + 1, b) // a 需要括号;而 b 无需括号 -``` - - -### 规则6.2 包含多条语句的函数式宏的实现语句必须放在 do-while(0) 中 - -宏本身没有代码块的概念。当宏在调用点展开后,宏内定义的表达式和变量融合到调用代码中,可能会出现变量名冲突和宏内语句被分割等问题。 -通过 do-while(0) 显式为宏加上边界,让宏有独立的作用域,并且跟分号能更好的结合而形成单条语句,从而规避此类问题。 - -如下所示的宏是错误的用法(为了说明问题,下面示例代码稍不符规范): - -```c -// Not Good. -#define FOO(x) \ - (void)printf("arg is %d\n", (x)); \ - DoSomething((x)); -``` - -当像下面示例代码这样调用宏,for循环只执行了宏的第一条语句,宏的后一条语句只在循环结束后执行一次。 - -```c -for (i = 1; i < 10; i++) - FOO(i); -``` - -用大括号将`FOO`定义的语句括起来可以解决上面的问题: - -```c -#define FOO(x) { \ - (void)printf("arg is %d\n", (x)); \ - DoSomething((x)); \ -} -``` - -由于大括号跟分号没有关联。大括号后紧跟的分号,是另外一个语句。 -如下示例代码,会出现'悬挂else' 编译报错: - -```c -if (condition) - FOO(10); -else - FOO(20); -``` - -正确的写法是用 do-while(0) 把执行体括起来,如下所示: - -```c -// Good. -#define FOO(x) do { \ - (void)printf("arg is %d\n", (x)); \ - DoSomething((x)); \ -} while (0) -``` - -例外: -- 包含 break, continue 语句的宏可以例外。使用此类宏务必特别小心。 -- 宏中包含不完整语句时,可以例外。比如用宏封装 for 循环的条件部分。 -- 非多条语句,或单个 if/for/while/switch 语句,可以例外。 - -### 规则6.3 不允许把带副作用的表达式作为参数传递给函数式宏 - -由于宏只是文本替换,对于内部多次使用同一个宏参数的函数式宏,将带副作用的表达式作为宏参数传入会导致非预期的结果。 -如下所示,宏`SQUARE`本身没有问题,但是使用时将带副作用的`a++`传入导致`a`的值在`SQUARE`执行后跟预期不符: - -```c -#define SQUARE(a) ((a) * (a)) - -int a = 5; -int b; -b = SQUARE(a++); // Bad: 实际 a 自增加了 2 次 -``` - -`SQUARE(a++)`展开后为`((a++) * (a++))`,变量`a`自增了两次,其值为`7`,而不是预期的`6`。 - -正确的写法如下所示: - -```c -b = SQUARE(a); -a++; // 结果:a = 6,只自增了一次。 -``` - -此外,如果参数包含函数调用,宏展开后,函数可能会被重复调用。 -如果函数执行结果相同,则存在浪费;如果函数多次调用结果不一样,执行结果可能不符合预期。 - - -### 建议6.2 函数式宏定义中慎用 return、goto、continue、break 等改变程序流程的语句 - -宏中使用 return、goto、continue、break 等改变流程的语句,虽然能简化代码,但同时也隐藏了真实流程,不易于理解,容易导致资源泄漏等问题。 - -首先,宏封装 return 容易导致过度封装和使用。 -如下代码,`status`的判断是主干流程的一部分,用宏封装起来后,变得不直观了,阅读时习惯性把`RETURN_IF`宏忽略掉了,从而导致对主干流程的理解有偏差。 - -```c -#define LOG_AND_RETURN_IF_FAIL(ret, fmt, ...) do { \ - if ((ret) != OK) { \ - (void)ErrLog(fmt, ##__VA_ARGS__); \ - return (ret); \ - } \ -} while (0) - -#define RETURN_IF(cond, ret) do { \ - if (cond) { \ - return (ret); \ - } \ -} while (0) - -ret = InitModuleA(a, b, &status); -LOG_AND_RETURN_IF_FAIL(ret, "Init module A failed!"); // OK. - -RETURN_IF(status != READY, ERR_NOT_READY); // Bad: 重要逻辑不明显 - -ret = InitModuleB(c); -LOG_AND_RETURN_IF_FAIL(ret, "Init module B failed!"); // OK. -``` - -其次,宏封装 return 也容易引发内存泄漏。再看一个例子: -```c -#define CHECK_PTR(ptr, ret) do { \ - if ((ptr) == NULL) { \ - return (ret); \ - } \ -} while (0) - -... - -mem1 = MemAlloc(...); -CHECK_PTR(mem1, ERR_CODE_XXX); - -mem2 = MemAlloc(...); -CHECK_PTR(mem2, ERR_CODE_XXX); // Wrong: 内存泄漏 -``` - -如果 `mem2` 申请内存失败了,`CHECK_PTR` 会直接返回,而没有释放 `mem1`。 -除此之外,`CHECK_PTR` 宏命名也不好,宏名只反映了检查动作,没有指明结果。只有看了宏实现才知道指针为空时返回失败。 - -综上所述: -不推荐宏定义中封装 return、goto、continue、break 等改变程序流程的语句; -对于返回值判断等异常处理场景可以例外。 - -注意: -**包含 return、goto、continue、break 等改变流程语句的宏命名,务必要体现对应关键字。** - - -### 建议6.3 函数式宏不超过10行(非空非注释) - -函数式宏本身的一大问题是比函数更难以调试和定位,特别是宏过长,调试和定位的难度更大。 -而且宏扩展会导致目标代码的膨胀。建议函数式宏不要超过10行。 - -# 7 变量 - -在C语言编码中,除了函数,最重要的就是变量。 -变量在使用时,应始终遵循“职责单一”原则。 -按作用域区分,变量可分为全局变量和局部变量。 - -## 全局变量 - -尽量不用或少用全局变量。 -在程序设计中,全局变量是在所有作用域都可访问的变量。通常,使用不必要的全局变量被认为是坏习惯。 - -使用全局变量的缺点: -- 破坏函数的独立性和可移植性,使函数对全局变量产生依赖,存在耦合; -- 降低函数的代码可读性和可维护性。当多个函数读写全局变量时,某一时刻其取值可能不是确定的,对于代码的阅读和维护不利; -- 在并发编程环境中,使用全局变量会破坏函数的可重入性,需要增加额外的同步保护处理才能确保数据安全。 - -如不可避免,对全局变量的读写应集中封装。 - -### 规则7.1 模块间,禁止使用全局变量作接口 - -全局变量是模块内部的具体实现,不推荐但允许跨文件使用,但禁止作为模块接口暴露出去。 -对全局变量的使用应该尽量集中,如果本模块的数据需要对外部模块开放,应提供对应函数接口。 - -## 局部变量 - -### 规则7.2 严禁使用未经初始化的变量 - -这里的变量,指的是局部动态变量,并且还包括内存堆上申请的内存块。 -因为他们的初始值都是不可预料的,所以禁止未经有效初始化就直接读取其值。 - -```c -void Foo(...) -{ - int data; - Bar(data); // Bad: 未初始化就使用 - ... -} -``` - -如果有不同分支,要确保所有分支都得到初始化后才能使用: -```c -void Foo(...) -{ - int data; - if (...) { - data = 100; - } - Bar(data); // Bad: 部分分支该值未初始化 - ... -} -``` - -未经初始化就使用,一般静态检查工具是可以检查出来的。 -如 PCLint 工具,针对上述两个例子分别会报错: ->Warning 530: Symbol 'data' (line ...) not initialized ->Warning 644: Variable 'data' (line ...) may not have been initialized - -### 规则7.3 禁止无效、冗余的变量初始化 - -如果没有确定的初始值,而仍然进行初始化,不仅不简洁,反而不安全,可能会引入更难发现的问题。 - -常见的冗余初始化: -```c -int cnt = 0; // Bad: 冗余初始化,将会被后面直接覆盖 -... -cnt = GetXxxCnt(); -... -``` - -对于后续有条件赋值的变量,可以在定义时初始化成默认值 -```c -char *buf = NULL; // Good: 这里用 NULL 代表默认值 -if (condition) { - buf = malloc(MEM_SIZE); -} -... -if (buf != NULL) { // 判断是否申请过内存 - free(buf); -} -``` - -针对大数组的冗余清零,更是会影响到性能。 -```c -char buf[VERY_BIG_SIZE] = {0}; -memset(buf, 0, sizeof(buf)); // Bad: 冗余清零 -``` - -无效初始化,隐藏更大问题的反例: -```c -void Foo(...) -{ - int data = 0; // Bad: 习惯性的进行初始化 - - UseData(data); // 使用数据,本应该写在获取数据后面 - data = GetData(...); // 获取数据 - ... -} -``` -上例代码,如果没有赋 0 初始化,静态检查工具可以帮助发现“未经初始化就直接使用”的问题。 -但因为无效初始化,“使用数据”与“获取数据”写颠倒的缺陷,不能被轻易发现。 - -因此,应该写简洁的代码,对变量或内存块进行正确、必要的初始化。 - -C99不再限制局部变量定义必须在语句之前,可以按需定义,即在靠近变量使用的地方定义变量。 -这种简洁的做法,不仅将变量作用域限制更小,而且更方便阅读和维护,还能解决定义变量时不知该怎么初始化的问题。 -如果编译环境支持,建议按需定义。 - -**例外:** -**遵从“安全规范”要求,指针变量、表示资源描述符的变量、BOOL变量不作要求。** - -### 规则7.4 不允许使用魔鬼数字 - -所谓魔鬼数字即看不懂、难以理解的数字。 -魔鬼数字并非一个非黑即白的概念,看不懂也有程度,需要结合代码上下文和业务相关知识来判断 - -例如数字 12,在不同的上下文中情况是不一样的: -`type = 12;` 就看不懂,但 `month = year * 12;` 就能看懂。 -数字 0 有时候也是魔鬼数字,比如 `status = 0;` 并不能表达是什么状态。 - -解决途径: -对于单点使用的数字,可以增加注释说明 -对于多处使用的数字,必须定义宏或const 变量,并通过符号命名自注释。 - -禁止出现下列情况: -没有通过符号来解释数字含义,如 `#define ZERO 0` -符号命名限制了其取值,如 `#define XX_TIMER_INTERVAL_300MS 300` - -# 8 编程实践 - -## 表达式 - -### 建议8.1 表达式的比较,应当遵循左侧倾向于变化、右侧倾向于不变的原则 - -当变量与常量比较时,如果常量放左边,如 `if (MAX == v)` 不符合阅读习惯,而 `if (MAX > v)` 更是难于理解。 -应当按人的正常阅读、表达习惯,将常量放右边。写成如下方式: -```c -if (v == MAX) ... -if (v < MAX) ... -``` - -也有特殊情况,如:`if (MIN < v && v < MAX)` 用来描述区间时,前半段是常量在左的。 - -不用担心将 '==' 误写成 '=',因为 `if (v = MAX)` 会有编译告警,其他静态检查工具也会报错。让工具去解决笔误问题,代码要符合可读性第一。 - -### 规则8.1 含有变量自增或自减运算的表达式中禁止再次引用该变量 - -含有变量自增或自减运算的表达式中,如果再引用该变量,其结果在C标准中未明确定义。各个编译器或者同一个编译器不同版本实现可能会不一致。 -为了更好的可移植性,不应该对标准未定义的运算次序做任何假设。 - -注意,运算次序的问题不能使用括号来解决,因为这不是优先级的问题。 - -示例: -```c -x = b[i] + i++; // Bad: b[i]运算跟 i++,先后顺序并不明确。 -``` -正确的写法是将自增或自减运算单独放一行: -```c -x = b[i] + i; -i++; // Good: 单独一行 -``` - -函数参数: -```c -Func(i++, i); // Bad: 传递第2个参数时,不确定自增运算有没有发生 -``` -正确的写法: -```c -i++; // Good: 单独一行 -x = Func(i, i); -``` - - -### 建议8.2 用括号明确表达式的操作顺序,避免过分依赖默认优先级 - -可以使用括号强调表达式操作顺序,防止因默认的优先级与设计思想不符而导致程序出错。 -然而过多的括号会分散代码使其降低了可读性,应适度使用。 - -当表达式包含不常用,优先级易混淆的操作符时,推荐使用括号,比如位操作符: -```c -c = (a & 0xFF) + b; /* 涉及位操作符,需要括号 */ -``` - -## 语句 - -### 规则8.2 switch语句要有default分支 - -大部分情况下,switch语句中要有default分支,保证在遗漏case标签处理时能够有一个缺省的处理行为。 - -特例: -如果switch条件变量是枚举类型,并且 case 分支覆盖了所有取值,则加上default分支处理有些多余。 -现代编译器都具备检查是否在switch语句中遗漏了某些枚举值的case分支的能力,会有相应的warning提示。 -```c -enum Color { - RED, - BLUE -}; - -// 因为switch条件变量是枚举值,这里可以不用加default处理分支 -switch (color) { - case RED: - DoRedThing(); - break; - case BLUE: - DoBlueThing(); - ... - break; -} -``` - -### 建议8.3 慎用 goto 语句 - -goto语句会破坏程序的结构性,所以除非确实需要,最好不使用goto语句。使用时,也只允许跳转到本函数goto语句之后的语句。 - -goto语句通常用来实现函数单点返回。 -同一个函数体内部存在大量相同的逻辑但又不方便封装成函数的情况下,譬如反复执行文件操作, -对文件操作失败以后的处理部分代码(譬如关闭文件句柄,释放动态申请的内存等等), -一般会放在该函数体的最后部分,在需要的地方就goto到那里,这样代码反而变得清晰简洁。 -实际也可以封装成函数或者封装成宏,但是这么做会让代码变得没那么直接明了。 - -示例: -```c -// Good: 使用 goto 实现单点返回 -int SomeInitFunc(void) -{ - void *p1; - void *p2 = NULL; - void *p3 = NULL; - - p1 = malloc(MEM_LEN); - if (p1 == NULL) { - goto EXIT; - } - - p2 = malloc(MEM_LEN); - if (p2 == NULL) { - goto EXIT; - } - - p3 = malloc(MEM_LEN); - if (p3 == NULL) { - goto EXIT; - } - - DoSomething(p1, p2, p3); - return 0; // OK. - -EXIT: - if (p3 != NULL) { - free(p3); - } - if (p2 != NULL) { - free(p2); - } - if (p1 != NULL) { - free(p1); - } - return -1; // Failed! -} -``` - -## 类型转换 - -### 建议8.4 尽量减少没有必要的数据类型默认转换与强制转换 - -当进行数据类型强制转换时,其数据的意义、转换后的取值等都有可能发生变化,而这些细节若考虑不周,就很有可能留下隐患。 - -如下赋值,多数编译器不产生告警,但值的含义还是稍有变化。 -```c -char ch; -unsigned short int exam; - -ch = -1; -exam = ch; // Bad: 编译器不产生告警,此时exam为0xFFFF。 -``` diff --git a/contribute/OpenHarmony-cpp-coding-style-guide.md b/contribute/OpenHarmony-cpp-coding-style-guide.md deleted file mode 100755 index 5094d63aba9..00000000000 --- a/contribute/OpenHarmony-cpp-coding-style-guide.md +++ /dev/null @@ -1,2780 +0,0 @@ -# C++语言编程规范 - -## 目的 -规则并不是完美的,通过禁止在特定情况下有用的特性,可能会对代码实现造成影响。但是我们制定规则的目的“为了大多数程序员可以得到更多的好处”, 如果在团队运作中认为某个规则无法遵循,希望可以共同改进该规则。 -参考该规范之前,希望您具有相应的C++语言基础能力,而不是通过该文档来学习C++语言。 -1. 了解C++语言的ISO标准; -2. 熟知C++语言的基本语言特性,包括C++ 03/11/14/17相关特性; -3. 了解C++语言的标准库; - -## 总体原则 -代码需要在保证功能正确的前提下,满足**可读、可维护、安全、可靠、可测试、高效、可移植**的特征要求。 - -## 重点关注 -1. 约定C++语言的编程风格,比如命名,排版等。 -2. C++语言的模块化设计,如何设计头文件,类,接口和函数。 -3. C++语言相关特性的优秀实践,比如常量,类型转换,资源管理,模板等。 -4. 现代C++语言的优秀实践,包括C++11/14/17中可以提高代码可维护性,提高代码可靠性的相关约定。 - - -## 约定 -**规则**:编程时必须遵守的约定(must) - -**建议**:编程时应该遵守的约定(should) - -本规范适用通用C++标准, 如果没有特定的标准版本,适用所有的版本(C++03/11/14/17)。 - -## 例外 -无论是'规则'还是'建议',都必须理解该条目这么规定的原因,并努力遵守。 -但是,有些规则和建议可能会有例外。 - -在不违背总体原则,经过充分考虑,有充足的理由的前提下,可以适当违背规范中约定。 -例外破坏了代码的一致性,请尽量避免。'规则'的例外应该是极少的。 - -下列情况,应风格一致性原则优先: -**修改外部开源代码、第三方代码时,应该遵守开源代码、第三方代码已有规范,保持风格统一。** - -# 2 命名 -## 通用命名 -__驼峰风格(CamelCase)__ -大小写字母混用,单词连在一起,不同单词间通过单词首字母大写来分开。 -按连接后的首字母是否大写,又分: 大驼峰(UpperCamelCase)和小驼峰(lowerCamelCase) - - -| 类型 | 命名风格 | -| ---------------------------------------- | --------- | -| 类类型,结构体类型,枚举类型,联合体类型等类型定义, 作用域名称 | 大驼峰 | -| 函数(包括全局函数,作用域函数,成员函数) | 大驼峰 | -| 全局变量(包括全局和命名空间域下的变量,类静态变量),局部变量,函数参数,类、结构体和联合体中的成员变量 | 小驼峰 | -| 宏,常量(const),枚举值,goto 标签 | 全大写,下划线分割 | - -注意: -上表中__常量__是指全局作用域、namespace域、类的静态成员域下,以 const或constexpr 修饰的基本数据类型、枚举、字符串类型的变量,不包括数组和其他类型变量。 -上表中__变量__是指除常量定义以外的其他变量,均使用小驼峰风格。 - -## 文件命名 -### 建议2.2.1 C++文件以.cpp结尾,头文件以.h结尾 -我们推荐使用.h作为头文件的后缀,这样头文件可以直接兼容C和C++。 -我们推荐使用.cpp作为实现文件的后缀,这样可以直接区分C++代码,而不是C代码。 - -目前业界还有一些其他的后缀的表示方法: - -- 头文件: .hh, .hpp, .hxx -- cpp文件:.cc, .cxx, .c - -如果当前项目组使用了某种特定的后缀,那么可以继续使用,但是请保持风格统一。 -但是对于本文档,我们默认使用.h和.cpp作为后缀。 - - -### 建议2.2.2 C++文件名和类名保持一致 -C++的头文件和cpp文件名和类名保持一致,使用下划线小写风格。 - -如果有一个类叫DatabaseConnection,那么对应的文件名: -- database_connection.h -- database_connection.cpp - -结构体,命名空间,枚举等定义的文件名类似。 - -## 函数命名 -函数命名统一使用大驼峰风格,一般采用动词或者动宾结构。 -```cpp -class List { -public: - void AddElement(const Element& element); - Element GetElement(const unsigned int index) const; - bool IsEmpty() const; -}; - -namespace Utils { - void DeleteUser(); -} -``` - -## 类型命名 - -类型命名采用大驼峰命名风格。 -所有类型命名——类、结构体、联合体、类型定义(typedef)、枚举——使用相同约定,例如: -```cpp -// classes, structs and unions -class UrlTable { ... -class UrlTableTester { ... -struct UrlTableProperties { ... -union Packet { ... - -// typedefs -typedef std::map PropertiesMap; - -// enums -enum UrlTableErrors { ... -``` - -对于命名空间的命名,建议使用大驼峰: -```cpp -// namespace -namespace OsUtils { - -namespace FileUtils { - -} - -} -``` - - -### 建议2.4.1 避免滥用 typedef或者#define 对基本类型起别名 -除有明确的必要性,否则不要用 typedef/#define 对基本数据类型进行重定义。 -优先使用``头文件中的基本类型: - -| 有符号类型 | 无符号类型 | 描述 | -| -------- | --------- | ---------------- | -| int8_t | uint8_t | 宽度恰为8的有/无符号整数类型 | -| int16_t | uint16_t | 宽度恰为16的有/无符号整数类型 | -| int32_t | uint32_t | 宽度恰为32的有/无符号整数类型 | -| int64_t | uint64_t | 宽度恰为64的有/无符号整数类型 | -| intptr_t | uintptr_t | 足以保存指针的有/无符号整数类型 | - - -## 变量命名 -通用变量命名采用小驼峰,包括全局变量,函数形参,局部变量,成员变量。 -```cpp -std::string tableName; // Good: 推荐此风格 -std::string tablename; // Bad: 禁止此风格 -std::string path; // Good: 只有一个单词时,小驼峰为全小写 -``` - -### 规则2.5.1 全局变量应增加 'g_' 前缀,静态变量命名不需要加特殊前缀 -全局变量应当尽量少使用,使用时应特别注意,所以加上前缀用于视觉上的突出,促使开发人员对这些变量的使用更加小心。 -- 全局静态变量命名与全局变量相同。 -- 函数内的静态变量命名与普通局部变量相同。 -- 类的静态成员变量和普通成员变量相同。 - -```cpp -int g_activeConnectCount; - -void Func() -{ - static int packetCount = 0; - ... -} -``` - -### 规则2.5.2 类的成员变量命名以小驼峰加后下划线组成 - -```cpp -class Foo { -private: - std::string fileName_; // 添加_后缀,类似于K&R命名风格 -}; -``` -对于struct/union的成员变量,仍采用小驼峰不加后缀的命名方式,与局部变量命名风格一致。 - -## 宏、常量、枚举命名 -宏、枚举值采用全大写,下划线连接的格式。 -全局作用域内,有名和匿名namespace内的 const 常量,类的静态成员常量,全大写,下划线连接;函数局部 const 常量和类的普通const成员变量,使用小驼峰命名风格。 - -```cpp -#define MAX(a, b) (((a) < (b)) ? (b) : (a)) // 仅对宏命名举例,并不推荐用宏实现此类功能 - -enum TintColor { // 注意,枚举类型名用大驼峰,其下面的取值是全大写,下划线相连 - RED, - DARK_RED, - GREEN, - LIGHT_GREEN -}; - -int Func(...) -{ - const unsigned int bufferSize = 100; // 函数局部常量 - char *p = new char[bufferSize]; - ... -} - -namespace Utils { - const unsigned int DEFAULT_FILE_SIZE_KB = 200; // 全局常量 -} - -``` - -# 3 格式 - -## 行宽 - -### 建议3.1.1 行宽不超过 120 个字符 -建议每行字符数不要超过 120 个。如果超过120个字符,请选择合理的方式进行换行。 - -例外: -- 如果一行注释包含了超过120 个字符的命令或URL,则可以保持一行,以方便复制、粘贴和通过grep查找; -- 包含长路径的 #include 语句可以超出120 个字符,但是也需要尽量避免; -- 编译预处理中的error信息可以超出一行。 -预处理的 error 信息在一行便于阅读和理解,即使超过 120 个字符。 -```cpp -#ifndef XXX_YYY_ZZZ -#error Header aaaa/bbbb/cccc/abc.h must only be included after xxxx/yyyy/zzzz/xyz.h, because xxxxxxxxxxxxxxxxxxxxxxxxxxxxx -#endif -``` - -## 缩进 - -### 规则3.2.1 使用空格进行缩进,每次缩进4个空格 -只允许使用空格(space)进行缩进,每次缩进为 4 个空格。不允许使用Tab符进行缩进。 -当前几乎所有的集成开发环境(IDE)都支持配置将Tab符自动扩展为4空格输入;请配置你的IDE支持使用空格进行缩进。 - -## 大括号 -### 规则3.3.1 使用 K&R 缩进风格 -__K&R风格__ -换行时,函数(不包括lambda表达式)左大括号另起一行放行首,并独占一行;其他左大括号跟随语句放行末。 -右大括号独占一行,除非后面跟着同一语句的剩余部分,如 do 语句中的 while,或者 if 语句的 else/else if,或者逗号、分号。 - -如: -```cpp -struct MyType { // 跟随语句放行末,前置1空格 - ... -}; - -int Foo(int a) -{ // 函数左大括号独占一行,放行首 - if (...) { - ... - } else { - ... - } -} -``` -推荐这种风格的理由: - -- 代码更紧凑; -- 相比另起一行,放行末使代码阅读节奏感上更连续; -- 符合后来语言的习惯,符合业界主流习惯; -- 现代集成开发环境(IDE)都具有代码缩进对齐显示的辅助功能,大括号放在行尾并不会对缩进和范围产生理解上的影响。 - - -对于空函数体,可以将大括号放在同一行: -```cpp -class MyClass { -public: - MyClass() : value_(0) {} - -private: - int value_; -}; -``` - -## 函数声明和定义 - -### 规则3.4.1 函数声明、定义的返回类型和函数名在同一行;函数参数列表超出行宽时要换行并合理对齐 -在声明和定义函数的时候,函数的返回值类型应该和函数名在同一行;如果行宽度允许,函数参数也应该放在一行;否则,函数参数应该换行,并进行合理对齐。 -参数列表的左圆括号总是和函数名在同一行,不要单独一行;右圆括号总是跟随最后一个参数。 - -换行举例: -```cpp -ReturnType FunctionName(ArgType paramName1, ArgType paramName2) // Good:全在同一行 -{ - ... -} - -ReturnType VeryVeryVeryLongFunctionName(ArgType paramName1, // 行宽不满足所有参数,进行换行 - ArgType paramName2, // Good:和上一行参数对齐 - ArgType paramName3) -{ - ... -} - -ReturnType LongFunctionName(ArgType paramName1, ArgType paramName2, // 行宽限制,进行换行 - ArgType paramName3, ArgType paramName4, ArgType paramName5) // Good: 换行后 4 空格缩进 -{ - ... -} - -ReturnType ReallyReallyReallyReallyLongFunctionName( // 行宽不满足第1个参数,直接换行 - ArgType paramName1, ArgType paramName2, ArgType paramName3) // Good: 换行后 4 空格缩进 -{ - ... -} -``` - -## 函数调用 -### 规则3.5.1 函数调用入参列表应放在一行,超出行宽换行时,保持参数进行合理对齐 -函数调用时,函数参数列表放在一行。参数列表如果超过行宽,需要换行并进行合理的参数对齐。 -左圆括号总是跟函数名,右圆括号总是跟最后一个参数。 - -换行举例: -```cpp -ReturnType result = FunctionName(paramName1, paramName2); // Good:函数参数放在一行 - -ReturnType result = FunctionName(paramName1, - paramName2, // Good:保持与上方参数对齐 - paramName3); - -ReturnType result = FunctionName(paramName1, paramName2, - paramName3, paramName4, paramName5); // Good:参数换行,4 空格缩进 - -ReturnType result = VeryVeryVeryLongFunctionName( // 行宽不满足第1个参数,直接换行 - paramName1, paramName2, paramName3); // 换行后,4 空格缩进 -``` - -如果函数调用的参数存在内在关联性,按照可理解性优先于格式排版要求,对参数进行合理分组换行。 -```cpp -// Good:每行的参数代表一组相关性较强的数据结构,放在一行便于理解 -int result = DealWithStructureLikeParams(left.x, left.y, // 表示一组相关参数 - right.x, right.y); // 表示另外一组相关参数 -``` - -## if语句 - -### 规则3.6.1 if语句必须要使用大括号 -我们要求if语句都需要使用大括号,即便只有一条语句。 - -理由: -- 代码逻辑直观,易读; -- 在已有条件语句代码上增加新代码时不容易出错; -- 对于在if语句中使用函数式宏时,有大括号保护不易出错(如果宏定义时遗漏了大括号)。 - -```cpp -if (objectIsNotExist) { // Good:单行条件语句也加大括号 - return CreateNewObject(); -} -``` -### 规则3.6.2 禁止 if/else/else if 写在同一行 -条件语句中,若有多个分支,应该写在不同行。 - -如下是正确的写法: - -```cpp -if (someConditions) { - DoSomething(); - ... -} else { // Good: else 与 if 在不同行 - ... -} -``` - -下面是不符合规范的案例: - -```cpp -if (someConditions) { ... } else { ... } // Bad: else 与 if 在同一行 -``` - -## 循环语句 -### 规则3.7.1 循环语句必须使用大括号 -和条件表达式类似,我们要求for/while循环语句必须加上大括号,即便循环体是空的,或循环语句只有一条。 -```cpp -for (int i = 0; i < someRange; i++) { // Good: 使用了大括号 - DoSomething(); -} -``` -```cpp -while (condition) { } // Good:循环体是空,使用大括号 -``` -```cpp -while (condition) { - continue; // Good:continue 表示空逻辑,使用大括号 -} -``` - -坏的例子: -```cpp -for (int i = 0; i < someRange; i++) - DoSomething(); // Bad: 应该加上括号 -``` -```cpp -while (condition); // Bad:使用分号容易让人误解是while语句中的一部分 -``` - -## switch语句 -### 规则3.8.1 switch 语句的 case/default 要缩进一层 -switch 语句的缩进风格如下: -```cpp -switch (var) { - case 0: // Good: 缩进 - DoSomething1(); // Good: 缩进 - break; - case 1: { // Good: 带大括号格式 - DoSomething2(); - break; - } - default: - break; -} -``` - -```cpp -switch (var) { -case 0: // Bad: case 未缩进 - DoSomething(); - break; -default: // Bad: default 未缩进 - break; -} -``` - -## 表达式 - -### 建议3.9.1 表达式换行要保持换行的一致性,运算符放行末 -较长的表达式,不满足行宽要求的时候,需要在适当的地方换行。一般在较低优先级运算符或连接符后面截断,运算符或连接符放在行末。 -运算符、连接符放在行末,表示“未结束,后续还有”。 -例: - -// 假设下面第一行已经不满足行宽要求 -```cpp -if ((currentValue > threshold) && // Good:换行后,逻辑操作符放在行尾 - someConditionsion) { - DoSomething(); - ... -} - -int result = reallyReallyLongVariableName1 + // Good - reallyReallyLongVariableName2; -``` -表达式换行后,注意保持合理对齐,或者4空格缩进。参考下面例子 - -```cpp -int sum = longVaribleName1 + longVaribleName2 + longVaribleName3 + - longVaribleName4 + longVaribleName5 + longVaribleName6; // Good: 4空格缩进 - -int sum = longVaribleName1 + longVaribleName2 + longVaribleName3 + - longVaribleName4 + longVaribleName5 + longVaribleName6; // Good: 保持对齐 -``` -## 变量赋值 - -### 规则3.10.1 多个变量定义和赋值语句不允许写在一行 -每行只有一个变量初始化的语句,更容易阅读和理解。 - -```cpp -int maxCount = 10; -bool isCompleted = false; -``` - -下面是不符合规范的示例: - -```cpp -int maxCount = 10; bool isCompleted = false; // Bad:多个变量初始化需要分开放在多行,每行一个变量初始化 -int x, y = 0; // Bad:多个变量定义需要分行,每行一个 - -int pointX; -int pointY; -... -pointX = 1; pointY = 2; // Bad:多个变量赋值语句放同一行 -``` -例外:for 循环头、if 初始化语句(C++17)、结构化绑定语句(C++17)中可以声明和初始化多个变量。这些语句中的多个变量声明有较强关联,如果强行分成多行会带来作用域不一致,声明和初始化割裂等问题。 - -## 初始化 -初始化包括结构体、联合体、及数组的初始化 - -### 规则3.11.1 初始化换行时要有缩进,并进行合理对齐 -结构体或数组初始化时,如果换行应保持4空格缩进。 -从可读性角度出发,选择换行点和对齐位置。 - -```cpp -const int rank[] = { - 16, 16, 16, 16, 32, 32, 32, 32, - 64, 64, 64, 64, 32, 32, 32, 32 -}; -``` - -## 指针与引用 -### 建议3.12.1 指针类型"`*`"跟随变量名或者类型,不要两边都留有或者都没有空格 -指针命名: `*`靠左靠右都可以,但是不要两边都有或者都没有空格。 -```cpp -int* p = nullptr; // Good -int *p = nullptr; // Good - -int*p = nullptr; // Bad -int * p = nullptr; // Bad -``` - -例外:当变量被 const 修饰时,"`*`" 无法跟随变量,此时也不要跟随类型。 -```cpp -const char * const VERSION = "V100"; -``` - -### 建议3.12.2 引用类型"`&`"跟随变量名或者类型,不要两边都留有或者都没有空格 -引用命名:`&`靠左靠右都可以,但是不要两边都有或者都没有空格。 -```cpp -int i = 8; - -int& p = i; // Good -int &p = i; // Good -int*& rp = pi; // Good,指针的引用,*& 一起跟随类型 -int *&rp = pi; // Good,指针的引用,*& 一起跟随变量名 -int* &rp = pi; // Good,指针的引用,* 跟随类型,& 跟随变量名 - -int & p = i; // Bad -int&p = i; // Bad -``` - -## 编译预处理 -### 规则3.13.1 编译预处理的"#"统一放在行首,嵌套编译预处理语句时,"#"可以进行缩进 -编译预处理的"#"统一放在行首,即使编译预处理的代码是嵌入在函数体中的,"#"也应该放在行首。 - -## 空格和空行 -### 规则3.14.1 水平空格应该突出关键字和重要信息,避免不必要的留白 -水平空格应该突出关键字和重要信息,每行代码尾部不要加空格。总体规则如下: - -- if, switch, case, do, while, for等关键字之后加空格; -- 小括号内部的两侧,不要加空格; -- 大括号内部两侧有无空格,左右必须保持一致; -- 一元操作符(& * + ‐ ~ !)之后不要加空格; -- 二元操作符(= + ‐ < > * / % | & ^ <= >= == != )左右两侧加空格 -- 三目运算符(? :)符号两侧均需要空格 -- 前置和后置的自增、自减(++ --)和变量之间不加空格 -- 结构体成员操作符(. ->)前后不加空格 -- 逗号(,)前面不加空格,后面加空格 -- 对于模板和类型转换(<>)和类型之间不要添加空格 -- 域操作符(::)前后不要添加空格 -- 冒号(:)前后根据情况来判断是否要添加空格 - -常规情况: -```cpp -void Foo(int b) { // Good:大括号前应该留空格 - -int i = 0; // Good:变量初始化时,=前后应该有空格,分号前面不要留空格 - -int buf[BUF_SIZE] = {0}; // Good:大括号内两侧都无空格 -``` - -函数定义和函数调用: -```cpp -int result = Foo(arg1,arg2); - ^ // Bad: 逗号后面需要增加空格 - -int result = Foo( arg1, arg2 ); - ^ ^ // Bad: 函数参数列表的左括号后面不应该有空格,右括号前面不应该有空格 -``` - -指针和取地址 -```cpp -x = *p; // Good:*操作符和指针p之间不加空格 -p = &x; // Good:&操作符和变量x之间不加空格 -x = r.y; // Good:通过.访问成员变量时不加空格 -x = r->y; // Good:通过->访问成员变量时不加空格 -``` - -操作符: -```cpp -x = 0; // Good:赋值操作的=前后都要加空格 -x = -5; // Good:负数的符号和数值之前不要加空格 -++x; // Good:前置和后置的++/--和变量之间不要加空格 -x--; - -if (x && !y) // Good:布尔操作符前后要加上空格,!操作和变量之间不要空格 -v = w * x + y / z; // Good:二元操作符前后要加空格 -v = w * (x + z); // Good:括号内的表达式前后不需要加空格 - -int a = (x < y) ? x : y; // Good: 三目运算符, ?和:前后需要添加空格 -``` - -循环和条件语句: -```cpp -if (condition) { // Good:if关键字和括号之间加空格,括号内条件语句前后不加空格 - ... -} else { // Good:else关键字和大括号之间加空格 - ... -} - -while (condition) {} // Good:while关键字和括号之间加空格,括号内条件语句前后不加空格 - -for (int i = 0; i < someRange; ++i) { // Good:for关键字和括号之间加空格,分号之后加空格 - ... -} - -switch (condition) { // Good: switch 关键字后面有1空格 - case 0: // Good:case语句条件和冒号之间不加空格 - ... - break; - ... - default: - ... - break; -} -``` - -模板和转换 -```cpp -// 尖括号(< and >) 不与空格紧邻, < 前没有空格, > 和 ( 之间也没有. -vector x; -y = static_cast(x); - -// 在类型与指针操作符之间留空格也可以, 但要保持一致. -vector x; -``` - -域操作符 -```cpp -std::cout; // Good: 命名空间访问,不要留空格 - -int MyClass::GetValue() const {} // Good: 对于成员函数定义,不要留空格 -``` - -冒号 -```cpp -// 添加空格的场景 - -// Good: 类的派生需要留有空格 -class Sub : public Base { - -}; - -// 构造函数初始化列表需要留有空格 -MyClass::MyClass(int var) : someVar_(var) -{ - DoSomething(); -} - -// 位域表示也留有空格 -struct XX { - char a : 4; - char b : 5; - char c : 4; -}; -``` - -```cpp -// 不添加空格的场景 - -// Good: 对于public:, private:这种类访问权限的冒号不用添加空格 -class MyClass { -public: - MyClass(int var); -private: - int someVar_; -}; - -// 对于switch-case的case和default后面的冒号不用添加空格 -switch (value) -{ - case 1: - DoSomething(); - break; - default: - break; -} -``` - -注意:当前的集成开发环境(IDE)可以设置删除行尾的空格,请正确配置。 - -### 建议3.14.1 合理安排空行,保持代码紧凑 - -减少不必要的空行,可以显示更多的代码,方便代码阅读。下面有一些建议遵守的规则: -- 根据上下内容的相关程度,合理安排空行; -- 函数内部、类型定义内部、宏内部、初始化表达式内部,不使用连续空行 -- 不使用连续 **3** 个空行,或更多空行 -- 大括号内的代码块行首之前和行尾之后不要加空行,但namespace的大括号内不作要求。 - -```cpp -int Foo() -{ - ... -} - - - -int Bar() // Bad:最多使用连续2个空行。 -{ - ... -} - - -if (...) { - // Bad:大括号内的代码块行首不要加入空行 - ... - // Bad:大括号内的代码块行尾不要加入空行 -} - -int Foo(...) -{ - // Bad:函数体内行首不要加空行 - ... -} -``` - -## 类 -### 规则3.15.1 类访问控制块的声明依次序是 public:, protected:, private:,缩进和 class 关键字对齐 -```cpp -class MyClass : public BaseClass { -public: // 注意没有缩进 - MyClass(); // 标准的4空格缩进 - explicit MyClass(int var); - ~MyClass() {} - - void SomeFunction(); - void SomeFunctionThatDoesNothing() - { - } - - void SetVar(int var) { someVar_ = var; } - int GetVar() const { return someVar_; } - -private: - bool SomeInternalFunction(); - - int someVar_; - int someOtherVar_; -}; -``` - -在各个部分中,建议将类似的声明放在一起, 并且建议以如下的顺序: 类型 (包括 typedef, using 和嵌套的结构体与类), 常量, 工厂函数, 构造函数, 赋值运算符, 析构函数, 其它成员函数, 数据成员。 - - -### 规则3.15.2 构造函数初始化列表放在同一行或按四格缩进并排多行 -```cpp -// 如果所有变量能放在同一行: -MyClass::MyClass(int var) : someVar_(var) -{ - DoSomething(); -} - -// 如果不能放在同一行, -// 必须置于冒号后, 并缩进4个空格 -MyClass::MyClass(int var) - : someVar_(var), someOtherVar_(var + 1) // Good: 逗号后面留有空格 -{ - DoSomething(); -} - -// 如果初始化列表需要置于多行, 需要逐行对齐 -MyClass::MyClass(int var) - : someVar_(var), // 缩进4个空格 - someOtherVar_(var + 1) -{ - DoSomething(); -} -``` - -# 4 注释 -一般的,尽量通过清晰的架构逻辑,好的符号命名来提高代码可读性;需要的时候,才辅以注释说明。 -注释是为了帮助阅读者快速读懂代码,所以要从读者的角度出发,**按需注释**。 - -注释内容要简洁、明了、无二义性,信息全面且不冗余。 - -**注释跟代码一样重要。** -写注释时要换位思考,用注释去表达此时读者真正需要的信息。在代码的功能、意图层次上进行注释,即注释解释代码难以表达的意图,不要重复代码信息。 -修改代码时,也要保证其相关注释的一致性。只改代码,不改注释是一种不文明行为,破坏了代码与注释的一致性,让阅读者迷惑、费解,甚至误解。 - -使用英文进行注释。 - -## 注释风格 - -在 C++ 代码中,使用 `/*` `*/`和 `//` 都是可以的。 -按注释的目的和位置,注释可分为不同的类型,如文件头注释、函数头注释、代码注释等等; -同一类型的注释应该保持统一的风格。 - -注意:本文示例代码中,大量使用 '//' 后置注释只是为了更精确的描述问题,并不代表这种注释风格更好。 - -## 文件头注释 -### 规则3.1 文件头注释必须包含版权许可 - -/* - * Copyright (c) 2020 XXX - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -## 函数头注释 -### 规则4.3.1 禁止空有格式的函数头注释 -并不是所有的函数都需要函数头注释; -函数签名无法表达的信息,加函数头注释辅助说明; - -函数头注释统一放在函数声明或定义上方,使用如下风格之一: -使用`//`写函数头 - -```cpp -// 单行函数头 -int Func1(void); - -// 多行函数头 -// 第二行 -int Func2(void); -``` - -使用`/* */`写函数头 -```cpp -/* 单行函数头 */ -int Func1(void); - -/* - * 另一种单行函数头 - */ -int Func2(void); - -/* - * 多行函数头 - * 第二行 - */ -int Func3(void); -``` -函数尽量通过函数名自注释,按需写函数头注释。 -不要写无用、信息冗余的函数头;不要写空有格式的函数头。 - -函数头注释内容可选,但不限于:功能说明、返回值,性能约束、用法、内存约定、算法实现、可重入的要求等等。 -模块对外头文件中的函数接口声明,其函数头注释,应当将重要、有用的信息表达清楚。 - -例: - -```cpp -/* - * 返回实际写入的字节数,-1表示写入失败 - * 注意,内存 buf 由调用者负责释放 - */ -int WriteString(const char *buf, int len); -``` - -坏的例子: -```cpp -/* - * 函数名:WriteString - * 功能:写入字符串 - * 参数: - * 返回值: - */ -int WriteString(const char *buf, int len); -``` -上面例子中的问题: - -- 参数、返回值,空有格式没内容 -- 函数名信息冗余 -- 关键的 buf 由谁释放没有说清楚 - -## 代码注释 -### 规则4.4.1 代码注释放于对应代码的上方或右边 -### 规则4.4.2 注释符与注释内容间要有1空格;右置注释与前面代码至少1空格 -代码上方的注释,应该保持对应代码一样的缩进。 -选择并统一使用如下风格之一: -使用`//` -```cpp - -// 这是单行注释 -DoSomething(); - -// 这是多行注释 -// 第二行 -DoSomething(); -``` - -使用`/*' '*/` -```cpp -/* 这是单行注释 */ -DoSomething(); - -/* - * 另一种方式的多行注释 - * 第二行 - */ -DoSomething(); -``` -代码右边的注释,与代码之间,至少留1空格,建议不超过4空格。 -通常使用扩展后的 TAB 键即可实现 1-4 空格的缩进。 - -选择并统一使用如下风格之一: - -```cpp -int foo = 100; // 放右边的注释 -int bar = 200; /* 放右边的注释 */ -``` -右置格式在适当的时候,上下对齐会更美观。 -对齐后的注释,离左边代码最近的那一行,保证1-4空格的间隔。 -例: - -```cpp -const int A_CONST = 100; /* 相关的同类注释,可以考虑上下对齐 */ -const int ANOTHER_CONST = 200; /* 上下对齐时,与左侧代码保持间隔 */ -``` -当右置的注释超过行宽时,请考虑将注释置于代码上方。 - -### 规则4.4.3 不用的代码段直接删除,不要注释掉 -被注释掉的代码,无法被正常维护;当企图恢复使用这段代码时,极有可能引入易被忽略的缺陷。 -正确的做法是,不需要的代码直接删除掉。若再需要时,考虑移植或重写这段代码。 - -这里说的注释掉代码,包括用 /* */ 和 //,还包括 #if 0, #ifdef NEVER_DEFINED 等等。 - -# 5 头文件 -## 头文件职责 -头文件是模块或文件的对外接口,头文件的设计体现了大部分的系统设计。 -头文件中适合放置接口的声明,不适合放置实现(内联函数除外)。对于cpp文件中内部才需要使用的函数、宏、枚举、结构定义等不要放在头文件中。 -头文件应当职责单一。头文件过于复杂,依赖过于复杂还是导致编译时间过长的主要原因。 - -### 建议5.1.1 每一个.cpp文件应有一个对应的.h文件,用于声明需要对外公开的类与接口 -通常情况下,每个.cpp文件都有一个相应的.h,用于放置对外提供的函数声明、宏定义、类型定义等。 -如果一个.cpp文件不需要对外公布任何接口,则其就不应当存在。 -例外:__程序的入口(如main函数所在的文件),单元测试代码,动态库代码。__ - -示例: -```cpp -// Foo.h - -#ifndef FOO_H -#define FOO_H - -class Foo { -public: - Foo(); - void Fun(); - -private: - int value_; -}; - -#endif -``` - -```cpp -// Foo.cpp -#include "Foo.h" - -namespace { // Good: 对内函数的声明放在.cpp文件的头部,并声明为匿名namespace或者static限制其作用域 - void Bar() - { - } -} - -... - -void Foo::Fun() -{ - Bar(); -} -``` - -## 头文件依赖 -### 规则5.2.1 禁止头文件循环依赖 -头文件循环依赖,指 a.h 包含 b.h,b.h 包含 c.h,c.h 包含 a.h, 导致任何一个头文件修改,都导致所有包含了a.h/b.h/c.h的代码全部重新编译一遍。 -而如果是单向依赖,如a.h包含b.h,b.h包含c.h,而c.h不包含任何头文件,则修改a.h不会导致包含了b.h/c.h的源代码重新编译。 - -头文件循环依赖直接体现了架构设计上的不合理,可通过架构优化来避免。 - - -### 规则5.2.2 头文件必须编写`#define`保护,防止重复包含 -为防止头文件被重复包含,所有头文件都应当使用 #define 保护;不要使用 #pragma once - -定义包含保护符时,应该遵守如下规则: -1)保护符使用唯一名称; -2)不要在受保护部分的前后放置代码或者注释,文件头注释除外。 - -示例:假定timer模块的timer.h,其目录为timer/include/timer.h,应按如下方式保护: - -```cpp -#ifndef TIMER_INCLUDE_TIMER_H -#define TIMER_INCLUDE_TIMER_H -... -#endif -``` - -### 规则5.2.3 禁止通过声明的方式引用外部函数接口、变量 -只能通过包含头文件的方式使用其他模块或文件提供的接口。 -通过 extern 声明的方式使用外部函数接口、变量,容易在外部接口改变时可能导致声明和定义不一致。 -同时这种隐式依赖,容易导致架构腐化。 - -不符合规范的案例: - -// a.cpp内容 -```cpp -extern int Fun(); // Bad: 通过extern的方式使用外部函数 - -void Bar() -{ - int i = Fun(); - ... -} -``` - -// b.cpp内容 -```cpp -int Fun() -{ - // Do something -} -``` -应该改为: - -// a.cpp内容 -```cpp -#include "b.h" // Good: 通过包含头文件的方式使用其他.cpp提供的接口 - -void Bar() -{ - int i = Fun(); - ... -} -``` - -// b.h内容 -```cpp -int Fun(); -``` - -// b.cpp内容 -```cpp -int Fun() -{ - // Do something -} -``` -例外,有些场景需要引用其内部函数,但并不想侵入代码时,可以 extern 声明方式引用。 -如: -针对某一内部函数进行单元测试时,可以通过 extern 声明来引用被测函数; -当需要对某一函数进行打桩、打补丁处理时,允许 extern 声明该函数。 - -### 规则5.2.4 禁止在extern "C"中包含头文件 -在 extern "C" 中包含头文件,有可能会导致 extern "C" 嵌套,部分编译器对 extern "C" 嵌套层次有限制,嵌套层次太多会编译错误。 - -在C,C++混合编程的情况下,在extern "C"中包含头文件,可能会导致被包含头文件的原有意图遭到破坏,比如链接规范被不正确地更改。 - -示例,存在a.h和b.h两个头文件: - -// a.h内容 -```cpp -... -#ifdef __cplusplus -void Foo(int); -#define A(value) Foo(value) -#else -void A(int) -#endif -``` -// b.h内容 -```cpp -... -#ifdef __cplusplus -extern "C" { -#endif - -#include "a.h" -void B(); - -#ifdef __cplusplus -} -#endif -``` - -使用C++预处理器展开b.h,将会得到 -```cpp -extern "C" { - void Foo(int); - void B(); -} -``` - -按照 a.h 作者的本意,函数 Foo 是一个 C++ 自由函数,其链接规范为 "C++"。 -但在 b.h 中,由于 `#include "a.h"` 被放到了 `extern "C"` 的内部,函数 Foo 的链接规范被不正确地更改了。 - -例外: -如果在 C++ 编译环境中,想引用纯C的头文件,这些C头文件并没有` extern "C"` 修饰。非侵入式的做法是,在 `extern "C"` 中去包含C头文件。 - -### 建议5.2.1尽量避免使用前置声明,而是通过`#include`来包含头文件 -前置声明(forward declaration)通常指类、模板的纯粹声明,没伴随着其定义。 - -- 优点: - 1. 前置声明能够节省编译时间,多余的 #include 会迫使编译器展开更多的文件,处理更多的输入。 - 2. 前置声明能够节省不必要的重新编译的时间。 #include 使代码因为头文件中无关的改动而被重新编译多次。 -- 缺点: - 1. 前置声明隐藏了依赖关系,头文件改动时,用户的代码会跳过必要的重新编译过程。 - 2. 前置声明可能会被库的后续更改所破坏。前置声明模板有时会妨碍头文件开发者变动其 API. 例如扩大形参类型,加个自带默认参数的模板形参等等。 - 3. 前置声明来自命名空间` std::` 的 symbol 时,其行为未定义(在C++11标准规范中明确说明)。 - 4. 前置声明了不少来自头文件的 symbol 时,就会比单单一行的 include 冗长。 - 5. 仅仅为了能前置声明而重构代码(比如用指针成员代替对象成员)会使代码变得更慢更复杂。 - 6. 很难判断什么时候该用前置声明,什么时候该用`#include`,某些场景下面前置声明和`#include`互换以后会导致意想不到的结果。 - -所以我们尽可能避免使用前置声明,而是使用#include头文件来保证依赖关系。 - -# 6 作用域 - -## 命名空间 - -### 建议6.1.1 对于cpp文件中不需要导出的变量,常量或者函数,请使用匿名namespace封装或者用static修饰 -在C++ 2003标准规范中,使用static修饰文件作用域的变量,函数等被标记为deprecated特性,所以更推荐使用匿名namespace。 - -主要原因如下: -1. static在C++中已经赋予了太多的含义,静态函数成员变量,静态成员函数,静态全局变量,静态函数局部变量,每一种都有特殊的处理。 -2. static只能保证变量,常量和函数的文件作用域,但是namespace还可以封装类型等。 -3. 统一namespace来处理C++的作用域,而不需要同时使用static和namespace来管理。 -4. static修饰的函数不能用来实例化模板,而匿名namespace可以。 - -但是不要在 .h 中使用中使用匿名namespace或者static。 - -```cpp -// Foo.cpp - -namespace { - const int MAX_COUNT = 20; - void InternalFun() {}; -} - -void Foo::Fun() -{ - int i = MAX_COUNT; - - InternalFun(); -} - -``` - -### 规则6.1.1 不要在头文件中或者#include之前使用using导入命名空间 -说明:使用using导入命名空间会影响后续代码,易造成符号冲突,所以不要在头文件以及源文件中的#include之前使用using导入命名空间。 -示例: - -```cpp -// 头文件a.h -namespace NamespaceA { - int Fun(int); -} -``` - -```cpp -// 头文件b.h -namespace NamespaceB { - int Fun(int); -} - -using namespace NamespaceB; - -void G() -{ - Fun(1); -} -``` - -```cpp -// 源代码a.cpp -#include "a.h" -using namespace NamespaceA; -#include "b.h" - -void main() -{ - G(); // using namespace NamespaceA在#include “b.h”之前,引发歧义:NamespaceA::Fun,NamespaceB::Fun调用不明确 -} -``` - -对于在头文件中使用using导入单个符号或定义别名,允许在模块自定义名字空间中使用,但禁止在全局名字空间中使用。 -```cpp -// foo.h - -#include -using fancy::string; // Bad,禁止向全局名字空间导入符号 - -namespace Foo { - using fancy::string; // Good,可以在模块自定义名字空间中导入符号 - using MyVector = fancy::vector; // Good,C++11可在自定义名字空间中定义别名 -} -``` - - -## 全局函数和静态成员函数 - -### 建议6.2.1 优先使用命名空间来管理全局函数,如果和某个class有直接关系的,可以使用静态成员函数 -说明:非成员函数放在名字空间内可避免污染全局作用域, 也不要用类+静态成员方法来简单管理全局函数。 如果某个全局函数和某个类有紧密联系, 那么可以作为类的静态成员函数。 - -如果你需要定义一些全局函数,给某个cpp文件使用,那么请使用匿名namespace来管理。 -```cpp -namespace MyNamespace { - int Add(int a, int b); -} - -class File { -public: - static File CreateTempFile(const std::string& fileName); -}; -``` - -## 全局常量和静态成员常量 - -### 建议6.3.1 优先使用命名空间来管理全局常量,如果和某个class有直接关系的,可以使用静态成员常量 -说明:全局常量放在命名空间内可避免污染全局作用域, 也不要用类+静态成员常量来简单管理全局常量。 如果某个全局常量和某个类有紧密联系, 那么可以作为类的静态成员常量。 - -如果你需要定义一些全局常量,只给某个cpp文件使用,那么请使用匿名namespace来管理。 -```cpp -namespace MyNamespace { - const int MAX_SIZE = 100; -} - -class File { -public: - static const std::string SEPARATOR; -}; -``` - -## 全局变量 - -### 建议6.4.1 尽量避免使用全局变量,考虑使用单例模式 -说明:全局变量是可以修改和读取的,那么这样会导致业务代码和这个全局变量产生数据耦合。 -```cpp -int g_counter = 0; - -// a.cpp -g_counter++; - -// b.cpp -g_counter++; - -// c.cpp -cout << g_counter << endl; -``` - -使用单实例模式 -```cpp -class Counter { -public: - static Counter& GetInstance() - { - static Counter counter; - return counter; - } // 单实例实现简单举例 - - void Increase() - { - value_++; - } - - void Print() const - { - std::cout << value_ << std::endl; - } - -private: - Counter() : value_(0) {} - -private: - int value_; -}; - -// a.cpp -Counter::GetInstance().Increase(); - -// b.cpp -Counter::GetInstance().Increase(); - -// c.cpp -Counter::GetInstance().Print(); -``` - -实现单例模式以后,实现了全局唯一一个实例,和全局变量同样的效果,并且单实例提供了更好的封装性。 - -例外:有的时候全局变量的作用域仅仅是模块内部,这样进程空间里面就会有多个全局变量实例,每个模块持有一份,这种场景下是无法使用单例模式解决的。 - -# 7 类 - -## 构造,拷贝构造,赋值和析构函数 -构造,拷贝,移动和析构函数提供了对象的生命周期管理方法: -- 构造函数(constructor): `X()` -- 拷贝构造函数(copy constructor):`X(const X&)` -- 拷贝赋值操作符(copy assignment):`operator=(const X&)` -- 移动构造函数(move constructor):`X(X&&)` *C++11以后提供* -- 移动赋值操作符(move assignment):`operator=(X&&)` *C++11以后提供* -- 析构函数(destructor):`~X()` - -### 规则7.1.1 类的成员变量必须显式初始化 -说明:如果类有成员变量,没有定义构造函数,又没有定义默认构造函数,编译器将自动生成一个构造函数,但编译器生成的构造函数并不会对成员变量进行初始化,对象状态处于一种不确定性。 - -例外: -- 如果类的成员变量具有默认构造函数,那么可以不需要显式初始化。 - -示例:如下代码没有构造函数,私有数据成员无法初始化: -```cpp -class Message { -public: - void ProcessOutMsg() - { - //… - } - -private: - unsigned int msgID_; - unsigned int msgLength_; - unsigned char* msgBuffer_; - std::string someIdentifier_; -}; - -Message message; // message成员变量没有初始化 -message.ProcessOutMsg(); // 后续使用存在隐患 - -// 因此,有必要定义默认构造函数,如下: -class Message { -public: - Message() : msgID_(0), msgLength_(0), msgBuffer_(nullptr) - { - } - - void ProcessOutMsg() - { - // … - } - -private: - unsigned int msgID_; - unsigned int msgLength_; - unsigned char* msgBuffer_; - std::string someIdentifier_; // 具有默认构造函数,不需要显式初始化 -}; -``` - -### 建议7.1.1 成员变量优先使用声明时初始化(C++11)和构造函数初始化列表初始化 -说明:C++11的声明时初始化可以一目了然的看出成员初始值,应当优先使用。如果成员初始化值和构造函数相关,或者不支持C++11,则应当优先使用构造函数初始化列表来初始化成员。相比起在构造函数体中对成员赋值,初始化列表的代码更简洁,执行性能更好,而且可以对const成员和引用成员初始化。 - -```cpp -class Message { -public: - Message() : msgLength_(0) // Good,优先使用初始化列表 - { - msgBuffer_ = nullptr; // Bad,不推荐在构造函数中赋值 - } - -private: - unsigned int msgID_{0}; // Good,C++11中使用 - unsigned int msgLength_; - unsigned char* msgBuffer_; -}; -``` - -### 规则7.1.2 为避免隐式转换,将单参数构造函数声明为explicit -说明:单参数构造函数如果没有用explicit声明,则会成为隐式转换函数。 -示例: - -```cpp -class Foo { -public: - explicit Foo(const string& name): name_(name) - { - } -private: - string name_; -}; - - -void ProcessFoo(const Foo& foo){} - -int main(void) -{ - std::string test = "test"; - ProcessFoo(test); // 编译不通过 - return 0; -} -``` - -上面的代码编译不通过,因为`ProcessFoo`需要的参数是Foo类型,传入的string类型不匹配。 - -如果将Foo构造函数的explicit关键字移除,那么调用`ProcessFoo`传入的string就会触发隐式转换,生成一个临时的Foo对象。往往这种隐式转换是让人迷惑的,并且容易隐藏Bug,得到了一个不期望的类型转换。所以对于单参数的构造函数是要求explicit声明。 - -### 规则7.1.3 如果不需要拷贝构造函数、赋值操作符 / 移动构造函数、赋值操作符,请明确禁止 -说明:如果用户不定义,编译器默认会生成拷贝构造函数和拷贝赋值操作符, 移动构造和移动赋值操作符(移动语义的函数C++11以后才有)。 -如果我们不要使用拷贝构造函数,或者赋值操作符,请明确拒绝: - -1. 将拷贝构造函数或者赋值操作符设置为private,并且不实现: -```cpp -class Foo { -private: - Foo(const Foo&); - Foo& operator=(const Foo&); -}; -``` -2. 使用C++11提供的delete, 请参见后面现代C++的相关章节。 - -### 规则7.1.4 拷贝构造和拷贝赋值操作符应该是成对出现或者禁止 -拷贝构造函数和拷贝赋值操作符都是具有拷贝语义的,应该同时出现或者禁止。 - -```cpp -// 同时出现 -class Foo { -public: - ... - Foo(const Foo&); - Foo& operator=(const Foo&); - ... -}; - -// 同时default, C++11支持 -class Foo { -public: - Foo(const Foo&) = default; - Foo& operator=(const Foo&) = default; -}; - -// 同时禁止, C++11可以使用delete -class Foo { -private: - Foo(const Foo&); - Foo& operator=(const Foo&); -}; -``` - -### 规则7.1.5 移动构造和移动赋值操作符应该是成对出现或者禁止 -在C++11中增加了move操作,如果需要某个类支持移动操作,那么需要实现移动构造和移动赋值操作符。 - -移动构造函数和移动赋值操作符都是具有移动语义的,应该同时出现或者禁止。 -```cpp -// 同时出现 -class Foo { -public: - ... - Foo(Foo&&); - Foo& operator=(Foo&&); - ... -}; - -// 同时default, C++11支持 -class Foo { -public: - Foo(Foo&&) = default; - Foo& operator=(Foo&&) = default; -}; - -// 同时禁止, 使用C++11的delete -class Foo { -public: - Foo(Foo&&) = delete; - Foo& operator=(Foo&&) = delete; -}; -``` - -### 规则7.1.6 禁止在构造函数和析构函数中调用虚函数 -说明:在构造函数和析构函数中调用当前对象的虚函数,会导致未实现多态的行为。 -在C++中,一个基类一次只构造一个完整的对象。 - -示例:类Base是基类,Sub是派生类 -```cpp -class Base { -public: - Base(); - virtual void Log() = 0; // 不同的派生类调用不同的日志文件 -}; - -Base::Base() // 基类构造函数 -{ - Log(); // 调用虚函数Log -} - -class Sub : public Base { -public: - virtual void Log(); -}; -``` - -当执行如下语句: -`Sub sub;` -会先执行Sub的构造函数,但首先调用Base的构造函数,由于Base的构造函数调用虚函数Log,此时Log还是基类的版本,只有基类构造完成后,才会完成派生类的构造,从而导致未实现多态的行为。 -同样的道理也适用于析构函数。 - - -## 继承 - -### 规则7.2.1 基类的析构函数应该声明为virtual -说明:只有基类析构函数是virtual,通过多态调用的时候才能保证派生类的析构函数被调用。 - -示例:基类的析构函数没有声明为virtual导致了内存泄漏。 -```cpp -class Base { -public: - virtual std::string getVersion() = 0; - - ~Base() - { - std::cout << "~Base" << std::endl; - } -}; -``` - -```cpp -class Sub : public Base { -public: - Sub() : numbers_(nullptr) - { - } - - ~Sub() - { - delete[] numbers_; - std::cout << "~Sub" << std::endl; - } - - int Init() - { - const size_t numberCount = 100; - numbers_ = new (std::nothrow) int[numberCount]; - if (numbers_ == nullptr) { - return -1; - } - - ... - } - - std::string getVersion() - { - return std::string("hello!"); - } -private: - int* numbers_; -}; -``` - -```cpp -int main(int argc, char* args[]) -{ - Base* b = new Sub(); - - delete b; - return 0; -} -``` -由于基类Base的析构函数没有声明为virtual,当对象被销毁时,只会调用基类的析构函数,不会调用派生类Sub的析构函数,导致内存泄漏。 - - -### 规则7.2.2 禁止虚函数使用缺省参数值 -说明:在C++中,虚函数是动态绑定的,但函数的缺省参数却是在编译时就静态绑定的。这意味着你最终执行的函数是一个定义在派生类,但使用了基类中的缺省参数值的虚函数。为了避免虚函数重载时,因参数声明不一致给使用者带来的困惑和由此导致的问题,规定所有虚函数均不允许声明缺省参数值。 -示例:虚函数display缺省参数值text是由编译时刻决定的,而非运行时刻,没有达到多态的目的: -```cpp -class Base { -public: - virtual void Display(const std::string& text = "Base!") - { - std::cout << text << std::endl; - } - - virtual ~Base(){} -}; - -class Sub : public Base { -public: - virtual void Display(const std::string& text = "Sub!") - { - std::cout << text << std::endl; - } - - virtual ~Sub(){} -}; - -int main() -{ - Base* base = new Sub(); - Sub* sub = new Sub(); - - ... - - base->Display(); // 程序输出结果: Base! 而期望输出:Sub! - sub->Display(); // 程序输出结果: Sub! - - delete base; - delete sub; - return 0; -}; -``` - -### 规则7.2.3 禁止重新定义继承而来的非虚函数 -说明:因为非虚函数无法实现动态绑定,只有虚函数才能实现动态绑定:只要操作基类的指针,即可获得正确的结果。 - -示例: -```cpp -class Base { -public: - void Fun(); -}; - -class Sub : public Base { -public: - void Fun(); -}; - -Sub* sub = new Sub(); -Base* base = sub; - -sub->Fun(); // 调用子类的Fun -base->Fun(); // 调用父类的Fun -//... - -``` - -## 多重继承 -在实际开发过程中使用多重继承的场景是比较少的,因为多重继承使用过程中有下面的典型问题: -1. 菱形继承所带来的数据重复,以及名字二义性。因此,C++引入了virtual继承来解决这类问题; -2. 即便不是菱形继承,多个父类之间的名字也可能存在冲突,从而导致二义性; -3. 如果子类需要扩展或改写多个父类的方法时,造成子类的职责不明,语义混乱; -4. 相对于委托,继承是一种白盒复用,即子类可以访问父类的protected成员, 这会导致更强的耦合。而多重继承,由于耦合了多个父类,相对于单根继承,这会产生更强的耦合关系。 - -多重继承具有下面的优点: -多重继承提供了一种更简单的组合来实现多种接口或者类的组装与复用。 - -所以,只有下面几种情况才允许使用多重继承。 - -### 建议7.3.1 使用多重继承来实现接口分离与多角色组合 -如果某个类需要实现多重接口,可以通过多重继承把多个分离的接口组合起来,类似 scala 语言的 traits 混入。 - -```cpp -class Role1 {}; -class Role2 {}; -class Role3 {}; - -class Object1 : public Role1, public Role2 { - // ... -}; - -class Object2 : public Role2, public Role3 { - // ... -}; - -``` - -在C++标准库中也有类似的实现样例: -```cpp -class basic_istream {}; -class basic_ostream {}; - -class basic_iostream : public basic_istream, public basic_ostream { - -}; -``` - -## 重载 - -重载操作符要有充分理由,而且不要改变操作符原有语义,例如不要使用 ‘+’ 操作符来做减运算。 -操作符重载令代码更加直观,但也有一些不足: -- 混淆直觉,误以为该操作和内建类型一样是高性能的,忽略了性能降低的可能; -- 问题定位时不够直观,按函数名查找比按操作符显然更方便。 -- 重载操作符如果行为定义不直观(例如将‘+’ 操作符来做减运算),会让代码产生混淆。 -- 赋值操作符的重载引入的隐式转换会隐藏很深的bug。可以定义类似Equals()、CopyFrom()等函数来替代=,==操作符。 - - - -# 8 函数 -## 函数设计 -### 规则8.1.1 避免函数过长,函数不超过50行(非空非注释) -函数应该可以一屏显示完 (50行以内),只做一件事情,而且把它做好。 - -过长的函数往往意味着函数功能不单一,过于复杂,或过分呈现细节,未进行进一步抽象。 - -例外:某些实现算法的函数,由于算法的聚合性与功能的全面性,可能会超过50行。 - -即使一个长函数现在工作的非常好, 一旦有人对其修改, 有可能出现新的问题, 甚至导致难以发现的bug。 -建议将其拆分为更加简短并易于管理的若干函数,以便于他人阅读和修改代码。 - -## 内联函数 - -### 建议8.2.1 内联函数不超过10行(非空非注释) -**说明**:内联函数具有一般函数的特性,它与一般函数不同之处只在于函数调用的处理。一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换。 - -内联函数只适合于只有 1~10 行的小函数。对一个含有许多语句的大函数,函数调用和返回的开销相对来说微不足道,也没有必要用内联函数实现,一般的编译器会放弃内联方式,而采用普通的方式调用函数。 - -如果内联函数包含复杂的控制结构,如循环、分支(switch)、try-catch 等语句,一般编译器将该函数视同普通函数。 -**虚函数、递归函数不能被用来做内联函数**。 - -## 函数参数 - -### 建议8.3.1 函数参数使用引用取代指针 - -**说明**:引用比指针更安全,因为它一定非空,且一定不会再指向其他目标;引用不需要检查非法的NULL指针。 - -如果是基于老平台开发的产品,则优先顺从原有平台的处理方式。 -选择 const 避免参数被修改,让代码阅读者清晰地知道该参数不被修改,可大大增强代码可读性。 - -例外:当传入参数为编译期长度未知的数组时,可以使用指针而不是引用。 - -### 建议8.3.2 使用强类型参数,避免使用void* -尽管不同的语言对待强类型和弱类型有自己的观点,但是一般认为c/c++是强类型语言,既然我们使用的语言是强类型的,就应该保持这样的风格。 -好处是尽量让编译器在编译阶段就检查出类型不匹配的问题。 - -使用强类型便于编译器帮我们发现错误,如下代码中注意函数 FooListAddNode 的使用: -```cpp -struct FooNode { - struct List link; - int foo; -}; - -struct BarNode { - struct List link; - int bar; -} - -void FooListAddNode(void *node) // Bad: 这里用 void * 类型传递参数 -{ - FooNode *foo = (FooNode *)node; - ListAppend(&g_FooList, &foo->link); -} - -void MakeTheList() -{ - FooNode *foo = nullptr; - BarNode *bar = nullptr; - ... - - FooListAddNode(bar); // Wrong: 这里本意是想传递参数 foo,但错传了 bar,却没有报错 -} -``` - -1. 可以使用模板函数来实现参数类型的变化。 -2. 可以使用基类指针来实现多态。 - -### 建议8.3.3 函数的参数个数不超过5个 -函数的参数过多,会使得该函数易于受外部变化的影响,从而影响维护工作。函数的参数过多同时也会增大测试的工作量。 - -如果超过可以考虑: -- 看能否拆分函数 -- 看能否将相关参数合在一起,定义结构体 - -# 9 C++其他特性 - -## 常量与初始化 - -不变的值更易于理解、跟踪和分析,所以应该尽可能地使用常量代替变量,定义值的时候,应该把const作为默认的选项。 - -### 规则9.1.1 不允许使用宏来表示常量 - -**说明**:宏是简单的文本替换,在预处理阶段时完成,运行报错时直接报相应的值;跟踪调试时也是显示值,而不是宏名;宏没有类型检查,不安全;宏没有作用域。 - -```cpp -#define MAX_MSISDN_LEN 20 // 不好 - -// C++请使用const常量 -const int MAX_MSISDN_LEN = 20; // 好 - -// 对于C++11以上版本,可以使用constexpr -constexpr int MAX_MSISDN_LEN = 20; -``` - -### 建议9.1.1 一组相关的整型常量应定义为枚举 - -**说明**:枚举比`#define`或`const int`更安全。编译器会检查参数值是否位于枚举取值范围内,避免错误发生。 - -```cpp -// 好的例子: -enum Week { - SUNDAY, - MONDAY, - TUESDAY, - WEDNESDAY, - THURSDAY, - FRIDAY, - SATURDAY -}; - -enum Color { - RED, - BLACK, - BLUE -}; - -void ColorizeCalendar(Week today, Color color); - -ColorizeCalendar(BLUE, SUNDAY); // 编译报错,参数类型错误 - -// 不好的例子: -const int SUNDAY = 0; -const int MONDAY = 1; - -const int BLACK = 0; -const int BLUE = 1; - -bool ColorizeCalendar(int today, int color); -ColorizeCalendar(BLUE, SUNDAY); // 不会报错 -``` - -当枚举值需要对应到具体数值时,须在声明时显式赋值。否则不需要显式赋值,以避免重复赋值,降低维护(增加、删除成员)工作量。 - -```cpp -// 好的例子:S协议里定义的设备ID值,用于标识设备类型 -enum DeviceType { - DEV_UNKNOWN = -1, - DEV_DSMP = 0, - DEV_ISMG = 1, - DEV_WAPPORTAL = 2 -}; -``` - -程序内部使用,仅用于分类的情况,不应该进行显式的赋值。 - -```cpp -// 好的例子:程序中用来标识会话状态的枚举定义 -enum SessionState { - INIT, - CLOSED, - WAITING_FOR_RESPONSE -}; -``` - -应当尽量避免枚举值重复,如必须重复也要用已定义的枚举来修饰 - -```cpp -enum RTCPType { - RTCP_SR = 200, - RTCP_MIN_TYPE = RTCP_SR, - RTCP_RR = 201, - RTCP_SDES = 202, - RTCP_BYE = 203, - RTCP_APP = 204, - RTCP_RTPFB = 205, - RTCP_PSFB = 206, - RTCP_XR = 207, - RTCP_RSI = 208, - RTCP_PUBPORTS = 209, - RTCP_MAX_TYPE = RTCP_PUBPORTS -}; -``` - -### 规则9.1.2 不允许使用魔鬼数字 -所谓魔鬼数字即看不懂、难以理解的数字。 - -魔鬼数字并非一个非黑即白的概念,看不懂也有程度,需要自行判断。 -例如数字 12,在不同的上下文中情况是不一样的: -type = 12; 就看不懂,但 `monthsCount = yearsCount * 12`; 就能看懂。 -数字 0 有时候也是魔鬼数字,比如 `status = 0`; 并不能表达是什么状态。 - -解决途径: -对于局部使用的数字,可以增加注释说明 -对于多处使用的数字,必须定义 const 常量,并通过符号命名自注释。 - -禁止出现下列情况: -没有通过符号来解释数字含义,如` const int ZERO = 0` -符号命名限制了其取值,如 `const int XX_TIMER_INTERVAL_300MS = 300`,直接使用`XX_TIMER_INTERVAL_MS`来表示该常量是定时器的时间间隔。 - -### 规则9.1.3 常量应该保证单一职责 - -**说明**:一个常量只用来表示一个特定功能,即一个常量不能有多种用途。 - -```cpp -// 好的例子:协议A和协议B,手机号(MSISDN)的长度都是20。 -const unsigned int A_MAX_MSISDN_LEN = 20; -const unsigned int B_MAX_MSISDN_LEN = 20; - -// 或者使用不同的名字空间: -namespace Namespace1 { - const unsigned int MAX_MSISDN_LEN = 20; -} - -namespace Namespace2 { - const unsigned int MAX_MSISDN_LEN = 20; -} -``` - -### 规则9.1.4 禁止用memcpy_s、memset_s初始化非POD对象 - -**说明**:`POD`全称是`Plain Old Data`,是C++ 98标准(ISO/IEC 14882, first edition, 1998-09-01)中引入的一个概念,`POD`类型主要包括`int`, `char`, `float`,`double`,`enumeration`,`void`,指针等原始类型以及聚合类型,不能使用封装和面向对象特性(如用户定义的构造/赋值/析构函数、基类、虚函数等)。 - -由于非POD类型比如非聚合类型的class对象,可能存在虚函数,内存布局不确定,跟编译器有关,滥用内存拷贝可能会导致严重的问题。 - -即使对聚合类型的class,使用直接的内存拷贝和比较,破坏了信息隐蔽和数据保护的作用,也不提倡`memcpy_s`、`memset_s`操作。 - -对于POD类型的详细说明请参见附录。 - -### 建议9.1.2 变量使用时才声明并初始化 - -**说明**:变量在使用前未赋初值,是常见的低级编程错误。使用前才声明变量并同时初始化,非常方便地避免了此类低级错误。 - -在函数开始位置声明所有变量,后面才使用变量,作用域覆盖整个函数实现,容易导致如下问题: -* 程序难以理解和维护:变量的定义与使用分离。 -* 变量难以合理初始化:在函数开始时,经常没有足够的信息进行变量初始化,往往用某个默认的空值(比如零)来初始化,这通常是一种浪费,如果变量在被赋于有效值以前使用,还会导致错误。 - -遵循变量作用域最小化原则与就近声明原则, 使得代码更容易阅读,方便了解变量的类型和初始值。特别是,应使用初始化的方式替代声明再赋值。 - -```cpp -// 不好的例子:声明与初始化分离 -string name; // 声明时未初始化:调用缺省构造函数 -name = "zhangsan"; // 再次调用赋值操作符函数;声明与定义在不同的地方,理解相对困难 - -// 好的例子:声明与初始化一体,理解相对容易 -string name("zhangsan"); // 调用构造函数 -``` - - -## 表达式 -### 规则9.2.1 含有变量自增或自减运算的表达式中禁止再次引用该变量 -含有变量自增或自减运算的表达式中,如果再引用该变量,其结果在C++标准中未明确定义。各个编译器或者同一个编译器不同版本实现可能会不一致。 -为了实现更好的可移植性,不应该对标准未定义的运算次序做任何假设。 - -注意,运算次序的问题不能使用括号来解决,因为这不是优先级的问题。 - -示例: -```cpp -x = b[i] + i++; // Bad: b[i]运算跟 i++,先后顺序并不明确。 -``` -正确的写法是将自增或自减运算单独放一行: -```cpp -x = b[i] + i; -i++; // Good: 单独一行 -``` - -函数参数 -```cpp -Func(i++, i); // Bad: 传递第2个参数时,不确定自增运算有没有发生 -``` - -正确的写法 -```cpp -i++; // Good: 单独一行 -x = Func(i, i); -``` - -### 规则9.2.2 switch语句要有default分支 -大部分情况下,switch语句中要有default分支,保证在遗漏case标签处理时能够有一个缺省的处理行为。 - -例外: -如果switch条件变量是枚举类型,并且 case 分支覆盖了所有取值,则加上default分支处理有些多余。 -现代编译器都具备检查是否在switch语句中遗漏了某些枚举值的case分支的能力,会有相应的warning提示。 - -```cpp -enum Color { - RED = 0, - BLUE -}; - -// 因为switch条件变量是枚举值,这里可以不用加default处理分支 -switch (color) { - case RED: - DoRedThing(); - break; - case BLUE: - DoBlueThing(); - ... - break; -} -``` - -### 建议9.2.1 表达式的比较,应当遵循左侧倾向于变化、右侧倾向于不变的原则 -当变量与常量比较时,如果常量放左边,如 if (MAX == v) 不符合阅读习惯,而 if (MAX > v) 更是难于理解。 -应当按人的正常阅读、表达习惯,将常量放右边。写成如下方式: -```cpp -if (value == MAX) { - -} - -if (value < MAX) { - -} -``` -也有特殊情况,如:`if (MIN < value && value < MAX)` 用来描述区间时,前半段是常量在左的。 - -不用担心将 '==' 误写成 '=',因为` if (value = MAX)` 会有编译告警,其他静态检查工具也会报错。让工具去解决笔误问题,代码要符合可读性第一。 - -### 建议9.2.2 使用括号明确操作符的优先级 -使用括号明确操作符的优先级,防止因默认的优先级与设计思想不符而导致程序出错;同时使得代码更为清晰可读,然而过多的括号会分散代码使其降低了可读性。下面是如何使用括号的建议。 - -- 二元及以上操作符, 如果涉及多种操作符,则应该使用括号 -```cpp -x = a + b + c; /* 操作符相同,可以不加括号 */ -x = Foo(a + b, c); /* 逗号两边的表达式,不需要括号 */ -x = 1 << (2 + 3); /* 操作符不同,需要括号 */ -x = a + (b / 5); /* 操作符不同,需要括号 */ -x = (a == b) ? a : (a – b); /* 操作符不同,需要括号 */ -``` - - -## 类型转换 - -避免使用类型分支来定制行为:类型分支来定制行为容易出错,是企图用C++编写C代码的明显标志。这是一种很不灵活的技术,要添加新类型时,如果忘记修改所有分支,编译器也不会告知。使用模板和虚函数,让类型自己而不是调用它们的代码来决定行为。 - -建议避免类型转换,我们在代码的类型设计上应该考虑到每种数据的数据类型是什么,而不是应该过度使用类型转换来解决问题。在设计某个基本类型的时候,请考虑: -- 是无符号还是有符号的 -- 是适合float还是double -- 是使用int8,int16,int32还是int64,确定整形的长度 - -但是我们无法禁止使用类型转换,因为C++语言是一门面向机器编程的语言,涉及到指针地址,并且我们会与各种第三方或者底层API交互,他们的类型设计不一定是合理的,在这个适配的过程中很容易出现类型转换。 - -例外:在调用某个函数的时候,如果我们不想处理函数结果,首先要考虑这个是否是你最好的选择。如果确实不想处理函数的返回值,那么可以使用(void)转换来解决。 - -### 规则9.3.1 如果确定要使用类型转换,请使用由C++提供的类型转换,而不是C风格的类型转换 - -**说明**: - -C++提供的类型转换操作比C风格更有针对性,更易读,也更加安全,C++提供的转换有: -- 类型转换: -1. `dynamic_cast`:主要用于继承体系下行转换,`dynamic_cast`具有类型检查的功能,请做好基类和派生类的设计,避免使用dynamic_cast来进行转换。 -2. `static_cast`:和C风格转换相似可做值的强制转换,或上行转换(把派生类的指针或引用转换成基类的指针或引用)。该转换经常用于消除多重继承带来的类型歧义,是相对安全的。如果是纯粹的算数转换,那么请使用后面的大括号转换方式。 -3. `reinterpret_cast`:用于转换不相关的类型。`reinterpret_cast`强制编译器将某个类型对象的内存重新解释成另一种类型,这是一种不安全的转换,建议尽可能少用`reinterpret_cast`。 -4. `const_cast`:用于移除对象的`const`属性,使对象变得可修改,这样会破坏数据的不变性,建议尽可能少用。 - -- 算数转换: (C++11开始支持) - 对于那种算数转换,并且类型信息没有丢失的,比如float到double, int32到int64的转换,推荐使用大括号的初始方式。 -```cpp - double d{ someFloat }; - int64_t i{ someInt32 }; -``` - -### 建议9.3.1 避免使用`dynamic_cast` -1. `dynamic_cast`依赖于C++的RTTI, 让程序员在运行时识别C++类对象的类型。 -2. `dynamic_cast`的出现一般说明我们的基类和派生类设计出现了问题,派生类破坏了基类的契约,不得不通过`dynamic_cast`转换到子类进行特殊处理,这个时候更希望来改善类的设计,而不是通过`dynamic_cast`来解决问题。 - -### 建议9.3.2 避免使用`reinterpret_cast` - -**说明**:`reinterpret_cast`用于转换不相关类型。尝试用`reinterpret_cast`将一种类型强制转换另一种类型,这破坏了类型的安全性与可靠性,是一种不安全的转换。不同类型之间尽量避免转换。 - -### 建议9.3.3 避免使用`const_cast` - -**说明**:`const_cast`用于移除对象的`const`和`volatile`性质。 - -使用const_cast转换后的指针或者引用来修改const对象,行为是未定义的。 - -```cpp -// 不好的例子 -const int i = 1024; -int* p = const_cast(&i); -*p = 2048; // 未定义行为 -``` - -```cpp -// 不好的例子 -class Foo { -public: - Foo() : i(3) {} - - void Fun(int v) - { - i = v; - } - -private: - int i; -}; - -int main(void) -{ - const Foo f; - Foo* p = const_cast(&f); - p->Fun(8); // 未定义行为 -} - -``` - - -## 资源分配和释放 - -### 规则9.4.1 单个对象释放使用delete,数组对象释放使用delete [] -说明:单个对象删除使用delete, 数组对象删除使用delete [],原因: - -- 调用new所包含的动作:从系统中申请一块内存,并调用此类型的构造函数。 -- 调用new[n]所包含的动作:申请可容纳n个对象的内存,并且对每一个对象调用其构造函数。 -- 调用delete所包含的动作:先调用相应的析构函数,再将内存归还系统。 -- 调用delete[]所包含的动作:对每一个对象调用析构函数,再释放所有内存 - -如果new和delete的格式不匹配,结果是未知的。对于非class类型, new和delete不会调用构造与析构函数。 - -错误写法: -```cpp -const int MAX_ARRAY_SIZE = 100; -int* numberArray = new int[MAX_ARRAY_SIZE]; -... -delete numberArray; -numberArray = nullptr; -``` - -正确写法: -```cpp -const int MAX_ARRAY_SIZE = 100; -int* numberArray = new int[MAX_ARRAY_SIZE]; -... -delete[] numberArray; -numberArray = nullptr; -``` - -### 建议9.4.1 使用 RAII 特性来帮助追踪动态分配 - -说明:RAII是“资源获取就是初始化”的缩语(Resource Acquisition Is Initialization),是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。 - -RAII 的一般做法是这样的:在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在对象析构的时候释放资源。这种做法有两大好处: -- 我们不需要显式地释放资源。 -- 对象所需的资源在其生命期内始终保持有效。这样,就不必检查资源有效性的问题,可以简化逻辑、提高效率。 - - -示例:使用RAII不需要显式地释放互斥资源。 - -```cpp -class LockGuard { -public: - LockGuard(const LockType& lockType): lock_(lockType) - { - lock_.Aquire(); - } - - ~LockGuard() - { - lock_.Relase(); - } - -private: - LockType lock_; -}; - - -bool Update() -{ - LockGuard lockGuard(mutex); - if (...) { - return false; - } else { - // 操作数据 - } - - return true; -} -``` - -## 标准库 - -STL标准模板库在不同产品使用程度不同,这里列出一些基本规则和建议,供各团队参考。 - -### 规则9.5.1 不要保存std::string的c_str()返回的指针 - -说明:在C++标准中并未规定string::c_str()指针持久有效,因此特定STL实现完全可以在调用string::c_str()时返回一个临时存储区并很快释放。所以为了保证程序的可移植性,不要保存string::c_str()的结果,而是在每次需要时直接调用。 - -示例: - -```cpp -void Fun1() -{ - std::string name = "demo"; - const char* text = name.c_str(); // 表达式结束以后,name的生命周期还在,指针有效 - - // 如果中间调用了string的非const成员函数,导致string被修改,比如operator[], begin()等 - // 可能会导致text的内容不可用,或者不是原来的字符串 - name = "test"; - name[1] = '2'; - - // 后续使用text指针,其字符串内容不再是"demo" -} - -void Fun2() -{ - std::string name = "demo"; - std::string test = "test"; - const char* text = (name + test).c_str(); // 表达式结束以后,+号产生的临时对象被销毁,指针无效 - - // 后续使用text指针,其已不再指向合法内存空间 -} -``` -例外:在少数对性能要求非常高的代码中,为了适配已有的只接受const char*类型入参的函数,可以临时保存string::c_str()返回的指针。但是必须严格保证string对象的生命周期长于所保存指针的生命周期,并且保证在所保存指针的生命周期内,string对象不会被修改。 - - -### 建议9.5.1 使用std::string代替char* - -说明:使用string代替`char*`有很多优势,比如: -1. 不用考虑结尾的’\0’; -2. 可以直接使用+, =, ==等运算符以及其它字符串操作函数; -3. 不需要考虑内存分配操作,避免了显式的new/delete,以及由此导致的错误; - -需要注意的是某些stl实现中string是基于写时复制策略的,这会带来2个问题,一是某些版本的写时复制策略没有实现线程安全,在多线程环境下会引起程序崩溃;二是当与动态链接库相互传递基于写时复制策略的string时,由于引用计数在动态链接库被卸载时无法减少可能导致悬挂指针。因此,慎重选择一个可靠的stl实现对于保证程序稳定是很重要的。 - -例外: -当调用系统或者其它第三方库的API时,针对已经定义好的接口,只能使用`char*`。但是在调用接口之前都可以使用string,在调用接口时使用string::c_str()获得字符指针。 -当在栈上分配字符数组当作缓冲区使用时,可以直接定义字符数组,不要使用string,也没有必要使用类似`vector`等容器。 - -### 规则9.5.2 禁止使用auto_ptr -说明:在stl库中的std::auto_ptr具有一个隐式的所有权转移行为,如下代码: -```cpp -auto_ptr p1(new T); -auto_ptr p2 = p1; -``` -当执行完第2行语句后,p1已经不再指向第1行中分配的对象,而是变为nullptr。正因为如此,auto_ptr不能被置于各种标准容器中。 -转移所有权的行为通常不是期望的结果。对于必须转移所有权的场景,也不应该使用隐式转移的方式。这往往需要程序员对使用auto_ptr的代码保持额外的谨慎,否则出现对空指针的访问。 -使用auto_ptr常见的有两种场景,一是作为智能指针传递到产生auto_ptr的函数外部,二是使用auto_ptr作为RAII管理类,在超出auto_ptr的生命周期时自动释放资源。 -对于第1种场景,可以使用std::shared_ptr来代替。 -对于第2种场景,可以使用C++11标准中的std::unique_ptr来代替。其中std::unique_ptr是std::auto_ptr的代替品,支持显式的所有权转移。 - -例外: -在C++11标准得到普遍使用之前,在一定需要对所有权进行转移的场景下,可以使用std::auto_ptr,但是建议对std::auto_ptr进行封装,并禁用封装类的拷贝构造函数和赋值运算符,以使该封装类无法用于标准容器。 - - -### 建议9.5.2 使用新的标准头文件 - -说明: -使用C++的标准头文件时,请使用``这样的,而不是``这种的。 - -## const的用法 -在声明的变量或参数前加上关键字 const 用于指明变量值不可被篡改 (如 `const int foo` ). 为类中的函数加上 const 限定符表明该函数不会修改类成员变量的状态 (如 `class Foo { int Bar(char c) const; };`)。 const 变量, 数据成员, 函数和参数为编译时类型检测增加了一层保障, 便于尽早发现错误。因此, 我们强烈建议在任何可能的情况下使用 const。 -有时候,使用C++11的constexpr来定义真正的常量可能更好。 - -### 规则9.6.1 对于指针和引用类型的形参,如果是不需要修改的,请使用const -不变的值更易于理解/跟踪和分析,把const作为默认选项,在编译时会对其进行检查,使代码更牢固/更安全。 -```cpp -class Foo; - -void PrintFoo(const Foo& foo); -``` - -### 规则9.6.2 对于不会修改成员变量的成员函数请使用const修饰 -尽可能将成员函数声明为 const。 访问函数应该总是 const。只要不修改数据成员的成员函数,都声明为const。 -对于虚函数,应当从设计意图上考虑继承链上的所有类是否需要在此虚函数中修改数据成员,而不是仅关注单个类的实现。 -```cpp -class Foo { -public: - - // ... - - int PrintValue() const // const修饰成员函数,不会修改成员变量 - { - std::cout << value_ << std::endl; - } - - int GetValue() const // const修饰成员函数,不会修改成员变量 - { - return value_; - } - -private: - int value_; -}; -``` - -### 建议9.6.1 初始化后不会再修改的成员变量定义为const - -```cpp -class Foo { -public: - Foo(int length) : dataLength_(length) {} -private: - const int dataLength_; -}; -``` - -## 异常 - -### 建议9.7.1 C++11中,如果函数不会抛出异常,声明为`noexcept` -**理由** -1. 如果函数不会抛出异常,声明为`noexcept`可以让编译器最大程度的优化函数,如减少执行路径,提高错误退出的效率。 -2. `vector`等STL容器,为了保证接口的健壮性,如果保存元素的`move运算符`没有声明为`noexcept`,则在容器扩张搬移元素时不会使用`move机制`,而使用`copy机制`,带来性能损失的风险。如果一个函数不能抛出异常,或者一个程序并没有截获某个函数所抛出的异常并进行处理,那么这个函数可以用新的`noexcept`关键字对其进行修饰,表示这个函数不会抛出异常或者抛出的异常不会被截获并处理。例如: - -```cpp -extern "C" double sqrt(double) noexcept; // 永远不会抛出异常 - -// 即使可能抛出异常,也可以使用 noexcept -// 这里不准备处理内存耗尽的异常,简单地将函数声明为noexcept -std::vector MyComputation(const std::vector& v) noexcept -{ - std::vector res = v; // 可能会抛出异常 - // do something - return res; -} -``` - -**示例** - -```cpp -RetType Function(Type params) noexcept; // 最大的优化 -RetType Function(Type params); // 更少的优化 - -// std::vector 的 move 操作需要声明 noexcept -class Foo1 { -public: - Foo1(Foo1&& other); // no noexcept -}; - -std::vector a1; -a1.push_back(Foo1()); -a1.push_back(Foo1()); // 触发容器扩张,搬移已有元素时调用copy constructor - -class Foo2 { -public: - Foo2(Foo2&& other) noexcept; -}; - -std::vector a2; -a2.push_back(Foo2()); -a2.push_back(Foo2()); // 触发容器扩张,搬移已有元素时调用move constructor -``` - -**注意** -默认构造函数、析构函数、`swap`函数,`move操作符`都不应该抛出异常。 - -## 模板 - -模板能够实现非常灵活简洁的类型安全的接口,实现类型不同但是行为相同的代码复用。 - -模板编程的缺点: - -1. 模板编程所使用的技巧对于使用c++不是很熟练的人是比较晦涩难懂的。在复杂的地方使用模板的代码让人更不容易读懂,并且debug 和维护起来都很麻烦。 -2. 模板编程经常会导致编译出错的信息非常不友好: 在代码出错的时候, 即使这个接口非常的简单, 模板内部复杂的实现细节也会在出错信息显示. 导致这个编译出错信息看起来非常难以理解。 -3. 模板如果使用不当,会导致运行时代码过度膨胀。 -4. 模板代码难以修改和重构。模板的代码会在很多上下文里面扩展开来, 所以很难确认重构对所有的这些展开的代码有用。 - -所以, 建议__模板编程最好只用在少量的基础组件,基础数据结构上面__。并且使用模板编程的时候尽可能把__复杂度最小化__,尽量__不要让模板对外暴露__。最好只在实现里面使用模板, 然后给用户暴露的接口里面并不使用模板, 这样能提高你的接口的可读性。 并且你应该在这些使用模板的代码上写尽可能详细的注释。 - - -## 宏 -在C++语言中,我们强烈建议尽可能少使用复杂的宏 -- 对于常量定义,请按照前面章节所述,使用const或者枚举; -- 对于宏函数,尽可能简单,并且遵循下面的原则,并且优先使用内联函数,模板函数等进行替换。 - -```cpp -// 不推荐使用宏函数 -#define SQUARE(a, b) ((a) * (b)) - -// 请使用模板函数,内联函数等来替换。 -template T Square(T a, T b) { return a * b; } -``` - -如果需要使用宏,请参考C语言规范的相关章节。 -**例外**:一些通用且成熟的应用,如:对 new, delete 的封装处理,可以保留对宏的使用。 - -# 10 现代C++特性 - -随着 ISO 在2011年发布 C++11 语言标准,以及2017年3月发布 C++17 ,现代C++(C++11/14/17等)增加了大量提高编程效率、代码质量的新语言特性和标准库。 -本章节描述了一些可以帮助团队更有效率的使用现代C++,规避语言陷阱的指导意见。 - -## 代码简洁性和安全性提升 -### 建议10.1.1 合理使用`auto` -**理由** - -* `auto`可以避免编写冗长、重复的类型名,也可以保证定义变量时初始化。 -* `auto`类型推导规则复杂,需要仔细理解。 -* 如果能够使代码更清晰,继续使用明确的类型,且只在局部变量使用`auto`。 - -**示例** - -```cpp -// 避免冗长的类型名 -std::map::iterator iter = m.find(val); -auto iter = m.find(val); - -// 避免重复类型名 -class Foo {...}; -Foo* p = new Foo; -auto p = new Foo; - -// 保证初始化 -int x; // 编译正确,没有初始化 -auto x; // 编译失败,必须初始化 -``` - -auto 的类型推导可能导致困惑: - -```cpp -auto a = 3; // int -const auto ca = a; // const int -const auto& ra = a; // const int& -auto aa = ca; // int, 忽略 const 和 reference -auto ila1 = { 10 }; // std::initializer_list -auto ila2{ 10 }; // std::initializer_list - -auto&& ura1 = x; // int& -auto&& ura2 = ca; // const int& -auto&& ura3 = 10; // int&& - -const int b[10]; -auto arr1 = b; // const int* -auto& arr2 = b; // const int(&)[10] -``` - -如果没有注意 `auto` 类型推导时忽略引用,可能引入难以发现的性能问题: - -```cpp -std::vector v; -auto s1 = v[0]; // auto 推导为 std::string,拷贝 v[0] -``` - -如果使用`auto`定义接口,如头文件中的常量,可能因为开发人员修改了值,而导致类型发生变化。 - -### 规则10.1.1 在重写虚函数时请使用`override`或`final`关键字 -**理由** -`override`和`final`关键字都能保证函数是虚函数,且重写了基类的虚函数。如果子类函数与基类函数原型不一致,则产生编译告警。`final`还保证虚函数不会再被子类重写。 - -使用`override`或`final`关键字后,如果修改了基类虚函数原型,但忘记修改子类重写的虚函数,在编译期就可以发现。也可以避免有多个子类时,重写虚函数的修改遗漏。 - -**示例** - -```cpp -class Base { -public: - virtual void Foo(); - virtual void Foo(int var); - void Bar(); -}; - -class Derived : public Base { -public: - void Foo() const override; // 编译失败: Derived::Foo 和 Base::Foo 原型不一致,不是重写 - void Foo() override; // 正确: Derived::Foo 重写 Base::Foo - void Foo(int var) final; // 正确: Derived::Foo(int) 重写 Base::Foo(int),且Derived的派生类不能再重写此函数 - void Bar() override; // 编译失败: Base::Bar 不是虚函数 -}; -``` - -**总结** -1. 基类首次定义虚函数,使用`virtual`关键字 -2. 子类重写基类虚函数(包括析构函数),使用`override`或`final`关键字(但不要两者一起使用),并且不使用`virtual`关键字 -3. 非虚函数,`virtual`、`override`和`final`都不使用 - -### 规则10.1.2 使用`delete`关键字删除函数 -**理由** -相比于将类成员函数声明为`private`但不实现,`delete`关键字更明确,且适用范围更广。 - -**示例** - -```cpp -class Foo { -private: - // 只看头文件不知道拷贝构造是否被删除 - Foo(const Foo&); -}; - -class Foo { -public: - // 明确删除拷贝赋值函数 - Foo& operator=(const Foo&) = delete; -}; -``` - -`delete`关键字还支持删除非成员函数 - -```cpp -template -void Process(T value); - -template<> -void Process(void) = delete; -``` - -### 规则10.1.3 使用`nullptr`,而不是`NULL`或`0` -**理由** -长期以来,C++没有一个代表空指针的关键字,这是一件很尴尬的事: - -```cpp -#define NULL ((void *)0) - -char* str = NULL; // 错误: void* 不能自动转换为 char* - -void(C::*pmf)() = &C::Func; -if (pmf == NULL) {} // 错误: void* 不能自动转换为指向成员函数的指针 -``` - -如果把`NULL`被定义为`0`或`0L`。可以解决上面的问题。 - -或者在需要空指针的地方直接使用`0`。但这引入另一个问题,代码不清晰,特别是使用`auto`自动推导: - -```cpp -auto result = Find(id); -if (result == 0) { // Find() 返回的是 指针 还是 整数? - // do something -} -``` - -`0`字面上是`int`类型(`0L`是`long`),所以`NULL`和`0`都不是指针类型。 -当重载指针和整数类型的函数时,传递`NULL`或`0`都调用到整数类型重载的函数: - -```cpp -void F(int); -void F(int*); - -F(0); // 调用 F(int),而非 F(int*) -F(NULL); // 调用 F(int),而非 F(int*) -``` - -另外,`sizeof(NULL) == sizeof(void*)`并不一定总是成立的,这也是一个潜在的风险。 - -总结: 直接使用`0`或`0L`,代码不清晰,且无法做到类型安全;使用`NULL`无法做到类型安全。这些都是潜在的风险。 - -`nullptr`的优势不仅仅是在字面上代表了空指针,使代码清晰,而且它不再是一个整数类型。 - -`nullptr`是`std::nullptr_t`类型,而`std::nullptr_t`可以隐式的转换为所有的原始指针类型,这使得`nullptr`可以表现成指向任意类型的空指针。 - -```cpp -void F(int); -void F(int*); -F(nullptr); // 调用 F(int*) - -auto result = Find(id); -if (result == nullptr) { // Find() 返回的是 指针 - // do something -} -``` - -### 规则10.1.4 使用`using`而非`typedef` -在`C++11`之前,可以通过`typedef`定义类型的别名。没人愿意多次重复`std::map>`这样的代码。 - -```cpp -typedef std::map> SomeType; -``` - -类型的别名实际是对类型的封装。而通过封装,可以让代码更清晰,同时在很大程度上避免类型变化带来的散弹式修改。 -在`C++11`之后,提供`using`,实现`声明别名(alias declarations)`: - -```cpp -using SomeType = std::map>; -``` - -对比两者的格式: - -```cpp -typedef Type Alias; // Type 在前,还是 Alias 在前 -using Alias = Type; // 符合'赋值'的用法,容易理解,不易出错 -``` - -如果觉得这点还不足以切换到`using`,我们接着看看`模板别名(alias template)`: - -```cpp -// 定义模板的别名,一行代码 -template -using MyAllocatorVector = std::vector>; - -MyAllocatorVector data; // 使用 using 定义的别名 - -template -class MyClass { -private: - MyAllocatorVector data_; // 模板类中使用 using 定义的别名 -}; -``` - -而`typedef`不支持带模板参数的别名,只能"曲线救国": - -```cpp -// 通过模板包装 typedef,需要实现一个模板类 -template -struct MyAllocatorVector { - typedef std::vector> type; -}; - -MyAllocatorVector::type data; // 使用 typedef 定义的别名,多写 ::type - -template -class MyClass { -private: - typename MyAllocatorVector::type data_; // 模板类中使用,除了 ::type,还需要加上 typename -}; -``` - -### 规则10.1.5 禁止使用std::move操作const对象 -从字面上看,`std::move`的意思是要移动一个对象。而const对象是不允许修改的,自然也无法移动。因此用`std::move`操作const对象会给代码阅读者带来困惑。 -在实际功能上,`std::move`会把对象转换成右值引用类型;对于const对象,会将其转换成const的右值引用。由于极少有类型会定义以const右值引用为参数的移动构造函数和移动赋值操作符,因此代码实际功能往往退化成了对象拷贝而不是对象移动,带来了性能上的损失。 - -**错误示例:** -```cpp -std::string g_string; -std::vector g_stringList; - -void func() -{ - const std::string myString = "String content"; - g_string = std::move(myString); // bad:并没有移动myString,而是进行了复制 - const std::string anotherString = "Another string content"; - g_stringList.push_back(std::move(anotherString)); // bad:并没有移动anotherString,而是进行了复制 -} -``` - -## 智能指针 -### 规则10.2.1 优先使用智能指针而不是原始指针管理资源 -**理由** -避免资源泄露。 - -**示例** - -```cpp -void Use(int i) -{ - auto p = new int {7}; // 不好: 通过 new 初始化局部指针 - auto q = std::make_unique(9); // 好: 保证释放内存 - if (i > 0) { - return; // 可能 return,导致内存泄露 - } - delete p; // 太晚了 -} -``` - -**例外** -在性能敏感、兼容性等场景可以使用原始指针。 - -### 规则10.2.2 优先使用`unique_ptr`而不是`shared_ptr` -**理由** -1. `shared_ptr`引用计数的原子操作存在可测量的开销,大量使用`shared_ptr`影响性能。 -2. 共享所有权在某些情况(如循环依赖)可能导致对象永远得不到释放。 -3. 相比于谨慎设计所有权,共享所有权是一种诱人的替代方案,但它可能使系统变得混乱。 - -### 规则10.2.3 使用`std::make_unique`而不是`new`创建`unique_ptr` -**理由** -1. `make_unique`提供了更简洁的创建方式 -2. 保证了复杂表达式的异常安全 - -**示例** - -```cpp -// 不好:两次出现 MyClass,重复导致不一致风险 -std::unique_ptr ptr(new MyClass(0, 1)); -// 好:只出现一次 MyClass,不存在不一致的可能 -auto ptr = std::make_unique(0, 1); -``` - -重复出现类型可能导致非常严重的问题,且很难发现: - -```cpp -// 编译正确,但new和delete不配套 -std::unique_ptr ptr(new uint8_t[10]); -std::unique_ptr ptr(new uint8_t); -// 非异常安全: 编译器可能按如下顺序计算参数: -// 1. 分配 Foo 的内存, -// 2. 构造 Foo, -// 3. 调用 Bar, -// 4. 构造 unique_ptr. -// 如果 Bar 抛出异常, Foo 不会被销毁,产生内存泄露。 -F(unique_ptr(new Foo()), Bar()); - -// 异常安全: 调用函数不会被打断. -F(make_unique(), Bar()); -``` - -**例外** -`std::make_unique`不支持自定义`deleter`。 -在需要自定义`deleter`的场景,建议在自己的命名空间实现定制版本的`make_unique`。 -使用`new`创建自定义`deleter`的`unique_ptr`是最后的选择。 - -### 规则10.2.4 使用`std::make_shared`而不是`new`创建`shared_ptr` -**理由** -使用`std::make_shared`除了类似`std::make_unique`一致性等原因外,还有性能的因素。 -`std::shared_ptr`管理两个实体: -* 控制块(存储引用计数,`deleter`等) -* 管理对象 - -`std::make_shared`创建`std::shared_ptr`,会一次性在堆上分配足够容纳控制块和管理对象的内存。而使用`std::shared_ptr(new MyClass)`创建`std::shared_ptr`,除了`new MyClass`会触发一次堆分配外,`std::shard_ptr`的构造函数还会触发第二次堆分配,产生额外的开销。 - -**例外** -类似`std::make_unique`,`std::make_shared`不支持定制`deleter` - -## Lambda -### 建议10.3.1 当函数不能工作时选择使用`lambda`(捕获局部变量,或编写局部函数) -**理由** -函数无法捕获局部变量或在局部范围内声明;如果需要这些东西,尽可能选择`lambda`,而不是手写的`functor`。 -另一方面,`lambda`和`functor`不会重载;如果需要重载,则使用函数。 -如果`lambda`和函数都可以的场景,则优先使用函数;尽可能使用最简单的工具。 - -**示例** - -```cpp -// 编写一个只接受 int 或 string 的函数 -// -- 重载是自然的选择 -void F(int); -void F(const string&); - -// 需要捕获局部状态,或出现在语句或表达式范围 -// -- lambda 是自然的选择 -vector v = LotsOfWork(); -for (int taskNum = 0; taskNum < max; ++taskNum) { - pool.Run([=, &v] {...}); -} -pool.Join(); -``` - -### 规则10.3.1 非局部范围使用`lambdas`,避免使用按引用捕获 -**理由** -非局部范围使用`lambdas`包括返回值,存储在堆上,或者传递给其它线程。局部的指针和引用不应该在它们的范围外存在。`lambdas`按引用捕获就是把局部对象的引用存储起来。如果这会导致超过局部变量生命周期的引用存在,则不应该按引用捕获。 - -**示例** - -```cpp -// 不好 -void Foo() -{ - int local = 42; - // 按引用捕获 local. - // 当函数返回后,local 不再存在, - // 因此 Process() 的行为未定义! - threadPool.QueueWork([&]{ Process(local); }); -} - -// 好 -void Foo() -{ - int local = 42; - // 按值捕获 local。 - // 因为拷贝,Process() 调用过程中,local 总是有效的 - threadPool.QueueWork([=]{ Process(local); }); -} -``` - -### 建议10.3.2 如果捕获`this`,则显式捕获所有变量 -**理由** -在成员函数中的`[=]`看起来是按值捕获。但因为是隐式的按值获取了`this`指针,并能够操作所有成员变量,数据成员实际是按引用捕获的,一般情况下建议避免。如果的确需要这样做,明确写出对`this`的捕获。 - -**示例** - -```cpp -class MyClass { -public: - void Foo() - { - int i = 0; - - auto Lambda = [=]() { Use(i, data_); }; // 不好: 看起来像是拷贝/按值捕获,成员变量实际上是按引用捕获 - - data_ = 42; - Lambda(); // 调用 use(42); - data_ = 43; - Lambda(); // 调用 use(43); - - auto Lambda2 = [i, this]() { Use(i, data_); }; // 好,显式指定按值捕获,最明确,最少的混淆 - } - -private: - int data_ = 0; -}; -``` - -### 建议10.3.3 避免使用默认捕获模式 -**理由** -lambda表达式提供了两种默认捕获模式:按引用(&)和按值(=)。 -默认按引用捕获会隐式的捕获所有局部变量的引用,容易导致访问悬空引用。相比之下,显式的写出需要捕获的变量可以更容易的检查对象生命周期,减小犯错可能。 -默认按值捕获会隐式的捕获this指针,且难以看出lambda函数所依赖的变量是哪些。如果存在静态变量,还会让阅读者误以为lambda拷贝了一份静态变量。 -因此,通常应当明确写出lambda需要捕获的变量,而不是使用默认捕获模式。 - -**错误示例** -```cpp -auto func() -{ - int addend = 5; - static int baseValue = 3; - - return [=]() { // 实际上只复制了addend - ++baseValue; // 修改会影响静态变量的值 - return baseValue + addend; - }; -} -``` - -**正确示例** -```cpp -auto func() -{ - int addend = 5; - static int baseValue = 3; - - return [addend, baseValue = baseValue]() mutable { // 使用C++14的捕获初始化拷贝一份变量 - ++baseValue; // 修改自己的拷贝,不会影响静态变量的值 - return baseValue + addend; - }; -} -``` - -参考:《Effective Modern C++》:Item 31: Avoid default capture modes. - -## 接口 -### 建议10.4.1 不涉及所有权的场景,使用`T*`或`T&`作为参数,而不是智能指针 -**理由** -1. 只在需要明确所有权机制时,才通过智能指针转移或共享所有权. -2. 通过智能指针传递,限制了函数调用者必须使用智能指针(如调用者希望传递`this`)。 -3. 传递共享所有权的智能指针存在运行时的开销。 - -**示例** - -```cpp -// 接受任何 int* -void F(int*); - -// 只能接受希望转移所有权的 int -void G(unique_ptr); - -// 只能接受希望共享所有权的 int -void G(shared_ptr); - -// 不改变所有权,但需要特定所有权的调用者 -void H(const unique_ptr&); - -// 接受任何 int -void H(int&); - -// 不好 -void F(shared_ptr& w) -{ - // ... - Use(*w); // 只使用 w -- 完全不涉及生命周期管理 - // ... -}; -``` - diff --git a/docs-en/Readme-EN.md b/docs-en/Readme-EN.md index 3ffdd9ed18f..936108a6340 100755 --- a/docs-en/Readme-EN.md +++ b/docs-en/Readme-EN.md @@ -1,6 +1,8 @@ # Documents for OpenHarmony Developers -This project provides documents including the quick start, development guide, and API reference, Welcome to participate in the open source project and improve these documents for developers. +This project provides documentation including the quick start, development guide, and API reference, Welcome to participate in the open source project and improve these documentation for developers. + +[中文版本](/Readme-CN.md) ## Directory Structure @@ -17,11 +19,13 @@ This project provides documents including the quick start, development guide, an - contribute: [Contribution](contribute/contribution.md) - term: [Glossary](term/Glossary.md) -## Contribution +## Contributors & Acknowledgements -You are welcome to contribute to documentation. You are recommended to offer feedback and contribution in various ways. +Great Opensource project wouldn't exist without the hard work of its many contributors. +We'd like to invite anyone from around the world to participate in this exciting journey. +And we're grateful for your time, passion and efforts! -You can evaluate existing documents, make simple changes, provide feedback on document quality, and contribute your original content. For details, see [Contributing Documents](contribute/documentation-contribution.md). +For more details on how to contribute, see [Contributing Documents](contribute/documentation-contribution.md). Excellent contributors will be awarded and publicized in the developer community. diff --git a/docs-en/bundles/Readme-EN.md b/docs-en/bundles/Readme-EN.md index c049d8411fd..8b17093e4ca 100755 --- a/docs-en/bundles/Readme-EN.md +++ b/docs-en/bundles/Readme-EN.md @@ -1,15 +1,15 @@ # Bundle Development -- [Development Guidelines](development-guidelines.md) - - [Overview](overview.md) - - [Preparations](preparations.md) - - [Bundle Development](bundle-development.md) - - [Development Specifications](development-specifications.md) - - [Overview](overview-0.md) + - [Overview](overview.md) - [Bundle Composition](bundle-composition.md) - [Bundle Management](bundle-management.md) - [Bundle Version](bundle-version.md) - [Distribution](distribution.md) - [Environment Variables](environment-variables.md) +- [Development Guidelines](development-guidelines.md) + - [Overview](overview-0.md) + - [Preparations](preparations.md) + - [Bundle Development](bundle-development.md) + diff --git a/docs-en/bundles/bundle-development.md b/docs-en/bundles/bundle-development.md index 587d1795bd2..84f71198aa5 100755 --- a/docs-en/bundles/bundle-development.md +++ b/docs-en/bundles/bundle-development.md @@ -9,7 +9,7 @@ You have an option to use any of the following methods to develop an OpenHarmony - Use HPM-provided bundle templates to quickly develop a bundle. -## Creating a Bundle +## h2Creating a Bundle Generally, you can find commonly used bundles on the [HPM](https://hpm.harmonyos.com/#/en/home) website. If they cannot meet your requirements, you can develop your own bundles. @@ -37,7 +37,7 @@ mybundle Then, complete your coding based on service requirements. Finally, use **git** to commit your code \(including the **bundle.json** file\) to the code hosting repository, such as gitee. -## Modifying a Bundle +## h2Modifying a Bundle If you have code unqualified for the OpenHarmony bundle structure, modify your code to match an HPM bundle. In the code directory \(for example, **mybundle2**\) storing your code, run the following command with the bundle name and version specified: @@ -90,7 +90,7 @@ hpm init ``` -## Using HPM-provided Template to Create a Bundle +## h2Using HPM-provided Template to Create a Bundle The HPM provides **default** and **simple** templates as well as other templates that are stored on the server. @@ -112,7 +112,7 @@ hpm init -t {templatename} -d dir name After completing code development, you need to build the bundle. The HPM supports command integration so that you can select any build tool \(such as **make**, **gcc**, and **gn**\) suitable for your project. You only need to define the **build** command in the **scripts** in the **bundle.json** file of your project, and then you run the hpm command **build** to perform building. -## Defining the Building Script +## h2Defining the Building Script This section uses how to build an executable file **helloworld** in the **app** directory as an example. @@ -150,7 +150,7 @@ executable("hello_world") { >- **executable** is a built-in template of **gn**. You can run the **gn help executable** command to view how to use this template. >- **sources** represents the source code path, and **include\_dirs** represents the header file path. -## Executing the Building Script +## h2Executing the Building Script Run the following command: @@ -166,7 +166,7 @@ After all building operations are complete, the message "build succeed" is displ A distribution refers to an image file of an executable OpenHarmony solution composed of a group of bundles. It contains many dependent bundles and provides scripts to illustrate how to compile and link these bundles. -## Defining Scripts +## h2Defining Scripts Define scripts in **bundle.json** as follows: @@ -190,7 +190,7 @@ Define scripts in **bundle.json** as follows: } ``` -## Distributing +## h2Distributing Run the following command in the current distribution directory: diff --git a/docs-en/bundles/bundle-management.md b/docs-en/bundles/bundle-management.md index 70cece9879e..2e1ec4d4883 100755 --- a/docs-en/bundles/bundle-management.md +++ b/docs-en/bundles/bundle-management.md @@ -214,7 +214,7 @@ You can use the hpm-cli tool to manage the lifecycle of a bundle. The following

hpm gen-keys

-

Generates a public-private key pair and configures the public key on the hpm server to enable hpm-cli.

+

Generates a public-private key pair and configures the public key on the hpm server, achieving password-free hpm-cli login for bundle publishing.

Generating third-party open source notice

diff --git a/docs-en/bundles/development-guidelines.md b/docs-en/bundles/development-guidelines.md index c93e0d648cf..382f907feff 100755 --- a/docs-en/bundles/development-guidelines.md +++ b/docs-en/bundles/development-guidelines.md @@ -1,6 +1,6 @@ # Development Guidelines -- **[Overview](overview.md)** +- **[Overview](overview-0.md)** - **[Preparations](preparations.md)** diff --git a/docs-en/bundles/development-specifications.md b/docs-en/bundles/development-specifications.md index af2eec9dbdd..65c4502c9e0 100755 --- a/docs-en/bundles/development-specifications.md +++ b/docs-en/bundles/development-specifications.md @@ -1,6 +1,6 @@ # Development Specifications -- **[Overview](overview-0.md)** +- **[Overview](overview.md)** - **[Bundle Composition](bundle-composition.md)** diff --git a/docs-en/bundles/overview-0.md b/docs-en/bundles/overview-0.md index da961065816..30513906bf6 100755 --- a/docs-en/bundles/overview-0.md +++ b/docs-en/bundles/overview-0.md @@ -1,34 +1,54 @@ -# Overview - -This document describes the basic concepts of a bundle and how to define it in compliance with specifications. - -## Definition - -OpenHarmony software is developed on a per-bundle basis. In terms of the operating system, all software running on OpenHarmony are bundles. Generally, bundles are classified into the following types based on their application scopes: - -- Board-level bundles: device hardware-specific bundles, such as **board**, **arch**, and **mcu** -- System-level bundles: a set of bundles with independent features, such as the kernel, file system, and framework -- Application-level bundles: applications that provide services to users, such as **wifi\_iot** and **ip\_camera** - -Bundles are designed for the reuse purpose. Any reusable modules can be defined as bundles. They are classified into the following types based on their forms: - -- Source code -- Binary system -- Code snippet -- Distribution - -## Bundle Division Principles - -In principle, bundles should be grouped at a fine-grained granularity as much as possible to achieve maximum reuse. The following factors are taken into account regarding bundle division: - -- Independence: Bundles provide relatively independent features and can be independently compiled. Each of them is capable of providing its own APIs and services for external systems. -- Coupling: If a bundle must depend on another bundle to provide services, they can be coupled to one bundle. -- Correlation: If a group of bundles jointly implement a feature, and if other bundles never depend on them, the group of bundles can be combined into one bundle. - -## Bundle Dependency - -A bundle dependency can be mandatory or optional. - -- Mandatory dependency: If bundle A must depend on bundle B to implement a feature, that is, the APIs or services specific to bundle B must be invoked, then bundle B is defined as the mandatory dependency of bundle A. -- Optional dependency: If either bundle C or bundle D is required for bundle A to implement a feature, and if bundle C and bundle D are interchangeable, then bundle C and bundle D are defined as optional dependencies of bundle A. +# Overview + +This document describes how to develop OpenHarmony bundles and distributions, and how to create, develop, and build code, as well as burn and debug devices by using a command line tool. + +- A bundle usually maps onto a code repository, which is a code archive with the **bundle.json**, **README**, and **LICENSE** files. +- A distribution consists of multiple bundles. Each distribution integrates various bundles of a comprehensive system, such as the driver, kernel, framework, and applications. These bundles can be used for device burning. + +**Table 1** Differences between a bundle and a distribution + + + + + + + + + + + + + + + + + + + + + + + + +

Aspect

+

Bundle

+

Distribution

+

Application scenario

+

Feature-oriented

+

System-oriented

+

Content

+

Codes or a binary library for implementing features

+

List of dependent bundles as well as their compiling and building scripts

+

Integrity

+

A part of the operating system

+

An entire operating system

+

Compilation result

+

Bundles

+

System image

+
+ +**Figure 1** Composition of bundles and distributions + + +![](figures/en-us_image_0000001054663940.png) diff --git a/docs-en/bundles/overview.md b/docs-en/bundles/overview.md index 30513906bf6..da961065816 100755 --- a/docs-en/bundles/overview.md +++ b/docs-en/bundles/overview.md @@ -1,54 +1,34 @@ -# Overview - -This document describes how to develop OpenHarmony bundles and distributions, and how to create, develop, and build code, as well as burn and debug devices by using a command line tool. - -- A bundle usually maps onto a code repository, which is a code archive with the **bundle.json**, **README**, and **LICENSE** files. -- A distribution consists of multiple bundles. Each distribution integrates various bundles of a comprehensive system, such as the driver, kernel, framework, and applications. These bundles can be used for device burning. - -**Table 1** Differences between a bundle and a distribution - - - - - - - - - - - - - - - - - - - - - - - - -

Aspect

-

Bundle

-

Distribution

-

Application scenario

-

Feature-oriented

-

System-oriented

-

Content

-

Codes or a binary library for implementing features

-

List of dependent bundles as well as their compiling and building scripts

-

Integrity

-

A part of the operating system

-

An entire operating system

-

Compilation result

-

Bundles

-

System image

-
- -**Figure 1** Composition of bundles and distributions - - -![](figures/en-us_image_0000001054663940.png) +# Overview + +This document describes the basic concepts of a bundle and how to define it in compliance with specifications. + +## Definition + +OpenHarmony software is developed on a per-bundle basis. In terms of the operating system, all software running on OpenHarmony are bundles. Generally, bundles are classified into the following types based on their application scopes: + +- Board-level bundles: device hardware-specific bundles, such as **board**, **arch**, and **mcu** +- System-level bundles: a set of bundles with independent features, such as the kernel, file system, and framework +- Application-level bundles: applications that provide services to users, such as **wifi\_iot** and **ip\_camera** + +Bundles are designed for the reuse purpose. Any reusable modules can be defined as bundles. They are classified into the following types based on their forms: + +- Source code +- Binary system +- Code snippet +- Distribution + +## Bundle Division Principles + +In principle, bundles should be grouped at a fine-grained granularity as much as possible to achieve maximum reuse. The following factors are taken into account regarding bundle division: + +- Independence: Bundles provide relatively independent features and can be independently compiled. Each of them is capable of providing its own APIs and services for external systems. +- Coupling: If a bundle must depend on another bundle to provide services, they can be coupled to one bundle. +- Correlation: If a group of bundles jointly implement a feature, and if other bundles never depend on them, the group of bundles can be combined into one bundle. + +## Bundle Dependency + +A bundle dependency can be mandatory or optional. + +- Mandatory dependency: If bundle A must depend on bundle B to implement a feature, that is, the APIs or services specific to bundle B must be invoked, then bundle B is defined as the mandatory dependency of bundle A. +- Optional dependency: If either bundle C or bundle D is required for bundle A to implement a feature, and if bundle C and bundle D are interchangeable, then bundle C and bundle D are defined as optional dependencies of bundle A. diff --git a/docs-en/bundles/preparations.md b/docs-en/bundles/preparations.md index b7471893cb7..3a0750c1411 100755 --- a/docs-en/bundles/preparations.md +++ b/docs-en/bundles/preparations.md @@ -54,15 +54,15 @@ login = https://hpm.harmonyos.com/hpm/auth/pk # Configure t loginUser = {your-account} # Configure the account for HPM login, mandatory for publishing bundles. shellPath = C:\WINDOWS\System32\cmd.exe # Configure the shell for running HPM commands. globalRepo = C:\Users\yourname\.global # Configure the path for storing bundles that are installed globally. -http_proxy = http://your-proxy-server:port # Configure the HTTP proxy. -https_proxy = http://your-proxy-server:port # Configure the HTTPS proxy. +http_proxy = http://your-proxy-server:port # Configure the HTTP proxy. +https_proxy = http://your-proxy-server:port # Configure the HTTPS proxy. ``` For details about **hpm-cli** commands, see [HPM Commands](bundle-management.md#table10510164515371). ## Downloading OpenHarmony Code -For details, see [Source Code Acquisition](../get-code/source-code-acquisition.md). +For details, see . ## Installing Dependent Bundles diff --git a/docs-en/contribute/OpenHarmony-JavaScript-coding-style-guide.md b/docs-en/contribute/OpenHarmony-JavaScript-coding-style-guide.md new file mode 100644 index 00000000000..53b6072170d --- /dev/null +++ b/docs-en/contribute/OpenHarmony-JavaScript-coding-style-guide.md @@ -0,0 +1,759 @@ +# JavaScript Coding Style Guide + +## Goal +Rules are not perfect. Prohibiting features that are useful in specific situations can have an impact on code implementation, but we set the rules for the benefit of most programmers. If we identify a rule cannot be followed in the operations, we should work together to improve the rule. You are supposed to have the basic JavaScript language capabilities to refer to this guide, instead of learning the JavaScript language from it. + +## General Principles +The code is required to be **readable, maintainable, secure, reliable, testable, efficient, and portable ** on the premise that the functions are correct. + +## Convention + +**Rule**: Conventions that must be complied with during programming +**Recommendation**: Conventions that must be considered during programming + +It is important to understand why this convention is so stated in both "Rules" or "Recommendations" and make efforts to comply. + +## Exceptions + +If the General Principle is not violated, the rules can be properly violated after full consideration and sufficient reasons are provided. +Exceptions compromise code consistency so please avoid exceptions. Exceptions to "Rules" should be rare. + +The style consistency principle is preferred in the following situations: +**When modifying external open-source code and third-party code, comply with the existing rules of the open-source code and third-party code and keep the style consistent. ** + +## Programming Regulations + +### Naming Regulations + +#### Rule 1.1 Use correct English spellings to name, no use of pinyin spellings. + +**Counterexample:**`xingming`,`zhanghao` + +**Example:**`username`,`account` + +#### Rule 1.2 Use abbreviations as few as possible, except for common words or professional words. For example, `context` can be shortened to `ctx`, `request` can be shortened to `req`, and `response` can be shortened to `resp`. + +**Note:** Complete spelling of words can avoid unnecessary misunderstanding. + +**Exceptions:** The variable name of the cyclic condition can be ` i` or ` j` in the cyclic language. + +#### Rule 1.3 Class name, enumeration name and namespace name should comply the `upperCamelCase` style. + +**Example:** + +```javascript +// Class name +class User { + constructor(username) { + this.username = username; + } + + sayHi() { + console.log(`hi, ${this.username}`); + } +} + +// Enumeration name +const UserType = { + TEACHER: 0, + STUDENT: 1 +}; + +// Namespace +const Base64Utils = { + encrypt: function(text) { + // todo encrypt + }, + decrypt: function(text) { + // todo decrypt + } +}; +``` + +#### Rule 1.4 Variable name, method name, and parameter name should comply the `lowerCamelCase` style. + +**Example:** + +```javascript +let msg = 'Hello world'; + +function sendMsg(msg) { + // todo send message +} + +function findUser(userID) { + // todo find user by user ID +} +``` + +#### Rule 1.5 The names of static constants and enumeration values must be in upper case, and words are separated by underscores (_). + +**Example:** + +```javascript +const MAX_USER_SIZE = 10000; + +const UserType = { + TEACHER: 0, + STUDENT: 1 +}; +``` + +#### Recommendation 1.6 Do not use negative Boolean variable names. Local variables or methods of the Boolean type must be prefixed with expressions with the meaning of right or wrong. + +**Counterexample:** + +```javascript +let isNoError = true; +let isNotFound = false; +function empty() {} +function next() {} +``` + +**Example:** + +```javascript +let isError = false; +let isFound = true; +function isEmpty() {} +function hasNext() {} +``` + +### Code Format + +#### Rule 2.1 Use two spaces to indent, and do not use the `tab` character. + +**Note:** Only spaces are allowed for indentation. Two spaces are allowed at a time. Tab characters are not allowed for indentation. + +**Example:** + +```javascript +const dataSource = [ + { + id: 1, + title: 'Title 1', + content: 'Content 1' + }, + { + id: 2, + title: 'Title 2', + content: 'Content 2' + } +]; + +function render(container, dataSource) { + if (!container || !dataSource || !dataSource.length) { + return void 0; + } + + const fragment = document.createDocumentFragment(); + for (let data of dataSource) { + if (!data || !data.id || !data.title || !data.content) { + continue; + } + const element = document.createElement("div"); + const textNode = document.createTextNode(`${data.title}: ${data.content}`); + element.appendChild(textNode); + element.setAttribute("id", data.id); + fragment.appendChild(element); + } + container.appendChild(fragment); +} + +``` + +#### Rule 2.2 The line width cannot exceed 120 characters. + +**Note:** It is recommended that each line should contain no more than 120 characters. Use a proper method to break the line if the line contain more than 120 characters. + +**Exception:** If a line of comments contains more than 120 characters of commands or URLs, keep it in one line for easy copying, pasting, and searching by running the grep command. The preprocessed error information is easy to read and understand in one line, even if it contains more than 120 characters. + +#### Rule 2.3 The use of braces must comply with the following conventions: + +1. If the value in the braces is empty, the value can be abbreviated as `{}` without a newline. +2. The left braces do not contain a line feed, and the left braces are followed by a line feed. +3. Line feeds before the right brace. If there is `else` or `catch` after the brace, line feeds are not required. In other cases, line feeds are required. + +#### Rule 2.4 Implementations of conditional and loop statements must be enclosed in braces, even if there is only one statement. + +**Counterexample:** + +```javascript +if (condition) + console.log('success'); + +for(let idx = 0; idx < 5; ++idx) + console.log(idx); +``` + +**Example:* + +```javascript +if (condition) { + console.log('success'); +} + +for(let idx = 0; idx < 5; ++idx) { + console.log(idx); +} +``` + +#### Rule 2.5 Condition statements and loop statements cannot be written in one line. + +**Counterexample:** + +```javascript +if (condition) { /* todo something */ } else { /* todo other */ } + +let idx = 0; +while(idx < 10) console.log(idx); +``` + +**Example:** + +```javascript +if (condition) { + /* todo something */ +} else { + /* todo other */ +} + +let idx = 0; +while(idx < 10) { + console.log(idx); +} +``` + +#### Rule 2.6 The `case` and `default` in the `switch` statement must be indented by one layer. + +**Example:** + +```javascript +switch(condition) { + case 0: + doSomething(); + break; + case 1: { // the braces is not necessary + doOtherthing(); + break; + } + default: + break; +} +``` + +#### Rule 2.7 The line feeds of expressions must be consistent, and the operator must be placed at the end of the line. + +**Note:** If a long expression does not meet the line width requirement, you need to wrap the line in a proper position. Generally, in the late phrase of the lower-priority operator or connector, the operator or connector should be placed at the end of the line. The operator and separator are placed at the end of the line, indicating that there is not the end. + +**Example:** + +```javascript +// if the condition statement exceeds the line width. +if (userCount > MAX_USER_COUNT || + userCount < MIN_USER_COUNT) { + doSomething(); +} + +const sum = + number1 + + number2 + + number3 + + number4 + + number5 + + number6 + + number7 + + number8 + + number9; +``` + +#### Rule 2.8 Multiple variable definitions and assignment statements cannot be written in one line. + +**Counterexample:** + +```javascript +let maxCount = 10, isCompleted = false; + +let pointX, pointY; +pointX = 10; pointY = 0; +``` + +**Example:** + +```javascript +let maxCount = 10; +let isCompleted = false; + +let pointX = 0; +let pointY = 0; +``` + +#### Rule 2.9 Spaces should highlight keywords and important information. Avoid unnecessary spaces. + +**Note:** Spaces reduce code density and increase code readability. The general rules are as follows: + +1. Add a spaces after keywords `if`、`elseif`、`else`、`switch`、`while`、`for`. +2. No space is added between the parentheses. +3. Spaces must be added on both sides of the braces, except for simple scenarios such as `{}`. +4. No space is added between multiple parentheses. +5. No space is added after unary operators (`&`, `*`, `+`, `-`, `!`,etc.). +6. Add a space on the left and right side of binary operators `=`、`+`、`-`、`*`、`/`、`%`、`|`、`&`、`||`、`&&`、`<`、`>`、`<=`、`>=`、`==`、`!=`、`===`、`!==`, etc.) +7. Add a space on the left and right side of ternary operator (`?: `). +8. No space is added between the preceded or post-decrease (`++`, `--`) and variables. +9. Add a space before a comma (`, `). +10. Add a space after `//` in a single line. +11. No space is added at the end of the line. + +#### Rule 2.10 Expression statements must end with a semicolon. + +**Counterexample:** + +```javascript +let username = 'jack' +let birthday = '1997-09-01' + +console.log(`${username}'s birthday is ${birthday}`) +``` + +**Example:** + +```javascript +let username = 'jack'; +let birthday = '1997-09-01'; + +console.log(`${username}'s birthday is ${birthday}`); +``` + +#### Recommendation 2.11 Use single quotation marks to wrap strings first. + +**Example:** + +```javascript +let message = 'wolrd'; +console.log(message); +``` + +### Code instructions + +#### Rule 3.1 When declaring a variable, use the keyword `var`, `let`, or `const` to prevent the variable from being exposed to the global scope. + +** Note:** If the keyword `var`, `let`, or `const` is not used to declare a variable, the variable will be exposed to the global scope, which may overwrite the variable with the same name in the global scope. As a result, the GC cannot effectively reclaim the memory. In addition, when a variable contains sensitive information, exposuring to the global scope may result in information leakage. ** Use `const` instead of `var` for all references; Use `let` instead of `var` if you need a variable reference.** Because the scope of `const` and `let` is smaller, writing code is easier to control. Const ensures that the reference cannot be re-assigned. The pointer referenced by const is immutable, and an error will be reported during re-assignment, avoiding overwriting. + +**Counterexample:** + +```javascript +function open() { + url = 'http://127.0.0.1:8080'; //url will be exposed to the global scope + //todo something +} +open(); +console.log(url); //url can be accessed, output: http://127.0.0.1:8080 +``` + +**Example:** + +```javascript +// ES5.1 Using var to declare variables +function open() { + var url = 'http://127.0.0.1:8080'; + // todo something +} +open(); +console.log(url); //Report: Uncaught ReferenceError: url is not defined +``` + +```javascript +// In ES6, the let and const keywords are preferred to declare variables. +function open() { + const url = 'http://127.0.0.1:8080'; + //todo something +} +open(); +console.log(url); //Report: Uncaught ReferenceError: url is not defined +``` + +#### Rule 3.2 Function expressions must be used to declare functions in function blocks. + +** Note:** Although many JS engines support in-block declaration functions, they do not belong to the ECMAScript specification. The poor implementation of browsers is incompatible with each other, and some are contrary to the future ECMAScript draft. In addition, ECMAScript5 does not support block scopes. All control flows are not independent scopes. Variables or functions declared in the control flows are in the scope of their parent functions or scripts. As a result, the declaration of functions or variables in blocks may be overwritten. If you do need to define a function in a block, you should initialize it using a function expression. + +**Counterexample:** + +```javascript +function bar(name) { + if (name === "hotel") { + // 1. Define a foo function. The function scope is not the 'if' code block but the 'bar' function scope. + function foo() { + console.log("hotel foo A"); + } + } else { + // 2. Define the 'foo' function again to overwrite the 'foo' function definition under the 'if' condition branch. + function foo() { + console.log("hotel foo 2"); + } + } + foo && foo(); +} +bar("hotel"); // output is shown as"hotel foo 2" +``` + +**Example:** + +```javascript +function bar(name) { + var foo; + if (name == "hotel") { + foo = function () { + console.log("hotel foo 1"); + }; + } else { + foo = function () { + console.log("hotel foo 2"); + } + } + foo && foo(); +} +bar("hotel"); // Correct output"hotel foo 1" +``` + +#### Rule 3.3 Encapsulation of Basic Types is prohibited + +** Note:** JavaScript has five basic data types: Undefined, Null, Boolean, Number, and String. The value of the base data type is unchangeable. The basic data type object used in JavaScript is only a value. It does not contain the methods and attributes of the object encapsulated by the object. When the attributes and methods are not required, the encapsulation type of the object does not need to be used. + +**Counterexample:** + +```javascript +var isShow = new Boolean(false); +if (isShow) { + alert('hi'); //It is executed, and the following information is displayed: hi +} +``` + +**Example:** + +```javascript +var isShow = false; +if (isShow) { + alert('hi'); +} +``` + +#### Rule 3.4 The use of `with` is prohibited + +**Note:** Using 'with' makes your code semantically unclear, because objects of 'with' may conflict with local variables, changing the original meaning of the program. + +**Counterexample:** + +```javascript +var foo = { x: 5 }; +with(foo) { + var x = 3; + console.log(x); //Output: 5 +} +``` + +#### Rule 3.5 `this` can only be used in object constructors, methods, and closures. + +**Note:** In JavaScript, the "this" pointer represents the owner of the object that executes the current code. This has special semantics: + ++ Global objects (in most cases) ++ Scope of the caller (when eval is used) ++ Nodes in the DOM tree (when adding event handling functions) ++ Newly created object (using a constructor) ++ Other objects (if the function is called() or apply()) + +```javascript +var User = function(username) { + this.username = username; +}; +var user = new User('John'); +console.log(user.username); // Output: John + +var ClickCounter = { + value: 0, + click: function() { + ++this.value; + }, + getValue() { + return this.value; + } +}; +console.log(Counter.getValue()); //Output: 0 +Counter.click(); +console.log(Counter.getValue()); //Output: 1 +``` + +#### Rule 3.6 Do not use conditional comments in IE. + +**Note:** Conditional compilation can be activated using the `\@cc_on` statement or the `\@if` or `\@set` statement in IE. Although comments can be made to be compatible with browsers other than IE, they hinder the execution of automation tools because they change the JavaScript syntax tree at run time. + +**Counterexample:** + +```javascript +var f = function () { + /*@cc_on @*/ + /*@if (@_jscript_version >= 4) + alert("JavaScript version 4 or better"); + @else @*/ + alert("Conditional compilation not supported by this scripting engine."); + /*@end @*/ +}; +``` + +#### Rule 3.7 Prototypes of built-in objects cannot be modified. + +**Note:** As a set of public interfaces, built-in objects have conventional behaviors. Modifying the prototype may damage the interface semantics or cause abnormalities during debugging. + +**Counterexample:** + +```javascript +Array.prototype.indexOf = function () { return -1 } +var arr = [1, 1, 1, 1, 1, 2, 1, 1, 1]; +console.log(aar.indexOf(2)); // Output:-1 +``` + +#### Rule 3.8 Do not directly use the built-in attribute of `Object.prototype`. + +**Note:** ECMAScript 5.1 adds `Object.create`, which creates a new object and uses an existing object to provide the proto of the newly created object. `Object.create(null)` is a common pattern for creating objects used as maps. Unexpected behavior or vulnerability may occur when the object has an attribute with the same name as `Object.prototype`. For example, it is not safe for a web server to parse JSON input from a client and use `hasOwnProperty` to directly invoke the generated object, because a malicious client may send a similar JSON value `' {"hasOwnProperty": 1} '` and cause the server to crash. + +**Counterexample:** + +```javascript +var hasBarProperty = foo.hasOwnProperty("bar"); +var isPrototypeOfBar = foo.isPrototypeOf(bar); +var barIsEnumerable = foo.propertyIsEnumerable("bar"); +``` + +**Example:** + +```javascript +var hasBarProperty = Object.prototype.hasOwnProperty.call(foo, "bar"); +var isPrototypeOfBar = Object.prototype.isPrototypeOf.call(foo, bar); +var barIsEnumerable = {}.propertyIsEnumerable.call(foo, "bar"); +``` + +#### Rule 3.9 Use the `Object.getPrototypeOf` function instead of `_proto_` + +**Note:** ES5 introduces the `Object.getPrototypeOf' function as the standard API for obtaining object prototypes, but a large number of JavaScript engines have long used a special `proto' attribute to achieve the same purpose. However, `proto' is essentially an internal attribute rather than a formal external API. Currently, this attribute must be deployed in browsers, but not in other running environments. Therefore, this attribute is not fully compatible. For example, objects with null prototypes are handled differently in different environments. + +```javascript +var empty = Object.create(null); +"_proto_" in empty; //Some environments false is returned, some environments true is returned. +``` + +Therefore, use `Object.getPrototypeOf()` instead of using the proto attribute in terms of semantics and compatibility. The `Object.getPrototypeOf' function is valid in any environment and is a more standard and portable method for extracting object prototypes. + +#### Rule 3.10 Do not create functions with function constructors. + +**Note:** There are three methods for defining a function: function declaration, function constructor, and function expression. Regardless of in which method you define a function, they are instances of the Function object and inherit all default or custom methods and properties of the Function object. The method of creating a function using a function constructor is similar to the character string `eval()`. Any character string can be used as the function body, which may cause security vulnerabilities. + +**Counterexample:** + +```javascript +var func = new Function('a', 'b', 'return a + b'); +var func2 = new Function('alert("Hello")'); +``` + +**Example:** + +```javascript +function func(a, b) { + return a + b; +} + +var func2 = function(a, b) { + return a + b; +} +``` + +#### Suggestion 3.11 When using the prototype `prototype' to implement inheritance, try to use the existing stable library methods instead of self-implementing them. + +**Note:** The multi-level prototype structure refers to the inheritance relationship in JavaScript. When you define a class D and use class B as its prototype, you get a multilevel prototype structure. These prototype structures can get complicated. Using existing stable library methods such as `goog.inherits()` of the Closure library or other similar functions can avoid unnecessary coding errors. + +#### Suggestion 3.12 When defining a class, you should define the method under the prototype and the attributes within the constructor. + +**Note:** There are multiple methods in JavaScript to add methods or members to constructors. However, using a prototype to define methods can reduce memory usage and improve running efficiency. + +**Counterexample:** + +```javascript +function Animals() { + this.walk = function() {}; // This causes a walk method to be created on each instance. +} +``` + +**Example:** + +```javascript +function Animals() {} + +Animals.prototype.walk = function() {}; +``` + +#### Suggestion 3.13 When using closures, avoid cyclic reference, which may cause memory leakage. + +**Note:** +JavaScript is a garbage collection language in which the memory of an object is allocated to the object based on its creation and is reclaimed by the browser when there is no reference to the object. JavaScript's garbage collection mechanism is fine on its own, but browsers are somewhat different in the way they allocate and recover memory for DOM objects. Both IE and Firefox use reference counting to process memory for DOM objects. In the reference counting system, each referenced object keeps a count to see how many objects are referencing it. If the count is zero, the object is destroyed and the memory it occupies is returned to the heap. While this solution is generally effective, there are some blind spots in circular references. When two objects refer to each other, they form a circular reference, where the reference counting values of the objects are assigned to 1. In pure garbage collection systems, circular references are not a problem: if one of the two objects involved is referenced by any other object, both objects will be garbage collected. In a reference counting system, neither of these objects can be destroyed because reference counting can never be 0. In a hybrid system that uses both garbage collection and reference counting, a leak occurs because the system does not correctly recognize circular references. In this case, neither the DOM object nor the JavaScript object can be destroyed. Circular references are easy to create. Circular references are particularly prominent in closures, one of JavaScript's most convenient programming structures. Closures hold references to their external scopes (including local variables, parameters, and methods). When the closure itself is held by scope members (usually DOM objects), circular references are formed, which further leads to memory leaks. + +**Counterexample:** + +```javascript +function setClickListener(element, a, b) { + element.onclick = function() { + // Use a and b here + }; +}; +``` + +In the above code, the closure retains references to elements, a, and b even if element is not used. Because the element also retains the reference to the closure, a circular reference is generated and cannot be recycled by the GC. + +**Example:** + +```javascript +function setClickListener(element, a, b) { + element.onclick = createHandler(a, b); +} + +function createHandler(a, b) { + // 通过添加另外一个函数来避免闭包本身,进而组织内存泄露 + return function() { + // 在这里用到a和b + } +} +``` + +#### Suggestion 3.14 Watch out for JavaScript floating point numbers. + +**Note:** JavaScript has a single numeric type: `IEEE 754` double-precision floating point number. Having a single numeric type is one of the best features of JavaScript. Multiple number types can be a source of complexity, confusion and error. However, one of the biggest drawbacks of the binary floating-point type is that it does not accurately represent the fractional part, causing unexpected precision problems, as shown in the following examples. + +Sample Code1: + +```javascript +console.log(0.1 + 0.2 === 0.3); // Output: false. Therefore, do not use == or === to compare floating-point numbers. +``` + +Sample Code2: + +```javascript +var sum1 = (0.1 + 0.2) + 0.3; +console.log(sum1); // Output: 0.6000000000000001 + +var sum2 = 0.1 + (0.2 + 0.3); +console.log(sum2); // Output: 0.6. Therefore, for binary floating-point numbers, (a + b) + c cannot be guaranteed to produce the same result as a + (b + c). +``` + +The effective solutions are as follows: + +1. Use integers as much as possible because integers do not need to be rounded. + +2. The native JavaScript method `Number.prototype.toFixed(digits)`,`digist` is used to indicate the number of digits after the decimal point. The exponential method is not used. If necessary, the number is rounded off. This method is used to reduce the precision of the calculation result before determining the floating-point number calculation result. The sample code is as follows: + + ```javascript + parseFloat(0.1 + 0.2).toFixed(1); //0.3 + ``` + +3. A very small constant `Number.EPSILON =.220446049250313e-16 ` is added to ES6, which is about 0.00000000000000022204. `Number.EPSILON` is used to determine the calculation error of floating-point numbers. If the calculation error of floating-point numbers is less than or equal to the value of `Number.EPSILON`, such an error is acceptable. The sample code is as follows: + + ```javascript + function isNumberEquals(one, other) { + return Math.abs(one - other) < Number.EPSILON; + } + var one = 0.1 + 0.2; + var other = 0.3; + console.log(isNumberEquals(one, other)); // Output: true + ``` + +4. Use some class library methods that support precise calculation, such as `math.js`. + + ```html + + + + + + + + + + + + ``` + +#### Suggestion 3.15 Do not use the array constructor with variable arguments. + +**Note:** The method of constructor `new Array` is not recommended to construct a new array. If the constructor has only one parameter, exceptions may occur. In addition, the global definition of the array may be modified. Therefore, it is recommended to use the array literal notation, that is, `[]` notation, to create an array. +**Counterexample:** + +```javascript +const arr1 = new Array(x1, x2, x3); +const arr2 = new Array(x1, x2); +const arr3 = new Array(x1); +const arr4 = new Array(); +``` + +Except for the third case, all other functions can work properly. If `x1` is an integer, `arr3` is an array whose length is `x1` and values are `undefined`. If `x1` is any other number, an exception is thrown, and if it is anything else, it is an array of cells. + +**Example:** + +```javascript +const arr1 = [x1, x2, x3]; +const arr2 = [x1, x2]; +const arr3 = [x1]; +const arr4 = []; +``` + +This way, you'll save a lot of trouble. + +Similarly, use `{}` instead of `new Object()` to create objects. + +#### Rule 3.16 String templates are preferred over string links when constructing strings. + +**Note:** The template character strings are more concise and readable. + +**Counterexample:** + +```javascript +function sayHi(name) { + console.log('hi, ' + name); +} +``` + +**Example:** + +```javascript +function sayHi(name) { + console.log(`hi, ${name}`); +} +``` + +#### Rule 3.17 Use `for...of` for array traversal and `for...in` for object traversal. + +**Counterexample:** + +```javascript +let numbers = [1, 2, 3, 4]; +let sum = 0; +for (let number in numbers) { + sum += number; +} +// sum === 00123; +``` + +**Example:** + +```javascript +let numbers = [1, 2, 3, 4]; +let sum = 0; +for (let number of numbers) { + sum += number; +} +// sum === 10 +``` + diff --git a/docs-en/contribute/OpenHarmony-c-coding-style-guide.md b/docs-en/contribute/OpenHarmony-c-coding-style-guide.md new file mode 100644 index 00000000000..a0d922e29c5 --- /dev/null +++ b/docs-en/contribute/OpenHarmony-c-coding-style-guide.md @@ -0,0 +1,2116 @@ +# C Coding Style Guide + +## Purpose + +Rules are not perfect. Disabling useful features in specific situations may affect code implementation. However, the rules are formulated "to help most programmers to get more benefits". If a rule is found unhelpful or difficult to follow in team coding, please send your feedback to us so we can improve the rule accordingly. Before referring to this guide, you are expected to have the following basic capabilities for C rather than being a beginner who wants to learn about C. + +1. Understand the ISO standard of C. +2. Be familiar with the basic features of C. +3. Understand the standard library of C. + +## General Principles + +Code must meet the requirements for **readability**, **maintainability**, **security**, **reliability**, **testability**, **efficiency**, and **portability** while ensuring functionality correctness. + +## Conventions + +**Rule**: Conventions that must be followed during programming. +**Suggestion**: Conventions that must be considered during programming. + +It is necessary to understand the reason for these conventions and to try and comply with them, no matter if they are rules or recommendations. + +## Exceptions + +The only acceptable exceptions are those that do not violate the general principles and provide appropriate reasons for their existence. +Exceptions destroy code consistency. Try to avoid them. Exceptions to 'Rules' should be very rare. + +The style consistency principle is preferred in the following case: +**When you modify open source or third-party code. The existing code specifications prevail.** + +# 1 Naming + +Names include file, function, variable, type, and macro names. + +Naming is considered the most difficult and important thing in software development. +The name of an identifier must be clear, well defined, and easy to understand, adapting to reading habit. + +The unified naming style is the most direct expression of the consistency principle. + +## General Conventions + +**CamelCase** +Camel case is the practice of writing compound words or phrases so that each word or abbreviation in the phrase begins with a capital letter, and with no intervening spaces or punctuation. +This style has two alternatives depending on the case of the first letter: **UpperCamelCase and lowerCamelCase** + +### Rule 1.1 Name identifiers in camel case style. + +| Type| Naming Style +|----------|---------- +| Function, struct, enumeration, union| UpperCamelCase +| Variable, function parameter, macro parameter, struct body, union member| lowerCamelCase +| Macro, constant, enumerated value, goto tag| All capitalized, separated with underscores (\_) + +Note: +The `constant` in the above table refers to the variable of the basic data type, enumeration, and string type of the const modifier under the global scope, excluding array, struct and union. +The `variable` in the above table refers to variables other than the constant definition, all using lowercase. + +### Rec 1.1 The larger the scope, the more accurate the name should be. + +C is different from C++. There is no namespace or class. Therefore, the names of identifiers in the global scope must not conflict with each other. +Names of global functions, global variables, macros, types, and enumerations must be accurately described and unique in the global scope. + +Example: + +```c +int GetCount(void); // Bad: inaccurate description. +int GetActiveConnectCount(void); // Good +``` + +For accurate naming, a module prefix can be added if necessary. +The module prefix and the naming body can be connected by following the CamelCase style. +Example: + +```c +int PrefixFuncName(void); // OK: CamelCase, with no prefix in the format, but prefix in the content. + +enum XxxMyEnum { // OK. + ... +}; +``` + +## File Naming + +### Rec 1.2 Use lowercase file names. + +File names naming are allowed only with lowercase letters, numbers, and underscores (\_). +File names should be as short, accurate, and unambiguous as possible. +The reason for using lowercase file names is that different systems process file names in different ways (for example, Microsoft DOS and Windows OS are not case sensitive, but Unix/Linux and Mac systems are by default). + +Good example: +`dhcp_user_log.c` + +Bad examples: +`dhcp_user-log.c`: It is not recommended you separate names with '-'. +`dhcpuserlog.c`: The words are not separated, causing poor readability. + +## Function Naming + +Functions are named in UpperCamelCase style. + +### Rec 1.3 Name functions that comply with reading habits. + +The "verb + object" structure can be used for action related function names. For example: + +```c +AddTableEntry() // OK +DeleteUser() // OK +GetUserInfo() // OK +``` + +An adjective or a prefix "is" can be used in a function returning a Boolean value. For example: + +```c +DataReady() // OK +IsRunning() // OK +JobDone() // OK +``` + +Data or Getter function: + +```c +TotalCount() // OK +GetTotalCount() // OK +``` + +## Variable Naming + +Variables are named in the lowerCamelCase style. This includes global variables, local variables, parameters in the function declaration or definition as well as parameters in function-like macro. + +### Rule 1.2 Add the 'g\_' prefix to global variables. Do not add this prefix to static variables in a function. + +Global variables should be used as little as possible, and special attention should be paid to their use. Prefixes are used for visual prominence, prompting developers to be more careful about using global variables. +The naming rule of global static variables is the same as that of global variables. The name of a static variable in a function is the same as that of a common local variable. + +```c +int g_activeConnectCount; + +void Func(void) +{ + static int pktCount = 0; + ... +} +``` + +Notes: The nature of a constant is also a global variable, but it does not apply to current rule if the naming style is all uppercase and connected by underline. + +### Rec 1.4 Keep local variables short and to the point. + +The name of a local variable should be short on the premise that meanings can be expressed through context. + +The following is an example: + +```c +int Func(...) +{ + enum PowerBoardStatus powerBoardStatusOfSlot; // Not good: Long redundant local variable. + powerBoardStatusOfSlot = GetPowerBoardStatus(slot); + if (powerBoardStatusOfSlot == POWER_OFF) { + ... + } + ... +} +``` + +Better writing style: + +```c +int Func(...) +{ + enum PowerBoardStatus status; // Good: The status can be clearly expressed in context. + status = GetPowerBoardStatus(slot); + if (status == POWER_OFF) { + ... + } + ... +} +``` + +Similarly, "tmp" can be used to address any type of temporary variable. +A short variable name should be used with caution, but sometimes a single character variable is allowed, for example, a counter variable in a loop statement. + +```c +int i; +... +for (i = 0; i < COUNTER_RANGE; i++) { + ... +} +``` + +Or, variables in simple math functions: + +```c +int Mul(int a, int b) +{ + return a * b; +} +``` + +## Type Naming + +Types are named in the UpperCamelCase style. +The type can be a structure, a union, or an enumeration. + +Example: + +```c +struct MsgHead { + enum MsgType type; + int msgLen; + char *msgBuf; +}; + +union Packet { + struct SendPacket send; + struct RecvPacket recv; +}; + +enum BaseColor { + RED, // Note: The enumeration is in UpperCamelCase style while the enumerated values adopt the macro naming style. + GREEN, + BLUE +}; + +typedef int (*NodeCmpFunc)(struct Node *a, struct Node *b); +``` + +When you use typedef to set an alias for a struct, a union or an enum type, try to use anonymous type. +If you need self-nesting pointers, you can add a 'tag' prefix or an underscore suffix. + +```c +typedef struct { // Good: The anonymous struct is used because self-nesting is not required. + int a; + int b; +} MyType; // Struct alias with UpperCamelCase. + +```c +typedef struct tagNode { // Good: Add the 'tag' prefix or use 'Node_'. + struct tagNode *prev; + struct tagNode *next; +} Node; // UpperCamelCase. +``` + +## Macros, Constants, and Enumeration Naming + +Macros and enumerated values are capitalized and are separated with underscores (\_). +Constants are recommended to be capitalized and be separated with underscores (\_). Also, as global const variables, they can be named with global variable style. +The constants here are defined as global const variables of basic data type, enumeration, and string type. + +Function-like macros, can be named the same way as functions, using the UpperCamelCase naming style. +However, this approach makes the macros look the same as functions. It is confusing and needs special attention. + +Macro example: + +```c +#define PI 3.14 +#define MAX(a, b) (((a) < (b)) ? (b) : (a)) +``` + +```c +#ifdef SOME_DEFINE +void Bar(int); +#define Foo(a) Bar(a) // The function-like macro is named as a function style. +#else +void Foo(int); +#endif +``` + +Constant example: + +```c +const int VERSION = 200; // OK. + +const enum Color DEFAULT_COLOR = BLUE; // OK. + +const char PATH_SEP = '/'; // OK. + +const char * const GREETINGS = "Hello, World!"; // OK. +``` + +Non-constant example: + +```c +// Structure type does not meet the definition of constant. +const struct MyType g_myData = { ... }; // OK: Name it in lowerCamelCase style. + +// Array type does not meet the definition of constant. +const int g_xxxBaseValue[4] = { 1, 2, 4, 8 }; // OK: Name it in lowerCamelCase style. + +int Foo(...) +{ + // The scope does not meet the definition of constant. + const int bufSize = 100; // OK: Name it in lowerCamelCase style. + ... +} +``` + +Enumeration example: + +```c +// Note: The enumeration type name is in the UpperCamelCase style, while enumerated values are all capitalized and separated with underscores (_). +enum BaseColor { + RED, + GREEN, + BLUE +}; +``` + +### Rec 1.5 Do not name temporary variables in function-like macros and pollute the external scope. + +First, **use function-like macros as little as possible.** + +When a function-like macro needs to define local variables, to avoid naming conflicts with local variables in external functions, + +an underline is a good solution. Example: + +```c +#define SWAP_INT(a, b) do { \ + int tmp_ = a; \ + a = b; \ + b = tmp_; \ +} while (0) +``` + +# 2 Formatting + +## Line Length + +### Rec 2.1 Ensure that each line is no more than 120 characters in length. + +The line width of the code should not be too long, otherwise it is not conducive to reading. +The line length requirement indirectly guides developers in shortening function and variable names, reducing nesting, and improving readability. +It is strongly recommended that the number of characters per line do not exceed **120** unless readability is significantly improved as a result and no information is hidden. +While the resolution of modern monitors is very high, long lines will increase the difficulty of reading comprehension, which is against the principles of "clear" and "concise" defined in this document. + +The following scenarios should not be wrapped, and can be treated as exceptions: + +- Line breaks can cause strings truncated and hard to retrieved (grep), such as command lines or URLs. Codes or comments that contain these can be treated as exceptions appropriately. +- '#include', '#error' statements are allowed to exceed the line width requirement, but you should try to avoid this. + +Example: + +```c +#ifndef XXX_YYY_ZZZ +#error Header aaaa/bbbb/cccc/abc.h must only be included after xxxx/yyyy/zzzz/xyz.h +#endif +``` + +## Indentation + +### Rule 2.1 Use spaces to indent and indent four spaces at a time. + +Only spaces can be used for indentation. **4** spaces are indented each time. Do not use the Tab character to indent. +Currently, almost all integrated development environments (IDEs) and code editors support automatically converting a Tab input to **4** spaces. Please set your code editor to support indentation with spaces, if it is not the default. + +## Braces + +### Rule 2.2 Use the K\&R indentation style. + +**K\&R style** +While wrapping a line, the left brace of the function starts a new line and takes a single line. Other left braces are placed at the end of the line along with the statement. +The right brace takes a single line, unless it is followed by the rest of the same statement, such as 'while' in the 'do' statement, or 'else'/'else if' of the 'if' statement, or a comma or semicolon. + +For example: + +```c +struct MyType { // Good: Follow the statement to the end, and indent one space. + ... +}; // Good: The right brace is followed by the semicolon. + +int Foo(int a) +{ // Good: The left brace of the function starts a new line, and nothing else is placed on the line. + if (...) { + ... + } else { // Good: The 'else' statement follows the right brace. + ... + } // Good: The right brace takes a single line. +} +``` + +## Function Declaration and Definition + +### Rule 2.3 The return type and function name of the function declaration and definition must be on the same line. The function parameter list must be aligned appropriately if it needs to be wrapped. + +When a function is declared and defined, the return value type of the function should be in the same line as the function name. + +When the function parameter list is wrapped, it should be aligned appropriately. +The left parenthesis of a parameter list is always in the same line as the function name. The right parenthesis always follows the last parameter. + +The following is an example of line breaks: + +```c +ReturnType FunctionName(ArgType paramName1, ArgType paramName2) // Good:All in one line +{ + ... +} + +ReturnType VeryVeryVeryLongFunctionName(ArgType paramName1, // The line length cannot accommodate all parameters and thus a line break is required. + ArgType paramName2, // Good:Aligned with the previous line. + ArgType paramName3) +{ + ... +} + +ReturnType LongFunctionName(ArgType paramName1, ArgType paramName2, // Subject to line length, a line break is required. + ArgType paramName3, ArgType paramName4, ArgType paramName5) // Good: After the line break, 4 spaces are used for indentation. +{ + ... +} + +ReturnType ReallyReallyReallyReallyLongFunctionName( // The line length cannot accommodate the first parameter, and thus a line break is required. + ArgType paramName1, ArgType paramName2, ArgType paramName3) // Good: After the line break, 4 spaces are used for indentation. +{ + ... +} +``` + +## Function Calls + +### Rule 2.4 The parameter list should be aligned appropriately when the parameter list requires a line break. + +When the function is called, if the function parameter list is wrapped, it should be aligned appropriately. +The left parenthesis is always followed by a function name, and the right parenthesis always follows the last parameter. + +The following is an example of line breaks: + +```c +ReturnType result = FunctionName(paramName1, paramName2); // Good:Function parameters are placed in one line. + +ReturnType result = FunctionName(paramName1, + paramName2, // Good:Aligned with the above parameters. + paramName3); + +ReturnType result = FunctionName(paramName1, paramName2, + paramName3, paramName4, paramName5); // Good:After the line break, 4 spaces are used for indentation. + +ReturnType result = VeryVeryVeryLongFunctionName( // The line length cannot accommodate the first parameter, and thus a line break is required. + paramName1, paramName2, paramName3); // After the line break, 4 spaces are used for indentation. +``` + +If the parameters in a function call are associated with each other, the parameters are grouped for better understanding, rather than strictly adhering to formatting requirements. + +```c +// Good:The parameters in each line represent a group of data structures with a strong correlation. They are placed on one line for ease of understanding. +int result = DealWithStructureLikeParams(left.x, left.y, // Indicates a group of parameters. + right.x, right.y); // Indicates another group of related parameters. +``` + +## Conditional Statements + +### Rule 2.5 Conditional statements must use braces. + +We require that all conditional statements use braces, even if there is only one statement. +Reason: + +- Logic is intuitive and easy to read. +- It is not easy to make mistakes when adding new code to the existing conditional statement. +- Function-like macros without braces are used in conditional statements, can be error prone if braces do not surround the conditional statement. + +```c +if (objectIsNotExist) { // Good: Braces are added to a single-line conditional statement. + return CreateNewObject(); +} +``` + +### Rule 2.6 Do not place 'if', 'else' and 'else if' in the same line. + +In a conditional statement, if there are multiple branches, they should be written in different lines. + +The correct format: + +```c +if (someConditions) { + ... +} else { // Good: The 'else' is in a different line of 'if'. + ... +} +``` + +The following is a case that does not comply with the specifications: + +```c +if (someConditions) { ... } else { ... } // Bad: They are in the same line. +``` + +## Loops + +### Rule 2.7 Use braces in loop statements. + +Similar to the condition expression, we require that the for and while loop conditional statements contain braces, even if there is only one loop. + +```c +for (int i = 0; i < someRange; i++) { // Good: Braces are used. + DoSomething(); +} +``` + +```c +while (condition) { } // Good: The while loop body is empty. And braces are used. +``` + +```c +while (condition) { + continue; // Good: The continue keyword highlights the end of the empty loop. And braces are used. +} +``` + +Bad example: + +```c +for (int i = 0; i < someRange; i++) + DoSomething(); // Bad: Braces should be added. +``` + +```c +while (condition); // Bad: Using semicolons will make people misunderstand which code is a part of the while statement. +``` + +## Switch Statements + +### Rule 2.8 Indent the case or default statement in a switch statement block. + +The indentation style of the switch statement is as follows: + +```c +switch (var) { + case 0: // Good: Indented + DoSomething1(); // Good: Indented + break; + case 1: { // Good: Braces are added. + DoSomething2(); + break; + } + default: + break; +} +``` + +```c +switch (var) { +case 0: // Bad: 'case' not indented + DoSomething(); + break; +default: // Bad: 'default' not indented + break; +} +``` + +## Expressions + +### Rec 2.2 Keep a consistent expression line break style and ensure that operators are placed at the end of the line. + +A long expression that does not meet the line length requirement must be wrapped appropriately. Generally, the expression is wrapped at an operator of a lower priority or a hyphen, and the operator or hyphen is placed at the end of the line. +The operator and hyphen are placed at the end of the line, indicating that the operation is to be continued. + +Example: + +```c +// Pretend that the following first line does not meet the line length requirement. +if ((currentValue > MIN) && // Good: After the line break, the Boolean operator is placed at the end of the line. + (currentValue < MAX)) { + DoSomething(); + ... +} + +int result = reallyReallyLongVariableName1 + // Good: The plus sign is placed at the end of the line. + reallyReallyLongVariableName2; +``` + +After an expression is wrapped, ensure that the lines are properly aligned or indented by 4 spaces. See the following example. + +```c +int sum = longVaribleName1 + longVaribleName2 + longVaribleName3 + + longVaribleName4 + longVaribleName5 + longVaribleName6; // OK: indented with 4 spaces + +int sum = longVaribleName1 + longVaribleName2 + longVaribleName3 + + longVaribleName4 + longVaribleName5 + longVaribleName6; // OK: aligned +``` + +## Variable Assignment + +### Rule 2.9 Multiple variable definitions and assignment statements cannot be written on one line. + +It is best to have only one variable initialization statement on each line. It is easier to read and understand. + +```c +int maxCount = 10; +bool isCompleted = false; +``` + +The following is an example that does not comply with the specifications: + +```c +int maxCount = 10; bool isCompleted = false; // Bad: Multiple initialization statements are placed on the same line. +int x, y = 0; // Bad: Variable definitions need to be placed on different lines. Each definition occupies one line. + +int pointX; +int pointY; +... +pointX = 1; pointY = 2; // Bad: Multiple variable assignment statements are placed on the same line. +``` + +Exception: +If multiple variables with strong correlation are defined and do not need to be initialized, you can define the variables in a line to reduce repeated information so that the code is more compact. + +```c +int i, j; // Good: Multiple variables that are defined and do not need to be initialized immediately can be written in one line. +for (i = 0; i < row; i++) { + for (j = 0; j < col; j++) { + ... + } +} +``` + +## Initialization + +Initialization is applicable to structs, unions, and arrays. + +### Rule 2.10 Indent when initiating a new line, or make a reasonable alignment. + +When a structure or array is initialized, if a line break is made, ensure that the line is indented with 4 spaces. +From the readability point of view, make a reasonable alignment. + +```c +// Good: No line break for a short line. +int arr[4] = { 1, 2, 3, 4 }; + +// Good: A line break here makes the readability better. +const int rank[] = { + 16, 16, 16, 16, 32, 32, 32, 32, + 64, 64, 64, 64, 32, 32, 32, 32 +}; +``` + +For complex data, the initialization should be clear and compact. +Refer to the following format: + +```c +int a[][4] = { + { 1, 2, 3, 4 }, { 2, 2, 3, 4 }, // OK. + { 3, 2, 3, 4 }, { 4, 2, 3, 4 } +}; + +int b[][8] = { + { 1, 2, 3, 4, 5, 6, 7, 8 }, // OK. + { 2, 2, 3, 4, 5, 6, 7, 8 } +}; +``` + +```c +int c[][8] = { + { + 1, 2, 3, 4, 5, 6, 7, 8 // OK. + }, { + 2, 2, 3, 4, 5, 6, 7, 8 + } +}; +``` + +Note: + +- If the left brace is placed at the end of the line, the corresponding right brace shoud be placed into a new line. +- If the left brace is followed by the content, the corresponding right brace should also follow the content. + +### Rule 2.11 When struct and union members are initialized, each member is initialized on a separate line. + +The C99 standard supports the initialization of the struct and union members in their definition. This is called the designated initializer. If initialization is performed in this way, each member is initialized in a separate line. + +```c +struct Date { + int year; + int month; + int day; +}; + +struct Date date = { // Good: When the designated initializer is used, each member is initialized on a separate line. + .year = 2000, + .month = 1, + .day = 1 +}; +``` + +## Pointers + +### Rec 2.3 The pointer type asterisk "\*" follows the variable name or the type. Do not leave spaces on both sides and always use at least one space. + +When you declare or define a pointer variable or return a pointer type function, "\*" can be placed on the left or right, adhering to the type or name. Do not leave spaces on both sides. And do not leave out spaces altogether. + +```c +int *p1; // OK. +int* p2; // OK. + +int*p3; // Bad: No spaces. +int * p4; // Bad: Spaces on both sides. +``` + +Choose a style and stay consistent. + +When using style that "\*" follows type, avoid declaring multiple variables with pointer in a line. + +```c +int* a, b; // Bad: It is easy to misinterpret b as a pointer. +``` + +When using style that "\*" follows variable, there may be situations that cannot be followed. +Do not follow when it cannot. Style consistency first. + +```c +char * const VERSION = "V100"; // OK. +int Foo(const char * restrict p); // OK. +``` + +"\*" never follows 'const' or 'restrict' keywords anytime. + +## Compilation Preprocessing + +### Rule 2.12 The number sign (#) must be placed at the beginning of a line for compilation preprocessing and can be indented in nested compilation preprocessing. + +The number sign (#) must be placed at the beginning of a line for compilation preprocessing, even if the code is embedded in the function body. + +```c +#if defined(__x86_64__) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16) // Good: "#" is at the beginning of the line. +#define ATOMIC_X86_HAS_CMPXCHG16B 1 // Good: "#" is at the beginning of the line. +#else +#define ATOMIC_X86_HAS_CMPXCHG16B 0 +#endif + +int FunctionName(void) +{ + if (someThingError) { + ... +#ifdef HAS_SYSLOG // Good: "#" is at the beginning of the line even though it's in a function body. + WriteToSysLog(); +#else + WriteToFileLog(); +#endif + } +} +``` + +Nested preprocessing statements starting with "#" can be indented and aligned based on indentation requirements to different layers. + +```c +#if defined(__x86_64__) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16) + #define ATOMIC_X86_HAS_CMPXCHG16B 1 // Good: Statements are layered, facilitating reading. +#else + #define ATOMIC_X86_HAS_CMPXCHG16B 0 +#endif +``` + +## Whitespace + +### Rule 2.13 Ensure that horizontal whitespace is used to highlight keywords, important information and avoid unnecessary whitespace. + +Horizontal spaces should be used to highlight keywords and important information. Do not add spaces at the end of each line of code. The general rules are as follows: + +- Add spaces after keywords such as if, switch, case, do, while, and for. +- Do not add spaces after the left parenthesis or before the right parenthesis. +- Add a space before and after each binary operator (= + - \< > \* / % \| \& \^ \<= >= == !=). +- Do not add a space after any unary operator (\& \* + - ~!). +- A space is required before and after each ternary operator (? :). +- Add spaces before and after the colon of bit field description. +- There is no space between ++/-- and variables. +- There is no space before and after the struct member operator (. ->). +- Adding or not adding spaces inside the brace must be consistent. +- Do not add spaces before commas, semicolons, colons (without the colon in the ternary operator or the bit field description); Add spaces after them. +- There is no space between the parentheses of the function parameter list and the function name. +- There is no space between the parenthesis of the type cast and the object being converted. +- There is no space between the square bracket of the array and the array name. +- Spaces at the end of the line can be omitted. + +For spaces inside the braces, the following are **recommended**: + +- In general, spaces should be added after the left brace or before the right brace. +- For empty, or a single identifier, or a single literal constant, spaces are not required. Such as: '{}', '{0}', '{NULL}', '{"hi"}'. +- Spaces between consecutively nested multiple parentheses, spaces are not required. Such as: '{{0}}', '{{ 1, 2 }}'. Bad example: '{ 0, {1}}'. It is not a continuous nested scene, and the spaces inside the outermost braces are inconsistent. + +In normal cases: + +```c +int i = 0; // Good: When the variable is initialized, there should be spaces before and after the =. Do not leave a space before the semicolon. +int buf[BUF_SIZE] = {0}; // Good: During array initialization, spaces in curly braces are optional. +int arr[] = { 10, 20 }; // Good: A space is added before and after the brace. +``` + +Function definition and call: + +```c +int result = Foo(arg1,arg2); + ^ // Bad: There should be a space after the comma. + +int result = Foo( arg1, arg2 ); + ^ ^ // Bad: No space should be added to either side in the parentheses. +``` + +Pointer and address-of operator: + +```c +x = *p; // Good: There is no space between the operator * and the pointer p. +p = &x; // Good: There is no space between the operator & and the variable x. +x = r.y; // Good: When a member variable is accessed through the operator (.), no space is added. +x = r->y; // Good: When a member variable is accessed through the operator (.), no space is added. +``` + +Operator: + +```c +x = 0; // Good: A space must be added before and after the assignment operator (=). +x = -5; // Good: Do not add spaces before the minus sign (-) and the number. +++x; // Good: Do not add spaces before the minus sign (-) and the number. +x--; + +if (x && !y) // Good: A space must be added before and after the Boolean operator. Do not leave spaces between the ! operator and variables. +v = w * x + y / z; // Good: A space must be added before and after binary operators. +v = w * (x + z); // Good: No space is required before and after the expression in the parentheses. +``` + +Loops and conditional statements: + +```c +if (condition) { // Good: A space is added between the if keyword and the parenthesis and no space is added before or after the conditional statement inside the parentheses. + ... +} else { // Good: A space is added between the else keyword and the curly brace. + ... +} + +while (condition) {} // Good: A space is added between the while keyword and the parenthesis. No space is added before or after the conditional statement inside the parentheses. + +for (int i = 0; i < someRange; ++i) { // Good: A space is added between the for keyword and the parenthesis, and after the semicolons (;). + ... +} + +switch (var) { // Good: A space is added after the switch keyword. + case 0: // Good: No space is added between the case conditional statement and the colon. + ... + break; + ... + default: + ... + break; +} +``` + +Note: Current integrated development environments (IDEs) and code editors can be set to automatically delete spaces at the end of a line. Please configure your editor as such. + +### Rec 2.4 Arrange blank lines reasonably keep the code compact. + +Reduce unnecessary blank lines so that more code can be displayed for easy reading. The following rules are recommended: + +- Make a reasonable arrangement of blank lines according to the degree of relevance of neighboring content. +- Do not put two or more consecutive blank lines inside a function, a type definition, a macro, or an initialization expression. +- Do not use **three** or more consecutive blank lines. +- Do not add blank lines at the start and end of a code block defined by braces. + +```c +ret = DoSomething(); + +if (ret != OK) { // Bad: Return value judgment should follow the function call. + return -1; +} +``` + +```c +int Foo(void) +{ + ... +} + + + +int Bar(void) // Bad: Use no more than two continuous blank lines. +{ + ... +} +``` + +```c +int Foo(void) +{ + + DoSomething(); // Bad: The blank lines above and below are unnecessary. + ... + +} +``` + +# 3 Comments + +Generally, clear architecture and good symbol naming are recommended to improve code readability, and comments are provided only when necessary. +Comments help readers quickly understand code. Therefore, **comments should be provided when necessary** for the sake of readers. + +The comments must be concise, clear, and unambiguous, ensuring that the information is complete and not redundant. + +**Comments are as important as code.** +When writing a comment, you need to step into the reader's shoes and use comments to express what the reader really needs. Comments are used to express the function and intention of code, rather than repeating code. +When modifying the code, ensure that the comments are consistent. It is impolite to only modify code and not update the comments. It destroys the consistency between code and comments, and may confuse or even mislead readers. + +Comment code in fluent English. + +## Comment Style + +In C code, both `/*` `*/` and `//` can be used. +Comments can be classified into different types depending on purpose and position, such as file header comments, function header comments, and general comments. +Comments of the same type must keep a consistent style. + +Note: The sample code used in this article sees extensive use of the '//' post-comment. This is only to aid understanding, and does not mean that this comment style is better. + +## File Header Comments + +### Rule 3.1 File header comments must contain the copyright license. + +/\* + +* Copyright (c) 2020 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. \*/ + +## Function Header Comments + +### Rule 3.2 Empty function header comments with no content are forbidden. + +Not all functions need function header comments. +Function header comments must be added for any information that cannot be expressed just with function prototype. + +Function header comments are placed above the function declaration or definition. +Select and use one of the following styles: +**Use '//' to start the function header.** + +```c +// Single-line function header +int Func1(void); + +// Multi-line function header +// Second line +int Func2(void); +``` + +**Use '/\*' '\*/' to start the function header.** + +```c +/* Single-line function header */ +int Func1(void); + +/* + * Single-line or multi-line function header + * Second line + */ +int Func2(void); +``` + +Use function names to describe functions, and only add function header comments if necessary. +Do not write useless or redundant function headers. Do not write empty function headers with no content. + +The function header comment content is **optional** any may include the following: function description, return value, performance constraint, usage, memory convention, algorithm implementation, and reentering requirements. +In the function interface declaration in the external header file of the module, the function header comment should clearly describe important and useful information. + +Example: + +```c +/* + * The number of written bytes is returned. If -1 is returned, the write operation fails. + * Note that, the memory buffer is released by the caller. + */ +int WriteString(char *buf, int len); +``` + +Bad example: + +```c +/* + * Function name: WriteString + * Function: Write a character string. + * Parameter: + * Return value: + */ +int WriteString(char *buf, int len); +``` + +Problems in the preceding example are as follows: + +- The 'Parameter' and 'Return value' headings have no content. +- The function name has redundant information. +- The most important thing, the notice to release the buffer, is not clearly stated. + +## Code Comments + +### Rule 3.3 Code comments are placed above or to the right of the corresponding code. + +### Rule 3.4 There must be a space between the comment character and the comment content. At least one space is required between the comment and code if the comment is placed to the right of code. + +Comments placed above code should be indented to the same level as the code. +Select and use one of the following styles: +**Use '//' to start the comment.** + +```c +// Single-line comment +DoSomething(); + +// Multi-line comment +// Second line +DoSomething(); +``` + +**Use '/\*' '\*/' to start the comment.** + +```c +/*Single-line comment */ +DoSomething(); + +/* + * Single-/Multi-line comment + * Second line + */ +DoSomething(); +``` + +Leave at least one space between the code and the comment on the right. No more than four spaces is recommended. +You can use the extended Tab key to indent 1-4 spaces. + +Select and use one of the following styles: + +```c +int foo = 100; // Comment on the right +int bar = 200; /* Comment on the right */ +``` + +It is more appealing sometimes when the comment is placed to the right of code and the comments and code are aligned vertically. +After the alignment, ensure that the comment is 1–4 spaces separated from the closest code line on the left. +Example: + +```c +#define A_CONST 100 /* Related comments of the same type can be aligned vertically. */ +#define ANOTHER_CONST 200 /* Leave spaces after code to align comments vertically. */ +``` + +If the comment on the right exceeds the permitted line length, the comment can be placed above the code. + +### Rule 3.5 Delete unused code segments. Do not comment them out. + +Code that is commented out cannot be maintained. If you attempt to restore the code, it is very likely to introduce ignorable defects. +The correct method is to delete unnecessary code. If necessary, consider porting or rewriting the code. + +Here, commenting out refers to the removal of code from compilation without actually deleting it. This is done by using /\* \*/, //, #if 0, #ifdef NEVER\_DEFINED, and so on. + +### Rec 3.1 No TODO, TBD, or FIXME comment is allowed in code delivered to a customer. + +TODO and TBD comments are used to describe required improvements and supplements. +FIXME comments are used to describe defects that need fixing. +They should have a standardized style, which facilitates text search. For example: + +```c +// TODO(): Supplement to XX +// FIXME: XX defect +``` + +During version development, this type of comments can be used for highlighting, and must be processed and deleted before delivery. + +### Rec 3.2 If 'break' or 'return' is not added to the end of the case statement block (fall-through), comments must be provided. + +Sometimes, the same thing is needed for multiple case tags. When a case statement ends without 'break' or 'return', the statement in the next case tag will be executed. This is called "fall-through". +In this case, you need to add comments for the "fall-through" to clearly describe your intention. + +For example, explicitly specify the "fall-through”: + +```c +switch (var) { + case 0: + DoSomething(); + /* fall-through */ + case 1: + DoSomeOtherThing(); + ... + break; + default: + DoNothing(); + break; +} +``` + +If the case statement is empty, the comment explaining the "fall-through" can be omitted. + +```c +switch (var) { + case 0: + case 1: + DoSomething(); + break; + default: + DoNothing(); + break; +} +``` + +# 4 Header Files + +**For the C language, the design of the header file reflects most of the system design.** +The correct use of the header file makes code more readable, reduces file size, and speeds up compilation and build performance. + +This chapter summarizes some methods from the perspective of programming specifications to help you properly plan header files. + +## Header File Responsibility + +A header file is an external interface of a module or file. +The interface declaration for most functions (except inline functions), is more suitable in the header file, than as interface implementations. +Header responsibility should be simple. A complex header file will make dependencies complex and cause long compilation times. + +### Rec 4.1 Each .c file must have a corresponding .h file, which is used to declare the interfaces that need to be disclosed externally. + +Generally, each .c file has a corresponding .h file (Not necessarily the same name.), which is used to store the function declarations, macro definitions, and type definitions that are to be exposed externally. +If a .c file does not need to open any interface externally, it should not exist. + +Exception: the entry point of the program (for example, the file where the main function is located), unit test code, and dynamic library code. + +Example: +foo.h content + +```c +#ifndef FOO_H +#define FOO_H + +int Foo(void); // Good: Declare an external interface in the header file. + +#endif +``` + +foo.c content + +```c +static void Bar(void); // Good: The declaration of the internal function is placed in the header of the .c file, declaring its static scope. + +void Foo(void) +{ + Bar(); +} + +static void Bar(void) +{ + // Do something; +} +``` + +Internally used functions declarations, macros, enumerations, structures, and others should not be placed in header files. + +In some products, one .c file corresponds to two .h files. One is used to store external public interfaces, and the other is used to store definitions and declarations among others for internal use to limit the number of code lines in the .c file. +This style is not recommended. It is used only because the .c file is too large. It should be split into another file instead. +In addition, if private definitions and declarations are placed in independent header files, they technically cannot avoid inclusion. + +This rule, in turn, is not necessarily correct. For example: +Some simple header files, such as the command ID definition header file, do not need to have the corresponding .c file. +If a set of interface protocols has multiple instances and the interface is fixed, one .h file can have multiple .c files. + +### Rec 4.2 Use .h as the extension of the header file, rather than other unconventional extensions, for example, .inc. + +Some products use .inc as the header file name extension, which does not comply with the C language. A header file using .inc as the file name extension usually indicates a private header file. However, in practice, this recommendation is not followed properly. An .inc file is generally contained in multiple .c files. This document does not recommend that private definitions be stored in header files. For details, see [Rec 4.1](#a4-1). + +## Header File Dependency + +The header file contains a dependency, and the dependency should be stable. +Generally, an unstable module depends on a stable module. When the unstable module changes, the build of the stable module is not affected. + +Dependency direction is as follows: Products depend on the platform, and the platform depends on the standard library. + +In addition to unstable modules depending on stable modules, each module depends on the interface. In this way, in case of any internal implementation changes to one module, users do not need to recompile another module. +This assumes that the interface itself is the most stable. + +### Rule 4.1 Forbid cyclic dependency of header files. + +Cyclic dependency (also known as a circular dependency) of header files means that a.h contains b.h, b.h contains c.h, and c.h contains a.h. If any header file is modified, all code containing a.h, b.h, and c.h needs to be recompiled. +For a unidirectional dependency: a.h contains b.h, b.h contains c.h, and c.h does not contain any header file, modifying a.h does not mean a need to recompile the source code for b.h or c.h. + +The cyclic dependency of header files reflects an obviously unreasonable architecture design, which can be avoided through optimization. + +### Rule 4.2 The header file must have the internal #include protection character (#define protection). + +To prevent header files from being included multiple times, all header files should be protected by #define. Do not use #pragma once. + +When defining a protection character, comply with the following rules: + +- The protection character uses a unique name. It is recommended to consider the file path and name below the top layer of the project code tree. +- Do not place code or comments before or after the protected part, except for file header comments. + +Assume that the path to timer.h of the timer module is `timer/include/timer.h`. If the protection character resembles 'TIME\_H', it is not unique. Add a path, for example: + +```c +#ifndef TIMER_INCLUDE_TIMER_H +#define TIMER_INCLUDE_TIMER_H + +... + +#endif +``` + +### Rule 4.3 Do not reference external function interfaces and variables by using declaration. + +You can use the interfaces provided by other modules or files only by using header files. +Using external function interfaces and variables with an extern declaration may cause inconsistency between declarations and definitions when external interfaces are changed. +In addition, this kind of implicit dependency may cause architecture corruption. + +Cases that do not comply with specifications: +a.c content + +```c +extern int Foo(void); // Bad: Reference external functions by using the extern declaration. +void Bar(void) +{ + int i = Foo(); // Here, the external interface Foo is used. + ... +} +``` + +It should be changed to: +a.c content + +```c +#include "b.h" // Good: Use the interface providing the interface. +void Bar(void) +{ + int i = Foo(); + ... +} +``` + +b.h content + +```c +int Foo(void); +``` + +b.c content + +```c +int Foo(void) +{ + // Do something +} +``` + +In some scenarios, if internal functions need to be referenced with no intrusion to the code, the extern declaration mode can be used. +For example: +When performing unit testing on an internal function, you can use the extern declaration to reference the tested function. +When a function needs to be stubbed or patched, the function can be declared using extern. + +### Rule 4.4 Do not include header files in extern "C". + +If a header file is included in extern "C", extern "C" may be nested. Some compilers restrict the nesting of extern "C". If there are too many nested layers, compilation errors may occur. + +extern "C" usually occurs in mixed programming using both C and C++. If the extern "C" includes a header file, the original intent behind the header file may be hindered. For example, when the linkage specifications are modified incorrectly. + +For example, assume that there are two header files a.h and b.h. +a.h content + +```c +... +#ifdef __cplusplus +void Foo(int); +#define A(value) Foo(value) +#else +void A(int) +#endif +``` + +b.h content + +```c +... +#ifdef __cplusplus +extern "C" { +#endif + +#include "a.h" +void B(void); + +#ifdef __cplusplus +} +#endif +``` + +Using the C++ preprocessor to expand b.h, the following information is displayed: + +```c +extern "C" { + void Foo(int); + void B(void); +} +``` + +In the a.h file, the function Foo is intended to be a C++ free function following the C++ specifications. However, in the b.h file, because `#include "a.h"` is placed inside `extern "C"`, the linking specification of function Foo is changed incorrectly. + +Exception: In the C++ compilation environment, if you want to reference a header file written in pure C, a non-intrusive approach is to exclude the C header file from `extern "C"`. + +# 5 Functions + +Functions help avoid repeated code and increase reusability. In addition, functions act to layer code and reduce code complexity, hiding implementation details, making programs more modular, and facilitating reading and maintenance. + +The function should be concise and short. +One function completes only one thing. + +## Function Design + +Writing clean functions and organizing code effectively is the essence of good function design. The code should be simple and not conceal the designer's intention, using clean abstractions and straightforward control statements to organize the function naturally. + +### Rule 5.1 Avoid long functions and ensure that functions contain no more than 50 lines (not including blank lines and comments). + +A function should fit on one screen, (be no longer than 50 lines), do only one thing, and do it well. + +Large functions are often caused by the fulfillment of more than one purpose by the function, or over complication when parts could be abstracted. + +Exception: +Considering the code's aggregation and functionality, some functions may exceed 50 lines, but only if the code is readable and concise. +These exceptions should be minimal, such as specific algorithm processing. + +Even if a large function works well in the moment, once someone modifies it, new problems may occur. It may even cause bugs that are difficult to discover. +It is recommended that you split it into several simpler and easier to manage functions, facilitating reading and modification of code. + +### Rule 5.2 Avoid nesting a code block more than four times within a function. + +The nested code block depth of a function refers to the layered depth of a code control block (created by statements such as: if, for, while, and switch). +Each layer of nesting increases the brain power required to read the code, because you need to maintain a "stack" in your mind comprised of each conditional statement, loop, and so on. +Code should be broken down functionally to prevent the reader from remembering too much context at a time. + +Using `guardian statements`, (a short conditional return), can effectively reduce the nesting layers of if statements. For example: +The original code nesting level is 3: + +```c +int Foo(...) +{ + if (received) { + type = GetMsgType(msg); + if (type != UNKNOWN) { + return DealMsg(...); + } + } + return -1; +} +``` + +Refactored code using the `guardian statement`, the nesting level is 2: + +```c +int Foo(...) +{ + if (!received) { // Good: Use the 'guardian statement'. + return -1; + } + + type = GetMsgType(msg); + if (type == UNKNOWN) { + return -1; + } + + return DealMsg(..); +} +``` + +Exception: +Considering the code's aggregation and functionality, some functions may exceed 4 times nested, but only if the code is readable and concise. +These exceptions should be rare. + +### Rec 5.1 Process all returned error codes. + +A function (in a standard library, a third-party library, or a user-defined function) must be able to indicate errors. This can be done by using error tags, special return data, or other means. No matter when a function provides such a mechanism, the caller should immediately check the error indication after the function returns. + +Example: + +```c +char fileHead[128]; +ReadFileHead(fileName, fileHead, sizeof(fileHead)); // Bad: The returned value is not checked. + +DealWithFileHead(fileHead, sizeof(fileHead)); // The 'fileHead' is possibly invalid. +``` + +The correct format is as follows: + +```c +char fileHead[128]; +ret = ReadFileHead(fileName, fileHead, sizeof(fileHead)); +if (ret != OK) { // Good: Ensure that the 'fileHead' is written. + return ERROR; +} + +DealWithFileHead(fileHead, sizeof(fileHead)); // Process the file header. +``` + +Note that when the return value of a function is ignored and instead void is returned frequently, consider whether the return value of the function is designed reasonably. +Only if the caller of a function really doesn't need a return value, should you design the function to return `void`. + +## Function Parameters + +### Rec 5.2 Use the return value instead of the output parameter when designing a function. + +Using return values rather than output parameters improves readability and usually provides the same or better performance. + +Readability can be improved by naming functions such as GetXxx, FindXxx, or directly using a single noun, to directly return the corresponding object. + +### Rec 5.3 Use strongly typed parameters and avoid using void\* + +While different languages have their own views on strong typing and weak typing, it is generally believed that C/C++ is a strongly typed language. Since we use such a strongly typed language, we should keep this style. +The advantage of this strongly typed style is to prevent evasive errors by catching errors at the compilation stage. + +Strong types help the compiler find more errors for us. Pay attention to the usage of the `FooListAddNode` function in the following code: + +```c +struct FooNode { + struct List link; + int foo; +}; + +struct BarNode { + struct List link; + int bar; +} + +void FooListAddNode(void *node) // Bad: Here, the void * type is used to pass parameters. +{ + FooNode *foo = (FooNode *)node; + ListAppend(&g_fooList, &foo->link); +} + +void MakeTheList(...) +{ + FooNode *foo; + BarNode *bar; + ... + + FooListAddNode(bar); // Wrong: In this example, the foo parameter was supposed to be passed, but the bar parameter is incorrectly passed instead. No error is reported immediately and issues may occur as a result. +} + +``` + +The preceding problems may be difficult to expose and are more destructive than compiler errors. +If the parameter type of `FooListAddNode` is specified clearly, instead of with the `void *` type, the preceding problem can be detected during compilation. + +```c +void FooListAddNode(FooNode *foo) +{ + ListAppend(&g_fooList, &foo->link); +} +``` + +Exception: For some generic interfaces, you can use the input parameter `void *` to pass different types of pointers. + +### It is the caller's responsibility to check the validity of internal function parameters of a module. + +Validity checks must be performed on data received from external modules to protect programs against illegal input. +When calling internal functions, by default, the caller is responsible for ensuring the validity of any returned data. If the callee takes responsibility for checking data validity, checks may be performed multiple times and redundant code is generated. This is not concise. + +The caller ensures the validity of any received data. This type of contractual programming can make logic simpler and code more readable. +Example: + +```c +int SomeProc(...) +{ + int data; + + bool dataOK = GetData(&data); // Get data. + if (!dataOK) { // Check the result of the previous step ensuring data validity. + return -1; + } + + DealWithData(data); // Call the data processing function. + ... +} + +void DealWithData(int data) +{ + if (data < MIN || data > MAX) { // Bad: The caller has already ensured the validity of the data. + return; + } + + ... +} +``` + +### Rec 5.5 The pointer argument of a function should be declared as 'const' if it is not used to modify the pointed object. + +The const pointer argument, which restricts the function from modifying the object through the pointer, makes code stronger and safer. + +Example: In the example of the strncmp in the 7.21.4.4 of the C99 standard, the invariant parameter is declared as const. + +```c +int strncmp(const char *s1, const char *s2, size_t n); // Good: The invariant parameter is declared as const. +``` + +Note: Whether or not the pointer parameter is to be declared as 'const' depends on the function design, not on whether there is a "modify object" action in the function entity. + +### Rec 5.6 Ensure that the number of parameters in a function is less than or equal to 5. + +If a function has too many parameters, the function is easy to be affected by changes in external code, hindering maintenance. Too many function parameters will also increases the workload for testing. + +The number of parameters in a function must not exceed 5. If the number of parameters exceeds 5, consider the following: + +- Check whether the function can be split. +- Check whether any related parameters can be combined and defined as a struct. + +## Inline Functions + +An inline function is a function optimization method introduced by C99. Function inlining can eliminate the overhead of function calls; thanks to inlining, combination with the called code is implemented, so that the compiler can achieve further code optimization from a larger perspective. The inline function is similar to a function-like macro. For details, see [Rec 6.1](#a6-1). + +### Rec 5.7 Ensure that the inline function contains no more than 10 lines (non-blank and non-comment). + +Defining a function as an inline function generally aims to improve performance, but it does not always improve performance. If the function body is short, function inlining can effectively reduce the size of the target code and improve the function execution efficiency. +Vice versa, if the function body is large, inlining will cause expansion of the target code, especially when there are many call points. +It is recommended that inline functions be controlled to within **10** lines. + +Do not abuse inline functions to improve performance. Avoid premature optimization. In general, a function can be defined as an inline function only when actual test data proves that the inlining achieves higher performance. Functions such as setter and getter functions, that are short and called frequently can be defined as inline functions. + +### Rule 5.3 Define inline functions that will be called by multiple source files in the header file. + +Inline functions are unfolded in compilation. Therefore, the inline function definition must be visible in each source file that calls this function. +As shown in the following code, inline.h has only the declaration of the `SomeInlineFunc` function but no definition. The other.c file includes inline.h. As a result, inlining fails when `SomeInlineFunc` is called. + +inline.h + +```c +inline int SomeInlineFunc(void); +``` + +inline.c + +```c +inline int SomeInlineFunc(void) +{ + // Implementation code +} +``` + +other.c + +```c +#include "inline.h" +int OtherFunc(void) +{ + int ret = SomeInlineFunc(); +} +``` + +Due to this restriction, if multiple source files need to call the same inline function, the definition of the inline function needs to be placed in the header file. +The inline function implementation in **gnu89** differs from that in the **C99** standard. For compatibility, you can declare the function as **static inline**. + +# 6 Macros + +## Function-like Macros + +A function-like macro is a macro (as shown in the following example) similar to a function. It contains several statements to implement a specific function. + +```c +#define ASSERT(x) do { \ + if (!(x)) { \ + printk(KERN_EMERG "assertion failed %s: %d: %s\n", \ + __FILE__, __LINE__, #x); \ + BUG(); \ + } \ +} while (0) +``` + +### Use functions instead of function-like macros. + +Before defining a function-like macro, consider whether it can be replaced with a function. If so, you are advised to replace macros with functions. +The disadvantages of the function-like macro are as follows: + +- Function-like macros haves no type check, which is not as strict as the function call check. For the example code, see [Below](#macro_lack_of_type_check__example). +- If macro parameters are not calculated during macro expansion, unexpected results may be generated. For details, see [Rule 6.1](#r6-1) and [Rule 6.3](#r6-3). +- The macro has no independent scope. When it is used together with control flow statements, unexpected results described in [Rule 6.2](#r6-2) may be generated. +- There are high skill requirements on the proper use of macros (see the following rules), for example, the usage of `#` and parentheses affects readability. +- Extensions of some macros can only be implemented by specific compilers in specific scenarios, such as `statement expression` of `gcc`, reducing the portability. +- After the macro is expanded at the pre-compilation stage, it is invisible during subsequent compilation, linking, and debugging. Macros that contain multiple lines are expanded into a line. Function-like macros are difficult to debug, interrupt, and locate in the case of bugs. +- Macros containing a large number of statements must be expanded at each call point. If there are many call points, the code will be expanded. + +Example code of a function-like macro lacking type check: + +```c +#define MAX(a, b) (((a) < (b)) ? (b) : (a)) + +int Max(int a, int b) +{ + return (a < b) ? b : a; +} + +int TestMacro(void) +{ + unsigned int a = 1; + int b = -1; + + (void)printf("MACRO: max of a(%u) and b(%d) is %d\n", a, b, MAX(a, b)); + (void)printf("FUNC : max of a(%u) and b(%d) is %d\n", a, b, Max(a, b)); + return 0; +} +``` + +Due to the lack of type check, the comparison between `a` and `b` in `MAX` is changed to a comparison ignoring the sign status. The result is **a \< b**. The output is as follows: + +``` +MACRO: max of a(1) and b(-1) is -1 +FUNC : max of a(1) and b(-1) is 1 +``` + +The function does not have the preceding macro disadvantages. However, compared with macros, the biggest disadvantage is that the execution efficiency is not as high (increasing the overhead of function calls and the difficulty of compiler optimization). +Therefore, the C99 standard introduces inline functions (gcc introduces inline functions ahead of this standard). + +The inline function is similar to the macro, as it is also expanded at the call point. The difference is that inline functions are expanded during compilation. +Inline functions have the advantages of both functions and macros: + +- Strict type checking is performed for inline functions and functions. +- The parameter of an inline function/function is calculated only once. +- Inline functions are unfolded in place and there is no overhead for function calls. +- Inline functions are better optimized than standard functions. + +For performance-sensitive code, consider using inline functions instead of function-like macros. +Functions and inline functions cannot completely replace function-like macros, because function-like macros are more suitable for certain scenarios. +For example, in a log scenario, using a function-like macro with variable parameters and default parameters is more convenient. + +```c +int ErrLog(const char *file, unsigned long line, const char *fmt, ...); +#define ERR_LOG(fmt, ...) ErrLog(__FILE__, __LINE__, fmt, ##__VA_ARGS__) +``` + +### Rule 6.1 When a macro is defined, macro parameters must use complete parentheses. + +The macro parameter is replaced by text only when the macro is expanded. The value is calculated when the macro is compiled. After the text replacement, the statements contained in the macro are combined with called code. +The expression after combination may result in a different result than expected, especially when the macro parameter is in an expression. + +The following is an incorrect format: + +```c +#define SUM(a, b) a + b // Bad. +``` + +When the macro is used, the execution result is inconsistent with the expected result. +`100 / SUM(2, 8)` is expanded to `(100 / 2) + 8`. The expected result is `100 / (2 + 8)`. +This problem can be solved by adding parentheses to the entire expression, as shown in the following: + +```c +#define SUM(a, b) (a + b) // Bad. +``` + +However, this method has the following problems: +`SUM(1 << 2, 8)` is extended to `1 << (2 + 8)` (because the priority of `<<` is lower than that of `+`), which is inconsistent with the expected result `(1 << 2) + 8`. + +To solve this problem, add parentheses to each macro parameter, as shown in the following: + +```c +#define SUM(a, b) (a) + (b) // Bad. +``` + +The third scenario is as follows: `SUM(2, 8) * 10` . The result after the extension is `(2) + ((8) * 10)`, which is inconsistent with the expected result `(2 + 8) * 10`. + +In conclusion, the correct format is as follows: + +```c +#define SUM(a, b) ((a) + (b)) // Good. +``` + +But avoid abusing parentheses. As shown in the following, adding parentheses to a single identifier or a positive number is meaningless. + +```c +#define SOME_CONST 100 // Good: No parentheses needed for a single positive number. +#define ANOTHER_CONST (-1) // Good: Parentheses needed for a negative number. + +#define THE_CONST SOME_CONST // Good: No parentheses needed for a single identifier. +``` + +Notes: + +- Macro parameters in '#', '##' operation do not need parentheses. +- Macro parameters which participating in string splicing do not need parentheses. +- If a macro parameter is used as a separate part in one side of an assignment expression (including +=, -=, etc.), parentheses are not required. +- If a macro parameter is used as a separate part in comma expressions, functions or macro call lists, parentheses are not required. + +Example: + +```c +#define MAKE_STR(x) #x // No parentheses for 'x' + +#define HELLO_STR(obj) "Hello, " obj // No parentheses for 'obj' + +#define ADD_3(sum, a, b, c) (sum = (a) + (b) + (c)) // 'a', 'b', and 'c' need parentheses, while 'sum' does not. + +#define FOO(a, b) Bar((a) + 1, b) // 'a' needs parentheses, while 'b' does not. +``` + +### Rule 6.2 Implementation statements of function-like macros that contain multiple statements must be placed in a do-while(0). + +Macros do not have code blocks. Macros do not have code blocks. When a macro is expanded at the call point, the expressions and variables defined in the macro are integrated into the calling code. As a result, variable name conflict and segmentation of macro statements may occur. Use do-while(0) to add a boundary to the macro so that the macro has an independent scope. In addition, a single statement can be formed by combining the macro with a semicolon (;) to avoid this problem. + +The following macro is incorrect: + +```c +// Not Good. +#define FOO(x) \ + (void)printf("arg is %d\n", (x)); \ + DoSomething((x)); +``` + +When the macro is called as shown in the following example code, the for loop only executes the first statement of the macro, and the next statement of the macro is executed only after the loop ends. + +```c +for (i = 1; i < 10; i++) + FOO(i); +``` + +To solve the preceding problem, use braces to enclose the statements defined by `FOO`. + +```c +#define FOO(x) { \ + (void)printf("arg is %d\n", (x)); \ + DoSomething((x)); \ +} +``` + +The brackets are not associated with semicolons (;). The semicolon following the braces is another statement. +In the following code example, the "suspended else' compilation error message is displayed. + +```c +if (condition) + FOO(10); +else + FOO(20); +``` + +The correct format is to wrap the executed body using a do-while(0), as shown in the following: + +```c +// Good. +#define FOO(x) do { \ + (void)printf("arg is %d\n", (x)); \ + DoSomething((x)); \ +} while (0) +``` + +Exception: + +- Macros that contain 'break' or 'continue' statements can be treated as exceptions. Do use these macros carefully. +- An exception can be made when the macro contains an incomplete statement. For example, use a macro to encapsulate the conditional part of the for loop. +- An exception can be a non-multiple statement, or a single if/for/while/switch statement. + +### Rule 6.3 Do not pass expressions with side effects to a function-like macro. + +Since macros are replaced by text, if a function-like macro uses the same macro parameter multiple times and transfers expressions with side effects as macro parameters, unexpected results may occur. +As shown in the following example, the macro `SQUARE` is normal, but the `a++` expression with side effects is passed to the macro. As a result, the value of `a` is different from the expected value after the `SQUARE` macro is executed. + +```c +#define SQUARE(a) ((a) * (a)) + +int a = 5; +int b; +b = SQUARE(a++); // Bad: 'a' is added twice. +``` + +`SQUARE(a++)` is expanded to `((a++) * (a++))` the variable `a` is added twice, and its value is `7` instead of the expected `6`. + +The correct format is as follows: + +```c +b = SQUARE(a); +a++; // Result: a = 6, which is added only once. +``` + +In addition, if the macro parameter contains a function call, the function may be called repeatedly after the macro is expanded. +If the function execution results are the same, it is a waste; if the results are different, the execution result may not meet the expected value. + +### Rec 6.2 Exercise caution when you use the statements such as return, goto, continue, and break in a function-like macro definition. + +In a macro, the process changing statements, such as return, goto, continue, and break. While they can simplify the code, they hide the real process, which hinders understanding and causes resource leakage. + +First, the macro encapsulation of the statement 'return' can easily lead to excessive encapsulation and use. +As shown in the following code, the judgment of `status` is a part of the main process. After being encapsulated in macros, the purpose is not intuitive. The `RETURN_IF` macro is ignored, causing a confused understanding. + +```c +#define LOG_AND_RETURN_IF_FAIL(ret, fmt, ...) do { \ + if ((ret) != OK) { \ + (void)ErrLog(fmt, ##__VA_ARGS__); \ + return (ret); \ + } \ +} while (0) + +#define RETURN_IF(cond, ret) do { \ + if (cond) { \ + return (ret); \ + } \ +} while (0) + +ret = InitModuleA(a, b, &status); +LOG_AND_RETURN_IF_FAIL(ret, "Init module A failed!"); // OK. + +RETURN_IF(status != READY, ERR_NOT_READY); // Bad: The most important logic is not obvious. + +ret = InitModuleB(c); +LOG_AND_RETURN_IF_FAIL(ret, "Init module B failed!"); // OK. +``` + +Second, if return is encapsulated in a macro, it may also cause a memory leak. Example is as follows: + +```c +#define CHECK_PTR(ptr, ret) do { \ + if ((ptr) == NULL) { \ + return (ret); \ + } \ +} while (0) + +... + +mem1 = MemAlloc(...); +CHECK_PTR(mem1, ERR_CODE_XXX); + +mem2 = MemAlloc(...); +CHECK_PTR(mem2, ERR_CODE_XXX); // Wrong: Memory leak. +``` + +If `mem2` fails to apply for memory, the `CHECK_PTR` will return a message instead of releasing `mem1`. +Besides, the name of the `CHECK_PTR` macro is not good. The macro name only reflects the check action and does not specify the result. Readers can see that a failure is returned when the pointer is null only after viewing the macro implementation. It's not inherently obvious. + +In summary: It is not recommended to encapsulate statements that change control flow, such as return, goto, continue, and break in macro definitions. +However, these macros can be used such as return value judgment as an exception. + +Note: **Macro names must contain descriptive keywords if statements that will change control flow such as return, goto, continue, and break are used.** + +### Rec 6.3 Ensure that function-like macros contain no more than 10 lines (not including blank lines and comments). + +A big problem of the function-like macro is that it is more difficult to debug and locate than the function, especially when the macro is too long. +Macro expansion will also lead to more compiled code. It is recommended that function-like macros contain no more than 10 lines. + +# 7 Variables + +In C language coding, variables are the most important except for functions. +When using a variable, you should always follow the principle of "single responsibility". +By scope, variables can be classified into global variables and local variables. + +## Global Variables + +Do not use or avoid using global variables. +In program design, global variables are variables that are accessible to all scopes. Using unnecessary global variables is generally considered a bad habit. + +Disadvantages of global variables: + +- Destroys the independence and portability of a function. Functions can be dependent on global variables and increased coupling results. +- Reduces readability and maintainability. When multiple functions read and write to global variables, their values may not be determinate, which is unfavorable for comprehension and maintenance. +- In a concurrent programming environment, global variables will hinder reentry of functions. Additional synchronization protection must be added to ensure data security. + +If unavoidable, the read and write of global variables should be encapsulated in a centralized manner. + +### Rule 7.1 Do not use global variables as interfaces between modules. + +Global variables are for the internal implementation of modules and should not be exposed as interfaces. +Global variables should be as centralized as possible. If the data of this module needs to be disclosed to external modules, a function as an interface to this data should be provided. + +## Local Variables + +### Rule 7.2 Do not use uninitialized variables as rvalues. + +The variable here refers to a local dynamic variable, and also includes a memory block obtained on a memory heap. +Because their initial values are unpredictable, it is prohibited to use them directly as rvalues without effective initialization. + +```c +void Foo(...) +{ + int data; + Bar(data); // Bad: Uninitialized variables are used as rvalues. + ... +} +``` + +If there are different branches, ensure that all branches are initialized before being used as rvalues. + +```c +void Foo(...) +{ + int data; + if (...) { + data = 100; + } + Bar(data); // Bad: This value is not initialized in some branches. + ... +} +``` + +Uninitialized rvalues can be found by generic static check tools. +For example, the PCLint tool reports a warning for the following two examples. + +> Warning 530: Symbol 'data' (line ...) not initialized Warning 644: Variable 'data' (line ...) may not have been initialized + +### Rule 7.3 Forbid invalid and redundant variable initialization. + +If the initial value is not determined before initialization is performed, it is not concise but not secure, which may introduce problems that are more difficult to discover. + +Common redundant initialization: + +```c +int cnt = 0; // Bad: Redundant initialization. It will be overwritten by later initialization. +... +cnt = GetXxxCnt(); +... +``` + +Variables with conditional values can be initialized to default values during definition. + +```c +char *buf = NULL; // Good: NULL as the default value +if (condition) { + buf = malloc(MEM_SIZE); +} +... +if (buf != NULL) { // Check whether memory has been allocated. + free(buf); +} +``` + +Even worse, redundant clearing for arrays may affect the performance. + +```c +char buf[VERY_BIG_SIZE] = {0}; +memset(buf, 0, sizeof(buf)); // Bad: Redundant clearing +``` + +Invalid initialization, which hides a more severe problem: + +```c +void Foo(...) +{ + int data = 0; // Bad: regular initialization + + UseData(data); // UseData should be placed after GetData. + data = GetData(...); // Get data. + ... +} +``` + +In the preceding code, if 0 is not assigned before initialization, the static check tool can help find the problem of "direct use without being initialized". +However, due to invalid initialization, the defect of placing "UseData" before "GetData" cannot be easily found. + +Therefore, simple code should be written to initialize variables or memory blocks as required. + +The C99 does not limit the definition position of local variables to before the first statement in a function. That is, a variable can now be defined close to a variable. +This concise approach not only limits the scope of the variable scope, but also solves the problem of how to initialize the variable when it is defined. +If this compilation environment is supported, you are advised to define local variables in this way. + +**Exception:** +**As 'Secure Coding Standard' required, pointers, resource variables, and boolean variables can be treated as exceptions of this rule.** + +### Rule 7.4 Do not use magic numbers. + +The so-called magic numbers are the numbers that are unintelligible and difficult to understand. +The magic number is not a concept that can be defined literally. It varies depending on context and service knowledge. + +For example, the number 12 varies in different contexts. +`type = 12;` is not intelligible, but `month = year * 12;` can be understood. +The number 0 is sometimes seen as a magic number. For example, the `status = 0;` cannot truly express any status information. + +Solution: +Comments can be added for numbers that are used only once. +For numbers that are used multiple times, macro or const variables must be defined and self-commented with symbolic naming. + +The following cases are forbidden: +The name is not used to explain the meaning of a number, for example, `#define ZERO 0`. +The value is limited by the name, for example, `#define XX_TIMER_INTERVAL_300MS 300`. + +# 8 Programming Practice + +## Expressions + +### Rec 8.1 When comparing expressions, follow the principle that the left side tends to change and the right side tends to remain unchanged. + +When a variable is compared with a constant, placing the constant on the left, for example, `if (MAX == v)` does not read naturally, and `if (MAX > v)` is more difficult to understand. +The constant should be placed on the right according to the normal reading order and habit. The expression is written as follows: + +```c +if (v == MAX) ... +if (v < MAX) ... +``` + +There are special cases: for example, the expression `if (MIN < v && v < MAX)` is used to check for a range. This first constant should be placed on the left. + +You do not need to worry about accidentally writing '==' as '=' because a compilation alarm will be generated for `if (v = MAX)` and an error will be reported by other static check tools. Use these tools to solve such writing errors and ensure that that code is readable. + +### A full expression containing an increment (++) or decrement (--) operator should have no other using of the variable. + +In an expression containing a variable increment or decrement operation, if the variable is referenced again, the result is not explicitly defined in the C standard, which may vary between compilers or different versions of the same compiler. +For better portability, you should not make any assumptions about the operation sequence not defined in any standards. + +Note that this problem cannot be solved by using parentheses because it is not a problem of priority. + +Example: + +```c +x = b[i] + i++; // Bad: b[i] operation and i++, the order is not clear. +``` + +The correct way is to add a separate line of increment or decrement: + +```c +x = b[i] + i; +i++; // Good: Single line. +``` + +Function parameter: + +```c +Func(i++, i); // Bad: When passing the second parameter, it is not sure whether the increment operation has occurred. +``` + +The correct way: + +```c +i++; // Good: Single line. +x = Func(i, i); +``` + +### Rec 8.2 Use parentheses to specify the sequence of expressions, instead of using the default priority. + +Parentheses can be used to better emphasize the purpose of used operators. This will prevent program errors due to the inconsistency between default priority and the intended design. +However, too many parentheses muddy the code, reducing readability. Use them moderately. + +Parentheses are recommended when expressions contain operators that are not commonly used and are confusing, such as bitwise operators. + +```c +c = (a & 0xFF) + b; /* Parentheses are required while using bit operators. */ +``` + +## Statements + +### Rule 8.2 The switch statement must have a 'default' branch. + +In most cases, the 'default' branch exists in the switch statement to ensure that there is a default processing action when the case tag is missing. + +Exception: +If the switch condition variable is of the enumeration type and the case branches cover all values, then the default branch is redundant. +A modern compiler can check whether the case branch of some enumerated values is missing in the switch statement. A warning will be displayed. + +```c +enum Color { + RED, + BLUE +}; + +// The switch condition variable is an enumerated value. Therefore, you do not need to add the 'default' processing branch. +switch (color) { + case RED: + DoRedThing(); + break; + case BLUE: + DoBlueThing(); + ... + break; +} +``` + +### Rec 8.3 Exercise caution when using the goto statement. + +The goto statement destroys the structure of the program, so you'd better not use the goto statement unless you really need it. You can only jump to statements following the goto statement, and only within the one function. + +The goto statement is used to implement function return to a single point within a function. +If a function has a large number of identical logics that cannot be encapsulated, for example, repeated file execution, the processed part of code after the file operation failure (for example, closing the file handle and releasing memory that is dynamically applied for) is usually placed in the last part of the function body. And the goto statement is placed right before these. In this way, the code becomes clear and concise. It can also be encapsulated in functions or macros, but doing so makes code less straightforward. + +Example: + +```c +// Good: Use a goto statement to implement function return at a single point. +int SomeInitFunc(void) +{ + void *p1; + void *p2 = NULL; + void *p3 = NULL; + + p1 = malloc(MEM_LEN); + if (p1 == NULL) { + goto EXIT; + } + + p2 = malloc(MEM_LEN); + if (p2 == NULL) { + goto EXIT; + } + + p3 = malloc(MEM_LEN); + if (p3 == NULL) { + goto EXIT; + } + + DoSomething(p1, p2, p3); + return 0; // OK. + +EXIT: + if (p3 != NULL) { + free(p3); + } + if (p2 != NULL) { + free(p2); + } + if (p1 != NULL) { + free(p1); + } + return -1; // Failed! +} +``` + +## Type Conversion + +### Rec 8.4 Minimize unnecessary type conversion and forced conversion. + +When the data type is forcibly changed, the meaning of the data and the value after conversion may change. If details are not considered, potential risks may be generated. + +In the following assignment, most compilers do not generate warnings, but the values are slightly changed. + +```c +char ch; +unsigned short int exam; + +ch = -1; +exam = ch; // Bad: Compilers does not generate any warnings. In this case, the value of exam is 0xFFFF. +``` \ No newline at end of file diff --git a/docs-en/contribute/OpenHarmony-cpp-coding-style-guide.md b/docs-en/contribute/OpenHarmony-cpp-coding-style-guide.md new file mode 100644 index 00000000000..8a7ecbad0ca --- /dev/null +++ b/docs-en/contribute/OpenHarmony-cpp-coding-style-guide.md @@ -0,0 +1,2821 @@ +# C++ Coding Style Guide + +## Purpose +Rules are not perfect. Disabling useful features in specific situations may affect code implementation. However, the rules are formulated "to help most programmers to get more benefits". If a rule is found unhelpful or difficult to follow in team coding, please send your feedback to us so we can improve the rule accordingly. +Before referring to this guide, you are expected to have the following basic capabilities for C++. It is not for a beginner that wants to learn about C++. +1. Have a general knowledge of ISO standards for C++. +2. Be familiar with the basic features of C++, including those of C++ 03/11/14/17. +3. Have a general knowledge of the C++ Standard Library. + +## General Principles +Code must meet the requirements for readability, maintainability, security, reliability, testability, efficiency, and portability while ensuring functionality correctness. + +## Key Points +1. C++ programming style, such as naming and typesetting. +2. C++ modular design, including how to design header files, classes, interfaces, and functions. +3. Best practices of C++ features, including constants, type casting, resource management, and templates. +4. Best practices of modern C++, including conventions that can improve code maintainability and reliability in C++ 11/14/17. + + +## Conventions +**Rule**: a regulating principle that must be followed during programming. + +**Recommendation**: a guideline that must be considered during programming. + +This document is applicable to standard C++ versions (C++ 03/11/14/17) unless otherwise specified in the rule. + +## Exceptions +It is necessary to understand the reason for each rule or recommendation and to try and comply with them. +However, some rules and recommendations have exceptions. + +The only acceptable exceptions are those that do not violate the general principles and provide appropriate reasons for the exception. +Try to avoid exceptions because they affect the code consistency. Exceptions to 'Rules' should be very rare. + +The style consistency principle is preferred in the following case: +When you modify external open source or third-party code, the existing code specifications prevail. + +# 2 Naming +## General Naming Rules +__CamelCase__ +CamelCase is the practice of writing compound words or phrases so that each word or abbreviation in the phrase begins with a capital letter, with no intervening spaces or punctuation. +There are two conventions: UpperCamelCase and lowerCamelCase. + + +| Type | Naming Style | +| ---------------------------------------- | ---------------------------------------- | +| Class Type, Struct Type, Enumeration Type, and Union Type Definitions, Scope Name | UpperCamelCase | +| Functions (Including Global Functions, Scope Functions, and Member Functions) | UpperCamelCase | +| Global Variables (Including Variables of the Global and Namespace Scopes, Namespace Variables, and Class Static Variables), Local Variables, Function Parameters, and Class, Struct, and Union Member Variables | lowerCamelCase | +| Macro, Constant, Enumerated Value, goto Tag | All caps, separated with underscores (`_`) | + +Note: +**Constant** indicates the variables of the basic, enumeration, or character string type modified by const or constexpr in the global scope, the namespace scope, and the scope of a static member of a class. +**Variable** indicates the variables excluding those defined in **Constant**. These variables use the lowerCamelCase style. + +## File Names +### Recommendation 2.2.1 Use .cpp as the C++ file name extension and .h as the header file name extension. +It is recommended that you use .h as the name extension of a header file so that the header file can be directly compatible with C and C++. +It is recommended that you use .cpp as the name extension of an implementation file. In this way, you can directly distinguish C++ code from C code. + +At present, there are some other file name extensions used by programmers: + +- Header files: .hh, .hpp, .hxx +- Implementation files: .cc, .cxx, .C + +If your project team uses a specific file name extension, you can continue to use it and keep the style consistent. +This document uses .h and .cpp extensions. + + +### Recommendation 2.2.2 Keep C++ file names the same as the class name. +The names of the C++ header file and the C++ implementation file must be the same as the class name. Use the CamelCase or Kernel style and keep the style consistent. + +For example, if there is a class named DatabaseConnection, the corresponding file names are as follows: +- database_connection.h +- database_connection.cpp + +The naming rules of struct, namespace, and enumeration definition files are similar to the rules above. + +## Function Names +Functions are named in UpperCamelCase. Generally, the verb or verb-object structure is used. +```cpp +class List { +public: + void AddElement(const Element& element); + Element GetElement(const unsigned int index) const; + bool IsEmpty() const; +}; + +namespace Utils { + void DeleteUser(); +} +``` + +## Type Names + +Types are named in the UpperCamelCase style. +All types, such as classes, structs, unions, typedefs, and enumerations, use the same conventions. For example: +```cpp +// classes, structs and unions +class UrlTable { ... +class UrlTableTester { ... +struct UrlTableProperties { ... +union Packet { ... + +// typedefs +typedef std::map PropertiesMap; + +// enums +enum UrlTableErrors { ... +``` + +For namespace naming, UpperCamelCase is recommended. +```cpp +// namespace +namespace OsUtils { + +namespace FileUtils { + +} + +} +``` + + +### Recommendation 2.4.1 Do not abuse typedef or #define to alias basic types. +Unless otherwise specified, do not use typedef or #define to redefine a basic value type. +The basic types found in the `` header file are preferable. + +| Signed Type | Unsigned Type | Description | +| ----------- | ------------- | ---------------------------------------- | +| int8_t | uint8_t | The signed or unsigned 8-bit integer type. | +| int16_t | uint16_t | The signed or unsigned 16-bit integer type. | +| int32_t | uint32_t | The signed or unsigned 32-bit integer type. | +| int64_t | uint64_t | The signed or unsigned 64-bit integer type. | +| intptr_t | uintptr_t | The signed or unsigned integer type large enough to hold a pointer. | + + +## Variable Names +General variables are named in lowerCamelCase, including global variables, function parameters, local variables, and member variables. +```cpp +std::string tableName; // Good: Recommended style. +std::string tablename; // Bad: Forbidden style. +std::string path; // Good: When there is only one word, lowerCamelCase (all lowercase) is used. +``` + +### Rule 2.5.1 Add the prefix 'g_' to global variables. Do not add a prefix to a static variable. +Global variables should be used as little as possible, and special attention should be paid to the use of global variables. This prefix highlights global variables so that developers can be more careful when handling them. +- Global static variables and global variables are named in the same way. +- Static variables and common local variables in functions are named in the same way. +- Static member variables and common member variables of classes are named in the same way. + +```cpp +int g_activeConnectCount; + +void Func() +{ + static int packetCount = 0; + ... +} +``` + +### Rule 2.5.2 Name member variables in classes based on the three styles of the lowerCamelCase and maintain a uniform coding style for a product or project. + +```cpp +class Foo { +private: + std::string fileName_; // Add the _ postfix, similar to the K&R naming style. +}; +``` +Use the lowerCamelCase style and do not add prefixes or suffixes to name a member variable of the struct or union type. Keep the naming style consistent with that for a local variable. + +## Macro, Constant, and Enumeration Names +For macros and enumerated values, use all caps separated with underscores (`_`). +In the global scope, constants of named and unnamed namespaces and static member constants should be capitalized and separated with underscores (`_`). Local constants and ordinary const member variables use the lowerCamelCase naming style. + +```cpp +#define MAX(a, b) (((a) < (b))? (b): (a)) // Though examples of Macro names are made, you are not advised to use macros to implement this function. + +enum BaseColor { // Note: Enumerated types are named in the UpperCamelCase style, while their values are all capitalized and separated with underscores (_). + RED, + DARK_RED, + GREEN, + LIGHT_GREEN +}; + +int Func(...) +{ + const unsigned int bufferSize = 100; // Local variable + char *p = new char[bufferSize]; + ... +} + +namespace Utils { + const unsigned int DEFAULT_FILE_SIZE_KB = 200; // Global variable +} + +``` + +# 3 Formatting + +## Line Length + +### Recommendation 3.1.1 Each line of code should contain a maximum of 120 characters. +** Note: **It is recommended that the number of characters in each line not exceed 120. It is recommended that the number of characters in each line not exceed 120. If the line of code exceeds the permitted length, wrap the line appropriately. + +Exception: +- If a one-line comment contains a command or URL of more than 120 characters, you can keep the line for ease in using copy, paste, and search using the grep command. +- The length of an `#include` statement can contain a long path exceeding 120 characters, but this should be avoided if possible. +- The error information in preprocessor directives can exceed the permitted length. + Put the error information of preprocessor directives in one line to facilitate reading and understanding even if the line contains more than 120 characters. +```cpp +#ifndef XXX_YYY_ZZZ +#error Header aaaa/bbbb/cccc/abc.h must only be included after xxxx/yyyy/zzzz/xyz.h, because xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +#endif +``` + +## Indentation + +### Rule 3.2.1 Use spaces to indent and indent 4 spaces at a time. +Only spaces can be used for indentation. Four spaces are indented each time. Do not use the Tab character to indent. +Currently, almost all IDEs support automatic expansion of a Tab to 4 spaces upon pressing the tab key. Please configure your IDE to do so. + +## Braces +### Rule 3.3.1 Use the K&R indentation writing style. +__K&R style__ +When a line break is required, the left brace of a function (excluding the lambda statement) starts a new line. One space should be placed between the statement and the brace. +The right brace starts a new line and nothing else is placed on the line, unless it is followed by the remaining part of the same statement, for example, "while" in the do statement, "else" or "else if" in the if statement, a comma, and a semicolon. + +For example: +```cpp +struct MyType { // Follow the statement to the end, and indent one space. + ... +}; + +int Foo(int a) +{ // The left brace of the function starts a new line, nothing else is placed on the line. + if (...) { + ... + } else { + ... + } +} +``` +The reasons for recommending this style are as follows: + +- Code is more compact. +- Placing the brace at the end of the statement makes the code more continuous in reading rhythm than starting a new line. +- This style complies with mainstream norms and habits of programming languages. +- Most modern IDEs have an automatic code indentation, alignment and display. Placing the brace at the end of a line does not impact understanding. + + +If no function body is inside the braces, the braces can be put on the same line. +```cpp +class MyClass { +public: + MyClass() : value_(0) {} + +private: + int value_; +}; +``` + +## Function Declarations and Definitions + +### Rule 3.4.1 The return type and the function name of a function declaration or definition must be on the same line. When the length of the function parameter list exceeds the permitted length, a line break is required and parameters must be aligned appropriately. +When a function is declared or defined, the return value type of the function should be on the same line as the function name. If the line length permits, the function parameters should be placed on the same line. Otherwise, the function parameters should be wrapped and properly aligned. +The left parenthesis of a parameter list should always be on the same line as the function name. The right parenthesis always follows the last parameter. + +The following is an example of line breaks: +```cpp +ReturnType FunctionName(ArgType paramName1, ArgType paramName2) // Good: All are in the same line. +{ + ... +} + +ReturnType VeryVeryVeryLongFunctionName(ArgType paramName1, // Each added parameter starts on a new line because the line length limit is exceeded. + ArgType paramName2, // Good: aligned with the previous parameter. + ArgType paramName3) +{ + ... +} + +ReturnType LongFunctionName(ArgType paramName1, ArgType paramName2, // Parameters are wrapped because the line length limit is exceeded. + ArgType paramName3, ArgType paramName4, ArgType paramName5) // Good: After the line break, 4 spaces are used for indentation. +{ + ... +} + +ReturnType ReallyReallyReallyReallyLongFunctionName( // The line length cannot accommodate even the first parameter, and a line break is required. + ArgType paramName1, ArgType paramName2, ArgType paramName3) // Good: After the line break, 4 spaces are used for indentation. +{ + ... +} +``` + +## Function Calls +### Rule 3.5.1 A function call parameter list should be placed on one line. When the parameter list exceeds the line length and requires a line break, the parameters should be properly aligned. +A function call parameter list should be placed on one line. When the parameter list exceeds the line length and requires a line break, the parameters should be properly aligned. +The left parenthesis always follows the function name, and the right parenthesis always follows the last parameter. + +The following are examples of proper line breaks: +```cpp +ReturnType result = FunctionName(paramName1, paramName2); // Good: All function parameters are on one line. + +ReturnType result = FunctionName(paramName1, + paramName2, // Good: aligned with the previous parameter + paramName3); + +ReturnType result = FunctionName(paramName1, paramName2, + paramName3, paramName4, paramName5); // Good: Parameters are wrapped. After the line break, 4 spaces are used for indentation. + +ReturnType result = VeryVeryVeryLongFunctionName( // The line length cannot accommodate even the first parameter, and a line break is required. + paramName1, paramName2, paramName3); // After the line break, 4 spaces are used for indentation. +``` + +If some of the parameters called by a function are associated with each other, you can group them for better understanding. +```cpp +// Good: The parameters in each line represent a group of data structures with strong correlation. They are placed on a line for ease of understanding. +int result = DealWithStructureLikeParams(left.x, left.y, // A group of related parameters. + right.x, right.y); // Another group of related parameters. +``` + +## if Statements + +### Rule 3.6.1 Use braces to include an if statement. +We require that all if statements use braces, even if there is only one statement. + +Reasons: +- The logic is intuitive and easy to read. +- It is less prone to mistakes when new code is added to the existing if statement. +- If function-like macros are used in a conditional statement, it is less prone to mistakes (in case the braces are missing when macros are defined). + +```cpp +if (objectIsNotExist) { // Good: Braces are added to a single-line conditional statement. + return CreateNewObject(); +} +``` +### Rule 3.6.2 Place if, else, and else if keywords on separate lines. +If there are multiple branches in a conditional statement, they should be placed on separate lines. + +Good example: + +```cpp +if (someConditions) { + DoSomething(); + ... +} else { // Good: Put the if and else keywords on separate lines. + ... +} +``` + +Bad example: + +```cpp +if (someConditions) { ... } else { ... } // Bad: The if and else keywords are put on the same line. +``` + +## Loop Statements +### Rule 3.7.1 Use braces after loop statements. +Similar to if statements, we require that the for and while loop statements contain braces, even if the loop body is empty or there is only one loop statement. +```cpp +for (int i = 0; i < someRange; i++) { // Good: Braces are used. + DoSomething(); +} +``` +```cpp +while (condition) {} // Good: The while loop body is empty. Braces should be used. +``` +```cpp +while (condition) { + continue; // Good: The continue keyword highlights the end of the empty loop. Braces should be used. +} +``` + +Bad example: +```cpp +for (int i = 0; i < someRange; i++) + DoSomething(); // Bad: Braces are mandatory. +``` +```cpp +while (someCondition) ; // Bad: Using a semicolon here will make people misunderstand that it is a part of the while statement and not the end to it. +``` + +## Switch Statements +### Rule 3.8.1 Indent case and default in a switch statement with four spaces. +The indentation style of the switch statement is as follows: +```cpp +switch (var) { + case 0: // Good: Indented + DoSomething1(); // Good: Indented + break; + case 1: { // Good: Braces are added. + DoSomething2(); + break; + } + default: + break; +} +``` + +```cpp +switch (var) { +case 0: // Bad: case is not indented. + DoSomething(); + break; +default: // Bad: default is not indented. + break; +} +``` + +## Expressions + +### Recommendation 3.9.1 Keep a consistent line break style for expressions and ensure that operators are placed at the end of a line. +A long expression that does not meet the line length requirement must be wrapped appropriately. Generally, the expression is wrapped at an operator of a lower priority or a connector, and the operator or connector is placed at the end of the line. +Placing these at the end of a line indicates that the operation is to be continued on the next line. +For example: + +// Assume that the first line exceeds the length limit. +```cpp +if (currentValue > threshold && // Good: After the line break, the logical-AND operators are placed at the end of the line. + someConditionsion) { + DoSomething(); + ... +} + +int result = reallyReallyLongVariableName1 + // Good + reallyReallyLongVariableName2; +``` +After an expression is wrapped, ensure that the lines are aligned appropriately or indented with 4 spaces. See the following example. + +```cpp +int sum = longVaribleName1 + longVaribleName2 + longVaribleName3 + + longVaribleName4 + longVaribleName5 + longVaribleName6; // Good: indented with 4 spaces + +int sum = longVaribleName1 + longVaribleName2 + longVaribleName3 + + longVaribleName4 + longVaribleName5 + longVaribleName6; // Good: The lines are aligned. +``` +## Variable Assignment + +### Rule 3.10.1 Multiple variable definitions and assignment statements cannot be written on one line. +Each line should have only one variable initialization statement. It is easier to read and understand. + +```cpp +int maxCount = 10; +bool isCompleted = false; +``` + +Bad example: + +```cpp +int maxCount = 10; bool isCompleted = false; // Bad: Multiple variable initialization statements must be separated on different lines. Each variable initialization statement occupies one line. +int x, y = 0; // Bad: Multiple variable definitions must be separated on different lines. Each definition occupies one line. + +int pointX; +int pointY; +... +pointX = 1; pointY = 2; // Bad: Multiple variable assignment statements must be separated on different lines. +``` +Exception: Multiple variables can be declared and initialized in the for loop header, if initialization statement (C++17), and structured binding statement (C++17). Multiple variable declarations in these statements have strong associations. Forcible division into multiple lines may cause problems such as scope inconsistency and separation of declaration from initialization. + +## Initialization +Initialization is applicable to structs, unions, and arrays. + +### Rule 3.11.1 When an initialization list is wrapped, ensure that the line after the break is indented and aligned properly. +If a structure or array initialization list is wrapped, the line after the break is indented with four spaces. +Choose the wrap location and alignment style for best comprehension. + +```cpp +const int rank[] = { + 16, 16, 16, 16, 32, 32, 32, 32, + 64, 64, 64, 64, 32, 32, 32, 32 +}; +``` + +## Pointers and References +### Recommendation 3.12.1 The pointer type `*` follows a variable name or type. There can be only one space to the side of it. +Pointer naming: There can be only one space next to `*`. +```cpp +int* p = NULL; // Good +int *p = NULL; // Good + +int*p = NULL; // Bad +int * p = NULL; // Bad +``` + +Exception: When a variable is modified by const or restrict, `*` cannot follow the variable or type. +```cpp +const char * const VERSION = "V100"; +``` + +### Recommendation 3.12.2 The reference type `&` follows a variable name or type. There can be only one space to the side of it. +Reference naming: There can be only one space around `&`. +```cpp +int i = 8; + +int& p = i; // Good +int &p = i; // Good +int*& rp = pi; // Good: The reference type `*&` follows the type. +int *&rp = pi; // Good: The reference type `*&` follows the variable name. +int* &rp = pi; // Good: The pointer type `*` follows the type and the eference type `&` follows the variable name. + +int & p = i; // Bad +int&p = i; // Bad +``` + +## Preprocessor Directives +### Rule 3.13.1 The number sign (#) that starts a preprocessor directive must be at the beginning of the line and can be indented in nested preprocessor directives. +The number sign (#) that starts a preprocessor directive must be at the beginning of the line even through the preprocessor directive is inside a function. + +```cpp +#if defined(__x86_64__) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16) // Good: "#" is at the beginning of the line. +#define ATOMIC_X86_HAS_CMPXCHG16B 1 // Good: "#" is at the beginning of the line. +#else +#define ATOMIC_X86_HAS_CMPXCHG16B 0 +#endif + + +int FunctionName() +{ + if (someThingError) { + ... +#ifdef HAS_SYSLOG // Good: Even in the function body, "#" is at the beginning of the line. + WriteToSysLog(); +#else + WriteToFileLog(); +#endif + } +} +``` +The nested preprocessor directives starting with `#` can be indented and aligned based on a standardized style. + +```cpp +#if defined(__x86_64__) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16) + #define ATOMIC_X86_HAS_CMPXCHG16B 1 // Good: wrapped for easier comprehension +#else + #define ATOMIC_X86_HAS_CMPXCHG16B 0 +#endif +``` + +## Whitespace +### Rule 3.14.1 Ensure that horizontal spaces are used to highlight keywords and important information, and avoid unnecessary whitespace. +Horizontal spaces are used to highlight keywords and important information. Spaces are not allowed at the end of each code line. The general rules are as follows: + +- Add spaces after keywords such as if, switch, case, do, while, and for. +- Do not add spaces after the left parenthesis or before the right parenthesis. +- For expressions enclosed by braces, either add a space on either side or avoid a space on either side. +- Do not add spaces after any unary operator (& * + - ~ !). +- Add a space to the left and right sides of each binary operator (= + -< > * /% | & ^ <= >= == !=). +- Add spaces to the left and right sides of a ternary operator (? :). +- Do not add spaces between a prefix or suffix increment (++) or decrement (--) operator and a variable. +- Do not add spaces before or after a struct member operator (. ->). +- Do not add spaces before commas. Add spaces after commas. +- Do not add spaces between a template or type conversion operator (<>) and a type. +- Do not add spaces before or after a domain operator (::). +- Determine whether to add spaces before and after a colon (:) based on the actual situation. + +In normal cases: +```cpp +void Foo(int b) { // Good: A space is added before the left brace. + +int i = 0; // Good: During variable initialization, there should be spaces before and after =. Do not leave a space before the semicolon. + +int buf[BUF_SIZE] = {0}; // Good: Spaces are not added in braces. +``` + +Function definition and call: +```cpp +int result = Foo(arg1,arg2); + ^ // Bad: A space should be added after the comma. + +int result = Foo( arg1, arg2 ); + ^ ^ // Bad: Spaces should not be added after the left parenthesis or before the right parenthesis. +``` + +Pointer and Address Operator +```cpp +x = *p; // Good: There is no space between the operator * and the pointer p. +p = &x; // Good: There is no space between the operator & and the variable x. +x = r.y; // Good: When a member variable is accessed through the operator (.), no space is added. +x = r->y; // Good: When a member variable is accessed through the operator (->), no space is added. +``` + +Other Operators: +```cpp +x = 0; // Good: There is a space before and after the assignment operator (=). +x = -5; // Good: There is no space between the minus sign (–) and the number. +++x; //Good: Do not add spaces between a prefix or suffix increment (++) or decrement (--) operator and a variable.. +x--; + +if (x && !y) // Good: There is a space before and after the Boolean operator. There is no space between the ! operator and the variable. +v = w * x + y / z; // Good: There is a space before and after the binary operator. +v = w * (x + z); // Good: There is no space before or after the expression in the parentheses. + +int a = (x < y) ? x : y; // Good: Ternary operator. There is a space before and after ? and : +``` + +Loops and Conditional Statements: +```cpp +if (condition) { // Good: There is a space between the if keyword and the left parenthesis, and no space before or after the conditional statement in the parentheses. + ... +} else { // Good: There is a space between the else keyword and the left brace. + ... +} + +while (conditions) {} // Good: There is a space between the while keyword and the left parenthesis. There is no space before or after the conditional statement in the parentheses. + +for (int i = 0; i < someRange; ++i) { // Good: There is a space between the for keyword and the left parenthesis, and after the semicolon. + ... +} + +switch (condition) { // Good: There is a space after the switch keyword. + case 0: // Good: There is no space between the case condition and the colon. + ... + break; + ... + default: + ... + break; +} +``` + +Templates and Conversions +```cpp +// Angle brackets (< and >) are not adjacent to space. There is no space before < or between > and (. +vector x; +y = static_cast(x); + +// There can be a space between the type and the pointer operator. Keep the spacing style consistent. +vector x; +``` + +Scope Operators +```cpp +std::cout; // Good: Namespace access. Do not leave spaces. + +int MyClass::GetValue() const {} // Good: Do not leave spaces in the definition of member functions. +``` + +Colons +```cpp +// Scenarios when space is required + +// Good: // Add a space before or after the colon in a derived class definition. +class Sub : public Base { + +}; + +// Add a space before or after the colon in the initialization list of a constructor function. +MyClass::MyClass(int var) : someVar_(var) +{ + DoSomething(); +} + +// Add a space before or after the colon in a bit-field. +struct XX { + char a : 4; + char b : 5; + char c : 4; +}; +``` + +```cpp +// Scenarios when space is not required + +// Good: // No space is added before or after the colon next to a class access permission (public or private). +class MyClass { +public: + MyClass(int var); +private: + int someVar_; +}; + +// No space is added before or after the colon in a switch statement. +switch (value) +{ + case 1: + DoSomething(); + break; + default: + break; +} +``` + +Note: Currently, all IDEs support automatic deletion of spaces at the end of a line. Please configure your IDE correctly. + +### Recommendation 3.14.1 Use blank lines only when necessary to keep code compact. + +There must be as few blank lines as possible so that more code can be displayed for easy reading. Recommendations: +- Add blank lines according to the correlation between lines. +- Consecutive blank lines are not allowed inside functions, type definitions, macros, and initialization expressions. +- A maximum of **two** consecutive blank lines can be used. +- Do not add blank lines on the first and last lines of a code block in braces. This recommendation is not applicable to code block in braces of a namespace. + +```cpp +int Foo() +{ + ... +} + + + +int bar() {// Bad: More than one blank lines are used between two function definitions. +{ + ... +} + + +if (...) { + // Bad: Do not add blank lines on the first and last lines of a code block. + ... + // Bad: Do not add blank lines on the first and last lines of a code block. +} + +int Foo(...) +{ + // Bad: Do not add blank lines before the first statement in a function body. + ... +} +``` + +## Classes +### Rule 3.15.1 Class access specifier declarations are in the sequence: public, protected, private. Indent these specifiers to the same level as the class keyword. +```cpp +class MyClass : public BaseClass { +public: // Not indented. + MyClass(); // Indented with 4 spaces. + explicit MyClass(int var); + ~MyClass() {} + + void SomeFunction(); + void SomeFunctionThatDoesNothing() + { + } + + void SetVar(int var) { someVar_ = var; } + int GetVar() const { return someVar_; } + +private: + bool SomeInternalFunction(); + + int someVar_; + int someOtherVar_; +}; +``` + +In each part, it is recommended that similar statements be put together and in the following order: Type (including typedef, using, nested structs and classes), Constant, Factory Function, Constructor, Assignment Operator, Destructor, Other Member Function, and Data Member + + +### Rule 3.15.2 The constructor initialization list must be on the same line or wrapped and aligned with four spaces of indentation. +```cpp +// If all variables can be placed on the same line +MyClass::MyClass(int var) : someVar_(var) +{ + DoSomething(); +} + +// If the variables cannot be placed on the same line +// Wrapped at the colon and indented with four spaces +MyClass::MyClass(int var) + : someVar_(var), someOtherVar_(var + 1) // Good: Add a space after the comma. +{ + DoSomething(); +} + +// If an initialization list needs to be placed in multiple lines, put each member on a separate line and align between lines. +MyClass::MyClass(int var) + someVar(var), // Four spaces of indentation. + someOtherVar_(var + 1) +{ + DoSomething(); +} +``` + +# 4 Comments +Generally, clear architecture and good naming are recommended to improve code readability, and comments are provided only when necessary. +Comments are used to help readers quickly understand code. Therefore, **comments should be provided for the sake of readers**. + +Comments must be concise, clear, and unambiguous, ensuring that information is complete and not redundant. + +**Comments are as important as code**. +When writing a comment, you need to step into the reader's shoes and use comments to express what the reader really needs. Comments are used to express the function and intention of code, rather than repeating code. +When modifying the code, ensure that the comments are consistent with the modified code. It is not polite to modify only code and keep the old comments, which will undermine the consistency between code and comments, and may confuse or even mislead readers. + +Comments should be made in English. + +## Comment Style + +In C++ code, both ` /* */` and ` // ` can be used for commenting. +Comments can be classified into different types, such as file header comments, function header comments, and code comments. This is based on their purposes and positions. +Comments of the same type must keep a consistent style. + +Note: Example code in this document uses comments in the `//` format only to better describe the rules and recommendations. This does not mean this comment format is better. + +## File Header Comments +### Rule 4.2.1 File header comments must contain the copyright notice. + +/* + * Copyright (c) 2020 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +## Function Header Comments +### Rule 4.3.1 Function header comments with no content are forbidden. +Not all functions need function header comments. +For information that cannot be described by function signatures, add function header comments. + +Function header comments are placed above the function declaration or definition. Use one of the following styles: +Use '//' to start the function header. + +```cpp +// Single-line function header +int Func1(void); + +// Multi-line function header +// Second line +int Func2(void); +``` + +Use `/* */` to start the function header. +```cpp +/* Single-line function header */ +int Func1(void); + +/* + * Another single-line function header + */ +int Func2(void); + +/* + * Multi-line function header + * Second line + */ +int Func3(void); +``` +Use function names to describe functions, and add function header comments if necessary. +Do not write useless or redundant function headers. Do not write empty function headers with no content. + +The function header comment content will depend on the function and includes but is not limited to: a function description, return value, performance constraints, usage comments, memory conventions, algorithm implementation, reentering requirements. +In the function interface declaration in the external header file, the function header comment should clearly describe important and useful information. + +Good example: + +```cpp +/* + * The number of written bytes is returned. If -1 is returned, the write operation failed. + * Note that the memory buffer should be released by the caller. + */ +int WriteString(const char *buf, int len); +``` + +Bad example: +```cpp +/* + * Function name: WriteString + * Function: Write a character string. + * Parameters: + * Return value: + */ +int WriteString(const char *buf, int len); +``` +Problems: + +- The 'Parameters' and 'Return value' have no content. +- The function name is redundant. +- The most import thing, that is, who needs to release the buffer, is not clearly stated. + +## Code Comments +### Rule 4.4.1 Code comments are placed above or on the right of the corresponding code. +### Rule 4.4.2 There must be a space between the comment character and the comment content. At least one space is required between the comment and code if the comment is placed to the right of code. +Comments placed above code should be indented the same as that of the code. +Use one of the following styles: +Use "//". +```cpp + +// Single-line comment +DoSomething(); + +// Multi-line comment +// Second line +DoSomething(); +``` + +Use `/* */`. +```cpp +/* Single-line comment */ +DoSomething(); + +/* + * Multi-line comment in another mode + * Second line + */ +DoSomething(); +``` +Leave at least one space between the code and the comment on the right. It is recommended that no more than four spaces be left. +You can use the Tab key to indent 1–4 spaces. + +Select and use one of the following styles: + +```cpp +int foo = 100; // Comment on the right +int bar = 200; /* Comment on the right */ +``` +It is more appealing sometimes when the comment is placed on the right of code and the comments and code are aligned vertically. +After the alignment, ensure that the comment is 1–4 spaces away from the widest line of code. +For example: + +```cpp +const int A_CONST = 100; /* Related comments of the same type can be aligned vertically. */ +const int ANOTHER_CONST = 200; /* Leave spaces after code to align comments vertically. */ +``` +When the comment on the right exceeds the line width, consider placing the comment above the code. + +### Rule 4.4.3 Delete unused code segments. Do not comment them out. +Code that is commented out cannot be maintained. If you attempt to restore the code, it is very likely to introduce ignorable defects. +The correct method is to delete unnecessary code directly. If necessary, consider porting or rewriting the code. + +Here, commenting out refers to the removal of code from compilation without actually deleting it. This is done by using /* */, //, #if 0, #ifdef NEVER_DEFINED, and so on. + +### Recommendation 4.4.1 Delivered code cannot contain a TODO/TBD/FIXME comment. +TODO/TBD comments are used to describe required improvements and supplements. +FIXME comments are used to describe defects that need fixing. +They should have a standardized style, which facilitates text search. For example: + +```cpp +// TODO(): XX +// FIXME: XX +``` + + +# 5 Header Files +## Header File Responsibility +A header file is an external interface of a module or file. The design of a header file shows most of the system design. +The interface declaration for most functions is more suitable placed in the header file, but implementation (except inline functions) cannot be placed in the header file. Functions, macros, enumerations, and structure definitions that need to be used in .cpp files cannot be placed in the header file. +The header responsibility should be simple. An overly complex header file will make dependencies complex and cause long compilation times. + +### Recommendation 5.1.1 Each .cpp file should have a .h file with the same name. It should be used to declare the classes and interfaces that need to be exposed externally. +Generally, each .cpp file has a corresponding .h file. This .cpp file is used to store the function declarations, macro definitions, and class definitions that are to be exposed. +If a .cpp file does not need to open any interface externally, it should not exist. +Exception: __An entry point (for example, the file where the main function is located), unit tests, and dynamic libraries __ + +For example: +```cpp +// Foo.h + +#ifndef FOO_H +#define FOO_H + +class Foo { +public: + Foo(); + void Fun(); + +private: + int value_; +}; + +#endif +``` + +```cpp +// Foo.cpp +#include "Foo.h" + +namespace { // Good: The declaration of the internal function is placed in the header of the .cpp file, and has been limited to the unnamed namespace or static scope. + void Bar() + { + } +} + +... + +void Foo::Fun() +{ + Bar(); +} +``` + +## Header File Dependency +### Rule 5.2.1 Header file cyclic dependency is forbidden. +An example of cyclic dependency (also known as circular dependency) is: a.h contains b.h, b.h contains c.h, and c.h contains a.h. If any of these header files is modified, all code containing a.h, b.h, and c.h needs to be recompiled. +For a unidirectional dependency, for example if: a.h contains b.h, b.h contains c.h, and c.h does not contain any header file, modifying a.h does not mean that we need to recompile the source code for b.h or c.h. + +The cyclic dependency of header files reflects an obviously unreasonable architecture design, which can be avoided through optimization. + + +### Rule 5.2.2 Header files should have #define guards to prevent multiple inclusion. +To prevent header files from being included multiple times, all header files should be protected by #define. Do not use #pragma once. + +When defining a protection character, comply with the following rules: +1) The protection character uses a unique name. +2) Do not place code or comments (except for file header comments) before or after the protected part. + +Example: Assume that the timer.h file of the timer module is in the timer/include/timer.h directory. Perform the following operations to safeguard the timer.h file: + +```cpp +#ifndef TIMER_INCLUDE_TIMER_H +#define TIMER_INCLUDE_TIMER_H +... +#endif +``` + +### Rule 5.2.3 It is prohibited to reference external function interfaces and variables in extern declaration mode. +Interfaces provided by other modules or files can be used only by including header files. +Using external function interfaces and variables in extern declaration mode may cause inconsistency between declarations and definitions when external interfaces are changed. +In addition, this kind of implicit dependency may cause architecture corruption. + +Cases that do not comply with specifications: + +// a.cpp content +```cpp +extern int Fun(); // Bad: Use external functions in extern mode. + +void Bar() +{ + int i = Fun(); + ... +} +``` + +// b.cpp content +```cpp +int Fun() +{ + // Do something +} +``` +Should be changed to: + +// a.cpp content +```cpp +#include "b.h" // Good: Use the interface provided by other .cpp by including its corresponding header file. + +void Bar() +{ + int i = Fun(); + ... +} +``` + +// b.h content +```cpp +int Fun(); +``` + +// b.cpp content +```cpp +int Fun() +{ + // Do something +} +``` +In some scenarios, if internal functions need to be referenced with no intrusion to the code, the extern declaration mode can be used. +For example: +When performing unit testing on an internal function, you can use the extern declaration to reference the tested function. +When a function needs to be stubbed or patched, the function can be declared using extern. + +### Rule 5.2.4 Do not include header files in extern "C". +If a header file is included in extern "C", extern "C" may be nested. Some compilers restrict the nesting of extern "C". If there are too many nested layers, compilation errors may occur. + +When C and C++ programmings are used together and if extern "C" includes a header file, the original intent behind the header file may be hindered. For example, when the link specifications are modified incorrectly. + +For example, assume that there are two header files a.h and b.h. + +// a.h content +```cpp +... +#ifdef __cplusplus +void Foo(int); +#define A(value) Foo(value) +#else +void A(int) +#endif +``` +// b.h content +```cpp +... +#ifdef __cplusplus +extern "C" { +#endif + +#include "a.h" +void B(); + +#ifdef __cplusplus +} +#endif +``` + +Using the C++ preprocessor to expand b.h, the following information is displayed: +```cpp +extern "C" { + void Foo(int); + void B(); +} +``` + +According to the author of a.h, the function Foo is a C++ free function following the "C++" link specification. +However, because `#include "a.h"` is placed inside `extern "C"` in b.h, the link specification of function Foo is changed incorrectly. + +Exception: +In the C++ compilation environment, if you want to reference the header file of pure C, the C header files should not contain `extern "C"`. The non-intrusive approach is to include the C header file in `extern "C"`. + +### Recommendation 5.2.1 Use `#include` instead of a forward declaration to include header files. +A forward declaration is for the declaration of classes, functions, and templates and is not meant for its definition. + +- Advantages: + 1. Forward declarations can save compilation time. Redundant `#include `statements force the compiler to expand more files and process more input. + 2. Forward declarations can save unnecessary recompilation time. The use of #include will force your code to be recompiled multiple times due to unrelated changes in header files. +- Disadvantages: + 1. Forward declarations hide dependency relationship. When a header file is modified, user code will skip the necessary recompilation process. + 2. A forward declaration may be broken by subsequent changes to the library. Forward declarations of functions and templates sometimes prevent header file developers from changing APIs. For example, widening a formal parameter type, adding a template parameter with a default value, and so on. + 3. Forward declaration of symbols from the namespace `std::` is seen as undefined behavior (as specified in the C++ 11 standard specification). + 4. Forward declaration of multiple symbols from a header file can be more verbose than simply including (#include) the header. + 5. Structuring code only for forward declaration (for example, using pointer members instead of object members) can make the code more complex and slower. + 6. It is difficult to determine whether a forward declaration or `#include` is needed. In some scenarios, replacing `#include` with a forward declaration may cause unexpected results. + +Therefore, we should avoid using forward declarations as much as possible. Instead, we use the #include statement to include a header file and ensure dependency. + +# 6 Scopes + +## Namespaces + +### Recommendation 6.1.1 For code that does not need to be exported from the .cpp file, you are advised to use an unnamed namespace for encapsulation or use static to modify the variables, constants, or functions that need hiding. +In the C++ 2003 standard, using static to modify the external availability of functions and variables was marked as deprecated. Therefore, unnamed namespaces are the recommended method. + +Main Reasons: +1. There are too many meanings for static in C++: static function member variable, static member function, static global variable, and static function local variable. Each of them has special processing. +2. Static can only be used to define variables, constants, and functions that are not referenced outside the current .cpp file, while namespaces can also be used to encapsulate types. +3. Use a namespace to control the scope instead of using both static and namespaces. +4. Unnamed namespaces can be used to instantiate templates rather than functions modified by the static keyword. + +Do not use unnamed namespaces or static in header files. + +```cpp +// Foo.cpp + +namespace { + const int MAX_COUNT = 20; + void InternalFun(){}; +} + +void Foo::Fun() +{ + int i = MAX_COUNT; + + InternalFun(); +} + +``` + +### Rule 6.1.1 Do not use "using" to import namespace in a header file or before #include statements. +Note: Using "using" to import namespace will affect any subsequent code and may cause symbol conflicts. +Example: + +```cpp +// Header file a.h +namespace NamespaceA { + int Fun(int); +} +``` + +```cpp +// Header file b.h +namespace NamespaceB { + int Fun(int); +} + +using namespace NamespaceB; + +void G() +{ + Fun(1); +} +``` + +```cpp +// Source code a.cpp +#include "a.h" +using namespace NamespaceA; +#include "b.h" + +void main() +{ + G(); // "using namespace NamespaceA" before #include "b.h", will cause conflicts when calling NamespaceA::Fun and NamespaceB::Fun. +} +``` + +Using "using" to import a symbol or define an alias in a header file is allowed in customized namespaces of modules, but is prohibited in the global namespace. +```cpp +// foo.h + +#include +using fancy::string; // Bad: It is prohibited to import symbols to the global namespace. + +namespace Foo { + using fancy::string; // Good: Symbols can be imported in customized namespaces of modules. + using MyVector = fancy::vector; // Good: In C++11, aliases can be defined in customized namespaces. +} +``` + + +## Global Functions and Static Member Functions + +### Recommendation 6.2.1 Use namespaces to manage global functions. If global functions are closely tied to a class, you can use static member functions. +Note: Placing non-member functions in a namespace avoids polluting the global scope. Do not use "class + static member function" to simply manage global functions. If a global function is closely tied to a class, it can be used as a static member function of the class. + +If you need to define some global functions for a .cpp file, use unnamed namespaces for management. +```cpp +namespace MyNamespace { + int Add(int a, int b); +} + +class File { +public: + static File CreateTempFile(const std::string& fileName); +}; +``` + +## Global Constants and Static Member Constants + +### Recommendation 6.3.1 Use namespaces to manage global constants. If global constants are closely tied to a class, you can use static member constants. +Note: Placing global constants in a namespace avoids polluting the global scope. Do not use "class + static member constant" to simply manage global constants. If a global constant is closely tied to a class, it can be used as a static member constant of the class. + +If you need to define some global constants only for a .cpp file, use unnamed namespaces for management. +```cpp +namespace MyNamespace { + const int MAX_SIZE = 100; +} + +class File { +public: + static const std::string SEPARATOR; +}; +``` + +## Global Variables + +### Recommendation 6.4.1 Do not use global variables. Use the singleton pattern instead. +Note: Global variables can be modified and read, which results in data coupling between production code and the global variables. +```cpp +int g_counter = 0; + +// a.cpp +g_counter++; + +// b.cpp +g_counter++; + +// c.cpp +cout << g_counter << endl; +``` + +Singleton +```cpp +class Counter { +public: + static Counter& GetInstance() + { + static Counter counter; + return counter; + } // Simple example of a singleton implementation + + void Increase() + { + value_++; + } + + void Print() const + { + std::cout << value_ << std::endl; + } + +private: + Counter() : value_(0) {} + +private: + int value_; +}; + +// a.cpp +Counter::GetInstance().Increase(); + +// b.cpp +Counter::GetInstance().Increase(); + +// c.cpp +Counter::GetInstance().Print(); +``` + +After the singleton is implemented, there is a unique global instance, which can functions as a global variable. However, the singleton provides better encapsulation. + +Exception: In some cases, the scope of a global variable is contained inside a module. Multiple instances of the same global variable may exist, and each module holds one copy. In this case, a singleton cannot be used as it is limited to one instance. + +# 7 Classes + +## Constructors, Copy/Move Constructors, Copy/Move Assignment Operators, and Destructors +Constructors, copy/move constructors, copy/move assignment operators, and destructors provide lifetime management methods for objects. +- Constructor: `X()` +- Copy constructor: `X(const X&)` +- Copy assignment operator: `operator=(const X&)` +- Move constructor: `X (X&&)` *Provided in versions later than C++ 11*. +- Move assignment operator: `operator=(X&&)` *Provided in versions later than C++ 11*. +- Destructor: `~X()` + +### Rule 7.1.1 The member variables of a class must be initialized explicitly. +Note: If a class has members but no constructor and a default constructor is defined, the compiler will automatically generate a constructor, but it will not initialize member variables. The content of each object is uncertain. + +Exception: +- If the member variables in a class have a default constructor, explicit initialization is not required. + +Example: The following code has no constructor, and private data members cannot be initialized: +```cpp +class Message { +public: + void ProcessOutMsg() + { + //… + } + +private: + unsigned int msgID_; + unsigned int msgLength_; + unsigned char* msgBuffer_; + std::string someIdentifier_; +}; + +Message message; // The message member is not initialized. +message.ProcessOutMsg(); // Potential risks exist in subsequent use. + +// Therefore, it is necessary to define a default constructor as follows: +class Message { +public: + Message() : msgID_(0), msgLength_(0), msgBuffer_(NULL) + { + } + + void ProcessOutMsg() + { + // … + } + +private: + unsigned int msgID_; + unsigned int msgLength_; + unsigned char* msgBuffer_; + std::string someIdentifier; // The member variable has a default constructor. Therefore, explicit initialization is not required. +}; +``` + +### Recommendation 7.1.1 Initialization during declaration (C++ 11) and initialization using the constructor initialization list are preferred for member variables. +Note: Initialization during declaration (C++11) is preferred because initialized values of member variables can be easily understood. If initialized values of certain member variables are relevant to constructors, or C++ 11 is not supported, the constructor initialization list is used preferentially to initialize these member variables. Compared with the assignment statements in constructors, code of the constructor initialization list is simpler and has higher performance, and can be used to initialize constant and reference members. + +```cpp +class Message { +public: + Message() : msgLength(0) { // Good: The constructor initialization list is preferred. + { + msgBuffer = NULL; // Bad: Values cannot be assigned in constructors. + } + +private: + unsigned int msgID{0}; // Good: Used in C++11. + unsigned int msgLength_; + unsigned char* msgBuffer_; +}; +``` + +### Rule 7.1.2 Declare single-parameter constructors as explicit to prevent implicit conversion. +Note: If a single-parameter constructor is not declared as explicit, it will become an implicit conversion function. +Example: + +```cpp +class Foo { +public: + explicit Foo(const string& name): name_(name) + { + } +private: + string name_; +}; + + +void ProcessFoo(const Foo& foo){} + +int main(void) +{ + std::string test = "test"; + ProcessFoo(test); // Compiling failed. + return 0; +} +``` + +The preceding code fails to be compiled because the parameter required by `ProcessFoo` is of the Foo type, which mismatch with the input string type. + +If the explicit keyword of the Foo constructor is removed, implicit conversion is triggered and a temporary Foo object is generated when `ProcessFoo` is called with the string parameter. Usually, this implicit conversion is confusing and bugs are apt to be hidden, due to unexpected type conversion. Therefore, single-parameter constructors require explicit declaration. + +### Rule 7.1.3 If copy/move constructors and copy/move assignment operators are not needed, clearly prohibit them. +Note: If users do not define it, the compiler will generate copy constructors and copy assignment operators, move constructors and move assignment operators (move semantic functions will be available in versions later than C++ 11). +If we do not use copy constructors or copy assignment operators, explicitly delete them. + +1. Set copy constructors or copy assignment operators to private and do not implement them. +```cpp +class Foo { +private: + Foo(const Foo&); + Foo& operator=(const Foo&); +}; +``` +2. Use delete provided by C++ 11. For details, see Rule 10.1.3 in chapter 10 Modern C++ Features. + +### Rule 7.1.4 Copy constructors and copy assignment operators should be implemented or forbidden together. +Both copy constructors and copy assignment operators provide copy semantics. They should be implemented or hidden together. + +```cpp +// The copy constructor and the copy assignment operator are implemented together. +class Foo { +public: + ... + Foo(const Foo&); + Foo& operator=(const Foo&); + ... +}; + +// The copy constructor and the copy assignment operator are both set to default, as supported by C++ 11. +class Foo { +public: + Foo(const Foo&) = default; + Foo& operator=(const Foo&) = default; +}; + +// The copy constructor and the copy assignment operator are hidden together. You should use the delete keyword if C++11 features are available. +class Foo { +private: + Foo(const Foo&); + Foo& operator=(const Foo&); +}; +``` + +### Rule 7.1.5 Move constructors and move assignment operators should be implemented or hidden together. +The move operation is added in C++ 11. If a class is required to support the move operation, move constructors and move assignment operators need to be implemented. + +Both move constructors and move assignment operators provide move semantics. They should be implemented or hidden together. +```cpp +// The copy constructor and the copy assignment operator are implemented together. +class Foo { +public: + ... + Foo(Foo&&); + Foo& operator=(Foo&&); + ... +}; + +// The copy constructor and the copy assignment operator are both set to default, as supported by C++ 11. +class Foo { +public: + Foo(Foo&&) = default; + Foo& operator=(Foo&&) = default; +}; + +// The copy constructor and the copy assignment operator are hidden together. You should use the delete keyword if C++11 features are available. +class Foo { +public: + Foo(Foo&&) = delete; + Foo& operator=(Foo&&) = delete; +}; +``` + +### Rule 7.1.6 It is prohibited to call virtual functions in constructors and destructors. +Note: Calling a virtual function of the current object in a constructor or destructor will cause behaviors of non-polymorphism. +In C++, a base class constructs only one complete object at a time. + +Example: Base indicates the base class, and Sub indicates the derived class. +```cpp +class Base { +public: + Base(); + virtual void Log() = 0; // Different derived classes call different log files. +}; + +Base::Base() // Base class constructor +{ + Log(); // Call the virtual function log. +} + +class Sub : public Base { +public: + virtual void Log(); +}; +``` + +When running the following statement: +`Sub sub;` +The constructor of the derived class is executed first. However, the constructor of the base class is called first. Because the constructor of the base class calls the virtual function log, the log is in the base class version. The derived class is constructed only after the base class is constructed. As a result, behaviors of non-polymorphism are caused. +This also applies to destructors. + + +## Inheritance + +### Rule 7.2.1 Destructors of a base class should be declared as virtual. +Note: Destructors of the derived class can be called during polymorphism invocation only when destructors of the base class are virtual. + +Example: There will be memory leak if destructors of the base class are not declared as virtual. +```cpp +class Base { +public: + virtual std::string getVersion() = 0; + + ~Base() + { + std::cout << "~Base" << std::endl; + } +}; +``` + +```cpp +class Sub : public Base { +public: + Sub() : numbers_(NULL) + { + } + + ~Sub() + { + delete[] numbers_; + std::cout << "~Sub" << std::endl; + } + + int Init() + { + const size_t numberCount = 100; + numbers_ = new (std::nothrow) int[numberCount]; + if (numbers_ == NULL) { + return -1; + } + + ... + } + + std::string getVersion() + { + return std::string("hello!"); + } +private: + int* numbers_; +}; +``` + +```cpp +int main(int argc, char* args[]) +{ + Base* b = new Sub(); + + delete b; + return 0; +} +``` +Because destructors of the base class are not declared as virtual, only destructors of the base class are called when an object is destroyed. Destructors of the derived class Sub are not called. As a result, a memory leak occurs. + + +### Rule 7.2.2 Do not use default parameter values for virtual functions. +Note: In C++, virtual functions are dynamically bound, but the default parameters of functions are statically bound during compilation. This means that the function you finally execute is a virtual function that is defined in the derived class but uses the default parameter value in the base class. To avoid confusion and other problems caused by inconsistent default parameter declarations during overriding of virtual functions, it is prohibited to declare default parameter values for all virtual functions. +Example: The default value of parameter "text" of the virtual function "Display" is determined at compilation time instead of runtime, which does not fit with polymorphism. +```cpp +class Base { +public: + virtual void Display(const std::string& text = "Base!") + { + std::cout << text << std::endl; + } + + virtual ~Base(){} +}; + +class Sub : public Base { +public: + virtual void Display(const std::string& text = "Sub!") + { + std::cout << text << std::endl; + } + + virtual ~Sub(){} +}; + +int main() +{ + Base* base = new Sub(); + Sub* sub = new Sub(); + + ... + + base->Display(); // The program output is as follows: Base! The expected output is as follows: Sub! + sub->Display(); // The program output is as follows: Sub! + + delete base; + delete sub; + return 0; +}; +``` + +### Rule 7.2.3 Do not redefine inherited non-virtual functions. +Note: Non-virtual functions cannot be dynamically bound (only virtual functions can be dynamically bound). You can obtain the correct result by operating on the pointer of the base class. + +Example: +```cpp +class Base { +public: + void Fun(); +}; + +class Sub : public Base { +public: + void Fun(); +}; + +Sub* sub = new Sub(); +Base* base = sub; + +sub->Fun(); // Call Fun of the derived class. +base->Fun(); // Call Fun of the base class. +//... + +``` + +## Multiple Inheritance +In the actual development process, multiple inheritance is seldom used because the following typical problems may occur: +1. Data duplication and name ambiguity caused by "diamond" inheritance. C++ introduces virtual inheritance to solve these problems. +2. In addition to "diamond" inheritance, names of multiple base classes may also conflict with each other, resulting in name ambiguity. +3. If a derived class needs to be extended or needs to override methods of multiple base classes, the responsibilities of the derived classes are unclear and semantics are muddled. +4. Compared with delegation, inheritance is seen as white box reuse, that is, a derived class can access the protected members of the base class, which leads to more coupling. Multiple inheritance, due to the coupling of multiple base classes, leads to even more coupling. + +Multiple inheritance has the following advantages: +Multiple inheritance provides a simpler method for assembling and reusing multiple interfaces or classes. + +Therefore, multiple inheritance can be used only in the following cases: + +### Recommendation 7.3.1 Use multiple inheritance to implement interface separation and multi-role combination. +If a class requires multiple interfaces, combine multiple separated interfaces by using multiple inheritance. This is similar to the Traits mixin of the Scala language. + +```cpp +class Role1 {}; +class Role2 {}; +class Role3 {}; + +class Object1 : public Role1, public Role2 { + // ... +}; + +class Object2 : public Role2, public Role3 { + // ... +}; + +``` + +The C++ standard library has a similar implementation example: +```cpp +class basic_istream {}; +class basic_ostream {}; + +class basic_iostream : public basic_istream, public basic_ostream { + +}; +``` + +## Overloading + +Overload operators should be used when there are sufficient reasons, and they do not change the original perception of the operators. For example, do not use the plus sign (+) to perform subtraction. +Operator overloading can make code more intuitive but has some disadvantages: +- It is often mistaken that the operation is as fast as a built-in operator, which has no performance degradation. +- There is no naming to aid debugging. It is more convenient to search by function name than by operator. +- Overloading operators can cause confusion if behavior definitions are not intuitive (for example, if the "+" operator is used for subtraction). +- The implicit conversion caused by the overloading of assignment operators may lead to entrenched bugs. Functions such as Equals () and CopyFrom () can be defined to replace the = and == operators. + + + +# 8 Functions +## Function Design +### Rule 8.1.1 Avoid long functions and ensure that each function contains no more than 50 lines (non-null and non-comment). +A function should be displayed on one screen (no longer than 50 lines). It should do only one thing, and do it well. + +Long functions often mean that the functions are too complex to implement in more than one function, or overly detailed but not further abstracted. + +Exception: Some algorithms may be longer than 50 lines due to algorithm convergence and functional comprehensiveness. + +Even if a long function works very well now, once someone modifies it, new problems may occur. It might even cause bugs that are difficult to find. +It is recommended that you split a long function into several functions that are simpler and easier to manage, facilitating comprehension and modification. + +## Inline Functions + +### Recommendation 8.2.1 An inline function cannot exceed 10 lines. +**Note**: An inline function has the same characteristics of a normal function. The difference between an inline function and a normal function lies in the processing of function calls. When a general function is called, the program execution right is transferred to the called function, and then returned to the function that calls it. When an inline function is called, the invocation expression is replaced with an inline function body. + +Inline functions are only suitable for small functions with only 1-10 lines. For a large function that contains many statements, the function call and return overheads are relatively trivial and do not need the help of an inline function. Most compilers may abandon the inline mode and use the common method to call the function. + +If an inline function contains complex control structures, such as loop, branch (switch), and try-catch statements, the compiler may regard the function as a common function. +**Virtual functions and recursive functions cannot be used as inline functions**. + +## Function Parameters + +### Recommendation 8.3.1 Use a reference instead of a pointer for function parameters. + +**Note**: A reference is more secure than a pointer because it is not empty and does not point to other targets. Using a reference stops the need to check for illegal null pointers. + +If a product is being developed for an older platform, the processing used by the old platform is preferred. +Use const to avoid parameter modification, so that readers can clearly know that a parameter is not going to be modified. This greatly enhances code readability. + +Exception: When the input parameter is an array with an unknown compile-time length, you can use a pointer instead of a reference. + +### Recommendation 8.3.2 Use strongly typed parameters. Do not use void*. +While different languages have their own views on strong typing and weak typing, it is generally believed that C and C++ are strongly typed languages. Since we use such a strongly typed language, we should keep to this style. +An advantage of this is the compiler can find type mismatch problems at the compilation stage. + +Using strong typing helps the compiler find more errors for us. Pay attention to the usage of the FooListAddNode function in the following code: +```cpp +struct FooNode { + struct List link; + int foo; +}; + +struct BarNode { + struct List link; + int bar; +} + +void FooListAddNode(void *node) // Bad: Here, the void * type is used to transfer parameters. +{ + FooNode *foo = (FooNode *)node; + ListAppend(&g_FooList, &foo->link); +} + +void MakeTheList() +{ + FooNode *foo = NULL; + BarNode *bar = NULL; + ... + + FooListAddNode(bar); // Wrong: In this example, the foo parameter was supposed to be transferred, but the bar parameter is accidentally transferred instead. However, no error is reported. +} +``` + +1. You can use a template function to change the parameter type. +2. A base class pointer can be used to implement this according to polymorphism. + +### Recommendation 8.3.3 A function can have a maximum of five parameters. +If a function has too many parameters, it is apt to be affected by external changes, and therefore maintenance is affected. Too many function parameters will also increase the testing workload. + +If a function has more than five parameters, you can: +- Split the function. +- Combine related parameters into a struct. + +# 9 Other C++ Features + +## Constants and Initialization + +Unchanged values are easier to understand, trace, and analyze. Therefore, use constants instead of variables as much as possible. When defining values, use const as a default. + +### Rule 9.1.1 Do not use macros to replace constants. + +**Note**: Macros are a simple text replacement that is completed in the preprocessing phase. When an error is reported, the corresponding value is reported. During tracing and debugging, the value is also displayed instead of the macro name. A macro does not support type checking and is insecure. A macro has no scope. + +```cpp +#define MAX_MSISDN_LEN 20 // Bad + +// Use const in C++. +const int MAX_MSISDN_LEN = 20; // Good + +// In versions later than C++ 11, constexpr can be used. +constexpr int MAX_MSISDN_LEN = 20; +``` + +### Recommendation 9.1.1 A group of related integer constants must be defined as an enumeration. + +**Note**: Enumerations are more secure than `#define` or `const int`. The compiler checks whether a parameter value is within the enumerated value range to avoid errors. + +```cpp +// Good example: +enum Week { + SUNDAY, + MONDAY, + TUESDAY, + WEDNESDAY, + THURSDAY, + FRIDAY, + SATURDAY +}; + +enum Color { + RED, + BLACK, + BLUE +}; + +void ColorizeCalendar(Week today, Color color); + +ColorizeCalendar(BLUE, SUNDAY); // Compilation error. The parameter type is incorrect. + +// Bad example: +const int SUNDAY = 0; +const int MONDAY = 1; + +const int BLACK = 0; +const int BLUE = 1; + +bool ColorizeCalendar(int today, int color); +ColorizeCalendar(BLUE, SUNDAY); // No error is reported. +``` + +When an enumeration value needs to correspond to a specific value, explicit value assignment is required during declaration. Otherwise, do not assign explicit values. This will prevent repeated assignment and reduce the maintenance workload (when adding and deleting members). + +```cpp +// Good example: Device ID defined in the S protocol. It is used to identify a device type. +enum DeviceType { + DEV_UNKNOWN = -1, + DEV_DSMP = 0, + DEV_ISMG = 1, + DEV_WAPPORTAL = 2 +}; +``` + +Do not assign explicit values when enumeration is used internally, and only for classification. + +```cpp +// Good example: Enumeration definition is used to identify session status in a program. +enum SessionState { + INIT, + CLOSED, + WAITING_FOR_RESPONSE +}; +``` + +Try to avoid repeating enumeration values. If it is required, use the already defined enumeration values instead. + +```cpp +enum RTCPType { + RTCP_SR = 200, + RTCP_MIN_TYPE = RTCP_SR, + RTCP_RR = 201, + RTCP_SDES = 202, + RTCP_BYE = 203, + RTCP_APP = 204, + RTCP_RTPFB = 205, + RTCP_PSFB = 206, + RTCP_XR = 207, + RTCP_RSI = 208, + RTCP_PUBPORTS = 209, + RTCP_MAX_TYPE = RTCP_PUBPORTS +}; +``` + +### Rule 9.1.2 Magic numbers cannot be used. +So-called magic numbers are numbers that are unintelligible and difficult to understand. + +Some numbers can be understood based on context. +For example, the number 12 varies in different contexts. +type = 12; is not intelligible (and a magic number), but `month = year * 12`; can be understood, so we wouldn't really class this as a magic number. +The number 0 is often seen as a magic number. For example, `status = 0`; cannot truly express any status information. + +Solution: +Comments can be added for numbers that are used locally. +For the numbers that are used multiple times, you must define them as constants and give them descriptive names. + +The following cases are forbidden: +No symbol is used to explain the meaning of a number, for example, ` const int ZERO = 0`. +The symbol name limits the value. For example, for example, `const int XX_TIMER_INTERVAL_300MS = 300`. Use `XX_TIMER_INTERVAL_MS` instead. + +### Rule 9.1.3 Ensure that a constant has only one responsibility. + +**Note**: A constant is used for only one specific function, that is, a constant cannot be used for multiple purposes. + +```cpp +// Good example: For protocol A and protocol B, the length of the MSISDN is 20. +const unsigned int A_MAX_MSISDN_LEN = 20; +const unsigned int B_MAX_MSISDN_LEN = 20; + +// Using different namespaces: +namespace Namespace1 { + const unsigned int MAX_MSISDN_LEN = 20; +} + +namespace Namespace2 { + const unsigned int MAX_MSISDN_LEN = 20; +} +``` + +### Rule 9.1.4 Do not use memcpy_s or memset_s to initialize non-POD objects. + +**Note**: `POD` is short for `Plain Old Data`, which is a concept introduced in the C++ 98 standard (ISO/IEC 14882, first edition, 1998-09-01). The `POD` types include the original types and aggregate types such as `int`, `char`, `float`, `double`, `enumeration`, `void`, and pointer. Encapsulation and object-oriented features cannot be used (for example, user-defined constructors, assignment operators, destructors, base classes, and virtual functions). + +For non-POD classes, such as class objects of non-aggregate types, virtual functions may exist. Memory layout is uncertain, and is related to the compiler. Misuse of memory copies may cause serious problems. + +Even if a class of the aggregate type is directly copied and compared, and any functions hiding information or protecting data are destroyed, the `memcpy_s` and `memset_s` operations are not recommended. + +For details about the POD type, see the appendix. + +### Recommendation 9.1.2 Declare and initialize variables only when they are used. + +**Note**: It is a common low-level programming error that a variable is not assigned an initial value before being used. Declaring and initializing a variable just before using it will prevent this. + +If all variables are declared at the beginning of a function before they are used, their scope covers the entire function, which may lead to the following problems: +* The program may become difficult to understand and maintain. The definition and use of variables are separated. +* These variables are difficult to initialize properly. At the beginning of a function, there is often insufficient information for variable initialization, and a default null value (such as 0) is often assigned as the initial value. If a variable is used before it is assigned a valid value, it will also cause errors. + +Following the minimization principle of variable scopes and the principle of proximity declaration will make it easier to read code and understand variable types and initial values. In particular, use initialization to replace declaration and then assign values. + +```cpp +// Bad example: Declaration is separated from initialization. +string name; // The variable is not initialized in the declaration, and a default constructor is called. +name = "zhangsan"; // An assignment operator is called again. Declaration is separate from definition, which is difficult to understand. + +// Good example: Declaration and initialization are together, and easy to understand. +string name("zhangsan"); // Invoke a constructor. +``` + + +## Expressions +### Rule 9.2.1 A variable cannot be referenced again if it is contained in an increment or decrement operation in an expression. +In an expression where the increment or decrement operations are performed on a variable, the variable cannot be referenced again. The result of a second referencing is not explicitly defined in C++ standards. The results in different compilers or different versions of a compiler may be different. +Therefore, it is recommended that an undefined operation sequence not be assumed. + +Note that the problem of operation sequence cannot be solved by using parentheses because this is not a priority problem. + +Example: +```cpp +x = b[i] + i++; // Bad: Whether the position of b[i] is before or after the i++ is unclear. +``` +The increment or decrement operation should be placed in a single line: +```cpp +x = b[i] + i; +i++; // Good: i++ is placed in a single line. +``` + +Function parameter +```cpp +Func(i++, i); // Bad: Whether the increment operation happens for the second parameter is unclear +``` + +Good example: +```cpp +i++; // Good: i++ is placed in a single line. +x = Func(i, i); +``` + +### Rule 9.2.2 A switch statement must have a default branch. +In most cases, a switch statement requires a default branch to ensure that there is a default action when the case tag is missing for a processed value. + +Exception: +If the switch condition variables are enumerated and the case branch covers all values, the default branch is redundant. +Because modern compilers can check which case branches are missing in the switch statement and provide an advanced warning. + +```cpp +enum Color { + RED = 0, + BLUE +}; + +// The switch condition variables are enumerated. Therefore, you do not need to add a default branch. +switch (color) { + case RED: + DoRedThing(); + break; + case BLUE: + DoBlueThing(); + ... + break; +} +``` + +### Recommendation 9.2.1 When comparing expressions, follow the principle that the left side tends to change and the right side tends to remain unchanged. +When a variable is compared with a constant, placing the constant on the left, for example, if (MAX == v), does not comply with standard reading habits and is more difficult to understand. +The constant should be placed on the right. The expression is written as follows: +```cpp +if (value == MAX) { + +} + +if (value < MAX) { + +} +``` +There are special cases: for example, if the expression `if (MIN < value && value < MAX)` is used to describe a range, the first half, as a constant, should be placed on the left. + +You do not need to worry about writing '==' as '=' because a compilation alarm will be generated for `if (value = MAX)` and an error will be reported by other static check tools. Use these tools to solve such writing errors and ensure that that code is readable. + +### Recommendation 9.2.2 Use parentheses to specify the operator precedence. +Use parentheses to specify the operator precedence. This will prevent program errors due to the inconsistency between default priority and the intended design. At the same time, it makes the code clearer and more readable. However, too many parentheses muddy the code, reducing readability. The following is a recommendation on their correct usage. + +- For binary and ternary operators, if multiple operators are involved, parentheses should be used. +```cpp +x = a + b + c; /* The operator does not change, and thus parentheses are not required. */ +x = Foo(a + b, c); /* The operator does not change, and thus parentheses are not required. */ +x = 1 << (2 + 3); /* More than one operator is used and thus parentheses are required. */ +x = a + (b / 5); /* More than one operator is used and thus parentheses are required. */ +x = (a == b) ? a : (a – b); /* More than one operator is used and thus parentheses are required. */ +``` + + +## Type Casting + +Do not use type branches to customize behaviors. Type branch customization behavior is prone to errors and is an obvious sign of attempting to compile C code using C++. This is very inflexible technology. If you forget to modify all branches when adding a new type to a compiler, you will not be notified. Use templates and virtual functions to let the type define itself rather than letting the calling side determine behavior. + +It is recommended that type casting be avoided. We should consider the data type in the code design instead of overusing type casting to solve type conflicts. When designing a basic type, consider the following: +- Whether it is unsigned or signed. +- Is it suitable for float or double? +- Should you use int8, int16, int32, or int64 bit lengths? + +However, we cannot prohibit the use of type casting because the C++ language is a machine-oriented programming language, involving pointer addresses, and we interact with various third-party or underlying APIs. Their type design may not be reasonable and type casting tends to occur in the adaptation process. + +Exception: When calling a function, if we do not want to process the result of the function, first consider whether this is your best choice. If you do not want to process the return value of the function, cast it to void. + +### Rule 9.3.1 If type casting is required, use the type casting provided by the C++ instead of the C style. + +**Note**: + +The type casting provided by C++ is more targeted, easy to read, and more secure than the C style. C++ provides the following types of casting: +- Type casting: +1. `dynamic_cast`: Used to inherit the downstream transformation of the system. `dynamic_cast` has the type check function. Design the base class and derived class to avoid using dynamic_cast for casting. +2. `static_cast`: Similar to the C style casting, which can be used to convert a value, or to convert the pointer or reference of a derived class into a base class pointer or reference. This casting is often used to eliminate type ambiguity brought on by multiple inheritance, which is relatively safe. If it is a pure arithmetic conversion, use the braces as stated in the following text. +3. `reinterpret_cast`: Used to convert irrelevant types. `reinterpret_cast` forces the compiler to reinterpret the memory of a certain type of objects into another type, which is an unsafe conversion. It is recommended that `reinterpret_cast` be used as little as possible. +4. `const_cast`: Used to remove the `const` attribute of an object so that the object can be modified. You are advised to use `const_cast` as little as possible. + +- Arithmetic conversion: (Supported by C++ 11 and later versions) + If the type information is not lost, for example, the casting from float to double, or from int32 to int64, the braces syntax is recommended. +```cpp + double d{ someFloat }; + int64_t i{ someInt32 }; +``` + +### Recommendation 9.3.1 Avoid using `dynamic_cast`. +1. `dynamic_cast` depends on the RTTI of C++ so that the programmer can identify the type of the object in C++ at run time. +2. `dynamic_cast` indicates that a problem has occurred in the design of the base class and derived class.The derived class destroys the contract of the base class and it is necessary to use `dynamic_cast` to convert the class to a subclass for special processing. In this case, it is more desirable to improve the design of the class, instead of using `dynamic_cast` to solve the problem. + +### Recommendation 9.3.2 Avoid using `reinterpret_cast`. + +**Note**: `reinterpret_cast` is used to convert irrelevant types. Trying to use `reinterpret_cast` to force a type to another type destroys the security and reliability of the type and is an insecure casting method. Avoid casting between completely different types. + +### Recommendation 9.3.3 Avoid using `const_cast`. + +**Note**: The `const_cast` command is used to remove the `const` and `volatile` properties of an object. + +The action of using a pointer or reference after the const_cast conversion to modify the const property of an object is undefined. + +```cpp +// Bad example: +const int i = 1024; +int* p = const_cast(&i); +*p = 2048; // The action is undefined. +``` + +```cpp +// Bad example: +class Foo { +public: + Foo() : i(3) {} + + void Fun(int v) + { + i = v; + } + +private: + int i; +}; + +int main(void) +{ + const Foo f; + Foo* p = const_cast(&f); + p->Fun(8); // The action is undefined. +} + +``` + + +## Resource Allocation and Release + +### Rule 9.4.1 When a single object is released, delete is used. When an array object is released, delete [] is used. +Note: To delete a single object, use delete; to delete an array object, use delete []. The reasons are as follows: + +- new: Apply for memory from the system and call the corresponding constructor to initialize an object. +- new[n]: Apply for memory for n objects and call the constructor n times for each object to initialize them. +- delete: Call the corresponding destructor first and release the memory of an object. +- delete[]: Call the corresponding destructor for each object and release their memory. + +If the usage of new and delete does not match this format, the results are unknown. For a non-class type, new and delete will not call the constructor or destructor. + +Bad example: +```cpp +const int MAX_ARRAY_SIZE = 100; +int* numberArray = new int[MAX_ARRAY_SIZE]; +... +delete numberArray; +numberArray = NULL; +``` + +Good example: +```cpp +const int MAX_ARRAY_SIZE = 100; +int* numberArray = new int[MAX_ARRAY_SIZE]; +... +delete[] numberArray; +numberArray = NULL; +``` + +### Recommendation 9.4.1 Use the RAII feature to trace dynamic allocation. + +Note: RAII is an acronym for Resource Acquisition Is Initialization. It is a simple technology that controls program resources (such as memory, file handle, network connections, and mutexes) by using the object lifecycle. + +The common practice is as follows: When the object is constructed, the resource is obtained, and the access to the resource is controlled so that the resource is always valid in the life cycle of the object. Finally, the resource is released when the object is destructed. This approach has two advantages: +- We do not need to explicitly release resources. +- The resources required by the object are always valid throughout the lifecycle of the object. This way, you do not need to check the validity of the resources, which simplifies logic and improves efficiency. + + +In the following example, RAII removes the need for explicit release of mutex resources. + +```cpp +class LockGuard { +public: + LockGuard(const LockType& lockType): lock_(lockType) + { + lock_.Aquire(); + } + + ~LockGuard() + { + lock_.Relase(); + } + +private: + LockType lock_; +}; + + +bool Update() +{ + LockGuard lockGuard(mutex); + if (...) { + return false; + } else { + // Data operations + } + + return true; +} +``` + +## Standard Template Library + +The standard template library (STL) varies between products. The following table lists some basic rules and suggestions for each team. + +### Rule 9.5.1 Do not save the pointer returned by c_str () of std::string. + +Note: The C++ standard does not specify that the string::c_str () pointer is permanently valid. Therefore, the STL implementation used can return a temporary storage area and release it quickly when calling string::c_str (). Therefore, to ensure the portability of the program, do not save the result of string::c_str (). Instead, call it directly. + +Example: + +```cpp +void Fun1() +{ + std::string name = "demo"; + const char* text = name.c_str(); // After the expression ends, the life cycle of name is still in use and the pointer is valid. + + // If a non-const member function (such as operator[] and begin()) of the string type is invoked and the string is modified, + // The text may become unavailable or may not be the original string. + name = "test"; + name[1] = '2'; + + // When the text pointer is used next time, the string is no longer "demo". +} + +void Fun2() +{ + std::string name = "demo"; + std::string test = "test"; + const char* text = (name + test).c_str(); // After the expression ends, the temporary object generated by the + operator may be destroyed, and the pointer may be invalid. + + // When the text pointer is used next time, it no longer points to the valid memory space. +} +``` +Exception: In rare cases where high performance coding is required , you can temporarily save the pointer returned by string::c_str() to match the existing functions which support only the input parameters of the const char* type. However, you should ensure that the lifecycle of the string object is longer than that of the saved pointer, and that the string object is not modified within the lifecycle of the saved pointer. + + +### Recommendation 9.5.1 Use std::string instead of char*. + +Note: Using string instead of `char*` has the following advantages: +1. There is no need to consider the null character ’\0’at the end. +2. You can directly use operators such as `+`, `=`, and `==`, and other character and string operation functions. +3. There is no need to consider memory allocation operations.This helps avoid explicit usage of `new` and `delete` and the resulting errors. + +Note that in some STL implementations, string is based on the copy-on-write policy, which causes two problems. One is that the copy-on-write policy of some versions does not implement thread security, and the program breaks down in multi-threaded environments. Second, dangling pointers may be caused when a dynamic link library transfers the string based on the copy-on-write policy, due to the fact that reference count cannot be reduced when the library is unloaded. Therefore, it is important to select a reliable STL implementation to ensure the stability of the program. + +Exception: +When an API of a system or other third-party library is called, only `char*` can be used for defined interfaces. However, before calling the interfaces, you can use string. When calling the interfaces, you can use `string::c_str()` to obtain the character pointer. +When a character array is allocated as a buffer on the stack, you can directly define the character array without using string or containers such as `vector`. + +### Rule 9.5.2 Do not use auto_ptr. +Note: The `std::auto_ptr` in the STL library has an implicit ownership transfer behavior. The code is as follows: +```cpp +auto_ptr p1(new T); +auto_ptr p2 = p1; +``` +After the second line of statements is executed, p1 does not point to the object allocated in line 1 and becomes `NULL`. Therefore, `auto_ptr` cannot be placed in any standard containers. +This ownership transfer behavior is not expected. In scenarios where ownership must be transferred, implicit transfer should not be used. This often requires the programmer to keep extra attention on code that uses `auto_ptr`, otherwise access to a null pointer will occur. +There are two common scenarios for using auto_ptr . One is to transfer it as a smart pointer to outside the function that generates the auto_ptr , and the other is to use auto_ptr as the RAII management class. Resources are automatically released when the lifecycle of auto_ptr expires. +In the first scenario, you can use std::shared_ptr instead. +In the second scenario, you can use std::unique_ptr in the C++ 11 standard. std::unique_ptr is a substitute for std::auto_ptr and supports explicit ownership transfer. + +Exception: +Before the C++ 11 standard is widely used, std::auto_ptr can be used in scenarios where ownership needs to be transferred. However, it is recommended that std::auto_ptr be encapsulated. The copy constructor and assignment operator of the encapsulation class should not be used in a standard container. + + +### Recommendation 9.5.2 Use the new standard header files. + +Note: +When using the standard header file of C++, use `` instead of ``. + +## Usage of const +Add the keyword const before the declared variable or parameter (example: `const int foo`) to prevent the variable from being tampered with. Add the const qualifier to the function in the class (example: `class Foo {int Bar (char c) const;} ;`) to make sure the function does not modify the status of the class member variable. const variables, data members, functions, and parameters ensure that the type detection during compilation is accurate and errors are found as soon as possible. Therefore, we strongly recommend that const be used in any possible case. +Sometimes it is better to use constexpr from C++ 11 to define real constants. + +### Rule 9.6.1 For formal parameters of pointer and reference types, if the parameters do not need to be modified, use const. +Unchanging values are easier to understand, trace, and analyze. `const` is used as the default option and is checked during compilation to make the code more secure and reliable. +```cpp +class Foo; + +void PrintFoo(const Foo& foo); +``` + +### Rule 9.6.2 For member functions that do not modify member variables, use const. +Declare the member function as `const` whenever possible. The access function should always be const. So long as the function of a member is not modified, the function is declared with const. +When you need to modify data members in a virtual function, take all classes in the inheritance chain into account instead of only focusing on the implementation of a single class. +```cpp +class Foo { +public: + + // ... + + int PrintValue() const // const modifies member functions and does not modify member variables. + { + std::cout << value_ << std::endl; + } + + int GetValue() const // const modifies member functions and does not modify member variables. + { + return value_; + } + +private: + int value_; +}; +``` + +### Recommendation 9.6.1 Member variables that will not be modified after initialization should be defined as constants. + +```cpp +class Foo { +public: + Foo(int length) : dataLength_(length) {} +private: + const int dataLength_; +}; +``` + +## Exceptions + +### Recommendation 9.7.1 If the function does not throw an exception, the declaration is `noexcept`. +**Reasons:** +1. If the function does not throw an exception, the declaration is `noexcept`, which enables the compiler to optimize the function to the maximum extent, for example, reducing the execution paths and improving the efficiency of exiting when an error occurs. +2. For STL containers such as `vector`, to ensure the interface robustness, if the `move ` constructor of saved items is not declared as `noexcept`, the `copy machanism` instead of the `move machanism` is used when the items are removed from the container. This would cause performance loss risks. If the function does not throw an exception, or a program does not intercept and process an exception thrown by the function, new `noexcept` keywords can be used to modify the function, indicating that the function does not throw an exception or the thrown exception is not intercepted or processed. For example: + +```cpp +extern "C" double sqrt(double) noexcept; // No exceptions are thrown. + +// noexcept can still be used when exceptions may be thrown. +// The exception of memory exhaustion is not processed. The function is simply declared as noexcept. +std::vector MyComputation(const std::vector& v) noexcept +{ + std::vector res = v; // Exceptions may be thrown. + // do something + return res; +} +``` + +**Example:** + +```cpp +RetType Function(Type params) noexcept; // Maximized optimization +RetType Function(Type params) noexcept; // No optimization + +// Declaration as noexcept for the move operation of std::vector is needed. +class Foo1 { +public: + Foo1(Foo1&& other); // no noexcept +}; + +std::vector a1; +a1.push_back(Foo1()); +a1.push_back(Foo1()); // The copy constructor is called to enable the container expansion and removal of existing items. + +class Foo2 { +public: + Foo2(Foo2&& other) noexcept; +}; + +std::vector a2; +a2.push_back(Foo2()); +a2.push_back(Foo2()); //Triggers container expansion and invokes the move constructor to move existing elements. +``` + +**Note** +The default constructor, destructor, `swap` function, and `move` operator should not throw an exception. + +## Templates + +Template programming allows for extremely flexible interfaces that are type safe and high performance, enabling reuse of code of different types but with the same behavior. + +The disadvantages of template proramming are as follows: + +1. The techniques used in template programming are often obscure to anyone but language experts. Code that uses templates in complicated ways is often unreadable, and is hard to debug or maintain. +2. Template programming often leads to extremely poor compiler time error messages: even if an interface is simple, complicated implementation details become visible when the user does something wrong. +3. If the template is not properly used, the code will be over expanded during runtime. +4. It is difficult to modify or refactor template code. The template code is expanded in multiple contexts, and it is hard to verify that the transformation makes sense in all of them. + +Therefore, it is recommended that __ template programming be used only in a small number of basic components and basic data structure__. When using the template programming, minimize the __ complexity as much as possible, and __ avoid exposing the template__. It is better to hide programming as an implementation detail whenever possible, so that user-facing headers are readable. And you should write sufficiently detailed comments for code that uses templates. + + +## Macros +In the C++ language, it is strongly recommended that complex macros be used as little as possible. +- For constant definitions, use `const` or `enum` as stated in the preceding sections. +- For macro functions, try to be as simple as possible, comply with the following principles, and use inline functions and template functions for replacement. + +```cpp +// The macro function is not recommended. +#define SQUARE(a, b) ((a) * (b)) + +// Use the template function and inline function as a replacement. +template T Square(T a, T b) { return a * b; } +``` + +For details about how to use macros, see the related chapters about the C language specifications. +**Exception**: For some common and mature applications, for example, encapsulation for new and delete, the use of macros can be retained. + +# 10 Modern C++ Features + +As the ISO released the C++ 11 language standard in 2011 and released the C++ 17 in March 2017, the modern C++ (C++ 11/14/17) adds a large number of new language features and standard libraries that improve programming efficiency and code quality. +This chapter describes some guidelines for modern C++ use, to avoid language pitfalls. + +## Code Simplicity and Security Improvement +### Recommendation 10.1.1 Use `auto` properly. +**Reasons** + +* `auto` can help you avoid writing verbose, repeated type names, and can also ensure initialization when variables are defined. +* The `auto` type deduction rules are complex and need to be read carefully. +* If using `auto` makes the code clearer, use a specific type of it and use it only for local variables. + +**Example** + +```cpp +// Avoid verbose type names. +std::map::iterator iter = m.find(val); +auto iter = m.find(val); + +// Avoid duplicate type names. +class Foo {...}; +Foo* p = new Foo; +auto p = new Foo; + +// Ensure that the initialization is successful. +int x; // The compilation is correct but the variable is not initialized. +auto x; // The compilation failed. Initialization is needed. +``` + +`auto` type deduction may cause the following problems: + +```cpp +auto a = 3; // int +const auto ca = a; // const int +const auto& ra = a; // const int& +auto aa = ca; // int, const and reference are neglected. +auto ila1 = { 10 }; // std::initializer_list +auto ila2{ 10 }; // std::initializer_list + +auto&& ura1 = x; // int& +auto&& ura2 = ca; // const int& +auto&& ura3 = 10; // int&& + +const int b[10]; +auto arr1 = b; // const int* +auto& arr2 = b; // const int(&)[10] +``` + +If you do not pay attention to `auto` type deduction and ignore the reference, hard-to-find performance problems may be created. + +```cpp +std::vector v; +auto s1 = v[0]; // auto deduction changes s1 to std::string in order to copy v[0]. +``` + +If `auto` is used to define an interface, such as a constant in a header file, the type may be changed if the developer has modified the value. + +### Rule 10.1.1 Use the keyword `override` when rewriting virtual functions. +**Reason:** +The keyword `override` ensures that the function is a virtual function and an overridden virtual function of the base class. If the subclass function is different from the base class function prototype, a compilation alarm is generated. `final` also ensures that virtual functions are not overridden by subclasses. + +If you modify the prototype of a base class virtual function but forget to modify the virtual function overridden by the subclass, you can find inconsistency during compilation. You can also avoid forgetting to modify the overridden function when there are multiple subclasses. + +**Example** + +```cpp +class Base { +public: + virtual void Foo(); + virtual void Foo(int var); + void Bar(); +}; + +class Derived : public Base { +public: + void Foo() const override; // Compilation failed: derived::Foo is different from that of the prototype of base::Foo and is not overridden. + void Foo() override; // Compilation successful: derived::Foo overrode base::Foo. + void Foo(int var) final; // Compilation successful: Derived::Foo(int) rewrites Base::Foo(int), and the derived class of Derived cannot override this function. + void Bar() override; // Compilation failed: base::Bar is not a virtual function. +}; +``` + +**Summary** +1. When defining the virtual function for the first time based on the base class, use the keyword `virtual`. +2. When overriding the virtual function by a subclass in a base class, including destructors, use the keyword `override` or `final` instead of `virtual`. +3. For the non-virtual function, do not use `virtual` or `override`. + +### Rule: 10.1.2 Use the keyword `delete` to delete functions. +**Reason** +The `delete` keyword is clearer and the application scope is wider than a class member function that is declared as private and not implemented. + +**Example:** + +```cpp +class Foo { +private: + // Whether the copy structure is deleted or not is unknown because usually only the header file is checked. + Foo(const Foo&); +}; + +class Foo { +public: + // Explicitly delete the copy assignment operator. + Foo& operator=(const Foo&) = delete; +}; +``` + +The `delete` keyword can also be used to delete non-member functions. + +```cpp +template +void Process(T value); + +template<> +void Process(void) = delete; +``` + +### Rule 10.1.3 Use `nullptr` instead of `NULL` or `0`. +**Reason:** +For a long time, C++ has not had a keyword that represents a null pointer, which is embarrassing: + +```cpp +#define NULL ((void *)0) + +char* str = NULL; // Error: void* cannot be automatically converted to char*. + +void(C::*pmf)() = &C::Func; +if (pmf == NULL) {} // Error: void* cannot be automatically converted to the pointer that points to the member function. +``` + +If `NULL` is defined as `0` or `0L`, the above problems can be solved. + +Alternatively, use `0` directly in places where null pointers are required. However, another problem occurs. The code is not clear, especially when `auto` is used for automatic deduction. + +```cpp +auto result = Find(id); +if (result == 0) { // Does Find() return a pointer or an integer? + // do something +} +``` + +Literally `0` is of the `int` type (`0L` is the `long` type). Therefore, neither `NULL` nor `0` is a pointer type. +When a function of the pointer or integer type is overloaded, `NULL` or `0` calls only the overloaded pointer function. + +```cpp +void F(int); +void F(int*); + +F(0); // Call F(int) instead of F(int*). +F(NULL); // Call F(int) instead of F(int*). +``` + +In addition, `sizeof(NULL) == sizeof(void*)` does not always make sense, which is a potential risk. + +Summary: If `0` or `0L` is directly used, the code is not clear and type security cannot be ensured. If `NULL` is used, the type security cannot be ensured. These are all potential risks. + +`nullptr` has many advantages. It literally represents the null pointer and makes the code clearer. More to the point, it is no longer an integer type. + +`nullptr` is of the `std::nullptr_t` type. `std::nullptr_t` can be implicitly converted into all original pointer types, so that `nullptr` can represent a null pointer that points to any type. + +```cpp +void F(int); +void F(int*); +F(nullptr); // Call F(int*). + +auto result = Find(id); +if (result == nullptr) { // Find() returns a pointer. + // do something +} +``` + +### Rule 10.1.4 Use `using` instead of `typedef`. +For versions earlier than `C++11`, you can define the alias of the type by using `typedef`. No one wants to repeat code like `std::map>`. + +```cpp +typedef std::map> SomeType; +``` + +Using alias for the type is actually encapsulating the type. This encapsulation makes the code clearer, and to a large extent avoids the bulk modification caused by the type change. +For versions supporting C++ 11 features, `using` is provided to implement `alias declarations`: + +```cpp +using SomeType = std::map>; +``` + +Compare the two formats: + +```cpp +typedef Type Alias; // It cannot be told whether the original Type or Alias is at the front. +using Alias = Type; // The format confirms to the assignment rule. It is easy to understand and helps reduce errors. +``` + +If this is not enough to prove the advantages of `using`, the alias template may be a better example: + +```cpp +//: Only one line of code is need to define an alias for a template. +template +using MyAllocatorVector = std::vector>; + +MyAllocatorVector data; // An alias for a template defined with "using". + +template +class MyClass { +private: + MyAllocatorVector data_; // Another. +}; +``` + +`typedef` does not support alias templates and they have to be hacked in. + +```cpp +// A template is used for packaging typedef. Therefore, a template class is needed. +template +struct MyAllocatorVector { + typedef std::vector> type; +}; + +MyAllocatorVector::type data; // ::type needs to be added when using typedef to define an alias. + +template +class MyClass { +private: + typename MyAllocatorVector::type data_; // For a template class, typename is also needed in addition to ::type. +}; +``` + +### Rule 10.1.5 Do not use std::move to operate the const object. +Literally, `std::move` means moving an object. The const object cannot be modified and cannot be moved. Therefore, using `std::move` to operate the const object may confuse code readers. +Regarding actual functions, `std::move` converts an object to the rvalue reference type. It can convert the const object to the rvalue reference of const. Because few types define the move constructor and the move assignment operator that use the const rvalue reference as the parameter, the actual function of code is often degraded to object copy instead of object movement, which brings performance loss. + +**Bad example:** +```cpp +std::string g_string; +std::vector g_stringList; + +void func() +{ + const std::string myString = "String content"; + g_string = std::move(myString); // Bad: myString is not moved. Instead, it is copied. + const std::string anotherString = "Another string content"; + g_stringList.push_back(std::move(anotherString)); // Bad: anotherString is not moved. Instead, it is copied. +} +``` + +## Smart Pointers +### Rule 10.2.1 Use smart pointers instead of a raw pointer to manage resources. +**Reason:** +Avoid resource leakage. + +**Example:** + +```cpp +void Use(int i) +{ + auto p = new int {7}; // Bad: Initializing local pointers with new. + auto q = std::make_unique(9); // Good: Guarantee that memory is released. + if (i > 0) { + return; // Return and possible leak. + } + delete p; // Too late to salvage. +} +``` + +**Exception:** +Raw pointers can be used in scenarios requiring high performance and compatibility. + +### Rule 10.2.2 Use `unique_ptr` instead of `shared_ptr`. +**Reasons:** +1. Using `shared_ptr` a lot has an overhead (atomic operations on the `shared_ptr`s reference count have a measurable cost). +2. Shared ownership in some cases (such as circular dependency) may create objects that can never be released. +3. Shared ownership can be an attractive alternative to careful ownership design but it may obfuscate the design of a system. + +### Rule 10.2.3 Use `std::make_unique` instead of `new` to create a `unique_ptr`. +**Reasons:** +1. `make_unique` provides a simpler creation method. +2. `make_unique` ensures the exception safety of complex expressions. + +**Example:** + +```cpp +// Bad: MyClass appears twice, which carries a risk of inconsistency. +std::unique_ptr ptr(new MyClass(0, 1)); +// Good: MyClass appears once and there is no possibility of inconsistency. +auto ptr = std::make_unique(0, 1); +``` + +Recurrence of types may cause serious problems, and it is difficult to find them: + +```cpp +// The code compiles fine, but new and delete usage does not match. +std::unique_ptr ptr(new uint8_t[10]); +std::unique_ptr ptr(new uint8_t); +// No exception safety: The compiler may calculate parameters in the following order: +// 1. Allocate the memory of Foo. +// 2. Construct Foo. +// 3. Call Bar. +// 4. Construct unique_ptr. +// If Bar throws an exception, Foo is not destroyed and a memory leak occurs. +F(unique_ptr(new Foo()), Bar()); + +// Exception safety: Calling of function is not interrupted. +F(make_unique(), Bar()); +``` + +**Exception:** +`std::make_unique` does not support user-defined `deleter`. +In the scenario where the `deleter` needs to be customized, it is recommended that `make_unique` be implemented in the customized version’s own namespace. +Using `new` to create `unique_ptr` with the user-defined `deleter` is the last choice. + +### Rule 10.2.4 Create `shared_ptr` by using `std::make_shared` instead of `new`. +**Reason:** +In addition to the consistency factor similar to that in `std::make_unique` when using `std::make_shared`, performance is also a factor to consider. +`std::shared_ptr` manages two entities: +* Control block (storing reference count, `deleter`, etc.) +* Managed objects + +When `std::make_shared` creates `std::shared_ptr`, it allocates sufficient memory for storing control blocks and managed objects on the heap at a time. When `std::shared_ptr(new MyClass)`is used to create a `std::shared_ptr`, not only does `new MyClass` trigger heap allocation, but the constructor function of `std::shard_ptr` triggers a second heap allocation, resulting in extra overhead. + +**Exception:** +Similar to `std::make_unique`, `std::make_shared` does not support `deleter` customization. + +## Lambda +### Recommendation 10.3.1 Use `lambda` to capture local variables or write local functions when normal functions do not work. +**Reason:** +Functions cannot capture local variables or be declared at local scope. If you need those things, choose `lambda` instead of handwritten `functor`. +On the other hand, `lambda` and `functor` objects do not support overloading. If overloading is required, use a function. +If both `lambda` and functions work, a function is preferred. Use the simplest tool. + +**Example:** + +```cpp +// Write a function that accepts only an int or string. +// -- Overloading is more natural. +void F(int); +void F(const string&); + +// The local state needs to be captured or appear in the statement or expression range. +// -- A lambda is more natural. +vector v = LotsOfWork(); +for (int taskNum = 0; taskNum < max; ++taskNum) { + pool.Run([=, &v] {...}); +} +pool.Join(); +``` + +### Rule 10.3.1 Avoid capturing by reference in lambdas that will not be used locally. +**Reason:** +Using `lambdas` at a "nonlocal" scope includes returning, storing on the heap, and passing to another thread. Local pointers and references should not outlive their scope. Capturing by reference in `lambdas` indicates storing a reference to a local object. If this leads to a reference that exceeds the lifecycle of a local variable, capturing by reference should not be used. + +**Example:** + +```cpp +// Bad +void Foo() +{ + int local = 42; + // Capture a reference to a local variable. + // After the function returns results, local no longer exists, + // Process() call will have undefined behavior. + threadPool.QueueWork([&]{ Process(local); }); +} + +// Good +void Foo() +{ + int local = 42; + // Capture a copy of local. + // Since a copy of local is made, it will be always available for the call. + threadPool.QueueWork([=]{ Process(local); }); +} +``` + +### Recommendation 10.3.2 All variables are explicitly captured if `this` is captured. +**Reason:** +The `[=]` in the member function seems to indicate capturing by value but actually it is capturing data members by reference because it captures the invisible `this` pointer by value. Generally, it is recommended that capturing by reference be avoided. If it is necessary to do so, write `this` explicitly. + +**Example:** + +```cpp +class MyClass { +public: + void Foo() + { + int i = 0; + + auto Lambda = [=]() { Use(i, data_); }; // Bad: It looks like we are copying or capturing by value but member variables are actually captured by reference. + + data_ = 42; + Lambda(); // Call use(42); + data_ = 43; + Lambda(); // Call use(43); + + auto Lambda2 = [i, this]() { Use(i, data_); }; // Good: the most explicit and least confusing method. + } + +private: + int data_ = 0; +}; +``` + +### Recommendation 10.3.3 Avoid default capture modes. +**Reason:** +The lambda expression provides two default capture modes: by-reference (&) and by-value (=). +By default, the "by-reference" capture mode will implicitly capture the reference of all local variables, which will easily lead to dangling references. By contrast, explicitly writing variables that need to be captured can make it easier to check the lifecycle of an object and reduce the possibility of making a mistake. +By default, the "by-value” capture mode will implicitly capture this pointer, and it is difficult to find out which variables the lambda function depends on. If a static variable exists, the reader mistakenly considers that the lambda has copied a static variable. +Therefore, it is required to clearly state the variables that lambda needs to capture, instead of using the default capture mode. + +**Bad example:** +```cpp +auto func() +{ + int addend = 5; + static int baseValue = 3; + + return [=]() { // Only addend is actually copied. + ++baseValue; // The modification will affect the value of the static variable. + return baseValue + addend; + }; +} +``` + +**Good example:** +```cpp +auto func() +{ + int addend = 5; + static int baseValue = 3; + + return [addend, baseValue = baseValue]() mutable { // Uses the C++14 capture initialization to copy a variable. + ++baseValue; // Modifying the copy of a static variable does not affect the value of the static variable. + return baseValue + addend; + }; +} +``` + +Reference: Effective Modern C++: Item 31: Avoid default capture modes. + +## Interfaces +### Recommendation 10.4.1 Use `T*` or `T&` arguments instead of a smart pointer in scenarios where ownership is not involved. +**Reasons:** +1. Passing a smart pointer to transfer or share ownership should only be used when the ownership mechanism is explicitly required. +2. Passing a smart pointer (for example, passing the `this` smart pointer) restricts the use of a function to callers using smart pointers. +3. Passing a shared smart pointer adds a runtime performance cost. + +**Example:** + +```cpp +// Accept any int*. +void F(int*); + +// Accept only integers for which you want to transfer ownership. +void G(unique_ptr); + +// Accept only integers for which you want to share ownership. +void G(shared_ptr); + +// Does not need to change the ownership but requires ownership of the caller. +void H(const unique_ptr&); + +// Accept any int. +void H(int&); + +// Bad +void F(shared_ptr& w) +{ + // ... + Use(*w); // When only w is used, lifecycle management is not required. + // ... +}; +``` + diff --git a/docs-en/guide/adding-pages-4.md b/docs-en/guide/adding-pages-4.md deleted file mode 100755 index a9426b25c99..00000000000 --- a/docs-en/guide/adding-pages-4.md +++ /dev/null @@ -1,31 +0,0 @@ -# Adding Pages - -## Creating the Home Page \(Creating a Project\) - -After the project is created, the **index** page is generated by default. The following figure shows the project directory. - -**Figure 1** Project directory -![](figures/project-directory-1.png "project-directory-1") - -## Creating Detail and History Pages - -Perform the following steps twice to create the rest two pages: - -1. Right-click **pages** and choose **New** \> **JS Page** from the shortcut menu. - - **Figure 2** Adding a page - ![](figures/adding-a-page-2.png "adding-a-page-2") - -2. Enter the page name. - - **Figure 3** Entering the page name - ![](figures/entering-the-page-name-3.png "entering-the-page-name-3") - -3. Confirm the creation. - - The following figure shows the application project directory after the **detail** page and **history** page are created. Each page contains a **.hml** layout file, a **.css** file, and a **.js** file \(containing service logic code\). - - **Figure 4** Complete project directory - ![](figures/complete-project-directory-4.png "complete-project-directory-4") - - diff --git a/docs-en/guide/building-the-detail-page-6.md b/docs-en/guide/building-the-detail-page-6.md deleted file mode 100755 index 073539f91fa..00000000000 --- a/docs-en/guide/building-the-detail-page-6.md +++ /dev/null @@ -1,124 +0,0 @@ -# Building the Detail Page - -The **detail** page displays air quality data, such as CO, NO2, PM10, PM2.5, and SO2. Use multiple **** components to display the information, and use the **** component to continuously swipe up and down on the page. Note that **** can have multiple child components, which must be ****. For the **detail** page, you need to develop for the page typesetting and styles. The detailed code is as follows: - -## detail.hml - -``` - - -
- {{location}} -
- -
- CO - {{airData[0]}} -
-
- NO2 - {{airData[1]}} -
-
- PM10 - {{airData[2]}} -
-
- PM2.5 - {{airData[3]}} -
-
- SO2 - {{airData[4]}} -
-
-
- -
- - {{updated}}:{{updateStatus}} - - {{dataSourceName}}:{{dataSource}} -
- -
- - -
-
-
-
-``` - -## detail.css - -``` -.line-div{ - background-color:#f5fffa; - height:2px; - width:454px; -} -.info-div-width-height{ - width:321px; - height:60px; - margin-top: 20px; -} -.gas-name{ - color:#f5fffa; - width:160px; - height:30px; -} -.gas-value{ - text-align:right; - color:#00fa9a; - width:160px; - height:30px; -} -.config-info { - height:40px; - width:321px; - color:#f5fffa; -} -``` - -## detail.js - -``` -import router from '@system.router' -export default { - data:{// Initialization information - location:"HangZhou", - udpateStatus:"1h ago", - dataSource:"tianqi.com", - updateTime:"15:13", - updated:'Updated', - dataSourceName:'Data Source', - sampledOn:'Sampled on', - cityIndex:0, - airData:['100', '90', '120', '50', '150', '40', '25'] - }, - onInit(){ - // Process information in multiple languages. - this.location = this.$t(this.location); - this.updated = this.$t("updated"); - this.dataSourceName = this.$t("dataSourceName"); - this.sampledOn = this.$t("sampledOn"); - this.monitoringStation = this.$t("monitoringStation"); - if(this.selectedCityIndex != null){ // Save city information sent from the home page. - this.cityIndex= this.selectedCityIndex; - } - }, - openHistroy(){// Switch to the history page. - router.replace({ - uri:'pages/history/history' - }); - }, - backMain(){ // Go back to the home page and return the information about the selected city. - router.replace({ - uri:'pages/index/index', - params:{selectedCityIndex:this.cityIndex} - }); - } -} -``` - diff --git a/docs-en/guide/building-the-history-page-7.md b/docs-en/guide/building-the-history-page-7.md deleted file mode 100755 index bfafd564071..00000000000 --- a/docs-en/guide/building-the-history-page-7.md +++ /dev/null @@ -1,86 +0,0 @@ -# Building the History Page - -The **history** page displays the air quality data of a week in a chart. On this page, multiple **** components are used to replace the **** component to display the chart. The sample code is as follows: - -## history.hml - -``` - - -
- {{historicalData}} -
-
- - -
-
- - {{$item}} -
- -
-
-
-
-
-
-
-
- - -
-
- - - - -
-``` - -## history.css - -``` -.div-info-location{ - color:#dcdcdc; - width:321px; - height:40px; -} -.div-info-historical-data{ - color:#f5fffa; - width:321px; - height:40px; -} -.gas-name{ - color:#f0ffff; - text-align:right; - width:321px; - height:32px; -} -.info-list-item{ - width:321px; - height:80px; -} -``` - -## history.js - -``` -import router from '@system.router' -module.exports = { - data: { - historicalData:"historicalData", - datasets:["CO","O3","NO2","NO","PM25","SO2"] - }, - onInit(){ - // Process information in multiple languages. - this.historicalData = this.$t(this.historicalData); - }, - backDetail(){ - router.replace({ // Return to the detail page. - uri:'pages/detail/detail' - }); - } -} -``` - diff --git a/docs-en/guide/building-the-home-page-5.md b/docs-en/guide/building-the-home-page-5.md deleted file mode 100755 index 146298be5cb..00000000000 --- a/docs-en/guide/building-the-home-page-5.md +++ /dev/null @@ -1,271 +0,0 @@ -# Building the Home Page - -The application home page displays air quality information of the current city. There are two screens on the home page. Each screen displays the air quality information of a city, including the AQI and city name. The AQI value can be displayed in the form of a ring progress bar with animation. - -1. The **** component is required to implement switching between the two screens. - - Add a root **** to the **.hml** file. Note that each **.hml** file can contain only one root component. The code snippet is as follows: - - ``` - - - ``` - - - **class="container"** indicates the style used by the component. The **container** is a style class in the **index.css** file. The code snippet is as follows: - - ``` - .container{ - height: 454px; - width: 454px; - } - ``` - - This style class sets the height and width of the component. For device development, the component height and width must be explicitly specified. Otherwise, the component may fail to be displayed. - - - - **index="\{\{swiperPage\}\}" duration="500" onchange="swiperChange"** sets the component attribute and event. **duration="500"** indicates that the duration of the swiping animation is 500 ms. - - **index="\{\{swiperPage\}\}"** specifies the index of the child component of ****. **\{\{swiperPage\}\}** indicates that the index value is dynamically bound to the **swiperPage** variable in the JavaScript code. The index value changes with the **swiperPage** value. - - **onchange="swiperChange"** binds the change event of the **** component to the **swiperChange** function. The JavaScript code is as follows: - - ``` - // Import the router module for page switching. - import router from '@system.router' - export default { - // Define parameters. - data: { - swiperPage:0 // The first page is displayed by default. - }, - onInit () { - }, - // Swiping event, which saves the index value of the current . The index value is saved to the swiperPage variable each time a swiping occurs. - swiperChange (e) { - this.swiperPage = e.index; - } - } - ``` - - -2. Set the information about each city to be displayed on a screen. In each screen, four types of information needs to be displayed using different components. - - Add two child components \(****\) to the ****. Add the ****, ****, and **** components to each **** to display the information. Code example in the **.hml** file is as follows: - - ``` - - - - - ------City - ------Air quality - -----Progress bar - -------A cloud image - --------AQI value - AQI------AQI - - - - - - - - - - - - ``` - -3. Set the style, animation effect, and dynamic data binding for all components. The complete example code is as follows: - - - **index.hml** - - ``` - - - - - - {{airData[0].airQuality}} - {{airData[0].location}} - - - - - {{airData[0].detailData}} - AQI - - - - {{airData[1].airQuality}} - {{airData[1].location}} - - - {{airData[1].detailData}} - AQI - - - ``` - - - **index.css** - - A **.css** file contains many classes. Each class defines the position, size, font, color, and background color of a component. Each child component is added to its parent component, and the style file of the parent component affects how the child component will be displayed. - - ``` - .pm25-value{ - text-align:center; - font-size:38px; - color:#f0ffff; - width:454px; - height:50px; - top:275px; - } - .pm25-name{ - text-align:center; - color:#a2c4a2; - width:454px; - height:50px; - top:335px; - } - .location-text{ - text-align:center; - color:#f0ffff; - width:454px; - height:50px; - top:20px; - } - .container{ - height: 454px; - width: 454px;; - } - .circleProgress{ - centerX:227px; - centerY:250px; - radius:180px; - startAngle:198; - totalAngle:320; - strokeWidth:45; - width:454px; - height:454px; - } - .image{ - top:390px; - left:217px; - width:32px; - height:32px; - } - .airquality{ - top:220px; - text-align: center; - width:454px; - height:40px; - } - - ``` - - - **index.js** - - A **.js** file is used to implement interaction logic of your application. In the **.js** file of the home page, the following features need to be implemented: dynamic changes of the text content and progress bar color based on numbers, multiple languages, page switching, and animation playback. - - ``` - // Import the router module for page switching. - import router from '@system.router' - export default { - // Define parameters. - data: { - textColor1:'#00ff00',// Text color - textColor2:'#00ff00', - bgColor1:'#669966',// Background color - bgColor2:'#669966', - swiperPage:0, - percent1:0,// Progress bar - percent2:0, - src1:'common/cloud_green.png', - src2:'common/cloud_green.png', - airData: [{ - location: 'HangZhou', - airQuality: 'Good', - detailData: 10 - }, { - location: 'ShangHai', - airQuality: 'Unhealth', - detailData:90 - }] - }, - onInit () { - // Multi-language feature. Use the $t function to obtain content in the required language. - this.airData[0].location = this.$t(this.airData[0].location); - this.airData[1].location = this.$t(this.airData[1].location); - this.airData[0].airQuality = this.$t(this.airData[0].airQuality); - this.airData[1].airQuality = this.$t(this.airData[1].airQuality); - if(this.airData[0].detailData > 100){ // Display different colors and images based on indicator values. - this.src1 = "common/cloud_red.png"; - this.textColor1 = '#ff0000';// Display the text in red. - this.bgColor1 = '#9d7462'; - } else if(50 < this.airData[0].detailData && this.airData[0].detailData <= 100){ - this.src1 = "common/cloud_yellow.png"; - this.textColor1 = '#ecf19a';// Display the text in yellow. - this.bgColor1 = '#9d9d62'; - } - if(this.airData[1].detailData > 100){ - this.src2 = "common/cloud_red.png"; - this.textColor2 = '#ff0000'; - this.bgColor2 = '#9d7462'; - } else if(50 < this.airData[1].detailData && this.airData[1].detailData <= 100){ - this.src2 = "common/cloud_yellow.png"; - this.textColor2 = '#ecf19a'; - this.bgColor2 = '#9d9d62'; - } - if(this.selectedCityIndex){ - this.swiperPage = this.selectedCityIndex; - } - }, - onShow () { // Processing logic during page display - var self = this; - var time = 1000/(self.airData[self.swiperPage].detailData);// Complete animation playback in 1s. - if(time == 0){ - time = 100; - } - // Animation effect of the ring progress bar. Start a timer and change the progress bar at a certain interval (calculated based on the AQI value). The animation playback is completed within 1s. - var interval = setInterval(function () { - if ((self.swiperPage==0?self.percent1:self.percent2) >= self.airData[self.swiperPage].detailData) { - clearInterval(interval); - return; - } - if(self.swiperPage == 0){ - self.percent1++; - }else{ - self.percent2++ - } - }, time) - }, - // Switch to the detail page. - openDetail () { - router.replace({ - uri:'pages/detail/detail', - params:{selectedCityIndex:this.swiperPage}// Selected city - }); - }, - // Swiping event, which saves the index value of the current and directly switches to the specified screen from the detail page. - swiperChange (e) { - this.swiperPage = e.index; - var self = this; - var time = 1000/(self.airData[self.swiperPage].detailData); - if(time == 0){ - time = 100; - } - // Play the animation if the user swipes to the page for the first time. - var interval = setInterval(function () { - let percent = (self.swiperPage==0?self.percent1:self.percent2); - if (percent >= self.airData[self.swiperPage].detailData) { - clearInterval(interval); - return; - } - if(self.swiperPage==0){ - self.percent1++; - }else{ - self.percent2++; - } - }, time) - } - } - ``` - - diff --git a/docs-en/guide/debugging-and-verification.md b/docs-en/guide/debugging-and-verification.md deleted file mode 100755 index daa5fa38970..00000000000 --- a/docs-en/guide/debugging-and-verification.md +++ /dev/null @@ -1,90 +0,0 @@ -# Debugging and verification - -For details about the burning process, see the Hi3861 Quick Start - Burning. The following describes the verification process of the power distribution network. - -## Non-perceptive network distribution function verification - -1. Start the module with the power distribution sample service to enable the module to enter the to-be-distributed state, as shown in the following figure. - - ``` - sdk ver:Hi3861V100R001C00SPC023 2020-06-09 13:30:00 - FileSystem mount ok. - wifi init success! - app_main test - [sample] main biz. - ap start succ - Nan Init Success - nan state(0)->(1) - wait STA join AP - [sample] main biz. - [sample] main biz. - wait STA join AP - ``` - -2. Start the app on the mobile phone. \(This app is an internal debugging demo. Developers need to develop FAs by themselves. The following describes only the network configuration process.\) Click Login Authorization \> Login Authorization \> NAN Device, and place the mobile phone close to the module, a new device is found. \(In the following figure, the product icon is changed to 1, and the SN is changed to 0123456789012345.\) - - **Figure 1** Discovering a new device - - - ![](figures/en-us_image_0000001054570953.png) - -3. Click the device to enter the configuration page. Select the hotspot SSID, enter the password, and click the button for network configuration \(...\), as shown in the following figure. - - **Figure 2** Wi-Fi network configuration page - - - ![](figures/en-us_image_0000001054850904.png) - -4. Click Next. On the second control page that is displayed, click the power button. The device receives the control message, as shown in the following figure. - - **Figure 3** Control page - - - ![](figures/en-us_image_0000001054370936.png) - -5. On the second control page, click the disconnection button. After you click the button, the device receives a message indicating that it will exit the NAN. - - **Figure 4** Exiting the Control Interface - - - ![](figures/en-us_image_0000001054132279.png) - - -## SoftAP network configuration mode verification - -1. Start the module with the power distribution sample service to enable the module to enter the to-be-distributed state, as shown in the following figure. - - ``` - sdk ver:Hi3861V100R001C00SPC023 2020-06-09 13:30:00 - FileSystem mount ok. - wifi init success! - app_main test - [sample] main biz. - ap start succ - Nan Init Success - nan state(0)->(1) - wait STA join AP - [sample] main biz. - [sample] main biz. - wait STA join AP - ``` - -2. Start the app on the mobile phone. \(This app is an internal debugging demo. Developers need to develop FAs by themselves. The following describes only the network configuration process.\) Choose Authorization Login \> Authorization and Login \> SoftAP Device to discover new devices \(Hi-xxx-Switchs-xxxxx in the following figure\). - - **Figure 5** Discover Device page - - - ![](figures/en-us_image_0000001054132216.png) - -3. Tap the device icon and wait for the app to automatically switch to the page for selecting a Wi-Fi hotspot. Select a hotspot, enter the password, and click.... The device receives the network configuration data, as shown in the following figure. - - **Figure 6** Device configuration page - - - ![](figures/en-us_image_0000001054452241.png) - - -## FAQs - -None - diff --git a/docs-en/guide/developing-the-first-application-program-running-on-the-hi3516-development-board.md b/docs-en/guide/developing-the-first-application-program-running-on-the-hi3516-development-board.md deleted file mode 100755 index d007424c191..00000000000 --- a/docs-en/guide/developing-the-first-application-program-running-on-the-hi3516-development-board.md +++ /dev/null @@ -1,177 +0,0 @@ -# Developing the First Application Program running on the Hi3516 Development Board - -This section describes how to modify, compile, burn, and run the first application on the board. - -## Obtaining the Source Code - -You need to download a set of source code from the Linux server. For details, see [Source Code Acquisition](en-us_topic_0000001050769927.md). - -## Modifying an application - -The **helloworld.c** code in the **applications/sample/camera/app/src** directory is as following. You can customize the content to be printed. For example, you can change OHOS to World. The current applications can be developed using standard ISO C and C++. - -``` -#include -#include "los_sample.h" - -int main(int argc, char **argv) -{ - printf("\n************************************************\n"); - printf("\n\t\tHello OHOS!\n"); - printf("\n************************************************\n\n"); - - LOS_Sample(g_num); - - return 0; -} -``` - -## Compiling - -On the Linux server, go to the root directory of the source code package. The build.py compilation script is stored in the directory. Run the following script to compile the source code package: - -Run the following script in the root directory of the source code package to compile the source code package. The result file is generated in the out/ipcamera\_hi3516dv300 directory. - -``` -python build.py ipcamera_hi3516dv300 -b debug -``` - -## Burning - -Network Burning Mode - -This method applies only to the board \(such as Hi3516D V300\) that supports the network port. In addition, the PC and the board must be connected by using a network cable and configured on the same network. - ->![](public_sys-resources/icon-notice.gif) **NOTICE:** ->The Visual Studio Code software connects the board to the network. If the board cannot connect to the computer network, check the firewall settings. For details, see FAQ 2. - -1. Install the USB-to-serial adapter driver and obtain the serial port number. - - **Figure 1** Successful driver installation - ![](figures/successful-driver-installation.png "successful-driver-installation") - - 1. Power on the board and connect the serial port cable of the board to the Windows console. - 2. Install the driver and obtain the driver link. - 3. Open Device Manager, then check and record the value of **Prolific USB-to-Serial Comm Port**. - - After the driver is successfully installed, if a warning icon is displayed on the device icon, right-click the device, uninstall the driver, reinstall the driver, and restart the computer as prompted. - - -2. On the Windows console, add the IP address 192.168.1.3 for the interconnection network port of the board. The method is as follows: - - **Figure 2** Adding a Windows host IP address - ![](figures/adding-a-windows-host-ip-address.png "adding-a-windows-host-ip-address") - - 1. Choose Control Panel \> Network and Internet-\> Network Connections, right-click the network adapter connected to the board, and choose Properties from the shortcut menu. - 2. Double-click Internet 协议版本4(TCP/IPv4). - 3. Configure the IP address and gateway according to the preceding figure. - 4. Click OK to save the configuration. - -3. hi3516dv300 is added to the board list. After you choose Board Configure and enable a board, the board configuration table is automatically added. - - **Figure 3** Add a board. - ![](figures/add-a-board.png "add-a-board") - -4. Start the IDE and click the icons in sequence to configure the contents to be burnt over the network. - - **Figure 4** Network configuration diagram of the IDE tool - - - ![](figures/ide.png) - - 1. Select Hi3516 as the board type. - 2. Click Burn. - 3. Set Burning Mode to "network". - 4. Host IP Address: Click to refresh the page and select 192.168.1.3 from the drop-down list box. - -5. Select the chip to be burnt to the flash memory and the burning address. - - **Figure 5** Setting the parameters for burning files - - - ![](figures/ide2.png) - - 1. Select emmc from the Memory Type drop-down list box as the flash memory type. - 2. Click New to add three files. Enter the OHOS\_Image.bin, rootfs.img, and userfs.img files in the file path in sequence. Set the start address and file length as shown in the following figure, obtain the file from the out/ipcamera\_hi3516dv300 directory. - 3. Click Save to save the changes. - 4. Click Burn on the left to start burning. - -6. Select a serial port number from the drop-down list box displayed in the upper part, for example, COM11. - - **Figure 6** Selecting the serial port to be connected to the board - ![](figures/selecting-the-serial-port-to-be-connected-to-the-board.png "selecting-the-serial-port-to-be-connected-to-the-board") - -7. The burning starts. If a message is displayed, you need to manually restart the board \(by powering off and then powering on the board\). - - **Figure 7** The system prompts you to power off the board and power on the board again. - - - ![](figures/reset2.png) - -8. Burning is complete. - - **Figure 8** Successful burning - ![](figures/successful-burning.png "successful-burning") - - -## Running an Image - -1. Connect a serial port cable. - - **Figure 9** Connect the serial port cables. - - - ![](figures/chuankou1.png) - - 1. Click Serial port to enable the serial port. - 2. Enter the serial port number of the "com11" and press Enter until hisillicon is displayed. - 3. If the board is started for the first time or the startup parameters are modified, go to step 2. Otherwise, go to step 3. - -2. \(Mandatory when the board is started for the first time\) Modify the bootcmd and bootargs of the U-boot. This step is a fixed operation. If the parameters are not modified, you need to perform this step only once. The system automatically enters the system each time the board is reset. - - >![](public_sys-resources/icon-notice.gif) **NOTICE:** - >By default, the U-boot boot program waits for two seconds. You can press Enter to interrupt the waiting and the message "hisillicon" is displayed. You can run the reset command to restart the system. - - **Table 1** U-boot startup parameters - - - - - - - - - -

Command

-

setenv bootcmd "sf probe 0;mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";

-

setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=15M rw";

-

saveenv

-

reset

-

Description

-

setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800;go 0x80000000";

-

This command indicates that flash 0 is selected, and the contents with the start address of 0x800 (unit: 512 bytes, that is, 1 MB) and the size of 0x4800 (unit: 512 bytes, that is, 9 MB) are read to the memory address 0x80000000.

-

setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=15M rw";

-

This command sets the boot parameters to serial port output, baud rate to 115200, data bit to 8, rootfs to be mounted to the eMMC, and file system type to vfat,

-

Enter the start burning position and length of rootfs.img in rootaddr=10M rootsize=15M rw. The size must be the same as that of the rootfs.img file added in the IDE.

-

saveenv indicates that the current configuration is saved.

-

reset indicates that the board is reset.

-

(Optional) go 0x40000000 indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, you can press Enter in the countdown phase of the U-Boot startup to interrupt the automatic startup.

-
- -3. Enter reset and press Enter to restart the board. After the board is restarted successfully, press Enter. OHOS is displayed. - - **Figure 10** Start the system - - - ![](figures/qi1.png) - - -## Run the program. - -In the root directory, run the **./bin/hello\_uart** command line to operate the demo program. The following figure shows the compilation result. - -**Figure 11** Why are apps on my phone launching slowly? - - -![](figures/qidong.png) - diff --git a/docs-en/guide/developing-the-first-driver-program-running-on-the-hi3516-development-board.md b/docs-en/guide/developing-the-first-driver-program-running-on-the-hi3516-development-board.md deleted file mode 100755 index f1b4fd659d6..00000000000 --- a/docs-en/guide/developing-the-first-driver-program-running-on-the-hi3516-development-board.md +++ /dev/null @@ -1,560 +0,0 @@ -# Developing the First Driver Program running on the Hi3516 Development Board - -This section describes how to develop a driver program on the board, including introduction, compilation, burning, and operation of the driver. - -## Obtaining the Source Code - -You need to download a set of source code from the Linux server. For details, see [Source Code Acquisition](en-us_topic_0000001050769927.md). - -## Introduction to Driver - -The following example shows how to add configuration files, implement the driver code, and compile the code for interaction between the user-space applications and the driver based on the UART driver. The driver source code is stored in the **vendor/huawei/hdf/sample** directory. - -1. Add Configurations. - - The following example shows how to add the driver configurations to the HDF configuration file \(for example, **vendor/hisi/hi35xx/hi3516dv300/config/uart/uart\_config.hcs**\). - - ``` - root { - platform { - uart_sample { - num = 5; // UART Device No. - base = 0x120a0000; // UART registers - irqNum = 38; - baudrate = 115200; - uartClk = 24000000; - wlen = 0x60; - parity = 0; - stopBit = 0; - match_attr = "sample_uart_5"; - } - } - } - ``` - - This example shows how to add the driver nodes to the HDF configuration file \(for example, **vendor/hisi/hi35xx/hi3516dv300/config/device\_info/device\_info.hcs**\). - - ``` - root { - device_info { - platform :: host { - hostName = "platform_host"; - priority = 50; - device_uart :: device { - device5 :: deviceNode { - policy = 1; - priority = 40; - permission = 0644; - moduleName = "UART_SAMPLE"; - serviceName = "HDF_PLATFORM_UART_5"; - deviceMatchAttr = "sample_uart_5"; - } - } - } - } - } - ``` - - >![](public_sys-resources/icon-note.gif) **NOTE:** - >The configuration file and the source code of the UART driver sample are in the same path. You need to manually add them to the path of the Hi3516D V300 board. - -2. Register a UART driver entry. - - The following example shows how to register the **HdfDriverEntry** entry of the UART driver based on the HDF. - - ``` - // Bind the UART driver interface to the HDF. - static int32_t HdfUartSampleBind(struct HdfDeviceObject *device) - { - if (device == NULL) { - return HDF_ERR_INVALID_OBJECT; - } - HDF_LOGI("Enter %s:", __func__); - return (UartHostCreate(device) == NULL) ? HDF_FAILURE : HDF_SUCCESS; - } - - // Obtain configuration information from the HCS of the UART driver. - static uint32_t UartDeviceGetResource( - struct UartDevice *device, const struct DeviceResourceNode *resourceNode) - { - struct UartResource *resource = &device->resource; - struct DeviceResourceIface *dri = NULL; - dri = DeviceResourceGetIfaceInstance(HDF_CONFIG_SOURCE); - if (dri == NULL || dri->GetUint32 == NULL) { - HDF_LOGE("DeviceResourceIface is invalid"); - return HDF_FAILURE; - } - - if (dri->GetUint32(resourceNode, "num", &resource->num, 0) != HDF_SUCCESS) { - HDF_LOGE("uart config read num fail"); - return HDF_FAILURE; - } - if (dri->GetUint32(resourceNode, "base", &resource->base, 0) != HDF_SUCCESS) { - HDF_LOGE("uart config read base fail"); - return HDF_FAILURE; - } - resource->physBase = (unsigned long) OsalIoRemap(resource->base, 0x48); - if (resource->physBase == 0) { - HDF_LOGE("uart config fail to remap physBase"); - return HDF_FAILURE; - } - if (dri->GetUint32(resourceNode, "irqNum", &resource->irqNum, 0) != HDF_SUCCESS) { - HDF_LOGE("uart config read irqNum fail"); - return HDF_FAILURE; - } - if (dri->GetUint32(resourceNode, "baudrate", &resource->baudrate, 0) != HDF_SUCCESS) { - HDF_LOGE("uart config read baudrate fail"); - return HDF_FAILURE; - } - if (dri->GetUint32(resourceNode, "wlen", &resource->wlen, 0) != HDF_SUCCESS) { - HDF_LOGE("uart config read wlen fail"); - return HDF_FAILURE; - } - if (dri->GetUint32(resourceNode, "parity", &resource->parity, 0) != HDF_SUCCESS) { - HDF_LOGE("uart config read parity fail"); - return HDF_FAILURE; - } - if (dri->GetUint32(resourceNode, "stopBit", &resource->stopBit, 0) != HDF_SUCCESS) { - HDF_LOGE("uart config read stopBit fail"); - return HDF_FAILURE; - } - if (dri->GetUint32(resourceNode, "uartClk", &resource->uartClk, 0) != HDF_SUCCESS) { - HDF_LOGE("uart config read uartClk fail"); - return HDF_FAILURE; - } - return HDF_SUCCESS; - } - - // Attach the configuration and interfaces of the UART driver to the HDF. - static int32_t SampleAttach(struct UartHost *host, struct HdfDeviceObject *device) - { - int32_t ret; - struct UartDevice *uartDevice = NULL; - if (device->property == NULL) { - HDF_LOGE("%s: property is NULL", __func__); - return HDF_FAILURE; - } - uartDevice = (struct UartDevice *) OsalMemCalloc(sizeof(struct UartDevice)); - if (uartDevice == NULL) { - HDF_LOGE("%s: OsalMemCalloc uartDevice error", __func__); - return HDF_ERR_MALLOC_FAIL; - } - ret = UartDeviceGetResource(uartDevice, device->property); - if (ret != HDF_SUCCESS) { - (void) OsalMemFree(uartDevice); - return HDF_FAILURE; - } - host->num = uartDevice->resource.num; - host->priv = uartDevice; - UartSampleAddDev(host); // Add a user-space UART node. For details, see the source code uart_dev_sample. - return UartDeviceInit(uartDevice); // Initialize UART PL011. For details, see the source code uart_pl011_sample. - } - - // Initialize the UART driver. - static int32_t HdfUartSampleInit(struct HdfDeviceObject *device) - { - int32_t ret; - struct UartHost *host = NULL; - - if (device == NULL) { - HDF_LOGE("%s: device is NULL", __func__); - return HDF_ERR_INVALID_OBJECT; - } - HDF_LOGI("Enter %s:", __func__); - host = UartHostFromDevice(device); - if (host == NULL) { - HDF_LOGE("%s: host is NULL", __func__); - return HDF_FAILURE; - } - ret = SampleAttach(host, device); - if (ret != HDF_SUCCESS) { - HDF_LOGE("%s: attach error", __func__); - return HDF_FAILURE; - } - host->method = &g_uartSampleHostMethod; - return ret; - } - - static void UartDeviceDeinit(struct UartDevice *device) - { - struct UartRegisterMap *regMap = (struct UartRegisterMap *) device->resource.physBase; - /* wait for uart enter idle. */ - while (UartPl011IsBusy(regMap)); - UartPl011ResetRegisters(regMap); - uart_clk_cfg(0, false); - OsalIoUnmap((void *) device->resource.physBase); - device->state = UART_DEVICE_UNINITIALIZED; - } - - // Unbind and detach the UART driver. - static void SampleDetach(struct UartHost *host) - { - struct UartDevice *uartDevice = NULL; - - if (host->priv == NULL) { - HDF_LOGE("%s: invalid parameter", __func__); - return; - } - uartDevice = host->priv; - UartDeviceDeinit(uartDevice); - (void) OsalMemFree(uartDevice); - host->priv = NULL; - } - - // Release the UART driver. - static void HdfUartSampleRelease(struct HdfDeviceObject *device) - { - struct UartHost *host = NULL; - HDF_LOGI("Enter %s:", __func__); - - if (device == NULL) { - HDF_LOGE("%s: device is null", __func__); - return; - } - host = UartHostFromDevice(device); - if (host == NULL) { - HDF_LOGE("%s: host is null", __func__); - return; - } - if (host->priv != NULL) { - SampleDetach(host); - } - UartHostDestroy(host); - } - - struct HdfDriverEntry g_hdfUartSample = { - .moduleVersion = 1, - .moduleName = "UART_SAMPLE", - .Bind = HdfUartSampleBind, - .Init = HdfUartSampleInit, - .Release = HdfUartSampleRelease, - }; - - HDF_INIT(g_hdfUartSample); - ``` - -3. Register a UART driver interface. - - The following example shows how to implement the UART driver interface using the template **UartHostMethod** provided by the HDF. - - ``` - static int32_t SampleInit(struct UartHost *host) - { - HDF_LOGI("%s: Enter", __func__); - if (host == NULL) { - HDF_LOGE("%s: invalid parameter", __func__); - return HDF_ERR_INVALID_PARAM; - } - return HDF_SUCCESS; - } - - static int32_t SampleDeinit(struct UartHost *host) - { - HDF_LOGI("%s: Enter", __func__); - if (host == NULL) { - HDF_LOGE("%s: invalid parameter", __func__); - return HDF_ERR_INVALID_PARAM; - } - return HDF_SUCCESS; - } - - // Write data into the UART. - static int32_t SampleWrite(struct UartHost *host, uint8_t *data, uint32_t size) - { - HDF_LOGI("%s: Enter", __func__); - uint32_t idx; - struct UartRegisterMap *regMap = NULL; - struct UartDevice *device = NULL; - - if (host == NULL || data == NULL || size == 0) { - HDF_LOGE("%s: invalid parameter", __func__); - return HDF_ERR_INVALID_PARAM; - } - device = (struct UartDevice *) host->priv; - if (device == NULL) { - HDF_LOGE("%s: device is NULL", __func__); - return HDF_ERR_INVALID_PARAM; - } - regMap = (struct UartRegisterMap *) device->resource.physBase; - for (idx = 0; idx < size; idx++) { - while (UartPl011IsBusy(regMap)); - UartPl011Write(regMap, data[idx]); - } - return HDF_SUCCESS; - } - - // Set the baud rate of the UART. - static int32_t SampleSetBaud(struct UartHost *host, uint32_t baudRate) - { - HDF_LOGI("%s: Enter", __func__); - struct UartDevice *device = NULL; - struct UartRegisterMap *regMap = NULL; - UartPl011Error err; - - if (host == NULL) { - HDF_LOGE("%s: invalid parameter", __func__); - return HDF_ERR_INVALID_PARAM; - } - device = (struct UartDevice *) host->priv; - if (device == NULL) { - HDF_LOGE("%s: device is NULL", __func__); - return HDF_ERR_INVALID_PARAM; - } - regMap = (struct UartRegisterMap *) device->resource.physBase; - if (device->state != UART_DEVICE_INITIALIZED) { - return UART_PL011_ERR_NOT_INIT; - } - if (baudRate == 0) { - return UART_PL011_ERR_INVALID_BAUD; - } - err = UartPl011SetBaudrate(regMap, device->uartClk, baudRate); - if (err == UART_PL011_ERR_NONE) { - device->baudrate = baudRate; - } - return err; - } - - // Obtain the baud rate of the UART. - static int32_t SampleGetBaud(struct UartHost *host, uint32_t *baudRate) - { - HDF_LOGI("%s: Enter", __func__); - struct UartDevice *device = NULL; - - if (host == NULL) { - HDF_LOGE("%s: invalid parameter", __func__); - return HDF_ERR_INVALID_PARAM; - } - device = (struct UartDevice *) host->priv; - if (device == NULL) { - HDF_LOGE("%s: device is NULL", __func__); - return HDF_ERR_INVALID_PARAM; - } - *baudRate = device->baudrate; - return HDF_SUCCESS; - } - - // Bind the UART using HdfUartSampleInit. - struct UartHostMethod g_uartSampleHostMethod = { - .Init = SampleInit, - .Deinit = SampleDeinit, - .Read = NULL, - .Write = SampleWrite, - .SetBaud = SampleSetBaud, - .GetBaud = SampleGetBaud, - .SetAttribute = NULL, - .GetAttribute = NULL, - .SetTransMode = NULL, - }; - ``` - - The following sample code shows how to add the module of the UART driver to the compilation script **vendor/huawei/hdf/hdf\_vendor.mk**. - - ``` - LITEOS_BASELIB += -lhdf_uart_sample - LIB_SUBDIRS += $(VENDOR_HDF_DRIVERS_ROOT)/sample/platform/uart - ``` - -4. Compile the code for interaction between the user-space applications and driver. - - Create the **/dev/uartdev-5** node after the UART driver is initialized successfully. The following example shows how to interact with the UART driver through the node. - - ``` - #include - #include - #include - #include "hdf_log.h" - - #define HDF_LOG_TAG "hello_uart" - #define INFO_SIZE 16 - - int main(void) - { - int ret; - int fd; - const char info[INFO_SIZE] = {" HELLO UART! "}; - - fd = open("/dev/uartdev-5", O_RDWR); - if (fd < 0) { - HDF_LOGE("hello_uart uartdev-5 open failed %d", fd); - return -1; - } - ret = write(fd, info, INFO_SIZE); - if (ret != 0) { - HDF_LOGE("hello_uart write uartdev-5 ret is %d", ret); - } - ret = close(fd); - if (ret != 0) { - HDF_LOGE("hello_uart uartdev-5 close failed %d", fd); - return -1; - } - return ret; - } - ``` - - The following example shows how to add the **hello\_uart\_sample** component to the **hdf** subsystem in the **build/lite/product/ipcamera\_hi3516dv300.json** file. - - ``` - { - "subsystem": [ - { - "name": "hdf", - "component": [ - { "name": "hdf_sample", "dir": "//vendor/huawei/hdf/sample/platform/uart:hello_uart_sample", "feature":[] } - ] - } - ] - } - ``` - - >![](public_sys-resources/icon-note.gif) **NOTE:** - >The preceding code is only a sample code. You can view the complete code in **vendor/huawei/hdf/sample**. - >The sample code is not automatically compiled by default. You need to manually add it to the compilation script. - - -## Compiling - -On the Linux server, go to the root directory of the source code package. The build.py compilation script is stored in the directory. Run the following script to compile the source code package: - -Run the following script in the root directory of the source code package to compile the source code package. The result file is generated in the out/ipcamera\_hi3516dv300 directory. - -``` -python build.py ipcamera_hi3516dv300 -b debug -``` - -## Burning - -Network Burning Mode - -This method applies only to the board \(such as Hi3516D V300\) that supports the network port. In addition, the PC and the board must be connected by using a network cable and configured on the same network. - ->![](public_sys-resources/icon-notice.gif) **NOTICE:** ->The Visual Studio Code software connects the board to the network. If the board cannot connect to the computer network, check the firewall settings. For details, see FAQ 2. - -1. Install the USB-to-serial adapter driver and obtain the serial port number. - - **Figure 1** Successful driver installation - ![](figures/successful-driver-installation.png "successful-driver-installation") - - 1. Power on the board and connect the serial port cable of the board to the Windows console. - 2. Install the driver and obtain the driver link. - 3. Open Device Manager, then check and record the value of **Prolific USB-to-Serial Comm Port**. - - After the driver is successfully installed, if a warning icon is displayed on the device icon, right-click the device, uninstall the driver, reinstall the driver, and restart the computer as prompted. - - -2. On the Windows console, add the IP address 192.168.1.3 for the interconnection network port of the board. The method is as follows: - - **Figure 2** Adding a Windows host IP address - ![](figures/adding-a-windows-host-ip-address.png "adding-a-windows-host-ip-address") - - 1. Choose Control Panel \> Network and Internet-\> Network Connections, right-click the network adapter connected to the board, and choose Properties from the shortcut menu. - 2. Double-click Internet 协议版本4(TCP/IPv4). - 3. Configure the IP address and gateway according to the preceding figure. - 4. Click OK to save the configuration. - -3. hi3516dv300 is added to the board list. After you choose Board Configure and enable a board, the board configuration table is automatically added. - - **Figure 3** Add a board. - ![](figures/add-a-board.png "add-a-board") - -4. Start the IDE and click the icons in sequence to configure the contents to be burnt over the network. - - **Figure 4** Network configuration diagram of the IDE tool - - - ![](figures/ide.png) - - 1. Select Hi3516 as the board type. - 2. Click Burn. - 3. Set Burning Mode to "network". - 4. Host IP Address: Click to refresh the page and select 192.168.1.3 from the drop-down list box. - -5. Select the chip to be burnt to the flash memory and the burning address. - - **Figure 5** Setting the parameters for burning files - - - ![](figures/ide2.png) - - 1. Select emmc from the Memory Type drop-down list box as the flash memory type. - 2. Click New to add three files. Enter the OHOS\_Image.bin, rootfs.img, and userfs.img files in the file path in sequence. Set the start address and file length as shown in the following figure, obtain the file from the out/ipcamera\_hi3516dv300 directory. - 3. Click Save to save the changes. - 4. Click Burn on the left to start burning. - -6. Select a serial port number from the drop-down list box displayed in the upper part, for example, COM11. - - **Figure 6** Selecting the serial port to be connected to the board - ![](figures/selecting-the-serial-port-to-be-connected-to-the-board.png "selecting-the-serial-port-to-be-connected-to-the-board") - -7. The burning starts. If a message is displayed, you need to manually restart the board \(by powering off and then powering on the board\). - - **Figure 7** The system prompts you to power off the board and power on the board again. - - - ![](figures/reset2.png) - -8. Burning is complete. - - **Figure 8** Successful burning - ![](figures/successful-burning.png "successful-burning") - - -## Running an Image - -1. Connect a serial port cable. - - **Figure 9** Connect the serial port cables. - - - ![](figures/chuankou1.png) - - 1. Click Serial port to enable the serial port. - 2. Enter the serial port number of the "com11" and press Enter until hisillicon is displayed. - 3. If the board is started for the first time or the startup parameters are modified, go to step 2. Otherwise, go to step 3. - -2. \(Mandatory when the board is started for the first time\) Modify the bootcmd and bootargs of the U-boot. This step is a fixed operation. If the parameters are not modified, you need to perform this step only once. The system automatically enters the system each time the board is reset. - - >![](public_sys-resources/icon-notice.gif) **NOTICE:** - >By default, the U-boot boot program waits for two seconds. You can press Enter to interrupt the waiting and the message "hisillicon" is displayed. You can run the reset command to restart the system. - - **Table 1** U-boot startup parameters - - - - - - - - - -

Command

-

setenv bootcmd "sf probe 0;mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";

-

setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=15M rw";

-

saveenv

-

reset

-

Description

-

setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800;go 0x80000000";

-

This command indicates that flash 0 is selected, and the contents with the start address of 0x800 (unit: 512 bytes, that is, 1 MB) and the size of 0x4800 (unit: 512 bytes, that is, 9 MB) are read to the memory address 0x80000000.

-

setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=15M rw";

-

This command sets the boot parameters to serial port output, baud rate to 115200, data bit to 8, rootfs to be mounted to the eMMC, and file system type to vfat,

-

Enter the start burning position and length of rootfs.img in rootaddr=10M rootsize=15M rw. The size must be the same as that of the rootfs.img file added in the IDE.

-

saveenv indicates that the current configuration is saved.

-

reset indicates that the board is reset.

-

(Optional) go 0x40000000 indicates that the command is fixed in the startup parameters by default and the board automatically starts after it is reset. If you want to manually start the board, you can press Enter in the countdown phase of the U-Boot startup to interrupt the automatic startup.

-
- -3. Enter reset and press Enter to restart the board. After the board is restarted successfully, press Enter. OHOS is displayed. - - **Figure 10** Start the system - - - ![](figures/qi1.png) - -4. In the root directory, run the **./bin/hello\_uart** command line to operate the demo program. The following figure shows the compilation result. - - ``` - OHOS # ./bin/hello_uart - OHOS # HELLO UART! - ``` - - diff --git a/docs-en/guide/development-and-compilation.md b/docs-en/guide/development-and-compilation.md deleted file mode 100755 index f912a324c8b..00000000000 --- a/docs-en/guide/development-and-compilation.md +++ /dev/null @@ -1,272 +0,0 @@ -# Development and Compilation - -The examples of the insensitive network configuration are stored in the applications/sample/wifi-iot/app/network\_config/network\_config\_sample.c file. According to, the service process of the non-sense distribution network can be divided into two parts: distribution network service life cycle management and distribution network service callback event processing. - -**Figure 1** Sample flowchart of the non-sensitive power distribution network - - -![](figures/en-us_image_0000001054690925.png) - -**Table 1** Event Function Description - - - - - - - - - - - - - - - - - - - - - - -

Event Type

-

Function

-

GetPinCode

-

This interface is used to establish a secure channel between a device and a mobile phone. It is used for callback during encryption key negotiation. The security PIN must be preset.

-

ParseNetCfgData

-

After a connection is set up between the device and mobile phone, the mobile app can send the SSID password to the device. After receiving an SSID password message from a mobile phone, the device invokes this interface to notify the device application.

-

OnDisconnect

-

The device is disconnected from the mobile phone in the following scenarios:

-
  1. After sending the SSID password, the mobile app sends a disconnection command to the device.
  2. The heartbeat between the device and the NAN channel of the mobile phone times out, and the device proactively disconnects from the NAN channel.
-

RecvRawData

-

After the device establishes a connection to the mobile phone, the mobile phone app may send a custom message (for example, a control message) to the device. After receiving such a message, the device transfers the message to the device application through this interface. The device application calls the SendRawData API to send a response to the application.

-

NotifyNetCfgStatus

-

After a device is successfully connected to a mobile phone, this interface is used to instruct the device application to blink or light the indicator to notify the device that the device is in the network configuration state.

-
- -## Distribution network service lifecycle management - -Distribution network service life cycle management includes creation and release of distribution network services. - -1. Before the network distribution starts, complete network distribution event registration \(configure the callback function\), set the SoftAp hotspot parameters, and start the network distribution service. - - The network configuration callback event consists of four callback functions: GetPinCode, ParseNetCfgData, OnDisconnect, RecvRawData and NotifyNetCfgStatus. This interface is invoked when the network configuration service receives the SSID message, connection release message, second control message, and connection setup message from the mobile phone. You are advised to register all event callback interfaces. If you do not need to pay attention to an event callback interface, you can implement an empty function or set it to NULL, and then register the event by using the RegNetCfgCallback function. - - When setting the hotspot parameters of the SoftAP, pay attention to the input parameters of the int SetSoftAPParameter\(const struct SoftAPParam \*param\) function. For details, see the API description of the NetcfgService module. Note: If the SoftAP does not need to be enabled for the network configuration service, set all the values of the ssid field to 0. - - When starting the network configuration service, pay attention to the three input parameters of the int StartNetCfg\(const struct DevInfo \*devInfoList, unsigned int listSize, enum NetCfgType mode\) function. - - **Table 2** Parameter structure of the int StartNetCfg type - - - - - - - - - - - - - - - - -

Input Parameter

-

Description

-

devInfoList

-

Indicates the device information list. Currently, the device information to be configured includes productId and sn. The device information is configured in the format of key|value. Example:

-

struct DevInfo devInfo[2];

-

memset(&devInfo, 0, sizeof(devInfo));

-

devInfo[0].key = "productId";

-

devInfo[0].value = "1";

-

devInfo[1].key = "sn";

-

devInfo[1].value = "01234567890123456";

-

listSize

-

Number of parameters in the device information list, that is, the size of the devInfo array. Ensure that the size of the devInfo array is correct.

-

mode

-

Indicates the network configuration mode. Currently, two network configuration modes are provided: single SoftAP network configuration mode and both SoftAP and non-sensitive network configuration mode. Device application developers can select a network configuration mode as required.

-
- - >![](public_sys-resources/icon-caution.gif) **CAUTION:** - >To ensure the normal use of the perception-free network configuration mode, ensure that the enabled AP interface works on channel 6, which complies with the NAN protocol. - - Set SoftAp parameters, register the network configuration event, and start the network configuration service. The following is the code for starting the network configuration service \(using the simultaneous NAN and SoftAp network configuration mode as an example\): - - ``` - static void *SampleBizTask(const char *arg) - { - (void)arg; - int ret; - LedInit(); - /*Set the transmit power for the NAN safe distance.*/ - ret = SetSafeDistancePower(POWER_NUM); - if (ret != 0) { - printf("[sample] Set safe distance power failed\n"); - return NULL; - } - /* Set the SoftAP hotspot configuration parameters. In the example, the SSID and encryption type are set to open. */ - struct SoftAPParam config = {0}; - memset_s(&config, sizeof(struct SoftAPParam), 0, sizeof(struct SoftAPParam)); - strncpy_s(config.ssid, sizeof(config.ssid), g_ssid, strlen(g_ssid)); - config.authType = WIFI_SECURITY_OPEN; - ret = SetSoftAPParameter(&config); - if (ret != 0) { - printf("[sample] Set softAP parameters failed\n"); - return NULL; - } - /* Register the network configuration event callback function. */ - NetCfgCallback hook; - memset_s(&hook, sizeof(NetCfgCallback), 0, sizeof(NetCfgCallback)); - hook.GetPinCode = GetPinCode; - hook.ParseNetCfgData = ParseNetCfgData; - hook.RecvRawData = RecvRawData; - hook.NotifyNetCfgStatus = NotifyNetCfgStatus; - ret = RegNetCfgCallback(&hook); - if (ret != 0) { - printf("[sample] Regist config callback failed\n"); - return NULL; - } - /* Construct device information parameters. */ - struct DevInfo devInfo[DEVICE_INFO_NUM]; - memset_s(&devInfo, sizeof(devInfo), 0, sizeof(devInfo)); - devInfo[0].key = "productId"; - devInfo[1].key = "sn"; - devInfo[0].value = g_productId; - devInfo[1].value = g_sn; - /*Start the distribution network service.*/ - ret = StartNetCfg(devInfo, DEVICE_INFO_NUM, NETCFG_SOFTAP_NAN); - if (ret != 0) { - printf("[sample] Start config wifi fail.\n"); - return NULL; - } - while (1) { - printf("[sample] main biz.\n"); - usleep(SAMPLE_BIZ_SLEEP_TIME_US * SAMPLE_TIME_COUNT); - } - return NULL; - } - ``` - -2. After the network configuration is complete, stop the network configuration service. - - When a user does not need to configure the network, the int StopNetCfg\(void\) interface is used to release services and resources. - - ``` - StopNetCfg(); - ``` - - -## Processing of distribution network service callback events - -After the distribution network service is successfully started in the previous step, the user program needs to wait for the event callback of the distribution network service. - -1. ParseNetCfgData event callback indicates that after receiving the SSID and password information from the mobile phone, the network configuration service notifies the user program by using the function pointer. The following figure shows the process of processing SSID information in the sample. - - ``` - int ParseNetCfgData(const struct WifiInfo *wifiInfo, const unsigned char *vendorData, unsigned int len) - { - printf("[NetCfgService] ParseWifiData vendorData len:%d\n", len); - if (wifiInfo == NULL) { - printf("[NetCfgService] wifiInfo is NULL\n"); - return -1; - } - WifiDeviceConfig netConfig; - memset_s(&netConfig, sizeof(netConfig), 0, sizeof(netConfig)); - if (memcpy_s(netConfig.ssid, WIFI_MAX_SSID_LEN, wifiInfo->ssid, strlen(wifiInfo->ssid)) != 0) { - printf("[NetCfgService] copy ssid failed\n"); - return -1; - } - if (memcpy_s(netConfig.preSharedKey, WIFI_MAX_KEY_LEN, wifiInfo->pwd, strlen(wifiInfo->pwd)) != 0) { - printf("[NetCfgService] copy pwd failed\\n"); - return -1; - } - if (vendorData != NULL) { - /* Developer-defined data, which is parsed and processed by the developer */ - } - DealSsidPwd(&netConfig); - return 0; - } - ``` - -2. OnDisconnect indicates that the application is notified that the mobile phone is disconnected from the device. This sample is not processed. You can plan it based on your service requirements. - - ``` - static void DisconnectEventProc(void) - { - /* In the sample, only printing is performed. You can add service logic as required. */ - printf("[sample] oncall disconnect event.\n"); - } - ``` - -3. RecvRawData: The mobile phone sends a customized message to the device. The message content is defined by developers. The distribution network service is responsible for end-to-end message transmission and secure encryption and decryption. - - ``` - int RecvRawData(const char *data) - { - if (data == NULL) { - return -1; - } - printf("RecvRawData data : %s \n", data); - return 0; - } - ``` - -4. NotifyNetCfgStatus indicates that the mobile phone is successfully connected to the network configuration service on the device. - - ``` - void NotifyNetCfgStatus (enum NetCfgStatus status) - { - printf("[sample]Recv NetCfg Status : %d \n", status); - return; - } - ``` - - -## Compilation construction - -1. The service macro HARMONY\_SUPPORT is defined in the /vendor/hisi/wifi-iot/hi3861/app/demo/src/app\_main.c file. At the end of the app\_main\(\) function, the entry function NetCfgSampleBiz\(\) of the non-sense distribution network sample is called to start the service of the non-sense distribution network sample. - - ``` - #define HARMONY_SUPPORT - hi_void app_main(hi_void) - { - ... - ... - extern void NetCfgSampleBiz(void); - NetCfgSampleBiz(); - } - ``` - -2. Open the encryption and decryption module TEEHUKS, run the sh build.sh menuconfig command in the code directory /vendor/hisi/wifi-iot/hi3861/, and select and save the TEEHUKS support configuration under Security Settings, as shown in the following figure. - - ``` - (Top) - Main menu - Target Chip ---> - Security Settings ---> - Factory Test Settings ---> - BSP Settings ---> - WiFi Settings ---> - Third Party library ---> - Lwip Settings ---> - OTA Settings ---> - Link Settings ---> - Debug Log Settings ---> - ``` - - ``` - (Top) → Security Settings - Main menu - Signature Algorithm for bootloader and upgrade file (SHA256) ---> - (0) boot ver(value form 0 to 16) - (0) kernel ver(value form 0 to 48) - [*] TEE HUKS support - [ ] TEE HUKS demo support - [ ] FLASH ENCRYPT support(only apply in WIFI CHIP_PKT_32K) - ``` - -3. For details about how to compile the source code, see the Hi3861 Quick Start - Compilation. - diff --git a/docs-en/guide/development-guidelines-2.md b/docs-en/guide/development-guidelines-2.md index 1f4fce1db4f..6b5c9a629e1 100755 --- a/docs-en/guide/development-guidelines-2.md +++ b/docs-en/guide/development-guidelines-2.md @@ -1,9 +1,5 @@ # Development Guidelines -For details about basic concepts for camera development, see the camera development [Overview](en-us_topic_0000001051690589.md). - -If you want to view the development sample effect first, skip this section and see [Use Case](use-case-5.md) for video preview. To customize application behavior, modify the sample code by referring to APIs described in this section. - - **[Photographing](photographing-3.md)** - **[Video Recording](video-recording-4.md)** diff --git a/docs-en/guide/development-guidelines.md b/docs-en/guide/development-guidelines.md index f22ed45bc54..fd34356bfaf 100755 --- a/docs-en/guide/development-guidelines.md +++ b/docs-en/guide/development-guidelines.md @@ -1,9 +1,5 @@ # Development Guidelines -For details about basic concepts for camera development, see the camera development [Overview](en-us_topic_0000001051690589.md). - -If you want to view the development sample effect first, skip this section and see [Use Case](use-case.md). To customize application behavior, modify the sample code by referring to APIs described in this section. - - **[Photographing](photographing.md)** - **[Video Recording](video-recording.md)** diff --git a/docs-en/guide/faqs-1.md b/docs-en/guide/faqs-1.md deleted file mode 100755 index d4db7a09f81..00000000000 --- a/docs-en/guide/faqs-1.md +++ /dev/null @@ -1,132 +0,0 @@ -# FAQs - -1. Is there a global variable that can be accessed by all pages? - - No such global variable is available for all pages. - -2. How do I obtain DOM elements? - - You can obtain DOM elements via the **ref** attribute. You can only use methods of the obtained elements and cannot change their attributes. The following figure shows an example. - - ``` - -
- . - -
- - /* index.js */ - export default { - data: { - images:[ - {src:"common/frame1.png"}, - {src:"common/frame2.png"}, - {src:"common/frame3.png"} - ] - }, - handleClick(){ - // Obtain the component through the $refs attribute. (The ref attribute of the component has been set to animator in the HML file.) - const animator = this.$refs.animator; - const state = animator.getState(); - if(state == "paused"){ - animator.resume(); - }else if(state == "stopped"){ - animator.start(); - }else{ - animator.pause(); - } - } - } - ``` - -3. How do I pass values between pages? - - You can pass values through **params** of the **router.replace** method. The sample code is as follows: - - Set **params** to the values to be passed on a page. - - ``` - router.replace({ - uri:'pages/detail/detail', // URI of the page to be redirected to. - params:{transferData:this.data} // Data to be transferred. You need to define the data amount and name. - }); - ``` - - Receive the passed values on another page. - - ``` - onInit(){ - const data = this.transferData; // Receive the transferred data by the onInit function. - } - ``` - -4. How do I scroll a list to an item? - - Call the **scrollTo** method of the list. The input parameter of this method is the index of the target item. You can specify an item index, or obtain the index through the **scrollend** event. - -5. Does the **** component support multiple lines? - - Yes. You can use the Enter key to start a new line. Alternatively, you can choose not to set the height attribute of the text, and the component automatically starts a new line based on the content. - -6. Why is a component not displayed? - - **Description** - - The component added to the **.hml** file cannot be displayed. - - **Possible Causes** - - - The width and height of the component may not be set. - - The style setting may be incorrect. - - **Solution** - - \(1\) Check whether the width and height values are set explicitly. - - \(2\) Check whether the style of the component is set correctly. - -7. How do I implement scrolling on a page? - - There are three ways to implement page scrolling: **scroll**, ****, or ****. For a root component with **scroll** set, the scrolling effect is automatically implemented when the component size exceeds the screen size. For details, see the _HarmonyOS Development Specifications_. - -8. Why do not the **left** and **top** attributes take effect? - - In addition to the root component, **left** and **top** attributes must work with the **** component. - -9. Why does dynamic binding not take effect? - - The object or its attributes are not defined before dynamic binding. - -10. How do I implement relative and absolute positioning? - - You can use the **** and **** \(with **top** and **left** attributes\) components. - -11. How do I set component transparency? - - For the **** component, set the **opacity** attribute to adjust the transparency. For other components, set the alpha value \(in RGBA color channels\) of a component. - -12. How do I display or hide a component? - - You can use **display**, **show**, or **if**. When an **if** clause evaluates to **false**, the corresponding component will be removed from the VDOM. When **show** is set to **false**, the component will be invisible during rendering, but will not be removed from the VDOM. - -13. What are the precautions for using the **margin** attribute? - - The **margin** attribute cannot be set for child components of the **** component. - -14. What are the precautions for event subscription? - - Only one page exists when the application is running. Therefore, the **router.replace** function destroys the previous page and then creates a new one. For event subscription pages, the event should be subscribed every time a page is created, and unsubscribed before a page switch. - -15. What are the precautions for using dynamic binding? - - Do not use too many dynamic bindings because they consume too much memory. - -16. How does the **loop** attribute take effect for ****? - - If the total length of the child components, except for the first and last ones, is greater than the length of ****, the **loop** attribute takes effect. - -17. What are the precautions for using an array? - - Do not include too many elements in an array. Avoid frequent operations on a large array. - - diff --git a/docs-en/guide/faqs-9.md b/docs-en/guide/faqs-9.md deleted file mode 100755 index 842cab95966..00000000000 --- a/docs-en/guide/faqs-9.md +++ /dev/null @@ -1,121 +0,0 @@ -# FAQs - -1. Is there a global variable that can be accessed by all pages? - - There is no such a global variable. - -2. How do I obtain DOM elements? - - You can obtain DOM elements via the **ref** attribute. You can use methods of the obtained elements but cannot change their attributes. The sample code is as follows: - - ``` - -
- . - -
- - /* index.js */ - export default { - data: { - images:[ - {src:"common/frame1.png"}, - {src:"common/frame2.png"}, - {src:"common/frame3.png"} - ] - }, - handleClick(){ - // Obtain the component through the $refs attribute. (The ref attribute of the component has been set to animator in the HML file.) - const animator = this.$refs.animator; - const state = animator.getState(); - if(state == "paused"){ - animator.resume(); - }else if(state == "stopped"){ - animator.start(); - }else{ - animator.pause(); - } - } - } - ``` - -3. How do I pass values between pages? - - You can pass values through **params** of the **router.replace** method. The sample code is as follows: - - Set **params** to the values to be passed on a page. - - ``` - router.replace({ - uri:'pages/detail/detail', // URI of the page to switch to. - params:{transferData:this.data} // Data to be transferred. You need to define the data amount and name. - }); - ``` - - Receive the passed values on another page. - - ``` - onInit(){ - const data = this.transferData; // Receive the transferred data by the onInit function. - } - ``` - -4. How do I scroll a list to an item? - - Call the **scrollTo** method of the list. The input parameter of this method is the index of the target item. You can specify an item index, or obtain the index through the **scrollend** event. - -5. Does the **** component support multiple lines? - - Yes. You can use the Enter key to start a new line. Alternatively, the component automatically starts a new line based on the content, without the need to set the height attribute of the text. - -6. Why is the component added to the **.hml** file not displayed? - - The width and height of the component may not be set, or the style setting may be incorrect. - - Verify that the width and height values are set explicitly and the style of the component is set correctly. - -7. How do I implement scrolling on a page? - - There are three ways to implement page scrolling: **scroll**, ****, or ****. For a root component with **scroll** set, the scrolling effect is automatically implemented when the component size exceeds the screen size. For details, see the development specifications. - -8. Why do not the **left** and **top** attributes take effect? - - **left** and **top** attributes must work with the **** component in addition to the root component. - -9. Why does not dynamic binding take effect? - - The object or its attributes are not defined before dynamic binding. - -10. How do I implement relative and absolute positioning? - - You can use the **** and **** \(with **top** and **left** attributes\) components. - -11. How do I set component opacity? - - For the **** component, set the **opacity** attribute. For other components, set the alpha value \(in RGBA color channels\). - -12. How do I display or hide a component? - - You can use **display**, **show**, or **if**. When an **if** clause evaluates to **false**, the corresponding component will be removed from the VDOM. When **show** is set to **false**, the component will be invisible during rendering, but will not be removed from the VDOM. - -13. What are the precautions for using the **margin** attribute? - - The **margin** attribute cannot be set for child components of the **** component. - -14. What are the precautions for event subscription? - - Only one page exists when the application is running. Therefore, the **router.replace** function destroys the previous page and then creates a new one. For event subscription pages, the event should be subscribed every time a page is created, and unsubscribed before page switching. - -15. What are the precautions for using dynamic binding? - - Do not use too many dynamic bindings because they consume too much memory. - -16. How does the **loop** attribute take effect for ****? - - If the total length of child components, except for the first and last ones, is greater than the length of ****, the **loop** attribute takes effect. - -17. What are the precautions for using an array? - - Do not include too many elements in an array. Avoid frequent operations on a large array. - - diff --git a/docs-en/guide/figures/add-a-board.png b/docs-en/guide/figures/add-a-board.png deleted file mode 100755 index 81a2b496aacb056d6003d0fe440e9d1dfe8f96e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32367 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 diff --git a/docs-en/guide/figures/adding-a-page-2.png b/docs-en/guide/figures/adding-a-page-2.png deleted file mode 100755 index 76cbe1ecac3bf4e88340c0479010ace8500eaa73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49895 zcmbTeXIPV4*EJdxq=X^@L8S>6TBIr<(gd-g0u~6;q9~yB-U%(BAk7BSK@k*?P^1@w z8$s!U3IvGs8aknbBxfb)v-k79`&{Sy&JQmyVBPCpWv)5q7;~=sk-^pT9Bc>KAP@-0 z#S3SzK_I(f5Xi1=mObD%0kFgC;6DbpYv;8g@7o2Z!4Hf!XRe%qK#F3a+qap(&#cZD zOxz$4&QG*|3{6hCcOj4l|BGkO-0-#_kR9TV{0zYR&Euk@dyPq+Cj7*@fnJuT=z!r~ zXEW1VgyOy<*8Tww7hws{E?$2j@u+d%(Wsv6vrj{8yB@rh>etq($>;;p#8`SDB$|EK*cmq+KT7p|^+l}-qCSlJl12|t56z3GoZ*$gbXSuak+ zz7%ikE@?vD9#Y;o<#vA6EkhOpIXO2smpGZ`#|cq=`vK{)wR+!eqV>Q^n^Rz04YB_^ zR>LDqTURKv=tU%w0b;u!yGtwK!$J68?d>LR)89fT7N~)g236jJGc3^`ZZJY2TAx^8 zkScpgtai$2uVkOC>GPrFs4#6E&_l6(k*1vTfOF^p_Q2Kw*C@_ieiJX0xmro{&H+yd z`hl%Ar-qt*@j|K+uSXw^Ama(72~*+-0RrJYjDSoPXYYZ^zwD8Ht&^D<(}|EY?#;n| zWMb7suq)g~mJtHJY53V2A9>=5sTh}T`nU!#H3oWL zw=lLOKlr<`&tDm#K4u;(WirIUvaxU3Ci^cK!R<+K?+d1ZYC`bhrn2HD2FRhu^tV7^ zS6I>Es@hi1NA?|sXf<)eA?_xVp}ME%Wo6Xby;^=_{$X&S4-BU zb_^9X+jr3YQ11cGC&=OcZjwAFm$-G!@YZ=vuA7h|X(1`FPMt?Wn1Wm;&$dJkwELjrG86F)h3QC%S3vC zQ!KCXK@NE}bqANR(N4I}qSeF;aYEg19~2?Ee=;UrF;p4Vs%Fx|3Hca8UpL@~@Bv;) z#uk-=_Q??<@W1d^HALntX~RZ1{WdL?fUVL~ZWE6;CzR{0E&K>?k?E@1nOQO0i1RG4 z1EA5z2ei#K0md^omvS;eM%|V|S(ub9qxp|*1g(KD{rF@9+nFD5n3&EH;ULQHW8?4` zYkGpb9g6)p;QWar{)p|_gwt<7W{BAIZzJP{I>7Eh`n70_t;YeoqtFMP=h=D26?-Q` zC)nJaB|O5!v;aA*jkaK_91SS30>gkDr!97|@O#8mh^2$+5k#1b-^euyh?X9GzLV<+ zTBF&}-yX(%yTBlHovd3-_+lE^TFrYYFxx)&_+Gecf_7sQ=m~O*J^*lh%Icf4E(PX$ zdyE8VCJfz8Wn}!>6wZ3zZzbPyJQ6*)z^Oh2PaJ571inG&_rlp;k~q=BeGm!`Avo}z z_fomQ#($*Q+W+}hOCV~Nze+r?7^zRS%X$5LeK2 zV1l`LtH_T=2OpRh+=BxK0;8F*-P*NWW)Xk6{qQ-W0X5FR7PyojVqmaA@98^X6x#Sb z&$z9x#6~f*L8A<(L)Ouz<4Q!tX=|1Ji2{xlqQ&xQxdZ`gHDT-iZAxf#k3i;mIlCoDfLT&cSDf&MuF)7-BG}@cx!C?NC_1 z`0Kgl*RS?K?G%O{YDbc<8)-lww)LjW!TT0IB+ z5z`#gIxEeBmaQt0@|~F<-^(z5`jlT_gmKQ)E({r1s_T;n1BTFd3{jLDCnD`G`K-U} z0*1w$_*XXAIxd>YxWwwBcbq2OtM=VujFO=kyJqUt^QnEVi=CV~|9?t@)a`o8kkwX<4N|!I-l5NOR#_+j7uc;+#>==v&c_wrp zwTbL{MnAD&TzPa)SIbHRr_=wJDAp)lShEWPQH`P59&M64@b;ZhHj z5BU^UR#4Ak78Hc$+1rp-_QxV3u*941PM3fBB%~)5PIw)w|sk(UQ;Lk?iGwExG?A(}DLS<0>6Y9~NotaH~&ZKX#+R4*(mtF|m(Hn{dHF-MPVFqu zjm4(;EFZZ6m)KXk{EPMB04=VGClnra zizkn2#iyDQd!Zc#)))ytPRf2r(B{rr%nH%GTHzcMs{89(=H=T$4~%g~_HRTQ9ba~n z4D=tX{LTS8+JRk5M)RFK577$PIjOn7VxP(m%`!$k@iebt?r(X<#7bR?pHw=J$@S&j zXUno5A}8{n;YxDA3{8Kz9+qq$^{gC_kir^<6{(aKwJ@ zy_`juFIvU#*AKDU1u>vIj~^5N8~aYBJZ?KDcuWB|iWEKb$-yl%L=KS1T{Oo~a0OH0 zNl2%`=@DfUAVq3ebDLiNUm|Yl;k59Hj$rQG#~#=wimFvvP>P@&t<8 zG=$wucp=C$^!_}tcMNyvMCxr{MIy3-#{tR|W$WjzA3j^SP!9-^#m=VZ?xlrHJIgji z-)vthgSU`Z}h0B%5AtcR$*=U%%rvKy9YvB-KlRlqOsJ^sfgo#XuFzz` zaj4FDSo;_VA2I`VLF~ne66D{t#~LHA#3R5qq9wn7zJhoenV7iLxfa!L9l-qU1r$~y zuW02=Wr7Iu(}!IB{}wAf`HrrbD)hAnR{Z7CSr<&FRqL)VdjKxRKXO{|$9cFaKd*md3P)KG$GJiu(NG$tzGx%7Yj@ z|3_a@gnO&{`heBdbPe-nS|GlO)mC#|x`sh#c=8pt zdG2Zswhq#-gPF?sU*Wt9SluA&9#)v@jSE4Yv1>$y?&-R|AwhcZF5f$#lpr&B83R!b zLUx_`H!rvCGLUTm+}o54I_a_Ux2Ki;b&g`~T=T#60sNYt;tn?=9=o95g-_Q zywAkF6`u4>9MbfqDprhFOk11ufDxL3V}S{I{ClvkfE{seVrSm1sIo`dtxyax;BiWX z#$Ku#-bZQ%j2~Tjf4v*&7w;3&XgcI7HkFHQ7_=I02or%1jIJ)fZ6lCd>mW&B(J(Cu zvgff4lmicBdFTcjW+X}X$qak5oQMb3f z2lJ&6+pjuWLmJ_Fz3H!%WD&h}UTsQWQ2Vqsyibu$ws@l%AW?D1+W`xWc@wXyHQ9+P zZ9H)8JiZ?_*sS@;Mt84gtfH!qr^pN^LXj?)X(xxGLWyi_mm|Nnl^gi7X33w&1|u%% zx9VXf+)Ol3_V1StKCRl24en_UTh&GzD6i7eK z=IP!hr8C>02`d$fRx3Lr$^)P42&UTG#y#g0IAbeS~RZm+tIYFDR z;Kswwy8Z#I*w!f=%4@8Dl>$jRgVB;C&E8`Mx|b*d-pU2*QmQ=i0Jcv7D@HL{5Lq*3 z5aW@sCiQ-g>ePV9aS2HE*ZEXmvbA&=LdKV6=MgCMUDE0tZtpaocV{=2&cDeF)suO& zEQ|g|o|_3X&yJ%goozm9xSZIM0XcD7C~y!S>JWIwLgH*#7?BC1!2+AgzPASoQE8t6=Zvg{(UJw*oI#UDLXg20fL~}S0+Ryb zU@iS1fnbj%gvl2WHAou>4)!uaR{>k3O%iel^mP;*ZLlLWZ(=a>-z2`hC6Lu}&}mIW zEhTX&oHWrh+|J^ zC1Rb$dyNuA;1&UEHz6On!GkOzjq)DjU-^I}{Sujr!8w4(EG2FL`JzQx9|Hus*3aJi z?DJZ5P!?16B+T=(DVrSNp6+bmT4^j})CY16DF9Exye$QK85@fvPG zU&dhm5$haWjsB@5cLC!}QySvqh8=&rp!hb5JrH=Ob;npkA^4RVqBk9|pU%fV?Kw&} z{D)gCqXQ{h$|8!ID<4iEdZ}YJ)vm(}&CZLWCG zK8ZlSkExBBrj+$PZgL)tZk=~uTKduGUS(5u)&6B|c$!`J=zYhz%u^n5B7VNkU)gWs z+9LHVz&m2!4x1I~G!Ok?RaEoXYj4WT7?p;puRL5@OB2C{V@EA_bk_#E za?kMlTFs15*|4+qkxD%9Z+h<(9BBA7kTrSTPqL@aNi%^FIxDnZm2ul?ij#0SQ@bHd zx;Odw=c9}_m|p0H==LSf^1|QvnO5qL6O>H%>MdCkACVid4Y1{se&iG(uPM*XKRqn+ z#N}T3yEP-o;qFXiybq#<6BgB8!h+qEy`w*E0fF~8rKvCIkTmzVrh1XXtgxAu<^1Tr zi{}cjP3gUM$EjgQ8u=|B2OeLT)L1{Y@)ytiIUR_WMJh7WSURlMht!ZQp5=VoSZ1tT zn-6F$RqnQKxVdtKKM(xtrmlBgz!EYO>RW5x%g12qjvFzJwNys%MlbAYk#yUu;wXU4 zn)BHQ|H=*jVMeD4d3s-mSS)>~kFErB`G54^_#~oaYHB)ByAV*gNi45Von7y@D}1TB z5vnP-;M3vP+NO+8v11O>NEAoZj2{ZpHMQn1xb=;=wZUKXd z`}Q57BdnXMk)fOkx){m*LA)`qbx^&Xzity%a*wH8!||GPQyz=28g=8PywvA)=&G%s z*=w6mX9b;aU@#6>3K6Yt_VFl(Z$8Z(ef3czJ~A{9FXeZ5U~sUFF^WJST*e?y+-OdY zt9i>CP|TEpdL48@<5bG%9s~0m=>7o1;5Tfsw#mjHTY)DYE<`-^2|@SbhgwtgUODfr zxcn|(B0)aOB{D>JxFU0;UJcP>UKF=DHrw#7F$=5B|DIBBA~_SV)$K#wm+8+i{~0P= z_<2Lyh~dc{je|JZ9)2inMWf@JRSUI*LTx$P#6mS6D;Ht{xO0Pe&UT^Dn@YkvX)MRb zCeqB~%C5g!Wb13Zb06Z5tR_be8m%4c%GQ4iDb-NFZ*D8G?H7@nt!9wu}+=jq-53_PHn5I%Ot#iNQ}C- zIc6SfOr&1!+R!+aCiDqa=lHmy!t!gR?ndu7%b3FqpVCf8QY<;!-rDcjz&mgTyoZ@q zHak#5+l`jn=*_>xHMp4`;kOF#k=jki%Lj@(FExq{2O${*ovMOZ%Z=-&XS1ZL2j>N3 zEELdBt7;k+jGNT3S+?2QVZ`rQ+GYjBnUNvQpZ!fZqU)=VK0UGngs-~avkf*~x~-}S z9DAS(i9hC>KTMO2kFsSA)xXS=6O^%@Bqu;a5=%Xs4M{!i8WVEHv3u{!Ejm>xBRxXW6Tmu|s;Fx$+DdardsBQd^ zP$7@`ot(am_}A^^E0YTpho4ksfdUMZO!rd)#d~XGi&{`j6~8MYx>6uD4-!zqZfQO} z9I$W36M2>*%7vxJ17tj@{tqRRCP5rLl@0c}c6+*>TuueqO#DVP{-Ke~+&#n0I?<>- z(DidXfr`7F)t)g$d!rwVofXGLp*cQ{7uCj$~pdK;V$lEvHYiez$G^APpQY138wVaFYqzXd?j?6_5 z0A6uLCMrqXY@=no(ldmq)0C3Uxk=m%)vc=aZqyd}X|80b76GUPQ&8Yf^ z9K5Utd?#xsMkqYkx)uZCxhYg^qqE8hep!pwwGw3yy$a0mCnw;ycOt)MRsWK>ExTFE z{dFC&y_rs}?893QDyM#x3TIhk2)YSkNf0hRQw`X1U&X}>d;bcanix0O$;WjfuKbGL z3rWIm^3urXGY;4Y2(YXbUM9}|EMz9V*wLF#1}kd=f;xGfHr{Khh=(|*di5$biJtl$ z#cFmD@S*SJ@s5whv4l`;=bWJMyD|>Np##a$CL%*D3>gPf^cjGmUqXlcGnWg*B;g~M zpE+m_95^mY?4DwwY#n_-OD!KiEe-cR-Fd(P>$Zql<4WDuHnpZU4 zp&*AFK*S8`|Ic)I%|SVU>&2($=(wiQr6YZ5)x1)i0<_41`S)xbP_eqtI}s5)Ub{Uv z_7EbI%W3gkZt==Af8F-?$GC-lMf@pm)n5LOTZa)y$(=ah3fKrOMG*0fjCiH75uF;` zQ8;@}r8XkvL@#HC`k&yu=mJ2SgDpu{*V~BJRSE>7ob%RRN#S56FslD)6N!}Xzj@}4 z7cUcgZNdG_(Ou0n3h^$a(Qjxa?NTNglHp_|1kWOLN$GlyXI%u;RQL}Om^zCwzzp-S1wIA&wSKXQg%Mpm z>I;VX3?=-r%JdS(d#gRE3uP8>{qj`&uy`3UgsctY zfSo_}=0_^n8Ex-IF@o&+-3|K-61Q}lnWD5b2gSY3_-qF{?oZLhAK&|ZSnZ+aZDnQZ zb$JL`aS#{DMk-ME2uySkNK;MZ%V3`9Sv>out^5K;;`Ez&b8ede8<&P@i8#6@I=Rm8wbf>M#d^mj_4(tH#Fc1ZKPGltG8moUzx@UjFEH;X(@ zm|=XOtiwAtSg_mj{DmzW+}x-`^^;-ds0vFEkgzHf&ITmwhDfitB;rVoZ;?N@1ZvI-fNqvq5N{aI! zJq)Tt8oIXX=8GYkedJUvx1^c*uwsO#>gnPAtChX)6{beNpLVi|wd?bfRyjXf@sHsf z-kjnOTpq8LpK#pu%+tx=k%jTc`J3?zg^1=+9;pkhwRejCLI$h(#Y`w51c5XJZ%j|A zR3CLKpHK258m&87#Ul+r<1O>pVZol{`^HmG3+<~pjt%T($$zCAimrS7g$w3+*<`$P zjKUhyI5YMAnZaqyJPSiyt}^~TQ6tF^vIDI% zaelV&iJmjq&D+7qct=@~vQn9-VS%mnK4+sAOaH16MP&4R;?fjk=WX~qN1POGpY%q~mx_pp1+(3Wtf$}h52UHVK+to#>~IXQ||s&$z&WVqvTI*$MSBUQYD77=Z2bJqXev1DT zr!HXjvk%?Z@W3*KL(_e2mQ^00CL`J^k;za#C0qDPw85^c@tqpCQju7WV2BaW@M+Y( z<*tH!`H-(2uhd*R(IwZCmTvqcB5q#PnYVY-VNzrJ@WtUYkbG1K{0kl9;d?lr4F*;Y z`Fv+W9|Fj;ma!pdvSN?LF}nEvmJQ~5peNRUBgHOCxX=r*PMJ}EHt;67gzEV!>5AV( z?6Bya#diIpxVf3Lwl~FomSyQ>LVl_2w8ZcN4j-X;wODnj-D^U|;~U`{@o-6C@g43D zP0|NzxOZtOs-*7%00h^ilRBO%-Urr!YXn@1^UT2d7eq^>6A0Z`8T>DDNliAtk(=k7-5H zgv;(zU$-ZPVv)ffm}khPuhNB(RFI$#vWBntOX*gIJ(_mM+dGwAw^zQ|jLT2}A|+`_ zg@j9f*#t6#7|uUBi`84~9pLX}44%nmz16me$h4&lvC-f>fA=5HjCg=C(Dn7KHm}^D z2n4^o$rcCV$XR+x_P6WR-ImIxs|uPgMnv6 z_!ch4IiEQ!^=I(l^F#Uu=m8a7fH=*`@O znCk!~ssQ*WfrtKVADW|s&Wk#|arJMZ_7rligM*=^P1dqrq(ypG1JPz)mQ4VrERsFZq}N#-T6NN=dE08C=X4>=TOSUA~`)X>ukdFhTJ{KOWh}5GPev*d_hut1N|pAo=37 zNcN<7wG^@=Ps#mA!d`TP7BX4(Ml*BMa(hADWtGMDYRYEmoQti7*3Z3g4Db4YTkI(i zFNxApF_X;DrRGLGEJgRl=DDdM_OF_4x57J<(`#5~12saJVh-0gca+Nt!`+e1_T|!C zG|z9azlP|)cfJ4oelVS?ccIN8>8^GXbe%@YB-spyFmljRCn=`X{z$6pUMHBirq2J>903O z{Z^8q{ifI4=A#`?*H$|BC3rBLzo(h1X?SZaPcO`xoaRe@TM^{t;D`%YVTyVZqQMHw z8MvhFKCtoah?nFufsSyt`}Iqo*OR%tS9&^foQ02e1aP;grQdR8eby<`AI7$6Tdi7u zd}V?#RTpWda&dC%GaEB2)uqcnNJbQay#L=hDo#|23=`Dn=~r~<2FDQ}o@-7LF9CFs z&b`6gqDA1VPyBn7E;X?TX_8Aj+LSBbn?zfQ?4HedS3xx1HMYdccf@Ret_VDZp70Vk;X_vC9! z;Niz?fwE@3TDS27+UaT27*TXBC%dEC8f!{G_o^de_4yvC?7-9#D@^5mmL+b6ub0^E zZ(2%X^2-fMS4Ny=I77Z0_m?sa9K zlajblaiQPcHm)J?wc`sTf>_l>%-oYapoNI&e8#5;>48$&YL0_lE;gg$%1%6RXZDQ* zj_C#03o^zBXOhdiQIjispn9Kq?>n2o5mWNymgKJ!+#eFu)_r!+(P(6Qa|KJdxg-4p z+`1fsuHuz?-Ch{O6!eC!G&B9!(FD7*m98D zjgdltXhT5jozV$M2FGtb{WoOLNlt?IVa6b9XALI0aQ+W^@-HYOzp%NgXIa~^{p-6( z5^8-G2)pDwyuHe&SSmzk%p5C_xs~{1ew3uKP;?6>>Kg5XL{i@v43E zMg$uxSCb^-a!$4NUkT54f#y6k9pBJHV@(Gg76HJ}xVc)E`NN)9gUI?fd_oCG29-a3 z7ENuscOm5mg>-evw#vsx2xS0UF4w<#{$H(VUG4s>+Ua0&`ero#i+wk!fzIDQHB#5? zUgcD#+!94r4ak2tx(^PC_%neS#wZjC8~aj!z_)O-r78VnPJKXQ3b{RM!YaoxT@x_} z@Du2iKP7$%aKQMQ)XTs<1PxL^;E+XPvRiIS-tm-#l2ZuGN&SHo$@C1mmYc@Q+pRBmqC$t3qQYSX^k2V zB6_O-R=b2jZxA;dPk$A2lx?eFzjD8Ef0o-FiZ|_5zhSCEIc*$oFEJos>$`2s`2n9% z%?;P?$ZS8#tr60=<;+wromIeN>W2*k$^(Ps0NDzJjoXulvB)%}i}M4OpR)#I5`_gu z;)v}oGF|~!jei*ONtV(?eGs^!X!GRIu%^ZX3?^Xpl=hUL+{|hhV0^{LOLvJb?B2bw zeZ5o&p$xX>TX875<`LR)tDD?^M7J{S)4VP5oYCQ5Kp@GqI`Jhsy>96ThYSUT!Lzrk z%AZTt-NP;RVCNP(`Kb5Odu0XT_M)1C?U9>vb-p#KP3sp$)5BR$hd(wJg!}uMif8@& zNU3R7%P;ft+gEN+o_@ndoRoHEn+ur;4ptC?HywsP9SC zy6u{qIk7iA%mQNEC$rDE267dgYd$3@BG&*G4`jwf zq&yJlf`i|+7oW^rt+`QZ9#Qyzr{BAJ!Oqw9F|S4R`PlJh4^Ub@rV*R{Fb{K zwN0v`P?_ugN+{Z2EFm>&UC`RC!hL#T>S>i*q2*U0Y2T9QNfURo^kg>|Os;z2&yKdT zw$FW6Wg`&8?E4Znn(6=s!}9dJf5YHMPZ|tf+}k{FDF`=9mR=;Ex`3&WJ*e#Guil}{ zwsiyu)6%R!n9jbqBTV!C5vK17A1x$^fiq)CE=*VQs$KP(c!esq8d?gD1wJCP!1e>k zJ{a-A;eKgPsa{bOs>fv1a;HH~tdTp|j%RLpt9^oP4H2rSezzC(s6J0*Dy;^K>>W-DYVA)GJbAZZ_!hDT4_2RHu*q9SNYhxfGi~s)}S<-z_~>i zf>qmxw{=|`^Gjwck(Mj3B@9M;n-I0{Mt<_O-H(@v)z3X7dghSjuL$UT?iC?rN#f{D zM)fq*cI$q=(et7olM}*X>=PgEj$wn95t^l8(kw6~IsdV4OF0`^RL8((gPmdXM(Anb zRy14QRZx+91z7yGoDkg%byM$2D8b(ER^lw=P=F4pw@E2zO22VV?TEXr(qh|xO;xZUw?qUaq`bj~TfI1lEV49asr(Za6U(jMe6Ur{Bo0m;ojY+;yE zmV>jGcYrQUEoX%sU3GRT5Kdq`Bm_5;Sd`U##|a}AnUx(`iQal9_%p{c!3?LiB8G5J zv$UPWO>)7eJ#osVgG7DVSPN$%;?6V-*5x0r;O#rE=#sM_n+P|jl3hYf57`bR+z6V`LLptWDI$vKl1a%n5P^E zf6QNCbK`^89Lkt{BK@lt$(>}==Q3U-0fo4=MInn|S(bS-d>@J3o~AcQOdh!(f1J@O z%MRF$BZzNWQ2mz{`uU}%9JCDTzun~D2rOFoY%31nyRcy1xT&}!2T~P9(X5c&`qA{1A@3 zw7Rr*PxmHMZJ>q%9!Ll@N%$-Q9E{)WxwiDGQ`j{*em~_VyflLi{fQQIPCjkp#G}CA)Nv z1=9A5PFg$l=#NaOrw2~wt?T07o3BO>_^&8o>iz(*Rocp14!(WDEU=GDGz6h%zdbr~ z_DLO4163rWe**zmP%;Vklqw+zQk{&4iJlx!~CzF}fUfLZgtG7Pi1qH}- zeAx$&1eFd!_x?zW{QQ0`O8S_Mj+}+ZyU-l_RWI9KVT>9yymhEh3V|T@mi_vXDcUd0 zKUTFjc0!WLKN=a&Di*x-jo>)`S)DV2dGMI%nGkJ5OrniFt!l2ev=yX~Ox#A8GAf;& z8&cGK6kPAv$@a?L9YPkBdx)t}ux~R@$*bMtd=PUO;5N#gTHZ>WS5`RF;MIeSm;O3C z$HNRsx7;vZlf1LAjtLkKU+PS8zij~`%k}uINtKS2sE{+aF)9tS!K1VjmL!e{>(Ac| zL2umWZTvv*(SZBH6ZR+KH2`A0@Fn^tyG$ukjn8FetfW z(226TJ$^ZE@i`MznvK)K0Hga}JqMO5(n9Pa4^YN4Gp~wBOEp7x#e}g3_?zdFM6@b5 z6BwaA(q5E9wQ-SiUaSD=M76M(KCZy5LIPlb-}JM5=%e1o^vHvMw?o=|jl$M6e{ zdeWo=RfD~DVIm(XYg+X1^Yw+JFG;eOhOA0`LUsF%)RndXgR;1F592I;XS3(Q52Z_Z z##j3JV~p>wPHZlHds=_GD{l!pBnWZWH^DsYujPaKU&;RU)(Hgf zsjrbtLEmXgu__O|#vrcpj1x?u>}gBtH@SEyZ0T!w-RdKOsh~A(KB7ehCXX`{&-VQ; z##x$AM^O;QoUA$n6t-2sQfg1oQ{%?c959y)7i282DNprz`qg4erv*61zrCGv+B>{Q z6=}YiAiJq-bRMUm?36=|1;Oh`+%->0Bcb0s>y|Z;(?&t%KHY=2_#b|DGc3*k1wqj2 z@M&r9|Gz}+cSdK2yS4ghkiQu(MAeyBPYG0RPB`q~GEsz*S6IgeQON=c$bY(dP;a?Y zfn-Q8XZ)L#k+?KhzX(8(8Xh5NPC72MCDF7(z;*OEB??K|7@eB%Mf|PbRbl zA0Svmolq86?kgag2gW}{S`_y6((50!B>$rruKHKmVlYgl$K5@!j^z%H3pQH>C#Pe$ znfdP5qkG}om3EBKus_A3=e}>=V1Ags+4;h!i8)Z(XWMBA^>ov##9_Ht3JNQpF)&)Z z^*)_)x7Jsrg|BD4(KS^A+&l?5`v>!Yn<%s(o32ps)X}jeS^rg@i8Q;<+XLq{((Hi+ zoQ$#=bV>{HjL1(~;Di z9biVOgoOttPTN%AZlqgzan^c~TWp~4+YDs-dFy)nVW;#GwT`bYHkvJn;(Az8H3yq6 zC~EPh^r{T~K~zxX;PUf(y<+`ZpKQ`PrTuukC5~c0iWMstGq6cF5ivhId&f6T4kI?9574YnR{;5RCIH@mqm&! z!aMzOM6b3P^>dCYiN)9;C-cbbt0H-h7zs9T4fK#?dmeEm6x353XNt-i&9np~%a&n; zdWF1Sx1Jn5!nykCPlXjHwO&IXqcW3iV8km}Bo5k%?hKyYH!&~#i4 z*V@mZdS6vtE+<^P^-+Pk6R9f%{n&4L?8{$|h9y^`>-SriJu0Z(j4hc1Ov?>9k#exm z;92TqB=O7YqxPTUOfIRkC_pVBrSAL%6t&jM%_!G~c)dfM?Fz1M9sSOQ>~r5^;yrMh zFEoX>XyL^zU5xGW5j_kfCSe*YsVKt?$0gw7XR*M3>udx8l#W z-FZ79R51yH0J)hG1DBbPa}M`(v<5+~&oVZ{5wjS3I@TvdS11aQMmLe5aghC?)kZGs zeRY&HeG$Kw`3b?Uoei0+hf^bs=Ki;^|95WR&VwKX>hRpCyr_ZuR>@s+q?hm73c zemk>FeFlZC*9PL}I#!}tXpjJ{+RuD3wdHb1(#0m zvZU6z_8kL7mH~5@MNa=rs#i8oOKAP1`JVHJZqsf#5=xhkD087Aj{C#O(mR<8uQ1Yw z14&t+;8lSZT1W5nn)~5SyyVwWBzMK!bZ&z7#S4oly-1b{)&ir_sjX2pEL-1L2ey+PdIRHX{v*!b;sb#?>C)B@CwSFxH@3W z7O0#vfpV%^jOCx%z4{2s*~iB;dv@QkB$FZuHdtV;$?p!1+ULeWh9lVehTeQ&gDvHd zi&5875_p%k)>Cm!3gMjWxFK&(e@(#?M89rmj5s-{E>b3R*@*p!eXm@nHOAR0C&BzU zxUC6XGsYc6yjoLQndRm8Q$uuDy^R)IvUM|)-{{N*?57;Ps7v@#E3{6Uo(ZYP3;f5z2&D(WPn{?A9??7XMF~gL&pN2Y$q6PuOGRxe{ zy|3R`@aku49dk#;fm7}{+9fFYMD-#0Pm#n?L3sa|<;>Y!2(lw5Q(uN*6odTnMVR^DnHRdXfSYdd!{l)85J%^?3l*(0o+GuLvncG|9_>5Je{Vq5<#_D4$E zYk6;#t)E5Jtrt+QA5+4zq$UeOxU0P+mpFzwps`zRM!g#X-&n z^RWHZ#jXVhOF6{UW^aZ8FMNCD?%*iI{5$~Qg01Mzy8F|~TiT@O_YWh&CMuhg!M7e} zoB3AXUnu`wEV~cBJ$g|NRL=>f9Beqcq9+yU(2;gL{q7_JpA;v0wtak^aI9xBxM<*eJ zPmb_!ZW0?q(VXlr37+Gb$a@*lNJAB_5Z!?$%2r<~{#uBxzu6$l>shKaCI-|>_x$(G zD#9xn#;9$9_Wb?$s|igWXJnnUeZSO5AX*h2t?O;m8nF%0$?aGT5tN1J)dUO8gwt=x z>H*sLS1N3bK$Om!c{2w2XK$)H_F`wT=0 z%0nB0D-2F)Tbu4j5w@yYykMS_{z=3Slj11TKom*ZdhL`HFMQ1G*yJhdfGJfiy z>UYwv*@wt3c`tlGd8O<4rJYO1JD0qa^H^Y8(O+P*o60F?mM13q&EjPpwyre6w%0;+ zy$1#YyVSbN<^-)BUafj}2{^evo)ef+YhpAifFsTlES8SbL1FO+Fu z2tLU%YRiYs+IkAV*^?)x>E3s}FWbPQsg1zjalJu*D*66+%PTWK6HKnxW#o5Iwo?_f z9*PdzW0`APu8hQ$9l6j9vbK`XP7mF|W<3zj41n!iJrJ@AMXUG`^Iu**HnFufi>Rs+xE&n-3OGLN3ldR z)9>883PpqKwYWA4C2;3D^(T?ZMdv%81$HZ@kaZ69x0ot@ws!Sa!OaV|GyO8|uDueQaL4HgRX5W-P_8@OFc@79T9yxvEafbl79+nY!C7+Y0={Tq+t(} zrIg&kLs_O(-uM30r3|;r9VowwVL|h%TU6EhI)Y;JtfrC%i;!#XkHEE8WBADAA-7(^ z=qFaao|R|6wo6v}oOZq(!c_IO-u?ng^Q>#-HE=<56+Z(+gD3L32hCtmm~X4hU=2qG zh(3jQ*mxcC5n)8uF0@av1B~VM#~%B5SthC$-+FOu{)r>FOS>*gAU50^-OLmG;pmJ7=X?4x_-pp2v5)kDhe(@!`VWG=kU6C_$Z98-9E&qCKOQTf0M533x#F`e!)% zvjW7~(YL4W&e!M4EB_6Njq-eKJhyDqHHQDL^IJvOerRA@Q+ND-$>8b6qK%~U4e+Dk z|EpZYaMFM4J4r;ra%0(8y4HDZ{1*lCgGPIIuBn|$r>vD2hX8Ge`iVb;v>U+%I3E3i z4S3L({JfrZ4=X-lp-!^`WlFz#@fcjSc<}dyIBcDR>Dp2-_!z?u@|;UunYJse7iQmA z*In(!y#CYk{BFhmD^X6yaa^s)(&TC5^VfmXdK!p&l4c1iM+BMw`98wdZMh2@?Sm_8 zzbHwZuxp(^kB{Zh;B|UoAq0&tmqBsP?>{e45=m8~eKBL_&fsI!$!mp)CD^*PC3*Z^DxMDVd{+r6V*>Ha**wB+M8Fvq3ISKluyKYx*$1vxwlKbXOe%@Y3;wbosZh~QBiau)x*?(b@^vJnpp2om`}*3)s;UhDraLFx0$} zs_%ecK|eIWtJ-5Eq;j*TeuyHgPG1|&0yT#s@NXogckL+R{;rgo6;R{hSe+a(4{oAm z)QoTI1f^f0Q^DKe9I?D#>D zTtvky>#Uox!faniPnpL%ruOzjiBOXxh>fPFNN~MCMdf6QU7Ci_nKYl?^nuny56f19R5wDbNwM%kd)Z` zOfU|hfb^>Sq&Mr4;LWqRTA#BxP@>jtu}t4~LAO6wEARFHzH4O~ev=VO-m|w>RAy1& zvOh>vM7efY)}HyvEK& zx=szxR^3mRfXFiX{3&>o?ICbAF>Tx?4q{7Z)~Su(m@}^YPWN5ncWhE4^$rZ zx418ZKse&PV}Ln>&5v-;s92M>Jd7xXZ|u2^xA#2=hnw!_H7|s3{{+!q)R5PN&^sbyY3?AJX159?JIrq^X?a z67$-2E4TnB^s_R@GK(}|1^jtAw7)(0G+6}L6wHWPoxEwW+(LLTD4EgFA$yUC zTs>GzM%CyKT+!F-qXI?L_nJMrZs_v_HD7%@*ZAJ!N6cYxY{1PY`C9QWm%=8OGKa7A zmy~-gw@5?J)Si`qo-e=re7wvrZTA0GDqzgKfT;aa1zJ%Ii`i&Q-6$-sB?vu{+5BRe z)Zx&-8r4r!GDIM56Hk4L3gTK(Pid4p>^I2&i(1ldkaq%)zkc>fGS0B!g<#b5{0QTT zA?1bfHZ)uSAqCzm>Vs(VOrK60Yz?#eX^n=~QRKEiNH=9zvQ~i2shOq?FDF%q_eGTH zi1PUz)26|ft;eNA<;Aa)hT`t=2R#eAjGr?<(V6L-3hJPV6mv$)ezwrqpzo*~=e`7r znGiz1=yN<{QEVSYJ7DA0`GPy7EY0QjDG@Kn`f7bDywBbNvhwiO-tuPuvv1Duy0xOw zvpl(LC6E`^B_b#M(rJF5Bb?b)n+*!D~`c;;r&D`w!^^Sv^H?7+o7 z>0OBQ{AbMbaerJ=J^#Q8LO7_Q1O$Q|i7o@~FfI->j7Kn6dI`XC)tT(E2(O*XLGO zd~a*Z{k!ccF@x`;u*FlBtxxwjI*RP(q!*lt`@n*u{A+5rDc`6`KZ3BUF$ilzrMmE6 z{*QXgUFGB8T`%&}-AWn|zsT9RQUpHh^bjY zg6YD}p<3A5hAE7*U-K$3gj-M!u5m8nqHWZOhgrSetna|`=mKnmXdsXmVcigpxo$7# zt?V3d5b;@cws8cLPFZRpm5+NFf@PmV`YX#2c!*BGuHe<&HB$WN?tt#}t_UTZ4-kU9 zC3{iWfwq}n>2TI8$ud5HqSp0VXgd3 zMCz^0zfWmKvU_pKjU%j%K;VD$EF}k4qq&`L<#kd8`PYT{TEo&?A>|`=$BxyJB7a0=lSm67IW85Q&teO{hR4$n2UuC}=|pEyH^-&}-FM$z`Aa zAG5TF^`b5Qbv0&$8?(}n0ctK^To-zpA=O^xu^f{G9+@!TO#av)2S*JV!t?aPEm`#XOWA^hF zPU240P((^ZfKIJxn^d6SC-3e=rph}B^F955S!k*3`FSvR)l}6bN|cv z?XPCd--6x>YS%1@5gjsK9@Z?a&3UrgjP?7A>si`M0H*ElqW@9Ana+2Pj1@@(aSSWN z{urT!v6%+u_2SSgi*qjVC(%rb%GFg=fdj8E0J`U2h3;EgM(FQU(- zQ9%B9y7siJkcY{7v;PLQi?lj)b>a-RjZwn7SKm3>Wd1YelCYRG_naUYd@@AOJ3cWy z0Okenk@7%Rv35rzl-6I+8L=QYw%TdK>ep%ba~I#sEf9E{i-JH5;Qd_L{hP&Ly&VeS znS@=RgW`g-!|(`uNFQi`7SNoaF?2+OY)d_f={6=$VvLL>uwXAIT$VS-s=PhYCOJ*G z>pAyqN)LmTEWZ6XD6@!xFu+l1W$thX4ehi#Pug^6`Ng)3Q8%B; z;(h#ps&2yNOvKq3Bim-x4N6WEn;ao~v7}-opX{A3c_0^xac| zd02DO_C#vs=e6p0E^euoGvzmMnWhA8*i)}7^YqUohIeIHL^9eac~zj#g4@ajO%J@) z!%drMQ_qGSY?R(U1RVp-1&&mVr+wWKKbCV@2IJ1M+bR2f?$ga?e+2b=_TX7>mxEUP zr!bcVVn**3e>@ka#Jnf#A$&KaiZw8+m#B^0N_er~2**q`<9wN2%MBs3xbOfZwpw6P z8qLb|uSs9Lpl1J<6lCIC-Ro*O)%^kQ(9UP8HFW|VvY62}n>>eZQMaq#jcT~;zYGRW z3gyG(ZALMmcVxN{s*(oyrsAwuqUK$ompD9ont&ZmJy{cxMwJ$UBnOswrFK(+jB40PBVSdUrBjs+j@00yU&FgTsrz#Ex z%)ewLa^9f>r#+Fkf-Z$Ce5Z!>>T?z;CatJ!oSZ((_z>Ow0OEMVR~EV84&Q~52Mq0N zIKUKuhc-7;PFmw1BJ&rQK66bP{f@8F=NkGBlZ(oQkhtdXVV7*bqP2uc(yx1oz#oB? z@5DYt%4}^h-)3^%iRXuRLocX~@pkhX-|ZD!_HP#T+YSrDXUSwj5r479w6JFwKpH$7 z{JnL0m0bRL>ZK1phk1q^JT8ASysut*bd?H6Z54$)m?ylQg>E@ju(PDCHMtWa z)mudOQ$yT~bF?|mR8(#Z(KiY-Opwg#q(DA&FznX8q?D@c%vzS+b#f&?>Jd$P?6$)b z;_O#4rLfJUEB{Bi9dmZ?T7M_!3;0MKK8%MTn6m}Yo!6;5O54UXToO31rNBPC7oiI% zCvC<-Dp%5i=OTsE8Tk}6X>}FHv7=Mb%*>8JG+G|o*|4w;O)&AL6C|gf&EKEWztuKS z<*0Z5G~PGf(F)J1;Cw5Kbl&b|+fc-2T(%FzTV36=wojbYajHh~^8d7u0C1{A!5-*j1la?tfGQM-#=N+1sHq0I^6#1|PhVjMtEqQ1^sYVzyr? zXz%y9>m>gfnQ-ak#SuAGa461ex3u*+uDAPM6c+kzpOSKsa*CL^UU*LgqpevCGq}>B z=Y!qI=b7cs9P|2dLPjm6Ve!`<9V_Z2aUYq>I`>22~y97Kg8x}=tuATOL z2riY*woxl~OZK_P0JLJv41S2zB}{}9M$H!U92L?3{fS_`M%MNeIa#-DB$zyk?Mo_(p#An!t1F@ z9bLduMp`w7OIF8+831iPwEq5a{ES|G$i2WWgI z^qQujHspdS#HUtEt(UyXY%3slMVHT}oox1RBZ)7Cal^DJ*7axd`Jk51tc8xt?Q~z{!wO(KV=WE9 zQK-SGd(ItiW~+n08IJ}jd#89&3+%aYIlN@R7hM{d;7z=%f1c+cu8bL5Y7V8$HSY5COeBUq9OEm@!7GPUiU8VKx%bRT%ZnT(tQtNCEvc| z7B%h#;~8}~t9$j(_w<9{`_loqJNF$>U_pIn=UleNR%Uhy2?NQ~Y{p|}KPqaQGR&T; z?a&;%7t1;-O=j%i9u0oj2k=?@zuze!>6|r>^o*&eGxyQwF>u$2K=J{34IN6f3za%C zv%RC?J4+Av8u?n(jBtG{)d1g>Pd?nZ)t_t3+2%ENoc_yL^io^1Q3S1_MROUg+to0$ zL&oBiU+VrIukEtJ8wP@`y}%zTo`Up5Y)3y2d1!S2-*#A5p^zTH`YZB1;AF~vn$7u% z^RFIBGui|ZD~PPUk8Nw~NhzXzsgqutOg;O!ozV*O*t&7#Ui8gsuQc9t|IhIYS=q!J zb=>P!Pr?s95s3LRUr2w>Dbcgh1QXTvM}_o1s}1ZQ++SX+scf-7xz_JFi~1VAz(yZZ zTrEN#!i6e(l}?+c73AKKdU;M5T%CUDaummG0Ul@s`cewmk|V}FI8n1J1KlLgM~7Ca zRj)`sx(}Q?_*l1GV4�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 diff --git a/docs-en/guide/figures/adding-a-windows-host-ip-address.png b/docs-en/guide/figures/adding-a-windows-host-ip-address.png deleted file mode 100755 index 55cbac151897a29072411148afb76fae70c84d41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77472 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

m-$*!Ot?TSM}pJ^cQ+-_5L$Mn!Q+;Bce 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 HP65}EQd`4^Wi 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
&U-Y+`s^I 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 N)El|ixuUwC|2OcaCNTg2 diff --git a/docs-en/guide/figures/checking-whether-the-serial-port-is-used-by-a-terminal.png b/docs-en/guide/figures/checking-whether-the-serial-port-is-used-by-a-terminal.png deleted file mode 100755 index cfa0ceb21f5a11d459b93721f512309c9d6da2ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20832 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 diff --git a/docs-en/guide/figures/chuankou1.png b/docs-en/guide/figures/chuankou1.png deleted file mode 100755 index 485cb3054c0c08edd6738256f27ad629ce65e1d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38849 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℘XxDs5 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 diff --git a/docs-en/guide/figures/complete-project-directory-4.png b/docs-en/guide/figures/complete-project-directory-4.png deleted file mode 100755 index df9568e7bb9c43ca7d804fb31000c28269f554c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16214 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

hIG4&|;uJ6a<1QpOuer`~XPnE%H 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

FO!M*v8op~cY?Ke@!H6vuPl|HQ34!AcS7BW0d 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 diff --git a/docs-en/guide/figures/en-us_image_0000001054132279.png b/docs-en/guide/figures/en-us_image_0000001054132279.png deleted file mode 100755 index a760ce71eafb1cf2a2d394a7a05f2c86a731f501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250743 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 %NKRb-oS!U7^{9B+lj zuP6iP8EX$wT~U@$f4hMMWE+l>ZVZo{jn6H!=$TJ}*$5#b690j1p=w8T><^2k0R1VGDP{T>jt@pA z0Yxjwpnqw#!2UIF8r1^nzY|wH`zSLL`|c35GfU73BwD8%Akv>!@tsZR4m}+=(v$!4 zo+Id3+mxZG6)S0;8=aw8y!{Ra{)@41+SO4OXV} zPy-8w1eK_m@`GOAajtxd$Jvzo=PEU|5mXygb#to9)_39lf4S<18wVUXqMYyah6#)7JjeWU~e*D1@0Y{ZIw2Dp|@LdWU)8|DW)d)!7z1Li#JCf-?gtyWcPNr#n_Y z%pj8k_o=wVQ&=H3{4?G&N@-ZSOR1q+@r>&t=}mR;>cjZ@CXL#Q<+5f4WDSc~-@SCc z@wQx^%?g6f$0`^u9i2_SFy*Ne*=w=BSC{G7^F7^!U*hJlVupXMOH>cLKBeg&IESaV zG<7WHTW(8@iCZTfKOeqx>D4%ZJ^TlXaXKy5lueILf-cVUuG-(TfL}_C=W^wh2 zVUd&0Q&x1jok%}~!d1F7s9LiEDq$H?u0=x|az8FXnyMFio7BsW{DwODYN;BNR*Tjl zZGAsk<&H&)7H08JVIjSPm5*>kw>u^YD0(h)>&)|%=$y?3kawI8V@o`4f%Z$)xi%Xz z19}ik8_DyfFfLk)fhQY$yCCIS()(PwZ38sM`CO@H;9R#ucr?bV=cJ)KQmywxV0R_S zUkf0H09_iWt~I~_jkUh=6$R%SL0`??^G1UivS3^POP1V)&A}eIZy#K2yw!|8z)GTh zqc~o=g{&hj>87$PApzC?qVUyzZ+r>2s4zMa!ff~tyI;kBVXj6H$*^-b^=&MY&1ZZ4 zM!xwP@aY*HBKe+HwFY39a!g7;51^YnnstulnzCe?YYjEE-}&5w}KZ$>te- zl!mdtJFRhIGHrVcDJy-@=Z6)Hgg6zI6G6Jy4n0S!m7c(S7qB&jDtNwnL=k*(%l)FN zCwcggB{}XZ_&(f5zOd&=?BX~!qOT;hqY0r0-6#}groZ#5VWNw+(vO(5Q~)O?yc#cW zJFz7~=EB|_;h9k3stmf$I5+Tnt(ID>$IQ))qws*}*?iP@sj##Dunhh%?XABScuH%= zcZTRrH&HTqI|z%Mh-%TCDkUY8y<*kk8)Vb(Sl*NmtMLig``d`I{8PIXGNi$Hg8oL+ z+8h*C%@WsOMKezH2L;H?^hJ+NXZmLqkSZA#RwKSTe9#Bo)6{BCHIi4gUpg%cJL5I3 zSL`pJWyo|O9La_saHYL?8!Z@A-ZN9|_N%xkb}_Lk+#Nc^Fo{qinGfaEA&6@@$+=G=*fP&i*2$I5gb@;lrv1?E4^B##_ zvLm*JudplRS8h&A)^OVBF1Hz#*dZWtxV4txeHt1oqb9jw$wHi=zwJnWVYKBd7Bvq$ zAblVPC>RtcyHHmVptJHss&*J?c z$c|*)b1X3ab66C|COj_KFT*n6D@_F*sJrr<=v<~ybFt2wYE+;lEAORXsc@N>wdj!} zdx*az$4d`;8uMYlwtxydWJ=_}utSMbAbpD=%L|My5Tra;M`2wwEv?sTyM(YuiQ3*~TZ@|(K>gRw33T#nlw!zg6HdRs!g&z_hZ zt^KB~#E}?>97IgMN2QvwP9>oEV|MgeK^(f%2$|~(L&altk1Q(hLAogpCoeXtyfDf* zQ~QW)O+8p2FqdTXx55Re8SQn+l{^gpe$21+IXefH82cjcW%Wb%Rs9L?S_Vk$Z z`2Y2?JbnRR=2<9M0LcyoijbA2CiAG^E4}W4ejmM;)ihwB_;reD7hI_XG&j&^s%`=05?%&Tnh*hwU0CxDdheb693+BM6o$3USW=+V}{#*g=L)(KyGj`y(v z`_)t;9hV1sEdtvUfWZBr<#L@|6GIL0^>yh47dAJy7(19C81x>m`E7--*tpG1r>Ciw zY1?d8C#66d(_b2GKVc*?WSA zxR)$$H-@`Fqda?cA)qXfLRpG=4ulJv*+rlp6Wg*jdh088$T-sj*I;nM{d3Lhae7 zj~a2fO7J}>&c=o}-CZXbo@{z*LAPC^+u&!-jI`Nl5Nrqpc)-gK8~hy5A%uAj)b9(k zTzf$zKx9>v$1Csgq*xbjL(IeD4a8K21<6gykSs}gHAs+@f=a3KE#3G7LA5mnw@(u6 ztZYF|dQqlOXTqf}2-{zL{ighj9K?USa8kH8yMvJqr=vO|sj#cK{y^$e?03|GO#|^NL!a ziF9U9$h>|5pSYW0C*vn@Q96-94w(2SCVM8&9&|irG{ZVqu7>*9UC`+iB2{flf}i0U z+I3K@*fALZzmZ7?NWwf$Jzcd^7q;>y70@*sBcz6^Lz?1_MPsirg{V!=H8-vlkY5f$ z%Na@Qysn1_Jam)W9qX6S+K>H}T&adS2!gAv>jQEC*{4Mv-UG`TaATN|=9v+sIn9LpZGoqKvI2S1%Pwm8HSOQeJZ-?@|`Ob=zpHNv*k3 zf4Dx6QJ z!|bKq3eF6Qk-Ge9i8qgj`T4sm`IE;6<>L&$1NpUjeKvfkuEI$i)C{> zEiI8=5UFr1Bbf8We|w3Q(R;J!2PRy`g~JWFWk2ZRV<>uK6h40^Myv%5|CKCP98Z%j zbI7<93RN&((j)v28$DDU*2b*JGxy_>i569$F4yCH0R}ubFk+MX=r21Kdx?(AUw|W1jj?rJ~FU5DfO5^r*74-h+u@QMX=HY29 zYtb6TWwcjjz)C7RQuW-01wi<3OC8dHC1Lk3@L-Vv82U$cxnUmk2m6HcTL2A}I)C_! z5O32_%FjQn(3m%9gCfptmDQ6c!ZH_K$8vO#^Gp^7EgC-Xr9QCZv-|ff2ubwzqtgNe z1WAO!HV2}`%6J2dj#zX8gF^~jFlw8R$KLrCK+`b0aL07Gzw$EJ%OgO;d-=o2S4@M} zceVYt#Hp~I@bPFH(+9g9)b3P1Z>jWJ?glLy+}1}Dk8fl=il2i$YgxX?6uheN+uUlp zeSOPbTMaehw$!v=FQa`+1q)92k^d2DQkZ#QJ^Fy`;C}WE*oX<>1Sz+1(@2v*4< zSOV5iSPg=`2?e%e}I&+KO`yh50k=^?jh9-A_ggoF*+jE10+&w z?rfA&yFd>i_=4{~_qFGxU6rg8#xTEXeIu{pcXw)7<*2UGJXihc--MADuO4_z^r}Au z=vkG?=E@fw*0G>UVveX9S9tk)Ain;5PuM9BF%DY2n_s(ld-?Sc>~DJ_$9%w8)@-25 zCj}FAaKB94_Uk^nXIRwIUB{vkr}oMcuh|E_6aPc0gph_mPffo2EjW-lcX{j@IO2Ch z=De-^07l_Ic< z8{OCa8n+Q+_jN43P?6q(u?{e5P5h~zI-?!h=($r?wy;!BI$i}MrVdp5-yD8qkE_T$ z+m-<-9?M1XV-2i}W@O-}Q!Fe|;h(}i;WfJ4ZP}PC-C|7--cM4nYFNG8#6R??Rx_i+ zLTMc2{rp48x_}Y8jxB2TX(PxSc`dMe|e!0%-smY#}9lTu}F+^jW&c(;Z(~e64EZ*YGJQyt$m(YFQJKg2gGtA+>#>V{rLBEsENja4REBxc# zo<6oxzN0C$j(-QDeNZP*J19L`UeTB&YoxqvTtjv+qx>;mSVmWN)Eg-X>%%8xl8a5+ z*t0BY{x7flGqpwY@9VJKj*9uiE1cK6kcO)@RSF?mDZ}ELDvxrH;nt;i?8c6bhf94= z6>iPb9A31DIgb*|7wz*KU_`?99o}2z5Ixb#yn_lG7|82KV#`XGIxsNhb!@VCN(7y; zw`w0r``!I_v44M$yw_c@PbuJd9~z_TVHeQ}bAOMusGcxn5OJU?B9xL1}k zaZwLzQD|XIhJ#b#t6FXtv*NfUrJ-yMcY2<9aQ=>@`m)KrR5|3>w^4Jh73|MYAJl3e z-s!-_`$iJCIogA6o2?~cmasL(ucZ$=!_RG1IJWf2Xi?$3ysk3}vr_>Kxgc-K2s_kv zvBPdj%8$T!e;^W!jO~b})KEdZI#p-t?#H@@wN&ZQ3^_hdS^Y}97!j#L{UrI?JIVWI zZT^En??a9ZWQ7!jL9!r3->*68KBrUGONP?}wbw}~zbqlCo^93q%9fscAB!Uzyhzx+ z$J{8^Wo*H5^LZQUV(-P)?!P;(w97sB2weO8M$;loTz_}6H~ytAS|LmdUDQeX+FZ6m zjn`Cma~GDpY!H^UL#~Tqg&u8p_1x=FHpV}eo2EDuUf@!1>e)g|FI%Fx9r;Ns!heC9 z=d)zWNWOj_Ry?&xdznJ6?GZE*mE3v0YtKGw8DLHL3qQNm7~xlXfK`WEn^fZ=#po%R zp4$0>c){m;^;dtWmH~dlvupnV%lIeL^YNC)mXj>acQ;*ZhFE5eggu<^zN3QrC@4$8 z6`&1brax%DbIRc1R*=;V(e#uoglzj+Thz^>-m~tkH_Y80{7d-S#^a8t*5=Sy(X*L8 zONC|BVl^rs>QvKwNa&HUh6G@Tfz+_Vj-wHjU+z_OS-F&-gE-&TF0dEgU8VnlBZ@`U#(LW_x>SjLWp*nycWpa`dD+KowveekDaaOoGksl3!Cn6K% z7Lx?v!jug#@DY~bXwEllF{3MaMf!@>JWL*&F(y=YKkZSC*-!o-KI}91C+(yEWqI$W zUKW+_5L2InyguPr@z5m|a7?|)v`>OlCiURhAgA`)O#Hj;o?U1}bhHkl{>3pzzjzh& zMh~l%==rO+H~eAS0S$0SgZ8?q+3|QwdG)OGz)z(_$u4kM^YHVd#E^ENinnQ4K{R3* zxr^(JJ%J)zb0wG@)_@<^i4b1UIS+NEsn(EzeLZL~n+HJ9Bw`-VD9fz9Cd>G(1uF*3 z!Ec*&Y7+f$P!T9aZb+%M2Fbm)(QWSODlPA)39WKZPT_$91wj=DvYK2lro_0JQCnK| z)a9q6?`?*3>)Z){w$933wg~Jtzvmp?nT3ScnZtR(aBkpZCdimqs>xFwR;z@DRzrE1 zpGbHpk6a*0lqxQ|1}KSRn9!9)?$XA!P%=%Uu7#^kTb>=-Pd6jV*)5 z&hN-I@{gx4$#XW}wu_I0i-2hYk~FsK9#x8`AFJWCCo`W&C+h$F`_%Cr^}n|}KCr`+ zu5I4Is>o$Xi?&Q*Wc|02xxM&d6EReHhKL&qhm;?a;+W8Oaw#++#`0;aMqo ztl~cthA`m|7q}GpjHLpN2BFK?qoaex>oQ&mI)<(s_bzVj$(o58KD%-1J_FMiZqSn? z{sT*)Kwg$DU^wkTiFcON;2dh+@mwLQ_+!nrz*XtekH@SnAm$qNtq{0JiFb=LGq;)4 z|9>sOQtx-~8Dic-a@>sTi*kadmvi$66pb(FYcYZS*LTM&sNh5NE_kbDule)K)shL* zdJvzxG$t`&ubRW_S`;>Jgz}kyU~9F~>d`tVlt;%!hk|Hz#Ty-9%tC^&X5z=KXvBu>t78L-i$xz$w%v z4M}BXc0%x2>slYXE3kfHg5A9DrS7I{`;yA7g<&pbPiXBgH(}mU6u${_NpkCXOUugC z9Q&^;mU+`L7>{6Qr8g+4>qVg?Yk5i$ABN_y9$-ngmgddHQ$oZgBGxhvpE*T5qk2=s zGC`{RR6tC~Y8mYCwOsKewDnwUQ=baf1ldpi+ngX119`2Y7NUNO z+cb0-z6x|jp6Co6TvA(d>E@?Kwty#KqyT$!Ldh_nt{(+7&}8gaMdp@7&!#+$nT*Gl z$^sT=luLDLyp5R(HM8TBtji%?3h7l@LT<<=q(|K07h3H-zHdx{xA}Eravy#U71oLl z1(_kh)f?Y5>TsaVyV5V%U^r?m)?FMno;a3;j1G-vXHGJun-zCyF~Qik_eUhArsMhS zfmH7uwMo^oc!RrV+>91ilq`x4)y!m=a8jWbtofZv$SsNQZr5IjISM}v&_*?MdlHk> z#|x#^0(3#5>mh!4SO}cGomXtp&o&wKuvgYZKWW@LefFw6Q2ut1+0nJuImmS>=Ih1b zAb&pCV^MQ%?oU$%l@+-nt>HrPjnp8177+xUh}K(u+bb=)*y7o?U4l4ovuvWbe_j?p zYN6gCVi9*xa&KcFAj2V`46r%9JUQDo(;X8@Xh{@TH>?+mWzQnor4~uTJaJ=7a?5@X z-y`tV@OIXY7Y&j|gN>c07OgCAh5C!_=!ODy)Wp7QR)_w3jSW)zyY*Cuq{Fm;$?9DU z=W$0SESSc3a~h5|nC`omnYgrX_O2y?sU_T44&@c=BF~J{5ByUM;w>-Bn~GjD@m$rR z&DC$&bvkHCJ97*mdBW?)S%;2WOwBRl0sQ;C$}!N2yy?$Hnn(-|0U56`#?Va4=qCSl zOC8Qyx>wO)IZ~dcdAwa~^E1 ze|zUGu*vs+%kzI%>ldcqPNuw9J$C=yH#@bqE7pjs_hlpRtFSHA*WQZ9LDLG|;ca1m ze0n4UG6YfGYt@&k{;DCWxBi&*)GbOKTX0&26)IzMR-36Sk6LFYS}>6q5JK}Ls(Y90 zI6Z(I&@#1aiz#ZEsEHQSV-&{hRS|Y(p+qmi?;l|_qt)tv}%(s1>CP`e%t*TxaTG!hL;)62Ph`k7*d+z>O!FS~&6CAN_a!kp7iH4VQ6i zPWwR%ylZ9oV#3PNzdc|N>A(9$+8s+rMxTW4Vt-?5McAOa%ya`UIepD=T^q343q5y< z|K@{-GwaY{(6b5RubHE6R}%Kvs*Kfqp6I{g7x8z>_}BH#8=$I*<|h@EgCPxTy-Ee< zub^2Q!{UB}XW-EM%;~bw%SP#*FKew#t>1y396-J5ZP0b6zV`?Vyfm)tY#QE|HU&a) z_?%|8PKG*YMZcjMMdK~)?#;}CPf`Y8I%c5}E!m9TP((3W00U!1QIZu-0Csgg4;;>+ z z1!g_b^`aI!x)dUYlv;E;VSn6M0=D{}3!Iu)3J0U|^&f3}f5Bz5Yp3Au|3^ zH1#n(jb={Z@oOJJbqK~p^Pg+|9dVsURNf{bzpuX4=lWo|J`9hQL>B=6IUvj(#`sVP zP1-4w75kY@;8uCK+^7&)6c~L#ZYOwmxYyh-kH4xCC8OY<{s84`?j76hT(HvJOUnwL zu#B)4Q6P)o;tfpwL_KwZPh5M4D@A=!ovNZB^$lBQzfB$y<8GqZ;0-VjjbO6M^BC%Q z7DtqAl%Z~p;&PVgiuT25ad#dGB%}^30?&7Q$epBVvu!e3B?`?1bThIO*;#1Ruy zW9<}ot!3H`9(~mI^y>(?p^>&_`#r-@*@v>UeZ=IT*)4DPZ9!};SUqiJ&p)Dp+-`eg z*jkNQbMVOaSG@$GzP!!TgXXV>=vT`cY#60^FBVsuW943-!-=1?+~)J=5_JElvV%1} za*K_xKfv-4Hd)b7_qIZm}I*<0IZ)`Ada?ypl>quY}2DU|*@& z?|SAc{n~g3#_?swYYQkhvzry2JOAsnbtrn|(0Qex8;X`R`E~pSzFTieQv7UseL&Vi z%Y)rezpTJ6vQmlx1j(+Jn9u@g_|?%mpk08JDX%ajnG)Ti$zATe@Q=> z0>$1}i;3%~reF4AI^8J4JxnZ@XWfgRFN7j2B*_CX%yf$jUbrf%y>liNYUL|z zZO3n8&lP&W!vqqs!d}E%FVWL!r|@=YJw+m1xCZ~^n!X#GT9Ghwf7ATdxqP=Z{1maO zbiqk)YA$T;ThiMk>c#JGfM=KikL{|aUnc}^YyAE<);g2+qy>L4!~W?-bY5sg9^1=m zywEFKm;GXyXMmfbsAXBdTMGYr#u#gs>h zWq5#jwO>=DuBjil{ZhQr`P8Zp=nZ;*LAyz~^D+u9))ZmIOVO`DZ{%kn%p`qB4 zpB9(FlG)kNXffIkb$G%KXlVXc(m7)jet}Ryj;oLM1yu5!NiJ*!d~==_)_En+^K0Sh ztg1>Y(4tmWJ+f!M8!A{D*sX&T6pptz)T`rIoMvhCyGPJign`|?pwI}Bh(3_b@IZ{R ze$V%_p{PaH+)PsO#W3Aj3R`U|-M-fXH6XY#pRGuH((CS2`oVhUG@yd5V2x~v}N+Kisr{JeGNR9C- z$@RwKo6zq{9p#DOVM*Di)!Kj9E`{zlSs#=zmXkn){E{i!J&I*mV$E0)7Og~xpL0-x z6I4nAY#=6cnXnSjkN^zCgs{xs1m}z0>v(0dM8Zn_u+=gQ@~Xwz1*{@CMThLxX_)hF zaks#6)?Dm$aH83PY{i4w-e3$CO`mUL&?4%eGC?M|)j7(54aOZEF&|D$x7V?dQ0H?P zSW`4*j7+zNnk|~!iv`uFgvY(!)tfc34Two6!5!LXHNtXa+bDw3Odf>{_E{r8kjuek|MM77CN#KPwhdF_S(KI6QC!N2gXD}fye;`~Ew0k8+H z)zkJ!-D9!5$#FdfJ*2bD?@@r~o4cz>j%508xAt6qw#@~0FMj;8v*@mrQ&=hLblNTg z&l~=w64jFXj0^ZFRNm??>Bx__yvVMLa<_jDkze`azV|ik^b4`m_FX5Q9y(igzyHPO zhMyCxulMuroGwAplg1xxr~|MYynUoz!RRtW)Ox+k(8(cnB6fzQjQ<3UUsH-W9${=pF0>3%`ORro6An z^{RYuKUKQ*kZVXqd5VW{gy8#+dDI#(UUJj|iQ#&YT2C#EdZ`3lCd`SJ%C6VO7o z#e(S6fWig7FjA5@Mt*HxH92U#K2y!sx5$eB8&B45gU6(ZPDI?&>C(+&CC@q5o)}B4 zKIGlg>%ssEKgmI<{FZ9_z&2r_THv>Bd_IfKAf{k?u!|j*ZJpjOI?~dm|JBFhy@=uY zwiI`Z)2Lqjgb~og%$BoE(CprAK>V|H?l3;N!bknDty%J=>rKlH3HgHXAt`;3< zQJlHGGe+*U*6!#+`yiqbF&71?v`R|<&MsqXIXC5p#3R~zS<^GgFNeSF>bCNT7b~S2 zY#hqi@60MY4_Qm$pC?~#+p+vaS?kEVx|hKi-4LscDc!ZA%7Kf;9oq4E_zNL1*2TTn zIvw#|Yy`2?d>IGJoGGk4@XhYA*(9X;VtW$nN4R?R#kaw4GXq%V2kaVjQ|%|h*+-1B z!sXi_@#FmcIk3yn){)47e60{3`B$%o$$Zg`)I$xcH){QG({F-(3k#*^k$m*>KfA3h zC`mL?vJrOU4Q01ZeOLt3FZ5||gBIgay%u-ElwUB>*KZ}z#t>tRbk)Iit1&G(UQUzc zcjyl)Rw{M7YpS_|nck=zw^HX8wF804pP@-U;>mY5;Ei|j)6J=Vs>{)J))GfR!UBL5 z+*{8)ZQ7%Y_d8`6SGyB9&+^@3_?M<@px>kZ#BnQ6ebz^{j{#Xhj18H);lVAyAECD-j&O?G7l;aey)1b+sQz33N(mt)VT~Yc`7dtb zOW$yM!%;F^z@9V0noD=AXez121;qP?fZVm zkiJCpcef@D%igak9P6bKjiN1>h{=Td>6Ebe%>31P&YMdV@<48isDAp_4V+DC@la`a zkudP0I%TKtd3w|*KaKPLGCumvB!7qec&x9Az21C9f7}IA!-|j41ABWZJSo98t4=k{ z<@}Dvx8(&@x6>?Vk1lKZi75H}yQ2xij(AZc1QBCsPxFjSIS_cov_LmB<>_$PHOjfsMNcJD>*w$OkiC z+Mn5^{XEWSv>_6Snxku?*NR6V;*2^*1wfqt5VQx1@9d zr)o9%L2{6Ht;S|fytMYt=4L3I8kTCvVv_wrBy6p7|i9}d)Bo_~+=O1B5Mym1SP z8~80EvNZfcxCa~lHi-DPT6w2m!(M0prP06%3Z&lfd5Lqzjbh!P>E7kL_T%H&&Y9K zcQ5og$Me3&9wbjUD;XW)=FH{p#yVySuMg|nrV(M*{r=g{xyClEK@48RW zUMJ!;R10m za`zDgA6Dv6pCNNU${$#CxWWGM4!zg@!GXop$Jt!>xcyHCBMsJCtU8XU5C`mvFI_*G z`M}C#Dq;D??2tc0GLn%Zf@s@#rG(AL8@mL%r5JE2(&!t!8?ew!Bdj*{I z-E&A+B@!izT0TW<_xSC1piEHn#GB}(P99=_1N@~vX?&adX}}BhN~7L~#Za4&lrRlu zp`mp_4tIpmTePmiw(&oGYBd6fAYeSjyMgWbx;Cf?VA?kCG2bd<8;ec1^0)eJn1oc$mN}ywriQ$VM6-}?e^hW zRFHr5?5{MC3*Q=P@uRve&*dT4U)19QFE(&|+?lertF5>%UQ}!6WRatP_+R0gq82D= zx8~@n+J)wt>VmdB16}m8L2WidH&Fgmv(5Im#R;|lSO~_CoC$hq()4WW^54_nVC7lQ z;xC>xE~jd3o)E!zpjsIW%dV|VrF@r7&;s4`4XqzhOB7|?G3ORMu1q9L!-c-%7MgmC zP$fr5R7IegTdVH^jeg-OYXO-qH5^h2iEkZbRgf*L?h3Au>|K^NPBN_F#paZs7~nA@ zf>}R4ByKJ6Z~rTn7hi(BT5UpXXz{uiuyDl&t_S0ynC=sL)I_nabW7F>-zuu(_7%Im zJGTU7beWIRFO44vZN2ZcG+wva2Mc>FvSAr3*PXzfp!sh2^scLOGoG>uy3m`#Lq*{S zR34^`l+>Min12ABFh<2c^miG4Qk93k1>LpyIUM|pB)zJ7vVlZ6wzc!snkIFC z^GVQ@pLwEnrp+>iU`c1s&kTERIi>#C)#PFu=r1?+ z=17=s>S^4^>PmDh)0eL7$hKiRqh5g)+wiXvQoS|~cLk+8)$qf(OB%!im(S0BS)nQD zog=P&IR3n`(Lqq~k7IM9-$h$O`pL!=Z{-4$ZFyX1>I>P5W~xIer=U3cB*w->dsZzEFS7;#gfi-PO@0xA%~I4I8YW{ia`B_6&>e z(g8z}p|So#2&#|;N3@2ZN2dMA^nGZ##iRVT>DS9a7~%R8vf0$)4G@MrlC4j~yGrYw zYuxsFoyjps!6l=^4T(l1Db2c7IK8-Mm+MVuSV%)>nxd!O$|>|NN!IQIVsl+-qx-F4 z!u|0tp_fy71_sLyTQ9{!!Y<>(d(v-;Tv*nd8p|SMy=o1v|4_Jr2w~vsAL9V2zQR?z z_-GM9h?tqRLr>q{TPMSLIfEd2-#c8eGvR#~=sgC_R@F>mw1>3(S7}5N&Q_n5$)2J(4=ZZGA9|RNf4HT{xxxJ8!bZ z+;4irpsO@weNfM2xOk)kKLtlv+yURqP5Ily{tHRfTu=O8O}0+A=k!>)8j6!ehTO5H zhs4tMjb-cBUV&;os$Q+`LB5B`+XP{B{16)U^@YaSO!v&fwQN4zWTLL+HFOyo{DKaJIzDRPgu5h}%tzO#cGUX;nfWJGESLyunRO6Y@=r_${^j_#XA~C$wX@R zcD^#GEwso1TXf-mmSd#l7CdEowv zWtE1g++DbOyFB^tdj`xy9``(M?o560kABvTW#DNQ(@Vsd_+^bd5EBh1**yvWO47&A zhEkNn;iJ4p@)LcRQ<=E%_cTZNbXl!6<1kL+CxXMffHa%(Hi2)NeW^AwdW3c6&6za} zkDtXyl@k=uF-7y#X23G_h5kZ9s?G8ZuKV&*WB$aId{5HclS!F_cRmc}le2FuyCki- zH-!~WytdYTL({kN)b1vc_oEe7)RkP83^3W;gt>>XSaf#R4Ra-UFt3xrxPjxagO@xY z<>7XZd=SO7LI${$0x`nn0P8i@(t57~o~XmUa3stsuHa_orL$q~_hK+c3G+IK8{Ti| z`HkzYDL=mWtKTI_FGJ$=m=%*oGWR;D?cCK22#-fvY*IA?&V<0d0&QG*Bh<6wt_ce{ z=$Gp8zobnL^?q~Z^y~=h`+|z#JH1Lx0}CYyNeQe&VIcO&~^5l>Oic2WeW9%xzHuJ;~`W*4)pUj?;CEP z

2aZZ&na=`D%aq8Pd)3T*O#=d=M)^;oiM( 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%0Ai8x59aIuD1nAh7*XiDKBCZ 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

  • wGBUGgNKhrALo|Ol(?FCop7=|8|MJl)F+T{d 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 z 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 diff --git a/docs-en/guide/figures/en-us_image_0000001054250955.png b/docs-en/guide/figures/en-us_image_0000001054250955.png deleted file mode 100755 index e64b56571cbc3242f83ca5977b5952ebbc514b60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21677 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 diff --git a/docs-en/guide/figures/en-us_image_0000001054370936.png b/docs-en/guide/figures/en-us_image_0000001054370936.png deleted file mode 100755 index 548e3ead8163f50b15c7acda7c7b7ab8a8e9a704..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269621 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

    39t<8I=|^QJLQcXS1b=U9J-N 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≨I5_g5#UbP&Gvq+RhI=@N8hs8XpXgX~ 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ℑF|mzPl|jGMIuY3K9*N=O4DDMtKI+=qnUyTbC5o~}Md5#GN)+2V zw?{oBYE0Fkt7>m(rx$bN>k?Sb21$#$b#{Ba?KO?t!z7wf9e%pY%FYo+)zHZBSLma0 z#doEzcdforrF810gebCEYn8R57s{LpTSH;*!P^)`JJFq{B7GOqVurNhaur$qQrS}n zDT$vU8=zn|!a&PxcVuzs8o!Dp7($89Gv>5_NHRwR#G^PIDKWz+9!eqP08hz)B-XkE zlEK+P;vH8ugI3r<$Wp=@e-CNW8X?{bngTmWYeDNQ6QOUB3MP=%4!ji*k;VHpm<#)d z?~fLrTr)tspt^qMh(}9FQ3pD2T@HTEw3f9og#1$g{wdDSco$Qot=t{G5K1gzSc?=L zMA!=`8exOq+c;tk7xyWw6A0N6kLd7g&UEZwdNlb=ELE6Lkn{^c(40HhjSpSf)A)m; zBKiw7%_d7SK|Ct}4<^2AAzdTMhCoORhYK_josr{Elu$8W71iVtBL>Uo0G@mtjF;?8 zDyu4@jWiZow9k#_N1qkk?8gZ(iW~r~ISY3ET{h*vg_F7!<87)78LSNizKFqBJgMNf zUdwV_e!kV6pi6lA&_*1D!*)k?hl=<DMCHl{sI^{iueGgM>~DkyOZgKO`I z%pve1P2jtv__azDl|tHxmM`a>vCdKC^XS^>PgeD&&-c^_6PAuc2TMAKQZVzOD3?&R zL*J}lsqdm;W0lcUp;exl?)I8AG18`KfbyFm6#rdGUBfpRK}>_oLn+^R zHcWuzDSCx}20f>O6bltP0YWxl*15Tjqi!1yGAxxWNUpc6GD2m&B$1!Aq-ssxf)}bn zJ__1JHUJizhoX}=_(O6r1nsA#j$8fWD?h}`RMnpWoKd5 zf4(=0iMVwAVu}h`4Ogs$x_ITf9F8P#A~lQ7=;{Lsom2~(vdBZTf;6AmMH?TVL5gYN zTxMQ$3uchDSi$z&Bl~YDE+ny=e7=YvvLwwGKY737b|Nvay?RX;!dR*&-th^tvi`h! zL>qTfr_SnVJ4RX#667&n{A#H<+#1guiEEvg^E#jq>q1~UnlcGu%gkH-y z>;ZQ@jom5k&qGo;>OfqFgW$>aN9%3m)llP`su_nzbuV7}^VL1<{J)3OdVCJ?_8xaE z2yK?Y(HssCDRz;wO)nmKPka4iV=HMw!$F#a=UU`C(uy`B2x;SOYwoD-(Av9S@3ZSy z=eLM{;l!UO*@9RUmyP?NCANlq3L@cSQ3Eb<;&J>23_^uC z-2EEj>$;=}l9tjB84LG&B)>TMGd?>{xDAEzPP$U;pBd+dY9kBs=) z%`T}0L3$D3qa2|hb1?;rI z9Ymtgf+Dn>BbOQ>ZP%`$x?F0f&uk23NGl)$HcOI?=kb-$lcor9HA67wwS3|pub1{w zsYnyMT5NO0Zie2w#O94!fzG*@R}#p1QN_}fJnQ1wE!}eqJN~Ku86-%;DNM%2zjhve zmApA}n1A?1`|c-ubv--JL7t>u2ERXK^wH`KNYE}DE;h0lW=y#w61%rwUnToofBqWD zM9;fOKXngoM?}A~n%R?e^-gJny;k?{lu3tP4_GQom*`gQ1tn$g0Pwq67%n$V-SYlPPrBrE&VL zl9t%Yz)dVk!+|ye zZP3Ja$)j!$cg*s@fZKleP|&6d4iLgh;&>AAiaYn>pG zAqf%qE;g^Mgw*6F+(k$j%@F?snGcUt>4uv_){0Ss-Tv);8sgKCxz&&PPOoGP`373P zdYq*CPIayzZAv|aN7Apc^zt}JAr;N(<7CEhy+cqV=j9$X)2%J}Z4i+WdZvKz$H;+_ zem>Ast1PloFzvVyAT1$SZ9VZt&IU<~GU_|1WYw*;dh1uC-v(b@?A*yaxx6x&8}4fU zrg+xrymQ^WsS9ne^P-PpBov5$#`IkFZe+C5BqM=g=jih#WoeC_-T$;^z7%Eof9thzH%aWM8m4cyVSWrZO+U zBtris=C_UO*E^+tjXfE$;vu;hLb~+#iK$7-HD7Jr8^XUgCy|5-8$$^Y?#551#Vo6< zom_1j{R(}8Uw|RYx(koJBFPm0a*?koe%-97!+o)uN`|P0`#!C=Hhha@c8x=%f=clh zl;5OnROm>qqkK@|HcX?3%bt~H8u?(<$V#DWO<0NVMVO4 zTaB9dr3hDWt;Lume={Iwsq^wsOpFmtt3Do-s7p*4q?XEZd)?#O+&n{FI&jq1A`(`W z#8}@zF=oofZE87EB57SempYj5>QKuPK7p(#d9}4rFMG%pb}b-72`bvclB>~mhkgO-li|p&1Z7Q z%Blordr?9W6=#NrRY<1Gcv7~W}ZSs255GStuA_y|=6TQ{yV(j@L z8+ls(HFVjlFjG5WCznzTzBhT6i5;_>u%VU%9czt6iWm9b)KWmp-WyTHptaVHjWTaq zRxG?FOS95NeDD(B{9ml%V`eSG`ImyS8tcE$>QouVc>f_&gpb=B?zmvuxm=H{q7^MX zD@**~HJ9&sp{BYNVn-c*+nn{rUX+Fqwz*~c)_B*fc6iy}6jdTw!K}S#5vFb>^1!tn z0iN(1d^4SA+G_S+=VPhm*6$4`(z?#;-PcaY-N{nXOkBFe7>w*>!flqDF8#LZy}DU( ziU@t?XPRN*-3tQxmlu=$S>Fm=wt10-IlCd#iHOv0yaR2#(5#uG6@7*6Y-_6HkU+YhJj^xaYa5 z{{VKxWh6YeUT?|l{I;75S|RCPOBZqS=|TEH<~dGQ$N_hLiPx>-M$rZ;#JnaR@gF)f zb=lmws&Ghz<%ZIFPMCP=n~kkQWJMcwtS;{Qyn^w2JsWv2!vm~Q@3?XrBFD-%U>?;)nq+_ zT^|36%cvSV78R4?hOxeO`r4*K?_jvW>1z}8QBZr&y5 z$jmF}Fv0kNaPRbQboYIv2v^)2Oh51GxQ46=B3u;)cSk$eIhIT$^!wNYK7_H3^$Yzc zJ8T4IHyhuUH0Vk77G4A9?kK9LF(0n*9PaRkP2Tiwb}1>%Z_m*^I{F=Yy72(?sZV^8 z{Ut4IWL4wx6q^+vb&jwG4vzCh4HCpRG!}Q|<+ZE$h?vX;dQgaJZ2gI|d zRAr4w8!}SZ@cpk9k1$o|4wca2_4Iio#%9@^|Bk&+(3aam@8N9m00;D$i`lU(&0~`6KWg zA@W;$pX*3a_~PoBenkraIyI8REzDleV*TAHPf?&vx}Y(+-V(P*l0w>umM<6Yxuh)o zbC0~~XOwd7Z$VG>hUEWlC@{j1hcHIM-@Luobaymv*^FYydS=j$S-fuzz;RDj zn_L*rRX3&;>fY%SZl#QoAotR-+hRnp^roKm8v%)s{`$h2sb8RctVvywsTDnXV;&+c zhV(7%%CY=%Q>V`la_Wix&6QcbpjAg&Fxv7>lF%rQdg4lXz)+4Z0>M-R`iK@CiVtAd zUU>_BN2B?jtWBXDu>)u}=r;6WZ##h^9 zfh|j?;yE4-l8mjYp^v<~wrpw`I*J{!TW+;I1X?=GIlG$cwX^C5e@kCZZoB$E@RM3S z*lPS{cL#@NxAFas7;8^WrO)<6-Qe;W*7GgeQSl!X>PlrgT?}A`4LS{Nyl^}<=X-kc zjwwOXaK3kPR9IE+4R?A0YU@v+yE2-9-i9OY=>Tw|?r~E)#NVaGZ{Z(~7*4-f5B7W* zabkv`g!L^!pHm6Z%8|I5jkQ4ES!o_=1_?Tm9t&6yVV+u(Ts3=r^j#b?j1 z8i1EjjWp%v;fPopLyd*j5BmgY4Qd=)-EDTFsv2QHf-dQvzo`Vy z&TTwk=R&)0JHE6LLRWYpynOZj$%X#7y83lbr(1#nlV_zCG|sALV|Ve|QNxyMd*H(S zm!Vb0&|gjGOVvtpf)n)J773KP5-T&%+~e?PI!mA8()x$i)3agb0k{iUKkyu^_@%Jxs8kcUaDjqStR!sJtW$Z{D7mq zAY-;$#S|IS+szDWb#m@-(f~SsnAzmc2#pmVdmhHIt-rgf8nhx@SZ1i2#LReEkq08Z zz+rQ*G$5sku#(M$YIATarf&uwckRgJ#iKfrFSO(B3cY^d8!VRe9*0+r=HzbqJXb1^ zDMJ354C}}G)x9n2lDV7ThEJdY7nctUd+;I)NW$I{kVF9~^+hA^I82WB(9XXZ8!)Rg zOtXf)bWE#yk?}Dv$(K`NuYWg56;KmEg8ExE?c=zH<&<~gJL{0%?2AzJ~ z^iMzR@fJ#5(*lzn9Nvhv^vMstmZepq;yh^$aI`c;AT@k+Q{!ipJtkoTm3t`Bnydy7 z-`cu$uZjj`qat~GC zAcl|06M|(CkNut0Oc1f(w@1r#Jy&~~&Mp><5R;Vg-@9lJ=PKRh{a=UAhfa=V6kl_1 zC77p|G?~0`BW33fROK0d&+hJjO%In8v|$wPw;7zEpK*9SiGH5yaLf+%{CU#Z>Z5Tb zGcyl5$>;kmm!B&0YORr4_jfM)u2i0~$fO>K*mvoykMp7E{bd7n3oy&hcHf&xEWtfM zYX@XiVIzoB$Y1{9Y$vn`_I0jbkK_AreW^cE>&>24w;LtzRbPyME#`1xIMvv#$;WM( zUM3|TgWWn6%lu~7z?I>2P~%*mhLvl$)j_wl@T3x@Z<4;~@YY9VoRTh01Ty#>+14q= z1@#-vzkggf@8PxsxQQ2Wug?}=bEIc6G`anzu~v-*jphmz}x1d&U~htM7qrt^XRj z^v>uX!L!18w=q7uDhdzb5xJgx8_S&Rr66Szf4D!-&=pyCY3kz1SBiAj;fegM>oEfv z;LZyV$z;!?mvwhe*`EjwOu%7Zl!bu-rf=R&OT?#NeO24;!*3ZFtgCl;{uSamhjcvQ zE+*jGRZOFT%Os6M@fLQ_^iYZ}dOvaP>G4)2&$R|aW`FfsdD}<8-srUN&KbFDosjE} z9eWlMM-Qy9|E+ozJAe0Sgz&cc+fo>3ePkK|aB;Q-96-fajx*f=_wbHa@L!39=`&V* z9bM0;q5z73{{w!~q!EfTp=T?Z&18Y`jr(1!A!V*{BG~1!uvM>sL@%55pNjfpJY+Ym z_4ei1iHFYXjwIw`ZA}+MhwZp#ms-rOWX7#Mo7Ffgq6O(mjT6+tEOE}DKzjpRw+O$q z#R5{bblcZ1Zt-nTc99iMH&lSP}O&ivo%LAp57VATPVlaN>>1~ zX4B4*HmZMMkB3&qBfd0Ib0@Ut{8Z|vcI~#2e^;Cz5pVU_TsrY;d;4Gx_>}Xm=s3Q; ztAV=I%s_r&BPlmF?nh0(ZaMErW@+szYc59@)I!yX3-Zl(eLI>oY1?tWs`Pzx>&x-E z72Omi)f2jj?C!+X<_!bI7!np?!dAFKL5p2T9zX85w|)jQ+h~?OdrmSEp4P5(`d6z1 zwX%8>ONvy0^sn#hr=r(?AItIMNT1B%!*O3<)rF|1g=4!Wo={<{j(OKc69T` z#J`rWRhB<^9RD}+{e*nPHly@Y80YtBleBX1gnRUX#sqJd$CJx+UFN2axcX}g>t3SY z+D&bKgpgMT)nSi=kx7)-s;Iv%?Peb=!q^#*^Z5z7jS@i&1;L;B>6OqgVN*@*~qy5pvNSA&+oMh6Ts6CeN?hJgAL4=p5s1w!4JWuU3N%f$K zt{b8{4IdNnQ@h@RtTeh z5sZ6|9gwvg^)f_L1O03AKaY+a}B&TY)Vj^%%Hym+}y=bMpYvhjXvtxv@WE%SNqYo!xfIZCDB zoSPE&&EJN6wJtZxGS~SxlfIO>+7)}5e+VdPwD)9%vnnmi+o;npL<%{qwz9HpmzJi+ zF}_g}b$B$jyl~fHBp?gxzWTxCQQh28y5!MhvALS1)v(+6bUM+1bQd0ecsmZK{V&eK zu%~@UQROk(DpY53FAP!EC?TU-=E@+QH7(JlUO#vG#&^kZ zsFpf@Amad1)9ds=@aD6@w;Wd&UEQMAXZII!?-v_=+m#n~OEo^EefmFY0*)7(b1t-- zG3DAHWXviWOVC0FbC|a+g2vCEC-)cXt3W-bOA1u1)UGYu!)9aZ=hB>XQ=Bj!0$0ax z_Pk=5quK9crwH0T8YFFBi)?Xk&8>GcSC**TBTwq0mx|)8+JTo0Y-8ZzSiEzbE}@UB zw-iyds2-|=Khe6GaO>oDcrIfs^2Y{;M70gE$@%@KxBi49a`!I+ zJ3G}6_PKU>g^>y^f&=YC_t)p2Bg6?(?1_JGI_+uc0h`_Hv+!&l|0CpwB;k2W#B-XQ z0#iGwVP`+9a1ZSs%N?T+FU4p%hi>8>1um)g-oP@rA2^z5!-Vzw|Ept$7qs@JZfy*p zPtK^uVPtlAc*KY|2&eE5!=gL#)cw`5heAABjD*| zf=0~s<3)E9;pNfmi%w zbg8|5C0F%Y-DJZ_&tTd$zOZ^8z^xh99#jkZM!mF1hF~jM1O`lgfb}ITNQvx8)#Wg3GWe78o z0O>1IMLIC(LGicoy?ja|MLFXFUpWpwh`C6?uAf>EI4c@sa~*^Tm2Bf zWmx!Y?*_G`%G#^1r+V#>PmfVa_!gBndbTI3?mdq``1G|ga^s}9W3wavYLw{O@hOEg z42PJ2eL1ONjyA%#cyDicR3Jy4`0VPR1|!}_P$}^2TChNWQ`0))?NSW%&bP?D0qCxu z76xDLo#laI5!_-@Q9PjS5^J~xGUE@b?W`|C-Xz8PFDOumsJlp#xxf%lz6y&++4Z+I zonpQ>0<_sXxhe(HrzSnJPQOtYqhwDn_#6NOq-Sl}%++gp+ySekEMvS)tp zLRJsZXQiX~GVR@~t#V-sqZh|r`!>$LvBwn~ah2+}18|$a>+ckX#fVv; zk1=MfCaZP6>xoXodP|iPodpzwhTJ2fTFatWNGB88Q2@v5prT)bEz4S(n;RQ3(B)33 z^$-3#MiPSTwb#AlkY{1SPwTgO@gksIVJ z2vNh6R}Rij(;ifES|MV^tZ&}){$b;W3|+$9(FcP^!=m0cdvWU#F64K2?XEZjI*z}< zWIg&V%3&9*HB)Ge`X%Y8c?UD!+I>Je;;c?Kf{*$x3_0trdFy$76Duf^Ptu|f#pyQz(@X=9 zJvRX>gHj-vHaA(7V~$0fnHvy^@(<;3{jCh0SO=YCSv^(dpFq;D^j7#h`7P5WhpOto zG>uIh$gzEnhgMf=c?k+jqC}~ZMT!$DvBHwOzgsVlpk$BU%le)wzNngx8HEAZL2H*u^Ppv zFjwNl7#m@!ozHNhYmQzI4x)xmZEdPt%W^E`cFGk>!;bb!^bM2Cy^c_2Lox$uzExHlUWw zYV#jo4Ok7S`mf+uKhJg{DZ*ZNM=O~&q`8AbRV^f>cBuGJHw~`yLQqkiac?s+%EhC~ zKFSEl@LFnA@IoQT`j}wY#5u50(E`vkmlAqhODwuT?>>NAO`{Q?Iv^c=7hKKvaCY?0 z^7V+;xA}KeQLo-3T}rBWmJH?^<48j6fl@5+nX;p%DI{zzU~n?B=^N10d=9vMCbQ9vw~MuRzkfS0rqXL9 zR6$P{PrWGO1R_lUzJLAvI{|ype*Q`y7&D)fTDimcEx=y@Jh-*2)r2j%Szsy?AJvIx z)Sh9#Ij%nHppV0kJ@(OtAQ0SJr@yBk_w99MT%1T;YD6=YvSk^Xv5amm&=_WP-}sp+ z;>{zz@e2*eSLvok&a|-ePtqGj50-?zfNJ4T4EZ*0(967oUYeIN?kd)XxM_JO8}?CK zGeQ>>{SF4=QFHN*BIGI3Pv#0d-D+mm$!*N;M`b4BKiZc5_LZ5_piw1zV8tk(n*#~Y zYp877RmOR&iG|H%df*zHCkdwY8^D&e`e&7lXyrLs-@FyH2QTICFZsV?~ok-MW zU6;`_1Y|fY*h70mH#=t1{sCpsYI&n3{QG0pil<#|{)G>?ltfh)QAsP-Pvvx}g=e^6 z533$8tEd)Ohz@U`DSo=UtC83y?$U`pVmLPj+W!S*{{|C27M(IOr5KWQ^Kfq`IZcEL z+#nKv>Yij>YZyT9jEh(j-p={_Vi13_w(pZ$blkHop}U4mc9@#~aDTh?ZUO)JiN@zA z|57UYcJWc|mwoNtV!sHV<>BKWe9f$PPG_h>|4c|WeZArGV^kT`G@m%%COww8Sw$B# z{N}EiejcOk*PD~xm)g{@ke&BjR=JNc60m)&1g<5g-EzHoptoIKzAGSEL;548Y{@5 z=RSQh`)!t=TE0^A(f8=RtLJ{Iy?z#UPO;a=vz*QyvK2AM9v zMaRcjgn-k0x`H&iU!y;eMk)9ONr-V=Yj0a%M3jg+7x!lG>yW3XdOvH>b^m&So#+_yURjvBo(b}0$PsS@= zQ5MFr@n0P7r5Tx|(;}PxdDilyBXO_fS*-vF!*X+4$Sn@!k` zC+r(|ozQwlP0ww`>InE8A+~(b-|+F_(qcXHFP%R#u1p{P_|(J}SFq>8KKqM@Up{+% zwr&5_&IR8;+^X+2|BO}(RD~I`FZCPT^@(_kOa8@)%fe!x^h&&Z!i&*Hg~g7dwYMkQ z3QdFhFGtTqs|;Uo6_kORhXVeD))^gYUHkQ^`#xW8E`RZC9qY-Sw%UfvP&&NuI+Q>2 ztar1ihizfU$lLuUw)dE@Nh~txj`Bo#XmU;qbQn7Gu>p%-z2N-iF9;NBbzyili2;vC zc-xa|yrYuaNkL3^p9lfJT39((P_JL(XXF*9Xa`13ZnOdh-A!&e7^!OqDaAI{nD19Z zbt}cSO(!d_=tTOlx9>CZHr@C#dzdhS%~q~iRKIfi z!d1InFAo)Px_S!>@7_Az3f{L%-F@+V@X39*ehYrIujAXED_0sOSjEpOe_XV~{i(Ba z%bB!{htNxR6aT!Y7I?t<&&GZj_`b3-=2rIpeKfU0npSr&pT5`~z$2;Wvr>AiJ_5}X z-5V;;nM&v0l(t=ERsup@RL~*&sQq=f0j9VoZ@V;LR|BESo|a?ZTIxK?MUgYR>k(HQ zN^*MlRC!rtgul+##=0zyeJuHZG@XZEQtuo0+kRVG?wpmma-unKU}Z+;sxB!M$)R4irUw_&v|-`3HC%?sH$)xz2q)pZBLyqh3YU zG_SJeEU1;szbT4XpbXwuw$_PvXXXD5w%vVxjDn`os|jv}Jqr^fLfG!K3GSfW#WlMP zYT@Wue^THF_*C7e2fA%l0@>8pmGMBW@S6AiMZN2Fju*>)K z%i;*1&V~t5-{;j%!t87inl?N;BFCOxhI`jGyrju}o7ScrEVikfrRGO2&H?QOsNj__?8v+R%lbkS{Y3 z8R|%gW32I&$ZFN%ta(W+$mp$xL&Q;9Qsum;vd1(2P;_vRNRi%t`9W{B6;rG=WieihbBR@w{3KB8R8i}7zm?MWGzEyRguJq%=T64{SG6uNUm1afEv`Se1xeK|6mGhP;aV_+xhm}G0|6cq+jd4)%M72%sS%$ zuojgR8;`!BXB(rZ)+RIBw??nw{SxxIc*@nmCH$pn(52)VaiG63*;qS=VR=R8h zY`2GBmV;Hp!#O4&L%OV*&7976J$4kFiv_GuKIMQxTkRdSoPwqsvT-h|p3yR3{~VcY z7e66HTMps%+ihcw)SfrH_#vfMs#fp^!e-HgY6bBS|rG|D&9t!3+bEkF$( zV98*Psr%{>dqjRD>}%mrliDbM-gz6!fyT+|S;F1V;h(*qPfc|wA>bbnPgq+;AYKCU zR<*5?D}@_HD2aegE+se%0y3(|#$yyN=#Nxi<=QfJiveiu%Z8(yim*%M?73QcL*;NQ zd}TJO^s+|Cc;x9If%ig zDeSuLNPIKL+WmO`u6~KC$G-UH4*i1duhAb?IX~Is5X#neGb_oMv+S^B_xKL-^?~wy1718zOs@lZvo~}kk@D&hzBbx zh+AVq1OL@$-Nu)E)BH;tWdBHR9)|#!Ns?YAw!Wqxc%|BVWMYPIm6{OVcieqRF;dx9EjDO6L{cY30f6cLC z`*b!V>_*^+8^(V9)c7zAa5{8C8BJj?YDZ zMjG5|a>AtD|0*t`Ti&}$-fyk&%OVqaqq098cbs%{oOXYV1H)iORpxej;+-18f(3THoSI*}x)zxqNO`B$KcVR# zdmN6)l`C*)CUk^E?HccdJ9>zxyKeg$LQ5mm@*oc;w_1Sgf`ByuM_l#J$?59@J*?HJ@`Q(W3{H5jF zhTVzS+rPO-E?eIpRqX0*;dAlZ9rAo~T!<(7I?LtU z5wpd2O<|G%&YM*+O{$1EMBAKOr(pV=lO6*NFC@PFfdiNx?6V$Q@|wCUt0fu=VE%Ce z#lHeDhEm}U7A|XGVeoLsNxu(9Q*6V#yfD>_u*JpIzrMQbdOJKm9n6f7GWT6cKyG{3 z*~_?oCFHX>_m`#3jXHLO#QpjshkDJ+#xWnfcV<=;=4#V6$01xcua@j-f!y{c+@$M9 zPL?RmJE@P095^hD)$}L(Rg%C=^vQq3?@X(*)OiWv=Pj)wP#!|J2j!PpHio2Vb*+Pi zQm7GQL_6(z{%cx|nC~;%SAW);SB;9#gBj!kdUDlVTKg^f7zPmayKp~{`io5SO0pp$WwG@H?t)#TNN zGL~X32tCEeUmm~&Kct)l0#s1dD=HNGblV0I@oslJ_V=7OAAU-cPkOiMQgcT=7rz`r z^wnwl7WL3Uq@*>b^$t@Sw&QA|te%{f(NtPLSGH91koKRpM#)m~w=Vq{&i8BK(Ye5_ z7?V%@9NNfUMX@kWY27vFuaiO$FQ-J!zlI8?aopjWx;JmoFL1De(1C#*_k^DzBQ{nx zb7DV@NBLQL$PYDWnU=}MwFXT4xA{ZY9Ef_^^dloY46OU#0cp7^wgw z_GV%SsU3{ch=a2FLya3@-fpqpE$eq}(_FhQV~j>o!WiKqjlLJ}>sr^RKNqVYBaQY* zevr0rB7vUWO31iSmwNf7-Li?rL65oeA|LBy#O}x1$fIqU#|$Hf6)JbHX8oZGRPxEkKyt6c-lmOWM3I z6#db{OHaJE^yt_Ex@V(B@qit{90&A2;|KA*VzbdvdQ z<^Ls;R}Ed~_(O-S{`DY-OjZ9>QpLrzUUJ_@M}_lU5C0x~eWEPz;Jx=F0_1d?OK^-v z-G(^eoG8BefySNSjFOAGoGoDTg@^IzU|aUaK|X8L)$k+6ZDLgH1CQYOJM7Q{rnz_9 zR3RYcalF7uWW(ds*UC>0sGE~J4Lq<4UAW*bDr)w3pl6pR;+~B{?1He6xy~c$^7#)n zNQ|QOv?Xl&$q-+bmg~sZ)*X1aRlP=%ae{d>5 zXZ}_6n8~4b%S|N=y;kL94><1`C8wm1Q{iXq5!R>r%bot|ngV(&_edhOJM`BZc0`*L zbX{w#aP2~UT8c+Qk1Uq!C0(Rv&bKz+o-Z3mvjejh&C4kI%R?EFJe6uU5xl-&BcGoAS!(Xn1 z`Fbp{Vh?$?U;A2>kB5!rX!XWrIb?uKbB7JoNUV-f@s^gH%qV_G;}sTOh?h;HdhIz> z?1OjrD@i{)@G@i2TFO4q+X>y0s~Vf5IUG}~AJCZdb zu3BEY9bWhWSaKdEEv(_(g#=Z9sVMGOdLxwYp9tTkl>Rbc6|&v#!a2Bm+kuXhkHuI4 z@4GD&%Wh{2YNb^t#`^tmzxeDS>AnExnRKs>X4%}j+IORk6A|U&Jp_SLUeO!vHkYkR z=7Mp<1L9DPI+?#)PbK_{(CMSY%JD}oQ_!B{xoG#XhatJCRyd|&<@L72E6}{rwzQa~ zsw{1QhiOa8bc5C%?zNS(kq99r&2|>O~0)!hQP5{P>ojf@2v*KDAWYed)$z zX=TggY}YOm%gAmYgxW;aA5DsIX5m1 zk0%>0`i*{3$8~?55V%aIz}@-y?z?yzHWxorS8)7FIt^N5_6ReRN)_cdt~?VKz}_!7 z9uQkGR5&^*9bkN)e`;dR)5V=p&Df+gV2F)X@e+8mYrE^%^A~=g1o5iqzpj4Sk@(jktWINHZR_dXuMgbE#m`TBNTx1liBAg^MQ5rGv>RNXC-i6#S zoh57oxdeXMse3+tl^Y2v^wOh6*S_2MZ#~8GFZh3s5Oi3OiIb5mQu!D4|MBjHZ}|=p z;k)bKCX=TEunp@tuDR)u;WMcTe0B;B$c$Lz;|5*i3PV7WLrf)PY^R<@uh- zG0VEsRTF$Z2^7d5v4+=WG#O%6EPM@o?k(G)_qJ_-EO$V`$9=4MFtc&2O>#`SJl^OP zO`fQu^^;47_rq(5c<~9l)lpDK56gZk!>KrG(GlYUdx%*Si?v}A*diyP;$xb%gu-60 z9uh7T;jo&yX2ci;&5*Arg#pRAZV;)HC$n_>q4~Q6? zXZu~zOmSd+*Asi|_=cKC&!TO=WYLBrKPFAvZ+NCc#YZ`6G_c?}%@)pBolsAkFb^7q zN3EyfW3iany}q^oRmxh6GbRX{R=H~39~8B&G?oq-)l%QH^btFDne02(ueE52_E1%2w3X~GXM8P_owmBpRbZLc%JZ-Qy_&Z z%ggLYFTDj|ZF&`W{*`U_asyN5Cdj9kDg4o~(5Q%Cq4t77^LA%# z8V7k;lL+003T=pC3+QmyylSghpuz=k>!I#xhmnzrSZ}O z#FBY`;kwR7CU@ZnLyJ?w)4pbln#$dsDvWn9cUDXzwxXcCXCxUwZp4LFD^;{yu2hX) zdb=u77aDYVR%o1214bR~xY4&3sfs=uspK6xx^4%X%io>Rlhn~n|4l+VFaqwHKkqjk z*byw<&#{e!;$QxRIf2_A)W1d@*Xa~ykkc_%`-23LVr=j?+n$ERznDfiE9>}De=jYq zOA}dTNvrT{)2dt?-x621-1%+`-`XSTfh@axFP}u$u1*B|KNe?rB|9-$jYsKQ#%>)8 zuuU;qk`FY6O-eJkI%ANJ^m8GL2+9S#=Z>iO)Rv@yw7+lsA2|5G2 zEW-Ha)`m0nTks?d-w1~9^w)sJM-_3P;fa-sQ7g33A!JAeybnZ<&dQE1=#DbQ_zXEpBD zWh7X9PN1C_Ok*QWskq^d(tyaI7LNyfoVaCA_*SMq|KcGr{0A`Vy%EO=zHskKmd z&tWp3L8A{Vp;o`JkVl8{d$NV!hi0Fh-+te_a$REC;34b#_3^*YHuhFh@z%a#Vv46X z25r5awk9IHO_1gOCYZ6&Kx9;x$Z^Pt7(*SR7=-Cud#>Q#xKM|q%qAsHKvy#7Z9Q3A za)1sU))wBs?S0tRjMGrU?uL**ndHvF>Xg7cu8o*x#_uoQZ}R(qr5BiuGkhX`LUZNY zv8I{>lK^JA_XSH26^gcX?6akV51d@mihT*)J6g#rsSR8|Q}P_W12Y+FG!c!H^&S0zO?FgxM)pHsA-@pbh=qf=4mUbCHiS+CK_0_N>x z9wkG+uEAZhf+y0!K7*;^o!qZ*1p$^NOl*p6tU0lJQ6EiNW?HS31LeG+48DzOT%Bw( zW|QNw|0|GnL}c;1z2Dt3o%z%yQ=gJZwd%9Cd1GuOBDYXf*Lyv{WaSt@1c7vQlUC7Id|hub_l$>YaN+MQw&JDzUrlUtXWUfBRr;U!CAyI>3ife-e zCMd6q5S@63f4s>xFq2-<_p$)#xhvjf3u-P*wNZ$4@689UwzXjQ`$K&|Uk7a*hmnb~ zLc3wz@m*o%!)ZwUq_*KS2(*S;E!;^j+}iE$$F32?uVTjHWFF_bFm$t1!%WrD2X8AD z#$wd9x3$KW`kNt#&xy^NWZZDVs=g+yV5;l82^{k(;g50K%gup5m6{X!4;qZ8?gntx zoDxfYz48(o8&>gUSJED-I~DTOvBcqVm@m#dZY{@Zo5LO@FdNrOSe4@%JOYVHZtjv<#S5 z`M%>h#8`G5eq`X@lFMX$^)Q>8sq<=@2tM6zGT6hU!aomGc$DsE>=ubB4$F1FI-D%6 zdliQZ?)&Ckm(OhF z+x@xPe|~g;2h_I7z}-HH9N!%`&Nn$@aPkH&_Bg<4vmbG;3x9)5!ql^+d$-vzDF5tv zXxy)8V&gG2Eqd4#T7WF4BE(@CRYRLCyr=%Q@a3CAtS$Y%TZL&Ia47Iq68un};$eW_ zzLm6ORI3|tOA~&Bv|r|b)v4pnmf{2lCh~yE%XV8LYS%rhve}!ljkTo&8qhk;ko~F5 z1Lvn*)i1~HdcwVi6kCjCa=$d<7*qFd5mX)DUpkfc4c7B4@JEz?wggo`j2L=Rx$TmR z!rlvxKhG-Px;Rj5Y9+DQ=^^Y$|M7rkAFF$2e-NaysBdyh>O?Fgp*sWa69cgM#J#PV zsu<{VtVQcSvs#+}=fw1HjrKFnYZ3Rp8lJr<`TW|FiT*Xi>Yxh^hUcwlla?!`6H z%nZHz%UeIjn7GUF6AElf@nmDQ#t1v9uK0eE0`y%oTdA?%@E*#U93%O950|mw7fRW* zTyv1}Z^q`n6&it|R^~Gg`59vy%P&nM8&nxvVF~vf4++*3KCQ#@NTA9#&EzUuZ+sp4R(gJWhu);-?LwH0 z#o@gn6@uEy-6uv-ZAVxZHh!d(WoEbHrvNGGn?~P7BbZSj`QTpr%8tK!ox)JUkwff}i zp+OegH8=j5_U!KVPC8l2^gFT4DitCqV*?`#$QzBhlxAozx-h_*o_REY654xOKsH%z z{zHCU#hu3jnEBA7@iX=B6w!8DgiK>$igg0nGu|$Ai*a`T99nmMJ zJ~USU|5^ZuKCAUYIbb!mferETSH#Gt=vk6%kbyC)bvHTG{<3Obvhr;f_nEy>l1fx9 ztgK<~=7sfW3znmDmXU?=nBBoQZ#%eqj27#K?c)^6h(nbNJvcyvkJtO(!9c1}{WVr` z4u_}7?H7fA@JXNVZ~0{3$=Nw~TIy;6d1~Py5X-CWx(~gvI=~`<*jd!md!vs+mi_kd zEM6Q|zB;X#ZSYLRv@Yx5&Z}|XTFjsHDDblGNm&Gdcvw_^UT_Nj-tmd$mAUz~CO&>J z3ZM)yv-C(3ZsJYmIlCM%#p1c>k%ogy5iRyRvm^IEo%ko)j}-?FQ}+1_US89B^A-Mc-OHu_4|d*L|F=x&gG7HIeik^r0vnPEHRAg6Hn zqO(Axb?|H!>(LvwuEFQz4}pYFpn%QmT8aHp78Qf0IGQN&9c+<>6G4hDkr6~dUMo=4 z`dJbh4f5V9UO?ujAL6A|-_=`&TQqLwq*R>zRbrhMX!m|0D6?7&SbKWKYbvo}pbd~W z6nLRUnG=y#bj3jr*==_4NdWo#tnk$((&T!t7Q#U zVcGhc>$N7y&Ak<4V6-T6Ib>41s#>(5#pQ(*9$U+wQ*TkOIgFk1evTv!bia@~nr?#h zt`Q^sNh=#wy>@wjKIthmx!&+-9lrAc9}-n|RikJezEhl2A?27=w)-HQsoiA&)zA?o zN0^?kXuASp`7`)3oK>6GC+>kW9EQZ$*{%g29Xo;}^jcP&_Lvqi*XAVKY* z2qpkzBZOVvC%lujv9BbB8P(Q1<+ap!UC|Gem#g=jn#9=4`54{*J1O_0pD2l)kGIkhPm;cGT#{^PlN*@=WwnI+i#~M zBPH3e6cxw?M-6`qKQP0vuw}|jjgmOk`SY5{6|tzhXN47L->?tAef0d%6!MUTcgCmz zN@W&PF_2!a?6Xx-WC7uRDv>BK!=WNS|E|sGhT;X8!!I1jV&#I%fz?Qv>YM=U*s-aD zIOMxoPAmViSWvMiVkg+cBjMnOz`#+iT=%;k_V2tSYYkP0560%a^K>GCumd?^-d$b< zA?z0DcHwHG;lekaZY9B(ez4bDDM-0B=@gfd&|Ki^(08Xi?+?Kk0sD%5UPamNbPgav zGv%xl8|CL#=TFiFrN^u4B!TA38Viwhfk40V>sK~AZ|$lU7F6$VF~gszKM#Jg`ct0C z1M6>II5@4mk|7+HbLAe<)d<(Wa`rwj92hn$fts>>CgAwsU&F`r#d}|$?e2^&GOp<; zAKe#+fJ!nW3o_Nd&i-S0JF|rHY8@I%@q8!jN&qT^=Joa&r0u`{&6Au6ag|=|Zi@Ak zIkbedKN;UyJ%x%F?vRm#F!XUSDg`z} z;dPCQGnQkN=kdO9fLXU)B%~DP_$?G1+C8~&W!{AYKAZ^H{4v7nD)?Hyhvc93mI@3t zSPuDPY~B41Zfjec!>O^lbMtW;`QJyR>j&_WF*TM=!~UcDIn3{rirS`xDYnaTYY-# z$#=Wj;x%nWFw0NFJW48L7CBJce#Sx#S<<1Su7!^c5dGnnL>~&kL+BlmSAW$;9 zlk<<^+~5PUrX72RjPd*V(-E<%Tg#qNfK7vD8v5YF2^7A zHqAKRXVR~0c)3PwA;Rq60Q94?-Id6X+5(-|Nz13O!64!*HM5O@2bQ*>F0NhgL|_P{ zd^QL`*b(%|PI$=I(I{VV+U-B|du?$HFM@N7^u%uvCA2yA-wW?5RT(rW6_|#cI?K{_ z-a!8>CGn`a-KU%UYKY@8RC~v6uFCa&i;un_?Pps$8bXV1N<+I}&JB@z)m=_nj~)|W zHafn=3?$_E4!{9ZApbLA7QW4m0E_0}50ufY1zja}B*dqJ$^D{*dynPdP?ZFX(yfEibo`6Q0)if&3=+Rz2^>d-VBeBc}Ny zz)z9^eDdE!NTIz zNfK1Y(RMzh>_O1!?qk~&_Mf#^lQ$~Nd$KD9`fSf!Rw7zat}AZ7_Z*CE9S9#^b;aOLJiJ1>LW=bAx1*)oZ6*~`{&wxwsM+y`Plrw zmTG>>DsZXcS@Gs;d}$*@3&C`Zi!7ZT*^jCIwaUxI1|q$FkgUU&sV}DZbe!=FZ6rjZ zMZ@f(o8CGQSXG3QF+RdtFzs!GCt8Y#cd5tLy0Lp3m7CMQe+rH&^OkvIKX_n)phNG< z&6fQv zqYf%YKjzNgBd#VZK65zqn@jj^xxnf5)MhCH@No#~XnUN|T7_YPd3_=j3Jr@FjiN;g z+F92w?}p3i!~-2~ROag&Og|`~l`ilv=i;;4RimN?W~)q&MNO{EvN%c?FC)7n%Ucp= zz)}+k)%JI1R~kWC6YszBJe#vtBzAr4l-q`&EfVTyF07mAu$}r~q(NMT=o0O51ioemNjqkKc}828@}9;c9x$) za}857B+B;fuGF?JK3W?yo76e0ox;~qeM>DXJIzR%;#?OsY?3^m@adwvy*felvK3^s z&~a7W)|djd*d9e;Dk{_q)@ZRqBeYm?^73nGk8d6Rex4fSuq0Q1PiYTNfupVAdvuGn zIVW7yjcuExnBQV{)>YE)cWVQ?^`;@L`kRqI4|t8;JKTt0w+kz*)2i=5`kb>3y>fX- z*?MUyEb52Gq}JbH@*=q)Cozh=k-oLt3#uOSi|n0gEB-!-EABVi3*A;S=yVwlq;Y7` zd(UFFJ9~}NURjRK8C-Gb6ve0YSU^~JpL>1@COPzGfc&TZ{`_*HHs0dw=MlJh@GSNl zE-b9LoGOzo7|Zkh^n083+BM009`?+3^WY&0b+rd74uvGE`#=t+t%JhKMHFrDJ$ z%_P*+FN_xX;PzlBw?P`(JYu*w?p@?Z#q)YN$=cTdc1yBKb2FS52Z8BQHR{_}-noMu-FMltoFF82dS|0+Qy0XRXz+Y9-dQGS+*y zIxUDX$Qh@akn(002MIr`Q%`jjE`Qg3BIM|ySSWzn`tQOOm!?<8Kg#nV^uevt5aZdq z#Qhkv0YBq|9M~nihVk6NjDxf%h`gNmv|MK_$J3b39>k;O9C&EFwlWJ{yH$*0yzY)@ zl}65eq2Cc5?i5{)JiHDSvH113ko_{2PkJ33-7jM-I$Wl)~;IH z`b&@hC)AJt@fqG;&L{egx-X^7!1Ubyq_!H)3(odO$pE0KHAB(+qXlbbB%@9j%rp~q z^0mB`?@@Q6R%fsHNvk?5skQyACL_rFbzcVL;rjpfsT~ z<&(uZM*1WiffYa#8G^3nITjB$f^qL}=?Xg|leCf`3w#>fdPR|E*VMYp*JTcKeD%g| zzaa}RD|*+>+?_O2G#P0D(zvlpI6wTRmcZk*S-UHu5>C!ZGP zTmWD-BG~1Q2tkXV!iNs3UV&Vb`d--@WVZ_CY8;eE9S+TiU|i==zOK*0ZzzQwv^=+c z9b?%EfBvo@^*&SbRsku$ImP?q7UE-HF8~Lk7gMdLqn5@!ky64M(^;;TcH(bxBZV+S zjDh0#IvIS{jLbZ_k;g0c#~eqP?xz?Pw8#176yOD{ZZ0whxeAtcPF>sIJ_t6O@P{kjSrFhVtSIb4I+uCcm zx?6?@sG|7p%&1J>){kdJZS^(6(|EqxWPXQi?k@Fb;pns8R(SN_3$6H8xoC6e$zrht zkI9z;FNg(||KUoxVl(bW6=s7h5qnEa z`F(PNhSi!;>x~$tebS>_d(jcqCdQu7r#8FRoEaNX7sHglGV24>?}dXZkMpaGi$zQH z9GulF>aTI+;k46a-Yt{ZRf-3qAyCrHAgBJNv}%*dJYd?u-wT>Ad-Wc(_kAJ`N`|3M zOMENvSYFXl=2=^5aXK3CJ*@e$JTjk_lB;bg@ixhLRP3~5c=MxUC2B80iC1P6L>^jP zX>wU|Lc=f=Y;{R%&o}CAZDC6L9=#YlODtW}_ON%YZR+^sl;18;>e`#m{GNMB{0HW> zRp8QB58~Ds(&fv5M=cS$Zn3_n+ho>L4!eurhphaboNCmY3{*HByOk&gDAgRSNN+*q z>#e0qIawtvTjjF(yQ*4H({g>^mr2ehJFy_(}W7K{JfBz7h!u#RDziM5eLv59sI-%wblDTD63`u{z zYn#VooJ&D@E!=V*&2GJO$$f6q{FL+%jLot0p-e#1*E=~nY&GRK%#VJ1930$;s4hVy zYR{7H3eK!0>m?uh37GZ>+;GfyQ}UBcP8#luHmf zGDxlYXFO{(2tXML!t52f@PyS^5n!97tc2qA(nWLWLwRTGorL{(RhXA#rAf9Y%)5Jj z*f1wx%_viEK5NFkAv?0K*@de%1>4Wf43Bd|t9V$h-STIM1htBLMu@4$=Tu zal=XEM-}=3$=+~&qsd&oJ0xBA9d-70ETd0Z;+TZ}#W4Y7*vo#?M&_*Y0oQCE4lnBX zgmoXq_2R8ZzK>K4?-P!@Q*44SM(wtpNzlP)K+?uKzF#oflPjsOKgZhe#LP5sBJ}1cuUZfbsE3TzhJo5pPy#@KwdUU~T1?`gPEYM8i%n@C zP7svOfB2{{B;_9P{C(amQ5`wK-s%iski}tZP^B9Wze_IfhV#|!OV=!YGqaKvQD73UNKXAsLCL*EZw$ zw7duWwa(l6!@{jfMxvn;_6e6!WPZ>TOym zFt-r*Moe+DOL@ZU^#n9+{V8_8&w6F_Jg#CJz}se!HXo9qb+%+g_t1rU?v|VIm|VG%ZJVE7*q*uJwMt>LZfmZ;Ac^M32u zTz5kaS}+g3e@_(PnvYQp%hw{D`My1BYLirLA_$u&?6-(smwYc!X7KFj<8rXqf0kpn z(j;N9_Y0d9UVHRG6(@ANBR;ZS}ISlN5pwof+XLThf+b{1OSNt{D=SVBb-s_+#Sr5CoWyT zP_mF8ScIzOh!W4)(*NH*ZVD;H$|F3_Z*HzN^@?(yj!RYD@=@d8?tzE2tyhZ$! zpyQf{s9KB!&~B)3w}PrgXAd)>P|cY^FWoCctr^Eks>Tk3-)fUgT+EJnx1U{DwieoQ zd(Zy-3V|M*09qTUEUV*+I?&Y*7sQwac76)t)b`ua{bOZ7A)OcEZS_}u1=-uBEUz{t zsTb54&o68ZS3&2YwK<60hu@fUljSq-t9He5<08+T)$&)sqz3Lus)1RAS1-!c> z#sBuGS@aeb2x#Ws@d(f-`+F^n;VJVqsfGac>Mr(>aX+X!2hC@&r?&p~eV3B3EEo&J zqSx90DKZqrS0i9n14&P%p6fb=X`M{G4=vuXyl7zXyQR8Vg_q0(Ribd?pY`ZuUjuK; zsi%PbW^vGSA?g=!oG?9FSkkn1hO48zz&n2{SZhCco}hyB0OL;%@p!BGyQY%N>((+) zJ6d(}ZDE7!K0W?XvtwuAQnKhl1os9n<3}K%&Rw?SY6a45>)ZGcn_Z(!sJASYX^aF% z^d#!IuxMiAb-q-Ut|$ z!tcTHrZ&`Y(>M%rCw)G`mSOL7LeV;*Z`q#g+Rls0`Ri5>*R8+AZ5-kX8O=tFM|4Wi zF-2tJbe0ixb=+czD8HL(W4(jc!y;#gRctZ*djWxYSPz$_PC7_>K4!RrbJV5s0I|Qj z|H8H*#}S(BY;8&Foi7%ZHCrfyM(=Zmp3t!;ORU|8-H1hP;k$da6wQucVaC+DecbIu zD+9}YOG3AI&RV6>@#`8CUCCnSfcFOF)W1Kr>UEA|vAPbAtK_9m= zO!i)_(B>O{q2m`|QtDcKS~X-bO{(;>)>=1>Jum)B;=xulCNP6RaA!QOJ{T;t5jx&P zCHUeG$H&JpfNw@jIM=_EgTfPw^`Mi(gcX~;zw=Z~P+%oEY4$^|>LVTGK$~Qnv z1gJy)H7s69P?nEuG7)e|tVJ|i#iQ~?Xn2Pyrm%o!+k>TCqP`Hz2dtoUKYpdCJI zxs^I()?G%3Fh0isT+LiSk{fC!tB9inwL1&|eRHL?u zXY9|$ool51Z$-xiPeCqx(aDs-Z^92+Qp9hMU>aGN1=0>{^Gd0<{?MDf%$ z$7s>GLRL^g`=|~)qXX}y^Pzgooxp`0uJ=}>Hgj|+rcu#bb(4p6^Sv0Pmr4(*%B^*X z*c*NwWWM=hAsOeqJw#hNF|pd8o;ONvmOpOh6(USWD_mehZ9j`@erTiF{^cUpHK(K< zDC^VL+~q;auO2d!G2KgO9pJ55ge0K$o4bPn3+BQEo8zs7gbwR<&v9c860j%t!er_O z3J>$H$FO<#Dpuw}cHUX`{Ft*c-I0EO32^ady^BH`m9G^N^8K~y$JBG5f~688Y<7N) z*WC0=B)&09c^3TUb^{7e_(*gv%PgCo$JE5SGdF>BA#yjj22|2~xijBBSSu{k9dXYe zgHpywoiN>bKdcT(!?GvG8z&Q@zo7O4VU;Uqy(6hT`$ckCW;2L)Kdf+<3OX7NLa6?X zd>~~bDL47b1QCYHUwz=&5q$J8+2hDCDW4<*4=oB47gwig5}mXTN1J@?rMB|~c>*=! znZJCzu~m#gfL!KNQk6QknYaLg6ZEm^jz)E9>9t@g zSS>p`Jv-i)DeIlXI@xk28DD<9)0WH3Y-w`^7Oa;iHZQlxAwB3c_Y>OI7zI?RcYo-- zl~+*~A?7kV=pZ}juJFk|k*$yidI1|(cUXfztQjZDZuk+^1BPEq9ikW;{U43)V2K02 zhEXaG+TC5>D7oe!&Y9@pe0Ri(Cz(7^p)q~YXfd2r$SmUoEIkRkStg_ zWuP8?!Toq)D}VAJe?A$vl-xegOmg>Jhhb|NGjhlF3HSx+k)>H=B^4UpU0sa*l%z3( z8P#_4IDXSpER-TLiV>J&Uaq-Sx2b)HnfaCNu$U*NhJZ#J{a z;M>WQW1^XtpI)PX_*8fSKdX*Q|Jo_G;~TW+>sw+q-PjYhtB_EwPp=F*tXyx7z@ss) zIG~3Ihf5d`92DUzm0UG*vV=We+JfR~Q0qPqg$@qBfG^^Qn1rRtUF*rg@fN_sPsEld zxY1^+?&cvc$lv)p@?Qa^aydJVIZ)3RziZ9L0RdSDJB?WxJdggr7Jvs=l)~&jGJ91- z&Gw^pU%Y2@gjELfmhUaC*H(%AIOTylZUuu%q~4=Fo^SoH@y(}h1Ui`tSnGLtii4*! zo`B|Vu}R{O$oO$hQM)V2)kPZQ(e9yn5#F&~?KYzca!jt)$+p&HDr)om4GFa$#z#+a z)c{>{5+a~wExFJmeuuJr(`HQaWXS#K)%34 zrbAU~?W$KD<;dd**thS>#gAPAh9mdjRs)-@k&&$Kq*XJ`v_#7aV_$Af&#;u+mApN? zzlAN0)2L;(pm&ogyjzjaheE+Efxrl9-`TP8;*+k60ErJ)RT*xE_YRu=7QNAUI9nNy zF3pKhd){N`o+ztsBXLGA+ql48hRMN`@0 zLx;+GL(O~|yWrTo=FyVThOCKSQ1^Ebtr)ZBiSnyKRt!GCR&2|_7ox(f`}v6U0FA>D zony=NJmWc@LlnaP`Hmrv&4STQs>Vo}ep!@>YG(elQtEB>5LE7=o(&UFQ=`5r{-5gS z(gWju7SQI$d9Q4B>%AOxwW$^msTD5&IC<(pwR-h}QsF39ub%Be-}s=U&X9dOBvCPS zNxzi+S?Ymvihdw*_!(gMHM)&;>81~X{b?=zF1m(=#y5h_6@hdQO6Z^q73qJs4cr6z z?WE_YvaiYt%Ta4^rns$dC~C8TV3cms_WLVV#e$aFqu@I?L9rhecn&$n%L{J7Eqx>k zg=IS9t)gxF~kJ~@5Lz}fU-k0ZEuf6Y`r7qm)ejnOoI-Qn*=E9H84W98(F+eEgSIDYU+fOeV?!t zLu}fGL|z5$ng)3{TSsYZUKf$I*_S+vHGxqG?puD9bGqQvt^Y&QxyLj8zyCi;s}zMC za#(U$5~8=m9JWeQIn1fZIU_OWISr!{OAd2BjwMBM%J~>M&UrbXk8?ho)6DQ&pWp5K zkDGrm+w1juUeD|KxZf{T)Oc5FqbiX4w~_jX&9@GYr)ui3_n40TT*_v)Pzei1!Z|Ac zm7w#FxT)J_ZREre9pLp1fBgfV+F><5K6^*spI~LIGO&4-bg}CvGt*YYL!399irE~3mdw2C#vT-45-TH^wixVh&FR3!8_tm zpD1LA?OJz!U-%g0gK=l)+GoQ?qE^loa9zq}*q#%&6}Ue&FX^=``KW^8hP?{g7Y1@{ z@2>otao65qzF(9N9Wtjhf6rT2-IwZlt^HcQ_Dvx?40!?I+v8W9$-ljqsi`e$W;HBn z^DDgIHVQzPIMe*eOOakg2TUICyr8kaM7fkcD@t=|xQMB%aToM{+}0Ltok0KfC$A4P zpwx`B$9>S_KJrh)-#<0v@`F)!#8jpLOBbtY-4)Y-iL1!@2(FWH+OX#9*@zLZOJO{W zRu`cFEChAAC6$pkJ|H^?Sb*HFuj$_tn&CMbus9yr;Ezre{-CT6&s;M&5%U|y0CgN@ ze_?ACwULg4!LnsS9YVh3z${KauGPdJpQA4ueDa+qD|k5J|?E})mXaf zJqkWcm>6HCmnj=&N?fVsb;s+~+*?9#ccT(;k?A%1b3&Y#ZZpM%^3OKondn2}M%zpO@zVtIO3;6bV4i>Q+2ew&Ozw|3PGOgeG5hXkmbrE2A z-|+X!ixdDzR{#_3SJNl-mXGqVXs5t$Yx@%RZY6c@_s!GY>r4>=C!cc+D3uzoX~&xZ z0bCAqoAgTC3$$D*?W+0>CpSO5J?sg$SMo1>Gj*6cHKKAB$p?v!MX^wo?_?;DFDm<) zdaxn=iGTvv`!97`0!|MC>U@RoL>QRq{}`q>74*HIJ|Tw*&wW%4SpAwcp}%IgeUq3< z@5D@;h2FQ!8y*|(AYQ3RA^ipxE~E-rym6bI`4EY%R;Xt~w*0O4+3}9STF^bCAR)iI zEko&@JA%wXFMK2CS+I`~xF%Il!0tR=wcL~l_BjYmm~E;IE%;k`ar#yiZU%nST9O>w`1k!TmG=Zo#w?do_+!=!aVB#e(! z!U@qY_VPM5pl_BLTs!{5IlJ)S@&WXc;nPynla? zP}i|-wmL903b4{TyNy!Zky#z0FQe%_|JLu(OANAbfaU0=RYQc9t=fx5uZ`0 zLv{Xy7|%a3ikT&GQ@6~A<15u<^v>}B>dKt+wH;Gu4S}rOrZm?=_3aPXuLOed+?Alu z)lltB+~vcc@u82k6T@7&S|@I7ommZU#)_@!#h2q}Triznzm#9hJPPzGTms=M z8f$yPo%&VyNv2P)SxeaiSL>OsZZaex{q9V7bT$#RnbQt!(lcNY;I!ROO20XtijJaL z5D&DDD2ow875frCG`UZOwd_w8aPJF|(ccyu=A;2FKo_Mi4oz6c?W zujFxM4;zydM6&Wx&&yLukMAsFEfEy5k_1~6m{3TN!{=ITec)PSOH?1ic|SAGw?bj( zl$a^a@5rWjViDTn+?#IV9?yvKLOZBVjYv~`87cr$gj&y7KhlL4Aj|(;jAMQ>S?ns` ziZLBOtS2JQ3z(2U#bn*0F$0^r@prfE-$Nl6c2>2h94d2^JIP)PG`>$Xp@a%?Yn=3F z5$~p0c7DeLjTY38Jla(lf(2}|xZ*G)!OzO z)7Gob_jYIm$Q~A7uq7G4v!<8gC4#XSj==V3R#mu4-XpAlDWIuko4>m4^;44ks_H;U zsOGF|7C{Ld-H2x$UX%=v5eDqg_CE=eBv}G33n(rjgW4}990YPcsJ#b|2-KGW?YA=bw zP|puqgRnQfp&cO!)#nEp{5^UXy5Fh0DnDm8oDeRnG0}0&vU;^UEY3%{xYzXYxCL=X z)DO9SwHih@`xfJm*CsOjFY)`PD#_0h+BTIJ!LS2uR+RSFy2F&ZkyL{=&|vVvb4t51 zM6fYcU^BTw;dlKNr@ty{Gq<8pp9Qe;V&D8Ow5$Tm4PDfq;RC^wIiVNTFtuU26mSd0 z&0jL0J)$&W_(Q&-y4MoN4wsCT ztJc}COS@gm&dM?rC1-K=WQ};@P_7#SkakZ~KqhE?aI?DK(pp%E@@si<*YJdf8enC? z7SL<36i?`@tE>(SYtGkCE4|TbQp`=Jn#ZGh8}yP?+wiTx{x6IN@T03b;YfD2^I6;TJANlSK1&G^>tNi9Al$SUw)37w8 zkN|V(kvNInd+g*Cwm^mz3ZcrH0HNq^rt^jKa7jtJlpw=$yA@AJ^^0u~KkIZsCW1%f z*AmiYh{#pl>L$?S?=hl{-!INf)%YwBv~8elf&EgdM9TK>W+k~`T+u8U{GZn~8gFPz*rZhRGyXy^TViIC% zSCW~Wadnw#<3r8EKHb*jo4e-aW4dH1RG~aM$MON?77UUaZA>oOpW`cFot`10AMx^0 z=$ai2{qzXwz(exDvLhx5fMBlN#Hex1!hVD3ZmSyiyZ`K{v`)ehspHInyQKUVy08qcIJ3jAjb}}%Ao%?F@ z)X~9lT=HmgdAs|e(wEBD{6j1PF}PLJ#TB+tX}>@q^$S4dhlZ7aBe_kve78n_TK=i9 zte2qhJ*;0Moc(48G`a&Lp{(fG{B(lAJWbz{c*XHUr$Is98 zX>04E5;m;TcUt!BW}r8y!+%jo<})9*uR>{YOXxaHHO89TA7)0xw2j5uLty11WzXgKbf_LOlP5vbAJ3cih z@90O^e3U5Ou=t{P?6Y?R58qppwl**QBvhK|cnD7f3EUefWU2*u z4r0_n!Z)y`nzt4Qn1JwzA@m$K{C;u1DbD5VM__exx|C`oRuyi#~xQLNr<+eS=_S(XD zt7u8LF&7?Ite)Qb%M12mH_`e-S5V-E$S+7f?%4r)YD{>O?_%?d3tmp9ZIRsmPr3#! z0pO;k-b{@csS||>wI&uwIH-qWkftQ(pWAj?6b$^jbDalogN$B~#H#-{Znq_qxJcU4 z<33bS9rIK>vMK{o2bXRRw!)#YDlIVj`AY+Iyo+0T4LrnTKgQ0FM%fiFA5I7xejgVc z^vjOfmy9rtfzU|bm$qL>Y}TOeK9Su1kwmaEHF5#fqt3Kn3_8f?5G6;lO9B=zErc<8 zP1gj9I4iWi5D3)UHG)bCi}}=akV39l1iF2lKO4=iaP$#$)=!f$Aiqx0xWt@&-nb@D z`oIq1v|;4fVR|S=qY$dLSmFsZT=_t#@_N{N#~cJwn7*k?0=rH`c$(7yc{&P*7^casV0rgCeiB+zEt=Id5`?YzF*hMtAVER%Sm+`J+ldCP zP)BLoo*r`Z_TYHGw`QE<%(~lMba6PuN>v#p)6B29sdjigG0q4c451(kiFNRfsx86L zp#Is4LD;$lJ7WJsPB^~HEV1&#j>QYGI9@dfGT@ zVBL7g5sdP_nJTl9l_{pQFbAC&iXjf(*-rwL zenwvK4XMd6+oA7Q&fK$;?X*%)5l%%IbQQ$xQF0AXAu6pC45yoNpM`-hwr(d&J$&XlWVzz=2DckjxGRl{FKG_4GF;%iXs`Qv z();PrZvB{id9wm_M+aCIO5`r{)stS>ozZ<_u^R&(?G{ouA7Huyu^!ExbVq3|4?@_2BKD9lr-YAbf2w&#=4;6pz&U~>1XGHbQhm`>Jwx_ zoKsLXkt8hmES>RCnBCL;rA+l+2n!WS6;cZFx*}QF&UlyFl#ru&dg^FeN~S~yqy`mq zc!QewZ|;l1$G_`4zyyxpEl{F8!_%?2$6MjQpQrq8jPm6|Zw+zV5&oKz2OQ^O`9H@{ z(}z=J+8=H|Oyg63G7%<(hnK_v%?Wb}GWq^LKvpeX4?UjEmqUYYk)(r8jphX3@Xeb2YyY!eT{!b%!TU_SOb2CxV%*5W_qXX(eglh z-l9?c*4(2EC9a9-ZxNgU-9wIC{AQimfn~fI@kyidFaKuC$Xav|no7+&y4DXyZu@H; zZJ7ZVioboADL|eef0rUO-wf?g z_4?u`!$P-B*Z{wx7-4)QymuMKiV3#*fDmcgQ8&mvJlrz*(Rl60>xHD)A&=q@pwEff7?V6+ro`lr1D=mCPZt8rWq#dwT!UB zUEPSC+ZU6-w5^3?t)7wIo*OAv80ugou384ZAwPF)*tqH@~`zmYGp}QAhSTj4pFBvM6Cq1x&?1VDzt3m zP{MfczW%gmlvKQw6ehY@XtWzP(o4AoYT^4?TS}(Kwq`JfN{j9M%(SD|N4-44cXuJISd#9jRq;C;sOV{cKeedpT zX(R2ldrVdqM-!#upf}u(vf0fv_U0!!Y?*VLy2=#Y*1R2t{B^{+cVrn*acW)42wjQ~ z-S=|OwZH!7l{VBuQQbF{k9FrZ-?sCu*1nzMT#a|tHXQ@k+4v4o5DsR>yMvUEYd2D` zfLEmA{vi>!6;ocIYy9xNZ%VF?pa3*73Q4f9-d6?Q_Tf~@_Q=WXM%JT#eqDTVTeB^Z zq36Pn^Zh#`_%Ur-Wl`4l>1o1|YGJF#m`9D*d;C5rOEK7Q(%vaQzfz5Ls-MBk>VOUG zAvsX~c#+MlJ-3i6Ok_WQAgOF@GTPpvS7MtT@rBkUT3Qt&Jpw)p$-?k(*(sdAD2cB!*^8@eK+*UZ^4qVlX^PX; zdD%vDLUx@59c)2Vua~cl+v7`q@ug_p>#UE6||zIlH!bnvQRN z7xEC}UcN9$>1|l$9g~7CEWJ;lNf&%uNI8a}~A8jo4?rl=N|7-MimL4&+5 z!hp3PdFdkxZYp}ic*uVyN4?4>tm(PKVAwbrSS`DK*T-Zo?P9YTp6mjT+6IDlDW zOVL|oJ2Y#1o8WHf;~A2(E<5quHXIQk3GoeYH2vCoNc~eo))i$U`iNQ_uxdB{dFW=m zl$-ccCmOlY;sg%N$lI2MpD)Nn+&i+?S0_7M^Xi+povRGDB7-E+muH4j1 zl|bhej%N0kuO92K<{#NEA z>yVR55C*=SxA8}J&#FI4MhM%rldsS5O)Mog(#O@Oz~SrJR4QeG9!ujX zzQ34YS+eGC#_r4I=rQD;pFirnHiT(P3l*>9-v2JaUn)Un(RDRep8OVNILD0=w(0zk zAlvDAP{&yWzcmWGqj3IhScy$6L()nvO(NGv)7(y_?u7*{dE;z=c;|6T+wj^WuUT7P zaWncW6QQ)y3%22I^%M>jw!TNLz89jo%%O+)3`5_=R^d%H)bVp%)dV4xR4zMYXweE>xmMZyus-8ul!m!wZ+Y6Qb9uHC zscC^S;8*&8`XU{Mo~$kzS=v`-qqnojz)(NxuN>|HNKS#k)K94s|HI zYEDs+qSXUN^O@n zu$O1{-vYv;4bi0?qw%F{Td4vu66ce&jM>0fo`Q-~m9t96fJSRRa2MTZF426Vt zov+!kUCFJUGS%gh%)dSxP(mtVJ~jWPRAx{>wh-@Ec#5bSY^ChcmrSQo7; zT?kDJ?sT=dU9-kycXZA-od z0#_ZSx$)3C{l2bPn6RsPrHuNNQmv0fe+ooVZUA!w`58xDXul(`rXFgW54jiL+FwO~ znSI>-{fBvWDaNro`Z|%C{@$Q*=ZK4T8+Er8Fwu0pwNY5KhGYxobqP}$R zP`1pLL|jTn#zN{Ue!G9Ll3aSyM_ncA=Q9<4tJRe7PEsvt%i}9H=Rfhe53M5QM(#f(yZZ=a3$c(>tCp0P2Q?Wn+x*Q5ftxI`13sHa$M}8u^=iD6 z=LeEQmX6ItCHZn{p?1}w{UOJl;3+a_G1hteO8EC$!P>!b`hzz&8;)F;eKLBGUfd#Kbsg@>S2OD?}eb5P1_-@=&)v6dFXz8Va~zFleGq?d+byD#sRSh4UuSA zTBH=;+*$BLa+3F41WAX2j6m(Q$@SxYqNU9}l=(4=<^9g{Y)EbTw!1Jj1B6Ow&&q3& zaK+Ahb}UMuTZbKZF!ZX_1EVa>^>&QT_a{QzY|W!{n$A_`FV#Q(;Fj1L!SLi4AI_?=T=ONr z6G9T?`f0A6%5E(7+DQqb8~xlBfZhYaSBLYu-6y71kNrb5M}z$K38RR;@EK=tK^}eC zR;Mr9;d2@8IX)rXA)-@P7qkX`_(^r9e|svc54CL?nGA$%AuM8Z4wr=*U*k&I zd0M`=v%GH8@9Te z+;3JXw|49966@x7$@)5*=O?5rL-BGq7D1`FifDPYVhkwfp|3m6hr2oPn z13==kI&h)i)$yY}z;TG{IestWiIJ2H>q^<7nq-f*ecC;z{C5ZyMvW78cSR7w20`V1 z@WtJ9@t#v#x`e`?A=k7se;?lL8N%eOU40>k(!)6ZP?q3X{I*5cRaon{NDuz;ez@Ey zUT1{nfXtcd+n6~lC402I*&4|eed@@o9Pu5CmRqbS8aCSGa#(x^gk(D&g&3AM6Cm(# z0l%NFVX3wKMtKl!KH-~g(>J7c1v6MBP=w(jOYe6f${1J6%lz#>Onx3y0eED4e?LlW zM|HmebbdW7`{c8TmjAr|ORyiXZ(Uis1-9KEWpJ!F8z?#VrF6~6!ofx1;N9y^#4A*c zJqGeuT|i*0>CZ9A{DZomH1!7+S6-01wD1Kh$sD`0qMM)D9qJ5(jOpD|vAv3) z3=i=h&QDV;jO|Gi^jnyNK|H1zef|=92>7D10V%af>o<<`aC8r-jHGWj3l~=`L0wR- z!|W$0Pgg|z%~lNFJ?MJx99>a1TwhV!`()A|7*8s_iyjz5G=2wR_?VBHP*vFtZMTwvvb~kM~%C?U&RmD;L{=&6K|k`S$U_jz8Ww`#D33m5WY&EYkiLH3*}u+#=5S-l|v(?ubW(UHCCK^fvHuB$lVq?U(&39 zUh(5ZGU=-p|FoMW^yER0pua|~^JVb5#^oW#WY=h59ec5FP20Q6U~rbB%VmMsE9uv6 zC;{%HngQyImv5nWdDdc6dI#mWZh2Tj0Te!`r|Z|~;!w!rdZFb{>=@6dad}4(UF=-EINUBolQy$n#6^=uc}h?OhUV=Za< zYJuIG8T1=&xOJB%B7 zEFl>%`qKee=eAUQ@2_VK_A^l#ax2BHWIZRvf3(r(CiDE$leyL6bO9J@VJQ&C*Cp<# z^KxvCZVnpsd@Wx%-Nx6&rCpCxu&<*jXs3tx-A3h|BKwZmz5T)TZX-3 zTYoM_fk%Az=9png)Mn!w)0Cn-bW8iWM+vl1p)#5M7?!U0cF{$m!#PB;g!Lu?d*8T) z$wyp{^2LcOtBoIsLMZP0Ecwie3QJ1Z&S6F2d})`}7ec|Pa0EFE7}jUVdK`A0 z1eUT0y%maHI>(sSZ_;7y_qKXyT7wq>KH7Rmocwm?{X<~8papQ?rFZiRN%lNhu;bwr z80|qEfe8ropk^9s)bW#Iq**w2@!Sv3r74cwWc4X-0AbuUuLO_8o`^naU-T}Uk;eS_ z%L>2jJZoM3{eGccM<5>n?Z+@>WgCVw%qj{&QM6&1INa#q8CdSFZhUu0GX=*8rf6Av z^gm1L?ykoej{Vsc&S15AznMtWLj~Wi;Q_@cOAiP->A^>Oqx`y+f?;9HDWLyI0N@T; zoKEh4AC8e*PT}RhlW(+Ag#T~5Uss<}n4&Tr0+KFH9WG%iFs=immkfX<)K)&H68CSF0HYWREL;Y?2^M1dIf3#=u z%XV|3{rb3$k$GWRp7z*d5o(VuTLvICKa_%Wi3+lKwH=;8A$QhqkX`_`AF=}0``@cj zndYxbjYVjsxA3E^eqdMf_WDWr_siJ076&A1(b=^(2{R$qt*q8fNDD#G0{4q7-)kd+ z=;>^%XCCtNU2^NZ56g&HrcYrUqe)2Vc6>q5cYGe$NWa;pyC?YIG(^H@EN{ zwl?m!&AXaT*FVlP}S0p9BCI6_UL@mZJ zB}_!l)lvvkSYQ*`Q7GoP6-M6{+|J3{U(}0cfYvBxUJ0(yaBvzqBPp$i_2(9k=|wMl zkM=g$+(i{**OxjgDk1GlAUY<^+WeAWQq}x4l@bCu2&A+Rp>4K-X1I@kz87>}Wg@bR ztP4)kX^%CJuAbGX8V}xA=-kB>e=37#`wfJ3NmhJ$!Ck*FL5(qQIIAnSu~cEEo}(TB z@snk3xskryNSy4}k3X2=^sk6tdLUnhw1$*8tnjkKrhG%quS_q3>71FlW)xVT z9rrnvB!*#OVb=-!R)z=@Lpun4nywb)CRLVsE_HC!%+*W&`Zd-3b^XmduPbtt(#?p{ zx1;fnD2$vwS;{Vhu}-DuD&nA-ttM75csh`vdz3EVt>@%4R@%!t#NqcV(N^0x3^5uH zAE7TeW%WqnyRn1(@_1R6*6!{5^D<7eLk12lg#&yt=UblCayCB+uM2jae-kwJU6natk4@pl#;O9{Gl*h32zy%>Dq~i>)X5-67J$f?US7(K4{D z3j3QpUplLwMQ4sj%R#;bHhyHncHyi&*lt+i7g4^VUCh1AZV`WtmP1^J^q9_? z24oa$K@8uEy3V+E16nxG-`I)TmYD>{*JzBEYFSn%*cB6(Z5xug7Ml2;pS-gHXL zha4fXofQ`xT~VgO$NQDc2B$1(IF11u?7GD8t68<93-Pq!L?c;?4Ovvl_k~it-*C%o z$Ja#UpGI?AVhrPg+Wz7~{Gl2H9oA>>oKpq!es*oS%K4z3?>xf~#^rC_5BruK8eu>I zcETYp#`c0nrQlDkt#{aok{-vibo1LnNgvqb>8k6Iz8FP23RoAy9@0Dh>9xL4 z*I-JYz-Zbzj5S-zezd7-g5qDhfS>-3S2NW1@{o5<^mig&OVh=%lQ=}z5Zw&q=)uBQ zm{?pOc{r%&@!*yEkv=`+%k$_i3%Q@oO*G*7>tmjd?}N&f-@?^t)(_t>^S1@Nu}3z2 zBz)Gmo=L0$G4KzHQ6--v^cAyAL-!@(i+cO#6AetMC09K69YFhE0){cg4?wKw2?L1Qu*wEpafCyTYNNN*qd zj7bFA`Q1V3yljF)qxz(v6cA;j``04dCw(}k@;kcJV!scBLf$Pjadb6CM$or2xUBHW zWI}DtGo++rzH4L@S2DL)g7S#A|7ffCr&MLJlyy$$_L0HN*wisjaWQVXGYnlJmf(1Z z)Z`;X6Fjx%;}oUh(Q7tS`o5j`yZ#I6z*0$R7>ld7>XQimlhb7eNyZSu!#dXCZ`U=| zgKukJ>2j8}-LhBYsv}O`7&ghpryBwn{m*gd6R!BoeqOoUH(03!yvXu4%=c4W%ga-?pWT&-?Og*Q zrsh{Qh9qmR~C?7-Pd8KXRQb64rknFfI?mwIxQCT)X+vwus;!P$YMlGXY!oW(a z6u-6x_53JXPQ?XRFuTd^#5dSZ zJ}CZ@WV;oK=-lB5!nJ$(h2bCc_HZi}MK`ei2+q=tkZ{!*$#$=E*DSS_m>N8JS3a02 zcvv#DfAzGt(##4TL+SnQc}rb#3m|g%RF0XqP2I}Px@bXxyB$^t&+gKg|8;RhtV{$; zjc@%d6nrdrXVZU~x5%c=bQHfXVkD8&)JgYItPjUi%oX08c=xpOfeC!T-;uVQ)m1J0 zCy_y4)jx>dM6)g=F@`;u4rAz%KI#U+y7L@!U{#z2F#jP+wxQYI!Jx$3ESY6@w=-;F6u(Ib5C&HaFpy75L3c8)=C)!d;4jIBRY>jU~(E8#PpJam$52+{#{b@m1BT8&t&RZLckcJS^w^N;K1zqzS(ODzncjT!DA`?D zKn;t!eNi(7cSEVCpcJt|wM{DsKjxdDf(;k>_(Sq)zmr2sGgGPID&FAQbI{|Q!oM+9 zWq%B(=)7;3_o%jcloE#$`LlXbk_B3gHSLuew#h&&cp$hW%uJ~a!M{v2Ho3T8OQ{@nD^RE&;+G+%vA{;c7D z<#mJnf6)KRUwVeqBF*wDWvk-bZ2{ z6e^dZB87iF$@R#L=Q1=VI!_p~{{Lr;d%q%V6(;^=BQTFdS1(aN-Df8f?$@RyehpZL z7?U!JknZC5o3rMm-#}(d@yhUZu&3ytUS$(Ef;ZtCT!t`8E3{JbG@7f4CWMNU&{Kz+c#j&QdD~pSgP-LKp0=`WOARIu~g@KW*>+`Js9! z=D}QsAeZV-vvcio$o=#~X$B-&dXa8MixreBWtsPU*fXJ6)*nYPnH@CB#(1jKl~|BQ zEj|xLvlnMdn70g@n8!WRda%#Bv!P}e9w@;4P(}WGLF!8KEk;;-SKO;x)dq`tV8@S{ z0ZFG|NS4GtU()xQm7mLcHO7*z^qZX;0`t8iD%(y!>RVcbYNqa#fE5z{9io<;p$-Sx zW`)6ItywG-mDE|xtw(TamzPLa1I}yvp|+S_F$Z9de>Tl130)A+jKYh+qe!+*UwUQV7mVQk3{Grq7 z?Q?u3NrBoPmSM0!grcY+vHG?o+Yaa5#s1g8c3`bEKrNz-DI7xDT2Oxf5sPxY;70Cw z17VeRbI3I#EfEsO2X|HmHYK(Yx&6At0av38=w5F9t6NInm)?igd0gfm+83!hFnMBP z;=fid0jHLDggLj-BnuOUiyuD$mKk>_;@Jc8S?Dv0b;p0a5a3W*0IMTe_UT&6jnuTD zF8d4mXKz&qzm-TD)jg7!OqV|UDYbR6?bcX(Bb@g$pC5TNSO&yeBH%mC2sHYije+ZI zds~)(^wLYx})Kiovq@JHi|?QnseMDjoMReAOr_Vz#ZLI)lEr;vZBtNi4} z$k2rZ(3*^r8FV)?4Owy3j;j{B{0w%d{P((Jhb?3$sgbE=xDb`> zEw0L^UZ%8JE-9{>X{L^U)SgfTvnhR)*r}$iqJHJcUO~Vxm!ILmKkPIAi^|eN))lL5 zIzjnUnGTjp(c$y^?R{zcB^w(XD59@9c=Z+0INxU=CmsaZ4wdrb)hRWjyZPQ8T$Y>EifFU;D^?Mex0&2~2K`$Pbiee3%%|Y~96UU+7w`5KtH6`P zI6o}_!0tRBQ4&6RU*xr9Iij?bO0K7W_s8(aciz&L(Q6UVQQv4pJ_+~<9JRu&Z6-&< zMDfoQvzBaVS)-$5*SB4Bz*(NY-v(vzeeq&c`w?lLg{;{jBMExC12Ha!_Sk$r)r(8B zQc^Y1W%t+YU*AmDhFc~`aor8Pu%7g(6(`%bLJ^U~v~W;!b|7Z|FKCN|CUU4q18 z|B;&W{F~nDmGmDoqkBpaal8{tPt14^`|u~bW(>buWb<{Er%B#)XnycI!>@_Nk?!Gd zC*zmfMK%k^wZ{l+$`xL}_-<##GLG{D?@YKZP19!}&U(0kb+qpQ_A4|bZ8kYh<{9s- zzSmoWVNk2ziYUERjuSqMFe__VJsqG1Me>{O3u}MO86|1 zUlP=1MDD{t38@L6ZR^zZ4H5ob-13NiG4iJ}3|B%g-46C~rM_yq2XBwlrYGXs)qARU zze|}pp*l=FiAamRpN1aV)eINT4UcF4rp-%jYAcpkG)q*?&OLhcNbdQii{?gLk=K=WkS*vA%xRzs$ zGW}r?#JVA*Fsme?{rztP&PuVe0p%5wTXl3JR$VB>(^Wcdcny5OPAUOYG-_Y+3J^2$ zPz2*`9S|}PWizCMexIywYT)zmnF?u1!bhg$l3BzaPsl88?0a$cA{=;RbnrCh>%lLK zO0I9`A#D*_SKRzZ|J(ok34oO8O!?n->6Vp(<7XsU-jk$3OyTT(|I8L2(*8*-%<40K zrOw~AUB35^dQM>V-wJ&8_VeNYWdY0zRauLsf0$?zdOcgnt(67ya%$MIYDQl`N89|I z+oxMzOW!uM!_^Zp^f!w|U|4*7j(_Dd@1|~L%$PWaCC#*U{CbrhOPbpcTth~W$_AxY zr~R459bX!ddB4`@K!KDYIM|_5lOy|D>TtQF?b)RC#>vy?zTJ?wBb&o~e8+g9;$W|Q zd^UnEF#|?<)b;=8n9`d+q+Y#1jZ-k!arLK%LLFN~skHFr_74Ps^&NGbPpxwe{U{Ou zd_|kNnU(uuu(!E(>g=Qk-X zOlkkf*oo`)UC#bH^ffD#7{{=GLwW4{ZaORaEtteZG|Kn-z3PG0MaB9A-^ZnIMQqXG z$u|cTyLSvLpM#G^i00<>2Pbfn&q={CZ&@cSG3T((lRBP?{yu!j5}}@&wZ?xZi;ub@ zL=60n^Ltw$?qV^nq@#WJyPs=8Yz#{r*~VTJHMSk=CR4bwv0qD0i?q=9Y<79lGlm^@ zo4r}5`Ly7H*Na_xx>;qYJRLpKklcaiMp)OsN(RwmK&zEsGndDr%RD8vLvLZUKVM&L zPWZiMGhazW)3ti%oX#oGH7i_kTy&Mp#0>Y&-g`bjQ(E2W@h0A#kX5(b$OdiV$*^P( zAY+i;Ii7T1s2Q2>r0tQ62)$labuV%DU$3BeTt$8J4$(0Es?&PmOwhVpLbYjSm!p$D zXt7L}CJFv@d+ z6H3Y(w7&#?AX7IX#o?YD0Q)MP@-ubCMU$S;gEONXdj=)$A;RM6pIfTlQ=Q44bq`<~ z-wEX->rWPe+ZK~b1}6ov1X?>vQsE)IF{of!=6qovS0}x(Uq5K&f$*B0EH1Cf-YBl!dbmA`m>V_O#1cY zW!N_a{0!$Jq+6B)Qv0^H4fS5=>f z;WG!}ja_b%a1c!StKuSJfOi6cAnu26fOn|Y6p&^~mf&9p0rLSJ_2j~sgZ3Enqh+^Mz$yH25|6g8 zT#$m~j8o*(4E@)^r@H2+P(Zsattv*Tu3&OveVb>gUdn6pWMO!OU^0e3h9uRx?k5Iy z3)@KXBh(6rC$+BdUU}$$kQZfAz(`<&bJu|4(JzytFo_=U#}{LL1f~Ddxc{MqRlE${ z@BiI@9V&E%fg2rFEdM7U5&NHKiY^yQ*r=e3YmCViV-p)M75J)2{F}q6>Qa6)%v`m| zrM`jPQkrBz`krj>W^YoL*b6r1} zA-}!|eetE@nk7Z-@j>mu?`rjEjw}NGuTQ+V$`lq@{b*y?^y>QJrDb}>=Z&JTH6v!% zTsvS7#C-mhcC609N>hj3L3kAxTdypoiR`i4bdY{!`JXk!mN9Ww-{5EsnoMdbQ}eRn zs%jTt+K6okpL_<=->s-Vs%to&Y6HL|LG*Q`R)-}nq2_>jzNPNutJ~?~?*iq$F8m#$ zKf$&g|9c~2UNYc>>NbY?U8YQ$f?Awly?g+aa#$TLj@5z^-uPbXI^>h|iE8cA(N*F& zc(=@5f84lIO}dF?KeK9SOdx}Llb_^e&KswZ+G)oMei!CPHQf1sG@W}q)BXSdD_8Bh zN>s|BVU=>onQUYxDLx%UbU6;?kmNY$F;tSXC5O?lN>MrGd>+DvVU@$2$7XXrY;%~? z{C0hBx8EP{|KIP|>vem*pNGfu{%A|h+-ya_Cuj_9uYi~LfZtDcyBjV9dGi&OcFwCu zFqsJ7!x8@hY#N4*(R8yt-}|^Zpc{=p29PbMQ;O{WAovI`Sy8OA>+!YhRkd#?=!EpO zgzSw3bz!2A{^T`s0q-wjbx|d;5@eKK{=eyJ5!R&_Px2K+eGBEN*Mo`hTMc4 zq!mEFgk=cjM|SpOzOOE3v3KhYV;-o4O{|`~s}s=O#b}wt@PAOB+0Ak|^9L~BuP9cU zxx@Cf2uWCPj=_in?NQm&QD0CzGX>nJBE!pZR8e?mS2)d1Z~Yu&5X3d#K7-alN`{_U zJ*@DlG2oy(Zgg1W0IxL%bgVa8X|s(en)@;?iCs6bU6fj^nbA%OxpYfehzF98hiw zY0np5dUee0p0QShLO7*ia&Z4tj;@}_3I}(5iX+dKJK;Oy=BVx9? z^>FL|9a^5(_ODiRJZh~Ft-bx^dT@&U6Fm(b^yc{%UN$VR z%Q|D=E2p$_`G2nt{qNA_zt2qJpHPEev>b|(Sc-BzbV~g3j~+oa&CINZpe-beluPX} zDF0qx??XK--xMZ8cgcm$MrQOBEqyQf&a`gfBiwA{+P|u2Vr{E+CSfZCmQ2ZrxV zJ=CafO!~|zmlFz**>{z!CBDG;_-50R{fKC&6BUj*4Ba~tzOb$y(XF>R?97NCD&;Md zW`xPC>k`XTSog~f_5I(}b+U5wNWDoxlO#`)VS#6;r>~mARSU@Jzt4x{10_PL`yVwg zm6N(9q^QJcIatJhls$|z(rjPZ2YCj~70S?Ua^x`_RZ6~T# zy4fDQ5`L98{oS5L?F+f!5J}r-ZI-Sik{!0Kvp3pbhES?Z+ne|Iau8crfn#cKNGPB- zzLl{QCPufShFWItPd!&kYtT0?D{nlTmo5+kdK9^NVg5)cjQC=^i&jxfm}+?8W^<1K zE-ncTd@xm!oVitUV(54@&U3m@VDjcI5Okd*`z3j&vr}M9K7t*4=sex z`@_d0EaML#rm>-rz)7H9V&6wWvzEzv}g+7qc4Bs%#(7yTs1-6}^#FHteaUw$!iSZHwI zr4zYbOawqJANO?f*VqpmJL@Now! zd^IAU(=zc)klm8^_wFUyn;b<}iO;xL>Gr@m7M`<`RO&S$<=Bj{l8l_sV_C^foGRt^ zRIz3qsUipLeLH$1Kqy@oYz4@(rcvG*pWa$Qhs+;9^?B3pjA<>;&hBPRqn*A$iIi*~ zPE`uRDeoWL#>~xtl$+C>nB@BY9x-S0nyw%ba&N&mbl}hTMBxQxjR;D#C>QGpW}zsFv){ z2b;)|)Qgpm5ekb-_R0v(M2-7K2?jNW`I9n~8Okbf^Qp&Ef2GAw$mQSB&~dDT z-C5mUkprX|o<>kL3t1VeK1o)RVfNVvbAHgq>+u44tSAOF-*@)U1sICXvwsusdPi5g_b4aIE!-?Ch52!pcFSMcUi5oM^QidPSUKcAKlrc*T27T`8NS03u|ngXKZ)vF~j_hW40B>l?a2v z3q9f9Gc?1;D>XulHaURp5@(wIe`SM99Dn^S|D!Qu%-@mx8iD0r=jOKxZ>~db;Bl=C zNz)hbTw@irq-vritQFYydtK|gaP)d1z~gq*+UXe$dik?iO@m3$xeZ9y?& z?Y27RRA&N$H9z+T=qH$ zY|C@t!i#7bLDE)`gW4uXPd|r>@ewXYcZ_hzSNk0!p)XzPuz-N+~W$rM(I6UQB-~xE_ zd9IhxS=G?r3EhJUe0CxAcsHNB=u`TzPg?uLl;I4YY3Nh3(Mpd$uId-^Uv&J2d^oo1 zrx6kG053hYc&Lx2-C6E!?TFUrg{{2i^o z3S%CHg}sR6)AcL}uaXjiPiay^40!*Q^Zbs@J|$8#;Ulz3fXYjD-xI<+VkK{7mFK-I z4)KYceQDg-&KSvY3&~#hRhW$MJ3_7kD63|JpUCehJUTVT@eL3a%x0Q)AL8Viz>6cMCy5fid!vzEYr@L)2gUcV+Qdg5)S0m6Igyg4 zoI|_M#P7LQNHtf~XJ7IYFk!_BU)i&5t7vBaNI`C;K6Us|q{s!j*SIGKjI_xKy_Q^C zOOHAV5S0gBi@tu;X7`(a1Jup;zZw;3oCpT$Vu1k1(ITy(qi#|t{m$SuxF7xdiD=;x zGq4%hF}H$o`&5z6dZHYKai@W1@$^g%fN&WYzRT+P^M%ejCIP##<`mA~`XScJ6R;K` zRuci%$(;`4!?Ep?pP;@@asRiXgPqmx)DyNxuCTv+^U2leP+iMJBQ>328pKSr+0M9l z#rVTR7X&TdL!gJ|JdS@(ptyagUtez1KQeV_T8>U>WNI;l?y6YOKqwda&VEZ#eW<`| z-cQxNn-J}80}4RkV!(>T}$l*UR!O82JAAng)0D+b}SVQ>J#3w~6 zO2lXCPLvC@b~{i4CUWJy_U^~QVSULCP4!sd*6qffgfZGd2q%eEs*m!?4%x6^b>3}{ zDm;y=4+(2z@6Qswc0&RsN;T}_4y#r%2bH1yEe(1kvaq^r;TH#K&=T^oI^IU!zxDQ9 zcJb^n|0<@|$jy>CY7FHIX=l5`aj%0db!zd2zM4m~r${Qej+2F{;xuHmx8TUVZ1%AL z`QfRhS26iE!HuJ6&HwdD>yV~4BC=C_!9VT)>~(jk6D2FE@g2XtP3B9H`o&((>D3(u z_>`BSf-^-)#zmbnL=~_$-jp#+h&g?n^EUNpgvUB2VjdH(L~llNm{n!(ui!Q$b7vy$ z;PxmrorvA(#JXn}Rkk$1di-tA#{j*9*k<`c&7_z4`1~7-F4yJMIX)9DKTo8)5)CP)sg@y)7|8lwHYxRs*cS()Ag2t(S`muJW zakB+`<>`8a?cM%-E7}9BG!TT*2Eh}#NzN*zbQ1x> zMoadI*0vJ*^}ZV=>D(sg(&W8v_}e$&N8^_-&{n(#Y>|$U9$xPzi+5DuK67e&H4l0YGq0XV zx$Ym2G$)^2qBM>QyC?-Z;)1LaxdAJ6vl+o!et}U9T$HKIs`uyK-Ye|4)5lcsDld%n z-6YyyNWomn>kv0OAbvMMR2{^Ki1cDI%4`-LvBo{s6&$JqqS4&!itJfc^DU014;p;k z=KC@DvfAGleefUPr|D4wn4CJ7EkBecrDTT*J_rQRnafk`yV>{&KM4<=l0n7 zNZog8F=eI)LUgw@AVyo)=KLo+KRp(G0U_nrOnw-Un-`Lex-kJ86`hg108q3DfGc&s z`j?XKeAt{^-I`~DIIL(4Vo${>3P)HNl*AoabkGs6sz4!nl5X{tU5r~`y>5}H*qX@M zk`M;5B)*y3d7Cv0(uFu6$F*2|UZHd(ik2L*Z;ys7|8{6Wqp)3Z^_?|CLjirw!=v`$A)IzD=duC)=sRQpO2-6tsZ41HRQo*l4}|Z zzh8MXyw+nVws6h=& zFxe*+0e?6>7~Z&mzV0R@39S<(^upIK8XLs?bUs#cn8wg}kIm(=````<(c>&4$kDs@ z0;n?ONfhJI@&tAb-e5+7O97WlxbJ5eSyrR{%twjH-|o&WjscyZ$eF*T)56YaTQIY9 zy>B}8yv^kYUrLo{l%EQw9&eo`RX6s(}I?B-oheYsr`P9HE zoAT^Nq&dsux+zfNgf4G8Tv`$g9UXs(B)>F(bJ|;Lowh!5d2|3xkD}aO8t!7Zw;I{3 z6S0z6%!-uu_iyC#&%PsSjmga+Q-S&iD*&2f#9Rp%0;;>pBMJw%*XfGUe-Fk+Ps?Y- zkjkJmV|NVg+rxGpVHHAi1bGC}Dl@*U6F+?w0#qg}JpR&nIEjMtJGhI~$feFIHdphO z0CLV3g%&v8;9|5r`DmK?tRJaN2a5uUpxp|SwAZP}u&4SyJ3 z=bpczvs1VISG=J5w1~$`I>0Re71{T6!KlmRs%K~?%iI}nO2!OmN6j=`>61({y}y@k zwfi7!s7$jabq(wJy`N!)oowVvlcC2(2y!dFvkg$#|JDxQ#=^hR!t_f}+dUd=on#yK zy!vBN`*7?ny~*;D+MQYamB7@z<#YFt9>G4{zH~!v0T;RK3qXmq&GKS+P2~CSyldAv zX@mHH++o#gN=^ZEjwc#)1I=KaRDuTZ;y`**&0Ec2qGNV|8)}Cch3JzxjnO-Um=rio zgyYZX9|&)C9BfYR(uGZt+IPbn+sv63_rmTKTfu7)d~ zE`+m}w!&{qH`_2LPq_DEuSJf>)+$8DWTeCZ7^ja2z4Lq{X}0)tq!8f1Za@6S1Wj_2 ze)h5PhZG(voy+{tW4JWu|Av?)E&R=tO^G0O2AN<9#c@`P8}8&+dCh-dL8C66Syq)T zc_u5!x?`A(y8ayC>)Nd7RnK|3t#Q6j=;d+kcED+Gr)kezI&8nYY9zY!ASV9X%;V~{CH_<+}&5n^7#xs@#fV@2rO6FQT!HslY4ao%Cgga{Wzjp?)ND&bD*ys0)w`(kssZeO^Q_`#}Gb;oMt`U3Z7U;`cB zbUF+pvnga$hNWZ`8=>}xnplpeb?UHydBd`Bg!lA0ure1T}m2?Kft_`WM;CTj~z&M65-KbUI}dsrCh3bAi<<91Q;tPtEf` z9<1U|tYAxCtFw4(EUKO9L=;f)QKzwG%g?S{ok6zz*B^3~apmV)bJwsA$$36G*1O$( zcHSAt0j7ZUOa>qS4olM=M7kdXT@|;0eU_IK4IXAsNTUPGSY-wgbRbpU?O`HPxzwS$ z>LK!4#(5kVUp8N+zoFCb-{#Em7+)Wk`1q>+Lb=SE-LMbmY8=&%pATewEG$*pbe?#$wCDoVNJTNKd55nLz#q8Qj9B+@><` zROy-aY&`D0?og!3PVi!r8(xHu$2WMi-X@e8WYj}Fc z_^^AZ>GT0zSGeQeWWyES$nUN8W}WHZA^VgS^p@iqU3--m#hNp3r(NZ*S7ZTN*D~V` z9`C7T)FyDc@B~9nVt8F!0xp$=qkAOeNy`usqmuiTo}rR|>u^~QY=t5k3p1krLi7_E zCVj_h%Z}!5Ux*y&#e~n5&zI?hni&xqAitx~P@=@f$Pzc#{ZBq*S$hUy3E}JvY?Psw zE@x%yySQ~c^&DW_iUz%9Ol0w078-^eFtLKSv1S1uM7_;uPi1nK>0b_yXFejnNdB^- zYwpFjAV>D^CyuL;Z6SIO0Eb;$HPp9d9O?$7Ycl3(ZYKG*= zkVp07!!4@8m@N%yd{x9AuLGeJqdAIbhfjfxu-zFEf2iz?XvuLU4oG1>b9de6xTl)T4O z@X4VG0H|deLejg7wS(?#x4e*@Lmj+p|K$tp_VBY^|4aLp>Bqzw48M!V{o4_DvDdzX|uMTKFnbMZS|Mx zvb9Z8R9lDkHQV?rKf0HfPe~`pP?Q&X)ZtTwR3Ec;K@~(lL+k6Mf(kAa2VS zL1dR~@Gn72inRTd%^WKRQnG^BdEmu86FKTnGKQ2j$# zxLf#AMHym^{!RwBgH#5gFRvYO-U$Ka69HcVB5Tm6FK!okhK`GpPpbV_3>uPt&6LU> z#k>>dg_x?88q$9s-BEgMo8Nmnbd*0!w|sYS(b>)>5c2MM0v)`1UX}vd9VXswZ12Uf z{86(X17T)r$urq7!bwTy6-blXO5$nf+7vwbl^2gCb)dw3aM4J9`-AY^#5r{V)t?Q4a*hfOOQQb63#P3C>TIGRz=t7{uOKy3s#w`z zFLve;H&M@!@w08tLVF8$mLauiHvWH2RwDlZHin$-ijd}hv8IUwTq#%B){6a-#TZ}quiX;2{=0$*3HS}tZO-Ek$bTDxm)s-v;G-PJxOnC<4)Sh z`*{c#h^U=N5ehPd7^F>`(tA?gy7t>Jk;)FhAg+WGzCb~jvY;kvNnG`x>D>nyM}@or zsY&@73P3iJy3uIwG0jABcvJSWUD1YhSRN+E)K=eXPau>ogCakEAAf){LGP#LQb*6f!N__v=Z@v!@EbLi|Lz1 z*gi8&qHw(n+e^UnUB^Kbs2NgIivI4D|qB{X<;+ry%iR!5!rc;PT(Re9)|ZY zGy4*@_uVfl2p8(_%;mYF*5g>rGjhRe?0BPXPX1!AgnC^G+^*8zZstwnFJpt;M#-b8 zU3YH$Dq8yT;09A_t)5lu)Y1EQqcL~QZi6HhDzkD#lCZtCgzkqdCu@TB&N0i0cb7PfQ&?AHcLi|}kQ2EcbKPvW)$ zcK(sFSzrICK(P-uVY7ePp-Z&2&IMa8omZ{t=xeM`78L%(@pF&3VxXVtzo%~0D9G0b zMk2Ruz!8r!0DtOUcku;Tss6r5-4mc2A>%J~4Ls~BDw7PFpSGF-1eroG5nOcDQ8JQo zy@DDvvVQ7wNKlN%tE}g1(S}4SbxrDlLQJH_)4*Cu)01ylZ!91kk+A8}kgY5%ZLS~E z5oSu2#O-coggiaP8lXM*j0jN2hm)Q+&bN=z0As?04O8h@AFqgOlaV_a{GA)*ZZdc2 zuM54=yBRXDoefZj1ZCW+Z-=XpeY#nMn4~Nq?dyq&v@gqvbO4phG`Av}omFqBQ*o z_ABk3hW}nfs69zH2C+LC>k)jCHZ!(KSj7KO;4v$e5o5e3OS47MBuW&^z|v9fwR3fmw8;^rV@=TY&W1X3r4h(|k+dWHp;M7pD9qHcMG}Vu!%$Rr& zO$FeL&rJPhYG|a1G23)!v;Dgnt`2qt8|r0{+{UbUQ6XKjYy$IXHlO&EFnL>ghUA~; zKVd*wnf%;uk}NcKbtBM7C#vw<{^FNHMhVpWp*B=q=m314y0|QHt8w%77>#bFC$Xh` zdkLNtf>NM;i)KxP*T8D!CjDp`TvJ@wHQt;|a7UyLiy1Q3g(2j`Skj}Y^)mQ+q-i#u z5vR@j?uFP%LU$NP`i6N<)R=i!TQeXdZ%)upmZG})vZ(%%wr&~2ez{M78^;_DKJyZy z_`tDgKAiaxF?l-ZYvUHX%%J_8u5dfXd-Akn?FtbwO9wc)swFn%4f;`-nxxZKdZF_C zOb<=h&kYUU8=N1bll7Z*cuN&_G^$jM4h%JIh}bQO*47s9U_aKfeA8IW7+ICwX;%*y zBu`pDq$m8#(RmSe%8j#@$lM-X&y?X_9drzlzQMv&hgWj;-mMzlvD;3(mxGtJ-yOID z>VA56;?>E7Mtp#!9xI6qt~^UJ}5_vl`Vjl87m zY2d(II=xu8G4_2!Afun?FJUHeK%5isTFIM1NPAX`ggq1H0 zK0G2a@GM9{ff`pasttnCp0RU$O%kBmZD*zq$cW6N1*_tI#yQ{7h?Hxdr zz5@`Wf7~x*4P1hVrv$J3nE?*5OvO!rhK@+5c||NkJG0^M{cGJ$Jpkm7u8|^ec@usE z3JwoU!_K$?t5M%V!sjbP`@0v3MWG8Ig?L;K@Hh|z`HNMZP30z0TiSAbHh(Hk84ApZVrI_A9G*bfI%QGxPPkzxettyIK3=S2nmv~#sN z9?MXF$Hw>k#xskzYox{xiRiMV!;i5EDL7D-wP$Op@)^46mB786{{Y zco(-B&0d;OLLXgVn7G)~4yO+700$jR6X&Y82ctb4F%du&)JB7gAGMOb(D%K7SNSOH zmwR9iq(>7BTj`kEaN4uI9=&?cf0}jexJEZ?>5InZOXI8|kaL!$&v~ThDTqg$)?jd( zvs6h~zpnY==WauZ<32hg=g6`Gb>_``0O;QY6 zN~le+QqONNVB z*VxR4ut_H@auJX&vVWp=rgx}kkdhfhk9c^YwXh49G*v8Tw4XavYO|4FmA6-<&R@O> z_ivj|yM#G}SN3Ydd+QgSXY2PDo?(-OplTm%R49wEvWgy~fvPB6k)o>IU3(9&^`p)6 z5|2$t6#&;8+~R7MW|-tPlF1c#A6z+$lr>z@=*AzkK$n5)W0}VW&<*K-O{1`?P%oIW++Tt(8;@m_oOxH`QQccCk-%PAt)>N*V<9;u35wHV1cin`dxe z9&mcBe>C%UgkJU2!JL16GPu85CzZf%gIEF?IdX`oslhZGgO-=}8bfsU-(Pm5f3@Pw zP7s7L9n{^&#z(oDKB33H3UGux&rFUodRs&2({(yR`Ou#~f)AcA*};`dt7#H=L-qIs z&~<*=!tF&c1QZb)6Ja!Exp8soxO!~!!E{C~qve8h=yh5mXC;0sV);)9Spw7k+Yzre zxj*PZn{b1R`0)O0u&56jHCICX_TcG0PSfQ;w@iK`8n)Z@eRBft3KO|ngATCAfuHZe zLq;#c@IK0pvr-XBc1VD%{>*ul?_(LsW?B;QOi0E%1pW8Be@moFi!$!L-=pbZ(uAcV zz!fO24YSHQ&u{*{NuZ3MyJW=-iC=(K%bhP{F-%JNsvqiLl)IC6yzA(;_C4w3v|y1g;r0bFdoiGiP%TkQN( z-8HzE1#YT#k?2%9{Imxy#;HqdxI!d*mTj}-|F zjF@lQr3K<@VJjg{;&!WJQdZuPmsCQo(^l~td9_^=?M=|VZ)M}4GYJ^ z#Bjm@MY>g|vM@ki)5{=mYLcL!q zNhP7?s&S*T0Q;SA{{gEKlBER>Bs(%-ZMVT38dC9bnNBc0$B}!8T%Y}G{mz`x(dTQD zd)hKn1K#ZwS5Z4|{Ry#!HF^?}yUh<0NGqe~(1J46s<$PBd4{ZHRiEUh!bX4pQ>GX=0Z+0$*yD9OG+peVxa5{|b(0?~4EyS*z^` zi=(h~4=)BYaYUs+oKiV}nAemI{{cabcWWlctnMk4o}`zhvSckMQ*B^oiR4^j>096| z24xo;byB!nV0B!ut@I;?m!a-^aaJ<3p=Z$oV(e8(n6mJ1nl7szUtc%0T@0=&7|gPS zjTr@thHoTSdT%!Q*gNiaL%MV*@KmR#qn~RWCPP^s%^Pxbb4>H;Yh&+UQ!D3@Lzt~= zTk870B~5RN9MZfa4plrWIB7X6r}N;Ta`^V_n%qJ8JS((pnj7eX5^e`>H?KtjX~nqf zioDH!u?{L~b0K6=tTaindR0{bY;D6AHddi;H*U8pI*;|=D+@-R71j$r8ESwT8N67cI7G zo7eXxyzk=^-Ezd9CZ&1}Y}jUiJz_UHZU*ESOc#>H&3*p((7%lhQQL7tMg;596{Q`5 zcEbOCeponTY=-^*tY$yB$%YGzE>s03l}bGW*>zqZ#TbFFL9`Z4mK$-!O}?YIza63K zAL>>pEod64yAvq2_-;|;aRG1I^uRfbwRIa>(~&irdhfJdFjR!v5M-Af&XGY7bJN-R z=+=*h4E31(sMy8e+l?CoKqnIZ37o?Zzv!7-CMz+~vW$1iiR-gW!8-a*+D7ynY*ulTF~bE*K`=S)+( z7Cy`mCG(HZ`qa~7V14f(?M_Cw_(4D~-cPLKuAr3|t>y8l8vS#u)>63S*p@0WRq^y# zkW{?gmJ(rTLJ>hqB_YO27`3ij=KPG87ecy2>Buqljhy0cZPY46VU=qUPf__q)04%k z4W;=gEmpl>?PT`Tu#pGMgKLBSf%i03oAC8tr^a+bow@awAMOTfDSpc zS(NM(pb++?EmJ)5Tb&xf zAK>RitEXD*i}9iiC@5cvhk)8SR-R| zC?QpSY=OD@zfn()t0i9jtB+E(+eg0VvU+BRzLU4D)spktM~6F4OrwY}W1Vgb{p*Kr zX41Ufn;s}7gIS|TGK0?m+6<7gqzb*hasqiJ$>*wsifV`NmpxH4K@2kWxV}K8WZA80 z0`4b)qsiv1Zm$%Fsg<` zcIzkAb#K7x>{l;)^^+rJLb0a(Y|W=7rV0JV5qYc)16|b5b%D=|@khHxqplV>0GAah z`NE*Y5?%=&zq!lr2%1Og;j5oeQ0ONk`Hi-l+um*<|M1BOSI-5`&r*aJ`4w5bECQP6 zZ*MR%Wo@-1ApqmRCCom8KDoJcl@zOG<)b%>m2S>I)+HRWnF^%?ye!gwcCI%<6bEL8I;4yF$ ztc(HONWop!^l1c#jk+&7syd?PLd)K-kF71%O@1D0?>F7}=;`a}t#s?S7v=rp-6n8P z2~ResN7E=|CwhvWEGEv)%bnzM)z_g|$0FcRI#v=W6&;uXsfP!v z+BKwfM7tY{bi9ar=1<_s7-#vWvF_=1TZJial#Oe@VOhOsR0=iAg}4dOM|6E_UAnPW z!)w|#^u;DtVVMwaBi*eqg_VP&pA1A9_Ri>Pb6#U-U%8XEQz{`ob{kNUX62y`wkAGs z?lRnU0|N$1CZwKB?jXMZwEQYv-`ze=uPdgS2jfxdE9M5o`zt9PK219B2^3@}cw5o* zy0ET^I53Io;;#p#q=`HHd|gj~J4R%tl{5WvHXr^?Ic@@!jz^gf9-coT_tNtQdGdGG zqNfY|&CJ6$hgFq;Ns)cWvd*mxxunkQqZx@w*DhhyY&zduT_(K*;|2hBLK+-{;aDcsYgPv3} z?%*+66LX`YANM;e9@3h{7vqjjs2q^|MRxG(oT_p#L_6zYB3g9TV(!+-2{_R#!6 z<2J7AZh4$fQhP2rwZ@G7uBLBZIjvSqIj~;(Uwv5VK(JvV{qIQG#OUWK5Jjy{q?{(5 zxl7JeP>71ZS#xe$t(Jkg{|EPsf9ZipHkkO1v+FE8vM^a3A>$zVL#=evhT z7w-)&E26V`rg;{m2OhzqSZ00oM2%j8$&Z4h;x3$xm#K549{4@Vo9^x=jdU-+h~Mq0 zT)bLZ*C=fV(ZffYb@dA6DczU9BK$hx-00aBeb?Nmnun?M0)-l;Qyyw^PBMy&Lp)Oj z#o9w0l*{zu%KNMxnMS}$d+w&mryZ?3DqE(7sg%%7E$0W{OO1Wb1X&yuZMM7z>(7P2 z2QVAMVtEPi`U$1>wI<=fCxy8dePKf#pEnHkK^GLNio(QqZRzMcV2ttpQw< z>sD)x@;@S#%d3YgBAogSV;{u31*tp@@qA;(@Ri4H%+D#k{G?kvc^Rpuoa*8>FBT?) z!gb&xuU;qfCvs~WZfrlE+j;z?-l$$w!Q+n2*Tv)x?=08*XqSkdj%yKppHleJ7yhZVHRmlARSQ=kM^6`ZL-nrmyV^_MzgV+w+8=T3t<1NM0MtO z!LNdn+Hm@cq8pUi5d=I+`SYcJ5VKL$pXR*#{u!n*{7?3Y5H{A=BNzV@_Zj2rk?lS@ z;<#wOuO>8qjcZ?S5>!7^Fs~Uo{41F^i*GDp+jfPS^tu(-I>0qMYjay%^vaW`Ffsk} zX>o=@$8%rK+);l6^O^~`5w#)v?3dQ^-N)D>)T>Vpa;NXR)~_vFSRMy?vKSu5O?MtO zy??65z6F$!d%0{|>g^^OZXvtHsNc_G^6HZ%haI}}OdR-<&ZWqe)$e&8&4Ioevdf`L zbL88JvhjGltJLD$i&81|If_c!Mk_S<iI}77vuu`crR3Kd}?Yo&=|LP z*7F3OKdYw;uHI;lJMaJSZtxRG7qd}o1Hx*rQQiGkx(0>GTUj6mFhhRTy$N1lk*(fL z3o>_T8d$+^dpmN{$$s5KV6TJ}h44KEfnr2CYQk!9u)G>OGd175UqN%z^Xk^L8urbp zJ*X{VkCQz<`$$2T4D6#8q&q(Q)2fvJr~nqC71f$sW7Ln={uLv_-Z2+Cl4hGbbLwrE z#zzAEWmnYgV(P$<924O1v58oTK$kRZ%lcmQWqWX?pS;e3sd{?MbAsalGfs1ynyA>W`a_SWp#X&=jZ|h zT5=D>z~S~+oKFdZGfxnl6Yat6nYT6sfK$$Zy->Z{H=oxb=loJB0%51TmR{V;{SobG zvg6vXsh0CK>G_9$J}?y$oW-jj8@hF@8e-Q5^Mv7^+W#AVQQC8@viddUj4QR{mHc9|?VH0NafBO@5|1;Y9*)v={8wiX%oH6&|PnEx?Tx}d(6SH>W}N`-}iYxJPO4p+GR@C!`f z^QAk>wqo~xZuVb<|z&;{_3d8BdS}gH~Vnd zNU$6bO31B1Etq`yN0rk8mR?VavgW?dbS)@eG#&CUc_*`${_?6EISAN$-R2lDSs?A5 zYuWPQ*5ThZlP(~KT;0mvoNK#p7uVhFmtC^z`x-xeHNIbU-`fq>TCi+=GbJ6j@qVFG zllbH0gVg&>SBU@#E9U{#Z=p5-n*ebUuQRF|1TX1RVVvqoLcqJ$>JLn3wl<yUITaT=Kz7CdWzKQxP@Hp)LAD@NN za63 zt`PcoQGdge8q!MIz;ipF$jo+^9YG@u2RV*#m1u4z#jXFNy#Bur4Lp}flE{Rb^UL6UlpZ8v)rWc zS4idntau_oN(^0Ye{Jk5)d|b(t2}ZWkr5MLCU5=Tv-;Rdasllxpbzqv^W?lHT9%Z+Vkjrry#VxhhMu z%vrb)D?erCz_Oc~1Gl9h?g^Tinme-`p^{l{McflyI72HJxWzqCQ82*u9tQOE!#IF7oIi3!8p0XKKYnXnUa)|Rxl9bqaAh|YH>ocKUIr@D~ zpC|`jBM8<@50I|(j6fk^Sq3eFmaJr*;%SE2aWmt&H z_?b(8{qtc$iTC=z%Vz$P#H~x*8{ouw6%M0j?&sJr25?t=vDM$f5uyVJ%F#&?0WVW! zV2|V-{Fw1NhFxI`vGKi+UVT`{X zYJP3-u(T|ys|awhR2GHT|G-(Y;*Mc@nE$s_KN8Q;vbNLT*xq~}hEF1id997fKy_rniaNuU3BldeKqk$z8IBTgu3(u0}B4xj~9A%IF~Rr z0+xS)k*Y2B1GTm=9n>Qmkl%IzB2`h9JWg^VW;lpy?N=pP-XWqwY_xq!;kR@#XK0){q^4`z?Nr)iI?_g1FuDNQUvetUMG()ez*@Md=eT1 z3LBp}5&{HlU+#xJvkm`YwHMW&!dClKNlBNp+bmGZcLF49d%svab*VgzQjSv(Gndi2 zgW;s$wt2#qMl{#j27P|;oB{5fc*Z3wwuBrl zCSrvh`v7D~-}1av9Epb=joGi3zoX%3Kcw}=IN#A>M*DE(Wio!8kl-LSVP7%&b5P4n zZfIQ2`zfO%Y{IGzVvFfLvBLpK<5mmi!TsI<#f_Dl0kcn9-OBGWbCYM_YF+w-y&h3k z`2$pMCF^%|CYx2bwK9}%&x5=U=N4RfNUfgtP)UT!qu0Wc_7$_2HOgegB?^2#{G$TM z%pM3qtvg0`bao)tjQ^Sc32;tXjW3f7S!(a)2iLwMihX>7xOjutPec;=?MpHwANj~hWd$PES_^p}*%i}LmmNE9B zicxvK_u?}cT3DNdy*p2K;WF^9`{-Gh&{1FT&!}Xq@I+r+_N!5Ym^-gYpv{_QoYAU* zC}yNedEQNOjj>wd9nf3C^I)2JcS7tJ=4}MhT-CFi-*~xX_to=_af8FC4?G(S!6%`a za?t(lVK}lQ=Z8ImuA5Kan-NQ}91tVLY#otsS&@ zS3o#olr>~OQrR_kmwR8o(qB#2zUPsEhkLz?6zdTW={!j^g=W1NASw$4xMzal%+?NN z`A?}9NSqv7F=uD3B!++20spD@_WH86reiO5g4`PJ*d`J%duKK7av5&6Lsm)UOLg0A z12g(={X5G4h!JtA@H?x+pxu8?6>JW|oixA)1I*On@6Ud?tDEuC?fk>dZuv8y506g7M7>P}tyY$bRgwSKeWF7E*ctsB z@=F=c{Jzi;MG@8CCz~1QwY^bR3ig()#0>9q3U!%n0g_BznY+E*8-nt$h4^?<3GijA z?-_5ikBGcG9Oi*u((r! zKsMOTi``V4t#{py{Ou|M-mw7>x&^~`$RmROHJ|($4SVW!y*C4-ME%qrrjh)+gr*d+ z5G&7d?b_^Avt5Uy9-)ld{Z8@%Pe|u1y^Qn++)zmWmHXPzE|#YlyO$>qIeS>h-ZN4M z&)@Yv{5|#&1GC5i7AuAwbmph)i2oaTHM4pZK)%GaByJ%EkpQXp-(OXq=&9t4h+=sD zshnLjjL9D7Rb?dR_2M}TeQoCl@!BG+OpT%>WY=J-z|=;%f1y8(GO*`^ak?itUICR- znH{mLk%Y&Cf4eHF=C--P)RdSBdHjV;AX||~Dd0<2?)25q-s8@_ses4VX^InX9c;|z zHRSfy9@=WiEh}r=hA`q8{&;Zok&+W;uV2g|9gprkr z25a_W8t}EgVPOhrc~z9Kr%_jQ)57U@K8C898oJiyNPr`~Y(^06@XDg&*^+ok;LDOc zlH8qntI~NZ>ydtoz`>-Q$qf*h|{|o10R^lvnbr->IKtN}A+Lm#@BuSPbJbQK}9ouTMoxoJ*3VqDyYia)50&K($J5 z=e_8RpftHtq#-Xy^}XBI9*;_kU07b8Ai49Ql+Yn^?W>-QW#{X-l;Ba4!GMIf^Mp80 zFx|(t8F&L9-(zzbE4XGFiS{pa>ehluZdVPiJzBS1G#aVlj{<;$yYo@obV5>W*urey z^5he2>=Mt}kbx$-@L@z1+_ce;_77Rg8#koV_8AJ&uk zh{)sF4}izgRdUUr<-tgLZmI6|AnMYc;!<|0H~gl2SXy0q_QB=-8)WDDpRN zjOM!tWbamFx=ZVML9qWm=@YQ8WA(<*%xsk+CEk1a->G>q{PKUNU!HZSQiwHa2G`;u zB=4Q)>HV8eFX6#PR@OypadtJajh7|IbzS3<4DsgX&ey3EkO>}$?&WGXm>Huwrd%_# zmj0<1ES8s=gWvF|EjYS*BYOTWGAR|{%BjToPl+|ba#Q)(sxdoED3?St?P{hfIq%T+BGRx$SCNmIZ9xqRXQs(&HYlty3FdI}_S@57g6&=w|Y2}>sbAS`Ef*mHNd}Jr6*1p z^{C7HionUwj$J9ARn69RRUrF6)t52XYg41SyITNnxL~eMa6W!b4VBY4|`E z!F?EFBacjEs1kWkUzY^BW(%bU!8!BP~ zB3(ru1>jld(u5TD=&Hp-8#$h~`zd*tMxQlPqu6^ep9g2PAhSbhW1=#;DE+avlQN;z z>aJ;HyoX&s-n_;pk^A;?YXsn^wj{nQ6L;n6_Q^#qKf483WYvH}ZVoXzp9Z>25TUm@ zIFxq_aI|>WgjH}(^uK;CHGwmQx-SF=rA?OO-ib*&p zJ(2tZAX+N`W7z{hy40xNx}ZNJX}&~IZ9`X!j|3z>uyNYHJ4f|R%-zZuwe*)TMyiRL z9B%u-R(?JlY;X=QgVv?wX@(a{SlpTz1{MrJ8FQB>q9S!iN2;CRNi_u!3SxaJ3h3h> zHaj14=r|&bP5}5M-Gcl1mX1d*J)OT(^Qk*pix|z0NIr|IA*=!CT%~ zA%@xcT(6&800OU7%^N{)6*LcrF?^F&3K9v_`oHKCk*0elKjh-F9)K3rc<1Afe{Q5! zK0SC2u`^i@o0wfzEob^zXa6W!UsCC(>IC~JuJj+?i9WPnMel4YS_$UtN`_h`gI#=W z?efX@(!Y`>XPyCuaE^BNGSDpLHD}P_d%%Bno924v&OaThuGUen%ktuT%pclvwsrO& zV;a|7icRMIjfv+ZjA^+L-8ywwTTyNik=K^9+WX;*mw{{y{G6UvH*at?|isMwgNLm$8dMPP4#N4 zL2{7g?Qs<_hp0c$I~FxI4B*Y+9?o;g8GSFYrwif%c)l*pAE!e`xoe~&!!h7f5({T; zxTb=do6~$uCl=IYV7pP}K??;WB_xN$qm9~8kPZOdb%TztIp!^c;He}evm!nRxadZ) zDVPysezL4Gwly%YDRO!g*4C?56Naf}>!*bb7|b;M?oLu0_X^XTNrW`KdQ~<^UH}aZ z;A-cVkyoJeZ;F)s4>Zyy3yg)hrVwLS&2}q=C<5&o!9r2jwb$lk$vfX*`AcVW_O!@M+%JQN#vA`81DX7153Q4Jw`&}XIc^(V zZlBXtzwZ#&cqE~pRDzW{P=~Cj$KXzUe>Wr?6Vm7Rgh~1@9oyq*Z8g8%UI39;h^D8d zGe4#j$ZX^CZ1JU0&_+dps!8ESzNKWo9U4Xaus5%mzXw1%eHGN{x(V+nV^jMJ;4QJ*qN@{x@Njyb zp{exI3IPo~8V&HVmI_{JI1xMXV5Gx>xo~GSvuY!K{Y0>TipTH4!<8rReGh1e-=~JK zpe(($JH3%EVeg&n{&iZ)1rQ7gi80`)u)|XwK^X{ty~>?&FEnd*UZ+tULw{3%@@w+> z^)@?r>C8-Tif=@1eH90z+LH==7o*8=x_D3{lkz}I{$2$z?%bIZu7KM)xP=;rUc?94 zNA%Ob4b$i&Tl%=%^1X_-h|k1Jcoa(I(>ZG->#R1*6z2G)thDi`70mUpF-gYWoex^E zb@Gd;4E|pBmpi5yAV8S*+Q`B4-;w~%EF+~&;1seV*1%5Y@CEPG4_U;=1VmD$O

    zs5v0LSqqYn8c^~TQmLIGRXK_Ek(sXBlojo{ zFJU`*P#sQc@KEQQ9G;W-NV!eLqdzs+EL?piC4Xj8E#f+-*c19#a_Jv; z-H$k5Nk!Meo{Et%#9}4kj$k5LClqKQX@=T?F;t0wQW;EBtI{&S^ zIo9_$(KhbbB>29xOm*(j)y6$9&eeM#^k0kpxs-G-GI#Uj1-@*X1&t>Qvyu8Iacymi z5MZj=`XBy_S~Po}gRI-A5y6*BBLPk0ro7h!K3;>8t8ItyxZ#l0ajhg+B*@I>QmWTl zm>03%f8nK04te&j-8#fw2W+oUk_}4_zJKo_ekb*MP=oVX+M8ZY?PGC^1)p%VlpnLG z)_na^3_sh}_kp--uj)E49(34WDLxb&r&ODXS#b^@DO2!S(%0d(9@Qx)X703c5y!?_ zk1WMV>3|7mG^|5bL%8Bs8T|HYFj7`e3(@x`FQM6(c}|+sxoPuVNzSKdMW|Xye5{eR z7HQBH-L1iyjVQqW9>>?CuCHqiN~q!tU_Z5U!1XJ$qU2eXQ8T|)p|K#?pSFjtv>n&y zonPQ5y<0O?Mn7db_k8)3N2~F#pv9aQWAT;@R14c2$_g-YmDD~w((`)(qYrl=oL&RU zRqx`8V9*!)Nzy<`q5VaTxzVtIUS|v`R`t%@ZMr+srIj0>==st^-`44WV~r@30(-A@ z5b1My)R!MbyY1k1{3(j6q17&cYgHHUTd^23!ke%hi#>D(#l45IzK(j&!aJ)VQ=dPF z&tI1F_poByzcA>+eFOJOABw=$z^RPt<#M#OHnGXd`eCCoVDGK=G0s{r#j zn=;vQ@0TTpwY^C}{`lbn0xaar!lkKD?+XM`@aqNPUGw%4CT%%tYuvXHeywQ+VOc?(a=|WG6IOSzqC@j_ zveb5US;9xW6;)j$;S@J0YPD4LOANHrK8K;cKlxU0kci$dnn-(-c-)zLi&Jph1xYBU^NoR?uML!ZD)vf3~1o{E)}CliVH-m_jV~FoDj+7r{A&PQHUVx`j`|RAVyIVGyM6i+2y6SJmjU>R$wE_jKeXVL0w~^6W%O z{MUlyRKJxmsGq`8k@CZ&yz)qh!^VbF*t~221ETkF)o8>b2Y6}*H%~q%tM+tpB4|%` ztNuD4xPCyNsuHud8bee1jQTpD`Lxx3^LCO+T=@S zl3$F4J_d9SCAGE10KmlFS;r@WlK#XE{VMEIpXO(V8}5WaSR6z$0RX>#xcx4c^@Slm zp$Hr~p+B*ml`#HOqfmRe;1<~n*(2lqZ)Aq)@GI|62AD>zzh|->c=pZWL&ghaa)!eu zB!k|c5|Zfp>$^!WK%R-dp0T23FyXuq373-cqw`2xate)262)yFPw5pU-kQ(4>Op95 zl>B*TkfHOOyGfAg1XKLu7G^Gml==&8&vjNkvf1#+8y`ie8cVXsz25I;qA8t#v9I8d z3l1IkhA?soRzaO@mYS;xJoqCOh3pK9;QqwMXLZh}PrsMH<;|%2+Wm}1D2>Ca>A(8X zCjzoRcHXy@;4%)3MQA9khW=Au@Pe_Avm{py_Y(+cP~PVz2cPRmg@DEX%y7Gy6mZu& z?8!nQzUta1`zC~)8f`7%|E~pD$Yxa?Dke)V=A%91ZkE?y3D}&p0)MnOl3Z-saEuY# z9)IKN)U{*n$;TQ#=_Ml3OL0OcI2MGmc`Ii{d|4^dceRB&8R9r zWIbwwGOP7jKi7~}Gr$*6UcfX;^xC4-juLLKuUQ%7>mc#w+N^_^?wVQU8YtVl&CgAIm)Ua#w( zj8yl7mV`+Dof7B*qyhg-qR$B;5uEEFyPtn>^@fPg3I@5;>%Cr9C!&Wtg#kTTsoR)p z(vU`Ox79DES@-4p95TncM=YRH>9zq@HePL~y!R+>-T!Am&g#;@pM$ddET~3M&eJTv z--h1fuL_7m5ItM33ew_3zw7CCA+K_mG2vl;7o4%pJAL&BJN-^Gc+_C;tE3q1uW4OeK3>O4itJ!>_ z{cD)QI~{|lYz64ZS0;z0T~?6OHD^A5bgMr?^!bbaT|FFVn}TmRFiD zF>xWwcOcexP`7U7O@}LhS7L}?WAb0?T3D>kX1#1Jd_qL;h@L!;>z2Mrzo@S188jQ& zyVM)ayQxr+^|XTW@7%8#Jy?j@t|QW{LI%b7b$%$FaImO3pP)|lfbPFQ9`Da2|6lfj z_fn=?+Wnc;0*oEdlgTua+@|<#Hf`b6JcCh%PGNAjHL~7zE00IRkedSVm&0Uh!9bAq zpO5{*nHwdjfmelLhUnuJ*>zs3fk$cxkcoSn&(wD+iL$$Fw@2z3{QrSU*b)MFvh@fmuqBnMpuW*chiBu z?HSxlw7ScXzSyO|ZjYt|ubr1RwYLFyJcP;>xV+x-1Bsk;*m)K0A|43D(KzbkE!@-TQM@;%`V+)FdgL zxLbO^KIjc>4{HE^oQB~jKGAG$zDE@ckJ{h!dEVF6K~azpleq2n8a56A(f=o&oHYXi z|C#iKAh|A@iD(2qm;{AWc`D1*RmA{ZJYcrd{I#t;w==v!NuqGSeQBPbr?8`3udffZ z5&s37x&hLQd`}OdU}V|82f9aPlX=1>>jl9xka$lu@ET7~57~aIJaSodr*k&;g8$;kV1|K9M95dSHbehb1+7@k2=Aa3 z4XvMmu}f`gW|7|@XsQwM;ow!SPOVH|FLJ^04us2~)zVizssv|xU*o|~x7tfkqB6zO zM{j5ki;ty0juhb<$E{+tgXQ&vw-r{LoW{k*7jO=e2{A`ph<-auw8!`Kds0-DHc%1B zH=Z?xYnYYiz_fcp4O6yyG_9$>uYGLKr2L<0ALCV|zC&a#a@~67hQw9yMV)#wwKV>X zU{u zmnjf>RLxsmhU`br4yw4PR3T5AKZ^kdvHX{_1G{47b1WGY*ecd2abEjmK^h6Z&y))N zaceiXlvV3dY?tbJ%R>S^tCqB4j-~yq6@+ycr>P6znhGoJS9t2T4=W5N@JgkP5JDw? zP<19>r+u@PsJOp60U-s&od8B@0hp{ywGA8bB{rjhrHQiLaUgi`8df*UF7W!#^smW0 zV)B{Qy7dg=%MY@5E56K1eB+5uGJIdl?eRw}M3Dyp6_SN7L@|nv!)hjQzv{L>XtKjo z*>&eO(ZgQg=k0~d2DY}$A40%FCp7*Qy+-x{G`x)mb6-k=lPkp>zwX01`@qz8JPDwx zBDX#4kh&OpXTV-l)=`$~D#+2g>-*4mpH`P{^cwaWCXj`j(+l7p7$@#Bv0I3Z>EFpF zaq71Qev=gy8NRP}=VD}(&>#sZOBPXF+Reto*8e}yPLJ#Z0o?&5ipnC+;c~yrK-GYD z3Cy1JR*&qq+bMulDyUpN$G7)OHb;h=XLd?RW;ig*S7|QAV8_6eJgMNB#z4pCANaa1 z$3#dVn!Ra?=O{K6MYh+03Okjh{@qV)7cwDcE?;^U18liS)gzF9xV41M!tTXaJL!`t zvd#)CtEu=pN=B!Fj4>AUua2*^&YByc8V=2;Xt1bgnQdLX|D5v=u)kMtUc+#7W7UGf zzCm`@%gCUL6MBPCr_pjh_)ug@#Dx`o@7BAjo0mv&>F|q}V!7Dyd5J!g$5+HsktcX& zOs>{eoRHCZx<)l=AJ$uJ?TBu;B0z5ywa`^SQSiuDWfuKT8WWuW|NY-e#~Cl}KkLam z&eym`t1JQm2FsAj)!wUR!n zI9GN0O&*G|d*W}5?#*ig4E3<`$O!O99!+2Do_xQ#fk?3=d|4P|lvbwtGH?E%U)!W| z``xdGD9p;b(P)I*FN5nKpLiG?d)mMl_tJc9Yl8>brQ2UT6Z5qotNSmX4p8CzkIFUU zuS+Mi7`S^5iHt$F<6av=M;Y3R)_NEb6xG~3CloNVy*T=@4p_u zr_N?2ov&vCvw+|X0byYzcO)0%;Q|CUOAZ~H@1klChh_`S%~h)Joh4tDh=l3oX1JaQWYwjjMCjyw7ETCy?J0cml&8Q>8V)ASVP3NAM?`eA?={ z4*Q(ta5+yA3A_W;-lb+rgJ=2NFw?O1KM7f}?N0NKvTfnW<+JKCS2cH?%@=q@54ysE zHlAPa<&emUl>y&Fl?8SIk!kk%i#tFNw(SW5`h3^o_pdTl; zNkX9IB5vlTdpD3FKi%Uf-#UD1NUJciGlE}UQpLX@SA6WRT(bNl`EUWh^WY5e^hR&z z$5IlktrKk-@{|ghv+*GKP=3b$1;()-5h6A&9SU zTVS;={CLkFy*1sO)tf2q_8xXWr@?!#OD-3TH*=Gvs$Jb{Rrln&S=#^~3xa)vCPTMc7DLs61_!gA5aeIzs{3B`>cY@^TvYp_*>wqZ+#FvJc~<`o;3`KPwB~(!j&n$Wq_vqw+VU9^Z@x*m*K$I~e%* znCnDX*PF?oB6Xx%wVpd8zfzTX;b-6|_OWG?gruR5ja6RYaT7`>NRuDQ)8rof)?h&D z?j@p(`iBoOZqENP$@8VtJAJ_)G$b?jC7(%H4>n}JSe)4|xfNUzn~c(${0=q(&xP-_ znJaIEoP*R&LeC2ZmmH(Z#$})(e}Poqm7Tx+^8L5}p3MBS8zbbor|H$cQQ@u@PKP{| zl*vhrv?XmQ{WWF89M$&+(?OK^K$BKX=7#=}&}b?`b(^)TOnA!py=yXn-9Ub^23Mer=)ZTD{lMGaf!*`lPj_iQ zVwx>8@UPfQ%a{v6zuwzb;MuI_mP(3MJB}-3U+n7ZZxKw1w2AMZhkK{7Ca9_sc}+X6 zK``z`OTyvf5iIl&ZlZjjnZntl4bD7U+@-1s1vwA8v)o)}BZ<2+i`s;2l5o8;OQ5 z3G3&JM)F`rGFzv~^`2^3>R}itm<8+iE@5_gkFQ;BLb;ut(RPZ{bzx#{mG&PWZQhsM z8|8PRdxmH&%o`zMR!&}a^~F6};1f`stqK24)F|~CrmYqb>NR|Pv*CgcqO67Dd=2tQ`rD#o*WZ(DlCwuJ zH}ycV5n*HZ)b5`a=Vq@1@f^g{Tj57b)=%9cnij``!Y-`2EPY=-wHyWLAQV*nq5XP8 zbD2ed5j}ghCL=XnKm64Le301D#sC&%s0;>zYuF=Sn{%3$P7Y~+!bexWFSx9amDrWq zJx>FLPcKJZ@6zbA`?&pMN<1T#V;>E9K|OpwJCSpd^h?8d*M2!2idme9naExR&w185 z=8QT%Td&(s(<>_2-0U?s4hZGLUToS|i3`5jQ68hNtOv7kuU^U4uj#pU)cI-QJ0)8W8^IaCTN5>$(@aykxz}?b|f3oq$}l zfp*-He2Jrlr+lu`7UQRu_6n?v8sps0q)Hpa%zIQydoeHd3mNnseyR#;2-2>0wKPF2 z`*+oFs{`8NrxxyyOeGc6yZ$|PfEGN)k{vz-+1Jh1{>Ud1f)R`XLzEYCd;ind^i-ts zsrV_(Cw9#j(LBU!FquM}OWTT^>KBMcJhKY{vs#>yzB?v;(;6jsm*C4mlvYamSrsH5T5G&&KE(fpgCIGg@k&u z!Wy>LZX9=pP~DY+_I7Crb;q^C&A~KM>&D!CRk5#XJaj_BR{9_Z>VsQp3Xh~5^lW}@ zWZKX1nHx(|roG-NC?{~A>EDaOHhJIPT$#*(5ri*8K{kM;?=Ql5u5-C9Qqe=n=#?)k z+c`=P?ldn7kG*mA~yAM#KU6FUV{xT4_-i- zGfJM$$hEvZeEhp#+S8J_mAyO>RltVlNVgo2@({SW3(A4G-<189}{6sEv|GAY8Ex#}`Y7w@p8V?pCFI<4aYWLWPN=tA^%b)LW%c^b= zvNTwWZ?UfZNT#FRo`wJjqgl)o;0>cRm3+$xDpok4RuMjJ+aIrgFAy70+O+#;_H$WA zT#(TX0X#^IceTQOGzLO;^e8`Z*e+WOX51eXv8#D&t+yPpr00Ta1r`Lg^JAO2k)o+8 z?VAY2adakSuDp&ETB0{{(Li(xANF}hKFM)->A@ACweM?+6zi@3?tgr}$$12a)$fbw z_t4#71>D4b%_X#`0jfVLH{XwKch%19P(u|pUs>1eccAqdVehr5BUtrYC@X~dd%Jy? z_It+-wMJGi0aSv1@6JvrY)}uyF^JDcOGOt~-T%EgBiX*|Fp*uVSMzI*Skt^iK}G(+ zz`zSi?6j)RBD*6}Xdl0UE;DH9g70H*R;fEV!;3X)$_+ThLXHbsz>96kPV@B4hzybA zt~dn(XOs}MDuLyd9L=HUlr-xG?$@`2t_f&;vt<4ezg2s&!_X5hztjLt;I!(C@>OMQ z*0hMJ4G8^tr7T?w{;{Ta?0oM{#Nx`&u*+s*|>&zr8no93nS$ghwP;fkCXR3d7 zE{EPvOh1m@N{F!*e%ZHL0(YoR0vD1C1lJjH~)TP|RA7 zL6=}&P&09|0t53I-rDpR36=JCiA+tZ5`Ce3Cp?sH6V|e75pMT7Egd5!v+3%x=QYQc zNC~T1UhLUI{MW}ciL3sj#w_~{MLr>@n-S6_ZF7(_YAuqen~ZfsE&Qtwb~bh|j!J*l zY0-Dk=F9IOp2x7ec*Oe_FLbb*Cvb@p<4|=zUD`km<2xE7-F|cFV|Jjo%EFc{$hY`Y zwrRj#d@2^{kD##^f3y3P-M+t|5#NnrWUgqq`m3T-5zCc#V$1#<<>#`~1N+wWXteeJ zvRoh`rx`!y+0jDN8dl2NpB1DzWy^KVQz?ssqsws(Rx0c@ly8ooR+-~~9pfB6Bm4*( zb@kN`mq3L^F}@FBeYds^vFCXH7bZaOJgBy~$+a`XHac`iY;7z?OD&Po%fwn*p-D(0 z{*x4*rNa2?S<-JJXrA@oAn|$fQTzpSkhK;YvoLxkzk%BBgt+CpUq(B9?3xakiTtwV zIBYYu6x9s|&-5LLr$Y@w6oOJF)AV+CZkmQuI_hry#_AkaMH2txL5uPcpeAwGT3X4E zLRB3{hO9zzIU?5uFzKHOr&ho7O~jigK`(PeRtHZLiy?;_u9v&8N_3VRpL@k0$Qdsf ziIJVE^K)udk+eHOX*J6`*!hs%-M76!q%^=L*G9yZ8e|?HPt5exf7Wo7i5RsWaRcB1)u77Sk+_`YING zrF!3%-HppTAdvzd2i1KBj!nIsi#Pb8cii@>!vl3i6SZel9k%zGzv-TJpkeJaI9nJ}hpgfo()bS;R>OAt8-Jqx zX(VQ6u|!oNZF-W1cBq=4Vfj?1E(V7c{}HLvTAW**M)ehW2K(XMHVY0G!MnvSPS0aJ zGO<-pw>X5=wJD09sV<)@uX)xut8NCtT35zey`4&+vA1EnzMitBGSmxnt%fex584@vVVrSj zw28h>Pjo}j2=vx^9)?*hFOgwG2EQv4x|t-@bhw(#gXeSE^Q+u_7b%m}(yU@pxh&}6 zHvOG{_q3bp{70c$5NmH6&9xkZA?W?q3KlJgab?iC&IwSKPPw~vf_%$(^Y8-2nrfJF zXqARi7I#asNYV}vfb9@n>)g_1r`Ig(sMONvwbSxC&2~rJ$mMaZ8*KJpti&;pU`=A-)4wp-9gB(e2aF;;SZd$>5m~85UZ8Kyo#l?uc}|R zuJ>9%6}vT<>JF#`Jmiq=R@{!zC{6dbTRADC(*|Mw&25unTF*gVq#~=unJfkb@Ay0} z@L~4p@)q+0iDSK!x4HxZdBR5S#8#XPIrrd)QhryZ9(`d(QcUxrvt<0Qim^RI(Lt!K zUu|lhcKZ$NA@(Uge)ji>#holN1>NftJGE=B@xzN4r==?D#7uRfvxnV_T8u=xGn?um z+NEpQhn1XcZ&58h>5@aCfB(JOk#g*xR-O~c?dxrz9)bmDph;`!V&>z4kS z&XQiE$`|wV$;ktDXOUHv%5q8ar}fJ;OV|nlwC%+JV9RT7giQ$Z*~I9JLn64B`q|0S zL2nTkPs2aoH%D^q-+bZ`cBIBeR=>l|BT)rGuxW|<(W!ZBm|K#8V2--~{4{514xWtJ zUi@ewsMDn3%N8-e#aV$d9F9L)59o!5R(&~hIQ&yyCQC^_9Ne?y@bV?WM;My;ZK<)D zMee*1zdjjWtOM2J1rQ>r|5R!B1A3wu1^o*QBChx@`*mQ`(aHRH@WJ5GhCW!p#@&W+ zaq*p@{JH`tbTCR+QuTQ-B_wEKIeqL#oo-S7z_^{A$2>V88BjnJ2t9-}*87w&71B__ zBXL-*X-y5VO|52C$_|1qF%&b8ezDlbXHh;P{Sevf^XO4SrO2aZ5eJeGg8 zwBK+Es2KQ>fZFNQS+^og-(of;)8>QQZ4wZwthx0(u4c0ctSLWAIO@IMS!ds|a!+8` zE~)GN&HJiz&7XD#F~T>~Cgr@}g~y}1;DRGFt-}IMP^=3=dc@Ch9HBUwNOFtToE=)1 zJ&^FM)lenoFf}EPW#gZi`)8BcafesYZlY$8xlLrrYUlaT@o{W2K5!#TDjZpN0K2J^ z7i7QI;RD_v<&*c2)*V#*FZ6^@&+felbW;4x8TF&R9Eq?yP1fAW=PGQH^w?9zlnCl| zzwE6gsQxY$*+)`($j`KrVnZ5y+gByF#fQS!C9%o_?p#hFxL{#@x2MYe)}HurH8iQr zjpn!e(|XX%2C+Hj2$!OCP}OzZqLuab*W&4h$_9zq4ycu=mW;BwXoYh2H_^bQadfKP z9w`3!s)HV$;ThX=b>wPG{EWjZj^a+V|G2$N>P(z+PPEmAvYN5hh!}#URCm;QHU2Ql zND*cPrbKzIaw^^(VY`l9Rc)jEj(o&(hMXzyl8?1mMo)*HcqfTn5&2JsEZKAqtBPobO* z(vLTYRTn1obO&@1g_evSFF8YMV%-k_0hCTJ8P;G;dkL=|)U3b57I%nl>c z9D{Kjvj`6=t@Cd$RMMq>M8mbFSC}ohwN=l#FWnJtV@tZLZt%VB*%x#dJ@3w(T104u z07?y+5*@vlM^xfL8%~0?4W$uM+m;u!2`XI~3D{)Ph5WMa+7F)*p#MH+-6QR$l+` z#-NSr=&Ko&YS5^_P(o-St;A&>yejXCBMnZymN7Uwe(ssQ77);XF1#wZc-LBr^bI^q zl#&yli4`S`+sF0?bk&MF&24ys=lUZ6P2=PR?THPC@DH4Kz8>Gh`#YxG?)$RSIs}`l z;tSZw_2B(f>uLGvp@LE0*a%y_5uzQ!`%@@2XFoC0Z6L>^UwpS?;bt1hdwQcEdz2GT zo97?sg54?^11PaV$Thh5z%{flYIWq9&xx}*K&c$U8@>BH@LXs6R&GciY68X{vE1Fi z<9Z=o%;#xBNua}y zt;H8o4mtZ9&OshctE8qT^UVUmT8X3=#cs>3qos^{%C#(sX$`au$aTR~BzzCGNhD%( zd}bID&zH|H%PVxZTjhwuOqr!{|1kePY_yQm{17oMot8TJVlHrt`mDPE3HIH{WL?|p zoSNMA&DE(^9Z3VxJww@PS(_>2x9IzUA%g#33(%t2mxw)7J`Vtu$YiXH{AFakF1q1} zj#u9b7Dz5Vg3U-`UU`j2Zg!R7EamM|YwIpj4q zCUJS4ho=tAuB%HVtUA*D=-MFM#&++Xe3wKy#|&X9Kd?EN;S0T$jc`N7TThO}{}&!q zARL(|_>vj(By3-vf_$EXLutxEjvJD7jE^{EGK|`!@67HcvGcnrfZ>6KABo{K&5{`5 z-F$&RX0)Jw>q)d-*?`wpj|6^uLF+hmchp+zs%g#VL9}$q1wm7p0WT^yl8c5Cfg7`} zC#+i*Z zZBMl%B45=D_KHA%)Jpr*wr8#8PQy2cZsI85p^P+j7tu@>Qisu3HBL{g6==3}o|7rp z^b{klEk$;hi&mXMznu`&QQ1MY>u9yF>X#78MC|DGzZbu8XJ^h|mr7Jm`+5)R=D6R0 zZds368IdWAtH~cl4Vn#u7xNLOHE%;x9eRBOX4Vn}pZ}rk*6m3^YN?O17K>$}ILOnS z(Cu6J>DiymXsk3PF5?XqWA;1GLj16V#l;)M*lTwzyVkmcr@G(S;7MM7|85(0)F-M(nkC3pXb9GkZ5t*P`f}yUzoJM$URbXh=a`teHWk1>~u&&+{HOXYtTjV~h$?GNFzHcL>b&fH`!Zgkbp%=s@& z&ooQ;i}+0eRvgYPJhDplP9_N~UB8{KZv%4k6eB#c^nOoR2#fc(BozT3nO3z=MIoXO zm?MgK`s4xWUjyH(XxlrC?QF3TuW?$3+}yDKj5MQ9^x;l4)7jiDJsS@iC<5CT=s8Sn zxCtQrHEuRGSM6Engv1fN%S`YiQz|->^2u4LC1Ug`QQ&%l?ZC+5ob!H~XujqlZBkU- z)+Xd>*-q&J4DzQOH0fTmGVIOry}py{GwHn|lXDlkGNkuR%)p4!o>47zfU(Q@KG$!K7MqYqCj+qHY*kG{)qpYp5(WFJmVxWu%hn zmz#a6ob%cmgkE&q1nnL_?GO(wA!?W~-@ye&e8)|j_jdLyGW=Qs?7op{b(3|KRh9{x zIaa^eB3tR1sI?Y5PQ?n(eF6O9Icr^Z{LJ|C^qHw4eL~oHhToCv2@56bEMf|>NsqaB zAOcNx&^9lThHOaWa95Iv>6jm3j~h0N*rU7RL->odxly;HtC$*k$*zBn%J8Lh#mygr z`-XiJHf)YN#Tvp!(CBYRq`EprrGzY?GZh_*p8KyIXr=RA{|#WzKh&JlxVeu!J~&=| z^mjt#l@&6F%3Lm*tTqw#GZ#ZieZ-MOhZ}8IZq`se>0q(Msi$Lj`~m-)G(C z8<`VeVbctX&~r*IVId0b3vN7Ty}3uvvqU*b7pLO>J|tqVcM|y9ZdakWEg-5aRtxCn4gUuWG@>P z>mJIX2Pbx6rry++xg21yW~av3+MsCdB+{7^8@x$u+mz1yjtU~Ne(cvmk2JLlCaNmv z-sQA~p};#po_cqLKRCXM`^gEeSyj$=LBfmtDr;-OtYhYJRv3?+brkRU)h=gW2itd_ z{~t}?;+ORO{lCpmxn}B?rIn^@U0Cx%%^6;Ct*y%}*|NN$l2*FB;U(`}YL=v=R+d^I zY@aTcsHjZw2Be6l2&@bhMG+KDK?M~Qx&8QjACKRk@Ots)b8JZC}&|$fNk{LGb{6~$zM`JRjI=%!>z4rDz+sV+lj|HFAqv# z23^84=8fLjEB!;f!ZrkCGY05yHJaVC)9!S05;v{Z-{+qEhAH?KHb`7F$L8)JSKrvEvq@;v44Ms(g#d|l;b*hh1Hr;0s~CZX&|DtU=|{W9h#N_VPW~DZ zN6U?n7sDb4XG7p^sz$GQ{&!o6t3YyPP>~0AR@1_@sYa?U1!T6eZ>>U;r1iH&F|h5G zs=9S<_A2`|J&1tPZuE3#9To%8z948T_Hh)!4;gny_PTV%pmC?Y`K-U~AzAW1%W3OR zJy!QF{@d$1y8scUMd$v}UC8`eJYE4CjPaj`y3@>U933`>t-dD!28SHY^ES>lV_;5k z2C{Y`zj`S*R2O3?iqy|u^-A#d94t0XD{hAbwn+nfW|3y1!M4rbxWW)7=vBRL`RdA}51lvto?|QhCC;HB4C%}GI;OKBc^k^_S zVPgw*bhaU{WtKmfvWv1(F&5NxI0J}Wx%N2P1T*-;2BpS=mwIY@(A76tnb{;pJ1(Lmzix;xg zw)=WFiAN!MUe7lr@~B}mEBXox%8G*+R!fJ*J0I^dTMK>@rHElf!*A_6A8$)wU%vZ1 zR=n%9=q0hWeEOa^--2O%ck|8ak@X($b^bQ{z>0Q@uETR9*sK+NUT2~rb(+-YNm?A# z|5MSSNv*WgIo53IEl%r>N~hhODuW#)ExeT`^mIXo!&)pKNg83%=TobiLNh~c{j>wP z$n)G}nWn&ulG9(jTENiFOK=|J)xM4P2gu>37g6_EmX5B;x&oeGkuDOYh@!cmifb+W z0eZ9W=*mb)D0NgZ^C+vgaal90?IojT(PJaeDmUeAjTop?zdfO~dhbB~NP7M=aB?<0 zse#nE{v##4qz)43A@*8N^rx-aZhz1lvD>bG|M0&<_g9E%SgiTWJ15Jof;A>P_bfyQ z(fZY{pM zOZodi{Vkd8PE%_?E-xiIGfkK-DPK+l%%+V-ReDmvFaYSoR zk)k^^aNPpfwoy&rP~wkKk?!%fP>_B;P}ndz`XQDuA?E&48r)n4pQWir^1YvmH7>Sh z{`&J1tVai&`XnGy%s^QGNVry3;kaX_uIOV!eC;>#ijO!qNFe8K)@8-nOcL`5coM#$ zi-C$CD5gX4xzPa?jAJBB)jhKoGpwv2#2>pJjOoaD0U%ZVQ!_2^XtiICc^ADC07TC* zMS_geMMiATr>EWg0{yZpamz6#*F%OLU^}Q{*I|}UBa?*-N)HqEaJU5S$qG5?^l{d{ zV7EcNW(#eD2F%$QjxgU-pAa@0B;RITd1?n$y|6=}10vt{S4RlhGS zNqfZ@KpX2C9Q~_jToRPMhoNm?!+VwRV%+*wQDsmce|6CzwV^BCLnH^B(r&QA_(ZD? z_sh93iR%GPUra+_LU}{NuUC+*cWFwO zQ>{=FEVR=i4-*pQyGTlEYjOoJ#<19DmyDaaFF{Q}AbN>4yM48g@4gKk_r?}p$y!9I8rJSn^u5nPW$OO;KOi;Fo|effhLBgu z6~$pRdOJf>7ZV(ZEu#qucR1VTf<##UK0D(LK+UyP$+;pgFIJYQJwN&}0CQe0A*Qm* z;#{mYY-#W)v0HhB76F)Cd5*m!L%8Nq0Bnc|kGN{MnlVGl%5$HOcnVF$@iOaKUv*^E zJA&)EKkDimrW1)hhelA^e%>7AB@f3k+zzvjc|ZNNK=soys__zgfxmK)6`oDV-Qa;} zHy?n`ZOIla{s{j?^u^7-CF`IYM~i1+mW!dpd&%Ix1HnT`7{0+;G!_EC)u;i{MB zs65IAe@Dc=QG1>HOUGfyKJcrB=sv87-u51ZR;9JSQS17P&-3i+4JqLW6^_vvRKxIL z*)8oEF&Om><2vMCXRfX%b#sb6VczW1yWRsYk<26`GW^c!j^Y-B@Vi?jvInSPn4!!M z{r+A`mYu+EJ%|@AoZ|$GSxwUBm8m1xK5j z(GRNt#z`VK-^kH{V)HJDmasD4LFW>x2a)!s&&+3gyQ4Zp8aFwPR571ZD@1djU1!88 zY+(-aG}9$@SFpL-{GHodJ>_L)=q+P-pWh>zcD?O%V+gz4#ypndJq@3LGcE^ zk1?YlYU>OD))upnB`bh?EK7=tr_b6_J^qEJaLTv))IyW#)C<6cWrw%%x19Q*ooOsM zjr)_6B6_9S)(0v)n-R|WjOz+ds&*W{PUVfbY>wA>f(%0Pa+wv8!CT5c@7>-g`qqg%e;j3`JQ~XX+k7;-*Cs>@a)>VDmsFeoajd8HCOb$J|FASKov`NC zgpeI6@dM}PL<)zDw}S}YKE$Oy*Xpp3eczX&zDcx_3gE>)W}cjvoyC?1+Cn{5+m?e$ zgt{1|9|xdYSg2jBTlhLU2`KaNTEwNMF1*4JirvZWY_DsE_ykx4@-}%gCIo1}2?_d5 zyK*U4j?q`QxtvxN;I3L9D2YPFmh;ZdV^6|?A;NqL8Ucib`)1FCenXHpglE-*@Uy##X`MSe{*`!}=crznubD{Q9Wd*s zyIYF=GEfe|&4gofbgeDfFc>T}wN;i97pFgFa?}7`8^&%f1_T0EPLz7qkh}whYV4Cb zAwpcHkU@nY9V=pA=7!h>Y?ZfRPu)#iOM83tjH<)=`K5?Zwe$w4<`+ME*s@>@lkuw| z=1g|*#)1IPs(YDezkYtiyd=B(bIQ{uG}A}V`M!jp1$XqUpEKS$iCj^BWYxru9<4L# z%&WK9eYwBCMZ343s+DvXMwG3srVZcNjed~A1jwF+bG@fu^{TJZ2y{20Ra0e}?c4|c zML*={i;e|j%Bin;g1d#3@bNP76U<{*ZP?HfOX9q~Hj&-bpU}@-FLq}TT(t|4ONzI; zn2ys4KC8)j%8kM7Mo`PxaBx)Ijah;h{}4BE=1EcfmQI&j_==r%rZ^g~H?t9)hp*IB4TuA!OY5du6+d4F1oh#4sKM`wNytF$+x zIDYg=$U(HKMkAPXeibn6Tyyt1yDK8E3D0h?Ykr4Tfhb`j=Ys!m@1@hbt8d!`H?jk$ zgXE|beB1|AI@8CCCC6_>OFp{&3#m;p#Nm8zeer8O!`!p*NAXwhoNw0OO)&tkBIaI< z?-eO7E~~p{$A8K2sdbA~!W($I+p<6WA?RylGiR%w^~&bRapm3Y$>CJZ%m`RuY>*0;W~07&bC&a z9c@?|ATIe zKYsIW{@_b<-`U$I19Ko5M0LZ!f$3NNNKYK?N=%@O)~I_z;8goV#jyKpUu^5#>H#f_ zOKxPml``L5D>WYuW83RkFQ^!6pB$@A%gkebKQ5+L7V|Nm6xMnl{O2AxwD;Z0w|0cJ(-9B-A5Z1`e&RC-Mfj_E#Ppo*Qhng^E z#MCR8)6r3QC@1;KOyx2si+OV~5%)ynr|c(lS>1r;+3{BX^bd^L77uu0E~-g8G+4Bs zQb-w_elYTcAD4D4*t+jtO@yG;Q;^vG z5GL;*kE+e--2*cOtxU%U>-?@P#by1|y1@{43o1FxkYautDyNPzna)ThG4mHo9&BEw z6k%6;eAgu(T;QuRvrHhveVweO^irD%2&g-3^_A1{W9oT8@3`N+rNlXB>ezY-jkPn2 z+nv**==s#&j|=iuumif6y+++jpWz`Jra|u$kH4&{$y(@}X>A(9Tmg;8ba9T zs|QBp&gau}%cxIL&0QBdnC~HW{|&3@$f0}vQ-;nf7@}K*0%h#s!GY`KK;K0OSIsBc zA=|7);6EgRH34qi*)I)c@`vm$0K<`xCYkOVqW#xjDwKOxNpazv>h#G@2>Q`q+$!zD z!aEu2OwF@NRyehtm?*7rua9SKVeHWtIUQeWh<<|fTf5bH43|af@U9_ct5e#8=F;t= zycR`oIj@PHq8U50YM=31rd3F-0X*?ok-WoEPVX9;z8SDQh?};Y>kqEtUO>(5Huu-U zW+`~Z;1>{wRQLou$1p;i|CD;XZR_U!Mo=gCXzsT~KGf;+PpRGrJR3*RME!JTlPZy{qrU&{5`SXs$*R(#zPL z*udkF76dxJ-E@DHpDCfWj=I@yrb?_&)I|3{yi3&pRAXGSL)G7iglX?N&*V|aajz;U z@S8lPr=&1F2~sIwdsGDTTIrd=V#x!@%Q>HfO&E}NXd;H<{MY{Ab98E&#e?)Ej}Ke; ze^_?17%W$FnxpPN|A7IO3enNz7FJS}r27K~wRWPQu~85ld~!qLdQ4-&S?sXm7KvBr z(TXgq8R|wI$0aYiH%#x7k2vd)rv3Wz^4~7AXM+>0t6J;k2T4wdv@^T;IlUq^e+<#x z$*Mn3Xl|iy3T%=?xvg!DT|p2fx{K_TUGBxAn0AO5Hj95os#3wustd5I&9ub;ytnFd zpbv?51>IG*wGE=7{qx~3o>UYT99IcH$YtGJ)+7)(b(Ph7{ZqTXW$azlx{Bt}-SMYH z@t^bXxnPyqx_rG**6(IC9sNh=d-Cp%`)gY@|IzhZ0TWZ_3qBX!+7qjWgfcd!K%Nd; z$4(GDk|H4v5U*IXJpZqshWLrkGsNUlH&nue-qjz6vCOjWlGswdFELDYI3AxZb40n{ ztlpYwu@nSG=WzS!xyfFfA05zH{~+5IS&4y}5y;PXF)NI{9CM56T_ZvAm_q(sHQt`f z*~+XjpOX)^&t-4EiPRUcY$rLqk$b8CvbtQUZHWv}?NG1|3{t3Wf&BG@$PVk1G!BXP zB!%T7g32W`eKxVHBRm4cmxWPcg%SQKAFC5Gchkdl?R z3UT`l4{~Yov%Ua=c4!3O#55JuSJkXAS|`rM>NKiF!HhzuI!o{VUS{z@kTkdensg(! z>ZJcbVgb@8S$I*r6cbdcmbxvSuK*02!L01>0isYAQE@G!n&HfaR`nATqXcou$#c}8 z=e-h}5Um_YWZW`w_N&P!HpkJXu*#Oy#{o@?hPtREcJwK1-(32<>um4*GnSP_W>&A< zzw7x%*u)_!Y1+F=B(&XJ)ho&`0@{iK`C%vHZ5aGNY?oJq4EMcYmU8 z3BD1>t(ygm$4qHP0?3jFyZ;;O{I#Sw=bPLnc>QPX+iyhZZfKN#(S8C*i6dci3R7H7 z>@oH5nQi>70TZZ!Z(Qk~GjN^d@;{HQnG%f5ce6oQ>CT|-_CCUEvZk~K6>v&IqCykr z#RmnePm-*2ysBjVBaS7N;Dg;9#>#BMsiP|-4Ba9yGdJruR1RD9eENDlJlDd!)KU7L zV*F0_`bh^nk#kEfAI)+D)hhy>d`hySodct1iW+b;Yq^Q&x$-{BJi(6kAj;c$Xpy{0L^7p}<22DK{|AeGG z?zn9vFAbbZtX#xJI(?zuY`hFzlMMJ=qg|5CS1^ui8#;{2M4`PO*R$ruCN9+%eiRg| zoc?Qmq*JALE2u;C7~fNJ`4`k&2N5zC?*yThQN z?25&+-CvbHb6;9guxw_>2uC3u5tU+qarM2;WlittK}}Gefye;d6S&g}OiDG8bZDN+# z?vTwnU|86O8yxX^dju454A-GqOXHkL&Z)j>LM2=b$Jq;|zW`Wl0E$xeV|nVAAl+Qe_Rj|j4?+fS>dWzqP}CG55=uO2UUY-2_+ z1CiPhXR+M73lL^Kv4 z*k0Juo(^zp?%LmD`l~*gOkznuUA$W#hO6mHUm*n`)(eGRm$EA33{>O>i#22&FA(>! zT5^v;($YDfU^E%L?(eb1FN_1%=(G7|A(ZZSHC&hy1WR`B-a;9ZnRx%rB>KYpWmoke zi7PjyX47fAk30C;sHM6~-N{{dpGCFlqfe2EPNgf#xQ?F9W)&OnENS>twW9<~}->3wWSy=uOTd8i;UR{MzyJR9oF z*z-f_!jYHy^WLO*sj-}i?tS%IsJd24CA2$DoTkig$LbF&->#ZjUvJFt{|IG+d{Iii z!%Kl2(QOSZS!p6ZL|-9=h&Tsuy!^UrtARpzURz4u){ki|j>p*RmO;t-a+0;fM3=5V z{>wOmdIH1hNbP&za>@~^e{-AjvK%o3Dmhw~HUI>H{nqf3oz-@R72`MB=^}+nlKf`V zS*@-gZb*5v6g4_GK4vr#`j2!Mf6gE439<`vaJZcp-SUY+`rWcg2oJ2@s=DmDv_NcF zxf6ywXfJfTjih|R=uDyaTh;h#XYXL6EU|~c+}OO~Z|K4pyL>CrpCOizM%=i=4BqLH zJ=HrRXCcxD=>?(Dd^O|R!u0VFXPDE^)YilemsQ=`<=_!layWKAv53~6&3+f>)RfyW zB}_v%y3&1HH!r4dOx#Ifa2#G%y1O|bLp_TuwIN3sj>kv*N=`bZVvnGba3%%{#hw5U zbn!K>y6Ag(-UDG_i7n7#1&1pl*a1#OLZKSQ+u8pvc`j@@-F$b54IGVO0z<6pz*$@a zT6%LL{X7+42A0&7*l7KYdzzANsFEb-T7a3zM8{V}-!8qr%RxS4f_^qjr1fiUgOG~p zR^-vdh)T&2{2_X^y>$TuXkvaBth1>Pbx(QAaxo02j7iHY;M4x|9DP!hT@WEGSe7PC z)Q}z{m`4KLatM)?&X8n>G+Fu;;*H%>&CQ2Uc_9%g-D6YkEwn`bi=C$0PM;OEt}Ps5 zE*tJ}LWH2iRMw*r{bZQ>*3M+rBkidI;PI;46LZB;8!{=`_b69u(a{m%52c1@8iUEf ztMOjz8-(0!6X<^gAY2spe5X#bwy!oHt+D`H#JcZ-|IhP9gJ$EkL#w$aHI(t1_{JXu z&ade2PJQa}?(1EDR~C%={|e6G>TOPEW*5Bba`S|F@}W9%lg@L~!v??kE+JLb$Ji{c zK+hd~$?OgZq}_#8`A^2+K(FcYv%8@od5y7ubZrOGS0MeR0korF7Uqbf)l%Bxs>n0Y z9^9rp#Pif{?t0c6Ph&NCm7#V4C%dJIZxs)rSs9AvmGL2Lj)Xj`z*>+U*M0}aC3=DO zpjCGTdlxmigtf$7AqGorzimiUTjtzaS6|ei%`nFeL(>sR3Ym0G)R27K4|gK{PqggT zc~q)W00qetb6;5>Z%1@4K!D(qmC2Mx_NX=m=LIR^rIe@b*vVhp5#PzwwtJRHKX~WKa}=xMX?Ikfg*ju z&V$gBR%wvPAa$Ux%<~^iOulFM+*!WYrd;am@nP%5(m_GnCGu`HLd~vn49UAtH5*R{ zj8JL1hRYy}jN9ARYb}?!DLLIYJK8IyQy2@z9BG5qF>hZH=nYcdh`^S{@qQ3)!il%P zQUk`*)*Rr=fK#E)thcXc)dvxcK0bM1XFSwN1}wRK-IjCv9*k?5u@@|3LW9~DN<3sqUEQETgH1$CN)jF;13 z9;NV%sYzc=8l4lL%Cr8a%@htx3c-OV8WH>$VpQU>gE()9mAcp`L%E?S02ZKnmmHVU zHd6*OdlwDGj&Ae$0fETZ*gzCXX=5jktut~rg19UFM%(d3W?u+5rj9_=^>&p$(=Ku! z&-r$TJ48SbEaNXV)4hcjjJ;LYh!zsG_|~VS&fLpn|McYH8Q_M!eN;;u;SPPbrJ1w;}|-U??|LkZkCc)`;CRw?KRgM z;W?bG)`9--cJh?)=3ri%SeRDi_kxn%*N+gbXk?9@ zt<3D9tVU;P*ZXH)m4)t?O9K$c*v_$y$+^cC$maUx!7RFhc_hngwa&#<$w#ai*{Dj9 z!dCl%eTVP$)JAAHKCe!hHNqBg#omfBpN`Ggkc#jk{T*oF9E1#N)$eg<=wS+~ttPm6 zf%!dbW4PBOqO`G3UVjs{2o}{UNYj?6V^W>$MaZXbzeo;E+*|v}rWG{V3-Y~W$hyPg zmbJMKIW;-OES`RZP;CiW+-K{DIA*D@UA+!V)^XyMs$E7KE zPW(!DFLk}9(imKG5>h^PCZqcj3~79P8nt_(j&M2x+p#*@S?r~15J;zQiZo5MC#u4{ z@sObPx(XsVMVMv)CT*lXs5IF1Q%h z4lb?X1|gYloNXbL0rQiIIiSJBI3Xh{cT4?;pNl;P-#(1_jNw7chP3PU#b!%9?E8WY zWsy-HuSK6|%VQeEw)r4^L0d+l^Kn6~_qV&#-WD^W(G=IL)}x#{i_m?LQ2qr|e-f$< zT8hD%=pvwRuz81vf1FS zB`u-tF(YA9i#R*lo?~XL0}N(>mt^=$@pG zU?(Y@j5T5nS*zAT7xL~#+m55 zFBsCX_9-^NryP17}jV9bE*o6D>LFD zv}@!NKo}luP`w|2?gqP~;Nw4Azu9v4bK3+}jG$Y+|J7fT_Z9ie_L&;Vhworc$X9ul z3n$L`CS38)Vb*OuR_?dm!PV|3L+@Sf?Y0e2q?@Bkc1V}PhnLTunLIii?5g_0XS^3V zq!J1|N@s$S=l;uGoVFEd-aH!Fo*O+NXrJ$xBRe93weHE9=>t{OjyP@ai$438zRgdq zxtm`?s7033#kZY-ZC-*8-@Wt!_R3e_+y&j@Jk>8k|B<~XlyhU68TN#+srhI-VeQGn z@g#Nu1wnHAHm{ArE5wjE;hw@elQo}Oxw$~dG*=Xro{Y#<+fQ;1hj1n!`W{nU?KqlF z-Lch*wzmCZI`80~5okne+L?_74E)Z!&M}}l4Pk)$d7F(IHGT6QpZ0vc>#r|wSvY7w zVV_v*;Qujh}Cm<;mw8&IbD&IULp*Hva-ub0ka%JA`-Z@ghlI z)yJ$Jn)Y9pW{7*P9T;N!zo4gP7D%)T&nx2?lee+P8P-_s((+^+%?`WgDHyOwPeNz} ztSQ~_c-rH+6X}`azP_y#{S&AGU~~o8N6oDiKihy^i@S+&gVk}8GU#%6&WsPaTtK05 z&^G3f#nd01BNmE*`t#Ol9GYfG{1#beya*CTeYU3HM^#2@bI&+F4b33ChMM2zU3u;aOPnkjiCDG*XJjP z#}PgzGlMmJt`RX`g>A3PlZ`C01UoMtKRx&$DHyk}t=Pt#x5zVL7EVu_PA!>`GZ z%Cr_hd$^W!ns>SR&f`u#wK6V(z90`{?dcm%XTqQx;ucJGrmronas@3G;5{#^eIKaD znIPRl8*9;eD<_^vMjNm$MUpj4t;cI+QQg04_>AMv%DpE`FevO1wVmLTsV?f2?3YD1 zg?iPtW3z`@*tb7SKanwY=R~pW5R^rOI@F#l$oBRWu zXKQKtVN!6XCb=p6p=82bi+q5XmM+&S-x_c9MpulGKOsE}UxW%Crg3^>@}DgC^bH2WuM!2M|{y?+HfaK&Bz>#5{%P9YJJBFj4(e`wOI9+wv{D>+; z@OPnFWzL89WNL#X$DYmdbv-7{M3AdEH~@KnVfjf-MXbvIbNlBO8J{&9Ns0FlBDTCc zTRDR}<*$TW@8w(L9Eu-W&f0M2%Yv$Im}ZbJ*tt}e8<$fKOXB<)HR1Mi+`AK12=>0H z3$^(Lr<+3ho>W9`CvJc*cIO?C_L_dHdQXEbBR6&Szz|P2LE_`zvc@adY;1@fJ9yPk zqi>UkrQ3~AlwWW{PJarY@0SgQ?ymM-6{``i@{NO zd#?TYj56AqX8cARnn%T-4UMywZ187JcIMzyrHlt@Y;yU+Ex57_Nv~>^64h#ec`c!k zhGrSR!HJ(tFIBBW_No5b+9rzkPaS8203>Z!3#~}cGqV4Dg9n&avd@$~8ai?0CVk6? z2>k!%^rM%%;Q}mNF%x8fYOTI1_03rSDI70_BCiCSFf+xMLzMqR#h)`jnspiGw?ljq z{RVia{gqk3Ku2)JSm!XKy;U-=#J-M$PYRCC1;}MPHr&c!i-%w&+;?r7zB*4&tE zq^822YmeKk^IYhQTJ*$A?Q4s-RagcGII$Wttj^*m1d_pT@Z;#KPJxZYgG-zH7iE4r zHRqOIE-gIiaE|uz(>{VR#_bd(Y#cxXOTK~@gIvJsO=QghuEfVkD4TT{>80pbA-42e z6+b680={*M$(NH1y&;2=7pto1i+)n|t*;n|I}lsfwt;ky71Fny$-gR20<%{xg?Lrp z-lJZKUSVw;zvd2D8F36;8h5PESe;0O=5KP%#d4#NO|EY64$``#5{}v-I2ho)V(2~s z-%EMTM5vNJRj;rfqtlby!4sBr8j%`$yw!8&^}1zgb|ax0^=(WU)G&bPuMV%N79t5B zS9n6HFVe(@yUf*OCGb3jlA1-ESbExGhd%+}?i`!5=;?gLI zcvUt?-1Jn+rNI!MaF2;^_yOP$43xXi4LJh*g=^1IQ-nGFw&mF%yIMkH>zPp`swlc6 z8sB2n{bE}JIg9WaEEp{K?Ni#_?fgFlUj|CX!Gk#Rn77Nu_(z~G);cT4=N0&0$+s`P zZKpqA1rF_I7eQ7|S0x`kHz0UprnL zQ*7nGJyl#@K@Nw1ugkqjGGsqJ8|NGtsI@mC|6!}uqd2m+ zrshu6#1eW{G-^M5-G=Cjl)V7iy^rb~Wpu7dKFX&SzfDs_*`Jp7(jovYmDA$JYUq;XdT?*c&eD-$yk}XPq8C%_Nx+T(l5tRszhh;ZD2XU zi4I=-5$3YF2Q~>i)aiED`>71jxiBGg;|CSvf~+?`TWOO zE2~|F2N{!m_&W|>bdJ;y*7y8_UU?ki#5srX_;*~?AR6t?wSk^%X4S!Hq)S!hIg0h# z;Dp_b0r0dfdb#!KIKIpxd_-?CY%5Nvj_g>^O~&US?aNE6AHa(LQK=oDPR{x9!kR z|2Zz7kE^W&IY5rZ2OAB4wKcM-YGVQo+-|OpA4<=o)Z^w09i*wmts4`al&V)vg% z{YJ$JboT1)RZdBqtS_2ZKYI|*UzE+;oc6Lh-Dz!|F~0iPegrC9nH*50%HEw*!Y#3n zAp{m+B=L-v6Nyay$f5eSK;~?n2Fq4^k{P;{R4_lBdtM@oULaiJxq_Wg>CMTh3C#WE zW_pl_zS3w4<@$JO0{nsL%B2fUI+u@2H_C}zrA>%O(RJ=o?VE#GO)#3`sTqhPo4bEc z+I*WeOBeVn!O~ze2B9NiVLtuur*=L#U$ttY^{HJUb0K+wh&)zgoq!Y&o<~^FO@c`) z{M>|R4&f*~)1&JLz(%=eC4%3%X*u_ge(il(?I+G@->($>{?)E5D~U_Y`qLlI7~MZK z?0wZsNtzr^9UBiJ(yYHQ=3A7yaHA5nizcf=nJlQ9{mDpYw_IYXBYt>eK-l?(e<@F5 z^CbP`VC350?df(w!m*G!_*S{kbQ#VchhGY93F>wOaN{pf4$X~ElsUijsqRgI1ZrD{ zNAejhIC`sSp~mie7q6o=@1lsv4Nm|aJ_BFqhSzFBN zn6|-lZSyY>)m}Z;(}FMs6wfj(J0iU1;V*pl2Sac+#|3b`x;|Nc-Z=Nd?hI$-qI%y| z%-4sFmK(7)@WoHQE5EVrhxq#fxMw0idvy*kh9E0@jC1Cu3^%!;r5iKDg3BSk(FpeeX-gYwGCZqgB_OGUJP?z0b6$rFJ8R z!`S^*XMxr7=&_+JYj_e!mzeuUxnDIRmKp)cX5G#ziy7>z-R!DqXJH;}e^%LAW{MDq z50uCc{WBM2u-_AR!HQmm;FRQ<(|cm(ukb4rd<&K$e*c73bAytwWJ-Kxf-5t+yZAZ51Z#3XA{es=}U z+oWOeE1>x%rpUI0jK(FU-httTu_>DaZD%*!h=lH%7N~A)=GCtCG5>kbnM<Qa7V*FssicMc{og<)r2_xu=A=!FS!6t13 z&xru`vEPu}qlcKSnkGJG)U-*(D?~Pv$J~dyV1<`9P*W23#bi149wA-1GM!qTGJgP? z3g9N0+}7DW@9G+=&N{F}ipkOPp@=DUM3N=EVY24~#!)f#h-wNKIr38Q4?wV{B*Jrj zp5qGyKZ3k&4yiLmqW3jjNjrLh#RN`L{Z_s;kxmCSFP*C)bt0_HPut~L2h?s3cwO6_ z5Lb3GJeKdZakiwyjHpRkI$z4bge9-WIs+!v)ju#$4|kf{U-x=sXN)vlpFa@;?w=jA zj)=jrt9_59P1lxG<8#IE`q}hZ0lH~10(4xLh)j`@C_S`PNHbVKa^6lG$$z9{=N_ua26CvFli3Cj<$I+Z9(3q?AE@(IN{t5w8y_7qmT^r z)6Jw+^8JCdtyfd_y+_>*pnK#{e!<_Xyn4XW27=jIeVDC1%q+`GYq)cMffU}qwnAu? zOp)oP&onA^B1MwBQia+`p~>H7rzkENqu$ydhc=g=?3SO{MjoY<+fdUFaGvF*_X;p~ zp7~tbN8K1Ytd@UeJH97xiGM9B>V3*!Qy9K+ZhIzJ)!+pP^n0+mCfvzuQDQNt5dkon z^|W1Kf@VhTux!5Rx-_Wmac-fEV8Wnlo1rCCypH#w+z{)yeQ&6k7&&HA<7xQ`YQA(r!d=aRydtStXJ;mPAyN8 zCP2EXlb)cqRL&R2_bvGY{eBI+v$LUp*NJ-60h*wknSXcgNXfo+4ti`V7(n~9n_Qt2 zyJgbwt&6K!g?oh(%ALqb`#tL6zS#L^#G6fB&#?gQk9m@CVa%v^!f`Evco1wCbe{7U z9iAhh3{4C1fMlf<=N`EFipc#&hm$)h?qp!uhY#zh!2e3ha)aO|?M}?t5M|M8+Vy4o zizFgdehOfZ!Jh#Oilw^^Z&H~>~<-kWt_fw z7U7J05N83`uoelNDEyYwgt5Ws(XpI>x5ZmWFx-*57RCe^8up7gOSC;F({e+sd{dwh@)=O&6cyE}4Le<^l1`%v&c+U=sS zBfY3qIa^jMD4NjmNfhjVuIQ^LBaZ~aa^r!9TIcP}p|U>bilk!$XID&;SmH(IcWz;| zNbe)-GtofuM)M_TR_C6c$V88VUBp$z-%s?$pL#9X+g-B?df4dU)p9CoVQ6x2N_Iu* zA00f+#nsKl$nv*oGnbi~o5b8~+zzmg=W-yT4fuSsFTlWcukHsYg#k;d=j`Qrc0}enA_Y^lQVg1F%|3sX;7!S#BajhJ; zel#N7Zq&cPJTCs=9S^+w_ zB(tu{%32Lh=PX&$D}zU+NySyW-0-YN>1C43iYkxCP8dxXV~T0%U!qX3#10>;y0|qP zbw>2BpI@$mui5Oh!hQC`>rZw-@^kW`+iTr+$e+Go3Zr`?m!O5uGG;%Xv<|NLw6vAe zpE*mNBU`t`AHrQqkD&}iKCuS*45C(~<4=#nGmgcm{+V0p2}>U3L{12LE<%+c0f^i> z!|Y%+-4S_F`mdn}`rQJHXHRBj4ICi-z42HYjMGSq zO9fdUMx;;Vg$?3RSifuOe@>XRHyj@=L;VSv_nB{QmrC@3hJ5ooP9S$bTwoodS5lHt zsnv_Z5V*$lsExbtHD_e>5?dFs)>L0qE``KX+1U&q!5(4)4^OTV3SG&gfVR|m<^6`U z;9TCXjgZz61}(>;M85XRo8=vuU+HG1-t??TUvBt6frR~tsThBmjvdFtb3Km#oSiE; zaXkNOC42+>0E$w9sv)bd87V2u#;mFM#T^$zOe)YLBg|`eOu{Qv!ka@t6ILv#8+MG* za8SqIv%1RS0ww-pHtD5g;1CmefVWyye^080MO9*S8&yGEmv=HqF%Du z19r(xRqn*;?XCw0r(;C>FgTNmwrb0{(b@C86-MAj+TdS%CsYg7eb*e7y6-kKtsl|s{S_H{b9_G6ZvCfHwD$Df{llq$tPPS{7%6Xpog-*#3QU+2 zATAG2%x3OS{csY~MK38yc zl5Po{K5?uidnL&cXISYET8>H5y~docS%*d`IgVt9HcenjHPU0X8p9u4)fc%!tb`4V z&yxx8MdqzNGrPPG5(LlMF=1P)r3#rFwOi7n;D{u%fc$+M8zum zvpI9thcqAp-M!{?Q(hQHI`MpWTnJGVZyAK2tZhcJ$;qiJwVXzbz?@w-3vXeKhpM^1 zFjNtGd+k}fWoUeJS@eexUVhwvc@H3!)yuCj62<(M7H|{eF&1V@u-Fth!c#%G^hB$x zS%+%jozQ7ZqSMPg8;N(HRd}>Hh!lY(5;5F~btlrHjnoR-Ve80l8;H)ggFFNh?A0dC zpXigxU`dXVa%BpiL@I>CY4EMU+pX3@v zcPpnE^-{Bgh$e7TGk{;r+qCU49G%Jg_QU9%8tY?gG4St=mfCxE2POxrfC7P?i7O6_ zERHuAJ0~papSRWhBO@3S*SA{{KASuhYDi9aY@~d8Ysa2@Umv*^8`8YEFC+&5K?UC{ z2eE7ZZnqmjd1zPU$h*zmqOdlt*^838RcGD`yGzF1v~h>+MqY9j#UtkToC?gEanI)Z za1CFyI2Ztys-1m>;~lcqcZoe?z^sf9vXJp{H-B#Y--lXMNNK^)`fR3Kc~qPdoUT@V zXUGu$)1tnS=cM)jqIezPt(^XcoY_Lr+JHp=kES(l(7oi8?dJB?{WaCR9<;prWEs7o>5)DB>4wFZaT%TQ$qhvc@ghZld=7jfIu^f2?brG^WDSn-O56(<#s}BWq9_r*rHgN zLtz|6d@cs`1?Jy(?dUJ%cEhRsBr(0Ou|0X~V4a0ixOao3rceJ}A1LRoVtUh)RCl2C ze&d^>=&0y}7O+7C>;_@*^=GNiE!#AqJF>L~e%6z?{!_tNbp2}eeP<~)ocC#c)c{-) zH{PXhCzW4CUIqwNPR`3%{#e&l#d{JYk1-cRB}&U@LB(YV#!`#S_)0;+Me#E z{aBBlRQmXfUjMd8T<0Zd!jOv!>}^b%NN4>m9ZX2%?bydGL}$)cvr?xAR}EP1eL|1i zJYUZL+r<)J=CM;xe@cgyw*AR_s|4v@>Rx;^1e*=dAToM%d;0eE>$d@5!CZzSnkerc z5oz8G=|B7j(4aF_=OldZmh{_K^C$M02X>e$or^;!{*O@d&OKmb3B@fR?YlKZ;ZdEuEqH+*)P{Bn#ich1UKo%W`9m{ zF>EDf?@-1d=yoJ!2}WoET%7N-PG73`_4yoNZdz-x%0O%$F7-F;s$Mt8piP&P?(G_f z9d7uiS9##_Ak%JuAk+rv&2R{gh#RuT1Bwh{Nvj|Cqw;`)=SLEX2Oo%{oE*02uS420 zn?ETFC{-0rmPDI2kA#~z^aB#)~CI!vQWe+2# z)wp|@j9Y>xM`ymMB_?nOYTmd;1N_%h)Ud$GU~jnvt__FUkU4x(E|Q!-cR9z=^1yeXusw zFek3E7eC5&Zv&Tl|Fiq&!C&#T@Ia*ZN#)k1*HKP-Uf%jg5G673OX(IIL7Y-sIFlHVC7v8X{GBmDF&3{GfV0Jx=`yvZ|#Q8TRP{ zgIcIiLu=%ZZMc%=ejgY1_jUE*5^)o|fq%QUXWI`^b=Bkd%0gdUk4w~Kid@Z@RZQp5 zw5mayd3!{UU}^iG_fNLPYoqvz{W?n=#qrcSedY~a!KT@97F+be-!iGE=Ea`tnLcwC z=)rmj^@_`lFsZab%l%nCN8{|>4+~#O-(JvsXXuQ=*JO=L$~idW=8;=pBCwwgyi1Ui zsqyl}U&?}FaSx3D_>l)H$8k!eN=NJW1%@GcsUF~D8 zRYsMnwjWJxTbrtw`MjZBVIGz1zLupE$vHDIpRnx8B`!OYxn zMlbAr0t%P=>Xc7HCBBpvi|Mbww$ePTmoN!@dynO#$J+jK5uytc)x-#0#^1v}aSB5; zBfNx7XR5G~8K^=^gk3jboAHtt*>Yq&6>$Oy`9qD+iqe2YUg_${IF@I%hJG9h;k!1z>mgl4ftAZ>9Fb7tc)Iz zz}(IMXsf;-nUDv9hp(VfXag_QnuGMu7~T$T(=WjF0nxg+0f;0XM~ZIU+EQ+idM(V! z7Kg+%X-Kdxv*0Ki<-qdhV{YNHH)N}0Ta+xjWW+h7ceKZhOWO6l+(^EFF_?=-VPCeB zzp8)+X9tQPtPR+4zVrsrAScn_qE@6vq^i9w447=by|fX6~N9 zy?nkq!8%hneCyA;tEDM1ek}EHJRmIah99I$QSb&6(S9!-GyO+>CsBDv?&)lB$B){Z zaw)EyZAOVecK|<^)H5ui1RMW|GS(%Odl(W$ueOS87>k4j<%#*-kuc4O)bD1m8uN5u ztBSe?#BB=-vG ziqznIo(xkPin%p>YKjQtOtv=c#U{LjcMe2k?^?d-3ZweEEfZT{&pQGmLe?N1xwQ$h zU;u8|4JE0K2mL-z|GUXH3KP+*p1fE}jx>F;E8lI0%E`y<&O7yDCf^@jU0?ZI!$GiA z*{?eNJ7h8YyF~84WH((Hlh>%aH=3UH6U%;v%2M2IbkAbXL^2T1Tmkxz3u5Y*eQyGJv`h5^OpM)jFEVvA`$Ie7CpR7sS2zo1zp7?y0nN{7*xVu?QiA*eI7o z=k7k?Z|g6Gf0U~Z64{4X#-*y-*kg%}|gzcn~?N*2wD zo1MO#KU`g1DM{zH)$;Z)DlcbfYnmQhOBG>OwA=LZ=Pq^$_SK#K}vbNVKllwQocxf0%$vo@VMUS zAUurYZVIlyS{qJPQGz!&ma*eg{KUDb2y);`{GCN*Xi!6i0>^D6B(Y^_3q3Pg*ux31 z>hl-0!%h9(#I>CR2$A<|9j^!jSyE>-GwZ8lfMUBhr+yfO=@k#p5T5^3viP?R6hn9@ zY`pz%ZKB^ecR1RJGV$(r?5{}&r@vK3XzV#6WWzBm!FZuknz@9h0LvP}&n|Oe!M^?? zM&eMlg@8HzJi<^qKCwDj&4w*03*n*IR7J`clQZRN(Ok-@%RV;0fW5Ri+ z5oV2aV`SKq#t#IbslHii!`np^)Ga{NvLbqKI1HK)&d?^_E6+dt2dPI`mbLTKg*GgT zLra#!&O+r3dNfB^4SFNdBf47KIkOP?9nwY+x1-gxtN z2MTaTnBB!^UsK&je_HtLr=pB&pohnLduW(IGSC@AaM=4!c0YIBy^L-(Y9Hi)jt(pT z`UXD&Mo5k&LS1oLjfr8VkeBTu*Qr(h3Gb_t>sa4`X$nKsx4cerL0!sdLuwQoJruFw zg$tW7)+$hF6MuvOapq6UNalM>#Q{@^>N|F@o`V1iFADjgySo=y^goHG?p`RI`b_my_EM;AN`094dU)&pOc6^*>fay7sQ*{|^6-nH z;m6#w{CjIN7k%&)r%hj`oG9P^Gr~r?HnMl7yV3;h;zsdl17}a$gfNqE+{&Zu9Ek+u zvmSuymAH_XR!!WZ z@o|lnS5doN6BwJCxM`|39kr0vDnxX#>xh?4y-hn6Clat4PshlT__i`x> zzB46OIBL&&kCHSQ85LrFcU>7>IIs>k+cM91*>w9*QIViU5o789Mh-jtkHz_4JbZX@ z=!v1ris(n?k6V+$B|tkw_G*SifM#exzV>rZu$Dgw z-`c!<*je60q}UmH4w~m|pHl7+)bA_}9BxuM1G=~WrEH$_!T24H9C4IH2E@Fk4%*U@!-6%NP$(_ERD`{9rnx~$bwIzz*QAU}lRpPn2->*3f2 zq><2t>lIM?P(8eF>l_Y}RErCIsFQ9y<+$~qQ*leB#`$um^j}-DuK3#Cv99246bHP`BxKwQFP&~j{+q?zUyT(G z?UWxDKB+(Jpvq#&Zw-qV*I5VvtHHO;bKZG=#!BjIpCujsOYYk$PLHE-wkqfS_+$dQ z-H8m>8%U+sqt)$`+&_GQ%OTD(~o^^ zx&B2L?hdbfCVCZdZ^zBrmhBa&vJ4u@4+5?ZhnLy(x844$d4(UI3+o>A?eP}b8TfbA#kV3f)&g= zeEyYBsy6H}qaE`t-e|s~8qkF7L3jeNXpYWbd1_iYkF8~jAj-{=M3WjJSbUX@lJaLu zm&?lsc<1;cQz;YBYkK-?H#Siny{?xg)lZsl;$$QrpnXClQP9&STxDauwL`*g^W@p_ z&}7X}WJa0|TJ*b_*DRaDL6NpqH$JF6z*`Wt7wQUV>@!F^J3x$sx^OeaEiI4b4@Bm% z2>P{M{L=f0_aew0wT3N1e_fVT@4QCjN@?DD1?=*qZn5<;0CX2?++VD=Whk2#&p-iJ z8H$nyyM`-Nz5k_xQCPI151}eNu6*G}0{&fj!Tjn)gj0&YDzjdvR73D|4 zP>eibz-5Vo8bvW4R`0B=X9jI2kVO}n^_FijJG(HHzW4@F*02xHP&Qd`FEt6&4|hDG zv4=!vWL`!?)-zifXYatzo+en*s=gZ5{F1jwMk>`40$p>tFiz`c2_)h!W&G-bG|GRC zodVa|5~ZJ(wFK%zAj}$L{rH{9_fUeTa#yfGyt+4BRW3O9T1)!j713+Sin#!Ft*`BL zzR3Jvhfi_kC*6&}$h8b9132pb4ii(u`=j1vAUy$K5b=V_`z&)8U(14~VD>d1*M_1G zKp$bjexRia%2{k~uPWy`0Nc94*zab9kWK6Mqy!e**$Hauip}q=WA>=`+jI8{Hn(os zxL6fVA`xJ>tc$e87uk_{s})lxrBokyl)bfNJ7PKJtfpz+k3a?W`$s0G1m4t6mS?%` z=7p6ncFsJ6a(I#TtEBJTM8Z~^T2$6QQGU$bt(L2p-GS*AFrl*<7+qs({zovf96;(C z0P*acZ}_j_*SxA3C<57Sx31KM-~k$-$t+Fp(BWS$NSt$&YU*slEeM}0tk?2#M`ig* zVOsM##V6VIC(CrA2-yupa_pWxb#DO{)=t#JQ3<&&tqOTE=ZjWWsvD{wi9MTm@YIL8 zojVSU86Z+~M`qG(w8K=@SBMi~*qR=xE4){}8e3hRMy;fg4N1!$1P4`|ANx2!JvQVm zIqV-2MHw>_$FhS1Rym@C0?1mo^o!&*bd9{%R$HoMKeq$vPW*{ki)mYBznZTPQ-)nv z-MZW(>Rm>}>e8F&^w>K2tGAPhCgmekbx%Lz^dj023$3R}uq(4^SGQJFU&&@sg$Z?R z)BU?$e;NIYc>I9`Bji2iIMpwp9hR84@UU&hcX7g$3{)i=b(4 z&};Dx*?c1Tn$sh!1v<2Sej@V$Gv5HyPIkcpi21o=O+k6-`J|ox4$hi7MaB`WeG3tA ze;KBXfm*bdf zO(iuig|8k0Fb}t0ZvbhLLf^d*_zCAp#;-(rb;XXeq;-lBp@aD+s)MH-#zU(kU5!5Y z?e}Q}Dyz+Pf@AZdZ+7Ek;y&``_<+f!)MGvZi-8;OB19`06sBM6RSgV)r*wto;CS@Rcala1^&qENwE3l zLazbXjrLla4+888dv*hSm6rTGXBQ~ukLI}1w*c6J zIim3U%NhC0=I!y0e58eckfs@b4pF5UER{oU1ztG``{TX(3UcJ?wT}3CKRoHof|5M{ zucHX9dUD2bbkDr83m5$gG`|`uggVw2>QrZbzTjjkLFp_LYps`cBuZH#nVh+F-Z#uf zybhKJ3~!!aag>Av)*Bf!M~PbQ{Vsb7qHE9#7D+F{%>cW7m$clT+6xBph>}%xog_Qw zpkfQ()kK{$te(RsB>d}kmoy1-Y0{D5w7>K7vHnn_nNV)^)!?77%M6#h#@wWrHh)HZ zV{K9X2Kqenyd4rEcVQgXE9%Vju=sr#I6B7enx{e*)4!(YdKvwB-8z2;EwHm+F(L)XrUQ8C_}5u{}@o6C!P# z!>mPe<2MwC$#)^kC6Z23{1Pn8y+3qs(j_L3_W`>Bvi0^~c0bNr;PIdOchv3<^KKW@ zR(iA)^!SA`lFgU*cQ5%;IGM|Ag!MRPG$~3qv`Rltgdy8FGwj5s_&4 zU7fqoIZIPMoo=4mkD98GT0FZ^nBYFMvUKl6Gmt21amq1nwXYr}m*+o{b(-aXAN}qZ z1gGOcR+YaMy?HvnsaV-d4m{VR*5-ffxi7sVw>Y9v{<>jm9a3;v{a0f4sGAcz5xU3w zDLa1WZJGKL$iyq-z0pQ@_%*E7daS(Sqcu~}JvL6*_ zIo*A^`>=fU0Mt}**|4h{@hyrd&HwF;O+lsE7EqSIsf@ICo`MY!$ry(M=ffVZUp9r) zGsZ^Bx1MUcYh22l5d_{;UsQI~WHY$Fr!B5$<_A=~^fvD32*tM^tre~q45~HyTT^lM zxn?89^_zQEZ5K-0zWjPOrYfuBJ?6UDCL}l<3+~3x{B8t41pgtzbog>p%cc^gTSM|6zYSe2T_iU-z0Bb9NTRZF>-oG^I2oG{jDM~< z2re^>t1M7mYeW34m;qEU)uf=T);JL+f4)lHJh^j;FUnh9PaT{q@|(_-^2xH8hh(MsynO%j7a|r*(MBFN6km*mkzf{ zHu*MmpuL<$QO{#^o`*J<(XEwN%bOgynDyUW*sJXsmAC}`)Bmog*~5U7EI)*=O8r#v zRJwW!(rVChEF}Is_bJS))yQTyQ>LhMWMey|6*FBl@KW?r=zDkP49xh#(J~K?Im;#{ ziB%dc3wWffH0O^AH;C)RjiRX@A-7b(`2(^xOK_=j`(B-)=L@ zKgNa^s7p1Esx5S(NHWzgQGC5R)lN6G5@DRKl$`r($7=6l(8`ICjXWRBKZl0HV;8uv zHYa`ZFo|YWezg8Yq{Y8~F0+NBpY!p7d!wt|2c$n1yqgsXPuJ}!n;Hv}s@7iC)d80Y z!H=jl{Cz!B{85;7u0PuXC&xEBg`4JJZ2@Popqf$V#q^(*%q7XdQdJjw%c^qJ@9623t;b4UzDuU+tNYQVlt7fPA@L83%;cZh9951w z3p1Iu)AYY>ERTN-|KL~Ky-aPSh>9*?ELB$@Tduxf0zZxpBZ#6i+GM-KZ>fgng0vML ztwPc%7RKi}3+9#TPpzCmAR_2t5sgAh=}iHBRM1>h1)xZ`PcGZs!VG86 zqean)iU^*JUz^;afJOyZi7T(>v4%890+T@*YwNGJ-EP96<{v(`g067rsJ1djN=^z;sRi7 zG0cjLQ@u&_ZYRlZk_?%u6cy+vpoyh;)x-h%$EK^#%w7l8!zGrBgxc~KPjH=BmLzti z;SQ=ge=Y1WZ?wPtt3FBOy{`s+I~)l3WuD>k%W|3=ql1|t%bTSadr>;&U$Tnrq26n=50`XSD_4r#Xuc4Dl;3R}U8WeH^=jjbmz&EDODRe*cyG;3mk3{l z^>4jd@u|Anqcli@fE{mN8A920lwQ^Hgw5d&dtSvfoA$3tQg0$Wg=CYcLr^5RgIOCG z{@t11l79jUXbAvgv)7t6AZ`|;_9i$FUmUcO&sD!RG~G0cz@mrQ)tO;YCyKPTFwM*a zW42_fMW0-L2uW_0@FW4U3zPfK<#nHe2@R|H6X|xMSoJ{S zV-U$C)PkYK1Z!!Dc?`v?=+gvmU&flZmiddJrV5)NCA1OSZB-kq+cCBl?XAY7`6a0t zlP##rk|sX=G-ocZnVSGZSO{W#(JIJ#g%2Tm+AFgKkL&;qeqKO*{smK*GpBv)@wx$k zn@O%odGn3qk0v)YN$(qY%+NE1IA|4-49g!|U*5UY^TpBBe?vqk5jI5CU=V3w0cu(} zXJ4QHh8#B6GHcUFo4i1Q`h!++K_t$1KjWzcfWZ^}yL?~dZJ=3<07X-H5#Qw;H%((>}M z!WvP3w;F}l0vn79x2Z#vg*llNhVNhs`xKQl)b*px2$f7f6pHJDLFEC-?g!+j801L7 zHJZL}Jzq(Bz;=>hDRP+EalYEudVJ!rKFu96{c|c<^>0Qvvig+$@u?RPoQmj_v#YuW z^VrvKdH=+|+7sj)i_iVAzhteeZ{Jf+`mPbzn3Xht8IsT8{f%7aA=z7bln>XR-bIz+ zhADI6E}LicKRDZqS=2%=#3hEeb$dCi_b3ASM9TsfVp zaDH(q$)rXnF?bi|liEVGZtf$OoF#egh?@mCg9ek`+-b#x81DPr?1Bjc-Un z)mT-4BtQpx#_)X8(4Np@bE-g*Q%21yuZ>4q9kZ~Eqg|l=MU*NMw&mufu+X zaBab`Cu;68joU-2SJ0Uo;7R9{6^`#%CG#vVk`GOB$k<(mmo}ukclUbTKTMy;AZo5; zd$RX=U6zZP0>9V7nCR>8N}Rvk!4Y$pcUnt`U5`I7O*?bsAzRci74Ly(qE6EUkSC2mSFsf9OE#I67TWXRq=ifZt|e1sFePrj<@H5S;%MJyaxW^Uhlam&@N<}-r1ZGasv zYbv+)i1hHEm*E!9U{%5~F?Sm*_hM#wXU>3bOVEVj*&qkc#6Jz^7e2-;zN2XU_J?=X zA0UdwE`l=<{yhh=h1BqZs~bzhVtzjlDPzgk#^!Y;5X9*f#Y7YEmFUBeAcjKt>ct*9 zj*=gmx5W}k>;WJ8n;Hqx!aO9J2kh?deO-rtf$DmvN7_9a5 z__`~gmeDz0jMEKtiv9~%sd0LI*_m2WzuVc}Qiwcwe<-%ynrF`nx5hP!=4+p#Wt zIn-V!F?7G-x;B*0nSN8OW(agJIy&n+TF|$Mbh^M_xOw?e!j6|7RD^H|f^-Vng^8~{ z?ROjAooy%*Gx4ppl?-V_6401V()3X}%+Z;-o*KT#|LiEiz-!a_F zwYz_G(O$29geW@<7xdbk7Yrrvj=R-hfQj;Aso(6 z<-#(>A~@KgSl!rXlCyB|7y$~A1FEz*1f#3a;D6AAZ3#GfsI~fe$#pM&tpuft-NLrb7c4VVuOv*MN>SC zOs~4ieJ1x&%^y9fZ*8a=Y!=ZRR2}}g(cdTEUW0`Yu$GR;0L?fIAr1wu*|X;tvC7#k z0>xr(E^p}%NEt|lw<@$_50($@09T3mEt~*@c<8UEiGcaI9KbOS$aCI+AFyQOdW=ci z0Wk$#Yv2xDn`af!^ho>S5=!|?P1T}Jt(X~X)LoMZyufQL!(Xs(fGuZ zn9=YRVMn+T&_D^n= z)InoFBN_Z7@Y6Z-=VXUI^SiCv<>W~3DaHzyDG}Q;4iguYnmHKKk0BkmbZul>i5gVi zTp`KLeTv}`j1R`m0ls$Q%}N|q|boFP?$~zY;#{C%Ng~JV)vvsYsvP-J1USApa zQ|b1}=a?e2Fu09O%@?iRx_w&GY3Vz{-RAuf){xLe3bGO)y(~NSDm@EWsBf+oY`&6% zH8HTFx%#?wZhyBqT@@RKaVmKrn~2#m=qRr5c>i`YcX@pJcl=8`T*+XXVTb>lXHi46 zlLK#ZNWIo46s)L4s{Ovs+?j_qj1_bOMMv%Fwi$3`H+>h=A3H2!)?VvPu{;$?^E-ay zp56j*tF})TU6swaU8|wv^7n=@%}PAFHx9P#IwuM?ZP}v zyT#FEB8xVou(5Z=gxy@Fg9PFL_J3BjTOmqym>|ALpexDB+egG|@u3Nr1Dh0#okfzF z@k>REUN6RI>q2E|eq&JrDLH`8LFSDgiQ*sbv0T0CzEX-k8pZ#EANKc~YnY1@qKXF2 z_355o4%P$A9zUW!#%{2R)j#h; zPdc2m<>*M{V+)o9to_vr*>TCaGQpko&A4>h!M*B&?XdGW5JD&1Z4kame4M3V5Ji>C zpw|oiLe#)tWJ#;&B!HHy;TuXiw!~3jt?>sW0Po`CBF1>J4JbPbp#?lXz+IyN^7cim zTLkRcsujlTjKNl^bZX&M9%^*j{)s=4hnQlDR{N!7pa+J<1nrBEIGE;89yNJLKq1C5 z_tT_YY%;Z6V4>b+v#jX7PzOly^mf|Id$q|Jyzy652QLQU3J5lIPOKq4H`i_sp8@b0 zja!DCLJ_Os`ThBssbc6raPks=sts;^wy#N6GH-Qm#NerwHMOoy>jeW$276zjhx z^f$6(2G*iydT0gnBI(sUy&aiqT8=q+0?+h2V2#oo&)YlwH7>!7_5=cx_JU$k{!LwX+k8b*(okMF6>=S*_Jv6%%$a;NI!V)bvHGNiVQ3tR zPV=z*1d_if&fQ%8;nS1_HS*}6y;p{#w3K`MroAEA(B0oF(pD^>`1xLKrPs*b9p>p> zQG3sj$UKC5enD{mq19*vVuwC92?MnR>f(5(rJa+79FF`w)FDB{-Mvg@xCA1)W)8s3 zs*?>@Gjy4*XI0-4Casc1*Qx!Jy-Vz)l%VdzwdLVx)(k`F&I}KStE&Q@)nh zwTw@-V=}(RsiY`R2)P~A_$0hXHErVxNOLi~;`Tbc$+7I_a7OJKL>XY7o9Q@scGBTs z-w##}LP&u58P(j0L({#WII{AA=3Op*iKb%KMs*1r*V$!diz->?u%Vm8|3|6$aGIR4 z0SdhGR)hTpffCp~Zn@NzBW}Cp8x+Zk34JENcD9shv!kB=a{b19o?l6Wcc5!bR$sTf|X#ygiLCD1Kq64-Uj?^mW8`VV8$gYUO`=ZQwMmsohe z^*t)WMrHqby&?eDCFeGqD(Fj8MDJR9j#Z~?S0rk{@GCQt+hdqMf9%b4$A6Pv#05_a z@t{jYuf(5DeOEF5fj78gZd9t?zR_s&cLWa6a_p$+`hCz8)S&vAY4dkL+1_&yy*ihD zF6J!4AN%*s5kOfhY$1Se5c#cdTX>7Z_9(_U*?UFwyaG&)(Ud7uKhJone;Ur9VN}~Z ztegV_XE#l)=+CC`S7QWKaEvf5K9i8KeFZJ))RSvx0&g35E^}z^rgV(?ay*gQwII{Y z{>jwA3?!uA-Z*U@Pwmx6_oniQ1Y&ia4UCZJ1?&gIR$p;jHeO^b#VIBSAg&AcjS)@= z)80UCcTHBV!}jQEq%?DFCZb*lwc{^opp6c}jQ#O5IT*EJe|uSD_McN}U()47n+0BSQ4bO+E6-+CZ$P8NXWM2Y8ibg6vje19$#J z3n4I1Ggp#Wy=M{0gRmI=J?#KFsmnZ6@SsWRdcwrN;Q;G}f<2l|O3W#;jiy)GHsx&U zA=9%|O667~H&+|)&{IW;%)gu-`%+YIheD0|H{{n*(MjF_yBGbw{>T=P8^+?(Ka`jK(8n~i zJQ0p9;i478&4O(<&}>UFi2k0?YVpGqF$1y-hmn@HJ4vsGX}d_@@(9Aa<3OIU?(ED} z;?B{AB@N^Qm#RY0iRH|&@}+PcnwLe=@t{_A6j`_DzP*0zRNK!;$?k=@Oj4eN^xWxqLsr8jkDHfG z$a^_uzWYrBK3@S#1^eSS*H`p0*NZ?p?m*p5Y){W*6L{iXq&K8)4sxpFD?K^O)KyHO zz=yN09b3AuU7CG`s$buF>3MDHm(^>T#dJjF@Gm%}b= z9LMgZcTkW%gqinPT_bF(3e}sQ-;wGE_U-ryiS+k^6=@x@beEpmoeJY{Vhe6M!4&A&h z`MU(E&8S8SPH=}Bzyyqhp5I`|tP5$NY8O0(S|xL!>5pID#@@~d_iB27eDPmsD@7>j zY%Uzst+oE>D%?6*|H}ZkSuew+M5Ur4LP{C7)%=G#i z>1~Ns2qlq_hv2NX_HAvlo^>GwU?R2J0LyRZ^%+#1O5t(9d;^X&U({Oov*Jkowa@Hb z+#4Q>4+ApZp1o_}=*FTsWDue9D&nOV3o+>#fXE<%`=dfYyTfFDCUGYSd*9u}nz=UY z)DWmYSOBhws>+8i(sZHod16UOIUQdv0?Nh?QSLmK80jf*hA&TobaX8+DJ-^}qg?pL zujR^-0CwG;@o|B8qlk96{0rki=*n?t*YE9EE(sPF(sy?@j!ap${V0;xb|6+vS2thON>^BK@Th)YeL$qL{Rc(a5FtRX-E)ZLkCk z-5SN|5D`5eKK?lG_zCB$3*Y}`_r4f^^XMEn8L3)0p*SumE~b8R@B@tW)lA>v{zyh9 zgvh;Kbah~)8Y9$wc%2OHJ8p<$$$H+*irvS1hZRMGE>o+&>nt6!88hE4OFab4)_wYR0N==Q2*C*VW*p|$h9Ycr^@;iSZLFgG&Q>9tHcmzl*CrmC%iaa)1(1J92vaC=XFyvwn`$A3u9zHUF4D<&rV(SyLI7U~3C(2s|4AV-21MlCZGUu=~UC+Q2_6KqkZAs^BNGJpM2Vo1~ z1LF<*g{@d`f&F#n(pV_e_ROGyynNb&NzW4p4 zHF#3Y5}3&R;^o72ie0z1F4z~;V?*`t@*j@Wx~&8(_wYT*v|do+keZc(D3@SLo)^H1 zR=_>`bzEI%MpK7Btv;YXQ1v?S5`rTdRznvtVFxj0&t`cEZ1VJ1F28meY3$7 znuIPi|L}hCvj(a1_krKxSgcBt9(_WE!e(;Ti9NBH7rR(kW{VU~DB~XUac4~A?qBk@q{N!}q=JSjn zF>mSrT(Qo<`)Ud|zk2Bvbl)AU@612z%wAr+@9_<&UG*`gR=31v(-sV*O48`PS!|p? z``sx?iokEhzM#6IFvfUF&QX;4v~6G732=p+bpe73Joa&uziDmlZ)gNW!J0fQO2ZqF z>i^8kyp@3MiquguhuWUsZsYHTl$}ng;aH3{2ylvC{40~TdP3m4Q~kgz#JqpTCm8FX z7REmk^bZYer4Yirs;8>G)5y5z9lZ#3hP(GoMyKVdu+y01pwOG0E9LzB<8j7etgqLf zG{)?$G)-KU{Gp$ZeHE0DiZBENoj?beAy`cR4*6IIxDjR0#j2(gntc|KH+=nJvOlzm zYdQ-qXPVk!x4Ci|6+3ql_{-#?QSrfz$EQNlPp@EVk}`X-edXufbe<=a&Y-`R$D50` zw_3`b;Fx_LLhI~ke?uStk&Pp>28;(~3~w%<*cH9_q+AA zP4RvY2DBtSu%-4bd(5AycXF&A$bK+YRPllZOOpqRORzef}J^8Cnc7oF+K7qv6D0ZfDOQ7wfjJn-WK2uf&25j zoi;0{!V3H%Oks?D-@`{6WGl=)dl6{y0Cqf~-=Gd4d3IL^lqy)uKp$pS7@#U3L6+NK zxYs-hPOAdYoWdmmZ5}>w6)JctVnWfYRSLMrM~;08zYp3i{P(7qSWpuHztmsi3s`-n zQdvF+^|7Mmk6TG!@e}_z1zYj$1{%b(kSDX_=L8iHVoKJ3FCV2@!K`@)BN45N+QCKc z69BR&a|>2S=$SIaF}`*6YgbU(ckXi$7`v!dH0i-29osCM2#xXp-?kvG!)i0vEV|c5 zMI-yrl~Ryh_$~rHMTc~7sv>4X5Tld76ZUTVHK@m#5QpvR>QP(ve7HskdOfhturw!l z9tCL)Gn=Js`xi<_0O5gcgN~}u)~(u3g|;k8A^((5UmMmX4S#+s zE1M{W?TyC&1cL$-NB(13cLy-31$)6JV};XCkgwmfoEsB%4%gzK-fOn^DSz8d92A<~ zHQUCd6ufqI>muYqYvYoZV{*#5MXZ+Xr&tRM1ipAMqduL#u#d?LWmg1W${wPE+IYbp zhy@*@peT~4AR-_~zwiC<{SU<3`}BG~?~nUK-{PG}(_f*5QxsX`%us=*i?V4diSx~S z;C7CtgklDzn1QVLjCp$6q+Au!m|f>Qa^}3y2LR<$62Tk3$NfkBzW-)SgH?! zXik@@K{LpGxbQYa+hhz4q_v^k_9Ograa4CPa9;hT!Lgy~@{#A+MwP(6{rzMAW#-}^ zr7A<)eHlS%bm-=2W6914%78xA<;TrimnMveh9TE+g~@63rVqB_Ah}f; z%zN;U#8B%n5L@7}GtOIpndq%zGNrbwL)~YB%+PbL!BCHsC5Q*Y{!U{w{ z6hJd!QtDmL{mH>Qxy#fea9k*pOEJ}J6BG;xxXs)eH5hU3q-eO2t2ixq$TA~MnZxA0 zbQ}NG9zR}2bq2<7>}9i~K_&zSV{*mGB8405$mEP7+FBiyeRBb+6)&>~W%HK9!S(po zRTr==)*z)91qfV&_nRH8D|a@|nT<#;t3^n!KI#TpwhV%PVT$FCZ0gW4%tWIgke@7*Gt|W!Jaj@&f z-jBT)6!ZLPeZyW{Tj$s@`EZS6F5X#P+rw4kZzHR91Od)XyIHWd|G+u;kkX#$nDBR$ zuO=Wi50l&DS7j^U9spf;X*2T&Y{xkphHVd+X>(8#ojB9uUAo1cUAceJj!~mW9Ss|9 zNi>JSoR!>Q^;1i$&P_ClunsF4ONpJ+dk;O27k`Mo1H1Kq*e5#2Dfh#L7pL+@461s^ zv6~fwj3-y~@-Xn0?(NSyj~TQ-RZ$B-ObTghnlfbLNvVFdtAE*t7IYqP8gFFw75m zPAnW6jN)$hR;C91IC%cCIdeRIc&hsWF*&*sRf>dR3arkk(JqC$5s+V4 zGka^=Rq>qn4XbZ|KARk@fdvZF?Mc2$cOEX?#Z=y_zLK9io$$GeVtSx^U`PI<798}# zVOYVG%)CUd-@%>K`AK!0$I7j`&#O22#3YUlXQ5}lzMMAGs7fuRL!L`wAWL<+mG?~Y zU8?gK1^phH|Jf(Wkfm!r&wp~{ECHXJcNnCYBSE%{wWBxYg~wTrORrgSo#N(i+QlK4 z6+w-^VtMX-S}EA-tanl+EnO+imV(fIl+|s%v9Q4Iu}wz;2Wl10pl}fA6#*hmF1raX z{qlmF-~`Q{wOrZIpEQk_wp=T3p|2Pt{5bNVV_Pm_CWPwq-eYE-B33BTfIl9li~`p z5|0qqY&5JyI1gvdY-H#&6BP&g=MKj-de6wrFBqZI#t3EEp0i!1W3g#+YB-+ooA9w6 zeq9+FQsFuuzcYVMBSW(WSwUo1u9Xkp5GHxHYmZKKqx+eWFp3PeuUPyvZ(0BJAPiE? zgqaQ93%+i_cZdz|9x27o}uPHcu&`<0|eBa)$nb# zUUp{5Ei}j-DllgD&4AuBT%#cM2#y}q+Q&f zHZbN|8Y8;gJZL~qZ=5Ny`#}@gFi(oAqKDEWK}2O-w@(y)4LBE(m>en|w&My9(w!;j zzq?~vzJ(70IXMyv*G->a?N<;M3s!M- z)}MV0(7`TKNvN{=^`W(o4m3spE}_H6txrpVH}Lt&H`N7aQjY%)R#&cP!2af3uwf{{ zS$zJxhh@hmw1(wV02qbEa|9ZidG(Ec3_LC5U|7BXU&Dnen|Nm{9>FxR4tsa6mryU$lg1+qf5K zf3xt@Hm2!cRoo*RaUmin-9s=u1upY9&)vKIPot~PCN7)D0v z!WGV3bx%W>#P3;K#*fPf!jLB+GSE^ohVK3Lq5Xx9&^ELC`jn_?Q?_st)=H67BeMhf zjCjr`{w5tLIU#-B$XnO`VW;{nyBzHUZ?1k#mcWw@Y$=2VLye zZX+8#_Ip3-9A3tFNbi?G0sS%#j>AFL}?eE&FBm2fYI^P^#7rX_vq z+-%$nb%O`5@(zD7nqUYI!r+BjEB$5mzWX3a*=Yrs7nvsM2H{Ue8$BA*GLXD~X81MB zCmW4FjN}>EG{oy7LQlUPEtcNpZf!`l2s;ZPCy})n7+8zAYfo` z)rVq#{)aO9Qf14hzrQY~c84O)+^=#VjsL3``Z6>y^rU&U*Oq4v;?iT6ugq12a9++t ztt|Hp`j3BHibCae!((>V*>A87uFXjpY3Uv~x@xcKzT4TO!%g_m4&l1fhRw=xguE31 zYGHv<9<&F^572!hD3QXOn(0gQLEG(Nj6l8cM&8 zX6(|Q5c+*CeZg_|S)c$R%Co~{sz}-p@{m0-aux?c| zFJxPjR5eSHL-RGU$kTbz=pFNxJ0V=zIbC&;3E-j~)+dv>!s}mhs!@%Kj=B!B*y$rU z2RRbQ$mQ-xH}-3v3zR=}Wy4fuf)(kL@p%t8bw(Sct~rTm0kW!+|4r-zDr5m&%4ojP zL>c>-$S&I+>7)t*=-B5YWvW0hBU}>`+^FOb-;psFmOWHTvTF)=m<2QC?Y%?R_a2s) zJqYdL{D|Wb>CLT`LS8U-Zzq{sj6G5nu7+{rVGcFNoNyNxl`ndiV`7x{l4?8F=Tg=t z>(0C^PpkTZw!}bee|ENi_Mvp;y6^4;pv`jr5BxpvoiXih*&v)+uObzi(-Yq;qM>V@ z{yo@dD{k`VjFxNl+}t|gfi+;Gnt#^n&jf-JR_wPSm{17NNVDv{%kE;L{RRm>F6j4Z zc@{>Yzp7njj3gTUgy)&8AJ&lu^#Tm1=W2SXlasm@JH{jwjE9DLZ$`=MYy24Te(2}+ za_$$13U2;7qrC?3T+$#{ah6x%p@FdG;mc9l@qZnKaJ0jrYtO0lgH-hLhQ5%IPS=hT zm?zx`e!w-AbqWO2JW{JlV+-CpShE+Ge&^pW{<|nyU-8MswO!6r{3RMZ*md*NV_6!bhWowd>iHat@E4ff@bPt! z+qu-1Mf&bnzNrUs9if$^(o#l;Z>jHmCYzZwOhiWs!3o` z*u25Sv#W17J)V*dS|-+3q(EYWO<+1tvZ3cVvoq~!^}z(bEyPkci#t7*5%v)GA)Fza>I29H~Tc7 zGJr*r)mU#askZ-S`^oQo+Dq3hb~vUt`TyV-#}?g6=!EG2YXC3MuJNq)+SPMi#K-xi zg`Y&vGUWPFJZw}P^8W_$kWrdU#gUwZ`&I#(mr}n{k_$h?* zg?5GQ(uMH>eFE_P;dQyPJya|^=Fo^!aY1YxMz%GmYM8J~295;H@C24WTsNNx|4jhj zsyP9(WP{d`-lB`D{Y2CcMVy%lQUp|}pF3E*(n6R}O=cxsdE5nM?$mF|)}bY?;uG#i z@_dw4x4oR@!^{yt2v>B8VXQih#;ibSIKFoI@z1PS|D_(bNa!TN2zYIgdd_serL_O- z#1_#pB+JA>{{C&D-A&B_>(oO?^j{L=b(1X1}(4a|u znLt{{GQ2s)I(Lqac?Aki?Gpap=P9f4Kn_LCm>3w!irej-aJvls?pK z`{`8PG*IoTsS4U?pV)YTKQ8RaVn#0H+A6XTciGtObx zM@c^N^yIalOB1rG70kYdbFs+pYYyUD!Bfh`iS8hmb#K-!cmyjrYSDI3R*dwPOGwR%DMft(R<0G>v8B&b3S)9=!j zOUSa}!p5HInr6y?dU3w6{^ks@wAaNOTPak(k?BccP1@|Hxt$F*8HZ}RLgks^A~Bf| zT&w-0v9r;S-zd#Mic->9LtY|#U$}u**cIkiK0r~?d7 znz6(W^?l{K4_SIS^n|ds(QlfO9V`3{E}1{+SxIlkm~mo)kGi_u_{`=MrAxQ!sUmX% z=@_7+?VF{2Q}$<}+?8J4S;I)c7`TS22t#268{^}TEdch(+ul)}MiN4ifkP`QuKyH5 z<&uWItZ3U@yRKUG4Cb#ahZRP^3PMmbHeH}R*e@OHK_luP%r7M^CD?~&NRqK6_&k^tJ0KbY*0@r(n#nI@jH zR70VyxWDVvJ@5=zS^E(bcgd5-r7S%?>dQS*Js7i(DCod~recTOJ#ZaVItj5@-kYCDhc^w8%Bn>sY8**@%AZlGhrZQ6o1e_W+@Jj$B;JY;B(h zs{nP?ST8IX`y09dS6MxMsQ;3!a#Bw_qw4LBF$|OvPevUTa6qP}#ZIc<%wNa&^54Q= zrv4LtDpP)E^I+0_m$UBc2jE>Z{5rag{NB<>tl?^H5kT-tg?l{Ox{Plrgz++T{6y7W z4t6GQiO7__39t9Eb+aB|?&yTGSHZEKJ)R+#){Qo+3FGOlB}!%f#4Q%yLy zBo4@>U+U`e77mbiCjzc(pA|OE4JzXnhRb;1SBjVOoIWi-ts!^#Gbhw?)KDm-htA8Z z^r|ioC(0rOFt;h9<+@45egqMo^TEsZv%Fq@Jy-|gdUw~#L{M(PVFzcHDPf$1@L3O# zsB7{9{f2p}Q$Q=zZQ}T|Mz4_$_8S|DwhGJe-q~KLsj?qda0X@^cg;2tKLx&Fsu^d( zem!en_RenRG|&D@T3AUZ_Gaai@f!u_-Kuu!52miaq!yZ&JVKQJp9QdN`XfW(hPCRm zcAYkl$kzMD!^))TnKnewevA1@j?dLKabhGo%uL}yC4W+`j z2j&7GlFJotQ8oVh>gYI)4`7l>35-*w>~M!xtxv>dtjB>t%*O6a6qwgq!dn=pr>LlrDx zz%RwYhgIa+p32j$&s>O+boGPFA?HKP_??U@dp4S0m%A65=>W^Q1Y}KbS6VXuOnr4lBAr6mAw3}X(!*?~6K0)XKspdybEZIJy!qzG z!ArD55wJ?U_}`V8rn3Ia!~F1$fPGvk9dp&xHwVMXTaAxcR95bqkHxh{CgL0kR95Y6 z*ctlXJ&@=acPA(UvZ+M-EN6wrNkL3xkQ$U6hE+S++iYwc#aBv&m)2=*m@D8atCHTV za?)7;u(wHxjMDUN49_0+A#K95y8pb*jJqLJzn3+ui@9>q0sTs-y9^*6-q?eDV5k(c)mL{e_B=&W zR8`VHJe5CVo*%r8v5;rt(TVbKJc&I!t~r%hr~eQoH`O&8GAHPQg!}f)iRCoK zTBAx9q|e-JXG3v<^wr+Ehd~&npouKd70$99V38i<;AyvbOFMpT35L_?!Z3QX3Pm_Bc&dQ_ps+@Al8lFZ@|K z_wP=f)i89_ZruZC0SqR8JIlr;*;N#LGsLLI{|!xhkuZ-bj{QNUV7N{uE(Cv%=jN zyyObi-&idwZ+~zWUqx26#7&N{{B?^H*N{G}_(Am`pol~`rv>Rk#v7;Dfxu_HTLU&5 zA-}-z6F82bTARZ(tMl6ZBVD{2`pH=43)WblQ{y4%YO0uMc@y$7iRNaXl$wB|{><^(_)H2l|`~)Y6a& zEHm2cn3vB-wWkvYjJL7*@j(NfYZ)SoD?2t z8x+au&wN4JeE}|Quu(Oj8T%s_x#^x~xuWW?k;C=9jo2W_wMn#+v^!`(_S0-h8ud#IX!JhX)OzpFrg6@s`>GgEOX8X=xch4WmMQ_RTC2t`=1lI7f(wY>Oh=0jHp zq<$4I?GBEBaH6nrhOxvNfi$yw0}2mIfz0V^doy%~)r%U|z-bLp(sUvb=bJf1|qYsRj3l2>RinZTmkhN2LOER zzJE4W>{WCX3)fdRV+^2iXHc45_Y1jOjb#8-llo1HBLSk02x{T?U&@n@r$rBY?jzEn z)<_)c$Hc{}`F3tf=zo#sCLp*=jv_WQ`vt<^&yk1-P+F?leR#_Or5ya05g2r3DgG4C z53czZb-n6353kFV`KS&^AR&`K(80g%giui7j+;$D#-7pU-@Vk@Wf%13g%#w~ktMyB zSaE>Fv(_yQhv_p_Rdse=#leK0T-+Do;=Pidplxg4I*%r0>LJRSXOQk zQDLfOZU77yI6M&K?S^BLsHt#g+|x%1f&6YVmDmu@0Z4MCsOK5AhW+eIu5#mcQEjZc zJXs0YU@1~RU)Ihnprt2tk9|6~lL;&+@&IYJV?smw!-=YC-Bl&nmxaFr<0ahEyx)FGc|e?@oX%d6h#0t_1s_*>NB!AK0HUZU zy?Edp@>yrqtF1!bi^Z`I#vjI_9yP0;RSrN>Tl>D?Ld^3~s-kk|0S_BpNigwX$3_H# zGE5botJn%<``mi&1I-y}DnDef#_d{MgWe@tdS`xkb9`s8L+brY)YrO(N^^mid!yr1 z=5Y7KXSRq+nKenR`d=yQ>&Z|}U7N3yUqu-^Ft1bq+NaE&iBI|oJsOi^Km#E}X;)7J z)wzr7Ay>eoacW(?$eZrNZb!iz=9dlykIY?0XHC9Wj zN8w0eU|XIc<44$EYcs<`PN%{PilA!_%MbNGEQCr&&xdCRT7)_60dCX~l2~D81pOK8 zGeqJATsk})R+$2I7_q)njMJ!$U0bxWLgwtvESk5$cQ+8ZE~32}i&N`8mv##d*j4+X zT|!lbtz*xpm;!+eEMHmp2MR5|K)n$(3goC;e|z`6z2Q>FZ?ZO|TRqgg_%QO-d{@sB z->O2h&hKyylp@I$ONCQK2YFxXj!{^JJ2eRoD*`DDhhD_Tt9#mg>7@Ox)+?t8FMEUt z1I!_$rgJ(Wv!IyaNRd5jtq3#)Q2}}G&D}71Zl$m?A#&z2JrK3Azx&g&Dr9O#B=FWg z3B&p2o=>aTp=_wKdf+pDl>vD;B&)*ZEO9Y}Axek|MhpYK3^=eCzFV!gog4>Knzrf~ z5zXa!Z$Az07+>Gd%mj!JuU*B3@$bf+fxm`(nvTqF+~FGEt_tyqy;Li#MiIC6ICiJ< zl1jZ?WU0$uDQ6*N>q~I^ru_RmS9iXB-_uunlWFQ=~YVOSH9$tmr-`32n z)XU7+os8#1m%kNn$iLd%&Th0Ok$4fKtEZj9l#>%h|BhKJ^=cTGmf=>a+k<>VnQd*g z{FsfkV(~**DGXyg0mlp*8d&K&6VF3UtU&dNfGI{ty5fHFsu#2wb(`MWp@aY7$-)D| z-Pb6z=efK{#Ts(|`Yt*6=TSc0n$$Z3K9k^58>>v>Xa?uP3EO*@5YzB3*ko zvSe2KGqv3E&@>ofyW@fD1Tq=^()x0u74Goqp5JeM^WGKwZFs}~xl5h@`+khNVG?G| z+;oiJO?mY7#Cg1VgBR(zg`EIUfa8-ryZcy<=_xK**ev0(npp0z{bjPKICw)yV%fZn z28Uw!3yF0;lIo}VY^Z+l-O{H;Y`i+*->QxL|Ajbkapxb0%iW31E7+AfS99WEHfXC+ znTl#-$u>xBu}kwJhAC4``x#bDNDwQ!#=ALP)#@nYwW>uhayot-ITP|97nE1N#=PZnNt0XiDj&Pe{joO`q-q zJ_`uHzfCFI@$b=oA6mll%4?Oc&9!rPdRxDWY?3yj>VW(Xs$p8n~*TlWvmESfq+6;mnPjlZjsfzXaM zr2}b4j(+Z;)f!J;iP_+*QaFasC*~`@z*7`!+#F&*#wgovd!c@MPs}iH$+k=8Nry&f z{Kp1s=P=E3=ts$C=Ra`@6n@-@mlLgL%HO%Y_s{pl{A+h!C9d!Ck20p)=>;42&=G}) z8@o0Igb!8%8bsw4M<~wOrHvF>Xqilv!fVeAB}wYHAJH$gwIBt zZ-_`i*>_$)KI2QpuYKhj6pjU0eK$NMC3`ga0kaD>E6X8o;^USgfI-go#G#P`c@Wul z++Ec`SZK4ry+o;{z}l-nhX)GBFsYo)hC;J%$pK~;n|80nx$+E^7Efmx;QHKjZ`umC zixwt#EgrTj!bvzNCns}v<4OqME5nk=xBsF~;KDh1N*tFK;!Rp+G zjie_c1@q2fX-viG{i@J{)i*EX=k+CJJn`)KNpeJPJ2w+rH`H`YoU9B}73D?N&@yROD|!5hp?xu*5{!X1!R zahG8ne&Tzxbj}Iw8g;sZ7BeJ-raG`7t9<90-8F*Md|Kr`Df_r_)N`$u0C9`lQ+Tzk zT0Pd(%iD~JTR!zfir4;D$aL(+H|H|a)%7L&@_E3E7o+ic4Aw+!0C#&Mu6^7S1TR&7 z8_ZpCSJ{TL1H(HAxdz_Q$F+9fX6L;o5w*&MciGJe<2IM?u2dF)I^N+L}17N2G=tU~3<+PC^8$ z%7+Yeyn}A|SjiSZ_L^<;r~ZXDBwjhMTh8+*mvPbK@YiE?wdv?+L|4~=5y{+-u%%vT zb@1*R(v$aWi=UDF_q{#;lmZSrozXJ~NTQaW>I>FB82|TpW@D*yj4{5!RZv_2w_ZLC zPy98i1ki|8ks~brt_Cb?oj6K6gVKnxThK7g2fUM}t(-#qWc-M8@AA466;O*IE5(0U zZm;1L`n<$2Cnw{=cW!0A{`y7g%=4iHEn9V!m&AWp` z(r0Jk-C4tKEp^l|T5Lh~Q)sHw-4 zSleLi6hDN*|J5G183ueD#RNK=9h7-EvZggBFfnDnAotq#ODxMhXvg}r#!p-?DnB%h z$QWyWdu7kiVO0zshn4c>xN>3C{LTHkHv(M+R}qo(UIQN_zZiQ!d@Lc>VQSw7YGWdJZmh zE~RX3aUyal%4bi(81;>%x;{au4!*DC7K88~+$En6P-pVw!OdBncPp3y4(>!J{|lKP~UAd{!FL?q(LjZ($6g^*{L2_benQJ ztj8?mMXSM$L6nFn1@lhOOwv6@-(}5l*adE6l?_z`w3=RVhPOt`(mra_C#uK?)PBk> zoQAUx62~{vyM$j^`2$`(<>Fb`;p!w=&!Ey8Lhrn$&KXHLazgtF0$W9--6Q&RK33X? zw)3VHzeTyUubmb_=;gzhF;R`|SN?{WMQ(~~OgZ8@85BkiZ1)};oqLFWnqf?Tz;e_n z`X%+<)ki`RX4=_Yymr(iOD+JI4}ea~N;CsWwT_?P`K8xmcRSQLsd`s7k@?wFq*?MSlgnX-9uZY9)T7bo7yh|cJr3#14o)X%EmhQU!TrM){X z6^5(KRD3HIOCDanP{M8z9P%z=7Pc>H5kk##R85Z$S>W2}1w7v`B15>dYp2(Ha|(aX zwo}eRB$-rG`W%AlaWc0J+~T!MMrq$Bo5u66dSui}04>rke`%`hs)f&l@5Ir;4dQF4 zKZ@L<&ATK%LhCdUkZz|AE7i=LH^j{-dW3hk7rNSMgd->DaXf8BfY|ylS-;t9aUfAI z+VOlDrFdi@OufPe{x`~+5$CrtK%i;!YQP1Pa7WJYegB=mhu^vU>v{UE6XxrF2!<&gcyDR+c8}vBTy6MgHd2xP# z>i>#U%mRlr2toyn7shox^hiOje48?UpUo*4c9@GCVqhA1lz`;3ghY;P^kUWg!#-XG zp0*)K9LHB(GH9pS^*IiEL$wcjxWZr2fI9tQEYJO_Djp_Jgxh8gj!c;Yz$>>k=Rcxh zw9eWeV`O1dSJwqa@EX={dvQfP&C<&oedU!SBe5O4i4P9vB?E4kB)EG@ByZX;97BM1 zxj1HkfS=TcR~?}WMZ<0undRy}sB@d?glnYtUnlNYdDn0L*88*Ww9~4C?grc$>Tmk& ztA9Dmb-Zcs^r*eZiH0TRdo??ucbWFQ{x{!~niB&vV6bqEVdxgzvJ(KF=ruR?w9az1(u<&lE{=rj|9d&FE5(Pw2y#A8 z6=!tJq{G6TISG4~j!=WBnw0=5x0vSCD3*37L+2AM%^PHuh&n5fz1TJ#*?xG;)hck+ zlbND0&YL07xyWk9dQ1qs*YeBD9A7P#-w&esUJ{F&{X}GA*wOi|vBbWFH}hn2m>k}K zSN#`U4h?gGXIln57`XG-i4M1bX{--LvMs>tSp5qb8gWZOYGccy` z4TIZ%x@z-;(`VVo2-~0CL5y$M7^-Rl>Cnmt&S6KP?J=@Ol?c3-W>k-778cD!Zs_ru z{`#*^k#lP@?=)`;f7_k-e%y*`@Ltru>`o!FOTkBmp*Q1&N0cqXg7JDR%vAs>-X89= z;`R6jx0-n2fV7iM>;xPye)?FxM=Q0p9y(OR0Lst2jVaGQ52Q2P1bFR6bd5zftU8|{ zK^oS9J;fkA)<0n;Mh~r0C0SmO;l$zpxN!K)nxuGHUA~ZYWG6ERev$9bix90Y&_GDk zs@YASRF!O=v$5?;`e`?_bZ{;u-H+sL6>H9W?-)}vSdgrJ2lQa3f zU*)BSt98;vb>}}F%lq6uGY|c#7{g?k4V5$7papX+ha}i*iq8Yx^x9`QJ3i zI{88Ej0bmCTFUamx0b`|QKuUHhFV4heckW~ks2w<=tJm|@*x?Ci-|x8kL!osr@e3; zQwjG8gGJ|td5NW4i3=<#xW)rqwM%+%y63I{+PK96Wf1KRsUfAB*=7hqC^Eh-}J^k>H<)0`&%Mlq}ud1HQIvLl#-|hVeI+ zd}q}jxD&(XhyAJ;h9{c7`H#fu(w0r5EvZBVHVA9w8*Hn@Z#j2C_^c$M64}tsbTnP_ zgRgq?wpd}j`=7$xxasJyhJ-85T(@~I7b38Gb6pYGp_5)ls!stOhv=>9BQ&e<5KlN? zdC$u|kCGTGBdTAkY%4D5f12ZVT2_5iy9~t9m!WiM`Zi7BTI1S~P&^)K%TWudMng>t zw{POd#V3ol-scgf6Mm8`e$RbS5#EfQ3)qQtJ0fT}+TgdTq~wITwozJzU5>idzH^V! zZJg*tb3YMcSv`OJp2xHQU_TT1%mhzml%F@>-d)~sr{O2NpMO30G_gIhchExefODK5 zf=8X_;JB9^Jt|TC_B9_mI2$HE;P9nK&;qd=bUC>rA$c!i2!s2o=BX=-y+|Bmxaj9a zOYw=VlpdICn(F7+>_r6wPEOX(H;AlP9JC;@()X#X^^ZOwRs;Z|CE!4Sj-0vZ$8GM^eI3%uX*ai2Sf_cmT*W2AEzX#V+3AsAKsfBJocct%Jk3r9pK^ zzx}%GvK0eWBjww|PAW^*FaOy65)>CjzeE~Z^Z8hy4|h+e05EeL(EKBPb(eYbUb#rJdeT#TZLn9 zif({`XS9cPo158RfCjJq#nU^WngFN%ljNKe+}v>9Fzy6wXPmYYlffrQ^%q9!m#dOp zTKLf$EUNP<7f%Pt!+yyxkL4tv^-01?x9S%URj>beoUF;%vb=qYA0o1!ss<}Jo?|M% zg_nd9<})-?s@spgK7d4Cg=;gVRDsaB7R4FebWqdOq>#X!C1~qV-GjYDF}pGZKn`3! zM*&A;;Prt%4^N|$z%1M?BGC`1zQcjaj>;Eg5vV!epBYPb(}9}u(%&JyFFB^clxqH;4aXj zT{3%81L3;k4z-=2s?rjZ%CqOw(xuk}$H5e@{pJLTyMtTa%7YOHdb#GKrI>bCI`n2W zWYBbj*UA?j{+Ane6;z5w3Gsaf#f>F{G;Tx$=-N*QB{9o;VgpMO?EB-VY~cHYt;!4> z7}0FVYgXLi9fC!*`pE-2V7vQ!Bor(uw|nWPL@xxsMJ&5Jpoq-(bbev)bO?D*{us^V z&eH#Hd2B87@Q-i>yrbv&Nhe$vf8Frb5I5EHOfu{yA1FM)ggfErMdkZND>3RuFwpe- zj2S#yaj9!Y8WG4(uV92Tr*k2&Fr}fLk#5*De(f4sy#`t{|A^c4TUh4E6jw`4G>-T3 zDH2|tqr3kRg>FrRPgzcU8R`keF$2R^L2Qtc-j6{9cU z!pve?9)-^;&!n$`NDN4`_@B@`$E2NoJdxrVNG@D6xgM#$oQ&xXn(;G6>%_8W*X6oi zX0uoS!~M2i$$4tno)WOOXa*?g6k0P|TW~^)Mk*|URPko*7e%Owbx9)3K z`flxYm;U|U63}5{SQ*UjJs6=0-rhsWWv=d7B;ss2*=Nsm*MyrBhYu|%`BE=XsAKu{W^?0oXE*0{OXa12rWJU>tZW8 zzHaIh06q{wkX>bd-}ho7q+$Pc(`AEsgFk#j z=e6B|JL%vU5czC=eW~YnmaN0y?UcAHO1gwsidGQP+Lv&hf%3#={Qt0wH1gS1^H6b7SxUtzU60Z&qmkc%}#->?GC0 zzl2q$!zJG!*}kqYmvZBD(jU$3?0{z>9l}xWZ2Ab0xx4EDV5r$mQ-f#UY%kPK52ZQNa`oXfIXG;8 zv2*$054ZjpC?&_97JycOkZIPAdvsotw6SKVrCIci@K2VWIZj-Jd-8Op_x>{xAYNVMJPf`=}|!|f4QPKTi{_^RwubY$6MHTPr*zN?<{+dV`ba%vlg9A!v`k#?;xkf= zu*&$qsHCaKkucc0r;F=;0Oni5kGYkW8~&ty?%R;NrH!SBa+*wMa+3P8jUy;Oit!tg zq^@wQt|8p&b{Ks`3^#A`nHk7>k(+g#RZJ3=2?(!MN0@V`{CDU zXF0>cw_2gwKXGl5p%-s~&GY<+J;=o;>fJg!f9<_O==MU8ScsZLqm|IH#1Lb;t3Xb% z3d!`J-v9LL|JctPNZFShy8(j!+k&&jr+x+FPsj@TV^WQ8UnmwoB&!C*!qbnTSW&91f$WYw7pfRzKZmZe%=#e7j| z)c$$F*3vW~BibySy)YQjfGXX?b#XwL6#xRNeF%0#>IGSyMcj|BbsjKntbS+OE*O#a zFR{>o8ISG8_1Um4Z{W%DlAEJ9#Z7}4R;j6lUQl+HncX)P>^u{V!A47j&Yrdz_<6Yg zliJzwf;H2*6ij2wqz#WA&E+20jvQ%O@3}!{a;C2y@x71%I3*v3RkY_d(`SH&795Cx zGDD=3$XO^RE zP<*tUlplhU2KZQw|2CeG_CK;Cg`r-Hh3%a3-7kPxbAC!28rx2K*dsV|SEU%FQIf_{ zszyv<1ii+)iclI5j5n=kPLH3UCJb*a1vU$E?^I(AgZVM@nGqVyShqdZv5FK~Rq98a z-V{bS(QIL{K9i-hIbZS@Hv*_#)k}6$5u!W;sd;1RI8XC{GvIZAR5BB>_@bS=NsFkV zDC2p&Uj7|@V@R>)$nJxnW+)k-Vfx}}tbyK~$M7>OoC!4EO$5T=5Te}7Xmhxfp^!vQ&FaDXfxb?ByFLr6og9JGoz^|HJ#0@U+ z)|Oz6M6jh^`x;#6Y9oOwE;7u16Z0TD&I&8|w*d|_V_;)&Yd=oL*xTV3a-p^6WL`&r zOT_^+pS&V`9H>^0GRaG^=@kb8iP<#uOV?cDnY1g-Ln5Lga$0j~W$KzsOF`B;P@+!hXwIIcZ-{t0kKelg+FLlyg4tgPpCDkKS}LdgdJFg{9uqxa+RwtkA!%N`yL$s`=p{^ovmsNy=U%Lzh9m26n zI=?B=(bgs%frWF76}j&InFXFDKio|r>dv#72Z~*BDVnem+>|xjQ}C0gDYMXpS{k;h z#kZF{1EvR(o`TZasoTG9JMzR4do;GW&-Kjjm#1CMa@jY)IwQ72J&=bfFm;{IKy%>m ziy(lE@Jup$I8-;1Ee?U1qlJP?eC6RGR>Voo%VOy%kZP^FC3v8vr5eiv|07SpTY0Og zV}*SE7M-Eg@fa%y_PasT(yyC9MHff}H!rfnvCde6cFrVd>~w;mP*cBzSApj_jE#w3 zOb41f>H+q$pej3qm7pOOEqAD2jEzi(t?WP?@)9>f3C4pwXJ2Cr-nh{Js)N@ji!dS{ z=Pw_&`Nx6d^ac4VJ&@@PauqH>`z)+n5oYvy0JuY=kdN?|HC*F>7O2yucwqI9_5_Iv zUSA_8@mfsGxDZj6_!afE&5NdU$=w}?D~{aA<74&hsI6k-3+<+b^|*~kvt0YC^~$!y zcVWe66W0)(v{7FGipIP!B)hXxDpMa`Jx7l~zzWC5C#EvR<&A~$th};|ohBa6^L^|5 zV0>f}h5g9aF?J;~CE#UFy51)?yoJZEuP7P3*RKGAS_SO!a0JHTE|2+H5Wb@>hWn&% z5UWX+wKzr*^7(swR2Mx*L~!JPmwuUdn@%Pk3tdfZxP-&e)KzfXT5vq!%mr~>Y#~8% zlF)+!iHut#%lVpJkRQwN#Lc zTy1UHa)QhosBA4?>QI7L&^)q_-E_q9q2T=b4@AsQn~|l7ANyF7&z|Z%fT>R%V?0I> z58>ULZ(R!fu7A>-F$e*I$^xI1o$Jj7N@BQ0PT^4~)+3`lK#mjnI z9G~JhFj2R=Rrb4i2O)gDz8ch?j$xnZ+7LBklW?jP+oR8Y%xM&dO4i%wOI1rlH|}S! z6kQ(nPt|_kQ~E`iNJFh@*5cA%^2hw*;H=w{A9wSzZfK~%scR%-SacO%kJ7NoM5v-9 zmHVw-gt2NKYo2xz9#==K2exy*R1Pw{lm3|n!e6JJ8a_{&#Gl4WF3lb;XvGhD^9*dyG>?b$SL+Qo!2xF-uzGGi6!cCh*iW~fN;%YSC~&GrRxJ$B<+dsy6mLf-_y zLaglZK3zjiy<}2|`wMj*F_GN~y`>KzKwL#G4k*Ob8NNWBBYC^Um*1ok^v(rMrx#pC zYtQVs-p{mLpP{Nj>Z}0G;)%$Xjr(-nyt@f3UX`9t1aM30me|43#8Z^bNpD_ljH8Y7 zb=u}~bJPM=cLubvvh#mudzkpuqnPS>8oItk4;2;ElD90#v#Aqp1QoS2*5IVCEfou%QziX94ttQfjV+75X1g1SD)JE^VOiEAv!YRhxf zO_z+RB+GY0@i{)Ni-O+z)WHIXk4OE6uuB)4z2VIieT{py9y_MlyCsSu~#npdPHO|weO+JRw3es7GL7h zt>h%p3B3X%6&54^U>ISJZGv}pLC7X(a`%X5iR+`&FbCJF@WZwIrdtQ+XBL=A5!WyH z_rY9y7DWl`FY6kPLtC_l$R68N9vi37eY`d?XTBFh6BLc;-T+AAiEq4AR@DkIdnPDy zu!O;vm+_lzPCpa=j2$uTjH#sHgWadJjWZjiHz>#Z8@qX#!|`@QEq*4SZjRUMcl=e1 zO{H7?6a8O2F@ZW0s4=-1qHVsy<|G0MQ=vyzH5Jo$LyWuz^VLeYk8gKz95T~`P3+gj zYO=fuK*K=tQI|r?ep}+V@$!hP#>#rE!GO3;bEe6AwJkd6#h#KSKT2Kt9;n~^p3g9J z(`1tiD$NttvmDkjD4Z?Hz(5VPv(E>YlHhD|i(F>Du{3&AA!y($Bow{I6Sk zzq_2_^zv@8)bdqhVB}rUyZygRK$+e3kqRv-xfrSZ`C7zmaBBVNoFQ0BIXW?C4ci;s zBe#CFeZMcgCX!6s-hHc$a)x3B0rai64|UCjAx*N$(mR<~Z=YHoQpGnKTcSw*2EXNEEZnuhscL2&Ur-5>hMM>Q5HpXG0?gpY0?d_r zp`5!9B<`Tb1(>Gn#{7Zt-a$qAAc)`8xd;zD6+n1(on=WgH)fScoaM1|Ds_VYy+BPUfjV7SxsG2H!G#E zOYhtM{a^6G51jg{!zDq9srj4{t~w|P<61nxM5M3<;%n5AzfTC4$lYL|eCRUo;Ua># z>wn*IJP@n!#zzRX0~IEvAo6|25F@5fVJX7xQ;-#nVwidlQGHoD{y zOY7ggGqSRPt9bEjpI1(wKmbPy08z_L8l>aF?cp;~heBFxFKc6PiXJT9QnDJEyilMjVUj_Bn3+^hoQ+l zt@X=G{Qsjuf}lxjnPAPeQMjJew4F-c>aSV)-vzYb-@m@|+xPRV56GGiTW`7QyZz_? zmnMi148g|#*(^>X(3Ci727Rn?E4 z-IFh|1W9daSYj*WKuO6cj8Bq1I!ds$S!Alk(P0=!f8RmBzObJM?X!Z4dZ4u1Q;xox zgRpM$L1l;VcFI}7r!1TT8;zBfe-nY93dNY9mERuw`Tdm-L^Jcu@+xtY1ZTy9yMvg1 zqMs(O(^KcvcLza5^01(L)HtSTC%;rj`Nhi3T7K?@vLQ&Z7Xiac%{F{SyZl16r+Sz} zpyx9xT97*JL>n+Qw>)S$uS3B|8=9v8JwnAt3#5;FLIhuTVbS_bM_3MWzCv>8Vu)Ba zc^nb4u)w76suN{GIgnO}pBGRO2fK+~H;9t1-e`UKypUpBT=m(g1xKM8WkC&8S8{Fb5yVj=0Axz$E zmJc%nf)nBHjI?)Jv8cZEpEpGv;FdKRYj&*!UOkTu9a%8G_+O=B1j+@73+En*_fEu< zF-_B|=jdz)a*>ckJ8&H`!M+3~$-<0#uWgZETV5aSS}zqVk@$n`X40a3xx|wb}_1X4mWy_y;w$Abg77`Os`yCxsOcBZvv#5o)1j} zwU{~Wg(esKHyHr{S-VeveP2#{$3h__&hvL3DweQ5-ZLOL;=C=Tx`4#@P-n@a>9fA- zoAw4rO348tm)W>B_(WtZ2ssx=E~z+UJH}UW{Rh zKeG%hABiDXRA&Qb`<0cu!c|G--Qa9zc`nPHlMRd7jT>`Xj`TX&L%F%*T%ckvaR#8V zjllL^3y8)bkRl=yVA6lTGrGfYIA=K`d4-rqRmqwU=)R%oE{S_Ax$j15xRC)z2ed3zNu5tVsM zMRxY^-TnI8XmuGs9C#F{x5bD58}3C1^+6i^Zzf=v7jD3!-^voPc}ty zZbv1UmlYK}z>K;7x2}8J>c3KL-#Ra4pZ-K5DpoIUn>qjLsqsF~o0+BjXYuDQ59|-h zFWmTbkj43p6~yZKS*cTEP6DbZ`;YPrPXJxxQ9}@=b>e?|&fdJY^KPAoey?GjBdtN{ zrvc;*XkmLANhde3&tp2U^!sC z3CI@VPb{@A6$i1!!CkF}e8f6>%~`o!KKUzQqUYMg)5{FZ6LA=G%)%~*;aF2~RS9{f zkBo!2@fuQq5Y*w*X}sW&{wrs|vnriFYGg0om^bdJWUUD^B_j&U)njTlLqYKg+CdoU z06=ahq6en`-R<#9Y0|jQqIX7!=E7Jg$Xf^%nP&1gUO(ywF4Y`|f28!~1EI4zuW1j@ z>&H(~8pkSX7KDqGmIvA)M9KRYN8sUy#lnH4_Je3@d6#CP{J!8@{(&K%_O=FsN>;o> z)(FUgs{MUz+GqFciWIV6)jVyT813V*V?WpAVw}d!&GtuNmT5vLx?o*A53~a|zg2L( zy5i~bC$3NO{6~Tynyj(fY>!O+-v4ku#Vkv|X`Gtgh;p})s3F9XOrjmooE@NW=A@D!?Vv##-Cd@z!H{&LQ&vyi9kGv6WEr zpZ}Ky7-Wpdt;6jls`fd+#gZXQz-&jw6}HA={7%$3s!lNQviRt@j^9W264V0X**s#n zpv(5M#!Ue_e3-TfQWe! zPH%pD>Y)sP%z3C(z@&1bqU=050`vd7<4#1Mt+C$t^W&due+7A0({+o{i&Wj>y!6M! zQWGnD%p_fUVHlC5CBKJ9;EH$0wsRwl#f#s{`?e?)6V)5b`?%UEQKs|?!=XZ&ub7c@K2|FZv%$~f;I2>rw zz51O%H?2{&!Xa5Bv*%`9MZrN#WHPB+Dt6ykOq>|z}Z)}w~VC^Nqqs6 zK931mL3_#zvR=PoNO>&qQ}rG-0Z4d#^4@IFkk5C`oQ~+XR6&y2w<%Sdm^ip=^UMKH z0GFTDrADB9Q+Q`=&_m1#S~>H5WvZon5wDfhk)5LoC)#_fmA_v8CS?=lx~8Gq{_kUm zh)3~ht-=>SYumoO?8 zz|Hg|)R)zOXDZ&YZE7CpvpLbYzp|wcum5WYKz;ge12mlH|KhQ|^LV#u)=R~>)wl7t zv?W+9F?aF2gu@#S|D?WRBiV(r3aUG@Ed$Zj)ZY`1V58^Km-=UnRZW2160l(L1eIN= zD!;v!Rq3>cGTBEky0~r|t#=W1(*=Y^ojAVOmHV$vz*4#Eg5cK3N1s1~-@UPajI16V zPV{INdTiZWUncxpDk8?5J7>s`kAy_I;@(a?bh*{$WfX*{vYH(S@4a$C*g@c=r8m?- z@Iz9WO*`KIIqotPq`=C!iGFDwq`I2W?tkCgu<3 z9Q~5{p9%juRY&_sYJ-xB4pGu?c{7L$po>^U zr@Aj38~oxpbH*tb`FimA4MyRCK!_=SGGnO*tTE#dk}|-!rlawe=u1JM+H~9*g%f|H zbH9a`85~3=ohFa60nAQ{gDC%OQxBv*(OkhbvTLW^d#R*dC%aenc6F<_m}~ubCekVZ zp%I$7!&trAuUyeQ8bS(d3?rbMAs1ejR(A;*9xAJLgUP;Mu8Mil*y45T$zuRzykoG; z52H8kT|HpuJNElt-SzkPwX`%+iz{ZAqa)?S*7cE@4=cPyJXT)a#JMXCPB8>)$tu=x zrhisj2g46Oi8z!hHC3=@OX=#zi}JzcJ_tTQKQFE^$bp6#Mw_BJP$oB*s=v*^rK_1G zaJP9}fBMoC#j1y==-aK5$@=tmZZ@l3bOIKf+L*I(aQ($dBg}^bmph*f)6cfjDzq z5w;^Euwdi-|5fJO&7Q>8KR`o??tgN>8CLvf$m!+2`*hQ_VtR63a46^8cfMDn9RK5< z>v_yfsjPOIM>03oF5htsO`UB~yn!Am9HOK%eW6Szlzy-dsV#B_kuPpzo97}l`nVbY zprERW+U@f&&xoZ1l%(njcT>ETyF97{kIbH&fgCsBXzdlxG)Ip|p#jYU%3ID;ezD?a z9A$tz)c8~Zys?=-Scjo)GaE?DrQC9WP_qU-Vk@w_e4JNz=JgZG>pg1sR!4JSJR+4f zV>;`WA3lHYaA^6Z2qX~A43k|wyo=`21oiTbRg`3=7jT~cg;|VE zWQNLK4z;7boIR$%PsVO|<(^TuOxqM!jnII^4 zMI02zNecra=KhxsIU>8M zGe>tJWdW-3_NMe+&_81iq?pI_FZHfsr&`+VK!_R}NGWEPRC@vl#Sq=K_O#;lO!jSX zJFlSWMhaT+h4EWLkIEox@8&j6Ic3a*wR#ii7vusmy9fRTHmhdHy29!w>OqN{PvG0FazCq8~MSZh3bPS2^J+?I6KpVn|~90%< zz{;A%c(}b5M6}jynPzQz@A&P~u6WGRKZ=8Y^KIhfJ6CieO`zJ=2qiSU%7eJSOLY+1 z2RvkIrpsS4kH4lxt;n9cWG4epsW(HX_hR+WTE%!i(Eaisphclxy^t15FX?_*NX5>2 zudZ^M*T=WNbs)16){N=bH2q5h4oZ&fBK2L42h+l;cO+h!?fVQsRrNJ4Z?`hv1gR z?qi0B?N{nv>|o*1xLJw|58ZA^i=_*eom4N74p1QLlPuv}ia(|Ab;HAB zS9~`|K@m9jSkzM`Ld@MYeWtmW`f3l1PIc5!tuUYjdCbXuD=4tbUjjSJs|dQ&RK@A>hX!L2ozLh+Ne z0pr^l-QaFQNv51I{_7#{x-%f$ZZ7ZyPATdrB4kNGBGIg9Vg0Kfq1VVBzg=i$??5Z) zqI2W^i`fVUh`GC@z{S`}$*lEfO}fI+>%6{}Z^9GFiwpO`o5@vum5*-9fspTB#12%i z5+KA~Be}!)8Fnpz_vlDjdTR9QlffDx+1jNf4baVt+lwKlpHlRRL4CnZLEd~w%L2%2 zQ=XG!Jh*V4?%Q}QVm;I)LtLQzV&~M!Kw}fnyF~yt$}6Cb@{9cPL>tr<5zgj?PKp_5 zMof>4?7C^c({=Q(w$9?}_;;BXT;C*qA|r2Iadasuj_WSFHGJDmkx321VzXCe`k9UK z=EnSJ6)$sW7bH(YMhXIG&j%V?TnsR?LI1-#_jhE?(sI7dz&t2UBvggOQ}v z^(_5cnVr0;Bjgsc8+Kh(A0Wj@oA73B(~S;Q@Z$OxbBH=fRC{6X8ekN^-s zMvWDEXo;y&OHPA5=^Qp_SHdRRCjU{3L@xI3fniQAoaet0zUp`lKy!0r;pnB{#QEc7 zRuIoG>Mq&4-y0I_THHTqsvw0!6-wa@kT#w_yHj_fDDa0P1*wK9*tM^>gYbj%pdU`D z&RFaJykg?&(yNz8Fq*9AwVUk4_5l?{oS>VmbG?uV z57A*;76xh61)REbubQXQ zqGKI$6Y@y2+9I-gZ1`@OGt4}jPipBBz2=-6Os@AKiT;R-tU}k-$)WRMgK#m{;2_N$%%fDu93_m_4#)THd$Q zrMDjCY6>ixDm!A+f2sP9?5~F8Mu2%3;!TOO@KUGBX3Kjt6q{VRrIsIRgobadmfE(` z93w@%)oTqjX4ih>tfh|=X47J(1@FX=flW}Be(<|~0YbhS@**EA_>HRYV+FN1VuIml z*87B4J&Wp;xQbx_A7dBv2uY4n^p)*7wt(vTN3-g*|qDsWd zrSj(n7+QC=_mo--o@|sUvUNDNB32dW0#>F8R`FQ>8s~=$DLSVHF zQUm$wuRNa4=Es9?;e($(iG2spkH*aSMwZ$RE~<}M{vx=}5x(<$vDq#aZ10*ahSfLXZnU2A zvv26i1E>(Pp+LBdzm0pfN;|!LI;umsv~)M67XSfqt_HcO!WFE?R0hIbN!#pKC=a+4 zA!&wG&gG@mSI?p&`Ke=e=;RX%Sn)zI149ZEpMNmo#6S{ zY4v#&XBbLtld8cfsS{XwK1Xf0q(U7t78K}!q1HwJrrGB4ydW8eTI*evM@c?~2?e6n zw12;|b^Yn=(5K}KxSr^#wKs95wFFyR&HS&@vTQJ-;$}_RevPs8hiLW&=FLW0g^V#V zU$O!?OjkI3U;a(?x6F>`rx}p&Ypdswd|X0vcn9egxLk1;j(;+xAyA<=Zlpc*03uK?{vK5K+1D_trrgw6KEiyg7u}=KA8cRCe{r+E|HerVHzL z{C`q#ParL(e@=rlUr&|yHY_NGtI`|v4v~ar&Cgtp0cU`qA*tgz4$v8IayV=bh1P!+ zPSdNrGVkL zNNug0=%vQISXrMDyN9Prs9$CC3ZRt6LAv74u6m6?cNH~EjpZ;CmQl!7?4s;IXFpN& zN7%#a{2^|3&uSvvT6|VeO?Iw~+0HxJaJ0nQlEr+SuQ66Fj&vm%1b-3CLxw(#slfW! zDTvUwrhqsUBcHws%k#x2gk$yMkfaVdjV21p4P|pIX|j6_Q5|jE=|260d57`p?8f+5 zJsq;~;?<+p8b$c@;2it)CouqibJKiB(dIelDm(tmjmQ#JD#}TLJRN++DEYhnmVwYN z$hhGD5#8}~h~^;Fsz*Bw#)o^j`rtlejS;kx<-_N3#k~*xuSvcYZGNqptxIU4+(Kf6 z;B;m(s$<~cr3csyV&e2|YE&>Db;ku05*yHnmi>Ne7Zb8ZLX!j;j`Pf!o2Nkd!j1pC z^F=ICFyXYF+-Tt5=Zj=->gJQ7NIiD6TJc1Xa*^8Jzv3}sz~zfb6Kk`}ejbi^4MPY5 z58SHsSPPq%LdiK?O8LUk9n4OkH!LiFo;D=esb7wYU+o zor+XVypEQxl*Ym}FE*ENw=w}Z*Y`V}MXScB?GJkC++Gn82)ETCHY4BN>Lw@6xNHV~ z>=8jIed0pBk_R_j3nT9rz-K9+D9}7Uggx+VrFn&eS-xA*J)ThIO9530W`r%Wp#!a8 zY``3&T=nMqXip;e-}MJ^p9m$oy5scF`VVm4Irt2Gh`?2TY8n*p&%Ke%3!aMIl2o7m z@2=3!VeUmxuCGi|GO>`9kS}P4DPnXkyzZdmIEZJC-$e*4yE2Gj)&I(v9r3h3DG9fP zAEK0PEZ>K`dCI;C?oshFHjBB}PVM8h@tlc_b0odc@rGCbDs`idAyicy!&nOjtn60j z){Xn;u1@PFlzy9X;w~sVwH)8!8 z9*T)euYH+)=BQN)-Q8Uf&1nRiiP7Rw+|({eL`rqq=8vgpNfeKV2&t=~?O1;G>Ow9e z_Q;G??;8ZGhsQdQxYP%Xq#4z?UB%78+Xfo-tp@oD-b)oH{t{Ww%A2lmH_Km!>4Jg~ui7IpzV`oWY8@#mRq1N$*(NUwpS<2nWL<+J z0!Cf$y|>cBo~59i!rC!qP^4q7=le-m4GoSi0*z!HOrwaPZ{p9f0IkOCpNk`PLt;^ zUhjN>E+-V-Y$51O;=Lw zHuscJ`K-&0?hZ4cjq2ts<>37{vh!ToXMssj#5U{GUTHW3XQHFcsP@(Sp}JRoba~m9 z2gXk`&?Ht|2#4%I@SC@}@YuiX^Q8}{_oAQ`mzVl1SZGo9M0uDxg;+NN+=*@4`0IZl zldfVlU*!G)`N6h-v^+?)lAn8eS&T!QK6)(1^Y(L2(EEZaE7j$H)t>3wamuS9N)hJf z;B~T2;4+ZxK?sB@MrX?9ciYUb!>XfLWFQ2;f0#O9bFWDYF;|C+jCr(ZzEtsatDY|^Eo-8(YV^}3@T9D{lFkuolB+e(kbd9A9b13^ z+7OzD6NESFq}Dd&*OQN&R7P_ZExy%BCm8HXd@(R^Q`F zo!HY^42T}4+#I8HQG+j{MLei0d+jr*V6X&^f8?+zcTKOKRT-1mzrN#e2`VYtUec^G7- zrycvhurKy=!x{k-ookkwo*E@MMJ>#~9AYDcOnePTuL@#t2VemtWJ;q+l>_A9Tv#0; zk||UNO{FZov794`mSzn@iObZgg1~gXm}rlfQWZfv-9vbJ;?2EtkDDFceoNi_L;m4# zv1_s07lG4FbCiI0Zu~d>*!Sswp23hOza5=%9apy|bOna;R)$G} z*<`|ab4t=W6eP-zVj$vBDUKN`Sjfby8o_+WrXhMG=pxZa;}7t4U&BSLxn08iV1|pU z{%{>0g{JC9QE8;i*XkX}Y*yxw=ALF(1RjgqUxF!FP)CO>1(Fjl23_nvXxKnPOH_5} zZj&?^NSL}s5O6corIx#>MJ53FkZf3x{uI_usmq5(l09^G8RPAHI$ZJAR?I)ug2 zZ?|`Xj94#Uk+p!~ZCMn=h!S99nT+h^)ru0d2G|tKu4e;xg^-@SSTlAt+N~>S0)t-m z4)@s|3s0oF_q7}p&t-*T08Zl(^=cy1FM0v1pA`}#^>ajNHe7x`f90W5lFv5ir_{5WEG1VfR!@(w+z1zZEB@4x zl1`mzd634LKRIg(#7jqy^GQ-JDj_L0q}d~N8F>g$>foAQ&F^|x9{>Nc0Kc(hK75sA z>Dd_|XNnW%3ySf1W|kxbZR~UJ?~$L-LCsx;_4?%gx8-u$1)?>0>i8hh$C7258ZMM8 zph3CxP*%p-H#af)*0DWMqd1X*%L?GcSi&O&@6bRACTYq?I~=6D?xHPy z9DK!Pc?)uCCO##umazN{sG$=XjB_ftZ4^mHbm8v8G4mFJe9MDVp#F8~*n=}*AjtV`x~PeDC6Ac~Aw zwr8~=NqBMd-VI*bh3@K&yw+MRaiKhpx$>w(AqUu3UsWAn8Fry{gNb09X>2yQHT|z- zdtx$&Zt>^4j^}xXfzUwNZ5|)c*$LT4)eIw*s-E7dI$wJP{w>1!<$oOqJ`dQ4ed<%Y zwrBpBbQm6ulK$_P*{hH7tY^a|-!MyiG$UQNv>S_q7nd$In!Hj%1mlBM(2Eq+>_}El zYdDM-Yt`T%x0PIB>}iL`g{}+Fb+BY0LcL`CFI_Av4z*DeFI6*}q>rYuGMSl;@D7t( z^=zC#=`yOMRgs?Un&x_D94ahw$^5J4{>@yV%IA}Uvm_n^S*@s~rg6B~m~EAR|c$w9I_ni>|zgUwRjomV_FP69o*Z+|*>?c@KF z2uIg;9Xkgu+eRNW|4yioF8wn;bGRs#ye?W~hlg&tU!!j6th@;Wrx~(VOYc^DxDjp@ z6Med4>6gQFgW!1FTS|Ri2VvmluS?rk69FZZ2Y23j4S?pHeR13xLz3?y_dIlw4|Aca zDQ|Kko4`RYX17Wv|DcJ)O7!AF!aSAQi%8@oFTjaz-Vr>JoOe$A$jW@F3|i5O3~h`z zFPHqLa5||F)6(juu5o<8n2Fa2f)Z^x7Fn}%Y^4Q6)36bPjp4jZINo;u^a8J?O;Tsc z^bEX?L@ismq9%ZNXwr^w~AXaDHm}~ z6dPk-f4eESHv^`uJx(3L$cc*LS^Trd@NEVeF)jn0HMx(=7HQ4OQRZyl(!FSE@Azak zK;tjqC&+p*!5z!u7lMNPd!(s7DA9~hMCJOxa~Zu>IvIQ}72q6&uT3qPha4N0Hd+#BFQabpRms{Y@o`t)Nf>?$}uevQ2GP|C~CU0Bm zLiR7ct|CZ-GvhXVGcZ4K(u!dC5E4g%s?)clffQ#)KCf>AmG$ zMCkdxsp)*-Vh?-rf`=*hR$Gu;-~wDDnQ?)gb>a1N5fdk0${{5(o1)AT9v_O2uXq(&NN{g&e$I4 z6J5?+)$jthGm z9Uf$7zaA7HedV3vNrERW*T4g6D*IP8iCLG<97!VQE#@h^8nw$`dGnbfC=wY3DXb^d zuffe}3f$5s4kID+^C6xLI&PvRHzaTU0Hz|MPt*XmEB|!iH&h;v5(X0|P^zjXX(jR; zP{Wk`z{jrYpNX-{g+0t!kngIBc+AROb>mTpPsVR_p$>aD3m0)Iw!dF5S3Y{Q=lmcc zd+Fi3E_(xawm*qtmW0^4=t+GlYFK1O#uxk$pcDdVb5r()0~Vp=pho>o4z!Z{$Rm!K zf0iiQw0nW8zUqK}OgOqd9qKO}eYKrh-m`V+69acRac{t=_~VJMjg{({oWhmN;+OtP z$t1uP^|BZ9lZg7mBTUY-js(UCYC`Cq#N9USvpIPsD5v9fvZ{uP46arY**p0zMcLrx z(4K*|taVWwnjK36VD@`08JYIg#01{jE!I>SXl>JkDeIK0BY7apLt z1#@63UEd*0UuFoLiL2lE=jO2dSr~}_2s!aB`B*4dRS8Pc=lU!)pV4WTr9(sP#>iar z6DXnZ!n#g=VqdO1>u9}hv=RLjcO`JDbZu+v$6LV&raAjh_6d&1Hi|syv(@zq;3%C| z5gqMehn(y>jsm`7Af*0StGoljpN};~aY4 z+<5yel$Bb7SzAIQ4Ha}TK*1hAL?*xR@JeER#O{cV@@667LE@>-4k@iOJ>Iu*Ejzlu zaupJ8m$$UaRkROfzeHo)SE=XG^A&{=hW>~I|G{A=Uk;(Ql4MF(lD!NmoDA6rYQu!sD=QtAm{leI>zhuq7Q8rC+- zwS=3DIcmrD*N0!W4>dircXskC$>1PXe*L^0jF8ps$Z(!Ylj0udM+<>}CUO6Au8**b z*s!0NR4qEdVoQEIlU*NV*PqFTDbv4K7olXa(YLsu+HEgXj4e2UCoF`LY~8~kEm2Y( z;4pVVeZNLF;hmy?-c?Ue88X$+=LdFmD>IQRy1MD>!t?6Sca~)O@*g?X5w(FM*!52~ zw zU(?}HiiXRTpvDRNxMRQ1wma|n&z{S({~PQ4bBxuCb!+=_`Ns^;ljg;Wh#oPID)=0H z4e~i#s{cy_6BA{Cu zj_Jh4_fQ79qIfzsEVm~f><@P}yUg2(qc!^-c0@U(kW*1dBBK$Ffk}4R*obyIrZ8OQ z%fss`0tkobaFuewN@uRY4b9$_q_9)?!ko$=k%^aJ=u?lZbXB`4mJ)s2!Ri#QYI>p3 z_${qat2TF?%9?3-nbKGsSp)vsKshyR`R`J}AplzO_T4gCQK8%d1WpzXyQWvChA443 z@rvfz)ba4lHmPxpw4mG?7R4Y*@G?5(cC zsc&4iGyQp%nC#_Bx9YyEfu0hpe;*Zs!pfvk<*P}RnQ*&`y*xe^eF74RY@KB{xWAjGc{0NK?gB)R*&e|mtnymGr0b^l zT;|etPv5Ce=X*)f;$gBO*_mMyyxzRo^K3y`N$Uw+K1Ar|WpzbhUY9QW5);YF!f4#z zQkp_J#@gJm8>@Z$;KqK=$XLZl`N!pIP%C+ zF-c2(Hhw(R$`OZnlpHL6qp2ILQ>i#1EkUC$`%@sHS!pEb@*8x;DA;npd_HU`SvOii z?P>Z({3tQmjRp^P*WZZvh{1G2g}9Z@hJ;M-U?u5)sVQd4yqQA7<`ON4{O5Z<=pLuj zso>Vd=C3^P<|vpsKk8)N_k(u#lYK!L?wWyni;+3YvQC%#MAo58)hi|Q+cw0{dnE6G9k$0i3*#NFr#$)OG z1%F<_Y-X%TFqtmMN>@q;Uo#=PRi~g?D6d%^@~X}gERUi zbP%CBGGtgtngg?iid#ObAXd`w#QA;3fyPunR-Jzc?*u*Vn$fN#0*5?XS-}Kwo7hPS zbJm|B`Xes&_2^FJ9Wm=Q+_XW3ZUodsxW@0#!Ro0&$1O=xk`r3w@i;+)8fiD?NiMD@aFxl6O=Acw57NzZ#`*Uxv;^M(7G!=J%j|- zNR)-I-)~>83k{F=p?>8uT((P8e4K!s0iAXtXT$7?otxJx9;m{gmDp?v8oeub^V!@F z{ube%6|3)}(-D6^GJ6l1`{;=%I}wD`=ExaA`v4#l1P3AJt`OCnmGZZ#3s}N0T}}7$ zZ4nN+R92jD?%;JU^EDi=6MZ)4KM6AXtiCPg=vLNlq~|2BX7~wXF|FMQKTPhFD$6f~ zor^-q2Y!eSkFPL4rzaPq6!DdiGUcGUQFX4Y`yUlz(&$drW%Kp7MT_)O!2oYyF6ad! z0BC(>kFS1JBBz5}TznNWjOrvC_cjfpF@RF%KwiQ#K#$$FO z&?w`sy_TaKW_0HEJHu@_sRJt$U1(dzOFn^q>9WLLM@vkl~M>@Jih569b`$7?!;Co^9jv-puu7oy{0#>yjEeS#+ zYwe zgXh`2#ib|ES`dDKk^uu=f_yI>nwmWZfI_eJBP?kFC!Y>N9CY zPYI2n2pVNTQ0y!15co3^r5oV89&n|1$WH2TNt@=T;Qu%q;j?ibL|JixpB;Yxaqo@u zlNFB`!69?nd)GMtthqxSA=+B~2(M^jF2~z)cD%urx&P7lx1YTl^ziTO*6gckwWVJ9 zyM*sSPS610?uzYHpWw2mL9+5Z^TK3)U-v)r#;nPf`l(#ZH1!E&?8-~&GtJ3!Hi@;} zcX8++fs02K9$LLc?nI=t-94QrN+4xFH$VH362;ctP%vc+m+ z_0EB3edn`m(_NPRgl_=9-QF9_Q$$C1>c81r;m#?of@+sSvtCE`@!Oe=RvA>0lsq-? z*vT1x<^(kws-Vs|MsG^7Q+|^-eOgDLW76}W*bc+*DbR{j*go@BY1y3Z#d_#u$5`q4 zFy&qtI5BoVm~?#dd?IlAKoZ9BQxlh-&tr~0j&0VJ$Kp**D6TXlPq4~BYR1i^jE~lQmnTw26T%UJp1w*X zMC(e=yPJjx=RMWsnw1EI=U2bB{r!qV)Fs$_Zt%JkrWE|>%6H#m1cxX^rqt~Z@~Vbk zFg0`Hj&K*}x`~o)E?uXFvmYfa)#4W=B~RE; zea<~j+`?t`iI~dVi3#W3?Lo9U2`DszttX<$n-atGZ0(gc{OSR|vGLw1P1GSc{I49U z+U9|s@2gcy)-2B(wuczoShq7WOtztL_QLq7i)*ZfSJ7E45-!K=J6t)V2xxW>ujk1; zK%cqM<8u6|Q}XU~6=#lYP=5vxcZ`@x{P6h%2O&=rwRHC*3meZh_cgxEvegSS)%RwI z(7@qNbO!{lLzNls-#O)*AFcpSp}*es?VCdt8H+#ugY@v0I74@=$hh^Fu%s(7U1A3l zk6)_B?|gsiBxF6iVn~||)L2{66er&_>4pP3`@+TR#3~c&g$p7$BlMs=mYsxYk=^5T z|7z<-H>WB)M%jORN}cAL_`~-aC&z`55uPS7vP9kJW=ENd;ayn0&yZ=FkV{-+CK<+v zTM!<=Ep~&T0T}UiROK=AizYE5`8zs$P1)AooF`^cj#@sUID_xuJLJ{)(cx$>A*`u> z%0JwCb&tunCE!V70pFCA`V<*r&!0OR;5s;Sfa7pM$ZJPxVkwDUiptfarHGx(QA_J@ zCeiU4KqwR-tcS0|DO=;kp*bdiZ3gvcc#hwO@riJsYmR zofnrACqLipP0yQEZkTT~+A$Dgb`Y6|pW!~uNk4Dd3)@%*F}<02>U%?iGWf=mRj2VY zmtW^md^q;q{1IEI+{mi4YIVN*+DF9hX1CF8YxT-5eK z?TRN<1khAczD}x)fjId#O`Uh$DD;G95RU(g>h&)NM@~)yL_fX)t$1|58seY&I9-+H zqz^w>?ZOTySm3!=Zb|gzG{{}R2PtjBwFU`SjM4k$?}Q==TzabyN&e~RK&*?B=0cW!;OKmC5}_0H zGL8N1(cM1`{_^t62SC1MnAM7!uaF((i+2@EU`<$4ns-e$qV2}MIs^&#>;D2DXVPi0 zL)~gSh$9rGjx+HjWfO%0dm_74?Jg0Iz;F9Pe%{O z-DO{0d8EJ1i9r`9pM^u=x%uson7gVylK6D-jgn-uav%PgRPgT59A%af6*#9Cbz^&= z@lagBe6Tpt{Bl8L#7abN?KUeL*jiEuR zC3n@!Gl%MJ1bz(1o^@mP<>n99_C?`7DuDdpcFFpxg4?Ue_}$0dAsa~BrjHVZPjGtS z74rCaajrYwnA=<6$=@o7U3tG=>zJj_Di$8Z`*+fE>tO*It?IV2GUc`OBOr6`#B1(M zP>Z<8sGD@A?sp2C&bihZYmzn~k;8Df?>2i<5=79X(9+hzdI5Y&Ds?X$i>tV0i_G09 zUR~0P>ZM6Yyd;Pl*C1ZgTsVU3EWwVITYI`YjR+2AW%VRBn7sp$x4bG{S9$l2erDPm zzNaeJkR`X=7%qQcAU$8KnINhW3)d+>Uu z$69V?ME6elo_O#)T_hKW8a@FCPZzyLJ5k6ey`7PYj-RvL6A1XPwqx^JAZjmAf*!lj zd`hWqK*y-WQ^bGKU@Ss* zuPnkPwPJ>0{5r~tR9B3dYq)AZri)*(a$aa+5FL)Y zqw9rTaiEa_fjfPYHh{WqO*vg}GQO->eV&7I0VWjTC3A7_V{>{Egwq$!0XhSjRMD`8bZ}4dy=0bh5Oxq1qPRkW44d=4h7W_{ zd(xRH#$;|>YD3$AK3Q<q6#Ogp=kcpVNtRgItZ@W#Q>gS8;Jd!tsulra0cU zQ>-_?&g@%W6036QVhiZI!;|Ds$o#~v@B8DNlfn#(#SUa0-#^}F@QT=$!v6R|U-%j* zWp-=q*rj;&LcGb54daiW8f@A`5%bs7xm*hX89Yg`MVi^lQtALKQ<;JACtPF&;0;^9 z0R;$mcVpDWxF!d8VA-P)<}Chu0H_Kx>Ky$%Vtng)H3@-Ae=i7N*y3nKXLQ^(2z(q| zUv3$zd_ZjL7+bT<`=w}ew%&d^Ls+IniwNy8j5CWgP;19ralH`G!Sn+UpcF(Y2OvDc zf<05H&NGD5Y}{E&p3%L(AZ?DHo4S3VU|_~1fd*CiTu?Q%PbRHeaSjmdZBkl~xlXK` zZVy+F%2{LoJ?$WVhZn@V>|q!(E2@k3hO94i|62clw=KqF8sA9MUfIB?LGs@o>thc~ z86D&eWtK}m`l0cP;f^zD`9ECDCScf@ux=QKqK~?e!Te-tJXt!IF`fJ;n@^}oE1+V z_~lKpm6)zjfAf&}93i-C>wN}-S&zVEr`n~=h>M=mipMW{7xi9UwRDx45FJU0seZ$t zxuluVjht7l^>D-=(2eDDgHR98y!Nq$iZVWMk53sc%n(M|AEh{{w+6IFqbhZ*%)BwE zY55!?{Xi{KQypwN;x^}_nAWZG zN5q{^Lmz}HKA5mKM*GN*vYj_w`CEi5Q*jkLJ}KZkUQAmJg6Fqq69l(No&-XmP)vDkHPfcM?lvI ziyy0k^%%RQ&2)#}UiIN4<8!x}lXJuAwKZAX`D$Hr)aXi8S&hi6po9A)Y%$qD}E zXj^Ldeq~zK#nmsXFSZqWHJ|n+?8C{{(TdK1M%4g*;Bv>Hu78mcqGIwXU`$MuIVv#Q z2s)Yi(2b-Bdl1Z+G`BLZWIxP_6Z zFiHPf5OdH~lq>S$v`{uABY%O0s*SbqGfo4&ba+wd9(?B-ZFfL+@@N*@+0vFU<$P|GR94;-S``{Slz0Z zIkSz_TJOOCzTvl3MBQ5d@Gbn}7j^0PZWRdP#7R#Nk-KtQSci{e1(zGw1^i~dAi+iC zcyRpQshy99*!SjjpCI)`LdAyqHwJ2RicXKwfyrp#1oDkITX@fcF(UukdVIH_NTT5+7WCC|nlH*bZCOw9%RSrh4$@tO=;k~z~Q!0O>B0RqUM?yU2XgXDStbny&8*0 z`3OGUi9&+A%HYCa@rXQXczl}O4b)$Igr82pN-AYTQDsFTefqIqfCP%3S_cO^D#{+A z-*<=gSp2jEbAYWH6rqju+UCz9bke>~UpY0_my*ws-m!OWGLOGHeR@5rei#6ovW~W1 za+#0fg0`>P^(3v*TQJgvRqO8r*ng6?xFJ(=kw09$NQreJXx)t4V=oYIxf3`0);ap$ za8ED#jy#=OXsd^J4M*&8A?2ag5Nye!t}7Pj|kY6tCI9h;ekt3%aj z#c22E#)k(;VG*=d&bsh!BL>Bjy=$U7LK&$Ll+ak6RK;Fo544yUImd#>X%bPpgoa9+3bEK(LdA{$!B81Wk$LTfXt##teLGWJmz|04 zK9Blx{u9qKTB~}U{g>{W*9l*>SvgLoqHgQFEbPf%53Es9R*< z$IB%73)=;jOul4EY}dnniq}?zXt#`zPteQxcH)ni+Mm6I_8ZT6R(0{RmXu~j(Re%! zmcZU#t?;eR?-Sqzb9YTrZL)6j>0nS!J0JNhIOh_m9q`6wzHJ?G^rQ6;>h}_kBw+K& zrjCjfj&zUMojA9va^qqE61u2$L9O0=_3hVNCyw9d?ShPozg+(g{m;$R7L)&H-yaM) z7|8DTr*^ySDYdxyiVc6&)OM{D0rOy4berTF0`B5jONwE*(PxEH7zZfawZ!Cc)b-V# z*f#fOU7T{m8?3r@s9iTVcnfeda|st{Tj7r3_>H-nd?F<;=I-*z3eIHtc}}2F_8)W0 zOx!3InHFBuXEZegHb@H;3pX0<;Ppyw++5gQ!>i@d`qKz6v1=%-x@8T9D|mgDE9q-* zo)h~gG6w;S@@*&YmAc;?6^2bgY87RmIALwZ8J@QqO0DP#IF z=dTBRsUqm2UTXT3iR&F}*`yClsh+4DKl~}>pZ~=7f&azMmNsb0ZS9+WLA-Jv)$e*h ztYLav2)muw{XxTEFaPG9Z_**>e-)9^Ob;oA0j{EZr?lU4*%mu{(p>EPe97@@pUF)L zG+j;3)d|WYXxr~^$nZ0RHOWL1l-gM_ameJTX?hg5u+|TQcIjv>&lj;{wSuy?c%5sd zNmu_988vQQ_@5_=S=gb$XcFI?`>vkTtYGcFgCN`iOOoo18d@x`XbtPI%zwG1Y zu##V<%v9)~>Z|dM6TcoN{`3d>d*3f!*09PYb0I4Sz773sz?NgVq(5iPqwMD-7~DQg zaX6+ELLZbxHbAknro{H$5Sh>Rw~M7aOEcXsWKMXrc_C*7n?vf6FO>YkyYG{TCun`TxYxPt2LV|# z@+zQ8n&nj`#xH>=uC%RwW$%j+DPp~aH^AbmUcRm%oX5}R&W|umNt8-zu=kZ;MrZje zPb;7_cW_L+{;AhmDj|Rc3hO9}^&d{rF0GyE9!*exd2v(}B8;=}ACG=)N#2jd=n=j| z^^5nz=qUxnvMI?fnld%isRSZZmjXDst@P$WF)6c{O)iqN^6JqoXWF(zZ!SwH165r8 z_2uVn?e8;p+uq-owe!$H%;$rPCi(9mSSo=OtCukz-tfAJb%Uuy;!Vz`Sxdy z)wd5~BPm2-ua=g8ZH%x*_%DpFZQFwPiHul8eQI0b-Bc;QK*)9Qq zRl@WmYaZ2#chNHHBo+yh)}h!j0*lowjjA9fPTyO`o%E3oT++ZRri!GwACC?Er=3>^8#mFHX%mD4rK&>_Mpaaoxn{WBK_4>TZ3vt@vPB zxAbw1%5a@a)X}G|Y>jK-DDM&$YDB#@Y~@r#^`=~E zBv?a@ZJKp$My)Y+X~Xck_mOUAR)0!28%qvuXi9!jku`GlNoWsA`GnTS0xNs;%JrF* zpkJXbqSFqXvD0_u;<#)r_qu4jwHRTP3r`now%yybh4PE4wPD^)GRJb?zWhVCA3tzt z{_`qRmo1Lj#r*(E`AVYryzm3vQbXJ(h?ZLiceXKsZ?eCA&B+1l$M(Q7Q}0H)eCNa) zb8epo9F_RMZ25SZ6Dq^tnssrbMMT}H9gW5obsI4my0uEHT2jDcL9t@H@A^V|X$!`6 zd95J*<8+8AW#h?IaSn!(T)iUEm}R1L!QUhQOvYf85M}?PMi!G|5>$sY?Pq(-3QJqx!Audft?gG` zF2k00@ua!o%#9`$<(kp-E13wYTK=Z4c1j+drM}Vs1Gnx@Fyb$KLjGccIQLP_saarX zlcP(1)(Q+3_9-lrt~7atSJehx$1VZlAT%i?Rg|5J7SD0-A%nP2?i?`#ix1pZq?hN8 zJ{d>$2Z`ME?{0>K!g`2lu_lT+calJXfBfDj!h}5)0^lg6iYgXQI+|dCy7Qg?6D%H|V=WX3dX$CsNp`%gta$0wnjKAIIW^WV$aj!~ZMTiy z6JL*!?!z;9k^CXF` zr%eN{o*}&a-U9ye1Q{Ggz9#{p1)0stJ~WpMX&bw$|HPAYtmvHrM_%5QM-6FqwH9FC zyiEz-4l)uWNB@_OJ*{RWzlM9Q%x#h}!x1ja?^5m;sp;cDQ~2FYt~=Xuzw8o+`1|)g zNk1C@Z{k-*5APG;8Kuu=YBIcRDOcXyZw-b`7?7M<9g(5Q(M&jQ_th0QNNY zPYD=(99BdJYWvz&80{GE!y`QT6H#(wZ4z%Q)42l3H;2a~CViybr?go1LU>r<_WWXR zG#Jn?J0<_IY`HUAgA4XSMlpeYY-9`LFk{3noqE4dLkr zil@>u=>Z_N1&VgS(#5&PsZBSNe64#HJ!b7}DOy*5gIisV5*Ri+cVSJX56k}b^V`pn z3BMsU*jw6uXO|2jCQ4SL9daq_Qab)o+RH6(joQ(i>)2wq7O9hBl0V8Dk4H>NS^66l z1-A@8KB%ynDV8OAWl5`{thtr6{z0p~Rbeik85n7QTf38PnE`a&)20!b-S}SW+qo9w z%c9q^x^%zsCr87X(s;3+nA0P@vHphwJ9e{d6sIbLW4E&kvYNro8>0u$Y41&R20r~@ zV8+ckrFc~g4hs!|$p|=N;wD(CvM*soQ;Id?ew0~SE7-(O&XG1%S~nW^YR9vu2G2tE z+sU3AZyndWQ&mx`uEyu7+Z84E9zU7{Vbt2F2=ju1w73UA3GyXOFr2e?w^Bd$UeyyH zGDW%8J&o0B!&euyJLzAQ{oVMXzI@Un`U4a8Paok)uxi*m?&WoJIrvx4#xfqfiqv(r zC8-}e2VNXVy?54bJbUq#r$*r1IGm`2@os2_R*7_Mij&+L9)ECU5@8_;>R{{ALUwFD z_%UKj@K7*Q0a}MDey*0&2D6pHvEJ7%a{6CUPq!PUpiYwQdBCHX7l?+jDD2I*$44nd zSI+chlDEDc)RlwpeOyx&DEQ1cBx#PSr;HaTK#tefnrBShp;%&91?|qoCp5#7C@p?= z2ExyMdW}{srIYvC<7iGPcl+Dug{E4PuGeEifXhRAi4VZF;#uA3tgFQYz_Db8$GGv4 z_t$p@?*D40{r#0a>Z4PCyaD-r1}k~)^Pk`a^rm*7?9~!G`0RR6G{RCe(j5SdPDtE+-E-A3dMRz6ploWp6e1n`3EqIa zC|%`EkvWf>lF@l`Fe|mzi^BX^hT%%n`Gg6_#{<$V{In0xHGVdw+1o}v^rUtz0_X3r z4a}fjL(7)+$)dD}vMN+Mppx3iCrF_!Fe)~FEsbc*MYhXBRDADva954Qw4S=CcCCe+ z>|nM-)%|x^iE~gydDSd0uelk4vi6$jooi^}DhGm6$f`veoxZl&BFcNulHE}8ki zGt|xoU##Q{F=~xhF1{AKd{z7nr>ic6ly-4}@WW*PnsbWvDR|D-%>VLX)Vi$T|4scj zGdUY>cun8>y;^A-Z_C=eoNS&32qvCs2qu7K-Xf zov%~zW^iLMAvjgDZEZL*G7D)L+?jvg=lS`c6`yTJ%>2CRIUdV!V8$;GAn{3{WbrX+ z1KNf;=4R`+ArI~hX;=^do$+J=A5aEpLAOcrXj2Ag$jDm%#_#=wf8)bU{t@b6HiZ9sCNt8 zG?%0Wc=Gbu9*2?tVxhCEWuHJ5Jsf{~0XrZv-TNqRdij@eV=_co4~#ez85UT=@hGn} z;RE$i4k~fs-A`T|b8cj)caUCRk$GO0uqVTWbzW4^p2`NSsG=ICYW&(>e8|mtKj&pv zKTN?TVfx$0r+Xwc^84G4obERj40a47Y4{iXV$<1|U;JuF?fey?_3w5vX6w>pZkgXa zF5Q}(xt7)ARJ>r%P5C&Z&S7~;ztS17PRMq0Wr@NOmqXGbxX zp)j`L^&A#b*p?_=v0{fD$h35p(aW4Q_ZTwyqBVsMTs4t|+nPqBuP@fZdqCo{^JJz; zAiH^zR-4x*%2f@uzWd2LLn(N@zR}L{rZX@`Ly5Zc8(dtm^u{&H9rCCglS`CAc4c5v zs`3}E zt@imyCa^1y1qV}h^K<$20$!~)S?YI4ao!6CS4#f@q$a`ZOk344w^`mJ{H0#|okjdF zCtm(x_*>_i$1CTv{ohaOhf2#Us;2c<@lXLoa zZpP^CkyAXw*_0lr?*yWFiW1=GRm>Yn;8iT7KRO?e#TAtUSUa|f@JPSj@bI+Nfc>BP zhYTelO3je=dJWnPS}h*DM`!5&_X-jGUV`^U-0kRb4aEMghvkrTk_>X}w7Otf5i8<9 zs|U&2;XK1ka4;I8-8fHc$%Une*4OsT&wYR%j)k|qOF^K~lcqd{XA_JJJe)-9uHZsr zCfzgL*A6d;fp_K$5OBrvk}7Fg(_beeuYWCh;c3 z@@D2l{s*7vOmoh$lZuoOiDruQ3=$J_IVA| z;-_=F+)}XQVrUAA^?*WDPjEzgBVlr4SeQUPGzz|pak0U$0+LF3)5!Yj9 zxg?UBuv+7_;aCa{M`^|*vMl~WIaWJ0kKE}W4gua`bclo}=?B()-d14qQe|IjValx| zHs;1QgVcQxs@c?SQaNb78}`LU!#S_4K=ps=V$CKnqWl2*wah_D=wW@mRHjejI4 zgZxF9D(qtVV>+<#u3(x|6Sq&%k@`k!FZ#U}SJ`?zBI%gOnh?Tc#wGUL^Wn~JZw=j| zLv1 zc?tACVyX~&`@Mr{lH*>s;XPjDezTk%3t8ybhMsX2M<7g5-tsD@my@)?NV6JWye%k0 zFPge9$3TJ?L|fd~FGow~0%k(g6^DqZ5NUIAhxtmZX=r11p1jr9Bv01T5%$^@u$m2s zrp5ImAJ%FN_OOP29%uBn)-$>Z@)}m9$?cs6Xl~++o_s;Kw1F*ue7Y!}CUMOg&1DY- z9d8(&rY=y3I*HuF9~6?8Q*Bo%w_^e+V#6gaV>#t*HWFK^d-{`TTvxtxb5U~9$gKrF z)#6hDp86kCDeZc!rS!?l4eE8*mz9f`?|3Eb37_?l$&c9SGm{Jn@e@} z8b`-QhXxN5YV()yL5m~X+f`&*DS%{}$01bZ}s+5YM!-WxZ|rN#562v59TdRGek(J8_X_O}Dd9JV*uM~(#F&%q zU#@&*9>kjlU3fvD9(N1mAJDk^R)ZS|-=~)TixZ=!LvP~qNIt!*FaK0BFBnefuR^s) zn@f{4%X{$!18*~WA3q@)QkRcmFH7LoOlwbwMUyzTK`cPZ;B>IG^huQJp}@*eI!tNY zOkQf{Di!P=!PqJ-l6#Ml60joJ#w|!QGSX-6iZ1sy4l*4yydYYxZnPjNh)M&WLFu!` zN45pBBk={7^w3~R-*0B@obpCj( z*=PRUJw+7!czaRIw2)oQWcBplQJsV5*wse4)Qh;wL}L-}hw6-YW<9`RLp-T##@^+H zGDKNOQgSB<28Tp+WH~I{XiYN?9i0DFFo7GtJPr>8%><(;OrpS^8K|W-6eDDYbLdrC zLctAc1euR8L5~+9$Iy9=qvN*2(PU`63E?{ttwU`v%vA6>W9$QGc}c&QtC>8R2J1=C z6Kddl44B(m-iSzknUs&)A%9gv^u7i94VF>y-P#AjzFf#Uf~e2t#%hB8X&*+JZIhOX zCpSP@UbP9}j=y*H_tuH^uC)W2?}j_!Uu0A6d6LUyiLa0V3EkPx3eMUberfJI`x(E9 z>N*?2fqW}{v7J~9q^;Xt6rWbM^!wqpD|aig;DOf8b?NOCKWy>rF=^>9+|tz^wP$mz z=4Dl=C5+*3ZB1c52eHxh(iiGqo&_LK!jr@Dk*tv6I#NfFZirA`7lqhfvgC_E4|Wp~ zcO~0R%=p%1)be`py9+BPcd*TZz*aIp6>w>Z>}c}6t3gY9wF83kGG|=ginAbg7OL@& zwyHga-6~ zix0ml3sd#oMjPxY(Bg5?VEN|})L`ufj~E~(Q4dyo<;Vycp7!C{O!XCkoTe7ZBP~!} zwEZ4iG7Hk?Q6IB-=V3}V@e60R2iG5C@VbzfE=4uJWa=InqQA}asBwj$yShKbX)Q$NjLY= zLDu|3fi1;3A0x$$dBUA5onP|bS3bCFVgn~f5@>B>0BRStv%sTW-?F9tWal<#GWoEJ zUo$U2JM1RLG;I=GT+jw7H>ANPl=3B?~`ZNDo;`_)5qLhegSgkbQ z&f4rx{QtNB)KdXz52n0a5dO#AaATZu*lzMx@01>;Ekz|iR~No4B2DC?qBC( zC0@?R6wUU+_I=+&?L~H{sygD>D_#ekTGan=g&S$>vx4Uk>0%tjS7UvW*q;-tXGpT6 zkgzpglp|5!3N%!O^Q_ksixeYE_}SumtGpUiNjvF&5U1x|QWc8N%(|=%u&1b0mye~? ziv>(CocH}lUbP6-;?NBt6C9>~2IPbqr2TJ^V+O<|X630Mw{8YnJe3B>6YBe+j&-wX ze=P)sdGdGxNs_=rCjD1gYor5-l+&*mcv z(LX+jy=H{&-1+E4x%p@Lt#3a5vvdmcISu@SU+G?aAo_&T3#avki?&GU9x&>7@Ngt9 z-jPuThyo-X;40_q81E-80S$FQ%>?@X3W`^S4{@|}afLJwQNDiCjNtS=wML@Uu#8Oa z^JK7ln7WobVHrW%d8Z>vkB9?GT%GXV&&!x&!=g>r*|@DZ<}8M=3r+?dgs@h_L?D(B z)Pzy|7Vaxq-0_LA{vgN&YaB3^UniWHICZg z?}9vvB|fYOV{#^^Lj0dyjYX|6ECBL_WBHm2#Bx()xE~t?^Av5Z5q{DNY|C>e`+eN<=3%7wH<|Bvz>-x!;7mUn`j!{z-=KU4J)fEOj9@(@FA z+9f;N6o~YfQ4^RepQ!ur{BejT%zF>`{UeoYMG!B|+#WuwzIUWqj#<2AMUB=(Gz>pF zZJjLctt<&AGkg%m`uFcnD$wY?ZrUNqdxmQWn_^lgA7RP;)rEV8t!f&HTj8dpwFM2& zT{8mQAbDlJGtaa16sTvFC{Eov_sB_UxWB8WeKy;5ha?^54wlxHFpRX?tzP$uOg#09 zR|wc)?kLY^b4pyKisUfxP5|W?f%7XsWS2;p!l2#CTCMZoZK`|5=_hggzw1x1H}AI zc|NG6L-M%J6_e)?V!TauQIvZWGIHlmdUr~j=z-hGM_MpsL-~VyZyxDw+L{06gwO_= zQ8vP}4gAz+{r1}Db$}T8xXAHHRy*k8PH8}Kl&Xmt`()6Bf`%+WZFh@+T3!(hHJ@&o z@|QDJsnj|S)`53tV1O{e1os2o+xzyiN_=i>P?oYN1w z$+-KYIAikDi>a6AO@E8l@gS+M9=*M=RM1@J{NJ`d_{LtOMHsWE$FMottRwu=fmqM= zEEWIt_N0fX>{6@Ton6bZwRM6hH!ykY1n4Ygo5ye-4rrAfup<6q%j`*E=gp?sAcxUg zPxiIndlb74B0AyxLyk?s5+Hir(i9;T|AXcoykP!kM<7<(6pqPgqm8l+T-u|z=Am`w zHt>AjatC*nET53I&#Pv*y)O!FDFf^AF4-&rhKUKJQWL!YKuh>}m>Ei(vFUn607U>< zW7ZZrxjT7yKU=G)$b?dr?@sO?H)l2Q#xj~BWH8ItQ-CU4b5HP+%rTLtH&-qZ_QCj- z-KHdt-qmqmCbYBJQ`Yo{_~186Dc z$;U>EI-nXLSD5_yX_x)7Tz=qiWwZhtz~D=Xg`JxMZ?1|YfhZgL38O%N@A;CDes9d( zLVL7Q_B&*8nv@m1HGkm-N4QqeZ-2%lzk0qQNvZzj>I7=lgXF$PAG8-kITc5_)>f++ zS#bw&zIQiB^tMio@bi##=b*i8$-=~djevY?ajr+x(bw&2gp}plbsK44?WtE6Ck@9o zr0E961`^+{cqg_yro(B8W3R;eWOQ`?$ZygTn`&*T2d+Yy=_Cta$me=6P$Cq^xStrc zzPO(Ed@`Re`rk0dsbk4d_S29a9!kfSzWvS9pwG9UVqM&u|wmLo`BV ztqUG2${n8CpJnYChW17Y`tP@=sl(a#pwrnK9OfOo?@Y9d4Kikf*)DqOC35YVHvEx| z&nM?1EXjX?>iIs<^EjQFdgn;fUE)?&+`?_(1$ED~|Q0`~?O_4lEKdMUGE}cCravw>X&99YZl5vVgMF%P!!dt7P zPAYcpT)Xj~Kj)__r@H?Y=J1&Hm#NnJkm%cNCcH{2VqvV|CihC|v%x_C<<<;E>zvyY zr@7~3HRe88*p~dHt@`ZT)K>4K;n4|{!1rPtc*7eRP&dIo@OZS->hFRZilrPcXA>W& zfHv7csc|5@dJC~5NtLjqO$o+q);Ur8GNJa#Fud1V-7d zu*|O+douYO%KlF6KV`06+q2+!%=T)gFVgEYT^0;Xzj@cA@V~^{rUo$K8AkT)1|9`f zL5`}-eW%+_e!9?C*i2$oV~T`*evG7r3Akr( zXLtBp>n)cHaf|H!%iAAhwJ^)-HI<7s(9Di#id9dZp)apuaT&PA!<_-5W2+_H1!Wvx zZ7Aoi&4Qh(#rSl$yl4?DAXMLZ43dG$z^cVQ>Wb-hC> zyy$CR6TS8%!Mu+A*qubdV6U&U=%Nkio>qx_^YhJE7S~h}peI%UP_F7STaHVi`m^p% zkOhH7y|m|a=QrxhPueh@aG|yts{e*qM6L~vmhHKG$sMEGmUZ~lKaS5F);#X|b@w^% z;hY&ngc9^O2b;gaL!IM`K_V!m$eMBjrpXrG;=498{cW&!YrHavU^_MU^-rqG^o!Ey zLl)Si9kYX;4Z?yt*}@yP9Eq%8ytKF5?~^hqVm0DTV2D;H(u+r=03^ zXGekG`oNqJlhW2Y4(H3Usvwda*_e0-xz&&o;~!XCgh|Pg<#ShPY+W3HYcZhG`^DKa zdD^l=Yc?Q}+$fa_kw7$adlbUVVi$;rezptY~cYzU-?4?w4Ru^~yD64%jnCnOO- z3br7cH~u)4=Z0IvZuOs^J>XKg{5inl4Qb6z8K^9`2r)p3G3zAR`pPZRa--&P1fQlHx3)PG|Y8qRUb2f1!Uaa~>Z zgf^fayaivSk-$v+GuOs|$8+S(%Wv->rwusCay33PcLX)t=Lb^kSc-U>fRE@ki(%!AHRR@RClw@r$YbE|vKv zO2R|T2p`%Tv_3-VSj)38H0hMc6&WSVFY`* zKX9K>o{WNs!J(D4V3uJC&80XtbN-Oh#r%+8(w8YeW%GPkJZCwbPa0iAn z@#PVmSo5hfhYpLbXR&LXQmdhW3e{N+GC?aff2$aLR2X_l4b%W(-0L!<26oAaFbpy%z&M{gwI<06$yJjONX@hfMm0RSQiZP zy6h&Rnbpzbvr-7j(>hf>TFLAMo}toMy`2?#2S(-lpar0&`lqAr%u*miSnj(wkU5)M z%fPA&0KAm)%|mVKk>L~nedhb`~O8^F{-Ef`xRJyPH5T>xWt3o}eNt7ZH zhL-JZnAKlS=J~GkZ^C{>yDhK0f>xK7 z;L_xf8W~;O!1YS0&sN^y6a&*Z7A5F%yDPsqW$Fz3?YVR^TF=CVg9Ci#NBkOE$VHdC zZ0(q)W9sX$aK^tAJot$~-vJdKl7SUuL-{!*eNkNhYgX!#pu~U%E^=`5nn4-FZD|<( zW%Vmda$5kxh8n}P*Yp?w&f~b3+Poqq**~! z2#OGDP*KrKiCmNpkq!ok6d^zoRD>v1K&1qTfE1E0Q zlRx%kk~wFewf9>0QR*Z?NniSdNj-kb15;MsJGc}-I zw$z3tw~5})6wz~5>&?^~7s{Fpuomx#YYSOO-ZBPhM@ZM1RPj;1TCB_?8SSgfXGynq zb@TBj31Q0vDOG7b0a=#)7xhXK zK9A>Ch|K6-zV24m79cF0s}ai(T(stxIMvIkuHz zRfm=gZ=H80yK<7}J}T{&ds*=3Qle_Odj#qqG(7NAXe;$7sgm1@<>vaT)oWGP=X#r9 z_Tx}}T$k2ewgM{m^xV8 zojJe)ptMyfpG=us&mqCvDr6>ieRT=1RIu(PVWk)j` z9yOQVfw{gQumcBwwkuWav61(-W|FHW#B7jj{iI(FmJMi!uH~rd7Cr|U3#|-Qtw>e` zT3UOx%+^pCUB=ST{-vlC`q!=2CICRIs&X9WK@MSsDb9 zs^|%yE)XUyBN=nS%q(&MUw9#R!g>W$?do2C*Ot~_4%4!=dzoBhUXOYp~TQOzXyjVV6e;o3J14_EqI4qqD4Uo{1ifZ-ip zz<>?3tg{8K*>CU{sDgkE92#WPe{6L?VE^X4jJ*7C;7FNY7bEr9&64Ck;^4a5#V}_Y zVpasb{0{+np)K&o-3x{i!<(kJwB8Kb;#TKq_h-)7PX%k8%2h)e2YG+CG*BJIA(^7! zI2-BX)jX3brUWpRdHBVxm2tb3S(SxJAm-JRQs7l>(%D*PRi^Fo>RH272~{NvJjFvA zwgBAYj$4)Y6EC!ZZ9tRqZ#JDgs$GkGT1xShpC+he6E*g0jp)cWh`eW!BDK1FjQnk~ zZK=P8LPF5|f;2|$fD%}%o`%VQlgxQQYQ6wRby+8!4<8uG|91b1*B$`3g@U=-szFB}s z=c!{Hx7)`2`uO;&5PpXUX9A{aV1|Oe0RllH3V3*nI|;aRw}L&DEo#bnrFgU4l0DPy zS;6nE(@Yud-pnqz%hhN5v$d}9E5ZAWl)y2ONH~!a>usko3SGdLcUbBd@ColPOl^%o zJlGMtG_=j9YI~@y2eK z&j#&GkoTr%_{0+1(YSpwU%6?2k6#tq-`m0QdT_kmpgqDqXDf)C9mL(`{co_Nz0cI% z-<95{OYiRq?QaO-3is*SdmZHb{XPEgrS;qhut2MAVw|(5>fnEa`&`KW@|Gj+w%TyT zHrtN&)l{33Y$7G8#2F3R9VK%J$y&LW3`ctNxGknp79zEQV{7lUd#Ni8RTfhz78r1S zsz@q8it~D7xsuGK>{sry`Ep@I;2DB!I0VL;HLpJl>8(rUzK`)M;7tWrGx{C*Y{A~N zL@Br19QKV{PGB{kr2OWBIzMSf~ekPS`ZW zXEy0dC3J)1EI&Z(GLTa9UF_;nj}O`|C65od?q=z$CBirTR0#7N-Hw`cVy_g*JUG9J zmK;NnNrK&UKebp4t?SlQwnzQY-Yxq^>|L1ut!%?kc&yx^Q>lIzI+X_=2E6$fxy%>I z9#%q49)+3e(z9SfO5(ni?5;P(0%y( z)vs3ClaeD*Knh;gSTiT`lHhZzt~6?#GJAf8rgx_JwnmQ1D|8-yqAAx*Zd!QAVH96K zv0*Hur7GA{ra@Uk>w>X{A(8+TL-+Z~ux9yv+Jb!r?NdEHCK7QezHr5`o~Ye?$v6gv zjB>~}I1-KZD(hZf8IT`g1Q*n_cclq0C{$6$a&Rq;(A^SmJv-vVI z(~1)0J2$v>#MK4`om!1eP&Savt#~22o;Hkgh#Y=8W&!ha9=rM2EG`S{=F4+1l29^a zu;O5vxBYf&0rfwVy>q7Z-uB4J#y$mfT#z>MGBzO}^5y*9&;vWF_9m*xbnn;UO4+|} zCjz>-AY1kG%%Dlp8@SQF4U=dSq3S<54x5=g#|tE$nRjTc`lp zSRr9wl=J?RN1BHH)8}sX4f$)Ttc3sLXsX&f?|QHa+`4g zD`~%nXPQRfDM9SW^7-Tw%1MtR((=|Hf0*9K&&0LQk{>Tn)#;b z%}GhVjV*WWsFS?`^HW*Z-ka05Iq_JW5NZXqxA#`jdgTqJPCvi6Nmoa7RrbreD~#JF z-6_@H{Y_Xf|ET`5|0j;!^_!w0J)M6il4F8(S63*4SGuU##wl1#QlnUcK$W0_Dt!ZMQ=5qlQn^h(3h1$ zsS^zW4Y%tR3N2CJ0NjyasW55kkCh}{sM{CpN}}b?%=BostnPeD^|r>pN42Xt_lo0! zu7lTJeiPtwx0Oa_n*l*N^!b><*%t0r(Eb)w%eZpraam0$dm03#C659t8PuvC!3vX< zfGwTaP~&z(8Cp zX3?T;3&Eay$7~*0y!9amJUPNe_?uL+`Px@RPynntM{gdVfM1oN$A1* z&xSTzQsFabXR9jp_PeFKxw?TZHKwSg`Omt9i15W<8vcr7-Ko{o3|ib*Ax}xlRpQf`-|`i_)H|CP zon_~^=q>|wM^n%gYXqK^2TFF>zJXolQqER8(3UXv0E}_gi5o+d}Sb zqN@_mLB?Gn*-hNJu>NHv=Wy+X*ptac&5+x&xDzpj`A6JDvFaxEFDid|>&Dw`3K@vF zOT2I%o>0gr!eBS!P;bU~<5?-hLQ+YZf%pt%LINDYqsAmd{f}kAx(rfMkg6*K!`J`~4t&0~8!X_?jnn_)#@sA*z12V+ zR7;G|6MNOw#nNQNA(#t{$1Mdn-}GMV8x~CfOR7 zG2#h(ph7`4dw%e5=m3?eJSkVo&W;#cNn~$*ITgrQYUz}bGB-P`L43NCZnv5*;9p}5 zu&HXt58f#k?99;p7W7g&-X34syh3OOehT7Brw)HA2VkN#VCL|tL=NWZ0qGvS)O3!Q5~b6>zOC> z?h?OZ@3(U=d37gY=U(iSZj<#cq##a7=LdbL?%vRwMMRZ;axYSe?{S^Vi!M!USv>7? zZ+c=(<@T$=^^G~TXNW7(FsUyqdFLv0;-=o9fPJPav~;>JgVzWSHBd*S@TdgEbNc9{ zhKjhh31Y7)yUT3w3Wn0BspTtdr0(q7RcRV_22W-AbthFG^@?3LX6J!BQ17xSfv6wQ z0#G2Uby)qb-@|MOB2&+IHcK1;xloB(Dcm#Qy_TWKYMJ@8B;VO=xly<>+uxP#V8m0? zZLfhUc78}id?{D_=l`$(cPCjr*~~FDLm5dHNyOuPJEB{=*gTrY8sziIP2jAhM~2Im z(gIYVSh~74VdXcQboAuBmSQhfie77y_3Dn!2={8^k&*oUu$uA$dLWqoRn zY#!;!`8I2Q(ZQD~rV`)pG5*3?a($x@j&RH{W3}}^ATZ z2E1XDx$BY~A6Gh%j3Hz*rZmkBJS_CQjbRJx-IkQqeZ)WEn@+lrn>GQQ^v5rzhwmrQCL=pn5szwFUahU*!s) zB@AXhrgl*-BA(v**}h?=s9UwQ!RdPp&$*{{zxUCyw3?J{^WQz%N6YE%oi5_tk4tGc zo-a2*GgyaX6b<=7}ceTx5g2m z!R4k#1p7B_x%D?zC9*}Y@U|LfF}kePIZ6=m#n3mBU{QS;@NLB>(U-bmszIEM!!12u z{^dGcY4g{w;8)pdZ;aj7N`8ZZ#HYE-aelc%0P&l9t%KM(;Yu|)^}=$v&Pim`icP}# zQ9Z!5Lvltdu9r4`R;bdNa!D9sB`RTJLtFyb>7FX-#)S=P1`5PmmH5K4gz)g_@u3sm z!|ut2))ltjO6O%lm)zI5nCq6{{@iC3SmAH$EL|{i zO?>3XitjEmdA*IQCbI5@`3&cvfF@a|qz74LW08Lhz+ zSHx6>qb)gUEhb)!5)r(ep6_^v*~_X zql{7iWbd{FK%|k`wi1{g3zQKDP0Tu85%Z=PU=i|SOe*hDc8v!0J`QB{p&F0j)qFH6bZ;^JM@mELdbp!#NRc&*{uKW158RJVu zU$Xm8uE6mINmhnM2gNCHm4U>$pA$T>6wjhd-)7TgK9{Xig1Lc7xW)xd9N^C1SBX4m}@#ThhbsIF;ZJMkX9hpWxNfzG|~0MwSba*UTsIQ!U=KCeiQ&246P~j8Tcile3aBuhs_yIa?iP2r#=f&tgF-Erd{h@dj3!6gVAx%=8dhx`rU-jPyr>O!f)O9Fr#W9l zYr4DeT?So^^x7qsOU&Hk*~RpzAFHQ1rlCuI&QX_LM)IJ%-gt~tS4m@I%aEEW?;5$^yF zWkoZK8QX}gg)P`ly98wBYGtWGH0pM&GO6nuRNb~aTp*aI62Fc-K4trL|8?hv>CG)T zM><;4-!Z;`tLvZbjfINtL_MC!vNVv^cF-4zC_5kU7+ua5F&oGRWXAMK8Deoq=c`e#j3%&as z>^?_W_sq?9*6$T`w5*6q-W8O0zmE*%rgcLZdHb%TFEZeQ*3MUbPg$(K4}&S!EwC$m zC1pM${~(6vj{2{}wh51-C&uM^f#WAz&2~oK;x|fStWaoT0>0Y0JD-C%X`e}@$GWGk z^L|fPRz}Qg;>2*l^sty-pWzH9ePM#a7R&FW8&yDEz5TA0b^9@q72-t99FAw5kJNHaE8FULp}T~UpB-ayZs3Z&vd{sZsHhRU(+TY zw{V}^Gr>*&yv5TNv6nQQ)?1GDYwsn;@D7Aa*LAoj?Y+Ta5Tv~ zHSScjO>qeE(PV)0mFk~o*CS%%!+C|FzOKCiIqkXVrCE!0aamYhcVaN4-s!MS3AOwM zU_~iOP*a6Fo&#S0M%Eqkvknjw_z&{>(CQ0+87H=B3#%o;8-BzHd+HtggIB0Vu@lxX z;5Blt57hA2D>t;}Kw!ApWfS`iED- z!+V&Zb*2qzDW9~&*um}ZjLJf{-3YUt0s>>svOYFRQ2o@`G%#+H82UF3ZZf6pr1r(Q z#fGfu&FI z@&A+F?eW&^@V5FXvCGfv(uali0y{4Zg$-F6x+(S`s=Wf=go5Bxun|F2712UYbK8yM z=f*xICiG!s`;W;MpyFD#+NFHW+!6ql4z0(xZc!CyKHronUeK+kA$qNTLz4j-Nhw7y zp-jK}a+M3FehZT;1nwtTp3PD&e(fL(^19dm;DgAnoXX+JPl35YI>y)?&P_=;HG&h1 zrxF&~1D2ASUh3$z>IAQiPBBA_yoUJ!9ft-Lm`$L6-G13e43 zNy`_&7z9B31{1%eT+lc!Ykg;MZ3$ETvm=Yg`W)wuy=onBdC}TQvUwD_kiv9 zH&H^bq$F&pjy6;VlE2BBCbG3Jto>^{+Udx@pY>fS>wrN};u|+?SH9Y^L%q$`8_3p@ zPDz^t1+Dfa)rn9}j?*cvW+Ew)k!?rFq;IBpssGM8??NT=6-+ezHr2(H&9r3ZnssuC ztla)#Gp0tJ+v@d`V+v(9`qOW!n=o_R8hKy076*EoUQCZvz4bmxaWTvk!hvd{_+DEG zCUXz>(D}p^jWkPdb1J5(Z>vP%`P7TsZhb2B8hY;w_@WqeexRjtW+9r6&nPMn(?3s} z1Fy_ugies1wjQpWqWsz503<4+!JFp4V?0TwrI2XciL)HVa~H51b;F+ngMski<;+n; zgX2vcrAP;@BJIoFrig>%`~=G3-5HbN@rHF=2g|~hnXefxDvT?dHDTxLR=5(hQ+VfI zRtfr*&kc+A!rk#gr2ilgIk-G=Yz6W9U3YoUG_-*VEr5;SHcsGPbADpEKbOT*CQ-zA zByrPt0nBR!TiMJA+ss%@m$p2Pw<&IPYBAF$KBYWR==r2NkSi^fBrzFw4OK#ELdfq> z>uAKAQi3mMLNHcvTLuu@O^J|A#`3zbb#>d}xNXWK2p2bUXxcso6q*Vb6tBngqUE3 z^qL93jRg70O$hy-6d6Uy%!#|!Bf3O)T7{7?%${Er`q`^Cw=d7uAe;mg;U?J!=uDC{Ik+Dolz zpG!?GV!PsCW079&ZE3!X|^Z=3=I?NkQs9P1HZ&PH@+TTx!3{)~rVAXllAR*$_pgrM|ah1_4J`!>77klm%= z2MdFMecDGt&8KRx4PqhQs=FG&xw}xBUAI$5J9~p$0@x`Lg-vcV4wg#5CrY#La@`gT-LZCy{T)m+gYj-`iVT@P|ttbPXC4%Xhj&=XkK5op!0X^Gp6 zIXS^_hXgSHS=Xp*(Xaye>{#@z)Q4$k^PMDapZm;l-wX)rTKOoHDp9<8r^tCRX>c)a z^D*UY34z(Z4eI~14elrhu_ZytJ`tlwEv2jyq@GQ4+=nw4(ta-(+!={ZCiISsjdSq? zOOXD;aJHLsSStHJz~+C^c5%|MRsMah!;2xHl@`zn_p>p=&M{aXw4Q{#qD>uh)Bb*w zU?w$V39D*n_4dD85ZWAST$-~u9J!F3_TlE1`NsLU3a5baNe0^$uXm3*grl80riUU6y`vy;0!+ zOxi~)zh>y%q4TrTwRYcsCuA?rzBcdt)Vy{tQ2alh^}`~Y)nS{}0NWT(&kgB{V1O^q zUW?4sB5%4k+Rme!gUOkULx7D#qY~S}$LJri@~UptFS|O23A|o{m5_2^>HvkfQ0TR2 z@HSc@R_Y=m%%NxD_K@tIh8>-A%eJeX13M9f?Fc9c^k=CoRVpu~JlalmTokaS?@SAI{7^!7XHssg!JE0=-b%H3A!%RotUr4ls#Pu(-7Ro6$b;!evq9Ubn`m5V7+Gis-z;ahtkNyw?2gd2$R)`|^tG9fkZ| ziq_ciyB1PNQmQja=cCyuwdsBVG~cth>%L|gnkf~P2Sm|ZiqTZP4s-dtrt*b-zZRBm zjZex)Od&+YPL3HNmFp^Nv)kMIJUrn~|LNG=w|JtcR&1<3*AH#D7_oWeKgIbHqh~HP zl`bW=pBI3Lpv#s)edK00QrtuF%u|lcF;$hw6X4qzQ3%6b;clt{RY=?FKjuA7-sT^7 zJ^DTkc37MC6kH=EfgW#qzF~bntjiS9W@@z>)F^;x+`R1l^!hD@i$Q8*jw9k|vdOta z0tA@hA5;N?(iqq=j4+YV*{HBnU&_4hw>#`#VzH!A(t0fvF6uRr~3#G#)DdSdLZLc)^MGZU_( zimYvp$AM!}re}dCLr6M*AwnkFD6=n~Smzv%Xuj&~Wjm#L{`^*!?g&PChuSt*^6Xar z*Yvsnz>hr{8dGRQC)#SXK@Y4z`LY%t#EFN17+16z7qpk~PeC=T8}L;*SZ`Q4P==!d z6Lc)}WU$lPAy^a0b_isftM*$brb=tRGq`6QwIR|{F}VYMjD=e_v)>^X-Os0XjHwLl?>)(PzQ50tLhMH8{cQV-l)-s7aYeF>~`i?No%VGclv^ncs{GZ z2QZxVjctzIG&kLmQm_QM+TVJBd`cra?*x&EsKSahzypIP>JRe9lif`#dGdB%tw z*{I?eiX>)dO7f_v{pjvS6 zcd1dA$Irg2(e9jy`0=%sdIB`%6XnA22Hm=?uQBVgCWU|nxQmqG2OdA5YZ)XipL*TB zq;WSVa;Z>8QcA$&zI)${_jh4&ftLHMAr}&L=-hFEe#lR`6~Xtx8Bbb9G|kmN?tc5R zee=Tc@ZjTwv@0EG1+DlKn(?XGmZFh8A0^0~tkWEa%$ETg&v;fcjOl+EU)JA>;`Fk} z0>Y};wg~HH-uDjepb`MUE9V&F9mMOBOwDWSrLgl2pl%ovc9i7Qb`_{_rrL}Cdm*k$ z*jGqGLCcGDk~1Io)oeb|05(NBZavAe3MjJnr5dS)$_wI+Yk=2a?ys$+6o6HB8QHJp zihStXEutaDdsgF$R+slKHcwO@TJo0Ce)$Cg+V~`?vcYMpC^w8sN%9Xd@~i*^1YbQN zjx}f_2go%_-5U#i$JIF#pO3x{ueUbWfXO@Dh0U?k!5lAlGGmky8?ouv1UGw04*rO= z$5r22JtZ2AJ5X*yC9<-nLgLohU-Sr+#ZtAPUC2_WF1>K*(MjD~h#T5c?X8RQQBg{+ zSaVol-{DN}X?>s2PXA?JnR>Nwfvho#vB&g;9!P8gEpI3ic1%yt>-xKki%P_V|(UC6g}_VZ?K% z+FF{t6@{;f%2@eINYp6&An(+ZYi(p4&TXzRiD{1HBlC(kV#6@OYfncl#iVx|_(7f9 zJZ>?(VKHD#_?!9f9jiH|^n~ragczp7`hUjLnyWRx>%Vfe=zn6oLYN-nY^?-5V>Ml7 z&QBiQ0ED86mT`ozuuR}d(PXfZVY?K-zTB9RFw~jKO*>GA~Ql&&=1p zr`UOMZcHNPMAh0%3akXZZjr4UNZs3Ug&=fS?R(R-2b|?o&#+jMTiv_bs=8}E!dB1k z&&LDJQDc@X%a*#ZFK`M0WEPI8nh549M2*xG9^6)p)j>KI`JF>0I80ai&67!Vs=_EQ zQ@1ab&Xz$-b?4O!$n5kifNvA8vqj_@!~RMb!o1Gvh%^Ox@zB-^GSOh z>k{KYPFp2W)9v#*(8_y5Yh^53!K%iKdWo;~LcGaNWKK7ibujSj1l~UxR>kg-nnmM! ztI!>Y$9&^@4x_C=Q@FCHSVp$(fN8ISyg~8>4Tt%I!{b8Nd5X`}UnM8`KNrB~$4})o zvF>jEXB>#Z#SfV72YUO+PX8n;Zrai^+UZhu8G#3cjT=ID77Kxg-_SRm*w2D(llv7i z5Aj*keFo#-Zac%5tv8peB?`Qw!IU zz}Z6dF`>VGct&USVcQHEqg=Fi>+#Wyat{ClHkIu_ZAeBQ8Ie}*swb4r{1_Z-yMzXr z55P#N|82C%O2I37be)cJC;r88NYv*smAGODSXINTzGj; zTar0suPYlI#m>SWXiY2H67A=Nie%_TuPfZuM71!7g9}Mj8=8MvSjH!!6=91Y-4e>c za#KIXW@p%@d|k739F~OE3_KpnbauB6aO0{QP1<4UJ436s*>C2dZyrZbzMqfNNM~_W zpsvVGFfKd|7n88*m0!3OVQXU91q>yJbUa2$*fw`|$ki^l4F1|#OT03fUB$Zo-}gM) z+>ypQ4*&r{mXz4k^3*pb-bWD<#e~}Avty* z)IV>Nj@M(LO*4nt(*rX$DqLYK|I$Mys7TIIGt`5sLHc*~Flt<*L46GCu*j9~n}|gxq9B_i z_E8baj1fD?_Jen_zG|!uTaa|#&)uN~15tUkHZ9Ej;C*B}`}9LFzW?6x|6u``oX=64 zeoq6Boh~KRkBmd^_1whFdL0Z@y(CIbKJn4u4x>YayehEGNF`G>J5_-SSG^RR_=Et^ zj~z#Gbxr=))7MYDEnNm`LJj+_Ez}|U77%^IvfJ!qHqiB1#=Q{J6~6RxUl!89P@<^c zPELwl_C`Yc2C%QiLVH+K`9GxYuJwl`4e0JK=5J4x=~}&KZ{Q=d=$Ba-6yWKUsls!- z=7cQ)L^8Gt`0M(Sp|%cNZ|ifhas7?!X*04Ds|51|H|JpegEB!vAuUldf_O^UY)H&W z&OSeF9pH1_{k(W>WNC(qt(S@uI1r?j;GMH;GUxqW))L(&d$Nt_wDo-T@^i&hs%t7W zV2s;3BR6`skgT~q^YR9W#IouW{7bB@H)Q_M`}LCdtL{y<#vgWPKE9tdPQSeN8LoF_ z;iu_Ig(K+kBXe?cWSLG@vGT@}7nQ$Y)wpG8o9DDGdRjbt1ylCW2 zfYix4;W^F;oxQ5-ZF9EoqpWsrh3ocVq;Oox{!AI%>KVk&y}iz^xbQlZ+N1qBKANq2 zUC47Arp+L)qfk(`fIdSAOrkvL-LN{xFt$mS#9?c45Ox*L90edd8Z90mRn|INs)(aB z?=dgV%N}4;njLQmNj-l_lt#YtyVR4*W0}8Du*zfK!VSZQVo4(};Ouf0$Bz zk<2v#LeP_-k%yaLEmNUk>$x`#7yKXRX1?-yW3gI*D(#=h0Oh^%V4d7|iSkfs{T&{8 zeme%TtXjw4TaxY_{F1DoeUEx5m9fRr>-!?lAzmK5tY3|0ae(fWpm>P)HG)vRO1!~c zp`OWyrQne&1LrFmCl!uj@KlrU!lE$Uu=LC6FSi8#^3gO1wD38odJiS-O^53k6^*@K zv;ryI-)2c%4{0D^+yXP69pgrHc!cy=CLcaY$P^&pB+uqj4MK#FQo^E|M;ali)zenT zb1ENuZflNatGBgeUo<MH%6#I=&iFSQCsBaajlFf7i0Y0GD^2)Wkd=~^%4VXH4dpV}rG ztTx^O6l}0>ZHqEKG9Q6>#j%xOHTJiKckc}1yZ<=RWzr?67UFm%VMQ%I^+b4G<>Nqd zK*06SFwREBSfVXP^H*DZOIX9U)k7a5tKFfH78sa0cPn7JI9u!b=CqiMm_Psg^6u!j z@=94sYfEb3*}Z4@By}CT$^t5-TdfE@)5xSWqQ06gJH!0H7l&@lAC(rtY)c&oJChIL zjXa<1gTwr&t?0UpG6R z+MHiKZ#{WDP0b#0q~G%GiKk7DdNZa8ZLQ9tm0(lEvy0Z>lIp65<`A{b1IK!TQ?=ZKy3)w^ zZ8rvk)4ZD>L))DV>fFLcN&J%4$0O|V?uj$k)^p!tzYKxgQSHx}L*ykFkhsXEwJcy|N<|@A#X$BCT!RhMHJa_Xil4O8U5!%3w0k5Fo}>DKf}jzc{`j zSf-=&M!gE2UWJ8g*Z3?tP@sTK(`GfLpsD$!Y@NQ}ttWeQL$LPxTut#C(J&$H?z}(=!H+~-;bS|f9s0EeH;O{lD`OF=cb?2=bxeC|Y zh=)G`PeJ>ft1p{MXe8B-d@L9VJ|Nu<-u1c!p`28PDclO!MhxjH-`VC|mvx&huOQxo zaxU1YvpUP-JKOX+#D8kC69@L8@H=*R({m!?)KcM;z(DGiTQzR!)KV}6r)jpuqK)WM zghJBHJ62*tf(GV>q1t&6(4;2oAEW5ybhuzCfkdJb^hWjj)D>&v5+oqA`E2hX% zu#I-D3;d?L0`BFiO-*cg^HTvB1HX&Y12hd+(SI#^Spa0XU5{EUI_R>QSRt2#=?XVW z{)vz9RPVR+?S;C|I>35Ia@DfbPErE=zx`R zBt`r~K7y$?|I#q8+bDU2<9**OO%(FMWXuU{rZ&e#N)buKUhK;D-38YvXQLp*T(k(n zkZIn9QNeUMIhR9iy!+udX#lZoO^8J)LUA2G8M64`y={G0tkHBG&0p^t6r?}&s6AD0 zJX<-y8^tbt+CE;6a+p@ZM!N9kN01-EPUA^PZy&1%Uj8z*OZ293FovV-=!f)Vhq|K5 zCyva?_e^}LEEqx8v*olRr-)?Yk1Kt0LCc6nIhlZ)9^NiO9*j<1XbyFL^jEDoI^Mcw z73dw=me%(Zn-ic0NHY&yHkB4PH5CV2oC+yK{mLXJdTp_?Q(me5dJI)~v0WtfDj4BO z+sEmxOD%LB_-^%CY1;LodHhp#U6o#p9xnU6SW#m(Dq%4|%&@u~3<^{^D4wJG|NBhB zBkfBGr=o$tNe>+Xf>WgZjoYIi2^mf94YT9c&J3`}@t9MBRLpT{!ujus|(+ zP&>Wtg`f$h@-;&lGhaUYhRE4%g*`zPGUWPU1|VyOTs;r!9y!Ber>*B7a5PTN+3Xex z8?Dm1y=x2hn8A!9(lK+2l*>eFzjba=aXvUYKjl_XnIh+V^n!belmzd!pDG+b_%*H? zrK{eS0@6D5xFG?vD;$1HTUia3YN*O36(Pemze&jW2Oz)|YUcoT+@j7ws6ols75RTr z-5ct)c2l zFmPukcWb;ACkp$TOPbT>7ZQKI7x)}J#cuzn|53btO|DX8?R=+!`R;qCjE94Ix>#^! zs$I!f%@jq8hu(Xz&>J7zN2X-z;zykxX*@fQuFPL)^t#xmNJD47d{K5IIme%;lq{$p z;In-uXt)jQ&74*NE^IQD^5)N3`7W&ARubU1IwU#|+6s0c=%p0k)u5?`xQw8<>;vBf z_R9siJ~Y~b^skuVJR$PfZ1!W4#J|!}p66$>qRB81pS!oO`;vIgR|IfcO-`QcixHAX zH3P3}GC3bcux4=H4}QVaw}ci0J9W+&gzbut{-kG&S{&TLuE*~B#OU~9$K$P21rg*KId~^bD%!oN#0cyyB_h6Kb zAo7o#C6kff<=Z~LDBPtV0eOP8pGT4cL#3(z&dfTB%eVn9xw+!WVYY2H9d4R*RYSw? z!~F`^48Z~?+?G-|yRrc;z7fuMO!T_~Tr`bsv`-2Q9ko8uKlwu!gQQd@4z3;;OWq*f z(e)UvSI!!||K4`41sC!tDne)WbV*#0u1bpmp=lr+_+~R3xjX-|Xw>mNBu2d?9H5I_ z>K3`>%_$!Q%61Sf-!RJ&ch_QLEoT3ZbLQK zE(2o&x{KxgTYI{bvVUVRL4TXeE0?0jP8f~(FycstYacrvJAas(->}W_deVNxzClfM z8R(q~>IS$o7GL>LuHQOuyq2f!*>*zD+h*WI*=+q={qoqsO0`N`U`@pZM`G&ntH9k!@5) z`z}dzuRh99W7D=T`;>h=Hj5CdvTL@hDLxp2Ep*tqG7n)sg~zDvQym=ebNpQkoL*Y|Dlf#aYLRkS6EqUI=_sKU=99#aAnmo-T_jA~rMm3T16eHsz~% zg0gXjW#LcihYM|z3Lnevs6L$0SMQlTinYb%1)^A6h3Un#g2Br17X`nYvQ7%sjUe}Cc+KZ zmEn)5dfgjuiP%*{7@dLIGfK5P=q-Y0r3*P%Ec8d}!qrcD=L7SqN2tE2JYU8^r|O51 zGoM}C%+!oZ5s;N7m8TTX3Z{5M z1yelXG36wl0YOmIFP|U2{{fE&@B6;4>vg}b=Sz*MFa!Qj#la#e&jJsOX(1{5dVy6N z>Qwg!KbS~(#&mxsT$`xrZuwwnj1e9mcHzI;9ewm zwJI&`vV&QMes*_%ug`6kmGv{%$kHW78O8<&Y?i&~fHu{_`eo=W;-9%5u_7(D>#r9% zc+2(IKqC%UU((jPZ|9z%rrUPa9Mt&L)`MhV?XhZn@1vp24B5h2hSsY(!PZ;C1<#rq z!{lqb&<6YpT#iQEx>v6~kuS+9)VRq|@2}C?{Oe2yxTMW#ZoJ0gKCV3 z2`~zesZ*-WHXFcj6!Ez;e6_&rmsz(e<{%>6!-bCSsMSybG4=^Kmdu>)_PM>oaVGO~ z<+XH$5&AAyI7zYk@}WKQk#AV%eg-0TM@q0ar&?9iJ>n%O!kZH*1C}v`_TsVWaoblP zW-7GZ4z(r5gCCm>L;K!wu(q2(hchAkZw-;;TqOD;0rKoR4;;yQ>KlHAS9g9C2&#gJ z@5dC9g@`!GF3YRSDTZ}L3ky-XbKr=vPrFwPa8KSO{?an*;yEJl^ba9;ceH^h@qb7` z!y(FUohxKaqh$tW7sQ!R<8|WEW?AS+0&Uxx2O6m_ABMz7aaa@wN^RX zuwpG__nUR4t}@vH^ti@H`G6*|k~Fjq+g+&SE?NlcyWbbfhyPzn4PhBMg04>{H2^u5EXd-Q1vlP z?S9pVi{H!NBTjXDMU7cHFMb)WiMA>5)btGw)~?=9OfFD|$xM_|+?0yQ!MA{ZxX(HX zuQB!}6qFVT2qSFrOqpRAc?|8Td(FxMDvjJ4c4ok3T(Jd`ic2P7_si&lHD8&&6yuLRXegg<^QOR!$w=xY6EL0bQg-x7*B4Xg1phm}s4 z`LmR>nft#6;yrUa0^h$I(?*%XU@!aVKi_tCNksY{rtMZbza0hwoUad2x=$xFK0g~9 zJq2;=nQnhu7)ud}bDoAcBQ1UjnJtBB1QF>mqM(B+JDJh2meWxm<%4DDFV&z!DR=+Q z9sO-m{X?2w(kkbvT$Tc3nm7Y#;K#03Mb~-HNGo%f9%Ep4wLfkvIGy`_vzVnN_tcB!3~ek09y^L0tx z4h`XDtC1Qi3S64SKFNP!i)C@0Z^ap^X)-T|ldy_9bC9>K@Tfv9TYtNR-QF8x_D=_E_ABYtquvc-^ZU`!J6iA@6PVYXWW#KZd_6KkwPW zzFp$Rv$ZiP!&vO_isX#0;cxBUeN1?;(xT-*GS=;_|Cuf#KWlUv#TS zp^7suE~whBD}Lp|zrc+H?_|M5;6HyXx0dxhvnO)VNoyB>li6%I1EB<1^xT2`;R&Vt z*z`yJnq1>)-7z44o&dyegoV7Jy^f5zL%THPtFrMND^Un(0;y{T`a1GNws;1o%*d&o zU)0*?0yYjeZ$UF_BdQrXw~9%AcR6@c47 z3qU4_E$Y|cF`Mu#zyS?80byH;h2&?x2cZqtP}k^vjhKIwPi4}8&0dxB-hi|p+_-#a z-=rAkeF)*TZBn(In(%7~ow4;Y=(hGTx5;=}6_-5?;qA@*4A+c6!IHxWnvbp>ZCx)4 zaxVUSB9-_!9g>h;=cl*iN{y%F5hpaW9eRVFPRUB_*F;BboQO@^_!NfD$ z9?TWz!$k6WMN}i}G3{z!Zyhf=Cz3MDN@%r3@AN3+{CF>y)OUwD^4gjii9w&wdGg^s zkpyU|0>`50(Mzkxd?Y#k0miL?S_!j~Ogs*%i7!~@>St0%-QwX&GV|x>o>{Nu>gU>z zv6pVR1dSPJCGsl7&naH3ye5HZ?HkY;OCK$He+Q{@f`%o|MroAUz5EKZICXNeb%>)AC`|Omptnj=zoT2|1hJcbjWdT zVCeMMz|t=+w6*wDoTCS*NpT#uC%$UD^%d*S!o^5P@OYG8SHYJ>a{Qt!jp!eo2#@%zs` zY*RTSu17iYWQ$nhEl@*(jF2r1oUY7%@WgIVCB`pV=K{6;i9S{|`>Y1o-P;+q7%Z^he!C>4+ z)oC=*%swYK+ijsqA-|4MP4af*XS=yZn_F;ubbT}5Fgkvn(U*^>l{SjO+=Se?Ufqth;=U}TT-+0TB8|4dy>*B8MGH!Kz&(=QT@paj z|EP3h2ZiK!+@++RJV8A5<6LFz#a-G@&a5-*V7DtlccMh!kGRFD2WRiNwYVdrC_wG4Dnx3TcCF5?GPhyyT&_$i9r;`^?`VIVRC4NxV9RXG`A zJUZ4(w~T z@rk<0(0GCF?G8weB|8NguZmymag&b;W)Ud?rOsBIr`jQQX&h&^#BW%5sVxF64!3+v zvR%{l)nqz$y(rivZSQk+vg`Z5=~5X1rXA*fu4~`9g$pX!)mHzPhA6u#(le0 z6ROD|>OfbC8+Kf8to)*H=h4$=c*fQn+TE(9VAYn`3-f)6IoAQ5jK{>acVxeKj+aZ! z@4KxG zpa^D{IMh>WC%iNc2Skx!Z9hgHrr$+eY1t1_Cm}EnxR53Kc4CU%jM$2A9p`z#DvK#9 zM>9jQ&}Na;UE26Oz%HZ#Jf!~=yAO1kNAdh4#%5WO+` z)~{O4|EXY-cRd#=9{XhT7ZRoW_?@R6C6%5}3vk`X-^NNbqT4&#Ov^h*tcDcP8!w$z zKnaPWH+jVLL8-$=OUS?uYqdiriZI}IY42yj=emG~LKW?)-chQ)`WdfgKKZJg`}bAN z#Q%E%iiMX@5`@L)5ho`H+AwS4f^A&#A;i>@y=z zCSmK#nHrP*Ke|g>WkfDcA5`flzg}|63H;z*dvvxoE#agYbGhk9@T#sQH@Ooh20tAe zJ&r#a)8{v!c35Cb3bZ979n^w@fm!+X8&I9nG{@fL>* zB)5Qc@LC;=xis-EaBGH$L;?`kh(FiuaHk;_*o_Ugr}#rO$mHp$5~|G;TSLQ0qYFxa zAq^ldvjX){&flb{UtB-?i&pd%+cR8Rq$vySXBSTzKL?_Rdf2eV*Xm@lc0^W8k2C41 z;;Kxg=?Ps+q;=}X^KD7$H_;XzUAVrS`H20grnYb+l(x-n+{s)>?E_mvqR1^KERm$L}Xo2pdnkDDwD}-O8h&DQj^{v z30`5Av>kP|dm!@Q1yhdId)20an@EVz*JJ%OTrPn+wE-_yi|i93z+Nl2;F-a%JMyD= zVE|;!X+OTZj#hqtLEDk|yesUV+9^O&;!d(b<{-I0Cc&7|&h0hE95I%t$|pu59OEjHMzmBv z+g%^aiB_npg)f98#6Kfg^*pQMJ+O?M;-Y*H`W&X!quExryPpF9G2eez`k?uiwc~fI z5qAo)SpwO@T3CMXm$?eCD~geuMA-yNpV2M)%H7cblV3~)pkogRX-E!pAz{`y)5ysS z)aW|k))&Y66@VZCdKhY5Y{zeosaMx?&l(YCYBV~yuQ)C~6q1)rdcx6LfC=caX&0_* z<&$OR>y9Bf`r!4U_2Hi~G0mhBEsG%6=X5T!_c*Xeh=X*-EuH`+HKktTqwtA3yAr?zSSg0WT#UJ2+l^Po=uoe99 zja6Z+j#N0z_I6=}73;nGzDkruocBpWbjcqJ6fFu`oif zX;?{(;c_ae`k9^PdoEy6I*NDPX{#LA+O-sGMB!KO1Z{=VFTgXw5i~RD7^O-jhgpp! z7SLbXhxQES?tEfUoyD)sEt%7>=5b}Xz?Z4Yc1-7Pnz!$5@ncu1aq{B%*#{jJO!eoZ zI4e&;0gV;ePAx&>6UQquuIr*8mkEh|X)&Eau0DQ}!JJgaQ*{Rfq{z~QvhS|t;1^ZC z8GmmX~Py zJh8S8obJejlf2C~_Ql^zo2Ex00WePeZGy?+MvWJUzH*EBiWO+nAAb&m4>xVQhP~{d zw&Nck^~1lWxld)0FcrlX0{KR_>%e@m+ff+^I2>Sx0QVNnu7X)r5+YKFjfSRke#vC$ zY9x?I=aJyoigEx|OpQG7Ks_e-HSV7)k~bK;_964~gnd;cdHW&&TNKK(7h6-D?2ejX z45YM;s_C7;vNlj-v13!lT7OF$3){65y%a)yGz2*N)s4;*Ge=qmTxNn z0cx~x*c-)63fZgYaf4jf?4V54+R|DH?jrbbW85f5cwjKH01>fxTG3F6p>4ze*2h&i z<~o3=A7pIyRK=XY(X~VhfB&7)kDTA_riwghGgnGAh3u*o*tAM{=>8bM>K*y zpbg7hRXFUW*QEM^=yrG3Tc8r`sP>>A($36+bmo4Ntkii(*@i7nv%B=4EQU^M9124+ za?#jRnf-r9&wLsR*^LYNoH5g9_#(K0!pxh0=4yyvmAVOBUw>L@&imTr9vrg^cJOO- za4GrTSLv(lF*`7{({uw;8o&Fw>C?)mnScK-+9?##2C*D%jhT(S+yX}BV$D(S1STZz zV_%4KB!96dsvKi1`c@%x_Rr`yB$o{5w7-&r;hSXrjg>o{6{b!+XA9g_9cz<@v`B;T zyaqkXi<%o!6q;GX?yStW9}O#06Md+u&WW?1mDM&+CewzdjaMg}L4Nz<&NWw!!*3DL zg>rAH?%lDh3W^z8Si{{uToopLej$%sKXMo+0r>lpP@Ih!n^Yb5CMBmU*vzRfyN3*F z_MMKUhC__9V>Wqn``z0c1JZ}kA*N+HEX1P5JI)M{w7toX5sd9O?v1f%OXx2p;oEwK z_|s2}17yc52d*c7wYZjh%}`hO#UJ7PTgBJ6A9foCpC9&Ps`lcW3M%(Mc4J1eOd zw{BF6lqM^KvB!)5rP|mzw^IXE`k6Ku>_{zO6T}Z#*kR@LWg$jM)f1gf>%4y?9*Bif z&EuKNpsIPqAx9tD4kCmVUCxv?Ko%^d1^v~uE>M_#(}wdcR=#gY{uwB$R+7_pIW2km=4xHOZvsTKoNbYdx>3o@34}wL(DoXdLQ^DFFJeblKI8jwWw3+}`9H zEuh^Tx_?7!w5k%@g50sEwpqels5l@$mD z(2x%x*-WCRPvKA}I)>81nXdz`VEx+lFPLT__?(K9r!t}+C1MxxhiR$ooYh;QT8oYw zPtejO`!5t>Cad%d39N%ljxqaIhYzY;7Y)Fo#M!r1cx`B#qOaN$DYZ|z023&R?>2m_ zt;Xe0^Ty?D5!c}4t%(p*e@T-oYL|0|R0+5Z0vrVEQ>?qz=jh=7I>f2sX9^e5-}=Oh zNG<`;^#RS}*@`Mi!`O=M62i_0;6)mRrMG}@oBm~#DHxW@t7IJqd$ITJekvGP3t3777>+JYHARD3O(Ct#W*|7U-Qto3_Tla`K?hK0|ohAP|h z^wHpEd0M!GP23usX>`os{d6@qAZB0DC`11OF`(^rQA(xnWp~fQ)iNU6^4K$@pzn`z zDIYZ!-j*Atiww>UH%i(X3E%r%eC-9G&vg2WItVktY{AqwVTl`fz1-n4AwLU^7|7Vk z57N!IjA{g6f#QY=cYtlxd_^WII`~w}x0(eP?mAlhDf>?Ag;@3RSAE0XskUmYuiXgu zzjMWuOC_LAQ?*c0b$7H$!SbUEzAYP}G5@sh_C!_;mbArRWxv2EN;!zcNnQ%2?(n<< zK;5Zbp?E zKln1`rbU-;X8ihMr8{yaa%q38PLz!wI*%MK5stVS(vk|L_%J2k(iWj6ek!JKp@2ju zZbJG)+37lB{W?wTJcW(bMM&i!4ih6## zKam(C&oBwr_+!7yCOr541A?Jf#ImMa+V&P_B+r;PlMsE-%lu?fMIHo?7NOYYxL& zac%S0f)SdrDe-V+i?oA>qf&>{@cF-9)R3q#c7ipeV#y1sCK={TYJ}}lz%I~u1}7|r zva|+L#7k3rc}?@5HN>{!{XQp8tto>J|H93Zfjm?VN6?u~Q?I@+=mFq(ccq+qt6LR5@zj2Mf?J@@DS}mP$zoY)#y#CsoAWoG&4#k# z?QEFqS~p6?4=Gorm+53-oJ4zrglRBnxcZ@Zq#mi|zFiJW*U+(v(rmjA*j&nLgWsdw zZbuFbmxRakBVG8U?VWL)JcCr(0#`u#wb>IfDx~ffon0b*;FS|y0ihX$RkNo3O0xgfnD} zp6S8zIF<39AAEUAuS=K@U-XlanEKbd28!oWn}Wc#VP~{X*+=;wYxLW9a!#lPKOLC* z9o2WWS+w09aC@BDg{ny1;fEBY^_7OS_j4?!XCFG6MsK}))Axlt9Q!}EoJ=alNi+D) zseiuuTcY&pD(OqnNryCr`s*IwMZFh%W)9;;4Dt1VuHFiRe#62HsJx=9OfyP3x8V6g z=+;Z)d^iDcowZ&Z-N52wo66Eq@y=c%M*AI&hd7nNoU66J|F9kKR|{mJ0Z}xT0e(>; zAxT3Pxa8EHqTC2hGUchP+PSRC7+}lvYDAD5dY@B#7O7-}xJG8GIdn0;uWMyXCeTnA z*ZsQXp`PUd%iN*14Hb_AmK(s!Vc$k z3(+r)| z9Oq?hNhXN5J0+fq@jpOpZ@f{+l1R0G8v&;qy*@o(r~`oNm6#UN0^>%=hZ?L))2$Fy z_;burf$tSKPY#v_J{$+Wn18H&WdAHc{KD4aF%`|7#=2Jv;DO=s#>9ZV^B^wE*hezhx zr*S@W@mXeBc27s6`Oe8)QiRf(4MqZcNp-Xrnlm6Zl6%Ua8yN=6y4sFc~y^9cqw^8IMo;1)n7Az^*L6o=bJ6UR$zKi(Lj~!FaaSxx5)Y`DgfWVyE!$ zd4~9sCsUT-KyXaff5H0^wr&M|nNd0FR-%kIr3JIxbGr&qXy5(5k+8JKmWPGPawTpi zj)&4#S~-fp_UUg*YUq_1RL3fit8J1KUzZOr_t^e>9hY zR@|$=Gh~1~GwYNrv&F#{+&CS?o-?o|bt6qWHp=u%`b?NxeZWGrgr1okG@UF4X1-aj zfzVmKQl7(eqbq%-NB=9&uU>>)P|3Ux4EYj0mPq=zq7F{p<$4@Kyu}H2w;RqHh&Jp( z&tePw0UgG)xX(=@TXZh3_sc-Vtf^9TUJEYY($XUhk>25e50B9`O`|4@{{!ZbGd9Qd zaycK%o5L^$@xhJV1#HQzf?^jeG_@LV2*0}-4I4mad zLc6Xk*X&sOU2t0B{)X6@SbYKhCBtbhRzZ+gV=)>{bwS4e888fNS7;&?idJ(>H#hcc zFsQ-fnodSYI=IQ`^S~1Ak+YM&6Erfh(w055ZkOHmPurkp{aCnGb;EjTjd=-&lH?52+UD~rz-=i8KiT^x0wQ58i9$qt4EDlE1SErL6-tgaen!4(s zVA+X=66)O@Kmp^(PUE6GHe_nl_OMol51&D`9y(34F0muP5`_DW-EIjq+gFOF^Q0{8 zW8Q?rN9t2#+->&Q8|AFn`xieQss8<{Oj|j&-L_2et$6oUDmd0=09&BJ>a{Kdp1R$^ zNNg?Z(#@GXrBN!mEPvQmeEAQ4)lrSfhGgxD8#4GF+OI+15FrmFsFU3MEl9o!&8+#2 zk`s+OGXB4cEt4qw;vtrOJEZzQ{-o%e%>J6XVs=bM@R0iQXY9aIo06?YX-yCY-YX@1 z+58U=axm!31Jxt66_t?v9Rk~Y6Z^OYIGk}KsuoH>-LPSa|0-EHKY)l%NQ|zrrwRX! ztH&J$eOvw_P^_d?klS2db32|D-2{FRE+>9VmJr2&*{v++hA7gS=wK~1MrQj|P_J=M zMvM&L#F=lF@y7QdWNNeS~Xypv&ULXCRg_M!^YwZin{`38?+WZ(b z!n}yxIgIcU2UQ+NFZd_wX!2haWk%R78wA!S)oH6Pl$fP!c=#sG#MErVI=$n67yj{u z&65Y;JRF_hsoOZ0<0ccJ-7!Nhh~zir3P#kWsrF{CJym_F4wMh!kCxFg0hB!UP_EIu zT_>+Ey)v1=Tj4w%@Ro!I+3`nefNhZYj>n4Esh7*|^lP{H)a_ORqT3r;`KheFK&WX> zh3(m;$J>I95}j)C&i1@8)gFC&ePwRt(sWtj_T}V&42b*EEL}5MK3<%jC2t!A{hVVr14j#TdDySow6L7X=n*+$Q@$wyU5N)`nv;G~cAD=nJ# zc_mrXHb|j9-k8Vof8*Ff!0_aO2iwJX=aqZGuq$Ghv`xf zQHVoH+=11dE1N`r@3hJI>~5O&0M)znM!lKPApmAgK9}p<>7`Dsd`B@%MD?*Wn^nE) z&GPFdDeb|reDbzoR~d8ldQAj@_(K)!U}{n&1~$*Ln=-Rw)^oR#tXn6h50PS~3o@XL z^^ZO6T@vrzbIlD#d7GGu%Uzf7FvdZBLs?XiSd3E)A!BsZqcTKRJuYgse#wy|s66y~ z{GFQ}2bMRQW_Pz z`p)iyIVFcJdhX(>8SP1wZd~Nm56~(tF5~Tw^_(sr?DBt|=j+X??$uOUsegN{Ul6|| zNc4&mcK=Y4zNR18p3>~l`Jp{^x5|9O7PU-Vq^

    12Mcfu=~P)w7SJY44<7%Fn{vis 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 diff --git a/docs-en/guide/figures/en-us_image_0000001054452241.png b/docs-en/guide/figures/en-us_image_0000001054452241.png deleted file mode 100755 index 0537ddc49dc9276af68137811471f8c79ad209b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83146 zcmXt;cRZW#_y5~!t7^5>s*x(8_8u{!sFhfy_AF6b?A4%l)okoqMNw7M-ceg>(^|1d zP*f1a{^k97{J#I?acA6juIqKqbzaYNVsy3DDDOYMf8)jtN)7cFdN*#|WV&(V7VO?# z;uYWvgVY;0p4`xQq4>)G=1vZ23Q*1GWPRkOJ*~?R%3euET36wY+sVmV!=O*uUcGDC zUfQ=pfzRLZbKZVx&;I<~EgHpl_nz|X@_zUAdvhk+{^_#4P5;~9Z+|O-D;G6KKta57 zi0#RshO))h1$)=^xi_vSODEvd!7L1;DuyuQ!|G?LoK_^ z(x4eA*sAubwHKG9Bf;SGk;L*|FAIV*Hkg7MOkls;(5i&UsHs*$d?9tcH=OORB>I9x zJ8NhqxtcqgIxu3=xLKY4?2C83$ZV8zKp8bybl4Ad2y|tLcdep3<&hVN-&O9TJ5c#W zzmqch4Og+HS%#-JsLQ99`5eI$X*mYP{-& z+Pm>L7>tJ>uWgc0)tj)oSXI~F1)Z4$Vi<(hVgT+~0n6{ytXI%-yZ4rX&a7T`AJV-W zz&ZOkJ|;2_;qrW&G$)lkp#x3p0WJms&mgsuwOi4a3B`FF69+1Sf#=QS+;um9CjTqg zH=B8%3m#0UoAw<(wsXcj)}WWhH}O*+c_CcG)x4eZNr$C5!<$m9Uc@H$Nd11w7a9It zGTS_8iK9iSS(w`dSDTK9394?7kTaNCd^+^Ftm;YD#{D=1YdP@GW*ax)`3 zO`H9jD->*y|BfUt<@;~a4|uZu*HrDH9G92%@s^FakMiuGC6T=QS1dsgLbrF-S-1NS zv$s4^9OsVZ)E(SuFgR7)2>DEDU7dJ+q8zVLS#o6b+4x8LHv6}Vsc{qqlp^nkI&^D+ z_ha%NjoUb&$|HL%`=fK4BxS7WqfyyoZ>0RkN5;>qe<)x{hGG+Sockn&l@2_QKDwqg z>~^V16YnmX2>;SvRFWufe$~pV9Gjg%;f{g5XTXcdM}%ifvdqw$!ME-uKK4aRmdjoM zm1P?0mTZ!Dc=JgaWIx8s7Z_l;jD*oqiJK00;LaUh!G=H%F4q_IcS#PlbX+S6Ck zAdP!oBFVD!{bSML`AQcejzM~5byZkhc{evukr$xS*?aHFs2(+*ugIgqloYBA$G?nDB(JSnYk@S^;ytr%yhE zz**{OxKNg-qd>^n?BdIL+f<5fQ#rDRL0c+YHaUj}_o>IoCsoNcYoF~+U^k!41M@tn za`4HBO^kQlg{?pC*Sxw2+c;6hCWMxu1(qOwK$(6F^}ZG}_(w`bry`&%dN;hV>y<40 zyb1Azx^~o<4L?TGGK>GXH|vf-A-Uy&9AA{*8{$XN3`Mnul9zgcuvLZG!_l);ihEDa zn9X~0qC<^N9oUy%v(Bq>bBB^pR_}&EeZSGQ#c3^{<1+q%*=%7&-jAqIKjbo|GEfKs zRM^bq%5(tcB*^Xc-x37vgbBWO$(R|zD7rIi)_Au0_gqETl+duO9?YCT2o2YMeD0dX zj}E=dwqm;>pn$Dnm0KH6TsD=#q@%urYJvDAhz?pXKUx*M`_!yGstVLVXJU7>Xb!i;>+wakxOZ$#IL} z3tFe;n%Dazs5@#MtScQX(jr-&u;;OHj3Ma$vBDv?(;{lXe$wzX!vr(Ssj7EQ5$!n((79P zq{m6h|Lkcm^-%-3^TUrEfyABl&jRBfQUwX_+gn~pzIfhia<$lEkFR&4 z`EDmyG$DS7b*p(bA#BdxCtj3#e2rAo1nk(z+gZJ5n|-96Am4vO$jFd_I_N#glB+bZ zdUi)pgWeEO9>1w9x|3a0M4jUxFgQMq>Z!uxi7z6~sEkrI@3D(>v)_*}{u${YQ4*;o zkd1SVMQm~|c3z;!PV50GML{CVdSxy7bZ!mv#^LyV}Z=Ss4A9NdI_CbFp)C`_`M~g6K4;Fb*iz4fTBw@VJfYt?i7d zmr0I!nlW@+`F1x;%F0doT0POoy{`O;^)4G*kajiD>QJP4R8D*}+F^O*BJcV%Pl}Yy z-`eZvO;Yi_puM+Q)QBaLAuV{|MAYYpRQ{X=Wfr?mLtTI?9CipE>{YXeI+v^rx!leo z1>-`8=qmkH(jTpDCkYN}00>Sjom!_9VB8I%7nMzt;Bl44e968Oo~-4paRYZr+Q8Fh z2dbb(L?de#IoNl2uh2^~EpdSHv>-nf{7DV#Q~7otdq>DW^gPLiLUYRMYTZhbSTlxf zfV;1*_O4M)(>;RN-a(6t6$ZZ`EO7&_I*v|1a}Yz1fdPFh=Xyoxs^GLn;k;%hH-)M; zkXcBgv zhv6NeY%?ZQj#VmPoSpF9DE@EA!UUObr)BMDe10F*7fw(o5>oA_L-u)^A(vAj^K#2% zI_@#+4-@?(puFiQd{Gvk)#%H`2D!)eM!~aA#BvBbKgjJPletGyKTK;>$XgJ&NIjm%ZV}(b&vv_*b zpq+Uhbs5xrg@$U6zM(NPmiv5DwE(TJHT?*sQkFWK=i@W2WlnslYU=(3jAw%Y3|94717IZnjI9qEp@@U zJ`mO3x=BU%OA575*>HpZmo3|22KFGm9dVd@(%NSrxMcp%Gu@f(Vu@5Ly=})Xt7YM+ zVkm0?UyMysrgF4Au1=TmYo5sY6l;ku7^=xV`i_0d(4@Z2^;`kLdA?kZGQIPoH<%C5 z;2P}kU8r0600;fR2D)!Eb}k?{OL!s_NupDhc$Bzi0STSZLjkhkI*; zo`#&Jhd5Hn<3~+An{kmsb8?qkI(`6`>$A%1zdQNW0jC323+7u8Bc}@YNIvnsz^NAV zNTo34^oI7!-64hRLxmQ`3qqg5!p~J#_**ltwrz`%p1p0$6PXkC58x#)l}l?rCJ>VT zmVjZ3bP{9j6HoKur|K2-;UeDs8{-IVzIm0sL+$+}m+RyQ!RD@bLd<>adyWM64Pkzo zyxRz+`Muy1XSbkjGugLGS}|vx45(2HMBqb4{-rXj%fDDhowuK$dYd#83dM;%Q;%ms zWeSHPV0vn>2u5FYi33C|W4lZnme+oDwi|}D=M6;1uTIR0G#7|nhzptR8)XS}HVCvf zs=QtWAaEU&S?BE30qpP4M| z!#eTF8p^(o#YzJwe=1__70ykjLKY5l8$cHyPb4L zs4{5RSy01WXt015f6_D(^a-j(OS}d<0HrNjI4P#JvGW0{sUqVYgE>q3x zxFk7Kyb?Ff&seLA73^W&b!#m3;v2W3J>Q0wCP)+^@Rxq>xZGjpi1)@jc))O z!6DhjQ*AYJ1z_goF$SInYy89h(1W?BeCDGX+ZOIeOl*b<6=NW|+I}-CZ|FHWCs4?REF^@MOll!!CvPx{SO=U3 zx!f&@rMc_&?sC^c3WHGd_Vo#XD?MMCi-x1+!`>mv7Rke&YKntVSIiUIV^}jRI(jVEdFWJ5Z1>L!g$9p;OQ+eMeuU6SR z|9KKyWR%wvp{)^>_I8U~;S^oLvR?X-)VF^LNnuL$cVR!lPh3vo9kra*;isua6pl06 z!))}vf;~r(yI!@P^Idt-HKUo&^o_9TI(uztC$CAV$mDTSlcj0nBt(1s3~=6+T;UXQ z2v+E2!5_Zvj;5sREweo0_1o_tX>-tc+R!q;Yi_6c=U}n{^+)~%Vek5C51ZD|TGZ0k zJk|DZ-Oc{cyXC)A7w(z2Y#jXiz!)Ipodf`T0zh-hwuY>d0{VCK^x zQ~`U=cll3+KHJ|QT=e(SruWP?X5v>@BYQ=~?G=^r{asA=`I+cD>%2M-eHx_eE0=zF z;mg~4PsFs(H{-*)E5yP0QD$SY-Aw_^MQ)RrCPY1T03ixlN`LV zeRwavM`~T4O`hYr{c5}Y(+C19HWUv>*lqweL74E|zZu-%>~)I`nJJI-Gr6PX!L@Hj zZGU%~J1E^o=WtO{-UuKd_!ZxO!ON;3@3T?`vKQ~>M8{$Ty`S9lFzgN$HlVoB+m<{G z=gpjn;EA^Nl4h{;P_2K`WkeO72KHRatZ`U+&V33JuT~cQy#6bnF5aI|j(8%=n0!>} zQ|{bk1~9!9s&gakc59OP=67wmJ2!L?>m0b9>`H23_lUhNrhyRl3~U7LI2{Z60cuex zTAt{GNb)i${FUIBD+8~y`S^O&P|idT>ws|~-{N_TbM1E<>NtmAVd3V34%!z<8h1LQ zGuzZDd|l4xnxR&R=bg_<1qo=XW#RfD9HUo$A`KGz#jMr|MJ=JClMIancgCQhr*~v#=#aFl%%9X4%DG!- z1@YDHz2nNlR#EsGfkyNGs9c!cmMb7Q&T;uBrLEu@=VQR))N9G%a+vj3O2Ke@P0gqG zhcq-Olsg`1yJ%Ox;Oojr93vc#KG(U+pa3WtF!t485Qyl-r7UiWjZCKlWvmYpu@M7| z*Ul_X`3xat;XRSmH#@W41cBG;MF>kl9~-*b-JvI$p3(o4y*AxL;h}TU z`NneOL$5ORBn>DsR4s;sKg7Y~v&C)l#G`zYD02(X7jaPmV`H9*w1p(OrsnQ?q2yFD zh~vfC$UUA2C_Fum3X26tSY8dHfwcNV?*P8jNyAG#MlORhNMno6NG!&$mi2Z4H& zA#~lJiYVHWRHa1UQu1~RvbYrSpQdbM*;o~(zkU!0B0SGCm0mLE0r%5d0T@iir=n-7 zZjB9}2F?5%!HD>30AzIlfop`rxH0|UP_=t%UMnOhtczJEsRa;o@OcCQq4!@}+Z+r= zoA_B#^O2aCvu96d;}4Tn2Ho3bo?GkPqxohS zXH$OLVcGtc=7ajNGd%lThTvedH}(F#q0?$x&(C+bn3Y?_qX8Wg)9~fO&-mAmp@v!D zrTYDc0%u<)IqlN%G5b}L&H#&GX?hd$f-2#&!9p?c@oV3m zZ3@jRhgEpMG|J`or*3?WI6jg)XjIV)T%kbER_-m7pN`nvXK0qq{RYc;_nINP|1;A> zT=!Fwa>b(R{JLtd&73h+1&3OVpbYQY;jZ4KoHRpn*apAQS(7wR*1M8hH?xz54NF*9 zc0v=2^xGp)Lqb3G{^a1Fzj@E#_0xFjfw@doQV<<3>Z95MpWDgh79Fa`?s=|RE-CkkomJGzjqE8UCiF+4 z68~Kk+En~o(y+`*)RRur$=XSA8^sa?)c~;Nz7z|QAYy?RTVd`h>bavhl2Spm^J@nk z^^!SWge56Nwyl*qz38YizRKs`SQxng!zGO=AvDn(O@)3xq}Yxw7gU$BxG6ytn+3O+V92xK1#i*(A5fqVV6ZB+&P5>|xwIwxHZ=r^2#n z0CCcsGp7z7A|!9GLwx7oTE;kTg)XNvQXQK2zhC}2vQoQz>TK=vvRw;+u9g-Fm=szm zr+*ABsnhBCxVc}0paj6sYH5`?<#HTnRuxu>K!jfTQ|qe)+kp^6bhgi=iPm44^PL*z zYsi>!qeEuRC8M^BWvvqt%<$)&`7Vr;bE~n~dH%kYWguEsRyO2)bkZ?9YYJDGTu0_u*I zC!(i*{ra^-QktRzn3c?mdPk{;PLbh%V=Mp`xjOu0^n7hLIoycc-V(gY$KAJp5`}Dy zImQL1&WeZ!*CMx8<;JR;YCD=4pMotMppIX-MWO4(xSp0*B@cobE)n2y?xF@AqqpV- zYFQPyhvst5n=*!$pn5a_)Cf)}Dqjv)_?Q~MvdX_-g_XeeN? z2O}NO<$DWK3*CLQV|CP(pDvpJRyj1A0Bv)|{PO8tf48oiE%v}Rmbx8w5dz?}4c*I6 z&68_?`YcUYkopF#iE>tcPC5c`^rXh1&elMB7zUY&@Jn!r+P_vR%!q>TS z7}C=Tv7hUCO)Hea^!nMQDH?tM&CMVVvld-~kIJkhTKx8Mb29oIlnxIwCc>snp9$0x z&Rl*t7Z9 zUkG#c+j|%#xmcnRBQ2WYZ1LUogg37m4W915?nQn6bQgjWvYqLjZkoa$#)fxJTbKbu=anO(EhzwLu>|Biap zE=iEH%U2sDmB42hh^A%kLZ!W$)t}{EtZ~oF<_46nXWHk2FpSS!wlFMYaj>4^Lb{MK zIHrE6L)TVKb=*3^KelOyIiIe4%7iiiQ`5X6o1 zsgychVQ8O5Y(cF)S@f}Z#U+ypcyInRdlJy~ZpV)5vL3$p?;}$BmS%T z$>WuFhvlI%=YZ3!$WrPcOs8Xx4LP5`1}5FeDsam*Hjz+Qr;PsFX;igX3}@EFTfk!B z0MmUO#ss)ZvctGO(|G%eNGkqW9(0$9=*aGh`$6+>KX96992~frCKO~D(VH(Kgez9M zm42E>G{OJsGB0pLC+*jlCTX0dEbc#V4iOn!2X@=)x*00k8uZb~UN7Kz?4T^sCQ)q^ zOSL(AZOAUpv;i{Gwzd75^$%qC?Im@?=bD9;Z^p>=Xhn9lTbcykU#VZA-GS{agd%>0X|DYxRY0`Ut5BbWe2=2fw);1!I zGs>o*p{tBgG2*4=GrGv+$p4Wa@R43)$jxCbiSRWdLH3_?!`2L8?$^&evuDA#@5%U| zYTRX^S%HU~W3WWn7Z26t$JNs1odT&jw7{ux@Fw?8l zXiBF4HT_`KeAgtELUV?tRVLZ0d8K}N@oIN*Zd8@?h>ZN9XlmQ-wtXrs1{ycQrq;2M5Ku|^#A-d z1{Yg$xdY%UHmTHmn?Ljo_Gsr7E9a;G2$v5rr*Ff#e#?w|lu)b3_d7)4)hXfGzVAERtd| z@4AdovC7vmI*5XnKcgn<{AhQsu0)|j6-Bp}|MAImB9t<}CSvLL&}Wk9&HCt?3}q@% zHxT5un!%k}wN-UWBxn_~qZj{yX$e{xz~3a9oZ z`vAFTijwN;s6-BuTM?AfpLvM8Q^kIao;zvXkgo_j$1MJ1bM$i1x`i0DWm_Fi{uwaU zvatS58A+})psvRbnDx2Wk$E^(Mk#c60+ArM95su=uVi+W+|{O{_WsqAd}Y?8Whg2= z;rEO==0g;QN%Cn-6o!mOi^0A#QEf%;7glo9hM^^6RYNo!kcbR8A-A$wJ?GW&@1%WG zt)y``_!U)lUec2kfeX79hP>0LKJ*>vO5euC4DhWDJTxwRtP;Blkiqba4sthSu=`9oyQ z%+$avLpe-un2XR3w_S05l zK0xAZ_h(yRX(R{tcoZV}sUQG2K#WC6|H9U>c?O9dniR@v*D&!_$t-BI!5WuwZB zB&Eo$Yd7fzQi{g)P8KPB>J7Q=kg-0zfHFZl>t@aRTG^O0}Z1_ ztk+W%bvLc#aESURLnBPOf=xNS#9g7xyKpGpMpicTjt=u?g5#|F zqkd%RDtVgn4BJ}MkZiEyXa#V@_Fr^`Xnuh;|6}AJvGaG+Pj^7|4V&pgvtPNh#lR)= zyLDjhbS#Qx=KvPFw|^r%mp6i2H+u_r$>RYt8}yy7P-yeNY$0tWRHO{<;uxBk|s zj2+dzHAJT{zSHH)h)4JGF2D9j&2D7Px3ShYm1bsPk(Af~calbPlCWlF{(X*)e$kQr zjW&z(OFPYde_SXa^|rk*;^BX(GcTEp8cNNklc=t}z1Ir-cjH24#P@rCmylno{Ybtv5V62Z&Ww#CiWU%3lgswQAkN1)inNL~fG zypv4NZTu}!2Ah3!_!`)Wm=%e`;5XtTPtFe77-&*y?glz5E03h_N=FAw*5s~J!B1^i z8+3w2X;>RnaO=96F!XLlUdHl>D`SkdPR7~Uz~8xa2K;?dB3rprn4B!F-_ za7xZZ>SO99Eo_9hZprS@wYiVE|+X7tQ0 zYUp^>X@O@s^O%WuJ4z2`mm4Be6F9^RSaqD$v(KO5QYzTlcuaWw-B2VFosJaI+#yUztb3b3Z-3(R{d6K>`Aul}B7`6faT&Iui+qh%T7GW)%@?n2h^`u7jG zAv&(7Uj#_Mo&0z>%8DwFg{92wdtMheDYwxcII!CRy5Y6Uv(DU=7u_1rkK3I9e`hCZ z6#x2e`DRgerT3O}dg5Bzflx=o@%m_wx6pbrM;WC(8|vdl#?VhF-eHx)#ML$C`vU+v zasQ#*3)#x1e4if|TdT1d3Z5>O4nSg+z_RMJ`~|Ps0mZBDSKrj_l#0kg{$XH4GJS%g zL%B$~yWf6o64}xhY>7MmvK=r#T* zpXXFp#_prCMt;ld{O}J=?Wx7uT|Opf&9Cq~f9^*KBAQ2y-+tcfv|`4rgK*8_>mm-7;Lyvd;j}AzBY##_4|96A`>5LZGF1e1OI@;9&Tl_Y zm}ALiVbw$E;aHf6%#au=G1;cAdZHUZ?jkiZ#DdJpyi^V^6N@NZ8A{I{Wd_|~0fVGP z5~2$pF2z9jf^gXnu+?dn`9KqS|Hxzu{JX@I_&KXz3Lg{ngvj|T;Gud z3_!7rMJ|OY66sf~c)d4%SGt!kf;+hWD8MA+3?#jTolXhoXi~1T9nBxAA5PU|o*+vL zzP*sq9&|iYQk8zQsUmXh6Q@YMDD_y4FLTaCNY&P5olrp>VS*pV zXi?~oPjBAb&Z+_$glN%mTwRDSoGUVy!|2!L*8Z9nNAez}&#N;x7}w-~W5RGL8*JE!@8A*^0~rHoFi6VdhY zd#%XStG;nKfz8P_1!P9tJB>!w8PWjrasixM!6N5jd1|{w@?jWdg_#)O2Is` zh>(awdIV#7TPU%ITcXFi*~mdlYJPpB-ELhPP((k>jK)d?Rdvd;5ab{bvQK6xO7BsF zw{sVG+pTkxVFeRa;}@&dpf->OtDQ8pia)O{YJKEasqrQ^t41J~p0#~5Z97&#A6+Xj-TM0W`+4KH4Vb`@&du`>T12oF z>hRJ^%+RHvfBpv&?kFKO>8o!f3e*PJjNQvN#!bHv0e*~U`+?e*0%gQTU^0HiWU{af z)HqvJ71#6S&3aF_JMv{tV=I=s^%nA<*D%|y(wpsYnc}(FS}q>%*ZlFP&_hpaG0s}M zYS(8rrqsv7wKD32dZi-8fSGL#asw%_%Ok_Ms7Xw3wT{%WM?af)S{v{T{tHqZ%K^!z zH@h)FoH@MQ$q}T;!6@23xO!FFds~hf?!kV8|r_#G@4CgQ(^ryV&O@5)L zF_<_}PfZJGz&3g(`uwSRrQP34Of61~0&3nqt(!!Cw|BgYDdDu0Bd*b;)!}c`bAp+N zoH|e}g(KZgQ9m%(^B2#XSS`{vedNq}%{}Ga98*Nh?kmK3HP#gE{c@CdE`8zParI*T zy`S3P(>2P(*HWCV>2|aDQcTvYyMo*7&0AJJ%UOPt;XS6$B4 z33Ze`9KdaMl~9+v>{_5Hb{%+RUO4**`4l@qw|=Z*7O(1uL?*Z-4YYQ{XJ<942Lfxb z;GC5bXY-SMA>we_zk~bR6oI zEz`(E6c3uHQhtxT!sz3>WQImmIqu(#MD^5fMY(MV2*GqpsU|x17Q_;&7THeEA}2$} zyt=I%DIgma-UTC$W_+1Rw=913Jji2NcUtuxYfGd;ZeT)os`}g-Ri+6|VAk4%)6bws z)TSE`zQcwSlWAsEmTdeIcFR)-tC`yFsrh|8B~Fz1K}4}X{4$X)=|}&R^qWsSCEsdN zLoq59Mbv1Aa+uQX!)z#zf{q2mu5Jqq%-r%V70=ZpNP?z=Ke(~sCLvMrod(~$F?X|~ zUyfta*D=e9K^Nm5g6*q`3c+2`CmC>RUGH%?T#r9K<}m@}aVG%>Imz1`t&-^%DJ9HJs1 z_TDZMHAMVX?o4FkvyP)x3ZgRtw+AGIrw+=|J^T2lJ^)Ja?)Y78UlPdTm*CWaL zqFscW)rPwcWwBBg|7PI;VR80r?-iQg%djU@d9#vpO-R>44w$*FEowS}lwgRT1=p@r z@$YUDWohDVN&b>XoESnZ8gDGC=#uqmyhMn@Tg0yqDp%PhzpP%GkP1$hLh}zqTcWSn zeZ5wtU?CrTlOVmkNWIV9Ou)wR*UwH@tO}Cd6TxSjlzk6u!Qs!xh*H(~DDg`3DCTC5 zQha?S+cZa()8^{ow0Eket9=o@uv%`S*d@bp6idr1jX27+%98fdUP0E$iV|HrVxRa-tJLv+fjX)SEaCS7l%H| zp%6=7&GtAcU}nDU%t4-!xmhM2=x2x~+ymJf@Ytj&>ywZ+AuYleTLU!Pxob}1Y?<1* z#rFJ7d;{8enUJv+0U#xG5!8lOpxHOS(rz^cR?Ml-mj*cIm3MLeN_X#srS*L0QL z0BoRISLr#y8E#2tI9qWEXj00y%o`$g#JC?bR8RO`?o|otHN0C#=e#;);6~Yp71Yi8 zUW&}*Wl}(4R(kp@>OF|tl(k3qcd%qOOh z<(1)`&4fR5>G04HoZoR+1 z<6|oin%@sOCUfivJ<$M|#D1}}dQ}ONEIjn2QKw3ve;XLl)~ZqLjPNVcAN=hQGlrB- z)!bT0ML~cZz%Re$Ff21mYfD4Wz0&_Q%SC5o`vKJBJN1J7Oc(Qp`^Vo@P4$>^@P-h- zM(>rDPI?;m)`Nj>cV{K13=;#KLsB8VqAbo ze3|7LmzOFT|6gL4lyxqv0XuzvQz;-d4~~C%$ayP2mgC%GIp-fvfu%{Ir+v($f)^W4 zPV5+hy((d8uU|WDeSNWg$bp{r%7`~}YjOiz?0vM3t#hsExU8$SHCykVTv#bNOS4KJ z%2~-HZ>V-vNJj+%lli10>~kK6MPr*8Sy#kHnuu#OqF9;7iCOsqy{O;cCfTkLavJ*u zFyLhp*Kc3dyG~TOVqTdQ?`Pr`pCUD#hV-k%-uN#D z85JRUe00%ac!?jc8XgmP&Wl5m=KSy1Y1&Imtk`~(dq4CFF*ylmC+4}2%EaIyVEIS! z`qcVJbWC#9>e|26$XBAkVKbO0BSgn7eP>ZL2zgGLKV6lI7mA6o>lo6apSC@*6||^E zhQ1W6vGZ`M$gRf6NUHM9G0qL^X!I6OuS4{FS)r42NH?XTjLExw2E;q z?$CfY6BYAXOuC*^QR}~pS?pMSNe3O6fhcIOTR4(9_6brf?Hs6@p9K*UpOz@lneBs* zEVrev;AF!-i8h%40VMJ`dESqxstKc*a#bDT8Edw+HCU~X^Ov?Pc5X8WPhXz5DW2z4 z_DYn8-Hi1g=@gO73uM{W|K?aK&xS$D5@*j<4=(*R(GM-|3*D{ML*ose7SCmDc)3#9 zT@%HbWSh>5K913_>9q{^^p7za5y+uH~m?7e!dcby(_T9^B?lCh9D@5UIP*c!}QZ2G7E+{`Jr-1^mJWI^# zJm|H5q2sqd4*2Ez|KZC7XL*fL8QARFDi5z{?ODvqX{d@M*ZfmnpB3LqBo?5v`9 z7bL<9y&n>UT+XKhSIK%jFNH>`6$E(yEcUt$F;*kaj~R-LG~H4mT)nN8HBnzqd<3-~ zxi%O16XQv;*dWUtDkYzd)qqdUC$f|C?M|(werVU5KU;xsL5fFgj7^!J44N4`gcfs( z0hts8T_{d}jC=52K~8&cV<5FX?Nm)F+eZU4?jj^n*?E0W`+e&sbBTI~BQw=@rj28c zyrlf&z<%II?FBp?IfJ(Tx<@fSgiKa@R%tpW*CRXciVO*> zQ;^J;olN8)HXtI$)VZUjyU>B*&*Uui7^JxSN7bu)<4t8=vzxQl$Se#|dfULvx#=JN z-Px=og>b%0QxU5+q)CLW6DY*8S;wk33#q9+nATmG$Kpw#4y7G$f>(DaopEcDopr z9p|nwH9*@kV{h(A+%Cl}74FMpt{#-L0`*zdj^b`6F>RI7_N^r8wVf~N2>D_D6Hm;M z$qBn-Uu)tAJ|?>oc2@e;c{N|aYzEk3qlCD$nH5zvao*&WFzi-s73_TL1SV;OGIlu}w7tP^vglp}mMVvx>i$Xt#8b zj_1PrQf7G~p5MQZ8y{~$y&sm((wMr36Cdj)N*4-eU0sb2aABS8yE~wE{J${#5IHCL zNKM4F$3p z13v(x%cxxe%u&Ta^mO~y+h+sG-YzcF)Ks!Mi;JXSBA73G8!sD`E<^yQ;%t=eZ_p^6K9Fz2qK&odywL&!f5f)4OfOg z(L>I1@|_Dwwq;zQ`N^McVDB3NVI{wQUTgR3GrqXZUG8-?sLP{MQ*`*-d#Nd zQOORxi7@gx@52<_$!QTj`-=Q+09D{6r_*WyXOvB2@Q(47YY?-o$bv|qgFp~P<>bY< zfoL6t6=&Z6PO&!&BI0{%x&x@9Z!jmOHV5#;39X6LwzNfylFCPMpm6vOOjEveI}N1<{GLV;vcc- zcG`KTgT=?ii^>1JEwTp}97?axk2n2Qc-u;&I->Zt-=kE`@*WVMVe?CvGH)Hb(WMsCpzGcgSE>iS~O|F@2N36kT>_1T@%cFjkDT| z_s}j0oVHRM)qTztSFRqct0HGahxk&&wog<+zB3m&Xl&!b76>yEJ=EpmEF3AhLj+XH zXTLLudqAwUI1_du;?itknk)9WWwPkJdt4CO9u+?Z;hG`~k~C9Sr7ToJ^odK! zcUtCtSy=@CNjMSdDe^9DBehSByRGSZDsNvpQmi&TkOhNG1wOl&jj?_vzl>=?qF=i4 zQ&r_D#r}3A9!`lLM1DRl7Jq);N zKg3c@U-F6_+Om12+pLeCR$%TfeUi6yZamd=C3iVRpB&su(KLp^f2BO!Mu(wHc(nwk|u-q_}5*dsTyzClT+q~xn8k%sJvF%pm|JLeWUR!L><~S zylzI1Hq8M2<@Ryule5ucJfwpG_?B371>_2@BN~fV+-thjEYNW?r^mDf;-f^>2OtMC zY{iYFdMe|$9=Vdac>p;g^&s6#L0h(nbjRFqtGCmjc|lkFyQ86Lx05uU;i%trFhGN$ zXmEX)2btGmKZc z6!DJB-h;i1GYizo-sY7 z97}sFA3GCU8-t(qqb6ehT4?ad+*VhL2ZhnYSo^#S8QtU8JpO#f7j>t{r>U&!#U286S=v$ zH?Q%0KAxJ)>Yc1kCWn&Ptrks?dH$;I9$)XbM+$)<>krYaIFsLkTPh3`V?B|Pz%YTI zq58Yu3xb-Ht<^qa3P7he_b0ZeI#4h>nTx#$NQ|`ry zJ=YaGvpG5O?CtS2zsRriY9H7F`stxl?D?|u2}1vsGHu?b5gHCamAJGVmw)Dq++v;A zLIcJ}V`x(!PRlgZlJw+#LdCu)Y~QR5zx%H4g~^`!QWfH%9sY}YKUalrF0NV4&y5MP zV4{EH2C9LR;S-krMcAsbM(>QH;s?#GyjfD!EWW>HT`&Y)b|=+t?;vM&QSS=Kq3`+^YZmw zmUqFsDQb(rL+U7J)5WH|2NFN3)fM|0;L&KeG|!nf$x1d$A=T2WU`lc*J~BUpMn_=1~*H%hxq%i0cSKL+Mgtt6=Xuo{@Q~JiTuU_Y+ebaLI z8)AMR6-;BTFJyT)FhOVBHLG`pte)8 z<5n=^E6rY~O)QzQX&>gWDPJG_{ab0XeQDDjHc~e*v%6-0%XND_ zS`Vsf^j^2Wy)YKQoa0iif%5*u?^~_(|Mz;SDY93q0VVI&H$!CK9no`Y>pPq8jpMb$ zJ|_wkTY_lV#!;n-OL&byk6MoPofRI#b3s~~@QH%~9E8=%&^7dSi=`;hIjq|Ah&0_! z_PZebERsQ-Hax11!L!ikPd-ekpF)Z&WMtlsBi&(JpWOGsK8XA9qTi@jjA!z3ZnWn? zD`fUC(J7K>?fmlOW_L8X#-xh#E*!N_ZIjzUf6w!!7Dli6lfvKPr>8Un=A7|<+v*9_o@i5M{`H$>h69skcNWUwdbfRMs}V33M# zsD(wHef>(_VvwLxg4h1I0jNNZ&DKXQoXrEUGP%Y!`$!MtN^R3JiqN|xFS9L$)>*5s99*MPRZ|C&W`etyJ0|N0wir0rw*(VT#t zRt>*g|ADAiQ993|nG0J3ieJwnr-sz>M0>9L+)aH^2)+G+$$>=H96E`Q&cp2cvm4)w zu#o|}X(dMAONpY)8;9cR+M9)Z6qfw*u~e*L=FT3|_2&R!;C{q8!pp4dAAO*+2idCi z%APS&;blKnMf(T3Xs^nj8CwP8;p2TJQYX8XNbjXRV7XC45cOZtt6>fFEu5 z_cp~gLvzD577$nWsz!kOQ;D0}G~Ejb2>UZ|Y@iF#azBOo*$nj`CRrq*JuF(j zXSWef%d}}qUow7U>Z6&p0I9_;s)LfR0sP3QD zX}1qUbBCJAZ`~T$EHbkMJ%pCtwb%?DPM&`a@q~r5tNaSPSV{13Yci`e#8+JuXy9tt zcbim+wBP!x1=A*0VZPuHK3s|YdQ8`u;$(P8pV*&-riN>iF3Y??X#g?fm7G7ck#CtT4<~zN?f)`u z9(5b5VaIoS#gbaqLHfy(%zUgdO4lzkTfyOGPJ~o9AO53!k>T3&x}#s#j%;@92(E)r z_rFq@V3;boz*KL$*kl(2Lk`(nix+aXOGI}s&sFKbSXXsH(v%au6zQ2-Pp7+w#j1Hc ziv*r#bp*N-C@WzJKT247PYhiAV|hKmX@Q=qGgZe;Z(Rj|9d=DE7av%;!Yl#h{9Eb4215=^ym2p4LV^(pY-7L;9wQ! zW3_uSx@8ttAv!Lxd!GYGZNX93{8C6T%Jn)+X*m>zl&;ewssW$3(}8`6Ve_FXWPhb9 zn~*z_!TVe;-(~z1juqNDM_PP$CX!WH|0Xr{xkm4Z_8q7x&7>fMlYQ^Gy0;+E-wiD_;_~G(R8rn)PSW1h2ZlC9`)aom zw8qJlnQD}Ntc5!D+{<)|w5RvX#NW3Ipf1V82K zPZ#BO=d0=+6Jr=l3#ryP8J(3$a|lUr_(tSw^kPx%Ty4lKGX3U2tsk4(BvUdQ!`Rfu z(3g&EDUF27`O%Y-%ss#M`)EC)P!9=O9uD0m6`f{@18zb4WkcK`Q&nfMZPl@0;u363 zx;0Hmn$WM*M6I@9h1jrfx*K!3!Fel8LE>7M8tKAd(;Gum1!A5By!~%&>n?D!%`nQo zSY~-5!hXwm)ab+aI_d!SkS9-?=Pr+mE{}IFZ!EXMokW!4gPPvhtQ*~Ba2b>D5phpt zMeEJtQRDYxZouY%&|kj(KEDr22SnG}_~|q$Tr0A4zSW8{gPD#!6hrM;bRvp;9j5n> zzL06_!px}*zv~@*PUpf5r*Bm3g7JR<9rjVZ=XUDD3YPe`$3LypT zkbg#Q9g=!ZPe6<7j=BY)j~PH!BHWi7(i%fOW;cj~E+@rhxEsEoMG4;4Nm zKzM2}jyjI@U!ZpEdQldH+EMYJ^VwjcbCgFcIFCU5?oYEn^wRnJI8Ug`z6Z?c;Rb5- z5;PtwfkTDjch<=zEr80q0Tgt+0;t%H9GX|<9{`h$$!R{fZ_(B5miV#{s*}!5KKi5V zS|CLW|FwSz_DQGRMdTgN5w_HLl>CW57jkyYVQv9Fk|robcIXH?n^8 z#=xFTVky6VG5T;|?>~QgJ>BX?cDD>zD-KO!#F7X#u_6O@E#_+>T!9&Yl4rPod=jHw;RwLOwI5PeLsE~R$KPS5_W{e0#(*q)Z>&6!~! zK9OiSEq@~A9K=~!@ zd34hvJGr+Y5bOy&xat+`X`R3Vo8!)ti)|JcR;j1{qt9j zR)gNw4OO{X#P&;4j`+7({XrmMc$)_Ac%VX9p*-j{8~IB1^+e&q>d|!Ty{k6d0V;DM z$<-`K$mkd!krMoY?Cm1&IgX?_@~2H%tIxGTBhUKzv1J)J-*0$Rn7`Q*HC`upjqS~$ zEK6wTDhK>8J+Q4C+jG0*Hq)#Si4z80WJGGAqy{}es~CluIXpvwClG}6Pv<9?#&VOeUqGIP$Wmp6k6pf4asy97BRpOMg(XCa_Y2vMD> zh{Re2p9gX^Dpa4#Y`aNNgIz-w#71kxBo!InyLtjPx{>lD9pO)Lm?+@4#Nj?3w6!p9 z4whYBa8liT(iv|MRrE0qo>D~y!{_}GDt;ycUn7lT(d}EQjVM$S3PI4PeS1#3mZUdW zig!6JumRN*U|0fgIl1iid%yeFpkOfsR2#N28(N{!BRyK#JY=u1C($E=@Ch>Bk=hy6 z2P6ojum}cNX5W9#c{2U%-&PQTmlx|JF8By3-V927mLTMOM%&mAb|ITc|}GoRDF)^0)bl$*yFv=3f;L781Jek$F|m@sgiFnC&%U3N zV)Tv9xR?Aqb2@179d^kuvy-AjX%v?)RmO=bnV8h*#F^ALZK{RqUqi$Ev=A54@9YEP zzm~(bM4aX+YZ3hltI@k|)=Durf-&?IjGue#-22D`o!{>V$$nFLUiMybb+fO-?)b$r zwNcb7*;>3JqcJ91qxc2s%)lUOzQhhSMQi>}S<>Q*~cZ45@BkqAx0ly<7V_ zh+S-rDsQv54fV;?%7@C74~)1$hG}V&&H7q{=Ia>vYU{P#t9a?oIQHY2hLp42Q|rDEZOa5Qh1slkau) zbRsPBC&BvHs;MAs^eNvp0+rzQH0982?0k4h|wVP8;XF z0jSX-1br|EtF^}q*>w%)rCIz?Un=8?Y zwT)dG6ME~MKC;LzYL$rbxr>;J*mNZa$c47A;A(Sp0FsPLp2u(Bly1*Y@?~a#gkt4* ztRF)x=yYLAZ2FFuo^KnEi_90%mOOlt?!b3A-huXj%;^Ztp19QiVzAATZ4#@p9@|Yu zd8OkF@JkGNnN>>900SwD!i7tTMpWGP8vDhN6Xsch~4=`dz0t0Xtqtm%f{qWECG--aUbA`7P(AI zd1RRlWBz6^q(j>W7(aQ%bF@IQ%>U@*%iw?w2GgGXKmh2wkEa1xB5j(GnUL1(^AgMV zGf1G6pMhJ%LA;$ttRtR;!4&2 zby`zB+g33WYLoq=1GTGEJud0`MyPPdd7JU~&B8+M^re|o=vh0{i~}V>4T1K5Z+>ua zOj^FcdCgg{8O;HKJ(_igIPDyvh}01ui&Ma}ItXb2s`;HEfGP-1Hk(;^#P((SaR@=9 z4d=dqXqMs}0OQ{zGbKMqovl!Aany2>x3zD@#rqM6Pq-R_w_(TX+1DD$A3gM6*L|D`;QAjI&AoY@#_rT1y?35^ zG&y-gwc=Q~r&;Q`mq!AT{8ywz-JZdgP+2$kG~fqb&}Z~eM|ZNW;n5|z`Y|$Rvv_b_ zUCJreQ8&{yhZv7!L4Au}s1L$yKn7r5H8_Q`Waeza#EQPBkVMy{rtGX=&Q<3JxImbcK<;t#tWLI%Ij1f5 zQ|q$d&3hG}HIj6IDz$ouk9TXxg9D{AY(0S3@2&JPtBTyrj=0GqSXDf~RiV*7wgZbc z21tyfa~c1gA1k33kAz2DFPDbNQoGG1)PIak1K`8)=CgcmS9rpQ|2`M}MZ7O}^jTrK zxj`?P(zP+49y_Xv(NmmCFbjmt=t*+Zjyg-&uQP#?1>s~F71tG{e*w~k4=s<-P##r< z>_EQf{^9zi!Q8@cmSPwyJ~>j+y2SYVcl{Tn{{;rCzvA1&l@G1jVl=ijbsVv(&30^T z8g`L4(|1N(oY&!H`103*Ikr8s6|CdWhn=%dsV|2eU<8)@%>z{T8gKrG5d6Xpr%$M}1o{A8gN&*lA0ngl zMSNlp0O?sN7-k$Lw(wmw+L34&_d+gXTVc}Fmq=e&#Gw0Tbzh#|`*))A@amLRcpgi`pI`H6u`Rk9 z9+gO2lcj$@gN-1R>1H0R3!L_ziiLSDTF@ceFT}65n3^H5@6mmQ_as@!5QP83rGI*_ z2!iJk{rH+}5QK(Om2f=lBo_sxKM&GpHk|G_z}b@epV3Z+#q+pBkeHsk#B|Ve?7Ylf zv;P=zegpnvDV}a7{%BZUZw4FW3ioX4j|e@6bBs70cB?T$;#licW$0 z)H~MtxY|a|X5mPTX`Rx{LT*tXFKD&`ZYH5*oI(T~dK)}7U3I@J77#pms| zDw`cF?pTtgE?lprq_M2_bEfR?~OiNQ|zY_r3H>@cIf&$;Deq3L&FRBY0cAw5_ zyvV>{NJf9^?<0{Ppv3mluIAT&^_oFp=#GzAMhGcVaDtiQjjC!Al2{1UzI9R8>U#<_ z`O`Zx9o{QwblY5KX2B;;A_O5gwpQAdDC+;K1&G6;sYOmiN}0H#4d%vxm9q zmfF?Yl=CFpnm#i$CZm%%y*1Lm);Xcd@Um#-x3h!fw3Yg`xMidw*F_+bQ%@^Hd1my1 zR8tzPQZuJSt4?EQs~muZRl8Rw3!)?jwtDkvRl{P%g5ibe=sRxelPMv5>6dJjq;dbX z339MOdk``z)Wg(I(nmm6Yykx5Zcu_|FLL^Ji!Vn z+9JX4laJ=cL}p}DRw~WCnpd@nWd!D-tyDjey#G^;q~eAD;bPt!%qmiY)7NWwD5>7C z_F7aBh}iq9OiIQlx>DZ)+a3Hty^6W+^#i5%I0Qo zSeaV-nCR#v2VYk?3_t@w)QSU|HT(qD+Oj-B1N0YGPs>U3r<4iCmI&n$+q> z^ukveI*dHJDa*;x)w=`yFkIj40tjAobiCM}<&}%BtkrK2Ft#>zaeDsrrBeav+8Ja% z?ceZQK+9w@vRDTkekB6#DMW7>? zEK>gXmnW2NZyn8~&WzJGBXKlz?TJ^m?9{(}qIbeu?`r;xw>-mZ)L{<(=lD8ish!EX z^6sK44KnY}*DA0%h`?%Hn9A_jjX`*~E{$cN=4pl^TNjpYcln-OlvoHyc5905)v5kA zT(J~y0FcA8+5=dEK64JXZE|%w^F1sw?_xdAI${={2MBz*o5>J4UR#JfWg+PH%(w?A zzk``z$IthVQ%jl@@pXz32Y7f$u0Fe6`Nguo|7E`Pu)VDaDm{&S0+DPBi-zIiNb&(Z zw<*aybTk4VNJ;qiPpo=aDPf;yiDo)px5<%$#jpRQC5GvIdcU?iY{yiMSi9LSFJ*K$ z^aDqvUVC7rjGDC`N*71L5jHHD!1O3jmQOazMeno#jlf1(%vaWVuGTpXVrgsd_9w;6 z=jh?be(o;b&!I?CtpP$HgTSH0uEGz84nrwQ`@oZ#VyY|lseef{HkW(|i>FTo@<%X% z)AEb8i*RmgC;cu8$}Qam1;?48(w9jDzFdf_HD;9y1+zR7`Jk@te>KeP+il^>biWm- zTQYMhtgb$5sJ)&|D#3F6ObpwXd@~1R#PX`rs$FqG()h}0?Du%tQ z&78eOOuS1oy1zI>Y^c}1Z$%x{0>4c47G|}Jo?Uwm2xc^)2T4G&jbM1$7Cz%Vwxa(FWdcvuT?Sv)PLu(zumra*;N02^bh$l97bbAMD3#z%A)Ku9Rf2H z84HZ=sPkFPW8e5UV=#QZvC@Si6g(1>yIAO1>l{V=3y+zKkpj28Eb9Gt%Z}l(wTXg^>h2fwyLZB7uI7U?1P#xu*aGnfWsGeZMOV*Qj$#Dd5Y> z4YSWkNOS;Lgm&wOm4i{`KU5ZOZ1fnGU_~e%r;xK?%W!+-F`ZM^r=QVXX`|C~bv3sG zJyc6b%uBhnkoFv|@MfP=iU+BI@UBPQlY1Z3KUI7qPRgKTRrq5DT&{Mp3#MpLWHkPb zz`H&|)qGD#S1*{enfkSR$NQGNi0rw5>A^mu&N5n4# zH6c?F$RYJH`**U_(^L3+73u(bb(Z7AaP{dDpPj=LTax!&(|*U zEG1j^0OZ#*H>$xm`0vCRLwp6~-C~B_;-Sc2DwZ*~0Ufr_3Cu#V%BQWN0o+m1lGrw> zo?Muc?GTiWf?py^_0WfmR^SssV&}Xbb@b`E^$WcSa?yGa(JUHwOVWTi)`@%{xq#cB zt1C5{hqv;sL0N;&?b#|HiSdn0nBp*)KEK(ys(aQVBKt#;HZr8Q)W`V}z-0OV>UQzh>dLsMdFD3mtEmjJVV^h-?(m^hLWo94$M0_8LI+cp4At)SKdx59$R&R7>EwV5uEVLRo z$kq>Z_ikvjSwKa2oo8+b)AYwc5MQjVbB`D)Gv=mx#2dL@!zv1FvQ{J^J# zPLB}qIfty*kn~gXMObcMI)S9CmL_q^ICG>?Oc5sv@+l6#;VZ6<(@XeZejt0i(@Q zkX&p1rRCR7aAk}Q{*(MEUq5xU@dZg^Kou>6h<{8CCYfIMx7Y;An~K-7wXX;q^MTp7 zES6DNY_MN$&D-pl3RGbDC#e#7f|1Wk`&G5T=35_r<7N{>UHF`n_>W&oAzKKJ;#Ys({poBVRIr~p6R#kB8X>1|GEz5h~WfpJ`&x6}){`(zC z+)r#WNNzDzn6apPu3 zwKo>zrEFB^v9k)3R3!QiBd2T7j%!TE?Ia~gyLWTAx0 z6eNY?^=L4NI6jFLB#qZ$Lg(M0 zn5cv{R1cn*a`;^5;I;<-3&SF){%YzYc`9ZESEI@`9u5Zxy4_4>irC_OEVOMCbzUJ> ze3o~NUh~hnC-ii4T2z>*hr-Qpd+nvyN4QO*mbBcB!guQw$&YYZX`tcDY%kgf$*ByO zi(ua%kRVl94!WjOU^ur_PENHB%Nqn-oAQ3d`QPX zpIhPj@)b zab8gD`NCiX7`rG!RbVE0_;}v%_XY`lc>6x{;mKA1Bp-5TQ%>DS` zTJz;I`PaV_uaQKY%@@?SQ=%NO07}TNUwK#*mxx9dVtk5C(fKx>ojo);NPpf2vtV=Y zQqkr4*hS9e6=cfspoZEPru#iKLmSCh_`T$1b_=q$M)BA#56ow~)HtG_b@xQNHpwV0 z;KyQu+3<~MlvorQ4LUT={_g!xpN$Dv5|FxUZ4VsECt>d2f!erTA#t;D-uEYw|GOa!HJwHK^#x<+izWf(kTk3Sli z66p0?jgTpw)D&>zniv5PbzhZ5B)za%3J?0RgvJnk6vTz)gkckMKR)!gy=5sw$DL1F*XYdo>*Bl_Xd%;rIKlt6))~jKy5((xP z7#wp<7UJHEn7fYItMW1XRoD=MwdY!D^%?-UZ%e+{7BYiOIZ1ZrRIRo=VisVFpP#rp|M#eDtC4??J=4`Gp8#ezVr@m7sf5^PP8u4GcbHjZ&=ojHe zu8HT2LA%-+-;UVGd#*nL5>-?N2HNXUfkmB!;yxEl%cH^Uy4&rz3+?7vip`1#y%%a} zWhkls%I2+C+gcXd*%P@{{3H6@>`mpOzAoWYh1tv$xW9@VjDm}_JU(HITf+74P?G{& zhPg5)D~r9&9g^~4V&$Bxy;&Zqlu130p!#HLRQsFXl>2DeWQE7&XCNXjVrCL=#(YkoaSy{wfx4!XwMe zL9ejjj{za+#azGM&dgMUp7GaN6`6S4FizrAWp7B1ul6=vInw#rB>B%E=Q#|=nbaOB5+qdqq^@9}kG>bbCVH+KJ1V z^s*Yn45MsT+~57C&;E7}^~5GPdD}2SJ92@jY)TAWap?R}8WlRNm#)?TM#`p|=_m=t z;}0XYn9nud{x+Gpr5<(?mU<;ogGO7Yn$Z-{JBuS9rVx6m_fBm0S01$(9|)6;;y0CD zupGyz^ZZ9mDc*IrD0B=ivdCz*t;d9v=6csW*cgQL+D$itnDVM1-6LLfL!*S^uDqLIP78;|TjtX5k;Hf(;OyT>g+*)DzLwr$v_5fTD<~psq;TYI8JPJpWo5>TDeyq1$ zqSj;WALjz@P)rrk_Wr94qu10vAu7%;q;}ag*;bcXH&O8H5`Sg9t||Kq?0MNgN;l*S zNm?$TmjEd?Y)k${ouGlp+-p_`+>g&z_%SH$^yS1f*hk~O$ccyq736z8r88h-WFxsA z-8+7-Qdm#3Mnrx!$_VWWBLMNk@UYrNUQeguiG`3QAE`u_8oi&c`2?u;n)+!-7PbC3 zF5TNfm$@4E<$2d{862ZFr@}v}ykE8dVyFL0M2-VQOWg(`Ny0JB;&+68bo%jZmGS9Q zrlL6DPfl#k8Xx=C_ror~s29v*$%VF7IR=B%KQgnuBuJd+5*P-rVrnn76W!sLd>EFl10V zx0pJ6=xqfb#ro0)h3hpr?%>M$GSeBwu(2RR*fSnRmc0FS-89^nZ<%`dYm<{9Ar@X1 ziD+NidN5x^p<|-)Kf|aD`A9tWW9JZ_rz+_u4@J_$@G75ShoFCN>p`ZNb)vzDBpnNy z?Ds|fE}s{9w=Q}sxQ_oVJUZ*U&zUOwqkiz$CR@mL_-}8WCYB^q200@c_4PWVUU|Ah zml5R0wTTZrjuyt!{PN7FD41z`^Vi7fXS%rDloOEY)}SFKw%lP@2L^_;=Oz1c@rEkUe8kJ45la1-8J>XJd@&`qjG7a7SjEa$MJQ zDRzpr-g>jh;ktH`7*vGT+k6t=6>mdYLZH{9F&I&)6fqoBM9~H@37$b^Tv3rMzAa^$ zDc2%pyR2`n6f}Z%FZp%{f;+He&tEDXM;xmO==w@mNA*@0wUAp*9Q51Y_7LdXhvF!3 z5>S8xn`Q{VNUR3Y^^fOra&XP8sXbgE9Jqf-(@BvwCwJ@O#uj=?=6kAb8H77i8g8r) zVpF=HInfWL5}As;SRcgF>k)j57{nHA7QyD)l0iNTKV{B}+6m8GIR@cw2ZsxBW1W=6 zU2l@j2JjG+QfRM=(hsM$1!kc+oJp}{^*CY=`vgWwaC^VCM8tebArtYO>oG8=A{?V= zdAY%ZX=Ej66#V@iXE}GHyf*T^O!n@!dj5~9?bR2jsz$Vl%H|tAJ|>jW?^<=Zqj9|S z&YwzSp@)kR{-xuW{Cmb^i{VI-pW2N4C8hsetYFf_f`{lW$A3nYrM02sc6!0%X|*yo z{dx!1Hg1KbJi?|`P;k0_N{vOK`Hh_xoWX z?UMP!ih&^9EVE2N^|rbxLi)lLhF?oh=8sc3`v(CRgg`{4&2T)wD3#6VS)9i zHeBI9KYDw5B-f0e!b0R;a;Rn59V|4wL(ka9jSf1Vvnj_vBCVKtm2%tXGF=8{s4#FI zdM`oi>@itv_==#>)5-0yVJqw-5)f;OG-H$oA6ts<=}Hh9KK0nsU#8rk6>w-S#*d&*vZoRk_YPTuF~3~3hKZ8mXi6O~C>jLqJ0``fSaNvfX*0SwPCNy5x1 zNe9-kzIa~0sJw74+>Fqg5_a#JH)fB|7bka({YD^D5MpKOI zOI+ZoPD(3)z&!xIZ0zOUqB91+^A%1B4DSbLg2>eYqNYBaHTN7A555 zA$9$jcJ`u)ehJrPj3IW}x#E|u5|X7oj(qu|wk}i}e$?pEMab3oD3&Bx2Zao9w~Cxe z+yEeO*1oOxXht)uIavH2fZ~G4HY9U9oW%w7{c)AI-MwF-=)RMjNPLuGc0&N)Q-w73oZcZ-`e49|>_%90^=F(5;V zuI@!+=xYA}gb4Q=IFJ}qqMh+2O&rg47Z7k3A|)=bgp0pq5W33wiwtWF+TB6bpA2>b za$Z4Q?m%*zv1KTAP`qawAw_j+9_ic4cnLb(2s33G(N&dfm$8Ly(|cqvp=;Uw_6jZ> zPoIay#eyubWlq=l9il5H*wKs;H*4*HEWsyuSa1Koxor#hH zXl&j0KR4Ng&vB-kuphW_><5|nRXY+r&4CCvTIX0l{l)qBZjGpg?i7XmO!Y=Y0v?gm z6PSx78!6$;FuG0h*9=hk_e`=ZIqFy5)}yY)ZbJ-=bfQ=(MvInDe{fy>=TQACCEdd& zOV5YnKeI7Hu{!hpkEr%yzp#_X+_(C>ydmZ1dN5pJ3P1D#Z&lFi;Y_)Yw?9Kb5lZkp zf=qheq>nqvF&$Vz!G7k%utIfFWo4LDC236fIN4tpECwp=z|PTvjfs;irEiWjzKywF zQfkTZRHX$p9mkp9T^l*m5BO|rMNJob5^Jc`r))12^4epJ`}IB%d~p0cKsm%zxAt6% z8v4%FTyy0e-DIGjpDVNG$h%@OAf-f%Bb(!HcUM-$r@dorEpk18AD6;EUZ|w@*kUJyL_B~w^3UG-2h05*R{p?36}wIjloS~m=>U}vGKre+6=~@EZeW51&d-LS z30?U`_kMN?K$_7ie6D8Y!G{1@9j;HgDuk7C$;0?JAMU+*cig$u(D%lYUm@qc&s{>v%aizP?MMzu(R*4Fp!8SUjn) zt(zaGygvdBD};YN?8a>2-(}&|aV-66i80;UvVa)ZnwIuNy{DuRo-nA+UR_1WRN zS-N|75np~gdViNiaWj+LV%nOi_ooOU>5ui!^z=028q!)%03mNoTF!<*Hv;o^B# z9{*(-E%3=V)CB9mNRASXewCG4%Q3E^7!&O_OCVC8ceu9xZuL*H*zgyDms|W19fx5o zF4RA&oEr`s_au4O1`$B;*%wrxZ7L|(XXDwJ1pMh=bs(jSFlUQ2oCe$V+xDr46<+E~ zj|goFs@Ug+C*HiS>;)Lqr}^2^hnWnrPBqw==E941vr5Ir(TM8zY46+|EP80u(kieD z(=YzZvu=gd?ziu-rrQna7l`q3^Ti z-yYf4sY`&>`jTMuoJ&KYb~?0cZGK$ZYwW_8Hn|b@jHlEsDq-4Ut3xl2 zwl5bv)sq(yIDQ0A)NFiC+g=tByTccD?1jj%R||kL#~{2z%8H2x-G=+4!W{@zmT#6H{F*jkiX9|LiAzp8 zUpcaj4E23Z9Qvb@R@KRrDSUsge32rJxh<7WtXtvh$@AqRXlCz%kkl#eYrWYwXZ59ZKT-cY6v8b3hm6x~&#A5d)!h*CDHZ#AqG|EFnce)hr+Ohje#^yx8>Wa(#8aUELdN8j{{ zwlv}MFZK$D93mCk<6yL(M2i181R_90wFB?&fYowxU8*1bOcPX;|YYB{3 zqh8mI34`>J-Mtd4%3)8a`1?fe=%4S|%JjTUj5n3-UwKY|@tu%*)kAL={mIjqtY&H; z$MzCn;8rC!Z!oW#^Yx7OQdKA{&ND*G@RUhQkCx?pnwJN*^Fd7FPmiO^?oZ73#cPtV z(RVDhyVgQtQP1h*vSDOAd1jsD6$M~?R|jMg{&(}@+ zhYS18tElObY3aS2u+rp)T{1XPEaP2Ba<|I5v`^)B@fnj8Sw!Ly^1WY=<%DQVEPi)5 zopwgtn+TFQRuPrFMmL#JiCBUtPp`=_I%u^=JSW*fB#iz_~!r!cH5JmSYpFynJ^M1Oq>>CIqtoFK~|NW>Q)_TUMW!mC-CIn^FGVe4trs2u-2?1lR8?$WfjL9;)ZZcj0x5mgf zSHCiY1ki+rw0Yw`Wj>($E$$iCHF~#4-Uh_e5f;E;+s%iaQ?d=n;y&0AUu%8oJ?~p6 zf3cAWv?r8IYMXERw}^oTc|1o!m%)&2iR(|N|T`M>YGR&7z#s7;EtO3|tj)T&id z)ZRpCt*Ft^*n1Od)TXMnM~fOk%#<2M?Gk%_Bxc0=$M^sGJ@A<1z7y~Jy3X@BTAQ88 z51<@mfN4iu96rX0qZO0`L7)XS6a0$52xV?D^Ab;83fw-oS!H4(!n+urTZ~G^sLKG^ zHhK&RnnH|R)?529OD$L{S~dl$P8)x=)X-;SCG%|J32RpoP5_Q(jK>|!So@m!gO~lB zj!K~*caEPZw(!y|$BmLOsKU4@U5`y|MFV!Jfe^9;wmRH8fo&b&zu_bUc!aIPi0{_? zb`FXcEx41m*s92(pNMmtC={MfhIkLClH%_E_&}1cDuW;gKYG>ONTU`7g8!C?2(w%u z!rH`>0HE`xHNg$Xum7FWfCEtIFtY=(E*%+(pd%fCQYm|*w!DtXuwZ&+ZQ1v{q&0qP z$AVJvusu(RINGR%j!OugRya@Wq(*kh?C?#MB&&J56z9efI0Unxdz@_f(66ck|8!+{#!fjQ0i?qx&- z(bV{6f>q27dvDw!50zB7ky1QschuA5IlHX<;B=}<6IrU>pe^c<+yJB1u9j?7BO}lE zLyLW%06^x`w8V;09B4sT-7hcxGK-;~XIZr*HYEin_*ovEN!%63!rM2>RA8_Gdx8K* zJT0Xn@ts)9m^k+KBSc%v7_B}NH(N5gshzlzUWi5*86hD$ujh>0qY(V;NvFOO{(0xE zwWfOM4@;z$%{3&(?~wO8IL;cq`5>PadX@U^*JBTaqp$&GQe9n#Y953py`=hWKFfk6 z=-1+BSoQn-MynLjwU_Ilvi?LL&hWq6)=%{8Pv1`VXq<0_cWnrrxo-sZ9xzmnLDgH! z#KI;0SurdL#r22x!z>>6$@Nl>s(O7@RRl$vk^5}c+&Ue1%ut4N&0c>Lm0nUh;L7Eu z?HqaO33iUZj2-Q)_9IuNL<6Qz*D!@$B1d2E4Er@F*}F2HjVttB3hoGAeJ?8;D_dIU zcyDT*hje#v+}w41jTy0F6;JAWzGC=!&p**&ta(T7Yo6n3(tV!o_!K#Bz5gJw@!Ygx zE-RwQZ7p#tiV{_Q3s^@Tfm(d+q4gaTi$}e~DCR&js{G9NFD!uN&Y-pRS@pVlXjF((Qr24U7M>77#DlC59@2{Gyl+~fD&`)NK>uLp{a_6m2MaYpu}nGy+w4yTP5Mo zV+7ltQw$6~)XA`Ou7@d(o=wia?t>t3dcv~UjYPHs7&`GiIlK^jv51vk3~x_A4r ztHNK8mw}G>v`&s!fkw>aH62Rs0!=*B3& zLmd10VPq9=YM`f09z2P2vS)a#PsWpTE`ikrY%bgS>WmGzod=8zFI|YihZoJq6!?k* zKf@XYxs>nTflaO!NXC7wNZ4920(zy@#d_Q2tR&@Q3u)Ns2tKprw9&ow1^7j$C6z-n zyxB$b#7zMU&oorVi_JJ!=U-cNU}&L+)5a$ALfQ+$cli@(p5DehW0%nbu`&R$I2FC= zAMXIUOHTK#Ift&BpGKgdw_`G&YLv2aLt*gDZkn(6cU>6FZ{5!_VJstJ8F#R?^hA_b zTyRZY{=Wmfr#1$T6&y)k9<(OK0J|P0#Zz@B zzcuW`HJdNKn7MP394IRtDHCaH%eh0pLSGi~S+QWNNZ-b|y-#OiV!d#Mptyy=^lcuv zC28bJB)F^#<@VStZ-LP`nWEH+Og&->{pZ_0Mt`UQt>NV>y5M39`z^~C*m^#EbH@z@ za8CjvA&Cy7=Q_rL;|F{LOKg}*c;;rdwfSqdOox6D)6)2`-^5ffSylf z3{T~^f4c@@nO5?W&u)5F2trguQ`E2XG$4D0|#X=R2MxzF{ z4~D`sO7*$3`i1cLoO=vuc_Rl|=H81QGN;HoZ;Jg0GGrT_qKU)ddD0a=3Hw`!(1F>G zfXjXKoPjfB0MMT0&$9tt2blNH9<8`utfMN@9kyNBICGtZXKXt8_rU{iErtK{`=EWd zVRq-*n}mPFEtA%=hm^+>h$&>&wT^T3q!*WCrY)kEuMdepbl;i~=;H9Y^{Iat?Jsc}sv1>5#>8rKx4R%p z%(dkAS`T)FPtJe&&f}7EiSN^!_g7!s5?=Q)G_*)hyq%dF{Ql#Nn(k~sZ=>{x|0*q{ zStNKnz$&tVZs;xIUKmJ3?{<%Zm`}WjlfILaDpS8UBZ{I-qy~DE*sLCv>a`cNYbB2S z8Yp>Swi9^KUMJ8p2Zl!L#=enO?s5(6I?z4yWYV&}*;GrWG}rf&mG`K6`RvqnJO?vC zxzWe9KUJKxkiJN6bQOgag=g3vAvlZe# zwei{+-cVkRl!G53dOApL6`k?}d>21l98FRxoZ50P#66F?h6)^CPn-uM)WeYQC(LHn zy;W8%qyT~`Ogvzd*!J`qrq2%!I32KY&#?A?(NH1D#eE!p#$*b@S)3ZV9O zg7F4DHs?JyQ@B1}UcA)8?rh_%nN#jwVK`3Ru7p>36p4yXQc;t9m8p(C5}Z{2yL- zlHrG(@7Er4=jolnwBIRIXICWAeX1>)eL8?lq*SIASn#gV#jfgUZ70>ub zEwt89e=)zE2pSqOS``L7I4o6CAje%#W0Se+5Oko+)BLMxYhu743Zjm(Q}%jty|?73 zvfStpn5%Qtp>kbmC3b5h5ETBG7~V@es#oYJ9>08iw=n9qGy@f0W#D6`gs&3Zo5!Dt zRGyYlOATrw6bakd+Va_v%O`zV-F8T7a%=;{2SgF zd8Wf}YSL%*_k_5Q0(KRxrpNHv7eWV!YzwDwpz4jfuLfE-FR0Z*V=Q=m1x4TD>sDV| z=#F@)ua@|H{ zQ?(s$Qy`GT_r~>if~vua;31w(E;OB+?>qp3Dbryp&Q~#brg%_DuRxphQ=r_nm1_7b zN3Qmna^f1rD^XiR#uk7S8(UAX$Ky6oh-0|VIq`yneNf@C@CIf4b#c9 z_!e1edY|=F;=br+htl1Z>zz7E&MZ);6jQ^l+K14c_qgE>h~`kJ&TscwqxRn zmN@@MVtU+|r9UUBdH38lnNnx7adpZ)ko<6xa5BBNt5olyG*z?d+qEWdm7Q%>_qx$8 zL8#HAEjMmWya|UG{DtVDY^PzA{gC#u?qeoZS%np?@J<5j$xd6TZsqGP70jl}d+D?< z?u|`Od&2oyy(!-B5=k?HU-Q?c+TB84uS7z;(04P~PmalN(x&FpnJ7MlvM%+o*>JfV zZ3y;Xw@#xzqb71Y>@i^)d@A5~7~|;jd-6O(>d7(iL;LLCOO#i{UY1kS{wc7llFLMu z^kXh%v)5%v74TVThI$Bq=<&@-hCm#g%|t}+Bj`+a#=uGn{VHJWwRM={awixY29^Xq zB;qYusnaY3kl(d<4}q`ma?G%t{_VR>JiP_vyubqFM5Z5^oF)dk>+<+-6edG7MRzot z=1Yd=ki;fWKqs(w#^N{*>77Kzd zhQ%6~UQPVn%B;A3qE&MI+EY5)_ThaK*49Jp@l+-)YBj@#2SK|o-OtaFcU-YP^^^Ak z>GtV7=r~tn=5LnEEWE`f;cvz7?@h257IA&k7n#O8fBp{rnU!+%QbOh(U5{{SZp66812!pRW!3oj4!#)$L?>a7LVGcd9L_`M8|2)V1tM3ttGnu$yBXY3zxMuu_0i4TbH54Fu9Zcop94~J3WmSJ^C23 zv7Q=zF4)h0p!Nkj0@jL*7<8j_dcE6$T%6JZ={CW8c?aJm`iNN4RS!&S*S6q+n=C zjbRSt2%;8NpH;#u>?1A6!#d<7zp&gz_d|IMOx{FfAnyEieed?#9UXY;Ja*Y${qN2D zc_qim`E!rswuKkd8c0~S!Xqh&mQU6rHBis^s>ElZtka^8a&rrqy#!&h_*Lz0 znJBoZ!A8?Z3@E~iq;u$F%`>x_3!jrHYR@xR8Dasi@z(yzV{bHv9v)5HZ?9KOwK9yi1chQ1L?|qCFj_;*F5}R;8%yS zo$*fxB+{RDAb-S{YsIh}zDBqP;{_2+EP?nh`&Hj-bFYhBI*xXeMO{WlI`TBwm1aXlnfRkWhXdlJKhnLnKTM=#fre}G^HgCqvCqzSbVPPNe4E`}Ix z#?GNsp@xMeUA`1i7@SaM(sn<-kXaf0GE75BzU)DDtK_q_=YQ1xUOQlGWEMM%9A}4j z84r3`KPiEcrkUT(#<||sC2y{aMs|0pFex_J4goo@@BTP&+KZKJQO%|9zf&_*1L%=<@1uhj)w2)SR*Gn;&oz_?`mojDIJ(AeEG4fQkj`Ee zM-IT3@$y*GP2K9E8;0QJ zT)M;lZiat0j;`Fx-C9aK!!D|vW5lQ9S*PAiyF5~yDTjG{WGaiLjF#S;RKB&f${sNF zC#k>gFDyzW9J&9cxxTPyK_@!SH2=Qm@>FCDGZ@(y{M&eshAIfh`Z-CKNoMADfjoiu zu#_52T$@xSgYs6i)n6__NV&|Ri|QfiilKB|_~Z`Lmy5M6i@&}}n*bSDWgmU!3+s3; zWb$j=?mlgTIw|iEpQ$B~enoZQIG>wFuK2-4zfe|<=D3ip896!fkOXjX(OPq>ks1q8 z+_;%X7phq!f4Rz@V)v4?LpJWog6g)i~04lTsetx!_GY!hSczq{oIWzJ^&ywn}I{YMA-E`kvp5HU#ik zF&YYMoljGAq@!_98SU|4fu=Q!C{IX;!!VTRx5QucgcY0%Yr;kBSVnt69g`{%05{z2 z{|X-UXy9JF`;3en`w{hJZFiE=X%~}K^@Ec;J6jg=TiQdYm>D-;PyhW7=X}%1I3|oZ zcnGfgkCL|4%KN)?=MR-CA9nw!m+ghOvs&G^?iQv{ z0I-V3=%Ixo^0&gG)>Bb-iW|>I=hVi+9=g0Ei7=^uGoRJq!#VcXIRzrK^WW(GPV!cy zC7}%O)8?tOAa={vhkTk3WO_KGy_76iEw*FnJyYesXZv(c@&`VbNlASpfC%gf{M|dV zn*q216D&=9u+Mk!LiU3o?wd}AtAs(7lZP1Alxh1GoOUm@#XI9Q&J#(Rw?3Czm687doQQ{+4%I4J2)i zFf$9B`ykmxF5g)wpy)#`Oo@>E!c~8hv%FCa^Tv?4dix#eGxN|QGyli5Sk?li(;iP? z0+KC9rcXQ=)OOJOc(2)(!%ST!o((fz;$fy3%k1Gb`bWcHq^QqiW;t*l0POtI#MO66!z6^o>$qwXl8ckpMXCWV?Q{&`1DjR zxKu)UAu4AI@XrKis{euA93~71w38EE7U&sBWNt+!J3o5NVRQ55pWYF6)1fqsgC&?U z(LJS1G_85ZkS)LNnCnMtoqq`yOBs{D3!*+@>7W{Jc1wO?BX&Xo8^)#+hZD{RftU0p zLfrF8aaG2l?*h9VD-7E5Q-|@;ES%_@C_Um)6$=Q(HO-9p=dg$`tZ(N<5ihTL zHtK}%xi@O_LAh#re6tVdt9-j75y8pj?)@d-^ftKCxf-SAo{9l3hQi7~(&WA5w@&4= zx^Vhm!(%pw9897W=1KAdmcCW;Hha8e zc2m1ubWW7RGiYvT$z)u-Wew9)x8%#?_O^nqt*@}E!8X>znD_CZ7vqd*p87@I14$!; z$J=$O=uaZrTD57Ceed$uK0Z0A^9mb&1S+VsciOZvZg;q~7lh(^T4$r(CTw`u`N^~$ zYb*?O3-g>7UtBo+)v?M%w2Ey(*nBQZV+vm8+a|qnT~OAaIDAut(CiLV;_j~>?AO(~8muvSMN zMi;KLB`MsRxyOmV1c#q;4|ri~GxiPt&4Ju_tg|E_I!OF+p4bFjNN~+Dtt?jXACQLW zrpJF<6hdv8zzrLSL9T>#rT|B$&bfjAqjYn%t+6KO9`UtrftVQUU09B^OuQ7>Ms3@( zyH6E!st8_oB>2Y4$%Y+A|JaF6ps7acc+&P@{u^|pCCt+k?oMrU^g|5{ua zohpoCCmn?iCz|~5f$`0(TrEu6qq85i#dwlFccVtCDD!H$W<>ce>kO!=*A3S_9u}_e zNuC-AG_kM(g5IOAddmRZn8H2w&an2MdadEp8JDPA+efM4|Bshv5 zFXg)P%;LKQat0rI)$GXg3~r#7v1Fzu=-0vi)cwQUtNG+f+SOyh5vM~cV@CVk)Pv8|SnTI^}D zD^obrEgwZIRK9vW_LTe^f-E_x`ie+zWDU&@wzWIRqQ8W2&8KtUHS*Re%bW@yB5NnE*r@Vu2|R^KK}EH@ z>RC}(-cBgb4VAE((;Mv$82ReK=s!x@qXQp5mT}x(;)n0>bKr|#q_ht#GQ=95ZvJ_s ztt?Na&yRvr)4*qWO8$`-7{I zd|B^6AUqA}!tKyRX&9U=+T+n^-z3!(KTcy2t{XgDgTJB9fZvHu1|u9!NWvMcYJ{~I zxpw-T%nxJCy$_p}2i9$ZM{pY3@VM;ZHonPa0}UrDy5LVr@30v((gq5&i2h`1Ug%OL zx~Q1fuRqe5K&A9o{lbh94k-p4la-0b^`3+cfJ8OYCra(RYmYAW3$ZNpAa#a09GLW zS%5N=;(0WpS}C+|T?fC&c0mjREM6n8jG5&5SjFY8HuEpvm`-gR5}}r77*@(@pfq8z z5U6V9%c{nvENt}F{HV$M{LMMv>QBa zCtzlu?JQxbh0yy&c?0o*j(p>wG19!y- zZsGrpjUCGrl?+c#d;!yPQi=0|mniZ|O)MDiY~1^!>|pk?H6=zNv%PdO30%k~CR5iE z)m5dsL5b0qL&F>=TmBPP&3&Mi&TQ{w=S+ao#8GFe$Au9+3w*?Sd@v*qykAg5CcBzu zhzeb2{xY{#!&ggf;(>JOW(e*X7S_=e+IeYe32$S(NbYR>Wcn3I>z+SlRztg_Jsh=I zsL{S~F~2~cUmb9r6+zAp3cpDqqhF{T+V3GIWl?>-$uW9x&X`>C#y9=KXy~lUlD(cM zqSF_?m;f%tYBBp-0OjDF3^BtKp{j_&-%mel0_)T(*u3HG(SWI1FZ-y;3^8}~MThb9Dwn-$$|!#cZ!=tw_4{4k9=2^i%4IU*%y zhDs=ekUd#X8_LrIr3ju4Gz99tsi0EP`GznBf?Er%GQw=A*;)L<7+ocs;y37Z=1(5X zF0;!j^_t9%eM?&WSUB|tdgSOy{86rJ!F(7U|M_ImH6((9KDlQwYKlt8m&tPe6ndxe zB^;R+X1}JE4My(cp0G;D$Fd=@5g3=$9rnejK(OC0LzGNRY-nD;J|d;6?ui?|KGkkr z#eOlJ{6aQ~U*Z%PX6a6SG@-q5uYYlwXinaUQS2WTiX617k_s^mp8NMmgV1y_;`H`(3KT&4_mJN2Zld?<+#HC5=r)uE&Giu zfQ2yr7kks}F8625D~|RPT=@?rIRx2bG0k9+5jd~19>NY&&pD#9*nt45VvA<4_h#X^Q-o)fif3il8BR;L2H7J1N0h?t>A+R&e=G!jAEMwJN;61N)pv`}iXDdsoHs6zvjD z@ZOe*Z8Nvx-`>)Y&Cff3u)zU!GX-s8cLbQd0z`y>mW0KX!--{ z00I`|&BDsk!oqsjhzxnkOk&`w5%uhf z96BlvozB8xm%tlC-W$tO4RB*N`2tF<7>aM)3^B>v90v||`}FRiyo#bKYki>UZ+6UU zU4lXGB_bPxKLP%p9dt@-zZ;vi9@!B7WQ10Jw&AjviaQ+;cjQyFa|);b$?YgMWA`n= z($|CQm6tp%Lrk_b8gM2lJpV~xvd=P|Csx>1?GG9ima$$c_ZZ6v5%U8*?sccPbWYLb zcr9EnrWI*Xa&&&%mkZ=LOU@Ce+nXlkJW#N!H~YzrNqetF=OMCje6iTnGJRASw1f?G(SRhv`FJUD@VwUSDdAP`icqw^P9ylOM}7uRNVmhL&=1$ zzA$HR5P{mYb-57=&$T07xpFGbMm+>>EI^&~>cwBWR8SkvWnGr0SH7GjK|5x5t z*Hu}yhQTe5&VOSiAD)97<;6daW=tff@q1!YIfc=$QA_J4cPqRnw*XRZMS)^FBc?99 zBwITQYgh|1-2070yT)esohP5p3A#SCq*I0ddLu)+>{l%LToU6OEtQ#NJp0AmN`C57 zecuf2v9k+*$G88Ae!OOL^$oN;`qkg}i!9*kSo0nE1xm!+)LiBdH~er?WnYiA3ihRU zBhIe}hTPq*eSto>_#^%$RS$LhA?!}^e`f)?-D@~|OSBGdGLugR&lTjnUfci&YN`~} z;F~B`j8iPWzb8`XF&(+NbS<3j52r_=wEb>(!LvGPLeS58U+O>Y(m=!;_;K;uqT{+vtF<8`-Y^^peAIq8TMVy=2w zCg&?fv3iL6hMI*uMNWw)wzIHO@rPmSx#eVel`V1hRQH_QyY~DQXMouv-YhPL-InB= z4Xu7$yjm9rZKGxmrPVw1U1>!{Bta(Mi?*=PPofGs&A{ctm7w>lN?Y8r>
    >=W%W9x2$%~uf` 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 diff --git a/docs-en/guide/figures/en-us_image_0000001054570953.png b/docs-en/guide/figures/en-us_image_0000001054570953.png deleted file mode 100755 index 881670568dad29a673835d55fb32fef9e8035306..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214072 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