From 60980260baf2f9432dba3bec6d81424b960d7607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=82=89=E5=A4=B4=E5=90=9B?= Date: Thu, 11 May 2023 16:07:29 +0800 Subject: [PATCH] add fontconfig MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 小肉头君 --- thirdparty/fontconfig/HPKBUILD | 124 ++++++++++++++++++ thirdparty/fontconfig/README.OpenSource | 11 ++ thirdparty/fontconfig/README_zh.md | 12 ++ thirdparty/fontconfig/SHA512SUM | 1 + thirdparty/fontconfig/docs/hap_integrate.md | 88 +++++++++++++ .../docs/pic/fontconfig_install_dir1.png | Bin 0 -> 5700 bytes .../docs/pic/fontconfig_install_dir2.png | Bin 0 -> 5043 bytes .../fontconfig/docs/pic/fontconfig_usage.png | Bin 0 -> 56046 bytes 8 files changed, 236 insertions(+) create mode 100644 thirdparty/fontconfig/HPKBUILD create mode 100644 thirdparty/fontconfig/README.OpenSource create mode 100644 thirdparty/fontconfig/README_zh.md create mode 100644 thirdparty/fontconfig/SHA512SUM create mode 100644 thirdparty/fontconfig/docs/hap_integrate.md create mode 100644 thirdparty/fontconfig/docs/pic/fontconfig_install_dir1.png create mode 100644 thirdparty/fontconfig/docs/pic/fontconfig_install_dir2.png create mode 100644 thirdparty/fontconfig/docs/pic/fontconfig_usage.png diff --git a/thirdparty/fontconfig/HPKBUILD b/thirdparty/fontconfig/HPKBUILD new file mode 100644 index 00000000..8b5d7ab7 --- /dev/null +++ b/thirdparty/fontconfig/HPKBUILD @@ -0,0 +1,124 @@ +# Contributor: 小肉头君 +# Maintainer: 小肉头君 + +pkgname=fontconfig +pkgver=2.14.2 +pkgrel=0 +pkgdesc="Font configuration and customization library." +url="https://gitlab.freedesktop.org/fontconfig/fontconfig" +archs=("armeabi-v7a" "arm64-v8a") +license=("MIT License") +depends=("freetype2" "libxml2" "libpng" "json-c") +makedepends=("gperf" "gettextize" "autopoint" "libtool") +source="https://gitlab.freedesktop.org/fontconfig/${pkgname}/-/archive/2.14.2/${pkgname}-${pkgver}.tar.gz" + +autounpack=true +downloadpackage=true +buildtools="configure" + +builddir=$pkgname-$pkgver +packagename=$builddir.tar.gz +autogenflag=true +testpatch=true + +source envset.sh +host= +prepare() { + mkdir -p $builddir/$ARCH-build + if [ $ARCH == "armeabi-v7a" ] + then + setarm32ENV + host=arm-linux + fi + if [ $ARCH == "arm64-v8a" ] + then + setarm64ENV + host=aarch64-linux + fi + if $autogenflag + then + cd $builddir + ./autogen.sh > `pwd`/build.log 2>&1 + cd $OLDPWD + autogenflag=false + fi +} + +build() { + cd $builddir/$ARCH-build + FREETYPE_CFLAGS="-I${LYCIUM_ROOT}/usr/freetype2/$ARCH/include/freetype2 ${LYCIUM_ROOT}/usr/bzip2/$ARCH/lib/libbz2.a \ + ${LYCIUM_ROOT}/usr/libpng/$ARCH/lib/libpng.a ${LYCIUM_ROOT}/usr/brotli/$ARCH/lib/libbrotlicommon.so \ + ${LYCIUM_ROOT}/usr/brotli/$ARCH/lib/libbrotlienc.so ${LYCIUM_ROOT}/usr/brotli/$ARCH/lib/libbrotlidec.so -lz" \ + FREETYPE_LIBS="${LYCIUM_ROOT}/usr/freetype2/$ARCH/lib/libfreetype.a" CFLAGS="$FREETYPE_CFLAGS $FREETYPE_LIBS" \ + PKG_CONFIG_PATH="${pkgconfigpath}" ../configure "$@" --host=$host --enable-libxml2 --enable-static \ + --enable-shared --disable-silent-rules > `pwd`/build.log 2>&1 # --sysconfdir="/etc" --localstatedir="/var" --datarootdir="/share" + make -j4 >> `pwd`/build.log 2>&1 + # 对最关键一步的退出码进行判断 + ret=$? + cd $OLDPWD + return $ret +} + +package() { + cd $builddir/$ARCH-build + make install >> `pwd`/build.log 2>&1 + cd $OLDPWD +} + +check() { + # 下载字库 + # 测试过程需要curl下载字体,为避免测试机下载失败,采用提前下载好 + cd $builddir/$ARCH-build/test + mkdir noto + curl -s -o noto/noto.zip https://noto-website-2.storage.googleapis.com/pkgs/NotoSans-hinted.zip + cd $OLDPWD + cd $builddir/$ARCH-build/test/noto + unzip noto.zip > `pwd`/build.log 2>&1 + tar -zcf noto.tar.gz *.ttf README LICENSE_OFL.txt + cp noto.tar.gz ../ + cd $OLDPWD + # 编译测试用例 + cd $builddir/$ARCH-build/test + make test-pthread test-crbug1004254 test-bz89617 test-bz131804 test-migration \ + test-bz96676 test-name-parse test-bz106618 test-bz106632 test-issue107 test-bz1744377 \ + test-issue180 test-family-matching >> `pwd`/build.log 2>&1 + if $testpatch + then + sed -i '435d' ../../test/run-test.sh + sed -i '434a cp $MyPWD/noto.tar.gz "$FONTDIR"/noto.tar.gz' ../../test/run-test.sh + sed -i '/.*(cd "$FONTDIR"; unzip noto.zip)/c\ (cd "$FONTDIR"; tar -zxf noto.tar.gz)' ../../test/run-test.sh + testpatch=false + fi + sed -i '/.*check-TESTS: $(check_PROGRAMS) $(check_SCRIPTS)/c\check-TESTS: $(check_SCRIPTS) #$(check_PROGRAMS)' Makefile + sed -i '/.*test-bz89617.log: test-bz89617$(EXEEXT)/c\test-bz89617.log: #test-bz89617$(EXEEXT)' Makefile + sed -i '/.*test-bz131804.log: test-bz131804$(EXEEXT)/c\test-bz131804.log: #test-bz131804$(EXEEXT)' Makefile + sed -i '/.*test-bz96676.log: test-bz96676$(EXEEXT)/c\test-bz96676.log: #test-bz96676$(EXEEXT)' Makefile + sed -i '/.*test-name-parse.log: test-name-parse$(EXEEXT)/c\test-name-parse.log: #test-name-parse$(EXEEXT)' Makefile + sed -i '/.*test-bz106632.log: test-bz106632$(EXEEXT)/c\test-bz106632.log: #test-bz106632$(EXEEXT)' Makefile + sed -i '/.*test-issue107.log: test-issue107$(EXEEXT)/c\test-issue107.log: #test-issue107$(EXEEXT)' Makefile + sed -i '/.*test-issue110.log: test-issue110$(EXEEXT)/c\test-issue110.log: #test-issue110$(EXEEXT)' Makefile + sed -i '/.*test-d1f48f11.log: test-d1f48f11$(EXEEXT)/c\test-d1f48f11.log: #test-d1f48f11$(EXEEXT)' Makefile + sed -i '/.*test-bz1744377.log: test-bz1744377$(EXEEXT)/c\test-bz1744377.log: #test-bz1744377$(EXEEXT)' Makefile + sed -i '/.*test-issue180.log: test-issue180$(EXEEXT)/c\test-issue180.log: #test-issue180$(EXEEXT)' Makefile + sed -i '/.*test-family-matching.log: test-family-matching$(EXEEXT)/c\test-family-matching.log: #test-family-matching$(EXEEXT)' Makefile + + cd $OLDPWD + if [ $ARCH == "armeabi-v7a" ] + then + unsetarm32ENV + fi + if [ $ARCH == "arm64-v8a" ] + then + unsetarm64ENV + fi + unset host + echo "The test must be on an OpenHarmony device!" + # real test + # copy 依赖库 + # make -C test check-TESTS + +} + +cleanbuild(){ + rm -rf ${PWD}/$builddir #${PWD}/$packagename +} \ No newline at end of file diff --git a/thirdparty/fontconfig/README.OpenSource b/thirdparty/fontconfig/README.OpenSource new file mode 100644 index 00000000..6e40f28b --- /dev/null +++ b/thirdparty/fontconfig/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "fontconfig", + "License": "MIT license", + "License File": "COPYING", + "Version Number": "2.14.2", + "Owner": "chenbaodi@huawei.com", + "Upstream URL": "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/2.14.2/fontconfig-2.14.2.tar.gz", + "Description": "Font configuration and customization library" + } +] diff --git a/thirdparty/fontconfig/README_zh.md b/thirdparty/fontconfig/README_zh.md new file mode 100644 index 00000000..e766f01e --- /dev/null +++ b/thirdparty/fontconfig/README_zh.md @@ -0,0 +1,12 @@ +# fontconfig三方库说明 +## 功能简介 +Fontconfig是字体相关的计算机程序库,用于配置、定制全系统的字体,或将字体提供给应用程序使用。 +## 使用约束 +- IDE版本:DevEco Studio 3.1 Beta2 +- SDK版本:ohos_sdk_public 3.2.11.9 (API Version 9 Release) +- 三方库版本:2.14.2 +- 当前适配的功能:提供字体能力 +- [MIT license](https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/main/COPYING) + +## 集成方式 ++ [应用hap包集成](docs/hap_integrate.md) diff --git a/thirdparty/fontconfig/SHA512SUM b/thirdparty/fontconfig/SHA512SUM new file mode 100644 index 00000000..0a94efda --- /dev/null +++ b/thirdparty/fontconfig/SHA512SUM @@ -0,0 +1 @@ +b6cbb4ad7db224dabfb8a96c1d0743bab5bbe8f403e49d9b9a44effd161fd97062a2f7205a700308a1f805655038538ba2fb1b65169faa2d69ea88e477230849 fontconfig-2.14.2.tar.gz diff --git a/thirdparty/fontconfig/docs/hap_integrate.md b/thirdparty/fontconfig/docs/hap_integrate.md new file mode 100644 index 00000000..3e38ab2b --- /dev/null +++ b/thirdparty/fontconfig/docs/hap_integrate.md @@ -0,0 +1,88 @@ +# fontconfig 集成到应用hap + +本库是在RK3568开发板上基于OpenHarmony3.2 Release版本的镜像验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 + +## 开发环境 + +- ubuntu20.04 +- [OpenHarmony3.2Release镜像](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fdayu200_standard_arm32.tar.gz) +- [ohos_sdk_public 3.2.11.9 (API Version 9 Release)](https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fopenharmony%2Fos%2F3.2-Release%2Fohos-sdk-windows_linux-public.tar.gz) +- [DevEco Studio 3.1 Beta2](https://gitee.com/link?target=https%3A%2F%2Fcontentcenter-vali-drcn.dbankcdn.cn%2Fpvt_2%2FDeveloperAlliance_package_901_9%2Ff3%2Fv3%2FuJyuq3syQ2ak4hE1QZmAug%2Fdevecostudio-windows-3.1.0.400.zip%3FHW-CC-KV%3DV1%26HW-CC-Date%3D20230408T013335Z%26HW-CC-Expire%3D315360000%26HW-CC-Sign%3D96262721EDC9B34E6F62E66884AB7AE2A94C2A7B8C28D6F7FC891F46EB211A70) +- [准备三方库构建环境](../../../tools/README.md#编译环境准备) +- [准备三方库测试环境](../../../tools/README.md#ci环境准备) + +## 编译三方库 + +- 下载本仓库 + + ```shell + git clone https://gitee.com/openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` + +- 三方库目录结构 + + ``` + tpc_c_cplusplus/thirdparty/fontconfig #三方库fontconfig的目录结构如下 + ├── docs #三方库相关文档的文件夹 + ├── HPKBUILD #构建脚本 + ├── SHA512SUM #三方库校验文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` + +- 将fontconfig拷贝至tools/main目录下 + + ``` + cd tpc_c_cplusplus + cp thirdparty/fontconfig tools/main -rf + ``` + +- 在tools目录下编译三方库 + + 编译环境的搭建参考[准备三方库构建环境](../../../tools/README.md#编译环境准备) + + ``` + cd tools + ./build.sh fontconfig + ``` + +- 三方库头文件及生成的库 + + 在tools目录下会生成usr目录,该目录下存在已编译完成的32位和64位三方库 + + ``` + fontconfig/arm64-v8a fontconfig/armeabi-v7a + ``` + +## 应用中使用三方库 + +- 在IDE的cpp目录下新增thirdparty目录,将编译生成的库拷贝到该目录下,如下图所示: + +  ![thirdparty_install_dir](pic/fontconfig_install_dir1.png) + +- 拷贝动态库到`\\entry\libs\${OHOS_ARCH}\`目录: + + 动态库需要在`\\entry\libs\${OHOS_ARCH}\`目录,才能集成到hap包中,所以需要将对应的so文件拷贝到对应CPU架构的目录: + +  ![thirdparty_install_dir](pic/fontconfig_install_dir2.png) + +- 在最外层(cpp目录下)CMakeLists.txt中添加如下语句: + + ``` + #将三方库加入工程中,fontconfig是对应的三方库名 + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib/${OHOS_ARCH}/lib/libz.so) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libxml2/${OHOS_ARCH}/lib/libxml2.so) + target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/fontconfig/${OHOS_ARCH}/lib/libfontconfig.so.1) + #将三方库的头文件加入工程中,fontconfig是对应的三方库名 + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/zlib/${OHOS_ARCH}/include) + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libxml2/${OHOS_ARCH}/include) + target_include_directories(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/fontconfig/${OHOS_ARCH}/include) + ``` + ![fontconfig_usage](pic/fontconfig_usage.png) + +## 参考资料 + +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [通过DevEco Studio开发一个NAPI工程](https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/napi_study/docs/hello_napi.md) \ No newline at end of file diff --git a/thirdparty/fontconfig/docs/pic/fontconfig_install_dir1.png b/thirdparty/fontconfig/docs/pic/fontconfig_install_dir1.png new file mode 100644 index 0000000000000000000000000000000000000000..5e41bad0d0bdf00ece32936a423d4ce67529373a GIT binary patch literal 5700 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 literal 0 HcmV?d00001 diff --git a/thirdparty/fontconfig/docs/pic/fontconfig_install_dir2.png b/thirdparty/fontconfig/docs/pic/fontconfig_install_dir2.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b00149d6a9d205335f944f3c8c2ec677453ab6 GIT binary patch literal 5043 zcmb`LXHZjJx5oo2(iLe+l^#$*q)ClJ=%IvOq>G`02uhJqL@A*c0TDtk0wU5uKokg| zNDn>q5{h($0O1~?RsO%dB6PJ?X((AJK_C!~x*Aju zm}h~jlAIJ6w^G*oK_GfRb?8F_pZ6OX<}e<_Ta1phyxu!#RNJ`yzGf0sOfq_-YJlBa zrnzlWCEe7>)s0_qJdJtI%}DLm#$fmxx2y}$-FxFHx34of=5a*0-qeDz^gstm21lWl z8c&#RMEwA3@b7*l+~bHSvdMA#aFD(JP3pJd^Wo)P|8L&X-tURaFZYvM0@=Hr%1JK9 zi!MW>hWo~aPfq`22&A*FO(Rc}!?)uHpnUMjV1um|0p9*T)7kGN$&T?d_L)Gmcvi4i2_+*J#S|H06tK zXmpw!{H>Z`VoMBmcvw2a63=GU&^I5josFPX8hNtQ3$H`Ldg`UI1L=GBwCzJ3<@SaOd9I!Dnb zv5zatf7)%O$hQ5`3xW8P7mUC?dUatTi%A%cU~H)dn!l{x-!26E9r#5HCzp<_SxI7xXu|`GTbHDhzA!F|BSEw*}!DGQt zHFh&ZQRA}cT9KlKZfS*m7W|6zT7l`WKAeBkH;Cw5G{-Gk*Gbv&M`XuTyJmh z#l=NDO3OE~3vl83dTBWGH9G9*fO|x2Glag&R4O35WXlOQ1CkRm;MgTr*fDk)l$ z1b+2dsquTN$i)>u&DZW&)-F1F&588=S^Fg@s`z^=5dRkysSO;eZ1YW5!%bDG)qAbt|@L5DAb*JYs zoC$U=)u&h@mD@aY&`OijthJn%Lwup^tM{zws62|O&zSI*NNIaZsR zWzKFGfoUcGa=6NxB4SnW_VU!A74b+mOUu0lX?mJ6eX@!Z2pp7QP5&TxHr0O_#Wg(K zftrTUs#pfhqszZEudxz6I%==$S-4guiCG~}L;cD&riBA#x7W_b`dM5=Hcs#;_sqP) zhj5){g5|^(fht?1`G~e^1XuB!uzAX*(sa1P*f?x-T2oe_$4+(Be7K~Jr#GB4%HyswI{kcNy}ig+C7vM6fO|9^8mb16n>|SME8qGBqypq zb($5F^?=c0=XDQOXoF`QYfv$l8JRbozO!4X5jj_v>i%*aezWcVPqMNXRKlynHdY{$ zvZgW8A9hMq@W@5#jVAWZj6tq8d@Ql{ZZma} zeyEs%6((c=6ffc zNx#0W@+@GWMDrGw-&_JD#!8Y^6Ed6nyh07Y=@?9B-@A2 zv@MMnOUukz2FKV6SYA%pA*DurUa;(( zy-$H=Q9zW){0z+}4>U?D>yJ{`i=4{H(47gSuTY!ag@c8J8fJ*r!B!}f^~av@8kJ{b zQ)BygPKaaaG#}QMo`KfKDVP1fZfw}IKYuI&PONM+)d?mx$ud28?(u{%>O|(HTIK!9 z_t{M&Y`X$3*gVzM@5)*`pE@#SnOgjZ8k3)MZ>C&(yT{4l)W)jSJKJh9`CMsZ0&?G; za!a6;Q0FiHT{3l|U1(F8?+kO5VnCdQ@&rGYeg(Bzk=a9 zl(zrG=4+H`sf$k)+TTvTj4DnKi?W+*&X)iMb&}DCxqQ}^(=7T)jst;OR3^~RsM03d zS3jYIKm)5QINV^<*~y>N-rkm*J>GMo{Y%ZvguUz?Oy1fZ z8RRaJetJ^a=<*|j`-{9OBBXi4aFSJxrd7`=+$6a62*Y#b*T$vfW@F_t9a=^I?t`|c zKi9LQ6yd&Tx8kA|8Tw6FPZ~dF*y7{4tYAbdUpWg2`JL$c!r^O_*Y8>B#{*yV z^@K6x^C`?1El=|GQheRGg_(T9H3J%%cA*#P&vxOLX^OZ(a^|vr&Jela#B&2J1jV ze%7j|2qeLywjD9Y5(}w26v&LsuCb|$&rbFGaLx*)6Z)30WIwfwJU95#@3zDb#TCH& zPhhxhQ?1%+l}46Y3B%Gl)e%q>$f<;Hor4W`ubNi;U{5SF>9q5S8N)*J70ro8Hkl5w z_rmvgPE_=A4}AlexCv=Sg-h4o#voPwDm$v&bRONdheQhOcv}t`H4-djp2%Swbly*^ zIjNQ8zTOdICkgcTcmeK})$ZJ7Ri|rgHkmIgjsNCPF zg5AD%?NZ-AoWu#C=cen%7P*|l!o$JGNP|oyKlBmc8(*MkK0Plgbp5?;<}p6^JD$Dp zvp5WYlc%WoPDOc7jK+r~G{sk^?4iap2Q{I)-I-#G+-`yVZ);viTT8CF?gGZ!KzP%g z!fqoRUf@%=D<&m*03$D8tT=(4NY zP|)`-O9Exo=Mmr^6*JtdiOE4nTn9F{Czedw&9N4*7gXgdugLL_ICNr&mu(L`NFuTk zH)VAsrLZlhgc9zhSDiGz!~OqF#I^znJr8RHW>rse9vgB4IP>Gj54600LuF-pb4BU; zN&Pd(C=RE9WNVt0Xqv5_+z6AaNP(E53b?9M8%&PCU2$mJ0Ine4SOL>t6=P zYMPqlWo2*8y9bRbVhB2rQ+Ck(zrdM`PuE74+oQ`(+s7lB z_>`_P=J)!#wvG;f)!K-OlarT9N*6$RDTYsN&MPCVFfGpHKQW692N#?Qt7;Jy@LYX2 zRwK~LoZLV4CU;F%cJJp!PA&6|hT!G`^Jb2`+>Qa^fZ3|qFMoXk)9Ua}MR2vtc-ooO zGLUPpU1~b`U|be!an=NBD|$TM1L-j==tbOGP21L6MQdFx6@aDS{pmX2YB) z8dczJ;AznI77GI7;_~`Q`;wEB3U*Xt?|6F|l*t<{oWld$K4dtF3tEJENk5?)e0BaV zYZdNJU6FBEz_+qO$@zJ%5yguD6#*e|-1R+756UzXrnaR+O|5c7^2h6GUFvj(W3jBo zW86X#0a{$NZ++NMtnL(51nZlHhm>%<#FXsvb89D12{iHIK>50cI z^PLOC>QK|0t})xWIwkI9*Lkn20QF?m8mm8VgI0hC_Nzgjmx_xc3gldMxT>uKDQ-0IiEu%oBW6ew58Wp~cUa0d>#b`u| zZ{8Qs_nguqX3w~)YzB0tA^VeWdZCb8-B|De;@TxfMhlO?Patd0=jNykm~c1NLD+U5 zaZkE2eV<`vy3x)CIOG|%rcNLu&RKOS6=GA#FR#Zb?355DaWGkN2!Lo=6}@kZ0Zv=H zK3nBW{~jAhRJ*HGLPv3w#2GQvkh9mUK+EJ9JRmM)7FdA4@^#ELS}V#Y_xAPO8Y{C) zAYF5bTNhq&R#Y|pSS-2{qea^hTA{E8Rcl<9y=UO+;ld?0=hil^^iulXYeHfnQXo)PPEPEJbZuN)bu4#TOynpU zuM2f);q?>{*cn%iH&Sh1?M-Seo)F1D$~XC?Yp#Xr>k{PQw{Y*@PS@#I&=3?U0dAvw zUjfl4;4VyvEFNPF;r-tHxU_d-6iC7Iv+sz3!QNr^PQve2fbx4e$pV&0fS2jjpec^U z_{@LD2&q34cwJS2M7J^h+0S0Gwg2Ynwb8>wk0F6zUaZ*uBx@zTlt0q1C53x|poX!1LfUF?6S=*frWFUj;bRlSYhJ={U z7(YO~5y28QTRmKd#<3#MiXt?Jy|aNHWU$yqTB(swfk1?XT8VEsMGGPxR!{>uyLkaNxFZwUk@%T&42BAs{BvGBl`uYUE~Eu$k^_nyJ-57X8oq)s%Xp`0B12$j z?4s2H-I&U(GwDV$=sb9>lFqJgzOj0)RcyKPPmw&uTxBs#-MwBHPc~YovgJ1KbM?CO zO8iUIQpP_T9|}w&KS>%o>+B3A=5H8T_&j&I<2&}Bt?*^o%e>-Zs0$mRAv=69-qv$-9G3WRFy#|z5%~iQ7+WBfCGcIzI zc4Jpgel9$01m`k>ZqA52k_;CIju)yLBm+zPoY>|?S>}Hz1 zN?HQM**Zxc(XBj5gxv<(3}0Qa6HEPZ1}1=F19)WetMB)K=)7IMs|v7E4KUgsrJZZl z7uw9zk(n&6Vv{%{)k^@hG%T!tas)f9FrpH^DzVjyHe9mtUvfQSI6!4{0y00WA_Dr$k*&93Y0=Kr;fQuB;9HsAwJXUzGv=k^lez literal 0 HcmV?d00001 diff --git a/thirdparty/fontconfig/docs/pic/fontconfig_usage.png b/thirdparty/fontconfig/docs/pic/fontconfig_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..89b297c99913b74050d98b0e37b8e497af7abb01 GIT binary patch literal 56046 zcmcGWWmp_b)aM%s5(w^YL4&&oNN@@69^Bn6Sa1lz-F*n|5@c|95ANc+~YyR!LNOo(b(XM|rw$Wcwyh#6Q zLp+!E)Z2KQh$72#l!!EunoT>Re4m)+Zw7yiKQ0DC=vkzlZ4=M=!H@TL0l ztS$BBQ4W}q9n>HGw(bDqUs(Kc`tl;A`jc1`&cb#0?aLN%t+;JyfI;~)pGdqYYN^8f z_t-K{45;r>GCl4y0x$WVBVGyJ&F*OoxW=_YA&2@Ud|&tr6Nzm7L~4CLr=VI*q@&X`%1-^{8(JCR$J%h5TSsI#C}4yviPw&w<)}q2U{=Ixdz$s*&~DeH z0S4IdZ0WN;yK>kb{{gDL+@5p%nOx;Yt}VR4p$Y(axS1=@hA5oH)aqM%8+%`wf!Mvr z?bbicr;Yl4FQ1xCf68()A)n0gOe(t9_}+&cGY6+bp6mmH8F#N)}V)4j>rktkt0hUFnb@u_zQS*V`U@>$*;qDRPDm?XRvL5BT#JCn=Sn1hK$Z zME?2U3~l8f4tG4^U4cgqB=dyb5|y-d(IhU3Bn3qeZa9$o%uz@w+N=SE5sQsBN4|@c(DYdZqxapfe!^YREqB; z8-7L2_SwUv(iRZ%N&!)Fi(*ZS-~fgUJW2@Ks4eQlGghhd8O9yL_5phA7}&n>t-W#l zO@xjO43{By&CxK`Ty_Q&a5=tHlJ4Ou39IoTr(>*;4f{d)E*|IexJ4fbwZETrjN5aw zevd_gd`2z)d~~U3!32RI4t0hN@N5mvLGovK{MKH0NNLn>)2EVaOs~|6};%0L^HpY!Dp+t;MM5T6crR zzu-CVx|5E>T?%zjS{)c@ql0d1((IDctj*sH6i_yOMCq#+}=#<+>l%z>V(Axz&>u(J>R?vbiT{{G6znqbC~6v6as2 zM%^Z+zBca8>XK+dl(Kbj;I$HUh@wlp;m;pF+LtA1of8}8iyzC7e1Ft86!>sZtK)Gw zUI1rYq#^J9b!lfnNFF+WuUx8w2v?m#1n_6{HnW+>!QL>Eic>))=GlB4LtBKkD)@AmrHjlkObHP`&1xVchU_9w|?}VgliP`b8droTWkO#S& zmpz0ka!Hu3YiaQmN@pJXdj%7aMV2><#hGz2{?G{&t4hyN!1@DF(2`?nMTb`FJ*F3L zv|%|PGE%?N_>{&KqK7l~vaa_NX5)Qlkx)^Sdf#9iS)zjKSo5M|RLwrxBDRu91`z4X zv~Np_a*j~B!P3r1mVkA{!gQSked>r|%*VLV6_${Bf)KBIurSokeXTPOP9`T8p`Go%y%9$Cr(o`g;BG_-j`bSYav~8-ow8lX&yP=Mz<* zDw&VjHYU=`8PadFso#6OBxVEs{rhg2It8D+1Avc0M7{sw_(<$GKbLsp#)2@RpnF6B zgxY5kPKKF}l(2vbjZZES9{_ZQBVoLM=Z_|8^LDv~c8uoBH1bPiCU<4O8X4>CY7%jl zCr>Fh*lN;*va zCrx-Jo80&`3lqB}^l!iIdd@w(_3om@44WN4#lH83HeRW2RbrY^RVw*OM81|!JT09f z?`N}Jsjk#-3jpQ=!)VNzd=upB&E{IaR28M$yS`3ZcNnat;{o3S3xctem4apMdYvJLj)A ztVA|VyJeYCLB+e41-EjBPr|%dtWHQI0oT<0P^~8@g$srFF{-!&&DLLQz(aH||W zIo(<|C_DG$I~Q@1;Nmh<_hyd$blM6H8ch>{Lpnv=48BPg?DUIZQNPEQ*39tLJpSO@ zDn%n2O{x4)mO8fUAwX^qNIwo?a*`B*D3y#IN9w?{Uvio)dcBNCOOaUP%xtGp%Jn2_ z_ULf;bJbV6l<(E0Ex2-pi|{jOmvH|WS5c=J57FStNY^a)Xwk`nd&6MZxtm4?_eJrqs~WUzQ8S-niE9~K@`?NcCDrUpKYx1+fB70 za-_okD48O4bB6pzacMVHN}719k3BFzC!Y5CBU3Xy0VbC2Qj}FoRWgCMwt-%C=qW4j zbe@`+9F0pZbfN4YSd4D-N!cb*(CTQS&KIlBdAaZRuBKht8LVI;jKClAWz!^M6Rr9o z&l$1VyXpldY$d^Uf@YmDvSrisLOB*V+??Oj2>7sJ&3N!hxHjEN(Je=Y${dk=z7E0` z4f3ZPtWz(@h1-7ah}0>V0e)AFKmXo7H;)Q%6Sk0!LNxl?5?_lY;&@%w|7~DQHbodc z<)|Q~yAN06UuLIJxYb-dXgWu1V7zbx@Qkep8aBMq*c z6M5^0xS}`Ez?Ti`wq8y9AzY_lz-BnxMB_`#V~b2`>hn9c{vLbV~v z$Y`c?F|)}|>x=4Ymh=dl9)1#5Nb>iH5o|D9ph8d1uc^`gLyB>-yLE8#)!4AvbN1LX zrb#(H;$$bvev?_0_y?G4>APw)=p?ayNYEQmN^A`&BR@DVxGsKNkk4MLxUjvJS%mTv zG(2}eTUqC-s=;XwISYU$3Lg+fnFIqn2JTvnE9=O?aGP~o6bCsuI^lYZ+(seiQbiTw z?!Q0QtyTZSLFxr>#t-j>1Z_NwzR17C%d-^b{xQ6qSoesC=nYYu439V{73a?}PP5~0 zm8FnUN5FqHM6KX-tAKq)w+$w@LE_B~pMtWcW{dvttklaY=ywFECXPvtMIS`gL^=T z%g+Kpr&;`ruyok9Q)2||gY|wwFBSM|hU1zQtpD?*s0JsCKJWI8Q_-BcE$YkSkl;Xt zWnni3Pg?N!yd*IwH|l7NWo{G**(R~$wl)j0mxkKrPVshSvIwYZ#3W^$xS>v3+z2{! zvHP%4oqvAEZ1fHq2-+JA3LGG85Wcw5Bbk|veZJoRi8J*mLlBQ)7gXWy=!O;Z#e{T` zG|eK{*X&{Cp>O3UubbQ{jafd!bDH!z97NTRy6y+4Wlat1wvES}d$(@C#-jY-0K}`F zthSsat1XYZ!Y6jCADLz;e^h1x|L9S5rLWS@4aeEn>WOKtdbtMZ>5#RG81Uyq+WWz*trk`55*wwlTQVrb9o1DQqR*WqpmNfS3}%Dtb6o?q<dcaM~ctW{#&dOys_9K!?TAwz-CpiViz6r$4O{mZa7E~s4 zRJW|>j#*e1x|#0kFKLoDzVT$GWfdh>lKb7(Cnwcc81DU#{eNBaf`zqyN&TPg+Fvb+ zt+>hK+sA8*zi0NpXLpAXxqn>v@3X-8Ty%eLG5*?S7~-4F=coVupZwLBq#MRN{^yQh zsLZu*QhHnNR=;0Aj;sp|kCOeF3t9r>+3Lt-d$ zq>ZT{WMBXGNK<$&DG*<{*c!j}>qPlSO6(UIJZ666ghzc6QWCTdlifE%&%5iggREf8 zZ;h1_81lDne1b%dQlb5Cmh?0+2E}t(p^Uqjw&Fa{M@N;pN8dV7!J**uI;aR%T?$@y(zm=ps-j~D?e0%HV-krqH z_~SM=i7CjULw-DeJn#UMi(<<%>JwnJiNUJJ86#Yxcd57iD}7$42`}%ORR z^#mEvxpno+te#hr$qf9S)>&P;gT|~f8N5G79LX@)@zN*)cF}$I{iV=xQRuW!Q)!;e z&-DH7SvjqhAdQyMHTj`MJ;Qj7M>%^>(9+Pj+lsNjNt^E20!sT%ymE~IdxNPn!34{z+yUw#R5DbsL+iJ|<}7;TtaT<^C^9O;ahb_u47kOUH2A7-s1tok6Q8l2)F zhSishm6YeI6rLy4%HzllRJ^3>A;@FQm96QsM>{*|8V2zOc@PN9zl$NSYd3T69}Fpv z($4#)%UFD~xFnn@n8fhe^fqEaDCDvC>+b3eYlW)YOhUe|8+nsT7#a|C%F}45q`wT3 znfJM}WQZ3+m=EuAe7sY?r11CB$27Q}-+xmTWZ+HV7!#dc50Ao$S#mYif+SV3zi zTwUvlSs_g_9+fJ@H+;f33e5?!e*QY80tFc8xVzql@=j-`1|Ay>+QMz6l9D1nR9t@R zXx;SK9IN8S0{(QIcVG9+k$Pv1sgNe`2BRl$MDkvC{mR^VIM#?6O0E^=a>iOM*Kap` zlp)_07S$sF+Xkk1o&mO{x@k(n8B6wT^mI0=}d8^C{e$9O_(x#XmYs0Cg_ChcoI)U5ZHVkjV+OXxB!0v0VA$*slNTQimt z?n{{$C}Bl2Yprc62O`Fhm(1ChOh_P@$FP06%b_4xDDYDW(!p=`DYGqJ{8mGoJl;5< z0PSOGWsG-{a6^CFpXDmM-t_EbnoO+~MVF&FHNgL*kZG*n;N+Sg6c1BeIQnAr6e!3? z&?_I{OJN?5IuU?LP{Wfgbbfe{8DT4P5pZgErE|-nl*0O)a&1^hzdlmaghh9i-0Hcz znWiNym`=g2HJTk0f+357N>wWJsB0nZ%X1Y|1B+&;&`P{;CAD112oR*ip#XOu*6MoN z_MWQdO(_gkH<#uZL44i?ualQuFDO{v%~!~?b%nxcV8@KaYQc*lZ|KPvUHpjMoBy^h zOF`oi{6YKnDX*duj9Uzq{a1!aa4e(ozG6TwtB;ynsrm-$8vcNC?jCzhx+kvAnK03a z-zC*+>iEu-vZ)vm?O)QyZp(zaA;zH>S!*v>7*Hq?^+KCmS9|?OBrqmo44?8}eFZi>}rU!cc$oORdVsX>qk|0_ty8BylFJc>p5r6KB9txFmkXPjww1-6+m%oHuHpx*4u8Z(peQsWW$&-vxN7ltH$l;J>MhHw9`Ic3o> zwT057TtKU=vVhkHrD0d!M&%uCKPbLxYe#7W!}Qg7HzN4=X{w~U+Wd_1o2(BJiX=oIKoVqb4V8WoH7$S*?mj5Ek5*aFA(aZuKEl%2EJ!be)j2iae9k*BiX^}?1bCQ-d5S@ z3c*$)%PILC)qW^TruRG_T&gKpX1~>Bb?CYr+`dV$^iQ?&K;njb5D^DW*y2yGCHo9l zIVn6E$$81>IQ|*tM90h~Lj^ciHeBh{K~P!~tl6Am4|^SV))p2}Y{5BcKqN6G^*z@% z@dP}4$bH$+MeIuYJ3nHUwVbs)S;Gfl=go z7@T46o6T(zADC&!?Gdpgg5s0eXxq+w>*8+q1t_4?b#^gnE||xB>Fvg5hs<#Yw4mf) zKB&{dsgq@)H!iOGlWsJbpBWFoel7aCF;eYO*4Ly5Zr*W&a*0df#sP!uvzgq(c4H$( z*vmk7`MafD(d7@dHZu+KnKJ#SC+JbJ<#)>oJ9EYq8SzS|=M%g`K4$%y7iuF*1F3VD zwbBVUl0P1&Lw ztSHDE<#jzYb{6gB!E~c-RjB{REIr&#OC=KhaM6v)geC5%>*;Tw-9?Ns*pEgi#^S!r zjxraVkJYt~W}_&|uIxjjvX1!2$Y@yon!`D$`cp@8Q>$G)rjT~GCtU%7ocdO%+Zef^ zHRG|7hBmMB2)B;tw$jY2t5nVUHi;E6fl_(Mq5Bc1++Mvzo;3hS`|)}HsR$G{Df^mY zCggtk2i}e(T<-W?DG}tO{9+R1o}xZd*z7trMIbWg#x!T%t_w>-_swY-W>c@``vXHl z-Mk5CDdg6=9wM3~GQa7CaswVj0PTkqL0ZK!G-4!FYq@St4XC+jh=Pz?LP{(oziMf= zJE2bfkEsInN%c@}H9ZcrucfH?T|Lev+QjJDbmvU`QbzoZUc4oN z>}z6%4Bj?DJv*Rr9xED-)NKAXhtzId_=Z2!&M-#}MJwqH85tuXlV4RQ5I9h(Hp)an z4ye^`Hn#D=WgA+8vYdR2Q*m<yAC_Nd^0AT5;F-p24m1Bk+&Uz`BdJB`;wJMw-*a8C z!&u*L)CK04|8>@pCj57@;`$?*K9K9adOQ9Q{uOyxz4qtHxvs$WHbEshwA={hp5T** z71G<`k`MjEO^G^Rk5+Aho{fx%j*tOB(qnV5DTP1l*_^M?;j*_Iexp|~l&DDFtz_t~ zUG5Ym@)8#YsNL0X)SZ3%B}46(eL@oVaw80oYU?1uZT}SxdTsn(55`tcuWK+L^NlJN zxK1)MGW0=K%%!SH9=kL#J7%_p&?AB;IA*q9^1 z_%%Ck;xoH%wJ9TK8zZG3DbE;kB=a$F)n~aa6{lvH9V-tabfKYb7?d|oRFnWtx`oRI z*f$@=A#Utj^zS#2U;(ik=4yfY|3c zg6GB{5+pg#ZC5LQvxPbRKv(v;QCXISdt2g))B#=tnV&9yCaL+FQq*o-7d~EXUEZ~x z5r=j;Z+|C~xq}5an|KuHG}NH0(7%`HhgU96V9R(}9MrGOk8N)I#+ZV?(W^|uN2P-+ zhg455J)oY993(iv4KIVlz@+=*x|ng`uC{fs&+R#HvDPkaDbo5F4)71DW?D5Ogx_;K ztFvTaK3MufVm_s-ND0#nYCW8g`|XSNyFHokzk(zs^VmT$I!z`$!%WSYu}v^2T-9l5*}^@bnDn=I74> z=Yaaw{NFCk9RORx10|>Wjec=z^-jtjnSOQdj}yT>&f^;8{RgBUlRaG{lEqEc5Yafu z#;zK}n2$?K7@Ov3HY)UVde&S!JKKk;pK($CRQTtlSSzV`#3cCF^AQu7606SzMt3o$ zuk244bJN6ZI7PrOMg6!bMoESWYi1?Q)8Gh$bs&%F^3srp5bzf*)X!Co_HNfcyCW!& zh4Dx0dK--Kz?t{+(5@2Ok$0bh42l*g8}CyW#yPfNra%WM>O2JUj@gZ1tZTb!>u6DbK6zrWGay}7ePhkmF(T~No@0@tv zFuY6e-f=69cc>gV@l(FUrd0Ay@pso6|A0^X?9#L&iCJZW!#ek_TCQ!G4d-fc#G0S5 zH#;MtVwzCOyp#dmTFR7(i(h_~6Bj^7 zC=(pm@x3n-sdcQ%ZF8&fw=ffzTwzqL&G&We-i)F#8^bcujSCQ+%m@5&40|u6PND(o zRn}>lA4$6RrN}_x6`~6Y0>%RW>2d=AIG{1UqhdeZyPlIg)Rs=O!(q~BGEkH5ty?{W zdT)i!U3XQ-w`iV!%~)5r@TP25T;lvh=a7?Axe488vAQOoS^l=&L*XUV+`@P@A!NDd zY1>Yy?dxbAGbq}+E?vrx`eb0V`>u{t+{apgDEOTwHxl6tOr}nNm2{>mPkp>bV-?xH!RCm! z6|LqyE=kxc_ZIkd&_HV%lyli7IcQEXn#|6OcTL3HLA-f0a>3vtwTugCC1zuto?@V~ zeEjxH=9Eazk|+c%2%&SnCm~`RD#)P_MU&;TtqxzCs5W^or&6;QUX>~c3jK8pWNh7g z>Li36g%}Px2G^}<$i8c5WMMYn^pZunE}r=^C6!U^Plw49(8H3-p$v*GYp8jTJ59ji zifPoIk-}nb7Regglbt_BU)Sfvahhc4M?xTFg5S(( zCa~U%BA-@LK0cHwWu2{>gk?WZrNn<|&aL;GUCwI(moxfg;_{#h{8$E?{SuxsFJ(nT z_#zFwM~a>=JA$}j1Y~z%Umg!Y%k8aTG_avO*vD-s()Sjsl<;$UG+A|jCu0^_Uj9L~ z)KD;l%UU5t=Z$E)xxGmeo$_%R`(-F-A&uQ{Esze&8BE6;CHIaoDoQ$)zxFc>-sGBOI;%PShkqxVV(BBYhi7jd45-jvp{dEK z(eE!!lo6;QPl<@#*D1Tfh9T%?;>LQ(#|_krggs|{CRj_{JL*7wzevv^L>`xd@l$cl z-Dss56ZnPw#xg>}o)*;@NKwkkk^soC!lvKucYdbzVz82POTy6bwPK;#e!I7oYrzzh z^!{SH4H?uUhn0#e`=Ff@CbV22Ppw@z#AhGNO_LlE%$3gT+IAwlTb~^!lD^>Dzm(~2 z$#pyMBFxI60&@7-2!n~985DuWixh`u7+IA7ydEH-0_0xk>mNQPcK6qyi*jzO@QK(G zjF$PB4!T@Z;Vw`Ln;B)$lpb-EMy9x$CJucyGkS4;dBIN~nC+hlPc}qldvhhfoLJ2k ztp9c1pG-qtjs84lfp21L>b=3L@z}8@*MMaCNzVTPhIYa6G;`@LAMdhN6?Ok_baUwV z(!)axn`g}NS6RaJO)Iqw+(L7$o9YZLUn(~7$nkZZz}&~ok_h;LhMHfl(-2HVf&-QEL6=qIvK|xXX$h1O4JfIB`x#adn;D&M7D>$?9yQ_mY}+@i0md z>Q9iTSKTa*T75mo>kB7ARr@gn`62&}t_yD-*yiCILUmEPv7z1WpK^#9Ba3GhM>(qK z@k~O6-ozozgJ)B4MGCh3w5l5FiRXUZw^9FoO%m#%sJ*~1R;w9msB7q}O2EqUJIvim zeg5BlufNRb;2Xmg?9aylz?gtd-0s8`a_`wBufb~fOnDy>rymm?F(OzmqeRD*6~1wA2?pt~%+%+UE`Qg#+zd4A zFbT;K+H5s2;BhdWe+{&po?VZ?CO;RsPt@lfUlQ9MU)F{QmmfY@pf^2tUMf@|Tsb<~ zBOzVZs7q>b0)X7M39+wJL&&4Y>xCmzD2nOnPAlo~Ss1^3QB(a5`U$x)m~W>jP*B6< zFLX$)Azl3j8n9WQF*XYCAQS!(tN6z2?&DdJ*RiS2e0lq&Cm>dkA0wgoy-1_;_wxzpec? zfzk@{$HOT)#zN8qPU`oo2-@dcC$uCvgF>&l_Nh_n%rs>jTasLA zAjp0uI8dG2TK8(&3a7E=uZ(|Dc+^5a%{-F&&b7d*imFmCc=jEk zChNgq?-gbOe&)NOES#&o%11;Q@n`(&k|yuF(vjKse(q5UZqsXgj_0no*~hR5swQTf z;&S?bTzKo@2pLFA6(FJ484D>kL$mDOJ7cg2bt~b5R9YRr3sW+Td!U_MW#ROe2z1ep z>eSwGwGM}q!oxdOOO|#%E<$ZGMID;YrEgf+^tu~rP}Z;^k6n3Mb+zqRgB{GPiu+q| zm44cgbFvQH7Y>=%cX1zZr=O`e#^HRz)8(e9_JraV(IGFJm z1-W#} zmX#uf{@}9KzIg1={Bq36-64=Q!F>|svK8KERs!-#XC^$1viOjP`W6+Hv}KkR%q1$C zmkUFE;TEu?;9)9^)qArQU_NR45#Q(P+YTRzwmuq z@BD7uN=rt(UbGCP(p{A(p5k=dPq&=s?s&%3ay(|+33^BP^2l4*%3?7ztB3F|rQ$I^ zXRQ#|jqw-37uVgR%&`lJE32H_thMkL;|dxuSB?IB$GpT!>iGz_@bW>&-R{eL3%{W6 z{aj92__=QZyr*x`@+CN;iW__u(DIvyUC)(;;`VnK>LzClc*2gf*n<_iyhymsc!WxI zHV*TgcLmj}`67G$^i*t2cpbfMmwN9xe!(BHS z%3czV?pqnOP2Oj-&9C4=yCpAx#i+Rgt)d%}it_JkvQLD8p;^w*cb=NkR>>#5%0 zmHsC>_@5GEpV%7Q7;fP;-)uuXE;n&!Lzew2G)UN3>Qk+ ze6E3xQn_PZZ?Fx`d4MGKrNH+<{0@D49fdu3;vFN;gUC(};QZ|Ob@N60 zw#=)C&U7xZj@9;CXpw~RyFLRtSBj4GZ$j<)bgg5gq$KtK=wh66BpzM9Q3sQ#Wc@-X zSGS^qMk7r6eqQSFBz2v7OCP$;u`}3}mFBo>$%F(c0*^ zpYV4Mzy6Y}9|T-gI&ni9N!-SLdhH?#d@Or^5i)$R<#fDq=d4B{0sQ$# z?_!7akKV<&;hkdHClh^Qt0Hv3ph%US#|An)xDE7qNZ`(p5%&1pz3d>;bDFidH8cOoqN;m(t?hv55uEa^ zy%JAre*R1g$?-%@+Doewr+wnEK|Ht-$=*!N^{FX~osXq!E4||M_>76~W_{w&62aSf zY^~4=qupJ&UA2gj#&d|j1JzRQ?)I^0=}O&v_l=)N-}A#I%_Jva!1=hniyNlU>eebf zl-7QDnehAhs`6z&PXQx;__?fwx`dL$>K)S8?^X_241xFW< z7s|FYO~1_3;l74Xq3#GdW#^+!LCSO5E%cG!!ry_ocH3k@05CTSIWywtsk1NzITSApXo14|Y%X zg6G%pYrE_-@H_V=u!Zg>qfcz*MNKcl)c=g?yu35h=Zkks`fqt5_v_GzX{l*od!?5@ z@%qJ{1wjD$d6GE{N)Vd-m|_u3r#VgV=KDFGy!W_HVoA2z<*gU;)|TwP{vDrI9G*!{ zwy`!^_(oO*3`?$VO3F&1wrxi*>w_3A$9TLlM2iKlN%6TGqa*ZPEFh(1Et+L}uz)#J zQufSj^!O??(CKtpWzKk_a-0AD1ZsAYI>pAHlN8Gm0E(l=o^~jpf;PKWn27apw!TA6 zA7onTxXtdmojUJ9#s_IlM_6}4#K-oe?;m+blw;^n3#K8bqxf-Vr}-0tvugcY8U}Q* zu?L5gf93lfnR(ofv{`9rcfyL)+*F7k>#%|BmXaZMwq&p8=)*0bw4|m34`L7#EncOZ zorSQtCFcAm2>b!1SmCL;dDm#+hxeaHLcuwPC>2v#KU1IN5^48KYo^a{1*t1n@9zp{ z6;O-%BNN&8@^WC~yJ5l(CVk`DwnD`qJTd_KP0v!CTvpHXB6M~f{yyM8cA+b?95G57 zVM7hQBiQbZ4kgi_2 zsEK?Nzo;vLiWEltY3a_~2-^=YyTx;c~P+JY6^ufyO{jx`cy|2u|aJ2&1Ajzu=0^ z$4N%!!e2FLVe#%`af=MzMoq-dQhSXb=(S65gNd%eJ&^}XKugO%mL3&&(Lcp=wf}ex~}6W8d<-2DvNscGgV$?0UY;; zKh3cIi4Alt5@JvliL@=AT@CfMWxcZl-B4PKtkl*zZ7OoRGlFe69(ST*r5bHuaD+8e z5fq@fasaZ8l;V6-Tbfry?Bipj9|oHLegTaX(Vq9t?6#Hrmk{Hr8e(v6`vcPpl81@~7Y|wtx9v_k&oJ2(RUfZ|+{kuaR}Iwb zvKmY=T#nPOZuFk%OuQttht96dW<&9#WS1uj1L_m?eKUkE9fZ{->A1CQKawH?2hF9R z*#2>(_iub8IFzK)u#A-o;VN2hKkS$|S|6`(e@Sy?s}x1~;zak`up}Nkpb97b`RTY+ zxr4b_1!h`jNV}1B9F@&6%5^CF1$<;2o#C~JYqhAo@dL&T6qXFU@c^>-aT;Wr9N&$H zM?+QMPf9>~&17VdV(E}qU=5D&SO*&DPQMHBung<3s1huUES$|jT@pW3EN>P%!Fy%S z_}kVw_Itwv*4R}?1B`Kci5I02nt}{w&F&j6+#r5um+!A}0w1X#MOCmU;2#X-G;5Pe za76tL6q0`Dbl$+nVq}@6=vVm;yg5w9|7E3uc*S38;Y*+C0W;u#TwcdqiR3U|kKNPf zm$WENIgF@vKBzBX*YP~F?Md(n)9>~~dUbycwa6LX+RH<*Bb$L@^5G!{_cH^x!v4#3 zjd9W--ZsXIP-aDn#2D5bd2xl*+w?kK9)PVn1w8S@V+?})6Tn-SdC%i)(r6xe5My&|sGl8mbizJCV2x)(Y!u0DaTeEqH!+M<_I=``DOlaidxAiR9MRd$v}Tlh2r87RSj143=qo5e1mk}I29bG`jSO$D z_GJ&+mb6lknx=|QbwDs1YKo^T`4_xBQ|tL}z<8UTWTRR#-WQ2GLt4oj%Y={i8nkXv z2!3gW9^5iz_PYYdR;!V7`kw9N%ulZx^#8x;`#QB{h8-LcFC;QX-iE}#O3zdBs}=?sV>|IWhZeE<4okh7 zKU6z7{p9#6Nzh^==$*2Jhlt>!sv4%dE5tjb%yUI6PUNL-Ca-QLJl62%;+Ix|7Y1Nc zl0_UnHlx3epl2*qpm3KSYtUS)M7d`JtNrkXXGU$cyfoJH%^fPv?+Bg7&OC~9?+Vwi z3^>CN$Vfdma%N{(WE z>4fkhOgx*Sn1F|vWueGp$`1*ymv?YPrg#qk;NL1%TIJ@9o15dMN^BP5IgMk&c?jX) z^IH*XE!`C6BXP?($T)3Ic=Yi?rN%;?`MT%bm&|TBb6SLWk_ov8%(8v^{O#`fuqDKO z?)hor+|D-+UZ~0lgb5f7BQBk7ST9X(*`Yk`-kE&fi^iVd5??f%Ui+Gk{}tXe@@mfK zoBDBzA2EbW3cK2-*BT!9sA91(*6;z>I=U84{?FoP%v4{&jNCO611p-g3zJ0G-_^0X z%4QM7JIu%iIN|oAV|EaI#|+zmuv)Y;4nZN)FAy)SUYJ*L<3G;@h-B|R^ZTpZAOd~! z{H?f&@4Gcf3hO@}w5u+5rd8|0$9y|%W=Fzz=Rz)Mv){$C($qebrM;(=c6Tit1F?@F zeD3Qr)k5W|D9Z<}tjt`ldxtqVP>Xt?5; z=P8OOT6h+uvMlp0f{bJwWO**&XyGV^(Gyga29EKJ>1P6$%Y~DYk0LKmzBIf?0Q%;B z*zx}OBF8>J3?8JZnFVf!8-#bg&lyeZ@u8Bi0*kKOpjlq$N{M|c(UJi4x}QJfGsizxsT_^Du5 z9(#_=zxh=~SOg$s@l{NYx;0v@0h*W&q#bp%strQ ztML6ZU_iLr43aspb;0JP{2n?K_4*iqS$6$2b}?>o=b?m-ghax!wX-2VkcTio&1Cq6 z$GPIe*NqCxccRJcZioC!PiP`aauyO8iyYNMm=&ZwDi>Z@?Z`}{1x-C>NpuVhO1fUVtbss(2AsTTl_?{RID>Y!DM zus`T*Z@=R{c~#|TFHgK9N(t!Xc5a{ZPfJSr#kT)R1UuNlW;P#h%=eoA0`spf)A?U} zt#462Y9N1aejLd3Z`5P~d56$i_4c{_tD-S276r&3 z+W24G-F0vqZ@MpdIgTMQCuWQ(W{R1anPTRcDQ0Hom}91xnb~s8%#1NJTV_kE-^|Xr z_sp5ynmxC+Zq@C7ROME?R9*dcOYie}zVGr@!fBA(GY;y!-|aT?L*?uDNqhhxSV}#m zHk~}pKw>9Z>n2Kia_bq0F-CM>YX<>8%qs!-zkb1zd+n1(xwBo zoJK5SU9h5Ig-(jbhzsur;X)P1U~lFSZJODm>dF_8%=^;SoyCMSQhh#`e9<14=?25{ z{3P#?VZcJ7w^L0+&GrnXR@};8b>nhx??u5f`RAtA@u7vkT2-k}wi%in{237p%A2n9 zyHNH5IM%V)zvP~bv=hfP>ThyVd%w=p1c3jahDZulvWgN^Oj;b9Flvu(06z_R5GX^eaClw&V<$L$Hofy{F(-B z^Dvp%eH?{0xcek&ljW71ZzRE(q=riqyQJly^+Mb2F~7XdlsWF+tOpJ*Qk&ufg3-TH zCrwr373%tVRsI}%f7e)jCy>xsB&o&2x++jeMmpMWXApBr} z81|dj4tT&{4ZF-Ww(n{QM#6r7Pjr++&nQaBl(F(7UogBx*|p*PrvEF~uXOIfRpK<~ zZ#;qZU-5*be~%{^{wJPb{Qtre-v7@$;kOi>^^d5Nbh?y~V0m&{yL9&o>13%sowGH1 z1|n}Zd794AEfF-os>YpNJtr9SfSQ#=n<}>2iQMEUth3GxI5}Qckz>2kd`eIv0kJ(F zw^tGMNhC66!e=-@10r3DqNCee+=+G$#9dR3E?QWB8Xu7?*g&zn3Eq1KfDoaWEbQoDh`$RX3+_a;ThUb+C;W&(0wZ_r-AC$1qJSIRiO0r(zS2_ z+hwg8oMNxd4l0OfLj%i&jHsP4_?k0E|I5J&j)r8D_5>8U+7WmW;Q;s;Rj?T!*xT_@>8$ST;W z*;EAkAE%c=V}r7xsX@?AuC5JP6f=ZzUw7+o)_3Mq)?sUGG`l3_Tm^~E5v%HeKU@}$ zF`@C`!lHA0x~malNPd!2{wXBYP9tUN>)G>Rjz+;pW7szZvmB-aS)QQ!8(R*wKy(<~ zRb~@NM%YZRgxpUu15_;~>yqRh3GQWcQ5*GRp*}ch37+>F-cwuDSVWNnv{fWPzkudP zUjtLf zq?)HI+zvhL?9fqR%&qimV&d=5x|tGvp>n zR!#%L%&p$%3@%!RB0FPzQPZQDkrh}VTlEN?+THo8w0yl*O%42(DOe?9V^Q&ACQq}zELY~0 z*z9I@@`J6Z@GC=maU7sbg#!H&!C)t2lMfRy1io>u38!g)~AIFE=!p2rXCaSlAd&9aqYSuJJ66c8=0?Bq< zO-${EOBmSXdn9_9wcj9WniGm=2AC*~#MJ{mz|$r_x;>O$V_=-yqhOF83_y05aT}Gw zI9k&i!=QZYgzc`)kXDhhJ@m;H69Fk}nN{z3JfLGE;se<- ztFH17f~zUyiJ+jkLp&`eek=NZF=N0MgP6Vug&3~MDYcNk$nH3t(2%^C`@8rclpUL3 zC6kygf5Xbgy?FuN6VN-uaTn1%{k{=^+M+03be3mPRjSNnU#8kdZ0V`A!q8y+&tv%a zShu_~<}Qu2Y}|HImsV9>3`nC(KhW|25D7ekshXJN@*`@^JUyS@8ckp2WefObPk5g! zSL@kcd zc5l+SOAy-RUX)m{v0o*|Img z6S3bGx+M?v$?Krv^JoLkJL7wxCnRnBcnFKWj(;;0DWaYH8m1fUIt@zY_k;)h3Fp(}hZQNZ8F&@Ki^Js1JYK?5^ z{=n_w-rnYgxWsm5WoxApI-yNM@?lrd(#7iVhjrDvC{^-6Z)0rJUo8zB3&z2@#p?N} zX$^+yIf_c|Pel!gtD&rz*E-Rx&YnM9?h^tqR0G%7I(66AAKn((S4&>c&}<2J)yjUM zYHwH|Q2g+wnLA@f9FEG5zWuIuxa$|liM+Mf8ZRQmvz7E-u#>CiZY=&oXL&R9WR{l? zSqP@=HSw}O04^pvrI^6N>iL4ri zjzQ)JwalL<_pI-owHD#N{0W-hB~Z?slUSeMDt_8j?gSBi(=` z>CI%%IQQ9wtLiFme7L!A;;m#FXv`AyqOrRQTAgVLE^=RtJtd=i^m=dCRB@-Cy4KK@ zv&MtS-lWm^EIH}iaa~DB-n=}SAwawfIh+%l9Sn-*9!{}Jb1KuBJSqb>+FT$~S)8)z zM0Irvr{Qh&@UKg^SFRadC#q6qfNh`L(Hm`WP_wn~|1=G{`-i6n@h}lRxepz|Xjj7X zK0fi(c|J=4gb){V9xm6)P@G6Sv*Wz9Wx>y)**_H|e=7&HRLyl{mXwyCj6}Z261vK@ zWD5Qz&K*)utoze3f6Se%Qe!^{^3yV9(><87@FnS*EgQU>c@z2w^vjl%(WyEW@MyGO za(xqg997*|SZD^HJz>}9d_=y7*DZ`4<6g7VG1G^!xc83j}@LaC{!~ zQ`nfoJ&76d?7zLrohk-%t>0dKlJWRUO}v5CMXda`G_ld$pxJypO8Et8|63R&)JyJoR_Jz|p^0Dz-gRU_ z+`7gcy%gsFfQEG|RISHiFFk4L$F5$Sb^y9-di{fb&MLx2^&} zgjgC0)D|rEIjnOdxJ+ z7dv|3Nh1w_q0((>L%M(m4N#)9OB- z+STMt&b$>>np}`KuRVOQ*`BIw;~j#NsF~pHoLqI)OK0@~`-@ymKi9*C?P|w_V14x; z&MPYpvxq?KSJUj{UZzQx!!V+hNz|O1!yPA)tldZZPOqV!D^0<~;5_S`jr1cfinD?E zvy0T2)%zmU|g77@vv5}6}XH?SCLqKXLTBA%~cQR z#Er$bPy+?Xi^?vE8}}aNvjL+`}V<`>d`xL+yjUANZfdQV)#R@?;fS&yIhkt z>5LwdciMO7!(Jx4#GexcU}1Z!v2NrZA>Rz}Uu&UTrn8$K6|FJ*7D9{Lg5BWc~kI1al=7#^+ej5H1=7#;p*88>>c?1vl zGr-QmOy!exe&Jtlt3mx(jf?9`{MQ?M-*zL(MBUf_@xk@zt8(8*W9qz_i#*IRpba&^ z!{t@q+rXvF}aQSiZO2anYJKAJl!fPit-vB3sxd*sD zC)_lD>$y2#-!zcyq`%)CixMzhuC3+?mM zra@L^2K75UU-2Q?F3+3pWmI4xL2;|jL_n?6b|Aa5g3POhU}+Ew-NS}?lTGH{i!3qY zS}XB6hr}XN?`?M<9ROEH5I@lu@8;UC^@VKZB(2uvH4@n%z~$XCwrVZa$qwf21dU$* zBtf=KwVTYB`y(NfA!cu1-BelBQAMt(A8{X{p`%CEeeOp#`YKW9AfAl2*$qz?2`#+L z8lLfqB8T~3m1m9bIh`N(8S2?I;xcXVeMq@nM{iDsstwju1sCpuY9*)Ia76ep06(KaQ(4=mhBxGD6gG&pePvIWUh$pDv{4`wzL#lW}A{Teb+?X?$W4Tbr~iucZmh=7`d znbPuC0>RfBRcM!3y~+;p`XM8)Uc*Jp74Ih32{<$v zdqM5*f1+dCwgUUYNVEx-7OFT6?}ve26Lio0y?d|*EW5nCPLz9;oF}{cAD9Ix_^m~? z8*%{m4cH_+PojC4 zo*8Ge=IL%GtDp3|9sL4O0fgp!H@mu5;Klm|f|gPpLCp{BQsB^w4d45gOl{xMYeV4U zWap^|IHLMJ3IM&qanN&%leaD^8f5lB3ShR_Tc5{KAmP#^mz+ByjJm!JguEQ+Xa5G) z+(XVRyNArL=zvcA9pvqZgAni|gJlQltBTLl1%&#rASH+3i!JEs*20hUwrQQq^W~3t z#5DYa(d?p)RMhp>Nqa_>uh;IO3wK?+-rQ5|8Y3OOgDn9bOan>mtqh#PHdEMt^fQ9OcEnx4d`CG#H zu;#Gh41kbCp_^=Qg{Kn(lhNo63ngz> z9{NR9ACnwo%M3z~e}mmkr{hAsYuRnab+q~pAWv=4w1P^{G+D&d+u8iSR$2;PuhgEs z?bcLC0KiTp`RWGkG+Ls!J5ckc`icR`)aoftIIlQ`&_u!JX>MZ;!dvEb=nJY^O99%a zrF-v62v{yO$>jCDK_K;COCkxO_cX3Dc%0@ph+K}xL*r|Z(*_<;y#ojtc-ad%VjgUx zc&5-0&QKtYQ(*duNg~X)MvOUK*0l_ZBY%tTfYy<)20rh~ z;el~}pAHXr%e2C?S$(~feTquveRnKRcQEhgScGLl=6to_#b^I=xx8WLyZz!4x3T%y z1Mbm(UKO7@9CYPJOEQq)3i(E_`?%|qaDbX@4U>D^j4cvTmRAP)Q%j z{f--7yq#;mL{|Y~!!cC-%T$CfA<2t&JQS#{ziI`{W9V5SVF@H^) z;dsti&flo7@Rnwc>IE7V-Rk@7;ZuGTfoE#^y=N6EUPZ8S`J;zL!f5)` z7QCC$`m~CPws*H+Ez<4D7sRjSzq*1#qQ}`_Oy^lIJE;cJo?`_VGHP?C@vmY<0HREH z7yF;cl8>l5ezit?17}BxO6>k5Na!*%@znKK+ML&XI71tZ+}p>4gGBnI2k&82Jyl(c zZu+_8MTrHOGjd*Jq6C?}?Oo_d?jLO>OBdkREU{?w=J7I6XX=5`^7H07KDM^kO(6vc z#bAh83uJ*-I#Xw$XR}(p|=eJfXahBti*pFdC*4divYurEPl||nGX6`M$o|(-o zK|)r)_8sLOQDA8XzTt1dd4s#>7syu)NYZoE?ks~vriFYjYQ8Uqc2tj8H3DJ;_Xo^c zpFe6sTiFpDbUdWg=-Ycag_mb`4>>Oha%#Sp@at50e4-BYX>@KWZ5!9m{sp`g7j^@_ zc)BzVv1winJ%3vm^u74EPh&xZY=J(X!{Q!72a1w zAcpjuG>q3#3ugJAPS>}3*H*PV87TBM>_xCB>AwfG2{<%o7R8w&}dl4yGI z#$xIMg)af+hdX1;{6EnVA3j-DS)6iAh>^`ApWLbw%;x(%hE|2rA;c0horo4hg#9F7 zW4C_2T@oT4(w0Rf;n)2{dB&I{p-|@g`z1UY1(<<-UQs2eJjd(y`ILP^Q}yuohP!Ds ziPnVTUNJ@Gs8T<_*K5*;j8~~ms`xt?Ga3nOsd**GYSg;poRR-oMjZj(kK;Z22o%%5K-Y>=h$|Xg|{dFdp%*B2RRAA_j?S*Mp zBEM0oJDwcL&O)O;xmK}z8PtF^Ex)MHQ*Tis0In1sG`fL5zFo|4h>=W(Sv$RFWhQFV zhAl)bmUnw?3h0aU<->AZUp?4+KKD&{_-@7bZm+6Cork`3uD4mxko27v&2z{2t$OdQ z;Gh%*W5N76aD71ChO&}Mk;mQV-yqXYe6AOjaL%VHIlpLm8!03E_dO6B+`8~?2U22` zu=-RQ$z3;CI7-VKriap|2;@q6n`-f8y7ct8ut%_f95C$-M- zb>Mksq>c&Hb9N!H>hY%MD__SCzQ--JN4!ZFsYKNbp|y@fRepWr~5_)Lh&ZH z2Bb0| zk(m{uvchcr!r@5*wOQYnWVORhj?c?k}8fim7QK)0wx2^(ArdvGqzznl<46m8} zK`OM=zCa)>mDy3R>f1%%2QH0cwzF(gKHOb>foWlG!4AFd*qml?K!3dqB!m3-Pon1I zBRmBh1>ai5=pggz^^TU;lv@4KJ=I}*_6g*9SX8~|+XXqvU_>EV{q;s%09y!x{+b@# z=?`(mwH-a*-5aL1hX`o?ge!12r274y+3ONM8q4QE96?`uq4`?=XI{-Mr-c{0)&?+; zI}5k|lr~3ZVii&A6el_!(up>HS0>o?9Np(Kz#rAB#NIF&dc1|YlZ@gkmYmb0Seh5- z#r)aVs+~kxbce~8C4f5&qSq~-3AEeU#>4VrLSCU{71)Ego_W6waN_*s7zOkZtPVTN zYOt6M^pYt0xl=syvnDu}NQ38cxAd+GEq&EpyW%*(U>lP?NJha?!@nceg_Ckrt1; z&YG<5To+d@%W(WQqaoXox!EfA>WIsQ2ec!e&{;VEVXGA7;9lo1;yin%_)XL&l(@;o zvaoU3w_;+Eb|n1nQXo__Z-RyrU+#yj}}az)VtFOWdINDr^lhGU=p6km{|Wp>Ww ziXzsV+q%1$P?Kps-My?2w%g1AaMTU#CUw*E+Zq(N5~p*bJYWSYma%OQ2Yzn(i?(5)U2>~X4{dR;3W;WE7mHScWqq5Kp$<%X5B;#9Th zeN!M){3A@|X>@Ya2=t}${gULfq0c6Mc(l+`HH3=LA185sn(5*}XuX?B(!t1qwl1ri+syUAd-qlV%_!IfAGpcVu0rZ@Lh&x!$eG5MB%7mUw*Ugfgu zFDL)zQ?OF%`+Jhx9&)7>wGFj;jT(yXo~6rr8+estsRHG4huqL znrS*kb@=XMLG~Oe8gtn^h0IY5bl%lP0$da)0;1qlB0V;pcIeNu#wXby320 zD_R7OBuTFOc@A2Co2sKursZTLqPdF=T;;VTJuSOql+H#X4=JDL7lc(ihIOz|wCZ-c zAosBWkJ1`aX#S4IQjP9CPe0x3%DHgo;+oky5lu{ z<~g;-r(dD(a;0qBW}sEjh^M5zxFX5W8mp5buz}R|rl6)_8%#-Rd@Pw zBcR;m=Em^n)X~~-Cgx!@fJ{i>$vIb<`{5__V>KDosrY2?*VmGf;-th6k^$&+o~8gq zQXl(j?@RRVeEw*?j==qTdty3uSfTDf^8>9>o93LEL4L27B$0!h@9C(I-hjI4?#r=_~% zxz^Ft5&zDADLhHCCerTb?&7cxkG-32)sSuiH-Gb;2&DI?{xpr<1tGOd#WZwZMtbCE zYL%4Y&PK~rwN)9kM%flwJ)EO}(&jCB7bfMQbCkAlVm^x9c{}uyh9khk*|zLR`&imS z&cFJ71*ed20!-YqV4X_0(jaPYCU8`{;nLrqaCLb58~LF<>ors>albOBx2?tN!ljnD z+wGh+ihiK?_f_!wbgmnxqb)ms1!+uA+;aEA|F9Pcu?lk-zGX!z8!~J4gNihJnbd+$ z49f?aMi;p%I*k_ve)=&A;V6jF3ad$YZpZVJ6U{MEy3pu)&ivflXpE0VL#d+JbNE(! zEy@aa%ji1EJm?NE0Oo<%4j2?mDY?VpB7wEJu>Pm5IJi4FTko(S(T~~;Y)Zy^0Lmdct_ zJ<5$GU%kowYW11#^E~-tW5AYC5bLL3w3EXc0~0yN{B77u!vzZ#{=Ka1A(J~NY@+aO zhEj5G#WEp!G(Y6z9Oi`k^((*j7D0 z;zfF3=UH7f&?W(oTv8GtCe*Pt@hdR^phV67X*VL&{7xb5bU{gt!*ODR7}EGL=42!$c&DcwYg44`ffD+^qZ93;t19x&zip| z1oVyr&CxGU(8=Mb{}d-uxs5nhA6=!&S)D-=!%S@Y=$boM5-$YJ4~&ji;@TAtiTA|S z>!{n6{2Re2PN^k5j|s_HIg|W4LIAI5*k<`ISS0J~`X;oH)kWz$?urVak8cm>RU#S) z@5jl@*5UN!@&59hvwXnwT43DDF~nU#Nbudsc?JY3vvm9?f$^yQPXePd<39@w-l+d7 zFmC_92@I54{mM?z)7zT;wmc;!V^cucNgmdK0>A2_Y@xZa0A*MD`h$xq+IX;k&t2m#h`y^QT`F#Rw4j+^hNdy(myFjOl zRZS0*GFN3CT2`||LBw^XLTfn3S%!8sQ+j_+e;dL6cG>6k_|65(QEgL+PC13aX zM(4Cb3g_Z{<4Gd9L6q|B(9UxEN$h(ioHh1j^2M&v)5mw{^1dHB66*FRkhk6dwo))j zifpO~ybl=+D9Dn6&_+*6D&yfN^;2>24?nWoZ=B+)yCLaa8vjdxq4xg(Fr4cCHvo*a zFO)q0j=#VpA0IY@^#5dVzHxN9cf@iCpme;xbalB$ud!U2Uzz)boYg2GKr!Sub38Xi zx~TgRyIA7wV;}v9l!K*hML(jjV!0U67t7ylf;qXDxAK-4O(>$&yUn=fhqs0Scj;D^ zhZQJSd4D4pDsMsR>;(zMoo#KrY$l>Anm-ihI=pa-u3Xk}^OREr-yHkKvvCf?7BRlZ ztaA@Q`W*5j$k$jJ&2^A&)K?5e+*d}husfy2ygo<8xSC|R&1<+joaVRPxqj8To%fsB z=cxazI~HH~_Eay+8=U~%s7?#O%K?Z${fJw)$ir}ktH9&bcDRs%+h$9P5@)hpetl6` z{GOp)INuAO&r8Qz@LR+zpI3gLHH0`4%`H{3xAUMzXV$%chh;c1K;{tt4VV$uEiosn zfdDu}L7)q-WXU9g2H{9LHf)YWRHS9LzDax(;EfAm@nAG)FCLYV2KXaC7_vV~U{W>9snZj_M)zXFZq!o(@gU_yl&Y3Er+?do{`_~2 zI^NSk21;|RfsL;N`03Hs%MbGe9q>sEN(-3H$BVp3JOauutQf#A&ua=NQ5LobllqZ5 zFMpcY81ra08p+#-WT5;kgQ47Ko|3cjf~px+B<4*03=Ey8s`jQE9J0N;DT+gQ6y#x_ zhH3*7g}OrR{mkP9r?xUbhE?94clf;H3;Fi;N@fx*-xb|v?C9KnzU->qly5?hQXX~P z`cvwHX6F@+5bn-hax;?`SB=(%XVHj%x_fdmbbLk*HFdgv+r3WZ9AiF*9s=i<438IR z9>zRGaFTG_Z7Mf)8AVl9bab?8fc~JOa`Xi3J>aaGes5 zXI2^?0rGy!Rp#WRQ4sK)546{9?=B6J*^$SxK#&ZIJlYY?Q+#!3gT5wR8wRs%!@;+p zYY*2DwFX$$+RdlRe#0IcMunh^dmk^WQJK7(Mzd>2*valegE%G_Q-uELx*jqYN3+ws zUSd<Bjv=NWQv4V6LH~qqk9=1++=lCFI;{eP2lP@vG7pDDLJb7 zRd`5bD!cgxGSRGcp863QA!FN|F8URGq_3f((sgkuej}Up9}hct@f?}*qs05oA`BHQ zl8ux5?wJZIjqg&06-U=-R8<5QNY0M2)Ck=SuUo*0+b^b?;8YsiR3cw6(avLLuzcf?T2-PmLz4=JjM^Uk zAceFNPb$JOl(g3=Ro2e7>-(2`;2&(Ed>JPfx72dQKb_tA*jo9JTK zF{A~V_rQnk47wny)t7TW+bBpJWWz;)eY*PA|1tC0UsloFAYW&xb4Q!L?=QL`h=yBB zq)X&dckW-|R~@YAMqC2W=3nE#vdVw)eDiw9X^~?RBF;;q0bTjQiY6sAQ-x%?gHPJY z_8u%s>C@0VOg-;k05x4AuuLrH83dFI@sDn;Ru~&#? zq|*3lTdA{xK+MNMJq3?paO$Y~wtlkFr5NS_={xCjlmn!TI^I_udv-*;a8Fe^k)b@An{r1wGcX%h@CjuF`i**eg6e+=j|yKpA3}3zbOz91X!sB5 zj8K#8kYeO*W5J95yWVQTP0DJ4UB5eqmDCeFD5dY&Qj#vQ?z%Y*?$o1}DI zkA1@+1NrEwQ=$1e)Ft2D3?m~0#Xk2|!p1mYxNUzq_$iOemu24$m<+t3$Z~YaKK-G6>nbZorc7(x(=Swb^L@crJOb~|_z5Ydx3wZiJ z!H>l~VqlVMOl9Uj>_=yL#>*(2Ne}ze#&U$de&V8B+})>8S3EkSy}IF&(-S{GmnOS> zif<2Cq)d;;R@DvrT=6;p7&UvPbf3RhX&t80Qw5b9RBV)NgE;5~$ zl32I*FOgfUBavn!0;DSCmbK@8I5o7#5hhe6(q$l7O_IdZU;y0dy;(UDW(@*Qx9JM| z*O%PXS5%Zi#a?aFZvjhAM|1Pwm>l1wQm9hYDs_mnb56}-Tya}_&@&}``V-x+x+E%a zs;hJJ$Xoe7cCwDMAP}LjnS_DsyM*NWcj4_`v`Q2k>qUZ^=iN>IgXGukt?Phls_U$* z)`aVX43}##FUtR-_SpD8MSB4MZ|(6cesg7;la;769E4taY*mq}YpqwSaELf%Tlyun zVJY`6W3vI-`_?xYf?A)0@m-8~gE-sn4FE5Bg8`%Nc)YRWl;~OJ^fBH=0?$w4(1>E1 zU_*~r3tG_9AY8ut8sV!svE^A)#EAr2At9k(Is3s>A6n@_7xnOBV34Z3hhPQF4WOM^ z+QCWLBg|TlT|s@WT>yTq>CZ02O4Y%xT)8biG$HX;VKfQdcVkLH*aKps_rOuEyaC{z zeX6Jsxv{~55!s$Ra+@v=z39*rL^GkJ+V5jr;!^b4pFizD^~T}U^1LFMXZP&8xyr0% zGz)k+{_T`bdeo&~zc@I4#>nTW9H->AA^4ujfp4GxVExt7!y!y~9u_dAOfEW_$(P&y z5#WD9FqXP@Je}U#ZqSn0p||znybm@R8vsa0#qx1T0QBr++iuLnjmq``v@0L=m)*{S zGB|$~L2xlWt%h0l`-&9L#$SO2ZDHpc7bCWh&nczDl6Jd^X13*+GW6fk-weq=Di7sT z?LQ@xtlt#=BucyL79ITs^72gp0B#%a;VC2?7&k7{Fstk@@O0%hlYkBKr+65&fsA{I zcuTc-H$6HNz8i*JN3Q#)FHZ@NUB!uXhr7ioVd+mhOhm0!=I>sq7*^{%D|b5;9kCjY zFs~191EsGp#Cp$!-RjEhU0-()VZ_#8t0|g+?H9!gfULkG7{KqSriuGnAjF(b z&)E?VP)??0|4&4{4iNDqfuMI&b4CuA-+IBlTUQORW)bX)!S+x~B~&c{=aEk9GL4(8*W&8g!b;(V6ch1a$!?i>#ps_M^aug*C*RruhHHrl$)X1~j;!HQzukn0S9v6`RvBhuy zkc93t48SP@p}5AZ^;4@_4lA_IVuKTNTsl&_#K^<1I%i$m>HIn>a!*-zaRZ+RW5<3Z zSWQvb@G475Rmi8?VE4tVi4Gd7F*;No1rn#7Rdknj`Z)Z;j}sO>#KKA8Gd^(J0?6ws zuf1F)iNzWnXC(wZN@+C++|9l=+3ZHS;t18NEC(C*k zS-P4@`f3vS!*6jsK5Pvm`KJ^C37y^laI2 z999_Pw7jra_x+j~lj4lQLw;_%fp2G<&dR)H#>?EbQh{oCp&rlS@yk{5oMpMF&!^^4 zj`cu3TtLG(sB?O_ma1$7q3UqAj*)wSJ_H+i1Z<$Jm}o);5xOsWfh}y5@gGnfT*qbDMNEyOj3D?1nTkTGhcR* zDD@1e$0SF|mVxH_{xiEU&xNjH>E~UuXvc6+e2tW_AXfVKkvr~+g!xq5rU(PrhnF9R zuH(a@gjlzb&?||CBPA_14^)Hqw1uu;`}bS`Ix``oNg;<#HhmE(hm*s!SfD9|SJos! z9Ho0`tzlobW5jtf;rgZwidBr!y~o++gf*mEiV3zGx0uQ?1###i>bBZ|ow`FyClJAR z)Il=S^YtVZWNNb=?~YAk673*H;S~Za@Ll}g;o~oN(BLORoKY>t9)tZ8{dO~@$6Ati zdF830317zR%^R82G%u^s?bVcv{C4n5L1y;v$)Z66eKm{ie|j}Q)dsB8oy$6+lJz;n zCYktyU1754ofWIEI?`h(-A_#%j>}kJvmbzM9_lsjk;!hsRQoM!e2>%CIp#UDpZV*& z+hif?P^|$ap`D!1fsC#@K9&;zKr`^!=3tb>SEE81lL)*hO9DPA)LZs=6;39?{yhPC z0Fsz$+?X-y2*gCOu<2EyhYkF4$7Ov>N%7rIuY6|4Wf|R>2eu|WFRtO|-=PMN8m1t0 zVMfflCRE8y#5X4XLR2J&mUhgXTDzwwq}B{cjiARJsEb^6aPQYyO-{%Wmf0Sw6k z`Q7iZBc^IxOWE;JHH35~0HS*&oxaqglA4ScJJ6ahZ*?>9?>kf-xH zX0`-qSd*f&(hZvZ#p|}DX&-EqxyKv8z-f!R;^g<%tegG`$T@#y@MnsY&`FI$lnh1vxeHm6Kh`( z4ImJlrqBu|8z_m8m>bHy^tiScE<(beF$cshw+Am!4u{rnCLz9$1w40dqX+If7y}>F z?&SP7-vSORtaG@$dfTND!lb=9mbV6b3Z=hu;XzyF6vuMb`>U<}^;+>KG^BFm~nvX+;4KN*_;5 z(XiQmsDWm37swj1o#;`1@n{b@t>boougG%m!<3B>LsL^Om^_gHxch||#Q-pVHbA<> z#acu>8o>#eMirAFN-~R8Q$KF!v$_)VNKcv-=tMR0yX=yDi3}!jz{4~4i@BTs=Mm3x zDAJk>BF8D+ZRtpzBfmYPyj~RsZe2ZUgK9h?{KKWD&k7Li*~$F(*R1j4#Kc6wSUZhX zGatp-*8wq)drqlv@V^TQr0B4kWoyen_$M_s;x2xFGWQJs|A|%Lef^qLuiWqmjb11PqfoXoVk6|TD(Gq7Kr+OvPX0^$S`=cJvMp!q%tTz4B7uq#QAnt(6s^q*Wsb;&=w3bq^hGzC($sKYiD8b1Mn>(TOpa!v`5+N63dLVpM@r&!)7jZf-tLT@2XjqC4yJMx9;Z0lJ~HQW0{-N)}r2L zr`%fuWWbc3D|9aGZ7wPBCA%;{`1=t&;P9z$M!=Ac{_RLScmuI3AfTu1=6Uo4gv+TX zJA#OtWT5T(^4B3O_u2zRx!;5P{ckye4>=h{Cm;>F)C$!1p|YlGdz{KcaosYRcvT3& zjn@hc05iDpb+!zrvz?EH@1K%U@cEtf1ohR(;Vi~lIlN3PxO8!s9M~%KaYr8jd2|~q zU298(Df{?(6VnfHwwbk~OeMPw>vjS95b|?Xz{VEFIjD8Hu#v}qV0N%`zpdpHU!;5n zbRfAw2NIxABF6mnV*J=o>%2VlWaq0n8_6T6VxpyjjUS(K8g4Oiu4(I9btoeB-Kp^dx9rO(iWEkz_g3}d4iYGA)- zY3@w#xS0xTOy_J!Ny_%>**67*((}|ok=tDdkF|&K_U-7Sa6|Pg#ORpWYpX&Bb8-td ztEL|a3sYrS5|1b@f?30+c=zvJv9Tf#mNRv6D)+b?AGnTOQ7y(a zt2GU|n4d!k`?hXA1gR^CGPCA{_KtnMcRb*37p?XRH_?#a>khp}Jm^}Hfcr7d-g!^i z?wA+!M8rTINzhI=D&Luxsxurt*F5Q0bG9&ZhStYLS@oD$04{{>?=+<50lPA!GF-~6 zHaI(&ZFv=YRr126#za+P_lrwaJJ)_it#AvLfEy}v^7^f$I)9vq|Jk3c@knMTjfm=4 zHAOI;7_Xoc5BX6+#KnkA%bZ*H z-+KKGJroiQ)e^-keiGDahd)_%?A*C=1qpRFXwE^uy8B)6rJst5aeYKm)ta?C(l2GX zIHh38jYqO7)7iWjs^o+yl2cx^=t+H5en`~vbr2RGty{vJ#8=4QIb&^RTQJ~C#Ol&e zEr+X=W6(g&US+1%PTt;+T?v_XPz_%h{hDHMtN!H*Uc&$Z;oeZs%MRk)G9?(jv&&+6 zLJtu8RDojXGN;8oKbVVI-u8d-cGgjGM(chaLXbf45FCPq5IndJPH=aJ;O=h0-QC^Y z-GaNjyUQ@RbaGG6ZEsK8+pezF{U9%IuBb#qxIIrXKi=u zex|8m$!MC#ym1v#lw13l#G`m zl~%rDewZodOS~9-MWwW&;+}DRF<;6_BuoZ^dPEL{S=FV;ftXHtMtD*#xp4za8v={2 zXSPDAj)TLP_jv=Z3z%5q{kb!6jGGsZw|It56EX zczrs^TwlKslY!|P%LUl%f(dtw8^QX#*Zr^fgQ3eO1on*~i^E22CN-qUNr#{n^}e%m z?(e@XLg^PH?DWuL;u7Yc`qxv@cT}Bn2Tk9@0eo{5=hiBY<-;{B1cTy~v{>KgyKt(M zH!9E1@9n0Zp3)qe6tg1I+TUKqV0Nh6ZkESDbC#CW(L!~zu=a6a!;sUY5Rv>S5!qN= z4SAo_oyz+mJE~9#1(&qMLG908a)CD2kJtPAVbS;Xjtrmu10I+%ma3o5792ZYj-yYO zbyv92#gkafmVGj+BLDBi6C3|` z;)&J&bMb`E|3W-rqVC;529!*zE`lU+)Hz$IT?|QIrwC)GrY~=Okm&yT<cL|5DL4u=D%YdZr|(q+4JMQ>QY|B-S~|3t=~v7D2b_WOKNU)Z|0~V_z*VJ#fqWIAuF*-XXaW3| zBt7Cm`0%(!q$6Z(JZao3NdC^KC%GS@bteOCnG^I#7`!h(lh6^PlZ2su$J(hv9mi+= zbUxCtfo184OGG=gvW803pK%`2p1>0Ij9>-B?``&8bC{atb=NMC2f#iG zj-|443eTFz!-Bt>P_{0;&+jDzP9%&Jz~24LPpt6e1(Fu zM+y@~;1NYnVJ0MD?d^0wN}g=vQ6CTCWz!w%r=yb1w)x+A=zX4$+Gd@HWS732<($yD z-FyUep}DlU!um<9MJ4}K+MsXm?zg$L2VH)$^+s)KX>nt}4&30RK2#-F#ue9qF^KHDO*IG zv&YIuXmYhdlo)9QunlA0Wvz)H!;;WX_s{o^&-*Fp+X=a15~V(%T!(AMutQdb9RUSe zPdmN_t@!~Yz55=aXSbqPl!MvY>O#r2Yj56p5>_Lv24- zGt0(@LLfaQ^&rq>Zj{a9g+?DgtHy}xPEzSU4xZ1!gN9Mw^Nyb(lZpa`2{pCQdcQWh zK=n?AK{$y^CX6uDh@0r6rsi&>#kVxGheBag{`|Rs(xcNeL{$#VWD0+4J6ECn^H#yz zWu^r0Kg=|bn!Z3(mK?2P+@OB|49viP2N*)-GKR%oUfgJ%ZilwkNjynMV1M<_`S-Ok+C!ytm%;V-C zjLjEMJcFX%5E+v-;vgnpv*4=Y6nIftQ@LBy0dh-2a~7;}$qNIcAjo&l$$Q|;U2^|qCEBhBJ;^Er#&bYz~T&lw5TaX_RemH zy)Yu}2EBntJz&#ww)%tL2-{1T=kbzX3rs*+QAQc*#>-qmN+`nEqcsd_ z_-AUK*}Rt7oJ**k#3mDMal6LU#HM2bN7zogmJchkDbd9Izm9w=LGxv5mw(Y^wY<9+@(+_yBB->x2ep$R8B!3<8WRrseOxm~eI3Iy(HNTl$ zRlFRGqEM)nEZjcxu2`8oTRph9G-ZJ=v#v*Vc6vxyZq>iOsow~UMNdfQRZ4j58lc%T zeKz07oI7b@$?{+%`@#->KufGIK6#}j%a1SYWYa2x@jHBE1UbZ7OQdz0=iHupg~U1C zzDsk%`-F$*b|N*4lgKS0v$ zdB}t~BIFc>XWeKEtko#0J18(wE^T*ccY5p-p80vHY3}@|P2*wb90!AA%FSp&G9QP@ zxzol=+>D#;)ZJ_2!bAGA^@$0X;PP9vi_yS=V@9Vx>kZ9*a`ZK{K)aKaCw4Jgi~8dk zsWeBkijV{?z2!8!mZjsPKCiIfzM%s^1- z`E?_aj;)2Wi^iFIV6&LB<|MbQ1Cg}Ows&oY$0_txy+U5L>M2~$!K`o@;9+?OH$dJr zmp0ViE6mcUGV0C6DCenDafdvNLi$<6Nx8EgswDUDzOdEuXPnb@#uBx)_+Q?^D`P|) z^UE-=Xx?n1%db7uJ0xA*X7YP#=M&jZc_MnA(}|v*Ymq)K`PYT?gTU8i=h7;d0RKHL z9Tmf2tF!C>E-D1b();6^k(0UsMDg*DhNHX4$By{VHUi&^Jglnn&nArRC^HVBN&eA( z^i=uU{v;cy*+NxE7OMz+hcWk8Pzy1C9B0r`Ysi*|Na(*+?Z4N|z|8?L|Eyy)& zH8-*CGI8MzG#XR1QW>&`0^2Wzk@>o7g~wVT{b65kIXvx*)MzXTd)&H*yJzh@(C6{u zimUh5D}mU~336kuKbOS$?I#)6DM?@l;T%FVkelAlI!jMf zk5C9VV|b*7VKmxLsVLm+1On4aa4G$%y}o>c0k(A>DAZo`%weojXZlpjKd0?QM|`&} zQa^^shf`j9TIS@_&QH09MmJxqjh0uWfvJ$F5aXA(aq|sN=e!E-X0kaE=Y#KUD_d$@ zA>3@*VSI1w1$510sely?x-Bx{^@yJzCpq$P2gt885$Oxidszd)$#E99{eP}rhndUh zvH}#?1=v~5uo!z6I(iFYiE5nBS|IgCIH@_Lc2xZK^LWhJ$V!V!!gJ5iYPZc0WnXSo zfDA`-2}9-A9UV8Uxq~LH?2=9umwj&ye*omh_|p_x+d2B~!8-M*)c_9)8QrHuuln|M zh?<=HbAO@U5G1 zH;O~D9sH|PNu3v)R?R=c=#8#RoaSK@EZ;Uy>^R^%t#&qIZvuf{UYWB+38^*La5LO?vhq}Tlzhy^=Rh#aJbWp;QEpP z*4a>{>)f*0FD9~uC@h-nXT+wYQyuqlP9(uX0G&z7<&g=(joL`Oo*A>#d7Im6=3bx=X`x-+*ZLESlWT z&KK;()hLVpQW_oK*{4?`%qv@OKt8_8p9T$E4`1|`XgPpRiIJ4P6}27ICxN6mtYJ?w z{S|B1y!;d3oY%{MN@?+;UeMRp%=s zAY*ZDWUW^b{!1aKmHao6^BZyZxMVAW`9q9DK$4g11F`Ac07^I}q?k_*$Ko!-drMW= z**^cwsDgdmhdebyrF+_ ziDz;E3)=o+IN`pg%+C15Yw)ER&+KIY!8aIDb;v)!1%>O`eKvcdgF2yB0JJr5o%L)9 zMeJV9>x2df;DD$4KGmTh>>cFHu!p=1c-TK{;r^H?H5!^x>sqk?N1d}a<%+<(=5*C< z50ebt*-b)?!8BrfdVOY@XTXE25E2JBmEpFDA1vcG@78?aa?YrIYx-8g*142*4w2hd zMCA%aoc~)&$lZsUSgni6wbRhdu(xwQT$;<8IrWE|dbxsbb~`+; zE(a0JgqvxA)m8V|Mx!mM9FewK`~eaYQvEOh+CPcc%KkMiT^R_`HdPWe@!JY|=3>$4Z(>NxC~$U_bW5cZNQC{PIW7N6KYrYFEo|s<7ahiw7WF51<|fMHLUvsi()CQPfa1osBU++c-!uV?K5BPsH48#-n)Y1kb zK=B&O3#(=ldZh3sVvd~}@0?sSeibwlefM+&#p=Ir8dCu`O>{9@rMKII^-hzTo`-DO zVcLOu`DLwtS&WBrrb71egC0BAg zx8`4SX5z|u^OoGb^x-`}m>yAvtFi7zuKa9Z5BG%d0bM_?AE@O5Q1^3Su2zo-H{oTL zjPF|pCqqyHf5y-LE6wuAYzMx*HrE{w9V*VIE5U;#CAq%2 zHb;7$>%DQG%DDm-B$n=bq30+CXttmd9^LSd{L;z<7$;ia(|Y)Nj*{V(q^6wZ?qCCX zk7|?=!;`$V&L*^1bFg9Cqx03eA)LS6h<3p;1EJmUy+EQ@6z$+3nsgdAncTc4TZf&p zDn-xh(F6~c%h8z=-5?quD=0A2Yxe5!Bs1YKIb}2}+LS{SU^2F39*J39@q0!R@?@4G z_TT5jglwhZd&|`qGbl^H%a1kV7&}_A&aLfR>YYIPn=6vm23;2;z)?G=*QsMXYC1>b zh_K0|ECcW!q}4RS>c=Pe5T|5FJ7C|DeGqg-@9UhMt~pT{4#(0lbLTELmya3zhx@?I zKcIQ`*NcooF?11kGEVyWzR0E$G+?oj1rtt0*e=y$TLH-dxr2M-3K_|FSiWx=4!XBF z5#h=IQGOu z4*IcNELh(r9y#mQeCuX!i#W>7e~LQvG5J|PG;?gP@pwhu(ZEky1s{lj1`5*rCkqgQ z2*tZGw_LGVe8XF8;2~CZ7#tRk}*Pphie-yUDJO=FvMer(Sfj){gi{+H!3IhU4l=GkSdRIgJ@^0ocVsbF!qjL*%d+ ziEUL(!()?5ZB`p7s&WXrmVcfTwQf3Z_LT?lzM&3qU*Eoat<3aDUczj6^tb1;F>=q@ zY0iuc!79U^0YiejBI9S~#rMgMu|ZbW&!=h1wNmoW+a!yK@t>kEvYMmF_nt@XK!~W z>aQ=4^XaNBfR-`s%UmV~aCAU6%x``pB^AUCP5QzZHY#7@o#dCh$ui+w}SWBdT zQBB~-QCh0rURaiVNQZk*DXgJvC2eUWQW;dcb5$*6)`kJFP|fsgz6d!&5V=epF8QrT zAtEHlT5{8K&R^y6Gf6~q&i`0Uh*!nYNY zg4HW1Yff>H0)uEbD;OZ9oT_ld{Cz1r6pB~&9<(mMKcdhwr1zbKq$Ye%=D#>Tr{afR7;KRax-F$@Up0S>W$^UKeP?>>QK!GaUcm*kAXqMmQeGj*qbmV|7!Lq`JYnq~9dP&AxUS-8VGm5Vrqt%azk2!BM>C#x*b@T^R*a`Qz?r%nx8&C_JVZm7s(&M*Q`$Y!_iQ4PP){806$Bzj#1z7 zdIO*|Mi(@h(*32G?J{hHWz3FE(~wQAFocNfK(JEbLOy^6pCB8NJ;h(boc&3o*E?nO z9*Njz!HAVHiM#NCi_)F8t#KdRkP0nWCXT!*UC5ETf*rI&3js7XvS`qNL~~q_lL$HH zFD1@*U9I9DNBo1j;?5RmNLFD&MutE?{1}pt1pFA64cyoz993@^CEJ;9rypth^}#|!XwtqO(H_#4jbzW zu-bc>Oc!==_2sw0afr85$(gJ&haiik)ww^%o0rWC^XOMOI*y|(l+1Mj><)L@ISy{l zSI*q37=Fb8#{LLR>@65}hob7DDigWq_XCW9d#JdW7TONfUQsA%x)G^Qe!px6Fq>6t z%$8eY<)Pq_$?2$pDf#-;B15~WfxopC)0{{{UVn( zFm~(^Ir~=p&`vnR&-%3cr*MP<5T3NB8_VU;P%!eZNxM5)H>thZL$sb%%F=Z;g5U7S zltb%|O%^hQo4F7^t2;ngs0sOb*`ttP(|S#CNd~}vg#(1l@>-2^_Ti<^;sdOB;!UMWIbvf)Q~3E zM^%lsp^aOD?pJgo;wV(!e?P)VSIC2p9birM<$Br4tKIOi?NRRN zw*iFH=m@HK=D>Y{FWXJ_^wjb0UT>fZ1bzPnsK-extU&(YTMJ1fX>U1Dcz7GvpkL{8 zt6{O55h`v*P!w?3W9BRGFRd=h9_%nsEsKJt4=T)I(_*CP8wNFMoOoDgy>5*#qSoyC zLPi+?>b5Z*V>)}>z22xYOCMJHc=w%`&c8iufXXWC#^cd+|9DsL<()uoBQ{P_F2BA^ zdz)_i7Z?B_Udi`8KXI40LkKl%Ad=azCKp@e0J<*!A0Ytz$M$(M6MG%}wHSiga|HSd zTZc^_4FM>KmLe6`NqQI&K8{O^etmU>U2apy9D6=q^gFk~>8UC7HV72}3t&K@8bj&* znfg&(Cy1)?luacc8sZ{$IC9f4F4eT(qt}^&pnK#{OQw}cX4B9BO%Bu`G&p(T7YNVi zJC3q&OnLVH+|VdTBf#osQJA6FO!)x+JjNx=^J2Zae%Jt7HzfutHeTT#^Y@()!AVnQ zjc7nw_RP2NMoTBGzq!9(c4Bbe6R zxZ(CR;rh5?T2J0A3W17(bS#`P)1s-vddD{xeqJT{4)67<#~bZfuz0YfM8{k6r#B0$%rgAv@?@ULqeA_>=dkA7!ZD;G&U;y<u2}x+J%eZc;R*H)u7u$rivthm2=-Q2gC=V zzChvUB+|41`!*Cu`2a!s-*y=jq!9%&s^?JbjpsDi9$n5I`wj5mDJxFjXs-GKzf%5a z%q+_$s!&aS{vnFlw|aN@Zv2AiMN7m%TZHNC_SYejo{IiWDi^m39A@mZ#7w!fG+ud9O;?4{eoRBn8Q z#X1~e!@*yB(u0~s(>^SKt(20K9p$hmyYO_6PdY7!%UIs><7HVbupkr2tL6NLYjvKk z>v8^IL1Q#JVohlbEbmAF)zi!H-&aOTUdkKlKPHjTT6veww&wV@hfz{lG_~O zLnGVU)uXgxmbeLMuMzjyTOzf9FaR|8lV|oZMWy}9k0nYDZg+Z6C+SGUnu+{tG2kng z&V_l2lrJ6b{2xr41(5(WIm0d=I?e$~84OHwdEbFoitK=}qvBacYW~yX=JPcsz#pMF zlC)T-xjgMkW8>y2_iQo?zU4oo!?kO`{+|ZorFr>Bb{Z=w3L@Ul3<`9WeS2clNP%o(*=0IP?G2A;V647VdkiCr{I|@sIhkH*yh>} zi&?8fW;*Z0?f{`pKBv9p8kFCdGvzjealz7nw;z_#Y>Rua+CZSJCJM;Jp&PArZa+zv zKGYdxY+OWvM8dgEp7_%uI|7u5F7n~*pbKA3JOp>fDP;~W;{`laxT;$ke^q_g7#{|_y*&;J)i>l z2u^==PiInQNil!`=J9UCrU(u_1^g`@fm39m!|j`~gBnz}m1R6rgBUL7?0YAAy(**& zC!wEeDk^6f+-{@aB1=kLlo;s%*m2>hKSck` zn!3RyHND~ZgOyYuxhkLOVS8l!d%YDqRDi$TOxk?;c4}pX$MvKOQ?t_`1->|xu|{#K zwjagdh}4%bTnUlOXXq2BPrBBMQC4VFHZ_Gb7P~ag&n(4IZ+bJ}te}sgLj&^b- z@A^P4G?yqYzl)I4tJUPH)qDrFQMRGfYHn7^XVO2|-K|whFneY)@~Ti$_XR!ZDf5)s zu*^(SYpRRgO?`VoxQ>HnLTVKHuSmjp;fawG6dTANJ(wkn1Lzu>5KvK%QJo|+F*h-t zmhlyzOt@j(#c>6GT&D#9d?q{8JGBZKkTdA7(-U~ohnHPzXidkr1z&YE%#J>VtqNCq ze(ke1UKkI3(W+;Vd7Hcr%YT&)+yfo$g!apvJeaa=kIcVXL5qc_P%v#U+v0RO_LY5` zHREFRrmaVKPr?9+g%l)-7B+ZR6~w|)s_d*lj(Dt)LaO@6%H(UyY=1e)Mn}>`_<%=L zFt76=xIoyJpFlqR;Pwp(ztYQ9X;Isqg+Au0@efsHYaAGvj=2EV6sX8|DO)kJ|#> zlHaC55Q9BK;WC%F5fxZa5rTMihmh*}CXaXUm3~)+k$^z6XR>G!6~#&$g@W^>P`hJx zlhq*1=%~I&R|Q*SPSgAh;VOg?kJ=W4qZ!o1dzpTUzvj}Gp(4+$(=HeZ&&+{ik6)!tjKCBps=i&MmD23S4Wvm?m8-Ni`k(Z8$113<0#P@P@! zSh7wxQI8S&LGdDSk6Br1@OME)5Xy(kh%|P)<8Kab&@%)8OM4yfx{5rpru;U zE6!}(;2DK-_MlTds&bEK!4aEmDHdyAqI$^z=2l^BW~LLv5UwGAm9{T51*J801c0pk z61mS@E-nzV0}^U3k8x^BMFrL6*qXFF@)-yXxcoy%OZeKoqnzI-zo#rIopE)_t+B=} z$o0jKmew)@+3}^4;PZ2tQqe~}*^SI%?5Baq+lp4(>bH}M?tuHgBr035y$#474dg@W zXn$vGV~1snb81>vD(^3$ii3xL$m*&p_cL=sV|$;%AI>#0C6S}Qxw-+J^gThioaE&p zJBE8Zbgvwt6f)5&eX?+8A6M@#oQoR;CMpl@;M~|u-`HG4*XV5v1uZ_-=R=J4FBWBX z`t?_m{F@wSTc57_aw$S--yG{8S8T)JJ>S$|^|G}*FJC6cP>Q&0vb^oDY$3m!4I184 zq`?cz0nW%vCSeN5WG6JBd$*Kt0E@=={H@{6NYur}?dNfc-z4wFU~=uj*Oj9cw}KGZ zI#T|0OxBcVIYN8_+{47nu3cilIyeJg+90PbG|8XFNyMusl@)5v$4^`JFqW-d%&dA(6v6!t8=!X< z4I#4wspxIfA44FxMd!f4Kq?E$j|@@fxRLZ24bF%}hmDb21Sh}c&vqB&f%7+BGy8lu%j4(V4SHh%6z{!*Sl_9SUp(bZtU%jy&^X>)*=*W7%0j^F z3Z9z18|YF)uE!99b7SiJ+r~1buS76Hu$v`4UuU$JOG+AU22qK3?^160e860o6^0snn zU03P#Nk{j*-0fC1PP+&7W0HkS850Qb^?RqQ-=(B8pBC{sOKO|#FQnlrb^TCf6a#_4 zTKBm$pfo!6^093Phkf--(Z<)-V*vKD*`+57I@g=_#H!IGC9Y-K{l!$NntprqkyQ!{ z3WCf2QgFeTuQ3>6xIlk@&xyfd(iz_lH8fSRhlQ~Fxg{3q3NPk%R9rNoA3bN@JSoCP zzi8EwHoo1YVrB z-h1`qNOw=`Yj?DY@aJyaatW-w(eOL*Xu40SaTK{TFW%P#g}-DLd(b>)?++eOOe+`g zT-U&J;376$OdLCS;7>;2phu-WJ_n5~&pLQv#Y_*+Xyen(zvG8&Gu>av@i7kQQj55s zGD-FzRo#R0_kI2S>n+m^{Zb_SmH9o}?@##N%(KT>DXOWA><|X>Cm4=TNFVL)&kqru zT3=US_u-^HZjy&GES5Oehf10y$Gh2#Zv&7rjIkc@a_KifL>YT+xMPk#(r%O z1~u!>5PI3F1?7@F`9|KUI@2sz$YEbk+MUecKjOE#>g*H>u~^n~%B|8oTGdO1rGMqF zH8G5mN_kpy0`A>pe7b3WJ9F@)0Is^KdBAar{aTN{YED0}+6s3Lb=i-&?nTv^^g7s0 zjt&`U&3{9I8ps=%rr}?L4i|_0OEO8#_T5{Dd-v2Dlx6n`JFN6tv?h@OSQ9%t9`8KkwpsmV!!|wS z_nOtGQgzNb*h9Ni9yZ$U@_mVO0v3|yK0VmoWX?GhUw_p%f;b~#YQl>O$bv^fWa>)V zX)Ws8#cq4!g{kG%->i`dJD1{jf;iuT;~sxRmf>%A5K~h(zR!fQ;y!jdhVBo%f#4Lc zMSo=!EuiN~Z9FSXmWisWRm6`Y5)b8?9sh(YAOy#Np$hEYDQz+Jzcp$CRn>a8I++{Pzg?QIqgb%!rQ}Y$LU(k>Y3uldWx_<)BBkf}^-mE@_E{PS`u+D~p1Nztlu}NP z8Nc@TU#trm>Ku;_;8?Vwx+b>|D}oRsXTem7d5`cH8vdj(3)`}%-4A*nA14?*hR!50 z8WzOaf}*i~DVYpAX)JQFdL9>3V!MfapkV+B$8KP7sTT6~|@9$Cmp>FY7O= zj&=j7wOTDhZl`_Z9R%p!i&VN9z<_tmR!Rd~H}p;ko3`h4P~HRLq$*5DONZDN*M-3B z70N}&bV?cQUzCXf)|pS9_U|iO-#;|7B7#<`C!mKA`}VXgtO_C8{7CiG*gu zPWqyw2o4Y^O2@^W>u|@(S%UPO2hOAkI?eCgPmJW@Da%^0QboB<2Vdh68f82ZFF>{y z;;iMLUg}JYGOE`VwBG|D5MKN9=@qvd)u*6Wwuzh!smoNz+hb41&+j+Rn6X_Zyg+D) zFA$bvYZ2I4L#sMjs5u<@cG4cIdGq+tjgbJ!0lvoIGn$$64ZO>U#eMSDJp8j)8bjKC zHh9}24kTi87Vf>#-9OgF zNult^wUjrgxi;GjAw)y-w&o9~#pXhjFL;_BF1dU1KHr`Ip*Mrq+E=+DgpDmnr#i{K z&m9r^>1thRR|1`?QP6`?7Eu+O`xfJ!^hXnhrVLL_YsB02t6hlfc8p7L?xdU0*w zVn!u(zicLf`ri{F}X0Y$lT${ zkXP;>HJ;$Mju0&3K51VCaor`;xz&3qrfrzZH~|1m%7arRB2LCuP=L*+_e-LcPKTpM zv#g`C#IhWL>}3ULChJ^zqX6c#$AW(M zXtSZk=N%W2gK(wHkE6l`0cr5o0*VGPJ4xqM=sbAoCfA!hYkPAxS-aeY z_}tUN@(Y45-a(LSW`aWlt)5m;lTCR;l;}L$a)nu`6IS8$|P5ZF~tdC5eyH)%&ugfa5c(QN|&3DFZq(Lem?v1o!0r0xJB z-owJZ3qk=(et<8uK5w4}toeCI?R=!z>rZ|pS29SYW|QkT+i66L8M2jsJ%{U^@&5$S zL2jYTV4Mg<#k&mWxGqI6As`NLJ<2N#+X3!{0svHl;YNePGjs}Z8N-ONQMg1>zfn`j z0?L&?N-nY?1snF+?7I-d{q2{vFW_^SJ;!WLZxTQN2-LZm{FtHL{MyU$5g=>xjODV6 z@c`+Kr`izTD1=dNa4<{@&3K9yc3~!7e~R`iaAwwQN~_>@FY9T$`Od{>5U_AEXeCC8 zqyGfqv*&t6sQPUSTfQ)CDzSt0d6ElRJcOd?Ni&AmJu4=H@Ik)v36)a8S6I;&_07OH z$8XxY8M2pDOZnmI_~-l$m={mrz}h?SC{6$X*Fsc~Pr>5TF}Gc_BS_(pnH2jkbj2qe z;k^ClOLWb7&sBQsFbCSLwAXF(ptx118(#zfAjI|joEssc{Z=P9G5ZTPTwzA^-A}V| zL$|UZ2h23f>05R!P5OR18kvs=yMVY7$?#@Z^l#}JGbU240eI;&8tJsTQ5v}XmrYs3X~b<`KLvHeI{ImIY6EwZ~j zdx&r{##YGqKF@=VJ>IUcNSD{;aJ>Eg`qT+)r4<~T;;5=VvUxLek}Xnc9$$ZyUB0(_ zA&QaU?<`;lvtxtkN)I?ZF6GQc&y9@3ymQY{9$fi^Z5PKuU)0hm1eA;*czL&aTyytH zsRUpeN#K~ev&E}p4w#6NNlYmt3N5t<)Egld(xIUEtWt#;s?JXA5~)9%({?Iutk+PH zy7z3~%gSiL10E~p9bu&N;lyZ8PQGx`>7 z65y~6T^gI~e)`dZncWSUkoK5gU??z&h>gc%@6RCsZ4eLfmT1*WR(MH+$5*PwvD%9+)lN}< zB`VCrB<14M)7H4dp%`x?8dvQ63v3bN-5UG<8Mb(|tHSzDNwU!{an#m?0*Bu3DiXe3 zVc-8m7k#0@QqP;Unbkvx%Di^L+I;*M1H*BSTT+(Z=yPa;J3nA>& z-1ocNjk>_Zb>?ex@R2wZFO2O*LEBnQ);J!ieN?VRVoy>*TLwwACuRa?6`AyAOYuo| zUkeM^wK*RjRyIz#%Eg_{uLKXyr9E<=OT1pJ2gYk359jX4IiUcn_j@N}R^|`n+NGl_ zZx;)V&rjfT&f1n(Y*wbU)R(@-%nNEP39UNkcSQO{tuoWNKTN|~ul%~2*w(=#1{?)n zPkgnk0LW8!6g2y;&O&}U5r)iTi2wj`ep~TUH$_?(_Lr_HJdR_t(XXND?yGy@&DRCA zM!^1ceNK1>CFMp}X;sE4ZKg~4u%?RjjMec7Ei|Kn9sTrqX9~b_4bO}12IfqB@Fr`# zB21rDL`a^c!jb=)zs^$>ePl}s;#_=)ch%&p;w465;e%oZhk_CIau|F&q1l%XIE*$=kD!XXp&Oj+5rdFh5i|M^iEX7=>Sc%Z`W zms1;_(fNjl!^qYNbo|FKC&;PU=U0=o%jImk*Ow6(*`Iz{cMt2bKHyG|x}Db8l1sP) z=_>#rteF9Yi*@KhxZf$YbInGBpxx0k1ViAV?y-D7xx=%I7=`<3JwaJpV-q>|b6dT` zj+;8m>xncPw*KgcjJsL;$`<*J=Z%O=TW3n?RbY2@YgqSz!2cYW0O*)K*mE2$!|3m_ zK1~&8)E72*RK3-R3zB6v16O}_;0oeTLGX)02!6qhoxn!mj?d8V@9&s*gwnu|r9HY} z0|`E^d34madTV{!>fg$L`|GlJqz&_jxGXRg2>#)+2z_V?EvUULHXLUhhc}hf^qb*3 zv&i}8=eXWgT>TAolLM9Eyr?Z?)OY|Ja%DLUv)}?fm)mAb@j3<{YSY6Zjdhh>Mqp}g z#9KI!iDR^uDazC`OR7;H&`bQ`Dv2@?{p!3Z@As&w2*BAXShpD!Eve?EMaZv}*M{9i zD}eqhqeqanaH~08;1F%7XF+jdzZM5jAEM77$80gjdDqp+vWc|@I5s|^$(<8DfrI0b zqq4T45F)t&xf~y8ZJ;eK9WlM^Lp}GB{$WKvZ`TS19REG5|4az8#NI!#j1al2SO-08 zh&7?|2^IdJk|e!Mk))UQJ3wrGR;Mj+hP#%3_LtEoCAp$w=l;cNMAEh|g~-gGFXXL~8BB_P*hn4kn?( zH7)8AnbK95RInx)s<1~(Wq{KM>@{0V$M4~JDs*V!0QeMbKU~@vV2cwlygFsO?LBvf ztR`T2*x9FiKDwUsm`)U@;d1jQaT?62mkOYE6O%8kAU7fnL%S<@^2Ib*hdn;i<~y0* z=~_x;XQJ(n_vHv`-;c{{G>te~uGRe~|drlUu< z!xtyv^{PML8~(TX2(aPBzR+Yp^_DH15P2#=zQmcFW&257K=C)K!^>dBAvlt&+QwGV zMyq=%Os-(VQlKt00_~C!!V``?V8Bt7xn1XyNo?)sYFn-^n7$5rn8zr4oJU#|ob%#! zVncX`!@+!8N?u9Fs~dkPAM4lefWuZb1I;c)wV!d&JMEv{-@Ox5G;+jJj>TTkl==z2 zaOfyIy!`tSi~YUXK7zqx>l!8+&m_nO3Tmf;M9BJT?&AS;-(goPrB5v+POBxN#y*&&k{gwdJ1p!mVwU++TW(p=6s(BDkJ zLqUjjB$J|=*U-{5_y5jW+?%V@#VI$&e@<2Nt!udcWMY~2VBQP%$0Neu!|r@`fx8BC zKcwpnaz4wFXHwlrcsg%A*R4uNIH{o^@L(Ni4~Kq8+^e%mxLv(~557rEG;;i%ol`c& zNvQzuf;&S|Pr*V^Ojvt=6&Iu*T8fC!RN9R%x+jP5 z@I(@)>+-61i!YHu{E%o(sT&$czt+_UPq0fSQcf)tpeVk8Qg&=|XDxzm(k#yPZ#qaR z^JFP@`0x!#tz6Eg%?}@d-bL)Xl=CG2tl5YE-kU9epGW_pj(#`U$CLM$QEDEBJOa9X zNI}5-xdE|?IR(=Z93Wn9$jJ^{j;9VQHl^%rVdmWvNY{+{n)*=8b|}#=@!Q-7BGDF%>;$qJhi$d_~5RiJ;2+p zoF1PUjeyrv3X|QA4gTa1G09!mGa8q%qMZwlN^VOuRe06*wAIA+c*CxD$!Whi$Q#x_ z(3OX^n6yTk}w>W3F)@lL>3jHR;MsZOh+Nm`)X`B1NFS`7@E;u>fsMRYhdN@HzR9w2a zHyrYsoN}Ueo3*IekGJC`OXV2?qsf^BFV!mzxlRAnW3M1NCd>@uHro>8^^?f46!%-u zj6f<);f(Zv+Me z%s0p7yWHyAaY_e22d2h!k2uz$`QPif*IraUk@Bqwz)5J35D_|5Ps=~@lHyoxbT|n4gAVi2~!XgAIQltsEfI#T51Q8^W zVu4Tvjf5I0A(S9Uk(SUAX;K1gluqc84Lh?pcQ?0p&fLEL!8`Mtd4Ds{XTHxN<}OXO zpZ#!GP|9^wMy|(19e+8jD5Cok@jBT0#{@C=D0LC#k1?BXrB2Dq6>dDr)V!NwFfgD| zASwvpY1e;HqdWFWJTQR&?+_IV|0XKb|GTK5J^d$9(I)l1qN0XXzxaMp;pzPSqC)W3 z{~;<6+Lk)`rr34%2t&ESe4)W1TSRwm{~IJL5?kG|RdMdFp5)_)mSo;H<=|7tAF;lI zQ^y!qXSKTduXfyeHWkaq!t|~A&cMXY7-_g?f;1%i3%~vvFmvLSMWoItps%{Sc}o`S zO>}0!7U`egEYbS`@uF#$Nnlu@Yr3$2J!UU~|FTDEw62-7S`ObCh1g52@7>$XNjwG| zKGI0bnWl`dy<@fgPeI3p8!~314%s|1kXadA52I1u1-ZQwQRhm;aUoaOj`|1*W=c7k zDEWEe4dWc&SDD$EmZ}p};*LUs|yY~3EWIuX`_lK)yx0+E~!6@Up z{rm)9K@p$aR5V)Qj;r~-*oVZDhsha?K1DnCWvog|**aoUNzOHwu2AWZ3T#g01(6PC zj3RGKY{C7}iyF2jh56uu2H%%hql{Y0-U~UI#^HjxvT6%?4~vep5eR*2d@{tNElv79 z!PoB+Q;=I;1K2OkryK5m|ZVf#_}3A<95=SKm6- z^h4k;ZwondHqvC>bgl>8z8_)IIrWI38~U?xc%OH={34f8`n(H6^;hxeJk+gMVGURJ zuCbZ>3O5-W*{R5Wm^gQDHLCnYaeJ>nAmSPRy4CUwO}T+>Ja^W_xU`_CkOMHX;NY%k zy~oO62nJULZgFDlo`OuC+Fj68ZYkTm&)V&=!kWETRUu&?8TI~_%Vmfhl~}#d@YfDs zPilXvS!~y%y<0p#|MwCK%nx8DXpJZNq?|Z-WwtgldiCfH#?bzDxNckoNrhgL4L;ME>MLi(+! z?4ktNaC9S3LwgJoed7*k^5&6%>Dy>qW9K%B&XC$X^L-BM+>3!6Vrp5Rt9YVmCbRv}(b4Ddt%B>nQEHK6FSi>O?>l9S;t^Y&l=FiU>^3)$Cr z{1^yAfc>tNUs1}QTIB9$j^fy;w_xT5EN%rYodN%kU}B4Rh(D_!+;gzq%2*vW;_-8~FbU%=L`mN6{!31;CW2c_QEP^~;HpQ(8ci#&h(rJQ3%Fk_v_RQsnXTamd zLPJidX4o7DNJJN4?x``~;YBfIhllE5ZZcE8;Axw|D)WlAZ#(AL1f^7p8T?WC=ShwvF`k?Q^RfC_8k;Q%#*1*Vi|vb+Hvqzo#&^+t=VB zBFSMsFiEA#*i!UPQ`9dm1|stFu8V#Yv`Em$^3x3iemXtae-=*U5Uz7HwFsYeUCM3)gW>7i+eo zFOR^Pf&Oic10H6jwNrs!gx&xp#hjczZ)K{|Rzp-6e&@p=l)o^OfvX=$T&NHxtEP;& zg)S@sG`UPK7-(rHl2sUq&-J={EK5VfEw}+-hiy={hcJF`hJPs2lDL>aax(A=ODLYh zVShXrhPh71QnEl)T)Y{=m-Fc+5P}1-1{QL=`&?a$a@F7LE9V+huR1=XOe_lva7Lc; zSkwNiaK%*oHVm$Mnqqg+GuU$Qujk55=_W}vm_cb>Ap6qMC;!DAUDUtjY2TGMU{T-`{}M zC!h4vEF!au|ERK*w>3&xBQ680n>Bn5wkJ0t1ct_&FDrU)n(W^{8&ZKZIjpoZNol(! zEi@Ehbb|L^$;8k}XVv3iFv5)nN_gNkiOyv8td#F?N*ot(yq!(*H+vL{JMoeSGv>JUCL zCiWRro9VbLVplOZ_r$`hD)`f!S5J7y1KA_~^`?bh3+9k)>H_0)6$dd5N(%UBI0cFq zed4lcu0481X*SNrW}Aycd_^GgWu;MY|dM?uf5qo`3tafUjBZTdZfg(1StJE64jF=W_$ zNdoZ*E6V_wHsziOxl<@&>U7I`xQ96*=IJ!5m5QPjJN{Mj;?m!jyg0BF2j{WU0j2o! tI7i>%r2Ru~$o-#m#DM?+ literal 0 HcmV?d00001 -- Gitee