From ea369408fb6d068691322731bd2d1adb8f4c8105 Mon Sep 17 00:00:00 2001 From: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com> Date: Mon, 14 Jun 2021 15:50:43 -0700 Subject: [PATCH] [Gambatte] Open Bus Emulation (#2798) * [Gambatte] Open Bus Emulation * Fix regressions * a --- Assets/dll/libgambatte.dll | Bin 195584 -> 197120 bytes .../Nintendo/Gameboy/Gambatte.ISettable.cs | 5 +++++ .../Consoles/Nintendo/Gameboy/Gambatte.cs | 2 ++ .../Consoles/Nintendo/Gameboy/LibGambatte.cs | 9 +++++++++ submodules/gambatte | 2 +- 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Assets/dll/libgambatte.dll b/Assets/dll/libgambatte.dll index 18f0d80d9d24d336a9aa25bb5095619fafb9e47e..b3ab3c3433ecd58d716c187864f898dc697c067b 100644 GIT binary patch delta 75151 zcmd4)3tUv?_CJpAJ)n#N4qi~aqoUctlEgX?mW&QM7N(_jEX^#7tYc-0W+!V84G7bA z!rB&AmX=-gXk|yk3zeV=cuUk$yPU+Xdq-ZnYMRdPz1Fk$FoU4>`F=kC*WZ_m{an`b zto5w5p7mU3Z_kNnPkzj*IJsxWD^-&u^WQP4XJWLiRTt?7n`IABBWXw&$tLFrj01Te={Sb(Wqlml}(!VRFBT_H3*~;qV;bY zGD@yrZtJYY+3Z(12ssXUL^#sI5zjLa#z zx!WJ3Y?5&x%O>r>zsxai?~jRY^;5UH$?cDwd56{`vb{V>ON&gDZ`W>)?A`kgo8(si zaQkHSGq<Mp%|ruLJgt5zNv+3t2=S2;-vlH2FByZz1P z-mV>p>@t!vd@|MG4)iX&O;9He@DD7w-Tv&PME#XOAmH}L|MCT}IbqdEU^Za##@jV# zv-Wn>f$9U3wA-5X0Izw$r2Uh$#mzeQ2AhHSjT6Ht5j96?ULZ!2HdA;<$vZ=B9TcZ} zOg)*c=JjojI@M1{7L@14sr!Vmks%f0&tXQ0MY))6u3{Q#Pl+smC%Mlzkz$zLde z=Zr10;@qnD1SIV!jZ8D@U?$nBnu!u43${A)pGKj)fRu?6%~SWNyXqc6%!61vw_25| z>~UA3Z^d-ApRh+TEJA#;f&O`n8kIgom}y=828x!0*`0;*0{-T0fE8Q8i36s2Cf z>iPk-7O0n~RU610s6ub8tj^m^_-a)$m+KvHNK!<#a~+wdGqBsOs>hJ6xK%kYIxfE) zjhPe(_zAs=!r}G^>MX zp)1C%j@@i`7wpO1gzB!WOSM{VB{%2f*kIi&wveLBi@d~_Z#4;`XHrv{E^%GcIpe9=_ z4%*IBB)yFtwQlz1T8;fCW!9NMz*`mPEo%p=f!vlt*vH<7L|N>WFG*5*SsF4Q>go1t zi3m8ldr%3wi<*y^zDAWzj9EV-Z6VUs{d%iUW$1PeBE7t`De2hpFMA#Ho{4;@6+A=Q z1e@e?l=f?-z1AX0*?Ss1gflQ23^+ua@-C~P4n!bYB>YMGG zlQhZE9Skvh7GI~I0AGwU>)UJdA2s9gStK2Up4`uY+r6tqT9dXAr8+;>YMFfI$L`uuA}XaLTyJ}hVl&R z-l0dN!UW640cpL2>T;Yu$GS7{QV2BnsZ)_&<(-7T==$)@-aE};m3JCKveZ_}sq*F` zctEc7&cbtKX3?XPvuIF~udE1Bx36qI9=@`L_*>;&guhW#ldqdLxAnNouTv#ygJ|3? zz4ri{w1EaP>i!9cxS_=qxA()u@xtAb%QaTqueEJ+Nw=EI;4(ha9|rsAS8gABPdC|c zwf@OqZDN~rTkm_c=h|E(FIipDCQ`P4fkB(9VV|AkRy#UMe};AGXtc`h&&)qO6Sk@@ zq?G;o+(DYXU5^%H;4ABz>2ro_1KRbssrP7;+x6^2Ht+Jy%bNynjh0W#=5Rp#xz!eK z|By&`Ud2LfMZ2qPYo5}6XxBw+AD_~f`lM(GJf_<>p9B*c@7oG(@p)3TiSY>o+@YDi z`Q$WBA)v6M)KfnQiMSlAEsXCMLy9zh>A)OmtK!>5al+6}T3!5Qw!~PiTl*Yk;j<7e zjgM}hi%cYbEynaf{8N;yM!WrEF_eBhk<=iv7b2VS1EUk%YTImo?30uta;ciUO{85h zE(9==5y~SCQI;@@G)2}TI`mYAgIJX-DFxa_-SG*8Ex192E`$a;)f0jElu({}h4A$K zbq#s?FQuHDr)@zLJ2yXX(-LiEhntnVp9y0ojnEolW;D=(0vdB$y?~<5V&*g^9!)Vb z+AbtySU4~kA;l${KOx)p&js2G9WPTT7ffUZ;;&v1Ligqg^>n)u4wVfmrma<{Rpr@= zks6`|6(d1+-VaBM&ZemyTiI4<+UE%=N?vx5m&ddaUY6fl&&#cZ6UNIJN@+qNmJ9|r z#0g;rID#APnobVeF9)>oot}`ZwC_6InJ{DoT-ONn^f&twjqIdx?$jOnoW9x}okzEB zi8%{KR}}8M+3n9uXr_JHxud*L`)}tvm5jS3p14v^#Xoe`EJtaL+q<47GE(jkjJ=Mv zdm0YAU-5)vlbCSKtDuPk=4H9fvWnWZ-t1C+)W@>aO-AgYU?&yzXREThEzcmw>d0R% zNm_ZA6gg4*smrZBMx%_JTD}=G5YHc&b8U83dag&BWTsuOJhe?qs|8>b-6k+mth+UdKd3l*CwiX~E* zh5%HNw3%ep$sBW^6Cfca1OKo9WY^NO?&x^+ zwpuas9*>X1F8?*MnnyDZm(Q1rM?oGiRcc0jSX8APZr}-IKL2IX4gSo!; zNB3mgiDg=!#B^=rsc2dhz_fnCvLFowuq;qd{=Y8_jzSTk3xj82iI}2hp1m-@q@1QB zjV=uCJZoWaL)gN=b@syGvI|)lWT}--?=jgKD0c=FYjprM{~s(4Zd!pc`do_x#abQw zpDYdz{QG>1gKMnSLCjxW96XA;!xjhH!9Z8-aF5h0=Db7Q-kU=9gjs*vS4ch5vG&@?9A7bc6UW-2&2xN( zDl-ogt zA??!r2Ll0tQdu}#+mX~?dHF4@3O1&ouLiOw7f$7lT}=JEb9q(aKuX3x|LA7Ek|~G` zQS%F_U#I7n(8J{zvdKNUWGn?C5j;jrE)Pd>I)>KxO2|{dJ!JbM3(!VM%`ax}ke;uk zQNS@|o3Gf-I2GzVrr;|k$KfgV;IBm?&{sasT)^bJn>VZ6XlfgG|aB&0Y>d9i@tKm^IE5KKc5X4Q?t zgAgXeLNF6SvMdB$s&}e3>Y`2x85TyI%IIojlIb8b8$q%i1V=kcqkP#(ZZsINvHGh^ zAYWI~1kYf}<)0ZjvzueBMoc>2k-;a4sz;putiV-g zsBwjHF8Eu;-|X>i*jQRfgTtVI!B!%w1Bc8?vr@Oh?NOx@>nnBo?~gR|K@liL)Kt=l zOFf}qUXSQfYrR_{i&!Sct3yGuR1>|93xFX=PO(W9U)iH;veb`=&hRe-0U}_`WPC=X zcmVqeM5RKvOQOQDjG$75YK3Ei9_{1ho8Kw>yd+bT?j@mUu@Y9>7G8ky6brE#AqrX6 zH~XI7gR&$p!14*R-hD%;J*;|v3^)+0NwC+lqDUCTYBHHB<^=C8EN=rj|8Uu{w#MZj8A;{pz6b=2PJ&UM zx{&5dHJ;J%dYFm{@5gdlf21vadd)jFS%>(yEvRBMvlS19&AMp22cCKO9q#xN62VZ25( z3kDgn8zDB7`{Ta`MOv>|Mn9SvRIFNEamXHBEmXVPC{k(kFygVt6jGleI>> zRQDBe$AcUo#(4BkFfW{t)vd@Oakt_!KM$tns}ycR`i!!r`=xjIyKo`%W6{z8nuI~jg{)V>#Co%5Bjy|b%fE0ITWVc znB9vJo*ViR7!3_ z@|0x^4Ml5I@QP4%XF_Z!dF7`tvm)CRoESf1(-(>-nLF7zs2WLJt#J0*T~TY_{X>n> za<|Yzk;WZCK4s~kUInf+bxJgfIr3j^hTYWG+Js9JSRYP*zvjj)qS270&yIz$Wae8# z3;8Xp6RoPp3>rE)Gou^xUPfVzBe0zMQZOPKV!pRWpTM@)#{HN!k&mn`=7*xiO1Gai=vcmU3L!R>$Bv_6@(?QGdeecf zYBa2aqQC+h1A7xjsB ztlxof&tdJ>OFPteo{x}z7H0$MYhk?z&PC^;YRMI~s>d;>57}IcMyN`E7pez~c|6;uQ(xn=K4~FrHBxI^QLC1j+JUFi`lPTr(DjT0s-mGvjXE+d zF&6?m=7d@BL{c-&E=#Qv^OzQ*S|bgW3A6X{1kWXA2S#F=q*zo$ez?x z_KOt38K-O!DS|UjSp7d-LDS|Uj zSu0Wq-<-g_ridiL8Y5{UMF@>k@;Id_&feQWG9yIhY^*3QIOF0&M2g^y2pK6Ng*a2p z6;U^lBv@ml7?DC%m^dd>xzU0%#?d*YDb9K^XN1U{m5JhlGcLY7mHdy`fDogkQ6i9p z(1?;zAW{TpoH9eC2+la=c9BArn)Qt0l%_a)Vmrx}hs8(-zQ_R1*P7yxu+x>aSn9``73O%+Ay zIVh4}{yt5h*3q6A4Jj_&8F57K@(u39U*ngLv{5wfgv{-a`=))e(kq2sy+b z$uOjSh#6_z2o|O3YS#c+NRYNNsEF~3ND^x1l=&h>sF_n96DdN?oHA9UkWkEeZs8PG zyeTc?g`Y`?JOChxG%CiTh-#l#;XN|;$UdG_nrpRoT#Z$RR2?jH7P1(+j6*m&ttUeb zId74-Qk2j#)YS8qc_fSs$>O|4++jsXSivGnQ>}^TGEH@$(bYkbiq>O;h3C^`jA8({ zX0oiOs{X8S3j6r-f?29usoMjYkxsVRuqP*@I z6ei`=RUkkjuUm%z$+7Nj1V}n{uOmQhu6r@qlj^*sD`7ap1-uRKWU#z~ttrbm3u7Llg znj9O9mO@~Hju4@tT^bY{8o^e`(o4qXAr;`&lGx@o_YYax6T*tIB{o$|2`$$g);& z>{3)|UZtVMXeH|e_rOTLMr%QjZIo3l)NWa0z2Z%~gyxBwE4jjzyh%_)4poH*ty{5K z$yC?%!&N<)5*zSq2(SS!LVyieLx2tV2?W@H^URb+CUun`hT3nCw{0}X=9xH5+2oJS zne2zyQ`mZ3$>qi^u3Dh9RJLeBX79)G~T@yTP$BEvpJBw z61kz~DwB>3gtkpfC-Ewhu}0vt6m|iFr9eHDrSLuiEQK`)uoPA_Erm^+#c)_x2xQ_u zgc7#3sXNk1z2OY9s7NUSkrzhBt=zeJXb(%z66wTRSo$R*oj46kj~D60cv$*r;RvW5 zB3%(HGUHp$Xv(O6+!P21e70%9>wi$hv{cJ>F=m@ad;8ylO0b7E@KM1437gXu6d!m#vaoPJgVE&m&X77F~37VZ&SDGe2Aa_qS{ zXi%_K9@fw4K8#Ue1%x+MXiusscWQJCD?zgHotwnrzM(vk(9Tmpc`vL4iSs-q)UX01 z=kpY}g$tY|c`@)Q`ZMK!!C@M$P#LU^x;yn@ICtOfzu^*Q!1<2UFji=&Bqa9|(H4#25?f>k?ZO`oWFCx|m!j zA+dzi-vdhUFwdlGTqkOx<45djWQmiI;D+Llow1?#+Gk;Fd2?DFzCV=*9C+E<2D?&J ztzq=xhFc_fI$pQjnw?w6lY(X{b}?szsDFsfvG#}(6DrUIm&_MXAwLsI>=ac2Nk0y0LpDYq@Jgcvbsv(W^8?yG0iso!)&N4b`exFQ zS*b$jb!G-os0!*(`V!z6yLz830R0Las+nU75enH#GG~qvyIj69_C+3qpQc)d#fnaqCvo_-iQAd~o1x<9=X-N1IrDG!^-iMO{Q?A+m zX4U^@DV`vrL)H9sX;}Y_h$s)#n(B@y$5|mJtT>($&Qr`LsRx@LHkSAhij622X)4xC zgr{&xYZgVSH)?w^HhIa0*kQ1Uih+55^xyJq z0-c0@9(08j^HUFMs(H3_PHtE;n*=(E_&n9KZZt-3TsI1xjO|#DDJu+;rGQg!2!w2N zw@zK2b;duSh<`7ro2vx}B>MAkz}jg8^x(-ZbrM)xL^&<(6z&Dl)j~U>>7pMQUnYhW zA}s_9HCl%C^zYCzq>6KwnL+wDW`!0aeVn@xYivkp8B)r*%dpy7g_a@Bpo}8K&}fTT zd7pJB(^yRvgmo;nj8s(dojv+k#ZkMu&-=ZsM`6!ibh79Z=1R#?T1DGa+kHHv&~My8 z!<9Ytce9VpQBZwQGo-6?w}Z9mW|p|GnJf3O)8c6Jq8-3pZVsFwL@EL|Ia1 zBV`r)*@OwzEL_`_THJWorJmcd6k`)^lLaf!>Q%uvSE$#zqRT}`cJ9{sq|ID6>tkRi zCIMv*Q{W|PBkVQ89hrbxcqo_UIgjO`h1m&LV*1*y0*mx`HWr^7aMwNFg__E%*0a%Q zTarENZh=L*X&j4t=L&&ET4)@La*P6CVc&pac{2j0e&HLZh%YpBe?I`qrSu9V9qtsTI3*&mm7s(=D4m@ncMJF;I}e;CIhcg2noZC_%z&tb`Iy zgk?NU6d_4ARwTRx%lm3kf~0!>5-j@|QDT<3!F9ft2v6AQ+9K0*Aga_b~A%* zx|7Hdaxyd6a%IkFR3r*tO`5n04Q4M+(jafmhD=sVlj67kQ*W?Ad)?h3L?$LRHp>OS zu=AnjEi|27T`>ZJu&r(`!er3iTAR7q&!i|iCAi(EaQ4mh+kBLLjfj%$D4M}h-gs$* zha|xRA+{0aND35<5K+NTr17iRQ4=ghnmdJx$y21UPh^u2ytR==m57okD2iW>l1CRT zMH6CZsijLq1xt1#WUG*J z`-oh@lHKUQ(WY3EESBuX5iER7eR*pYyKzv&1y6BCjfe`C;*1Ir6)eRW{}EBaQk=0= zM1_>%j0GYpSc)?WINB6T_rD1#DO)1FwQ`Y7rGIB^v!jRIrq2 zB#NkDDbZ*xqJpJF!zQAFr9|Twz5`p&k`i2~(nWOriP^F(ksuO?DUlE*5{NC4@H<`G6g^!eDBp?{;!UJ{EE0%2k+7K)nqqI|3YM5a zT`0;DgCe0237)0I;ThxNw%9IOO3a-xx^ftNDTuV@2np+q(Tu~y%^BklymZ8~lo&Z< z97gzD6X8C@M(r86P4b{(oPQh!X1v3d5JzW>WgI4MP8*9jJe}qrr;Yg>Au*jc@;OZ0 zoHk~2n7BD@Oyw|fbK01M@VU5o4qHav+SA7U@IaoWMEtbTkINJBQ$`|(NfgQ{qa8ktxRJ|YB7WSMg7CSBzr37Ue%zp!F$m(vje%UAh#xija+ru8 zHM$_Ic$O0JqedKO5b>i%B!`LkQR76MWdui!9}zwm@!m}QsBsc~UJyTOtmE=T{GhRt z!$ka`v4q1jNdE_o1soyb2aO^Q6Y+z_91c^<4;s@DJ{R%j%c$iCjmLt-4;q8GJQ3e$ zq;QysZ#0rPObu5y8VMXB;v0<^4ioW>2E8*!nEyuOSG=U)T*NP7;v3o9iI#6P%27u2 zJ;hkVVIr;=%Q(!$jYSGah`3_R=P(ghjC>AL%N1ib!sjCX&Kqzl8;(U81#mZlx?&8a z3V3NF8-M38QJ0Nm4ik0R=J{R#pOgz$P9V8xU z?25HoZZ|e_n26hrwHzkmc4GyHN#}M$SxIZVXkj0_GF@i?PDhlzNc(JPkqPsHPl4xB;6=+ zy@E&RJki+BVIrPrY~(NzPc&9@n20ADZ*W*4;)%u!93kR~Mlr(YB3}I}wLH;y@eixz ziN<&?Pc6?hMsb*kXBtB}OvE#dzjK&~XBx>I25kkA?i?ZFnMPZL&qX|&iDw!;g2Xe8 zgV9#YJ;q)R6LF7G#bF}uG0Heh#68B_9HxeQ3}q=th`7fnLHJz6YnD<+*Q1PAPgqU& z74VHZ;^k?dk5T_q987&&A**xF7 zyB_S;VHeFE!VcrA^i*UUceFgajr!L2 zv5*b9$bw}Ojr1W0aw;w|DR%lXU3680+f2Ay?(|36aSy8RXXibn3!c%v0qvjvj4lsY zeDBbBwFNqu*w!f|*V@pi6LRX>cg5k1lm zvZx9&ef?hG7|+>*eACIbxaBFm7iObmL*^REsqXUeWd&z)m9g^E3s=_ZS4h%|_!%(_ z%VG`;nF;`va(zG0Xp$lsC!?$z?v}Ee)izXC`jV!Vr5@8e)o1%}q~C$6$_ahndX&LI z9GQOfnH(R#L@D)m;~CI1dv2o&q&qHi$P^j2>`h}uDLN;MuH#p0|@mf+yd?b3(8CgH_5Uh2oA7dZQ8NFZs42EE|XpGFX zdNNe2G4?MAKOeO!R!3-B_!EJ)4)>8HBQK&6;UC2rQv(w~D`EW9!W)oTBsNK?7l`tq zy+C<^OS7(EK$hp@*A?K_#*F%Gbyu(=eFr%W_+8oo)pwZ@(we>p5wTTjd}(6^(qzZ% zb6c>pFDfBpHQomT{~&iF(v4M!h5drEnmV}3G}LNw3@I*S>fJ!Z($#tT7ut~cBAR%1 z2Xo;?j_P(rw;|iOjCgG@OVSsDtq>PzOgM1iqsz)g7t*ihF2V-mx)jpwa*U~GanPZj z1GLjl7IyxQMg0k#q&&1w1%I3=e&b?xvB5I`FopMyNRCzy6E|r?`x)7X(Yi4fXRZkf ziK`Go4DV;x*W=KII5eXcqUY{~`4{?E>*p-PFz^x@@so}1`gZKA8!sY$mR#ie3W+Go z#T>Xorvt0;14QJV>w?uVYp~bPJbxh?I{>V8_?@8?ytRjys%i7JKmU123caOd1HG~; zV}*-+#pAERPVr_;^uy<_!b@Ys`%hGzaU2CVYBx{quh2VE>YDrbT`BZJu}Snov1$8c z$({G%LeRN&{N|kbe*9?bYd{_a5! z3c$61>44_}TLFa+OVS}ce*w^|Kso>}24n!H0R9CaoOyV@1Xu;w1o#*ryUk<_ z90U3Q2qz8Cy8sUXo(8-Ls0MruI1T7C9R2V0;gVDV*bDd;a2(LWjn@eQE&)(QnRw0s zybkyj5HmuO1_P!8$^rWU?XH390DS=c0cijyzz29A@GBtsT1mPC@Eo895S6V+(#_d; zr7U0<-~iwd;0M4jfIk7_M@rJGfW3e(0N(m(@&FbpseFbnV`;B~+UfPH`# zqrep4YQRl^`vG$SF9Avw{4oGgqroxY9>DW}?SMZ4ms~GN4+Av7Q9$|)FiOCifZNAN z(z}4)0At3&I03%^;%|h$@0X;<06ia&q(=dt0_p&lPeYdiJOC&GD0TRA(SzunfM){3HsE7`dp1M}_zYkX`2pcRuz`^`!qNe606qrDH%Zc^fboDg0iOX{`~y-1 z+zogZum$idVAwdkLKv_d@Lxddn_<*|hi``d-$Wq#78n%Z5x`o&FM$5zCF!4lHvskt z@Ckr>0rLT+fG+^HTP3M4U_2lXup00!pu;ZfWI0NW#J6>=O7y-BgPzu-uI085hknTWh0c`-C0apWt1I7UE06Ylr0Ez)G z0jdD|0N(3nS%A_5e^LN91Ev5T0?Y+G19%m%8n6ja2RI36aVI<(;3B{kfGogR zz@vb9fENJ&2CN5E1NH;H132!Iq;7yq0D}P60&ckr`o9N(*?^Y;s{j>%J%FzPzXF=& zNK$)%6L14yBH&)YEWqP{Cjrj`_5uz9>Hx<95qE;3(h}AZiNSC!jlEIA9FmHo!jt4*|S@V!#W4&468i&jH^9egOmk(f2@| zfWd%k0sjC@20Q?GM8TgzfCeZ7Q~~w^4g%@`#{m)dq9uSdfD14hFaaD2IzRd_IhsO!0YhRP`sQDuQ%lP4sX}*nuk`YQFxzis+E<%agC-I zcqwkuG3~mUoq8o8*SXGy)=+VjMiKty0#GE8r#&z;UeWQsNAXtO5ImaS1FxpBJX#1K zZ(U<~bm;?mOB&0g)fV!KI8V0t!lHl}qy1WBP7BWzd9zhz9ZRhbaw7=R(i52{jx>_TZ@Tu!e$!YUO$t%2=7{#vth9kw10_sz1;v); zdRbZFnrnANyZxcggQB=@OLO!V+Yr?qIUK51E0ccm1InKqMg{G(w;zhKy~n{8rm~ib zjLg|lwkJe}sf`B@m)t%_ZrjpQz&I;z3VpB@HwE3tikrfXwc@5gfBn&{&y?ZkR@{_Z zr4=`2_0ErwRR`_k*?r}Gt547FBin@)`x3R}f1RA7$6!Q-sf_UFEkP4U`0@@Q1>aP7 zDW7At6r=ZCPry68@hU#j3JaWrA;{u0v8LHPV+=?e>5_E?gP?|BPR*q-}$ z^*IV`7>X|7#;eY+(xxhj!>6`oWbu~nQP{&qNw>NvDGeo6E}7JFkZoo&eey}l^V33z z)-tZmyp|!c-!}2q&DwsYr_DQEJEaVemui=KdbL>yE?nvv=kB9U&-Zdx(FdKh$)3Np z`Vm6SDtgj^g8G(`Q+ zmFXzmufMF#$xH5gV{1|l-eI{RK$4}`IqRE0lJNu9cdL;Qi0^lZx@&dGq)X*)+TlFA zEl{f+&s(OHbCXigBx(=^FB zNtqjos$=cX^jVJ85~P67a?F)*Cn2LMIGPzC0+U_c2uF{oWCMqVDgUu&zF#kHuifXDJ2^sB>VGfG@x6nImCB*pWkD zg?6wl1L3$;NKCwfe*nEwJM>ljB|FB+ElSo8wMA?5y(9l7?|}QmX_5aQZLV zZ<=3S&uC_W$>f3B9h9G=yqbG(bN9)2RoEZBd5*@9JR|%9#jun=RylRnGBl5P1yjqdBL*$VKIl8;h zGyNWqq@5_bZk+L!z~7w!N%&*$6~&gA#gJG}?jw#_wx>l?ni>7wL1>&`+|d+iAX*4`RdcY?^@a(etq?~3wq1#$vNXgL_YcV zO>%C_4RI*0PhY7eKKr*uvj(ixCLt>(yp)|v{k%e3^6UuPZ|k(WXAfTG^nH*3r{Jub z+XW9o7~y{@5ka?qXp(bX3naKR4!9h{s~+k!qN3J@%_efZ+x5@a%93`xjmHT8vnQa-5&kF1181XP?VlW_;Y|N#Ggf*d{U03AdOUY`n=Bx@ z{R7_xO*Hl+{ljV6^Urm^@kl9YJ@V=izTtgQc^r9zs=4j(I0KT-%DD*$O2|pVbENOB zzT%N09%mr%g{?We_U;QQii!;S&WV?^d|nB}5VO<6AAfrk zJz|H@!>4(uH0l(wNfh&Gnfy@u^1~Y^5)U{iPc7$%Hd{Q#iAS2qOXNpCuU({8L$s)E znRpb5#}t03qxs=Y)8;SgW8d(ajPWP4Qu|<0YB&0VlV?Ld37=k4otH>#=T)$t25;6J zFLqW)g;)&e&!48}aJQqhC=xnThmXU%QnUzQAof^54LJmvY+28B6BavsL8cwbeN?rf3dAHA8a|3cRNaB z>`s4X#NMwWHf4ARQTfRly$d^gvX@?b?enJLZ|8Dvd6Y}7rkAuKs^)viwA1tX%Q|>X z_BIrvw`wDQ93CSkSC}Y6(gkXkV`v2$lg)*xR8JsPr{}9wkJB*(XG-D)*_+gPT(?hk zt-kf8XxTRQ9qr!5_b7=jb<|W;Pw&PyrQmUp6ny+0At8nN0i<}p>h9C#0L@W4T>1S# zr>&ktw#>AL9)mJ$_*tn3Il0Z81vN99J8@=#PB>X5ww&ho0Mty1sC!&Kjb6Tu#{@hS zJh_4C^O$AFkll@N3`BL*of!^DV-muSVUBdQF9JTbAO4aMBj{2k4n_#Gp%C$|agC&h ze3CrmqY42-ObW|M-R5!(-DJuU?;>}l3t>6eqi2yAt9_~vBi=J^iIGTsqz<2!;Y~si zY9-=6&UI)ND%wH3;??J&I<;7F3?a3Rjl?7(j2~i$cnRvAReKgn6PiU~b@&vYw;ckG zwZms&d!D=zg0m59L&4JFj}&>yH)R&Bj&E(dlv3t6Gb)^p;T7lsFUYaf2=Y{_M#A-; z4CD?-?jYVr70^zkcdk0sNikOJ26y(_BAnY`8PQjXHC{&qzf+CZfGv=sb>6sO|Rx!mt= zhF_2%Sg(1KG+P^)23|7Xpkt8|lnc-TN(zGwGYm934YGL@%hR$N42@`~m!ydb$tZkY zvflIBEzxhvaQ~kT1^TCP$Erg`XZ6TJhqc%>S%sUf zXp-Ik1#Znxvh3J_@457gyqG2_TbyC4SfPB@G% zYMih22=k*YzC3c>S-w1S-FT1=@CBSqdZaJ#K|N^ikP3KEWRl?V9hP}{lnlBodGC6% zgTRQ%PffzJbGfq$Z4whR;lxqUG!0QMJ^v}QTA0RD!Zh;gO@lL`5R>*$LK2pdN0y;2 zej{oS(>GC^7!uhoo-*wslsozw5Px1Wbt_(%yS zD38+ie064XYCba%(n^$|R=Rw_R<==v z3__Zz&3~i)B^TVT5o(@WYrg#N3bomL!tN-14D)7Mf@fmhcZ(ZiHNIizrcc(5Lr+Pn zKxV|Yz#(th7w}yHxCHY%gP-XB7+K0M&uxKYTrxW=V4F$4YAUMFO8wnExr`LFo(2Zt zbzQ#I+Nz>{2%1D9k$-5f5?EQ_qT+dPu@K4Vi zVa_`~ptXW;H5n{k1;T$7vWzNkCjQa{#rqylIRcI$Ke;DY`c{*4!o0ZYe%GTzfsrz@ zOT4~>>mXjK4pp$7&T|0AkUxCfbdzN;Z_dO-vs^^K>2@_f@u~FEL{~C4Mu7?c>O}3# zzbAB~zBIk7d6u5rP8_eliHnG;p5b+AvsdKEeYJxtx(p^4KeN5Ld%@nB+;Xi^fi`(r z;sHm22kpa^TEYc|g{T{=8}$=?%|PwSmG>#s;tw#IVUF_xDNQ|-EoPW!2>KJkovp*pp`1Fn>!FmDVdoQPiWRRB-mWQ{74%rX0YFs>K zBdS;d#DvqKRXWv=grZdDsD3*9ySmS(k#Slar01_DVj#cQr;)+cliy|*Q{d9}jF^n+ zAy1{lEF{C2ZVLZ~Q>O4y$BZ9czNO^noSx&dD`ROt1o`uqt|At4=Wgp@rG>VtBe6&}b8`YP9WRxslw@I* zbX`k$3!ADt3X&0pGT{-(f%v?+Xk9vY$r+dsXClTO*X+bTC9DHe|FL>hQ=Qhkm%Wlizf8tz~ zzv^9wnTk>O)%($KCrg5=_pJ1Fw?_JngE!TQ(&)PT>87l@UV0Joxbrb=3yk(cl zxVJ=O)r@-muN zej?Io4(O~fB7Isvo&*NA!alr}kzt-47ju`gWbxVJG(=Xk(cXTytL)KszT2TU_1fGX zu5_&(s>4T|>E$)L<_HQ*-KT$hMr%=;VfOEi)&y$5z81$F=-*L1si?E1ZuP0;2>H9; zs+ZbaP@d^nP>G`x*EaJj%>pGi+W!y!YSOQ*$fJ_zu*bqaAt<{lu7QR@Avv<|hVv(M zNtL@xgBh5$r9>;=pyyml*CpF;8@FkI;sz#{CTovr^0PV*qpp zr+;*$-n=8(sTkoBOfBFiHhQ-|F^ZAn&o7^8!%bE00IJHiztypzyr_A>)|s7E-h|=} zxXiRNTCO{?D)1U)>MfL@rEa)dp=7*NaX$WDV2>a@2Y3I-8=Pkk=$sm)&44C_5!Mkz zKghifSGjXR)QRsZitSNz(t{n?X-LO|mMVC#0}IY|nixjgs9HG&6HMA^7aT*v(*0Uq zS#R4-%e7@?*LPUDi~R50dGOIV&P#;IG3GqEON)DNpl$XhZPHwj zQi{5trmEv+#*@a7px^qm_SAdrZLclTmcKVhq1~*y*5L~ZXGCS#_Ez>}-mNxQ3D@`s z`cbdB>2;02A1?>Y%`faDmAiZ|oIUx)q}o0i$y z%+cm-9%%csxAvdSNw(K(v;){!6Mkx~xFl4(U+eo}FWWmyw2>eFhxaJG)p4GU9&m^+ z+0MozcU%E~yft^UTEY%f>_<*6rvBve6$)orD4b;>IZIzjCjO=`V1b&ukU*pvUf3sG zJ#Uf{$Qpvr3E$2(uUw7P@B zc8U!=?gkb{&+U+uHAf0gkLD!s%$~$wBMj$_`Dh?xIi~ z7g+gDEMC+q?{^Nj%+-6!s7@(2$x}ubrKFi{RBt2#>D~|V*HKUf{vD;OqY>GC1oG^* z3Z#vD&yaAntI#^gWiWM8ELQZVqDcyBI+CL+jA1~+j%MCw%2q#0Q^#Rjkz|pEXU56t zapD(d{W@ryw%#gt)DpL~zlYAfFe#z;40+0E4hI$rIU;gOS5HFaxjR^6RIfhvM_v?c zP%FK)gTY_|-SIMR4=IyRZvqb1mM(I%#oOB7$Q9VQ0!RLxP*|`Mx)WwZ1GVcuG!ZZs zFd5(j>;v4eA3rSt90uHX04xCZ0DAA!T5f+{epP#I`=CMFd!x#o6-JEvD#-)cM&qW> zf+6eHVH(hagVhM;?EQi6edN-@5FH2mO7}p90j=wfYm$zlu{f`=ISRf-s4~A3Eej>% z03vy(rE*Be`;?~c=zh^kk+OtRaP2_KSY3`5-~^4DIGtBnyY#N@wB0)%w!P9;%icLs zUZy?2^HN(9MH00ic21CA*RI{!10jd@&_`D|>E~qFkHWMcDvj)GJjZbr`#yX#0v{iC z#o~vxBJ~(Q#OKm;W6%;@>(X|A)ZSLTMKeCSsa@g;{16LW9li4yX_y$(#_Z~2yQ#JI z$gUf0fjDq+k@m-~zH&RQXU%1bxDMx1x8Y(;-boJ@eh%+Yw9C7myb8{5R#Po%95e@>(yr*Cbbgd6IWa6^a^CYeg;11;R>DPx<<&2V~8 zM&w>j^_N4K{eW{d=|$bDUA3cw(oS}iZW8y)9Hk2qNJGH{vy8(#5A0IJLwEE>z++YD zxcivD*$!-61&g$c3J7HhP}-Q156QxIp(Xoh9H>OL5GCAL8iq+fR!ARTyQUj&=EQX7 z3{<#;IWsee5~MYw_Xu?>_|f8abyQ3q{CScb2w)Li1XeI8;uZCebD;mMd%Y(H&r0^5 zaOHONp2(g#-n^VR^M-ZMkXbY6?}Ls-W!_qcmNdgQ&WtvXBn0?7j2Q z)YQ)h<;}d_QCdhQqT=J&m9FGM8eGyA&9=r$&D8G(|UZIfK&V{KTe)J3ANyjzscq5N0`>xGmc^J zAibDoGQMJ(3Duv27v70z_=n(W9e{7ek3$AVbDGj&E~kp`$ft|%!DFGVW!A;>+SE+4 zrf?-^4gYEh4K(VPj?!XUJmMYv6?^N{%{-13@;LT6#<9JanDIC^9yinJ3Ui?t#tNy7 zx|oI)QBkiNe@rK}0v}yJrcL;ywL+Jf)V<)8Q1o}+C1G$F71Et3b+5h%iE1%dQIWh^ zE{vqg3MKq?W>n_3gd8h;9CfK12@54XgtAwEd>QrFDk?Oe3l*7#qLVi}BdUCbMg16m zF)7heI<(a?nEf5FJhdbZDc;%$aiJeQa$e$+_qBw5-OR~XXN? z4ecu?+u@s2g=EiIpYc;HAcqvvgwnJpUM2ASv1$A9r5dF@v9({w(=M7;YqRzzjveBV&5P^e#C$ISrQ{3$TTZyctL9dH889uHzKFO?TLg zhfo!0cY+h3?u?|oohQ(Hi(EK``o!cKo6zL>P| zP*;`4ABuH~DAN1EBvOQ7c3G z|L^Gkq(AEaZS*SK4_7Op=W4o`2tT0h`!rEGM%{dgV})of@W{9RTrXRvPrLSWhiw41d_Ui$nA$ke)hc*l+R(2k63QqpB58{TtDl%2 zR-f|b1-5Dklt=BQW;whwz=hi%swZO-l7cofCdeh0@>cV-gJ1Me<`t4ZezFLrrBn3-b{9OAXzYPt34wn5?+{Xf!Q}c`lLd ze=H@R=N&j$hySAiA3G|J(r06rKo<0Boduiq*WT7z)GoHIS+4!N_F_vgL$SU7mw3tZ zvS5ULWI9T>BzcMo?I1Wa7SbxGMypu<*u6UyV}C-h)iYy*UaAJE>Uf?(U0{!G#WZt{ ze`2;C&29;ba8W;l9#oA;POqIgfr=bBB8S%Mn+`X?7;BMfTwl+FBi}`&{|e>DG2d5r z!Vu72t^HStN(@LDdpiW%<;ed8k-t=DTdI?5L|qtCTTqq7p;bQKWR(i-l!zH-=m?{i z=W(6>;sc}rp&a^65Kl7UGaRKQBr$#6N{r&9G^L0|n3?}J=`QzC&qlH7;q(uc(|O`J z^9qQW)+2%P-8xn;YBi=F%8WRy8KP)yQdCHP>sq_LhyGOa(<$QPBow12sXM)gqACk% zQ$@zb`RIyDu1!il;P*z@X$D5KRUgk>O>g#S`=DGy>}3{GEdk$hA>*yS#zWG`#!ve| z!ITE92aGL40;;$Lj|OHlPK*7fvoZ-8upBp)L)WEP#x%Rb``>tMZHfeAH^RZb{2?M1 za~H&$jd?@=jUyVSn=KtSh1t>G_~ucoXa3yoFV;+7hGmyU6MeI0;R|qFws#><-=0O5 zZ*39&8eY^NY(_ynv2hnPr_nb*M%3sck7$G0B6GQs?axVp`vFlnq8(XSNUmP4o%;4U z+qx3%+3&7%nPc|={1EalNpIStL=`_!qyE_U`>q#NQ&T={6VjAQL`0pKPz6WYso!^x zmqlTC5w8cMEjF+9Zi=?#`%Zr^M=ck;ntN>y2=Ho7`|116m#j*|YJ0QyRG;ZaWg)lA zxI*UnF->?=KNq~H)xEYw6o06t>)q|UOZ}zAJY>*R3f8xZ<|RI!>>*Zz z7>}Mjf5I#=bdq5XP?gU1Ql+ya3O^X9UoR?~jSh+89z4z(gQ*rCpM1B9(V175m4&g8 z1MZVW`gmywBvfM&3w$BB*tX=pbZiDFOo!i?(2 zf024ki*l-4Xwzh)wJmFUs5UCQjC5w%QILTjiJ6XSx1L$FGL0OO(Oaa_^?B`AmGvQkAnnC?&)4B(MLzAo;Iv}I5IfU+i)D4ZuK!Q)L^lauipmR z1_rZ%4)Wdm2=X{`YQ)V&HX0dd4os z&+mOYEzF1B?>8^wE^^9#YIXY%V6V;z%aH1gRKjSoeH^>sQTp zbV4sya0pt*hG?^nY4&4NdN#y+lCIQ;R#&Gzee7QTv6OiP?7vCIf-s^+pL%q4o1ccs zN)m2eU?X?#c+9Dg<1Csx0U>?ohtRPGL43`L}SyJd7GikvFom{Xe&NnE4l*`P!d9U(w2}<(uX#HZAj)P6{1J zZJ>b!Go^HLz?c`hqpRJ$wyF8WY3M7yLOcG#X0AjokTM!aiV;YI1kzQFBgF}%s|C_v zJlZuvubr0nYquytJ3)Ir81ABN|Fs(!CY};SO^=D1l*Y*=2_%m|%4-~{uRwZSAbA@{ z>L-x$V{LAdK|$kKDU4NI$W;~2Z5(MJkSYtY58vfCyrhEEYV3ef=kzF{TZuUp-`aCp zyiGylT_k6EzC8wW;P`6-jc$UPXcRP_tViScV~AS|yZi?^VwwjH0hw57J%wp1$tyCYDoKhgliu^VJA!1d^9Izkf0PQvEm);%0Eck;f@e7>&x# zI#Qth-}-U2=R9j*1+L*ntAc{d;0V<8!|$EN*x<--ZKi=|M?oYanVy}Q&<>sY8oxr5 z!P4Jz#1#8yh~Ns>T0%1&iPQVtU~CHKr!KME@Un^Ao3Sy8sqaCE8Fxsp6*1YsfLF9K zb%~aLe3He(fY6$IBVzJ!2k{WknP$&N&0xsn;S>Z-JP=w#9%=;-w+gC~;9-=A_0$Cq zwc6wpccz;)k3wa^n&~wl;NcA9a3}FFfHO_Z-X`YLf4JO5PDVTd#3_V`K`JP)f;SN{ z)`q0y|C=L%{ro2>n^rE6ur}|HZg+X0Ft`EUULIc{ri6`bGo#V}54+5oTOGgBO|sE)8HN1xS-+X$s(9fE9pafOz~mz8_!^U<_a~;5qyNVKd+`;1&G(eFvZb zyZ3Jc5^&V}H^2zMAv*SzZG$2rn>8OaNW1dXO8E-y`%~#xcKPj0fNu%pOTh!`d`TQo z>&s+E{?lL(M#eVa&O5UNqMF{qIxbHT1iNm~b_Z@5_~6U*LWPg` zO=EntnlbKx~btWKXaSh$(Hf*Gmprfl>R_+t|L>VTJXX# z!c0IMn8}Ug#b0XGDsba-aO{nu=#hyi#e6hJ*%Bl>*Clbid+VznlY~4vDK}}BTq(;f z`}alSEKckf#z=fKQF&mrXu_DWK$Mr1TqesMY`-q1XIo{0s0um%T`XiFI2$twN&Apw zy(!FUUi^sgTH~EoTomLZO1FPZWU%5IT-LDKfJ(P=r9x(VOTLh0hwaUk%*?YkInwsU z;*#BC<+jaZfm*nd!%8cJXRU06muF0#%@)S{t$3U{G`X?O5_izj>HSu=5J-HE6*sl9 zZ<(bH+M}?n0xwZMbFWp!8i8WTG=8NO2SpXD477BgK5CkU?zgf{iUn4j&}YM>2z~TJ z7J81AZK6-)_;qZc_<4zme+aWRVWfk@@ijWIfUHuG+|VpFx-5*mv6D(3i+}}3E-QH+ zPvzJfjo>a6xT9ZhMCQ>i33Zw>=UEHt{qse_MY*7^(G_Sug1lpmz(Xk+-O^Jo?!$%FPeW zbE_qFk#c;A+b_pH6EC+P=v-t<2PVZHWqyB4S$(W5pM_QP^KBr^#}i=Hoer-j@$E4~$I zP;a-oWOFOtlzVvQRkHxqhMN4(%O#_~liN49BQos`!AA_jF9{M+W5_kQ-(Y$rDN%AW z+Z7_B#E-Q&Gy6}r6%X|X-T!N8g<&;Yy}oo|Nn#7RT?@0LFE^v2 zZ^tfLNTu7gFne>c88tib<7Sk$+n~{zX4LGuQ_QH@TgRJGvx8n|M$JCyTv+mDq}-)M z9w*1+Ct1y|#eKlgmsZ)~UGy7D`nQywcF)6c5`K%axnxR9d6g}xe@UlkIZ2*aGB_H; zVxN+danbT+?YEbNSCBvz>?v6sE%!hLZMcH9>!RhEvK%P6G**5{E-ZOHR_<PQ@f$S?; z&_*5?lX4M;5EXBsi=9c11`#rdAT`7lLCiO(UacXBu|-@De)f3w-sd?}y!bv> zt_Rw#GyrLt2PKPPfPC%a}j(c=lkWzNMzebo`~enaE~0;khc+^FIRcKw_N4<$#P4c zi_+s!XV$+$EWPM?C5kr}V#N}9A_n!Ey+mG*LA{cf zSn_DK#F7VYz^tej4W%24<-l0pw%PS_|CBrNHQc2l1$SfOzH&Q|@xq4!el)4@XbZ5d z?VfG1yo8G@XJk$s?^t6I_S5tlm42P%$v9pr9GyLHHUUog@FcuVcps_}owb|)(s588 zwhw%}lXZp{)~SmN4^EqtUI$5g2E1h~dy)LO8SfUIUY$)hWs~rfOl-~@bc(9Z#$Va| zvIu#ubOkzB1|E0V_|;#qL(th@=_Iq7^Kj99kzC)L&m1-yHBg1AQ`eyiaY)`Uo7Z}4fqeKrJ}xl> z=g*G_z+^yoT=bd+23&qY zd2=M%BT|f?BNqX?hZ(l&+`&8{k=K;%gVp#6`*5Z%yIw%gm^_+%ASUC_O5Y5iLZMz^ zubVn;yT|19&c(%1SycSgJT40^@do1Ed2&!YoT}I$e8-^ci?`<)r!xMHAbWG3ar)Ad z&f2!kt2llu&J@GAnS;*p_6&KX9gnJaVTO09Kbj%S+VRLByDI3u88Rf9r*!CVnyCVs z9n)f#wPW-y&+M6~S+uciC~O7}4JuKM=QGP#spYw3Y(9T=sbyPt!X?dqr%X?4_OfCR zyVOoq_re>7Hss;3l*hg6kZkf5E&pI`v*ja9oo@Y<)S4Nj>8~~U zq)E`4Pf6piH38kAxinSf)3qBkhrv)jGf1;RYc`W+zSew7nju>{6FMITW`6F60i!>dzW*ce33{5*x_NXdrEeC{W z!BAOyIAFd*Ycff*LTk2>X1vyXNg9XN)Jlb>q1NvmpJ-+WG5a+04Kb@U z6VemRq{*^vPu@;AwD3t1Hq^`;#QZ)i-M7nt3e8Pp4zubL#M_u_G4-XxjV z3!~$)Npg2D-b36sUjEdJHx}XJrL8xP&bs4e>)zN+29Bpu6C(n~%bC4-2XS$nOnrdc zgR(H}F{%$3Y#UkUew+m5XTi!gO~@~_sf8OrB+r8{Y`Z36nl zLbqA#@|A9ZsiTug1QLw0Y*)ILrp^wXpTTq#UyUUjI7@->fWg>h$pe^Ua!ri`nn$%} zpc9(zrp5_Pgx0)Enj2%Zw=`%@8jM}G?h8%6siE`L1xgciUKMPRsmp+_rPh@wolrXe zK2xCkN;d9_^KV;U9u-)s^lvJWqYsbrbHOCnVuCO(^}$4o$$aqLEhe{=Nm!*Qh^blg z`Xj3G0u_5yvo^(U&}@WaXK6N8u};Oxz5P)07_Gz3j!N@8&g?KiWNd%v&KOK1d4GQ% z8}sVJGmbz3zI!xrE$E}(LGe27{Zr}fT40=I>!0`(v8JVW~C#DSE?9)+H_ykbVJZ* zHBD3UI|f}}?AEeq$X?WREa+9~Y9*!B^Iuxt6tqjz%|Jh@=!VTf4?|tNgOw2WO_whW zP1wwSr39T+>wAsKN5};aHezY8f3xw+G4Zhw}+Oy92p=Xas-Jr#6VI zBY2+ZI7TiU$w&A!4&d^$k$kF{HQJLpitp#CpAW>cwGyxMi`qj}ZfZoo)nD{o*%L>4 z`;Q^%x6Q50Ev+aF>`pz_Vx!KNBd9c9su4ih;4KvuEL>Jlan@++MyooiB5L z)s5Cq^`Q>D5OY|{J2bvft1jK~mU()gl=&5oVRSI>QRetY+CTc^9AO(w4_Nu(p_0cg zVN9C-{Ku!!v>cOqp_h4EivT+XDghmVhhgNE`8qu%9`7NGALkK6_xCW0jdI*E%hA}& zac)=zulyP}&B68HyIdEj3is_MyUpMcjXIJ6{8rX{-J8myX*W3w7GWVOCu`<;UF9n? z_-K*ZRo&O zgl6|E?fA|rr>}52S5a6L?5j?4^<3UWE}O+Wio8xnc0sx=7b;fXn1z}0u};c8U6Mq) zk)5P{9uJo-XLDEhIGikb4RRQ~pCVtM&FeQ$hR!UrIn=|j5mX8En2t%2H)ivwp14rw zC9mKuW4E{Akd7kD2-3sX*;x*l!z1e_8x4ht+hP;;YDejw!v~1wI2oOT9mAN8vJA%J z!HzOGlSjsM#_69qJDMe3w^3EMMMo~5?jjn>j7*+5Y6eaitB#$IATuv0e9$j3LyOaPl}^RD!kU?W^vG$}L6&A>Ljq6VaRji^p3s-HKv*F_}P z=#FU}sGs|Zx$TWEmOsr!pJpf~C|^}_V0-0C*SULp54t$dC;1VaM>|*lNzua9AEp|g zLauE3u;{kB&r}}`q0P;bwsP?T9@54E`WLLbcMX8AAT&md8URC#jf_g<-w%lbG)>!> z;xbMF{*{mC~Cr`{brWF!n;L}{va;*e2Ltg9}?!%)nsF2y5IOld3sS-|Tz9A2Hl z7#MW7OZ!4ZM2Fh(wVF7&>t8&q{Yys0?rJMK`J&l*bep>y>qr}Xo+qU35NfP8&{sB= znW}-A%Fo)WWo(S==fkXYNP0l2eEYzQx z;WaI%n!l{+(V$mrnkqa?+m8jkB9T7PBNLzGEyV}%o`-?`rp!yA>Qzjt!)a2z09nO> zVTKy1zxx^r^O#UWJ1p7spbv@OCa?6vsVX@M^5-SIzWdo0m3>_i?3)UMr>aqeU2U$* zraccre9Kx^nx>x zg8U|%5AG3cD2*8`Hy!Wjs)$rdee&^Fvnp9pPHR<8KQxmwmm;Uno5|ILPc)OSE#)0& zL?ex*I>vgo#Omj+Iq5p?JTb>wri=P84rj#V3gk+A#^mLA=csX zDO!O#HB++W>?~A;%ghd%RlUbXz{JS$$r&B%VAr6tm)K zZEGT9SMVV5SEOvYf=?9hHeo7YC&TP$Q^{2Nqa9gi#cS>C zU!4K%&f}|7&{jPp)|i<3=kgE{8ZF1?;=DR5hUSNWA(ZvJ7@41oIbmXqng=Mi!J3W$ z?a(x3lBj9&+bD*PeNU%n_);zgM$5y`@(W^4l;_1foS=)ehVtF#_zPmtXwT5+`D`wp zY#>jrvsSaty(6$7)>gAR-{OBk2#2t!kZRHF;K@~-xaV}`<}15`eA3rmo`X@V}}1{{|A z;NR!BcbWW|^YD(8&Kxgh>^AJDkGu+5$&+(Bd40gLy}>z&`{u_ilz8r z&sFjI=R4lH)HC%umlhw%wcql_qXt55j?#)Ep29nkEbSOp!K?bex(KyKK@K0Tte*9j z9bf3mKa{E8AyDiG`gcuJ?cO)&`eLGzxdS0{WjGw6gsU;wt&b>)-JppU;b#yy(jt%LbQmMAa>p-7aG^{eI5diylosoRc#zV^+Cv zPCiZe%sIIOxOXAUD@T=%&W1gQ$0d!XRK*VaQ#q|Vbl!v+t}GaFUh&FXvhEKY$28pn zkY_NVaqGNG6IQ|N4(;=nbbXJYgk2@>Zw!?u_~%rd1^ag~3_tD<2C&sxfiA{3vM zKY!2TdfbG(vi(eNGfZnt&~$KA@ZN)E!rOA-72eQi(^)1Pcfewkb%p!-tk;}Bjg84? zW&RZ&;p3}?y=ZWpI#yk#Z=dll@_v)|9v!XEQcH$5SYfJF8O;Habw+mo0cDzV#_0cs zo+p0b&3(kYqcZ%^^P!^F ztebam4fSN|>b0xZ+B|`O^Tk|z_p4lehi_7iQRe_I(7uPtA&u<*5BG>CevyCt!xQhL z%HbAaUqMw*C9ZdFu=DB|l%O|09@om5yMU?~`-^8lIgjS`$O6wCkUL6&YQFH4Xeo}~ zcwv_q+3gv8kZUF&4Uh;30$i>s*kQn{0P`ipgdIbMrw(&2zMgN)s(#&Wcv86-?-#W3 zHLASdV>{$-f3aDddCfB@Kn%tm7u#@iZam(nMTv11g{zs-+vLGO(O7)2Rel*L8j7d3 z%3Fb=jcEFsye~*3)UUY}uIL>=S7+fhRyxsvt#V3`*d}Ukm2eyU|GKD=~{#+YbfBmYbZXNNY z5bwS$^XiI8V&=>8kGjGw-hD~VuO}WCF)zs<>WS6j!b>tUM0muJ4YGBpXd+(P;29h$ z0=ZbSK|T^DT8MT3_T+?#xH{sa59IE6k?4NzgFCcx7j(ws67)F*XKwp8tI!6h6dI`g z5TgIB=&?lSD!K{LixvF?f+W}G!}vH6GeJBF?X}4uwh%EI#G6E5#4zNjskPPWS*6*dj!pdf!4b^U53)7ER*lrG5A_7lNW&d z$5vw-)(}D?3WQY{(UDiEf8lpJj<(c;`F^CtKGDqfd6Gaqa=A=xD?;j}(Lo6k16%)9xt%Zz z61E;*jGVDOpr}sZ(tGf_WSK76Jqh#enI&>u5^{KFiE%{Ayd)8jxC6H~o4cfn9CEU~ zJg%cRFQWL1v(=$IQn8O4Y@`^e#M0JI1c>{!4LweWByBZ2TCq{txFG{Y2+~QiD9IgF zo}dh6b5*nB6#MlOT=GYfle*Mpl;l6!W}>p$q1j1_eR+v&n~WqYb&`x^B$=yirYf6p znte>MLzl>n$)dNInME^PnEX3g)Da`IB&NcKqFmyoe`Mblb20z>wZgO9S06A0 zK8Bzj2@sHlg|8u~K}itOfWXfX)FnZvA@DZ@WhC%11ObMi4o1<{Us3Gr+ku84oCKHf zRUk-$49TaI1}7X4)G!2VNpRQ@)HDRsNU+xs1RH`#a`LhvsAUK`k$^^X_U+npgHRa< z1lOL*zFo)Q1aYqH+ctwc26xxowp6@hId=dz%I-AARB!t5yx##2(&Dpn zDfkvSZq@YbL;PyLR|&23v%%bn50E=RheCA1@5lczMvhPTT?U2W4cX6{Quh*0D}=*Z zS0Hnqz^)z^mGY*mYjwvQ;au6zH`bKm14XqOn?j_#gHT>i(MSxBmhPTd>%WeY|L!T; zi@i~@xF-(BfK&2^o}#r#J0!zC_t6}`zYe1D24k5oT>~?nXK3kC#RRoGS^6)K*M3}u4E6WGm9MOBg$L!{-nd}D zlU$s^c4k@OTwEcq^#<|p7<^_TYS3J1)Jm(e(Zo8^?-2H91Kxv`G@6x z{D9p0fau=p2nNiuLU%2E1sQMtcA(t$u}8~`R{Cv+qV$J9%ga}tr&l3ncN_2@S;r~D zMTh^$=1wuPO*{vEf4F_K<;yj z@nO@HGP8C+`iwf=Q4>}aA)ECTO-0)VvVUJ}50*v9seQ#^F=3l*@u27&-uq1yIlGAW zUg_5fSupbE_hJ1ZFA=hs@%D)>X7KYves#kbq@UyiZ>`DX9zqHyhY~^E29dw z$_o#QRzsFRlwA~f!fzG`I!9UQHxpFq??+=ZQ?iRt`s2fkLPI6!&g&zIT`N zbFsHWW5kzqEty*@yH-bN9V??+Z0|*!Q$J$N3)wYeM9CvBnCA42fJX%F5 z%bEMadF(eZVc?q}RBsaD?~;aqt?-hN*IZgruvEzvJ2I=6qU;+KZVr2eAQe4j->#xwYpBD=lsEkrkW)c5Kq zeKAuhT7O~t>MwoenSo+k@Zv$J=1RW>`KZ4q^-pn_KX3C%awpQaG4ZQ?OW_2KyJ|c_ z<9Qmd()bmP4{3Z><5G?P(KuB5|ML&!|3S?gnbIDz;D1W-k;YoVoWCo1SB*0?j@S4Z z?Wl(4mumho&Cl@8h~2E>{~N;&z51C>U}n5rmvn~4gEbD-_)l$Ls_`pYzEk4@E$^WD zwHllL^S7`p8omY&17RC041v7@%jbrO0S&WGD*5R&g|h;D47=DsANki1F}icY2TI|x zDUWFy7oVzL&Kyo>8Zx|fQa+b1_R5lBB40X&35UnFSj5_1a|{*SlQmrA-6!p9L=k3n z^^;k{M25VzM&#F8WWUkEFR+d^*J%-!HCnU z2nE*4!dsD9WG&CoI8WQ#HSa%0rMGR78=e>I+*8gfzBrN_ZNM5T9NSu9yT&Y0@mUQN zcC=AAL8njCa?}6+N9<L5b#5ioGjfrZ+2+*I1>?H?giz2Khz)jGe3A zfz9j+jq^1&Yhc62*J!-E?ok0VeTHtCGL5b2-Q>WgYf!Zb(^{wuGBhq|sd&>tnU=Hv z|6S0-sKKp!G@;oAHr*AmF}lVY7sq-wtP@*&LRne)-_(+r&i@AGL!4*u2I0@$86T_G zwLhlPdd(6@P{Dtq>`Js9o2KkzHMVPA0{qrWx$Q(LjY9?}VR!LvHSlK@@Zr-H9 z;~tkCUlt?l#eS|bF`bnylbc=^%^r+B?=3HUS|xUBd$UmaYm_`+%W?mK(R=yNC>;B& ztoMqT=PuFy3f3ukmQjGR(59N1YYpgr@i8> z&wPAb=2UWoA7~lys%Y$X{H=@}ZB=4Y(l1}j3#!P=ZYz7l_l!y@YkU?bLh-R}6n;S~ z^0d4lQOVb8xud?pyIFB7rO4BYESpW!d)D6Fc-HVjCp0LsfbYu$9)QCX?d(p;4%_mORVMg#>%ch+b`DgJT13r`z2a# zi_(7W3R94S@@KJ)l)$AG6oWE;kxFjY@*FKLY^dZJTE1G#9opWZbO$SSvda!J!-x48 zWep8>%~GYz0;bZ3t=lDnT7-%y z4xX0X_lWxKVF@X1-pm9Q*l`apX{Y6?J)&VW)J3NS!+x+LiAhX3ZD!PLzQuF?JvO0DYl39N_aPO5xg8*H4S-e9;)l7jO7ZvHOPy#9d zWrj^|#Q-}0kv#jls9%F@KNJl6XJwlYf&C-2o?(k#_G@9uz5u3Z9cyU}I!DQs3n#KG zgbQp4DZAJ=FqlivU@-3%VLm0N6%kp0T2%cZu)qq>7$f`9VoU23p-`r^wFO61X?V)H zIy<8@mdw_p3YGnhN(R@YEXW-;kwz`tQy_>yEwC@Pq*Np|k}0*8hZ@fMqnRw^8SC!G|kegWL$QSnqW-eNH7k8 zN6({k%^$T&b@Ldtl=WAFvQ=kC<+c8t@LkyxHH#`6;(6{9rN<7&CXF4DhFg>{-PAzc zs2(`wQUi|K$$^wOgHQrGlIW)*1}BGxO{Hl;{kZDBw0E^PkCxU=D7okyB4 zS|0*zq*bOl5EMaxow_;fn~$(~AboYYAPqG&9VYHrq&I&Fus45RgU8~N^eB;OX5d@s zimEbFP=Tw1< zSo4<;x=P&)6(y^#qsW!@cMH6(3k{xTMHYSOJ$#gWW-O95NnZkcoJ<*IZIa>d!<^?) z*3Z2&p$s!1Hx^@KGWQcmLmQI`2}qLzdz?vG%Vp4{tF97cZ~Ya4ue$RfeGc+OyO-2X9w5j5hw!BtI;0#g{tJhTS!y{M>rj{`ZDO) zFRCv*rKv6>_%So;o`JOHZ~i^}#NuO})%kILVf120(mRnBr=F&(3Y>P2v}IpZl)=Y- zLCAgkMR;%6Le6lCT9Mu)imEBw;32(-ygcKbcjU%V173aqvG=aWMJ@D`U%Vya182G> z&1gM-?i?BPwixIx8-UvlGjWz5|M(2U;aGfL1B5Ayx7(Qmvcd}4d<-|-@>#+EYa&Pl zhcLUNB@(A1rZ_IXy&;-~r2|Bw-9BORquAerr*o#nUW3!)NAyYs>1O%f!l9IKySHo< z$qKw=eJL?J=q)qs3cX}$hFy`j%&;pqWDl98NjD77dl{x1h9!{Y4~N}ssu|vFiL;ht zHj|H^O$DJ7uBJ0irL^|h|#?92)AeNzp$IbO0+hTA-=EM3{H_mU~Qe8@`B+KKaZ z_CM*)F!*@%24jw&@ih`Z*i4$}Hp;mFH^E4wdn1XATHVCUoGWGRNaldd(rd{iqi}vH z7B-!>1Ig&})q4CVsxla7YTHd7O+Y((2QGdkP8>kJKYI=(LA0CAM}H@dpJVXM=EH(< z(Ib(<&S*$x_hA`8iL>X-o)B+u3zB6(mc=V%N!Vk=%Y?(CsT_S+wCSFOX!~=3^JtXD zeuDYk3^sVWDW{ZVa6x)2UztXpIxM2yuKJ9907(8u*?aRiye*f~u=18ftU>bt z7S8*yfD%8KZ-$Ru=uB*s2_Ab1ym>!!A@=hbpr7{V#fSN`uuN2HVk~Nt?#~=~7*_x~ zl4yWb^779kqC*Tr4Q|3w!X5ktT|za2V|U;*r$ax?d*W+3@IBGErwbR$HvnwVH?Hf; z>fZEae#dGUvSx=EYeaH5CmSnYnNGg(o`{>Ac7(C<02kQ@`?6s2lU~P={R8#3SM?TDk9xk;2%DLt3~9K(j2R4@Z%v1{1!6ma?1acT8w0m z0veH=p{XISPDcJJ(rY`fd{7L{Bj9mKes)wOxsA+|eHkv1u+4zCbx&A%ygZYI@D424 zg>GKy&sL_lXSFZ4#h6NA4m<-p0Z?ib&L4*;CJX3URUHkFiOI$*xgy$eX8R76iSQrD zB5vB5?UN)Hc&r^GMJ%8dDH%>^p<~c_%bB+m8a5S$kUt+2o!w=4)_)D&6|mdzgN>_& zH|C7=8mz`({|r_6K$g*mvnK(ihCNz1xrz)gc2C6td6yh{ThsEeKo&N!hJ5XPv8Rt~ z0cUvDnSFH`m7#e9-Bu&BCWc21L;fCgrKE!sva|A)Y2}9FVu0JWoU>@a^zUJB^JO*~ z8khYH*?h?7lN^4?#>!jMalx5Ddm5F_#L0RtXUzb`Mp{(*E*TCfW#a=Q`Pd1}&}q-& z4QT+|6=Yb?pVhk@#A;#5^-Hg9$X|l45$RAEva|ADX=%)3*x`BtD+HLs&dPINjxTJO z(-$V>b-X@{kesd889<SY2!y>Q2ODmhQvqmgrtf#xp3N;}vv(TRNSUw=9QhXlG)*_=2<70QOSK zhkDtN1!$ps_oN7S=U?D#2f*l6YKWWu24D9}&L$cO*>Mb5GT2gwil#>`ASy*;f+`JPZ!aCah1sTn`0hd0eB)r%*`uyNeLYy>cE zDtUR}lxWeN-NtbQa9!1fL5mVU0I-N;bPQGDE7Qp64@6QVt*V#^S%YXl7R*DLUx|;4 zjw`I}k9~kcq!6niy_WTF?a#{dKwlPE=3nAlEYybOSRgB|hcyo1{1N$w`LZyqi+;&| zhV0i6!O}@?)GvS$-yswylq5qLs`Btt-w+y!U{L8?MxPdOk$KGo8`&JYWbL4mm!nRL z=$?5k@n{nu@S4svIoROqw!#jTWbjG)N*+UMVl7sgP98cfk^~y#XZVY>brEbvR|J!E z+DcwFJ0m)DDCrMhIL|53dMnSvgIG8YgK!)M;W!M!(OKaoC;*esoDp&1!RQDM?nJs^ zgN6z=7JGt0L*?-^=mgTCWNhg$!F~fg0UiB@4Hs-2z~s5VVE#!Wt*)_?45U@TMQJIR z`XcNO0iMxm^FV(Dcun(Pg1%zW6aRzKw=^;fip2gexekk*9bOXZ3dt}F95q5PpOJ#S z1xG$3)_o-c-N9w5 z0a_q8f+;xHu-(9QBS1zB1ovSE2NXBLrUtv%JQT~GfaMa#X`mf(z<>;Z3wDLDDJDDc z_9mE<;-PN_8R)#G@P*#DHHQwqU2!-;EFeQb2^497SU@o#AK*d;u2{&RF91(NCxhAr zd=}(o;0pnbP>EK6Zh(P+u>cn!5AYh`AmB9MOTbTnazMy07>U137pxtKzJM`+Oh7JR zGvIB&2Y{~uKLLDx#UoRIZh&;aG{6c#KHwnWbHI-PADo;u0(1iO2RsIF1OEM+{HIu? z^ZPu5KE&f1Hr$Yd({$I|>C@-B=(@9K;>Th>cNg9isG#~?!MR$N3tLxU^SA1EoWDVK z-eUI(Wa}YIv)CQ{106XF;Zck10%W&fN9Tp+FXJ|7$n+0k@BiCxIYYqX|NJdyo>QNR zF}^qiQ^prI)c2c3>bt~D+(7YJ5enNHX}z{D({?4=E??uE*VTpHx$9M*md=tJz7jEf zmOS*8Xb$wPLN&e?9l`bdTC@S0tahOfCnPy~q}u0O3@Nj3M59oPNGE~j+pk4@^_s|wqG5YWn(DH1&h6E%n(Q9@Ml`JD zl~g`>H#F$NXInv6fIUgeL*wL0jW16pI;!ScwyI!Y;rgWCQ#JU^-~RPina}u0k=G ze*jOzhOi&*`pySUxC>zaH*S2r2?Rd#X(+O=O1%!CmY@}DGFGBvlo_xYk0E>jPzpI= z58!Xmv})alRVnx)S`K(PfLe}L!O5{$WFV(ShZZ4fp@KNXvD{eJs2ORgqa`jLMuazE z*=q%wmcOM~_K2qC?*S}@DWGXd48k%-jvp{Ud&XE*ZZ5f+}U?A1r1-uinA)>8uA&M78EkGaw_JmWGAf5x-0o-S) zvQGn^yj=SM4qBn6V5&Z7~{hYVq`o@hs4%! z7lpyf0mo2k!kh6(=Xq)s;LgodVh8YJcv}}a!d=9y6`mZY0?|9K9tMyc_uR5en#O&% ztTo;fMsnOT%XYWK{dtrC_tUa=t&{@ySF?oxV*+Wz+1~)NsSIxkBi2T*wZDl15jJCK z)({zm&=NXu=0G@$aB?Tk9sy0bJ0KG@u$#^A%-K>fS-{s3BU=mF8Y`n1+7t&01Ucb3 zfb*d3shqvlOBJpVcvK%nTVr7qPxAn7!k+N=fIx)12;VViw=jrgJX1>w!Y!N#AAu(P zJ-|o+Tn0#n-2NbHG6b&)1)Txhezc+;z*vac2*?Y7_l-mMp{WaiF94{EOMv~yE7}I! z%dMF-;A~Cj0iV)zF|czIf^Kk{2K@Y^2rPik2Ocs-_c3sjsmiGxxanh@<-rDb2D4=V z${2SCvu`x*n8w+wGa!eJJ0FB|j&hntcrHo}1>x7`sV2pZy6i6i4IK6aXDtClPI6kRM@h=AJnIL`#WxDfpx3kC#hv7Z>(IQu1A6`C!@2w$dJ$Qo+2h9M~&`OXRi%aE3^|4PmZK>M$R)3#s= z!8m|_S*2>jRzvo*qH%jMtBDvS704Q|q_}1BGZ>6WOL#rtI%vWh0PG41{VXa2ptRP| zV?|if4I_$A4qwAr3TVPJ0O_C!zXX^F+8UFjSmh-^Cgg;F0px&Y&v71F z>r|`YerEP1fC^C=uEaVbar{rlUp^8Oo(U>=7J;ht|I1JGp$ISW66K?FJ$xZP1zXb14a$5bIQfNk$9IpJS4 z&5m=nwMfYe+#t*lEa8VvarOzE5*`L91)TxhRmRq^D}`glc^s~YW)dF% z1!u9Kt)W*6!A`rtSy#vjuLZc%z*xhm6oNHFu7scY2GcWa2=}>&Q4X4LI$%3!YiQLP zQl-%9u!n*+bLF0~oHoja9SQl_;079IQ#{%!S34C7^SLT7uxGdov?s|x6 zA`ZF(_X4S@ZiGr|RHUmr&d zO+*oRKNf(NcsHIOU^f6XIj{!E5I{z_o1PttRz`)u^J0`d3%FHdWsf`YSxB6+!EOKS zbQ2}VqXDdKQ$;&~S2aT+;IlH&s{+7H@1y-6N(X{<0+fNq;{j|3fX-}i>p!dA0tG{4 z7PtGe8JfnU0_?1&i-8jn4JI2ri@=`IbY(PHMU%~FG2xzo1lad%h5mmXOjj_3-v{&q zjfW=KBdyVFpz%Nidk;Vb!b1=&DN)gQfP!t(G@ia-_1Y*op3q=RG@S>WXjgvnfZMlK zG@b@wuL1VE(JXibgyC@yqlpM-Bq^HkAAnZKn6(qEIbb>pWCy+lAbD&u;^c^LXF^^X z*H-cFcM$X54msgVfVV-H0T1bot^%C_?C$gs1`*bKYtWm5;U@s4Fd{sCpkTq*al8WO zrXe~BIv@B5AO$p@Uu1s(Xbjx~ZZ$~Jgzo^l!iEhNY!;w5=taQ)0bl^S*+CH36=PsN zL=7lk;8vO@oT};Gz*_*c@DTn)%L$iinsD26RfuHZ!4*HJt-|3_yn^VY(rKXu1fr7(n(*fiD8+ zLMk3NW%U3q_{1ZptOH;^Xu38**Bo3ZC}Fy$(0o4_BItqw(S+%m0MUeh0i^sSDjq2A zEo=WSy7=NgoG0m_j}Q+Y+ug{yONv{fO~V4rLRjy!Hs);1+qiyX{>JSa3pO6ySh%rh zqr`*8dG7oz+qV>KIk=^8OVO6%E$6qCY$@GRw&m6qwl#38ZEM8V^E*m*l~rm#zb|KB-oEYo3icK5E82%BPa&olp!{vy zw-szVxUFzo(YE4kVdu9cY9H z5c>wtu)ho-Uousc5|l+rQhOkLuf2j&pj)B>#~PK&xMbQrQy!TlG5r$y!StM1{);JI z?s-4x)E${7X%qf3#yea;B|6l74z<$Zjm^Ja>uv5NkJD1kiSl*YKg|95U2l>c>Pd%3 zR=;w%DlCEci^rLyV^wlq?CJzG?ohY-ONMK&#`Vz3&E}5R0lUUVT#y_do5kU6G50!c zuetje%J9fkgCo$d>{`(}QGh>?;Ba_zk`n#@3IqZUZ~QfzfXxYsR|B&FkvCqa*;;h6 zpbk_Y7^mIYqBm$Q2qosYlTd_2ihM^?B`V z>bB%(IwDow=-7V97TE4w8;6*bH`tNBm{>M_fY&8~q$>mH&x~#k)qMiIw3eC^9O`XJ zDGoI+Db?ZnBJs|u9JM4BMNzG_@L3=ioR%_BzU7b|>c+$WEI6%5PDDF8)T$vn92Nc; zHK)dse61yFQD{qhqV;V`?%6=VRTJkb>j>Ti^4h3-9O_2@xHaGf zhx)%PNoi#%$b77i!>c7AVD05ZMbJ2P7GnM{i)902#!pC_k2H0U|B~IZq`LAD>Fb(G zNk@-=*Y~LFtogCF7+ih~JiE1YU|a3RHc3j=8PE_(z=vg|T-xy%>fA&+-PD`{Mgclk}E66(erZ`ln9<#_Uv5*^-Uk8pTa(tsTA zYg4tm+I2A#yVE!m2PCwa=8h&nuF#dvti=Hq{jYXSbZ zqMAHCwPEciT=u?4l2(h(ZS`jjGD)jxE+CCeMZ^IqrjU`jwTg!d{nIx-q*b-QxaZMJ zV7s>Xp9lFEn+}hQ%#(w3xYqy2aII~JG*i}nT6TvEKIUt->)YIwXQIaG}G z-=JN7bXw*9XB7UN4_#FkQOX|wn`zq0j=ft?&yuCXE&MOpwSyf8nU>wBb%^iNpLE{t znO86s)ancr(q8f{OXtt?^fyzIC3Xs!i?Gu@xsw@2oBBG}tt* zjrLuqTxIWEu#ct@hsRE85dT;P%?aBnS&ephZ@`RWzJoX>vL_&$@dM*v;5+1aW5-g8 z$faruDoKLEq6XpwN_s<-MT{cdCu>!m`zUTSR%1^}fkaVv{N9nMP*8&k?FbFEsV4&Q zQ^RQ*e|tSmZ&3m2Lx`rADdpTWJrzQ+aQ6!;7im)x{-L~86hX`hjH0H9nGduOgIr+@ zs-XfA#C%36%@8xrA~^JR5C=*jxVT6g(FiQ5_R!>QfMwE1D z*i4v?1X&P(BN;($7%9LpXwjm(wKXkYuXXG8l)OiKv)kkZ(-kmJ*%-~=_M-}Nk|sEY zZ1TU`PwUftT)Qiv{npZQlpav!@D{|i&|c}@MV_y{+X{TxCe^0y z%u)*`Xm|7+sgUt5I4A*)ya$UddZ*3v3?X46@R)4Y6$NDIZJtas>MbBMjIf2m_ls~0 zg&z>%I0`=~!W}70wi@^eHq}GM-KG{$)ddHL{(e$R(BHjR?2QwVX3eUMuC;lt?oP!X z62%fJOlBTcBvlb_?P>w@#C8j~j<~*;0>+=PaWjDr8|T#K^y;h>B4Su`R8?=`P(m#j z4!de(B7Ur3CgO6AT9JRh)5BrA_i9-!ATPu2@l3&^sDPY}ylkE~kd}&==b8KX{|)@# zf&Y$49y=acY4cKw*`vwa?wC|*^UTjcs!g5eq(qyiII{gsIo^T&a; zxKH;SG_s+GEjii2R+{&)CpYr2uaEGs?TtO`!GFcWwyW!GuA{OoP!1>iLGrRQ!@caw zn)I@xLtggb)R15O9fl73)rT=RM|#pN3IA|x2z5D7eQnF-KE6Sh$#Ggq-`>M=KBUp& z8UXH-Q`{kWIXT7N5(%D+y4!G!wN#`*Al5=)OU|;m<^SosOjb6|gf^*Bc8{AB*}CEy zbFQa^2BCGusFt}NH;p!H=_pIFo5mVKt&80>(hzD>?51&sP;{}IMj1je#cmp72*n=X z)(?`AJZ>INNO09ntf(`4-0VehJgy>#5@;x*MB8FF4K#$T#cmpA2*nk<$%S+Nvz=sJ zSYGU&%8~X`UT1YXEl6Sy1Ofu3+C5dft^Xk9(f8mmuN?rD4&+R7PsYxAGeI zKuX4+cU%jPZz3X@YN4CdKdsP554$z9(lN=GLqTu^kL*e1ktjCnsBIn}4JZtv9Iv?u zeU#L~5*|cpg-R*~teG1;B{aMolPc7C+=8cs#+S2XCjOgLH;v*VHxFOC>ZZZGikv@B z36I_q9=%Mq$DN8yTUueTVpJ*Wj;L65Q}yY4HO~b@NACX&nlR)Gn$jlPVb9fl>N6x> z|C@72Q#SfXyaJk+QBsYIY!dOrRn{Ff1gwR3*y0u`Db}{jMLP zqWt=U2vgc5JRROLl8VE{zAmN#(l6@@7by`&h^msjLCHXvSy)))kWL{X#ahaKG=f7B zB&|X)6+x&~PYMr5m=p`a3K(%}G&G|j8D>Nd~_K^%ai7n5b2n2EiO!?t9sEAarx)rV6 z{5JI$n>QSyPX|&N%6L5zX{tGi^zt)i*b}4RU0^9RGKwpeHJ`(;&pwcHt)k` zBOfgSrI@-(60u`p6km^MSLNTR|U89}8A)e7rsf3$~JHeQ?TaS>0Ab}tD>iX;faDWKy?ZjLKP-B03@8u_Es)oyqF5-za#EQZrUes#q`yHW z8aCh`ek`Je2*y%##FQ`UallZd*4fp~q=MSuRF;lrR z>h5A5c;Exo?cX^Mw#u)vB_f-nqLrW>QmDm-1Xlhxg1`v9C}tyKRIT_I z)uW;4j8GZJjAYK@u;IJZt#KVfq{63PpuTr=f?lan^5SjwKrn%3E zuM=X!&i(j%MCSze89g89D(_iAa`ooiET2tlKMaJ8{g{cxTCyEgWc zPV9c`-Izk5%1!CLnBlpj|0BIG8$pZ;XD$>T10Z^v0?GLE_eSXb(~QkBV7^1|4Zf4! zbJrha6qS;j;XGyO_HeW&8LtRYcPGS#oWJw8COFUa{(L11o_KC!0eBNvnU2 zAj!xNPAz1&f`e#&J!VMJ$(ZTAnD#OXV;+I#)R%%1(G>HeCHe$*gi0V4wvn|Yg<_TP zpkc)-SF>+8u^^-}H0Lk^%{h#)k`WlW84)qsGvR2l(p`-vouKW!pAZ}J%9W#sz%d_s*+9iUx#tTj>M$FDKR9IeiA$#m}+hD;8cagXUv7da=nz^xH%FS@T`R% z8S>h3B-A#wyAriYEV;X=XesxcI0wZi&Im<`+Tmex)XHL!+P5OQqT-NZF=krx)e#d$ zXRgW+7R?uiu!1t$`ektB=zn0BIb0wZHHJWF)G$xhU%`Y?as!blK|g@<^nZopH92g! zYW)eqYbcV>ehIOKdM`x6)m{ViV>}$h#wt07`Y^7;Cj2rUOTvq?7qMl_>kW(Lf1tk3 zNLHUr!!j2L*}rH%59(Y$c(x+F5oPV`Yhk$v%EjQJYRMG+@^grK!+pRG#HL)#ZMnAS zt+^hRTv>f8RbSd@3@J2!2}^8@p*qONJ364}zy!n3Kxe@a9h7<&3#s-mGt z*Z)MSC43=}V>rx$CgPf*c3EnT@MHGvWYY9BR3_Bk!w#NZcn5m#R7nZ8BJv|;Zh=Vk zJ5L1yB-$}(JlJByF#G0mCN;=YW5lVIBm>enQL{a&Qj9p;kn)N{7Ib z6oUdIa+a^MKOdqH0PNcHj*Ed?6?C%xa{#L<&uIM#`fi zh3trta;HckRvRf}IED2@c(;@X{SaEwY8$bP)*zr%G3$wH#oRK0$P{t`2ill6hRrM+$~b5Qlp-6oYEX+ZJ07DsxWDNMR`FQ z*VqmzWWb1PhRHR|nSL+)4ay=K8)W4eSww7utieVWQ5}{=_DAnz@zxAM3AArL4m|BM`{m9!^DQ;OYhi~7a?=l6jCEdl==EVi+JLOgk$T6=t- z>p)agZIrGbL=MqMJPhj}buX1W!K^e)?WaH%9HgxbDx$w8l7yH!|v)exM1dLf@Mh5p)!q- z#nh!A#ED~lGt`mu7Wp7W2`@ukJ#U#=5zP=U&RZlqq6jf7R77d6H=Vdla|3AG`VdP+ z@3Fzc{xm70n81UcEX%2O5DT2b9zNGMN|h^zcYtRk6R~tNoCQOX)JowhL|52FG1oyX zs!3#Cb30p9`Qe2qOu{)_fdH}m@Ja-TkB2`%fVgw`O$4aVhhGkjqOokY67b^3R-8DoqT zMRZ>DF4@?Iv#!?L2=<9q1Vil*+5C2<-}jzEZSp@<+0O1V?%-uYU}}-TC*ot z*pn+oW5}VZ@R&&c2mD}Wz_NkFIE~f$4Fp)7UqXP@Swn!;`6&cgoePYVCS1JK>X0^L zJO<6O%DT*JJ6qrNf<8rxu7z%s0ugGdJnVP#fQ*HHZU zR|Xq-`^BR%GsT9>?qpU6;#VT~(^zxT0RqMV&40uP{1^OvOW-pXwgQ8>K;xCU@EHQk zg-;M*E-Y)F3q#k5$?>oo$V7d3Lk1b(zoZYXr!hq!@-j)kod-8h^bzSv&rzjLYr z0f8UZ!yRH{rJ*3jl2)I7p-?Ea1YPAx{+#AR&*TCMv*RzBQ@ve86U3XK*>2kY>U9Ic zX(FaIDxhF0W&^}yK>r}31hKPGiO2$TA_@?n&r@Iw7YM1AQoof&CtChimFF>-;r3FO zQ5m$2hA;gYV+uA?|M3DGxt4JTiO^cO8wqewX_vq_^LwcROJ+rE#@M}CbUsJ9a5`}$ z=cG)LmkUQYH@YU*!^eZJbuqeHUzgah@LyMt&dr54Bo>tZOMntO+B2%wZHlOhP9w3& zA!-Y4FaFdG+l!CkFv!^VFse4rSAh@9%DYwLfrD^egFPxj)W7M^9gk??@Y_LO-PWkl znP}9TX|k?3;Xm`$`J3LS9lI(~A;!_hn88Erk5PMIC2g(vzas9~Wqwl={0oVJ_Ofb# zFa=A~ia_wzUldlULZ^2|22iL9GAaJMfumRUYs>(@ z1zj`d6ly4JW6AI%qqf>TW$a@8Mb~F)5_=hNeDKUsoedh2BrA&o*k)XNx)_ z6ey&kSHURi7b{(wVDVC%8yI}e@wT}7UFPBmYIKxZxN<30ec4gvfjUFnQRO%}gu{x% zDq%c@Hz{UjmV-oe2*E~`3#+SQ1x0uYmkchTNc8&7zKl&)vLSW^G9l=13S_d7=R_t1 z{c(Xz#xaPj1PO_#nlSVnflZb%h}|SIA?UprnfH@nq|jMPg+d3n`S+{|1ft4G*~98k z_e3kTqVG_y3ZVO^LW;(`w4o34fo839woeH95=IuwA$VBCd>B8$GrLKLG{WryieYE0;McwWCQT9K+ zDmciZPZ%pDOjER3wb8>Kg}*Z-?OJCUa?Ft9BMPbyNrq%~?tZW|)0rfGxhG=fjup;& z47zCJ+<5z;;Btn|qHwkYJ*hjqRO7OEpMZ6ZmPbt&Cb=5aR*AwS*T2>_O~mdg#)~RaancqIb(S zUfY#VfNk6Te8k2}WcU&BPzj^1N4T!W8!pXqo`h|b9mZwZy9wH2pf3G+VCmHSQ{Zdjyo36{fVF44Rk ziasH&Hw1xM3SNb+piXg0^fm-dV)kfp(CqIHiNW3(9Dj{WrbT~55JZAGKS3h{ z0qV-(GGj+D!qE^%-(5gA_5cnq0xq?ExC8;>yQ|K0crL>1N+Y5_R=>qZ(fjIm_9*&~ z`VBpbUM-^3Iz`ht%3CZ=(D2-cOamdd7v+c&ibhcs`X>l7>;FB=j3FIx)tPm%DaaEJ zMR$u_Vgf~LM3h)TQT&*am?}sz>u+7a^)NuRV3|8zjZ)w~2y+OL6)b5fvmQ z>LWx{kd&wo5>Y`?qMj(Cf}}*fornsO5_QES;)13`{dan4RBZh>p-f|gBqiz_7?IW5 zRhOujiKrkcLw{F91xXqD%OWaB%Fv${Q6fok)n(|4hzpuB^r<2$NXpRf;%Fnu87FCL z-ZQwAp{I&+f=e0tg(6BM^`lu%PY?-2lt^gxXFwsfCAvh)vD2)_M43qVK_n1qBH>Gs zK*WiJDo$vQyqU9X8%jI2!?HE_xS(wfGm8l)V)Rot{79#1a{vwBonlpL{hl!dq zx{Jd^%^CeM4ihzJ^anXi)SS`p2nL;ulzYW$4eiz}eUPwO2x zOpTw`TXC2gKdql`N8P8!PwPiGOpTw`|IJ}){ItFY;d3=!vW!@9TK^3O!TFj(ji1(E z;|i$pqiqF+ zF5n8N@gsUS4pZYtbSsCc@gsT^hpF)+`ti7+5**PFbC?=GqVGreT#ftQp`IVnPhrRl zt{>5rWn2L@zF%L=VQPH8u5p+e->basn#$jq)(H}(kT#ffd z5BQ|q$+ z3&Q7W{mrH5dabOtrpEbDRn}K?dFr`I(ck9?HEz=X#bIjPq(8@DYTTqh#bIjPq|f0n zHEz&Ifx-T3=&QP0hKyHMk1y%J@J?X;pPrLe+{Tl9B0gBrK!uW*Rd} zb2&_nTl6OoK3C5#<;E@gLM(Mf&n@~@T%H<_)34w#`+srzB^;r~I`u=y{_4IfsesiHiO)N2u{c{Y?&2)OdzIEQaMzjc4c=aRxP> zq4(r4HJ+ij=P)&%p|?c%T#bMJ2K78c?;UD9L*Ee{?735~<}fwx)K^nj;n#Sa`um(g zjXU*!ahMu+>d$eQ8h7eXA$+dJGtoHSP-vyUej?a)r+y<9YVc-t=s2bLd(8iSb#3V6 z#5kj&!xy+;IP$~#2Ftz^{(I|j5T_q7>3_CqT(fbKmsXG6s79)eR!#B1v0JsZcXw-e zoQJi)aiWK#I700Rkp_>p$bX19daLpOfqv^ZHbIU5#m}*p4SQ_`o+Zt|q+mz2X-R*22%wDkQA? z70gQfcH~C?8Ju9Me!cB^iY_yXzK@c`8)}wlJJ$i~^{+Q4M1`s#)%Onqj$UF3(H%OY z_U~E~p`)ZkC`7`vsawT60Jh{B{eyjfU09W18Vd_^AZb-l!=Q170MJUg|0STUgbyI; zM_UD7Z4U~|QrA#e@4wo-u+*delKO1#jr0RhoPjP=R-+8g+(_@E&*pmgVxb|&bQSHL zOMtWC#E}3;3My#OHYw;E4Lr3Tub#1U%HRVVV+0Z;Q7~8ey{U+SB3|*sI1#T>NjM2I zUiHcX=R5w5VR8*_VGA23N;91A2eg&gEW#Nm|DKzFtW!^UHP{v+H|$WIf3rd+#)iFi z8}x>Zl}*$@gUA?Gt(F8Or8G6J$mHUe+{U;fV;me;$MLJVV7vTNHa-|3JGHCKcs-eJ zK_V0?cD`|u@u~tsjMo(!SvTI&@b`e)=(AC&p$_#-s9MFnVA%`tozRQ_#vrHy7nCqr z1PN&{2wn!-%0v>yuXx?15fvjqg>?o0ND1AI2~!)JT2sTjyRaCNb@ho>u5zchqda6o zu7_WL8B*&}`3%H$AgplJSwEpcEIj?ptHJ#}TZvsb69b%@)1K|2lL)H#gPH)%8_St@>?$gYRQe zYmn_q^TuZY&{pEDBT1hX)db(y<0L7pqeKO!ZRkB|<3MBR$qZUHbVYBOm+cTSFE3Y1om;rQJ{edLu$_O!zk;BDP8OeI^zlIXcF0TZ~P8 zQ3VH>9d$2sX#H+I5LyYu+@5X6F-3_2FO!JI< z;WLsNl5A7zap*lF8dgZIA6fHX5Gn!v)87Fj3?JkjY^UolleuW%w)*QniD;DC2~Jnx zPCz++B!|4eQzp&l{+DiPaPzt@4hpWf5VoiPM;uN}+WHq^P>C5O66YG<& z)1cTz9N0S?cf^S6PE`1hlc? zmK?x|$0X@GJSPG20dBzafMtNafI|Sn`4i8!nUa(UxD;RqJPL3D76J(8Ej(8NHUho{ zv{6Q(aR6OCk^vy3>+zfnpleND1AGdo0qg@D1`y5}Jgs(IdkYu~mFlC|FfK>gAn;$nm}?+6z@32m z0FMHm0PF+w$$gcq;4h?-#(;GoYD( z9|6}u=D`YXMc4<}h+drl^t%BH3Qz#=0`>utZtPzN{yI17lq3yKEF0^9(Y1egXW0L%w0R`BnA zz#hPV0Dl0?cS}+SKp((hKnCD`z)XM}@EqU`z$btzzz)D^K$}U>6~F+%<$$XIHv%RD zynvSg%K)nZ>j8TK%8&SW4A5&bj1XWXU>x8sz%+mhumG?Yunq7Hzz_H@K)MIR4Uho1 z4sbi*en38;0N@2Y4|oHx8L$uV1K?M{89?h?$Ui<86A2(2a3kO@z(at?0Y!jk051d9 z0k#9a1?Yf30P?+HF`x^;1{eeQ2jCvSqk!1}4`3nSGr)SlF2Di6&w!KnDwvV(!}tcI z0kQzs0d5D}56A};0K9-wKqX)c;48p?0KWmw0@~aUn-3TPxEgR1;BLUffF}TR0q+A= z1F8W#0N())Dfo8`V0u83E&>b#WCF$lZUN*1rUB*v-UNIM_#ChSup4j?@C)D+pwEL4 zA>azYReAn+*}=a|B_FyKE`6;EW+iZ3Bkuy2%YK4nahEKWLowj;vI%)h zInM-b3dyz*khiU=JlaA+-pa_lNut}d6i4Qg$V`z(-Y@cso66&h zoxQPnP34j2hjJ6^v`c2D4&Ac9fqdeh4$5bFFe_3%ukY7>o!M~|ElyF54@fpz7YQlD z!6b1RBAL@hIX; zJv1udP#==ig)32+!~1CpZjQE=dI?v3d7O6d?8L+$5v+2^bDd}{N9BiF^aaqz(7ode zmuhd#{?I~khg$TZcITW4rXO;(Rdc%ILiF8prd*a1iyTkZQVctX*FBYDHCZ2KfNrF& zL{chs(vwx|aFvh4b1#yXYL6)wwk6`SJ-5b<@k~$fkJR2*lH{%0PGyzlD>$ev{2TUZ z3!E3>dfv6pE=fbp#HqG9>L*DVpi_N*J_;YJvg8e3Jqkn0flIw@&lV(Jv#mYjiL0u| zWBV0_9O_F+sZ^+d3MI7}Zpv@rzxNd7c_k{0rHZ41mny{ZJMXxiZCoem;n>t7mQ7kJy|)%2~yqx6^(vxTx*-;AvLz)2&e0KR!WAe)5swf+;yk zQw0xlAYSj225-s@-qa$=;LToxH-027)pkEQunkd~VJ+R`m$evI@_?h zOZOW4t2W8_5$dP4NC?EQ*+GM~)^~KU+*6zFvY1MCXl~b1<#X;<3c6*xj&aBAGZMNxy$3!k5D0$I0VcP=_@D#b2R)z)HzViS z!#_N5c>!OE9J~wp&YTJheL2F4t8LBgVviE>R4z-c^!J4aU7tdq)8OlqjS_9RL=c&t z`foXyQ^f7f#!bO|Eqe#8ylBituWo>~!SRas=Jq+>e(k0P0`oJirG>py7UQ?ZnP(l| z>&+Y=yjZ(@Zc*po*2|LMrT1yl0lPO-_J6xx+d22b4j&`WA(F??4gUUD*K1aHqH;Z& z$X0h{T35{L6IWuAsJ=e!5hymNabm|{VyCdggkWOVu*B}c#GYY^iNVA^VTnn>#Qt)L z_JO-w+q%g#6308Ty@g42leN9>TccY4DK8&Z++Q~JtJUuCB;J%#Q%|V#9)r*)5eO1m z7)+cSmRKB2d@3w)UNG_Ld$cb-eUz2e#2YuUOxSkZe{U^Z3AtJaw9wmtG;i$nTXD^H zJNFV!jQt*o)^;Ty3Y7nF%v~<>{336g$U7wR>O|g8B9BzY+6%_a;dMGCZGbvtFmAf;SXSts(0<_?OyI+6GNR$1$&>KERJ+HfcEB1*;GxdUSF z|*Ui?U4%S7_ay-*3+LzLKEDy%68Adv-;g2^%qFwKn>_rLvTp zt6l!W4_UJ?N^LcB3-O@b+$_)g#Rz8=zyA~-+1}?)Kvvn_r^$Hbpy>S59HoiCzn~K9 zhcVvIw`q61cyIeFf#~oK{S;K7Gh6&OOw+!4vDcVaJ|#ArM`U|O4?yJ>SPHZkgU4AQ zBBeWmV?6ICipK!)ND+@z@yNg<7o{B9*q6R&k@)~dr`GG`i+c@y6JOZywkSA7O~l`g zM~woOq;&yaav>bV(w$ z9IQkWOT@z|9uxVYI{4vA(du65Z+QY6qk;JOE48+Zhx8s(z(%%&Tf3lfOzf(n*P zphCNIaW{oT2H)6!%b)Zd?XZ>>n;|20^aNa_mW(@5N%nSi^ldo7aw4eSJkg_(A`mim z42xR;+g_}aJ{aX&BBfaM)F-q;0`~o}bE%TP9IG(rU7Wrx&ywDGhIVps2W4Uu#GSm| zS{h@qc{8GR9*n9?ckygINt=iQIg?y;>$As|g8$vhUFEIpYAxMRhNxQTO28wnkiWQs zJEAu@CTR|&Ab%Vl*|_9cpk$_rXO?vo-4$Zz!c?jckZRKkRjS8k&D`eEG7!QI(&{{} z+oKL&{@#*k+0^kvZS|}7D+zY>+9{}>E`~O^;ItAKJp6qb!G-x4t&;0tFOQZ7G;8T- z<=Eb?>zxNo8L5xWfiO(?73ECiAtEm)Gci27JeF))k z10D*V+`+VYOtLj|dlM7`QN4C@x)t1*fUxx{YnqyffJaTje_~=3y;+D80>W&_L|nA3 z5%-W!oCkkY!C?cT%eD$5i`ZD}Q3V@u$##&9)YKMr^we}$ zcLX6;YTU!QR;@xsKZsV``yDRRASu>N5?hWL>);4_h#aCNBzG2VBa~(&i^A&Y`{3{* zU|lhK1~#k7`XD$H!8Q~u9sSQ@7ulkW;^ndJOqWo~EL(bo%{saQBjCl8a6UaQvQVl< z%ypd#4Ru&o@XVlsCAd&qiRnvIUrcRXb+G@Wn z9iU7F;VQWEOdbNR^%k4QLrF!I`O}NG=RIO`u9}Icly^_Imp}AjPm>*9JJ=vDM8oW& z#(COh8z1)Y6p-o8@)X=49wY;NH6@iEX$w3M5Bi%~0SgKoV!Q&*7f>?VWzM@+ksbuH zCp|L(&u-5g2~8whQ2RjORhaznN?gsX*&*{ z-C!%`FRj{G?p8nmA zW~&7m+D*$YSBMF&6Bes`PHWgF?5SkH7kuYx%-{IlnS(xWHUXpO%g>P+wIOi8RrV$9 zSpa6j_$J*h|Cnf5DlE@yje|~7#bCgcPxfmvs?Qp7%rU8qgtm$%3t@@vp5!ZMP*b<`=t5PQlb@){|aeKjVl%Z$!T$|VK*dT&HU9dsoJxgxD#R74U@bIgA9a}k*?wf53Yk~r8-nW zb{hKy*36S0?z%xTh&Q}5(Jec*-+aHCc8025N2HdKdYay4$0Xat0|#D_l;Eq4}L2jTElF`3*)fys?A?ZwRGZspJ{;wr2JeO571J%RgR5Rdd9!72!le4G zMahUlf-nPQH9W2<)Egd$)8QGXBF3ZD7`YxLV$@PkgI#ZKq`KDqsn=kXH28jH`aukw z4>(;VwT4bF8YD~lOGt8-@wnoK^MXc0*o#|&2IFtq3q1?<9&^n^OD1dKM;Kz%Y2kF` z$EoX*U8&l^kNYc)tZEciu4Gm1Y0RK{t2zq`Fd5acEj8?Fgh~CMSXAZjn$)Wd!Kl0I zjc24~B}UboQ~DBE6N4paPL=;Hd-}J>0H{n~HdMi58hw`1P>K64mXS;o)b#s>^yIvW zVmdjSZx1SEBb}`0MSahkn@GIsHVhAZuoN2DMZQUE@oBHrDcDOoRf;3V6<9p1mZW)r z%gb;|2xzkguaW?QTe%tIZ=%l{W4IP<)o%N=PhVQ<<#?tfrP!@2-loN#y1{iop&5KY zprYb{*;O`Bd-c;LrmwHlMwRw<2$d{)k?e3OF9}^W=CkEub$Eq~R#^G{v3E2MqA?hQ z*XD9-7!~V*nb;bkg4(;KU4|02l;4pTgVl_2mbTqK+z->>)o4eJUbz$O^wMR}5ALfYXLv8>=}OM3})0SXh$6|7-z=8c82Q3;VEzKN(N*1Z@?%8BNeU zZwsu4lDewR5#~G>cAGhi@7ks!vaF33SkXhCsr6XdxgU+%yx#USjaH)g$}e5o;@7Mp zhN-*#Z=BKou`=Bl-(7+lw#WY%HUlxfTd^l`*feClMAu6?F#NK(Gobs zy7C-vOcBl5sebuQ_!c!E+Ur|heg7N6#L%d1Il)siiuAw;{(e0 zjy90Q=-%Uh{(`WtC~H$!C-XMYkbphi)14SqldT@LtG^k3xK%69nZ&L-@6>rF00rAR z?6reey!6Q84ITE^4K~9eH)bf}<9Rf(KlQU|XGYzcs?w$mhT3s0qpY+1ls2KPui^v| zf4X=R@lTZ>P3uT>nUIQ4rVAxP9 zw|ib}?D4|WuH-{hmfqYCn>?v6|n=JEHZ<6&C3Kzg=*4ktaCL`lw70MMwM^Z zovdDX!Lz~}lS*fFQkt+hDq+J8;J!6p>}9IA7rsbsg@$8h zAxBzBsD%cB>y2{A+uqbNLYrSc*wE>s|3B-rjlU%+OuV7l_cqdOUe5e|^^W0v^HE;& zV4PWK8!N6*$T`P$3Qt$T{q_cH@6dKT%a=Bz(6A5+&k%phDmPG{I3{Q%dI})YswV&w5&W6_VCqAePJmp1*KAROACfnekJOcLfi!UD-G){JN*sw<=4aRUo$V z^4g;SsZ(;b#}*TazpO8uH#be}4Kw2c@rj(7*hHo!5P!N4l_YI#SkfGb-;GR%cQG}j zMp1rDY%+a0(i0VkFYBZIUN!N;xA96@j(6=;jQ7JfMnbmzwk1p0;uKt)eEAg{o=h~T|5Z`m1ibvjrBL0MF-Z<6A22*TI zPAZ}CWcRp*v2+V#=_X_8@ulK_+5%>%u^kCS^6(-)Wa@nD1nl8a%VK)a-mkW$W;6V{ zmud%%pf$10Rc?lPqabvM9K0)dU7X)H(kZU@h`aq4Mgk?Y*6S~}wA_N9Z%|~!`u^$c z9^1v?M`JIUKF?uz$ysWJF+utZe%plqp`S*(I6fWT znLT@Af3d3-*6I4Sa3q~&J!!*dcCMIfl1~}7KTxsrh+4C=4&MlHk#LIw1`T{ND`9;B z&tFb*(c4*|=2bjm&YH^GxLP7a&sT9OOwW^TwbYH>6{_PeR_=X)DtGX5m5XBpKg zyXd6;vLg3ao{bA+S&-^d6NS4b;s$@iIBU{3YIW2BZPz0!+K`-Y?)~ zK#$#c?HceTVAoFVmd!87ZtaiF!-sbpfGRgv=rN8fB`0_rjaPUUWIC3@4QS25R0MN( z9-)4tx) z>w*%IvV>AvL5%6kSE2_vN~11L<5kvH|F`Y6-di6x-Q8Xrx#I$@YHNR4)eddF#PoeT zBqVBAY`e{r8w^^tnr*|9=Ak)kN)5mRFINrFXK`Fjp$FcRz;}4N z`OND22@SYbkpaP(&3jZ4KITr1CKn{&VJkRAFNRoM&mt>l((@B2%NswTFa0QcLj!)_ zQqS*O!uWlQLgy9+$H(GShZQXEa+~XPRNi1}p&XnWKu9A<3hD;DJ7&i9V+9B3N|S80 zu!2ajmUfh_rIl59QEP#Pq(c#-^z>UP;KYVVd^W#&)|N_HfCOx_632K;kR6Mo1>!L! z$5myko*;u;qIq+hDp1G%WqvLYmvAEz7X}liCuXY~MD;OEP-nJO+3@n590*`lTs#l_ za-A^eJ?1(wNSQIobzsZK#WzcIxF%FLxGU6 z6md4SfJ}ugt$=Jr{s!U|8wx)oFI=zF;3= ztN%KD&QAZOe=wSfsJgD&O~+1_eg){$kgtaqkkb(6I5vsJa)p6n)yQWxXcs>|+y z?P;pFrP*-oXN#fvyd*)pd3SD-SWj{>>w>DjdsmJ`ZOK(p< ze`!O zS+U33+{1O*+Khz_K?hvL7-O`WOV zohX@%Xd}JB+fRm4l#u%H+fV$7dn~Q^Db{|OtTKj5v4hX9U(kDRtTCP;dTAf*%DdTP zB9B-b_Eq9|;<*1+?6{^+PniA_x@kD^XR#Tpx(kt;Tn&3Oy_Mawf?^nWR0032GiTDM zq3ConUUp@z7pc=-&{}Kx6*@{3XJ@?)rN9~1a zfgU~spEGSSN#U^`206L&gFUu`0FjBUGjGX!V4=t>*tRX$T!)r|n)bm|5cL8sRUpdJ`Y_aPCF8^l8l^%dl(oG6<@9nPM!xpkH;Ia$hWRKT3h@N~bSA;iLv>U0eA4dK~+6D=8WDC;9Z5UQ* z1@7W6If2%4k8iVF#2!`*)R!A&nC~f(8GYH2k@4 zA&e3yaa(j)-DOx<|Dt#QVy`kGJnAoX%j%jADjeQ$Iq4IT6w;aTAu6#74|Y#myuY`y zW-i&|r;DLlYBf$-U}j|Tla5`5JfC2-o+Y-z-RE>gM^jk&>)@yV?F(UGH|~%oOUpB6_bskF=03%tPdFb@Y^r zh+*9@Na0RH?@HNw$nnleDP&IrXX3DbG~r`2#9I1X>=N*Tu83Js<=^$bw*KH^)AviY z2mXCwkTIjW{7qUudXgC<^drMsx-Q9C?3U1Aek?R;C3RYr1LG{N&5FJU+wMlM^J7C+ zY8z73TiIv&iz9Xfx0!o1>8 zx_TO{g?4KC@3j1J0Sat}lA*ua?(Y*7Gn&$Ob`JH+TDS|5zg6cbs*`I(U6@j3seqC2WSZ)JGii`eVKvOAcJrD zEAy@Yd(8N1bq;>WhQxsTdwHc>v{!ce$0y3aE8B`8KmtyHtEmqgJ z@mLv)1bsWgp|Si0B0=K*5^a|cZWPrwHsLS%H2&XbQ)~1Nj_8BYBV)OdolRnmN%-xrE_?vxPGK*TpkH%;``t=?clv7u}z)uK6 zU8zPyNCXa5Xr>)_s8{@8Q5aUl<-}}@eP{pJIoiZST`ymWTK@9-ZP!210I%P)j}CRa zxGoJlT~)5r{io^GZtj;pOlJR>9Nr;c3tH6Lz8j)S)@UaW^|Bc2F{hSzxC?JK`nSBo zQwF(G(7vVQmw4FOL#!4to;}%rf|nTXWI)>EFz~8vod8`>_|Z6jfv9XM(ouXS9*yQ; zs)gq#&+TG%=GA4jy9M}w_rJ^@UK#?4#zT#J9{vZQx2TR(Cpa=ZD<&ewv}GVb9;_H~ zVxWKq%q0XqICRl%P>^i{TapY zrjjAj`-xO~1z!8)r@=|IfS?7*2Ra(SN#6%_77XSY>2O(Y+@ZDp`Ep|=YYMI}{%@ZE ztfki*p{{h6nGe&du*b(Qv12i@E!~#{!acr3{Krys0v`W&w>r9q7Ooy%wc>S@`mGM_ zmS6htnV>;Rj#wP;tQ+g?z7Qi_^2Vg3^L~tn_ht-I@!O)3CU<3Mbv=#*<0+wC8Js+1 zPg>u2V}{ROd4-L$HKi9VH~-2SJ1hMcYoP|J&JP=Ru25`wl1k+v;XJ(^u z1iIeCv`~k|(!PFcXafke10Bux>Mxqd@hNkPj!*4^RX9ZrW7U!)@%>4;pjk_BMulmf zbWx9wrGXx%cE5kCeSIWR;RW3BZFXzcANIaSZO5uJ@}{b+e6HI62g+zF8LrJb+MCHR z$n$o*%3uB~Q?A2~>7DQo{t1N2C0QzY|dW9h_V;{$wS({!$V)G!Mw4dH4V&O$93cWkgK!CwL zn)7V#kw9su22zYeFjC`}{n{sX5MAyXEl5AEef4X~$lvIa&@FAS^MV4HN4EOwC}j;& z3@j?gcKz=U z@K2(Q^Ih*vGM0={+x##6vV6zySINo^KT{7&=iUmh3puvpxwj$YKT`#fywEBnR+Nj{ zW(d=th%)tp{h0*2neZO~zH=?_Yg-GaAfiv;6eiPJcne32lcq5gc`Hlv{n5#4py zYis@(*4C)y`v2yNJ9nEWlbYl1kx~pbU7YM6Ya$aEIPqLdyh63TGd z&p|x6BrJTCBZk_LvChC6rQioAMi*8pihB%fr#)>2P1<>Vi+;8i*?<${G!#_bUCbE% z)t^Bh`y;F9=e$hkTC%v(><%F;{}Wh3>n)KVni9lh!1IEzD)m#s;mZvyo3axA9NOpi zA+Uu==IH!}$S`2_6H2%}LM=3-pat59j5urvvqy|ksrH%2d(EDb;YiRO=v9bu=^TNW z-Z|M#Od{68c19X#wicNY$#8DYfOP1nSN|{EjZoUSFaVZ>wgq9)M_|E-dQd>i z`LpLeGa)gISKgVvwMclAP3%yk*Pj3R2DP^J&x@5GzLTW*{TMHR9(9uR;J9=-f+Spyv7MAK8#zoe!>L&Gp_prjQmBCo&_vCf_jeP zjw#IaC4hs!;f|``aiJk#`X9JW3lMV>d+cAGL`8s$PJw@bdrsr-K)}O);<_!s%(J)~ z5U?6>7?2XcwO_I_P3Dz@u`ng=6Ijrs@L=m&#X} zUP)beRKB}6orOqwR`1-2I2(4IxYIf}jg%^QZoh24Z@MfGGHs~yy)MhQn;xuNc&(i7 z8)1@%B#Hyu3k%LJ0avEA1|67frMv{u=9pE!XH4=fLoZxFcPeb*ySMmocH&@+5w#@_ z>e~jhaJLiUJ~|r4tx5sS*DFfyYWiLCrQmyuD=UVhg1o>}hN zt@Yw2=!pTsqGx?~O^`dZj79k0uWDjenyU0iG8=JOd544 zxPgO*^N zK#TvkH$rY~3if-MhF0SzppNaq2-$$OB68>WiJ@`7ELee2VRVpgLsz4M@#Y5pr9OiK zssL^L%Pafpbh*=WZDg}4_636!8u2fBeILch9a@d2A^*ekMuf)vP7zV!uM1LRw4NP| zhmZ4jzX?j_qF}ax-X|Cr#KvFx9McA-M~?ij?hV!uColrzs0IacvIG;thrT)`h_5e< z;CK9iU_5;2-!?snUKz|b2wWYEhmZW(*gs{Vca48Bm@n`{Lw_N&v5iJA`h#DC#&X>E zL9}c!-61l4n<$bU#54x`QjOW%HNH}fAUrt0m#eF{WeRG@`~ReqN>09a|d% zcb*Y7#;RgOjo~@Xh|MV7-+6t0f)9ce4~ zUXf^(ACl#*zNh2l$K;!RE!)YxOh3AP7qpZ6ns&H-Iql@`-50p)&EZBIusPHyT%Fbd zJ$T3Mdn8`&?pxAMZeyC}_PyIq?$+(H2z2OK5Icvld-~$q%U{V)`VP03FOXOJI&_dn z$uoR6caXhuvG0ct@-^~s-{6jNvK;5Ty`wzE{MrCq0~*^-PB2|w==-rF2s0HjVWyd|Ab0)~Ca-MHhg1puA z-@d-5y2$U!SNSgQ3O-Koz0p;!Fn8($g4=)jfS-Z;@by^OjaG58P?CxH1ZFkut%dh+P^+2=3e4~5HPs?xl zcK3v%cfk{)&Gt`-Hj|zRYje}%=V){PS5393%SU*TZuFd!D?<)`PKWpdNfCJxREi^41h##QMdvXaL ze5=BTa@D2fRWBg=^1v0tlH@wsG-JCjp}%~2o1ZR2&A?rAneQL{WxwgeVJk*mfM@Dm zn^D`Ob;zp4i3eA+inKZqKk^dX^R?c3b2%<#`#@Von!rVCzfW z8nGEDZG0aTA9T?o?kZ}`##`F>J%l`SoW716-*S79cJ(JL;wt+U-9%8V7RuwCA|_UQ zaPq%VEm@er=5|>a2kmBZ16nxioQ%m?7*uW#*XEzFN7njW?F@rj%R6_bY$j9Qy+r&w zR%_oX9Tw)Q=8o4;TY8=%;Qb|{TUX7-@!p|XU9ll*@t}CPtJW&~Mr?!Pq>qO6Z;M4q zSFLT!cc3*pByX671F{y2>s__9xJtC`mw+DtR{#NccDw^11keT01JD;R7;s;AvAUa9 z-g`gjlM22C{seFqP~1~v=K(8wY3w7ws(6i+1O5Q?OAssKv>SX+OzGV2+QXbDbQI@% zXz{$Zg9z)X-N!d}D9!4rRq%v?bJ2+E)C5}sQHd79p!;Y(jYygvNhw!4LAyxkKA0~u z6VN1k=8H|h{kH11(3x$|OWXX$bl0Tr$@!v&{4AX>{Ci`sIbXMRKgSW*rR}sv{8)O- zQDs*PUpIqClaIq3d$#%=A1V}WjhY)eWgB4dvTm_2J|{F6oEd~cjO z1VMO8r^6yYUPP_pUc!k{FgUtMKevdb4b@)V$h|o%X}AefZ)TPK)Y)QuAFWkzzXtN2 zvqfeft)*X#EOp>)@p>PvZ||bCMti9rIXIY6w#9TyL8^P*o;UcqZWz_f=!OhK zr`jRi;On|U?}Z@?^ooi9_-Ub0@sd&FOVx5B^-IqM;*q_ zoe?gX7M3Hk+zYvX7Ii?2sJq)3MSHn{#l~5pO~3lCaLy_n+E2S*;|ronclXyealUA# zxMz@NF=%A+w9Qyt=G@9LmyhN7tr&cX2{Gx zhLV2@hKhBYG&_{0*AQs3m1f=$Xyz!*OQad1G#`^DN@=vA(EKr7dh0b5nlHc%#mxDR z623&jXLMnh_>{~aP#Wx7qWDOq={*dZ4!WinXG-`A3BR8vy?;vP?}MQx^h|_CC{6D~ zXqGC?{iI1!npa2@t2CdH#!qQHheLB|s&su9F&`>s2{A7z=5=D0PZfuUYrS}q5(bQb zFjg@`iSbsWn4p~Xg|J*_Y{EGjGtVoA#tzL&rTKw0V-1Z1ni!=SI|iEC@yc5g zG+*hAO&lUkiJ_sh(REVecTN^8&CsPn*I((Xq%PRdErjkyl5E^+sXMB(Xb2~CuP7aY zsnkg6hAsolSf#rubsdt#Ph+({{I7A+9X;d%tIri1B-tH`4VUa%#abnsB3Usg36<-v zbT+B;R=N_>eK(dei4tEVY1THo#~RBMt`y=d<8E5{@{?tYjOM?@6tKr zwWXX7_7q=E)Shbgzo{DgIWVR2=fEJZYg0=fNY?O9#b+I2$`tKM9_A1~Ou$w`-gT&WELAJ#-wqL@(r`}VF;px|(>m~DL&QsInv*{^q||@5cFLEx zj}zbAhf&fruC(d>T5B(UAV$PGwI^IRFa&YMT#s(z<&=~A9-_SvYBjnCUXD($bTYmZ zF_{kDL(&{y@48J}NTjgrFg#%WcjK{Fn3<%$Oz}l)>QhqF<8^w5x_J+iK>C|Z$KR(g za?3nlO@U{7iqwa+@JYw8ONJMe<8PxJJ=`4UTIzV|SHJlUu4mujx!^`r z0KfG$&woc+B-n(uR13GXmpPd;FYGSjmf}Lf`0gTisTLJK47>R;=GMzUCVlk0Ls20W z9lDF}mSX*|bQialYNJC_a4tcojr4I3#0n31@A(Cnc}rm1k=3gg9}28CI#jn9J8;Lzp8A)!rt8ax{vPRTQ#a{aHRe-_eOGFi;vA83x`Fezy27GhH@b?*Ra$#t zS&sR)u&bV(pK8nXk`=Dym^N2;mG0^KAkr=BD#})2!*pP|<_vuZ=WzO%Q$vi}@{3q8 zWQ7*iDG@rO%*If+bT<;HG2J~@xK?PbhT=3_HiSJiv zEyEJ^hLRJVVPo0dMFg(Y#_~R~V%AFR5SDZinJY0OrgagUfZL4fLM3%il)qV4w_g`c zL=EPVqGqKQH*F2hmK%KnI{zAzyTWF~tn}l0jIPC*yi6yfS(e_0A2o7%cNQ5L z7*Syj9u>8&ird&hv;IsL(E8Iu^iT8FAH0^hXw_%3k0#P)=DBFme2vzkyB#z_ zgLe*q8|_sh+0hgAjf+g=JqC%w6iwTfvx=t6X{U5LY`&-N)V;4JPKCkF#uU?_*oqt* z_U^>#P^@h%1x4jEqQx_7w6MqpjTy{@!Pxeq3zpi>I&nSkVD&&Xn0VEM6$t4{gf0WEQl0q zp2RiP*ILzgX6VewDinY2Czu5&N6L z%MO@K9ndd=CXp86zuB5slwEH#c_`MonM~af7pc!h9SaN>s^yu{6UrsE{Kw&9R1PNP z&vn-!!j+@>v?G@>lo`x^3!{mzs|Z<# z(89hjxxlHmd|k2XJnp$L@)*h2hSA#AUX-lU{P^@{;=np>F8?B2v|X>Q<)gyI8|$@v zzCWyVz|&fP&L6duu6jlb)%d&+vEf%f4(@cx{A!Dpr6T@IIxrM;x)Uf#BjTzAHJiajnZPnYi&?lzv^0XE_y1DpY9?qll zf@yy6nMheb87yoYFeju3%Xxruo2}?@&`FA>Oa>{M{B{kdW54v|2JLZ;&uT8lZPdQz zSwW?-&*Oxgr#2H~^R*ZF`J~bx^Rc1hx&C5mf%XcYZxJ^O(3FMKOJ}}_rsR(Xi}Nqz z-jbs!qW>l>lW%TbdT5i@dmvwQ=&fJB(zu_9yj_cUd-ip4`x|WlZ+D<{z_;2mjTgON z`u2C)U!3pWTe`an8~@f{UDene#N?J=LU{N`jm^8Pv4dAMwimBHsHhgbFKP*VL-W$b z7qw;@f2dqMdP$3jm|QN;g!HS7IGCNj`p6ntE_PqSq1C@!{0n$mcbE;K`=rpVb&*}V zKMPIKz7d^e3ASW<=n?~*BB?WFKDgd#^;35`&?VVt_lUtiYAurH1PV^+wQrvGxRE#e#b@h zWv%VBS&$nOol$nn*T>uw*YUDFUV8+sfP%EaR@JDUevw_OCwf8`cwC&mj99W4Xm3SR z?Y=lh@-UvR;}$Mo$ok_x$2-ap*Psj?4PIsQ;X7w6y&h;s*JM zN3LLwxN=lnzlM;)>sPcG-u9?Cbp?aVyMYrmxPCt(YOi3DxpqWERRe!_MBD|OSb2n; z8-q-RY%MK!tCGl4Tbf9x4M$Rcm?5gI2Y-3T-D2}KissS~3fGyCc3a`z98Is|$uaCc zDbBx&c*VYAJ?%aEK-p1DUX6ib6v@%RQw*%ko+}QUiVV+HhsBz!TD!rXdIjY=L7^6T zXsj`;Fz zk9H3qw@zzu14#}E4)Q{jrKs()ZKUmMPTXUBT{#l4*W^G zq;c!s()K@Vvowz;9=F94zi2Ns*KKk=!{>W^Hs9lUvW)!|SFk;vVz-6w@7g>**Q4~o z-?f1nuevRYZ)!sVDFt5m(uF+RQ+JEoH?^1eFMo@dZfPCbH&EhPsoW^XRowW9192!? zYT&NF#f4ki5jQU*;pLq_v>|QQGR~F&rUQlpx&m4N{;1X1mP{j>d0M9RV?|X^n1=*Yr$lJCj`hHrJ!my^W?F7;?JVLC!ad-Hs$M*{eRd~|{6)r@c8l|qy^!x97WZOD}|RUyVPPD{h4IE`00L zrQs309bQ}Tp%@Uu<6P}N{hQWsYacw{Kp!-41n* z-VIOZNO^ygy&uW#QvS24Kut&52v9<^lzfyy{Ll zuHdq(6n%ufxj=y=r-&Zp<^lzgyntTc0)@Fm%}J3d6C8L5Y81#1T@wt^_4{Fb)+B5} z!pRVRWfF#v5U;+lJZ}=>QEqk}bE9RPNf^q|Uf07QZTFD)wigfQ85!cYUc7a`g&8!^ zs2fcKZ3dbN11-5RU8>YMGQ`+;488#w;y&PeY>n7jVj(m|5MQPKh2KYTv<=x;h%w?= zj~$|MTC|ZQP%l~~PRH{W!Krjm8bNl*Z=%TYylubl^sHjsio7u!ENo6TQjCpHOWk`J zVtfLMyj{mFaPJ298TsA=^;-#}AeL=Lxv@2%_)hprRg#80b{0O!^~@acNdo5E@0N?7 zD2G$a^&?VPdvl+-_i^L1v016hp+LW185ag^gRf6nz8D7gDDu>O`Wup0AJj9si5_C2)+@_~7Mlfv#sY|*n z6Nz{6_O3_o$5BS}N7gOA9P_`|fW;8tiWvkRx?mUyaO)QYp1PnVB|&f$0xwsE-)eM?-ItXmeHdzHATtXrWvmr7i-tXr5$ zyas@F1P(vy$ayjeZGjk$K2Ph-Ux>+vrWJ9iAGh%J4~akf@yJDMl+?X@=OQtB?4d@L z3#D>yV@k_RNb6<@N3Joy>|QEd{dwz{mofhj*+ z6<7OX4Bl)kD`O71_z;ajeDpgPUQy_?2LFuY&(9OuKpxWbbE9Nx#u(;QnKtCr3{pEo zypBjn8=nWM$g~QZikv@49zwq@kq5wF$)2C1=N0iG(&*OibIHC3rL~$%UYD$xH4umD zGfGDf)1nru6sx9`xr$X&$~eW&l*aueD{9D5H^l@D0u!zb)x6SFv9sMvKSz~bRYpxP zXCy0LB}XTeZoV|#qu2$KePxL_KM0dXwi2re=HVqY!GwzS)3v}-`(QrGlYe$!>C?k_ zn8t5y5pO1PYw(w!{7pOby4#>%3lU!?^0*FfVbP`Vs3jjnt))BH$>BX)wu$KLwlW7@cn)9WmhIA!Qg;vBES?b6Z?`VDAK zc&&zn9G~z?2ZiAc*&0R38x8L-gTsIol=1|2^{}XycUT|r$!79A#?xv@@wK3Uw+$gu z=C%+&4d+q(N^=o70&D%^=A!cmp1=n+7pWs~I9~Z!tQ^6+@v0)Rbp)Ricd`6-?c-(3 zJ$sg253W8d8K3G?Ag%P>dq?sPbDBe^ ze=XY=glylyy#`QvqYhE$)Cj9;&l)h9t-zqStF z3rDllH~XZo%z;U}#2^Qc8rP3pobsdZdMwAa@_?blAJX~sIMkrm{J;mj0-B?VvMOqS z4s?0>!2pdP3`8tpu#rIJUO(;>+a0`P@S)%L0&eEhTJ{?*ft-L75tuj+|FdPA9u?8q8;0UeHSI(@a=r}{CB-Rpt0-$7J- zhxq7jelYM?^e~=oJ&ykqUO#RZFO1@C{hq-F6E?19;=@rqEM%r+M*>wZ#3uQKSKfAU zZ4|dRy%2z@qV{yH*M{vPVKg7qbv)cXQRWK3w~6r@Zad0tn{~9dBFC#Q6xCPo;rVsv z=;el41Ha!UUK`CrdHFU`I+{=I{_ZxcR6f1RuKou_$sLME|Fo6EF^1ET1@7Ek-sD7L zw2eCPdPuG1Q-3jd44-ZJ(_dGnHycAAE2kT6EGhnC?-<^JANCjDjluT7;xBHE;UDs! zUljZA;r&9-Y(QI5WI+nNhF9C}$@*d6V@ZOsu zd>kJe^$a@DvHq26_;TdFa1Q$oOc?k;N3A8qS3EY359Z(ah@<291YYVR!jgEKfE9Gl zZSI(8d#z=Tj~JGOBQRQs)k!?6>ts@`A0F<=8ID)c+rh0bbMzp(tE6-9u}VI~M;uAw zcg^3NPbp?ZI~>1PV)(8j76bEM94I$pvi{I;EMyIQ7-eM3y^$Z9iO$N%Cg$kJ7*CsD z2UFW&KNJX1V5bTG>M^}CUN3+?iUs|J*G1ZR-Y)jmo5bhfGoDlA<07qm=*%m3AOpIN z+wwi=c5Y;o>LZHB^Y#(n(2|-v@C=Yy9j&WFXV!LDifn5;MC<>d`oC5GAFBVqq5tRW z|JnNg9{oRE|DUh_r|AD%^#4cn|26vmLN76M0?%reg-)*Ruvq_};wAn&fe(xQ8XU!A zZ$l$ihoY=`R*C9C?z-idtWC1IBmV%KvAqK7|U09wZa1wZl`dN!sQBo zrtmrCZ>Hi8Dr{uz+`=+x=<1lxW;3UAT~Jtu#dA~m*hu!iln=N^;>_PAw%+98&nf)g ze%tm-fip;YOfv94$eG>YNJ54g?~CVBc=22I`#7Gio67B?@CBYK>{EGRsr`PQ*SXX> zja!36<@3BEKc5$hefdzw2%a*k;D9QNxe{>cP;$GH+Y}BuDD9czS4@+9)n@UL;Q6j| zhm^lCO>ct|g$r9MK2l;9C2?vii3?P^pis#he*aIn?_rr=Nwl8M#cHh50c$IbO!I9VO@Sz9Vs1#pDo5cLuV(+SLz0MqaTBQP?RYzhr4oY8kfT!3UO8 zCt6Rs+uL7~c1Gi5H_(?g(5Ej>OP8Yo?{iq3CZ2kow{?}=luk;zN#~Ry{eo^uxi!vR zp8A`Vr#6&Zq+MRD#4kuUcngT+txAp+S^t%^(B&>>@2nCkMNNq0OS(wB(MX`=mCBy> zlJqN6a=WsBPKue`D$^HslK2TFuW2oLyDrDP@VKFfl!}rL5@#xTo=Q;FQOdKFys(wz ztxCRD$(gdxRPx7^JTpSt*L0Pb0uMAVvb=C9s8WijRRU+Ilou*_wvyYFeWjAGSMm~N zU!vqWN^TF6e#(@5os!cYGlu9A)u&FIG*o)VewTgi?9MaA=^`Fhdhtzu$h)7dSlXp3 zoT0Eo;c$i79awz5i?5rKf9#!9%7gYLX@FxVIXiYh?t%;*&Pf=B#bZ9=EasrQ4kt6L z0-^!X4XD?N14Vp^M~y6Nh`%#UmNFBVN^cRFyScwuT+APdRH|%+^AvXc4bwCjkZC}Z z8e~o1*?XUFXd59a_i(QS{j+<>9={|LO?&~&jUU~yPP82m^S-#Yn@4tpx-Y(Fnb9B_ znN`wPE&=B#r_lQ(MGCiH)jwoFUd_LKu%mf}e&&MYHL%lj(_6*UBW6Dr|J}_kO(`)M zChez6=fBN8Jqq9FqRo28n0XUT4kCk|u-w<-G>`NJ05mO49ws5nTq)f+wL z1K5{vi_89DyAIDA=>=2h97Z_FO^_#`Fv29 z7Zq3kRYB%^gfrP5O&w)scBBKYj5OxjF_@Wub`-~unC(hr%Zm@+=ApgeD-*TB7R#Je zr>Un5sX0A*&lrY&U3Fs0UD-W+p7?5f$H6nDK)PlHD`(@N2c_)I9733 z%zT%JHG!oQSz;S&bOb|dyAB~9M6F)JLpz%K+xZWUQF~*|r5ur+<)Rj**2I?ljsn*F zgC8o2`4|2Vt!Hasx3IpMjN}+|KH=yTw2wYknvyR{hm#s9psuBEOg&6>7q<7f=desu zWofiEHn3>~ntwI$;nr;ty;L8Wt#o=JvTV#{co`Rw@A8%%ktH2p*yP`lwghFb@B8l6 z|KQ5^n0r#|QPl9Ls&W$EmFEiq_SLctvLSFlfQ`G+2A$4~VIb7ruS!Zz$&pfXRuGSrz0cC^bwT>cCIPMw=6ZG``T`)XFfe!=!7h5@c`wIl!X@ z%_5!l#g-D4lP$Xs&TJ6ioKG(VdTy+#oK*J4@}l~ff8?eyJGeHEL62-yP9N^s6|$D& zZX%Tfnd1b}>`bQ%A#1Gkl%}zq;K#^mP?gEw&42J?{k?HN6%~3n_91-*(&A+Fjo#}Z3h_i4ALmLP%~@PJ&i$hoFCp*F>73bt4Oz6!#!4V7tCM9g z=M3CDSjVrL3lei33W8RRTQoN`rp zIt6x1sb(vGC~#?3$ir zlYEiu=Zr2T>_x(b5Sscho@5k?ucn&G#Jx$zaN>h&MJ!G=2%XMtGk7!z?ep!pQlaak zm*N5n0@@hF8R-1D*~@gEE?reOXKh%VQ+cs^uvBugblK85(Y79xDAg*K9OXSX*gQqy zQQjdi(3=I$^0`Z)MSzjj!19j&1tk? zUlyF)gaya@vEZJ~YW$r|Q*}R=d|4TMM26vtit^*m<8Zv>+tg$v)*R!ZaWzQb9gY{Y zenOeUXs$PNm!SpgY{ZdcJT9uN6=NR(GW0aqQJQ!Wb)0t%Ju?j_5~xZ zHj|l;=-|adw4uz~>6Pk>cXP)sRSrB3-A&8I6_>{Y(@RCCpghQCF9Fl>V zHzi^boqSlRHiG$7c{x2(J#1WM5=5E!;<))`IIBXyW(0yf2aN)ncrD7GMa=~yizDT{ zOB*K&*tZfh&Jg_F1Mu{(+=`a$eGtGs!P^eCzQ@=oKr-}gn|re6zj!jQV@-6~ z*;0%+lB1Q$#?05J6H88@#o3391q0qCdw);nPkxdEby+dwWy%lPn0dE!G*~e_QAsdGT*7gloPf^;_hoK6>i@a%`YW=s@f`dEWFPL$!hf-` zpff$O!|laLo(IU*eIak?7lai8RQe7XW?O0F0VC1uV{~`fdc3g=@Bk$W z_GZDC{8#|iPOs!=m!62@ti#Ye|0t82;UO zD)6O5ZoY0Vg4ZBbbqi5FFN#m` zxR%!A8XEwJ{!$gbju*e3;;mbjeU5j-0g{!zo)>YS@K9IP7a9vYtFfnbJ#{Zu2eYiD zFKc;5{^ekaMVnKBqO&`BmSdVkE=ZC%u`!BMm0h%8T-;Nn=8F?FYYwJcmcFK(moLs<+S zB?8PPJ!Km2uk&jmbE-6?ujetW=Hh}xT{=rr%$GHDd@01Ws>mb0E0EkENeMc>c3HS`f=q9Kz$<2gGF_!N7B z!{f!0&v@&0q(jlzFB3SMGm*0^(9y3P^l6zJ1jG-X)g^R&4Mc-_ePp2QDIrw?5|`c?}nzD*XHByqgD344}`i;=Zm4KghawM%f7VA^D8& zQC7%H@U|U0u52X%tWk2`S=j}f=}ws7V4Md!6USX1pb$_3yC9^o0xH2f+hMM14}Ay7 zfh(hF*A9Ojkq$N`ZE=cM14A325DF*23c3ck1kTIaKn9);?j*X3Ar6O2rwH3 zT?)toya0F;uorL^@Nd9vKyVd$AJ7Xh955BI0I;eGQ~R?Z-T>?ed=9t@;O9AO4rmYP z1-Kh95AXtfNYxX0Ccq*+@`$}ovjm0e*=$=emSDf=2_pR!qAv|Uc8;`mjkiI=K)8!b&>n0ErYAW@U^ybrjc z=XrOar4ns9&j*9M?*fkwNlQpbo85a(AG=-mBVAoM&)fAjYpT_SU&AJD@Q}&(%$}2A zA3VgCVKPK9MqT8Q0q&xH7kHG*BvM`)bLv<=tjC>B-7mMR%zOU-wCknYH7L?Y7w#x! z%Zt2ipj#=aQ7`gNog1&b?autgwTpVocDbbY0l0P|{SvpJvDaPFdtm=1y+8hUNw>qT zinE}@9g0(cuKg$zU)D`#U)F{DFYCfTF6$m~(SP0X_lnM8JaZDJ8EDi(u(P2xTlF8a9L{0s4X_ydE&- z6BoW=31Wj%R7PSGfi;X;g4VLVh@s3t0&^^dVl3WRmogzI>;rfnG_7Z=0Mrt+ZoLK2 zV{O2Du@t=l8(NZ*tg?k_uq-WcwUfaECWr8 z<=t2yiKd0}J}kBsplQ*K#{x@TLyPaTSPS)xV-W@EDhrnce4(2xgsTQbi|$fU1N;s4 zmQ?#H;FgF7=`CT34N;8fnGD8mATz?-G7-Z;Xr%;r?_<)w4EXHh$`A0WClvi8@=>uO z!rijb|M5r+g8Ae?3ECXrF~@!=1~eP7n{3z+eiyI_G~v$yyFi;`JrwiFeg*+8$O)GK zZh$7d{8`mP&$<{J|0=#+1O?lI56%Oq&+NeWD>@T+r=m-MKi!Hr3t}@A8Deiq`#j*o z+az5He5pjWDDc8PvJ2|tKfFFR-mGZC<3C14Pb2P^3L?8wc0nHS6Q|{1 z$pc>Vxg4dLz!_hnFX1Q?c*3_*?);vytv(vN0eK0qzdu4Sh~)$U{~3grBBCo<9O?F_@6qI!RaYiu=u4jbIh$zH=tnJ95dBu>x)B)3Ls>|VS}i)h?0 z%%WOL8#{0ffaJJ|mCd(GpSXdQT?Nn)R3F5`Zm}(H&;?jgP!|#H+i5Hw4DJzT`vFv- zGT>|NC5?N9*{*0+AmDERWP>|kSy~5`8E}z7cS4K>&vH`*a2qhAx8IRHZt2AXimH;a zIO)dQ4_$gK>!MlM+k&RI$|s>fgpJUdIV46QvjV&ma}#U`zmcG^eV_>!11doiuI{a| zD$q5+GY}E00qqtU>xcNtxdAwXMi`9nML<00!hsr#wW}Hce>7Cm=Fk^~&pHi5L19mL z5@0T9!iyD6_zgu9ekl>bBG?d~G@R@){}Yi4$fJx$;B0-I#tK1K0>3#`(j~x4r)%t8 z$gMLp)&_6WpjFNaJPJU4oCLf=(V4*SD7p;zXGODFh`|8J-VVIam4+A_oR$H5%+=Vp zpo4&q0;ta_fj7>R2?~KP4IXp>W$~V?wFd{Kw z-}QKl8EC>y05d@60UrQRT63h4qLoHelJJRKjXe*0!ruc*Koj;y6tc_(#vFpA(BybP zCFF$D0GB{Jfj`WXv8FQM)*EH3;BIC%8bF0GM<*$2c^2>&(h|M^2triS9Fe3*rRz`p zb%la(lNU5*2b~8zD_@TARNyp$!whnBc#^`F_Y}Yea>CO9PSB~q!(LR)3*7%DN#piu zwpYOP& zg}~?Ez@ZGf26)|@a@MO4d2&4zImSM* zlmP#$OctUNIPMCLkqMyxJrT7ZvX|56ZZTPYX)d@u+$t#rGV<~uhIWiFd|~_ zH#meq6Fvs;M10a57&Qk?DR^4`0}ff(5UvCykv;HtfK<>`z{Tff#Y%ubx+q)497vsa z8OJ}pm(GaSsx30x$YS4p=Af zyk9XUU|%0tH3wla|5NnU`!~#PFe2O(fDcjXI1+RaXxyLAKKoN{E~}*#MY72!qv`Qh@TEMrE6aKC_Mloo@)c}Sl zCgCQ*C>ZEU;5S>K0602ue?Gempv?##24J%QbksP3=Y~of+#1iiL`oZ%4a8*tC9VP9 z)Ji76ef2C0K#p(|KO10`ay#(mwvsLZ{-Ygqlv(@wP%njiU+BPDJPJp6J75fG-0ROG zI--y`cffu8Y)wb(|7JjeoA=rG0HUja2X&G(o*H1UDjH7~u-l5RkN?W}u@N68ya(_& z{19&285x#kw$Pw#?E&vdXXFFI}oNN_5&%yBQhTcMiD-}(6L3fMH5~;7NZ(APT=!^O`vZ8cNizf zO$_i1MH7BV(dodOB#reS#M?^oE^tT^5+O6fi3Fetrzo26W&joF4dCwMC2a$)0Bl1c z2;We0!j=irCLDNzqLYE|pMd_S3?2Y;5I{8H&nBV?;phx-N-_$AkU8O;NoWPoPXnI> z(C+zT;Kfrg&`1t^HU)(MeGd5XskpZWG~u@ZU9ycBDnfn6c0QfOL1)So+PPP?L37RfO&_#!eZzQG*3;vK3ri%(h6Q&CTL=#Q} zc;tP{H)m z;;n_-oZB+CW#U|)Ze^Ma)VI)H=qMC_)N*U{a5RZ?OTm_kEj3%hU$?)$@V!`%FEqq) GL;gRGnr4Xr diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.ISettable.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.ISettable.cs index c1e8b08932..24479aba0f 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.ISettable.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.ISettable.cs @@ -118,6 +118,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy [DefaultValue(false)] public bool MulticartCompat { get; set; } + [DisplayName("Cart Bus Pull-Up Time")] + [Description("Time it takes for the cart bus to pull-up to 0xFF in CPU cycles. Used to account for differences in pull-up times between carts/consoles.")] + [DefaultValue(8)] + public uint CartBusPullUpTime { get; set; } + [DisplayName("Realtime RTC")] [Description("If true, the real time clock in MBC3 and HuC3 games will reflect real time, instead of emulated time. Ignored (treated as false) when a movie is recording.")] [DefaultValue(false)] diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs index dcd8df1ba5..ff121d645b 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs @@ -180,6 +180,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy LibGambatte.gambatte_setrtcdivisoroffset(GambatteState, _syncSettings.RTCDivisorOffset); + LibGambatte.gambatte_setcartbuspulluptime(GambatteState, _syncSettings.CartBusPullUpTime); + _cdCallback = new LibGambatte.CDCallback(CDCallbackProc); NewSaveCoreSetBuff(); diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs index 2cc5b0c2b5..74c7245136 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/LibGambatte.cs @@ -279,6 +279,15 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy [DllImport("libgambatte.dll", CallingConvention = CallingConvention.Cdecl)] public static extern void gambatte_setrtcdivisoroffset(IntPtr core, int rtcDivisorOffset); + /// + /// Sets how long until the cart bus pulls up in CPU cycles. + /// This is used to account for differences in pull-up times between carts/consoles. + /// + /// opaque state pointer + /// Pull-Up Time + [DllImport("libgambatte.dll", CallingConvention = CallingConvention.Cdecl)] + public static extern void gambatte_setcartbuspulluptime(IntPtr core, uint cartBusPullUpTime); + /// /// Returns true if the currently loaded ROM image is treated as having CGB support. /// diff --git a/submodules/gambatte b/submodules/gambatte index 7054db2650..97c6008635 160000 --- a/submodules/gambatte +++ b/submodules/gambatte @@ -1 +1 @@ -Subproject commit 7054db26504566649882688244be59cd75c29a19 +Subproject commit 97c6008635508bda05e198af393805af49a38563