From 4fe6903debea58a6ea93feb6a9b76314dfbecb5a Mon Sep 17 00:00:00 2001 From: denis0001-dev Date: Sun, 21 Dec 2025 22:50:15 +0300 Subject: [PATCH] Fix iOS build, improve release script --- app/android/build.gradle.kts | 27 ++- .../UserInterfaceState.xcuserstate | Bin 212442 -> 0 bytes .../xcschemes/xcschememanagement.plist | 5 - app/ios/iosApp/Info.plist | 14 +- release.sh | 223 +++++++++++++++--- 5 files changed, 211 insertions(+), 58 deletions(-) delete mode 100644 app/ios/iosApp.xcodeproj/project.xcworkspace/xcuserdata/denis0001-dev.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 app/ios/iosApp.xcodeproj/project.xcworkspace/xcuserdata/denis0001-dev.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/app/android/build.gradle.kts b/app/android/build.gradle.kts index 642ec6c..f5729e3 100644 --- a/app/android/build.gradle.kts +++ b/app/android/build.gradle.kts @@ -17,21 +17,22 @@ kotlin { } } -// 1. Описываем задачу копирования с созданием правильной структуры val fixComposeResourcesStructure = tasks.register("fixComposeResourcesStructure") { val sharedProject = rootProject.project(":app:shared") - // Откуда берем (исходные сгенерированные файлы) - val sourceDir = sharedProject.layout.buildDirectory - .dir("generated/compose/resourceGenerator/preparedResources/commonMain/composeResources") + from( + sharedProject + .layout + .buildDirectory + .dir("generated/compose/resourceGenerator/preparedResources/commonMain/composeResources") + ) - // Куда кладем (создаем промежуточную папку с ПРАВИЛЬНЫМ путем) - val outputDir = layout.buildDirectory.dir("intermediates/fixed_compose_res/composeResources/ru.fromchat") + into( + layout + .buildDirectory + .dir("intermediates/fixed_compose_res/composeResources/ru.fromchat") + ) - from(sourceDir) - into(outputDir) - - // Убеждаемся, что генерация в shared уже прошла dependsOn(sharedProject.tasks.matching { it.name.contains("prepareComposeResources", ignoreCase = true) }) dependsOn(sharedProject.tasks.matching { it.name.contains("copyNonXmlValueResources", ignoreCase = true) }) } @@ -55,7 +56,7 @@ android { } storeFile = file("keys/release.jks") - keyAlias = "release" + keyAlias = "key0" storePassword = keystoreProperties["storePassword"].toString() keyPassword = keystoreProperties["keyPassword"].toString() enableV3Signing = true @@ -97,6 +98,10 @@ tasks.withType().configureEach { dependsOn(fixComposeResourcesStructure) } +tasks.matching { it.name.contains("lintVital", ignoreCase = true) }.configureEach { + dependsOn(fixComposeResourcesStructure) +} + dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) diff --git a/app/ios/iosApp.xcodeproj/project.xcworkspace/xcuserdata/denis0001-dev.xcuserdatad/UserInterfaceState.xcuserstate b/app/ios/iosApp.xcodeproj/project.xcworkspace/xcuserdata/denis0001-dev.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 2b08ce5cf47df9bec7de9b1045e0ae95e0abb096..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212442 zcmeFa2Ygdi|1f^fxi`7FX%@{aW{)OqleTF(QIL!lsw^pc)zSv2l(sZ2%XN>S2;x@6 z1+---sNmk>7I7mk+zWA`sJO@fdvlu(T6lcM`+I)x=l@cYCikBEJ>$E_Ii20yP@ibc z&)-KO3R5)2P!dW?v6Os@dr`b4QQy=!)m_t4JFgzTO>nn1HBWIj%|0Vu+nPwH&;=W- zHR>@{r^c7Y>%v`)UZG?ZH?gXPCLcKw~ zO}#@Mq&}y`ohyvT>LP&Ud( zK~#i_(Mf1H8ihuqF=#9rhfYJ2(G)Zt%|P=|Jvsx;M-6BJYDCM>ndmHZHaZ8LhnAyN zXf?VRU4m{vH=^}u1KNn%(I#{gx()3>JJIdv4)g$e5Iuw*MvtJU(KBc_dJesSUPiB= zH_)5t1N0&K2>p)!K!2jYFohAun8pm2U@2y?7VEGc8?X_(up4`DCiY?d6;>Od7OEId6IdNd5L+Md4+k6d7F8Md6)T=Ilz3z z9Av&`4l&;`-!p$m7>Qh>lBgwGiBWQb#4NE(91^F*B{@-Yl4Pi4nB-*1a7kDakwhgi zNx7s_GEQ=uWV~dWWV&RAq)rl-%#qBMER?iJ5|UQQ63Lm8b0xflNLEQ!OD>YEkz6df zMzUVANph3q7RgS@?UK7C_edU)JScfg^0?#)$qSNwlKqnRBp*o*NIsK%DfvqBt>j0^ zPm-UdSjtJ&Qms@c)k`y^7O6w(lx9l3(vzjbrD17A8kNSR<^rF67(f^?#E zl601|T6(&4p0r+ihO|}MCS4?5EIm_tu9TNvC|xC8Exky3we$vQhjfc{oAfs64(XlJ zyQKF?ACc~oJ}TWKeMS0)^lj<;(vPK|NDoRsmwqk%UiyRdi1aU3$|_h5t7A=U25Vuh ztdsSzS!{p}v4w02JA^%vJ&CPgN3&zt@$4jaGCPHx!OmoB*x76?JD+V}7qAJom0iJ} z&tAZ;WG`e_v8&lN?4|5w?B(ng>{@m`dlS2Zy_3C{y^p=0eVBcUeVToSeSv+EeUE*g z{eb=&vW2o1Swgm0c8+X??0ng! zvdd(b%dU{Em0c(6kafzo%Wjd~D%&M{RQ8zcaoH2HCuL8`o|f&Ay&~HydsFt7>|@y{ zvQK3PWM9Y*$$pgmB>RoS9L+JDgp+bCm&PeLEobCT;LMzbb8ueH#|5|&u9S;#Q7*=n zbCukDu7O*?HF8Z{Gq;dy;SyXc*Tya47IRCurQ9-ZC3g|GhP#ZroV%J^%U#D^&u!o~ za+|o#+|ArJ?lx`*cPDoj_cZqmx0`#G+rvG_J$%%eTt6%Ws$8CBIkxu>3LkGx8VY zFUt4I-;}>Ce^362{0sTF^272Y^55itrlB-8O_`=jOHVVUosectbEjpe<)#&;4M`i8 z7E2qEc1qf~vnX;gz%C#cLSi^`$$r~;~7RfTGVYNV=Cb&Bd#)hN|y z)fm-S)i~7z)pS*@s!kPGHL03a3so(uMXF`0^Hj@K7pc~$u28L2U8CBd+Nf$*ZB^Z* zx=(e#>H*b*s)tk$s~%B3rFvTRjB2;)S=FnmeX7?~@2cKYy{|f~`cCz|>Ic;k)sL#5 zR6nbJSJP@vEm!N*dbL4qRG*->sl95SI!hf?7pOz(a&?7zgnFd9Qhkd0RP`wJIQ3-p zO!X}FJaxVL4E20POU%tDjcCsD4TPs(Qcrfcgvdm+EiS->QF5AJHHU*3cS8Bhg4TtR_vP(G1e0 zYs?yp#;UPt>>9VGP*bES)|6;UHD#J1=_LL9^i}C=(l1TFBK_+0b?MiquTO7J-;};J zeOvmi={wW!Our}n{`7~^ccnj`{#5$z^ykuFOn)VPU-}#A`_tb|{~-P2^aJUir+=0H zP5O7~N78>z|1JGbEz&YtRx8&kwHmEfYtUwB&03q*sr6`m+8k}JHmEJsmS~4)hiZpw zquL5>rFN8dtaiM1qIQaQx^|YfMq8(yt35-zK-;WMXcuXhYR}T1t36M9zV<@xMcPZW zmus)mUZcHEd!u%vwo|)Bd$aZy?GEi7+Pk&)X&=-+qJ2#Jr1lx@9_q$}2y=}yv}tc&Q%bt84B>c;3!(@oG#)=ksR)Sa%Y)y>h>>l$=Tx)xoVZi((p z-8nj&| zy-`0{Z_(TJE`6pxOYhg`=?nBl`cnOg`eFL8KBga`KSe)UKTcnzpQN9vpP{eT&(_EF z^YruejrxW9R{diAGX2?lUcX#_fqs>Kjs8;o75c07>-5*_*X!H$oAg`t+w`~Uck1ud z-=n`@|B!x{{&D?N`rZ2H^e^gP(eKm0q2I56SO0lnW`oV(GPndX3q}fHB_~G8P-lj3*gS zHb#u)#*xNTjbn_b87CMg8>bm(8c#RY8s`}6jSa>oV~erPxWss-@f;&Dt}w1Nt~Oq5 zyv%r|ajo%M;|<0Q#t!3V<4wlx#@mdy8}BmSYka`?u<=pj6UL{F&l;aMzGU2Me9ic# z@onRK#t)637(X+9Vf@m1$!HpEvY6~9mnqYf zW%8TyOa-PQQ>p1h(=b!m6f=!5onjho8fU69O)^b2%`jD)W}D)sd8YZMM$rL&ZO{T4;ZKhjIJ56_*?lIkOddRfP^tkCM z({9sqrWZ}GnD&|8Fzq+JYx= z&6t-_pK)#mpFuLt%UGVVBIEpw3o=$_T$r&Yn(^NHqR=CC!AS6QyHTxYq_veD9M*b82V+17wH-x{(OTg$8`Sx>e`tmW2`)>ExxtfyHgSSMSjS!Y^Lx7J$cSnI6~ z)+TFt^ds*6r5YthZb5vfgWb z!1}QDQR@@dr>)OgpSQkb-D`c#`lj`5>wDG@t)EywvwmUy+WM{ad+U$ZU#!1d|FU75 z#3r+)*;KYcHl59A8*H=K>^7Gz)0SoP+wyD$wjx`p?L^x!Ti6z}jj)|!8*LkBtFle9 zO|{LiRoiCU;uu|8?Y2#} zt+s8pTWvdSciQf;-EVuyw#)Xo?J3)C+jF)TZLiq&+1{}2x4moo!1l52fbDbJSGI3# z-`S4XezyH)`_qo>jGeX1?Ml1GuC*KN8FsVXW_Q{>cAq`Ro@)=<3+*NLA@-s6;r6J# z!d__~WglxFZ=YzNVxMlGWv{W<+2`8NurIJT+Y|Oh_NDf-?C09gv!8Fj(0-Bq68q)$ ztL)dT`+fEY?T^?Wvp;En#=gh?g8gOttM=FJZ`t3m zzij&jFH$El7nj?)|y9FrZ>95WrKJ8B(s9QBR{N0Xz)(dJmC zgE&?=RytNYE_PhzxYDuKajoM9#|B4-W3%HX$9BhUj@un~Iqr2l;CR^asN)I8(~f5y z&pTdn>~*~6c+>H=<2}cRj!zt)Ilgdw?fBO5z2is6FOJ_Ge>t&J;*>eloGRxar_O0~ z4t83ccBjjk>CAHaoq5gzXOXkid7^WeGwh5xM>tP$j&_c7Ryij*r#fditDUo*apyee zd}pI`p|jPw*tyJkwv%@*cV6IJ&R3lKoNqYyJKuGF;QZKm!1=lJE9W=P@0>@Rzc_z&X+-q$u7E4oRp2Ui4RM|98tw|aDqW|z#<-@qrn;uN zrn{!9l^*LSWXt{+{$x+ynuV>jzo zy3^fex5aIB+uUBa&+T{TxeMGw+(X^N-6P$V?o-^O-Q(Qz-1Y7=-1FTH?gj2fcayu> zz0lp_PPkj$ZSFOD=Kgy&oj?;)P^Jj*>RJgYqydoJ;Gcsf0sJexgRJX<|C zd2aS>^KAFr;sIDIWF_G%<-8MGpA?H$gInZXU@swGfC!onaeX*WS*aSLFUTL3o}<` zuFkwDb4})znO9|Am$^Q(BXdjU*39jhJ2H1=KAZVM<{O#sWqy)*F!QU-Z!-^P{*?K1 z<}aClc^R+DtM+DiJ>E>O*BkN{dW*cp-V*On?=WxFJK8(OJHn&AZflrS~fD)!wzUhloZd!u)~cY}AMca!%n@7>;ey!U$V^WN`$ z!26(gm-k8Ui{96~uY31<-}Aoj{lNQ)_bcz$-b3CWyhnTzpVY_tWIoO(_oeyLeOjN+ zr}r6rcAvxN^kw^Ue16|B-^sq=zOXOii~3@|a$luyoNtnEvaiNB+gIzW^Ud=$_*#8! zzD2%seCPUj-xa1F8av!2Y_o%L+i3t6vZ?ag{M>)ovPvfj`7AnTK?&$GVB z`ZDYLtRJ$DWc`x$Yc`XemOUt2pKZt?^Xb&EAmRnY}f8 zd-g5aJF{=kzBl{6?EABy$ljCva`wLLH?!Z#emDEW?9Z|fW`CajefF<8R1T9P$>DO8 zIfHW2a|}7goV=X;oM28tPAI1^rzod5rzEE|rz~e^PAq3s&gh&mIg@fG=hWoP&Z*6* z%bAzckkgvema`~_&smvsan9vASLa-tb6w8*oJ~2KbGGE{%(*w`;he{Ep2~SPXHU+H zIs0;6%XvNLgPhNDzRo$Eb0p`NoL_VP^fP{mpYyBz8vh`Fy5H<~`Mv%ezuzD52mNLK zA^sEnVSmIw-e2XP;GgK9U^!qcH>VM$40c}1YKFh3M1j24y!!W9+8fmp1xELc<$Ee-_>QzNxd zUMhGqWu#jO!%G8t9cE) z)chcx;Z^WEoiDD|=!Id`H`X;Ru1r+GqEywk#N&;#y02EW)GUZsYXWd#WKCjp{oEGF z*wjs`X=sZlDq5NrjHwzQPqa3*)XZ*(C$l-Rn%0_Xjj0>JgqqornwHAMr20fXw5ir) z9(8MSP3qp{`qp_>^^J2I;_y(lCcC>~MSV-66|RkFX=-a0M;mQwY;9?3Xo$CrNe<8k zjl;FAkbml4WO$&bRkbFg8{CAZriR&l#xzX0mqJe8=gLX}mldUDfzqN_MWC=a5(|_C zqp?6J9EpVrgOQ40Ss7QYu@#n<*b9nF?7@P9ki9g&$es^B!IB`n<(CxLWhoqrvWyr zs0n~O3x6el6@MLnJ%1zMb0a}Y0ht<@M%BEg#bas~)z7T~tcaJozlK}lfSWmwomY!zaPbQnqm{cEM9E;Cxn>#lSptYmp3z}M%j%cZA zp4W3VHHPjUMBwFh^(n}~l9@1qo(rj!si787!R^#+s+Ovw;?x{!E;Wy;r_P|}Qw_Y8 zxAAt~!8>^u@8&&xChz5a+o?vXiE5@6QY}=1YNgt!Mbu(y37^H6@KHX-kLIWGbNFU{ zF@GL^sjxuVQ)-*);<>^yHMOxNdXadtyFwZ64iHxqzua!12xS{flcnxt&;X~?AlsGMUw76BB_Z*Hn@ zY)y!rBzel!-Fi$@Ykh4zk?bq^vDZ+{-L3i#C5gOhjr|z6yBVWebHXv2jB1(-V-9uS zt!!+KH#F4GjW@y?&#UP@?`TsUuy{C;fP8XIV`~ce7f=^b!A;ak>OyK2wVKc7b9g@= z*hHuHQO#21bogqYc>bUnf}BayNiU_#Jkt>IdrjYPZ- zgmipreQSI{a`H11U1VDcR}!-lwSr(BC(t#3427R*TK(e6Z6|MRm+j@`Y3d2hHLdfe zg35?583|PgvYE1$e0uh#%y_#KzjD1qoS<3-P58$qX;-0U)x}31IIi4u#>aKcHRdp!X(=LgNDiGa` zb1UlrqxEy@LClKNxP!VA7IsY4=(bj2z&%9QN!=lkU5cdcrXCR3=pO1`>OSgzzLYQH zhwvwEq8_9kq8_Fm;ZNdE=7;m)BpV4rcu8{&AhIrr_z9r-MG6Gwhzn|UTn*r`rLn5D z1;!-U1YJsed=k(8-n7~WQY1d7sUKTFNpXP_QQ@iG;3Cs5$^*;3h^&wx*SMVeFk%AQZg!(iog(~?|{s*McaRfnXsE4R; zg(-i+SGH4!`BMc!B}#}RAOuE@)!cEk43Pa>GGO5&msxs#^Oh&L`=CbDKX$Es7T+Vy*RYHB}2li*F%FVwHpZ`AM9AJm`JUx?zz@MHOL z{Av7nzKWl~PrM22gJ!B8Nstt=R2*?&8AQP{n8Z)!r+}p}RUmS2w@T`x@{;N{x0fzG zruGwCiu%oQJYZc))N{Nxz({Sit!*v9W@X*&{=TlvO%CRmCWScE%0vQ8^M5cO!T6}w z6m^f`nAVU8Q?LMlkE2b^Ni*kf7z+Q2DNwEXduGf(VZ?P&6fz+z72J$6&|q`|G9wE= zou9$a%+#&+%K9HwrSmuAe{^T*N4--kN4m(Sj=OB@Iyy3IM+&KVQ?1a{1ZE5uB(1g;GLK zFUrkQL2QQdL4=kS2D`;3DnVu4Fo*E*Zn24mqG2M0)B=W41qenIK~WS#<@{WJ9$(L& z0fG^YM3qUwIG=C$Um+OLcr-znR29FV9ZlpL|Bh9Krh&|C8aoK@I7(=mEdQ3!JoC?Q zxBe*K#HzK1y)sU&I@)wfQz$2aNfd5wo>4!x3V!7#7T3=K&NO=K8|zzrSzdd6!rs%Xd2UuMV>~&4?guSt;)n41w2pW8Wy|u~it*VVT#=X$5F+J7MlJ*Sf zXfSkif*I`baAIj=ZB@Lr6=X!B%f_qLyf{7%qOQ^23O0|uX^!37+}0{u63KxG-PG6< zZL?GNTj#~?EqxymE;T_#X-j<_7)163@ddNvEp~6B4II_RI{TcqMte6JlhQ-9WWNA?n@K zBT$0+6!k1fB`cJWW}#eQ+)6wcTd*Bx;R0NQhl#*&%Eoo~)tGohialqd*#djcLe=PW zRKqXiTlfUux(Otk55>_OkZNkajb9|lHH#qEAVx5@v0eDQ<%`)@dAXVJ?BkzKd2s&u_E;{>bSotZ7j8Rb!OrXx+!C1$22!+DE^NSB7* zi`1Gy{YA-Hbj{(HDw3i^tLsQh6J(CsFbH@b?tDM>0Q6uQ)Sdf=GN(d4M+St0=?1wfES7%z96O`+?miQuY!R%dRr(vL}C)IS?qtMiw)sg0# zGOnem4os$m21A1!oj8aiYu{=QK$Bb;Mn`_ABUms1TNW1eV#_rn2V%<_h%wEFpwSYj z8ea`I{^d|1elygE@1*Vo_Iv7WZXcbWVyDE=5-hrpaaKa&!f{5?#eF=U4FO^B3?d zH>0&+n5=`>b^L|E!mHtRNs=XMQ$|9Mp9mJ85a0wuwc9XB+HR4h$>4}KsWAjkuiLYP zCtOE80e&6G0MVdHYL?`)&ZAoOaspG0_6mV?)PXuT@~e^#E82{<%<6Vm!!0c}OFQA( zR%$&2+LK?!M{Y))ooE}{j&9*E;@9vO^Q$H|w=@YG2f)k~eBjolLqIhSNz@AQgCU}_ zw0AWb5`;KeOT4zJrEW;5B$8hoD=ZHbRfNg{g+xNE0v9)j3&gFz|h^XifBowC|VvU4dn*|g%M#mp~8wlL4K&HpaQ-Y7MHk&HxExz zMT!)5p~r>(A4QMxSMzH-&=crM{u=&Tp?_~%BHjW_GY6C*ATbrGO`^Db2}o{1!B@rr zr;a`?qY&ts3qji6ZN!y-7VX){uM?5A6+Pb};6}XjViJwr+>;vJUbK%2wxd`18`>!! z=o1*#34)?X2%4meCWNqx82(D69(xPDBTQ;PdYfO*Z|D$=ZJ^^p!sGhx$45a>GhQd^ z8HlA%8Q*=UOF#&zhVD3I3iQY58wePqPtd360Qw9aM4zKC(3j{d^ffxfxAPr*C%=i` z%x~eh@;C7}^V|6C+tIh^F!~OCkA6T$(2wXR^fUSe{mS3M-@`x8zrer9zr=q?5JeD2 zkenceFib7be=I(yrmdkh>Ewyw@oX{3A?UuEmik1KVE@OfCjy$f)$5o z8dbBjsVx=C#WJh}<&HTl$7xu>-^$;{@8EZC!YZsrhw&i(cK%*i?nn9JDWl?ZT7}_E z9bZ3pUh>m45tO)ULT;*i$lXidg?((o7NMIAu$WH3X8sQTPW~?bZm@X(!%qN(4uVdu z>7vs~fFi+uhD=j@agw&i*DMxeP7qJ+d$%hVT2E0fj~spvJ0z1)^5Po6Y3X$*;lim zxo>+R<2GRXah0(NaIX(=A^bOBLMXHE6UQ8Tx4i5%)f5`b@dyxrxPpJI9gpN67evD#i2HU^XflYJ6rp$& z>g>Ry@fiLI{#kxi3czW2B4z5t<8c+9z(2`9#XsGNCs95;g?|RHyqnLP3E+AZ^bFx! zDmMytB77C-Z*PlvhYN}1@#92L4 z5G9AcTXK(YY7)!~A+RhY9b-)kYU&$%nhQ3JAaKUcNx|&7$M5G~;os#y;9ut7s@4R% zLsz0?1>P2xKexN5q-KoQ34uGY7ZEY%qCK6M#{{3p@8w_P-{9B1iqFRvz`RzXIe68y zp8h5#N5a1fUemsb5y6vA>Pox@UtFy*1I6{E4}c56OX?Dp^(`Iv5+R9j+%~CRF9V6V zihmtM)xIk5wo;d`PF{X9c^S+f?YV!6|6aw{!%%O)H{$hp!}PkYg`YTn)YR4#NAqv< z@9Sj$iv$WPLP>)J$_xt2%LAcUakQi)nqN>JE%zAkbb4B`Gv_;7!6b2f78JXuJh)#WziB21JX?!@tkJSFM?z zCuqn-9$2CEiTr%9jq2iy@<5!g)1q znw#^$5ENcQ$Rs(-W_VH@?{<94bQo=l$~y6__%>>N?@NOF0bXmoPN2eaC?n{a=}vrm zwMGzAeMqVY&3)Bv2fjm?{@-pd(%)UEvmM{ff7Bxs?!&vN;1+y8egHp+AHomgNBEEV zPxw#y1N>+F!7aeGkKxDR=gFkq^f~_p{Co*q4ARE}x~8q6PS7~xpmbw=d?7@BTfrg` zN=p*c1%^1azOfFB_+IwL%q}$!q!A3|fCv-61K&fLMwi}DS0=>oU8al>4ebI}EjI5F z5iesf3p?>EcrSjH|BC;bKh%j|!>{8v_;2_>_`ig4rVBzPoEQnl4Va=yF)0{-U5XZN z_HZ3Ulg8CU9^)r7cs@1i~J_&xqxe%)L6L;Ml`7=MC41yVbJKf?#{O8f=>5`P6< zAA--{;=>?KQXJ9;qhi5`V-Cn6p;$%GKe>q{3-`q^%o=oLYp-M*SiFtN(uyu|b98%c zJXz(?XY8=TeV!3|@6EXYGd0Q{BfZ;61Nrj{{~Lc8mhw;d{1gA{(USOwE=l||2*~fc z1mut6di^R0yWjBd_z(Vj{s;cZQNm7?Z7Gq{OA@6n^^!t85{On(YFdRi&>DQBP&75W zCJ~=&Gw3gOQ98(42se{%E%;FY;Zos|`@!Yyrp$a26DOf>B zcbWMDE{;yxhy<6CKDp31^|?#0(k6N^L}cg;{`YqD1lW8KRLMwDSE_AFYJt7x4wgoO zrBNu@swjkNE2!Zq2$YtVfIuuMD9tYj6&6> z^=Ws~!AgzMOJ{-cK>G+n?Q}Ll_&DYRoeSmzok!;rL=zj+K@clEElcGTQtpCaSGtBL_#_nIczP5)8jwE* zd+D)2)?=!=R9@@6QSrvPNsZp?TGG7MAcE4wwLFa;4|LM~NC#a7V!77^kQ1WuUoE%= z6Pl7fL2CIX(GcL=PEV$%&{OGY^mKX#J(HeASJS7{H3X>$g7Iqz8bnY!L0W=z1nCJf z5M(6Cw4JU+hv_)@1&8T*bUl3rJsKM{$AeS@Y(*J=l72s)D)J^r1_-hN1sifgXR3K1PvzW1pc;7G@;L< zm(wc(_0AU8q29#-E>-we!3Z=tu+Hxc9^D3c&>C+3pw z!ma;`yO0{*9rQf|L6(CgxF1|~V5BTQ&o%r4O&{U$F#R<6u=FGJF8WdWG5T@(3HnL; zDT4e21qjL|D32hJS3!ab2nzi_Up5t3`CsPC_VV&XEwvvEQu=LzihD@!J^E9yNa^?K z59kl+kLZu-PY5a@sFa{GfN#{!jQ$&^Url>to8s^E*t z0+C2jI8a(12^T|Ae0fnc+Rr^rI+@H6{(XYRHfcsudDKKG1CCQdF>qe8hPV;xhZ9tO z@+U|IlGhf&y%@AgK<=kCSw5TxOEH`o#uPC_mG7O58Q3YE*vFoGuPj8}V1Wu{Oti(&Hrv~ddqih(v^0N+)jbqkby zTE26QYSabmYDM_KDn9IDj&N6@T(6gq*K*hQgJ37SFB;P>!vf2 zoIs%P`%>3>lUP66Y7}W}=76+SSWzA=DFd=9Di$jEBl-D|8Y;>U1dH<{rNNTYqO!7r zqiCx)>KaAV&Fqpg%wlG#fRH5wo!-tYBam)CE=I&9I0sx;=3Ihi^Xpy{A~?)>_CWD#{GfgN^mvlFxsJtdTzYcE=GXBqbrG4 zRD{A6A#mX$umz{Iq&QF(E-nbbhMfH3{PKLr0mcTR`CMiLvyo|MI)LVLna#`=kYNP1 z610e*`2=$OK=g2-g`l>+V)-WK<|NVI!hn(6OwfWZqHiFmsrSx-K7j`@5ZM!>?2ev` zG_q5mk=qGs>|u`M68-%m(JvHAab$)h5dfP4L47>JOc?T#!Y6HYs+0ig^~|Tg=nUGt6#+783-FzqFIt!#u}4PZ03`a)MR}BEaA0 zaS?RNxELS`F;MelRYX%81m6Vm7C}UXJ!mPlk(z*bt6J=_svZ&ojdR6oA}Q?^NaxH=#U2An?Z)?hwoz5tuC4?d2@KqvDh z^OYcgj^FH>krXQFi%#X}Z%+Da0er0}RekW)(L6;MBB|$3*x* zYzVRu8g^goWd(L+DkLURNL?Zdsb&9DLMpHS$a}0YiA@w%msM;2ivt4EYHpj|P+u#q zY#@=`kp^2WlcXg?M}?Agk>*p>n>#K(w+6}|Q}x<)@h+m1xFvb8tx)2TWJ@Sr&s79nP0(6`t|4e0LDv!lv5D&mg4o23+a&p7##vG*DME)SzXSq`1g#g- z&ICbV;&w2@1`%`zTmmsSxTkM%Y)~;NYxe)xd4cMl#agn%x6hvWvC=JQ_gYNJ-v~l%^lHAn)gHVeDMO2bg z(4I|_QzfH>7eN~dY8T)6b#UfaY8R=bN-~Kubx0;iz!U8xXj6w|vII=)%>>;nL~#el z;ti01Pi7;;plbKxK*Vnxtk+!FO4|q(Bnc?zNF3E9MN=~+rwg6Tl7I^UmeJM@Ney~} zpqqpc`>eWD);AgYoh~d^(u#~H2BG~a2=gQj5NnduOU{shIkk(dZuU|rni;FnsF(jV%20FaPup(!@=)}$FMtDXOWL)PrIKY} z=T4kh8S9WNg`z3RSpeYd{s21O{&K^blZHR_0Mr++9k%6b0N@&4w=o%3a}C!ef2V3h zBj{@Zt#bNMziYf|&$8rTFmq{*{TmjlgA-P%t zq9Ylsc$}d72o$A(@_}H*qXa$HNBKzBNv;)LLCK8-Jwnj^J+9!xB6V*Nw9iIKy9DIQ z0|Y%t&_g}ir+45XrBky0Nmo#Ehp2FN4d@D%lvI?&gsgLMaTK!PMbV-_X)IP2C@U(D zl^4beA>2@LY*$cnhp0DprOdHo26} z1BGS9#gL;a2Ui|aRz={!mzTv#1~MEV&LnwS@{DA65_QjYqwXbwo+jv(F4Vo)4|Oj} zUg|;}n2liAKGTD`=S0-KCZO(h$s3Y42?9&_S%UWbhf#M>MBNJmqOPJSQXY%J5ea3% z!V+-tN-F|o#jrH7f|6*stS}rYFE2a}>JEyidm)98!;gnUQP%YP3c`H^s0q@<)g zP!cUHfUpX@l?hRnaJaar7-~K9gQ21U5F+`7IU@N@^1I{@d`R+_loBkt*OQjqdj!E! zLtd94xc1J`mYkH9GCh{ueuDNLWywk9fDmb#R3TLo^cq2cmbbbQBKbu+NQlTmS8wq9 z`s^;z&?(-^{hLOd)G8vTtFol+f6R#My(y-bvnln6$b7e2^IsZ^cyfr;Cxwkx+oW02 zY-x_vFAYd@rFqhPX;4}~(E9{|6Z0WK9})C1K@da#l%N9yeMZp1ZPG%~=#rL7%LJoK zdXivteV#J9Kvn!A8ePBsKcg#Y#N;Nxj{Hv06e&b74-xcDhjhAh20`Bv^!nHmXwr8S0pVd>GGr{_1ke4aKh}SIygDPU0x6^iI&0{FTr3rWFIQRK?olf z#NZ5`SXq9o2(}c23kQ(xLdaZtiS$zGWrDJmUYSz17+mYW2qeIhb`oZfR<_c$(rZLz zE4`jzI7*1>R<@W)DqHD|f^1(e-5}jaFd`TV7U^!;-X}qmlI49;GpUQm3m-~%CWShd z4ybL*V&QNkR1|_!Zytk(UWhCm2*}SDFnE5-|cHwNB})(tXm`2v!lSCRp>I#>l54 zMzjNBBoq!6N21~KKt)L@n66N;30aJAK_DC}2Ro=DTu@qkJdAuQVnmz5$RQ~NsoJIA z5N!B+7zstnLIuGJuzy13;7bI{LxD)N1P~OBl$F95%0i`)V`1cH=`Ye>@geE&(m%Q} z;v_hO;B3GM&LY@xG)7p8MIuI6U=SO@gL^PyO=5&)0VAx8hhAfiZ7QM91Epg3AQkc?%AvcuSu z+2L#$AA-*@wwz%257k;F1p5h8;{yS~g+hXh`#7WQ2zI1EK+ZEk3rTi+<8y7GjNf%?Yj!I^pBON+a!rWef=>29pB=;H{^>!vog zDrrgM{A4(^_h~psXDZpLB1wfrlDaNcq@Ac;5U3Roo(jyZ5so!m3b~x>YGJD;1d?Dc z%F^Q}b_$9hol{T*$sPC0-Jr{^aqj(fTp;mj-3mM0yfUh zA-I&_vJQ401+{xa#NB$@c}=iOq)v=~b@$(m@&N|f70Rq@shN{3pssHn4I4)wAerj0 zk!=>(vx(pn+u4N#pCqtnSCvaw4?-X&)x3>83ubC#-2&=P=bdMd@{jM zkP;?1vIVv&twB$)JZ$t6%2sp1%EM9kaE$=l20^N>Gk_9f=aes*S3kSHHBs3p^dcm$ zAm?n+%d3 zqi@|nTTox2)a*qB$C6<(_G0!D2$PM0!t@UIVkq_Ol~4qe3$`7ALW6Vk%ERS_5Z@?+ zjBR$8MI#apkNnvsxPXC99yre34-qu*8UX!ngKLeQUbNJ9c<^(66iF7 zPbK)yV@jZ#*==1C=r)2uU_d-KC4t6@GZRw2?Ck`P?hz$-iK1l8KPO63boU7Rn7|ji z*hdK-PjFQS`?$at6aJ6!#cp9wOR7#uza?&1vqc;}7k%Dp9*^-xNsm+7qxr9wGqhX&^-ux!v?6SO; zw!GHGO-mrqE1b8M*H)h=9 zRU+L*41Eq-@eI^Nh^B+|=#}*p<2~%}>|fwovVX8(bAaNR+aaT5;GNAQ_-vuS{@X=h z+kI+pcDFR|nubg&Q&Fa^GFB#&aWc6qO{S1339cvj41(tq+(7UGf*T2L+DiFl8hE9{ zOGm-RR)U*_w-(`T83c%+>;5@0Az;!svv%Cf-G3(S);}BepN!kcY#=UWc7hjn#cgCR z;3uK1U-*H5nfS9VwZhplKkN&Ud`OHIb92FQwvxjt4xMcWFv)83O*A;DY8=qO?g(oSkxe9Wwqv{ z<5_t9QrCel>!izkN_Bdg49;)rkd2pB5qvJee1~kJz+~iKVzTM7T7k)C$Y#oB$*N_i z%W7nxOwJ>CIl(IkKA+$V2wq9>g#weo7FpR`c-4zcwo2fyi-fl;|Nq2ftpbw)xvx$! z*^(|Mla3Xc3__#8Y293Qu8as=#uL1zT?Q+A@ju077syr%T((knp==ewmk@j@!IyQ) zE|RSgxa@L*ulQfUWmf{{T-Bd*stR|eo&89p`r4CzUv}X+pFWo4vTLC2y8dm)C3L?-C41-%9XJowE039|&A>Gr>?=@!zha zkbMS}f3QF0tA8u_@aZ2$wyoX#!9|ZRtP{E9OKAI5|F$3QwzrNsv;5Cn$NMIH`tiGp zUR?5x>^qT54kx+f7T}WZ0*RwaBa*hZ>}SEZ0xKJgYw^PGfFs!-vOi^iaTLKj2;NEX z?F8S!uX7FWI$6y%e6*NMa1EcvCqKD{*A7p95Pa5PBvuj%K@>U^i@+v@G6+f+#^8(} zxDhTb35Ux=`AOfGlW}k)ys)`Vj4O2cn&7F|&hOylLfPTKH~Vk2?i17El$=WRC^?8x zKS=PsJs#x)$w_iLm^G&-_`YtBk~4`OB@|;otzK_8{J6oXF2d!UoEscG&PDLU?VN|e z_H-fe0XysmIQN3fg57LfHU}2hE`lHH-crQnas@!YNAG6iLdm_W_)%Vc)ZW!p=Vjc` zfu0*i`MBW(KMv2~Cj>?k4(sf@YqjR|F037UQz=)$!GRva0mG^8PT{6e!5tbkcPclE z8_kX3#&YAh)41_m6*qyK$W7uVb5l5QRG%RjnEzRV_Ye#|@ACw|K=6wMzeF&k4_+a7 zFTt-849xzT0Bt%qgPRFq9!T_ZHSntC>bN+|b91?Quz3oDH29owK#Wlk8G{ISr|@n0h7mhBo9Dn1y2*stxcW>ApGS3$eMZJgvi=> zvK}A$2{$zKZkVW?GbSE~^Tq%-sd0*bxB-T$El-}VGGQLp9C+xUSPE4ID$L=0UzHnxI6g=*R zIK&Hk4qy_ODgs;E>ypr5!m!sr8Fkb3908k1-h+ZdI2r^>_qa3Bo^AMB?riQH?p%)N z2zMU0oLj-2&x2d~2ElI;{5HWLzuzbLLxMjh_)~&E13vAkOyyRKk=8fiXz{;OWzmJh z#J_f6M(>U<6+7PFFH2AyhCgCaUQ`%>O+~P$s7$DqDlRJs1WO^JA1Q@YM|u9SGlASy zBHVZS!42k@Rg{G*0AvIbuZ8)rWg}cr910W^6vsj(@F!Ek6~)Jad#wofy?$`ZieXR@ z$WuWK5qA5ORY1*KJ|t+0Vr8LNSrOCIbl zxCi>dEsT|hN`zfDkBsIWX#0Y&oV z1rZo;aR`)aetB7-q@=W@2>Oc@mJ}TgR}9N=cXJO@!L8gq+`Zg=-2L1G+=Cp%Jij3L zOM<^5_-ld>5&R9o-)`j|;dXJ4a*uJ3b5C$j5`37@iwMmVdL3bM2(y}Ss|5Ad_tfyd z(zf>j6#t-Q@((nKPxs!cIY3!=C7kF~U(?XHr+>B-{6CXnsn-0fJ7(Z8oa6cb@Fzdw zt#H0pO+(Y%l)`POtiAYVV_4sf4w2SKua!F|br$N3$>KO|)9T5gHSk zA+(gxGD1Vj_$@*!2(1F)Olt_8PG}vW4T4OjO@tl{B3c;NA?_RQTkbIT9rr!=19yb` zk^71JnfrzNmHUnRo%@6Pllx0f$&nn(X*na8$fa^tE|YU|xjc=~WPb2gMLQf?0G(uMs`gB6q5PA-w=Mwr1 zLN^h*mC$Wqu=J=5xklvF@B48SR7^tcXn7baH=tOuFq#h~q-9Xm0%`k5QKT?GmLEM% z#eiHd!adRt?!Q+=EAL8t|I`oezqFIF`!pK4xTypG(jRUV>Uhdy;XtS)A2t}rBKd;F z9)?1OFdWfYP$=vHJzBE#T3@%g4!`w-`|nj`$g@PafAoV3XNOhkvx9rBOe)|6XOTyi|ls_k&v&hAJR9m;?m+uz@*HUKlBe6c-nT zNp$yiy0@PR}SX2R<=F9yL7%P$7?UKl#g`kp4jRrZ5h5iO{wh=Dx^-ZG?iWBEX0 zA*d7zhN7hv;b4Z$(Lu(7+~ zczirvggdBOQ;@2<08Io{7KLR6<S>&(EXIc9BtHHK)4)JZA>cD&~V6;B} zAg~SU1Jz;qM=+|x!8W)LRLACHNuxMb{s~~iGC_2V%s&}jIQgf5ZCHk&F8gKqXY-)0 zkH9t@YjO#g$}bJbKNkbCY}@dFto#dvll)t4i-Dzk@o(FZe^EETi@`RM^Sg}kyButz zGV!}1|2od^Gq7#j&F==rZ?whlX2x$^BEQ@6@hPhK2;|=hwy~VwJ&fPIU>lc#U%oCJ z$@yW}@**z$WBDx1Apdc&O<14*B-kc0Gd+7546`GjWsIH!+oVj42IarX8T}5n$=x6J zI{UCG)`z{tKCB2Yz^smZHy@LflZKm1`EmZI>^BM1hyUiwd^B{|=YIvZ8SC@E0o%-6 zKxe4nh{VQOE)`pnaKy99K}xh5Q$6xQfPSYk`*u>E}Wglu{?>cXx8Zpn}1f zyRu+-!3g#n((HnfV5^MJtAf!?5;U^sWRhft)m=6$Mz(!?TneTZOz#Gp0k$9q+n#~V z0^8h7U^^6`=oDFL6Tvpm>idEK`z#FeF{2_2s#xC-P57#L1vS=J6@>^+b zXJS`w1#;SC4CLgp?^>`s14~$T_-~pDn!CSh5!fP}&0@x83D}~U*i?6S5e~l9Mf(pV=YhzZ1c>E9Z9#<9909cFV-Cp#W2z&B1bmZTD_|=P`bJSo|&|esdD|Z7jGr z%a>nXa3%i6)D(){<1XZaYYVQoep7G**cNgbZ)P&y0=DK%GVWP`nSrK^{lT`VTgH2t zj4hUo51@?w@)EWA;etn*jOj~G!IK3~v)`C{@(kFPa7mtLlDq)6)=ZM@-8~746DGl% z1#dGjnrj8`fNdWR_C5pq0Bmg;!0cBSd>;R-tv&(U((cdtl6@9ts>Fx-8`kxs5>#+Da@)*BP&d(vxP;b>e)DGEU zw>m3nKpjqp+xqh4-}HAB;%^)Sz_x0=qX=wklFsE0!?bEvZ&6onax4?`jbqp{*42$` zzGI+c2v#d`404n?27?WCa(}R`-I({FW0+$&25#660Na6VRUe2KCb8P;V6-k4s0h}D zBe7_pI^eGhhC{J=fdv>lmDZpk7!8(J2O`+YY?6)rgQ#L4XWv5A5;d7LO?F6vl>TojH(1^lS;WV&eL~VlM z?T8<>u;@v6HHLYU?`>=gMbnPudF^;GSlHIIY#-|f;{%hX2WI#tRgRq;V0EOXqO+RL zqZ6hFFjLo$g=42yByx!#ybg`2^Lpaa+11q1HFi118jqhi8Pj^vZ;J;Ac0!-Y-U4Uo z+j#7mF@3^}09H7fnaCl21UtNM-%&md4fFuMjp7fK<9VkNb6U}>P%*aBhpDX<6;sQn zO`M*{C4L~o8dZJit;)dU=>g1J#?vLs7nz2~j2W0_HFje8#A%h2up28Y(CD&`zmE9v z?C8F6!I!uL?C^$%_o?jUF}V`YgwxRJjjnUwOw9D29!To3_}T5)+{Xl;YGEIOhZz(Z z?B``_48V=E?3pEjw|AHcMiK;n1A4|T`)?K`IU(V;PAB4+AS1{$U`Pma&CsDcDY0kD*IcrbF#yuXM90_;@rUr|xv%(_0Cb zo{m+H)yY5D-+{5~i7gIt0K-Q&`RTpmAMU`zP$KowjuY{LBgZk0V;#pij(4DPo&~mZ zz;+(kE&$v5iybF9PIjE)IMsoAx)E&mf$a^j{R9G*I8W@?v(4r7?3jA^7PuM1=vsR2 zjbdz5qEInPc6`#yaPg+TMNP|Dh3ohWcZtGXU^=D6K)hXaqz7l92A>z9D-Qou^Uw#&hG1=y|x+f`t@`U=P0W*)iYe#ZkW zyuk4=hGp5Xh%W_Z*{%oM-4s(`yT@D=dW_D>9K8GA;yo;i+Ps+?mt4HZ@gf?dj+el8 zZ9K%t@hXNGNt)wz_6I93fDN4|?B5s(HkmKL?>aufKqkj~j`zWa2ZS3pI6icsE9WM# z-O55)wn*t7$LEf(7?Ur=7}#!RrF$G-V=je_y@-@rx<|{K&PDst@hgVgIDT^c?Dz$2 zw}I_;u-&oI@tfm!3^TLgWW?m`|8$s{vtK{AGcP@KZ0cWQ7T@6WyKbHFsQ2jhQ}S3a zrc=PSVtU)g@4lMpdS~{VxBa@f{gZcZKNZ^!y|0V{hIm09r`_qGcr#}Ki#M~~i}7ZT zubBybOIi=cyU*!y;)_&QIQu&XI18Oc&SGbY)9cioh7&IW?+4ohV8bDJ2y737?Gdm& z3bx01Z z=$z}E=d1?X^I*dx`->Z$A!nE=Bd$7F^W{ITj18z@jp+)u+pPP(zW*iv9_OEWd(3#0 zd0J5!cfq#1rnmjGpY1Krbv1#Tzde74+rGFEYvS<8Xy+czCZ>Zi=bo$~wZHS2$NXS2+}be`>p|Elf(fZDQq5+@$zy0G_669!+j5F~sq;#vxR*IEccQ8GCD_pG|Mf=a zRnDuK;-d5a+y4g?_a;=vo70ssQ_(x;ZP@nq^tKu5+wp$B%XzPu+`yEr@3y0ruLsi}N6W6W0`nN~$ z`j_w3u5DbSNPk^e6y!z_RMcNr0ou#hb*U!~-fQDs+oArtCb%ZLCb=fNrnsiMrn#oO zX1Hd8-~pjO;2Q)&AqYhv6oXI#f)@lG1mgfKy1rdGSV_5fiJ2xS{wd%BuH7!1OQEw=Hx z_Hv=^x6!rOwZzp5!VnOKf-r2OYadq|)575(V0grT+G2KfqGolaYgVQzXs%V*c6EB& z3{}v0Kkx54kZEDebpYFVg^|6Rzpg`FN0^FxI4SP7IglLZVi&Ql<3Sj+-gP1fQe z2;LubSIlrd;d+KGj1Rh=ay^ZG2f}O+d>dWQx}I}A4?;NzyMVASt;3nhVIl4?fAXI`d2ZSmRf*{NVVIBz8n9T3Ocgb8|;h%3PnO~^Eq&gwY{?&*!0kX~|7r94w z`TvGQW!LX)tNsIo5Z|i*Mt#a!F~cpmCCpNGiy+jlcgrB`oYUqU-+bH!ZZ}Rdx5Mpp zyFfq#Aqqm>Mz`wL*#27&Lc@Q4|8=iTIW$vN0nYxG2 zW;!1?(`*$pwoJJU_qOh_$k9F8JqCnbLD+4BdmPiS-8V(U+*91MP{Z6)-P7FD-80-X z-P^fw$wiwDPeXfxfEL?A5Sl?)gc|1F5&z7_Kjo%|wJ_yc%>LE>|B;5dYf!`7ArSV8 zYnU6YW704wW4R3Xd^Z*mUhiH2!jkoF9I)0tsaVX7^-MOp_jEV8aU}KzVIL6MHo6zN zTbPP11p$Mq{?jI|yA9Q5X}a2EDwpA2j&1i%Z=1bbhP%tX%2ctHq+-i^w^!WD?wi~)su2pE6* zAJ>t4ao*pTKJPOX%Wyx4Z68W+o4r_u`%(83rjFn%4d{$H0(B&t|CLVg?&p}DfCe_& z)#eXg!V$_`EQ1fyo9_4UNoM;2?zi3VxG|;uRS=E=;W!XZxXAs!`vdof?vFq?38e4A zz7XsOBpngmpPNTSjKgZ$a)BaAK{Mm9K;EL3<@n%RLV$|<8iiBk#C>NPa&mv{{Z@lJjGEmXfR~6I+)egd036JNYAKIz9gf~Dq7ld;_z$6@u z9{s;iqhYA;(Y3byzQ1E=d?3~SYB5Imssq$Q75$>;fp9(u7i?5ZgmJ14!iDU;N@0Ea zV|hceesn?~_trCmSJ2*O1mpljn25YP#A z*(K^&6-&{xe{6?uaFZ)j>R_0Xi&;EbPm z+dEoYZ~|D_KFN*fcf+!NUHn0)8e9vIQ9?7$qoJv7MN3kv_=|uU=7))r*p(cG)fhU?#9x{JE2x|_PYx`&Ffg=&+!P;FKhsV(YW>SA??+N$oY?xVJ;OVwp+ zySiN6SM5+c)h=~~x>8-Gu2$Em`>Fe@Yt;kP1J#4nbti9vt0$-@swb%@tEZ@^s;8-^t7oWZs%NQZtLLcas^_Was~4yjs_WGa>PGb< z^XzJ^-A?B^=kDR^;-2h^?LON^+xq3^=9=J^;Y#Z^>+0R^-lFJ^=|bZ z^OtH^-1+9^=b7P^;z{f^?CIL^+ok1^=0)H^;PvX z^>y_P^-c9H^=g(L^-J|D^=tJT^;`8j^?UUP z^+)w5^=I`L^;h*b^>_6T^-uLL^>6hb^ zYpSMc9<9GNKr7UWv|_D9^J=rLE9bYOA!>+8S*?ZGUa8c7S%Eb`Y!8 zrX8#uq8+LorX8*wp&h9mr5&vuqaCXqryZ}Ipq;3lq@AptqMfRprk$>xp`EFnrJb#v zqn)drr=71|pk1h~*EVPywTrZiwM(>1wac{2wJWqMwX3wNwQIC%wd=I&wHve>wVSk? zwOh1XwcE7YwL7#swY#*twR^OCwfnUDwFk5ZwTHBawMVo^wa2u_wI{SEwWqYFwP&KA zwJ)?UwXd|VwQsa}O6nTn0B_6Lw_ZXg1&(@xSo87{J)=EiJYzlMJmWnRJQF>WJd-_BJX1Z>JkvchJTpDp zdA9e=^6cQ*(X*3hw#Vlw_xL>(o`9#)Gsjcq33}#w=6R|;HJ*?s?5Xwa?1^}yo;pvx zr@_GG`btn{q%toE$&?C06vv(|Hf=RgmheXaljZR)E*K${xf$kzcrH!R!$ z0-A_7fq=&HEg;+q!fhbj4#FKE+zA4@!tVy*9uV#Y;XV-V2jKw_&`^8`goiELejw(7xD|*t5CsrL5G4?0 zz?V=(JBaxp7J%pg(FvjpL^p^kh#H6<5c`8T0K`HNi$E*}u>?dfh&qS{h@~KI4dOr$ z2Z2}y;$RSmfH)MyVIU3%aT^dvfH)GwQ6O#$;%E@ZfH)S!aUhNdaRP`FL7W8QWDuu- zI2FWcAWjEy28c63+z!O;L7WBR4j}Fb;!YsW2GIv%If#A`D?ki@SP9}B5UW58f;bn% zd4O+5iZvjHKn#Oe3*ycoMnH^$SO;P~hz%e%f;b<<1t9JM;;ta>2IB4@?g4n;E$#_o z6Nn2zYzA==h%F%Q1>#~5mw?y`;@%+c17aJ9OF>))c$5;CgSan<9Uyjs*ahMW5Lbe@ z3dGeQt^sjB5cdahErbiN;zkfJ0`X!HF9GpV5HADqauBZo@k$V{0`Y1PuL1E|5U&IAdJt~_@kS7D0`X=L zZvpXE5N`wVb`b9X@lFu$0(`Vjya&X4LA(#d`$2pF#0Noq2*ig$d<4WtL3|9v$3c7o z#3w;~3dE;DdnhDZ&AZ-uQERc2pX-AND0%%2WdG-`-0Q~QYT1VAgustB}l74S`E?~ zkoE&p%jK4hDRgN;(vz!$3M5q$5B&5~QO*IvS*7Kspwr<3Ktd zq!U0o5u}qqIvJ!>Ksptq(?B{Mq%%M|6Qr|1IveoyDCt~~&I9RukS+k}LXg&jv;m}z zAYBB~#UNb*(xo6>2GZpqT>;XSAYBF0)gWC1(zPI62h#N*-2l>!Al(Gg%^=+Z(ybuf z2GZ>y-2u{_Al(Jh-5}iq(!C(v2h#l@Jpj^!AUy=q!yr8Z(xV_f2GZjoJps~_AUy@r z(;z(q(z75v2h#H(y#UgSAiV_A%OJf1(yJi72GZ*wy#dmjAiV|B+aSFI(z_tN2h#f> zeE`yjAbkYV#~^(I(x)JO2GZvseF4&!AbkbW*C2hvQU=|ggFT0M4qbrnwsv-P;Mos^ zEAicoyrepWYuEZJFu@UX5`ERNXvMrJ73lOF?!j`^?ohO5MOV|pww5T-Z^R!T+3)=M zp{V))oCUfy5V$Z6IO4BDI8%({sZDWe8{`-XhwFH&lc?3e)K-D{{_1)xQ55qfLgL{Z z*$z!@9Idad4M*y*b#1k;t}+~{v4p_GJ5r3uqf%R)`03GTpe|PH^UsUb_(H+T0H%9l zLC9EbBv2Wg&xJahsK!`Sff{^iGuBNTjRiwU60WGn%+K=rP(^islj8By6p_{TLWY5m z4^u>Am;hQ4K#mo$NFW-nkN5+Yh!+yYM2lI5rpOKl42LTiiq`q6t7CP(ITk&hEs^8s z9_iWV1?v1&v2dg!5aF`oVH7F7dFBz*I`yty8(mP7I7XLeYZoq`o7fI5Da0F|0k6sz zVWWeYvf-NAXsjY=$$&-|(oBidgfX40eHk04>gsSKer9A28?N}M#-gy8Lx`#A5RJYC(U>`Q(Z*n9T?{)fRN;$M#Hxek5nm+OJqT#&A;!2=jPm+mHE+Ej zhBFIAkJd$k<@JdIpmm7E12YphARk|-&KfSXAhEHL+IWuNA8QCiSgJ7pE;KQ*<;c{Q z6@l{lIXDy8Jg0tOa^c@N85*QWHmY~B6n1F8BHh-hbOGO-Km=ek#uv1v7alJ%eQPijUwL!+Ry>(xWX>_Nek-12kZ^YDw^}PiT#8s# z0AKTqL}Qhaa1E}s!D?I$%ylXaUt2H)K7@|eW4gzqZ7Uz<;SHX{!P|OfG0Hs zn3W1p7YX?4Vl}~NlxArH>sYwHuC~4|iaSv(5Q&5%78IWK5Nd2HRD8zchhQ}W6DW!+ zV0n0cf-d9n5NUmRtmtoR8x=T4FJto(G#}QkHMPy`LBG#m#Z?X0LEoHE7&Xa{J6eq| z!psPB-^WuX;!W!#9s^Gh3QwpAQk+-Ovb?Q*4J&<&yAm$EwUyP~TVMZv)T%V8m9M%k z5D77TnG*@u*T$vlZ|kvXxDj=XH-!wYHxp}JUg z*i;Gry@k|#n{3T%ag+9E@)%XeLzz8iIZl!dDZt7ODOdGVqAb3)XUzkn@;K?Y2(h z;Sbj?Fc&Y}E>VYg+iBD`c?_um2PK=0tXxhqlSoRE;7yWf-2%%B?mvr~CC|WkGt&@T zP*WbRwiIF~YCbdx)tm&`x}%&ZMkG-LYpcScKo~cM?zx^kl>$UHJc+8t=MP8cXQ!#k zBwIsIT;^q=nhB19C)8rbMVd%Y*3or!2jUKN&%Z|OjrnTDBfn34KWtR4?I6@f}V zc6CHBEDJ%rG0lBzU>b?UpVwVhr;KigkQ*~V&2l-cI!@y}EIN;GG2;Dl3;t_aR~x>T z$aa*bWoXdj(`{UcU2;VX)N{IHL+#4~t6P>X@9O5j(e@;?vAv@;&TDMyYF-jv*0zSzHWTf%-f8iajW5ncyV^U} zENpM;SX9~CW_`|H1hReaAl2+^+FF}w$BthMuBltI+(K$4q&dAK)dv%hqWG3TOAQX& zURWz7HV6NwgE;VyY|FKSs-yM6KpQ<x!UG42%OMGpsn$~1RJe?48SV|HQ@$Hb- z!qKO zO)QG_q0P?a zqvy=4#K^B@i>k4{Wj5iS%Kc-j@O|XY-nOP^39l{}@$e+l*0scsFETS7HvbRbrfTn4 z)EQmU)RA?3UdX*aP0$|EUe3KgO|<&ui!i7zTYtVra5>mzXyCQuvs$fLN9IjJ%4tb8 z-yiE*lTE01a{oqltv4nsl)%G%0k6ZuUVBGVM_Pwgw9R7lYh;OE&-Or@Mw*cE$g|lx_1GXaY zoTf?|c$NVfAQEOyS{+{>8rs`dEN#iQQw>mZ?n`z`>0t*QP(VmInOn6>+Pm7TTNg6z z^(|VI?PFbpnA0wrh?osdBe9=umJHLs~{M^DrmjHHM!qXV|y1gvbIT1HqoI5aR!rM06q z8_ZCG$w|ke%UfESmoVF9F{_20)nXm64PoYFu}0Tm?ct@qML1i~d^4SD*+d;husP|6 z2^(15g(K2~pkoMeZZ6ZM0ev9t(G?4s=VM_@2Oc=l4VTTT88DuJb5cA!w0HDkZVs44 za5;^2Lwm3`TL(_fU8=_RjkgLho!qWz*uW-6Zb_9s3Fu~?;o23Dl>fe=hqT$4)%$K+sPdedbpc^c>Ag3*G3TJWie(#dh}{SxhXpP9b|e1fcvFQ++T0afwtPjG=}qOpF#^uP zJJ&dme{VuRt}&hSzAlWPT)3jEg(^Q1|%c z!MnQJHq;>g)k_F5r$s62-PM47atE;{22=UJO*MN3=DV)O~nO;5s|$bc>aGxFxObS!IWE5rG?qOE1^S_~Sfk4JNHwyUUR zX_l54h#27kdjt0C5flU5_=Wv|1E}S|ETGBpd;``|<9~3;{=Bj!T3xB6v&5RYBd=C5G==_wYmi<(TxL+ zBI;2+P}fHyjAhDa9ZPg0GSXqN7{$h!VGgz3;VJ`8AgYO(s90zt#z$dbCr003z$ixP z&Z)+@gT&ap0VfmvxQz4|vBBaNS`}l2 zt|sz9naD9r1f!>8bqi`OX4g^cftgxUn03-e-$;$O$=JBAiXv>w>%!sc#Q3%Ww`BjE zgs9K}eHzAMvv-JCpc(Jz+lf45=V72FQQ^F`rs-YOd}JmO=LG__73$Qp%A>itIcPr}Zy=539y zHfgfHO=O8HbWKag;uhw%C^OwZX#e0=8^DwRT4dvc$h+h{qMwxTiP`BZV&%b*FR~y> zoj)Xi#I>Wbse_qJ$Q1=|^hGd-quvZCW-~fDgJ8fXM80hT|8(;D5QgH$SA0uFvXOkMNxCZcAB%zanCs?@7cg!jor7Sc^ALlHncpEs;*{i4^Bj zC5yghp?lrJSd#xh2srICF=vavNrp>jB%G{kKNBUI4n0#+)<%6W7EkculK)23xLGAp zn<*ZF8r&7|`{T?lS^p%OQF*l(h|#ndN0oQ68Jmj{k35_WjgAB(=bt#Q1UeQ~z5ulv zBYKex4GxU1OpNa>%p;m{iM;$Qs5_9rg{d9pdN2TUF2+BuP#|JGkr-q6aF0XFgv?Cd zP^N|>lNyH6Ua~Z-`;!tjg~EIyD@!B`%n$hM>qx1rD0$AsNzJ#;(wt2YD{ZP!rM9CJ z+jh%~8TAyQq{Xl7=92!$H(AX`s6shG|>J9*PG~V+KItnp`*}U9JRTiu6y;>?s`H6T2iv zG-D{o&+6ilJ+U*#F`jL~hki6sBz1#115=jn!g16vX-ai}Nw-`acOo_4CUHQR4zU#m z8)L3Q1J3oTN{r*h#g7wBA)*n9MBEtRpMz+Svy$yt_d?7!xM_6a0D}wXsB#Oc56#iIw z7_)lO@bO{Vtkr%cwI7+@zBU{T;h8ArtH(7T^*kxRrf?0BvCd8rjLSog5>(I#8JUUu z;#wjdpHAwpt*%FZMSV0;Qe12*nZ3rp?;xTs%Zs++EtZ+hg~=_^;G7U@W?itZIzWdp z-uz%{jw6)b++4o8d*U$uNg0}k=p4$t5gEB0Nu=IPToO}A3Xh?7dUrcai?Onc>H@wR zF81-%5LKSbQthh`;bGm6c~^B2On7AZ-prH42~Hw{glC2)R2DY$$b=fv$RhWx_0so82FqxyPbt!r_ z@$6a`tYK$jj{ZHr?>h>eWD9sta-;vj?xaNd# zQAjX;YXUXlh^6h96R+|jf@vXr^Rj}lg>?^v`9 z#_Y zd_ZG4T*I_46sRNTF&YUWQ#&m1w>GttQA zOros|$K9LOUik5r>JvP3qd{S%kr#eOz?(2TQpK*1^7Qw@F9~xjc11@ko*3D3Qia!7 z=;Fe%31)?o%Id&;X0736A74T`bZ-#Ff5aHL8U*zkVWs=?Jj8YixNFtMQ5zDb}vF9A0#ms0m<&1@su!;lY@$ z_Lw`h-ny(Q{FP9~q@mQY>K5^@#HF8Xar4k*3GfGzZktAG36PEF-&qKQA@;@A{g8Ej zu^5tJ}DuxfoWvK zfXZ9p#W`-&(mYsp=$L0Mqxwqy~^cPs}`=V(XM2QQ)WHG%%9D61;9-Lhia`anP zR?#eKKabJ~$}p~m0#Y!Z8&kJB*$EUQB=>9Sz#;~0kYiY(4p&U(e_@5sc0tbwZq#*n zmdC%bx>A)GX~8AgiI8U{BeMbl@pu;&9LRCgYiCt6uL6fE?*r8Q8Pjlh*xe~k1avfD zDLAx#ttBr&P?LI*idFq$j#Iq2M+4fIP++B~iU4-V0l-?fyAK!1w}eIW2y3UlVA0ma zYj`DDUqvB8o0tPy#R7Crqp?Xb9e&=+JLmjm=Ej0sDO#1>ThAQD5njZqs4nL(GY5%k z)1a=;K_4ex$6$>)ECOZ?S|g$LHkH_*#dlZ?90~=hS;ZFan&Kb13qg(OrIV_w8){rdq|Dikb;w$6gRjB@LrP zs3u;E4~NI}IWaq(i?bJjjp+r9eNCkgtt_;~c&VJCRwA9618H3q+FupSQOhDa0jE9`31j82>TtN$lA?pCd(&gHN7;~O>Q&yMD+nu9^Hy|r zwJ$9*%XhVOlvTDhv5dZg!m<|Lf`2`6=)WyWD~6KwnNCm|e|=}W3{ zS6G2X7tj{QIpN3ibu1XgDmHOX9s2?A2_X7$$zzgCA6HRdv?hiXYVfpI!HEwg;*I%!-a9!s$H`QY;q* zxA7%6H9n>2L_$eX#^jHV_ZaR+xIETcRS}C$A<~pZp_|m4yK!Pa#nfQ2R1Aj1YY^NW zlY=*kPA9OGy{H>3VR6Of8TA>b4qdPCBPoW&R9ls!iq7gC4bS|zLZD`$aTE_ZtBBt@ z;la?yB3t;xIG50-^wiVcAPf(!r{qiXq6-M3$JvpQZbR>^<2}p_E9{n7CEju*nH(1r zM9S)rv1e<2Sfvmv6jFSSwNhP1^eJ0bGCdunar3LUD(n_rNmN;tse55VgN|L2pnoV~ zi@1iUx9h3L&3!IjxHW#;8NV$}7`p2TC}pwd!sA7UfAnZ>1p4RC&#v7!5sojjK*>0K z#xn;4?L24)n1*0?WyYdg2``KCa=e5|??*K2vc(#jI|wDq&}Ko2V2BN$*mo0sb)UY9 zUof(zs0V$%kDwc~LYp!2xFMM{!Mr{Sq2WPM4s3}xi-l4wmE}5!$2wUZ@E~!SlPec9 zf`XL@HJ##oV~=k}yjvb2)GTWec5904@d1yAXIR!YM|+&mrsXPQ5}Ng)PZ7wBTtWDU zva2Vy32<4SC78;rFyV!Jvr-%@TgLkN$i(HrIAT9DiZjf@7YKBAZlDQsnjq6B^~(g8 zVi_f^7mEB3aoYGHkc6p;&WYkp85ih%LJ1{*S_%s5Y}{7R2xk|BxalSYfZ^#2Yn-#V zQz}|+mf+^#9}#%Uj@KQikknJS$oc2R@G#Eq9<4jsqE88;Az8k9%!uBrm0cy5w=8K| z+1lQbe#plN3kqz+puj+tuOY~61?#-eoS;~En#=hGG1+AcGYQpKSNqKL6wc^tVw5r| z!AE2(Wgws%=C5S zgpMz7=>>v|ej%uoNyGz`aizlo1!Zk<^V?dh=>zF}h(=c}-R-b-22%&no=Vtze<$#& zVvM z@3Mcpg^N}=Ue3nHrr1R&<+;wLgdQx%D|O~5O!k@{={DgAwN0W>?^S|P~#)GT?cTH;)*qf;B!_i3*KDxA_3e0LWvnO#p4OE zqR;a3+V*BxUKNIXbMv=&5<%|VXGl{<4vaBx7@n5UEf)S%!q0hmPU!=Vk9JmFn4OC( z+!=(M^BR){Hxy`OH>rHUwkOaOze`T4hSk^2D9?HxCRw~Afo+Q3^23vP*5JbVHmfIj z#H{Js!|QUZCo2edey%ehL1nuSkK9YZC8yUT%&2xQ{v2XczX@z8qmj)ndMAS!)!mHE zyKBy4F7XI&0*@%BG5N#Q%sn5#rz0>h5^#}R!bOTq^-p~eH~vw_?x0* zwfMSC4MqXrD$56aHv-!u*8yikVjAu^nc}(f7?Z+vgDo)DnSzCrB)$1j93y5aN22T< zoWP7f4a1FBx{zkMrtAVUozX&KG`BBbMOHYI-!$>bWs4Dyct*u@9gnOoZXw{D7vqGn zt!Lo_7=4F+sRj(MNj}3BFCpBVXS1alSOTA2H?!19hKxrYYgO8ZAX8i)J$E+sL49am z2;&a%!`Wo9;Fb~GrkG`T#T39)bhFGrcWguPzMCu{xd!-D;4`_4;QGF}#4}uRM66r& z;#Gu|^Ujkn93&dcg2v^~@&y#{w|TN*sA|2n@Ex#u-NvKddAF@2xRh(lglUrCg{JAz zfMICtf&-(XEs+lCMWj@W3OtUZHOZ`DEbCBLkJfMn9@4o;hZ9_ikFy7n(C>%t3<~;B zcV`zLMQGXQ1qo-3V3JIhZ=6eZY%Y>nSXIFajJCBtkxy7lrA{EU%+3;aKu+zp2*#OU z8aH0m#(ek^;(}<tn1FvE539Sr6zcOm`%4*uGk!@6HYBm+68nkji;{e34e88q_#BD zyvi|67g~bI2t>1$_w{uIoBfR3b6>NJx=MTwD~44^tfZ0R8woS}W|9q)cS0x}z`M^{ zOG$6p#Gb`BhPV&Vni}N3G_5G!1-BD?c2gutT&ri}MztCIj&AX!8GIK(We6u(4(=1V4VA9)XesZiao{icQJ zSaa}I;*fM?*(?qg@EZgirsst5l|+2HrhRdD=v6|O())LKM?lqE*x?R?9xy@JdYll` z67Yl{N-B#|{5GLiZ7RB%#~Q3*fz=6B0gB%v*zNiVYYt>$)K>9_1hixCK>S7&U)jW@ z#X6SX&J#AQuKa|+X5|cq8x6iRiFYE*z{OX1gVokX^Ep93uLsc(td{LN;T#K!VZS$+Qlv8ml;Hr3&B90itGM?U>(+@lgF+|L9b z*;IJ$T4Q&rTuR@cK#XckyKV;5Y-(mXP!t@ z{12g5Z0a{8#)-zKYDwPaLGr#%7|IfXAgA?FO1y=@CoFkKmdFG$y^kQw8o<-Bg_2Jw zJNFUAT6^iWOv(mhSJ>$D;t!(o-g6TECMyNI3$4KA9y6h6W#>T+99|{(hD{bfK8xt> z`tEWv@hC*jr2ppik@;LE-o?|5MaL=IqA;eJ8(t+vgkQI*AJNF{6_(HDpU0kV#d=W8 z%bm1%lz53n4L;k1#SJikWG{>zX~mlT%UZBP0V~OjmP^vJz-D2yXlyzcnt3qd=P=p;uUtOkXuIE0ArW%E$)=teligFFb*N8nY}|H zjFpVQ;u@2KZA*p|&fHva=3|N(rlOcT6CjVcFM$|W^qF3(;}Z8#-j0$@e@=y2dIoNlqZO?aa^)mt(*ChNFrk(A8O^Mng3~vIrw?YObHE4z`f~-W3szw0Lj4?^`)niSu@cNr%Mt4daYn9) z-5rRz{umj-VdfJ|Rjx3}f-!THRYYbz7{H=Se(QU8CD?iCu;#F$j+tHy%&Scw<8Tz0 zNCbBSZ^rm$H^11E(c1Q2y*95gXA`IyuLR&AmTrl-V!b(geFl%}cHsLxXS$o+n4Kr=RQ6iu-;oroPcdDFwD*8 zt7M^(3D-a+2N70=71hE@@K&a+`ZPy^Kv6E7D^jwjfj6t-7MnG=~J z&-ki+(&merNuy3B*q&y8Y81aUO|7zn6ynKtR?^jOTj~tLrgwvq%`&TZd&kC%L zuX=a=h?27jcYY5V+dD3%akH?=04sCC%KTvjc>rq#u-HW2h34Zg&Ht_@Ss@vL=E+OomRK0IwfLB%iS{_+m zayg;*v^(_;y#W_#9$i&(6@mA(JJl~+!OH2d;ty#HDK2>xR85in1s_%EuEuZld4fPDq=T3#`biZ6%nwXD*gs9=)6>YU_k&ED_$7~ZRU6MmbUC=KQ(B$5LSb-0AV?cmOfw(2F5W=`z5t0I(OI|19^v+D_jriA7*kD2? zX31MbKBYI_BsJaVGJ`Z({C5drOm7g(Gn{huSMmXo_BseGmcjJ!VA=rsXwzl*n1E*X zCIed1@zWGD1%0f7dn~cUPRVD4vr}(4rn5et)XJn`Bb#=QRq`dFrR!bF*rcJQBYl%w zN2MX9)>$a|o`5E$eIQREt|I)FEU}Ecw_lb%$OI6tTAmTd zMmWAS`RkWAx8pmki_0oonz~kC4Jtk=@lGvg6^Ei2)l!AK`;&SlIU|jJY3%r2*komyw}JUpzIwbhZ0LRn z!aJFm?7SJDfx85r`r?IJ%>n5?1$w6u{@l&LPtY^GqT=Tc?@R*TZ8LzecdYq?e`j-* zEmP?`$1Gx%ZfaTa;@!m&%#EF0J+jlVb*U`fv*U?(9hM+?TzMbyl~x7FZOfN|223U`%S#? z!gbU54|eg!`c1sZyQ_CM@9y3`K>7isA3^#Fq@OSH?&)pvF7!5o^b5%OVBZt$P3xw` z)Y0>s(P=WdwxgZZg$XQb?P~9cnLi^hLhTYPRNNW=xjH68>nOgN+l+5>^E-0(I2*mo z9aG0O!HQxQa`+L`V4_LPo z$o)Xh19>ZuZ6He^%OEQt+gUG_W$BU1*0!#ej(II>Vrt3ssZ*y`R!*NjY04zu)M-;^ zPM9!b(##ptCwBkJm;S3^ajLXmjje54fv?rocVbyQYn0MPq@uO6xvd>tU+k^oPLyNP zxC!0-W~TEiDW5rM^7I)qr%fuKRz7j!)M*nYOz=;iJYjlF-DaOGABpeJtAtBtX?>dajP>5r zK^8z3QG6biFt5Frc9eUZTghS*bCEVOl=vBoiL^>+iwow zz?XV2OO*V|yeHOsuL8MX-I*^5uWWVhR_CCWUhBQid%f@m$S#nbAUh!M;F#L9S8H3# zcH_s7XX@QK9-muj?ZnQXICfFX%JCSNv`<(2^6_ys>|}pgjGxVpD&s3V+L!v5G|YM(>@%IPcvctB^MrWQ|SlAqgX&tdj}K?9JN99K;7$S3C%^XWf}xfJeMf_nUZ$ z_fhX--p9R9c%Sq>1#*9o2Y_4%auLYIAeUTXJH-2J-uHRmdtb==9`d#Y*}LwRb+>@5 z<9||Q!(Lh5($Tes&32sn%iEgPV01U?hnFux@i>-vL#)^nQ-@`hI|*WFLNm^%p{Z>} zGNYk>RE4JH%-KxJSjL;O=$@9v?H$B&>jbRi{$%2s-SrkN<>uet&D(gbwpGCUp7(w4 z2i_08A9+9ae&YSq`67&- z`c!?IK3$)o&(ycmx7TOsJLo&=JL$7^pI)x}^$I0Dm|#r)#vHedW{~^!+Nd0 zvmVi-dYxXcH|UM}e0_nwi@vMAo4&ighaS`S)SL8$db7SrZ_)SC7wb#(R()@MAH7Xq zsxQ;q_2v4$dWYVrcj+timHH}uwZ2B*Pv2i(s~?~rs2`-S(?LI2KSV!NKTJPdKSDoJ zKT1DZKSn=RKTbbhKS4iHKS@7XKSe)PKTSVfKSMuLKTAJbKSw`TKTkhjzd*lGU$1Y_ zH|iJZ7webkm+F`4m+M#PSL#>kSL@g4*Xq~l*XuXvH|jU(H|w|Px9Yd)x9fN4cj|ZP zckB1)_v-iQ_v;Vn59$x;59^QUkLr)q@9OXA@9Q7vAL<|JAM2m!pX#6KpX*=fU+Q1!U+drK-|FA# z-|Ii9!VFZjy zV~$Z}1dX}IJfqsEF+xVzs5N#rB1Y7xGwO{7qtTdeEHHL4b~Sc0b~pAgV#c0Eld;ff zHWnEz#$Lu^V~Npf>}~90v>8i{Wk$QP+}PLXFglGcV}-HOSY@m>))@O4`x|SG1B?TW zgN$_s7zZ1N7>62%8HXE37)KgM8Alt(7{?mN8OIwZ7$+Jh87CX37^fPi8K)a(7-t%1 z8D|^k80Q-28Rr`p7#AArjSa>|<09i?;}YXi<1*uN;|k+S<0|87;~L{y<2vJd;|AkK z<0j)~;}+vq<2K`V;|}9a<1XWF;~wK)<38hl;{oGA<00c=;}PRg<1yoL;|b$Q<0<25 z;~C>w<2mDb;|1eI<0a!|;}zpo<2B=T;|=3Y<1OQD;~nE&<2~bj;{)SE<0Io^;}hdk z<1^!P;|t?U<16E9;~V2!<2&Pf;|JqM<0s>1;}_#s<2U1X;}7Fc<1gcH;~(SS(tf3R zrCXKSN`+FfR4SEAl~Q|YerZ9eqtsdIDs`8trCO<{w14S<(!$cB(&EyRQg5kVYLu3i zZe2RCbWmwo>EO~Kr9(@HfoyRL9PS29^?j) z8$q5A@&b@|0eM%DcLRBMkoN#N2J)UDH-WqmjqRUoehc@4<>fxJJ+Ye7B$0 zJ_O`LK|T!R!$Cd*P1>gM0zQwgM0(XH-dZ<$Tx$03&^*Ed>hEOgM0_bcY=Hu$ajN$56Jg|d>_d7 zgZu!<4}$y<$Pa`32*{6u{20iOgZu=@PlEgu$WMd(49L%d{2a*7gZu)>FM|9M$S;HZ z3dpa5{2IuwgZu`_Z-V?5$Zv!E4#@9<{2s{fgZu%=AAOgZu-?KZ5)d$UlSp3&_8M{2R!>gZu}`e}eoM$bW6de=;lu}T(24x^9gFq<*WiTj1Kp6_kFi?hrvJEIBKp6?jC{VTqWi%*bKp6|l zI8ereG69r{piBZ~GAL6(nF`7@P^N=21C*JdYzNBrpv(eg2T*ndWhYQ(gW?0F927q& z6`%w_sRU&XC{>^YL75B6JW#4ZsR1PfN*I({P<93-0!kE=I#B9CX#k}Wl=+}60A&|Y zb_HcOP<97p4^U#D>MZoAt>uX*#OE$P%Z-HVo)vtyYEZ5L9VcuIP~HONZBX6;AegNf1P<{gCXHb3t;l+DuuEW;~9N!M-)v2ZDVN*vr5^80F&ks?5W@QrMZ1>077L1u%djf?W`rhhA|0 z#b%KCu(Y=3TXGas#$U?eBxVTtkSrwTN8uZ~LH=l6sTnIiI+Y+Em4O!|Sib?&yC`+h z)H2S>j0jJojH@Dh$A>xeGd$&8YKD8KO(knJvLbupGZU|V@p=H`p1KR3l>Q&~-UB|a z;%Xb;UEAQjSJ*NxxJoN+*RFcCsnTj?3#*~x21cxDDmB^rwUFguCwZh5NQMxuA9z8v+NX<8)*icaE4Z9J5oZ(+(vy5^?g4w|KQf>G{G7 zJEg6P*8qP8SP3{WMq7pBb!z1z5+DL=kf=-3R^eZLP;y%}38DHf2)7@+`q|muic2tf z=RuXb2~tEjRHsZ|{ds)+CL4E@)!n(8FI=Zn=2;VWUKawO%h%c5ftr`#(F|>A5w6h{ z$xT2k6}b4qH%HfY{%R>7uoNFr0}y`D`y~T(Q{ZYfI*Y#QUY!2ph2zwKbn}Jpb8#}1 zGUCw?oVkiNDDTMX=Cbf@t~UzfvT{c=04+egkIv&X2#*F|J)95Kcb@PTnw`Ys;5wp&$MQbLglnyMoTEeUmN#E`9nVk56%QyuZkMV|5FW&tvQkVH zHLGw4o|get=a@8KIQP0TO~$xkh`^L91?E3a}tV)7w)jq=`;i3h3ihpr#6q@ zjN~yN)U^nqR5ZycTx=}~<>HsS5#dX?sHp7~&a#e7**nn75Ivwv7vX%qaEY}g71AF4 z(v+p{xI!o#UlY02$gg;IE``IEjzA%BRPuz6>)eEzR6Qu6i-q@U`iu!3EPPY*(jxNi zrPwTL^}_vhMnYzIOY8L>;ar;7pDKmAE4cH87in<;o_M%0+npbo11V;aAj*lyXL$yU$}Ex6Hvt<$ixoe#pz5aA#S&~V`0z& z87NFu$r3J`_JmTn2Hf7YB6Atxo|#13vaxCrE|`fWR&O$nWhkIzPKZl1UwBOVjLm~7fX zqaV~3j}(H7ExpT^c8&~2oAJiQP!K-`hX=N_ujMNW-mwf1;!sW{LikT+f!N&L-Zi1g#MTy4$*;ZV8n_#iD5E-EB^ z3Y0^(E!|s&G$i3Zxp;h}9tt?CAa(Tx2ZOEXwzYWhxmUOi^Da;uDf}g~U{Fg}PqTj@ zxB-JfEi3#WE5@g&rK=&(chtH_cx13&&tc);SUo;~uc-k=2h=l4elDsKAzT=<7%#q- zrDDVh7I#EKgMFc)zyLW}sA$4lanbk`wRJ5S*$^1)#BAl~^S24>5~= zhY}nZ8SGmR?}K1)Fij5$Z^OFrNz#zCfvD$`@F*-DA4ZJkw$K{=Fcz+YS@cwE5Fx{S zfgx^i@(*&>^sBrTj(}MVm$t6-og*CmnzCsEryWPu8$*z#jo}TLp5$Qy|AW3rh-8pT zmGJQMX9HT_$6qzVEboqBI76Y%geiRbvKW(XB1W8lBW6`J6Pj?|%RfZ- zUSB`3DX=9YqHx#CLX_wbI}lcHXnime7|2AY@YUNn)aC2ZQO)R_U?x=ImX{T(FED`B zDiDb_jSLKk&dP);T=e$Orq?ypOjyD@uVtsOmPcTf<)UzGGKEiHR^rG9nHULVqEWd0 z?Uxme;lbfRU*_Q`d;+tYFg~;r>(D?ercD4|UKuBh@ExqrhCIcEs3|;vshz30!ox7D zDWkgcMaM?$CZEMD5jPDEgaiHKATB4wEc&*+ODukw8oMf6pti22Kwq%AF%!^g0?Miv zngRm@jX{2}09_&z-VubiB%5B<%WHT-MsYVWqeST22{J>2&@V%Qfks5K%tYo|!pllp zH--B~qWrGwNJiNjBD90DY4qZyP4J@{>~Dc0o{6}D>>IlT!Dgf5Elpv<>&}Ke>_i5J z*Zbg_$mg*5S7)#<9O;jCtq(*p_D>{xehSbr(MGc8r$Fl&>W7P3CVp-vxGeNCD0txw z!KI;$J##D}WhGLZ`4%cPyd@J+CuHA7eylUl798e&qM6_r!8K&l$LcB3*!sfB1lYFo zfbis8zCJiO<^q2jfw%7rcsDkC;Yc8o!qCPL2_$@@s&_vk^sIVGdVyHA7>BN8iMEa5D#FO3G62Xmc?3!%}02w zCFKeN%4YgD`S{)}vx;yPA!RkD+k%0}nk~(PaDj(ngar?eNrpGIkFi9J5_ncaB?UYa z53eE2tY)<$AC`p&M&K@=3Gn)?dC7MvW38Y!5mHvl5#n49hg(8x`0TCk@6SZrt%R7> zDym1!1a}9)WwnXu48j?mTj0juMEsmkv)V*xsF^7I6=5}IBM5*M-pF^>|4)u zmvw{Kk!03be?ypAX{=p{a2ecC-;dD(^({gNZJ9{@9l>TbKLo6Q^Dug33_|}vhzDmg zT$aHG67CvV!z~|cf)Q*uVTQ}7)%=lwvzmDPg2#C3=CcHsRbMX)H+N)W;0xJPwLBad z=;z~kjP2&j1ee9C+tb_`JbEM)!L2Xc&Vr#jFcer58o(F|M%AhD8i8eDCf2}6vc0^{?f4{MT4Gm!R4~Hz zc5t~RxG^}OlJR#!$zqiP86!jd7$DeBE9+WpP22f)h)1;w4{Gdvp8&HE-QxlF^3cjE znI95r^Z1R;0+lO1D(=UGn}vR&;YL*hL_;LJ2{TGX`ZQY#(H(-3(H1;+Uk?RkBaP3d z2!<}$DfUAeKR+kjEX3wwpNi{)MTlRGGY5Sglv#`!BU#hlO$Hy(gIA1?J4BdNP!{V$i`LieIGDrSQwI;u>N*B6gOpb1O(w*wgi^+{ zt2{Y-5N%-aX{;A3c~b}^iv?vl9nYu-jKbt4HqQJt7qwy22rdiJy?m**h&JNp?mE~6 z=%hz?CXzRUz~&j31|x&P0gHG+<+$TSq$B-<4|)4g&iNT~!i%$0b=b?BJ0>U`+|&d6 zyakjqF9T?zKVP1OG8Y(ILWBJ10bzEv7(mJ;@0RxZxHo8?mGT#+%a5mneJ#xhYLU=H z2NftySAZP(5ZMJ!s&*^k3zEDW^W0S0Jw|DYD25n5{!U%|xI8bFbEYkaICiKM4jklb z&=L11$}6Q(<>^Xs*GBk9!I=i$H!Hh%z~;p*@H^mF<-62TR6*rS(w2wE2KQU!PG9ZI z#WR$|EUj>L=B9$PqOj^OqPw7)Z1jIOY77hjoJ^r)RG zst@LsH%LX(PHeCMt~)$;ItS&vqp4(Co_G2AyRhK5m~*{;+}u!kG)%?P4kWc_69&>I z%5P1_76hAx%Qe=G1W%#7V=_0Xr%mgHbmHLn%uNC_v~k;7-;pp_V^mBp(OZKEgu%@m z7GW-ezJ#UO-?`XNLRslVl_guLe1)!wnaksu@n*aww=!Y+pGpAw$)<*DIqoQeFjCg-5KEvXb=@*4t zsF+1xOgvmdlS=cdSIN1ZvMd zS)ebejrfkG2-e9T>WN1Z%)2|4s`!GCq+s4hd97)&oUL(VAVDTSmP(hdFx?E`*9`D7s@fNik5yelMKogQqMyd%-;Y(D=*PsMta(pS zi3B!?5tuBxpP`HiLn_{qI9+Npo~P^%eTVQl#Kj#l<8H$;jP)f=@cV`EQwzOBg`E0A zsy?E+$TqdN@MTQrp`G_Cl`7PiiZ?+mukZTTQ>#fg-IXd;;@+TAc6~L8w+Ru~iiZ$v zYSu36<^7e)X8ZXL<({1`w_aMkN7-x%*+{7IHY(Rmk_Od3s7OL@bo4YJ?4{;< zoQALeq(TX@M+kdGnu?1pxLbnVn{Log_?M6GY3OMuE< zFS-bmpox7+r3#ZuiSA0PfPF&+tVsn_1u@N?vb^u8M1E3P}xY zGo$nOqH^<-%JDl{q7a0NGM(~sDQj}qQ)iD+!E`FcdlIqD;cKDY)%CY6;qS}vXQ9FD zcu>UrSyZARwS=#?fj`{`#it(EY}Gp(`Ew}0D>Z*dI|ZiYk+GNXd7f||Cx1Q_O;K8^twa- zL6jRKQO%9zhDR1fs7qQ!`NdN7bcf%kUvu((RBW|cOuW=(>4MwXn($`4J-GyT7jRpk z--62@!=Vj$Vgh^D?&el{VZh%(3ahxujV%n!NO8LpB6D{(a}81(O-)o+(+^PB!P>qz zzxfAi0HWw&9zZDQlwT1bTb>{i-4lleVA6tb_rg@*}_i>DQYykz%j z_F=!)scMS(hZ5|;KL9LtQwW=__21z;&56|6L-*q8@d0ieRC_N#$h|v3avEeMqPT86 zcks6oAQ`&FUQ?~DpK4qFgVd%fN(ji@40SyoL?M42)w2Ii)S`@b=z~~y+Zr3%)s1ET zk%ZN@^H?MX#hWO&Ex#Pk_u*w6D8PK9pt55Ff$z*bR|rKA3~2QbAxdYcfI|eh3v*FV zE#6my>X$@nl#q8}XeS`|bn&?S2|UHJ8{jc- zfi@G5Bg|bG4^WoHV+C#g?&WxRi7N?hVs>cYC+;eflf`t>z3lvxc9m-ErWQlPT--Yb z)u#}6`_8jDnQA;K-QBK+NKuFM=|2=tu;+$Cp#>hvKa+rWVRR&u-P5IBm(M?kFpI&8 zNJvDK?YqKkxwxu^v*-T7Q>rJqBsNH-s74>8y85@gC z1mBiT$+YC&NhMP|Mqv}xnU>gJP{D!}V#OYUiYIIz?xOszl>FLT+PV>d@uc$PUMiNC zQj98~a9B8KS2I6AnVsn~^LMU$xOSqR-KwP?8mkJml$!Zb%ADG4q6b#s=BAbUcZc$S zOZjcaWpM6=hnd(CD_#leTuC$@=Rcv)qc5UlA!EMYDxLo%Wws~aCuA1qW{6GT(^S8w z(^Md0hj4+PM9p)Q*^;>eVaHYZ^Wu2fyI?QS%=h`Pq#;EifYTzZLn`*4D04w(QW|g@ zS*KAKe~(G z@Um?u-t}CrQt}od@0W<2@?f5L;UG2Emj3Ck{I_=kYDHZQx<@>5$2apmbe^M$ymtwz zVjQY?lrU~M#lbxk=z3j1mi!M0VE-%tG`St$TqK?n=6^(32ks0OEnRBNuSD(Z6GAJ` z0>G9^V;3)6XbX-*#I-9VPXP$WSQiS^oMl1<$U;6axzGYro zj*MAewKFH+?t0aTVJW6^ zMPrpClO73M{^D9d_WY0#m|0Mc6qmC`<;$(XjN!Y8z|17cZDIQ8iXO2kn|JhxZU$^$)s>lj=o)H-Dq;boY-DxPl8`+$biVR6`^p{yp9 z3|*T6r4ueT>cBpN%D3!PtJDKVE{evO&wT{FJR`L5spsL$xI`6B)xCI!O?WeL5wC>N zhZM#0kTCP83%jxyscZ=mY6e*ZwkFZ8bhzT4p=sMH z+5n-|WJ_ZLn%2-Tfz)LSqBfKtJ@G|Ar6oczO&MX@*YH=+a9ya_r}m6O553w8r8vzf z93jwyvIEtPX@X20)SC$|Ni)(-*)%lLI!ADcHh0Uhgtc#Wq$Mm^YI{}Aoj^!Qdw{X2 z(sORPzh3JEMo>v}AHhwAB4Hj!itG2B&j_H7UXO_ z_a0Fj{bMShG!)a9?uYE?dV4r%XMyhLT@{e~9D>>v^v0dX1^%E|=O}zawP-E-)6Z z(R}&z!-Pk^pW3?;zQ5sZm0L>Ro=cvxLM1X47hFn<@_X71^qLDCfQxGnre93MtFJlsBV&$HwkQ4 z=B>JU5_=7mxWDZdCsmJGVcNrSxz3)h%@?Je9q@5dbw_$m0im$XAs)~(_n6MEJf zfi~n6frhKxo!UtIl(4d%$vUPh8<*4>@i{>zZDg|=yj=BBz4)s z?eLM-gn6nQ{}18s${g$HtY6#;F91kcwZp$Bu*0+MaNZ?CamQd%?$&c-h2l-l1&p?* z;O->;&d#`HslY^)C2ff^Ggwy{lw&Z4uM@(8NC(pVt|_-BrdBkGDmr*)T18qor(dY} zWU}prTM;H?Telj(zF;x|XDy6%ecQv`2jG1NyVNqc*Cg)Y3S`2~dNgY@10nPIo|#rs zAY-eeN~MA+1es*|7@OI|gPyjfZSXrp!}(y*;HDAWuBc@=V)EnaI$5>2bGS0}3TEsw zfn*v`hk^>X55euca8Yi!qDTCyi$lR&!peH((RBxr1~~=)UZ{C0Z3}jfHn^(xXl%3W z9@|u}ca=0N!6hAA>V}EV3Qfaf8QjqL0SCOIHIf|Tkd%zki0wGENv;he3`BPiwBbf< z(p8e&1eavv9D^j-{U931=|9z+UEn3O%;SQH(|Rz0Ce1dkQdXJ`Wg6C!=0_9i$e;_|f0v3&_KvlL1u4CimqBjU?nm;aDnpXSO~Z~(z2 zotca=G;nZIwgTg$+m9pJ_`y>_J>g_le$yCoY4nRbZo=pZLp_X?a0ye}+DM?8jY^q7 zb$9d?rHOnzRoKM@n|Y6w36?CgnjWDr7FrMPE_TQ7=oK8ii&PW5x|vPUQVLpkhicuf zg;Tqd&ZV*IiVygXouOKrk^G2vIoE@QwT+*$U|R&WRpoUT!DikgkIicsfIFM;d{!@_ zj%ep;1~|n?$M&P#YR#z7$%N%7ViPKC>#4K(5AF zMX81-v2ZX;7{R>+nRy$Z9+Df|p+NCxJ5^Yf#x(?(S*j!e>Xa~QH-9$^!KAR^RN;aI zmw9KUgR|h~nFVJ}>Jb!41%idAq|j06p|7qb%^iBnL&18gqcfvQnpGXzY=&tAu7#X0 znreE~4^aUQWO&qvMt=GNiH;}Tw6mdtL8>4tIh2-5+;0sgp5{g@V!nF#sAH|gM`|Y= zP4Efpv^dPPz>_t^r}|ri1;d1uFyO|(5u{xIjX}=>Y+dS|HTgxL-eRIbnz2mJk-DAV%m*b`@RRV{LBbj@7!T00mnKcF|74 zijLI#eHENaKnIKuq@IYj!48ST0)D?;y|AIN@(cpoFKaL?G=scIe58rKY5uZk1MH*G=0;+7qZdaC2jb<3r+H^5h)3M9d zw6r&%7x=|GvgxUoYy3=AohQ^FjsDB2g5|qgK|D$ccUFS|J#q2A zl4{xI$*wkoKdQKB)#$9cL-cMAO`a5LAW-6-LZyp3!xmclPH?(rPnp-aw$K;hRv&^rF|urCo1=DC;VNW6#Oi- z5#k;RrLzUc`X{k8#s0-VeoJ_39B=!LJFsZRfGE4IdZ$VFKSzjmWFKyo@(4 z@xobxx&_}Q+(u41?I#669V?F!)WY$h0Ha+-;C_vX&b9@Q6VAce;;g_GGk771m5K{T z;v*^Ki8o3Le!ok=VyC3yifWR8pCaJ8EGgy}Gr0kcqK)VRKNUPfFb8D`1Cs_dTr+JX z>j2LaT*dfsLTRF2Nzj~LB7nuMfj*%%;_ZN>VT`*{Tus72Bdu{IRC?^E8{tigurAz( zB{har!K;K?ItHqCqfdvc4zky&ba{JMy`sQ^qK1*sK!1E=AezH-2n{x&O>a>7$}!7p zC86u!xEqSE?xpsEzY@ZJ{5`EupQU~>KsBNgwTgm>Uh<25!f!!pv_u##N*RJ4B)TEkAGiP$MT*fMq>`c?Jc1nA2a zu)Dbtt_wYjG4}aFs`^UsD>W*KUlL+nwuo^C;;uhDBUG4g2xdvPFo}e5b(BX?<{b1R z=#o#;$c?**+;Fh3 zx2?;E!Gl9Y6>=g$90)LJEn0IqDcqCrJAV*-;m1Zw^a_n95>?Q& zYZcIP1Ov{o!o3J|;jV!$_Nm%NVJ_kLcNwP_=30sX8K3Qi(+RU}*D!H!qX8Qc zb&Mr@$`#Hc@Pl^^95;^mbx3UV$(rVadZ%^MoZaC>Ycsc?z^f0wvGG%f!uf>RItH=2 z5hbsyh5HlkiZN#F__(;n z&D|#bJj@B)SGWhcAF%?sZ=%ZagQyz3QIxDz?gaVzYOrJNSdOsDS|qSSAJx$DgVoTw zvA-P#c=Te#^R*C90q81OL6scTwJEfASbrEnn>p=}M{KuM zqZ)Vf(thW*812S-;h_X~z)r&n_q5(bu)_&#{}iy403Cun^}?PAyo$>PnBQ7I1v0cV z1C}3#hEALxQ?Ol%u`43MseRK=aQmepZ4iN4Bf-Hw#E=za!ED&s9(TKHg9PGxFm2qg zBdC3|fx?}q`koeC7!sjFy4qXF=&TZTBq7yggQT1iV>l#}vw=X$QbEKO{e%bsqJjF2 zec=!luT3egy*DJvD2F`SQLS*)|0II& zjt9Xl!%0Vfg{M%_aXUe|7Kk%Sai*L~!|4RHa6B5INh`Z4t_s%k2=2Z55Icou63&6+ z;Rs{Ba;cS5!+SR69INmgLQ9=@Nqv)omWp(Kc8p3vN{+Koco6|rq%=^yLaK_C__%NH zAnTJlZ!RH#R8A)YsMC)>cmWvzdm(u?YSQvD!l@pY5JikA2AqV5*M&bN4A;0Ai8rna zug<`O#8~b^im0b#`Y`T=+cWSW9e@(GJT1<(gj1hFf6q`~81J^Ovor+*!y|}6rS^)# z)CL}Ls0&^#OR%~x_Ny^G3U461*6i_mpj)@{@!JGX5U8!Zr+m%WC*qKvN8yZzLMXhM zu$S!yHc3(VGIEDM1Uy7+@Rc~Upyfs#T(?mrJ-bnf=J>>qX5phls~4Kntm!;=QXQ*y zrw--XJ}z7GEqbQ4@)uN5=k8Rb1gOfe7~e$|bniw5ije_s{%}+0~NE$(&Idaed2(9 zj%wJQo`zi-j9bu}kWEaB8?L{t!gri&V)WyU`4+64;O_fm%g}=r(At5dOit zfv=lqIHJ<_9e*O=!*&B0+|kAle&=JAi>cI=<1bWIs;Z^=i^qc_h=rXWJ@VbKw#`&! z&|8GmkV14uq;Y~96uwP>vwHA0adD#vJ0ar!>UR3`` z28l-;)Z8CY?gfdt6%_()M+EQX+C2Y+^3F@l+u9ASmV0l)!&kktUHBR0oSB%Dzj%QY z;O7i`8KxMf7Jgp%g`xcFt7A32xpP+Z!QN3xoBgifFb`WC_4kK{!x1&}H`Ymp@*4{O zQ}}J+cZJ_u4OXMoWSwB0$jp7r+|SHGW?sw8>zH{xGl!V@NM=6j2J0TyJ*|_iW~*eC ztvS}ctW%hIfSETi^U=&4Vdf|^4>R)!GjC+(<2V^kK}JU;%p=PP0(!+~$}1JhXSubR zbCO?4cR+1GZzvqaX_@+0t|xOzrQYVjwPCfM;xxGtHwD2+MxqI1(zC$5x!y7IcL(qm zq0%ZPdpdZf!D;%UH`kU1UdgYgIvo{Vc)z$0@1(2#2mIkXdLz9z*O3`jPqQ)t0%15pFRtqx^GIMy;_=wdSyM&pCc&E-6=-hl2TpHZs!yDj%A(+^jhl3lU zy}9|~Yqi$|;~PWKp@F~__}d1%5LQI3$ZaiBN9;ZcH0v9`xA-O<<)zlLM9M3zRpNtZ z`HZmE8lTu^tz+g*u}hzy_@e0w)8+VZU+aF>{U^T4%*QbE7G~bej3@Qxu3ig=oJFOj zrF@1(OY!1KC|XulR$km6+*k_NpreMvL#4_9iSl38MFJc6ZlSa(65ilj9~kD*&Pv7D zRQ@X2%qQUx2EVobx8VyezH-`gYQr0>esFl=Unai6j3+W}U4(48Da>9VUcMc)_7 z$j^4Fi;g*rcg$*LK1ts(M_2>aHN0a^Vdj&Wc`J2HB%6-0HjyD+GWXVRUOjhBUg;XOx7JyYOzN$pcyFDm^wxASK$9d| zx=&TWqpgv|P8_jr<}+@ibrUoHh?&nCwQjLuc%H+|*Trg{o3NK*>Vzq#t0v@HPmCF2 zUo!KVy}9eMVazxqcCbGZ4)rJUp_FEB6oWSqjRuFK`r1zxwV&OayY+vnb{b;AP4o^CzE`XlR^*0ZcJdWrQ?W`<h%vUn=Rm^-fGhf5Z*YY{D zPgIezT)4&GosS+G4Ua_nf{Mt??GFwILIa%O2&7>!(wjSbC=y&7gu%GKi*mMvqQlEW z{ln{5NBagseGnYQfk-gWo0}_;iU*KE`Dp4uAUfO>?i+zntw*NS;f=uvX90cxtaUqt z*beJ8hllYn6DknLk63%rlFP*Ox{gn;>zVl{u}gb%OG--X`})91Na}E;q>ukZ$Ce&C zGKg4jk!WCG^`W{y&l)Z>TyDMDdP{HajK*c%ts}$yx!rbA7j%go)?4RXHs=b%l^MPl z6x=@Nl5N&InE48}=cL};S?NjW&0PS^-ltrdXjfVpXQTC?fd>uzKXu;x%6eDgyt&tU zzoC4a^*(0aw$1tgGmr94n;P6agiAzXMQU!03W^@KKDy2N2s3YI<{gKWP%GzLVg2nW zZ^|msft=ZDRZm!dpIFsX)|Yl_l)Y?y#ri5n*`KVhTmNkR3p1lXZeZpcX_Vc>%r`Uh zt;~E|tVWRc)|^YO2Cu|F-WLBDk3TA{?^)kZr1eAVKjUoqn3-=;Yx&grC`R{=-rRZU zT3W%o!$$=N+d>1&0s|w#)XroTf^*a*8ec`9owwmG4q|V($(DS zIItnuH5|d1?h5hS@mP6n6O2!c8m1Yh$4s$_u}c*~ZIf*h=rT-;nYP(vX8wgjmTii0 z`>0_$KA(vEXQ;WS+x9Wc-fo*=n`xWH%)eshyO{az?Y7yrIkvgXd=E4KnwcMtmGOh=Nqkk*-`~ zeqMn}u*GJD6t@-d#o=Bo4x=`k&Cbjioe#unh&MJjcvEEaEN|;7;g6|7F*wfXzV)q# znE8GhlD1-7$+EVtM(9?fwqnDT&r*ppn}@3qKl-xp(AmhT)>mn(Nvf~bR>#Z_GV?>6 zvs3pzY45GJ{b=W~sJ7hiFR!hrE3Wa^))rUQH#Qd6m-~Fh{)U?RvigSdvf6TAZ)k|S zR7XP_Mg{`dEA$2;8)~XlpaXXoNF}@8*2u|ju=$u76Y|kfo8Q*N%#ShiZ}{}x4N`k^ z_v_y{43#a^7c9mI7cSx*1A)Ha`tSgxWwB^sIJyYxsQRJO>~K^tdnqxScguUP^KPLY zXw!P2w_Mi)hu97?%)ZgqY3s6e+j?xvY|CvcY%6W6Y=<)QmdJ<;mkT+i4U8}QtES8ym0AsLhF z9y_;qY+Gcw6oqIcNHe`3u}dWsCO3ezU&$;H53CUCUP- z*4twn9KjZNuPIY=r|rF>4L(VH>0D;(gW4B8tgWkl7$2+|84gCV7|xDOSlKlK^(_c} z=DC@(rtC9k9$!3;3T}z6!rux(+h)fmZkrpM6q}C4qX~NGi+TB$g2E|Qo894b;j=Eh zq=LHE(lI|O!HU-x2@OHW17%4dO1dfX@wMD~kV7zQ+UdEmJtxQZi0#8wIC4?$!X<^^ zhMs0#M*~Fab5lIt;u5UE`-pnuxY`h&oBWNgfwT6G8Bd-Vo6K8QUOjJnMP*gY9Ft=5 z_L|zdSWaxO*v!~;%whq-8=)2M&9%UFxtkNB9N4LbE?t({YL=eno+!eYYF|A&Ysvu! zZ96bFB{qZC-Qb@$>T87T%^hu89Ge!~o7XxI=;A0)*jmDo_znOK*1qlDG8Bw|lWWM` zC_aISh)%kJej+rhjym<6uDO)u8fV*)t&g~5!ig}ts8CqVjPaHLGd)7 z8zw`Yn`^Kc+=dE6t)bb_VmQRmWe6Ka496KxF`Q-iiQ#g?PYqWYZZO<#xXbW};W5K+ z4Zkz|-teU1dBdBAcMYEyzB8JQxyCuh`NlkBzOle)HSTBh8CM&RF&<}R#;wL58P74E zXS~38k?~UFWyULvR~oN2{?ho0@iXIB#&3+@8oxK~VKSR!(_W@r)83{Trdg&cQ=6&7 z)M;97T4OrOwApm5>15Lxrb}Vy*0Z-Qre{olGrec}*z~FC%L#i;$Q9$-WE6iJ z`jo$wzb4q3ajhy@eqp=MP<}1M;;(FX*)Fr)W4o7x<44T=Psm4RhFbl}wYK{wY_OMO9TQU!Jn@eUR;swx?~+*q*gL zXM5iEf(>fQ=gj;CGk?j{Do^b-(jMWn)5AJ zdA{dtnu*3O4-NK*H#J9_ARfD*xdaCf*FJ56xeYBV#s`pAts$7-VEd$1A<8XqZC#zv z;lmNWSEYRo*nt7g7hM6{9az&4h%`r+g`z@-;;WhdtK|XpyXB$b^<5Cj13?smK@%Bi z*$XZYM~;dPL2tz8e6yi$_UFW*!r_563Dq3Hze`_kVV!?rWmDb4;=1a_rsArahQ{KB z<-W$^%KC=J%Bu2)rt*agQGHcit)-%-)>2+kQE90wtG1NkPkC)Qew5W#Xe;3dw$Baa zH`@MT`_T50?Vq-fZJ*fwW&70jneE?9GBC-=BomV+Fli!_CNXIbChf_j$xJeHRrE_k ztL>RKP()P^A5>%=0? zKhplm_tCw%)9_KxaA*Lpcm>7!B1$$7Mu(t4h9mK8T1i@l4qFCWM`Li!$hvjhlrp_F zxFHs zZnfK(G>b`=n2$*wCRH)%ASSgiX&I9aV^WYwWH&D&Ghqqm9hrob5!BOMqBXw+hU7s6 z+wRRR%_1{bFQfcS2mA%Q)dK+y4RS?8SsEJFRl{GhEa3`y1ls4+#gXvHkSL9X2~grl zg;SbXtO5Oc)KEACHB(eVn-Qy4Nn03K_ORvVb~U^&i^ zr6s%$G*@chHp6T&D~)*%f8UQ$Z%Gygh}(5G(T3tC%}xR(7qq)!QaNYnJ4x-9v%l^(!IDgPWINq-@XGYs#TIqdVqv&mbJFHiU*Dz%9yv zKdhS@Yf5l@QgYOA?u5~4Ge-BGZdF%j>w^~Y>*&l`)`KDs(m$*Ropn0>GI^SLGRegxH}yUjD>@Tnv>R)c;6M5_$W`c$09qFr6e<;8#gt_S zwkd3}z54!5KxznLCm$3e10$6Kt8^Z2KZ5spFOwYG>;Wb@d7n?^(A;ttttTqf%t8BF zVYGSbN8?OzqF418B)RkPmQimX{){X`Lw1Edm+Ew#X?2bAcw9 z6C}IHqDX)HSa~psM#$dOo4ZiUm%WfLp_($Tg@O)o3uv77@KqDGWQ~T5%ecVgOBd#_ zFFZu+^R6sVy}8*ft~;SxsDtNL`_B#K*Vu2f-)_Idey9CsOsZ#61CuZ!u&ns6vH!y0 zHF)iJ+3#jj6L!SVf|{8`r_(babhJ}{e&{dcAK!Jv2Zy$P31QYgh~+TEgN*g}=Gw>3 z=^x};e1D4Aa`ck%A^RhImOsp-#oO$UGHJCkgc%0bfPOdK32!ws6s6~3W%|W5LQ?|?V=0j<$ zk8T<4Q;k%LuG5?QRA&&z^g+uoECH7AT8ndNWLW48gw9C~SfV3q)bEGa2Q9Gb>x=M@ z_!)5|)DOoM%ZA{FH3%-_jE-QVg z(-a!CIH9VQ3`NSw-K8>8URGW*f<0Zd1SiPkRaTPFDrd=PUcqR-CC$QDXw@xzXRjA) z88<4~3?+vB3`-5&hLwiHVUpQkINGooCZ!h)FB$%1_`vX);VZ+p#(iKo$}>8RZexkD z!q{w@Yg%BknB1lcQ?=;;0j8OCY>6wTX|XEwKDFaSbBFyi`@ij<+rMBEG`kf{TFInU zJB(`$F8enIZ)_vq`yL93hlP-<)EESPM{%ROGJ;6mQoh0-xP5S73r+<2!{H4B;l87y zDPn5@2T^kJWeYf*bA0;;gFQ?iV~HWhM28t9J0>~yaO~;8etk8Q4rdayz$11TM~oXC zImVILaWU-71NiHIdTXNa(J{j@3*y5ulSyl~Ird>vUpC^yF`tW%euxh#Nql&r$?nGf zuU7=+R(ZYSg{~ykjJj(S^FXKINjT2*#-5!L-@Yn0w)cY z+=80(CSj0YN*7!NkK z8xJvd8xJ?cUsHTRHPS&u6_UYE7?}W#I zP*h0fQ!Z|~)g$P(aPdqt;7+5sKgMgPLpMhS4&975I;tGiu``)8z@!baGoXfY8i%(m z!a}wvN-heE#L{Nrj)K@8E-HrsCKBumNBS34);5&YG*T&Y!IM4z6)X_|ej5-<& z_c19NBej2@K5i`u&=ZgtaQqC6h9}Mg=o@Y!Xdc8$(jD9kxn*l?^3_&W`~1aqm2i}- zYT(pWRy7q@lvP$&G~u6BHMMI0Hap<9IO;gqv6M+8Oxg&SQb!wHN~KM-;ee}C1Y=!z zOlbx}>NEdlh)KR0!;_~sw;&-WJcokoU>nru5$*0uX!kP53izEkAnvzpGq_-T#;}>k zWpb2@Z>3|o)v;Zi@2OO;b{xT}KHLF$i%sNlqkItZ(Z>O1Y5*-Tiv|0I_~#C=o!U3b zyyX^Z&61^puX99UhjgrWgd9gYj&ck*HaG?yVaJf;Xh(!eCot(mCdHVU!E-%nGmzw{~ZF0@9eZDe3Lgky2~1_#l+l9s@h@Ce4~bj)Mi00mG=VJkj*ksmT?pIvPH1fRVe`(^C;=_h_K z{(FwQJe#gCpKH3(bQLqb8v9esAZolB-VTmim~>%WJlyX16^^`2cbo3P+1Y)j`%MqT z{u=vR?Csb)vA@UOz1HA0J!E>=^swVTngs8~-jBV{q>K1$P{;Ixjz@7Ek5jj2P0z*t z5&JOq(RRmUj^CJGV$#J-x+;dV9#Q)f@KAL8o=HEBUHXdYP19SZzv7_oZIJqo>F=g@ zO{baOcRcNQ1|>f-on}74^a)!36_b9-B#4ZwV&BD{W2RSPUnh6WD@w<_P91Zp)-hLz zO8>%{{D$LA$6HML36pTLarqC!WZ{VF_?P1|t`>dDq${@>ABkPUwW2xdbW7u>Z!52B zD6jL?))hBZRYAU&H&hhY)zvO6u7{&m8P39Mn#$`{)_(2y4`kQ`7c&~SIlg7mHieZ= z1DxlaMyH8MqfFYN^`>)@(+u}HoQ`&xx?_*V9*g~E`-D1!%bCNB6Sa(bMwG2XzW8<}(ylWyK& z@ESicJ^~Rw4Ws-LMUa#05+)kX?}D31^mYa|39D#t?%c$06?fjQzA!&`wIqB=#o@3M z_hEq0nU#=*(D|9IN^6~S5qibBkV&_0bHdC9e@-r_;9SXNDn}$AVH$tV19?v!JHvf(IXN%s@>U@QY45X%VJOPB0u9rPI@Du$SP+a z%!STForgJBI}dmEI*)J$oNJi$3npR7_!X1xV$$7Ax`#>kGU+}X+|nN$+=@T6>`mk6 zw#pwglso!p=DB_>cG2)akjvMW(3%LB^TLv&NPm8Kn>IH;kd6)qHVh@^FUpj^qqz~0 zRuVIFn|fOCR`_Q3<1jceyDL+6-nofcGm_mkvL;IIFp2p~GeKiN!H-w?`9NZcjI?X| zjgF7%$lK`LlwgE%9^*U}`h@dX=W)*CohLX?bjF;_d6ILh^JFLVhF>%3K_)%Kq=%XG z2$NtYdyGlHVbX7z^f;4#NBV^G4C5!xGo5ES&vu^UJlA=i@e@U#c!Dbxkk)@-Ik_xn z7R$+JITp;o|Fh~uR;zs`UU4C7)r^vrKyKTIVeWuk$wa z-W}*O>3MFgeF1$Y@6S8wP%eU&;zW+NH47laMh5!1B zJulhw(mj8&=Viu6oDUlxVWyw+&A>~sOVVfq&d2sV!1-I}MzB7AE?98UG4?{)m z7u;MN;8#rGW~tFn+NC&Z*y0l&1R`rmeo(`V znDjSVxDsmMtCyPnbLY2w6n^3S()pG1Yv(u4|1jxoCcVQX5d1Ea-ec1H*E+v*e(y5u z8FQJ?qtXXV`k2WJnaRiGMOdsMEb>F~O>+BM|K|0fHKE~X^B}K@yUN0{8l+pQG^QH1 z#CP;q$kkJ5rC9tstkTw?z>0s!op_o;kto#q=ujAY8+ek;-_pKzEew~@^mS+6%e!)n zPwa5*<(lG}>dIx(KbZ6(lRje7Kl%NdgV7(BV%U>6z#SvVZvjRleWkd7!tYkKLc=dT zDm*-Zzak^0!<)jJ`;^;fBcW1p>aAqO$#-vVeOfSJZ@?}r3oMS2o}hkli7^`xB`Xos zkd`2rEV2O-=lRMQa_!@q2c5;0>zd=53*IpaqUvAUUGrTFTzO3Tl*uxa3%Sm05p@c? zh;}=zU2plfr^}-3w)tohCj@HER+qytd(>rf*_reilm0#Ga=Khh`kcuUuWu@pkKth4 zF_Uacs?|Xou_{=xtJ*O8I#-FS)K%sxcU8D5UGVt%f=OR8=_@9E&7^Obgz53^bq24i z7HJ{Uz6R*5O!^K#WCQ;(8JZNTE>I5<`-94qjY2SUH+dho=wrfSVp`&SCOiqpo8y!{jNuG{czd z3_in7a&2{;>^jADs_Qh@=}ex=g>(r=}ex%4BMmK_z9n1%=iKR(x%uouIu;|yOzmwwz;ln^4y)8VmG^P z=Tqz!*R8JGm^_ck^O?M0yXy|uoqUSrF**N#!4$h2)8?MkY1378yL|iu4ZT0v??1t)v~u2)^JG1QIr51zMr>_ksRix@yoaD* zL$4Me6rhJDe>?fR$={m|%yb(w-OfyRFw>o}OZ7V}eil{U&{$hp*?_aC#)jf5-$Gw; zeN`ilrtn35U2T26zp_l3hwdUb?2DsrkK4=S1DJf^sJmnWI{6@GTFf^odvlY2eN@>1 zllczE)2bO4U(!j5ps&jK#7*vMca6K&UFTltUgX}_y`Ou3_W|w$nOx80Rwf_DJrOj_G}OqucLpGJP~L$NYgAa=QtZZ~0&*H!!&cJ6&TF zn=qG|-cQ)+x?9|>e5dQ~a38|tW+pd^ovw_%*OFa6m2h{%VD9d5FLN(vvY*LKOkS*Q zcqiuYQwdI9{8(b5n>NA5CHixTi6#78g2&28b1)$d(`IimHJZI*d7{jBObnfj;UJ<+W z1%6gE@g&pb6Sq!0*>sg*fAqbq&A6(oj~06YA=+;_{lZhPv|Fy6S}sD-PtYOZx{#HsdY`jKbJm(H&KbxE*W} z+dRzST3=IBWqng6jz1b|igE3wrg&j}O+|5qucoY~%wL8x@5Xe!STgY{_Z{v#-9N*e zDRKYO{VR+$W*lbnS|+b%a)eJB%%46c2NNgF-R^s+8}D~Nz~nVd?p3<+a369#UxGrZFj%oe$@>%S8H-HjyP3R+8P8|(2~5U}{0SGSmooV{X8JH;E*4EH+C$7m7_jAIm^`A+#n>-t zVimyzx4meuqA5k#2X18YW+rdZrkML1T6cI=I1h(?I@J;+j?yQVhy@DrA%1Y4AZL{W z^P+s3m-4ZEUiRi5vo?$HU_V3@s?t=-<3gdxA%w#5|6PK_X?Kyk2(i{~EGjDU6nTq^ zi%N=0i^_`1izr7?T;3u|95P^2tm-g~_Kf8LQ#xHx^YJ=v1+2;iPKgCkAiP z{(M_4!4L6)lC7D{5i#j}#@ls2xi7q@|Nucw$C)3vClWF};+o zURJacihR-Xq7_U&i^*q?7Og5el*#8X`8>WSnoFlBqSZ-8IT&-ZwA&ROQPjsP2~6r` z^0~}--RPtMjuEg|fFDJY(MqK&RI~wmtfC`}jw*t(2q|*`lP}y}G*}eod#sC?eDQyO zk5#nMFtun?>b_~})-PIS1(tqsKRdhlTqditpjP_WUjIqZ;prj3ORO@Nx2J*PI($&YEOE(WMazpO>8!G)x zWfc|0zPhSv+)1u!D6Yp!Q0#B2sfR9C-BeYcNs}%*v*@g%vuWS*bkX_Bz6E;a|0EqF?lpm>|a=PkNJcidVk`-i~dpcVbMpXk0yOz z^atyTu3{`9G$N=x^KT;y`+43O(fB-rWBZ zEn;2r%=RGQ+Krw$p1GcRp81{yo;**!$KomQ6f*gKCO^RBUo-hZCO^bvY{?#B@}o?C zjLE;b(PI-Th{v_ZLau^%yj%r=x0SGs{*D>H5-P~^|4#*>1No94@;uP92r7tYUnW1U zs34vLpn~ktzDEa7IH_R9e~6!&3gYp5;3GHcY4R*)@)Jz{{ivtegH8P(nEccarh<6d zJ)L|p?e!c2{e#I*j&IcWtnl#DM$bymDi1WGKQj4gCO@;?v)V(ajn6Xqx&OWj;=yU7 zC(UW&!+Gmp|LD}#3r9Ok-?^%z{XVXOcyQY2Npspb|4h#p!w)r-JkT}yam!&-OX4bs zXM;zaHhRQq;|pVOjcXVczFJ=$qMnqO`|FCUn(E78<*8^aZftB^Sk_pLn-29=X{0z` z{ybYe$9RsV^7j`ezs%$}mE~_n^77|lo|DA#=fVEt&rE(LzWlvT%b(|TNO8{@ zo*#M6WHR>ouQB;gniNm3VeGV(Gbq--nY#7QbCqWs)<4hHOnxJ~_0L!D^H=(ss*8QF zh+$7&4I4LN#T3`o*HzS%)i+i&Rn=wU+zp-^JvR~OUeY-CK9jNd{zK8tzE0uX9iBTC z&S7DDkI8?FbM9Tixw|;$?)Kc{xtGarGx;4R|NV#NoJ}Za-{?8_N6#~ybC_u#WXHM6 zhJ}?C>y%pYS81=lB-YS+ek>yMp_13@-FlUed zDL+8(e%=H4kl3H)?77W*Aj_G|hlJwasrY#4`~bZ^@4@f`^fr3^-X`y2?-Fk_%Q3SY ziRH*FCx_+i#d4-x3lIIXjF0RYGd@DMAWFFBi4WWO|66?kv1&Ee`06Wb5S+_j@2|q9 zZ6VGk{0;tMUsFYGS!F{_ZCP1e!p_#a%6q6XczRjROqPQUzB+hjh`|%!gJ%uP**iXX zf@1K%mj~ua{Sjw2PNd$j7Xe$gd52ieKHIzzmNT3BGW}%)??zlk@NV*MW;t_M&H~Nf z*n6z^L?|@gu{fZM7!DHJ>7d&8f@>`2ABCDmXil;(<5A)P$y7!{*Vop|EApM_X90d+L8K^)*>Nz#k?bt29O4khLBKx-Z0Weq|HcYBb|$MKGKCq7b9JQ^b@4Z zk$#GV`sSfc^U$Vwze0Kf>CZ@?7!30#A?=OiLfRLp4GFxRA3};DorH8U(y2(NBmD^J zETnUg&O^EY=^~^bBi({@8`2#}KSTNj66%|OH`2XG_aprp32mPb9?l03=l{!KSYSh{ zLt2d#Mgq+X@cn|f42C?=muE#i{TIY3eh)(7#oG?m%>Akx{#J3tv~{eg%}%!TaZv+;ju`^Bb|VB z3DOQE&{+sN3vWic6$#_F@O~uJU5LIYL|+vC1qpN){u>GWDf|lQ8>DXy2J0S3laVB( z93=3|nv3K_!g#TEBcV^M;E5G=S}#Mo0_iFw@E?ze7_6w z`*Q|^Lq;k=LjO5HBW@lWaCg|?0G}P;vxDb(0qG^ASCIaO^bQjE?|2^xd~tk)^s&L< zG$DDB&}Q6mG&sR?C+K$q*LfBaXm^5kCunzGg9I9#KSKhYPSELm3h6Z@%snS)cK#I! zW5)S+q|cDRf9K~&7@w|5NK=qO%@54I&L8MUaM(HX?0C0?)jl)eE}3 zpvwz-yl*3+54@`(TA-BxV$Q(f@x*(&>z4(^CEaMcHxXe}VA+OBt$^0A7@&0Cc5Bs0xLu8oc z6XKGEg2*gO2})6(id3d5Z5hK1>_e7~*oQ1z+0IUOvzPrGM9*1{avS@VTS#g$lZSj1zz$@y1KG-=k8IA! zrjKm;$X1;Ov_hWQMlp@~I6vEBma?1;Y+?)B*ugHY^JfrbPfS*_r_bd4 zlz7jiChur3n zyD!7gckX$tU=?dv#~%h2d-EmZ3%(>B z8OVyg&8LTa_9UN~_%YPkt=Kq<; z{K9L@Kfj&}*s}uf6Q88$w}5^Nm{);s&})H$m|20gOlARUDxjtUD_F%EPVfxp7mR~5 z3uYt-ax3Vpg63YZH07v>c^0gO91C`$JCVqxpj-;dwBQ6LF@d6ph;r>GI zFC>FP%P^Bd`Y*JeO>AWcyHP`-D_r9yw^2)>2mHX#JmFWK^G6UA{s4IumQ&$sxW903 z=Chfrya|FL=2av;*^qG&`4-7X0ZLMa^4QZNRq;Jmq&<2mqL(6LiDD8{nZZKzRYa~u z_ZC%WQJEE$Sy6jZ)ICM(;k%<~Gg{Ibb1m8jdtP)9cD(2q zyemc3P;?@8tEl^nuHzu)SX6dJuX78z75x#J6@AQ8e#0z_#UKHR`JCjW;tRgQP8Z8W zA&O9p5|lzt#q49T3dpLMxfkn?I*Pfscr5f;Trb6^bBqg^XYo7S=X;*5$@yQI5Ieo1;VqTiBsqhw9$P@hILp*gK+%V35vk};TF$qATS$>V&- zHRMuKE+y|Hmy&WR`3Em~g^Wtsqf#Fc2X&S*yHcru zky*^aJ5kymmM%&b!F6j4aF8 zp)zVJV@_o*vu|H+1&=C2RX+{gW;2kLA-7C`zIhIjR8TFJI%TyMz zl;y1CSJYKTUfK`JM#Ego%B!romNnP1pOKV2=)bI;E?XK8lr_V$?k#JN%JxSVWd|{o z5uD~aPjFY+=lEVJ=bmygc%M&5PFn0}IX#!tW4W4i#98IcqTE4#;xSJ#^K$Yn_b2i# zr;l>-Eid2lNlfgs;H-mvG^DnR+M4I&q#)PD(bDGyDBbc1Kzia&ZxM9lU(8| zH@MBcAgEM>hP0y-UFm_kD>S;$Iu>Y?w- zp08|YD%+XLV;GOKDo03;1FhA`65>^^UAll!xPND@^j3q%6r5k zA?8%&bJCHKOsKC)0SZ$T?^_jjR5^=&s$Af55LB&7Ys{(Y5_YnO{ivtvQBI()s^{=r z)&HKmhW)AfjNf^I9jf}8xBMFf)k30Up4HS_Ee*wJg?y^5L9f;1T0H?dP)~JPR&PiX zn$e!_L}FIe`(akq2Q!r6$hZ0oW@FE)FJ>7lS&bg5|AP9etF6ZWc!v-85PMc54&I>} z8IWO(e8{dw2})BA_0_0BZPZz#0p?v}JLXm60lx)7&1mSmrgLk?$Bb&G#$0O3pk_%b z;hdT+XiEn=q1T!{=}jL7VTWpN#2q!&UrYV9qVq0#sHKNm?yB_(_M(=(sO7F&*~m#A z^i!)KMJP)Zs#A-))Ta&Yi9jv2`eLtZsiD>o)KN>;wWczi1*~NQo7jSkYpbiacer*; zyfd|PQJhk^yLJWiUt0~e^LS>gS^%MKI6$=2>5l_4Qc4DJ^J)?CQ5ecJ({cmF`4huj}_=2I{Y`*81{l zkc!gCyn)^utmGKyxyTi+p{E9qdCD{N)xZuk_=`8Z4T6UHYWOjq5Rb%sj`zD^O7zgM z3F>R8wuU|EML*1;p*b`hioI+o|AumJsGf#vSkESQBKL;-Im8iu4T44~kWVAIH1cjW zYD)*)(a5=toYzS2jTW*Fd(~(g&TF)f1K9mWN4d<6AZYwQ(vlAQ+c*yBN)z?^kjZbow z|7yF%ogippeogF46LmGohPs**qaf3P9Gl3o$x)7TinDyj zW6ZmWc{llkmzZ~xzk{IZJH+B+J|P|nNKIP4B0agtO9AB6R6R|-^G&Nzjrz!_soI)G z&xU5s??x1b!k9jnqdab%%GVW zG#korMllw1Xf}uWEMh6<(QFGcYi1tJc5{N$$f?S^{6nKgUEKS9tuz#cU( zfx4PkrzUl1iQb#*y?ICMN%L+*VON{aW*!UJ$_~t}xf+`9<6sc9c$c`yzC~hEA&(aF zZ&8pI=&yzTS~$0b`M1z#3+K0(#ax`niOr|P zClQ~KloZIbtvuTnq9`ROjegp?x2=BK)}cO)XhH;?QBzwrwN+2s(Ws@Z`L>;dT-&Z@ z1Do-^*VYcT-G_YJns?jlLC`J^YH6pIc4}#-mUc2|mjN}kE06ozxxbzJ+cl*Ht!YOj z-_nnP3_&jKMxv&6YdFTkAZQ;GXSXj*8SF}X?`-?p)T1Gd@l5;YLC~QfgNb4qGtpaz z`7C24KHFhE8@bFsK@j1d2$@I7JVNFXNzh}29wSm=cOv8)Q46~f(T4Wei-<0CM_&>8 ziWtQh#$#t9CgWX-u)h(qj!;j8JR|M|LB|j~)Uge!zV$f4sn^wH6C9T&2gr7TAu z9apmhGwNtY9S?E@*>!x(EB+0FPXFT_-s59FAsz`yOi{Wqg}JO^FKX;`lB+nc(^Gt3 zbqJ&hqMPCptGpHl3Z@xhK8RTjxOxWjOlkybkquKE+wS;}Y)de1qHE z<2Ro3fr!KPSVvoA0y~{KH;3b~xDvz!o5DU3< zjf44jO-?Gl;43olHI->Vb6U}s4(PF~9=qzXYhU!))!kjy-&Kv>WZz9T-O}(SnJIwt zy7}Je))+N+YfU>kVW+xv$GP2xF$wQ#H~Z7gjJhqtE_7SLD)w*@S#^_Dx8Kocx4-zW z2K{!o2i?`uJuV4IL=uvs=k9v$uEy?i>@LUddh9O8?rS*BlOX8vK6>d9kA&Et9-iwV zqaHHq@eNtYPEK-Dg3^?uB300Lj~)zW6k~}(pFL(WhxzEU#}e#DPjl{>lJw-FEET9p zGo0767xL;knsH2EDzfV-yPnSN>AmT>h3)J@c0G@BjtgAo8aKJkkI1y=UqKKl!^p45 zLK*ZE*^)@y6*-w{=pk}8^H|6#*0O<3?B@{fjXcgJ+!gtlr?@ZjIp)^OoxRMhmwoLO z6YpEE6r>{)YUw5KUO6d-Tzbi+m;LG`=U#PbKqH#coCv;U5JMS(%z8~^3VP_JhhBQ< zrS4waumioWa|7A*Qg1Ky_KwBJd_p`Dl7ytFvv+FJqTb#au_L|hNbelvrVjN{UvKsG z_Ad0cd%fGx9<}!FOgDPco4yP{{k?}E=ia_YdY|A?5PTa4XMZb;ZyV$D-%emT2a$Il zdG<-hm*l4)MJP@wJljW(edO3jj(zM|AGP+WM{C-mzCIoK@4Wkb&ky_@1by||HxKzJ zKw;F{R~>!rd0#pAoz5-P-1iA)-}hM%^vjM~`k80H5|m~PGnmC3=JSx}{J~593WEN6 z>0gF&sK3AZ`%h*8>)FIsb|AC<`;bZhBj}_5Rm`~mZSJ9`{@#K9YV5DZ0r4qBR~F$v zADEho$Y$V7)HhIl1O5BJrL15z>)6N^wzG@99N;j=ILR5#bCD}t=O%ZM^FVzM{E5fN zY@o~r%3zSa8k7UGACwO>9VEv=#WB-CW;#eFgJd$O8fH4E4)tk7Q(9oYgW6&D2HCwq z-LQLu?B1Zh3}7(B7>U^o8pka3K4=~bk=vmE>N1-_uXqy#gVi+HYzC`ia3!iT63MoH8?qz1L9%Uo8m2Kf$=?~p%(U}$t=@E$QSpP}_=fL@2{b*R}4 z-Gq4z-NsJ-4T52@_=wniikyZuLpH-&(U!IBVh{T`7zD%LB`)zvND>+%%i$g9NEfzp zh$9^1WDtzd}n^CeEb%yg?q~qXZSHLUqi1w7HGe z!{|=vW3)a-_hbme8O2!iGkPLxQTu4MkG2=1?ZxOzT*W&)`UbbT$5Wp12XBL5jM~RU zCk|#mCIN~0jHIZ0%-3Wl8#&O&nBtV8EET9sRn$F3tz&xAm;Ov<8Z(&59Okoz^=!g- z;uv+0u@hs?aRHf+xrX}3+~N_x@EgDLl2<`6R^4MiCpoD|Lmu)|kU|ti)??K;wg$Da zpJVOI*w%C>l5gq900uFhiA-TSvrzw7@9@|atVaH04{?;^oZvM27_08FcX_}M{LEwi zz@CqNjXfGC|8e>l7aubiX9nZ+G%g)>e%v?YCLeklSB{FIjQ&p@5T7cWFsf~8*i7!SH_&iSEDBS8sCyOw8yN*_o5FY8H0<* zo6~r68gJLe+pqC@8gEYHm$L_bj6aB3jW?_DdK!O)>zLE{AJEfy{fvLj+aQS2Pn3S5 z-r-%$D9U`I5~H7}WTe155~Y_Yy+r9HDi3BA|Ak(}a|y#!M#YV?qH6QUpCsuy+&e-2{6#p)q=zpq~ld=!t$N z=x2g{CJe&PO&G@nCZUfBt60NYHn5ok9OfA3xx`f-@)M7FihY})p9%j4!NmXZ4*Hq+ z0kKGgUMA{gqFyGZAuZ-JF$cNG%RE-IiLLBlH}ae)&xyx5#Tn!{=@YV2ftu8zJ`K_T zq}G_}BpFN^hFMOspOft8B>OqZeomUsEX;9|{wJ-+{gd23$^DbuKWQJbm~<97OuE43 zAej6m*~y97Og5Xz?wC9k=T4r9otZ43$#0R*l#uAupefCmuWJa z{wc|E$Mn?LkLmyY=dzqG%jvS5F3TB7ko$~uWI#PLPH=^5+~9T)%#`m;`OY-^nZ4`z_4JFa%tSB~f z5qZvzO(H(S{?AT<+Gopdb`El5Z)O*yFh!|Eb!t(UM(AaB3*01`QO_Lb&l!Q;nll$U%yG{g zz0Wy`^XA;+5r6VG_Ij@K=Dy4Oc<1MS#OLUBuHNPrp*W=|i+!1EU*_7ExizsbbL-QY zZuB6M-t=VvgV6ij;f!Q7%Q?oAAeiUQd0CL#ylYpE-7}&-62}wdyQt<^}ksh_rZ%a@5F%WglSJ(V;$Zq~*rZIzq$bLb5l92(KERe|p zSu9ZR0_QF0fPNSBN3RQpG75XTz@9E}?t=NOVIy1Ej@c|Q{{`+@a2UI{z>F5WM@;0kFb;9i+d_3M{F-l&@aG^{PK;$LGFUX5xh!Kno7l<@cC(jLoJakO%xuw3?r@*)gJ7}!TAZ59sB3Xv3ZSON zrI6*~3RI>lc3|-u&T^H9yy8s|EHUdPad6&}v}D7(xI~{z3Q~*`l*YMB>d=yQM9`TY z*wH2KSz~ zbGh@EAK)Zck;8KLEdMhIRz$~nD-x3yd%7YMc63Efa+43|t|(6(oVmh`R&+y;D|*wH z0SsmszC%`+*$Nr1Sj%CtITdyb!t%;-;1k!C#>=gty+P)R&8P{YFf3QLmcG< zr?5Ax)8f5YU6}@SqAPtEiSt&^V>R}5wLVvGV>jN%)#kCESM^BVJCqu({=wI(~?afk2ukw^TB^Va-U!-!p4vv9>BT zs7*cevbHn*7|l2)Fqvu0WDe%I)*RQ$YpuN2%4@B>)|%nkJ?Lre>mXQ{fc!XnT^GJ( z2*Vl0SfZGSXV#}img~205Sgz(%{eY`om>3(*$2pN!+XeJgL^gj5faD6|&p(IqAquHgb}O!W5$3AmZFcTvd2KfH&9d3N2Qr3;hU&Q<;lf~|2; z`&PAYO+^|!w^bfnbCZ_>6haSMD^i8()S@o+>CYG@F_jt2Mvq(dxK)o^SEJ9Z?%t;U zZED<>4ViDNMok*g9_MWv#CX)aZ5lI~hn?DHr?xqF+ZOD=HnZ7w68p350++E1+ivhn z5NwZzthUQ)drI`V{Y%uaUBBDy!FIK5FN*K>?WHI~dGx$p&)e0wU5?x3xLuFi<+%M8 ze+R*iB;-ObJBm?~(s*u1U1YSQAx&sT3!Jl~JCS&Icl2WbGTX79ZS2IZ@7RwXcj$44 z9(UNo9s1ni?w#u2sm7hPXiiUhGngoxw^LR-H=*X8yV%Pij$qezI(Mh{f9C^!;AbB5 z2XBMGBf%~i?uxE>XB+a|tCoFo+9#iVvG^Eg?n_E~ z%xPa{vXK+tH~aLu&z|kGXZtE)U-nhQp6#oR-Pva+_RZ!H`rQ8knaC9chy7=VkD|ZB zGCX_^dvW+O*SN_Y?(>kJc+69tVZMjuaQHRmEau>dIUk9EK91<)h(3;dLOc?Z1U(%w z`y;6_`y=Vd$Twug4jjpi9XMi^N9@3n;&`u)l%)cd(d&_#)S*6&Xi5uO(~bx_(~X|k z?IV4W%aOqhV5sYRW6PV02W-^EQ zEMh4uSj{>%vW4yJVlM|c%rQ=KhVxwH3fH;CT^{fQKl6lNdCm)7@rHkb;8;j>-sJ;6 zBsQNCpG15{GE$O;FGL@|k}%wRV2SjZBVvx>EBU^Cm;$sYD|h@+g~H0QX$Wv+3PJKX0XKk=BS zJmU}kn(_?SC9p-3s}rDRK)(21_}pcj4U&me{}g3*j)0+X4>Oy)43 zMJ#0nt69fJwy>RD?BxK5ImSuOaGr}?;X1dt%L9JkXP)pY&w0Ts-tbQloD7N1yL`Zh z#O71tlZekqMoQA~CF%K^%w!`cdB{&8ic*5ol%pb5s7@{F(tyS^qa|%Z zXZ*pRyyk5XoC=6W4BjUeAM*+ENJtWrl7iHvB^??0hOFcuH~A4w z>eGm(w4gQZh@dmw=t*z-GJwGhV9`BT>(potV)XGdlAC z_n-MS2+qbNE(vh&S@)iG?^%0tb`=DlLT@aizlXJ0f=Q$allkGX#o|D@-d7YEj zIs0_Z9-XsC=Z^E=bC=NXIsKm3@A)suOg3uMgyu|S7IQg`{W*Uv2)>I$Vm?QI-&Lgs z{Tab%wsU~PybXd2cISfKxnKt_=rFCpX2A6Jdo4aq1t~90%?HP&ZuS{VhyV#3ex$-k+ zf7SC>&GD)^UQLfVT+NBQuXdyhEV`IZmnkryZJW=ZkyX} zXWuSGWvVfOnatrD_jwouciep^IjN|N`QDN79kac&m}NXemUryz-QrZhxp&R*uFu`I z19zQuSMGOx_MV>a$?IN8qR`L1+5Cup?)@GF_p_3Zf{bMGMM)duON6O=U2&* z^Q$7L@l^%d;f_~oc{Lq5y;{t1zT*;d_)89d$>A?G{iXK5iqVlszQun0wU!P1z^^Y#+ z-SFbA`J+2!em(keJW0FaNslU*E(34kwC9xa(hc z{d*}0{T^o+#33$)DMNYsGK`UI=KzO!6NF)O-X%K)@Lbr1Z|TQU*0GU0{KVrR{NJa1 zMlvcPfA0I=E<}cjA07X*~f8C@q&MX@ZFFM$ogGpyjzRLG-E7NnZaI;agt}e=4}wZ zC+qjVBt30V?|a?Z%pUgh8-F3E_kH&L%w(e~^=QZlCNP~}j(Lwq z{1Sw*5|Er!l%x`BkJXL7I3w07^c-tj5Pq1D6r`p-^7t^4Yux8y5Pp=7tmI%Q@g~>`DC0=s$jbdf?9ZgV1Aq zJ;v8#e7h0fZp6163G|sDBj3;ndyzm-31+bv?_UDP~WsOI!`Y&)o4@a#B%?#x%p( zes4GYY#q;e!#_dzc^2|gfWGMCbLW2U%+HWC`AhWb#dBSCTtBxqVBXfp*9wc~4fcnQfRu^0z^lBEZh2 zkYkD>bf+H!*~l*TV*gUS#xp6Mol>7Ev!jlbZRvphNVy&}OZk8&{2GL*WSlBDzBf|I zB$Z53$t2Y&E+LcDzPnQ=M6an!Qi-bgoZq4iQ%~Up7q}dRX#(CS7P3y`nKWf^cAD{c zCe2x#o#sXmevu5{n_r}-IqLnQ6ZZOxHK^Nv%Mhk@W?E;a^}U!jg3ibw?O~1u;g=uq zDe5v}&dH#r49#fC64tUI2s1`Qe;Gff4oz`h zMthObeHr%$;n)7{YqR*;d0%_}>yC6`BeM9~K4glCcQBJ(&Quv^WvY+;T>M{=Cud=Tc8U(OWxT+W8HqAjw^X^;GlXPCc`Eb2%rMb8mbaZhoY2V zI8jXE0ylAYfyAWZ3)<0*p6uih?k;Gq1!YmtYzo$*G0j-ZHhi|wM`g__fWPB^2` zY0d><;UuIcEfKiK?;eJQWnNh3g=JnODgM1kIy_&b7kxOufB$|a2#dzSJw-o9y+!3z zbO7=!s;8pzES3}dT1@}NrZATU{P%BWS4>XDvyzX3OlA)A`S0IkSp0PmmMBMc^j%^h zGA^O-5>I%+s~{|yn<5lvFk>*|lJ|JTFF{zU0yU|_X3VwJ{va$J7k!jYPB-*YS}&z< z@I5~UVHxL_aef)+ml@4urlHp|KcSzpaxI&YZ)igox?^w3ns-^*l>3S-WM?c>nSp-G z>9?GI%U4E?8EW!R&c*(y(Sn+>UL}nH1G6nfpT);!z zSMga8RvJU^X@Ebd3ml;=UTExP+Q&rr~SUUNe$`48gzGyv@BJ ztd)Xvm~kyN*K$TJch)+@Y0d>*&2s5Bf6* zHP=yd9W~c=M%`@WWCAmp!ymj2LjU7>Sg$JeXvkW&u`>wke~2BaFFU{G6xNqpeYw>) z&-&`9Zw?KTB98|8Y2a?Z*%USy$9LS|b`Um9#+Rt2VOzSQ-iCIgp|cvAL8Ev0h&WWF z7Im4#Z04b_M*3=`uf}R>EThKq_WMR*W9K&Rz#>+&4p}#T#4kbEL{?2?)kIcJn$nI4 zWYJ_PEBKM$_&o@lW+E4P>BCS)a1`@ts+MN4QAe}Ss7xK|Go1x2<`zHja}YL<%jc-Y z@9u=n8_<~9EMYlnZT^zKg0Mwts^GIN*02?s`OTZKWfElHvNwYnhHP3s#P>+6f_S%D zmBq8IJlo2%tv%b?v#mYb+FrHpi@j=nod>A3O(ERfrX2H;O&giEc^ianWAHw9rEM$Z z-qzl>J&j!2r6wca(1)RnKuztQVei^!L9Xo!U}xIfnf7+3{W8|Gi8EY5UG4u4!VdPM z!+U&5X0joh4s~gOz3kAB{tU!<9mW&IMCP%aRjg$Lo7uyD^w7aG z$*3=4CGw0=XM{Q<{o<+j4r z?=0iaTiA|sJ3F)U5so9@&SyD~d%Ao=5|WaFRLG=DehN{P66mu_IVz&JE_&}f7N&84Tg^fVX0zY+HI{`XXu-{A;* z{>{HZ==V6nNI68lM@&8<4sl6a?~IB1@eiMPo#VzA&zo_ z)12c1m$}AG?r@)n{KR9P@{B+Dlh?cr!rlSVh{5~B;$uD`9tlZ8Qc{qbw4@^=-;k9Y zaH2C%V#uUi6_q zgBZ#PMl+5HOlBH0nZtY*v6L08W*r;Z!ghACmjfK;7$-Tyc`kB=>)hfl5BPzfdBU$e z=LN5L!#_dTCnP%W@&O+bn@@>PB0eJ-DM`bZq~~iglZ~9@AwPvEN(o9+j*3*FI<=@v z0~*temb9Tg9qB@MBKekn3}gty8O2zln8Z|OFq?TSWC_bz#acG7nQiQ35BoX9QBH80 zb6nsu*SN_Y?(>kJc+69t@dtnMnzupd{~Q+fjYbUKCl(*`3Gqls5|WaF)TAXH8Tp2+ z^8IjQ)9ugE|qvXGrzoL01@1D)tf4|>su z{tRL$BN)v%CNP<4%w!JpS;SISu$pyjWHWo%&jX(DYY_H-m)LwtM(jy{d(z+h`!~hh z`@7TcK!yF?)&Bq|Im6o^91w%|k;wpA43Ncu2zt_+348^ zl93W~8f-p;&1dicMlyz-9O5W;Wr!UaVn>GPZ-^NWG22TnA4D@$a#pIhdkyF z{tUvQsnOfeZ|H)ahN^L>&ko(rE`H=Ueh^$b_f zaCHnXPbJ#mnc>|rtKs%xxP2HdgW<V>~;?vtwG~xiNAaGYvhAS;R>$;(5Q(6OR3YuZTd;V|%lkBOK?iARK46 z$GwAd$CacE!---Nw=w&1kAl$e%7lJTCiHtU;dnWY*Mr}R3CGW687uh(a~tpMs2mie z2>ltsXpVA@3qd%+-F_1#oDhf7nC}D`PcYjF6PdytWa;-v!iibQhjS;I;Y6RCXa^=b zYogpI`s^eGU8?&GC8G4;! zUQ^^gWfO9oVrQquz-*^}g8iD>7@wUwpB1d;5x*msX?ZA031mFY?5E8}P1AgC+Al#k zJrlVw@9BLR#z@pP-E61ZjTxD7){OkYhZvclljUAew z7@wPOC+DkczW(NSW;+Kk&js&b#}>q)GIh|$f@zr3f<-*x1+Rk8?;nH<%TbZZ%)#dt zK1H7kUkBkLwJ$QmMWq>xJ{OJ09xk$ni|pazweXHHI+Fh&NwI(@cv_@WQ%Hg>+wdjqxu2Jur9jI~55j?xb zv;K}fTpN$1q@WB{sX;H?y>=+}aIHODYY*3YcCBaEdUjnhz9cXL-RtLAW7AmK$=B7cf$txMyQq+_P~p%eaEaaK_dVOkgrcILmju3c_u&+!h`4-j)vU z;tVAl&&e2}y#icb1?u z!%^?fNnGG2cY<)&M)6OO?(;ARcfZdk#G?@I*Rj~@3_z-;!^L63X%xJQqB=3)o;$Z5|x+`UKLd;Sf= zz3&l|>=d9d&FO&J_fBLM&e(ebJ@367g!^((kRpsi9{Z;9XAtfWh(;+YQ;kKeM*sW0 zX9wQp18UKjW~{{=4%mf*>N*&QxHO?HYC5R?gX%x1{zGawq=rLkIHb=*>Nqr(JN(4s zAUymHxyi>!^mBL$53py4e+|MT`aV(;J95M>ADPJ<{`qk1{Im^G{q z!ejb87K@LmhwP5ELZ8RX?AR{cbId*;bJp>XuqVgu$?=Nl|9D*{-B`d%^lN32N`{0q$VyWA8(z2Eulci#2y`m>Gw9124JFV*1%`ChOq7o2^;zFjE8NMv$h3MaV0 zQIMq@uNoyE*9 zhkU??$oO(id~aNq$z_>bmdWKu{Eken`0l=v1HE2pP6s;Sb63{0iJy4JA3=Ck-B;6+ z4q0FI%+*#n`|27zbM+UTef6&(yp|u|o7YM+2=!hYhrPab3Uyz1=5=RYcjk59i`U06 z9vNJJzz;!q<4ZD=jrMdW67}8K&AuSKX%08#d(*DntVLsd|J+=}YS!@--(@#n2jML} z-!k7@#j#(vhBJzrJVf8Oli}{$=~3HlwcS?R?O)L2Z9U#`&K>96an2nz-5JOb4sn`u zL3lR>`n#Kvo(#ZwckRVp_uah{g!la0J+rvyynCL%HQBa3_X;r>^62k+bE`w=+n zesA=D|2Q&zp#KLlec;Xq-q8m>_nrO##u*R0;rWMZdU!Die@OKI7VbN&%d-6+_|5IeT)8t>E?l69l?=B+sj0|PaW7QF ziHfKQ0)kT6)39MX%j&5o%e0;Cy{FkWvs|fJ=GK0%j_Q9r^5)&tCoQwYPiCfA8l(#J(oTdY`lQ&BJrKZ#mA` z_ai?C5&Pw`e;~=+hG%8}1K5%MzjGvrI3T|R{qVU1E2*Fo*&VP)2lfXM2hHK&W%%qt z=Nxp-LFfD)a3QtHVk+5e;RWp3p{mrO9-hNPo`FM?*u-Xh_K@e~(77Puu=5W0X9&Zv zH-|TH7iNC=SM1mkyLH4~ABn@Pj>zwbnI3r=b2##T5b=ka{%A~7#xRBHJj4?`#ZgY< z?xXPxAcX@GL^ARU@I^2N)U0%&rZqkR8wZN2z{S=4H=)( z_vxB6qzR*$%rrLg7-oF>pCIB)4QermB^2-l=6dF*AmVHf^l`Q?H=~!cdO3S4h&UHg z4d>9M?dG~dj4ugu$CKHkG(l>-sffW&sB^ho&WJP&jn#no5nO{ zJ_W4c1HRl8Qa*-t3g<$3ht|N5lIYZBzN!t z53!S<*%O3S)l{_&?HS87X0VCPYzac|x`fr7>0OtwS_)$r$GtqlV;tf*r-HD0U#?;( zH?V=b&}a2s{1Sv0bR&*L)^a23`3`kmur~;6^g<6coK?g3YpAJ)`)VBJH0Ofw!UP7A z%sOtxeHR|!FVs|X5W`S=&D*$-2k`TnXZa@xYxQF=SEJ@y&Zy}U-83?JlIM9T2rp_tb6T;G z<*ei*cJNIQ){DZ9)RSF3xz&?fJ-O90&wA>pXAbpyBaiy}sqgOkkMcNwaEh}**q{$r zqLv1g+=O}?*o_9xYG4Kp+YwC+bIE5JPw^rzqpybgYN)S9YHB2-M)Gd73g! z3RuCjyviG#3BsmTxqu$@LM=@fQAjZ_@+R*D;U#Llq!AZ0lLh$fB_Hw?GHceI1Z3ZA z0~^_dY?@c0Iur10HP69!oBM8a-)-T$Equ3y@3yd4E$+fzwKy4sEhA8C%Za$Vw?8}eK6@~i4l?N=kB%YLs7W2_VKyB* z(HA?`QT-jA+tEIBRC~uMsJr7#oa_CTuwx#JDWQyV^wQA`I=ZJ*1XZZcb!^~K9_LB6 z@(g3jhV>3}RctF^OyJFBU4Dc5obcXJ>A z<$pYZOglTXv$MK{)S@j>bR(9_k%9MV!Y=vfvCC@o*~Q$ttjEl{xTA|Zy11juMz*mX zzo)vq!P~scXXvZT&)DlONB9GIb&*$;IYj9vstK3Sf=f|XR3zpTl|XO$F_2^ib2TGK zC7tn1U@~?gYBu_aT8Db0{Qii#3;P!J81^hmCQ)jSvS(3d67@Rjk5Ye>9f~@NTBH8L zGZr0EjT*==x-NQ%ZiSkoWf|R_9>_AfCxf^WHAkyCTFucT$zmevjh>2Ki(W_pD=5OA zMX%*ruIEN>M$OT`2VvL7xVLLZy3iGOcfEpm66woT*p;qh7>B#M=CXiglw!tRZ^C@L z%B!pScHPJ(9>E@W-O4k_qw87Bu$$R*8-l*NrILZ(x|v6}Nlf7$e&9FkKsT9oI}?O4 zRk73FjS6Er6HN?yh|xog9%6c-hZy@FlZ0MkoE zkz341?BYZacCU@y>mG$UbV-LRzdOX2XJk7JXx5qnt8iYOF)ze))-O*ETJ^u;9IK9Q` zElzK7wWv#TTG58~bj1F}*}pjRi_1XnaStHxIQhjnJ5K#^2T^nU1vJH3@y?2OR=l&~ zofYq_cxT0TX8>jsetW$qmO;)Qx$XT zBilZMnMM)Uay>V)9%uL2fXw@B=M`QL!oKhGHM?+UUw8I(XJ2>rwby;!+1H(Y-PzBb z{oL8_67<$@5P1|+N;zwBcfWPqi+=mby5DA={XJ?ljNP`jwH`fk~@-XQj6Nu#f~Mnrz7%C?u!1B6X-=>2B4ngWX59- z$(1~a+>_;#+SnINV*s zBk9H!#F2=*hP!L{bZ+8N?Dg<%sCl^W4>!}{AMi2ua`+D9HC(>Kj|Jg~3o)+|&KjZS z5y=c@I4Pu&K@l5yjQ_Ej7kL@GI^s?2(FpgA@VjD!{Ty+UGsrBZ3e_-=6nCbyVGuG( znaOPCVmDG2k@?X@H@&r%uG|!>F6!oRN$}d4U zvL0=*qa%AW70<`W>)FCP*qf2|F10S^o7#vbG^IJMkV)z|d_OgtS(tCC`cs{ks^-)p zR}#6r()5vL z_tGB64AQo+jc3tUnq1S~M_+0BO8cCj@XV%}OWLpe$uabmrmyts=qp`c>H137OL|)( z>4bjL^^>ljbai_#HB47yx*F5fn7)>4S;wv1$vwzFUH<8EPgh_1^Sp=|q{}{Ct?BRa zAs_QKdpO7;%pu(z(oZ7$^m9R&5fE|__9UYjEoqIKGt`>V4Y_ArP8k)e-_|8OHupuP;XWXdR0Hkt0tY)&gYTbb=}Po~*sCNr3;8O~Uy zFpX?xGLHqQBU2rjOId|`Gwp4r3^Q-%4rG`q!^}-Qg4t(oBqs)9%BD1-Tw>cVwqxCl0ZhGf894(L0Hz1SIH*+7) z@&e{LT0NuRz;{QR>1dga{)Er@ik--C^q<(h(I>Ebqt!P0pCBBgt})e6)0kS+;Uao4 ziG_GJ#@vg0$LMv88nYVF1vAb{B8#cWI%^hs%38{5%sA^B-vF*5mz6`+KW3Oa1W3g*v)jihi$5vps#$JaU$KJ#( z+{PW;jXcLb&r7_*>%56)WbFGvI4**k$YoqT8gMCXiKHW!(VHO*V+13afK0~8WSmUK z&1C_3EJh~dUc)mu?lZpRYrf@s{@`2?j(7if_m6k~_=Ys$5?auiXkzGrY{tivh?>Sv zqyT+;7dss9?D6I|{&Wyds6urvq&DV0p+3GdVIxO^aN_02dE#I^TNCv*F_kfl!)GVT zdg3(XJ#jPcnP_$s-{5UNK#vpkIPnX9uHqb02|-$@O~*=GmvDi zVkoknq@GFgoMgU}w(u3lf^f2&CU?hvPL{*ue&}Pe?@dl86FW26-cHuXWV4z)8#9`0 zMw1tjkL)Jji5;E%1W)la&tYFCzs_5{%lrHlgi|89k`%@>A2m){!CIU*3W>5$LUe%bGo~ytADy0r^|l2%%^|OSNzC9oR=LzUDTZ2 zgiC0JoyxXT+0Mp5GE*>cR5;|x8{kmHPTEN27HpqCl1^A_*mdoyG-Lq;=xU>CdD z!@uVo;{=}F8Rz&X2xrP{W(++^z^>2ihaP9@ai$(;+QXUpoayeF>Yu5`nLGG}U zEd9>xb9#i%DoJvr*h zxdt=MG1Hv?B9k1upRFkSXPe;0-*4bt-+YDx_&)+`? zXAfZ%S&U->p3~WLS->Keu#}s50a?u6%^vo0fI}SNPyR-2x%Fv;I&z!Qf=e;OT+dIg z%yMOxE3;gg<(gyeP=;eCa#NYe6sD0)9_qtL7UH~lt?A0; z#Nip3C%bt`T!jqh$#9+w=N0idU$YA}&HMKZJ2dYU`kklW`61O&8^jpQDQ^Okn1Y`2^puxFF6Nf!Im&Zqp8E4P z^EthisO}WQm3nSpbcIB!WMw_<;m+{67m#3MY0bC-B_mi!Qe`BmvmG~IA^zTETWp6@xy_nhSS z!w%)kJbxnc&X;$-JM(jxgMRW0G2i@B%CSTF>$!~$s3%_y`D(~lL;e$}BmWg%;|*k= z{|(=x-+cKmt;xkSqb03rOMCib?n|%3oR{8+JD0k1sZ5vN#l37~6EEYgrEl^M@8Qm+ zpRkjk*v+r(;{Yc(%~{R|VS!l}n00|!6g1#c)Kj3If)2#cn|=&n5F<&)@0o%uWLaQt z1vvSqd*=7YAZO&8Pu^X0{geDIyI<|-Cow5REtBE0*_h?Bd90v_Rg|Ltxg3i+;xMXf8Aawq1u!h8y=qQAoa3}F~4q@t(7Y0SWm z7V4{TJ`2%TVHxT#tmJxb#NHHoZVI;|_rhPW1BC}sSD~8xje)Sx3<~A3QWpM>K)BLQ zu5683R(7B(GGBQaGG8fke+wX7c{8$EDHHGGhbw5L+aaZF$t z_hILY)lw{r;*a>0FZha`e23bKJ%7dWE>_2?fRJj`pgv7$j?7lcY?V2z>ds|cK^#e3 z#Zc_YD)p=y&qOAZLq2L-wStvg!#Zw2zTPK)AB3e1X@Yu7FQElyTsjSzl$uwmd6k-1sog2H zJEhJl{gNGg!}t8eNzUNhvIweBoePmmnOw@;Q`U@*bfGIT^unylQpsQxaw*G3CS@`y zTfh03e0M? zS*`9(U-~l@cdg#QEBwgcL0H}b-zkqr{pCJi?(^k?xRMmo$YeCrnTdYN{az~9N4eRS zdzQ;@#IBX!f|-_Y;t?KWGf(m+AMrU~v6FAv%VCakj1!y>!U{8}FoOy+sPN2Gm~%xt zdZNaPp$umv>5Rn=R!lqs9ug zRh;Hr5UvSO-x|OB*3_jQ=Cq~}YW4RA!Zr3`&0^MZ2l7}Wk2PD^#?;4_Z~RZ+|Nc`o{J;N3|M7qS L{r~?CD^LGFrDCQp diff --git a/app/ios/iosApp.xcodeproj/project.xcworkspace/xcuserdata/denis0001-dev.xcuserdatad/xcschemes/xcschememanagement.plist b/app/ios/iosApp.xcodeproj/project.xcworkspace/xcuserdata/denis0001-dev.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index ee3458d..0000000 --- a/app/ios/iosApp.xcodeproj/project.xcworkspace/xcuserdata/denis0001-dev.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/ios/iosApp/Info.plist b/app/ios/iosApp/Info.plist index c013cf3..d7b146a 100644 --- a/app/ios/iosApp/Info.plist +++ b/app/ios/iosApp/Info.plist @@ -17,11 +17,16 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 1.0 + 0.2 CFBundleVersion - 1 + 02 LSRequiresIPhoneOS + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + UIApplicationSceneManifest UIApplicationSupportsMultipleScenes @@ -46,10 +51,5 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - diff --git a/release.sh b/release.sh index fafdc05..f9d091b 100755 --- a/release.sh +++ b/release.sh @@ -1,46 +1,199 @@ #!/bin/bash -# 1. Setup +# --- Настройка и окружение --- set -e cd "$(dirname "$0")" -# 2. Variables -TAG=$(git describe --tags --abbrev=0) +# --- Обработка аргументов --- +IS_PRERELEASE=false + +show_help() { + echo "Usage: $0 [arguments]" + echo "" + echo "Arguments:" + echo " --pre Enable pre-release" + echo " --help Show this message" +} + +for arg in "$@"; do + case $arg in + --pre) + IS_PRERELEASE=true + shift + ;; + --help) + show_help + exit 0 + ;; + *) + echo -e "\033[0;31mError: Unknown argument '$arg'\033[0m" + show_help + exit 1 + ;; + esac +done + +# --- Конфигурация цветов и оформления --- +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +CYAN='\033[0;36m' +MAGENTA='\033[0;35m' +NC='\033[0m' # No Color +BOLD='\033[1m' + +# --- Функции логирования --- +info() { echo -e "${BLUE}ℹ${NC} $1"; } +success() { echo -e "${GREEN}✓${NC} $1"; } +warning() { echo -e "${YELLOW}⚠${NC} $1"; } +error() { echo -e "${RED}✗${NC} $1"; } +step() { echo -e "\n${CYAN}${BOLD}→${NC} ${BOLD}$1${NC}"; } +substep() { echo -e " ${GREEN}•${NC} $1"; } + +echo -e "${MAGENTA}${BOLD}🚀 FromChat KMP Release Pipeline${NC}" +[[ "$IS_PRERELEASE" == true ]] && info "Prerelease mode enabled via --pre flag" + +# --- Настройка памяти для предотвращения OutOfMemory --- +export GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx8g -Dkotlin.daemon.jvm.options=-Xmx8g" + +# --- Переменные Git / Версии --- +step "Metadata collection" +TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.1") # shellcheck disable=SC2207 TAGS=($(git --no-pager tag --sort -v:refname | xargs)) -PREVTAG=${TAGS[1]} -ASSET_PATH=./app/build/outputs/apk/release/app-release.apk -DISPLAY_NAME=FromChat.$TAG.apk +PREVTAG=${TAGS[1]:-$TAG} -# 3. Build release variant -./gradlew assembleRelease +substep "Current tag: ${YELLOW}$TAG${NC}" +substep "Previous tag: ${YELLOW}$PREVTAG${NC}" -# 4. Move locally +BUILD_NUMBER=$(echo "$TAG" | sed 's/[^0-9]//g') +[[ -z "$BUILD_NUMBER" ]] && BUILD_NUMBER=1 + +# --- Сборка Android --- +build_android() { + step "Building Android Release" + if ./gradlew :app:android:assembleRelease -PbuildNumber="$BUILD_NUMBER" -Dorg.gradle.jvmargs="-Xmx8g"; then + APK_SRC=$(find . -name "*release.apk" | head -n 1) + + if [[ -f "$APK_SRC" ]]; then + mkdir -p releases + DISPLAY_NAME="FromChat-$TAG-android.apk" + cp "$APK_SRC" "releases/$DISPLAY_NAME" + ANDROID_ASSET="releases/$DISPLAY_NAME" + success "Android APK ready: ${CYAN}$DISPLAY_NAME${NC}" + else + error "Android APK not found after build" + exit 1 + fi + else + error "Android build failed" + exit 1 + fi +} + +# --- Сборка iOS --- +build_ios() { + step "Building iOS Release" + if [[ "$OSTYPE" != "darwin"* ]]; then + warning "iOS build requires macOS. Skipping." + return + fi + + export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" + [[ ! -d "$DEVELOPER_DIR" ]] && export DEVELOPER_DIR=$(xcode-select -p) + + IOS_PROJECT_DIR="app/ios" + [[ ! -d "$IOS_PROJECT_DIR" ]] && IOS_PROJECT_DIR="iosApp" + + substep "Setting iOS version to $BUILD_NUMBER..." + PLIST_PATH=$(find "$IOS_PROJECT_DIR" -name "Info.plist" | head -n 1) + if [[ -f "$PLIST_PATH" ]]; then + /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $BUILD_NUMBER" "$PLIST_PATH" || true + /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${TAG#v}" "$PLIST_PATH" || true + fi + + substep "Xcode Archiving (Unsigned)..." + if xcodebuild -project "$IOS_PROJECT_DIR/iosApp.xcodeproj" \ + -scheme iOS \ + -configuration Release \ + -sdk iphoneos \ + -destination 'generic/platform=iOS' \ + -derivedDataPath build-output \ + CODE_SIGNING_ALLOWED=NO \ + CODE_SIGNING_REQUIRED=NO \ + CODE_SIGNING_ENTITLEMENTS="" \ + clean build > ios_build.log 2>&1; then + + success "Xcode build successful." + else + error "Xcode build failed. Check ios_build.log" + exit 1 + fi + + substep "Packaging IPA for TrollStore..." + mkdir -p Payload + APP_PATH=$(find build-output -name "*.app" -type d | head -n 1) + if [[ -n "$APP_PATH" ]]; then + cp -r "$APP_PATH" Payload/ + IPA_NAME="FromChat-$TAG-ios-unsigned.ipa" + zip -r "releases/$IPA_NAME" Payload > /dev/null + rm -rf Payload + IOS_ASSET="releases/$IPA_NAME" + success "iOS IPA ready: ${CYAN}$IPA_NAME${NC}" + else + error "Could not find .app bundle" + exit 1 + fi +} + +# --- Публикация в GitHub --- +publish_github() { + step "GitHub Deployment" + if ! command -v gh &> /dev/null; then + warning "GitHub CLI (gh) not found. Skipping upload." + return + fi + + substep "Pushing tags..." + git push --tags > /dev/null 2>&1 || true + + # Определяем флаг пререлиза на основе тега ИЛИ аргумента --pre + prerelease_flag="" + if [[ "$IS_PRERELEASE" == true ]] || [[ "$TAG" == v*-pre* ]]; then + prerelease_flag="--prerelease" + fi + + # Собираем существующие файлы в массив + ASSETS=() + [[ -f "$ANDROID_ASSET" ]] && ASSETS+=("$ANDROID_ASSET") + [[ -f "$IOS_ASSET" ]] && ASSETS+=("$IOS_ASSET") + + if [ ${#ASSETS[@]} -eq 0 ]; then + error "No assets found to upload. Check build logs." + return + fi + + # Проверяем наличие релиза и создаем/обновляем + if gh release view "$TAG" >/dev/null 2>&1; then + substep "Updating existing release ${YELLOW}$TAG${NC}..." + [[ -n "$prerelease_flag" ]] && gh release edit "$TAG" "$prerelease_flag" + gh release upload "$TAG" "${ASSETS[@]}" --clobber + else + substep "Creating new release ${YELLOW}$TAG${NC}..." + gh release create "$TAG" \ + --generate-notes \ + --notes-start-tag "${PREVTAG:-$TAG}" \ + $prerelease_flag \ + "${ASSETS[@]}" + fi + success "Assets uploaded to GitHub Release" +} + +# --- Основной процесс --- mkdir -p releases -mv "$ASSET_PATH" "releases/$DISPLAY_NAME" -ASSET_PATH=./releases/$DISPLAY_NAME +build_android +build_ios +publish_github -# 6. Release to GitHub -prerelease_opt=$([[ "$TAG" != v*-pre* ]] || echo "--prerelease") - -new_release() { - gh release create \ - "$TAG" \ - --generate-notes \ - --notes-start-tag "$PREVTAG" \ - "$prerelease_opt" \ - "$ASSET_PATH" -} - -edit_existing() { - gh release edit \ - "$TAG" \ - "$prerelease_opt" - gh release upload \ - "$TAG" \ - --clobber \ - "$ASSET_PATH" -} - -git push --tags -new_release || edit_existing \ No newline at end of file +echo -e "\n${GREEN}${BOLD}✨ Release $TAG completed successfully!${NC}" \ No newline at end of file