From 8b606eae94702e06207a5e253e061c98704b732b Mon Sep 17 00:00:00 2001 From: project-bo4 Date: Mon, 6 Mar 2023 12:40:07 -0800 Subject: [PATCH] Initial upload commit --- .gitattributes | 2 - .gitignore | 4 + .gitmodules | 24 + README.md | 21 + assets/readme_header.jpg | Bin 0 -> 73332 bytes deps/asmjit | 1 + deps/libtomcrypt | 1 + deps/libtommath | 1 + deps/minhook | 1 + deps/premake/asmjit.lua | 36 + deps/premake/libtomcrypt.lua | 61 ++ deps/premake/libtommath.lua | 52 ++ deps/premake/minhook.lua | 31 + deps/premake/minizip.lua | 43 ++ deps/premake/rapidjson.lua | 20 + deps/premake/stb.lua | 19 + deps/premake/winreg.lua | 19 + deps/premake/zlib.lua | 39 ++ deps/rapidjson | 1 + deps/stb | 1 + deps/winreg | 1 + deps/zlib | 1 + generate.bat | 5 + premake5.lua | 135 ++++ source/proxy-dll/component/debugging.cpp | 159 +++++ source/proxy-dll/component/debugging.hpp | 6 + source/proxy-dll/component/demonware.cpp | 119 ++++ source/proxy-dll/component/exception.cpp | 216 ++++++ source/proxy-dll/component/integrity.cpp | 348 ++++++++++ source/proxy-dll/component/logger.cpp | 78 +++ source/proxy-dll/component/logger.hpp | 15 + source/proxy-dll/component/platform.cpp | 66 ++ source/proxy-dll/component/platform.hpp | 6 + source/proxy-dll/component/scheduler.cpp | 184 +++++ source/proxy-dll/component/scheduler.hpp | 33 + source/proxy-dll/component/splash.cpp | 227 +++++++ source/proxy-dll/component/splash.hpp | 7 + source/proxy-dll/definitions/discovery.cpp | 168 +++++ source/proxy-dll/definitions/discovery.hpp | 22 + source/proxy-dll/definitions/t8_engine.cpp | 51 ++ source/proxy-dll/definitions/t8_engine.hpp | 115 ++++ source/proxy-dll/ida_defs.h | 380 +++++++++++ .../proxy-dll/loader/component_interface.hpp | 29 + source/proxy-dll/loader/component_loader.cpp | 137 ++++ source/proxy-dll/loader/component_loader.hpp | 58 ++ source/proxy-dll/main.cpp | 233 +++++++ source/proxy-dll/resource.hpp | 17 + source/proxy-dll/resource.rc | 79 +++ source/proxy-dll/resources/icon.ico | Bin 0 -> 118679 bytes source/proxy-dll/resources/splash.jpg | Bin 0 -> 133291 bytes source/proxy-dll/std_include.cpp | 43 ++ source/proxy-dll/std_include.hpp | 106 +++ source/shared-code/exception/minidump.cpp | 85 +++ source/shared-code/exception/minidump.hpp | 8 + source/shared-code/utils/binary_resource.cpp | 75 ++ source/shared-code/utils/binary_resource.hpp | 20 + source/shared-code/utils/com.cpp | 134 ++++ source/shared-code/utils/com.hpp | 11 + source/shared-code/utils/compression.cpp | 399 +++++++++++ source/shared-code/utils/compression.hpp | 30 + source/shared-code/utils/concurrency.hpp | 46 ++ source/shared-code/utils/cryptography.cpp | 640 ++++++++++++++++++ source/shared-code/utils/cryptography.hpp | 118 ++++ source/shared-code/utils/finally.hpp | 54 ++ source/shared-code/utils/flags.cpp | 53 ++ source/shared-code/utils/flags.hpp | 8 + .../shared-code/utils/hardware_breakpoint.cpp | 139 ++++ .../shared-code/utils/hardware_breakpoint.hpp | 23 + source/shared-code/utils/hook.cpp | 619 +++++++++++++++++ source/shared-code/utils/hook.hpp | 216 ++++++ source/shared-code/utils/http.cpp | 48 ++ source/shared-code/utils/http.hpp | 11 + source/shared-code/utils/image.cpp | 56 ++ source/shared-code/utils/image.hpp | 89 +++ source/shared-code/utils/info_string.cpp | 65 ++ source/shared-code/utils/info_string.hpp | 24 + source/shared-code/utils/io.cpp | 130 ++++ source/shared-code/utils/io.hpp | 21 + source/shared-code/utils/memory.cpp | 173 +++++ source/shared-code/utils/memory.hpp | 77 +++ source/shared-code/utils/nt.cpp | 278 ++++++++ source/shared-code/utils/nt.hpp | 176 +++++ source/shared-code/utils/progress_ui.cpp | 45 ++ source/shared-code/utils/progress_ui.hpp | 24 + source/shared-code/utils/signature.cpp | 223 ++++++ source/shared-code/utils/signature.hpp | 49 ++ source/shared-code/utils/smbios.cpp | 94 +++ source/shared-code/utils/smbios.hpp | 8 + source/shared-code/utils/string.cpp | 179 +++++ source/shared-code/utils/string.hpp | 100 +++ source/shared-code/utils/thread.cpp | 117 ++++ source/shared-code/utils/thread.hpp | 47 ++ tools/premake5.exe | Bin 0 -> 1398272 bytes 93 files changed, 8131 insertions(+), 2 deletions(-) delete mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 README.md create mode 100644 assets/readme_header.jpg create mode 160000 deps/asmjit create mode 160000 deps/libtomcrypt create mode 160000 deps/libtommath create mode 160000 deps/minhook create mode 100644 deps/premake/asmjit.lua create mode 100644 deps/premake/libtomcrypt.lua create mode 100644 deps/premake/libtommath.lua create mode 100644 deps/premake/minhook.lua create mode 100644 deps/premake/minizip.lua create mode 100644 deps/premake/rapidjson.lua create mode 100644 deps/premake/stb.lua create mode 100644 deps/premake/winreg.lua create mode 100644 deps/premake/zlib.lua create mode 160000 deps/rapidjson create mode 160000 deps/stb create mode 160000 deps/winreg create mode 160000 deps/zlib create mode 100644 generate.bat create mode 100644 premake5.lua create mode 100644 source/proxy-dll/component/debugging.cpp create mode 100644 source/proxy-dll/component/debugging.hpp create mode 100644 source/proxy-dll/component/demonware.cpp create mode 100644 source/proxy-dll/component/exception.cpp create mode 100644 source/proxy-dll/component/integrity.cpp create mode 100644 source/proxy-dll/component/logger.cpp create mode 100644 source/proxy-dll/component/logger.hpp create mode 100644 source/proxy-dll/component/platform.cpp create mode 100644 source/proxy-dll/component/platform.hpp create mode 100644 source/proxy-dll/component/scheduler.cpp create mode 100644 source/proxy-dll/component/scheduler.hpp create mode 100644 source/proxy-dll/component/splash.cpp create mode 100644 source/proxy-dll/component/splash.hpp create mode 100644 source/proxy-dll/definitions/discovery.cpp create mode 100644 source/proxy-dll/definitions/discovery.hpp create mode 100644 source/proxy-dll/definitions/t8_engine.cpp create mode 100644 source/proxy-dll/definitions/t8_engine.hpp create mode 100644 source/proxy-dll/ida_defs.h create mode 100644 source/proxy-dll/loader/component_interface.hpp create mode 100644 source/proxy-dll/loader/component_loader.cpp create mode 100644 source/proxy-dll/loader/component_loader.hpp create mode 100644 source/proxy-dll/main.cpp create mode 100644 source/proxy-dll/resource.hpp create mode 100644 source/proxy-dll/resource.rc create mode 100644 source/proxy-dll/resources/icon.ico create mode 100644 source/proxy-dll/resources/splash.jpg create mode 100644 source/proxy-dll/std_include.cpp create mode 100644 source/proxy-dll/std_include.hpp create mode 100644 source/shared-code/exception/minidump.cpp create mode 100644 source/shared-code/exception/minidump.hpp create mode 100644 source/shared-code/utils/binary_resource.cpp create mode 100644 source/shared-code/utils/binary_resource.hpp create mode 100644 source/shared-code/utils/com.cpp create mode 100644 source/shared-code/utils/com.hpp create mode 100644 source/shared-code/utils/compression.cpp create mode 100644 source/shared-code/utils/compression.hpp create mode 100644 source/shared-code/utils/concurrency.hpp create mode 100644 source/shared-code/utils/cryptography.cpp create mode 100644 source/shared-code/utils/cryptography.hpp create mode 100644 source/shared-code/utils/finally.hpp create mode 100644 source/shared-code/utils/flags.cpp create mode 100644 source/shared-code/utils/flags.hpp create mode 100644 source/shared-code/utils/hardware_breakpoint.cpp create mode 100644 source/shared-code/utils/hardware_breakpoint.hpp create mode 100644 source/shared-code/utils/hook.cpp create mode 100644 source/shared-code/utils/hook.hpp create mode 100644 source/shared-code/utils/http.cpp create mode 100644 source/shared-code/utils/http.hpp create mode 100644 source/shared-code/utils/image.cpp create mode 100644 source/shared-code/utils/image.hpp create mode 100644 source/shared-code/utils/info_string.cpp create mode 100644 source/shared-code/utils/info_string.hpp create mode 100644 source/shared-code/utils/io.cpp create mode 100644 source/shared-code/utils/io.hpp create mode 100644 source/shared-code/utils/memory.cpp create mode 100644 source/shared-code/utils/memory.hpp create mode 100644 source/shared-code/utils/nt.cpp create mode 100644 source/shared-code/utils/nt.hpp create mode 100644 source/shared-code/utils/progress_ui.cpp create mode 100644 source/shared-code/utils/progress_ui.hpp create mode 100644 source/shared-code/utils/signature.cpp create mode 100644 source/shared-code/utils/signature.hpp create mode 100644 source/shared-code/utils/smbios.cpp create mode 100644 source/shared-code/utils/smbios.hpp create mode 100644 source/shared-code/utils/string.cpp create mode 100644 source/shared-code/utils/string.hpp create mode 100644 source/shared-code/utils/thread.cpp create mode 100644 source/shared-code/utils/thread.hpp create mode 100644 tools/premake5.exe diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index dfe0770..0000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0080c32 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.vs +.vscode +build/ +usergenerate.bat \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..6490abe --- /dev/null +++ b/.gitmodules @@ -0,0 +1,24 @@ +[submodule "deps/minhook"] + path = deps/minhook + url = https://github.com/TsudaKageyu/minhook.git +[submodule "deps/asmjit"] + path = deps/asmjit + url = https://github.com/asmjit/asmjit.git +[submodule "deps/zlib"] + path = deps/zlib + url = https://github.com/madler/zlib.git +[submodule "deps/libtomcrypt"] + path = deps/libtomcrypt + url = https://github.com/libtom/libtomcrypt.git +[submodule "deps/libtommath"] + path = deps/libtommath + url = https://github.com/libtom/libtommath.git +[submodule "deps/rapidjson"] + path = deps/rapidjson + url = https://github.com/Tencent/rapidjson.git +[submodule "deps/stb"] + path = deps/stb + url = https://github.com/nothings/stb.git +[submodule "deps/winreg"] + path = deps/winreg + url = https://github.com/GiovanniDicanio/WinReg.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..dc77347 --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +"**They tried to bury us, they didn't know we were seeds**" + +![code](https://raw.githubusercontent.com/project-bo4/shield-development/master/assets/readme_header.jpg) + +## SHIELD +A very experimental modification platform for Call of Duty®: Black Ops 4 run by community, aiming at improving both functionality and performance of original game. + +This repository is designated as development period repo. final product will be set in a separate repo and is not guaranteed to carry over everything featured here. + +## LIMITATIONS +This repo only contains client-side detours and is not included with server code. As of right now, server code is planned to be private to let us maintain slight control over it and prevent and ban violatars those who cant even obey basic rules and tend to ruin experience of other users and take fun away from them. + + + + +## NOTES +- To compile: clone repository using gitbash/powershell terminal; start generate.bat and it will grab all of required sub-modules and make visual studio solution which can be used to compile the client. + +- There are some 3rd-party project/tools that have been used; If you belive there is something originated from you and want to be credited please contact any of our social media accounts. + +- This Project is created purely for educational purposes. its free and open-sourced under gnu license. developers are not responsible or liable for misuse of this product. diff --git a/assets/readme_header.jpg b/assets/readme_header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66999cead55d6745eea95133972e442c69b42a60 GIT binary patch literal 73332 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�`;v~%#gcy5>tZ1=l8!UXMsW>k^*mBye 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

EC7o!rexp7smtEshKo|UZ_TTNB- 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%0Am%HS-SC zV)E6Nxo+!9?Cv(P!g(-)x&=tn)?JUG(pb*f9oS1*cFU9f0n9z6SXv|8E`Di}WE|f| z;|M`5$n$1`KDs9$o(zJ}yfv%5K1l5(60-STYu?( zS+95%gYVIvdcn{`*OiC->H2&fBh7^lP4)PIgLVm4{u)q`em?Ow0{w01ZW;@My72?z zx(8!?S{kvphB{6ibXlW;wO^kl1T1NR3ou2l7P`M=H625(W=T)GVM!)CgfRkduSej> zTsds3$PgMp^u-x)p)Whtl?UoR-uhd8LjSHR2oEQ`Ignro1eBF?u+6Y`-}vm5^gr8C z5WSxvibJ&z@Ee%!-RlFq$XG+-lTkLyiq``7cAX~1;i`_FA??+^zB{|Lty|1Ye(Xf zKK#I}jcb4O%9Lw(pj;X9T~SNwwE@9s=ar4)#eq|{8_xy8-(3b*{#6-|-)(#j42z0n zOV!lT<%YDG^57Lm2~``NB*POKsqXWM)j()&%V@uAn0v5#;M5|a;%7zfw+{icK{~gc zEaYBn%qX-euu%-UF*^rCC)6$icL zc!qpk{hgglJCDteh}1)c|Nen_`2%xa?E+v*`ql#A&NE$qeVRgE>sYk>@V3(RgJmbX*R>_XH3xv89r|5auVR%SGZnap0q!mKS z3*d_RK^`gtD)TZ^u@&;_dIjOBuhydI;y|#lxsDUf{pn^9d7}eu#No=u0;zRJj=}(k zod5!>8pi!45F#-oh_HnBu`=q1!HpZJwV0XDP6Bgv0bLbvWxyzk4g#TxEh%fEnSeer zno6u7Ogg=xLuQt9P+V6OpRmXLJ1rFXXE;cG=#UvrN@AVe~T9Ew%IJ_Wa+p*5O|Jt1u*Fu zaT%8Zv2sZ9l5QW!n)Ef97y)Gi9^e`+-&U8(QTKPs1Kt49z^CaHB%1yj(Bl?C=)uUr zG|Su2bk+_a?lQ|^ zRWML1IzYiAMey7tWjS5|v&R6q&^A%4ofUlabxk3TH3D<~B#oNY8)(fI{2NYp9Xo^4 zq(S9sVMzLf$E-2G7KAuXxKaaUf8m94K^M5l_myU9--ANi?`MqgELt7mUJLsdMp5f^ zB3hRXO~Y4(DraYE&O9JSTRnOv906T3d8=Rb09cF>#bZf92h!VB>3q+29e@2tmFLY! z(xl}wZ0W(aFU=3v?+@5tfp9yjbp*E7z1JQ%1gjyQD$*xy)*AHjtqWT+Nl76{v;*sx z{N(*o5Jn;y52v=@zZN_?5-;6A5B=T`+KP~V=7A@rBLqVRh7pfng$US7G+pvo0fc*e-&0i5^5p zX7x7I!^iy8VUvIIi%#s_N6HN9PFT%ZbgLgewDJQ(2EjjgM!_2pK+=1zaZIruIA}2F#4f8{(@ue~m zCra1?R*?lTWz~5kD`22EIT)?76(oFo4A=~)%sTb_T9{>F{!=wq!S_uc_j_4xx#8pJ zr+4A%i4%LmVoY#Lb&u$IUitMmiJ7{sm}eDxi)X^mM45AxdjfY^zWSgsn>n(yxvM6vX-MMT?7On$jkRn&l`8)V) z=o?%bwyAux+MtG!=fMsCx&h-d>@?I&qQONmRLe)Rl1(G>uu6%OFuiJ5V9YKzEEN~ZO$rgu!y$d8C#fv6qQ+tP z_lB*m0BvN%X%5~-nPoS7RV&zj6#ki9Wib5^;6{%u57j7gqwYc2wxlocb7Oc!z29Q?qW#0Kg_~NDTc=~5e3f33!CVmdD z7k(+R$BN*{F=EP;?y>*_YMC;7^k#tGF;x4EI*s`Z#{1GzELN+8gaKdYDM?vAp3|Bfqz6YGr@2*ZmgIs>&88N= zspbL=wE+n#_r)Kyyb1{bj;2u){cO2zI)pqjJJuA-o`Qy|Va2IOVz>d=+BYEYg)$3T zr?%vcc4e;*R2HHIj41ZxjFz%c%f_B0rwkLoa z?*VKifAWMbY*)hHe-80YLA*Khx1?_HV89yl3zqFnD27)bl&M^x#CalCGv0M60v-K_ zIas|t9=7`dbADIrV*&viCo6qg6ZF?*mZSz+%O*CzFzx=5L?f1Yy*eJ8$L!?u9*z>B zsYyjhv{5MpIeFdd;Tma|=%fFG#cX@r4}kiZT|dFaNFJucdlMvPC4*Vn5Bg*W@CsC* zZ*{A6p_byMOF9^==K!H*i@3=gjMSu4v0dPdq}Bk&A%6iywX-ELIV;wDqC}1|sQB3# zU%;BoE@GL&6Gq`6Z7!r{y&3zu6tpu|svQw{r(Ke9o@LnjtOjSy5JYdJ10Cl8zXp(` zL;$9Hg+jCtY9e2NO})u(!y2&|d_1d-Cm}?9fIdpFUUC~{kClR#9reTLLCGiS#SlK` zpK!kVF_-;l6&?URmtJunR*n^ z91OqekO5De{wFd~$MHBJ&x8E78|vSp1HBofdL+c*K@9@tKTXR$3I<2El0;#USIfPFB;9g69_6lEIBeYQXM z3R{QbKA+MGKGj{ZGeClIXX!-WP{5izoL)3$PsToo+M>@5c@IBjMXIX3zkJ7N*$%d~ z-}O(_ny}+}x0w6;fFE2lSI4@$c?-S0zNAv$r$NcERTAU8-_#zc%uTTDX3+jYx+>+m(D=)xK~Vr0@gf`N=eOMfoZq z@Ey*xr&y)T)4=DRCT{ETyXUBZ5+`Q29!unG2fzsAsI0VgqDd}mx+ih2$ClSLbKw6%BtOCfD2T`h-f73n(w*b89QN`&J%zYuiI*TiF z24Lo+d%Qx(fDw=-n2u#F52EKX=J;s0nDeGG$Iv(~c1JE--QG#ud;yKhh;ZA1O(sl>h($ literal 0 HcmV?d00001 diff --git a/deps/asmjit b/deps/asmjit new file mode 160000 index 0000000..1098b7d --- /dev/null +++ b/deps/asmjit @@ -0,0 +1 @@ +Subproject commit 1098b7d8873777f281e54a84a2b422fec30d91d4 diff --git a/deps/libtomcrypt b/deps/libtomcrypt new file mode 160000 index 0000000..2a1b284 --- /dev/null +++ b/deps/libtomcrypt @@ -0,0 +1 @@ +Subproject commit 2a1b284677a51f587ab7cd9d97395e0c0c93a447 diff --git a/deps/libtommath b/deps/libtommath new file mode 160000 index 0000000..03de03d --- /dev/null +++ b/deps/libtommath @@ -0,0 +1 @@ +Subproject commit 03de03dee753442d4b23166982514639c4ccbc39 diff --git a/deps/minhook b/deps/minhook new file mode 160000 index 0000000..49d03ad --- /dev/null +++ b/deps/minhook @@ -0,0 +1 @@ +Subproject commit 49d03ad118cf7f6768c79a8f187e14b8f2a07f94 diff --git a/deps/premake/asmjit.lua b/deps/premake/asmjit.lua new file mode 100644 index 0000000..f792602 --- /dev/null +++ b/deps/premake/asmjit.lua @@ -0,0 +1,36 @@ +asmjit = { + source = path.join(dependencies.basePath, "asmjit"), +} + +function asmjit.import() + links { "asmjit" } + asmjit.includes() +end + +function asmjit.includes() + includedirs { + path.join(asmjit.source, "src") + } + + defines { + "ASMJIT_STATIC", + "ASMJIT_NO_AARCH64", + "ASMJIT_NO_FOREIGN", + } +end + +function asmjit.project() + project "asmjit" + language "C++" + + asmjit.includes() + + files { + path.join(asmjit.source, "src/**.cpp"), + } + + warnings "Off" + kind "StaticLib" +end + +table.insert(dependencies, asmjit) diff --git a/deps/premake/libtomcrypt.lua b/deps/premake/libtomcrypt.lua new file mode 100644 index 0000000..6c6f28d --- /dev/null +++ b/deps/premake/libtomcrypt.lua @@ -0,0 +1,61 @@ +libtomcrypt = { + source = path.join(dependencies.basePath, "libtomcrypt"), +} + +function libtomcrypt.import() + links { + "libtomcrypt" + } + + libtomcrypt.includes() +end + +function libtomcrypt.includes() + includedirs { + path.join(libtomcrypt.source, "src/headers") + } + + defines { + "LTC_NO_FAST", + "LTC_NO_PROTOTYPES", + "LTC_NO_RSA_BLINDING", + } +end + +function libtomcrypt.project() + project "libtomcrypt" + language "C" + + libtomcrypt.includes() + libtommath.import() + + files { + path.join(libtomcrypt.source, "src/**.c"), + } + + removefiles { + path.join(libtomcrypt.source, "src/**/*tab.c"), + path.join(libtomcrypt.source, "src/encauth/ocb3/**.c"), + } + + defines { + "_CRT_SECURE_NO_WARNINGS", + "LTC_SOURCE", + "_LIB", + "USE_LTM" + } + + removedefines { + "_DLL", + "_USRDLL" + } + + linkoptions { + "-IGNORE:4221" + } + + warnings "Off" + kind "StaticLib" +end + +table.insert(dependencies, libtomcrypt) diff --git a/deps/premake/libtommath.lua b/deps/premake/libtommath.lua new file mode 100644 index 0000000..ab4cdde --- /dev/null +++ b/deps/premake/libtommath.lua @@ -0,0 +1,52 @@ +libtommath = { + source = path.join(dependencies.basePath, "libtommath"), +} + +function libtommath.import() + links { + "libtommath" + } + + libtommath.includes() +end + +function libtommath.includes() + includedirs { + libtommath.source + } + + defines { + "LTM_DESC", + "__STDC_IEC_559__", + "MP_NO_DEV_URANDOM", + } +end + +function libtommath.project() + project "libtommath" + language "C" + + libtommath.includes() + + files { + path.join(libtommath.source, "*.c"), + } + + defines { + "_LIB" + } + + removedefines { + "_DLL", + "_USRDLL" + } + + linkoptions { + "-IGNORE:4221" + } + + warnings "Off" + kind "StaticLib" +end + +table.insert(dependencies, libtommath) diff --git a/deps/premake/minhook.lua b/deps/premake/minhook.lua new file mode 100644 index 0000000..396d4d3 --- /dev/null +++ b/deps/premake/minhook.lua @@ -0,0 +1,31 @@ +minhook = { + source = path.join(dependencies.basePath, "minhook"), +} + +function minhook.import() + links { "minhook" } + minhook.includes() +end + +function minhook.includes() + includedirs { + path.join(minhook.source, "include") + } +end + +function minhook.project() + project "minhook" + language "C" + + minhook.includes() + + files { + path.join(minhook.source, "src/**.h"), + path.join(minhook.source, "src/**.c"), + } + + warnings "Off" + kind "StaticLib" +end + +table.insert(dependencies, minhook) diff --git a/deps/premake/minizip.lua b/deps/premake/minizip.lua new file mode 100644 index 0000000..4a5754b --- /dev/null +++ b/deps/premake/minizip.lua @@ -0,0 +1,43 @@ +minizip = { + source = path.join(dependencies.basePath, "zlib/contrib/minizip"), +} + +function minizip.import() + links { "minizip" } + zlib.import() + minizip.includes() +end + +function minizip.includes() + includedirs { + minizip.source + } + + zlib.includes() +end + +function minizip.project() + project "minizip" + language "C" + + minizip.includes() + + files { + path.join(minizip.source, "*.h"), + path.join(minizip.source, "*.c"), + } + + removefiles { + path.join(minizip.source, "miniunz.c"), + path.join(minizip.source, "minizip.c"), + } + + defines { + "_CRT_SECURE_NO_DEPRECATE", + } + + warnings "Off" + kind "StaticLib" +end + +table.insert(dependencies, minizip) diff --git a/deps/premake/rapidjson.lua b/deps/premake/rapidjson.lua new file mode 100644 index 0000000..ee4929d --- /dev/null +++ b/deps/premake/rapidjson.lua @@ -0,0 +1,20 @@ +rapidjson = { + source = path.join(dependencies.basePath, "rapidjson"), +} + +function rapidjson.import() + defines{"RAPIDJSON_HAS_STDSTRING"} + rapidjson.includes() +end + +function rapidjson.includes() + includedirs { + path.join(rapidjson.source, "include"), + } +end + +function rapidjson.project() + +end + +table.insert(dependencies, rapidjson) diff --git a/deps/premake/stb.lua b/deps/premake/stb.lua new file mode 100644 index 0000000..6f20a98 --- /dev/null +++ b/deps/premake/stb.lua @@ -0,0 +1,19 @@ +stb = { + source = path.join(dependencies.basePath, "stb"), +} + +function stb.import() + stb.includes() +end + +function stb.includes() + includedirs { + stb.source + } +end + +function stb.project() + +end + +table.insert(dependencies, stb) diff --git a/deps/premake/winreg.lua b/deps/premake/winreg.lua new file mode 100644 index 0000000..7ad8bda --- /dev/null +++ b/deps/premake/winreg.lua @@ -0,0 +1,19 @@ +winreg = { + source = path.join(dependencies.basePath, "winreg"), +} + +function winreg.import() + winreg.includes() +end + +function winreg.includes() + includedirs { + path.join(winreg.source, "WinReg"), + } +end + +function winreg.project() + +end + +table.insert(dependencies, winreg) diff --git a/deps/premake/zlib.lua b/deps/premake/zlib.lua new file mode 100644 index 0000000..566a707 --- /dev/null +++ b/deps/premake/zlib.lua @@ -0,0 +1,39 @@ +zlib = { + source = path.join(dependencies.basePath, "zlib"), +} + +function zlib.import() + links { "zlib" } + zlib.includes() +end + +function zlib.includes() + includedirs { + zlib.source + } + + defines { + "ZLIB_CONST", + } +end + +function zlib.project() + project "zlib" + language "C" + + zlib.includes() + + files { + path.join(zlib.source, "*.h"), + path.join(zlib.source, "*.c"), + } + + defines { + "_CRT_SECURE_NO_DEPRECATE", + } + + warnings "Off" + kind "StaticLib" +end + +table.insert(dependencies, zlib) diff --git a/deps/rapidjson b/deps/rapidjson new file mode 160000 index 0000000..083f359 --- /dev/null +++ b/deps/rapidjson @@ -0,0 +1 @@ +Subproject commit 083f359f5c36198accc2b9360ce1e32a333231d9 diff --git a/deps/stb b/deps/stb new file mode 160000 index 0000000..5736b15 --- /dev/null +++ b/deps/stb @@ -0,0 +1 @@ +Subproject commit 5736b15f7ea0ffb08dd38af21067c314d6a3aae9 diff --git a/deps/winreg b/deps/winreg new file mode 160000 index 0000000..a4907f3 --- /dev/null +++ b/deps/winreg @@ -0,0 +1 @@ +Subproject commit a4907f31deaca15ca27cc41e5506f54e9f05d3a4 diff --git a/deps/zlib b/deps/zlib new file mode 160000 index 0000000..04f42ce --- /dev/null +++ b/deps/zlib @@ -0,0 +1 @@ +Subproject commit 04f42ceca40f73e2978b50e93806c2a18c1281fc diff --git a/generate.bat b/generate.bat new file mode 100644 index 0000000..4fd21b1 --- /dev/null +++ b/generate.bat @@ -0,0 +1,5 @@ +@echo off +git submodule update --init --recursive +tools\premake5 %* vs2022 + +pause \ No newline at end of file diff --git a/premake5.lua b/premake5.lua new file mode 100644 index 0000000..03a68bb --- /dev/null +++ b/premake5.lua @@ -0,0 +1,135 @@ +dependencies = { + basePath = "./deps" +} + +function dependencies.load() + dir = path.join(dependencies.basePath, "premake/*.lua") + deps = os.matchfiles(dir) + + for i, dep in pairs(deps) do + dep = dep:gsub(".lua", "") + require(dep) + end +end + +function dependencies.imports() + for i, proj in pairs(dependencies) do + if type(i) == 'number' then + proj.import() + end + end +end + +function dependencies.projects() + for i, proj in pairs(dependencies) do + if type(i) == 'number' then + proj.project() + end + end +end + +newoption { + trigger = "copy-to", + description = "Optional, copy the EXE to a custom folder after build, define the path here if wanted.", + value = "PATH" +} + +newoption { + trigger = "dev-build", + description = "Enable development builds of the client." +} + +newoption { + trigger = "ci-build", + description = "Enable CI builds of the client." +} + + +dependencies.load() + +workspace "shield-development" + startproject "proxy-dll" + location "./build" + objdir "%{wks.location}/obj" + targetdir "%{wks.location}/bin/%{cfg.platform}/%{cfg.buildcfg}" + + configurations {"Debug", "Release"} + + language "C++" + cppdialect "C++20" + + architecture "x86_64" + platforms "x64" + + systemversion "latest" + symbols "On" + staticruntime "On" + editandcontinue "Off" + warnings "Extra" + characterset "ASCII" + + if _OPTIONS["dev-build"] then + defines {"DEV_BUILD"} + end + + if _OPTIONS["ci-build"] then + defines {"CI"} + end + + flags {"NoIncrementalLink", "NoMinimalRebuild", "MultiProcessorCompile", "No64BitChecks"} + + filter "platforms:x64" + defines {"_WINDOWS", "WIN32"} + filter {} + + filter "configurations:Release" + optimize "Size" + buildoptions {"/GL"} + linkoptions { "/IGNORE:4702", "/LTCG" } + defines {"NDEBUG"} + flags {"FatalCompileWarnings"} + filter {} + + filter "configurations:Debug" + optimize "Debug" + defines {"DEBUG", "_DEBUG"} + filter {} + +project "shared-code" + kind "StaticLib" + language "C++" + + files {"./source/shared-code/**.hpp", "./source/shared-code/**.cpp"} + + includedirs {"./source/shared-code", "%{prj.location}/src"} + + resincludedirs {"$(ProjectDir)src"} + + dependencies.imports() + +project "proxy-dll" + kind "SharedLib" + language "C++" + + targetname "d3d11" + + pchheader "std_include.hpp" + pchsource "source/proxy-dll/std_include.cpp" + + files {"./source/proxy-dll/**.rc", "./source/proxy-dll/**.hpp", "./source/proxy-dll/**.cpp", "./source/proxy-dll/resources/**.*"} + + includedirs {"./source/proxy-dll", "./source/shared-code", "%{prj.location}/src"} + + resincludedirs {"$(ProjectDir)src"} + + links {"shared-code"} + + if _OPTIONS["copy-to"] then + postbuildcommands {"copy /y \"$(TargetPath)\" \"" .. _OPTIONS["copy-to"] .. "\""} + end + + dependencies.imports() + + +group "Dependencies" + dependencies.projects() diff --git a/source/proxy-dll/component/debugging.cpp b/source/proxy-dll/component/debugging.cpp new file mode 100644 index 0000000..757f374 --- /dev/null +++ b/source/proxy-dll/component/debugging.cpp @@ -0,0 +1,159 @@ +#include +#include "loader/component_loader.hpp" +#include "definitions/t8_engine.hpp" +#include "scheduler.hpp" + + +namespace debugging +{ + typedef short(__fastcall* UI_Model_GetModelForController_t)(int controllerIndex); + UI_Model_GetModelForController_t UI_Model_GetModelForController = (UI_Model_GetModelForController_t)0x143AD0200_g; + + typedef short(__fastcall* UI_Model_CreateModelFromPath_t)(short parentNodeIndex, const char* path); + UI_Model_CreateModelFromPath_t UI_Model_CreateModelFromPath = (UI_Model_CreateModelFromPath_t)0x143ACFC10_g; + + typedef bool(__fastcall* UI_Model_SetString_t)(short nodeIndex, const char* newValue); + UI_Model_SetString_t UI_Model_SetString = (UI_Model_SetString_t)0x143AD18C0_g; + + typedef bool(__fastcall* UI_Model_SetInt_t)(short nodeIndex, int newValue); + UI_Model_SetInt_t UI_Model_SetInt = (UI_Model_SetInt_t)0x143AD1820_g; + + typedef bool(__fastcall* UI_Model_SetBool_t)(short nodeIndex, bool newValue); + UI_Model_SetBool_t UI_Model_SetBool = (UI_Model_SetBool_t)0x143AD1780_g; + + typedef bool(__fastcall* UI_Model_SetReal_t)(short nodeIndex, float newValue); + UI_Model_SetReal_t UI_Model_SetReal = (UI_Model_SetReal_t)0x143AD1870_g; + + void LUI_ShowToast(const char* title, const char* desc, const char* icon) + { + short main_model = UI_Model_GetModelForController(0); + short toast_model = UI_Model_CreateModelFromPath(main_model, "FrontendToast"); + + short sub_model = UI_Model_CreateModelFromPath(toast_model, "state"); + UI_Model_SetString(sub_model, "DefaultState"); + + sub_model = UI_Model_CreateModelFromPath(toast_model, "kicker"); + UI_Model_SetString(sub_model, title); + + sub_model = UI_Model_CreateModelFromPath(toast_model, "description"); + UI_Model_SetString(sub_model, desc); + + sub_model = UI_Model_CreateModelFromPath(toast_model, "contentIcon"); + UI_Model_SetString(sub_model, icon); + + sub_model = UI_Model_CreateModelFromPath(toast_model, "functionIcon"); + UI_Model_SetString(sub_model, "blacktransparent"); + + sub_model = UI_Model_CreateModelFromPath(toast_model, "backgroundId"); + UI_Model_SetInt(sub_model, 0); + + sub_model = UI_Model_CreateModelFromPath(toast_model, "emblemDecal"); + UI_Model_SetReal(sub_model, 0.000000); + + sub_model = UI_Model_CreateModelFromPath(toast_model, "notify"); + UI_Model_SetBool(sub_model, true); + } + + namespace + { + const char* s_connectivityNames[] = + { + "user is non-guest", // 0x1 + "connected to live", // 0x2 + "user has multiplayer privs", // 0x4 + "networking initialized", // 0x8 + "connected to demonware", // 0x10 + "lpc ready", // 0x20 + "retrieved ffotd", // 0x40 + "retrieved playlists", // 0x80 + "publisher variables inited", // 0x100 + "ffotd is valid", // 0x200 + "user has stats and loadouts", // 0x400 + "time is synced", // 0x800 + "retrieved geo location", // 0x1000 + "dedicated pings done", // 0x2000 + "dedicated ping responses ok", // 0x4000 + "literally unlisted", // 0x8000 + "unknown - lpc related", // 0x10000 + "inventory fetched", // 0x20000 + "marketing messages received", // 0x40000 + "bnet initialized", // 0x80000 + "achievements fetched" // 0x100000 + }; + + std::string GetConnectivityInfo() + { + int infoBitmask = 0; int requiredMask = 0x1337FA; + game::Live_GetConnectivityInformation(0, &infoBitmask); + bool connected = (requiredMask & infoBitmask) == requiredMask; + + std::string result{}; + //result.append(std::format("Can play online (controller: {}): {}\n", 0, connected ? "true" : "false")); + + for (int i = 1; i < 21; ++i) + { + if (i == 15) continue; // unlisted bit + + const char* v13; + const char* v14; + const char* v15; + + if (((1 << i) & infoBitmask) != 0 || (requiredMask & (1 << i)) == 0) + v13 = "^7"; + else + v13 = "^1"; + if ((requiredMask & (1 << i)) != 0) + v14 = "required"; + else + v14 = "optional"; + if (((1 << i) & infoBitmask) != 0) + v15 = "true"; + else + v15 = "false"; + + result.append(std::format("{}{}({}) - {}\n", v13, s_connectivityNames[i], v14, v15)); + } + + return result; + } + + void draw_debug_info() + { + static bool should_draw_debugging_info = false; + if (GetAsyncKeyState(VK_INSERT) & 0x01) should_draw_debugging_info ^= 1; + + if (!should_draw_debugging_info) return; + + + float color[4] = { 0.666f, 0.666f, 0.666f, 1.0f }; + game::ScreenPlacement* scrPlace = game::ScrPlace_GetView(0); + void* font = game::UI_GetFontHandle(scrPlace, 0, 1.0f); if (!font) return; + + std::string sz = GetConnectivityInfo(); + game::R_AddCmdDrawText(sz.data(), 0x7FFFFFFF, font, 18.0f, 1.0f * (game::R_TextHeight(font) * 0.45f) + 4.0f, 0.45f, 0.45f, 0.0f, color, game::ITEM_TEXTSTYLE_BORDERED); + + } + + void test_key_catcher() + { + static uint32_t last_press_time = 0; + if ((GetAsyncKeyState(VK_HOME) & 0x01)/* && (static_cast(time(nullptr)) - last_press_time) > 1*/) + { + last_press_time = static_cast(time(nullptr)); + LUI_ShowToast("Title", "Description", "uie_bookmark"); + } + } + } + +class component final : public component_interface +{ +public: + void post_unpack() override + { + scheduler::loop(draw_debug_info, scheduler::renderer); + scheduler::loop(test_key_catcher, scheduler::main); + } +}; +} + +REGISTER_COMPONENT(debugging::component) \ No newline at end of file diff --git a/source/proxy-dll/component/debugging.hpp b/source/proxy-dll/component/debugging.hpp new file mode 100644 index 0000000..35cfb3d --- /dev/null +++ b/source/proxy-dll/component/debugging.hpp @@ -0,0 +1,6 @@ +#pragma once + +namespace debugging +{ + void LUI_ShowToast(const char* title, const char* desc, const char* icon = "blacktransparent"); +} diff --git a/source/proxy-dll/component/demonware.cpp b/source/proxy-dll/component/demonware.cpp new file mode 100644 index 0000000..c57379a --- /dev/null +++ b/source/proxy-dll/component/demonware.cpp @@ -0,0 +1,119 @@ +#include +#include "loader/component_loader.hpp" +#include +#include +#include "definitions\discovery.hpp" + +namespace demonware +{ + const char* blocked_hosts[] = + { + "eu.cdn.blizzard.com", + "level3.blizzard.com", + "blzddist1-a.akamaihd.net", + "level3.ssl.blizzard.com", + "eu.actual.battle.net" + }; + + namespace + { + std::unordered_map original_imports{}; + + namespace network + { + int getaddrinfo_stub(const char* name, const char* service, + const addrinfo* hints, addrinfo** res) + { +#ifdef DEBUG + logger::write(logger::LOG_TYPE_DEBUG, "[ NETWORK ]: [getaddrinfo]: \"%s\" \"%s\"", name, service); +#endif + + for (auto i = 0; i < ARRAYSIZE(blocked_hosts); ++i) + { + if (!strcmp(name, blocked_hosts[i])) + { + return WSAHOST_NOT_FOUND; + } + } + + return WSAHOST_NOT_FOUND; + /* TODO: RE-ROUTE DW HOSTS TO CUSTOM DW SERVER */ + + return getaddrinfo(name, service, hints, res); + } + + hostent* gethostbyname_stub(const char* name) + { +#ifdef DEBUG + logger::write(logger::LOG_TYPE_DEBUG, "[ NETWORK ]: [gethostbyname]: \"%s\"", name); +#endif + +#pragma warning(push) +#pragma warning(disable: 4996) + return gethostbyname(name); +#pragma warning(pop) + } + } + + void register_hook(const std::string& process, void* stub) + { + const utils::nt::library game_module{}; + + std::optional> result{}; + if (!result) result = utils::hook::iat(game_module, "wsock32.dll", process, stub); + if (!result) result = utils::hook::iat(game_module, "WS2_32.dll", process, stub); + + if (!result) + { + throw std::runtime_error("Failed to hook: " + process); + } + + original_imports[result->first] = result->second; + } + } + + class component final : public component_interface + { + public: + component() + { + /* PLACE_HOLDER */ + } + + void pre_start() override + { + register_hook("gethostbyname", network::gethostbyname_stub); + register_hook("getaddrinfo", network::getaddrinfo_stub); + } + + void post_unpack() override + { + utils::hook::set(0x144508469_g, 0x0); // CURLOPT_SSL_VERIFYPEER + utils::hook::set(0x144508455_g, 0xAF); // CURLOPT_SSL_VERIFYHOST + utils::hook::set(0x144B28D98_g, 0x0); // HTTPS -> HTTP + + utils::hook::copy_string(0x144A27C70_g, "http://prod.umbrella.demonware.net"); + utils::hook::copy_string(0x144A2BAA0_g, "http://prod.uno.demonware.net/v1.0"); + utils::hook::copy_string(0x144A29CB0_g, "http://%s:%d/auth/"); + + + /************************************************************************************************************* + ** TODO : in order to record match, while playing (as host?) game live-streams netcode to the content server + ** continuously troughout the play time. planning to patch it so it streams in memory before uploading + ** full demo at end of match to improve network performance + ** + ** + *************************************************************************************************************/ + } + + void pre_destroy() override + { + for (const auto& import : original_imports) + { + utils::hook::set(import.first, import.second); + } + } + }; +} + +REGISTER_COMPONENT(demonware::component) \ No newline at end of file diff --git a/source/proxy-dll/component/exception.cpp b/source/proxy-dll/component/exception.cpp new file mode 100644 index 0000000..c83f571 --- /dev/null +++ b/source/proxy-dll/component/exception.cpp @@ -0,0 +1,216 @@ +#include +#include "loader/component_loader.hpp" +#include "definitions/t8_engine.hpp" + +#include +#include +#include +#include +#include + +#include + +#define VERSION "1.0.0" + +namespace exception +{ + namespace + { + DWORD main_thread_id{}; + + thread_local struct + { + DWORD code = 0; + PVOID address = nullptr; + } exception_data{}; + + struct + { + std::chrono::time_point last_recovery{}; + std::atomic recovery_counts = {0}; + } recovery_data{}; + + bool is_game_thread() + { + return main_thread_id == GetCurrentThreadId(); + } + + bool is_exception_interval_too_short() + { + const auto delta = std::chrono::high_resolution_clock::now() - recovery_data.last_recovery; + return delta < 1min; + } + + bool too_many_exceptions_occured() + { + return recovery_data.recovery_counts >= 3; + } + + volatile bool& is_initialized() + { + static volatile bool initialized = false; + return initialized; + } + + bool is_recoverable() + { + return is_initialized() + && is_game_thread() + && !is_exception_interval_too_short() + && !too_many_exceptions_occured(); + } + + void show_mouse_cursor() + { + while (ShowCursor(TRUE) < 0); + } + + void display_error_dialog() + { + const std::string error_str = utils::string::va("Fatal error (0x%08X) at 0x%p (0x%p).\n" + "A minidump has been written.\n", + exception_data.code, exception_data.address, + reverse_b(reinterpret_cast(exception_data.address))); + + utils::thread::suspend_other_threads(); + show_mouse_cursor(); + + MessageBoxA(nullptr, error_str.data(), "Project-bo4 ERROR", MB_ICONERROR); + TerminateProcess(GetCurrentProcess(), exception_data.code); + } + + void reset_state() + { + if (is_recoverable()) + { + recovery_data.last_recovery = std::chrono::high_resolution_clock::now(); + ++recovery_data.recovery_counts; + + game::Com_Error(game::ERR_DROP, "Fatal error (0x%08X) at 0x%p (0x%p).\nA minidump has been written.\n\n" + "BOIII has tried to recover your game, but it might not run stable anymore.\n\n" + "Make sure to update your graphics card drivers and install operating system updates!\n" + "Closing or restarting Steam might also help.", + exception_data.code, exception_data.address, + reverse_b(reinterpret_cast(exception_data.address))); + } + else + { + display_error_dialog(); + } + } + + size_t get_reset_state_stub() + { + static auto* stub = utils::hook::assemble([](utils::hook::assembler& a) + { + a.sub(rsp, 0x10); + a.or_(rsp, 0x8); + a.jmp(reset_state); + }); + + return reinterpret_cast(stub); + } + + std::string get_timestamp() + { + tm ltime{}; + char timestamp[MAX_PATH] = {0}; + const auto time = _time64(nullptr); + + _localtime64_s(<ime, &time); + strftime(timestamp, sizeof(timestamp) - 1, "%Y-%m-%d-%H-%M-%S", <ime); + + return timestamp; + } + + std::string generate_crash_info(const LPEXCEPTION_POINTERS exceptioninfo) + { + std::string info{}; + const auto line = [&info](const std::string& text) + { + info.append(text); + info.append("\r\n"); + }; + + line("Project-bo4 Crash Dump"); + line(""); + line(game::version_string); + //line("Version: "s + VERSION); + line("Timestamp: "s + get_timestamp()); + line(utils::string::va("Exception: 0x%08X", exceptioninfo->ExceptionRecord->ExceptionCode)); + line(utils::string::va("Address: 0x%llX", exceptioninfo->ExceptionRecord->ExceptionAddress)); + line(utils::string::va("Base: 0x%llX", get_base())); + +#pragma warning(push) +#pragma warning(disable: 4996) + OSVERSIONINFOEXA version_info; + ZeroMemory(&version_info, sizeof(version_info)); + version_info.dwOSVersionInfoSize = sizeof(version_info); + GetVersionExA(reinterpret_cast(&version_info)); +#pragma warning(pop) + + line(utils::string::va("OS Version: %u.%u", version_info.dwMajorVersion, version_info.dwMinorVersion)); + + return info; + } + + void write_minidump(const LPEXCEPTION_POINTERS exceptioninfo) + { + const std::string crash_name = utils::string::va("minidumps/bo4-crash-%s.zip", + get_timestamp().data()); + + utils::compression::zip::archive zip_file{}; + zip_file.add("crash.dmp", create_minidump(exceptioninfo)); + zip_file.add("info.txt", generate_crash_info(exceptioninfo)); + zip_file.write(crash_name, "Project-bo4 Crash Dump"); + } + + bool is_harmless_error(const LPEXCEPTION_POINTERS exceptioninfo) + { + const auto code = exceptioninfo->ExceptionRecord->ExceptionCode; + return code == STATUS_INTEGER_OVERFLOW || code == STATUS_FLOAT_OVERFLOW || code == STATUS_SINGLE_STEP; + } + + LONG WINAPI exception_filter(const LPEXCEPTION_POINTERS exceptioninfo) + { + if (is_harmless_error(exceptioninfo)) + { + return EXCEPTION_CONTINUE_EXECUTION; + } + + write_minidump(exceptioninfo); + + exception_data.code = exceptioninfo->ExceptionRecord->ExceptionCode; + exception_data.address = exceptioninfo->ExceptionRecord->ExceptionAddress; + exceptioninfo->ContextRecord->Rip = get_reset_state_stub(); + + return EXCEPTION_CONTINUE_EXECUTION; + } + + void WINAPI set_unhandled_exception_filter_stub(LPTOP_LEVEL_EXCEPTION_FILTER) + { + // Don't register anything here... + } + } + + class component final : public component_interface + { + public: + component() + { + main_thread_id = GetCurrentThreadId(); + SetUnhandledExceptionFilter(exception_filter); + } + + void pre_start() override + { + const utils::nt::library ntdll("ntdll.dll"); + auto* set_filter = ntdll.get_proc("RtlSetUnhandledExceptionFilter"); + + set_filter(exception_filter); + utils::hook::jump(set_filter, set_unhandled_exception_filter_stub); + } + }; +} + +REGISTER_COMPONENT(exception::component) \ No newline at end of file diff --git a/source/proxy-dll/component/integrity.cpp b/source/proxy-dll/component/integrity.cpp new file mode 100644 index 0000000..d76fbcf --- /dev/null +++ b/source/proxy-dll/component/integrity.cpp @@ -0,0 +1,348 @@ +#include +#include "loader/component_loader.hpp" + +#include +#include + + +namespace integrity +{ + namespace + { +#ifndef AVOID_UNNECESSARY_CHANGES + + /* PLACE_HOLDER */ + +#endif // AVOID_UNNECESSARY_CHANGES + const std::vector>& get_text_sections() + { + static const std::vector> text = [] + { + std::vector> texts{}; + + const utils::nt::library game{}; + for (const auto& section : game.get_section_headers()) + { + if (section->Characteristics & IMAGE_SCN_MEM_EXECUTE) + { + texts.emplace_back(game.get_ptr() + section->VirtualAddress, section->Misc.VirtualSize); + } + } + + return texts; + }(); + + return text; + } + + bool is_in_texts(const uint64_t addr) + { + const auto& texts = get_text_sections(); + for (const auto& text : texts) + { + const auto start = reinterpret_cast(text.first); + if (addr >= start && addr <= (start + text.second)) + { + return true; + } + } + + return false; + } + + bool is_in_texts(const void* addr) + { + return is_in_texts(reinterpret_cast(addr)); + } + + struct integrity_handler_context + { + uint32_t* computed_checksum; + uint32_t* original_checksum; + }; + + bool is_on_stack(uint8_t* stack_frame, const void* pointer) + { + const auto stack_value = reinterpret_cast(stack_frame); + const auto pointer_value = reinterpret_cast(pointer); + + const auto diff = static_cast(stack_value - pointer_value); + return std::abs(diff) < 0x1000; + } + + // Pretty trashy, but working, heuristic to search the integrity handler context + bool is_handler_context(uint8_t* stack_frame, const uint32_t computed_checksum, const uint32_t frame_offset) + { + const auto* potential_context = reinterpret_cast(stack_frame + frame_offset); + return is_on_stack(stack_frame, potential_context->computed_checksum) + && *potential_context->computed_checksum == computed_checksum + && is_in_texts(potential_context->original_checksum); + } + + integrity_handler_context* search_handler_context(uint8_t* stack_frame, const uint32_t computed_checksum) + { + for (uint32_t frame_offset = 0; frame_offset < 0x90; frame_offset += 8) + { + if (is_handler_context(stack_frame, computed_checksum, frame_offset)) + { + return reinterpret_cast(stack_frame + frame_offset); + } + } + + return nullptr; + } + + uint32_t adjust_integrity_checksum(const uint64_t return_address, uint8_t* stack_frame, + const uint32_t current_checksum) + { + const auto handler_address = reverse_b(return_address - 5); + const auto* context = search_handler_context(stack_frame, current_checksum); + + if (!context) + { + MessageBoxA(nullptr, utils::string::va("No frame offset for: %llX", handler_address), "Error", + MB_ICONERROR); + TerminateProcess(GetCurrentProcess(), 0xBAD); + return current_checksum; + } + + const auto correct_checksum = *context->original_checksum; + *context->computed_checksum = correct_checksum; + + if (current_checksum != correct_checksum) + { +#ifndef NDEBUG + /*printf("Adjusting checksum (%llX): %X -> %X\n", handler_address, + current_checksum, correct_checksum);*/ +#endif + } + + return correct_checksum; + } + + void patch_intact_basic_block_integrity_check(void* address) + { + const auto game_address = reinterpret_cast(address); + constexpr auto inst_len = 3; + + const auto next_inst_addr = game_address + inst_len; + const auto next_inst = *reinterpret_cast(next_inst_addr); + + if ((next_inst & 0xFF00FFFF) != 0xFF004583) + { + throw std::runtime_error(utils::string::va("Unable to patch intact basic block: %llX", game_address)); + } + + const auto other_frame_offset = static_cast(next_inst >> 16); + static const auto stub = utils::hook::assemble([](utils::hook::assembler& a) + { + a.push(rax); + + a.mov(rax, qword_ptr(rsp, 8)); + a.sub(rax, 2); // Skip the push we inserted + + a.push(rax); + a.pushad64(); + + a.mov(r8, qword_ptr(rsp, 0x88)); + a.mov(rcx, rax); + a.mov(rdx, rbp); + a.call_aligned(adjust_integrity_checksum); + + a.mov(qword_ptr(rsp, 0x80), rax); + + a.popad64(); + a.pop(rax); + + a.add(rsp, 8); + + a.mov(dword_ptr(rdx, rcx, 4), eax); + + a.pop(rax); // return addr + a.xchg(rax, qword_ptr(rsp)); // switch with push + + a.add(dword_ptr(rbp, rax), 0xFFFFFFFF); + + a.mov(rax, dword_ptr(rdx, rcx, 4)); // restore rax + + a.ret(); + }); + + // push other_frame_offset + utils::hook::set(game_address, static_cast(0x6A | (other_frame_offset << 8))); + utils::hook::call(game_address + 2, stub); + } + + void patch_split_basic_block_integrity_check(void* address) + { + const auto game_address = reinterpret_cast(address); + constexpr auto inst_len = 3; + + const auto next_inst_addr = game_address + inst_len; + + if (*reinterpret_cast(next_inst_addr) != 0xE9) + { + throw std::runtime_error(utils::string::va("Unable to patch split basic block: %llX", game_address)); + } + + const auto jump_target = utils::hook::extract(reinterpret_cast(next_inst_addr + 1)); + const auto stub = utils::hook::assemble([jump_target](utils::hook::assembler& a) + { + a.push(rax); + + a.mov(rax, qword_ptr(rsp, 8)); + a.push(rax); + + a.pushad64(); + + a.mov(r8, qword_ptr(rsp, 0x88)); + a.mov(rcx, rax); + a.mov(rdx, rbp); + a.call_aligned(adjust_integrity_checksum); + + a.mov(qword_ptr(rsp, 0x80), rax); + + a.popad64(); + a.pop(rax); + + a.add(rsp, 8); + + a.mov(dword_ptr(rdx, rcx, 4), eax); + + a.add(rsp, 8); + + a.jmp(jump_target); + }); + + utils::hook::call(game_address, stub); + } + + void search_and_patch_integrity_checks() + { + // There seem to be 1219 results. + // Searching them is quite slow. + // Maybe precomputing that might be better? + const auto intact_results = "89 04 8A 83 45 ? FF"_sig; + const auto split_results = "89 04 8A E9"_sig; + + for (auto* i : intact_results) + { + patch_intact_basic_block_integrity_check(i); + } + + for (auto* i : split_results) + { + patch_split_basic_block_integrity_check(i); + } + } + + void* original_first_tls_callback = nullptr; + + void** get_tls_callbacks() + { + const utils::nt::library game{}; + const auto& entry = game.get_optional_header()->DataDirectory[IMAGE_DIRECTORY_ENTRY_TLS]; + if (!entry.VirtualAddress || !entry.Size) + { + return nullptr; + } + + const auto* tls_dir = reinterpret_cast(game.get_ptr() + entry.VirtualAddress); + return reinterpret_cast(tls_dir->AddressOfCallBacks); + } + + void disable_tls_callbacks() + { + auto* tls_callbacks = get_tls_callbacks(); + if (tls_callbacks) + { + original_first_tls_callback = *tls_callbacks; + } + + utils::hook::set(tls_callbacks, nullptr); + } + + void restore_tls_callbacks() + { + auto* tls_callbacks = get_tls_callbacks(); + if (tls_callbacks) + { + utils::hook::set(tls_callbacks, original_first_tls_callback); + } + } + + utils::hook::detour create_thread_hook; + HANDLE WINAPI create_thread_stub(const LPSECURITY_ATTRIBUTES thread_attributes, const SIZE_T stack_size, + const LPTHREAD_START_ROUTINE start_address, const LPVOID parameter, + const DWORD creation_flags, + const LPDWORD thread_id) + { + if (utils::nt::library::get_by_address(start_address) == utils::nt::library{}) + { + restore_tls_callbacks(); + + create_thread_hook.clear(); + return CreateThread(thread_attributes, stack_size, start_address, parameter, creation_flags, + thread_id); + } + + return create_thread_hook.invoke(thread_attributes, stack_size, start_address, parameter, + creation_flags, thread_id); + } + + utils::hook::detour get_thread_context_hook; + BOOL WINAPI get_thread_context_stub(const HANDLE thread_handle, const LPCONTEXT context) + { + constexpr auto debug_registers_flag = (CONTEXT_DEBUG_REGISTERS & ~CONTEXT_AMD64); + if (context && (context->ContextFlags & debug_registers_flag)) + { + auto* source = _ReturnAddress(); + const auto game = utils::nt::library{}; + const auto source_module = utils::nt::library::get_by_address(source); + + if (source_module == game) + { + context->ContextFlags &= ~debug_registers_flag; + } + } + + return get_thread_context_hook.invoke(thread_handle, context); + } + } + + class component final : public component_interface + { + public: + void pre_start() override + { +#ifndef AVOID_UNNECESSARY_CHANGES + disable_tls_callbacks(); + + create_thread_hook.create(CreateThread, create_thread_stub); + auto* get_thread_context_func = utils::nt::library("kernelbase.dll").get_proc("GetThreadContext"); + get_thread_context_hook.create(get_thread_context_func, get_thread_context_stub); + +#endif // AVOID_UNNECESSARY_CHANGES + + /************************************************************************************************************* + ** TODO : There is some kind of dormant defence mechanism. works so random makes it harder to investigate + ** It will Exit process with code zero in case gets induced mid-game or just prevent initialization + ** causing to get black screened if tripped boot-time. Apparently it verifies IAT's integrity. + ** + ** + *************************************************************************************************************/ + } + + void post_unpack() override + { + search_and_patch_integrity_checks(); + } + + int priority() override + { + return 9999; + } + }; +} + +REGISTER_COMPONENT(integrity::component) \ No newline at end of file diff --git a/source/proxy-dll/component/logger.cpp b/source/proxy-dll/component/logger.cpp new file mode 100644 index 0000000..532ec1a --- /dev/null +++ b/source/proxy-dll/component/logger.cpp @@ -0,0 +1,78 @@ +#include +#include "logger.hpp" +#include "loader/component_loader.hpp" +#include + +#define OUTPUT_DEBUG_API +#define PREPEND_TIMESTAMP + +namespace logger +{ + std::string get_type_str(const int type) + { + switch (type) + { + case 1: + return "INFO"; + case 2: + return "WARN"; + case 3: + return "ERROR"; + default: + return "DEBUG"; + } + } + + void write(const int type, std::string str) + { +#ifdef OUTPUT_DEBUG_API + OutputDebugStringA(str.c_str()); +#endif // OUTPUT_DEBUG_API + + std::ofstream stream; + stream.open("project-bo4.log", std::ios_base::app); + +#ifdef PREPEND_TIMESTAMP + time_t now = time(0); + std::tm* t = std::localtime(&now); + stream << "" << std::put_time(t, "%Y-%m-%d %H:%M:%S") << "\t"; +#endif // PREPEND_TIMESTAMP + + stream << "[ " << get_type_str(type) << " ] " << str << std::endl; + } + + void write(const int type, const char* fmt, ...) + { + char va_buffer[0x800] = { 0 }; + + va_list ap; + va_start(ap, fmt); + vsprintf_s(va_buffer, fmt, ap); + va_end(ap); + + const auto formatted = std::string(va_buffer); + write(type, formatted); + } + + namespace + { + /* PLACE_HOLDER */ + } + + class component final : public component_interface + { + public: + void pre_start() override + { + write(LOG_TYPE_INFO, "======================================================================================================="); + write(LOG_TYPE_INFO, " Project-BO4 Initializing ... %s[0x%llX]", utils::nt::library{}.get_name().c_str(), utils::nt::library{}.get_ptr()); + write(LOG_TYPE_INFO, "======================================================================================================="); + } + + void post_unpack() override + { + /* PLACE_HOLDER */ + } + }; +} +REGISTER_COMPONENT(logger::component) diff --git a/source/proxy-dll/component/logger.hpp b/source/proxy-dll/component/logger.hpp new file mode 100644 index 0000000..38812eb --- /dev/null +++ b/source/proxy-dll/component/logger.hpp @@ -0,0 +1,15 @@ +#pragma once + +namespace logger +{ + enum type + { + LOG_TYPE_DEBUG = 0, + LOG_TYPE_INFO = 1, + LOG_TYPE_WARN = 2, + LOG_TYPE_ERROR = 3 + }; + + void write(const int type, std::string str); + void write(const int type, const char* fmt, ...); +} diff --git a/source/proxy-dll/component/platform.cpp b/source/proxy-dll/component/platform.cpp new file mode 100644 index 0000000..cc53d8a --- /dev/null +++ b/source/proxy-dll/component/platform.cpp @@ -0,0 +1,66 @@ +#include +#include "loader/component_loader.hpp" +#include "utils/hook.hpp" +#include "component/logger.hpp" +#include "WinReg.hpp" +//#include "definitions/t8_engine.hpp" +#include "definitions\discovery.hpp" + +namespace platform +{ + namespace + { + //utils::hook::detour BattleNet_API_RequestAppTicket_Hook; + //bool BattleNet_API_RequestAppTicket_stub(char* sessionToken, char* accountToken) + //{ + // /* PLACE_HOLDER */ + //} + + utils::hook::detour PC_TextChat_Print_Hook; + void PC_TextChat_Print_Stub(const char* text) + { + logger::write(logger::LOG_TYPE_DEBUG, "PC_TextChat_Print(%s)", text); + } + + void check_platform_registry() + { + winreg::RegKey key; + winreg::RegResult result = key.TryOpen(HKEY_CURRENT_USER, L"SOFTWARE\\Blizzard Entertainment\\Battle.net"); + if (!result) + { + MessageBoxA(nullptr, "You need to have BlackOps4 from Battle.Net to use this product...", "Error", MB_ICONWARNING); + ShellExecuteA(nullptr, "open", "http://battle.net/", nullptr, nullptr, SW_SHOWNORMAL); + logger::write(logger::LOG_TYPE_INFO, "[ PLATFORM ]: Couldnt find Battle.Net Launcher; Shutting down..."); + + TerminateProcess(GetCurrentProcess(), 1); + } + } + } + + class component final : public component_interface + { + public: + void pre_start() override + { + check_platform_registry(); + } + + void post_unpack() override + { + utils::hook::set(0x1423271D0_g, 0x01B0); // BattleNet_IsDisabled (patch to mov al,1) + utils::hook::set(0x1423271E0_g, 0x90C301B0); // BattleNet_IsConnected (patch to mov al,1 retn) + + utils::hook::set(0x142325210_g, 0xC3); // patch#1 Annoying function crashing game; related to BattleNet (TODO : Needs Further Investigation) + utils::hook::set(0x142307B40_g, 0xC3); // patch#2 Annoying function crashing game; related to BattleNet (TODO : Needs Further Investigation) + utils::hook::set(0x143D08290_g, 0x90C301B0); // patch#3 BattleNet_IsModeAvailable? (patch to mov al,1 retn) + + utils::hook::nop(0x1437DA454_g, 13); // begin cross-auth even without platform being initialized + utils::hook::set(0x1444E34C0_g, 0xC301B0); // Checks extended_data and extra_data in json object [bdAuthPC::processPlatformData] + + //PC_TextChat_Print_Hook.create(0x000000000_g, PC_TextChat_Print_Stub); // Disable useless system messages passed into chat box + //BattleNet_API_RequestAppTicket_Hook.create(0x000000000_g, BattleNet_API_RequestAppTicket_stub); // Implement custom encryption token + } + }; +} + +REGISTER_COMPONENT(platform::component) \ No newline at end of file diff --git a/source/proxy-dll/component/platform.hpp b/source/proxy-dll/component/platform.hpp new file mode 100644 index 0000000..19f45df --- /dev/null +++ b/source/proxy-dll/component/platform.hpp @@ -0,0 +1,6 @@ +#pragma once + +namespace platform +{ + /* PLACE_HOLDER */ +} \ No newline at end of file diff --git a/source/proxy-dll/component/scheduler.cpp b/source/proxy-dll/component/scheduler.cpp new file mode 100644 index 0000000..a833116 --- /dev/null +++ b/source/proxy-dll/component/scheduler.cpp @@ -0,0 +1,184 @@ +#include +#include "loader/component_loader.hpp" + +#include "scheduler.hpp" + +#include +#include +#include +#include + +namespace scheduler +{ + namespace + { + struct task + { + std::function handler{}; + std::chrono::milliseconds interval{}; + std::chrono::high_resolution_clock::time_point last_call{}; + }; + + using task_list = std::vector; + + class task_pipeline + { + public: + void add(task&& task) + { + new_callbacks_.access([&task](task_list& tasks) + { + tasks.emplace_back(std::move(task)); + }); + } + + void execute() + { + callbacks_.access([&](task_list& tasks) + { + this->merge_callbacks(); + + for (auto i = tasks.begin(); i != tasks.end();) + { + const auto now = std::chrono::high_resolution_clock::now(); + const auto diff = now - i->last_call; + + if (diff < i->interval) + { + ++i; + continue; + } + + i->last_call = now; + + const auto res = i->handler(); + if (res == cond_end) + { + i = tasks.erase(i); + } + else + { + ++i; + } + } + }); + } + + private: + utils::concurrency::container new_callbacks_; + utils::concurrency::container callbacks_; + + void merge_callbacks() + { + callbacks_.access([&](task_list& tasks) + { + new_callbacks_.access([&](task_list& new_tasks) + { + tasks.insert(tasks.end(), std::move_iterator(new_tasks.begin()), + std::move_iterator(new_tasks.end())); + new_tasks = {}; + }); + }); + } + }; + + volatile bool kill = false; + std::thread thread; + task_pipeline pipelines[pipeline::count]; + + utils::hook::detour r_end_frame_hook; + utils::hook::detour g_run_frame_hook; + utils::hook::detour main_frame_hook; + + void execute(const pipeline type) + { + assert(type >= 0 && type < pipeline::count); + pipelines[type].execute(); + } + + void r_end_frame_stub() + { + execute(pipeline::renderer); + r_end_frame_hook.invoke(); + } + + void server_frame_stub() + { + g_run_frame_hook.invoke(); + execute(pipeline::server); + } + + void main_frame_stub() + { + main_frame_hook.invoke(); + execute(pipeline::main); + } + } + + void schedule(const std::function& callback, const pipeline type, + const std::chrono::milliseconds delay) + { + assert(type >= 0 && type < pipeline::count); + + task task; + task.handler = callback; + task.interval = delay; + task.last_call = std::chrono::high_resolution_clock::now(); + + pipelines[type].add(std::move(task)); + } + + void loop(const std::function& callback, const pipeline type, + const std::chrono::milliseconds delay) + { + schedule([callback]() + { + callback(); + return cond_continue; + }, type, delay); + } + + void once(const std::function& callback, const pipeline type, + const std::chrono::milliseconds delay) + { + schedule([callback]() + { + callback(); + return cond_end; + }, type, delay); + } + + class component final : public component_interface + { + public: + void pre_start() override + { + thread = utils::thread::create_named_thread("Async Scheduler", []() + { + while (!kill) + { + execute(pipeline::async); + std::this_thread::sleep_for(10ms); + } + }); + } + + void post_unpack() override + { + r_end_frame_hook.create(0x14361E260_g, r_end_frame_stub); // R_EndFrame + main_frame_hook.create(0x14288BAE0_g, main_frame_stub); // Com_Frame + g_run_frame_hook.create(0x142D08FC0_g, server_frame_stub); // G_RunFrame + } + + void pre_destroy() override + { + kill = true; + if (thread.joinable()) + { + thread.join(); + } + } + }; +} + +REGISTER_COMPONENT(scheduler::component) \ No newline at end of file diff --git a/source/proxy-dll/component/scheduler.hpp b/source/proxy-dll/component/scheduler.hpp new file mode 100644 index 0000000..1e0de7a --- /dev/null +++ b/source/proxy-dll/component/scheduler.hpp @@ -0,0 +1,33 @@ +#pragma once + +namespace scheduler +{ + enum pipeline + { + // Asynchronuous pipeline, disconnected from the game + async = 0, + + // The game's rendering pipeline + renderer, + + // The game's server thread + server, + + // The game's main thread + main, + + count, + }; + + static const bool cond_continue = false; + static const bool cond_end = true; + + void schedule(const std::function& callback, pipeline type = pipeline::async, + std::chrono::milliseconds delay = 0ms); + void loop(const std::function& callback, pipeline type = pipeline::async, + std::chrono::milliseconds delay = 0ms); + void once(const std::function& callback, pipeline type = pipeline::async, + std::chrono::milliseconds delay = 0ms); + void on_game_initialized(const std::function& callback, pipeline type = pipeline::async, + std::chrono::milliseconds delay = 0ms); +} diff --git a/source/proxy-dll/component/splash.cpp b/source/proxy-dll/component/splash.cpp new file mode 100644 index 0000000..7d844d1 --- /dev/null +++ b/source/proxy-dll/component/splash.cpp @@ -0,0 +1,227 @@ +#include +#include "loader/component_loader.hpp" + +#include "splash.hpp" +#include "resource.hpp" + +#include +#include + +namespace splash +{ + namespace + { + HWND window{}; + utils::image::object image{}; + std::thread window_thread{}; + + utils::image::object load_splash_image() + { + //const auto self = utils::nt::library::get_by_address(load_splash_image); + //return LoadImageA(self, MAKEINTRESOURCE(IMAGE_SPLASH), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); + + const auto res = utils::nt::load_resource(IMAGE_SPLASH); + const auto img = utils::image::load_image(res); + return utils::image::create_bitmap(img); + } + + void enable_dpi_awareness() + { + const utils::nt::library user32{ "user32.dll" }; + const auto set_dpi = user32 + ? user32.get_proc( + "SetProcessDpiAwarenessContext") + : nullptr; + if (set_dpi) + { + set_dpi(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2); + } + } + + void destroy_window() + { + if (window && IsWindow(window)) + { + ShowWindow(window, SW_HIDE); + DestroyWindow(window); + window = nullptr; + + if (window_thread.joinable()) + { + window_thread.join(); + } + + window = nullptr; + } + else if (window_thread.joinable()) + { + window_thread.detach(); + } + } + + void show() + { + WNDCLASSA wnd_class; + + const auto self = utils::nt::library::get_by_address(load_splash_image); + + wnd_class.style = CS_DROPSHADOW; + wnd_class.cbClsExtra = 0; + wnd_class.cbWndExtra = 0; + wnd_class.lpszMenuName = nullptr; + wnd_class.lpfnWndProc = DefWindowProcA; + wnd_class.hInstance = self; + wnd_class.hIcon = LoadIconA(self, MAKEINTRESOURCEA(ID_ICON)); + wnd_class.hCursor = LoadCursorA(nullptr, IDC_APPSTARTING); + wnd_class.hbrBackground = reinterpret_cast(6); + wnd_class.lpszClassName = "Black Ops 4 Splash Screen"; + + if (RegisterClassA(&wnd_class)) + { + const auto x_pixels = GetSystemMetrics(SM_CXFULLSCREEN); + const auto y_pixels = GetSystemMetrics(SM_CYFULLSCREEN); + + if (image) + { + window = CreateWindowExA(WS_EX_APPWINDOW, "Black Ops 4 Splash Screen", "Project-Bo4", + WS_POPUP | WS_SYSMENU, + (x_pixels - 320) / 2, (y_pixels - 100) / 2, 320, 100, nullptr, + nullptr, + self, nullptr); + + if (window) + { + auto* const image_window = CreateWindowExA(0, "Static", nullptr, WS_CHILD | WS_VISIBLE | 0xEu, + 0, 0, + 320, 100, window, nullptr, self, nullptr); + if (image_window) + { + RECT rect; + SendMessageA(image_window, STM_SETIMAGE, IMAGE_BITMAP, image); + GetWindowRect(image_window, &rect); + + const int width = rect.right - rect.left; + rect.left = (x_pixels - width) / 2; + + const int height = rect.bottom - rect.top; + rect.top = (y_pixels - height) / 2; + + rect.right = rect.left + width; + rect.bottom = rect.top + height; + AdjustWindowRect(&rect, WS_CHILD | WS_VISIBLE | 0xEu, 0); + SetWindowPos(window, nullptr, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, SWP_NOZORDER); + + /* SetWindowRgn(window, + CreateRoundRectRgn(0, 0, rect.right - rect.left, rect.bottom - rect.top, 15, + 15), TRUE);*/ + + ShowWindow(window, SW_SHOW); + UpdateWindow(window); + } + } + } + } + } + + bool draw_frame() + { + if (!window) + { + return false; + } + + MSG msg{}; + bool success = true; + + while (PeekMessageW(&msg, nullptr, NULL, NULL, PM_REMOVE)) + { + TranslateMessage(&msg); + DispatchMessageW(&msg); + + if (msg.message == WM_DESTROY && msg.hwnd == window) + { + PostQuitMessage(0); + } + + if (msg.message == WM_QUIT) + { + success = false; + } + } + return success; + } + + void draw() + { + show(); + while (draw_frame()) + { + std::this_thread::sleep_for(1ms); + } + + window = nullptr; + UnregisterClassA("Black Ops 4 Splash Screen", utils::nt::library{}); + } + } + + class component final : public component_interface + { + public: + component() + { + enable_dpi_awareness(); + + image = load_splash_image(); + window_thread = std::thread([this] + { + draw(); + }); + + /************************************************************************************************************* + ** TODO : Again like many other components, splash needs complete revamp... + ** + ** *[X] Its crashing within unpack sequence because of unauthorized thread or window handle? + ** + ** *[ ] There is significant interval between post_unpack and game window registeration. should replace + ** dispose callback with something better like interception of CreateWindow to decide time to destroy window + ** + ** *[X] enabling dpi_awareness interfering with protection system for some odd reason? + *************************************************************************************************************/ + } + + void pre_destroy() override + { + destroy_window(); + if (window_thread.joinable()) + { + window_thread.detach(); + } + } + + void post_unpack() override + { + destroy_window(); + } + }; + + void hide() + { + if (window && IsWindow(window)) + { + ShowWindow(window, SW_HIDE); + UpdateWindow(window); + } + + destroy_window(); + } + + HWND get_window() + { + return window; + } +} + +#ifndef AVOID_UNNECESSARY_CHANGES +REGISTER_COMPONENT(splash::component) +#endif // AVOID_UNNECESSARY_CHANGES \ No newline at end of file diff --git a/source/proxy-dll/component/splash.hpp b/source/proxy-dll/component/splash.hpp new file mode 100644 index 0000000..4b7cf91 --- /dev/null +++ b/source/proxy-dll/component/splash.hpp @@ -0,0 +1,7 @@ +#pragma once + +namespace splash +{ + void hide(); + HWND get_window(); +} diff --git a/source/proxy-dll/definitions/discovery.cpp b/source/proxy-dll/definitions/discovery.cpp new file mode 100644 index 0000000..858a3e2 --- /dev/null +++ b/source/proxy-dll/definitions/discovery.cpp @@ -0,0 +1,168 @@ +#include +#include "definitions\discovery.hpp" +#include "loader/component_loader.hpp" +#include +#include +#include + +std::unordered_map symbols_list; + +size_t operator"" _d(const char* str, const size_t len) +{ + auto itr = symbols_list.find(std::string(str, len)); + if (itr != symbols_list.end()) return itr->second; // found you! + + //return find_missing_symbol(name); +} + +namespace discovery +{ + void export_address_list_to_json() + { + /* PLACE_HOLDER */ + } + + void import_address_list_from_json() + { + /* PLACE_HOLDER */ + } + + void start_address_list_discovery() + { + auto follow_jmp = [](size_t addr) -> size_t { + return *(int32_t*)(addr + 1) + addr + 5; + }; + + auto follow_lea = [](size_t addr) -> size_t { + return *(int32_t*)(addr + 3) + addr + 7; + }; + + std::vector signature_list; // SYMBOL NAME , SIGNATURE, DISTANCE, SIGNATURE RELATION + + // Main Symbols + signature_list.push_back({ "com_error", "4C 89 4C 24 ? 55 53 56 57 48", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "live_get_connectivity_info", "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC 20 48 8B DA C7 02", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "draw_text_cmd", "48 89 6C 24 ? 41 54 41 56 41 57 48 83 EC 30 80", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "ui_get_font_handle", "48 89 5C 24 ? 57 48 83 EC 30 8B DA 48 8B F9 83", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "scr_place_get_view", "E8 ? ? ? ? 48 85 C0 74 11 4C 8D", 0, SIG_RELEVANCE_JMP_FROM }); + signature_list.push_back({ "r_text_height", "E8 ? ? ? ? 66 0F 6E C0 0F 5B C0 F3 0F 59 C6 F3 0F", 0, SIG_RELEVANCE_JMP_FROM }); + + // Platform Symbols + signature_list.push_back({ "bnet_is_disabled", "40 55 48 8D 6C 24 ? 48 81 EC ? ? ? ? 45 85", 0x17, SIG_RELEVANCE_JMP_FROM }); + signature_list.push_back({ "bnet_is_connected", "48 83 EC 28 48 8B 0D ? ? ? ? E8 ? ? ? ? 84 C0 74 5A", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "bnet_patch_unk1", "48 83 EC 28 48 8B 0D ? ? ? ? E8 ? ? ? ? 84 C0 75 11", 0, SIG_RELEVANCE_DIRECT_HIT }); // Annoying function related to bnet; crashes game + signature_list.push_back({ "bnet_patch_unk2", "E8 ? ? ? ? 8B CF E8 ? ? ? ? 45 33 C0 48", 0, SIG_RELEVANCE_JMP_FROM }); // Annoying function related to bnet; crashes game + signature_list.push_back({ "bnet_patch_unk3", "E8 ? ? ? ? 88 85 ? ? ? ? 48 8B", 0, SIG_RELEVANCE_JMP_FROM }); // BattleNet_IsModeAvailable? + signature_list.push_back({ "bnet_patch_auth3", "E8 ? ? ? ? 84 C0 0F 85 ? ? ? ? 8B CB E8 ? ? ? ? 4C", 0, SIG_RELEVANCE_DIRECT_HIT }); // LiveConnect_BeginCrossAuthPlatform + + // Frame Hooks + signature_list.push_back({ "r_end_frame", "E8 ? ? ? ? 41 F6 DD 1B", 0, SIG_RELEVANCE_JMP_FROM }); + signature_list.push_back({ "com_frame", "48 83 EC 48 48 C7 44 24 ? ? ? ? ? 48 8D 0D", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "g_run_frame", "48 8B C4 48 89 58 10 48 89 70 18 48 89 78 20 55 41 54 41 55 41 56 41 57 48 8D A8 C8 F7 FF FF", 0, SIG_RELEVANCE_DIRECT_HIT }); + + // Demonware + signature_list.push_back({ "curl_setup_ssl_verify_peer", "40 53 48 83 EC 20 BA ? ? ? ? 48 8B D9 48 8B", 0x29, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "curl_setup_ssl_verify_host", "40 53 48 83 EC 20 BA ? ? ? ? 48 8B D9 48 8B", 0x15, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "dw_https", "68 74 74 70 73 00", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "dw_prod_umbrella_url", "68 74 74 70 73 3A 2F 2F 70 72 6F 64 2E 75 6D 62 72 65 6C 6C 61 2E 64 65 6D 6F 6E 77 61 72 65 2E 6E 65 74 00", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "dw_prod_uno_url", "68 74 74 70 73 3A 2F 2F 70 72 6F 64 2E 75 6E 6F 2E 64 65 6D 6F 6E 77 61 72 65 2E 6E 65 74 2F 76 31 2E 30 00", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "dw_auth3_url_frmt", "68 74 74 70 73 3A 2F 2F 25 73 3A 25 64 2F 61 75 74 68 2F 00", 0, SIG_RELEVANCE_DIRECT_HIT }); + + // BuildNumber + signature_list.push_back({ "com_get_build_version", "40 53 48 83 EC 40 44 8B 0D", 0, SIG_RELEVANCE_DIRECT_HIT }); + + // UI Symbols + signature_list.push_back({ "ui_get_model_for_controller", "48 63 C1 48 8D 0D ? ? ? ? 0F B7 04", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "ui_create_model_from_path", "45 33 C9 41 B0 01 E9", 0, SIG_RELEVANCE_DIRECT_HIT }); + signature_list.push_back({ "ui_model_set_string", "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC 20 8B DA 49 8B F1", 0x4E, SIG_RELEVANCE_JMP_FROM }); + signature_list.push_back({ "ui_model_set_int", "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC 20 8B DA 49 8B F1", 0x20, SIG_RELEVANCE_JMP_FROM }); + signature_list.push_back({ "ui_model_set_bool", "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC 20 8B DA 49 8B F1", 0x31, SIG_RELEVANCE_JMP_FROM }); + signature_list.push_back({ "ui_model_set_real", "48 83 EC 28 66 85 C9 74 3A", 0, SIG_RELEVANCE_DIRECT_HIT }); + + + //// Impossible to make signature; should be updated manually + //signature_list.push_back({ "bnet_process_auth3_data", "", 0x000000000_g, SIG_RELEVANCE_IMPOSSIBLE }); + //signature_list.push_back({ "bnet_patch_text_chat", "", 0x000000000_g, SIG_RELEVANCE_IMPOSSIBLE }); + + + logger::write(logger::LOG_TYPE_DEBUG, "[ DISCOVERY ]: Starting signature scan; total defined symbols: %u", signature_list.size()); + + symbols_list.clear(); + int error_count = 0; + + for (sig_instance i : signature_list) + { + if (i.relv == SIG_RELEVANCE_IMPOSSIBLE) + { + symbols_list.insert({ i.name, i.dist }); + continue; + } + + utils::hook::signature::signature_result scan = utils::hook::signature(std::string(i.sig, strlen(i.sig))).process(); + + if (scan.size() == 0 || scan.size() > 1) + { + logger::write(logger::LOG_TYPE_DEBUG, "[ DISCOVERY ]: %s while searching for %s", scan.size() ? "Multiple Matches" : "No Hits", i.name); + error_count++; + continue; + } + + if (i.relv == SIG_RELEVANCE_DIRECT_HIT) + { + symbols_list.insert({ i.name, reinterpret_cast(scan[0]) + i.dist }); + } + else if (i.relv == SIG_RELEVANCE_JMP_FROM) + { + symbols_list.insert({ i.name, follow_jmp(reinterpret_cast(scan[0]) + i.dist) }); + } + else + { + symbols_list.insert({ i.name, follow_lea(reinterpret_cast(scan[0]) + i.dist) }); + } + } + +#ifdef DEBUG + logger::write(logger::LOG_TYPE_DEBUG, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); + + if (symbols_list.find("com_get_build_version") != symbols_list.end()) + { + const char* build_version = utils::hook::invoke(symbols_list["com_get_build_version"]); // Com_GetBuildVersion() + logger::write(logger::LOG_TYPE_DEBUG, "Address-List Discovery Results for BlackOps4 %s", build_version); + } + + for (auto symbol : symbols_list) + { + logger::write(logger::LOG_TYPE_DEBUG, "- %-28s: 0x%llX_g", symbol.first.c_str(), reverse_g(symbol.second)); + } + + logger::write(logger::LOG_TYPE_DEBUG, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); +#endif // DEBUG + + logger::write(logger::LOG_TYPE_DEBUG, "[ DISCOVERY ]: Signature scanning complete. %u/%u successful", signature_list.size() - error_count, signature_list.size()); + } + class component final : public component_interface + { + public: + void post_unpack() override + { +#ifdef DEBUG + start_address_list_discovery(); +#endif // DEBUG + + /************************************************************************************************************* + ** NOTE : Updating game code by developers depending on compiler and where and what changes made, most likely + ** will shift addresses. using signature patterns to find addresses at runtime is a good counter to this + ** problem when game gets updated frequently but there should be decent fail-safe mechanism implemented + ** to detect sig-scanning errors when there is signature-breaking changes in binary to prevent misleadings + ** + *************************************************************************************************************/ + } + + int priority() override + { + return 9998; + } + }; +} +REGISTER_COMPONENT(discovery::component) + diff --git a/source/proxy-dll/definitions/discovery.hpp b/source/proxy-dll/definitions/discovery.hpp new file mode 100644 index 0000000..4638cc1 --- /dev/null +++ b/source/proxy-dll/definitions/discovery.hpp @@ -0,0 +1,22 @@ +#pragma once + +size_t operator"" _d(const char* str, size_t len); + +namespace discovery +{ + enum sig_relation + { + SIG_RELEVANCE_IMPOSSIBLE = -1, + SIG_RELEVANCE_DIRECT_HIT = 0, + SIG_RELEVANCE_LEA_FROM = 1, + SIG_RELEVANCE_JMP_FROM = 2 + }; + + struct sig_instance + { + const char* name; + const char* sig; + size_t dist; + sig_relation relv; + }; +} \ No newline at end of file diff --git a/source/proxy-dll/definitions/t8_engine.cpp b/source/proxy-dll/definitions/t8_engine.cpp new file mode 100644 index 0000000..538662e --- /dev/null +++ b/source/proxy-dll/definitions/t8_engine.cpp @@ -0,0 +1,51 @@ +#include +#include "definitions\t8_engine.hpp" +#include "loader/component_loader.hpp" +#include +#include + +namespace game +{ + std::string version_string = "VERSION STRING UN-INITIALIZED"; + + typedef const char* (__fastcall* Com_GetBuildVersion_t)(); + Com_GetBuildVersion_t Com_GetBuildVersion = (Com_GetBuildVersion_t)0x142892F40_g; + + namespace + { + void verify_game_version() + { + if (*(int*)0x1449CA7E8_g != 13869365) // BlackOps4 CL(13869365) BEYQBBUILD106 DEV [Wed Feb 22 16:31:32 2023] + { + throw std::runtime_error("Unsupported BlackOps4.exe Version. Update Your game using Battle.net Launcher"); + } + + version_string = std::format("BlackOps4 {}", Com_GetBuildVersion()); + +#ifdef DEBUG + logger::write(logger::LOG_TYPE_DEBUG, "[ SYSTEM ]: game version string: %s", version_string.c_str()); +#endif // DEBUG + } + } + + class component final : public component_interface + { + public: + void pre_start() override + { + /* PLACE_HOLDER */ + } + + void post_unpack() override + { + verify_game_version(); + } + + int priority() override + { + return 9997; + } + }; +} + +REGISTER_COMPONENT(game::component) \ No newline at end of file diff --git a/source/proxy-dll/definitions/t8_engine.hpp b/source/proxy-dll/definitions/t8_engine.hpp new file mode 100644 index 0000000..ae66394 --- /dev/null +++ b/source/proxy-dll/definitions/t8_engine.hpp @@ -0,0 +1,115 @@ +#pragma once + +#include "definitions\discovery.hpp" + +#define WEAK __declspec(selectany) + +namespace game +{ + extern std::string version_string; + + typedef float vec_t; + typedef vec_t vec2_t[2]; + typedef vec_t vec3_t[3]; + typedef vec_t vec4_t[4]; + + struct T8_Hash_t + { + int64_t value; + int64_t wtf; + }; + + struct ScreenPlacement + { + vec2_t scaleVirtualToReal; + vec2_t scaleVirtualToFull; + vec2_t scaleRealToVirtual; + vec2_t virtualViewableMin; + vec2_t virtualViewableMax; + vec2_t virtualTweakableMin; + vec2_t virtualTweakableMax; + vec2_t realViewportBase; + vec2_t realViewportSize; + vec2_t realViewportMid; + vec2_t realViewableMin; + vec2_t realViewableMax; + vec2_t realTweakableMin; + vec2_t realTweakableMax; + vec2_t subScreen; + float hudSplitscreenScale; + }; + + enum itemTextStyle + { + ITEM_TEXTSTYLE_NORMAL = 0, + ITEM_TEXTSTYLE_SHADOWED = 3, + ITEM_TEXTSTYLE_SHADOWEDMORE = 6, + ITEM_TEXTSTYLE_BORDERED = 7, + ITEM_TEXTSTYLE_BORDEREDMORE = 8, + ITEM_TEXTSTYLE_MONOSPACE = 128, + ITEM_TEXTSTYLE_MONOSPACESHADOWED = 132, + }; + + enum errorParm + { + ERR_FATAL = 0, + ERR_DROP = 1, + ERR_SERVERDISCONNECT = 2, + ERR_DISCONNECT = 3, + ERR_SCRIPT = 4, + ERR_SCRIPT_DROP = 5, + ERR_LOCALIZATION = 6, + ERR_MAPLOADERRORSUMMARY = 7, + }; + + template + class symbol + { + public: + symbol(const size_t address) + : address_(reinterpret_cast(address)) + { + } + + T* get() const + { + return address_; + } + + operator T* () const + { + return this->get(); + } + + T* operator->() const + { + return this->get(); + } + + private: + T* address_; + }; + + // Main Functions + WEAK symbol Com_Error_{ 0x14288B410_g }; + + // Live Functions + WEAK symbol Live_GetConnectivityInformation{ 0x1437FA460_g }; + + // Rendering Functions + WEAK symbol T8_AddBaseDrawTextCmd{ 0x143616B60_g }; + WEAK symbol UI_GetFontHandle{ 0x143CD0A30_g }; + WEAK symbol R_TextHeight{ 0x1435B2350_g }; // [BO4-BNET-2023] + + WEAK symbol ScrPlace_GetView{ 0x142876E70_g }; + + +#define R_AddCmdDrawText(TXT, MC, F, X, Y, XS, YS, R, C, S) \ + T8_AddBaseDrawTextCmd(TXT, MC, F, X, Y, XS, YS, R, C, S, -1, 0, 0) + +#define R_AddCmdDrawTextWithCursor(TXT, MC, F, X, Y, XS, YS, R, C, S, CP, CC) \ + T8_AddBaseDrawTextCmd(TXT, MC, F, X, Y, XS, YS, R, C, S, CP, CC, 0) + +#define Com_Error(code, fmt, ...) \ + Com_Error_(__FILE__, __LINE__, code, fmt, ##__VA_ARGS__) +} \ No newline at end of file diff --git a/source/proxy-dll/ida_defs.h b/source/proxy-dll/ida_defs.h new file mode 100644 index 0000000..2763084 --- /dev/null +++ b/source/proxy-dll/ida_defs.h @@ -0,0 +1,380 @@ +/* + + This file contains definitions used by the Hex-Rays decompiler output. + It has type definitions and convenience macros to make the + output more readable. + + Copyright (c) 2007-2017 Hex-Rays + +*/ + +#ifndef HEXRAYS_DEFS_H +#define HEXRAYS_DEFS_H + +#if defined(__GNUC__) +typedef long long ll; +typedef unsigned long long ull; +#define __int64 long long +#define __int32 int +#define __int16 short +#define __int8 char +#define MAKELL(num) num ## LL +#define FMT_64 "ll" +#elif defined(_MSC_VER) +typedef __int64 ll; +typedef unsigned __int64 ull; +#define MAKELL(num) num ## i64 +#define FMT_64 "I64" +#elif defined (__BORLANDC__) +typedef __int64 ll; +typedef unsigned __int64 ull; +#define MAKELL(num) num ## i64 +#define FMT_64 "L" +#else +#error "unknown compiler" +#endif +typedef unsigned int uint; +typedef unsigned char uchar; +typedef unsigned short ushort; +typedef unsigned long ulong; + +typedef char int8; +typedef signed char sint8; +typedef unsigned char uint8; +typedef short int16; +typedef signed short sint16; +typedef unsigned short uint16; +typedef int int32; +typedef signed int sint32; +typedef unsigned int uint32; +typedef ll int64; +typedef ll sint64; +typedef ull uint64; + +// Partially defined types. They are used when the decompiler does not know +// anything about the type except its size. +#define _BYTE uint8 +#define _WORD uint16 +#define _DWORD uint32 +#define _QWORD uint64 +#if !defined(_MSC_VER) +#define _LONGLONG __int128 +#endif + +// Non-standard boolean types. They are used when the decompiler can not use +// the standard "bool" type because of the size mistmatch but the possible +// values are only 0 and 1. See also 'BOOL' type below. +typedef int8 _BOOL1; +typedef int16 _BOOL2; +typedef int32 _BOOL4; + +#ifndef _WINDOWS_ +typedef int8 BYTE; +typedef int16 WORD; +typedef int32 DWORD; +typedef int32 LONG; +typedef int BOOL; // uppercase BOOL is usually 4 bytes +#endif +typedef int64 QWORD; +#ifndef __cplusplus +typedef int bool; // we want to use bool in our C programs +#endif + +#define __pure // pure function: always returns the same value, has no + // side effects + +// Non-returning function +#if defined(__GNUC__) +#define __noreturn __attribute__((noreturn)) +#else +#define __noreturn __declspec(noreturn) +#endif + + +#ifndef NULL +#define NULL 0 +#endif + +// Some convenience macros to make partial accesses nicer +#define LAST_IND(x,part_type) (sizeof(x)/sizeof(part_type) - 1) +#if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN +# define LOW_IND(x,part_type) LAST_IND(x,part_type) +# define HIGH_IND(x,part_type) 0 +#else +# define HIGH_IND(x,part_type) LAST_IND(x,part_type) +# define LOW_IND(x,part_type) 0 +#endif +// first unsigned macros: +#define BYTEn(x, n) (*((_BYTE*)&(x)+n)) +#define WORDn(x, n) (*((_WORD*)&(x)+n)) +#define DWORDn(x, n) (*((_DWORD*)&(x)+n)) + +#define LOBYTE(x) BYTEn(x,LOW_IND(x,_BYTE)) +#define LOWORD(x) WORDn(x,LOW_IND(x,_WORD)) +#define LODWORD(x) DWORDn(x,LOW_IND(x,_DWORD)) +#define HIBYTE(x) BYTEn(x,HIGH_IND(x,_BYTE)) +#define HIWORD(x) WORDn(x,HIGH_IND(x,_WORD)) +#define HIDWORD(x) DWORDn(x,HIGH_IND(x,_DWORD)) +#define BYTE1(x) BYTEn(x, 1) // byte 1 (counting from 0) +#define BYTE2(x) BYTEn(x, 2) +#define BYTE3(x) BYTEn(x, 3) +#define BYTE4(x) BYTEn(x, 4) +#define BYTE5(x) BYTEn(x, 5) +#define BYTE6(x) BYTEn(x, 6) +#define BYTE7(x) BYTEn(x, 7) +#define BYTE8(x) BYTEn(x, 8) +#define BYTE9(x) BYTEn(x, 9) +#define BYTE10(x) BYTEn(x, 10) +#define BYTE11(x) BYTEn(x, 11) +#define BYTE12(x) BYTEn(x, 12) +#define BYTE13(x) BYTEn(x, 13) +#define BYTE14(x) BYTEn(x, 14) +#define BYTE15(x) BYTEn(x, 15) +#define WORD1(x) WORDn(x, 1) +#define WORD2(x) WORDn(x, 2) // third word of the object, unsigned +#define WORD3(x) WORDn(x, 3) +#define WORD4(x) WORDn(x, 4) +#define WORD5(x) WORDn(x, 5) +#define WORD6(x) WORDn(x, 6) +#define WORD7(x) WORDn(x, 7) + +// now signed macros (the same but with sign extension) +#define SBYTEn(x, n) (*((int8*)&(x)+n)) +#define SWORDn(x, n) (*((int16*)&(x)+n)) +#define SDWORDn(x, n) (*((int32*)&(x)+n)) + +#define SLOBYTE(x) SBYTEn(x,LOW_IND(x,int8)) +#define SLOWORD(x) SWORDn(x,LOW_IND(x,int16)) +#define SLODWORD(x) SDWORDn(x,LOW_IND(x,int32)) +#define SHIBYTE(x) SBYTEn(x,HIGH_IND(x,int8)) +#define SHIWORD(x) SWORDn(x,HIGH_IND(x,int16)) +#define SHIDWORD(x) SDWORDn(x,HIGH_IND(x,int32)) +#define SBYTE1(x) SBYTEn(x, 1) +#define SBYTE2(x) SBYTEn(x, 2) +#define SBYTE3(x) SBYTEn(x, 3) +#define SBYTE4(x) SBYTEn(x, 4) +#define SBYTE5(x) SBYTEn(x, 5) +#define SBYTE6(x) SBYTEn(x, 6) +#define SBYTE7(x) SBYTEn(x, 7) +#define SBYTE8(x) SBYTEn(x, 8) +#define SBYTE9(x) SBYTEn(x, 9) +#define SBYTE10(x) SBYTEn(x, 10) +#define SBYTE11(x) SBYTEn(x, 11) +#define SBYTE12(x) SBYTEn(x, 12) +#define SBYTE13(x) SBYTEn(x, 13) +#define SBYTE14(x) SBYTEn(x, 14) +#define SBYTE15(x) SBYTEn(x, 15) +#define SWORD1(x) SWORDn(x, 1) +#define SWORD2(x) SWORDn(x, 2) +#define SWORD3(x) SWORDn(x, 3) +#define SWORD4(x) SWORDn(x, 4) +#define SWORD5(x) SWORDn(x, 5) +#define SWORD6(x) SWORDn(x, 6) +#define SWORD7(x) SWORDn(x, 7) + + +// Helper functions to represent some assembly instructions. + +#ifdef __cplusplus + +// compile time assertion +#define __CASSERT_N0__(l) COMPILE_TIME_ASSERT_ ## l +#define __CASSERT_N1__(l) __CASSERT_N0__(l) +#define CASSERT(cnd) typedef char __CASSERT_N1__(__LINE__) [(cnd) ? 1 : -1] + +// check that unsigned multiplication does not overflow +template bool is_mul_ok(T count, T elsize) +{ + CASSERT((T)(-1) > 0); // make sure T is unsigned + if (elsize == 0 || count == 0) + return true; + return count <= ((T)(-1)) / elsize; +} + +// multiplication that saturates (yields the biggest value) instead of overflowing +// such a construct is useful in "operator new[]" +template bool saturated_mul(T count, T elsize) +{ + return is_mul_ok(count, elsize) ? count * elsize : T(-1); +} + +#include // for size_t + +// memcpy() with determined behavoir: it always copies +// from the start to the end of the buffer +// note: it copies byte by byte, so it is not equivalent to, for example, rep movsd +inline void* qmemcpy(void* dst, const void* src, size_t cnt) +{ + char* out = (char*)dst; + const char* in = (const char*)src; + while (cnt > 0) + { + *out++ = *in++; + --cnt; + } + return dst; +} + +// Generate a reference to pair of operands +template int16 __PAIR__(int8 high, T low) { return (((int16)high) << sizeof(high) * 8) | uint8(low); } +template int32 __PAIR__(int16 high, T low) { return (((int32)high) << sizeof(high) * 8) | uint16(low); } +template int64 __PAIR__(int32 high, T low) { return (((int64)high) << sizeof(high) * 8) | uint32(low); } +template uint16 __PAIR__(uint8 high, T low) { return (((uint16)high) << sizeof(high) * 8) | uint8(low); } +template uint32 __PAIR__(uint16 high, T low) { return (((uint32)high) << sizeof(high) * 8) | uint16(low); } +template uint64 __PAIR__(uint32 high, T low) { return (((uint64)high) << sizeof(high) * 8) | uint32(low); } + +// rotate left +template T __ROL__(T value, int count) +{ + const uint nbits = sizeof(T) * 8; + + if (count > 0) + { + count %= nbits; + T high = value >> (nbits - count); + if (T(-1) < 0) // signed value + high &= ~((T(-1) << count)); + value <<= count; + value |= high; + } + else + { + count = -count % nbits; + T low = value << (nbits - count); + value >>= count; + value |= low; + } + return value; +} + +inline uint8 __ROL1__(uint8 value, int count) { return __ROL__((uint8)value, count); } +inline uint16 __ROL2__(uint16 value, int count) { return __ROL__((uint16)value, count); } +inline uint32 __ROL4__(uint32 value, int count) { return __ROL__((uint32)value, count); } +inline uint64 __ROL8__(uint64 value, int count) { return __ROL__((uint64)value, count); } +inline uint8 __ROR1__(uint8 value, int count) { return __ROL__((uint8)value, -count); } +inline uint16 __ROR2__(uint16 value, int count) { return __ROL__((uint16)value, -count); } +inline uint32 __ROR4__(uint32 value, int count) { return __ROL__((uint32)value, -count); } +inline uint64 __ROR8__(uint64 value, int count) { return __ROL__((uint64)value, -count); } + +// carry flag of left shift +template int8 __MKCSHL__(T value, uint count) +{ + const uint nbits = sizeof(T) * 8; + count %= nbits; + + return (value >> (nbits - count)) & 1; +} + +// carry flag of right shift +template int8 __MKCSHR__(T value, uint count) +{ + return (value >> (count - 1)) & 1; +} + +// sign flag +template int8 __SETS__(T x) +{ + if (sizeof(T) == 1) + return int8(x) < 0; + if (sizeof(T) == 2) + return int16(x) < 0; + if (sizeof(T) == 4) + return int32(x) < 0; + return int64(x) < 0; +} + +// overflow flag of subtraction (x-y) +template int8 __OFSUB__(T x, U y) +{ + if (sizeof(T) < sizeof(U)) + { + U x2 = x; + int8 sx = __SETS__(x2); + return (sx ^ __SETS__(y)) & (sx ^ __SETS__(x2 - y)); + } + else + { + T y2 = y; + int8 sx = __SETS__(x); + return (sx ^ __SETS__(y2)) & (sx ^ __SETS__(x - y2)); + } +} + +// overflow flag of addition (x+y) +template int8 __OFADD__(T x, U y) +{ + if (sizeof(T) < sizeof(U)) + { + U x2 = x; + int8 sx = __SETS__(x2); + return ((1 ^ sx) ^ __SETS__(y)) & (sx ^ __SETS__(x2 + y)); + } + else + { + T y2 = y; + int8 sx = __SETS__(x); + return ((1 ^ sx) ^ __SETS__(y2)) & (sx ^ __SETS__(x + y2)); + } +} + +// carry flag of subtraction (x-y) +template int8 __CFSUB__(T x, U y) +{ + int size = sizeof(T) > sizeof(U) ? sizeof(T) : sizeof(U); + if (size == 1) + return uint8(x) < uint8(y); + if (size == 2) + return uint16(x) < uint16(y); + if (size == 4) + return uint32(x) < uint32(y); + return uint64(x) < uint64(y); +} + +// carry flag of addition (x+y) +template int8 __CFADD__(T x, U y) +{ + int size = sizeof(T) > sizeof(U) ? sizeof(T) : sizeof(U); + if (size == 1) + return uint8(x) > uint8(x + y); + if (size == 2) + return uint16(x) > uint16(x + y); + if (size == 4) + return uint32(x) > uint32(x + y); + return uint64(x) > uint64(x + y); +} + +#else +// The following definition is not quite correct because it always returns +// uint64. The above C++ functions are good, though. +#define __PAIR__(high, low) (((uint64)(high)<>y) +#define __CFADD__(x, y) invalid_operation // Generate carry flag for (x+y) +#define __CFSUB__(x, y) invalid_operation // Generate carry flag for (x-y) +#define __OFADD__(x, y) invalid_operation // Generate overflow flag for (x+y) +#define __OFSUB__(x, y) invalid_operation // Generate overflow flag for (x-y) +#endif + +// No definition for rcl/rcr because the carry flag is unknown +#define __RCL__(x, y) invalid_operation // Rotate left thru carry +#define __RCR__(x, y) invalid_operation // Rotate right thru carry +#define __MKCRCL__(x, y) invalid_operation // Generate carry flag for a RCL +#define __MKCRCR__(x, y) invalid_operation // Generate carry flag for a RCR +#define __SETP__(x, y) invalid_operation // Generate parity flag for (x-y) + +// In the decompilation listing there are some objects declarared as _UNKNOWN +// because we could not determine their types. Since the C compiler does not +// accept void item declarations, we replace them by anything of our choice, +// for example a char: + +#define _UNKNOWN char + +#ifdef _MSC_VER +#define snprintf _snprintf +#define vsnprintf _vsnprintf +#endif + +#endif // HEXRAYS_DEFS_H \ No newline at end of file diff --git a/source/proxy-dll/loader/component_interface.hpp b/source/proxy-dll/loader/component_interface.hpp new file mode 100644 index 0000000..3fa612d --- /dev/null +++ b/source/proxy-dll/loader/component_interface.hpp @@ -0,0 +1,29 @@ +#pragma once + +class component_interface +{ +public: + virtual ~component_interface() = default; + + virtual void pre_start() + { + } + + virtual void pre_destroy() + { + } + + virtual void post_unpack() + { + } + + virtual bool is_supported() + { + return true; + } + + virtual int priority() + { + return 0; + } +}; diff --git a/source/proxy-dll/loader/component_loader.cpp b/source/proxy-dll/loader/component_loader.cpp new file mode 100644 index 0000000..9db538d --- /dev/null +++ b/source/proxy-dll/loader/component_loader.cpp @@ -0,0 +1,137 @@ +#include +#include "component_loader.hpp" + +#include + +void component_loader::register_component(std::unique_ptr&& component_) +{ + auto& components = get_components(); + components.push_back(std::move(component_)); + + std::ranges::stable_sort(components, [](const std::unique_ptr& a, + const std::unique_ptr& b) + { + return a->priority() > b->priority(); + }); +} + +bool component_loader::pre_start() +{ + static auto res = [] + { + clean(); + + try + { + for (const auto& component_ : get_components()) + { + component_->pre_start(); + } + } + catch (premature_shutdown_trigger&) + { + return false; + } + catch (const std::exception& e) + { + MessageBoxA(nullptr, e.what(), "Error", MB_ICONERROR); + return false; + } + + return true; + }(); + + return res; +} + +void component_loader::post_unpack() +{ + static auto res = [] + { + clean(); + + try + { + for (const auto& component_ : get_components()) + { + component_->post_unpack(); + } + } + catch (const std::exception& e) + { + MessageBoxA(nullptr, e.what(), "Error", MB_ICONERROR); + return false; + } + + return true; + }(); + + if (!res) + { + TerminateProcess(GetCurrentProcess(), 1); + } +} + +void component_loader::pre_destroy() +{ + static auto res = [] + { + clean(); + + try + { + for (const auto& component_ : get_components()) + { + component_->pre_destroy(); + } + } + catch (const std::exception& e) + { + MessageBoxA(nullptr, e.what(), "Error", MB_ICONERROR); + return false; + } + + return true; + }(); + + if (!res) + { + TerminateProcess(GetCurrentProcess(), 1); + } +} + +void component_loader::clean() +{ + auto& components = get_components(); + for (auto i = components.begin(); i != components.end();) + { + if (!(*i)->is_supported()) + { + (*i)->pre_destroy(); + i = components.erase(i); + } + else + { + ++i; + } + } +} + +void component_loader::trigger_premature_shutdown() +{ + throw premature_shutdown_trigger(); +} + +std::vector>& component_loader::get_components() +{ + using component_vector = std::vector>; + using component_vector_container = std::unique_ptr>; + + static component_vector_container components(new component_vector, [](const component_vector* component_vector) + { + pre_destroy(); + delete component_vector; + }); + + return *components; +} \ No newline at end of file diff --git a/source/proxy-dll/loader/component_loader.hpp b/source/proxy-dll/loader/component_loader.hpp new file mode 100644 index 0000000..8c12e72 --- /dev/null +++ b/source/proxy-dll/loader/component_loader.hpp @@ -0,0 +1,58 @@ +#pragma once +#include "component_interface.hpp" + +class component_loader final +{ +public: + class premature_shutdown_trigger final : public std::exception + { + [[nodiscard]] const char* what() const noexcept override + { + return "Premature shutdown requested"; + } + }; + + template + class installer final + { + static_assert(std::is_base_of_v, "component has invalid base class"); + + public: + installer() + { + register_component(std::make_unique()); + } + }; + + template + static T* get() + { + for (const auto& component_ : get_components()) + { + if (typeid(*component_.get()) == typeid(T)) + { + return reinterpret_cast(component_.get()); + } + } + + return nullptr; + } + + static void register_component(std::unique_ptr&& component); + + static bool pre_start(); + static void post_unpack(); + static void pre_destroy(); + static void clean(); + + static void trigger_premature_shutdown(); + +private: + static std::vector>& get_components(); +}; + +#define REGISTER_COMPONENT(name) \ +namespace \ +{ \ + static component_loader::installer __component; \ +} diff --git a/source/proxy-dll/main.cpp b/source/proxy-dll/main.cpp new file mode 100644 index 0000000..831fcfb --- /dev/null +++ b/source/proxy-dll/main.cpp @@ -0,0 +1,233 @@ +#include + +#include "loader/component_loader.hpp" +#include +#include +#include +#include +#include +#include "component/logger.hpp" + + +namespace +{ + DECLSPEC_NORETURN void WINAPI exit_hook(const uint32_t code) + { + component_loader::pre_destroy(); + ExitProcess(code); + } + + std::pair patch_import(const std::string& lib, const std::string& func, void* function) + { + static const utils::nt::library game{}; + + const auto game_entry = game.get_iat_entry(lib, func); + if (!game_entry) + { + throw std::runtime_error("Import '" + func + "' not found!"); + } + +#ifdef DEBUG + logger::write(logger::LOG_TYPE_DEBUG, "[ IAT-HOOKS ]: Diverted %s::%s from %p to %p", utils::string::to_upper(lib).c_str(), func.c_str(), game_entry, function); +#endif // DEBUG + + const auto original_import = game_entry; + utils::hook::set(game_entry, function); + return { game_entry, original_import }; + } + + INT WINAPI get_system_metrics(int nIndex) + { +#ifdef DEBUG + logger::write(logger::LOG_TYPE_DEBUG, "get_system_metrics(%i)", nIndex); +#endif // DEBUG + + component_loader::post_unpack(); + + return GetSystemMetrics(nIndex); + } + + void patch_imports() + { + patch_import("user32.dll", "GetSystemMetrics", get_system_metrics); + + //utils::hook::set(utils::nt::library{}.get_iat_entry("kernel32.dll", "ExitProcess"), exit_hook); + } + + void remove_crash_file() + { + const utils::nt::library game{}; + const auto game_file = game.get_path(); + auto game_path = std::filesystem::path(game_file); + game_path.replace_extension(".start"); + + utils::io::remove_file(game_path.generic_string()); + } + + bool run() + { + srand(uint32_t(time(nullptr)) ^ ~(GetTickCount() * GetCurrentProcessId())); + + { + auto premature_shutdown = true; + const auto _ = utils::finally([&premature_shutdown]() + { + if (premature_shutdown) + { + component_loader::pre_destroy(); + } + }); + + try + { + patch_imports(); + remove_crash_file(); + + if (!component_loader::pre_start()) + { + return false; + } + + premature_shutdown = false; + } + catch (std::exception& e) + { + MessageBoxA(nullptr, e.what(), "ERROR", MB_ICONERROR); + return false; + } + } + + return true; + } + + class patch + { + public: + patch() = default; + + patch(void* source, void* target) + : source_(source) + { + memcpy(this->data_, source, sizeof(this->data_)); + utils::hook::jump(this->source_, target, true, true); + } + + ~patch() + { + if (source_) + { + utils::hook::copy(this->source_, this->data_, sizeof(this->data_)); + } + } + + patch(patch&& obj) noexcept + : patch() + { + this->operator=(std::move(obj)); + } + + patch& operator=(patch&& obj) noexcept + { + if (this != &obj) + { + this->~patch(); + + this->source_ = obj.source_; + memcpy(this->data_, obj.data_, sizeof(this->data_)); + + obj.source_ = nullptr; + } + + return *this; + } + + private: + void* source_{ nullptr }; + uint8_t data_[15]{}; + }; + + std::vector initialization_hooks{}; + + uint8_t* get_entry_point() + { + const utils::nt::library game{}; + return game.get_ptr() + game.get_optional_header()->AddressOfEntryPoint; + } + + std::vector get_tls_callbacks() + { + const utils::nt::library game{}; + const auto& entry = game.get_optional_header()->DataDirectory[IMAGE_DIRECTORY_ENTRY_TLS]; + if (!entry.VirtualAddress || !entry.Size) + { + return {}; + } + + const auto* tls_dir = reinterpret_cast(game.get_ptr() + entry.VirtualAddress); + auto* callback = reinterpret_cast(tls_dir->AddressOfCallBacks); + + std::vector addresses{}; + while (callback && *callback) + { + addresses.emplace_back(*callback); + ++callback; + } + + return addresses; + } + + int patch_main() + { + if (!run()) + { + return 1; + } + + initialization_hooks.clear(); + return reinterpret_cast(get_entry_point())(); + } + + void nullsub() + { + } + + void patch_entry_point() + { + initialization_hooks.emplace_back(get_entry_point(), patch_main); + + for (auto* tls_callback : get_tls_callbacks()) + { + initialization_hooks.emplace_back(tls_callback, nullsub); + } + } +} + +BOOL WINAPI DllMain(HINSTANCE, const DWORD reason, LPVOID) +{ + if (reason == DLL_PROCESS_ATTACH) + { + patch_entry_point(); + } + + return TRUE; +} + +extern "C" __declspec(dllexport) +HRESULT D3D11CreateDevice(void* adapter, const uint64_t driver_type, + const HMODULE software, const UINT flags, + const void* p_feature_levels, const UINT feature_levels, + const UINT sdk_version, void** device, void* feature_level, + void** immediate_context) +{ + static auto func = [] + { + char dir[MAX_PATH]{ 0 }; + GetSystemDirectoryA(dir, sizeof(dir)); + + const auto d3d11 = utils::nt::library::load(dir + "/d3d11.dll"s); + return d3d11.get_proc("D3D11CreateDevice"); + }(); + + return func(adapter, driver_type, software, flags, p_feature_levels, feature_levels, sdk_version, device, + feature_level, immediate_context); +} diff --git a/source/proxy-dll/resource.hpp b/source/proxy-dll/resource.hpp new file mode 100644 index 0000000..6b7ec13 --- /dev/null +++ b/source/proxy-dll/resource.hpp @@ -0,0 +1,17 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by resource.rc +// +#define ID_ICON 102 +#define IMAGE_SPLASH 103 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 104 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/source/proxy-dll/resource.rc b/source/proxy-dll/resource.rc new file mode 100644 index 0000000..fec81c1 --- /dev/null +++ b/source/proxy-dll/resource.rc @@ -0,0 +1,79 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.hpp" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.hpp\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +ID_ICON ICON "resources/icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// RCDATA +// + +IMAGE_SPLASH RCDATA "resources/splash.jpg" + + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/source/proxy-dll/resources/icon.ico b/source/proxy-dll/resources/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..dae35eb34168a88b7889ade3fca82e2575729674 GIT binary patch literal 118679 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%0DW-w0=aOWwh!J_ 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 O>Wz|yVzs2LXV0fEE0?kq92VGl1{0 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 +#include + +size_t get_base() +{ + static auto base = size_t(utils::nt::library{}.get_ptr()); + assert(base && "Failed to resolve base"); + return base; +} + + +size_t operator"" _b(const size_t val) +{ + return get_base() + val; +} + +size_t reverse_b(const size_t val) +{ + return val - get_base(); +} + +size_t reverse_b(const void* val) +{ + return reverse_b(reinterpret_cast(val)); +} + + +size_t operator"" _g(const size_t val) +{ + static auto base = get_base(); + return base + (val - 0x140000000); +} + +size_t reverse_g(const size_t val) +{ + static auto base = get_base(); + return (val - base) + 0x140000000; +} + +size_t reverse_g(const void* val) +{ + return reverse_g(reinterpret_cast(val)); +} diff --git a/source/proxy-dll/std_include.hpp b/source/proxy-dll/std_include.hpp new file mode 100644 index 0000000..569d7a6 --- /dev/null +++ b/source/proxy-dll/std_include.hpp @@ -0,0 +1,106 @@ +#pragma once + +#pragma warning(push) +#pragma warning(disable: 4100) +#pragma warning(disable: 4127) +#pragma warning(disable: 4244) +#pragma warning(disable: 4458) +#pragma warning(disable: 4702) +#pragma warning(disable: 4996) +#pragma warning(disable: 5054) +#pragma warning(disable: 5056) +#pragma warning(disable: 6011) +#pragma warning(disable: 6297) +#pragma warning(disable: 6385) +#pragma warning(disable: 6386) +#pragma warning(disable: 6387) +#pragma warning(disable: 26110) +#pragma warning(disable: 26451) +#pragma warning(disable: 26444) +#pragma warning(disable: 26451) +#pragma warning(disable: 26489) +#pragma warning(disable: 26495) +#pragma warning(disable: 26498) +#pragma warning(disable: 26812) +#pragma warning(disable: 28020) + +#define WIN32_LEAN_AND_MEAN + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// min and max is required by gdi, therefore NOMINMAX won't work +#ifdef max +#undef max +#endif + +#ifdef min +#undef min +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#define RAPIDJSON_NOEXCEPT +#define RAPIDJSON_ASSERT(cond) if(cond); else throw std::runtime_error("rapidjson assert fail"); + +#include +#include +#include + +#pragma warning(pop) +#pragma warning(disable: 4100) + +#pragma comment(lib, "ntdll.lib") +#pragma comment(lib, "ws2_32.lib") +#pragma comment(lib, "urlmon.lib" ) +#pragma comment(lib, "iphlpapi.lib") +#pragma comment(lib, "Crypt32.lib") + +using namespace std::literals; + +size_t get_base(); +size_t operator"" _b(size_t val); +size_t reverse_b(size_t val); +size_t reverse_b(const void* val); + + +size_t operator"" _g(size_t val); +size_t reverse_g(size_t val); +size_t reverse_g(const void* val); \ No newline at end of file diff --git a/source/shared-code/exception/minidump.cpp b/source/shared-code/exception/minidump.cpp new file mode 100644 index 0000000..a55d290 --- /dev/null +++ b/source/shared-code/exception/minidump.cpp @@ -0,0 +1,85 @@ +#include "minidump.hpp" + +#include +#pragma comment(lib, "dbghelp.lib") + +namespace exception +{ + namespace + { + constexpr MINIDUMP_TYPE get_minidump_type() + { + constexpr auto type = MiniDumpIgnoreInaccessibleMemory // + | MiniDumpWithHandleData // + | MiniDumpScanMemory // + | MiniDumpWithProcessThreadData // + | MiniDumpWithFullMemoryInfo // + | MiniDumpWithThreadInfo // + | MiniDumpWithUnloadedModules; + + return static_cast(type); + } + + std::string get_temp_filename() + { + char filename[MAX_PATH] = {0}; + char pathname[MAX_PATH] = {0}; + + GetTempPathA(sizeof(pathname), pathname); + GetTempFileNameA(pathname, "boiii-", 0, filename); + return filename; + } + + HANDLE write_dump_to_temp_file(const LPEXCEPTION_POINTERS exceptioninfo) + { + MINIDUMP_EXCEPTION_INFORMATION minidump_exception_info = {GetCurrentThreadId(), exceptioninfo, FALSE}; + + auto* const file_handle = CreateFileA(get_temp_filename().data(), GENERIC_WRITE | GENERIC_READ, + FILE_SHARE_READ | FILE_SHARE_WRITE, nullptr, OPEN_ALWAYS, + FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE, + nullptr); + + if (!MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), file_handle, get_minidump_type(), + &minidump_exception_info, + nullptr, + nullptr)) + { + MessageBoxA(nullptr, "There was an error creating the minidump! Hit OK to close the program.", + "Minidump Error", MB_OK | MB_ICONERROR); + TerminateProcess(GetCurrentProcess(), 123); + } + + return file_handle; + } + + std::string read_file(const HANDLE file_handle) + { + FlushFileBuffers(file_handle); + SetFilePointer(file_handle, 0, nullptr, FILE_BEGIN); + + std::string buffer{}; + + DWORD bytes_read = 0; + char temp_bytes[0x2000]; + + do + { + if (!ReadFile(file_handle, temp_bytes, sizeof(temp_bytes), &bytes_read, nullptr)) + { + return {}; + } + + buffer.append(temp_bytes, bytes_read); + } + while (bytes_read == sizeof(temp_bytes)); + + return buffer; + } + } + + std::string create_minidump(const LPEXCEPTION_POINTERS exceptioninfo) + { + const utils::nt::handle file_handle = write_dump_to_temp_file(exceptioninfo); + return read_file(file_handle); + } +} diff --git a/source/shared-code/exception/minidump.hpp b/source/shared-code/exception/minidump.hpp new file mode 100644 index 0000000..42b3a46 --- /dev/null +++ b/source/shared-code/exception/minidump.hpp @@ -0,0 +1,8 @@ +#pragma once + +#include "../utils/nt.hpp" + +namespace exception +{ + std::string create_minidump(LPEXCEPTION_POINTERS exceptioninfo); +} diff --git a/source/shared-code/utils/binary_resource.cpp b/source/shared-code/utils/binary_resource.cpp new file mode 100644 index 0000000..eed83b0 --- /dev/null +++ b/source/shared-code/utils/binary_resource.cpp @@ -0,0 +1,75 @@ +#include "binary_resource.hpp" + +#include +#include "nt.hpp" +#include "io.hpp" + +namespace utils +{ + namespace + { + std::string get_temp_folder() + { + char path[MAX_PATH] = {0}; + if (!GetTempPathA(sizeof(path), path)) + { + throw std::runtime_error("Unable to get temp path"); + } + + return path; + } + + std::string write_existing_temp_file(const std::string& file, const std::string& data, + const bool fatal_if_overwrite_fails) + { + const auto temp = get_temp_folder(); + auto file_path = temp + file; + + std::string current_data; + if (!io::read_file(file_path, ¤t_data)) + { + if (!io::write_file(file_path, data)) + { + throw std::runtime_error("Failed to write file: " + file_path); + } + + return file_path; + } + + if (current_data == data || io::write_file(file_path, data) || !fatal_if_overwrite_fails) + { + return file_path; + } + + throw std::runtime_error( + "Temporary file was already written, but differs. It can't be overwritten as it's still in use: " + + file_path); + } + } + + binary_resource::binary_resource(const int id, std::string file) + : filename_(std::move(file)) + { + this->resource_ = nt::load_resource(id); + + if (this->resource_.empty()) + { + throw std::runtime_error("Unable to load resource: " + std::to_string(id)); + } + } + + std::string binary_resource::get_extracted_file(const bool fatal_if_overwrite_fails) + { + if (this->path_.empty()) + { + this->path_ = write_existing_temp_file(this->filename_, this->resource_, fatal_if_overwrite_fails); + } + + return this->path_; + } + + const std::string& binary_resource::get_data() const + { + return this->resource_; + } +} diff --git a/source/shared-code/utils/binary_resource.hpp b/source/shared-code/utils/binary_resource.hpp new file mode 100644 index 0000000..da19af1 --- /dev/null +++ b/source/shared-code/utils/binary_resource.hpp @@ -0,0 +1,20 @@ +#pragma once + +#include + +namespace utils +{ + class binary_resource + { + public: + binary_resource(int id, std::string file); + + std::string get_extracted_file(bool fatal_if_overwrite_fails = false); + const std::string& get_data() const; + + private: + std::string resource_; + std::string filename_; + std::string path_; + }; +} diff --git a/source/shared-code/utils/com.cpp b/source/shared-code/utils/com.cpp new file mode 100644 index 0000000..efb1fe0 --- /dev/null +++ b/source/shared-code/utils/com.cpp @@ -0,0 +1,134 @@ +#include "com.hpp" +#include "nt.hpp" +#include "string.hpp" +#include "finally.hpp" + +#include + +#include + + +namespace utils::com +{ + namespace + { + void initialize_com() + { + static struct x + { + x() + { + if (FAILED(CoInitialize(nullptr))) + { + throw std::runtime_error("Failed to initialize the component object model"); + } + } + + ~x() + { + CoUninitialize(); + } + } xx; + } + } + + bool select_folder(std::string& out_folder, const std::string& title, const std::string& selected_folder) + { + initialize_com(); + + CComPtr file_dialog{}; + if (FAILED(CoCreateInstance(CLSID_FileOpenDialog, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&file_dialog)))) + { + throw std::runtime_error("Failed to create co instance"); + } + + DWORD dw_options; + if (FAILED(file_dialog->GetOptions(&dw_options))) + { + throw std::runtime_error("Failed to get options"); + } + + if (FAILED(file_dialog->SetOptions(dw_options | FOS_PICKFOLDERS))) + { + throw std::runtime_error("Failed to set options"); + } + + const std::wstring wide_title(title.begin(), title.end()); + if (FAILED(file_dialog->SetTitle(wide_title.data()))) + { + throw std::runtime_error("Failed to set title"); + } + + if (!selected_folder.empty()) + { + file_dialog->ClearClientData(); + + std::wstring wide_selected_folder(selected_folder.begin(), selected_folder.end()); + for (auto& chr : wide_selected_folder) + { + if (chr == L'/') + { + chr = L'\\'; + } + } + + IShellItem* shell_item = nullptr; + if (FAILED(SHCreateItemFromParsingName(wide_selected_folder.data(), NULL, IID_PPV_ARGS(&shell_item)))) + { + throw std::runtime_error("Failed to create item from parsing name"); + } + + if (FAILED(file_dialog->SetDefaultFolder(shell_item))) + { + throw std::runtime_error("Failed to set default folder"); + } + } + + const auto result = file_dialog->Show(nullptr); + if (result == HRESULT_FROM_WIN32(ERROR_CANCELLED)) + { + return false; + } + + if (FAILED(result)) + { + throw std::runtime_error("Failed to show dialog"); + } + + CComPtr result_item{}; + if (FAILED(file_dialog->GetResult(&result_item))) + { + throw std::runtime_error("Failed to get result"); + } + + PWSTR raw_path = nullptr; + if (FAILED(result_item->GetDisplayName(SIGDN_FILESYSPATH, &raw_path))) + { + throw std::runtime_error("Failed to get path display name"); + } + + const auto _ = finally([raw_path]() + { + CoTaskMemFree(raw_path); + }); + + const std::wstring result_path = raw_path; + out_folder = string::convert(result_path); + + return true; + } + + CComPtr create_progress_dialog() + { + initialize_com(); + + CComPtr progress_dialog{}; + if (FAILED( + CoCreateInstance(CLSID_ProgressDialog, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&progress_dialog)))) + { + throw std::runtime_error("Failed to create co instance"); + } + + return progress_dialog; + } +} diff --git a/source/shared-code/utils/com.hpp b/source/shared-code/utils/com.hpp new file mode 100644 index 0000000..adafdb4 --- /dev/null +++ b/source/shared-code/utils/com.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include "nt.hpp" +#include +#include + +namespace utils::com +{ + bool select_folder(std::string& out_folder, const std::string& title = "Select a Folder", const std::string& selected_folder = {}); + CComPtr create_progress_dialog(); +} diff --git a/source/shared-code/utils/compression.cpp b/source/shared-code/utils/compression.cpp new file mode 100644 index 0000000..d2a0d17 --- /dev/null +++ b/source/shared-code/utils/compression.cpp @@ -0,0 +1,399 @@ +#include "memory.hpp" +#include "compression.hpp" + +#include +#include +#include + +#include "io.hpp" +#include "finally.hpp" + +namespace utils::compression +{ + namespace zlib + { + namespace + { + class zlib_stream + { + public: + zlib_stream() + { + memset(&stream_, 0, sizeof(stream_)); + valid_ = inflateInit(&stream_) == Z_OK; + } + + zlib_stream(zlib_stream&&) = delete; + zlib_stream(const zlib_stream&) = delete; + zlib_stream& operator=(zlib_stream&&) = delete; + zlib_stream& operator=(const zlib_stream&) = delete; + + ~zlib_stream() + { + if (valid_) + { + inflateEnd(&stream_); + } + } + + z_stream& get() + { + return stream_; // + } + + bool is_valid() const + { + return valid_; + } + + private: + bool valid_{false}; + z_stream stream_{}; + }; + } + + std::string decompress(const std::string& data) + { + std::string buffer{}; + zlib_stream stream_container{}; + if (!stream_container.is_valid()) + { + return {}; + } + + int ret{}; + size_t offset = 0; + static thread_local uint8_t dest[CHUNK] = {0}; + auto& stream = stream_container.get(); + + do + { + const auto input_size = std::min(sizeof(dest), data.size() - offset); + stream.avail_in = static_cast(input_size); + stream.next_in = reinterpret_cast(data.data()) + offset; + offset += stream.avail_in; + + do + { + stream.avail_out = sizeof(dest); + stream.next_out = dest; + + ret = inflate(&stream, Z_NO_FLUSH); + if (ret != Z_OK && ret != Z_STREAM_END) + { + return {}; + } + + buffer.insert(buffer.end(), dest, dest + sizeof(dest) - stream.avail_out); + } + while (stream.avail_out == 0); + } + while (ret != Z_STREAM_END); + + return buffer; + } + + std::string compress(const std::string& data) + { + std::string result{}; + auto length = compressBound(static_cast(data.size())); + result.resize(length); + + if (compress2(reinterpret_cast(result.data()), &length, + reinterpret_cast(data.data()), static_cast(data.size()), + Z_BEST_COMPRESSION) != Z_OK) + { + return {}; + } + + result.resize(length); + return result; + } + } + + namespace zip + { + namespace + { + bool add_file(zipFile& zip_file, const std::string& filename, const std::string& data) + { + const auto zip_64 = data.size() > 0xffffffff ? 1 : 0; + if (ZIP_OK != zipOpenNewFileInZip64(zip_file, filename.data(), nullptr, nullptr, 0, nullptr, 0, nullptr, + Z_DEFLATED, Z_BEST_COMPRESSION, zip_64)) + { + return false; + } + + const auto _ = finally([&zip_file]() + { + zipCloseFileInZip(zip_file); + }); + + return ZIP_OK == zipWriteInFileInZip(zip_file, data.data(), static_cast(data.size())); + } + } + + void archive::add(std::string filename, std::string data) + { + this->files_[std::move(filename)] = std::move(data); + } + + bool archive::write(const std::string& filename, const std::string& comment) + { + // Hack to create the directory :3 + io::write_file(filename, {}); + io::remove_file(filename); + + auto* zip_file = zipOpen64(filename.data(), 0); + if (!zip_file) + { + return false; + } + + const auto _ = finally([&zip_file, &comment]() + { + zipClose(zip_file, comment.empty() ? nullptr : comment.data()); + }); + + for (const auto& file : this->files_) + { + if (!add_file(zip_file, file.first, file.second)) + { + return false; + } + } + + return true; + } + + namespace + { + std::optional> read_zip_file_entry(unzFile& zip_file) + { + char filename[1024]{}; + unz_file_info file_info{}; + if (unzGetCurrentFileInfo(zip_file, &file_info, filename, sizeof(filename), nullptr, 0, nullptr, 0) != + UNZ_OK) + { + return {}; + } + + if (unzOpenCurrentFile(zip_file) != UNZ_OK) + { + return {}; + } + + auto _ = finally([&zip_file] + { + unzCloseCurrentFile(zip_file); + }); + + int error = UNZ_OK; + std::string out_buffer{}; + static thread_local char buffer[0x2000]; + + do + { + error = unzReadCurrentFile(zip_file, buffer, sizeof(buffer)); + if (error < 0) + { + return {}; + } + + // Write data to file. + if (error > 0) + { + out_buffer.append(buffer, error); + } + } + while (error > 0); + + return std::pair{filename, out_buffer}; + } + + class memory_file + { + public: + memory_file(const std::string& data) + : data_(data) + { + func_def_.opaque = this; + func_def_.zopen64_file = open_file_static; + func_def_.zseek64_file = seek_file_static; + func_def_.ztell64_file = tell_file_static; + func_def_.zread_file = read_file_static; + func_def_.zwrite_file = write_file_static; + func_def_.zclose_file = close_file_static; + func_def_.zerror_file = testerror_file_static; + } + + const char* get_name() const + { + return "blub"; + } + + zlib_filefunc64_def* get_func_def() + { + return &this->func_def_; + } + + private: + const std::string& data_; + size_t offset_{0}; + zlib_filefunc64_def func_def_{}; + + voidpf open_file(const void* filename, const int mode) const + { + if (mode != (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_EXISTING)) + { + return nullptr; + } + + if (strcmp(static_cast(filename), get_name()) != 0) + { + return nullptr; + } + + return reinterpret_cast(1); + } + + long seek_file(const voidpf stream, const ZPOS64_T offset, const int origin) + { + if (stream != reinterpret_cast(1)) + { + return -1; + } + + size_t target_base = this->data_.size(); + if (origin == ZLIB_FILEFUNC_SEEK_CUR) + { + target_base = this->offset_; + } + else if (origin == ZLIB_FILEFUNC_SEEK_SET) + { + target_base = 0; + } + + const auto target_offset = target_base + offset; + if (target_offset > this->data_.size()) + { + return -1; + } + + this->offset_ = target_offset; + return 0; + } + + ZPOS64_T tell_file(const voidpf stream) const + { + if (stream != reinterpret_cast(1)) + { + return static_cast(-1); + } + + return this->offset_; + } + + uLong read_file(const voidpf stream, void* buf, const uLong size) + { + if (stream != reinterpret_cast(1)) + { + return 0; + } + + const auto file_end = this->data_.size(); + const auto start = this->offset_; + const auto end = std::min(this->offset_ + size, file_end); + const auto length = end - start; + + memcpy(buf, this->data_.data() + start, length); + this->offset_ = end; + + return static_cast(length); + } + + static voidpf open_file_static(const voidpf opaque, const void* filename, const int mode) + { + return static_cast(opaque)->open_file(filename, mode); + } + + static long seek_file_static(const voidpf opaque, const voidpf stream, const ZPOS64_T offset, + const int origin) + { + return static_cast(opaque)->seek_file(stream, offset, origin); + } + + static ZPOS64_T tell_file_static(const voidpf opaque, const voidpf stream) + { + return static_cast(opaque)->tell_file(stream); + } + + static uLong read_file_static(const voidpf opaque, const voidpf stream, void* buf, const uLong size) + { + return static_cast(opaque)->read_file(stream, buf, size); + } + + static uLong write_file_static(voidpf, voidpf, const void*, uLong) + { + return 0; + } + + static int close_file_static(voidpf, voidpf) + { + return 0; + } + + static int testerror_file_static(voidpf, voidpf) + { + return 0; + } + }; + } + + std::unordered_map extract(const std::string& data) + { + memory_file mem_file(data); + + auto zip_file = unzOpen2_64(mem_file.get_name(), mem_file.get_func_def()); + auto _ = finally([&zip_file] + { + if (zip_file) + { + unzClose(zip_file); + } + }); + + if (!zip_file) + { + return {}; + } + + unz_global_info global_info{}; + if (unzGetGlobalInfo(zip_file, &global_info) != UNZ_OK) + { + return {}; + } + + std::unordered_map files{}; + files.reserve(global_info.number_entry); + + for (auto i = 0ul; i < global_info.number_entry; ++i) + { + if (i > 0 && unzGoToNextFile(zip_file) != UNZ_OK) + { + break; + } + + auto file = read_zip_file_entry(zip_file); + if (!file) + { + continue; + } + + files[std::move(file->first)] = std::move(file->second); + } + + return files; + } + } +} diff --git a/source/shared-code/utils/compression.hpp b/source/shared-code/utils/compression.hpp new file mode 100644 index 0000000..ad79734 --- /dev/null +++ b/source/shared-code/utils/compression.hpp @@ -0,0 +1,30 @@ +#pragma once + +#include +#include + +#define CHUNK 16384u + +namespace utils::compression +{ + namespace zlib + { + std::string compress(const std::string& data); + std::string decompress(const std::string& data); + } + + namespace zip + { + class archive + { + public: + void add(std::string filename, std::string data); + bool write(const std::string& filename, const std::string& comment = {}); + + private: + std::unordered_map files_; + }; + + std::unordered_map extract(const std::string& data); + } +}; diff --git a/source/shared-code/utils/concurrency.hpp b/source/shared-code/utils/concurrency.hpp new file mode 100644 index 0000000..05c5d3a --- /dev/null +++ b/source/shared-code/utils/concurrency.hpp @@ -0,0 +1,46 @@ +#pragma once + +#include + +namespace utils::concurrency +{ + template + class container + { + public: + template + R access(F&& accessor) const + { + std::lock_guard _{mutex_}; + return accessor(object_); + } + + template + R access(F&& accessor) + { + std::lock_guard _{mutex_}; + return accessor(object_); + } + + template + R access_with_lock(F&& accessor) const + { + std::unique_lock lock{mutex_}; + return accessor(object_, lock); + } + + template + R access_with_lock(F&& accessor) + { + std::unique_lock lock{mutex_}; + return accessor(object_, lock); + } + + T& get_raw() { return object_; } + const T& get_raw() const { return object_; } + + private: + mutable MutexType mutex_{}; + T object_{}; + }; +} diff --git a/source/shared-code/utils/cryptography.cpp b/source/shared-code/utils/cryptography.cpp new file mode 100644 index 0000000..e6ce36a --- /dev/null +++ b/source/shared-code/utils/cryptography.cpp @@ -0,0 +1,640 @@ +#include "string.hpp" +#include "cryptography.hpp" +#include "nt.hpp" +#include "finally.hpp" + +#undef max +using namespace std::string_literals; + +/// http://www.opensource.apple.com/source/CommonCrypto/CommonCrypto-55010/Source/libtomcrypt/doc/libTomCryptDoc.pdf + +namespace utils::cryptography +{ + namespace + { + struct __ + { + __() + { + ltc_mp = ltm_desc; + + register_cipher(&aes_desc); + register_cipher(&des3_desc); + + register_prng(&sprng_desc); + register_prng(&fortuna_desc); + register_prng(&yarrow_desc); + + register_hash(&sha1_desc); + register_hash(&sha256_desc); + register_hash(&sha512_desc); + } + } ___; + + [[maybe_unused]] const char* cs(const uint8_t* data) + { + return reinterpret_cast(data); + } + + [[maybe_unused]] char* cs(uint8_t* data) + { + return reinterpret_cast(data); + } + + [[maybe_unused]] const uint8_t* cs(const char* data) + { + return reinterpret_cast(data); + } + + [[maybe_unused]] uint8_t* cs(char* data) + { + return reinterpret_cast(data); + } + + [[maybe_unused]] unsigned long ul(const size_t value) + { + return static_cast(value); + } + + class prng + { + public: + prng(const ltc_prng_descriptor& descriptor, const bool autoseed = true) + : state_(std::make_unique()) + , descriptor_(descriptor) + { + this->id_ = register_prng(&descriptor); + if (this->id_ == -1) + { + throw std::runtime_error("PRNG "s + this->descriptor_.name + " could not be registered!"); + } + + if (autoseed) + { + this->auto_seed(); + } + else + { + this->descriptor_.start(this->state_.get()); + } + } + + ~prng() + { + this->descriptor_.done(this->state_.get()); + } + + prng_state* get_state() const + { + this->descriptor_.ready(this->state_.get()); + return this->state_.get(); + } + + int get_id() const + { + return this->id_; + } + + void add_entropy(const void* data, const size_t length) const + { + this->descriptor_.add_entropy(static_cast(data), ul(length), this->state_.get()); + } + + void read(void* data, const size_t length) const + { + this->descriptor_.read(static_cast(data), ul(length), this->get_state()); + } + + private: + int id_; + std::unique_ptr state_; + const ltc_prng_descriptor& descriptor_; + + void auto_seed() const + { + rng_make_prng(128, this->id_, this->state_.get(), nullptr); + + int i[4]; // uninitialized data + auto* i_ptr = &i; + this->add_entropy(reinterpret_cast(&i), sizeof(i)); + this->add_entropy(reinterpret_cast(&i_ptr), sizeof(i_ptr)); + + auto t = time(nullptr); + this->add_entropy(reinterpret_cast(&t), sizeof(t)); + } + }; + + const prng prng_(fortuna_desc); + } + + ecc::key::key() + { + ZeroMemory(&this->key_storage_, sizeof(this->key_storage_)); + } + + ecc::key::~key() + { + this->free(); + } + + ecc::key::key(key&& obj) noexcept + : key() + { + this->operator=(std::move(obj)); + } + + ecc::key::key(const key& obj) + : key() + { + this->operator=(obj); + } + + ecc::key& ecc::key::operator=(key&& obj) noexcept + { + if (this != &obj) + { + std::memmove(&this->key_storage_, &obj.key_storage_, sizeof(this->key_storage_)); + ZeroMemory(&obj.key_storage_, sizeof(obj.key_storage_)); + } + + return *this; + } + + ecc::key& ecc::key::operator=(const key& obj) + { + if (this != &obj && obj.is_valid()) + { + this->deserialize(obj.serialize(obj.key_storage_.type)); + } + + return *this; + } + + bool ecc::key::is_valid() const + { + return (!memory::is_set(&this->key_storage_, 0, sizeof(this->key_storage_))); + } + + ecc_key& ecc::key::get() + { + return this->key_storage_; + } + + const ecc_key& ecc::key::get() const + { + return this->key_storage_; + } + + std::string ecc::key::get_public_key() const + { + uint8_t buffer[512] = {0}; + unsigned long length = sizeof(buffer); + + if (ecc_ansi_x963_export(&this->key_storage_, buffer, &length) == CRYPT_OK) + { + return std::string(cs(buffer), length); + } + + return {}; + } + + void ecc::key::set(const std::string& pub_key_buffer) + { + this->free(); + + if (ecc_ansi_x963_import(cs(pub_key_buffer.data()), + ul(pub_key_buffer.size()), + &this->key_storage_) != CRYPT_OK) + { + ZeroMemory(&this->key_storage_, sizeof(this->key_storage_)); + } + } + + void ecc::key::deserialize(const std::string& key) + { + this->free(); + + if (ecc_import(cs(key.data()), ul(key.size()), + &this->key_storage_) != CRYPT_OK + ) + { + ZeroMemory(&this->key_storage_, sizeof(this->key_storage_)); + } + } + + std::string ecc::key::serialize(const int type) const + { + uint8_t buffer[4096] = {0}; + unsigned long length = sizeof(buffer); + + if (ecc_export(buffer, &length, type, &this->key_storage_) == CRYPT_OK) + { + return std::string(cs(buffer), length); + } + + return ""; + } + + void ecc::key::free() + { + if (this->is_valid()) + { + ecc_free(&this->key_storage_); + } + + ZeroMemory(&this->key_storage_, sizeof(this->key_storage_)); + } + + bool ecc::key::operator==(key& key) const + { + return (this->is_valid() && key.is_valid() && this->serialize(PK_PUBLIC) == key.serialize(PK_PUBLIC)); + } + + uint64_t ecc::key::get_hash() const + { + const auto hash = sha1::compute(this->get_public_key()); + if (hash.size() >= 8) + { + return *reinterpret_cast(hash.data()); + } + + return 0; + } + + ecc::key ecc::generate_key(const int bits) + { + key key; + ecc_make_key(prng_.get_state(), prng_.get_id(), bits / 8, &key.get()); + + return key; + } + + ecc::key ecc::generate_key(const int bits, const std::string& entropy) + { + key key{}; + const prng yarrow(yarrow_desc, false); + yarrow.add_entropy(entropy.data(), entropy.size()); + + ecc_make_key(yarrow.get_state(), yarrow.get_id(), bits / 8, &key.get()); + + return key; + } + + std::string ecc::sign_message(const key& key, const std::string& message) + { + if (!key.is_valid()) return ""; + + uint8_t buffer[512]; + unsigned long length = sizeof(buffer); + + ecc_sign_hash(cs(message.data()), ul(message.size()), buffer, &length, prng_.get_state(), prng_.get_id(), + &key.get()); + + return std::string(cs(buffer), length); + } + + bool ecc::verify_message(const key& key, const std::string& message, const std::string& signature) + { + if (!key.is_valid()) return false; + + auto result = 0; + return (ecc_verify_hash(cs(signature.data()), + ul(signature.size()), + cs(message.data()), + ul(message.size()), &result, + &key.get()) == CRYPT_OK && result != 0); + } + + bool ecc::encrypt(const key& key, std::string& data) + { + std::string out_data{}; + out_data.resize(std::max(ul(data.size() * 3), ul(0x100))); + + auto out_len = ul(out_data.size()); + auto crypt = [&]() + { + return ecc_encrypt_key(cs(data.data()), ul(data.size()), cs(out_data.data()), &out_len, + prng_.get_state(), prng_.get_id(), find_hash("sha512"), &key.get()); + }; + + auto res = crypt(); + + if (res == CRYPT_BUFFER_OVERFLOW) + { + out_data.resize(out_len); + res = crypt(); + } + + if (res != CRYPT_OK) + { + return false; + } + + out_data.resize(out_len); + data = std::move(out_data); + return true; + } + + bool ecc::decrypt(const key& key, std::string& data) + { + std::string out_data{}; + out_data.resize(std::max(ul(data.size() * 3), ul(0x100))); + + auto out_len = ul(out_data.size()); + auto crypt = [&]() + { + return ecc_decrypt_key(cs(data.data()), ul(data.size()), cs(out_data.data()), &out_len, &key.get()); + }; + + auto res = crypt(); + + if (res == CRYPT_BUFFER_OVERFLOW) + { + out_data.resize(out_len); + res = crypt(); + } + + if (res != CRYPT_OK) + { + return false; + } + + out_data.resize(out_len); + data = std::move(out_data); + return true; + } + + std::string rsa::encrypt(const std::string& data, const std::string& hash, const std::string& key) + { + rsa_key new_key; + rsa_import(cs(key.data()), ul(key.size()), &new_key); + const auto _ = finally([&]() + { + rsa_free(&new_key); + }); + + + std::string out_data{}; + out_data.resize(std::max(ul(data.size() * 3), ul(0x100))); + + auto out_len = ul(out_data.size()); + auto crypt = [&]() + { + return rsa_encrypt_key(cs(data.data()), ul(data.size()), cs(out_data.data()), &out_len, cs(hash.data()), + ul(hash.size()), prng_.get_state(), prng_.get_id(), find_hash("sha512"), &new_key); + }; + + auto res = crypt(); + + if (res == CRYPT_BUFFER_OVERFLOW) + { + out_data.resize(out_len); + res = crypt(); + } + + if (res == CRYPT_OK) + { + out_data.resize(out_len); + return out_data; + } + + return {}; + } + + std::string des3::encrypt(const std::string& data, const std::string& iv, const std::string& key) + { + std::string enc_data; + enc_data.resize(data.size()); + + symmetric_CBC cbc; + const auto des3 = find_cipher("3des"); + + cbc_start(des3, cs(iv.data()), cs(key.data()), static_cast(key.size()), 0, &cbc); + cbc_encrypt(cs(data.data()), cs(enc_data.data()), ul(data.size()), &cbc); + cbc_done(&cbc); + + return enc_data; + } + + std::string des3::decrypt(const std::string& data, const std::string& iv, const std::string& key) + { + std::string dec_data; + dec_data.resize(data.size()); + + symmetric_CBC cbc; + const auto des3 = find_cipher("3des"); + + cbc_start(des3, cs(iv.data()), cs(key.data()), static_cast(key.size()), 0, &cbc); + cbc_decrypt(cs(data.data()), cs(dec_data.data()), ul(data.size()), &cbc); + cbc_done(&cbc); + + return dec_data; + } + + std::string tiger::compute(const std::string& data, const bool hex) + { + return compute(cs(data.data()), data.size(), hex); + } + + std::string tiger::compute(const uint8_t* data, const size_t length, const bool hex) + { + uint8_t buffer[24] = {0}; + + hash_state state; + tiger_init(&state); + tiger_process(&state, data, ul(length)); + tiger_done(&state, buffer); + + std::string hash(cs(buffer), sizeof(buffer)); + if (!hex) return hash; + + return string::dump_hex(hash, ""); + } + + std::string aes::encrypt(const std::string& data, const std::string& iv, const std::string& key) + { + std::string enc_data; + enc_data.resize(data.size()); + + symmetric_CBC cbc; + const auto aes = find_cipher("aes"); + + cbc_start(aes, cs(iv.data()), cs(key.data()), + static_cast(key.size()), 0, &cbc); + cbc_encrypt(cs(data.data()), + cs(enc_data.data()), + ul(data.size()), &cbc); + cbc_done(&cbc); + + return enc_data; + } + + std::string aes::decrypt(const std::string& data, const std::string& iv, const std::string& key) + { + std::string dec_data; + dec_data.resize(data.size()); + + symmetric_CBC cbc; + const auto aes = find_cipher("aes"); + + cbc_start(aes, cs(iv.data()), cs(key.data()), + static_cast(key.size()), 0, &cbc); + cbc_decrypt(cs(data.data()), + cs(dec_data.data()), + ul(data.size()), &cbc); + cbc_done(&cbc); + + return dec_data; + } + + std::string hmac_sha1::compute(const std::string& data, const std::string& key) + { + std::string buffer; + buffer.resize(20); + + hmac_state state; + hmac_init(&state, find_hash("sha1"), cs(key.data()), ul(key.size())); + hmac_process(&state, cs(data.data()), static_cast(data.size())); + + auto out_len = ul(buffer.size()); + hmac_done(&state, cs(buffer.data()), &out_len); + + buffer.resize(out_len); + return buffer; + } + + std::string sha1::compute(const std::string& data, const bool hex) + { + return compute(cs(data.data()), data.size(), hex); + } + + std::string sha1::compute(const uint8_t* data, const size_t length, const bool hex) + { + uint8_t buffer[20] = {0}; + + hash_state state; + sha1_init(&state); + sha1_process(&state, data, ul(length)); + sha1_done(&state, buffer); + + std::string hash(cs(buffer), sizeof(buffer)); + if (!hex) return hash; + + return string::dump_hex(hash, ""); + } + + std::string sha256::compute(const std::string& data, const bool hex) + { + return compute(cs(data.data()), data.size(), hex); + } + + std::string sha256::compute(const uint8_t* data, const size_t length, const bool hex) + { + uint8_t buffer[32] = {0}; + + hash_state state; + sha256_init(&state); + sha256_process(&state, data, ul(length)); + sha256_done(&state, buffer); + + std::string hash(cs(buffer), sizeof(buffer)); + if (!hex) return hash; + + return string::dump_hex(hash, ""); + } + + std::string sha512::compute(const std::string& data, const bool hex) + { + return compute(cs(data.data()), data.size(), hex); + } + + std::string sha512::compute(const uint8_t* data, const size_t length, const bool hex) + { + uint8_t buffer[64] = {0}; + + hash_state state; + sha512_init(&state); + sha512_process(&state, data, ul(length)); + sha512_done(&state, buffer); + + std::string hash(cs(buffer), sizeof(buffer)); + if (!hex) return hash; + + return string::dump_hex(hash, ""); + } + + std::string base64::encode(const uint8_t* data, const size_t len) + { + std::string result; + result.resize((len + 2) * 2); + + auto out_len = ul(result.size()); + if (base64_encode(data, ul(len), result.data(), &out_len) != CRYPT_OK) + { + return {}; + } + + result.resize(out_len); + return result; + } + + std::string base64::encode(const std::string& data) + { + return base64::encode(cs(data.data()), static_cast(data.size())); + } + + std::string base64::decode(const std::string& data) + { + std::string result; + result.resize((data.size() + 2) * 2); + + auto out_len = ul(result.size()); + if (base64_decode(data.data(), ul(data.size()), cs(result.data()), &out_len) != CRYPT_OK) + { + return {}; + } + + result.resize(out_len); + return result; + } + + unsigned int jenkins_one_at_a_time::compute(const std::string& data) + { + return compute(data.data(), data.size()); + } + + unsigned int jenkins_one_at_a_time::compute(const char* key, const size_t len) + { + unsigned int hash, i; + for (hash = i = 0; i < len; ++i) + { + hash += key[i]; + hash += (hash << 10); + hash ^= (hash >> 6); + } + hash += (hash << 3); + hash ^= (hash >> 11); + hash += (hash << 15); + return hash; + } + + uint32_t random::get_integer() + { + uint32_t result; + random::get_data(&result, sizeof(result)); + return result; + } + + std::string random::get_challenge() + { + std::string result; + result.resize(sizeof(uint32_t)); + random::get_data(result.data(), result.size()); + return string::dump_hex(result, ""); + } + + void random::get_data(void* data, const size_t size) + { + prng_.read(data, size); + } +} diff --git a/source/shared-code/utils/cryptography.hpp b/source/shared-code/utils/cryptography.hpp new file mode 100644 index 0000000..9538c5e --- /dev/null +++ b/source/shared-code/utils/cryptography.hpp @@ -0,0 +1,118 @@ +#pragma once + +#include +#include + +namespace utils::cryptography +{ + namespace ecc + { + class key final + { + public: + key(); + ~key(); + + key(key&& obj) noexcept; + key(const key& obj); + key& operator=(key&& obj) noexcept; + key& operator=(const key& obj); + + bool is_valid() const; + + ecc_key& get(); + const ecc_key& get() const; + + std::string get_public_key() const; + + void set(const std::string& pub_key_buffer); + + void deserialize(const std::string& key); + + std::string serialize(int type = PK_PRIVATE) const; + + void free(); + + bool operator==(key& key) const; + + uint64_t get_hash() const; + + private: + ecc_key key_storage_{}; + }; + + key generate_key(int bits); + key generate_key(int bits, const std::string& entropy); + std::string sign_message(const key& key, const std::string& message); + bool verify_message(const key& key, const std::string& message, const std::string& signature); + + bool encrypt(const key& key, std::string& data); + bool decrypt(const key& key, std::string& data); + } + + namespace rsa + { + std::string encrypt(const std::string& data, const std::string& hash, const std::string& key); + } + + namespace des3 + { + std::string encrypt(const std::string& data, const std::string& iv, const std::string& key); + std::string decrypt(const std::string& data, const std::string& iv, const std::string& key); + } + + namespace tiger + { + std::string compute(const std::string& data, bool hex = false); + std::string compute(const uint8_t* data, size_t length, bool hex = false); + } + + namespace aes + { + std::string encrypt(const std::string& data, const std::string& iv, const std::string& key); + std::string decrypt(const std::string& data, const std::string& iv, const std::string& key); + } + + namespace hmac_sha1 + { + std::string compute(const std::string& data, const std::string& key); + } + + namespace sha1 + { + std::string compute(const std::string& data, bool hex = false); + std::string compute(const uint8_t* data, size_t length, bool hex = false); + } + + namespace sha256 + { + std::string compute(const std::string& data, bool hex = false); + std::string compute(const uint8_t* data, size_t length, bool hex = false); + } + + namespace sha512 + { + std::string compute(const std::string& data, bool hex = false); + std::string compute(const uint8_t* data, size_t length, bool hex = false); + } + + namespace base64 + { + std::string encode(const uint8_t* data, size_t len); + std::string encode(const std::string& data); + std::string decode(const std::string& data); + } + + namespace jenkins_one_at_a_time + { + unsigned int compute(const std::string& data); + unsigned int compute(const char* key, size_t len); + }; + + namespace random + { + uint32_t get_integer(); + std::string get_challenge(); + void get_data(void* data, size_t size); + } +} diff --git a/source/shared-code/utils/finally.hpp b/source/shared-code/utils/finally.hpp new file mode 100644 index 0000000..2e4b6ba --- /dev/null +++ b/source/shared-code/utils/finally.hpp @@ -0,0 +1,54 @@ +#pragma once +#include + +namespace utils +{ + /* + * Copied from here: https://github.com/microsoft/GSL/blob/e0880931ae5885eb988d1a8a57acf8bc2b8dacda/include/gsl/util#L57 + */ + + template + class final_action + { + public: + static_assert(!std::is_reference::value && !std::is_const::value && + !std::is_volatile::value, + "Final_action should store its callable by value"); + + explicit final_action(F f) noexcept : f_(std::move(f)) + { + } + + final_action(final_action&& other) noexcept + : f_(std::move(other.f_)), invoke_(std::exchange(other.invoke_, false)) + { + } + + final_action(const final_action&) = delete; + final_action& operator=(const final_action&) = delete; + final_action& operator=(final_action&&) = delete; + + ~final_action() noexcept + { + if (invoke_) f_(); + } + + // Added by momo5502 + void cancel() + { + invoke_ = false; + } + + private: + F f_; + bool invoke_{true}; + }; + + template + final_action::type>::type> + finally(F&& f) noexcept + { + return final_action::type>::type>( + std::forward(f)); + } +} \ No newline at end of file diff --git a/source/shared-code/utils/flags.cpp b/source/shared-code/utils/flags.cpp new file mode 100644 index 0000000..09f1311 --- /dev/null +++ b/source/shared-code/utils/flags.cpp @@ -0,0 +1,53 @@ +#include "flags.hpp" +#include "string.hpp" +#include "nt.hpp" + +#include + +namespace utils::flags +{ + void parse_flags(std::vector& flags) + { + int num_args; + auto* const argv = CommandLineToArgvW(GetCommandLineW(), &num_args); + + flags.clear(); + + if (argv) + { + for (auto i = 0; i < num_args; ++i) + { + std::wstring wide_flag(argv[i]); + if (wide_flag[0] == L'-') + { + wide_flag.erase(wide_flag.begin()); + flags.emplace_back(string::convert(wide_flag)); + } + } + + LocalFree(argv); + } + } + + bool has_flag(const std::string& flag) + { + static auto parsed = false; + static std::vector enabled_flags; + + if (!parsed) + { + parse_flags(enabled_flags); + parsed = true; + } + + for (const auto& entry : enabled_flags) + { + if (string::to_lower(entry) == string::to_lower(flag)) + { + return true; + } + } + + return false; + } +} diff --git a/source/shared-code/utils/flags.hpp b/source/shared-code/utils/flags.hpp new file mode 100644 index 0000000..cf304b2 --- /dev/null +++ b/source/shared-code/utils/flags.hpp @@ -0,0 +1,8 @@ +#pragma once + +#include + +namespace utils::flags +{ + bool has_flag(const std::string& flag); +} diff --git a/source/shared-code/utils/hardware_breakpoint.cpp b/source/shared-code/utils/hardware_breakpoint.cpp new file mode 100644 index 0000000..6a5e39f --- /dev/null +++ b/source/shared-code/utils/hardware_breakpoint.cpp @@ -0,0 +1,139 @@ +#include "hardware_breakpoint.hpp" +#include "thread.hpp" + +namespace utils::hardware_breakpoint +{ + namespace + { + void set_bits(uint64_t& value, const uint32_t bit_index, const uint32_t bits, const uint64_t new_value) + { + const uint64_t range_mask = (1ull << bits) - 1ull; + const uint64_t full_mask = ~(range_mask << bit_index); + value = (value & full_mask) | (new_value << bit_index); + } + + void validate_index(const uint32_t index) + { + if (index >= 4) + { + throw std::runtime_error("Invalid index"); + } + } + + uint32_t translate_length(const uint32_t length) + { + if (length != 1 && length != 2 && length != 4) + { + throw std::runtime_error("Invalid length"); + } + + return length - 1; + } + + class debug_context + { + public: + debug_context(uint32_t thread_id) + : handle_(thread_id, THREAD_SET_CONTEXT | THREAD_GET_CONTEXT) + { + if (!this->handle_) + { + throw std::runtime_error("Unable to access thread"); + } + + this->context_.ContextFlags = CONTEXT_DEBUG_REGISTERS; + + if (!GetThreadContext(this->handle_, &this->context_)) + { + throw std::runtime_error("Unable to get thread context"); + } + } + + ~debug_context() + { + SetThreadContext(this->handle_, &this->context_); + } + + debug_context(const debug_context&) = delete; + debug_context& operator=(const debug_context&) = delete; + + debug_context(debug_context&& obj) noexcept = delete; + debug_context& operator=(debug_context&& obj) noexcept = delete; + + CONTEXT* operator->() + { + return &this->context_; + } + + operator CONTEXT&() + { + return this->context_; + } + + private: + thread::handle handle_; + CONTEXT context_{}; + }; + + uint32_t find_free_index(const CONTEXT& context) + { + for (uint32_t i = 0; i < 4; ++i) + { + if ((context.Dr7 & (1ull << (i << 1ull))) == 0) + { + return i; + } + } + + throw std::runtime_error("No free index"); + } + } + + uint32_t activate(const uint64_t address, uint32_t length, const condition cond, CONTEXT& context) + { + const auto index = find_free_index(context); + length = translate_length(length); + + (&context.Dr0)[index] = address; + + set_bits(context.Dr7, 16 + (index << 2ull), 2, cond); + set_bits(context.Dr7, 18 + (index << 2ull), 2, length); + set_bits(context.Dr7, index << 1ull, 1, 1); + + return index; + } + + uint32_t activate(void* address, const uint32_t length, const condition cond, const uint32_t thread_id) + { + return activate(reinterpret_cast(address), length, cond, thread_id); + } + + uint32_t activate(const uint64_t address, const uint32_t length, const condition cond, const uint32_t thread_id) + { + debug_context context(thread_id); + return activate(address, length, cond, context); + } + + void deactivate(const uint32_t index, CONTEXT& context) + { + validate_index(index); + set_bits(context.Dr7, index << 1ull, 1, 0); + } + + void deactivate(const uint32_t index, const uint32_t thread_id) + { + debug_context context(thread_id); + deactivate(index, context); + } + + void deactivate_all(CONTEXT& context) + { + context.Dr7 = 0; + } + + void deactivate_all(const uint32_t thread_id) + { + debug_context context(thread_id); + deactivate_all(context); + } +} diff --git a/source/shared-code/utils/hardware_breakpoint.hpp b/source/shared-code/utils/hardware_breakpoint.hpp new file mode 100644 index 0000000..e37fdea --- /dev/null +++ b/source/shared-code/utils/hardware_breakpoint.hpp @@ -0,0 +1,23 @@ +#pragma once +#include +#include "nt.hpp" + +namespace utils::hardware_breakpoint +{ + enum condition + { + execute = 0, + write = 1, + read_write = 3 + }; + + uint32_t activate(uint64_t address, uint32_t length, condition cond, CONTEXT& context); + uint32_t activate(void* address, uint32_t length, condition cond, uint32_t thread_id = GetCurrentThreadId()); + uint32_t activate(uint64_t address, uint32_t length, condition cond, uint32_t thread_id = GetCurrentThreadId()); + + void deactivate(uint32_t index, CONTEXT& context); + void deactivate(uint32_t index, uint32_t thread_id = GetCurrentThreadId()); + + void deactivate_all(CONTEXT& context); + void deactivate_all(uint32_t thread_id = GetCurrentThreadId()); +} diff --git a/source/shared-code/utils/hook.cpp b/source/shared-code/utils/hook.cpp new file mode 100644 index 0000000..38134d7 --- /dev/null +++ b/source/shared-code/utils/hook.cpp @@ -0,0 +1,619 @@ +#include "hook.hpp" + +#include +#include + +#include "concurrency.hpp" +#include "string.hpp" +#include "nt.hpp" + +#ifdef max +#undef max +#endif + +#ifdef min +#undef min +#endif + +namespace utils::hook +{ + namespace + { + uint8_t* allocate_somewhere_near(const void* base_address, const size_t size) + { + size_t offset = 0; + while (true) + { + offset += size; + auto* target_address = static_cast(base_address) - offset; + if (is_relatively_far(base_address, target_address)) + { + return nullptr; + } + + const auto res = VirtualAlloc(const_cast(target_address), size, MEM_RESERVE | MEM_COMMIT, + PAGE_EXECUTE_READWRITE); + if (res) + { + if (is_relatively_far(base_address, target_address)) + { + VirtualFree(res, 0, MEM_RELEASE); + return nullptr; + } + + return static_cast(res); + } + } + } + + class memory + { + public: + memory() = default; + + memory(const void* ptr) + : memory() + { + this->length_ = 0x1000; + this->buffer_ = allocate_somewhere_near(ptr, this->length_); + if (!this->buffer_) + { + throw std::runtime_error("Failed to allocate"); + } + } + + ~memory() + { + if (this->buffer_) + { + VirtualFree(this->buffer_, 0, MEM_RELEASE); + } + } + + memory(memory&& obj) noexcept + : memory() + { + this->operator=(std::move(obj)); + } + + memory& operator=(memory&& obj) noexcept + { + if (this != &obj) + { + this->~memory(); + this->buffer_ = obj.buffer_; + this->length_ = obj.length_; + this->offset_ = obj.offset_; + + obj.buffer_ = nullptr; + obj.length_ = 0; + obj.offset_ = 0; + } + + return *this; + } + + void* allocate(const size_t length) + { + if (!this->buffer_) + { + return nullptr; + } + + if (this->offset_ + length > this->length_) + { + return nullptr; + } + + const auto ptr = this->get_ptr(); + this->offset_ += length; + return ptr; + } + + void* get_ptr() const + { + return this->buffer_ + this->offset_; + } + + private: + uint8_t* buffer_{}; + size_t length_{}; + size_t offset_{}; + }; + + void* get_memory_near(const void* address, const size_t size) + { + static concurrency::container> memory_container{}; + + return memory_container.access([&](std::vector& memories) + { + for (auto& memory : memories) + { + if (!is_relatively_far(address, memory.get_ptr())) + { + const auto buffer = memory.allocate(size); + if (buffer) + { + return buffer; + } + } + } + + memories.emplace_back(address); + return memories.back().allocate(size); + }); + } + + concurrency::container>& get_original_data_map() + { + static concurrency::container> og_data{}; + return og_data; + } + + void store_original_data(const void* /*data*/, size_t /*length*/) + { + /*get_original_data_map().access([data, length](std::map& og_map) + { + const auto data_ptr = static_cast(data); + for (size_t i = 0; i < length; ++i) + { + const auto pos = data_ptr + i; + if (!og_map.contains(pos)) + { + og_map[pos] = *pos; + } + } + });*/ + } + + void* initialize_min_hook() + { + static class min_hook_init + { + public: + min_hook_init() + { + if (MH_Initialize() != MH_OK) + { + throw std::runtime_error("Failed to initialize MinHook"); + } + } + + ~min_hook_init() + { + MH_Uninitialize(); + } + } min_hook_init; + return &min_hook_init; + } + } + + void assembler::pushad64() + { + this->push(rax); + this->push(rcx); + this->push(rdx); + this->push(rbx); + this->push(rsp); + this->push(rbp); + this->push(rsi); + this->push(rdi); + + this->sub(rsp, 0x40); + } + + void assembler::popad64() + { + this->add(rsp, 0x40); + + this->pop(rdi); + this->pop(rsi); + this->pop(rbp); + this->pop(rsp); + this->pop(rbx); + this->pop(rdx); + this->pop(rcx); + this->pop(rax); + } + + void assembler::prepare_stack_for_call() + { + const auto reserve_callee_space = this->newLabel(); + const auto stack_unaligned = this->newLabel(); + + this->test(rsp, 0xF); + this->jnz(stack_unaligned); + + this->sub(rsp, 0x8); + this->push(rsp); + + this->push(rax); + this->mov(rax, ptr(rsp, 8, 8)); + this->add(rax, 0x8); + this->mov(ptr(rsp, 8, 8), rax); + this->pop(rax); + + this->jmp(reserve_callee_space); + + this->bind(stack_unaligned); + this->push(rsp); + + this->bind(reserve_callee_space); + this->sub(rsp, 0x40); + } + + void assembler::restore_stack_after_call() + { + this->lea(rsp, ptr(rsp, 0x40)); + this->pop(rsp); + } + + asmjit::Error assembler::call(void* target) + { + return Assembler::call(size_t(target)); + } + + asmjit::Error assembler::jmp(void* target) + { + return Assembler::jmp(size_t(target)); + } + + detour::detour() + { + (void)initialize_min_hook(); + } + + detour::detour(const size_t place, void* target) + : detour(reinterpret_cast(place), target) + { + } + + detour::detour(void* place, void* target) + : detour() + { + this->create(place, target); + } + + detour::~detour() + { + this->clear(); + } + + void detour::enable() + { + MH_EnableHook(this->place_); + + if (!this->moved_data_.empty()) + { + this->move(); + } + } + + void detour::disable() + { + this->un_move(); + MH_DisableHook(this->place_); + } + + void detour::create(void* place, void* target) + { + this->clear(); + this->place_ = place; + store_original_data(place, 14); + + if (MH_CreateHook(this->place_, target, &this->original_) != MH_OK) + { + throw std::runtime_error(string::va("Unable to create hook at location: %p", this->place_)); + } + + this->enable(); + } + + void detour::create(const size_t place, void* target) + { + this->create(reinterpret_cast(place), target); + } + + void detour::clear() + { + if (this->place_) + { + this->un_move(); + MH_RemoveHook(this->place_); + } + + this->place_ = nullptr; + this->original_ = nullptr; + this->moved_data_ = {}; + } + + void detour::move() + { + this->moved_data_ = move_hook(this->place_); + } + + void* detour::get_place() const + { + return this->place_; + } + + void* detour::get_original() const + { + return this->original_; + } + + void detour::un_move() + { + if (!this->moved_data_.empty()) + { + copy(this->place_, this->moved_data_.data(), this->moved_data_.size()); + } + } + + std::optional> iat(const nt::library& library, const std::string& target_library, const std::string& process, void* stub) + { + if (!library.is_valid()) return {}; + + auto* const ptr = library.get_iat_entry(target_library, process); + if (!ptr) return {}; + + store_original_data(ptr, sizeof(*ptr)); + + DWORD protect; + VirtualProtect(ptr, sizeof(*ptr), PAGE_EXECUTE_READWRITE, &protect); + + std::swap(*ptr, stub); + + VirtualProtect(ptr, sizeof(*ptr), protect, &protect); + return {{ptr, stub}}; + } + + void nop(void* place, const size_t length) + { + store_original_data(place, length); + + DWORD old_protect{}; + VirtualProtect(place, length, PAGE_EXECUTE_READWRITE, &old_protect); + + std::memset(place, 0x90, length); + + VirtualProtect(place, length, old_protect, &old_protect); + FlushInstructionCache(GetCurrentProcess(), place, length); + } + + void nop(const size_t place, const size_t length) + { + nop(reinterpret_cast(place), length); + } + + void copy(void* place, const void* data, const size_t length) + { + store_original_data(place, length); + + DWORD old_protect{}; + VirtualProtect(place, length, PAGE_EXECUTE_READWRITE, &old_protect); + + std::memmove(place, data, length); + + VirtualProtect(place, length, old_protect, &old_protect); + FlushInstructionCache(GetCurrentProcess(), place, length); + } + + void copy(const size_t place, const void* data, const size_t length) + { + copy(reinterpret_cast(place), data, length); + } + + void copy_string(void* place, const char* str) + { + copy(reinterpret_cast(place), str, strlen(str) + 1); + } + + void copy_string(const size_t place, const char* str) + { + copy_string(reinterpret_cast(place), str); + } + + bool is_relatively_far(const void* pointer, const void* data, const int offset) + { + const int64_t diff = size_t(data) - (size_t(pointer) + offset); + const auto small_diff = int32_t(diff); + return diff != int64_t(small_diff); + } + + void call(void* pointer, void* data) + { + if (is_relatively_far(pointer, data)) + { + auto* trampoline = get_memory_near(pointer, 14); + if (!trampoline) + { + throw std::runtime_error("Too far away to create 32bit relative branch"); + } + + call(pointer, trampoline); + jump(trampoline, data, true, true); + return; + } + + uint8_t copy_data[5]; + copy_data[0] = 0xE8; + *reinterpret_cast(©_data[1]) = int32_t(size_t(data) - (size_t(pointer) + 5)); + + auto* patch_pointer = PBYTE(pointer); + copy(patch_pointer, copy_data, sizeof(copy_data)); + } + + void call(const size_t pointer, void* data) + { + return call(reinterpret_cast(pointer), data); + } + + void call(const size_t pointer, const size_t data) + { + return call(pointer, reinterpret_cast(data)); + } + + void jump(void* pointer, void* data, const bool use_far, const bool use_safe) + { + static const unsigned char jump_data[] = { + 0x48, 0xb8, 0x88, 0x77, 0x66, 0x55, 0x44, 0x33, 0x22, 0x11, 0xff, 0xe0 + }; + + static const unsigned char jump_data_safe[] = { + 0xFF, 0x25, 0x00, 0x00, 0x00, 0x00 + }; + + if (!use_far && is_relatively_far(pointer, data)) + { + auto* trampoline = get_memory_near(pointer, 14); + if (!trampoline) + { + throw std::runtime_error("Too far away to create 32bit relative branch"); + } + jump(pointer, trampoline, false, false); + jump(trampoline, data, true, true); + return; + } + + auto* patch_pointer = PBYTE(pointer); + + if (use_far) + { + if (use_safe) + { + uint8_t copy_data[sizeof(jump_data_safe) + sizeof(data)]; + memcpy(copy_data, jump_data_safe, sizeof(jump_data_safe)); + memcpy(copy_data + sizeof(jump_data_safe), &data, sizeof(data)); + + copy(patch_pointer, copy_data, sizeof(copy_data)); + } + else + { + uint8_t copy_data[sizeof(jump_data)]; + memcpy(copy_data, jump_data, sizeof(jump_data)); + memcpy(copy_data + 2, &data, sizeof(data)); + + copy(patch_pointer, copy_data, sizeof(copy_data)); + } + } + else + { + uint8_t copy_data[5]; + copy_data[0] = 0xE9; + *reinterpret_cast(©_data[1]) = int32_t(size_t(data) - (size_t(pointer) + 5)); + + copy(patch_pointer, copy_data, sizeof(copy_data)); + } + } + + void jump(const size_t pointer, void* data, const bool use_far, const bool use_safe) + { + return jump(reinterpret_cast(pointer), data, use_far, use_safe); + } + + void jump(const size_t pointer, const size_t data, const bool use_far, const bool use_safe) + { + return jump(pointer, reinterpret_cast(data), use_far, use_safe); + } + + void* assemble(const std::function& asm_function) + { + static asmjit::JitRuntime runtime; + + asmjit::CodeHolder code; + code.init(runtime.environment()); + + assembler a(&code); + + asm_function(a); + + void* result = nullptr; + runtime.add(&result, &code); + + return result; + } + + void inject(void* pointer, const void* data) + { + if (is_relatively_far(pointer, data, 4)) + { + throw std::runtime_error("Too far away to create 32bit relative branch"); + } + + set(pointer, int32_t(size_t(data) - (size_t(pointer) + 4))); + } + + void inject(const size_t pointer, const void* data) + { + return inject(reinterpret_cast(pointer), data); + } + + std::vector move_hook(void* pointer) + { + std::vector original_data{}; + + auto* data_ptr = static_cast(pointer); + if (data_ptr[0] == 0xE9) + { + original_data.resize(6); + memmove(original_data.data(), pointer, original_data.size()); + + auto* target = follow_branch(data_ptr); + nop(data_ptr, 1); + jump(data_ptr + 1, target); + } + else if (data_ptr[0] == 0xFF && data_ptr[1] == 0x25) + { + original_data.resize(15); + memmove(original_data.data(), pointer, original_data.size()); + + copy(data_ptr + 1, data_ptr, 14); + nop(data_ptr, 1); + } + else + { + throw std::runtime_error("No branch instruction found"); + } + + return original_data; + } + + std::vector move_hook(const size_t pointer) + { + return move_hook(reinterpret_cast(pointer)); + } + + void* follow_branch(void* address) + { + auto* const data = static_cast(address); + if (*data != 0xE8 && *data != 0xE9) + { + throw std::runtime_error("No branch instruction found"); + } + + return extract(data + 1); + } + + std::vector query_original_data(const void* data, const size_t length) + { + std::vector og_data{}; + og_data.resize(length); + memcpy(og_data.data(), data, length); + + get_original_data_map().access([data, length, &og_data](const std::map& og_map) + { + auto* ptr = static_cast(data); + for (size_t i = 0; i < length; ++i) + { + auto entry = og_map.find(ptr + i); + if (entry != og_map.end()) + { + og_data[i] = entry->second; + } + } + }); + + return og_data; + } +} diff --git a/source/shared-code/utils/hook.hpp b/source/shared-code/utils/hook.hpp new file mode 100644 index 0000000..ade2fca --- /dev/null +++ b/source/shared-code/utils/hook.hpp @@ -0,0 +1,216 @@ +#pragma once +#include "signature.hpp" + +#include +#include + +using namespace asmjit::x86; + +namespace utils::hook +{ + namespace detail + { + template + std::vector get_iota_functions() + { + if constexpr (Entries == 0) + { + std::vector functions; + return functions; + } + else + { + auto functions = get_iota_functions(); + functions.emplace_back([]() + { + return Entries - 1; + }); + return functions; + } + } + } + + // Gets the pointer to the entry in the v-table. + // It seems otherwise impossible to get this. + // This is ugly as fuck and only safely works on x64 + // Example: + // ID3D11Device* device = ... + // auto entry = get_vtable_entry(device, &ID3D11Device::CreateTexture2D); + template + void** get_vtable_entry(Class* obj, T (Class::* entry)(Args ...)) + { + union + { + decltype(entry) func; + void* pointer; + }; + + func = entry; + + auto iota_functions = detail::get_iota_functions(); + auto* object = iota_functions.data(); + + using fake_func = size_t(__thiscall*)(void* self); + auto index = static_cast(pointer)(&object); + + void** obj_v_table = *reinterpret_cast(obj); + return &obj_v_table[index]; + } + + class assembler : public Assembler + { + public: + using Assembler::Assembler; + using Assembler::call; + using Assembler::jmp; + + void pushad64(); + void popad64(); + + void prepare_stack_for_call(); + void restore_stack_after_call(); + + template + void call_aligned(T&& target) + { + this->prepare_stack_for_call(); + this->call(std::forward(target)); + this->restore_stack_after_call(); + } + + asmjit::Error call(void* target); + asmjit::Error jmp(void* target); + }; + + class detour + { + public: + detour(); + detour(void* place, void* target); + detour(size_t place, void* target); + ~detour(); + + detour(detour&& other) noexcept + { + this->operator=(std::move(other)); + } + + detour& operator=(detour&& other) noexcept + { + if (this != &other) + { + this->clear(); + + this->place_ = other.place_; + this->original_ = other.original_; + this->moved_data_ = other.moved_data_; + + other.place_ = nullptr; + other.original_ = nullptr; + other.moved_data_ = {}; + } + + return *this; + } + + detour(const detour&) = delete; + detour& operator=(const detour&) = delete; + + void enable(); + void disable(); + + void create(void* place, void* target); + void create(size_t place, void* target); + void clear(); + + void move(); + + void* get_place() const; + + template + T* get() const + { + return static_cast(this->get_original()); + } + + template + T invoke(Args ... args) + { + return static_cast(this->get_original())(args...); + } + + [[nodiscard]] void* get_original() const; + + private: + std::vector moved_data_{}; + void* place_{}; + void* original_{}; + + void un_move(); + }; + + std::optional> iat(const nt::library& library, const std::string& target_library, const std::string& process, void* stub); + + void nop(void* place, size_t length); + void nop(size_t place, size_t length); + + void copy(void* place, const void* data, size_t length); + void copy(size_t place, const void* data, size_t length); + + void copy_string(void* place, const char* str); + void copy_string(size_t place, const char* str); + + bool is_relatively_far(const void* pointer, const void* data, int offset = 5); + + void call(void* pointer, void* data); + void call(size_t pointer, void* data); + void call(size_t pointer, size_t data); + + void jump(void* pointer, void* data, bool use_far = false, bool use_safe = false); + void jump(size_t pointer, void* data, bool use_far = false, bool use_safe = false); + void jump(size_t pointer, size_t data, bool use_far = false, bool use_safe = false); + + void* assemble(const std::function& asm_function); + + void inject(void* pointer, const void* data); + void inject(size_t pointer, const void* data); + + std::vector move_hook(void* pointer); + std::vector move_hook(size_t pointer); + + template + T extract(void* address) + { + auto* const data = static_cast(address); + const auto offset = *reinterpret_cast(data); + return reinterpret_cast(data + offset + 4); + } + + void* follow_branch(void* address); + + template + static void set(void* place, T value = false) + { + copy(place, &value, sizeof(value)); + } + + template + static void set(const size_t place, T value = false) + { + return set(reinterpret_cast(place), value); + } + + template + static T invoke(size_t func, Args ... args) + { + return reinterpret_cast(func)(args...); + } + + template + static T invoke(void* func, Args ... args) + { + return static_cast(func)(args...); + } + + std::vector query_original_data(const void* data, size_t length); +} diff --git a/source/shared-code/utils/http.cpp b/source/shared-code/utils/http.cpp new file mode 100644 index 0000000..3cb5999 --- /dev/null +++ b/source/shared-code/utils/http.cpp @@ -0,0 +1,48 @@ +#include "http.hpp" +#include "nt.hpp" +#include + +namespace utils::http +{ + std::optional get_data(const std::string& url) + { + CComPtr stream; + + if (FAILED(URLOpenBlockingStreamA(nullptr, url.data(), &stream, 0, nullptr))) + { + return {}; + } + + char buffer[0x1000]; + std::string result; + + HRESULT status{}; + + do + { + DWORD bytes_read = 0; + status = stream->Read(buffer, sizeof(buffer), &bytes_read); + + if (bytes_read > 0) + { + result.append(buffer, bytes_read); + } + } + while (SUCCEEDED(status) && status != S_FALSE); + + if (FAILED(status)) + { + return {}; + } + + return {result}; + } + + std::future> get_data_async(const std::string& url) + { + return std::async(std::launch::async, [url]() + { + return get_data(url); + }); + } +} diff --git a/source/shared-code/utils/http.hpp b/source/shared-code/utils/http.hpp new file mode 100644 index 0000000..65628a9 --- /dev/null +++ b/source/shared-code/utils/http.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include +#include +#include + +namespace utils::http +{ + std::optional get_data(const std::string& url); + std::future> get_data_async(const std::string& url); +} diff --git a/source/shared-code/utils/image.cpp b/source/shared-code/utils/image.cpp new file mode 100644 index 0000000..3f54018 --- /dev/null +++ b/source/shared-code/utils/image.cpp @@ -0,0 +1,56 @@ +#include "image.hpp" +#include + +#pragma warning(push) +#pragma warning(disable: 4100) +#define STBI_ONLY_JPEG +#define STB_IMAGE_IMPLEMENTATION +#include +#pragma warning(pop) + +#include "finally.hpp" + +namespace utils::image +{ + image load_image(const std::string& data) + { + stbi_uc* buffer{}; + const auto _ = finally([&] + { + if (buffer) + { + stbi_image_free(buffer); + } + }); + + constexpr int channels = 4; + int x, y, channels_in_file; + buffer = stbi_load_from_memory(reinterpret_cast(data.data()), + static_cast(data.size()), &x, &y, &channels_in_file, channels); + if (!buffer) + { + throw std::runtime_error("Failed to load image"); + } + + image res{}; + res.width = static_cast(x); + res.height = static_cast(y); + res.data.assign(reinterpret_cast(buffer), res.width * res.height * channels); + + return res; + } + + object create_bitmap(const image& img) + { + auto copy = img.data; + + for (size_t i = 0; i < (img.width * img.height); ++i) + { + auto& r = copy[i * 4 + 0]; + auto& b = copy[i * 4 + 2]; + std::swap(r, b); + } + + return CreateBitmap(static_cast(img.width), static_cast(img.height), 4, 8, copy.data()); + } +} diff --git a/source/shared-code/utils/image.hpp b/source/shared-code/utils/image.hpp new file mode 100644 index 0000000..2dea7b8 --- /dev/null +++ b/source/shared-code/utils/image.hpp @@ -0,0 +1,89 @@ +#pragma once + +#include +#include "nt.hpp" + +namespace utils::image +{ + struct image + { + size_t width; + size_t height; + std::string data; + }; + + class object + { + public: + object() = default; + + object(const HGDIOBJ h) + : handle_(h) + { + } + + ~object() + { + if (*this) + { + DeleteObject(this->handle_); + this->handle_ = nullptr; + } + } + + object(const object&) = delete; + object& operator=(const object&) = delete; + + object(object&& obj) noexcept + : object() + { + this->operator=(std::move(obj)); + } + + object& operator=(object&& obj) noexcept + { + if (this != &obj) + { + this->~object(); + this->handle_ = obj.handle_; + obj.handle_ = nullptr; + } + + return *this; + } + + object& operator=(HANDLE h) noexcept + { + this->~object(); + this->handle_ = h; + + return *this; + } + + HGDIOBJ get() const + { + return this->handle_; + } + + operator bool() const + { + return this->handle_ != nullptr; + } + + operator HGDIOBJ() const + { + return this->handle_; + } + + operator LPARAM() const + { + return reinterpret_cast(this->handle_); + } + + private: + HGDIOBJ handle_{nullptr}; + }; + + image load_image(const std::string& data); + object create_bitmap(const image& img); +} diff --git a/source/shared-code/utils/info_string.cpp b/source/shared-code/utils/info_string.cpp new file mode 100644 index 0000000..3b0287e --- /dev/null +++ b/source/shared-code/utils/info_string.cpp @@ -0,0 +1,65 @@ +#include "info_string.hpp" +#include "string.hpp" + +namespace utils +{ + info_string::info_string(const std::string& buffer) + { + this->parse(buffer); + } + + info_string::info_string(const std::string_view& buffer) + : info_string(std::string{buffer}) + { + } + + void info_string::set(const std::string& key, const std::string& value) + { + this->key_value_pairs_[key] = value; + } + + std::string info_string::get(const std::string& key) const + { + const auto value = this->key_value_pairs_.find(key); + if (value != this->key_value_pairs_.end()) + { + return value->second; + } + + return ""; + } + + void info_string::parse(std::string buffer) + { + if (buffer[0] == '\\') + { + buffer = buffer.substr(1); + } + + auto key_values = string::split(buffer, '\\'); + for (size_t i = 0; !key_values.empty() && i < (key_values.size() - 1); i += 2) + { + const auto& key = key_values[i]; + const auto& value = key_values[i + 1]; + this->key_value_pairs_[key] = value; + } + } + + std::string info_string::build() const + { + //auto first = true; + std::string info_string; + for (auto i = this->key_value_pairs_.begin(); i != this->key_value_pairs_.end(); ++i) + { + //if (first) first = false; + /*else*/ + info_string.append("\\"); + + info_string.append(i->first); // Key + info_string.append("\\"); + info_string.append(i->second); // Value + } + + return info_string; + } +} diff --git a/source/shared-code/utils/info_string.hpp b/source/shared-code/utils/info_string.hpp new file mode 100644 index 0000000..7391041 --- /dev/null +++ b/source/shared-code/utils/info_string.hpp @@ -0,0 +1,24 @@ +#pragma once + +#include +#include + +namespace utils +{ + class info_string + { + public: + info_string() = default; + info_string(const std::string& buffer); + info_string(const std::string_view& buffer); + + void set(const std::string& key, const std::string& value); + std::string get(const std::string& key) const; + std::string build() const; + + private: + std::unordered_map key_value_pairs_{}; + + void parse(std::string buffer); + }; +} diff --git a/source/shared-code/utils/io.cpp b/source/shared-code/utils/io.cpp new file mode 100644 index 0000000..a03d1bb --- /dev/null +++ b/source/shared-code/utils/io.cpp @@ -0,0 +1,130 @@ +#include "io.hpp" +#include "nt.hpp" +#include + +namespace utils::io +{ + bool remove_file(const std::string& file) + { + if(DeleteFileA(file.data()) != FALSE) + { + return true; + } + + return GetLastError() == ERROR_FILE_NOT_FOUND; + } + + bool move_file(const std::string& src, const std::string& target) + { + return MoveFileA(src.data(), target.data()) == TRUE; + } + + bool file_exists(const std::string& file) + { + return std::ifstream(file).good(); + } + + bool write_file(const std::string& file, const std::string& data, const bool append) + { + const auto pos = file.find_last_of("/\\"); + if (pos != std::string::npos) + { + create_directory(file.substr(0, pos)); + } + + std::ofstream stream( + file, std::ios::binary | std::ofstream::out | (append ? std::ofstream::app : 0)); + + if (stream.is_open()) + { + stream.write(data.data(), data.size()); + stream.close(); + return true; + } + + return false; + } + + std::string read_file(const std::string& file) + { + std::string data; + read_file(file, &data); + return data; + } + + bool read_file(const std::string& file, std::string* data) + { + if (!data) return false; + data->clear(); + + if (file_exists(file)) + { + std::ifstream stream(file, std::ios::binary); + if (!stream.is_open()) return false; + + stream.seekg(0, std::ios::end); + const std::streamsize size = stream.tellg(); + stream.seekg(0, std::ios::beg); + + if (size > -1) + { + data->resize(static_cast(size)); + stream.read(const_cast(data->data()), size); + stream.close(); + return true; + } + } + + return false; + } + + size_t file_size(const std::string& file) + { + if (file_exists(file)) + { + std::ifstream stream(file, std::ios::binary); + + if (stream.good()) + { + stream.seekg(0, std::ios::end); + return static_cast(stream.tellg()); + } + } + + return 0; + } + + bool create_directory(const std::string& directory) + { + return std::filesystem::create_directories(directory); + } + + bool directory_exists(const std::string& directory) + { + return std::filesystem::is_directory(directory); + } + + bool directory_is_empty(const std::string& directory) + { + return std::filesystem::is_empty(directory); + } + + std::vector list_files(const std::string& directory) + { + std::vector files; + + for (auto& file : std::filesystem::directory_iterator(directory)) + { + files.push_back(file.path().generic_string()); + } + + return files; + } + + void copy_folder(const std::filesystem::path& src, const std::filesystem::path& target) + { + std::filesystem::copy(src, target, + std::filesystem::copy_options::overwrite_existing | + std::filesystem::copy_options::recursive); + } +} diff --git a/source/shared-code/utils/io.hpp b/source/shared-code/utils/io.hpp new file mode 100644 index 0000000..ab4ebaa --- /dev/null +++ b/source/shared-code/utils/io.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include +#include +#include + +namespace utils::io +{ + bool remove_file(const std::string& file); + bool move_file(const std::string& src, const std::string& target); + bool file_exists(const std::string& file); + bool write_file(const std::string& file, const std::string& data, bool append = false); + bool read_file(const std::string& file, std::string* data); + std::string read_file(const std::string& file); + size_t file_size(const std::string& file); + bool create_directory(const std::string& directory); + bool directory_exists(const std::string& directory); + bool directory_is_empty(const std::string& directory); + std::vector list_files(const std::string& directory); + void copy_folder(const std::filesystem::path& src, const std::filesystem::path& target); +} diff --git a/source/shared-code/utils/memory.cpp b/source/shared-code/utils/memory.cpp new file mode 100644 index 0000000..99a0391 --- /dev/null +++ b/source/shared-code/utils/memory.cpp @@ -0,0 +1,173 @@ +#include "memory.hpp" +#include "nt.hpp" + +namespace utils +{ + memory::allocator memory::mem_allocator_; + + memory::allocator::~allocator() + { + this->clear(); + } + + void memory::allocator::clear() + { + std::lock_guard _(this->mutex_); + + for (auto& data : this->pool_) + { + memory::free(data); + } + + this->pool_.clear(); + } + + void memory::allocator::free(void* data) + { + std::lock_guard _(this->mutex_); + + const auto j = std::find(this->pool_.begin(), this->pool_.end(), data); + if (j != this->pool_.end()) + { + memory::free(data); + this->pool_.erase(j); + } + } + + void memory::allocator::free(const void* data) + { + this->free(const_cast(data)); + } + + void* memory::allocator::allocate(const size_t length) + { + std::lock_guard _(this->mutex_); + + const auto data = memory::allocate(length); + this->pool_.push_back(data); + return data; + } + + bool memory::allocator::empty() const + { + return this->pool_.empty(); + } + + char* memory::allocator::duplicate_string(const std::string& string) + { + std::lock_guard _(this->mutex_); + + const auto data = memory::duplicate_string(string); + this->pool_.push_back(data); + return data; + } + + bool memory::allocator::find(const void* data) + { + std::lock_guard _(this->mutex_); + + const auto j = std::find(this->pool_.begin(), this->pool_.end(), data); + return j != this->pool_.end(); + } + + void* memory::allocate(const size_t length) + { + return calloc(length, 1); + } + + char* memory::duplicate_string(const std::string& string) + { + const auto new_string = allocate_array(string.size() + 1); + std::memcpy(new_string, string.data(), string.size()); + return new_string; + } + + void memory::free(void* data) + { + if (data) + { + ::free(data); + } + } + + void memory::free(const void* data) + { + free(const_cast(data)); + } + + bool memory::is_set(const void* mem, const char chr, const size_t length) + { + const auto mem_arr = static_cast(mem); + + for (size_t i = 0; i < length; ++i) + { + if (mem_arr[i] != chr) + { + return false; + } + } + + return true; + } + + bool memory::is_bad_read_ptr(const void* ptr) + { + MEMORY_BASIC_INFORMATION mbi = {}; + if (VirtualQuery(ptr, &mbi, sizeof(mbi))) + { + const DWORD mask = (PAGE_READONLY | PAGE_READWRITE | PAGE_WRITECOPY | PAGE_EXECUTE_READ | + PAGE_EXECUTE_READWRITE | PAGE_EXECUTE_WRITECOPY); + auto b = !(mbi.Protect & mask); + // check the page is not a guard page + if (mbi.Protect & (PAGE_GUARD | PAGE_NOACCESS)) b = true; + + return b; + } + return true; + } + + bool memory::is_bad_code_ptr(const void* ptr) + { + MEMORY_BASIC_INFORMATION mbi = {}; + if (VirtualQuery(ptr, &mbi, sizeof(mbi))) + { + const DWORD mask = (PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE | PAGE_EXECUTE_WRITECOPY); + auto b = !(mbi.Protect & mask); + // check the page is not a guard page + if (mbi.Protect & (PAGE_GUARD | PAGE_NOACCESS)) b = true; + + return b; + } + return true; + } + + bool memory::is_rdata_ptr(void* pointer) + { + const std::string rdata = ".rdata"; + const auto pointer_lib = utils::nt::library::get_by_address(pointer); + + for (const auto& section : pointer_lib.get_section_headers()) + { + const auto size = sizeof(section->Name); + char name[size + 1]; + name[size] = 0; + std::memcpy(name, section->Name, size); + + if (name == rdata) + { + const auto target = size_t(pointer); + const size_t source_start = size_t(pointer_lib.get_ptr()) + section->PointerToRawData; + const size_t source_end = source_start + section->SizeOfRawData; + + return target >= source_start && target <= source_end; + } + } + + return false; + } + + memory::allocator* memory::get_allocator() + { + return &memory::mem_allocator_; + } +} diff --git a/source/shared-code/utils/memory.hpp b/source/shared-code/utils/memory.hpp new file mode 100644 index 0000000..01f9554 --- /dev/null +++ b/source/shared-code/utils/memory.hpp @@ -0,0 +1,77 @@ +#pragma once + +#include +#include + +namespace utils +{ + class memory final + { + public: + class allocator final + { + public: + ~allocator(); + + void clear(); + + void free(void* data); + + void free(const void* data); + + void* allocate(size_t length); + + template + inline T* allocate() + { + return this->allocate_array(1); + } + + template + inline T* allocate_array(const size_t count = 1) + { + return static_cast(this->allocate(count * sizeof(T))); + } + + bool empty() const; + + char* duplicate_string(const std::string& string); + + bool find(const void* data); + + private: + std::mutex mutex_; + std::vector pool_; + }; + + static void* allocate(size_t length); + + template + static inline T* allocate() + { + return allocate_array(1); + } + + template + static inline T* allocate_array(const size_t count = 1) + { + return static_cast(allocate(count * sizeof(T))); + } + + static char* duplicate_string(const std::string& string); + + static void free(void* data); + static void free(const void* data); + + static bool is_set(const void* mem, char chr, size_t length); + + static bool is_bad_read_ptr(const void* ptr); + static bool is_bad_code_ptr(const void* ptr); + static bool is_rdata_ptr(void* ptr); + + static allocator* get_allocator(); + + private: + static allocator mem_allocator_; + }; +} diff --git a/source/shared-code/utils/nt.cpp b/source/shared-code/utils/nt.cpp new file mode 100644 index 0000000..094e4c9 --- /dev/null +++ b/source/shared-code/utils/nt.cpp @@ -0,0 +1,278 @@ +#include "nt.hpp" + +namespace utils::nt +{ + library library::load(const char* name) + { + return library(LoadLibraryA(name)); + } + + library library::load(const std::string& name) + { + return library::load(name.data()); + } + + library library::load(const std::filesystem::path& path) + { + return library::load(path.generic_string()); + } + + library library::get_by_address(const void* address) + { + HMODULE handle = nullptr; + GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, + static_cast(address), &handle); + return library(handle); + } + + library::library() + { + this->module_ = GetModuleHandleA(nullptr); + } + + library::library(const std::string& name) + { + this->module_ = GetModuleHandleA(name.data()); + } + + library::library(const HMODULE handle) + { + this->module_ = handle; + } + + bool library::operator==(const library& obj) const + { + return this->module_ == obj.module_; + } + + library::operator bool() const + { + return this->is_valid(); + } + + library::operator HMODULE() const + { + return this->get_handle(); + } + + PIMAGE_NT_HEADERS library::get_nt_headers() const + { + if (!this->is_valid()) return nullptr; + return reinterpret_cast(this->get_ptr() + this->get_dos_header()->e_lfanew); + } + + PIMAGE_DOS_HEADER library::get_dos_header() const + { + return reinterpret_cast(this->get_ptr()); + } + + PIMAGE_OPTIONAL_HEADER library::get_optional_header() const + { + if (!this->is_valid()) return nullptr; + return &this->get_nt_headers()->OptionalHeader; + } + + std::vector library::get_section_headers() const + { + std::vector headers; + + auto nt_headers = this->get_nt_headers(); + auto section = IMAGE_FIRST_SECTION(nt_headers); + + for (uint16_t i = 0; i < nt_headers->FileHeader.NumberOfSections; ++i, ++section) + { + if (section) headers.push_back(section); + else OutputDebugStringA("There was an invalid section :O"); + } + + return headers; + } + + std::uint8_t* library::get_ptr() const + { + return reinterpret_cast(this->module_); + } + + void library::unprotect() const + { + if (!this->is_valid()) return; + + DWORD protection; + VirtualProtect(this->get_ptr(), this->get_optional_header()->SizeOfImage, PAGE_EXECUTE_READWRITE, + &protection); + } + + size_t library::get_relative_entry_point() const + { + if (!this->is_valid()) return 0; + return this->get_nt_headers()->OptionalHeader.AddressOfEntryPoint; + } + + void* library::get_entry_point() const + { + if (!this->is_valid()) return nullptr; + return this->get_ptr() + this->get_relative_entry_point(); + } + + bool library::is_valid() const + { + return this->module_ != nullptr && this->get_dos_header()->e_magic == IMAGE_DOS_SIGNATURE; + } + + std::string library::get_name() const + { + if (!this->is_valid()) return ""; + + auto path = this->get_path(); + const auto pos = path.find_last_of("/\\"); + if (pos == std::string::npos) return path; + + return path.substr(pos + 1); + } + + std::string library::get_path() const + { + if (!this->is_valid()) return ""; + + char name[MAX_PATH] = {0}; + GetModuleFileNameA(this->module_, name, sizeof name); + + return name; + } + + std::string library::get_folder() const + { + if (!this->is_valid()) return ""; + + const auto path = std::filesystem::path(this->get_path()); + return path.parent_path().generic_string(); + } + + void library::free() + { + if (this->is_valid()) + { + FreeLibrary(this->module_); + this->module_ = nullptr; + } + } + + HMODULE library::get_handle() const + { + return this->module_; + } + + void** library::get_iat_entry(const std::string& module_name, const std::string& proc_name) const + { + if (!this->is_valid()) return nullptr; + + const library other_module(module_name); + if (!other_module.is_valid()) return nullptr; + + auto* const target_function = other_module.get_proc(proc_name); + if (!target_function) return nullptr; + + auto* header = this->get_optional_header(); + if (!header) return nullptr; + + auto* import_descriptor = reinterpret_cast(this->get_ptr() + header->DataDirectory + [IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); + + while (import_descriptor->Name) + { + if (!_stricmp(reinterpret_cast(this->get_ptr() + import_descriptor->Name), module_name.data())) + { + auto* original_thunk_data = reinterpret_cast(import_descriptor-> + OriginalFirstThunk + this->get_ptr()); + auto* thunk_data = reinterpret_cast(import_descriptor->FirstThunk + this-> + get_ptr()); + + while (original_thunk_data->u1.AddressOfData) + { + if (thunk_data->u1.Function == (uint64_t)target_function) + { + return reinterpret_cast(&thunk_data->u1.Function); + } + + const size_t ordinal_number = original_thunk_data->u1.AddressOfData & 0xFFFFFFF; + + if (ordinal_number <= 0xFFFF) + { + if (GetProcAddress(other_module.module_, reinterpret_cast(ordinal_number)) == + target_function) + { + return reinterpret_cast(&thunk_data->u1.Function); + } + } + + ++original_thunk_data; + ++thunk_data; + } + + //break; + } + + ++import_descriptor; + } + + return nullptr; + } + + bool is_shutdown_in_progress() + { + static auto* shutdown_in_progress = [] + { + const library ntdll("ntdll.dll"); + return ntdll.get_proc("RtlDllShutdownInProgress"); + }(); + + return shutdown_in_progress(); + } + + void raise_hard_exception() + { + int data = false; + const library ntdll("ntdll.dll"); + ntdll.invoke_pascal("RtlAdjustPrivilege", 19, true, false, &data); + ntdll.invoke_pascal("NtRaiseHardError", 0xC000007B, 0, nullptr, nullptr, 6, &data); + } + + std::string load_resource(const int id) + { + const auto lib = library::get_by_address(load_resource); + auto* const res = FindResource(lib, MAKEINTRESOURCE(id), RT_RCDATA); + if (!res) return {}; + + auto* const handle = LoadResource(lib, res); + if (!handle) return {}; + + return std::string(LPSTR(LockResource(handle)), SizeofResource(lib, res)); + } + + void relaunch_self() + { + const utils::nt::library self; + + STARTUPINFOA startup_info; + PROCESS_INFORMATION process_info; + + ZeroMemory(&startup_info, sizeof(startup_info)); + ZeroMemory(&process_info, sizeof(process_info)); + startup_info.cb = sizeof(startup_info); + + char current_dir[MAX_PATH]; + GetCurrentDirectoryA(sizeof(current_dir), current_dir); + auto* const command_line = GetCommandLineA(); + + CreateProcessA(self.get_path().data(), command_line, nullptr, nullptr, false, NULL, nullptr, current_dir, + &startup_info, &process_info); + + if (process_info.hThread && process_info.hThread != INVALID_HANDLE_VALUE) CloseHandle(process_info.hThread); + if (process_info.hProcess && process_info.hProcess != INVALID_HANDLE_VALUE) CloseHandle(process_info.hProcess); + } + + void terminate(const uint32_t code) + { + TerminateProcess(GetCurrentProcess(), code); + } +} diff --git a/source/shared-code/utils/nt.hpp b/source/shared-code/utils/nt.hpp new file mode 100644 index 0000000..27b7df8 --- /dev/null +++ b/source/shared-code/utils/nt.hpp @@ -0,0 +1,176 @@ +#pragma once + +#define WIN32_LEAN_AND_MEAN +#include + +// min and max is required by gdi, therefore NOMINMAX won't work +#ifdef max +#undef max +#endif + +#ifdef min +#undef min +#endif + +#include +#include +#include + +namespace utils::nt +{ + class library final + { + public: + static library load(const char* name); + static library load(const std::string& name); + static library load(const std::filesystem::path& path); + static library get_by_address(const void* address); + + library(); + explicit library(const std::string& name); + explicit library(HMODULE handle); + + library(const library& a) : module_(a.module_) + { + } + + bool operator!=(const library& obj) const { return !(*this == obj); }; + bool operator==(const library& obj) const; + + operator bool() const; + operator HMODULE() const; + + void unprotect() const; + void* get_entry_point() const; + size_t get_relative_entry_point() const; + + bool is_valid() const; + std::string get_name() const; + std::string get_path() const; + std::string get_folder() const; + std::uint8_t* get_ptr() const; + void free(); + + HMODULE get_handle() const; + + template + T get_proc(const std::string& process) const + { + if (!this->is_valid()) T{}; + return reinterpret_cast(GetProcAddress(this->module_, process.data())); + } + + template + std::function get(const std::string& process) const + { + if (!this->is_valid()) return std::function(); + return static_cast(this->get_proc(process)); + } + + template + T invoke(const std::string& process, Args ... args) const + { + auto method = this->get(process); + if (method) return method(args...); + return T(); + } + + template + T invoke_pascal(const std::string& process, Args ... args) const + { + auto method = this->get(process); + if (method) return method(args...); + return T(); + } + + template + T invoke_this(const std::string& process, void* this_ptr, Args ... args) const + { + auto method = this->get(this_ptr, process); + if (method) return method(args...); + return T(); + } + + std::vector get_section_headers() const; + + PIMAGE_NT_HEADERS get_nt_headers() const; + PIMAGE_DOS_HEADER get_dos_header() const; + PIMAGE_OPTIONAL_HEADER get_optional_header() const; + + void** get_iat_entry(const std::string& module_name, const std::string& proc_name) const; + + private: + HMODULE module_; + }; + + template + class handle + { + public: + handle() = default; + + handle(const HANDLE h) + : handle_(h) + { + } + + ~handle() + { + if (*this) + { + CloseHandle(this->handle_); + this->handle_ = InvalidHandle; + } + } + + handle(const handle&) = delete; + handle& operator=(const handle&) = delete; + + handle(handle&& obj) noexcept + : handle() + { + this->operator=(std::move(obj)); + } + + handle& operator=(handle&& obj) noexcept + { + if (this != &obj) + { + this->~handle(); + this->handle_ = obj.handle_; + obj.handle_ = InvalidHandle; + } + + return *this; + } + + handle& operator=(HANDLE h) noexcept + { + this->~handle(); + this->handle_ = h; + + return *this; + } + + operator bool() const + { + return this->handle_ != InvalidHandle; + } + + operator HANDLE() const + { + return this->handle_; + } + + private: + HANDLE handle_{InvalidHandle}; + }; + + bool is_shutdown_in_progress(); + + __declspec(noreturn) void raise_hard_exception(); + std::string load_resource(int id); + + void relaunch_self(); + __declspec(noreturn) void terminate(uint32_t code = 0); +} diff --git a/source/shared-code/utils/progress_ui.cpp b/source/shared-code/utils/progress_ui.cpp new file mode 100644 index 0000000..5b43701 --- /dev/null +++ b/source/shared-code/utils/progress_ui.cpp @@ -0,0 +1,45 @@ +#include "progress_ui.hpp" + +#include + +namespace utils +{ + progress_ui::progress_ui() + { + this->dialog_ = utils::com::create_progress_dialog(); + if (!this->dialog_) + { + throw std::runtime_error{"Failed to create dialog"}; + } + } + + progress_ui::~progress_ui() + { + this->dialog_->StopProgressDialog(); + } + + void progress_ui::show(const bool marquee, HWND parent) const + { + this->dialog_->StartProgressDialog(parent, nullptr, PROGDLG_AUTOTIME | (marquee ? PROGDLG_MARQUEEPROGRESS : 0), nullptr); + } + + void progress_ui::set_progress(const size_t current, const size_t max) const + { + this->dialog_->SetProgress64(current, max); + } + + void progress_ui::set_line(const int line, const std::string& text) const + { + this->dialog_->SetLine(line, utils::string::convert(text).data(), false, nullptr); + } + + void progress_ui::set_title(const std::string& title) const + { + this->dialog_->SetTitle(utils::string::convert(title).data()); + } + + bool progress_ui::is_cancelled() const + { + return this->dialog_->HasUserCancelled(); + } +} diff --git a/source/shared-code/utils/progress_ui.hpp b/source/shared-code/utils/progress_ui.hpp new file mode 100644 index 0000000..944005b --- /dev/null +++ b/source/shared-code/utils/progress_ui.hpp @@ -0,0 +1,24 @@ +#pragma once + +#include "com.hpp" + +namespace utils +{ + class progress_ui + { + public: + progress_ui(); + ~progress_ui(); + + void show(bool marquee, HWND parent = nullptr) const; + + void set_progress(size_t current, size_t max) const; + void set_line(int line, const std::string& text) const; + void set_title(const std::string& title) const; + + bool is_cancelled() const; + + private: + CComPtr dialog_{}; + }; +} diff --git a/source/shared-code/utils/signature.cpp b/source/shared-code/utils/signature.cpp new file mode 100644 index 0000000..b4c47c7 --- /dev/null +++ b/source/shared-code/utils/signature.cpp @@ -0,0 +1,223 @@ +#include "signature.hpp" +#include +#include +#include "string.hpp" // dbg + +#include + +#ifdef max +#undef max +#endif + +#ifdef min +#undef min +#endif + +namespace utils::hook +{ + void signature::load_pattern(const std::string& pattern) + { + this->mask_.clear(); + this->pattern_.clear(); + + uint8_t nibble = 0; + auto has_nibble = false; + + for (auto val : pattern) + { + if (val == ' ') continue; + if (val == '?') + { + this->mask_.push_back(val); + this->pattern_.push_back(0); + } + else + { + if ((val < '0' || val > '9') && (val < 'A' || val > 'F') && (val < 'a' || val > 'f')) + { + throw std::runtime_error("Invalid pattern"); + } + + char str[] = {val, 0}; + const auto current_nibble = static_cast(strtol(str, nullptr, 16)); + + if (!has_nibble) + { + has_nibble = true; + nibble = current_nibble; + } + else + { + has_nibble = false; + const uint8_t byte = current_nibble | (nibble << 4); + + this->mask_.push_back('x'); + this->pattern_.push_back(byte); + } + } + } + + while (!this->mask_.empty() && this->mask_.back() == '?') + { + this->mask_.pop_back(); + this->pattern_.pop_back(); + } + + if (this->has_sse_support()) + { + while (this->pattern_.size() < 16) + { + this->pattern_.push_back(0); + } + } + + if (has_nibble) + { + throw std::runtime_error("Invalid pattern"); + } + } + + signature::signature_result signature::process_range(uint8_t* start, const size_t length) const + { + if (this->has_sse_support()) return this->process_range_vectorized(start, length); + return this->process_range_linear(start, length); + } + + signature::signature_result signature::process_range_linear(uint8_t* start, const size_t length) const + { + std::vector result; + + for (size_t i = 0; i < length; ++i) + { + const auto address = start + i; + + size_t j = 0; + for (; j < this->mask_.size(); ++j) + { + if (this->mask_[j] != '?' && this->pattern_[j] != address[j]) + { + break; + } + } + + if (j == this->mask_.size()) + { + result.push_back(address); + } + } + + return result; + } + + signature::signature_result signature::process_range_vectorized(uint8_t* start, const size_t length) const + { + std::vector result; + __declspec(align(16)) char desired_mask[16] = {0}; + + for (size_t i = 0; i < this->mask_.size(); i++) + { + desired_mask[i / 8] |= (this->mask_[i] == '?' ? 0 : 1) << i % 8; + } + + const auto mask = _mm_load_si128(reinterpret_cast(desired_mask)); + const auto comparand = _mm_loadu_si128(reinterpret_cast(this->pattern_.data())); + + for (size_t i = 0; i < length; ++i) + { + const auto address = start + i; + const auto value = _mm_loadu_si128(reinterpret_cast(address)); + const auto comparison = _mm_cmpestrm(value, 16, comparand, static_cast(this->mask_.size()), + _SIDD_CMP_EQUAL_EACH); + + const auto matches = _mm_and_si128(mask, comparison); + const auto equivalence = _mm_xor_si128(mask, matches); + + if (_mm_test_all_zeros(equivalence, equivalence)) + { + result.push_back(address); + } + } + + return result; + } + + signature::signature_result signature::process() const + { + //MessageBoxA(nullptr, utils::string::va("%llX(%llX)%llX", *this->start_ , this->start_, this->length_), "signature::process", MB_OK | MB_ICONINFORMATION); + + const auto range = this->length_ - this->mask_.size(); + const auto cores = std::max(1u, std::thread::hardware_concurrency()); + + if (range <= cores * 10ull) return this->process_serial(); + return this->process_parallel(); + } + + signature::signature_result signature::process_serial() const + { + const auto sub = this->has_sse_support() ? 16 : this->mask_.size(); + return {this->process_range(this->start_, this->length_ - sub)}; + } + + signature::signature_result signature::process_parallel() const + { + const auto sub = this->has_sse_support() ? 16 : this->mask_.size(); + const auto range = this->length_ - sub; + const auto cores = std::max(1u, std::thread::hardware_concurrency() / 2); + // Only use half of the available cores + const auto grid = range / cores; + + std::mutex mutex; + std::vector result; + std::vector threads; + + for (auto i = 0u; i < cores; ++i) + { + const auto start = this->start_ + (grid * i); + const auto length = (i + 1 == cores) ? (this->start_ + this->length_ - sub) - start : grid; + threads.emplace_back([&, start, length]() + { + const auto local_result = this->process_range(start, length); + if (local_result.empty()) return; + + std::lock_guard _(mutex); + for (const auto& address : local_result) + { + result.push_back(address); + } + }); + } + + for (auto& t : threads) + { + if (t.joinable()) + { + t.join(); + } + } + + std::sort(result.begin(), result.end()); + return {std::move(result)}; + } + + bool signature::has_sse_support() const + { + if (this->mask_.size() <= 16) + { + int cpu_id[4]; + __cpuid(cpu_id, 0); + + if (cpu_id[0] >= 1) + { + __cpuidex(cpu_id, 1, 0); + return (cpu_id[2] & (1 << 20)) != 0; + } + } + + return false; + } +} + +utils::hook::signature::signature_result operator"" _sig(const char* str, const size_t len) +{ + return utils::hook::signature(std::string(str, len)).process(); +} diff --git a/source/shared-code/utils/signature.hpp b/source/shared-code/utils/signature.hpp new file mode 100644 index 0000000..054e6b4 --- /dev/null +++ b/source/shared-code/utils/signature.hpp @@ -0,0 +1,49 @@ +#pragma once +#include "nt.hpp" +#include + +namespace utils::hook +{ + class signature final + { + public: + using signature_result = std::vector; + + explicit signature(const std::string& pattern, const nt::library& library = {}) + : signature(pattern, library.get_ptr(), library.get_optional_header()->SizeOfImage) + { + } + + signature(const std::string& pattern, void* start, void* end) + : signature(pattern, start, size_t(end) - size_t(start)) + { + } + + signature(const std::string& pattern, void* start, const size_t length) + : start_(static_cast(start)), length_(length) + { + this->load_pattern(pattern); + } + + signature_result process() const; + + private: + std::string mask_; + std::basic_string pattern_; + + uint8_t* start_; + size_t length_; + + void load_pattern(const std::string& pattern); + + signature_result process_parallel() const; + signature_result process_serial() const; + signature_result process_range(uint8_t* start, size_t length) const; + signature_result process_range_linear(uint8_t* start, size_t length) const; + signature_result process_range_vectorized(uint8_t* start, size_t length) const; + + bool has_sse_support() const; + }; +} + +utils::hook::signature::signature_result operator"" _sig(const char* str, size_t len); diff --git a/source/shared-code/utils/smbios.cpp b/source/shared-code/utils/smbios.cpp new file mode 100644 index 0000000..a3282c2 --- /dev/null +++ b/source/shared-code/utils/smbios.cpp @@ -0,0 +1,94 @@ +#include "smbios.hpp" +#include "memory.hpp" + +#define WIN32_LEAN_AND_MEAN +#include +#include + +namespace utils::smbios +{ + namespace + { +#pragma warning(push) +#pragma warning(disable: 4200) + struct RawSMBIOSData + { + BYTE Used20CallingMethod; + BYTE SMBIOSMajorVersion; + BYTE SMBIOSMinorVersion; + BYTE DmiRevision; + DWORD Length; + BYTE SMBIOSTableData[]; + }; + + typedef struct + { + BYTE type; + BYTE length; + WORD handle; + } dmi_header; +#pragma warning(pop) + + std::vector get_smbios_data() + { + DWORD size = 0; + std::vector data{}; + + size = GetSystemFirmwareTable('RSMB', 0, nullptr, size); + data.resize(size); + GetSystemFirmwareTable('RSMB', 0, data.data(), size); + + return data; + } + + std::string parse_uuid(const uint8_t* data) + { + if (utils::memory::is_set(data, 0, 16) || utils::memory::is_set(data, -1, 16)) + { + return {}; + } + + char uuid[16] = {0}; + *reinterpret_cast(uuid + 0) = + _byteswap_ulong(*reinterpret_cast(data + 0)); + *reinterpret_cast(uuid + 4) = + _byteswap_ushort(*reinterpret_cast(data + 4)); + *reinterpret_cast(uuid + 6) = + _byteswap_ushort(*reinterpret_cast(data + 6)); + memcpy(uuid + 8, data + 8, 8); + + return std::string(uuid, sizeof(uuid)); + } + } + + std::string get_uuid() + { + auto smbios_data = get_smbios_data(); + auto* raw_data = reinterpret_cast(smbios_data.data()); + + auto* data = raw_data->SMBIOSTableData; + for (DWORD i = 0; i + sizeof(dmi_header) < raw_data->Length;) + { + auto* header = reinterpret_cast(data + i); + if (header->length < 4) + { + return {}; + } + + if (header->type == 0x01 && header->length >= 0x19) + { + return parse_uuid(data + i + 0x8); + } + + i += header->length; + while ((i + 1) < raw_data->Length && *reinterpret_cast(data + i) != 0) + { + ++i; + } + + i += 2; + } + + return {}; + } +} diff --git a/source/shared-code/utils/smbios.hpp b/source/shared-code/utils/smbios.hpp new file mode 100644 index 0000000..bbd1939 --- /dev/null +++ b/source/shared-code/utils/smbios.hpp @@ -0,0 +1,8 @@ +#pragma once + +#include + +namespace utils::smbios +{ + std::string get_uuid(); +} diff --git a/source/shared-code/utils/string.cpp b/source/shared-code/utils/string.cpp new file mode 100644 index 0000000..653ecff --- /dev/null +++ b/source/shared-code/utils/string.cpp @@ -0,0 +1,179 @@ +#include "string.hpp" +#include +#include +#include + +#include "nt.hpp" + +namespace utils::string +{ + const char* va(const char* fmt, ...) + { + static thread_local va_provider<8, 256> provider; + + va_list ap; + va_start(ap, fmt); + + const char* result = provider.get(fmt, ap); + + va_end(ap); + return result; + } + + std::vector split(const std::string& s, const char delim) + { + std::stringstream ss(s); + std::string item; + std::vector elems; + + while (std::getline(ss, item, delim)) + { + elems.push_back(item); // elems.push_back(std::move(item)); // if C++11 (based on comment from @mchiasson) + } + + return elems; + } + + std::string to_lower(std::string text) + { + std::transform(text.begin(), text.end(), text.begin(), [](const char input) + { + return static_cast(tolower(input)); + }); + + return text; + } + + std::string to_upper(std::string text) + { + std::transform(text.begin(), text.end(), text.begin(), [](const char input) + { + return static_cast(toupper(input)); + }); + + return text; + } + + bool starts_with(const std::string& text, const std::string& substring) + { + return text.find(substring) == 0; + } + + bool ends_with(const std::string& text, const std::string& substring) + { + if (substring.size() > text.size()) return false; + return std::equal(substring.rbegin(), substring.rend(), text.rbegin()); + } + + std::string dump_hex(const std::string& data, const std::string& separator) + { + std::string result; + + for (unsigned int i = 0; i < data.size(); ++i) + { + if (i > 0) + { + result.append(separator); + } + + result.append(va("%02X", data[i] & 0xFF)); + } + + return result; + } + + std::string get_clipboard_data() + { + if (OpenClipboard(nullptr)) + { + std::string data; + + auto* const clipboard_data = GetClipboardData(1u); + if (clipboard_data) + { + auto* const cliptext = static_cast(GlobalLock(clipboard_data)); + if (cliptext) + { + data.append(cliptext); + GlobalUnlock(clipboard_data); + } + } + CloseClipboard(); + + return data; + } + return {}; + } + + void strip(const char* in, char* out, int max) + { + if (!in || !out) return; + + max--; + auto current = 0; + while (*in != 0 && current < max) + { + const auto color_index = (*(in + 1) - 48) >= 0xC ? 7 : (*(in + 1) - 48); + + if (*in == '^' && (color_index != 7 || *(in + 1) == '7')) + { + ++in; + } + else + { + *out = *in; + ++out; + ++current; + } + + ++in; + } + *out = '\0'; + } + +#pragma warning(push) +#pragma warning(disable: 4100) + std::string convert(const std::wstring& wstr) + { + std::string result; + result.reserve(wstr.size()); + + for (const auto& chr : wstr) + { + result.push_back(static_cast(chr)); + } + + return result; + } + + std::wstring convert(const std::string& str) + { + std::wstring result; + result.reserve(str.size()); + + for (const auto& chr : str) + { + result.push_back(static_cast(chr)); + } + + return result; + } +#pragma warning(pop) + + std::string replace(std::string str, const std::string& from, const std::string& to) + { + if (from.empty()) + { + return str; + } + + size_t start_pos = 0; + while ((start_pos = str.find(from, start_pos)) != std::string::npos) + { + str.replace(start_pos, from.length(), to); + start_pos += to.length(); + } + + return str; + } +} diff --git a/source/shared-code/utils/string.hpp b/source/shared-code/utils/string.hpp new file mode 100644 index 0000000..04042cb --- /dev/null +++ b/source/shared-code/utils/string.hpp @@ -0,0 +1,100 @@ +#pragma once +#include "memory.hpp" +#include + +#ifndef ARRAYSIZE +template +size_t ARRAYSIZE(Type (&)[n]) { return n; } +#endif + +namespace utils::string +{ + template + class va_provider final + { + public: + static_assert(Buffers != 0 && MinBufferSize != 0, "Buffers and MinBufferSize mustn't be 0"); + + va_provider() : current_buffer_(0) + { + } + + char* get(const char* format, const va_list ap) + { + ++this->current_buffer_ %= ARRAYSIZE(this->string_pool_); + auto entry = &this->string_pool_[this->current_buffer_]; + + if (!entry->size || !entry->buffer) + { + throw std::runtime_error("String pool not initialized"); + } + + while (true) + { + const int res = vsnprintf_s(entry->buffer, entry->size, _TRUNCATE, format, ap); + if (res > 0) break; // Success + if (res == 0) return nullptr; // Error + + entry->double_size(); + } + + return entry->buffer; + } + + private: + class entry final + { + public: + entry(const size_t _size = MinBufferSize) : size(_size), buffer(nullptr) + { + if (this->size < MinBufferSize) this->size = MinBufferSize; + this->allocate(); + } + + ~entry() + { + if (this->buffer) memory::get_allocator()->free(this->buffer); + this->size = 0; + this->buffer = nullptr; + } + + void allocate() + { + if (this->buffer) memory::get_allocator()->free(this->buffer); + this->buffer = memory::get_allocator()->allocate_array(this->size + 1); + } + + void double_size() + { + this->size *= 2; + this->allocate(); + } + + size_t size{}; + char* buffer{nullptr}; + }; + + size_t current_buffer_{}; + entry string_pool_[Buffers]{}; + }; + + const char* va(const char* fmt, ...); + + std::vector split(const std::string& s, char delim); + + std::string to_lower(std::string text); + std::string to_upper(std::string text); + bool starts_with(const std::string& text, const std::string& substring); + bool ends_with(const std::string& text, const std::string& substring); + + std::string dump_hex(const std::string& data, const std::string& separator = " "); + + std::string get_clipboard_data(); + + void strip(const char* in, char* out, int max); + + std::string convert(const std::wstring& wstr); + std::wstring convert(const std::string& str); + + std::string replace(std::string str, const std::string& from, const std::string& to); +} diff --git a/source/shared-code/utils/thread.cpp b/source/shared-code/utils/thread.cpp new file mode 100644 index 0000000..cb3eeac --- /dev/null +++ b/source/shared-code/utils/thread.cpp @@ -0,0 +1,117 @@ +#include "thread.hpp" +#include "string.hpp" +#include "finally.hpp" + +#include + +namespace utils::thread +{ + bool set_name(const HANDLE t, const std::string& name) + { + const nt::library kernel32("kernel32.dll"); + if (!kernel32) + { + return false; + } + + const auto set_description = kernel32.get_proc("SetThreadDescription"); + if (!set_description) + { + return false; + } + + return SUCCEEDED(set_description(t, string::convert(name).data())); + } + + bool set_name(const DWORD id, const std::string& name) + { + auto* const t = OpenThread(THREAD_SET_LIMITED_INFORMATION, FALSE, id); + if (!t) return false; + + const auto _ = utils::finally([t]() + { + CloseHandle(t); + }); + + return set_name(t, name); + } + + bool set_name(std::thread& t, const std::string& name) + { + return set_name(t.native_handle(), name); + } + + bool set_name(const std::string& name) + { + return set_name(GetCurrentThread(), name); + } + + std::vector get_thread_ids() + { + nt::handle h = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, GetCurrentProcessId()); + if (!h) + { + return {}; + } + + THREADENTRY32 entry{}; + entry.dwSize = sizeof(entry); + if (!Thread32First(h, &entry)) + { + return {}; + } + + std::vector ids{}; + + do + { + const auto check_size = entry.dwSize < FIELD_OFFSET(THREADENTRY32, th32OwnerProcessID) + + sizeof(entry.th32OwnerProcessID); + entry.dwSize = sizeof(entry); + + if (check_size && entry.th32OwnerProcessID == GetCurrentProcessId()) + { + ids.emplace_back(entry.th32ThreadID); + } + } + while (Thread32Next(h, &entry)); + + return ids; + } + + void for_each_thread(const std::function& callback, const DWORD access) + { + const auto ids = get_thread_ids(); + + for (const auto& id : ids) + { + handle thread(id, access); + if (thread) + { + callback(thread); + } + } + } + + void suspend_other_threads() + { + for_each_thread([](const HANDLE thread) + { + if (GetThreadId(thread) != GetCurrentThreadId()) + { + SuspendThread(thread); + } + }); + } + + void resume_other_threads() + { + for_each_thread([](const HANDLE thread) + { + if (GetThreadId(thread) != GetCurrentThreadId()) + { + ResumeThread(thread); + } + }); + } +} diff --git a/source/shared-code/utils/thread.hpp b/source/shared-code/utils/thread.hpp new file mode 100644 index 0000000..dfdf1d6 --- /dev/null +++ b/source/shared-code/utils/thread.hpp @@ -0,0 +1,47 @@ +#pragma once +#include +#include "nt.hpp" + +namespace utils::thread +{ + bool set_name(HANDLE t, const std::string& name); + bool set_name(DWORD id, const std::string& name); + bool set_name(std::thread& t, const std::string& name); + bool set_name(const std::string& name); + + template + std::thread create_named_thread(const std::string& name, Args&&... args) + { + auto t = std::thread(std::forward(args)...); + set_name(t, name); + return t; + } + + class handle + { + public: + handle(const DWORD thread_id, const DWORD access = THREAD_ALL_ACCESS) + : handle_(OpenThread(access, FALSE, thread_id)) + { + } + + operator bool() const + { + return this->handle_; + } + + operator HANDLE() const + { + return this->handle_; + } + + private: + nt::handle<> handle_{}; + }; + + std::vector get_thread_ids(); + void for_each_thread(const std::function& callback, DWORD access = THREAD_ALL_ACCESS); + + void suspend_other_threads(); + void resume_other_threads(); +} diff --git a/tools/premake5.exe b/tools/premake5.exe new file mode 100644 index 0000000000000000000000000000000000000000..c73da1fb0f9811be77fc7c6bbd5d98644ddddc71 GIT binary patch literal 1398272 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�eclWD z<~Ij#VkgxVIf2L)R5{m}sz^+(G}R+@beordKUGHgGFg$1L}z)-mp7BB+g!k<*JSpu z&Ne^)j$-6lHCtL)R_d>cw0goTMdkwIgP>k$1pa%H;~DOavYAFj8NrDC?R9rV?;RO+ zi8}xr8bZ0RoonW&+hD1`kvCG*CBq6bHlM69U;2xxl7{SSpxEV7?7RVeQ<<^(OI^WVNDgR~L0j>H80UrCMotSIb9Hr5je<=C5 z@cj0Gb3moX9*6Xz;$YsKIXcjh`#p(a}6ZUOS>uxtRAM zDcvClMATnmEIP(w+dGnoWwEQLbC9%%nR!{T&uG7vvH0!``A1?5^TlN56&{VHZ_1gv z?nw8bUVkDsAKZ#;@jB}LXnLZL?&O$kHW%VMYhLQv%(j#$TYyK5&tl^vnRTVzD6HcaK zrhZk5Oo1#8qd*%%*s?V951W{EV`M@ri~XXRDjaI_T~fmque6#qMp`mjIztFVEHaTEwv44{-s^(mJ6ww_d@Sa&cth}Sml-`KlG}+kfDvYXjMSo zujf6(JJgkUM^&!H>Z^O`s}$d5ex@=N!K>Z(>Qz1|=*IJtTI-e4G+K<`IkGa!xR?tnekQ2MeN;-m4P~;)`OO)#3c!FDA1Fr*Lbx z7eOPKg&puEZO2_sufNi>Zj#Zyck3B3ZE74LFDpUBy&z`L8)?nkyIVf6xAjKub&so0 z-<7wi%CXnLOsy#0-?c@Qv(EiS+uq&so-1|GKMq2b{^7P*zGCa?K#}Iya-%3I+S5=Z zapIn{C+ZrpTi)ZcF~7~JGx} zmw4eEK6!wBRA@VAyNmym_S z{uDgj#ypQvL6(jB?2W@ySl?->br>$K3fPC?CgdZuCwl+&A+D{xmwA*R%EK97iAQTZaaa+XuNvbXPvkFNbCxWY^Stcrj!RAH z#<~16u?%A%|BP7U9W;9Uo$IcO*Qa??H19}lbZVsCtBoFkjN5;x?ro|xj`+LRjo+zx zIjMSt#<3r5d>@JJ1Y(-E{T=IaEc;x|o6e!ZGANvlJ35p4{T+30FJH!Zt8tP3TjMJc z3VzJ?ixaDj1H_5@KKENUdu7IG-V93E9Oy4~2jKXNIhNgU@3oHs{YZ0UJ(dw_{Z~uVG$T%=AJR&ksOT=G}lvC_^ zav4MEze;+1?KZl{u$&uhL-51i0ubU=C#9|-mD2o=P(=y59?kMWP5)2|@|?%K+wEKA zk(@W%?K!4J23*o42||29lZM)p8gGB8Bu>3p;^gvc%tNdeGPo=qZu12mwhjuN3y-&; z=taI?u+Q{YDsky@Ibx50R(;ixGoJ9s$eByRX;8x0Xd#Co=6gU*ccnk^M9Yq0YEfAs zJBMffT~U0I@Sit?c6m}jca3?Q-K1{t?Pj^}vD-9n>lxLy5~Czbd;=$mZ{Rp_3oTfn z)DRMn47w&_Q|rZ;x#zv8t4O>M(fP3PLSD{3T!bCizbIj%vB6{ZiO!=3DSejMLrBna zLItDyap>hP9CF2U_rl;2x`1dj5-g$Q@}`904 z?Wwj@H*Sx# zosFFKZnzd}^s+aUHTqO827;kL2HEkk@NjW2?OpyIY0}cY*nwY8iW~S%;CB;0M~XAm zne>-x4QCQPsk7@lJ+9tmKx!hVYvDVr!sDk^#^EC~uqfU>Eix1=n#!eH*>X`BJJg>` zNe`x!Srgsh2n*gY75j`WZ;=0YfUxFZ@(Zbg>;A(5Gq7l)55a0sX=w;NE=*;YO)B|ar|~PxjczLJT^Ch+uEJ+{ z)xr`_{2VKqCL~IZu(H=1JV8C`h$}vcG|>7q1RpodrmCxqkI2MkdnH9-WdrJ_^B_Wf zan0x=x7qzPg>7+{7)Qgm0-1utI+LVW;S1h$<(>tVl>{P@!IwxR-z}1!h#=Dlh&ILo zoJQ2&2foP{Alt(}!V%sB6SiDfFl!-1bD@%}mQX+RS^0mU{u5_AF-|GVGsV*sAS>cm z!xj?!NDy7sQ|q6Cm+dc5V`je393PM#gnhKEU|%ImuJKYu1$6Sg;Q6g(l$jHn*wdCs zgS(_Nn`rPpxJnuv5F4;%NsYDe4?U$ zsDD8+EzPpqIbGU$mdlRcTt?ssY025gL@)qUnoi~wt{Haa8+eGtKXXw-(~m+_M+t#}p_ z+e)H}WeJSj=5t?HeW7Klpace3MM-lk_#p38M8Tp6WzvdyUKk2Djls0RjftYfFovr( z|AoG)!qSC_NNSkXIm)Y4y(u^>h9+zmHh9hJac=n#7eKZ&Xr?~?DO%`3+9RIT}`iVGVB;%{OT+SKjF=o5r08o#ZY2j=MlM4Cp8V_za z=`bXm+2D?)$t4@!BAek9O{^Q{$6|++h+Mc)wKUk}tKBhu_n03LLXNF@k=K|Fy9TEw zn|a~HhC?q-7Gyjmz6nOMi!hEpZT|en^yof!3G!-I*2A$ZImyWU!J`V}z_t3RA`O}E zSzx?4Oi42z(^4-^fRWZ?3Nlr<3uMG3`xtaW28*#Xy7~hHf$(JGiXC&(kj3&`GUy8D z8iBt40Gp=qc$^|1^nI|sIL!!F=*2nu9Tiljd4q7)sT7tlG_p}r+CPk*#Esnw(5}hI z2s1VQqv%OuuKrRYwOa&bBC`|H#8*j5Zg;~8t{49EsYyOqmZ0fh4 z5wrW5XWYJHx!M(874P9#tQ?yD@WJ-ws(+<9`lbqMk^Vt|QW@K0vKkGWZ%Op$Drugg zKQsR>{ehoX6v#pg^G|=aY`tNZN*L6Av8$M|Mz+DZ=U#K<*JwH%u$*d?CFHPvhK$rA z0#hB-nWkBKMS@IWwOu-03lR7`&+jRVc?Nt{HE(~{; zY|1YfV0(O%>FH(kMy%Y9M&8L~X>uA}n9q33I{Kk@ZuOdC-J!gR^Dp6iUDg@9Mu!*i!-U_H*j;sdewudFPOY@e> ze)9j^-1r;;anEnA(0}F&jZKDVXH3va2(TB?DhFcG5(&KOF#OQC%f1>1>}Y8w%PUjr zO&Bg=;f6r_e+BBrTS@z5aSB0`$u zBBW_YNMnpK4py64jjF#=uBrfxP$ZuAN^=QLARA|M^V>A{K97#@#-Tu@ZNngsy^VMwd34s!l5D+54q)>l($5K1f4|n;!lyW7waEQa*HR$?w4=)0eSI>7 z^I7OsH+R276b24yT&rZ^V&FW;Vaq^_GMmq7pX^(5L2Nm5QWJD`Da08o@ zuy3ZZMNU1N3Pk6wmilH&Inf-4kx^AWxIuEXw)C&&pwPWHumm!Rm-yC@Z>4MuH`0C5 z7#SC)`j)cwF@EZ6qPPpvMqUWC^n;m{N_ieiPM|S6(h6Z0Hug1bNl&T6XV6<^+3JT4 z`Zk}w2`6ocKpR43c>9ZxIA0lQb^Ckj$H`hH^x_iZQbj=0%w?;E_cZn@ek;B{!7vED z4|=L28wW!5pMw=4`gC;OiFn+gwQ5U@tBbw`EmT zFlemvMg~S`+w$1(a&YReP7)L$bh{O{3({Rqpetv&hgT`ltt4q;(w4X9cd-WRc?nQ?c_bqMt9pgBZob2{nMZ`kz_~ccB5MMx6VWKjc!W~P`K-(_e(9i zTMAsvo+md6$T zJmi4zSeaV(HO^{koRLvq{5(|*wRNokJ+wB_*6{8;J{QhIt)$IklUN>Bozk9ZyxmR{ zIXGzFeeeB%c ziWQagArP7|ecnr(T3XS35EG*0U<$g*I03flFC<$QY~=2^8i-Ew5vFMDdSE({)mu3m zRPgq;@3IJ`Q)1lPAigh&dm9iRtwEu1Tr)uVNt?~9qgJrev{ z@;)XeIlI8w%82w)6|pH-XZzNao{0-UAIS0 zr-wNR@;c6vUgRa{XG7Rv)&cfcn|ANqbO?wva}liPj$e756ON)4U|SlXjd0dQ zxCN6G@HqTyJ=(*MO9=~~MnDzN7o9am8sWYHg2`n(Cq0NcBOS=|wdN*L2`9%s$C6WE zyf>9?W`7XsTD#+OiZ5Gcj8;^&8Zs{U!Lz zNK%EwGq)nTkC!D^Yd$2{>EFFh%0*c!adgU7rsM&6!<2GIid=)N-O-$_^<$$&?!wgi zOw1J|jL=aeuCkTp+^cfWAd>`|I64|+4GN?Dl}MCI_y@Rv!8Phb{pE20jJ5$VLg-lU zFFz-Amx%(?a_dNR$?gw8&oGvHSwCF` zuZlR0xt`S@n2;Jy7d9!Ft(e@EdT^EY%wD~6u^wD&RVw*KF}v6XQ~Y`DdCx18pD_^I zq;!vJgIA8{P2-qo^%PNr`}ebjnB^{OY29*?K)azS{w{3EO1#Q2VVPdGLUivmu-%>) z)Q9j(F;Wt0bl%DS(g~?r^KM|+(!c3eWBjS#Bl-z=kgun+;^()c!q0E>_i0gKFQHA& zZsx&q=l*57d)F^OYFo78#mEY4sNahLx}{}dlI2%SZab4YyRa;`@j4?gon;;DEUY-Y zCEM@aoEC|tgs&!KUl0pFe|at(O2Z!*H7w8l8?)+f;%)3xQP(W7J9KT8`FM@Mz=0c~Tqg|oNIf;bJXfEcBfBeD`f}JLVPBX5gRweT82Y;i>JIOei`~WB z#^UMGVt4J%$i}mdEw7=AYfOv0of7t_&K+zp$u(U%Gd+U4Z|o*x!HQ@JCtX59x;sl0 zjW$0crbt-oU>3#@f>G5_hZIXHz>i_o-sW4g(MNf(k&1qbAiHNy0DX2d9v%k6?Qe+D~g1!!)6=i#&0A z@#k72tv`(n+@NhMV#klM`1V0jk+rPh!YrHCbg%2W@D$@t0s@rroQB;+EN#!5GM3fe z-6mI~*w@mkhq8C|@xUg)D9$7LRP2h*koPEWb|2$kXDA!qVUYQ}N8ah797suJwA^Qo zLUIN}(7Qusz`n4zKgc8=X}*azUk_!)){{l9cY_0&+pBYLZtVz7NZB5`CbncpQTp~! zu4-SeSlghz+#Z_1-Hresu8H|6Zsd;O1Yhp<(8Sn{H@C{=y67@gy;}2h0HHk_obVqg z`5fW=PUqt+kewm-Nm@tiCB~rzC!p5y5}1)-tDnr(TF%K_oaL4Ro@DmEBai5o#SSFE z<{zWi$@x7p^$gceW}Qms3VS=9vZLBHWq*~U_xqBE$hU9Y9u1y}3{2FvAyEX*K-v$5x zM^<0m+54LHL@t4tyzHc9go4}4hk{o@w%%WGxAXdQ0mqGh3poCjUkdjpxbEin8M@|3 zSAQwiCHcSgB{kitUb@n1cOEA1%lwY<>*d$S?-ajt{L(1P!*2|~AMyOZ{BD%;9Vwm^ z&oGUx)8$D^_hh(7cswIVdOV&{_I!=J*%vu6Rq?M)TND+7kQU`QOLG+!ny;wPJWo^M zZS~_NtYLc}J4Zz_f_jYy_8(aTbY%SscE4_8oKb}F&DG-hIz1iD_sxK@pR-2XhJ-os zRtw2FXfDE7XLT(aFt(#P=BdqM@W`?f9xXBlCGbWMlLC+8{m>?@o=bM~7b>eVR-X(e z3wLul*QQ3-by_p$qKU$eoW?BbCEyYE~lX|vtN$R z#~kC@4PV4OVQpGaf&(t$qE=oEwYJHGObP#x1=PWOx0d^PZvV?$7Pb9lyz_m3_m;V_ z8PPeZh4b7EMX`dyrS8}%7LK;RWNz(9b(|Y?_W3(DPx8OJC65U2jT1QxD0Wr~-l&``83OST1z?3}(o3?xYw*-#6Lte8YG* z^49HcROi}5lYYm1H7o@tYa#7DKr%YukN@)el!-XB66jMHts z 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%0DJ4G{` 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 z⁡-Tt0Au?$UDH_p#|g}5!cZ&@(709%}?bfA$JpzcS5F4 zB65g@>X8yb$>BEJa##TJko5NEKAoGyFF4!q>2x+EdLBqG0zOqWIESKzk>7&YP5*h8g}vpGxc9V=awCK#!q!dD&mY- z1nde_B$+fMi;`(^Nam7iVMx}#pB;F?Pjx|R&kG`A9T1aL5@Jy*Eh6SpY5}o4ONB8% zJJ8^#GDye`BJxW>PEtw8MX9uioJ*-ibis+_c*XuAcRsyLP^L)p|psc3#moqJsI*^KUFOgbBOHHS`j&52jI(XKhWr^WKmASa0}l`o2|#qzlrTP(i@3&`xi^M0!H5^{{btX=qM%aMzs zYY{mYWsAt)V8}1}sV+*$G5Rv(e6;1rFQFC?U5m)MC|gAS6hnT+Pjy8?j?tGP=c6r0 zE{d*2-738L;0?4=le z3A;)XU9_kQqPrBLYYDpwqCBqN()cFNdX!_9Wd}CI`KcP@nP1~c{|DRf`33*|k_;2#UxK zJm;r6C)I{#3N&>VX9^6tD61BcbJ?|s{CYhh*ZZmT5^|a;5OQ&*z>tfwY7se?U5m)y zWXLc3sV+;%X{JEP#hC&_F3PG!|pADW(bX%(W0D^QD#kS}iI%R)+PM{JST6)({mh@FiId zQSky_lGQLOZkjL2f?HUUVPQIj7O|ASo%}odo@L~l0IY$qmDbpUfr)Q`qUcJQOy&d%CIy;Ahr!CP=T2ko^X#jJt?8Q(zf0HDtp?V%N#JmXcowe zwqNYJ>(?Geu64oZ zD6q9wHC#RTn!H#3J4M-h<#`ufa2sIy>Bhz`Fh`=x_Lg+2t$=~Ld`po=c3s}fBVbyn z@SL3KUAT6J;TWNAhjTwa>2_c;24&?T7>pL3v7b*mYRcv0k6d}A;2=vaiQaa*>XQmU zWw%1BSyvlm=ktr0ZO#*WDcuuqW(Mxs$>`KMsBs4<4a_KUkhgmX7!!tH#qkXOVYCy}kS;XdHwcuoe=o ze>`(WPcwTo!Z!(=mQz6>M*WE!Sg(KEiDq zVaN~Qq&%Y(bU|23Np#59^}NxvxErtHp+lYLXE#3{eQ`pk2!Z!{~a z7SeSKSx{0qx=Hv|z%i6_0O8kRD+XIRXS;!%R3C3fUc@hC{WT1UD&V;WPk3pZJmpXT zk`C}?Ny0%vI5cQePs2692+%8^$uEVI{aknvioAqOXRjb&7asNiiZhC3MLtv~eAG?O zu3kq0N4w)sE&d$MkCRWXLb_j3H0Ta*BxI=2C4`-#0ug=&{&K3mR~op2lk~NCQrreJ z4g<|~X!&*>w&6@jg6&_*aUuO;egiBI4*|j8wZtNLV6zwwQ^artM!*^{)T4}dKX4}k zRSJXR&{^UJC?bnO&Lwc{0{pJT2AB=H|0c2->1CnrhR-SQz5i}L1l%YdJY4>`Y6XQe#q7ay2asq(?jPv&3M5f#c zKpUP#!M~!sKOkAV^3iJH;CmRXKww;D<+-(IscM*XGPRU2U@S`Zuj#>;kAnc+0 z5OD$#5!ImaI1<1JlGsUg2tR{J;&B9|Xa+_z&P@N{mmo>EqVW*%YfZqUz0cbw4 z9qzzIS0`!Q}gr4yaAH27m@)h&q0XFxa7v{P@9`@8ttqPo**4Jj5ZZG zD+D9XT}Q17F3M|eVHeQU^jbwRD`Ey$u9~F3K+%rDjHXR>RBB%kKJ<^!V$HxWmLsb9b z_*ei|QLF#c@ey3PXMDu?<2=Nhlj`Hf$h+_OsANgl_y_^v<0H`0xJW}9hTJgYxcDb= z7+^Xsj*w?KV%9{}fy^Qs4fIFRE7dht)Xx-*6m=Oo1+fXQ8CD>Tmo#qjF%$j^@MF-i zG%{Ko5UFog@jh!D7(trZfGAeK3gK)(B(_KcBGnu30rLTokI_{!&~o2_Q5+A$c1eA; z7)3xfr!*S_)zdNlK@zZD+$oaR*GH_kom6iW za}sq%{|>KZ!y0lEBfyZbi^%vpp2_UJ4t_hat$#-x#?}-)u!qx|0ds}0{SaJCS5l5r zAiWuChzP_eFm4v>Fg`_`L;%E#rVwFw@C@AS6_05~1T`FcQ`j{$4VwG;pouwyx=cwk z9}9zK3K;poL32qesIxR+(!S#Z2h5E)--S|)1E#Z63gae5N%qFUD9Jhjjr^0ryeUjD zkb~xQ;*fY1L!x1=Ntgm0-Bo6jews$`jEneOMio4%j^GVmzEeo_>-by95;;|=rRuaUNzdF4dm&N(``o;~}rI5c&-$n#^PBlzEX%gV$YQeB06P#`EiRmhlQ7qTc+z{MdpU`se~L=>S; zPHr3rgwlC|jAkatMz7t|NTkDHfW+Pd@;MPCBqw+{>jZd3c`Fcx-sl|W2CDG7jev-S zA3-9_JHjb(86Y1L>Qly%KybnaY=xf?p)gPp7Dl5B%@|Qa7)S}jX%Oc*2#mmdi%qJ6 z6i7~|RFEYMGm5bNfL{O*ZC85B9RO5=p5mfqU7FY_FQzGpvy(rsCAjEaP=w~;FTyvv zn788n+YgtDVqtvG`|wo+it7bBuH)^LkFwwn*vMViGVXd*F&A?rv@=f3yy`CqJLww^Ez$85R$6m^x@0RM2 z?c$k!>yKw{HK-jZK^`ro4R(1r=k(w)rx#9lp=5E)VK&_AC$Vm}WtI}^_K33!LZc9m zIpQxUC`1aPLJaSK0+w~Ycg8J2`)cfE4CJ76Po|10Ox$XfcL&!zd!WL*>DhZzU+o1aSyK^R&Pvo&v@t&C=V zE-jza-{QHnNRA7#-gGVveh4lu2&j&2jnuhMLB(mNze9_RpgqTpQI@i#?JekpZwsj z$f+{2Nlty4-&{`p5hls$Mno-ahjPie=E}KvKe?2F-l9Am z&AG-yGFT2tE(OHpq0OWdl0b^8iE=sQzH$kC;>dj;xlG;vSLKq?Daz$mH}gT1oyWq- z0*m@YIn=TD$m1;>qh_x))_tg(4vAz<>g<}r+)$|W6jkUWq)ptFkHk~3?%%Z!^8~72 zzLi%4U&##4%3V!z;oOUPZ1T~J{j)Z{4*vatcVEwg8G41oUjE*bXB+@eao7Mejb)g@ zLz#eS;%zo{hr;_j@;W$&`h4w>J_sS~!gyD8!9>Tn< z>PyzeNa;uuK3cXwMM#U`a7_HdX@Xh?_Z-48qDIh+7{cug9XX0Epv4VMMQPpdLB%8R zcM61BNO2x%vAUyqY6KQbE{$F^aTr2>UV3O+NpJqTW`ZD7XW1d0H%%NOhO8mllnf`b}-jO9LB# z4WY%iP?IoL->ocp5-pCgV}QS;+qmk3oTULkH)JE?kroS9rZj;{fTqT5Nl*nBel}V{ z@Wb&gWXobgkz$~7F_wm(L2jCYqH)8R9wCDt;ARaBbrUOpX$h(d!a}kBP#;v{O;bw3 zU$aaOQ*g|x=`|zId<6O`;#LmbEn0gly^#6}GO+pQ;T_i@gy29|$z-@{K3v>qq*^xAR?sJrxdX1tq=_uhYd^r!!I8c*D5Ozoz6I4z zj}>6Pi7%32@{ol7q^)r%zCJE4K&Z27+=Ussy>bZh}D`kvRu|u5s z4uwo2SVwst?^@z<3Fon$5XFY3(mZ!?L+{P-J9|R%aLWLOSqMg*pzR@v$!S``)(n$p zUPo%?|Cz69sL3p}26P9kHSk?GWMF*KMq`{Vv_S!$o~-8SSAp_phl7v_c_z&SiEo{d zsMtmvw1+`O)3u2&W)W%-X%qyzGLa1M1{+3-LdF}zWU5C~6_`L~mpDM+ob8D4yhp@R z@oHXLm4_7-4j-{*V7k%*`RIqD#*T;euZ8U7=Qo%D*@c2cdhA5U@zzc+S+3Uw_3q~KO2|HDs3QV zQyaI_y94iyI=naVo`9z4KmVS<=unULt3?+}f>L81I{J0e1+$k2y&B-ha7O!E^Ufj; z8-t{fS5PfV5Wf%f)!NKND20$tqbQ?6ST=kH5etA)iq>uP>Y{B-(%#T3AP>_*an6w0 z7X2o#6P{Tw5@^N>82|#7k&xUc^Fi1NHf1itlO#-atQ)d-Y(8p8Z`UaWEUA7yWg-el z+2KmEszYKFWLE=MzXZ_~NDm0i*C()mlxif+O}|JoiGTu|euc*2D$5U@L?6y{6HrB9iH8A8w-5@KrZt{ITH|Fm zT3+9^pfAP!s#G3cTo(1EA$-(A+d8|3F@KZ3G=)8LeQ6|5hxb0|O9gX%sXroH(3dXY zIL-in%lc9!NB+Lkh?gEM>3R)vM?*dEQ=F> zi8t-mhkLA`2&3}!rdexZ#olx%)pC2vv-Ux(us*_Pg*<7}TDMG|MXw*$nwY;B=iwS( zeD0H8##+oRC*WO9dz_G?jKQ9QHUx7#iVC7^*7ObW6nP}i9EBp$HB!)Y^iCl+~( zN)E4|n?`LnPLytSGe-PHd2Wy4p6C^JGJ;m5n9MqpT^jPa;_V-{ z{cZS>2W!Bv?JJl+tR8;kbsj>sM;r!9=iJRKPblrW!GqeF~;x2IKrg1;Y4~K09 zGit%Ij_rZqEknx|+D!{9Dq7Z$cd(_7S}4xhLe|5V6{7I)=7phhVXTi)I4WG!)X!GK z60B*|lobJOJ`RS93No&b;P>sxGwYGoa_4JdFfBm_)BEKjdGXYEXiby*<#Jhs$^CNL zZu|ncaC+hLOW+*XIL~i&V^_O1zcsFR{vs?|3Ja|G)pT9?wRDi7P`ePuhX@pGygLpz z>CnA#X^64HyN`L0)FXwFV!S^Nn>IRZ`3f)T4c&Ep;i)J!c;MP3-70bv(O=%o(hk-#vNEa}`TZ?;daHrJI$YQ3?tSn!(-yq;VRJy9t^^7xYNbiYamd<$u?a6EDQ@x(8ug@@sa;KR5_GA(BylH2G$LVa*uUt#jT*a;`YLl;dWN@SAxxo#ZVet3EHB2kB zXg@SK%W>p;SOREY1bq(vRBU0~!Yw^nPXTWnULkR~a;$S4)H#|F zh96ABDahBbnPb36FW}-fnAf4jjd$tPL9*yB9d-W`PHu=Z^x~Us7j zoD_(|>zbD=|M=s|>8o;B zg>u+UTa!XKf>k5hf)^pW8#`$>h|2^kN3PPhL;j|A6`SKx5QgTE8bEBsA=}UZ%P|i{ z10YLA@r_CNAbi`n>~h8+FhcuiT>3BAZC*LO0jA2hGhDu@++pR&TPvsEJf3*dV1o-M zkXPCcg+1)wy3fKF`-lCUCSC)Qb0c4nYXN&ofcHaLG1u(^w64@Cr2a7YFT88Da{b33GVfhTo4(&2 z6vBKHaK6Ea?=Rk$>*{LcUtdsd&cDiUB>p}4zFfL>vFX0tJII;i6oSnzrv1>@)7}|LXn0TKc5eB^SH|-90NYX{T-=GR1{15q8v- zd=0&0NeEpdY#ekl5k~!^W*L&mLgp7ONnGiQs28g4VfC3i-V+<~whr!=U8n94|h1JB0D_2!YfrQpFdqEDvtMpT9Flzx$& zrtNUUlW3N6kl%IhX=Ut6LEW^XlLga?@I|H${YtT%VS}AQTg>ua+KRf-FbH#45KHsee7*tpCgz*C_aqKhN$BzVg6FSn`<@a&j|M@@(0?1InC z{d5T+yP8r@->Iv(lDS`=`8vwLZK2t4=mIGHa(XV%(Oa#e3iq66ZD8e?byWQ}%FZst z{F=S2wH;45WrEWU1r*A!#MD|h6kz5h4cStE{fqr;WEW%qI`mcZ{|0Q zAh`;_lGpqk%Jxb|s?TP)SgT^`-r_lwtt<(%vo64p1T`%d&ip8fzcK1QM^Uh&4yBEB zzjM=}6d#PtDE9w~Ln$GwBIY*OB5SI!=!ek=cF0*8ekg@_0AzOp;lrI$IMe|pq0soI6(9A zj}NJs)8}J6u5tt7%hma?Bb3<0@$^S@@}z zkE>8yqK?1ueS?QRuEH4f*H5gNbHL8z?8-&PgZrLck!NPHMEpYV2OMDene)_=J@z0( z@jJ-ziZ|1Un%qII_^e4O>dtCw+AX2mv~-{)lJU~nZVq!z4z$oXV4mOE)n7~;1eXNg zLLsI{T}ES4VqCn!^WgEdhKrJiaEe-(kFRxqYkWNbj*#mPlTa77w+Eyr_}}RN@gd)ad=ruEYc=rp*UbuQW6hzVeCMJZNCW1|gmEvv97( zoJ~z*sCq7$6=CEVu$7g~Pq^eWzqeNzbHlOe1wsEChg{4{^)ViI8GldXh{s*hSb^ek z7kWUWz|aSiilzo4X(Q!1n)cz2yYQMl^l_IeUU?sp33d__K*~vQ0j5R|aoi=6(H?Go z+=a7|6#4sk$NfhqUd)+mdiJFj0s|WW+6isx?8{#obYEro?sEvnozc?bpt}xVYC|Jp zSjJS;!gz?2BaG+HuEaK^w41}&XL2aU!bpqh6un)+&E0u)L`FO{h+0|HPq}$H@+) zhhZ8w{Y`b_M_y7#&v%7goh?7}k~-MXiXTjoPP{x|fEl#$egh0sEU^jWJVA%Kz!AJW;1v_+M6+sVnhNW;$*u6vR( zH51b1`m3{m6~hsl#4Z;JnNXXy3}pEJ@|y>GNpN-CD%JEHOBE2(iow5{xn4E=d4Ry4 z|10MLz63E3eSRgE(}k^cZ`X~?&lX;=J7mTHu3HfX{8;A zfk+l5of7B+m0)gz+GKT+4* zhWGv^|5Oi%2bTPnO#XQ(+~nUEC3?X?@V{pAPu4x=CjV4C0w2!gzvIK1{D0HT)qPF=^OpcMU#Iz{|Q?eQCYmHX__Y6F^E*`zeqlVSafvdb^?GCYjOf0gt4-jrT9H30A?6Z0GN&)`tH~|L?MgWhu$#R!_26q zLjb9uO8)Xm>Uwkt;5T^mGo&E`!(+2U0H(#DePIc9ze50Gt^UCwfCvkR02ED!0G@2| z5C9)TX^h7BE}jCIje0em0@#G+XXZoB9=ulfI{@$_5@WP5I{-j?eoYOmjRnUas&QL9 z0`QoG0YjCSkcK9KDLdYIBnz1G1d(GQi9E9lT8&qQ5nz&Co@vA5(A`YT{ih=kn7|!0 zU>Q0oySc`Ky?+|snn>t0kclJg-Ql9$MSK4a91W8&5@{e~2LDQ6WamPR2LF2SN;LSl z!FSGp(v<0z?EEK#-OSD(*cmg-4E^5$KH`oGQkfb0cVv7p3sc)5tkTY(*atS4SoXs% ztwqaz5+I{xzb_?hZrR_NTlV7vUQp7Q&Mr~Gmh_?YeF9t2y8rH)rs)LgVzlia3^A2# z_U~uge-+%9(m`0r`oAUHej4YS+xGvhu^;>+OHgLpFOK#PZQJki-*_SXmu&mT{RP{8 z1^P&nc|N{v&((IO67i6R{<~oe)`V$0p6-z?^c=f6tTS4)`p+Z`W>)`UyvN!_!qvwj znlR7c6Ye>R;L1>c4pxKp|{Yc+eRDAFSQ<&*D$+{numY=92MqbNx>~ zuM5-vlrVpj{-=sPbNx>lPbcbsni=zNMPv*5A05YW232ZV|C7s+|17UsTyC zmXsMV>SMM5WPhTWU^K1ifdt%gs7u8yqcy;KgyvxyOV$7&NB<5_1r=sN50-59ypT0bv(?Nh#E5*DIda{=SMN2Cc;J4JQ642@d^&2yC$!#9zKn&W zCFjQY{_L3>e%wa?$mnC$GanU`<0&*$Oo#gCU~;GmcO@(I{SNe14`9zQo1YA#uh z$}xNNrG6#4MAy5G+s9mls4wxk+n6)9SpVuMeBw#kpvf^!skzkH(f*G5G01E z{}23Lx$Pp%0p!)X2zvo10ha)G0FHGoLMY+}1D*i502Tx2x9t{pcOuO`Ksn$Fz`ou^ z=m6*r7zhXgOamkV(g14!p8<9P_5sQP=KMP6K`i6au~htOsNQ<^g5_CIW^6yaCPtYrrAoJqx%2 z$Oi~Eu0l7Izv+&P@E+>E4X_(<1aKa317M4|wtxX}fc|J(!dL~HdR@9W&m_YR8yH6Gr9+QQntwy#W^oZ3Nr-JYE48^%va4XHU`fg-iGb!lnEHaOsBU5HbGM z)4_NWga|y-dp8CyrB8s1HMJ)5pN2@K+E{Zm#IAflJy|$4fk1ae$Ziwiq8Kmb+ej4i%p_iqD(i5c{|_!pwPRgB*zy4yu}r|9O3Zn5Z=i0(ePL|2*U9udRKMfZg0R>7tAx+J=FaEYJ7 z0?rplxFlho;ONZiP;CjH#6rVSV&&A^NS-6iOUbZk;po8R|aFuX_;KH_4 zm;<*v+*~pK3%ImRvJ)=RpAVNNN+n`=Ib6bb2QJBv?IKa0;L;%gC0r_JFkGT90xr## zGU0l{{X%>`0=Flgg%^2xceqMC`orx8HwLaZ++4U%z}*SAGu(2xB*!|qu-zB#z$N*V z(j zA`$-RnAqq9xG7QU=%@r9rq;y3PY*L^YUadK1RiG2jEhohB>%kFXiajen2hiwNDnh- z#zxJGr}XOi@o}1&bRtyp_htSRP3lwq5tbUO)}+QqW00CTQ=1f(5I;L9Hb#&_i9lsi z?0h(aGA1@5RufAW*+N(Rd2YHOB&WotMu7&3_ZfimN{!*+RMDi_+&_=_j~XFNOH4#)BxfhD zCK8&*B0eTIE=rrAQAQ^xN!gUq3CU`0DyNIuC@Qt({33qS?C~1TKO(BBd?R+#Xk$Dl z-7=QQdGVQ~;B-R{}BZGvlppsfp8O=_Fpam^w0M zVNz5g#63PKUK5XAyeKwR8JC=@q`FISQJUBV@fs7cmQo;%Q7~F8!kFfP#84gY;n{ug zn)O%BoYdH;7^&Mzgd$?6yB`` zrHZ=xh=eG$+9XC9rBQmD#SKqQjamqPiAjUv(KS<}=PWeIgjkACPE4VZP&t0qT#UfV zF&J;evLd6Bl9LuDCTrD7v`4Hu1znIbeSvXb2e@%DScno*gm}S6NEFogJ0JcexY0r~ zW~j07#UW%Ce5ouxL3k2j9E1nvRSOG&EgE03_7Ql_zVP`H+0F8@AU1aiOi&L`KpXH7 zK?(~@jg4hNG`~TbQL&mSQ3+bJut`!F&8a9|uu=R*q(TtU0Vjb&@ySUe7YM?+P~qbH zfkLlMfx_gZ=aZ7>Cn;kWM8~F3Jn{ya#Lt2Vn8snQU@xE$gXC(zD&1vYcAI)J}1E?%V0KMbMr7&`74oq=0$B^O( zFXbhd=1PPgYXufYa}t_w5Kwqm0HqxuJ`We4M~Kf;wRX zCjyj!6adX<=*3O6rU8i7bkSW7m%=jugeMa~`CkL{0K6wYe*l;0+ytO<{so|P-vfv) zvL&YYqX3Ez2Low7<_4w^f2PE%>1{QlXHVsbiJ^m(^aKB*u>=2g-T5_ z`nuTPXgsF?ydPszQ53EW~_!x4&KSp_k)c zuXpuJ2w-7?q9QkTO)u4~qgErkz1y+-iI51FK(Dgf+h%OlNyTl&vo1x*SE_vy=|;VPV=fe z^um{AX<*Ae(1Pq^;c6qeSehwQ{Oy0y=vx( zv^JkL)c9Ad-dvXU$n%dyqoxDL^nG*B)QsO$qt8Zl`?O++V(^ct*U!DCaShLR`o!Z> zLd6q`!{>obk@e_vQR9>1pLo&D{d9rVe z#BKk+-Tk-NhNM1P|J%VeJ$~5#T-=+z{XRUt;{y+c(O(O$_mte}Da2`>E|+R40~9f9CghI)&G{4}4wt-R0je?U?`ZqNs-No##eD z%Fed)$eCR6M}v^@Zq_U z6PMA7L-E6cHMQ0_dH;$qy=JR+_wi3%c2t}`l`4-N^Q`y$4plc33tt;C;n&i&k5B&m z^zVx>2*@v1Pjw+k_?C{yd^+x=&q@tlbs&@Qt^;Yi{fx_Hpk{ z8(;W+=gR@{ORSRW6&t2JvQWF}RY9o!X2)Rdisf%~7`FfULEBcIeEB_D;K;Fa96vdJ z_q8`XPqn`^$M^AoZSPzep8j3YUhA-{6XsNW=rwOi&I{upK{2<_XH2^$-!gSgyKmEk zxNmzXe?7G8=#s=?AG?qJe*ejo4abHI@9_P&y=5=F-Tv&++(G{1PY?UNK6(Dw?&rU1 zLsF)Aa`NY`4~02?@=N!qDKBTZ&n>v|vUZ*>px3XXHV%K!PF6b9K5wJ0s@t)5P{Z>A2&r=5-Cm(wwcf+1{H~;dim)pD=r`9Vr*J>192Hj~FbZ*P)=y1h_ zU*6KiAMHLg_3XBnKFfWs+cW*vYg;XP_BH(|pZWDk?_ThC=ulkux}&0I=CyVSMP91x z`qB-rIjFx{+-R5OGh%DJwx>_8%&DI!{^(LB_%GUXZq|0)+!f`Db8qi2*)@5kV)A$4 zWk-Ix9ron%?KYi8jBbZnZj2+o~oEQR(Je`U0vPlTc?j4J-7U`ql?E>%hrFqPAjY!e6}Ou7W`j7qPS}NQ)-Nx zW5H7|-~N1oOOLN6+ivyN$Y(j9KXXyl|IN2PJ$1^e;qdiCY1RujJ`L(+-{-Ev}2uPs9c zK0S7~x@>mhMf=U`Ce&TCDgLl};>JObDUN=s&I-t@aQ@ZC?d6npgHBA;P5kEExZ53D z_4#D%Pt`|1Z!`Y#tXE#VwBtZm|F|PUhU*9CwP*HS>(M7Ooyb4iaemD0KM%h!WZp)7 zAD1O@V{Y{8eRccw)lTyE@oUDYH_N+6`nR_l+-AiK`?~sk{PZ8C$5w57@(0!MG4;PE z*kzY&x3W9E`0`s5i=&EWeO7+#<&zitZI7B$v*yQl_qCtSQfD1r|sh2@^0_!RVoN ze^%(9UNOI}*N~&tFTCC7!f&mkC!|((+Wb}Ev?qQ)aKieDhRVPLIiBqw-*V`&?>qfq zTikP>{r7tfUynNRZ0ikstxxP)J>mS5X;X?;Zw~9zU-hVMw#&Jn8`|G#w39E4o_+VJ z-{R(lRPUHYldh<(vma?=btu2uuFOyEe0*5%_dhzl;hU(_C!(L&Y1@6xy5CZw-t;&fqPpW3DJE?K?sOV5*}loDcw7reXTw|9DtsCeW;+K0V|+!rW^Rd+8y1L^J9V#bLQVC#(kV5+x)?MBVW~&gs#3bb+=~Uk)rLYr09yN z`=0xDfWD!9LezxfM~>&M{dU8+s~?11s6X+-vglSl-|usBLpLf-ET?!dD%zgVArz16KtD}MW;VA{|F`@YIb8P;XP;Y1&u zquY{>$!p?gRQFmP6ZFgnYui=H`-ctgxNXhNpvQll+I?~FW7*n`xoLjwzdP=e8}w`9 zQrokh@6aR?(=;@p4dy?#tpzJvC&9|jS+KHq6RhnY6|7r%3DzhY_Egn9Tg=@szQOG?L`7|tlGUk`Pv7X|;nTV0{n5Gyc48poC0c$v# zbrLPJkun9(1X#Bo-+L!LLSG4C1v|>m?u*`ZuJ#H}t3xN5`tMDKcXG*hwKHM+ni0F}-6K#0q^d=al@)KG8~KF{Yt;d&uz6 zAPS3)Rtu9u1APX^~=(T{wIZ}gfYTM#EruT zMn?$ag#bKZEu^0$)Vu;6Eo|>S0sR3XfEYj;U=3h1U?-pqa04J)4V^F`zjl(~4R;_Q z01yg@0cZgIfj1NGCct(8r9A=n62SIV=;i^v0D}QRfG_~1Nf6x?aMuI20`>u_02Du- z>0PmIRwiM^gongnah6s@LDvQ`5}$<|tEcQJoV?7aABhCM1K28v?h_3+f$%7l2e2CK7V zWkPb&Y=n(m5F1SzrbK93L==Jw>v~2Tlw+cbhVVwuiBE`8iiE`i;lx;VvNjc^Xkrsn zlA(u*PgtmgdU{?|d;;l#fgbscYelAKp|B9*gj!9EiHS{$2S)@}rbMX`FRz3UNPL1; zOs!E1!HFOMtVBhUo@e+uFU6#+yeJcn2CJ2(k3uM_4z<@pC6FYsTB@OrQ>quLQ3>F) z5Dz{_rBJD<@lehwgZqpp6{jXOIf0Nsvrd{3MkC{ERO)QhoZ5l(O3H-TIE|9klo|xM z=0Winqg2Pn68Yd^RE$q@5*WugelHzVPw-lmn*2NnPKi&66#|kIqd>FNT+|Mv@ir;l zq-|nQ0Q5%BE2HKm$Hy>U6Ro89GL-|+OR2!Erq&CTI5ew#LkAIVAevgNgexwHZ}=0=6elPS1ZBFil#aMxF&vh=_iK%H9teg{}5g(2S0{G z!ufZ{NIPtekv@ce&?)58{F{Dnn)q|zC!G=fR-5>-ax{kLn)socF^0cx;(x=$PoGVe zaMG8PB|qsofQ#w5NbeJ~brk*z!W*Ky+a^f33h1&RkO4jwB+La^uM85}1L#+PwC665 z653rECCtAyN;nF5>zh$5eYfR24W%O-^s5$e?}bZY*>GPF{Z`gCws!WdWUbpcI6AeJ zE801?cX92|(XG=Xo!vbi?V{}3?J-ZU?vH!-c%o-7pWc0ZpX}SO|A42S9{9{4Kd6C+ z`43l(2pAbSDkymLvt!1N8;`34CxuR)GBqrG+H(=pXUvR@nuR^LxY={!=RTj1n3SCI zLaJJ$oi~5M!bLAGUb1wV@b>G$jK3^{o79#$e%CzgR_H#BclJ~+#unS=-;&l zGov?n`h<6b@U9twx9f1YV;DaEOz#~E8IHHoNVD)zXzW7F!p0))ID~{E^+cx6<2c6Q z9X1x>6WM!=knr$OJX1J*ua!-W*k96A_%N7>w=v$S0P^)>t{|j=W`ax+R=_2AMTA`O zdA<0&S$y6mK1=;Tnj66NmgWbT9(YT01PZ5l0*a+Mgg4C>$RFF&*Vh-WZeXZT1~>vJ z2b=&@0nP%vp9vK%!My>v1CZg_1>g?w1@s3D1PliF0|Ed+fH8m&Kqw##5CQ157Vl<& zKOl%)goVHj14IJm05pKbfE9o>fVTnb0h<9k0n&g_0)H8x98d+&0crqs0O8GGK><(# zd;tM~Fu)wZVn8O~6~G$6dcY>Y7l3Vmoq%G%KEM&c3BVNuGuH2|+=F5)%ipX@oEd^Wh}m9*dbVxuI;vO#19twhjozOk9ibK+MhK;Z72@ zygXkFo>(zr{-$S+M-3c21;N^c4q4V*-4Ah6AXI~LEx zpW&GQlS|J;)o8J9kXr-AZ#tLx52czF4_=Da? zf5E=m3b^?I**oZ4fNcQUZ>xdp`);t10N4zu1B9$YUk2y^v>$f|u53NR0T0@nqgE#_ z(HbuiuC&Ycu={hgw@0fzDIe|5^+i1%R4%P7qme2B`4=%7;#m(d#q;Dp!b9z>22P@m zYG{g?MrQtd5S=9PL@D(vlC3#-js?9jc#<#@uO6n(e0|N=(x!Qdng`KA`=Dy@DhaFd zWMj$1ZQ{~{^YdL<(jPQ0`N4S?u$pr@q1?Pwz6)!aZYoDwE&G6G4f?hkd`m^?oD$L$ z%ztQFC~q`y&={!!Cwzd7_`&;k9Ac6XPclrSta;1uwx(S*s=N6fwK-)m$WIcPj8SYB z{w}aU-^1WBts&9KH7G=xCEmv{O$zOx_hV9oc?9xE`UT7UrO*`AB^l{RH{=7(5DzT% zVv1pMbY?^MBs3o8bSN$5?s} zf)wBHUnVRJn*TFTpAOpu=^vK!5B1L!!*bYuOaH8ehx;exSN=aQ0%_^XGcvPYdU?gl zRoSoPtbR53wb$QRv-Zum-hSuZb?Z00_x{EYKKy9Y$DjOb^QWJE{>7FrzuNlsH~-%D z?RVdA-;wvj&L4mJIlrK=sCd`zJtd`kf7!SHz^`Qo4;?=8+wVuqD~=sMQF-!IRrTpJ zXV0C#pwnM8T)KSakD9C3uHX3cW^G;lt=o6*HZ%(VR3Xsvg8!iu0{`3f|KBeEAM^h~ z3YnJUnL_4&z5e%%e@f%{2P?vd`1c6! z?94>SzxdgMIe4bC0-<=OGZ7JR+ry24+ZApC+_rE%kjjtQej3Ev!Ciyr zN8#qeb%r|_t`hEgxQ=l9!zG<@C|o*2uo(HshA#!ro#1BTxgFeB;F68v8n|S;7lC-P zl~|8w+FsrS_c6Ge;d;XT0z|2 zADTsBJNzRMItl&~lQfr1!d<@Pc`5xs_$hrT{E_fWWi5tZqI09@CwjJv{xR^Ei+-Y~ zM)VV%E?@Dyguj>Q9}WK)(NFCaBl?NXT+vT76pMb^y*MHIiB~sF{El0Lp+lRn8er;fGe1@pBCP(ML)?ykmx5Z-W<_Sw5<^R)Gl9$e&WeK(NFDCBl@Y1j@vkX;(ve9PyI7g z^iP3*0sNDMDQFKtcpHA=Gu3w!OEXR&+P)C|glC(HpUU2eXVL^RI^Z7#&QaMX;3v5x zx^>Jy4VWPZCTVQHZA!0%pJbQ#LEAWSa0^-po z_^EEs!oLmvX`qtoSqA^Jq8#Wo`-9v?+sHT1=*>PPEpM?$M>f3v6zPIjZ=Y{@=EyW%t8Y2Ng=#s()~#xc!!`I zdWn!5Z*;jHKK7nxAEY8Z&}=pyl1o3HSIR@WEz-rNFj`2z%6AGZrz0Gs4dT{6_ogA6 zA5O8P9iuv8yn#lDbaXUAH?OBT7k!ZbUf$oEhIq(z*-b4V;U*m~apT^2sWqG9qi|~N zS&TZ~BF)ppBL!h?9!~F|L;#nSd*hQpjU`%0TTEP;BPfwO&M0k`(h^@u8ygQ!5`UG@ zM=Ft*w9ZjzlVl5YY0>JIaBY0k?SWqDK+orYP6kAjrZ-iTBp=AG!L#4)K3B;i!w|HItZ0M=QR_rE}q5-U_dL_oRR zw&q5X+w=o0rEQWXX`41p(j=v24NLQJlU#Ch@AclBw56bR7xuW;fY})6MGGz+g_ff=9c ze7fI{zSZ(qyFGgdX;zspC2R~>k>=b{SSuc>t1A%NKGkTYvXzpJ)TcD6ERT|Gzo{pA zvYZ~)rd~j+R7=m+Q`y8`PMj+9&{kF%R4osN6GKhU70_yVu&>P42qUL)jU@-#X{%A* zl-GrHP`=dl+Vb!@;k^|2l=)>$UD!`J!f^!EvwK+y%fgpsg#F6OGb_KWyo!z&f%FFL zpDG8GXO-W_WMrUEDF4_;Sk@%)=UQ6{wPcU-^I%(Z2d0f{$JHipWaWs;H71Tdks64I;hRmZS-5IEin2ZY&yZSE(q!xK>mGCfsGpwfAZ zDL~puo(H@LF!+StDX|c6F`SD5Y3H~C@Djin;H7{Gz{>!e0bc>Q29WlTRzTWAwgA#j z(g%1Y;BG+LZT14vjxq(v^L=?h+7tEz(w=h&Fa~%x;I)8<0poz2qbvbD0{2qDdjXdL z-VgX%zy|^A0gnPU03HK;9pG`m>i|yxHUd5c*aUbIa5>bW$a(c{z-@qg0nx<4 z6kso49*}m4{eYaS9Rl11csC&DdWQk2PaXlJq2`_oaQ6xr;9j`T1$+STJiw!X3jk^F zI3Ms)xL*Qz0`LO*115Kw0xkw@27Ean zZ7Y`m(zbFb;5ztU2Dkxunz$JjE0G9&(5O5jb!cT%9051cq2aEwW05$@?4sZ?N zb$}g!jevcCO@LE?%K=M(D*+Dyt_FN7;Prq<0B-=i5AgMX4+5?Md>HUXz~g{x0iOiC z3GgJ~2EgwCwg5g4*b2DdQ{WrG#enUAR|9qct_JJ`Yz5o|*bTTDa5rEV;5gt`z&zkK zz&ilD0q+Lv0lWvW7w}%dKEMY6`vH#v-VFFC;4Z)ufIkCx5-jAMhCc0UxLTYV=R~ z13p84z*F>J1A5U7xbQgK>p(BSI=~p+t)Lg(fNKalfG6P=;7QmGJPG^IPXQO)fqn{j zCE#6vx&x59oV8hu1pHYWuUc4Xe^9-fvts_ZKZQT)mkP56YCPIE_@m~--;{~3yCQK$ z$K*#{hCj~j`J+C>A9YiO>Za9%zr2ah-CO)wU7Gv1_|w@N;Tw#5P9SIh{87i^k2*Ae zoaggLTM2(fS0BZTvlsp{rrZgGC+BVaO<~^1A7_R9rI0g!Ge&o$?#JJ>NylAY{Haw* z&mYk}ZQ@Ux{HTxfH*4}OnesWu;E!_*{x~~UsQ6EVa{SFWdT98J@uv-kKhk*`ko&Dj z3C;{yQ}RQTu~U*Knqa5oSj@Rmld*Y{7ijnFcQ;ZG|yd4gs2Nj~Hc z;>`TXBTe{X9P$ajnLl}jWibxqwPvG77(Nxf+8Wq)UU{U*=aZ}KhM zk$CD3#Z5v_@-J~CJ~M*zcEMTgB-$>zCvUsdo&3#pBJvD*oZsXt@;SemKY5*WE3XTA z-?rVT;IHMfFIXJdAM7{#MEI>dMm*U!tpAL(g~gxksNb|$*l+e3(v4}y1ZP^b+4tCv zYX8@MWK*y{>`!cEwz%zA%!RERfWx$w8-2mBh~lYk!vJPCL&;CBFj z1@L*mF9I$&(G~m^;9|fh0Ivr8eZU0ZM*&v@J_^_h_%vWQAZ-A<0Urk(2mAzJ9`HCI zZ4M29cfkD{fcF4S10I3@wSW)6Jw`Y1JqPe8+#G`+1-ujR1mK?m(&lq6;InYE-D&e# z0Qel-9EXB0bp^i&KpW8cfQ#U!{G=_2wxKKF{%ydefWHdZ3`h#C1N;-fEr1^cq>X{& z=^)&10i+G-0>E*&X~Uo`X(3=9?%x5t1Mu^JcLP2Ecn{!b0q+I;HNXb|KL&Ud@Y8^g z0zL$I0`Mz=1oxK!uK@fTz@>m+1#AZVOTcx2 ze+sw-@Dad4z$XFs0^SFh0sKS2{ea&9ybJIhfQJE30=^gU&jIfT`~u)ZfPV*g4DjoK zj|2WK;8TEq4fqV;V}P_lEde|QcM6cUCEA{T2zLgMwy4(vF8ngi%K*~$RtI<)+}(fy z=$!Kd>HT$@}aG&1oz#5Ti|{@ z{o$s~h&H}OfNzDH`oKbjF9$pVcL{Je@Vo->KDa*w_#hz1@c{lW19%wjUO?K?5`f3y zz76m&+}8j;3HJ!#LbxviJP9|ZY+^&a81OrAzZ39zK!z0Um;T2Jo$bKM%Mc`SEP$5x9Q=a0>350PlnQF2Kcb zHv>Kh_iq9|47d;QIN&VclYlz`6UhG(z>{#l3-CLDgMiNiz8kO^;g1+9KBh-VOKv0lWwB1AzAe&H+9E_+G%hNcSqhqj2wGINWi-N8ug^JOTJ| zz>|QV0z3uyAYkwn+|K~881Qp|F~H9NP9go3fX#3Z0dj8tO~7?xO)Sp;d|1rTy{S`m`<~|)8 z=QfdP>aVMf`kfa(&~LTW=(nz*>bLTc{ibYFeT^+-zqu>Gevircr*U*$(td~Wx$bA< z>ls{)!+)*+q|j9Tr=$<+_l%4S`pq>(8(%F<>Yq1tr!J{ygsngMOusoxwBNJBE9%cx zX!>)WnKIv;qchanHn{VH-<ukd4Px+$u748<{H*F--!k=oZP<*V7L0ybTyVkVSS#2rPB5%}oq?SsxDXH~R z?F!1TY764OwA-+sXs$YQQY#^ChoL{)o;_Y|mF#6~d$sxSUu%ow?ip)u&^A-sgIaRc z_F&^MPwfwC!%-a6j;EGhwc~Mj0LCccA+`M4IlT6i(4L~)AG(!utqoAE#cBgoi?P~y zv|P0jDF5lV;;G;Kmvbhzjarx0j>p}6I_IS9(-fgwQ>mNw06&~=Kb#UuOV{|MPUxmh zQg<%t{90wLFTZ_%Uk0l`cZX2=(k?|#XBli?^^eA<9n#W)-?r|w(echQrd9ivjx@9< zvi3?x?n(&1X){%;yV@MJz14oIR(Q4RX?v*6RQKJeT{SN}s&*v(*RO-`@7F=?q;tZr zYTwjy)%L=^NaE5wLrftR9E=#3m1gn-q#`f&GP~;yl}Cc8z7Y5v9D|XfQz4J z_^)iV5aEa5@g@iNzpwAojxV?D{*z0tS@GR#SRMH>mH)H;3Pb#({?^spu3r|OdcmZ7 z(>d~S%EABpg?B%8*)Lt+y8g`#;}^bT;jx`}U4Pr5&n`Rm#P#ob`rO-o*z$w-T=B;D zeem+u>p#5j>F?kE{ZA}xOMW7A`_CBq+44{))`&mU?&%MF^`rl1;td~uS*!SfHZN=a z!42(;j=btW-ud4q<;j-w^zes9!E$BnpK;s&zibKe`0M-j7WKFP9(&=1>pwYl?QehW z;?KU&V!wW5^0L%e*t&25Zt%t*mS6SHq(9a2rgLqo4XsL7dxm7OiF4$bejI64c*@pD zoi+b`rtbdp?r6E{2RoY9oR0@8g1`O9Z|-_a%lXa!^`i@?*R02dgn#=-`FmPk{dd2* zX#WpyMEHicC%^XVEm!8VzxAc7u3sM z{Jqf|@P7QU@80s7SAL-7>w{lxx$-YANBC#XJ-p!$T7KcnCywuW;@b6Cgl}54@()|C z>GT@J}DAf5$^D|Mt71pMT&{ytHxXTR&So|06B$yYu}^zWAwEBEPL~+c*7Z zEw^Xyz2w>Ru15N2dS3dKqb)zz-ShZA1gKBz()dHGKGt&muF2K;@7;j(9~k_|JO8}p zGd*)lfA*q=^})$+o%`B@)w~ zygukVaB=>gPqmB}t~}84E%dK@9~vk%Jle8)+ryu}@C&5JkN$J%Uq0HhW9lC_w#Sm| zgXRk_nH~LfOVca=;7`8u4WtkLaHF_1zY@4`2S7UANckvr0@Uqp9P<5DgMEDcltS$m;b+a{Nvr9Ybo5jKfdGz z(5p51v2VWQ@s>OOV&~^y@j22j^W<;->fJ{^vg3`0HP2`Ni+O z`S8Dg8{voVncIEM7h8hEul(n4f9L{~|MhDQz2}Q9Q}6oz5AH0+QJ)Jt_tc$edDF6i zC3~hp?`Qw(^@p~cXnE|CkACzWw}Bt;zxL)8zj&hMkN)iwcYbXI_#M6N)o*z0M9a!Y zn%}ndTd42-PkjEbUpUcn=r_Oj9~WH@e&7Gek1uciQp;OD7T*|K2Ye2vU-j{P3`+?@$|MW{OZ@lY;(G6b&J&vw@#n(@LspT6NEn1S?UB5oqva$D~*FMqm zf3LYOvG|RzKz=X(z0uJpS}u9jqU4niUa~%Ts{Pm-jy%zF;Pt=tK>9|!ICJQwbC3Mh z6D^-uc=5;o_Mg{+AO8FUf3oPyEi0e;$gAG-Yv|9_b7udTHO{t->7a2_y7BsCB21*KBjI9gP&Koh0ph>+rs^?H0ce@fAa~gkAWxuSlt#r z^+t7DxTQzk79M@Ix-GmH{7F8s@a|8k+rs?2)NSGJw7M-k+M;d?@4ZCb76#usA^BVQ z)F;(#;hOiT+rq^~bz7M4Qn!W2UaM{kj|A$r@Z>{~2l!cdD5q`b9`?E1#G279M-Ix-IOxMco#jyi(m3?)~QDlHS5o_o>^${EWIS z43?|g!b3m!oTRrfIHqm~gOe@y;LVcren2heP%r)&rq1y)7}E2F)Xd0qDv3Kzake$h zDKFmFnj9nKZJgAW$8ms`ZoFoJcaSjm8!3%(?u{#3n07hCu1_{6o0~>cr4gK)?d==v z>g^eze>z)Cjp5xXeox^V&Qt;OjzVtIT*n&B;sTfaKJ4uW%$mDf@^}DeU#>tiXi&n% zFSy;+!WrUIEN13_>%@Vn9Itu{-T9Op&qe_(#6m3@_{C4;0dqQ+S%Ey&<;Z z#v4~Rt!!SgCWa`vK~m*Z;l=cO>GOwKOItxb`l~IxDJUcxQwUfYpn4eJru82u!&S(1d@wceV}p z^mg{#4EH`5+;(PpBQ4)0aTmWP5d?bF;eXttwvF$O&~^eI={`(V*Z1K={LF<6Rx#fIbK zRjfnW+;f|ghl7-6N)KE_SeVG<_GyVxKkW4($GM_lQ<>#Wg|Vp-yw#Kgfl8@KI14HC z-6Afdl{LP~x49v1yf2f_urlclK``Vn&+$y&^V`mod0$7XO{ zqj_Wv{mpj8U|ARF3P!}McOp9`MlwZyWO3`GUYFeG4>fW0VK{? zjIZ~xm|zCC4X1G%uw-`g_9AX^*5VL`#+8emalx~Q%C#}vot(t$Z>e#Rb)r$yNTEP- z4i^&B7wLuv+WWiu28TPk`UBGr(otDo-lbgYzHE~&z_rt+f8)~O+;}Pm>?x;1f4s2> z(M=k-`?i%W{WvMS!^hOiASbdC+(;UN_0Zjv!~Hx>Srcj8Osge^<(V)H0XdM@paVXl z^&c_=y&G40hw_LyaL}m?GdXBrm`+|`(~=n^cT%HAMAAzfFMSxv$a~OaiX98DpcV0a zUV|qm$pOrl(m`t;)@>h0Od>C`F!Z-|)@#9Sox^Z>a8R%{X&b@*BgI^Ht!av2%eMBN zl!sezC9uNweud)A@OHXqMsCX$470%*;P$YHyMX)8$%qWI*O=2ejiEM`S+z1bF3)z# zdf_fyaGTo)d6t_f?Zc&TL)+71gPGdAx`n%*wxe4 ze~X57?CS0BF!AMkcw^V*;m)3puC^YVPj^=jMmUYXeP{Pzmu4k-^>+^R?(A>x9PaKK z7&LJ~k2)v&9UvRUO21809hK6OD_69>5apB<$g%U$!IleMBkL6}@^FBwC zQ3&fXzRHloXd_|!WMqWw$jxTq*OraNpp@vleSCh6f-5&hHFP|-4>$PR3`BKOoo0rL zChAbcgOpJkmU2$+N>As#Eh@jlIyrsH$%AFhD|h>UP1Z5bhmB%k6c3d*zTjXu6{%!$ zd9cZ_0+poB{iRfv9Ul$^1+RM@bpt$az}Gerj@B`ECgPUl5q%bS7v41(!vnOU;-G<% z8gz7!Dx=aQD6BiwkvfnOVHOi!ur+a7lU&r^JiSJGd=J zEtc{KN(tJ-x}n@eyrA0TpyfyW9OohZK8r8D$ELvG0x@n8>b;gEm5kMtxO5;W7)}>& zSUqa=v!bR0u49;j5NA$32#w6^Pfg;*1zbTL@Xd&FPsDT5*GxrFS1l=B)W;b_=|agu ztMQy%RxRHqqI{b^tlzk22zbgj6vF}>Gt-Kv_73V>nt(E+n9>We*@vwRDa>emBxhE^ z>};B3350`)-f(&X9SO6N5t$>YqwFEq^AY)mO%8pZkph^*-y#yAg zFyX^bP&J`^hFQvjzrYMm!n;`(+6PY&8$KLFZQFAheV4hIDn;DD0rxw}6feNwl+EN+ zzeF0$CveM!H)kDBjm~nF?USWf1(( z2f5w0t#kP1&i(;RS{Wxgxm(%Xyb_bUl`CRfIZDUya>q1gwW2VVrcyC83kJ;bkyWI3 zd3xor{Nmc>%O^p<*-_rOwA_e(3!A7BF5j1)P7?>0$Ikw4aSyijZ|)o%?j3+$(7U~p zeme&``!S{5)YaW7dz*&oG0ad=A%kIzKij%`Hml3b84a~NDHo~IKmm4T;gOr|7-6M6 zgWWJEdGN6B*;sN}H>Re+@}wQbg5aj*v&F)4a(!kwcmp*uVHyzeVmZt8b(JCv!gJaj*ad=IY*-OnKW@M6>l@C4u~z}A2KNB&Ewu*k1&qzM2KNEpTWAfA0-ihs`T#c1p&YP z5ahow5VZai_LTuP{ulNc0zUlr!25Fp!CQ^r5x{%#_w2_9f@A3ZAG!>C2R|_o?ER-5 za#r;Ud_UW;HF)p}>?y_fmWQ?mA6vwIg9Aa|zikUXf$_Bu-zOjH4K6*G`}zigqaWTH zydB>qe4kpjBN#&byXimO8>~H#d;O5lu^quPufqO1#%b*heh>b~@qPE>y}@tg!T0z+ z{QKL2?;@Y)@qK?!Pw>ifxKDB*SX0^&d=>sn@qKu7Yw(VXxQ}iicPZ{+2*R8?kmthYazVF_&RW40_6yK*V>3%0xz`YyhMt$o3(L6f`ieWar|cuhU z-^Ur}cXtE}UILonJKxeB{0;Jdj`5%B5B}yl?3w-KK=AxWdV{yU0{c4g{nXmt;1!79 zjPKxgwg!I&`gGv?GSDgs^mjAPeLG~I`F?!om-Po1r?HZT?^7S@4Nfh<{y=;$+_P2o zSU!aB)cksS!&++?${@`ap&&7{|=J~$hR>Vo*`_K=!2ETPN z#tVEOp6Cu9L7Z`XFT8d~@Q*0>5We>}Z3{MBiT$7aes@ps=!M`(d{6!9wqV^d(4YP% z`sIA`)A&A--w}+W+*9~|_M?5l)sxt}`DxH_yeIf5%5B8=vtR59UO>BV!S}*qZ}2Qu zC8rqYGh2gg$p0>UpSpH?(0M-SjPEt*n-|0X7`|hRa25>yC-HrJS$A;ZrKlsmuXyve zU@n0=K8E~Twg-Rv&nOGuTNZ2$9spl;h^yeC#{N_m-=-2KS&JUGW+8yV5}LBgARM_w(6a zIp^Ps?_*!vCTG_N@qOq4{hq@2@x9%_r-1(*_&%K3790d`9A=!kzF?{yZHn*x2hr~? z!Cqf{KfAFnxCH&^B)*?Iu{9{Zn&*8%lj)vdH~9aGfT@!bX$$@6QcvcSHY7V z_&)OO9l@_$h5g0&ZhdH5unf3O;d=`0`wQq6C46tWu{&4_{EtE=C%&;Qct6_oZumd{ zAY=k)`(At>L7PGXMSh{>75XF0KnO$xZlpu9QucMn{S%KXEejHt{g$p|&TH%(n@FscRxVDFOOvONQd@g;C#* zgliF!4im3T(Ue)I7$;Nu@>mfOP|Y$=C}0*HXNXTU)S1PEgLNVL$^A1KynU15v=4K< zMnA}8(y1jyf}pR?|80GDn1d&%Z zV;UAoqOTV6_Wp=BsM3)trYEzh!loSVsx3r93%Oj0);4)rFA{>OE1opU9AIc90JBI; zr8X7dk7c##YABXP0a3}Hkz7zg)`IA=CbgO+LgF)M5@d@91WN}t7jm=tNP#k?119+> z(tH7U3R8*oM_Z7^&eJY2k{D%65I$Pc@ppDg0)3eschw7ImZcZ0rX&4Y;ZJ4iN zsGb!as$a1p**sJqH(9J=rffjR5q@5HkQL8gCYa^+0ilDlbQSwx3t6?YVQ46s913mM zv4M_l#i5~1ONNG4p`0Pt2Zn~`R@1{-xs#g)Fk8(h2c@qRhw2+FPOFKNhMGW@wP8LS zT&_bye%(=M4Pp#w{Qq5-u z0wYvy=Ekrqp}B6xX%9*2RGw5;LE`j;nWPBafmEpk+c@N|8G5ZOm`Peew-foOEYNZx zq+oO|8TCZ{XiG;~&2?OchLGbLY~HFW$<)Z$l!`XVCpMm|vzhEcP6Q3PWSseBScU?!W0;IC|f zLQvoOb(IWBrtw3Gy=A7za8+JEZAzG1xgtQ`($6GTQ@9iuHi*=W*~SK`z8XQlKEA9N zk3s3o7T3pV1ceP$m8fEJ#x606ITWuKr!tiM%V&zC9ORZmt6v2v+*oIdwE8}I*e`?c zN0&tr4cd-1(zYIhM0k9@&LDM{Q5PF7+MxntlRzUlAmYCZDiu0QhkXo~5u^m9*_6SH z!_eQ#l9;U8%sv+Mv$6=bOw|p`0z0#F=|V2c9WWIMx2G^lM%*+TUYX|H60kB&paqDAovyviiTi1AFByK;J0jm+RXh4Xsvxg}vw+m7ak=Oad|D0Ni?bg4O!AaUu4Qj!57j`?)bh!F=yx`~w!5fY zWnSp)k_!D5+M7}S#;Mq0&4!HZ3gMKCn^J0LUyX|EmX{Z(lA)~Kq;fW6YV|PzhraQ1Fr*k@hvE2vMpAfHcVc^ypf&**Pk4Mz1R&z$aUzG(UAE zE|E|m5~pk{0DP;Xqa54kHd$$T^{C#A9~KFdvVVOG!r-M-_6G z@VXMjFq$>rB*}72jXmsMG{iWq0gd!A@@H3%Cvm7S|-Sn*pQC7i1>12OR$ z%Eo2Hr~gD|WU`nPK15-~t}N8`bV(^=@)D3tGTqWdgt?Kz4h;=)8TP7lL@!b$W&A)8 zg+C4BX4Kl}Ew>*M%MI@u-lAq?|sq%F5wFo6?74rU6>hR>3 z2ZE>Z_YD5NgTLqS_e1071ijWzNYD+ zQc-}`_kWe5sW_gss##G>pEO#{Nm{!&S%T&dQ`2OwfVt9uY_l*VCz@?HO{9@%Btg4jfParN;1BiVTBeSL5e(9W4cG>vDPH5 zp^gbTq|Jd}Qi&2qsDpL6EVkKZvGFW4*e0^r&xY|IueMLgw2f0dm|dhkv99b`W_CO! za|w<@W$Fjh%J=|F%@9lnR{g-Ms}Y9XaBx}i&UMQxypbcuUG9<*G$bp@#7w3X3p-o7 zvoR(@Owhz^OGq4@u!V!WoAq_!HTunLOJ-9(gR@y-;ueWlMF1*GN={xgb701FS6dKK zu%mdrvQAQ5R94lSa&U=$dJ{^SQP;1F6mA%haXtQ%q{4n$7&duPHbwP8MoJ=t-a;8L zWD=94aoYUy$$>3x{hb|MgPq$4bm-7bVDm6$y}_xpJOkWe=TtC#V7x;#J584oXpGI4 zq`B-6WGaH~>y~GRFaaInERrPRR@;nak4?f{G6b4WM5=saAAOLR2fNY zZdSWk-MYB0t*`=O*05?lJ;pMrk*w!Y3v*Lr#oM)n-|#!X}p`C;t^s>4(LK!BUy2%M~UeP2vn>-)O$)}_2&0@ zLy z!*Dl|&Zc6nIFzQ%RxG7NJ0Q&@^_Ut1ieeYkP$#}^v9|CwHb%TIt_)yD;E9~G(i?h841%P&>O@snw0#U z%;ZLK;EbPXC~h6>r?OQ*6ff&-9414KU-PY)*gA1Qj)><$8e)H#uLc`)-;A38_Dufz?AIO3msBY>80Z6)sEt9Uap1 z)of&3w>*tx%>2ksv1CtIMR#*~mQ}Ic5@?=^xwPfgi6oAW{>l09tIm~e^VG<42+wU{ z=C&*`U*sx%&=ThW^}sT6v)yC>n2+2LO*DVCkK{*2)0uSXKn;d+^LeoZsO_W67BCNu z9TMdtAAKBT_FWwZ)j(}|NK^v}WPu3_w!KxcPVF4*>h2o6#afhHr6i5b+MzzH z4e06)#C2Vl<5_6(;t?~R(>lXkZ82rpayDanFSY|}Q%dJO!)(WjWf?~D8`G@NE5b6y z^7*qW0QVeNf`tPy3`zza4UA5w-Eu8{vUE8h%mUlP0%k|maad_R+sI~AbCdW{*O zNknH*HZsRQVHnu;c{JM^I!3TX1%QU^93xS98E)hI}X@&BkCZEUH!7Ghe- z2ytcHG`e|}ic3`KU+F6SS!k1vT}P2&hlC0ylSnpH#acNf6hq1oMNnev{vZ9Mym5z9 zR6P-NR0kp=(ijKsV#dZxy; zcDP!?kqb<($oUmCJ~2eB!yn}{@+O%je~RJJ%pQq#E0u;a%IG!$iR#y`vT!dKtJm48 zSe?ra9DYtkET-AY2o@Zcg-I&w;x$&?1cfsGL8I7w6C;oo4d{l_T}EQ-Vx!pmHEyIS zE|x+cN$p3n71nEHzx8rN(W`Y_tcz7i`Epg{tYo)inziGt`hGG zLcajDB?B1(bp)S8>qkGqowtgavUxFJC&4C^>y13#AH9)32(rEicI7Rfv`rPPiU~s-rRk`!G?ngNS4Y zyOP(*5Nc(k^ieG>qTuT2CW^QfsI><*sumO<6#_;vLvxr2VUN_1YPCam#Iyv`+f;>a z)4bM1^mpDVU%!HXRWF^s83b3^&JDr{#~8l+%sgoW@P8g!oDcOl%@DQnq<> z22w?%b1B#XWQkR);rzjWs6AW5c_HeYHj-^9vzBjfq!jsJ78X3osTouw9WI;9;0n(K zuhBFN&%HF_$%6)~G^4BN;gs;c-P89ZT>!i{51~T}mK3HW$w96d^Au1KDIwRR-?$^;RHi zsJ4^&<{7SVG=Q|g?Nq~Nj0uMj>SUs{YXqJkL&kceCw7D7vDJoFMrie@F7AZo0atuU zznG5n2ML-cR(pgHx7I69O2H;yuMjAd)6^>CYh$|U*>HrJPMAS0nxLKwg$>9T9mgV3 zrS~DokWJKJ`|aih)$<<8))OCXMArx)j!EByPLjS3!<*^0GU!I}i?5T^8?-`IuqNP`UB4Qh1dh#Mdg!j1L)6SC(z)R;vQC2#xxN=tl$)Z4yE<+QWZuRnlwH zvWc-K@#C5X6;0&K>@#9GQvC}DM=)hDT}BJEvOASvAQb6xgAv4?S_b%0-v8kj>B}Ip z&=KgVxVG6DnIKp16;4S|i^q0A;3=>E|^}+NMoy@Br z#zWdd8LWe-;e~S5L2iG?{l7S`#5qnl>O~CioSm{tM*nprwAE501aiP2A;{Q(s4?>_ z250PCG&h`_4PuTpWV@zrx#L6!77}#n7mu7u#>(?2)pm~6TBn7zXbxBLtXNsLNDF^G z1sc;kAYvwtzf_AjZke_+vR#qVP3&Bp#jGZU;SIbJ$8s&NF7}sf;X6|tYnofJqWQTpSs%3d$XZ_2 zD$KhG7)f3Ydr7T(g#Aijy)dkUl&x{Rn)A%S%_9Xeqb)`HL9-l9U=`%bdgJ$XBjwt@%Z+eQdySu%FA*++uTaLH+XcF9Of&eVy*NuM-_i*7a zkH7u+y9#fl-;c2tI%aj7t}4;@`CE|Qlp3tnhQvD;TK5OR=q z$QN1e2u_iQ1-iUYE=X!?&pO{3U30TRuvwV*PeKxz=`jrRFx7;kj9hXmW4)3a6*T1; zVsk7+lC{`=I-ZEHhp@rS!R=cxreLKXqZMaIc`r{o)(!yz#I?5wlCPh=D;NgZLyjaPI}?|L%y^}62lxL zgSyEW<%_q|u|SoC2{SQ`LB(_#ecE9pCPyPo#Kzbv9~jfY)eb<;W>%FwHC1k$YXtOKW?S zMA@?f%p5WG+3aNg9kr{2-^t$^!`JW)xs2&Z=idoOJgur+{7>v`EwRTFU0njrutR}j z{|vuqzl~Xxy`u&63v9^+vI&N+cY>$G)Ca!KH7<;|Ak66e)IE?N1@LNw>SsM^JP?hu};Y z2|LKKsSyXbWWTcM_XqP4(|$vWcV4D%cy>-UKcIHUs}0n7D5oFJrFl#n3us+)tk@; z6D>lTD=I%)Z!*jE(dT(Fg9HoYF3dyB=cVw>Cq zrh-7cV7)T=Ap@x3;0IaiXqpI2h^LOSy|`qS<2S}<8B`$taeP}o)kcG@;@IzQJ#WIY_5nUZ!*jK`iH(ou z2xb_4G~bXJ6i2BgK1Dw0ikMbK0>VBT85_!F6g!>HInA)?ZelAMDaKIQa%`GhYnO=c z%$gV&=ckd2Rt;u-)e@`>Wra}%n~8p@mPo|rMb3)WGeFSpX`cs48|Czf+L)(7R{M{U zXYQ65atjaG3QdG#u&JESVkF{yW?T^_u*$u}!z@E{vq!uQ*_e@`q-k#Y)Fhwg;S1CV zT9s{U5uJx@Wog1Dd)4Gm9-gb7r&eb3jlyG=+8`3>eIBcuY z6&z@~S#8SR6thjN4+XN#(DmAvfK$D4Jd#(dS{d&u@gw7wQomvh9blK0i?<@hK~iWQ zaqYZrv~Y@or*1_11iGlJQIzNWeu!}Zv|(lCDZ&v)1=B&pRx7KT$)w-uDOx(U2s_rW zgLAl(!A6BXoe+{P1j7a=qb%R4sF>t1S2fwGfOXv^g1R)Tok&a0o@627SO!H#HN~FE zEZRIk&1k$(NZpujng@X*0MINZab>%d>#u72)avulqS56^C}gLjw^LAM1UFerLNiWF z!aXD#zs#JxoGOOLIgt}_A}xxhj}>X>+qtu=1C3giQ@K1V3pQ;A$Ab=UaACWu z@LFBdrcn9Kk#2h{J2i_XRlFev%uT4SRxWchLRv;ehoD*lp>QB7A$d5HSx0$RDIcAG z;q@-^WpckfZdWk{iv&ZVwNEyY8qVP-dXAt1|hXBtV1bEgVz_S(-HeY>NT^tTHrvq>{ z#n8d}yUImts#)4d5>}qlPIKKf$%*T55^6I@LY}gXR1})b)eCu3*y>Fb6O)t;E|uel zq#&)lG2R4HMyMIL4I`DMi>Ik_ux+@w)4YYS2tVF+#Vi7Fxv4IDx1)LA*75L1(m zwN|;MX()lSskM_dhStB9CqiF4GLydvXFFXC{V-A1Nt8^fb`0L>Q~%mY6GK)fHHX?* z{{KNOvR~U&FD}TxVK#Th=-Z=RyX-MN6)TVpa*<9!?lH_KpJKjV}^@in_kBp zE6ogpbM&Y-Hpr1)+>o7}+$WM<-8jXI1bg4mHrUrUlv%fU-C*Vp@3$AfsrbVWKYZ6S zgM*7lM;DAM3O)L`qu%e^phuhZ%Iu(wo0 z@8qzo-=)U8!zCQ`*Ny7Nn|otS2GrG!;$>d-(E{k_m0_dntFJj(Xyp!JyGco-Vnr}9 zA!dLHnW;q9urR%M3sD-(B1}9C2iL=FlSCxUiM^dg5CkR;SVSJTOvIa%wRCK&mKE$d zO*b$*L!L5|v&?mD*|OZmDLJh?dO%OCJQ@jp*d#h~z^;=@M0+$*xKm0IY&DsAYk+EbLYmVZ}Eudx*#p51pFCuo9lRQQ> z!TwsDi&nw6rt?ljMTQnOn=Qy|u~@+d8&*faR;<@OfvL=ldmI18Lf?%^#Qr=kS>#@?-~d~_td z(r{g<>}Xb?2Vk=sVH9~;yMYH5A7igR+ z*B}l%5B5w>(g>*UX$Xm|!$=U#ka3IH>@3e-*cg&=wBRsawdU|U61Hbd<*@tEP{jrn z_haK`Z#Yprnij=627GPIaf(D=Y?VO*b-&X)-^YkwblVuTz#syJ1V zhZP$uOc&#TyoZzPTjkK5b|rrVV3-?%s&#EW^i!pIs&J2FAE~*dKI3|qbAV3)nL-PK zRjMz=K%%>m#0d9lxR?WzRht*BAUC?P5#(lFt)z5BG_A2CV5v#2nly}pZnqXQF5Mj^ z;{&z>gQHBB zQy06rwNVJBRwUCACgWV$WyYZD`50ESMHs!h3S#<WLh0 zi1NN2t&Be5N;+NBxrosAwS%cJ2s*xkcWBSq7<2=+{&!oj8}QHzZNXl^6aU#3i~}BC zurbI0`aeA1E5BC!Ys4a0ID9X596QFRqZh)2UU_Voli+Y(X*`k;G_c;Q;ZB~!;2RrQ z?4_K=kpg{s1)7#sfi%8kmXLpu2+?gz&5abc>*GkUPIHFo_77vgPPwkm%O7P|v8O%H z_c{WyGQpC-m7<=JLZIAHF7Qw3gl9e!CA~*qiUl%=2VK-{^i7}^2g8lN!<%uTg{Dsz z+eSrWl09Q4Ph4f9U&bV=j^eDyKod01H$sDd{&a-u{c6hrfFB5yM<{n8RBe4?6c(4o;RdR;-)?L_CQJsZYV=%6FpjYR_ zmH~`{Yii0~aO1;iPhmZ)w3=L}Wg~6&3Vz&1Q(_s4p`OIXP9eVNE=+eYh3c z_(g|*)0pmXrAAVvk|dlODPjvR&`6ET;e8WsYi)UfQ4y5O%%!SDm)f7MX}}N~#qJeW zVN#TF&tBnZCB#9D&#B!juXHlOKk_#L68FoOh*OSOQX}vaHvx59m~yTOX$t{ z)JRG9zH_kweqdyYtBWJ?Wy=n7CdqqkEiNj{t;q8*M$!tAZ?YL0LI&|6{NfFE6aePr zQ7dDx--J#Yuc)d@-!YxQ^rL3&gGk3_G}QEx#|LFtQ&K|Efze^oDak%1rbzMK+^Shd zs87N-)PWS~j3o)pA}BV}no37pRCk*tBflN_^r!+FS~^5pt0|OqQT)RQkZM{Y5l#Cn zQQmS&;$dr#@D0G`SoORNLJO;JwA5;Vn8V@=$z<-P zVH2VRPF=wo+9L3hk;K%G)Un-%Jz0c7xgaxfh4bVa#YseDULnRbvT0E21~q$f6^w;O zdWT0?W66tza9(nsfopYr`^@NNoM+==FG)kCP)X$PH&7qBRCXmR;+Eajt4=|3OfPwr zvsK^_O%-|~rHg0+F@KV0P$fyY;BHdNehlgrQl@SrvLh?j_S8edxYTFDadBsK&$;K} z-X%dIC#tX{<|g3>ZB_JLl}76fA6Ic+V|KrY=hLUvX&1yjfAd&^|&uLMSqvRIF-s|25}3D^BF7Riga!|!ftbypRUM7ef4-8ZflNuj}>h} zQGYD7REgWpdkmrxF?HC;7cZi|WAZkU@l#FO(mm$guo_)}&O#n42iSXs$#S}?rx&?m zmLFaaUafu29w(DtS=*1Nykhqyddz^G6P3&`RvhF@Dvq*BL+1pIa1h=(QD?qO=()So z+3EHfY>qcAV`&AyFd95fJkKvzED2R3F|EzJ;#`4icx6C&9Sv3<`w9#tHtHuEwvY4YP<8wf0ZhWaCP zFql(QS)K(=Xqec|sV(j|+KsXj)1lWR6WyDmZ77d{N)UC5WZdu_nv-J1XnAnqNPMnv zz?8r-f-$H^VUM)Pc$2-&N|L%sJMT$=YLmp|-4x@AW<2H9yK!qrSAWBDQTSvNh#Wa% zWQzk8OlEFSFd11I74^OmEA534ZV2!@9F40=R>K@PVIXyLJx(faxC7MH$l;TA=!aEb zse?e6@P%sRjXG@sI}F+)4KVKMVjoh-04VF}Z)7DpPukhWZ95&PuRX1z3@mpHjXNGv2^ zD-knIps#)5e#G?t#-)jYEuG!ngSYf`Hptsq!ujw8Z}tr0e!-bo(*#)5pg zXc6Q#&6XY36reH~5o`}2@qkYSJ(-D4K@q{Ht5k11HI7a#Pn$;V1+M!@n3E334E8MS z*}@=fp0y+?@pl?xZbBuT*zm-7bwMLamMR4i?IIT2)ZMmuAhupQtPv*}G`{otrxQJA2wY5mP&}Zv3#988b5SUtZvfp1dFD9vQbBW5w#2 zeYmJyCMYkGWt9Y6Tq6~MRD8MFLFExxmgUG+cBR(Hh)jAE$`FYct%V^av@;U}CZPCo zeEYQ$!fETGqe%N|E@%QivaSv>BwF-%*R_<${Dd%yejzn+x)v-Rz{7kq)!NQ$k|-Xw zO_+O?HkntH41_Nld%UmMf{vnsG5Kv zUBkyIA?*z%sNsdel`hlg`02*g*d1`G?nf=0V=MCG+m?O(o!wnM+x$l>>1{`7sE-5f z4YB3fTqZY}i!H|v*|kesk(sclmSOvDL#)*=a%lpx0Jc5c-?402<8qA0()w%Rh@c$7 zrgvb_J%4EffNgd0I7nevCcISc0BI*lLW#(}D=L(T@Aw#QQ}RU6z~;`L(fv8sNK0W#e~a~_jEO*JKO!}ecBHp8LWU!;BNg1EOSyZ=IoGKA0-f#lYFwTt$kbD z=B}R2I#oQwefH7fc{0FcEfzDVW%Iu`6HgivvVK5yPAG%1PoEF6Dgke-6be>8OkSR3 zC!&hd!aHIGmnD+gUGV1}QxJtcfX{jW7HSRs7|po zt!{?#k|JZamb-_Jvvteoi2z=O)g*@qiy=SsJJz5wkc&{~9ZNoFDD4!(hh`wuErT6}%Dp~3q8Jot- zcGlc`Hnl)2K_|r)aiGtOve-(Tj+8gh84g^0^{`9wiy5w25A$W4j_0bM75gyBX&4$Z zo=Hi78D#}OzN{$Q2PiiJYx>~Jhg095Rvwk}4oW*Hd&mSg&$Vwt&wyE`Pc-QAH~mRz7eh5(ItSs3mZ%@@*0R^t6SH{RG-mzqhJHh~k|F*py*j&c!MH5`W&$bK5EKxRa8 z5AovhJR)5MFYR^S@xvMz`21^YuKHRcZjiLi6z@nCp#)+sp_x}}7+o{nJwpaP=rxM- z{|PjRm-m@8#*dTcVbPY}Rf%FoYyhLEkpasoR5j91f?PEU`l-{dIv%wNxpic2#8|W< zwDbIb?Bt5%{nMq8UvzDvz@Cgnc)5$#bvNVpV<(2o_oqt;TdXBQjcEgfpdBM_mzk-r zLvRt_>`dWE6*U!A)Ao$A#B@3UXfh5+I&9Nz1|1o{u(Uy^4z>I$x4&~dl-&|wUYo-C zNis<#I~iTx7}1R2wj)P!|4b&j7*tK=i)5HY6nsB^z3UUWG{&Sz^SP6I4j_?xf zXl~Ik-0P2PnP<|s>yX$x!R;*Zre0nU-^)vG@y*8?#Ig_uZNjpix>g}@K$9aXCU|uN z`IOWdP6h&{3mM-plrJI8Tl z&yzyq*c4G@WffAhq+O4N0aep=JPV|FSrj0?ZQ}^`p1-a};+!P6x=A95;WjIZm-M(w zdPMTHLdkUBXc$M9%JenLE|UikM#g-g@pbWIds}<&z;4d}I5+o0x_Sr96dJ*-fl7VRsibS~KYrhODl$Mi}tN#PH)Z*5Wcs1Itl1tX~nUqJ=8E z!YmdhG;jA+BX<{`a9?NCS+PrZEM;!n(=94x{mfurCEgj}Z!(5m%q$M`3%i~U6!k;o zIPa;WvqsI%GLH(ZT+xM8&p-eF>zjRw;*sb19>pp3{h_)tGGrJP3A z)n5!y1A;J?B9NJ7C%?OLWIY%TT^0D_5}*pH>UQF}^JD; zvd9KHU}l)*G)6J0Z!M4omscZ!MJtrua?Y}`ZWosJ@%+wsTb_F)qpeznM!ULtI(m2M zV22H&a`hn?&A!DYPp*PXRbiESk|*l+rFo?e)>klSZNbKs267huv*m?MV;I|KE6c3& z2y~O`jD!-n2}@}QI*d6T_RngCnLb!6a)ltMQWG$s5llLi=CT=FHlEFig%JWN+S|#m z^G0XquPlZ8JnSKgdFoLat)d1hSY+Ruw3$q`;^K?e!qCnZ6z6r}OiM{34_`Z3#ftt6rf9dP61V~cM=EhyKtXIHq0>L(9-lM4 zJ=W9|8|>}qT?_e>F2;&exmmnzge$MHB@)X%Fx8K@)P;GV^m@K@CtW@C7Mu;rBY5Bf z(ZayBIB+Kyr^K5;b>5ePH4U}fFz%j}^5}rmKMgH#6Fm(>fu!Bt>Ya2Szdwy9mVw zkwl`}8ouC3PCO*%qR5d>d4kw^A(eR`2VTs;g+y43y~0(?)YH7p?d{e`Oq6GWYE|cd zSRjitwDH@+l9qU^cQs1k1;QkDJ(z8F(cXnzAE zV*5lF;d3Y$=h3fWnN&JgR1g;Sv!vG87&X8o_Wvr}FLtct7*xz?-C31L_GeIizwXk+ z{yWN@ z=-3u6|HAYju$Ze!W+cGSUW?4NxGgNKR`c2O7H5-lJXyezh^j_qk^mPh%;gQJ+y0)8>tC|_* z7F-^b85v8tv4?sslEQ7(AQ@PyjEcw?BcavEeQij~LEsY22`XH(GlZ#^r}{ZPhhjWi zXOck2O2(5(bxE7rVanW%8~@ov@^uY}0{oK6_|kYoBzClx&^9`Bf9*gDbB__+6`)r< z`^RVNjlIWC4@`meIPV!*EXJlhL5Ra^5IpzIt{{K;MqbMzzdHP0ir+;q<7cM-{`<;94Ik>c5l`wxEu0AtVL);ZE^45#dNqM$k0{P)R4--C_fKXd^ebB;G z;~-*VPe4ZsmIV+122sBH=pH2_Z%F-!Qz9&WMr^@{Ot3te&9YfUk;!at=_Ao<3VlisAIEAgxE@#+7@nT$}-mCE#W%}M%F^1X*}Q8*X+c-N zq?pd+1_!C=8Q$NZ-7j()fm&pB6tZNptYce@_0WQ_xeWfabYww6Gz=E&p^}DN>AZ~} zrwi7AtH(dkcIK5t4K)Wm{6I`qY)Tv^Dkc0d>_KH(!BJ(0)m*EwgW*J=;`m(l z{Ca%uNZXBtOJ(&6CUtQvXKN#Bt#7 zCNB1hJhxyZTs6tl;jKFJ(8io|0~MJB{ERbPE^DrkZoqhiCePs*<+|kt3B%^tEs%vN zIg5+ZfeY#2%Fo&%0rak3AK7tg`yT6V7hcR_K?-M}Z7^*H$ORk2(JjFN;hS0>3j1;M zTNDF_wv^?NF4tbYj%}Gh52|U4$dnE_^AQkpdkrc@)kmZ)yDv!OVwowS8(b0BV-8zU zclnKo9_!0GN)KO)nxdjQn=BVYQPC`N2wpo&6KfJ`7h#uB-2L&wotwnfUMriMuSa2S z%aJ*sD7B29u5@wBlbaIs4ks!ie&S^4Z86d9SrW-eJQJd;8WNzN#-G&o!a`@HWJxDB zds8N^TVU-f?hT80+U|wamStnw=8()G?l_p)liIh5CT+XFOk%05c2dMkV5-)s8=f2M zDuepm2DM12*3`aB7YTx$PY%an9PUE2NEi;MV?K+AT#FoAy;=T2zvw8(L^7BMVeH|- zlW{fhHR)=E{#a^bOmb!IX`3!AInsz&jg-;OBYc%cWUSha2q}mIHhLwSmk-*(?pNOg zr8UGzT_d*-FWHVv zq&A{YxQWaWGb7bP z42N#U3zd-+Kdsg+Yt?EfmPG+evq2-+zQ`6fl_w9A0MX|6+E{fR4jAR#EYfI^F6JhQ z5gCILK|L-B54W`scJ=ne)?t*NlY0ng zGTA<`kykBlOlSL`I(R;VSjv?Hn9we8}4%WIK1LU|~)K ziXK11MeS*5V9?aeU{L_wDno)2s1Usb{H=-c^K_4=3m9W$%rg#dX6xL&p11ogNl?!dK%b zjbE7_W$sZ$v(c&+Ri#LJnH9*U@YAYOrhqbysoeL+dEKga<*6+ON8(Fq**Ji`%1WB# z7|i;5CBPtuoiIQ}2gV9KifmM-0Z>5<6*jTP*#vo7tPv)+&(sKGI)=O8vPq#WB`QJe zZ6Lh#)SrLZ*!JYRqotXBaR~@2$!RY0ZI-?en&cR6 zq`~wQD@*>gnzh9O9~P*yu#K9{nx@el?y|yXP~t0acr`;t<*+i`g-B9sBzZ!vtg57e zMO>be^TH)HxYDtU+~X1EC#K?xP$4z9yj#xGREk?gY>S(|Ij-asezmE*`jsaxGq#csgRqI;lZCANJEJI8rR_2 z4v(cknxJ(KXk&O-U_GOK7LVg-c4R_fAz&NP4)8LEYf_&TEp`a!qbsD&T=M_1_b$P4 z9$T6i`rVD5o_@?YyzoT0x+q>0Bv#=;NTMiFeL)bE(BcD4fYQAUsu4w?K$Zwp;nrW^ zqt%LVgg3ME#u4_yJ8!(4g&m%~z4XG1Ui4xX9kv&auovU7myWQ%?>zGHKMDY)`|$Yc z-Xf~=hpMH@bUEHUO zF$MQm3;=5ItN``P0MtV&2VkXJvA+41*3_>Sg&L$AtF;`c@ETkRtPESZ(IhF5M)ACp-md1?V8p_@R|aVNI2{@7+S8C zrGf|4*x{P8o@<4NBkZ0TJ)RVO8|o;4MU0aQ486ob;hIWK5$q7Fm<2Gusf<;+QqT@n z(xy}q5t|5>&+P1>BDxidN+b$lv8yB%+49{?+{d!MK(vzbH4W+bDE8!OLlE%;YIrxH+nV-$oEL&Y=N5 z0p(*PWpoKtnh4{WhlO0d)1J>udK9KuI@mvvvV0!bO@Fo0Tt#nE2+MC(eRSHa~x|KObyDwSRcYa4HNrDfix}J$Fl$h)?X0`$ZA1C1|sVE#3DGpKt zRx(Pp3$vEDWe(*{MM$(Vfq=;omO?NI+oNa^i-TO^5tEWK#;Itk$d(htOZ>RH(=+LHawKA741wG0{O}Uk~LVnf}mCgC0ieCSVV|jNL;5CTq@VM;JImy zL~z&Oq`CRJb0G*f)5orNo{EWc2550bB3=0B^2Kh`yE+V=cx?OIsI>*=Y&pdyQnh`Jq=!>K{=k+BPM z=jugVsSJ*&iC3gz&<6dic46};n;VaJ*Kgn3+}~c`{d@=0UGIRYB*pOKXqAsv@cQdb z+#m>-z>H%m*bi*Pe^KZMyovuUgv>4VXz}Jd?=b6Q43wy2b!<-QY&HPz5b<}J3nwu| z%mZy;1~6Sw7W$|ulHRs1>t31u4e8e1G|Hr$x2fxYvV%8;RU5_P4+|-cQze4>lvA#| zs~ylX!~pfAzp>MH;HY4Q6b?DCX#y)@V=;zecCZaT%Kp9QOFaoIdwPrpy!EcLaLeBcPXi*730ibglgkm zX`14V{r6Q?3vf&_<%4jueGM+IV?x^2LyZIaxCUzK;}KFtO$DO;L=d(~5kpxeHK<1= zpxIAMF}xl@Jt)I6X*f~v?WqZu9azfj^&so(HM>5d_?K|?J)7)|b%Od!HuUZaWU+F} zJ=h?{9N&cK&Q|&U058pfQ1C|%@7`>feQtepxJ_kUOgKt%hmaX_#B2M6mT zhL+N)gm(QR5@)h$r@Dhn6T&FCOp1>zK(|wMZ_y;e2^9kREtSivz>sWHR4F9*nfrUh z)%pi~ej72i_}`!W>7UL0{_p+4@6P|uAO7|~`K>?t&42nEe_V4etDAF#ArMc+a2x~$ znXw5ZF)4z;MwZ@#7c@M0T+)~>hx(O>F?lRiA$!99E%B$ zqc+Yip^AyYO{>5L$b4~bL?H@DOF2Ep{_Xey5-k0uroi`4t2i=;f{5d)d9dF&9;luC z;#S;Td4)kUiKrQ35GQpUFc^k7DyMp@6DQFgappmU6!P0Y`XgIcV@=u{r2veEsO*%& zyK;=#B?FQWYB7J8ouxo<3wcIr#y8uUhYJt+B#Dh7g@3dR=UgSRIG7Aixoz0r z*?6?Iy{koeih{|5WQ}KW@ahmFAz*1NvuL_{^NyOb_&smP*kivD`_7Za4f;e&o{~W( z7(wmDTD>^_a>}E+qOCG4n=dl40oV@(eusrHbZpBhEI;5nh+f3zlu~JXxjoY>1z4V- z*b3{)__L*X$#idVZAR1f*rK&XnzM@Z100!TNvJoKd;%)1CV8Qri-w@MMH)OsdHyFnzs; z0>n5*S5T-n2bBayuJYVub)S+!ND!DNDg%(!&gC-co)i;S3;ao(Bh>zTQ)rioOc~?G2x0&29hadm`GM(MlZHE{2KDxTEGuL3DgAkd-xG2R6@xH zNh-K)^hX=IFu7DMxB?09EBWPT?ImRIhSXpmFk}(+S>V|dou?+09h-p$dqcpszGAwuh6J;dWR*6!7NhC1B$m4q zU?j_^=s!V|)Hp}lP*TY8tEWR=F3pxm{}I` zCLnZ&sbWp}t!t;C(jX4fp8EcSH9Jyi#*A+ma;(3@LpT=N@&HyUFHBxyQRJkrGS$V& z%NZmWcwQlqo?cRj@Jn8r;?Ox(N=dFcT#~#S{9C(^k}FE!u2aO{8HPzb>FC`hxG*Qz z;auH}b>!Q;{EL+o7mAf&mad<@&FXNck%w?cd%5`WfOG%FdJNNF0x`4db@0 z22$7D)h>!{n2$kx(I#6%RpI27{`1-D1wwvM^dZ^nrcJo4Al*xn5 z0jBshh=HC@L|7u>gm|lU-RJ6rUNYaJgv17wl}M}UAZu7T8)dJof8PTpgwG=r`~ev4 znO&*IZ3&5Q$3aGkuuDO@X^I_um3@b}liR%av{t(VAM-_hbr1~L5!5s{<-ba`Z>y$N zt%dVv{9lA(`@0zI$>eZBIxvho!hUOqI{F8OczXZ$7+?0_1#yOe984yN%OE$4Xazk$ zcnsv76zH-L2WDISn=2%k@|fdcDmatE77L@NB0{s%aNOfOMNkw^4dVUiCLF>KJMDM- zn8imoMNUvN1%Vt|i-J^VZo`ZL6Pf%3KP8i;G&4DHapi#ur8egv)B{rKnnP4P1FitZ zITcx_pspcgB?1(`ge?T|{s!&EkL#xE5cd~Pr*Hg{d4(no&4Ub$%?rSmLBtg$T}_l4 zM!P0deui~6(Ap^$hC81kVEbhfM0nT7C*@upAe8XTuxc0$Wm{p?6WCzkP*xZdFDB8a za_E6u0PIRA@k#5-MF3sJR#>i43aqOXpaBNH8by?s(We*JM9`~=$=edu_ykv$2N{L- zULc5~0+6ptAgs2w2ys&mlmkVZxVO^z^O%@B>vkjy#ZY-WopATC5PNAy789LM`n6#S zN$J2h)Ew(q)nNe?Dp1);O1B2!$O@oUn!$64lF0zouHR^BJgsdEHicP@W!xjuI!^i_ ze6$ga(Z^UuQch@6mQ{I!{B2nF$Nq$xcB$BbH2YrGL1iCpN%J4R< z!gZ~ljlBQWMcDX7G?`ppQi7X)XmJ!kGY!)Kg1P<{OL3Q>1WZ??WU`M%d6UCA#Qdag zuh4j&xX|V#ngtYV6IK@f%knBT6iP!a1IwP7{6Xbf&MVFicy|-aRi10l0(p2-&qqRObmP#B5Lp;-6K|&0B($VdJC}e#(N_?5hn7`(6hnB&gs`D&(7$O4!^OI z-&c%?^%#h&!>fuTIM+GiLEp;b{YYRd#GYmL@$vd((tpz_AznubyQ-+cax}8BYj{+Y zi6%N1&dUpZ7HL`b6gc(gjx%2Kp*a<`KpnxI8x04thr)7VVV_!pdabRGV8KB6K zHx%X1doU4OF9ZRZqL_bI0zK)i0O=v6gXcnIEAv;{v?nY@*5#E&E&&6LE0%EuuaUc_ zt~cn|BAimCEaeCHY8Rm^JCSuwV&~0326K|plMY9;1!xQox-elXI*J*%^YA3DN_XuE z@1dvH=6!lWzGQPMWoq`5bJ&Q?+dfC|RQ3y;AepnG_@GN!mjz5wA8kOvYZp)H<7~r2 zADEOJeCrw^=`>UhC$>J>o~3{^K_{Whw6q9q|KoNdtddU6oY+EG%K0lqPWGwTxMn!P zBlVLVxcyCoG!UdpNoA}uaKH{5>bUg4)@j0ml%mDy#Q%DEbY*?n;spX@X+EDYJviqLYB`5y+b+qMiWDbIT9WXhu@m5)Yp5L zv{@65U)SYbOzBc+)O=VXQF^4TdVj%@Ci>AR)sj(S0*28irat6Mj3g2Tr?4dH)RabL zQpN|LQ^Z7E391f9{)&|L<3^O1-(l`0$i$m}iYLlCVjvM&BvR9O2T>0#Jrc0OX@Swe zvn~o#!^=HpPJ_*DGljxN*(Q`(q2m@f`m*?z+p^K4kK0NR}_*-obanLO3t=Y zF5whH7q*o(wnqAZaTPub#L@@HG@U z7*&Fpg;A%FY{xNlY!Mfa0YP0@xD;xh@8ZNHXS;nENZPXY8Z54xS~@6XhPWINas*YgiJON4xQPoVZwM5vfP0>qRHynke zoC$gMz;Z!E5iR>k!)a^6u9Zc!7DZwC9{@$bQJrEYim|nPMrm(DU<&K8fud5yCBg$y zNUng|8I`Dlkh-ngsrA1nn;T+%Warjf)<>g(2WO}x}FGgtweilaX6G}@Y_ z_lI2fiQ8~A%Gh(7?Rq5_P}SCAL8QgSw-?hLWY!#@!lF%~Zh$SRWz|v2;-G~#(JDssc@+?j8v~vB0Gj6t zK;Bsx9`O}XYKTw{u-)fP!;PHix+8Ik#=JdIi7v;1Ut$G7*{(Aqtjdh?-~-3 z#l{lvJb7}pLx&gqmBR0IuC8ctc}ubGa;wk)iw6I4)fR!tr&<^~kPnSRC69M3;DErr zry8iJ?2Ccw+41;k|5*6?D-YET2Oaf)VIXue2e&`eYzR9h$WR{`Sp7?972~ytL1cPF z`{M2+`eLvFn{q*;LW$VMWg2C}{sCVaW^n(>RJ`_mqn4iFySmX9Q4~+#bD3hVt>nT) zu29yCk+yY;qaHMOj6J#e3hYh%zmHn0e>NS*h%Zmyw6@hk0TTy2$>fG~@8E0#H#9gY z#d+e_hHZwR$BGbi#@M8GT_-qH;ZwZY1LaM$TuPzJfaLN}$0QL~Rq-fRD`OXtSqIOR zSlV)EGb*SyO2F4LgUIMTc(}X0{%HN)z0G@mVG<(1$5hxo6B;fvg{~%W5T^Gj9H2~e zv|4({3cdcZB>`MnvgCt(!gqlg86Zld;nCn{2!uT@hOe)^)7kla^WMGPpKfn1E*eZ; zB=yT&QoYqZ#Ta7*GcZ)n8*9ANfy^qVt)*)eSl1B2v{KzLCqZgZ*2|Y!gSeGf1`=+d zGKeI$L?twZ$TbuI+SO){5vEiH@U@n{db>EUe*>3cn9ExhBw3+k^$F6s-IgsrI5TnD zYMGcfM!RCArGBVsUwA&)(urJ?b?VRaB5)ZyWcs(3%+$fUyO6TDsC7}D(`PZ3j-YtT+*RdA&JOsF5kM`P6*Xr!L`6Flt0*eU!1PskTGYihYr3NoOIUOXPWgrHQI zEh;B)14ZXI?%&zLRFKS@XLue{?3XGSi|OFhY+rj)K#rpQf@u3|S4ZWf8iYy;*$q{c zA)_mxumy3rGjF6yAtkwwi`gLaL|=y&=i`Yvk7qK^u=b;~(MTsX)<2C+2hK`J;?rN) zK@QHjemt4VZ?*ID#cTvH>lkLDAc^`idNOsZIxDsKh~$7uTFnS2v2S!(Lbw;vOGVQy|0V?QSsb1V;zu@YLXV)T*s(?lIXor)1zFJ-j(XhEct97z z4i$u=wfMpQr?xM!ZgP8{49i*1@$e$?Y{;|&6-QBFD_0Or5zHXvlo7}bIOj&7a2Hy`*`86cYH=i&vFLBqan&n^FNJ99tA=Rf(Mw&w2P?@#b~j?WaIe~Hh3 zjt}$x>mTsm!{ltVi+d3rUXBQREp-;cP%Ya`&;%CDeFo03m1YXv8>Tz*3yf{6lKlK) z@P^wtewXU{dpe%>kNJDUwqN_$M&UtliB&JDfC%6qc5L`30d14C&_GK1_y1PTU zUydaaF2Zn4)-yygD_b`o(BCXdoCFZHzm_%%nrX(K{9&CC#*@CDJ6PhO)8Qh75`qQH zt5J~={9&q^5A_`+iy}}g$>&KiGA>i^iYu65t3P&yHn6S`Nk8$R%V~nRr2zbi;qM2Fuur-UL_Ju!^W&n1|=d3k)Y| zs}=kpKz4$&sV|+R2x0BJe$WY{Rsgo=WA?R_>G@C0PyZS-N)Y@fxs3woOJ1fF0iXw$ z>c*G}rr5CX3HPl%^{OUD-eM-T)NM74p~7dA%upIsB+5!2sv=>+GUa94Q-gw}<7OTI zqM^uw)G+w@fjFWpSI}ewk6c8i*!7ZC~M5@Mn@ z6p`m*GkJwOtC&fSUo#sh4?O&$en}!51V)ynk+V4vw8RjXU}PRF$?1L>v)W~&tjJyc z;ql^Qv_sgWOHJv`Er^M5gv>E;Q4zLt+KYqn@fgvzjt57$4k*vmT=|rN=|9% z^}`ihI90%j8tW}_0pdE9Fob+%Q45X3=E7-6&AJh)>dK}H~jRgYcr^s&!l%#?#h1$9$bN;aL;4i9CKctKhFH!MrT{Dx@h%egmZ5CJ9E5%hK z55thC(K=Q#;xgk^@6w6p%W{dlqJBx&_>U~VzuYyR_YLqaOBlC+RvfmF#4|C&+K4!V z?7Ju_v`h%5q+zem8H95x&sX@rl;FpKKKawXwmesOBeV%DvrT1r)vjLy^OX{FSmeAN zqk&WGu{lc~pYmvvvwi>JHXoteu?)48Jd_+YhwMM}yy1ACx1&(W?!#IgrppVNmLuQ2 zp<-X87pCA~A177gsoX|HNi0BhIacp<{|xWfqSz_kJ3G4Jsg%1+WoW$27zZrhS=v9dtskt8g1eD-za7MHXP-W+d3n`xm5PS)amZP%CN4c_$xR zmRrfN1cmpbJadsk2txw2V)LGfn_p?N4x5b+H*tFPI5uyiAQ?_|!z>I0SNA&NMkwR@ zalv~~N@0Vjgw`>Lm1RUKgpTnM8;1lVh8@GDPKB z*{o@Wvuq-q&Pwo|O+Jt=8+T~5Vo1f@3t2uh6OPb2bqo=6bTT&cgSFel4l?@!4mv9X zlW1M#kvewJ{EQn^OwF8(*^JBPWtrxHT-LJ15tFNguHCAL&vM3mt#={IRjy&SLwy@h zKF11mJmB6hIr7X7^%Hfgs?TeG^^_IoQBVkLFKZ;MmNQ`Lh!&<=%QdmIv5 z)wOOp76f2jYpv=YUPomJQb(|R8(-g~wiJeQL5E=>flp+HYH!d+Se+hMKwt<9)b$iR z7fQqrf~#t0^_ny!&RGjjMmUe-skKC|4eHS*uJo;Hoc; zyL{#qZe}jwN>`mB#b&~mOJ{w$nO@^o)6lc-?|l`cG% zmok6&(A)7tO#R+PB-(Y7~Tygn9wn7$;x^ znL?+spnurdR~Ite)+{Y<&?DflM|)J{ENLN?P9<$dQE(NsOh>NeI(F&4Q5Bs;v$7)f z_sRSQo<3r%?}GMpy~;L}`Q6>R(qKNnsS6&0$`pUQzg)^&5EnK~-$JfB8s<)5H#DyS zM*k(OgH+G95L82M%`%nOSYUlQ+}3-$Lq6LOQn%#Mx={9vQ44nQ0y2wC;PtzU>w9>} zD^_?YE3GG&xH?|r?EvS~-s_X&$4dBy%emGE*aldfms$B2YBnwjE&<{6a%DoJYDb&M zMZ1AsSKh{>e>?JOI(w5r;8v;TN^(|4NTj{88?S-LdfT=3@^KYJ(p7XZgON?LFha?= zv3Zs0bmg`uG3_BQeQ& z)*8dtZh~j99Vlv3oVC7lh;k|ibRO9GQSoX{Ee_bK(Tl@3UHKkwKzAAp)Oy8!@C$k8MP^n=?UK)%cN-}eMQr!|9AwI zgWpM%8nF~<73D!+sK!;OR`0giLQbv~QxRk&e=>lw{wH%zX#&q0zd-NJW5HgS!6mVo z1UTl8!ehk}Taa4K#AWV|JoxIAi{r;UV>(&zDvZwp8LMZaIEa_4#Xd_yIz$nITlHJ& zF>_00Y|j{Jv0W|~nC@2l$%4q^Q1;0}>(6hso-E)mt%IIzFESs7Cz%($AZ729g*Iau zC@%iDaaf6YPHF2-gdw9ErC5-krGencMb>B@5|#^n=BPk0@C98+DVW&dc!>D3OtwYY zbP?QU7U|tTey9dJ78#0W!f)6KjSg`xq*UHIIfWg$k6U65bK?h{6|vI^A;WxNdWNKwb0(oo&-OpPU0+`v2!9|N^`MRW@VVN0z3_Z7FkxU z8suIEL%Ws($t6=lrwYp|l|YmAGBdl7sAOc~f)g%*56sH*CbR&0m-D=hnygu^q$_0r zzn(0gx8Ui0wMbKDf=l-wa6h&W@DyfWnIQ_aO+hrqe~?E_)e#x#3CPk6f#%=pIjdY z>7PjM1|T(LIBq@;<59$EbbfT>|uubKgP`wN(fsf$X<(0EtCj-Qr+12v_DH!*#(e>(Z zp5`H7Q|$zy6aWVgKmzRO?*?o7aX8(^PJQ7XItL+uzfbuG>JY!RzN6$Q_r%I?tUu6^k_VuqR1k)Aztzg1{5Lqp`bR(5!wQfEyhOg(eZHjMfJ9H_*S2(uChp{8imXyrP zZLk9DNE2%#pGRRQH=BTQs}n^ju2oUrpZGrL4HC?Pm5C`Shk31HZ3K-9wU`KbBw}B6 zgsT{D-CWY%2mD#mu}|NKD6J8O+M8$^jik2CbCMT_HPGRm&i$R+yvMhTo8z=`M8>LQ zQ6F5SMcAfx372f=7|{5+j%o>m%vPfqBsNCb8JD?iN6x*>yp!*0T#JRb;G@9_OsP60 z!SPw2Fl<2%Lo$d(;K!XZ+>FC~U=sx}+b@;7)v$XGG~Q__P@2tNY?DWsb#uPd?o^C) zp|hd6kix~KG*QXB4f>3NQ#FRLbV@+JO!}A;!I|&vW)^D2iN%E&31$LBIGQ(la+SKW zA*d}HhPzvSJu^(gk8zr+9bts_BURDjGUjM!R&Gf&wrNn;KGp`}PEu7wdxZ7lt3{Y~ zn7%wa;hapAyoi)FRy$^K=LX$@KW??L2RnCcY_$mkZNFVK+0O(UrAM-|(Owltm_oPx ziT?hSi~?;3+aesAh-K*0K;l|BCcm&2MsE2zGKZ`Xumyb@Sl|=f-IKVZHvEzH&JYP} zh~bliQ63Obgy!Jb2WOpMC5{&pDg2@rzc1T=B6e_SxPxMMOx}%aPDN};qlwH-7kNeK zTvKY0Ha<2s`*2SPZF3X0dvE;go(G78k2SpkdMiCLYC0cGKM=%kwf{zVKygrBU96j$ zcsqzEYsjNkuEp;nk;hQEVgyxQ#Z8lJ1Uf>wF!z4t2`O%Sm!hOv`Y%MS8Dvr@PN()K z`rF0J-%-3+QnPpohvW*zl!V8AbnZOMV|10Cx$qQbVdh-~e?fS+TkW6pPmYs>pg^zV zg5$~4<2MTB{_tQjF2+aGo~T?s)+l-}*Luq^p1Hcg#81O2a2d6XHa651NM=|IU2x5p73Q6#ckQkE`_sOumVB+S8J$ zRvT6j10t`DLYu?;v}yI4CsH$MYqc35>k*DI;EA9*#svGO&^i8qD6$ULqDcVq-d%@< z8RUn$ZE2B88cX6b{a`JIE7jU82IhF!FFH=UHgOE?g3~2oXMBu%+GD=cRVFEXK!hf^ zWOo^|kO1l@Bhe!B)y+s?pzn?+6uR!hMUuhqh*v52l@^eMWP*!Fv7%eO6qgG@;+mtbud-spyA13KOz)CvU;pMGM<$^0xBWL3_o@NO<37-UB^V|R3LBXZHN{I zu!xkajAGgf2NA!MF_bp|`Om-oZ+GTy{A+y^P+9s^?>LdGH5QdI9yWy38im{KJEjmE z;z&k~|F?=v=pN7jZyq{44 zla{0jjvlV{fRXfEXHL0XUHHOv|*wwY;du zB0EsjpseeA6ZDYbQ=lc~9Eut>XtX6qh!&(O2?5OTd^|W*$~lI&S~CfZPDsEpP$^iU zxMARth9jZ_!p8l`RZE1n4ur=3wr1FGVAmxDalkVhBC@KA(@`>nV8KTzd&v!ulBmFOFM;xL=NukiA}L0fymN zn}dqV{>p{t$k1Y$yOJXkV%U&&d6dk&4H-9gz_e(W{&T^km=3EvEd+AQarI^R!BJ&h z*;gS@nmr~YxJZ|7UQ6`drqj7Zg*c?*|UVBDGF11F$goP691DTO6q2oeAQZ2Bw&83S6 z#RQN9g)*F9wGeqO_~p2#G-m@{LdZF=(gN@G*zS^X(Jmh_uLKq_vzU3(0QpGn4d}s9 zos*1V9)qeT(k3(!0<2yfZ4a$lE4+PXlqf|(K$NL%c#$aQToy-(4B+p7DV=JD< zLcRdJhOo#64AwU3aUFUT`N)?sx!L+Vh%|#`%fUI}Z--e7&(+2tp2%sA;<>u-rij`w zo~wvfF+7IfU_)*&TIPW~we$0Hum6v&xqtCzyJDAAag@I^;ujl7XIK?hmsge{*n@&; znMevZAWdsci-){kNVQUjqt)f*_tWaV_7^a z-#xHVI&uV1h^w168B?LiSxsjao$>*3-#_Va_porD^rsKbJ{wF!5vO2)>KZ=6EKEjt zyIr2@sfqR;hqyraQCvbPwsjD~6Ptzh*7k4~i>CD{o@|g?z#q2dkh+1Uxw;S=v(YrJ zWD9|He7lF;B|?7qw5j7j9ROI4$UJq0ohsIvLk_$$c-=q2GHyNQ?W7HyA@P(9T*56D zVs8wgxFZ%^`xOG2j9(RCXkim2hjh<4hBbNiO;*S+UCK`hf(m%xBs|#HY4b5-a2HLa z?L}|uf4 zVN1BitH=}2xPq>2F*wQ5F)yGxos6>Qbt<5R-H46_@K&OX&I&}VJ`X_B4tq^in&eH%s7-^RB|r=GiS7;MY7W!Nl}9w^&K~f4iurT$Wx{Dh?k1+;!E^ZYSO-4s z^xnf+yZ?fUPz7YHYGoXcYPqbzGJfaDuo5`?xjBMkms~*whnV(F!qAK|)HrTnHR%(R zG4Gq$*s$lgf^*+}7o!AE@?ZuDhm1ZI$n)_?60l`ZLlOg`a==etJX2v(%E8+H{>rL7 z#Fv>zW_FYkCA<7AKY>fwoMruBpZ)0w+ah0?37@vN<%%>Qw+ib9?g%p3Tput7#wm3< zE@0qMfe1^Tc6G+$6`nUR((x{D3v#dbU~{(>7J^n^{VO=o-7wL$w7S%_`jbJ+-sU-e z(>fasafNZfC(H+jCJESmBSEPzDIn`amULTj z!zp6Q!Bap&?Hp)Gt>@DzTvJp#N|Dsri(sXkw-3LtiHXQxY8zH;KxzVma?`nbxcFow zAvOtE+R#0B)+{>rO)(zfxSXXro)_f5Cn$wNYj-tx@N|qRA$Z5;Lk+m1F{&xh(ROV( zJf8u{g!%{${(LZkAAt2F!al>E6mOaHQga>r(YO_1K%6>cwu)suQ4?%T?+gpv8-8;i z5$z5U)9&$P7;X|{sYaaK@iQ0E4mc6h4n86-(l>TXdb8L5@$j&19QD2Ww6_3A3t#(o zvf2*AQTxNO99ip1orS_c zX)LaK95;T9ZFXcvagXd9kr~6t4S?)|o6FR|^^xFtlL~-J+gQ@d%SC7_Vpx?n=j;vg z(kc`Rti6944q_rd)cRKq@y1`@A^*w|y0R~%>c#ZYI#1oeoKpq*`E1Sa$Z z)KE==BA{|Xr z4=QMIA1&M8w^Xt&fsQwI5wyOinsf=Qf*KW-!i*7&KJe{rq+O=JYUSV;9IM;6%uE!+ zMr$=(^%@lnUDJv6+%V=ZSDMWaejK#P=sBDEb?_NIJVX#eQ3q7O6dg;3X#oGHzq+Z@ zTv=LS@m2>CYh1)bjc|5Y+_c`rlZYHpt3o0oo|~eebh*F;X{0PQ9Y;nORA-=z!iMFp z0?xSUhgq5&A0gZYmL)lm!%{Uqd-hybEN;TMYB5GV68ckc7Vh2PDIhg424aGK{|>BR zpjT!$<91CvWqdtzg1)5$%A}yflEE>NSVjPgkrh)(l+rsYm!_W8*cqMs%2}>HCN<5l znATttRU|5nbPPM=N=Ai#g=u6 zGG4aqSnc|bSB$74@dEHb*9)6U!)j2&QYrgzp+Io8sp{IHoj~le?Nq}#I&FU?Y^MR& zU?No{gPG}qSpJYU(x*5M!FxjxKK$fEf1btE)Pbf-0?}27AauD^1{cM60xACZMc-6Kb zgRG+`?@@Sc9S$b~*|l&%&Bl^GW67X}@z?&@E}mnh2~=3^uBZ__YtXVPSaLvW1_Q?{ zKRX+2tG~fLyLDZBh3%vaPv_N(@RAc1PWCz3?EzPAB0)*`FBCv$(4(WXnJc6+kKJs? z6&Y^!S-uKM)o%mJN3f&glIcuThdj$ z%f8t?Y{Nkd9vgFBX5?mg%EIU}IyxR6Ou1Y+I5i#lFAWZp8C^hfblnS-ii=yqm4-~U zV~W6G*Xm>tMbqrsIQ~c~%BpTu6lS0>Ch#uxEyEz3Ud-5 z1$ocX@O^~xz!=!Lcr2SR;kppK9ecLGZ5WKeARQ=eM|gfW;aFa(lvHKoOsl{p;mD8Y z%!1%dG$p3VP2C7V*y;0r@%irVc33)u6Jeazp$;Sq!^->!;v$nGu>ZE+A#J^aHf7Pd z4%G_O?T*G>oSzJYXje?t4#1X5@J;yCOcVc5X^2@P<;bD8K}oO9W!*E_;euq zOFuFrbQpu!8L76di`$L_Y%xC_(@~vYn$|t?%dzxqJi^g0WsX(3Ie2|~%oDgaytg>N zuCV`B3Y@q~B|S;oTfqS2sE_oB{;#xTSIV*e>Q}?aU!`r z7F~t6LTh1oc+=Ej1iu*cu=7}W@EEbvZ(i?x&|BdnAXc-EwilcdhGE@=z<9a8OPmmr z*gPRpcE-biauEUB8$2l2$tF(CFqbFG+#C;JFn+6;$}WrOu|$J~zKzaNzq$j<@SIUVfO&sJ0F+-VVC!#p&< zorjow_6*)8{0~+Tx-YJ-w()NIa~Q~Y?5F8p4vRC$#+~We;c(otGKVq1AM1WL7!9DI z4qDa1L70gX6~OEML0oTx7a>yZ<{Y7&6bIdxD{I$LSQg~{7dTlh49{<2uYpoHMzHeJ zQ^=q8SK^5{IJBRLVKyBeAYLZ(cAmpfipb>h$_VrjjR$O`KA>X~r56)?yckG^v4 z7P&r$RHcZ%&m67g_u-DBg!h;bS`31MaJFq3NuY=v&Y`R<2PjrS6$%4FKlT)l34T*A zcIRAs`^FJraS6#Gn>AvwfhFrgUE;oFRND~&aei+EKwTfC{;u3!O1n}bhE&&52?gjS zXV0*dy6ib%6+AM;$$^oc2WLuz72Dk+tqo^Al+oR;SiF=g+FoSkgD@?^hL`o$dLQ;! zRk+Fv3q!S6-pBU;+C05xcR6!B7qy^)O`yUc7c-8pWR&t5Oo&n8znh1b{-4bK>D-^; z@9)q3-rOI|{qEfS-0#f&;oNV}{gb)hn){=<-<ngoh%aKA0N2a(CtS4BpF)v5Wil9K z2^vZ!hk{T`7>2BvICZ6we~L#OvzkFNWU2CaU<&VOI5PNn;3B~1e;rA_N$P*%`9>(f$nV@ZEo44yP8Y=H8DlkwSU zmU5~BCri^#WJz2JYLY2gvU1p%nESyF-Pg*5Hi!9kvY zr6*4)Mx_Li;CUJNls|jrNlM{jNu;Tsy1~>zQxOVxK3d-Vm zL^WG>be#o&gU0MccfsF5AuMn`K^Kd@4heomV~s5d-}wcOu(shENKoTDex-sZGX$nq zKggh}o)cpYMG0I@!$ypE078r-7vmnm2t7Rwv5n%&CdnQb$?CWtLXh`i9kd*q0aDk# zTaGfkWaw94HL#LmDSy4+pBy}gV9=px-2yYYv=mG`f2aE-vf99sZshlKqP)->UR zHI!I?bl*$ht0u4js~|zje3!MnvV4)2zq4NWkl_G2V%yQ+3)dvk_fobG!0y2Z^i$xV z+Jd>qX%V32Bci!EK6`BGYwo6JmQobHuI@z2HOrK)hhHg`!goaW53tkW#6cIno!@Ks zkKpu)t^e!grWHT)gyoeD7Ak($UBBmPYns-dc*64Xia?rl@BFo; zt*nK#+n-z7^^K6W`I*;^XNI;q5-~b|cQ~n~q;B_ft<>HF(e8SfS(Ji zwkl~)=^U(lvU;6`o({UVy|+L{)1HMw%d1l8S@(7r+BHo(=*L1*>!6=Dw=8LY`@H-4 z7hY~-d5yr3cHhSz{N!mHPT%DlAq~$47hZcgr0zH>-~g|^>)eA;^fc6-TI~<5?dOrX zSJsKl^GWyfN8ZGmrX3`0zRyAjMRy|%!`iZ>9VXqE33u4<-U(e@Th_Ff4tn_mt@W~d z|4UC>)3njCCoHcB(MHGJ+s;JGH$vKjWTr~F!6;N*{)l)Ez!i@@Z6l=JcHF_uUT(v= z9yIi{<<*a@GFaCWw;U5pEl>MP=Uyxxp7y{S!H{~|b`TLUEeNHRh~Vz7w;R(w^QjMZ zaCna+H;1&p_JP0dxcHc3x(Uq()9$8s0vs-BM`I_`^7R`e-O;#v*O_v8&C=o!uL=rB z{q9y|7E2ojNXs(2kA~g5Tb{ONX_4)gWfC7v(jg9MVN{kkLfYNfVo1B^qYPp@y!#v0 zCpqS^ z-_!2IiXrWu(+B8#x!9!$FQ5+|kaB~F{;~|);JEu)LLW(c7UkfY)OvQ--3r2GP1Bwy z=!;-{KIm@63AU_hacr*(13Vw5kSr}Wx4cPeJwNMy?&AY#Bx%D$q}*kpVbR@6xLMP9 zMZ{#Yth~d+?$#YoTU*t%$lfc<0%_Xa3Upr!X$kE#?VC8ND+1}8e)li819VM$5k<Yb`BOZ&i>wo_6m=>S@|Z#C%oya`K{kKZswYS+J%RCn;GhEsn$c(&Lj+_kMuBrfH)n#8za@8$Inl zh(gTLMoHQYO*@U#Xhp=~>2Y^EGQXuoQmqI*Pp946$;f!xb|BvkD;F7UO$$M6M%*=R zlHe}0b~5fhN^sY-IJH(}{!PxhkK)wQv?6IvMytr1)3k|dQyXE( zt}}oPnier%k;ycjba#DBP)O3w;&fRRIezw{``8B^GeOfLq*ak>XOr%BoKu$ew*jX$ zQFG61C-gWhF*ibn%-xu=rWr5ey1gp>d^zlX8T-yOTx>x|LHhWFy*)Sk5_m$L;v^c6 zm_gjEFf2572i9n}HhL1nZFwjYFHU$UnprDY%qJ!wZSbZ8a4K=XJMZbgbW6%N4Y1_^HpEut1l>$X9b{$vOAjuSlT7*eayXmIo< z86FI$!QOeQu||8eJfkRsX<1Ra>%`)q+om69T(!m+L#<;N9(Q*G-(R(o7f_njbPFU`u zhe9$ULRU=aZ{Qj%zBdyIQcr>eXJJ0`LwGjrF$YPjhoj>+n0*QW*#^Ll7jlBOQ&>EW zMc^;kTRC}&ES=Y+Ivv>zlng6dt?BG7jE>|xC)5_JXLO!-u{XiX0^f~ZZbH_+X`CJwii^1xPrJsF4INPwHWGPF zIpHJX^FEoQ*1v5RVL;eRrxFG=L?R`IU;ZvH4h(o2_&&78TUmc6lR5=Cvj>|R^h10; z?YWn2?OO|e*CRZ?$D=}A`z|0eoDt{|!SW4G z&mJmC$Mm~=RcS?%+N|TcW?}U)f8mbgk#!p6nsum-{Q~=_;PRg`6vnNYxH^U_i>Mba z>YYJT;5`Skn686SU^Re<6G~?BskbGlNgZ9v952KMgWnhF!VgEsbEI4%qJ%psZa7Ks zKm75s76w^^q@jpLSH+hAxUx+6abenJpUw`}1)E`HeP=E^QbjhY*GO3}lT$VAH>9{| zX*y)iEsldzN~awz2?e!M!w|=Gg!6_2O`rDxH4z7$f;aRoE?KiY(n-T`crL!oX-n~Y zHqjIlnQQYb0tDm$FMiL8Cn5WsvXgH(zEMNQGN=n8fg*NxGP3$BP*cT@RL>XY*=!21 z02-8MqmWYGe-NE-gm5ONJOcw|IpqrN`@`38A>Ot@qwp{WpT*>qCrT^G4b#(A$%aT! z3F%FzbA#19ooCOiDZ0Bl_;VZpPXQtLw=zM1XoEw=pI>pxt~UZkE~jexqPSSi6qT^8 z$R=dEQ(*ra=OT%$+FImdMJQ)vv>d$9QUPf2gTLStQdU+h8h-8->f#&4j*Iiz}Toz15OG5CP8TGPDV62JQ)Z5o^fQ zX=E7_4>F0BX?*0%!rKTJvW0lzSKNyE!oaqb8QBdJ!{s+si@(GEsw|isXv0EI4;~eg zLTTMF)Tm0Luz&6Fn2y(eLbD!>m zwI$x)_u*^E)_F$1zlH*;lFrPW)x2t^4b?TXu{u0j5I?ex&H+JX#9-n`}=ilJ- zkNEsA`24T<*nAg#LAFn43`;YTl6}-|D|M8XHYVStkAO62Xp8Q|<{NMQe{ztoW{~Vuxflmh?+dc7i3B7aO zPjMFpsusiI(=+z{R=3N{1-UoKZ*7-G>OXHafk&v(*)~sBiM!w0fq(Vsv}Gb?JXu7X z90!7sm6Pf2P_DMnClX%f2SDoutUmkOk2Yy2-QU4`0lT|f_cxIr${P~q4vHMRL)PAR z4^jF{`^NXAKf=Q`1viedoTZth=H}6#O$x11n=RKC0fB>f0NqB9E@x6ev4956g$O0!B z+3yT_aZTLzX{5zfPkHFL6Ueyn@c#Yv2X`>P^j2o?fQ6-w#Llwcus-0$cQHcfC=xIe zm;Rzxj2A>}&F%v_xMD!f5=?QewTf$Y=H08kDQS#(W=A6$DnWsGZ8y>~)N+zS%rY1t z83EAJ&@-P_1;~GCURe_J3IXU&PIL7)v|+`8(L(^gT1P+#zgS69P@PTN?#-+%5Cra9 z7%!%2nnRouXy0+LO$QeiFL*J%v%j3~{@w~j#kiI~D5B}@tCX`Xx5 z!q^zOq`-V02*?I7D=&kVr6dqm^yUHTIUVI#qPE$rgb=6%mD81+*ncX!@IfcdhX_b| zL0OHSc#T91B!w!=Ax4ctXI)>HqzY{J!f@Bjk78Vx(Hyqng)CUUstlHG9Bp8Dy=jP@ z*WV60mSTIw$e9UGfGabG01@LLrk%A>G!-e!36ea4E6xvFe7%uKytH>r0`=uxN6pb; zI>f_Fa=eT%Tj*TP{J~a~7wR|0C(zGut$1WGlgWeog^V-Tc9yfJM=Y7z>$O%8yI*cT z+Sz*e0Ffh$9>Ne#JImTED3E{@EjYmA%ZZ39b9@REy_!AxGY%^zf|^JmNDpWN7J9h7 zi>7v>p7%m~EePUi6fTT6!^&8J?K8r_K!*%;RXAQ?eS__!u;uC+F|GjBsjn>3$YElp zRWBjsvI*J_2qUx`A`?8fCxh(aRXN>HET}{) zSur1szQ9X;Lfai~lUT=LY878JpGqH-IcwAOf09!M}KjC;OF%&T~wC*{D> zL_rMgI`>S6kOyJCSLt6O5fvE?Y$VO};p@>!RhLA2*9s4~n}~}Jw==@i5nPZmzFVX6 zJvcPYiS@shiB_hdqMoRpXeL4pJR8x7Vw!ymBXbf3pP+Ick1_1lR4-859b-Do(Swc; z-)?v&6>z6v(iWD}bze%)7iqR4v>%;~e+-61ZpJN2fz`{F%%nAjaJfu#VcBNr zmvdl~*8}XCVp8U&cJ|OFBgcxG%hB-|Z(?)PVzw1LMIgd}hL^?GyDj)LFE4%^Ugf%j zSR8y6<)m0-_Z?g$^+^cEg(kj*ZKEU#uOX?%rom)lI2}awf@!AxBwH>^C6nIQZ3=XO&*t=h|9npW_wUW=|Ndm| z^SKA8zYIIy8a_Ah`2?RI<8ud}&+)m3&o(~0`1}N)C;0r^ckj+Ezjt?T8=v2o_UGmd z^%$3J40}U+@Op4?Hf7Kjp9>ud9vm8;AVeDe0dIiiLL6^X(%>`5eCsD`Xac5j5?D=E zUxAO;?=Bs?nHIT7t037T(=G+WjyBO>rAL3ALpK@EC!{+f3c51eyK<2`` z;J9B*Ed`pq?uB%-16M~4{f{^p_=;Wuj)IV7g7rZF=Gk*F3{C?hjrzxNd5|J7Rl!e4 z#jL=zItbg|L1`@%o~T4MDMSO8*|(&GVw$&S+u*Ckdr&Uw+oP+kZ%K$mg!?d=`QWq!0jIopHBLdH~VU=+@}VJ$*2YSgM>ow5FuKh)(!!YY^%dEN&rBU zcM`YPaW_CL9qn+qoI!ZrAHFz4300md_3v%nezgARr~4H+6;uxU6BvM-A>H}uy*vBO z;Hs!M6?elM!T=6mQw1^8;kRwDaC-?mnf7;y4iY#Ygn_7F9qRc@@Nrr~q?KYUF*Mtu zKVl0Am5eafX8K%wg(G4eSFt(>>x==xgZDXoC6!3r6tmh(HTD_>@C(dR{#d5`p+(Y9 zC}`BSy!H~<=jPH`F-g8~4)JH~-v?`WmLl1>aN&&%<)df_m%)Fq78>|qZRw`83-*G3mL_XHV(AI*aycKc^ zRVxYx)p~{)t_Co~ra=K_>?=Qvxyh*`3>Vsq6L1D2hSG6jDt{%6=w-t61Z{W-aCCyF zA%Y+>f+aGDj0hIVRRdHK=47TbX9#fuo?+{{5XkY78U$pmv{Dq=Zu_;QRBV(d#d8Gz zhaEuw5csv0e!tZ0umP7ppwz<61)rr%k~gPXodt@Vz2)vlU%%VgySeoBBJRR0;Jveh zN3g?dVzXNX7M zI;%7d$%aA>E#&HymIV30+5&-Le{p{X2T|B^L5IfVYAqns5nCV{Opw#%#f9FJ5qtoC ze6@Ho!cI2NFoqFk|sES3R6HixePWrX^w#TwUuE`>Pk z^p`=r|B8nF62{V|A|3K!Kn5Z%biSKMwLtaG{%0^YXiePREI`wS}SM7bP|oYO;8bJ;x)3oHs?8OOx-&M?VK+*pX0-iQj4oY^4N zMn(3^_=!$L2~dViN%1{FE5Gay3sGi`eGu8~_Hg<+Y$9|KlHKq;z4DO`H^BC=uYda| zhx+C8^uWIGaYX-tX96ZnPj4H`_?q5K)xsO5Cr8*G8wos5rI2Ar`6xF+sDA*O7lMJ% zOqj8tT3{(0w3k$Vg9a!gT;BDuM3^_a>wENYV{>Qc;iLWaM;o8xlGVoU<42n&bby0& zNMW7y55~o7-?l|i8Yysm)M*b6o{wAaeEx7}clW2;4rIQr-4j#7tO)=3y!59D z**2BFL~AMypYNfhHg)=r*J&b|?F~4A>c+xZnVlE&KnJ(-Aa40DsK+HU;c3m&5#Vkc zmQEC6s@Y4f;@Nf^p{E0Ae5r*SbH}_Zyeh97NM$pecsi9GE^}FPFl{{7_PkiAE`)%a z5H6G`QjSCa2j(jSK2;-uo2)Q$ z4*n3vbbwcFMA^N8C@EtFeoB<}??I->pX6FcEfDPzR0~~=-8TY?zNE86#vn4sOxneP zNk9u2KAGMm=6IQjt;ovxB-JnFsF$l~bgFa5}?DR$Y617M< zcd;TE6aNO%wV&b%H#c}9KEJH4aGD|FUW_*|rIfLqxv3WK z=`W4ouv%MLyhF`MRo7x`<6vWVvWJtb94sd4#g8auXwR*jactzG)I3 z0eOY@PO;5~oz2VQcoxTDB1p5>J!I9UtZ^#J_h9aN#zjk8#hloCGI=uk`n`9!A2mHO z6Dryy-bq69*&bQAk?43H`X2l5Y^|~j7(*)R_iR#|XgiWlh}H2(tw0zDc#GIr8c7w3 z%vP0YsK%-6=SQdF`f!@q`D~g6vgKHHbknX=&1oezf~=nOiai5euR!=9FjiJr2!Tf} z?3s0{giyxbhy?~(0@ix;#9XtEApI2{HWYxDc3FhI^|;zC&;^1ilOCa4fwq_J5qnjZ z7urOi)QJiiHo>p?=rM&NS?k~jbst~<__K2=M-WR?&aF>}vMGtySr)7I%{WFHkQ%}v z%|jIiNl_90NN`bpsUmY!LPp9pVx#M@)VU}+M%|2@q!=k*ztzXGMM>jg`)zjm7y-mI zp^xJ(A0-fNetsY1_;&u_Ip~dV0X*h_;n+Snv~Uvn)=Mo)*X9q#r*E2Sp0>J^qjPJM zx-%f04`2rF=VNdPfsQ9`>ia%9X?16}FWc_=%97>^wqMJF zFVTz?pIKX_LNPf&X8GuwEiLj=3gBQGs?B0+^WM&8TC|~@ zsC!D2nu&EWx`e6ExxI9oIHi0{Y^!tba-f^KOcBU;FJ??iWG1s@<^T(@?>j{=*D;Lp zgNM86NZT-Wbc!n>Wn>p^tY%GX&Uh#P`3x=nojuVxa7#NaFxzFOSl#Tu6kTizVYP?u z(`k!U5p3Q1^iy2qZ2jm*P+`eyPx0%$Yu9+W6NeW1e_0mwZ6lYQ)F#5fr#@jcz+fH4 zKbX?|7qgdT?O=k+nkZK+RXvu}YUOou56NE}plku%Ywx%9hKLFhyGZa5PF;zdlpT{6 zz)PtJ)Pn{7C4|E10ID-nP#9&*VEJvY`yI3*;5k%vQocdEWGzjJms%96JTYWIsKgIx z03=+ReS%3>%YqJE_t_qceuJVg!D$|ei#+spPe3;J+46~{R1#AS_c9SO5E!<)Fq=Zg zu}p_82L*?$GZby-Y=pPkXbI6!S0;G?OLBd<@LPu~)rJ-8uu;ObBg8PN%0ELc?i?rpYHC{1fr z%<#f*L3384g|#Yvk+3E4ghvn{jTnm6P*IYFnR9p>W0!ra#?p>WNdcVcUqNN=fn6GNqj9$KEHo@jcv z+rl7?C(ni>_%aeHyupsQ3FTquzFO;L$dFv%X&8Q&N1^9&)LjO;WJ*Ih{mBz%Bvwsu zr1cGR1Sr-qBbZG|7FiM1oE6kJ)oF^zItPOpv=@X>TM^^*zm9pLsbV3viLlU?3&3GS z9HhPO$r+6zDYhou#e{&F1)IUut5^5-{^sh}Vn%rP>erCwka#JA%Hzod$99kAp-ath zxF*b+;zfCm*RW6#j2@VzKq@)!uPq%1g48d>!bO{9RK_z4fFZsNQPpZx+m;4abZZAEEKLK{H=H5JQ{C z7hHMb5x61(pP4hmSX$8El@{!nmW@a;`;Bt#atjI~`0s#-7PEDO*b7|$ zjbiwUK+`OiTok~_K$a)Y8629h6G3hqkUeI(mLN<1w=$5PM3+SHbz?jsu*qaB%o^hp zS(=HimqlHfkZPq6dXI0PqJJ@Ti=|afB9;-ZJdj)(;blWY*4o{b?GR!xv7Fco@3?i|=~yfxRPW_Lf1ds|@u9@4*DVh`5;Ip`pgmib5$H zo|r;60*^MX-4@=%6_UCC5TB3n`D=V$bR8B={<%dat#6uj26xaLP?{v0CQ>bx^Caf^J zdPPdEET@3@odRSgFk`$DK#GYv+$sRYg$7qtXk$cUz|H_ZpbRn;F@e7iiaYikZ-OHs zeh(ZSVu~cLYyQAU65Gc4cRr(6J0JNB4s8?qcOk zDOm=}Eky);L7*u>nznGkE`^ft`8fcuc8DL_cXkwTm=v6qRVFWiD^EXw!_nh5s%GG@ zle!SN@|axhY#kzC%y9Z916L2LI-f5HE@zWw+EqLI2zO`6FIPMGS6MAX6#cFTULs=^ z(MJO;2ngvw=q4v*U_$Wk^3a?MaWjMsPvJ$*OZv^P=fVqobG1_fohV->;r$6+lYSa{ z?zA^ReA70!MX>Um;({y3y3>Y&$e)AappR(t9Rq=%VhRc?3jAX$LE}%M>gjXwYyz5) z2ad-MT3@t90#&O}&ea{>lR%$&i}aK)p2~f9S_|Mn+fel}s%WTF(LbP4ToEX^yJ0(w z&`OR?kHw&Ehpp=(+Qk9-@urDIdKgjRMJh2pL}XTi|5s8h;5|8mq}n`PoeG%qu$N3v3)uk%0mFN1a}qd2WOuR z81({`ODG$}W`w0`PwUoWs~{3wIY|7tz{gO@_&6yZA(C>3;gn_FyX>Nv2o%ELss~0n zRWTy%NTg;>45EZhdHd2f>#5#cscFffd~IEXa2AP>w8*H=-iESmnF3hV&6GNyn`Fg) zy6_|Hqg(AC^-oSehE7md;u9@#JZ&oQsTO!911)+DjtBh(hhW=lm3?)7Y^y|RSBRBMn60|n0mUgLiTe?0eJ&i!|D|MT2$!luUm z{-eL#o%@&g{HOT*7x?^F_V-`m@4v?9zsKi)z~>+E`A2;CpRKjPCEDL`krKbZg=txH z_4g@)qrS3~XD^2Z41v^CS z6!&dQYogf*hM_OHlJS!vl2n8bF8uF#_B`Z4BPd1#yfni>5IRBigEMkR+qU*zust-&($ZqNw4&iA zcL4vS^h>Eu?N(?G~6HxYd7_L#-EWoH9&oY+~?_NbudbT$qF(^?QA*GUv;{JM|*p4Dlf-1;fs!xf(^LD&b`&nj$;#nlC6 zOVEsUlY?1(fD-|^YEgZFd!gD@JO-5wbArbmMAKsEX2dVn8OPaJD!z@~PIIm`13?0Y z$!aDHB}sv|YSX@{2&l5G6SokaOob)`P>X5$>mP(rafZZX40X2z*~e zapg$~wsZD$mth0YveWM1&G#baYdHRVU-XO$B}zr|oIlpoa40g#YbldcE+i~0fD#&P zKm%>)ea_r#rbOui64wf=dwAEBc4lmXe;%D!?-Vu4R)kF15ymE)uH@R)i6mlNy7(&aMJE z{Dk?|FiVz_2u~CPMO;^jCTXwhYXXBS`tJClT!sxt!X)Q5B=KPKa`0gA3bIxQ78uI( zC@UMO{!qV?h*-baBJshwYs6biyT(~^u8fbsrzCp2 zIa1TO@6kbhIow-6;9Ch;Bk}&i6gnG*`O%>G3D4pv=0b*GAiU_SutP8tB^&Ixc+GBn_z?1qQ4N!5RF)CH-P_dH)CF zj9N)hnK$kGJ9iMg51bPS`h&4bB#3UAGJOl@DsrKts)-fYNL-FsKPQdJgUN2ER@~uxs)%*%!;$blc>5qOLb=|Qv3w@kagB5@2 z@FowB`GLD%0M0@Og&qB6!3ygdK+s;CPFv}lV)xGgWb;h{$VCGqH_M8(PoI*qE15OZ zk#_@hm@z2)5{y#VDU5K4IiUH<1es0m_U3D9s=7wE=p2;g{FQwdqk_0*7Y4{@?f zO(BUv__a9=*wbkbEnbgJW4YfT*PH|XqB*s`q)S1I*|_I~`+TuS*IJ5c0YtC0lGcNK ztf3XJ6}T3sH1k6$Tl5>wLH%6X&YQ($g;NnH82&c5AKXixy0d5r6=C`~Y#kgei)To9 zwu9}cT}X?+eU<^7cd3J$r-nI>76J-3<2Dr#-zPEWn9nBTvs3;)6bo7La1>IAul>-Y z2yX+Axria3 zx7tq@-oevhx6=j}pDb`?da{7OJQ30&>x>d;}1l%`6(oUClVfkSc- zm+L}c)Mo6#|3U>A()$vt4{QQ`z+Vfry~9A*M<29-tsT2@c`goLg{=;i4f@A-%$j^K zWQ__r0zMffwx)xVXvY^yDLsr*R}1=loiok>bWWjiUCuC!eM6I_(JRx2SgUBla!Hvp z5kbVsA?v5ih3ulfl*9RJsD(;Q!`)p=bMFJB>Pb5F1Wj}k0<-)!Tbny{Q}n#5Y}&(( zW_Q11U*t;LC!oRA;*%vM1%Xi$HNOWuUS$a?V_2(1g?{bmrnEREEp$0P7>{s3)S2iy zth|e3eX;|e@FkbO#sI9>!W1+cvcLg=R$kI`k)~WlnRT^D<;413}nJ_Oz34SF{3NE$QGH#3m7B1ih zUffVYQgpJ4a69OIwe{f6!>@KE5MzaVc=w!zc%1~Qq_T{`x(7AYg_7_~T{?&^_t&d> zO|qP)BdKx=YkU|kHVaOwEOHlHpZ0g4nJ`2mEiT2!TpL3Zi)51UtGbjm@?o9$y%eKd zy~^i3--1<6U>3z8YRV~=6d1*eL_YD9z$QA5P>1m#nv$O4z|2?UeXxJ^{v)t4<5IuiJ;_RTm@N>P|Q>` zkYa>Lg{8oQs*~3C!=0_4Tx;DQjz0SeFD7C-ZM=DgjTr#>UR|Ilpl1i%;zPp!VBW!x z5sL=*?zlm7O)By8o$VDIy@v%=!IQh{)E^iz77)D>(207*Ef|Ij=BaxyzR;F|QnU_? zM_b|XWzf*ICn&=HSgQ{X=cGQQ2`@+)uO99UVb2}jZWjKS?RXq7qE&!lJlRB0;o&Ap zF;r?2dvhOIG3iJtxu1i088xMKKd?`)R@}inz?}fBFSFd5&%;o8+;ITOY8uT^l)H1h zUnEut{0jQSY47pw*1fIWpQAckOMrt~SIZS>E)Izs(Z=8d_zy8JM-K~3@mxk|6 zml~kJvFVK~W4agC8y})BU7`aAj3c3gli)6bgO|}1C?;-fEx(|4nWn&{Nn56485@Xe zc(bECwgq%P7w;`P1=kG442}%UCar7-xfo^{MvFY3v>^k336_#3pzGV_IzWb5BJ8;R ziFPqnnyA%!Gv&Bi0DS%-Jn_*!kB&^$k?@}1&F}Y$Gq_Vzi-2)~zfR$eT_8x5rZ_^_ zoF5J#rEnKiDm;J|Ec3wu?1g0WRur>jXW`D7x;^3k9U8~u-DnN3bi>*bDp=g0YYaF> z?NO)bz7`d{G{qBOP>HY9eES^(WW?8jv|7XCJ1smk14AR;4H~>L9bP)Y&P}0m1Y~!C zs|LDJczdYub!LI9@1Aswo|fnz{2N1;QYaQ@Nd?(H9*NX2xPj7&<08%;#d%Quu@!*a zqGI3l$;3q9ThBr*ds8v125)sCVK0AhIr-)JyPG?^JNtLG9-)Q(@FOrwI@XAf$su(H z)*q!kfHM_d@PRtbi>BBMLKKPjYmz1mE+b@{G%o#gooCp#SdKoqCxKHFpdqM}7~oT8 zMhGNtneMTa=5^}ru-FOwpTG?>u?eKW3ImAOiHk3(e8?ei>?tQekN@1YFldVs9p3AO zGi(`lSrY{=3FS38?Sx901849N1bwP`(?Nd%lj^7mpfOe;f+HXXxap3_15qFZ5uf1Y zK0Xx zyd4z^K{GJ^4gp|#A^vodC12wW38#y=aw~L%j(8@| zff#W7?&u6;AAJ8P?+oA+0h$-$Y6VOf2Rtc_mC9c!At7Li!|@egX(0)`?*Gf)yLYv9 zEc>GSZ+{A|5)UA;lQf z9e=X;b>`$P3XtolEsv%jqH418eL3N^Ax;6OCdvz$ZS1(ZwyiIsv4lbqOjh>cMn1I> z){L2T64nOF575oj6IL(#jSq9*U4xQe$Nnyk#F#afW8O)O*Z;C&G~_(AXLDrgil*=47emHid?D8iqS6P%z3zR9p@^E zlw3y>QLzb!O|FE5;_K=kuwquoqhigJ{8Ay~3)o@QJ|6XXNr#(1QqFjKKXQD$0LnXx zEmXp37#t zwLM2Bt^7RYXUyTL1Dqi1b+3KKV^m!ZY@$D%21yk;lu)so*5i}$k!A2DU${Pm-f{Ph z(n{|>D@nA3+7m$@!5}@yojG@u50Rc3pFXo%Ry<*b(8OY+?ta$=$*Cv*g>K0Ya-C45 z;nMf;q6eAYiNQw9G4w9Sa3qy@y(@+3$koMFMA_kR=a76AclUIK43NQs>OGy}k- z25KnjB2vEC{NI4OlZ?t*htKIurqB6e3khe=R)7O5S^~q>8|u8z#)3eYbSz$D6+_{D zyeX_6vE9|*z_^*Ty4R5ECJJ@8M=jNeIbqtwj)EbFLodos{!>U?txZHY^k(Re1RW|q zRO8ch0Kd2WD|e=x8P!)*nO8?E0bAzT1=<<*4pPyxIrp`otVR<-R(8y?g`B6lxvTA^2*j3pJ6UMyP1EE^%=d!w%d z;}+}5R(?e=)9+zS9iR%0*%bGY*)^M+?+3uzEYjDK&``d^kfwMT(2*dG8|lyLk@y_4 z|KE^c1sPh31Tf=VRPfM2Plf}r1{=Gy#^qj#w!%?12eX0dNR_KS!H1~b-x4|#eD zS6i}=I7>kdWeBEMtdQN9UfQA-D@X5$ls2x)5QYfcY2I3HNzS79zCuaO^QDWV${)D# zFB2ChIYIz)Xm#v@$zU+*918+aQ`KaQ(~M>#5Oavi9ThzMBP+r`@rL={5CZ`#tap;U zUK$i&mlLdteun37d!_0^Ko@y-`8mZpBwHo8TqZt&f|!IS)T%1lijJ!s(8Z^g!9vJ$KqR=BBDX258M$_a_TKu z=?Z6Yf`BiO0XG2~yLnO+D2-94hs_)LD+PrZgv?=2SX9rW%btU>^dZ+JCT00z1icm! zOkC{_l=2vYQu1F(2hx>OI!0DiOc*G`5=pGW>2rRrF*B#h#UcJ`5`{9)swr3s0w1I@ z+Y_dOCXcxI6Tt%^nND-1<;5|>XRPpBdOuh3)QnzqkYE0$pL8)v_6Uwb3uS}ghGwrq zFhW(Bm3Ejk(F2i6ZAr(WzTGGsfvdDiT(s2j9YOK9%6Q)4zC#yIbEE<^r>iVgRHnyO z))^bxM|+Ux3z(cZm=JFaH6(9q15cjn#u4Nx*K!}}Vn`za$if7f3E$^|T&5JZPeM4E zK(u99^@-XHkX8Vc>=bQ+@IdqeOAs&;k{XgByoB|@RPe*n;!7)vhrEU7(&2rAVhS); zE4*uI=n5qvP(%Q*%p9W0h#IOm$H`~eMidK&>r7M` znSPxQMq`_DbWDMt9SKpU(*mZaZ|iQgehAimG*A&9WLgV+6ehT^vYoA5SW&bJ7)ev6 zE$G0yXDN{&vf$-$1DWR2?^dG1HiYNClib1F9BRV!xE z3}xu8i8iE)jL;}LW{4V}CesvOw)n$ArlJo5y4OmbASj@GHXG}L(0HIM^?*M&8zT_a zOIYHXh%MP{SoP%vo&_@#Oq6$PqldU+FWP}?r1l2~jMC8#i>!s zK=@)V>yt8e zF-g}62Er{r`$ATL8`w5AJWqD6q1>Fz%8^K|E%qkfpwg2O-xHWxjf1sFj|oO02omoZ z@sD_bQs2xDv1?M|%L!T-qZRGZ4rRIEagYz;mo+iFQoh;W_C@(qKIorT&MhJN7Jo*o zR&b(Ct9~e4nmHSeuU4p`x*~^Iauym1%4`8>bFa>Zb}{7V@%|U zk)jZUoN;%>E63T~hi%Yhv`t7BNwiW$PG*FV#kJA|vIZ&)Hpn3gDH0i8Zs9VyZYu*; zo)R5=q8J;&DCNMI&`N^5qeN55R{JQVSDI9kk5})%g`0DDRZ#A+^}y}f2oK#ITwFU+E| zxH1yiF6?pKxBP$D04gNX{Vu6fsbYiIYO>oYtXb8NS;D(SHMuy{MVZ2oy>UJa*(~Q) z;}+uo%P~5h;5OIfLOZSOr0>SZBV1E#$6`V4tbZE70a*V6msHv;l&|S)M|oG>_8Y4* zMZyY0$Orz0Wdh**lG;XTNcbe9 zQYe*1-8k?{XFhC57UZl_%zfBW#tX~d70(luE%GX^oJeP?bp(tBA(qKU(=FsHVCeKn zp^m1Jc7Y9EUr<{M;1vQ31;D%Gx9Qj8%ai`F%|b=3dyF9PsSE+VpW@X+aFCQ?gFikW z;bt{}k1kW4?NUB2uJa_9?@@LdsSm7Pb?TpJ@DuD*8c7gpupZ}mlpm$=UT3i#sH zsOi#g2scmrBPszAY1Q1%fu?wx*;nZ4<2q8#@1I`H>Z{#eUZ!?OzrGGsJq64Ee0lTu z=E+g}&Tn6S?vEuqMG$D;R^88@$;x{G%=}T}Mp|^`rt5)ZAzlPg+kIfVgKx^{-uzM! z=9na=Ot$Y&j<}?X_fens-u4g~Ni93Qz(j4pGyZV*t0BK@td&gYMzYkfCPvJIgM?awn)Q!gNk1hw_Mkk!oW3)Z9*o#!T92 z$N_(>#2Q*Cr#}1=29+N4%LfifSAW{E&khdq9p=kF;Ei+rse$Ojriq(dsSCJ9n7IZ@39F;CkY#4Eb|+V$qcq$-_~q&4-~`XM z%pB8ese_JCKRAUz6dG0~1XB(2mky&}2_OG!ZlYbZFLBNEHYFfBt8C#q=QLpww?r!p zy=6f=R)J>-y%SK1lcJshY1mXwKgVj(*#PFy{3h4njaP1R2E9b@m2-K&LezDQJzNW& z%@6Xr@!MYen0dUy$c?b|K1COj?yB?b-E~hJr`D^?noF;ffcd{?(hji@A)qv!l5W9> zDPjHtQ8@0FU(dcvk5Vj!b3GPf+9?Z;@K2KWN%GAa9QrybMX_a77$~l;h5`#PA`F^Db z9F@8+++GE6dxB>}6_=_&QSW79;p@cK;ELq99!xd78sG&yhvO1xRY>Z?Ay@mitX*Lb zNBBH$QnuS|SC>dtkQj!7(j4zp%_#$t5mTe3er>YsG)s?YFQAzQF&M)A?R$ z-Mstw7yo~2^;=_hHu)A&1aDUEJ$&@&(ZhS+Kmmz`_wPM?c<-x+_aENNiXS}uTI&`m zhdb5`ND3F%^}#B>EG1;&cyQnb1b9p)+EWtm$}lq%WzvqSpOOM>P3AK%cXXu!2o8F2 z;HIusj|!KwF&2CDF;B~!%({V)-vE;9MI7t8W8!Zr7eZ4=%9ifYGb))BOF^*lcU-Sr zKay#OS1!!KS?k=##8!#yq(;XPBT}jqh8DpWBp^r8@MPEwl<6a7bY$k+jc$ddfP(oBzmY3Vgr!6e=9zk~SeoB>qdM*i~lW{o&8= zG$;%ygLt~iYP{Px92j_C{^Gihu6UURj6*gIhxby(XrHKxhsI*HtVXkkmfoE&VCs=C z@!v1*5SRYs82_Y5eRiqvjIcELO($&Mf~zH;&)94=3!>O8@0f$qeQPsJS~} z7H9B=%o>4%REakNMLX9eE7O^i201OXmn5Jq%==R+e5OdI3&OO z|NpcZ^r-y)1Sz+tSJ4PoM#Vsu!FEr3XJEUO&p;M^wDgNRu*P*lQXANe@B7gNUj2^T zOlTX>@0ww;QnP`Nb}$|F8rl}z1AF7)`>Upv>XDDKGGm0|RFdE^-O>cABvv~jb!EHC zm!(M}{PX^*f0C_ES(x{4+3Xf^ve|`mLwGX>ChfnvwH(%OeN1$6fE1{N?L)`AhiGci zz|w{79dLQNo)V(CwQGq)ws-7Y7AC>nRtdga?@@+)2vZMSem^2I#uA$Lo}CY0AD?fn ztH(~n4BbyYN|M$5f&jx`@}-Z*`gAx7WecgNLt7IORTtnKkh0tbDrN!;Lzz6EL){xb z%@k&^d^GqPyksUa2^95e~8q9E*bNm0F&T~3WI-&W(A0S1b{nZse5@dCv7 z^EG9v#I=0}c3Q1khN{_5?2Ne==*D#vqyai6|eP+M1xTn?25z~)fg|9SKCn=32r zFIR7_-hrV896}qBLrG5tfj2X}H1@?qBON|K6#H6+I=ZAHtFg*IZ?>0LrC(45NIPE! zelDAhTR4QSd$tZ}z<}lONPru$?Xd5X`g-FC)d$;mT|- z|C3`)#*vUtD%hQr1eMmo6)$<*Q5)py&Zc|3CU?Y`iPP*uT>l3bfFTN&10v2o>O%@m z{`<4eKW|nDI&4 ziwr`xT!BScRgt5!9@m8Fw40$V|LkQ!7mqDT`^w04nTyE!Ao5S%sF1ZY^cpG#N?}P(UzBZ^yJMJ36-S$S) z#J3YE6X&tUJMQLjQ^j@`@oX`M+pMn13S;Uzp7HI#H_W* zD_JrhOp%|3IT}DXa(`a#~GcQiqtghny0?}{O~5AZyTuf9|OpFAOU@g zrefy90&Yyl-T$jJj)s6M9~~i6|LPm^6(icdceB)I7ca_YmVR z3{c#CqbthbN#t&s@qU3qMc{uX&W2cbQcKy>wo z?IA~}AceBsq9&Y8=(RS;Y>_vT>G%ZVyTB?nE^UzBSRL{nPU7TpD;0dv=(VC0#CMk^ zqTGq0D1X6`0j`5MS^7-GrF-oe0*CikAt0qV_^#fH@|>mO6&+XYTJL13KUq6F8~4s| zW$zG2)(CGQ7~f;C-HGb5RXwi6OUn8sMiof+U`*c9h|P$we931y##ZI!;rdt0Up{cp zTmz!Ivn5VEr?feB6ceEZaC0hE+yv$ugtnvDa17A^Hg6HwFi0gIebn=Gj9G7HXr%3+ zGpYN=6{XAsP_9>Y59*+BQWP|C+C{nZjgdzb$u%jr+Gf)fwQW5+Q8`#K(UcPQb#{a=a2NFjriwCnNbO)gHE^~R zC4RX~8b)Mol?nNzZybp#G*JN*JX3*54X(8ea)7M& zIg!ny#57ZCW$xgXThPWouBeKkO;y})F3aezc@8R!nTtf#zvi5QR_wR}7>vXvYeBhs z)|-mT(eY=Bn4?B#MRss2=job6hcz7%a2kr@R^~@QAsUrWs`+lKo$$q2wEG~D1jYup z@G$r2Qd52_U%0E7Po>B^^ok4LpJBp0|0Rzu;pKTEf{^2$-0#q!6)t56QaMaaGJ{3A zBx_o6qJE+0DDszR#dB{o3Wu5ik-#O(-)6wf@{@5%R~iy-X_!a_yy3z@Gr~vF#3Cy= z5aAs)Hl5d*QL3Rg`?`2{&gL27H6B3%3XDZp9$UaZH9QeknF`ceOTp9Xf|z~eSO`h* z%9XLs1Smv`Hc00{sF{FZO(U`NgvL6OV37%ocA$#@FcF@OSs)qXVaXF!BnU;?us?#_ zc3Sb@`eL$$q#w?Er&EU0gJ<<^v2?{*`i@YCiGD(u7^2VkE}DOII?IY$fON8Xk?+E) z5%MWkp^RHMURkht(NQN<6~;AMD5H&!@#?WGK`jp8-Bb&prMsMNoD>HjpEJUzT!3{V zeN((Z;mF2eI6Gky8X=FB<{a?}LWfGmNJrgkGy->79~4>Y_Q%~zJez|28px7|#DzUL z{KIUU9h;#iAA??~q8yrRP!D&(u-O+GA33XJGYSu+ z04i%thVycij+DvDsc_J(z|W#SMi6B#A@f%1Bw8!Cywve{(+8Bq7(wu*SUA12Ndy6O z=8C)IHL0Qt%k;0f@2HZw>UqE`!3s#+A(X(ue>bt>f4nnq6gl`LG9emKw-J#mIONFlpv`5aWB0t<{ZP9QNvdPlOmGq}H5V40x{v}jiZ4Sh2==D7O#EmJ zK%mZl^YHGYwT*js@7?V@{`%3z*LUxB*6)4w=pje7XD!7@S21A|mnsHE8qtZ==cbTT z%Gj`J>c3SDA}CQTkzt9Xp&U!unKoBTrGgo)DR58Ck+~6&C?j?B1e4{!Qg9?52UUwF zbhlHGHj$5+WoJ?EtFMK68;>?B)MLYhc-I?T^p^<;lP>uQK^R=c>5;Y&w@RQ$^Elzh zp35g+J<^dr-poeoO_Q-IizdEvfxVBHPn}t7HFTfVY`VtKvqV!NOflsRY*H%y*F6{Y zRZ0~V2->C3e+?rOa3|n1#Mi2#Y71U9=HfpRfG5`+Q^d&TBj^DaJ2) z$@Um&n{JJT#%uBJ-$akAiK|xB5kpa@KWA$IE;&Enqn&zf3)5iifEx1}n-H5%u?)Kq zBqrc3jVKmYiDK?Q@6qnS=XqP zYsE`g|5#ABT0x5d~N;}X(sAU+oB6_fn|BtuJhgu-@h(CNR>RfQZ1$FKQ@ zrDhjPv=Skq-mpt61tne%vpj+_t&v4-@J=&OQ6-Q+RIbUnB5K zR9_v)1KiZsIbJJ#{Tg4fb8^^znjyBnvI2OMzeEP81hb>!hiIlDES;Pbq@GDp;7yB1 zZ$5JnqT~Y8M`@qCL{$&%7JEG0Ykgs)t9Vbd^^2t7`>K6EIZJ?^b`-E z;7u5HWVxP*nN^X6o++>@2-x(l_s1rL^)LyN^0Ua&F=8O<#EQQ)50aATP%ZqZUDTG{ z*SD5IIBpO5NUYGuBOHnTS@Dd|#28;{bMh>(A|Lr>or>h9Ta&ISPDec0P^N;C^Cyns zMYiccL!yIx+(=E0F46-yT_cOoK@K$XOAi1Z^edUTa8l(5Mxa9~D25AB@yaK!AF)QB~Y>gOJX#rmWW4q9d`eA!G8DtjWe} zEyx_gJCs2x2x|dJ!hoh(Xg?Z;pRyhHJLp-JD>Akqm4WR-i1IPmnfF^9@63l@2&vWq z`ka#+`2UX#i^_?YZ==2y^as-e%iVEEIgOb@#p#rSNI42N+=gB$ngx&SY0HZk*VTt$ zW<8x97gea2V{U>-=Q;7dscL7mvTxIno45u`3DFnsoqYl0a zkgSn1QH_}S{3e`K=c0o*z4P;f?zlhFlbRS`r#hU4qyIeaBcm|i?NXmz#iMjGe2tPn z@USa{FE)!?OXgBCMbM6a(A*L%&kGQ;cBg0E3vp0JmlJhFdZ6S(NKK!4a@{Kc6$X`G zF10@Y(AnMD+*CP zUsfZ$FWgWK@g>Q!mccl6=8Xmksh1&2mTvdpExLVs=@3&V2i{8)&f?N^h$|}nDQJ(G zIv!lX^(Fov%vt|@a>L1j!4D_uILA9&y^eLi;@{!(viucx)((i89niTzyr#y5AylZy zNjWE0z?di9SUQLl+11G^)NPHST-*l{Qta)o2$9~sD_4|?V_UswV-RGDW2MW^&X+?l+=n6t0CmIG1^8?!PeT%!?tMsQ*7=BDwB*fv!ub+l)sP}Y(DK;+~yC~pQ1PgnFi57`UEjvqxw6|E1vhOM%( zKV!`14#RnKvB%_V=+ZTof91|(J3w}qK341Aze8%>W(U*D*gt}3MP&+0Q2!2c^F#Lz>!hizG%%IAKTJl99lPkaA+t~*FfgXj*+KFZuoAE5$ zQ<~Ij<-M4w_&8(UVAo7}GccpqC92_7od1dnUbf>KuRJL$&9LKbI7xCy5%V4*2+F3O zM40t){QqvF-Y|*0kk4|$OLdd}CtmFxsApJ?fm9iD1$ma*jZ{B_E{zL^Y7yq%R+a0D zLTy$ecC2zhJCKE_hE)ePPHj8c80tHCdZd&NC32PrN(0ZtkR9lpr}vEGAeDo=L4{ zXsnmGDV!ZlSt*?2FU)AJ(a*d;nDd)mJ5ZVC!2z=q936@eG7Bd?6y7}VS(bmr9?*4P}A0Fvn0w`=kNj6bUeabn3?!X>IE;3u& zL5PWzOEvr^TawN$mPYTi|DK2}TkiCT#l|liofn5|Pq#OaGiGCR>lf+13_&EA^_{}+ zy@wBXf@~!^M5P}J>EZfNOG}J&#Dz@5n(DKjuA0wvR5J~0YDN7J0;kYdE8Hr@w`z{) z_uY^JIv|KP)scp=e9PP$$Q^<4qKw4jh+fL6xYM5TY9VEEOhj492hA=DMG`jpo02S@ zPy)@Od|<3|>f<&zuS@d+#7X{ne{F9MjJom5;l|DZT-7qk7>~ypHGx;3RMK-~G|}N> z7YQE~dI8UpZ~1>EJ}fV|T|oblodp+6$0RwM*NP8DSLZESwV>&e6{9(cV@^>Mq+_=jlEox#by_>KfH0 zqKN^bB(4zE+*r=3v=8;P2XoF8WwRGi3+qDfQBKuel{~^1?pJ2HQ6hHWFyKZ!;h4w% zH}_T$0ZMfU9eInrz42ahk!_BL7qXEmpJzVJls>ulX$=p_q*{wh0{+{iucpvy;%wuW z&i0G-jrAi-J;b$jg!Q?hn{e8;vXm_?np9TKVUSZQTjN5C^1Qg$iL#Jwv-Bm42A3WH z+7=uZc5^e?YT(mGsJUpFE2H+-?m=zv2bzmWMNohAW;o~#C(Fs|=>eDgZ|rUF{`wp!A04jkKifDIJk#!y{o@pmO`M06L6 z`Ck954n&a#SFUgTw1t#uo7gb6f0aJ8fuJw9T6JxvLra9m!Y>3=5zxm07NsLspK6)@ zF3N$0lZ5QI%BxaImVj@GVt5p7Z!RSTsys|HoMqA+f4Iq_wopkckH(O+ahyP(4=@}R zcEQbu7{d%ZSk_|2)EmI)UJ|PtKJpATIqpoYA8p&+hADrEb1dwBgA=^QsvBPkm1VQJUyHRyG zvl{q=HO>Z?4n_a8LWhJxgT=oLn*M1u9U=_m z<9kJ6Ozu1BBB+rU6lo&7EJcSWE3w|XqLxy3>l|&b?L2$2_6%b2aBXLOZGT->Wv#I; z(6BD>;$wB3pKR{G{PLT}HkIx-nG|^yI+23Gu)BCluxq4tI+)31LYQceo!j> zuUPnBq2{AP;eC6f8NK6AL+QRVWhexzMD+cKu~Qs^e870ZhlJClmadRrB;3~Yqorpr zww5j@y~&cbzJ=H2r~2dGy(Qd^9xllX*UI`Buu(y(8y);_p_%`PSQs_*gVIC)Hj30f zI923>(MA6@%ES)~uAVwy&00UB(VP`j2N%~+{o6!WQGlxJs9vwSyL7mSjyk{m(zKfD zAi{cDM5Y|@Ici^T7LQ#Z3q`g(@5n7YxEx&ezg#}}d293V=%aDq^HE{M-9sT2v;GTg`_zOirnfdBI%RgTs47jIE&>eks|LEz~A)$qu3ZYi>;e%Su zCWx_WYL-dQB3WgS!e{=v2USYHV)C0=PO2j0Zh-j)J{>Z#<@HT`*qR5wK4&`5RegfR z=kn!p?io1Tc)k}L189X;hpiR8HEK!qC+oOxdG?e+1>&Bot(x7vUyt^FTsz?2v%j^c zDknV$QUCh5Emk+la@+b+Y*f=+u)cJhGK)ak{jv9j`#^XdwcLCbvE`G z^qBZPIU;jpjS-lybw2E-kxiqcMSZ6aWYsu-pK(a)DXy5?HDr>8YXPl7W1 znn&3Ak1)fBTRSh*6SMp)3`Us;>+qwf0k!~T8pxs2Vh9pn^#7~({FpgoJ}m7r;1z1< z0m|^#GW;7$$QUMfZ&18>iJ(gqpW>Ntd=U=A?|XQaC-N!>w~HBgzV-j9^LTsXr;Tl) zW73_hLH{i;P2Ke=!fV5CI&bAM;J*ZHx^%Ipy?;?C~#J=)vqEk62jV{Lsy zoo7nV9L0Jq_7eIQ>MM~nQso41bs^`4NJx8ysDCSsQ(|-I*sLR`Z+SCB$%0b4H1rFd z4{tRdqlOv00iBJ5gWY}DOq*LfTall0sFCa~5&`1l>F)LcD6sX@+Tn(HRrhy9pK_ld zvAl#!{0vuyx_C8^Jcc=Yqy{?69UvxB3xgQJc8{oQ?A#$iR|v|{z6 zwWqr;4v+RX4qxEM;jeq?A}UmWv4gXb^`oEG_O~cCbcG9ioo`ET4}s6gPCRG96D*vf z`>&d6NfV2r&R8S;%!DIspOh(YjN1QsiRU{`>P#U=Im*s{x)Tp}DzIz^gQ=c$u;?)I zR;7_tYWQIC;_`UF4M}{UJ!eDg^Twq>!FnyQ+2;r@eA7die(z+}7%oos!LJ9{B~1pD ziI#V(vG3Weu~)d4$p^BalixnVg_y%&ppC9}My%9D2hgc@7K^UcU)HQDVBGC(r-YG@ z)Md)t_Ijpc$S8kDkgH1#lnN(Y8NIU7YmK7XvO18>eYjPB-rfI4d3LkrwkQzU#&Zc< z*wq0iUoq(5kDl~jQ~d~v-9*TPK)T3mIHuWuu|rbUaWUPSp6#RqJzGf%7(Ncvz{j>R zzy5vw8mCZXOsV#=$Oh| zpYDCQeM;5fHl7}MgIy>6pPpx)o(~bbJUAPH&2UK)>d_|Z!vuKQx_vslz-zcNZ@1-p zZ>%u1DZk1``zEb-2iA5lyj^TQt1T3>#JhTaEca$V*xt@f3v9rLOeOGL-f7mcdhoG+ z6t_-(-at@@+r~f2v{XMMx9lGNhy%~g=Jwh%-Pk>lYEVniyY&$@B$0kyeelq>j9C~%LJ$7X#o6{_js-?hRm9kN2~r$tX%e^B=glHv zhDpryAw9C(zl5oPD>W78U@(%Q*lxdoLdXBO=#Cl=&SUT-cCZwJj1t46e!gthrL1&6 z*9|&NJPS-tw*y3_gAD-B*QyrB1zfUkOo>aGeEIe};HeK(P+Da$e(ayUsToN{AV1@5 zxf#yJd!##C9MID3pK(}is)U4b*q!79n>O7XE4U0 z9`<9$&?B6WigVCZT}vmIrHf1R^?1rSE*@xrwQfQY;|!{YsU1-$lZ2+_pE{b zF*N;`PK`bb%Ce^P7;_o5OchmM&n}4|-!{6?g%} z`DnWfbo}Xv!=gSOO)tm26>oh8G8C;n70bA|KfO-Q?maq=xBrl?vft!aXaaE?#k?@u| z$IEgV$K^oQI(Rx;Qz=t(oa6{+A9%IW2XTclO+sNcQpzL~gA&40u?~Y<9ECbPQaPE- zcPq=^$6P`9`oqo1_jmFV(L(GEC?<8FMGLn}>pS=qN`soYu!XRK3xnOT$q&Ob>CBAX*KQH^^9$vRM zK?;FguPWOB0EvfhcW3GQB~-tE_ukiL$AWX>eG?q~wbrzc7LW48X|&X`Zd*4zexP;M z?ON(ieF2y_SgoVC-S^}Q+bQhuA+0buA8<2huHYMkZbAhJ)>YCC`PTM=8V#^X;eW=B zfoV(p)~B4X`#D7QN`v5`GTf6Yd98;_8&1KEi`TqdhfuAd_E%x<6OK3E8GB1>MUrzoI)F&S@PB)MFY%O-W<}XZ?HuM{G`e)9#xU)?glq-Z_FE zvEySTScKE}w;)IRXZ-=(i&99)`UgZB2!kpp;(zrw_-WJ@Fzt&Tp5vJymjz&&t>@?n zXK|!Q())APLvRL9J<+&bb1gkz-5t!{GFAvZmkoc^p0m}O*qf?X0$v}jz3zG!1rqe9P>Gmg1 zeK{lHgk6i{;L>q7^sG&0^A$&-E6{HMIE#Ugpt9OW%XMPEm>`tZz*=cG_pnBYcw2v2 z3o4eMS&5vk;WysKL;9%O_u>N&QUPDIA`YV{@97aYnt;jWQ~SsY;NG;qgd94Mx5wv* z>@X;jd6ZzZ)Xvf&r`0Owx?0smp0w~w4|#!y01pjPwk zTD@D2mF|xvw3E4>xmv}6%TSOKB=sZt{ zf8e5?5CQV0-5b2^kNwu3gBf98mU=iQ7=eNcNF5$-{iJ3Guy0H**W39h1vPvB;+CC2cJ&B zgG#B`u1Mp8%uWO}zt-ja-z2t^8Cy(B+fbBmRLtf@vXQxvlOO?oAmyR9!`cO887#+RaZPe+&DUdfr1OZJ!~+^iD%H4u)FcX6RJnfoJ@ysc(HqIBLOg4v!bjEeG>}*y|tun zEK`z?-=R?*r_u&~3j=B#jZ5n}!!WoJ^UP>6(Q1__f_;wE)95rzMt*#9B8$fckB#pF z^f4W56WYB?X+C1MW)#La#gOgR_2CECk>LM7>vBxiFFoV1PxwUqjbkk{B`wYm2zP7hc6SVe4R)U}!M=&IS~a5KRCb~U4O)E4qNlLb``kYnf^1fI61Uz*^apo+U-^m7Mv+x0L#QLxrX5EV0 zN3Q#bP^y-`)V-W%*VMEXW)nmAE=JQU5!pc|tb8UkQ^7-3{;u+AVR@Smz<0)MaoZ$= zUj$rkde*e{6jGw7tF$nGQ>_vGlj$0Al(k3wWh|0F&6H+rh?tzu>Eb!WhY4T#s0Q0D*WYx{%PeTLGmsBwC|qj1c}~z9-EV& zMk{{F;jp555zp6-&+XjMeDTR~Y(&@>wH}Na$$1q0{^ESS*TuW0lArk&N~}@xXD2;) znefBe`S3OF5A)Cd#b`L5uJ=xlA?x>W{4J$AXp5dR#|*lX-t@*yCfe8FgNn7(uQtT){|?*4%c2olM(CDcRP zie?_q=yk?M?aS%uV@SbH1Hw|DML5Q=_rJZWF_ zId#KRsJp|9J13qX<<7-K!p-jB{OzljocZ!JV$r^MS9oIgo}Wm5>c7fRm>H;^+!>nv!k!b|U_VMf9`4hY~APkt(K&ErC z(Xtj?uS7ESyE^(3{Gk-VDZQTbJ57wkQPnFR6ptv!REm3Wgncp+E>f&{zkI=|R{{6bF?)BJ*;3 zL*+1+9&nLJ4}=uZ(i}tgWN2y1)U%|B&Xg=1Ft0|Nw#kPGg;-vytyvC0L%E!u`I=L3 z;nox-*ZB9g#%RS-a8MOWjy=vGmRb+mcUu@csi|@+49=GL4{sUH(eMqJh7OgS$u4Z0 zCD3yUD!r0j*m(8XB|_V|r=AVqh~mZ5^-E;J0I>tlH3Q=p^<_)JnPucH{in?%x`((ckeZiFQOr=#) zfc#LG7bV4vZcBu5bAbOQJkd?HN$d}%8m6ovTmdnSe?zv+QTxT=);995sX3DHOa}1q zYNRW{lWyDX(#4W!C7VlhwRd8X#w!*~B9A5fqI=*YaYEtumL@p*mwG zOj$J>KAsx^2{Xj`#&uEq3pcjZnwda+BAj{J+Z}X}GJn8oz4yKDrRZmSILH-YR$)wD z$b*IfZxF((j)l{7hfwQ5S@VjpN}cOo?K_12f`y_ON+L?_7aN4|_?7?kDBJD#^H7TpsI5E>adFj0+t zU6JLhmhhT_S*VX&fa#Bt1Bo1Dccr)K&*5)4IFF~Mu&+%v#^a$d+6iuMAs!z2n!5ed ze%C4pk4uZ{2WzT};CRyS+GTVxNTf7iK0_9UIxi4a!0bnh)Lje0GD=bK0*;JSDGWek z#TQ6ua|U6XR>N#{dj>%emcacj8gQ78p zSEt|Iv;$#*`}^f&`uwT`FS*_fvdR-xPVH$u``#?MM{h^eNLJqJW;gYX3q^8bcv)=2=Q`oHsP=s(OaTTpg zVVVx~=%eY{DItCe9y}vNIvIb03l_iNVKg9*<=L$0Wjz}jW!sMNe{E&IUpBq zFmYSAcd~_i@MFBjuI^`kzkqMM4^=>SRu!3HTAFrIHnfGYCJ4~X1o5C#Q;=KN=aq!G z+Dh30$Z%jRQjDI%Roxq}okRVjF31nCMVR7@N}F_|XNE5Z2%1ojHFO8C077f9tJn4( zByBj{>L5!);gE;u!a*o%7Y!1^;DIY$5mYDD(P3JURIciJVM(Z*2_n7YTNFiXgGW2G ztxD>waYbbd+uZ_UOX^}OvDcjl<)q-bKC?;6%I{q{Pl(^Q2GH54Ak7+gKqG8-d<@BZ6_x%|Z4p`PGTnFKsQerX%ZK6i&L@^GP z$`Y1j4ppMui~?2&A8O!1g_GVm2mn`Sv^a`@ynF-FQH-Ms7*pn=Ey22lIW@q}xXA0%q|4YJ_BIiH-< zo-+N!c5%D4h#9QAqZn3VT-CTp0}>evMIThSJeXcelRKo#-*5UfDT@x}0wWv=avM~- zR;P7V&-t*j?kmddEROW5Wrj2ns;Y5`A=9nAi(Nr{tF^;B??iVBHDW1zXHJnf`t;M} zkPV%Wn5_NWT9`9sh1v}hhy4&HM`gYcnfIPzuSPV^&5641u29~v8}KrYt0zjyxlmFqj)~)K(087 zDB^yvPQr9g<|p^rh{~5JmHcMvWG_AG2CXX2roXGF3xBk~XG7ybNFBj8-bKD!}CW$P6^{qukHu`-LCUMq-RKR+g ztii&OPSm4@2n3{Dl7cu+b`d0aQI8^)9)Tcp=8~SA=-Pqys3E4(ylaM1%k#}6;I~%kLX9WX!32G#fI@}@hl@v< z!Zj5)hSmlrV!*CQB_X#v)FeaV2~JexG|(MzM3okFP*In^SDzrq%|eZ?5aZ6`D)euh z)LSIu#poP{vG>?w+#vt|YW!-zdqZn@-{K zv8%MTi?>CDcr6KYg7g>;g2QZEh_%d({0&ajk-(XE@{iut)2pA@6#mgrJ6z}CFuXI6 zT1cqltdiSZ-MZ}PW&Rjc=px=n5!<$u3%!P90Y@( zMgphJ^f!AbVwxeD`y>eJR93ZB1O{GjlXn;rMselAi6?8_uCB}C)ejJ@2$s+_;8m$( zF35$zMvm`=6Elc#xh#FAB|$y}oj_-e3mG>hc~1w=Qe&M-b>#zJRM*i`bWw69^Z`i7 zh(?pMR@Xb^zlm1nnp@PU)gy1StchpJM+V}#*Lv{OiM*Agc2bubStT1T7QrdBepzz( z8ygcMNGTyGXazu^quK1s-}8Jyj!U=)rQ9p^3)g;6@gQrQ{cpLJkUb2f2g^$|p-V%v z;KQ(M@o&VFBcZ#H6KRXy1@n(^EAOF-h|=%_9Z9>eJ0z_vfGzaMA&KRpqB)djm@M64 zEM6lnKB+-&X9V-F$#lDMbwVXY1>`ARDx3uVfe~w7Ej*j|rZ=#?mi<#OkR)+vQvaj} zFZ{`5cYxD4ncG#`HkJjdwRSljKI6E|7aGle$O`J-lL^#E618vS@0(JSIOczb!^uX!S`Q=IPBs`Q#Yguz}lgDG%VvIYXvee8ERR$7s+Si7XE{_^3l6#e|G>pvlVMd>+&N_AsyJGN%@YpN zZ9EZ*pMtR?{32uT4Dsr4*d@TxEC4fy&G5<6*9$Og<0@8g^#%MXh9B-Wg zYZ1wIeo}~R&wT}JW?>>ySc&%wvKtmpa!Ri!r{Y4Sv80Ew@>A-YcP6w?1)Uw=H_lEr zbW!U$iflu|56`?{Rsgh@;O*o{q1^CkcpStg;KUt3>5#xOqq_n&R{R2_L_! zDv2zvF9|ISl7VaD@wKMA6Lh_6uL;Gdwh$tv)dyqBA!x`KxM1H(P+t4zt)2DVpAYE2 z`4nUoWQyzM`SFC;b8GZOah;x8n9=i_kEEyb+seYaGchfz0J2PK0*h+}g&Hp9(OL%^ zKYlWOj|jo05Qoku-U9`6GV$U5tzRC-lm!Z=7M?|E${pM#_{td4@dS^w{nR;>D`Jy9 z+S0FHi91#on}y>|UcI`&fas(iO`TNm&X6*yMPt1L@X z`mB!^rtt6Yqci(gF4(t6cut1puP@YgJn6sY?=RX@ZSY0=-G#LL0x8|ag#4n7a|Eq3 z>WV4;1)i#u`}t^fh9|Mv{Nx1K*R1oqpM0InGAm7wYuplySbq!eD(s@L!BZA*`x<1M z`$F_XY4!%vq(IQW8mnW^bJ{c) zzKe5TRgZBk_oF(rxK93rQdo!m#B+HlfGM3iSo$6dt|;IbnI{g2$mU=4^}R*xY)@Xh z{%~VBz=a>C_3{C(3~>D9j(7|epVA?3LXA+bkk(TaU!tP;ubJ|tR)oWX4>ycz%twnq zZ!uS>d)xlZ6His!i;{+jPwkM_JG@zR9FzSLFW^WXmebba1k|$^+&P)9NT~zzp)Rc) zBS}cmkdEEmi4@ zbx|bn<0+wNpLAEVrZ}n1cRfdA&3tnaT{>-}sUU+g;HtRWWpL@p#-BERNi@=$@~CoJ zqfH}F;F9qCzb)bNY1`&-yoqtjU}e5|F8aHkzloob=Ret4QdJJC+>eJ++YsL3yV#JV zsTi1AZ-FgJcNFUV#7cbXDK`fQALY~1m6ma*%TUsZ>lUtie3!FBS+Xf*W#MA7Pyvdc z-|EwBl02$_?GlPpdgk@><%4fwt_sr~Co|=IF_rd!U#8-Rqhyt`eji=xNI=5>l9wI5 z8WSCq6JQ7}++35x%flfqQFcxdhmRW!DzHHZ5&P5hQ^qIt&wBn;*-`Y#k|RB?^&O({ zU`g15><>?XTki(z*+fQNfKNl?OSf+?O^2XS4}$q^4;d2>hYh!|KM^{=qOqeLZY5_);K@41$&vO% za|0<}Hh`A~Mt4FUzwtU*Qd0y@@>@3cVq*+1)^kX@%K$IUmJ+Fz_G_%4?N|*p!=lh> zFenG|m_zJ6jLM4SC^o4pgUY }$GA$A%CA4CstsIDhslym${{);dGI*rwF>u{#!#b39UI$TG+1T;?!KtAFlN1mIh`Y(-MC z4q`iSN~IO_U#!xl1Y0RgHl;b(&;AT7c#~_+3eE)-n_!182sB%6>@rzv{K?6ix4c-- zI0F`w0V4 zBy7YRJ$aH7LzYLjzyQ`OHof}u@cIs^;5oyP33p9?#4w5vhE)&cX_~i zO3)v5nK+CDe1WJLFiAP-dFTFuQ(<}ZahD5 z#gIVYEqs0;{=vgHeYtk!_kFKcMMDKdVO$O-%y_^*1Z&-#WT8t8ToTSjbBdffp=zjV z8^6XwRiJ4gRD|aXY2nBxF0HZ|V~kT+H%4kT)GEdbZK;3L!b)$oac$6pD~sb(Mpu@( z_HSH|vT`Y)_{U2IUdkS>oT@XS;g+T{a5DESi1eTyMw~+t%UPR?4AegZ4`U5l$Qo&B zW_N8_&j{oEH0!*!))!xKuaF_~6|xc{Wi{yHj)NKEVSyzXAT=#a?Npa$s9Xzyq{MU= zS@K5U!Yj8w>70+BGkv~FMCAqK*I^OlSJ3My(JAqe!;13U|76mO_U`7Ua*|2KqX=~= zjS-Gu**vMGMv2-kSajTg`oyPwRCN`Kt0DJ#g_{8L_AMsd4ri}3Jzu_3WVG22xlIzs z8|YM3Pm4~KocKoh-am8aBAKQ5{yaJPh~x_ zd(Krr7?XylSmVsde2dDACjPH(X#e|3a$_cU;qc@Z_3e3DRTy|Sn3VP3B3Lvl)8lx% z*DQCfL-h_`&)UXijq?LELi&Sg&#GD0j8Ku6ApG{9gvIs--D;f|6Hhnck*`R|P&%Ou zP$A>!r1uL&lo3u&XpE3o{JQVs&7xxgLsTZ*GWbVT%$sEF)SG(;>k{5?zk(C$oM0hhQZj9QH%7fN&lTpMtypF)bLlAzhc;<@Kd zoWxn$R@`w%5=lANB#IWBoU09@rwJ?0(rdJnXN+;J0H1R+DrsnktA8JbWewF7yuU_a zi;*`5+;E`m!DKJpc*gX3>`_BYJ*N-M@G zr8L7qxkODsN%`*P&6RScRn!u&(R?aSMvV0IOa@Ab{y<}`kz7*ObW#wLH|UbUZ9Gym z$QMc+vE`CB3PfrK(iBHpN2qbU^{O0oMp<^~gmtFmzeQU3b`vj~2PTsnUbvc^4@azSE;!EH{wxyYWZ+|WpLUh4Cq zedNg^RkIN{5;Ut-8pveLg%%I3LY6Jf`J4v z+z~1{Uw(P-LCe(O45`7{CBmohTKeDwPiqF8Cessuxc7iDU+{|00Q=}8 zz&@G__Ws@LgVp5Ub3tphzXBe@wlG=T%jq+>jAjeX6@@|44#_-vxwWafK(&hO`pGnQ z@~(XrTjVT8&GKAhf$Cx?Ta>L2u(GohbF}GDUEGc+Xm8*&0{^z|J-y=dH8)<~m!J3f z6A^PaUOtfD55n)q^80c4eea>Rf2buPraHKIaK1itU5T0-yVM6b%3t9?M zc@gI87F|cam%+tRPvSg7SOyuKX$nbExdIx>ALXN>2s0L@1Jsl+n30Bc{b>s zbYbCxth>B6+}b@o1u+UZjkHs|?$>Qk#3zsecq!0-3v_gb_`w+hPXtx4t^FqR;Qc9t z7nhvXe>2)NDGsQSw$${O47MpS563CRu%xH@3>Z$-S(LnE#iNkv-GuW)wDjdxO zSQMynd2aJ&i^2_3$?THBA85~I7}elxwPv_;+G!eE6U_Gl!*GkUJOGTdaR6PvQ3~yv zNeUY8EM(5t=*O(eN|RFI)@n}Uuq)VFNrXI-4^;94H;6d6Qb8j3IW)Rmwr(U9HfcNOCVZClpAS1S#R_+sE+ z5HO}`wZb4Slqal|4yie2Etg{gJrgL3Q%-Nqev++d?F_6V4kXt`Q`YAIqjXZR%?mL> zM+eLEzZA);n3*|RX&kNi3aD(nRTMwb$o;-xam1g+!9i5PBsr-`(NO+mX=b*nIwS}Y zj@Oxh`A=X-S4zn-n!GC6OAP0^6mZ;bEi+Tqa^fGU&OZ|KtJF$a`h0j+;b)cvW)ATP zB0~UyZsY{ZJ^1>7qVEp))3rT0cfi;s#$0&^kmaz!lDDKFn|Ri4ZWbplQu{*ljMZ!y zYh9vYt#NVlm4#rJON%%p%!7~&-X)E+vmMxq%aS1F4&w^x(|~2PHatqB$)tg`ogogm z``aDa;-~~GR!VWnOq_%TL@kl*$GqK@s5?{7rd0%2W>l)7{zg(@RyyUKt%^p3QaZFn zz@RuVZ>$}3wzgIoq*4^;7i30KL1c0MYgi@iqsuxm;kakw8p(5teU8+jvQb!FJU=3YY z)cxr8M4p0hW7mFBC*zESyRmp8KwdJ?o5vwiAU4*u`8%FYSg}H^%%dOI4vsc{>1^yB zZtd#%b9*@6n7 zeRRkj>RGOU9*zDwaAbc9;4@5RHjqXiF;GVOMC=FT8j&82tnFOrdvI7tD(Jt`%@&^~ z864x~3kNo%U(MzZaX0txHDZ^BL^K1Bl+|yV1*nz2!mjTyC^dGnIk30$r2LQhPj7tN(sY-OQpX# z9B(sNNKXP~o7ePu4GUNSJ07jO?{D6Hz^mp#710GA0Pq&<;t=;pJgXtC4u*(qXl{e%NeI>8K%0hqt_~FsR2kM}6$KChA zkxP8|=(PxlJj_gr-LFw`I*@uvOBg>qJi`K+_6L`80I1P~3VbD{C++{_cjngI-u~(N z?Y9%=<;}!A-%8JUma`wuM+hExbVd?8B!L1uV_RpA}Qa4xqxz`&%A3{`u zBk>{rV%7D%Ey>_5!a?Et7(+iI3Qk7-P%z`zX`_}Gyh{D1;g(bFap0MrWH?%M(R+-D z6Zux6UqbwX9B1GghP(FDFZr7I!PdlGS4T*cwUf8 z8#&q261tL1_{zr-Uq!3-+uEqKb2jG8#b)I$t9f^7Ozhoz#RelJk!%}Y)pPj(pJeQ< za7d_XreNt!Qs^z@0II7@^PsOyt_C=WN=0YUfND|qud2uMfFCRfyL0$vJbd?Y@U3mr zbmeJDC1xEIOeid70sR>6&&PVSKh3zuCX;AdX5ASrE1Ikm}TG`uRA&4|cgnKqSNxfp>u86163^E#k~Xny)}UQmd;Hk4HuPSaCLAAY{a+ieGdkK?&=Qo{B ziY8H9V2=?7zin>XM|{&k`^U(H67MJ|1&>LrL??-Yps=J{NBkzPeL8w+n3@nPqVTUn zPX{kS6Q8*IjI8Q83PiD9G26MxZYXdC+S;FCs^cw+-Wa#|s+{3mF3M39qrSQ%M~SvX zM37uJ$XB67w)n@Iyzzd$g7+6~m}V|Uc9Kl`sRF}L8ho*wfr*HTT}iXhlhCg?wDMzt zVSuucXdRs8P~AG0R}66#DsEspCsqq9gh-a#WY4&G1H9ydMMz^K4cC)vORwoaj*9Ba z>Pu^chhDygx3i0o!I%GR|MunQt<~R@@Ua3gk&7P3Bfe4+H1CyI0}3?nxFq^+Ld&f) z1W$#R-A%Jme>X-C(kA9;zAsC|lj=T~@RMS|ryJKV)fFxY)_4a+ZoQHozUtk5<1URF zh6H1W8v&X;02x$9(rIG1HMe9W*=^P8u#hHz z7ijt3`Pz7Ve1$vLc0$rb2)VAwHWmkybmEsZYj~!lQ5;oBoPB~Pd$2eJOw4S_^d8l5 zDkm;bk?5sa4NJCfZDw^$FbBC^4-pBuvGNca!PmNq>mie!Dvv80qnDIR0aTb{HXUeL#`*#8xc>hK$uW zCvD`pcqKtTuU;WnFs|H5sZ%6IbJg(MLjDLF8*@~o!-6w?{2IV6{A3KXTCXv|Y2{+@ zS1nX1klGh-Dg=~)Y~OS0M64&5qY={4B7wJH8m?dK4S(hBD)&k2$bCi>&MhXcVY)$i zX(pW5e67CYUgsyRjrT~vHd%Rvu+CS@ND(BAmh{C7t$1a4D!GIr_f@PsT~N*PFIiv6 zyvu0NB+CH#MasI8yVX;gOX7h=w+HZ&bBzu`RE7AynZPf{eDwwsyqYePY11R)&{b$D z7%;J)5lx+wdU)cY&}eA~TQo>I6JTrUX%AEFd&(2O!8yWhMEDA%UlZu@zP`MyC<0hT zJw?REcsv|4v)Ke_D8G;et4d6(Vx8yF`OH06a>4M+-dX>N1>i+$EcfW2g9U?P{<8(^y22LOD{@MQiP8_A| zakgKP_ZdsqH)mJ#~ zv1PW{Itx3ra+hz;#ieKZENNpbyXeZv6)S_oh~e}hfy~30DRYQxq;K{wbz1GLS%vZ5 z7F6cEdQ{P<&DBd~;pK{(P;#!?=Acx*g=l4!9kOOU%Sg~?yva2bH*fOMnwtYqH2-C) zn|C{3ck`M=aB<}=ZIwSMN?A?)YJmrFL)DMd-jsK*sk_xwi6#d8SL~Z{^-+_`UIl&4 zow~eh>W;stfmwA1>H@LW!Kl4SGrWQVO;&Cjy1N%rkEOKKq#=7$O3}`>UdeM%QO5BZ z7QgtJuo+fzjYxyA$p>k)(%On0BuIbv`AYI(q09vt(o=*tr}*MYNnns@=OhU$D8~9Z zJFG+OAz&mZy?TWoUa`7iATj{yFZ$h0bNA*aVF)JB&&9*9SRbsJB)f2?J>Lt%`vA~z@k#y&B5Z`kyx0v;*v!_+P4Dd zFAtfmaRJ_#CuzcLup%u*XfeOj9m<6#@QhB3$ATG~Cu4M|Drz^!FlK1R>mC#^atPJs zUq?Z%+jdeE627fg2a&(J?{zWyr0V`~IHhGJ{)8|@-7IL6;ZvhwdM@tmtLttFXvR%I zPfPh%^o}Qp+5Sb~30l|=k`LG24!GB0H$n0S#9AEZkrd*(l?w(3hiivh9lCC-(;&uG zY@gtTKSLZceBI1t);%6n>Wd&K@A$;b29~A+(~T+SAp@KF4@E9$#hhKlCkE#S4VsLa zMfhO^E*XMZRDwq~t?YL*o}N?OK@5$-lj)`~z}X1G7s7eW%sVkj{ib^;6@(DG*vBpI zeVhzJy^5lD)@f>tes&-I^9)K7A1AK$SK_olodlt!Rs5C(g`1tN!XT`w<^Vw|P`lI!0q;leU0;e})+y|3(zxOFnLh-ng-9%Iz*@!FGNhJXfrv^xoOs*@(BE`_cS}WV7YM zou|oiN!rcXr(|4))PVNy+4%Yv%-kba}9gf!apPSN|t=(qDO%=N=OdUGys0~2AGm#mfdBC?>?C1wB z$U|(AMT?z1d@!%OhYxIIGdhfQtjhw;d{W@gbt;GJQo;m!hdW5B&sTH? zS4D&dX=Ao_RICyuT)LQXku~h0P3-P_Yp}14)oshItYqS3EtDZ|c>5)Xr z8!%gKC7QKZC-q*rBQJE7 zo9y_=nPFs@{HBbQg6dASn?b>(XG!p-t!~9k2udFY*CU>n#aRmaK>f74A|Zx2s9o1M z5@?3mveYegH><#Cf!fxdSK)XAdp2*R>{tvGi3vt@xAv{9ba5=PU`t3N1>tF7Ik%Q} zX~k)@*OI^b?NQojBDaJH_mqZ@1S|K(Gs2IEcZPza-5hs>97U25CuqRQ1~E(dt4^%m zDe3G!Utc@i9G;)RPvM<=v}2;h`IWfXYqfGgk{GH%RpR~^wB#C@pCmECpz{+A_qw$t zp;_5SM#6>92gnZeqy;VW0Ozxu_JdKccY>1R_wpAWj;#cUg?TbcCi4S}mN7>G%_^fU z8y#dwSmmK2PJxflaTyQ*;xNkWp6p*r1MFxgGhB6|yO}gaJ-M89l^H!Mf5U|EJRCn1 ztm2T!-roCO_fj_MYuU4}vB6z#+%SBiV14tzVA_RE;kCAhK zky=*7jlAUQV}z8qsxC)7&y9Py6YIzEx7tNU8X@~0Z7*rp%P#p68E|Aku<=qancb@q zyBgMoWOsDwrOEBQJ&HR_8PM6*+iW003SI`R4DSMS)Yi9D+uh6Y7@mriRnG@_qdo$b zOz3PFBGn0e8i|BNPmYB2VtP~zQWITS9eGLU+Vi!4Y;10AZz%VnQ6Lj+5jQ&RECCr1 zMk5-Ua;LdQCd8XpC)8i}wCO3&XvLSkP@B3%2-gA>0;X9w(QEyJJhA0YD8^8>R-oV1 z>pOzT$c{g~aZP;G`r?vE1fido;6zM55D@;rDhbrBD*7JH_kxN(Z^fp|qh$(J$rfAM zU*DchE?=)Kw=ng~*dA?KYSrW!UcN{GQj~_1+W-xfa`v)5iZa}@&oltiwdIvSuymj` z@`ZZQ0}zWUBn%&B5iwN4>J5LF2^l`8RRb|!Ak>=9(1u~=M4eMPCvNCBl2`W_*E^OF zc6OjyE2!@vFC}z0&B`CFOuHr!#0po7UmFrnIWr=0iSk40^Tfwi$W>wb3Ovi^cS6tQ zM*tG|>{I1VcrLboUh+W#Xqps47B=9xxb-b{&SPR}+=FX?B>m zNPA=fR$d+@yNu^ev0B7n*Ru(k9PJTOQ$T8a{j(0ho=$>F06>NU`5--xiJ0D;=tHxD z4J{#%RUyld5@n_F!J8gpLzQy^V!?Aab}N>7RSUN2%_SjH4 zbe1@R5=w@?U_`^?>Gv_qg9_e{yz-)5?2YA_xiW0~xHv2kEKRWFV}NBM4r48gxIhH( zb(P+DT&GCxLe;B~>Q{5AHcqc<^`9m~qn8VzX*O2;Ya7xMAI( zo22_$)D|n9+K13#Q28KbiB!l1kY*u~TcRp{6`VaM6oCEZ1dHVO`gk>KwoP+7JWEuq zDU~!^oA};v%N2T#oCPEM2yK%SDaRdrt!2r+YqeNG66`COB9Qg%?NF@=4(lL_R`))` z5}je2Vf+ErEK5`_3K3}Tb*hTael~Vr9#(tu(*7u?2H@o=_(-uIyoIZxdiZN!fs%c# zX#$;Ud+(kMQfsc$R+Wp2J`-;6>J8_vY6KA27{Szf9PfJT$_njH>F9hc9t`_CRI4X+ zG+KFQz!rn^G(+*4s#?sIZg*;iB+mL}q+d#R`SS`@razDi1qL`^ z;v}zlpvsj~L2f=0TYR+){Xn?ROJ%5zLV*^Suk|)WI@hq@{g_stApmKji?4$Ww7c6I zYkPaJXt79{S`ve8*|Dp*N5V1Yfx~xl1lToksg8F9-lwSG$_C{R5J;W#DD5F6b~vDF z&MGty>yE)gx#k0i-nkkCXn@W+9jd;DYI30Fe^4&@pO9x&8h!h z_x+R={5ZA7POvd>8%jHH)!#%H)hsbC-MdUjdln^}sMp)gaGVIdQxt6+IV5gt7F1kS zZ__PJJA^ygk9e#V$CTfG`wY*53Sb0GlyO|P^#r?X85ce8B3FOn5=`{!cN!2;h9U~3 zP#v7*!;N`5b&}PeBEAr1nW^57lZ8iN4JdxH7lpt1UQ|-pslbZ1bbpV6SD1j2>>S0$ zJ}u_D_3A*tz{@5Y;fVZAkSE_^m`UZ9a)F74gal#6{X8Kw65d~0!YkaEnx(h*?jn#^ zj#n%K8}FXKzFPX}0M~E7b~m;YHbC`g^9U6@GJ})gmlJ`M)aRV%$qJ41)m_K%1Q!J{0b3VNj+s;I5eQ4aF~a{s|w}#Ztk0PPgCQdvNdQ{irTpb2Mh{ z%BRR>`(lJ-Xjm4ieK6}+k#Vp~8u-I~nZYwFj>wEX^I z@{r_W9eqqMj~`Z!R~GB4G$xp{JK`DM7`*L|hXct{XJI_m2Ro}f36GEHedvviQP(DN zV>5}&0I#a*xe1@oIV)RLiw{<5)H}!K>(7G~c3ZFm>^4vt|FFAUt2rbdazG9^jAyD~ zVAb#ev5Jzx@aL<@-4Lrf0D-$6!CdR@bFeZ(YX$-m0`}yzqqC~Q_S7nC` zq=bc!pt7?k+YZyZPV;fA;s%DNz(^*cqerG;9^AqIPKAx!TuN;8WJxQ2TFs`~F`Gf# z6U}~yppa>-S zz$@#&K6shWCaiK2%&eLdLi#9D;c}vP!_)_3FUb4qGA9H^WF}U{zd_CC`meAh+zUx3 z{+Q6a^KQ7kUKMJ$-&E&qKI=WsB_jW~V08(YI9hE?w45xMZ~{}TVQw*{Cjy&$&)jkRfh)8%+tHx~qfwL|!vG(wY%f_hCr$1p6Ad_YBr+GTzS zkzLFNSgV?36H3Tr%qw~H6qqt^5Tz&Pv6@v1C&7JpN*xHd zxR%yTo+@X()l<=JzSmLfS5Z$4|%OJ}(owf2o-!Z>{E_6h4rGX`)REU=h?bL{LvK zXH!bU#pt>l%He2@c@z|P00q~CVinLLXzIm-MbN}O11!23XvRAXv(c;qS_DlyFz(5X zq~=++T)>5>z5rl0ZUMlxkXnR%0rIds$rS`S+fDOa0ksgSCwiuIe9q8%`0Z;fsk#L2 z5>QG#+l-Y z!{Wao|D7J%ct*Qr)Ko$|X))uIHnexCR{vKLo$_k=$rH^0#h4tsq-d}ep+r#&$gum+ zbrKO&LDKKuL093LQY@rx4YVJoP;MoBZxT<Zr=Up%h4vOYsl+5~I_e@we4~vc$6qE%nafz-0C-w98l) zKrk8(zFtwG5qx@MRa@{lt=!7t7|y7u%`NaCVTOIbr&!*&a_rLO#`p@sdn=v5E* zc0M$SdmOw!{Yl&59jpPu7~rO@nffo8(u6+1z)Vesc=*^IU7a8npbY4+^Uo{Xk*PIs zaw5?sv3b#|>|2W4Z_5c`CM7R?S*}e5$+O><0|tTrfn?}UONWtz(G?M37C(e@KivN) zE?Fl~H5*^_RA>1+NKrZ8S$^!lR+huB2jSPl@GF#9`5~m?g2t~Bej=_+R(o zCO9e%!yn)R6NMisX4VSO>yFeIISD&==e0ATfEEN%f;jejWa^~n!gZ+MTB2GqsR@ir zb+5hc;8$AJdF`Kp&V&*N@oRCZFE2k>f3Ugrm(^jR>3}vkUq0q|x`BiI)e$7wm?6(8{lk~3zU4(y%?19 z<`J1RqPf5-9-s>B8lEn%F7Xdeqbw0lJRg`Uf067s+p#D)A3W@fT6g3ga;_DE<=9yZ z+`$uqc>$SUuye*xZHc$VU=SD(9^Q(~v8pZ^_r(|{{El41kh&Lg z)j`dMVqxT9RAnQOfieSlX@bdKd;tLGeh34&=?#rNg-xx>RQ@ zW%XC7?EfY}RY_<9r~Q$(>%U8--zZRJ`SHbw9skI`u`{@p(`L*e!6|$s75lXv>?v?| zw?`{BnLbI5@2^y5^4*mpg%0)p&@RNs29SL~GOf%b;6X+#>4&T#enbGA@VEy@r!6SvDTXEoyKRmm zo%R_HgAtY+GZD)I4n**BVio$(T9dkgK%S5xL2JlxOf1p9ePjSTJu%4j#?n^+B?$#U zt7WH`3&iEvaQ;+DBp`P9 zsf*WD#I?Z?OjBa(0OhOXNAPsh?O>LWw5@rz&s%W4!SMr zI{zl<;Zxa;=e^|>sMY@{rT8}~rHsQMs~g;U;W>(`!o9w{$S4)~@2nDi5>mpn1oC8$ zI0|a=taVlWn`oN;zE7b7gx|5p`l8Qk1oD@68#?U+AbNSCGEm+Fs>nle)fHRnp285m zUuxKJuhnTBz?OThzJedvbg$L%{*PaaaPU1b$3cLh9O5esx=k6mH@u38kY;Dy&P5x~ z9H`&i{o3*V!O;#}r@6JawbJtVDI0yUAFx7EwmMZSf%vuD^7*}Jh z3qaR@zV#o(6BjM23--~}aP#FRSpxdV1So7-cmtI{cN>7->A{WQ;)1vPOq0XAAl=@( zcc31w;P8UKso|Fc9{P#tm>9RUK|UrS22epv zNorq{fXzmE+y>mlt};`M6O$qOFWN(U!ws^g)LqN!=vmwh{e9ma#{Q}S0^gH*0qCU5 z3eJQ{@a_K3Ga&o#hx>aopn6TxSo4_UA-LGxhWZun5s~IUM*ZGIAtBp^3qFRKP%b9I z3f#Bv~N7$&4&RXCPF2iRP1K z!PSht;-6R%zHkgNDgthNd@yLA((nNQ`+yw=7N$>~+NbUX0=FajdJSsjNBUR5+(d81 z&!ZYx7cKzU@bLyJo}?Mik7}wE;N>DlM?&;LvJq4{y7Pa+6*t@<@)4kvx7O}9-pC)#$=fU!$hwOBoPz2oTZ{oa#c8Ca@q!q!pdRLcpJ&C{} zr3gy398)ACFO~`se_0}pW+T~aVCyC$t?Ra=+ZrCiLq}_24{_f{c>4LG+v@jHsv~JQm$yntlPU*VV&M(@-V-U!^`&g7fZ4!U#oKy-P5BVikbs zav{+wubY98Td9b-vkCEv)f??dKRu+vEEm?RZcQgKJL{u3fYNgV!hk4aTuhvT zaFuLrYziGBE+xV|^1%Igt;tvdf_-}u8DJ!DO5f6Qq zHe}XwZs=wVJeGPt$hhG7HUVUQ@0L4H9oTCKu_z%iuI{aEX@oRZyK>5|rJ zWMKtRX&C+X=AzqND!82JA)37Z$j@Y#D(J!B#$>W9i2f@a19%E{zxF`7Cu5T#F=l^hy z=aacma4?u$^xJQ5C=3tg;gs@srWZe(UVPh&{|Ta=-cF!^|Dw4K-Zh%uJbttF>JSz? z0308@+F}e-Pnx466-=Q`zOdP8zl95m)KwQJIrF0OddxbZl=ejUCu#%(uHl|&kgno( zE+M**-Ii0s#{5VUnip3mK^ZH1Z5;=rvy7~Y%47H(!4l85k`8Vl+>HMZ2I`G^==#PF zo-P4t5O^g&?(83?2zC3Tn76yL z_xk5pGnAgI>zMm;eFG)gbZLh!HJ(6sc+|(_5EWH2h-?ui7cHV4}XaLw3$8AJoTueqe0%1sUpmb0$1H%6Z z)k~T|v_}6Qvv8mlP(0W_+(}3WJ*b<|=HT$57i80e(Zg6$%@#XHTQ3iphf52%c)c@* zUr7;$&I!^#g~8?}fe3FdDTLg6%OGCw?QHCCZV4V}2Zv*P1}@fse2ReeU2Ws42l@?1 zCl?9C(a!G9(SL**#@!1Tabo_#`o`bZpYOH3u zopv^36h=7(FlKR&b>Qq;FyMcXkJutv9`9hw|1=MuF`I8|`2UcN&n(YNvRdS^WU^F< zP-)mMI)sac_D*55Fjve#B?HC?>tB5AtP`YERJ43kc(-Bn$ym2fI z)#hbC5`bloGXH1Vd`4HT_d%tC3J=|fE22xox6%wnb}>a4faN;z? zCEI-Lik;C+U!uK8SOgfLN{*Tv%z}HT)CE04G$ctAM{bxcdM$1{EzW@C06F;^+dx6h z5ru~iX71dr$#CzMA8_!Fg{C5RG8~?KZcwYT7vm)%b3^BK^*fTBx|8?f>*!~M2vxil zP+%Z8)yV+J7kuRmtdT20n5fPGe3L2+u=sm(^GN*oI;@WNSugJwdrPu`8TGtQPZk@T z+en6$nJ4++Ur>&ySh|@hI`DGnnMWC^WI(=x!{MUChwQyJQ%m8Cja#OTy0WU*$V-3o zA-agJ_B^!1aS9k59bp{YlOB;c?Z~+v1!3*v`~+^~W9NIpR++w8U-+{Jw+;SKssV&v zcmCNp!JF<2czj&Cg6pkowNn^S+opB|NW`-)K(0=L9G4(bWmTQ$r8*HWqq6n$Qk_pH z)TtyZV(@o|c51_WQAiwyW=;nhjA;BtJ0ccfqUm6~ zgplM9Nq>U#is6{1*7uG2)3v%W28oTL=N(1HYk2}Ux5h)=v{ctntYBPG0mYrU43bGQ z6jqBU-~rC8BR8V3T0r6AwkQ-a==`$+gK2&EdjSJwgvphNpi^p--MzcU7V;TpJqN}) z#YBP)navw@Ds@3=iDA-(N#ufoZ?}2Ok`Zn%7u0mtQ!1mv4`OyCUKg?sR0_mzzNu}| zS>TD9=CTs^u{SPk)og!5;R(MJ-aa~P4ZDMJ<4m{8)|vhY+Z&j;@t_gYVL{*@ku=_G~tn92o|1Fyk%xs*+Oozz9lM+ zBVy7$P<*OFlQe@yosV?cv%zFn8s2tdC4h91(p&|cS1+-?C|%Ve!m{veh4Du=xlQIb z&AET|DJKe+>{1J=7saS&3f(@vry0zWl)zLjgj}#&>u%QwUznqU zq+XJ$<^@@*vpFG7v{b55s zZR0K}VDdhqQNji~e8R)ZPEiNKl>bQsSLBmkrY9~_=nyYhL;Zoa1NFeE;an0%oz3s# z@U($yLOIlR!rA_Yt0L7F&0d`RIWU`mkYr}z3UEsRK+M6PcH zabywhR7Q?Ev|Lf#W0mQS-s41~F>f1Narb`rj&2D{Fmzdq`NYEolE%F@<2c9)6Fsy9 z8`L)(ACHDD_ycqXScW9ko<1Tys-%+%w~_|$*0`4^|LEfkVTAY3w2#(=Q!w@DVv*s7aba5IJ9=eYA4 z-nV+P67Olf8v}nu14}YYnsO!y8>0;~UW`N2%h}uR?k(4>c-`GAVR%x#aEwQ6=vXeB zVQ$+b3JfJ@;}I{6#ocnD$KowSh(UiqP|OP~<%*B|`4*?FhO)Hg{4AN_Aor3HXSVcS zE}Hgp<3qW7NQ&@0CgSARocv}SPk7QxUDNu0DI>KZ2WEcW0y0P+*x&ipP5Q9-NTFuT zzPu0dFccRhuf`X6HaYF0vb{ZgAl@F~5rnK+Kd!6Jm0KbqOWkF1dU*Lv7Trv`s;baS z2?k|~D*a#9>Izt+=@|K_*tYNnd-%Tp30Dv}GNUyM@96b7YCaoqGZB6c!>s!{L(oH| zdX^{kTsP+Tpwr0-9K_V1>66d=L$!odV<>sE36o~i?#B6Pr`f!UDFrvX!|;0@o>bu@ z3949e3o~of`&l`MGDw?Dh4B;+Hm(&3H_D|DaH)8Ag;|8SO%23dkOO%XxDt0#C!Z>r zEp?}%1B2Ad3SX)o!vT?Zl-=F^Urv?;;1^ngzbZID`T)|=gL+1fzLJT^f zNw%2CWq%l}2_X0Vts>pRO0vzrxRurl!j1Lg5OSdLi6%b3e$30q25R?&CEJp~ns6S2 zTc#GWRBLOLC5HMB-uHW-U*VcnmVG|#Uk#X=m$Iscr3_jPdgbKzINN8c)}76aYLt~y zXYe}XEnd;kvsEdeovz6w0XJ2c*IH6`GdKaC@1Ax3S!>+o;sU}f+`l(kfEeWL6U|Gv zbl#d7N_YjAWoeOuOXds}NWWmOhR=aqh;HUs8qtIX(Xb3);6Y}Hjv2QyzIT3Xl7^e8xJ}5d^D%zWtX_!1j?^x z8__cKGf0d_6*JLz<5@CJL=OqD|Li*x2G3d13_i@ljd)||pI3M7a4(HGs>;I+pRvj~c zp<0s_DJ9@W`S#B9*RR&)PSF$Q&pxAt9yLdYJk9_|h52iJjcAu}I9h-8eCy~?8qctW zkj5ca4L&U5Nxo1j2>_w7qdg<*6&q2!Q8+qd-9WZ&@cCsQQERv(9AbAS{DhbVwfE!k zVDw~Z=^PgNtJ5ZQfF(0x_}|4A3NC%>e&`bIswtK)3BY##;MG14;ty+2OnPMNZ|Zgg zhY(yJ9}A~@Jy?>-7g&^C6Jnhc8V}O3u=MC;la{@#B)5$2HbuW^1rq&b-uYV$N;S$*b~ z=@rg{N9AA5E-R1{BnWuzNm_{|PoR@jm#o3RJ2kXIuFoKoQbDY8PwGMNiP8NCDlQ)5 z15ns63vO9DCv_KdQzWwlHR|EmvU}0SE6xjZx;l&9psR<%YBH$L$=ZU|rsX?MP02>e z*v#5PBR-9|R%ehYUWAJy%hBaOD*q`|)I_zS5iByw8rB@l9!eqk!=q3=yijmRMLO4~ zHR==yjpfK!HkX6U)L>pDX%c)!M3v!;v%u9;qyWK9&Ep`>DB_fP;5A9UFl=OP>0vd%*e9k%W8g!atzMqMNv(@m1z2&#T0vZBwcuYmckwqz zcgsB^nE*LJqaw{d71j*5Og7MJ8X9_nS7x#oI}{@LX$KOc<8m1ZCucb0 zNWOu)SBP6Ztt%3B6E4g=#id5WBH`}FW+FQB9Ngc~(I`dhVpo-_W(0eM1c*Jc#qA}w zuc56OYNUf+>-|`(^F|jnCCS2r2I$`ByeJ+|U?TmxvwHRskb8(b_sh$54#R}uB#t(g zwDDpriKLI4b0i<-4P(JB=`@LHxp)SlVn0TouLp9UTmvLErq; zNb&)5Q#*KFPVIQo9h|jXostA=p02$lCT^=G2Q;lmm}6uH(V);cj#_@C_No;B%yxI>r8W-w{dzinYRkS*YR+@^2wnbgv$+xYMD zs6B-us(bGusj{HVUbYFd&Q%AtHE2b3nF67P4zBoCmJO)Vs_h?{Ll-f5;to-l@EyPr z^m#QdV0_IkG{sqK{}Sfr1A8eTry(w^UOS`He~l74XYrbxiGf*C)+XXTEFQ-7FR=OB z-~xX=UPH*0DN6+lCW}R^$Ht=_*S=($BrBquzonuGtkcCR0pn88eNJj{zD$cdn3e^> z#BiuI(W0bCi(5WTG-+bzaat^;Z;8=@G<%k0fjUqO3S%Knvrl@5JHcGTMWuKvh&C@v za&iDzLaNM&0V!TOcYdfu3cGa9V_i0t*Fg|ssUMc3_=vYp(gUahVQGbv3FW7*68zvi z^x0#JhwLkvr-J_YehnXSvn)B3^%?qaI02pAj6vJnfdE`b)2_rPelC-=810h)PA!@b zhod4{D<+~B(YUME|qJQJQxw|4ETHu z*h=&sA={y+Wz)kGbuO4p&~Zx33TI>mC1u8WRjrk0nzoX^&_lsnId#2Kv9Fe%5w@1@ z0s`<(uXSVmeb8RberWCg;vh4V=9QmI{@E^c<}xJ5);2Y(E#r$9ExK+^YPDQ0Cb1*$y|1`!x2<2Dbvi z8%KCcHqM=zU_NnhXR6soxDvKF7=>ZBxA3qGLOxksj!}(!7Jkb~WvzvnH~q`*f5~YD z?>!+nMNI~)c{{v|xJG52a4ht!t4eVF(3mt^W6W8HfDq z@0h5tU|^3bSF|IykXL2TqC5I3l1@dfssLV;HOoxaiY7JSWnC z`P2eZH8Qms-FEgqOAG(cn!bwq?dCzWMdb`pH73P5^Lx!-wekH=n!p*8{7;?1|6QhQ zOD$VexZGlzP1;(ds^`jsgqiH_FPz-w|p=++TVa;&lZ?QN`#4CvZ zilz%VSK0M5?5A;v>NfeIKsAd5NNfi~}wW#i9 z+Yv{1XY@*+PC}qzQ4u`DO$0SN^~g33Y3pT8;rC(MqTa5@S*q}G)=g4oloh9AsJcuU zvO<-y)2&+#!M>h|g)zt^N-^{IX6qqN9Y~)HV;56Cx-$zu=hRC1r}}Y$Wd{?^Ff)8i zpDmrm)^Hr$gP%Mdpy2<+7Xc7Cy9wnK&oTGU#^MSk8<8a($o&X!C_llhYtbjyHx$Ob zp0jHf{(kBDi9{x>mXVl8kvi^wz!C*O3i1002{nHI=0qMi z)&#!O#;EWUn}jtR>L0>_er=OCwqUFTC)OES3BItuN8fnZHML`bjPTwghk=e?=IUE# zXV`P2VEqlw(mU7ubam1yJ5T_HUts5L0rio)t!3K#CrmB z^@sZBQFHlNu3{elc#OEDbM-Xgp(W@a$^K4@eb!hYXG zwA8u!_f4tw`zBtr=NI0No1wGtx)Dmx(AmO7xRH)PC++6^{a~W=c!&dM*Hm>C z6}M+ON)*FhaH4YqpWgRU&$_we^$mLci~oRX8Fjc&m6IP=CgbJPD(Drwa8gmp%ERj9 z@2Zo3s7}Vysi<3S0%-(-YCR4b7_N*oTLWGW3&+56Pl7%M{Ne6f0ute)lNP5WN@K^U zO0gG^wOlfES+{h~UQLj^_&EnG3Z9Q?iXcO16bpkSe!0>8k$q7~1h+eW4E$0UT>-79 z*r!6tND?$upC^pqA%DRgSS+EZB(xwn5D?ptGlFd(G%DmM_-1!lNJl&6#0~nuq<~<2 z@!Tz>!J_mbOKQDOKYhI2-_}*)jwH-xy$=EKw$6ZZ zSHl+6D0=Ym6Ujw?#YGN9BzHPX_~{ARx_?Q*26b%ScauT?cd&+#SeD zIvO_>cQ}MHE5UbUvRizW0x-xg3%MMz=-wXZ52uX)*JZ6ig-|A@d1A~*85C%(H!q?)$XqHN?N%a zoHxN$SLR51?=to7B&2&AhZ!dKue9DQpD%#4PloMn=d{99RGbt33H^*Ty)VdxD`zF%^%`uyLYeF?j`b9>F!q z#m`tSvREFt3cO$+14PKsBDUADFWZ-R1+W6P;DjI>XM;c!+ZQKME@mIs*XbvwRQd^X zf!BM{#z@DH9IE$Wo3A!{7*$-4=IFc)!H8OwFOD&UZU{@|rNv7| zE}%B*d`^)UP(9BAZQ=&4r|{a&JhtSV^AqQ>_Sud{DyAsi~k(`A zt2Jp;=s#ABjg19dr(56MJ>J;fU4MSKFdr7XyfH-izIAhmb1SH44gUOdXz}NtLz`eK zQp?szBSwjSVwyzn81O+!$R+w3Z{=o7C4~vPH<98XrQFOGIKfcI07?N@K@??m;!^L* z0@Dks0;sL`-OsE&hB(5w2D*vTjvz?@w3^{ASw(V9t|E+1H!|?M@!iJZ&hFOU(E_hk z-EC~|zuMS3-r3vOeZ9Gbcaw10`0iivLifvU{Am33$-R5f0oL$egifk0wvf0=W*1}; z$W7=rVFeHCo=PSqj@}`SQ?d92g9d6SKf(ZZpZwZ^@jmt2>`wDd0+7Q&VF`ttzhtT7 z)j9no10`ZX#6be`9v&Q`J%{DCVO4p=N1|f96SNauZ9|c4_MYOYt`EYy;Htc(ZJ_2p zHM2LvQnIR~G9tFZIbr-e6kO>g9<&{5b<+E3-6^R+X-ihW)-7`*750)WN}5kO!t)<) zW{^#bN+IXq)b^AEOyjQT2Ro~|kk{ne79J;5vBJ8`5+SQ2-CVq7HKyHy@zujWR1J}1 zdkd|+IOpy*UTqz2?7uvK^jfVg?juyg*;$x%DnbEa0!=3t>Eatkl}2IbRvO{kEdR!` zx8QzE6&Xua>14Wyk{4pj;i_%yD&l*uRuXrLs}* zck)_mb2@%`qf?X!SyphWs~y))lKA{*tG3mcsGVGcnCrUc|7*ikj+m27Rz|^6m2&BW zF2FP;fh15f-QXl5N%jYTkZcG`>ce4u^`#pEvI%P*{)>r%?Iapka!FI!Em2M{U$kSx zCJttsG*Ua*QirwNL^`P|o3gQ!G32G4*_thKY-FuuSyQf4(BH6_M#fPZk#ieb--7Ue z5cd}_YKXpMYccmHoSWRB7{AMdf<+j{b5mrq;Yn%7cjKs;VPhfAIW|a>;S;%-lu4;= zzoAzK6^du_))0PjE*9B%eR#D0avK}Hv`|7VU3+g{ zE+Pxcc1BMgH25hvMl`6A<1P_ZKr>4XC>GKaEMg3nWE~9}Wn%NGZcBw&w9e5UCqpRp&G|U#z(;hbAj0Vp$wT;=c zUR?Chm2gFT&`cj|QmTU_Sk|9lzk@iLh|0tt6shQ!Mn|Jv3p#W7=26VT!H4r5#^0{U zVtNx^E2A-_fU3fOwE%J+?y91cRp@{f5V2kYiB`7gv=b@i05ufLutNu;RZRxIdX(*8U@|IZT{KkO)`-@HKO<^6 z4iet1#D&+_5uID`VLW2hZ377my$H38{+mh*hVG-$ zw68W(t33w4I@ov-NDlv%tgIZm#>rE9`XD3509R`-r3zm zIwr94ApTVLZX+1H)KwwvV$z|7CxUOzk(27oogC5{V}DEY3szeCMiq%7%g^Npa2t=$ zWBD7pwIBT{()JDiDUHV-<}JtcX>5E%0a*}us^@XV#EvXkIQf$@M8WGg|C7Cz0EYFf z7NYa&!!9)(2hm2Qp*)QU@YX^)YL^9@73i4DqhHVvYC85(^HdbBuV=#n2O-r+{QUE8 z$Kr%;#gJ+@5MupRH4f{qeme@o31flTO9OM>K=ndwN9+Y&An(-RS10Q%*1efDtfVT0 zL>Dh*S>e!s(g-KFT#&C|6qP(S*$iLMz^Z0GHelh9zks9it4U98O_D~Wm}jw^j1=uR zY*bd@=3XDdRra+^gVTX}T~+K)y`uXJ2UVXzV1qG8ZK~I`T6VlvrlnV2*?rHvMc1te z1d&Z}_AW_Or30F4DeY{CSEy9yXs(XHIV3uK;3bqz1S4o`-kH!a3A7kx5Q zsDE*Hq#4fIcwyk5)qT+}YKtV6-8yixPz&ANl&uhGBg=T@ zzDTO7WHWldRE|}kPMp7Cw7hvdr+Zi)6Df(lz$!GMN%4y*v}*e*xAhI0hv7Y5S!yi* zWQb_CW0;BHman_7`08%5B$>{E(M1PEO#9ik=&aP!sCI;XO|2G7K)HWqfrT3`SP&Bi z?@Q3gHNQA)!Qz5&P4jwKo>xeVlb#Ba0b*}n+snUII65LK*5G`jFC7&oPoxH#It;-Je$w(Q`6kyNja#p_yY(bgl|X6lsY zU;~669)$V!+X9qtPK_H<9UKNqXaCf-1EeeacF18Fg>JH$OKDW@G-zK8FPj^SU^LsF zD20(3L`|h2PIU$V+h;B;lLbw=Q>1SvUFcB25-VgV=0qYy{fjfA%HU8?iM$6U>?+x{-O$^0>AH3eT;Z9j~XXXB}D z2@QJ)`N}}A`d&!zr^b~jo;aFk-T|V|LfOJ2>$nGTXeAHgWlyB;bzmg(H$w%^d?`-l z-Sg)c{ZoXF;`O3z{yI9r2Uz0E51Lowv&Rzb1?K~Js){>x2OW0$i~)=0zOqsUHND0nwlEz8xYY`&jye zhz2kH`fN?FdDQftN6iUa+lDp!er;PGA*kW98{eL;-D@|OmtpL&Iz4)`kE4Ov4fi{R zs)daUCGBObJuw_r4oW4Zu{iU^4LIox$Ig?o(rNE|gY4w^wr>cOyuVbXci&Ahb5R$l zMxn>cAwA(Rb_i!d`WPtE<(LxVif6KWXINf8iE4MQ`|#2WarNQGH1J0a z@G2mlWX&?Wo`+jLeDEMGh+PHC3XX$-V;6 z2vS)^KLUtV630W#hJ*?}-B#+!IV^XL`rUgCK0DqRwcMZU_ps6EiTdP3kk)yeDuSk#g+AkKYsW9=A-X7w;oUFaZlz6_$~YmT`;*;Knydbk`ZlW z%U#q_u}z*qQ4K6Y;?z=;_InqME)3~$M@j{so zcyNmflM`E3Z;?SDY{>*D$3I{N&9` zDMmY&^jqf!URI7-C&?3D*B&;wWBHN7f*ue#r}zY(z$@H#8mCMjTXcWpDuSesT z@;LI1$aDI6bsp#&XwnfkaFIH(IFxrBFs>I^^S;R`^gdE3w?~EIOr~q#h7vq9B(yWz zm@o0<==h|n&yLw9s0?E=Ep^Q@u|q;Y1j&5a@@T1-g^sq3%vey)x!7Z8Kc7vsJn+6){k-WZmsEUOE{ z|KVPFZ+~wqS?svdv0ox{o6CP_uQ({Bo`F;q8|zekh(zQ99E=AlCp3kNBj&QW07sQR zy#UC4bh6E{>5kIQ^}cb8Y|rzPq-}R?)xaf9N(|=7J+*_71AU{CjU;j^5km;6#448xnVa_KkhP){!FgTxtT+@K56!Q)x_`L|u-vz5 z9ZRlGCb}o~!<6%8sgd=?Cv9mv*9Zmyxy!m>t5H@sOc7llr;)FcgwVt3dr@W0RC)qi z@^A;Co#7RMo!>bg6`;i~v5LuwQnxuIvt4OyL1U}1hr(h9+N)>qrN^r#CU1@rV297(9>cBR<@(;HsR9OjC{Ktv zENa0SvV`WNwh7lpbXs5Iy zKML5Gmdm!7UP;YK=MIj#j_TA=a!?x?QljGgN4J}%WPu>zIA^Zc`J@(j1hYe&z;gsl zq^lHQBpxK9DWMPVp&7}27)j612N3m&Fs=jWAp;`c^*RtZor1-mz`n6k_jnXlH-tVF zj5;E3wh=awse0@$Eh4Js;>VQ-3`!>f9*${Y85y2ma0HE`B0Pq*J{Zs}{FBttY1`-F z7&4#*ZwltAal<}dLV}8vLdISn@6X}y>#>{+MOd*s$-{cuv>$+r7L29|x$*6{^5+i! zyL~5tmR>lbb2wS&{~&T}b@Zu@-*~XE-5>WldIb-u_^HqM(J=dyOEZ+oC5bD{7PQk( zs(gV~&H*>D7A);FO{R5VL$WZJ)`4K2UWb9J)!3@wNp@PESEwgeKwx`(){2W~@XehO zuj0xsNCh|bLyA{nFQwJvGVMf01SzaANzZu{VKFib)bbp#E~l$ zX~Zc5jGmYASj$)dk44JFQSRS%|0mRf_=?~81n_!=Xw!C;s-~$M7{cSm6)nu8th6XcLdX%fRx1a%Dzz;?Wcz9Y*g!MynV^x3)dq%$B zT84<5(#yb#E&#*9E0nF(zwkL&Bj{S4aV2ZG>fCR`cWbTw`e=Lcas4k0(rh+1IN-NW z(PF*MbxY$;ZvektV1FEWl0&0$w;5oa@0RJ;;ZH}qKdnJNAf&GdSv$QLOTD2Lns)*f zoAL}aHB0S4wT?OSv678vI6f;rDqQ!`giQrJZHH|9lPN*SisR8_rBn#Tm`qq%$;tW? zk28aw%~9~l80mI^N|a`5o>{B^2QEj-b17bH(wLaxMF*Q!)x^@OhQ-4xoS$OlN~C0R zg0=dlI~*f&p}W$3t_7qyrg|PF+Dua4bvF~3S{-fMt4qb|EF!p=+ik4eH33@ch)25# z_wzM6&qn%kdK)ux5UsGPe+Uaz8cot2JhvxdH}AJ!Jz->My!C`%bQ@4WCHwrgwle47 z73Fal%?r`gH~5d6qqJX7*J=;6jq*fqUc&Uz9b9w{5;BC^!WL zY#u?l`e$$#LvZ$Sh=>1l%)!yTLu$}ku5iEUv{Um!x1==4+oQZrgq0EC=VeNzZ!yx=XJ=Qm#yzecFvMM+$S$aMvBISa)Ujy1GsioR=W?x;Yb!Xzc@FDgs=HdQH-y|&Yqi{*%%T$0l&U6TH9?)6 zR8L8>{MEyRg)U)Y1ru{44VmjSw*^BgpJ*D) z@!9nP!G;-{Kc@Wq;r?Fw{qh8xxw-mo|I^OtaPp(Y~buejVcNI%#|T z;$jDJkxzQ#F1E7Ff7Tg8&5(jGEs8r{+2J9?;b-*ndgFbkC9VQe+57${i(0eG*UeEL z>iQ{85NxJCi>Wwf^wrtV4$hq{xHxM7W}HjqoSD z@wJia6AZR#iUcMH7((Ggs0K&-oBL0ohjd3!pgN=8JPrV`rLN%x)b};e_(SL4{!JKy z`{SFiC6Uxt0?6M$s!d`kJoMt^LUgrxy_J76lhVxJaqFa^~C^h^zDWny4*_qm-xgR^4^y#l+TPWucO zEOD=6Iw`8(Oh`Bpa-;tV?bm-g8OnUv8V*GsPMZwvehW8orjqHl-RiffzfP?(^kr6B zsax^yjHy=o`y>005fyR~3%?t)bj1mcm!_r?R%YNW2Mk>JvD+c%OvW~!*_kwMcLxt> zII82v%JMR;LH6@8f1dFvfKOdreJ)RM)vo_Zxbv)gy?)U>8681P5)iX-0M8LVdBYlT zek4ViH;sXTJe-RG^xKeE`rgo%vh5!@6cTo>OZ&*zc1UQ3!gX0(6;&ZGSG@~;C}xbi z2Y~pPjK(wyo6YNw6xi0p?L;T0p8OB-q1Tb@1_K zefRYiNRaHqkh<}{4<)H~QrpCqUh4o%%ImP7i=G1ow|m|lpIp>l@*$%J5)mgBGz5TX zK(+ewz1Owpn;W$TzC)g(-T>U> z0cbH9OMG=Q4hwYiT;A7e3Kr9#$8%v#wRa8sBDy=yLSOCgRA}(2Cli&zTK!~r`4OT) zfBYan2=x6U{=DoCz=rx)QvePsmKDv9(2}5^`b&o_h06D~sJYkbFMobrSqdIe9SL>w z9(F1C(qf}r`vTpZXFW%}aW$$}v?X`4w1K1dSC^-iRr4GOFoWj7`o`bZpYQBFrv+4w z#+$0DHIFGV-|Au3clBSI=@#8@R7j+h*~_ulNt2}1l)^uJWut|1w`=sruWYnXuA)(8 zQ9QIKLn?f#KWS@j)cY0=F95)qCiqzDsk+@lafqf(Y_?SghYb5&j%lsFZof%i+87ZH zRJs2M8_&0crtv>t(a1{HFZ(!!$3xZ=l}Xv+o}6|eRVFW1K{ZMRPn{18QfBk-nd}nb zpUxfEG{J4X!d$+cVCCemP}{lRYrV(*)1>uRbmLL;d(ap=q`l3*)t)0ThE+A<>t3QR zJZk>Pem>+QTn;E!qXhJ!98>`Yl@U}5>hoXI$T1r8b+p@3z9%QN*x6#>c;1RJ7+>&0 z0DqqMuJ{Lct#L0Ezos=mra0k-6L7ahLdvowib(vylb4iWGcy1JWu4Bd=av^DwL7Ql zP#Og+tOuMdlin+`!~WzvBBa1@B$ou^yG)$9_F0Tu-4X8Yp8H)MQRWiYs4sY3GCn?xwa@e$EMz>XvA&=_JV*nr+m2hTQXn9y z>EVfICEi(N6LzIF#uWf{%z&1GQ%rsALdBCiz|Lzo zcjTc;Q{c#|;dYTqXdDS(&${1hbw~|w7#+0w^+k;&3t$rCt#2@iib)@Jf@H%(7yaMTv%EWkyOWm$t5%h5#3${2~IM= zby`>Ol&~?jPa9)_==ZiD9|I5IV;X;jd)u}U7@t%9GJ&Zxyf_gEpfeyZn6f`7S+N`k z68Na%_o4GyJ)d+npwlQkix56t-$FNBq)MT0Ca+mo3b>G>wkiLr7waPE30t`A&&_@UzIgt-5S0mxTVrvKZ#87b(T|59bVU^3&5NZBFGEehGq%~sUL)X zCQ@?LO_<({SuI;@1hv&Q!_6wmkxRIY#*nn3`!xjNAX5IXg08%1nwQZL;eSD1{_%@u zzArJg%bqR~VmM}DBO;|SI_B8tRb*sEX28rS>ne8zqS3oi#~-ATrbBvGcb+B9C_C6? zA90Q(vufl7>(Z1lOMKySXGb&R{X^X^#n(`L8GS0-r5=l5z#ZQh;rG!X&uI_?1ttOa zq$E2VO(q3As0f;Y3alDl&PN?ES@Bn+E~I%9ADGY<$qY0eLLI_IZ&84Vk(0b}a{n}V zgq)~b=4$O!evpnj^P;mU8XOOOX5bgA_qtN&)Dmm9uV6CLWd)sYa>#VD22)DEj zYy&_h(2j);rILt`k-SH^0hyGv=UV+7B-zVU`oC;EAK`~3QhHOS$gf| zE#*R-_QD+zq>J_qnQ-w%Af6y<4YsxCjN)Q@M*u@Og-q4eYOxP?Ntn6fDzZ{(6bnXQ zEveQHbi!NLIaR>fGpX8;rJ5il?r_3F&}qwT(8_`mVO!x-J1IEzAOa!*o_w7(K1pb8Le#|Fj+dYPOjm zCq)VYLp5W0Bv6)8f@J(a3xG-Jx%5ay60RSA&%X%Cdif9!k;C4Il;iIoc_I!{n27(U z;w43bdmp~)i+bq@HbfWz^nQvY!#;>K9zul)6}p2_NP}`3Ej)Og(h83d>pQg6mT=GC z2;-dzvrkINU`3Epz)?YaLf7kyyNkO^SEJ#Qq8z%PW$-*{a&LA^Evk;Ej51@#N_E5t zJP5xYr?Jt8L`;Le$}m_px9Afe4aZ<#*1{LIBl_pxPsleQ{S-#T)4V&JOk}SigrgK%yEOwm{^{GdVtlZ@>~u( z=30aH-lczcq~pnDVTKlz@`A}sM4X6%iT%O?hE$O)E@S^&$x}z_Yh|jJw@y{a)qIva zJldO0>X|yiKw^J{7=zHJ-F{X{M!@;HUAMhKpe0?E$&||U34(0me8cGhCZ)RlQAqzT z@=DY;6_mIHbs=J_%ja#1v!01Mk0@!`nKZUn9v-@K7SANr*h(tSY&P9S7`afGO^}-~ zx`nKWGQvd-6wTlVA|#^Lt_zpE?r6V%VMtD>H()neE^tF0FK???!{$+P;UZo~7s5heU5E{(s z8p@}B_snbcKT0aR@AXsN@G~!bW^4j#8@C)U=%9*Y&Jh#ocbL29GxbH1N*8^m{hXx1 zO`l27I+3W(`uv6i?4`KvAE?(p(=ZvhFab{d_n8EHusHI+ihle|?z6JgnV*U0bZB>v zekNSuh;FRj{cqH-o~fjOHTrym3D)eIl!vly?*39G-R~qxeEucr8cFM!<3E#erpMDt zHPm{pa^bbpd3GV*63hOz!~@tSk2dtY~^6 zfSHhy><6|Qi8sG6A)NB@7l=kL|25^jeTD)qWYE>oJ@-qwBe?Wa!PJJtr_s#3<+SB7zt>(wal~o}5z5*;? zR|2f8H~@ZCA&~%lt_I*nNxHJ~=q7;wss?~xpVa`@u?j-01b_!8l>ic8L2$sYsu~Oc z&NknEJDpSlGM!igGM!usGL>KoGL>WsGL>iwGL>usGM#V=GKF-QqR}0~?-~dbL*n#5 z$(YfVh+2mXzP){a5mSuP>Pj2TiPd3C9Nku_?dLSHB?4Sk*RO zIgwIn;-MC(<8}B5c{qSiNeL9F47y@;nX}r@4t6-lkulP{SZUL|A-R1rf&wfy7>M)~ z2Y#Sj(Z^IOSbxJulOSJPgR8ZZk0PVr{QMwGW0(b$r~e9;HT=AjPiPUJAsg_*Rscbbi77^`DTpU5i*%~j`l@Za#@q-KRRcL9GnnpZ6HhRn z%XL_(szNK0YPm_4i!{*g%6r`a0s~zKN*RHmJwZ?6Stm^r0?{mM6S+lE3gf*PaEzQb zu&^BQHA{$^;Yl^SSVT@?(JtF8dl;tqyK^cTX*t#4WgWR$aIh&ove1%rpQ<~AbNQmFinaj~f=(u0m%Iv+- zW~4XCmdhAeCrzd~D~T*0*R|p{vU+ef!SLK)H~)EsyEJWK6)R?z!B`jf_*2Gtvt3zL zv@s^LM={Se`3&`V+iF^qFDkH)CG!r1OJP$htms21X!Th)?r`SWZK(K2vzghjsHIlj z2szPe%RPYHtXdN)q5_qXX={3WX@wpeJbn+ib>16lIy#{yF?DI+&EcRrlgOILa6?7zQW0)Zk_l zD7Po#OS{Bmo_dQf=Ja!oYHR!a;*J^=UEoFWbn_4uZ}k0t+>?L*`kv_dMDA&cjlYUh zt{I}Aku!P!9L{+RwxH^2S<_5GND`luNii@Q4n_;-e#Pp8eOeh8Wf<7fYf&C$88Lf- z4Zc)pz04#2IyC%pY?#U(gc=y7xtSgu{z7Fb&sJlhWQ0>KSyI*2W%QOU{Nl4)aS9=(bXLpS!-e8+(YaxD68{Ros77?Q`Nr=4Y5j&J_&| zA-mCv$S3^89N0}YGvh3IZv$BQk$Zu&B4vE^LjzMvD2$hIjFcJ0Q9+4KKSDm#hQLUQ zpYP@b!@$G>BhyGaXz!ZK_>?XiN@}_f{JHh*T7V*LZR=V}KiuNWe;C=;VqO4y!XajD zWzEdU>$H@#HcQG*`F%jrN7{X(Ex?QwaFdl6t9yz=#1~uugoe#+Fxdwu5)vIouk7ycRh>c@^T9jAw$Y{b zeV7J=0`jm*Dq9*vTVEOmlUVO8LFObno4gnpVUk3L!$y(kHC(16T$1Q;c0{llpNoy) zd$lK$p6IXH*Pgs9?u9FIU8>17L_C7-%&dBE(4W#eF|O9BsC<2>p; zY%Tr%uwkWY-yqNo3oOCXjOxVt6HCBtSaQ`c&~JVkA|hqOPPc##9&kpeIEDGP_JA+G z*5=<0c?e67hpv~He=EvLT5t^oy&)-=X2x0@cpBFe-pmf<@?+4{Y<_W!}q3qH^cXqd@qIXZTWuU z-w(CEKZkFvZ#8^x2>e?3*7~1@Z>|3?;altftA9UI0>1U{@3j7R??Qq$@JsmC2L2wt zwSnXCtquIAe}BI`4_!e<6hkI|^|?Ka9vF#Z_#L>8+lLSLKXOl`mwmEfmyKU#9m1U- z@Zz1SnKoYql=IO21XI62btMNfK{KRlIgt||b7MO!Zafu|Wcv+YT6IFdI_0(8ZQj0A zj?|S9hFO5q;s#4IO{k=nBeJuxSF}g9Jsd^|p&A?{Cwru$WX?5B3IKgxpcRGDwr^wB ztPXRO2hFfk=Aedox1mYaaB;qgPdc7vwd_!8|MVZwvwXftGDzYkSIz{yOF|5)rh6Gu zX0`H9pnMTZH{GND6;x?>#iIr8h%vNc|5Td|d~$Le&{L6ZRyWZ?Qd;D=$*M-i_5SJ! zlW=og+mJiaRH7wUl$CIif-p)|xlH6mjMg`AU7fj4DKMw6$p=sYW{oI}xptzMDnx3zbu?-_`Z)JEJtV^$`sev&A1Eot~q8}2A@~CX1GddWG zYosmc3Uso%t5EPg346>U;Ai_e;pI9)kp2#3ljW4}Gvb|$!4*?&Zs0GA*?J%w3!&gfdyOa%6$~rH+-TCZ;C|SE-)7GSMkBI#O1B>>?Y-7)7?=I0+UZa zvteNfl}w0aao&T-g2T*V=bu+l)FGV+6i7r;IYLQ|iNuGso`FlxuqVO)o}IwS`yAmV zn$0E@M3J>Bj^wA`OT=uD?{Ei(L9Wl5dcU%iY3VlQ;+hd-)(26~!2r3i8mgF;xcnyM zRY~yL?F%gM-$%oMw3(nYAtV>JfGvig#F8w;N{y&f7IMBu;6?a*3Ml>a9hAR~ZrCnL z5C$DH9jWpnj$!dNTz-O$jMVg#@Sf$%`3O^FF3jnQFMA2yN+jBaEGQtf;D3z97-$T{2wK91G_;FUD@BA{!8CHK z4x4kU))@GhMiyy95oed;K^!+?oQmk-_4pKrVC~93nlam0%LZ5S6X`0k zLlV)7b#2OKOe#+2A&a9gOrJdEboZbST2kZ!AwC88S!|FJ)-tX@c-9Sr81|f#@0tF- zb2M9X!pOL04gT_(5=aMS3NGt3gvx1v@vbH*6Ey9EoPnSIhypG3n)8HrtQ+-zgZx|Z zM{vOaU0p80MqWcGFuFQz0JK|MtgQ(DSw&2jAS8isZVXl7Lp0HBuwURCpMHbpJ7x7Wer$ z8J&qmy=$r_OlsY1L#Rcg511f_`?5S|7pPehgA4tueLS6lkHC{bob&(rsG$TGPwvO#5|t!>y6#&XI_vc89w<5~nUVk9Xqm0n4*N|HH}g+hC$s~zSystrqL z{QcmU->~3iGr>Bl3t}L?O$y7*mlGA7se;lPU!y!u_NA5}MYVL$dJ@SLX`U(;HcKqB z1isWs1iX*m&>WO)DzNt^qNxumK8R=++&n zHq*w}Z;{1WKRo$FKp8QCmUA8LqnZv`qm6rK+&qIp<9$QNR@za6AeI7DA#G_X+4~{M z+mY13PA*Wwx*8VWji|5+PBQ932?Tw_M zV8i4}QnU+IrCH%UQcg(;AH{1;1%#}pg=#EShE6Gx>hoA3K`rj5%r-7RbzjY)!M0ip zVM+p!e98kC2FxK4lm!;R3y5NG$G#s@&?X|;9YJiE64WAXOVScE4XTi&V46XK+hbVV zSsbPPr#9qjCt9+fk{+&x*+CKdF6hA-iR&w>Ol$?wmV6 zct@wo;33u39WmNR{I@RHAfJlLl0imGdh9nAgaOV!b)Ewxo@ON<7!YH@Nqx|4R9ZU5 ziq%w}VkuU$9AdGelzWxtc@hv!LBfC(NuB}$>0;H&adD3O`BM|oSkMH)Jrkck7belh z@~s{Fnmo2<%VHyH%9>QKx|iXW1Y-hO?OEF7Hq5jp9TCeKL{%ypm4~Qg@{Btw3@MDL z3KMXPC*zdW4&){@G^-S*5HJfFQ3;=DmvTUC!DLbc3l;gX7z*j&IfPlaup{n{-fzgf z;v@_ES^O4}Rn`;Ke1cYeRX8(?xh>b6C>kC;Yf?=yA1oLePJjf6hpjXvLz|lurBME z$Ni}?3XW(xLs&~Vm^9*WWPR)5nx0_w)*)>RQcM)3lf*Oiu#m4v3)@xZU`JiCch2X~ z$>b9m?Tplno?t!|7>bNzCs5IXCud4wuOTKSH)L|~Bs&C{Q1T^5g$e!GE(wT2a9Pm^ zIa7#8kTMlDHIPxO_mQWrLx7PEgTTrT1H3b<%phoCwqqvwd<5<`AIUm|wfN?oWwIAT z+N6_K8CTg46}cOQB7^H0T3~Z>3;$IX6nrpjG?&}qTUt=XM$R9(NTvWH$`}2fzelS~ zfgaO|{|o0`(9i_QXb!~5M*Uxq2n2~wp{~VE&rCJcDr(4TRClp@4J&K?xV{j0hCrN& z7%%?xE^uz~+x1iq4ZpdDD}VA!R6F$wlJPdljCxI!Ayh3VQqYld_?C=c+&bDR4(y0%*W#N0&C4@*3oj zL|%{xhw4hC{zf%f0YQc@^5a+R5^&H9iA#$(tlD=pAF^3z=^5ihAPb5q6X1<10NCFL z>7pRI>`sK{IZeHJadl#A5oe+ROF8XDLsG&jBVHWdW&VYG>#@5-Z(|Zsa!|kUXx^6R zl&}uqLi>S@ygdU%i~oV1Z63CU-AFs94Fh>e8PG-2T=JJNFa<<8bYd~HWwd_tI0m=D zF}i^_dD=X+3^MlJoud@IuIj-?h z3nMy;s0uUbevop@$IU<-s|B3YQO%!Xxh3v(TE01`G2)4a$ z`kaiwC(fI<4rQ}P_CBXegHpS!o!b9@HYcW@UOo- z9bk9HolC@1Vx$IX+IPh=KhZP`As~zVxx@c%-$|gQ7mny0wuk{|^r?;y)Z6Zldtxp^ zPcBFJ>5(+kNc+%IT$P2bf-!V$1o8L5^73~u!NTztBJ9w-VD*Fo6Ob=mn?L}yLM^gO z$ZJ_y4z*Z;;5Nfb=tY&*z?0b`B1shlkIzG}0(p=+c>bnU6}luZQCD{4hBvL9CSUoK zbyoaHo@YrYz*X`MpWR!lIiO6D<)-I=N5T~QGUxWDH!4I>tiHm_Y&MPes3#~p)K~b9 zrOpF+o0;Y-!aqWkcNP&g@_JB)Rq4A^;9m%lBS!D?d@0Afcf4;!iJ-GT_c!+*DDzQ< zqEf6klO=`bB=9H@`6s4Z6+X)eWWU|8Cp%UtttyVM#+ZtlAbFgbS$>!&esNI~Z2qtd zO@zSU^V_y|Mx4Z!wJ*CR^f5`tY-_<&P5bV11M-?PQfkC<0MC6ym&Akjs9+&2?5%nK zP>X>DL_BL+G0ZhOD|BVapHx8vs;o*0WhXsVcw_)+71m%ZlW%ES|p`pP0$7ma%mE%G1V)E ze@=Y-lFH0bFa^S?ty9mu1d|#>Pu{|vgR$k|y2aJFF~7Qm@u2${(WjDA%{l_Ir97#f zf@YXh-yQ9BK5dJ}VD$-8ndB064B`*W zma9wiwN!$w)u9o=&vHstO7*luP_s5QQjH4k(OUf(J%;PG>&uHCzIf~H$O)XNv@UJ!hH=KA*fh@g*OEU6ZdW;qEg7gVP%e_o zpzv()O}(wnGtH~mteF9P-jo`ignuR)jL*4gB8oI?8jf`5RZwM8?4lA@&MHxVCAK$H zn+krD9LZYv+P>OeEI7!co_?<_9%8=7kab5!C$2yoAnSW5DtiqF7S7g@^?eqV0z7nZ z(i>qHj zghaj6faT@+`Yz(GAwjEW?%~zxk(`A(mDBo)(W$V zY>cx*iW$&2?}gXH)kH88c2!`E9XrHP%e#PVTPiC%Tw5x@S9RG1-z4G3iDYutM25)z z8&?DchCIfFhLMg0xKB;!VF@jwm#gyUvOel0zE};q^7%w;tgbR{|Dq8`hMobV~ z`lTYrk)Mq;lPc7@YH|fQfeDL@EOp9)&L!xnFR=)i&qG>0_R=}e!z@vlT(as(7L+Kv zpK=HQdc<$vk!oa+YK?nvk+?U4p$LYO&NXdNtN0ICUEQ5wkrz8PzvYmS3GyQtC@n({ z$s|XJo1Cy^M>C41`^kcadif`VNf_5?tqh~@B1KI|tDF zFEA${f}=dc73TxuVd`zis&<#OdSi4qwd(CEiD-mVj4{FutBjPNF@~9biuE`w z^Ym=T@;h3G5f^0o|p)=<yno{y#sT_5BjfBw|*d&U#?ErV`p{Xq+YawM*To9Fbhzz zrLdReUQE3GLlfTBs=+r$gCPrJ^a)9Ncu5)O1uB+Qgxo~ixXrd+MCUf z14h&6K(HkkRSnj(GR~g@16$oF&P*FnYYaL9Z8+ATs!Gbsg`DcaMJPSij^V|z;B>(v zs3eR96#WU(r%-joTKJ<~jkf_vg7nlG5X*9nH8vT@k80~vp4zM~#qY>Il4il?18XOplU2<8Szv#O?pyEAD4kv@4kh`7WNMx;P`I$ z%q~>mHkfC$Wi=6H1$Z37~5YlCkb#xpAWqm3UUJn-h`!YJqD4 z4pz1P5U%7liT7nG;9?5Y-@RL1N)mv+*6oTf9AT!lq}d`-!@SgKx%^o7U(`7hnKf0= z8iLQTtnXkeJiNr}j-7sjpCUX3fE~~qPtKqdYP#E)T+71h(u7hr6`hn5pcKmqnF)r@ zQ3-u~(+tCgTVXNG&Khdhu`|jqskI0mL7mIfi_g(C>&IYJlHe-#yfaSo^aX0KHyxqa zuqunQsqdH+nH3tkG52*z&x#uRP1dQ1hcIM4GkajuFL+=`J>X({u?xn6<)7wlViJBSP%Rq#b+-^QGIFXZLkVhpsbl4wlTHVQ#Iy57XjRmv_?A5P zV|?Gp+35;4Ejb^p*JU5wlLYKR-F4x~xsA&`gds=$a|*%jkN<)zjsBFeFyWD(7S!)8 zt}OFTzm-`?-LaO9DpkD*Ps~|Yw)?|v+>=MdC*COO3}uk?=MzKp?>Gp&*Z%e{(8Zpo zkoR_Z@yC13UnE!5<=_Mp&JU{z=gpa7rk^sY*uiU_EYT(kDMxhLQtDVP@AI#`V`+!uHSY72I;c`1xc&Cj! z#H|k}=RpkE=la3Uj#{23mNgKaZ-rW>oocDDEFaHP8tak~7>i6&Jhl=)f^e*Fb46=2 zKBNeWN6ytOQ)u4joY)dkJ{;Yj;$0xC7DgR>Yzu3<&71J)04ObuGH_%N(r)z-p9>Dn zoT1uz=TI>(g}H(I1#jQITl%HZ{B}WpsH8Pu9z%#&%-&8T0zoP&duS6TOmbQT!cLp9 zUQ(uw5ag|*Ag=B-wuWyE4=81(mfi@*?i!%R0boA@yvPBs6>p&DgT;Q~IA<)>HM}_P zUf^k(VGCO_D(Ij=&c)$DqM{s3n64_=vXNFG{Twva@2tK@Whu<9d06>sUG+AjsRIt6 zkkp8(3HMOb91!3TFgz`;1+H|IBoC6c3uif*oLFyZ@)$xr2*9>X=%g+%l#)Mo>=$7o zS=Vdxt3f(sD-l&MVH7k%{f}#s`gqGO;32HDlUHM(?X19Nwj5bWCG0}D3PyVvgNHOB zj>JdLxE;F+ME0Q;EC&VB^?X`jyiP&L%Ve-~snfI(HTGd#J&fC=rQXU~K!&hUlz#f! zek8UP{|bsc^#M@B(+dg#!LSI3LI9|OM!@}Q@~>*CFb)aBWTzCygNcl)*cgGPj#*X%?Ok%F?=`*#%NL9v;t4R+#CIxxR+47g{#d~7fQP+ zrhAwkvW=G?+_nIM>@KvTV4B2u4p`>A`XrVr=$OTB`Ow~eNOHd(XUwnTwCcJl8C)lJ z7?#N3KBBkNY?P(3!0pNHCbG5PbmB4*FFrk8p7CS}6rf%qXvmSU*xBXtsoe!in&Vy} z%xV-3S+YhHx49fG08Pg6R_dDVI}QpY%{aYgB2!L_tM& zG1hyZYa0iz&HQVHnaV_AZrfHdOTH^-c6tb;*ue4hYV=CPm$b5sXM<=x*QrS<8 zy=2pY!4Rbe7sNi zA=RnnJB~!6BSB0tGuWvh*dvK3Cu|*q6Mfp6U|mcD+F4z2olQ7#ugl&a_K%PiyufIEpJLYlOQ_RS$L$$1$xJ|FxbobmHrPXn(3cBSrxEWank1YZ(9yxOIi4|pigLx&@ae#rAS0I*reF<2CpQbI`1Km#HIfKpOE4ple zDeRyc>|Vn0yJ#M}6^_`UnLDIh+<8`L(9UwFg51yt9FD;^lIO=Z-a7mAgi4N;>A9GE zV)(QR+?Mf@m6V$-4_puy`AXYy8Cqf~&j`XbaFgd0R%ot@M8yw3>>R#I=3?TtuUc*b z(|+56-m-WSGdZs3^<=CCIgvD>3wfRdIu@*ed3DpLEMO^zo@3LOjT_qa^n9C0NS}JT zRh%^KtZI%u3q`Ibam!Z?M1j>-Ly@OnzF%&)9)kHi>IfL zPFpMAw;p`==<%Iv)5+8tebghpFre&cNX?jQ7dPU(bvB-U z+e`@sr?*-l6U3a@(_~sC3og`fb)ibMH%{9^udTT3VRRiT(j|eQoSY;pac^j|)4IS} zC)W*JXh?8*THfJZUcA-|antIYpt<-di;rqGhYWivf&pXV{= z{DOxD5#85{1q)KCnyS?m)$qQgJzf*IP}${X5%z~oq+2OoC6*D9QeY#lr-9JZ`PYep zgA0f~yM@MMa;TtkeO$?7+p(=lP=dweT;LUdkIB{QG1m+gtFsX9Zk?QV zFK`L2lc7u90%|DgNy%`EdqOhm=RB56M0JvSH!vp@8Nv9)IC6i zj&c90^&U+j@q|ytf>rS1$8dCVA?;7W0PbZSmY7VXn~5)VtoPc7p#5xBO^K!<9QTOT zyoaqp_)zZg)0oz&{me10F&jfIVO#VmD8JO!sbz3(;g-|tVzdk_Sv@kZ#;dqhsEjl^ zMiw_C4V96E$dITRH^;_^5WLkE0(USThQ#l{i=h-*ia3Gs|I>qCguCd79D$O}>sC1C zUBc{@n_g*R`(%8ACI(H7%Q8Y92##H@2F>^hnv|&YBIu__%+V43@pPuapkX5HQ1TCP$z^yR|lddy7lH(+^j&2iz4qe$^Vs4wRh2(wED5vBNG8!!vYG$Z* z)$m&1tqB z)30nSWi}()!1;)?44=Ev7*()P3L65zT`(ZzX5$Y`Emen+m3A6R0-(BiPz0}qq%)K_ zPxGOVo=yW#?tNGGMA5r*cZ6X7vUma18tiIaR0dBH3q()-pmACB`cj>qQ1Nj(4 z+Z#&}@%akk&h)f|(2o4WBwuIQh7?~*$JlpGuZqH-7CJO+@UPtC)>y?O)Ug^fc<(O` zaA4XWpIyrxNDGHJsuSMv+zu*28L}ZsYO+v!REIEs{sl#M5jMet(-y}s3l{P^h9wY!z& z8eCit5i*MppMa%Y4b)gYzkYU(-vDul*qaW&%1fFkVp>S&lIroMasdPidKLXbWb}S{ z!q#`hkZ?>v^m&kq0VF`lfw0+^v_`!0%a2xzNfuBLjKDM>I_rK~*gybpUs`@iD}w#m zKtX-O(L9`-#TUQg#ZNGmK-5s^J>CH+Py{hY<6cLH&p2YAcc$a(&`xD2n%1v( zI^j)eT0ZfZkUrhw<6-Yt<(Pe@$2z?3iXGKh-Dln)H1S^W3h~>D#`;gc2n707pWy*T z@%Q8G9qS(+ZpC+a&{s)0yt8sovV!{ZaI5li+FvtNqZ$q{|x4Mk=+zoSqXYDE#=B}BdECgUQ+%+t+vY>2(LQdhA+a@UC z$W~Nr|K}T#{~Pf4#h`oEf%zzeH0J%Y5_$;bAuDOo4|13}sK)(|0^#pSd2sbnY~Vz1 z{`nQMs|7^xv?7H$pI>p67og~yq^!PRar}?Uxf3;Ll2g&AEcvJtmQGPYm)rb+8y>c) zf_09H+TLfW0DfwDE#c)I8x2I2JBzeQZlAFsSUx(PI@jy0XhrWu#xp&~E1f1Q!UBrE(%&WOC=`6%cv2wg; z=Jy+`u9`|{D-Oe)2@x!nCh)dXSPXPw&>>sSq9+9viH*tvtQCNgNfRSzRoGLD4fEb4 z$kH=Z!^E^j!+F(O_>I-glONU(Pqu#9*wTxtpZn1W)8j@N=+vg0vRF#nm4hLI5wzys?1V|9C{!7g35{&6$JF*7XUbfY$`pJogICStBCv05C* z^_H`oFa1m@dY)XCMF+u*_=WK9k7NB2{I-1b4yMD%_aK*c!>^2s5W*c=D3=VeK;xMR zzRn_;>xqS8o)H5kAkP{o4iJTv9btq>DwfriaFq|(YudAj?g{IFsPJV)u#3+>`+l34 zLNk{GyGI)@q2~97NalmQ!7zN=eS$!*8ml{d8?U!sZS5Vc?>^hxmtwElgWfsLlF0X0 z>w7!fTZc#bamvzQ54v%C{m0#--JKUYp_mi#)54*9nFQMAE|(^nvQBcg%G<*qUmX7R z@M!DRv!8eNHurx%l$pQA1linr@#D)l&*MbOsEwSugL_h{PRI7ogvjZ%20H-gxf@=3 zgb={%*5T3m(ar|CsuNB!SpFhK%Q@1=uwD_juS?7$#pNQ$#_Hbw?*7Yt`UIejaa$Ga zFQ&1KC#xv;`VxAL#;H-pPW3?F(jQ~;WNW$@?bKX4*2;d==lE}W%F zczzaAztSy-Mu8*sZKg4-CyVGtvFAWqd`#%dqB6zt^=IjT(0Q=S!TQk;&vZ^8yqf9Y&d#TU=H}t2 zh2sWE&m|U@3(I)MIrHSXbfDV!fP8BjRksG1cLB#NhZjuM88oRB185M|_$Zb(Um*dZ zgmE^elLT~Qj3Y@{axg1bgLy5;M8+m&et*Pv&DHe!^0`!71OZi;=3UXDrdD`t9G~O$m(H3bG1KPB24*4?lp=lU5M~*HA08>g8<>>mtpN)HDYZ}v z4Vl@*nah*}qGWPqZJc96pkHc1-p$p8uEJL!X%DKCcgVkN>EpqNi#X8m^`l2?-?bh; zS}ayp!r{A1><1$EMbVznuTTt`DXs4=&-EXVe%OC~vbTREKADx{;?IZsd%SfZ9R54~ zSp2zrem=rIj@vlEdDbtQmi2Vhz3ASyn3`?%v_HI9MXlApj}iYJ+D>pP-eRSvlC%Hf z&(P4o`O^Z@PJ0(DZM7%F=cg1q6i*(xfHD26Gtmk5EhdwXxb1+Ond09o3UAP6D=$L_ z84@xP0ql9P8h(mOE0B%-VsL_;S$-AQ2Btv;$rJrD={Xp0$}#DUC0{Yy{#2ZtOpsej zt`$%GKTGcXX^_l_%jfQ|bew;2cz!G3trj?~6Y0z?;n^$eGE%CXauap_hM=dp>FO1$%qpLs}u252cOizWQJoG_?gwgd^5a$9BMi%p+kCq zcJczHFr0<~uCuDapad=80ayjDNG^)-2EY<%NV;)fXe-m9UETEW3+)fnp`G>K-xu2I zbZFR|yf3te)1h4tKin7E-=;%@3;4d!zMl@Q`;U7=g9J_E5Nvhc8@F0$F#1dcGi9Vw zSy4tj8Of|5%^oZ|k$RYnVB)BW%qWwdCH`RUBK?Ugc5Dr*>?~L(M{wpc9MSF}9)m^`sv^hF z3SJ}S0I{ip7aSFjHpbELK-}(S52plqX%T!QoZCA+I2*NV_!h0x17jQ zW)_NjRUw-P#p%4AqPRB=#dLU56wxEIf5Oa<`{n5VK9OJ|9lT*5krZEEL|!pR_8eGTA1nG9kf35-u14T9S%8mFIM@q%2;9c z1Ajs@CU)4(M1m!njL1@PiD1m(Fu}f9E!J+IB5Fn}YaPT&N)^-z-7Hp$CQBB7C@u}8 zSE`}T+U>>~3=A(RMvAsj{(J5ATb8sYrxNq)ufBTnRXQZ0o1oVtCFe&_6I4yfdIwEr z5#`a^T8S*GUGxsrlrC$xESnG}Bj#1_Oo^E{7JcDt3* z-3kO0SU|{~14za@AC5BlKPuqm;{h_X&_O7McCgenwY2PtU;XP$KrL1YtQww z;c0itbtym`b`dAVWkd0#^$l~iTy%@?o^ZM4O#b1+hn9)B@VFf#7_Zv47p^gCt*v%0 z*PgVl&(0sbeEjX&H)~~NA&uUvbaam<>XQj@jtRB1$PM_R< zw|z&Q?X|29+xhOUcDA2pb=c0gXvYvs)ID%CiEI3+VV@I?A3vw+%6VjlB%-2qa(1Cq zR8a?O5F(LaP!i2YYrp>bD@60xUn!jbR2h8=xtm)^rSJ?XT}LnQC)1Nr_9&&PN{C;) zT6{w}HI)F0uG<)?ZpDiiUL#S+vGV7sgBR9Ftu6*T-bWV`=NT*zRmh9GOQp<0PT_xH z7B{PCIKaUeOs89;5vC@bh8sg8AgN6E7U}s(HQJVN6izxK4UlVoN+$!n@^a~G(Al72 zR81P7xg=W?a@a#Roqn9)Rz>>8o*|I~e88b~ho^YB7$#gk8+aKUF%CdXV)P&2j-F*_ zX_P-A>i!G1c%x{_rl^q)S&l%sCP_oLWMfGbf{7#`kGuWz7E^)307z6w^15lhE^9+@ zOnRwxYYR;s&7)Bp@&AL1mu=*^y686P89XVECgw!suRoC;;5fFW*Sffsp%>3=k#^3oF8f_*y? z!wE}72#@WWEdFifPsfi|zI*%d><@^Qk(OMpRBXcEFj10<4OB#QpMQ-NAtl_q%$h8T zN|_bAx7TnKATm<>4yelAdB0me>S)vW8e1iXGuI@rcRC187ix5=`?##XghPrKybcy8 zMf((IJC?ojc*xHTuEThiJqgi|7F&pXNYP?7z7Z>#{njs4ic992vKFU zZtZy3x7zW*l~QM4Vkml&(iEv$(Mk_^^ngQJZyp>#SokmyH#-Fn|6Ys8ad+$O@yeHP z|1=$+tbRnu*}C61ZWe9DJ}8fBbI`A8f2eOWc+&B6=lT}PLN)73dc1Dlb#ZG9SQ3AX zDNL0I*B19MQ#^R>3TxO%hY{R4FFte^u}wdLX9a)R4A(pVSTG_8>8qgi;SS-psb;5P zNXii0CAK&i@aJxE&C9~t#VNc;A1>kL0q2jp^pFig=P*eYjHrz8$%BI-*ONR3_W_3P;~5l2_10#;||5 zw;)P@TeQdT#)i6$9vtnmMP$RbqYR)fo8GxKu-hG6OfGE{X|>zWX38(hUIlJym>(p& zm+_PX!MT>8<-%g6gzKgXa4oJy71@GWr77{k-QG|c+nGS`!WM&6;`K6bgSDv%q1MJG z4(j;p-XdJm#uXnjCnFe$D^KMEOLHxLT=p?jhwurhhK49lhBi@^Q4qS?BoHeksB>m3 z&j6?G|0LyaiX>o9g+W5NUK?nt5}B^m3~t^rU4tGncQX6B&T2Yg(o98&A!+X;TSp%7 zuuhQL8uST6sHrw2lu$bd(QNzO(It9(tdG=Ze4LCZqS z5pLl{FsOlYuxKuEuNy2H50DRz+E%f{RJOE8U==`}4bIwq7y-O1fr4T)3Xa+$b76st zR^gS5Q#+YgT0mZH_%vYq!zyZH;XpG6Rk0HVl}8Ift3o0tW`MMd$%o+z@qlpzGyej2 zFTl#~jl}X$!1!ASC7{cp@hJ=RL7?W>t`oEhWg9Sc%K}!$+U@4I@IuqS8Q(+W;Qb4~ zm?<=-KR__salGtB+_>eJ8fl=n(Nz0RH4YMFq!0M_hbOUK^lyw4m#B!$QsxB4V#&k&hm9-3fFufFdv-_fzKnQcPm^0-V2klJ3}E~p zrf|-BY&jUQ+GP2;GF{BO183lP^h1B@-{_LyZSyPwLSgDtykRRKWkDPJTUq%^`=!aK z*{b0UpT~T*LDR8c_RIdMvtn>efakSAIN7ni%WC--t?`MV>W1KV8DszN1V+WgvX+q+ z=2s9Mp~VqfDSG_`5M0sYObw2I|LwSVGr$#)leb@@Q)by=M2>Bbk=rjl+~FvDFQfC$ zD*k)=_2X|^liSH#Y~QFkDO80Pij5?KXT*r#%sfdr+=@u^9BXzoc2RC)Kq2`Mpck%LnWsXvmKPo(})gIot?8-SAcu!$wd`XC$$%L~E`w*ASsBj0%;C@{89yIy?hI5Pr zbsY?a`sJ?!`ED$>#_Arx*wvb@#jHRW~Tw$bYKtIdhstt~_p{?tFoH~x< zaOTaV%HUr_fykvwhv~8+s7;+Zj_*5lNCf#jGsoMEl2e4u*i8E%%H{;e`nH&aLVO_l z;rC1_pQH7_qn$RlZ6vk@rz7NyrpO4(@ zVZtBPqDl9tO;IZS9QvIUEoMCaY1*Y3pGlaWAZzdvX01|+BP43&|nG!;LE>C z+rEwB87H<>G$U5BoAYr3xi&2wV2fa^IjWxp?rr)1k2C=zZn3yj6%IGnGhz!_kdcovu>)F45|=7l;b z(78*(a%49x7@boXC~}@OCA%lT-$oc}I6|(Y?CHp+GEgWL=>XBgI4ymC4qyntT?c zpIG#!ATUYeB(wEHP|6VdDA>T4L3{?qB07R2BBP5NrcI!D-yjzi{d5D&x$KDR9fQ(D z|KJS7jQ~)RTKl}$g;N{wlH&ZGHl^`}vT}m=8^l2h#DE++2sCO!(7bJaeaQ%8Z1TLMeo5332mAh=LgW4 zB*zf9X4aAaeFE5ILn$H&lwWLfcn(5@`B|$3d6|za$`V>N+}8OJzJ&`o)g|h)L@kka z!E@<^yaOlFzKbz=BmmvWsmxRM%R zCyaYC*t3*vHj@9xqwSR^kLlOpuSZ|oG*cX1GH9xe^4NVmhld?OP+05X_G$_7r7uhl zUC8P2CiZl=N%?wvqo7|NT0mX$PnIMi8;vspN}_7)DnVPCN)|WSC%P(4a2#(&dpufx zwDgQ&(aj|}GeJ~EW@CiVV=x*tlGk{={5Y$Tapep>k8zjlp~Yp32oWR)5u$vHS#UTS zA(bB|ijs;`SuV>fQ27tg?_uPT!3KS~=nqe^rnfnioeAcI&#OAqRbm9I6U1E=bjGa* zmkV|dX;yq&%{+CV$|*{-nwf>(=B$vmyQnm~a*E!pk_mcYe7Ac8Mk#Uv0TUyR9r7K= zS6P01(_vy<+&$XvBV`WU;Mm}xKjxbDOw(7#;PqrpEa&yr$Rs={eFKv!`g)Oq-eVQ5 zWsSk|dO$IyM<|7WLQoMQo)}xM{q8yTg>lTPXrD_=CnFRXpwDWyr7RN(kM$;NbJ<$f zfC$kifkopUwva$6RuX>=JQ;o#i8r;CE) zBCLe7&k_b8F&a4c+{I~a-#Z6PmXogf(H8YWVg_jlQds68CRkTU2rOTPGFl57B+j0r(N9tAbKg4#zYjLw2NIW-A0F*16LVBfxW zxaodZ62wq6x=t=f*jA$PM8im@P=#lshx5X)#AVWxqE(vW>^q4DCStHP?NcL4w67$S z{cz-~9T|OF=_+l*diNCb;<(=)U!EZHwcqYYM!ggN+zh9nBrve?W?)yH0A>8K1{-hi zUfNL8+sclnl+~y-b5~edWQ{>beZdytYMfbK_H;^Fjs45Zo=+*O(R^vyQlzP&fMCXk z>_22hOA(H-EIv3L@-Znb2;RK8dARlzIk1b4*+0UQ?v2nf;z8Fj68xN;c26u!1-W`o zXqBBPJhp-TVcj8tuEZa91AoAuxRL^4r7*Krkmd_|7E5*sqetq3HsbPccqTRknp)+D z?Ae`_1JAI1ulXz6y{lO|l9Ebq*4B_k3J?}o^q)6tPc*I64CJ{PI~w-mIpDEDTztD| zTW-5Mds`=mTL2Q%8u)kE~MA=Xd(nztv&wMlklfgH!`AVVJ!j zB%U={ib#S>nYtK4h(dCRsZ|_OOCyo2bO(tGCm-FGKu>oTae@Si3+T<06E!4>U`{W6 zw|(XPjAzjGy)Jpf!fVp)Tq0?N&}x9J_P})PA=qe!YqPWn?thtF!mNv!kfZS@aDo0% zHmGNABxZ$DA^R>aX}KBfyKH5@LkeRwV-|#~F-;I>ZBsa*0a>IpbEw<=1hY))sFRMGR0VZukO8oB80N)Kq& z2xsGkAqIj$S|nXHr01*)dA~wZ`|A1NEY`{NfFwt`>(dF{mz*YyYS0_v z*(WXv=c;|%ySlmZqh268zcI4{e$t)G7~ydfxyQm;0S*a$Xec17^F;-o?U@5cwgH{= zWSNkKy->(z&m5kP&`fw*M7p2B14y7p)ERV4w*h}6Fc~p`m#xbigi~WE2JB<_lfbH> z7dKR5al@B_TBTfQuI^i<*_!&#iEYwYuqxSXd~b_{^pI~uH%`P&gDy&5iw_8Af>4kE z)OQ#%9NdOT1!6~u1T9R~?H>^FK{96QgrV)pp3fp!(#>?LSocj0K@FQG45$K}E`t14 zL@Y%Dt&gE5(MVb=!mX=e@Ju&}!>xv*&;(pWFwvpGc8;_3h~#Xn;j@H@NgvQoY+()v zs&+ElGJ-GxCb6^e1d_6Dg7&z$k>xtnhU%W{9`c+B`dA?$ML3pGvNt5JVCzFM_IvNT znB=aQD_Jj#r^<19D?(xkDb1?gQ7*HASE;2E!;vedh!Pn~3=pJ?CLQh=nJ|Lr+m0U* z6+KSkhE=vj++Foa5rvHiio;hr}OX zgNpG=2jmBd(x=VO?M9rC#iR?X3pYiorl5f)H$56^!i_={Zs2L)E=Wk(Rm?y|Op->( zGHEowc;tPXTf~h~KfwT9RPxYG7`iTaK_4bus$&_swA9xlSu1DQ>K-Lc3Jkgqei>)t zh{*K_n~3&wDvU2RX*L?vKjk?alWoX&7AyJ8hdPiU_ET|S4-i{b*_Bh++F^_4iWSBM z)It!`1T<<@Ko>{H5skOjWfaVn5nj}>DJ-D#J}7XiwPQ_k(uW0UpD(zxVjP8&{Oux(e;Szj{ zWCSSdBjhvs`OTRcoftyQCOW&cbnTqyCa@*1ZbvCWWkrByq@^gaMwteQ>Kjznf9=o= zgSXVXgCVkPO6E>n8i-TIA6q)9T8DP_w(sAeh$tA_JOg!|D?rumvpCa=!Ai$_(YwM0 zvT}uour$)MmC?-Fz(PutMZ1>u7=iRUbJST!=dG zkYjUq4Em$)m*3%!*UrX0>ukyRC=Gn2Ls_%Gp9y9Sd^&jXw{!JMO%E%j!py2V#J>AX zpzdZ_=p;JEu6fRsfi+qKu129iVR*9LL}k=YmlBs?b7ivZGHhhp!wgB?kxXpXWR^-e z;_pdw({Y`RzELHNJj8L`Y&tdB3_*3lm@%Hs+QGtf?g+5d+BtGhq%{TIDpa@mAPdP# zNCuYodBp?O@G8#e4o0WUsewAEV_ERAf(rr>>;gcssrdNlZAvxNs~a>m#C46FEDvR{ zAnk34Zx1nUSWK%ekc=F$&(?HF!!QG*4%q!I1RGJq02!nmS5*~AvjaKRZ?@;?4nBzJI|5z{9}>mJ2uJadm3`^YuT1~(E) z;!kGS3OJZelD$l6VwTkrZaBd#Fw3xtxoJ{PLKEn|n;j>|vY}kLsuGA)4?59)knLQbxg^*p41NRG6a}F8p>VK0D2PO031k3N zgB*8+Un3PHWFqge2uR2bl~9t41_(lfTvy-l_WtWv>*USG!|_AW#nu#<2J~$<9^xwD zy5<^VNq1S(myP{bFR<~qd4ipfqdKM)jU|5M&*Vqys(PM0Iubv|RBkNMIUfp)M#c?! zM||n;(WFW_>4uHkazXwP)oBb!L{mkH7Rr27)`g$Aw_ny=WlS2&D5YxAibvjS{5DHZ zD!a`Z88~7-UsKF6GRpk3=a!7Cf{-{-iQd0TBV`OAWGat41m&3q5X-!IM$H>^#^(%p zb-1nF#fkWIyWrV6ku$b`y9gXCDNXdcM)upm$ zjjV66%*DrHYK{D!*=S*345MpSbqa&6uqOXgmJR#&li@WcI^55W92d-Zk~@P^ACO45 z)}E>`#NJ<)ON=U2F*`}Uij#0<<>2+sPwPip&Bhh-6Z)p=h^`~qmBb9j`zYS`hB&x> zjSvsGZt<;$q_~{(cIat>L+QMC!DwMdcS)8bR=c>tIXG-?cF)2@Ve|nmLY8RwmOdE0 z0;TMfgptX5TGvZiL(oLe77&;-_-^)@j&KrVO9o?$(Ns-6(xL5!MftQN9pbl>p)yuc zP6iL}$Y%0?&Z!w&u8l{9w1RTDSO*0*P zh{!z4+PJ1I-PL9vT!};#^E-zQq7W=Q;aKAc-Of~gU$ux83v_RY3R5WwlH`Y@Dy)HE zk0#;>aZP5J^zaIkovrvl7=BLIBQ&OD2BNA80R#dh#t;A+;7r}(F~PImWETjb+Oi$x z%C4C-xhKL)3;*?Bs%5!C#(>h>w{YF!Kdl?Y`M}M|F8IxPvJVD~@CU`EnCW;goP2Qr zRst?SxeL!q*rR>K$`Klsa0ReF`t*TpjP{+4@=`?mZjH9O>H-}rs^zzWCTsEYLgNy7 z=(;1^I^4Lv91cFdzUg<7Nq(VW)iwl^^vw}Qq&v}a*=6hrk#K?N0O4pjhH*Xm`w}SF z9rl}y_2h4=PuYgXYUdqd%cmj;+n2RDrj;_<B*@3;szdaOOEEkHWB_On4hgO>WM5LxJ-i=UMT4!8AdOM+`>TGHcogcyz|YK6rCDI6!hQE;O;k z41{SSv-SBvNb0eh2#A(q052c)_F5=I88^G>H>jT0`rhX2{T;o+XVymL@ zevBJRzp`i%s~th3!0oqR+t>J7-wOY5{7gsscfJR|sLreFX?xVU+{RT-DkW3;iOq}N z;K}19UMl=Mx@5Q|BuX$2Z$o2(I++81s`^{sT#!v4XY8S`7WAK}7EvbC@S-cJh)V^H zVg3b*oT#$Zk|wXbjyNY-Dnw@*0Y7=?RLd{>V^sCa3jwMsf^qUjHL9q3XnGDo;O$WB zE=|AAFcZ=AS&sthiINX6eFCEgRaO?R<-Pgr(&x}gMK^TvRHlF-5>XA#&?_6g4uW$A z8{zG=ZW%FDi75wZYD#m;|3^;`5I#j#W|+Ar3-6$=XvHzjy8MB)-W;J=TXCh!?Q$-!X~R zO;numgvrv`Zew?AeJ`Erte?)%u3IvmRW2vIf~$-k(n*E}QD3=^rIIZj$1g1Ho!5RN!MjzeQknl>{@zc2g@(r32G2k z{SFhkkJv%8k*$urdgf&#hn-{Zp34eBfozO*vv#&AOIf<%KcA zWXYoqoddB>wPyLx^1@{J4iQE8E{T|6Zl&FZT=av*&Y#uct`iatqI*Nfbx12ptdLIGe>P63)hYlmht%%_5>fQt26t zRGgLAWn8L^aowWQ8cz_tt{+j+PB<&LDv2~8du#B%HyREYBxan(bz2+v+bIKe^*acH zRRAf7Z6ruJrr56mP=F{?!z3udGggGSf^ra|Q&p51>wk1{U`hsh~utOhVdRhGtz$ zQrleKv*`!TqfJ5hB<_bP6#vrw_~PSF%*P>v*HUol7+RfVm(Pgi*km+3mf~tc%ti;p zX`o{~h`bQKEwe_}2uDMTPNj}1EROk{I@Va*X63u53N7zFfT$j0u2AhvHq{RZ(FB#0 zN%4{;f~i1ZHYRW=6}4coR#`oo7|-Ua429{C@08RGU$Sj^0DKM-G2$%CNeDjpamNDZ zgABMV)cVb^l9v@VDhGcUK#IyEJo{~WFO>Caae<(pbakq0>)zmesQOQgA9yQZ_xS{D zi%m3}C|MZry4tkn6b`f5`Gx76 z`N1R=!^#BM;bih~#62V7I`*>FYT!NAIy!5#ViQ!6vW3B3DbEsNvouoxd{u@Z#SEs6 zjIg*t!sK_}g+yE+R~N9N9ko+=%Q4osU|MS-7`oRIwNWL8Yu>N{$b9d*3R1s)MtkFH|_f9#BF4;L2 z#mw*xBME&Ny0?%apYUnuDGvYi&gXAhPNeQ1{<1v+m5>DB9epZ4bw?!rcy*mm8z2i0 z8Lhr*clHn6&!WRju>=(%?flh>{EL_2LBECm&@mn!IQ0svXd&sl>|&yju@#C4@U%`O zhABNmS+oaFNawrNK`r&f-6grV6?+xBt6*bR^nhTHh^ z%V;7|96J3GKU}x4U6q27aCV<_L{Pb7+nNr{u%8Q_vM`!|)gAydS+bke-5Z|`Cxh-p zB;S;y-1jRl2pyyWw%gl22Td*}Gr$;H8KeZ&2+YQp%>-~T=>l-IP(caT*!7s!($GY9 z8~_(h;ZRUC$V^kQQj5NIhC^S%HN8-YJdlr=U$$nb$C3BGgvtW7Y1}A`aHW*DP3kGk zyfeT$T#jhtaFxlkPKPSA zI`JKfe(*uLZsn66Jv$lYudWeu0KK754H?urT0h#^z*HGbPGch*Rxz8DNxegG3DF^j zeI4u%Ku@WROre5I=3WB}O(fC`>QU*Uv6#^9oYmx958^bS2!jqc)n)4}xRc=5?UAxA zw2o5P3h~Cd++JGHl6It8!E+O{c7gBYhPww6ZlE@D%f;?N15vuCwk0^oi03-gEPZKdJw)SSwz;bKOBdaQ-Y4YkwF_l88l7c zv0FM~+z`u6<=l++CRjZ)s2aHJ5$uf6vK|7A#QIgq&gM96*e$4Zyfp6D=NS+|up^qf zvPAwXeRan;XbTwI!8=pgZXoEui0Hv(fVS1+sniNKSRfY$(50h+h$a}2L7-|n#`Yp_ zT2V!rpU9f*!849vv#|0a zWkL#r320_P?F5l&Y8!^LRBh!W;|>Q~6^9n6-tv+ToL>xXxsscT^%ebVURm5(Y*yz! zmtX_I4>EJXT+GPjT_UMC{H3LYOS@E3`qgTK9H^;0tz2v8fw;^jhK(xaNvfSxxsym1 z&S<E1q~vOrzTLV2ZI}wibx~pPcFh>IkLC zd(&KTVG(Kk(Hn1ePj4=w5rwAZ4O@PV4#4HWIXCf|CV-N*!mzn)xv2&Y%x83L<8~#5 zj-gOH=@YU|{91d;#E<*}+ceI&2?PCz)ClK@Ku}`SYNMFQ28}$3<>vFOepcSsicNWi z$u&3Af@zp=WV9d4{q2o6kN{^F{wXnNRm)SI$sP}fD%iMgsD=uvLySDJ3CNRJ1zm`!jMs{K3<(7z}0WqfNor1d&z5AJ5id-AA+pO zM-jDI_B`obC2yVO?;Hg@7$eVxL4uzcPU-uAVC9Q3e=SwW_~WDDff_;7HxjM3C(Z>J z68xcN2!B13$O7!(>xglyESh!+BMwacl7`X(_|NN#1#W;-Su>W#e zSQ(Uanz(>Do%udH?eP5(V$-{4Nai0bV?Dj@9Xyt5(U&i%<74ftAF7s#L}Vdy{4PXS zqKTiKRKq~kwxb2KseG#_RHfq82WVH-^ZV!LrrOY?;OlT`j0??-!~x1D-J=-W)~b!^ z5YDQfxE%x(Rdp!AK}}u5c*8z&?)}&L$&dj6`tJKdKr8(QtT+t{Vb0Swg(oZgLt5fL zVI<0XQbjX#rc%7Z=Dp#nmTZuMjo@V#2`%I({2R zZ16w>((w@~dOM?@q^jcA*Ea+Ih_rpf4+A@Yj$F(z+gWvd12dfGKf1Tw&JC=$B)V(~ zXxi&TAi$=exJirOh$yEH94pBXB}~aU35dc{f<4gODvsOGYoULI_WqAF9&wpH z?uIzWSxP~YrYb=+vhy@G2wt_A_q8+GyrInriJ4vJz3mnBL`LO^3qqQMD#Jc=Bqw&^ELbBo5a^2Kb%R+Om(q4n#W3!Q`BW zs)~na#rFEn?$%~;v~_qSC%UyXR=1dcLQVLZ8izFVx$A>nF{IC%G{1^!AZVExjHDP} zwa0W%ah0Y!t0%A4clJ&WH(u`?9Gz_LyhbB`_`|ATzp7+z^>5mk_q@KbCV&7D1TJ+h z#T3WXFn;HyaK`bjMrv9BKLBKJOn6Ozu$dt>M$n42zf1=l3#o1=f1^n{cs?wSLu1}8U4~#sZ73)@DD^UX^I9laJ$&Sn!W$4_i0y)Rxb)#d zX2HOEjX1p2ZuU_G16k~OMFzJ9ZE&)$md~*6(`C1haK74FU|fU{TP2%3uQry(is&f~E8lQNWyV1q>&6(=?H^$ud086OphX659nra>FLBQP z`ew2rODQ`8d5CENLz#X*=#IA0q3OjGHp^6C^X0e(CK0K7&+`11RY_gG%jFY9q~Cmp zhiWM;D>0QB*fg?mFkdx|UmZjl0?IF~o)e)j2FQJr7@z7(AH9N&GOuAzjXMoRFBb87 zap4@D-3mbspNd8c$2+0&TKKB}-ts1nM(gUT0h?X?9Xe#=0tcWQUo?5>c<1%f>cdZj z)q-b^(*0X&7|Q##k_C=W!j6VIDZcoAX;FdsiG|`5zHa>T%Tn?1lZjPHiinc%ak4sO zlS{wh01XnqY;55Y?v33aH@Dz!8UnTdX%s83wu$5aJbTz0K7ZIcTf(aj-hAI!{7oYA zL55C+3h2G`SzL{+tH!^+-y8q-Zo`Eu`Hjn+Z?s08#(l;afIefSUvC{Ef6l=YIH6eC z$6^4Nt@@yS(Olo%Jwb`>-F4Vw7%4rx(FD8O>~=FyYmO{YQY)&gR7Z~};;FI?GJzEn zWt{t(T?y#HS{~10pU6r!e2_(P7Q#x~5s}ntIma#3qz2^F8<0{Cob#5tBZ=5?sKKZ< zHXl|=iau|LC6;0qi$7W>%TFS@xYPoyi@(E2{w9h5puGAw1PjYtNNiJ8lmfqNNZOiqXZhLYIYI67Qhmba&W$NTbI zbOwd-_Hh44$g-8Cl9ICd+uPfkw^vuS5cskJcU=2c094A395b+Fz>TLG5~Z6wfIBd` z#}_&vfJzFE(+>%`{HGdkRrcNnWo2el_U7Q;bFN4x4#hCOkYV+4`z@Jb*6gd3N?h{1aTF>Dd$Mf$#Vhzd)9^rnIpG_ za!!W$@HadhjCGY=J_rqS+r9TycxIHd&Ygi3Su+~VZbrRGX9kc;=|T1;IBufgixgyq z@FsnRM^vxV5Xsnu8ET|rHV{mv|*uDv$-J7g}6LHR>-P~g8^xk*y1)? zj^$&yVC%B1U$P~o#lRIV;vhI1nVJKQSK1 za+UoCi(g%%4+ubzd5+U#2&AR^tK(cBOPby$1Vw>MHZiTMwK0iSTB@s$1+UBhk2&mD_E49x){KxfRjK2d{)o-T*_b{N4SOb;V#&J!Qf`)W;9l7NcxDii$RxwIGy*tLAo(A8B*i9U=|F3Z%TczF9r9HAxfd-{h4x%S@Nlfb0Ovgg;>H_hPzJ16 zPf)_DBhyY+qRfu<^;PQ8iuFGX;$HwBEjM0n?QP-8(5+2Bt`bUYlY^$B7m5*3EuNu- z0lEv}P+lRzYnqwS=)xV^u`J1TT2y&#WNV)qevwa~%ZjWFq6&<_R@9I3L4-ImIT}Y< zj;2ZT45e%~D$1K#uNPa%>P#R&9|b$s+M|LhWp+@G)U+D-Ea$bilGElyQ*02PKR2^} z?$U;b&Q#jXY`O>X6}u;E&}Xbnm{2Q&l9@F&PEuhmDDS!H zHkVbc;$!8-+NqJG?5>54*g7~jDtuVPz?NWc-H***3NH9al z&!xeC;StjV)(pC35V7-?u%bzi)4o zCwK&tC&d06#QxbP^C3xF{j;pd;2knd>K7a+1)f$6kp;Bw@FcV3W1MB5@G`CV0@~q) zXQ&LN@NyRsXUtj|-=(Q5Yxhvp(%q=p3sV0EQz$(svhSXb=|S<}K7STN4oK^kHf>uz zYz<0nDif&Y%4QK6d9}hr#z|Fee55+oJd|8s@+YlBE#AO}i@KdzP*gwr=~>E#h%bTr zc4GqvJT2_evw#(N3&@&>3YE1_;9ukhD-_4O8^`v}9Iaztrmp#4e)+xaw?}g{zy7+e z^>yx1|E|tsr=zCtwl$Fhr&i#9*`Py;Ylj@~QQISykT8{_ZiS^mDUif(>2gCFfS2!P z(jPPz4>o=P5V`st#hL#!emFVUUEkRHVSjgXi$sWX1+M`#m}!)f_JCC8%V(pmihT_3H5P*`*eja|^r8hB=Nc>PiX0CqalCc^d}@+uXV|HZbnjg)$bC&QyC*rF^F1Cn9%Z)*vz~|D1 zv;*>+NT!`jx>JX-P0zm<=iA$RVg1W5Dc<&UKg`{fsKp!~bpU;}F-zo8*d#j__(aaM z5eg&i8+AfKC zz-u+FnTxd;1ya-s+HUW3)E<4@vBND8hk#;u|fw2db?37;wUhSx<$y*{4R@v+W-86D0BAz5xYtOzj zDK#Q+J2+kh*8t6jANO_`e!RZxt8p^`c6avvf&{FX*T9`(;l;=a+h`ZP$#YL}--X||_RZ>Iy~7_eD(>fzPutO5azxB)3#*atqFLt+Z1J}_Hhk)IXzA2}Jrx61!InY3l zXE+1E4mWJ}tIUADD*Jb#9&pA9L2R-Y?85Uen&nO{J^SJde){7yymgf|BbYB;=b>1! z4X4*XdBF$!iSl?yn4Jy_%4+a}Y>aEH0GtpOo*}y&?u$An%)7mG5Oygk>pZS7;do;w zw_Qg8JRs?mfN|F!To4*fy>VHdauUNP^d1+JvSzhtqj9^BJhM1Y1Jxe_7lfTXih;ZC zd6Wt=X>vBqN+B_uzMNJ%Ty7Yf@jCViHP>7#AevDEjRHzu)(YGS&C2P~7>&PzoP^%e zf!ge_6+I%O=Y4Fi$F_9hXHdFLl||`Np+|4g{XEBI<6!IcHX_nbWM(*#oA(q?Z0^LS zc#ZZbA-4A{bjf~vSv>O1B~(xYplabxV+uvntXQCGvl6t^5zLT7O$*~3iNl;CKG0&i zKhZe{qczE1mQ+Z=p|;Q9RM}Q7n?u!D&R>}=>aFQ$1eD6_KyO5vhvpY7N+!3-hA$2! zFoej4MW9YTrl7m$RM3f`kQn#Agp^k1S!+tc&<^Hy;PLvuf zoe=QoVn%#OL%fQ1u>O)wN3lpkVOz9A(WA>kyw0VD?Mtkg9AXAZWf+ijh%P5?%ri<` zrzvP}|DBdHm8!yLu@C|T#>{zf#`02^fZZ1$uI9p)7i{-#LGpwIEhihWR)y#ktYwV zsDxworp99)6BLpVph7l=+9*cLjVH7bCKQbWRqJqDkyo`wV5lQ~)Q%0p)Z<;XWG&53CmcsV7}x2oZVBr^UNRpe3F?hjQXu?F!!lj?E*Ab%HQN zxo%Lku9H#9Bpp^0z|%-6S6l0Fzll~dnu5#;1m&#>tZ|zU_r| zMc-}qM)_-OfW>!gRj!H1%lK|m(n3cbmI*{DkH7cG`UVnUikhTAa@_Pon$I&#V1WA!I@j(e!!N8v!!u9l zEFHYN*g>kbx=(!H!a>~e#HfQiQ2f#tdovxN7py4};j&PeF>_q=CMn?4);kHamB?q7 zvE+ax|1RQO%lxVh#24yf!4Qrr2;IZm;AB|z`HA@+*^=TkmIeD4xZef~5~-ygi$zgS z?30%(*Km&whDE(|I2mQkknDd`VI40B${EDFs z*0_U^x)Y3xAA7gUAn6ZVySqn!J=l`XJ*TA;dURE+oby5{Qv(UP(;}mD6bS)c>7Z0f z+3`LDLK=)Ek8QFGM?#8PMZ}_ZLVqp$o?|i@;$v`dNvsM0c%|Nw|&D$jr*|JS- z&1(skB#e}6UEox3;|4KKV7furxnhLhJpNkj-{Gj@%5BkEv2{dl|HA&aQ=BaG<(H*W ziE&%zTxcZsV#h<954kt}{9%4@6L!%REGVT>nH(9da^Ag<98HEd*u&=$QXk%W#+Q4- zz8D}cbMfE*ot016ArYGBxXv_-_69stzSS+W&1lVucEMn|-XS~rF!CK|q-fTAje67G zzp9OzS?dC7PGdb$cn(qcUxmO-M*&!sifFkKN{z*~jXvWdHkeX25dZ2xAMZk)>6T+_ z`+}_CBY^EQ45B6m#X#tu8Vj^E1Xxy>@+>oog$c?Di^|*Ji75fi9${qIJt5iZFljhx zh#M}2tt%-#563hFFs;S5wTI*5M{gPK6FXBv+(RgX@#*tf37nNvPQWA)8}gVyop058 zgIJS&k@8~tjeb=Kx(DO-2M<(XO2}UlJTnS}H5(OPvf4$vvS2l{%l3uD0F<<6{vr%X zS$WA;h;EYLAU8=WDk|8!sV$UzHXDL-1)6>k`)0!+NumOc!*FFo{mERQ+#&6}6GuZ9 z`MO*@<_RMNSS-@*N?ugAtDGv~NbBfSCaiS$B8Dh}O?%MUm7k ztL@gA>six*L`S(IzrWnBD{j5-JYHMlB@j?{T27NV<=@?}ua_T-MEXU@#&Xq@R^F_h zkB~aXT=qr1ZSp~X+I!MA`4%6Upeeh@JU+YK3}`{4!-J3{+qi1oUiG)MI_|S=z3+{0 z+WkYh&G|ravveX*#2ATYkif+)+@5EDH>mmDbIk^SX9_2Tn zV;#z)Xbs+Ni4A66f^L_jhJJd#EVTu;xrR_U->?2u#s0rB@<{w_Ija)V)bw-~nQV|W z-3aKUS49YIluX3t-be##$E50)kLT$~R>1Ad`i>8LiEr8sti$eZnQOfs6L!Hai>f;f znou3C80x@TKbcvHBRmUbg)GxtEH1eOV?RU_D`ZDsoxOCCd+)qvIpdMAwX_SuCgI^{veO=zxqhIgT&634YtTs; zAE6EYZAm`_;oug$!d4e9a=XIRi%f2C@*#``mjzLTGLRHbN)O29UhPjPqtjhhZGL!c z1X(Ti&tGkCNP|c@jQn)n5w=75jHFb&Lj&G-P4od>S97gj2~l08kyELhOolTei}XSm z$ym=D$W(?&-^wmPAcv2i*YA^v3eq=N;hZ?Pr|eTUDVQ$p>a_pyb!G{e9#3CZFpls`lT56o6MC%-#M)s#GX<7c zFU@XZqG)@j-WjKHrSUk22uMO+UFl*FRk3~)5d>~^xuBpyfGm1g8hlz94iJ+#K%5A* zRs@Aw)Em&r&>W!*QVW)gY++Xl1>n5n&CrGj+k|d`k!VaIZizCMnI@Y{{m>G8 zv|_a*X5SZ~KGCSyQ|B~_6Lzpruav*QDYbI|Pe%JhP;aayz`;lnbl?_%_Bq^V;FQT? z4Ye)FUyjOai&8wmHnvYovKJke)Kc4r5j*9yy=4wkHUXP~rR99L@u6&_+-;z#6l8Ox z&7$GdcrZkWvG*`hUL;HgV10u0x~E8ZOTU1VLe{vVGi_LDLUc7}%vnep(-vOhe<)S%N+EhAXH^5mFQEKMOlZP4P7Ol@W)v|6peaEssbE6A?QO0BdF zA2IrIb<79uRW>*p4Zo6!Sb34Kn3uAeX2K!JAP5Lu+_8>IleAAPWgH0H)ewvOB4Ucc zn#zZxlJ-mCipj9*W0j1PT>gP%-0XEaSede@3|3l8IM3yE@%!|XaPQQnf7%Fk<@_xt zm9$}srwnK#`Gnb0I#6Otl*sMQd$pTa)z%^NXh`D>uoIqKd8U$`VV46)ajf8(*w6RD zF{xIiPVzBrJ7ET_UNS{jYC4HMGK*tEQyXb4%1bBRety9-&Kw)A2{hBkHdHU4kf#L6 zRfmIi-&ZU9l5}0XYCLFyD?P;joEP5Fqusvj#laYU|8P0%bNO_E(}o0-*2PXV^d$Ut z1wk6^cHejVT!A?d`MNc@ zggM?l+Zmvh8!2e3_jBZd=Xvu3TzWit1xrHcZ>`Xszz7pI0~@(L`FR72|C7o3n4>k> z8MreL{s9oirmnLex^3LW!Ac+%>CENq3v3*4K&i3#=|g+Ojd{V>pV!A*qtQ@mYV!K8 zpT6i#4q#WePkVh33*&~qUI`h`csCKT!=(!B`L_HZD8pl2i}l8&&!J_}|5=-rPpB$1 z(QJ6YP2LW#dJ_yjFXI7~#mp(WQzAdo=`pJ3%UGzM4}Tx8eFnkjq*onLRHakzoEw|L z+AGUH2Uhh+Fm$2qf_(+`pvFY2dJTryg0Koh(kitJ?@TLb_9>Kk$&sR|s@w&}@0qHK zd8lUehkZ$uSgM>$&};@Z{iaq@t|()2L~6K_ri_~rm8rARv8tjj_k7x97JMrAX+2b` zwi`Z8ogS!#YHfvts&`F^$qED-@SUG^Om$lLBp_Wfx^1I%I5~mNJ#eA2?9bzo&@5ByDbQ!-Tx|5r(4hHc*hjJk~ z%k;T_vVL}kNZs)|G^%J;n-ROw<-?-5698%uIiWY#kG6-%u4t3YU^4nB%KuQV?qX5g zrV5ptOfl+2$1UKOSd7fph@VaAI3hmC@j$DuH7goOTcb=x?US;U9PhGFB@Q7uCRDpe^QK20TYSWJ{iyo|$#Xfe*X=nk-nM6Th?0LxWO83;5< zgDZUjEld8eC83%lGcsT&3&c>S+P~1E_7BcnuVhZ$GC(Ss`@& z__`gX(!gXR67`1HOlEFOb&?7bB$>7ltJbeK!8YE?v%kJH<&+4{T}0yXt(FsUh(qLhf2U0kX# z%#Xo`aHFYM82fwq8R#`XrN)x7?t;$5DwR7%jm|gWT1>g=_K|Ma+jNH={s~k*mP%Na z^S(yW4iPvc~heH14+pkZ)e!7sl zWS(T<15afaiSsD`ODGeC%tge6RB5GaK$xQR+LH{Y^zYyqEA_FTztD4$uONm!tnAhA zV$jr9%VK5;47zaj)j{0bdLS)?xWVfdj(n{LchSB!=MK^=uFs$$UQ-urQ@fWg5ZJfG zg2R}_Yg%8q|%|wNIG}L54zp6@s?c$O*NcStdD1*5BK~gFouH1Oui&w zuxrA~7A4!g)!<8n@UUPK!Xx!O{E`oLaeM)m=Z$9Z+IXpmvl^N>L!NlZrlBWX1P-nZ z0}7=LFMcs1(o-S@tEH?n+;x=_N=tSVxNCLNQ)^Ef(R46shgGU;9PSmQW8e$#4 zlzGuJWu$U4rp_JNqsaB_E~TM-BAD-Rg27_`MI1BUPZ2<@>BgcG zybt}}>Amr{Iu+cjZT(){=?+R5B2lDDW)TWXNv8MY?Np(=Bm0y@!Z`$v7WIR%p2tT# z(C=Z)OJisl*LGfN&c%JcLX{P;4w`lvYY&N!;yh_#qR`>z0|;@V#EJSj7tgN9MFm5Z zc0KH_DOL1_X~yIUP_r~LRpQ^kaWJ5H%MDdB0zBYFe=i=~7+kC{qavjQhx$=UN)&r# ztxI2P=@wwj#r1AwSEVT>qzP%Fn@iFup3!pVJ2@DT%Zvf?={ia~KUBn|id1cnS@&L@ zO$5bu>cIkB{QOS689~hA+e-YJZnZ1Rg07t2BlDc2a~{GW8~0ic(P(1*sW(5L_ZxZ; z8#YKIHp;WG28Au^Y z1J?zH#by94gNG33FUjXLV@xZ&kUZTH zg<4I(Q&`~iH={QLpYIa}=_JwBfodFIS4ZW@WU&>6V%(ecz-(`sXHI3{{Tr7P!U3;d zY#ie364n6q3!t)F@pH&2Fg}Z%c2rH302aMW-j@+hEiF0Tos7A6n?)<~Yl!T^o661v zH=Zgh+%(?jDP8g6g&TGB+jwF*LC-I6nFPx*u*W+Vf_tvU)QbR}6tWX~D8so^0R>9~ zuUN;15ZY=pUR>{8K>_WFBQf*%o)pS?bRNd7A)(m}SJ!<61vCwAgZi5PrQBN*e~^V9 zv-SG4u0nXzT_l!jtN~%f;FVbG3w}lfOtiMVus0m= z{1JW~LfdvR37z8cF&-zFBs%)|l-_2;WpLiRNSg7kgFB=N9`2H0F}c*|QB|L*`#Qxg zB$d+xnJx2hZx2Vin5n?01S!&`k%C%2nL-pKFgfFS8?&+~;AJ7tBN|d1(8OFuj7usF z82PQL;Le~AQx0>?=+;7cR`=JHnZ5jhEhV!%WW;R?AF7;7Ik7KNGcq-vqUi^XGjlnt zwMq>JvSlZT&9>Or^Tf3+TPtu3Av3J3796q|H05LPWP?yQo zIeY{125-L)6+qQ1QLNrOlW8GtsYu_l zox^s4FDQ(Kl1XB7Cc@s`3AO@9*z-j&f9~s)o@y9my~$YL$Ozud zc0e5WY@(DQ+Ny@XJa0UnvXrQV)#zZLb^g$(8|;5zDLrm8>V_6|;zySTcgvwU)0@+N z*T-n4Y=9%M;K@(L;o%nkZ9D=y;^$-je#|T4m2-U#Kxvsl-pg6h;3pc3C8~u;E_Nu} z7Xl+RZe?4@yhjQB>T$%#-!WZi54US#RMY-_w#X(J*0u4x!NHj_);Q0V1wav@M4yo3 zKp`o0%^2B49=1wVT>|n7wX$D{?NvH>YaaQFs9lNt4U6`)buZ-M!QMQTR#^>vMWcOt zefMw+Kh`LI*r}P-TH|o*2UQ&o3h8%5qddvjqKd>cp{kr9a-&%$tW*u-6pYVb>MPi) zy|7wGy?icd=3rN&om2h`@&*0Xq52mQ+ipwJ?pY${V1+>v`HF_sb|uXEZlQtis}!Cb zm_+Pr`QFprhs3(}NnEcwLoeKO5FMFh(5$x2W0Zekv&0 z+nESynG78XAljzyyA~O(k)l#E8!|HLw5_vt)>{B~1(B?Cw60(fLzr|Fg!>dk>3c0C zOL~#IQ9mHh$M6GuL9i;hPT>zdb3W&ZK$G7zrKM)BJQOuiSOZ`I>Ob6QEopE#_*r}a zxzuqem37vsb2m6Mw=4pn3~2;F;l|Is!IQ@aa39O%uGV|iY)L6wqT%Q~3mRaj zP)+G~5+WN*%K-gFbB#FX82DP1JS`TN!<|nE)Kygr!%pLO%f_I$9qgjqgru`T6moTu zKVK~wtfXDHdxJi2^HnDdsV_!F^#hb2ficWg~M{*hFQW0EtjD+!e zhzA2YqL50J9BnD7YAG2`Vhy*ETSrZ4=t(}iGWT`3$wMumCjcTpc(Ks zdYe>DbSiU;b{vX_lU%Iy9M%1wz*KS-y{N8n2N-dHrO?6t@@c28pCz+&PfAS)r* zjtdzE+u7&9uC6b$<9c3-d|F;86L?;`He@Z?E_;>1o~h;Pj*CxLTFO*s zN*tV7JmVXM&;UKov6l+sdC6#!;;T@=QCz%~h&dh_Ptm;mYL z^tuLrdbhKqf!cL4CU`~{D*IUh%5Ab>%Rf@9&14LoLzK*DaykdeRkHT@Rqh#)H3yTd zfZO*6>Dr9#WdLS3r|uMSc&3Bui=zGW^XF^J#s1*=ljTArkdNEQ%*q#saKt=EG$D>z zcF&$ap6ZNX^a7nW$s!5niVK%b!YR!XteiPjtD@Rk9H>NTdK2;Z6T6dJa6y&a&xz!v zBk1W)9rej7B}LV$1D70#Uz-Tn)0|dh9&yH+Awp)>ex-d9=PxRWFXv-AK4=Hq(hxUy zXHO00DYt}b3eM~eMKCnt4ibSfL7 zx{XO0jT>wbp4el8w@Dj!z%;YgEuWtD+4gD&3dF-E}OY3%nV&oR9HfntHq^4$q-1IcwtSroZh3EwCb#;Xml{Gs7j+F>u;YoK0O@& zM$Ll#lGe>lubOtsbflmtfod`aDdV#0piTu_)u{SYSI(KnhgccfC3pi;bq5{Z$0|)h zYvIN-+$|fn+aPdExrvuaq$i6=kf+*I*eetjS6VOTWn&0g8M#RVRo7>qz5feU_kadx03c9_3b z^7X|r0XjA&GH$PvJX%LXtLMUKtydICP-B_45TsYzEjGUV(ia>_ z{pz7g6R2-=FO3()LY#=msW-o3RUV9ip4S$^MCD6o?cPaj>JiFLy5eVy+xSg^cpOGtZY z=VsW48mA^lUpkZk#t0SDHz*kYnPwk${-X3mAup-4Ji|&#df*k-3h0ssOp*bQXweMR2DJ-N z1orH962!#9J?U7lQl|f61PHE=68}=$} zg_~`P#IldR`}*rgICSYALZw}qAQ)2JW7o9nl^I0IXem18Wf*PBDtQYc$}@%;jPuRZ zs9{=@v@@g4GhI7F|49BkDX&TU_-ggYVR#0*lD?RliAuRt$0E2b1{eYhhC$P<5)(@sIqdzT)?6zy7%lP-6s zgtoXmc0)=s0Wm7glEDR0 ziITF7baI{w@Mp{CCeCCQsRpz~&R}5!J9FkW7?PW=Bq}l$llkxiU97hORR#5#ijNaP zhL#+@;DLTYOUeLF8o-@)f?nMpdKZ`G*A2y=#(3{?aqO^++SAKdjZ>mY6rO}#c5No7 z8zMS(S<;o9l+kIZ#7fgLEY^%9cf*d5&d^LIaX!0I2IKwbDY+VF4qm*@MKS|(O8FDs z6~^IEBdxUtf+0FX=D>Q+XaufNRvtb6>T%;wKIi-w{^&5K_v6^y0&3yjY}r28#T&Kw(mJcs9!@&eFksYG9bqJ zLBIhD`D>&pTktl~K**(n-{K1q+ai%JtpP*uhSANla67azzYDc%bqd@AwX8ErI8Nga z&>=sMH7>p^9*K8@6VM}JnnLD!j;-fiP#PHm1*vVI#mRwVTmAOn;s*PYMT6df1u>LU zE7?;B0#H2_UqXjpYuAijWLPfvS{jrB(p*#UmoI`nRz$Yot$~i^TVM@smll+@nbR)EB*8WC zJqy{Wuyd%-sFmsw2Nc7S1@XR|mzE3JClL+oj`>`!N{ypVbdsUFGBTLUT`DVBu!8yp z0(lKf7FFS#jtNOb?=^!&xgCRlLE?75*B&>oAiNx{Bele>^EoJNiI$T2O-sRf5i1NQi5O-+vZU_s56?JV(GRTWE1_pYEztz)MO+8O$HH@ zJ(w`ZK3dH|+qQAo`)XbhJwM4iID!!D%!`b{ zFD*s8FO+mt4EW?y(8<)Qj4GU)c6Z7c!r;s%)8Awi$e=S{zLS7n!=*DQ&W8N@ASsQk zJ)vgYeh89tgTC1CCPOS|t!rr3!=3}hs~LyQqz(wAqp_R8)XPCl`4O9pX*XhvHS@I{9+F)^XTSLw1@8<(@qqqCm)tOv6lb#LP z2sX5aPOAldRYpwVSzQ;n-dG8Jma>T8h!W?6)^H$w6j=<9c4LTvVu#53SzjZ=JDl`x zq6jW|TMJd%)Iy43@}gQH(!jovf`TRuS7C#sJ}&pRgC(VxRlx4Pkb-hSQtSdBYigKm zN0id>P+`tSLyD~d*!r%UP8f?SeQAl zv6==iu^>L`tRTDRc!EOjNUeaXv18u4Dqg!gO07wlliX3t386zHGL=j$XeaMD#^?SW zFO5p*kc^RYIQQ53Xl(*LDwF}sdqqL3q@3--HS4r9rHEXRGaDW?3 zda+D+>!mu6*B-3_^mWVkb$GGyqc#6N_2Ob%Nl8`v9axkLQu&}OLVNF&FOXv81-3Bg z(}H(pDF5uiV1&X!=y5nz&)EpiS@4=7*RtD;v$_ay3ss%C01>){!@iH!PSU-(aRwS? z!&VHOeRS$R`pVW&vw&c`k2gOz)?dF;pCkOgayc?6T5YlwN3OB11FK#|qI``B9^MOj z9Y&)bvWn#0g&Uw@7c^m&8pzp1vU+N2EY97~NN#(UkLtBX54nI(b{4F?^}Ws4`#YN= z>?|Q(9>fefJ_qX?e_4OIv-eW9sEYmdke)iV0O29*-VV>3-Yy10xX3OZpj&zK1}8(1 zECU6)$bS=?_?O3exB+3+m$l^{(z!5aKR|>VP>_t4>z7w*a@{HJnNaPDBr#_g&LMP^Zegd^2$m z^4j|GXlHll=&xZDE`Eu+)unv8l2GeLf}Sf{^A1IvrcHw@EL*s{-oQ#%U{BTN(>AU? zAE0h69d7;wiM`(87FkT9hd0-}T?H^5ule=a!H#UfEte;U!%3f$0;0j{ncf9({uU>f zH&>@PA*3+f-l&~zoO?LZxn4Y71#2*-h#PnTWumogWs5C5j z*_jMfx!Y2kvf~{Htq4iwiTGI9!wmI}QSpr~21Q|E0g&G9Ok3v$SYq3{?JK&~c6aLF+`sQ(u2|f<#W(i87io zWDV0tZ(soenNCtLNV{M9DEhg^?iPblZA6y@b&isB6QYLu+Cbp;5We#; zbTX^RhL3-wiqbEYIu|14PhET~^Fsr7RhR;E_r~HA`v{&Ms|f|pKmC}n7ufJIOuvAE z|B_s-6wEAU%D;j)0}Bu#FosBVj*bDPS1xOva_HQ>xA~W6MKDSXzTiYHtIX;;M){Rx zGSvfitkW_|Aj}3-hxq4d>pO_^yrOKlgACSswd%T=T3{!@|9|Yg`F>kBk~Z9b>nhGL z@rY_$v}HS+6QxI{BwI7uev)jbU&rI2C`x9VTS&^b+P_@Vdllb}ea}-14$dmd%gp;N z=}yFhrBEmo3WY+UAQB+M^{GmQt}J9==(>X*;FYdeN{>h*jaH@XY6j`(7LCkm7S&b7 zzS16WmU}8TRiNq0-<@yJM+44aY5Mu(GX0qJyXgnS+;qML6FFW!vypFgahqdw)|uiZ zvye2Iq>0z4<)5}&$#-g7q8@zmUWF5co=}eUCj%OmJm({heV-076HOrk1LdgOD_Z3c z5C9iv%VX8y-mGm?>Pn?M$ciSwkXdKmZER>#*rnO&BwB1ARSHCcrl~a<3s-R_AC@8J za~i(4_$lUocs}5^J>C1@(n9+`?zG`1QWiWPuug-XbH++IREz*6nosLM(L6_H)Nu9H z)<;HXDqLSrnh)+Q|56n==~o_${BpN48`lqsMky-Ud7VK-v&1b6Q$Dkv=Orrd>ZH=a zspt|q2Z(zqTrfZ>yI_DH?12Y)FU1pbCW9QlGZ-0(j>qS72_a`RNxz})IXg zW~ya=@xd^%fh)xXLN0>|zB8EQX>&N9$?NDlu#M|gSGek>dmcxMV1zO>rQHA>ELErD zS+A{E0H%r>*5~MCrSV+L05EkpWiU(gdfsLQ$NDYmjllpD2j@J6x8F+}_DkE<)iO9; zU;G+0vF5zD@J$v4Bu9zks6eLaIOCc|&frxq<|R61V`h~0oG-b@g))uhGp}hdT}exu zg7pB{+gh7xCzEqcBVlRQHdO2AzUFGDyE@u++COpg%AH!Hi=W(KwtwQ*)snbzMbg?@ zNWxDh!ImTCs58n>OO%qDC?$2X>8;9MuzLpg8EjRuJBs`)YwzZkWe`Htv(SYsuo{ur zO*N7XEhZDk3;h>r+`b*rLq4SYw{J%TkPlDh)?G=3e*F+9|I?EZ>kH2E$Rf2- zN;5z{YgWk?nw5-*o}ppQFsp%nXw&+ejXNl5L&qTPtrBiBS!^68lgg2(2APhAxLU`D zo?zR;3yOMTTw#%ikn_VjvBFX0MW*ytMm1J8$I&x)&nzjP(|QygUSG^b)R(<(ec*mt z9$w!`?0O76Nc$6UA!QReaNUR|b9(cq+1GQFQiFQ@%Me}0u& zfl7eE9htkE77Q>ge}1o(R+k}8Kh5BVR&viq8lkiSkeRQID7Fo}4_Vk~6&{$Rbn?ML z4{yzqTeq5pQY%=i3Dx?GeezP+^F#mwIp`3cJ1Pg)7|}!sqg_|R^47q@!51ug(0qj% z%Gk#94E!t<4hh^CQ@>H&Eib5E=she)OJr1IOB8Xel9oH85eogr2!sg5zXGf~BRCR^ zAh<#U5BK9Yg=Cj31LR~%up(d1%L}pZro7(K0HHt#(uhK&Rj`Pd|(}){X zrU|jug^p#jR8y|pyQ7bVnABgOQ?|?ZDA5#0AD0f~o{lmHP3U$lH!`X}8}YLA3Ab@# z|BJs-K}2~Ohl`aPgbrPqi3kXv9#6Y|(M7mvxV7T+*CT6Z=XZcs1w5MIHt3;>BS4)P zBQ5SQh}JK7=cm+@Zuc5YY=059L5qyP3yiR9tJ?>wqF|lK2a*@Pet+v=zd|JF0Ppw4 zBW?^3%ob!+xuDykfVLB&DD3RSh^Ije4e?0~X;jXvkJh6Q3*wrQIMSFG5gL)W&kVvM zLcLPRc)VY^^T+-&jHNmu_^9Q@e53_HK06^ZeGT&9dO_!oXY|B^9eub-Q6sxNy~S3s z+}I>fU7DgMjna`s&y5FVzE5R)v?BPWEpFlKjOG#$6tY3PxtNIs)ebw|w=jDtr-#^P z8zF-iLah@(l?U7%x?-Ku$19_rCed2UnCbUsMs# zvA0TgcXDl|O&!PzBis4HLY+US%@?R##p4Nl38lMSU)zDbIti%9)X1F(lrdPu@LPJzM)8UBtmNek3>@ z#7s*D9`<0U~WP2RRxfp;t|lt{fmVmp7t*yaM|8xge72z_I`V|aQnj#m(FV`*$WNRnMB)_0kXj=v%G|OY>Ta`)W=I#)kr(GCd(~7sjjdY z1rsfAoOjrHL7{|c|k4q2NzG=_*~MZcPBb;DgQHVmVICiA*kW_}1-cM|?l1km?y zBr(19sh=1Oo^qyftQ8J0q_NN7=#!#(9USU={sjgguRB@T`AV`^ewKq)fojsaOpS^M zEpS4r|JXS-^f-BL-~^V=lg{jIMqAfIuhQoTbSU$k!P!X$TIk7Qd-7PpL?rOZCBuMR z<4JxUKe~b@&e`I_k0=bb6+;q9z3J2>oH_HJVnsDk_)?r z3M2eB>`gCt^$u9Z%_;mO3U-oh05r$y0`+6w!Fr|y2`Fl#x=x5#igPe*kTMiLaVkj? z%$g*70a4>9C5e3~S)ADb!_vj#!rAL=m~vN|R@#dBCb1O*o(ce2lQDB4S0ub53%P*6 z1a^|E3@zZ_8&2kUe}Zrwn*cE6Ik*ZK=a3(7gmsh*G7H9|!IjK+QDC?k4=JXUNO&P- z;PqtMc@HrZ>Pw{}a~p~&o03{8Rn8e)2(+HSWPo23YE3aRfG60x=8N)dP%vd=Y_+~4 z0uF?ZLwZWLveXnH5mDtQP655IY7ROfOIUO|U7G4ab=aXUF7O}^ z|AAyta5%IQcNei5OZxNv>=NO!j^!?OA}=-Lj!AFUo%Y2t$hz+OmJ|!a)-Q4IK?9tT z0lWqPmP^YGi!{tsbN(f?;jFv*?kC=T0PptCUel0^>j{D;A`Q0V*w7Xgv3G_WjMUWO z6{=6z%Lg{Z^1MAi_Uz3{{@&;PsN_#?z+Fm3kw611!Z3UM^9}#I{Y_L_P<3>cx?TS% zh&S*BxQK`_f{!*vi>df2^^q|ig$QTJ%?$2$nA)S>6kaDD&5*^Rw(>0l>3l_TE5g!k zL{=$nq05XIu9PeTE+z9IH2^bvnj$R)HG{EMl|MM0yR!+9K8B((?7+>9*HbyHyhC~i zcfJvhvOD*5f@CHlu(lrD`{6!4m^|iNTn0tfgd-Flk13?8RX4Vjp^2+0aPdZmAhBuo z7pe%YQ~2b*H5d%TVu{c(LgJbxULc6sC?ww3#O@W$7a{S1CW6~M4V`+ZiIdCe1mUIR zpY`NBO+1~B-+TS_$)BRcCyFe> zjaZiiXj`#Gs`W`yj}%>`TBn9MV8SCl))s<&3sJ6m1K2AagEi|Gf@aN~R)AprGB1qw zcmRzF${HzcP!*Wmo6u~cE(IJJEz!q;q8G@NU?;T5>n`DAu44p6B8KH(;PDv{fzXt4 zuAgJK=J2qHoV~L#@PJWvCN0U}YdpPTmnxWwyO2=HkW6jqEh3dvbZcil=uQy01nmVuOL zRgolHRTyKV2m$dVqchNGiE^nBp!wo-O*2^YbHPgrmafnu1hf{v;hk}w98=_{yLdNA z$jCUsjdBk{jI_&Yin=gKeo1acDEE9D!E0Vg;0Um^4MFCV&3Y{ z4Kjq*eFUm@e&!AiQGHwkSzp|K=`TnJN!jT#wWwl|BHW)1vX%TOG?8+jFc7Bh9u zF}a(@QPz>*$rbZh6^o_QFR&wc${A0Y%^33|=IR*_b@9BRcx~Y7UF%HW@I8d-5!Z$A zeJrPx`BYn4se$1l5xgW>RL-`uNjgvho%f3eQtlAX{q&~qpxwv|LTE~o&1Xe^)BnbF zNhl4H+hRd_Nu zUN|%I)EIQszCg_f9opZ;c#3crEiZ*}v@o^40yjJh zlU*!R^0qC@C3r|xG))Bc1r+$Da*cg}Vtitg3V6&F2r+~!!3+THDkJGw?%qaCz1{jEzM{~*Uj7T=FPz;Lk3631AReBku+ zvC;_6GC)}3(m_u?GJdpf6=7p%J7FST6S-NubKE0NAfPK->wnCk>>1mlTP4Vea!*bw!HEyu48`dNEefwponB(p`V5c-a5zq57=MT8(DnQqqGqH z*4A>COSe&64-GKzN~_5%`$m8U0J%;!BHXYhM%}~(x}S066XmaHKDP;vz-9tYfD&oK z%=h`ZoNqHbI2`9Z&~n_1YE~8YdM0~>gR%ZdG(TO>^N1AzW>HhQT#k$>cl8+X{cod< zol%z~(l%&TD2IjE^ne9dT@@`;Y)Nr0HdUu+h+OfUQ$4Tn_@C9m{ET0%(x|j1=5u)% z(e#>0F3&>0Ql47nfQ2vuW{0ss0ZH@q(_=6WdtB4qM_u#Ebujo2qEXVkl|>7VkFxp8 zrpBx(8#1Zst$H2*&XyLP7>#8i;-HF{$ZW{>&$3E4c=ZFU?f`G-Y}q?Y9e-}pw9xib zm@Ct^$d?)fv=tKWD|LQzF!;pgzaRk&32?aYVe;BTb~jfg1H>m(4+V5&bn+gY((Fy` zR&2ePH4-3)OdZvbi~n*~;hdN+0B>rBC6nv|%<{t0p+ebQ0q*7)=v z!IF|M3Ec~w8&9v|9_xekm6~DP>rj7XDTfw}b95h4@03gGq)@ptq*Otj7xLLMS<#x! z)A}aWbP2&}0rwx}6U#EQAmcTo4Ac`dO6AcsU{82N6R9qh;K+h)I?}^xP>!DGE(q`$ zu9=+Bb+=T2F;^}PUx!_P1fMHLb#U<-5@Pupa|c~619-Mu@3k#E${O3XE`0x`~}G>6^`dnr)mI7 z{(=B;mvcvz?LJH@f)MwhC6&WrPA!ng2rItyG}y|>yDPs^HMYjuq$v273frlK zdMt3#51(yBp8na6)`Cq{ zLf3;Tbgy!<$}-CdoNdzX(wL@~7Z6pITye@sui4e`6t}Xqd84?eL5G>Nc;T~jqDwP& z(=VDmda$gh<=_?Pbt&pam>!_SW}c$F+ke|@WBc>`7{tNR_Qg2f##_^;cx~WphGSTq zlDV9T(~2l5W2K_TF1%9B#gpEh^WFg*LdaVF8_9Y}_5d>grmTFQ9t#R>qL3ZMRL(>g zm5G|e-W1MJ!{aL$dOrvt!J%|i%FAXOj+ctO!s52(Dpf^?;BgN!ep<0WS!Q*c7#p#R zKreaM@4ZjY0_g&VJ3}x`<>D1sNxwhD0`vqs>rd``^vgWiH+K$^SH1}8#v+2UcJChE znJgtJ;7IP`kbbO%gpehr%XStg@s@etpZT4DeDAO!CF!>5R3pU}0eS{?O8~q3Tm{rk zloQA~vq9jSEUtJv4;~G}F@j5$lhBae!97hYw+OaSStZun$(#N)_-@A~%Rxsfx^o{W zh^X2NFrOC8^PU>|Dtde*u+{WfG2RhI`8nuEJXLeh91NfeiGcR^Y4f8Q0y$(!5*Z0h zNCtQ=Awxn@JTBHqR$!OC0SuA7#n`E!PD2E~#k(?;5T^>;1E?)$=Xg#AAwtt27bRIm zH1kqi+M?99Mwdt&e(Peh1U(4u9r%_XrE(k>I|L=z4|DS(734+S%H%l%J;Bs91i5#i zewI&~T%l?%GK#5ShJllzxXM9V=7OMzz{&1$IVj7#0jR3&3?VJNm)W_%bLV(&yn}#H z<%q>4Zh##I7qbu#4dd9c95C^WOVt9G`@%Htog0i;8 z?s=(e>FUd1%6Ol}rSGo6FJ-CcH^NZ}8coh>BMT;H#dzeZhk+sNH#DVAE1Bh~WS8ZBw4_eKikhQVUuVRrM;yPi5Vu*ETVco(GElR3d+EK(e{)qN> z`*to;-F-UBN`{2T!@`d6bsjG8_U(Hg(wKG{9S|Tqa2-lYAV8^(5P2c`orbw*NsDC1 zl4;^U(~>`U>k?N_TgOjB>3%1aO!34oZ^#lQHeL~ZNiKFkBk3{fp*0tx9sV zkZrNOiCaanH(`6pwv}1GlBwzVc#9)2!`2PL}?qGPyhgNp~mlYcPQ_DQw+hKvzVIR5p z5W?b%q}X2jzRk?@weP$5+}JwiS4S>eZ0~JI){u`B;NzivapE3r9_?@PdwMn<=?fud zgFx4EHi%4rT}jh^zC`H-*f=J3R59gS%4jDq6)6OK)>ENbO5gHfJhS4fR$k|cmW7@} zXBU}u8K4M%cxO3^Gt8z%&Ig|allmDrCd3H zlGxQDxbwBTosE4=ZeeZgB(kg~ zdZ#Ec3}t`(`tWFrj>WH^Zyg=OG1?G2Z-$Ka!QtPJcAh*v30ZJ{0$Av#UJ1WSN?|3I zP6C-{^eTPi=zf>H#5i+>f8|}qn-CY`Y&v@tRl`r6@!YJd+op~d=aGWoJo4exlvWQ{ zaGNrRLS@cEbNo(L6ZL={$a$yLu?FnC5MS9EBEoV-f0o??*g8e-C4Rmt(NJRR zty)5XL?nm|d_+3G!Ui9H88C!RkUMP@B=#t2OYT2v$Rj>aD_7p=grL88RIBpBAn0{T z6Glxu@2lm0O%y=`6tE2iSi?#2naC?!WT&%X7bSkNJ{o8U3IruOvkpcLVNBvLQtW5k z48_AW=Z_ll+Pe=Xf*jq_*UpSSENgSo2+6m_!_`4?=ksyOv~Tk&2og$o+~s@DJK)XE zo#ZrJz3jYPd&Rfs@ki*d;#yvk&vuNP!W2k|(WT>^MhMPUin*3o`;sKn!PPZ}2lg%s zDBxkYUtiug`~YSvz}& z=tCE0d^X_n8w{7;Fp6_wX_vc@%(vezfaPRSDq_XQ%^_zXY#lX0^0<@CERG zzgZe>4e{(90-Mrbo4)KPSOaj!nU6`^BfpR`Ji(Rcr4_8%&&(y>T)9AC?YA(9j3@Mw zcxAB8$Y?4cc_|nVYsdXS9rWCEgS0CW=0ZAcxBU-k#0lIaw|Mgo^^%&cUw7#y4|6rhHd#J1HlwD_b&qq<-xFUHEGVJI~Bh9@ol z0czvLE!^u=3fN_?Su3F@1Ly9bCpVYh_o31d`}gDNTNIwsmj=g@SS#>u*GxJ@fWMKi zT42Y*X!tC&3>_8`-tOS83?NzwJm$$9`gF5WaZZHE7>IBf47NTMv(*Ll6R% z^bJ2?nNSEIR0`BOSAdGn&_t63k-tAV^++&MOvM3-!=OeucEaN=b9)OO@rp)WF8VI$ z)7Rj|jR~|3+pLs*R^l}ZB8G#Cs268c-NJ-8oaGPEH$LnrV@TEf%s=eZpO~&;~ za^~tE)JZ@iGa5zE;J42V468hPBROIxTUoNY`cOD@$aivCMBUCZO_x!H)FOMPjT$(; zO~Q7fv4hy*wbV3~^W{%r@AD~Gf|HR99dHF{JsGUUMGWkvLa&m^SqjP%<55MlS9!n@ zWk!hZ6{2&UUk(NwbGSgH5>u>@DKGF-qGyR@)QQrc1v?+8At~ucLP-4~! zgUUjtMw1-gX}>-kSBl0?K(8#x@DW>7V|Ri|Kzf2dpiq`I8ts9j0pmQ%l=lJSq~|sJ zFd_lD2qWylv=Dtq0LCVLs6&op8LqjEh;O5VbG~SBtP)2D8R&$bBk4^dycauqOMeX; z8l^kbig1{8r3Kj$R3~zm#&w_2nj&zc_Do1e#CIx$@vbGkmv+LJNjYPZoQ$&t84Pp? zZcx!65(KOvf`QeT70q4v6T>~7x5L9|wFrmnB9u{i@*ZWhPq()3y&^w zx7a|Xv2BB9rYoHuIrEv)H@%V0!d!;;SJ%&oPK~%A7LAl-WSjV3%wMG$S0AcRw*S3S zxfukD05|359IB<14Y>-UPWw!U-});61xnq3YezCY2pGdegI7^|!_(fGEYE}(1DBjy z;8MbXr(9?=OK)-^wAtD0J$4G|l58#zEd+(cV>{L&`o|52q=7kzOQ16@JF1XiDl+2* zOz9$mPgL}x24rlmciCZtRSDS0h-D#W(2-O-YWX6gC6POWRHS`^H*9spij0F|kedPz zUL3foaM1$^>uOAU|MVI<4QEoJrVRuN^BU(L(k5zZpqST?G4o2*{m`Ken)F=56uUsP z?$?QRVNJJ|edv-s0)m(;LO+U93Z^E+cv`e_lx0<|#z#0u864_zUDXpuic zV%Sfj$taNwB$`x#-wm3|PvIWuOdzJWqU?m8e7IVmF3Y8rmC?LzAdhlYwqX`6tE>y) zH7&C;3Zh}tnz2HRPzt&>rfa8&P2xtarm4_DcI);Q{&_qZX-RZTT{ zfqjVOH&>#qK@@wlw7~Xwy2aHbt(5`_?r&_g@BNV6{cB>Zk!YjIU+)?w z<4JS*Phd_Oc^uqXZwTuI0DfFb!qE{;zDQbLYu#_HE#G0z=GJlhXh*{IFvqGql zSmF(y6zi@aBH!9~$<}Dv{{uHJpJ2@Xum9ai+T(dg%EBdn*q_Px!8G;;vl~y5BcvFj zks=`BIYbQ1_zB+jhHVp4cMK);DnXoNxZQwg6c}<#NnkNjDofAD(4nWW)#>xCqPKz_ z#$8^uIl~q_ip!#hj7bwU1V;MI#ELX`)yuO)Ma{zNu_Iby zfsMfNA_Ii6(FiaCLdXIm>^MOXW?K9wh+B)R+5L0=W$aZ*%S(g>pCR}RX^Y1I(Znf^ zKVjBpMz=R&O}MAt#fZ)z2MC3Sr|fxzrIbNS0tOTV9!5B6|NWb>I0L1a)gM`wm7_|)&n>ZiyEQW-~qNyQmW{;$u6XbSIVTh5gDHC9$1FU5fY-9u*9dyf_ zy^(WZTC_C&h(H6~ne6>TcP~$&436e_@ly_Uq2Ctz-BLuJZY9SD+b1tJj<%AWA%erw7kY5|lXF*gyGuaIM_Wt7FY*I z$p{clO)6&o+1VpCpe_cmIH#5B>+>lY`_0jT*QecsU$wOZC02qxMs@u<>|j zcjx5qcarU$lYPKWwgGq}IovqHyFkx&H;$6SXGezzm|b{w3ZVCQ_P3AF($?PA{)zT# zXCLXw)^j8z$4@tQccsaVXXwch+B-_ZF>>wt3HP>e z9l*gqZ0}H4C-O!!xLV6YFb4=Yb9w`(rSaI?5bJN;Tn;2pj0GnX?>X#oeu7)NbBkV$ zcH%<-nM86Nz%5Em zPduyth+XSFE&AvJv#i-@zWmQytyi}hcEndcNOKfPLM5$yJ6V&|`Ahkxi(3~7Sh-l* zu%DM<3S;yP{^F4N5+-0{bSCP>3rN@F{>8}AS7bpKE9dz*Wu+$RpW4Mo7!RoRjsI+} zzWmSIz`uFBb$jJoY$lQf8a9nCP%-kLgsvHAw$W#IONt9MqozU=Ne(C0&m)#1#MM18 zQb{uyt_)Il5GRom7KFn#1Bz5~>ksGE3kXXtI>~L0@~Q}M91_57rW5smdFIX1Sa}4U z0OS%nM`Kk)BuD85#;3AhzuE|w5Hrv$ z3_6L1wT`UNNoG(K-`IkNWe>_nXE4Fzl5nQM$`0QjM9NjaBq<4}wLrEaYS{R(8^-f# zK2kZ<{5LmQWeNz_H!~w`#LA@Q=_HvTQKnF!&aK-ub)^ zlVrcMBkL_@3DXGHQZti87I}Kj*=&-s5LwXbN8ZO(uIEviQaDmZmM>$v-r#)SbS$Z$ zA0TuXIkpv#QWk6MWDJ0GKZYU5;anW!O`#0UMJdq7CJ?BG!Eq9&po}z%3&|csfmokn zbsW6!T+Nc%5IYSlsB_5vumsFfLZmQ-R&ld2z4BnxmW@N1_=oL-`(8EGE{6 z9b8<5(S;zfei@bV2uzq@SG(@Z_>B|_IT^CjV9;M*!?x7R!`p|{PD^2Qtpm=BGrX6Q zw#mm+qzbq#ss+{cUP{H>@NrPdy+T!8H`ypCk_CbyP}#BnocBjCEIXRPb$t#st=MFPaSorD$btF{1VG;4%O_? zMJha-z@&*%6e~3inZ)eD9Dx@I)LX~5K~NBx`e+16EHV?$&4Jcx*J+Zg5&j&@1=L0i zH7I&7XYI;>p`fh=155=Z3mV88cp|13hG(#KMF6@P638YdNgwJkv=NQdcQ46s{^<4V z-XF~{ti~o05qyA+CNQ!H`;r0Uj-|zwgn{OSs%~R6-+;oo;i}MILus@(YAOEQSJ)lDy&%doyT+r$g~uW zC) z^A5>h!MeN{*$cxcfUApX58&TGWTcp~95#2C1Ciy@&bqZK(AKr{+JSY0kP=}%{b_3W zx{!q|80J*;%$_y{^#%L7YFgZRBeO#uoM#@TT5!E0Pmh%tH>ka;JA zZMAx1;@$Xt)G)JyJYzMQAIpACvgWz0UBpIVrF%;kgYju+&}{H13j^f6=Q^WzzZ9kB zd3Y#MpD#&q4Zi?Sr&sSxyhH(QgjHX$^sb>0kCC;X$PG2RJg#pBV0f3_OQ8zdboXgb z&C0eMx_oRALL>!2@!=3clR*}Sa$pf&H8MVe4V4_je+zU0(Xq*0dacCA=>$AR@!PA) z@A8VXt{Z)Up~wTV^r|rw-zS#Zxt-9Z zjk&`@6X&OV1eO+U%+^yx|8xG*$5mtQ64bOoAjp^9M)Q>Ky*@#fWCIO{d`^1v)jK$2 z(=Etx@O;KC5OFJRKlp;T3PNheGX{6k@ZJzg;W5zRTNGi`bMsrolJQpQgd$M8@!z1G z>(n`qYQM*83J4@R=)LZr)9U*N-b8C^-(kQXt^7>#H_xe2+%wy@jjQ^aK;L0)-PZ6t zvJYuvMgUa%CDh6xqoxFuz_nC^>z8%(njlYHZ_OYeagYF+Ewl)3qR|_uf@Khj+#^v3 z6P)CHRPd>qbo22gjQ;rn&;g3>qx{bglOW1YkqZ_b6Gra<6>+OIr9`0nO-9B>JVV?r z;uT|zss$RcEhXGJQ^~uh{|HXL6b=0Lhc>}sUV41_|sx42s-e*2nlcrFE zn|Cg#nauSh^SKJ^C!GF5`|Mk3|HNaK2E`o4JPNJE@{dc1>wKmG~GE~j^K;>wuur%sZ1CAFdRH1JufHF zh`fE6Xt2J@MKDI*76>0;6-B+ zYyseGHR%5n^Nid6pic0^{2KoA76OMMx8QG)0In9RzDAUl!0=50 zf$s(GR)dZ5_H2GZj!%9JPy%bd zl#=pNDAl8_2TU!>H{&RHp7+3_jx&y2`$&SoNM*)MN3Z{gJX)~#E&Z>`??>#e`tdU@;Bt^d6B z?JJ5^B;PYF=Px#K&}%afK&Hvlye-^_Lh47@Ewzk(N4Y-f!p)3DZ~E&K=}_Qt8En?V zI2aK(Ruh-u{ z)P(ODG-=~#Prq1ky)zwZnwQa3{#Q!l!RNH8;xjkW4x(Y;UhC;P0JR~!{5=BZb;s`{ z6>r`06WfH-K@X|;Mml0JrtcpzpRa*RxLL+`1((j4_#T6UjUEDiCA+)N_Y&gsx8xCW z&S8ritkRx31lZ}S2fhUq-&$(GK7x4~r84Rs(|$vmM!n;gg||aosq{f1rjPM1_tJ3` zww#F)BF>WG_E+%8R z63YbK<`ENT^!WtxcO*q{#seC!&6lOj>mK6?T3E`DpU07UL956bk$%g~3G4hs# z0GBL2gQ;H49HA2TLT$hygi$X+gQ}V^UZLxpu0Vk8a4QUc z1Cwnm;T8oW)n-KZv@(Uq?No2fDD(mrdfV#R>KWflr0zzAvAmGEhMR&1Eti@#FJ20m zR#COl7FEf!%Km~J?{lNFcBg=vgtKe z*(2r$!Lr1TTR!GP*G!?Ec85HqB!k?rk?5xFLao$2?5D6uh|lQEaP|%gcTH#NT3Ng| z+KlwZwp-kCfq3bp$>{GoUo0Ot=*0G4GdP=gQkmwvNz3e>glqN8T$TdkNm(5%i!7Xn z#j`Rsc@=QaZV)oar-8id+I(7ue_A!$1x>%E7f;K25o%^TB2nq-F?nr}*&rr|pB-fu z<00*4V(F$v0+p2-8W-!u$EE+b#16&+YVR~icqWh`ivR0otQz(-g+tgqs+n@8apz|| zHBc^^ph@zbp%5N4ZPADFQ=ZW&Z%ZN7G?h{@Wf}SBYC>0$Yq79pUe`x28ga5baKQ-r+~Elm69HEz_& zsQ!(*sIQ?wxSC4IUp0eBDV#E!6lS-WOmm;a451>6C0e36Na$@#$89gVUu4)Z9j6`b zd{~88Rw;1(IH|ez|Cp})`)70o$M+zgMxt{Lg{{igOX>wOA2|&N*BdfFLc^yiGr=Y$ z7&9di21+L4{}v4CBWz)~v4PtSr?OwcopF3&pK>g^xF70b}$#%i3Sw%L;17y6iM?q+={R8NEE zWu^@#IQMcGXIL^zA{v7A)tSlS=4ED#sU*wNC6S2>O}orgN~xTeco9M~iLgkkWSKlL z13vMmUdugQT0sS}z`}r4bhnRi3$Rl2^Z-64=rFW$TPj#H5;FqGwFkDu1dmtPQhOvX zT+`W*YXWnXtLZ^@e6oQE0J}SnYnBNzh$__Ai7)}q|L8<*!LbErCT}RJ3j1dlZo+;8 zfuFDLK}vOaxGMR-EJ=2+pk7J%%SEV1Tw77(OAU%yOPLS@Gf@hemziU(5VZRszBQmD zDy~@Uh;30bj2u%Z&}Kn0N-LN@1tg4s#U+E{gr2qVL#Ay{1xZnc#YN)DA62sfDOzIU zx%pp(aOTe5-{vt&UhEJ5wx5ta3LUmjG{7z)@2BH@h5?!8lI69Gd?Meb zV460_37G9(4oM0rke&hxUL+xE8XtDhk^+Zn5qvC``{%tslIFM6A|dow?%bNK;Ix=( zI$|zPC0?D%J;eMf18E%zFm>!um?&g)E^8cF3Sa#5g-6&LPR{4Rd?=Pet1c3gNFuQP z?6uYh%v&>HD5RZ_-*qIOlm>mnVZO8*qweyGVDP(tZk|m1&O0^fkmJV2C>jD5lwo;< z;-oFwxDg>J41{OhO_5QqtOJk{Y&4rA4q(2hp)A&0);GZxR$sb_WF2b3bHNu=Xu%Q? z{b5YRZj*wNS&9av*b@9I#TT zi30j|&dt~^--zOkF|xRb*Q2}*9v|XnA()&K68j{E?~Pwoh$4lV3xz+lfa9lW@9ukq z4`YAWR#sGHWhZc5MrfvgM^K>SQiCU3dP_F#3@Il_FesR1WjkLNViWTS{#SJ~~k_WLz8~En0_95BC55 zNEk!L9wE^NljPf`6KMs}iC|VWJq2$L(4Wi!E`vYi--Itm5gzEkKj5=RF%U~GrIG+U zN>?SN&KIPG0;GI}Oj8=LON~c<7s-b9L^hh45fR)n>734R{q2f8mM48iAu#sJ5>_~9 ze6i=FZp0f)u8Mb^ku=5ViV$lE4wc0NjrasA=+QA=ET`g>%Zlm}tr z0??S0Lh^_7QSDZXLmpCHiz_JmOM`4Ii+pKw*&+)yn5_~u2`(d|f$P|B@O0(;XJONZ zIE0W+i?66SLnl`lE^;dAaV)U`=h}*q*D^{imm5qB@ztVUwAvKoZo_y1_!LRb8l9z{(fr3a-Pm`#*B6MR1PJbq?;uTr-Z zt!_rTh^j$S@`tHRQX-TNdX$(Eh3v+KUR9 z2qLTsfWC?|emgso1#} z%C)Jo$AzGk$h^v>?P9ARCv|5;+*0(tI487Dag2uV9hLI&j?tDzY-F)-mO+=@GR`^Y zquv~wOI{}2m`*!a&9YIId9C|n)K_5{ms1Y0IJ+?mKnjHowXr~Vc0x3a!b(m10KK5T z2ikAbJ0pCNAnoCqeLK~V;zf{TWkSk$HW%7PrQB{nr;(z}4;)AmMjfW)M_)wpn^`N` zqf(B`9`(b5d(q*TM{&RpK**qy9qnz(KXNn@zxMs2L} zIL%{dmv5U}dyls^w|928j#+?FUF`#9Xs$$}f>^0j!!QfPRF&=_kPd`~=&wdzlR{zgNL~i<*@lfQW)eN+!wn?goNcuZO8BYhcrR4BE)yr=0EBAm{Ng zg)9eMsqLF%S+rAnbJ6gZ=}-h17fIZBmL!{7hg!6to=CJ+TJ?a z+HcEy?$R5xo|sjNg#rEU^bs53zha&%BUWZZk|XY-Y^vpWs!IBShZ=Y1c>fpcLqu9; z3uPa{-yTs)ob7NN50!{JuxuaHE&z7HAV~>Y8F_dg_eu8sI;xl)5hXx=T4@xdL^W{q z_=aGBCuC9dr@eC`Va>|6jk6^lJw3!O8@FgcvUtGnMC^owUNRya&I;jitb4*w91;RP zK6rLS7WqF+Y-EM8NsCw_xOA-*2q&`Wl!*j(J?Ln(y&4^;&ZWYXUpCkHGc4p74FdRm zp02de0*~7($=wld*IkU0yNKlQ=-YooC1E_R?elRZ`L_rd%3#&NMNF)_w{G3Ji*;2- z^$|WY$ha=aX7LWe$>V1`yPNI3&127~V3HH=JafW`=qCwK1~==B&|NaQne$Q9AQ8ij z?hFrvX@`>pBzUs5e|;r%0{e2-qdbw@;AM6momIFNE|Us>O)=X%XuswoD3B7z(PPnz z9BV+6030kF7f?D79`EClY>faZ_WHrO_zdq>Q1ff36h?}=eBhF++#u&Ey1r?SLLZkJ zxME08!Vd1IV^{OrkKfxLT=3*C-0ZYJ{DxZ;F1q8LBZ`ZUOZ^A97K&e1uQNQ88=vwi z^*=ngkK-gSfJ-IV+~CTkzN*Kk4#0*-TkQ?JWU=%CbwgRHO+T#4UeAeeMQ71sMQ?H4 z2-O;!SD>EU0cxll7ZU4Qv%oTOi)MjClGB$;QllDU*<`6=7Q?9?rpmqxB=~6$;q;HC zG*AH!Yz{4HOkw&GS2jnFdtQXWVbE;Unaj0*5Q>Ms7-8W491+Pw!ZnS{Gn4&)${AgZ z0v~@9pQV&6*>>yUW_5(PV_&s9kZq-8q$i-0Pe%81={Cf3hj{IE)g~rbPZU1G6zY6!J4_iP=+RJ`aqAdo087fiUZzIZyX{L0{`-=I{!YC zi>>^%-nMuH{v*C9fx^(k4H^t9JG>rENFfJj#lh3qci*oHb`Kq?lEx4o<0 z*(1bK>0G4?*ENvs+#*Aj3h;q8H6SNfqRYj|`VyO!oWuSH@e0qeeI;nQmjFFJgJ?PE zfM*VNVa=8?-n_(1OxXX4il&QuJrXvzYrA-@v|OyA(FjKN&zB|j{lSj<>-VKMdiNzq zuD(Yi3}I{nAJ4~#b5h$qmmD<(W;O62AF@e*xhx7ph6*$Z$eQx6ESOA$2i4Gvsu!3Fln$)$SWvmQ6B?B4K%Beq#Rfdi;2NxqMV0)R?`F+uz< zLPYJ2q0dQJts42(!&|JdL||0qQJlC(g^|7%5!JR;^{!h&@HTl*cC~mp=?sSIcmrQl zr*G73<9Lg4y&CP4H`6gg;ndJ?=}0m6{a*E@9Iv z3GuU7o0ZJTI6#+^`Ixb;Vo*gPvVh7WQQ5vCm3c-N_M9=cxjC7&l2rE{;Ao$XAi)9> zdVT{-Pi+(RlU{IT$AHD6GS$!g;aVSa;Ge<4fa>Pi4xiWHa}rZ&;YEMM_?PvSUmR|ejxdHX zR$xp-{LVGRLJzMk^b>;G<=_+{{q)lUg-S5WLxPqPpUsIlab|*$#rl&;LZg~c5Ji@r z5k))+QMSPG9US1CMV8ZKvQ(VK?>O6n^o6PtwGRdAw5v?WK@3h%m2a+Cst|<%*W_fK zkuuY4&@{7@xYm{zz8Pda{aYa8u)|fWMrfw+jHjsfIMU ztmT7p!X1y#=kKvoBfXw>rf2rMhD7SkAA$@l)@G%)2yGP7*6w_ERrx@G=V3j4oTnK; z)PqOLDO|O-*PU5hqR&M5qT7Yj@i}5s*G;-W>_zokd%IG517|42H4%5Tnu+~M9EgLp z%$_Z%{$Y22L$-qka?u-q?m2EHe+YQ9wpGix8=B+j04DxswPW~6Kuh;()r-Qy>>(KE zc5b;1OYB>6Gq_)cp#|d^w8<|%Ra89FL9urHWPYHOh<@6$7A6WT4TxCY@7BY2Ayh4M zPT^kp)v%=hM{WOu49e|WM|jz(w=v;CCpKB?k=C4x1fSY5!Cj|0X_zWZzx<&`Q4*DR;NbYT$Cogz$&!T+*>3SJJMs9feWKf=Iur(- z(Zyxf+a)!D1UXpVdVDP1{)SC%e^amBz)Hp|JSbW%zslQ+TqN2*LK(*vfQmc+=$C{J zZy?UL=HiFu^M{nc4=Gc#oOeU`_|L@f_HACJ(!D8mArkqVdlrN}C(62c(I3Jxwo}m* zM$48ma&U(%gcjEni4@L0I!O7cK;>s30$LEjnu<-(l2%(2;F>Dn<)=2FKS|U&62Ucq zaUbxQG^2E*aP>%DFBC3kJ@+vGT=~NDuy?)75%dv6!UlSlb|4@GN4$U5o39@yWtGD5_si5@YxB_6s`D5Zu>Os0e)lQr~oE zL$DHlp&oX*po<-v>iC3)xcccA;D@#TI_EsP(d0Ir*I2}Fs2B43ncoMlotDDl#SUEK z!9tx75$(Dey40+tfiTy?ox|bkJ-z&Du?`4lBtW!uWe(1&b*0fIT;Xe5`b7E=uHA)- z1os!9kX|IOMfrxT!dcG;C~9Gr6FiL2jJF_bH;jnWF1@5tl&3>(Hp~ zyIn^AKcee~%YR$XxwwCYj@J>JP5yWF5BHL$^D9^qVFk~r0($cyy=);&?Vj?L_A{{_>Y>e&yE# zq}6bMQfLA<%IliH-nw8fTYW+&Di{i9vHB>M9tPvM`FVeKiRj(O^UJgTIJtjs?Yr9v zqmCn#5bkpIaoGZoo-H4YmJ?V_By{5#w<{6ah}Sb)u7mo_Cph#Fya^IYm8Z8>SiQQM-2Ln)0rIgzUlPe^5C)2A5*r#WomRO7QbPq zJ4TErB*ET{(=5q-->0k#QAsc@YUGt-cq21ZrBIn8$`@L$=76laS_7v)fE8j;5A6DR zs_|K{P}U-K!@Yz8{Ypnr3jE6-K`Gp?aRjB1zs3<1UEV+8+M_!$HZ5+JN8FOXxey#| z0s*%4`5d^f_@m3+&IrEGU_l3B!FKdX0E^toocn5oy9ge&;lTf-^ zG6&Pu|C1N`u3Xk;1Eof+f{+g4sB(7VTu9uk>St$msxPXRh}*{3(|<27`< zaM<2IkzeiIy=S}pwfny;>G7W27snq#e0%MCIhWnoI%cu$y$$;#hk!?$NBf&ds6qW5 z7upQY#px$fLodO}&+@gIsTspooqm&1uxx<;XX0%UEqb0oHt+D{%`@9R1SJmY%91{RE3o( zgMHn^D8!Yi;SszT4JR!ev0ir~5_f3Qs)$|y%r3k0VQ+Yfhgb#xTub-#f@FpdWUnbR zKp6c;4*c5p^#eX0_UCdYDpzSf_o{1ZdZ?XV{aOFieMPFd>$=gxC9pHNPqUXhbgoys zOXCo?k6~_tM|d3$;^f+!z5BAL)V0{bgV@8<0St?LueowsVV!L_%K%&jzx)Hb((uZn zVgwQvrBpc$7aJznK}SQn1$_zlVoqr`a_0r;D(|GU{QzM_`Wu(cM%uCRn{kM~Vx3?p zw&Hsh&8Ao~gt)Mh2bXgR%aSQs2=syQMGSfY;i{305l%D4yWkOv7=pY5B2Gz}l7$01BTBp58o5mY>1n{=YKg`(Jk~!N`nn91~fZ4bp!hyfp%abawx8D!5xNbx$7-9;S7}NW>3(r6@`cm) z%Wr}%R;N0A?|%Zq_xTz)_pEvD`7Dg(u9{tFQvzo$Tk!4)eA{Zto2k&$3Kghkir$E_ zg6FZ{sVl|Qa&LmGRr%uBX0M|uwj-#8=2?<7urj51;%$$@phl&eEM0+ORP09N+#g?$ zB0}@s1VC?kJL@UkUj_$vWbNLJjUL7MR|SklohPaZRB}a!Rs#w4`ta z!BUVnMa*sp7BG|ag;A5zUkbOvJw!#$oMMvT+ER;Mp>(+@Twp=TT?tlXd{de2kc{ayLW``}Yde9;U3m0BR3qWQyGWsi@gSVdHkY%8<~n9yzr% z%ayI5SSWQ9dfCO~GNgXG0a8Cz(dv_svWw6qNFiroN}=o*q*QvlT+zbyS_`3)G%T-u zbb>2Bj7wFEWPQzYl;b)>Tyl?^VufoqJbLly$UR1Fc4T}*t`{Y-CyA6U$214^2E4dG zmg`4pvcZ?JTW?8`wC5YU&$f^p@5NEH{boGI&cBni??QCK=R<+w5soFdMZ!NL7k6oy_hkQB@}%8Pn)tqZar<`2AHqJ4I7dkXkuILR zC@Dj8?ae!@_L`e_xV67^a!r4SGrV*Lj1%JAosMU?UY$t2CgQrM9UG6vQYyi%JGcrB z5(KmwC(U7ZhBEjEZV|kN;J}i`A!38@rgVTsU@Vp=L2h8raT$mn-?>3Nnf5yKBE>T#Ssin3A5O%PI3q|a4o~S`ZLhc zTjc#&vJ8tC^S)~hE<4NDpupE?i;W=?0wbuwa0PhLo59xr!y)@AW>yiNJyq1hV?j9G zQQ9SZS1nNkRux=KR`E}y!RcKITrr|+CfS-U-DHB{L?Y$ZP+mNJa&)hd76ErLF{(#c zf;Wrg!WudN<0Q-h5Dmc{DJMb1+lbtUDYf%>FWK1n&Bcd!AX(M{Y}b#EH}52fdMtl& zroD}q(D2)fo2QaMdMaK^HqG8#PI2@ufGCUZKIOONiC2@g(LXr$Wb<+oSi9o!WaZuK z2{{d1lf_$Cd!24_aGV6JgEtgP9Ghp9Remq`YiWp$#fRRyok`Qz%yyf)V4>XT9B!O2 zbLV$3CC`;}K1-$pv_4B=0X(@foQAUegiO+C>b?=j8#IehQbt zFas5c;gH~=6`hQ$n$9`7at#`(uS%}BJ}s?4erCe<{ANC%&>3OWAE?zi%mKV9;Sx_~ z)r|3xN~RQCDbD-zJ*5(8(3?4i@oqx7bD^5;_Q$HmBLr+8Ib-h+Xl(qj|6usA~~m^=_s(sogPQ6QZd zhBC&Zv(6N=2Qx=8(>c>S<4yGdHb$g_j0lr*C?)-iVVqq_FVp^92L;$=uD?G@@3IFZ z!SRTgfCr*VsCTOO-fw_+S&O2v%GuOHjiyIgpVO{g%wMR*511IRwHKQ+Nyr!MoG~A@ zzsY>!Hoo&f8{Wto>3}7!<%r&gUUicJXbDTyjo2Bk+bwChk(hJJ`Nq1JwpBed%D5v3 zbO8!|na)Tb(@Bt%4CKHo9QX|%(P7HF2tL5YH{Ft@RkQPlyrO=VzK@7FBHV0y1d!i9 zVH$))c;&iUmxcPBs5GJ6V@x`|X}_@=$)c2kTeJPSfOg@vvuLUV?|++N71h$0h9U@RzouL^gg)vKeHO?Gl%U zGbv#g46wU|8u2H9c0YV52O}l2U?iy=ke?SOLw#~lH?H(OZOU_s#tq;(Aocp-@MH(? zsi+v0XCwc%E>rW>25NrS(1~@6hO&Nmb zi3!61=xHv=FRQyqG8v#>?ikGsS+-uJa1Sl@v4MI5e zfo3oFHvVIax~@LB+WdwClW|N)eogL)oyM4_vSG+Y$d1{(y4Bd7fUjyx1Rrgfe0Ob6 zIEJ;oA0f_WdNHpQ5feak2qwZT1CigF;t@L`&%%fdTe4Zj4&(&SAt10TnC9bBJ6*)l zLHmMOh?a9okTk<18Zi~+!V<@CD4B?>#vn0jUBq{s3|SKfW7yIg{)gK#w`xS2jnixSR0KCwvmjKuzySyU5L(StG!oRe! zP9PX|@AaWRQGjdHx8 z2OV z4^@c3j7G86)61SRqmRwB5vbSczR~$3RFAyx&o9^kR1A6nsxnFEpiNqWqs-wjC>&kb zM(6ztqaKQg<36XMygUpn__rmVO|5*eXx;Xzr4bB-Eo`&U9o+L%T$GK-N?1_7DU_q2 zQ+V;%Z3EYIyb?ozY>zn%yp`#}Y}pry!RTWCL^rXcE<q zaA`tQoCz_3!FK4Qz7MRkL&+bfa~M*tk8`xfVuNpVtsHieIfk8~u*~tz2-lR#BxV>h zqVig%mGHqHN3eXf;IUp@e|G>#$1%sNn=P`YrBu_?jWrs8&O+r6|O$+KN=y zs@AV=)9~&kujqs4pk-n+c-qL;?<560yYJ7Cl>8?;s_4$Y@xly>2CMgl3 zggk~+>e;Tt#vJR~u&Hgn zDbfU8CFkOeJy#Yro%-0QM)!X~Cac5pQHCl*A0b%4)2(bJO$){qUMzFf0W&lWLYxJj z$%@wkY>`Bwvv@2h^+O)p&bJ@o?6n2r9U6pF1QbzGHT6(&#z((@##TgW(baZo0{)bi zrS_+^+nEi$$Izk_7ewfxF`Bse6-aC~IV#AB$%P<%S{7R26~j>XC!j?nX({T=2?_Y&NF?gP**_2=-(M3gQqeO0j3PX z=X%o*Pf%hTPrF0J0jnhaf>^_t89#9JSO}ijMlUFjU1(9-rxj64upFdZ8!ZRq+B9RP zE5e6Ld5O-+vJkC=QwzpV+Pmo^Zpy&5xpD&IGf`;O}-q7um;W0h`#dR(mJ%> zg3gMSjI~xCUGVneasrAh|NeU-8iKA-GJJI+UB#F(&6gKQD%B%i_#APh^B|ppGTo!; zJvfsRHp`-nXmFW%2YM>hu0AdvbG)*`3EGib<2aq*hRB<4lv-Lbk~6FtZ*i3;&j^i{j z%W)+Obzrzu@hfL{g=efDvnS|j_m{1qpRDG2})Ep6h|sL_oALPr2h5%j)*r+|wja2(?K+8yFZ7F&os;EYJ-I0}L+irPs- zCjSawwK+N1Jb0AM-i$8?Fq6}j=G6R#1g_m8`NOD;kt^N%eVrAa^2Zr-=-Z#d%EuYWk^`vyYAG z#UD^aQ)8PPp&`URXK-~;5T9pVAsBn&aF58buj-KWKTBLt8MnL z7xSMR$>!-reTmpE@h>min;Rz^FK^9Wz2dq^4AQpmMva%OB|QB!;l0-s}}9;#QWQ^-u$nV+j5C;ZWK*x81~3@gV$(s=aTaB9YzaPQJ#c#vTC zMZ(rV9)ddod>I4T0y#a@hl^C1{d#Nm3#@MHSsAD2HDPH6@@f1JtXvr>A1$mZ=JU9U zc1A{ASt>_1HNjS)8SG9pXNK{D!Vy2h{z)`B#8_cjCma(-N|Unma+*}3!|}dBuS*&% z?=?Kn<2Ru{sn_CRdpXJUIG=V+Z*yqeu(!F!LQj3>2c9gE6>y$;%!mLgE1V;cDmspd z=b6w&&rhKDX`WpM&+d0%7!Yu5shmGElZpF!Q6)=2s$4ba2&n@RL2YEvlD+QVvuIomtgvW9~Z!~tk=e+r-WUyY0$sAGViyLA3 zKhI_Hn3u4bx`<>Mt!S(%x{_pNS6duS1WG#NE6sw!zp}Yfozd+soV^*|z5`>5{NJ}4 z63e8brsRb|%GWf>8}!t;&78!JTJ>e1w0~-NNkyJ?-&j&4T_yqIPWqOXZ!<7UTt1UP z@yG&c`6HF|agAIO>R4Yy&WIp}n1Se~y_wr0ul&p1^7QCb@fdsY0ivhGm5OOm1$SSu zdlT5Gr>#}zMF39T^ru*q5YYSt=3461zy5N!Br&Rz-*lluAxVpy(L80;k`*1n#Ox-) z5nUj|!k)J%<^8I%lVKwZMRbbjq|SLNSB&T&OBYYUlA4&XkU&t$6^^a(!XkJ%^~1Es z&?HWFoDmKx87K{%%AAwmNqAj|_A#jkjuUe?PSKFW-KHu2Y6KVd?dn2^#@FE@0lnrM zt)mlH_urN&K7)4bsxMqp{%Ak?BgQT&%tlu-Xr_1TO|+&vg4)=Qz>w_>R9xB=V1wal zm}4)&85`otW$odD1omHoSSW;pV(TsSAHaytQ!UC4@VpUbMuwMbuUv2m?R-%d8xHli zh_0R|xaCX#KF{iCCH06pwEPJ7bfj!+9zFWk9!r4Hlo{vMo?j93Q7bR^ z0b9VaibMb`GSam!PdY05?RarI)6yfpC|9xvOeZexu_H;N6lHkOT`$793D#?a5?qO&4NYO2nEK1%&_= zmgOzPwYB9Hu1IACBvM9ow$#7(p}GL-GdsUYQ~Vw-h~L9n_-i%U+P|y%`pC}X2Wg6X zoIEp86rJ=C`<8C%x{z6|mAb`c!b3MtF3~)h9SyK*WXQjhDWUYpmRO3k8@m6uhm&nO zceI5`1OLWZ#hk-Krllt=?|aFxfANO5!AHESz>ECJY|`uE-BPS1xSN?00ICizwYOTW zzXd%jGBjoZtA$fel4f$pGzUyTm_`{$=?Z1!lLmYW-e{QTVIiV78c~Ggp3>`#?gIJ? zhsxtixH561Jl767S5+P724yVrUYF9FSI{SMZOWVxGJfn*0G2pB zof73o$3}(b?D<}{#ymjdT^px@qH9M8%x9E_i?dTb3IUl={>kR!ik#hD&62-vl9m=C z!Q=z0zJ*|4@f*bSE)(0+hH}TsBRe}K@b-4>r*`Z6mb1RBvTnzK&d@Q7#f6QJ2Vi+d5MG%cz z%SOx;9WtKO77mn}a`%892SPURBb=_yhcb1<<;k8*nJ@@AP11vfG$s8d^8wQ61;RLF zDY)LiOV8C$v8)>+CXy+|UGL~mg5XLRF&pH#4Bnx1-K^E)71^qEyj zHt%VJlh)<@{6~b9ujsiUn({kUi`=af@AzNzAJd`HH;6;3DTF=6EtP4%gT(NYYf1PZ z56gR`I0H3znlsLwcJc;t)YvkVrYi3rOa7zvTJFX{<-tv8-J&nOwy3GllHsF|I5UW8 zp-QuUPP=b_Sa*(F`9Mv}KrKyqTlUFPR%jgx=?T5n@H=%O_jTlUB$e~u;T~$J0{tES z#qjweBc`cx2R3|~cU1a~RXlupUBBl_bi-DfP8V1UlIEg<)e}SYJ9Uh4nuhgo*Osh$zP+Ktm zfXbhs*n^XJ>qKkPMgj_AlOdN)auuYEsF0=IWNE8tH$k6`-j2raN74;p8B7)#i56Rc zwDEr(Q5$uWFiO9y&Kej6@hg-`;MXw1B<6fV^8x{s3*~a4ZQ_&3rXy0yt}pc=UBPnE zIgjE(mXQq1JmlwIvVkiRQn|qmoT;cFg*tJHnfaa~P*pr}L56g^W!%_C?}Pdo`dHW@ zfs96ap@pC7$jM(6exyO%_1Da3#<{Y2w1V6(iY4E~UQRSY9U;6|%J?=S;yYn=*)l9{3PZ;l6UADNEClDMqBajyrmX@JpUn!Q%p{ih+ro`vzOkm* zuuCwWp=Olz(o#iju-}2fG7M{@CjKtuSTJH)KF$lRq?XZ2)?u_KTy9VI{55LOLf!~Fz4zk6 zf7S<##+#Ps%mj>%_9?=My$$?B9&x=#`t7{U%Lhhh@RPRyS99%D#UP3q>`(|17(V3` z$l3mx=JsYb4_)w(=}Aff{Fjor50lornLJ;JzxVIm`wr!UYzis)LN;<%6IDWi)Y_tz zF-J#?Yt=)1r%N#$ynl;zdIDoG?h!&9z)sB1-gtoDQyP2tWv)L41D{NFP)&fq%F~(+ z80E&%#~1MrrF2-r!kX zq9!ISShokGCUaI4o~*haD8!9L6#?zi5X3oTZH{|2{>D z#=m~^;ofFtk&zeKU=b78(ixGL&>3xWmBu_X6OmF4W*m5BPv_j}sp%;HBJ92IP$t^p zf>@0wCK3zJ$3ptr^pZ0~_%)lS?wI;Q^i-(tnV5^0)C>?(ms}-@$jD;^eHeD0hc_-8_YqX% z&eCLx=tH*0>Cc{6vOOaQn)gQkk_m-;v7zimHLd zaiF5hqD0S&XvCr@)2kZ6sR965E{B$*I~Tx!Swl84jC$0ri9LzAn~7 zL@fR$t@BNJmalZVfwntiU377^^9CAcza8k=5G_zL+U(+k^VPzc&5 zCLlPNOt%!XZN|zq!{-Zoen85;kgYn3^UmH$f7muki0F{uRc%3DE_H;)5)xG&XhZJDB|bf)&79-cDt44_ z*cc*Gc0GN7I;%6hyvLxF5F%X0(l^Zo3gSm9kkJ?=nY}6-Mz|=Ujy_(_f}qxUAs>k^ za*69}BJuRC^BYyXpH_TuqlyotB4wn#h{D=S-mwD;j{_PS8mk9*cnGWpleK=bi`$n7 zv@Dqq@WppW^ovW*F`xQKGtmU&(+PA1cz(D8p-<8lo*7~(Jgq6Uhn;tP^O`ShhHs*R zx0&=C8zKF)e0*CzNdZPhf}n>QAw`p3>NA{c4eoEWq(0AS8TT_8gbHjkuX3W^$0d1U zQy~n;?@o!1KDMc8lkucGVkqxJd3VziyMy5+<4DUBoSHWHrwN4Mq#}#gy$(%sG2T_ge`yv$~BPS>n ztgoU!%>bib3`WusWwlazo}*$@Y%{o^=38m9bXdk#FT}${C{Qv<56be%_xy)k zQ<5*yIPNUP4_u-s=9O{2XRO-OmpAm|D_>3DpN!#^6d+JL z=t1yqBKERzaLPp&k%?E^#`GU}r_0jFWSKGu3aE1?Q_A8C{;6wpx(;;x0SIlY{o_wo zdp18?@8XNl+jsy&VM;0=%8=AdS-w=kR6OetmE}_rNQFN_2C{xzP6j%13_gFwE$Fw^ z$+UtTX{S^NkiNzmfG(l0od%VPfR^(`-9mrxu#*PcGQ~k4dU*%0hC~fYBKo&B%tJYi zRbi7zRV7pCBuj9{rEJrtB0$-iE*-4AO(iK)sOzn)6$QA}$v~Gk0CGr6+Cq>;_gNR< zQb|D@Maxbf>Ict=>mvwV8s;%Q@xa<0n)@_xHLzJNbE-D;H z^NvR)X&S>|9o3las|IBiwbw<+reL(sk$p4eB=**Wt%z_!95lqKgGu=fthew*p#qZX zD3qC@1YcIbTRmZGus?o$$;kM}j4s}vU$q%D9Mz$aiO$yPzFozBgXf&%DP#x*<7ASP zR=02e^kXb-{%`i)I-ttr`vZPZ(m?D0U8KYS!N68PL{JnIEG!z46jbcO?pT#|UB%Y5 z14YHcUR}jR42(6`z`$JN{hXP3?tLy?)ZP8=`+NU*FCOQaK6B2QGd;uXObgNWD@`BR zg^z~r2xd@Dp8OMvxybBwHYNUL+ znIWki1v~N1vz6`Cfy4;*&(86Egg;CV_0sqB3%O&ga!hAlKauI9z+a>PPwqbeF-i5F}_rO^}{LPAlK_y9s1wmc>(>wkct zSRhk$alctSMn)7KxBt*=JoX_1FJ8OyPdY2EgHtLBypn*^ahyL&B}wjJA2tW!Ni_D& zu4P0mL`ML7yDrl{q#(Jjv2%d=yb?zokU?SIfB&wRipzk8sl z{a`9rTcSKf9#UTPpc0EisaB%$QfE$d3W|~>)BD67i0^0$&8eF zsF?}ov1IDhP)BAP`|t`I$)(m-jm7xhP6VI5z}8GGRjIVlzo9dV#VDw`48VL(1tXB9X}aGrB^sm?U6eimwDLP!sEUPI7PfUoP{| zRO#0iaWGmEn}UZc4q#|b0IReXYWQ$@&bNSgVF^x_5V7b-8m60PM>p?ozUtQzPzPDj z(BgSU)9pf7j^?#PQ{=G|fzieen^o-S_*g_x3k%j1lNga|6e%>B_9n$ZE~68%-yk*-S5=X8vUDLevLeNF4`0bu zuF|rRta>#;o)OZhL$qSWAEM;z2&&43$Xb?imDjq;Js&ZbROnz-#8LI`nc%7G7=Iwc zOJCbXuM4@yYObcz=S)zo@BSa6 zhIM6asA-iCJ1^D3KGyfKu&kYl10CT%_k1U0o4Lyca}Km9WTwQhe-e7K#D4%s=|8h8}D#TYuQ9@I*!1kTR z#R=3_i2c-BM_GjsSMfqte)4jrL4@5=RndAts9ASMwUeYkXHj&-+31?}47F4&QAClf z=)G#R9{EDBDle3m_5q~Ogh*1w0c{C>MKpL(q2Z{gv~pLtRw^Lj-&o^eDQZz-s(Md) zRa4}-#N!1Q9DIqvO_8yK;#8}*%E1TZfC#J(&ReH%iHDl6bd*b7SWP4>#0}V3_cphn z5ht}%&=*3usD>(r6vR$SjnzvaAf|8>d(kNZQbIs^Lpn>Mg*h2b>F)CeTp4Mwju#j4 z?4p?LQD7cS^!&t0qHjyLJYo?lj|5641XUar%kxu#b%%%siUfE>6b?sN`-1!^6kG1) z9YR;`VIl9$;+-vJIFKDiQGKUq2M)NPgXv?XWIfsR0cGqRkCxQg6(INWbw*Ek=c zG;xUcM>4t4HL^l;H0&x^0u%6rl zqAgjLf%RCOru}^IvJl`EPH`D>MM2!iyeJ*s+Bbl zp*X@(12KVGL>T2Drqh*a*98WB>1LCJ8ohgK?b<2PS9aRK`_l0j{7Bht4a? zsc^;-6D|Im*d%UoHW(}BkAdCS>ojpFC|Bn zm{7;*CD>R8g-Hmq6K9r4XjGZ=CnVV&BNU#UF2!SkT+{`R^To%M8?JPrsi1tRFewmm zH&sne^Y=2Q|qRtpxPj0re9Z7z2GiM-L#&V$PN-mw$ z1rzcqvf^jU(7G4n8L2O3Qz$B$1A{k;h5u1HvQvCGkU`~*iH(6!aXRA&5;ma3N8srU zb4D-ttG4zduuK%&SPbEDffLTmpoi3UMq>^WBzHhhLs#*k3vE;17kkQ{+zJ{PD|b{>UC1@dnEYEO323ZbuobnCj< z55tp!hGSQcDD#Ay7e)oL6DL#%RdnH0;DI`Zl`QXEx(m5zgF+J9L=`3Bli4TN8@BvI zIq`&W&qxg`TR)f1ZQJM8AuXmTut=TKWzBOU>a>F?f-ERJzty4@S{_+_m1+H6}o3Q4Wc6Gh_&v-;vk}9c8Dg+8cRiSytGOmgi34y3R9te$wO952jwKoO) zazft1@-aPs@|rz3EWd%n#iU>*bZbpj(Z$QFubaDD`3IFZ*21uAruOBN5_~O9 z?Ha-+4Mhetxg>vv;4xaYMGnO=ri$J=n(l!kl;ySrE^-9Xlqg-~`{INfPY5bRZf+KG-k-jEpL%i-7>GanwPZYh!d zun=F{+_tZ`kDsS^M_=l+^UgFMMurZo32&Th=33ypHPctxO<09;F_B1%ME8T!(OV`QbY85>2K;juXu#S1*WhN4^ zVGFBRl%Se|81h6Xgts6^&Q&4*;shxh`Xc$>S~(uVxI{cs6kUx!7%H%%0Uv#;2i_JK zH!*a`S*?J~&E4qW73&|6k6K&jCmXMd`SSkGF%faZ++3~7lsTfX3|n?I*tUj+l{1#3 z3r9n)=J^oeIdpB)*_Xu7ymkv#B32>UbH56@C{wT(76=t7c<2Y#Mhe#`ob-wkdmRhZ zKBiu@V&T@twM*NtqM(Y4JKk{oFkkM>?W=hUWtJ~@E(pR8B<7oF6(#3hP?}L=;I2?&KE`4UMW5HH{G35aa>WDDhNSuZ8VQRr{!r_4VuQ*|BY* zC~IU{2;yAn=fjwjLfsaFpJ{t-v5I*5n1Hp+- zUg}N@7OHvYMfCpVJ_{$RJf`@k8L9IrBwOX!=qn9@+}!?injr-mi*a(ed3Gi)W5mP0 z(C9P1(exQHM-`5SSgh|v)F_z3*W-zIu#V0FP1?7zcDc;qR<&tTDAB_Hq?_5O;*0G+Z;Q(`kf>HFRp>d zOgqqKWe{3129$;ao0bzLWsg6=jZe+}oemUHkY~WY_{l~zxttR0Zg|#^um)ESOfw?1 zEFkQKJiN%8W`@5^P!XXRzgL(LrtEp9{Q?vC<=?KfU6c*PMQ|ZxcrBF`Tyy?Wbnrxq ztal=u#Nub6qZZy>VZ9ShM$R?rXaF-d%n@751edvt34iDgQ9t(pImcgX0N3PcR7fy*hpBBW53)I45lJ*a?9I;v z_Sgmz6oSG_Kml!edfL|b3Mn&7P~FvIX{AwYh=^WzwkJ9Dpda?TLmjy#~th)M0rMNSzCv4Dx83=%FbH)J8E)q(rTT zqRBFE+5%WH@l{AV&*LizE9N#dQWi6Cic|$Xuw^S&ZbQCn0faMzSgqc*!ET!FO#)_X z$$XTxfIZ2_CW5svQ6>g|N`(68fz!)kb#@#_*bJ<3gc>A9yrr98=67(ut);Ez`*=zZPCIW zcZx%k5G7O^K~9RViSWSk;uKeEg(eoEN=>Zf+nQUj{&8KbQQAih3Zw-mDpHd>;?UVS_FS#_>WIb~D<8N5JBFTO<=&Whq5D>RDH+wC zyWl8X3aXxxQKe;%3+P&tAKt+I8;L>zPzQ{q%BvTj)WZLD%&|9zj!;8|av0a}YC(yWUW3H>D1bS73*jUS3nuPl5o7{I zeFL?~si;esuxcpYuh1kk!?SQ%{sX^!EN0+6R=FXc!62cA6RH0RE9@`^E zqXIsi-x7FydYV9o-fs4UJ{NC zD~B>!>W%PZcmSS{_~z2Wk`%ac4^0%65xM@zhoB--VR)*FNsX+kM$DY zE2&Cu@W4(yi5gIqvtgpn@8y=AsKc&`(o=S|SIZD-cG+1;R}q9M!F)OAPlkojNQco^ zE$ednqH-`ag)UU#CKpFbb^SWI*szeqr8P+j)dnR?Xa^G`F!L28)+9=>Dl(UF5QMhK zLBQV zTuEoL`5n5yUx5@d;icsOG4c6CAL68D0w+FS z&5-%d-ic7l5s5cToC}*=vVsYNa-6PmiKynnQCZl60jLNXRh20Q+t~PsaGI^djxTyy zf_5Kp59&S^@I;yNWh4jbEm~qlY$ZN&FjNl(OGK80T0!(eLR@&2;Z*4eVNpFHBf6J` zQINu_nj=OEWqroI&*lk(aI*ySQN6wj8RL1Vl@8+{7r5`Nwj!`-yU?s^DFanip+4E{ zAk&IMJ)k0T*2#7#2aM=6WCRfINHf^yvY0(zwFPD%-be z3y!U7C12s$e_z&&m{gOrY6U?j!4Fk2+1)X$<|&*6tMfT?fhMlvR)P?UsGtLy1)>8S zH3(8T)eDHfoIj?%67s)PpiwR5P7|+?V$_jfi+QqGdN0HxHVl_*W5^#LkDCKAa1a8j z=*g&d|L}DAs7x?fXg${ZQ=){DX<|VI&=!iY&}?DEf-@6WKKxLOl~_lSW}=GUv7AWG`1>%CR8jX(FCj z&ynVJfcAJZB|tMBSiKI7hzX0e1&dW(KCqP&mTEd1=Jw^&Q!FNw3|$=Rjj05BAP!Om zDdG{Z*9f`@TggLlTY|bAj2w9PCkh^-DumegqFarv6PV#lCgf9{tNg7_L@p@?&I}DE zGzCixCJ8CmXx8O)=&2`G2@-H}i*{(x`4hzi0|_vv0~b)L&=9@?(n^B?5rWkr9tSBS z0`JMG-u@cIFO3y1>w-e)DC2)7v{>Wp7dr?;3J}Jcoj_m$%{6QxQqKlS*dxaFm!PK8 zNiR+~mL%p>sixC@7^>`atW8xyjwPKA9Hg3hMGCmPmnIol4ZyuE^p1m|zp@fg;S~Bp znQj5S#q}LWOPNN2iX`8u@t@LNs9_L2EIu~+|Cacu9&V~uxhu7&G{Caesw|YFGP!#4 zvQQk=WWKCLFtW#%#;+&~xv^46tWZZtj*F07PeMaPU{Ze~kiDQIMbGCZGG*sk6%qbd z$_WRGzp0$KXwm5Y+sX=(z=PxCf2FTjf~v0AztL9cm(w;<3z-*Mbe7m(O0`A?P9T*m zptm?EJ|R>g4PWbmab<#jEWeggltrWgO@ba2V{1X#rFMq}Z>s8aU{YB$#vCX0l%87G zgkeKXzx=v}PBg)pH%{V~DcfMEraI<9ND5tSG+CHHlBGeBFzGL0l?UUhx8iuBSWn_p zi}rnGACauu!5)c6C(ssOy1Fqoo=yhKfw7I7a7(adsHo$hJ<6Z1Mly^+sx1%EfeCb@ zGh3*XU&2%M>}VW;j&Q!&9+A9!2?U$mVYt{*VoXP{7_3&yY*&mUNk-H?V8L3Zz0p+_ zua^TQYHbvIqM15Ss%}m7FJzP)^Nkv1sikA4Y#mIglt@@L#*9LpDKk=F#S+jSUL8sd zmqk_JA{Pr;A>2S|>Mf|AlQYKy$ufx;C0JzDbUR?s#hjig(k6OyB zUx9{JE$F;}`6XQxo1?C(vtMBWrr5AVrb3h}Ym|(p4LMq(Z_7%>uo9Io5c?_UTpx|f z=w1(@NhxN0SM~sK{!TnfFQ?B(xtx!3LMXh3cTaUvd1u!Hr)Q+X7f{e1%QHzLU<9SV_u}VnMnTW8ET6^5wLC@{*ETHgfC z0X(z`CZ)MX(i&W2ysSM%Fve0n$_ZzA*|YXl>?DA&if%<{{P(Pc;mA5mgf*7=Q&w;O zU`b&Wa!`C=R7cbRHh;t0F?A%-?gB@(8&6%RP!T{uqSm;0m|y>*ny}C;6xF^6q*zE) z9QV^oO5CYK7s!aFQ#2|0u@Zzs|A99v>NW_~O{^ZP;|L52Sw_aRAv?*yYdbtZ@IsYJ?xV3_s*aFo%;^AhY%t~*W6@!g)g`NPHQC8{)~<`030@OvMw)+d zUNCAE=nsh`Ko0gr*XW>`m$Q<`oS3N*cpv~LNd6X*KP!aQcr8Tf)6v(1#vfVnt%lORz6`bs{EK(@t|u#12&e%=?j@u%+;1YB&tVy$k99 z>ctGfWSY&+FtGQ+-ImhZzzTL%i` zMz%Pl7GX8vX$2RnB%q2K`M(MF)l(M2&dDS{0REw&jHP* zwwmIFJ%^syRU=RT^6><1X~LY6+aTPcPunW6xd}X>;^cE@YnL*5G^;A6J@~Ao7>Wsh zc~K6-rO+XhqA>|mAm?G;w8d{yx~242)}RSvvRXiHwFTADj> z1}euZ+zVqCff^*9)dC`__RQHBM#VvmMpUGs>KwBL%!q{0=(vGHWi6_#0Lt(rvuYgV zFJAw(=qoX=slr3XRXr-?m?5g7rKK_5KcbF`CYplAsK*Gx$IUg^Pwpx0z#9P?6K@2#u6glJ_-yzeQUuC~H&o zbf!|H%cjZ`cc98!coc3L%Ad;nKhgaV=Ks@~g#W$`;Nk+NfXAW_Li@g0WmV6$3jt&8 z0_h_4a0{b$b+7_;o2A2B3KmyG(;`!q_+g_p(?N=Ma5(Kl`1A(d&-m+wbY_PM|2+Co-TM7#YUZ}$LH0ohv%DA`^rdM*`Bh5$l-5E zv#4UOUD3h%)@=1RzHI??>=>4ijUR&=7XjjN(9$s98+b|0|XXvHgcE z)lv_XeG}~?F`gwKh>6gA=!Mi62WdQqD#JT7T;(7oK3OcU3e!CJzgX;6Xpa9}Xm}a_ zHxveCH2OE3Uiqip{}_55No#k_|vJfrCbYxU0V3z=3fIP3zW`oBi;Jf&B&r*+<0I4T%j-sLPi{ z66)3zM{?Nq57teBH1SPY98G1{kaV;q-zkC)Bfk`%SusFi;b{L08ZKT!l?zK&L?Z!Z zx>sY7hOK-R-0TY8vuN7R`w3nZSl3~Rs|e4@B2%2I-T&(aRK3u676tQWVH8RBYUk_Sk$H57V`r=mM8x>enK^Qcjf0!-(C8ps!srzd8QPi! zWH;v7Q5s!hA_n^5VN~Wk2o`!^74BU_^?9G8*G`Q zTWB1Z7#b6d2hKzuapZ?Lx`OEG*aX%z5C@BShlRmJ*<)huxSt*KT|fNpdnArBD_t2>Urb6b7w;eB}~ zNHC$00CAz{l(Q@gNdh#Di(s`uMlQ_9vo$ZrV7BZ;*8{}R&;dG?{q!Qy{_~V>?Jf_-&gE@qi9LNKLGIU@+ zMC87>4^r59sv2+gak4U+fk|F;L(V#6xaTViY!-BUc0eE z6vr-}<@eR8t1(|+;`f0?VD}~X$8H0oaAG*1G0tJhqRB*MrLbt$*xtWF!r(@zP~5IU zp`g^DRgtQ=yG*0@^S+euhZbP_Xn1?ZCvjpDLgO(ZM2d%J9vch+j0$bR7FIRhjug?w zbeK9#ERXSQ3c(fe><~tKitrE#7AT0UdAL&2C<(tN=9`6KI;^nbsMF9a5qJMqp?K2T zi=|3IQ8LloGeT=NTO=|NGzc-PO1AO`ZpC6ZoeHtzdjKK4it#s(q8M7sakUMjX$v7e z2pA>;@z+6xMI}cpPc7`^*%yp2a3to5BJz-0%g7{~ZikVtb^TTe<)Dfp%1->8vWCbh zaAZ0063P+&P7xK+|5gFjSD|us0Qo>inRg|$Fpz{yJukun(>4=wX3I9z#UR;G-Ty|l zTy#CetAd3Pz_YMdAHU5cK1}=nOi9}P^OA_OKcps9*Ri0p!uO1jD-%+xf8udfs$GS> znTi8>cF}mf)Ew=i>a|klh<8KD5&!%;W03~`jdSV+T-IQtGRt??2xsba<3&Sd4U zb6|YJw%TY$vrxTiOCucWV5^&h|LkdEMU5vq{-+Q0DxMY+>hfy{(VWdCkrdw=} zpbN_X_WQB)N}YH^mXCS9u8_Ev{bp;Yz)1aGr#4N=btelhuk)!R@OFxMf>(uLKJ1(RnPm@lvLRC9g(T>Ly+|P1AOYIL6uL7%WqtA22p!017$*8@IvUP?ZwaUpdXvN z{)g{%at$rde#@Bu>(@Ee)TbhUFChy>Ly)jwi%QyrHsNBMHH{eg@TQ;&QwC9L07W#x zl7eFlWn7g$<1&Fbbg)!Th4Y(GVwWN^ofel+pP79AAueu^UDV)ub_fHF#a|JW-Pmh_ z)VQf9WGE@<6iSWSP_9JZLd57?^f^ut_5tU(ukR*X&rL zm8u1YD@Y0EF-)Qpg6#%7HlPUt%=qFVKT9XQ+6=B42+117)aa1MOa!9PhdS8p0)g(8xv<_O(F4C z7c(sBe|JkoXfAA=pzO^`@o8>>GFiX^p$dr|7{iwo$rYb+KPon+TWow}LLBZI18wAa z5Zgq&23$<=4}7fW;Ls3~$X~Majg1<_CZ|~-)*n$l!lz7wy~CzV!_h&Nh7actzvo;e zL6>(cRF&%Rw4x>77gYY|ui0x=~X8s%WowPDX<`>}K3Uysbg zC`wLRuWMjDF*_f%WFLs6s#;;Im7srDF(!pbJJKwV7+-dzs?0^e!jU>gT=w1N*PM}! zMFV@Pb4+mLR1kv_YG6+_01}JYZ$GLYvOkMOek1Y6?@*QEMmxXz%~y(h?;?GKX!06#zg;4a`H;5i@<@DZS!=_@sU;3*lxoQ^b0z$^!- z1dt#P&hRtCw>iKHPzTTe-~jjLFx>!N0H0@`k~8A_;M)(-9ncF900;r}15~=}DMi5? z0vHdN4xnG&dEk@@`Ge_v+(pv8;42+G?;@3e8F0ZxYX00)@;T`um4iLyl#65r(>cdQ zC15ERfzN9fX)Vlyf4WF%Ff(7dNC#m`_g$nDFauy-ftm8mMY=_1u8Z^p=D`;(QXWk6 zC&(XWCQRK+2>;eaat6M$ZvhY3GasNHz#Q|?MKXu!^TwBuhJ7w zW^NGna>AcE;=doSqP|vhl@`NHsqQMRgqdmMDs6!oVCE{_y$3p?{-(ihf^bCFTX1(H zJgd4&2Ps|+S7|!=Tf0i9$qsk<7jP5q4yfmsflobGsUPg-^qnR-NM|w3Oyo~;Fb4i9u+wj)FgFM@O_(yhb)iqqN4rYTZzH{A zl=}|iO>~v6-}jVE=D14cu%|3=m26>VE_9V15+7kF{oybMc>DqWj#Sf&(wi;Pi$i+v zkgmf7p6)@Udl2b9M?6EM=L2^Wm;vK>ezRx0N|j(YN#f-&N4k{Xmig-RN&oxoK>7Xv zo=dw` zR1T)kT31%j#{7cv!=8e8bzlbURO7Lh-1j1Xm}B;UFEAa@o~6M&xDR;1G>3TtrVq?a zm=gR8{#b)h(7A-%LJ6~i>L(n^vtPdEi&-gvp6=KE3ugF#Q$^PSQfX@m9J>T{~kt3J2-?CL*Q z{8)XPb-J~=R9&)=EF~++TC$O9NVZZRyhh161NB{@qjlB?8Oa+BIf?owOHL-Lf`N$n*sse{x}@|Jw0PEuzH?U2+( z>MC`Ux=TGIf2pU`OX@B4k@`vjQlJzh1xq1Ps1zoJOZ}t>slOB{MM=?8j1()yNdu&K zDM1=24Uz^+iP8{hs5DF(E{%{zN~5GAmdB-!(j)1PbXU41-IE?je@c&~hf=QeOnM?6 zk&a3yrTfw`DNlMMy_Eiv-b-Jk%hGjexwJxBC9N@^t8-g=D!r0ENH3&w(y!7U>40Qn zxk1_|rAy1C_0nExj`dvYdDca&t*isBgRHw+cd-t(?quD~y0>*N>z>vo*5#}lSl6*O zvzDxzTlcZoL|_i{6yx6+KvVMbX1WQ>7zCR~Jn#x~}MsqSY*p6-_N#(<0Dfs}yR1X9p~+ zTfUV%EVf9MEp|y&EJmAelTxfxR8paXul%6$6d$sGk^CN7>=d@J-vS4N#5#e-&-QdO z`l<4fXoFdK{o@+03VyU=e#nw~ldl=COuIg`+M`RiCTE{tSler-(Y_H|M;X|qJ(yGV z!0Zr{T~%M2Z|UzbVE3yWm;K{MUc6f6@!cEIol-C69iMO^scUjn*@J5%Lx#N%`t;;v z=v41sI_0vX^n-(2l=|?xq~VMc<}uCsm_&HpbqTl>KOlVhxw}Q1x4o#_{?mk#=Oa^# zt@^MwwP959HrLB1_g-^;pT6Obs4Mjb^}5;SY{|>ld$c&WeuG1{O;ahS)0j?KCn^MH z9!SmGQQh*$_O3t8-*dLqs(ooo(u&v`PS)$YExW`qt4GDRP8tzgx3pKk?(3@t9%^A1 zwsW@2^}+fBuIZ$kpHHr3aw&JpgslU9NZqNw>h6K1^)IG9Tz=AENQ3uMshMky7F0?$ zzP-0(|Iv0Wq74^Dh0M|E6?{LhQ)DC#x0_vY2%XST3VQi;zJAp3RXV1J@(jmyJ5uWP zvFt6OK96>l`7>?*v=Nhcf4o`sMv$l7)$*@KT$mo}b@8w6f!jKq>6F@Zpp?Gij>F!I zE~{>~%bI_sMf8z#EC0&7e4+oNh}IvoV;ZT)uQ$LdKLTi!*(yd8+gX}eNLa`li4*bk~6pLSetdc zVvFrP#+KY+->lcZT^pnJ95hc#d%AP`fkh?m>@2$I{MLa@+Ftr|bK?15%G+GiO{#D` zp-l1MKgKr;`LSjH=#p#w`wuIA*7)u(UySC}*d!I(y2N0l+q_cG&#y3?)bFKEwa*#) z5xu(wy*(8kI%a@VROJWykuif!FMhsN`@$6eVOLE~x4RJ@dvo{u_qqFLw%)(1;-#5e z0v@ioe0kKobIXooTxs0-QF^P6@>odSmG zx*X08xY^}q_}bi=F^)s`N4QVl9(bxsQdoM*`B-bGJN-J(Pb_h|Xxrj@cULH4QP)PV z%l>A2j@lOAw{5Qfj@r8YxA$7}B`d@6Y-Z}TCE0bVZp!JoB_rf#o0q{)7O&_(sMx&d zBJ1>x7PoRTemo)EAiiujNpD=c1M|xbOS`kF_SWHzO?Q^~dFJ`KCHG&tw=4Jhi0U`5 z6~B1?!bI0Q7hk;FexqMZ($yb+udsh?Pn+FuZYOSuO>DcX(tUr!$#MNlefh1Keps*K zI;FoX37r+ODd^pWFOh+5&PG)ja;I3zv-2gh{E~D#W^6CoB+w>&&D#nAnH}0jcwS44 zY1yv-xlPyoFK34pzv=wE*_B4Vo6^@EU9vZ4^x17~AAL!6FnhUg-_(pfzd6j??z?)$ z4l6yU%sun;vwpAHEywRbc($eeu(0iE?E;S!G40p;$J(*A8tpH>W7*6ShfQzl`OnBL zVn;f`#nH6#xFDx`hkfm8>mH2?X_J>Ya^f2QuE!U+cpFa5KH<4H!JW(&qA>Geo9 z9am|c^z*e3c3T#ma$48BcjA4ssHiVDTe)0ZV(kC>a;x$4|0ut7y1DzdHGzri_OHJE z@Wq47R}Za{at?=XJ9_okO}%?RUh3{e9ScPIo=;q0ik$1wEQ%=bdrP%7;_-cI!Ey?0OfsFW3#Tg{lf(0IWdpX98Z z((6tiKmXzOlX<5;yzZ416kqlJ(8!!rKj)?6y?b;oV_c!KW%*K9;~HE2>|)tsP2{K0 z`~LSwSR0+{7ScGglFBTN+GaFyy_Ltw zKg;`O)^s2BSHHy2J8y=zs=Ld>%4wjfQPqaE%ILmK_iev@hDYbPoY0|;xuXI;zq>cYy;XMfbmNSHt;_hoDq`vK=b^Z$Lt|VLue8l_TBv{DZsyTcY1R1grs-9tx(w*K z*S}x#!^GCv*-`%0yzR>O9pzMFv7Kp+8)j0=GE(wxU&o}B*+HA8o%2ndTj6Nljc$3l zM}AzBk$Y)D_M1oP2AkH-FxwTG5=QkeDdG+ zQ%j?z+eSAYzkZ9AS)CW<4I0*SuT?D}(a~VX?KqFunUS5GlH7+SZtES~G3&#rQulA4 zKb?B|{fzNhx7w9iu(`P9jGZUqQhu4@vUj|DZ_A>!=St z^X;;RUo<-%RCekNyUu$TG??>n?+=;TDf&-djq0;8BeZSI9FM5FDZYaqI+ba<&cMjB zzn_(1?a)@G?+#tFV3kMutT59#D{Iu6y6;x{sh7)UWIhhc`E<}S_kQ-i+v(*#X09pO zDru_CsBLpv?Y7E{dsqHcL^JpMuEP>P^-PTny`JYk>S!Y)-)Dmxd%WGc$tdml(lX2H zpKdiZ{*%=_s{f7pXXwOS9AC7@e)l5R*BTi-&N!vNZNv=S2^GBc(mItjp4IGJsml`< zmb{(Yr9{a4Dn`EZt{4`xTT-k=+g`=vR@j)eJ$bikwZ!E=)T|m%ZA0<8rauQht&(wb zeWll_5tUE8Y*^+?^4qejZMK%4(U*;Cs+ z;A71J#ai0tnGLWzJa~JZMJHa{Z(QD}?!g(0;@&>!K44RiY6(BpzaDR9Juk7gcc;Pe zFDedf^Yf)aL#|I5<-N20=n94I5PjEGy|=BKheDlRMU+3^S8_Cp8FY4o)e#j_1HRTW%mYi9``Q#SIu7jZDRXG*WK86jA_H$y9T_y z_3Z4{JK3ue{^+&6`TfZ3&kyQ_r`^*lIqYuZb~d@C% zM^l~FKi=0X;?L)4Wj`H1f9~UwsD+=`>38{3$E3;!(_vTsay_!-{h&>~-g!KdUX4!5 zcxlsO{PWV?++Y0YVwAU{_Nmt&=FfQh`xoyw0lkN0cWbogit&_>SDXCN@>=@q0Xfr_ zZohfH`s*9_+Bdp>r9@;_ZrHlZJFnzk9J|f#lJ3f&%=%|i&h?MGf1!63tMewG`y8$D z0Igf>8{-}{%St|@bYmN4$Xg9`rz8l9ZoGhIt!dSdE!Os;wJ|hxSeht zJ@NM{7Y?4a+g;?0^McKD5h-aHr{|3iUfpRz(@GU5m5jeMF(vcP zx`lhp*PhW0`}KXy%Jn0LJl@p4OwG+@HpFhUKDKc~rLiy8)O}ok_24dpR=Tv>wdzRC zcPX!0H(mDYrx7cDS-5|BX2Oxw2bJ}A>|f)&bIR}Ic9ppH`?h9VOKlG-<+-&>=(H{U zEVB0Y^(enb|BY{&<&o-x)>9#Ov zR=wvrjjs2NwBFq~>z7>H9Y?2n8;%UQwJ%m@l1^6Ify?b~THUQW>VfhC0V_QzP9cI{abG?+FCuUYk4R2N~Q<}6bqOnii5`CX6yz{)rgh>nUwKz9v zV(5-rO>g*n&pO-6wtnJ7le>TZk=VU+$tzEt`yJ@?ZrQuq&yOr!=uykT!r!~wk~?o= zJx9+oe0_Z68s|%u4t|X8n7OoJ?Om2Lj#gT*G-Y(H8kO6A+B3r3rO4b_c_wckdaP~H zz1+{;TdlR+IlHRkg}2M5^glbeT&cCcZMbbPdjI%i343PR=xWyv zHFg`@I_vE`mb+!;ipeF+s%*J7c63&FlQ~1q*UtMPW?s>^HqF9jFG`x+s_vYp-RITx z3vk=vXz;GY&9xn>?K%5m^^==(KTk=scMq@lvtN<88c+6mJRgu#*XyLinD^JZJZKZV zIHgtO`{PL$D)w_a6klrU&{K_i-`(VMyO;A9zmC?)58otAp0=q%ZlenCoX6?@Qln+M z)en!VyA0{_)8?#O(|+61tA4YcJ)ZVCcdyHqQ9f-iRetg%s(P~^Blk&HA3UmeV%*G` zaTk|7wcYx@)9k)o?~ZHg*u80z(X2K1W9t84cxYnD=+#YASKfBscWB~Ay}C6$E4J(S zdh@Hn7WEdCUNUva{@Te^vlp7TKbbegev`++gF2tiuL^VNZ`NnQ+o4Trc`sbBwD-#w zmiP23M|KDpmGye&xu6G+cjol%Jkuzn(WBI1+3r%m^y=xEe>&crJgaN4L*V<%7P?FN zFWR?ypTU(wItQF$c5L)DGAzHSV|>*wHP5UnJ#qN1fwzyB`aRoZ?%MquYPpxL+}LvP zsxgDYj$JX)85Zz))7ki+PbU0k@nU7SwhJodu4}UK)9F5?+vq>*FgSS1i!(E9+^#=# zc^A@YXx;Y>s?Bq`y4A+_z~x1cA02zYefqLC#ewA;_-W6r}RWd`(~o><{_gERI{>(+ZtE#2mRtD@#(llBgtbL)??Z+i9o)Z>w7 za?36+s_T!7atmyE@z*ocj-6fCXjEgD(U*JM9FEyOW$=j0&we`+d%0?lVq2HpzFV!_ ztFc4Zw$F+cx@KH|{>pyO`Q3 z>B5BLWuub2hD5GC_$lc9u&JRZpOn+-}pu{^tH{!eN9R+X|XlD4F;-ekjLC9=0| zE&j-=ZtRFj-TQf!J``AW{mwAE7K5+5%+|R!KtK7sd3x?8lUf6|PMD&JXw`ea7W3+RqvVK_K6(S1*C^uh>;B>w?32k`GLtQiXRY1QV|$B=_B%?B-LB9VEAHCgI$+DpOP4RNc)0A`yitv>WE}Cn`Lgr5z2Prbr*{i)m8yTk zW1Ca^DmD0BwTd?gpP(moD?9%{yK#5YhLsz>wf3eG zJ53wUJwNm3dzbc?9C1B&SMh5%t53Xe{^E;^cU=43*#7Q^t4T3q_gDD+&2F2Xv0D;v zSK8G!ak8QR{V%2Z$A#%P`>nK2@m{k+mwb5_v?(Gm^2>z^QD@tv6uUDdtK|7-9d(oZ zniSohu_oLmFf*XSThEBL9a_dDUfXo8f4l6<{@0yv77uH5rP=d!>6?6W_AWWvcH7y} z4yj)r?c4X#?6*A`Q+>D3bFkX6V)dR(C%xaZ^ym5IbgOBZ9e!YY*f9Gef$h?I_cJY0 zE4KEJJBsgbbhyOKW&V0MP3?;0&Y=2V+0@aco>S1c+IGH&L!yrAj!evJ)75{?L~oY` z$4_KWH9VKG*YiW}!>NDdWuMxR>Rlpr)2I$hlI&(qN;W&&E~88*-)u{hA$f5Z0&`vF z+HcD0(kS(QIkV){EWM=h3&xoy_xM>_S80pghimJcPA$5h*t_?as3^0GF0F3ae%gtGCM?Gj>ifn=@#(K}v&) zOVj@{9zSD`^}3v)&9~(?PIxu+OaF%+`(2Kjj_jUOtNHVx-g=LMM!98p+fBOWXLjtz z@>6wY81HpnZTT?iK;!I;#wkZjR^OZFRcyhUS!HJ|IMeI2WYi|h(Ie(V(6q$czQ66+ z+uLtNN>usDGg@7qv%q*^PFAwd@zd){Ke_$k{Ob>==EVnP^@<#NzpAreYEBRD@k=Wh zm+4-ryk%vp#&K6$Si1Zi`YCeF2uuKUJ7r|uF|%=q&YVpvDotH_r~aDL)oZ1H3fO3M zd-IM~na`G%NwS-0v@PnSht>K_-|~O{HOjr_ozTR7bz2R6<7DNrtE!RdK;1I68n*XM zf7#h%#`dA1IdK7_avdMsfA#tEr;G!aGUtpqeJZ6z(p0Api{=>Y-J0$Qa_$GV7rA-Fuk9L{OSi9IUCvpNN0Dg-c`t(Aa z$A)*kO=EAn*Rl`Gak@SFs6h&b|G^zzg<2HZ_UfMLx{Q?$Dh;$hL2ennf}u@|4-YN8ns+MzVYZfW>#Ao8kB!gt(JQ|1INS!kGR`AIz?u_ z9_F6p6x@4T;;9c=9nassU+O(30B&WCpRsvCnRYv8SQh^!CGN!dy)ILVTK0CY(m2Y% zv3#o|w#LR2!o8DSNBONQ+GXg6gI+eZ9Bp&1*a zJm$m<@=dARw2ae3OCy7IhE{(4OScNGy3LU}U|hCSTB&o*W|dqx;c|&Cxwnm~ybm$FGS9cz61!r>d$nz0X0sx$>fMuVe^{Pa zty)0Unx=J&Z>aJ#@aIbFZ)Q}ENPS(V;mZ?c-zI-4z13#5NrKm$^3DCrmHX^qSs`ua zu!_U(c4*we{Z^A%b+VeBoIA5=@prphxjk#%a^m>n%?~#1+@gq2s8gSc-5V_)8Qbvc zVW$R_*6BEQJ22j1{-y2pE=2xWzqHN`tH^t^t=G+3QzO^$vyENPla@gpyev{`3^%|3 zlSOr_SLJIB*8{-zuI5?pDgSQFQ zdTffnUjL`WdDdowJ9*b0Sn);tpi4iu88zklkkRdTdXFq=SYgE3pz1@%3|u+Hwc5O4 zx+%X6Kla)@W?u4?pc0W#rD2GbZj?g&`|H3;Ex^6j81v^ z@0!~o`Nk^uBa4#T>ObGy#<}Agw{cd7Tz;?T=3J_Kf~)8KTCJx|uj==rpHG+iMZ&uc zN^jY9*JUH$cL%3;Zu;w9pAqHmblN}alK-714||&X-s}>DExg{{VI}o)ZQ3<{cGtYr zljTdgJ`KnVd|3C+-A7L+UwFLUY3iR5z4m=7oA&(Ux%0R+{B>oR z>H8%|T;KKDH0YJ|$m3;3(&*>oTiCpC?^Zg`$mPe^r)sZwJ7fNbH{M@<&mPh{;L4sx z-L8I|VtlRTA5C%wyiUKled)9tudAQG-l+Y(tjH2qF0TvAy_kDt=Ow#sV>5$R>YhtE zQ~$#Kxc=v@s`NhE=d;O?#Xr_KcD2^1eRzKJzYbj(xBOt~hx1Q$*u3_) zSx1+iI63^-$>OD7oOUx9`1{1@)@Ki1sB)&rZo4^~7dX$3{+KwowyXWTN4Aw0tZun@ zVTj-Q`4)e^{PEV9qf66|zgseDP{XMX%0{oH3=L z!}Ruj4Q7_S-DlR>X%SP${PJX)>)UHnbUnvSK4zJkv?yfqxbDUW##GyKf9&flKgD>a>XDZb>oJDDkK&G#()HB9%+`js*7H$5IQVsp(h?Kj45D6?VXG3zxi z##UNg|8d=wgSre}wX2m&%Db9JmNjktYQ>08zb@au@R!sh37I?eD?ixjyk`HdalcR5 z_WQLG+e>Y2w$-y#(3WYTUG`>K^xIS3qi>q;8~xpL7CWZrOx>~1>{ikN|2|juCpUOX z^*=2=JoHzi6VuA1Zhkf^XkoWTInV1^NA|t`OIG9EM|arfjx_Y18oTdSNERjl+Fd@7 z_Okz#8@FyI*6$u{($%MOx1|qPIehqFvb3D*hIa#Q4nKGz{P>!UgW?Ta|9&RcX8y*} zadxFEm2b6j*I$z=WiF|5_F;|X3A0?c95dfwIIQi-lzN+6R+@RDXR&7CsoN$=nRR^{ zM=X5Ox5R`V&+oLjw{TME#7XCFG`+Rs>@08p#QL_a{=924v2*vtKb)UlDfzC`fqu_x zzgy<9aOn|$3x`^FmUQzT?HT*#_-n&?mz>v(jQ)7AQp2U09cNhXs=ahUrK2@!jZWF~ zscq#VF6JXl@@CCl>+$gI&*i$euw2`!yJOYaJEtsrd!gLmv;8;xwzky%(FV8m4+o6z zlM;9SzFEaxdF#@8c$L4|{9ML^2@#{l+!}tWuJPeSkH}LcOD#{>+V6Ov?(v%0X(?WA zvB|GLUidQmS(wkLu2&nG8t<;rVW*z6?aD2=$IMDhUNQFCmMTrcvqslGKV;6lm>=?* z*}N^9v}ktNoVu+h*PPe==?=F5zY^~Z9IJI$dvo=RvwJ?zz4^r5K5dHM&lSU;)QBrG z;JL@%lU{XmuDu`Q5ZvZLm&jHri!US{e}BlSU&WzQOU2*q-RM-W+di8*`h9VJ^DxiReF1=-qU#dU)!Rn_jLtLia%GzAN*OuR&_So61%e`}b+WL&z^5se8 zOF_-5M_rxdZgisFqX%&_XO6Rdy5!>QPVcvlyW6#I)9#K<*UU0X`k{Wz{gM+88KyQ} z9lg)__Da2v6AxANtXX&S>yGW}Sqy$PbxG+3$+h#R`$4}#9k?3=UmafZ>%&cjk4HR>n1XJ=vp zVDe4JKOKU*&a$}tK5$Y0CAtQf063s?=*q?&F;3+TjeM)dcU-jUOwBL5hEFVA>iF$} zb4{{;ueD+S+QyYjyN_8l*z(G;ut5RCbWGyUZuA@YI>7RKqCHT6V&5V$DE)U<=9oordUbP0kHe0VgUUd1u_V>pg6>qa_dgbTFLCd@% z44VJkY5({dPS+O9{i&h7{bwH=zuiAAd6@HYdhY>c8r-gsxX#J`OzEkf>x;I!-)3*p zSo1$_%^BRY*PF7Qk9vH1(WPZ_)Hwa>7h49p9h-LM*HMkuoxMETrE$z*o8BV^PuYIt zw`Z4oRJ|N~d)d}vugX=s+kWlPv1Lz1WUWs$-nKhqSudSY$C@l&_j!y}`Je7Nr8pIz zY1S!bVpxSWEw2v9s1uu0=f?}XJ&kn7KHr*lfBuS+p2JPI+E;6RzNN=sF+J=aU3+u5 zQ}~?Kr?;&8VPJ_f!@_n4{+Oeu|02Ku3c%0@U?P<>OpwYL{DAK`fP*9%9h6KAu$k2` z0ALP#3QP(=2H*_)E%;+6i(z*_CD><6Weu9)dkCO0?3q$&gVOl!2e5^G3rr+nI2qsp z`*XzC#kU`zoK)WM55%vH?}2~@@IQh0CGi~su!4OpObS09;0F6c#HaLn0nA`emdY7m zzmeexKy%oypga}v9R;WZdm79Vfaw4)*xw<3QG9m>ltKP0kiR9q(JeBp2md3;zc{{w z02Z*Xgo)i2hT{OPu-`>|5YW&cPzClMk$-D^4+AuX{UY)&i|_t`TCnecN%WiwXa{>9 z;_KnNE1-hpjG~k^sE_Z#04MmLM*gMn9R{$0eFIFQ_e6j@>`xHi2;Y4G)nH$Y{Dbj5 z3eXbv>&V{}-!TAt*wbMe17-p`!v0a>{O<&NX_P-n@P7d8j_}Vw`h;&FpgQc!VPYqV z;aGqR?04W#`1Al&hJCK!|4`VQzXnp#Q)xas<1B-{2vK>3)rs;{zt=Z2m2nFBu_H{ z9bo@}_{4vbnX)MVVZr|d*ue**V}k!gQ%l%a!=&&@fYz|zM||RcPXOp_v_SBGIPA?} zzbyD42|MK4XeUgPr)hxpu)jfkDo-~+MFsy8VQ&QgGlKu&u-AZn6HLl)5}+;Y&k&#J z*%yF%YqUi0e>Ci^V9yc!kA=N1?E7JoJk0`l!~R+Dzp(m$2|0?Hza|4bV1I%5#Q(zT|4G6B5QMQp_;oNT z{CI#H?2izi((45HKMM9bu-I|Bnj(2O*3F z!mol^1TYTZ3j008Cw}+?s=z*9@P8QWO<}(z_}?G)TCk_WBzjH-w1fRM;uHT1tN*_X z{)Zuq4Z?4PN%WowaEJXV;uHV-0II?Mi{Sq#*jvJWL-0Qac6-?O!88WU1ayS`(>Ln> zVWdy^1_G)h{0f*lfUy7<*#Ce(;nM?98TNVk>i-47{|NZkg#UJ!gzpr9C+x2fpZHl= z{XZr6ABr&62)`aC(Q5*r4eXB*pZMP!P!;x{1^-9F-U9Y(g8$L5+rhpUW=X&dKnK|W zLVV(XVfFvG;D0c}SR(uym=rz<&>Hp!h)?|Q2{46yq2T{;*qgzgCHNl+du`Zv!7L7# z251laTg0dG6juMw3jT*9ObvwJ43qMk1ZWF;F5(kC<@&!=@L#U~HwFJ=5vDG}AAng3 zFbm)f`xl%o(UB_Z>FAWzD=nGo>6nz((~~Oe>FAc%bCIg*={TF{6_qOK=@coaS6wpG z(=jijXCzh8(=n`|H&${6>Lz+c5PvM`P9k}m%)qJwV}`ldAKuQdM3;IAzH%Hgj({wmBth4WI)k4KM;!2GC!5KuJJVKv6(hKyiR6 zzyMGY@Na)bkN{c$r1yP49RyPX#a9BQr3AEwpoJO;V;eeh7!=oHb!Ua7vhL0^w z!U;V@h8KFD47WI#V*n|DgMeFr!hVFhjJ`|*qN7YZnP!BSjGK%f;fPj~0pUu3R+$0O zjsU#`1|?9U=>RXlX+Ryo20#?x3BU}n7|;uF9nc(*4j2LW2q*#=2XF;s04xB@0YQK} zfHHu&fX;yPfO>#!fOx=5Krz5nKs&&1fLefG0sR4g0;&KO0sH}10ZjpW0K)(u0Q!K5 z0C&JKfDK?ZAPjIHPyw(2&=qhQ-~`wS7z}s=Fb2#7bOf9M*aJ2JVgSzo)c{KXeE>Ot zmVp03hVTyOyq5k$5I#a)#D_neuzxoOKI@9+2i-_IME&b_nGnKNh3 zIdf+2TX5IF{SDU+?pnAkxD{~S;U0(czGp z&VF>jX_gMgb8rE;-EiID9)=qa_XXS_xW#ZyaKFP5g}D(f7j6}t9qws3Kip2ZGvNLO zR|@wjTsqvVaP@FM!*zzc6K)jT2XF~+FTz#B?T0%b?oqgja9_b?!o3N1HQZltr=tg_ zx9e!!5C4AnF8D6^AH)9`en0sA;4g%~5Pleb82&-{2jQOx|3vt=!@nK=Ncbb+zYqU? z_3;$gB|Azl>_!HnyfWI03X842Q4~D-4{u21p;7^19 zC;UI*6L)h0{F~w541YNM;qceMUjsi5ejNN~;Xez%0)7SjUGR6oKMVd@@MprG34bj7 zvG6~G{~7!N@CU$O1b-3y2KWu|e}(@m{8Qkc0{?FKcf&7)UkHCa{PpmY;3vVK2Y(*? z5d0AQ2>b~A3*lb~e>VKt@ZIp;@V|!tHGBbIz+VP`8T{$+r^7!C|1f-_YD3{{a96-} zfh&SbhO2?=05<|I9j~$B>k3x_mj+h{cPvV{9*(%#m2f@a zo`mzleG8|5_l(KakN;!8x6N?aj3G8-n$5Uc|5c^codg;DfB8#JN$r=G-haTrL0QAH zb8_>Bk8oZxGJjM-VbSPfS4ruZvE#;HN>xPDdCI)FdAg!9FllmCbud(OWi8I}Pibgu zf&eXl2ka%roN2i@icLw~n%2|R! zXnnbs3d3*ss3@FDOR{Ak{*KL!h7WVe=XY?XZ)}!)hBm^;QsD>aIY)-Sg6CWn-WPS` zs&Gn^t->o2o~^il5x6!i-r!?bL_<88acoj}*MyT*{2p^%sDNVL& zGlgfVMD$!Bn`}IQXJ<}6gjU1YK-aP>@M zG(tVoxIi<)KN<^Y3HV3whsKJ31b=8R_($-ECWn6nH%RsTBUsTKpkF?oq2c9U7d%7T z#lKGgD`-CW_Yj^X6mWJP&(O&5kKhUI6#odGJm`2MxQ$cc1W#yy_($;J0afourUXZx z`%(JPCrK4!{O`(1fPzH+ULRdztb^MCw*&4cxDLf7Mpw9axHPyCaO2>r;I4vu0PZQc zrEs6X?SnfGXmTE08eBfyIJg?PTj1uvy$-hl?t3_+q{KKIt}k3NTn^j_xD7bty`^iR zF%Hj{!TI1S;cDP!z-@ciW!wV)9=HeKX2H#Yn+x|k+&ge<;XZ-;9Bv2PKDfp`PUAQD z$CZ{CUEsED#~l{%0h|ko8(p(sJp9iV{>9vy$6xev6drD>9O-* z;P$fY!u&!;)nv=NJFl=f8xty*zsKpt*RAPZEB{^vG7s&+7v-942=|6+ zYwK&!V1gIjHkRZrr`x3Y{%i%ZXq>zslY`Cl^5!iDt{F!6uI>qVTBh~+>q3+Lx+&3qc=_r=+=A7jK7`ld8faBaOnSPI zT({iplez&u2IlfMc`m|CN4M~Ei!HEJ-+zwD+n}$dYSFHW+EBd$vRS6O?WFW#20ORaTr}w8M85=sGTIdu4cq7Z;>5 z-Jo)17%uT@6&4P*4)YS`a7s&FOzZ|TOb$mliSMvVaQ@C-18r=ccs{9t< zGs6C=@&vlWKgoRJJmy;xMY=t>`Ms7dWz&SJMZC`s^r%%WX%R;limSwAD_g|X)(6e0 zZm3JhT0qM%!}aZDguyzkx;u`MIwowOtS=_4(LKdW!y}_&%g}Lde8WVN-Prhax4svR zbH|jM?v@jd7M!-qPIr65N2*uH9l74}|B_e69U(8Svug#Hlw^0X9(O*fX2$dpaZ|jF z(S}<47>$coc7%9&xtkjA7HNnIhB4biHUBMM-YBP0tz{c!8I9FdZT2CxjXw8lD~$RI zLQpNMiD_qg8|eqM5jLoGSgNX@XJKkADyuN*$*gkDrY6ZSbM`B`5e>IcfR=HwR3N5~ z7%I>*Uo0iSZPT@(fG@Ve;2U(f^10PIY)V)?#iEUwCmJ8F3i1_?a_wm&zr21>!K8J( z3W=ho(Xyq!B)NF_lJqLXkl+%dVKL~9GIZK0d>yD-eh{u!(P~|$T0L=HD)m6eSE=_} zPeUuXQ5YPjSI=$>yCT=aYELjw4)Ut{P3x+=I^?4{qJoV0-oX%Go7&63^Ar#6i>|;U zo{1q2(e=^vYGh8xo=85)(3t{Phk=Kp_k6Us8lQN9s|@)Jd9NzM-MIxUmP*#hFqqXt zczq3jj|%IdyxE`1s0@WBlg}R|1@q^@S5WBP77t!N&K{0K3lxK{7<>o3 zp?bvI!x?s8hJ1EIS%6DOCwnUVXb*Ti$RvKGVRj#WAVe^$tHh&GUsq0BD+Yg3hc13sB^ENis2Z%y=pX`9De8w!VQ9$R(-)o&hZFy~|+J-KM13o`;SPQnK zC58*J0GYS49+F!;P|t4*m_urm1%g}w@#)kz{-iGaIJcW0szSkv!L}MS z5tnrP@fxb3bhw)LsFE5|6vKBif)yCPC`7STnStf8ef0&VQ2)xBY*YQU7(Oc;z;FOt zt8H;XyFEFM+KksYNT}6;I$L!;zV-uQ(PNX?h-ej$50=%mj+S|eX$^R))c5V$Dg)?@ z>ypESVo}_2yDPj1)-#ai3{BWTkQsd&zHm)*CN2mVQ#%JU?K?$ z(w2pA!LcW(XaML*eULu^hA5-15~>Ka93;Mu#!{gee2qdBMi@#y(1g?YucW+gx5r1F zcDwN{PWG$oX@YWk_G@@@y4^q-eh=`2+g*k!P3g**puumX2b5DO^M@;m(7E09!D{x) z&{cY`;`u=BKrr4Vg;UQ=9W(-#1?n2`d1YG&0W8(oLQI!+ya(cRCC~%v6ON#{gk_rJ4y-hK;{j$J4MZfI+8Dl>wYYw0!_3-7-&YBR_yi zgbR&{mKzlk)CPsoYC)Z&{(}}nEkr(U_(nM0l27^TgAgji-Yd`#)CuR5yw|S(FD3?!^e>5duJw1p}cWGN9l*z z2WWzRPc0L6NxEn;F(C&U?dSC&7maL$lC=nUp3sNrdleA{D3PM`o@7SUhrZ!kU4d{V zB8ikS_(9zv^Wen;8iYdCFc_8oMtob%8$fwBUjSb-gqExZ*P;7?OVt5TKxB!V7H5=} z8F=PJ1wM-AcYupv#-JqF#ne|9iqeoqRiJxJZn4W*SU}~0 z@3y5U_Cp^f*U)nQ$zdeEI|wRrq*%jpC(S2k+5uHZ<>1^;uA5Ih{GGjLQft>m~NM+atJ@VXbf>%f zQM^5Drz&83G1wRkQ(C`Rd~QgUDI2URX!r{rRO??xL&`-p=igB)+OD zv;zg9@s{#sFm(#t7AKp{FRIG7XWy8F_5za}~qiS5G4PzU}HI1Ko zsr{;}dU$&@_VD!>(ZkteQjh8$qk6b{l=f)oF}6oj587kabONw|)JmTzv_U-e2GAZX z!r=VDV%fb|?*kBD<@#$=vMMAdQ%c8*K!RT-+J#jW-=eKz`d}En(RpHkiGGv3@2zX9 zq0RtqSO-}&ApRdaNM5dk`su}&p_o^t4EXs1<>gdAJ^LH|-g*RsO8A3d-a&ZyJ5m%` zS6#zHC7VfeS5Zd`vlXQ?zWVAKTSWj{F6Lr}GE8`QYUpz|=#9_cXagKDA9S3eVSodt zvG9>PCLS!c(mVi$qz{Smnr0e3&T$iw;J?JjvS4<58I@=9M5+-)6LiTGM+y+|&{5uU zLY&Q04$@15S{{dffzC)$Y~?F;myFAM_U3{7iP~* z+Noh=ja2-e2TU}HEo#k5(kw)h6lFbqp%dz8Y7Hh*fdPO3KGIXvf?31t;d#VZht-(-Oq57rBQ2m%lZ07KLF1-j z)>__{wS%oh8tBESoniX?Z#)D*%~>)}AGS?M>1+2*G{>8hA-e{ZE}JALU7zZkj$)}w z#}SVNA(cf0Dn=(7hx{s^CyZ~4Q5-&BR1st}Ai4(G8dwHANky||yXoDc6RXFUg)4%9 zr6o|ohQt-5t^@0<<|cIn<>+{+4>HXW%1It>kyN)&QLE_Whqg38v@}6!m1IAF8@>eM zV^EOPJ+>$vJPC1cP8o}~u;qek5S7l~l0rB=v#c&_rlB>ML83gMHuMhuj`3O74Xt#Y z7tBJ1R8?T@1@w>(_y$KL*>6x(J#F42oR|Xz5<{uEjx4hwJ@u&;2v1rAvY4R7$qb8v zhQk1PgTHHyH25Z+;qivJ4<1Oc2!cKh${PHpOjd}d zu=!luKzHQB7R;HS3s#cWk1)+t5)k+g!kF)hmoYRU<-5Ixo-I01B5@v@wE)DsorP|! zwl(!w%hcLOydGBo8U!X%D)IE(K_9ujSO;NgQtKn-0oR8ykVVTf13@klHo6wvF{wT1 z716&Uta-UD=d5Z!%JWo_^wngRYsZKYGwub85`?a&94bB(Z;-x%{PHTO@8IjYwQ@xF zuZDVtc&w!iI*bY}#Z=~$vifq}f9?jBSJgpIia82~nbOwzP#pVENKu_Zd{_;7AT&2|CA5F7IaNK2GK zFJuP)-5?{Z;v+tXHlTUQ zLK1rC65t1dx+qJ; z5TfyOen zQ9n3z#A&A38mHDjYY@he4b8Yb5GK&EseU&w)d_C6wqB~WY0RB!6`|*X`sy-}T++V= zuuX)m0$WU(OpEmb9utFgh4*4G14;aseJ~j)+Uqls5^*MeM)j7_wF;e&(JQ0#02;wW zmuHK|NXiM1&}bQwuL%Lkq0^KrYgpqK&&O=+)L?G$vxAh&D0qma0NW%iiX<=~20CS1 z*bCxAbB?i(DJ$lG8A?c^+_Ib&MbJ2bmy#P>yvszmW5Win+;^hvl13A!!mY42!GsMJ zF7?pF#KmD-BhCZ>qA*vgc-@M^(o~FUIDwDWkIDuT`P6zr>xwKCWJR@B5-H0-g`2<_ zHcI^l)yaLAjn`yekwxqcXbm*d#Z%XqAoY^Z%o3_+(&}NPIF0(EVyM=P!wgW*M1*Sb zrB9R>hp(#>5CXwi7^ozKbiinmj+lX9g;S_TYI#ifpa4Jv)0KJQAQpGh+nNj#ktxz- zpiEjt>InY)OhqGav}D65DJ(9|EhxFvSyYsplQ2&GFmICwR*}uLJ)D#{HBgf%Bk0|H zG-~^l8AT)8ACF}4k3WI@*z!1B#UFc|OxF%p;D%8UijDc!F!fYmJK%w(Gsu5}pnz_p-xGD`BiJcrC-P<$}J?V~jj`vwYeqw6${s@iY`m6Yw! zD$F+nHw1?Ga^Q*EOyG|5x)798k> z3MaE_>MxhB;y|zJ%gY1a0Bvlk9a8XC<$g>Vou1kSGlx2+Vrmhha{Qif6Ko}5c>qRL z@qQpKtbT#=zAm65DQzk0sew%h>FaqP6-pQiR~Fk!y&IUSR5eCvalWmdN2|=^OA0{Y zUIE&!Ry!bx9!sP%vM}V(kIB6N><)q&^ffCX>Y)V21~%(Zx<^}CJwEiAfE5P+Sy==v z9ymE{n?covRlvh3d=qOC9@9*NZE>`;A`FBr#`6rrjqeyXdni7jDT$5mp#Mn*;B zKwN?}Jy8qsQ?%}m^#{P5%QwQ{DhNkeUN5b~K7TL(s3CDJcCaz?LC6%R3iy>2W!Oq+ z!Qz6{4hAK*RKf#Jz*p(1V2IPCl#;o0THdRKb_?P#nC6yc`!Khe7vb!@OhRj1LiB`q zM1~FL(S)Wb%jHs?X&FAIt?<;;0o1t~&|zphS+Bx4LVd*I1&BjOO0=H%VOpgbxIBJ- z8!DqhWo~tbKt+uxDJe>Y!rTK%t-@C2X(EU#SYRVc4kieSl#G~gm4Md{V-^t6@<2U> z?K{Fh65}LX%zW5fsttg*u*Cxw#cBY0NhU&RFO~c^x}HW)K?_Z#9c&bD&NFJJ*#jmT zwy*~<*9p{Ip_2&I4^VhN#_f$r;$-wLyBmP7V+SiKwN9VaAAJ zD=I85QBAUpgN!T20WwQmu{pC@_~9}M2WkHp69>JAjSVwwav~8=%d!pTB-AU_z;OOL zx~;xOB5a|ngz9v;^355d;cK1OWFduxFi6m&^p-fbOd?FkNJ>%|0of}jOCl*X4h%76 zl3{XFM0ZKjssJ_IWKR^9g8q=noY_U*BB8nqP5TUjs0RiiL`BhWD5fmK%_5#!Ne;(ng(7T%#U$YBkRfW}_8JU`r14M#={)g!+AGzPAo$a=;$agH+d7+dS2B zLpLjE)3e_~b!%wrRI24+jwR_V&bgU34|V=3`b4)9#A$45{8)j!WY>+w37jF3ahGcZ z@QFzvnI>s+UN{mka!EpFPAUvTC3Pkq47lV~!hJ!!c&-p%$>U$!R0Cv(8V@2jQ#J|m zY`~R}hjP;Zy%%!e!IYikSV9%mvHZ?yw z@ywLq5fy5)H6evd8HH<&Ld=4*#PRE$6rXHepaz?F)B*g8TEbch3S@>>kMgm{N<-k2 z=8F=Ava_tC6K>rmYK=-{iwE;iDPShZ>sf7}qOvY5dVwb(X}BT?@e~UVu|Yl?)4*)- z|HO|VOw-|nTreR7I<(iR_)MB#Hevwq8>R4&=B1RN{f%DmMX_5!ervWZJr89!(azmA-8S~ z;c?KU)?k0Y1=q5fA|V5$Q5tQ=3B}Wy8S_IxV#O*DJW6=M%_C?O0G0FD=*0|IoW+MB*z1vE3fa@w3ZsIOSgSB915 z5&7I6xPRG3NH*bmZzZ@rLP!j~R&$tr%SL+uLuJY#r8QeN2EMSU#GPGOFve|?K1D*p zG4;}1*2FZI&lW0*O9Vx611`t{nC_HRDltiprP+#Q(2Kpj;u2SpE!*Y4(iC?HP@2=H z2$d$Rq)fG_l$y2#;2|&#F)R{ssvzY6KG|&E3cW=YQEt6T05%wC&{n-h5g9fu?(~{U zI9gL*hUK13HO;L8sW_?$fXM{2Z6+`%y=M5Lbb=THsIP1QyQH;LS6&wM*ED`Ei|imd zWk1i+q&D~|jREF*ie4cP7Gyg2$m%F#80I)31B&KnNfXqwUXT!{=eS;^NLW;S2ICT} zIB?nz?vY}{UDL@NbkltukP(RCpu&ww`bvz9qf0k)X5=)<&I#UlHjY~>p{c8 z;c+S*Mp8tXpVu*#(lMt=+#$TOFfcsVt>FN(l<7ecln5He7L(tI!bZ1NF(*K&XdJb; zRk+y{le(krB~jH6ID9fu3>(C=N~tHNUA6vll4uPhA4cN>XBP^fyN7fojmlBh2ompT z)zHsYfDoL}D!tc*G2sPJPGmicE$tx^2m~dZx)QPi>3m%w($Ekh12r&HY33-Js;8L& z+8ymU@{GkI19T=viy2DfB;YVzLv*Wnii~nEJ~LhuVv3Jqp6W9NDx%6TFyH&yp!1hY z9qN*6JW3)Ak&+C}MxK>ebZIL@k|dn_e6Q#cZo%axmrx2*i(g~iU25u@CroUTz>CE0AdBjbi;<+z7A3v!$V z!(D(gr>C%@k;AcasrS;nyxd}UNnxQI+4I3^$nfl}f`Y;lx3j=i!l5m~i?XtrC*?A; zbBociaYfEzBB&}qg_RbJEGQgX5EC}GxUgWjyVR96Jl6~_EGWqxXDLFLQC#S973XH< zk8Qn+SJlajuyLP(j;qOGxf0GQ9jbUvjG|?Rh?P+7zy1D zOFS+Tkr0W-xiB)$Y$tNLN9B$xEGGLQ30o(?Ra}sj@6IhQmUj&3aPGZ(L{@>i?;|$6 zD62RNH=N|+3+Oy<3R)Qak+}sr%;hQtzPPiqFnT4$r2wlrrp`9v+#_?cb-VEBZVMO8 zaE-dEE(+IeAb`t@Rb<;JuCyR)Sbi>=2b>3zn*En?j9Tv8lJP|v7xD{-13v&~XSB_u zvc}2W#Q;5!G&>gqLCd~sg91F}5#YiRvi?z}`6W(_ojWT#yAY6Y>GXhzdswdQwhE(( z0`xH9T2ScDDlHj7xofKZ=&dSMw_P~`( zNF>{d@R7O2!|*4j?4m4pPF6`)w4X@lN-Kp8B--jKEh7DdwTzPCB>+=VJ_?cL7M7w< zd2SaCO95S3p~8zsIt!fON%I*o^~{oaR9pd&%tDP+98WZNL4L_7cVR)ap3#LxZi1g` z6GlL$CsZNeVL%J>^75Spm_xb^ZNvd3qJ2dPAaPu59>&hZUxb&^Ah<^tx|obu#@jWb zv?K?E2!tdc4JR<``al?qOR}?yb6Q~c5#miOZyhf&G)i1#UtJ|k6Pbt?% zc&>$_n&D0W+ch$Gtb!X6@=;j@ zstP*CJ#iM4N*Z8^E6@|2%A)YL))*O1+1)MDTWE8%fhO&Cy7PgZ`S=TpW3~%(EZ+s= zS6P+rrxO#aAa{5nh<}NmM^3lPIUExl>sYj66E4ntTI}*c_IXjT#lw^?dEmHSwgl+G z!RkoPpgs)ac`(KyFLe4aeUB8mmO*|hJ8>*r+EZAlBC&DnplBb6q0uOj7R)V9< zDt|fgaX9t~3yxxc0x_MFDJgm(}8$lnlM4 zW3TCJqy3Ofw3U)TCSzHV&KgNoP!P&9>;cgcvtVDSZ|Dq3eO-4-T#P-6swvzD%~>m( zPii$}7RbMJ7l|(%(Za!an2V& zWGs+!BirXGf!rPd*`YZC7$JFVRHxSEQ3BM1iA%B_p;vq_MV};=1Boyn^`Y{7R^rp1 z9~xU(&+~VfYMN9RQyfL9LRf60`AXKdoyexg)I+kKIktFe2Wc_?u^r(s&>Fz-*STR@ zQ}bWj91f#pN14__2Z;zIfbJMsY*P;U0y0M=iMLo0*%#+#us;_Hf-+h1N#YL3m}&V8 zzk~~jl#C~YN17;Zw4GYd3*IM^>KKsNl5FDNz(!<^SLIkj2pf4^!X7##OxnbwffC(w zR#MwULj~iKL@WwU9214r7Vj;}UQ^R~=1H?N)WY`-0Dnx{WFWU)xl=noG_H zGc6|4k*JtGH9dX8$Sz za$@ppeHFSRrw}Q+ZOUE%f0ozY9 z&46t%4Wq&+TBCuyF*r(#rChhsa_q;@>dot`7kgASShLya6z!sSwz=Sw7Gxs^D>yJf zh%#9D50x4lY7jjpqD3&V*=y)dJh~6hCHK!rhfMqIs>QNM;v{TM{<^-vf&ftVAJfJo zaW6%~%vORyzy=G^f4MN!g{UKPzL+gIgSZa_*s-qtnuboK5Kov#EV3Vmjj`Jt^k(rv;=-62d4=6G?W7n)n0 z9&jZEKaS`d_TDL=EuE5xy1?gihx$R4WAIu=_>A-ZDX9YzlkqPF&-BxK2wYxL5~U)H zN$P7_Q_7uFo(|}cnV))x>rtR;HSEzQ^qY`0k*ZG;J=izfV-0YCV;%w#L7nC&y9eg~ z%j;^49A|b3y^v4sqy0;IC!gM(qvSjJ^zIrZGl#2@8NZ^!qJESfcJck_9cpXnLmP;f z4puPOPZiPQ=TONK660-&UNLZRUyaXhiz^*F!P z*M@U=NKf}{HG(?PwUPQ6^h!Sx?IlgaIMUmowVaOHOUzF=y;Aw=Jq>qVQh1trM>;B( zaHxgd8O*f8;J(3|(=rHWqeTW2kO?;T4zR^`hZ$})7#yi!sqZi0qaSprKNvDm(SYVcqoShe7HSV7i*=FibyAxZ zWJJyoq~+OMK*qxG3rjSUeYwarz}N%E#!3vgl!zNv8az$F4>d(FN3jAEqre;Iu^dBp zMdy{IOA-&yH{c;|yCG{cz4u1vbLd2usWXs(!}uX>Ofsut!>feVBc-9)Ur>@i3d=k; zP<=Kio!Dpudt$Ju0f!4pPqM0tr)81TtC@4uxk|y%BxJ#8oW?ucnfr)?dm$ErC8v%~ z5I=_dpJ10n)0;qHPf1SgH{tTZojYYtv}M}U1`Qg-Z#0*nfPnNWX+Qy^egfeW?9X8}6*hW|0AVUbWjLsh z4Fpno8F`Q`>7iI2V)aoN^R4i)tjlhpH<`Q+Q_o~w2!fp}Ol$Z-)*$s8oq)f*d>Lf( zsrU$#MgMS5fc{Ua5czC0AYBg|c5vlgFUkyu;AzVP3Fy?rMiiA64ziI=tn@TCCgKKT zU&tFyqL>8P%5Y+3U3C>wvnq~=2TKmh*dOqN)tcfJy4!Mn7${gIHo=LmJ&qfjRa}65gA6VHf=Glt5b#tJX#VjmfJmbFOX7MYpNMsgPvQ`a z2~pfC*ex%4ipr-FfdOaswJCX2CW0#^m11qMj+`xqxSftwQWm>eJE z1@l%8w8~IDO&XAx-Y+pFAt!f?VOXC7{RZ|=sPQJiM!#Pw+V8|)450xMWF*ob{Afv_ zC(}B|YA>i&Ge}oV#+~|IapctH|DvifXahNFwP>2!!N3rALa9?>_C{WcFt_}Zqve}v zrKSr5LrY8`Y?~!IH9aKY0j-~n%G+VYV&zb}DVPAqibjiJ=0quE%!Si8e15JPaTmvCm9 z5FLxyaC8T_PKZJ4X6!hr{MK>evv&YBQAVhZJdGMK1b-PwJ@=BaYcz;#V0?0fXkh;z zk83?RYRHz+0*|g@>NvOv505EUTWSUMlB7!5i~yn#l%a*fu=81-yT4l+(v(4km{y}XAgsRq|-pbfEB?K#8- zklKJ6Mg%4$IT>pOU)w{uO>04U7+J9~1Zg#ipf!R#O1aSu>fsUcfZ>G(OAa#+hoT88 zH{k(z7?NiIlI{j>(MV3k{R=GLiHk|bgiPc$?MUN6MSGz>ZR=c)&JpuO<*-dBKmZeC z%n(IcsCf)@RFT1w1;fS#)({|N+xa5W3LzP`DmiXMuDovt?_|S6!gLt6@vai=&(Jpx zn5$I$T(-%_LGC6k1OP3SfY{Z-T(89H$DAHYrnHzJqyxaAavN0jw7bQG1>Z6t>)Q;( z5R8*Z#SR`qD>o$f;-ceaw2(lw$B|W~WrA%TEELIXk<^1q2Sn2r(vdX=_f{li@PC4p zJ(cRo0I;n-!u!!XG;=b7j)5EY0UT!7)5*ts8u^n|8Hx5}dL5<1N5zH@*Wtrez7pjZ zv3;Q2k&veIR9ElbfD4ZAGGb|qRURd#Z00po3??2e(z`+iE`eQE6}|yM&kC~Wh21s| zrer>wEsIQ@D*QGVwBvZSkzE<3*1mekmPf|^7zS}JMn{}Rl0m$ zS9m_D=|_END~*nplnax@q-CT6gNR(N`l_!m;f_Za7OIHUNm)~H12smp0;i*imy{Hf z2$}*zJXz~vF5os4((SgSt?GVE%7BaiR3;>hR6)l!mE2tGm3bTS?0 zLk)_$BaD`jL|Yb&&VhFFoHPgyU2(#ScS-k&J}7%kN+ORP5UU>a<7_iF5@-a;^4}KE za85}~7PPMMi)6sm@ga;hX&Go#`oabo7u2c&q9*=RdUG*Cb)0^rr2xs&q3wirIB!jR z*&c|+#6K`sk!1HJfrVA>$RRFNk zNqD0}qgHN)Dko;yS*1^DJ3Ws$r;CnpMzoH9C>{D8z89+k2bgL68WZFb%3|7(tBzoh zJe-faFcL<|i;#Q>7&~@sLYC#Q2&E|^omYbO2uTL)XuW`4C`j?t7kKQu;M0;r$S(8I zJCz6#U!DrhunoiQFJ4RtPz1@-X@*WhnsATCm-P`6C*>5NLl?xMDO4r&ZZXY|W*+j| zkFn<|f}!Jj;9>2qfQ5!`H}yB#W{QvP1=;ta8wlrq!k23)^;gb1sqDcUGXU7kkeW)K zBUBdg@e+!J1>hR06KxjWKM6eeDqIIkh9uNJMSqYkm+s*K&B1|F$)w1s zW27Xez$Js1rQ2gO3@h74eNy2u>>Ls55m1@X*lL_%ns0fR>x<-3Bn<)$RO@eo1;MnA zN9*uQV9A9&cvhH@+5>z8ZR^?WU=-<@I1Ks6#-H(XmYdj_;G%OhL`cya@=TVZ6kxfKh zGupJCFbOlaT_9m<3e^_ev;f6RrW^}YK>y6KQSYQUrZDJkNxiQ0%({IUs+}3O-buZ= zuqYqElD!n9(03V5+A~@dF&4x(DAt|XDWEGPJHA|q6iMbmamz}qr3!{6DXan2V)kW0 znF<*+PRY0^j#<;%k`uTIN&HvBAvT|C9DqViJ&JT@5}=!c7gMUCM64vOLJev~C4^`d zW}}rYA&V$JwFu=f8K-W^(P{bD#338OWHA0x3c$gfS8^U@*p9#-#jr-Y|0<8w&Itz@ zV06)t2sRQr2EOWyr-)ap_!22(3)nqP8JI*;+|ENv`!FTouWB7lvj%J&3EHG zMM?e@WzZva!28`44HGv!HEm#Yb<6SjUTdMRVXH?_XRxk59l%8-l zCY}if#bC!YjnEdCQF|d(5FM3fVXPyR^_!JLKgfl}E(@qPDsQOlHgmHewg_xe()lO8 zi=AT>jA)AutSehkfaS30=};jtQ?}T0&`gFD%CpujRSj(?#Rm0c+9Or5lIfrmTJoZI z((-{b>`NyR`Jx_d#_^dxzb%cjnPZ`=w&4;=aHc-F1C6=Kjn@lHi}sRr4S|lRkNl4T zNrWE62L*`M;neykfhhq}KujxVEhSa_|6;jielOi}F5AYU379(oomP280H~F0g@jhf zjYKc-G+3ATf1@2l(q-|427o6{@?)q~{TLzIQl>j^>6~00pV3VS_`*CK|BLpNO3M}$ z!?=)sw6lw_Aeu+As%pN_yfiIRST0xQ9?-+%7B6{M=MWoA%xn{2m;&o?3e1E8j6Vme z+d*=5ln_I|2S#7VSt868LB~n4n61s}ZU-L>Y0;o)j%d3Pcm&!IJuA%fjkc%g(h*sO z#!(YyL<0C=An--%Ma_iZ!*m0!VX$s%^iTeG+vX>>z?1Tk^)ae^!BNr74wm`o~j@Kn-Z zB(?(D`UjriZf`V*t&(Vi5JzmGNWoq|%!X+PmusLc7hb6_P}EX|_DmcgAVhI25!TX2 z+g8HIQk++idtqpaY98GeialBSfETq7Rl@2JZ6uyh)yzOq$yMc)?kLu=bW3BI7`G5_ zj$$1%i-^txjYlA0^l1vh5hACsL9|&eVMhAsI%UN#-GwM#Mbp(P)p?8F>gB?^o}~jZ zNr*nG^(>uX*w(sY_V2%}S2T7oTuS?UG0gzSufg3MW#eGfZ@WGv99`{fjGXEAMs&&KpI@SDKF|r+FJEUc{mXH>T6{*<>#kMa3^t| zzYKd;wMJG=E&L|q5|n)jzA%+lUje;RjZuhitrUc&;LZat_FPgX{7=5MPPQ_pdW97& z_8`H~48tp|>gd|gstogVRg^C2jV#3`$|l%#$P#Asd|p`uGF%(Vq;H>6SG zNa)ZN&1$-n2DFx_hn~224C9o%qE0yBB!xEGlcJ^HRp5j&x2ggHYJEexw&~v zm>A7xGB1k0TQ5Jt?b}Lk3K0r7$w(WoXkHE^hU35HW#mR5qxsPBKzS3J%0b=CdVd%P z)4??yV^bq41u5dH<%uI+g3Kj}BwyH2KzNX&EMv=vjh2V|Ni1yLDpFAzx&~Zehr=}~ ziT$*`i%7RJG@u>VBiPmagGG(CpY5wVN<3nm(W)lNz;30_>)?wvgvz#-DNuT8f zA5rViHc==%0uuqKF9j2|F%%t3sWo;MY3tj*g!vkxCNyaoFLX)#C%Y}k;3=`~%*rn+ z=!=O1mY*<6?LSBB(cGR>vZvT^(&xsqB_kKxz?eSKx=V%XGNJ^ScIz{MC^Ft&rED|! zd`q-$*>#%yyn_FiVxXjgxeTViS(FtYkQ>Z_;;-9igv`xau$VcjPmcaGZA)!M+oCuK ziqZ-V+v=m{KFkJULyLBm*|3uUrY7`J=53?#5}vW+k6l>07Y+5W1%)&Q$smNF9VxP| zQNk1+J6ULnYAqcHFhy{6TTUD8j<(sO1yJkEFz;9n~a==4k<22}sQ3Dn6hWO{a${+BFSQ8uHfZ{uv+pwZca$3~;YH zW)$=}BzWMMv)-Ap*3~jSvAbB5EvcjJYMB=8E0-s$u#?G$tB#yj?Ubt-0yfyv-Pn9!_ii^b(=dNP;cTRMrnVHFOm`}?BpkaSNiRpwC&kQ&n05WC5+-?y{nxUUN{fVSKJzEHrmO~o(RN7NPvCJ3*~8dq+eq`E zf9#mTnxF1^@{)BTv!t==7209Pp~ciouYwD1elrKj#hXQ^y8lVbn&R7R|LHYZTus ztpN9>CurMaWl4+4EGdL_EL-Qcbh5=d9i=a7GPS|$p-mm?<)hMFjG zv~MlO`Kb97T>|C_t}>uQD)@E_f!k8H7F=M^gK6d|qk9aYv-yz3LU&|1!Ckj`h zw{nlsRvjiwYHU79s!Jx>F!hmyw?#ej7!RMB!4j_5hNuM0_sXI9&T6*lL0_B3xsYmDa3;x@#7Q-D<*W*uRD(}U83-fKNUW3Jo+s^f5))d4(fJp| zahQ5eY~&!ra#wQ_1r6rYbtF6U$sTiWU)o8^GtqQcH`_6UWE^|Yb`c2) zY7boX8@9ySeidhA$heX+4`z8h^CEl~9p!ZHL@0wrHlby0)qzGo4z!dJM5C2-?j&o` zxnk;oz8K5}={#DMOEwZ@<$x;T(@s6zx1i4I@lk9(Bt)B)h^IOda7vWY%4f=vaD*SO z{h_OWV8spGGjbqz@LOp}E9-B?1V8Gdw3O~p~ zfl*@QL(4$F7J5gTl$P9eu#iniwPZbFdQRETObN9c-{P8SN6TFljx}Ti0WHU_Tlg-Vfy>9OoD7Dic6GN%3e+laBNh=JyuyrPU+- zO)cX4(d`a~H?<~MmeRl96eNz#FYESu&01U|vdE4#+K&FJ4qv6b7+bL((KIRj($fYd zLMtluqP1a9u0%P~L|E#JrlX^nMzt?>EV@R(cv2N}t~U=+YBVkiOr*qb#3r1L@OK+5lsV z_M|4FaKO7|zfuzcscK(3!f|{y4S$fbKg!K6FbqTjGt&&0`J4{D0^N~QpuT*k)AUzq z2Vl+CVFL}a0+wYA0#5;TPaUiqA%7G7mEjC_qcHkTATtW_O?ws3c!Ilys)&zJVbpE? zJb<3TxZ!+JHg@54cp8@@)2DG6eEmxSXuFv=jmuH1D>X@#nZ~%LPG19oN5kxeKV7Wj z8MnrzCnw|j7Z6}4?^e542n}DWy!|xZbg|)$q;`|gh2yta(OAn?LV**77f4U9v zDg7lu0!bodNCPGS5)$7DHf_YCr4ql75RcYMd_F=vMnK{(?~68)9dI(8FAUqOh(VQB z>G1JvPfQCZ*b`IbALtfSu~E-|NMH(+u2KF)S~6z0*PDqsn>7crv2qeg4V(reLq(R4 z@eC4RlY|uZ$8@V6ZK?$7`05b@FGM3O3BVhMJ@G;4+sMbK_=r}=)A#zwzf$@11!)ei zFLUD~EO^6vB_|`FKQK-2I@%@26=(HeVj`ba3)MMFU>e#gKa-(i2x4QT4Iss-M?|6n zbctqFqm;E>Jb!KG1V-AJAYDL}X(&H)pqS&fMPF5cIQu~7s5t@3 zvAoIz7NAEfl;hJ@ly0VBHb|y5Uv&Z&gNEe}cNW;_B55Zsz=pLfhe{bK7ng6eiUIwD zE|gfV~r2qPJ;2+sOG2k+#zDWBqW zJo)lBQ1x$M_6e7D?RW7r_c|o}ei!on@udo$%hkJz*YGvlPsRNv`(XOU^23LxtBOpo zlz*$1_2b{dWs9mezgE5ZnPt15xIOWW?;jK@T&%hBJp7+6RC-ak@125u@7ya?deO7C zv9WRP&Ek=V>34^qy780sp<-F#0R_)(%I{)C2L18(u*92&8pdaDrj~U$Nu`td%vK)Y z^~^Ai3?G$rhMDCE{nzc+{nG9KzuVt`?x!9H+5Tg+ChJ%0F;emV4kZhMb?HzKmI}QpmUHc*^%=hxY%z zu8)8C8DocP-!K?Y&_3yB41R3sBfp-Psr{WDHZG{^a;>=Zsd9jFm6)-A-^F7~pBB@; zp_YG*eDu@(`KR&dAd};-?000k4Cn%n+L-Kk&o}lsayp?*cZy1XiVR-9S=I}`3(v;8 zhiM-PW*`rhEB(gVMW^R{EXFN7?ZTAEg%~&aljTPL>Tv1n{%Aio7VT8yt9^5Prnlpy z2TcF>4`;6KdTaX7%xio3I^N%5dFc)5lV-eYU;a`0gIkW7bV&UA@Y&bQe*Vm%=?faR z{5bW;WgW5-msL%@RKZolDcb*2RDZQ^7~7~5=&$kz(l~x6k}KBSKlWha|L6TJUDdhc zL(aFw=@;10to6(4ul{t@s?t@7j=oepj5waN4#^LNY|e3?b(s8uXef9i^!&@$i@R1`clga^9|}nazaw~Rx;=FG z8NV*mUWT^%3$8<5ar8$k7 zbSLuPrl9c9e z9LA$5O&5JTU;NQ!>K%v9+T}3L@A7(Hj|F1PooCK|+q2JM^jzDi%DX^xe)9fL8eiV# zFg^;_-}mGK;r(<<`rdAM-`VZZ;%^s-w)5Z+-p5_8u>bjw@DN)S>6+4x{X| z>XUpgi#sajjXrZV>bvS}&w!_17T@oF} zn~obWY5Q`A@#=F*aL3Y>4r5ilSfy)CVm;*=dsea0pEV7oObWCuZb-iW_7F{xYJ=Q`Qze`cD*L{-gWSy z=YL=4FxI(V>KeaDoYQsu7nxtzIgE^L_M4o$mazr&dSUC+nnE)ttJo)`I{ zJ<5A6c;3$M7m2?g7<6FEOJ6&T7mb+-y?eX0^PtA-t zjN{Q8~4 zxHfh0yh)42oZ}A`&B@*BFdn-0!gkLu7LH9x*U#O8^cg2VRkC-n$g8{it+Sqe&S7-u z@WFF^-Vg=X1AhWqMS4&#?#{=$84 zh(DLkdSrOVr4Hl0lTuDeSRy=Ic29pi9_=mdy1uGiXH>$#sCKMV6EZr4*QBTL1k`tE73{|oIubLV>r$#05HXU+Zfi3sp( z^cm|Ou6a|me`DuO%Wm85FkX7~g%cLMDQ-UIwTGr{*$ez@e`UiDZwmL=xjP;@@UFvn zF#G)7DQ}6mdyZNC$H(m)hV$iDFROh^Y~24+&bs5gz`y&4eDv~LV$JU7H+{4MBxD6X0e-FAdG69z zmWdOtcsZw}4DGw1^UT3NFB7g)XWx=|EAXx4_~OI8my2Etir@L};g20g>bBo*n7mx{ zeZl_u7q_FowSR9s`Gw`8t1G*!==7Dt81Y#1tbNPHrHvKq%6IYZAEqnRjsK095D2 z?+)XhX&atSdRz3IJMiouFaOzLOss4!sCiqIowsyc@4F8>jDt_VduaaK;<@v#p6Ooy zmcw{sb$H$nZ;M~w=uq=s-A@kV*2=%jQ&);bPxO4X-5AiTt!dMGgjb5vyVw3+(Fy%; z|IME}7OoTzFS@W{!9uj}lEnL-|7oRg&gpjPNxz`~z4sJ0q`xEf-~3nN(0fq-jOM%% zQ{E8;9XId1=^*CI>)mg?V9`6`+xC-|z52^RhjD01{2#x*Bj!CcwfW48FrINkTD_ual^FiQH=zr@JplZ^Y4?k7tP(35{dsGDMfu-;zhL&CtHdY6 ze?MIECGg|XgDEo|tHqe_I(|8$8{pBrd)fn6uNF@~vNQSm7eHU;o&Utlw^oZU-uufl z^m@RfedM({hgXYd&P#s!z6V!0j5+Jp%^SK#Jl?hQu9Wjp|Mq^rymRdual_n1&pD+i zzx#sRZEvp;k2?P~_m-bPpEiE|LA&GDir+V_>A2|IjSge^q{n;Zt`&t{|9<6#6@LT& zPWpK4O>4#2hmybY_d%Pl;Q9!}z{9 zuHz-|itZ;A6%H75$YK1Qv~2Y4?~0!XpTB$DQ|Qkn6SvP<_pTU|;m`QwhaV9?`qN)J zzb7JNtLJXH0`#pW)P3>{*ub|)E-o5j|_eILmlTV-d z7RGx)!OdrU{=WFO!E@tTuLC~6KQsTSZtKKfdww{#U=aH2**0$QgmvPPH}4rAH}PAC zF?8MiU(8x3&Uta|dCj@VKc=vL`qp)#yKCmk8RJmjDP^Z7*gg>1FK66$!Z*PGVcY!WhYtrazJnG{cz@rAVt2>e zuiA0>8qn{hPc2SdFRmXFI%m=gn6HWR-ScbKixk&^g%7Vl|6d>X_`H|bi}UV(Y|qLn z!0+J9YZm>qUW5`GU*2*C;_dy8_no^zJbKe_r@uMP$TZSyFaDOlL7e*j^fBF69iM5G zwfnHg-5bQ62il!8w4!6CaluKacs6bj!*`x?%u`eGe#^ww^H1L>+C4bu(f&7g&NM<_ zUUK@FjpCBK4%%KWYoBSvrTuivLmNfXtM}Ax9fJNe>_6wU%^QVh?-lDdeFl7a(tY;4 z^FI<7dcNxTlK+HE<6q12uDIeOaaz(J-Oenh`g*jx_{opNztUaRC22@M_NFI|?>-X6 zuTDLGUSzSuux-5UK>WvI`_{8wo-!WzxqM64UnYMnYPO9(d2iy0nZ`3sb55Q2vAA*I z!nlX7#rzvte`ofOAB#zcPJh5L?W9a2b&lhX^iRahV?SH@rVsUX`{a~;jh~3`FY=sq z>t@6c{UhLA`iXefe)oi*26f0Zwx2rh$HSk9$;Dkh&bt%q_lEvCk7R!;R?Y6T2F*ATfg@|6?gXT(-?@y`n6#A_ZOeCNxZkFwo_HpahXQO zjy3&Uo5a*pkL`5xq`yE9UO#5S%uQm!!*SQ{`~vtlxO@9YH*XRrRNgTA{?#aN`dY^y z7k(yg{rAC)(`O<6#RX@FeV>VwpFC?{zxjaw3emB{bDxQ6v$|I=83uao7&2q={?EiC zC-y%3p;V0T`rQX^PW@bXM}5!~8h%QqG3NL6;fBw}z>ya$y1ggp(Q(h-fA!MOMfR>^ ztL7dCey?A=@acA6h#&5LFyYvzHezUP7BJH8NGZkyX{ z*!yVzLp_fBV&fNL%^!PLtUMd*cjSBT^s~Mc!Z!EsYc>Mkp1$wyyoq0mrH?*)@vGZU z&NLqC*fHtJFU6p=2f8lL1-~gemkipC_ulWHcy}+9S0#S&Cv6sg4eLLvdmh?bpWN_j z{bq5?sE7AHcn`++`N>zrFWoHe-Ew&0zSA(j(r(CHcFYzrvgY<4nw5oVs1yc|oUl4-^C6swQmvapHDy!MdKSW(B%r8VyMcegD}m-umtQ z*R!uj`yPpZxA52PqW-$2DLcNR_ZyR5&-qrgKh5?=w~NouG#1@#d*Z%tMd0u3loKbS zJ-LD7Py6OuG47ent`#5Sz372!PD!-jQ_R)tE+4~h3m}zAMV_HUZ!zkX5u?n?i78lxZ~5~HUs{@cUZA} z)6w2PLQhqm`JI^lWz(W}b|HP>#nEpEz7tbc4S4wF)qq#~J^%jX&F_RS zr+Dk@gHOZwS1o$xv|XaCTkpCa`vH%}TeF5%?h-%Wc6mC8AEc8Zyz4}V;&v%RJtDPr&G!5lX|IJ^N zzDM-=M;8Ma!Zd<`^AsGV{xCE@~DZEqM5e;vJYz*DW~xg?pOCpjq; z`c)sTtc{2tn?CD$_cQ2!PQ#+IT@i68zHj5HLEy9FqH{+l9T3Y8uekEimAx{J-FJj8 zt2!XI_WJYboh27TA27i46h zm#4ql91#!QnDkyE{2~2&UH#1di0Es3sqcC4A2{o&&+pzB5u@%rFryv(*Y0YxU%59T zX0NiX-nu6uk{UlKy9EB)Tgv`ixH}^D*RQ<$T=?;qethAz-$%s0y>-v;K)a`1eOqcC z{C5xi{L0hcMTGm{L#fBYA97R4^Ox_8h_~xIUikWsh`9FrhweNDep=nOUwq$2#9b%8 zed+7lQC^qx7I%a{*7?Dy>S{vktfhUAHwN zw*K{cc+FQ4am>u8pX~(y&NqJkWaO5J5bbXK^R~?qQT1rzxof|Sh|ezlpx?3Z?|y7> zuH%b{c(2@582&sW-npcC^xV%P;=ZXn^EYpbh~t)>I`ky?)0#&18T@HPtbB6P$(5f( zL}Y#5?)yHDh=lk>OO|{T5l;l~yK(!*h#30UOL-^2pS^1P-@P_O#K%R)zI4g@h{#^H z(-rtIBBrms{J@PLM8p|OhFw2rT|@+~@}IQ${fM~fmPc-1|6WA=`ok;6j&~#CU!I#M z|FSkByl3us|9JT0cFyX4#+ry2IOzJS?yDoB{Itp!`mBnG`NyC4O}}>{qE}X^Q^v}O zICyPJ{E)XJ; z^QXTa5d-?C554rYh}iMS#eEW9iHL@oaa(>}06h3+`sg?2MZ}ijHMiEi7!g1GC-u6E zpGSLs`F+raxe+m}+mA0@`3&&ku=u*uQxP%cmUi#{`|*f);kr?idd`lBU32=acxo2P z4KIEFyhkG9q_W*N-!U^H#>{@@;K2tXqJ#a^&aV6L{@k98&)ppnUq5Ic`r91{KW=vE zklP|6^*?>PTy=9qY}hiZdch4yH{-R*Td$3XU59gjFUL53`q$Qt zUf}Nq{dzrdMMSJS^YmW>6C+~b4MtwCOC#d;)G?=T8xs-Fd{cheT`u%jTzx@WQABM2 zeDj!%`M`@VZyr|Ui)3M$eZ`%x94na z7KauO{lNKYvzTgHj4{WJ4`yfxLK^IdG4CW<~NJ8`Yz7z_H45l zy374?=+R~|;PGyEK7N0*m>sup@k_Thi~Gk6?>cjOv)Gm6XuPz(SzK}1(B;2PY8JgF z4qtuc70u$r{F}Y2N}I(?m(h;jG&yl&R_lvWKEc>{w+kTO{?uHMSblNYjO>zJ6*`NDF&)%tLyt@zU#f+Jo@A_(= zC|L4Yhh87<6OY`teay_a_KB*V!>{?`rG4Uyy?y#e9@{5=sLMo3H!u|n?^qI`_Fqtc)&@gowj4I_~CtL!XF#=itBn#{nvtJd&T}im)-UKlY7No zn}%GKc+FnXetW{b{~5bi+;jP5;ql3PMMiPWlLI>J71fWIP0jjxj~M<(T3q z(+g{F+av79{O7Ao_Z|^xpMBYfse8oQ!nqIBx8EZ+Rj+s>@w46H%)dvi{^{A>;bJiEk=%<8+TvcZgK6ws&g*yiuL^Yr!TU7^S$_C=5uQ{zVN-c>C3D8S2g?}=H3LF zsxJN;KQb3GHWDF9k*TPzyKhL8ii$K6NfRMTrCdWQBxxc;Qc5$Lb-Vkfxl}}kB2%PU zrVPn{pL6#0aG&3Oe(S&1`>yq#)$Zf7KYRG@;q0^bKErJUYHGdH8(EEjFk5EMlx_st zd+uqhE%*dHbti0Ea_ke>Va<}0Uj7LjIoGklZ_Fo9;y}!atZo1{cg{a$oN561j=FR9 zyETBI@?uZdF%3XZV`fqIyLynMnY_sVXgvtpHag+Z{CcqQV}W+Bcs&>#zG(9KyC1>5 z)7yiBH-7{UsZ%x9jQt1{mTmX9E35-IyVEZ!h17wAJw-X^^y68b2Yp2RW;ypXOp%cs{~!5cak_s72v{w;G(BT--Ah-+)s|-@4(l|337Sv z<-oz&q+0{6V4FjZ|~s- zcecPu*C%k!4kzzZ5Y;1enH)NN6X;&AEFy9FFdTArJ>z!AQ&Q)R^mgylmuaRP{xak& zlsNg;K;p<7QcpYZCa_O`eRN~wso-nSeII?c5PWVoeO8QOPH^m z_<__l_RFqf@beGY{%E;Z{3G~u-IZxGp43o!<+$iRy(j(RqQ9~)VTqdbxEA}5l)gc7 zU7v3J^H1XTu;<|AjF7ddY1Dlx4b#eKoPRZN*`|FY-{d}+Ib3BUn}hl*%D?7OSf9Q( zrs2f3EtkOQQ*sm5CVe6GYQy$vIQ?ocKRGUB(wr2SeUJSs$NU?qv$LzW_QeleHp??m ziVJNH7{A^a_nk_=VM#z=eEp6~TaD7rfOqL8YJVwioLK;H}qEId!#5Fl)u{ z*T>zd``jAC-2?k{hsjHadY(#xI^zmYA3*aQls~I|*FK#8zn%jj^#KQt4}`>rIDa4{ ze~9geLhOgQ{6I+gA+A3lr2ZhTe<-B>A#Oh?r2Qane<-B=A?`mwNdJMj{{bQW590m{ zg!EsC`#%uU{~C(r*r zUBG@)C(r*rU7-9_`sn=c(*^2})XDRogAg4}g7r`7==|@~1=^3&(fQw}3$#C_qw^o< zUoF^wC>@>ueY!yZBX#op$LUuK_Fqyb&;P#o0{x##AD#bw@deHwDt&bRW4%D|{G;Nd z^S@6QIDbiiKZ5xKf$@vftNYmx1jauqe!ubyj-RC7 zzy5&0_)DeVul@zcZz}zM?FR(Le@gGy{y^aRLFxVa4-mNiP45JX|}WM2y| zlaXFnWc;m;Aj&u%V|*M>GaQyH7KkW`5IfDAbQV84!>H0ff8~Uw2yqiEbYJ9np0UGm z7vr|S2mu!qrF_b@a~746S{5GBOpQ^wic z&SXq5_&s*;Ffl^$Ql8s)4=aZL{?%?$^TmkmqNm=~y1y!4^Ly9os_aQr&ElO{B+@dmUIRqbU}*qL{o7hwzOx2_>{wpce*#G z&fY9eNH12ct?`IsOjvANDS1(xn8I5#vBCHV!*=XtmCc{TiNP^Vi4lrvj0mUcS-Z6* z2#Ja<#NMVvhPI|tn7O+I;pdblJMTauBcGc8NDz^;Uq#-Tn87d@<;lpYk{~Y1Zq|s` zIL+AN`mHfgU6MF^Zg{Nb>NLhvFH7gIu98IL$uTyUtkW5hB44*CpOPe;HkDkg`Rd7V zpZ|JlORXeP;MIHgi&rVb|dn!JeLHY$d3xoBD9$;QFNF*W^)wc6>7E|mqh(@lmDSHzEI z8z`J&*sSVq-WoE5cvxU@Hb@#g;AxH0)dh-)%e4X^lYVI(iyQ<*eUhPbp;y6|9i z1Y>UD5`$k}GQ_%(@tY=X^kS@!`&prJONO|XST$AJ_b_AUe#trdlCs1(NsF_4P6sgd zp6RX_;UY_1iogHXVOcC=kMVoahV!yS{P8)eTka+>RweB;IsQkMDB3sOP3&d>qa8$l zGH{S1bnK+#bvGYkl*gS(zj{WFkkYs?lk*^!p}TDLkI`Ln#E(6NM(5W=F<7&FmTz?! zN~F9zG;hZKZH%(G)X@9qhN9o_Bj3^$JpOqeh*HAv^OJm(!kmxs)V!1+_=wi;R6IUj zq2{#&!ADEX`B+BHi_u_#(O&@NFz4f?uXOr+oR2vlo2hv?LGUpFb3R&P&c|<`>Gb$` z0&_mvV$R1dY8`+c*~Ey}wN!ce=#DubM_|rJw9ci%^Dzo@KH6Z;$3d9$F^^iO5Ck8? zFz2Hs=6saEoR81z>HPT^i#Z>iG3VnL%=y?rt)mEnk6D=WaR=snw85N@%9!)9wvM)k zk2#q0F${A)F2tOV+L-gPy_QaokIymZV=Cr+48WX^b1>(l2IhS1pw^k_F+_|70+@+8 zAHy)`;|k3AI2Cg~Dq_yZZ}_=#K0e2sk7qIGV+7`WbjO^JmYDNV19LtSnD-&oTk(I4 z>`d-KpfrDXw(heJXdW3fENRC{Q2J@KZn>T|x(|`3RlfEdxUa1`IkO4fw_z#VHS=_Cl;?7+MhQ;^5R$9{6Y%6rp*Yf#SQ#6eZ??a;b{##5|N9d$WJ^ zf`{OG(nPB>?TDv++L|Tu7}P(lDlT1!@^^3?CY|*JoR(-PV!NaJMl7+k6AsV7<0BQ+{y_FSFNZ<&5xo zt|&j2{9!eR^`&q*i;AGdxF-lJy&O*f$S z7@?c`^2>YRn6&r3PZYW@C3UytR(u7>+qAd$a$xkm;flW{3 zK=(E6 z4N|{K*MLt$m=nC-q5GP}w~I`iYQTe{tW4De)L+gF$-S9U1JtfIjAvs~x7C8}NmI6%EJXFA8qqlc)`D-hidLIP zq5Fn13rv?t)&bKdcjv|=vi}~Fm5c&0$toS-`&E?jY_lHq^EFQJ- zL|GkRj>&X=`2@8e5!w2B^hXe(CwHf0GkT7sg7td2$47Aaxnl9#MpPf#rtXcWKY}$8 zzYm{ZfXcrqNTs0hBhZ>^Sis9h<$su@W@p6zd6r#T4a-=SK1Xj45%^_g0Dbtk&- zFE(wt!^L{g<>A@B!yVn%9HD(7>_fwzt3yqOqfXk_7e0`CkxFW~vn$OZ%F z39L#yFStx2dlyDLPhe?aj^_#NM|fV4h|!xy-b{?cXk_Dg0xyrA7qAoY{J@V!9)F&I z?q`$b<#poge-Vv5{ybqX&DpClGH^KlJfW4o?z8Ybfpr;kJWt?x(VRC6`)kukh+?dz zulwx#G_ugXIcX0&6we3TY2@+e3EEf}r;+uEzV5T1;p_h;8hQMAf)l^PJXA6^`1udGwgpGb39LA9mV1BJb|?Z zb39LAJK}gVaXdq;^XCcjSpOgA31m+rk2kAZdm_Q__Hvs)sp$GZ>@XVFa16Xxc3vX~ zW+5Jb+t!kiKNZmUMszG#=Xn!c1?LYmN05A_31{RT5b{^_dzc%# zzOs0wcOKsbE;^o;jki$#?1~zH^c?bvbQ7)f1}J@=Tv%xg4@eBUuJFhTU0-=7(+^hM z2lfHp7h{&9@T{x4J0?B=*_xg`r!J!Lmbkr5 z5gNbUf_|Qnd;&Te)RumUT!8X>(6!Y5DcCkA+p%bc6-xio2B+9(K>mkw;XYL~{#Q>F zHGKUXcpicuOw0^W{3}Yvviab9ZFDwAWiH|+C7pIJ!36zNc}s4P<EfUQFlecwRQoSD^*O%Rqanfr#W37?M2 zALdmD--2bkzF4dXv_pK$k=>3Z;Gx%a&GAvFJ>`GK>(-WlX>q&dv=^ZH2vHbP=2r^d z`xF^njT&b`_)gduO_YJH<ln3QN5+Ih0Wv6m_OdiBbbs`$a*pAbEPGU*DXJ+4-@!!*3l_AA z+1w+t>aIwryo2nRocD)&t?vCV?jE60wPf1Zau@ z^L!Z$FFWvBgJXA(;5kAc!!meG+}20u>8yK1T!{Ge+of=pnf1xvtyAt1X@AVl&Mbwp zBbrXOj$_>;SQkDez9@lu#JRW2CeFM^6fA0NTU-Lq`Ok?Vo}m0$MTdH;-om4~aYgeN z1C-u2lf;d0q5r2`Bc9r{djt`_@??84w7D|(jdzPVif=X6ExZ^SZ8tu#G`X5Xuwfl`rjbv)voG;Mk47(m{GCe%vNjc_B3Bonw~Tpz>ucD4Mdq5T1!RVEWi`EXp5D zm+mfr8CKH7rArf0`tM>~VhZ4?s-Ojvo>-yytudNv1#o7)(o_HS3{)R}yDzxDhW8gf z(%7nEf$GmfdUxb2$otdVa(44nRDSQj4wqg+X^n$-Bi5kw*v!U+qI@{*Y5d2RZQ}Qc z>g8%H{=9(ZH!S7iB6JZC?@rTs0dK8W|D3pd4od&-vhNF?L-oh*Y@g%EUbc1ZtX$Z`_6fAekSeg=fXYLJ+`lRI1pX*-_GV8< z?Zdj6>}K*9s@~r{eB3V+q;KrK?C}Ub&^#h(CN&TBkKVA1qYq(gs;|=Fd#Hb;O&E9c z@dLO59t+EQV~Om0vmvN64{A-d&D-ZV;~wD_FsMa84_d5r$g8t8ME1>C9JBg9EF69F zbjfXGFQJoOe~bs)SL7ohj6LS z4dTG#_xFmbO+o#Q)!r5TEf-qLeYyBTiLBrCb~&r=z}cmVIbFJ_ec5R<4;SBpP8WW2 zI)2PY@ef~M%)berGslR&xnP9!FK=c)z7B6KSfTLH>MQC`=|?77UV|g*yr$cYM&)5G zdmYHhhR4HGm2!3=d)O5nnbWi2_{CR0k2OO5jeW2+*5@+htla9zn1K2xv96T6`2y4~ z4Sv5?m2A(j`#nMDpz)%s%~58iNO#gS2sr~^dOtdBV~P43duoPV*eN)7QI)IgXw+ZP z+xk;Rr@(p5*Y$6yll^Ij(Jss5@Nkys++W0O#N}n*cpQSDZo%3+jp%$Pn(Wml?S)(F zhq{>Bq5Oy-?}yUcp!VmN&bc0B{r*n}y*^;|((3@$UyMB%|6uIK*oCnZV+Y3H7~3(n zVQj_Ng0UInFN{qX(esa_bu9GUBZcUBM+(1TM9(=={0qj<7#lHu!q|WjJ;z9e|A-Mi zzew>~j5Qe1bBmNedR~#j4;U*kR$xTWDN_17jOh79iqrS)2^M-jk>Vv7(Q}CuFUE+T zOC&iPJ(ox!dLEI&0*vT+M2e&55h+B^BT|@;5j~Gc@#h$yVSI}53C715(Q}AY_=gzL zbBGkr!+4)YLY{7a-cYG1V)|=)-kd$5*T?yu#S<1 zk-*3sjCG7Gj08rWG}bY)FcKJfQdq~x!bo7`Nn#x%3nPJ%CxLa0EQ|z3o;cPqvM>@D zd16?{$ihfqCN1_^s7{jSz1tjEhX3}i+`<93o=S`iv6TC@j{xVCNO#et8S1cH8qqUm!2ouw zl6TQ3+dqL(y=@mTRE(c&>Z66WRab;!P*Bf!=|+t}hsRh%-)<1hBzdiTndWL&*LiXPjNg2HTdtb{;nq z?I#j{uE!dLf*|#YTg>vv`Zd?u932YodlvmnSxfS!;DwE$V6OO<54ZP|d~u%ntT2#l zA+LO=i`);4YZ;p!2BO*~NFA@5jd+Q?TyGfAvXLv>D@*nl=TSY&!$C;R@nS0_^xhsZ zUH<3oaImq{`Dg2I(w>{mbt(~{t9f|G+ofdvb=-gN9|4s8;3rdEa{XYiyX18QIQ4am zMcg7Z|0nk87Ejs(%yK(2UDC7=H{}-Z-vg|kS8V*2N9yjDWet14!{$q~)O^YMu)O}k zDiY{kG!7cM5$&fEgOnT7B0>J`B~D4B$o?ZZU&uf7{PI>f_txX(X{XTqiAbLP+HouN z)Q;ZNHJY4nRL8z)3xoyRQ;QG&u|+(_t2i+b2FKifa(bK{;ztULEdn7o2Z&18%tgE@ zzo;evF4E2LlOC%K%U=xYb}x&8$g?2OK!F z(jPY1M?csax&U#GLV}1tJpJ@U=@8#hh&Sp)W%xlWVvpvOZn8YB`8(|V;O0+7m7k=@ z@WrAVzWYM4%%RXqWjobv|f3p?x64CsgXyj_I-U!cM+jnk$mIC7DK@FK3V9s(mF3Gg&DX=_2g@(*up#Gz1zw}r>)=L4OA*VQY!BPh1y8)- zF0=4=@!!TFF4Y@8)C+oh6&vYXB-c1k_ue0Id}+Eh=t>&}8RxtTK& zH!q55SOZ&JS8!s&<{|EI)zn}O9QNQ^=BTM;d$BH-2YSH74`RQKKa>5TW7J3^_8s zZ{4d~uJHU;xi1X1KB+sk+pL0bTdyCBo<`=MB{8C81-ut6emXy$YM(X}&*gAm<=t}| znP@#pXlTu8T?&mpAl?@ugbb`kNLvNvLj@9h#4bQhQq&l(Z(x_hLc?I zAioDg&Kr5NXk=N_NLbOxo{2dNb0&=}3mSPdFrSXOIgM;H8i}cxn__N)xe<*lLmGJo znCoLckw&&2jl=}ZburhWk*7@~OAGU{m}_7@hDNp;jf5)Zqc9&yBX2m3tYMfdW3Gg` z0*!2W8i}Ep%VI7=BX2N`ENRRoF_)l`5T}tXiuoYS3Cw$y>GtTMk@W}jF3dY=Bsyqh zw`1Ohc?*rKW*T`-nE%B5JLcbLB)-zf{)~Ae<_$Em>S^TFVP1=QHI3{l8i@~>S781g z^Ku$lWi;|iFn^1A5smCOG!liFzsCF(jl6ssSuZeuhWS&>AJfQwL?iJK^E}M&)5wD~ zvbdOYFuzM9kxL`{Hs-f5zk&I68hJT1va&J1iun~9iOV#yFJgWH^Gq69=V;_*V15Sk zbj(lDNTkuoPQ^S0^CTKsCurm)V169)qcpOQ&`2D{{1E1Gn4hNm9WR|m7Do0d?4O4F zB}UdsnzK`}o`Q9ZtYqw;g#9tHPSBj4i1h@lV`Lr2`Z4T}k#!XNAEA+V80#2W@mN2E z^*F3!WFN%-vDhCY>j2H!F<6hrI!0C$*7sw7jI4dwe=m)^NUURI?ZJ8k*2A%mksXHp zL$N>rH%F|u~joV^3<+p&(36@>L|Sl>z`3nM!a`v=fSU}SBf zIoluWeptuI^2Pp}u|GzZ56#)$Sl@(ojI51V-+=uwvesk&bu{w4u#Slj&%*xv#BV`MF$IeR|V=V2Wq%O2}xz{tP;3(gDp zoJSD1nM*$>5lx!pdWT38A)Yb~DsFCC(m<|{NM6X?@ILyyyCk`uAqY{Tl$rQsm7V=4 za=k)ii4m2|(=W%bkI*64Kg2pwb`8_3q4K1IE*0NbjQGfW*Pu6{u-lr{%fyLKOwk^l z9Mw*8y-Ea05?`1GGajbI94FU*gsn93o$0v!^WDHJ*n3f!k`L|C{dW<}~o0+#EStq=Q z%1>F5_lH?6#(rsVnq0r46*KEEQ`~LSVgKt?{Yeeu^)koC{%qW|h1{PYlx5Nga53Nf z{_EiqB>yYJ5&=>28YK$eRQYw}h(X}MZKr@RM{QDf8Oj?39M)UL?p#IXpCHc`1+%x7 znspvCCiRaBEHU7BWm8SN_e7EpQmPgMW6v0DFzcL5@-@n7;^2+Ey~e#*Dt@twn*{jk z{in86nhNhQTtgB}S)jgVT%t4?{@4hfB&gfx-_+WT-h)RAuu*I&p!eL?Yjqlx-{a9N zX>idhH+f7x)xQ2}#9;8gZA)m;*O_E|J$2q-5I<`6;`LW4p043G1ni%C@@;e`)!zP^ z8Zw~4+Be6|Pl*g~uU#zz{xt7?)?P~0m#I#gEXa|)TO-~;g)i1+$${5ji-$*~Q2nQP z0x=ZmIy8xgJZ~fI`!JC=6s&DC&CB+n%GW)NB@g_Th!*H7?X7b+ge~3Lwq=Rj3KWp5&`ltrzJ}DM@`KFC2(rPoxx!%DDJCes0@Pb%$8}jQ|{GAjL$_4?|j6l^k@2x27h*%T^;+DvZuk4HyZSe zzSwZGO@`EOS!<|*8y1228ZW8y^Pmk|738niIp3^L?r#yBY^zm4Y1?LQPYl(by>^Cb zz;3a&*-b}^f1Vqs1`1N%yaLid+(VVWq+V! z+8A)=ujx3}6>9w2x`$spk4U>immd!czw}ZybDP93cAx z`}HJw4e)v8DTzNtWck@w_02WFv&XS^rw&s(G+3trn$At>^nO9L@0-a98sOb)jYO#$ zsy{UvKGgu1vd=1J?V;>@W7MPp;xu#b)F@H>hq1<3!1>PJo}rEI=M!uhQ?wu4;;Jb9 zX$;xF*alPBW5LSk*1-B%okG8mD0Nu9@T$~XT)iOK#_X2x`m{U zzMR6-1jbP%729@^;{n^6*`x^u<+H|jPo?6A0u3$Ds+)YgCX>o9hGnY-OihMGKv|Nr zU(F2C0)g{)>50XX{hzIDm8k_LaQ)4e`jh)*?3LDKT0l)S#$c`mb$|!a`CdJ@Q5*Eu?TlcYCHJq{7V}1o1A$939JW0tuaE51`L^T0-B2Zcz4zq!!ye=i zG!BGs=c?N@8<1SzF>M@JF-_*-43$ZU6UP@8j047b)0X{NL-ilA#e@#ny>xD{x~wD_ zev6Z#4p{Q=?!C|Bsq$tzyXb(Hg?Zoh+fnw8aoLA-HQrEZC93}(UwT^yh(>rl)m0?z zBb1gm>Ht|~>t@YWRR5QMGjuroal&}QndjQ~kpAjT)i7vQ;l9WF4!K`P%qxP!;BA4~kufL5?)@;iwWSeDK@J!(eWvOy{dL^GMyaq*n!c zYN;t4BR?IB!LA$Fj{T@DB0n$G92ONIs|> zs6fR}uF-}UDScbHx(YP)8aMS*29=-AyPwK%UVQS5jr&++_@Z}E8Jb@(>YW*3N%D~Q z2bH1G!@yydFO*3>p~6)e9=LmD$kOf(4&sFsla*o1;n>rY)TfhrP-U+YEHro4~wYIr# zC_hN$?^CU=1T*3y$4{K4LFzI!KNX?=7w6r$7b z|7~z}C{_O=^;Z>OwsYdoN*}6z4%de$Ku0I}RqX*(e%cKS6rh6AEr|ya&18M#G^i`U z2i)&f>+`AjtWQ7X;oJ-6KZ0i%lj-Mwg7T1ce|(SFOsYPe8xP9Eqi0K|jv7w&hwR49 z^6;g^mrH4jsrH)o8OTGOz=p2uYy&br{5(`1ite`gvt>FJKC&1Nh0o=rzl)!nL+UYa zU5CQh5B9Pz?Wp>VE9sSk7WY`;hQp}-7gu^x4xZJHH0YV#P1+k%2ISzbNRx%n4^sP^ zk>ypgaBQ%Fsq*ViQrCNTQWjRnkJ87y2eNRs<_7P zb8a6GqRQ9Qpe_YV-&}e;>YOT>{>@LQw+2|c z^ea^CtSY49$A1IjaQdi23$J8Q;|c3~l^CpuJ*hoZoZQbQzI_i7gK~4@D+d+ol6=Jv z^!1<6f(tv3x>MyJ^s`D7rZsENy1bR@KWBf2h(f#1+sqFwq{7=Ysf)td9j+U4CQTsY z*EYdH@XEvu-z?uz^&kApbr2llwo&|JDAm6en|npzI9>m9GM1FRXPZxoKxxk6BX>qo z<(Fu26@dzhkGlrVrrP^hOD_TIw8pH5`C4T98m%V@I3w!As}p+FITlqcVjI@AkF#FW2qE*IWZ5YJ6Mq4gBRgX68uALCU_x-$Q!1l?-R= z>Taq&tbf2i+- zV*2B!3Do%!@vFC!8xXfwl+{S(@6rr9xg%PR9!+~q^-t}VkPdES^?r|%7ApO3E$}yY zdsU(A@3vZOWtoG7{5U)cXp%}8z@lrRsRlY;hx>4zpeZ;#n~OOnJcp`JL3KZs{KZE z_Wt5JehliB95bAZpVu1Zgp49nZ_@}p)J8oo7it!Vwd{6&`)No&A44-u|mAbyAb@f(pOWiUouKfUGLz$&GA``D5sXZ7@!a1*ag`*@m1_5Y@x-XgBZtFF7#?oXw{ z|LrZ{ZXC`S+z>>y2l2P}1-Cie%5U*PYCK~9?R~<%+floxW(`#z=tK1Pxn~t;m+`!) z^09h*Z*g7M708Ygr|e<(_MYR)$i*&Nbb}gSkO}`B!){-5FAjMKek@sY?CgW>Opoi) zdb1sFK*^cwZLADRARUr^E`j`eib?l*i(yUR*2~)`Cag|ktft;$ZUQT%mM;pA^W*FZ z@o7}CY63pbwvALh9mk>HYiVFI-bduj zcldM`V|3Bqt82TPz|MQ~AAV2T$Z@3Ji~a?sC0S3Ce{_tKZ?uVbPwy9alCkNU z@(o8$HT9nKFOWL**9kcJFvl@A<7vXOUqJfek2@P!VT_&Bd(*!_U{vXynQ@_m=d`tkwd>%{R=SGq!T_O zsSLI9Kbj8Te}U**I|n6H9pcdMSvP|t5pzNVpB!KutJrnOPQ4j?&p2{q_xUjV-gPtZ z7k_edcUB?;oXuJA%CQ-oX>H{?-H*cWVK;;F&#Xj~dtr=FkG7hsh-R=$7Q{@qKf$5j z%WeivikGi8Dn>Hm%HI`)+-?S^N12yY44%oM-_vde#WUY8o;@gz;XIjn{_3}85U%xh z*3jpE_`U5G@G;Ej&4$)UhEbXQAK$SpAXscf?5E@?{2q4;$XGfxVyy0A#;=p{u8*8s zz<8VaD}Jnq=DeWZ>uy2wX-oKJ`Z3PhGI8%KF)e^2mdH48G?nw4de6HB)V8fInffu1 zQ=h5yK>tAtcran5Sx0Xwhkoz71>8+-QjmTZ#ZYBm5}Vc40$MtqJGBaqbM&b9z*|93 zyrJs)mQ|eNnGWS`My()WyK7zLlTZ%*UU(~b&HgF2BgvMrgi!lFb3-fG8nvcy?vZ5t zo_H&0a*w-t`u-NihoaIZz0b>-KaO^s3 z_xGmd&sy&agSF5N4AGl{e1ynV4#XggTL{B3>3+>Jqh zx1}98t;ta`txV#;cS8addF?=ENUxXket*tn>OJ;$aA6+_C*p`>=dRv%&@LA_ zZYX0PCxCjd{WnP5u`hDAPbeoKG{g1;_zh;f_1sjR8OM1>z32WL6nPshS*jh!0V_W& zSkL|qCJh@j`1aZa#$M{Z_upW0qS%jZDiIvx`-URl@BapG=M5{gS3HT|gZ~Y7Z&%43 zw9=QMIEuMgSF8i*9rt#R436h0QSZfffKp?XVm12|&gCasHlt>DfbN$wPe+vO<9w&y zlkWhz?ZrtQk56(E*G82;iRu8;Zv?mG9ZAIR&36EuxslGlJ|APmSl<|C{JH~NsQYZZ z>a8z_eviHbY&u?-u9Uxr@woTUkmbsqKx>?f!S<3APCfNreJ8lP`$p&!S1-=cg->5t zFY5%;nlg?B&)v##px(3Z1O?Ej`RJ(Vz1z$*>DtoLaGKh2b&AO6tA* zE>JV`z6}Za@!^Fk44$~!`JZyx8+-x>G|4(6X{?@tY9gxf#qcHHq7)Etm`uK6~e@s9fLz+Z59eDZLu zel)SjEc1j8lj4cL{ny z)TuK4nxaI8GB^2h&(2;TJw>8G@oox-{!T$J7;`wIWs&V(#xK8v6Z49C!Kdw>#{#~( zGXy?wMxb9G`DgO*Km64tKWSgs<*9A_THTB&RpqhJXbndB(|I+C^|Cz4{+K}XGH9s62?Tcp<>%;gGkkrQ&0++w@ zxV#4>4biG_3A_XLnZ3}FQrZXh*!|i1Os@pwO5NSICpZv{4b;9l#ylIy4A)$GbbcVv zx3$?D9+C$Pmy0VLs#^mzJk~O$8%~3|cb{deL_C1Rb2arVnO8x&{_>c+Q}2L`-}~l^ z?{Z=A?JZw z?z&#{Og|2~T#T(8UzY*t@`E?(_8kOYRJVyN&dvj|lbu_Z9NY)A&W+~{HG2Y@I&W#% zx3a%^dSDt3X=QMEP@yVJ^OA3I)gh>Yz&=q7-^EICPkw@V6 zneY*+H;({TWH`7j_W)FQte7ITp$J$czEYd#>rJko(a{7vE{08vkG<7r2knoZrt@ua zcK(y!=kGYp`NBAnXMKESu$+a7_#i|&9!EW5e)6v_eDW$le8A8&xIJ?V$zc}3{^zq;?_6LY}C zDp3>e{zCkHq<6qeIp*f%Xy3m2HM5dQ7}@@)&knx5BK4yALx1sqmkd2z+IYr##?8vU za3?RXGdtt|9z0hqu(;Dx4;03$oz3wt2SYB;a_&UmkGyzIso-=>DNybl0^@&u1csj$ z&2vNVw-a&Ez$Eb_keYnER?oN?Ov#+OvV9T#RxA5T|b-)nHZ1>Ey6 z{k-@450EA=Cz;dM0?x#hw#v((d1~zZv{8#&K~eq&b2LW>m234h$KGfKySJU!94^%i zeCDJrJUF}!7!emL&Biu^;NscVBEfAyEhKr2!r^8R*Lh3t_Ud}@Yge+yqfGvH{hGjI zj_=Ge^xpgcV-Z<4@8T2fRZ=Xz|H^aB&lbmq^zmiQ=Z@5x4Q0Jp?LIf6vkfSgr7X+3 zpuieIJP62W>jHI+lR~2ZDzUm2$Nn|l(gO~xmi3Z3HH_urduN_vHNmR1uF`f*9?5#; zvkQGVQj`@IJt2JFA5~UKT=B?}G2$$T@gMaFt1qBIBUa(I_YPdY1nc%JlRBOHV#v3P zk8776^IUptY@dDf_^Z>$wai|ITZT{Ka~3`R8nfu%^%7@I8#&ALn5r4;;sx>;%%aC% z3l=^8DzMZw%+I~LYsr#Wo+Z9KONB*`zq48N_&XY>`>*kqpC2K36y3I6(D}uruN<3Q ze#?BhtG;1G}N;%iJ^GS6K;@k4uB05~2tXZxL7x46fDt5mnmTnU}$jQZHU@-)*iJ@4bi zbUQ#)cP@Kn_X>_Q3y5*MJ;s7>-)j%s(MQ5cu^n`I$RAXTD_gcm$8{pYpLkRX(G@&*yzmg-DlxYeXlU_>tC5;+(%DdKI9!ZRF5xC>Nk%tU3P3Ol^9`#^7*3I zc=s7x{Y7irdM#>ym@>Kd*tROmhLV5T`%1F+PLQfrpS@vzjv3WWL;LLI*bmu$XmvaH zu}xG2Z&W($nzAPQTTuBvd35eg7l7qDfH_;>E!SrINuddcXy*mX`i zr%Rb7zf69#qU*rEgo?~*`yu!Cjp7S7zy0BW$*e;FBN)3{%!B^ zxhkVXHY)VlYq-@?AI=u(v-hcn`JLi5wcHVRH{Ff7cm&4JJFqX>xqulwbcr=6T~1w@ z?!)Yw+*m(3#TeN;wIpQr9msi;m)E&UiQF%u4z28-=CwEY^QnLO@0u5*9v-k3@3VKa zMb`T_JGz2dIQ!}o-<^Js0J}yBk8kUcV8b4F{Df7{Rky+DE90!YPt0or(XK**0 ztX*;;cr|=rE$vn^|0uKLLiHJ&$L=6G=itWEbpc#yG5d;zohHz;t~cqMhzHX;HS+e_ zN0R};s;+U*&w?Rw8$~$D3Vrr=mECE$7V>X<&uU&>SvsMW%eQY<21jC7`tLq_Puy4V zXR1ErGT-_fZLQk@{pA9GjE;N2Y_lppr1bk3*feJCRB4~X+|a|D9U3*!bG*ggFVMyf zvo|MU?USt4VB)WhOQM#!b1Ocl)u-5L!O93xg-NQ*nKvzp*CpPbg!=DuALWN>Fy`&9 zmqQ)M`;+w1{WN_~wd=p_y=>(!a-gtgqkjb@xNn z4|BW^FuhbnI2)W-|4UzSbi4ZecT1QD!I#$P5Le}Rzk7vS-?&t75UFTTF@*(>Dw#>Ce*AmsYS#Md_<#^SLgv3bJpbhh zng8FFQAb11rM(;ppf+i53etHLe>`$uP^X= zQ~3G=m-V1M&V26tceq@%|1JvcCiI{tgtfzXS39PG9{B+uyk=geueFy;r+=zdxh*zLcBi-h3rp4 zygvzr>`y|xKM95GPeQyu*=Mh?{YiQp`{(z~C08h$=$t*o7@<%8-gYPYJz$cb;?P{0 zhdI`zS$G^|VbM4PdB4Bu{r)WcoE~kE+jtCMfAGXl z75zJj_nRMq1>YXd|Mu_@z~Oa>mU5@|v zejk27d*aGQz{Y=KY~r_bFKTk??|+aE$-^ON_D_4#+z^jLhK#>q6Fq0EEMf5xJ#O{a z(jXG>ar%r@&WYcu7JRIiD$EX$4+YE4tVLD%2(Z6@(^=w_0e04qmh<;{`Tg&IZx6b> zKSOA{p7Ed#q?5KK9jrhzKP#^`X-vS?L73JfJj21Lg7>2JU)0?~&6Zc#i6LZ^5D+kqL>3 z&wwfwuNutds3S9v#>peNBiu9zojw|Go2R zi=Tf0Z5#c6_|s?JhOXKyKGMEHxP4JOu*mDc9Y7EmSzcauK9SE|+1qQy*jUUll{BkP z&zwGMi?66b)aU6}O(-3&Q^!?>II$kQ1UIbqw2XNBIzCoF=e>G5(MgC{U2mms!sn(jfMP_kv;r_G(j8jN!X9n`3KoZj3XZ^LCEiyAgYne zIw(QRi<2N6Jfw+0Mec36a(Ki?$`)1RM=^_U?k4AT5M0C)81i`G+_|n z85E%HP2Er@?U;k&(0)PaDM)F8hvFKnU$Z)3we}P;Ii9~XAx4HVH1t@DepcWipIa?l ztnFeolMM4zz>oCIALzG?3|BC~&yI>)EZ|3amI?TgCtL;cBhL^6DqlP59BdjGj>@BT zfS&`EM+fpF&ow%(gA4kT5Zi*wMWyH9LI#u?=trd|Gr(^#m7YBEBS%p>y~R{G4dhqt zH-s?oC+iN0=zOmr!%$q?AN`5WGi5^cAHOX@I4C(butfX9?%1(ojXU`Z4(6Yg>ALq1 z@X)rKN#)HL;J1v*o7LZMF&)l&fFB*s7Wv5xLHSS_Yoi87U!rMMCdfZNVD-&!oJv!V}(vOf=Av92B8{o2OsHza;07-FF4J#1W{)cZN zqp*=*6B);S3&jaT6(WrcR6dmq#nhkLoITjfiAKgep!Kv|%k9a$dAAWjy0=i)O>W>D-e<~3F^OJ$PVEllm|E;$_ zAE*naUsX6zzb%k|@#}$l|MnuwZ~StgE@z zCXOLT9{m2?Unl+VI1bbW^WVC7px%GnBjcZ2J5U#lzs7T*E?E9p_kp@#{LT#nb;0<% z{08cR{eR4+fx2M&)dKMa^^|~t@i_wLm+X##x?uengbvgN)4v$@-}=Ew;rjYBvx!~E zkq5th1=GKF`M-6S|3%NbHZZQ*LJpt%3j5redK$mOE&&yo9p z+&AR@ASZ+JT#PgZa(c)qBNvPud0a>NkOv2a$w#gXxgW?$bSe|WkkdiV964L$mLcbZ z92>bK$X!5=gIqpxWym!k*Nhy2(o{yy5II}qT#)lYE(W=Hly)$37mzzUNQH<&&L6q8 z$gMzb4suhG8;_hKa(_frh+5=Ikjq0Z2f1YAB9PmPoI7$0kz*n^9yvwi1|j$Vwf8>o zSeC>CdW_(!Z4`DxLrT&$+f*Df+W&)gszztERQBZDkQnLXjjPq?VEp7NroD zLI^_jp`zG3Rv^}&>X-8->?J3$G+5y@Rv^b%S(2jOGtsiX|ErV7_n@3wp zTS>c*wvF}*t%_Dn3;xbxYzEQJqXmDh2p@?-O5dmd2%$?0Xbor$X(!W~&{L8+{!k7UgM-3i6EWCoR>kploTb$Exc5!xE{@9$X?EX_T z3x&oFMr9ZGpIKO#omZTaQwS54UpRX#h%shhe&O`Y;-T3^MVV8w*^*h0Zy1tUR6L-t zFdvrV0s5+7c5r%Qh2srs515vJ;#-84!6*La*sllMM-^uc%FN5k%@%}44aXMd6leF( z&nu$ClZBsRgL8_$8k(QQ9+P87W@l!d*n#yJ9J%fuC)fEdD78tPw(wxEEqIZfl~ovQ z5K4kA9CBuEcJ#}+t^vWe;4+eniwkom&MeL@Vryy4z?{6SfjNam;d^XZ6mA&?sTRHF znc?ejxP>+`DUfu<+0l1itv@7xQfBVJ!t89}VEv)_v%>8IO2!J0aUIinUAL!C4@MyP zU|P=fY~dxLe>nf5M_SNe)a;_-?CHTSj$&<4SgL%Ze;mAk(FpaA^arwfz14a%TFr;=CCJFts3yXt`2_ADM=S*UG zaMXZa}m^RMm zquWxli;4^LX9wE_;qBP*O;b+4EH-QECO6J3y5d~1H*(9EJ~!n48FoXNB6m?rkkj2Tc;z<3SFo0U_TpEn(& zGKxi&H>D_<8?%kg%qhmIjN)}}_V9@T?aldKEre^R#u&`}eGH;o=+CR`4=$=%)A@x1 zvCcCKvr}2n99@{pdnwryXHJ=tU0A#Afd-@VriQj9Ye31Q?1JE=Sr&9Lw=)Sw;~(Fy z411(Fv#@w(L9j~33PWQ=~=F>j=k<*T$mdjxI&>QwA#U?3PRtY2T}@iW@V?% zF2FdQ9lQ?S3c5LPG>lO{R%+BE46A)N*jeZno0^?HEih_XsX4q}_y?<)cFCxM>`8%L z3axHvMK8iOM-6IPejPI@j0=xDGdDLivv_Kal^ph$5vC(%%*@W4G+Vfk`J5BFkidOh z9DKU2_XzvvhhS@3_Vj|_nDke#n3S0XxuKP;xtve1Gy$fl8A|r~u4YSgh6uuh@Ox@s zZK!Ks7|-AwYTs)W^_5|#z8Up`)0vjor#w98TYuUzRw$_JIr-)<>Uhrnsd&HoOt^yR z6d4>o52u09HMlD5WOft=@X4l8`!W6ZEq8zbrWa%uW=GdJ`)sT~r2o*&f)lT^gQJAQ z5{@%_T+e!C&gEo9w+gL-qmC}hE=#RL?snDbeyugXS;QA-l znG?aW0uC^BRN9Gs{wq&XQ~u9Bznp&FN2`1Ob)WxN&gnnSdb&BxGT?g+v|DTV4`Rec!BN}ky)^{#^CsCO2&PDJ1RRVOy8~fg``biL^%cEyj zo5z{C{EvrTPhK|i%s^q(+XIE}JibRBv-0kN{7TT^(AF;5oFpW+NET9CCUfV`WMRoW zNkTcTk|w;%d$h9sNkVDxoX7IFlY}JR%Xp9Nw0K$)tuko5FYvhJgCwDfmQ+D|mR6u!LOX9s`ZwDfGu{4l5RMQd1lyPJEYMcQ2a~ksuUu&( zTo!yu&0l7i8!5QU} zMT`Oc=L^$?0wI(AXLB~0yvh!beGboycsEZ-q`$KHhH2q<6!ALPJB!C+VJhzg?-%ko zo$b?3yv`Rc;`t=@;TIRl9>$zFw-mM)@lJ5g1-zdVeoOGBe>{#Bo`*@q`}=3d@L5>U zI-k*qOvSME5hn6(F=r8oUdsfZ&kbSA6t?7sS6aX|2H!e`^A64{xcWbCOB8yt^$e~_ z=BOh7_X(fL95WHU_y2c&(obl{`3#LJZ6TyU3U!su0P$dKmYidKlkcC^=S%y7Q-ygN7oOQel2k{^Vjb{?qNuqUmSN zl6oY<;^s^yVO5h+iGCZ0N=$T%3uhJ;2lQgi(YpPcqbc3O&+*Bk>`608E6uKX&6bec zCa0K{3K}NZFtqP?~u33y_8!OLABK@)F;&X+AQr;ZH(U8 zIA}a*7Fs`AgY6sbXYI3{u^jVjC(fPkE_NSx2YF@QQ{L;|Ti&UDe}9m_*gxza^`}Or zM~()@U8F{ahqmIU;vsRe^oZ0*5fxv#UAbSWr{1L=SDR?r1jUM9Po~q;*mQd6+z3-Y7pKAD8P2c>?I-Ou-7{`CSDR;9 zPh0KnA$Gc5YCp}lo#uS$-0b%9TKH!~`bIJ%3nMp14hPqg%8yC$aIJW)JV&`w*``z| zJC$8Zgx>F^ui)HY)c5J%>6aMWjQ-{#^9qipIU}6AoP&J;4v6l} z@aA}>-h6L?x5!)KE%TOpt$gl-6xk3FGKAot&{-VLx7?;Ys64NHqEsu5)$`SvYGbXQ z{;_Tt8OAln1IF7%vANZ}%-Ul0v@N^8eZ4)!Y2|iz&vDOlr@PDC``y!g+wT}rBg-OX zk;(}7jt@I+Jr5nl*TwcyL>em1lCG2(6o~pX-9r$hgElW({YqhnWUL9#K zwSQnH-sWs^nz$X@Den7jC$9bsPxK7W_Xc=FyiwkHUZywI%lDq~j(WPE8QGKZPXEY&Ko?yyI4b`Q9|*U5j=KjgQK zxQuviq%d-2WNG9M`fMY;#z`#Um!NrQAzm*&OuroyyGdtDBc*gHM=Fu7kgk?)l^&Jq z%O}gz<;&&kXp*IgHVo!O5JV1F$eOI;h zae9Jr4*ef7@3%VnqkSndCh}-RD3A7CXYmSof!vferz)oMl2Tt?sP0x@(B9HM*M8I* z>nH1H=!QO6AFJo+7wZf4TlIVOE&2=kTa4?EdV51QrWo^$$BZ}Wv!3P!<|XDs=5F%? z^N@MEHPU+5`p9Z%pKdR#U`Y<$K53FC$F1d;BWEc>CK_s!z#dIWOT(zQn55g zdS5y$HI_Rt*M`b-v`)J>wEtHpTwqJ||rj?ei8=TgjAM zDM?C^ev=x?9pyy1yZnaS-Tc6r>zZD8r_^eGJ)4j06$Pn}q)T@yyVXi{kGfCYuU4rC z)Pw3FwOXB}U94ZGALYBB#$LZ{U+M(w;cRa>c+W`^#G?2GJ=R7DO1^8^$V;J?ArMroyd zx4cb`Q^qM7%tTpr)T!8z8`Rs>2h@+%E?R%>9BsUop=D`PwOnnvwn8h@)@tju4XpG_ z^-}$M{WiUlnXu3}Wc-3vyVHKh9`9W4yyVF4RQD!#pZjj)VEHhR!;}%;f_DFod{mx)F(_QV|?+x}deL;)?&kDlHVrOv|zN}K(Bkhy+ zOI6YVX`lL(R;4XAUUb+YH6|RF?~K!3$#vbc-H}+LQvBBfcaggUE4kcV;g-2;IoAzt zxx2~T>TYu@+@0<&cQ zY(8wBVGXjTS{tpVT-QGPb6a=DIjfz`&VJ_yXPSGtd#n4k+sy0i9q}gn)BVf*&CK_^ zx%X>~Fo^T(%If_|jFsY~rc%6=z&h?IB}(0;9P59JwdiF?cw{8&HE zZ|V>6@4UZmTDi6f%d<`UQoBgM+4#Xc-^#J_tjnz>);jA!XPculo4@je@|e)3wGg|Ar;B~X zA!4eS#!OCR_8*Y9D7%%G>KJt?tNk(U0zBqPMk_;lJ zx2oIJ3U#Nti}9NblJfO3{S>3C)!XWCEpTpjZg97G&wD~;Oc)!-iY>(t#OtN)(rUSr za)a`+dZwO?{a>u#tbb!3^;NbXA3^nd$27ZEVJH_m3j$R+Q|#a-XNS|!Ras@+Sn{3#x;lX9VQP{~qTXr}hTbdUc(DW~6^4HF7~DK&l*Hs7H(`2+hRX#e?GaVq-;8a_QIJn$H@2Mcc2%>!v9jo2EOf}Jc8)klonwyR z#@1OMZ-bvt_ipjN^?vj^5ChZ;wq3h!8bBL0dsWz-A(bdh)kX!cR@nG^W6N<6?UJS0|&4@xgc@5yK2wbQhhwX^iA^ats) z3VkW}p=h)fBt z5mK#$hvm|x@>TLi^((cjexrUepPga6&Pbnb7MM$|53G823wxRUn7zktiLd8!ruUH`jEJ(e~6&(#)`ZU#RsL)Inqiz zRkW~^3%TOA#jc>T3#IAOa_Ix9otz{ulpn;V_hlWQk7cQ^HP^amhURKxnK^H02bqt> zjPFV?>R$Z^y}qFtON^CZxSx$~=1s&nhoEp!bhsCpeehC+UQcu{xHTMvEi%ER< zcve7`I90q;{7yV7wv+lxY0?l`Rc0!s%2mo*+E-J(9JwZ_9);Gi4n_t!zi zNA!pAa8<zSo1Qo%KXGUYKm5}72wjD)>i8fXOa#kUSV&utL)}ZqBGdJ)Vbby z)cJt8Io>_Py~2ISjRhqv^SFiiYNqNs^yi({lWq|Wkr@(uC_ za%+6ny~+nlKd{>yszglo0sV1@-qp-CXIm5PtL($}Cf3iHZm#lU6Xdzm;9(LUoe*sM=I(g%4b%9U&^7qjxh_FpuI)pX)0ypEsLW z3D%32ZJ&hqJIlMz+w2|kdibe+DbdNd{vy7ENWY?9h*8estTV(CM)t6LMBb!qJrN~; zX;<5~vIgIFekK|o=nloxWw;k%t7gL@{Os2A+7Jm(_q!0=KLC!e7v2kCir7yXuAHp4 z()u-dPvH(8s}fOU(^txw*;w#IGMY zJ(9$VtRG^Xp3?c!WyFx*%Acx-)hGh#pm)>DSiw_3MmPIq{#t)M>#N+~X|)vXgP~mMbwr`5N?Hw`5>=yy zks55I8oSL(y#79Ozq!cz!hXp6z-#W`2xhMz<}f^bc1PuAFSxlyJm;+um)~j3G=VCGmIM)~l6OwJ@5+jxvR~d_qWOHx; zvJ2`{OC$*G4ab;cm0I)ho{PY6LTUXFgCCcdE6vqY^#UwPi9Sc)Yy8OQ2u`dM=QMTV zodm~n>P7^@lKMixnfwMGy%1|*64fWEDe53~h?=UV;UmVY8AL8q)m#wKQEiX0&)AQh zH~@S0XW!7(>fqLm8D@HSdmFs1@E@PBvW{X&JNVt0m8L(^ALnQL`TjzGiNC^M$Cy74 zj<3RFHHx$*@^vEpBEur-k?Y_pRz}uiYlX7T2~T^|C-0R#M+?(Co+*R%x_g?n__YrrC`=tA<`-$7$JJstI@=u=E z&l~Iw^K!AoS9{lEjaPVUyp7nmC%hND54~@^U%du?yx-nG)$i>aL~{LzF2)dfPWET` z7yDQE*ZFJwXNYKz`d9NCF6)AINRFVGd|7KS))V+{ejrMI9-sCGk;(`1Cs^HY7aB~dMJIkJ)osTlmW1mBb0#SouuR_`FNyDl`E8MlV__d4S^{#{mxSHG&h|0fk7PS#ztQMy=)#9}Tt({iOJ@?i` zO@*y-wInS?`zNedqRj!9&)4e4y=65_LwQZaRiW+Fc4@n{N^Os}55!%i9l+-w(yH-G zNB=SI?2T=mqUY&FuqxN!r|;13)*sRz(|71EbhE;g<(t}|{nRuQv2VmxU)Z@gmcW!-*kd|`Y;1oIncsu?)01IR6czt1wK;%y7e zVzb1YW0sop%?0qhOUz}&I4jIDb1jiT)V^;ux0w~@PIDJ*S*;zcG7p#sVa}?}BOr!j zreMWdaaL0+9{<|T>S*0&ePbQ7hQdQ%Z*KuR?6AMHFK}i$bDf3GP0pRpJ3t6q+1PLGck(qq z!tB4mpXlfMv+(}c`pf*4_@syNLPy}@5+dy)9V3a6?vb9vJas+DAl7(lBn?Y7K9WH! zH1$tx)&kJa5*X^`krgnmYq4Y-BIW;r<2o2Q6sd;GJ{ma|`o37=*iQdpx)lx5^JR)QYa!`E+Bo`K`p&#G*oHdDK(XR-pv;T@*4_9kkV!n|Hb1X*A_ zWb86x>>x|?cfNRVguXa zl`l}Q#;zSwe}D}*6OJ>JJl0e6^*cs;^Hjcho_Pv9#BeLqst@LQ%lVMVum{}WNOCkg z+`V3o|33V{yvXZO-aP}GPS-UJxw3ZRcCnds3V1CWHhaEwoAf$!;cR)7JX>Bx6#5aU zdZ02CF1w>TM|}_8%)$1(p?#ut(T^At%=)bMk#?p%&A!>5!MZMUUUXJ@D!H?vL;{l| zA4R?i#;G7S{EkJ6K)u->LBQUl0wSZeKxEvK79iiF2ys64hOfO?e*g+`#RP{TSn3Mn>-* zm`|6i)GgkE2sy*j*bw_kie|3H zbL27d6!|jwE%^*38CGYOvPOAA>8|>Cs$J?w@J(-P=jny|Dl!!Z^kXnF$wr=Wwegnm zwb9Yk&1=k6=0^CQWP6-_wY`$7ZRvD#Y#4^!jB}!UiMte=_!bdZNBn=Lx0nd|4J=(d z7~6~e8^G3k{Fq4l$a%!DtKgpw1XiXjmfC)Pyj@Hd^Em%U#FvN<;yM4((mZ&acct&7 zL?VG~&ig6(P5gTYc*YDov#eTp)?c+)@+?7|UQG;nl(QC$SR>A8YQ!4}MmwXUk!W-` zdK$eA(NGQ3aE&A*#TfJ-uEym=Y-Pq;V?B&ixv|OE8uG9^nen@gO5JzkiMVqLEjHwbR;V?Y1hdJ=Q*JKfKWa5aA)K+B#w##n%aTto_Hh zqunv&U~jfHy&8sSU1jX>c+bXZacRlv!lD)lhq)? zL)PVG6YH@11)%jr|4gv?B(V7fky)&h^^xt7cZeW`@~C}nDxN0#;#hpkLh&x~3G$MM z#fDNBa!4bji{OY?NSnzP_K`>8E&35dMD&qnwsjfI=vrd!z4T2R`$KYSLPczdcT>bu z__R$tbO5HrBe%Ip?tT(w*7qFp zwCP@!cRQJvCVpF@69=yTl*rlO_E=##Yq~L<@+t7(6Y-?m#Un&XF40>lENvCha|hX$ z$8pYA$~S|CuTYjM-z(>{k|o&28$#RIP;aHTGYsOnd~$t@$p0TQ+L-;!ww8qkU<{n` zENhL`&Ni@N@7Q0`Gb@Q#U&eNI1M}p%Gu@5ux!%RzLT_-CN2!Vp<24_Daiw@0d|sT? zSyJ)fPe^^`0rL6s4EY-QPWchg_yyIMe7$R&*!KZ!>d%Ih$zym??*6`5tq-solYL>~qL`@8L`j+27jrU}?{R znGuOdj=Gn4H<7Do;wSi>eLQ=0wEw1%+5T3PBm*|8n4DcbC7yh3x>BrMt0?Mlb+Nim z^|W!?Ehr^=>Op*67lZC08`}$(c&+u8^_evn|9_)>yS>KVfDYs-G#eeAWM+DyI~Od_ znXLO*tlmQ6obAL|DxAVg{(Jss{*QiRqRLald}^T2JH)t-7FUb!k%eg>wUjzZXGj{E z)S=SYFvqt}`c^ta*5#4pyzeB&5tN2uG&7vc_f5*P%9qMF%H8THZGtup4Z)R+^c~tg z+H2Zzt)bpQPi2m#>*GNkS^8A{CVjpBF#YR-%O5pfz*C=Y&N8=vfPb-LoRQ81=Mv`@ z=Hn|wk`3K%u8*gB1RLI*bt!tTH^@u#GKl0#$e(WUDu~}+C&E489rk`8itFh2Af7%S z^6|k4>&CYU-Ud#fp=lcuGFtF;{TEB{i_ZAyGY^hG<6|d8zy;IkKZy2B$aIvNVpY;ft#-GfSty8U0_7wYCX5Mnp=P%6q!DO?p_XF(zuh2Z_BQ^-J-M_=< zf2Z~MMVuhzN*~B)5$Qgwtud28Ra-+It2V!OntO};uG`a_h2G{SEO$M!gk5~!zsdi~ z=Xd^+8iaYgM9~IUt`OfBW29~{T2oNotX4iyXQLR|K{jhCJm~dU#%~Jnm|8>^ZI`Z{GYJ-rkw9(w8NDoWLrBjvO>ZRH< zU~eBa&FA`9<1w@qy{*OAy82FAXCgN4sMF4kFxU5^3`rzTEAg%)Hf!X+!}-&984YT9 zS6kWzi{4B*O*t1|@S1ii$4npGDYx=8;_k0mn5CmL>RPQ-i6F;`jB?0cO&_g1V%a95or zoQgso`66t;Bt1_y{!Qr{DK1obB!TBj$uSL7W}qwDgk^XUbo@El!+6-|H^@3&g}!L1 zwi-LzT<=9ZZ^6fXNBpgsx0?@`y~uu*;2WQ^8rhq$s;!-~nE&a{1#s${on3w(6fz4V zcM>;#5S`ykqVs7WOn(-!-6i;)p2{QeB|jc5bWumZ4&I4Z*-d2dJ=lE>R^$V;IB|L(@{5>%!1bW%4?7j9^_8Pc=lhH85dYV_@ zee6x}AA}?P&EFCE2`the%xNn0!cCmZ?UIQiZmay2e53M~atsCGhw4>zSe6vB#_uu< zJu}n1*X(9pO%|vM^;Vg)7hdgBw+U8uhu07-!DHB!b0a%~%xp!2FgB9KS!CJYgfSnC zlH*qC8L1gr`qA=5Sd`%~RF@NveW9L=(&S|ng?-5jZvmsX!Jl7XU*?QKHPjp|KF%xl z=6d&fk9f~9$M?WIwDeB_YfLAeIOuUq0;z)h zo;~ zc7u3#25V)$@f-+5=R7Y2Dec3iP}EpA)%=6%lH4sv8K)Sf8En-ovGfrOSy~AH~LxP$s}A&QPC1rLY8CQK5YZ%hs0l zcaFYPzYBl-Dv?S85y`nkSDVQQx#rWvlu6cTYZ44_9^CIz>n`gFtF67xevvGGtaFmn zi?w+k)^Q_obsO|G5fpx_Stq;cub1#aA4a0TzS~gP$~mWjd%++#dzGy<0=n+wf5%-fy2!Q3A?zd0k_+uby8 zi@(=@m+^EW*OKRXKJrQEzZ(iG=(|SZHR3JeJ>-p#!xFee7E`5#(mm44C?npMla+N? z+K&~DEc{LCUbVH>SMyLDRg*;?txwbEqxHK_f1AA2OgzItqUI;eL~9^3{C+b0uY+Vw zdw_i<2(p3G+38Q_WdVJ+4&B#$IP~j?1L9H1NpOPW=&>uwO05dcO^o)>V`MJpD+|yx z1kBiSWrb3PB49GS^X=+M+7z@lRbYyfnQ1qnoc$Q>hy*V?gvj+dnAf(Z4EkG%jW}#3 zlWDlkvh0iP7f^{b2l-9L1}}9Vbl-G8awTse_;nk7)Drg5iJU_eCL}cs@mzcHOwke7 zh+m7n$$8FT)>pwXbR_CZhOL<_Uo5v%&QJ{e(s<5ro$|i&HRqV1_9TyW9!&WhQ1@ze zv-*iT0Cij`eq$xNh&QyZ#8;#BT>U9M1@Ey4UgTZlTXfg$$@81$NIc{NXrJDM?d{H7 zOeah7Br)(w_E7tLyAXxQZT5PQ-0P?~;_2Cec(EODxgPnEeXz8jgWu|b&u4&ScX-Ku zhW{)G!Uo3;kDMRL!AD<(wRsSAPG#i%sJ}~%UT-~Ou&$y4Lor;;#_!F;4y_>e+)Z}p zp!g#Z&?#^(=cA7`G;d0RCRCB-&4 z)32~~9rfP21WuZvU!h-zA9$acSgm)5fw9O(UW~$ek#QS&ftTTyPBwd>;;_t%(7?`x z_1^%)zukO=%zqZK>6K`^K7_xIfwxFSbutYU9E@^ju!`?w!{T2BPTvLt)f=_f1ovuC z={n}`5jT!_EKq)44iDAI?~Vn}MLS!}m3N0TzcO+!$nn+4-pIRH&d<=H!!Z;z6q<7V zabhPJ?lWPw2Z|3e&L5*&N=MgoP-+d2)<>3^<>@d|tK?ZI8x|@eOjI(n`fAw2<>Y)G zWoCb+{-`!UXCb1qI0x_CTOXp2(PxuCd0OvCwq%&G5WVzj^Z+}Jv5nWnKxih)=8S+nZwpxOYsvXv4H5~M7@NHd*+chHR5=M2s@h}|Oiy-?S zzK7#95tP3meqmz0jQ&Y8Ngi z%eV$T$0qkNR59-pe|^oUwt`#iNsdLv`%UsbC*mK(O3p?B8z{?}!%G^5e14iV1$Or) zDOo8|=HlU^7V}f37kq>YzvHU6>YtLq+H2Ia2fEwb-YB}R1nu4yc{=iaaGbJ+AwPSH z_`Wn3W%Hft0@RD|YyI>!;Dv|n3!TgGZ);G56oOSQ@h|u1!7^WqcI!Af%WETx$sFGT zZe1C<3%uAc)YEP;pEBPi4*3{v=u5M|l@A;IGrlp|{{*!M-&xU6DCOZ?=2kH}%*EJ@ z_29~vLp32kaZ12SEoO%*|v}w_9MG z-=o*Q2L;BGky`BC9A;w6Jvq#}Ci|oO*65zE0^`3J;H=7M-whL=4zt|vi!ESbC&0(& zOLNK6G?Uw4$8GH!Z3y;ez17M-+3pOJm~9VW9j+%{d(j&h`5L^&@2_wj205(HgX^kp z7{)#wVeSMeSzbe)wiUkNQ)Q6WPXE%(vHRc$uW{dT--0(8Nlg7bpK28L|7bX-=fn?1 zhulmvIFSpOgRPWBjK_oO)9Ovk!N$g!WDb8aBi2RM40}F`x1C`QuMfO?2G)S@k8c!| zvo&4UZgV9+CJAqOo_ZF7|j=NNf~p zB%cA7{6Z~E0hI|w;LeAz=wHa~$qIK>Pa`kf2gIpi3p^MvPfJGEI~d*H2yHa{(goy7 zRuGA;)3$5RaR!Q`!mb2*W=>3O6wZ%V#R9p6qdqFf=}pOIoJ%FZc(*k+dmuRs_DgCM z_UkHXWx#Nut7{a-*qLN(Zlq4*P4O$d(XXJrrm#wFrPHO}k^@^fLb{X~b}t_3ClFOz zxs!Ybo_Zks(pY(#Y?BKZMO>b*%qEJw3FNv7PxLb?jy~#qtta}@RVXBcj7H(Q8i`u< zA+dRY%<$)`x&}K}q)kG*SqawoSsxExeZy|#=-A?m$dXp#cL&06#^ZIG<7tF~Mqyk% zNE`{qS|P3zH;cDQ6XXk+(`)IJr_|Glu4n1Xh_5fA>g83CN`F))D~YW)IFqR!N+&ve zhwRmPr~?f0D2;@4x}qUD$PwZe@eOSCZ0TA2)Ay2u-~CiRCQl^8e=ik9XQ;Pmzf$GX zSnmr<7H2d!CK@W3Vio@J6Bw;=C=jy9psoxQ2TQ0M=eQHhG?^tq%C~EJuAFwxq z+#a)qvPPlC<5B5JGIQ^PRX>%!kecHKdypk714n;Htwk&Jnd^uEp3=IqLYEnL8TT8V z%+t*Yc)N6aqJ1gqvMn%)`<-0!%In=H-Dgn7zee2g8Mdw-8Rd)6_vHIcK`4_WcSl~q zmNW`uj;^5li^M`|vzCjmQ3Li(sOWAYwUIi&CY}uz$tE7Tfr^2GhKYQh_aA%p! zmDR*7Z-&St35C#Fd~GlCk&CpwQ~(vi96k@HVwvZe*?80-#vg{d<|33z4_K#={g?vt zSKm2dr3u`%(zJHcF1hT?Z*KGG&VZ$1QdBO|CNn{!>#``a(55JM>$<4?TWRORj zi_Y^_&gflvP#E>jri$wueI=|yS3Gk$mP5m%-Ve80<$Oj3k3>|Ij*1{q=Wk|&zkxGu z4x8ws6Iejh`;fQI+v|PmRa38aDjKDJp+ZThZY1nx9;PYj=&72ad>vsh@YMO<72X5hqv-S-lC3z? z?+eR4!oLVSS&Rm4Gpfb5C{!;G{CSV)+*|*Te|BCHDi|j(a{3Nkp1Em|0BsphD2iT!URhjTI*>;mRkjLh$U!F zk1p0Hu@+;&R}WaX+bQI?2DvXWH%q*$(T06STpAay^DppOisC5~sY`5uj;E2ISasX^f?!rj6O(e3J~E&P*R=7uY3OjP+D1?zLOMIF5l;n@rv48ko)JP?Mj6-gmTn zje94t$p>ywJV7ET)Vw9g?h*3#A%NP zzDNm?u{=i@))TBA0_KuH$;{j@%#F9C#fA2|C%N7m#g#Cw8Gskeoi|udhM6gB^R!%Fgt#=Ap zmu`G(mM^5ng}-?<5wy@lO(Yucq~C=OWT){eIgdjep)nYH0BWKwrb}(zyKbP;X^C&8 z^D^Q>tZ^7-DI27Fy8OD_P#L4WLC$|6xcVM&>#M9Z%^rcZe%1cX?m@jx5%rCGSy9KF z129BQKye=i<5mzCa)TYXuII>P$AsA(6&CGwnBR?3EZ)~9en`c3S^8Z497{yWtU1%1 zeD_+^8I7>`3t`iL^p2yEYwDjKs)GV`++?EhBk)grM`>J$6PrpF%F(M}1@}qaiAyBe zp!P4Bbuyd^j%o7MWZ~XJy}y$9@>^odu4IZ1QzO|69(VxJNETHWhOrR+=bc0wvDQge z8={LGG`>$;?-4!3lW`mAjCE&&jIXEK;Z-6fq9ibOT!;l4h$o9@zyu5xC$NUEr1oNu z__#8im3Je!U^C-*uU=05N`<~lpJzK@&^hFfR{L=gnM#;laJq3J7KjnsVCf$xn%*v* zMOEcg%|>%^m3|9+ZF5%DV)HTcT9}iLc;R*SspO<@AxH3qqhd=_JkP(zpG77F4yimY z)M$1Cq>tzEVd?lnW1H%2^nk7vjgim4hw#j|ERw_=$ooI zVJ#1;I6%q*DSitd_$&T30h^_SD#QTk%u`0fOTIW_J zeVlP2as5UrM7NW*`wRuf2&zP9po?D!hg^-$rWgVbcIMWtz5Vsl+J6(z0I4<{<2#wp8`{H7HYQJ$Sl5$Mooxs9QwsL(CG7=`+A6HZ@@Lxr;74y>aMRLBeu%h z1uLlP+ zLf@#5N0E7_aW@sYjm^G9rgaJEthwEmTtSX~z;27a<3lW3GqjI7TF0AF zPQQp+aW@sF2eCaZBPXLj96?-5Oe;1HbpXw=0X@VrFy=O5j5k5u@p5~)tK3{E3fZk^ zlqP6quLKjWBVtpD6pqrn3C8J$ZuFzN zsd1={8qA#xrjbioDc%dC(;ifOA9dvkoas>Ta0wZN6e7|B_?$(`%}RUXxjsa4TZl2A zCzJL8b>=;(#hXLCc`tgqCPrJddslFufX(R92T%=nGZoa^nJ4d&wH=45V!HJ{*YcyK zfO;=tuH0k4>AdfJ>fGku4f@*-pK-wbiCottvRz+!I(gH9{xH~s+x;i}5Bx9vF~K@b z<+nk37)-uxfp`NI`HhL|+Dl!@bDmA5-ezXUUg<-!PZP-pT>~0jBR?!pf>&HY6jzQ; zAO_8HqS{MU$d6q>He?POj7ml!4@JuhVCBQw_gZ&7g*kE|S;$pz<_*o})KjICsmi53 zc)#gbm!h3Hj>jBfZ^z0!$r}CK`G$(6(e8C<>nq47-A2vVW_tg96x%=foym&lN3|ju zjl;NKK;Jh-oGm`a-2~o54$p(~ejleJ99)IGOWuR( zZ@*jx`*Bb{gdIJG5+YVfRJwz5MB;!Xlwhf7IWnjR306iaEYA`c=Q7YzIckCmuv(?E zPpP8rshSldsBvUQ+tDLEVS$2`Gl&|4bm|MHss*rGrRe{bz~Gfp|5;9rVg;(WN~+AO zs4%alR#!l!9gjjgk+~pZx06t1r;-!SfW#YY1?8K7n z4tRpn#vu=pbRt8QR;Q*l7xuoGirqQ?XxLmma_Ns(C5R{S?U4YeEA}^DZ$TJO6 zhSaHQsjcEEX5{8DQo9+eJ&e|V#_Iqhc8D=M!l)f%++rEIri@(zqt}t~>&^)FKEdSu zQ@uz5^S$&B)rBkmvAXwvPn&-LES@U`T+XHBlw+Ibc+dS7Q3TYRM9G?khxh8HY+D%c@RCBfU3P6>J<_7=^z;3 z401Rnup>*T4p|SLuYmd8M=rY>9~DR4dm{DjCJbFF8o#OJJ4?a#%i(*=QIhP!wpO8| zI!bmi9=%^rbbd+1Kk4ZD3efW{0PmN>7jnnW{S=gasn7H|529|-|*U}rC$PnyA|Gx+ObO7D|5wgg! z^h^R;|L*9IReC3dx|%dJ{0O}jOBGiF z)%4xzF%^Ym3T$~Ay_RL?(rwPI z>`gzqV6h?SB*)X2x#%P3pp9GLV1L(QPd33c?8Kt%@%E$SI>cQ9j(M@f8VP0R!u zFvL&u$8*=1Tw?n<+%;nn_43j2TtZbw85J4j+##oeN{mYK_*Kl$YN{^;Dlg)hqlr|c zi)4+Hn5U`a>N3b{*Jdh~P|Z}vd@To2RiI<7WX@KhU#&*FDxh19=Y9=|=v77LZW8%| zR5Yp?%-el{uY( zRsi7*iOR6-<)Q!FiYnf3$DK-gqMA0j$HgEjLet4{OeK3&f?i_* zyu@-c>FcRj+)CxzF253dRs}+TJHZH#QU)%4x8R=R*UqyHq zr>I>IYC05{#f-0<_1}msU4eGCg>Z_xn9gYj@t~!Pmpm$j57}PliRgUSQJ)RoYHwM*> z3qqT`JgjRBsv5V3c6nE*Y7aE+fucRovj=MSrlC~`>~l}-LSUhjLIr!EUk}vlxuJCk z?DPWc!!j&&85Uv#wt6czVkg$RGR%h`2<^lXEVdA;-4n1CWW2+?%I|egO~N|L-|L?6 zWr@*!_JalwfCq)7=svk8DqTx;p`b~aGw4pePH*mwq@K95QBZFiV1ejo4$0M2)r5E! zpxY$;ZH8E?p@pjGcMM_0rv0--;_;FxxDrtLT>D8KwR-vFZzfFScXO3+B4{G)Pxf&rD(PAwA9Bh6t zs*A#LT^^3?AFm`B-(BGdM>P*sc;$om$mS7LSL6AQ{+l}{nP7n=(7+(@K<%ul zoiQcgg3>?SDQ^XSDH?N>gA%ra6Dn$=k4n(OKJY>nh~XfZp&Hb16x<-x+#M($^w19c zQ0un_fggfdoDPP_07d++zLD9y75IW}V8W>F zj|=bJ)g3z@Ao0Kk1na*1ghj7nl^?U)f%4KpcFRF?`$AQ>30^A!qiqG39d+A*!qP!r z%bCynn6tq=HJO(s%)hN5r=xy5a8f$hXgP|YePQ)07f{Xb)bh{{W;&hPo8{ph5%-1n zH8F{gONfKF!n+@p+EJaBPQ1HJUM`o(8{jJhY-bXzM8GAjC!1ag@`)!}9Rk}R#J34< z6DGvhx$jo3w@9kFGeau(O-V;t7u;{NR4%8lD>-U4wF6PhY$`6tp05P4aKRt$6|jUD wXL;C*Yr)rnPu&!H)r$X?da?g*3;kcOJ&W4uKowRQMpy#tIf-bB0j>G_U)fX6hyVZp literal 0 HcmV?d00001