From d63e081b7aa048521e12cdc279e3a822757318b8 Mon Sep 17 00:00:00 2001 From: Alula <6276139+alula@users.noreply.github.com> Date: Tue, 28 Sep 2021 14:03:06 +0200 Subject: [PATCH] initial wip emscripten port --- CMakeLists.txt | 32 +- SpaceCadetPinball/Sound.cpp | 9 +- SpaceCadetPinball/emscripten_shell.html | 324 + SpaceCadetPinball/fullscrn.cpp | 2 + SpaceCadetPinball/gm.sf2 | Bin 0 -> 3208108 bytes SpaceCadetPinball/gm_sf2.cpp | 267346 +++++++++++++++++++++ SpaceCadetPinball/midi.cpp | 199 +- SpaceCadetPinball/midi.h | 31 +- SpaceCadetPinball/options.cpp | 2 +- SpaceCadetPinball/tml.h | 518 + SpaceCadetPinball/tsf.cpp | 4 + SpaceCadetPinball/tsf.h | 1794 + SpaceCadetPinball/winmain.cpp | 338 +- 13 files changed, 270418 insertions(+), 181 deletions(-) create mode 100644 SpaceCadetPinball/emscripten_shell.html create mode 100644 SpaceCadetPinball/gm.sf2 create mode 100644 SpaceCadetPinball/gm_sf2.cpp create mode 100644 SpaceCadetPinball/tml.h create mode 100644 SpaceCadetPinball/tsf.cpp create mode 100644 SpaceCadetPinball/tsf.h diff --git a/CMakeLists.txt b/CMakeLists.txt index fd3585c..e7df74c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,8 +14,21 @@ if(WIN32) set(SDL2_MIXER_PATH "${CMAKE_CURRENT_LIST_DIR}/Libs/SDL2_mixer") endif() -find_package(SDL2 REQUIRED) -FIND_PACKAGE(SDL2_mixer REQUIRED) +if(${CMAKE_SYSTEM_NAME} MATCHES "Emscripten") + set(USE_FLAGS "-s USE_SDL=2 -s USE_SDL_MIXER=2") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${USE_FLAGS}") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${USE_FLAGS}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${USE_FLAGS}") + set(CMAKE_EXECUTABLE_SUFFIX .html) + + set(SDL2_FOUND TRUE) + set(SDL2_INCLUDE_DIR "${EMSCRIPTEN_ROOT_PATH}/system/include/SDL2/") + set(SDL2_MIXER_INCLUDE_DIR "${EMSCRIPTEN_ROOT_PATH}/system/include/SDL2/") + set(SDL2_LIBRARIES "nul") +else() + find_package(SDL2 REQUIRED) + find_package(SDL2_mixer REQUIRED) +endif() include_directories(${SDL2_INCLUDE_DIR} ${SDL2_MIXER_INCLUDE_DIR}) get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES) @@ -23,8 +36,6 @@ foreach(dir ${dirs}) message(STATUS "Include dir='${dir}'") endforeach() - - set(SOURCE_FILES SpaceCadetPinball/control.cpp SpaceCadetPinball/control.h @@ -164,6 +175,10 @@ set(SOURCE_FILES SpaceCadetPinball/imstb_textedit.h SpaceCadetPinball/imstb_rectpack.h SpaceCadetPinball/imstb_truetype.h + SpaceCadetPinball/gm_sf2.cpp + SpaceCadetPinball/tsf.cpp + SpaceCadetPinball/tml.h + SpaceCadetPinball/tsf.h ) add_executable(SpaceCadetPinball ${SOURCE_FILES}) @@ -185,6 +200,15 @@ target_precompile_headers(SpaceCadetPinball ) target_link_libraries(SpaceCadetPinball ${SDL2_LIBRARY} ${SDL2_MIXER_LIBRARY}) +target_compile_definitions(SpaceCadetPinball PRIVATE -DMUSIC_TSF) + +if(${CMAKE_SYSTEM_NAME} MATCHES "Emscripten") + target_link_libraries(SpaceCadetPinball idbfs.js) + set_target_properties(SpaceCadetPinball PROPERTIES LINK_FLAGS + "-s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s DEMANGLE_SUPPORT=1 \ + --shell-file ${CMAKE_CURRENT_SOURCE_DIR}/SpaceCadetPinball/emscripten_shell.html \ + --preload-file ${CMAKE_CURRENT_SOURCE_DIR}/game_resources@game_resources --bind") +endif() # On Windows, copy DLL to output if(WIN32) diff --git a/SpaceCadetPinball/Sound.cpp b/SpaceCadetPinball/Sound.cpp index 15f0ee3..2137889 100644 --- a/SpaceCadetPinball/Sound.cpp +++ b/SpaceCadetPinball/Sound.cpp @@ -12,8 +12,13 @@ int Sound::Init(int voices) channelCount = 8; num_channels = channelCount; - auto init = Mix_Init(MIX_INIT_MID); - return Mix_OpenAudio(MIX_DEFAULT_FREQUENCY, MIX_DEFAULT_FORMAT, 2, 1024); + int flags = 0; +#ifdef MUSIC_SDL + flags |= MIX_INIT_MID; +#endif + + auto init = Mix_Init(flags); + return Mix_OpenAudio(MIX_DEFAULT_FREQUENCY, AUDIO_S16LSB, 2, 1024); } void Sound::Enable(int channelFrom, int channelTo, int enableFlag) diff --git a/SpaceCadetPinball/emscripten_shell.html b/SpaceCadetPinball/emscripten_shell.html new file mode 100644 index 0000000..e76a6a0 --- /dev/null +++ b/SpaceCadetPinball/emscripten_shell.html @@ -0,0 +1,324 @@ + + + +
+ + +4#xQ5s|+$q>Mr#2rW&ci|dbaW66W*@f4oY6d~{4GKwq9h4sX_%ai!ad~})oS$# z#1LQz>(CR^7&&L9ZtofXbVuk9_M%~WH{)&-~soKTVjVF6b zhdt*A`eJ5wu1^B}Vq!9yiYSDVmV&{oX(3A2f#~Y$z3eY=x$K7Koj(tCpUFO_QM4I| zO#1v~BBC?e?`O;3oJ_jH?1~l4jkf2#4Y+hd$6Wa8YoZu=^hBMe8zR8|g||jn5vm8f zredq%s(WgLx3INkbPn)1^o0lEt}2Jt-jjHo^kfcMIm?y(KKg6K<4DDC9*N> eT;XDuEidH*sC| z67(+%7P?V+o8{r`{S-r=E$@=T_@0Q2FHW&azdHVjXH^w~D?ipZwt@Q?@X!g$+~R5~ z@iKYrB$%ciV$J@EcTSirsREN!QP4QlnKHU&0ke&FLU`Qur3-p_RVLKq9^f92`3%Lj zHtm (V}>)@%hb(glGD))z<{BG<(Ml-Fh;yZ zrcM!uNY;8~AZ9j%LOE=^YI~3RTU{pJkiRo~M;EmMXm0`hb&TqXIE~DUuTP*&O~^SZ zeo|f9NbO+l*B+6c;#wrEXYQ&~2hX(WnwS_l@9_T wSI5Gz|F~C?8xhDigB@|>$l&sX?+A{`4X6Dvg4!&+% z-aY}xmr)_cx2)Zj#FiJaRdq?#u{6>5V#|NXC0VC`$=fM4s*P#JbnOqEjY4MDmkKvs zNlZtd0gMcfS(dmo1mB1!$P_4MBfe?b8VH)zpn@HyT`zeL`#-*nyKxqp=Se56x_PzX zM{3%)@R;4$A3v)8WTZ{x>Xe4pOg4eK)CUYlt)>N+$Qvnp9*6jIFZxDiU9PtRSg|>2 zc10j!3t6E5&{PP8u}8WNdD;1|2ix7q4!z_(2g}?0*k+Pd@>4c0JFfo6+dtZA&bhx! zwyI5=9&}zL8zZ$-e- eaDR)q$Z@UyjHY(w(3GI6e>L`Y9AQBtkg1~u-1_%j z18VP?BV8+#I_Eontmu*yy8@>w1Uar(Xkux#W*6*o<{5(K3x0bY9{Rv93sH6!FxXIR z` g0qJCsl1WKs#KpLBlsEuP!*ObM7`%JkM~n)=UK)5PoOTaH&-J zTzH!16Frp4zU4nVahEDjIJ*0i()Giek!Vg$3{CxrTSZ2S-mlj0O+R)2=%ub^pBKqj z-ET-}@9QJrw 9j4tsS`hIaOvg=D?i}BwEpa-Jji}f6j#|(4{6uvv&6ej7|+YDO%Z>R z^-g ov-&v_k0qM#+P29 3Zqx z^glMgHh(?(Gnt~2O<%-XX;y!)EvvU0*H0*(OIp236d>oHn9$Tf#Mxi);)M?-m0-vV z4|A&1Z}iMU)wbQ~ipRX~>!9_kV ft( 6xR@>Uqh4aY^35W#jpD!u5ve*hK HMPi8EPVWkK~#?JmRD<{CD&jt=f)K34-5uLy?t1}d89^W| C6-;z?Dtc z?llW^iww$-$<8n=_irYUw2rU<3x-}65$-pFW#a2H=ZX-uS*-?x5HqNCv4e$Mhj(BA z;j-L~k-!LZX^|n4>>#xgp0)MY{?FSarIZ_)(fKxIdbM`V*Sg*gyc&Hp?YX41N! zr~xRV*J6q1S`~na2g_Vhe28$>(l*#KO+pzvjJo=G@A%)iTzh>gFvh}1EQc(N|5>A* z6O?S6be E<&Hke8TA?@LOz9dQpL> z+JVf|ziKLss {NA-g8BrLSStnlUKcN~b+m7A z;kDF26Dx6O)p5|cO~YLNN^0TXxW8^G;~8J_7E1nA$2R`%NXC{7=TH7#xVH}5?Wf#6 z+oXNOG|nN rh$UVH77m`2t)ZKN?`%w-4g*@}FC{(+^deAjrRt7A;G_-?D Jiv$eOImnG%|bEW>A`+NuN@6!PPP2ZtmS;YGr?YU0Y9Y7Y;+Hnu}PqBc2`nIgz2s zf^e~iUc@kmlI$=!6&{T}oid{^3ufCCC!|NcuSHPF6}!MV8) Rk~Dl(BuNa7gdJq|{wrVV6^rnw8v_BAP+Y=_`_|oW#_(mi3el zrHy}{y|f~+J-Pqpm;>}3OwSg?lPR<dgAN?O%p2Hk zJE1rLzOy3J>t6Lb_gk7^%25heMr%%BQE`Pm2H7grBRnKFPCL7>oV(?@&vG0IWC1^8 zo#%!Ny_86iEmula`>gF|$Yh>p?c})N7Un| IwfTtX#i^(6j;N#v4YGJTC!G3+G@Po>juSU z9@YmA@osRRq5z4@r2&`h8kM`5I@cffYuC2rOJoS8zDm{3_?N?3WKhvo_q*jo_p`yP zV}3K5%V(Py(v72iz*~lW7EkUp!F6#qSxF^cwR5cjg9I~E>t%=k+@L;b0m7Gy0 |~Bsi&36Y1Z)pphMcpHbM--XXui_T z(T32KGk#{H1OH}t!fMGe!PHAD0CcB$bFK<12igIvPG>K$1f;tOR;I}9dJxCSdM9w| z8L4v#w)UM|y~Q{G-z<53cr$7F+lI|r)T;gV28n;KdUKY9IqU!}(8vQ-0l#QS%=S!T zG-R45bcT>H=5_%dekHyVeoIl5gobD(pDBAC<0oDZ0WRTFwrgNtFahEtf)ucXh@UPW z^V1d6Ycf7OtJ(IUx}4DLBUd-poA zJ?h4ZGIftqMtXSgaX%0Ik!_tN6fDTv&Fdiy;}_)TW%1>Z;H#8`2y!xir3pTM$GFMU z$6i9Wbi_xqe4a;3p}DdTCwZQ|JCEIKU5nc#lj AzXB`z!gvcF#Yg5De=SsoN`1aUR$5u*e8CVN)R`elGo#i zofNl|2>L*to1#zkIP}z1>NMR@=@t|I(au)7LW xl=f@y`0yvb!v5t&Mc zFZ5WE+dN+xCeE)DU*Z}Uy7`rX)2qkZkX@0}KGtLIHWoOmKNKjFA;Sg>lUtJYP_)!+ zGR|~*WNo4aK%nJ~g^L7pIsFN-{Zhl}1C8rCN4+HSY1kA)v2$j7{sAVp!?b!OVW;@z zk{0>z7c)LOu2gZi7&R0-aN1zgOgopdCAhk^A&JMQrhHeaT9_^#sUNo- z4JSA(8yp4FuG93 x7Zv2Ca;@FmTN0^YD{9WuCh0CDO5GZq8a&*3x$$`wI DbO9w|93Z5o@Ov6@!yT>PNKy8Qc#ki66rQ-42rs(GReyeVlUbUXa5wEf84HBy( z&E&x4GNEea*2a;S(`Vyu7ZI@U&Zk`~@{fz$vUVQ_mf%OS)X*E4idcM<(vkk9HSg$d z%jx3oX?XS2k)Xq28*T?i)>;an{VxZ2eRA$FRh4R%;Y6Hhvdi+Eb1b=S-aq|zU_*R7 zJ3mr4$+c~`A-1%3bb1m?xy(foS_bvefq3~C2Y7f5!1m7SPhc);8-_ _5{bKyR*KtzH|5mzPUT2UJd6>Vzm+# z%5_W~6O~GZ?2VqgaYvcUs4mNjs 3iRR zB &+!=fOwGtx!qmog2(5XU$$3kERVH2mYv`tD zCY*j6a{%3aO+}w;tW}QhFI}7cIF_;ZZkunGhIj;NrGIkzj-Eh2OQt&x70lK9We_LS ztc@^i)k-$hv>8;*WKpNpp061CZ%vyIET=^?v9Z0Z+YcU&UEIdylwx!CnnVYd2syiz z6h)HtddV7UO1ZrN^So+Q6ZMjjWB{F8rg?9XQe^}i+O_-7z_l}B@BdYs| =KpQG uEYCQkIU>n@LotMZ>z#8; z7z+$nwRh22t?9()Rm fd$_KqKut6;?nB456WYLzV8+6+nGu9)a q4W6YX=wi)zIPsI=n*Qnq&`p``*DTQ&JK98qJNgHY><|28BkVZbx7_zi;&9L*e z0$TpHGBBu=W6}TOoA1};W$ezQQ7gx8zG#D0ix->Ye|wlovj8U0-a2wyvsu#LzP$!p zab0^&Dp_AS4`Y{LaR5l~F;Q1&EribHhot*Nt|(h;Wvc--933icO2rA3(OJofJF|O? z7=D}6{n?vyp!K7fmciD(nkM~h{nXeN-x2l>-~=zlZYOA5VSrqJRR3%Ia~~yRIW;~% zs=R)5aZh2)uwAEivZ=U3sZpfFqy9!8W5f5x h3 U4i*N|p3%09NAlk(a5NJDB zCoOAxbx9_bX#io5vdLo2GO(YwE w-!&;elJh2_rjY_+}*kZBu^+~ zV*2RDz70?I!fK8)R+4e`*qK673U0iGZ#Wz0S%ax{z#`g)O17JX@OQ@ Xd4Y1 z-c|kR6kSg^ey~rR9qybQ)t-JsSQ~3@Z%K^)OEVz5RMPhw_iH&HcM}uc<&Af*$72TS z` ^(pdgOj^mud~dF`aQ1iuy?6L>Yv?!d_a8h3NZcB7O>#g1Q&Ok7;<9X=cgt2c1OL z)u$A}Ezp?GkW2ePIV%4}?vHx-yx5M=Y%ngk-@Zj3|7B} t3HwPfd4qGt}e_xX@X_-yKZM7ER|YH!Oy%!mKVSWwO8Lkr%rpFhPF~Orsz+ z%6GfBHAkNHbx$koW}Yt6PadL3AhP|@IB1zZi*-*@LFq1QIMYp?T32n@bLEqeA60 zzO)DQUaV Vfc2^|0|2EJhN&CT3N*zwS`OE1@;)xO_pST|Vu znFyI@P_SLxjd}SX=7i 3eBT;R$_&9^{0WAlpfmc^lORQc@T}o7PROznGRX2X~J38B%DY}`49xeuf z;SP*iu9k0YDV7}0lja-J>3jrfML9=4Cf3@M+rT*5JrZEy*;szJ9)6r;dfc{}Pw52J z?`*9aQ-WyAc#* ezYS#3<6yc<{|bAM-5dCl{(u$=Fu;BF^;QF~zP>fp!W zg}&d-*XpR1&Xt`Q{ #-9}DdaWFme96znZ!eGU6CL?D?2r# zCRDeL4}2cJ 6&Jvh@MUuV1` z3l-*Oddz)OK1~j&DP(us%1P5x$pU#`t>jYWG;UdEdSDP{?G{*MTciS3ZBp=%=~VQR z_zY@gpc52ijil@^=McPx=Lp#|&lay!%#Q;P#I}`I_jf;o7kT+O<5|=oLI4pSXEVk? zRdk}GDau7lRUr+!BGtlw0>;u?fJKfJHai(hpf{OXwgC9&7+^_bN9wBa45o>@wYpzn z%xAiJX>V0!$h*e2{7GqBop$qn!y%@z@9|h_zjsF`cD+Tk>{YpS&3qGUqkk8M0GX(r z`nnx_7D&XbECcUxe&bZ((B@?0yw1li!=wJ!V$I~UJYKm{_oE5QnbjR=n5c=d?QtD( z-gSD6yd?J$ZmT~id(QcQ6UGnb58+TeJ0>pA>5ch}Rm^;zciYjSkvcG(4_NP{Mgtq! zOoe!ux{i{MO!#@VuQ?@oeQ@@&EYylnw}-O}Kj&TMb7Q-|-??UTa*bJ^qlSm|6yIM| z^1J%S=;bkk?hjottwtD+Uh*vM^6AVRUaTRraJ~9R16^59#jEDNerRuKuP V>kzZmof(j_KiNJBp-BTfKV-Qs2oJPGKHx?wkBx+!0(BFhK*H;Wtwibsxn* zqe_Pv*L=Hhi)TjKsJy_+fNgVQ jGns^ixrC;BXmPE zi _&Tdby|~UH=0nfT)1d56x`g^a2YdQ`LOs$ z6}e@)`Ep++zN+VShjZ_81G4aajY*qp?TxzgF59t#h3i`@Yfsj~i0UL2Mj&S;%MjZG zRs$9lVNdOBBX))7N}~t?4S@Bi8^i*udDo!EY1Dtnb4&Lad0@6?a9!C+-b!MXA1|se zHqR>p);p&sHBF@szaJ$pE)idmtx02xLUWmWFa}B1mt0&dhE$$iU#=#tCcPk&U7tN~ zD|0oyT>YmyvGTWM9*BQAv0c7?urFK)vlY2cpS*0{&xq|FzB#=!64yCjy@>JbhEGH< z)6X^GuVdX?5^6Ekv*m92(inJeLt9U)Bd%+x6T?__rS=)7t4_Dryeh8aUVrk0(T3Xk z)5+|m(PQf2DqTEp924K^bw+2Xsp3n7nM$S95Ufvk+g8LLtSg`jF$?y7<%zY!8g?4J zGR`t0X~awam5_yciz9{3`JZzc(M#+*EUXez@f|Y=QaIUl<<7j_`mN0ca*n_ifd@xr zTO$B4|1LkBqOnthE3=KMWtpv`Awt CK*VI-!O WhKx~uMa*SbDB!&AFrD)cdYze`=;Ecbh+ag zU)$B$@}xVdUAxh-g{5|;99{;fWg0M@QC!@bX<1NTm|7*DB3Pa=7toCYzcN6?ULXc# zRQbM0t{`=dIZ)vyA&7p>aR)~KaF;C8rHfj(Yi5yp4|Rzeol@1(FJNTh4xzi^?SjwG zJ6CfSkOa0#`St(yv)4^Veva1=&wxDi^t7L80}s#0BoLm>TtZOe0jk^im*pEhA(J-8 zw@$O>M9Ci~cw*=|oC_xNS#?<;WLI?~c>Df}!t&L5pDtuMb9F}t3Hx`j3a>r?Y?i)f zu`Z_du#UNaqm;dFtU0O6x2v`_w8fxzrpdlR4D+w(S}w7&virlR+Z4| a_o31`XG4yeBNx s_mETxev* 1?pAn`OD=C18UUUBs*%F@a-{Oce=oxciV5&`xQ&(1XiQE z#c|}x{6)br1DwR->M?@h%Beru2XK#VOT<*<3a>Kj2LW~+l%<=Ni9ABh#N?kPgM+_Q zsI`yPO`8R?N4mE9Zn~G0UP-=}nw1$ALW!rra=7Pq Kd1-zjPjGDdG5<0D33N)HH=4U=>jd^xZyADxmPMpf*X$BoxbHfR*F;J L=ggiFWHchNV!u6R=t+xV+}tzM>CtH-R{ zzY{)q4?9zHP}EiYuTrzY6z{SmJ06YA8|GVSB-b5(pi*}49cyqDizIUU(9SZ1NKC4? zY2Q=(ARnR7pub>=v;v_x?YQjeO=k4k%m^lCYIE{$5fV}{JlYcah(Gd wdL`VUsRXZhv*i=5tfyg=WpOVKj>=k z2cEP8$^2VzCbdYe7j#=pRZK6=YpDC%B7_&6!5E*~me#nA=ffYS1ji2tM~6 u!>dtZ;9?+W4sz9V2r?}+H%I+5578m$Ueb40vJmbR z5m7usFvzfoNVB}ydA#z86nh}Mc$45dl{YK6n7Lt1W(GyDh=Jq}wn@6jb6~jSBJv@k z1a_*@V#yiobL~I>A*&K$J*o =dXRtj{f5|18Nfi&(pOR?s3MF#CYX93FbRl~JGPge6PB@xhCa(h2860VH z_EmR!_MK@V5->Qs)O`^iwR B@~?^Gfs0OVI7_G()^6%;uDRsxzyvkTdkE!lpuz)O|TC z4IBL!lk1i+8x3nuBYNXHV_y?NQx<(0#TSAuqI&YCD)I1Esa6)?DI?(SVdk3KO5x(G zsaQf5p=jz65kON-w?adqR;)MfMl(i<7KkNDRzoEvX*C7?WS<+~b~ZbamKQt_s*@~~ zx0DVMViK|tT;Nva59a>FV6vMy<=FeY0o_FDded{<(=*02*D`puqp16HPi*~sbzeg_ zhOP8+*;vb6Y%q=qzu)0g7N0&?1nsOEC}~}5RPV7LH(OYllNn(j3n%)3`I)Ha0BRm( zh2{t6ITR^}5cP)YE9@wKSBo&xvK=>-G7+_0)Q4-gTY&9%bt+_s#cM@! t0b1mo9U1Z;x?bKAC|10HtBd;)G9YN= z!Q72g+YzNJ;t;6^@}|<2;`S1~LOi^z{7)sg1k%7wCs!Ar^a!?%ba*zWG)4|+Ph7&c z_Baj|V!t#uHrlm0)ITm~E~~1LsTu0LJJB{C)2vtWC_k#=N4sn =VerzEzb=) z(7C`1Q7FeRh9Gupm3ptLyZKkwZJbmSl&clRrB`L5WOXET`L7C8iT6lMi*ECzg1~F# z !1EDdb^jXf08VH_uoCW`-r?NCN|Fj{i zXSLO$lD$QGgn6copg-g~lsz`O!AJ)MR~&I~F;a5q{FsXQ*2Tf%f+A63C$JGjfp(q# z4r;}MLxTr#+w8J~qg9-qr&634R$Nz3UO5J?r#K-R&)dx=2}~n>Am<;&uE=2<2K;A2 zRzgWH=uf~(qz|icq%UByK#*V#k-37S&gD?9Gu@7)j-NKF9U9j%-O4e+%yzJVx zcCRt3ag!#2!juYlM`Ck8d1sYEyV?-XXzTccez(@+;S%EF8R^9M;PwuDSK_>rafK^X z_=8XpKThlp3?lzYUCd(G>aSiaqCtb+LeAkiYRn)&RT>&9&LB%vk%a^0Z^%A{POx !@w@ zz{mnI2*+xESG*&vDHJB@E*mTzC8H;s#Z__Wza~Eg>bumm*3&Z>+_T&5gR>hU_Xc$E z^f?bEbfs1NE%=!?S7zM%bSh_%Qgc#c+Wx&I3S(6DruIXV1Ab~YXsEnhpu1)GblvvE z{q$((#g@@t`tb|!B XKvoK~?38l__^Y!ayAAqkNf zmwhEmmTQGez{N$E8QwB@Gs)1x$mtu~Gn#$>^_ )5x9OMHtbBB}@p(A%5<& zmkCgoEkV_~+;-1$pR}XXchr(KCTdkkpNW5z+Jl0`gcM9PxMak+q0E6)kBR<%pTWz0 z&$=#Bg?=Eu?&3Rv-MqMB9DQ$F-RIm}S$@^;1~1|AJKI{{H|4hvckI>wE`3))>53V3 z7`rw^Y5&@O8yB#Ca1>7Q-2`mq?FmwKX=>QrxZ-%k1bYRp^BzO>bf!#Qb-5ATs%r>Z z{YQ53cA*9kRYs*Nl21eiqyQ>o>Q+j7!aq0-S=SjqG8oZ>kb u0~uD{(s`%;D|eU_bPT?CvU0n+DLwU_;0o?}g9=Qr%rR*weL z&XOL#_VOx)qFYr%9WQaVBY^|QP3QHGaCYmSyMEg~TQ@giHe3(h0jS{HY KUuC$}u9u%=S^L7Qf8*_45>U#oWY4<^EHdRU@j(K>>Ud91pn)*tZ#~ z&qkKmu)6&zGnG^^&?v=q*?sZt$q%j$eh?FpB1`@NQ09K3T5g@}C} TN$OsDL2S{7pS_YJ{LLsy#Jshqy6=O!_ZnAsqsetm$8MBPksEg zVL4WLyO@`q(B_^7hgN(aH@2w7v8t_vw^FOkV02~dac3%qwIy-5d~tunVf({I>gt SVEM+;Ch m7O?ujAA5xy22yOvqQkU#bl3D3F@)-rGyjx||L5>kw zE^RNXGMfP_Ya6V+iFKmEC(T`Dpj;<(1Inc2qybU?qxf8c%p69I-2Sy7)vw>#J>)ye z(lgbX*kwBKk8pk36vv7gFUYC%Y5vsmu7T1r+D+ddHc0M1tnDfJRGHZwHa;;r+!2Er zZkfPi=QCH**7i1rm-81ziEBq_pa#oVu6xX!G((K J~~uic3mlnQrA5W^6X) zrp7w#@ZVxO{OZzQl%6RQVbhXG(R
I1br$lUlOciu)}moo1%{#4v1CcdBmJHq|RNkn3-^ISn)qadhd_ z^p(_ ^mDx8#3fqq5hPA{5z_!sLX+-1% +Eej>pAfGdQq^-zl>LSmwOCGt|y3f`>q&6>t>z>d=nVV!3jrqu&i zlqr^8RS`rEYbGGx!LA6&u+d)J(m;+k;zvj7aeM7^^|P%BLp6lUqv`#Jt?#R~D$Fp; z^}N*?HS_H>1A+rqeVrIoK}AJFU(48+{`J=3dYMM)e(Xfcg7xCPx!wiHtm5qAo(H`& zV--yy-4D8Q$gGg5q8vO%<*xEiDH^e8#mo9#)@jy$2D!>z(m~K2DQ1|ZqLC6Wj82%J zheJe4?kg0@)<9C5{5n>&G)$^F@L19$tj`A=t+Qxx4>0LbSGS7E|A9rgdxd{0uxbH~ z)opj3zS-|t^`pd1sqiw{BSl_yV~wxKw_06F8_;)x Xmd}$!02)J *m>kuVXe7 zfaRTK+ly7{i{}^hK-WQX3`4+*Gc3a$fnBL;1r^m}g)Y$*{?9U6x<4#EEYZ5(l%LB- zOAU%9OMg_=QNW2A2`LJ_6NO77Vdng=4;H2gQ^<{#y;GvY65V9hbS(+Y!65*qciWF4 z-94cLl`%01&`O#s;`FH2AM7M-G8~>bl1;bOGF6h`c53ljj5 n3x zdbwok{jg?_O7lpk&=BiL$;d9=5gSr}P#e~Ar|xh0n~KLR0Rt_#TfN)$%jJR9{k=CP zLI&3_yk|_?WakQwGGD*sFnNf3FcLdoy1hvO0XAs J}iS6}3cbCC8P@6pW XilwuSQcE#-gvj~ zVE7(3q4r}rXY<3pr}z)Joz5@yxeW&0zeXeH=@u- jhXW` z=OD{)9S`Jpq_(EKY9O*rpQwdG6vEDgC7AD>pB=a?R}=gP54!(#g!jB2rX63$X=BM< zjIFnu>>8`f^oss9>EaRwKX$A(U#cV4Y4zHVlSZy~T(4_y_}H^FYCQ{@cN!sK-{T9X zZm-nuWRg8k63>*5KT&EJj3puzN9EkbU-0H} &TMmmk{buc(+S15! QNO2?W!yX1Q+dzPC^D^sfX`eF&@I9%IoExt~; zt7t59rjw9?d)yZ>z%`jX|8)gLS~-7pY`v3ufMMJcX_QKlONJ_P2C(D^wJOtS0d+EU z#E>qE?H6?wpWt@#x5Z&1uEO?wK(XtpAY>9Wi~c`K=Y9h<^VDZgf4Xhp+LSC=j~)p* z1~8r;pV!eqX$()RK(;J0TwFpf${=HaMY;{AE4_oh*)QW6L%1eVT~t5VP**z)ajL4X z^hV?dOFF3V0J3aNuo!&ZE!3+v2pb{blKQo=w!L&6(>2Z)H#RG3@3uP*K(URD_o^>7 zWcOWI{rFNlwr0ED4tts4I@3GOKQ!JCzzL0go-|#~CySm29sDMiQDf-QyhAdK3a^C& zSo7JC0_@Ufh$Wr-TKw>EMN1`GB~ztSIi%FIP%0Oimmv01rCU8g8p;wzRiLt+7oSP& zbWJ+oX9+;!Pf!Cb?Mc)z7o8mq; teXkh`p&V yrawGFS8m;O`a z8$B( AU98{{1_9DX|7IS|@6+sV~DSrJmI zSliwX!#?S4Y Jj`z;k&||!jv3DtV2MQFNU{V%uvw) zZXxxBJ(&gq3 7>b{S+B4!M9(3|5OZL-{B8<8Hq(E-Pks0b z;lZfVpnDH@yK~cWU079DO;6M3j+(Bl_J*domcRW9 XNs zX{mdA>hA5SyPvwymO^oNClE*o0pd>FAaYsv+r3}kzu{SHo|*aWy+ ~+O4&g{ANlw!I3QfDUl!}1Y*^g29z7C7;x$FJ*Emu~AqU2+4lHNR`P z2iz0W@w6K;`T_%== lQHP`nhTkx)vdFgr+6>!0b9)fj7!u*P+jYS1n(2b!U5ho2r4HuyMUD>kj^;-U zyAUVAc-bLI9xs)G#Wzyn(nd8KFr>Z(jE6{}A<#Kxm6WykLlbE(c3J25EqpZTQ&xF4 zH0N1HT ndMm$0t`0K_@eF$AcEtQQ@|(^R g=&)>CPCxi4B{a9~f*`cDj$b;ng#^N!oB|FTGcV>Yjs> zQs!}_{j?^glL!h%!jB^1a0eJiOH;>Gzst t&3nQ)fVn)!s_{WdYWjhlC*SI23JwF6}l2AOSw@Blcj?W z>(^P|a^VEU#b;(LWFF2b%3Mgex@zyrvn$)f%R+aC&qlb0iao9DWfoorWg5WcJ!{!S zAWDRV;X5&($1~Bn #v;jsT*LXiXrie=h8o7}8Eckm$#tWQGR A9egwq*EQ_GVEV_YK>!yc~q6lS^#5UK5t zcHQoPH4TBST8v{*X05PJ*rG`}>N{E+_XbBEe$iz1cYV{9?qA(E+Z~%2^|>7<$J?jh zjtP7J^m_MO4F;hOV|QSkCyYkF3{4LFGqivyBkiFQC DMey*O2H)P z6@wYm^QJ`WO^(G50;eXQU7?DARF`K~GbUFI0j8DqR_?1@p4x<(t4*zqpCV5{J*53~ z3Hb(Rh2SE)f_YD93;Y5r)H@BGR|P7j6ve9bfK%F5ruwc1AxUwtl<+h}mPXECYE%4) zsO(VFz_VeVu@#ZFL9M=)Zo93)2wPCKu!f#T_=$myZW&%N Kb=cm?^pW9yZ2#-gJ+s~P8`R*rBtjGC zl3W*RVUTOoqD|81ff>WI5vk^@>~(BTncs2%`koHv1i$t*aoBIX$AD?_&W7r8-i2i6 zWcl0Tx4Df`gZ2SM5PzDzdf_Vj1to>LK~SsVul*L1sxc2b2->b*rQE5!4an5 a?lp94u_p4@me*?1+feL>g34K_mLNq zE(BlV^u*B)msb0((vGnvMdP-XZSBvx?fc*K9_-T{rlTKEobEU8-Y_5^&zc6#aMAJo zsoi^r-cD~Kxsfx8bOMfgp6>zB)Ek0-(aY2oYF^a*ikLAwX7SSE`LeIq$_*BLDr}wK zy=5hx&?wzdVcFz--SL3!8#}q}qWNW`LBw5+n^LA&lfR4VH0w&0N=^YLfKGrTz!i|s zP$@*Dtdq7azR=ugzR~rWUsZTh($}o>*}*wg89uSQ!w!a#Bg|L+TCOsN|6i5)-*xje z^?-Uv{SV+g@Enk!7?-}5ZeEN~-c?vCZvf@m7xdbojw+PKkVZIgi&7;FVs7LpWEUVr z%^t`d&1(?6<5;wE+^Uy`-msu+`T tzQ!2%3v7kKWix%_P8DiF#5hB<6J)Cx$}NgjDle!ne2*c-%mV45*v#L| 9Z~`(n^agDB2F(lh)@fqbaSCl`BrvK=A+)B^$D@re8#$8|I%W-cpa;A z@(`(rH;Yf1jUgQr9don`ZVx%`v1FZZmaD(g0AQo-xZZZq`M%9N%>sZS45XN%h19d& zupexF7}j@&bCYz68pgh<;<(uQ@AAP~U4idFY&8H{|M1U |lcIZrGiPs6p5n<|5 zuHX&BydVF&|Kq98`=@L~s9Cr9RPt)tNsuqR9R82iBP7GA$7O|w`KmjKPa*+P_@Fhq z8wCl9RMBrba$Ku*?e`a72B-3*9+YFGmqg^e&Jx$C(&`q%MxSl-k0aOjP;%gE?fBeO zQmU!TW{?=DDZ^4EBZphQeEs-w3Y8=^=aClbS%SGSt_C<3E&-S6jMzMMaSR$>b|QME zo=iEA)M2L~u3LV$Gqb*^iS`{|{N7ggGFac}mgFV;{1}29B!3U;Si)$}+6&w~0^C!$ zDfn2OR6yD@#~;FB#wt=8{v5Vr!1`z8ho^ncjA?QkQH1-_y9xJE?5Ezk T|p24M-HG%)~v;wksY9wg$~Fk`{Im$4J8I-*v?wf48W~JLp}k9?r{&;wgVY$ 2gKMWVq&&rRhAJ~t%GXI_A>Sp(DZGD*5=T!-AxcuHsdO*o27?>jmy|* zVI?;O`oi(7k3rbY }_8fvT z=OU*+3YTPjLUUL8?;q_hSRS1q&ctLj?`SXUH5fl4ybarC8}3u?7Z%!(fGM)82wCs! zN7TxgFURc{MlCMTy!(THwzqancQE*pndt}3Cz_$1J!4<^i_k9HJ$?Z`E-R{&T1$;~ zIhO}VROlb2{Fy&4^H#m*ejC5_8_ ?1|H~FpVNBt<)l(lNHnEa{lWZP_8!N@!Zrk0o{dQEyF zed#e93R|`}R(y!>FhS7X;vb3jD&7kQCq-59wd0fB^f`F~&8okx!KE>_KZK50VjD}` z_AKXk4Mtrq09O3k6_xVR)Q~oSd(Mqp>X1Tk&ei_4*_cX3{i2LzFl<=wT{qs7P70E4 zG4XJJ;j+f#-<677a(Ut2Z<#Qw5oXYw1=nmTOJz+et=;;!a7s*1U)13FkN4Ie_ ?f0woXnZClaMmD;5I(4{yifGIwZ6zH>l%90C%paT6VXagupgsa&M^c>yM#%D1 zm#a)>@73XcUTu7fg0t@HsO>y#bsXDQL}ZFL96Ic@*4d3G`Zga)-64MhjS?($!2dGP z`xvQ;8*11*=&wd4tAQ}APdx+mwFFsiw6h6L%Wz$1a=2%Gy1T3N1nE5Ww9HOxMpW75 zUNedQ$<$W`f-|UdwXQ!>8{&pfP_{sST2xu6Y;=Q+G6L7@AN#e{)@PsGkcc8(lDKGB z$j=YJYBA_ztO`JpRxrz}f$*)Q=5OB=@i_RG`8vygZNCM&rFX9zJlbC# 5Be zQ9P|}sQ5ARunvxX!rTBbIsUMsHK+@u zBAp=Ilk9~(SEisI)`z37GWUX>BF^*AHf#LKtXbKuO)LiPGkR&-X9e~nBpxhvJ>j&= zA;cI8pm@w7#8+TH)P@tA>-ea7dObkb;FK8Nl2Ykj^{SOJW3F&T>KK8|J-rUZohf*A zw0WmdXcKfh$!HqPy9>Rb)}0d8A4Fx-{Zz-0|46p9KKMcZ`L6Ll3`Vk~bHu>L9P3#X z=aO%G`1H=ih;o=aC2;yCw-|y2*y3uNuA-hYz5pT&d*mlN89%rE>TUdk(Gk~aYZ~k{ zU++PSEibS+@@Q9L)COb=-D1Xu4}vy=R?KC!LdW*e4gm4Sdla5Mn|?!nit00_mIS9X zUn8x}QeF8gJ#+bol)HAuY8sOm)zh!Ia7Y9=pVZi4gxW*_sLf15)Z~8qYU4`E->>6v z?gwx&QeghT{n<)&cGf|wJywZw3ofSvm%I?8VGNn2W%lGxoTpl-ZW>aP#N2d91Wh=jB0rsJGNs?M^+<3QfH&{YdHs~UKOZT%e1(~8~GV}#Gjxzop z|KV11cO;Z{O_8G8W}M-~3JX}he-~t@Vaj8>i@X)n3c6}37x;tqx;JZNhDcFV8wP@_ zCw|qR{n7Sk<4_w(B>f8Gn8Z8Y4M|PkSm9OSlYY -;MfA0TN*RMV2Bm4oKH0^R~3rSDgTfTEUCMVMOvGT!uEbW6N3)CP1 zPNkyr$?1wH14FIjgl`?Wzgw#p`c}=<@cGbVruGhspvWZjh6h`3=Jo{W0(TMt)Ox{D zK+xjbX~IM;@vz(+9-ygDW_7y$-dSzm+cfo_eGq)z1Y;`<@J+BPySQm{9yPcWGDm^a za`=`i){^0@3;H?1L1w6P6H2Gr^&I)VShcq6{X`m_31pgB+Z6`vjK5pdvHnb6c_>2* zOFcz)T6np5aVc-U27PHBEM;p+q34;#{b&FD_a~s!bfSrh1caO9*qZw7k1@}iT>GRT zGtwD;gy~B@!uhx~uCAuQutfy8 Dc`JB zDH+P*Qzd=z{uZTTM`|dYCvnl(%5K6<6ZeXC0{_*ll8m6;oBplOXipyO#>XtaFify+ z^Z6%oZ_0|o&Jwqza_dgXQOXU<2cZlU%*~wXAY9{bQPLn&vO!E>OI}?_%imta^lIr{ zgBnYfS7_Mg_{X{b6z@uQcgU6FNDqka{A7)_0y@5mfaIpjOTgC`&){4;Rx|*c%e()Z zdMrAwf621V>v+hi=#-r5;)|( )C##mFXc~!y0R88|Pmvq(a -|xa0c79YH=4X?4LHvce^zJM-VN*I6F^V$JRJx3iw?B y%tdJSRxd4oU>c zDN%zjT8o?Bw0WWGdBzB=Wx97lP;Q8I`o)s?96_*`E{+k0*Q1Am&nkXXXUMym!3%xr zjev7hui*`CnT<0ol3{C(OlPgdMz2c$l)%PhLIEvnQ|LSRO~xBsH>Do*U135iC;y=B zWPMa$1s+QY=?RCf-%mKBm>3( zceBfB0?Ha{i=qmw%S* zjNbfCRfYzDZ%y|g&JnlD!Qc?FeD3&wep63 SeTCa~Sa%Hyf~bJu4pN3#d>voZwE zZql-u#MuhP35|Wi6AY*M$+;-06tr8?L<}3^HlpgRdREP)s2q(o-2Gjv98ZV6TFuQP zXKwdsk{izK$NiQ^Yitm=Gyk1K;Ppf`zzEq(3T#x-^k1EBcQk&5VyDqlH@NFghp`ox z)2;I3a=!a)RC>(@;c8@7kWLwtJu!D<=7>NDL@!-s `|d7PU61$-B9gzJpY!W?3rQ&<5B!UkMr=c9(GuEfbt zLK|e21IA8bCG)ruQ=AuEQW9khccWKNH*ilZ1Jg0C$4ttkHf?$_9aJu9#w)tQ8;Uya zjaTtu@MpG7HsO}3t~INMbM?wB WE8OzDX qz*|jjATp#|A>S1} zq|g1&n&&zWj2z_*>3Cbwt-)5gjw4~LoZoB5Q`T6rggLWp#)O8G_Bvq&{t0^T{6on# zC{HD!+#jfHrgeyiE!dH;8gm`1wB>vshY(m!-@5jU*R~HOd9&7ZTaDAOQV|+|W#T+O zOw %wJhM1+B=MU;8YR?MPnSF;_(m1XaS;imYd+ z$CGfo1Q_U7Adu-h`d=HM137q>o&mXU=x44n&9t-*0B1g5o0TnfWvEXR1E~!F2kkq8 zK>QqPKh}!>5&8<`&we@{-IddIaL|i-1aKVw$XIBcV2<#oX0Xaa)`&d!X^c~zQn||2 zkOpoSt^jocJIcSHSpimZUt{9?K)rrL8%W=l&cQYtCL7-}oA&d~_*C{JUpJso3&3R3 z)-Tln4Ht@Vo~YMY9)E@AEVx*hHv4VpWWU?+oB3msBT#q!9HTF$BHu@8q!PcvJt0fF z2^ 0Ue3@o^; E;;J8Mk?TOnO|% zDK3aPZqhG&$xIWrNZ<_fWuhd*^mD@?>5wIPDk}ktAB`Jbfw@QnEZv8p^by7l9{vfa zeEm{J!evWaX%Oof|6lPr1{im4ta0iwN2oChdAM|z BXsmA>6t`VD?*=T zkl{QK)vzYI>`wY>=WOL_)*v@YvWM+A`xy0h!iW9|@CRC|(&ZnS%@|J@AxxMMH;Dd) z&Lb@hIvrGz3)%b14raP}Pyih)%)%x~9|twJZM n; zo)vQgH24TQ($OX{1eak_wkG#(AVup1N6EI61o7-h$I;)%D&|)$K7eY1{3Jg}FD89Q zyihyv{hT~tHsU1G&}wVY)3n>A>G_DzXgwXS8@pW`&F>=DPP&b0&Gt#HpoSV4=|Kv6 zs(fVInC8qk)>`#FxCheT;);Jr%4mtKpfqwoAI00liWYkbwo;LpnbAR9uy`8;1U@Q{ zpygoOMrua?PCsX4D}U+H5U0$leX0|2#f3$CqfeTM1vAVSBC$Y8JB#fbZNOd=90QMm z^_D=4f$7Lm^U>qjm$bm8FS &p#A5&ZyQ8Jn2YL_BQVQLCZMcS )J~zGwueoqoqhIfk{s(JL03>sBNobxp z#6agYXU{@_D3-5DIf?cfYnkInyCB!VhT`p1pQ#(ettbkP&N>0~(o-RaEY-fh(i@9q z`2~?T5vknIoDQM4ppM!&i67mHKOi=RT!;LXIMZKZ`iBir*QYUz3iVFi=ST+&3-5^3 z*`n=*7oz=*viM+5pinH>L^sBCkA~pz0$=b>=o;A^!*SYU LlkEuvv5WQW|Fye)Z_3QTC((d0dvN z{TZ>sWXj1m)-GRB{BPQS4(H{eYzA+;$eMF^rfqBz-OjWHxM?vJOAF?6`eXj1)9BU2 zI}(9rE+X1E-C<4CrQFn#pQ}%~vK4#T5Z(jPtp%^ygQ$NdVDtjjMy*2CM;>-wJSH8P zo_IOGT67R9gzq<^*p^4O=j4}M$WHTm3lOqxxQ|5)?$BJ;c**!$%34K*R<$}^@RlfF zCg!Yh@Elx#0-u5R7{0gO7lzJqEYZ$Y`@IJDaKab%i9GoG2{{u-P#wgO#Rx4mfF;~R zHlLUpfsdcUPjL|%V!a5%e=QHK=v-Y@9G!nR7_Y@!*u-%XWeUtlhtXqWvGa5(TGJnN zK^#rZLyJe^P OSLdQPg zn1W(xJouH2%rM3LJ4zqjggwo0P`=TzG$=QD =M=;Ja!NHBbr=_`a(vP5Sr0OU)cE&4yqI$<3CJ358CUU~_**~rK;UF#w*gB2$* zk)t6$%mS?!p*+qg%Uv`myRJEBRcNtJ6~X|rcJTTn-(k;fyo@i)jxn-07rAR?{~~Mc z)*IwVYgtI{20l>9GGy77!MBPOEG{=vP_GU)?Xs!YCi1m8o!oK$HH`;W_BJ3$0{_5* z?Sd CW4X$MnB0z=Ld$+pwFn)UB3Tme*H805i6gu<+T83 z^gBHs#_!HKpZUV|ucQXw*TVRaS6hxYoiLuB 9*kA+hL7w_rmJJm(pOqUe|CEqf;BoItJ`Fr~;% zmnhcRk)G*?i>q_5J6;si=4st0e|xpIp?t=kqUQ+M#TMJBaGz9KaY=@wNeHJJgKkXw zeX*A?sW+)HGs4)W8RhjV?q)uH)6qmn?f3NElc$>=HF`{3pN652PYV~yOq(J;t@d4S zu(2R;T0Ts=ih9*_xg%xrBKqa%2JBtYH#@s1dX{LDXGyt3H=jaG8>*<^*b|85PCOkw zjB8eqTyCzK&1P>+S_3oI;;fus?A}xl9m>I78Q(s#YIYWU((_GBP|=_A+p%wfL*)CI zi5Anw{itu4@4VXr>Q!jdOp3`7Wig3v( z*x9oY?j#Xt(O!*dH@@xrIa7r;8E`<~UV7x>vC^Ype6L+mtC2tVDfwC7pN1b})pP#i ztiF)xI>;GMax{JI(PaloJ)n~wjz7@$tr n@)AGCkdm=_z47GcOG+TWz&RW5cv%D5rzEZ&a_Te58Z4esX7r(V(tmmrYGj zaQ?IXIysK8J 3_MzGOmYNn1x`zqc_i9et!B1tm29?a~ z^z&n9+D=UuuyNxbYQJ=92^Y-I2R3u+sz&BSleHFH0ce(?}&Tai^2^8oV&W=EF}{)eP` z_IiCovo&kj=((?9vFnM9!cc7$;{mgEY+IiRvrrm7@#Qb1ze0A$qBdlDtK`^hOtQS4 zsYB82w;WXq&H14{M%6*6f7G_tPBHiQ=I%*!eZxwkf5t6!HBU=q&&W>oMm76piZzX# zUu2CQU9 kL1vV)b4SQ%ufBFm^f}J{FWIU^6$8HVtadgsU!bKeoQA5|3A_>9z+_j~>Bp@35Az zT-e<+cZZOSi=cxfz1o7>D|232$KAt<{y833kgY|f70{c |=a} zX9gbIqIrbAYM(?&r4vVoPGho^6_Up8UB6QM&I>zCDAC$`FYg+2ZQ;Z-isw#^l+egv zD^^E?|DUu8sH)a}b@r_z+_g^(?lJx{u1;^7SS6N$pU-ss$*lL9Kcq$VIk@=+?BG zz@v;c^zY~kxLoy1mF9>`m0QPsR)+qkaA1XU?}4Be(K&__NrDQeoB==P54X8gy&Fgn zm036^hwYo$bjIcm=l$}w#(qMRrwgegTGpmj^Cp~BDCduP 6fhiJk9GjVz!ofW z)k_lx{^&Pen48yn6kxx>WzU+ZX5}A7E9Lo=CHWD^NZQ($RxR(6u}>PqW2`C+wjq6- zB?{(2;%3as1qt{LYq71eHfUt8)WvQ*BWL$mNvvf(S41zt^KmMvy@uJ`^9G-Ko5`Pm z0ncZJb2~q#u7SZ=D2o5I4lzje-{Rx3^1oY}zRsP|c^$%BcXaFh&>c!PT}b3%LCj{r zJ1)DY{I7Wzn$=>e7k6WGXBo{kS!}_85I*C}g}Z=nDGBYeTISGC8OdpC_51R~HSuQK zxnkOhxdM{Q(i5c (kb!Z7#sq9HI#r&XIH$dprJ#7u9cExuEO9!@uyJ==9off_ z9JzDt)eToyB&l>5LSp^wj)j}bR^~u&OWoJ*VqU%tDq&%rbKy#7ZP8Y0!hGYry|84l zXWp~pUH$VBoC5C_kg;pMFvG<}Z{Y>y z@_Z zI;s+OlydTHoa05_G#t^GvQOwK70iF_?r(fLZUiQKlhQtv?o4}Yc!_VNv0ni3UgEBGz`Lp!W-K59 z8&jl3m%@IlAFz-d9(5!2H4n SklizV34b#Y5}#dop^ITi7Q>M)7&-?x&~BiQ{#uv zr03^3=ShC^qdD~1e@KY}B0XUEaOXYZdc7m|eIe!rXII-8j|zqa3fg;|jM^cf5xjd( z^-eCB8bY0r(LN>HV>C2}`Iq=Z1j6(O)5T z3~}ZtuZr_`{Anj^Iz=PTjO7i@*^;-#9wj{`f-}fdDTElI7QKFm*|USDqjSenGo-5U zPa4p$P+}~)M|?hcf<_bGCII_`M}7-INTuz&7{1qwy-VV!>EYIb$;N8ZVZ|>AZ9Ll;Kje&BqQRk~fntjl|A;7ItwQF}ueO zQP!yp5ZinM@;!5s>;plu5~~^3urt|9Or@1fxTCY!TY(Rac850=MI=rc0{}>#=S1;X z4fC^5N@zn-vB&vaG+eE|CYYCe3*Qe z(({%YTsh#X%o>OxTAm8Qww#ig(i&Fzd1Z zG6{-4qa7>#iyIS?&0|3{=HU^$@gmMEp&fa2DtcywvkIWJE=zt@{9pK_{(Z%x`F8_d z*d=}+@9lgvCS_j9H-bjGZ^$moukd-U!xCer90xIkInh1Ng;^42Eh$xeU2i0)zMy{f zSI2RPnyoonJR+li6v^ml91jbnxh?jXL_~ip)=Ai9p-?{}aR)A 6fvSOfk9)#2 z1jy_%Qpbzx!dDqGWGZZBKL~$WNa9~76Q{4vmU35WBE3H3i1Lbk-|7_buAsUH6UisV z54l{zA#C*g4q-SVI^<5FPA14X5d4+O7+f({&de4!vC(rSSZ(qT`JkC)?4gq81bfTg zrRJHBed$viuD5uUIf>7o{z88b06U`7?iO1_(DW09NHn_t^z1=lwa|qAd^#BiUWn7) z;FFx&o&Usln^qa)*)VLFOVO7c6mZEKF`(HtApv `R*Z-n*CYCV+izg2SjchQmg>XipanWX~ysXw}TDz#OqB z^hHTlrkVZOCHS28V8=up7o=p1dgh|gsl-F_6tkfC&ayXg8peNw49vrUw>Z97tYmT1 zrmH4l^ilOk2kXqvlA;xXun@M}ICe0d I#KSLxBzi ty6|8f@n#T zD`&E~ue7uRo)w+W9&!AmnkNZ|Do|$^`05U+dj1)DY(7{FHDIrbEBh~zWf~+MnQ0kV z!kiVm0&E3;aeb3~%F88+)m-YSQbpJSJ#Aj}q~74bykha7s*6RQx`kcO!h>|&Kj)Se z^m}apQ|Nu8;$bEIiAsAZnKF;Qir3|*>TrTxO3tpfwA-R+Am|JQPc-sE0N#?+xo&hO z5h-;r{v3O@Odk8nNL$=7{qH~oE>}9Gj^}NeJ~DNK_EWjj&UE$W63rElU{uc0iBE&k zq(sFN c43{P7DO^1t@^$k=@9^X6nI_)uUTj>FOGJIq5x`HajdZfsck|mnNiL zuyR^_I#)30J~<;;4LBwGfw!2%kmR!UX32>KWj;}d^+|#r%!`4$c!0b_UAhp8O~QCF zrqpmJ<7`F|JOHQJ&Kg9W8mgsiRz6lt(+*CK<60KlH5>gjiuUFpolmGAEr%H5#+o=I z>IB(C!b5cK{8JHF|I
IHr?k0vW9g2iUbwv?{Yw20mC z7T)Y6ZD48c!eX^*2RjfGibXL^LA|b{YY>IzJ`s=?jJUB|!`}2<)&3 gCBUt N&U=9Y-RHZZuy9SDOA;WH@_9IWOv?VO?vVKsAEL2yY9SQ4A#%P{o$P1vMHVot z8n`~SLX-f=5q_K5K1m`cEk3h&kqj(*61fX;n16bzcfe~-bCIty;9SIzF$v6E;1w5c z&fmfcUo&Vfvwh5axRj=?!YtjU+D(3$A#+b_=LWhLU(Wj1funRIy&h7bV!3*NDCv&* z|InEPlvu~mCwf!ao`hkO;}YAM&jYnsdx<{a96t`Ho;*fPSHNv#X`ZEDLr>_g;l4+Q z4?ZXCS@Kg^vz|@Su?wsZ8krvd u;NS3rb;CpM zmmJKX*t}bU5c&qECJyoA0I$W(vv~9v@s~8vgcx_atTyJBVUEab`qlt&h9>>3e#=#2 z>!wWTTU4*?tuy(>e}cYh`*Nt`j6p;47e%ttm4Tbo#J%7cLS1~S3qo?Axf%hXRNaxG zQD62+b(FlH_zb;nZmUoiVIJ|a)H$`#vRqD`bsNM?UjKh;(f_^^L#dCb^VH#h7r?h5 zIq(|L2IQ>q8}e97s{Ku~8?Z&zDfW_D$@j@4<+bw8r8LFUrE7|1O@rd7iV1uPIu1Gx ze6~bXIDrmn=D^fiOUs@dyw)4ImLbN7W0YZVRr8=Il*S OkLt1Hg6=bFDjC-(XjfdHTz3w_U2oABPF`%c)HRUgP%& z SwTRs&iuQqOZnXeX+?y{Q |fYpmHH6aFhMkfuz zkVqs!KiGc2)5?2~Plb1~b&IHGAfh#=-Dn_e#*6(*$mQAcj?qS#uT(nPfqE|5Rp36* zh<>VJmgWbjIq(zs9Bi9DSpNhf*DTs`)PG{tt-zxY>;AvLb=s8^?(q7=~M|)|v&EfYyrIg+wLLaLjceBqKgMt~jPJutC!r)!UWT`=Wh+kKyn;OeDof z?5&Xu`i~ X|UJn(1UJnkVDJ)@;l(?9Qu6`ehSx>j^CX49_u}1N>X2MYe*BZ=1>*u zPe=D8VF1u$bivk4PoJaU9+QUXqMZbR#X-ls ^9z!>?%Dac3ZV`Y{?x;XWQFeE`3 zUUCR_FZE3E_6$f_g^yzEd105jGynAe4638`ohKS9-Qe@aLk2O5%D%de9hi6G3R8rK zvH!K80h_C85hPFVA8V+aw(}Y*iHWIslZ#H+gbRQw@A+Q6`xWzf?dPAJWU2tT2RUf; z#tg3Q#M&*L*8FMx#CwPL1?Lc}&P6Ey66hpy*4Ei!$&>-9R9b32wu5>bD3|&MT0(2K zHcJL~%%738>7F%qGJLI-reV%_HA9creQA}Z zJ!sNlb;Q2OVlVQgZmZG1E&)+#ag&gd-jFXjH*9Z--Z^w1rZJQV=qK2yo|(xnMA0Hd zJJBrBR?D`@bkdY%u|tamTeLE;rI^3aNEBS>J=O5G`x%yM);xB<{?wn$zgh#gX3vQM znqT#B5Q1v65~cM9FrX+gGO{i))6?pcolvx@T%`=HTZnOZseXk~qSaH^b0I&HU&ge^ zdCi}`5#M!G9T^H_+ys5lqiNjY9GZ(Gtr6|vspL-DmvssaJ1w_5yZB#s`p@)--9^(` zJrx9?scF;410Cl zbzkVeu%&pK+YZ?6vcITxkAIqsVE2K%>|<8=yZe$_>YA!I{O#}UoOKsO12=*8DO_Y1 zl`YzEo5MDlMjK5T8h^OESO^InamrGtXA6(h>V}l-h>h;szxAg^?~Xr#i0-!dwffto z+BK+Xb}mo_#`Cw}dzR^1&=TClTnDUv1KOZ*8XjrQ_N)$n>;1>7#57OSO=GKOg;BLj zcI2nDXTE>OA3h4b`rj?__Y)&d byGE{&hwJ;0>R6~Z-}s8&tj4l`+StjpHjEfA_1uFy z|KQct#(Rf;ej4(`Ymh!IyEft_h2R9E$Brfen*(DEW55?7@i2&Whu@im^Kl1ETt$BK z&A7Y;jHbUe*=5G*iE6H+=jV&RIqiR^o-n`?Cz({@DLte t8l<~^&rqvH_vjl`==GGRm*xOR%ydTbyicws3-j??<+NO0x?iACZKKs zs0<|*466X>I?*wJzFwN`hJe19Cy79}3goa30@h;e>5>%uD0HuVBSHEKeSPWa-k x)i2vJ$6wG9BDBO+d_=lkwW#~uTIPAhBgF;=JUkOW&l9s@k=7p_?mKVO zZ&!jKM|C%ut##80Ua|6%XXVn#USbWk<@s>+9G+0ToOyuijh_f%W~ni-O2mKqyG=}B zHx$QonHI_3YoZ#H4PzhLt%8^6KQJD3^6=7duQx0qxBoJ@KlW;}va_MR3pda*?mB0_ z(4Y!KTG<= }~j)pC-qQ*Q;70cgNbsH^ZP!F)he1Mc-lf2W%9)O-#v zUVLA dA4R1?&_ zEu&38J6qZj-T!oF_9P6Sm?6`HczmIsyb%zgchb__`?I&J{ZsGVp{F9*E1#~^4mn`U zx5~5x8k~n8)HpRO8sS!DJU{hL@4x6Df(Gy)Zf2010DNySWgq8*_qXx8 %Q+!sxiQztIE0K1IA-TfP-=jsqmO;s=`HJ#6#>VJ+( IC zs?Re4Q(HSeJbC!&{j+QDuho_eo}Tj&7-=*Z$nDm9e)U#)8hD=a<*ZPIRoeG!#_A>@ z xt=e)7OT&ic!gHXr3|Fy*+Yo5+u|ikhdb(2LwOBkK|*~(Z71Wt^2P3cWc+DVc6s% z<{KtqI+S3?iC3B-cy_z}^P)3XM`Y@R4F}5ozWFtWe29AK_XiQHd0YFYqzwng{_5HP zbng1z2iVuxzwX24r1c^W__V<)y9Bqu T`Nca_@fB@d=O7;i0 b;g)UFt2tb13mYNma>ro;ZV`hv$D!#4%B z)?-}CG08c|dV^m!U!3>5FrBhpy4+5 RS~|u#EIN4E!7cEn=WOI&5m7af#a6949{@q>09dAlkuH@nM~h}(;l7d#%+p3u znAxc#xD)dua~r0SxI?6WMMy0TBWDB#v{AN3_7Ui6^wP~KGA@MaBM7%jxSP#i`yg+h znZKxu$(&3XZfrojn)^K4@~S_j|9ERa9j4y8$8{RUe+#{DzSZqm@a^dP%Zl3RVwa+w zIgJ5is}7URrd^KLf-alSa7?hzn*zSaeLi 0-FnVqFw zv6Zzk2Oeo4wtnZo5O*N8I=}?FOMG8;16*wpXsjVVyR5 +klxa@uMBMzfJPH;yG`*XU@d;g9H(FPO@ zZ4J#IG8StKy@dZrLu66tzapV&&D(XlMKwtmGbjEJX=nYHX7|Q%LK;CtKo9{1yE`^r z=$tX +bIE?sVns?gmsEk?!Wp|M30w{^h=3=bZbT>s;68dVeM!j_GAg zL$TPH8eF-vW@mZsXXmefOD?^^JmWrJ`MI~YlDFBi%k#Yd ;*iGKL$h5`e@qtSA$rBq$vjew>C*3eEvedpv*Ms{Km?C(lSd!mtx$&?!TlYDwkC z){w5mU;lpm`WF94bHCuZ^xKOjzL; 0QKkSyk|#p3m!RMs-JtM;noly|@^PpWiYcDdest%v1+>>D|kW zjrtoM9*Xy0O}ax#44ex)ql$D6!#5FXC|J}_=rQbG@ExwK#`Kf^{^REv70RB_q5WE{ z{+h}yQ4n-Xz04h`d4Zpk@Z`>E+}&xe6U6*FG! zc)IQ0g!?;Q9sDh7Z;~x?HF;IjZiTN&x;whCVD;p=Mc^!G{7~@JkmmRuNzXlvidRG0 z!O}iXkFn-JnX7$dC#Ed8wyu}&hK4PGZ1x^a9!o+aIhL#HYF!bq%{@OZdQRXVJ(RN4 z_dnXMz&hLl=VRLw*fDQ5;~{Guq2GIo_nslcpQrB)&(FS}RT0xUW#EtK%n*I(s|YRL zp%`aBh!rzylgo2Di`UQpuyW#>SJM}cQj%9&nC>pstf5VkSG{l8iiY{moA1}$zy8qh z_EXu+?ne1Wz;c{}HZh_g`TLlo1)qv;j6as_8@!#t3zA1R_}URg_9EVW&K-6p_pV?x zJE;#P@#}!pzv!b#CL0by=6eqkKVp_UI+VoW=UR?qEbJnNK$z%v%|C_e;h)F&;=L2) z?^XLD%}Y=p!Rf#6F}=AOa0;HuaO_C%iZ5zba~j+ew^>!tYYTP{{BbEd!v%c?TUz zDH>lnb=3m-ioRJ($2X0Q2*a8c+-v;-!uiS%B23pnd+nDo4||?eJ^TAHsIsj0q+&Vn zja!+U8i`HaGZr}EasIcFUSW^?clbSI6yjVqn&U69+L9-18mQ%e82YT=qnM -9a%;c(LD$@j>shH&bAL{gETqiC zj6Xkib;=jU0{Bs}q_d-M_h5p&K!o7*H++A~dztoT?w99P)qOq6Ob`OUH{ef{IQ3Z8 z+`QN^o1(@3V+f)6w+NtSl|pXxb74`tU X`rd%0J|9y$$B>h+0sG3a>kF4_f;b_W^xn)o*ukbEb8b&x3fRO<1JS3&=n z$JE5!9&>5jHS5F4U#`|F`-DS3H1D)~bwcwBk83`eAxqOf=0(k5%|qlb$$T>+HS~|S zH@Lyz&S*D$>;Xx)oBIv1!Wk7E??- t&FR< z0O&`TZfJggrfj6K4jhGRCmqM8=zWxp*2kzGw|Buhi;u*rXf@S=UV3aW{}kWuzT6$$FR&pOTe0ktG9@n!>NmKKk=) z^ J<`*&$0?TN8Ic^xc o_FAaL+W&NkHH7hr}Q= z{R$Qrdlex@%qHy k>?Jf+QAwW{svfL%*~T_$<6R)$*q zPI*Mi{^?P-CG{nBI$F|rNcBToCQOV2`0b}V=nagE!Q?nzMrzuGWKQ;}@xOhu2IDHm zy+GcabMwWscR!xBJ(Cn!=fN9%_R*q47f~h7?Z$TZeKQ5~n0`HW_NdIfu55DrX>t#^ zOr6$~)!iwZBZAiKtXSRJ+_zeMPupNVU~yX80siPyezziDW=t4c8{UCGWT*4;8@`mU zag)xc53!we?|Fee(Rb78lP?DU4yvKH>l)kpIw``HdI; O^U2PR zf!v;L-Pgo>H849AR_KkSdIWw8jA40%Jx+Ku=G&x*LTpytsA(i;ciL<7&5PI8-5d4c zbk*xVntY9o3wwkQrOgaUCoOVhn@cQafFE`mBQy4KT4S; u?GyW9DrG3h+t3O#@SGm6B>Y%SK8#0~X z!HkLVNQaEOoXw6|7<3TTugDvmBl>831{wp~ rfCScxA-*#Nw>YlUL8q$rXpZfY7=EKGE(d?m}Kkek3$5>qjfTS)s7G zcs1=(NC+X{anBNNJp&BKZu6(JZZb!Zdy(0$VGG%^%e{6c6Xa+zEW+#<`Y{;MPaF0% zzOg@alsj!8fafO4@t~(+9;A25vK~RhoT{5uCz^!494X7}fPE+IW6q1=jws3TpK`V^ zGx3|R-VtfoHO!Egs52EYf`Xo#ZIP{OI-1$nB(vpTxi#z<$tv{~8w>73Fw$=XvqI8B z8Ifm_PG%-&-_O1>dSCE+*SH>F#o4c0UQYi!s~q2|>5oyYv@U}2@Us|;Lw^ut4vXcg zbw2 !a#Y>x!EWb-{U1#Xak7_$i`*=@~aY<5J$mV(m=9Bv$MN=ydabwVmDE z^Iy-jw#a5%t6$d&_9gyl`BXJ>u#fF6nXCD1zks+-ycTdS#6R>{XnweNL{vml)X|tp zQFBA7 k5uAgAmnG6Pr z$!K2 5yB-8L`F)tK7-f+-py&`_*V^ zzTdvPZ<8QY*=ntTV@O^>$KuJO{0gYkDraq(i7sp*b&0MCFaxnol=|+*;+CpTAlo?b zR)kVc)ft5h?r+I$?NsMW GQAyW=t`guEYpIPOewvI4H2q J~B7e?B8H=uX7Jm^~Ove|m2w?@jm3juL@EecaK4 zP!R_LVk5TsH|XlR`He3d>N>~q@}!UDz1kzT7H~b>h`xY(=vxy|8nrilWbVFk3dVZW zb>axpHoH*F?z`JY>>M|EYnZNCq`fiV+q$yjQCED=b fJ>+agvX?( z*jXTv32A)o=tjDIipbafkFb_T?MxgSk`4SQxW&IS+$0DRHfVpiC@2ci*T2D!hRKq= zsA;UoulMQN)Sn{UIrLtWZl^%-NUdjqx6wB(Fd};4h#PsB$&r~Cncuy3p|0D4`u=T5 zY3l6?=Lw}( hM+wGU4uQZdMVsY;W{PSR)=`$n;TM)NXZzRxhlOd?n8(v;1sLS zuNSmlF`qXiF63Ey?+nxlw8Bx+Z%UB)ic_MQAm OTtc$x>_u~X7hms-tkrgeSj9p ZLHhyvg5tkN(|Sazr`_&h6yS;{Jk@CtwIdBj$yGzzDy*2w<~ z+J(==b<#@Jb@LH$B4C2fr7h8}QkBd3@+?KW;+sZqnFFeY-a)Fc?Y{j%zZ2%B2accy zy+aImoU`Ox_k+*d$C($KcNqRNj4+?HOx3O6#J2p~N^Y%f)pUjrUQ?1BInaC*3loaJ zOi5rlW12Fz=jBZ>jau#>j?REK=={{Lr7PLn`Y>!i&R@ZO cdim;HyhSYD#|$1q1_&<9vSjw6mKARB5N`Jd3D)U~5LMi(Ub6H*Z$JoS)N&<*EX z_xjR_nTi~9jw=k1tU2D>-N>ym*8Xi7$K9sXI6grAQBOVB;jWV(F-?);#DsK68ZPM- zLyX3GZNScS4jbpl4tLFL(|5oJzo<6?i=h<#X@Qel$0-|JBql0b^_}L+woAY`ckH^H zwK=jh+7SOGE yoT^DS z*i1(ZOEpoN64NAD0R &AvGD0~3c?gr0-`YR9Yi(lY}mg#Bum^AM~Gann`G zYp#L*eO>0=be9WLopMp&KFAz&4@N*(;Qx>=WuSwnN4Qx#;d{tiNYDI__-+SnSFL52 z)#tP%57cQdLYr~X5Wb?72jdoT_Hy?2b#S%{cgQ0w48$s5TzFz)P2$=3jEKy@-@g4G z#g01UY%0xv*i#6K(o7b=mC9v?;brOriu>G~-J7|5;W%Z0&Y;n##>#R )}&8#oh~iOBv~5hvU!*=D?$rJpVo_)qA9|SPS$_LDFCRv%rmBvL5 z79yQ=J78)!AdZoIB!W%3LK)##f=__`(ms_k#ZP2At*hZ0%zadmzQ1#c+t>B&A4S!T zuH)kQ`qKbk^hlC}NsJOidk14E0Y1M-|Bz2&-+Q}-4H34m1(Z{ExESAgp!H5~yXcW_ zr9mjJu!K#%Zy ziy45G0viA}%Uksru}|CP3Tk5!d&&^Sm<&h-E;Q4WJBA(%YYmGaHj-aZMc9wXq e(zZU)quB+iZSNk~wpm@w?_ZVb^ z!h(4IfADS{hxZ8o^S&trzrYb;=b2z%kjE2QMgOU86xUA{XAoO_hZzG;1v6x1`CMtc z&?Y2Hjp`e~gLpNI8JCq%61IS}9M%syWbaqLGu}r{@!J#hE_@(h64Bv###N>lN}uvT zT`#J)H&VH8Wm-d@`IbIckttjt3{_0E>_omG-(#`EszWzKM8|$*D)4`>0Q4>-4pWND z$NWZLhuOeyoaO3+{Vz%x@0vcJ`Ww@_Nw84++jS3)!&H;wn0S^yZ6iJdbK3KaS1vu3 zS?k+Eq52*0nU6MtU)a=|DZ~Ftb|~8osh0IB{=gyLq@feidj5?5jDfvFs}1iU5oB%9 zjfm$g7oi9F*frI83^LDt+R8)D_MOkV6b_3X8L@(P6Dn0w`J1?hdbv$ETITitk$qO` zWIn>;!H2w4qJ`QYz*E>y)Kvi;tg~So!|UR|M&fa);B_uO=pK4KX+~gq;7Q_fAX5e5 z*L1xq<9r BKdGx1v_i2Hf=0Dj) )UEUMI{oDPkE3tni-@<#xIospxk@d5NubMBx z-Vx^eX9W}oehCG~o=BJ%8|dw0o}gFSo+9S?SwbE~ JI#QT+!WP;uys= c>jYO3+o3DfquY~d`9}`Gky?WL8Cln6gGn!8Wxg4IZPm< zCz+>+{^cF$X=r}kn%kb&zQ1j58>8EgkJRXZk8qEOM$!((>0m)rW5V3{6K=1IV)IyK zku}eQiK!;Beg62|AS^=#YqHtM#!qFBY7lMX`mXVN d(NV{ygMjGg?6Hn%Z)`o>e#8l-YY-RHS)q z7edQ0sn}5XZ`i+xD9i!UE5?T4H?)Ip`ssdxg`}dc^?QIj?MX*tkqca`p#^R5n#*+y z8V|SRwV&$Zu v#pqI7 2KWkYQ`8(<^qw0F6W3;PE9 z3r`|TXz1X-A?4(8J`3?}*aheph}+Q5&^>4+`Ve}Y?NAq?f>+6^yVa7`qjLK&{uP%g zk6AgeqlA5dY2mxVkA+_hdQbmGwNbZwbvmggmR@5laqNV-&=~{~F(03Xnk@6Ln^XR! z`gAK~@Q>=5<)ihH(bG6+{Q|m!T#rlfLSaLEl;nO!N64&@g?Kt}w&j^Q)4B zK2n=7*mr zf5L_$!d-n9xTDNf1AC184c7x=#6|TND%~M>TXygK!Bo)>=}q}eLpE5BpW@CKoQf3$ z?V}&1c$3@xj!`>ci?si#_iLf1v)~fcO7B)ulh1ebVM`q6XjNkMv)1eZHz-=ys9m7s z%RlNEPA&WgHiA%tpGY`M8y_4MIVEmkP>IJT(>~)7-F}N69EA?13 cA%+f92&OvM5^Ku5MESOq -p9^MIx2%G+hECvE`mD zGzbB+2C4vVf1x#^m;Gs?3GTCPP5&9rem+2P)kt$ahP}f1QSXFxC%j3m9kXIgVf1>R zXyclJ7GBZtNy~c37UUW19pGklxnz|{&zs%iRlTVJ)N!_Np18$~L()iS8iJ8Tul0XN z{T2XZ&53ACy_EDcXe;u*G^Y1X|8 FCFdQAQ`io_LnN6wNPl(5yYvUN)W`*Ex%y)MS^{ZUUNKPHiGOQexdM_e6}G> zU!mNl2o}HX19ea7e=m+v=}ezJAl| vB9pJ!FYx2KcZt4QPQZ3R za$ILLK|<%i7haCglRvY&wQX8&-{AJ)O^)4|T9T4--mlDW6}g18-7h1=6x$p7EUGJb z7=tj}=azOG-L>+a;-Nt!-yrSRgFOndzwx)xB-2Y#YA>kuT1S;A-1Y=bBl*&*8F93e zekD{IJ>5r+z+#u8SHU_VdqBfT0YUBkz_Cd>t}my(zNbPw%5oq6&_kvz6@KUmZ;$PM z&f6-p>TUpRcvJA(lqcEt!iTx``1c`UWUH%5{X{fFIMbL7)w@2(dwDB+Msx-BwhZ1G z)@z1`o(ndLA1jvFN>O+cmNK4n3xCA>kIy>lzoEr(2zR`^+kd-Pwd<08fN$dFO0r}t zxN5dhFir`!pMq~8=2MN>xtiYItBoP8bb-T^1NHDchnr0};``h01noI(6hY#-5_8k% zh|g!zO5y|0VQiBZ#3EpqG@q=mX~PX((U(GCXqB^mXmg*VmEEP`Ema~dZkdHQDbNHJl7!n-FtLP&;}Nj;p=zRo8Yw*0S4W&C}oGmu;H%*)}Ds`gYI0q()H3S zp3Lzf198${J-qHN(GvYV$6U}3*k&{Y_k*y9e4TjDN8>9c8i` oO-E`f#d9h-ohsO!NXss8q!%Q*AoAPEWy8r zWx+V`I`}`9HPW-9+`h&ZL~}=dQ^U1hfO4c`2#Q65A-^0aT}Jc(Nl$cPbRN%uFJP_s z2*OIQEBJe)H>5+}`B)6f0GkX>)La}IB{|N%#@Qg)Hk@tw2k{hB2)pDQYhuWuf@1L` z^-^QILj-+>+KCc)9z&Cn8}ZeC*BHAQOX(wmK1ZC6v$C4N@rrvLrIn7#&?<4`F#C+u zu07zOgL$@X!xMx^MYi>@M;kiBC)4jpP(Wl$I5%b>LPFn4iuBwH3x{8aUx1?w8-&>d z-`oCeh^oTZPU-zR#5L>&P!Mym;n-5tdF(=BfR6{t=5Z1n2HE6+bUXz9MTL5gri%Ov za0Zk=8i(DB=9x9}V|+dL4NojtVN3$rT_o!f;}^X}^IKXeI6GWq$_8=~+dO}Jf=~=# z186-q!uP*`w1`XLYl9C&osEOWyd~N+n4Z&>n|{6fv7@5A{VuOu(Pa@j=R3|CJ`b}r zxvqAE9QU0xpI#pVW9k`GS!d~&$^OI$w|h;#Lkpe)|Ab^X3Zxy~v+CDZnriVqYsFi% zIZhzrF1Em@0L$?#^10_-i8=x a;wT?V=DeS!LcQADMnQV|B6omfGb3d9X( z@{0K+={fD7nP;SHk0@^qc}c1SD+WDeQ*1}!46n&vLzryvDeDk;B_@@;idhnNEw(hq z5^^Z2IPy?HA$;+G?sveao-e;k3tMCPQWe5-#5T+PKwqKC)_wu>V!n~s)UV7V0T^;O zb*ev`{KE(BiG&D2>m6^M%TN*cNWy8*yutBxKdOf7u65Ok;|=3nW1&J+uUEczEvCvd z7Y%~0w68FI)NGJmRZO%@faMb}(P8x0WD(&9_KD9J+6hKB#oskk*uv|OPEg)d?^jky zsDmdt8@OToDiL3C*Umtm#4Yl+p`JR}RsnDeI)id0=${B~RA=0Z#H84q$N;(q9w@6T z9rHH-OLSR&>wew?6~H{t8f|)`pQ9gRa%X6;Hs3Y0Hbw*Gn=jY*7ha5ZKoS5Ejt1ur zNI#P1b(oUm)+iJiN3_nW{n)so8!Be&ra8l* )dIO+oX zQ^Zo-e0(9o-(j{*1Y{uJk_G}lM-0WCPAW`&8oxc@F|Nj$sGQ%KR+9VkTvb)87muO* zZ1Qs?S*1p#snz@taNe_lxRMq{H;||L{)gM+@xfA| D74LS{2(;Ue{GWSzXOc0v92ny|*M-jDnrL%)?Bntk>GL;}9sJIX_B`)$Jj zE+IV$W%Li>_=JP0H h;w1JkzYb5 zBP)fMnmd1amb@tY+;X~q{18eJr#WhLx$dC$6J=O8=hob9dEpw1N+#%OMd7#O+vA!- zhkVb#gIpu^`G(yNjJ~y(-+ZRy@BmYN*WT>f>lkHW8)?=!z$R2TWl~_2PbXYrFHsl; z?7`K-+p41uGvbU7hIW$G6gerH!CJ`>5e^uO*m+$|Tp#5JK)q)XP68ikS}qp!)OTF# zPnM@jt_YtfxyEK-9lFV lO{!Pi%j)?CVWtK_~X3K$nv}n z7#}FtYNST14egFrrj!1n9j5F0RFm9!4Hf3QByep=bI?)$6g(RFFUSUb37O%X2WW?Y zjW|BA_e+1Gyu_^xV!F;+&zr~CE(7tN7FwEr3CLGnAZ{9v4mkPbp`%)^1Bl`fg6Pp9 zWs%IJF^NB!qo}Kp+f_WSm6N5s0N4jx0nE|+NXGX+>lx|}69lPNhzo`7%KIiNnBd9w z-a~Oxt$shrQ^`8UgQ$WLud`Ms>Z$+0N+kOF_AjG9f2)|=)hTFGX^kniyMXK9W@IF3 z5vsxf)gZNb_5n{%a;JZy|16(f$Yx-%a}QuKG{x%zaRl}+3JE@7$dMfB@08LkYybxE z*iF8^=#ax;Ui(NfXr5fkiRnf3l?;YU>fP|yt-w#{(}ZV!m)w8bg5=0CMI#QgQamqP z;F?_Na%qG5lMbg^B|Xl&&~F>q$g3RMqFN-J!q>=`8bP3Ao GCr~CqzBiernE^3*!R%f3_I1-8*Px=Cds%H=XQ0=hGk&nFr z_?@0~@EQ9t+eXJLzy;V?Zx@{vdWJC`g|_AyU9vS&x?X2n>uhrPI`4oQ;ZcawFuHMF zZ%WIxj&q!eVu}i2Tx*wt!V#CT@kFIRJd~M?&Bo^oMgf_%0IDu*IDm7luZ8oce~>>{ zsu)gIWvHL1jPkGj5Be4fr)lm0YOoKf2`mc}<3C7v;Z4P-6OU34vnGVWL&$ys4j%!5 zyRTJR18@1o?j7 6|p5G b7*bJ>RNqBg}NeN7E78FKe#5hc&MK-|n*m$0VhSVciyY z?fN*3g~=nXWQ>YfnF7f^FyU0r?<9=p9%&PQX8- lg#t~8inqpRD zMC4@WGe<{7uy6;4H*l5034#btFB{( Rxmmk z6?hW(xw+G<^4N`k;&+tsI4FRbP1^+TAErwDWh;c R4C}vDtGaL67%wc1!2=jBac0 z`#iMIM79^&{*e`Nw)Z{g`@vfw>r%Ixo;oLi*CHc`zgc&Zc4Ps@0Y;pOtf$P!OmqSj z1X-xE-d!CUV7Cm=ByB3aDceSN>P?%ZwbEPaBlaEW?SwZzN6}ozSj|}VbBh%oPYk6- zQg_ftvu*_G{W?9=>L2oLDuU=fe~Kc>dJhSpG|*EiwaC>{Wz(hlcdY~cTcuBiS1Pgk zVQUcR7W^Zo+vhyxI&C})88toSV1`dTD4^U+2jdybd#W4Xwr=ER$?qF(7=2AxRmI?x zfpa{fV1+nWwn+8RWCv-n#WY-GUDB?U>G2;!zWP7(jrS`igoD>>%%T*jiZAAN2s4M{ zR7Z73O-F6(951yE%IW5vz^4#B_^=acv@7o^x^%N#Er>N(nfG^6E8|@RIYAZuo3PyZ zLUCJ`rMaSDYN>$#P;;^SF;e(qmt^QstD-TtvzYz4KbQYW8m8Ol3WnFB{-7^lo_k-R zD1&r~$yuWdD@K>I0x>94sr>!m-PW}B6aD{6Knk9AspYFpql5}x4J_p1`{9B~^7G~` zu*pPB;EZ4`D=DCx_S@|%vXnsxi4I!eSz|RSTErd7i;7i}|0D|8ZRJwKMJFFh1^qP` zbgOkw)d1CJ)fLq`m9KWa8SdH!DujG>-|42aUM9qiT$(OmGT~(BRqZ?NVQYqYrYX`k z)d>gGgGPe5Mg=FeX-m_uW?LJMJxMAv1wr?td(fYe2-JU=qolP#lap8GEHC_T3@Biw zX8{ qMhP=h9@G3pI14hh$*&C8N&u7 <9Uc8K>qJrp={URtJ{^d&L5x(1kx!Pnba? o2OSFEtUk`_(O=&*;sVaLjBkI>|!27CaCIO$tiMO?1+iW2)UQs(dF!FBV_#xZax8 z`HH94&4Ip0{W6=yqXtj*Q+PDd8u?6JvH82T(e)nQMjT`{NA8Huj3>n{4r?RgZ2JuE zyea|?*#+KWpbX!ZZ&7DhM!7OwkCiRmS#2x3vv_BR-)i0(rkd{%`x4&qg*TV18_24@0aS7(V z2o0!4y~(v6^8gs@+KFU(Ye-LMJEE2Zo~2dAqoeYC9Jr6Pv_N{&hr)f4r!Aw6o8UPA zS8 ?`3_DX-rmUpG$b