From cf2995437ff108123e4717cc39c78ab7daaa41a9 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Sun, 5 May 2019 01:58:24 +0200 Subject: [PATCH] Remove Godot support. (#805) Let's be real, it's pretty damn broken already and will never be fixed. --- Robust.Client.Godot/.gitignore | 4 - Robust.Client.Godot/Art/background.png | Bin 768142 -> 0 bytes Robust.Client.Godot/Art/background.png.import | 29 - Robust.Client.Godot/Art/bootsplash.png | Bin 14688 -> 0 bytes Robust.Client.Godot/Art/bootsplash.png.import | 29 - Robust.Client.Godot/Art/copyright.md | 3 - Robust.Client.Godot/ControlWrap.cs | 39 - .../MSBuild/SS14.SolutionSpecific.targets | 10 - Robust.Client.Godot/MainScene.tscn | 9 - .../Properties/AssemblyInfo.cs | 25 - .../Robust.Client.Godot.csproj | 61 -- Robust.Client.Godot/SS14.Client.Godot.sln | 19 - Robust.Client.Godot/SS14Loader.cs | 240 ----- .../BaseGodotSignalSubscriber.cs | 26 - .../GodotSignalSubscriber0.cs | 31 - .../GodotSignalSubscriber1.cs | 31 - .../GodotSignalSubscriber2.cs | 31 - .../GodotSignalSubscriber3.cs | 31 - .../GodotSignalSubscriber4.cs | 31 - .../GodotSignalSubscriber5.cs | 31 - Robust.Client.Godot/SpriteView.cs | 9 - Robust.Client.Godot/default_bus_layout.tres | 11 - Robust.Client.Godot/default_env.tres | 102 --- Robust.Client.Godot/export_presets.cfg | 76 -- Robust.Client.Godot/logo.png | Bin 2729 -> 0 bytes Robust.Client.Godot/logo.png.import | 29 - Robust.Client.Godot/project.godot | 37 - Robust.Client.Godot/ss14.ico | Bin 100438 -> 0 bytes Robust.Client/Audio/AudioStream.cs | 8 - Robust.Client/Console/Commands/Debug.cs | 31 - Robust.Client/GameController.cs | 31 +- .../GameController/GameController.Godot.cs | 252 ------ .../GameController/GameController.Input.cs | 39 +- .../GameController/GameController.IoC.cs | 46 +- .../GameController.Standalone.cs | 30 +- .../Components/Eye/EyeComponent.cs | 5 - .../Components/Light/PointLightComponent.cs | 30 - .../Components/Renderable/SpriteComponent.cs | 272 +----- .../Transform/GodotTransformComponent.cs | 100 --- .../GameObjects/EntitySystems/AudioSystem.cs | 112 --- .../GameObjects/GodotComponentFactory.cs | 15 - Robust.Client/Graphics/ClientEye/Eye.cs | 31 +- .../Graphics/ClientEye/EyeManager.cs | 24 +- Robust.Client/Graphics/ClientEye/FixedEye.cs | 34 +- Robust.Client/Graphics/DisplayManagerGodot.cs | 47 - .../Graphics/Drawing/DrawingHandle.cs | 146 +-- Robust.Client/Graphics/Drawing/StyleBox.cs | 353 +------- Robust.Client/Graphics/Font.cs | 40 +- .../Graphics/Lighting/LightManager.Light.cs | 106 +-- .../Lighting/LightManager.Occluder.cs | 96 +- .../Graphics/Lighting/LightManager.cs | 159 ---- Robust.Client/Graphics/Overlays/Overlay.cs | 146 +-- .../Graphics/Overlays/OverlayManager.cs | 58 -- Robust.Client/Graphics/Shaders/Shader.cs | 12 - .../Graphics/Shaders/ShaderPrototype.cs | 107 +-- Robust.Client/Graphics/Texture.cs | 115 --- Robust.Client/Input/Events.cs | 61 -- Robust.Client/Input/GodotInputManager.cs | 15 - Robust.Client/Input/InputDevices.cs | 224 +---- .../Components/IGodotTransformComponent.cs | 16 - .../Components/ISpriteComponent.cs | 12 - .../Interfaces/Graphics/ClientEye/IEye.cs | 2 - .../Graphics/Overlays/IOverlayManager.cs | 1 - Robust.Client/Interfaces/ISceneTreeHolder.cs | 17 - .../Map/IGodotTileDefinitionManager.cs | 14 - Robust.Client/Log/GodotLogHandler.cs | 23 - Robust.Client/Map/GodotMapManager.cs | 75 -- .../Map/GodotTileDefinitionManager.cs | 46 - Robust.Client/Placement/PlacementManager.cs | 2 - .../ResourceTypes/AudioResource.cs | 14 - .../ResourceTypes/FontResource.cs | 23 - .../ResourceTypes/ShaderSourceResource.cs | 23 +- .../ResourceTypes/TextureResource.cs | 34 - Robust.Client/Robust.Client.csproj | 26 - Robust.Client/SceneTreeHolder.cs | 31 - .../UserInterface/ClipboardManagerGodot.cs | 19 - Robust.Client/UserInterface/Control.Input.cs | 80 -- .../UserInterface/Control.Signals.cs | 142 --- Robust.Client/UserInterface/Control.cs | 835 ++---------------- .../UserInterface/Controls/BaseButton.cs | 247 +----- .../UserInterface/Controls/BoxContainer.cs | 40 +- .../UserInterface/Controls/Button.cs | 112 +-- .../UserInterface/Controls/CenterContainer.cs | 15 +- .../UserInterface/Controls/CheckBox.cs | 21 +- .../UserInterface/Controls/CheckButton.cs | 6 +- .../UserInterface/Controls/Container.cs | 40 +- .../UserInterface/Controls/GridContainer.cs | 43 +- .../UserInterface/Controls/HBoxContainer.cs | 11 +- .../UserInterface/Controls/HScrollBar.cs | 11 +- .../UserInterface/Controls/HSplitContainer.cs | 3 +- .../UserInterface/Controls/ItemList.cs | 237 +---- Robust.Client/UserInterface/Controls/Label.cs | 129 +-- .../UserInterface/Controls/LineEdit.cs | 196 +--- .../UserInterface/Controls/MarginContainer.cs | 97 +- .../UserInterface/Controls/OptionButton.cs | 277 ++---- .../UserInterface/Controls/OutputPanel.cs | 115 +-- Robust.Client/UserInterface/Controls/Panel.cs | 29 +- .../UserInterface/Controls/PanelContainer.cs | 24 +- Robust.Client/UserInterface/Controls/Popup.cs | 57 +- .../UserInterface/Controls/ProgressBar.cs | 33 +- Robust.Client/UserInterface/Controls/Range.cs | 67 +- .../UserInterface/Controls/RichTextLabel.cs | 2 +- .../UserInterface/Controls/ScrollBar.cs | 25 +- .../UserInterface/Controls/ScrollContainer.cs | 21 +- .../UserInterface/Controls/SplitContainer.cs | 15 +- .../UserInterface/Controls/SpriteView.cs | 9 +- .../UserInterface/Controls/TabContainer.cs | 163 +--- .../UserInterface/Controls/TextureButton.cs | 52 +- .../UserInterface/Controls/TextureRect.cs | 84 +- Robust.Client/UserInterface/Controls/Tree.cs | 216 +---- .../UserInterface/Controls/VBoxContainer.cs | 13 +- .../UserInterface/Controls/VScrollBar.cs | 11 +- .../UserInterface/Controls/VSplitContainer.cs | 3 +- .../CustomControls/SS14Window.cs | 11 +- Robust.Client/UserInterface/RichTextEntry.cs | 1 - .../UserInterface/UserInterfaceManager.cs | 25 +- Robust.Client/Utility/GodotConversions.cs | 75 -- Robust.Client/Utility/GodotResourceCopy.cs | 82 -- .../Client/Utility/GodotConversionsTest.cs | 44 - Robust.UnitTesting/Robust.UnitTesting.csproj | 8 - Robust.UnitTesting/RobustUnitTest.cs | 1 - RobustToolbox.sln | 20 - 122 files changed, 571 insertions(+), 7244 deletions(-) delete mode 100644 Robust.Client.Godot/.gitignore delete mode 100755 Robust.Client.Godot/Art/background.png delete mode 100644 Robust.Client.Godot/Art/background.png.import delete mode 100644 Robust.Client.Godot/Art/bootsplash.png delete mode 100644 Robust.Client.Godot/Art/bootsplash.png.import delete mode 100755 Robust.Client.Godot/Art/copyright.md delete mode 100644 Robust.Client.Godot/ControlWrap.cs delete mode 100644 Robust.Client.Godot/MSBuild/SS14.SolutionSpecific.targets delete mode 100644 Robust.Client.Godot/MainScene.tscn delete mode 100644 Robust.Client.Godot/Properties/AssemblyInfo.cs delete mode 100644 Robust.Client.Godot/Robust.Client.Godot.csproj delete mode 100644 Robust.Client.Godot/SS14.Client.Godot.sln delete mode 100644 Robust.Client.Godot/SS14Loader.cs delete mode 100644 Robust.Client.Godot/SignalSubscriber/BaseGodotSignalSubscriber.cs delete mode 100644 Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber0.cs delete mode 100644 Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber1.cs delete mode 100644 Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber2.cs delete mode 100644 Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber3.cs delete mode 100644 Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber4.cs delete mode 100644 Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber5.cs delete mode 100644 Robust.Client.Godot/SpriteView.cs delete mode 100644 Robust.Client.Godot/default_bus_layout.tres delete mode 100644 Robust.Client.Godot/default_env.tres delete mode 100644 Robust.Client.Godot/export_presets.cfg delete mode 100644 Robust.Client.Godot/logo.png delete mode 100644 Robust.Client.Godot/logo.png.import delete mode 100644 Robust.Client.Godot/project.godot delete mode 100644 Robust.Client.Godot/ss14.ico delete mode 100644 Robust.Client/GameController/GameController.Godot.cs delete mode 100644 Robust.Client/GameObjects/Components/Transform/GodotTransformComponent.cs delete mode 100644 Robust.Client/GameObjects/GodotComponentFactory.cs delete mode 100644 Robust.Client/Graphics/DisplayManagerGodot.cs delete mode 100644 Robust.Client/Input/GodotInputManager.cs delete mode 100644 Robust.Client/Interfaces/GameObjects/Components/IGodotTransformComponent.cs delete mode 100644 Robust.Client/Interfaces/ISceneTreeHolder.cs delete mode 100644 Robust.Client/Interfaces/Map/IGodotTileDefinitionManager.cs delete mode 100644 Robust.Client/Log/GodotLogHandler.cs delete mode 100644 Robust.Client/Map/GodotMapManager.cs delete mode 100644 Robust.Client/Map/GodotTileDefinitionManager.cs delete mode 100644 Robust.Client/SceneTreeHolder.cs delete mode 100644 Robust.Client/UserInterface/ClipboardManagerGodot.cs delete mode 100644 Robust.Client/UserInterface/Control.Signals.cs delete mode 100644 Robust.Client/Utility/GodotConversions.cs delete mode 100644 Robust.Client/Utility/GodotResourceCopy.cs delete mode 100644 Robust.UnitTesting/Client/Utility/GodotConversionsTest.cs diff --git a/Robust.Client.Godot/.gitignore b/Robust.Client.Godot/.gitignore deleted file mode 100644 index 8abdb2d7e..000000000 --- a/Robust.Client.Godot/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.import -.mono -/Engine -/Content diff --git a/Robust.Client.Godot/Art/background.png b/Robust.Client.Godot/Art/background.png deleted file mode 100755 index cab3aa7e28c888499d185e3e0fca0ff02740e4dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 768142 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

E=%44!<3NtF(W;>a;Js^qC^ileMBucr^KK7i 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
XpP zb+0{5Pc7gq=y6dYv25-}qq20qCXs>V7R8dJ%)&#g@zgUV?+RU_x8R0V3i6?h9i$g5KUvG*Uj=_gY5Xhz0>0dnu&|vo)lSw zB*$W}j-X(H*OTgut5}_CP=p)l?ASB~(ej22YcrMpqnMoop_<2|VZ8&G z&QDK{kE|)wfx*&Bt>_bmP3Kcnk%=IT0pK71+P^T{aI(;9krc6K3wemuoV?OjU#NU} zBL~5~AeRJ;oa5+B1FwhttRN{Al5+#pOlA>eGnsloLr5Q%qN*r2l!uQ|040fJ#Zf1V zOw$=qVDoIcW(5Wyrk*b48o*IuGOciHszQj8G=nVvpR0tp)MNiLt?}Ne&y=HdvASjI-Sl>A6&|`+{Vym;dk(|bMh7| zx=9UjgfpeU5L1YODAQE29eIwq8Rp0ZwLLDF_FlE))BgmEqQU8D2N!)XzVg&FAO3%T@89;$ z@6qYqktHHM_GoHUHhjvXopg38vXgdqMgSyanb4_(e1(_m$*D^sL_`#sUY5p=%g#Kn zSrML8Rs|GUZN5v@6S;o-3n+02%t2!HhUlS05Z-+aCCOvb}>KJ9B-2H|ivebCoJ z;NfUKJMJUE%M{2w6!YnF@9Ps3ZN6#uYg^8Z_OGzW%eLN#ZjC-)KfK+=6KM03t>mc7 z$qT)2U&nbzpUJrg(EtD-07*naRLxKYkrO3XL%?t$R$tIc&pUrY_nJiJV*kL>53f9n zf^z5usCrET(i4?lfsmVJ6d0+p$mPjp$tI297^(En^-eH)EYtqX{dNP7P}Y^0Y6S*u zQ!Ga%H~<4+03<^Tk!jm{nFJB?1xt}pV><6TEM{iWT`D3^purF#W1j_}(26dmS8jd+ zFfe&7E1Lw)>TvA^87?X%+6aM-GW(2ROe8j)o=i_qAKt(J%|HEbAsZfQ&ksuHH#-h{`02@GFgjr-pnI?Bevooovo-v6u4TuXZ zfhAe>ZA&}w*trNgtE9_tQv~7s^j?8JBSp0~ zgYuNb3;@D#005kaE|Wuk2;u>HGoBFu#=8d~GLfa#$}23i6dzV==NJqdOtbNPHJ05q z8{)|!0DkX{-vyw&2a?^#DxC=cgV7BDky|M$RNT#2(g}V3+!ue+!nh%dM_n>w7DG!e z;8CE@(4_+5a5Su4*PXRqF95ATQorakF}{#{TX)o;&)}l4=z9Fc8?U!PpFsu2<_8a= zPEX-MQu#(hpPN_BWbY6_D7jQn-a#~$k>K;`Q42kVExt6ONksX|YNv|Ty*RP}02q%o zIq$X-kyztOPX;^suLlRW+}Db<&Su61$eAy)%sJzXZ*6k4YOTF;F3>>q^2ZbuLf&&E z&}^SW>M#GSZiQTZ&H-5tzySilKz+ji7*GVrfyDrfCHsI8U<7OjAOai!gz^s~4E6vx zUa@oi1$9C{S*L17~J@^uZe?azXX`54kv3&nLj1J z{1RC}a%C;Iz>%H*l|_=IwVd{dGB48GIluOQeD&grnywlFFW+vN2ThP+cf*f`}0S1ks-PIQ=uLG=TU7 zfRK%mPt^9IF6SAbQUR!|s){aPhAvQNhQpiMeYm<6LpC&C0Yku0%K2P1$amE4Pl@&v z0*bUvO`j46*EhWwZ`ji^!CLDDkR|^2axO8{CJa|9I0hO4a8ECh&HB=Vvha2qZlrYD z9^2z0YGPu2i!V|x=fJbx5dbBEY@p1jc6O=Ck)^n&6z<$uodq=$lmL*iJlrIAY;DEo zvmy|QAu=p&S~$G<3;@K#UDu1F$1o18c9LfKQ#8D0N?Pd;A{&|>O6fULu=Cmv{appN z42!3$K4e}`BOER>){oqJrnkAb7TP6k<6*&LJf1AHvgpEz1)G>+(^Vufe(lC1o96rM z>>hR+jOvFD)+4#iHe@w-qtYd>jxP`0TOh297mpNlpOAd9u5OwhLE}~4wNQUdcCT&C zizU`=)YlkqB=%83ft~Is`Mpy#9CZv8d`y-YlQknVux0O~Q0M zPC~R(p6Lh)x21PI^h{l_Bp+s{YYM2v%5@q_pQ}~w#OxkCRkVPzHl?jBvPf_=?*7RZ}IW zsH#rU9x-BE(i=I4qW)ayHAKARm^<~i#c~cN@UU$ibPJ<#j~^4kEYZ9j7WL_Ucpx0TSY-$SMP;p-xY zTfJJ>@WaK#4l!1XjjmWy^o=jOI|0v3I4pjjz6WAK1n`UnaLbK7RRho)AzHm89_-bh z85t48tC~E>_}R`(pO6Wo!4hlGv8Y+?4i?r-+lxeA+-~s1S>NHD8QdmeRwMr-0tlp7 zWG9wVucjusZekOhk(AfMrXMY;nnsXKwKQk2*dde=lV>QSqC6I$G-W04FTt1Jt zpi$OS%rb422~UwLVX;dWjnCAJgX4RPv=oqo5CADfyV>j*B##Q1srOjc*2{D7^A|^* z6&h8Yr3@&BYzjbTiZLP!Me3xPYrQlUl02Pg_=tsirP_|_oVzNx?8%q^+UtMt zzXLKB@21D^xY{YCFh>G0S2bXr6ihB=Z6wtJ!t72}uCS>4gq1qrs3@C+rO0e{6d&)W z&8K{hq*I&vrD*X=U7| ze%qGEp4LpkynKV1Sc-TQyH`!9Ap@;w|3a;oncy!!|0zN9Km4QLVZ@0Av)M@)CDZ9K z2!V)(CMcAox|Q-#GDIfI!n}Yi5b3nqFlqc(2>t4rOfy50OX5VKsx_P_V7lTQNqs7L zoRL{3kj)>ZH-mX3ywlx?vYMh1wgJb2G@YHVH8>m%XY={=fjYq0FUi|o3io#eCI z{j8uyD}idOb$2t7F&3or)5Y#!+)8^R|2EVmLZ267DqI3$yC6r!Srsin2UIj*!rr|&~{V$zRRj^bq% zWG_&&v{H3K?qg@B5hehHNKZ@(=>?|MB9h1BfuPGA41`DrlPkN|4%?h>wQgRggiL#3 zX&E9egna1tuFdGPE1_w@#+)7cj2%0cv_)Eje1Svoin*(TtMAe6%c%($Y+C&<4+l+e zElwWX&C*k|jCBQybw_d`hH9UZn_g)CjR3%Oew630h-_}<+_CBDcU9F^uFb$4y5%Nk zGytU8{HT(<^ZFnB^ISruC+{iCIM-9UaV$z*BQnEo)`t&Wb6#kpDNH>gZBwB@)U;ea z$TW)Qf{L2eYI)(R<&8}?z{W}^blD;HYZj_pnDZ?Y^SkroZvhCAZ*u3OW|a9t*8*(U zOUNoY0a(^ufG_^&FQ~zvnk6p#KjuQ5%P6Xgq3<@mZS|=(Z7r)f8ZQ2B8{?}QvCN3R z?5k$<*=0EwM50;|1HQzUbMP<88ZZRm3zu^2{m>Hm9s2W@Wk;OIf`=yMQ;8z@Pu z=rcMu=4llKDK`4d1EY(ADDM5CKJ*y?6#BdZMsg&#@XWtNszsmSM}FdOfATXwXdnp= z9f9@eGX(>GOeEa?&?|1ir9?LiVu?Nz_ji%d&>IImi`)IIlwB1W06cd4*_t)pU8fsE zmSuAgSv~rE`}T*L1|8+Ca=~)#2IH&A-lMkR+) zBh#7ue>uYjD-(?|1kCv{62*O)lVFDOO9%l6$oBw3U?adl(q+;>v0H=&w{pREA@8PV zOmm9>B-B`*LnHCok>AZ+1lCOB*05QjUHs7o=P75=;m7~#f35BrNlFm;QnC4h@--L>jKmFOK zo_nz`Q*JRyc@Bjeo=X{vbcyA2%X0(IAhzTUXr}2PmN-4M2DCyIeKNI7ZT)~U<(6D5 zkcEWIwLqjO?-R*Egrh?GY4rWf64d(r1C8B+SGh7U0^k(xYP`?--2#^e;Z`w#LdKTz zRoC$(N>TzAYZ5sx>lkIKNYtRzS zTk4gg=pvST*?8Kb)etKo5-(QPXtL*@d#mzX&WdH*MI7AA>ja<*`W2>&w&)sOmdE4j z0G0JooracoR*ZLVEYSYPpMJ5u?}o&SZhYpM7dFZu-??(NyNX}#*lo8q0oh#f8W+Wyax_`NtQZ5t5|4%m`5p$> z00#>I0hV3^jMD6TjZovMMiXj)G89R z25b@$eifh?eB$jqkO(SEJTXcUBt2 zT0Tc?@jC5krt3=%Vr>m2GLc!G0GeyOy)i%pFa#Ln|7H9JKm<5cl?ewHM$AoM*H=Y0 zVDUkzASB~+!RE{*Oq}l;VgSG>yyD`3)|3S@lct&6gx3b6bY6_n+Ud-JY}7RccHFeM z41uxwJXZsOgPR}vAqo!6a=x)yynz}xRTnu}yXCeuTwP8k4`F+pzfp_Mk?L=4X!TWR z6>20*80}Y1=F!BfUgiE4)!Y^lIS)Atl4KYJ5h5evL69WzIN(vhqL4>XFkmcT=shsngK(`DOl$j)R2Cd0ipr;R4Nn+1{dd(2n2x8bD$~=A*oD-mWkM4K3(TxCXFJw zo=d18TqD=}R_>pf?NNDcYycudWFnmc1;|1%`#@QfMOra8$0+9>i9pP>6l3)Yd5E`o z2pEGnu}G9Mt+h~1Tb8t>nKfQnyLr_+4{~`EWI;0AnNJ^1PmZ^wndegOAQxKRXbllZ zIy*i)!PxuMT7}-RxuL~s8sl8l>c18PBe7Uq`)F_ZB#Tu8C z8bTBDyv*9ucv-g)FZDg}ywp~?ZT zaC+1ycQ3qP#qzIKd)k&)dacv!LMY`$-iwH3S$cu{|FfU{(r^CezqG%9{OK3p{QB2g zEOXPlDU~miE=g4t+Ere_VlvD$zaul12x*GaP%?zX7ze;C%btAlBX7U`UB)O&({wfi zA%H}d!O7|IJe}qUU6#!cZ$AB{W&s{g<|iKj08jwg%zV~b@W2I#o?Bmn#DrV<%Fav%ljDc?swQzV zJUxC;3~fOP+c?TRi08ADLMWFRIV*_cQrl1Mmq`_bYs&5ILK074*zB0ZM8LIp6Lb1Y^j01VI|5=Axuq3DgOTi*pD zKqk@wR#h(4sKDIJR*hc6d+^KUN$>2u@X9b>aQNX_l^8BvH^%` zi9wgPAZparSulDeo8AYQ0sw_0k)C==P*$b{`Yp@Wt88`hM~K4dSw$+g@br8= zV~ZoZaF8&K9|Fj71`?zYB&lv@y69+;^^4q11rX9b#z3R{N1#|%b1fQ)tdy?VyewA$ zl^TG;#0V zBG|tfrqc&{visO+?iBT^DS~MH>A(CV$@tnk-+OZznZu(&cHT;9ZI5N3nPp~6m*QII zQcS(^#@FrkBk}j&{cgt>7anO}enV_1#8gWIs;Cv_+T%okEE-%(XAfPs6^w@>%XkoE znGiw@2jdq$^6K8fjp1-|b?@4Ew3EbxYu65wWRRvJ%|s@I5Sb7u03O|cS9c0VI|o5B zoShuik8CvD*Bav;ePU6&ijG|^mJ|R)HZ#r64s#DF@EMB3;qGj9()R+SE(_3AAB^#? zs5E1IFdWXN(>2N&S_J}=B=LMcS1-j@UF(lnC`$Tr6Etl1c8dgG_u*5^u~z-Fv%7zK z^049`z4o~;z4@nqvYZQJ)fM;5%+j$kx~}@B74W)n;`R^kJUqHK>+BA zj0U&!kL2gM7p@*4v#WJGvfQ#0^9L#{q9Aljf8^)>r?36iKarOkA>KyC5@fN$Qz)B$ zpge6M(o-!v&n_$mo0H*74F*JK3q})n-I#EZ81!n&aLzN=&T|+I(sZ_f1-Uj0ujSDK zeLizFvRDtF7tOLTSz&$2DPQ)3z1?UtdpPfmu8u`Z2KC#Uh=I67MdLCDCW1P>9rq zZ?bgy=AZq?cfR-M3$?SHa#=dxPLxY>FcxMjsMebd$Mf0rtY2{*C7!9=%m8+ee>x@%?xILWwdRtbzPpvMl3_a~=(clmFy1Kk#Ee z_18c8;)|2v;BWl&-%R4s^UuHXuYcqJn$2d@>4`w86R{|GKI*B%| zBJ%nO3-}H~WD=3=1Kex}s;u_% zl6tgx1%1w^eU3i!Fv`-tlUj;iHLQBwxUKhIk%EE9W*}sS;=}vz+Gl{s#=D1q{pbFx zul>%y$va=7&&F_Mm8ET=&+^PD*>RQc!(}FR3-r0B3ycV=ia_8&v_vXW^`)k#C-1!T zc1<12g_(LTn4`i})?^0*zGJ4t1w4=R>a&6Zpd3c>@j zfECe9CRn4|h6ISn6Ue3>){Dk6efYKC`o{o8C6KvRV>$y6$ObZAPs{*BviIct_`Ur8 zJBKfy9(|{@WuW|FU4;mOXaI&uHL}vn^vWYN!)?t z-^vAR@3192-7Ix4?yRl>eT1?uzznOe^s3@xag1-Lmh`Dja^S`T-(+^UUyGmiWXSt^MZT2a_7mj`V?APxp@jAH8)Msa$OMsA0EAh z80EXILA3kcTizpL^kj8#fMr{%3#qvw!(B$495fC&zF6#T)nT z-9I|Ihd_XkWtk8H(I*ZXcdVQ34IU1=r&&}5)I5bB`fFbS;BS26_W_v^ozsjyizZFc zn=tgD&w1R*jT?uL-n{+JyKglu)r-cwfg75vFFfuo0zf^+cXE8Ra4gY+@k6dYjFaJf zJ}bP-&c14zuBKNVagAXz$%Ftcs5~C+&8H;+V~||Q<|p9DX|SJ=0l@U+=#PHytHRhr zD$++Xr#;5Pp_3#;N1vnNPU?y#E}$f28pvP|rFU@AcSFZd=Dey*vsUOcI+OU_M-BQ6 zO90TTvj8?mSTr=dJ@$8TeKRpf3N`vmv`ic!DKCsQ3?8x$&Ga#%x^0%Kx7~?jX$&qaKlPmn+8Ms3Um3$ zGz#n>FN`|_V8{oM%>kLB^2s2ZT7p=Z>=~**k*R#}G6I^yJ(ZCSW*mAUi_3wSAKwK4 zpa?{Idh}f@4IEAEgG}IWk%hp5q$vYqg=;F`22_bro+pZ|w`Qy=%2-@J(cRn?TlD#i zrbPQm-Z-zw@3PvsD!QI7tPp0MOtaiB6(ToV=US?A1^^0u7OIM1X0}au{#)@>3lm2-PgJIvh&ItWKyK_n|09n9SYvAjU* ziQHgSXsybuL70b>DUJk8+Q4?VYgaPwey@W{>mciw*g zH-G&%t{pu3=9}L@fcbou&ZmedM1}@Kiz`cM(e=`RJ{zdLcf(*lJ^F*+{jERy`X6RS ze9!Xh7uO?IatP_@=*UK&hvP{-08|{eZr#3j?|s-@JaZQByeHT2GJL&wivR9;|&j6UC&n~;V zVOeP?Q-l2`(pe?7-Ik?p^tlQriavDES(#z72UrzLsq^d33>w(5gIWJX&lG8Voy%Z_ z3jh#RR1`GkN&rA97evJ;7n*g2THv$J_+y9s2yJ%=B`%z^WC&%@2n}^b1VE9^HH;tw zNRcJ#=_ybM*-ZK5s457lIA=i;hEgfGcs(ne08u0atV;Wz)N5V~l)ZREBKT&F0Y+`5DO^ zvdkQ1y$xxV_8NmWcBiTrhc0c$SGlJ09qBp9tYK{OrTb{cMuZ{YMG@V&mP@ur*C~;? zv}(;wunE=D|C?Eor*gN{!d}4?(U}%IOeRJQfCEj4k!clVrnJl>7ZM70WP>RN5ENc1 z1Emp>#Q@pQ{L(+&d-N~mGEk()KvB6zYw%E^6{n0^>JJ#NgRIL`&(kDQm%ZC!ScUM* z=QCRTv~Uzfw%qhKh6yoLH7CJjL1CLIc^=&RZqI`BOu3uRr-W?X$w=FNl(LwD_9wsf z)_1=3%{NwP2Gn6mxTwrAbQVhcxgxhSt4Iu#yIeAc*G{`s(b-~lc$$Ou|W%ApXCkKUd;7(W)-Q46Dyskl4MCTcxJTea%J{d+AR{Y|w@ zR!x6=(S&>V?h>M9u5jo1Uun#r|JgSd5wMJTzUSJ)^2ss5dDQrbC>qSXB>~<2`KRCb zL&o!wA-(_rAOJ~3K~zEj$kNjmqMJHmbO-?9aNmkJW-=AN$aJh5EKL-P464!AbtbIV zsMJ(0jbNizQ2^H#PmGP$PMS{J*zIg9LHwgD>L(de2p1)v#lNG~brw1c2@2C;b5PkPv-W< z!TN>!1$*d*h`tb3lRh4fP!|b0Mdpo|i}XZe&qR?<0Rss=i#Z4Z6n^ci|Kj-m_hd$k#FVKP4i;93 zcSWIqtD+RRR1a3jJ^Qnp99Gbs=U#m9;6XZ{T0VB)qGkz)x#QZ`Y<*cNK@I^@EaZlV zkUQU1%%#Xxq7^K|RY~ugkA3L=2k*3a?l$&$&A!RzYmHUS$qnKVKm;KGi3d?51vZ-b zE0djr>GY%>r%l$vUe#oadJyrU$fhnQO90@}z3)_bfo|UU=-s#f0>r!`qlkq!8Z0a~9Id*4Q8Jq4p~tnm(P?!}8E+KEbu#uj9_-HR2;Z@mSFrrP zRYd{wK0otc{KD7%;J25wFng+Eh5g#?iyy=B?p8cqP%sExe^mZq1i;l_01&7T#ebRl zKG4o&szOx$fddAB5dZ@W07IVK0tf&Tpb=mM5CRSWBftTR4geTnLg7AO3>X21+K2pe z05k$jfb9S#fC=CLAOeU0V}Jl4%uLVm4AqQB41YTNpC+h)noZTxw@8_J1 zwrlOjz41Hv8ZrrTvdh9Rcd}M1I(hL8Ay@&Xbu3Q$zhjC zyOcedB;(b->^Y>=2!i0e%eyOAui0N-JvcC+y_JYZ?Dsx-R6hDsaERDzpZ!AP?M9RR zwZC1{$xd-y7-q--fCU2phz9$;wzGBK3{s1$8eWrFu#!ISDJyGhJ8q99XAoJaf#&uj z2Owlg73)MD%?wPOH22?P6Ny%!YIz3<5Fnc<+<6EXBAWmv(#c1KBbT6aq)_Y}iH?Ac z03)D*0-!bAA#WrmfFS^jCQoV5Dsw>z%msxM&@k4*^auds8&4vOKKE0<7>=(aA8IfP zwSZ&D1pS!>76hqu3JR>x+YOWfBpAtf)M8<$SfI9$*-0i~z`BlIK*+fcCo&W|iHK#-q^gTRO^$D=CrY7X3a>ZKOC*lUyV-m_0U|Ap6n=-TeB z>(?HA`Jc*0qXSlI&xM?qc5sZtPSgnRpU+<4I9?rFe+1m)gyTU$H-UozM`<04OZ zhPjw)JqCkejc{hX)ifZY%@!lQ>8XQ*M=qB0)eu=6L?bfDJsMF_A#okw9}EnuMWj0|r`5bX?-m zGyn*s4+#X2U&5N8XEdQ_w6I`b{BlL$5+KK5MDY#=BR}8*u3$j4x}BN9$V|Od1i*oY z=8I^5Sc%jtFq%q;deJj_Gkh<5?%WS-CG^+TykGhU|NU0BcL!V+xa1<6uxENWS(ULC z-NRZzhptFxa_z>E7EPQBsIZJ^E;Bsxoy$a_&yhl+Ir05y@T|%XiPW`RyF&n&!_5O^ zdw?UrJ&GO!wg+?ta47fuq&7jI2$0KA*{ZMZd}XS|-)oSO?vo$s@=Z?g2antJEpu3B zP|PT#0kV-aNGL&;=SvZ>9ku1aff7wuc4`&6tgOnecGnyBFpfwJk(Rj|u6;V~?CdMF zg8BV?ww3DVTD!G{eYNwEg^RSUIS>qc%}PNlmIYk@&Eux^6G-lNIv{LR`?bu}GF6R} z#1qcqC`iVGohTeI3a{@!9%BBWkw2o2H*~izvR%!7fGmC8=Hj}{< zg%`leWSsZc_?oaaa>V3fXh6(Hq;pBoF*$gph&5AG7z$sOm~yOv%ZUtC##ns_fg%8o zlmKuFCOH6&d;%Dhnbi3uIZjOjz_>)5*+6|J4f_sEVBP+!yf~V$EY@Ps41j{sHK0%> zjJFB>L(?y1RSddJ@m74+M%1%@NretY0nlY^cqn-}WNa5#c)iJ#Qnh9KN20qFzoNCT z)2+AJ&oLSwYzO7SVF%O#8fzH=t-I4?$3dI_WLWZbaK$ea0B~Y^x%RpB=$F+lU917q zI!+yF+izS&Nry5iC&!>60f={QeEvh9`6UHmYw12E8&##L?Oz$K3!P}Gihv{5SH|3M z=i23&?!+Sh`~)Z=9x8X%X^1pZbA!~}U;sgZN_W(QPA{%vZ!EAjnSJ4KH2K`;ztr9l zQ4u$|6|I-^Xju~Q@bLC#YjAwz_H(a&@h7i8`fO)sydhzt-}iND#)@>Z1qGTruSmh9 zJXuCSlSS)6fPu2H5dgz*2tY|RNy6bUnI!QzLT?S^eC^`XAqMJ13-zY^Q~= z(XDn^{w=V@C55;-b?_r!E zK(;Z7t5;i_6Zjc~2>{%@^ZY`fAufF;RY4O84a@I&Fwjo3(OXw44C>r{;E8Ak4T&yz zHbVPuJG+lQcKgK~ZNGN)Fp0;6EZ}h%PEM z&9A>^n7(jVJMMWjHxiqviao>;$z;KI;R9DQ%3+GiYz%VYGvL9U7xXBv9^C4qC(nl? za8X6p_ShV|(*_He7CRQ1rR{Q0J}?L$FfLD!D05=6Ifux`Km!v^C?c9epcp7tq|X5W z2O0ndfLumT8z6X~&}RmiXGRAqURY5c^DzLaC;Eb#?KE(7MY=&##GkW!Yckfs#lOs4 zS?bJ_v|a&`xkddPC_E(u8r*vRi`pZKkU*WKge(K}lAv!r9GthHWO8|NuYT&w7pyCi z!CrTvME>b?KIYg{%>=CHNH5g8py-!rx-+Z*WsEEbn>+%UOllye@z;;F{W-nTAlJg5 zW5BT@<;edz1Q-Ae03r%*01nHFwX)P?(NpqEY!U5Q;U;IT!Eh(v|d^s-Q zsKMAlUtC}r+X-Im>O0w8%CxQMN)g})Xabl34NTgrVspJA9|)^arRcY;sHbh+x;w;+ zI(VBpQ?>@iMjWHjrK(8ZruHEE#T5EAsktRqMUW9NQX6Sx6qS)@a_mgzFZ|%oxFNzp4`T4?=bzomsAb)vfL~Y{L0zkuuIkv?J@C7wCQn5_ z6b0UwV!^V+#L4KY`?*+)ftGm{wrQ=26pIdFvUB~+=S&n2nikPA_%F5;r`uzLy`UDC zZ1$jHtvzI;v34wNQeeLz&NLV@N*`R@nCsHwM5|xf5Q-rK8IFx@9 zunrW1M*#%bLB1*oy7Vwfs}sewFIjDEKwo0Dj~TfQ2933W59pvht>V$-3KAp}m*Li* z&XHOso)7n5*uC{BqsXD`x`N7sne~@0Qv~#-DIU`6L93Cm?JsOo!vQyDim`LMI0Aoi zu`SM!Q@7Z{YdbG^_NKaTse4j1-6aL-|+7Bk}P@*41g=%XGK1ap;mR7 zeB8~R;67H{POPQ5U#ZT;RorC%;1+C;3#hmk^R72s$6>oZp@qB7+>Y`kPuQU?@Z^VI zvwR9ND1&k^8e3n?hK-`3s~AlAVoS=9 zNi7*vd+W$4byvWwf*#jkd(@8(u1NC?N5ivvB{1?o?Burc2m*K9^sArwJOJ<@1_0*e z$i;IfT7ziVeL;CdD6)$Dy#1k9oKhEg0sv$n-Ma0kS%We@+FQ^YDFlG4*YDJt>$S}` z5581kz_WB?5$OVDl5KP1HrE1k2Ctd;CUUdJATJ3ta%8!5+9SXb1=kcvT_ipip9|)V zP`dO5w+5$4-IEI&70x~{5M!u(2BeVf%-d~_rv#8b8>dHzw)bHFP z0FXPMs4*tA!@=0P0|72#v6L-`>81f0^;jx635#C)!dFa5hya8bTfz`MSt*6o3bkyQ zBH^PbSC{}q6dnSO6wgMIheB%?a_uU$dsk-6aI+|4C6E@Hi2l)qheB;l@XI-|vE!^; z;LhmLyri~33RF6D84T`5vT9mr9;iqg)|t7Tv(VJilt`3}_pd*;0TW<*ocS`u3nWk0 z?|GS)jI8(qg&@+(rD}AD7$FS-7zJ05VhwaI&y13hQl^aY5CDU406IY3YVxPp?Lssi)R!G#B!G$q9x{f~)-I&DVd={3#!Z)N>zu*Fl&9 zwgQ3+Rg{SVfXJpY(>bpbD^f$?AeV{>L^8RA?(;vv4TV6F{al z(rMZXmoC7DSzT(nrDOuj>otjsIk)5C{(N@aG{>-`pb*;0X_GqEe#=sAvIz=Cj1Pqn zAo>x%%UP$WdBS4(HJ;9=4uTHaEkrLFpwr!&8DM6)r> zG`}+d0x@&B3@L~ifDqXf#0&tCVj-reJu98h5D5_hMBd3!G@8#&GD z2qE;iT|t;+X)j2NJ?>rc4FEvKL!tEbc>$m|bhk=~nFiGfZPs2=@IkYC(3OLxTM|Md zO`>qEN%L)lc1r}xSFGw`Apn^Il=TXS8KB6Qyuz{xL?-10g&;COkg&DrwC=DNF4@SchMsmhFG1J&RDdbk2T)LZ@j5BU6mkG0KpqZnrqd(s z4i&mm0U%tuXQ^dQEYLK1!>z)2n9gS{Wo_*MVe5etn)mLUQFtL;adcP!jk-z~p^XNF z?^o7k;5rd>ENHG>ieo|a*@jkyOS1?UCX24MMrtR_xvX>(P`|nG4<*V=lt+y$g!F;> zF;LGc_0;_I?tFSzGdJhD00as^%tU%>Jg#bCyMn>X-M7BeP4%p_ zC!1%lH@nn?WzE+qLl4cLJfLGAs(h*X9EHX_5dTGME+O)8kUsA@>#Ls`iK-6wBnV{A6=48=nck>f6)E> zCD&0eZL1KWRyx61(Tf8h@*Ooa%*B^l@M|-(wjo;qBL_BWyQ)dSqa~%*-r;TE2`v(r zuwDJ!%jx=_?Y1bgV9@P+wpcv}YB!YFufKGza2)jO8mA-#BgNQ3kAUV0mHLEa7b;Y> z;}TVYaG>!!=l>j*q*72+wJo@$sU+Mis|%vW%S6_et&`0O&kK!y6en;okFIG zKJv*0jUJh%jf<`w%g!$o(raqcpoaj800-SEZmiklb~|}Pse~UV9v{_6L(gs@Hr`)>lvIIt3~zF)mUqQ zHu9`hh@oxhnVI_s=pviOC%^9}Z+_&5waSEw`4kgHrOK-~4#pNMbiZqJaTk3w*$9J&kiDZ>cLhDv|0c(1hV{KUMW`! zx(IMs?rxUs&w;71DjRP;Kpbo9+1hVfFXYb*5R8+-g`SFy%a+=023tL^oD;+d0Dt{Y zrvK;HzIE%PpZ?;{{akrv^xw7@U;4hYah0A(+ zGBbgRp!g@sqF7`xQ0YR(0)H_yRSy)UWs2f^hzv0(wH1=9k|836cI7m4adC}T+S$&E z@Fev;xlCeQ0;6BhmSb!Y0GjiVx?h+KM&}%9KHI+Xfzw`7KiP%ChngPKrU^mck$siA5Rz(G)5?02*3c@x2B$OOTa9M)LDl%Gv z&Y^ZrtSS>Gz=raPYz&wno0w(y^!Q)$Ko#{!w7GlVw(>@gzH$BI&>SWkbk@sc`Fv&s zz*oQg%gNqH0rL>`SPK%=$F2hF7f`hh_gsvLkBg2MI5QA0pP#wr!>+)N3*BMWrlfCC zFCbOU*DR`e!J0~*^?%eZ9RwX1v_zQ|^ju`mK%{~J5@a& zENC0HK*TPnWWXhUYLf`nC{=O~Czu>O$)cTP?{OCIvtS=^uyp3o(sKrB&BEkkpZL^z zy0YP%5IAgs3nAx@Zj$rKTe`#Giqn=$` z;Gg~6m+E>0>FnecdH|5-W(3jMMMf_dXmDOs!X;E)PWy(L*ls0Yxe~>!;*_hdJDGpX z@bIy6A1$65L-Se1B}E8ZtU{p!01gzJU_t1rYu}z{WBG~Esn}FkBh1OaLFTB{Se6A= z5&|UJ27uZ*z{t$b%RdJmdXrVGySDmxEtsP=g2s-kFB6|_Mb`FZy>^w6CWaf6pp7fI z;W99Ny|{*2FiwJPjpe)@&$kR$G-yGV-xI~Zgl(A zS+!)XlC=r4^HWo$Hyd4)r6;QOkx-jvdV#^Bt{urQMW)p|F3!PPm9OdzLZ+UZ0ir4r zB_OY#fdmwkZ4(&)B98$XhzvvqkpGuTyGJ++3SqaEwbTUGYhf)=n@%)I|H|0uHA6D1 z=k&09faViTHmi0+8vsTGjth+@@e`HHEOaOqpgn}$+kg1iDX};@v z1l_7dR*!T6%lC#@t`FNYuJpKdgyo78`Z^LDqjbayZYbLMjg?hq79qi~c67i~xQ{th z8$c<;$q5vMGouz#PQfzarf4H9fso^SCJ4>Hhj+$zrX) z@Qc4f#dE z$)xbqz3glT#tOyL`)^e!gZ}JKf5%MGs8!ht|9S7-x7+x|hqs{yLfkqF_276Cx(Pw#N zbO^wak2OLMCaF0vF?cy-V48~jrJ=#s$zn%gs8-?6o8uTX2mK)%)KXP~tH20TA%UT+ zI*0?H9e}_p|5XXHh84&0VGnM=%Etn0!%3DYIJWAL*p*J~4Gj3ArB__M`-#1lE?q>^kT;;>orbL|sr^#ioL92us{tRx=wPvnjS6lCs{6lBB`Gx}`N zNz9`SUiA%T%K4eM&QQd@G8G(AhwVfVtX)c+@sM#I_H-vHf9~A*@N)gp$rM4N2+sde z_!o;h8o2p04FLYFlS87M)gsn{uvIgBf)kl+? z2ah}t0LkdOb!Spprv@1yQdm{Q$W(MTo$17GSk7UT@SvHzIE=P+y2>Mp>xAB;k3ZHG z0Y5)-Qoh%DD4wwzd24Yow>h8jM62FhJwE!%7c?~M`4ijhtM0bW_BiX2D1B)PcNFo0N@2#(#G?c0#+Q`Mxnp0T z$$`epp=dWK_Bi=eUZrEo(10b#5fZ9Ek?9YK!NPuZhHJKQ6P2Evbn;-+^ z$U>Bxpx9rJZ4X$0Dzr94qwD_k^6Go5ATF>w6I|TIewJ-^?o8y)@))rwz`@HgRKrdi}hH}qP_jS3n|JMyso~+Mkl;$6TvZTT>^?)pU|dMvMa96V4Me| zVN%Fwg;KJytOiC3{0Qy{D4DKqf&5 zp-E&?E1y7U$TgyzmU5ko%1A>tliV7W)F*irni&}=n}iIIWCL=R57|@%AwXpEglb+` zsv2Lsg)6DQJZ(MeNGyH1o&_UnpHfLPFEaZwC8jy@!O`7sf|vounvu#q_r%q7lrV>^ z_am$8b~WYF*>O(xk|)uafrn-`knBLAb(BgDl36@$ZR^Vo82KgxYqEY?-ZopJ!OKI# zmF&)fwn%7;sIrQ&r#{>Wb<$dz3D=icuClVP>ia=xBW_Zih?&|^%K*7XhavznWQoNr zB(xLi8HY6924Ye%iJV#rMS7|=yK(A@RgXC5JW1R&bAJE#|LFY8J>PoqrfG{T^#eC8 z2{(G_3QudacKJ__| zIgZ?ghgT|;Cgi%ct!^8xGAu@vcA%J>wCtzQ4RfE1_`sYbHW#9;D;-CWj7>8} z$SPZ^wJ6P3;l((Rdw8zYLlHqt6}?r46o5!UWJ1i#K0&6D_yJ=Bi{GZfPMgn8YPvd| zJ**$HB0GM2^tv8P(u4QjdG8#{ZXYSxqD)XCO96oSW?d(|OP#zia~L&}RRDmU{abDQ zFNX?L2d4duCtjAVUQ&B-ZE$;lHgxG}2ReoYxUBOUG zMdyG6vje%YdDsKF1a^F>4fQZRzfuFb)K75txvs+3*AX-od&GrW)mLf)G|}Hf`+^?l z8jEQ@vy5M$b_0Z-&*bOgs8mwrrn;$U4XoxdR7=`cn(7bAHuC;V$=OETAZ^UV=(8C_ zY?EHfmm$Rblv90SaGjEhXxU-v-@EqCiytte#)ZUP3JRH(1$43mtK?yPT*z zU+()hru)J|GYX$s!L5k{01t;}=~QaMQ>CC$t2XEv63ER2N07T{rIAd0u&2pD0t3jF zvX0AdEYAxW0EB}zs+A7F-9k6)!`REWPpsmrTUoR{RxT6G0?HCN4ov(vlnlZ}YBNSA zI|nIB%>sbt2H^&lFfoN=4I4EP0a+rCGz6i5N12&t&0H0qw})+?aTZp&M$U|8pj_HnW!k?}8Lr&n=@(wL!jQ|*g6MwI=MTh1rkf3!*-D?L2Ej0EbZ9u|xF8ABF zZ*OH^&2js=kF74~&BrztM5C?)84b#vo`b_XP3M!wt*m8Hw{bh$Va7Oeym{wC-7ynx-@?%Sqygk-v zG8R&Rn@}&)Y7d6M#%AHcJp4J5|3p=3&|C~*_}YfDdl#XG4vjP$Ko9PNXt1Ayxe5nC01Tol>U`F$K@9%! zss(}=x$ISFhj-9me5f{DK?}!berZeqaQNs)Heeme$8jEARQa%bW$$v!t+RjY)||Wx z2&+|eO0&90)?&R>g<-qo)aq6BLq*7vF3y)O3>)Las>gWm#%gBRI<~Z zvR@mdMy+W#F8dLWu4$3xfwsYrGpKO+Jq=5c+KoQ5GwfugyjR4c0PO;1SMl_%<=Fn< zmeJGih}2ZZ)9>u$r~%i7HYo(yH3_MVU^?$H(JpHbne{ro$C_b_T7`CSG_!Pyt+1>+ z%c$oVfB{A79M%-my0*lKwaykqLSm!6{g*%e+IruG{C!(f_NwJ9Y7_E|%dOD*%W);; z1n|7XQ{%QhXZ=RB#4N*e)PbBQxf1qy*ROv3^GkFKS{@d8LOMwP7sIk_pj)q1p1@6^ zp<5SByLs1^%lq)qWR#YvvA);~w#c?w2T)_N4Y_qsznv>rHvpQz77Me}N-53n-MuTT zZtW$&d^YTro0lOjWbkyTn98EDY6-SA&nVD1{nQGq55wOm=vtg2AM+{PRo?LUIdqMi#mgOqnoP< z(d18y#)S;5%eHpxpmJ_fe(TiRXcz2W!2-n15CSy`(Joi2uJrl#*dR556g7wiWFG4Z z{l-?sb!-flv@y_nL+3KcF=}EmS#k;cpyvubw5C=hfd;uFVX+#9_K*JMcaRNDS06ou z(HkrGHrBygk$}b4lLuOF1@!=YAT}`WHG4itmv**nk5!0{ZJ<-%9gY?(;$(ax*QT{? zgg282v2d@@vq*!b?FwnP>|K8@8Xj7zoHV9sa`l5EfM!ugj0XJSlV^F1$CEG$mz^l9 zhjDH_daLUtjCJehXwiNM!)QDiZ{@{`%|BdY1KK`IWqXjv12UYilKt6Tai=A{VQwe| zmLO^&`&OTStc!w;L3g)iBYKtmrrbEo@c?odXTu#0twZ zvY`uWt_gGY<;G%rp|d?)cs)0ZMl#plLy^qRHY^g8`ZGq+!}{uDWjdZSGr|VmTK|3SS&_B4=C6aFn+UX;Ee`2euHp+T# zgNE1ytm_=aeteQG;YP3K;@UEzHf6Yr8-`)Rc(`e=HXKemud6D!u$bH+)vCa+_nDzD zO0FmD_y?``(gPP`_C@w zZgo-8VHBOM;5u6^5yoR{mQbSwqERQK$pX})BS!Mhj!k-J3rRZ}0U#P2RHl9>=y?U5 zT{fHX=1yabFVT(i81Gzd*EH7G`1N^2QL>fk8(>P7BO63$x!I#Tad|CIXOmN zdvK)UokM^SXrz$n62U}C#}S$=(yA<><9p`HfG(sDwYJIH;}nyFcDD;Xa%;J2SH7X4JLFmpU4_*u!xfR+>=4UJ!V9H!+03f}jiJzop)mE;zdw=Qg z{qiMT=`H9N@xlqWEjQE|zWc^?)atYlB!I0aP%*-lLA1g zAaWiAmv#bp9F118T`lUCZEhKHLZ;sY{-}=f*C5Hs&~dVNTRS)KpdZw!qSdRP`cliW z81G!`eWVZxiQ1gE?6hgIaK@9}t$B9|O@O3?XRXVtYp03U55Bz#5V71(*$ot z?!p!iEyt_a@WMi<`wxP}yw2ZMoV_SEhJQ+6e$ao0{EqcJOy4 zPu$nH3P+Z%P=(Ve@X%}IDd&mH$W+FOL{*pxqo9Z71C6X5PmWHM>^8wq?U7>EbpGN4 zmyGt##GzYevJq{x<9TrXVELQWvv!;bzw<_sO0zYW!NjvF*JM02Om;P6sXgbOqU)hD zl7q_aD^uJ#H=mF>kE0U_8`VD>+~oAXv7#XQG?FQ zF)GoPb>k*MIP}fu$=;*=8np|>*VkZG=V;+~UM?OBJLu_#%MguGt=rtj?y+lD_y*T5 zZK0n}n&nhOEZ%@xaz5Muv|^pJ4%dGF#-fD=aDaR)Hz%ZE8v)gX zj&3LX_Bb~($eG*4kPYJTZG#LtFGYxMe>(u3TQjTB`H1B?Kpa-=X&B;9=dS>(f>eb`#7s=IgZ*LmD?&wYIN-tT@7z8U6$XP8Ik0Rw0tfW{*t zf{bvaScynRMrf4e4`iVPBufq<5{e>(6k_=gD}Ok_i4!Rz4nc7&MGhtr4wm8=Bb?w2 zk9qLD?(>|pcX#EFe(dV*s_yFN?%unW&U|z3KE1oEt7@%U>sPCO3y)^bVAfrqRggYu z4}(Gho(74g!zhBCyPT1isI&mj(XPI?O4YRJWE2B{wX_o~5BvsQ*O-+jbOk%J)E!drhF#0<246mX$Kk0n0!X7T1l$wlUY4E(os9LB7gG{l5 zU4vIA7wr}`lirYbpo{LMvIMRY>p=iuadtCiKbODD01(Ir^a{~d;kLWPKr*a{e0uTd z?BdlbB&erlz2)inBXZP_quwlXZV!_gPkyAPN-=~ZM@~}MDRYEW_1!oHglT{*$zFKN zJTj12Ja1mfI|PPHOj^lSyMI5d$7Qbj=B}XUFRg90(pdR*r6f=fJxQSq|EBxHDy+Rm+LAW!%;B*)RP?gYwhGGv-lpy35=Pq(zeC?jc(N&84LE@er6| zi8o>pfuQQY8o+T^CPkOu$_k6$(2!!+j^;5Sp(U@31{ul{Eknf#Q&bhrfNX_NouS5Y z_oSg&M!h5FmAZM}pr%7T`lQKLljHepvDP%-8KrnWQ*aUtea=0z9m_bnW^ zOIFzR$w_(tOvx!%W`*atjWaGG@u!`PKQZCMU6@I}LXG z@}6}^taNKEu&UM{stOOXEaMo@V$d=#hr5HMbKi{v?_$bxF`frK5Hq<@c3)#{Uey|r zEo2rB;%7)JparreIj7NZlXF4NMU>l)Y@Jjo+<$Qc_3~4_m6y56<%5sNi`@G1Elsj2 z7An!@u&VT*tkJx!as4{U)+q_YkoHp#U?N#{bpdG7Xc?J}U@o>Sru~xZt_~hG=-H|_ zYJJ|htXvt>-#NrZqLeW|D?L9^hikt5#?oXE$p)|p4)T<`cc>MfQO|A(?)B?d8qXy> z$`0vFR_lCSHP2hNYe^-OTOA+64Iv@p+4}%h8MF zS1v^50YOBzBUR&kR_D2>!H>$m%bl6)&7lf_9y0-vOm?v^;){z*qvHZP?7JQ&j=gl< zp3K6D8={lunjzHKUz{G# zs7oh#Re8R0as;}7K7fbp1lb9|3?RyI_W>6GE`U$YCE!e*vEKWV%8Adq&;ryijZ}&| zGYysmn(x{;e=Jceu~|0nI9gb_!BkP^IH#rU9X;2xfsc}@QazURjn}{Z6a9=A7WBn% zl(8&~?{OmO7B~XHU-~0%SkoI2Vl^LtC|FqX6sak1|!)>aevICKf zXHJtIsLZvgJpVZGibHhpA-%cT!I2EgXnGF&pQzaSo<*8w-bb^M`KrH`mjNhWD>GkA z(y@zvEXy9_BghrfsLB|~xk-xtLDpbIvp#c;(f@v|l|e?ylEo zEtUh1g!c4$Z4-k`&Mr{Rn6z2=0Q6#YHlnHf z=+Ogc>#=#`Fy8L?3Q*&C$2%oJ?O#^Zb#RMx*phQF*Gh$~* zYot?Rw*Y32{~)P0xddDScrEH9wGDWUg9<}kkb4RAWWHE9Xs^VKn8CJfn^3fWfxXGn^-!1Ao^wkaTmWfa?48yxXm zItuK-O8cN%j;OgrsgeFTJ4%fx`!&TSjS6#-zV>L2RF_u))<-y9Yn@ACjc#59pmPM@ zEUF%f>>O#0bdor-QHd=NaE`PdX%+b99;6a?&dpm&p!~x0&X7!1)oH|o$&(tR0xp*q z1`!&RdKhSS(zg9p8R@;TDel0j+`&dp>dEx6DOo% z9TIUiHSr}xUgoY|{L&a>lab=g)R99A{(SYO=Ef%rpWa{ySMKhi``4LVl0LCZ8p z`VeVWwac#dN!;0LUyDKugC7fbcLzs^Y_&Sy9#2eLkwxu+D|mQOv#I9o1$5V{DOB`D-vF zmy~s;2ETd9hsd3I)~%w#eq_rRX>57WPQPghp<_FtS){)p(vdZt-inW{L>PD0V}aJ|RL1AIy!%?q&UM^{)=x&}c&qVQCu<~)dun8G z_F}QHgECZrhI)!i9R!i%AD`xH24l#vqEGDNQ}9h&j9G`{1qgQ$V)8=4zF)L22NIvLuRun zmC0p81P%lM+*xVRjgm#g@DNq~T%`<^oDO^egS4T#t5}1*G5YYwzlY_iS8GKUT7!1? z-Wy}_qRXbJxr4pWxA45?B^i>VP@WnGAwo?c;csQ{MAe z{q)sd9dSN51jm>?rEUu%z{-aqb$p*=<4K%L%M~V<>i-YIQc7E!XSYuD3inySG^0B64bjIQ5o>>fKhxy+>rPfM^np4AL&>ib7_tiPs zvc{D}&rm3$gQbVib;O1ZjLH7_opdR9#NEZ|rAbTHr+0@R^dqRS3XXHg30{m_nyHrF z6m`n3Q&Md;F>&On11@v#NU64s;%;|-(lnOQ{1rPXrLOqakN@~j8rWf@0AW@NqyOB` z|Dx5RQEK*Npe2+jfLXT8pmcN;XN3}llrOAYo4C1jwU{ltA`{jC03ZNKL_t*TEb7&v zGQ&i4XZNVodp^_{NzNsSd&57uXO_;KD@1;v4h{0@kFqidERQE`#9p}|ItHd@Dj*2z zoyblc{kG!z{`sAIHhgL=r1`z9RqNARXBYQQZr!{8_}f4J*&jGLz3X`^+#O2oZ%MbA zBIB8m(_0btbcl9b9reni57uc_Q|KY{nXC4+^PiXF&bv<*>w1>o@z#497i@Z%iQ3I` zQ$iaY4d~1rXAB16{JfXSw4OHu0M7eezvzhbuS)L`$M)@)bA8v)?{gU6S5AJl!uU;gUPj(Xmop4w8{lkl61Nu4AC(_CU; zNYkRT7bEW+gVvnI7+Rv$@yG&r)b)Sjz2V>hoYHqE064$%TCFd7i_?ZJU~X1lDj|4G zyjaYi${!@ybG^lYbLL3E1vL9yY03_$_d1xsMbk0G0|CQmirwKDS0|`43=okq<}8RI>gl&8*nIW^KrJ{B<#vLyt|TSaPgsWMSL7Jqp{j01r0&#mQaEX&oJ zSX*DQlAoj|*|c5qMzVtF?4kbf5V=Kb+olc6lS=^LUXSG9pZmi1KYaB1m?t53JcF)N zH`wv! zi#|t!9^2X9i|0mM-xWqLIJUK~llByCg&2WG@5_Wj2buy1BB&Fy@gUf?F(M!i!zF7u z1iG*1KaX;pUDum=^9QfJb@$O5o6R+Bw!im({mwVP@h@5|lueu3%DPTK0TEG%gNYg@ z8UYR0Y|dxf?bVQqPs|B}8=WhsvBp?%3}lA^3;#_WX;HX7indT?G<3_Wsj*Ut&d+bY z*sa&+H#av|SI;W@nuvvAkc}*aG!opI&0TNy?A>qbd%o_JKq11xs^k&lVVmXHn$}vq zO%#SLYhU7(z47L^|MNfir-tj0 z2!jE~PPST37;KC*Zk)5y41ETRK955}l@UQnU4yJIg@w5r=*w%g5mEnQ1OV6XfX8F9 z=(7o(u_*nnNM?mR=yE@|P}?p&Kha%x6>ckvUZeQ<=YKFshN{&GVi>$t@}>H4ue-C= zQ$nBR`7a9FZ`k4m_q6tD6;SjrNkm~nn%Jf8bH>Strl3}lYca&&im(`U^U`uaK}(-? z0znrxnu-l)GUe+}2vwg2+s)1O^~>i^o`zRjk2&wZ^JmvrFBo$WvG$6IRP(Jx=7MtL zQ?dSv@`z{@=2(cPQ(~Np%TY8ts(;YnKtN6O85*TTWNmH!8O@}@g4~vwb&q_1JxYOiCRNkf` z`fL_@vC*Axtt1_@^$&+KE~qLtqpzvZnt``F?M7=ThIE|Lup#!K zJl8)zyLWN%=;GqxdVR}vedA?f8Uwc{vS2Ht^(3*yTrw(&Q7GG61cDy?HF_lS|(>td~{sruXi@Iqb@)^>UfxgJKuZhWd^Yaj-Y_Us(HTNNmt86OlrV*F4`IFjC06daqPqmE8Hrl91445Lo9Lp7V9 zx3KvL0BFE<#vD)nx|65!z=GG*n~zuDEAyHpXkz{0vtp%ssV-vBq+&7SS@fA@;b~HR zcaNp&3^kV>&`?_0cej+qRCp+zX=j?+A+cSccj>T3aT0aM(%xTZwm2`e6Zh1mhbHc9 zHFY-^kvMk|iStc~ z48i9HMFDD@-FkF-cE4~zzGMsc)?*ub?)rBgywRN#p12Nt)@*xNPL4i?T{qlInLfK; zJ^{;*m0D(CJx~)DME|cud#PYHK^+Jns~>z7+f&-YT6fNx3wJj6W?HoOv!D7xhkDV7 zR*15rnYqJ!b*Ar!Lswp$u6df?iiN7(cqK5+q+fCvbh+a-mRWU-kM3qQDz80AraPs3 z67I}?BTmQ=aV(gfJBbAi~i`Q3X zJ!2Jaf~qH)JG32|%IdGz$#HJ{bm}QWKRG$K>eH>f{`j^2Ztgf!%2{r|1=9MIo?fkx z42(~?Vm8j_D4a#k9+yGpv^YRni;hpx{+jhyTbw1zrcqvA-iL$At+a9!QnG=c;?6wz zC4!#aLhduuz|d%BkF0d)+iBrZ;-2wsQ8PE12~DBj%C9W1Y(BZ^ZI!W^os51XgUD?R zp6ebHb+L=D<3ti;BPWzcN9?{C?yQ@P6PgYkXemkFPU>2bpYtf z<@J-F{K9l5G7+`jv6=gGu(AhWMc#+c(Ll>7&+_k1DFsIsgU-8XBQ@Or_wW7lBU&;m zyp|Fwl}YR<;CSw1IW!MKYY+etS%Io(r1FzL^K*agSN{4?Ps=56HRf%PY7FT1e)eE? zken{9hs{tJ+90>#tL0^1M@&2sga zAba#^hC6nH*tp-KGV6IH05o>I2J4>Eeu1&9XNP9mR5Y7e_ zRz|U^wmHH)lJ=JX&^l&9HpIfn0Le~@2Mbwx3Wo(hN zl?GAe0oI8Bjz9NFdAi2o2a>H7e)O~5ZhBSNc^O&mbdL}V9zE;swmM{_5_jfFY^6IG z3i`6`E!WV|g0M0M&YR$;{e06eZwgOr?YFp69>@4Oxr#~FPk-_H9iERqh?_rwFmuIDx|8VI;Ip-5Re9_8z-FM2f zvQ?z|akB0dWv|367l+Q-nkap6Yy2De5o#63cHrHG6z_HdYD{qlS8c>iAA-OT-^`M znG>4<0ON~B{+8~bjQJtueuf6^(F!a3a?cuFuZ^0pt3bw{Udvhq+3CX(q_ zmW%aRv}IftSVQ!TZW29#l$cD}13jQxUAk!t>o#|`c8!_= z<@W8{M=-89zV?v*hb1l)Q}aHLndR9^H!~Bvx?6?~aQ~r&ov~JG0Sd0|1lg77)8LSC zxZZtE1X|p=GnH{h-oUJ@-K4c_h!Ql|`PXS&$9)c8R;%*^_7W2sH0*5-N2a+8%bd9h z>TQA&^K}xIXB8NYj)s8{ODU&1SHQ}0qef4}_Bnv*9pc)pysP;(Y7Nn#y_c7FTMa7X zU;ri8-S?_Ej6SLECrifIi@~QZRJB^}Uy@G%R)PcE9u4 z!p>VOjb>Opi-`Kt5$rMYGC8q_rP@?-?z7|=sP3M*%38)iNqT{LlTW@+Y-X7=&s}tO zc5h%~+i;~A*A%KP{(Mn$nptTa_1n&D?*d`Z_wU3?*Rqp6^%9P?!iV-PTz6hO4w|1> z8&!-D*wL7Sq3#nOB_mZ?Lel3!lUXXXoxvRsE0P->hr#$z47Rx&_m%@rQ7c0WjeUW% zGQ#yGS7(Fmsm-YJ{H$2PrkOP*N--H`-m12lY}=$fk2L+aK7cjanWheQ_;u9ecy>U+ z)F=Zt_mpDYbzsg?Q$e>JdfpBD!Fv?gBm)WioOPoX&zqI}b><%?f2jda$kDAnm-R?C zx+RV<1ar*wlyaIcvQRS1Qf(*`qNz<~ zl#Vj#@K7dF?d}_S1J7>VKEeoPzE}=B4Y2+<> zxW4wZnK$%7v|S5H!yOluA0Xyt-_kh%D`aIV-hi^KvyK3|WY53-E7%!d(lbYPhO5fC zEL3i>V(5D@tCdo~seD;$h+6uxwI-xvGWRfpJJW8?9cGY%gZ*f9eKeZ62erxrHingZ8c+$7y02q(+iiPy&$|PtiO}gp3c+}xW z0(;%n-%)eaXohuFt=Q1LuER`+^2*rg5$4`44%iRYlpVPiV+%c1x54q2U;c@oB0lS` zkvqTZhkx`dg$7^+=Ds_LNp{{?8A3VD%7sZ4J`prK<(fDdUwQaZVsSwJ+T)Kk1xGR( z#P|vTk_>3d{B_q1Ec~|{i$vVxF=Wsl&8hxtAs2hd{3q)ZPFo1=QZh=zTT(MQZ(Y%t zAET}wncu4ANwxO+p1Iq@*FMms4LIBhvy037eRPq6pu@@tt?psPZ@C=j8~|Os437b2 zo-a;D>;U!B;guVMlkor0mPocz&-1`Sji5m$D$?UOKRB(h%A22dee-gc6btFkHi64Z z&J(MJ{*>*SsF1G)@fa2(J=Y}?%er= zr_OKA-I%eRJ6`|Gx^z5Ld#o8t=YW+dEk)S>Blg=5`cr1e3jAn2ykP4!bvmo^1ic5X z*&-XkS~aBw(i21DRWW_z_X%q=Dp{?LxTa`GdlW z+zwK-*=+}ItE(G4?0KDCd)|EG<0dP$>z{xA2Y!5Ya+wQE&Tc&hfQ!r5s@~2i=nJaq zuD2ieuIh%-l;`l!3c{FU^HHqnvqPYw9^$1DP>1cora*I}X5{$>>KM%IVyC0&|F#eQ zxyn1a{=E3%Ti^b%&wk=bM_#g{@x#H4N^4FoDni3=ZG~* zGM$GhKiJp(_li*CzV3#(ycC6ZqI{=txJL+Jb<(_hO!ZQAvf&SXIf8L_Lwbj0PdgYLmHI z^^vh;nCUifDXiL?#z8I@4woU@xTOvh zfU24z_LSu@g&Wz}hi#T`R?qCCgRvJV1-)8bUWqj1F2Zu4=`QX%uWKOfAe$Fo=5J%C4!Mr9RR?@mpN90; z7tNZ)T)&;lu$C$ZBc&%oD9MIKdlYWe(YxD1|Hp9jxPj9)y(Q-$S~W}y2Ps0hb6gOK zcNR8VQ)$IIl;aS_=aX)~m5Hmvo~n#iWS2Cjn@2g9Q@_$Bn@Khm+8X5kW63%QRQ-}= zB{egNJL`n0c?S)gUpz35u*}-*EZW^i*9_^U(CKgDX|J*Qusm$+BQ12m&$%e1-dD0?jOUrDj)zL z?Sg01ti7rCd{ejAowY9v5k|uESe*AK95^#mb%>!95y{apI5lj}7v@1<$%8#+@uMX5)o` zOsW-Tek`<3Kevrqdz)!U1&`4XUpBhTR_Ho1JKW4-;Q(JT0|gKO5gjCtm@ieYsrAYw z$-leU`{MG=PI}UD7XaXR%Q6$!<2ZJgQP@SiGmSNRAFI5foSvQS_sw$T6{u$mna>yN zb(eVbd}*l{J6sgdY$v<1k%=}AIjAcw_idMI-Jgu_X52Y?3&0$YRj~kl;ro85JMUC2 zv&ETJ0|0>A7k3WDrNh!l0G0ddv&HS^v)sz`{rf>;`-Z|jEdYVcv2)dmm9d2=Rz_=! zqC70isAfEZ*yzNl*#iuCHhZa#CEc@rdL!!lXNNfR+0srRD`PN*-mG~#6(Rv3?sA_A zfFW{3Ct==*@Mu;)L%9T=AjM@h>;Pu3$NCLWe2$%QbQ}@kA+uS}-HAURG%u1nmJnb7 zr9*vfKyz)COj!nNPId>&jG^HZ%MAqs9iUs8Ecl0KFm33*O59i4YBm*Opy+cDYQ`k=~{hRug*+*U_L)X z;xWnt_>+RmX28)zBRgh{Ff|%n<66 z(|i5WVx%|keh>${p(0h2_$>YXtxtT;TC`~xtTHpzWIBxFgiaSRaoa(;z=etAntJTVN_h84lJA%an$571I!b68K4Gz_Z!0}9A z#%Fb2jqDV)Vx?Rb%ZpB}!I;;$6qSHOtRXWVTU7k06zSQFH<}s1N8<|q(!6g1n3NT8C?Al(!D|;8FK50I3#=Y^_RjjKWEG|}_!L3$z-cV#*+8xbCvOYQQ zZ%p;&ADeIcrK}ecnTF{`W1A^bN@|Z?>qrb@a_)cTb6+}*X*5{!`3~>Ed|GryPEH;q zZTF?E%ER-`hDYCMOg&~z-$4DgSkx{&(B!yPy|v7aer2~55n<4n&5}()rS9u8tc&O~ zHY#{%_+IrRFYjaVH`LM^tLmP!zv9hmeuY`k@c(HEXDJSJnV$J1{H@5(VLoL-uF28jv5pvsTFz&A*QLZ-8p|TV11DBYAp+R$l@>0$7y=%0ktL&&j^qg zWX{LG>xZppVa3WZ$ZT<8JE4}*ue^lyl5tmKhQ=G4D)9iIx1#rdqe zEp)rDqj(*cT$8}rsLWtO2wt*7UlM!*QsF4QJ`&Ud6I?rQ^Isvey~8j6z)vKN;Y1E3 zr!qYDj?VpfG#I8MzdGLee`XU3tV?0`C`26>yiomrCdq@O8#*;#3h|hCcdQH~ ze$5kzXk(H?l-`Q?jZ`EyTPj~ixU){qdr=`&V5-2w+-^@%mGIym)cL~QSw^rGK)n~E!6a;#wQ8#q=*D%@GvPBNDvnp@ z>JTdUOj)vG{^Y;;v*s^|do9zH0}eDjY<~J-;B+Fg4o1^)AA7Jbi} z;mA)4qtO0-KDM~pi7xa;UT8aqhX!C8ct^@YjJ28o=dgTU>wF~`jjW5 zkQ1GZnCBB#l7rxIv&wK!7@QYP^^>Lmt1h3-<0a9_bPkyF3QRy{etcu>P` z?Bl?->-mijp#s2sv9b<^b-nBhcGOfIFEbh=&dQBF69Nsag1JoD{59)~kx6dYV+L!) z`t(wA$@V+wNwI{&=?y1AwEg8Ru+q*mWXRb1;?8&d;FpHg^SbVSB}KYQlS_!ek%6|% z<#9=E&*n%^zV}p+L~r+Pda@O(N(cBl?4WzY&a3uO4d{akN`4#w4!{zShyf5Fk75i& z2LL?pROK3}7ahiC0D#OT=9zWoSbDn^rx{Y!T5Q!*E1&%27XZMYuSe`(m4pww!vu%~ zKnTc)6EXlKWUs#R7!rut9B8gZdqSm2PN)v`Yvk)7QVI=YS^D12GDOtRNs=-ySFc2W zIzN9a+2u0r=OovdG#5})L}Pc8`Qm)o5Or+!aJYxk1gRr+a&~qOR;)BpHyuL-YR;m8 z0bs5C7MMANXa;Q-fvO;zrA< z1#!lsylnz+((6+Bi32NR7v9-6z^KL@C)j2yRtA`{M>yxH3JtMRHEC)Gz4y7f}Qv*XLoM^ zgg|@0VR`CD0U3}gacuV^72HeHpDS=@>LIjDz-v_fsp4^-=jXmiNjzVUo}Zmw$Q=?D zB)tFNLnmjC(sLDG_~KVCZhzDuysD%?>{A^&9ucZD!K`#_O1dGZ>cLPOH7Qx*I}J3X+QrES)(9L3mVss~ zeewJ$0673ae2M6d?4_(6!*G~qG`Bwr)ZbxqJB_V$6v+{vxCOvrA7`az?B|T7)Gc@2 zjw-+9VhI93q=*BW5WNJ0-ht7se$GCHjog?~?7+>UKl8=4r%h3}Z|Fkp~8s{W$ z-lR0-z_MalRhE3`kdUEcLZ(plVpb6D){J3eCd=vq#W&O^}NLs zRPi_(E;o`9Lye1tX4td|%3N9SaJX*d-omtpwbmHTRs@4Lt;4N^%*{Ou4{5z9DLMV? zzwvi%46NDe$-Fp{uerXT7?`_YWz+%Zs47h6oMuH z9Hmhj3zp{tcc)o?qYjU=AFLeHf`WBOx^(-U zp!%e|V4!*KGnzfCB;gvnKHpaRE7(K2lJcJC7q1vbd+OKewip1j9_@fZ1#_0sF;B)9 zD(|7z4RvQ3hS}t?ORNP!>bC*yUcHsW6xW;EPOviVWn(P)J}DN=B+_R$fu0=z55P@+ zVGrveOI^+YNFYqeGj1q!>_pa9})|%X^rw#he`|NsI2~wTRnk){nu$ z>A#n5kvPclvT}S%t~GsjI+=@IKBj2OaHzSF;>b<{Ku13gvC||iI)a;B6%3715;T+0 zw+tBPc;^yA?Nl-q;=vyRK(c<_WOZK|a#Qxdq|E#!;tux{02*wG)$1u+C2mLqkItbTn*u6L5p~6E7e!OSUkW>pbBK0aDA^ z5gi9KEZU(vJyxFejQS*KsM=D6(!UxoZz#|?+?V|{NrKK?qcT~G)kXd1W)5~deEc1a zU%~TkSqnFb_>lE;^Zjt#oZY%-N7qDLHTzGcffzl{Nv2rSB(N9@6k6%rJ3WvX=H%?o z;QDA~Dy~Z$v3GRaA}64np`3!tQTp=?z)RAfBT^1mVuj`s08KIyjpS*PKy#H0B~&is zl;fo5FtXl{IWotR^9=37Wa$@+fjR*o#vC;acLg~~8Ju(G#bB!hKr@PSq6ujSNkcyC zney&m{xbPp7}Hf{SCD?>p2)Kt2$&6a5;EK(IBpUv8R8eL=I|AHQTmu0IJ)_%KEufV>dEnTBUZ%JeN~P(^Pz5WO*yobv&vYv^Nh!d>eY&%&6@g)` zQ)tpkT6yB6ON<8F zZM3L>h5~L5$-9(3S5>VsNr>)FLnpx|Y>zNnQ4Ii55BIFM!|l%(tM!SU82i&frTwIW zg-88@Rrz^Io;3hDy1i9B!F2gAV8Cy0Jwesar*D&`a=Gbd`snXbd4cx z11fIIxUYSjmDn~d_Oe+@9VvF@3^vyXYmu!C<>6szb(AitCr#!*HdQVwHaxJ>$C_v- z#z876HkuVE)%bEG(u_1inJ2l=K7a=>%Vs^Z1b~)VI1qp#$pEyQ{O(AU9lThda2}Tq zE37OTT7V;*3}~nQbmD)xAlt(k7K;;&d_L%x8l^47mwa9Mf2RT4px=vp88r@zIm@CG=oyiSI63+?6gMY8;UP> z9if;dKGQCdnUZf|&08rWEa}_K1qH=N<|&SUB0bHWsy?k&%eFx(v7@ zvh&GC{v(ye(h}&{xYWwthbI3N?zo51ecT;;r9@&jmGXELHWymtSYK15*hx4yTmTp8 zB*CM(lqJm&=UL_rmLY~l7k~k}@h{PLkryy)8Ips3Xv+7wzEHy&PtKB1BFDH+FWKTID&6jJ_Wo7)_&~-`ns;{3Y0ByJlhpPV;bCAnVpOiNM zHC>whiT4!C+oQ|HhG8qpnmKY*xvx_XOlR)GE)8abxlgK1>Qk!?hrIH*mYpWgCmlz)GobG+bcd-`92x)s4tHhF5Y8OT z!XJxyMu~`V0JymQ=;ZW1?f?s!{n@a%BG!SHus_w?(|X#){hP3+s!$c<^jmADI-dre z=WU!`T(tSR>-i(ol*90l%kzuDVAHN7Z5gv?LCQgDFiVBbeixZB2;QLQ+YXIMWx@gY z4}SX}J&W&BmLW9lNUe735$WNZZ%s?Xz4=L>ZBzU%%@`ZW+fcu!J7BL`WA^lPEje0O zz{;R9^H+zZ=3PGB8GW|3l@XgP%;qw?2>?BdQ=xGQ;AU~>w5}j!88$coM_Q0`8h=7Q z07K_2hOnbNXz~E?EC2p~efIcM$*mG@yTiaH(tWiua3_Ml-Nbct(@sFfGCuDu#i8a6(SY=`VKb}~Yh`qv zhT}LVXQ#Fk_uAiVSH?ave+3nRA~M*F>snOs6(BYsrzd+qO}7cll4e z*;?gn8z%U7N72T3m({Ud*F6GNoTA0CF2$aOyZ(VrIvknyVV$%TGO*o!_m7pj(&Ox0}Vu#P;M%Anx^i)g(-M1A~t>rxs;XIJtyDM;y?Olm|@(7&=OnPV=TEs%Ufp zIN&T|^8lOyI)E-92joCApgF{}(YTMr3mWb9=07n-V=j;9-BZ-6)Z+xHkX_MAnv-W{yNHB0|R8E%h3H-9$9aDY7mpT(NLMq zOi)m0d5x-uaie2i>Sn;|Bp?d0P| zg7#?*2RH+W^|x59Sh3Pv)+cvtCs@&}Sy%;vC;|h-T(QA<0z>lzhGqqPjc02T$`E!! z;(;^d7s)@$H}8o;&|+U0R!0~n)=Cz=hsdQ!j8}h$Mu|% zRTfchy)(x5ViND(yI=Q?+@_E0$C1FAn_HEO8t8#$9nGdWH3w+!L#5!gt}|PiJLdT2 zV}xaS00aQs@%x)O%eW|lvano#wdJk1Y1T(b9Ep$2#Mr?bW@eA;?(2o&qbOBxDYd{y-EJokR0j$8PI;t5JQO~n64N!S-Si~-@Ni^)$ zuK3V$|0N9pbZ%z_OWC3`*mRn7?9Wy#MU!_BF%|wvyJ~^Cd}PcQHl#T985aHm01(li zEp}kBbUkBym$?iwPjo!xk%eliR*JCaDlpN0#aYLJiINph2NDPI>M>o{OM`l0D&>qb)sX_nO^48Wi z^4PRwj?%Moq(o-oZpG8nI=Th9xO|-b5|?0Q9T^CAv4mNfLiZ8(?Wou}Srpe_Pp|Qa z`_^34AI7mZbo5pi`52nZxM#;~uqm-vUD)nWg=cgq3NHUO$LPwWjAj{4qb&Lyr7#n+ zwd=o<&4cFI-xD4WoB^!?JisM+_kh+wb3iY-Et4vzQ=tq_9}Xne>?rV;r#+8Uwn<0M zOEZdf5cSSXv6f)EdE;b@ZDJOQX34g$yxAkCKU1bGArb;I;*3}VIcEhB0M?6>1em7u zGNPo0VUn0kGS-Yy7Bj^cBp2ryKOjr}fk~@Uo{jWrNQC5ZFPnCagdDSepvsmibNUzn zAk8E*)qH#%H*(h}8$PzPmDw$ja2C^hs$hSy;!)QRyt|J${gil0yMUL!?Dyx9`02xx|3G z5-ROv3lCBOfMya4M?@0M*LObiq0j%c#2KBib|9AkyWUm@B&o`oD;=?Hf7|v$mV0pm zKk|}5ifH3~aq!rIRpO9Dr^`_u5 z0K_8h7&s*N$N13+w5`ZI zNboN#0ZJCBW>6s-&+mmod5xE_4r_^87xZ~P>8^0^rLt~UAo&|QNvXkIe@Af_F zWO0fn;?Cw>Xjb3n14hUoZ>8f=_{vZJC;IP_G629B`auaqlkqj@-}>qQF8ON;D9eP- z?k-CjV{jSC&jQvSpf7zZU()cm|5(Hgi^Iz{SuogNpXW-a7P;VRVqy99k(_1H4@|vf z8?i1}7LMU`t%OMfa~L$nEHsn_sdeAY&_E*+#uzk1pdA*R0MMKmXFNukl?!fK@be3|ZiLyViONd7K1snX7zjbfS@5k4DnBF>E8?Fy^n|1OnTJ^=960*sQ!w{U4IImDh~2R zlc)h}a%R>lNZ9y#$htShzhYID!dAUU^`qT?^)LKX){!o0j&ZqJ~cYnqR4FU$xusb2dv`5ySOdjg8a%4Se=f>z_w`63T(vSf3&b?Fvjod7( zhEi!kXP4BRQaQ(X^o~q}_z9pZrAVh(vj^ZxS8^#`I)23Ge)y}&6EmK>FG+(dU%DW;eH8@2rp|Eo04&o=Y0@L>xP?7~gvB z15wg3B5~$KurEV~h%?t`Nis5LoDoS-HJzPYFk%>gk*AO`qxgq2&WIwhK~r6mG&)W(K|FL(%X)I;Z>U5v4twp^FtiM{ni@d2^Z7b! z@7YNDnQ;z>AUO3oJYeUPZ_<~5ytpTg5|l-<($!Az|x8J$w|sp#%M!MreIC? z4rhxq#S@VO0PBYbKO0lNHdi)dhAC%ra6|O8?pMkK81=DgQ1MV)bIl`1_nLuwczARtwB;WD? z7}6ZsJeLH$dnh@@*u!669*7s3Sp>83Rs7;HScz-~N-Ls4aMKj?_`88pZ;XlOS;PsgES4x#Mny>7aWJH1loVkr_$AfKK= z1_0byShU0%i=oAtwJ(uj5*Z!f;^EB}Rt>7goeiscNu1|Y8K~fgLci4SmM&I082IortUCIG?YM1xUQ@~$R&~)mPMSYaJC>%{S1&2E)xI| zaR8jpq5^|Ea5>6Wb{MBP`>Wayo!Gbw@(2P&;yzQdWpr5Ak^eRv*mqn zc^@DEaRVR#2_Tf(82~bJ7WEg1p)JxUzW5^_{_OWx#~w*+q0voI7!Cvg2)A*C9AqFu z5E}p*G7q{Rhhah*BozY6afJ}B>xE$e$;|;sa`;7xf)R571n&AUH~EELkHTHwAdCL# zxGNQs(##qtVVc1g!O`WG7TXie4dZ?mZOtW4<)LCAM4-olbzz7w$TmO~s!;q;{-wEkY6#XuiHQ!k zSDGN2WOwSX{HMPGKuBITz!YM8wVT+na}FZBk>uqkX z8{tGwu-zPw_lm?txV3Sxm7yjaws-H;PH?rc$}R@+SA^z*k`FOighZoeSQ*%}LCJlw zGDh*|w_d(@ySot=wo4B}b5mQ*L2NW0Ijhoclq_}*_hCt`h?xkUB_DGT+a07P2arf0 z0x1ZA>{lSOF2vyt=%bF#Rzv3c!Oct4UL}GssHHF5TWqhN%NI*e%=J$Q5Rsw?L=@o$ zxi7Xa^*u1yim6|m@rK!H8h_VnM5Re$(ZZ|2G%sJm~ zx16yc3`Eo(Awa-#zI^ubSsWG%5xu++ArccJ!n_0kFk(TtmFG4h6R|qyI}?!$u~i^V z`H2TokRQtTB<6*|wPetOX--HZ<&t{xI2X0H_J=#(c5^-0qoc=78V(va`qAx@WPZ11 z&u!mYl+2(oO9(5$XDgBGqFoZ2jL-I?AWAXi;{7R`Fj3YdWUdHqn#5MCTQ8p~Vk=^9 zsJmh8l@ao}*gnhtiGc__|NQ#pJ8`+`$n`}hanTJOd%+BPbE*;s4Oh6mCEH4}I=Q^L z9x6Sy!J-o9N9?BU0IdS;pB10ng79Dam_V56_qK?K_xQ(Xw-`JbeUhe59K$rE$oR{DDY z5T4(C^zzwzumkc8qq1I&znH8pwEQlq5bAU?2LRiGtCObl3qmgPInfaWEF%b*W=2OK z^e(qJ%~X!9J&(XF1PDcl5P{Js5|qJVGu^QB%%mtj=7x?qYnX42)KKB z_q`|YBI4X%F8tN?%}XIdA`FEPfFQu(E&?#dZnhhdG&#zc7D5o?A`Af&pgc}B&Do7m z?+u2SS%8#hv_a)VCi&w#Ko%uPBDFII703{C_5nb5@TQ2}+wcag8e!!*k51c}Jnj%f z8wvfu6xPu6-h6Ss*}U9udpVzn;k5E2u_|Uaxw2WI7v*v<`V0egK!GT%x#ii@sC4pb zH5JK?zOv1yCZKB3(F{#^le;M*fe3@`%fcXrb)#>~5Xuvvf)x;d<;mqvK%X0MDpPy|vS1q3s zq0g?n4ub3Y^I>1n(Fi6L;vp({ncJGhc@5(h*001BWNklc{wA6p_&&Jaj8h!PxVNdsr(32QLlgf*j3uL_bVN=Iqs&-~l7E-7VRViHuk@YFbZ{j)0sy0z@c6&iIR$FZ`JgAc%;NLI@+o8BqX$@6V&WX@*2d0)R2L z-E1Rl8W0)91wun1R*TbH=XU@w2m{w~F(JK)0dWDY<44U7!?5&7cs6BhM;^L+PjO_kOmT|zVFNRsXP(8f>O{$aY8iD!F0^Sv*PF^8{n77_%^}{Q z4gO-vCZcR&80MkRv^{`zpJ*t-_6DS?Iqmc1izKC>=+~Ae5|!{Fv0|MqXDe`c;Pf^8nJ6asYN`pzJf2HwR* z9651E#dp_n{|tKyZ6xX@%v4NB3^O`Cg5;XwmF30N6OLvf08=w1AjyXoAY8}YY&V1u zh9csHcDO4<5QG5{Z8lp*h#(LnT_OM=Bq7Ab`Rx}ko<|wfjPo!Ikm$wB=K|onKl^>( z`qsCCV2gl68~_D~Cr{rMB1FU>3>aY$hJ+Mjm=F9@=g0+gn2d)^`lYD878=epi(b92*0!-m`)?+$O- zZn|n!EyBz;6=fN7GWbB-B|!OVWB`VCI8uh2OtlU!)P0cQpE6#M238h@&V+(1B{UoP z*iny_4{NPhrqaQ~(vE@xft$+dQcq*7oCaaA0RSW?y+aU@$R}5Z!A&V62gE0J5DSN6 z#GQL@J%46&ekBa#tZK3p91W#s^mz;cY_7`}e#c#e!N!h$>6(OvwLv~U ziPG`LE@ISz<7?69-bNe&xHO1GpsJX1D2LM)k8Y;s-D1a7pEG9+LYC^i&k31wVsHr& zj_TTldQHz2xGSc4Dx(DfdE`Y^QZM<|=IXs{t8&lEAIlKorhrL_z0Btf4jaFhqFPQV zm$Y)cLUKG22F9nPG3s!NSb#-60Qys(|K30O+8-KQ3G4!Tn4AWQ(qI@1c1+II5-M~c z;&WCQJsr{)@ovO$8xo`x(1?T-{TBd25i(*?u|Y&O^A;E9cb`6cj}b!vP7DZ<2mw6D zLxG$*fe`cA^7+e`fQ*n_?gYV>;;M!ugt&cn|M~N0SJy8b#}OjrjEis^1RDeqNhl() z8+L3P2mmOA01zK~>oeba`)hj2=6qK(?n^M43R#ZLMMgW2Tm%LX5c9+?cTAK*70ORg zWpy?dX|0ty^uVVJu#>mG;KDUPS9rn@Mc~Zge_DX z0DyDXaoix-wz<>~os*^XspD;NAD$ZavLPsTKMiqss0bU^PU|5mnTi zFI|r*&y7hR#&i&M5pygZ6wyMhr~sYoR$=9Q7RHSPjnA3lTB^j9ETWC%s4|yPf8tPm zLMTF?k$FXOnA!aHcJm_JE$L2!rU;?GSnfT=*arNnK-YpMoke2@fFSgSK92$CGLJBI zA-&Fn$ps0Nkb84t2(et8y|{Yea`)x+^Sih2yu5lrj1eIt zhKOMpD`pUEzxr?gJOAK+{|CN10}%=l5=B@xFe1;L{qdjvf1Aw>V>}E4$8i`E0EQy; z{rPsYK}5z_Ai}gbV$|>iuEKA<{WSz;kQJVOF(&-MczY~w5ax?p{`~y<`u$Aexd@_4 zr%iYO6giCDuSY~q-4NsE`o(s;$z`n~bB5dj!f{7-!M20ai(wcvMW3hF?TmS%8R3kg zksOKXW@EG|_2lXMX2^9V;XV+}gy>|L%K0lAtPTU{hz0;HONCbcQq>g|=yR=jp;-@O zasZ`d^~|lLsCQqn)Kdk$@2Xpu6>s6p)?rldT`|?8cVS3wf{iF&nkiggNlzcV{!!%4 z^@}Gz^H=}I|N1}wH-&5xv9HL@O7+s8Eo~vHwAxBB)aCWamlIaF5#s=Kh?1=eiDu^($*h;LyqK#;6>?i{*t*dQl- zHcUva2ybd!&fGAt2O9bwZjuhdhuL6>5*Jp9rRwqrmFP2C9G}tEZavuExu9*V`sXi`|sZNu_7g>g4xZbgu)4#ra}u2zW%2od)MAOJ%qAOs-B7?H!- z%;nBz`+`Vpwi^H-0)~u`1!2IM6NZ6ESUmwifVeoj_~tv`V2sVY`LpNGLJBn zM1Tlk7;LtiZ3@^4i12PG<_rs=N?Q{u1wkX)8HJaEmE4_KXl6`4e_{aV%kvk{-m&Z1 zFedjvL%%)9`Q>ZxeDe>REvZCqsPGkIbuM_4#lu*&4ke5v4D7ZgIxI`M))Y%XgMQaM z=L9MNG!sBvAoE3VQ?R;~)?R4BOrhEF6$YJC1xgqp50o6f35>=UIf$+LdWFjufBoTG zAN$(x|88;t0ffZ7aK{s^^i>FmLwG~hD(TUUeLXJJM>rOrGLjPX+3|eU7sSY?*@3zs zqTP2z#VHkJ*;A#UDLbI5PM|5!iaXjOT`{GmX2hb;ri!Di)z)uf>fhNg)j^*l8yr{->}R-htf?|aBeJd$YFzwc-M{jOZULS6 zo>6K>T!BzPbe3=zDunUxiqi8{2PBclR$aspwon%qH|()ayi-<#?e~B8mlz|@odJN$ z9gn*Xa~$R@W^r*na;P{$)l?h|qQ1kA3))p$L&AUqa+lvXbI~amB@CEynCo>tewPLUc+G;D@RY zQSaZ5DJV`1V0Y+qHKG66t-FK0Ck;hOs*mOrd5)@!r;gk7Yjt&HGvE2<|JzunG@PqK z<4NY+4|xl!a_ofuy*Q%Nc9OH%@Sb+zZm20yh}lzap&0={t_rj=eN(8EDDPj1;97;h zRXUUA_E3-_-dtpDui)A*!GgM%$!-Uxf-#8_xh|#W|dqLZdf3!l#Axc`?cl^A_9br+#uW} z-$w)>Vxb5C&~@BR%8pBs>#@b4#V~szIEj(WSuKjjPmM20mU~m zo>bLY#^npH(7%3VYWxtofBER+|Hc3EkACzsAKKhJzj^u%2yYalh7KZ1TP*nbANlwG z=|B7*-}%NrF&>4yKhNA%aPu_E5VT?{!L|wIt`IhD%1T4&r-WVYZ6~I#RzH|0L#2&J zz4h$6(3 z|JD3V2=ySH;khnL`mJ}1FZod!!@O@wY;XnNSKZve={J{^u_h;YA zT~&rYBLfiUcVB(^?EM_KKwN%sxVWRTF5e_fJtN{$axPZI+f>w}FuYE%(V%elIkQKC z7z5LY4nW|#t01^Z@0nByi@*3MfBOGK^b`@a$Cx8T00>d`aY7I+5GmRAz#!NP5e8w% ziE&~scQ%`w#cXxDJ`X?;A}6+5tWd!9)$_${ezrPi4sp(X-*LIK*={{=PKY8DeCBz4 z9)_^l-aL8s4j~3%5QafK!NhL16Oq_$t3MU|s&};u*N|7sN&e zgbExW*slLYY3;-|aW2-e0C@M|w?BFJ>tS#O07$N`R>ym9e+`gdJ$v_0|KN8vH#fnH zubbrrBo4FK6#5XPt!}B==mG=@`W$&4H#@2;8}W1{CueuwfAa1D15)d7G`G+bqe{uEl`E)eenrOop?XGTW zF9ByI(VmWer!ra)Ej(UP3iHKq3y1*872yWRfpC*On?IPFr|3o`=FI$?7tb_n9VJ8r zM(aI@{aec(Y7b(cS)8Izl_`(3!@@Eew}-KL5WFz#1Vkp{DxC_wW8?(kCVL|UL?Hx1 zw80<}-e)AnMHnD51QY+aLw`rY^6fBU_+UtYhsx_OQ$u5PZv zFcboaC=5d(L?A+dGznTHzw7!lmu4O&N?r6xM7d?q%(o8fk!DZLH?0&plpY;0(b*mi z(I9S&nh&ZmH^RZhCdJo`7zj( z`Iw90WUlq59r7&g+{nfH^7)f*s=7 zP#3O3Z@v_v5JuJ5jae7Xt_-$DOD8gixxNTClS&*jiXIJ!&V`D6W4Edbu`wg7NlQX$ zpD4`%0RRXjilzMkkeG-BfFTniWW+-e`1AG6%@rf|;^kA9xd0>p&rZ(o-+5)T4esB4 z7=qx8ot&Hs6d(HFM^10wIlsKKTrM3xcikEHm**$9LZbJcJ$v@-$&0IJ+wCS4!8Y6m z@!Rj0ky*auQ!*Vm+bw4@UR*wY z@%+7H>70u&=OMEKJStS(Rdi0ef^-V^5ds<4Z$#mqRzNHeJ%OGM5hYJ7Fz_BlfuBl8 zASOyCGdZi8Rm$5e);dQt$8#kBU~~Pv*j9-p0~4(&o<7Mvg2d)2gx3HeG9Qv%3K5sA z6R_L25P6rFcv7(tfw>?8KmrJn&61K!2q4_$WpMMX@J2$m^;SkMRLG6D%kv0EWhh!? zJUWLgJ;jVoUw`m5wJdDbHpZgQ<>Jk62b<@m0F6l2+8Jav`E#gH$$@?SIj^#_u~r6% zJq(4FsvhpmCRk~1{B;D-SpQ6GX@$}Z3`ClF5~}QmcAEVU|J8p6A}pYFU7Zfb8h=I7 z^DQRLihURn24RDz2b-I^=dx9C5g2z=g9#OiV55H>F&+C*cVA6OyQxD!6t_imvdR0T z*VfF<5t#sifCxy)8RG&%KmtSrKq5lsa5o48*O`SP1jKunuRVMIzRMktyNq*(d!Fmv zyM6EH|LQOP*8lOp-M{~kIiA0mBd5FfU%9;V%Gv$fuf6fc%yC!Cvyk(%(_8c9^4atE z8Trp&zPR3O0qtA$#&@V9N3K4(^llM&eDsu)dg(`9xb_s5a zQhxM~XCuRojp!DuU?F)Lc&NXX3$yyjMgIgr1@2v_Zvm(WX4PI|2V%TawhF4(csXL~ zjy6p~pLN}Z<)LfyNVX>WeEG^-&!4_iXbeTWt%ehz*xK{kk3tb#y?7E`Bf?DuZ*puu zi=Cr`bc!pr+y;}OR1vC(p!jy&U4+4=z7}A8ZNe(A3`+4?)OcdbUJXnAG@VJ&xJE*> z3jlLuaiY!&Zn8Zo%@z?V_a5YbJ$~!c@4fxUQg8FjA{7xj>owG!-wHM_(OE#a0SGgN zxZ`tCApj&{ctWmq^E_paPMN-Dt9#pB#pRM5kko`)j0y!0Jh`c~OcPNnM&hVkX6n>I6nzNhR44JU;Y!N);ds zD@Kylqp1lMJZw=)if58jTs$?e`))Bgkuu>#!iNh;8jP=KeA1BC)t|(#yFmQ^?7eA> zCE0Z*cFwsG@s?a_uj*>{QY4!qo1`c%l18Fvk(5MB1CK0O9?0+p%NzV>4BN1O8U|$l zF$@@nF@`-h4BO-J4|%+emw~p?0G7w1MwUo5DK^(`b~l?{U0qvNX1*;V?m7N(Bi_3= z;@)`imdt#a^)9*#nJ?o-+_=kGzI)Dh+FUFxzj&(j?q^B=a* zSGJY*%!O;ZbbD9weB3apD(beti`&pruWdit%fqIe-T+77j69ZwN1$0IJL<37-I2yg zty%jD2lk*?U*W~4vL%k$G|OJ}`Oe3Gc5r;i*|^24;ew8~S0c%3YZAjt9orpNHH#Du ze5K{lFIr|Nh6ioYy4fvNIRHT1y~Ozh007m&!?)cVD_=OdoudN)(A~M7XF~wc*$4oD zt2i}A29ibqpm2a6=LN%B1hlMJPG{TBqrP4I6yXBv&GYzbl{5vJ_jz4M zLro5Vmk&1(&E&mLr4Ixk7A@xVb7>*-vDUXXbBEz9{_qn|q^iNiThF-JrB($1;$$~V zj~k(fy1uJ$kqcrXlDo*MG(MZ8mSBG8&Zpma<12F_sf%iR#joAY&Ui8;KmbHUKvF8c zdHuPEkM2dN`kkGKAc|t8)N{9_??|$oRUwi92-+le=55MvCZ-6B4-uwRX=n-=k#Yvv0lWZaa%pxL0 zvDOm+6p&7`GnpKN75hA`KnR}dCTQ(+a08-2#XCAX1~kx{Gt{#wKxJahDC%=Qtjn$_ z*~!zvCM-3>NfKa>g`nWw+yVouZ|$>}3@VDFD4vW9zp~ri8;_4pWTYq-J{JsZXEP(D zdaUae2&SN31duP-+xlOd%~xD1GkCe-suvP~m6^)Dh8e6*lj5rpBI_Fp_luMOr{Q;j zK%h)B4>-0n9p|qcRGpGf!@4@^Nxnew4EH7_s*cmhYr7jj%;98#IPNoVfv1bmMEGL)dl$7e(leE!rqkQid1`-BRnbw;M5bWWg=vV2 z6A!Wg-`44{yF|Wn(whoGHH}u|W!P9itOhM@nKv$w4Bj*YVB40J&*J0XXixMU5(xFc z9I1VRp8m|(Ef4@O>I3H%(<`=SWUBJwwGAOeTFdH1Jg@6N>Gd1WXmPbAx6!JQJ(Skd z@chcb3DsawvFhn9WSP{r1{@sRH7Np!=3iwqQ6i8jMF<9IMumuZo)MBE;y@xI>LgtO z&a+ghSP?0rZl}A~-`m^2{O|n-|Nb9;`5)fB|L*5L|M{Qz+{?G$cVqWb_tK?Z(}T;` zb~`(?vjeYw>)V6D@xjsYJ9pp7)BOJZyLmdvb*fY{o{Wf8o@aSExE5IRG1{JB02Pk%_2q#^Z5DL=&iFff|Vr zz*$bT=TDvP7G_)MbvnH)o2+ufo6o#|aD3o>(#ehR+=QEzX(!v$FD!X0OHh!C>@)~) zMXPfYqI#za zo)qN@BLLnA0Q&qI!E4>*004gUxt%yB!)10R^M~8Ih#no)dH}bhx9P1!pDF3?>OAdV zx|U5w3o64D001BWNklVEyA{}e5&eej2ytnNF zXyGj>$2n@JwjZ(P3wirs7yd@qrZ>k|WsGD~X;bi3FoS8ez;@zG!nBfJ6C>K-$i(F| za<;P9x^`%z&0lflz0k4`6po?8fG^#)Z&)PoA^;V1%H`Lw_!kgSK&W(HrnDDGWYFq3 z?r3djI$%5=5E7w^;sgK`CP~u$@lSvDmB09t!IR^dRNTc6fAj<1&Wv^T(o1(<`Pw%g z9~?&1&qm|H;n8F=Mx=2%>~{O3$q>=>8Q9bzEGV04+F1aJ;-0~Ou_1rFR&=x`Kq?bm z?o*pI69_;oif!+7@cb!mu8-PwWd{Bv9MGE^Y0%busHdTJP7Cyznprsf=<|vDq%u#u zEcA3-Yaehy7)P2))nNxfPx*F5bhmds&xZie?cXru2D908(B~y6BPwGU`*85ed1QNa zHX8(&%N`av6AGo;P`mHWB~1=Fj}2u2dENq$1s4_hIwOlOS_~}0_9IL_!`1r;1OTAK zwQOhqzWv76EN2-@LT9q#Fe*irj2RsN=+FGxdq4OlP^UCL1waAh0Ekf!INu0oOfGDo z=zNQR|I&>X1JnvuW}Tkd{K-X+89dQ564^#vo|7h=j*b9e_~c>jPkB{Y3b#<4XX?Wj z_Nz43qc{`PX$jrGgwf!QQ&>HOXB$*|Rtu)hEb}~bkT!4zkuG?-j!T!HX|a*9=Bwa3 zRt{Qgqi(57&4KZ*A1Vs|Ac5#I?1f6>q4Hm0IDtRLPy$W`HZJlYZ2kFP{HKKTGF0>8 zNi8{}XW@c9k(D2f?flQe2gWK|YI~>k&%r9iNi|R2d2W*QJDvTh^*_ao5I{-+E5cW= zypN}L(bR-4pO$5lPSRuHBwUi!)_fBb_t-X0Gox31pg$>`v~ z50>3~`;Fnz(Oz$-+v`6%eDvPIqfwfoic_6OQ8FHn6-5Y2#IR=|q5_d=hYe9RB4z0S z0EQH_OTD68#}_QsN&`gU91 zhgxee))~si6(7w@PWqYpq-O3^+$n5>OV>|P{!7x?1Ar*$w})|pc7+%ZYvvn{M-Pf0 zhW7(gi~-AM?h0{4cOhP?1H~J875{=LDdc4S!$*!G!_K*_M~VxU-(4e5!O6%T7no}eZ&9? z0D%&atoTF(K%(ANpsr_rk-q-_{x1N^VktoY4b%aU7hnFVxOa`t40LPVcJ?k^V883| z$^9*Ua2|Y|Z8rC|Eoy;CjjQzO0+p8CFXFR=BoKMzHDzGw3y?aN_qg2Q!BZDQtyFTR ze%I;)E3uw86Q7OFE7hQ(*U{@=g*KLSwP*?@`RzR#yCxspQe$&a2)jwX{sJ1SO$aq3r_xMIXdkKZl`IEvLRanyl=m4gT| z&BjF0cmMpZ=A3{O5~9+ed)-c&O(N=i;C&zY!cTr7pBzKZO2@ue*0*jw^YyQP{ZpU( zH0SxXYd5c4dFIy57ow!A6p64RA|V6$5fS_R!F~cV;AP(C#+7j3x z)KnZVnfi(X079x~6>mfr@mBzqAZTN0Na@UbrzW)6WFAU&+JR-L;uF}{!HeU#w|bu! zxruDBkb%pWZ=O$aip{o486N{ro;(16UTy;W1QH`r8JzsZ;qC(XJ5K1l= zf8q&HY$F@_=#e3GF5@kt;;#kntX2mDhbt`^7?-%AEch*~p(NsGfA)wAEZx*PIVSqZH!;u&a>K{a z`n+&<&4ft7kz7O%BT{*};0%H%5iSX%5db6A`H%nle|YW63rH%>#=u$u9v%-A#UFe5 zFWtZY#{QN4EWtd2{_g(mTi0vgDj`N%QzjVg>>WKEK7M$AG8}_MgTa6Wa-9Pr14ODT z!U7Bkd7henN>O#tUReYnoz5jik><=hgNTt4R4UpNo|v6p1_s(SNU59xvAlX!Scakj z6k=o{Cd+9noVUzykww1L?wD8HXwepTcQ_Ab^fKqGZ}PR=WE0wWJg7;>MLB1Kja27M zt-D!2^98H2A3VO_?*3wpTLi#aTj+VZ*SzDSS`?#ONcDuQ!8Sq7Yf*pA-6H@2O3HKh z%HJz|Am~#@Hact{-Dyj%QcVw{&+@5+?s^Abxod!Gm@Lk-0YYjQeWeKNd>~Sy1k%pT zpxQBHNZJd4j=NVlAG?UTT~`3B5f9G!C>BBGk{N?m^rS3cz`fmDd3sojC>Ja8x?(V> zYURd)o0Q2_A{Rs=Kb;`J^rykmqwR3`Y$UxMgi{!VQ=xP}BmX&AvcTs9m_j#2a44JHgc&{STd-EMc6(8aN9OvlA}|XGrsjv zt!`g&iYhL_to`-hd(F+&KmZ0RUrMZmN2Eox)18m%BUr&p!L& z7eDupe(EzH24BwD+i$-;96tHhU;G7+Cb`Z#aVJu-#$0u}QPSxoJ46uxWO`CU;fNHK zbQ}d*he!ot4v2u0$zhfa%XnujEs<$@y9QwZ()p1)K~keSarvMPYjbf%g;sP}!(LY5 zwS>4)O`QeP&>A;SoGzq zcftZ37kpn&wu%+93X5#n?B6OkL{ZzJJ)@W z@J528HERd}yO-}+y~WYd-Fah$0Mfhiejg+){maiz*{Du6RVV56V6$7&>8}YrIZ^41 zr}C9;+w`VX=d_@K;QFcaNSrRE`{{y5(p=JK)|t-U^@0hJrKW*qvKMJF%!Tvp00kfS`$4BwfX^)}y?^VuQjaue+J*|9)iXeSK#~9eql(G{O9sHVzxPT$KK2ID zAQB)x#j<6tKnOYHcrty!dGLXR|0))kQV-tuei2(}LoZF|>}SFIXZgC%$nt;4}L}qJpb&+qPV}mcO8f{>;CntFMi-7JJIg->o@Md z>pvTQ@x>P(KRzA|248>WtHK1Lc6Rpq{VPeQN0hKJ+7KcY1ELhM+X#Y$k%{j{pu%i5 z|05A5VuH5?NOcP8=i=3*b|_Vj45Af$DxSo7(J%|3HcZ)h`H3_VJ=>EOt!$snt$s0g zh2!G8Ko;40o23d7FG%fT#CWY^i>s_dr4k=|8?I*ocxoOr9Nbci1xZyo*=VsGJbEK6 zb&He;7et=>`gS4(xWy0WZlyZu|6D$<(1vv(=As~Nn@2-f-PAY_t8#B{y+rMT%Q&@s zLQcAS&7y0VYLyb2mAJiAia$lkZusp2U7DUpa%O_Ki)DZj07RWjHPuu6kPaS{(}bRW zVp7xWGc^DB;0*x4XeZp;dMXu;9)I6wJK^xr8^z?JI#s(fos8BYKw74oBMzALW0 zGbq4_gg}VMIz^02)EEJ&G&@Db`_2#vh~!9#m0=y# z0-{l7#RJ`fgdwbzsP6Q?1iRA-qH@B6~jenO|6>hzqw^klgB(=Ry4Md;SyCy9rNfov#xjhx#e4ll)Fn zT}lns#K>ZnzyNPVp-$$wOHwg7I!mACcR0aSsCu(hqeG z-R!NQyr^Bfg;BQc#C9X|W~?+hi|tlXFw?_ZNk>o0N;RxH`+x+TuTad!PWpJ)@H$)|p`=I&RzXkmoqWSLb&XqJ9D;1k4V?;tCg%JW0MoJ|}gh>1Q*V1&d zyL){!I!@wVue*oHmoMKWf-6@qb$554fAP-Uw;!jY?0et+&a=0kNhik#N00Bk@Z6vO z*{hEp4C1K&&2PSX`Rc7pm!A3ZAN}FugM%lB$AiJ};K{>rIua1(d@y{1h=ftDGsG$B zvlKzj=4VnCeGLH!pb3mdKmcJfWdm*Cg7c!tBEoF+OzgRVj~yV!9!#o{qJodTv|*1F zFQMWc;cUGdZQU-Ucgvh+9Tx!rUJw1?*;^E=)iQO*B^YPAkXVivEFOj@IlN|v@`HDO zP*TmVODRb0SMP95fj0j%9Ub0V!Hrb`eugEK%Yx%?=!52brI7#r^-yJk1`8?nBJbk6 ztigEG0m}yigH|WsSY<(aGXrclL@h#mHFDk>otgONV zHgJ)boh)vSQ5QI?Ia9Tti(q`O%}D@^(JpZ6UCkE{u-LY3+u&uot%Z0Nt+#U}&&G>R zRbyIWQ>qk3Jt(7_i`>prF6FU4BXu(byN%#18gx%H`bCeyhk;1Ltund*D@QhRM$W7X zTyJMT&n6qc**9waNDU#X(vFt^kSj)J>Z1V=3_KTU-g=&UT81rL%>sH8k>C8y-`wCu zF+15kmFJ1ijcgcXT--uvxZZoJjqMg{a}ZXgK3;KW=7unNB8)5=Xt9bA8syc?&lH6% zDV0G1K$?vaNQ41NQ9PYULPDI@3c)lRzwrD=-u%JWk~m=z5dFbBA3r#J*onJQN8P^t ztWtF2#_d1-|Ni8?dk+T($3OjZpZdH1`)_~s&;I=JgTwoep1k#g?~ljh&wt?;{>I<< z&p&YIM=oEw_04a+A^^vO!=0UL`@```yZ`{>b|h-k4^Gocb-tE2=OEJH+G zUQs9^cyS>B0VGrNqqa}khbc%cH(bIyea`IHvgq()3E_)snXK|%Rw|iCSd6FFRS(*@ z0ZYg`KG;HIIyh-V@xc1Iazm-W_9H`K`;g|8wVyp?>gF**$A5zLih7bIzD+nx@S3|;pUHy%H&pR9_#^(fxqYy_yv3Jio431{1lxuDf6 zH6Y-mBU`1NYTLF=Qh(1E^RifcLjPU`ji!4J$`nH@^KZt83C}5OdKtEngM_)X3h{us@EVEbjX6! z`y&!YEV&^=t~?xp5C~Anggqf5k_f1%%bZ`@f9B}uJ))Q}ilc5P>Fn-a-s@d@_J!-u zJoEgO%h%!#jgF65_{Tr}lZVF-q9{)wA?mz!?}t%`q9}Ui<_mxImw)Lu{H;+;GjEco?M z-=iswn2P#3A2te*3hA>1psLECDOc$khlh&**q+ly)1q-N6gyW`w5#)D06^6fJqmc@0@N+BW)8fa z-Bmid2R4E@z@yI_-x0Pu^y@~^!1?XOti2n5t23a0=9 zDng1W?us6(ct`ZOa+xFRPgQJUleu}u0vto*zsPpO)^^E-P;FazyEd^*-W|Oa^=D$S zZR+Z>4j>EB%`4wiEC~#?R7aY(6y0C#OjwaX|1X9FnEia^)(hjo699x|Qq9m8(uIL% z;R(D;oo^ajJQ3UZ+h|3`Rf`n$`?s^~u#AkJRx;#DAhyAsvF5;=PX$CoN0cxy0(6qT zp}YVv$gUs)o9Y)LENo&qBh?v?4*}ri5C5e{2ltY=zuUWXdGG4p&gJV@u8zhN(J&s5 zhNIE(@$p-4z4_qb!#tz=4-X#Pzkhgi{P^JUYv23c;lbc*fBO1^#|Q7c{l?+JqYvEq zu^--hBhzV~O*H44b3_0UqDUkMVFA-0(wt#Y9We$&{frtRxU1L(>DhKhQ^nFV>sBHNH^VS3OQEZNf3p?T#2&(aUt-M!rF?M^1c(-0`AYB1|5 zOUO{!F5rhL2jZ(SrDSi=TlK4R0hK?Ds~zmV{9xd zjQ|MLvEbB7fsX}pA&2^y#J*q2alHc;&||6 z>iRE&J9yQ^TzU-*lq(F~9K(FL=yUb!cdHX?z&!pavDg^356&O}$+ANLu-BNPM1%n( zj&`|lCNl(1?gAAP6WRh=_>KKl}2N!}|hE zL`mFz^!VOC`OE+2tKa%EA${~ipBavh2cyTB|cFuGCB+{X6Nlf zzI=n=mGH$}r1F#`8~^sd`?tRQhyPnC31|I0esXtOHV^=HHg?UV8J!eo$F=R#Km~^C zu1|G z7ff=q>X1~6ZQ^KR3pmEX(ftY+QnGhLXQ?fPkzyy~4C($4U$fLax@fg5u?|lQLD&!s z&Kr)3^Nav!tb2oD&;P7M=oaxj5%<;Lyt@c2B=K|AyrXF6S0xBWs`fYj)iz0p!_m@(WFP)GhW$Jv34 zPA>FN8&y$0t?K8zF7YNpBttk$6pJuU37|_BXf&6LAgXuXd+qN1H;u$VLs$U}Xo9Jw z44=j%?uzi?(L++IfU^Ze;Pp3N?R9ppU47r1Z+|n266XBi$&++E7U6@#2f{cRrzmPT z8jmI;VR-wUw;;uz`|L0Oy+8bI3SqGXZ|05QwPA_AaAq^Kwe!jg+< z=A0-hKdiXxh^P<*F=kU=6ie=r8AYr$BUqAeTH#ado*J0Es+q zO^bzuKCtQJbWrivG##6ThZKoiL=vHeZQvGDPKk(K3;H~J{HYH9Y;E*<`*~A9-U4|% zD(czJdlc`u=V~s;;Lc2a*AG zVOAgkXH}O>&nYP(5r=GKu?Xk|&^M3A(zF^>(iNQ>xaj<Fez6j%O$Sk(;YgK;20I<9Je3~A)QGQqsub3au85{%=B4xnitNS;{lVd_fNJW4g zDi$3_9nCqRLYU&!$f8Z$Gy-)yyDT{oDU~qmo!!en@#8=D*`NHyKl!u2|M1C!8<%f) zlKyLNeZAk`zx&=>anw6Je4OTamQLP$>$QGw|Ni}VzwzC_xcA;WM}sGs&fmNL&aLb3 zKO8>H@^P*wEXVisW)^;wUd;*Aa& zuFRq)u|%JRtF|ASa0IHIVN^^P3J`t3ycoCTL^p;lC<+!uJfo9H5k9S&dlx|}t~geg zuihSyj?ZX7s&X>V*HAM#>FjEq+RnR*dKNy5rtl!DPQiVj>`6W;H^Ox1M)R2>s@un+ z=)t5+K;f{p8d$^ZbEzMYD8gfsWtI&|9P1Uzd>-PQ+MJVwWZ_xwpE_C?ZUTE4gpy;XS`Kar{!hZ z*!|)M5i0VeT99hh-M6?9V8)$#hSDO#Mj9(4g-Qu|3-Vx#pjSkU z%1mkj0HkDpMyLjN2 zdjJ3+07*naRB2hvrjzv3bcBd#v@jw9l2Xiuc^RT8768Jy*S&;@N|B=EOF#4LzyA;Z zXNCCa$=zGm-gi8H^3VSIU;7_^>p#75^;r?7IEp*n-}>)=`*T0{ksDW^ouuh#G|YIU zvpk|C>GUVrU_2QBK$eX(=cJM>p8#t>VJ;ZeZr}dc-Mil?-i*jMKJoB}uaqcrRO8wv)xE684~yMVZl7fL zR(kxdYb2YBo#Z@-5=0W6I&)W6C8Y%i!uywoLxuuw|LPz8&O%cD)Y0dKf%tW!&+0^b zyND07&=(1|ZQIUSqsB$IFeBb8in=bV&^o>1JK>0Kj^J!g;B{VBFZUUh3rQ+n6W z{?cDrR7$iEs&%DBONoxv&o%4*n}qd?7k&0}Yj9%@UFFVef2j+M)@|Fywyk%)j^$m_ z5txrIKl|}AQ8zBHApnp(ZDACJ@-b~(TO2WnX_=$Ngc7>{fggQF ztSO5SzmtR&ht$G~y<||0`xljfpz2W6FBTi8CHm~oXjaj#I~rc55wVP-*{!f3?l41u z2v`>D0{~PiDvcB=$uk5Hiyutq(&02?}&a}EG`o(gLO6yYo# zj>m^-I{Z7o`(GXn9!|1sf9LuqKlyX}yVrl?pZ{xDuH5>yf8t+$boB6@dvCt~g&+O= zmws$#_u6}p-a8r`W?JWYDxkA`czpbxa2_dQo*)VW=zL5dfDE7s$pHFy?|x%iT@5jo zS*$mcN{nTPs0tR2;y?7wAX;*O+@H~4zc9#6v_*s<(6L+3+r?oMu5u0D?Nm< zIsjP6urgN_)sBmMY72dyihVn+R+pa_4%bIN{tH$JGXTH`KlC#IP+nj@jIE!Q@X&I> zkoB+`eFlI6eFkvjmgek~8@E0L004aD+8t|5^4cCTIC!s|po%j~K3O4d!WIUwY;kwu z>?=w4vU?4?{jsM&)s(D#rPOwM1DlWlV7V%AK`GHdWaK@P#MS~zLbS`S`A3am(E!wO zd7=OSO7vNZ?NBf?&rYfJ_+e=yP2qk{kMFw5Zn|vTKJ!F$T0kgv#JUTnw2}3TN5hpk z_l0S@dsmK+9xr7dx7TwEom#Kui`(W-7UH?4g4ssBo#c210+-C1K~<&$b4@K_pbp+_ zrYP$0Ix^0lj^%{DDCTB@4hhfZcFSzrwr!Oi1|l5m1yN0aPu3QxnfqK)R@9ZZGwmXv zamqy|f%n>MBf*J8KA}~y2y|79Cx=-JLcy?gy)WT1k~QnS;yqyu!f|JxSqp2{BTqS| zR{BwuVStr$4));)#ZAiIn-YQmAaT^q@-b0VaJ(QIG#brtA;wWBD~%aDiW>kCDULc> zo*5vR2oa-5B}fW|05kz<5k!@9-tS)i@BXtt`nBKq(BAIVgTr?|c<0CZ{XJ&=`Op38 z-~M0!i!@6CfLV9D`=imJ$VixlH6TVR21Kn>&AEtZoeQ8y4j_h(qae-@jX+Yoe(|Cr zY{Ilf1QA6TDG|=x5knR2>io!xCX>LN+6#bOoCSRlgIu}(Baa_^$G7A{_JNeMAmLUjEv62({Z>`}Wn!dhzPRCH)x+$%0JAg*w!`U@*kE|QcEnO$mV|!u!==IX= z4?em3x_f7fWl!3kxJF4QPm7({>Gdb0;Tok-(z}$7o}4$CiDASUw?Ol@ZQHiB_S`BO zL3{wBH=(|?d#l1c6qzDnU9+6W@-(ED+ZwY@ktyMznMJ)GnIZd72~Dt3V`=1|l$8TE z36M-RHk}P!WV8NW-cYFq_?!Fvo5SIIwgZm<0uDohqFB3SyAS|L8Nj!Ms!>4Duvl0x zZWye^WaW|)0YwS{NhKm2MIA(9&Jj?U2?-Fj=H1=vlXN&3J?bX=KmUb)`gi`|zj^-) zpSXMPbt2X6><>qWB7mp_wAQ(BMktzd03ad}CQ<+(B6*&g5`@gT*{UJ}00Kf3G3P~4 zxfId30=hf}sh}8z94P5f*b3MbA9)U&lLME+*SG)e@381+SR5I{-*B0v;9fr73lufTAw zivhkw%nH^_VUp##|6&WD2%sfCV+fkLW(F)|TGT;*oVOn4o)dUcWBZ;|BOeo_j_@SV z0rU)h0byhK=p9=t;x(>(S=_W+#nqkLjd>Rol?(*Xka4pMYjC60TJI8&+F?C#YA=^H zc-6`8{5EBp+y8YvE$Q_2T1&*9@3!y>LCa9U9=BpBKG*&>uI~=!Op)s5d(^wk`M42Yl%Q8oE96B{*D4j*EYMn-SZ%7nUmW{& zo_mJwurHVC@AV<2aW2qx(OX7jd&|KU6$nLg(OHNq%wmbDYe2DTH<3#g0RWI?1Gh|& zfnp;7A&dnW0QUE;PbLE_$_Y|&ksYo+J%~3yIb0^r_#>c5SxN^Zht?| zRx!(Ix^#ob2{q3Mi@I~TnoDIp!Ab0(#W5nN?Uy-i_sZ>bbQHWElaiM}BSl0p03vmw z&OWdf$pCTyLe&FF0iwAP(6$Ke?>?8Mhp2jG1aX~}(Zi)sUSBaV<_-%7Qgs`)ZN1(* z2Rx~|qNyOrl}gA_AgcxfT*U{e-o-1fK+I0?qXS+Y20A@Fp$2 z_*#(?ANX5poTk%vRJ%wf!kwJOh7q7Ce?>)=-J%?K8NVFumDL3$yt+^%oz|{I>R9w9 zxK06GoP@8cFiz({@@b2MTVr_twr$%PuAP%exSo3f&Z{R=kE*asSBbZL&Ccc9gM)WY zV!WfIm$#}wb>261dlnAwgyO=rBE!mWo9J^cJC zWozJE$nDTFCa4OL6cKQRQa)*YBEVJxQ+BjGJ@L7p1DU0mQkR1d9 z5CMPHWkdw2hS!Pt9LmsVEP-Yy@aVE=p&_?G0z_0qsz9+th?M5s)HNhZL_l+3!h`FUj(Xsv~+*e7y+yM8F6sQpp}` z4M0d8kuhf@;1nRY=r7Pshnn@=iYspjCO;W=ddcrfk9uMC$gbZw(s< z!=5i$2c=R|ShF5tv?KY@H8!y1h06dCC;6O`4`g0pLtSC$|7=s(g9NGcj8cRoYtF&YGZW=H%XKCInl%>{3^N4OI@ipaa{-;@ z6Bey?rgbXJnzaas05co54Q5m4P=g3_PKp485KRqvL+(suV#gQ|M8vRT3+JYTAPgcF z|LN3_liC?JgJ@%cupXD=SvN?g8@!t5uJb1|&%YX=T4$HWK)tEyQ@F(nlohrcE#fYP zDPpUZ`7)bj9q2PIH3%p7P@IRiQi&?+w0j4WmwA^u`aD}sO)n*e z1H>R`h7cbSBoop30;)>+h!kx6I-fp>MuO9mxhz zRPo0D>%aYvfFd6NiYo2_$QOR~Uj-21jPvpI{!!eSBUEv{_#;(ST5!c;Q5f1VT!-s! zi_TAXN2BjQt|ZYv_mQ7oB*hOG6d=`lhEaE)qRt7UEn6h|)V0X=K=C51I%)lar9nSM zEuDk9>JeA6dt-4U0RsX%BEK5}u)X<#*9yMCt#SZ=}%Q9uAqz_Tgq zCjjKsEVNd&InOCzYhfsZkD0aBnXt||W7ejOVXkulV95}Ph0Q7zV9mMl9kotb=OP+W z8CqwSTythZsg+7Z*m?@&Is*}5ZI&ehf{5YWD6vZu*{u*GMACW;rs!e;GYJ+D!}JWp ziwhutA&{M7Jq!SV5n|%Q9T2b+SYsHF66hn0HhZvV-9+47UBfG2YyW(3#1dKyg>j^x< znG1tX#IgAzXCS%oq_=;IvqP2af#j|zEAc+bqU37j6_GmbmfW*mjeY!D7!J`jKj(qj zEUvtA{iSv;!}MjRB+>PtU1cL603do~O^R}l$?HU6AqT1+>dQXvi%^CKxl2?+%CYg> zx1tuMc1kVbJQ8c0RICV!TU!_HF;A%}P^slxLyaj#d{h{QH=~4=XMyli9J*AxZIER% zJBHIk1ULsojQfB}buUk6aOe7m03_;OvnZ8RiEEo-;n%+Q_bJ}5!wz5iDCUz#4dQjK z9lUV~DSTp_&Yj+l%dfg#27s-fc~+Q$Y7z=t1o^2!RVJf$jN7OHB9J&^BcrNs ze&{ELPwp4FDg|8Y(Le^GedAkyUKb<0EP7j$PVMbcZ0Glu1e&Cf65t#tSuX2s9nuDC zY-kd&Gm5u6eDHR7K3lxVOiHxsD(4elCeTww$$I8{`Xu-zw;|ORuTdb4-5V^%$<8&M z4V|D*>X?{EoembPr-Hs{MnZ?Qtl}5+VX3 zlA>5l7&KC`NX*nAAROZZa6qZ#DLC9#cXsmf{6aqC%*LVz1Paa22(Y(PxWoPEi%3_LOvBR^S+*WWj z&(g8YAgB`bsn{*%>)Mh<;#n}oOf_V(7PpldX>3TCG?4$|Qo{4BOq%sPw`4c2s{;rO zI4#1tbV`Gx;+=4Ly@mT`&I6WW_Bb^w%UfC&luE2_W0)+0YkwuD0viCJWTVFb!uc>j zxQ_r(#5>!o$f05&akwwgN4P9uqGtpE6<-z}JC7*-m>AJ99zFtqAN%xQzIXR~F3Z2T zxN~vaD7nJgz99w%R$NI{X9Z!uKEeoqG3o+WB4n{z(x7Znvd?AEJi_)wwKs65!E>GIkz)-eTR?#s|c=Y_;?icU&8JImd7G8&w< zz+LX$@vLWLqnk8gPg}TQL2Fb|JqGGrtb#@hyK=1tfP7YFu>3A(fBNk&tE6Z740i3K z*|1QuQ$soes--oY(Na30id1*ErnI0%e#wla?32In&vdW8xYlUUg*IA+Agpql9Xi?e zViRUQ)3A2O*`y;ink=DMfXb~@IT6XJ)c$>%CHtwK9TIJ4bJMj`;B%hmdV!r|n+_fV zM$;fi74HeBvph!=QL>mEo4aVe_2Qeo@rz)_km}4cT*ddV_%zp)4y!rK6+G&G=3aUa z0MNoL>NrAs5+`UZLWsVkU35dbIDk0YdEEAZh)7mOU`UBbiqBgnpSpJ8uuHNCOVJoaVWgSOJedyVDSN$fEBt?C;_%x359^tMMfz^ao+>06}lU1 ziUX`&2_Pv*4xEFeASuYi60lTbc|w3Vil&ZL6i@-4bl9Tup@Ru}mW|F1EJ7ZOtYb#3 z0RZsISAN^NKf6a(PVjG@J_Z2mhE-D}PA*k-&8!ad)JoAl5roq_OFs6M=kez{XhYB;!+gXz*{>pyUw?G>r2=^QtIY5d(U47;ypSdWF zMhiB=fOQ01&n(+nU0iSS0Rzad{7e5e@OZ`wMFo*g)VmA-sCLRLHAn^^`!_!9BxX70 zTxo=01d`EGLSYvBEjlaF7HSsXhBALa5wnmqoU^L3Y<#ZJ*hSx+!UKYf5Q%QF*X3sF zX~*|j>kBoh3*hPa0%ATon$?#VYwKCag5>Gc^y%zfZ_1OEH4mofT#t`yxU;kyir5gL ze)aeM=J?=;BKl-@P)i9fHJw^loY-1Dhx`P~QWUNQL5MHTE_`z<+(2{&qG8)EjNDrp z?rL7dD=}_&n=o{60TL; z^Lcl(U$5VO8Gz&7<%0XNBt2}wJu+8`lx|xQc`7ajN3G@sW0xwSfn*a(8V7H!p^(Q* zrNdcOjw1C4HRt9;Nx}9!>zgyeSi~I{tQuOU0wBUz;Kf*!7DOei0f9wFQ6j=|)M3#g zjHpHe0E>A|q)9qJBm@*d z0RTY(G*VzZ83I5YC4{6@jDT_6LnK5(PzGxTL_|W25F-Euh~gYY6q6ez`-M)Itn`1W zHjr&I^dI={=*k zH&0E>g^X7jv9);CxVC4B_T5ujJZN3I16LSrTV_`Ed!7x;&!@E8eh`2NKuSJ@>3>e>bU^QL$)%I{L_PR$9;{J+*xl3h zp~%uF)g>W00AL9ts(8-=os{b|NsCET{)LAT0KqJcqwPJbTL3qghQy@ZimIGp z<09X}8Z*g4TcB#^SP?B4(COZuRLl?SjY<}&n(r(C${KL4-Ln|vSN`GO1%R>;w*Zd; z2;=>H^Z)=v4*|G19l;0yKKAJ^IF#Rd>{-udQ7t7kyeIrcI?|;ZA9!;A^+L5sgGslUWL|a1G*=4GqZJ2P z{DiF@17(TY@m}G{Ve5frr}uti1%0sq7rtSUnEaG+8FhL)Cz&#JPR);t@Lr@ktS9pd znlI{p%UVVBW>3d_ySi2Xk(4mkh!Mf{0|hA(nVuPxe=P}xD-{YC>}tcKn|V|u;7nC6 z2;HQjiO6?>SI43Cb@65FiUqRNb)3w76QW318>$MKBIX78h8a;ZlSe=zj7SVzz$vIi zG*PVeq}RPX8b2}A&sby|m^;&ylUhKaB=letmWAffLJ&znV%5#{SO5q~#1x4t<`fI| z4@4kDr8$$Lm?8=kot2q4P5@w-rtNcgL=?#Zm{gw&?^=9BoaoNTlFeI zsFpGWLi0lIxvWVponNtkqJ3Wc<|k+xq2J2I7$mdS-tu=w)hUYjoqS7@y)-?thAsB- zjo^amN6_hApNt;)410USk`?>RVc((s(<6Yq7D+wNFDNFiQDHT45>n}&)Dx=8pN)#F z937d`a~`=wB`D7UaH;r{wNA*bG)Mpp)PVvZ_N_@uz&YHiaNjE{3R@O|xzL9)dnr~H z+R@Y^&_QZ+86mkHN`1qya+g3s5%+pjWnPyAOo-Zesh;SOtIK#c)U!#PI>O|m7YA2A znh5B8QQkTT)PS0e)MWU0d2!!F%UiWU&kshtUe&S;?6ydS*;O8NfyZ#$7V=KhG-trgG?7{PJh!qE10o<`c_o&W4+{clqDVxG2qLk# zxPzd05CMaGvt?+Nk(C$;=Pja@XJ0|;g5)j{2l!Yxr_9lzZ6z(7@e;iPy~(@#Bzkr8 z_6vjKCyhJn%;lc={PYvmwp@E|_=!l@Z@e%ZJ_+<)pW3RZ2E{Lh+LKDG10({FIO#L9 z%fT|MNrI5Nn0dfm!1oyIv;Hn=z zvTp~WB~{3MO|-!J$~vi>$+49=1XV>=@bByD;24JeS>KwYi{`G+IzEd{y!LI4VO;hC zy9{!DJv8L|LfD+B%oqAf5mfDjsCSj~@$Bm+zh|aLIN5(*Po9)kR_-pC&_T%bEQc+k z7*Okww$zx{u#o%Rnm0}41XRM)i~?-OYU{K=jje`0x84Y|xGHePuJV=EEv2()pa=w9 zVcqhHp6k0iyLpzL?!G={S>YvF#sITWbG0sTOLJgYRk)6jjXGktdf; zmI$@J7$O?a`Tb8}giZjYBRYX2`HP^)a8A)wT;hnRyMHZD$EOnAj~8NV;A%4%`CQq` zR>Eq*Se)@8^!A_0(-9yNB_fvQl}fNPwkXm7J_vXrmPy;y^p+E_;q2T^&E}dfDlUCT ziJ=r#s;~xyDA!6c6#?UL{x|?g6!k;|K*}0`hQx$y9uKrSz`}^rf`L+i&L((S*w8B% zWdnr;L_i3M3oZ+>3uGZG0Y(4;4Z?t82sg~%oWNu==`z*whQL}70g+61L>Lf>;v)DO z$o$G;4kwEBgBT$ykqkf(Bc!M#cP6Ax;gg$A775N&{#!XJa0AT>LT9Q)z(v+-pMqZw zQh+7%raMO!Geg!Y!{T!(Vcfg=L7i*hNx5taz1G=%R;Ne%w>~x*+;=1b#AC|}|XxrD`za4Rd` zERY4$&@A-%?1xk(yRsOI9|jaE2FxRAVRJ~WM7uO%PhLe1;Zt;5TeIW?R7ovGZgt;a z+g$DC#IS5zUF~f3PH1Fwqag%~5L}c}cQS6lP}y>2x2d`_S18RDZX0I-EHZ-}F4}`t znT!M=6m^AlVQQ#OHaRp!s4Ti(DT7-Lz|FPO&Csw*xF%uqTB@W;Nq}lY=0#pR*CY1I zv~H+Te?k?2uryZ*??z>LsHUn}Tn+VgE-Pc4q3{Q>Fz`wM8sjK2@~MbCH&M}2ybB^l zQKtxXLI9_L#Lsr8|)k{2$oMoBvYc$u!4xl-tIG# zbYKXt_x9cgKw6Ikv>_BBl^CXDq_|{6b(l0ey<0jzw#JzpBLpMgsDg`GSO(#&>Y%&E zB(JTRHsNpWB3@fTU~~6$gh=a2>?@RhEOQR|N~5~i!b=Dubz&~t^7WQhMxPf$14wnn z0h`wE0ym=13&M!P^VDK!Z0BlEoQxg=2vW~A>BU>GuWV7^%u<)B3^mFNrvnsV5u6f6 zS27{kyGeiibHD!1Ti+- zQW#Y!p(_x!S}nYCex>?$Yjtk0ku#X(UXXcrgRpa2_n_GTi)CxiO{c>Tps4xha1lqD?VvegRm z3xKGU`?CosY4T3O$KLwttBhM49#SuH{zgH6n@PQbXR>;Ulx%T_Gni2OFdX9EzLT-y zRIM!~_|(NkRjXMvZwB$)RJj!9pZ}}>*7sli^0I?WEvf~0c@mq!ng)Pd0$EP8?lhFF7zL8Q~!&+{>&64nA7slMh3B4Lqj#voEsc(5VU@KRdP$F(4s;iJ>mm3{r8Fh2-R$qte+?75bk+ zJT~(Q`EuiwZ&lQ%AaE$+#GTppXJpaW&X_k5D|i+Vb=+ZWX$*TmJP`7Y!_x1r0>>VucQgWb^4`q0r78Gq-kZ+kFWrU-;o)*eJf5d$lVnYC3~u;67DK&29v+@Qglb(tF{ z2*{!V%DRR{csmpX9S8zkDqmCTa28-*o(~g%DAku)*(F0Z0#Vcv)+MeDySum2Y={(1 z0dw|;AV|Vde=^Yd+>a6{oz-n9@90ZUkxx};TdDDX;gW8w*j#H|ND%lbG2$w^cqxkyZ zE2cL+l60&TsRduxT_-9*Lsfbx6*k_PEV7PInj?F>IxAE`x1nGUED!}8IP6EK!XY#= zD~6Q&dY~kXdcaw`jw!ac-gc^>3joBkN|82~s>TW1Df zAosJOrW0Cb$=FttDxQ+fHJAIS<5piik$`X+LWN}kLl6ce^E4tQ!X`=@ z5lUQ}Y=G6E&*eLq=_dh+qCV@?L=hs!-R|W)9~trwHUaXe%=Awt$C2uZ5!^BEq5)U|9pv`$L6gnleoAIXh#uf(Yl7t9_IpeC1U#(K@ND$5=& zXG7M{Cl(27Z9dO~6Q#dcw^1E*;w0<~oRt^9x>L{~J@D3rj{dl|gRF zSq9*e%^3pJO!jM3fc1**z?wN^$bX;F>2aV)4+Zoccq-$eYEk>K5@TM`%g{)rEsL+= zdBSRbK3u3oFod(O+IyGi+r?PpQNdajM{faJ-n;fvI(k%$XXTJpa=-*tzp$=31)$!Q zm-5LW$V7FoOFo?0Bp^}$24};`;6Y`w5W31AD@X0|Rl*68P7P=3vcIse;$K$nL2Jtl1~bEzhXi2uTS$SKGGc_TGOb}ny)Uz| z#WJq8OkUZ!@|+YDhbWvO5@H1A46$%YtN?0k$fCu0CN%oM;)+I-d5WxVtJf<@cxivB z_GoYea_tq!R%h7#r0JOU#TS3XhAI>(0341E3*1yihy;iapWFi^Ex9=XU}g~knZBwJ znrLNEDq<_J(OgzQP9P#$L<2B$3LqjmfEHmBnJkhQ^$e$9w>VOyNJ@h|JBs2SOAbgP z*=YPwfXjmh1`w9iR6&fQex45yRj!AGk;x)PG$j^=C>CI|W=aT}U5gIO<7yNh7oW^3 zg_yi%^4Nr;eTWJ9_`xKAp0Iz3VqET$NjqVPf$&V-+TfI$b1`p^uOF^GDGKA&da@8G zO!Z-m;$Gm+0sv9enP;^w`e+UhsaTfnT=GEWLn_udYii2--`~Gk;9}J*ge4}fc>Sw4 zKUBb3n6MsNW$WfltMI@@kh_7h6CynJA&>56m()*!Q9$9+?cWA~vgF{jMgDatY1_e< z)O}w8N?gbr>e0}X<9B`c7ni+Se1!PZFjg!>wWw*F9Z0m|WlODZbuN)JA!ew<_s|I0 zVLP|9;XyW~2?c0CrmBjNX2Rs?;Ty9%)L|A$MIYG*v`PPp5$SsT5CEc`XQnfl5AU06 zI{VK7Nbl0~P?msLdWc=Ch+^OjKrre?aX%X!%sYuP8Akir`0%VTI69v(s_28d7X8*L zw>mE)^VBt^B4)j%hd%wqh7oi!cC@O3DEw02I(gn5~&;aj6N42;7z^8~REOd%uF$pZoZO zx4#~kbT9j-4i^$c*KbE(PIR>cj*|~GtvcB6J=5v-9zXuR8_*5DeCi4a;{001FT<>6 z1tBwId0Rv@7OD0A0tJs;!8}tsVrZ>x0YIWegvF}Phe!g3&BLJ2gr?k|sV+z{>v2Kr z?D%(rs7hG5qf{@;4oe~q6wy1qYop1bQXS@;%TiGyEWjoEpA>Yrh#-O#i^;i0K%nBK zgbPMg6U_~Rn26*xgsARHqZM)}R!Cz7^Z`_f=m`KIB`WIW>5~>r7pLasDGLK?YMt)> zd|5?W z5OiDd8mv17JNwTK4&SbCF;qLE2dMT$A2rHzd-ufvS*eqI!YM!=Aas)X*mQ8@Wx5To z-1zY0``->!++hF#jKWD04OR+S{KDKc$QU7#a60|`#g{()=J&o*eiwjZ;7KKt+NbU% ztU%|N{;Qfpe&)mFq++F4?QbF{gM*_l6l{t$YhMHyTFXZJDoMJlQT0HNtv|VwLS5i- zxpS38`2v-Dss-PwF@@PsXEJj>YB>R%ZvtWe#e)gFq4;Z1bt_;=+jfcz`l6D4G_q}= z>YPLdT#LGw=!iiFYp}1WlqB9*YI3T{{34!dK?zWgs0w-A63#!uu##?ur@f{Cu3O;O z)8|(ckK3|i+jcH(jFX2N{Q|Q^H|BiN#N9+N1IOmtORd9I3f&=PHx_p}8dUjW$nQ!* zPnb7p6$KN|5eZ6?2c!fHbchNlG6>`DjSr;5#|7iF)CUtwGH3{}>o)tJUc>4@Q38l7~D9 z1fGfO^z?N1{X0K@ld$-ElzI{Ft=07se7q<~Oh;rk?6Q692^XfaUjfFS?I8zw5I_3|t@vUP8y;-QFW z)q9AFJ$BWNjX-d?*FX%rRKRlY=w7`vF#Xd{KlHFmmO*G15_LHimPQj~dqy?m(LFO6 zOkSsy>&9jf(*d=JWmAD$Z$M8p0O?fF1u%2K`mU|&i?17l#Xcx^VsoMg1c0LIHp``! zP+vbyI2Iv`YR0k#RmW&MN{<)4E z9u?&^AOaB?vSRNwRtR1Vkf<&*rc3mWbO(E>QamEgNB`tGbvBLzk(enth}rlJ){Nh9 zXE%23Wp^#M)<_hy{lj{-+#-ZJnI1?}1T~Yg;I4g!P8UL@*EJ`+teB(4Q5oNafqF5j zCF2c#BrDKwgq;h}#8uQs@(jQ~_0@m&llQ-aSoFrpBBkhGa*X0FdJse8ub7xrDNQQy zE9kl+8OKRYp`M$I zfYyn=Ts#SaY7TnLDFCR;$7w+fBby`G5Tz%~E9`f^0szGgFkq*--1eZWBB}teD5i>6 zn%fVo5D^eqHH0OAM68NpUv>1ZsCc*VYkY-2yTu8k0b0|W6^Ik&Wn#FM@0D=^h5!%3 zju^DO!{$Crxjx={b<4I*+nB+Z>(zV&`b_?$RqLC|R2szCj%6*CehphjBIm~Q%$-Wz zYq|I1$C?0`#EkiRMJ$mD+01>xT;VK}Fy0{}rtH2^Uum7c_%r{)qetHh-ns#t0=R-a z!ml^mTZ87z(hBLcx;?2>P7uW*vpb74dX9nE0uIko?yL~29>{L4|C#$=IX`_EbWsFx zs+Z@%?K1lEQ7NjF50+;@r`);g@U?Kw-*0RNd9)mVDxi*5t3o5R(k^YT<3iyrNUbGP z`qQHot8vx6%+V|x>a+rgsn!mNS90XduUC~N^MMiQc{>eMQ(w=!^!9uH_22l-|LNNg02Gyb zzDbD&|ATvE7;>jzUr#6#sY*vj&hH~-EAq|_1E4J&!9(zO%GbHt(R#{mynw*8VWjQa z%hT`~!2zk!jl=TRk6pRf0Y zI27qUkQIeRDnEmnJ`@2Y$4UnRH3cFBSVi)5f$%|B1 zvwsc|{=T3*}slgjy93Z~I#mvEmK|BDBEL6M&fP}&r+@N) z_>#MAA1r*DrgDRhVsba=I`i}1@#oS6EL~`~0sz^Z`HXDzH!KN&#q`7qI*SOHOJywF zj%x>h^!|4efnkaUiipDD|Ay#pY{-ic&@L z-PY0o|jTkGuvD*VHrnbNs!Q6OcrtS_dE3JEMWy)$L@szgx${Vs34e{&E6oQ zi;EBZTc{2CzZJVcM1$_yqL9H;B6BCo%)o*QsX7T%L}G3Lg|B1gsU+LlfExcr=Li=O zgeFImsFYkG2~dherR0)9B9)*T1|W@1bDR3z0`z2oX3!JH0OqV17#N63sg{HlGh6Wu z^wE4*_k$4&?&5QHpl1cZR2-@1%wj<8p_j@ID5MFD?l{V{*Th2;60(y4H4+5+6S;w~rzrry=?6|l5E=GmPuw80zHpl*2NIvriz4w!%ua@D$0(2{eznZ*!K~2D zb|Sd$>!$XD-J8mptmpofg_F1d39H)*=7z!-w^Z{aILweiScFaz2HF4Rw2qDRgR;!F z0=^~LU=Bk7$7ikp;as9(Pc@fra_au^{fnpX_eY^K_?ay-qcq*qlu!xv=M9tqwyxQj zGKtah!o2D9R*7R{&VGOZMW6C)TswQ@&kYuP+?bV8%-(3`54snzYYNLluFnA2lm^s- z(NuwIdV?rDPeSyvD#kgIqz1-r}UciRe+0T>~<$;~7$Fpor)4b5n zuVmwGFxN;Jzs6~~sqn?NG;lDEZuIwl0D!yqKYw}p7<4A`m9S|Za;x8AB3XKPkK-dJRI*LH2!UJRG%@H6)j)z^RRFMjRU{<$Cg ze}BlbbCgjG+fSDDxO;6cgEzRJ%WBs6zz~u^FY?^@7Ok3s8_a_)5XZoXf<&cM z!_2H|5)~V;iS6dd4)Hl6_snkki*&0x0P(ti0i*PYBv(#)xO@-FLxmFY@iUa*g?%-)9M8!%nw^||+vC@A; zL;zJ(T1K{`jQM4kI9UF=GU3XKIrIjIf*-)rGueLLehVufwkCgGaq#s#up-jfcl&^4 z7E6u(Jm?_NR{UgJ=W<;`k~*rnirwSBmhpyC(OU{$a!HoBVSR;e!mRsA|6A>|MbhHE z9=rd!FP}brIC}oz5UPlFlkJL!Q@P*qySpKa5^Sv?NpS?qRgp$ki*zIv5_H-#s>+JL zN5z_>wms;4EPx7N>8w)>mMsqH6B3|s3f3V2RC}+G!d^PPJRH_on zivIhe7#AdB+WX@5CBio@Q!yx=e|2J3-kc^a0aeG`l@N3nnl)Ks8i;RL3ue?d5CBzk z?r%EnBA!sW&vId8nYD^^tK``Uh@)5d*mt9QiCVdhM3l2$!jY(EqtT6R+Spewn&Rv1 znN;caSGKpGDcpIp-tz`&0^m?My6({6^*tVy6B`?+KAw|2`uG3l-yB%Q9M5}t`2G(9 z*J{)-uWvmlkTM)owI-v^0aWZIeMeS9&Xb!{?0x3)$p>QweY$_Lp5+WM6cptvXd-rP zx8L2&R_z^SS2SOI`asF$ul}XK_;37MfAz2bNB@Z%5wYCx=$DEj<~;MuXcmTLi0ak6 zx6!bY>+MZZ&;&&n{8(k-pa12*2EZ&AhqvFo^XAuBDOM7ZifaFBzx;2?X0F8(5Osvi z4xAT%7e5mmW6@n)tRMz<^vVhL{A!MEZ9VcV1Xn;mm$oGfPh&*|JLw7Rr@arNHqI?P z#{=E!jfPCBD+aPwXC?rYa^?09N0tL|r*KLDWXX@=V-!j)kqSg2njlR83qS!x%228e z1s)g?D=8Or*E3P_!hS#mlHUwa1hWEsq{b>otO?buUv3t0A@{ij4Xp^UMsvMi-a6>1wYFp0ANpS!!ag^@Cz`y*t4^D2%M4=LLbuIFm0CG~{!Ct(%^ zH^uBVt)_xQAPy9h!)AGgVrC)p&};>rdtLe9yLL@Mr3mc)t0CpF^@*BF!ris)_gf}W zg*GJ`Xu4CFsVGzWRiDj;j>`gstPpz%`)el*vRIRL1??dZC6;j4zt( zoa)S-oYAiB+N-hu6xH6zYyaAB{*8NYzx%g;`?u=LGfTiUaslBEg`%+7^rnV_1mxMx zFR44x3LUJuwc!A1s7n`R6Qi0jtN;+H1YjkXhR)0lbF04r<_C5!u14&$90QBpjgQyl zfu>{+G0>wBRzF0TAOJ~3K~%b?AV!8s7aTO? zX9R2&P7E^5{lsu|SkL6JkJ$lA&`NOB0E9@)tm)4H#2UM?{?tJ6NGGbP!6= z)KP-&Nw3%sQw4?@?amyLUaDh)Upp1CJx9q$Ua8k#ck*B?&hj;*Iys<}j0UwP6lvnm zmY!(>N1;0<9djMay!QaG1znB^;Fj?yAZvts0~ZPhh2!E4L9utYxqKLT44Qyi8FdtF z4>NkQGs3ENm|IMbKfAnm%*~m9(uvNkyTqU`|NLJLS@af?^RT&8Z3OEvbW433>O32| zs=KypFLR8%gTn&51iqfv_%0$p7YVMnZ%v}{vl>1Zw%G89WxQ6k)^3_k_HWIfesKRw zf8i&8{CfbVte>b3k=KlxEpH*(>K$VDOG?w5JUX4ewCQhY;SPY6{jY~(~v5Va5`AnM|TMR_Qj zOJ=1(PzLGfKKB4^;~0I*ugJ!h;3 zWN;+Q%EHG;6GWlp9I?<<6itOdL{<`j5fQLp)c`02!CIsR3g#7J$tLX`5R4{id-8;+ z1vdx)g_t$Xg?8tdrQtxcM4B?M9HJs4604P^B+CRk01mIYa1KJqM_bq#+>91^W>}*i zc2Si8m6+UWmQSu=t0^Xb?6R|;fwj!jP_8Jnnt_LU{%7mFn9kmD4s>lQ+*;bjU3d326v z#f0TD{5iO$tH|71!W2jf>uF4PYhi5JKJ^weV!biw0+_0MU0$mexxoJQZ5$&|HJ?J zI{;0aEGAdy4jdq$b%j}_r7Aa={HbH%a02*XK}1uG9YN=vbjB;)_74uO&4xV}^!Y`c z&-^T26KQq!^rJud$IG+Fa&gvP1WCj(Q|?hQt}aT3kXN|6(ysLECmNQMnfvf)YJBB4 z^tBT9(MO-r7rk`?3Pb=9TFUyXvg&k8E5K$>XO*7ZW8fZ!{A_F6qzzqT-koi4JR!gKJ&;(b#$F~1z zoU4W4H69Hu`b;KW-A%(+egP+T{!?*$q3hKUlTy9n85VsOF<1=}zhnSF(yp~4F$?Co zTHjjs7ACG^_BpkvN$ka>Y1VCS|BG0Mqb*qCEJNdSs@Sus82XH{P-5(32k0}5$jKN_ z;)%4y{Nm!`N$~J0=r`kL&(A*br<3p%21KGho9?egc4BxZg`(UyOH7L+dnaCzM{jc@ibD1~RUaB=`B`=@JQ0}!+#JfT_$IWxhDQ~F{`?1#G1K&k(PcJVr& zPhi~K>fM{4A@GR81Ryut27E;kw$IOwZD+^SM@AW`9HBo>fuGh67RA&rdq#r;p^`AG z3D;5ffI!(l|9OT@AkcozVLO@QT{JuX8~}^*z&UL29~cDy%pd*GKD^Yu_s&=U71JSV z2>?_c>95@W%%3s&(15`8+h6&0b15-%vwWU@@`Ic~Hzyldg02f;l7`$-AS<)46 zxdiqNggAHnmtA|Mn&u*{N9el(0Wf-gn@)DiEz+=BF5h5Vag~y|JPxrP6KqF`2>?J? zPFZKJt-<^>3dFt&E> zYp6+_%rQgM{n6RvY<@l5l5~WJk9=twB@#S_h$7kO3V!!A%(PBVs zkyBj+uZ=2|&BftXKicska2**(9-R)%BX;5Fe%GT~yTZZJ*9(TgI|>CE)aViEoO24$}-6SIN?I77d$ zx_j@JAAb0IK}{zW8~xVHEo`hn+698gT}vk<9;82zW|lU@!D#)$b4Te*3IuyG97OT`|;WKR*aArNlz|7vufAaUk| z*+KUwBu;==)zLd2JpKM16niH>efju3U&=Ek@GBdczbJ%z;GO8jNE}52`%xHj7spW?V~A_vrZO^yvUjXnv6X&)|UU;P(s#1nuMuK_Cu7Q#4kT0g-kM;?p06-j1fOu9Tkju zzpr8|s)J^AK7?|*pz6Bg6|W40V#0Dh@cB40D;)U<&H|B9#7)0l@y-{1?Y-~+U!8Q4 zk&RBRk&&B7^ps0D1pwUV5=f=)1YbI%Yt`gvwLBfW3Jffs5<^cB!rV6v0zj;QSBCZ) zv09t?Gdv{uh%v3?Q7Gz&Nw}3$u`&82j%rF|?R2NqG&xes(;x$Ys60?=1#)2&a$bA) z^3e}tf~6&(0AAT~EbQTN<7%X!m~wOJ>{j+2&9ey+TRaQ^#pF=Q+AbA|)xO<9rOPSk zzTWyJ?$wY0SgtNnR4~@L9AQvWsge1>W(Pg&+OAzgs~5{>7)xW;VsJG(kVjoEphZw}G8B2)U7!*nrXmU5#)P4_H?pSZ6qAUXpf^$wMHRF)u zs0$gX^*5>O!AzgmtzV)hieiJ5i{)~;>$+#&Hh0pp29p!uOLp3n6PB`=?5U0t)nAfp zTj`8Fd3HW3Uc)DcqN`#u)K@%o_i!JFY$OR*Q_C=FQ5VQHv{{>%%2%0$oY-725w+rw z3>PL|pJOTN?4ZdUh&;GEZ=2ICWAQLzWXmHWVU;Kdb!&GejSd+`GuojM%NRu5X4DA>GY&ohyZo;3jwbFXAs@0C?-1Vh|` zMyM!+XCCArLGE8wu-tSXRDNa~Cgv)-P*;$f=$=FrFE{@2b=KTbos za@^g8f8-XA4IPC63`}lJkFopxm?{N0v>&M_pZ*ii(DfyZ6#(4-sXur6_T@Rf1NrG8F)z zX2)+eizm82sl3H%4nSBQwg9(C`Au@3pHNTY2A{Kx_qBi{?;Rt{3n}7b}58iuL0smEu z73Va?r)K>|PXA+tN8aa4)wO++87d{j{s$3CXeQMX7;AFxAj4}p=aupY|@`=g?}hm)mI)S z_Ek0ddjysH{#|@kXpK3du8W{zJ7)AOGc{g=$EA?on6k)S(zgMRP=-a2dkc=_WiNoo zpsH0=CenQ`W_Cey35L$h&OXYs{X0son3a{e2%QZs#I&sTd|V?$C&T?Zb&gIJ-7DGr zQ0QCB`rNJb0f;1KNCg`rm_n^I>c+4vktP7jnH5U!82}2YWNw%hi3zj?2|*aPJ^}zM zuB}(kUCgV2drXnq0(40ibm}x=RnRT2n5lPJQJ%1x$0iaX767uSZmR^`Fiu4ioid^Q zLK-CYIL=Y!>_6A4Mi}89in0ZN*EOUu+dIHH=smfze#I*5ZE7eDs61x1N|P(2NrYF8 zBbZsK>ykX3?VU9BeEg1vVv>S@&QBkZ*k`VVf3mO9Y(A(xw`yAfm~js5o|( zdJ~B}UMesE%nm-+teyn9DV?D{ef)kbV%4^4>6~7q<6@R^$rtnPx%6M8!l7Gv##kNp!wGg9cU!B}8up1gN)SE&iFFnM}?$my*gWBO4UPZEPGk3mf#(U~~nbvS$c z7P=YaguMc2V$LV10+xW4uO%geCl>(Cul~!w{lh=~U8I>QNZ8G{s+n846|7iZm~m9y zW+ZYig9MCXcKD@V`t=Wg@Q>tb&aws)orKmF$aLMZfBpU!E>1t)1y;`o_}jHz+iDZV zl&^aHo)1J*=;sJCZHf`CG$xhm_3H_38QlB(fABkAbonli8K>$lT==y9) zX;tgK7779YlhC=p4YSl=H(;4j7C|zFypTa5kUrr+B*#4?r<4}@6%^UU_XDWNt;{B! z*K|vD0V_kf5als@8U3cPp^}SnhA5nnBBo{R&D9am;mFE?YZVxT1o}*AaoF%hJ`~B09mz4dS#4D8=e*MHX`?=$(_!Qn`SwJ#i_~fB~j&+2?YRZ>dW;;t%p8$ zC@lgI^U9|1=Qo0Jed6i)gt|;BU^K5Ky)u}i?d6R{Gw~-Zow|tO%!gq5 z^~}BsHi*c&0+aC|Jz0_*m50)&O}z-tR}kVRE4S!wg(`9Jks<$DK2n~Q9M!glp}7$~ z-X6KkIqf-&U-%R|kY)g;>KH&6sHC3AiS3d(yMOIu^cFH%Ddy~$M2;# zxuEl%cWf4?LFQD39w^KyC{q7+NI{wS(0mQ<)?qs%~HLVC9J4wmYZ%R5%OR&KMQUk*D!0m)uLhH zz7UVTLg@zZ)t@N%D+92Y9Ci@1xlGf&1#`M;F4pshL2*BDc34hGyY#j*PE3p*XE_RB zxqgmtU`KLDVXg!R0Vt%|kdqd|AKjB9kdLgHM`c##LD`ue&Wz=VhZa>r1H#JrST8nK zF?<#s4A<&<0~@FpTnaw{mY|u=fUFw85`d5@#0lcGWpE=BfTkrXM4@4HG(8{?ON2tB zhYYOQ#Ha~dsHL&>+lv; z@NEJEmBET@#-Xd*!l2`AF@KuaYa%crt6Iq(eZ()DW@fl)li98Q)!H6w;h;_m!zc#a ze*NH^bq>{pR#&%p4Zk4ZR1s>i=Y7`msN+()t1Y@3!eLWdJXB z3m?VIqlAm8S9=yk0&I0%n^mym2M>v*znbDJH?~v-^p`V@SPt7lv~aYgf?)HC&Nq>@ zhrKYIV#ltONZQVHCPqHyjcjJecO3>$t0yck02pWj!1KpH@GgP`!2j`o_P=&>Ri7ox z1?bEn5CBw8UjGmOy)Qm~_>Tc#a`2XorW*j{=4|ogp9XigX-xOO_~rNi^p7G=p>@Qo zGTk3|9$76s$=1rT}=WLrP5 z7aDk+wN|ymA~-S~6_e4^Fz_qdqDEvd=*p={Tdkohc?7JHVq|9ErU#7y3IMX?13L=b z7+#@f{25dlv?#Vdt=H8H(H0V9P>2PhU~V*C&)fjEH3mEIi%n_4Ry0!+nT4&?q&uYX zCz$eOXTjG2U;sp#vAPVrAWnEVc~<`Ta)rDOV-$S9{aVc_ChD*aUYQ)gI;u;M>zs0S zyPiJ|?w+AfI-fyJIUIvBKeKx2TiJ6;A*!an$d02^UC?a|aSHr|3`Nqx6fmVZveEky@TL?IA?L?g)7U<` zW9^cIJKWhFh3&RizHj*o8T#tk0+&f@&vqlgD^5<#K7Z&sLtx-qN`f50?1;Wax>(9O zOMuGq*{aQ^gr5Da3(@@7H@UceHc<2#C|OiJ(!FDFkTKv0jwmyTvDX|KV6SiPc(?Do zNNu)%7&{K!wddb{|M$NAykX6e_~4*c(zdqFu?fhNy(3vKvvC@ZE6B4AuWvI&Bg~5! zVnRMR^Z5+;I|wM_nnOcr?8z;)r+hY(tIU8gq7wp6o$5@jjH&Rm%R^qaw7*wA!ZP@d zVSbWT@d8tkklA<`Z3vpB)3RS+5E5x^D&Ug)z62Hk3dJ<&e?>Gkm@liz!F^eu8qzTe zgKnTeEV`nJPyh);Faje8h$W&xE77KZu)opFYyHm&qCg;Kg+!*NCAQsbm9milxSZTo z@)EEDSXpW|+5e;s#an=2VtXL;vMiL~6=A~k|8g*P2*8I&Z?Be5H-a@WhMwd_2{>z4 z+X{zr9SIIhuiw;6jxB8?%bQ`La?GE!)6~eyVE`{i#S`4Bg9eoM)ruh&+Q4e8SJQoW30Q$zIOQ~gLpW}N z$wPWJ``2fnsdIKh_Gfdra(wS=%kz(%t|*-2ihbY}^ffm^EQ5-Z`(M2K=Fk1sKmXT% z<@I+?AATI7S{@;k3gH zU~n4nRc92-p-Z7>={oZghM;afovVr%Hjxmsb8Y&#;5?Qqt?K%jj9qjTI7saB|H5|T z_e`$xcl{6u7AEw#0=h5aD zXS+^#`I;y<7JcGzJ6+WK9qB1$l5H^o#X{VwC$7J|Jk5znb_^zr>7qhf4GGryrL~ir z@ur8rg(K`aCX$_XuVSoMRYIqj1I3KYlu!xp0vupbB2N4`vsXnhR$qaa_G2ztk7F|B zc?IeXaCT(@SwbWRW>&y}*y&aPpega!{-P6|pq}nz0F1hjG?tUQZ4Nt{#Q9dUs{}>> ztfsG7XQu5jQtHxhvancQJV2V+XDEPmp+5mwp++820F}DdBGMi}fiPh%04B`9jLd== z00iI!fPhK>obG>iy8pIP3udXfCMuaFA_8|W%dB*8uX)q;@(}<5uN?k$o1srAZUfW+ z!g!~=3M4yPFIPEA4tg3Cu|BAF`#?gg7?YTmer^gr%v|{gA8f+?po-6)^VQ zu)x*GYJ}}bsYnH5UUg`RqxDqof5tfnt$bqzt*TW!z03VKK`rzrr^lajb}0SD;^~L~ zuYV~$B@|V+tfssY>6r=ujAF95IQz*T|Ka@cgL;0Z4=e$=sAjTRrF_SK={Nt=@BPDX z1Mr>uKX-Zh@wPR>*ZmUhpn+!rcVGDmB#KvD-(!1gB#okCPg;(zunfl&sW81N2kXK) zwQ-pP55vEXIjvP0+#IROhPXG{Rv=M8xC==x&KxlGXL|kqS1wK;RI?M=ECR_Y9NLnj zEDr?0hd=xyUs8>-a)FqRG%~cT4K!YGhI+OA!jA95{~Z?DHS^)|P!#p8T)T?vvr8**EAm`n8(Zlrlo*W7XOBL6uzH?K<(*Cd>zy8JL#iM35w^UyY zpto26BxZ@am)%#W*mF)b5R3KDVL|`^AOJ~3K~$OLL9)NB*q@MUL{?4YWVf81sAldM zjgTnats10>qf^m-zK988h#^+KiV?KKIm0CO0Lc-}fNU%V&1yb+K=U+V1T5`+RnJR7 zDnT`ggcv|EVY$i(K*iEzX{aLN296vCXU}2Ya8EHQoG`(xW;GP{LRL|l(h+)Mu(T71 z0)WNjHcLIkgvB1H8UR(@s%IcTgJRE0wVwK}zYd@TL#h}${wzryJ?&9HR zJJT>xGY8g0_qGxTj)hdCitWDEHYThvP%%@@vVY8IBirIBw&eHFt8>gBTZQ?k)~D; zx&#nlM41_YkV;ld#7e&!^U4%pL}G6A>mU})8n#{7{pM1yXIVztJ7bWtCBRF!MvhCp(>2}jQgnx1X0k_U1 z%kLfCyFC3crbFu9sPu+1=V7F%26;2cPV#{bLIR@?!9VMxW!#YI%`y`0^t=bwzI_Q?rxOBkoyoxx3Gu0hb z;)M7r@d+lB%2IQK(iIn@sP{CyUt~Ie*|ALvtxC4!O~RxhiINoB1bc%67M5q1aDfa!d0E8^85>L_ zm3QgAj#^!0OGT#&XXh5S{{PwW>j?k?cIdM|(QwxZyLK~R*%#82$i78J>J-vHcRM4M z`^nE6u>$m60u@X4x7N4?tg%Smoyy*yu>H*_b+3V;Orp=&V*sV{XEPs2Y?twx0V5Th zdiTw!9E2Q615P!|Pu!YR&Kpmi&9rgQX8@T%X1{WP15D_plCOqAG3p!>O~arXp*^>z z@HHos+d}LCXwI)Yf1;AsCTe9~25JK-kq7%56KRuSL+c5QrCkIJ0IZqLNPq>i0$nef zTk@ka33!mO(f>i-1L1OO3BW=5Pa>!Q;QqClDeXdREzI+>_z5&{yU06;YA zF33I7D?02sb~U?O${qnX%ysKlO{Q-xSLbis|MP(dr3FL4$B8gDI*^nkj++@YGCQ<>vH4I^T~TB|2M-2N$Jyvi5W^GAI> z2dqGAj{9&NifI6pt89H8eUbd03qC>H_NO)zl!ZNFvU`1pPt7b>CSxpXZ$<-oe6jaO@ zC2$;Bzp!BjuDK2DVz3Z6+j@vc+ph-p{L72Q89K6AI$Qe+sQ|T#CE2Bp<2dH}kI4av zmOJMT?kVLg=t> zvCGMACFj1G=tnA_N;ed6)?lIxRh9r|{FO$p(k)fMU?q zpf^Rd$azRtilMZCHTyEP{Q|iLeIZnR?HGBK?Qu(a-5V)z)9;tG`)$ERJ zE(58VTvKwDev&a|T~=usQJ-4*z_$g^? z10ky!)!tOv2lM-f4;~!Ju-QA*Vpdwv-a;W&s zK=t``V(;-1&++@xIPW$izYv;ZObcY^iwTVBpDnbeUTy<@_Q!=xOa%Z~OzZhm9W`;Y zNSvGv(%U(a=8Wm2s$SBNh^43D&@AOE>>Bygb*SfEJ-W%kZKOg)D;(_FuI<`&wx9pS zU;5~S_pjg+;;^m0UiT?WF^k_iCAB|hhhm>wY83y2{TCy(0g{1M5K#lW61@PZDa2c1*!R-^fQQTXa?SP-BZkL{H*nr{3sE zaD=?PNWyGc9xBy4rS6@J2&EQMUdCWYN9I^hA*^imJdC|N$0SqH0oH{F2vX&Dny|EJ zaPBK~=#F9!xCRsmg|7IASQz-28L3dsW4n9^kpKi@$)--A{$Cq8q5@C{M?bq-e1K2@ zq7JOBDl{=D?C=6%)vKki!cm#`qG^YxU;&5@I$td3A6tl-f(g*Rqboks8y)E{ zPqQV&b3;d3jY!&{jDWItLNLm0V-)+~Y5w*({^jgMH46tfj8@&uNflu+gTCBf4C~<< z09h?vePMe?`x#LpiEN2=9KfygWbmknZAyxY8P#VN@TT&-DYkv|j0W|fSO$M4tE|YQ-(v^ zF{Y2@M!J7v;?|VRntRfmk_U;A#`-5H=*g3I1y>mWXmX+jG*BD>FN^7GsyPRshwpy} zR1=8Wlb4C9`l(S1U1K!~#ivltE zVQ*XI7~)KcEdqR0?&bSD$&UuL?;Q^#Qstz@q>eD7EbpsiBW1wisIS6Ti!#>r^Rv06{ZrUpAj)?hJ% zL?q@0us{R=rs6QstKw8Q~~);-Z5~K9rPk_=#A6s_os|sjC88hrz)B z_=q-*K(5!R#dYn#blM1aWK}38w^S#=5mwm+C6`X2-QI~vX0z}{8O3zEf6{n*eW7@6 zlzNX*Ll>ONgv&wNJv8V9lePj`HFk`h13`GlZ~imC@xhP(xU&r1k*WY-#k9Em#4j|8 zvc3#5P`ihl9K0cIS)CaAoWj#Ejmc7sR31j|YMcs(w#@tb$fqmz=ymnRIZ2eTR}cdq zAPuiWg8Q7ha%Kf#8u*6965tpWPsW~#eF12b2gB`&1+M@nh=S$354m*Zqk71)+<)y0 z_54!+0NV4NK=+OWpnzt;HHbZ36PTNGNMu4$6!>H%+e9Z;^$;J>`;*V?%V$q)56^wM zuv$csE%3c-H)4>kevM+{C^>d3->gEnK&Yee$o>uiT`<|-l#ULDY@wC~vO0 zckl)X;LX(5*oiW~U`^h<;|*cpm76%1lxnWBG-SORpQAPweeMizzsK&p`EFvX8q`Ei zAWAG_#l*-s7R*vBkE!MyxB(FJ)9*1a0BS&DO=aZQ61#)sB&_T-do}(smb{tbcDJwMpm-aW95P}$*KV33AhEJ<7^6mB#oma5QAU=F#reab0(Y4iB0NEi zex^l4@gK$1nFf%kt(wQmxV>jn1Pnx8&mWtwd$p0(`m;Jb z;ou?J`lvV+`ui#RGgg;gECZu~F+-F(6yXHc-0S=(W6!NUps+YhF!7xQ!YjFY6rl*~ zxoy;($=WvsfESOxZ$7W)<~+E#WiKlLB$c-S6kr8v0U$tL0!T2`CU{6PDfi34KV|J% zF=0o+cHmM*&uiCAyZzc{9zXhM*AF)ykKWe2?Kv@-#K{b&X3Uv6ZgiZOw-`98796WL z-}%Z1?|o;e6VT7@3=?B9R)A$qfbwOTf8GyB&Rh@x?1aH>S$Pf}5SxjE*>R5+o6T1+ zXaATKhcc;$hYv-?ay4S2ZhuGHwOzZi+1#~jGJu zOAr-k`=;~y&7bs9V%cUvVX<$^Jt?R9JUU68(umu3L`&zHsRY%QBa^278&($M13yjJ zeG8QUN+PMOC?+hIZjY6dlY05-^Vu9DTLbyI*gUkU!BB=ZBuL^s!sW}y(vT2UphS3# ziRa-M3Jd{QuY45<4kBdt!#+xgl@+%Iz|#I4;?8c~t}t?_TKia^rl=JlI=UPL+)6wX z03nsk(h-K%m<1t~tX4o3Fd|kOAtrGEKuSaEMyx|Huk6YyK-DHifNOvTv0}^qMj!xY zkcfiSLX=0cJ_STzK$@^xIv}F}s1HxRcJ}yt(3N2n0F7Pyn$;)(B(MTl9pCxt(@*}9 z1M-$yLd2pE6W|5X5v!*ONQDzX7-j{a*;t!y2rxZAGyXO>80!GV;q|w^^zl!=8!Sxp z5$d=fNMcXP%Mfm(;!rhbV{B2@)x>Nau&81QXNkHh_}N`Ym=0&Ijve!rcPkvNzt4%O zQaF;F7ClXj7k}tHvL$3xvmB~PgzePw2c0!&` zr6-gwWHC9G%cp&Rru#|{R87rEa9-Ipv-vGMKRP{qOEr2DB4FuA>ty0Pwx7%ha#C8e z8`GvQI+Q7#I`x_G13g)A#$u0~`9`ZLWrYGT#~WGfiU;a`!@_~=yP67OdRHzU`oE{n zCq#Y1VJ0dTd))ZRD5hjC12C3HT%S^TOVv+XmjMLIhLc?*Zm)iWj>gD1}H(kSM zVB+N1$~v1YACt%eNI->Sd)Xc+0+80d1xsf}U=BFQHUP$=EpCru2Hb#{8C*LO@F+ln zLWkK=X15pqGn1P<8C$91~^Y?aj|ry75q1j$~pl zWC8JBj7n*M*bFhYrx%^(W0aGH06d-CYvg&F^WOUw`4Zt0pa?W2-Ajqst;xi(dcLuA zd>HHk=2jHKC|!VezGA{yX<=nysSmQ;`&>EwOtXB1(AJbw#qz(H&si8O@;2CGe`XEkSo1&%#K1jo5Jd+3~yVN7<90;w7EUFJGksL+-QgseUZ zr&nuK-!Hm^-LOSZ(g|<_G}Y-T?)nwg37e8%Q4VHLD7<}0;S?aHb%ba$TJxK2$|Emj zfvPyeJtZ5><6=*=s@y#x1#^+<;k{;c<{Y1>m^>o{W!dbh0L!#x3-v$R zu^G;mD+o>iz@Dr#jzCeP=RiDk&;lc9_3TIPDTE!;3rBaxKA6ll%0}p|eoKHYnBt#f zU>1sv2&UlvMEz&5TzF0c+);ECL9NpMOiG<{%(^C@cplzD&W_%0mZu>noyucY3vMo* z8mjCFbGtG}_OGf204xtdEuBMXdlapfdU61_=cDezlrhm)gvhw2@CD4AXtlGd%HR|U z-9rQbQA}8ExBAu#6eI20u5C88azPr3(z-qdp&fUi7v0hZ3)4Zub?9$DGtdIF3umtGGPFUE}W*q1hg8wGvZ6ia8Qs8GTUhr6CeVXfMC){v5mAX;fs|Y z3)rAVpAZ|mw4*WIk5NT7Ve1-NN9zV3#~C97a+U0L&SJ{>LKi#^@fobg#o6wafwx8g zfH)1y88!0UkFkZH+Y2!my6tWAPsE9-Noa222LFXaBm^g*^$`ax7GVS{oPZgHMt<#- z({7B2B!pSQnp{3=mXEBEf{u2Ds?Pv*M9qi=v(z*$q#1An%x0k>0ykz&wUD=7ryv24 z&6!8zu+P9@KGsG}0!_(8>zHw@dnK?7s?w0Wa)?Kpiyy!C#pV1_Vx-n8y5%bB^njtf z(ThsoaN;YyA1H<;VNcB_K>2L$&Dz(fS|F@-zxt z8yTw(8tz#$nN*`zuA&{!PJX(XKLKE%Jpi@^2E!x(@{1XEJ%H;hgYGvr)0t;SZ_H00 z4CVN@l#o`DAeG(rLWDFt{Ma5Pe%D@ZyqIssW2C&dj6eru@mY~AmX&fQ_{yCbRAFML zNC=hCRc4PaMmAx#x5scSS?R?Z;_Eg`-0P3GXGy-Ht%I@=X~>ubNkiX*tdM94Ahq%a(lM)x{!8g8hn3;-bBi5o-?g!iCmiZ@yLObV zZ76`boPD;Q{|KN!nzC9tfHDI#9sA0N-XK7YP%8WmN&>>A(T{`6ll`~SVN{qBx96ey#J@1h|XcdZYWDq6J;x*{JSNH+p(nJEb zV~Fai7^Pa3YNj1*)M*d`UX+QudQ5?ul7X=ejg0q0Q8X=+*&R+5-40yw8R025t_0*i9 zgai%6NXnd^fg-IVL4lZf&#=2#Ef3{YN1ryQB6V=AB<)POHR%0IHb0 z)+|3s>=Yc++2HJEm*088SJ}!;!l-;!tcN?8B0T8DY_yvhuatg$?2h^*!Cf$wVvSUjh{XJ_@8L4Ei8_>ITf?Ja{j6Ac?!0cV5l&x zCBhng2B7)r$L8}?hAs{j6YmNg-%t(j0XMYqsK?%+&%3t4rf!ZRQ(~gfB;#8&Scj-J5P>*AabTT%l`#I! zrsEZDQ~mHbi9WAu&AQ#~=+2jJ-}}0SzXzjM8SGh@-S~!pt?mOVR%M8tu2TUxE`4W) zV*5L#q2~@5wYxd{VxY#uB$_!_DBKKp!kP1s?qE?cxGp`m$Lazr#6i~65cUMcp^IV( zTvPG-bnk8Ffi=Il1V9u=01PxS>jDK}iCD5S5EY6;00Lf_gA=1}%#))p8pM_x0IVoAoQm5W z;OMggSsbYE&y=r*44*kEU)REB*m%*xc8IENS zZz?9Q0Vovv5y+K$A&;`kdy}qD;y6e?@bR_-D);Qrr~oo z{(w_ZD}S)uQ@T(~UBwJeSbS_eEXav(iJ-4=#3q%QD&GIf`m`OjaRX7eL%euUOUxI(!3-xq`o|toa9^3! zA29<4qt%3myD=c|}q^(SZh%(?KE6Eq-p)Ndl+O`y*hn=`J>;ozq1A=Fs4 zui&H45G$-Fy}5zHnYRc4DE5L;$Q-S;&q?cO4MF16nSDst-xfW!w9wvC;&y?QM>5I| zDm@zQW&uz*`=-5)2b6=a`0qTtTdEp(a&XVG76^EyWE~iAo#-Y2SWoGbx4!|vrw_hs zD?Jc5rvM=5pR{K`>qhdfQoEpHrs{JahJWrflN-Qu@if18?Ij9dulM4(&VAXbS+v2k zt-)L#qC$^D4O1EX9Lg3>)%{zz%S+gS4O(`mx-;F+SVKqd)gZNr_!M-iK@K?A6|z)%586(?9VknVg<8QR31D z`PA$~kYix)iImTbhJuo6h(O1)}&ki6) zL?H12={j#b+UWJnQK}YS>R!G4{iwmo<)G{z-z$pA(?{?5hJ02{50@7o$Nc}yiN&D! z3`YmWmL4sf1g6@@CCL$8VV`Kf)@~wvBOg{cOua>~=%P~?_Nq8WY@T>gp}&=2Y0uBV zpEG*HlKzg#u?fS8dBq8oJhk&?#CEtlD(D2ARm>g+7wp`X-Vv-CQ45h{6lwnnX$oo) z^a=W>&OOwH#wEdU7Kn$0{}5+wi|UqK1@#GWBG#K@o@y#{mkSRGN@jS02`lAIO=lpf zsI~)jZ31j(@4EK+jv&bV{1JQGZS0;p_7 zIgloPYF@_KwNd3O3MS?Y#q_pPNYk1)G3yWjL^!R$8qQOTL08DPZEf-IWz9Cv7l@YgXKvbGVs#d2!m5vp$JODX2LV=oU zt!khtu+^($&EY9I(1lDxaBB%!3;Q0)VW~R!04Ha8}T^y`5B) ziwPnsI`p(2Iy^=S*4*x!-}-kxc>fO)J|t#w{GJ0A6=Z0gxAxEi{mq>Kn8YnMK!d24 z4*-bO++I@w&45=HMP;C=_3qX(CD_07RVF6K>6FG@v1h zeNdO0K!=(%%}e_&Eu&EZqJ^GKvYoCehhiUiVdQSQr3bd+h=VK}>{uerY|Ro^CcANZ zOvBlAHrnT)I+n{=3?T;LlQX0zE8N#C&gi0Mvd%*$b!y7@-rbcBcTPvp75+wBRkDv~ zRfqTF>I_hzm}=}*Opa|$zg~h%YDI|1*@-T`ntK-v-pGYYt)JXyo}qt`U{{c-o)@mB zUUH}Ofy+iW!)KmXMwdloVMubGYzFP5D~k7%v7(mFm(#1feOqkhG`u+xJork?*snvoocRr4)e?c zj~#NcYn!*d1T5B{R>fen`Xz?i|sjTY2+^|5?rkaY3~*|+%4L$b1mkUGh6 zjS6Fk>2v;stdq6$D2W}v?*q(i(Ijo+_uHjl%Y}UimwQu zBme^mB+=EL)!-TxfV6z_W2*Lm<-1?|E2fO0(UJx%4nZyTAumvAE{-MFXMm*<<*=4k z6jRISbSy9mxjF|BSRGm{$-xnfIzb5a_8{7k2a`OMNt5R{@xb=Cg_r^Z$%53CqiDNJ zNfrS}1X-0f`h&msccQpkLTozxA+?iIpdrvWxTGgXpya6!KBA$&>3_0imSG84fSNlK zLs=ydu*_uvII$%(1t20#wNwbA000tu43;QudsI4Fdp_YyAz$P+2Nz3;~(c|&4&I#z^T;(9<*vIKQT?GXoMR6SD7Q0{R(etDJ zjPO;GTd=!_-%;9H4%$qPrIS0~a-c5fV_N5WX5X%{!W51$J^O;!SOLK5>?hVt>YNgk z%csEuAIC)pZO%>f z87LjinQ6d=OB*F)GGJkKX*}~ancebVu-8$L=H}-aui$odQB8wac2!}K02-tBKR8GRrI-M5t0UTK5TPTIlXT3uxk%u@cEr`f*R&Y}IG|0{a?)kun_W+? z3jHOVi8mo8o)bdJMH&yG1SFzGM_11BCs51wYOEIiDNQRA=t z!f$v-CTd{~FFUConCM3HD&;v%F+k8zd{1Ex3Pj z|Kij46C>{E@vi|tt?S4o(iopl+{nG*<;2$qRLcE zx^tbbltdUbYxuB|Uv!u$Y=#Ccz@V zMzTW}A+!+-3M9d*ZiNmUjM!E@SG57Z4Cn@+6d;+;YrS18m{+3Qlgp=oq6??l3QwC# z@nAE}3B&|s%W}1RRWSp(jA=NipkNxOwMRFwa=6uz8g=Hd4x^3JsnG7+aMP|cZY0Oh z9It*|HMzA~K1vfs+d(O9LBifjAzz2OeKrmN@ix&`0__>71vTAR08r;wU}^no=^$}F zhGk%1vM4qJ*Fcq#lyO&z4sWqVQV_+lrYs;5s|K-RRsbt2NQ#E9r{}ze47dT7RGcVv z4(d|tO(Rt-wOaH9)WXo8TegHI+!;jGt?t+Y0qjdRfa42EfD)i~;K)#RpzVsP1s!~V zfCD52vT4_$IDr0E<4r$|f)L_j)$ zJs$_Tj6Y5z!VY|+Ct-K4meR+dpxYt%4W-dKPCQBGy>NtNa~{GDMIJDy`Uv)%GGsSX z4D53Py;eUe8JM6iJCk`A5q9LanVO;qEoXw@v@v+E|-qTxcFoS9=_0mSX%vkONYebI# z1X9Iv4lI>iS@8h^0IH6XO;10$sI6(^T7_OD+JQnB8@#cD~A1TwkKc>g92B zZ(B#sn_UNoe(8s`EeklgWurxAspkm!*ctn9CwO_{_LHmCnbDWPS*(-WL1}!lGX}R- z0qX7G*En(bS%^l^+)gb9J0}4^qgMhzA?>>?Fcb&2T%oXK_mrc>Tmeg9iS2J#kvOz+ zGzv8-4~gXyM6#K4#H;`sTWPbg+2TdV098vAhd@)MF7>KJsz5DRo*B%Vwf>AonGwZ4 zfR=nMEbJ~E4REE z!1l1H3RVvMO=&`O2Rv1K_kuSfXZk^+#7H}flrzVqT@+29*Y7%_T12Hcd;58loB&@^ zKcmlFrr}kuNv~d32L|XN#zf~GM-+vVPmtpplb9u3K3?A; z7O3O~5)vIGiw4lLXdnTGMhO`#BO@Z$ z+P`!6Id`S5uJ+k`t^7pBZ;mt+@Zw`q+F)yHAnoO6FBm;O(F_>Tl0 z4L}9-nWqy`w5Ir;%-u6z09PMRmxHK0B{h8w-F37sEM>>T6X^xO`U)XLqSQQXHL4bv zmvSam#yjpF+87_YTCy!>pGenthM;}t!7!!Dgxs$J&b}2^rdax57ho~%&s){pu0|%J z^1O+%I?{~eVl>A%D4Fy^n5%GHo;IlaX_3+80<$1(jY|fT^qO_QY$Sl(pR&SFH`h#T zH)o&!_HX~KS&8%MRsQq`PyYEo`G=umZp(Ug4W+#6fpqN#`(uCXk5^(^yhVF}c}+>m z2_py+ioY=lHrWwZA`zT;g^h3?Ht@+;hBc%cFhMn>SEN_EIVQDa?v)dNBn=qyMuJx9 z726i70V!|`0;vU2&1MZ%dG4X@*lq+KZ9$<#6o`G*C$a!+`}2enMW9N2P-0l2>C|F? zhg5yUw%aCxjJp?Qr~=lrbv>QgL8ZExBt=e19SYrmp%%CoMtND4w!F|P&{WMMYfi}Pjj?3HzsS1ZF2V%GiMf3sHCA9!d&_Cq>Oe?nMzLyUB zXYQM$Z<+Q}kPe(~B{V~5bm~(F-WQ81cw5CDL{KXbkD3y`M8L7RyFlNz0I|&EnT&Tg#ETnX z9YHPkI=|D7YPz#{t|M_Ol`CqL3cQk;n7V@$cI@2efJ+s6$Ru=91^M+9#;Rg?s5CZX z0qE%FOX3wXlakHty3>h^IKzIWYcEg8U44QT&WP8iG+1PT+QPKPv38;W@yEUwH(Dg@ zI{_cZC{H)X?Ded&^R2EIN2WUqgAo$pwWi%!ppRmGT30q?P4_|olxdq=(NREwFwca=GEa08w=e8^3N+u}6iPLvm;$PeFx#j?tQOI$dPF8Pxdf<9lmowflu1 zW_1YL0}QniK9JHl7mMTfgFPU^nnFS7qmJ_>$oWq&0ICjPTdIz|A9end!*cKPE8TVu z*VShFY#qn+}|O=sQs}&_QxHWU1yieas8rcyl4Ay?ot}eV@MXI^Hoq1800ttrlXds zI&B8CWM z>70|oBwxMcadSa0a=+&RF*Lc&!|sdwya1ZYQ35<?Se*&sVMOf<#aB6UM);4&S{v z`&j|1p0KxcunjapDWZ>;ehW12mqaV(ix?Jh(JAZdzUiODz9;!3y`0p#@rJkGKTOh6TO zTyk274FILk&7hJ&N^q;Qfb0Zoo}kRU!-PX|x97wYEW4vF)m}_C(p#rKx*iXMXRAPH zn|uN1R=OgtnTrv!FQtlm8YhOglkl(-k~NgPT-y01Cf#x>w=(IpljMqLk5-FE{pLww zS73MBKjd$f^ny*7i?va(ADBB-)m+J*jS859!03H4PenFP`7t=7`bgWbk@*>nax43! zoQM({J_;HdIk05}aOMRtSfxB4IWxVd;!|$AZ z@ke2ej?<{qYuPZkwsIU9Y8AGf(6<7sU2$KvKknSIS}o7d&yMe%w3|JfZ|6oke%QAc zxz4WRbxsURPG#(U3P(4N>BHF>mUKu$5{beB#59(YY3y}`ap*GXt8wMi^}*C^ch^`e z4dI6BW6tep`I1^uUo|vjD|@~4Ef&dPTt3^J{k6Hd=i23|Z}38NmFM00sH%mvX5U}; z$Nu;-rpFsU8z)OMCd)K=Vv*3Dtd_7nIGDkD!DWsq&lp*m;d=m}D=p&a!Q@# zAYEaeMj|@3Z2*I`2W1>K=i(5y;0~&SU4ts9CaQEE`CP%hc5p_D^5_bB8RP6ReLJfC z3c=FIm$Z?skZKA+`~0L$+i(^FP^})={^CY^*F2{Zvy^Qrcn|uc?@kj%j{HvS@bLYv zdkQdlE};uAJ!VR@sGG;uoQ9LMNf~tyG)f;?^E6h#iFTGZ!bO&Y)30fzpH>~tDu81 zbQoPw`J`|8s!HE7R2_Jd;KZ$QD2O3R)8=w<0CFTpjv8U)o6kV8oSZ+K@!}g@p0b=Fz6_9E zn$0*z&rE$&=l9YydnY>fNZ=ggI_cgz#uhnNNAaJh>M-bvY?XeRsVL2&lYI2(=hrVj z$bs*ZDi+KML6FJ^$YW)|yo>KH^+VuG1R$y$uyY=coa<>ie{W+228k3Pm7kZ&Dqh(Z zrgDoR&LO27ILZl~bKE{uo{&u}VKmbXCR05pU3zR=)tspM$P1PNfTj8bb`#gtO*?aU z@p;&!*?9F~@oFToOeH;`N(`kVsc3y|Ao%iMbi|F}``c;!`PEKAt zf3|-;muR#M`b<0fw@#~Z*>rPsX13)`NkJkbvuIta2=ww$b#%Yo4x@kyUN=ZK8DVct zD#u6I=eMqKsIAVH0p{Q@uaU2E(W3|7Y}Ze3x?J&gk3IUlKkm%_JZ(ufCcy94O9gi zNKz6b27y#_{Eq1^KowO7M2&;3N!6eLD^q}sx%Z4$QlX-Y$Er`q8}+v;mvtMf1ca4k z1lh@P8)19sWk#7q#y@N>UwA9YR$LIEAPgENpqm&e^EeLepvb|yfiiq}{H?z41f9w& zLJ%D|E^XI6321CD_F6vFB&w~?LvW0Xv4f|bj05vJHp)|iv8x3Lr2;q`J8Duz>M)4F z8mb<^p2ZB*`fNJ>H5x&*19O#Y>02VUyBGv1gKQ|(3on)E^3QHRghIm%8zUMNfm zwu|!|oB+5kE6~RdB?PE|Fv_;lvo;}dwr^BXun9apOygCQZpjFkl;$Pea;;vr15i1m zK$qO}^G?Y1Bp}V8QuBI`^U~g2h+%DVPBqP(dAroQ$mpNShOhwXFuQ6{d+|ji1`P(F z7x&q$w+%^@L;jhV`o@E`vRp=S=aZ^8=-hOX76}biUrVr=(%wmLYwc3sNP%O$O&nO| zrZ`5F)?eik zr7DOf?`etts23;Q=Gm45_hE-}oBf=#dt{#7@whVW1&_S28Ds93 zdE0!w4_xJo<<)I}?2rBNIvk7D@#f;iO-vfJTMQ}7y`9K_jTg$qMSZ9QA{G8v2fDHH zn2V|a3UFEH!#0omC{PuCsQ_CYyxpIFLiGdg&PXqOv{0?6Qs(?q!J!W58(SxaAoysd zwF3!t$j4Nq519>Y2i;&4?lh`CwvO04RyxbVSQNY;uDmPT`kJ^*)x5&hIfwh$S+-sF z3=^=%CI#tf3_MXwn0(kpw!KmZ*0w<^8a^}~MNudgK2CuTEdpsZ@M zMf!ldCn2pOU`-E#`w~V{OSTu`0j(%Gx8aLQh@v1Ub=X)`6eEY479qS((I3fWRsvFy zK!Dvj3b1dy`{zFW**__l5>B|KvlLNssD#SqOXB_?7q)xYS_KUs6T?6=wdzAKRf)-J zBF=!EOkdWt(8f~`#NBcN{n$|Pd1AU}Nr}KjIh_krCGS8*DtfQU1spdaClTyv4(0nQ}t^ZJYG51LOSgv|m0ryg~#CI}w7z&w1 z9apV!0qoA2CFF7gZbvtDlAP1)P|bbYJ}sP?^D^%4K?cn?e?pfO45MTCuKyT`PevOC z)jYKAGqD6u6o+i0MZ?!&Ku0~JJ%3jGSdrj-1KAj*Yku_!)YiLc@ecIEs~@~)n%@R$ ze2JBnwsT88+8d(Bt4I?NfM#{iMAT`zj7VZ`f#i7VWPAD0+J7c^2g&VVw%e;%W2mIV zg*~SHQqX5DLIMrjs_H=IB);6^+rRjio_zYFOG8V?Zy@|~L705m)AcG>(CgoHzg2%Os0fs0-+#6fRk0xD%K&pl{ zq!)nuxf@u{F>9EDjhiF%)waLzF%@Z|ip>S7n!8g{ifymzV>TBc1yzB&ATurP)F!^Q zX@RPhd>mg0?_!~W(;c)#n9Uf!IcCs64)XV`W+`&f>ZYngrB`e>1&@mPLfsu--(`A* zd*tZ;O>rAmB=pG-3=$*k2%hM_<+xyK(L;JGa+gL4w|V%vhPR>C*MKpU=$Iidfb6K zioBly03ZNKL_t)$vr&K>0619Lle=qQyWrGpyewV=v|;CLa|o%q|Mst~Pk$Qp8B9VG z6M_Kh2)uDEQ#Ef}+lQ1uj?f)psWxVmQ#sPn6N%gN7ay0y7PVXUg%TwYByuiHo=!fF z`W$jm(o>$?Qi*euh0mgyO6+Mf@M0W^P;x&Lt{(tmhx(2AiJ5SWZYTDq8~xaqau2G2 zd(zZ(AVS%6{5rxMJD7-acl_wv?ZuPmEsPPjp2bY_0WTZBtf=aUGiGu8bAR^NpM3V? z99332E2?oTURe-riHut@EesOd9vAB~8Fl;VF@8wWBFyV2_C$&25DAnR#z(aQ; zwClw^HY1(;;N*>Na}lHL>beL;`3!diRJ}P1^*x;NdZT;0t;Ec@mNX5SJ{`jIe4ial ze#&xG#qX9TWh81!*%R_^_jVVyS+5YpjBRf!yMfS9O|^VryEA|S^H(HDzqIBhfj-mD zdlZz>=Y2mZEOfDgR`%GV&sQ9nwC{B<=_sMk%cBSPAHMbC+2_mEy}sYvz&jP(w@2^& z!o~B?k_9&#JJ}J{a-?Pl89VB6N~)4zG-0UXRC>v5!G=`LW}}+}wmqzcHP97oA6yE9 zA2QMCx8~jdn5d@ekj(|@75C3q55L=;eFPXdL>m}m7#|en63?V!4>}dT=!%{D5kMbG zo~4|$zn}21+>t&A>VzuUD$r~&(U8(S#yC8AO(M*D3A=G6B}ZZaaXyV9pHY+ZigexV ztzWu0`(y|2Wsb3FlVF!N*{V^j^MIV)mi)g8-h&hxdEl{H-z%t8+pDL3P_hG14RTPm z_0r*NTz(;3dO)|8|L)j@bbvK0uSi3S5MwIXb8rtD8l($9Xi^8@i{KC_X|N{TiE?CZ z()YkEU{(Ey?Wu@irJbDx)cW+t0om*mX>56Zrz`DyrZq3TS_o_aHxUm69an#6!CATA z(@7m6ZOg2br8Xw+Ep zD01oQNs>%fW~AA>iGuGDp7dcTHVVp1+@_;1 zpwFDp4&?J1@iuKd0V=>gc>7mIk#AkE9H3xLyTiONwspw)_@mpLZ|mzh;>NAOvM)27 zyZjyA7-oH~tLwZ8j%qNfUkY?&%b!~nJ~V1Nr!3< z*z7oK?Gt-9wb1Qb@~b*K(2W~--npZ1*Ds!Z3UJ>5h(LG0Z?taedKp30m*Y}+Kl)I@ z3DaBCo#zU2Q*Fdihe4b{j1-XM7Ja%x!`NLVouY@$8kWRaH=5!cOIbRE<91V4M#y` zX)JaC?!(7a0bh$=3fp!Pvn0{x%OtfhRFz;K*ao;vysCJ4@W`@ri?SDIpY8y}OW4JP z5V02VA?M_1DHhgHNgbQ?(;IL)Bl?vfkg6rP3(68q^&{AGaZa0rwV^YBK^ANUdrSKV zaS*W2WC-PA*X0;7MXLcAwDMaQr}eB)hB9QpfDXr4nhnsAItH(y4!|6Y5Qi%^BW6ts zV73>6OYYwt>HFXd$7QY$zRpar>l~JmPc{g1C!I(-OtK4HCiG1}e~FdYOHSq`6;~4I z!vrFS5Cos`@sn<2r8G<|Fyj3lk<*_+wYX=xjhLfQuofINqgA3iueT{?fc$MsZ3iS- z93Sn!pQrQ|le z&oEylg;2cWL})9kIu&-8YAFQbk&}#2f>)b`@5=*o%z>rejFU?s34ST5*qDE(l^KSKFz?=rhH>E>{@5lvJ47!r5dMl}@(H`jTD>SD#Yo`gI$x zYUfP*s%*v{+#WpqmbJ{rtv&SO=|?dk=(0_>OXXc|RBT6|cl3kWry};p{@5S!^ulIJ zlqR+FY!+tDQN@oE^cnEPRpdgQ5Zc*pG=24CPk5>_rFX@n{w!NkHM1fxV92Wq8Zajj z(*OyHOS9*Ys``-4g%3`ctAqFK=5ufxK=iZRLoTp-#CG+O?C`&=dGzv3%e3Pe2DiCsyiI6=4xRfLJY;J?YiKh0a>a zuH%mlEGk5VQ_p=KN%5o(LmGodA~UHN7H0}!^N2vHrSHIMIiSp>nt&GvL36eAEg;>l zyuJrUR9)49#q5~f6~G`K^;HIUHC~5dqHXsg!0w1So5+D>Qpeeyp%T*A5RJx(#4soJ zXjy!78sjUy;tXh#qNOF2HrD=@NJM0v+9V36RmcSB7(;Od?>ZSHL(ZU1TGBs?X`jcc z@lscJqDMLgXu%_~EMqtY;7lCOaH15%v+6x*$i|nM#9n8Ng>5I$=Mq@Si73s4r)f*k zO4S@~&Y#G!R<9n}{(QbXbba~-0AI)Bl{YfceLMxtyq8#E(zc=J7pjdTIS$NHmDXZB{3dBeK`<~}q0iMw+4WwLv*iFypn^zb0|B4y2f<=6kskAD0I zh4izT_8;5kNZcqd4J<%vcZN+|cB2v^`S9*~k&|Z9hps8q4ztp5)v=T5#lieEu{eHs zg}LP`0!**ZzqmU$b8v994>e!f>bVVlrsB`ml&8z-Nv!D#%7(i@-Z`!T?>=~G_Q8kU zf60GY`pg(HIf`iH5~TyzF;=CoYUf13^gzsDr=Nf4SO1k^Z6;O6=dqW+bSA*&s|cV^ zgQwlDzGwCBkNvSf=C_?RaG7_Q&G^mtenI~7$xIIPebW zGZH!1?Qi^wdk@zp-brsjKRE*&WY(;K-sQqP2tzz7SjI&WIP*H`+msj|8Hrf~YP0@f zv;6sY-~Ua(5*>}i~$!Iu6BK7F4nAzyJW$|g-;u0$WCDutwO=ma$;A!%I~_OYBR3@=et z6aec{n51tH96gU0*UA0(5k&eh-dKh&vH-_N*17zR>nb`<=Gi3Th&whLP(}JE_ZcPb zd<3CFze1b|@V$MM>rr)nb33&qOhTKHSC~z4scmpGieS*qU@WgF)!?*s7_@&MP!I|~<;@OV?Vsk@&BiP4k5!S>-bM$uj?sT^K|Ni0s zG}X)u`Q!TVZGUF98t+go$^R1>;8?)ldihBFlQN3cYL#SwDCB+HIMt_u^tPqTxRdQT zBaG)ERkOW$YHhPTY}aS|2x))3BCDkI`@TL(C)}O zNwRJ#_eNB6WafLV=}R|_Y1`MV&s{@vZPIh9sIG^q=HR3~`^4`yqNw$TVO-rDoA$*^ z*~0Dt=$FvD_Q(FXlf9WVDZPXA+!e-!T=i^D<0x=Br^z;sJXDxtd^S!Nj;3cWTTDTX zQ~|U&`FeZ$In@j9*W8^!1;=w1Ts#sHg}zK+=P9Ynrj)HWf1vJKOfQ^NTX$SaNtamPQ=2S-Z zc4og(8TR_;r#Ld4bRo_mj})_OIp6W78ZRWuX;sic-hd7W#M}lZ^)jeNS|QUBbDsxy zL3IGzf*OxM(jdwqDX!hgn}6ZiC;yLtwkgqPZi#ZWTDW|+dAOSKIxzOEu9+PjQy-LZ30CSTebO(c)Keub(IZ2uyMXNA-Vn;bzt zP$OM32^#3D#hd-+lg#iR$}C1zWs`%eB7W=g-uvt4KgwAJB3Is*f{bw$f*Y_@#b8R( zrfMPFO-n)0WN@V#CVUO-c=r|RI`f#is!q{P7k&8VH@^7f$Gc9Xo>;mA9;KJUs0|5h zJri_Gx^X=!5b7n&ru=jh6wit|3PsR)(8teQT@@BJ7I$_1cR|;P>9&efX9pnX(9i5! zxPnXP6iY4KPnx=zv?|SZ7$x^Mq*p>2yXzMp#8;Qr7aW%IwWvKB1ci8U?;D%vKgn$meAB7=#CFfaB=5@ituSnK54h0j z47!`T`EF?1jYxJRxAf}hMeHlP_Xl#`$0#Gb^EpNljB!cuC{5$XBm=}pC z%iQEujd{&FoURvaul!J{r$MyKH{IYdYoQh)XutXH!RD@I1zz5Ke*ECAeUf#5yxzyV z-~1O|JpKGGEYQrno50lNmrgG}nDuJIIFU|wxiLABDo_kmk(z?kgZKuCIF`toj=6Uq zAYGGZNkf>w5vdw%2SE?2oj9NZDR2)}LDk$n1B}OuN6J;WB_i>d9KhU3r0vi{kgmPx z1PkwYWhZ6xl}Q_g4kGDv!CFtD0qDwxAw4acZ6otWs$; zCe?t)FRJ>OZ7+D5Rbk7QE%_h*lVYPB&ND%@Ezw~pf97WKbz`0YT8M9S@tM1T6eDKA z%R=MfKAl=_2dV?IEH%X4xKIz?_|?;=e-t`{d*ej)gINB1=x?>}s6=D(hLmXe-h<9i zfm5$3Dsnf0d|e3*kN^sRpcX(6YR;eib5P?bx2ic|a{*Yuc=I~mEKa`LpZ_S3(-9*4 zq4l&lc`O0pWoI~UJuQfMv9T2?z(5^@F_rpmr5#{`dn!R~o|x&W0%~K~*aVC(_u3_YR*!wEPX=9$;}>AlWGJ4b*G9lZ#NjcID5A9lxxLsko`F~laF#(5{@j+ z#$GXl7Gl?|k_$jaHnla7Wb{7}PDn)0InQ`}S;o49)%$i9Al}JZ_n`0CaQc z)DHbVVK(#>p0U-moNErM_WxWQy<^%JW&T;|hIt1SP=5*4oP<2YK!@jCv`axEtc6~R zcdc?Oek?W;No`C%kZexI^^T_7Lhl){^0;<&1lx*fZBly0NrO|OMdN?px6dbqMA9c# zFCQs=!2OGOK#c+;X7emjTZ;BnY}cZe-6ob2UM@+`_K7P;;5Td7x+h!hkGqCMT{BSO zT$qvSKgyC)A}_*DWz2fU-+&5%bfU#J{T9s*Pr6K?UP8mOK>66hq?%;eqie*9uYd1k z+tVc^`)M|uPKg_Sm916}YdW$irkdvj|GR9k2Mz;*NMEPyv;=Qb2Wz0JAnGNO z*%X?>q0g{BDkg&M_2Lotr%)Pfpqe0(>+}u#(JPE5UNlJlX$8$$3%Lm;fNX*9u!;Dy zUPaoB=W)8&1VLT2Ip4hbO^eMrx!qFl+P&;%+!~Rm3Hx8N7jP`0Co0Ev-~yOv1axQv zBt77RH85UlaqzCS2;O=&px7$1xgYg>RTOoT170;yfhs^#b>sv4K{OeIKzWe1pyu@H zA9{a3r=j81%-aCw4w$AI)fGr&7l@!-A+Q}KFFcm*?xziXGGtar2T|!J0v(j&xOIUw zKM0`PKzU;@2R^k`^?kMsdtP8iT7g0w1tpNwm@WblmdD@h+ov)58QPyY+_{N(&7+$i z#&(|0NJ0FBdki*u*v0*27Lq>a$O^%Dr zxiBiVL+3=ACJI%&A!;=3Cxz;nnL$Q*zhWEG79UM>n{!0wegshPE=v1=n0dS-Vo=ZU zJt2|djzIRDn0s{)G{F&(2BcAQF_H?;$l(mbspQ)vEtK)Ygy|>nD#>z1DZY`YUo!A|^0t-d(5}`(uB+-eY8DCggkynX({- zjo~4=dIu>D$?8IG$kRV&yah+!=V+@Df?1lxHL z4+_|^Q?~V3xs3EoVat^I1S%1w8&Z;OBu?l;GKY7QhY?kMz@{Cc^9U`v)QUj6{pki{ zC7N|RoXR^^^*w7^LBx|7-^8K2Cr5~|()pL)~le!mh-hRAEQcz2nQ>ew*Rk#Dy;5A^N4uyEMa?pWbyStQw0##ll z8Y=90RMMUrb{$d_7&Wp<1A~L52Gt&|cHDdtbYlwqFS`K@$kj)0#{SGL=>ynJK+}wa z)NT8D;H+6vE5VE#HWHR-K~%FnPmmfWwG3H@0dt|g{UUyYdaN5DH#QNeNPFQ3jQs8h zh9*INHw94$noV+082%~Jfn-7(A!(|PVb`OwibT?^WP_w#k`n6a5ACn>z8Wsbjnj_(| zo`42E@0$Xt+05&X??~jss%0jMEZ8rFnGGdD8!`2983y5;vnV1kTCGCUp)hEsd?=3(rFfPM$Rv*^j8XAaFmmBRyh(V zVn}YXc28{R-0y0EyV)Sep+ttDcR&EC6YwTTEnA=)Ec=+x!p6)|*P)xoY|b5PSU?p9 zjx%M0Yy}2BdmV_(O?2~)v+UUJsv6bU$cDS+Ahj_du-0G8m%Up+g~tpv(W(j#gaG$Y zbr68=K`T$$CI$?tBVbMS1K1Y48ClZYf;4y&Mq(ez?H!ywq-r*CBrmwwyb*kJ!7}r} zv5H|eia`@I1((O)aFUpjr?TQC6of}?u9MF*FZ` za)}u^2`<<-LZnla7DMpx3O45-3(H3h_vbhKuAS4K~cVu<=wW^QV50g2(ILeO5Sj;&qT&}CQvDpi+LMq_k6h}s- z)klj27$s}#B)HIX@}!ZpMfj7ydf0nVZTlC(;&m`aPU+z`nXF`BYsK=1P}wt4v>!4b zc2@N(o})-`gd+>Y@PC(sANkJl95OzO0@!w^ahI52+;-BRy~2sCiOFPK3Q0uLfO-7h zub!Vi@%c7crRS*w7G9T0QFR2np~@lYDlH<>SD8Kd@=yz@nKT#Qh*b1GM%o{*(re0t zs++SfhGB7V@-VIKK$6NSkf?1G6DvXnilkQuvqXpPc@s0oHq}AKnsT(?d21u&wj#4{4WKCp z?aJAR66#H5pd>9zQZac`0+cEzM>_~WPhdoy>`svYd`eW>a**JFxSVi30@$2^lm|C` zZ_%Ea<-}V^gBVW1z)L)Xs>jXYH%zez3 zwhzzP1$kl{aw_orYifXi0=wVa3qgWrk5&(HE_ZtICikbH%8ek;=%uHptnlY zt(zE~8D8RmEL5VxdV)$Lhc!=_D6w$I_NX#=XNUZfhit(u>FODBLzZ|W&EVMF&mTtP@rk^ zE30dFDF*J1AR8*~RO*sfp~C-TiZL}_feIFEnu7;@dln`c9S>C-QcwogSle^=VwPwX zU5@Q~nsgZ}GfHjCF<3`23wYFYo;DikB(kIVSX(zIu!wBxGh3sXWN=#3Af78?@6H0F z)1``Y>-&sF7U!zH(|O61+dQ02FTDZ4_^m{6gR=cf%-F-eVuYvVo8^K&Dizvayy8Jx zWJI4C;QH{LdiB6;p2hn&j@3^5+c|&!k*HC#LK3|bmM0ou*bQjmi{z&3k(wttUS-Nq zRa4lu*_Sf)>>;OD=1{u&3P-cjX;c;F3p#)H!RG9N zn8Tuowf=wQ|5MA$&8=FQ_p2#ejnlxb9cCY9}beW0N|LNm9=Z<)t2UOP>{`&=b ze|%*(SG?N?xIE1=z);Tho&jDxcqahCQs*?pqW!sFJqfVg2*8;RfNjqcdcL2%i6x~pvi721F|!Ul>0h{+L@94=2I3$@g4sQ_jC zENlgLN$|nB54`Lkfj!2MRY7c#%SnapIYYsK|4U)=4t!lcRgE{t$+1A+?4?gxCOUr@en$2u{|qa`*;`w0XbkdUQQzP001BW zNklT(M#JVV+2o*lkfk2r{{Hn1(Y1^STtvEVhJN#6?*H~=#3^FUHlAjP~6 z9kPly=T@X`I8ikn`nd|vD|s0G@CNnbExmXY#+?m~FUp@uhiBnb(Q zet-pl?qO)Xcoca#j@qdu1q>U}^n7B21$>4ni`jK5Hlv_3bKH{fT>B{qm7N|5e(yRF zF_?(hOr{8%UeW(&*9kbtxgzw^v@_X(bCUkyYbU*KKAPVao$-w=zBCqaRLwDfdU+DY zsmi^$gqrHA7V;}{xXY{xY;j5zL3Lp4U+D@f(u7l%nh zsKHD(1{@D<6+xM!Lf2TnY1*@-1?)K7B3%TIb$X{Ty=kBEs6>?Fzd2}vbYY9a1raSy zf>4|5b;BHG@~!weQ9GsaJ+BlDV)Jxu(7E;e+y|DZZDk&uqkT~y%JNfmM~ z53b2cIH|N?0J?eTx{#`tVRi7S%Ei5R0CX2mHqU=D!S0vG?+(f;kG}CQi8kle$$Qa) zrIx{jpu6|@7yjnI_umHOy#}|TzDMK|)Y3KMOA8>Asu|wHM*G7bS}%;(OZt*AaclaQ zD`HCpF`&sR82{2+dvigb_vMb|@z;9i+K3rRqpUfJr1_Yf!}~5L-yc`ou=2LoN4Yir z+TH0|pS+zOzT08n@(y*2`{S!IH7LdQ#<>4gz398moq0F~ z*avTX4R1)8Dr+gQrK)Drld8PCkLcz>y|gY{kKs;Z8;bmp*(5cpX}J~eU>z|jbpq+7s6F5M-5@{W z5kMo#Y!w)z-pDvV*}^2oId?!)CO_^L5!RRd2C57dR$)teKQZZ-DeM z_fG-|T3`^)qe(4;95aD5csTKEM1dJQu5&@ZVt>Fh0O-GYzLj5v}mt{cBh;2nMs1`q% z98DgH05Ni`XD;VvDDHBO`rXCaro(CNv}z$b=ioy~i9D!Od~SkV3FoAE1hO`ULRmB? z%fAjN|rcx03r{mi0Xby7EMwy1B(+8=b7Rp+QFiB&~VfRqeA4Ceg^>{ z$o^WY4u#I3o!yyGjHyv!W}88!uN(|hp`vJBlZ4A4H8S{JROQM5NF9j$fkai@Z-j;> z2}?j!u?hsHVB&~E=q9_=KOozjc@iaG-K{)(i8Z=v!z5(>b9 zlZtk?M~>Ru09B~=HR0vjAQ zZ4Bc`C&paJ|4XSD!`CQ^&9Y zf(cxEpA|sRb?qncnQHE{mt03e^d^8!cj}(EJ^wsZovSi1ie%1ARUJ6@r47=9WoH__P4bHJ_1!LWc*>xB=sw{{aLcb=wg<7s@DIuJtcbslMJ!&zPR6< zei%gdJJ1sL!rhGC8Nj7UsCr4v;-y7!Y9AQCTA;^W3jfE>qo>B0SBbB8UN}{bhLhbO zs=O@PD~X|~Z8$Q`5|?JQrS?Gc?V-=ZsO8y^_+~etxBNm!?K2&g(w&Fc>z4A&jwU<% z*WEUY`(uB+8Zqsy-A`^u@vFb_*FXHxAI15+nG7q>MXec#C+9ga(3uCci^xmyGA9V8 zO;+9=w`~(+_YxL7%)q7)8*|>5&oiBse+t_R-B?Nr%_Yi#kgAEpqw!p zayO8bdL*%fQZeG3h_-ot8O3kb==u$|r*SAQ)rULpi8oB z&<5%7C8-to9HfGNH@r+R^C;(y${QJZS3nE30B=D3s0Be3y#7QrF;(C;xN$0vDw2$@ z3DBfZJcp5*z`WB!xs?D*qyZQIk>VPjx2gvz-{@@Jhb}Sv#D(G@bfjgU&6{^gd?m<{JD?XkAXC>chM@!%2 zd~PTv(YsG}LFiTm=qdS!&3t|LnE#?XpJBHbK z^id)-oQ_;hMjym&WV2&3xi)4hntPIjQBwg-+C7fTOQ1sJ_JaiZa*7vLVM355k)%_{9|(4AYp{n|>x zwzM=q=(y^_l$*B_D?a67jdV1n<123Qdn=bF|nk8BU};LeA*1M4v~JGxmKzl%sKQn{*=7efb6PFvp61;-@vLRXrc{q?-;r))T<@3Tujo-XjWy;g+W9X-gZS_V ze*oSklRCyNq*D`A9{xnS4)kgj--(EPR253slK^SV#!&%Hp1>|y35(QHxD>rlD!uG% zVYP(OX;QyTstKYTGP*03k!9y7y5(*|W&9$GK~t;=n~FiFwMWu}O9hP%j%A?zN!Xr+ z-xHw7)1L|CBs*MOI`Gsi=?A*H&wLJ5dFa;5RvC!wxdmLBiOThdbQ1 z0d!Cvx1h>NlT&>H^E4zCfa(}*NFM`+>PK+EB@Jm~1-2j!sz@ILZDM zeYDGU?uDZTUl7@#+WUxBN3gB_Ll(x9Ba2gJ2ZZjzj!Hd%e! z$?s{0?Ne#4xO`$PED+Z8H?&)$yShfl#LS42%-h-)q1)RX!f-d)S_=GM(>>26V@itx ze0prmBu(mo4WQUuj3~Kxj7SGE<>a}kY#4}4=9Q|1csm)7qN--fU#9RN1hCS_%q;+_ z?!jKfPd80hKYZuA7pI?<6SU*Id+*!d|Kz9t)C2L8+^w`G^7p0z3tCXM41bOHA+EY& z6n&n|6)|aAucA**dG4IdZ|u!@vxge6<7vtJ>cKbr^;2=?#7JYf^msq4n+L+$RLu5% zWtkM6Gi(Pi)yJ@#+#12TIR`PUKd~zSz@!hsy{hlAUBC0KUpsyBBiprZpScgSM}UK^ z*|)>~cv;J2R{D8TR#Peh<@`>9?d{+5H9s7x;Z)7GE3mg{cH@Npw9_!7mOTZ_Yn^xr5~ude^Vbg}$22yFXsF&M=CcCgJg@ z9GzSHRPBul=fra;RxFK?XfZ#=anVe_owsM0e_oXd@U{aD6jQo5C!2@_@#c! zJMLIe5Wz$lEh_0VPJk_&6X8WJNkBjw)Qu5WWKWt=0U)(tyB2SRf>J>RK3Dn;C`C${ z&4=OlHW*j-QPk~GV_U7h(VzbyivNdz-|3ILGG{s%nc6h;Kxr+d!-(hr1+{>=0I7hm zOLsWWTvLm;ZTAek3D44ulz-+(QkeiSL9_SOG*C5|V@x3^Kalo<8>0!H@nr-EHlALi z+zOcy4m!d-TU*UR&@%>iAVpM$S1)OaCTMZ?IbN+Q$S!k?s3LJhM4|3sA_h9?!!~!7 z36(EP#w>{qM&lw#nr2HYR3t_;`sEA|N!DSTwrRG8(g7Ms`pY1{ZsX5Dlo3o`gqmvW%i?4*K?NHuN659O;@( zdwlQh7tcQ~%lL9;j+G+I;+(2JwB32qEw`>Rykn!0YS?b#dmF_1CmpW}nKQ~MwqsiD zq!x(IOi4bbR6@j{MG*JrZLvJ!3WIFX6$(;R+2KjEi*Gh)rEPnF@t0KJ<0zL9&a4l> z47(BYfC7wKJhGcF#GD*(aPD(A5FUK&PLrF_iRj1G;1|)JY6-hZ_A_JWua4gBPd`ZJ zWZ}i7marG9xo_L2ITTBcTMl0dBzJm&R{6DW{+X}%u0Mx9@6q}FF&@qG;6_)+akPK! zJAdgHe*NDns4LERwNHESZ4Z%~_%Mf??UD!N?cb%u?O|GE_j;nwN;h{8CBd%c*rfI1 zXy+3v0I;@iFJ_GzZV-KLqy}rddH&J|%PX)v?&tq~^L|N_%-ubz=Ek=K2|8RtpHo0{ zvi8}oTnCyB>WoldjhVtl^f`O-OX(v=0I053Ld;>lCk&({>4q2UPGtGr#c`KaRW8Y8 z^8fHVKiqBnrs}SgqgHWY|D$4ITm-_h6>0!n_AGLcNBf`t7k?Z`#~cJShHuod#<%;B%m{_F1*Kuk<3s(!qt#L&@4Rj@1#^U#ma=fmdf{4noNcX8)Bz z1KRofQRVvpEqrAFLqL`QTQBr%9s2A%`kaMeFXCGTs%-la?5TGVR0n_oZz4x8BL8T1 z4c@RPBioTZH`1$JD|I39Gf>G0=)9bWR|pY4qJw}tQE>fIv0U;XdmNQ@ZHtmH<{VY-MmADX%#w>jjkKDgPDwRQpd5vbqtf) zi>araujrq&uqw;=@@3{;0$}@#LCg5j*M9ycwl2KGS6)UnbKjnC+gFU8*?IcCc>Ymt z1>td4nf6A?qR#-??mS+VO3HppE@#W*cXwN7DZDlLHv8!W;*Y-Y>@`J*LcpVaD9WW&(OeO?w$0xjxL!VpCmbHrfyK%O&Z%u6ml(@>aYg$v?w%*}s%z|X z*bBfyHBkrHJn<`6Wc=9Ys!tSEVKX^}ry*u|MB+uEVutiVc|fV@pImb}k#27@m?A2^ z4g1rd<+_0xXFPiW=zu;m)FNp*s~2yOJ_5I(#UwXLxq!T8X4wA9bV5=Uvn_r%oc8ee zcpiIl3W?e@*~N>0evy%{QpXKA&*>{qFeeBsihf>J;4b~7{6JKu7n;i?y+D}4o$ zd`fy1%9)Yu(3FV!u8g6mvh3#8osZZ(QWG={AQU-ScnMknq*iR#0Fypp^CEn*6G|G0 z(Kq=}+Is`K+hzk=f!6?m7T^xF0#)EHgku`mc>KKLwGD6!Q~}cM1Jn-iCX@`utUYQ>)rby5Q?+2*!@K}F z$lK`pku@)Xj=2j?gA^Fksy_TicmBZ${(3F-Hk2SZ9<&bkZvg`)p;yi^B8&+39bd5( zNHGcSGZH0MX@6(M2TJNUIu0~w7DLR=1Fk&>b=09%yV#=2Ci=(>wFr<$sWf3n!%rHU z$X|Ns1_URrgf6X^DbVJ`QAuqf`zq;9^ za_Khc_R;6d;^TA^FGBE-xStK1vu$-*tyRiVt5lLiFMW8}%ouV1k^?mu=v5(6?U-nT zg`k8)5i3zruAYejL)Amr(*Wd|vGCTzB?M|f!F5nALljA)iZMXyz~czqf>hv;ZjRsj zEA8o@h;4}p5}dJ`E%&PVI-3_D0-I|2p6#FecJTVq;{YLjAAFHK$bdvwLMJ4UuibTt zLW5ZE%E%k%(y6Lrw&#O#f^9z&Xs`8XxYI;-ckYB@86fstZ>qqZs!rG!J6rL}q?Uq> z>km|J_^aeisTlT6w(Fw?E6Ra}N=mR*Y)whRw+ceYf*-!~s~4vqX23Pyo)Q8^z^t

g1N0v&zci>t;iWaFse*io<~WS>kO5x{2?qNwu832JgakXg5R%yK(+ znRYl4{=U@QtFB~1NUz9>oL_EKwHhnnrz*yXvJu|vFZ(XI5Us~^b!L!ei|^&2rVv%t zk?7Xs2H511rXt}HhQQ+BEz_OuU`|-FB$aULp#HoVi!dUG(ySLTiPTzYYMKDwDL6g@ z6y(pTs-qw^qslaMj&1a8(sRZf6`SBL>nhbE(Afe|i+k+7J>#+@H7Hga0O!v?{^l?I z<)@$i0Ja++JnD*Z1KK`b_s0(A>@NS4-~M0z?|<+=%653;-9LB!;$smOX}~sz@0!i$ zv1mTW#Z@#)ZHz2QrutsJeDKG=_d9;3^+M#GnBO4Y?@&x;)#B0m=?{h{QsFUntX{u` z%_!UU;st>9>609gy~A#m)J@$v+x|dnp54E0jk|VltF3OZ+25peu!+$GZU}q5ED%$?=x_e!Z(jYhs)}2VcWvRD z@$uV!5=VcgSUH4LoxYB`IV_+24F*h_21x*XX8R3$2q&9FQp&uuA6b$OYlbIgNTSeNh5y8> z83{u+Ca(<~i2kqr&Hp*zbWW(D1&H)XC=A!h1J>L>6+J-#R_TXe1FF5*J@;XnwXo}; z!a>1;&k1@w@o*$HU<2Mbs_cu8|9*(`tykx8K`(cK>1Ny`+y0rS6;su(e+nq5V?cu~ zs0I{JfdOi`e?s2pfMV(ZoN?HI2~IFAv7GDZ3(2$#(vn_LL=W_%j2 z78u$q&5d_0*-YE+GioI($fUWD&3U3$03m3V2u&p9Iv$c`9Xb2W!gA(3E!7~7WP|2L zmyCT-wMyRLNYp)f^XKA(7Li)yOm1Qc3(`px@BUiHGk_U;{*=UR#^;SBGSZ8(PhJ)Y zuN)M;?}eZBE=5SHIvPJiH2~Y6jteE#dhw9zBhi=vndQDPnkKb15DH*MEF9yDwwq_M z%24P4qr^6U@7MkY08MHtax!`1P1@(vpZ$}Q$KMfmXaQ=^ zekLNO4zQ#TgTPd5x@gzpel&Nd-TB8t%3nI-T9M(_qCYU8?B)yMv{}*YW(&>gUVHKU zE=?W{3nXUa>wu zeNBJ+zyII=!++;rlb`u_|KtDqzx%KLqx}T2KlaD|c-^P+*V{Gsj<3ttygj<4;wlP- z_7vALPc}J-X^BG9U=-%!Dep3Khc-qbN$^;e`0IeU5dhK$Y)(C*%1r8*xdX4=KSA0> ztr+Bj!qJDF zkP2u6`>ztvi3ztCq=(r;AHbY}7T`5d1AuZ$HO6az5D|#E1r$-u+ye$wlWN$U0ZjTH zo96)$HgZEw>X_|Wcqr==0~B~vkq?yuccDDoL~;Hg5*kT`D4-jY2LQmNR%|asar%HB zsu5)Ia4lke*sPP-L~|qERP)1ke(8%3e=jERrgo+r|BPbTBF)Oi#!1yzd7BH_kP8RR6I|{UWk6~nwY85_}6iy7@=yy;$u=vN(&2Oqn8iO`bn%io;&Um`iv_P5UzME zmPfZXC+?5Cbu`WLI$!^-fBQdZR`)L12UNUs+Pc%?vTCH;`&RRpJbdt0l0z$1wx%`0 zSKNqPp5n)|?uA*4p;DgzbslJ6D*Akd0_3^faEv|!VAR#?0>12z{ju*nuf_YgrSgb7 zgg)O!m%HQm#bp`LSJofX2@g&Nfe;}mlCWQ8O1s?85#LG{HA`rWQ`zf5RgzEJgBL3`K90XL)loqR?nP{o}KgDX%y;;ME7?m#xkMmv1= zVw9i8!bh<7EUlWjT0=+r|zg&{QwzQu;-&I;V#VeMum0Lx?)8?<{1FqNGTIrB2aj zc`cj#EJgvDLIFqGJ#_LLj-RMx zT)|-y;^C}7xK}#Ka16tRQ&FQ$*re{tA5ZP001BWNkl9|7N}X`f>_PySM?D$Rhk%Kf`#$$tEx>>0|9mcLvwV$_ zS%2ZT)w^xHu28DB`^QThkTSRNHK&d2k5}n5`MWmz69cTfx;1*Ottzg$dpt)7c_w4#-AqdxADuj)z zB3IQt+dmoOaEF!i252H0b@WDhK~)P=kZ%?RW)OkB$CQ|?j1XzH$;;xHJ3PQW8eppK zbN@vE1ybgkO~ML}6BsrJ)N&RHiivEweyNuMElT&~$YeXffiX(CZ>40_iO6#5c zbkc@0?@}6fHWx=^D>GYX>^W_KA%vMjbC$Ywo!C3s zFJ58!xCy{Q6cFrJmKz?<|LSl2joVj}P2z^Cxih2YCZ@#8({GFD^G@5R8-7h?^!eHs zdet(E0e!~HSX*zNwS8x&N518gbK#d)_THc!zCN*UQn{*pv4>u{Dkz$pmsuP0jfwX zK{cqd-RFQJRg+qRny`pG09x3K&>%gy9YvoRz8TqiX;kKfWo842kD#r=0XiqBLyuN_ zxI|Flyq9AwsJ@E(XC6BDyRQL3kU_qV#Z{<4u9vjyNtX*;Y)_yj@iD>Ro8u~SjGK7T zmBryh;keEqPl_kCO7bgOY%i^_#>xX^q>scIR6!=5RdYWM8Dh9!H6obOF=8^|CsNc< zfY06GkWiB#M#_$S8zH^lT#IoW9ux%nIJ!E-@wi-%jq$gxr4PXHa zbr1o>K9_7g*bNHHAE1w-M5bPO1#p)?b}3<3<>N*6IRUA{KWPzMjt}*vHoi(PZoxT+ zX2;}M6rihxHSOJijrP#h{@6Xz0Chl$zbH-Xx}YFYLX$bqIG|KFjdtEiPcrW&vT{6!pU+9Zsk0a_j7&&j6I2f#zPZlZWq zEq!cB3ItD}=E1)%s2q?6H6R2x!T<(Q1w!!gBaeMM_|+rYjjtkC#{ftjdk~y^|1nyK z0^ts9fHpw7PFV9D*bB4yq(1xw+x{$g(-G_$NCQSy$864k9xz0jxd(buhd=|h1gjvs zYyiWy_ZkhK{8bnLgG^n8(V76AABpF;0vSFiLF6og==wT!G z`(^mOOas)Rm!hD*;a`EOPuQ~yRr~=};9}E+H_c{!)ll@3+o3OgB`w}qbz@t1QVBto za|wVQ$mUy6vS^r)UXH-4szb_3veP(kfaJUiF+lB6hUUHZf93hJkESCfN~=%~u-?*b zKKu9&MOKCc{h5Ri6XFa_QH!HmzG?gOWQNK1OvwvQsp8{HIeq$p?arq9(SGigCwEFy ztAK7x^(tfA40Ce+X5@-BbYNlLmiNEHVk962i1?@B}9m-lhwVi_vz@t-91c)tb%i?~Vz#p{V*}uAn+D`txz3`8- zzq$A5{ZPm-e+Eu;qIulr`V^v#>(1yhoi?kJmH$@1Io%e0@nuH(ONapZ1}=K-Ifm%< z0Kxh8iDoz6LDWb+us@})k&*E=mIFfjzJiAk+|Y48-5LIB0wX@+`Oo8xBh1GZobxTr;^mdI&n550Hm7f_#z#T4jpq0!xN4AGqRq2P}Zi<|8oMe5wkLCK=DNc$i`B2 z1X$3(K(v6;i#J0vQo%WmLu)u9>a$$%6^DC%WKkhT+hwyfV_(1X^7Qgn(o1gtb}Bxm zOFm=byhl38?a^f}lvTO$1Dpp`O*KJaVFF4PE-^|ZaU@?32I!|h`p3Dib3vL(i78@c z+f2#u8T5ZS`Oij|8&d^iO-8@|GfRISFl(yRF9{mf(g7XVf#?*q14y*a$Z_Qg-)d8rkXCnr;M zMutc)9*Pgt$&x|PM*xCgh*67sq;;r>a=KXH?hC*yPrd`#x4!ikJBJIomD-)0JH31~ z`Y|R2G=rvgHYA=;cF~Y2`o-`6#-|_r@N%;T>8(V|M0ZSr&UPP9?vE>=KX)mTA%Hd) zPYYtHD9n`z+gVPA#xS;;*rRzLOui~Nt6q^;cDr4xSsk1HW^MNa7U&f}|0{MZ503h-z0HN*@?P$Le|!mR zB9&pd(zGy7_#$C0m)b7}4PvTdp#T=VGZoXd9QD|cz7IYdf^$_pV7nG2-ZbhmkAfTQ ziJzW{tO5&ofJjV?T^cVm!NK^R98cMq4YptdA}{gb5MinTz_Xq!0HB2wRiux=8`6h9@k|rwimE1xC4RI0x;w-BVU0&P`m{;L8)|u)6ov9rd}8tsybnNkpR0w;?rr2Oy4iZ zEkB@RC2~C{7^{ji7Mv8SbL{L_iqo_B3smzUCh9s~_Hy)x^m5@4V6miihasREu+8bH za!h%S$JCS_PWb=Xd(&Xuva>wwdDq&*H=T3t+V3OESgu!4OY`_FkW|9z=KmsInOX_*J!@2hi z-?aB$>&=g~*4}IF;Tz6$&%J$ib#|W^2S@;!d^M2hqHLTDoErEUPtOjXqhl$<8jtl&JyUogJ&hY1A=M>xIE> z6Rk!#f^>I?>%A}59s3qt{;#G&?O@!INqsuHFvG zp%ZkjHWck{Yfxj68kH)r0t#^MR(}n|T7sqJhyker6x-H8szn6vJ5^h1v*W}iT`xK)F--06t1gq(6|)$0lp9kU1kh3EOVWs12szTl-3m>s5IPZ1&zMDgUKe*ov>7Gm zv*{~VyqE|`z%vU#nBTBN^sH=gDMJ}qB@Her)X%VY%?wWnsAsH$G@b~Ez?tknqGm5u zcgSo(SdtW7VzqAtpxL3=e#;w04oiYF51TkSju?~x1(1LQcmfo*B;1%E8udx*k!XHU z4i1)80&ntg3kemasUV4j^%TU8-<{i#+mfseMpMZ6qRL)(W>#gp6%|H633v|Chn_Ta zlSK&i7Hz&PB6PdrP@kbByekiQE$t;^ps>wiT_~x6mQtIaq3AFpe_<8I|$i4J2! zY7faO+c6)RwRbC%3o6@gn7X44WAZA~&Bg|YxOU5U>>Ayo4FX0(a-?~ZX8UkMu0)4O zB{!x5-EorUbz6bFQ#aL2&+C!w*kq|1(tauw;I|S6t zd2j7(B7FN^z4fKXcP%{aCt1|!|I*_@H}^uQ@!&P{Lk$o`BQ7QlfUYLIzMxNX2x+9O z=Z(%R8zmjapf6h!QCt|T4j<0PueF_u8x0a_bHnVj&KHttntMos;t}V&-V^mbt#WtkY-L=#tqxJiz6d^GiZ+5@ zl5CVSJI_65XQ%bt`uIeY*2Od%e+kSb)=b802vHS1TADN2oYts0 zTa4I=3yVPo+8Xmiimjdo!^&k?mpP{k$r@Zh420-`$qQMXhA-!w--MnxoU|09a28lR zgPwXcQYSoOz!ZC}2*|3xk`<{Sx#99hwv0Ssw5kbE!Ww6(%I?XwYGiMZ1naq@Gdtq2 zVLG!(*QIe0RN3nkodd;Sw$dNWwg%jS^#&H7+xD?(tNXtlFtMT!rf zg~TWv0#xxaEyZ3qLqc+m!vLvl+dWZZH4nrzeE42g{VhPUnt)x?`mYv_iZC9oY3Yc1 zYlxorc@du3Lw0290T`pOVRhIO;CXqq&M?%FZN&PuYsZ;Xh=`S1*DN{|f#gFhb}KG_ z)TRsP*PZxONLmK1cHM>!zb+fTdDKW=D8v)2%7IKa8s#zoX!q6^gJ&^ewheWBCn^4%*Rcm~a0Bij0IXXhM%7qMT~R`Ce%bPVJF&sK z217o6tzn2T;XLk_~} z#osm%4ScEGw~hg!^KH9OiXp%cz2!Tf`NJP`Gr6!==R7cnG?S<3Sx;aX0|N<>g69Bp zzAbwX`ASNFt!k3#lifCzoK}Z4JGZ98O_k4EhdLd$q+P5Tou9?-r{xer z^1aCPgiN~qIh*xR)M1f~#)2o-B-cDh5c2_|ic^l^J{U;!J$Ryr-t_kI?#&|^seZTF zIDa*p?H~EwCcVu+_08XvZeHGg_4&h`CrXD}<@ZbfQ2FeB7(r`q&VBeJ-=~PSUwh>Z zJob)fp`XQCp!68GPwia7&=96oQN{cAbMRs)4>49BL z7W;lR=$}DBL#qwa;szAm+Xkp>ZrCB;;NA)kaPww~N=~}krI2BjK$D=>(3lpfn*)t# zL)NBF(<0OCz+$SFvzF2U|0Jpd+@SF5O9eVuM8gVLZ`K*up4p{*70gQ%4IPu3ys@tu zLefs=LeJ-u8=%xJi)eTVHxVA+T^6@q{gbe75Kvgh-MTc2^OCKM6Uh_$;Gq7g+}*6+ zf)4frSb_TEJAdTOa-lg!A9OK99eUC<9oz2YD1sHAg``qPTiH5=w{p;Y-fee z`s&$nPr$pQI>vi<4m~XsRfg~OI3)UPww*+j)?g`B%wPP%XSZK_;gI)yAED2Fml%vL z6-6G(0Ud2+#)<6*6M&aqcQzjUTHfYqKU7Iw5;1_{Lx`YB)bPJ38lInv)gGFN zc6n*tZ5@vmDV|m5E?zgyBngrNPyb~f!+?ex_9AM3e`&k10ej96uE)@^8T zi`abFsU*XzH-hH_i4b@}%bTiz-~xy!GSbH0)E8_a*sbEH-~C+>{mI^|jjEBNvHh&W zv9Cil9sm%@IVZC3PozD&(3n*cHEpiAx(fBY@|4KeH6poX2+rZ~F*BZ7xbe{A-#EVW zC3}-b)rvKE9zM13cGKOCte!)pO$Ict4Rw*w#e5<99IS=k@WFrM`DZ^8Pv`NRk{_)s%paO@Ih7+$LYO#3qV1=vjKj{-xfu z?^LP79Sh$ykG#*+lmUDd<{F*QCrX!+8r<;AgcC(k7W@kA#cCqd<>ff)U2^y!s;8hB zP|gocRHMc=G912U{uEI(fX=<@0W|2$)IG+V7`@xK=;TvVn@?l&H%*T?*&ta{0~c%J zp$As^?|_m?wx9DL%4tWyqaqPGq4~pxeB6)^*2T;ttWcc@Z)O;q)KeQ=CW2BG(6WZ2 zFn92w$tc_)soZ59^l#g9HrX!bdyB#GD-S=VSrqxWrt?{36&EK;wzO}#+0mHu>9$7@ z77H8P)rgb~)M64gci!CtMW|TaY++p!(sAMn+^*kUzJ*{?;*coqTk19K8JOhAl>wFB zu*y6I#phsktEr`BD8BXj7stCVI=!P39j@(8g#+0dIW`R~5unc{-W}K*Dv?}fHKyna z^qAr+P6EsHr3_+dC9{wRfOzFnAiNERYF{DUcx?C97u>2;lOV6QKpuJO+jeg~>wU&8 zK&<6aOc0AD0_s~&&p-QV@00S@%b)L@BZBSU2LOdR!~2fG;*I-j4|N0$i+fAcOY|gr`&qwTe#khwaQVV?Jh|6HLLA+D?@F8RCBSn}zg|BE zn^*Gr_^9zIT8~R|*taZ>`h@h>Lry6NLnP^-cZJ9K<;;1#Fu6pKD*#$nVh%>%nac2>rnaFS(ClVrE+sM=Y7Z1! z-C;vXBetGJJavRtFQcXidIrd1_9B2}^pwhOS@@>J)WpbH9%U63mz>QMdFZF;gC`E! zjy=&2_H?V6q|y42M%I~?0agkJzH0{r6Oq$Ap#&s_OjwPh{^Pp11LVNGx=H&MgblGM zc2qtMBChk8Y>I;$GCs;!2VjrIxhzOskC zx~lX#EBR(>usDU+RIV}YMT&;e;RW6w-t!>NAPaO%)mzFNOdf^2O$|;95 z;f(U1LKov28e)N=XvAtvM%3GGYzSvK>D8f94AzE)7ZQVX2tPFi2e^SzH1#*oNY)s3 z|3ErC5gj&$t(4dRz-s6!2=BEvbsg!5k~j)yCpwX-a^Y84A0nz>;ksOt_SSXkdJ7Y| zMjfNjj&GIRO12dfPd6__>pzgrMRw86Rvr8X7-7pD5bO)MlEug06`Wa_Kri{w13sW;&W z$1f%~L)z6L>OZ9Cx83{}$T2%{4{etQ`zIZ?LznfDYV6yIpoFEGw43Nn#A+W9&{H6R z9s>$uSP6z$1i641dQVjJFTSUkz7pc#u}{q&oO@)x|B^TJz^V3YPbwX|x1NC*I>BfH z5RI$gt9kkChjvhkX~ezPW~V*v z@_aM5Z~X_eG_1!W>vHmS80-aHi+4gJ4^-3fM%2FS81%m*go&yH{38RS1uM>j(BW z?sgxJqm!L{!uKxw9Z$k`{_j6NoW}e z1`lCu-HNDfDAw|Nh-la?s!3iSU;rEEuXU@zh!E%Xa7>SQGPJ-F~VprNJ};7gIt?%0i0I~j5{XI47M44|04?rqg*KXTw=Ts=soNX&0}=eIWA zDYw;OaEPYrP!^{AWCS1@UiCbUH4r-uYcr8Xj=n9Ovo0WdMnQ|BzFE+x+n=TQ5&)50 z+IZ-z0KRzrYXHQ9N6fYMZhXdXZIUA^#%1~jXQtqZqI1wQSOi}HDE417cP=`xux2M{ z8S_#mF0&|Bn?blSNVrjN62jm09UeaBobALD)U%q+BYABkPWXZ={GP)F1}kqwFThqf z{0%Lv*{2mo$8xIp&aLN8G2F}#P#>n#)UbzXXS&ySdy2rUYmdES<%;Zs6*C^H&mFog zIq40BjLrRT-}pi!L`ImMuHwnQO84W15DzVlK<;&ayN@@XX*nKu%A2LyAR!^wsv4P3 zyH(>)ItV#CPHa-wN6~egrSbKAM;E()@xz-Q>V$B@q|pCL*?Y5dTT#)Ot;;VAJ!I?{y4HGs4=T=~ZQmf8vbLJuhOaUaIRK%A_o(Gr>JS~Qxl&BAg;l*zz zF#<(gjF~ftJ}7ax!`vdFLV_TB*T7TPn5v@dmZBL}8dzAl43eJpQwl_e>Fnsw!X^Lg zei=D(F)EfiIHc4GkE*Pl^fm?5LW&(suidv=oMu>09rcVu)KYsmsV_brc>-caiaHIk zs%A36>F|08l}hiPMF6>4w?MX>#QJLDM+@YAzG%S{tx5@37_Qxwi8^3Y;o(gxB(&-V z($^YS&_cBV24}GP?Dpyujl8zfjj}M`0j#0VL&Cf5)(EF<8-TO!=}3jfWe1qkR^qtq z-FhAXS28KKHJ9T{Bw*U3VzRG=GHcnOjpey9DB?1X& zUF_X?u>*0|bw^PDR#`18q-KW+`n|}E!MM9ITLBF;j5+}|VKwP4?{0AODbDs@Z4RGn zZ~Z_uGX!fTxAcDxjJB^J*n4Q8mlOlweA1{oA`8euPPV@oT-W&YmM^F-g5*mUBb*-? z6uZysu(`C~MO{eAb@?63(bnOVE&xCz=95o;<-g)qD0UkR1wh64RVU41&RkG*&h8M4 zp54~98wO1AIf&E+7@Bp4Xk+vG`@se0cfR&}{wC{U@8;)3bpG~B{~r+LlNUifZ_Cs6 zJy!dnTe6*#x!48pbszaV{VVTv2)N_0A0{eO#dM7Xa#3{7jg+;CyXhr!(DFUKgC)AF zB{U*h@8dE(i|UUuLEvTGe#2wL!Mwh z+0iQVqCn~>pj+_NhXg38J7YPLKFKFB;_ind?GMmVcy!R0c+jciP}_AL6GE#43w)E1 z;T?%HNcuqyFjx3M*PKRmc&G)!^R;e6tpoCn+H`=;Sz!(70>hHkrCp&h0L9usy^&3c zDRP<*2qknW1Un31L11Ms0e0qr1d71`GC)A*KhX4i(XRj1NXB1s9m^kaZ zU>a}#E;E3bM2|$DCoy>zcdgd z(GT7-7bG_t7_I=%!Ax??Vg#lFn#p@3rS*jfUkw{FwQD`;s9HKKh}L0BQj_WAX4jR; z1t9mj2Rr_9t)Fv+o&$iGk6#9O4>mCoN8&8%uvN zZ&3AlVHhdGnH(=a_xtWQs_kZYVE`;vX#5(Vm-`!6ykXcKI|Umst>jLwXumD`%gsg2 z+a#-Y%WB4$wa)Lio@{Iq3A2hukHnjgnJAWIKN?(q^1XisBu7{O z)NlRl4{>paM52prhaC$NJxB32+uQn0Pk*a#mY8f@_uO{@;5YxzzdXJ1`y#z&?JFpK z;;a7riaSxu=ZiQUqu(P4_#vMii|;8$Ubl+573vCAckl;Ewo! zI=mwelLED_Ii39ZtPm9)@Mk-KSJ1t{a*iKI>UbC&?Re)hmKxqr zifn@rJJK|PvrBLO)3;vuWe1wWit{0+;f~1}^st z#_eCruNx4y0OHW}%)bO0otE1mJn}#pZpcRamH0BWTddXi>uv?Y0&)N~BawyaoTQ2}k%X8c;s9%@XxcD(YVV1W-O?nG=!DxUsTiE z5D6OglA$>yHx}r2DAH4?7v9Jco)m@v6v>elTy9t+dT*`#A((I|+TgbX&)07z2PQ+Ty}^s)<$n z(0JJg0Kh|^mxfcT?917o9r{cw598BJIq|k5&d}%MYvm&-5UzJHnba7^3uJ1jE#+9; z^H+hTD5#oo)GBN3eb3RWHQTdVD%xWUTJu!LHek;r+7HrK+mJ+Ylr!@pe2R+_8~Vg= z{%m(`nps~aqXV)O7j_Iw^|D6?`b;hWlOA`HPy9_)ZF-_^#H(e?-HOq zSX_k}lMWrX{5vTCf~hel0g%r3J@{UF1W#_5Xu*m>TN0n+n_EHivh08wXig2Q;%@wb z!ZBN3h2!BPQU5BSqyAObv8iG6*b3Oy_S#jac(I;`h2yP)!n}^3R!!hutP@$SZo6H( zoNh}G(Xsh)FkeJkAwX??#ia6mR#Os5n9TZ>E7VW|;jo7UeTFD*yD{zhuy5T7PnT0$+DlW>>zQOi6fx`h{#`k^)*C)V zvPaQS_RibMTFpo%AdrmhM9mqAp_;$u0*0!5Djr<-N_PBhNCB`&Hf0W*J?A`DW?Lx@tB(j#_taJMM5CQad33z(v`q@Pi5nd zMXsj8%#Arsgwnc?cy0a}9u*WQm5v31|6b~FajAb03gEr=Z-OZJ>T&Vkp<9_c)_!T+t~Jw9mVDdOyS zBVf=AvL0?&w5{?>Tq9jKbQg zY8Y71%xo22DL?~ zyhuX~oWOApFjQg*F@o5zl{zFK2H>K<@h)N1Ee+wCryvIBBD%v!@g<^yDQ1?DcuF9BuqF&(0@Ula;Kaa8WfWpxexb3 z#%1i*IN_DL!&RHreEG=ee!3{AbUzCg=zMm^)AyiI)|Nu9pKhz@Cs4#{uCm>bSzpEv z^Nq_-TLeTTP8`{Fay<{o=6*6#4?J}Jy7pF^!GI1%B^LlYb2b2!k6$jPuK}W%zG58( z?F-c*{g#@bXWO;>vVi9DBswD18j{;;ph_LsIu7LFu^@P8z`muNX`MULq;oYx!L=e8 zUjMeq?~3fRYqHu+`TejxxeceL_AomLcNsbhK=81qMg1!tKCaxBAuU0=IdAlH?uN*#tud+2*S1OE?_CLRYLWn7e&R!uo4-ftBkqMd;cpVGbTYa&xcKzo+?!-Fn(n<$ zA`x-`$l;~875SWGY9{m9_GikC1SWjlcmFNOLAb>w^2sZ11uy4PwRP<)&HAXbyLR{# z6Z>d-E>;|$|Ks2N)wZn()CNp>Tz%~A>xA#s3FG0WJ)tg29Q~!weQIHC8sgqoTOfFL z-1EqsPxgz4gkr0?@79gyyZbG*xMcTLEb#|QW;)q76DVlH_$&n{m zS>qD=?nB=1xu}fb+|(^c<`#ftn2wH3g-hnAM)m;CK$|<;SoGu6Xn~^c>K-xNRDQ5J7C}Y@0+M z$iW1XGQLQ1$WXQgAgtOoD^LoS4nR@RbD$v6cNla5&h6{4z^em9Y)fjeW<7SVLz3tl zD4gU7OwOmV0OytyXP|1<4nbyz+bW2G{n?iD8~R@9Or@%IleMP^9N>~vDgxW?B#9DF z#n`~y+9+bPnpg#4^IE}C|9VA~4wgUmgkQUs65*6UvW1IRFN`JpbSYG$E`?C+wn`2Z zUKzXeqzM=hdpG~sq8>T}_|g;KV0v%5^;jc>;I@#)=Rz_n#w#ip(3WS9{3ykdB1;~< z`E|c>6>hs34#nSV*`)@G@FuD4DQE>QAa~DfO_=!L0f4jq>z+;n;%8}*M{TOv)Paff z%2PM3gI2Q}P)VF_HsD1ANzYe+BfQ`HW_06i4=Fa0_Vle^_Ol7>P2t$(mPZMUkd(y!#^Zs?np2&nk-P&2Vo+`Jwp29$5aMJUp7}b_fF@mGzm7_OMgt5n@U{#q1)-f+ zKIL)P+1nu00Iv%1{K_x>6%A zfeDJbL%OzDwlf4dmS+)B8qy?}uXKm9Rx^dV-L)6#@SMtL9lf2})O$`*Z;#@>)}tc|Mf?H@JIjPW53|57ErViQm){1 zHmSxcKY|JcD^+Ij<4u#Nz+CB5?0N)V6)5eUw25G@EJNiPF0 zT*{q;XQhyWNFHW&$0KJkcjz9#G5D6fNV%8Io z05OTgoJ2%J))}BGVmQSldLBXnD_T;iK#;Xy;v9$^ahq+a6T!>I9kG!Z?40qet7PtQ zgrd?uu3oVW`FHGeBtrDW;@Z*!tyGv(NRopJ`mrjd1{7vpjGaz5I&ji(^*1%_BJqIW zC6;R<9(c%|Xv?icOFB@&XMSAaNgn&HK@!lDJI@1v9I4rM_@@BDl<9d^Q_qf!8_Yic zRt*4@dQGG$-h!SrcH+I^fMQ`yZ8LvF$aqCZj){guES6P`BaD;vai(2_ZuPu$a9-up zw$QruHky$q9pYANMxBeJeWlgB4G0#Cn@h^{!o_RT$?l@&C4a18`}WJ_81D_Q6#2NL zDHbeAKJHm-%*C4K)WM8ywvTR*j%(jq(5bv6$Sz?E0&g9Tbnhf~6pLD#Fx!8<_Cz8X zv6^?ZKQ+!^W=_)CZs{>=?<5%V_9U`*iHp59qD;Wrrl{uz0=ar1-H=?b(RV16ULinT zef0hNJ1=>!z_6#4S6X2vt~tce)jUPde&S~#2OvQreeIdwRH{&FcJ7hKwc7b#|KET1 zYrpU_mmYun^{3uDnd|~oWHX)ZINMtVM9`Y^eTWpC0rK&${!2TzU*-Icw;p*-Du*WW zk%NagA6GjQA_cDuK(8YZ$&2CU=7-w^J^7=5^QV5}|M_VzKcr(0LsvG zO%g{$gT0r!)mf z?a!4Z+oMbG$|f&+IH>|_`^b9I-+E^;d&N^Pby5a|Hq=jBVl^P*Ypn0OuQ+-dC9HO= zE(D0=mc2KF!&2m+a0$I{X<0l2C4j0706_r98;@Ri^S4ZHe-ffcatOU!$xyI?gEQAY z%ErtF_%nlhSys8%TE>qiSDJpMI#N}w`?gaFYe(eucR zzKNDY01O?w(t;2kwHEc*$tZePc%?rLvWFNL7+NjMeTeNYOYH_AlXI+QE!Y;t9;EA! zDeeB`;cMi9s-*}?;9a2`0OM>m#*hC`6$GVv28-!OUUe6>5iLarB-e~`x#LfwO_~hL z9)VU1RN_|9<~R;7NQQfHylg7wBh3?O^$1)h8>}+d!)q^lnnXiT>K2eNwR zhomOaYJWXTAWvcPAU!df!{DLRaYF81q^XU}*cAbA#|=;rw*^s=Sb;I!>d|~0So7hb zXL^HV>}#RV0FFz9;kc;Bt3-0g3lnvrM{&C8F%$@p5b|Dky0%>|sy)uCgNuTw_mn(W zt=x~-1Z&oP*VJOWOymj&v+iis$IVy4mClYM@BCiG77f^JZ`_+{>d3)LB6)ho=Gn34 zTU}`nm{tfQ{b;Au?JZr}k_HqAFV8GLS*U!sl<2itx?c3*CqMTO{?6|f<1c}yme$He|NOf(6Bm2-h7AJF06Cb| zVZcMV1X`A7T9+c7CEI<*fiRIr}TSE7KS%C`>L8O*w zW*H;`lmdlA^HB-NvO%k5WqW9G4egb#yY5tSr7N6*8*|R4qn``!oK7Ry$gQ}SP9k;q z5gKWW59jFsRu%)xTMt;qMy*?V0D9=nz^YA*wREOJeFYEJXu)dQ0A3BYV&UUtc$HbO zo>$ae)2bqMJ0jfnP`cxOxFeh6P}@XzlCrCoA=k*dafVhVljunIbQ}8SeNhaY-hv-S zQa$SwX~Vgc7Y6OEFNID)tq-j;19t_SM-c3>QKDPE)(3Tg9{P-B@VcmdavA!(D&yz+ zqwk(f#?0CipwK1Ey=eS69RL6z07*naR1nATJ9f32Tz>5Rle;fR{fiqH9+{7CH-PE# zfnv`e)s$I?{`of-v%709vUT=JG`ga*NjLx(WDs5oV5W;eS=&2_9Wpi7K>!>NuIha3 zcAGM9MqPGw%T1OP4XsBaMHHJ-CpYOuBk1{^S3lRG*XpUDw6L%V(#+M7S;#2506muJ z!<^lw^dht(kw7F-?_4px)8Bm4WdCN;@4xw}r@sF``ygldmiJwJ{5qb0P2YI=OS2iC zc=xw`_P2gYBwI4wlKpc+CIGAX9nM}iyS7~HLQizQ6ZNm@V%OUZwR5ko9Mr0p822C2 z`Q4K>6JOgMj*t2CYaIe_sN?=h2-h%1poI%k%^yI?c%wHwU)b5LYxi~OipbsTD1`~R zk)t7i`x{q_Y_DSiU1gd+{Ca=ndM1ZC{~1Dbq(JSe!-STFeO+(oo}qhMD}YGEL=p_y z-;9!xTYU84Z-x#&H;`S!jVf0+0Cs#w>kv2cCGT0a^*tN)^a)6 zR@Dl+SY~m&KuBaQbgB8LvpH&YurCH{i#{)%rdFxyAUX{X_3rn7+p8~r{%kF~KbOiw zM!buw={>`Gqcu^&g%(9}SaYzx_-K(11r5Au)_4z+vG8(UsU&3oAuh&F|3Nxo3U;3{ z^fy$R2?jW@Uw1?>Dq&EEyHVmaI!YZ0 zEyX=VAMzZ@t^UPF|LISDcK5YE=3=`PNC3sf^f^{WHpDyvQ*@pv250UD3V=!U*e3Q2 zVxp9Y+?{I@o9^?{>SNf*AC{v{!e~bOO$tP&*xFg%MI=X7U&ZVQm?s$Cu(}ZzH?e>`iGFbEWGoJ07$jp%A61fRm#q$Mzd5Z zuXuda#`mZ2a@@ffBLG5fGS57(KW?)rCYA45CVR!=)LsLs5c%!ea`sOy8u1tdafO)s zTyl~P+rZZS_-=^Mk{LxfsAYHHr7lniM~XMS<-L15H{bT;2exm&Q2usr z=e5d6AUKJ3!almK(VAn#US)FkMF6@OTlCouL(yg`UT>~qc6V9vx@hw`586ss_)N(l z49mfdn3CgMQ`C1-3Kpcp7D z`fQd7J@Y_Yvj^O);0$|+-BRLEy91tMgti4ST-g0!))e(!q$+hWKmW-4wqO0DWUzVh z(I>zENB+YPT*H^8*Z?$e{poXscruftm;U4vMLzEhwp5X+VwUf}!r5Ku{iomm@85js zcl_B^7yI=)0h2|;{b@}A(D}~SeegeBVCgQ}6f;%|pa+|m^ZDecXQ&mCj^jh0Pe$C} z_@?-i!L9E3lP-K%ilW|DLovJqj201C6G^RN?I!~ zKVS1nPjA0EF|hCKI1FS%tAwE>qsF%4J?WV(&f3GxhrjnP|KNxIoqu=Z>f_J+!6)>5 zr}AV!G*EHSoAl+qx=JRSS{!sdt+W(fZS4aTnrLx%URM(@YRjCDa=B@($E1acO4RY; zl>`AvBwoSF*&Ma*7}9IL-1`ByW$mNS58C2IXSn%V849(jYB~tgm&Y|6Mv^3ZPAXb= zOm5UZ#ZigZIG9_cVCG`q=@EPRu%S*H4?Pn0uSSG{1c<>*asyT(*;n2yAykv}#=zWi ziYW%g4*ZQAS~p^~4M>VELXTP90wp#Ptpt>7Q2PKPC2ai~Wm(2nT{^LtIA;b=Cn3QF^qfQ=tic6D51d&%Q4GOzoAUr>K$*XiahlZ* zO(*lsZ?Y2wGt?eWvd!Y>)Isog%ncWGi!%?`O!5usO)SfA8 z)56Bj)Y|w5NFsPyj8qc{ZjFc-z~yUCPxfw_f9~FW1<>2KU+5-KHc55O0zui3*C0Cs zbJ5u2L2u)_$DAV%Fm?Mwa$u#3f|hiUv5Y;a+E+tvdvNIwaM5N>2`lTwUP(u(zg*u# zVnDb#!JBxk7JpkOEVpS5&RZ{D*A&^6G@IP^XxGYZWtB2Y9PTK`A?l5KWsFTdbR|no zaae>}c1T2ZU<_zr6L@w8 zEe0>VczZsb&UWt1_V3L1UoR%FLruVih%eoE{@2`O8=5i7L7C*5y^yIFn*KE#RitM$4cpOrHo zPAind;H@|X)#Wl(NifWGP*zWvAl#*h5SU-{Q3lf8}0k9aa?haD`U zz8bF3n`PW-icL*-?^Y}J!{0eCGef7gU-HT`Kuc9GSvx6&mF6{VxT9KY__4RYzdMAW z#&lOKoWPgdo-<0t8Tx!uG0drHXIg2ke9#uJ6$rvaM_VaKr(>_Z`IvFXefp*P)NVsf zB_ixlKT3^Wfe|Tgv;7FCBa#&`N+o(2D)#Cu6bKd;N?-;9oPFbW|IZc}Wrvv(fDEia zg4G^KKny%WwDoWTl@gQ6Ivi3Aq(BeUcMvl`G4viN0tr^zpcvGv1Uf9j$R3?G0&N(I zG3z<>3~Cn~K^Ls<0s!?`?SV5^dzM9R`Pyzi*O^U;Ef!$(of9IL;Tsa1VK?h3*wD}z zyzd^30V26!ACnv}m>tw;+e(09R%3H55`Bmm(5$A=8AXH27tz|yDW}CD0masy&Iw_Y zD5=oUxdT!)Si7h2{I#s!h^mBKMCt*frLMH0$7aE_X^~b3cCfCNV`C2K(0mb}_Z;(7 zDBfb&<+>#{piuSI>Pk~b{!Sg;yY&OY1DFtE;@WlN+~Lk14yCiuq_MW;%v`xEH!c1u z(z+)GQVXRh{G{|A!PnZZ0EE3;pKCOQY73}Z#XXwDh0>#51e-C{X*H{Px5Y?vYLzQw zxJQzBcF_W;!PP*Ud^R=kdTMM2EJ&ZL9A+IPs_`?cF!VhHPm$!ZEBc#5+}2?jz|B|w zxb_qx8g#$YCSqGtt)Xxm$$KxAacD3V%=TVy*lz-QUWv}DSxYHuiCU_>9`ZSfjHloC zp-}vtQ1$Iv%XqLdE6B7RhvA};XK7YrZ*F1lll~KlM*nf7V@iEMmW#dc1!?dc6x;n> z(RcF$NBxJrWjcrU;UN9ZANmixtGh{$;&1%$e{P@GAnbC}O$)KDS&^e+_Zg4`MWbt9 zEz@(*8bs;FmD?}={>5u=d+5=pfA#f3`YYUSOwoo_|9`(in&f zG+i&xlF#n#B%Zk)GdZerFH==C^+PJKpoH|LDj5TQ%PaQ?iqMisqnh zm27Kje(^ekf)2;dMx)Ag#m8A-fsHVS#6l2!L8Z|uk4DRs4Og6L86t7HD>`1&0^u?~v&DRuwylkmuvDqEQd$H}!YuFtR3Rmm{*z?q02)%nX#tDz`~rRmmJ z&v!pjx#xxD%wD;%1P#Dbhz;;O(BWbKR-%U_l|5NvlB^u%aH z$oQPfZi9qXAVCB!Ohb_zu$sDeCB1aRvm9&*>O`eJVd&oVjSyH>>x#NtTlE|+AHXOc zTvDCQrzO_KgX70<6!Nz6BVn&pXifkH=(0YF+kvb>OS|Cj;Cp+yQAlYXNDN=V$ z&%&Nln-lCmTlg*%4Y-|kSDQeXq5&6E02FUxXMA3+geNYOXlN{MiXxWFFl^V=v;DL^O>IBG7xmR2T9Q;7kh45N4Q4# z?dEpQU7qdVXjEjh5(BBtmG}s6Hwvm4-f#(C{WfHjsBmB5>^KI*dENJN zv?kPa6u2-|e&`~-aQ*FjcV6uc&&|d=thCA|&PoV}25Jv_dqMi$HMgJ}o93gqLpn4W zy!HN@d4*_`lWTSxUe?FZoeR;zzlx6Bj8>zBU}2_&WneV71~+f8s*ZJs%!;31FdWVl zQOr+gfg{8+!MmVQ`I5H^Ahdn#6$h9PlmCoIoc#LjnVC zntEi0r#s<{3IR{V!$-Y^MGx6rRFJ$ta!Y5=+d5*NgHj82!HQ5^8D7rUw`+-zYngS%`Ix7wRaC9v_LGGwoG!wYR^k` zsR0^N8`nozaZ)r96Yj=~*>dix`$xxej1CO9T~*n=1^)&p6jv3&9tji>RRZ6Xfafy3 zNJPc#R--An4f9rJD2<3OmNhXHQDe7}Ex4OxC28z4gFTJrwQDcW`>B6c5`HsqG)m}yP>21 zM?z?Qh)pJef$@H`fquoNc_ML{r!*s zv!7cAOdM0sSy2I&j@0O{a{=v6^-p9V=`$gYlb>o20Y_$@l}K63vmztD(cR=GZ^*y>VMEhlV*1Et|M}=tP9S=Qf|B zT3+4tPlR8jL-!wQd+PdmC=isSZkwR{E-JVm<+jdH=F=IWi4%Pzl<8AGvsFFbP}Qy{i#8x(;wNZJ~9k|1hCCge#g zkjIpVM-G+s!h9;FpF?s?h0f^4{HYyd9pPtcCV`rwA#@&=rO&&0k*!ISCA`1w%fDm$ z#^=55;Z`EQChCQ9G@dtC<+nzm7Aeufg;h{WDE2YFG<{}8j5l>{~&eb3Y3WTgB3;X+@Cb=S)S zLyC)`B3>EGKJfeM8jo)zdGY(@5G&2=0T<-qPCG6hSVh6fC&KjyFdT2Hod|Hun09|?pJyC z1=MWWF^Zdf6ZIc`^q+WiDtOtWXuDA3-i*d*9r*6(eiW@X;WY8|E+G-$kA=7r<)H2% zb3aai_anFTaD@m*Y3zBnx_NJf^$B0^RCdnRL{x>zr}l(&{f~vqw`or!J*RS7%j*O zhAM}a`W;CFY+2i^tYApcy9|<|Ne-Mq3VXY1D6LlD+ zlq75M%x8Y7;cZBbOigeJ4Of?w0cu>~AnbX9nIipB^{t9r>FZ;7_^jC%;TePsAI*oh zeUTjLq2b1jvxe!n2DB9JE}#urh94}c`5hqYPA3`QWOSu%wkhNM%>%hTbG`GlbdRH2 z?7CvATGT4qo+9jlh9AJH?X6Y+%(HO=&ppyO%3B1_U$`D7XA+e$RqaW2(mxL%PB)8e zJl?z8o}l^qMO;Mb7VCNF^)0$v$^QJ(m;T_T=RfTQ^9X(XJdB$aK#m{109_%HgO&wC z_B?R8{6^6j?^rI>6C%Zv?JtG~h5#3Owzsm;`m%Vk+_ee>qd1(7D`-Rs&`D?%U`isxK=bOLxgMaR$cV76y_AAfqy#9=u z-Uc-5+&J{QMZ|R&)Be^N!|mZw44pURo7m09>J-Jw>0o0%**i3xap1Y{R3%_%)Si3T zhBZBVeGG4eTD&`2fc3-Z8yw*cQ=9()jzEjxtdk$r8){KGKc>-i^hIqQ8V<+QH$=Ed z>lFZ8eV~5^YG`p#r3WP>h*_@z!IY?1YoXR>lTXrYHfQ;I3 zYF<)P8I-e8gIUn39=PCLG?_lNGIrfIC%b+718#qw9rx?%kPa`*$J=KM+1arU`n)<`e4d^|KRwHpJYUKUjV{_Xg@dAhd z0UpcVm+N9X8D5|7e-3&KFpxUXynyII&n%eBc~uci0uVAjr?NXFQ|LK!A>u7vj7cP{ zb3ho-nf06~X0X-Ypb}N!iA!ZwapEHQUQSIqf$!s$4gzrfTAH6dk{U(rLZ+x zSZem(11Ljd!^q$754yrz*OTaMR`>}(J^I8~KmUb~cibd- zs=h0(dfLZn4fCr}g*IG+Gavd65Tiw@iarL^O>4|eZLt{on2{0TeZpi)iS>E<7V)OzxLx_`qZzdQ8L-Rxxf9= zeCGvLib!y=4=BrF=d3BXMDZr)V>c&9Kmkf9>T$l?oRK6>$D#6U84z&F^Bn3xI*u>Q zJq!1nzZWYt8i@|8Ww>&Qq%wh_=upnK%imxi(nK;{sM~c<+WZ0Oenb!GI64^V?0~h> zE6O4)oh4pzAZ}Ac7qv3?Ly+0jcvePvR%4 z@Nlp~-8aH9+}O;s`7zJcr*yskz90N+|NLXW+L*x>)V6yQxXnT-6u?C=L0KsYkA_UH zZl?Ob4moQKLZ$yu{ii)J(WjR-Xof@{`pot!Kwjx4%MtX{o3}lw1dFs5c9yo<6q1XV!K~)5Lhp&>66<}ETO@kmvE@)B zx14UGN}NF?Ah4Q}h$|~6!^pN6Hvzd(0wD{UgQAh6o*DkM02D+F2of=~GglO;(~s7c zWNqJRZqZ)OoztLuJ2o2^07K6yItNy!7C&4!OH~RFI4;flP)d9x-olzfk3EJp8b~6X z=Jnh$YW;d9;W)({0?^ceb;{*ilN@^JqynWtVR80gDRhFW_Gf=5TQpQt(Om#ntAB5c z97=r3Y|qsFue?Rs;La_=1@M}sCd}Pj;(1wZ)?zH!Ke=v;zSJ@_4J%Z*9(cZWuBUYY z#-<9vaU7yel?5$Im@Rq^N4Sn~Ba4iJA=Z+7>E$=z!k8o(DbF}1e6suv2Eavo&EL+QmlwvU9LDXnw;<|BeWe=2E7!16+vxUSXc>EOyf3ao z9wS(LrU)Y0dRWc(x}PiTQFilyz(v$Mr;U6EMc)0?FeSZp<;mR}pY2eC2{EW@3MyxE z>geS57+rZP+kdURNs(-_asp7~?N8gu-_C5V@}`+jDcf$c4_2nyn2Ss#o2)Y#57N;k zDP`Q-DCT1@iuv^VTi+)l`Mdw{mtOp%-y|XC`**Y|iuqXO6X=XcKxeLiM#;g$tW>pJ z+U`F$ZVeWXjy9pEunw8^IrAO?(94y4?-%IvV93QA7Eq?cwFxczJg^v;fB#jV#L8VjJnRR$xuTGR!Y-LWFST{FW0`#*{JKO*>!{{wT{OAFf)y2ZOd@2tI#8HP{6dF_j0*Pl0w~b)kt^k-Nq9dytzjw= zaNiIQPFRCny|D0Ras|xa_iaD<$`^hL6jfS(WUT)TT-&$ku#hsn!aB2J%@80#a!At9 zz8DY?i8GpmQ>c=T->KSw0{UK42|648d{Ia!p1MRcAyHztk5 znhjZ)b240@MNR+!AOJ~3K~%IdR_VsuSZA#EK};eRa>&KRG&0GdyKW?t^Q>o1^&;|U z>c4#f(dfT9uf++x872lqu?tF}djtyEB85w33KS8{)KBiU;hf05_@M8UO!?bX^! zYL_rFq9|oywNXbk{ecUBDcXRZR7)Pk9(W3GyM?>G6GR(O+Z-dJ4T;v_(yu*IFgIcY zcH?6M9(R?ZA+%}(ai{@i@xp!jYA1>0z@am(=RxQOx%%FJ7x;w+5qR}10FBLc(ZK=d zWw*K@uwQ+KUqD`|-GlBBa`E$yBSf6^TI-RFhMsg=J&gIc|H5DWVu=&LXu0@$D3?LCNmTXBzr}+%Xti36X-Lp)0(ol@`fteAE9H ztGV-6P>roA0D|Pe3Gt(?K~T8}7-cOI5D}{^-Mk7Z)4^6c+>}wOi!7h+e$$`*;otkE zzdhZ%xqs`qI3CP)Zi^_+r~A5?scaX_07K8*w8ldAIG=1?edoLa&2?p^DEi>s`W(3V zjiLMKXaHH zTYS+~AjO5%e^oj2S|x!k05J*4Iu|n4YTjMFh=rAm+#&JNnq#b}{k_1rQim_SnF#qH zHFqab+*aP(eD=~)tM8nkbR%l4aW43va>LE6kGrw;HM(>Zr?vFs0iG7ml+YgZ7*HPE zO!!2ig3XPKyL-3SeEZAyYf1E2&${%nsY7MtaE|ibmwoxI%T>%6dT< zt`%5&NT>*rJ8wsj%WT|9A8-VU!26&cV01ZRAO{NL`kQRLC)@uNz~BrrA-TcXO^A^t zM1z3@$Up|=i~;2|Kq%mGTLLeGCvSWIfA`GqeAKzdN&5)K=uc}`%y zPJENO@Cu?M2lxV2O`3k{YA;HgDqtfq=|yljVUdA$QN^(?u@*VW-!D4)HhYhFnV^382)& zXle@A3mnh50pGVqO%%|^tLADYUzY<=de2D9ve#BJIKubU41^A|%n`{xtI4v6_W*iy z?I)zD$HlB0K7H!;Qwdu-C}K7 zuIsQdXLYaFex3Jy^4?3Dq$ElrC6Y4b2$Ens0+lGT3?s6FKroyjafHCmmjmP@h>-;O za*+HvK#;(Q0YPwL`$r05C4e1UV&o{WBQYW+k(7B!iuZl)IcGoD>h7wUkFM&j>Z96&IY#-IB zXJcFYD`cPvWm7O^JpYE_UDF_kXPMK4Wp z0ufTVl<$Yi&h7r$;?Af4`rrIt|BHX;<;ni5#p$=e3wOP3uu{{TdUe14$aRt6c=oz9 zfO4(Bh*iE}Jl*;E&_`kChLWDT` z)&JwS-uU*{p3R(Rubs}sk!qMDry*TI1n4`+cuy6%^f^e+t=oLQivdWwvSMqsr<1ix zqBm;91CrGFCwCgqZ!JP$3rJku^~7EaB~Xu%V@tIE_z(Te`)_@11OzNm^Wb)GpCysp{4@_c?+Rl)Ags@PO_B6WzEAwC^OX6=(_oQbCNRAv;Pk z@timZ5kUhY(0~x-5Dm(l4PZt*t+7txsU?_`Si>cr0ve)0RzZT)f+!b{HB--&ycz5b{$#a>CPxJ zA>t1we%%b4Dx%2v0@GErmEw0J)ve;^sp(TWG>7bw8~d+rFF!@Y-XGq|yG!g*u&c;v zjZ#$@2HA@?c75b~zIc598vsb{JHVYU3Y&v|Fomj6LaX?c9rguqzo{e?>m;aoi&T2mrDy|_oc)pB{=RI-Xeuf z$I?~sLY#N&>;gI&6vnYvZHkk~^lXpb4F3vzy6{pM- z07kD&RaL7q5ixox)yn8X%5#W;7?_m@QgJ7{py|z%W%b4%{+2H8yLgCDCJ~~~K@(DQ z$m+>=v|Wl8@$B_v@TTEXystUpF`vm8AF#enR01Tl7vPkj(&aBoh3#*h&?dt(XLC~d zWgf&cM%YGoYj=#Tkq>&5N!nVMw)HR0CZ;OJ%`zFpre$3&JM2!goqz0Fh>-jH4+g&R zGG?K{VOdR#F2)rMGWtCO#9m5O8UulS7|LI3t%DK9G9ztgnxErqq>zu`y_sha?bXuB z+*G2-EQ8~)b0_;87q2jjdJ+vrSG;y~FKUdl(A6z)kH-yoCpYRkuZm-cT~Al0L4&!a zr223rB^DGbVtJYy9X3{tSBiv^R^bt>FI;DP4}obL*s+xnD82HY(-dY8Komz7RxLp6 zdWQi3Id~5i`eYBFyZ}~^(n=)L9H<%7_0ck*B6TSG6f~`=!KC&@p8`zzEh+DN3}r_t zt;uUNam?SE3Qe5PO?3h&$T@gQAn=UHKnkPJ0RwUJBVb64PELp>Vg)hkd8COLQVI;! zTx_0*DTpQ_g%zik3NXYI2*jM%XtIdAleMz5R95^N#u2(J$5w`Wh}u0+wmr_R@eDaB z66*#@l#4lYVku+^ag@0aHmHht%Fz@W)-^&LVtdTRgp0e0*uJU*aCgKsW_zzL&%W8S zP*N&?h&M$#1Z+=U$C9-7KBqy60_{xn#b_pnjL5q>ViyQq5O=b)ZCXuG^tk)dxlNPj%P&tH-L5Ua z;^6S^$??0Jp9A-(QOD$E)o9tLB(`(At>XB?0q`wl&mIH%n-`-5zBSTxALks27HuBv zQ?!F&di0XfrnI6E-jr-RExhx|=BSoE3~}!!_qskh-Kuz#&tBThZd0il?0ghJUirjN zeEaMFG`0F8-+Q4vdm}m-N%{1|r(FyBm%-^ZZ>U$vde4;^l#!aUnoSR%ua=KUWu`KV z8?TM0cnUr1mUQ}tIE*`2F+60$ zH}kkfJ>HSq^gh#0%`Tq3ww_b8h1&y>1HBgMjV*{0W0Sgr8W^!=?i+YZgkOzV^Ru9p>2zCaCF2ZTQZ$A)&=g8_^85N)BB!H;(jn z0T6@&&1mW@YN~Y`tCb&2=^$Eo?oa;ZbOwAaQmJ81K?rv5s5bg5LF_CF4Ws}sYQh&~ z2QZbZnHzz z^k5JXF(|LmNurDhVwN@YnlP0b>lXqtNC^^{Gg1q(BGZ1<|V!#u}#r7Bd%F2vV?m6EOC9$#Q4 z-@xNkG5e5Z8s`AXk9V19{P8ftRi%4F^6A1DJ5P(%`A*Bm_-2}v=XrAkb9CoptMdn* zeQ56fYP!WyyJZ!NL3voP?Fd1y^tlW`=bbi3Y9*d22eV#2GR3L)xH;_V2#?vA5U#Nj zH9fOcJnTMtpjP~+4&8ol1V4KJ_0+H@KumcOb;FR0+a3J>z`?#0Jxa>C_qk>sNN=V@W@d^NVW*d*{wQq9h zaCR5^YOSZX7sPz;=lL26@C0Eg}* zeyFPzp1nRebEj^`T)(ey`-N98P9LoqGa{pAtMoZ|B(5UGE6+floiS(CNCAE9p}Oo%g-2Ri4<5_2|lmSh>BH3H) zh=HjE`=kIFpa515<7S`)<)8`V43yWtf1Dplb?m;hHX*F6ksVDOby}QILk&+m+<|A1 z6{!WR%C@#D89X7XC75f9bWSysS1ND@NWB9L0@-t`YLuU#q-Ks&4w@1IK>7*XUc;tg!AQgBblRhUvJaGmaI`xLsx9o*=uMg%SnL}{=#4YQ}=q0d`H zKVP(3)+P2b?kgml+%)PtSz=l=XCV&~1mT9qhMtZn$=L3<(szbwl0r zaPVe%4ONm7^(J}fvqYP7aOkr*D7>h5EA2Z)-+1lEF5Z6~MEU%NUY!9Xx`dRX&tVFl z-Q2tT$>R8Rn(U)GgJ@7A`ea(9TXgVTg02e{IV2N+_ul+!YmYImq+Hv3yJo7e%8kCH z>De{UMW323$Sc1SY9fC04DU?XzkkW>es7r0bL{BWeg3->3eKykT@{KW=1cw zd|s82jv-|PNK1U!uDH4iYrE??m08SYb2*>R%GL7ey2@R5l+%d5LKz{dFn&@~6l5;h z<+sUwAjVix`++=INado-e#M5k;nA0NS?iiegWZ}*g3K`9%HvE~ll>X7o@3vD8Bj)Q zGMlRZWRh*FlD?naj|^09K6}eVR ztMZ9HBcxbbW5A1W!_{hTG;eqQ_4Ws`jAn{)?YIM@V}m9kebqr};;>O?MHM1|CM0x= z0}wNSNZk~DA0W^iL@+C$RI^X&DPhU3;%-Nnwf z=dUdyC}f3GWXma_DdZw_{o=G7M3BG?WJgK+zK&xXjV=}4_wqtb_Vn`I&^s}?#tn-{ z`L|jwq2ok7M$?_spnji2Z0?x7Q6>=k6Rx$z9)2Pik?!`MkDBi5)#MuKAu6Ai=r zLh``}XFr4$LLV1W58Rn;^uB3W5n@>61cQ9EWW#t|8+2YZ!y>=bmP0oSy!7~!3ccJV z6YfY80BZX8*FRj@5ijhiL7zFxHo~BduCC2wywb-+8@^dmh$I0**&L?a9S=?(*X>>V zjnosVd>5%8AodtZM@i~>>5l<+1NuWK4Q5MYu6k3;b?zq}uSIJ7a?uQa5hdKff(b&N zR-;>K)WY*K=_ut10J3ZdPUX|oquBWDb(xSt*X&e%qGEQ%kNX3+X+hk>cf0JZ>sha9 z*W+{TKPj~wdwLpnArMbeqoy{qyFc|moklPmAsXySXVm}W7O1k!tSnq}*;_kYk=fwd zHOgFTZq!wxxWkIELJ;=%((Zkd&#flny2}_qWieJMIKLs)`=A;oHb72l5BeCC*}X%W zt|)$)$Dy-T&`2F>iHnN#qTh$x%a#AYHzJh68M1gWUb+reUU zc=9mcS`e9m(t^UAk(xtC`(m&LM`>9J0)&_XG@C zx>>B9aI*j!)D%i$?_Qg$cNQJCHzXF?vRcwA8jWnnnAL^wAnbZ*b?v|6)Iz1u=OhTo zA#=9by3p(57!8(M9cc^QpZJYTcw(e1+Nier8>(M!7^!V__g5*UIu8+_bxTQ*)KMyo zj6uW4C*gf*Qu2P%y6kZ$L6stM=*W{FI2js&K2r+1D0aKrjrrwb?^an}08rUXOf?!| zr%Rt0^&^-AG;=jM`j{@4kY#u%PP8WQ#DOF-2;Ia@kd%6eJ=k%}!)?KCnjAo{+^QN) z{039vsZ02cn~cqc_*Y~GH$vdx>9sdG>KRJ(Pf$8K*>lsB?Zd3XK$INtD)=nVov@Xa zE4g^@8{o_?f;IFk#@X#Q2DXLQ8PnE5wvT6eSM<4OHBoD9R)Ba$xc&%{u!2Jm08I*z z$^7V9)BT6C`d&>(kjo7dja3*|)@w)j?lt?)KknP!&h@%S!{g7JatA= z6vb+CvL_PKcKnNyK{>f+uWORSTqenph}07&7&|%g$m#? z80}ZWaD_2~u2}NA`$bwEjG!u3-d?6R>MVeZ9%M&I?LlfGW(wQ|8+6;AiE>LSIfp<3 zO=*&WCVC_R>_alGct6Hcu|w9`Q* z=QwBmph}>IfJ;D64u3$e-h~Lrz!XFb7?F~A3PAKJscC&z#hUwRkYw{0P5FR$N@`(g zU&K~zlj^m50T2-ZhM=>_kum2EwnjF&Cn6-K*7Se~t9_BmH9IS*9(fP9(NXcsc!X^? zLTVpUf)t2cpN){(hdBqdw`l=~?{xYa*=u=*W2?cbe>Cs!OhXe%Tf}5}c({p>nmgT( z4vSVosxq7cNyn_B6G;7!b6Aw+KoRN5j!P5+A#6_MTCLPc-6?NE?6@yM;uJ7SJ?TgC zWGLD}A8+cj5yIF(x8vhWHoax^GP)ez#F1$H+eXS?sBsLB;YJfl?Gw|w)pl%_KSls^ z%&T-Q%d)-l)d0tC^E=t9Mz~?nOq05DTithx^X@*kZ}2@-q4GV^tJFzubn7}UR&YS4 z@kBhDZA%+NviYGYmMyH@2wS!C)3EC%#WtayXD_KlDO5X|yI+3%GymHAZ~b9P5-{tL zD-nl%`w_ro(>taWP)1Z`xG8K_cB_msz)-diQ-rrD)e~ctk&Igu1f*ap5FmCZ6;e6E zwZErmB8QtAZC9etx+?!-4(|PMarUN|i`0bbijS*-652zb*YD&U+=khF$Np;}1OwLMg7 za&)nHMuPsp0pH0afxC6f4$^?fs**gLA5@!bqp57VO;6j?`r;9`w@G9Ti5;~7cW#(m zzNlrin2Kp3Y!Ptg3F!`uy&BOjJjG|_L22;hH8={VlvYxb3cS}=>{hc<^8N2K#oKO0 z)4y+jhd}YYN3m_K^aj7DLJb# z+>F2=h&jLe>c4*W;LB8#%B511Tc9kP-maGKa(-9z1*-!w=OATo5vy9mT57LC2xJ9< zRrU}=oC7fWQQZ~O(BIthp#dZM9Gn4_ZyF%TQ=to0zCyLRu0Z`d;2{Uud8BZ0Gpw5UgC9qb4JOUR+N=c6V!MK8lG7UBGc zm}NK)jWe*~a0N#~rJ===JWOOLk~iH>Rn&+!kP#V=$>{q%4x7-ryHVSArBNywOho&_ z4v+3rPnn+Si_}MC6K2Wf*Sle$YRvjb{b;_qf(wa?jv?jiCzB2C9lltujuYRT@?{~_ z!~`9kv-UpdOR>Y#uJPxloerLwGkNOC62Pem<~6*Jpv#`F?d}tbi$UUTin9PPt=H2) zXQPQ}x@YPMc+#4ATCOy1zxJaS55DE2Veh~FjV?yqecY1G?waZ>fcS0nWQ^CGLO`Q0B?# zbNt|nvp4O^-nD0Jq>83Z7im!Xaz3lKSVd&-*7KA78-tqn!7oo9yfuh;K6_o8*Y-j} z%_uaKO$Tc&>9IyxGm0*Obo5aIsRwyUijyMcr@Xc%xy;QRQ{`@b{O(u0^4brtsd$6C zQuU-PPX{88?Ua9H2WUIlh_{m~>YmTV$-{LBriX;~u)n*gftYcRrjObw{jma(Crt9N zvd%SP_~ytUuq!FU?vb(19_Re{t-j1&Ou6NNug_3S540+P%nxq&T&ZjuXC%@V9H{{< zqazq1yRG;^jERTI2Pdf-sm|5%@HZSq)V|g~PN7BKmx_eqArgL2LVN+ErOclgJbm}2 zPd+7p?~`49M&=%!aJQ2*p!0^S9V*L8S%^tO4|FNDO&(bpmMM* zz!LycJpkpPTwn-_NP!fAE$2=uNTt+*dH(L}f1fxf%ES~z6J5M3)uZa-EkbU}heT6T zz6XGK3TT)W@g77V2Bwhek?1AB5SCh2nr8rr2sG&q1M-zO#mbV_YRFR5xVclC5I z)DvBH5|!?{EG8O(0hp_chu&9M{Q3XW~fMnByRO8x4P{a1ulI8OeSlN|ux!hNGUuVZ}qyZUQ+N%&2 zx=6sUNzI?YtFvQ9+Q&l@$I_*67qgo;mbeV zYIKl0l$v{kMACJKDcY6@D|3wdum7{2mWY@EtsCu*YWZ#(2V~{igJysM&vkJQfb*L$ z7cTtz_nf3W9W`t0Wj2d-&F_}{;8nNu5Y%3cJCmA13W#BO^pPbgg@28I8HY-2-L3hstI?foQ&er;D!korVmv!lij|tn!rM3<0<}xxe{{P^tUVna&$A zk+;BuBvn(5XoTA<;BK3B-q(l_wS2*j0zkK;4}udF7)&IJgCS znO3Arz25!q*Pd7|!r6wS=;~_7F@-VpNMX?6aJ`Dm?Ssdrr|}PkIe+X=KYqjTUR}8R zMXD8E@aun45Fxd2D^yI3h*2<3u&bOFM2M;R9&R9>5YIg~Lgn!5%qt)pOG8ezlGHTq zg@fKQV6r;>dH_@r1GP=l49Fk=7?J~1%fpf)L{VYURoeT1e*G_7?lV+Ae-%6j5$Csw z7myWXDdyajzV>WM9e{JFJxD=Bkd@R3uaq@5T}OW6sjiMm<)o$ni5TJuU{rpCcw#BH z*`7!No`I%fR-g==SrH7L0?gBwKukOXhwcgP3z5m+IJ|Jme7-RjaTWJQ|nbm~+Qmw%1;qeK&$vjI|CE?J2#~ebdW8 z=hTiX2U=0?fvOhA5fi{wYH~ZAL?)8AA}i<86#QC7)_1VdaHXR)e1GG1k@y zg==UU832m=ynfie%i_vp9n7^wFZ)QuOvV8594yNV4$?BxNF16R+)zqa7Q@-CFkg{sPeaa6|cYBzNTFb(e4?%h4-70L4 zGms4XwYiX5cr{T0P zU5JtA7Ru=k$+csIQW&)mbLz(4d*P$u>1Pg?E>eDR$+a8+>GISM6c?xOb%RXcfZ?4C zCmFaB_h%SgM3;Pt?7z7!Vj`e?qZz$5aiatBQYsA{a4qjXf}Xd<|M$75CZs2`7gt>l z+HUy8Qi&a#Ch|C9br3U_Y$k@kU-+UtiY zFLSDHSA+P;qR%&Py|n8aPW=l9X?g)K)ZFHXNK)k7dR<$ckoJb4+&Aewk#b7`7_rlK!EQ{n}reCbpF z_Uz~fUGrW=DkskBwO*iAzHh2WBBjWRc><|`!sv4+vJ5dxzz~rYl@Zby8t|OYOF$xO-y3N8=RGDUC zb&hDjH*ZtkqRd|7e}tVS&>3Hi!Gy>xJeeBw$Urv1UWbf86?WLv%ez}+ zX;aM;4{+c5JFO+1Sn1)ORmKV?AX<#JwmPS#wZ$=EM3^0M0@0xkkgavm)TGe9$gz^JFZg&Qo1RDck+%~0@ zC*gQ*Hvb5~{@w3s_SlSlXa5QFB&`3=qkTK~TqySff@v2No56-}?n*y*6z2%g+2VNz z{gZcO0%ZB%kN)o8{CRP?fmEmU0bTEl;L1!+*UmKA#e1H;9?t`!9vF83XUklX=~R1m zS#$PVkp}a`#}on!0#cdia(Aoj_#usy!)zy?(;F_;NJyb=drL_vh**}iJO;4i*)&hw z3eF~`Djwrk^PpJXn2(E7*BUuCgNJ=RET)&j}0|P>QB<3`rP76S_R%X+2q8l?q z&Tg6VJCIe2K{R|i33_6P_r)x2l&H&onh{UMEZtI7Ly(otH%LJY%nCduDH(;-mn@Z4{Isrp3Yi z(}^e(7#G&6a8b~JjxqwWV%B29K~nDr_&h!V&tX;`+t+oGx0?!;x0+Y>{{ej9hmrd3 zbw;L8b|}?x&r)kb@}LPJT8Rd^M5!G|wTyk}oE;gnvNXVi8y+=f$Hm;N>kFgXm3tMgFdlO zYDK1X3GG0!vpNMUn6>3zXzWQ2&L-#UTmOs>*G*F854uh;K}{r4LL&V&OLUX# z2W<^?y*j!Z)1-Hx+RzjedL-Hxq12;KhJsFiNz(!{ft27W%*y?qz0JJFz*d8DZ>YfO zP-{;BdSV@k+m(Ko@nTHAKE?s_87#H&Yq5W8r(vtx)3kTMy6Bb2)tg+8#e3nNF7Oicl9IQ{eLNPQB?rAyHoXy8g^CY!ddY&MS4y`^3 ziz9Bn_NrfUT#rWE)MV4UkuIc(LuhJf#i~TUp^EZ;e!`LD`UN>NlqX!r%a;)vVsPkl z()yAv@zwNnJl5?q0<~f7uv1^Gohbo!JV-k#7M?D%CB_oK;JN*0t%e*#FiO>vF+dG03IR|Cn!&-mYDvd}<>cE|ncED%} zXj8re%E60P!l*tE0U*>UX3$*pJ9l3FMeEupX8*aL`Pk?GOVLY6y>Xj?CP3Mi-?bPh zFNkIU2@Hsc=b+5!bAdos1k{LgeUf4dQZs;9&GhOmB2cXYTq`o0CGo_`aFeT(D|b-> znA$f_q$0Hdfp{vSA%?R9H=>&SBxI(Of`HT=H%q0o-ILe8THnjTOYy2Xw zuqR7Gcg8K0?Rlrs44B5&#Q??;pCQ$w9;O>Ybi;Up;L^o<+8EXGo-&cvu>A^CJ%U-L z_WLQ4y~;x<*%wKdK+r>04f@R45v=|UrR1uUzF{HoWXX^I`E!UyA=J_};Z^sgM%qJp zC=}g}Q@aozGR1~VA#DP=3;@$x*Lrff-Xrp)NR+!*BLvxc?*`WOOvlIR|Esr%%^-?a6v@@B+%a8pBcD6i2GNbyInYExgm3abf;#7={XfYeONi=aQlc4MDHswwIp|hHp6Y6PG%{nX&x9xY z{W&N1jyl_Xsl)r(Jo-tC8h0}sC)}j=U1&|VSeftn?9T@yq~6jqD{nGtFFCQR!%zO) zf8w_5ly^Yu_n>CCyzpfM?9SWz?D>8ECw}hu;r*|D`8PKNJwF7mG?nj~o@-A?O6@#9 zrYE~8tt_S+Uxl>-Z=#u%+;R+(43!<~>Ufhzf%dvcO+~MW^9{Yx8U_J5=h>^9l~472 zzt$&z>)uOMRUN8Q`)_>X(xb80_k0k<*}7VgbrDkf>ETJ`(I=cpo>86afU5!<`T;Es+z+zXaQi{MXo}@B)U90G+11Z|vLSz=i(S@+5xl}Lr zUihskVA3=uE11f?$3JJkV>sz~j~P#GY^xtLQ&fO4E%%jfkmI}?C< zyZ{*H#MRGpHM^tFzX_f=EnV$4Ef_FF3dq2@m=&OjKr}Uaxqtg}=f{5_+F%^MHO-=QPcp|2Z z76NTWGl@LFUAL5&GS}K`%e-(GnR}S1UEy_<*$hn2%!H{Lj5zBA%adk?4 z)nXD@iRDoHbxr%qrZ=nA`@{<|7vaJRuc@fvf%Z+Y2>zpqlfP(xe{}B$j_-d{^m%Hh z$AEIjbf!SS+Ur#!br3eDbf%;U^^p-WrUk%9KJnAv`TGCXrFPc+1eSi7;y|=KbfieK zorxS%IERxuvyQbI|0a$neOe{kb=37$#Jj4qs6TVtG^L?Uz>371_x5j}o!-A5<>BR- z>3x7Z1!LHb_9mG7VXFBjhBzxN)tCDF9aAHa1W+E4IrF4nwf&P+5VLpZwX^qLckr5c zwuI#2&eYR7X~Gl>Bf2HrFFE)2gxVH%%J!r>8@$_nV_W)boW4-z2f(x3^#k*+#H z+iQGL3z!m8x<039sI>prUX*h~f@Vt<-GQ+)g>asHJDku?2~$IppyOJ=Dm+Rc;`Di zx$V=vTdTA8w>=rTG@8)YS4dukk1StQ<(U_$;%7H7S#Y_GJlWvc-PtBJkv2Y1&q?-; zx)A_M@WGyv>9V13{KvVgdbUA+Jn)8CvRTRwi?19Kq{wX0zinT zqR;DvgVaK-T4>#sY&;c|rMqb+RCbENTz?_+AGZl{hYrdt9(WY5w&KOBs>hOn!eJ)S z(&_IjAly4?j^N7)a-@9K*_iRaBJ-HqG{giF1vG)I z!Z#;PxhWKk7OxqrlLtyj3GZBWAI!Qo0i$s59R1QI@Mz{Hly=$e(n(?Xda{tK?C9Xz zoJp3?#~B6=!}@epJFmerqNp3*^hn=GAQ|7~{!33CL?QIa-9TiM9|Dl?-!9J{0m9QG zvpS({U#e5@#JpBcE1<*>19n}H()>UD5INsBs}uKQuAZI1R}m3H?7muKoa1mR23&Z;#Sm|Y1H~S z)8)=*BOsf4enVj!2zGZ$Dw!=2<$y@nT!IH%qG&|jd#Tf|%4Pbt5cdP(bd9IgV{&IA zR&EWuhLLUTO<0~CZ+PIWkISHKE=8dg(nd+!7-woq#>!sx2BLhrFjZMUGpQSO>(JWn zZ_}l2W4FO}?Z-PdfSuV;gcTm^`A8B7YBbT&)%j2H=blt+{h}A%@@O(DTsVG_;(WCdp5pzxT z_cm>Jb#hrj$zASwtbL4n_}i!R16>u{eoLP^yxA%#x(xb^NbQGPnFZeokUX_0%Qz;o zeuL}|;P)C6=L>0jRQr}r@~q@IOuxPVtllNtpUJ^Puy{GkJqL^GjD~e zzpi}chyJ=Qr8xVx%k~@G87^C>fLh0y0Rz#b_F+~)1!7>z>Za(oKoh{x>srX0Kn!!f zxbx%X>F-&_E-@$*a}LUZ48#X_zpy&_|3C!FPT%|I;G8VT%cKrq3Zk4?L3GUo7Xg95 z8BjvBsm?4uZhaB!2gJlvCo`=eEAWIY3O{k%49doQYH(y&LN2kIJ}2e^Qh+AT60jKq z+DQ;hPpiUKyXBK{(%gq z&s*47FeMQER4##R$}SZF(9IgELaeR%t}GH(CQ^HjH0_6CClMZmacwshT0opqA2iWT zsBvLIZ8IAXt|i2gJ2%S1sd?sr7$4S|c_))OS+IH=W0nGHB?7SeLSiz9l$8HUjG&oy zxde?4jPYrh-7Q1O44EE(O7rq7KXCl$ofNznoii~Y=CYb&LY!~8Nzhb4LlwPmcPaCu zk5;RP5nw_QLaicZy_dIiPnZTrV?2)lz!Xccf|^LVav{ap0MvG}q`(XzYl;hivzB?& zZ1ECfkGThC{D0As1r>r?l57HgmdW2>&HNUm(r#2x`UA#7+%V5y7?MDX2 z?K7j-EwIHg8;!JXqIDn-c`W1Mab*-c$mMKd;33zvxw_hzXh~5vIG~?{(dnhn>&!rz zg{#N`(AN8?*)El+*cQ(WPy*?*))7~F4CTW4-oVY$VpW_Un)0M||7$uzKtz*z;ULOH z1Y+#l#DvT%z%#;BuyU?V#$uYXtkDBUgs(^~L>EL8D->%=fe;B`AeF!n7(`;u zh!s%h2AX&ZA(0Zq1O*roU*p(f#6-C?23AliJJRL579g;~O~%rGTXHc&O6z~sK-DeQ z1ACcf*)Aovk%B^FNuMC^;9Z({bU*DtOpe5+;PuPb55+$|r)bxmkky$u#uYN0lA-V> zqh+{Xi zzZXuN?V0LyTso1oh8vLMK#wSj^w;v&1PqBn-)74Y0dVQ}MoZ*Vnnd{-tbe1FCkG^b zt(iS5{(zmJ-we^7$w|Y1YTGF7pC*Sd7RPUlo(lvBWd~B7#u9Lp z9dI_&%Xhs%+Ud`WTdX8H4u$QWP3M!R%kT7yC_nt22M<28&)wWc&7oKIn_v6%zw!E) zf6Yr{ESsKpgk&{es(Xg+^hbaC7sl<uc|n=<{^{=tR{!~>=vnowG$aqVjXo)Xd5FPU*q5L zbb@=+$H7b;>jQy40~kP`r;EMRh3id*?he4qjjyPso9!ZbN*Edp9Gpko8QEm;%kXcQ z8Ng!iAkXrn8+R{G9^JTgZ|~qHtBz?2tvhC8SU2+Vk+;mH{VmmG;o_?XkVc=0(ur4^y5124Wzt0l5Z4 zMJ&cjkcJE)y0NeWHB3?`l53Vg=>n$lqGIL2l-i>(3#0%w@rNyPYCCfcX!fOl__Lrn zWw$R*zV0rhwBU%WUi{=Q!JGm)M2QrDBHjmxtoW}6h-!rsDIpa|N%cTY?x^Wq(Whe0 zd3sk(o)aMeBBn<8MJl39M2l1e0kN2sSWK4d-#25M8oX61k;)|oOqA*JeNYY|hdwt< zXZH3!H7K(Lb9h^o4OmH;b>XWKWNH=>@odShYp&b=bS?!J{576$f$FaEmL_iw?tHJk zsCHL_qt&pp1nZQVgeOtejF!G-T6DNflRfRu+8Vfb!qa2TJ#g0BgOSqiWLWeWJzGj~ z!^$wS*~zt9wV9~)3=~&c9XUV>{U_6jKV>S^1Sp=dA_K_`oO&qCaq>ok=ri>c(b8W6 zQ2(vl?Q-8|mx9*06z~**2M~jxT5;$zZL&m4e`&*4m)=Y!^ULK|0wA02`|C9+pM5W3 zCM^9^gWL2t#x6JyMvmygUdCiq;`Wv-4H+>#g{Ox`m(!ycNKHv)YJP`!s%FoT+T-jH z$Uzyvlpm<+jkY0)Rli`Sq%)Z|a3O4SL?Ak^X5sD;Lb7wTZ`3`F_EtCOvok;BwS}{q z?uD8s7HgL3R4?D{szTecsM8)Q;5-Tot|O`&$~2&Ob|-4DAt{ePvtK7F(;(FAi{{O* zfBDy=O?*80g{-vM$OaK1Sy%)dnd;h`|r;+*0 z_Q2`36VuOA{fm$u_1h0GilNIg!h#=fq}s%}^v;W~oS!`EN3o^n8~UU+C>m)rpvy7B zm2~7KtAKyH?tpc{zF6!}7YitLbo;qiKkc*~~ZFbS+ zx&>}nXEtiS7BhHDW%S$`mgb8q{9VT;WHC~ zQ;nk+g?QH5;CU7IbKR0E=1GOk>#;`AURiPGWt(7GxYq^;;aX&X(WZ2>W03ZNKL_t)0 zc#Q#IOM}X0ubAqgh0e*-p02fzYv-sM(3A>Nkh%?X3UcvNN-5t20G^{(^yWPfoxJxO zpsemK_BLo4qKR`rgUY&%OdkyE(KBE<7nf5T$6CK#x#90wKW?}p7o)Z=p?Ax02y)&@G;BU7D5 z2z4J$>V0o3U1fSUgsK40sdc>@u`GKN7M{QbQr!tifZ#(K4wO=OmlQkL&MdLg9PZ|K zH8dn!+%@G{w0Dk>`)Q)fkA>8Ht|hMvP-`*wWbl-pkl2iEH7KK(EV^YhR2>&1Q8W%r zGRNoAJFMN-sB$|_m|Q;B(t7QcMmHxqAJgHxbOj$Q2Ke$Pf9&}FcdP|#QcNa+pEMnT zR&b&ZeSuHoblKl|OlL`W}%Yp3aV5 z72<4qqdLD2Cg=iUC|kf3J)&EY*%hfCpK}w2k?>AZ4rrbniAB$A-2W!4nXzncdwkB1 zY7Hd-`QD4BJn<$M0}x$~Yd|Mcp4v4c+k+|UbBM;n)Qh4iGLT40CqPHr1NQ$?o%N_Q z5oP;sE7VsR;^6o+0V-1ajpgjF0q9@?^xwp%#=`4E{u(Z&s7|BT0U0t#VIH$Uq9?uR zoR=Of6dzv&NIdoS&30s@{t}uQ_uwG)cRejjYQi>C%_e>+Rr)ako>9St*sNJiqtCM?UfW zpZ&hie&O`tLxQ~X=Icu3jwyWEJr&L-ZeNf#S6Lc}wOCY$io@S=!5Bc5Bt!P*;E^@&;LGEBbrswp2? zFtOHavikuw5OYJ!xo0Zik0`El3&(@@JOH~aW50j7W~sBIT63@)O3H!@q(aj|klGJH zC^u_JMJucq^jf^QJ#8^7hdvL7Xzpyy5>F!e4(XZr{?s;IW3&K$UJI@Ep-YHxYH1%q zKysA+=;01-vkvm0A}g_ac<=jHXYbm-+WdrjmMU@D({pbxJSi{R0gL<0KRO>D_TJ!> zI>+Ozqs_SZOdCSmk#@uecr^7OB$7ILx%zdsn@^Gzw;A(YF@2tn?|-LWq#Tf{Qqs?E zcz80tQ5_VF$$s=1Va(}Wb}5@f1e`-mzJHr2n;+c0`_Ug+ou5wko-0<%#m$dpv%}*2 z{$%eqAi6jceGU+16PN)RY#A{CIrP~M38R-rFGB_V=57#B z_a~vHy!cj%X;C11{**1?_nq6FPG7kQJiRIU0x*+i-P+_^=8#PZph!(%jV`zsfWCR})#drg=Hcck$ij)U zX9)P{r%8P%rZ*x}wi0O^VQW*JK17Ck7SS!t&5}gs1ojp2%(ck^nH_wjWAJIxO zc69X|iozL$9#=-{SD^N@eC`4IW%J3%o3NoVLOA7$rt@0ClRn~7l9a@t9J1;pe=XeK zYEahVNDZyecszoLkwlJsC&m+r1F4y(938KoSHD?hFTt$q%tikKJ@N~mF7TTAcT+fO zJZzlev}f{$9<9v2yq9`1sAr9Rmyf+;61f3lAlBJCCyVoe%(JFt<*W|wzVN3wyHOQq z#JQLP5D`OMTlr}~2rQ_Hw>7e9f=*tWQ%s!BfcvhdIMgU|G-N0L?~+8X2T?$`4{yLHucAgKEuI%YjHdLRF7!k5~F)~sMF_oB=i}MA6ff68F z?r{bf0*kq*smHYzM{AZY6{I3H6H^daV2EI~Q)(i1?Pkoigow7!OEduDDQ63P@$Jdp zCv^FKD_Gn%KC_tf1lri{K$|XshB#c2CDe?9@4LTcQ~ zP~Bv7?KDVgDq^O4cXU~n#l7 z&le@hUzF<67LV{QBft*okCRViJ?(z!d~sNnBX=|hl$!X8wYk>rS@K{CBoT>^A|cd` z!c>wo*y`tsDb7y5Q(U|$W(g^z;S&jnbBMn8%D;N{@DIGxbHJ|Xd~vs?DG`M&6ck>g z2srDWxik*a?A3>4^)86PifS4xIfgGOP%T$oUY>i1Ta$>KR(o_QgZ z(;f^Cl~|s>?SOlD__(jH#U7Erd8d~NSnxWDElMcZh47B~X&VC~_Wqkexq0bRpRnk& zl~Rp4q(1ad<7&MzyKB;8iG=<&h?NgpKcM}H>zM*D_*I3sS#M2{psD=WJR2VVyo3B>ONBu1hGCz8`S{+aJ z?&m0oHxN?DMP&_96G>rejsL* zFK(OiTn%=dec)anc9X-A;mJy~MFN`1h(p0vb_kcWlR(X+?Ie=Tt1{{ja0AX-vTi92 zA=j~+v19sc{CJuHSe>7U=E@BGpIciy--Kd#DUD4#u&ls$&= z-S^07^aMnxz}3P$ZLkeJG_vVJ7w0Ktwu4-Zw@>7C(9C6o`+0=yby9V=@6J<7Dv`Vt z(}ewTUKX2PbSPZNOpBq^r8v)Es0t>#^tfOB#%i(OyLh< z>>c=1hp)$77Z=O@jQN0)%8{_{Pfy^LLZ7+c@pWr^nxn4c6P;9FZMRla{t4Cth?X7Nj%~UIU zc%siOB{~;VI3v~$!srX{8i1`;p!Gj&U}y?UQ)4alh#=+p!>byvV0R7D71`qBrg{&kB|8K#L=%yUtgwk9dxjt)F&EkF6_Enw z9H{L7DI=N?DL~aN&Ok)~WTmo0F&7{fb8+K^A77q)i_`=V5lvR!#MHcXF@>7kGUa_z z3roSSby39P@5D2Rp~fqMr^K0<0>nVIfA{mn`M2xY=2_~o-3AahkZJ*n+RLH#@1jO| z14dtXlDpzSq7W>w=y~%SZXN0DaD2zF ze6nZK(#$@0#18oB>_At=POHLQEv%A~i;We7tkxumH+^zH(t=olc<$pEwU8l52ShumSFbzs?bo= zNF$|95v%0`FCXKsZ2+WN9p8KHbI0#~Bd}$18+af2+5*%6I}|tZ3ZmO zeH|o;awN)t>IXje3;*7K__u!JAOG$8P}%%NQyu$}L`>y0tVxA=*Q{1A*%8#+G4{C* zS$KN_dk445;^Hx)HcwFr*O_v(ZV9QkvL`MD@1Pq1AZ};klQ{2t=R_4OO{{B4&F&`E+hJwJZQUA1z6BSd)kJCC>0~{8#_& zKlw+${^7%yw|q}FSr}bDhEr7ebc}^5^~U6#(A;Pj==`u)XVc6mwG1?Xv$IFVYI%D4 zV6{Aj$icx;QLNVa8D4((Wu%8{%cylIWNOm+GcgQ|9{qWEfg695{MLopl`){}`bO90k6utxMKBgz2=GAD$sN#%eh z%1rgpeM@N%!czi^oI?sybC^}_@d&W9iPOZ>)yeC`IZ%l)`TS*}6--6hOw3BmijbM= zp`&hz1-_+d@0&~J>+>X7y4uy*hoXv+GRU>2{5M%&HJ$5cHOQHfP|7nM6HJE$kqs zLwf|ufif!AD76_DZ*?2*Vtv&ejvS2RVAbXcrn(qZNTWgb4(h>_$s?Qh71z}B1j%zH zl^rF?;}?sOl}qQ3JCM8xD>#mb4&tQ>;?QUNnzVTI)d57~We-)qPL6m2>+P)J?C?{c z{WJgacmJNJVh4}l98-)NT+$?yRk2h&Z)93KcY&Ce&S--Vi8gz;KUOX;crsZW?w`H? z#%KTZ58VKMe~GVr<^IVjoj!U~7lo+`sU?Z)(xBCVCcQk3)IVtS5TZdb^d7yh;40Qu zVeYH~BQg22f8js+=I{UZ*~2%Za8U~};rRaRaRl?uGl+f%FZ^I(J5B~N=Z0aeLS3(B zN6kdOL{d4s8r!&nC&TMrr6rW%Pp-+tkf7pM1oLRC*4c+CiXj|+W% z8ecpR6Fpai&P44rPf04Y^$0hM>@Lp6vwD~>(+75QG-xl~E6_%584>bgqMzyC+{QZe zc{o-M3k&qV;RB97uirBpJqB1oa0TeIJ%OWp&#lhR+JR<9B3!cm_o2B#YRlv@sj%5pJ=h>X#7NHNBUF~*q3ZlW>*iI!o;ancv4v(!FLgy<4ax$o+_Kv0y zs;kanh}8HvnW*j+50&P1QYzKoi#^}~{hq7wI({{^Wp8g5JtYs~@*nRbD^bs?Jxo3@UJ>3^Q@!`X_n)1<V$|e@n36~lF_986 zjtcGM8Z1@WH!bw8qLux1n{zb_%vX*kwyue-abm4RA;c4RGsF>@#c`s2Q#&DbXv%jj znq2EUQwC^iB_;`!fhJBA!gw0K_Iru;fYJ$o)aphIVxl={N@@>aq6x@Y^qG~Im6|;- zdI@OGZismVbwG8+YtFO9YhqSpS+p6TRenRHgj6+{s3u3Em&Ca)k0FJaLd=TP%+|kF z`3h=!N2*hplGMy?Lpo_}OIv10X{uAA3_!JfyLLyk?B*JghXPpiDZo5^1!5p)DnAr` z;gTN>B5KIIX5|UIwB1q80#StvmS5)Ro{q*AR8o`YCX2=D^zF{ zUkZn}Ut6BO2Plt@9epq@@*pXEQ}-)KAZ$J$Pk5@{B(6Ly^%iBfS)+vCCfkt zY1oTpDAPebqPK`>)RZc#lX#yBf8TLmq-c8^{TfiQR&`vAkMHM0zbrnjGj+VWmu&cZ zTNhnHCg1n%i8Ikv@i=c+KHWD)_cu6lqyr-hxV*Jc1OH8!zjN`v4$SyZo&u^$*#wQ?{^X0O`*r@7wq};zjIc!;cg|-~9c57D_@l zn|25TPBNA4NGEY|`p&QjenPj9CQf%nhn+Nr)S@AQxhU=HJ5f*kL6-qNK9x+N&wYsg zv)5BswuzUWN1U~^)8xC zAa9BsZM0=A+qPUi?JwEI!}So2#5fN^=xqO}+RAv)N1w0XO&CV=w{Cra$7o|BGFpom z5hEf*sC7BCsQ}qOxKR|#s~6-Q1Bc1F%E9-t_u_zU6A6#tHG<{yLsPA`x~Q$0DLk48 zFc40+urE*DNuGO(Y?W=qZdWS~f#yz}&+L0BtoKNTi<$*Z#H?(Gplv)yR3CQwnuXM4 z7sTh`(S@d2a!@i0J8{O#rwdo!TyxOVx1bz;KMe}P&^k{-xwP%-7D2c@GH27#TaVWS zS*CURBuO40530=szoB3X$AK#`HO@}o@tA$^%!|UR+ZD-FJM9n=<-p3t5FNsTwW<$U zJ3-rAoY~n*8AwF0YWZDLoq-fl4S6>j$I=$_(y(#c>$GSuXWp0AxHEezg=%lRXiyFj zHG58~Gm!6br#)J?-@;r21lnmyd!B^Er1l_7&;)W}%i~%-xdk`HgASVvys|%-Rx`j52~bM?UDX58E24}5(eMAszwp0&_p84GA|eLoA|-P!MiWnon6rIT zoiOJjW_Iv#U7eZg96W&(#0-Gd-p4-ki|@bje*;4GegF&rsZK#mJQcYhp23tL0*RAy zhFc&icY8J9_B$>4TGZs8RF8=FA(iOkZ1$X~9*RC~#GuveInie@OAnwliKNI5LX(I^ zG_CCxqk--D*-%DmZmQ!|Lwu_tZ|hQ1M1sz1C6BReHfaKV)wr8PLLjD@4wH!4zyVYd zXgd3L_we?C;HjN7w9O7$-Q1{IxLC*9BOMlVEju&y$k&o8i;^Ocem7MB_>$W1w-%(7 z^fMxOx-aw%7!t||C!zkHtzNN?YiO}cy?c`z*CxS1W{VqDx!lE4NRMYxHo8belD5@A zLK16-svIMmlyV$RQK!4o=Y5+!1H;UlZuM@TsfcpooQQQ*9o&2QBj5WY&wuoLe)+%u z-+%v)vu_>W`1)7=<->R1eeYYpQ=Gk<@7*%hQlGzV*Ropd2ms8%3!f-X@24a+)^h4Q z27naZ2LizPp_mnHbEN9e!{Zqzsba?uUmQg(;~6>BEt|RLK#&0jwxvdJAV*fW3%br8BT~4@S%1$-1{_B=$gsjJbP`8M-2F5 z`YWYL)w(pIz8X)mqrrp6yU?kwF6uLzqTQo!o8A26R9f?xSmlz~;2onaAUz%wYhL{S zv-hsCwj|k^(6?4(=6;;leOJ}3XLsA(Znq!prl)O>jqMo^W{~lS8H1&fj2NLo)(8uP zkdXMpFvAZ(0wezbfnfge1I=h)5Yh+<%Qlt=+f7d!zq;Dp?yBnU>U!MgdGEb5Gh*>0 zA~GX0BXaM3?zy*amG4&R=+wD;=gvpOdVFiG?^A_{`9MLvrx5H&y&*O0)cLHDpn3T* z%0pk)i?_Tpw9Vq|g^1Zm%P@8FnK)pcxyZ97&PO(7;oa{#3B zE@Pulp{7@@cUO~rKa3`nP0_S1xP~=xphE-;YqxxWK5wpTn(FIJ4#5=j>$+N8>fYG| zvkN7R)PUmI;wfbh7;47Te0-+5>$V|%&V3RqzDneeBc=;tdN$7{*`^*WC9$Xr9u(eo zb8S9;(Z{==fD1Fay3`Wg6M^Q52YqBRnv-t@3J(t=8@HQX!t2SR&lh>^?B1%%vjm#I z_94ok7(ez>*<4K3ORlK1J)`>7AuO(9iFdO-yNH4G2FW=0@K_#+Opj%*p@IzK27O3ijfFN21!SWlKETJ$9}sgJyI(>|ds z`cg|o9l<5?w?ax%d+tokqD_q5SJ=z(9~2FgAe$$9UJK+dxs@7}i&?-dEDs4G181Ta z4pJu#F;XA>;(zj;Km5)A0>qG#c=nyI{4Y>*P)5jYGqR;}7E_a&n)(!A(M#f)u1>_P zW(VI>FW;FRe6l)!hiD@8>BD!w$i;!^b5gs|3su~3zSuerdljxvSrcUtK!kV-S*YnN z5H98)BeiSlLr*GV?@uQ65h#b0+3dE_=cc;v^$Zyh&aayCPBy(|>QjGjjVi8-Ub;^3 zh)0l4d`S6VQXa8U@rKI7Bfrw)yYRH)*&Jq-hLfVfgAD3PJqbkkp`t4A;K7KAn>VMh zY0h zup4Rg`J$o8lS}bBMGH?5Z^zj~ZW+_}7pdj%b)wD|MVaKx4-i6{^9%Y-TP<%^nZKjt*_mC`%lZWyVcnpy}S#{ z>BJ19eSa<}o3D=FkKySll9~S6xbgD$ogd$6!FrVk^=TV}l>iT@hY&k{Z;)l}hH4tj zGoQ9JFtiEmZTBX7x`F_GZtQKa&E1k{`ZYBGNG0{MzYJR9L4b+ou&d1Z zuGpsl0icR~(JRXK0%gJr0MIl(5H0DhkY^ZgMa_c%03ZNKL_t*aQ;VHZ{FkP#(hq}- zue4ACXj5Gawb|_C8pL_{K}oDVNhgFUnHpNh@59>zD36kgr^r&1@Wck_Gj%b$!9d5B zCn-(HNb2#o_rk1bCR!>uji^rl6xKnes>h3L}$ zz5#XB1$gi`gs0Q6PQIh-5?rWaPxN9-&pz%5B#})aJr>vV1?>7A`a!el65b&odu9JK zY|!HXuhc%=v;tq5>l}pc0Mnh`jkQz^8}dhueq=0rc}$Z!PiJzq)ya?0er;KzJi>5;1&>nDx!O$oY zjSiuLyl-cQIB6YH0drzAqho25u{wPZKt6xYRHtnb%jMWjGzG6@NUqn|{@xJQ5kso~ z=zl!==C|KDe*bmv_^eRs($~p`bdZ)I#M!HC{+y}K00Sx<$+EL5^8mUg+F2(boJgt#CFk_spX4aO6Z6VD)}=e`gkMU)dyIoku(0CBbpR0JUr zaPf!#_kT@10o4#8&Ph#)rz8v%#8YePi6_xqL&*T0eV)8zM9FkiDQp{i0)dRpV?{T(MuO6D!+obkMO;}CE zocpI{fp}%Ahb<>5`Q^;B$?nVL*_$oHi46w&?e>kgLX1p?Vueo?R8Ye07LM%143sI; znFvKjhv>Oz}&1Yf|q zn?jdvN1nYNLt<$uHR=S*K6T=67yX0`=z6q)mmcBCjzAbAUXa%DsM4tF+PGdSE{RW* z24w9>a8{;bpsjGv5e4~eUvf#xS|8s165T`ULgeNf-g5JS-h>e%5!zTSY7C2yy38;t z{lU-u`1|jEtF7u21BTi```~+t2UFNj(4mN_mS+GhPapP8pVXb3#;R40q7?hhknk%O z&(T^LNm`e;BqH+a+$NAxpU3Rg@GDX@9h8V=H))8Don$L6FN2JfBj9oiNU1^a*F8ep z3Qa%_VlQxnSTEHGFC<1qx3@JxGU`FLElX?&ZC}_#JetkjA|<2EQp9m@o*J*d@I^i0 z2zKkQTP)5J=(Cp@xcb6sdHRTFV$tW>^h#YXFBId+g$R67hw4U9#DMZ1go@%o>t#dB zLoSaBpd1(U4yI^H4SEU5nuIJd6s8OxXi9YS#+0nM%vRB17cI30y#&N^a}j5j1Ddmf2+Rbj z2n15~>OMqEeF{=HKK8GiKm4lE=cHz~>s;k~MxR4!QgfIJVjBJpUEQ~LTl9(13+RWp zKKYAh_kIU}=#yYR25niC&>g7}fz+!9!8rWTH%Y8R7K6PI>VRP^zxL zLznyjy+A_0hbHZf?YLtGYERk0gQphGJnH2j|ge z0+7wFnR=0UzZo>iVifb)IG*1wSAA3m8tslsqtBZFT$s&o)Ky0kJS%pMF8iUvhCH{O zgzmz(PI{Mi<<=*b=ch5hiBSSQ?o@gl(U1)8YOBIsE{@a3r@@A$WIAB0r=|i>?B3Aj zd8@C$IkC#;*97ML@O`~JJAe3{x;*E+I6Hd(?B3U_#e;fz$XTYB4!X$(s?yKanW zmUpp#Tdz(4@MK?f8LMnLlk2%P2xb|Um(=v8YkYttd?g0h%<5ePDW)@ zqibn9YvSL+st7{H$7*9Go%Z-^Waag#Onhw+aaNdW6@xfag#n2_9oI09gi1zgq_-!9 zx)nS}qw%g8wam@mvcZ0#0nm)mk!0%Ty*luEu>n;sV9J5unDPT_!EI@um&5|x6v5o4 zl_cWA^%NvG`-eA7+G+$xK(twHk3t=rU>ekH{H65xQ1xf7ExrDun^CqDz~G2{E>Snt zr%*_sC=OPuw6^9iHeCsg*in3jCoDWPq zb9$;m+0J*@XKy;&NEoz*+Hlkm7h)=aLADMjP6*EZYzB~z2Kww(aUfg_tEE zpdHS3O?3}2wlSR4uIS^={EeL@x2?M&LSg?dmW;(#8fw?ZF1@)-X*ZX1Lp@&*PI?7& zoS`rP{EVCTxm&JN$W zsIiRvbQuuAhJj+%0MNzkM!C4RjcZPU z49Z8#lvs*1mXFx?w0uDW*X;5U3apSn2bIHUs2OyHY^I7U#4Hd~E&x)+u7JeUqE}Kc z07Kb?6r0rvOa;nZ^v)S{+5J*VqnE=4!=9ol{H*S&gHpEV9V-U*N~{r9lYPB94oqJW z6nIi~0+S}Jr-9`km}ts_qFs1!6U!XcV8~1WteTSq>^a{K}-q;8ecH7t^yG|!gh^UcHXcaqPOIT zht@R6keUvx@Ftv_BXn9DF4Rq`*3wC4`i_}mqu;U)XYXfRoquwjDeYYZoQ&IsPVdq5 zBsb4$^T*Rx9DgXB6&EGeyfBgI6EFx*jCV|8JG_Z;(&5-^nY`;F-rg5&~#ccA495u(SuHzV7YWiS}4{*y!Irw8cQ0^aYsvEQIYfw z1Lz*cF@EdJI#^KBE~aYHV0IRG_Te#(A^d+jV&y{83TM&K7+x7ws=@@l#qS zG(?ZbSbf-ElIZE!zfXyfRoojy|LTIU?cNam?F05TpEHvof`9WDW}=riI1V)e4@ zR~yj_;t448-O~od1R}~oAew-3wrI5oi0jq6D&G~+kP;-EO^6iplsPwgLD@u1J=^ z_m8DMa%38gyxVjsgZ(q593t7|nyJry$2vDrx5uN&*Xf5Xv>{tmh*J#l6afsWx$n#4 zL`QRo`%o9LwS=K&;GG*O%i2r-akq&Z-L-9EwzPS(?(C+XQ)|@-Lk+`xK%&Yqbb=DU zM^ic3z)~4q9uC_HgP;PwO`BppgHcIv?R#QnlNMOSqVy8jUMc|1*`8SWhn5Wq z1F{Yly&TX3A|~6|KF%NgOMmC>x4!5FBuzL<72`$WKEB@wjO3CUumnx3E*Vs?3_Jw~jRIKBP|rAd!Y0$rW@CW+8P@z{Ahu|KehL-Z z{OOD|szi0zHf?OV{@iPev%@uuXG3MYup?khqI76|I1xakfR&5E&{l|}=vEhdH_EIR zz7NOcfPt`yzyBg>rQ@dwNWJ9XfYyDReuP~{kM=ftvZmkzu}E^kw-F`qg$rEZws&JI zHUJ8Aa$>1Shnd=4nksfgS02BRPHLLORg?EEpY8|xgh=!+(`H#g58LHYZlVo&foR>g z2V2!ssdnviFXiTS-$g-4Bwb=(4)`3o%T{T+e2xxvs#_Ab=Kh#bhD6zB31M9}$T5W? z`LLOSCxbpmt;$CoS>C=RESJirMV)+Xt?%Q_T3cvT*JymHhh%YJ&OzAQzb?Su?#=VX z@!r7;Suv@rGMLdGPWSh$oCYzg9We_}ZlE36g?nRPo!ig0+n(R+qR+ZLl>*3g|J8c+ z(4Vk2^?BP*-HOxti*gOo((<=DCg^T}O&K865o*)BH$GdQeiHzsHl~EEV5+7yypy}x zM&@?onC^QlWKeaR?0gfhJM9e65ICrv8syqGYg>|w3{+UGKcC$;xx=%{-%x6$f#!S?X+Z5sezEC@-pf?oLWBMwNmOfXX?<6_A9&W)<& z<#0EuD$lGdc|`Pi;7Lcb6sN(9P2(IVYU*^q=6g4b*+IEHiX{%cyDHwD)%EI>c)~p0 zz4}_YxIfs@{)0|vS9#%t^8ilul6uxP*c!0PKpkZp5N>?jy zMWr1og=uvWDFZa+b5Axc>BbHWbY*&2kcN{VY{>d47`bSGbnBehyak9Uj|N=Wp~pAf&ZORmiTLxO zu%gMu)c}0ABV4ujf26=_fZPRl#PX3v`qgDn4ck1!jQUY}hD1MZ7@F0N*Q}HDcq1i> z6S9sFdFWhIrO~b1wYunYN|`D((0yV2RMP(&4RkJL9LejCkDk03v#xVo5?Dt6&XDRM zWovWAr)FQk?4^*@>dYIpKA6We&xoCpZL`0 z@85k#j2K-?+iE%#_3Cvs8fo|ts0+?E)XCvBI(@&Zq8FkUT{GyQ!+Paq1EdP6Jlf3P zwM!e9V2il6St4pPUUq-?<%KRkz5%E_{U$(M+!S*Tvv4UZs=lcd6JVyg+X>~Ll++;N z?21@;U9{(hhNFF;9O6+q;$ZCB*8)iqNNh7Ha=p4kJOlYWUn+o!GU7taqKS|RiYOy8 z1c;PGhL~YWR#VXnViqx3amDCG~xfkX=Y(%pyfh!2_Dgw8o(8 zXQV{V)ov?Ny8(H3${OqP>`r=yY!j+9cVZv^%uhVL`^`c5zgO?)NUWQbT*9ap$Z*Z5 z4tql+o!{zZo|vDls!&HkKKTDC1Q&uhy z%jI!Yos!g4}xFo_S9R_B{hvOUrAi#oKy_^8VUQUD?g*V`@(p3sbKxs?(dfV z%f0#N!J8eZ*RpK24>u^$$&f);+S+IHM>m<&lN`XwgSWaxH60{(;K?=7i@M(Lf{TvwEt~t-q11zn9xWD` zQS8!0Csd&a(Zgfr+1MW9l*jWGPsZ{*(VJN=PM`Sm+GNZn^kHGbs{>d$phKatEg3_f zH+z(qBfmDnr_9}c-mEFDQ#PGneQtGp*Yh)?9m1ui7s*!I>qJOOqnX>bm0b>kp%Gcv z6e_eiqu1KT#^H!uiaIunwR@y|O_Z^&=i^kYj7pt#5{dF@^v;jm5Kh+%F~FdsQlBHu zWq;1Yp2u-OdTK8163!%zK5yuJqvxO!v>0m%d4|MI8}|m%TM6t9`O3QhD^Y8KW^|b6WDqV{>F;a^K6%o1MS2^b1@7EM{SQ#8iG&^ogIA z3*tu3t;HkGAcpe;F^hma#4=+Dkcp`vmE)v_0Zr`rbAD4=Ita@hV7mW_YH#9l02d+}d7fB5?#ty)oPWSiL#~1e}Xr`O9Z%fyEe$F;RaD zP>3U-8U8JLz=ov?IOseJf z&*ky{nZP-G@F)vAj34N9BfVO9)0;Gw3_c}&Zj@T!jJKe-H9f`SO zh74k)VV1pl696Sb6nc2~o9Xym5;|$)H+-Z*Kd!2cSfl7u7}ZEDiJ<#;zSB*sBjOXx zYO98l4PSdVUaMA%fFmB8&1B2qo)6wHwdkr#2i$p@A{99A61)t2Wy{CgTgFXc64~sU zu`&tGcR5lc@g-GqkaU;VQG}sa{%y(^K7(DUGGB-tEb^A{2ZKzfb%i{+;*Deih2RM! zxRV{c7%h2GxNMvyG=SWC<%iCW-UWyzvTI_>w#s;t1kPB;o*w!+hgkgKGjzzuc*DL~f4%3JijQ<^yM0=J7cz#qLECe_LShV&Xzua576 z6gY>ev)va!nVUF+r~6DA!>uZ0DJ9kDmX`qIK!OK9nmNb@P2#fdailIPb#OgMGKcj! z)$Lc3A^z*+0bC^7=Zqts5H~IAh(O_O6eyzzIHiT-qsbwSQg5g3@G}hhLxE^t+G{dD z(ADaxxh=9;@Dl~dQk^R)4mWJZY!>Wv&HySVdwDj$ar5I>ZoGPYaw?L2`>n5@9K9pP z^B1?oix^mp=3mG93Qcw5!9*P?!fGz243IJeJxu}<(PvF_G>C{4=R0Cn#B+d&CRV!8YoZ!|DBWt4$dV_| zdm`yJ7;qo4Jkjjob$veB|6W}k!!=j|Afg$NLClrgKXY>TcZdjBIJA@t5Co-~UK3q` zcb)VLSj;Jijj4bds90rUG;=Pdh8Qu%=rce=G>{duSIWha=%erc!r#67=0D7KUKL#e zhU`?e7@&mI`!~L@THZB!DQ002Sg}xu?FTn2K(g6OroO*8`35LwwIlju@8;)Lr(XxF zqxZf{G^tki(=n3ibgT7S{sZ0MPHIAJPjs`w+XTcoc%r|0d-S8h)A!xeqDxQrSpYSV zgXTa5Dj=%>vp^S6@U8bPxp40q8L0d^p@5bo8WWlUr*r6Db(;22;x*&-Ld{VmL`EB; zCHOBa45%*fq@(G!w5Sj^D9CxFiKg8+2cz)-jsASZev7q@CMlqNXxpQBUkY2_ta;)C z^MC;+*wkbCy?r76pf40)gl`x=M=H+`6Qv!DDr4mXk=|rcC!bt39Y*7TM96+Msa`uE zWxHs+#&D@n=P8?d3096ElmdjRqsuDDJjx*+Wj3WRtSXqg*uSk;M}C**mX|3;YC6QM zl1(;#XoDAoeZDexc6#V8s%7>-H*Fc5TT6S@O?*t*hl6Q) zcKGe!kW)}5`WQTi)S}Nja4tnmp+Ce)R56*Xmdn}BPF+<`*{Kbm^5_i0@OPR5 zWw#$q5>zUj0*D91Mtq@B?h%X0v4JVt%!Si7e6QGmzHr-F>4=}+*?*y0oknj3b1tF( zXnv7Yp4Tj>>J842TRzkEk4Dy|a6^@ON|TCEx=8R0ApY}my}GWRriVT<4nm{g zQOZh48p~K~_FHpAlo0_$Oo})&A_ic}v%Gk4@9lec->j=8AR;Dh$0Qa&%>&U6_kPQd z8L8okKnz4U+Yu>!gx0msG`M_6$k5nHrq0l=u^BtD>N?*rDl9=3&Xz7CHv7J(CU3OX z3?kZM3Y;B?S&BIiC>OF8BJXq^iSOKmYes|Rkx+p^pIA{rUEYIeKoKz!1BRdkAkI$i z{0{LegZD`ZR8k!QOcr<*O)y;SLu!@nh*=O>7Hk#>u>vu1PLvUts1Q?$u2r!w zx}5C2a(eiNsSY6}pb2aVH+HXomEK>M001BWNklr0qI0$iJ+wMs1c&h8}*tpf3B0br?mQ8n!E@4W__8`VT`WO*&NKV>z zn+?mcQT_@^bQEy_P3Uzc|DIWh-XeRSdu^Dq&Z=;i);Vgvq>C<@E`$6a>2?j>JZc!j z`%|ZrvfXVXWY!mb?6i#udBB{ zu{=9^#PdmWKyRh_K^WnZ7BiZib$&5z3vl=zGbkekv1=br#h^?T{3~Y=?b(L{k_PI6 zEyjoIc0i{CfRrHCs}q2zm_nC;dEt{^IKBU!>A?%S)`77?dP!r*RuL;ub7?$hBSr~YQ;$7(Y-nn#~Q19bHUNxG;A=K zDQQ4_1ZNqcY#y4D-Wzzdw`JpX*s|bXY~2R(5u)SeuW?w-!E-|t-XDQHM^dB!;NCgg zzrHxW|4~olSCku(P-?(l!~A$r+{CPcyP zSg4^qZV+f2kw)sm&zK zQ%p9!UayXW#^)i--I<2VioLo#88yo^N^2|YVCa++OiXi+6`l&C%cs%`J>|CR+3QlC z3q68_Z0h49IT(>c02P6V6mgd2)7kt$<#Phn)$080Ub%cIVtlACT}KdV`sF^aNf72x z?$Bp30R~;S92D>j(Od+Sl!4wUWiGFFs!GOrG*U!L9Pe{Ylnv^{LX^8d_CwGfIK|%F z>EL%FF2st|kpdV3E^e6ej;HbnioVV<>0h-VPPYB$UGi=Er$ z`MuToHz77}Hy|R%Os(4rK})@DpS$N0Z$&A&&B2KrU5Qj(&+8NTaNazGq1#2s0XoB^ z=29OIMz)9U(tia{nl3rwTuf;-pGfT!l+pKp`saV?*Z$G3o&i_px9i0n|BWU%)evqT zW)M*h-=;%93Mug5gA(I}430+ORJ#l~rga*mPUV%uL}>``BDe_@Yq>~;B9f4jmXX|? z)c*YH?X!EYZ@}r?y9$#~#gOfBOuE#*>G9hVJ-29Hzb^jd4BIhXd<3G1UdzH}xh-YM z)@d%hp$PBxpcunBOtl_wY19Y-QZv!#mVQu85A^EDw{^REDwshGUA7nHj2;IMmjF{7 z+%Avav1fJr`~UJgfAs5i>XfoVbme)Uh1A4r;*E5H$S4ziX!O>;vzMRh=sLgk+K(2+ z?Cr1p`WowDg9`tzYI04l9&}Se#L@u{CQE3LMRHK#Lo3p*4xpDjxo%ePL(QR&N$vW^ zXE;tIS@{kgyMhixpV_$RxljD1_uu$`?3fqjSEM>@*&U_kSZzP}Ma)1Pqxb%9#oHAs zdzYsg{>rqu;YWo|v*{D)m1d;?Y}H>#7b4xLWkYi>=`T(7 zYhzSPmj+ll2Ek2;O0Vm$As)L+5*0iJ@x;GhrAy82#VQppa+&Sk>IV~D4YxtGntrVQ z3^~iYtqtuBxe)ryPkaqOiUn93jnT&Euoj84^S_&Hu_t!N=u%H(s1?p#|AG!bU_4U6 zXy`A#olOn4TX3BAf90*OeW`O;zwC?o!KZ)lM^&-gmFA-$P@oMKOh~MedAQm9>%a8( zW0K;7v2LPz@c^ia6&1VL{5njTTw<6KP9zAB`-j0oT_{q{c?OculGWqIzDdifv_m=4XF?Gu#w{!5{| zsmqfD%OnDskzw*F1E(Vi2O4!)J&uB?u-m}v_tEFew?afu-VuCsURgfh*!w(E0LuTlWwYxK_I`Q9cpROXHk=@zKO|ZA`D{y<+bd% zC1(JM=)jRlmyowtN7Q{~T4Kli3k8A7Z-UsAcLBxO72+ABZoQajdxY}rO;U3)3(yPz z7q>w0GKsnUg=p$Yu5%Cr1xRszLrlrVEg&PFk-BPcpvY?X#=i&E{K$xaef7qG0$vQa(VV` zm=aP0%IGtdT@kYs)VjJ~F5f%3^Bb$PualYsm787?Eso)YK#KD#{<{XxF>FENX=@;)DJkn znoX|)_;>&AKT`R;gRS?W1FKyrF<*v3rP&M;joxZBzI_|9;867e);?+`F&^RZK!Re8 zgkj9tE6Ina&0U-qU7#mg8yos}8O?Sf`uuBm|0JMXkO=5OJP6OE3qeM6@XbB`2&>Xa zD|AXAiq=iYAwA%QME)L&V7KO3maV)kbrx#ZeHZ)N_~i?DdDVfBBbQ*(V!XraPTwfU zp3%G8rvDs6X7hL-x&&WjX@Ab0r&ANXJaShg(*88sqtE`Cif$1n(+n7)JbI`3ZihaL z03!7Y;*UlwdX?_{kbYR6gm)yZIe|Vj+ENvnKrObD2iYJeSw)j#LVve_%9J{ouzr1^HYLN}<3In*1( zosaqwdDdC;BvG&tSW{vp6RdM%GD;+x8usBt6G03;kL6}JZ@qSYcGx11jZt<59$we1 z=gIX=C@FxtJWJp&)VKbQU4hbsIqqUFTMt2=)@AkqejRnuPkL(Z%m_{GhDJ3#6-WwV zI*=TV5PC{N#grO;JyMz9K9Z(uAE%INsThr}zxw6h61@UswtHh||LQ7`mL9d{fKk$=3|K1yaV5)ORXVwqCo3uYI zzmpt7TuY`LjN+2-M4+r?Y@`8GlWRuUMDS$z9!@us^SX%vbW^OM&bXxYBvSm31j_Q+ zEmNI@mq|Pcqh30i(&2o7jM9~{kEy-qQz9H_j$%5aOvTTT4aEQv0?LsAT4Xh9` z#+X{f7+s2~b-fDmb_$pY!^)N(g-fJw<*1>`<)Hb98dlh}qO7!3zoH!pgM^8(&ZgIj zotyRYf#r#AZ@y#39JH;84rB&R7vGP+e1VdzuSplN*JuxLHW6mJ8F{R~3F?wN(xFSoSw4?MYzaplB z)I>@|0~KIF?G<=tNurqxK}n=+%QlFKGa@DW#I=ySDx+@|xBMHeUnXy@2}Dw#yW8k= zCVMW7yN$iwhed3`NlyvQ8-$}Krc!9S?l=>@;OPsZ>o>pp|NVFW^KX3VH~xtj=<>9i z(YGfW%6SeX$G%kJhph z4@deqk%3YSU1|8E! zz?d=DuZn{gzk79jZ;;#xAo=c1$|mA+s3s;c$O?p^4)MC#tnmit9tng`Y}L%wr=8QJ zt_7x1Q)c>sR_oLK=oNGrY&_?51<@~LQjilxv>yRk#So{kd$^ul``+ufzxx}1^4o`Z zzGH^no#;wlHj3J_&BW!B{pWmjNUfP$DG{Hee7-Wy-EFt;g>RbSWMl~sGiG)XKt ziUoX)5m7w3Zkmqk^;&9b;}+&;BbHAagh$(%ur>@NI=~9)I89L3IbWThgzslH=}fuCO;_exoL~T@ z%hN`n_4vWJeU|Q8+h*5ZuFFL*#LARUp?y;o1f0M3jo)|LN}@qoqed0LpdFMdrdGE$ z*j=lw+Rb4oi!~Vb+I#a><318|BZd&Az$0u%Vne}qnLyy4Vqg%*dKR*7{v!YxQ`+A7 zV*Y}zPP=_iig+sKywiIUM2D=V-AdkY%xi6-bZuQnh{Hj=3%Ffc=hQBULMoMS3}s#f zklpY-q}DJqerSv^@%S9TY<{J#mKQjDh(2HTOSW8!TPdlgOqL|<$&mY=$g8>$`JqNJ zMry!F!{9_j#4)>+Qab56vQ8l9+qE2lMktm8-ysXv2u418w>`7AX6Zo8MuH`4|H#Tz z$Mx!HcJ0&k;$F)fEvDFgL6^rZ>2RlKmOEzFp`W%ryap=}0hyzWBoI%?VFVUCw)7(g zRDg)GUE-E`XJ;1VL z5WwI#kGjhOiUnSN^;J$6sd_AAkGgayD!y?_eE;X zr(#wFCdUw>01y?Bl8A}iU^3_X#D$ns5e*nfMLc)KV+f?O9lNfv9SRU~EF2VQMK*Di zxazX!R0)vN-e@VhZk-3ar@O?PgeAKkCc zAJmI?{Caj`R)B67xp)S1r>4~a?z!ijK}>l#+&+3xFxK4y(r{0ODUaR7p#-8D(1oE- zb=`?eVk3@|$y)FJ$l-PFYeW;938f7#wXV>EJe zhb?B;biGI%M-qVkBYKk&VBzuT6WYkUjl)wEG(#Dc4fFc(XvcKFi`TA=TQ7az+3}sk z*LB+aiuqMtE!zj@@{u7gUwB=d_P+$kWbZ}2df54+Euq=D9BV3d$&-Dl&qr4*LF(1< zeHRZG^I%$30GM(i)gsV@^i!&~qTeF38`idEofJ)X7dZ4;r7cYNw)3PFkf5Bhxj)as zo7vD8G#x+AT$~+#t36LEzZWjEj;8uJ3vTON)XpnX9)c%&`S8J=Z|&ZA@!`8)mFmPE zP4w#8tDj#Sy%UrexogQ8T)=|VM3DNuH-0y4>sFmGsC9S}&^$?cPCUvs*j|IFjyqgt z*86riI-&)`N5LyUfY)cf@3VLByjM)7TGx2?x}Xn38g3YS4HWrg-FKx32WV|UPdPO< ziKV-=4&q6vJ4SJb7NO&8Ht0(3?6~Rf)w*16h9gs7S-W?hq(1DLpW8(x4k)?ccoeZ} zk^N*56{aq`R4uXr824lfNRe|UHSt+cRCU25z{j;kk+o}b-JT`hu)&i!+W?-XKoO$- zqn8uuz`LSXXl9v*xThbEwom(~{>H!m*6R(?2Y%$|{?6N9`;wo@bvCMA90%jlOlsmZ zEBZ+YAlhkhG=5q1Cc>4EFbhJ1!gKJ%i4xDQ`H1clS*&*ozACAo%N^GUI z_&7DK3NBC+FXT-C>FO+YD8wLs7wSkWL>6}_)JBtAJ<4u0FBMt=oRP2F#1UU+9Mwgi zKR9oaM4vw_4zAmanv7l`BF#OgCn&!32ynpK*o-!Ka49T!C`sB!yBw_SavVF-+u+Xa zU=0zAEoM+g7E}!pH=m{jmWN{eIkxktR>d{q+)+=4hExO)H8~KygviZT|Kj=a`;b~q zZ%TdU6UYWHR?{mVt5=5*nO*s0y}Sovpw8wm7;T6%QyquUwk}V=nYTFrg!6qdr7vW5 z@e%SjpR*vg5y$$c?tH}+i7l9Blx;6e`_0*(ygaV9j zsgCX*3hZ+=;D$DSK+Ob*iNKue)x)}~baf)tgFrsZ&Hzo(l3#lu+Yyp95?i^S(N4`h zQ-XS;@$B41-fO?(B+fyB)V%z#wRwn%W6+S><9O};R9$*yM9^eX;A}9fgmidwVV_0o zT2n6<-rWdN_vmw+1C7*9FiN5ll?iM>)A2YiaNFZ=!u~Wwjd@$Tk3ochZRryO^m*iq z1c0tqooCuM%|K1}y=pooq~H+iJr!M^_)$d;EJm=`Cm9M#yA1L%_Y^TiQkFTo) z&>uXYP9u?AXs=PMTYtR2&`u78V+|Z>wQ2Ki1&C)xY96r($6wU!IjPS9GrRhUdikJx zv7wl-bP_SjfjXN%Z>p2l`Z*pjdxsSuYIa@f1!yYegSHZ{viooSo>Zsa{%3$$9KG)k zPCU6PPM4DXmBRPAo36E&Z2G*ZPt|5x^D=5>25G9DFtTh=jj}3bk>Ju5ino5L+?H^k zia7i3o%aBIRM6*3%gu_(0cR7VSIOgFMy6Cuc0B++T$!|9DcG3Mfdd90uaMn6sEiGb>sGH=O>3x&!W2IsA1TqN3_-F6GJ*_ zfm)(<>KXI|Z(8gd#l(2oBo@9S9WQRO3_Aa-ie1sw=$i+^o+;}gW|MC$X4j_k{l4{( zsOWGHYv=|dT}<|^*T2|8+nm4sr(YaE=biwxm_x5@WjNqdqZm6dhNh$2;7L|kqs1co zD10hO3mHrMlM`I*hz=6$cr}^^2SLycZPLpIK}1FC5ZG~LXN>Y}v`cil_flOR_21u$ z7tw&tLnSnn!hvP#cBT*M*m#sVE`F+Mr`G-1rzxkW-0D7iJ+j~I8$<8NXl+_WoI}h9 zcR3tO5wY&~4KWw#8aE=Ib(PP94MNUq6R7Dr(iK*xN z-+O-iCamD0$B2mwK!`w`1EQKfK^|;uvJZL zERPF6_O5-pT-*gzclKPRJD>>`<>zU@kt*HZRiu+F3_6-sw>uehh^73bvNAGo}b9e&SMx6RnU-;|yzw2I49IrcGJITZrLw7sn0=QRG3&5{*UfTrM87$u9x=*HF%RvuNhnT z>8D^C5L2CX_hwUvcC}BbEwM(`luIewHRUnPDzN9>LOV@dyE+$c5-0@vvl(owA5Se) z(_jBvzxw)@|93T@XOe`~;4bwuCF+6f2YK8e3}theGVlbwaW=h)N_z}pD4(7zVLIQf ztEcFEK2VUlT^m}jy6AI%)$U$-zFeMOD2HiRi^Y$o^J{fDYB6RFF=$bdMBmEh7HSyn zNiZ_z4x8n3W2!C};f7xnMI|H#j*s7g=t0__14s+!r^hi3R=#NQ@FP}oRp+s?1`Av|3#Yh63P7`+zXA5CMkS`vj3r z-OLyJvE^ol+76oOQcd=yUV;cJhiJ+sj+?CEEVIMJEp7FY)~aV%n}ZkC=-tI|>jqXaH|UiQQv0L1P_tYkSN9x$5Jyj3FKy3MvGaniPFtf*zI$4riUTJx$C;X3k@_5BAVwAYQm;Twe{Ohn0vK!0 zr8M#F?P>nsfYnN{FiwK(bI$P z)#W{KLA-ApkV)--<#+xYM|r_Hup%yC&UtcRs$mZu^xZhSrtn$$CuIiQ&8CkOcmB>E%g#F!QI=?%!Zw1CD7;4wBkc&6S*hZxZv&T> zEi_A&DiYzDy%UMWl0ogDzj_S?k(xc{Bk2OT!OJv(x} z7w>oEd=_KX^S`^Kj0eWhy~?vL;fbTjh^CWnAb|3HnAL3m)p~X0RsMV#ukD*Opa}q| zX{%2|`A`3Azx>8memjPD%P;)f|M{Q%{;z>1o+U#Ds4N`5-`4LLPL8~8 zO<{}BtppB%7^d`!N40&!>tFsSKt`Y(VgmB1;V6OEOmNIE;*owDcm)7NYESfei@S*- zwIg~FjJ7pvtM)nSGeYMNw zlo!*gT((hQqaM@NooF5Z{kjyr)9)!8eB6`yiiu%5J+JoURIM%)6Fdbc=JSnh^c!jW zwfDHe4oP#;$p&RYjxn8$Ts5`vhxIJ+ZHx3?9-(WeG);Uohl$^OQj-`gE(wfJl2j5l za}#NNVw>$t?E)#H7Ppmd%+$aW4T>E&>uhqRULAH#fh6t#CGsCi)COc=TEj+u1Q_?= z+Bpkk8`lihJs`@w;f9Fk2OnRa-ZlEP!@MuGQoGs-Yv>^IQNc5kpe~1I$SDB|X;7kDwB=dza#aWZj^{ zi0hGv;-4FI?MFDonHUWs0tqJDnW9nmoK~R&Mdig#G9%oTRQ^>;hgn|pv z3sO4(99qFeOCli#P+}@l3``&dQ<9nkBtj73$rV%G7gLd%TS^d8Q{pL56LQf8s4Pq@ zQWIq$uiQvVQT0p@001BWNklf>JXNVnktbBVu%ZolE5MwAd#w= zzfhiii;xSM4z>#-FbHCkZLtmYN~HA9NIQOKfQak?8&93jU#!mGAtKnGD$ZbPkOb71 z;p~(Q3jZ7+0$$%TT+B{wvW^`gSgY<-ZM8;7&D`2{@`miUh7M$PjsMri52~0Xj~+`g zDDwbE3OMd*14gq;8Zc!KeV-(_FPa1LpbyE<%Xdf@sattM7j=?=kwZWksK{qGs@+2_gNo)#p_+i2bIpFNs>`B$kPC8iZn@ z#!-ieL-eWtbmsUF^||+0mYQP!9`F)jt=6rS323b z);!JG{;dQmif&II`NA_=P{uM~cGcl$2QRxf$I<5zC{_{{)ueL|8VFaUCSk*{%%S<` zM{gQ^+R2Ed0-*J2kk7-9hu8iN5V@)3re}?GbvO)0$;CMwv&Px)}N`yc(>Z*pgX9 ze;LqXmYzKs0QB-*i}E)DaUv^ea8k1(oJm<3R0(;Fg&xNuw? zQV}UoPHIk+6BX6@yF@uSBVytiQDNz)LCpC9Km^wxZHGTWitIxq1t@&Wbgg9K-M_Z2VN+K#_yJW4kzKfE?WXOkgEUOvsK#r&lG-4uJrDZu-yz zBO_JfgVH7D9>T{CyRTO#LF{1w-2V8_5br?BSnr)|V36f9TzQN)uOFf#O}R#+q|77z zG(8ETc*ZdvmT!QE$`kX&`v)&JrZrIv|+eh@uX(2iq{jz%l?J?D06E)mQ+PeuruiD@tn?ov~=HhDm)l!0|-62a~ zuH$JZ%XX_YI*#o7qCCe}Cj@d&L<7d9b<#*9x+6$=1a7#wo5r0w0lu}rDBo*60km74 ztbAw!H;H4T6R()m6)8fW3*2?IW$v1(CtD;w>o!hm`Eu;(v)7Z)f;t}P{@u66yh0~m zx>yY=^ptt5PL8w@8JX6XOZ8-AnFIms?OhRIXYXLSINRO7k!3|)mmAYGquqUdj_HkV zQFj2R{d-o-O-R)*1DL5Dz#qaT7^72=3y3m*WDp0sqz!fPgP$B9Zv3gJ#7Am0j{}J_ z?goxSDl6TU$fH&Rpznmnt3;j35UFt3D%$T4QX6ucrZCDOX&r@PhAN*$7{fcCHJw?o z{wDIYn2k^53}WUtUaig^^rJvQD+cWy==tIMzK%`Zr_hLDqKi?+^&7OKDk6aD)mefL zLRu0D&VtUnh78(7c>wFx(ZDru+V&!r$xuSLl}B?+9!<1*#R(2-B-9<{>4n{f+^ifo zv-ZS!up`I^cH9>4ZR{v9uC$IlmzbudB&5}%6U3=0ip>QHpS_;`SSuxEk&7+qyb+1!M6@qSJo&)=8R9`h z?~t8}g=j&LrK!%2?|ublNorR_ASH+`Z*WlaGsVuwboKDoYk%$R@O9fY44#OT#1l{s zE<8|6AZDJ3)I<}91v_;_A)Z=kK~i&&5M?k1Vo2?ZUWuuga<-K}f~n5{;%pbtVpfyg zkLl%ohyiL=1rbbjBrw_JM!h;J=FipTeX?S47RR>*3DK_9N(xd^HiN0HBoh&c*yuB& z+yyGm^%G#oW2r>SOPAZ+naH-56Y26nuskMS(2u(v&CPOE9sJIbZ|Im-8#)Wjjb6o) zAo4?*jKRfzHhpkm=Qgh!-*V`jmw>!^tQEAiV>#!Wt zygI+r<))xCpgB&0%&}Tmip4l;n!*7KiLp+H06IaIFy}irzTXH-ZMnbboArqF10f_*(Wm0IY6}ce*kL24%IVIvx;h`e z>2LfS|JLh&^7{!WBZQ3mi4SK*EL%xEVo8h_M8`b`8_=FWM2RHfsd?hYGJ1kBjU~+H zFr{9dfC``vM+8iHI*^edy*l;O$!bheE>0Xu+hmJT@9+5!Rn}F#=Hv!(ka0aQW!423 zKmPOo@wdM6n~u^jzY4Pe*!T2Ut%$6BSe9_Po%f;+eaf&8tXGeutnty_2y@HY>|}M> zTPgtN`+wq>?|k!%t#@$wj&9E1)g~L356S~6j^>Ujz$hSd6$YEc62n+L+RZC@5FvwT z_jh|$WMa0D1D}_9U&8KCZMD{(biJANe3m{v&G=o)@dLno_f}P&#s4*}K)8X7yXk__ zDf;6fJ=w@C#<*myj9RhItq>6+OlCXN*$yc_xc2;O-}RXX_um&|jILw47Moq^hR?%h zCUG#1jIP$%)>Lpn>)!m)*s71BToEbE3;_Kn@%r44{j2YO`)lLRH!J2w>sW+AF{N^u z?cS`*^B7%&>1faPm$!_1{Z#JM?QsxEYqB+;F!2q$(O37-N%8gewyoHAxKk%=qNsKa z`&Js$kJ_DQY!^v&{?IvJ+eagSDjL2s|Ni!r_MiK%)!F_2lIu)~%DTcvyxvyqT-DXG zYk4RrEYSvi5ER2zC7pzf)c>eu3Th+c;r^mn=>lCyT0l9e!e5A7yZr-;llKyBn7zNK zKyh39w!}K1U=vb1KA)6eEEj`1L9a>?Rb!LXQXHJvS~13FQiLCNN5mT>+w{bq@BYCH zKH0vkZ{&4Lls3LtO3#2Nfa3<36SNdb5avRpCii#t^SoixD0>%!*ys`s5CJbMBrAZ3 zCjliw_pn_7WHBrEEflnfk|H+~Q-Ly~j3~SI%1_fpWa!0Qd-*Rcj@||nL`cp3 z_?=@kGqZWo?cTm;fPCUbV0Gz$=4zviGX4&mbC7fgC*r zxkOLt>X0ZqJA9oev&kS?(3uNJ&G}V8L@I!Y3XvLOh*+TQ!7bS_*?C+?$86swTwI43 zF*U3GR>ThmB%JMuUW%zmWx6_XJk$(bJpgJVC1OOE1Z6w8ZIbWkn|+Hqslu!6F{DD% zu^UW`LB7z;rs?&BIxfY~>a*1J)>T^H& zi|>B(4-;lq5=ibN8uKCUEU~C8dP+2!JW6`F=c%o!^EPy6ook7r&j7mUb1G+#WcpoE z;%%R1w>R0&$~4U`**u`L4^DszKznNAXuGlR@O2bV=n8~}$15!+sfwLo(uhD=Ac`2e z@~nG6^m|r1LN&ecLpDflHUq)h5^}GF-~Yv(Jo`dpXM!`I-!j#iWmWpt>%Y}5AuD$m zmgSn+srHX1k$iQt^@h;Dz30tOq3i%=(WX3({>wm3VKi8I#R9tX&ENC<{+f%cqR+e| z%b{|Z8l=DlWCNO~BR5+L?6$fDW#` zRxVEmiVD20WR+TzeH^fD^&%BX-o|Q9Yj3%V#UDZJD^Vu05z6(!benUC0WR-G6O5W& zY39^^{@?r6*MIk)c13>Bl4tpuGRo$4x$rt3J;~6KT8Jc8ROe?GeI7~bLd}z~KW^|e zoyL@kWfbl`uFG!>RFX6u(8%w7iKOZ7bt5(|H;a?^)97Jo@Q(IvZw0JlaQg$*AYt1ou zm~*Z*SGV{6PjkCETcy%H=j>*!xn?uQH@@+GVei#qdH2>UUpjmHcj;C^Gm5MLUOoO+ zaI9r6WP!DnQd^f;o;5)r}pX+FY2w0@N+; zS#z02TFElKCn#tIz*WsWNy-t-o41&%&^uy>1Er zX}Y>QBk_K-!r|C=?^BDTo4(#&=X)lPQJc^}pO7&A-ZaisKi8=dt_ zQ#60ot+Ie)M)bK|gEFf9*c2kv`}JaVTbuPvrG%ra?ai^1+n?C3FZwter`rg6_m%wj z((BHvKXi5ecD`wAeI6VdU^P(oVRR(9p443-i&!V_Jv+Vq>7QIbextX0x9EJvrgE#7 zt-0tY@<5WrLGJD>NP3v15Z>Ygp3c*Qri}p*w=iqI@S{Kb-do?C9r@8By8G!LynOu5Y|uQd z!Ylx8zWRmD**h$cbaM_Dm9KvP|N0dcOK6iAc`4zf6sucWpa1+{`8!|x%CExInyXew zv|OEPy+$XtBYjT^$IKKvn^%*~bTgJ&%%Z)x!)G6~QQ8*ifk}^o1*FPIf9Tga%pw9Z z$3~x`GxSuI=OhS**h762$>EkZQ4U=VnK^fXF%mVwtw0ZpY?@|^l zj;*;|-T4u?BdyP2o^Zv{UEMr{6m$#d7UGhkMetT7-Ktf`4)h5?%hkQ@4X76-V8$P~|#LQBVAW`A+a5k%NKE<5?G1UC;I z3tJ@?KTDg9zEbJd+(|+lLaK3`TCGzrb`(CAzIL+#nm*gMW49224OKni`c;3-lyb+1 zqs<(qJx>K!-AN?ALvpdPm}%atl+n^*F!lAr^q!jTG#jq*!M!5|K4dRFT$FOKgIz0a z=f2CcX%cr&Hq(s=E0bA+%?JGN!};}o9*Z_#;5_i-y-)dibDbM4`|}pP`fGo!-TU;9 zT|Rzu@}VS5c~F#+>3l74n<70HQ{@U~bB0NeA#A0~3>NQxt2+IZk5+hy*+*{rFqiu(Q{=+4-rL{aX|a{_WgLLZ$M1|%nu%n9ZUOV<@jb0C1G`~!_6{Hr_u7yC-1&QNShJ2S zq*$HJ*smlET3-SD+He0_X6_t^Nb7Y1=rK||X`8|(keB0|pQt0BaW??ka(;7L!j=fu zHZ~1>P+RobQ5I4hS#!nWI2nu#c;dQ?v`g;XUIG7Gr55`J3=_?yw@=kvRWEHn@UOa0N(=XWO<|^p7dt!Pi;eSKmZl8fYq+LZGPS1wg}y#E>T2NLQVmcq?sp-EKJvn)6X{B z2O(Ef4N?{lg8Q6qAIb8LHJ5IA$C|6mRxaV2+JHh<$yrE1Y%kuD@|J~GXxo5Pt`i(W`a0O}BoCjr+P}C%7XrQ$=8(*K9)~1bF^XljS zt+RLjIqA$_zVY>61?UzppWpu-*!I?IKfOMC9e_w>x(SqRaZ57|R*EzXt!T^`2~{Ed zGZss;ZLz#(%~gsf+oRb?SfC#h4F6?8&fBN?Afp3L0YD_smv_%ahGMdc`E{z zA0X06ehsBmtq;~{uM%uqAmBT$SiTI3`OE6~Grm4=J@@)fR@tp}L|}}3{01qK_PUEY zSjw{ggJ#l{BJ(^Pa2s3vr80lU;&h7IISxDB44`JCXt3>jh?I`<_%*+|50;~EkZTH% z?p5N#H3?o%mK_gbIc5SQ_0$HgqxykNb=vK2_BsUk`_P{3cG%N-N>oQOxs26JPMUM} z3rrlKHgyUcz~$+ktFw2eXM%3Ce$APt(m}A=nhLr_XRe-?aNob#5ZMBtb3LdtBM%)Q8DXUXxijG1T{nAQM{f#!Mz84f{#}ghhxT@P@?L+$r$rJZ z(VxqJXPNoJmGJf3Z+`1L-}>HN&+vzrFG^UXXYYEPC;7)%(gFZ*eULF>2P z_`|>ZU;P8WIgjUbFi{Mhysm1;r&ztDev|&BBd79~$*z4xj*)P4rZ+M|pQoW8sZPq{ zTYhsn>NT_exQ$R$#=c#${E1)u+YcYyuh;kCFX#6knJI%|#yxol7&NXKa7uZ3&gBLp zI*H5&9!>HRbz*KJz)h|GObR z9642T0qiq4%ZV=Dh^GDyN zTO~08nF#r^e%K(#Y|VKz{OR&xCNX7&6qJ%M3dj-^1~!j#B%00rWjD1 zkOV?5-Qty?KuuSfUII#Y3QHIVgXn~|KK5pzbWtGwhgx$6TF`nX1y-BCu+W}MLO03B zZ$UWIhEUR*KZh{-2a3`;=$29h!D^6NKRUksgWIb&2%O#jJ+LW{Up14((dT^q2#|95 z3BP@3{rGjlfeSMOqei%?rxX^s!$MbOJGnuMSX~fF+;C68n#B!0Pd=yHhnXfU6I9LqS=J94JL3NiwGBU%gr2at-*He* z!C_jDQpLF<*#JAN%1op~It&fdwBjxj!RfDpEgLg;}q zl|@o)KtEIUEQkz#(GdhrYzkhyt_8w= zFtny>ak|}JVON?#N@==1V83-U=-v)v*0}?0{N^1@qC>m_>;Txe7rTf!=gOwp7R91z zwr1*_J3c-+J9}iE*t$&VHShfudq(r2yERH_T2EVt#iZ!z57ZBHwr}t2w*`R$^|7ef zn+9Vyk3Dm5d2(}o{^;Nu!@$oCQ)T&F(hGe~igbJ~(}ViO@=njbhSVrGU^WysH5xJ% zwIVP{S^xkb07*naRAYwzX*>6U9k}-B5zKB)!xiDG6F;kZpRsyFs%f5XVX9pm*16TE zCuPd=$P#{ibmy~|_rE?Nc1BKJp^XOQkgXCUrk-Tc*mz1XQ>Dlf^Xf?JHDn13Fo#d= zS2kP=W}|E4{A$YZINMd}bmgh9&$8&M@2t{kQ07UgPW3NaX0~Z$VX4t9y{GK_ySl&k zS+>l62eHm1mNO>f6OYFB)hYQRn)(PHLrC;|N_nL9WtL^7z8nTmxymL;0QMBmo$vc> zd73<5_SFmLe5WzC2%A`6Q5nO!h6zTz582`A__8E zBh_tfE&@zI!diD(^HQE_a}{sIjBXhf-mJqJgM>v4>CMCZ>75@xyZ>9DBMX=s;Ho=X zKeF&86f>oqnr&f_;>5I$CVnPK{MwNV(3xIE%r}yGNiHJX0GKu6f+K~P)*`2n!u%Cw z!D2xvwRseTq>UR_y=1EmJ3OR;e#=L%5s?q+6 zvyt|WPHDOJ&hzZNmXS9Dcgi(zrrA0n@or_YIzH9t5W3NOjgNUtyN&K^z-ny3zzpzR zM?4oJEsjZX`AH9w!xI*}jxd+a(>o3!2y!P=iZiijzgV*CV)B3bFgJ4bt}SKO*G&}< z$s%`WCE2r+avnJy{wRwhYc5lJU%x$3Ds)Ir%OYKv-xSN6&HB*+)1dpveAKbq6T)Qm zl3qQ?k`B#C+#?Q3ry$XOS-Cj9yLtSbj95JvM2%G+G5^OMf|HmsTjJPENXlDUKgzDz zvPxUVEAOHa9~5+v$eIww~tXQ-) zPfvi!60na*_Gq~~W}}UMi}TIqoN`y=VaxE@KK*efF!{)sP@w~R0+@js=sLk85-k8A z1%eGU0ieEm(3fRrpB=C}cAxvp`Sy{nSZzt+EB#iNPG?`jZc3YP01F~rQY@`Lo8nJR zdf<$W9LJA-Zrks)gEHT($$mf?k;TS5V#`3}yfD+td&xy)HbvdEJb2Z4=J+IobX=7d=cOc*C1PQLn+vu%jpqI%1mt1Er2uC#AhBhJdacLT9aX~f5tpX zuywfE(|bO^sxldFR6$eXBcG})$kFpSGT?TPCELVAf}=IoVmk1CG_Jv{&C*2Dg;ZZO?1LTK>CEAKA=WB4U4Zs|u}C zFiIXONOq8+SK`XgsfjS7)syi_1jA==uW(kSV1ElBJZ=WCVAqM6U zV`cgAiP^t3t7lZOFr{pkFaLp7$y|s2KwH2`d1Sg7>blNuXm&8uc}H1sE?TfDj`NP+ z<<1P+W}+01c(s_p)-hvidB6oc!%muOf7MLs*X+Qf|N3FrA;EmhN$33J?7uo9nkHq8 zrr)=Ro`!=pfM~Nmz(#97B2=E-)$Qf(Z-_29`4nZYq){ZEFK1D!%~}88p39i*nm~ul z_Ib?^fBi+@>eS;wAzl%i!hP zGG++3gx1NouZ5wTUlxx39Ip+;nyI{Z&DoWpc|Gq0_TEKT5|>|=ql(MP?!%^52QfXkOEexmMZ}TQp9pc z06QY7-p5JPOFr2zg?)?>E`A*EC_cv-fsSW#%la$^d2%m4P;7C(Py;C>RlS*7^s|oV zkopF|$&K6F&H6)t3vi@dhFx_$4pb&}2cY1}YPVAMM{D&Z)OGxE?u-TwSuam1Y2Cf^ z=;pnqX|mHjYBWc<8B%X!6Rt%=TO0Lpx5jJBNR=Av%$gqyCb;5w*>rk`DRX)cS5bBjVwO>FjCIklpUgx%GGc|>49Lit=YE*@&j(~9 z@!~ag5J*SlF%N52H(zbGS1E9B^{+TjSmwNOC79rf@?V3kIQC=kQmX9 zCh5$Bf0F*!x)DCreYvlb2@(rHr934UrdLB~hTRI4;?%UJETJ24(QMv}gd;8;Ab~rd`wQF4N7igYI}s_x;*PJ+fQCW5qB!}^@Bd@4aMexq!3+>|%g7Vb8t|!r z0m{;>2>=`;(^JzlQ@WJ#nj}0_GiDRfx;TbJ)H>%qz>yASuDl6dn{K4M*<$6UHCVI~ zy^O!R3Ai?>=<3`Gln@84;WuCrK3J^o)R*6eDMiSJV&*SMXL?SOZee;wamj6{-d??F zwmtpCkJp!P0V=LEtLv*jUEcV9zkRg5c)h7F(g-vl=}MAhL6L+eOW#dby9kQ?0t2%? zXqp))WiVE6gNyaqs`5xq`h=%sphet zn_2aPu0c$F$v|MorcUkr${kn%wLwOm-%p&daNlmpowe#iv{6eNtSLe=LHXQtIzbc@c`0(u_ptghu){`|4%Yw8#i7c=>(ifIfucs?OYw*-uM&$ z`d|6Z*T0grOa);Llj=@r#YnQw&iqwp5@<~?_F#@gdnDaIpy@WHRvVgSYD@_WMY}?y zxKRhTrA7^hB8`C6{kzV%*jyl%(*Sn_f0?jyL~+76^DWig+fr-ewioxoV)fDw)aP$N z%4l(GK7|_ER@b8)JQIaJwh^TorqwK#QY@^w>@0T!TG7=@gIz=D^U@Sj4_YdMa+ZCp z^CEuKFZ=lPZoR$yFkPEG-6Och6X8IFXpn7@U0j$2A|gQ^nmzQHuE&eH{w+`n&ZC(v za(a6EPHWfB|OC#0*h?Z4yVhfv`kgJ4naqh0t7%n8<6H}77Lg{6+P@& zW>k-@C7{u{K3GfuN4M_PotyJ0^_tc3=fOUiqvkd4(2hVq!8@c#ws-Ql85Wq#Ah|L% z$1p_tSOkZ!?x6=#*g%-OL*aEal9QCxF`i`yta_Wtig6u9g%{}a2Od+g*DpyzT)@tn z^;zJ$Mv>M*)o1ohd4gKqbA9O(1z>iteFEm!#avZJMk9%d9U~leQ7oe4T5`NYcJNvI zE1t5_`hn>>b~NXTNrAR1OITyN1srt!Z~oQ){;R+BPvZBO|LK44zkB_6{#RH7YbaIt z-m6EiLmNl|AxT%BG*@qu1e(6~f+g$MZDbb5Gu;3w7Pr-3^pt|4I#!V;mC+qVT>^F^ zMt2Nd(;Y!Q-I4~N1{|XupECl`)$K1e>$d@tqJB*}63K*?bW15tO@pzJh%5|RtnRwy zJ>5PCZ(A%T~gRZl=T%FO@7!*BL6! z{%Me{f@rZj*2joTiS8sRZ)B^Ci(~{9f5M`EH~Mf)US@703geE=>cOE|EM8K7+5Tlh zpU3Q48_}ZY>TotXC^=8a#b_JBNCkcd=j{lI(%CTBHsOHRmDF%km=~x1=5Q0^IoSHi z@PPpeFH`M<c0 z1HkWm{VUzY$g(_nS+|b>n!k!6M@L%@8_1+~kaqG%ovkZg`ToCfe*g7RAmn>qtgN~| zm@u9()G4A^kXyt!By{J53MhkBK)Q^s9NTmcD4cihDC%`k0MFtWx-M_Lrkh8DGOB|+ zp*yNC-even-2h;*NW}yLNvTXXFeOP55-_7kJQuB5-1@X%KZI_R)P{DQHK7SBc1uMJ z+AUs+&^|||TOk%CpVXoC#p`*!igKw5J?W#**D7;8^ZZSALL1zN++F*!MT+RIGurei z&P>@;O-&J42E(x{BI&`H&JJwU_9Ca-^+kZrmpAS->x15@9F1-$(M~sTf>y_$ zXzGh8q<8{YEUFXrTParJDw}W~ADdvv)Hlyza8EF3lMiTuMoL#ssdZx}+UO6vt6-X{ zwq-_nwhS}%{bp@TP^QvV@J)1uiss|Mx%r zuOSuP0)9;?0oCS$K~kwjD#M8r1zwC&nqFlDXQM0=qlodh)B{Q>fj~~GTU4=GzYR*O zM3D`Y10B>`92pNX#M0(B>Mt3tM=Db##Z;xJ0;KB}ceFXDTY`jbSsYbIFN<3=S8sp@ ztHo77L2>Zw^neP`0YV1I*smY_5v-|Bzt?ZxMG(g`nr@En{J1PW(OkU+3&3=cF3|)- z=h1r;QT~v(2g@eYR(r2=3viX`h7hLb8y0xV9TaA*31Awopo-Qa#m2Uoc-Ss1(KC?k zvum}>b1f{6f)k$|TTI4-mRjPZ?}Dg3rH(f0U~*!V74)LN?X4-8HbsOLiE9nle=5lFrJ^}HLxp3I5rz_l~@V%J|3b8-;2 zb7EuY7C6k&X4XZ^^)~CsvpEvIJJg>zi#3HqZJS6rI*7-F6`LC5Y%R0|yD6Y~adO+& zn|*6%%plaAyF~WiEMZ&Sp7s6G2anZvR(!1)Y*a(iegH{;=MUdZ7(EkstpGCxk2d}B ztnR{JBFJkbD+0JB{5JA~yOHy7RolY^So)N-A3whPBlYE50HLXGFSB^n*fcD;!I)!l z!_dr8VIa{rY}93oSFu4d+=nxh3>%#b_)M zsNoj3f^Txqgo+OK{+M^acwOVAA!55;NbvzedviKgPb|8Wey^v61b|=u^1t%to8L_P zV~DwxbQ3!i_tvGKCsJVAtS5 z(_DCGw<0(%35}^1)bSxZnP78gW#xmyRUyuabIE4&#cSqxDvvB+f0RHYr8ttNO$VDY zp?(}^n7dKk1B0J~&Na^V1#>=opHsydkPV+<=08}c5#pR$BLfLYPF2goL#h&>#{R&v zk72dD_ab)1#$H-vl(FmrVxs7h9)$r`EbeJ@79_6OcJ*p!X0Eyw4GfDTXwccPRBqA86gE#dgTO#pf(w$S8)z+D`0WEg z=@teB8mW%__P$>~aMjH~57%aGx&>-T1vppUpd6VR=|C3<*RD8$nKf%OEmofZO4Eic zn)O37Z$4>A+9tN@CV7e=tVag+l?OzMg;^a)+;l6Ti8cE;BNWz9f{!9I%{ogm9E{LB z9VGI{BXJ%<6ua$`M$+-iAl()w?h2wYPD{SNd9SqeBfb7IVaxi;Wj!R$!15;aa&hBx z>OBH!npLW&_AeJ@FyhvyorG`pnlua%!}lM)SRHjhWp=eQ+~LnV_5r@P%* znhT%-mq61;lXYKxWz6B2ee`)2*>_V% zwh#`f0brgvkx!f0Sitf)b4Nt~Ove-ny69`=X9CLom)~CQn-Y2IH@J^7rB|)kedg&G z`PWC8==LaEVFmcpSN_cQ{O#_V+lXQUSmzLlWa(N`f1%h%Dh|S_d6Ch;IGKSElzcF zA3$;RvIbCq7HL@__|O{W%{xkCXxh+j`mrx8{dO$rH=wiTs)Hw5 zw0d8I|LjzFVQcf;cTYa!t@b%;P;!17%F+fN*jK)T-iSBf{AO?+Tr5t!-vUN)mbfjh zSZ1c8vzD*oDl`ASJV)Dkg8&F&TBkaCOmRH>O)DSj9DnNM<8ILUVA%~G@ZUS&p`GQ2 z`D<96-cqjtSid}faLr;yW~|gQZeq#QnQmNl$NUCRx|3MsjIEsjusr!xvwfUcHth2A zSUAj-985uRWl(qNmdua;%rCw1`tN|QJi6t#7lZQ7&JAbp=pDWn?bY%geNg>8&Vm`s zyMAmP&p0)OX+7QY$w6^G@Xa%J(j1tQ15zOiHM>s!uoJi+YEZg(VV$M&T$08;JQwrd z{>E3Es|NrUH$Le%XETBut-9raS(6QTk0Lz~jbT5$V;?+nBLs>gO_F>xihg6G^-BV6 z6PR8nZ?q|3Yex<2X)CGEd)uW@{l`m->Diyf5)b`AIkX`E%J~0gkk;rdi)V=5mNHu; z#sug&_pdyJhOCFh6^BG+2Y&nsTEZt=f5w>6Br-0;G`{s$ABqMHwm9i4R=LOlY@s?9 z*&|~ohRF6kE*9jPt2orH07#_32hOsPg}7z2zRzM67)gX`vtj-d(Qc=>c<+zfjm0f) zo4=%#ux&ciGkiyq@y59f$)0z&QBJ_ z4aP0$-==7m*@T}|pXfwmx~XDQdqoaU>nID5gNwb*6% zTE~BqBiK4NVYuTMOzJlH_R%d-OZ8FKsX0h1Re-Jzx*>l)|(o zNtWVD(K7gk2JF@Vx+ACV=@v-9Ciu7V6E9BhksG z%7>HEE_vE%6FqK2AE8MxwSc7CXo3w|YsX{}Jm9f2Z z_ygN_?S;Vfp=fM`7o{M?;9(snI@7XKii-}VdobU*^lwZ=KI7{%N*UGFtX|#xzGnL%uw|vZ8MhoD{&>%n&ev}G2ZMMM&f-DR{gU*xAbVClP9!gn3w{CGK9D-zFR+A1S zWx<)@)q^g)+2AP)7L}Qr zHGq@q6foFU{W*f%v#v=o-9k5jlJWMf6V?R9MHApo>cNMJlYm!iS=;Tb$gnd zHBklH6r`CCg4fZKk`5GdRIKgHA#}tSPL$`)*3!B&i!v;oQu-PW<0iAng@=@_%o@P= z-uRseCDV=0wLZCT$VArBaXcw^qod8rXD7RighVD;nK{Okn;dc;x@t=Z&CE768H(8a zmTRL8B>kdp`nrn;_CeZCe|XMR#rB4#_N3j+E#;^1~(_M{$qtY_&_g>0^^vvc0gC>MDQ+@CpgQwoZs zuZrHIGghn^Xs9ib(crmVW9;^#q3dIF>voQKXm!%opj6W z&lz*8m#n#*8ZOJWueP>rv43bVe_E=$RGslmO!L#W?^0`WC_ok`VCK6R+H0f=hhSz2 z5WxDI))o}o$dilClo$rs`tdgrr1@C_TAqGVHxJWSxk!`_{9~j8%PgIpp(nyTAm-PU z0+j9fTj^?AKVs{LCP`1DduiI(%UBi;_h|;Yh^)t*sJ)ZK2x$EbUta;j-T(j~07*na zRJ=Yc`H_5tlop;5B)u1Fww>9|lcDO|S1^3~2gI0@*j!9D00HA2xpHCJ>`NdIzTRDh z_m6AQXctK8%2j`O0YH7T=li3yg_{BCFpbtli9p|%amXV)54y;=wI(sJm?6|{`=n1~ z-tH`ked1j>La<0_+bA%lgITen~;0|p1WDqBlP(R<^TcQdF}hI z9^cRU1~}p15mmROzeo@0SC|;F`839C=V#|p9`04@z`WiccfLnvFzX$#tjtsenDo&w z!y2C2f6PxMt19lqY%@ifZ1Lr0$VZzv6!NF+GJIzbemiyVcAbOi!?s_(Xi%Hqg`$S9 z1>{IvVZLF@caF@;RRJf9c~qrkz<<4B6j76&317wWT%vp5YvWI zm^NmO6gOd>t|ALz8EWJpX*F2^O>^}QMWi^kSpSZYocRm&XHu-dl5jz*nhbpgjxifm z2DK9?;1hW&fWJ(`tE7-Zw+O)x69t$dZw;Xl1tg`USt3wdday#~(=QB;WXnn!nd2QV zk0BnjCfPt`MupvEPJx*zM6zD14C)H0_fQF)8Hk*z=r9RP$0sfm2N0LQHnSo;hHYby ze^-

zN`GM4pS~Y^1$lqfo)^-~~(Zl0{!c_B{{h6s~M10EdIk2`6_p>7U~|gIuGP zZ7mkJ)nAT&aq=SF&T8KiBr@09U3YYASwyLZ_p38id7WZ{ACgc%$H-^bkvELr-Y2N! znqraz;TKHhO$T1K?z6~7PExt^>KCuh-Cl_N+U1;G@}Nbe8gQ z#3Io;ZhS=wc9DFLT~7nM6WkcK2MreRc9uv%UHdz|b?haE~JiR|F___h*L};I2`z#5F~}4(yN`oSM@N?kxWy z$km-sHdki}6w7wN&Nb8lCT?*};`WCWC80Q&9d;Lc``~z3M97#&&0=IbpjGQfx0r_= zu@lurFY5@;y7eYvcVxQq)ch4$1h)aQH6xZxXGsA`=0b_PN9!N|td3vy!Lg9ed~Q}V z09N83r9AGdRSY7MC+M5uJON~KxOlyNW9oJF_(8{m=pYOL#_}jO5`{e0<}RS$RJ6y! ztB)E}rZCw#^F17Z4RL2e60WP1Vj1_$S(EPmM2!r3%&^@#V?en5&KyPO?!DKSjp zK`S>&0x&h*Mh0{z41uW780L0p-3!0of;o76F>hUNRMr zrM%Ix7JAEtee?5Nk1L6*bma;+ilF9{vIeWefhEAz?JqX#`>_NYDf|P6!+?^PfF`c1 z_4|HgDt?ol@%ET#EWMu#Qq<9}$Y$gnz~U6Tsg6JC>$52sYb+;?dHEgNnGwvD&%3=h zDa8{INb$oz@r!SL`zr@0wz89vy}QmgJPV{a&Qg*|F#V7~rM;eJ%As+n(LaA9J3Pks z>SDjoV9{*<-_eb`_2%-qMG)@b5ztZn<1heW;wSbeL>c;gNTAD|(aYd32SPge(VVnI zI=fUi!#D5kZ{_NaHdlv<+Sye6fKEoKTPr!!Xt0brtEA%SUTEv-$4Gv(SB%(KoU>R= z-3DDKVqlQ_@T-@9pjlrmZhp$IAHs}M(5<3vuUi15TSB)P&chCvHjARwL180Uos~D; z@|LwW@^sL3rugL3UvA-oRCfl`n-9lHXd`Mm7lJUL;?l@QWJ-#qHkZ(>E07W*7}EwU z=vD;jO06H8)<6*CV#nHuY-r{N-+jWlewcx(k9j`SX-9mF0E9q$zf(Tj_xJlzEmu^& z+4jS`!;z`OaI226@C@%)X5jMV8DqgHrn+(OGmqZ*YCL4lUlt=Ik5;K5-$el8=#Fxn8cWj{d5;B*%OWeQPR6m<4vWu1H& z>+og5Lc~|mJtq^ z4^ObI?cF5zPT(=#ePHdJ^LAA`aBAC$^-n56kH0*Tnunks`|QZU=A(df)os6h&~0B4 zt4;OVn9{rK8$t(qrZ-Ii9HdP4N|f@3HdlZxZhe09==Gq3@z?+U@BYKT^@AOYD4?I# z0HixMUBfmoLRLXOF)IXWWMP}cUL~z5mFYS<3+X2Em8=_8N=Wn^WdUu>8nB>L=C43U z78cuH!?`AXVG{>bQK1o$#zZ*^nIizYl^KW%5V{Hg>CCo(Gu=`u^^e6JQC5JOc_|ho zwY~rvGY_prmTGH}6%DFe(~X&iw!e_qh%3!sf~L9wNOOi(Ii%_0mw*CWNQY}sI|`d^ zV|BsIRX6?iQP!6Lvn?esd^N*)fn4i3TKvToZSbU6(E5OZEhl;~<$}F=Y394c*$mW7 zZCMlYZ%HqOU6(r938$D&tx%Klrq+)DQkE7iqzv$Vaq#FU_$z;S_6uJqj&J?Q#lznn z=p9F+LY7%;k!AufoPrTK68h^S>8zq334A~9RiFTxOyPR)g}J_mQC6ngq>8JvJ#Z{R z#-{T9!3Jl5QT8MA>C}nt*!)Gdv4p4Tr^@F$wzWf|<;flto4Os_X^A|yIrlp<X63t z-B-0Y@yW*o2hXUfH%kevcfP-GqGKL_TfXGi?@D#5+pE4{eRp@o@xA8a-7J@B`hk|D z(|pjXu30ls2qr7o7VZcZEFXMz`pNCXufd&=FssSZnzMet7g?TIec2`Kvg~%n;uL-Z z+awcuO23?Dc2c{fdlGe@lLI&>)jI`kQs zL7#b8G%!EgpP9ekWK+DPy(y zOf9bd&Ne5B9^0~z09gW3-FQtFFJ(FyIV_cH`EjZ>Ub1)Ea2lBJPd1E}q;(y3x%Z%L zv+?nxoUs1ozx^vy!Jp;&Yw2HoxY;zfJ10Z4P0;HI=<{oz|JfOVX4#id&Yi+Kb$oDU zrp*n}hdKQC?nIx_S5#N^o7CK2gwiji?X^$42V2Wci|8}m)T18<06WZ`u&?3fz&e&r z-QZ+p)MoJOepl8|rq;4>Y&j#Hftj^{5gwE;6B~)cYX6r=Hb_*Jf&1{i+}hZf3aBJ0hB_( zlSUDWqbnAtuRzy-`LF+vK*;YH#kGP~gCYJu5U0$JEd&=n>QglVnX0FZK3EN+HVLy9B11*No*REJv@AzipyvZO2-HvFIj zLL-fIL_sOR0xTdESpo&5@bx2zq(TMEwm$2hiJGuAe>hv>l)-fg8(L$<79B1v#;Q%WWQ>Uvk3J%wGV(X0sFO4TY8zG?rof zi|Wq2Fx`Rq=3M&-cW$AaXQ~drYH{PW6u&i@;=uqK8xOn8Z_aav(FYqa*i*k@?#=G7 za~6a6dE{g;nJ3E3Q9GH{`cZ{oU*~8S$#bTJF#mIYJ4T<~;>J!(;qmD&^N4}XP?vbH z5DjPL1lvAcDZAm7a_Vc_f;9a40YKfJWr>LlMzXnhH)SFj{Yw^Ux72KV?3S2Y-i~X~ ze2hTMgRVTf*T#zV#eKMA=-PA(_12vCADn^C>I+yCofX`1SD6OUTmS}lqr+0n1J0UD z^OyZxPv9?M!GBm_93 zHv2AyiwJh^)LZ1)roE|BIQsjN?RHG&@RtsJ}qb1pilTEoG0z> zm;;AYfMo;_*u0KMD?r)x_=sDnzXFp3ZK6VF(gdMSxlVabdPCg6a}2!@S7}tXGP;H7 z7KS88)n0IhBpLu5-}%(V{cm-|YC}eP^*vpx>CkQ5Njh1v=hWcr2nQ#bAUi;u9S<(| z6?B;x&Oq8M+`En_?abbgeYTsHd5@7#?=%*b<<+w8Z5(ON@X4tqQngIIU;LZ@?Z5vw z{_4N|1?N`x{MEY?Re|0uj4w=j7nWKAG8|{L({`%a8F`9j!kr~g;~~p{w$L4!Zw)~F zzE)O@G~)vBQCe)CwNZ-Y`c!KSbzo-?ow;2ocXpcOUg0Tx2wuECz?Zc6GF=Jt1`}7A zscA!ssh{9M1EGmBMnuCC%4U|>f$_|f2Wd}nmhFD$MDI4GN`|gB%gF0mFz4yv-5!Dw zOk>&i=)}R@8wZ;L`U!ZtWAkgkCn=th1|?lfVsh1Ozj^QI?vGr)_Xj~OF{E~~IR4U~ z|7&0UfBxtC{B=qZHy`s9XDP{~6c%z$OaAq}?ZL9H)&N^L(>k5_i8B&Gx7Xz-cJQ?l-eA5U9>dNAuMiz1t42OCA7sJ^9S4Bm8CIuLswHHLYn z8F{&_!Q>)TspuO|L$J7E&7%y?uzrG%?qVX)?E6GC_TX2mM-HE@tO#}M!ih&67Pt*Xo@; zQ4S2ux+cG&Ji;0AJz}(`7-(E%mdl={_ zW$bl$emzhHd%ET1|MW$o&7hHCA}w0>l6to z#i=$AQjbp?B^%u`bq*q@Z>IpXgl^$V82e2_z6-=nhf0M};^SJceHtmfKC;QvcnPPF=Y%cmBvUG036Bv59k$;ZV%EEKV)(i0oiQowWU%O3P61$Z?yp|`m}dIF zv1*n?got2$VV=dYHEY1T>aO43kMbS8JJq%wgt9R6DOTK)Wt50EpJbFBR4veKO~?XJ zscxyif=@Cabb!E$$kn9)5O-p_H3|tzY2LFq(&i%gE`m;qBQw9c^Fx>K{)SYy05!jc zu0e10TFTp|XLL7-Qkx4B=C7nU(dOJtNikiAYhIjw&-UV5)?6BzjH;|a5NmEiVIxBG z-GlBRLeiPlNz@{#j)Xl&k|wfxNOFEQfJ|~F(&?qpfnr*dV%D%Yw&s#>mH^o(Y!dTy zNtc1H-N(|7mw3u_EAyAox;*}rug`URAGE$M7Dr*>V2ZY~Y_051(=Vvx6WEWM`Z?v< zYopSs_T3be#i<2W-K-XT7~v&!-A9y|An9h*v}9A&<;g&OhrG`Y8`ZI3$jBe8)1a7S z@YwY$$8-82JJ4|3SMA=Bs>}s8oT-cF=pjeSfpc-S%?~N2Lggp0e))*uGl}BxG&lx_ z8r+>+gY63%IX{tb@3k+z^X=b%Uj|nwAY;km#><<>Z|q0X zdjrU+s!u*>t`9L!J*Ez)9$c8QylM4$TwD@RU4azPI@N~9%0+{&0wmu)0gP^CK?*P_9w3~|~^XnukRYcFjcp}7Xj>WMx=l%F0vobaVEU}GJE3`Fh z_=GXFIbPMaBU{O_KmOp=BVM_0Fo|{`M;RT)ipz+qyMSjJccPLQk_V33iDF5_B(mEl*>HpuK!#nh6{&yLO!>p z$0=;f_5cUHBW;c_JMeQjMBr@lUu`=4BInWPe9m{DvaZA$Pl2F6Xt75)+zzyP01&px z+AtMR^H-gyW$XsZ#xP7*Z8G#ZHz3YvU!4r}s$=gCFMCHxU|(|y2J%zyxvGEa>(C6_aM?WF#{f+reobYBn`g5nIl19mNiguU&TZ;50*{DhZAfnHm zUlv~d{GSWk1&dV*UzkpF2ZXb^!@)GaJzotv~oS4bGa* ztg`O!fA%l`=NaN0Lq@uj8EK0ID@=6p4`O#6?ICuUdf?$Fnmt?enXY)Qhp~Ik-``F6 zk6e5b4q|bjn5n6UbPjlQrIahMpj*N$kz1KTme#LqamxMs>4Q%`^&2M7R@-@PgZe86 zP27}4KUlJTRm1%3$d4Fr{&EIn8I_|rdA!=lb5*i^JCjcdji)eI9;euVx0v;GrM zC~_jJ%Lm_}JEbfrOKq;gWssHnO}lM2o6Fd%3P^F%ZL@KYbunEu4;JP(l*RF#KjXLW z(yh#2C7!ZNC&mo~14f9c!ceR}nU-46^=e-Gfqyq$Y;E)~r8{c-Xth2|vPB_f1&owM z3?a-zy>8z#s{wClR5zqE-2_idx(bB(1}v`L`-)UIqRxYPNJ&|_>Ml@`$5wCDH^t%= zgM%#9*WeGlO#GzFV$qp1I-(Wnoh+lSNUqlx8;k-nvgqR=0#=y`VbKXI_d>w{h@7;? zeL|m+@D4W(f$2I^56G$9O*(UJ#u7Zw@+J{^o#`doVcKj{W_p}&{GU`y+pD5B#=GT7 zjOh1o{+y>=j8!Yg9LyBC4PjI3KN=a$x}5yZow3c6wc*}<1RpBNsY)wfE2Zy=>u1+x^W zhpR%LFEj~DF%(NRbL;jU@I}NRYW|3jGl*& z&(H4vX(lto%xA0>+sObjtIcnI;K%>9cfa#TDL9_fC9o%&=ZCL!dw&-TpY;8<=N6`& zc@IIuITN|=9UsnMotRSUXvO#}xYCDtPB}_yl>?QS0@n0p69@>4BUhc8Ujsr}K^wQc z8<}Nf^4qQdqrdmhzWMdn&+mT|r0IsPgel!(suH=wE15e*$;Z(AsCM0|Eq8%M?|Zbl zJRscPxgLi|dZq~6^2Z4PZgpbK22#usw;2!X>He($wR$AmTUop>=igy=q37={c^q#&M-71;jx%f<=289{j66Qnp zpB0cT)5#5`0;OBR>dx~yIy45Ky#;v6=qK598WbJIT>xgyS=)}x5X^T{yzIgoVk$Uc z=2M+yH^i~CBhLGZ7U^IO4Mr}5!&-@Rp32ISfE1^ZU2fZB>Y#%e(RN4>wJds;9`*Hg=Fd z*k4)xus~>#-Sm6TdbW))zl{eqv4x;QmJZ^egVqU&>?%upuFyZZ=7g6e(J=6+J9DPyiu+|$5*wiDIcZ1j;o+iI{gkBv@_IgW4Fzp$xAS(VOeoNg z3$ck!$N1IKsJlw7vBF=`c7Oyt|G$6je?EWoX4jz&^XB%N_Zs_w8d_*6!Q_#9II_)y zU+?b{W`3w{y9+lNIkwR5?H=LFmr;!7?KU~BAMi+ab}h#lU4b@g4JGi17+b2Zs5F1(bC85v3MA~ic4|0-XvF9 z>*wI*18JUwm=-ASJK3?Lg|0Zh!-REuF*)I&j&mKesGeX$KQjT^ys1sAV@+*aDAD)U<2@ zjRO?`By-Jx@q}fMZUcZv-U9=gRjy_Suel&vDldKJXD=UpjbLC7SNH$1`N?Mpb;QCnYIbj}3(M|`II|~67LiH0r^H=`xOJAHHzHT>6A}$dSh5XqD|{Dc z9ltnhmTZMX#;Eoo{1>n9b=cYLr&M)|ubl%;J;mD{hlhPnL5IXxc!BkN=T&J20N|^{@ZoZ?|9ZlfUq9zWvpIkm+&|+4X5epF!Y(0AdoH0{Wb_#P>VF>F_!A zW>YW3ZEuJjUwh3=`!kGFN^i0V(fN{(e#n^N_0SYJql$p%@i>b)U$TBO`YN$mY1DFfj_3E|6GXyZJFw5ytW2DrrVXfFh)j9b& z;@&l!KNwP#P4wSrlIqd(whmO9fc|9KGUKN_%-{q1Y_7SL?IZnsU7wi`Jm7xMz25lr zpE!N|egSldWrLZmRIHDBY$|Cs37Mt6nMy=vwu)4vJwqNp%gN=ZkIVb4HywSfNKH$t zoPuLG8Q`G7>^$Y1qh8O62IMbJc<7~`CA!btT)r0|X%MNPIta>-h^9C|tmQNYP$B}) z?x||b)BNm66+m9u5&&Wq>v2^ui@gMlvuCD0RB3{aV%*2-<*Q=Pv%?03kycOdMcM;4 zgqrIUapwe|#z*S5UWDZ8@gIcj5me1z zbg~}K94%85= z>J_t5*^+Ky7Q{8!kX#a3@QlO}eAk>q`pb1V4Im)ns0bQ?UG^C-Nc>wmRgPeB#HAijL`$KbgK?(O!8nIAOgZ>oEerXB={y$VSb zJf&K|Rm1{Z&O&gB%|=fmmSYHTF!L}d9gL}6gf`k{xsVt84w}oHWQi{C&bA0w%NBPf zAqz@|)0IfXU1p!05dFXhxxO$D@}iwG!EO-rF@gbUDRG*hDDfb5L@7xaQG_d7h!LZoy zhdAcnLdsNCE6G9|?~-k#T>u4$D9&xreyQx9xgz$x6u249Xh=7vSR=GD7t^jk@%TgW zD0`8$#g)dM;(G#<41-19J96I+Yz>D;_MA*lBW{3RVYz#At^wV(a#I$s33Hr?`d3~c zF$^=ADEYW181~tMKd>n9$jiHGuOeh*{_sn`L|E9(!vKO(Ebk@~Vq+t$-XX-Y-$?P?};!dljZVC2~H#JekiC*X< zzj!_02$87v)GOCq?d?KKljekb1%rBVT-VFXv+rEzP={ng9(cI553CT^fuo^A(R$+9 zO176d192>kh?`ydMY-|X;3wCWBIUhBDz0~(ulMr4sr_rdAC9xzNpF8wB}`V-MS05J zlyTVGyo)JTqr_f4LuEs#;zzk4?2zs+uiw_ndBs3sDLSm~vMAwHvJgD$SblwL#Gca*O`u~r z_FW{}%TsS+di&epGmN^ycNgIAJzb8x@MvXcR8h^@R4Pu~25i(d$CJr#_rolcX-FB1$lvJs+aa7`Gq9c$QM!JULCLI*OT$rsW%1e?hv7xRrp(6}v3}pIBNk~@Ik9kY1(CfZ0x$2$)q~V42&!I)k;0L%oCc!S5uCd&p6)2I%<7VI7ENF#0A5^Ry8b0k};_>vm>rn;F`n+?sJf% zDmsbfK1ltcww!DE;zhUay7p{euf6f4-9{3)@N6j zk0(2aX0R%>@Q8JdYfik~=AEu<`;2?4OPu_b?S+{ihQD$o*YvMU@})rzzy0O`DO;yJ zh3dt@f-c7pAcrR}7nL3^eCjV90b&&C+*d*8=l@ysVlBj7J$OwrqlF9C_%5~e* z^qt_kgFk}i6cT2uM$p+NKJT435!c7{{5Z>f!C?j}lwr1=83)fvEWw!N$6yZ0EC@!L z3sP0P2`k2XaKR+BvcXkzWBCMjt%_c(;iyP}+%`Q)IFj43I(cP}#mIv@JgJZlLw!x& z!4p(;)6#rmvEq+LV362z5doPoG_o@9;NJI#X1g>QsML-IgX32xVYKDiXSo_>>gVBKrM(W3 zTw^+4rZ(Yg&7)f^3bT>gtQGUs5e@yZ$;X|Dv+fFTA5zY8HCv>Q82F=<@Z4r90*;NS zps*x%qpkt5x(41yG|*#nO}wC=JKTq=-Oqbpl72_rT(0ikD6_i7RIO0&^?h`+Gu3?H zrrjkdA^#3cM77PbkeE8QRc>^CQ;qXI5*^{(Y9ELVZmPiBo9L8kV>EcpZ z6AXAxBx=vi{2pLH6cmu*$ej^2qz#d%T#%fptX0Z z%nm+IT&rwFx1wv&M#)pOqJy6bxb~cDz}K^lzvf|wSMe$zq*kRNB~qvAR2z8jA|eu- zbjySQY0g_2>kxMR|AOv{kANnGORi#y#Y7w_=YFn-LGwGG{5e7mRN6WR69B{2$}bXo z`F2=Z8udVf5_h{Ln2WEzMjfi!~kj38lS< z5r`^%!*KppO0|+q0_)f96e2%`)cvpBd75yAwNZOMFlP>5`ti^I)IQu*w?1vZF%F^X zqygYA|8`X4zbkp$X6H50JyIQ9vm?8UEV3tP3x0}f6gQ2Yy7zmAqA2?x)(APKe$td%Q^Yo zevc|apJ~wOY8fz+SE*EDVRK@WL#=*h^a(_Q)LV)no5C=C3or%Ve)bE4CT=WZnDH(ZDm| zIV>j>u!9@=Q0Fi`CJ50z1qqB3zKW7kG@^t+e!GUL1JvI7xf6(-sZUhaMDC5x{?n%q z|A5Fw6^?*5s=KnA$FVtV^KWY^VqAg9>pO(Kdqk#*@nry_m}ddnLlNgGWmtES?ZW%+wmwDP05_c)|55QVeRpbnu4Y4yAyYAcPb_@%qlWGC`|STfJO+2{Llywbj>ixoy_Z zEW+-*P#A%4hJWB(^so2Wrrok!X*An!GhGy*CbHl~A7DyEEwaofO{*y3+<*rHR({#X zxwKAJI6Z4eMBs(WhIFG!(mY8%)6>8~>HzlEcH*vlK56PBRj1OZpSmSxvr-keeG*#B zt-!tS{iqO$x($(<`i{yPW<_oTu8EwwEAYavNyKx3nUUK@U{{C;sCu~z_l>rO8Kt#U&W+DS` z8^|@xoMglGO51K|Mg;K-vnF+JxF7^}%b>oO`!J0?!U!+njzKU{Y7D zUM3i|moXa`GdodxMoiz!>o{{3nPKEe1!mzkkK*+GJVQpf3fiE- z{Wxvt784aBQkcUi*b-a3SqoM>Doj{xv9*H=?De&f4+af~)+HJq(tx+p>7}GU6{ts-3)u!2I{Ulh=)nq*@L&PQ)-!Zp2N4V#?x{x3F)RM zHO!vgNm}5-&MB`KT(Y}wbzwe#z8C24S1Av6OV+t zNg5KSz?E=m*FEPVal#rvdIh)V-&WbEG=M>U0IpKYsjQsVVcw;sY)l9IzFSFTKe~m= zNAfkFFQ3^Z!5;g5l%|E5-b@R9JWPu}WE*!Pf4qPDv4?l>d#|-%T2+L8TF+%FX`ANq zI4#A}^FGk&{`5Of`5w1AemURl_QKE$>tuN^K?corTGN{U_gRGeB6oH0LzPK=AsYAK z&i_@XlQYdNM06yA`onPl?tlEtIVq!;B6sW>QuRb&Gdqmb6+>V`?V86PB6;g;zf4s9 zJAeI4q?^c{XQC>;)5oD%xQX!kxlF34mXWCCBVzUFt>5_aul$FJzd_rtwnX@cm+M#y z&H5yo{!@eU1VFbQxZr5lX3r|pY}9T?2&Bk$();f*vy8vbDaqF#;%qgzQhlGP{Ngx)KH>CX0#~u>SUciXVSw6CLU(I92#7c zRD3oQ8`+5nbLrD2w#OkJt%E)DR%$1F?{Su&9(T^c1%P;_vL$gLD^^vJ_y}kO<)z#G zFpL)=j?b4TyFwU}?();;oKKmcPK$oh_@K{pVt{Vr3aMb#=`4qzP)-7E@n7cZD0;Ys z2Uf`vL1hzzCbAYCQD16FTiSKn{X*W+*Q5}QJnOJix-e-JekeqqN^FT-aJQ5YhAN$F5WlwJzz#kAc(z0 zr$Jc}8C6GQR0OERtyQg`-<9A_(SZUQxX)Yl8WC)i1i*uD{%s%rRGq3Gy!68=TXmPj ztic9JqZ~6QT})MX#6qYJ!wv17XIr% zB=#bPJ#qGuRMpu;J%&9YUENh=;x}<{*=O|wsYNoGYvpa1cHsRLzH)w2})^x+&YM(x3dm`0{aoy{FP+&ETS8Y812 zQx$mvsUyN-V>3+DH{BZb78~;{>5XJj84m7)Br=&BjQtRk=wbZ6FylyZ4NnwYF26p* zoP2D4w5Nv_=$|LA{;Bei%0!iP?W|@e#Q))c?Wf0;aaObdeeCe;)wsa7Bkkd_@*KNv zM2Vi#!kYaah89@B+C&C4NY;LMCkqs#}!koWbOoB?L-2%4BQO{sa>3Wj?~7ZmD%BI{_t7{LiAHov{ng(s*YM56vfLZ z%2YXWTLM&?P(XIv3Jm%WnsBI7N>@=E@q4^l@ots3s7dn7x75Rb6aw3Ep|UTmNHZWb}Q~p0e8aY6;zEntG|?rjIlKC+=_esbg615|QP-kK4;9aqH=+ z%4R26VuPmm;J%Nrvzt_F^~2f$8WY5rh}I+jwDaQhjjDBAhyxu~tCHBYF%kd$U;Ceu ziN#^6hYU#s2=K=AT&-e>(mKfmV#06yy}#K3e3*qoLWy9Aqoa;GGry-k4#B%0m_*;e z&--Wwq_T+v$nurn=db_%-^p9bL|k`1hXqKN2G&nn;*u1Tp>f&J0t*I2#MM&8YRB9J z`FW-ETX^=Tf95ZJ>yLl8oPUh2C=7g=wRA`*w=~L#5+=JKDNLNq_=om$d#};zrOpmt zbKCR1pB?QuL0w9RL~GUNeYjy7%2_iE7X2j$v#ja^ zaoY$UDa<@RRuq3|2JQ3WXAWlE{Vc%FdlK7^Q<0DG6e#!u;n$~KJKimII-f4{g5N#o-xsr#{?|1aM8 z>aSFbkEv``*ZytZ$VlDA;_jbnF2Bjuoj}vpM&(NFMgx0VNk#1W@}(cN>qm^5qyZcN zbq#n1u*gQ;8c=_kO?9Z^l&sHp3E*m}vL!MERkn@ZQCYMMYW17b##!t{imEye{&=WKHh!%>c<0MRRrD%s zRY$#ycr_3?<#cs%btmeC495X=SE@72sKN+XQ46OB*uQA9&T~p z4vzF){#Lx^G|A@Hk?fiVJb-LJ++ID&2nV6(z04`Dw~HEm7ti189;az~Wk@wUl%eB} z-#YwA$5V-1=Z{rqAxOjQn(ITAZImtUKdms!V72G*=uj6sB0hWg=E(V`w{0)<6w0k`QKdh_i4zB`}I7CjHz~E+_$d%e?vPmz|$_C_DjK4fdrjB0>vzc1Cz8TgV;Ti z9LNjm5~m&MvQHg_h7V3Ye(~gOaHVfS@$diuAOJ~3K~!RI`%=?&1ks*P0eoYJhv|>n z30{|G`LiY;jpT4H)3imE?5-H`_gkvF%13@Q5t)*XM;7EPTYo}7jeDr}G*;jm!bhjJ zWWsv$kfJuIRs>Q{J_^;iH=*?@MXherv$8zA_s03dH%H2bVrHYea{XTRtRsnXG0864 zs(`p6v3ZHoFMeQZb#|}@l!#$w>Nbf-R`H|?wjNwBq}jxI+W{{g6{&@()J3&r9Wh|< zT>({83$+^}z5B+GK6>lR9X(u&#vKX0I_?bh;j7L0w*$hW)QwW9jX%sd1@q%KHm7gr zDQ}y!CG`(d$@Lc3PGIQHf{An2>GU!xp^h6M_l$kGIud)ui#(smDLP= zZu@O5+gklBtq=jcP~AqJX;ZCUWwY2`yb~jGoNH4DR7wJ>RM&pZaCM^U)Sh|4gb-yq zso!XT$+iD~A~o|@-S$DW#j~VtcKGS-**ETg>Yse@=C8M3N*+RuR*>MiSNuRw%r|7_ zDx3IMOT@$r5=&6REO^#|RkolCW~I6Xdxr)?Fo03n5*EaBm=(-1sYNvp*t9(dM9Gp8 zcp-Am!5G#C??Z9owgdwb4NiK3dalhHn0o-4G_@YlM2gBkT-nUBs$(-#v8qBOAR-d& zSZNgNXn$2xfhp^u6yM}PxXVJsO2TF-?kX{X^lHw|p98>g$@l>&t(Pw~>-T-s04h~W ztz%&p+%;e1>V-H$Go!_$!@(n)UMff!w*`d_K#XoFT1^tk;?Aenr|*!g6Rv%PY%)L3 zm`3V03b>hUVx8v{1jLz0%gb6R7y75a9s*Z9Vr zj)?qGvM!qf&3Z0&g}0g6f!kgrA0@dZxa_@LvWF$en<|sYzf-e2xe{DBc*X+)X z-RtDtBRkz^DO3r?eKuQ7>+Vvd55H%M0fX6yzfqH6h) zxJ&=Tzwj^rwXb~n@9m)&V4Ce^7`WJR9j<$|X`j)s=ThkI`Rzp(2KG3SomtwLB=K}N zTZ!b)|K08{g=VY8E8-fGbsSqx?VGd{ z6AZPS5(uVNx$@I99n#wARqj1opq4&V7c zK1bP}M;s^Fm%6ErJZ(bdytcUKI{+P9F!KEeSEe^*)p};yq#wg^E=&dwuNxbeQQ72r za4mX1+oPD#fw5B2NaWUEJ-)maE?1voKUg_LL^NL>yWkN@&mgcq%kBG?2gq)G%K5NS z=Ry`XYBH5)K91~BG5Ja5BQ!N~$Zj`+ek+$&AU$7&joVu@*#D_XeRPq{`t+okQ=WLI z^TRQO#oZp%O@xGUkqNv!`Lx|U=x$Guq5-G#J?+(xD1_kn$hM-HJDA3vO zi+6n~v`!l&L@M?iJR_unT{8IHD4G$nED7v6*%C3&j*?X&2|tcY6v2-9&&$ z?fPMC_qOJ!iPTK80^8$^qkD1KF07(VXEusIAkLv4hxCDt}5|Et`o-T?3?z9`Z#V|c|m!YI*Pxbd3pU0t&^MDRIRS3~XC35E#W*I2=W^tr;6IPGMpkYWHU`WL*kF;420NsW{PG= z=7P0J`Uiu-x|E95eey)ooXoOye18mlOC)MjrhnB=4Yok8Z0l!}dxjK^vnP5;JU-Ds zZAo-3F^WCsFl2X$5>%3I0v9q@dL4ldm}2Sj6ubS0h5p=*7}nk*E(4A|@uXB=Cn$5j z+04}f za0tgBefwkdifDjKvWe$UW__^ zF{sbCZACEsPq8=omcOf{Mt3=SjoWA#`L@l@CcEjKp0W zvFVbOT3jClwQjCrZmX!;w8x?_%LuO{13BH63z*L<8I8|C^klpVMv9>F4f)rm9=yP_}1}VVhpy!?%eg6 zm&QEkf{bP9!@p|i_w0*`B2*cL`gp$IWc(=KQDV+B813!lz&DVbE+N@mfsHy_Gs%cyEMXZ!V}DR$Zh!i<4Vl>T}?b=rw5QXFR~ z4m#_k+kEfwG=UA1?Wo1Xpj09D-RTFilP!xY{FawInh`mk-BGW&6*kvJLJ~4vBH9@^ zx8La1GOOS)0ZxXM1L0Wh1@SUUQGo#BnrC;^ZHS1>Jd)2U(#9-bCSrA$K0H9}I+_1c zViOQ0wW#jq4^fD+6MZAGW)Wsg?fny0H$OimZe|Vpvi~-_|aV@qn(dr83AeMH07rWS&q(S)Ca)`wsz5-mW zw0RQ#DHKcI7Af4p=IVi6Ka94;(HK3-Ccw-|wqiGfb({Flpp?k&93a>$14Feqj@joJ z8zqFZx4-r~@4oq!K?H0XE{h&?)aDBm&+^Z2&2ojX-_OhE1w z0KpyltU5rPXdn+dCcTfmDyz+#&cD~NsW z9d{EREjAQ17Bn-}L;^tf3SD&ge%X;2JTmh!R^F6f2M2eWX8mkq@RYPja{oj~`o=|0)P&{;<^d2=#n(rNWlXW$dwT#;NUrQ3W`))iqL?9eqmdC8+}$0wHjg1J?m&9=AFraJ76@>}9k%I8=K9vjQs8 zCTI;42LWQR*PS4)yn2OqK}4{$6%ea51W5CwUcIjFN>u>7@r8fk^!+b`TQuCG>dyPr zsaRBp2|OXh70hye_!+l->>+Yc4W7fS)Sh#_Vy*y@=A6xn%}U*d*nmMWY*u#t2wXfF=>&3utn=%pW{wh5%Ft0kT1yDrg-G`=dl8(__h?D!}zZZ<9I3*TOuxWBDv4K zxj5>vfe~b_XfUXIRF`8gW!r+CcxCIvRLj}y$l3M&qgVUxuO07)xws^V2rx$kL(~vSm?J^&@-nL9=tSZfNPhe% zEu&i2c63S%$TbrxRI6xU>ykuNNtdeBX z)=RL$whmNY0<0@p`wHLmjOR~Zygov&4=wuqLDsjoaP=^dBvVHOX|DR8pzb%m`TzZm z|Lnht>Q0)+vxK)(o-Hb+Z)TYrqhs7cZA@URKX=v#B6nak7}>0z9T>fHq~luoL2-0C zXYUpeht!TQ$E<@SUo)Z>GU2;ol8~AFN-!R*I{vacb!*}(kXzMuGdryZP6%Vt4b61P z9CG1fO|&?W$z~Op>(tsped}JzF{X_V_LI*uUFHoKmC1Qc>MVN zr@lsJXySSsdDMiq3=KN9YUcOVU3L*O5Sf##qZ4lK^|9LGg~L{_(M|(VTS7U(2PJ^B zW)aNyNE6E}>h7|yZ-XR4>wl==StKl6jZPm0uHQ0lIDq5Kd6=;bK3`8A9GcUyYzC>gXt(oMDVvbc*zE=&|jB! z`H4M)?`;F8@Bc1Whw3a>hanXSA;$k=><|P(I$%~}pNLqXCJve;svB({vzdXc+B0Jo zZ06!NTpyE}tGn_7>*5@UNw%aQvIGH)x;3dK-4cmEX(9!A{S8tT5ZlcIa1ACE7iMKt z;qML!fmDT5qIiYNG*~oRIT5QmfD1((!!Wg>KU>bL`@V zDI=&ijhInChq~2_5Vt3y()9K|NH06bSE}ZBCG<;%Ff?{`B{fGuZ3%szzH}c##pkC- zQEnaX@G>d$Tx^ghsY0ocdPvdlef)D*XYc2?)wH7<>NZ4*I`+MKt*k;Z((83`;m=)z z0r^}ejaUR}hFKRf{5DFO9_vM#^PB+_D@}jVq5&YxGBm%*i{o#2en;K9^Hu6F?i@o$ zMY1MccV`r4ytu8{h(NL?5>&^emf*Fa71aU3grU8V()8rr;^Pp&Wll(G$=I}C0|C8> zjtFsMH)>o zy}bdSe!<-0LfR=~f;}$FkbJ?3(w`>DbbBLs*P(JUhuawq#~WveEMY;~5H(Tvkh&-k z>XtSrv|8keaZ?x0drnOl%p8r`56Z3wlP1mCCLR`V9+)d-2SkIb#i6}A-E}*3EEV2w zDJ39Ck%7{8h)%Ww4}xn-As=4bNX;V#(d(c6$+y4y_m{_ST%Em>tH~!|bU`8jooRC6 z3baGGF_8#v7~@Yze|Ze&478jSrd-8V6}ngHrGcR|Bf$u9(IDyZVnHf8Eg>LOH^6Y$0V4S(r~rFRJr`( z{^jVt_PL2$^6k1!(qv!xW;-ED8`ltSP_B-|ZMj-VbJ{mAZ6!54zTC+Lpake35icg9 zC?Dkcr$`Lj+gqHvt#es&i=im9mUm~;cKxZ@+6t0fMUHPq^>qD{U!SXIl z&oGf;Gm9o79+>xJg#hVlXiQ4-;G3@GM9bL(ssmCc6_qW_g3R)zPyh6LfAq`1oa-aE zeGJs#InPdH^Ee>#ZAS<-@m$>#u8vh@dH1uI?|qrgO6|F-BM6&{QM>J9CF>=p#cjc{ z+HY+q5l~cBYv%Xe<{@GrP%zSdxi+e{dxX1KBdYF=Kk?7L_51&8l-O=vG;B_US5+G! zegaiWP3ZxVRxp~YLkZ4%MYlSMZHZ)?&D^IGtlR_EswFv88VPn<<{NsaN|j{0)|enA zp{?7=g)sA-fI%a9XrdqqJ|#&JgoLK8;}I75w;=apK*=wf`gX@dSLebOq^0D1EW^}E z;B~0(71EeL`D1_K_kR0}dsa!_Z4zbyu-Ff%CESg|>vcj>w%AZD)HTUUzH#`TD7f@G z7V*?=gHs{wndTMO{bU~SIh4&z+;(?~J(YvqQgMyS?-k&g%6hcSFZ(EZ1?st}7jAo* zcY}HWX6rXTm?7vy_NzdXDwa0oJ!(QmBmXncqx)aXDAW?qNL(Te%>^b_r>)P4)1ISt zrpNP_RZtzOJ@2%wvU)ilbNHw#AmeOE*536ucKbAZqghcWiJA63rE4OpjknL`)v>=* zVpgxZ%Wr$P;iPQTR6I^el~hP1BdPTiGgL-%N`&(#btFv`yz9}&rn`SHUf&z&FZRCa zN$2zV_6#Rr!F}YP^tl}NC|V(zcITMkXO~5(TgRb~iL>bbDx-bl2_mPC0EJMu&BshI z`MbUJcW(!|XSiT^{Ofj_K~r+plSn#x88hVuz5^eFOvghqu5tNNOTIRSxLf?Wwl2CF zc+kEoP$Jy~GL)Bi?ke*{`aq+hTnNCL`6-72Nt09Ph=fU@UUpx+&V#w@hl6b@qR;56 zIG?c0kN)z%{U1#(0436De$d6r-p$&{5NuPxECeU_OWgqA@Q>;y+=XPNV9-rqnZ#VtB*&X0+R?Ze)oPHCNxXDQqyzLhGPT>B!DlAzY4R+$ zamzE1>~mb_f!PYD_728No3(TIeW7O>xCvGH6GVg5lLzw6R4VT$)~$|jp2d-f;XAdk zcnV~$T+=hVG8oU$uxm>k-HJ_pknc#e7oYb-q2^40G4=dL!!+$ymSphVe_Np*J92T< zqt7tazA+Iz85RroOZy(~w-`FHdwpK-b9C}h+r0u}&y86~bC&Pt+QGZ3@MR0n;>MLQ zgTkCdoV)L=>Rq$|N?1RcphslwMRkJsnM^#7(Y)%ChgJi`?{z$j#gum2Y@RlF?FGbP zSdbyr`SB--q?255Yn3hWB5y$C=vSemmyT;e&A!YusWC2k#s^`YeTE*e$qNzHz8PD!J2D)sobb+j`C&P+h+NyIdcMJzw4b z5zl~Dh;!!zC32|dDr>G*q;mMukN6HUfxtDm25OiYxR&iBfPtD|2$k0uQ5A3%R7X$) zHM0B81OrrW|G^i5S-zdxEI@!&-OHc+8PzRd{Gc)tcq?puYQxp@gJ#VsQih${*}=;# z0?uaDbwt8acjf+fU}sb4yI_cQ@*uxegw@+VXL&qAi!V^Mcr}-b)}-_8zuG420l63j zC$6do`8=PN;Au7W-6UB}9Zh=ee;xo4>AavB_XwF#72rMizeArxj{h}Xhq8T7*p7xN zI$HEOK7EwzC+K~Y=jp3ki@oIfa8O&a)UW^ELT6e=?mSl4-{94{5m+Me1m`dO$e$~f z!#dFZPM}rUxXqIUeJ+W*bTdW+Bt&gqID|Kt#hpaXK}SxR^GC9DmHd_-#!X!Nh!UYQ zS4`z103tGrmy)75-iyHEYJ22%dGB*X*4NtFwVH(MdpT(CvkOBSMDSr&L=wd?qe>@5 zdrh9!bAVC0iXt{|IVx;~_q4i%QA`j-D#x$<;O638B97C#Iu4ikvErj(Wsq$PbR*^Q z>#kevi+N>wARGscw_o}{|5p1u_401)&}72Od0Qx#a^5{+U%)Qwef>cqg3q_OK2+Hf>c}rst`FlRU9st< zUAo+5MG5GSq8Hh)#ia?yx#tI>Np79$4rzfEUf@H~BtTrOOf(U+nXV#=Qnq7n+ZpmO zg4y}YTaUyGl!QBIxT

wh1*7{A>T-fBKuh{wwwTFe!VUY1VYRpQ$SDMhD>Y@_DR1 zN=sn2!eUHegHXwz1;bW)d)NRzB5vpo&U!`HQQeBfe=9%A{2(-O=2WG}xsaqr57fYnT zjEKSW?ZrF33BhbgMO6USfH)9Aqq>NR5D5_ppsKN(-lDgi$e7E9xLYAgMKV<*fVnvR z1_9ujwD&AafTYpZ?a`XDBZmhafp}e6sVwPA_5_8|siySLrJWb7gSS|46mKPc91)xON$$5s zf9V(h`ak;8-wlY3+7VQ7&+@taTHSwxtGU}=?E%8_eiUX?`mLe4F7^vL&l;J*$YDRb zOy;)4ntRaQqQ64+e$7_LuGth|<-M{a9WtWc|Mu6~TR%T|#Wfct+(6CjIH?VL4GA8Z z_A6S259c)_1J{>wVT(p=7Qt}<03ZNKL_t(y);iGEYZ>vq=P1Nb8QBWD?U%dL32#t) ziP>EWvc^QDWM(7{FYbo}0|>@my*oSnl-oY>B}TP;RqPp&QMm{<6=q@luXuuUYf&4L zQbBbXota!_pX1GVtD|IX2ysQS>9&;6p0~s`xiz8kL6)Q;0JCFqYt(mwKA8UmY5bsV zat~5XMwQGIDBY@f7Br`K%)A#jblrpb^3ld#uV1CScs+~#T0gRfhZ_y0?wpkA{YDjw zrD1H7DQvgZ)wS^0-anQt0Dm)>65lPC#u$|tY<;FEX% zQSbD@GcC)K?9?x--DsaG9EoSn!!Lri)FYy!Wos@ z@`uE1y(8BQaOYkZr?Bc!`jug<#OQ$h?uJKROwN|uQ8eL$c_or!#VP6HPQoMEOMcng zpL9*x{PHU0(=e%s!O)8}(N`fR0?a~X8@3d#i8vxhDI1Fmp(mi0CO1B%PUlc1vsF|j z0@o*EFT!LAYSQzs$<+_6K5N(ShrPwjNu9(8S`bZz2;f@P5=_(zMnn}!32c0gZ3&L3CIz7;@;Z|9m~3oFnTSy> zRo%h;A6}on<(gBHHNXS~YL5+*G)l_#T@}mbgqO#%Jy+L&jo8O#eor=!z?EtPCT%Xk zGjW&Rn-64^wxEiXRJOzwG_cy0EWrz7_|7`3b0DL7$!4V?b+N4^bhuyP=M>BM6gacF zMSB=+hlV9s_k^Zsc!_{w78GU8VU}TI zG)wY-Ks7)4_~!AOL_}srZWASrQ7!J<^}{$wVKafspePb{HeP(}&;5)4!T<3$e=+vG zD2v){-`!V36eW~ZLdOdx&Z>e)P%YJ`8Ld!QCaPISa{}abZmI!dhBTtII?_Fuq&o5p zQz;$9V0`Aq>jg5q-!X@LXpdb!D^PcK3n~?xgAN~!t9Px_92Rrkv~Rb2>ePTwhHLMX zW1jwDmRkA3vYH**?RiNIPOg(!U>t~frccvAfA-pfS-YrVQ2`2OrX97m2t$XTqgtuG zLba^wgJ%7xQ%?$Ei3g29lw22(5U9s|Xw#lBMcla!W=sK5)%=>Z^)s@rdkSiINO!jn zn0gW1GF2w+Ws0GyyQ=l_ZnJ)pTV&`i3g-|$PUb5MHywqtVc)#@Sw{gX7+u2Ck>)Ca zGiB-n*KEKuQme8BSCItmvR_om8w|O8A$n@jQxJdtuW>;J-L(7-eWA2s>Byy9P%M*% zv$qu4{pp)Ee-?V5$py8w^3Wm%8gsqcSiuYJD$J3NQI`H{p)xGTHH-*e4;Saoa~Wd& z*UIjYxwz~WReU~q&aFV(7*tI=fPQeTS-CYPfuiI6k7sIxaN`Sm>)sgH)j{NbXzoTR zdXYK=9hjBMI^iw$9u3KL30mP`*L_rc1Av%VVz&DD_Tro5WgK)HD>@;9sSn)tLB^Z& zj{wi(9PwcCCbn$3Iu>^k;qM3t##oGM39iXmvG0=-ks(wWEjRFXIVwmZ{vmk)QNb*N zECyPJIFllURza+R^9%4y#daf5{%VlvA~-LiuhEi7$gO8bpV^+h>9tCLnW{~crVQ!> zQUM=`yCBkf^)Y+-PN#*9TE%j8Ebg*ieM0P&sx`B_vb|Kepzj=b%3GC<%GQr+tE{W# z%WiYp`A@1S2m}oZR5tkW`dMQi5S5hHq=sY-o)cMZLyQMoHGu-*@%;m7E(pZ+v1}hC z^CC{AG4og4_JJ2O2?T8tBG!I*)nMy~p3aqYmV;UIL%WFz)!b04?ETA7J=47Bd2@?-DaJ8h%BBSR7d(5)B4AAs z^WB!}1sZSX6#5^D%Dj%G$JD{Wh4xj93oY2vUTvNyeIv@hCGUiFrZp1Ofw(4FC*3~J zCp-V_kNxvs`|bZN0>P3?%EUlymL!h!il~m$QLzAT)s_9na!neVi}U+m*gpA|+Or5W zOWSvcS*W{;HW*P;4%8Vtg9EL{EWkzshux%d+vb{$prqfmJ3GYq9`WM!T?%hA-_;p6`Bw{T%}LJGLob;1Y99Q*?f0R39d=t5l^qPb^_I%sGNfRxL#^ zE=8a7Aw(|-2gCJo ztcnGjIENcgs>?j6u=xj%saE46+@pH=a>*4(v!;6YW0xzGQKA?&WR;o%uK_*Om@=wV zmeLGYh2L@)gPw;Dwzy&)JJBsGKJ2X^fGhpHCw3u}tpN-M&M@-7_WhhDb>Mm4`Qy^V zl`57{NnIM_rl}LrN^TG+_kIL!S54w(*>AE8+7*sCWmuLMESKM1x{@tyOr{h19Af2s ze&Ad)xaoRJH)0!Nhk@}*IU$eY&{|`z*^mTLn^L$ zg6b%uaupH5%t(cFtL`$|@g*PCmfW2x3&+?U41&P3c(l|XT_r=>kh_?zUb9#4dPl%S zQdYuP5-7V4FyI-uB5lC)R=$H|OQ_(xT4vx1(A(--=WC{o~WFI5+#|KXLhcq8lRGuZI(ljKCE=>kP>%E&W~w1C zven{sv8PEem83%>2~7`!>7pb7Xj#CRC9H@(!x6lS^8`iyqmHDwt*1yU_c07}$UD#& z-(WG`ubl?GP}=7u!TM?7WSB?H?%>N6M78i*aNg#}?ivcj$YDPx>>y15#BIi#ju>bR z4o;^ml5pb~ggifd{vh%oXX09u@&Rq#eT|AhZ~X1If#;xPfK)sxnFKd-0+R=M)fG%Z zL(0^8K9}mR-h28F@8Ftb1SZP%mdpz$Ij;!%bElRA)CbX-un2&}98VpgCT>Y5Ou9A8 zSJzjkw%LT}*wUme?&D7xyr(`k>I+Y}4eVLMiL;yQ9QLlqAsYrv4`v@> z?rW8)6Pwkuz@{-k9w$Q7kaUTW@)+YNWKXRKL`veu-ORKreFO2QjmOf(MQtLNWGpow z8lAbp@p${Vb%3iv(dc!ZywR5M>>%0?QvbkO3|+^BzZ2NS)TE9Sq)H+HYqL&+5E4H<9ci-AXul-qqy5)#qT`$_8*RPOr0oo;SXHNLN$ux<^q)~}2vBKY7MZ;sxI;iXwNriR zQ$Ln$2uM(G5TUtxZ)D@`X|N>fiXF?0l8J9gaDSv3UKbs}iF{jLx3tW@UbkZ)GorE{ zbj4C3bcrei1v_yIGE_^Y$s{a-vSGZ`VhNDuwBI#M*a-m>?76aQ5bXhGq(rC) zb&$vP`WtG&GeV`Zjif3esLCc3b*N!xv0IF;UhULfIYIHFrhz)`iq+Q2Oo5tI!L={{ zHm6^mAAKLGg;|hTZ=lyjF29|I&a`^1;b2)NUX?-u2N_1g7)s?f4}+S7Ho=lE1PDLw zWZE5x&5_4PxIR`AR41e$1rck&poK`(UJ^MXOKJ(MYOCeP$gN|35>zZy8zoV4MB;hP zszRt_d(LJ_By=s`YWRZGDJWy zq=gbxRij~V(8YowA~uV!{>Fa^a}aI#nBebz%chMKcKyJc`>8ZRmAl;@HL<}=(I~U%Mvk=o>ey%XR)K*o2ZVM)&srIzLfT}5 zO~Z#yTfe9lkAPjjojs(%zSd!+B-iBz^;y)=S36nW4(wg~{; zP8iw2Lv%|C74a;ji)Kk)DGMN85WyUL;`@H&7k>A>|2Hr5V|y};6Gdge>W#h}Oq-Cz9#Coy;QO+UmScV81l;yNX%GTqR1Bpe7=o9p?@i zM5vy|17v^JiSDw_eDQkmdKR4n{m33_;o#ZSa%0(zYahuij>_tI=YL`}(G4q5Gzyqta{CavgsXyg3yt!#=D^d1qJOumcV{(%~gD0odp0THLhuAMUiSaWG4tytJ@BG;O)GU+i`0=LHioKV;&i$ zL^8poCog~O{K-SNSr5K2o(LNfmvt{%1Z02F_S*@^!}XSf>}VVK9Chn7Iz-hPdJHWt zL&V%S%uz+P3`Wez2V%ORKMV>v9(mp=A54>Mw5`w(O6A^KCDx!gmeB1%q=)xEd;Z|7 zu{O@9G&-p`4_9rIN%>&`gCfg*q`*UImqY$gOHSz;=CwU}2N|*YL8Pt8U_Q4um7+Nd zjP@979Zpd8DB(qdQc1I@_Z6AAfBHOCTAqHzE>QB;6>m~=6y$a(y02nY_jKrF4xr=j z$9{L}W&!|(p;&%09UHkvur)^s^U2WB_Q#i3Z3hxzGLhzxCDM`mf>nS)G>yh$`^>_+x+O$=iP?APy15 zs1M#~F5e*{t`5XrkP_D?YOe@&xPu_@3}lo5UYP0-3=s#+>x0*~m){Zl2&&@F)m?D4 z6no|?c5tQYKpwTX9!OPjst#O}SeO|Rd0`M08?inm7?mv`9$yB}RT~nCF1ysFH-R7B zPK$4eoT`Ial8Tuf+x2%cZ;ymo2A->I5`Gynsm(5eAVGUuX=aJy=6T#vP4qDkMW>nT zBiTM`ZF0Ff5I=eCfnZ9K$u2|msfN-?sbx-!T~G~?p|FyD!psZ;$=9b*i+T$-cZ$twmDC>GFK{CG#b(6r;~nc*h$hy z+wA8*hh1t7V{;X;4}_X@i~2~Lv%!bR$?IQu@~uA{ajnP~dC-7Pcfz>jyt*_hQfF4L z&ks*7-}_2zN1@~8gsT)i8+bvo2|ljfcAYvTJJd&NFIzt+R0rxdK4etKuiMjaWvOo~ zV8vDN1q4tXXmdtf$1bKMb~_TJz~ZtoAM|$f0q%O=yD#QSRp`YluWjf9yC!?B#@o7O zhj(7yt|L73L8{R9D7U(cMmK%krcn~oXC-%qNeo^4EY7KU$ zr2plC=`auG`!LcW;Nj#HsyT`6^bnAw@?|!IWJpSe%vK$AZf2wo)sn=KnJ3tB5%ba! zk%8p$wt;yUUFGPN&ul}=m7tk@1`WYfByMwYrXnzAbY?;oRYj5vS@U4-^@HDekZ^=4 zDAI;%(Em^Xka`Z9OGF^qa(x_Z^uUCKCsoL_$_X*ohhZMMyTAIQKl_W{ z{`zl~7`PKGOHHb~gwzkSy?or>%Gv5w*PQ3uQTrjnv%a}}{$0hPE**i!sI<$Cd2>@K zRqc^kG}@Pg2+QM7+RYQ6wpPp6QLP9d+2qA7f#;p&)aY);lkEx`xRn;$HkhO}6<>o$ zhyS0wH|w!%Nw34!`eN@hWLDO6Z{LCU_C&ThwkTQ@Et#eUn6fFsBxIO`4G$DdKS}V5 z0sF~6!4G$Eup0juC7`|_P>sxDwz-9KPW|0Au*B;}Mvj-HM-}4dcl>uB-Gvr81 zXLK(6U!k0xz8@crcuo)jRmVQ%3lhD3o@JB&PoN=3aM>&=?N9%?zxd6s{A#=^3BQu# zT*-JaG-@!|{{|)|WdYqp#j4&!h=E1hox`nsiJH=~M-bFWdsn;12nsw3cMJ=^Lws41+3S$rbzEpmMJf3)!nnBxvJjBvOGl8(acli zPh?FMo2-$DS_qYDWvLOdtR8)a!}=1nkB4S}Nh>1*%Do(12tGHl+0J`WcBQz`_|TCI z_whD{25=c;daQ^wNH=6(!MNN&!qs9zX^Nw2@h~Rws~|24%{bjUVmcQkYBsSi9&WTX zxrvi#GO#?l^ZIsuHXUy~Klq7Es5DH4Nl=&Rq3^#)P9Wfy8ieN(+>Zf6w>i5!z&d<& z+tuZwmrDnDDSB~9yLs$R-=rVr>AcMP#L&!6B1LIn$Z2*i-o2U8j!52=^34eQo?DlF z9^tvHPd}V)v_!yYpc4V3vT5 z68v4SB8(@=`5oP!hZuuVJp(|qfZMwDV@QMM7TYDd^P+!Ow=%!W_DH*nfJFBX zC;@9x!9)E{xCQj-0MIXr+Q#?F>%~H!M`EehHjxU@S#|GDbOpuL=kOKK=PKqK_8q;B z^}grT%ubx$^e2Rw-A*E9K@zb~uJ(R7uj{I=56eRZJfiGWx)=o3JEKWf!R5$DPP`Jy zB00%o)+qQ}Vb5^_yw1V`&Wgm?ZAy$!E7Vj1sx-4yr|si%k6-s(>{#@s%wq-Bnb~pT zdR!u8yredFKp(g{`=rvtE={{Uae0q<=Kr=wmfbl3fBrB0%J2S*|JUb-uYdkaXAeGl z=9_Cq-joc0X2_`fzb4JEK*oIK?LTz>;GOudk!4JP1~ONBQF0S7EelZm6PqKlfp!`$ zpvZdP|AT*CtQyBl9Fns0k4oXVr&Wf_>(-BYKAN)^G_7`LA?VCw`hxVW8T}K(M4jBpTFw02 z>QyUF)D$@ZSnq{3CwKK-^w?{uw(bd>xCckx1)J_&q*5b~?%Zk=j_lQ*Obl`{BaFG3G_^6^c=swnzHqt0O?P?jN8s=Cm8UrBAyD86f{Q!q1(t9 za-lzov6CYS;J9yo<^PJ^souJ+91~TU-Hynh2?(9%V5JmwT9*Kc=W z-KhnnS-z?YwW~nH_QH`ehuhE`#e?3;><-zeTZK(NYD$0&bW_6mCdiL?^qHb=&CpUK zcJmS0sN1sNF=!ZoY*Ag4X8rhEU>o$Tp_JBjkG+No!|kZ*22?Y<>$VU4d*HS*zwI`U z{N4u7 zhD&A=%)QoxMKm^y&p{PV-NwvL)QgR9pe?|p&J1Nx&+uO&h%OGB^AE$%^DphKH8L%% zOj;^9Pck>p%<8NWBQRx0yqPF8VrV0w2vwY733#K+^@#M4TNw|Etp3`%$lddIw*a=I zPvFS)7l$pJj&Dr#10ycX?QRhDJ;wnSsp+E?o&zF9b`u_V9ux8rKDape`!XRV#Q zd-nEbe(db_X@NPqGj6X@m_s{@yClnaZ)_l=a)|5`)PBYo&&?m}mn~yqbFm!?`-Ky?<<_qid2ma6P^1kaXYBVpIxUg|lHbtm+ zh3D{44PVN5FRbhN?JqTpyLSC?B2oG9AVl?67N2pe@5YY_YSC&ppg_FotG)NuA6q^8 zb~wAkMr4C*rq2aTi|u(}m&2vjD;l_sIeH_gbGS9^3Np(qAN+Bw+O4AI1|xypnZsW*D+hjL@9>4lS1}|SPU(Y*U?hf8DFNscG;*+nutv_po>2jdC-poB##xpY>^cETG z>}bi<>o1F=J%b>C)1dQ6(Kr-T?7n!HrNV5U-Bml^St8CDMY<&+WirCk>2`J2x<0l1 zmT9Pn%!;}!ym4ICZZ9p=u{nXWlxPJ`qupxf0_0&p9%_CUQ>Y@!p-?exyI6Fa)$kW- zJOCXM)#=yo{)^w}N8{|l$Is6uF&tZBh)NH$DR=(holH$wBE^7FfRAQ=N8KhS#>lD; zJ0Ui=EoB)w{fHSOFl6ZS6#cnR%cXd9%~5p!sF8eW0w-&jZ8CO`akM<8AfOFvPPxqV zehhI$BhAUMTH8Q|%U|s|%{&UHu*M`B$nr4Ll#IY!b&sM<#CeeKzVYVpR;@<}PH9KK-ND+;C;xNaD$>Awl)~zncsGHq&PjqoIH*T&v3m4%%1lBI z>`Z&xb*F?vH_{$Kox%Z@(q#67E?K;4s8Iy9jcm=5J%weY0?c0I9h8~EGA?=lKi8du zUI`Sf02CSk03ZNKL_t)UT~$^cQCEgoUb1tcZe7Zbm2hN#zy(Tjt)WdfU;K$*dhq^l zW+$>YiChHp>d9EEJScnUoL+`SqI}1Fu%S7ETS1md;yl%KGj~C@fTcN!Aa%a>^9Fp6 zhO`mH>A@^BvDNDje)&K6=)>Qx>$F z4jzmnrwfbEnpuH?dq1QULE?=cruAnxu2zot;FV7^)1?L7cleIGuk^-l`9?os;vg>3 z*z3l@Wn^fCiGtQ3(Wq98$_Y@IP8k5_kG>1H>T}6aB0Q)kh1dH0VgH#CeMZR%W7P*W zdzqRJ9!vLiscjMc2h5=ze4m8p2vY#s?YUij+>>VJcfM#>ABU~pv|y{-M;S@QB|=HC zB_zPrqi;pxbM`pcLYja+dvhRq$7Yq;iMnl{$msSox*9TCN2LAMEbr^~Y*a`ffGEZ| z$}wfOJ^SE_05ruMY|-}e_44)nfGppGcl3O%)8pH(ZP#bnd9Mr|G@Lkru0Y`8Gkqvp z15lXNY|YRvV3NTx)h$*1-I%M0$*9m(5`ot2Aa+Qg<2r><``w$=PmwkwFFl&}`>R z*KKJ`J73uCVLIdS^z#1x%nE7lcv zs_}%(E$kF#dH=0HeDUbrI-2ZBh(W)s0UNmWbmF1qbSifwN-ZbJ3B{R;^bqBD({cf< z&u2=>AL+%NF}wAa-8?S;i4i{Y&467k(Hh)~R>)|PG-}!tb?fvt%0A?jwY*}YxJ5H1 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 f}Eha z+v8TDyQ2%UAe2i!XK_|DAWEx3$C0kTt&o}#RWV$va=I1*yYCHA_hwcl@%?cPRn9Im z+n&egZej$oB0;B>gXwzpHaF+-9K7IeN9eNyL*4gO;dG2BE@GrY&6|r)`fVj52!iS( z*amtYkZ6WpL{pDy7OqVfsI_#P6zUVYC%aTDbN*r9fphSYqaNEWOskgnp(>blIA#S^ z!8So#JcM-FK_P(c?CgtX{i(kQPK~5fh;>^bTfMx;X6N@c+xlwAnG-r11Y4Tlhiw1@ zHf+`)9r)lnu4@>i!*G(5!)j@M7fu3{+`kgl$1po#rP~oPUooIxy(U!-H~#&!?=P8} zob+6b=9MhD2mtA0@Q(CS&sNs7N&csDA$3Fws*1aCD#;_e%-ed!ceDUVuYe{@eM;>x z3hGOC)Kd1x?R7o$IeO{da$!0iJzhx?KneORsi|~xkJSxg(3FE+CSHm`uAq`c1i3th zV@`z9^&*+|=E4v+7Z9#!Cu-YmJv*|dxlO$OvwHD?YxQa?AxoD_{ls<5h)KCZBy4c1 z#2-}+E1AgrdSDnk$c$}_eeZ?FI2ZHd(Rgwkfo)9iQ6QzNW&daoECi_&rxvMFFIPP- z%AXa0LQdXJ9dhea2Lgy=PP;fN=?0a=aC3Jp^Qcm2Wr@Qh1u!%3E17uMW5^&%*Oxwz zK2Ae%(m~vwE;^szP)JpyVHm?r#cJ#V#6e(J1s{envh0;Be1qE=uyw|KB_JMTJGxmB-a^8qX!D93}Dr^og z2F!dR=RTq)&^EJFQ0`6Ui?B6kPLO7C(|7RS0y*syCnrii_jv`)`>L?VorQ^Ie5J`Fx;lVHTEnzM2ZY`1`+>fX?rPaT1qfIiDi zMv2r;<~&?j1G*4W#(NUE0GU8$zqj=dBTo*hBu1G75Knawotudc!65S63ERrPO^1!x zm+d53r>N1ZbK7Mpo^yEsJ*SV6*|VsC!aL%BBfptRb>zVW5@ z@{w?6wqiO^1t?be+ou*V8!*6zO#{1|-Fx4xA41Pb&(WTHRb}`7Xs7GCAj)i>_CqZW z9G4RRL}1J9I+*lAEng!wXR~$m@HfBl*DgN&eNYXv_7(z;&A>LeDJbY8*e&WMtZ3)^ zqpCrG*@Y`iq-U_L=xqaRsanD|ZcOJD0DXJV?QMPV==AMod;WR98p0ev0=QXJIy>FN z#q7kne>z3a=0X%FVp=?dk|62scH>Sa$+n%%@yA6kSLb& zi&}3lbPdGZu_;-CD%ZoE!BL#GCr#bO(Y>}==hD`Z0xw%_+5<26m6^^rA{aeI+<8h* zXv(3w#os2JIE*Tami{SP{|Wkh8u7>}rH{bvHizgp-0;5CMW``w5lIS@~6m?>tf-x5L!8T;89=?dZ=1{b&6JF(W!clYUy1H@1Y}ps z*KB)PxJ^QUyIR4v8L<&b^&PfIi*r&~XydYc8>HDd3^|i#O7A zP#P0R>p78n`s9P{_TtH-A6!2F1mHXOzPMdK52>m10yP=*IRkQa9o$Ol1?Q7As{5~H z8xQV~kO=Q|PFOi5>)}LB7#Q!ajNB!eoArZukB%d1r_ego`595evxPlzFE^PAJzB~s zF7jxhL8H?T99MrxFgwJ(c^emu1G@+n#~&d(3k@|7VAg<~B!evlU1=mFWeO&i93i2+ zjfXrcvDeH0b%@)_34N5+MK~5rKnz2RfEg(%4FaYGFh6=v)u*<32%uWNY1?yf16n3R zlv@0SMk7B$8=%cSDIBAd8T9=A+g}ZaL;1iS+c;-epe}&;-T0Bot;T`%-$5Jw_;$&o zbh>PMERyzNMIfID*7G|-EF~+nr83!IFSnho0Y|ZN)A$CP&v-3B+&W$6Y`cq-?VAAF zU3?t+b~@Ixij(b5?1+?K%nr1*+kS$|I|Niv6}-!?^&5?6|IBn3L7PjytZiGLcuK8-IIzjL=fU2No z+?=x?HP#@$`1E^Fa}nFaF?V2{n!)XW^$P8!SB36<+PQju6DR ztm_dAEMuU-ZOce&3Q^fHp<5rm_A1q6llUYsMhSf;iD%meu32fFnB=KUM-$vE(M$jh zX~0xNOo7HR^t}=3#$L0Ocvv20Ic-l#ZsORed@UkjM6^U9i${yu`{ZiHyY<~ zB1tCIfT?C@x>{PZ*~c-T;zvz|KaR*ZQ_>0oQfhn@o$Nj)=0VokSI&OZQIF(3L@~TI z2r_+Obar!r$qNB7k2J@1F@@+Q@_n>?G3xCBo>4<>PWIGcYuIPypaay&=~B<*=fBG;m9qJDC#M^eZde1aZ3N4~05zRoZI;NP0MY)Z}0Ck|Gq_J9=-9y_v z0xf~YwwUYg0#GT2bHgxv)Su_%2on7gnW`I$%6K*a6K)J513uw@*H@P_vgGW{97KFC0n!#Eq z-Q9v$0Q8H7kFWX*dNPW4Q%Z$&%U8@6(tV2Op{N%-%S0Ju=+9o=BGqFWkd8}95+~c$ z;IP9qdUsU5=WP2iK(8WdV=#pQ%#PnRyJtxbM5AH_pUc;Lb$5ID_ni-XQ4}xF~!RKVl3|QBGFI2_G86Y;xdn)X*}(&=3;PZFfm6t)j#aB`ov9>%U-sq zK42DO0{Va3$2^RC+@9x28D2LZq2CZ2Mn?^afi_q6H+{;m)uI;Hz{DKoG6th+zcGH-Pa0-p z5toTQAJZj@+>;1vwgG)EQ4v$= zjJL1Kt_xmvrI~0-und~K>rp{MBx@BoWka6;DD)57)h4BSX$2w;+mf1x{8P|` zy$h29_~`Bzo6WPy(iuHma`E(&OmNQAU?*=_qyVt@Ye^5Ln`^ew=}2|UZVMptXg&an|p73X?^h|M*j!EkXUA^ zf5x!ZlQ&Uk=X-{HZ3@0m%tE9kutB|b4I-Lkr_=!j7}Cq&H`N2#r02oyP|r@@GP~ym zx#ua?EaPv;Dd3aN!M>^xVfJFvdsz;hOd>LRKAAI0qoT^S3{@XPXc2!($Lo^?Pu2zn zPwxS|)x7Eo8*e%qo-#grnOzv%lW@qkg+?=CYf?GfC&kju2+&&lkrd6|3 zHXEo4wuP=?c2pn3G`=gUX0HI~&&!K%?wv0Q&@-Ne3}gf)uT3RUo|BR|t7e5l-k>sZ zZJ1F}Ja3-Vv>naC`6Lixrbge(HM{eI$Ih)v4c_|eeN?2pQ&uu zlT~8nf+jd7SfKnky{J4>AHR)LjLGIu9xfO52i-2cd8cr=U~=ZyW$B z%nQp>St=T}8I0JaP~I^nq^E61E!{AtU z%8v?r3dc4nKCleMrp9pC>EzG>6X$^C7pxRQn(oE)G0Fzb(oQ*7u4moDUa)>nS}&F4 zDW=Q~yljz2jdngr6cy03Gd5dsDMqkb;bW24LmNL5Bto3yZGKGGsFWAKD5c^WD&&WPYtsi)Q~@R<(I}$w%$ZO@|$M=|<|JX2M0iD0O@Y*okN5{0F%v;ZCC^oGO%MX^9V$6U|O*fYy)pa2ut zQh0#~#LO130sppDePnGzq&JsODBLDhEj{bG?`|TJ`(T?~E*2dHqv{h*p_o-{%pi#o>Kt#wKu-8zW8(uZyk>Bgm3o8Q=&jg;&YCg(2FT0 z?V>$t-qrkv22Y$VB#Pvt+_2eGB@27xIq3Wk$Gt;kIY6RtNG>B)@H*y&E|FtWQ&z>R zU!QC?ux;qvbWQ;1H;XRe5sikxhHk5qx7k{+U+h`N@f?z_!&ch_dT-lYJ_4*hdL0bd z0AW+7_+0VsSqQ2&Yyqu@r{QpF1Z5s~gW9kGwcg~Al*g32i*I&;we2Q&O!&nhIqi8r zuE;xr-Ju(8^iH;x>XYDqV?5^0wwE+?*tgmGT~$@E4cKY6kiT@U#oPHYD8*(6rD5Cp z_)WWghH3?~0g;-YvDt#{D*(Fu1nc@U68<|V%FrRD)Jt{b**|87B5h%^JGIzG4q>E% zND~$Q8#y?Vb7LcNwA=`@V+^%c_e(tQ9ln0q@9Y45o}885_@c_*+|n(eOx{U-cYS&M zX1lv6JYrV>M)#uF*OUN5E`c~Sn3T%nhz8;%vG(Ns2VJq!=mrHdpC22b|4@Ih8;P+~ zmYhur1DViMrtv^}@MMubf?bDnbD)73uLqjNX>Olt3qS;Y#<>So&yFy6p*61Vdc8s$ zy`Qr3xKb3AM|BBP?kDFAmndn5QDIvzMUMgH9LINmVz+scf35~<5^MzGFQ+}IlnEtw ze@X|7$__TyTHYgx+1b7Kw%*+?y-GA86w|Fej5nAsm2#nUn^WFirm!RU*|Prr+A^HP z`#LBnl&mxg-(VjosbZa+bkxS5NxOYkUR|8=7S8|l2;+~hs^CA-@iH9*QTz1POBapA z4HfuobkuCyjnKYt^WAsSfK~O0P!LX{9H~)XRunL}?2+e!kE+5ja<0i8Z9u|dk8K>d z5@e9#DD4mdQh?RzOMAgE}i!l>v25Vhg(gf z)>(@`W*;jHfbEWLlPm^*rPRUD49T&>MvI9GxflNnEY9nJ`0by~Bcu+&-ly*2qavgj&4<8R4#vb6)fQ4FR zomW+Tr|&xS5=_V7o%`m~*T22J{J79%AMmtX@}O<|Ec{WD7zQ&3Cj3Q(9IQLwN_4MP zH*&W)db@1`Fs&8=@Un&b#j$KACzIA#Up~!!JQt>zoO%jcDL7D@j(#$%^A4-ObTt2*Tcf53Rc_M*oz^K_>HkWz!19MQWPn`^Wx3wTzuU7~H*w%~s8KENk)(4_0S-t6 zXm=Mmoakyse>Zp$_9i0s+P_<38-)}1BSM%UEHF+jN1S)lM{Qrnef1&q_Rr1`+ahmiZi4KW_qs=pO#6GR4z7CXth%A zq_Pj`K;Xj0PT9F-pE?aja?+d_6Cp>6Dau(ARXN%hBRgz3jtP2dOIP8cUupvdu{zY-**r@(5+ zbu37T^9&rAiEWd2ij$7718tu%3phT+bE1>VP0yMl$M0?<=<64oTZANLaq@i;uWC)~ z?2-ujmwx5f{^XDTUs9DrnH?orRm=X82Bt9SIc&?am8+`6J27V79R@rF)e%Y_Nm6XK z+w)IB`ttFgO7s~3%vyZJlCIfooK+N*7GwAVQRQ&7)CqBjrP7%8?uGyWAOJ~3K~#;U zt12#*)17y(Au458j%l8I6y8e)kFV;neX5KYj_0d;vsRVgIwPht5`i*Glsc+Npdj-- zvJh4=uh~GYTu$+gzwjSF_~Abm5*$sh7#SXrsy?yiVwh$Ksf6w2N6D28x=bQzq52GV z6V9k2eG0H6ME7?@ExTOq=^%ciZ6D*!E zE5)A0X}>T*WrvaanVXnTB_vJ z7#afun)7&zx^yF$^a>6PRkNgQXEB&!*sOE3Lee!B8Tg0n!ovy1>2!5$JyjU*)3%0Or#4PrqwDlH$vlZH1b?5Eb^0;vlOx?!h#&<}8z4`>r z@1eaAz`gNbs}$Ha7oUKtpyt|{i+XcH*w)j(+@;_q@To&5mE`mf*pvFZxLuJWLAy(* z7s0M@7Nyp{YA{qCgIjP*^%7=>YUQ5}&nS20TN}(6j30hg6=2y~Rj=C3V}B*p4CZon z`mSj%-IaU=K))D(?Dl?|_LT=OGsJHK`dm7rtWG}_>X0s5Qe{wb%4GV;(6`DZ2eB(i zZ^AHO>x}C=?=3rtUQ}b?g};h~&;+B=6GlW!>0ox_)Md>Uj5!_c$)~3PJy%8+ZZ!~1 z>|oKpVzR@qbiFtYqrQ8;+etSlYYkiT0#-W>YNuOy#G>nCn#*gT&vflijd#C>4l0G@ zd;C`h;aV5m@Z|AyWw|YAL6(F{2R4Hx6saHzK}m0kMp{`hzp0}ql$)BQW;y7*Ukllh zOr?+5)mlApU!r$0z}4);b}1%!b^1=Ty@;xDDv2TPr6l_cuBwHX=|~g+ntnujy128N zrj2_|40rD#m4wJYyOfXgXnHUL+NS#>=i*F?U`CAoL@ovefOtA~-^n{1R6Otf2^uwb zoo<7<_oWN){S{W@#C0_?hlgTH!)8xwgj5JeT()Av=!8eCC+>^h5^nC%Ow!B1vY%-C zmPM;6<5}0u2y@2~vpp@E2(YAPq$&Z`k@$KNj;ZLqk|<1vFq6lQ`A@(9+x7g^wCkhO zx0>xa+eX*Nw!I)#!?yMEHGtUedaVpcB4Z08^2UQsUUnM}csxxlJ+Pwu@k$^`H0w|m zih(56@ni`gcjQnSY`{#a?kQ~U@Tk&ZPZcK}fT{sFmr(2(FBp^ikiyX|Qp$SeQe zO)rgfVvU;K;b&pz0P7Ai0ITK6+e+7ht%9;bn(+AP27?ASmrZ$)&h`0@ zg5&x~_lT?6UF$igrGini4Mq%Lhf>!eh99(Vn(`jnJ(6iI#QVwzRj!2xZor~X+4VW7 z0ym;V#zjL2FKSxH#xq&Mb*FX$5O?Ua*FLV6;TFRSB0~x{ad7a8S3YUj9Y_PZp9_I( zz6M6KX+dN+&zkc`Ngd&uc^Wzp(v5THW2#Tl^+LSXhZDC^KE`^MbQKi*+kg)1ZaF){ z#_$mys=re0-=^oVE!g-oA~CwbqTD8NLBReoCvwM0Y6f!-Qt&1d@Uh4P->u(k!Vm+S zP4GGNcf>SnPaap*D**a4fp11ii^I{o`iO1w`M+)>7&?s(_9EGX|oN@Amk?rYP3cN2GsB22M zyCQ$Kx?`Hngt~V;7V#mU%3N)spFl+VTfgwvKKkJI4paer#`3q&Y>+y zDnm|OF1omE+l2}CR;8zm5(had9Bo(Sn!@8*!lOA>4#mFB1!cnEfE?XTl2ZKl{)gUt z_gfdwKJGb;p|oKC?5LQUN(Hw@5~_s^pxHhzOr#D7>42(w^RA&g=-?@7_uVquhv6O+ z53l(k(B#-PMREJZ?}k@?>N$zVssJpe`%cyhZ=~fzMTB&qAQ{O!OhjhoBa9pip_ISv zy^qs%U{p|!zLBn^N}TS7Kdt8{Y8tuGO2|nO)nUsBoMMM)Q!u(<27#c6 z$l4a5X8Rlf>4j}CK?G|++BO&LzRb{LY6WUr?tv{WRvN`V++$lWx|L6{*5}=#SiE=>bU;xk$KKuuOW+P{kQU-tm z5Tnm=K=yJRI^NcMQ8m(M;7xqv8g8Ez)^m_QrbSLIV zZ_;?2G(=0kNb5*3pFO>rs$ir!Nil9LA(FebGr6{UiJqtID$K8nkAr}Tgs4(_8ZqHIu;TJ*~ROPJ0 z$9oB)-g9Gv8R!IhjWy`MBXT}@37WK zZ(0usqEMD%6!xNAQq6__=(z9Yq0x0jCNAsJJd&@bUzI2c40j(Zw)pNM8^QTi0@t$w z-7|tn+W-WbhZ)@N{Z%ZujKZGSY3%NjJVd5I3Y^khbck{~N`$BudN>2W_l^cm!j+B- z%${totD82?7JV!>Bmb8>uYGy5ew5@4<8B19i*GZ*Io6*s?S^bbR6~RJM{4{Y0ND~Pry>hrP=@nHg*nuvD>NS7* zX#h%YX!sAW{nDerR2{)?K{N2C$CqLC{FK|v*qqr}vq%*qD`q>wG23l;4?{0WFJQM} zky{bo32g25T*!>f(Rog=pHxuuyKFAP>q`<&?TKK0Fg(ZIfk&j#4~%@d**){VE1j@aJvS*Vn82;4P6tsnWB`3@^oS82_H!fc~azhi7>2H-N4^%?fo)gv|bK_X(;gdkr*%p=%}#Ev=l5OJYN!@0Z0lj(AYA|_MH z<7^J03kVSx7;RUJV>DUwv<$?sfgjs%^S>T&oO*uOX0_O^i#uH5_2Y+km)tn7@Q5J+ zvd5vE>^ui&?1p@%I38y0zC#_N*k`YOb-R8TAHYGg6oVvq%s5NeC&JPPqV6(rCo(53 zLOQ9+s8EnYTqvun?ATNP6U);#+U>5b?pDWy&a8{T5eD*aojVA zA`A^{_0qzl(V+AKy8ASyBs1I##@kNW3&mwHh*C)U*`p6ceKoFN)?u$0C<`C5r(ZER zdpz#C?P0kR@<$SY#qlLN-KrM}1YGtp^Nig9vu3V;4$dZI#)OMYokn+j>EIf1WADB5 z?e()C^_XVnz@|I`lGz^XoG+vw$M++2A2Ghwe1g>5bb)+4~gzFAU&{HU-3DM9X3 zZZoo+-#;%epGu3GYUa?FfY~hw>oyMg+2jqV(-%=r&1?C1vEktEMiuYH!&9_v1@#+2dx0g>QWcc!;srUxj+$x$j zC`JP!or+Vb4u0RoFpDh1LncfWY&UGN3;)d_G7k*ESP0I@mFalIa}h-aHtiu@iuL`8 z+Y3fBQ39 zV=tTK?2X7hPgmM4arv_)pZthT!di*DM*!x>Uzn}l6bXtAhSUKQRP!>Xmi-IGBPjrw znNx^pbPJ9)O49SN4P}ALs1`Ln;Y(D=Zlamei_p2OC}FNRBEZLkzK;8gX)g+Q+(Q!U zXP*F2dNBcQx4By{s9Sa@%W(gluP0mf6=L8G3T}+J=M6yoNd16$cN4zNx3^!H6i&0m z^U`6c;r^)RNv=|Q-UpE+YsNeHbsZz-HkP{L*WUj6RUf!b zFo1m`cyW*wSIz>4j@}j{o)pIFy;5YFf^zwCQTf;)IJ5oh(GPz+ zfDSeTqD_6Kq)2O$|-}Jqaua$sz1|#>2CB#73|kW=tKmTgwt-X3Dpw=YDRhm zCNQh|Xtq3cWH;Nc0R>e%nl=a2*tQoSGV6yy_N2S2h(t@$bhHDz-=MY{^jb*yr$$w0g=e8eo#wcoD&HW4t^L!~mg}r|Neoj6Cbb9=0BkP0 z^-TIGSou}u8a6txXAk~(bP6hKDr?0>GdaN`6fO}BznN{Wi6Z#FQ8mr^t%RGveI~I1 zbyclNh8{Sc?O>`;MJr3eZUGCL^@fTBRI6U1#K{xGgg{*h2`2QEaNjJU{=BMHklN6& zttTM+relB(91n~&pl!PW18R;wXP~|Z=`d(LqiWGR1UiDSOprRdu@9$h7-+U=*Iz)!WUpA3)8WTnu?RCTcG}bkKIkPX{Up@Y<2*b8PN1+jE1RHnZj^W zXu?E(G!=&6QZa#vh0_TA`PS~Ts{1ZeMiONFusPW_kZZD~*?>xFHkITSr381Pg764V zM`F->P@i+o*CO)`i{sbY?fI4N%a6Te!J%TEbaLnY-R4P5g-hjYF=1T|^kk_lYB?fb z{sJJ&Yg!$aV0}u`!J9d$zxzM@H-o?YbARbqf9oIqkDvdwN-x=w?3w;P5D3c-NS3Df zqaDrco(se_#O*5t@7o>1=+gOG^a+LOcaTqu893u(yfxD)w11Q?`+_ zr>-HDSgWOaAmgE#vvdXGNNYV-$qg$5F(&cVW(wxhNI)(q{Z*pRMZ z+y0t6_bNgxKN9AbNhLvBdV~%Ny@AA^xbJ>k8WD0wa-IfaOkRbtIrN~gQeexry?p$A zQ0=D0XJ{?J%FW)k|2ie<1`beloAji8$FmD`jM@a8xE@IQHUf!|orB~a~D^eBP%^;+N zw>NP|K^~#r*QC$KSXC`U?~@8tJhy)ATkrl%W7sqo!>&)>I~2vIHIh`4mq;i7L~yXC zHyeadjLBSZHNWc##e;L4ow4Iv^zjWruqA}wPIrjHBI!bXN0;vY2>^94xApver@29O zFA42im7UKXd&)E0-NlC>4ZHOWZkFXqOowNNX~O*pBx@3cZZ{?DBU~etrc4yuy}F2r z_7o1XQKZb~Q2@tH-`VQW-sU_Q7y@AbLo7x-{ROOmhUz=8Yd}G-V7FAAz^=U>G_2=_ zlj@&ewgBpr_ieKVH{jm?_UWg801#B=gA5UQEiB)XeV4rwO(k{{T3L|=Uai2iS*|Nq`vN<62P2CWpxrvi)h$4Z@ZZGG_ zv$QW87J1OsD-B{#K>@D*yTA1h|IVK=fcW5~^T6XD&>{})h)hKHAb{X_#?bwRssht? zSUPSm9uxv{9t|Y5h#Z{7tKB~J#2Fv+O9B^ia~Tl2_j;g72t%Oi5*F#vUN_TCv-znp z8-R%_wmT4!vpu0;a$RIzPwO&9;;>nvZO#j-P|m}I+gu1uzs*iwU~~(Qj6b7lc1IY{ zXLGRWo^>?FJiXC}y}UKkv~x#NG}69Dn6CPBG^*)=$)2cFI{kEW;dIZpndb6F3WYHZ-?Qd& zD94`#bbPfhlq>Bnl;7N|KM(MCxgWWXBXb17IJ&eK*+7pYdj~&&EvY&87EHO^GVr5& z%DMk_Ew&hdD)I;&-uS71;o|WJVGlL2Ib@=}qbjgbvs1QB*yB`qW84g;&K5EtoS&I%=G>Q-6rjWMl`0V zIzcann=6e=?VP^Qa3lPk!m^FifF?k|Dq^>fFZpU2y)(j*|z7SHn}Eq?!`^B1UJ(J z=^RHIfoUb&mUXT@w*PGT!eyZgcd)+5XL*+y4H~{p(LY{7#s>0qnNd73na2HShbN zL?C6ikAr`s`QlIiYtKIYZrGTdK!>SU_icLtZo>9zLFyF%ed8O_Ah=N3NgShW$}51O zJfM~qRH`CVueFl`S7i^lsck(Fv0{~q<`=~qe#pyfk_E~&oy7#yB@=e>G z7q%jd3S45E9tag=p|Za+QNrv-GOEu2eV)x%#x#dMP}JstYIJbAm_ zJug3rltFoX6D5Vf?6ir$=>rN^8*aF9;CqBAmg=8y&PDoqC_se2+%}g#S_zZ^-CpKx z>#JdOE&dt39BThZ6)Ve5jPNlEI2r-hCY zKR~q)EWoWTp_{s!To8U8S+pwN@??TB;$~L3+8(xx6A7XrDms{|CMnG7|2P$WE}r1t zjf?GV8#f^(8kq@sfka$%9Y9C7p*PtyvP7U-A{L$ zjyetofDqP#2nLr@3ohBmS;B*-&ZAkpXyT&PIm8#I{PxB?oJ0n7C?lcAdMN=j!yk**Zq{>h!&)qac7)bsW4pra0Nqz6o;PH}hJI zjZ~d@!Qwp3GB_kNWKPJOYHaLm@2)YfV50?IS?5w{WJn=BVN1pPTDteilU3qVlsx{F zSmxH;p403UX4ePjZb*g6q0jSs@0-iVK?>QaRKYgeep~e7#i2{r*%48Y`|mC<1;H7Q z4}_i{bzrUmDKA)|DzQOeII-aZsh**l!!|*zgVW&wzguw|U&3&SeD}2Vg+s48(p?SV z!9KJS?UY7#K`y4h)K5PA4yZ!sm)lim9mCr9dcy@I4Or4Ea(}1l*(bl}PgA)^-kiMt zwe{0Kb>BnP%$qb4y#k=GpMcUKb9UF<3#S)Cl*6{JPzxOjW2J5}>okyQ(kInJH=yOD| zjJ~Z3}$oyfUDu2eN$06bG~+md~@| zhSmH;c!6?^KFf_D%hTaP;hOb+ybVYZq~-#C8mTAuDS!_MI|F{!o=|z)2=(+#^3Z;y zo~9*@f*T%kJSRUE$rh{V7p|;&$}Xzk8(;Zl6tqg$eNG#)mb?{iqc|w(kW>yd~MtvWJe!k zGgMycs0PDf8YW+3t4_aC=_PX;a6k$l2_x-nx+8h;@%KSCzIp~wi?jEB`B#7ayTAQ^ z+IB0rX#nrU#w5YnKs4*8&H;8NQ3j--=YE#lZh!4R`(J+NAN+Tb`ctQZD&bnvcKZad zs#>c0q*~myn+Nsrn`ZOSORTaHnp6sGs6IwC?@#e=$i>W%bZ!8JlJr#xr4$=akw%Z? zkZ3u!WXyz#7&Gu=i_?$@YHY}UeskkE=BXji*E7(~t?y;vuE3wUq+{x~yZI{S} zYZc$(y;D;pl5-R|4cYNN4jr{+!s}<@c1wlK97&sy%7-V%?>P5Cil;6tNW*MHRJ6U! zozvMT1&}x8^QM0qY=xU^fXk_Zc6g}U9gL?NdsUpUKKmgOE$3H;HUp%g=dc^!v||?f zdlcT^dOrZO>$`d`wtM7SUK{p&xNc0x(V3}==X-*@vfrdg{4_^Ud!!=3(ePr}D5*Yy z+4g$PL{y)`u7{o+MBwI)ul`FH4}ahPv~55jFWuuBt{aEl8_V3DtNMuD{^<8>yfPu2 z4jfaVGsfj4jP|9uBp>wxGMj1#6X}&`dQV}x@l9WiDR1t`0)qpqrX4L8+);{*a#bCT z)`Y1sks2FU94j)%hhDRPnK<0~8Macgx57+(<94$?>@oCPn!@P0rFxZMi5UQXckxK!Sc0t3v! zwg?G8fTEZ<^UyYyh2OZ_uRXs^m(61mV*}etES~h7%@%3~w*E4@N0{Ocgd_Gkut3!z z5mnt`kY2hjsjgSu_Gir|AQS}XKsS>%lA@u-99L=z;O)hyzwx*J?dIZRaC3a`EBD{| zxgNXZR?qK7E3o^9jwRRcy*o$lTb#ZJDA)#|zyCk~w_pRR0y$d2?gE+sunE!3ap=hI z9+~wA-~KEA7SQgV{V|~Zopl$%ANgpIiGu zy1BJF@PRCqg=r6|D)5f^@G(8g0ktJboUA14m}K5=+Vzb_ zEzU7Rzk9DvR1QXK$VQ=mu!W)#jI1l zs4?Bx~c9_4wt-cr;4ue z{=tZ@EyR#4R%l0!F=$`yeIpA=PnZ};H<7(0I4buc_$G)26i7_Aj1Bn55_8D$ZF|9!^+NX~g6-?BJXbX86+z5RL_NU{|`#_$80v$oXnqIjQ9+77&`Xxq0 zX&V(3Y{4zj4CGpO0BkrG7UopcYl)H;%9tvGQK;(Ki#-LBcI$_i&p-5Ql4`){*%?$V zz_JWWo$4dlmec~g1I^ma6Msgkdh+4#c;v-RkwYE7{WHz>IqWVRWTom;HkX}`994@S ze)sTirUf#{IfLa|gGCy4;xdiWRa-y#P1p#vO|BTx=)~ zf*`ez(L6qdQ|0Wwv!Wk*A0;R|wrGo*9#c2L)Gn3d1!j|2&7_a*?n$KTkSUtFuxUl_ z#4VURUb>;<1p^?xd;XzpUT&X$0Meieb{pcnpxFBmEz&CQVc1=;MOZuvD%c4)QI1F< zq&s~BQj6Dqs$D+}Z`J|zhS%uuVa@*JxBj{{=KRqQ049CpZT+|bX__5-PPgZyh}J%v z3>fH6t-n?ZfSTWBvj)YJj&=*uwtZ$=oIn0U(G}o$1R?x~n)@Bfokh1f67}8*Uf(%5 zPpGQj`}__Is4CbhigvOyP6Uyv*=}Ajpv6OG+iC5o^vR?g8=6H|u=EXT+6*HXD7Tyo zOp=InL!{dMQY{n9MHzgp7z#Kj7pLsa8%-nl7k>HQ&s8{GBGrayjsn#kF=59|`JGOH zD#oEqDs=Lv-#EUukj`h-pD626Q8_MAHM&7^lzDh+Clv_l91(^<&(&BvkK+l4Y^o(33LwLbl)et-t@7Z*G(SX`Fmv z#6zlMn;@G$kEG|hbwxR&KM3~mAgQG&o%Q4_BfpSYI%y1;GNp|>h2SCD`%@@U13)Lp zm|C#_m;oqN6Hr$RrRH^gR?Y7|{P4p?rJp^1z|3uXDeOlE00#>4n)%02v~XfK#h&@d z&ipVJUXn`58j(vN1`#m&*%!8A<#Fb=uyEf%NAJl;Qn1Wkkw( z3eF`#D{?~&y{JNAk?hVt@lcVQJ02!BI&=4j>6T3j5R48Dl!K(x#PmV67I7)SC$qD# zN$vtCw{wM39)$J5N@coS-H~^D?m!i!)4b-u^5#}BzO7)SHvY{@1C~_f#YQE`-HlGi z7f@Hr9{ghCpb}qcbK9RU???^cB&g~%da`&2J#W_^1(+uGuyq7IH3x{BOORrF`8WQ< z|0-a17BGML-~G=$@?v-4@9p`Azr*boRDo)!xvCa+_rO2GY~UtiNCC{vIjI_E2X0_@ zAaHx>?G3vME1DRiZjZ|~lafb?IbKK(uc>-{5{U_VH!um2aJ(O}5C>pE>zfiZIIh9f zKC1(_fK~3{9Z0MWaks(*?I4}jpm_k9KxV(8s8@05Xa%NB08I1g?C3q%XFw}D869S7 zk_Mq`gap1nZ}S>+hn(P{8QU~D(tl_$08asW0L@kMj!=R6v-i0+`y6q0~w0@)lRCmR4M zDFHgfP>SuEF;%7BF}u%TRdt#}32YAh83gl`5UrvtD6vr?Ju5uX1Cq5Z?4c6Y2!Nwr zu{jroSWISO6ES%?aHak6D?oAcI2=QmlkhBE9XRy>8&oS#c6Loo&tmTA%*M}!KmnDP zx^^K>ErZ*hYints>NnHQriDYCQ5tIQ4uA9TdqHiv8+Nfi;t5-k?|9MWv4|&BZ3)t%DzTja9`6)H)TZVp*Fd%|+Q=rPn`~bDjkH6p^K(-q_ zzxTOgKodS=wcIIek)B{h)eN>N_Iu+FPt-vjR^wAH3zzGhYhJXgK~7ySizbT08gpHeod-RuYVUJ-Z{MZAzE0152HP`? z<%}IOj-5Dw6%!m|uw@AZArgur5I0!{#N`*Dh#x2l0{$gL0wwSRSxyv42vIC0V6bs; zCNbl&J@=V*cYi(o-QMdtXYXB$A62z$)vl_2_IYpJJ<~^{p7(p-bN1Pns#Ud~^{nR^ zg+H>q?1}AQ)04Md>jXFTQo7~{ohOhJ;SuZe}^IY%QW(9)MfU|Xh%Nvx<_h0Io)8UvIdZVMz zyfRW~$u<+D-bA|4bC6C$RSvT$w3=ETsZ{H~njM&KldFfJmz_1-F?Y-Fe?}b{^ zw;z7%+Yi6iHXG)iypyVX6?o7og(NBo6dZEGUE&F<5!>`M?cyFc5X_eMy6q-r*E~<1 zbr?wxH&WFhn{^Uq%ZCk|k#ZCYy{mMsmqzb&WTPDTp00_}SIn083q31bSjgyB;`2@# zDLXm1Oq0$S9(Ia%0&j1&GfnJOh}G`-izV{Xa$3bY) zXS@O8QA1v8)Ep`Jo8jY1Tn;jEl48Bum?Awpc(H5F!f!}L(jrvBv>@$a5snDj@t6s` zrI50vtO8yferS30(&p^j@`O3{BD1oj&N(nCGpLzE6C7}$zWn*W1sGCG@P_pMH$MN@ z5%i$ipcx9*i@UrzffFp^q!{dBZYEF<{wff=J5((lyVIA1orf@yzdr*zJAv5^mv|C% z{!mL$^E=$FJi4I+(36=~EEd7Rnm7^)XtdFgv-3{R?y)nr9r50zqzNn=2eOH9e@v5` zS)JHEF~CO;zJGoGP|xmjcjl?G+%-?t?0N3afeJJOpZ9ZT|K4Xnd!~Jwi$zE}S46Ry z8=w|!YkSX^?dr|klux@HOuTT|e0iYNK&CnFmyEsp-`8Bc4b(mYv~eSy+?CBR$X&*Ndq0JvQZZZB0wFb$}J(%`kj^qsn~mnW(g zupe~l{K~~l@=k-c0zr`~H&ut=#wq{w`($nbqG})Ag{zZM-M5wa;>|{gv=~SJ?OSR{ zgFC(V95-iixr-it{U16M*ztvxsEPU&FepSF&f{3&8uOr(1J=U? z_g}XB{c~Uaz2Cm3@&=D4$(K-+o&o|+5s6df&@ujBY)g`_ zg8W`uUwhZT(zKYl!|SD2KXZEg@S0+H7%&HSUfPVgm0t2L)r+Ga`H7!d9zFl)jc;6q zEgoCL-P{67Wz>TU`cWBDPuHBqY}0gC$^{Rit>jReVD*-@${ELrC|46g+%t>BWG}<^ ziqU5eMtB5-ydsC;uF|#X_^sE!_S(0;^!CGVoS#2!HfJ7C;24faxz{oq=t^z%lt=-p z39c2TBgjr?1_(+?23)<^Z#U;Uh&Ib zGQwikss^cU{Vc}22M0;cicL5|gn{b3IBev#$N;sQldfsG+r;-ltcl9%jaUJJHg5)N zr9y27bZ`H|TrKXJ_S^z?-f7l2FvWRl5jSVm!AoXy45dlWVH&Cr9osIXPUI+lqySCT zAuL)=9=~(FN4Aq)6qtiUfMb6A@jvySefhWk??@pbXg+9g2fc7Gw<~0V+lx?maDY+V z?=Op;q`)2Nr2xK7dHqt8n@IXm=W=uIngV@_%DfpJ&xNe&f=P5OSTL+3m{Qlzv#}Uf zy*_^fn0d#GUO@05LeZ*FXosoDw+GFYu!SXfd!F&|85Xj8f8%aI>ITIx`Xlt&!9)XHuKrxNK(IPS2e4aq=!hU3vS z7((#0KhCXCIom+0q9Q~__Y?rFo!RHW^?*5 zqhY1y;Lb~RbE3Ot*AW9iFYa->3Tpd(&{hk-L{`0WG(gb%R;<}!%|uikI4LK?VI+bxNYqXxYdk9-F`40nuKqKVv;l5f^&I&91LtOFJ~;in#xO3pxr55)w*ul zO;zu;&5F6zRlR?3_xRbj*?9Rv(mY(Pxcn^`^)y40QeqpxBxFYQjJr*)I6;0Z$=fOc z@A!s|uP~u#v=Qf>2*r+)xswG2@3^z&X?G*rxU;JsOMJ{>kmtfa@Y>Pm>l(v3JooZj zEXoHfssWIyxLfC9HRs@9l{+!-Q?!NCos~r@RmBEzRVCY6<$amRpFGXy#z2Y`cnVi$*JXD6MTdIIK#(D#7&V00G3NiQeX z6w5l_;lKtZaoQZzKiq$nCrZZ*cZUlr?;=Pb4P!xGO{CeZNzK@_q%@nxiL^+a5Z~<{ z-3?1~W&?1we7?Q-w%ASiG5~YDPRYSP5HO^8OV)`6MdH6g+=HZ>J(7hLP&LeEM}O?? z@r0^TnH4t6_dTm@g#Z(&*=I=*E|+? zm6!KEa`EKrNlG~JH3)iMJ9ubx@9RcpHK8VfSpP&#*r<6FRE) zJV`mbWYgp?Qn}TtPddztpZFsWzx?-n_X9)CVbh&OE-WD966|P*!a>~vyQYC& zpj!b9JxA9Du?tH>c1EuXXoayMVmuvG9eCWFeZ>ym#1CqAVAfAuohIC{4$M%M*R^Bl zC0xTt>sC_d*D98N>ZP>U{Yfuji%-r|F{|;NY6KavqA72Opq(88HvsmY|IGQfzu+XN zt39-5aXrq|PKdn0Oa9*W z3VI9>IqFTRA2v(t+uDFH5QO0xo!%=|Fd_~=5D|d7o*UBg-*1KcLQCM5420GK8K`$dccdC+QIxz9)N3V3Q$&B~zf3UeY9%i^i!^@Ps zenJp;9?Bo_^4>?=^|4n6o*wsT+m5<7?`pl8Djhxe#QOa4v~uqVM{4|(Oz!Dhv^Og~ zoWj#dy+`7w5D=a-ZB`;sQ*3e=?{>@u)pudm@$=I7P71kKVUY;;sSep{Fol@wIGB-9XY^MFJO5>q218x6t^B-btGTwDdVf8TC`#q zUo?e~6JhCpXpg|%#+54^Dy>7URL%OxN!6b1FPR;ExLZH<0vB2YMg}QMC3fN=);P@~ zyxan$=SSSFTnu*(fhs9knfbkscdOGN64Gy0sb^cO=KP^AEHTU)Y5{amVzS#?*B5=s z4>ot1UNg$-Zo3+-u;C%^ByZ19)!_EK6M(+PZgehVPuVSgy8Y!GbD45UuPV3>rtyV$ z)V8}ZD3J7()t^%n;So6kPX4ee`KBJf`(%kM|(cw%&{EBfhS1#|f5qy;YXmhmWs0^eqpbYd06yaRS*ezAJTc z*LRZZM9WubN(lJ4dACXmt`5Ht=ran9>ZNuN+OjBcw@vCXtIe7!8do`-H>;4yWh85m zPJ56;X#%=#W7rt(m<@rM8Q`wlfcfa|i|f^Sxmddu;Zoc7A(w`6Q&DNLGm&XPHcAVG zT2*s4-OWddl4y(sjL0Y6rl^@9>5bccN+~CCa0^@3ZQZil<(o!CZ`=<8eWuYRFU{Dg ztaX++l}WNTN2Kb2;Bd>`xfhhQ=RPNk5jYT* z2K2$$mcWNB^1N))fKm0H3sa;5Q0rh^^2MormXfBWC@n<*@}fz8O(8|qo~QA0y?owu z8_}~u5j05z(+Z^#5{nlHFGmL^DkyEsX?I`w!PW6Mgpvm0$_IM~MZS3Y`=0XIcl39D zfXo7EeRw&;In}LC`a#=V9Oue5>@Z5_09l7y-AjmOxIqMf(b`mbTCT5{=a@B_Pp#XCY=_Bw4Xgr8%1Pq!gY}murp~g=$ z_cpWgt@;x9(=lSM;=Nzrtj1n3rUS2r6Tyx~S^_Q99=LN?YQHYfJWaqK!*^-VAyt4e z?P(m18_>cRew0wpkdhbFOL-KCW!D9yjPaj7{n4=SI(e*ZWaizg4 z)Ju8&9A!b)(cM#1nZ?T;s^mhy6(K2sEjgWWnOdrO+(8mD2(vjBqC)}zW$T_-d3Nvu z=HlR`AKaY2=69z?L@Qf6% zX9Xfp2ezW*P9v^cKg(5*On4hf-G7hv0)XP~LQ=>>HBrrFjk#Mrg_>JCK~(!NO%OQ= zMQ9bHc78!&4pmGd(n~0zTOGD@C`{D=03ZNKL_t&yws_e^A&Z6Egw@p6OPB^q!8Cey zq`oTw=v^T~+OdgadhwIUdMHOZJSDS~a=sS1GYsbA>GCEg{|8ovlh0CA`kHH+JmPW;UDpye z`cCG;Lq{&O^6)*Rp=Uj#?dbWBCvT>L&uV()RA-qcY;Ch6lSNvdEmCrxZ9TmISxUHx z-{4XOr5EwOO@Nrzrim0;=!Y2$W(JJba~p?`pS>m8-6~J1&;>A>3y;kGmDHSQmb)ib z*u>Jhad`h_kBiN+ZR~n}&wf_V@AgbIzhmLp-K#(a5`8wNy)Hp>nmph+2Yn_&gvDI} zcHt3sF>HN1TUOp?{xRhUQ|e)PY`Re6$pWAhhZOeh1>&Iu@iZ=P?bLPLMxMN*+o@DD z@&@Y{wBCKFQ(yU=Tn}n7z0Wi++002|9D9jYZN~Z8Y7-HFF0m%C!G#B5t4qBv_ z0;5skzm8Ssv_Z%^6ZYsc8<-7XU^XElDgE^I-vkt?erYhIYk>!z8svfAZ%yl9>3mvTl6L&~7zR zv#_}7`3oQWLvHy1TOE>abNs#p$H<0+kGOJL-~2~kxLyb*=&bD{5?PU?9rDeoBWKx(|nVS_Saa6xveLy z>fKL_w(SU!tHGpqKouqnO=BmOpyaJ1q%3Hj8KtSY1mUXsnA2(619CTQ8}PRl4c?`% zmp}adr_bJ+9Dn#$Z<_5d8P7#wQvcqt#Ts1lAhCm5dO0zK_#Y5d>VqsT6%F7~!x0yuELl@l7V>psK zk*p?X>+5-&i&Frk>%F4~&Fb{-OCMjIK9M7Vz3?2{9zcNf+;{w?Rrz<}#4LysWE>YJ zb{=39kGtu3we?%F@=$!`ubarf-icuiAy-Nz1F>p;WV-d$95S{>jGfl&(qhNk9>*p2 zU1cs#AJ`3ZQR&ZFmfW3+^U+BdG!yif5VN@n!0hnV zZu86wjKph%JEbg)>mH4&_Pos?#r1z^O8HIQQI2C)ne9_W@P4f(3Zcm_>E@tvZFJI*56!48T z){WL8*MaBJi3ki(1@h7pc1z#?$p&*v+3tm~U2v{xcHk(+Y@ino_YX}c1hAUj=kCI* z&`|Ida4I73rh;11hcj|mR$7O&u#-htl3edXuaDmfYEBmrXZP)$2&ClYuzmElfV--# z_n>Lc{3$4?3Z@C_N$fSa19RNKto8iv`t+e_K`7#D--U=X3JFPy^-h`9SB7^mWnqqJFhtX!Oh<9Gkov_yr=C<$iFnyFKx3}zO#PPbKIOg;_lpU-Kr4DgF>Yo%qA`uQEnBG|D=&PNKj+%KV z;kH){eWhDn3elIljkG;_h~F#AOPbm%HXufsf{G5c>*L`;E+4V88h5(`OjIZ5zyi>j zB6UL3j7HM<6D~wmhyBik9l0qHb{L@8ZpDek_p^(nFQ=3X872cj$_7vB8b%bwx-8E}p8r z>7rY#xfkP(D1`9TJOflv3)1^yGDcHA_S99QN&R@pqERRf1=TN^N~H9rw3?-IxFqEc zZsI_p;-G4Yy%u0v-P>dUoLE97PJn@!9 z>O^A9dv#;dP>TTOng%e-=RUQ#|LJP^D$JSC2dF;z{Xb_h^sadfRBTSV<}m=My&#lN z^IR}j@vbtF+TaFiDSy8?c|G=BWP#Ba(l<5lAC`%{`$~(BPL`fhi(6Lirr^vuT=G(k zs7orEgMG65pLZZc89NqVq3USWa3w}cTr{}=ntN>u*T3Tb>Ht|e2n}ckZfpeTR*yV> zJqIaJg>L1ABkJzr+a7D~3D=GHYwdzgG+c+Gmy7X#?Te{YgKBhZD33e4;$QDoYj|@8 zHMfwxp5JkS*{u&!pttF&RANSCm)q9#)8TrWB2K!})@pWVLe7-CK_sR1LB6X)EKq=MdQO6*R`r&-xe zn#Oug!3)|}+1r}iXu7iPya(d`p^IUU;XQXcQ8Bws`g)RPG7#^MerjZ z|Hr@nmH%(_wpRZh=5WTxU0IFp+Dwrk`fgJ+NCM>R-Qfp0q) zc--#5((sPGad5AITZjmQ79|Ds4d zgbKo3>8^$kU--nyTVKiCYWJk#(w(KEdwx6!fOaCn782!6jPm!zm73Iy^ulbOkzR0n z9Q!>^fzPG{QrZ@E$G?tJ@vaGB2f1`Zc~xjDk=#*rm)mCrbW(*pi1xr|F$$428cjv~ zDM1^Qn6?Z5m^imiL0GtZ;uVy(rh7j4s)~*#A={0F<1_@}23;jJI2=j+xyYGkklpJcJ03@nc>Jf+Oy#6eJRN z)JpVPi8nhHqsA4w+^F-QDu}8*ZqMSfw|`{4kDuc{&s^!ktULl+fepB!*aD(6Yf3Xt|UKs-~1H z#E#)A5zs_D;7XA+c0U+e1M{|A;ydOEP6yqnkoio+ptr(*D&uE8+?rhH%_mjypjpOs zh#)6YymM+ts^+{8?|WiM&{fgcuv?lk>UbK+NaY>;<+AHbAj`bVedF>G3J0`V2r@2WFHguW7$8y#%q&yNEu-S<=hp3b$F`0K8eJn>bpwrqgNm8@@V@|Kl9eciX0d{3XoT zY)1D~DCcG)AT^3!l((_Q(d~ZSPTQE`P$WI$ZXIvKGIy_<9k!OSd#l?9Rj9r3gqSnF zG}A8o@U8MhGS5fOQY^OwICbORm#K|HL4a|2v_7E$qpAbbp8AMa2e_~&sCwFUzljV0 zI!nr4D{yKZ)TmuMFohA~AXf^)>k>be=jkw3_K0>5Nn2#oMCBg`<_^xv6ueC1dm9k{ z%rFmNdWOk301A0@OBTMAsyz<;N)Nd7($#U}&aqj)^vVyOzxgE)gIlWhxIG1Fa6@{J zyOqT?s>O5d>Tx({ngeZo@@yY5=_Pj;Nhw8`B1RxfX_Uc2AU{=Vv@L>pwFQjZeXIq8PK5@K^sP9+J=S?VuH%0 z(43QCCeba(qiS6uG&$M*RESdv=Pv(Y?f_EG6^F_z%MR0uXo^DA_&8V7Kg-gJr>K#Y z-tEEuA^T<(-Dj#`l?UkBC9tThpo(2Id}zlv@U$@u0587!sjXXO&+wIs=b5;DHS~F+ zGIcsxOnxoP*J-FM=ue|NK-V8RjjfpiPpK(4qFliG#FBQc&^@rrLNqzjmxRD-hdYqv z(M#zq^5}EV|5Xlk>S5m=4sg(+;cgA?H6rI8<*{lueUF`05GEpT%E}&nwm%0GBp>%w z?UWpdNG}8oO->|QMzdZF)ZU87^$x+yQCi#C&TgqP;gl$R&JV;=)V&kkpxIv~dQkmp zJB!~bV@sqOq3dO&XWg$&gKGpq=_9IFk6wdXK-Ex|S#RG~35{CnI{!2C-h)p$P=+YB zoVELii^6cFIO*VI&}OOAWY*6%&%PB@IC?Lypd#HH6NqvP5tvnd2yU6X-}t5f{Os-D z^%AI5(D#61OsWzB3ss~SulK+3tA7zR12lJM z;Pzub@H2(y$e@K-R>XO_x`>f$bfWgAhL;x5=Mvgm%%Rw!czAa3LNbvPtix#*V;e()x3Ckau9hzjEbeJ`Cw$7Ry{n{- zwLv5X&2EHPP*}}fSyX&-eL=uRD$-D4dr%3ZySfCY;k zLS41zZ;GeT`@YV_H?r3Tgfqi*-Q>ofm;twrh0P4`<8S`Dogk$5qoq^L!t&G$o>;R) zyDVC<5!2c$B~^R;w-WxAMu;XUZqMALwmyx0*;pxn9s2B68GrYB(A+JZ6*m`pcHl%g z;0z?WTZ1aAJq0%4wp(xdCHs8_G@@-;KH^`6IyVyQOI4#>Qs+u8oNyt>;7DLY-=_BUUJ+HWO6GR+55Z`5tlMRzCHhlZ&s zYQJh|pj;G=Nd3ncz~O^WoV@+zI1S({4QYp`@PwPdIYEF(evznVp<-6e_S?-_I+)@H z?cqVHdcSSX3QS~7Yq+5V8%=wvy2+4SN@k(N{TzFDUp;^NO@K(v*sSA%ffoVi)+vqL z?lQMaP`Wy^e!N>Q9$Hb;%(Yx~K_F#_nBPPkrZP^-ms$=~!9AF7ahyHj=pzu@wRCmld70oFoRsqqSVaTre+QpE2+6tcj;XXS+aagqVJF7J-zvXM>kle zfju7$f$CL!^qh;s>CaqFC1QBmsZ0o)L6_gfAcR4(7nrespy=kK*WmJ}?fw}b&D{aH12LeQW=Fh!lGEQ9 zuch%N*N6ZeOtPU>MWa;&@%o+2!dybm#Hq40zN1 zcF%I0<)S}BtUxu&FYZa@1AUKln0Z<>&0V93Z#5u2k4YFePP@Z31W??f0f6UsKDK`LmH2_0WWLB&gF$P)_wnnwFKR}5#?2{c4qny! zuQX?GB$jWZ`R1@gMf@=Am=}5`mPyT`gG5!qozm5AZO%A{StTlk{o5KS>&?jTGoW3u zsoYZ|smhli5oasF=~}3gEnOTSoU=s6REP9_JfL+h=#{&k=1dCcGriXa#&wxJD!)q`w7;1xo74%EvFjcc zCF{h)M}+MYQ}hqLZO)R1rM98Z9(xLJGr0@r&~;cG7$dPU-sh0^-^irr zv&Fv6x7bn4^stt|EkF~{XWZ7VBW1uv%XB@zuj?ZKdUg~)g^31J>C&GR2_m(6zSfK4 zcbeV3GlpRs6^E+vWZK5G=OAM4 zIksf=F-*7a{q+1NSkI1vxQA=3*4}@Qm0k+GxEFEu26sUQBnCsNM=&KmE(p;@BX zDFx@eTo?)gtppul7lI4t48}(^c}&cgPt*JwFi?AO&={P54+E_M&D}Y`r0;vQZsvDu ztsf_dB%YmVVJ8NI^6JBT@}{Zz1HpJBsD&`HJ9fyIo0Y8-^EGGH@`0;-ICfpu>77FA zO*7YsK(&a9Yheg%K+80clHLz@IO+^eJBL`H&y;9(_l)la05%sQ)0qJPZ=%!AXWtl- zmjln5qEZt8Zb|O}aB2qq@qNvPyHzgl+{&h+ZaJC95{*Q&pAs{w>mUOANV1EC<8SUJJrqwScmO4;7;$q z=u|9R8;$lJn*xPbHP{G4KR=Lc;L?7;+sY*=K(C*D9jJsLmAqJXr$-dOfuNTnxWUPE zSZo)}%^67BG2fiME3$UOz+HwL|4za>ytUSCCNy#LDYmGc^iA%I?Kt4alx=d^zzov}Rhz2zo$zE-)b zD9K&Xd--|MH64m4cd|>trd_i;zP@w5#LMJ{dP;e_I)MJJeX018FTsh{qXqvfqAlZ) z?i2|EHJS)b=kn8N^Zt}eph6+%dY@)yLXoP$%slXSu6F0AU+1fHRh$HkB{dnT*=f8@ zXug}O%S3)_n|-GmJGXVz7>h#;5Ez;`c3n1m80nUjUy$kmY zeSfh7o=kVaW)0gXI9wg3k0{Ey=-|dg&v+udezh<{*LlykbeL_uUiY@u*|Xf@IB}&I zi*kjav{i^t@T&5VH026@S=Mm&BQ$oIr1GJI^pJKW?xd>rM74DUK+o33+=8{ac$^%h z1C-Rap`H}x_}abUl6O@i0;p@A`Sjc0UOPic5!J)dPRg|BfFZpIzJiVlO`s}xGm?ij zduA3<=qz?1lxM32T+Bq!HjGCH2KH7eM^lxUvdU?@^$%zU;+z4LN^`*G;*r=YFzH3y zkVKJFV&4!AqWTb~%jA+ylh+=P!L551rU5DL)>QA?UTNssAK4@L*-D#JVb-J8rv!YOu;t_2CM3HGD0e>xwr0@- zlK<3zA$16Jhq#~s03ZNKL_t*EcokROqnU>fKBZ@e?dowNs@6j7`9i)DB;v|%0K8S1 z>%O-rl^35;GhsZ~rt`%#&#Ju-nC2O10klHr0STT?fFdm@u_Wv|+{$iGvdMJjITP$E zLI2}jpF55!h*40C)(x~5;$s;Ls=9M(2{QWddd6S<7qdA9YBPQJ=0HaoMcy@qpBjOUFTcKLIfyxG? z*2iyvW{KBN3E#+R&~j z#Z>LXG~uqQ8C6RpEOkA9j;+nOoibpk8JL4^wVt7O3|19P)5A~)FMnop`X<#!?uL^F zn9T;H(Hr)9;)|0zBM1o*76p>4UJZHfBG26W^CWo}Si%8z2#3QY-jxXq{O63%LN&jdOEIWO$ICHgzHzFY;NBXT+0 zlt;D`w|c9gZuVPzS)Q}z*GcrtL}n_Ve_UPAitla3RoVmy=KyS&m?r zP})&BT$r{*`#`1}LCTP5JLWp{{XKl}^7o#fKJrU^R+eEP8OfyQalaRhJ_5N{F{(c7 z0VXy~Ah)OAImTYstWuZ4TTNk)bS(lMoIuhyu`kUoF&t+U=K8+kD(6pEs1;55D@}-m zJAFHintf#_4v$uz#*>ATM+i@_oZ&*)84LS7h7M%cjzJ)m=r$!A49`BZXsKENh8*jb z1b0jnU#S9WTf-x@prEkq)PI#)T6(Xl4%n;??|yu<5g_5g)Yddo!uJ@id&8eQ> z(X)NioC^RNB0m?Gtg7Hl7?5a_ll2>Hr$_x8hJbaK>t7*}qC?e3UOhGrCJyt;dfqx1 zkm^HlV}(sgFFY~;3yQ!yY(AzfJCJ}kNf3>a9$zl(B4{W_LpufPT?uEjttl-d;Jdigjb43!PD5gM9o#!4oyOeN8Bn`Gzd-Vn&MDV z{HI+?Fa0n`#cxS1?mJj^xRDS!c-QoyfMy4NHWB4yUc z%Lm`np1m2UW^M!uc?tk9zyG!0>Q;|LB?ex1-akZD!vev5z~s)WQb5+moB^y0#o9-B zf5R=wLodM%V0>#%YipdFlQ%%*PS%~i<9xGV%DAIz9A?X4 ze~dowlxteU8iuy)IgNYgbA zbXFCZZSv_ELf65ACUu3!L4FBGk|WVn$YutB;;&-v-wqPQ|*ZOZXI%xdQN6D9%c5DR1kY}R^yhr0%(!7K0v z&}6sr8KEA!u0j;K@&W4 zHqB{pd;(K7k99xIP@$MSavJ@<$BVr!UjDhO03t9YNEUg*V-KN9RVAjnw+hTigp;28 zNFG<#`wnaNTAYOC{SUS0kAenNkE%P)9RWnuzC}!^+T-TL5wsnjy7dUJEX0N@bt6Yt zNsNto${7RXaR$af_cFC57#Ij=>qE&NJ8-T!W_|H!4swa*Y()Aa-D0`-)XV2L=Z_Y5 zUv5{=1PzvxJrZZU^1|H^d?T6zUhl$XsrG}l1$^0@0{|_7)%@_2U2`5o`~z^A5`s1- zjA<2bf%>vXEz}Q$@^}wH_RBPBm@}XO%{(Vs+$enrbK&hk8R*0|3Ask|0Vb_e*02X{ryLy&<=#X5iNO4LUQxsy%Tn)miIs$Og(Q;n-DPX`rKO?%HlBo3Z)?MA@tX?*q`o ziA_{O5=m?zc5UIww!RKE+J)^YCrNCYnHS6)h5?as{U-0frofBtPs;9+llR;1-FOdl z#eDS|FXwU(nv;6(JCR9lA+VQ}f0xYdS3%6(|H=mROB`?){; zUwrX5e?>qcaHPWI?s2!avYx8mBQ;}lq3eC_R`Fwk*Eum0T9IL$02vqkmyzT5LbEIJG+gX(tTJe1#Ml0OPlub+fD_MS(@OtL1HVCVsM=6x=@KC z0pikH3YjH98>Q4*q=(%*e8HHGO$V6MXKzjj!YL)ZgRQg$S3Lq%+?`j8mrS<;jM4|p z8&Xy>xFb>kAKd%o=HhKq8gPOer1!uZQgb$|ppvO(;FhSW7x%5AbkFMgk)Qg-*S_>? zP_y~r^X=+c1epbMT7Q!*0^XCnSa=u~+3S*@o3bf+D8AGOH|9vvG`{mL|96b+Wbuk1 z)LyT1fbz^>8gR!<+@8f$-=x%PoUbG4CD1`tIc(GTdtwB7?)lWi^BmbTqmT>xH&DFq zwZld&Jb_wI$gfKQfk{=aNuR151w@sb7%-X~l^2VE;th5+NSOzw+f<9g&B{J(Ehp*TjarMPY(?$vwnA!gxPeHsiHgS z(9&)Iw&>ZBSMgFwmehYF9%kH>OC}7EX-~zbG&{7yXJhnPyv=M9%~;ND(Iebx@9wM3 z>ZzzYOxy-&0Hl|KDN^_>iyBEJA!`7mm(O#1CK@mNrrHhzwQ%>dS24CB3-D4E7T<)U z3_Bk`hFYLK>CJ4Nty*7T>n&#^zasU;U;ibiKf|qEWn>SBn&0Pc?b~j&$A9NR!Kqi( z2%xq~`s9@RtDeI&5g9p9m6>K%QpvcQsI@3i0DwS$zqJ_7f^D7OY$&my5cCqp+9w(( zyX2;x(0%T6C5!kw5ZO?@@34OOueJ}10q&q{7_aH?^hw0(&^zenLiu+g>^NAu%r+Q> zwjni?$w+Cu$fk!X9FFbZ#|R00n_;pyq%xUdh98NkVFK6t+V8izl@@r~C8wg%bS1op zyG>c9GfOATj)&VvqAy`{mu{@zsTc2hnF;zlJqVbjgj1N~uFbR z$nskF*QpzLVY0BnyW=HPDcq_4!GH3n|K?x*uYcl)KmFhRPyh3ix1U^`Jjp${%YD~Y zErs+Wb?#nWy9D9Ym%?3V<+z3qJN>nwJ}G&`Dpw^<@63ow5@K;Gj56`l^fI2C)(BfB zdx0RvIeTu(F{j8YpR&?(X4#jA98#=Coyr2s+nDZ)zxj9UO0+z9aqsBf`utd6wtLuK zdy8_6djElGF6=)~o?RS2`Bu;+B%y^m)J?V<&<%I1@BQpgy#4y``Mhh;I?6jbB~T8X zzuwV%Ir7?$({tz%QaDw*Mpb&c;h1m}dP-Z*S(l5WG%7AcJ1%zPpQ3W6ZOYQLRF=!& z$yE&s0hW_@BSPXKuuASGc+J|LHp^qc_F z3*U@yW%m^+s{*NwX-Vx7$nW2Xpq!KhsmGJI(PmzmgdHQ1~;ZX7bm7c zcLf_Y3XR#>8+y8}v4um{3=qRvEY+KpFMt^Jd- zf0{)WM1g(_p=(^q0a=W51#H4@glfQ5wW+!fbFn&kjr1K4o7N)o^nwWkRdh+t)6pWX zmqD+&hqvsPl6)vlntHRd0c>L|xD)rmM@XuH7LHR~YV!iXKk&If`Q~e%_d(2loz5}n z<(LU^mFzBYm=$VUF4FZ8M~0c~rB0?)aH~igeakrSpGZ|s4^zntB;*gyw#qfDXSs++ z+m>eONjAs}IHb=OpB)GZs@gZBkc(GC+5rPywf}(zL9NMe=JwZgZ?x`3SQ|{YndN&tm;V3GOR0p9#+oNE= zu`fD0GX{H$ym&MlQF%(qH||!yPllz@9U+mb**P|HtejHXS!NwYMl80Kk0T^vBK#&v ziQ1_w*LTS!m^d&YF5>knGua*OjlbSveu3yFQ<{nS(nQcFwFIGZ7NKInldOUsT_15W zcN`}$Y6_snl;pge9fdf>;_JGbm-mC~0^xoRG5@45saveOvR zm*otWI`_8@6)L+h-QooICMTp9+^v6S)14mUU;JbL)c5`1AN?Eu!++JSPrXRoJF?1L zdMw>&NZiSqa%A?6GJ-Q13(6Qu+Feu#r;(>kFK0FrX5!h&ULu2VVog4f@S}uFLIoI6 z?TEc{;h);C+9(50%BwTCo{3yo<5UIH`e3eO&T{8U)Seu%y!XM2XKy+>1{;tjHRtZk zpP})`0jU|AjYvz3PgAEa%2ycA0SdX6Z&AtaXv$%C0v6w?Y0fwQEz{quCgAUvJLhp> zx+xz)VY4^h^~kw0&!v0zOG~QC8%bq~Oqny(^P_HkEKno}G*&0N1PJ6}vjJJ;MU|U4 z5rq`;f(%X+fYyfRWn*tkC@l&-I2)|1v>>>lAh;ht(0)tiQb-i^e@X*vz;)$O z*AVl<$3FMgSAPvqR3C72>OCG2oah`3VZ>gM5*Y#6gJMK&5*Zzg@Ouw5=Z912GSfSz z1Z<%aKrqocos5-~agGZ#mFEpyww2tgRGscM-N# z&e0UPfYy#KLy1m{vJw_5v0&k$xmvIJFgOBL;0AgR-G$Jlfv}>reJxD$d%S+)smifh zw_}-f(THLIroQu$=HxAy4b%)~?IMF-qC0odlDi^i=qx?^$4XQmaC00W-M;2zIoI~E z{XeC9hiw#a#acg892DNh!B#u-LrJ&}W-|sf_gw`sJVjODhKKpcq!)HM_7UlhX`X>9 zM<)kDs||ah4^^XEiI}Hh+Tbc|jRZ(hwdCeJ9p~=@&?wU!SS(KRH)a$+;vv-~fOn-{ zbx}Wb?^n^_b3>$wHzJg)Xk{08iI8SjS^iFZro0VmoH8V;B$pmfKSm%Jb1NCC%9+lU zvLp9bq8amMGHQ0c8RO+J8f^PbDKSHNpE^afF+CGAnv_y*KJukf)AIWx6y_Q;`Rs8@ zljtVvD?5DL@2=GB{>z^@dHm+$;QqzgF&kqx=WJHDH4RHAs0y_4+r+SF@`EV(Ut?Mk zLbx7h=)(o{Ia>9!Xr+W#-ajzyS-dG9$U&0qTpP_O#$#r-62ryE8fwPlV~jm$J4Gj_ z7UUqd7L;t(IS_WlvMj=_e*9;C;qU&n|F(ZLpZgR4_OJaf|Bcw*#M!kc{s^u|npY=) z`<94w^&xz1$KN}A@%-fBbw?pCRBISOVYPiX;M6xApKlr&$L@=4396nhvPYxazg=s4 zg9+Ows4-5uWd%%|IAht54mv3{kJ3$-i4Hzzb+!0GaGVk%V6ee z{-9kyB(-334s@jU*j$ME787aa2GFEx?lnDKpJ*#JnwLi(x_I_At7Sn-dyvRPV%bD6 zt<{^>i@V+Gae!UO!_X|TS}xkVZP`*5KIp&;-viFPZ3oNSD#wD|tY#i{Qs7oC?h@5q zaB)O#iT7A%4}w7S#IOl>1`zEs?kjRRa;_(U5ML>m=iR{MjWT6IRgtc_=`o$IzzO4s zP97d8azmQRk%1FtG?K70m@g_OvGD}xpb^m^X94Fh=qgb(?$qqL{ktDHdFvkupcaV= zunwd&$K32u=@zI#6?o&{Q@P*M9K4A&(-A)%1+>t2&^bK4TE5(_9)VXN*$ZgDbQR6V zXfwt!h`|Y(k(FIeC!onalwO3oj!DWY=^!7xDy!zK>O<3vjg&&J5`wvJ8ZaAF z3%F(uElP1JLPd#!afKrm7BJZcpEE%bBXdn;^|J zykr8*;ftR>dH6*)F^NUZ(p{ilywt583IJiyoFs%V+`aO`*$%;%>$_FVs9jHwkEm4d zb8`Z{kM2U=XVMF2d+4Hi7;kE}Z#HLvzibb4^ip&DrppVIV7B?o(X)eY{Y0z?46+`K ztplk|>u$JZz}WNmH{?A4K$FsJuA_T8Q|hDwgcsv15o(ZyeN|#-#M^)~N*ZK(FFTGW zK)+~pxl)*n)Y&Er8E|DnF|D#D+Y~HSTq zN89h-Oo5XqGm})jZwk4Ia|aANfogHDT|F!JWF&L2*oeT%z0HS?+45dJ+dF&q`-L4# z7U$9#c%26Qj1>A>+y;>ZWDs@{sy;By*-+24Si0kc`@Cxj^W6Z6-olAZ4+7s+ckFT} zOrwO#T^~voV4Y}4&gJPjJ{?Bl-T-SGv|R9nieL#u6KqOV`L`{U=+-@*(33jTxj=dBcnF>I5DL!#TVni#J6~Ei zrB#~oZ?1*W<$%=51;z-py5&C#tp2_)T+-sA3EaOTEyG}^X3rn2s+Jb#n)BdTOS z&v6L>g8n=x>iAI+ZS~17A}y*zv=;)rCLtL|071`THldOiY+X!{@>kmR_E~;zSO+b_ zO9C&pv!HPxIMuMeU)*Js2K3y^BC`{Q>NTkY&I_vVaPtf_^G7ybbJ_U#88-@0r5E?Q zi?^bD!7)WB1QV;-Yx&*G!HqVce>S+zy`pUYbTnWb^WELU8M=$T`~TSa<1dFovO7bF z+Y*e0sovw}ob=rBRBT!yM+;HpV(QUqbt4-_x=vjCI?(4{nQ{6)Rs3(e)Tt>WI3qQ1 zj>aPjU=>#9|{iH_k+2$2**$&(UqE z7yDN@!;yPJ1;u;<@E88--=8*MMl1&~AsoptGT_sxf}&K4hqgcVQ~$o`kz}!59@I)r zE?B7{+laeF1(nL7pwuKpIoK#x%IfVzdaRaoyLvL(Gn8x+xEoCyux+b=&Bc?8(?_{l zb$_Hv{Lm9323rdwc7DN<-bDbb<=`lvHLk&8eOr1eD5ZdJcmgMGv<>rQHMCV*lvM z6Y7??7MEVLrmsHNeu3|l2GI?j@L=CH9@%)pL*Z?nf!Vmn$*w-#mGOl08RY*ao@Hiq z%TW?AW!qgF#aj~XDP}X^Rdt(Zv3h1F0(FXdb79A89BP2h8V+%H0XE>qGt`W2=3rhE z)c}#&V=MH*Ex^o;4^0~A+zK8Dq^znvK$+$QP^9++?xt0B=+Nf?dFUP}H=9#X<>H}f z#Rrwkmff8&A&gU&Mcea)`u!&-nIi={QCKWg5&+ostMDMcNCBEVD3h&xNkH^3ulI&+8eWJVH$ludMC?jbK(ua8QMv zUhwZ#LJ8XVFj9+M2Z9WU-Es)zgxjZ{09ym*D@(xob-NxjEAYK@qJ^Lmb5w1gMw5@Y$ywH@*bvf5kE&X9RsqJvy46r8)u(VFr zVYB7FNXKO>laq%=AW#P-9g2M?C~jk+0t#>wj{vuR{3(t%U5phbBZTJQ)u>GzkD?y8 zHoV<`tNBs8J|1lc-U%k-9ic|P+_NjUJ6ujqu_WNg6QabF#CXJOh{{W`IrqS-mYiXMp7(m}B2*RW4y|)>!#`m>XCx+8D<}6K$CxO}^6i!kLBiEP-PsEUZ zxhRljI2l4z?keE8duyDhUsmBPM&`i>JtAY-E5r7w@eTvk(^7K%q2mJaX=A&}`8wFS zbUzRH001BWNklyZI>- z-5*^o0O}lB<{H=5t87SaN2B?>>U9(J@R9Ys)Wuw4F=rQj}UF>~KkaY|~z+z`#!!L^#GW`LZ~hhcN>VXr<2 zZ{qVeq-xSj)10_}RtMZ(0EX0@jRA3Nd)xK=+&eFQ>e(CrNQfXiB>_?k7fwmRv=OhC zC;$Y#!x9V4sKEc_B#+=}e)Y6X*D+i3u+ckJ00;y+XH=CD!BAe@)4mgtssJ!3meb5GQP*2rKn=vKl{&K z+*$kfRu*{l04p~_yQ57uBq|;roxlO5E0sxxrO;{!BDMr3FF?EzhGrc=Pz#u|MAZcG z#z_tAB}gA}_e`|b4T4)xRVIDF-AO{c80?WuA;-yX%f;{Y(hFqU(_Fx;1f&qC!Kywm zn5yZR!m5pZAAzCXF!67o+qYY)~>|E%_wVwq&JJ^*;yuM8&peF<+puEm9 za-NL|L8nKqUGD+}5YHjdsToY;x&J+vyl=G^bJoTdJ@-#PiDq`AuIF$9QyiyAoB(}d zK9tyn7^RSHE;t2mS=?4@wg$cJO_Ob@luneYb8~QTA}) zT*OKEM^U4Y)C*Hk6}pYrqB8LUJT9F>$=K3fB0Vc1GBBde_U@(CTAlpW#53xKfKlW& zK;~w?Xxy!s%aVT?i22?tpFMf{uswexhjElTu#y(DYghgqMt|f7YCb<1!&SXb(5~tC zyCjR=+9$PBSeS@Mr;t!7)8Nr!*md2^Z6BXxR5+qrvi10bsZEoi&)X3Ky0!wqyA_lf z=@rfHxyuh_C^0z@}QfSfzMt(BV$))`MayGe@srk%*9 zBC1GfFCiT%BNNTorAA56bK+%%bBKq!F9==w>FJmPW_BqKjgEw&p~c8;kFU|94CoTa zs_3hiM=xI-zj5`+Th9)g%?SWf6*F#DOM1tbu9nvXYQMK$Q#=E&vV=`pR%n~3#Z?OA zR6xE)*7^kR8xwUcRLh3=?^Y4v!3l4z0I5WrlyjxB6l+cwYbrQwb7G7p(7pcs&RVc> zTsG2xBC44?q6I+gl5^<#xvqK3t2_sSo~rJc_F04~x@6d5$20EMq!$2jPv{Qv**%Y2 z^tf>AwfGURi3msFoB>x!4!8&0twz6mgOW|had9^rlM&m^jVzRApoU)`JZMhe_TYl@ zDx8hr8uvItxLB(8xj6<^?v63rOX;u4i#vPEz98XBndMS0VIH_w_0m{@<^T#yiIRau zThz3kU#c8RUV&yX8^Om)(BZ)^N$6Rl*N06hN0iLXDIPPuwgBZy+8l3+vR1ld>^u z)%-!bel%ghrESV`*?6TyU_mUzG?MY9!@HLz*J31RJ;qfZY~$0&mR@9HqSB9(KJ;|; z{$vE7(v<@(TqY^ZP>biy>TR)IAM_F#Ul$R7b*zgDFwhIMr;+=bJ9w91>xja#cR`?f zpPRGrHtVCPX08D-@YW#`5G6*h33jO=E-B$6Sc%>se<&v{)nC+zx);w5U*4R&36PrK zGwa9w0Mqk(-TFyJseG6V7}wvx4fG7%#wk9zg%#mO_2om-;8x+g>!k`gZMwNE^@ICP zkOBJKHv%xD8x#}lh^a*zY`T3J%>2F`Nkn$`x-jt=B7G=kJGr3j6vy{%kBqAC`&J0@ zx=U37p}yXl1djnv*M>eLG(Hr;$83bn?)-+>@srp8L3{psE@GyQpMz%e?0uje@7~sz z*Y{DgQH(FOEYH4^1o{l$dNa|A=N&I-jjI@AG_~V`5?{YV8h=0pkRT-THbj+gV8%_B z#c<(E75c)qZflVAHljSW2Z4^ZCD^xs3tvN}jg)>@u5lydJYpPIi@OKUeK@z#92~EW zpEc*mBZDr&(6asU@Bdl*wnwjj-Z8CgE;J0+oKul9xvMh*_%I;NW))d)1-EGBvs~Ns zXV`2^dloeklD4gd>=;ZcvqqSH^)oAC77_)2L+O@-8~f3tQi z(%D)L=XNZ~-cNMu^|xj3{)hZ7S&h3gUL3zsoV>KdKGUMl0NAvX(P!Eg+pp)? zq!s9MJP~aArsn|b`BA@iWV?UnM<0yWR?ZDnj#p;}(44*mrPG2=b!JHh24{in^DCN#k&jFa`93ZH=zm``&{fBKUx2g}KyXquI z$z$J?JVenQ&mEjWWwyUZvho#Z?(=ld3mz(TiyxQ^A%eF^)rDs|=+o*^`|h9lSO0tj z=-6dWFOuFefq2U4GlU~dvMBcu6;}rz5gHnmIJiy{-V_iJesPvA>d;PfX%lVWhg6PWJQRzoZXxzLDvm zstPF~fg7l~j|miS$W6Wu%3T^K3&Ks79XyYo9b2EkUSmW^_gMBWd_Bp=5b|H)cf4lx zmVixt__AV^P8X>2Ff;(B>L9dBa;NHLwAzv%4^9y`VIn%jTm!XB3T*W257M0j%F0R8 z>|UH$sdz7B0Q0FI{gdHx!aXxo?FpSLIK`xXoVc=FT4VDvQvyreoLKG%ne|gwvZ9LA zyjwpKs@64B6{|~=n}$?D)ud_wdUoh;k*y>4xTXD{*}U+P&-lxEm!{CSkerW5ycO^f zqVf)#L^UQQBlyk~H?d0!af6^hIfzF^`x2@F@=F3o`9IBF4oMnp*j)IcHwUpunn!{` zG>ereu8xIC)h&JV0Ogb#;COn2GC+1YagW;tWTQZjvX*WMrzoZI0^lAKHk~N0O;;OH zyIQF2`nHmAff@Z^mSi+I^W69+O}fH0w5Zcq?Ao6BU+--nIkD2M=26$3TPRxW{x*J( z5~%wv?`m^#JURwS`tNF+_fB}+Pab|TNhA4_Kk&1U-~7T*#3L3dt`>Jp*W_qcabo5d z#Kpl&?dBu~mzBs#097YBBqdJnye%527>VGi2%SKdN!8`z>sFN{CAK7iYvyU!BudMJ zCq*$MPmmgDkbj0HySaE8zk!8LW#)Bo@8!+vG`T>&#d&%=fucBNx^_KbjeZy21bWv* z+AQ#N^)sYg^)%hArW(+xSSKYJby}FoZi*v8JJ`lGlsX6bjaj;-RieQl zR|&e5ZiiHk7u@CAJxyryr#=>etRs{Ay*1Q2@a8uxZUZ|4CYz9}69J^^!)pGVX-=J* zXSc5QUo_1H2t*nLRqbJLws)koP&oI>JqfxU#<+9*_>+$fg#F>dtIyaqNi9*fqa<_{9M5%{LG5`AVKm6Z3FLys6*oZgw}DEm9&yilh_;vMfkZEGR)>#ey9`h<-!}5JW}-13?DC@vp#A{3n1R zIQiiOLF5=VkigC_!hzwy3SlCNOhrl`33_9WtwCk^`QpflSv9=cUx z&prZNq@lj(m2|YfbP2eE0jGC|Rw~LX2q`C84FjYb12DK(x<`%RTqW2)Lv6JaZAYO26Zw%1^rlm!B3-c7^~IP@>{b^hb%uu-DwYnNFt zR25NXSo25#3Rr_Wv?nF11+U-m0*=OQ0ahP9(eB_(U4$?2cv(nS^EQ}x8WFx~P>Ji` zV<`$+q#OsB6mEm7)DysMUPd^BwlgYAV!8XN`Vj@~D%I}k{^ZJ*Enn>U%>M|g2tIDb zbNMP2na@2XF4CSnn&-K1`wRtu^AwQYsVDXXo>qLWE2oOhBb0D|+;#y{+8DE@%OZrD z72XS*hJ1}mPgqVV1|q0pquK-AKT6|i$}%yy{p_dSe&bJ_$wthgDbuqO87Z3#bT*}R zZDaS2^#-hDgfZnTcl*F`r9)p&4r{HUhj%#<$Xir{Z?QB0(5#*w&hFYa!@u;)zxuh~ z_*F3tY5=qnQqdoLJ^n50-KZsvb*<#f4H_o`Jl?Sm#1)eXs0gxS9iHa8adgpXux7&m zS?Dslp$2%sX2n4%vijU;^jB%CejenH4Biu;D=(}pGH_b3(Vp?@6Bb+oFyew)1M~nJ zFWf2jCCkrk5rNI%7&cD9nSmK;!8`zVR*)A-F%O6hbB~t5g$lT5eIk1K*{OLXvd-X$ za?Dc&h6FYp$uGc|)M7}>`iJSC!_iw1F-6D>CL@)u)vm{U{u#xKM*&_B@c5FQ`Eb;(q8HtX@o_jPBmV1 zy{}FpNZt%E6v{Ju20H5FSrK<+RG)C%;O-^4u49~Y{-=4roz$P#c{ z2X;eTO0)#C9-k3WTu6y@Ndv8@-81XAvAxdy!vd&CEno}!%t`Q@jgUapUYc18Q5pjP zYW0*peLH?`lzZ}Pla!O3rWSM`w{NvzeVVpSsAPRP9S=w%2V2jJlF+{F;m#KWNJzxP zS=1RrS)q){%ll1&W3&YdtouXv6F$ zv?%_A0d+7w=U4+aV9vnwU2S+ExAR&s!c~Qi>GVoK5c2OYDE1jH5q zKJ?-br!6U?aTx*kaO3tzOGC*8j46trA^`3`^%4MMvl>p{0_toN`saS*ue*-LO!v?> z*na=V|7Dj>2=p0IU10KG#lm`5H~h^x*WQgi8JwL{T-vE<-uvLZhf`zN)zIhM&u3x@ z*NEGrUPcmB#0khAe|k_N4LCJqjtb^jg3CvE0Sh=aCuX`x0IBtNF;eG50E)JL zz(@@Mc&U9RweO@BPywGIt(eyUR&IV7iJ5GG4Op>eY=8&0nv$%+oVg8$4WMExFb$|y z&jB-=0T|rBV0bv@{vi*?-eFI4D^nA@h6OhZEy+u26G;gjHsgMp1UpWJO|0ICJuE_# zc;J>6cB&wq)Th7-_Q!7so**X@9|3xfb5_h)B#$x&rWESa`>2)>4ljg6?83<=Shf#DlgpJ(eMVY46I|IAs$VX*~3T;BBO zrgByU=(#)Q%&hMM5cdzP5kdw%krU_u^he$z1_@~4V9&7jy4Cvht>}nADjrN>@tR&O zZvY$68zCVj`X=4!wiL=LED|N;;nXv%{lSOqYdku>-f~+_&%-(z!1YY0vUpyk^&HoEr3+-H zp~^XaJ7@JxASv$@fN~K7t9L1YRqJEGN{~&Zc88I7>qIxnD4JJk?+yr}0WbHTKRf>J zC?ld~Wrh=B+hwv6h#DhAW7}S=h`M6wyvuAiwme--tTuL-Iaukiu34qSq}MK|jz(BN z(=9~Yv0iukcQ(gwCLpz1eE5g{)mOjrfAi)+%BOfd^Z&9w<$UgWPu|jXEc>f|_)p;G zR*P6JJ+hi^wW*tOcjxFQ$K}yMpw%8aAV~Zz>3Gz=#J!I>1Oft zuzsWH<&M-bgL8RuL@Ge&*g_Hj0KLeS?7rGGt7nIkR~>toT42WJfQM70hPn6po>uCx z10;YR%-WN9Ky?Rt^N^aQ+1v#H>h@REr9xSk3#}gNiw=g1D2Zf7YO6V7lqLhghT|Df>pU}#29ywg_ z0O}^_BY+{&Y%$Q)Gc!7D0Z}{?o@6SBVP#HYCrOHTL`e38dL?*uD%C?9$xLIV!E|&P zq(|L!(BJ&fuJ%E)D`Dzy?h3xx8ML zzMzPrN(l>r>cEMy04;8q^*u4@ENnu-?+>X1ZJZS}87YCRTcFzWE??4B(v!R0?w#!I zYI$9sJ&YIcjBORLah8Mju~>-@clu~-_qab18*+YhzV9SBwh|jheuG?zIC(ZALjVZ0 z4{T*+ES-5>a;PhQIt9%vKV&2h{$PUaUq(v+1?CL9+teKD)7PLmL?rHC2ewwo%JxT4 zcgt+<`zv8z$Ebm8IJ*lHrrNqE8lNu*UYQ65b^-;)SH5@iqbK*inZo_k*cqjM2$!Go z?H%4eJ9%XEx-#pyl$PYdtD2`uxmBx#-?_Csld8<~Rz2=w4>+enb8!&l>Uyqmp1AqB zhx;7o3t!S*;O;2-&L92ki=TS!+h2ZnBGEkKSS%9mD4hmeM`j-TY`>c=spD1Bk zNNG={h*YTa{(cE}MyxL?IdP@HLG1a>yWMkehq62n#b=p$E8^VF2fX8ePLvZk8c~cp zd8-TIYivGyR}?;=?CT`jWl zc-{dkYEjeZ_GtNx0Ai?gWKYki39J_C@&80nak0nf+i9~JRjz>xi5g*Hs|ix_dGo#m zStwwONF7_q00`J1Etm~L!>k4C*2+zE9*XjfET&h>4|RKYPVfE!pl|oKP=f8;x4KLg zgvAA^12Y_fYMbS4y}1Xb2OgN$E_LEHu*UX4ps_ld^*O-`@JLxIVUa+bb7YGlGD2LY z7Gx-bbg6S^3J2D~osS*8`KP5loU_pk09k4!5|O@;iAWR)qQZ5=qy1#y+|hlc8yi}L zQ9u%de?&NLz8p)M#7czY=Enmi$YCpi6M5W6&f7?k7psFB4;0vPcEEPJ;;dUE&c$@M1~wCDTt;NjQNf-?2O15}z*xh|DZOoB!tAuHgs zRO47jnO8OdgE%owg@MPFPzOsc#8`rNM;n_-W3VEklGC{~HaB>C2yq$qGurUiy(1;a^{&m{%A zx5%!8s)1?stT}zdg|aAZNEvA9j(~WaS$U1#h0PJXlEPDhTOE2b;>t=35)tgS|E`5> zOWZ5k{pb4Q*Tn=dg+d@0T3ly6@NgU-wY@@jzoQkwsFtiZk#rwPiU`y>6%onrK?Q8E zS@5tII;r|anbCc(kGgmJ~#GLxl5z#7$I zw%2EZ9(MM}_&^J1&)^^=*x76V6qp{&8Nl$#pZ*W@$;$wUwBq5B^CV;d)}S8(pxHch z@enY;5YcBWbi1HxcZ~asj57c>D14AB5EWi*aG^9_X4@%_^~?kT_~hQ#y@!J-Ar3Wr z@ykLP3eV)^(OVVtd33*+`EJS2*V{fZ&xLq0*Ln>3tjd-TY-^R;`m(~^spfEA{b2ev z=3;Xj=k;7~eF(VY^ecKL&B4_2?v2YmWo9ab@`ZPg?O#te`i#5mlbB?-i63A(eCRW` zq@<4-b;bR>Sw1D2;M@;|?id0X)!qbP*NEzTGfX<`*vn`b@3R+@+mSGZ^rwb#?S0&| zORh`QCf`wws;GYjXLBxmi()jldF)y~H9=;KK1W8aOKbOEDG zGuXsOs+!g03e%T9#U1)Q_s#iS0$G;;_~NL|_M#E&V?T2*?V2yXeQiD0xU`z4FO0Kw zS0kDfTM~;`l~=N>Ynj^XsP@w15=%P(%}|S~|282r<~dPbZZs7Q0V%R4>vp5ufo$`x zb?{@e0U%Th00W538W0(*p5~ys8^9WP^U^1N3HS{7B(^-W0c`d9_0xNQ1gN}LEQksL z0vmC{^k#Sjyt(<(&wTn{{}tXmV%@Vo1v6MR52Ssd1?wKn0Ib2L<%sD4mmwVvCuHanO5ValT`eC~-vWjalCVGdPqyTm!=xbQTeZZ#l=4 zyWbF}9!K;!d@icgagmb7|AKKGr3xxk(pxKTIF$XI3Q;<*$J}siofLrMiUun)18Of7 zj}G`_9_k3VBlr@d%7Pr@JP(sS2GhF5$h{E88YTin_Ow}vg3&f$$A7xrD+)p)TstXH z?c2}Y9DgSxoI<+S$*|VMIiKANHitsmyC}~RzHvr~-RkL)|KX#%eC3H0XykboKhGN-QtEnVkL!13)ocObR$Mz{c=oF$;$IoSZM zoFZ;>==AZdHV6=~zkQ4CVk=6p#(xhbCnzYF+_!*YS!^1K zS0l3yOgls#!&q;37o03FC(U$~TZT!-%3~ldZS^Ef@1?+kDIv~+Q-IiVRJkhJ6{07~ zT^7K)(-_SMm*?yWybZ;hU{{?_r{XefKQ9yAp7WYHnA%nj_(Ut~PIpA54!#e*F6Cq# z@oGmBcoSajA^Hp+hUH4eYXAAu<5vNY)XL~nK!w+ayg{n>pUj(jCQ3_2mT zo@Xa6I8r%AtgdW=C5&kHgeOE9X~NFy97ipd>@ld+{CUxhU%me8f9<;SPqU4l_Ielq2E>-VUIbFh`V>H8bB*<>m-Qe(<+5==KtZx$OWcN+ z^~0C20c=rqJe;^ob*yA^O2^ay_rg-o-*^;94$NF#(8$K{7?sxx=F}vRQxb7O0-{;n z860bm0Z=V(>$5jRCWUHwL!Z9wUjPZWdc^7-dlCvi-fVmKqlt-##!1-???OmK-%%GMai8YpM#q~bU(QW2i2a=ndEc)vuR2{WSW#7GgC8nPu zD2)LP4~cowWkr<>^PO921^Og5+S3xuX(sHOSIdfPc69VB0d1>@mB&cT`0*uyMQ|Mn z$vdmkh$0eTDR%L@0sy804z<11lmO+Lwt#XDijG>F24+b|6qW+E24HAb&kU!pXMn!W zT0NldNROE#^aurF;VVelJx;`XwKIr6_KBbU`d2@nX;pJUmxGpIHmPCkPV&)j}R4KBCts~#KtJ2y4F2J1mm7Y!m4tn~5 z#EIV4m3@zh@|`q&R2^}5H24E3P=mEMHf+7@wIva^z}me75&$o5zO=skbx||cVGmCc zJd+CiX38h7Y&m$k^x)rNNDbA+3=Ex)juYJq-$FHhF$j;-C`Gc)L>JxbyZu`mOH8qr z0HYmJGNaw;k3zC|Tqt^1yRw`+sKv>sl(sRN=Y-}M>)~v&<77w~Ud7a13F&c44>JY; zY_6-tO?L9W#w`YHvAY4L2iDE%wmJLm=e~FRzklv`kKcY7_!N*t?*pbPoU@cDW*`^S zU<8a+|96H$E;8uFtD@QB43ueWV%9L8pRD-KDO5}(a&jM6soH7!=Lu&}Pomr6vmA}_ z9beS*Clyx4ZtJFT)ffEO3N!h&VM#hIpZ~?bDnj|54nSRI*MsL$_P{3tD0ytF`0+2I z^29*Z2~aYh45H5tI{*#XTz}?Mo3oSTudo4NRC~4;XXqc=q@B$m(&>WqFsVIlEu>NC zQ`??g)|syttMK=9})&gl5V2btQ~TOM@$T?)m0Mt-%XR zWv6pod~IbVAIDAzlE&hjg}}1dYCSEWRJ%q>$*RTOK)MS8kliW~n?nx=s4xEJ-v;PP z!M{f*B{XTB3H1hmRdZdCPXQQ6 zfj)J7WVRW#$avB7^(f#7!&km_<4=F@pSlicdyXKYS|GMwj>7;O>rN*mBS!v#Tt%Q9 z7Yv*?0OI&jV|p0z*jiRCZm?dP;Uoflz&squvjCgbpZyDe`IUe1#RxrPt|lS%QUXm+ zw1+y@URLBlij{*PRS|W8(=ZH$bs-3;jev3*?H*=;_yN)`EAlC-0l>xe7xem}pHuUU zN$j9dmpn}LLLb0sgD=F(MmbB_zaKB&||9n!~=E)iY)|DhW5SfX+K1j?Yqi2b(=l z1TVI3fu83j;Q;=!Le}VwZ+y^_1z4 zM9YFzSx~~mFj-l;KdG37X7!}l>tnK&g<h=3S`nBKw2WB_{6PyOM|KD_YO*=A1aYlb=tveX6 zW4%|8% zsFtOs$j4KUnfOYbOm^cw!Wx5p{P1h6_?c`Op^qt z@FsFvob<(Yfz1hGi%k+jVIH8{v>|Y~yyk}U7-@3QmdzS~G096g#+0U? zBn#ste3NhWTq$-=E27|*3~;PFG$qSEY>w06Yf2DFY0guZ^1MdD09QnZSfr8onAhNY z@5|`TdoHw|^S8LI{o-cllWMx>KUpl06;4^v8@jxeHQs6p&3hQNc<0EpcU&}U{i z68lvUv}Gse005woTHrJ4uAy46J`G*rfBJi$57;y|`=B>K4d_jf2fhBGA6y^3IhL%A zshla*>ax@?zzv8gni<42F*TBkCkyL!;mswt0~;Xq%9sCnytb%2A^&3EopJGmw; zdtd_o4wI64Qg{TZ+h@~@ry-S*+42EVEj;L)b!sQkrhJA>&C;3*Tz~cx&YTTBO9lg$ zienrn!d1}jKVvpWehvuD)&MqziUK0ASzLQTuOEu|C)Llv)Pig*ZOq|cW=^dpFcXVF z&z;-=GccR}k-%^num#ZKCy?p+$jyf`{*cUb_q^t~a#v2BpW7T)F>*RCRNBWV+kZ%S zzU7LDoV;7uKpav}1<+~)$+=0MJ-Wi43}u!~5(k3E*K)S_1jmRozAbx3#R#(35nC)@ zZJuPAdWKa)V{~fwIuhols$tU>vl@f%1`aYynUP-ux87d#?hjm^sQUK`*|VMbwV z`iEjUH0c9mq3;o(SaObk_H#`irElCa4@734J|F?>#r5yg>w7>e00TTgvj=w9LSa4X z6gK)u5A~8no1<3&TTvP1=r?G8j^NDIP{m4~+~IKnyaBc6JAqVG??D8MF`^P!xfxqf z0zL?aZuX*n|l2y7EKFQpO~fwG{y=7@myBsf`C#| z&ww-$*8k_ zPQtjme(tm=8E*3xtQcyQh&vdBlHQaXT>x@}u!KrZndm-}-O+^Ka-7y$DZ|J~pC z>hFKf@6S$A0hfF!h)z~OEdn~OQE91a73KnP~jtX?!`1H-WgLqm-dB5MpS zp}4oqVpJ<09fFIWjaN7w1ei+#q)3;BD@dSFh7Eo3czXX;2h%V_eZOK$5Qa}g05qFNu9A%yRZz*} zh9d(>Z1wuSZ=z3iOQ_3CBOq2&B;amQp2(}&v*_;Y}gOUGU zzQIx@zr$=Ln)DCl18>H#a>SIOvPdD_i?|Z775_wrPw4kLt`L=QvNerMIwaB$Eb|_S z%+?~U9x@@;%AOYa*Tr@^rf#3D$gkUc8jpKM*aVwvV9uNvMf@^x-v~_@=()OVu-SJ? zN}*y$UPmGnx7=bE5*DlhlwRL;&&R&N^y!AI9OquRzj8_kwu`;@`=m)}96<<$!K?wB6v-9U0`vkPNgE;xk2kCy zTWX=t9{T4GqIS#iMnDL6xDOhk)wb}kbVE-Kb$dLlg(i>OIh99N`F+TMhRMjUmIQLW zM~}A!&`?s(V3w@`46!XrY=nJ{eu~F6J12j+N|#a45;>j!}4Ia3pfJ-uGH{n zVvA6Tn2Y>;nJO31e`;223L?V4@K=8A)mL9xAKg1&kS)6YaS};{ZSoOZ>VV$*t0yEC z%zhq1|MRHvj2fw^A`^y>DSRH@ zA?d#pNw{imu){SP@n9@+jnS&t`PdHtG;AK&Kpbh|wC!x{Zm9>c(G0=!PucXW&zi+k z#$wP>9JO(=ER6bsQ``zwT{LjcK2sw^(}Z*&Qd2qOP>_@>pC0u|6#%rW>#_B_fXdAe z3C=&IPfs3P<(z+#kLmXnV2$&@XxJ8xUeXTbzjl$r&S3Cy8LKIrk7AJ zT*Vvz>hJ#}fHu7~1LiEo!&r)ZBoZoubV7k<&YF4Z_9)S%4rW_IB1XK;U1A4UAM3$db zEWs>D7$J`l{V@)|K+1TvSw~TD^bO~4q8}|KO2VV|iYTIm+`j;2DONC%{nHNJ%@4#0aT}fC4vu*%CCq$%938BwT}9MLsp?gIhoFi68md?|tL9ftH|Fpq|RnoX=5CDT( z0QbJ2o6%Kx!udiNK!vK~;q)S7->z=< zr}vyQ_2Rl-KR7Q*mMi1P7wZ_k%6uCsvj?n!p+!R9%*l_HsAc2}QF@2b^w_ev%p}$6TY9ExO@6Y5g0riS$p_o{(z*7}Y)x z$BFQUk<%IpUjk559hkw%=_U`KG9n?2fG6nz-tFJs9KG(Jzph3~NPrEh1@}ij zl1H!9DG>97cdUfObCl+2_wV$_Z^nA69dv3O`0i}PMhk)yS!Y*#mAEa`)7aAFkEVhi zqfdO25K*zwsf;NIZZf-i01FGmARfX}csleaQIJ&$O5&+^qDe7XVMHAI<)!E3Xx+Kq zec?QGMe5q3BS;_2Xku_SBLiP-asEg~*Q2zZP>xR?-s1`T%`VF^^oMKN4X5-C8 z7hV{u0nor;t<>7Xm-v)?2KDYc&bQ>gOzKNr>6w}V7|&`9)y*82_#4zAa$(IvZ`t_Pf)cy ztfL+A`z-3s8&R>Yf}d?eNV^DA)M#bJ0Htz~wDjA7uZ?h@?nGI+3{`5%JgQ6@;Ef1| z5NK)oN22m}=~zFC!+693z%-1*%HiQ}#8h*Y7eDbM58i%l>$sRp3UdSiV-72juO(7?Og4pgwwIr-uF5?!2xV4$$!Rcj4QER&h=J}pvZEkGUrFplY&yaO;r2W5Gl)_Kc<=AYZ z$V_5QlgGZ2HIGQPPzs2h2)2|HF$4oZYz9;d0OXjr2Np98>$^xD@Zh>$0y7H?QXAP` z4$&BlUZ?#=_??&kKYKh4o0CeSMdF!FYsc@pt|{VEWf&;UINQ8o=px!j98Ss-YDVuB zaF#B^b@_v@i-+P|SF)NA*qu38So$~TmvP193MxL~bKHrikz7dnXQ#vfN5IDwN#Dq* zhAQ_?8R(1xNugvkZPn1Mh5Q1SB;X+PQ%XI}-18x%rBi~&#`Sta&%+5|he*I1;B~}9 z(d(JIHWaUz=^|b!C2V4Pf&`=-jSEFG745~qVVzdjm~*oeuHf}q6pad4>&;PRhHwnd z?YYAm%tpu@n+(U~z*DyJQ>Yfgw#)K%$=Ks;be1t^IH@nVS|)gSedL2@u6?$Zmf3X( zl|5$s6Jw6*%mKAA7EFOm;L8KSF=zBBr|QN82!u2~F+chj{$?te5IgQ@Os*j~8 z$lWFg3O{7Xdv-Dg%DHr&bnRBPEr?1R6ql5OYTIeiZBO>>vui9vj3_*Evw8{;ff@*i zRoNep01)(vrvhNA*O3{Py73k4$Pw!tC|$GuYVBfo4~;Sun6e!^$MGkEbIS6#k*TuE zbe|z3K|`io%76=ip-vB%yQRst2(HK8;JMOnKwtd9pWeIn+|j*PvT-kV0tH2EvpqLa zD^F4mW-12TYhD3k^qg@U*aa!VFkz~c5&7dE8nID;r}L{QeG}Qo%FhO_6xYNZ&;Ci24Ilt5$|nr~n^=!YJq(>J&&HL7TmftlRYL$^9v;O?e6xx| z)rq(e0}z-qZ|X?G!p%5Jbt2O3jcv-JxVaE3dscPO*)Xo#6)~x_p`dc-iZ0Fpp6ZFP z24mzv6TC0JM$du}JEYF{9Q74ED1)IB^4Ct`uiTMyZKF}S*u<^Gn(B_E!DByi{wDz3 zJLNTC09&X(1MY!0P9Ay`)SAsUhoXzbwZ7miHz~x(YXu|Jz^vy&a$y zQ~=2O3;?lNZ3C*z3@XZejP-HO^U2>Pl}WBJ6N_XV+~(epZgAKD0IG$TF}n0Tw${mu zJ1*6&PxK&!Vm|$C)eL$56N8ffBe-c;-mW`mBF;s{d0Fb)B@!x$eLl&Seatc}0CBk3ld*hq3lkli^I69nyUE?;g z^Y0c#O49=nss#YBIrFkV1c2!Kc@Y~x#b$8-hIoh#0I=zu(y=2oH_=NZX0`^HEmYmE zZb|2*ICWzR4HGavDP(UefaC*gEE2S!|5%cj0O zKcGK9w(+XfFR4N?aJ%j2fK7tpiU{99YF?SsZ$Z5O$>8R;H^N007&)OfJLn z$Gi6Mx$z%6OhmC+19POmxkmy1%z{WcEQhs5XfbQ&Jc&Z`g4qoyoA{q*1Ka~>iU72y zyaWx&w8|U4K_tZXg&+DkV6(dMlGpE20xtC5NQqcP&>LS!_KF`2kzEJ~(0u71|2K~Q zY;WIIpdEj3ba0bMPQ76xvshk|EFfKe^_vYA#-OlVggy(8A!?rR+G|N;r7IevG2Iw3$4cSK#$(AI`|Yp% zAK&}N7e&pFQ&Y+u!cL5@usN)j9`#us#B%>A)91{zK?=zrPpMziMxf_Sjvc|m^9Lp&qQa|A`8y4T=SOcRnRvEX+9_g#}${%B~T;0S3^g9!wAFA_QvBYna$2 z(6|Y2LG$qDHs=b88MXl^pkD5&Rx-`td20r5feQ)dX-lENzyqqF4FZe9XTWFfHap9z zUjRTrZJd_WfnTxjn+VvOu^!xfo>ZgzGyi-i!ZNDx4zN^M;|h)gDb~z_d2K{^mtU}Z zeY?729QR(jWRmzkuYhS`S1N6$rMwGQPA|R^Fk1L~$dCT!SO4JZM?c{gw5uCt@B&Om z*FDGQfX)*-6*J7)E?LHRr)=KCo||<$ zLA@W3CaR{QN3m0tVp^1TYo%@er}J1au6ozJBSpFx*iGCQY%|rwIxLQrfU@|vc;S_M zS<_hj3G09MkN@H9KQGp$vVv$Rn3r3*i_l3C^i&=!_EtX@By~Be0>GxdVe}DF!=?u? zXgzoXODlRHXv!hsEe~ z$r+T5w?s#RLMtss|_{+1N`OiN zdli>N(Ffbtz~uBWbpRoiBC$MQ>VP+PI$?Xw0nMfdY;bV{`iH(~6rxk_$EeqSWE!u< zXQDZcRLKBuLJR0E2NytXcmmk$gE<{NMr;neax@Es+OKh^n~wn0pS4U?|NRzz!ftC-q)h+N}j#+=SsoIR0ULs=(-m+fBmm;5of{ zDAol7HNffOwLh`z(NV?Sc(!Tq<* zaJH=%zNSAg-sQ1brIgZ%emba&6^x=xH!rR2hIpm%+T@(A@El7urG`g6qjT^oau41H z;XRJYV62dILL@JqG4=hie7c6m5ADovy45gWAE_-~b zB)&{nZ$pO{fV1&3m`X4en{G#+`2u%3Ek`qRdgCO>TkMtIX>s8;q#o0FT86VVY@+yN z#+46Lduf#g&nq$ijvSG^ZCJT9K+#P;MU5#cN5?~r>)LrDe~3^8AT69&p;sidEylL5 z4Q+P?C}WPj6k{tQOLWd2AtCf$K-8|-BFllECEV|IwHuSmt{vV*v@2aoq1A4k|33m~} zn>b})Mm-oSN&+J@;R$RSQr4$1sdiK^HRD)3$JsseIn@8e)ecPwSkDnvO689!0s%7W zOZqsW+_3NL#e~Zra;m&femg=StHl}cDc{{3!BYU>8!!Bsvj?vN2~K5MO3~pX&FZ%4 zkCRr>KnM+j4BMlio&2juc&HLQYav{tyiIkPx@!&&Lo9Wt34Ov?S_UV#0$$mpTpkW?hents=DVEe zoW z0Ceh)imAMh?}G`IGl$n(r3?SG&8d*{W+z=@|GYVLl}^_^BP4LmMnK!vYUKdT`rz45 zZ;oCE2-|WSw@Nd_35H$+BrG3VO67ya^%wQoJy#VNj;v)RHrIT&ifBo9-9K*5>&+u? zU}*g_wKpEj;u&|^8sV~D97p5!=WS)z_Ywe&GX#Lx44bB1egDUQ_|=!c%%Vj#O)5zxG>^NdgTkqVxv6ss>HyZH`ffbLv(h&-DO0GcS?GAH4w*~;Zu-W>e#+{KJh zoTr4pGhFzi@vFc`|jZmWRsY#m7=|!;AgxwDBg-P$sEq&wHv_a zV{_&aVT#_+vCJ;dNYq33gdeeeV>eVf{uS=Va&nPp)TfL zRMMEx-r4o;wgwXU&jYNWvg=8;p2xAYLA4Kj7QIZ>p{KAx+=P)*qxEbv#AQknl*-Pb zDk;3ATr%u2pm<~;pgMc-3aDk2F~wB7+2#E48jK~51byg`#2Oy z#B?(yyP5%ti;?*;HRuKcu0Qjc&B(h$UEAlwa_dq?Dol1d=4TV9IO@S(l)4`636zX`tPPAR zb~Ki!PY`gE;pPCikbLT9|5?)?0a#Z(Ot$EPvbF}`J0Je+$-_5Tuj>avdLW|W;nYu2 zUD{Rhd{9>sL*?WzxOd%05C?g876aYtQbwi8sfG%+f*Xj z>F@;rOn3Oa-aJb8I|X1wfdWfqE*Fzgd*HmG!)vJh@qgo&UwifIrazvCMoj_ANNP4W z3Z{kj-?{Xu2p^AHd$2xUFfa4JN=O>%T%24pR`qfl!levKkvz_iWqd^wfb42K|0KZ+ zUmjjKW1NQ3dG|>^^ZjdS`Glt&&&K*|(%ZNrmN$JPT!FKnO?I;A-mfR2o(01&U;`RMxiuD?GLTW=@+itA+(JQu_{Q)hpx8_cdv zIagwGLADRaA`_l!8DjMJ&0K9!NM8(QM`-UKru%s zVvG4|rIg)CB?t*iNj_(~9HTgNAr(I-*LZD{xB0C?we+bqWF~3JzJ$$n;2xU;wKz0G z4=6Wz$v75W*oiZ3KDatPEYiH%;S@%s);{~q8_A;zlTDb#J7WWEyl-AQVUU27T3+M+ zEb1U9o?1L(QMmu?4xiV#YJ6nsJ9l$b8ephtnD0fnf`A?=z1wv}%qi1o_WsGW39 z$7fd07X11*zx8Ed&j<;)pLcj5Whjzc)Y#qveHx)FSH%Hf;XQ~Lg;Rp-hE3C?csJH` zhbTh%@ga;-^^!@f^AF65m#zk2QjnL^N3H7VKly(2k?2r}A#0*Zfm&fP&Fjv%3l{(b zssrG4T?0z?3!3zp&}kx%^)nGne}Ndyzu6K!f74R?ZBZj z(E#XFINS1qg9{%QC`3+qPow1;JCDJ@mq%TW(_>>Z~|722^c{COF#YZ zFAqNQ(NF)I-+TF=drcUMwt==?z*Vgp@0zv-vk`HN0a~i%Egp`6R#5|r*G`ccLk%Xb z>$3;n^_!cg-dmEgsIFr!*}F)RNQ`{@&qLhuzpq0&CqH^ykL>;LS1BEeC5aMtojir;U6a^_GD zIV;~mp@xa7E_I*$#IW&ej4KNpN^j^U0XsSWMEU3wKk~1A;}1Vy3O;t_hvFoWs)&u2 zS;I)pEa`f zr;*xYgcT30Pwv^_LkdI&Y0+7fx0`?@Qo>`ocsZd5RjY-ZMf&&|?<5xGZVEvg^a1~5=} zw`>b2@nx@KA>hj}2VB7bks3f{bdPGuX49>nF{Wqky%e>C|8h1MMg)X9uhc>E%xw0a zHvMrF)?hKcBPb?)LA{!7{1YBG5hA2#_tc|{I@E4NbcSx5k}56<+S#<-Xl;wYln@ZE zC-^9u@iKRaTRR3N6MC{JJfNR@`qZi+S zy}BR=XXihyQnx@5Ahn_PCY#e#=G2V08p-Y-bNq`fJ0@!yHgUQJ(UL+g>;Z0b>TTtE zuw06Q4*`_C)@w52GH5rY(jz5xIQRW@Ac~oyw64DZOEr>_aVx9UE$)xSVpLA}PCi4Y z2PFjhEbZ5ca-=myU@%&&Xb&RGeg(Is5P;dc_QLw~h}80}@BY4j^Drf}e;~dLhSI@O zdV3B$oLHe}p+CdU=a4r52AX|v;xnOcp+t%?QWG^!#X@_n597_oErv^-^Gmm_9%>aO zo^jMJW2JJChcjPu70pA%ebpNyqguKR-}K|bC6$(AL39HE0AG9hW9#Dw;VDtO&t{XF zvW|;O@5P82RVg>-xc6~!aZVhudG)mzzfxLMmspsH&uZXxutMmMU6tO(@$q)j1YX)V zkB^@eUgZAs|I4qktN&ziYLW?Wg_CBe9E=l>@|*8ne`*rMehg(2E)4`{8~qqbL0jXh z;AluKdVA2F=Pov*zvc5NU2-}aYti;KAH^=t^O*+pbKV?xx{G@F1!>xLPDJL)pbCDB z+`8IT(G0m5+^#!R$Xl?ExJ?kyYBVC1^1NgN8ddmZ6VrybHOE{8c9}f^jGhgeTS*nk1l$sE6s^&Y~9ZNXxm{J0GOfYKyU!m!(9MiKJ(-q z=UC19D1@+xU6Ks~vM~V2Ml%ab5H@MLWi?5aGgayi9abw3${apMnzxnZ54L>%0Wda; z$?3uE^44s5pX6$Fe|oO7fOmQE&PUbb{h~^R;DfKr7$7rDydmq;`Vq;KJP(-H^2n7L zJBsdLvgl~Ck29rsxOTv$8$#5G$ggCSFU)rl;CkT-vv2alar8f{hS{fue9oY1c2qu> z)9UdtVK%NMAEcr*ReZmLk(YQHf%9ulQLTJsaS5Q=ti1-bQQdWq=?gtyGkAc>M60OC zg!O{L0exnxfN9ym%xnmi-W<6C2?jqvO#UinI+!9&LSw=G)A1nmV?hk!maM}ZMk zpjxC>b$fr~fB4O}H;+8ZJS1Yupd;3a1i;sy`=ou7zyDjW0V>~Q9fz3OWj(4N$7Z&h zcDa9hGOT66szV;uzDwP^I5J1;Esw*p8Q5yMnl+fs5B~TsvKat~%?8y;M-AX0Dy!MD2_s_GZ%1CayBw9>uN@#2p}Odg7blPD?+b56 z6m}ytrj}cg0XC%^v-Y1OhkynEz4%Y+>zEWQb!uP;74P&y=j$^s{Afl1PZ41r0Qi{~ ze!SRjg6a@x-<#J3O&cZ7tnno+uDzJ9M2xBn;}dPPjhOE6Lw36cFxXuKZ1w5ABY5YuRrs#DBu(KSgUIcUfseJv>%;usIVwB12FrYocwHGeB%%Q*YAG)^I!Sh{}G@8 zZ2kJRE}9EJSgIuaMc7<-Q{8T@4j*p;45&T#ZdO7XTNsWbVcE_})}q71ANtL{y8vua zE&W}ay{A7LS1|yX4Nw;cNUsw+S-l1@)LnOqC5eocIOUxnHKav_h#y+S37eIBs;Z06 z*(r^b+BJ{>@ZnqEmW3J93m-et*YchwdN}EpB2Is98!_0O&PjD9=0qRONN(R$WI9K; zLs=+nN{$3(GIqzb&Ux{NP>g^Jm}{b3_V~*cNr_mhu&YFwwEBmfk2O-uRekV_Ppymp z;mo()@%^Jhf9*j{yzEJ;U==D8SM>hHpKKMgu3g^D3ISKXhx)sXbUziKXQEUTWO-mlRB!SXI11shAgxJM1+Q&rH`^fDyls&J@cuM?+6UC!HX3}x+1lQ zs$KObZvYa~lJ#-3x-*=;*!D}F+$?_}(Ag=#76 z>;jcl`^!w-x+2jPP%YS!I!6zggSKXEV))PHU=D=yTsj2P#fg3hkWMwg=GLfHhoJT#5&4lIIGc!YnW20~Zqbl`Jvx}%;i|FB z^Yq7l;*GC=v22s>G?5Je0kvS(!gOxh%~&>>VX2OV*_)ullB_GE>Ol8}zLUU|bQlx+ zky7GLeTm4R`Kw<@ z`G}mnCw1UdSW7Z)uK7>4@nNa(DWP-i<8b3+12dKycYfgHspz>jUHULBH-!V=JS_P! zX-4fmqfg$5qiNepB4M2UEpOsoQ0sJ%)dKWcRK#enu@xZ+6wlQ31$b~0VOEDqt-x#? zL{1AZ8(-0E-Bbrp?Y9y=LEXhI8~{L2D;OTRE6;-*HORVT>W8gS{KXPCfE+}Rve z-0zT<$1RGHiH|Ew%&kBYMd}1>HBzl+@FfyhNW%%HAu;6R^6W7oD{N&_hmf2 z)k=FNgOX=}FF7zVqV<{5zGkOm*Bv~wIeN`6Gfp>xe6#k#_M)Y+S>77X-u9E*WP8CV zTc%Xii!bkKk2E(Fn;690e(w9;`tCPpW1B4xJ*tir>CM@d!O+Ft!wJ6*JQoCTNz*t% zaxV+O+7;uT11!F?tNRkKWY+@BMV`z#E*mSE=hhMt%%D(BYwe&i?@>(;k^9i!84nq*UQ0i z{3gwvV)7${9^;7#jW=`efHh(V01R5th(gDl622nAMI`MFvbrd?^Nux=Vjhr`6Q;x^ zqGHfIoOo)U_7Um`2M=qr4qT6h%s3EPg*O1SPolhUb& zlxlJCHc208mFBSP<1%q;W)Ip#N3-Doe+}T zI5BLu2Z7x<7f8Uv8W2$}csRlKfQK_|R_yAF98;$tSvysks87PNGy#RO<@M)3^WZyw z;L$xJx>}`lgQ0e5`ZE9kYLOJ{O~g%7%nsWH4?QpgDKHvU%a$U?rs8i|ivuT0!dr{_ zSZEAN&aPx>pjvvZEkYm$KqTfhV#{WO?IHIMgz5`MjDwlF>!yDwjzaL2hJY^%4Ppl| zbE1yc9hzYcrWaSuAOFdJ=WD<9KZ$Vn;=ZhqhCy>F(0P=w@~ zgBORRZ`XH7`4E+0OjCv!=JB(sKpaAtlw}C#RRZiS+fn1x4boy{%-9^TK6ZNo4}gSf zpYapgm#SeE~Z?HsVt{w0JQ?w7(`{Q^Kqr2XjUn)dmK0DI~>`{;GFs$=BDZI z1Ga#zCz6+=`V1(?;!&#>*Y)~dHqE4sfk`y+owc28ou{O$fFTiKrzNlfUc0x77?(7n z^aqd?AZ3#lR+YFH<%4bGp=1VNZ1!270r#NxK_3fY9Ledl>ec%^9C-xX7i{c?!@g(5 zGNvtl9ke(&AkJ>iV0VrC(0sG>NVIYyEs4JlIQ0*E`&Rafd!ROW*kZfqq)t=^dSkB& z)r$40d)f{`VqbY(`+{XZI<>J`@o*C0=4N?wIJ+kT50x6*G61T@zFr??=>xv!HK2F* z(upcvMZvXNJ2urlf|8A%+507h>fi1k0BIfu6uOVpOLL@C(lJ{C-7 zJuaN*?mY)7UVzbAg&$%};J;2D-S>~bO?qBpGl+P-vF#X|^`N>H>meP$3(84jMIDbz zzQ9yed<$Pqvohu?8NOrF+w*_zU3PuSZ#b$!?!8<$myq=t7=l}lYq0gvI%eyU^my$T+ov)W1w+z5YO!siv^2n zq|#}XHximm?FZ|yMGZP}pQ1M>8T*4%Wxbp#XyWK6UR6ZRfwK@q0`8Iam^Xk1SOYB* z@wEtNEAQ7~13?WKTu>CSQ;1fJ8$28fbu4Svv}Usbv-U06Voi|}NvRY^YsO7iTdYv0 z>pGnI%+L(^&g?UczNFoIqWDz7s#V9c_W3yyG}}Lv$1OEu(V@lSP@hN4>VvOKKdQL2 znNuaFz4*~w6w|~y^=v{*r)F)!Sz0cCPCyIb9-yh*AXgqy?Xm09@ia>8xqiIXj9<1?&SLL>+<5hvg=fu_#_Fqv+I`j= zZ-zF63dOiVZF(gfj9m!HQ?BY(-69PmZd&e)zf<_kf@&fvW2c@96cB zaP%1hV;3DXz-6e{XaMt<{_X zjVE@{dUhu@Mq zQ~f)<{mLK68^mU1pZTp9e&qDw>*51F5g5}j2|25HIiZi??0#vjxwT+653+hpt)|7L zx07*naRJLsZ2JwkOEV%VT+e5Q@DrzRE zrDxHOCLRGGsy(5bgb|LQ4tStukM$<4FLD~$Le^X^i1u-#D0PD)5u zvA63?$^b!PyO*}NtLq=?Pw)8!t~@VWGRoP{fvlp2>XHCxe1e(OWrv?y=EF0xuZhrh z+Ry_z6h@Nbj2~$XXJ;cC9OQOM-p+MY3+1ttO#Fr~)(E_7;(;;@^6rA$NPpywaYukP z8vtyV2WChz#$Wv9|NM`?^jmHXj8f}Dlhk=8=i$>Ysb)2-kIw-$s%B}WLa!Emz6{(s zd}ZkK)#t0_M)J#>evc!OeiAbOoFp}qV~e|&4T?AvXIp3<2J!6AE$+snN>9GE(rhnT z*xk~wX7$F2v2WrxfS2*`&y8Y3iS+ZxO1z<`gy5fT3%io+YZ=d8Vtui8QyZ!NR z%jk0wCE|s_^efo>x8Lb|s&l7C9Q)Ubs96o19Q8vp{bL?^$? z*~W0!+hL|oL#M2|b%k>FWM8-z$V|W$oe1QZifwKa>FA5BpVMCZ+ zr)$uWLc>h$qFe6u>*LtmjR3&bikwsnq`(Y?sp1>1zw)L3%S&drM{m86*&R(B;&YCJ zttFy*kvl42K;hzeRg*f1egNcsTU~G}=Q*bjm{}Zd+TzlCevfN+)HwWY#i* zn4Ex7NtR-4YBSDfYs5DGXNnEG{UJGI}q*Bo)72lBSU1dxi9t+&XeV(d` z33d^%#-+c)R0q$7h?d*yezF)_To%ffqkVfMF)9^%(d*Zl@_Sn8_UQZSuY@%Kh{{kX zLZHC7^71NWGm{hMegK8T>0q_U*??X<@-LtRN!7w{6w2R)f0HP7A+|&e{1q6(XinnX zrygdLSYrC_7VK_;K1*!|5P)g%G)GFi)S#EMNEqaB@8&;%5EwBrS#xFvgE00C*&M&{ z$)9`l*0(?U!#{ubyT1>he2N;MIX3%XyvTd-1_)a#5`b>H>&#pt>7GZ zca0NmDab0Qq2|+yBw6iZ1b5*)CnQVLWaL013kkfWmH9gwq0a#D$6xxbfN@_zzKsB| zIXN2EC-rP_iqytt_+U9*G0ux0Jk`s16mx1$xQlPzgjB`(&@QZ~r$Gq{&%d7lns@SP zEJ}8;_q!;%D&dR{=o+pK6=w8KBg>N+Bc_3!s+ef)RFy=b5;&wO*685lw6ohyB#$rq zXox!B`$=8{6jL*L8;tf|Tf=x~8wH?M_f)&QKG+^Ww__`xMjD|5$bf`u56lLzYgTud z8BrmS(I)`RPWp|38g@?8Sgq_PM-uJcNQ9!F$&^^noS+!~&G)X|>8l6U%&_D=fL9j2 zZr}d!$;rcuzt5F}>6dYZ@4|y@+7@+sqUKpm?I$GuEpDngkk^#jZi-kl3NjsMdaUT7 z1Q6zaQXvXU5N+{64HW{cYad6KIs@136b)BQ6S)@rqzm2Dlf_2qE-| zIJP2m$C*un4C_sQ`oQNz{#+x~E%$YQimL5a2VPYZQa*BuiCc~iYXG2T$wpJV5*f-? z{qzaNbB4M0;GC%d3%ZpQgmq?srWAuEOeR#TB)hb2?{>j5M_RyGO}HYdT^@6Sfo;d5{9dCHLBtmVI`8p5<$Kw|24Al zU}&y`^{bD%&&o^s`X_@@t}_tb^5wwd*`mv3G3rdZ#S1A` zm=cg3?VZJ=Hc=2fq1oo_mhhhBs1He9u-KbISu(=ud}HruZBor{OwhWBO#^@iTmTGe z^*j$}qPI_6sz7_~$1Scsuh;kM28moRxMt(xcG@mMpHZbUCh5I%pOIQPtK(99D{4xG zF{#bM0KB~Z(y+eg6`7P+uo!ipZP~+h%y4us3@qSyJvy@A97^T|ozx0=gUtb$b-;+b zYcJ{b10lo&ew$)(Yai|pw!7eVd#Wx`eA){aq#T0z6aQ_K1$-h z0(#=V;UNtlp@Q1*C8N((9IBAdZTZO*>jwd#S?n8KvG|h(b|TR(J(Ec^O&;ebehwo5 zP_s~~yCfnuUeX`p6@0{dervj-hc@SJc@nxUqOKD}FsT2kA`RhsKJqwkI`K{~J2uVj zw1RM(T171rz{<8f@%kcZB0Ga-l@e0kQ7arXGLxA3!%s9gm)+fXIzQdzgWOOL5D!|!h0MNHy z{FzVw_`m(#ul{cU8o2jap9a;rc*`QuE)wN!^RTE`f>m+z;M-WC zvSk$oZ4p2BcYd8s?}VY_QHZ`X)rfaM-!UEjGu2-z0+ETY4|>l!P9=%Kb>}z(I&GQG ziTW@wu+jY~P|JF4v`&4}@~2BkiSRTV4Zyq0F4bRlHL?j|@pguJ67i$5bHm4D!;e);aV{-4NAM*p-OA=*bN z-mck4=_Y}^9WT-d+*x}uJ@&dfC`{zQn|zQnkhG9rY=F>ed54EnF|rtaGA!a8DCbcM zp8=6RI^XxxXi*@EiXoxv~la zpk6=pH<;QF&{CA;uo9GVhD2k<3BZz_Sx9qmNupY1THBC7{5(zWbXMxa*?l);YTu)! zAW(7-$f6owBw8Kw#%&0Q0DSxV{}t@6_12k&2jQdWPipJbiUi1jjb6X)`vb_f$Ow*h z0zh6Ys^phAkl8+qI+i?r?wN4_T11iaZ>@0XYA+_%}#OHkC ztu-paPTHopjl?${VTbUJGaJ@?e~gxNs5&PoKE7bAOQW9mSs@lM<+<-EZ4k_ar(e4~ z=+BPgNl><0=F6KZV9_!hU-=xOWz#&v=W%%lB=wWBk-=p5=OmXsXIag6E?gt6Yl5RZ)V_`Ksj zU7j3yYD4{W*y<#S+pL5@#^MwXgoozy1(hgfwOSrT=aV<%y)_J~1K%XrxTxKw zLm&!}927skW==nj3a~+HS)Z2n{9ymJ&D?4Gc~Rv4r&B2Lo)!B5fhP`7)tXT1_Z+%~%`SK~fu&_A0hQ)1&?47=pT(^zdB%- zG*QE5D;>&gA_T*|Z!`&kl#@`&Af?*1-CZQ7n|$OY)FZfq~wyWd(qmQ|2wqcG$_0MKgwS<&$yt66!7hnpirD zKwF=9D%!XniSw{*6Rgli2v09zt`cUwN|d0(t%qx1VNZt{SQhRtB_skbdR1#u35MQP zVlr1JbBt_E%_;XmxWKl@pX)B(FZJsTG*{C}~)yOxwYt_K+Vvrw} zR1v!pne&Ezxjbr4xIZ6yB#I-8_RBwg3bs7GDd@Q7JbkqQl)p$9LzX^!C#mkpjk$L-@3cI zd{)Y>Z*=;FK)~})Rxhc;nltUW^3P&*X8LXQLiO@vbs)UveZMjRif$r&T>}&tx8c;q zk@rNo;xV{L=qTd0sGR4kx17}B#@9nPx>(fAZWwQCGeM)6^X#VknlX7G;pdp2H2F`S ztR3w>f_s7b?jQa?C0?E?VL(n&gV=UpR?U(3QRoxap#seR{hR-t@6IElWkjE$J!hc- zdcC~Ib}NS*vE~SkmL_kRWZz_MT-5vh@2vm$cmF;}2}QzvdsLb$_72x3#-Rq7MJ>xA zZ`Ap2aqJ2rw`JxZ*8Ig^{_EfSqi?;0o#MskW*^VbcE8%mo6Pwod{^1)`?>elATGJ5 z0}nv6xMR&_?z5COtP~xkYQP-kDOS-<$iCP1bXBo0;}K)d10OuFD@0zwrGz3~+?9|M z16BUZqQB1Qjsp5j6a_R~Kz6Wic(EMdduZROOU07EQ4}8K#x-_W>RA+p$YeSa)fy+2 zpckH4?Y%C@Q%7OEkQx%{2?CU_E+lYd&{`2oHXAHhE2zu-=6oZ*o-H z<^xLrLmvSa{RLo2uSHvi2q3fh$Zj7cjRg#V+B2AoV05Wg_qlr-i=e83TA)8q6#ukz z4+Mc4+eKk03N>j9w(YGi*v(Tv$jJLYEJ!CBERkA%>)n5T`}7A=pc0*HR?9owU(oU% z%w>X5Yd^#NnApw_FN^k+#3Bm<>2<`c%c$UlF4M>kom9P?Q_5jTy(9pdhT6WbSLV(2 zJs#r|ASqAFKP>mHS#?=2twI3$-LrlDdbz8>^XC0(PX58sc4_!gG*tQ7Ga95*eE#aKoEH~`ES~4vshS?` zmz79!AeuZC(`?9q5($n00c3EgYM5RO@o3D@#N0a|>cF^-S%>6tT+NKvQBg0!WC!K^ z3**_(s8%PSimF!;&F4b&&g9_+h4iMf&xRjE`iKSVu{lhfH2nx8$wc=UPkd9&3ELf; z%b1GDIdE{^b7!QE+GC{_Y`5WC{`gzJ5prB99*`F6DiDCvdtcmLJ(&Uepj1|w5PRVY zI5k2I*i1M>22kvKfB3t_4Xg6k=cr(fAiQ@z_tlGMkDfbDzUai@jTqFckWM6Y1lrrL zb8XrODiN3m)=Z-np#iq$N?2M!Sw4qd^y)tMm;3h0!I6*Z{X;mA_&nZIFgiUZV;Eh? zsDf~DuF;869}mhrsn}N@v|>5IL%9+#d33>Ckfjc2BVlN$D}Z1tpd=As_4>ZZs=D*M zgTQEjin>o~J(PePRtT8YQLHggKo)FfLdXtoGa_HWCCdt7pCxmnL_MKq1>0v_>`XTn zGcp9eiCA|H4n$(F7vMi0tA$c7+N-^0w*#h=;{*8}+(Dmu1=~p#A#*Im$RT;1@Ni3| zpjb6;02}#<6^Eg7gKsEQ8$=s+Qi zfhHl*CnlNEc_Pie5 z8zHjr;@u+U5YRMWp;r-Z6Orh&wPNIkN~)5fsS&)hmzNV7FS_9iqO~kd0(Jzo9tGa< zTN=*-9!wp&HW{40b-d{dIfXk zCzyh6VSDIf*sWTBmb+(3kB)Z&prC1P?DiSJZ~xg}x%lW0l3R1O=gS16w^HPw22k6l ze+o2FKad%uxZi*laGJ}4N{9Qkv^W#Cb+G!(&VLqa0oA}<0%(rjw!5bw63KOUELG_W zCF$kjjF+vKr)*6@G^wxKV*+?}hE*BhQB>IY(!AyY1EU(mUyYf0PP_{6fidQzT9 zvx>nqS<9KBUWL>mW}-8oC>t_7Q00~5Ye&@KHJ8xmYeaH>-Gcd>pPA!!J)&h%hO+p{ zG$Ue9KTVZktnS?FP#B?}r4gIiRpP0L{&1;mxtGmNlZZ1WMX_t5NmK&CkzX@LbUB@q z&LGaNRhM8c2`t!B=;I0-3mGI`V7CM$H_#+i6l(CV@TOial3S=YN{f;jUQa+U1*c9S z4}!JBh~$n20hQx)wovvOH?}n1>!F%sc1*g#R_oeXXe`%I%Q5C}KrbySQcgjoT&|=x zX{~pkvk7I@>oySN2@>TKr<9j+Kbq&I^qUmesO8<;pZ}@NlOI%b>G+L_2Wj9(Q(ia; z>JV~KU4lMO2RBsGR5cn~Rq9uu$pkg!1mwy&GUfv@>*R|BTUQaLNR8Uu?K{0-o#;Nx z`dx`Unrr_Tb2bkk2EdC@I0^;YsX&S*FCjG9$`wSUk6Jy6MWI^WV{?_2Kms$G#v4=8 z-w@_uMC*bacCkWGJmvM-(I$$;4PMxSw_&lX#eL7l;L_fNQcNgzx>U{u1?$DZ{5Kws z)ZNAV5h0D&;GtN3lz5VRMQN!a4OZ)zZsqq2y^8FRSP&v#HPi|4ZK01~yJ!+1ip-ra zU3h)}=152+umCUa{G{1D04yzT!(38(3sPOSB6rS+@_Ip7i7o5~U}={j6|EzPl4}UE zFm&zU0b)N%Hj=Kh0j~c136!@eJ4fE zY#q)ynM@|2B9}fuTT}^Zp^+LCd{@O@m|##%<$Y>d*B^Om7InZHiT}p_ufBZxuoB|; zXI<^;^jf%jcZg8et8{`LPMFv3w7geX`E_iz;0mfc$Rw^;LMyi8aplhwA2LU`p+>wa zS};?>%b=VLH40xb5RE1LMo!9X4w>6r8JU#oMN<|oRZw7juExF>a|!A#iZ$~-m^iW0 z66=`fUn5jEOGIhoDDG(V?SJ^cj9K2IrW$by8kxNe&X9?KAcgZ%I?f8zn(YGsq}HU5 zNFOCBxCRFY?H+88?|%L0?$^OR+fC9g>SrnMpxS1A2i!yK5V>CJN6uxNDBcudBO1+2 zH9vIxbARn`{<&ZH*YYBPs-W0RG&U9oXTlx)azo!M8_8#4g0E?}-^ZA=4A@ds*?ML) zh>)6*Fi?3nq=}6TrQVLv?rH%Gd*x%7^>sAhnX0c*xci7nkNJPgh+Hvk%>#Z z<^e#g2m9>(cYiMFJ?FfwJL&!wVwb9K>lpdjV08Nxj8))+G^Y*7QR0r}B%#x-MCf}4 z<`TMv-2w)BDQ2@u``M@xJduQU=T0c@fy(D`_M}9iPD?2?yImWxu$0jzJD1Qff92o& z&#c*!KF&uYnfz>^+R}be>9%3>3M}wis+m0B)TV+c7s3i_jWcE8ASo-_!H9y<0l`TH zvddhGQok}=0CxB2;d}pAl0I>y&?2y~^(a>O>_RR$QG6C3W3KcxOfP&Y{gOwkiOaOp ztPx>!Dvws8Uhje$FeS9Z({ z%ziLaO*R2rX~c}?(K#h((So0EPXe-9 zBpn-Vl3*jLF6a@=9ULj!46P=ode?(mK*3z))e)6on!WFg9IV8_mZV@dU<-H&X?d(R z%Eg3jmo&^Jh`>8E$FbVP26hWHqH6@8zj7HqwYLGid-NSp18RBq5K!Db^|O@a|IIqy zvZJlo4kCB}THXoQua7<-d`h#8BRX*I0ES+=Zv^^`j_nX zXQ9_3R>KC(+Am4vMNv3ep?!1mj^Ofwtt&61pGHDw@E-P40i*lP6Os5R%5KO)kPLyN zS~of|QR6pEjce?qTqj(lt`T^_zB)9|HjpQez7u9ybOW}82fXVB+|@|6Y`e)97k=L? zkNPO-NT0yd<4qeReq29FFRdu~@{3>NuVC0gsYb%3Aste1s>P7Klr$vC->CO3 zGm%4%K8&}zqS@V?LPdVTY6;O>$gWu}ZrLciUvq^TGzF`D@qhl-5O4FVKlPXY=pX-j zg%LCHfmC@?GpEg7;f^`*I_fWoR6FnJML7U1`JGSAxdO%JuoNLlb{!q2QTo_+u2k8R zTCnYczH`7`#el_iO0s9kfx(van$6X~V2AX=Yc5lE21^fwq4RWVgWii{QnNhmx6krk z-OBQJ5{kLD;59aM(k<`r2obg+>PTX_}Y3UO+|)6xT9MUdBII zAolW%;*G?0sus7cSXgr@C+9@Omc7TFnXw*uU&tD#)8iw+Se?duk^OZ`h5FT(3&rW0C&NV{}UOYqMBlO48&(IUFrr2`W4d>+*dXvCrzhhLQx zR2nFqxso_TyzL8ZA{-uuS(!S6# zy#^8bt6bWJrEJ3{5}es2k0|))s#tL;r$7|#b_42l@|phpeSlYYzuIli&D8@j=X8rg ztswU7c4#lDS|Vbzi4Hw%nxlLD<%9hC(|1vRsE@Pp(`G_=vsGUzn@Y2-_f~UV-;MV5 zoz+?)rt?ucP!yF89E9f|$r(;%(#TV2xcj^R{r~apZ~xx;qaP&;n{kNdxHa9L8zgn3 z2ke`#`h4!)Z$5kaq0bn2-{FL=bx9w8v5KdNgs*iZIp`R0vqptfk(A|xl~z00A7uT+ z)zv+uZ_ubS7ZoP;1Sl}RM=HH6xzlWR#SdY#DKmF*(e>6Bh=*0<} z-MnymQwP!MFhY|%6jgk;f<#?k@01@qDIqyyNHYc8Ri0*WmZncXP50j7-Z8gw z8Lz5c9@*DPd+OT4`sxkrK4WzCwfvcHM9mpBfgp~8i5Thr#}8+-DNK(jWS>MlrvXh1 zpvx9-=2Zn@e$fCz(z(*{cv_C`VmPW?_YbJ;^~Jb)y(L5a_UQ;B35bTWV&XI%g;ahH zLOvigIw(cZM6d2KnDmdMd8d+V@Xv@crM;4V<_j$06L?gjpFyClZWaSmaG2 z7NLVr9rqXB#!bcRaca2;3~~Pz6b|VmK7<1LcmBOLnGciz;)qzMT7r#}s-X6SpmPCS z<)icfSM|jqr|h9tQf*QTPY@a&|L>J zM|)f~$^EMCwE@fx$h#^VS7uhIL2lcxEZ9*~smeb@d6A_se-gh(=A4;R zCBxTCiTrvcvDZx)BIqO7E$j~PH2E-+!B19@>0 z(VyvpB%q%U$t;q;+6=Q6n7#$<;`Cj!d+MueRxUtE)2H1&a@${j{sH$_er|;AuTOkF zbCreAapDGn^@_FLp^0DwKojtYnOs2z@XYupGWehn2qMtsLC`c z<%3b#ZF)PAhqEByaJI= z)Whr{GM#%_NPHlHJui>XM1KzMy`3|csE(puLzQS;TA)hFR*#fe2A|`*ETgcRjZ}J4 zU_-QE?t#w#J}8-5uP>vpVW znZt92xO}!pDmN80Y6Dgh)6RivEeT#(uC0;~1J!~^v)P1wzqBu-#3|-_mAxpEmYNW9 zqW-~!lO_gkSo0I+z3T0h7k+GsI5LiJuN{JB zdJ)iYdbKkDox(%sz0tf%uV9)z>^4^E*g~xZ)B^xZ?H%4dq~?_SXV6DZem4;ZU}|r3 z_tX<()5?<-z?6{_LOBT$3e>>v`~WY&n}k4WMu>s(JmSFnwh0_;M_bY$6+{we)JUL% zW`s)j{|4xiLz7Kyaz`^c#RpZ=W}1G!M`NKAl$oJc5S2Viu6abA4$m$j$&N1GhOHCq z3jow4voX%<_Vn}J`Hy6RH7jx6g90oqZt?D^uRB`k1%|4q?tR2oQ+!Ex7!D3){sp()tgdM;}HT4QG3kJ zcrZwEyP2%k0&TnBkZ8ZCjifSjnAGz>Q~B{3X~wzkx$);u>6@oo zqWd4HL!WiC%ztfP6CUog;4E(6{rt;YJl8>=)pIY&8yrS@iO&cl54wR4W-VE{21R)57Sl9OS5I-vjMYV6(lwMHCln!SWcIzpXH0tR40fmiEirwK$s{0S@!uvx#9+@}k*-M#YCL9S znYW&%WV~vgKk>5vG!ty_<<_AGJHH++h;%jXYStr+_ggGVf)bYMeF9k-04%y^Qc;EjhkS` zVy0A%`J_wh0<(pHCW2Bb6Wo*n9WrujoJ+f)w@*BsSzebMo&mZ2{&4|7rjW zyHoA4UYxi;gPK42N58&3|1bz{%3+5z0BV*{%|55)=g>=JbI9k=zGNmroY_wKoy3j- zJ5*2!)7AEMRz&RkQSI7y0;Ondy1G#+|4`-PIU;Mt*Ko25veiZrdS;%4vr$Ptxvob) zPL_0{*q$Wzv>3j{$&T4g@|MOEncHNiOH_tMtR~570=JR9p&U8UWDV=sqaExHYUvfR zoflaj29ugIAz90MF+ck&|2gSniJ7E4x+nL--6N1@b18tM+?T(1BJQ7pob-Hft5)9J z&*wjCDUh+?xuxeT8Jmb=2Q{`>Ac2IG*lsF93sYjGddpq2tY5w-vI2TYH#^GR+YRK!#ySR3+|!U^6kyqQ##T@ z6cXyRV;_gUq6VPu*$-mQ)?fM?G@ypNX8_dt9dHkZpwD_O&$Qo)0jAr{oz!&@$mO)+ zCD%>M`%wW|uK~ro$3E5fg55HyNNg~}b0h`s-EXKp^}9e21zMVmAIANNw73F70}5*C zXPwRbTEum5arNQ1KrKjd_c$Ij)Bm=yF{(3eH3_52ij|&qUnJ!ZjG_)O3Q(#u=1 zTR-j7+;gy`s-DKd1UFTguF69n-9PyUe=jUR-5zo5P>$>I#q4nh%)|3%kFPGL_M^M^ zKR5k?IX}DI6@c~8oxa-~_|`e?Ag|80@+$3v!z8T;hEge*jOByu^XX9WWNUNqd9%4j zjXRMY!RCVR4hK<>QqdxCrcCMM6FC$VY6hW55Gj_*!Iye@+Z#-A!c$?<<&58{09-x&C}FDw ztR%r19e|};-{!2c115!fq-RfyYhpUt1m0q{++7GDDEb3Ab1?K1L|aAd8_AazJ!taJ zRHjL$FQyy_qg3C3axdtT=8Rg#{6V$cJ=N=X*lbHjX&OCfJ}{CDj`p?mm~!MAdnDRO z6~0a;`B)=pAp5}e+8(lHlIXMhnG*m?ov1qKL}}N}>Ls@qu$S&pnXiy&C-G09L&0PqAv`9ynIBk>9bkVC2|m;=F}S!s*$b*jWjN5 z3gBarKnARK1L(XN(T`|4oO@upclG&0x6tdPC#lAMuznDXXGzQaVS6>gsggg-bn@*Q zqyR(B3Cy{KHR)YQG>f8Vqwxr=_tpzxHqN4?H$pz&f)sbpKux4~a1UxgUXmg_${>Ov zRS+$lWv3+WR4>d1!XmGo}Z~IFMP8!+8q+!mL(ARAHlF;Nh5quH)8+7pRB}-7`)OiZw zGJWwIZJF2p#}379Ukg~7t|fViebSA%iO%AgM^>7QU{wDPb$o$J=<`@UNG0T#aSvuu zt9oB(%FbqbL`t3DmDk2No5@pck2r=0Mg2LWSIlngbFeKe5 zyD<- zL$AR*fk*Wk+<~<1o{Hrl8(Q3kxpa_MF5H}ABibv8r)8d?8n2?fxZP5F8)oZ8ODIDd z1Vu$wo*b?qniMrkW(chYK~lB1*ltemd}Vw2p+6-lUoc3YI48(2k4jVI5)pWF|8KhooFRPMJq+gkX<%z{TDWJBcz~Lu)CxO!kb3M zt<$d>wOro$ths!UE+VzM@0xOGaS!G~U}aGrXR!x#q8ZXk!oK*?K#@o-rSV_2*&)$g zo>P|=zQ31rcM~9*%E-#%{=&^7wYty!Ga)`Bln;&9VYh1aHuslMt0)-gHY46bE%f3R zn~nc!CCfn_K_8Jmfw^?*G%yz;pQ4Z5mf>AP8L)cw88(|_nkjK>R9ZSdt-##P$=i1K z#1Bp@D^9hEh%-TH*e)ZxhzYat=QU~W;b_2U0b-}jW4mdYf=^*)TuYa^M0**4Bet%^ zOtZdj7%6zvbQV9EgBnq?M|M|_0pd6(-284xFY@m)0Jy(G=EQMZwdCi*S*U$Ayw=Z<0KJ(63Zs;^ZFW{A*@+dKpP|gQssIFX$ zQtoo?qRw8Rlj@EC^MTPC&PX-X%pbJUD2kG{BOmx&dp~%4#{j)62QXs z!HKFGdy0Wq^H7agw7ZuDhF$c{$e(XCQwj&>06i;^(u)WFa>j~-G zaK~M#$WeUIdnKxhIxzfV!sd(HSouX>`h_fc*d#ybxc#SGtv2wkxzxb&QEV?3tG!0% zq*{3mbcdJO_T(%6?JAZ`IEiB%DgjEgqyrvD%`p975G{b7^f8#>{!i?=tMIBCjaSiK z00gxLK>7@3=YU$$$1oevf}He+7aQU33DiOmYN0kKJ|f(UOb2_2oVhvua`XaGYf+2# zk~`cz@e7%U@Eu#{;aq@kA9Ot0pA+-uOXp3xfWJ`-XcKhh=Py70`6`aaR5bA-CU%RE{HelIqWY=q+|NV8OjVLlI~JT7q5iW+}CHdALo|Ll7jD zLQ9!hp5AxSMtMx~bw`@$KvSI?aqF7H2&Q>ZR7536FTDQg)c2BFvfY5%|M0*3-~Y$| z`agO6-akn^kt|?|7A!P)TdBFB?ijZB#_bC;Bt+c;apuU=|NBGx^Phcwy6C6vaLDu4 z&P!g!pQ^+8v>zR22b{gp53|ihCqnDk&V}j+&hh09{;G1B=|Nx|Q>Rfnaa|kksX4$< z9`TBFts=&1O2BmSDe!E?|2Y+oIRxYvH+yG7Z)0c6fyjpQiR%1F4*26d+RlOmhbcfL zVsy^FDNjKye1oLPI3oc~RvNbV*6qPshx5IUh9Us5B~24)B4xX)$qvVKf#{^}LY3Y2 zp!ycZ{gtFO8*^B|zZsX^>tz}*;zu3gRQ$?pN!RfaeT8>BybRQVS90n(`#wn6)Yp|LI|dX*q7f99yfz@ySm$5eXws#XvXjP@W4K? zl#qBZ_6Y^DO=K}KX{kE#MSCXzN>7T0kIC^dBd<9bVX@#^!0s|@!SHFEC~^ePz!ROc~V^Gk#ftjt;4L zq_8a4pDf}aGfD(um2~v?XP^7ItEV4y=ig6WU^CeqyW8hzlKjSXyBGFNm7j=d_O4e< zCX3IGN`A$~&ItvzhQ07;BPV{RYKZ&8m(1Put7Fw3+wDh*`<&;E4);xuS;Mt`93`Ae z7J_FG_GF`$_t|XOY@9Qs*TV@ZS?=)RVyO^U$pgFO8PHZLOhM~_E$JnjjauHf+Yfz{ z0l;Q;@0*(kzZa?m>yOUXZDcZ-ek?oo}wGeae?2cWjkfCt(nEGcSExqIRVYA57z87m{t)RjW* zR;}*a&4NRR zP_w-K(?9oD@7(|L>h>3-&^Rmr&U{Yd|8;v*`h6*(r)EZ`OE;RY#7|ou-`+R=RnPQ) z|8M^4>i}rdtMo0YIspz(9ADfj{xqTgL%*ZJ;P5`F9L&~et|7UoaDFG)**xPgKZYGg zr+rc*8DHexVU*_$oEzEXB#anw?DS+WufY>_ z7sNy=0xKk@i(cHN#%t}Ri@gM!2|LR*GJ*m%@>}{*#JMIsE>p%W4 zDj!Y<&k#CbM}F&_FJ5a?+j~{EG{}c;NiUtT@!F%$Sp-j$0~ zJt~e{>6>iYhpRJNIsOreE+;LrnvHDhDIkmbZcd}eO<>bqeX#G$ve!JE4-X?e`QBvf zk1jIqf_I~vy+#r^ZX}w;+L@jE&9!<~u@uRfK%_8sgN(U;*sYEn(u#hXBuF$ZTcKe~1i*2A*{;eu;T57zO z1$oaj#daq&Ns+!~ZxQLB>ZRR2jHF!$Uy7lhP260ajh^-XoRagCvyX$7H7hoThzp7| z+YY4c_5roGV?zVAn+M;HX3?_rS03tB5hf!Y1tQ!~2>ZdYjGeM`cCy%D3~jZi}xKT z$1Cm8=SnGsdw|vAuK()6p-d%iob1`<7EpHkz&~piOVt3rn=8OL`4j*!=N^4_H)VY( z#dGTQD$`sNLN|HmaGkqB0#Hy1|5{M8FiHl1(BuPem!Q^n#W>NW(CrDB!8?$)yJw&_ zvygR@L?ru^@TqwRK&{>poh~PcA^d2~+egqx-fYlY7m@}6E>f}e@U)6=UHItS8AHrx8s zq~Z1~v8i%GdtuZe(k+|rb(s8f4u^JfwBP)^{2~F*J18EcG|eRt4JCdJdW zN*=Xv4fTnXCuLStj8PiE06{k}UDDmgxjdrTv(kmp@H|A_#P!JKrfkpdy>;>QvFUd8 z0vIK)}v{f znxnSWB5mD z{naKT95W(HD6s%DwYRvx^rUH*;OR`nPkJ2)s)5~7bHe>oxxv6n_FA+aj#Q&$Qh;)5 z&e(YW32HrTjc9Nem=kL0XN4VU4C)N}Ead-#BpIV~$6$?EwK%i8$L`9hJrhBOVQ&QG z)tXe}d!T%%N==^-JXDYAk zxdgScSkw~S%Nu1T1cO=jY-J?1B1*)s(i4Pj&c4_`{eC{+fyr)!4XqY1J2Yzu7^Q=l ztq?TT&7j2@@16$JR9c>~V@cBjiqKyIfL_COv`|8(ad4bo`r-kirJ>zHue{-; z$`nqNCcWbB!UMia^q}n})Eed)sDWx>w|PF}2CZpN-|e2hCzGFh;a_tHw$vQ4yIL^x z%GZSkYKe)SJ|3CjHze5x|hKz2{SXvcK-G6K} zhE<>C${4lFs8cp886Bv#&UvG)*BfG@rkdnRNX_nIo=EjykyH9Xn$Cw(jo$pci04I> zqeYD`{M>VONKu)nF{rvJ^YqbTZ=3CON}V@wm8a-TLLxu+SaD1-hXROPI(1`2)S|k7 zqf1=+O2-V9HX2;3p%vGC{f&I=VCUt1OMpsKqNstW>hDTlV+Ys-HAk-A9uNEj_%*v6 zlE&?~j$w`SboMW^B>|1SZcd&@GvmRX-v83>@=0kOA%*ElX|Ua1 zU9h#J^wiF!5=pq5m^nwMce~vu6+%5cWw3`KKIGEEPi!TCN`dsyAQLzojhqh)4H;C2 zEY(yvqRhmbnq#5Y1rvE9fSFB{5Y2#NfCzRM^*yT!1LR{3lytRIjPs<1T{7aQM801ek@6gB4CFgt z1{(yB{FDDxlnYP+9HC~dnkDxekHrMjs>C%h*y1q*eD{lAzk2duUaQAgE{rG7p$Ew) zK7ZO-Gol~>&HAqGFZXpYOg!}D1x~p*z-?^I=8=~+?x;QW{64N1mi9{dSNwQ6HBVL* zqA?Zsg9BZ!YrDMv1L;f$!!ptP$k9S$j)K0G8A$GL9o|NU;p#uxz(TA=gcAelyb6fQ335IxA*@*OS(%1q?0kpS=Bz z-T4m^ZJZA5=*%j z$V!?3U|}{`9K&ou+6!}WKF|HrcPKMk$shC*w)1*TN|a&5`Oxbus|L0cwsnNLl+3yy z^=><7Z=+UkvDrW^q%%pic6X7H&=HC^M(|?SniJ~{Br8Z%bWEb$;>Uz-B3H7IT8>0! zTZ!H;5rBTV=<|!Fb#oomqsa}pcwFqk{o?dpW@aBEH__aCXrtH zY9x=YQ{dH(W4(7`mSbiV$JT&Y5z3|DXOB+UYx5%((!yX*ojjmO6R@e zC(vX-;F9v)#MyG-zpS#{Wq7i}&>E<$#xNd0y4F)p#oB5o5IXRz`JV-MCcTiZ>IhO>)vUaa zbHJt{M=W7UTfI0*+INaY8k$!kn%r|e6tcT~T!3bjZdRwZ-{c3~h-pp%(98h-;$Qh! zzW>MHaW6l+_nGb0`L(A=x7&Wo3Y<6T68s58pKI}OVmlkg3X-;Hsu;kIF&Z@)oW~n+ z{z@mXV}pn!MLkde*7_yrjp-x)XuUF{E(lo!pk&ZW&xXy8V>2~Rg1^ERQ3>oxMt|$EHz`35t+(!gMC& z&~{L#MMRb<9}v4^v(3d`9e%M8+GYlb6JWdD&i1?dwA}k3is>Q_)M7sLEtsdpL7{ck zcIT=+;ertJ=r#x5jKj(YmEN%Bn=|&p1^icOJ?h(oP9tR zv~HUWosPJQS_%|SRBAv}aSb|&26t5wO-Fmq;_JiXnhaexm0Vk zTUorg^EI>iXmRIjX7dQJ&`TNo)JlOI|EZTf#rCwkD-{&Ce+d|^0H8U7?L|mh`yLkn zdtUu&=^iqZu+-@M(JXGraOuW=u7N(oQRCnIyf#0) z51GP&;(F6)7fl-Y)IMZ_21WJ5&ls?#oF}3(6`e@mP$N=RvA6fy!iCqsM^HI(aQzw8 zc-blQu3BTOe5R@&@~5wJboe3l+(IQhW6sb>YJ+nYbM4GY6$snzy9Ua|-3I>k6%mza z4WEkoC8I>jw~LZEy|AI?6t*Yb3Nocy-?_H02vHt1L>|hb#6t;r$mjG@Sqx@0BgF9Yb^&U zj}1-ReN&0yk>>-cp2q%h&eJezJ(xu!h2Lo$oJ#G;BG7F6%cM4+ewvPBB@@{9c)8qL z7|=Sxkzs)lM#*_{F%-}PAxD#1!fphxLm%0rO#Y)Rz(g&hcZQp!76f9urKrb34lpJ6 zdQxg}o4NN^qKL4d65nZRR<6|49)Hg69z(Cac!<-SF~aYrTme~>NXhGmuxjtIz49Pk zpUAaw>~U#Mh3?JCULXw6ZIqlw5-tR?SEZUn?Qv73A2ex{fwJ9G z-~MNI7asyl&289?N0#cH?&*s2RCfTCKx)74ECjsm7zjoHf=&2@&O;lRLjoO`iEI ze96{3wStfCd}Z_aPb47dmBb2yD0iy`s09ZFq!5q|^s(@M+!u{`18f2HT9^>hfiKwG zRx|Q9*bn8*LF&2U+A+97oo7yMv%Js!)9-)#H+@Y8c{fBYNMYnS!ILMzVz0-{V`LHi z;eA6l`OAT&0|2&WcTqVrPz93CzvWuu7`ETNlA6wM&efm10oj{dW0D7&EZcr?D90h^xl?KL@V3VuY1 zfk}GsBhqUjQ-o7W5DazdoZ+g>7Qp}T_a3YEl=}^mY$uuQ^Gi*fX}^#H z!2Ry(*~9#7Odx97rTb;GSRV3}*`M@4qyXr4{c_^0((Nm}Lp_g?*PEYOem+NeCWY8k zDQH*v-$_+6$+1O>m-h{{ra-U~#34veYH9JNmYO2~;shmq$22l3&wGRPa-`aiT!=4k z!70P;w2!h%Ga!$HCOkji>fjkMpGQMigh*8Rb3*8o-e-Y^-}&ml;G~~P9}AYDmH_Pb zX>t-tzL#w>%>qn}jALHOW)ud2jYL55XVUs3rsDgd^fC>hjUHg{yK{Dm0jKSVM`e85*cnByUCbF@X)W zw`0X6UaIn4%glBQYK5ol%=%nr)tm@D(+L?VMWg}4Y}i~e??4UPjev|IP|z~>fFiZ9 zyT?iWz(+zN!0Odo0JCwxU(=m`57c<2weIDT^4 zm5*}nh1;0JvjMfxXW}ug*1UTHXpg5+KGd9)Asy7l$DjZ65%Z;nyNfuyswKUI-MV?m z+s8l$^t3qjFs_1m=F8Q+?ViQK>@UI0{iS#(s`kgf`@f1N41x}i23zPA%oWty7lAmk z)b+}f=)F%;a|{A_2R5|0B~QUAhlo^8lR)$Amt-%JAcB2&e$n}fD!0JYp87h9e)QgN zK%a;XyV;UnlG3m{c`mk-4g;kDOU+4~B<3oDnZY5$KLT1DJNEY{24kX|^TaC{cIo!i zbkAmg7wx;Y+=npTL`AoIW=_B}u4j(u#K5PuX8KWMk=*RLj_b0gJUN~(ZLU4PiN|wY z@Rz>y&G+8>_Kkk&8_U6uHRg!FL7ywwPDP~2m@vT)tsN%E@ub*eJ8g7B6%2X+*3%ur8i|VBU9yL79iT?vq@BofcIq?nU%0cYsy$0w*lauEL zeR?sY`FFalm@9LVN}}8FM+H;A7w>5km=xgwP@Iaf|t7g|!2I?%ey#qX$2FwWIV+0_+Ep06wW(C(RBc zMM)y$CQB)9i^b79yUQO{0#R)<4N^Qwuyxj3+$Fi6jr=%$Or+Ud_}+7qtvDpw3#!cp zI!767Ce$z|tEbVvU`zkXH@zb0kPj)U5U5hUf%E@UWg{5v(SyiFh^VpX#>QQP)Pl`b zl2L>pZ%bkbDS?g?>o$*r>IL^3-_xDycqE>L>4k9usZh|Lb(VCy;iGq_4B-X_Tit$i zIGP|l-Jl&YChbEegh7fv5L|z_s*;6LwgAJNk-u{O@ktfj5gVz|ixabboIR03CN^FB zpDxVQk`@%G2Jx}(P2>2aH=A~;s5Rg2qp_lVSzT|IzovwEw)`jNl9J{bMQ zKTzwHd9?^8IK#9QsbH_DBQd%0pWw5&pnDsihyiOaY^|VIFdP3ZJ;0=o*=`cqiYC{( zb&^VLEF>@o{bKMAXn;gNhdC#irX*jRI3N0lOS!7J(+RPCasf7faqrcxX@qDGObFG` zIWW5zj(Sse<1St;?%LhMDE}>@rYTHRq6+B~m~*HlsDZi4qLvGNqRry-RYb3BP!I-5 z#)LW3LE>(G{~K2y{Q*eFBFFM=-hSk3RL&aoqP+JxhfGHS)+?AEWWW&p4X36JZ%rv` z6&e7!)_mImM2lnIoqIJ8>o0?I2TL!bEa6B)FJaCBKrKa}*=#`z@AL-mr+OJXu>um^ z9HT!6NFTprE`I2HDV%AoiGdNp9hbdkcO(5ku+-k>?i|FVkGQ|^A;^Lh=@ahHc7QOEfoD#iclcIKDx z!!LMB@A-N1Kyzsv8f>Me+AyteLjfhKXjJ)qQxu7Xb zV+yv~cZFg728pQYrfe=CQ{xcP~HMFCU?)I#|T0#T|C1RwM>f($3O=d*45yJ!zUV zloP4#*dPPv_)&SdP>VA*U5P4Qycd2kbM?ljF6}dFE4mKa5|#phX;8q4B2C$-;K9 zo2aqQTi+C-0G+pgnfCN6=JHQL3sNoVBj;9U`)6KP!Fq7YafcbO)Ep&h4?)|(01cd( zVO+V5IL?7pd%||(+8U(z7co{3WQ$K}FK&Uh^HIV^UpU?Z)}KvmvWim#nFRrN=nZiY z((w=!7yKWaU)G6pVao2y&Xbu$Ipt>DMU$)SL?L%+a^@ zCw}H%fB61C5@`hy={8AdN&sl*&`W_(tYmI9CkR#qdL@u3kgMKlA8b=c1jG^%5mXb0 z7plK{l&R1-q&tS$UO>_;6u67*LYbD9chH>!?p;=&e1W$gMF|l$;C^}U>&^O}**pZC z);WO)N~7P&1yCZo!WPX+o|oH7;Qef!Bn9t4&ZxYDYQgO72c57od7n%x!)33eje~pG zEmQ;5@b(e(+P~8HZUCb87MNrj2iThBUZ_0*EX-wGzizpyMxtV%z8MY;OgmQMiR`s|mt=Z~M`s^|^Cx({xq>rSdSV07)rPJPZ$ zb?4gUoaevJV&Co{-Jd2w*S=ln=Vv<^-*|+#;*fAer9=C8Zd3h)%q2ZyOp2up{P9Ys zn!vvp_NyYvECV>wjFxB347MoBK_B0Wn9vYMU0`aURYju-$rWfmH%~9)*ZJg06*)Mu z)du_OMQVklzy@lWyVf|b>OO%Rz-Cu6U8KoFZ0TW%m$#Z+0+dTMBA4MCtj-r6%-P!L zo=2ZN1t&F6{e1s8z1cV?(?Tkli;l)QEeNHrA(b0zqZAX=h~+whw%u7ywQ{gGR}o^4 zx;I)>K|_-SIhVOrJj|1tUHi;#q*>qo#lQAz?|tVVyh=wQ>@ncoLkcM(jC%CEQ1>uM zf2j&51tO>xjD$u9z^-n6q2GGr)_@&Ts<9Bv2~FaKo|YJ+NQ++IVG(Oqe&(o%P&=F= zLqL##bb+azfH+Y+dLqrB>n3+hK6|6v=X%IxF%Fe5Vx{aFbt;O+ zo;=DlFp4vCs%51Cq58rJ#CcBrQO0mHM$&L;p<>)1*e5Y6CF-i|)1qbB!hepJ!U$zK zQh5|rUL?VR<_n;QYJ`sr>nP8FB{Tr+_JLa7XWNllg>NLa@Zr{wYbHwzJkq1)@kc0X zj+I(TT|Y36>!fR8!T^j%2aQzW(3Fx)m6!1b)hzNJ-5EOk@crNM zbl^333tBF3ec5au43|K&M!yw4vRZ%{w314O?IV#wyi(TS9-mUq#g%kPz!ZBYx@gxAk~d;8Be>vzo64?zmHlj-LGXvg2zOG!4|Dvr*C z3ib-rz;3)Brf1=(70ecP za4y>ObxnJ0g~U-S?T)de=LaGs!YgKKB4a_)!B9|c{SkmvT{u5y9hAsL zIk+S(iV@yTvrk6{+1y_PNSeUzQ88IkmFLAJ-yuwDS#VwNb(GUn+8*n*{FL@ND}h-p z@37qo4DCoXl6(2ihCq8sH!R_#WMd-j4m2&^%3g?8)e$R<&c-D<8l^|*^9zBo=5Gx| zA8+aRdbiK}b_dLJ#du?`5EDz)9JAe37!Sp6bQ+$(sc3eZHlqye*B72)7qBYMdk&nq zr-`z7W}EuO0etIoKfk^B&`SVg$ix(j`6lDi4mr7~8^;jcmIIRrXJZQCe=$= z?=-na=36V*PaiU3D1kLaGP@J3Z%8j-O(b@K`psj{(X$b15tFg;gUEHLU06%PHTN5@ zi1MB56t7F*K(Em{>NXOH(YLD63 zh>0kwPSki4|6x)U%9qOF!s5YpFO0yY`W6x`uK@W`RA?DL{YY?js9ZY~hzCI*C0ZN< z1>qFlPiPQPlR-tj3sD$r6GOA4R3G!qARg^?Y+)QcNBWq}1(9a%0HS8a{S`>VUcqkl z>Mias{hBj=arrg^woof+BM4=F(%>C?X^5z59Yp{X(GuuI3)prEZ8lNlkjavCoH*c^ znVK`$E%#4BZA3-Q1)!i7U?moFY4Y#dRUIS2Bc#z=FId1)^7K>xNqv;Cn|Y|&qE-n9 z0@K*BkUlcGuy|W;hq@n+CIT#tz^7H z3~z=@RYaV3%UfSF+lQkHTr4?=XqD56rUq=5cfa00d%sdhwlbyl5qLxG9f8!1{b7Ot z03ZNKL_t*b3Zwu7wE%Cu1*ig;j@|(Xb|>?J623f}```Gb%a8t4R5DZ}I|c8)_6z^+ z!|(l;KOp!ab)@_L3aWu#(&7~TrMHtI5QBGcE)gKR`Os`0`iezZ;I7ZIq2>tYDw2>$ zQL~2Kd6^4J=;ZE68If&qG8bV*u#JK?g2;zDlOJj!U-z4*KajOAjAj*es44iDGPS2L zTR(>lsDZtt_AcxeYMH3VFi5w@Z`Qh3WQF1^oehW{IEnTnu zkZpHJSMqQiZXA6EaD(Xc3qp!ZpZV!IP9M4!<^z0GVTR6mV=?*Q`oW+m3s8(y-Vb+A zd>f$8MR8=6r^PxclX4wr=NTj*_Bq)Y2%u7#YHvX15_@`l9^jH)VND;y7UcPc6hAeu zR6v;?Vo^+!)FiU`;^a6cJfkMiHMH%)t@8{f>B0ip>+OJ2X#rrm;U zcHVhLgH4p_a7+!Nl81O=LKPtr%IgZ0y?9)Si6f`$4Znm~CZ~!w?_m#`^b3{j_=K^5 zb;K)Q2nhbk++;~D+3ZMKR;iL1POzboOJ0tvO{%cN#$=u{@?DCs1pcye3LCvZKmPUG zXFo_J1;Q11CYKbYJgnm)M(m*;TLL7XkU$b8^cfk~n`nmAFWuZEzbT=QnK}k)#O^Gf z*Zh`84O9c$k@!OnT0=Zuu#SoGFtqc+IOK81mbU)Q%-$wN3hu|DYd^&;)7%essewH`3Do8*eS6$Nj9?e zoBy8FD1}QngQRoEV*>cz*M8ZU&TJkHc?nYVvd!@qZ4~nvH)g3sExG|U;BCUK=A^#v zFN_(g0eV63xd%Xt+pt?fuGxZ!s9`UAqF3*5_ZZxZA)#tS7lkxYB9sA>pqz*r?vi4G z^a{3*d5+LL4QL_K2c!UyV0H?msX6iASF(`3`Z(-6We!w}|mC|#Q8;T`h5-nz1FZ-oYYamP~;Cp-g zIlFu8$uT|D5_X%}?S>9NQHE4Wbh4fs5wcb+ZhhHoAH{NASa%KrmM1I6K(qY_&~jl8 ziw|WO0D1}T{Nr=}nT@&nQ0kG+#4i=R@^b@rOUt)-_W-mI-D(k*G0;b_iKa^bjO3P0 zY+w>nzrOtNkD)a5N^VC?$o0eT{Z`TtkgCmCwSJrXXJGd3h=gYC4Ekt!7v0lD2}dW@ zN8?Yg#*4#{RA1Z~BvbSAPsjQGh0AtS;?;fbFZ>fRg%IiyC6HFsPk1(3zG5a|W3`Jbk zuUM#D-Vqg)st%e@p@&{8Z6G1EU%>jN#Y2?_qgkEWepAAfse-Cg#VqmAQ?T9h1nI_d z?xtPaVMSp&54%~Uc$iKtSErS#z?+|!2?S6jHCN9uw`qpUQ;{!L;SQ6kgcMarhsV|~ zN$RiG;9ca9mIsg)5(K|;L#YhPx4SWSbnKTdfBR?Mlz;B z4Z6#@L?}K;rjuX5WTqM~V}1IWes@v1h9pywj9HEPtm#@Ya{$NNMA(i;1qLciSMtRJ zL8Eq13)l`|sFhdeXnht-iQXbb7{VRZA{WM%`fR4>B-inM{-uBE-}&x8{Vh+Assero zJn>oRGkqe0@XNu|4{D#M*LgJN51S#i@C@i;`*{Egb!o#wK}J9D=3>kFptcnLtm7w> z_v2C?Wp>A1Hl&vk929xzfEGCvrtw84>yv8sNVEd8=M(7)dgcGDm(A+7rw&cbF%{Rc z<1tlrqGwLLLuX*ob$}0?u~gA(DsHu<+aXojeGH&Uh13G17DCgbXa=~x`)5Q;bjlEK zAkpiGJ-bYf2xEGYjAVW1V8a?!}ps|99dy@ueucy=kK>tjwKF9r2x8dIX%3ry9^oJsI z!L~Vl*KQyARlXHA38hLn46s_?=l&dQg-7pTR%!sK^*!#+p&IbUgLM{a#bVgVUOky% zd+9B(HqLgb+^}D9OR)7FHUKT;h=HU{C+0=U7t&OsH^_ih?U~&@j&md9*INK+jsod8 z+7E_Gd@yDYha(>bX>kkYYI*ysrn_=u2qLKvIEuRabAmpr#cej*M6$*WO9M8vJVCz! zDd-l~fb^#sfS#ZS&PM}jMsl_{GthYqj^b<^Pq?gPz88Ie%WCX#>`dEj9Hu>E%Y zv3hYV*~5^~#|NRbr3U2ru;7gWG&%Zw!-q!NFW55t*E0HCHOk8$&BrFhL7zlv(HlVq zsp8Tz(d0{YMOrFBv;$pZmGg@S6kw{07?O|<#HHHrK_b?se0EYl&&1AL)Q~z;V z^JoA-v%YQntBNRxX;yDpC)2inA<$$2b=<3qbnfT(SLZ6KZ9LZe*z)n8{g2g zM1n^f6U{Tzrco0K&xjRCg_Q@5DQ*?#QVc#^lRkpoMfd|Y>9(;kCdAfBj?lA!N4a0T z>$zrQyNlV&maA)AMQ^SbFyCrCn3E{C;^r*iUhoH~JjB7$Fs`Prc`&KCG{s*<3Ih$Y{*og5#V-i-LFbCo!s#_0!(E&p~ z4s-%|Q9{G#gm#9~8J|jp8LkA1RBpm|M^Wl=cjdw2U_96hvaA-cyV&hV+RHLH+1WMh z21-fqzXRQ@$E2d1f+D5Z_9RM2Mpl#U9RyFL!B#Kt+5U+%oH^Nj?m*OC{urtOX)sA@ z#7xZz>{b#gX+*Q&o^+r&EAOVL#oZkY+rj-oU|j7@*fgp3|7Y(_V{O~A^Pq2xxz^gv z>2CYpyRRC*suJb4s;oG+!NCS8juSA65xt^>#**bofruac0uc!mej(8aITEpg0>((7 zC=m!Nu>>TFe*rpVylI?Oeey?74yVLBw*IIK9e#|k~oO5+&pL5TB@4i>}sPuH} zG;6Ol*KEf4#y7qXQh(o1{5$V{{U0j9oEPF6NaNbmgfC*F1d6mU2UH$IJ5)r6m;684 z1f1>c&^hrQPc`3q=MjS!kS6;k6}?c_EbmEsk?^C#)j07U&{XL#0S7zXKMFTyl8giS z@0gBG9>Ujr1NXYmuqU7V(cRN;#`>R@by0WB?fp-LLwnNyQllPFpM(xNy}BDNq1YwVPzE|$yz z?0LAuV~sJo(Iy5JWL9uBG^g-3=?Eo!2863y(w@eB&ugu?PN~@jFgmL7lqa8dyC+nh z!0tj9S9l9{3o>^5Fl=8oZb2%ZQ&Vvi{5%~%VmE+L(G?7W^CtjX^YTPI*|b=|wI6i= zny&SuYh07A8>rDf=u+N1%VV5GOj{3Ms?9oeTFb0{1>F!lam}DsY%`*=e~sAdO6W6v zL~RK#zvp|eeDdP_>7_XNULW?ID+B$UCjaQVqrE3NjS)F9#!xn6i12K#7;Tp@Ms6L| zjGnlxhM{4`N;81uWB{7W*hXseO$?VMX|i{t=+q`NYADyES_7_5?k$PxyazOOC^Ltr zNEy&HCM?J!!06;;m{C)a{fcU|#|bj^9hoj;jQp)@w=;9kwPyqTPWHaHsalJ4gU^c- zvD*QeZtQha-iyEm6)V_X5{Pr+NoYc3h7gGc1D1{vLzFY)C~3t_CRkQwnJ5wm2}|Ot zTpWpOZF3f`SzKoF`SR;|pTd`5pp@;0A8n|bm~Y7Ca%NEv!{aGwsnJG$8e?L5x#vzK zu~f{(7k>N_jvnz|b;qeJV?-H3zcvJ9s5pQ$L7&t_ZsSOMY>*J)vUd1u=PXt2(^j zY#s)jg7U^GnuExxlVg%Rt)N`&HHsmH4Zr)fi4tjlm)=KIN^S&zzKTo4rDlWRsyk2j z$BVCYpEFM?W9cyGQ)LF)CYVKWaNB8b)@3o0isaz?NfmKPE-4namQ- z5)qlTxQ5FEalX1{i3={gNH+l@_KeIykU!Q+4|&8*ML!%BhdNyLBHT6y5e9TLXDXH| z?CX^ce3eL?3U}xZY=}#6&P$na=fDITVl-L3l<6i{9Dlm$Zc_qKt`4srvdBacxX+m8Vll^< z?lI9aR>jBa>%Dir^%5a?o_o==U%r@zJ}=#cMwhd@Vu4`{2N#9cIXs z+dat=>}V1#`9me0j6?wb%U`{S-cwy?nOVk~ia3Y_O+d-$6&^^^|0WM59Zq3#b=sM2 zr(0_bGUA$McPg&_^yh!LTps7d(kl@aU*PQ#0C0GC_hSQ6i>t4`)?U=7a_%PP&#cEu z|9s>;{Z0WFxr4Mbc=z;LfE)Q_^|OYgHbk*VZ@UgxOf{P!hTH;G_iHdM2ykvq?~D`x)f3zvz@f{ ztf)w@p(nM3${#_j*e#g_sBq0@_w>y~Qd9D9NTwTQFzA@+cHnHt!+$ycvdEZ3ObV&n zS;B$jGH4hp575}f_t~Z8vS@QYvCV}@6yHIz-1@JB%QYa2qx+Yw_hFwd^0&j&Y42zp zGEzI?a@~Cdfxqxi{`5o6(1(jBNwO5j8N$=)zJ zX`W;r$Uffaur|-q^)E;)I8=J14hX4B%;H)Fa3j4Gsz>1gFH=RW0IB`oibtQh5?h0e zz)Aa*0M@FKg|yaZi5WS5LJM0oit?D z5J-EWTY&~(3Ra3Y?sMY*P+V)b@A%N1yov}&nx|CW0hO6$x`&umW~6|tA(qUEGFa7& zv5UtDe8lCevHT#C*!^{<0ObmSCIH9z>h@^(VCmV5w+D@bl89&{(VTHf9O&|`sUD;- zDbYK%U~R(h*hrL-bm;}=ug)AmB#K(tZ6x@Mz_r1lH?$JE9Y9pw0+lG%T~j=~YPneQ z4t|}5tmHnTz8=gaOa*%pJ5Xb}*Fh|;UIjd8n?&`hnquG@rQY*W7r5I(S_QtnU7_!4 z;vgOp%?VpjCC#adW9S82NCULqgq+Gl*}b1I;=3dckKX-ez1xOIYXje(wbTs)@sn@< zeJ^7o^;3u_^SToNiAMK20S;gLk~B|&&H^2PP;sOq*3qR!w5IMu1<%M%3^S=Zk@`uj zzlweM`+pDS*uPD;ecvo^oAqlEV)mn?jBn$1k03iL4nv{H_ctug-u{}_nB_aP8Sql2 z<00NkfiS-hR53j1X#z*iewoZNl#%7KU}DBBc-}`CNei2uz4L1$6qf_mi-VKh`IEtC zjkeGCDv-XfIZLX^lwzB)4>#DCtILVi!<8TBxlK`dQJ0V2*zw8zr%&E}t{?HjKKl#y zab5G2y*d&^eW`(L2J%QJVAnhtW-0MfZO3D6JjF>FTqe|vp4Oqw6xPO5Um4prF%T~r z1>Ig?MoMxd?y1{CfFy z-N_Sy+A&a-jIZ%XY&%Fr7$n)m&=)iiJGWzWi`N{$Z32nRky(nXb+@5HG2*lhC}KL$ zG|$yQ5%YO*v1%pV2f1SPO1pV?EYg-MFSH<7+5eH!2F<{j7ux3R>Kj_}G>w~IH4*C_ zUPJJgr%!50j=5~xH;ZGtdlKGYn}L{YkZMr)*EDm8bi8I6Amjc;ut8db8OavMBonDf z$`3TQ`OEbAwSO9W-7n8(9e*!Id7v_?8Iqo8LSEA#`_Wi}qqN6*T1RfrbB8B9NMgXl z)q$%wN&G25k%X)>?P6xaZ(~m`*FF-`Q z9KG`J8-G8#^=biw^$ayD*z?>(QK&eP_B5*;i;LW3y}rqO!YNHog9f)pU{%?91z+7) zvqXv}d(xRJ3do>Xq1|f5Menl(h{^+LowEU%-6YUrm<8-c!ES%s%9yc18@*6X9zVgj zELJD&`Fk;+q5=SMC91FJzB4tTXG(~}-%M!~*ZZt}lI>2ENA`n3v9FA&SEV$|qFg(T z;4wj~*8H9}3PAGY}pCnCe)xVn3l{5Cu0dpzZJ=Pe>z-;my+|T5-8^ z?C22n3_xbN(y@bS)Btb{P>8Z_J;rp{W?dcJhcS_!(QFz<`*rV59UpYr`L)l9GjGCk z=}VN)|KQKO|Lv~~-gpNJyP-w_0LW7F)cL&Oy6*wz z1bx=bWPA4R$gm6zsbUu-U)KN5W9!s6l1tM2j0xG3L?Ynj(RQ^>o~~8Td#+#RV~6<5 z>~hGJt|Kc2|b-^;o=>mx=Nv&@LCQ~J%3ds(iN>NEJaMaNT z^~%2A)&b<&i$Q=bd$8asgG$HGHJUa7PA_Kn&Q|764SI$JGBXE8b%cBR$THs0Lw#6W zeC8jum<6Wny7I?&+H`mc30Xdr4CAX$G7jxomI;?I49rV<>_r;W{H0N@@vLRhwKCIA z#C+tPxCvGe<0Fta&0~i66XH*TxcVJ2UX(Swc z$j&}5ligh;HYQ3U)#!h}^l$(4{jUH)yF))SYxK0+hnpwg{PYk0t53fD<&ZXV=uk1i zmoNIzP<0Fe?1gGHca_oT+zt?{u!FznVyP105MJJvHaGzaVv8X-s3&)xdp0WPP!c?I z1tPd@94il@YWXlUU2&=N+{4zq&^m-UP(ax?6DXm(_3G79pGJt^mjvPwW&nX#bLK@r zw9|Lwd#X(M+%D=cvU>uv$SefCP>DZ)%rY>kSqmYm{LWF4rW*=zFb7KQm)5KwNOK-M za;-EMppuuzTKM+>x?e%w!znF+sNZrMSmZ6t3U23`gvIY&M#Y7uId*S>|BB((~FUK6?`hEkEbf_a#Vy z=Q1BIM?J=%QsUu68f2TaU(4;KPuF=ghwiFz08}Z`cK0ZVvK2w{GC}3UndP0azFLVmHYZz=%t`Wn~gHnVhTX2}oc4&Hs7e)7TH$6XlluX0>YuW0+?b z9Z#q0%9oVSqI1k`A9Hn_Q%Im8wS-n{k?2V>G=%J#3w6F6QKhlR{dY-7Dr1{N+QdDP z4-=Cq$rNLHlph?3$)@~}B0XOtFxTDWXZk9h>E1|jPwWwb4!>R$0|rwJUMoF|^U92f zT$<=g=on3Oct=XG0OaJA?@yBOP)t>N8Yw+W*Jf8(LL@$e#5HOkFP6)dzZw;*5ZQ9V zH0-RIg3u%YUM9VUqeuMy#L3Zc`lZ&U)>8A3{!r7Zmyr(?tYFq{( zU$9+ckl4ffZ-5KfU7`av_6Sijg%VW_QL)jeq0}9$Kx`{X91DjJD81N#lDuG;Wbqg< zJ&Li)b@w94Tf%dT>7Mh!h;S|PQhnaRKvPBQ%POGaCgwBGsxwO;@Eu992k(W9tDj~Q z$ZnI!!GkRJzxZ$e@9z3XcRw5S2Sx)ejD@(NvLZbl-k?4YFMlESLJbCa>BoW6eO076e~ZXKS|a0`)2>^Ah)E}^B~S52 zL8?VS#1+vZ$TTx}p&+uCFX;S2g#dBwx!5z15gSAU6qaQm91~o{1*>#U4$P9SoKpsA z2$Ruw1i68v3}6Au`*>uw34o?y8P1od$sy@*-YFj_z}!KqI8Is>7%8LsqQ6uZ-$s6J zN5U{b`HkQFpMs1@lE}CwDkgchG8w6#!fkaB?1q-N!k7fXXb%S~I4gjK-6{zewybmx}$8Z932o$s+EB zKJFK0rSs4WWcwRXnQ4>l>RygR7qU?#9bRn2f+~CQwmNgV8gNt|0oH9F>q794zza}e z)}IWLWqKSRz4pbZ+heyNhTQ=iTulAMZxtL+R**pK3kWb>)%bp|45)XMl34|Z++i3b z9U>{VE?39R=IJxs{60~_r2-uwt|WFn6yN>DKl+v5`qljgfv?r#M-$2+G?t<5iNO|P zFVisbO)jyqOQt_%6r@Y_Qsio>+CZ;^xDeM?tCM>382%0vcr!mv&`0S;@8$pz0 z3>l;ek^1?$A!B`-(>Kt;9QyAb%pqJHxb}QdugV87gIuqKAkWPC8M664M^Z|Bc2{u} z!1RGWb2FGmc!#HX-a+g;>{ND8v|Ub`@N*g5Lqf4vo<)a55MT#9<=%tH7)ME_Ww-)m zPn?Jl(Rc8+{5*GjszmA!_%lC_FOg=Sv?t|1Y{M>0AG7%*AQO$*XN_M&Gms`E&Srm^O?;4XGUh%N=xgj+G_F9^KclH9 zYqkeEyywkGF6m?T9{*8d`=wCNmsize>GZy4J2-WRLRj zM*04fsCM|Z;8aRZqk0pzQwbZX0Rbo=Lc9>!g)!hr%jm%F>`#i0iExH zcB|9Fe^dVr&;ne*o`t%#1utNC;1ZsC@72cJr=T*-z#WPu>=q&*38hegiwJ*r@*qRd zPu0fHgYbw`y0qP>P_-u-+a}148wKUfDoVuo!4ZksR!0VpoRv;^Feu4%%hRl2cT}v! zUIbvh?6jVL`e%RfSN@xykAoT1NX+Vv-MnK~_w448md&^T1a?Q|p|o57EWEhoc8|>J zj@>?`7d{?+c1_-%I_l^m@9oaT1kG&_8ur?Yu9+2FZWBaYiWZS%54>_7R=!?XDYK2? zdp;;%X8XPmBo{@L@;wxLXh~mw!(pgjVzt+}+n3PBGY-PuZ4j5o`aEHCd}&M!RXvMe zZU6))0tMX}--V<=jNbYnY46irjAi@SC=Gx=T-LKJmw^|U5Ll!M9C`nJ6@!#A{kTpc zD|N)0`k>LXNhVl+z2D)OZ%=kxOD^_(rFDI29yJAs(BODQ;MX>&q%yb&0S9887u+CTif;=|4H|uT{p5p{vIHa>ZA6BNJ6rF}A-IbH7z3P5?KC z$Bi7LW^rPhjZ&V8A+}iEZa0q;Sb6N2i2D9C(Be#Gpa+`%5v3hF-xYm!6SzEG29nZP zfHbW^oaw6X|7JNWVkPZUkKVF5a&{BD*)(Nv1Qy?768-@Yd7EWviAwRHwl)-c1HdMLrF157EQK-DBMUZafQ&QMMz1(t9-Jsq-2WKikxN+bTA zvaeh=$)c0QY;4HL>D~p6HS={@TQ7umW3maoorGaluopTe9Nbm}fTiM=w2#B+akTyu zB%0|(A{XwI=qfw2dSEwicWZ~MJFb2&Og5LVS&oSwSFjs!6$s`MD|}?AJeK;g7jOut zcB0T7drDHdtuo{nouf>mjpN#6J2ipIKlpJui2GXi?wP)>xouEEX=xCowR4);KdzRp9Oo;QvDu@!pr4EMp9Lt z%Y#og=il!34O-lm-TQin8b_6Iy97xGc&VB^Z~&VZI3&HI8Mw z;`4l+b2N3wocAt3W-(?h(xKr3kSUKO^B=gzNDhS^p0VeSE(6Qv|7uL}Z8U(J(HEP0 zBl!c0dtoN+%dd|#9Plj8JTro@Q>n}7?leW45`d^!B$l3|c@6;Z;y5Vf&40PrmFCY; z4Kay|!*J@P5pC~2Wl-e5>f)lkUj)sf&sY7#dFAL~mPoU*r!yZh(~~P>_^(VWW#ftp z8+&Gkqjx^6B?N`CXs&%JCN*<3OjQ*2ba%*Y%|?V}owl$kP%bgzPd(7|^l>3ZA1*ta zX>r8gr$jBz40H@lUokv6OsNwP7(cn_<*D>hJ2h_dPbg#kyxP6=F6|6D{({it+exyTt_fF_QYeuCqR@sMg`QJ~7)lmwT5FWV9IVZk z>fUdhXfR5c-P`F}d-!}nLVIi}V;Z=V&6Jc7YxLKsJV>mlMtx|6s}r$1G6%8Ek^0j{ zY@MV_4qUqCVtQ<;k5m$}`Z_RB19zZ;$|bx7dWQPtL#J%(sQ`}$C(e{T9Rhqq6R`U= zl2eRjz8wESJUHy;BL|uF=jbJ^Gj}qzKVZCmoCzApn6`DILNLthQ$aK0{IfU&vF*q_ znM~nn;sI$eJW=+9iZwF+lUx?wOYaH;4L6EB%Hdm!Jy@iKeWm)Q^R0|P7?sI9?<`Nr zEbmFXqhc+t4!le1I4H&HRW_AtPC){&DDzi3+5KX9&oxiGHU+M{hPVX`5sS3M6~IJ= zS>6Sg-teEwfJm*>;|Qme4wp?u;y9hU z5suc2ouE@&tRJ}g5vW|<`@VMbZqDSDT#0+sY>Y>!5?M^>1`^>N|Jo#kkDjPB625kV zZ$@^A0Hj1K0w7oUBK$mC-5Mb&!`%Sc`TO z>mP~&6BP%r+o&(0KTRz+{k*MJ0Yj<8PJh9y;p+V0CKblvMHCPhNhFy3VzFM1x!t^{ zYKr39BDYlCMtcTgI164RPc7kd1#YX?hlQ)dAiKmTP{0R}T_|HGRtH)UX#upGcVP}f zg+pciRngu{(R%S5Pk-@>)xI5pOSp}zp8_OytJ6js#h{dGeX%xbbJN1l7S{y!y;(vm zqUi#G49sG2^1!t&*mVX0aSr<6a32*7=w~mSCVB5Lmz#6hy7a)lMld%MtId(N`aa-& zgqi^P5B}m`?fEbNv48$A>^*=q)=T9QRNBY)S50eWcEo6!b3FykQyy>-0IrTY^^|;D z92t4yat!Qv#%Y$tOpEo&M=gSV*+HF;lqyLUX&P z1M|0FI^3TL22{W-^FT*LJ$We}@SRds%uLL*)Zo-cVJ^#l_ZbtJP*0Y<#fwr+>M0e% zUJu%k&?Hyvx21sNk9x-P*sP=J>{0T4mGN+Xm>N0hJtegp;IE z#Ud?ymp2Gz5v8IcL&|q^lgjj|GHe%8+N32vEHSf)%dOi4(lw}C2Tz>uGbdDMwJl@l z($Ef9u5xniGm+#9Gjqh&3=^C4=tnq!q&W)>)SZt4M*&Swy{n&S&Mc`qcFJ59Dyj@m z%oHRjGlSJri2H&VodcozK_Mu3hAldjB4{rvg-}R<&Q|(&{FwH4DBn~TL&FBhAn1Uk<-;@*)H5GD&+q+cr^P=qbpjdNDG5dL<_f0I}zql-JaT*EVuBvChu z6?h7M2)iIwFv@jxW8m_P$}k4nku%u6T&5#5nkw^tuXQvblt2b|;eVs>DChT26Zb|F z9#%aUN6IaI2oN$=j$l$=#_JGRCN9aWQq$`01%2Vier9p>N`Fp9sH=yt4=5YNd5Sxe zKXZ0tSyq2(o6e;i!(b63c7Wy(h^5_T7uTT+ef=HbPP^@j*pDeGh_53|yo}a!UB9h5 zvnLXMTyn7rDS?}Kv~XAA0Ni@zQ_pQHa{!!eKNj1v`!Kfs%Rq6nPG)kaKK$`O{P!Fv znGFkN48fFuELa5ybfdE>bO`I3Cqb)Cq9BHogVXn}`!JHj zLS~WonHPF{?2EAq`&$Sm-`XKIr%s)*Ws3O6S+=^ zoC2-YhX?5hq?d9{*aLeLCV$aHFw5{$PNII92!%j|0Gc5Xu>uy?h}#k`ArNPkhwHU* zz2-H7lZ|Htd-NGjMSj^NB`X^mWm=ESQh9It@GG7etFf!TP@BA|FwLZik$|RA$a_P( ze|tYb^DF<|&jW=AG^scVDMqdhD?7jdZBEW};AIfA?y9+EFe>b*he?9z%RGc6SqS;y zFdxxLn+$mDR;OemwF#;&WL9x7%_=x3IDlXqm<0$@zYi)vOOR1;+}lEWm3Fg$*y8vB z>?Wv_GpP90U;J|l=zHp}3vzji?YaazB85|x_iX@%+f=tdck7KGSN5@YCuZZe@9Sf7 z5wy+$Y1j9^sExm#YogK?0<-cjE|jj@pu2*gMZStGE-FE#J$n;o6*%KXV2A@$!PeTK zEDl^zdECilQ*jvHLZ~Fg*ixIl$Q;03KpJobUXxiSK8-#_GGtb;XQ4(b0gES~0dVq( zA5QitS{*+CRpAYmL;&co{Eff%7k}ZGL=ozx$Lom8kB|oR^H8|^AXW2*egb<2;vdR0 z4nc&T1B~2UMn_|o$8L{$c<=kHv@)RcD=^CwIOlYU#;YCPdF|}sTVo;A^PX~heLZ;a znY!M+|NfiLb?P1--aR{e|N5_uiUGlDUYGo(X6Tg?fO%ETK-F5w#Np@#~Hy{${mej??4~`ek!{Xre-T5CR zf%||m);Xk&%X-S-^@*+>ofQd=F94jW*0#QQx$C|#k>1De_CDa#kj8e5RLvj(N}}aJ z-h|#;Vx4nf2UKahw+-E(KIg1si>qgQiBBw-uv_*2iN|9FyB!EG*r51{0YkZW-pQ4` zNyfIaDZI=*+tix!_kI>hv3(SHL-d#$80f#_lptP++i8j`F6gn&pt{hB;g7by!+GlJ z7QSgp*e0OQ1KSCaTxK_YQb*-lnu}474JsDW?)HraxrB<7OeBdT;a_~+#p0mdosW%i ziK{u>B&wt1(*u{Kv~-m{kopC3nX-kT5v^@~xjlR~6>Fy1uy7c?Bs)^)Y@b*ektqQZ z*Mcjq)^7Vak@=>9doad^E(UUo<4^6Le#`&6IDF8ay`9w?WEl8O5wT^!S;;@t^IJVP zRy^j|COR8FhUb{_>#obuxKCPel_2Ip(a5X=J{u}hWB?*6#rO3?s62#grG5J8Fa8_f z`0c+2t{_6Zl=dlCx17BQ7J>peq6&iL?SE|Z=&OJuVudYz@ky*W3lai@NW>Bq5GQa% z1(^fao)eeiHe4Ku-HO|SDuMxw$d1gh`1(47h`=T6F33+?0*edK9@?a8=!dtBJ3N(e z4e@Gm>l54ezml8W+Ay#NBteXr66mv=_&22vq3DNvDe)eZ-KD&V%OA9cq^dGuY)`L})kMdh9E{U`qP zKl*$B8BoGhuyriV6CgsxQe_xK0DJq5fBez!|6gI`Lqep|&#g8GxCT_b@r6J2^?&qt zOu1?|-v;?ylErS#ix+)f@25BTp);LgbQ2#$V`rgEh)vUMxHcQlMLBjngK9Izl&wr& zUc0G*;z4`b{Hx)-#@nlJ>qUxcZFi@=i`1Lb+pm0fd;TaNF8MHK;KSOwezKt;h3PidSmRplR@KdK*-o zfyB%t)IWnz9mVgfx>KPQV=aWM7w*M&8XPB3JuOimUAM1HqzR!AAR!5XLje0 zCU);6hIV$ab?kHe(R6Jln-%Tu@t}pD#*%8{#VxU0xJFgsqPC1gC?x6a<>El1`EYk- zWi;646rfLi-%mY#_jf{WK+#Y>3$4z4<*(Jzaa-@64RKB>4m5CHLI%D00gP_pP(ed&ixxo0c;Ur1w``JVqXh8c zL~N}JiJgvT24hLg9y5Mo(D96Fv$Fu`NVVxoUow$I;6`Jx(F!XK__?FzZ)t?%z!fQ8 zPXjG7HwgGMvsN-?ZgoT9Na}=}7-pf8mt^whMc41qq+(E5r9|>O?7##-$duuo5=;R> zBD>k$OCnj&x3VCW3GRm;49MWfn|%?PZ0r1s9%+$rQ-^}Mt4xCdX4=Vs&P7(TU*8^P zl@CXyEyh6SY|_e@&@INyAuw0v%EFZ{9`3ZlZT6ZJgleVT4El8SWnps9TA{lWt z0rH5+93I^Jf#&SZ@Zkm`W^q^SPKmuzSI3{X%_&?Bx1;L#{LvpcR}(McHfC|VTt8^H z-}XR1@dDDA;>5WPn{{*X79d0{;y``{dQ}HYL_`IbYuBEW$NRV>an;eM?Dl=)3S!Cg zRe1%pL<>+!W-YD-9GL^+lDH752~L#BYxOA6_J{z=YY~Ey-cSOFxBwinX)oSNjI4b} z4yZVQYhwFLhQmtY9GFf&m#g;40Q2F1Phfnl5 zNT(!jlH;3`*((q+hp&ksfb~6-Qh^8+hY$%qjRH9BcT`-SBT=1AqHpdxUNe^mA`W8B z@{YI~T!uiRRTXBjD7>UHftZRV+&0+25WwK-{crrb9%o!6BMCrY*04JiN3ffyD$^Yk z(n@=w&r%-2?LY_`9W8hPw}tvJc_nToIq~XMd;V6OX=2~~`md`xb9Ee8o5IWcVs`ClJczIXaZMapZ1asy7cVdI~@!Ma4+qw2>>>iUARG1e#tbI<9^gdyn2M*kg zKFE-4OVj7#jeMwFj#KZ22oEES=K(dw&pNsP#_r${;4Qi1>(WY?JA$eC7-P z)Z=%4AE52U)7cRJh5oua`aJnu3HnS|d{ZA6Q1}D=no?A_G-Q_>BFgnYqF9``%wv$o zOr=}2U=!AYkh+)V@V`+&@Xck{%sScAO+2eejTlvltzYiIA9jek zS9z(AK4%q$kHlkMGQqBkKFe%*iAQ$h$nHUC-PQ3dR`*;MQyP z=E>M!1+5He$4*-}7IF(9i=$U4bEy!|e-zjqV0d{? z6s)1d;wU_t2a?EuWW=qSg4k>C@s)OJ!sN7FY@-vNawQ)s6Yw;E`@B%jthlbhuC34E z8i+l5?T6~KH;GGukia)C6sy;p^RH8JsNx28>(r&K2AAdXZhih{^uQ1R#Jq$kut>xr zAY!7TlUw#ZxTd^i>xX0(O4B9=k*%MCgMTKM9*<+Q1Q}2zZU-`4oQU0$S;Fl|mEvm< zqT;hhPRXb$uE!`n_)eW@Mhj_R7UkgsvEk4$OEL?EZe61YX{O(uC=*6T0upLnuUa`& z6ihuQU2i*00_@P=qhc2-bNt>nerv3`PYFI!lj3wbC001BWNklj>GNhs(0ugDRLL5+-#gW@RO137L z`{LX;04T4Bsm6_z90 z-BNW6ia0mnY797Dy(;ZfX*a<&-Ir+_UfdB^!&K6of)*f#SxEB;06efp1TKP_2Z?V2 zGb?ZfD!r!J^3Lbhw?4T$f8>Q(4)1+Wy?Gc!MZ!Gf6(BD-0R3E(E81Ig`KCUOCQeFu zKF|2JsPURE>qkQpreu38X-CxvzXkyQ&`5jhYDc$VAvYebW;Y;M*`W zKVCm#?ZEzvlE#7*a0&Ou3)PnGK(yc^pLo%v{E_)FpI@gRrA_#a&wT#zHW#E~K>}Vv z92rkAlvy?jjqQ-v@O*yWIxSbY8L_*1^K?3Mq1g?2G`gllM~KKQ60o4#>sWl>mEWkj zSloU9fwbp=N|tY!LXML%YOWE<4$YGLi0n^4Oy`^FV967ZnUc zJGTcpeQ&|*?0%#?df;|GClzslikn0xp(KVexer_d`YVu45k`;DVK029K*E!};kW{v zS=^QO!ru>>m11`G!t+(@^LK~{API^SUb|VOjeP)I5E+Q0;s8=RFUzZ;tnr|=gxO03 z5y$3`&Dyyg0T3ZBJ%wBB7F58s5Rg|f7J*pe1yKQFE>_|!Tuo*P=Kzow+oh7g;&xsf zgFpmButAW-yWyE2@2O;1QUa+{HQvC(SRB39?w+7|y1M@(?fF}f8gMWNgV!Vp5+?(> zygXR-=)Y&t_PYT(zJicBfYf6F2}MvfPI8Y|9zbfU?gpZL&r?)7qeU`DkX_#4#A~J`clKM$Zc9cABsW{ZATS+0LRATDtd7e`*AeMF$mLw-q z)TFw`z78FG8H+H@0M~}4=Nke{UgDxeZ^y>mQ|jPJSitSTiy%l+0C3GyeN##w5oyk- zI3QEOo-b~F#%>;k1IR+GBIepp>~xU1M0>&O`_i2A>YlXcfS@>ny@0e~CRlYf?<%a) zfES+SP35t&_&s$->+4NdKa+L~vjW7dKP}BE$oTz4>_w=#vX*H*Mz5BkO>%0q5C^kR zFAdj*<}+$H@9xgt4O?>i@g|3}|{GuSVAj5cjDk({#(v&3~23ZM>23 z=|Xus6>!`D`aFpZb**`B?SP64cdyYQyRdi;rH?yw%3T_&Gz7neb z!r&LgAE#8Gc#(@3Tty>z61kQUdc}C6GS9=B;-4bv(jtJwZUBN=!0xmgTDhX6=UEo4 zcOdBubUxMTS-khoH(YzVcM?7i?q6^I&%dL6tT-ic&l}ZL8Qp()kXo>_J0Gkp4qms- zX{RRP;Sw@yvFAat4!KSrL0TDVN6zJ7Ls*|CAmCBP`Ya5sftMN5d#A-2=i!VY+$>}1 zYj%PZ>$|SG2q=bRMTL&Xr(BXGi1)uhRY>7X=c6))Bk16hS;Ot7rD<}TsS)CH0f~>=)18 z`I^`ot_2rr6iEP^taL}i@LS5m+pgY#O)P&(+)+udzC=#01Y=R*_=yZiFDBMX2NvaiNBU(f~|c5s0WT)v>s4?y&@k zByo-E=J@gsL$UbX21%BxDo-Gg}4U5;`lRd^BCx~fGv4VdD#({ z9x(?SaW!B;C3&W&QVlv$CP&oK5k!TCh=@$HdB|J|Rkl87vlgkVqc`mKU4X%b4iqng zzhBxEG8M&%2KM6e#DRNJak0MZnsZ*>Q%A?n!yt9&iR9A-#44NHZsKbtrd5YWgQ^qQ zIv5xt1h>r9E%ARPy%X8S2)XMWL25zoQSYX6jull4u}Pi70Y+)Oyo9MBZKP;)Y8xJg z>SSgEavjLL6xv_f*bTsCkl+Zuj+C4%glM-IWSs&I&VZxh2;%g9C{(SK{f#JDNv68> zxlRFz%mVfd;!Jf&X4Rg33udX|~F9hgJ&k!x`Q;B^M zvXPmM=H|bg-Q`ss`e0w^wf;OKyXD5I;s(d3Myp({6CdhJb8;FWJ7aHw%!ioLzw+Rd z=Vwo^Tj$sl-@kS~|G~q-A93`#2c3wUfFQ5Bxus28Q;d%Znq;)p7$dFFfXk_F2EFbu z3Wg8RvkCxLY7-pW6Ax90--Opy%IuP}kDTVi+7BfAqJ?fk@v$C&#vG5utE zihhid)+?L>bi*~vm-zKO>~d4rEXD|ZQ_-?asQS183`7ZuFKKxW+=22=GuvlsgPZq>OES#1noGV=!(e$b%cIyx#1INz=IVFjkR?-=9L~lU+I+ zH&wqq`Ska2K|lJ>{!2gp)BoC+f8*Dr-G<(IXUb)i#UCFwa`iSeo#Zpw^Prv0HKx)+ zpp4iO_6Dx4FPWm3fUVbi*ZVbcDQ+^R;vK6d0-#u(5%5ur~X*m!ZoMF1@S`cg{khtH3CgCyU&MPYl^yr?S#+BPtrP>BO}gPV6R-Ehw=9Zq4cyY0m%?x%mnZ zdm6Y6!^Kg2Kg)tSX-f*ke6Mq@6%i>;-f-JTIzKtwyjdz&S4Y(b55q8|%t`ZNf`*HL zyK|QF<%wVs8Dapp1D9|+eO{$ScO5pC%0oXl?dCm5>y0{zxLCj9>POOU#O+ju!X>AV zw1FWmLD<^2;{e3kouhupHdx4dQ5S}@U<21CoMHoM$gClCY_&8?;sUM}5w4EZ-cyZ6 z>8ro-KSYtMpe!WqE`&D%GE^R9{bcHyQ55UjuDO87gU|o?H-7tn@ff-^r{L0Spz-pK z*bBIZ7su*es3m+aU+!Ks366P{s2jQ3hmN!J)!7Zt&RoVsQT@fs&1lr!n8#g`yN9&3 zSsba|!R5vCUba6qCLbo~IgLKw;G2?Xo>W)+GR1N>ejOyE<=VNAhsD-arT6w+S-eMN zY^M3S>E^&mFo6k1YLeCaGt!h0%Zp=8`KSs>o$I=^yq!pdJBepA5E-<-(rm6i`b6`6 z!Pm>u=l#?7&o(hpc%a4cCql}X>~c{_GmSn?06pCxp^`)+l>@v>lbc@ub<5<8O$%}n z3g7=kpoz`dO$@0FrXS@}7-MfChVnBnn)1+Dzy+Bq5RUW{o!x|aX!`;(S+YkXj-V;& z15mBBv~=28rbI)bedaL6jF?^s=$T%)CY6`s7$3zqKI~WE>Afh~#9~g{X>^**#wXi< z(h93x-}y|ld6;Y!y3EzyKoTn|c#T&H{!|hXJp#m1u?`}P5-3#lthctzo-f#sHTePL zGE(+?J>mSA&-%*0mSJ%TzK# zTmxdWxGQ#}+dDBAhvGcn(-6U%4GNsN9f(9MAY2`bYv3%1z48X&q}h5!3u#UTZD4H| zWR_x2r9BHxEk!^W%Mhk^wE>CsiDq6V9oNVIMjX=Jx{~hiFFYND%|c-EIXM3(xNzk?*|ndH-VI> z%Vm)A2w}FgR35`_Vy#*gs3mUoQUiiwp_k<%g3g-HidnxV&6#hw;pJU%4SbOAZ(cmf z*SY2btPr_b+>+)TU@BK|t;g1h3t|JQsaX4pk9rmA(1ih1^f_o-dqRB#`aM0Is$);O z?;42+t}a&howKm#-~!Hu^xT0M#Q^}of+`&rkXf8a6rn0$gMpAv!xB`0;C5$J9Yg4w zU;f*mg3LjXYSH~u+6xdD2lws8dtre9Vh`?rcXR#@J|qV84aP$>hPKF64*O?8e(73w zo`Oeo^(f?K^30QapW0nKxuJIMQjFMf`<$d4$oOt5L zw_n+9&tE31`f9I$KI?lKkqdaM>a(&gZj-tNrx30s#!YrTM^CU*LtX`+F%g}z zkEUFFU_KtWbSS2>-`=MQ6-RImuw)Lz)e2LR>PHi=T=SUCks@($&Tfeo3h8>G z60~G0h!1xGkoayDHpGUDwKz-OkkG$ba%7g?ABD(>-T1D;%Gn|G5o&^9^Ckfl_Sh$@L56vbcDfz4?aii%QF_i_nx5)2g; zn|2BGN5OoulQ1fx@Qde4YxfWGMj{uAKrWuz8b!A-2WnT?i=sVYTdvGq(RBEr{SF6u{-^Zj(4mbz=3vcx}HUoVDT=NpF96>m8CAE zepKE2yuElA#L_&~dt(E)(|aJ}s}AIe&s0de)A!;%;khuYJFYo}YsoCd?I6PC$(=WT zWb^QAUgU&|Bh8@oo<()TxC9ZnBrb^^ z6bG-k-NOgp|HseX`CVl=`5|>RFJ2Y55qkk~kcP@*xGi|8%GY8ScfQ|VyyfZPR2)fr zk!X|`K&ub#WxHVjaUQ0J0EUVsTy5J%TnjGEixJaYVKi!=QJd}J8>=A#CD-u*y0b~awoSCLOgy%!$6b{S1nkjF#ENZ#{@|q~ z6q#!8khlX3Hx}A&_Fk!thQ?|PQ{@L4V3+#)hqpf6HjPN)U`{3A$P1{!G~T#FZ6b<1 zoz4<4;zQS*CV2%yjO7vorT8bNI0#iD8i-I!GV5>|jxgHdO4!%=fChy|o9c9{d8}AC-jQ}K`t%H99(9q7VmKEJR+U|edH=N>1W%V zCta{U1`*Ut^!dek5jwYnX6V!;%lJ8`=7n0|9ZgKe&d{jWVFJ+5 zL^8EFP!Y29bS~Ls@5*s8akIj*^bA~+4|p*S<7%FGr&Co!O#gfM9Rn^7?tl8^!5e?~ zZ~pba^*{dd?(|{A;5xG@C9V6vs32Bc8?iavp@;8!Y5;vg;l?&V%F((3>^@1$?d|H< zPE?1ywq(|TBl7YZ!o`8Oi*W7~ioX*@CbBf3 zh0X^`)$Q^cn@31J$%9L~d3Sl|d)v)B$FF^9clPbT7D@xc;lDA)x{$EXEwfNOHcCov z3Fy?PN3|nLp#IF4{>AdQZ8D2I!*a4o2y z@#h zQ+d>$e=8K{99$h*1T2WiEY0#*TmzzD@@cdSK?Q{Xw*xVly&36?nKsOcEj;HB{UASL zrljYFBb^8*dPPsKuP6ZX(FSea^ia>>ZZ%e?dj zTS4D}Nc||yM6Plj8j~K*XM0!EMiO=lGT_X|1f5y11hR7^oecztl`Js)=uwtXqLrB~ zaF-=NnhVJ^axp)8@;qN3_k~I(Z*25FId@m@iSbb%F6jkHam$iHZp_iZT2pjM(9eOs zDwVeGH5F@^Qfv*cwj7$@O?hCO^NFJYgFI#bsXOS5@d$#r ziGz$(nsfX%Fs)m1)ms`(kuLqm;QL%w%cJ_@VNl5^NsIRw+~=ML(>%d>|LADSKM-UV zK~yw7+-W@2B#JG1y@&FPy*DzcB8PNpaz!F;Hk(05@fL~{RE%k?2gMvQAwzJ=vBD2=U^Us~;u$`?aS$i)&%l-zsP;#+^kch?lt_pEbbrO69!%p6@ zq&t?qkOIC@hAtr5De4kQA$i+`p364;Rl@b=73_JKr7pDur|OQhXQ6*L6pY11B1n8v z-2>rTm<8+(T)?#;16S+7@>1#l#DL@FJ-2-i#Sz+#I*k`cVlN_auVN+wsa2jk=EYqH zRkE^7#l_myXW#|eQ_unkTG&ww#iwZ=J+~c~Kc+KWz}4UtTn(|WeEv_q^VR>AsuQUn zYTUvFTtnrN)Q@3SM3uM(?i^I|;;!30RuOg)H9z#&F#uk0dEn|NaGS;P=XOtjPjy`+ zj2JO-DR!e3vdB*Bgk{tx(|p*$3SIpVZ`AVc(yNh~u1P)%Jjc^*N+0CcjmTx(xYf_l zmT+t@?$Za{Nc*$1CDRkyGO{!7QyXsdGw&I z&!#mcvN18`p}3lg1#_A3rblO~%+(YxAp{MR=K=B?CsIDyBqc6M?kGq(72N@_^(lDi z|1T8>rn>FwCy8%~9lQ&gu(ahQY9E!?7!vO0@url${@m@0uX9Yl{CfFy!$%>-C$wY#%t;$j=MByW zAyb7Xb=gfuL&6ZrM-Swn?-7K;R(C$-9K_ZTd;b2{RA)A$*`{hLol=1%Vv&Xbkrr^o zONeuJ129oRyl8jtt?&GycJnT1!Nmcj1skFQ!bGJ&-uTj=d;IO+Fy$?=XP(eaT#DO~ zS+H4&B$1LSAmHk@YtO-k%@QzN9EiUeF7AEqPwvj&7h4M)Y(rE=e^+8qC2mK=M1~+_ z7UCKrA}-;!WENo|1fqt@``UcpLuj}$VeR+!|4wy*5_xfCb%o9fFBQS_IJ>^JB8nSm zY#D(_GNqCmxKim4FHX{(alA_27sqm}f|vwQaqzmUAHi9`!0r5mQCEX5i71bf!dvPz zNFahLv~-mT1mjAI`up)09C(qJ_gtu;1ZaMox#G<7uC(XiMUohLOx%|<4R{$IpFj)P zQ~haN0v)kE)jtvK>=yx7WR`FZxC~fxSTbBfcKYXJq}{?-N@5dL3nCP&0C{@?ig%Up z%G8Bo$Dw+(zW@1V^F)8yA5xZd001BWNklPRByIM;@(g1w^@M|Ef?|;5Ids|1$YkIhymkpuvpex&pYk(H!2(shlE7Cj( z$|M9T;C5m!JOW^M@0rD`(w=+6jOyrhTc7$-qGAQR1%V1LfekVNF$cq0(1$6(L9<&h z?*TMCdzwVEck=w$2R93meB^+$y|0}0=F6C(=xCSL5bqey1UGoadxGh-+nhe9XTEj! z)$QhdB#Qlb;>9mzH)(p?8BHE&qU*3%&FaDnDi2<9&Dmhi%dEUFWk$deuPma$AQ^4k z14D$0L*h#8CS>?Y;H77LK1+lXE-EhNDep2G#42hii6X|%tbwDF0DirUIk50V37N+cSad_Hx&yNh@WV1m{* z>_07g{1{W;=&gO||8^sa|P+I|-&GtKcy>{d6qK*MlnNVvHg+>=L{o8(j){FS)&?YRK zrZb?8OsoyJM$V>etKtO43J+VFLXR4s@PtzZQaO|~z@X?Kt+0DoDr5?8_cu7!-~HAf zb_=W}hLZsoK_gzGm07#Rrp+?jy(;xGzAr9!ykGZ5NQ7wMJ{^>uH7r`95seYIXr=P} zLI*E$+_&Lj>Ij%di09j1OMQMv>r=P*$?T>MB8c=8C@9`Kcoe3%sEj)i40HxOi<$ay|+J~mCxJyj`KQmBnjqR?MkI0E{TlE57bdI zDW~j;6WAeg$h(;GDgdJV`p19r=$+qFSriAKu=NRXL8gE`CzC-cuRtvV6@`TgnYr3U zggbXndcdPKW~xzfCD_aonOV??kKRLuiz{ju<3$&3dp;1&X1g6V-353s7eQ>70)Xq# ze-9lJ7oH@psVXTK9s&2`b6xGJ_vZ22AWL<3e*II;`R&B^p!3uf5JN1q0))z|;l^#p z^hYFP?dZBrgoNO+X1AA`d5|7%fUm;3mod|`c42qv{?okJ3$56Jp2{= zg0$l}gFr-1AUpP7aXGRAywfRqJ3fAU)@b9En!6^0kjZKl1Wbb2BL#m*2l#45bN49vOal-vOUN$)VvX@wgL#Ginz};7WxMLWh%&VmRKPPc zyQcL5M8PGsvZ(JNllqT;?ib#A?KjQih%BcPEgF!L9!54br6oOOW$-ZY zzEL1mr){I@(ay^gl7wjIFbm~;M`LlH?mavK)?iGm;Qpv3bfGsKTzzr1ydR2mf<8a> z3FLND{Oq*>an>~E9%6PpM(y+uML?fN{RXF$c~kLdSNK(h3Kv(^3mQbgG^8UUbsUN; zQp2<h3vN8c?sK+25B4%P z$v_hDeRw6k(wa;p-WcG{+VMU%zlPqA9~c$pXRim|jpzfj253TEm!im!Ldt4@ST3Iv z@zbRJyx;pzCUyekPEayY^Q3a`1zQ~_sz=njBn0E8n47uYHB{GPl#fM+@cv%gG-M1_ zaY>p*>UkS&VzHsFW3Kg^Acx1g=JNyFtjfLTY;_)Boj&2TL!U>=1H)|`BW3Ikw$8Rz zlNd@;O!+8`NimFw?@zSLT)<3~)`#Mz+zn9a#1XR<`aD%Z-!e9%O*wln88m&a`tYwP z3(jdN>MAxZ19XSDZ`9)~DpLUt=_4-udh62pfAQb>Yrp#&e;1Sy7uu}iu~l1#H?{)h zS*Vlgb~uRwdid%OW;^@U>D_U(#36cOp$apDG*Nq8YG>DKKvUE_r$YHI?258ouN&(H z**LO#Ban8up%Xgb5~^w!LhR94yiMODi*mu5v~&e;`J0g-A$oIAskqqqJ6&_Ja;{6uy9 zMt*QpR!7hpBxG_xRVs=)Y>3ngCV0gF?iPUC{M`>Jh%YtA04P6nLI>es;x&L)3q}tQqEy?lPXwGl@ z@Rg!+4$q(s6^F3r-9Bs=0b!33SQ=4Jrl=X+U8*Mw2P+!iXv?Wti-zu7?nbqHOeFF` zG+w0GYkdU3x+U4T@W89hwB1YG{b8t`Kv#jrZXJUQ+9c8(t^Re(iFSNvL`|sq4y18_ zEW8|Zdol1oG;_4=IApxoi!5PwygrFGX6L3h$NnDk1IWrte*|T)Z0}=IpZF`}!ZW6c z&HOpLxb0=BbrohuK%~vF=gxBuS$QWzNOthDEN>&*gRS!Ymt}PiKsLWF)h+NGY@n6< zqHOP@&FSkt*_4{HJ=nA8E3`QHs91~UaX$@6<}LF&*F-F8mH?7Xl%UoMW`GLI^n z#56cao6eg{!AW~esQa@tya;$YgepeBP#S~0=`qEf4=9I1TW8T*zBt-tNTu;II==Bd zHpogYp7Y>#-M=tNa~MuL)^)qt+&oH+ZB&}42N$^L6`D;BC-;%JJOiLdcSxG(+l@iJ zES0&ypwBUes%e@=O-WeXzQKz?5}J*B3Y|`r|lX{A$i&ARAtqPFR#mK6XtI#U_!o;O~Nd5 z$g)VKCN2PuL{YQ$!)pga9RP zcZRluDHG5GrlnLhLN`WFd`W`=1rR!sB~hVaPAt*;D~cxih0_8vjaq=N5k|*aR+>IR zhYLOHWqBgt=KiE>KjLLrv8RJFvVLkZQcD4VNYu{nSeQKnk$9R6Ule1G@aXR4F0LF;Vx zg01fnXT)=l;c88$B+e8vM=&x3N+#uSIdnQB8>Q6GIfo4;6} zee23ce`0m~ZSS8Z4V$^c=A0G=btZU1W*4#|GgrIpvL|9PbGV3I>nkt)X~jsCJv4x)X(_aGp;W+t3vX=T6S}Yr zIzTzx0+rAPb_vSCx!WK7x0v8k=rTSHO-Qf+nfVQEPC8aHg5(I9)H;}9oSkN*Mec3= z+Chpd#LW+U?k~Le?LQzYAdTk;JK7V1sz&>0wCJ|Slo^~yLdgZxQgIEkN^st%685Cn$`=nN>JJ=W-y>s9zqr3+&e*S%ap$!i)`O(m~aNl zw7TQfD#)N&xLty0*R?(YWt8v8>XyT`_dfCi)yW$$Ge?xx=FHQ>VFPtN)Y ze2Fi!dG7=Z<%5rWQjk4H4QQRfwq$^0(H2M4_Gi3aJQSdde+zAb+h_}DeoH9-Vds$T z6Nvq*FICIawE;B0`dvSI@Am7LC)G_!T^HPj8n1l%Cys7?8?HyMEo4EpA0l92`ZP@V zb?Yj~79n|JKe9e&d>T`C-2_iR1D7wl&NVdm(c0Y)gUo!WHp6Lr$&K_Js|0@pYGNln$>mHQe_Nlt`OPn@T}-6D zqbbcW$bLwwwVE(%pc9lIooK(%pz>C9qHH5Yg2Ax3?{b@--x%Z6#nT_iO`kShdpJ0> z@3oaAhuTD0ifTx@qJ+&+LPjANGG0X0R^yf3825=Y{|&nzO$$@>SyYtmL#hGaIj%4A z#K|(WF7yDSKwQ6Xm|cCjS)D=a35ys^SS{(`k<>H^>9u+3blpxz^ioG~2YRwkglDf0 z@{8GAD(*d~w{_SbCr_O3K91bCxa>rtTG|1{&aRp$rDk))L;>o_ePG&nK&MFw(d(_Aow~Fxnj-;iwo%L|$h=z4WbGD12V6Ist}`Ndr@lKHozy zWvn%Aa^E)PzA94fjtipC5fz}=y&7pWyQP~$n!#EckMunBztzRGkZWrTx&AtNTGV)y zShmJef=2IsB3F(7mIse^RAK5z#ng`kf*1vHK5Z%7CXr3D12`})dGMq9mP)?&yj16@ zE_|COg+QoP|LE!jc2iXbkU9W=t%b6zo6weH+loFzDBtlq37(dCL+z@gtU779j`D2M z-A|L9*@K%zW~SOW(F{cckSPvTD(XZG4Chz0IpzFNnR>XTSJ1Q&UqB!_26#->L8B}b2!dXcKGrzI_{P!;J z{NcgPKX&%s7l{jK1r=xoSk;ES7h*-(9_$iC&^okrwrVGiyu1qM4y{hU8N8_j&Y(+} zR@fo-mqy}WMU-kf#}9&#*@eb*`;D^%Q;&CFfDcOs`nt5P1R=*)C)mK9HT9NXP7MNzGm&nL0u=1ZV=O zTt4w5|I*%#PanVYdmwHW@3~}3t9zgR!-4A&3n^C&li9UTHs|lUEpdMJll9qKa2ic2;M^2*l^WI_ zy!bsYf99XO_x`u8+0yFTiVf5 zsElY6PjcBPEsSA8(qWBD6^~7QtfVHPfUiK-T0)!bQ0-Z0t5l*gY8Y$*W$7YC$2U}s zy3YL)%4gTbSzZvS*hn)PDa0Im2gyV+m?q`O*EJ~zOv(#`gkkiAZcOr#F|>z5BAakfcE?y^Nja7&>c_nTH^r$Kda@ESl)3M#`0a5gUxjSU*ww+U0N8WjVLD!L!#B zGqYJyN-`sK@vU`z04&k2i>R3(Yf%6IXjy6TZo{$0WqN43YEbK^)Dqx&m7#XiBkDL} z7t?g2X}jR5jNmCkpGSYlDHD85ej%RFty&C614V6BL0uRVu)GU>$V5Osu8J^q7fC9o zwvMd2wn6aY=%SAl+fGL~99aDpPhB@1o3%2A0R89z9iqFwklHrURAllo89~KC(U!pd znxIa{2)_|Bl@OmJMG+c1RXu*!x`#Q43Ih*7F88k6>fFT=(yUTkm^<9of0}_xG@F$6 zTJado0+A>!HciAB-6|+sk}2SA5)DW-#ByC5TxX`ok>HG`;>byq;=DnizNL@2kmj@% zc_1!>&RYXpQFevM0HXGcI9Iz6d*X3nBH~<{GbbRc4k!c>42a1TY8xOUD5y{n(F|N> zJ1a`dv5Hha>cczQ_co$^C#y4$XwV&9wWb$=Dnv0Y!LwBpMQSa9JfFD+=(`ub7^ z6)vx8a~=-#Ivl~$$$e;p*2>S_TDBL|Cp5sOUN^(cUv%z#K;?mKryN2dFD7wDfOUiT@=n>aw_(r;)h5oTOB(adGM^ueJFG=*roSNtd78Cx94yP z6}2lb{Nm+Aq^q>)DhwvNCFHa_5R~OXAT-On;L<6!H>+d+ep$JlQ=1A3Qywgj-?{U~ zAIuJ4`u?Bz+;9G!ziOV0AV$aa9JY;6*B48*dr&tUFI)=LMbiRXGyoAc0?<=2lRoZQ z+d8Pa&+&|k6BLOJ^`jFVD~#*(;?aPEOpS1I@mrzKkB7+o1fsEe@yp&u1MY*3O%t>s zE`q$Wj_U>akiv|6g%gkGx;|(y{avUlj3e=vqwoo?0V+<^P1&8PzG({pgF;WV*L_B) zsJmjab~Ln3eoI5SVvN>pX4&j8@=nCM1w%2cIjWOL+ldZu`JYG;!%^DNP{T2cU_@}f zs|kI{q@Td+GTshj&AR$?i1h=RB`|ATwC85f=Z!|~8Hk~E_=yCKIU3lfxCx&HeupGg z3d*E8@7e&P#3_{bFmbZ$1^s^eB?`{>RaVi(#1$G1P95oR0R!IRi1h;Jd)k#u2oO^o zs$C7vZVb@pUcFP3sqE-5=vPTcyvSse4){Zg0iJ>_^iiSD&jhvCqR$bxR4#c&Xxk7D zO$tQTWMU^G?a-W5ih<0`KaXBwviCqu3FYb5KGnEjOKB z6T3HGWEe+LQ4BWr2(Z&;T^@m8yv97j2p$pTqk*hed-%p&`}+_?8YF$bH)zXvcq2zx zFK?;PNI~dDLqr+?B4 z$44Jaal%V$?{V1GN6{^e3G21LqRua_*u7?(Wha=6o=IaHYC4WW+oETa@pP(jo@?ph zLe6#^4_fU4pls(wsZTlERavodHjDx)h%%Lmc}849R?t<)d(ah`!ZT+f6ezm+&d0$F zs45Z7KpC4|AmidH04M`Y#a!*#{MvUm%iC%f(Bx6`*XATFdmBCbfs-3Md34J=?PXNS=Fdxg)|RM3^@2KnuHQ%$W-o%U zLD_zQVq^czs2UWziL{e$~b<t> zCSJ*7`jO1BSMamlmr@oC@dT#uDW^uVjl|jnjYr28^@}QxF#5JuWIzQ#kcCf6TZB3! zwpt&D`{hoi!n? zNY7pm@-pFsZvRuB4e|vMc^ZqGX<9nJXT36X?BN0K)}jfqElK=y1a*!ocnbR%JA~9b z-ci?M+~FErOy=WA__}njQ<5lEC}Y6F%wU(%Pu3XkOtmaT@8Qe=BoAlp(FMp&Tm+`T z`UV$w@n#Uq(pW!-iF8g8LcKPH$ULLL*>KU^A=GNmqLGi#>h5nl7jH7NfW0DUiiKRw z>#=aivLwX2y6NEFxZ6*Su&zlmIp0%TtE>j^>DB}1yHcN$*;TttuWee|)tit^J+t>w zZxg_f$-=<$76Hi=gZ@Fnr-!-w=Y_4S4;<)f^a4b}XRpfwplM)87(WgsEj3X}-;0>q zZSAvj5e(;%-?fNLp>{d>d?m2Et_8f-#Gh+q@gHwIf9c=5rJ|r-e7~YZ(OXA#kW=CB zzB++kV2C=CuDGsm(&%N&qhTcVDEF_ePVP)YrPM`Y7prj4c50L9_4szuEwdzlc#+A2 zT_H9Zzw6qk<|11J@r0;|j>n4L@eFC`8=|a)y~NSFQtvzzrknD)dN~w=$zY?VYRWpn z_;05pWJLWC;i;r+i1N<8Bt5s71101$;Sv^mqnxE`mro_2R8xym~T6-LVo&Y}&+0#sair8@eim$7ySy>HTO!o6^CaWsMPO#wMvfDEXF_-EhDuiM3K zKWL_eJqHLpBc5w>&rg{)$oJ5!0xx@&$N>?D)LUVkAO=I0;4%nXGZojgzT0V)c-fHJ zug2nrR<}Vpq@wJK+S6{m1>Q87xi%-1?`pFE=b@5e!t9ihc``csk+ZBcJKoz#D!&aP z^l|zw5DBhD8tM%iHHc`iMugKF;qp-GQ{r5u2AIH)iUFNiz~Nz<4X(-K>~=msSZn@6 z7jaEQ3jJX0aKa`%=m}A+hsC<3=^5O4BcKEfxbsaaXZczYI?iAML(Gz1J+-sb5Xm{tPiq9$Vfz^7&kLQG)lH(9WreIMU?G ze8?qLLX_x8X96;m?fLp=dosCqdb{CX{wAOdQcrDwsfErqX9uy#i7u*7y3N2&?buVs zbTIjj+Gc`_9Zy7-BF;TJ-U!K^sEA`+GCQ8ytTsdj@J1Gnf$rTus))v`1K~>#VN;im z!i$Kx*>^a#3#L1jK)(Z*`_I{GF|xpjHUSnocI4@%{MmUeR*|F(N6g~x?p)9lF|{=n zsBu~uWe}?4k^FpoF5(&wjU6J~Pl>hh4X}D2?9oTH88UA+wWAS3+SCE~gL}~tCOnb&M%NX$alsP+%4TbI9x!ld zpiMoU^c0frY13vtDuB@MiOI^VVwb5n@6=alUktjx|L~ZR`0tOnbHQg7?f803`!vhTm>;DuLLXZJc80R+K>&Ju&hnxUg0FsY;T^s+Z~ zNPBi|O0q`OJ{SueM-gDO*}|i)PB(yp7)479^{sD(diIIO8PzU`a=&d7gK||16;)NS z6!a)$bqfS(PRYyxC8%NrtyLbb zV2dUZKpM?HqLGv?JoX1uJFrpH9+keEhg#~MIJO66do9&8Vkk=}00<;r5;FGqYku&O ztd5d3rj^U!DBJZIdS_B%10reC*1gas+lJYu4AP4l`1KOf!**>H9U>V-sL5#xi-c9o ze&X8kREuoSue6S2qn^*?yO*r*)Aa`dd9`jgLH^Uk>%9;|Yg?Uyb8rcJ=37zAYucRn zYi>;=$$$-U7WzJY4i{?J{>f5rx-L-b2}WiH6%V8P`O3%?u;(5$_ah^Lf^9nebXj?< z76LBG%mL=|ny%i9aDVr=#t(S5kNT)%h)do2g3g}%?q+evkDD_Il-gB{c>WxSU@JE- zX7>fH?ooLNd+u*l1*XXNZ_4TjTKh3E1!Upon(|%P3Z{TmPJtRym4_b_+jy2$HiO!1 z{=C%3zPp!=7qGS~GrKCTHb7+Z@{vh!=yZh~)4>@%j`%75H>c(#G~rfvQ6|*J8>ESU z(8J7#Ca$V8PJP5VaO;F-LJWbeZK)nGW7pBdpL?j6?E5+97$2Z~vCd8L=BY{X-Z zqd+rv;X>!$J5e+9ZpA(!&t})8J`K=w18G{(H&b5K<_wf^wx_K!TIZe-aAz(6g(>|H zy-i9a!Pz=2dqVUOYShUKR@pi$Yxk{8RUx+DV7TpxKwHlgjTIETw?!HbI*n!XnDil~ zSSJs@x6Or$AS>qA19^>(Jn{uqHhU^(K_a;wQX#VgUA4(*_;HiXZ%DHM7mylk0_YQc zJ85rw4Cu2C^f9*>{Me#!!_!35)U#ne5Jr-U;3Cp5l96}Juwx${5$>F+j$Mp}3OaZa z+wqhEEQP*DdH>&+c)s7);idXWw!3Gq4=2{V9upjx@@ZpNM`_1^roGRARvopcL!YBe zas;~>UCcTSZ@HwdSqrvq`DoB!<9gE2P9FCIgrMflwg9lPe7eR!%vw$1O z9mG+`XzCivDWHp{MzRL8F-jTNSn!wE!hgK(b7)JE#r5)Vk$ z5&5*^Gz_Z|1BP;h!)mh{uN!s39f5GVes%zWR%b_kF|bKO*|t1JQ}}?ES6;NM(^SY_ zQ!ef3&PH9yK`FqOX~^wxRpP<0oAh}M6&JseYFhhgedHwcK5`^69NrHF3^^c=7%H62 zp_a%HIlNCzaRaPs&jR~ci3}8+@B7{q1wcxys*vW|C;r)Mul&iA_kNc=uL9-acY#>d za<&65_HO>LtWLz9Nps@Q1uqj{5oc-_u4d_AZXyCio$+AXCg^E53~f4a)0Z%7Km)_3 z2R+BbsnF)tKlW$uz4d!RDnUG^8A9fW)NcWK{^OrLJ9-na@IrIFuGZ*)qu?9lL@K=d zj)#Mb{g2t|o~&G2*KR4)85=s@ZaZIXSAjS0vEd?3QV8)tEhkq3jx?`0fVQFbLlhB~ z(ILw&8h4A+ah@F9A6uZi_dE6sXPpoSr8%Q2yjmbZW$*bf?Drgfd>+H2x|MA7~o1p^KxQjQt&uMiM+8t~F`T?Lhe?O=* z3$nR)votwWwOM#}KV<-Ea}LVA(1-h+Y!9-O)xGE}R%pHZ{P)1*vO4j!GgWr5fHp9t ztX#yV5&x(_uVqY)9P zE&s&-S03g0dhxHOG@RWs!G4@d5yWNaZjQ6)2iH~Drn5L~SSI(jr(OF`55f4Rm7t1{syuhSGc;&4(XJw$gfEuL~xI?1VX7lUK;?`gb-Tv{>q_0p1072V_ z*bQm2ml9{&8PaaEHDPN{s;U0dp&uQ0GHrd`s?bl`-vA|%t)whm6a`riNAGC5zQVSv zE}{PzqFh55*Cl422*wF`+BvF|cPaEU&SdhiP-#LgdARFpP(tTzp`3Ocy6)GwIkcVb znaa{P_qAzKQt%l4uBnW7>`x+R&an%XbSRQmO){n0YV>B)?&ggv)NH~L)@qco`GAs_ zpS_+y0D8?{x~1a_CFd9AevgXV&s+9cEN!0%#L*Zmg-wW(_Kwa?z+VvAA2%8P07Q>8 zCNrob*!?)o6Px5Xq%R(w=oRRg)CoZ=Hx&!sx^_@GE)ovj)nfJs5R*t=1kz8{&eX~)cMV_ggi#;rDj2g-FU&P;0_66`=6 zqtl_Kk*7$fo38+uQ3qr?ajKl}NwWY5zzZZ^h2LPtn;Jc2Wl%)mJDqUj_^M_A{w{XOkVg(j33u4Gy@I6EV9`h0_o8=EDrN z$YxN$%~Y4~*zh>C4Nsx!VD!lU7a5AU_z%NS7NoH%HVK6D2aiYSn>d+lTO;wTOWO}6KH ztDDv7*m~Y(&>q|`@q?Nrjt=7!^7`P(r04*l8*G@J#$0SXh-tZoSoeLWfGc6JY4xD77tkQK(H!JU7LzHcRhqEj5>i+NoL- zaS5$H_j7;cy|><2o!s&|Wt_V*Mj#95#A**rF-PCffjTN>-GH>b8-Fi$;P8V~_E7_K z$3<`Aqa|9SFpkbPvp;v-1;_0m`$hqY#1O~sadI`%G-^N>B&I#seyI8Y2gI}2v)2V9 zy2*t^QNu^i1&;gG(+*9R@JX)HX;Xf*M7i;(0^asXho<}RMjdBLzqG~R@{4E}JVg&( zZ?f90cnaI)i5kFE!e}c1oGc#y5^6C49q4 z%@*ySk^`)tOp!YN!MFZklu12yziUHhVvbjCQ+;J&viFewmSErOLxIC z2D?vpmeW)zJ?_VfXaOx6-rr^&oDJ`~Ardf0jmq!>W|fs|vWGUD@48q~wE;LQpI1i( zRZ*$4@`l(`Xrr>??276#+-Vb_Sfy-V?GoBRYSl`bkm*xK*^Y{3o{0zuQlCPFvXY4G z@|IMm&Dq=1oT#l-WOn%7&GIeEccI|o08CmRb8(<{0XS(6OC&^4S(0;O^9_FzMCa58 zw;la1QhVzLw%5%W(e*qhT6uQW%&$px9HEn~mIZe!p*1Irx%S#T|EZrjyYdJFr7>X(B+KnIw9&z?Y#U*);ayQAg=q(6aqQELM(g}Vp2 zF|%vhETK)PvIK0}-OwL=Asfz1+`<8YXdHb=a6L}TmyC$sM!Q^Z8WiKt^~jxl$9U@t)Uj`TF1yg zZlU00m-p=I4nWz?N1F5Z0{t9-@a)=0KlPKx@BUGk^tN39U?a}+%87wN5AcQ(_s+gNvB zWb&@Cxh~Xr4A7X#=O6v#_g#PaJF?mS*}eBCG_@bb;^}twdT|7HL!_MVSVC{ z_f`=DI@^D~sm>nnNV3UP_pqF$tU4uvRp+jDNCG+ z$S0b7DVCQVY7qN!?!gP6S)IMp_2v1nCJ#+UahTpp)M>EaML6ke;tbkw<^xK~=H6kT zqu#VG+Z+VKq|@pO^w_aU_qWR z;`8XF3w_Eyb~GVdsX8;6UbVwf-TlG{y_r&}T?T6rxKt|S0LDjtoW1rBesy(vyQA>9 zsSmAcoXv~*fvuP8CN5zvBkjWLov;dEzW>ptIsp(RelbRD0kjoLHx!i3!cw=X^-!1{ zznC?VCG{XUMa`!v@|7&MA?dpZd|VF8Hevsu$Lc=q}L!qB}3JaVr^Xk1Oa zSVwpG(QLon&6>flFh-W#SP|4sH^TSrBKT8(`ptgQ}ySg0#<)kh)Q%h!t0I5&OGj^FA9;Y<`G6m$EI491@?>r5e zEBiP9vDLjVIpt#F9E$n1A8b~)iD$$)WqVLdR8UrunNzk`?7u3_xzwj*GObT;eD6PZ z{{HXh`!}UJvghyrQ~&n=xLTRxx4$IyvDU|cEe>9h>I7Otmc&L?pes{eQx!Ad%g}Q=Wq9G^KYsVEe;DY%Hc*C5 zM}~;cRx;^&?)WR&-b+$1!3Jt!=8z`HVg$UK@}P6gfMmNbDaE#&;=jl%t27<;zO6Y? zT!VD!r<1*IC_Cu1o_!^(RirUK*!GGXLd8C$j)j<`m23jooq2w`%U-<>VMJ}#2E?+u z=QSjqnIs!X4bI5q5Ub4+T)3nrJQuA7NCBy}Spe+nAFve&Ff#x_h&l4-bTTGhuQCwT zJxouW?Pz@l*lh2nR7cPnL@=e+9>b;bImjx){RvQ*0&IdFNLxJ6G=b9K{ey1A$oRUB z)X|ZO-50*EK7HF`_xWze_$CIi)TgbfAZ5EC*81f5-7kT%^6*u=yyI_5W$%U0RA=uw zIG*x7VuoFS$Wx2h*yXX=xndXhOu2vb?$fJ_wW7Xm%ryzU;Oo7t5+*+>W55!o|qkP)v79u zt zflQ=VpxaI&nQ5WJA!`4KJDO=bH`-yMHJUT0t#e!sT&*c>h-;s|2qXou+0`fvB6eC} z6gd~$G}xu!Uf5cH*fd@Du`K0#u**FS=Wm%oMWwOza^N@EJCS))w2(Y& z(XLM9Oi{Xb`W!%|>S!92mj^Eb&}I<=Vi|DfV~AN((_k0nXI;cULOL4_26}I!tz}yt za08^LXd_K#wrM{8v6t^19Y2F?KcFui;D)_wlaAREZVbq2j2<`z&-H%DgRP0i8f%7q z{WM-3T#JW3+2}JxSjOnR`2YRrPyOs0-}uVdNj;^r(E}pe4)NjFwG&VizJs)XF0zsuznLIbUd`1IW`kjYgWd-6@#^TUsQ=I%RRJ$d5` zYR`#4Y;1L6@*SyNDoI-oL#++L}%>UL>XvU z38WyRYzKA;TXj+!YLU&o5Qi~MUejIh$F2RMr zPA^^U+?9gxcdG?YoSdO1cN!fOdqVmpXFyEZ4Ax~vs88PkC_i{nRwrEUX|n(ua1Lqw zhR|+DvV!XjAOc_)w*mS15C55aZ~poE3L+ zlj{|7f$YV0{`J(4H9vfiS(}E@1^2M+bUbt<{rIWOnyaWk*3G3PDKuow*~JM z*(5xk#{Yw2&V@0>HTCw;jax9}iVB`L%^j;noR71K>K07dE&%dA=^)O-GT^=dS(ok|=)Rg;bS3&Y` z0EG|_l201TvF+$hnR2co+d2Kxhh$%UhCY7~Up)}hg!D|)qyQ;353T;&ba%^;?Ks*M zH-t*J1O!LWXG+ZCaH-uk>oN3)_lG?ke^e2%190E?#+TDSWX?;KX8L-jqyYRs$jqY+ zmIi;D)FgJVeWYHTjvn!~eQQBU%=(7@r6bK->=2@$ z4@MvbI|1cZa2b7ay;sLZ=M&zR0f^GMnAof+2Bv9XeH@!ew+OO{as=DSjA)446IDG1 z8A#>Xrep#=7Lf`B6B+fc&dm9q*mLq$BDqT$RI76T)n;`IvicK0`!~P+rT+?Yo6Iht zstu_Um(}T4kKX<~nUYMY^<5AXh&UrQ{^GTwY!2IKeM%tM6-Xdft79l>b>zIbN!77j z-~7UVdv@zv&~uaRs5YGK5yLLu1%x-88gDu1`aYd#F9aqZJVc#(b^5qD z0<4wh+)o70B5T~1oGX;gd>KR2jE_Q!YMs&n*wT05VV!61wh~P%rt-$y3(t77@0N+OxJPG}rodYC7h4s|Vuh zH`;iYMW<8jvJywujy*8_$lLI}c_3w*?wwq8uZI$Y$)hoF(U;{0w z2|AgfaZ_!!_p&tSkjl)jYjqNp%_M04SiewJVG4*h)s)q-6Uy+D>v_-w6)LVmDiBe& z2U!4m`0|e~k6s7QDBHjL<`-HyZ=PM%`V?x3bCp^ePdOrDlg-sOASNz|jhm}StN~4H zSwh&_I{D!zRBTd7M7iIuSRWW+T1)i7*?gBWXmL+5f93!Cov(cH?~ApId+&$q(uXw# zV{aI7N%EV!t_^_lhv4$ONoV%i>yd&T>;8l$WBn)dW@$oIV-&fI@nsN~0beenKGQ(z z>^w{;VmSqMX@8Qn-Ox@C&XN<*AS4dpzSi3Fz3H{nYTwf-_R#2(9KAroob(c|!6WE` zDcqKO(J1b}-dYfw(%>~`K|att_5ZK3jI}$c(^%wWy1V;z;Zy@;ktUs+Wy{53ULM%$ zDA<+QV6xKLn7K4~7yyO!5M7eX8J^qMh~$)Egp%vBlF@x*!l8 ze)PME>p%Xde)dOx`k(pI7d}sH)R}-oI2(c{lw!mbJQW8Vy;O}lO6quUKuo#{t8E_g zN%|Bc(a&C&KZPcL)XjE@2p+nfYJ+sXq<_+L2%IvtqqW>vY|VFBuakoaO4ASY1G3)p zAOX3iH&WdMJ37#$xyYm#X{zn22rdjP5}=UiQ$O~(Td#jLihR0{%4U1g)MKFeWz_@v zmu<=&wRIZl>1G{|b)&?olisKa=XSj~oTc&|7r7*rwb}ieZZ{q+sa#@a`XGC#6 z1~nv&)EFqzXK>8xB2Ydfl8S=}TVT=AN@V$qzr6U>U;ayhnHMiJB@QSm3=ve-LF&cs zi&8HDBF>3GoHdKLiDv+R`^*0Wnfb4L{jLA6l#LUJNhw5--ZA^J!m+x?~ zXP3A9G&!w<*32%OLjnff^3XYh>!?FRogP*zRVD0Oi?rZO%HaNNPbF^)M(0??j?5Ic>!WImlTM`Jw1c(TzuAyZ+iDz{ec+ zzoHur?@`=-S`eIZj*G;A0Wle`A5HlIWYOKb*5z}bvS;r&eoxSr%%N~A%KJBJ1ulYS zw|mxjcJ0&6`J3M2&pm_Q=Tm$SvDU7`IKae8`61L&w$my>QFaBg0wg>5xUBAi%WmY| z_bNan^(nF$>{6Qwq(R170ER1XI2O6r%n2JT5kOQNME;XrpC{XWQI_v{tsA%gxmX^* z9&HGgXNPKQ5VSdmDZ0^S;%u%`6B)5fQy!?TiP=dw5}QY?0ew-2>&r(lFMzvl7t?I| zBATwl>sl!~z2BR9NQ7JlAhv-*r3vl!+gJPfGQzmzH9vg5SuUol;==&wfnKxSD^0z6 z`csJyCtv%?zvVR~ot~-&#{8^9DA|f|!Gdzmc2$;bG!O+48j7n5Vjp&Q2T$u(S3uR* zNS$*??5g42y(4`wjvePTU2hrzbHjaaqeRl0Ol(Tg=u%Dx+Jq5f9gsSLM^BxG7@+4A zgp6s>EsK87sR}@pl=nGo(PA=BmwxHhpFO_!hd>nw1%5`7`G8|M8u7*In}z!i#$e<_pq+k8kU+~;bh%Kw!#i= z58`nA9pGr@scWJpwR2wpaI&xsKxTGbn+1qL`LF)+Uk(^$D`kc*K5P;BASO#>q@%Wr zBme*)07*naR6bXge0IZDx1gf3AfEe1J67Yo8lo z|E1cO&TGlG3HO46WuK-^u?{09ySxqKCf8L;S{)1uB?N`pfmXrXZ{IuDQM4^MgsL%+uH2&*C z+b-w9;YI*~$@&^N4h{Dsz>uZc`H0ph0ZKOZ{1(_iDclZ0Dr7r>*I$7MY&?eR0AeCQ zo5j17Ux7XMEya{UmOOh-rE-pfX7>fH7akqv0wCBkuWIP#f(ppFpGq#ZK8tnR$;>=q z*%c}r)!K2AqzRNV38ZEY!WtGJn0cW2Gh_uWg5Rc}$NlS{TAjS*+cKmMi;V&0`E{+2 z0QHI=DwLJ*OdXe&LPfaP(`E@`?_;kGks%Q1Q6vvT{jW7h>uCP=xWOYb+wf;On@O|m z?=OAbC>lFybkitp9NYDAiC%^%Dy2824@Lpz2~zp?cZ3Vx)aA;;(lg@oWfnKgj@V^b z622XtC{z7#`cToP2M`G)?JK}}7o>JrVPt;Ng`}~U2Gw1YSz%xV*FCns^tb+xpZ}Nt)Yi}V5aaIU z!x!50+JD&XoOa~rfARCb^cR0LNzDq6 z9|E$d~a`q64G@MYR`-BKm42j@4x%!e>iyhHDgZnx|aLj zI*eyn=ToX%&md8;dvNpRKl2y<&6_X2^dJ4)zpy&G<)Cvih0FYjjkevd?m01q+A2Ij zGQAFU%r{&CxK6a`Q~e z;_Ob}>GyWmq;C@z;r-v&r402jp4qsh2cN?^`UlWxU<2Y(WtFmSGh847kH<~c9>*7D z4A9zE2^xb?w;3FrlpmSgtU__c)g6%ayk=On$B-p)u67lO-UKC&W~v=q6&!)Z(r@CS9J)$JJ6@LDi6OL~rUCA3 z*KJQ+yL+b{eC*KjM7=HqT1kp{sk<)5fT63vl&}kDiWtlQ$)|e`*QOvztSxqIBDM6M zOlwqvRof+u*)E!sR%D!utFpQm5mVwZ$ze)3%9K-KHYLQ1pMZ03dJo~^id6StW@s&5 zoTdZ^>5P`)+sbFhL?|Y|@Y?;&%uKm&&+q!0ig)>I$5TN?Fr_5#1movAB4z6mlv93H z>l06w=NuwX8!oH?<&afScgdiZ=g)CgG^g)*v3TEsT6pmgcke`$A8K_kJkD7pm6HWS zLJ!kZc}1HgnlrRj87PRkyeg}EPyrXv+N)o754e+^X*Hv>PX3Xy@Qn%;aM`7PoWq%O zN*%PSGpOZaU+farMkb{p8zKfMpI@ubZ<|McrqYGavqv9iaoVW0U7deS_-vbY@1cp7 zj`iK&-+(`i0>gv*QQUt#N2UndpReMYd_Fevj|C!pN|DXS|59IW?X7>ohx9dM%MQ?I zio23ENLEG1VHfwrADnyHDfe3q3O23e7T6a6D00sAPP+k|MkEBzy7EHraHab z+AR`?PPCXG=ja1neT7qPkZt5sq6*Lm#}g@&W&8d4!@@Xz23D8wOM#QYc9f4 zaSvAo7#IgPGt91E+i=~YPVZs`%C$a~>bR5D_Sn5demnvq*mH0JuB_${RH~nz=%o3XlMWhe8Dz@GK~BW?Wv?=Db^AT!z&i3{feAR$LxB zO+w0c(3}S{bq*C*U{hOBHiNCf22jdNNE2|o3=pXo<<4`L?wFxl{OaMcTpuc;z3I=l zB1+TRlIi--9~PFkEFkOCL9p`e4`xFfR6it=hcM~%l!!JwWz3o@haWk*_jY;{7b00a z>96_z!Q$ljey4KE$$j(<9O%qh$iqWaN15lm5THV4uG$0^OkA-K>KUqB>`Q&xo#?I} z&~7;XZ4|6IC~AXXZwKK6%6cLX(Fw}%eJo(zqOs#r9*t3>q)|H3reoBzfO#<8E$I)_ z>c%aC+;*Aek>C3GffBeaLn;kNVJHXxnb_H~ffAX0wZ|QA!bhm&Sbae|taZ3_J&VOolGzFiMzam=E~Khqr1=W=%)>XMoOyUv3)?3eVBR>+kGD^7^`ar zJ^iGNwEgFNFhahmLhNOousUE1ZbUYx{0yfo6S*IO^f{-xHZpnC!@hg`&vlpa3^Gt1GB2{}25D#Md#?3~xfmT2rq(l|4WJ*rv zesy;6;^NjHB&!7o=8Dnt$VCwHHo-76zAplRY>ws}CP%aML||%VHvpbN>S(yacEPb; zhx!VQ*7=q1sE@zqp90QcD^LcWdr=pKZx?WeOt5g88*O=yf@(GyNIkp$eapLFqij!C zw}R(k6P_Rw+4E#x^N?q-3(p(V24u+0wK)YlW68=}I1*95r}c@WA4O*(Jjm`vx&!gw zJ?xIb?K=Z#rX0)w5U`Js>e%J6&UGwI<-B4LW5{k@woVPGpMgo8>a1 z{6RZX-*)oZ>q5i16**$HJRSV(siL`U(kyDK)qO3+Q5Me>d7%xX+rNq(%ru){6Ia#u zCrTCJ$U{1+0#LgOopeGRqGS-raIvp;*?CZSs3R zy)^Us4S_b{2+0r4>|poG^VQ;bi|ZfQk@rJVOh{wP&-~e6dhPdrB_i@Tmh?QL1`INj zq!Q51dp5YL)8YI5_g+O-aFdskREyq;D>p>YmBxhte!L-;Lft(>k^oD56fOoa^AkpMqDOz3%@d zVr44=^|PUVyb<7NWb-1%=w@dmQBBo z%-S=0vt=puDr+}U{#wx|{Xs@Z&Bnt;oj!iUxgDorDgN%tNK z3cRhu8wbd5u>Lz9YcGlBfN3_7M+--q(c!K;>E5t}99-r8&4nqiX|oI=R%cBLfbw0~ z3Sf{U%CuRG4PdBxVAuavp+aP!j)?$~KyJU8J0BXg=Z-eP*?}~-$&?_0Jt2ZLM^GWo z01H_{7LJmsvLs@_s;aOz;G_>0=w#zlo8}~yGldvAdo>Y?>b5~@XFz1b)tc4 zGa~)N-f{{`AaOM4)nsGqc{X7Y?htjVII^fCHL1rIXgY(qCCknPH4`Zc) zkVI+R4uCo&8nFXvR8gIPh2d4qM zbj*VDP&^|@1!SD^**TLBSNUi{=|Pw%`2F2JtZ0g!=R zIBGM9!R*9Fv{`VmuXY8_DVv2UCR6NcvjjYjPaZd5s6K274jPLLwuBDvx0{I!nfx-y zM08)!hF%aKe{cwOP4Mw_rCV$9cQTvsN(Qvpy<)eq3LFBast+&)m-c$)6W?)k_i3bV zJ;UxF!JgU1h1_*Z#pgO15J`O=K0wmQDGh3!$Ux@^9EX^uMJK&JS_~F*M$W?*3Z6NE z;Hc(5y=^9-S2=gh8Zs39xUxastp@bDu3@q3#vwGUxbvnj~$051~&j?vs|qje#T1x~ufpU^}Yc7HqYeL5JYDa@#U z`&2}<9$1e_JQ|(mysew!Q1fJy=1*4ah^@C)Zq&5~l|wN)ig40s18IW_LJH^UfC0^8 z4NpOeqN^$qh+&HGqz^}c0Ns1;m2&s6I=>hFDzw162%L>6_X0#~(Ry9Bv3HV+PU+83 z6vMdZMWf{q8@;riF6l>6r2E`r(~cia+{JtDBICjjp;K`77_oZM11_MoHmBaEjI)SC z+I~Qo(+-+vcaY0bE=a3b_ zf{n_#3zZ3~Dxd~xsYMArVp#Vz7Ft!`#F?-Mu#C3)*$8r-!g(~UghlJzL9M-R*PzYh9v;j zpp}zpy>3Rb9Slb}FtAS;jgx^W=Nc3zO`Uf95! zRDH#{0ybXcL=~iJ7xOD0YnFGrt;3rN5(wbZ8x?X+ZroHse0t|=Ts)_C;r{dgXYbu& zY}?ZFpzj}J&bijA%f6j`>%Ry4|+B+jbnc+cAhZ0tMta&I2J5LPW$8QV@_5Z)|{okjmQ?}bsHA}jJGbWWFsG;HrW>X$LvaMsIGdJf@ z6}TlQ53Nf!Td*Zn>T3v$=5L4ler+~jaqXq7bm&NTW@ysikmx#}@Rfa3QUiVoh%>&d zX||M=OYC*E*WY4u&}SlbK&`&=;{5vc{tOX*O@5XpTe+xl5sKleyM4=r+W=P>E1qiC6G z!W2GB!QePI?K*lScHS=abC)#6POkX`pj_QIZM`^tV48KzyYlTgL7(TK7(DPDqAUTx zE08|BDd#k#)J-cb+G)P6b-{cGVZWNu!b2-6lKPB(g+ad{M$bjiuKmLR67>1jh2j(8 z2VdVR(ffj(cj`>zyEA$*WcuAE98SN zuC2;tV#AxgpwFsyDzS8LZA~-sFf<}MH;oK%9tn?`Lc7>iN8V_Pbq>u+&!XtOTyi$1 zv|gNY^D?0`cfH{1_4E4Tc>>CF8eBP*VHUpg$Y3C~_s|MZnuKsZq>rsdNqu&HoX`;# z$i#?U>{s-VR+W(kgufE}^g1btN*FCH*tB5Q{+uB2U|_vifolh=77yVVFiz6|#O6#d z-!+?$z>Ti%vwaC}NxIeQ@}4#4AO*7E27KX>(3Z3Y3nB*F3Le^_>5$HkYN!{oq8FT} z3}_p>K3thFq&4JCzbWrxPXtNA_zs%{9-th2Dx3e@FQ2vk0ETl39h=3{c9RHwv|jnw zddxcIXfuja?+}xgKN{#`pb^45JcLaIwrnmuWZXmu-fo1<>)5-Zq2aEkJxv~BFbI>R zIRuc;H5lxtt)u#im~~(r!{xBFxaSoG3vMrQeiVZMheOS8XC+>i`B7Y}O7z1}Ud0 zq*rfoy9QY3(#h6C&|qV?XJD(!BW~B_vE1EXLAX<@Sn2BwS@!y;s~649IfC8;xg)2j z{R-f-%ixJ~aA&?ffiL$G5;glZ`WG?<$ugpu?RI4CW|NKu2>hmT7B&~HNis2^0E0Dx`$9vLF1RP`2oU91gWFy`BK$g5?^`Hrb%#E`j=_l` zUNeSNYX(icF#>15-YJmOPV0(D-AH*9~3>689P6+Zq*E6Z5 z9X#7AE+$3Tn3^wn5^Pf5U z_#XlW#eLX~e^iw-_xoax8l<7C$aExv@k%dFpIR+E4&IPH@wST1;{Mmo_A`(ChUe7a z25JdzRP`3yt#||4mryIG`>d+_+&n{Z3^pRI? zHgK+tQe(>Q%2B%A=WAewUV@oaSu7vf=1ec{+qSmNnzR=r0Z5eqQ?Y<;^(zl$=n7jq zW-P~tiwyQlLM|8PUJe`?^9b%255DGLm*$9VWkR1FjeIr2?HaC8vTaSenAdUhI!G1! z!r3=ZOZrY6lFOG0){Hl$auk?29ii3h1MQdv1MEBPiJfm|*fRg?0;n5V`_35c8; zbK4$v!!z!fWD)MHK6p^TGiXEtFUYZRo?qD^4*no8M3W6jdG4x)q&%ss8y=4()JQH$ z!&^DQyQnh|Jjz+P7|gr2Y3kDJx>W1F1m~>SK$k0KTul={Ub$SH*v#>1-*ayIpe)P(aXc`asXsE(q!qAClY%bRarn|1FVmT(8uYBWYUp#v_n#7Kc<~7OTD_)#HBl39+hnaDn9tV-^h#ccV?9N zEo?Jft)fe?_2@Hs?sLk-8e??Pu4rw#=|&XiGNx^xlfjuTSyo*{5mO@#aIw5^U6Ipe z;ytgdC7P}Iprwusn(D%Z(N`@6qt*BwcbN?mjiLc56Op=IK*bTP$)#748>z};vfjlm z9@{5PAx~aJhc}03sZbMXVuVI25wh^uXbhQj(s!QNE=VP_-3SW-qHaWb2~~iIx%M&| zTZe1w<-4|d=HpfOwTOmmub$zQsbySI^#G1Yo1LZkSwkIB9d-8cw?QRHgEw+1_ecVa5Qgf3U}F>f-3jwtXpwE~3f~`p(LzPjVCqQ!!g*RIe>EpM#Ij`=&XEx9Ll1rYq zE=1|-;g6g3QyC0;>4mC;{buX_pVfm%F~95P!laRn(8@zC4?pp zI~L)v;F1y47>wWky;v9!;}y4Dhp03z;Qskziav)edqdDMn$5@_WP7O*uodG1h-xSX zr6Kvk!7<6XOlqE{QYB;rS5xLR*Cc!=AJgk0*}IN6>`e0m-Up*kGoK>)6FZcl4dxHM zYjR@6$%b?V+m1k5Gz2K~2+)j)!_j2w4a)_vZ7+*H4>WrheZImnbptgt?mn-2KYFDY zbpJOhUju`Tsm&wmerBPDGLcufedJj4^Cur&N*<7|-qC&Z`Ss0f8s7?pZ?OOXAOJ~3 zK~&$zGQpwY!93XrBMWl2{L<_RwLd{>6k+Us^y-A$dNB4Ixwstw#Hmw6wevh%d2+x4 z)(2qS!P!fxx{RVLDgn|Ae7~m@pPhoI{c8b&@{pg1EQ{obteE$@ zkMr=mIN*NxRC}7C-+|F5#w2$mE9$XyIl#xtqhsyB)x;&z=|1OV-qgE=l9iSXlm@qI z@sQiIu-K~QTimV_v0y*%I*JygdO~wvGMKD1nkvDDRO#fi$s@Cb7Nm$AoW=lPw%%6| zL<+q1%!!THBx${(U=3AzEd><>4Wc5)fE0OxEcZ_WI%bcQ&mB&LfGD9p#PhR6?t_sv zwd+bkIQF1omDDbDa31Q}Bz8<$3Xe{<5i%zKB*Ja?C6%2+4jtTFlow+}1k=+Q5v?p4 z1QaVt5B191&^1!W$wpX8GR$;w`i|W`k5`jL$tNI6C$FZ2Q(PRwHqxFBFm+lSAw`ve zw2-&pwtVnayEy|Ja6{Dz%*HD+FC=w!_ca^Xjgyh&_AH{ks)Vhnya&6r%^B1}o{bH_ zq^t7iZQHyAx7KV$VcDs^_~nSod)^q(U9ABMxxQNYV-iH6ByN4*H7J%~mRA-vc16W8 zw`WqI3{B-pRQ6D%7bh{W21VryK}g&h9XXu@)(` zUR1|GRYH2>77WkSW-pIpKm^;IKK{{q{Tv`}*ScIPzv`B|Ht&A+IDhYnYjnAMFr*5K zJ>x<+{bO;Vs%{Y)rl#+Ym_I zfBXF%-#q;B!!5~N?@EtvN>9X&u=R_~v`w_eQg3UW7ySiuVeNNf)$eJcd{PoNMOR`( z(rc_fGqUnfV*etDv%jf$Ruo-Uh-~UAIji?~we`4=A0{g_U*lxt$qLZm>7jqt)@<7W8_%G5=xckSXj(18~gPvaE7!THTV?m^Z=q z6ffR2uP^7daK-QNxWGb}X-mZ-IhD*ej;_>xY87CHHV)cHX?pVc<2r9={*_t3%&%d_ zvt##mWriEd&@Ot-MUw-G{l>l>A7M1<@aMMM?7}ew zY#UkaoLgd0G2Vd*T{ke6*nmxE8 zvX56~ly>;wEzm%fqV^`h9AI06jo{978?W`e z_9brKtH$}i36_dP4Ve?1m+}-uiM&9_ancoa?C%D1jp*5U2 z`63Cj-wk4I&WZ>cBf-j*68$~p(L>+AwiN-26z^s!9aud22H3!C{a|*=DkZ=uj{V~& zTZvvoiD9*b*~;_Sty}CuYg2Vk2(!{zO?&o{*OX9^CPGeikYG)gWv~Slxq}U-XdxZv zhZ&V%pjZJ)P*+=nisr>1%ee?CHXA^L0kweLf(@WnkAE6mgPhx8?cEf`9midS+n3N4 zQ~}O|?QXLpCS@8EnjnGW4cI{+W+?KSX)pwR7d9UZEW2G-qM9s>MCKeHKF#+1K-AhCC`4BMi^Zh_iL z1tz!jp;Fi)&Mqd5x3~`Hs(Dl-!;JUuJ|b1I-40nu0Z}!T63=TIo?L8udqJmKRwoST z!Tw5bI!93yL-t1<|8WHAy@L$q#qsI({OpG8+IOEfVq?-o#I}8X3+6=bpmQNh>(iIO> zqU<#ihF*DaUrX7Pvl8&Z0Tu|1gX3+#ZT(Ui8I2G1j%9KGN&3A%I9Yhc`A6>=gs7Nc z(*a(LjUU?E%J;kR2JN%v(5&$iWB7sZtLnsVUnU;UOK!Kh;IFrp^8{ql3pR}a@ghfy zE_a?>%vOU9sRf%2^a8eZv{ovPxqS(>gxwBU@UijdD9YQoF_eZifcE!szH?C3V_Sa? zDoGX0mZ+ri#5T`_$t!?eEr@3rw`>yOX$7u(p_=WT){Gv~kg6OrG~@lmkur3a5R)l* zr#sFcff8nPf^fT8jpw`&dd2Oz zH{b~eQ6|CVbyT^rPWPjx@|2qweh39Vbp=~T{S!bfAK3L1_ceX|*ofpNkzTN=6P9;D zRB*cnf%LIk5RTvdne$J+9s5odu5wf_@0sm0SOY4(igyvUyi@N1QY_~Lib%6<^gN?g z8ke!338P?_8dsWf@4p$4}H%nNt=ZV#`juSwl1r^ma`t-~?%nV6Ytr)rqQW|NRfRdOm$iGP|` zuZ!|$LA6ZFMhx{}wIVvgMJMG@>tr*0kZ6R}f)Rf_3>6jfK6}l+Yx2Q+YHX43 zuk!#D>4nfex;1p&7pLMFwk3U}t03%~>b~ibd>-T8J~q$I^7M?T$FQb+0Pu(b{h(R} zjqle;a*{dhGx?KZ_0T#yAW|bEXFS8qB%8+yy?1UUJmhSS#O9^%taz}U!Zh{W;&}Ht z;74hnW53Rwj`9_fhH{NgNk@NO&0^wt6Zz7uR^V_IW4b!_VCBy8{OMKhR-Zi0*9;7* zEOMGl`Y6`xjQ%+dMHlmj$J_<{==5PzZ}vY4=qMn29=FJ|4&tg;CaTNDkwlNFwRO0u zQspXHCHAd3orN1 z%t^yq2k|%OpZW%GMd^qX>C(360O{2OZZG^25p0316VH*>W+uHLUBEVAOU04iXZgE? zv+%zAJw^^8X*{V;z8561Z&-N0OW}G<6OHyj;WPAkUyZZ*5#e>mpY-;7Uw-!F<3Il0 zZ%1r9Z^|4?n@bQQ0 zU@u2NiP$tnFOl#hLEbJN{QB9dmfjALdm;N^tfohZx`$eV=%C#(w#KJQ);uKRNRt~J z4|TWeg3?EyY}>Oeh?Fo<_h>Gt=pM&a^v1twwk*4dxxEuECwE9qoSc^1Z zj~@Q$kN(szJ^AR{?g;ku?XTD8pXFN{?=$wsR`1IkU^n&VQhzu&m{SD_9($z4=_6CG zXWubB{q3}p9ZA4BL7(+lK^v(8Y<)y}iCIG<8|&DYJ5s^`z|Phz{KlH}`yPFs4$r)B zvM#|~ojf-6%Lop3HIZ`(V447|=>K#-GbD5pH29c5B4 z?{m9J!g7@`Rc%ZJz+kWID$dm^5sq*e9DBt}_SS0fD5N{>@YP^y>4%?*i?-w%7HSD@ z*~&`J#);3iL5GltKn$)0*G6zk=hH9zsru!INrM|t)G(vSK2g@Zls9rH6?K0yR$@U& zzdW(%7TN-&jBS&VU+ty3PwMrh1Zb1XA7sB`vJCU8NfLa~S!0Ii&B0 zXz+;O6%<^}lgDNgP3)mz*TR^VJKAJkyA!y=_pC1hcA~-TWn@I99kxD$TKMsh9(uKM zJ5e`o;uHW-9>dg8j*kecBE97L8Azc#iZas>h?&Y2=@LvJ?b2b=mB+*_l=9Wa1X3^? zb@cep|11CDcYp1_r1Cz@h3Iapii#6yBE5obs93rcQZ4RtdjTrIbyVSS1z|)0)X_Vj z675UT&@dZN!R-YV$FLiBQ|Oia%!Ztbw{vLp+VoT&39mfRt7Taz1o2lIwx;p~+)9@P zp=YJQEy(pavo+vGRrk1ELuo21m39?~O0h!WLwkkU z{tAe42ZvOqPhxM{WABWZ3o5G5fAGQcPe0AW7n;{!d~@FA?(;fR>^H|sF%@g;7@l|t zGPnXpc?4u865PqDY#uaN01zKGAETsH>ktPJRVQCG^^2_7Et4|~Y*z0zoXtueLJ*Kj zOpM6y@-3OpX$aUS8gP%lV@IgCosG}*60`6>7qzz|PqNe0k+QT?k^u{~NZcs_Fcn9l z@YTh1crP4>#8qPqa-|`>se?pw?>}j%8HdV=NDT!!6DPhra{4|b6|$4NHy5trD-XYe z?8W+r$9S+P3L@|=dtbWBI8nNKt)TPtPS;-?(z*&B5fI=RdJFy8&6jOVI>h(K5sEa1 zA$6IXGQXO&V*lZH3Fd5nf1zgc{K-e(_E?Fo&wnr@S{SS-4P{$u)KG2~qD==KGrZ5l zfk&U|YNJ=pkVc8mrpx1QpRf^BKC=#&ebX(F3z|($A(^8NNAD7R2? zBp!yz0T{O%m<D?e)JkP2!&VhmR9|^KkrO*Xi5awqwdgK@uSW z;DYv37H#;#u5fx!iD*M`MjlvrlX!&)Y)ySOWVyyYAON$t&r@;Sd?(l&GEjMZkx!Yz zDk;;UJP;fz5|SlF4SBvJhi3Xr=k%%cq!46KDzpG4h0Oj>fGtW`%uCWycE=WohOODNT_<={doQ-8);nw^^w2@hB z7mG#Pwm&?te8bS^33zC%$RIt%q?ju20f5pKCyTC*hH1-(*`a1Hs(8JO=2sI>^5pM% z+!1G2uqeBXn#5sqlxlvQFT6b7=dEdWpVD~kl$xAVSKKTJz~cBV(`?udi$R&oOz1>)g@D;c_c?eyH*S0AEkt4hCeKhJ{vd^n#CagZnXm@+ zdbvw=pcw8_BH|oUuxxbG=)#qyK{7nHXP@T7o_c2Tsn|&Jn{3tUALz!pn-@^F1EV+k z##^tyAD-AI*l~Khlq2sgf+$H^%^JnA5a+puUL@)z>|s_;aBTxvT0VftK>O7|m$0>G z@)|Ee6KLQHVAvX}aLi>YDp(_oY`ay9M{F+GTmWsfK5}esYryQ0YuNf6W((_=1vlEv z#+Q&<0JMB0kEcqIw%aGwqn|YEPoXqGFq>rhcpXc}RxVbcLS$q>Ftw-T>$us8H)aiJ zP(ki}o&K_%4HU)kJ6ac}S^w7m{kOgIq=7178hL74`?b-MuDH2?Qk~?5nb|aeB{}c0 z<JXea#=WHGwiA+lTxM@T`WQ^d zlWoB5c4>!FKl`=uhMyp7KVfi zqh>zb+eeTHM9iUXQF3dNom5u?y8~h9_%j_#gG?nA<4#flloak^_&_C3`=ceAtNe<2 zwNLrnj8H|N$wI|4j~vE;Z=MqP;#_hh5D>aUmwdUd2Af_^&LfDxWykRznAg?Dyi%`V z+0;dW8}Qj|HvM0|^Z1>s!U4A!@_Q|@gw2;V9*UVUbPfk^wKTR!a_?u1*w)ScnEK+N z{V+sxrkQa#-OkZMlS|gDdlk#KT!()7C;x0OAQ`xbs#fV%B*3D<owVcV)o` z+n!HsQs?Ky85}V=G?7UC8o{RoybJ2mEw}|YUeedb>j+>+P?g~0u3@888gj~Wy2Yd{ z;6&s^NlFFS>XY{Y4W->F6mPshvtG)?v>PZ5y@1_{6pSjp+Oo6PTZn$KZD64_iM4H-JHL1X5I;@BAFtl3pg*qk>xa@nXpxKnBN1 zs_LiTMRDroo|A(L=VS;eIN){zTYG&=*2@Q;8|44cDUgI7w>7sfrK5w$zHQp`kLs5{ z04(Vf(np?c?JB1gw-^2tfn_Tc1ermKR0&ehWmv)3ol%i)&OZQKFmt;BsbY1XROw}T zf&^&s;)CCWs;F2=bp=5$?m<PVDrkPr1GYY_U`NrgUi^U3e zpVywdCnv*2QO-)Ai1sI;u#fGKxvr(UY+=f)g?AB2*G!$L$aQ>03N}p=&G-;@U{wjF zH!6#+x*0wXnW1hZ35?Cd{kSDrvjzCQum4>46-ag4FtzftZ3dKw1jA7wVm1{U zgxhuUj)Ou~JOoko4-b%a5D%vDUgO5J9yjlocG_F9o@M`KU&S+<8_YZY^TFb)ess0)`HQ)1 zRyE3-QHL6nq%Qw#m(Q4XMgk0=-8^w$`=j6aKZYu+y0@_P+9PhgTe#Bf?psr@=tuR& z7>_^s{PJ9yJZ6^tWfo}52BILb|3^)zaZ?=vd}x&vrQ7=v?4O#Q0&NU^f8Pzur=v|9E(%% zCP#5q-sC*h7AL>BC0)bpl|4M~!I7+mQm~Mn$N|kkz#-bcS#nag(xh#?OL)!z`+^eP zXXRSO@&@lGGelT=EZ3>zsLlrr3ex)AWEZWm?mE-)R zsRZ}up2cD3M!T(HYjC5Nk5-SrCXcNv zkb}AWu+a;!CADC44pN{hc7bi7DpJd0`4DWVJn|~)tvlCI<&r?K#x`f9G>FNaOL6_p zKl`r|DZt+Q(w_ixyMA7-?y=drW+c6ol+9I>G-op4!C(B^H(|B_vDvsyipC9*cEZgx zPaEN_ex{inXF8NwKJv&H4&6i|7RKF;{>fMSQ z{!N2e?~E3w;DBpnTaN*?G?~&kCgu@47*Y5ODk680p}?e%*lgla6LEz61`Y!GQcCMQ zdw|hMHg#*pFsb6-{CEC?fA`=1Ym>b*CYs!TeKiSfk97ylD3lpgF6JRKz`>1pP>UG@ z3aw)0>}<7lg1mQp;kDA0HBF*SGI%)ADJ_gwQ00+rE{1l@ff(lW(R*i~|M83_rO9Iw zicTg2dpfRb$h|rGLT}nfDQ)c=Rs!{kgU0^fl}Ux~ScSgL*V38E3r0@wZfr#K#z$f_ zPkngsuXIv5eu?;MTKd2L%d5QFL^aZ!9b_!y%l0W!72EApJ~h=QJntd9pVjHZ_1V+W z@9)UqXvUMM{5+dSW-%o>uZPry%-b>3=3V_V&6c2%Wk>mY!K)1Aq39;iIJ(_a(_q%UqO>Bo0MF^h;EF~X1#o0e35{QDN+T8Q)*ZHKOCWPjz=Sr zomE34Ke*xLb5j+9{Y7L$sHUJ2Xhivey$@bioR_jL7$_3!6a}TD%A6=>*hqimRQh0C z87Va(L{4+=#H6u3F|V{`Y@gx*!_q8Pv;*}t>@}S;C+z^!D}bRKgShYkyy@OCKD>!K z3RHp{KLP7RYuiAtVAfFyC(I6cDraZs^~c>}UL2vl$RW6JERh#|26-H{f;|V7en3(@ zE)r69>yJrDEHUi{3?YNtEugA<@7HG^_#0JV@-nqU1kL~eAOJ~3K~$A(oEjWNGn~<= zk!Pj~+(K2bTfjmcg(DLb$7o+>%ap1_uQ}yx1%|jQ2oS=uCcWhLJOcD=s{3ChRcxRB zp6fCyR_ydNg6dAl!fY+40wB^Ao2@?#pz8Q>efA-WBbbd>zX_I)R^*99m;2N<=U{-% zy)XXsiy!lsMnvTTP85-rn z!JU=LDIO4;btLZyTUjS20CEJ%B0;4)T}@KDh@P+mXWoXh-gMd!rso25_|@YT4hP%z z(B}y)dpkn2MJC=&+S7t)Bq zWT2|!`!iaVCNVRCOHb>b6mfd$M(o z)*0})GofdsDm_N7msllK2XX?rG9y(twGDuO@4xw7DweR~x)yoUW4V7Q*yo`KpdR`x zPJ{i_zS9WExZ#1R=HzbEKM^$3D_xLM<&xQ})&_QqD7~5ty>Wc!3|`P)*1#rO(y4%k z?bUaBrZ%ND@%{&Hl4?0lkVo<%bZ7^TjGPdPo7zjeBwX*PpaQQTkrXwC>-QHD=BWFe zez_yT5fwIi2Vkj=M`wgnXNlk;&@3o;bhy%-NLuFyFfq$;QY2d{PQeUl(N%~XaQ5dD zRnDM4y~Sb#)C@fLmG2*`nRX9u)p{P}NUc!^vEfKmoG>ie$A3 zWx-W);NgZq1?$R0H0dL7OCVB9kg8w&k(l_Yii#r-Ju6Qf-Wg2@_ zev=j_V51htsydOwC${C$BR3@2Y#x8*=Rf$){{^-Dm0wVxsyh7wpuhk3|L5h&7XfgV~8I@6!}- z0B>T?S9l#?Y^ukXpXd9k9A7w={*8xxydX*Z;Cv<^M=%1&-TgHYP67a?7G#i}bX zrmr5OUbQImR>VKokv|R+r)V|{HAGEzpTDJE>c^LzXf#{tk^NY`#1y8Hy^l#(Z0dP^ zBv&pL$L;of-mNK_zkRx~J$>h=&OZ6=!B~rm6}RgF5h10K9S!m@${(jBjSoVmV!>@q zx?p$B5J(4ay3|}QWk5&9s6WMLfb0E6e#T(!tz*<1(gB!`>S3K&NCPISD+C~zqw#n` znhx3;CMpPXVm4^4z?9Y`3cqbc51B`nV)C?cnI+xP6{#_goy3WMbNqd@HQF*k%oGs?#5-&%Ot8+S%5tk+4@ew)}_uix+M`NLvFl*?AS78E`D{jvH!nI_x5y(5739(r|_|oRt zhmIbukKQg%A8bDRKFF_}Y>K1D?fNNE0Wh15UOq6*IjNFO15$c%&upIhF~bg~P`Whr z8NdXpj^5gyer`+oE}XVJnuD$$B*`LETgT+@5DU7m zSl&nK3Rl>-&0o(l^8QbL>&0gu-}vEiiB)cXeJW38d}C5+l=y1UWgl`h(kPavwynE4 zW;gTNMwT7|^9ClMtv_!rGC+ zNfA94u*|a}0?;gy0$wfC{U!jxq6=)2H8$vVj7xY&u@pb)$mwR7d>RH!UynFrQBoo! zEb{8!`)2z*vv|!!A(FJH0}6-c72Go=L?@$*@?6GM(ZxiH29zIF=jWXP+c838Gv?JaE4s~Rv z>KIN$!pYDp?Wzo$vk#LuP0tm`Q^gIyP^FW?pz1!{AsK~-H>4Md*10$IbJFB&W4htQ zpvmLlsswLgx8N2;q*rX#06{Ndw*pmb0gk<(B~1N{^fBy4u=rx-4eA)&s^w#@UqF?B z7oHZlycH;4Rbcj-+5twliHg1dffSXeXfOOaX2CV6g!OVXq+qsG9&x)({D&N=Z1&YP4!+ywM_kHp~MK0kMv{N3j&OF`%NeVN)63M{;R1QLh9bX0d70>?l` znpB`3LI8(7oiJ2$N|UMntJyeSC32^F&?nD;Q7CsEnTAxx66qn*MAqqJ+LxG=rRwyZ z?a_9EE+=|t(kiK)oFMz~IHXQpuicI-{Z3dR8-9IBvHn{#IYPnkb{t@6JEq9_rtJ=U z?WcF2*ZG<5DSJa;&HbZ&+O=+6B51z^c1*XS^$xkny!h;++w&HOT7J`5NbTBxNB^AE z70r02?vkU=V@tuMmkUaOyhHa34eGFUP%zfZhup5ie=bhHVCoAWW{^j1Or{zq0AlBi z4M}*M`U5i+-aD()4&tEIhyPUkf}qSET()hZn31$z)Ht2P@gEXi3*fT*uVUq|;Ssa| zAV!>2W!8%hId$-EMCe$g4^$zH>4?j_OBrb^W{;h51O%OU0te*>8#Nys{YARQCM5SZ z@913Mq7zS2O3u~Z$&E50JEyc8T8UJz5YWG@Do!8&$mYez`DH!Ap25oLr4#@vjv`If zohUH(90hw>RYyaaQa$btA3y0nQX^`sl*n16GbrHK`B_)ABBV^DMNR@#SBoQ+(MvS| zxdA!BH^&sFY!U_MNhgBLTd0Na6pqlmXm=E_o8sg>TR-)8A&7J&0mf^dxIwW5z*lVeg-$a!sg z!l9RMvDrWsPWVD>GpX=UwG)*t*leY=lvp3X%VrC%p(;SduemqUOUeEm`Yf~CW+{fb z0F}@SFoPRfJcJmqGgKk-&eTq;gmfhhE9_=}NUSTEBaCwn{E#Rsb8LcCOp+i|;SU$_4Tz71%>T#2qb6Phhc8i*1m**z@eg|B$=G^637poi%r#Lvh$=h%6D0*Kpfw;f20 zo@b|m2~IIUE*>CDh=i*b9oCEc1IBtp@;sGY{JNaT?WA6Xu$#2 zoa>^109K3B9?t7^x;sfbg&~8k9$Ml`p^rsEXRqPB7a20E<9$zbDsTL4rVKigJ1}WdkbOmmmCvzxwb0#ee-j z_11-@=S>@`?ia`JihgvA*p0lVITsKdLHfo<5M0hnEW|}7O~i<*`;HgvQD%Qaz!tUv z3X$qoOVUeN!_7IUgen1I@eEA#2`r0rGAXn998dwerD7$3vO}WTLYKnDc7$$H=KN#P z6`?Xg@C{Y>K?T}1xN!ruSiLP-ys9Lx7u9tFT9^xG8p+$|R6YQepc1U8yeFI+wE!tL z4M-Qq@8sG+1xQ0xX8pumd?dA*whOzCIr~oq& z>*a|{@Kvz_Y1>{wqa{C55FV<#+Q+d9-$&}0n`?*snQ2vKV<&Eh$?eg)ywUeNZm ztuT+Y#)N_=&4V`fHEA5I3g=6`@&Q}>)!y-SC`4ZgR#+}Ko6TJo{wBf-oxz_g-$}t# zaCpZ^Flxs|etFjtLE~u#&G_?9(0s{h^^1S;ul}9??mxNl-Bk=#P3|Q++1V`AE>&gD zt#~*w2cN%|(vY0u5RBWsNGO-HGj25gn^1bmN#P`Qs$%`tL;l1*%KXuc03!jxT^Kqb zW;YhP^ydqWD(LOrt@t$tFlDuB>h;~i`i6ae{ulq!|ND3T+bhIWd;RB44&-P^H=hPT zgsEWrV1TSH7pB=>w&5&a5czsWd z$zWlsM3y9A@j+Qw)N=D7!5jhTZU-e_7#O)EoZQZXMU912?WDK z5rj*Ti;Qeyf-1o*l;N}sQXfS*K+02Ka%#gQq+|CAPQ5TaZYfUCzKlwM>_vENoeU2Z zPi2B|r7B=s;qp@fRl+th<{e4gy}oV47ZDZ!l_zYsqHtZT&~8Nr#K}FoKQvokK9=B=QYnwadZfMP&3+@~E`N8+TbIlPHUBfr8FQV%&O*5Q7 zuc58jUR7LDtbD17#ag0%v8q1b?RV?O>2R>-~ zci`;NF;5W-z%E%H>H@gTla0JW-+g_jMibFw&k7Q%mk(Gxt~uZ9W#TU%yw`5dhF(7< zha#%GW{70|gwbh(cOwQtIk)ptM47B`S4DbofudfU>>AraOF96}4*-eZPjN#1a<2B9 zjt6`E=>2B>LYgjm#Z$XI%R4Bao|I~-CvTLBV+6sL!04AYar|ZW0k#G=q89-Gtv{k5 z0CL_FP-%g)Q}4}2*t-Fm4F4|@F0IggVx>Yj=2^zXxIPDIr~(8~fp!yzia_BaLk+c% zQU+4strtH5w_Ck>#La~?krU!z2COQN*|uISI@AOhspRk;p+}G2Z_b}C?tig4e*$un z-=e*vs}nX2=>-_zwpcx~q6cC@N>?XFWRzqqkt+2N06{};NMmKKgE`^#1vfi$Ji4|Z zfc8%^X-HUeXVuuw^06x(#gCaRy~+^tR@VZ*QWcRq^!ZKvs2ttXJ;p1%if;IslW3AB z^QFO2I*zQxc$z2mK*kJq*q?UN&~*+q9q5(M@xelqVK(sxzyIxS5>{4h+g)q;Snp7Z zJ}*z-YwH&y>KUe3y=~i<<7bwgQ8%+m)m*H3;D=785!+A~OWT}xE@9e>#mPISKJQul zaqogOEQ~mC(2Jo4+3QGV1{FG55$a2s2fT_Qy;$8h?e-Nt1Kmk{+~BAs1>g=jN?#@V z$unYRx=lQTTRCIsbzG#MMon&Ep;#W0ds9(mZfvTgP;;{b;GXo%Al+pmAEvo>{*@gH zXB2(*<$B`lH7mtd<#Hq<>b#V+Hn&?Jhp4=FXtyk#@L5WJ) z#ojGKT{eEd%l_sbuf^+51Z>W!Z4ehnZ`tM|K`JS+uv3{Ij4HuxcJLDt8KUkOcF&&z zjuC6tIbXYvXm@O@JE}5j$ig~R#=`(vgaSsdlQtxIYkwWm3&-UYYICqLbU6{_2MjVW z0+#KEfe0t6%-JuP874aE&E{n`-iA3M{s*@P_N}~AW^{H7L}e1@u1+HnXaVws<)EG{ z(0q}cUL;65C3c9SWn6--S8xtOkwWyL@*&J7pO{`Of*X))rPec`0X9_Lm!U2|wuLI8 zG^|mpN9-_Aayk+VaLdh^V9Is_3bvdUB8_FCS777G)CzFw91PNIwhmLK@`USW;Fi<^ z+=}M4G*>HzoL~`~?&elj$U{;CVdH4mOK{_7H;ap@BPo;ihXIL1yH|0c>O{!Y?&N@5 zs6sE_;`YqL^oFRQVqxoZKrbJCyXE5my790${i12k<>E?_Dq*)j`%nJL zCx7_c0Gf;EP=(o?fkDLr)=;s4ZFO~O>I;xks$yH~^2F57vK-J_0)ZP<9y2VMiIg7C zPIvAoeMXhK!k&6qPV~V6i>t_8(Fg!UyI|j)22hu15Xxy~`;wqOJAyz zXnbVyNK<3zaGmBb>GB<%#(fK~;t6q$GsU!9mpQ-xm9M>c{`uX0_e1>Y>~wlYV6SGd z6K4Y)$hT8jU8#;Y`~}5~bRZ`vjk>xfk@Fv@vMBqNoe?I;*;@ zZF}!YrXt%(hVpKY*=eDYaWvbud$$Rx5f)cmcGzqq=G%|29BNE?sw+@(BCJrX&_6|> zPW_(^?eo@`e{%ievu>0^=^t`Zyx1uaM9!7YBbM-}qBhGr0GR*;2WGKDuWap0<|}!% z2zrLga4uoo3A6yEk}*T17l5(NS}@tr=0T&GZ4$E)xB(D2lBAEob+o7%h&ffy`y}n| zV1(Fd56+!w{2vN`Uu9l}0>rDHk|9RiQ)I7{W+cuqR;9h_0%f#`fa=CaW9cJRh-^0~ zizqqWpzVm8OTg|agOA6G9f>j}gux?|_!s0k;0g>XjuRqtm^eYS#Cka1j$y%#T(($>C8P80+gbKUQBnfi+Mi zpxX84&ZV$izGd4B+it-|SNGU%&GrR|NGSkBip`c(`O)`(GaQ)|i&JZA(j}X%lcFYF z*>)o&YukV=3-#MT70G%Cz%t0`fuxYJN+u!ZQDO%<(esV_2LJX@q0&K|tZ3ZLY34Hw zUX5pj?}KYJA0nbn*LOSJFQm(TdT{!VuRa#1893lUTGB1`3U{B|_L&zGANZEJlM?q- zdZ`EU+8K!9;NawO*pa7}H5!h0b$QaWyrU6l54+stZsTV#-BKeZq7xe&kMvOnZc?%8 z@#3ek*TEy?e*dbuMogpt*ye0ErSFk~}bT zFH7N`zaoY-KskqFcvAdvtZbHhF%oqr1?^j&bRD~uooH)U_Xk(tQY@=Me!uwb2uN zLt^UC(a2(`WGjzSAql#aj+_XLvRB*4ls#B#!*h>l=CL5>$sher_C|t91*KY-JF5hx zO^xPAWKxA6nlH0~HXF675rMqGfbJ@Os6<%9{i1YN<8~v!B8`v0h+ij9%O34wc90)O z0s$r1nU9OO{iT2DZ-8455qjorklAt0-Gsni`V zBSc#HCM94OdCxt{qiYTeg34feZk1m8pA%lQQ*V$U)`|>*yAFH2+j;k?GVn0+!-JG= zJTxh&7ppV!V0b*6W5i>Xz^YD9R=BfnI3QI6%yHUMYGL6KNs^+m@>bx;kk$&j8C#>>Io|{emC)?)1Vu z`r03ZNKL_t)9tln&OZ-u2^OgSb=Os_oZ zy4D!?THTy^ssJR*mgmbyUfLdgE`30x(=PwsdY9?PtL)$F&QGpu*lS(ztuju$`&?mG zl8@{=uw5eMCXNk=)(rsZl_+x!%%kagQcSv@W(FptG{>^OetAc-g5?|&if6xXSg#=- z50L6{UM{!q_*})dBOQtnHSkot#m>0h&eLKZ5wf7(+DLH@}`ODw@Hm8=>vu$Q`PXs=zH3PPr9B zh7)6<1ttD$18=H|g$TQgg<8KyD2fHgkcmb_V5B3cSisukg(yK32ujPbI+J&MOYmz# zCiT#bR#Hus9;y&jBPby?N3i@Bh93$xCo>#+i*agYLmP1r2K4%$#g<=6`RK zhfLEV3l#nfAyINTCiQp&BwwR+%GfR<-=nJwj_CbL^i4^)`P z*V`R+7zv)6Pgqsz0zMAWn`${4-e(8QIe&4C1_E6E@YSyf?%->b-jY!f}1!9MF84`!b@DK zCm(EE&+>*}GYO`q@(5gm6e%Ym#d>j%*#OM8_O_e`L_}cQx}R;kVbkjJn9W9)M-GEF z^-FLIHs$Ia+nj^+`s~AI^9-Qv#Zyv+Z8xM!r+@Vy|F7%MK6|m*oWJ<=yTOETy0U33 zuY3K+``32CgUDF#RAr@n2_9oc4;B&cYf3{?@n(1dr?~le<#aT8Da?S}N&Z zn~%5fF{)g7rVRDy{L~BCRnJLg@M$ksU(#j$lZ#Ua(Q`S#A3T`hfkbrHK6_n=4KI#QQQk!fS^jjDZ1=P45&lUK>QG4yr1GN$73>X} zZE*dvN%PtaVva**r0Ga?Lyo9s&WWQPqEM{k-nznnO4NI!1jI;@3gxd)iQ;xJgo<#n#B){%q8vp;435Ez(9vyA}~`r~0ib*bShd z7ed^Y@nZw}BPSU|04*MW&0KsUlhj;zxLNr{DN()Gm1nPqF0+DAhj({h;FjFi7_e*K zR)%z?sui0pk%p~RdCIm^F&pVU+IV*P0d}gjQ!EnhA+eVc~Z0nwN%%DRcXO1YNPk!kw zFIQl+)>jzVNtKeF>GYtV@BtzU53k&P?mqiMNYjgfoiPaYuCkcB&+82muJQ8<(dWy( zso$Q4mq+fc`Lgmajvtw3olJo~eG*EqScsVfW~fCja*Q_2_fwI%M06hzO63 zG3M@JaNtX3ox`#FIGFFL1oNdt`j)aam4{xI#u|-MNV+gFm;bx(3>NJI^7YdO&QQBd6{}# z1j=>iXe2HjIo^op8H3!BoYc%7!3^Zz0PCmS-2s}Z0IWyo#vm_>&7QT>98NT4gnB<1 z>Wk+eefYuV`N#fEJAdJQGF2HRk3}@RNhs1`V3eMEOx@ucILI*GNe_bXs+G4@^j|>Q zhB?OSP+fA@Ne(9*%&jXho6QqY30=vk6Uks8fd& zIni95s;Iplm|iPY`L1m9dOu}ZHcd05Cy4L*;`Jk&=&h?XWX*wbO@_`H{uMI~>aFm* z=Pc=k*uuQABWeydy4SKlzWGY&A|E(uoLYe|cXqg=yGa*p&B(D3M{o2UIrAk@n3OxC zvw#?i)Dhd4LozZGuh#eQq^k`E`K(UvuU|etXhd}4aX*7duNo1X zxn16dxJXSZz21Fp)NXQx?k1Xd)_&Q$P+uo>(!Xw$WzUC5wRSFUG*p0E!^xbB2Znn=nuwr`~%E;?R64aOC-N*Kc zsEa9E3+2ULr8|0eiR{_{cjjPOn1D))uD8I-{txB%I)BWLcr-^qxf|9c=mDV%zo!4{ z`hlM|yw=6tNC?O+qgwUfoDBxgYnI}YZ7ed{dSRRiz#bw@}V<7-9U)G*P*BOWiQ zu674^x?AtzD(B72u8fMavExNB_ojNFZqoTT^k$ z<|6lR%V&)$#kA11gOmOct(7oVwVV(nhoD57Z41&)l!H{srU9{gH6k!ua6b6rexXQ} zY}TY#Y_~}riR&_396f9=p2}O0reeX(1*j{QG?8;oFe9efNwoV+d%t}05-I2y;&W+_ ztO+B*=_^m)x-YWPho>htNIOIC6(dkrnz~#Xi@`N_hXZ&8b8jkLN zc_?9g3C-c!hl&~@&If+`b_Wr=%1W?X|pR|b<8a8-Pc*k}_ zQTxJ)joNy$xyE(35oj-20l+gqJ5kq!kknd1UpdM!!bBVX088!n{ROG zm2J=EyAz-emf2DA7|KKHb||t`%y2R4}5?9fG+-pEUreMFJ$WAb|ZkKm|asO>{U6 z#g6VUL##3zuvM$K1!{LTfNBX?XeUyk1@;ZXF922dyp|3*K?${d=yfo(dkcI115hQ; zR^A5_)CyDqT4XUCPdOjJo2TCe8xa<#(pNKRd-16!IBTdvaAEggA=yzOLDMpooR^O( zd>gjhya1GtprL&Rq-2M3E`n~p+eRR1v-$tod$(9wvh+;o``3zy%-q*=PMuTL<*w>( zXt!yDFM|x@vCJ?w#*!sK*o>JG0tq1@MxFs)Mo2u&1GYwtka@ux388t02QGpKMhG>d zk$5o-BSvEy+vCAKZdYHbs;f@bIs1~C5wX_K!@5VTh>Xmg`*P07P^q-f-kA|A*7aZC z`u^`T(F7vl6p2 zR<$S>;P(9eAA?qG2EI8_U>!z~C1NY)77(nAEJ<0Ny$xuH0<1}t?dm1KRFq~$;&y4y z-m+?*IgcqSA|21^N7>U)Pr`GE_He@8?kNQg|^eP%0w(3y@j~pbi%~!KTgc7A6i1A=0F|gf$vfjV1y_m zCQy5|1dfUvS;?`6C@l1xe4W#eaViPj175tagB1|)AIph2Ge^8#4vbEs9Gzu^zLqFC zI4Dp=W{*gdttq$5$ezUKTGnRe$C0FPv6&+ra1%W7x>(AH{YmdL_AQ3uNw`j;qW(tF zFSpGq6A9v59C3S{<}y;Z-h7WjCyLKe@?%bP5P0EHm@C=#lPHGg(H9-;%N!as;VI7{3aDjzU@1bnh8c83pc1;VD5`GU(AJ<5qO|8px&;-`ErbNS zSJn+gLB$Ch4GLil5|!nf%Oe;Hvys>~>dZc0#7^L@K6Pt!Mdacwwfxxr)ezWYnRT=7 zm`*M#7pgJH5TX^RfLhDh6Wv}K%!dFrWiWqr6O=5ERAbCes92o0%jaNr8#*0M;Mlo| zvK3&NpMPof;=7@`z*Njxx1oC&PPZM}EQ%woR$_Rwlyct^7pZMmqmf^3ywy!s@$pmQ z9BFIo7wJ!b{hxUh8two_G>izOY!u#ju$*-)%r4tQUQc?{iw|8p20auGu_q#^#f`h- z9bFF%eZ~ZP!vp$!FU=BVhjBET`f6w$Xp&ORwf;PC^RaNl*_Z()S&=ATL1G>6PvLs# z(6RGN-GiP-M6oy*RbxUb;?Vlo=Z|oXaqnWFr z^gs_u=dO4|-bI!vy<0p61>WGRtmgO9xdE`gT|UP)(diwG1)4S^O|dITazN*&PosrE z_jh3zpMG1Z%b)$_U;MZKgTM4^fAzQAFwp?(c0GDT>MgK%-~%@g5;AZzi6XdHCFpZj zE_t`D`nJ08H^B$ez*SU^?$^ouW0FVFj1)z=21N=f`4NAUIgN)s%`>7!Go{@sbx5Z8 zD=DgLZq7Q1pxm9w@*gS4Aei(c?gPY>;M(E6MX(n1C1G?k!#Kh;{mm^IR!1Caj=;_6 z1r4Lw${oO>&xA-S!B-0$)tXb5dLMHTnKg)Yz@5b``l81`n;-l6e?MBAI9=Uh^$cMd zvdOrnG!zt3F|u*8PMgn@xF@4kzKPRb&F!_jbCz64nOGahh#EkS&PgBo?mSY=2Z zj#(5ly9FbGZfNSWJydTeLbgt*Gw+cl?MCnHu<6ziW~qGaI$q;wQrgQgb8`t%**1y~ zJWT78w6YS$YR`0IRomWZQRxx@P(+Ow4GqJ#HqfnJL9MJ#h%F==bqfn~%L=R@X3#4@ zft7uPxviK13{^v~Eu5-XPGm!Zh11E=++5f(sMdfZDT@Neq21^>vtgYV7Pj_doYm~n zmjnG7tgb(FPLc%OKvseB?>jAdR<(fLViQzLVrFix+ZD;uj&4DKhN?-FBns$O&dva+ z`a%>7+ls4~F#gqA6~~X|@gti6p%qv`6abee&%g|b)r$`-9ov|uQo-#STDde12~|@u z14tAzfVEl;1(b2FguKCShX&nO9}uR1O^IDQEUPpcHqoeL$3}pAygbxv#}O>PKe6f? z#}hYFnivFtXmO1AWO*zIZrHFveZ4x@kXc%D5-qKj0fu<dAO10t}Tcl&(BVu>|?#y7na>wZ9D(<`vz|Vi}#N$H!f|oX)`|{@!2)% zk-fm3bLKGATXZ-F5De8nrNkB<9#Bcu71f#f;hiu2#FW+&Wdb}|+YMhBlV;dmLsLaY z-A)}icKf%lwTx~&FFlk?NV!LVn746y9Q8`s;|rGiURG$Q*39J}SOSW^wa&Kp#lP73 zt3!Wi>ih6>=36oVc;FFHfUZO_%k|+1${BR?>yUe}y7(mbF`wYi+}1?=`S(Bioxl6{ z{>ESZk9`bDvas-^5Z&J5nSHu}Cq_DI(%Y)*aK(Og?c@(8@}h@JQ68T z>p@r91+pze(36n`t4NE({HNPoWm1YGchos3QQ_z>)e?3rW`=dVGK}DhjB6_q=sX00q zZ+9xtCo#wfI*-juMLrf~meonrnNx}0fIfF1ZytnP*eeKAbPB?OQy-rtkUKT;1l5>g zPjRpc0BU{7YGpadYVCwLVvWZ(2UYchd=4GeQ~Ozg70n(2jN;fztv8=LAhHB26sHlR zUjhQEwrH`b%%8Z~Rg>@zekz=!FoPQ^&n%-nOuT}s#}Lwzof)74x}oye^$P;mM{j@4 zmWRmAbpjA1DtjwgSz!~`lc_qj-hh6NW%q-(U}bgyw_t5Q%zCYxD?kfbvR3B!iowh+ zRmZBivPvV(mF+^h1#8wd!0pwi>gqFqs5-WOkE#JgbMOpDYbfV zEat=YdR;U;UXZGDaNykpngFE)>JdERwvp&pr^fG18)w_)W2DJw+CgvriL;Y;)|VfS za4=jf?!?!`j7@G@52%YaPUC7LWB*^P%2s2pA#qndTEZ!K-%;fDFq(dzp8Rqb_Coeb}?GUWF z3?okr2-`WihAd$+jhHQPtQ$Z;7EaaOaK1CbYON{t&b9r;I)`N)yt3U zshCmEu&3kfgbK;oin@aeRw$03mS%TP)hVw(gQ$#>hM1k{`el;UVKp=yVV{a6RT1%h2?SQv@w@fahko$> z%rE|Xzx|E>(m@lpHmE!T!0igGNY1TOROAcanWIXuzVV`R8{eWmt(_ZhxR-3}tPIo0 z;>~+{Vl;^)d13cUQF$e}w1b6wrSfnggrvyfb+>D=IBMI2^5Z>rKhgVvddyaxL-c6u z&Iw~kyj~!JSys1s9p>F8gqwY3BVUR#V=<}Fn+dfomjKm7I2pMR2%<)pmh z;8VzoyQ-;s8t=udCv3W1(S{wEyPMeFq96u1yiO-UmTkTM{Cgj?S1)zF@@*uFnbVKT zEDAsOtAF{Ae)qQle)7d1U0(cPr?b`Z@=yD{dxhci*9oIOskE*7@J3Tpzw~oX@wuN4 zC41^&G#s4J7OxN&n=mGQ=|3slCYoc=ISqIcZ#o1lFZ_}s^qB{7h)(;44^yf`jRYo+ zZ$X`CA3@o+Kfg^47|9}8tVdS?N~DBi^%6Nt<)qOwtd68GG9uunv~30>w(7vXpXho16x*l>?&a zXvEw~CBu-MK8&9kDB9{ehd@?K$c5c^s2cJ(kb(`2DN5*-MUC0Y4Rd=LMvx(To8D_V z#Rl+IUdbqygM!mFJ$Ik_?*P0?^d*hVp#h?@&5R88b&5)CK_ zr*lHCVAj=8xJNsI?{-z3yrb6_rpCBkhW(c;!AdUPVpDkEU5&Vk7mTI?P;&kRL~Q+a z;r#U$RY)+a=F)dj64eKP_}kUdGs~xrpQ4*^ znCH&G4v4Hp29c=bfOZQftjSzdzx9BUxc{l>Y;L;6&mN|+v{(4=1) z`;;!Td!u|7h8Z;2UrN(G3`rt!;9~D*S&{M|{J-D){Ik#g_*=h!CzIz0DRMfsqGKw6 z`~eS@gVG!%0Zu`&S8J7-9B!rP^SkeVqvQdVlL@sap!7$-``ZSoSzdlN>efKJyy+Id@9*4qt=>t=&0BQ< z0+`ALRGT{kFiWb;$u&^g;v#phMj1^r`+459#g2p~!mK7D^Ew0#WyJ7b?yx`RkW!4Y ziIfYJt6L!gv6MW@&sE|803ZNKL_t)mRHXc91XS1TQz!!dsLM{FqJ-8-N&3+pO~gic zxOZ_TIJ9Vcv@7xS%*@$C42+7%-a~c6Dk{57XHlkNCh`5nfHfcG%@~Dut>i9N>pv+Z zSaZ8_2Lq;05*tIjBoxdxw@B{Bt(-q$BT4KvUdY@n?NlM;j-)vlx!1`yC?zTxanH1j zV}BaKJ=9+I_M2We^WXNEbC{AS&l) z+Vp2#+X4^)%q);b)D ziQAH0hFd;6b=OPI7HYlRW@dOTXNhgoY5O`YyX`!;LUOswjvVZ1V{#%SO4iM&zhVaw z>jS>IgBk1Y&HHYPp-Sd~3@5j**cuwxOJs7m-mt4X2DcK^>%c3><-+qe7UGBNaBW!E zirG=Sw(2F-(OG@{a`@ncd-*XPX95Dan4h+*i~Q3?;RI(*p14j^_$d{x^~~rfJvl+y zgiA5jmT0!=D(5H7>hkXE{p9f%Ef;8~Y{$V5oprYco?q$nmbJ0W|fDX+k22=$7FJ&48#z&-j_>DOEiYUW8kcd-L z?*%)mh7?I4hOZyL^}|=6{Gr7|!<*_#WPwuvdp$+I`( zu8NEQbB7eqNd9EG-V|A4dLDhm6Soj>+#F6iIqq+sRc-mpUbu!KX3)#vFUpMrn&W7> z05=Xp+U5v z9EaT$*q9d9B-oiy*CT3DF9y zsXXWPOUOC&+P1P$iZ}PyZ8$jyx_|!UK+B_d)bbO6AZCDZ1<*nI&(OMc11ORUHcqYR zoQg3(BqYe^n#UL@_*pa=TZ;kwO@df&){)qRf<8lFjd!fJMm z^ufnY&gqmaJF&@NY6QC6C%etMwM=NNn>6$uZhO-eiuQ4n&Nhq(JnJ`dkh!}V$QQ4p z;?gHgC+1P+lCzU2f0;61Rzi&tJy@A@h%@C9Dm&%jU1bL*j?n3M;8B+Ph-LBKvW9#wtF=UTiu?1iOD1M zY%G_EWEIOS6!X*QeUngub(;Vv{*F_2`@WA*Z;Fo^~v-EtmI z9vzECEhufQm{*>R*%(|FfS}^k;)$Y)5)rzArGIvc6^PtY*mrc)=?vUcdn3^UaB@A$ zN^nrKd=8MPp0Hj<=oL3`cp67B3P(8{LX*c7UzATBVpW3#75*?F$HU614?N_JQ{4LqmZ`*cqv~Ntm+x@3)%A&*@a}`A)rF_*&y=$b-45MfCfPe$e z#Z2tR6sITZ+WlYmZlZf5h=-rW2nYh*e*JGLl@PN>X{Q6W5qx}a&^h1uE8~WQ{rEeM z-TPX}ogLbgb&UqFX>?aB6L)g5=oE`bLsPd}U-Up^9wyr8bj9p1ZJq!3fdHPi+|c$d z$lG^v9sra_*v(P-_Y6@bee9l$Hy_Y7vbg`v|K%I67bHDBou7xNi}d$g17L2=54VAu z^)KO74qu06(GS0ji<2jlr@LL?%jL!M%g;WVHXU(yY9$dxGMoXJHfF2D*cQq3&H$K% z1gKeFfK{`;7P6YW)wZ!?84NT6}Yu1EpAGj6QSPA3W~NsWh{N0v+TRyS))b1&K8WI6R1>vWbF> zp_$#qZ~z1;1s|@VjmP1(4MgYZId*z*z`4CwUtI&uqi^kkn& zpd07XrhCuQ5#lU*I~~exsd}%RP zQd4yd-9jr12eTqEgKj`XvhZRltkxg_-H=#tvjmk6+E(Be(9o@&X}vVIssZNq8XzmN z0&4*_`OG##BDsi zaI4M~>7oNg>u&cOv&C|=0K(zA?Ln7yb)!kAXhEB7d=L%IY+DbyVs_H5FYjv38J%zM zbHTdf8JKdeeHa#k$m2P^(~FH8X0~Z-Cc|rUsrsOHHluT>OOG$FL!f!znQ-E+e!RA~ z@_3{S@8&+Ps+!mJ>Y?;zArHX!oy`@pJZ9FqU5esJn~lNNf^XS{jd#k>_((P(^??%%^jdM|uAdm4mk+BhQCl!(|X1ZMu+HwfKNpDZt)Z?iSt zdoecGOoSF?rL^KOLqwohKVs>mI*CcE?T9K@dN|uF3<8xnmODTszCo#-b%$H(fkLzM zjrBBmpyzhy-S~<9h?o;iXU>wHHv%0Ph@+6a7d(B(OVeb5m(F&^|5K#W|@Vh_qXTJXj|9h$~B7oMyg{&NDw}Y^g z6GRpf%G^)&14QX)!mw%y-ZL}qfryk_EFhS^MM9buL4}`&EV7-IADodLQnWfg;Xq`J z8PXY%V(zhtx1-z|*&;g}ltpHZL~=)&-QwT|`7HqjZh#^Z83&+T8!0EoE$l&poJRy+ z4RHj$0!k2pB=p*;d}yaeBHhoP?xP_k)H+fpw@T2is-^p`Fc7dsX^ql|ZXgP1WoD zhzHs@;qkU3OS(m?I@41ph147WG-Wx*a6aRZXAvg5J=_5^@ou(A1<>we7xcPavM9E5 zQNNw5%?Thpd-nGA_0{X%Ko9CI#&;|j(Cf%DK&K#mxJmk_R`ot#J(xgJH|pJ3Ji0S9 zgl^$(bj#1$R+6IUonlxvL8q^8t}-ghoatjU`F$z1Dd*Aq(7p7 z@=UsvY9G?Xb^t4HJ(LKUF0|QwmobsuMG(Co*w>zKc+IqRqfPrp&6B5H(UV30@bBIh5&Gw^+ ztP(Va&$-hu*nm5tOr?Pb4l0P!*mC%Yno^2r2NCv=I>m%&2P+$3kz!eoUdb(@4f`>Q zq&c!$&oKhdz2C(BoZ_d5X?7qKgbv2QjTl)LQ9>T&%p`T2q%TN9&l@sAK66Rjdq=?tg0~1lK&Y>cJjv~>C z80n)(XM-auw7F#wrn0yny1$YEMukk$5e(35KgQ07(De;Nv=8XBj{3O{On*eSgy2NG z!#9@K&G#%?-@~CJahvE(!4TEsFa7lD#RoaHJ*MImx&btxoQ!f~YgIbr)N-qp^Fs7` z@kW@q6|+Zd&NVIVx`nPGDu+|2TJvHCR_;)N0y{q0z*$$+ljC>h$d&saG$#y#h(6 zywO+*5m9n`?Pez}XJ@*(1VnZ8mTIqUw-g1)N?KPZ&s2R0lJ0d~&B%&m1-*6$9t7y> z_#M?;Ms}S--Z>mY1BTlBy+1`KX*65_>d1#}bAJq2KMlR0=%ozr40%udtK7#1c+Uat z4PH=eqmlB8A(#&VeIB~9=<|R7H^1?_zxVqefB3!5?+aP#+h(ECZ8!P@5ohdZ3sNrN z9zv-${>J>eh(r&zuhsoY1jy1j^HP52HuXXI&xn1U?%bPd=iO*bceW6s_xnhNBM7}^ z$Vb)jQ`KDM`rfA1b`s3Q1JE#XbpDNk%W*%MIi{QScP1*L9Z@l`a~|u8)J+`rH>>dK zae?26!{Ar^$}S4~0GU8$znZu>*B|(9-wTV=ClTCsxbESaojg&d3AR`hX@4DW`Zjap z$9Q;ApwUHVq_EtZ?dRwiHIG?S$UWuM`bBMcp`l_z!r8<|q@9|KdOO68n)NiC+e8!a zQ--lXuq{HPFWUpAJG+k<2o4}`3ch;_IO-&3MUH~8U~bYSBZPr^oi={7|8Q~|?u9tK z5OW$hQChJX4o62-xq~nFbYmz>i=mt|R&s<;J^HFze`b}SExM{fQq`YFKxC6XPNX8X zJV4FCKqxDEcn)$Z(y`lN)B}zDal*amthtmEj)PT|5khhK)^damjhCV? z26)|br5zn!H>(%lb-1>49Y)%NE2AFnGwl5dfyvq|=C&G*hz%7W<=#3-1F<1HlPHhh z1rfK`AZeMuL;&RCF*i$#3$wQJ$JMDN^>Pb&3{gTJgV(k}4Of~K^nCg<1SJb5P zTrWQci2!qx1O&tkVgXUvNm~?7A;&l<5+ESvR!hX5X=&ERsz z0d4?N&830(L6YQRar)jJ?$LkPTpQ$eiW~URLotnmF}gx4kS5FRl%CrSGPUf9Y4`zQ7p7- zf>xj?3Do10j+biSK;?DQiaA_&xh|w%={hy-cJmt-<8Zx6S5Y0e_0^tw$VT;siQ1+j z75B>`$eZpH+fH;rtEpbiqL`=JAo1<@FGG}yet34|ZnIHuZQ3xs^lF$yDy}_cv7;^b z_?=xgZ!#;MvX_tl#RDrl^@_ldB~+90oxKPKgF&LSF@uQIB-qI)_qozT1?~dV@q-+h zI@qOPSg0+3$AMq=J|HAO(SZu35GN0Sx#$^Lmrg_3jIEhf0QZIG*kI6qQG+}YSmX?E zC^txXG;J;$ZE~;toMCB*GGKY(Ga@Y&4|tYR_#&h0+LshNb$kgxbH^Z2TfEo{aU>ez zX|oCet)k;D?*o~lRekzAM~}9wTPG*N@e~@@YDx(g29eZ3TSHJJKp{}f(AHMzrFz8m z3k!>fN{$JgZLxT_U4B1duZIy`IQb5T>KX#C)&Zf`t<~;eb1={b&b4l=h=*xt+jhot zueQ^pL6%8^DtlWH$Otj3Xc}x#oT9x12x11kvP#qDWW^4F2Fz4EVs#1f6l_D~t^*<3 zw@NwZ#%W|3ZnAA_7R5}f8W3OwSwYv(MxTU97OZNpL-0*Kmve5{p4cvDr)qrxB0xst zRD~KaiYVMf`@Rm}-w@l2>gZX0{Sm;klXupaADK^5arS5a+<$V9o@2D-sxxUJ&QX$w z?wO@c(GA{$dd8_3C`|T~d#TdB028-;>CId8*wxirE*vg*z4!imFJHcVfCb}Mpru|p z9$#NCk8_qayfJ9K9o3^-Yo|g&^J~RPn2No|9SK3>tPqX8@|c0@*xPl1Ih- zRM(doTcOz82?F5i=!t4plYJM_E9#IUP5ODFfn?8-MWfFX4b5^^A17Xxge@kehZR~R^za(2c$ zii2f^2zsRE(On65*|p(TvYhk2Ws&lTHciiYiZgP08We$nm|b`J_$*IeYO&Lr*k`SB z1~|*^^hpdns~0Lz$8ayg2O}_!ib~3gRhwua#1@5KPr%+#1iM0x^)xWR@204{oNrd@ zxB`+T=W@R%^MpYsHp~gk5&GE)!<nWZ|@rJA!iLMvaG+NjmhIyP`3{qLATd zNc&vjsuV%CSja&A4hL6G0^2Y@)T&E$7c;P9AARg@x5nwud@wgMX_-Qd(-W>7{;FF~Zp-sXB+c0wmBnE`JFaJrJY#eC;U7 z$`M@1Qo^YqIfK3iT8C~sF>6ylMwpujvO>EASS}uMb4A6%ns$-|m~~^k8L5~-)s{bQ z?xtHRW)zL7^5iYGz5+zCc%++a2+8dVqOz5fRqwH_TtThf0@2CRw$q(5O4cA%UqrIt zm@m%dy#_kGZ$N~5v*FNIHf!0mZDiILQKjyJhjHiG>~CnN%IrirC#-9{9@l{^*1H}i z`h3{7-T8xPlVr^h`ZUky3jp}rO=%`f_5s*csuIRXHm{K zW@N8knBYtspXCfp&^;+p&GN<-K3xQ3hsAX0+`2EQ1?SdX4n9aoFh+TE0^r%nxvJMY z^}09uX!iKzsHtxxQ!9ns@1g0Pqt82ZgRNB2OaISR zrdI~=Fdrcy7iYP1L=mzwbmYUEv`3Hwb5k1tE5#Pe5J#;^kxdz% zNE|ucAwt_@cM`?@03WApf*bxw8z(5;cZCOK!lPP0*wDpPa%T?T78d&KQ^ zud*$FpViud!Xn7>Qb#b_S-^R<4H^=#&NgP$$H-yRX5d?NIIf(ir?Ikqi8-m>Ai+UB zNtCBcSO{3U_}@rsEWj<~!myY@PMrgoKl_RH`XdXYTTv0K zk|B@Y;pPfrVdY%p0<56dRutRFCC7U4zH6D6VumQVT|<;mYY>TY!D?lqHBlb1T0v__ zBOc9iamFSS+SZv# zUVrl4|0fSX%c8tZQQ9dwO?2Z(g@%6~a^Die^YXaY(3E{_|4#!m@;>NMuMhfsxDMB? zVtk1Xa=d@0hgjMz(8+9$MOGV{w}o_RWSg-CD138};(lO`FZ~mL;>D*QJ)~a2xh}Dn zgc#0=_W@v0%vm>y^G4X2&^Fz88ZJOI&3llxHxe8U7y^h8OXE4QIva!u_a~hjCAT3t1WKLqN+HyF3;T+hvr%ClDlhQ8dZJV5dy8*-ITR95( z#$_GDW`-Eup>t;XN^AgA!Qy^^L23Arr+-jz6!bkUVRW!l`{iKWMv+PeWxJ*SafII% znHhQs;6PU82_tJfTaE^pg5GG(2YZy3r$eC?y~BG?8Wm2lO+e0~W_Ac^uAY6U8-$_F%1aB~4jaBbzV^~#MGh2q%dTx!TF z5)!e{zvamL;{g&N!K${h9t1YrWFf3z4i#Kq0Yt@7G7yZJp(vr10n=^88fvy>sdIJo zOf{G8Wt-f5A`J0jBt(8HNulp`#U7aqg+ z88ZH&0j9IqhJXF=cceEbZogt1=6l_j94&crez$RzaX#0B&By&zXlokTIlZ7wiPECjHKS#U@I~jnO)x4QVL#oP zCOpl~y6j)5NaFI&hRQN2d?p}mN*K=u30yADbi0lu^A6WTm@&E&8j<+QKmPU4Kl|h^ zA;BAde|B`Px{T~wlIfr*@IIuhJ+Quh*PQg+b|7Dd4eVEPhDe(LH8B9L?cnQ^TW&~F zF@tVWiZrFWW_5@0k8{$y70J7a2edn)>asdzRXZqc#5G|=$XMi{LqtF!HrO3+m}Y4V zi?DE252WskW_Ts&4m>@63Nkh3r(ShYKo7l8FFR+#E=PPibuY3gB!WmO#vOdwaz(R_ z)|~z`La13e=>r5>B{#w8nsvm9c4EPqGIMV?)L{mQ0sbGS$!#6vJ@)F9uGkVV+PHq; zyU!Tbr(RKUY*mu&tz^QyrZREe3_OO;!9WLw7QNw+&Uluz8?olSVn%nL$jQlyrL=p# zKLvc2ESBo@ReDYATZbsvNKzjo(iY#e^nYastexbYWV0o96fViq{gcc;+klC8Cu+xo zrXo7#5#BT}K-HOf-aQvingax=P~ptr+O|7;u?w;a8x~X679Tes&?}m~1+@aSl{km8 zu(Bva&oOwtu0f{r)F_UjmbO&pDXc_w%IezI9tjwm0b2&kcM;X8WkCCCXF!xrlgG|T zGUhvWsZjS>WlL)xLw4iv8LObH}vA{X>L*Oe^!}| z3ah4Pl7pVHQV9DF+OCWNzW;KSU|;G+O52aS=Ua{z< z*2OsN{H8&VR&k>g)nZSf%eZSoXD`pWxOCvoQ~;2&oHiG6FM8)Fq-UF-9`B~@k@Gn7 zHx?qmurE|k>3A>*q6`j@e0T&;m=d@Sh4Hx$kC3drTt;n8bNZj<`AqSBn3%3^4X-B9WeJ*Rz9vhZcz^0ffn)x#yI~kjK#|a7QLoSTQ|OfJ(>(LgwDvoV4X>CUb70}9{_Ea9}^^4HoSpy10P;2Oh?0Q6CW~+iN*>b3f+bd^yScVoC zG7-9AH9!BdoIkToUjfKl$_j@|GQPJb81YJlR7;6NVtg9+If@*2&!|j&DAQWU>1u z$|U@XqI@lSDBnV#nbK)H)|4Cf4{$LtBIW{50JXWd>V@E8`QoD}>fM+(EhY@Hv1(kt z{3JJWX+Ync)ADBrRI>6eFF%X$mNNH7LaTK&*@*J!T$D4LyBCMQaWSZOGURq^W-O49 zTaNdk8si&u;9FcW_jt3q-jm1}(e2CwhwE_N|5aaK?PD2=L6gk(f#iHM+cXZCy%p79 zz?MNh=$6%>7_*v$D!O>IR-{MUxaKSq3YHCW*rTnt*4tSh|#!rw_T@5 zkiqO7xCKxzpXXOM62mZP?)L!*BLKhftAE+0=MOB4T}6V`|Y zF+`3!oyI2#WP{OH<_Xahb-B;!D^M}Q(&JpLvT+foq?Nrc0mn~~PCwVduU4G~APG@I zw~k0_G1m8g@|TYvf60}KlBd{ecO+TJBzz5Sgk-4z-C--z@HJ(TQ;}9RrM(f(XS;Iq zmB*UJ>a+jP!Q$=?9v2ox1Y47XN<%%$#nW_{Xsa*LRV?Yq3JFUw?x4WQtp;T1oF$;H zucFqB1f4Ab7J)bqe@MfT;BS0;&$4$lY~XD2Q?$`p_TP1|zRe6^aBJ!9Q~(0(^`oUl zw@po2zBxf%%^rW%kg};dk2;CLb_*x*p{=5{kN{ILx45wB5AC%peBnUk`24`*<^Tz( z266`70tJMGC|sWrZo(k|+`OEfeHGk*7+~lcaseU;0yK0jkDi$(reYD$d@4}P9Ua~e zVW#5P@@Pc?A)y-*)$H*<#_dW}Cl*--sF;&1#QfZ%$;}l+NyWT4dg6rCg_Y4D!Dc-Y zrR_q1m8&-65dts*+{#Vn!bpUR>dew>NUmP|v0D8ARJoq-lNXi zX93wRKlw-B{9As|oj?2X)r;?1j`{r|EItjkh*ssHtnfWWPE-H1@nbYWI=#qb>t*Wr3yuf6y7={LOJfkp$a)_jLWeXvu_8!`vdCLoeyXn@r!tNbwVU7d5P z$*e>|&b4kG;gJBAvxQnO_umk~IB3ecOb$B;pDB;dn(LQ#yD|h-^zQ=HI*N#Nst+Y2kF8hL+>*(z1^~+D*+p5_E6id4pS!=5~bz14BTXX_H;Eg<=U@o+#%jsE{jYuU!9Uz`KA{}Ji>47u*onqc1csu!YIoE#7&#TY1Y)*0o&P6y z;v-I_LcGAV(_M`vzha~^sd>@kv34@5ITwxeVT4YsGF*p=JOWQsHY0#VIoHj)`&|nr zN(V@J6jG#ZK~`hed`lFtCL%JCqh%L}8f=<5?G>hmwQIX<^Rer z@X^+*po~$D*o)c@zoa!T$$J|_|J)zghskCCjp?m1mrX?nNQ;uVlj*c)K zD4Em90oL9#lX{x5%oz!BcKsoiR1SCZjcW#uwx@c!4eHpI@7&2hpaAq!0j@0s%sO?Q zAq$?GlR_&cK}MQ6I{tA#aBIyBji3Z808~9<)j&74EsU^+0nn)guL0@y5yk^>0WkE^ zE^6jD#Pn?j#LPWNK-Um+m`#(}CddkE?Hf)mo~h+0Afn=g+beKmiziCx#^o6}TN)BX z#H^vsp@sCiOsre5qUxCIWtSaqQE$@_YIgoZ>(9R%4pzO^jor3T7!-D+mnwrpgOyx7 zR?C-8yTep(Tg={S*Po_SknWE=dEY^c?#aDxT&1>M%=*9I_{H9elGS?8{2l{;?UY~i z?uG&BB^tO1=Zg9!?7p_@20Pq&FE=}=b3EWaL{;xNdM`cXUSyzO7dYq59Wgsd=W|Y@ zkn(PU!2-hXX%_=Qa15#*LDwW^sdRF(QnQJ`q76B>%`LPsZOXjvU){r6-Ic+eUdf%` zh&~2=`p#FF+8_Vt{`61$%%A?&H-Cq%RXPABStgO(V4X}Fr_K8M?t0~Isf!-2eN1^) zBysO;K0D-f-CuXu!Bb=_t9H8GJ_)F1Is=#Y7prWN&L8oVW<5|Id$sFjkC2!y5c$9E zRHfOqZ2BbZN-|CFdkSO8B3UHLE*V_wfu;;UU%z}#+xb1jJSsVj{M-LM2cR?W!W{#q zS$C+M@U*3c_RwAXGxcPhIl$a@zc13n#GG_*fcA9cFGsx>8BZxg&O;CR8i-v1r*&F) z>ggD-L`nIX1B99oV>_{vaQGl1wT(z|!k~Bt{UjRHaV3h7*3N6HNJB$Mdp(TsP}=C|=}^b@kb>h@PDji6Ik)SanJOoO7@qBJIoH&i^mJa~fDzO%s5gg@ zhzR46s71h$(Z$>;PP9#_#NG?h=dX~{e(^H{do3LTYsdw74G`p9%pP-l>FxFGxCqm& z0JNArW}l4M@ksRj+|sDMGaMi)2bfybN-=+n+Y9@qy0IpW9bnYsuIC63;3M5?FB-bw>2oP2?S`<_*pw=V`a4TkKZ1V8#PYD5*+q;_hBY5j|mM52E*omulY;o!>K|2@~ZdAdhUW7WbB8Q)k&fjU) zS0iO^o3)&kKldxY{IkFCFFZbf|C@j3Z%6wvy&7(->{}Vs?{qKDD zu=tI(x!O2#%h9Qitoh90nzAHGW*)_4AM&bA(|$>#F;e(h6f@^)+q=V*<)CX|Gl7~j zZKo3*B4*!+shB~lO=aWTZ&|*r4vMPSZJ6;2m3_b5T0w7_aE!3?i~7 z&Kx9+Xo1GW%-C$Oj{}Gh(rDE?V;FcAZL~7(|IDe7@sKhyr?C+C!pq*BlQ->X;K-Df z+;f05Vh9xR?GmkaiprcQcNg=wbbIA=rKhm7WiOlD$ue{iq3k<~B)*Mi1`<`&|Gm^q zbSqK155xj8eO?G6t&dK(tzs8zZdOsHMFmdQRy{j2C|)i@(K1+jy_!1;Iq5!vC;+v= zdoV(=JouaJ9lY5fXYLtSFGYejUi*cd6uAE-*MI~Obj$6fd%FJ&1)oE10l{hsDnabT zltm(TXZgs|jXswop=%I9NQb9ORx67PFhkCv6=43;kxGf=`UR`n%4=`~Q9(B#2{@vU zm{}gQT0+&3Zgn769-{mo;3>=cP2LeFfQGmTA+Zw$frt|fY=!!<8E*@TnX}H)l;SiYi zQA-c5xn*(0+9%XFaixRb`h8qa9zR{Ku3y1|(|Cs`vm}gdrKW5V59c>o%=DgHnfFQ< z+#CA5<7wZN&N=a~9Yf2A?@VRR!`koMcnlOE3Gn>%$s|?EekDvzsm|2~2`kvgD!03c z9c*}bu@2?Qq0ikAygEMq($~L!@yW%1^IQL^b~JDjHl0(JGuC}MQSaK3?gP8EaqGOr zH{q&R>jV0{O)naZGdE3ruUkA;&F8AU6{!ce9g?!*wn!vuxf z0MjNrp9%H9F(*K4Y#<#^XEDn=43?&nUIz*mt-pg|%to2x@qOz=Qx*$iiekY&aek-^ zd7ikepzDk^aXx}gi`19npx*HDk_Dc***W#kcTOJ2gdXa#y$VcPiiaDTBkR18YNsS( zVa}J3d3N@;T3vd)lDrf$17H#rKp^di;l0o+QK*1!FRg&DmF)1{%&9O3+Hc2pi}EeC z9WlL;qo_9zk74ws?pjatb{^Jdv!_hO8he=(UAVlhX??7fenl zxpAT>$|_@!05{HB(EA^%H0F2vEQ5f1E;+fA82fT925Hwc>ggnUw!9*j zg)|!dSeZz@Ny0TdOYSjwZRb$$eme{ff`j*XJ$?FxPd@qZRohxmmq_j_z=~MCXm<40 z`ufvXbNIa8=n20H_w1mMV$=TihD&75NFWw%3__NEeJi0Gpl}LbZEjn_!wRs;az?UZ zRo_XwZ>8amO|?43`@wE6XJ=2(-~Pg9-~YC18ogeI!~d9v5~JbM&qB8P@Zq}M35E`u zByZYPlvUf*v&GSRd3~sjT^Gu&5_IlnJZ>R;wAa93#MkEmOk$bkMx?@>`(K`@oDqa> zmcvFznQMObh1JUsb4cH&9dshZjA2B(M-A?BsdEYjU8LC2NHcqiKFGjeEoMhx*7YiN zz@r{fU`ns%oT70yUYc%*HPorlGkc7C8YMwjcp3*kI`&3<#=THlJpm&&<*mXjPgXnI zG(Fs2aVv8Uw+Sc>iHh|=m}AVWDW zI%11Q_-24&iR2Nh>*23w(V<@9<;=SLc`0pKLN(DjM8sna8xykZTK_}b2STYSMt-Av zh*aGuVo!TnaN=;2qz#>}i${B7n!GJu;bfFGm~3;~3N(TnbFh(G28oi@+G&n!C#>Oa zWy#S6SW$Td2yU(b9jMLBRGo4C0$_+4^a`SYZk^+zu{yK~qq8SJs@l4}_`vX{Y4()Y zpF&ii0&3-Ybp^eS4vNSE*1ECp#cpa9(usi-(2b~0b#q~bs>@^6Ep+P&paE+LW6-D~@`&!(73lDWj>#9%$YxOir6 zvbydt#_=2WNv^ z9}`kH&DEzL>3YeQ94f5(vmV0k@soe*7eD&Ww*V~8-f1nvng9q{r6Rn1U!&kbT_-1} zb-no*<2QfvuYKbif9uVyt2?Dnz7Z>h)~cG%>(v{$;)`8v)w9zk-`0quzKPBhZ4kPH z&J(S+0rDeRKHxLO>D(q7`26;lRs&|LG(<24(5^3gxZB3$;H(W@b{5rX{}oZjQcCt5 z)8aG9{>B!pjGXlRm8wQCL&(4Mn}40l^1J`=ALLMlUYYyEbIUVz1kCZ}U=lmn3!Qg@ zJrR&fE4ASiIf#NVG&y|PYf5x9d`X1g1JAzl&tJdz08mb?LIn8;0$hy!_MC+W<3umAtt3-@Y!@knIQwzC<@KP{@v=I@hWKd{FatNt`ZY@Wf zf|`W=unhf#Il2QvuQ1AaO+1?o$nL_A`P4rzcON^l#2*KCVt zaAeQ-5Ar6a-r(rHfUcoyh!R9lYm`S|jp7vTHMntPZA9ATu)8EVH^gVPzR>k0xIu9O zl2F%{O0R2_$51QFO`gBS>Kb5BX<6iI8J*{m6^2$zJIQbZkcH8Wh6V^mk%P4>j|K$E zBi1dzWICsLQ>{QmS#AxlsR)}oxVa;Brg>udmE$eBAC^3v@k z*a(t9x69n3+!?C$x-y_AuA@`FxSL92$NH9Y%WA)D-19il15pBv($F4Y*uUFp`GHb; zxNf6gjn6_d(uqFwz=sAO@Zn8&SXgH#Pu7>u2ey$e6fNf5u3ToBhOBISW1S3jcMXcY zM0yNsDk^TL(4WP?3Y)TZ41HkdO0%UB?qFYXUQA$O?s@R97sXtw+NCb4VT?O_XYr7Z zR}XXDVKTgzHM|%Aq4o_{zE&LeyKa4wa}KG{8$Vs7+34s)GjevO))$d3_{n=$&%d)}XP(Y84^hHBrB^pF#xlK=NsJD^FXh`5NN>Q*{Kl|Yy{p@?+X|FFL1~euR_HAK^3d7_T zmA~O>9y=|jtI4}=dZIkiPJLcv(qNtK%xyH&BzH9j{v*#>xeDLNV z&JOUU0l9eg_2tLk1eNyAR^0*)<1V4sk@kqR>d&_0x#U9gb%VAUB$_#DbmajyNPxyh7JuXFKVt77MRAczk>eK6pT4lE_7cV`=aOS9RSojn7C+g0RJ z*k2rTdo%NSJ)o#=`3O8=2uB}__DeDQJEyQbUf~hZ+x=C}jv_p|ZR+dElg7;_mivkg58eC0EvUI> zYPaY-G@__r7YsJXzt& zo#!7)6ONOWy;;79;Qonn91&bXa^0D#uRcGg3|2?oECa8diPI7jCeo{-Ct;06MmXZwt>EM5C#4Uj00 zxm^bM%(J2UmWHv`Hk>y}HxTXD+rZ&gcjU5_QH~ozcwIH>RfPwmeUX^TlOQ#2qet^G z0V*uAOpw)y<+p;w{82dPqgVsSrGryJ#W8|rNNlATO}rEt51JsB`sUI-O0{7PLtB{+ z>V*1fcd|+v>=Z?!R%RW(?y1lo6AvJ}Zm)jeI(#f^W1w3OQV*2MxKk?1VY-J0sV(_e z2i82f0Yv~a7034IhyYm`M4RU4vO2Z<9o;|_fUw{)5vYV(L6lUUK`kMV95N0nPb1M4 zWvSV0)RtR&_9s&}Yj5mk?z{F18=0Vs2GCm>~)nGeAQLA_29gVh-Jsoayxi zL;;deOIsdkAo#YJpC6sQT`xa}5F}@;8aENe!(8ZQEYHZH&&fKJ^0w$^aLj8LBH#7R z_g{wC@uq2-yGNe^+$s8eyGa;)gBHvNzK4c)i|LrH_ewHSvY9SFDMDMv*tDe z0F_5izWh&Keewb823n;lY#rE?wyXh)e5L8>dtbSJ`T15gDT+!6$=YbZaSnYRu?|l6 z$!?)!)kKyf=}lO7w^)SH>|+8Ts~IaLs|Bm}hMjg4eSUKf!0rHjE~}YVyDWu8QSN2o zcIflNUttc`yN7FJa@%NKL&GvkQ!g=g5{aA`E&#~t*lnq3%IYtxTX2N|8AW>LqEq7pL1o;T=rRe3t$FA#1 zS0A7+8h{AmSAkw?G$MioLBF39bZu0v$!IbA?rMNh2k(0H833zQ!sAW=cN@18NwA_~ z0o~yvbAt1R_sHRZ)H4sXDjAMKLH%~81Z}t0n!+)8V+KYFJty(Dh(c%z$1TQ<5GvYh z6yR1Yo^g8xFjc281YTEdK}*EiIYu4KW91e{_QD_~0IS+;s+3zRC;`pu&n?m#l0P(n z$P!S1q}3mnbLbWj&?|Sqz!q6HXCWjZJjvP!hO`#n7b0{>Q)$|9lMNkSt=x&1rs9~S zgs!dOp_yB>3Y#fg<}!7vB;8)u%g^luWjkuRIr0Y#Y3ugQA>I*MDR z%WdAI?X6n&IOU3M>~<-)k?0(>(D@g?Mn(H4f9aQg`WJrb_y6zzi&f(iBv}+Cj~-At znRPLRjx>rs49@ z_PWC=cB5-I^cnY&wA8)}ZXoclNf) z_afG6q^SSmzw&Q<>kq!^|KzhvM-K@5fE_vX+1|fhUvC%-L_MT$<6zorS7grKRum;` zz5OWW?FaHm|Jf!dj0DNTV@ywf=Wl0sWpu>u{(VEKJtK%Yeq`ru6ByLEW$Tc|N0 zz$%s05WUk55mN4~U~$~6qAQIOe#j;Wvb_nb#7I0ltW3^FXr@RvFByCyVHR6$3X1S? z40IdaD`Yg)P!Yw;JbZ8^61QVWCn=aEBi6kxSl|X6<)D`ZfqwsXCB-_6!u-L z7>M~;?PfxT5CEf?K{p@)-GUqU;u6G8JwpQ0+Utn|YGviWbqiJy(*ErFQuX+KwR!<6 zKm=|<4BfhF*O12T@C2&1_^fG4-Tu?R^cxp1ubbtE&<((ll~KbGi^p7FLalurlAIYd zxmcX*wq88?QoFtg3eHxi#hxNiF-r|OeT%r!YlfKR$O{m-xdMorwG$9FEbqBhiSf?r z;PusWh?!cwa3Uu%jK{w5pc^~7UH;V1{_6KX_+7j)0QAJkmwHJkowZX8Y_4x~001BW zNkl>{|_J97b|D)#uFpq=XBxH3LimsCuwXVEXIX_=se#Xr*hkZ<`Nes}bq9s1z z9P!j1b#Rb7TzkFl5Pjb6>N#!RYb~u;4{zFk$m`BcHW4(i1H$6$-N;t%R)X+v{lPaA z5QNo+2i^LFe9tjt2Yrr2sIr8|ow6MAU)f!VY<6)AVMLcCsB<#Feit%OX&zX!Xb_x#|2t_EW)rh9;?`(l`LEeOrBBU5ZvWi5IvjQ@R zWDwkMi_+08Q%+unA#NqJt(8cut01H&W`>&d#OI_H6nTF?!+Yq){t=ccD6;R1Hw&Dr zJsOy`QchCWaMIy-F;hEvmXTj5@+O4#_lU$a`W`Km5#TnD6P+ew2h&rkh>buorbtge z7LcLgY{j4?C@lJHiP&Um!XY0bs#W16EQCl>7RZRXlqd-KAOY zp}w6WIq>p0JvHJ1BiE5%-b)1YN_3dpz%m}r{!Q)?KI3h;T0}eSOt!wHEcV@eG%(D! zpM|)6fL&sA3$XJMBMn0vtNR#*{N^DA$$BKh%ECS329ItLQ}sRY>f)2!U$wuLRtalfZ_3EXk_BfHtca+^)JM zq3lj?NYrxp0N5fz>6=^5gos1_T5(c?#ZtK@r_X9$2wsNCH{R#`1JW}f}4|JJ{o zTM+v<+?h$h>x<{QT{^r^_QC*4G0i?#Y*^zs2?02YmD0}JWt&D38uudy%7C^Vk=zdU zohT~w3(q~oC;hP1RB5OWEc!bS0VNspN0cWJ`W+c(p5YmQlCam=idtiu?OoYiAT03YZRdXha zo{Jz5oauq7u_1Hfk7CaQIO@+{R=$itA%`#qFFs#Ot*A~6#hb(|>kyu&FtP{M?ITDo zNX#AfCnAAtVSnJLt5^vXY2EE?3q+*;7;g54fx*Mjh#+TsBS%>R(FQHS*nBcUgwflE zM#NzkiI8^y>p8Lq^w7Bi0lEei;2I<#=T;#wJ%9lun8GY!4i$9cplW3#k^zEN& zcH$ELfJaxe8DKOqmf-gI?Vn=RfM%f5N_nU?xMkIFb7eI;JlZZ?{-th>cr-+bb_sT( zA0R+;{W%~&)p!2>e{0o3+NCv7G!F29T0Xa9O1D-;S}Ss`qgJ1joRO>m0yiK55#~mc zm1S_d6BI+BE{>kq^4sxJ*qsX)B*@!!b`of;U``B&raf6JfJLz|%F)~|19{gn!DX|4 zq1&YycMmP9rcpWO4&kWC*9xe~RTHx2=I$Ya~ z@rPf|Z0PW6z0?lXAf~Hc%#V&&*H^DW_p;xNCFXOR;it?WjiNJ}Eg zx&^nO!eXYPERNr4FTMu=#WB-7bgtPl#r_6HIq=iFYK zqKesLz5bl!f{o&{?FMA^qs?K4pYALf*=eLeh++oTTCGWxP8&*#Vxilms7`c!=}bPg z`<9?$#=3!Kt88OEDvfC&SEp~)7oXTZDGJBb_L&Vbh*w8>-1XxJb@4WT8ZlX>0rYmGtLzBd8k@d5wB)2_on!Hk&fB(TQ$G&ZJw)5Lhkd;% z1gl^BE5Grd{f+U!IL-}%LtzxpFX3jxVn7L4j` zPK0IA-okj7)y*7$<9;Z{R>nm7iH8^ch}$BH<>#M%`|tmq<)e-S}#>I~mNvlOp?^;+R|< zWKTJfrXA>+j?L;(q_m>g*}-{Ur;VdT@|9$#PXji{u;^GU6VVlfpcx^aJNg z2P>_^I>5w45mDE@ufg&H8CJU*V26CgA9rE`V{J;g*+4`*KiZT<$G!M4{Yp>hgWILi z&-G82i$_W0TEepT_i`E|Nw1axmW?UQUNPC;gnRu^18|DT9rTGo%xw)KZkG9oSF4Bz ztwF+BBkCM_#un-g26qwEX4ufS(X-$ih2G_D09iq~+M^;>9`^yfw4IhUARWuwy$< zy9y+^cna2*bT3PX;YNZj-o4O(uwbxe)qvR=`WZ}|ReSk;kOWmwH9$av;?xeP_A1hr zvD9Y0z6?hWj<#=}$LzI|p_`YG73;N_9a&N~D-s1&3y`5dGZjY$A}11HO;pJ0+=xf( zcCFhr7;K2lPylJw0Ho`S|DU~gi?MA>&x5}IAM>(SU3Trg&)NI*arf!dZ9BfU6Pb=B z(~bZuiHIQ~C`Lg-C_x~B;2}I9!5b0}JVZS43_Jkx3kIG5M?~TQEWmLbFpk|Fx7`-IuCbmpRAyc^LP3S+`nMyQ=mYI_j=nHP>8oj`5G%H@^S-5&<0Y(jp}79L6LP zC;)Ks_&p11FJFD)k$u3le%VjKbr2vc(p^j*0A$(=0Hh{dog@+~ZE{G{0_4zVD*NN` zo!C^2Q4YV~`kJ#xbX#C-eW?_l!2pK4U3_#1!ld(WSL z`n^B;=8bG|`x}qdR?dUB>de71e4@Kz=pY3Msq$J4^lk$d&{1@G=e_qYUcT7s4lh3Y zWOIP{x?fG!Dn;)6JXcjg^+wehKVtBZb#n+cNjffS(XD5oIBLdfW#{jF{kQD`Yj*x= zFWYf#6Di;t|M=|14@VgsiB7aCrearJtJ1Kp5PMG4Z_M#b#y?lQ-l2n7 zZ5go#!HQc_c$}zlD2H;x+qY!lw8eOG<$*UHe%I_PuQ9L!eL;A&cuvp zpq0d&;P?dahu`@pV@8F}Oo)8*5m9*rG16RuxIFosh;}Asq4pw@uVB0lT8sho#HIs& z9pGtn&Y7^$ptVB+(T zX16#wWA`ad#S!#EO&@~_m}O4Trda3F$IbKME9hp#k8}2p=?#M*1LgFrAn`%zSMbov zgt}jC3FD-oYH$g22>`10?XH|KbOZns30!wFVS7*|%`4A<_Q44+)$Qs*Lkx;3ATW!V zIl-l;*u(3bSfpD!k|-${kIp;X8O~$SS_pchRS2lop(D;E{?=36GD%PP$cp4@-y$Ni70p- z^x_FQ4_yN=M*C9-g0!B0Emrios2>_V&s4Ty0K>)6*Z$(){@%BKCk|!zVuhnd78cYy z#p=zY-CvrW=Jid8)zUi`%`Y2uy+|{R4&}9!1NywDY7|*sUR(qEyvb%`^W``VNy}km z?I;@z9kOn*em~2$=<}PjC-0V`J~Ey{RZSmgw{l&J*!E97T|kzTQ`0Vo@4(4f2p9b! zPITkRGI4)Gs>-)39X^P6FyBBItEi97KC_iaJGE&Svlkx@B}fT?zw$T!&L4gKx56YV z!CGW%qohG@o%k(un~wvs^^4r-&_S>J0S;x4EhzgyqYmYDbh;b88(q)0(>~5WuFC&7 ze)zPRUu=I9y53&npt`-e9d6|)zJ5BRBBx3196~ZOr?ulBq~0|vR_W-eQx2ZNZ*q*0 zYC#~^wMaCeNx36oCvGcLOirJ^zdZl6gA|W@&2?Y_3 zQRDbvq4LGws;5~YDK$0xZ&2-Ek9evijn9XTRX3(Wmah^GViRFsNz}mO`$-gK?qboD zK!?boa6f!G5WMrIG`@X zgl=3-5=X6)6f+?&fD?7<5x`|)2Jaa(lnw19VYR7rELNi-zRz zI;@aLe5T^a%RC**o81|AdY$R%TU9+-&M)l7Mh`H9XoJ0RHp`fHIm!V^`97;RA<6Vq zPL7OjtLbU-czvkLY|`mgqR*QU%Hr=;c`T+G@4~b~Ap80AmzU=sZ>eND*cLKU8wqWE zkXY?d`;`a_y#^BNYv)|Q!AK(A?AIO2q3k{W2Ne-F8D`fjUF=Yr`4xOAG6-gyGLq@S zMeSL=D@=WM8UzN>=dIH>Q{?Nl4?#2{cE?@a=T(B7gHSJqCUNSqI6JrWVyqx4C&~({ z+QruSr#_v30KQa{vy2Q&D@ZL-F3=pSIryE(W z4C+%yvoiM>&BZ5xP;~;+I4XB~Ktdg)GO6~iX||V1QMHG#O`>ICJoK42T)35(NTOdw zOA35;H5}M9W*!zi9*dmAUivMegKnp9{X|(kXy>0zAN^=M`xM30xy-pmpvr|2`qX&% z?Wa!i9dp#nG`TWKk6&zWGP>aB$da}UXjMj{Ye@4A{1sA}T1#LVXJI@@e-6#ji$hBa zCV+^K-jU|qE3}9MJ-KlAY%gIoe1hk>?HAT^kQBs_O5Ibf(_jtL_~gzcq+N1=coAy* z`VPOQ`mC5dG|QKczif%s!KTl`!B#dp-Cjux6jU60dbL&dF!7DxYnuu{s5*n5gBW^2 zY67$H#^$zSiPTi|48+7G#1I!SONg1AeW_hM7d?m3&dk&DyIr-L$y;A+=daq?3rOp_ zp3B?NK93eqRoB5aJ0c|uF1t_l4YmT)-8Ruf~dwm zC0kCkWSmk=e}G%JqH?X3YF{2e=Y1nYa;VZ+ilQ)Pc&+&xzwsNt_G`bkO&`49m;&eP zR|<$5S^wFasu1Qv4)D+omg(uEb~(Skj?gY=OS?%H*)k^69WqwVTr_?vBfULFw&o@- zAY$4DAjYnHL~sA%w5NLGsM{z;Ot0U?Ws}J{+T7WFU7mlOzc}{H1hlTx4$NI4yCFL* zRIYQVISen?Q0n?b>*cneQfeX_xoscHq1>MJQb&$}dYjd&@A$U*>(1Y}{YaQmP5UFO zzS-v3O~Yzk=0p$I=CZ!>tBoXA4ah#MaAFwDJjP1&IbRDoUS#|tiWy_pvx_0RJbGZ4 z4KDqh`o4(qk))ZAOGeNrl;P@=diM{PZ~z>Af*L?X(eN4Gv8{(M52BFN1G^n+oY0@c zm2RPh>>(Wy+cIzou5uI=Q|Lu^R0!)XQue@xiYlRgr@8;^^n&g8I)Mn|duXccEIou> zdezI_V31A?CwRJh%_2MSP-R9R&en3C*a6|{fmc%I_VUwq{v1@aGpn@Q`qwvkNOLzD zyJFVll#bmIS5SgZ{9uUl)o(cYkgTDDC|nx1Y4A8eGjC$iWc4we1EGOXr16522Ijmk z^H8UzL~$iVlt3WOrFY&7pEYq@<-)ORUD_o_e@pW5U=~R{1lLEqWsvFHKiyvZ&=1$G z3$T;!40Xe@@(g~m);2VGeYZ0NfjtE_H(8Tv-;f3mKj$`di#=$R^x zwDX@eTiy`8DWt!mJ@m(WTgvLFSzcailOuOuy=U>m`4XzB{IMOLy8JemWcWM2o{Bl3Z{xVO6yASDvM460|gZ63(GXlW+NH z-O2&u;Cs(!FBPthJIyv(ISf@Db<{k1I79sGXj4;BO4~T3yIaTPnV$B>PD_Efly(8G ztXu$bA?*SrU9IPM6HUcb+WC;>qX0~-936pp*w-<8uRiKRy}!q|=JLoiml?nvDd(wj zi`D#9Nuw85IYEqdRbf(7Y0o`aX@quTR zVC9xF?9O8fKxg&oLk?yMHF4)6NOZ>4#2uV)x=jS5K^4p*VNVy3x&NU}#z_UV z5P_=Qu?jI{>7+|sl=`CrRxphd263*822^^v6%C*~dAD6$N_&~eg%hA4%S4CA>PLG8 z>cD-GpeE08fOWl0lAdm|sz|$VCKH5|ffto$+#8V(#ZIGBuG7eOnE~C&FLvIGgR-qF zmPcbbK9pw-jB%Os6FpMBKS|D@l%8&;$%mnlQ8MFmZGf1RwK+hXx3(N8*w;Qd#B*aY zOUoehWXbJGrrot5jf@O8v2i`L?ah~5GUB=$nl_vA+?DNemP;k(dR_xZp@ZK@<0BPC z5%X>2AVgND@$N*3?o9fQwk%`U)W;81G1VTO&y7HRwM1)dLC;8Yn}@tI`n<*H^csPQ zL%G{i<-B8G+*V`(C_#U~HDBQTg4DzbLxUiu zIC|SOm&v0^)Va2?XO>BOjqEFfOfaPZiCk|wi6Y4Fid3qqAmxrlNd^Y>7)j%fQD(j%8CZq_gUk3=vGNtRS*qTLt0P; zReAAfFO$uM|7T)RTX<7lX8U%aLA#KX945-fqIUu2LV zSHuct?x^cF62vE4IOJC+P17;vF^|6R3-gyBnB|2RUk=T!e24N9h!UJ^*o&o**9qw- zTv|6v$zbJh7+~u;nyH2a2#Gv#3SvPmAZMTdvBfLvLXTo{=6O+lQGRzrzQZ$RHap5r z@?nD?2@HHQbRX$uuOtkAk>PJ7?j3$2u@cq;*g-Zrgd>Yhm#s~+IBaGPZ~X@E@AOb( zZFSxzy?;vn0|qz<*Zo>aF8}fA<3l^YUhH6c@;J`fdmBAuvnda&R2{@@ykQ%=)euQU z%;=x`AMcUQxTrhdNU9ip!oe!dNin3#0g>zEn#INQrL(-Sqe7G2*-o<2d$99TG>j&= zW!bP)SN@K;dHLr3eG9FN%)>mm&vN$YodfiFDEDlN9Qq}#%vr%u#^)6WuB(kyq{jD& zD_(!4H1m!xmAyzceQ-_F2Nl&y1HeJVU{Lsb=g6TUk%}>e@ig~;@Uzm}8uUbR(}g`D z@k2|%&43VD7${xgI4Oydm6e(d(b1BJXD@1OPcPUPL-!Apw+QT23Sztb_qbCgnE+4>SO@eG*pxU*G46YiXkeBF;;mY8rq-ry8Ln(aQT_CQV~66rq@>|(?{5z$ zf)t4bjwx^G^za}sscnN&E_N4xrt#B)9$AyT2sM}B3IM1A2(qN&7+iV3N)0uEZUA=j z%FNJnuWACXP|+l?o9#7ijCpAy|Cbb0Z3TXnh7^n5ByxyO~PkL^MR#XYYDiy*)=U>gaJ6Y=9TI z=NEta$NnS$?fhj9n4|$drIEUZ%-iZiD@KIv>g#R<0cRt730+m5d$iU+8tfOlX#~L(sh5(k^F3b!_zVItRTS zw$p>oHd{(?_7sy><`oSWE~e=|HlvJLrq8N8^tDwQu;bP5-v9ktQ-`(g5u?v0jtX?0 z1Ks+i$SoV04`qY0xQbQUp+OJjrh`QFmOV6JnAY8(4er-4;>os`NFL8Y88zsmbu$s& z;EYdW53I_1$glWH`!{$0UD9Xi24ipNaFohK4;MYtLR=xVDF2Zl<|lvgS3ddvH*@rG zFh7z&3XbWovg;$qTu~reb~*(Sh)gqctuH1vlY^U0avYwJwPRA3%gw)h@iB;plE45e zB#Ox-XrLr7)xp+>-4=79SoegKIQ3DKG7#bNSVUXtR4OJ!1hdSg8w>!`E}X1^71(v& zjPAQlGvjh%qBIAF$V0KiI&oWqtyrTMv0K?KWF+n8EOjg95Cy3zd+|`=M4}fCzl#qe zT`3H)lwL%9$$I(){1+*qTO8EujvoXNo}5WDOBAt(qE|rG5%j{VKYQ6|LJr60J6Rgq z;S%NdmaMG@y4Ro%Ep=JXTqa!pBC?pJ0Z%>N>PMtv;<}P)-0w+QC6L5Jj{u?Sq1PNw zIvum`WlY7?DMYI&IU$bHQ=!@8@5-^fRo$Hbz=;~G8qgpH2`&|`PyhfR07*naR0!T+ z5bEe12w;}plTbq)K~11%PHI9ln4JG1DR(|W{t!ai$Ymx1gj5Y#0tP$@2SvTDTp+); zPFe&WQjfwHMok_|JM*Y9#obwZ2`WHPM~`Ls(nI{&8G~ND@`Gq;1x#dl?)9m?W|6C8 ze=d@xO>`$&I|M!d=udIK0O-Nlg~w-|?gT@w_Io{KAfaPSwF4ROO=H4Ci0blD?uy1U z*X|IcdqAHL1ptnY&u)r_pT-{VBLe9ft~`|cS#oubbmmbb)F)oaB&B`CWa98rKX4{F z;H`U8NAIFLk&)vd%L+8M9otc>vKD67pOkq7>AKd$(`oEe(A3leIx2tZt)iJn%q}W#Zos&MSi7wsYFAW3gUu@5$vx;a#WX`*T|~#q@+_@ z^f@kZ`-4(aIT2_Bmq!w8A)OI7W#F&#VDw7dnFb7b4Ba&c6%~v(@q=<`yH$;daKF!= zu+?H|s>WFJNokj^;m8UBnRDj4zx2+Yt+cLw0JYYbrAxrNn> z2vXfvZ(6)Yv!z0-inxYpK?J5Kd%%SwR>wqy!oH?7uMj`<7M>{Xfi#?j{$JBqc##g_exij7nSH@xgn zUgzFvpr~q+W1~9_zaignfR1skuahnHya#t@d$0)r+ErsDXGo3u^z|-=A7fZI zkYxZrjy?sLCM^8}f`oS~t|+`?B}syc=u!6oy!vXt?>wt8A8W)sb2r1W5;f zDI>dk8E+uUxn(Jw8U%1v7egS<<@?ZafpXdFUEe$_;1E2)@{S+|1Y);nA(usMkxC9! z-16vwX_o#W@#4b|?8B(ZN#r{dld9m3$#sNun*{)~Tx{;NJx0rkwj1IIJxjb99+7WuTL$(JT8d?I4%PWcBcVN33i+{E)R82WZE4mQP&~G z(o1kjrPV14caRqk5e))l>4cu`Z=wi0LmDs8Y`?*PYltKsjN--3J$G2VHb}^u%wmJU z3eq@+vNTjoooX|AO$96BK@3)q7OL{J^wtCS3@V^X?=;u~tz%4EO+r#&2Jzzg_n|8L zY&NQils!_C=E6yGn>K1mci`jL1x$io5@5J~EZSxRH0AL-X8AHGy%f{8OnV7{%QG{Wv1!WpO6*TikdtWHL+YG|isV~~`^JDCo5?oca#PPJHr#{< zCPm_*-j&{jSGktCv$7$*fA`M=d*!aeST|X&h&}^Yi#`**#!%evSJO_-nh6+f_C<#+ z{oULPUXhu*-Ntg0Q;@9=R%s-!dG+`9tZCv8lCOQ)qt7yU#G+I!mUl29;iG0gzuWaZIF}_n$D*E^eJ*1*sbTKPQ0#ViFi4$VYov@J#JP7C zGQfBpTPaCSg;rjpHihTNqfX%&y}B-q01?@`C>13z0N~H~i|LtZW|^3Bgw?$9pkv@7 zVIyYjLenf#nFX$DF`A0fEaw4>q+%kvAuc8lpSH7CDaQTp|L6b1Z~eVrhblRK#1Ugn zlX7nXfU8Qh=P!5OI(X9&Lo)g4cfayW)$zmGi;vqea^IrjF5^-h^^mNSP3OIVxi~T?kK9PY-)C^^f3HD2W)$ z3hBRGD%#p4iX{9`%Zc{6m=+**0?Gx-BbX*0dx*WE2G=ml2l zM#8e1!Yn}wy758IjtWf_IlN&*L;zPXb6;1j`lVC&55~R@Is4d4w^Y`Ue5x&kv{vX}V~?XByCh0%SB~Vn8E*rM#Lb7nNp!s^fQc zbDoS-$l+!g@lQbSBgm=NohwyB@;Yq%4&|CU&E^ZlsOj_GkN?EWPd~ZA1@~3szdm}X zoB3Wh*y}bw2m14E40d(>(v9mfPl?AhB}ZeDGH>)%2-V1DOtyTBjyznXGgDE+8G_T0 z=pkfFzuap;Y`cULLF%i>j`Y^qgs-~y9U0(Us*5W>Ux$}L;BIzdO zO0N|u?tXh!pJ=_rq1?Oj*1PY|&R^WhZPy@;bZ`^2_TX^8JHg?Sq0g3Q+SQxd=F7qz zM*eL7baeW#u_)fiB7};GrRGsFjT}9XNcO5|&7`RZT%>(9RZPp)%vAM_y{ z_P+aPe&yf%?jQX>y*riTS;dq^rkZ3XdqGISU7m0c1yoF&W^0;eZZTF%>~)JVPLKhW ztVuXm*R}jgCJ*3xVPYRb!8Oh*&wBPWVD$kAj09h^2$u(lJ^bX{DMZv{Ds7u#@w#be zuQJsI;J5zXue(^9U%I=cH76M*Ty*QuXH`JNA!yyW^}crObRI6Be>#8lDU5g`XF@&Z zg6oO2izI<8JAi2y=N^HjJe5Bgf~1Fm5^}@I9(_Jd^KwGTrU%h*Psp2k!Y0W57z5AO zWATJc*u+V%Ao*(Y%`F3c!SP|)MTH{>=k$C>7)Q_ncYtO#s-y$C_L48bZCf0eo^>_J zMOP%3i$NwK(z(Vxk948@&}81kk5mQY6k14C&Zd$Is42JvG|a*ab4$`p;zh0;9nBwS( zX`5Udnk;JUi1YqaRGz>rPoMty^5WAZy~FnXc><6MAf%2V4cBMVTnrg1_{ZS#UNWF* z18AVLQ(Y}$l{y-aVYm=_lu&cjK1Lj zkPXo1+l5*5(B~UK9}ejAEh^RYShvlUQBhuDt*~kE4}6fa8*sWp`4GM?9w>Tf;M1+ug{8*pc%K>AlX9%^!2B4 z9H!KJR<`c2!|3y7aXTbdekix4+)DI$aF~_eCP;R@+v+p6)l=|hNi9LUU}xpSc!yOJ zfk&UYnjY(Bd35%6v$)JJ^hlGNVG|7E^^f+$t`(pE(XTxF-nSebRN<8Q=JQ6+*5NKriE0x;9Z z@3yn^M38~Jub^;IJD(3?RZpdDoIhSsdpG8ec(k`q6agT5AtGM?Iw9M!f@#DUPbx=- zjRZ15X3I7N!mt|Ih;_6e(lN()jFpl>CUN15f+u1@()#S3a(e1zK+<67DRJlTF=QUd zLqrpc1?LY>3DhgvQB5O#F=3u&{Yjz}H3fv7qD)FAX)O-Zq#kcN{W<(6$k6lXQcJ#J z#eW4S=rG0VbpkAwn15mY@%*MEJg0$aph|y4)WqBZN9JWO{Y;7Qi$4*uav4F{CPTv& zz;M7f0oooiiN16QvRPV6I~B)H9NEf)0MagCW&j+8*;S_1>nPn1Fk}I1(*VZ8%3PgF z8~DgARY%avob&Dn6DO1buZUeF!6bT7U7Q&mKKl%r6fM^f$BY4Sl8qqH!qqw&?ciS@1MusM47Y z>RiZg-CiyxwQas<>+QZWw?i3zVB)c7UiZ>!;ElR?7Oj2-G3|=o>~?}DR>ZJ6@)FYP za=NLne=S>m*UEi(_j`K~9&Ps7f#)x(7pu! z@`e`L_4>iHKqN#h+3bs`NAg-9)mxlm((6?<6x}QVbkXO2CykKYZ5vwS7WIQ~{{c*^ zo944;-|Qs~55>vWmEYGB-%wSopA5Y^D>~oicP-ik#8e!?G`TP?oc>01Bcz^dbgRqvdR*AIgc8|;Tu%}F&1UEUngx7zA2*5-9}Hjt^gMa*m=CwO9c z%H%gzJcVdL#ls$Ve+AJn+FMq7j=4pjK~SZY7k3XPKsyI1Dvm&`CTG%KxR(uVdH@hA ztjq`;^_we511=nPoD%$ZBK08i&I9+o(*M+x* zv=>y~?v9)_BKxV03ckl{cPgeshuf031P11|NOb3HgWZ)kqCCw6;41%Fdh3cLTf`m& zMM9bTkBg%$pYaLLSHx~@DSxfct<85xs z+Y2Vs2T%IH4151^ly+}@fjF5oL3(-FpTW7B_SV^y z7^c$*7%_<0uEOJDb#<9mBT#$(Eu_koV~DH0c6pHp$?k~9)h3wDMa*yM3^F}By~m@{ zXV0GsSyBI1&`5EEFdiI*Lb!-ZLi)*#}ta*u5iuA2bB#V60aW1EhSg%B=lPhQqhj6=6R z8m0T#K*l9cg|Nl0T`7v{Ismp%_0j3$w;=+f6K!#rW;VoX&oE-YCCr(BriGY9rrAN6 z?d*lEsO76?y@jhuzdBzZN;G6sRd&E20ez;99_rVU~T@pCbMzwv5^a25d5>0A}+Y0Hm1toZT zyjc6SC}qBs5eyA_4o01P&Q&iL5JTm$CsL?Xz`^Z4r~p?!Q`3NygNbeJB@AmSPXOaO zqh06gxu2U1Akv%zLglf29+|&@Dy3aGWIXNT#1N30@Z@ce1-CqT>|(<#U|JYWs^ zrm0S!9zXrEWlY-~1+J&i3pbJw!!#gdJKq^n6HiZO z`z@L3h||kPMsMXZBF>#%OdQGKk$M$l)ii#SOR)<`3o(A2w4vB|#Ub-|{=@$&u{6}G zIsqg~I7)kO;S%CnOiNsdS@x#4l;3WKG3bE>P@gfK8wfZBma&sB(;F^>8h21{S?j=i zC^sBM>Y#9P{Q&Om3T#%jar#Gxa`WLp+n5gLhKgF+1xRsGm}c(wu)66inTnIs_QFbuLRGb1%o2RH5Zy-AX{3l}XYm#I zurU~jS&ZquFCr71$m7mQ4QEQq9;7xcxPXu+RHk1q0919Vm#-c?`QpnD|D;QF9f(Ou zVwOg-({fokYl}A=Nd9^;Q4IsBK5}vnfmCy&^K@q5bi|T{P2*r$RYEWOFGZ>nrxl*S z-%+K+q#XIIyTpf=9+4whBPu7^JlZcgBR)H2nGC};sLv!|fQypYU@^TEQfN7{W60?A+(as>Ie)7|c zkN*&A;=pCM!SN~|T*E9}j)MDH+{L7vmb3+JEeVQZ( zL3T^TX5vcp!i#uFk8Cagplawjsao_rAH>Xnf=#x0Nu*0+aG31=RCtwYiL%u3EP)ex ze*B7)$6q@C^xH#=1Y4aG`>6L-f&&muTuG#<58=Y(j}#)=8MzH$-+nacY;xWsDLK!f zKYE#jr3tvnTK?Dt42kQ)n|32 z2Gp*0Dyljbn_;?U(xj0EP>!KfHXUl#Sgo59N(2W41ShH96;~Pd;yqhS@5vB!?1iW*DLCy?)e!coZ-tE)xpmRZBUY znzp@K{S0l2w_Yi2Ua{kwUng)ewhW`;dd_su%m5&e2OFtL1k0$Ws~NQ&OduSWNP~WG2M!Y6p>GXX9Y20Jcw*`dHldM z%S`l^NLuSSXNZ+p2DHPNf`1*NR)zqOx8DEB*^7^z1P2#EqMB40pGr~^bl2UAQ~}dQ zr^E=kdO?O%c7~{&o{DZq4m?QOC5RRmFOply2;2sModIBapNNOLdO^hzbOWwnmf*s(Hf=4n z-t^B>rKd1Urzt@mPp5xbzCzOlktN@N8m2 zc?3Ok#A>gIO=@cCz{D(i2`>C8QDr-Vm=>x6tMb9;%>0!fOgu;1y@`dG3wLZo-1BTS zUbWdaN}`qn_QdcQx=uX`0>%h_k0dCd=`PPpILXM|wBZ}c`cZWC_ii*}-jeX3j=f$v zebmf8^Ka1(tq0hu{mPC*;?9H2SPX=WUQRG3*;D;s2y0%=j~+s$1AH@JJ~<*{PPuSu z|6)so6pw}Z>$yA@qeU-4Dp&6$k4jrKY9hLgh;w{RKi?oxc@11}6J#gv7 zsqH<(^%=?9FL&()Mq7SE^lIB=&=`J_qzVL7RMIXJNLmK&1l3Dkr{Q~w=N+?xF{(b* zi&qI2Pk`yMo~4)Z&>L4n_@&l`NIA~wnxDFEnaIi4pe!CD`k$kXTms@6)V-qVMFsV= zp;PtR4h(HC?yxk%SiupB|t6S)=vl>i`?n9NihOLGpf3dK6d^n40}dzRKg z>HtJjdF&#}e%3Sy{YwnEhAe&fSx$Q8DEa!beDFT8T0Z|y@?AmJ!*)7NTsor~wga`5 z^6;jPVys3=d-16o$%`Xt7fzE}C$wuy23RKsZO|g0Y&+2 z8XI&i=rfeL(+0h^aUQAQI`h?alV5qM@j_73yf?O0UY=EhnZlhWHdjZHDKaz5RV&%1-2K$6UQHT0Qs zndxg7nJLGQ5`c!3D$1w{JLv2u2HRTr?moy^(N)z0YWv%5i>{h|gl>O7zJlp2BQKTg zuTy3&4K5h+AP=ahmDYs^^5R!f{H23k!adnE7owM$4nzFvNR<`61dOUqNY#lPfxxRj z01z=mBzh^LK}tkKv^A3uCq-?@`>+u!vRI)=hB67jD#D1CZK_)UVvJj2*(R1=WjXxo3S!yG+ECWgy`!lCKj*<3FRWei1G*z$g))icLZ~B|Jety z5G1ETl}JcO<4Vc9req2F5k3y}7QT^-qsM;Pob>Au*!`N64tu>nJ5Vk;lHMmhDe(f< z4#zJ+04s0-a#f*@oigoOo{MT3=ttt~1IcKtNC z1;Qe{!DLTEUpjGTuA7(NUB37ezsWN3Ov^0&`^dKmN`P+)SqlvqCh<*#hhsjq32Rz36?>u6}VZ|c8k;`ssXJ(PR4 za-bpO+>JFN{GNH-8g9j8N;lTyu9MkABkPBF*gSvrVUUNS@|dEb)@vD0>}jr!8nxY7 zHQ`D!$x9b@)ZurHD0WMdkoe@oHt^! z;;jDG1`gR1!qO~FNSF|IhWwI zXhDghhG|uOoV5ZoME=`<_}Nc??XTKjwtpBprvLyT07*naRI^uHP9VZ%6?LM;1gfd) zI61z2`N=aXD)*%(0i*4eB3w=qT6!LPl0%j>bhhL<-En!AMn%L%IZ;4G{`B&N8P$f0V4m>iReo`|=4-6U( zdCYGv5^F}1ZAegO4h=1S)VuuDwGJx}Vj}8|h=~j7*qe}G-}drEn=TdT2v6q}uEh&n z*z=D9dLCs@toWNnmZb$mUw#zyY(*~-)W#jxGi^i-BCpOo1y8fiD;}Zd(g}JHQF-iG zx)zj+^kD)BYT{3%S_|k=bpoyuZ$N-R#gXq>LSU!MObk|BpNNflVyF_ptMC6lsDucp zfN4op{_utYk@g}=ql7lKc7Hz1gQ4H655MIhN{pl`%Jl3=PiSa=6Y8y8XU9a>k$fC6 zq>e>j_I@vk7>e$0dQ%Z@q*qd&{tQw_qUSz~N?fc*Fnb2cL;#w%Tz6!dsIf}rM>{M8}?Owsu$;(T$=P*)!Ul*jU?D+S;^bh zTh}G&}Bl**$p3k;paa4 z{_l-1lk)Gif&fH`=~nnEf)L0gYQGrQNe|e90G26i5;<1{b~X`-=OL1+#VkoptOuQt zg`>y{ixDfMmw*si6k6PEm_@g_VuM5rz6fF<@vIBBa$@NMVzjptByd5hgwdj##JMrm zaG(Ga6Dx7}sl~4e##`BOHGiFRo#_HQgAbAsBdnB%?!DCNA(1RTuIH~3Rg)F|+kF)~ z@dDQQhSAbvrGMTN(*Alzj@EcE9RP#QwRn`1C}Vtv0h1Ms)j`&7z!57t?9U!tm$al$ ziSi~S5b~cQ5RsZla}FX<1!+MNQFX3>7RG=qAlm>6?hK%b*(a87E&^4pa6d0>3MUN*)nVBH}`f_Kj{5!C{ktrS^kG5SZrj*fi%u!KU^kL_l;~ z<)o!Iuk_}&NZqHHq(gm$jpQ&SAkMa1Qjy$HqKHg<3a{i6dn4ymO?fRlB4Z9#X?MFk zeEimYcF(D)$ER;M%gc?{?!(vY_Nkj6tIQ#uZyzSrZ>DX=Od8wa#0e;ev#)8)_xV$- zt`=rlg)HYUM=#q{j^k=QQASdIGc!i=@^Go240;K?9eF#>wYkvylnHAx_ZVUT=w`mt zctUroQ^@P-dbi=_S>3?{Ji0gafA=eP!#&F_+(z}gKdn@S9#awI5!d(hK4WHg+k5em z8f&$G{onb!|KIQY{ULWd^~=BdZ+z$L|8M%c^A{hFK<%41CFQv1N^u_1R7_&FwS_ZO zHDU#P4NdM$w%4LpgOarvmJQjoPjy)KE0kC^JZ6r+pTGR!Fb*&8g&cF62+%Bn~K~zlNHto#QCpmY+6Nr?@Z<}UL%$7At@iBz#m8K=~)`jH3Ytc4? zo~)Rxm|hy6B&xFcyR%aDiL^_HT1LeQ17o738TdlCFm^_2fi4Un*2g61BRa z9yd&j!H9QSzh@23BS>C9CM%SupEHXWag9yvptdM^?3evidQImBR5(DE$Rlz9j1z9| zHmK`mFpX2#h-nHcGDOK=27_V>J$L6uK?{YvWCt-!1JfcEVRwJ3#D0ruz>12A=p{g+ zm&8@N`_Rn{U`R`L!=ehn*mFnISVwdrbp&Y=^grjt4p`i+owx_{kYr%2%QnB_>Da-) zG&h#y64F`|NHNRPNAE4?FOqvYW$HbptBdS+QC?Kl&`$p9`=vqsvPAnSQ^PF7+T-j*`kl2b(E`UgzR^otlAC1rFu4mgk>- za@}81R`qTlRAsf72e^3k@iu!i*=a|&kKyZ}{&C;Rm7}7&UF>Tst=QY|Qn;L~c#$3} znS570%~uBNx^{J({&Vu+Nq0Ls+81QQI^S5Pe`vGOaU(HJ+)t)eO~ptSx%8mzF_9A) zAbJyTB&nGpBexjS>>@Zau-_wf>$=`GjR?2?%zk?GXdjh%AcG&uT4+zkFX--X%juKx zG@$+mB~Sjv&<<|1i83UKcLn@mmj`B+ul&Ma zS=YJT%q8vI^8rgLCV(MUt2kA39mX~?v?j55Tt_`J%2sf3bo~Q}j00+04Q^&UbiJ}| zP{bn6jRb?l0ecnQ99ysemMZ-bb!&0n?(8XvdWnUMiQD-r5#!Kj3n_S{TTCm`3K572 zOvIM{Y_&Kn9Z-x;Bo~OHG$=Xvm4rC=S~OZOE2-%yiT7`g$DynP;bsF?gKGTBm>>K}AR9o(jTDkc6pfZegZj8=~IpDTpu}u^W z47)s00Wf*^9sp?evls_F%&-VJvUGae$sZRdV?#?2vj@ z`y&BB)eh6MSBg$l)ct>Y4pziU+Igr*5e-N&c^IohT5#p|6yXR^d7%uhoLYk$>N#tX z7zQD`LWU$9lr76;^TOF32}!fVv^0L_{@c5bfYx+CAESzy{DCJRL@=y z{vrp?<{MCU?u@r#ub!}{Zzo=PD~M*t4<0p(`Q0Ss&J%iilq>Dxa!p?#>Obnb&LmgpGJRN?a{4p4 zI+dV8=olq~O=CAoRh*;aX+NzD3|c>2BvAGAIk>6oSi)>%Boq;uXQ@8tD~m5N+9vp7~i367raGcR`xo&$$mCdw3$=7yUetgjwDw5QruBZbRj=P?DGU%YA- z7u&2N3`D>E-k-UA@v&F@OyBgzOtU%J|BAOvNYjPmgUNvR@3t*CIGgaujvnJm&>ODG zatJS|Cl6R_S}Yg=>IHQ^o@X|bf@vK*ZG~b@3y{$>4}np%{~{(;d$d|x1py)kL8K*O zA_fepA`!~4@Q@G@MJhBWD3W~(LrOu6UF4He&e@ETYly6~1*uw1&H!-$u>~JZDo_Su z1*It3oq3GYiYJJPh?pdh78j7jwnSD7@(fx{2-%xhk%|a`joEK-7gv>3m^iiR3(znR zE!1<2h(oi6r=wNNz|`?Ci(48J<7CTzVN04K;zZk-qI@bwOOgG!6_TCN2RG7o^I` z!*|=+3m6S9T+MK4&$s-{SU5r|NzB)j^az9!FTrGZfk4#`d{1%9Z0_T3_COZToWq+b zqdC=PVZdX^9Uv3b6-ZJ`Bb$g^9o5g%3p5>c5@h47nJ}v%%FMP;8$a7FXRqtXc_sS1c^JR0?%7$8s9QU&FBX?8(Px~T zzP-Higk{m^dUC4U>z^&Dj7v_5j~EAbGwZDtAj zOaNF_D>bIl&4nicdaEdan#FksV~yri@#94%G7GwV@lkTygf~hza9l(KlWYe6$>`p> zpPIeJo_&+4lh&C(uYE5X!qj@99vajxEx1mW6N#@KR5x@T^z0d(mLq9N(C+ss^OT8f z4u0Wz%|ZkbLtKDhtq8q)n-zVw_Jac5MD$HGsVV|hVpKgf&4Po3#t4a`}=9tz2T~$>ry3I`RBH`Bq$Ere?9^n+s+&x)E zcQx{Q#2`SbL* zJx7385((op09ECX`cb)ZzZ|tNI#C8*XPV%BFgpL!HZVIBxu&q@yyK^m_uqdfssIhJ%6w6)?kBJE`yKiv~)CuA&I z9X*xi0?>~CYnD--mkQ_$xR^IE&GhNdw68vJ28rQr%nx>W&wzjcia2 zx4{u~XB+_S{5t*k=qp`xmJC8^sxPffYB-cbxvnxjKAv4%Y%`IO9AL`(2en#1kUKxl z-^J(OYRsoSxCIO(+-!6)ms7KnSy`W)EzVzDf6Mm&#Cg^jZFFz`J7KgtbM1*t-Gi#M)pQlAHN#Vgk`6(a4S z9AT&E~iI(pP@zJOB9q4F7!R%Rm3aZ~vo_I;7+)+VOkx zI zw9SYg+230znFRs?sY2QX$mU&X5kml#m1!3c2QhO|n|5xuV+0Y?eC=QQxBu_|32m_!~r1-k&Gd3o6P74*G2@qGiYV3 zd{Pr>XRe~`se`?VB+p>MrL6m0Wn}JE2p8`D9qxHBvUA>peWJ8%(~kx*>yEB0bvsmw zgGYT8UmFsjwjxiXT# zY6i3n55aeGkwl}trE51NiS)BLdViQjsN~{A%sdjABLmv!s)&GyxP~-wfJ?XZKw=iz zZ(v#Z}6_EXO&SS|oiP&~Z$N~Ycha%`?o#IoWK3F#@Mtdc4wQ|;0c z<7b=s%d>ZXY;pc+wxAcueQY{S`6fiW8b|;4`T7r^zBj*kxiU_(kh}eALbsWzeJH(R zZm>_?{-QEKXFU~KR{FrNyBL%7eHmvvK8_EOJ3{C=|MR~OHpjdFy84#RH40u5mV zJ6lS`O>w+KF*!5seBE(l@`K}X4?fS{7xROZd>R7gHaVZ>k&k#do>H4Z6Eoa9T3!~w z<$}vo(Q_ZUL0CY%9TdRM?vGfB%i?FteJ-aDbvw7Psns1OD!gWzkP`vWPu~Bjk3aaX zUS0x1s<7f1&Wf-@u(i;0M-;+Bfk8=`kU9i{gZi-f#~;$y|Ka}*;)KpjiGfz8^6ZV> zC`tSV!-|o#r87GakjRZ_WEkV#dPuV2X@3D_fi6* zZEl3LmmrpQ4lZCCFAigpzG-q&|IjQcZO_z~M#jCg{y7`TX;4OQY&(-mqI(v$=wy(O zaaBxCO}k9eQsWKP8-oPDB4L1LKL7%tWtUh@9{^BClk>DXXKoTuK1Whz5Y6J;v)9B?znw|arpZ%p5Kl~Gb z78ftF+7q+QvB7;UvKa&Ss$~WG{OIkc^UI6=`sUUT?E8JftyYY0V65KmSMES{x4kCK zx=CRLhsKi8Ht=X&r7^uPk?65ZSz0wEt(u$q${`*c$xO5c^;->;*L@25rz_@VQUmI- z8<&6fum1J#e)A7ky#=d|Xq88w(M{VAjYS>qvv@`0wWLnkb@t!9%gY9nHH{C^`MS$# z*ILx9@LPM8G>rn0bMqq>r+MnVC?uOYDXI@Ei!YN1IodKzGb6{9W)ef;!7O!D3=t9G z*&qF`Zs(CI=WsE}-$ooH?G~Sjr)5yJcH~g9vID9<=Ax2z8H7f^{yV=JKBcN-(aRo( z&o#a$Unh%%0KuoaXHkbC5LcxoD?`q-R*SVg5tTf@VXzmi@o;e zQ}G}4`Wu-S2%MaERFMw<8_;|)R2@S%R+&M>#N>E#7mTQI^k8UOk^Z=1jY0lfisUtE z+)p({ht0ZvwBa5^R_-P!$su3|js?#{+ftDR>WTBRaL|90I}aY16=3|3D~_}-t;4e2 z!A1!YsENnrwQEPwP^FVcx4^e}l>%a)QV<4bo$Q|cSqL%AGU`wZ$NnV(5#~aSPE>b_ z2aS^BwCG5zV`95qX=H92`&f{J$~*p z%^bk#lP@eUUv##dZ_Y|Is5P0PQ<~%qFod#gKauX_8c!$eEtO9e;KX=Pe24J|J7zhw zh?3+4)m-QPL zM)o>=ZBKe&p-X>nxkUpB>ls*c%MsAAGOQH?qkKO@vR3SO1l!^ zpt$Yt{x#%NcWy4PIZ#6m`=OdY$(r zg_~2b8CwHvmH5RyFpiRJW)CKahv`X0lBtc8xN}F;$eg#5StwUH{g;#%Wzyu>vv?|Dr zQczfSRBqxT+Ea@s|FVM7j;-uNfqAdnsfCA z83;=v7(=RD8T^vzd?=@Z5LF%e$^9Z+PAz;kBn6apXHu0vY3O%)N`4M7QBeOdLp30Y z66}WKUQYqTMH=O!$cUm&TuI8x+?0_qf0q>n4df6|g49`le|#^F63@ht22_F+%rZW? zMPo_9%pLv~RB>#_PX*(kqN6v&W;}rXVv@dJHbf<9Ldg-3t!Cp2&OJ+#e4_~f8fb9Z(Ar9*6 z`(sG0NcvM1smk@NG{$@baWOURtTWDTu%vi><@oH;uJaJ`gXj?19i4TFDI|`wT!LzU zG-p6?puRtrAvN*R+6Ja|qp&->u;+M&tB0<`!1Nl)Bx*a-TW{UQR(SL9qJiXq?bmjP z?c6n$O)8cT4RI(t%^G{T&k7cR?DR!^#ZGbb=&2pWb{(T=<8R-lyE&8VUHy<{jE*Oy zs#tY4<;`Bt1ypGdnE&RVt3)r7TsBEI1OBi%F%5h1!|%lx>=?G}2Yt@o!un{htAQI+ zZ(p5j&x6gn(JSop8E^GazZ3e5%^0Jhn5(t#YaBKYbH_E7c5!*7u|ka9UM6eg$?%J3 z>E1GwCm{*?+yOPr2*HZ>5vW%vTP*&iM-y8ya;5~&{##3Kmgod?%cFKi#E{;GXMiZCB1#v;a)3RL>6-LjA z6r?39TS1m3%b`_>t)-!XRfT32i;R2pSxt^p8QH+ge*68OdGez_2hk!LBF-U@$Su;0 zCRLWlXE2(qTNg*WIwO%H5gLh#;|HOch8x zwb2F@^-WeOMiGKvrHrn(nR9V=SYZ|)3nBSlk_8eastDr8ZCN?McAitlmx61(J>j4* z8XEvZt|39-R5he2j^C#8*n`eZM4xSZQUwu@J`+S!dF*NC8h}rBG=4}Yfb{t@-(DI5 z7z5GJOF)B^vp}?Pv$Sz|7XcNZ0;YkZun0s$O`vLj;AB-PIH_&B(;?9sVAC#q7!*EQ zLM@h59@!2L(f&*;u^jAF+VEM03@IZ4W(mE_Q$>@ZvYS=lZsndQ-kJ0HjsZB4na(Mo zp8`xfOO+nBTQgmUSJm~{nvLk-bg}&WESFTSTpp{wIQm?B`C%`kBq+FtPjOC?_xk~^ zVdfzehzl{xk%y663z-!~AtGAeEwi$nxe{a(~IG)_Wc;M=48`ooby7j(*hA7Wn#-eA#jX|pzw~)fJ7>5590 zAskAsrz@>pGOZw+uV|E9vzRE?4e+Vb!6D7G9RoU$N`6VCO3^K-u+t)W3pnvo5{?ip zn#-wa7DSe~YXL7q(Yemjezib|NSri>WmYQFHXzA7?z%Kd2W3!MixtxBF=QQGI>-}y z>aI7Vru^m!eN_x`AtDKp)6@^%GP-S|l-7#2z|aax1|{r97H`x$%lEWDqQsBUcyu^n zA9{%lQkCci)El^@pE3m0!z;@QHx!FVv902PoHY66{vqV0(pEGteA$1FjmU!N0T z{KfVM?XY72TsvN=iw)z6r1t)eS7V=wS$cxGf-FFV6W<^OE8}jw=cLoaY2AGsva|$< zs1#YmVI;(4piw(b^V-`CN^%64M_PO-SvR**gtOi7V)CDn(3S`K8mXzcnio(BX#nLk zOa=m=*Qx!Tx1=4(-9>q5rCSjvJ&m(zh6sRZE)$_2NlpOrTIQhP#o=TO0HlrLN=OL; zG&Ih#dyHGQS~bSh^`vdzBsXv|IFx;tYI3aGtzmsuwTM2{-l5#Vd8hO9YAr(AQdgH& z{&n*|tr`Az*ru=02;TK1yDwl(x%;0t0wT&6&>3Gq^g>mqq8C27l~*Drl<&|~K2sy7 zjnFo&KqJfdI|r-v^qaH_I+WYq1@|ywY&jrDp$y_W zN$6Y+L}LBMc+W%Ab?*z-T7=QY^ELSlOX}4#bv1UagHw4TX1UY)Vcin_YmIi?XE!orgj_CaF($5y zEYL;_fRxpHB~qn3W?)Waqb1gZF*$Ha@vlJ&*?y^&=^)n2g;~x9Y)gY17A4v{(J#7# zK2vYe)mv^wf5?u(8a(ef9X7o%H05DK6vZpzGjlT7D!{-K!2Otz=t0L9&8-vz8cvBw z`oK~-_$%(+)0)Q@W;8M^ccz%t&@)DF(gou3585shYlFNBhfj+kue$EEhD%86aq1wJ ztE2FM!}^T{+^Co&V#-Ox5)+p&3vd-$hl+{ozp8??VC6X|;%pN2%ze=5uwh}nGSyWSN_(M&wu%Y?|y^JsYJn$RCL9PpuZ{me;S!`D2IBfx1aRZb0R~c z8ItXOv*{W6vFcdj^G5DZ)DiZ6O=S>$e)8nW<>lpTSOwm6ARWqn$`0tWU2h$#?%r*j z)$N9;=n5kM4R}3|+)WkJT;Au3qs_?S<$9~DUA~u#Y6QHHE7$o(1H;f~B~kYash3%` zNR&TwNkaqnu~&Hf?w4ohpWUhHrhmS2DEDj$eRzv|IlEoq z)l?n1&t1|PMp$(#G?8VUOZ?jX-SxFQUFY?|qM!)S*wZh6<>L8=LtD}OWgTNq56yj7 zUZO7->#CYM7+=?)t%DCTuQi?GqTWY>HEnM;h=I_hJcm61kq%ll30xJ_5==yGtN=8n z!U$ymjHsB3X#gTF0Yjv`fCiB&MKp0iq`-?ok+6;m@*ACAy$b@gmEqCP^kpE3YLJe@`6OKuNhXv?C{*d zs*WH@sAQuiC!(7n#s+1OWdv$FCp66EL^AibUh5M@q`0$q6Zz^d|BYwg`Fam{CF0Ua zc-uxNN8Zu1$1)u?A93d})EVGXkeY{%@_NIBm|MFg7(}1{```HAe*YVP z@X@mmI=@${kn2X$>ALIZu+6>)g%7G7x1ij!CZOI#PV2&t02;~X-5LHKtJP~6c*i%5 zbW_7Jjb;>)in*v=F+uN-6sQoo^=t*{&g0&OKB-|I!A*A7+yH?2>>>(=9Lfz&%}P}_ zbH+)mHcKU>yH$aAIB2qc-C=gyFGJ3-zD)vtRqr)DodjydBFG$~h39CWq$x96Rh z?WU1fAoRr(l58YZP{c~RUMn=|Y=^BjUXbkZVg!!FW z==XOX$^tv6>@{V%=*_(U6`(TL`Qp?*9Nue0{ZMn4_kXt5hAEpr*3W98M8TU6L{*hw+%PmcreP- z8+H6tw1Kovi^H85c@*28uUOu(SwzkXSAe0ShG~6@0}(67Xm)jD*ydAm;dM4lQu7iw zBYNqGFYJAK#en~R_TDWh20GX8Uwk4*a!!e}D-U@iMZRgJ1o7FcXASO(t}V8^2-98` zT*YQJIx98}$-mWFHM6~*o)8=_xW6i&x6-KEw-YEpMCSPMPdnazOU9_7Q<=`-lyy04 zw;-Bb7OixF|DnF?v2z_sfXu4YiFqFhUb_qO=&{lEWcgp6kMBFpm^gP)O*eFoK-vYPVD!duzwlvs84 zfUT>EJ*fWthrb)v4>;>tIAZc<&-y!=&BxVMoZVYXl!iWLNRsKqO5cJrR#Pz*vRO}c zjUR)uZiH^+rG(yklNuIa?<7_)^xPv~1QAVAkw}nSU5GBdM63a! zL83|9P9tQ9bBE5e;w%SeqDvwce=Va|%>g-}iX#97@?AjseD%qfWey1Y*w%sw4IGPC$l0E(WUd-WDw~{;tvEhHPr=yox`ESpsB&Q zSp_}K_T;KbO%OvWBNC}Dh{P;k2gdBC=|c9cMToQDNW*mWG+ddTK7H`y!+73K+64z^ zKW=R@@fuwlRCbecy4r(6oO^w0a<$>k+vw}R^c$^iwyzB6tJtif(d*&jq3ANGXry#A zVwHWz!#BZ%7#bAV{ELjF^jFYCSY3S46HJ(X0AdFkUQfUD^v&xxd)ctJT1Na(uDo1a zygoGOq1>8L5AN)@X&pmHQg$4}GKH7#$^FX;cpPEvN|vf!v<^}WeMj2NF;5X}RN8g! z6IV^!?7K-748ar=ob8+V5W0D!NAG^HID2`^g`T%BDxdA#xq8=7>8L@MPiEUmKd+XH z!!&v*ce->r8Lgyv3@V2XFGJTqVQ!zoGWbjB+1tvm|K-2-{eSk`DLsvNc8YZpqVv?& z=SSxdj}*j1KF#OHrjh1ICJlGY7y`fxtp3zr`H!A|_HuRclFV|eDy39#g{@ee-57>D zU`oByk4b3`dUg~vs5!|ZL|~kSnp9kziYbXytQ;Ora_3AA8Wnb1fXw7k5qXN^#u;5C&ecE+?fvj;I=? zaOn`;Bd@|h0zWN}CH>oY*|V+wp&ZJsF5E-dIg~@$Et1uzhB>soBU$xaVT)(DBBS|D z@3Q%m44H0^Nb82`Bm(!-rXqhrGe{U8ps}N8O{X2T=I!eKirOj`xHG{FSOrKr?xK9q zVNE=gU3HAmG^|gY;o5uP(E4%>li|qyX*Wx{&fjfs(DH~QQkW81hzKuSo1m59!YQ@wmc*+i-(03yj|56X)#Ku$YY8vM%u zEbhOW0Q*l81J2x<73x7do!R;<1aUQ>W4;G~BZ|F)1wql#a)6dN$qqwA+4Qtpyl!9+ zr?DW!ij3}QwSf8xZY~?%A{q`z?eZwqC#{eOH{8;CPG|v$5`Z~P&k5^FW~c96y!xcE zr%UuPuNs^Nby~t2k~SeD;(TJtrT>atLg%gXtrkMvJF;XjBp&}fh=p)X3Y4RS&~T%P z$MJ;evoXM=rex{l7E~3lg8_^62f3J#X0mm+Vkh5WA#A@)fHTpn{OD16{?bnA;LP@Lhzb4*}1i_(&-$y!>o;e=DgSZ?D4* zkau8+a4OBQJ!;H1Izh>{-|E(ti4g(2d{x&wB>NXQtV!f`7^r9xfy$}6=)VcCXUY$S z1Ow#g6ko5|%7qEdiU7ayhyR%xt0y&cj71TL3ONE}-GZ8g2;o_ROYpCKBc1lQ9RYB3 zNH{jGnVf#PJbMOK#ER9#VoAC>4`LK!abf#(LWWf#VhD_ohAa}u1q2z}u6qL6giOsF zbqE@iCq>qNZZ^_zd|M7I__}CJxLksWOtozP$zDqgR6(M%$+2hX>^kVeaS zOX^v|uFmtvUn<)fwCFC+;G9e?5<;Xx(Ex`&BP&R>L*&IjMvc6S5Kt}O)MD90q>7_J zx>|_n^xY4ZXD>RBA(37|O^*jltVTqy0}yXGGGb2+qAR3kjDj#vzHChep> z-?%1`ZDYsdxLz@AW7ysltLceU6_IduB&IBmAL-SCJPv!`FanAWMWgzy57t=pqM2$P z_dZaLj;0LpxU)19rEdi_ITd}eE=x-e43rxTr$;Nk-GgoRm6aW$&&*e17&AsxVW{rQYX*X@oQXyr0AvdJF<~zH$~J> z&NU07vnUGerDJzBRb;qVXd|Xt`Ii{!P)GZRK5q_W+}X!CkfU$g8{%L}yh;BydPH@p zV96VB8)~7?aYI;Xf-M6x*`$YW*#RO$v-NWe#w}+9fdub*RN~SVD}yf;AI#UX0~<71 zvNp!s4-N!NLR|PPbu{)5HpMwoJ+9f8@JaE8kP~U2rS94dOi39)$)$*m9J}|mul@l=;En6mGY(u9H~K&UrV$7i_zs&*PfWFH>tNVm2BDTI1&CWNx+H?pt5Ar8#B_u; zgq%;TL@dBYBiLOzM4uxxttA)|62KjoGiKw$%Pas^;Dm_O43+Q3c(YbF7- z?7mx6QPWJKBF2?j$H$u_4Gbx)1LFLaydz%IGo9<^56bU6CCJG-u1I-+G=#Ge;OH_Em?l&dO_ z-}~U=&CA<79bw#rgB?9X@4mWRTtw(9x)I3+H|m(oq^FwM>4R#ybazaBnAKFIaxqPP zN+0T!^@(LiDMxiURTB-&hu{3Q7tcO&kb$YZhNFnq(f-F>)^ra1rJp4&J^S8KndUY6 z9B!o!<+cSCcOW*t*O=;U>X)OBscv-av`$+GCdt8`e}%Mw9!l3ni(n!a9iNS!)WXiZ zyMPQrMYI#IhQtNDT^YegCe&G*>DK=u`sgAR}f z`+e<5mykv**vlpWs&NtnTVV|{D{_J=7w~t7DonKmAbKTcmCqiDzM$Hi(4&?@2386{ z6_G}S2*6^r=+Y+C^2n=Q zI}{I`AYLRz+FR;(j=_8+utb9V=NdD66WR5;K=>bw*K{C~wEIj;3> zptx)lpY6xcp4@)wn}7PnvmZ22eq!D;V#;`OLvqCF)y0mCL$L1Ku~&*QlFqKUW)*%; z4EaX28I7E}I|O19nZNZxdGUrUq24A$Hr!C^1o;%1XZr33RgkIl>b&i`>HH*}emXht zV(~`^Cf+F^A}NDObT)g?sIG@C?yLn3fgJkmj)JN{HNFE|A%n_-ml7gMv7X~aEiy}Q z3CnPbSdI1Zk~@%22{8pS8)|au{6C3~9==m9&h8rnnqu%b={jf+Dl39j-YA0!u2!yT zHJ*uQ8DpJj1Klp9M!TKTCnD8>{(Q;utAFm_`0+>oZ1YLEFOs{RhEaD`(tTr4ER8<* zU|yYxI;R5_dS9`Xy+@ys+WF9EpCVdgRFK$%@gN0hozGAG|bqKXqSD-!MD zU`uq>-=#cTOt%7#M~BS_Hbn452>Q?WRC9RN?eAY=`97EYW5*SjiVqe)6tao%<=GW`NfQGc6dGQT2-MX>YsJnF*4490_1RL_SuDnxJYS8Dyes%lOL7#DDv*dN4 zY=^Sxe&E5w_m(bS=2F-3P}-p!(3VZN+~`w|1o0!e7RAx z;fU7dl89R9bK-W9*~MDAoOsd3+PJ2>6)`~#pg&hJbd*Nmp~0Qg>u6tUvr500n zA)9-HFGJ+jpJhd0g3rN+*N?UiQZ+8D6cGU#?6(}FQ-gCN5fOld43Gf~Qc|6R3zAY5 zbFmuGULr%tfHQC=o{0(0$dt!#eRXyIvW8H>IarBa0Sc-JZT-Mm>}KY;(rR)fRY|av zZFrH5BU3Hi0~_tL)4*yXV)W|VAtw^XSFRgdP>l1bmxcID7tV5RK(=?wu6oI7V9A>1_yZf*C36r#mZ~Q>&LCG>!B#pe!8$!x|ZGCC1XpAw-HvxIy1n?kvt)7sv8c%3IaL0C2=JN+$ zr@{nhV^kAf#o8^ly#A8s8EFkb*>YV7o;IJIMCqI9OYKx-5o^ycaI502=w_-4&{oLlH^V)36;va-)t5WAj%k}1p3^3V6Ej*p%^U0fVy>~=XidQ_H+Lp|Kt zWn+(&rmy@lbhYY7pD_%YT!q8O{*|@KNj&ICJf4|&)pQ)R;g5~4)8r-p=np^At1}|W zj~<)yqC@mXf8N+ewZZY?-pXkX0jZi}YZ~~;p;vYOyHk4rPsps??;Y`(32a^Rpr&G$ zL{=qM!=hkP0l73lu)yYC8%>#Lq#8uRfInP}lA3#cGzcAKHh_q9hZKy? zVOXm(^lbp0w69*Br!+%6clANb)4o;c^qwz7%wdL10)Ss)i3$PYE* z{Sx$G*=p@PlxqkJTj0x>LmD2GX4{J`$Hm#}L)&f?TNl%#LvcLbLb|-T(b3nTK1DUw_ZG%G>M)6b8EWE#Y!?Pyyn2?(M(UG? zL*Ne)=s8L&9gl)tf$49=t@rl(1C&@_quFrK$k}Af+dcpM<6B-QS5nT-o*(AceT@rt zuvd~sl zZI=d=XJ4dPqOz`vd`odQh-Zb1e#@3Abmj6~W(P2Fz&118v}V!Ez|%~e0h&}|E(k{S z84;6|HgR5LWi1CuG^~C!8CDY^A=1bSl9Ka@NC}AOB{<`3RzEd~RvM?p}?it*FT~)R%LCCA`jC@BodGBboN8Nud4R zn);w}B9mY?NT3aCJi_RLS${4<7%j)t>ijKwYitGW%6{?$s3rx~ZH@OHA5ulDmpL=G$3ABfl7h$n&Hy3^0BwR$P7N*k+?#uyL5Mb$-FAL zns>ai&v&Bm{>`w|CWm6m4ktn)sXptU4n?LS&dF3ksMK2hC1vN3dr^rI`NfD5rFV=2@EZRtEimxs$pu2r27BxOo&0# zIoX3LC9oV6A`&i+%<8Q3c_tDyeV`XF8i9_X^u%>KZ|-)+JHgCEU-0DAEMKP{QU+(I zp}irpnN%0?L$)?JCbj8cufZ^~nYbZ(1DxfmnCRs)A~JJE8|1&XhG(jOTTSgA68CM_ zfZm#06rMtGAn437LhT9BwG>oin#oaKhMPFFn_Cf`BSGc1Dt%R-H<&Y(?&$H`2d2ytzew&TN(AV|q4Vl%3 zIvd;VKZ9HBqvCMi7PMWf`TT(?m%;0IU7O=;ic8S*shYJty=ldEvqw*>#p|ASq%~3L z`udc0^VmU#>#j@|N?nU7T)JCg`_X+@&ce6XwKxpGn^;@Hli6|A0MHvX2X5@KuYCC% z*kW|&oZDuU4fdL|SZBx_XbY^-^hoB1VUy`D3B3haiB-vHp2QG{Oc`Lu;ZDC!gf;$R zp&*zcC^F07E55lQ1m@ftcnFbz6s#I_wRF&d7;?w(t88*2x)d_@%LE9K^$di{n>sVv z>Vgo-YshBG1rZi+UIYei)W%iPjVmb?fw+$9EiH1}M!MP2gwBLbQwHkr4)g6(_x9Qv zXqo#pM4TsI`kB>Y(NHAQVWDU7=TkCTj3FXZm5t#oD+-KNkQI#zO(*V*hiCKHU;gmx zuV4J6J*;|W;Co_1*qxi|x?rf;^yF!^d>%`y7~g3OAp=iHN|#1~`Y1*c^J91#P)k2Y zM=^IC^to;5b8Ec!1$O916QVXXI{;qS&B40}J+D-bFoixJ;NwHNlgmnSHo%C_k2#E# zON<~Mk$^U4O3bccuZ#X|WTsks-S1eV{-i#dAhtL6ENaNoY1eS~JwGft;K;XYLJ*HW56%@}BFQI5 z*AP)(@9S?ak?gcMgD>ti`rKO0{fi`s#sgQ7o}_hJN92+nwM$a6pd08V(JL>t>}0!2 z7nxXf$6BzfPH6{$GdO(-2Io+jmT1`45OlOeJDCpOGOUvEtJt0)mKk zsve>zCvTh8xkaFjF+>0WFf3rrndL{r(RdN)9Sez(Y87C$wKj!8K7+$sIe`D*Kr{)r zm|4VPw$c``Z?Fs`lF2zJdX@k4hHfxsUsa}@aS5Tc!YPbsu9xJBf#90-V*hui`Os2 ztOlpSfVHC?$62(FRuhSz)5Izw;c#}p;f_c$YV_Ho@bw>6CYmX+4BJEL26O0F>>9jC6J8AOg3vPyUE4fiuCfk?$>5@`Z6Fkp;ryi8#U*Al#CumE zqVoKeCyWReC&m1&YVo4+V2JFeL$-pMJ*@fBeVg6^t!M0LlDQjnzgzm)huQv~g$g(% zC0uVwod30Z-F~Cb*EU7;F2U2|2i0o1>BE5gk~VO;+GrCD^P?vs)>h8+$X%ws3&hgQ z-MMH$=xpTKe>c98)L*4DIiPWMsv#AjSj)A(f@%yT#5j5rYH4W;Ac|FY6fxF3P(+KV zh=e&8(L`dUpU=MdLjuEUdepkWLQt9g7>J3C$0Nm*3xb8Dl{lue)KzRN8TJFj@O5qx zY7!v^5jdNOsmS^w3QZnP=_D^<)ySN3TizyGz1S6@Vg^u{U;omoBnO{Ys(yuS-B*Z5|`;;%2> zg)HlsImMOc+)>5TwB=CTHB9moWV1jRfd~67+K-+1JyNkZMttUaCe<+h!$^N&|P%H7|`F5{_#e!rGWpim9$6J#*y7BqT7=5@B>4V zQtmrQZBThp|2&yamCCNainF5FgV=A}oVW%(!RQ_pHmL4&s=J4;-RFmw4S&BUtMc9I zGuXewQC2}n*EPf8&H9*GrM@ElYqo57?j>9K(XZ)#?|t}3=C1u>l^AM{jn*k=r?q z$epN!L%FG5Zw_^^UEq!F7Hd=8awf;k&y$NcFE@D@_@1t>;Ekjsn;?JYFaA6K?f?Ay zL|PR`gBA$!&m!w&H#Y4vYuy(*hFS=?+Z1aMOE_c1;t6#Wfv!0OiPi3K=s`sg5=};n zUXoZaOT?5uIaQ2axT{o)TCHBlh#0UEGS+^OL;wbX$T)3i0K_C(j0UmQfVOzCc)KPdqR+_Ss1YHecRu`P^LbN}h-jZopYETChJc0Ls|68=3lDtPKzSE=Yzci}FwRU` zsrRMm;kqW(wWg`kPk(MP;wjFOly#y{eV*i$(ou*vWzGWK^v*xgl+xNTN=Ke0xCPJ_ z`lvNMIMn)}1hK}sT-wz(W;cVK<-n-ilxU)!96fN4Vn>8K(QIv3X@2sgQ+4r{`l^7x zYh8&$Iu-XH-Gl?F^)cyKOSy^PXVCbr=CUL-NkvjQ(@dA0;Z1Kh8&R7TT{blPpiMsozB;-dHAglawdejbJAdQ-vxhP|5gbs< z1X((t>8mmJQAM(Ic9o_FV#g7~A%PLNEBw{J{-5_i!2D4bVdyfk;4R>=aZ$Q zRsL-<@-S2@1r> zW@0MQCCHf~8eLkhv^~@ZlxJjHXYLC813PRTy28nE9ix%pQLwKYDCA z*S=2h?$3Oiq$1{O@tRmkwKS^>5@Ac}6Cp9M6uQPf(Zy!qEYU?nOjQatE zuYdbDKKzA0>F-F5ahI=7&ZY^fgrj(S#9U%!;i#*CNVoyh{j)W)DgzLw`+qe#Y5rj< z5^@zlt?UN+wI9KvOJqgjeH)`u8r&9j=S*3?c^>R2?NpXHs5pQ9 zdD5hj^SS$B^VMaqVuhp;YW*7(A8F?PH(9(E+Tvwg8vQ06{ZBNJ3BYLM|3^M4xGVH5 zhmGZ>Tlk79kVnOc;b=sj!W81}hwQ#Ii`jSk`1#S}{)ytSHM&CN=zeS<(X$as+FS&% z+Wg&d=G1{pd!mwMFwrd8M7lHexhwpg|N1|TukSvPP3C|8ul|Sm{Be7>+?Xnu2x`Ci zoqxSQ(20H{dg(T7oFkhO+4N5nui(;oDiBGt@2z7vyU`kY3xUdmd^Z{0$@?U>B3_tx zia#KRYl^w#5;Lxbt8#Iefe+}-%Hp2sU|x}d`S$ww3t99_H3 zpw&vYG-2_w#mYhj+4La+oJ~b^V<6^Y8?NclJ2f6=oPc zi2PvP94l%vzto&ulWY)9k0z*)jv~LLW;PixjOiZ2CGp=-I-LCurHJohQj==)Y*MWv z7$m%l7$TZKcoOuA+BH;lo-?_llyx(6Q?ltX5t;IQ)S|_zF!~zluDf54hfhkwgB@9S z!ZXrBP*O%lYa8i$;!MbfcrL)>E$>7Gw{Ks)Te*Ejq_0uJzej!FIri>pIeGAw*82R- z^DAwX`TXJe`HM?8<)K{Ro-c(P-o{m?JKGO;X(8lZ3!)EzmZ1T@>9p1uWo$4LLQO?G zcy4y|_~_)pXP&5!Q`Mi!i<`3RIfBESe6RLJr7rpbr*Ps31dn2ZZM7_-) zy?g%RCtIQC+ssAt)3?rFeRde-I~{F&&`G%Z80Jt8W#>zMCW&OtTiS22q0^nLiGtEr z5Hfg$wI6Wh^vQd#KL6xe<`A#In>q;|T&CHpnkKi#NRu=pzTp7UKrO$RLt^xRO>2>E z^h9Od=aE=i0YnU*h*|h_H;`y#N1_-0=IjxnTtomRrUYkVR^VKW)wr+>-<7W`fht5V zIh$GKXn4{ziNK?vPRH4aUBELm?E$>A;{#YsX}5|(0%p+_vGTZx&+2AXTNC!o>2|meL4DKg)SU{G0w70L94&RGo5e1}hYHY%&OT8>B zpUxZ0+$UyK|HrHd-V1}Xbo-x^qle407pXt-8V2;OLZ4$BD0fD!;tynX z!+J6CC&43D#49P>e_kz{gOakzey<;W-X$unRKC*++m#oG{ffTcM(<5F0ruBl^!3Zn z2GM6aK6!NcyIAyjGCjFmQy$9IbzXgk;H0&wVe#@DrN4D|HI%Zy!zLz&eTUV_-i{=B zq(+~K=;G{)0Dbny7}{nTfON}z2&;lXG+SC4(_l5(w~|VPlyX5L&)OgGPx5UuvtP}QPh$6 zK!?;RgH0*vBv*t|3F5^W+Q@(yYY}NIyYM&u?f*imH(vXgJ%<|N{;NsM{PBmJABoXc zYFUKDXzxcw;7qCoAv0DN*yy)E__mjLw!+X1N1PNY_k zg=R6DCvy_veB$==s<5yWI3s|J_6-5iVxG^_zbSsvu%hU5M!S zzy2p;ioKVx5QA*uwJEHSk9hRC*3_mzl)1+U+BJ7yH;y2@2o3jlnVdXw(%782+qGKL z3V>Lt=tfMVhJA^^ro8Cs^G$3odg)sq0p9KZ+4TIDhZ`sY&HY`RKbaRN5syDKuzm*? zG@4|qv<5LjJ>T3W3u`s0vB_MAu~U76KBMumY@}nH28C4R@Cpt!CGs3|&V#)`NV2Z) z-X+W9=&dhzmV*t0Lz5yeiy8PzjH(asc7v1xA|gtm&$edF<$F?l%yTw1)$&?n;)W{4 z!FJu&CdUdU2;6vEV1J(k)!OsefqpEhw4-ZJXSni+?T)c;u7bA14@9%t8~JYpTpPFAP1g!TlUV*T8E&O#X*@ zJCsAYQ{!TK{K$~3-n_WNw;MG%qZfl13H_*($?4<87vKNN&;QB~fA_aZw2hIn$!WEG z6)fkugW=p$CG*3i|BW!>%%cSt#1{k;)nN&O5Cu*>+2{tGYJ5Hdm_iJ3PNEyj3TNLp zx55(*7-ZcAITOcM70xFjBIU(bfAKH;;cx$4tM&_3NOi`=iK#B2GSX!LWy*E*`K?cCij`7YC;!E@~HuKNRF(i^aMVl zVmAxR!(L>$(!*H`QtyN>xt(s`!+4>h>nkmDA$M+o`1G<>9pMLf5Lv)FW;8}6N&_kD z%mFK;?$`IT?6|G}#((^u{a1hUZ(rBLt4$9>C0F1Rin?hg-HiL>SZgT|CUJrkISgKybsUXN*?_HEq2DbTYU68|67=N z_3Zcm?=}U=OC&cxBs$xs^$b(3DBjeqL!Y;*(lvf5h#cODQl8g$b)<|L4c9O;-|*!B z)eryJEp3~_qIW2Va%JNJm-+DG&GRcjpQ(oy7nOW|S_3hTG`fBdl~ipOA|idR%jFr- zfAc^7FC9>5l&Mxyt++V;`2YJy#2Kpz zkx|)na`M!aXG9RKEvJ&R8HoYs=g)s6WC)P@sYJw-BozRHLSBd%w+llC!sO_&R3)H9 zGyzgAh!v61i&w?;$dqq9kgZ&_28aWZ+oW;;P&v8O2P@xUq*^(!o`l43G52&}ZWNZC zT8I@j4w!;K+pn)N^z$0r$QtxH(Sbu1Y4dZx^6SkV>n9iSH1L>ZFV1Y0^I3;_C?w6< zLoGB%1kR=&yG)*EP#^jnSRe+VXKjdw7?o~Xi4T>#o-aBzo*^+qB|iq*XSv>MZ8Zn2uZ13J-`miqqp9D z{@JH{F#6>7Jivk8wQo~E<_%qM`_j{m8@eY_Do(IU#$M?B^D1};$&>cJ&#ESnT2F$G z->5BPmrPU?s9Y?O$F9o>4ofnsPCau{>}(eki+{+iFI5Xi5;*j5Ka~3$|Hwh%`c6e7 zcdClM_3iKc&Tsu6SMm_7uGG}Jm>jQ`Z+3b~9$dTcd_>*1rCl4Jv~s`d7%4+Olj^*I zX*SuQ74t`{^XCcK-1ehl^ecDcqWG_ko-&iE{4U<&s+z*cfW0m_XCF$9%OAC%{xA)AU`f>=lgvc;GjzqNYvnS~%7ky(hd zBV(3M1tgM^}fmuzBUIctwZ7a=-R-4AC&9a!S$)3gWr5z%Im6(cLny-$NeNz} zHF!tISP#H%_Z8{%GB}ZF$4obIYewR^$R+_qD6u+ow>L^78q;-ktFIifm6M~)lcT|t z<0s44&jx#Sa81r9#}AjUev($xPPj>-eK51%j#HZq`4)_udas&ppQfeup@k{g5QjQa zf8P9!FAY0^S8y`_autXXC!g@ih`&LKG50rM@JkxXu@oAd}|#Yucru!EHBP} z@CUzl_1z?Sl(#j~H1PYiibcCAi}SPgM7hW1;iIRE#hXiv?va}Wx!fFbDA!!BV^fz+ zX67<@Uo&;A^Q%GD1lj4m4LWgiYyFbJndBxqDrYHslYzA_i0#Dmgd_1=M=NjF92l`K zwhT4XKx7OilH&M*UM)v7y6VVkn~kRwu-A(W_OT6b-bmOllA&-7p`)s?zU;L;noAY>pWetEL{4FK0GihM;0D$bm1d0T`q!l>9d9C z3)s;ARDIvAAw_Gx*9vLS=p-PxEHWZd#i{6}1+1ZFw)2a&EMu(BKZnH!MZ51Z6OjX> zt;hltz$AvVsfaPAMWJvHI15aV61ov9#bX&1_F2JH!oJ|_MSLKfEEE+2FVULvo0cweow!K>* zVqojm1bk8gk-YzNfBe;FpY*_pgQFO!Ne^C9If3`0VGzU1B1d5@$klVJqqgRa)R9Ic zBi?!aHtRWj@`&KC%SDGg+aq&l+ky+HCq6v0fyc%C_iZ5-VnrgP@(wMUh^RPzq*oV_ zHvLe-N8Gm-K|FZ**VZ3 zzMB|F=z2h@-M()MeLg^4`?J}@CS4u9e`{YJCvVqR$ z4^6q~sfuASYxfnsTDo1Ctq7#d|?B`T9-rg$_qv-a)f0AH6ba%g-D6oI}RW+BASf0gg9_UoY^aY6(M8J zEUXO9iI|``pNmv+c*#UM$S|;vr}CpGWI!aWrbiFIyt;S+u$7sxPeqDt_L!Q?#jL=} zn-CJ`69-#^_3BKj5-Jm;!8w|$5YFeOTDWH;A)}!Rr++Ob)tcnp|Io;EP*@?&KVeZn z0ui0Rertw)W zE{#4r-g+Xr)}hZEv|SSQk`DS@_jy?pX*ZvdaOJxX5pXg&+N7E}9H^#KMcBT}raye6 zF^vrX03ZNKL_t&w>M&Dz-=BW-H-GaE%{a2jp9Vf`{Lq^;{}d6ky6HZ@`;t#)w|`GA zH~j#2tlaKHa+OWSJa9OieQ-alEr?WvCn-+!KrP8$bvAIm?jxoXRjC1S@7Mu}P2EaP=g%g9+RZpv#7hD5)dxWR|^;*%~(}|7v31eEu(pn1skwwLzEr zZ@u)35XqzWe!+54C-b+70OYDTu?~c6)svw>5WRf#rC%zJzf8o0jJXh9X2nB5k(g}u zhzLe6eFIswR*UBbUPo+ogt&s2{)$3dHXvMC3H?5_^gf%)EOc6edGct4L}p7@DZTS^Y`TLC)oR&B-y$ z^!Tv{g4Nn}bNx+&e2zqhuI=4^11MS*bN`O$b`{P-k`^`%Ol$wm+tTyU#`%XiwfS7>QFj*-;ws-ATPuj_w?X=`mqdsWQ!>TI)z z_gw`_iPo3sT8ML93)vvu`!JL2bo37?$?jMI{7??%P;P&mcFp5@q)_Hgls7S2BWvI> zQeg>PD(CFMyB9A%8GE}x;x?O}R*P2&Vs#*-8~!DqKPu0kZ`fY4iTZOgI7u$k=mADr zkR^MUDIzfszWj|hpZ`cNU)MMT)Kv5;pFFBoFP)+VGdL$B;KG;^%wkFs4K)>A0!oY) zqLX*N@#gd2C(&RQQxP%20Lt^AXCzChfgY&{tcp{;dPSrySjpMcR2Kv$QUn0TJERFg z#25ltO-yxeV=WOcIc-BPCn0SO#9R%F2vp|W1*JX@5M;TO%K#uVfD$oKxs(fMfRW{n z6;9O1Rf~E5>;Li(zxRJOYkJM<6-l>p6QOk*F7C{c;xi`4kC(4MCrB#xY;MQd)KtrE zG*~NB$HFXqeMZs)urIvioZ3X!?%|NM9bBA7N-DIDKs<>o2ixEtJjXvdD&;2T&plja zsI8Rk5(Q*nn~>@f1BjoB&P&z>!Mg)#2jvZSbeFLQ(YH-NAbB#(!4Z&(@nuPo!IO## zeK$Ik+ckAG9Y9QJmk@VUyJdz#QcCPl?$}~;c#F+%>7OJm422> z7@XpAAGl=C*+S7Ml_qJ;d5DPU-JkmU*^8fat<~F;tu?d}vw08qbep~y3**`%%sz`^ zB;57M?d9dGPaDo7*hxGS zjJ|*uYy}tA(^#Y;awOucI3cM#0;>RCo2b}g>8H@)y) z7xq%t(9iV-?VT{Ft~aRs)w4fpT&dZkx(I4p0#T0k89*HO0=7QwhkyDPe)ajYAJrJN zUY>j0yrTpyjVN>P*>({2b2jxDLU56g@0{qd=$Cv!3g%0i#30Ts@M75{P?Ok3MPh=# z^z0NoI}?|W_U~B;yD?I_cK+OGJ(6o#lKSk^#;%^nkKSD^&Zs|2)K+DkV9U}KR=*u3 ztd1}pSjS1e=*ezIV2qHQG7fv5+gU`X#+ACnP#?_7+57l4SVW8KnyJ+u_YYj-%zjhz zVQTHXf=OPaqB~mrzJlY}ZeSj0x!p?VhwUtb#>_dg>0I$M-}+O7D_#4GlcPuDqN|P& zSTXmzh^k&*KmGpq0^)P**1#E&y!HM!T)tsI5`oG_SKZ*bvY0yhfBf{TvrT`SwBw``XT@59$*A`r6Zu^lFx z)Dcc<7l;>>5RU~Lf+A8x49-ck!=Rmeq1dBt(WT0dtrs6SCqPWa$V7}d1QSHW>Imux zJcTMan{sg?!mMVjrX&Cq)D&D0(d@wo7Q+D-qBT$eIYE({kkMIwL`D;sgrEwmLYB`T zd;Y9(EM_6n2C8t$^+Kjx**+jn_f|k8mhveULKZQGL^~?9h_e=~#j?FKqYDY(S>bl$ z2@r`mL1)+5?Df5GA%U4l-v7B@YOvHu^`a%v?3}0_sxI^g|MVY6&1WCLVch6MDfNkq zbpF?lZM>Lr*ncE?yy!XEcR-2dmC44poj$9g?g!O$U?3sLQ=28avj_j!Kht}*7xck*_v2&awDNNVPk6vR4MT~I`H{@P}= z$RGw3arNz&v%wVOea4bntY=9HxXAu(hYn>6IHvCcYF#9B`&!mpG3=~{`?HuYTaHg3 zua*}*YuiotjYFX^+Fplx9$pc+pHo0FPeD5SA4b_k(W#D0?y?Imx=QHsV&+q-rpM3NAANh@^)vt&*K8~Jiz`2-` z2mnMXA^{h=JXiT#bR{GpDo(zt7cYrGrnE33h)D=g1R|rwR3sWufGRIu5ONX2YC>W} z3>ibn>@%3^!V#$Rxl~IcCNZYEuz0j(LxVw3WT9uL?CjZ{LemFt>2g`ay8uWG=Tp(8 ztABt*IG>2|MCoioMk8b^J1iPbQN$V#ia_OL96)d3W`B!@>}-fv7jGPlRm_G0p-^)J zA?h7=BJmF+&InQB9)(NI8=lP>Vz`p(w633UJ{MD^#jK$``Wz6+Nz#MSQaTVj%{1TY z=eu-2gQV}`VRaxPxC0FAS}(!&cA$T*-g$(B^qPjXn)n;srAC?5sLE~6$hWbhpyznD zwdmR(RFJ38moJPRbgz3{=0^|9a&hfjh#SkWQ`x+op0k^G+TH756p5pl9BIAHi$v)2 zp&ZKH2PwkMRXDhY^&-^Xh(5`NpTxKa?(>Y6U;j)0-uM6cZ+Ey(o&O?BI3~4y)iJn% z-)%Kw+mFe1h{N5D>aqDZ_^=~7ltbBh0C|<@Gw;HdVEd9!j*KpEMf2>z_PHe#HsJ9v zaxH7n-k<$bfARAl{$7v$GA>tXyyj9hF5L9V>Lunufeqo9xKh+~@@%W6lZ8*+fJD5ctst-&|h2B4aFg4L}uh zQ!bz~RueI0wYuOer<$%LLV)Ospc(+0Oq4qBey*v|rcnzqCLr^YL!Uj#ny8l6ZMxa& z;+);Y#?tM_7(${spNgr5yAXQrGBJ9&Zdtl5L4V&cX3yqMDmt}X3Mra9kdc&~ zh|0us)gIN){OIWX?CdgEV5N-KbiWF=)Y?yIv~wy=9=DWp9k8VD-f`$iqnJaX`#KwJ z@h!wQeZ!umSKq+`N1&^(HgyS2v|u@Qs)eRC!9q zF3*UFvm>LIwjRI}5yRQc=!ygcR>dPzU4X1V`6`93Z^X2mg<=G1dT6q!brY&4VCqyzieQWvhCxlSVSvv8U892iCGdWU- z4HCKUj<0GG14nwI!SxoQ8>KBGaMh;3%dRDE(2j>WKQ?X*N?_h7Jr5^MknAFvbyLKe zF^JBy$?eS`zoH2rN`aNrtBLF}Yp=qLOtrg}CF+{0nCR7VXNzMU00YJBcy<1Ir<=p% z(lK@oSbtUt&X_Z~F#|&kE|8p@%lgG`5E;TI9HsVj1eWDxPy1!_31ugSEr`Ow!vWa!E_jD3I5h5|9Li>!_8n8aK}1lK@#~$_q#AXjR*sQ$SDb2f zMhJ8g5?kP;a7V=Vget86-sa=6*P?L9D;P;qb28CWf=I~_385g;9b=EWWs$Om5@a(n zCDhCbK)d?qIG8bw5`qwsK;SrWC1QVH1$AcBP6FA~NMUtGQTnZ?SPBiK$pk zh}h^0&gLSOMI^Jy12Ib?0b5e7h%U3~Loos_OtmD=StG5QDwC2($u&!$|~jALX|a-9dZD>OYB(91L8##u2TZ46Qq ztFs|JIB$}Pi6#uI6MRLWGKXlR`^jkVayAiT8olN*vD*M4I{YWl99qx-v>hY}Sc)5`- zRTO*)h_cysX$z^h?s$pCjyaoj9<@mHymU(>C6%L3vYHsZ+MD>YUVFHs0F``Mi8t^P ztO@sa_|-%bfIs}{pS|8^yX-DvGJljBZ&$ie!R>0_ttMe}=f;BE@h$7YYH5>V zs?~@+o+1K~rok9iq>SSOj>DD9oFJOfopyU!v2GwSs8WS>qbwP_Q%Z^QdL~lYWXrMH zrH&rGyRJgkMXr0kK%g(vE_?d^Pu;Jb$zUla)5D~CD0g%Sv_G6(fr0AL>DyQKuA7)< z%jK<-61z*$%kkoyvW8*Ta!W=p2vwW2HBNiRqXg3Xz$sKh^ood}a%znAtfWAZdf(8Z zxkt53^w5IXkONH0_L)*9TD79rs(<~3f1dau0jU>T$nJbn;UtDLop=)I6T_@ zRm{p_(6Au8XuWy`WF$gRAO++iGJEjHNa*x)(O6G3n(Z*rA|p+?VW!;6wz% zN_6GkLIMqFds)|SZRdokmhGTxEzBb+yF%28Z~-PBemJ4wfc{Y{$mgM?2GoQa4|z1w zD3Ne;ZILHYpB&X+EOm_$E}Or2!KDjTsLMep+9?TwzZ zgIq@=Vtel>b^|QB@@mk$zV{Vb&AOkoNhSLcA#t$B4yje4E@z8l)hF303D?o+>-#be zRhC`n@FOA-^U)vt?zL>*b_NA5&!1o2#jpC|ul_M`(9svoXH2vRW?aP;OI5aLaCz|hYW5)Vg5x}fxw$94LLk=*;>D8>JXV1UKYO*~41Y7`Uo7AV$Cw z5z?!3A|ql{@enA$h3n5yR@oyzeIHy9&%iS=VyXpHMx=Q9VE*KN63L5+L(D!E>CrM;t@i zZ@DomQREq+s0c=qSHQ3yhwzUP_MblV8R!Ww2hq@F+f@#tV?T|Dn{P1f((*Qxv^Zt?Ob zKOR}vBi5Rh%O&+2T8?%klO+Y66sB4oYUhSpVJ}DeVYKcebRvUMrWxo_Dxc}{;u?GP z2EkzG&;pwfu4_%SoSf@-E3#1}Rr<1RNxL15#Cq&pqxkQGcb>j{_VE=q)1mANlv0_| z)uA44B-A;SWXZC;sxBq6cZFKmy9-4)n{@e7``t^i2BW`$bQbB~=O%s+&ctXU5Xk?m zhzyAio<9g|Kvx-giVq3aa|2azq*o#PjRU>iT5Gt^4mwE}aJ7eQBGuBLj+-{tVZl%# z$MSYhTYo^uwuhG8EZ|&3I}DeMH4h}RUnlUCh*-^yu86?um^dS2j46R!WI+(J5HK^4 zo9YYzNkyayIk}$!HM7)8-)IV|ASg9?EM_63Nwkz_1f%k-TD>G=h=j}vnKG+$5+SLe za{V$iPU03wOp;gUgM zE0AjmJ=b`yaZg_R9D+#b>4)F=_@nPOR|u!F&89VfU#p5EvSw=#sRqX=ldHqdxQL!7 zyhv9Cdl4#r@{Lzk9oa?UYVt%q#5Bl`Ud&bb4=b!Y> z(%oN`t244f9Epu(_uQteB zNTb5$ZRZ7q)Ptd*%;-Z~@AvX^D4ng>p2Q_r|0MbRA*+15BO+E48=7Aw{rPeo7`Uuo zwq;(34ve|O#n+@Rh^^wSO&P>j*)gEPS6H6C8SJFov++2TE1eq>8hi)Ox{{Qj=2| zCDa+f*h|CY zwbeWks=&FGTq~xJb#>0!oJR zDhVi{0Ov&D{KSPK5ae^I7So4c(#u!IEJ*a^_Pm1d#(z{+qGzWdK`7R{IR~=jgdeHr4xj0`f&IY&NE=RdNp zqLTtrxUpU9z1#*~B4Dj9r=6N^Tvi(iH4e=hkDfdox|hiP>`_NYr+26y9wvltRqoC1 z@#+`#^5RvsJnOHCp%kb1H20=Dyj-FJ$Jq4w9Z369(!V0hB{t!5y>mk1Gn1o-zwoPn zcI?(25D_va*evb+0N<&U{7q?Y98Pu*vS~xyV8dQ%}EBp>jGB<|1U%m3}l2Tc`DxYV&x)j>9&?-+>iiI zH-dGnSg4};P&PsBqyi3fMPk|Ls7ERH;qJZLISO5M*|47{?K-_&d)x3Z32Mie#ckqU z$xu$)_6rSfx=@Dg82&6e@)aBrU8{9&BH+ZTfh^y08`xWU(wg&QQ7O-We*eQ?e)Zzx z&WRuT=WgmA3=S>;YCrZ)VfIH2C3F8LvAMM%dX9P5ZrCI}yIo^>@bL88-~QGg{n3x< zP=>}-wYE!eRt#=m-PacvZ#J6H?g^S%mdiso+t(fIPCB9N?ozj4!sy{3+^+OA?79z( z-zTGI2Yw?!%(h>&l?EmfT`r#e==+=8LT+K7-{Hl~&9(0}TW^J@1ONX zo=2ZUCl#fs2hHFh0ZU>vPQ(WQ9gZEcHgtemse=Pfv2+6tp!Dort zQo(vV)GWreFlte%xvLq6b3Sg0n^CKX)(i~z|$d1HlkP@>ZFmXXrl31-3Wszc) z&vkjmd7)RYK_IgtSeAehQxPE53h?fcj^#~IIqB-j2j94Gtl?OBqpl*?ZKPI*aPTo0 z$|oyJ+z(xSiw~cu1BwY$UL&ou(SEnS@M7r6^Wg}1zY8mCowU}75s=Yg64Xl{;FslmKD7ZC$BO`&PSDzvSTpzwcc5U!v4)}MXx z>GuOvmqx%B==ne`lo4~5o38}uGiuUkjA)1O9D=76-3am~o6?$5MVjF7c(lL?NjnW< z&ZZ<4fdNIxh$Jf>fndxVkaz@D2^r4kQmu$s$PhW{VKMsAhkyFfSAX^Ov)==9t4Te1 z@FB4hDLI=GaPr>IROPu;OY0@*)mN+zatONz^hTozbn)`DxQ+uXQbIS&K#im}A=H{` zVkSUVGY<9n(XLX-!9J6R~?-#U$KDpLbmbV(;Lf z;*w$Hb{UhGM;&`P=_#BFsULO|W~h8pF3)T9nPQlDyS^eF52caI%znlwDGmGd`1G1q za>&z+$J@dE?0&Yqv!S?#F)KU0`(5!#I1IhpwLJz;j~*=Ee6dw0ys1umZTB5TqhM7S zeb@b0599jI&Eb<`vRo|>4RoL4mP5JoeY|fo*fOC?e!dHg%JmML*Pc> zMWVqcZ-4Fevwt4#j%&Tz#zuG}?`|OiR4zhfN-yt#P8Fel+rCzmLsHl2K1L7vUn`K< zW(9yuOc^jtP2$;*by%g11~O-Jqc7kfV-OK%Q&X*goJcu65HY}1NSG%?WK1ct^u0$D zRYVNREELVzjEG6BYo8JksJW?@B*N3TNmo3ZivhSWdVvfiWj6i)*?YH`X_E9z=zSw1 zv#P$+f9k{h-90`3^w{lT-5#H?HH?i9*v8}aA}_23VzmNU2!w>RXocXyvN&8KE*1#{ zmk1$1LR_p@yIP6WVz3O_3wGDC$ER`I?wRSs^xyySJJnZ}8S!#X2gN4NgKM(=C0HMm7$Zm*YUt6(xl5}zww{` z#{*Wx?k|;>P)v)qOwDg-6-Rx)y?cvgyIld%57?*f0wgW^+}a3{1ArJEt=ece(fig| z<#w5x(I2`Ua)+F6kLiXRddq4>&h~hkTV6tX&xXF)eD>Cx4{z6Scia7zTd|%V&`qk1 z33uyGUI;{u98& zIr_{>&0LZIh{=(!@Y#MO+JI#w=b&YOsa^bJA!)3_p>A6H*MF@;+vNG%I)Viv5Ru{G zVjxtqX}yYxiP7k=-`IjufK266`%YqF3_wNnX)(SJ25n_ZO?h&rRHjr0G~?n35U6Cc zDxx{ioQbi@rzCGkUQ<4o**U3<@+lz0DQm0Eo#MsmwYav5ZY>0mbSBdMpTW>-lki0)(T9V*=9;~)CBOTe#(WJj zCFz%m&_*9Mx6AerK!_}@Zo*&^V*9tu?i-tcaT%u>w~@lGrn((c`0fAu|GkxN@xCrr zw~UP37NOn)ggIi3?}wQX^KGq8$!wQf%+@>L=;V$xl+tAq)2N`jc8=ECZ!S*Et>I?u z_jVLDmkjQIGX?-Szqo{G(KcwK$>^=O-+uZ0#lStNicKI(`jBz2jtMu@dgQu&cU`)O zWx3>8zPwsy#{`hGoac7&UevF8>q|fO{L}XV(MC&yN{n1&BNvfJU?wWsg7_cQ;Rt_F zMuVE?3#v&RfTOqBvaYX_Mtzji>KFSW56YL@a{fy|at*6^OAX1Jh=nA9=K35RsX4F_qCk@XhT`<};g8N<{wW{;>T+q zVuE}Glp*6NM!*v$M#<@GN@kQ#kul1zUwQW@r%%3}9^X^hMSk=2U;g+0^V!Yx{Id^9 z&b_{j1u_dZ%ph4vooWSHt6aoVc9sZ$?tkHXr!Nay29i>amNbBpCFQw_uGZ=B*kL@e z6-Tv)HF+HFdmFqgF*@qtu~P>JkNGW@8iz!paF;1nvuk4uH8pi=?r8Nx1Ld!Kv6YLQ zxA?}%c&v;R%%b25+jOvTjbC?U;ef>i#7y9*ZdNHh8dTkE zD}xDc_$_idK?B?YCvxv5g4@!uV-dvKIY^Va91?wQuBKrpxIJ=Ry6b^1Xy;r^Naa1{ zw<%Su5aLJVn(>E>BQRv?^Y8u%vc%WVwP*7+Dy=DK$N?E3x>3>Ef&rFHHEd2B0sx8$ zsB9sGX9KcP4a~kZ}w^0ZBkXa*k|-3;-m60!)x0sO_g;MRy8y_NGhO)E^;6_y zP#H2oYA(k2NlD}>C;(vj^a)Fk0TjtO^7QKQ`#LJ1oPGu}yYuF|=Z`WV>e-|8_<@v}rbwe0fyx1h zB}b&PhBsE4eaD@l9betH4Hu;nbbm{O$=RKJwxr$~?hqt(bm!G`H74 zv*^A66QFr*hp2@;RM&>ySs6Iiz|O931Vsy&NJsfff`(iqGS6ZGE-Kz}KEGMdzg*mO zc`}yS&AyivB2rYMh_->27E}%mNV7#-eNfuU2-1_P+R`lnnJCWNM(f;iuo|ta-wqgi zbQ~h0-J(k0wN_VKdm;ytVsw(vE(d!ZIMAVsqB1Pb^=m)dC>AIHFya7)&Bh!emu8r{ z&Qjxu%93N1T`p3@b`z<()MheykWCG*mXGhto97LD(%|bt(1~#pm{B4wlzFT8o${W5 z0@U0}a9E9OBVo!6EgH4TGXgLs#xlP~-~bF!XcZJva(w#vn~QG)u%G&s|L(Vc^KSy& zpf~|wKqfjOsj0?;fhCk*0VaqHfCHP@gh@Vnos?24WBiy%Ap;bN%C8YQWtYGKAx9*Y zovZv3@+(XxBs1hdd5(xg$}biz(ZYz_K#t6mK;5m<+-GF|qW~EvX->~Gk*a)NMs!33 zMYf1cct$EeRDh;X{RYHCsG<8i^FBJl&{VroFfgfe0288ju$Vf^%lV0^fV6ueJ;G>Xwg=j(U<6zGWc!h1>UZf0Z*4m z?dp2^)L)t4@+I6%-=M0Oa(wTVRWiFgY8l$khCq0ix*-N zX|NcWFyLnOc9+V{01(vdzxZDt17-Fhg-WlcnF}DLF;)T~QZk}dYS^9r|d`|f}sT@!M3SaLt_c6;#k7@>;JMh)m$Y z0+uCLINLNF6e)l*=rb7+43ZifC1hOXbEni16nPrZP>_w#FpwDwb!4XoNmb(w)>{r) zSQZfgcsj1ZdqgGfcybwc?v`kfH8%;(J zvf0zn?n)OW9SC&MV*9Hxdo4RryXyx=&p6t)+hC++MT@qF9hWB*(1zR7IR%$ou2b9h zCV2OwOMtDJ_u^V@OT`zL4YML<`mO&D z5D^%GEHRN%excw#YrbcGeE;pMXW!~HKOzUpo3RM;n5vB+1FPqX8-oQ0 zKsROyyyT!6=2v7XskyTuT?ij@qp(2|fRIl}&H#X=chvl)!Juglg>(s3M53vnR3l?# z3X>2RkxC{HvguRAgp@><5J>=rn3Bp-90O%UfPBo7V>Q17kVFz0N0tI2DQT6rN2GFO zg5->eGg69>fEZ|@c8~F z8Isy<53Ls$eQSPxLzOXR1=$DmkdyIAc2l0+DZBNRvPv`ARL7 zzyKLgR?6er5M|l)MJUQ!Q;`M*a0BT?el$9|FSDx#bfSDna&%8+*XH>o4RL#UZv-_y zUdRD!3aUm+F|p#;%<^rK4>D<3>schr(vya zl*&P{?JNwEoO*X@k)s9em~{x?yA9}}9FpQ15~kP7t=p+@Z%K&JZCN~b)5=)O%N+a_ zhdK*&8-)&^mQGuG={DXw*nAw4`lbD>=ys=>y1fXOPLjWD7@girPwo!u6m}Xp1MZ3# zpA0qLG&`OD^WXUgdo-r}@IU{xUB$?D)C0_RKdf}5@NdL6pkjwitU7dW6QRC%`S|+s zdCLV!I_YIW-6^NE+Ki7j&R)MIiM5q@OWGXO0#X1)6{QhFO*g$(yH_-)+!z_8yX5Jt@%%$}PvaCGS*Y(IEg*Q7Oo( zu%oGHWy_=hJ*D|x<^R^N|6NdXdlx4)2LP6w0Vx0pj9ZlnO{_*hA!pAWVH5KK`4|v^ zG5`XQKp6o8AW|~`049Lo-dkTqCV&7?084dw5lKV_YDV%B)C~ZUoB~Nw8BxY~0!W}T z$}UuPuI4X+>j;V*07zy4l+UNk$m5W~f=jIiDoRn#ugmGcFq#1wH{MinBf8E^k$2P) z2vwe0RcMX&vl4oy;_XERk?$R0pob#<l4u}noWISLRd-Knh-2hFbjkO|}o z6pCtyogB#EjEM^)v;~J^@{#2x>`t@wsV2ce%Xsg%$f%cHf5fGnd1oY6wS}Z?Ydnl~ zOpjbuM0Wv-)nU?!9BLG>BcE33BUnlGI}sRxqtEGn}BGLEFb_S(!2TWsXbjy4hTpM z2m^%>v^w>)qI*y&4PJXo9mMdzL}4X3Dv5EGHwZAbm!U7|0HuhtAwE~I5e!us0w}=5 z)iMT>CU~Qk_3#ub(15(9EQ!Uws~-{#-69jf1j#uQ$3O}&L6)d|%EXb%uR-O23P6#X z0U%3`RW{}61C?I^DPRbQs3B=k01`kED5LUBieL@|mgOCs%58#O7lkn^_+T_HkR>GN zC=$|0J(-`7GnLItooHr-p7o=s9-mTw=}MY(83(Ajn{tw}x>wT1j7MagCu1wizDOy~ zmPt5_IRF4G2xHjEDiJlYb2)TBlDOf)btQLq(QI&Xc5-=s*>KCMQ_13_E_gEILdi}6 z$&vH5U~xC8Jt(^(Fb0)Y9TrzCM{T!hGXLN~CB~pT8!>-6X^`45BPP^FWbdr{=m4%j zQNQ?s%%%-fMO>&v+kmlN<6=b%+shZvI}C}j@OxhuMeD7IzVf4A{q&O$hjFp^pp#uX zI+1eT>mxU&IfFadLQt0L1gc8!MY{#V+JL7rqea_~j=1Z}V?$4@t%Fi4pi>qdtx@~} znP^$$uRWGl;_n&Cq>|J5^rii$0+Jd(RdR0CkTpCikMDmmn?5U+^Y# zG#qNnG;GG@u>nSK)GgYxY?@77?$)Y{05hs1AnQbFKQA_JVVM9|;5cFF87ZyQky|kn zFd7|V0xGlLFel5-!Squ01X0UnAOa{vflQFPL57r10XcwTVyyBjWCDRm%@9$^OQ0M% z2T(vcs5yW_#z9FFXptl`4Ho490E|14_ndMraA(w-+arUqlDo&CkO|E`Mr0sma(t%d zGe7_$6UMNFl}kRgQ-PQqpD2&EY1AaJCR1SVtgDBI+KJ^;BR48}$hl2SGeSU$NcvRb z4%X~8Gy&590UZWEgH6LuM<(?yPcm!>M{7Qtb0Ib_V^uV;;Fm-yctPNHs!;xGpKJEk zqj%2k+&_Q$d=Q5^APLeW5`tiMDN%%aCa)b{2v$EaeoQo9FmHLYOLYja=yOC*qHWSx z!=C)^x4PIVHV=VCyG>o7c~LzO`n&;;umk$M>}g-xMvb?0`Ib-CJY5RR{_@$%*bOVMgO(XrIav zx-G>@P3C) z6Hn*FC6$Lqj=)Bg_a$1nYNaevMeg&;{bp=*12Ew7q5Bq|j;RyBHMAKMLZ6XwC(_^& zYngqr0TmJZMxVRPP(g6n{j!~myarYI{KfN&^OsFcVkkxhVsP(-yM5lY*5s7btOgci zQ^zLCnwNaVAe#Wl1H#U5=O1|R1-SkbZvE16c~^deT#{Ic(PF#W`mBK)d=&0R)nIMY zKIHshw?i{T+o-i3y>mG<`V0Weqt9^*HrnA0wwv$W>VOOF^v;9%Y`WD3LoEyEtrjwd z7`q*>XU?rmW>WxS;zZ_ZcJ-Ll+@p1uBw1MtwFj-hLhySWrnqVd9pldF?OGc2S@jBz zTzV#2WW$S>XB-A|;Jt{9r=?4jEiv+Z50ZvkO<*KD%I9lL)*%S8#9-5iK#He#NzM?F z)LetqB(KHjo}4`c%2|4%zem*Sriv#gN=|K>r6pV|6Q59JR^vheXsWMMVg@K;$Qb3B zL7x#HedVh!KK-zwn1Px)t+k}XoK1~Bb0X!?z`+2lh(N#+O{_*lsD))?wn!?J$BOId zHhvXoat#5|7+=Jeb+vS`MsY&~M3T7^$&hu3V%p*fTTO7PWR2n)d0QsZR4tUnXvba# zKLt*~hG%49+_y7yu39No#ePf(*DjvuV$dz&0?vh&!W=5#$Z`SW+t43q4s87^^ zszTbhfC=lftt-n}5L&g=ud+{&q18P(53i)5dqBc2mn}8_Hfw#b6jWy6#uP~UMS*49 z!lDp>o9tJd7VG9Y;E9!xMq!H!oiLA1$(S1nKsu2Usk#%O-(E#uog6yG98}03VON$ z_A_d1*X;!rpAiv=kO@+m5tSwdh{$+_P>hWEFtK?(qE(a*_l4qf4PvH-ReZJ4)%sdk zSGQYRWemD*5Jt~)6Tpk#eu^f&%)=Mf{1TNuh;bogo^PzQx!;1Dq@P~rMp^a?*oN$mY#CV$*iUhNHLygv}n7~e{pAm>uz|aSa>85-J_<9 zJZxM$YhB1+SX~v_js5Y-{d{)4rII{gD93Lt>mDO*te1V;j>X+LJr*t6hHP?tC(ma4 z(>+)C209FGv}(`oLN~4xMXB{&WZBJyWJDc99ml9h!ZFo);TW5>ko@PHOn#S`&8bk%}5PVSpVPof1i!jK?y|Hc>UT zfw+F`v=|eGvn&k8C)7h_Qk)GzHg@RJmEKtF+9f-)4&Q`r27Qj!lWT(8d-bYLScI6P zMccojW)M5Q^V)oNwfud9%Er-fC6gYV%52_iU0`dB7tCju!<-bp%^jkSR#3xYFWUar zY_w>LEzh%E?eBdJL`#WN;d(Es3xi-6lpM=-dIhj^PfkPnWJken8!!ICpla|iH6dv67baa$d;=yMV1PXQ3J zgh*<=MAXtB0DuZe0TXESJrn>~!EOK`WXyygLX8 z8IzKQ^ooU;Ejo++WDeYDB5!$yaOw0uN`k5S55su zDrc)fDsc_AvS$`8T10=g?MAI+s}7a4V%xxNDp924Gm)m*61txqk8NS+hXm+mHdIcu z&R%IUCYATxIHN_2wwFeGk+6oNhqx9Jgv&lcf_uAz5tMVuD{ zOyuP%edX9|m7Pv{_~joTpFFsJ`B{h(izQ^Cb&&NRXyJ<^%5MM(fH_zydB8C;0L905 zNzT~lEE%7vd|n{k1Y~qPDtgdbvcm)Vp^Ul5Qh>|{teFvOwkb!0l1n0qKtve;@$`gL z4j=&(kOannGK=)&$OVvefMbPB5aqy_c`stArGWrM$P<-k7Ms>Jz^jrPh$^33;R4X` zF>($nBx+&E$0iz~uV-Sf2>6?!-5T={7T{&q+k_A#rOA}VppgsrO&E%(=CzhaPZ(PV zw=OER*m@pfLu(Kwd^v1SEI8W6&DI49w>M!U0EH;$bG4@0#wu$>uj4RZlBsEab&uqb z(Fy87<{a%o59ko0a2u_A;dWLxFcDGw^w)ni_K{xf;{5S`!%2haed7Sxp}5+QR%;Z8 z38k43+adePkN*q%zf|7HFi5Jkd92|scjJ}JZ_ck@K3xexsPnUGp_!0*Py%A}>e^dr zlgtjWQ4F}wk=aeJ^KaZkjTUW(EEyedeOe#DGs+ug1Ofo$qlNClPk;Tdc5}D72UKVo z5^+^gX>$GmD0AmfCXQQaXHcWN1+}eJcnV%Hk7KRqmg3ML0DkxV-+TJuH$&S743P2h znT36Y4gMzeH!7QfZfxih?`*I^6E+Z#C31cVq$r=x&OahhHl`m~nP%o>pBadzYzEBv z6TnhKRW>|m2Ec%bC3npvjfq}zq8JeXpdeBJfIxEg5=a>Yms#-*AT8LfFEe~?l3GX_ zh(MESHB(4`mMy3NnDL_akC!UW+ z6wu5R0d0C_nkx}H?MT@piLk?RT&|hoRN=GO2*=4MU)>6f0 zzo?15QaP~MF@j>W4FzNtqvL$94^i#GxD+kg7VP-W{i~PH;v%j?UV>8?E>j3BB%av- zjg^yNFiztjWs6Ldy8=s$X$Zhc-W{XyPY6)7%LPN>2locikAWA6- zB4mk8a8WEOR94`GG=vg(HMC*`Kt6s|&RzflOO8}_rDOLYGBO(m5|NS05IGr@iM$Lc zX;_BALbK<(G&l?3i7!jbBSamsO_hLeIkS@&nXt$g6|CXn7I5(5N}0Qn4}*<42v4EU zV&+~12+}m(piXqC<-(eKK!s{{7yb7p6np)2?9)JpUQ${U001BWNkl&ih(0ei zE=IdvM=JnTYtF*+=&KnNmyp~jJOSjXDEkOznEF% z1bG>FkO+WCX}NRhlr33WG}r=EfWjiPWGg~TAxi));-TdHr4DSU<}YnzLPeUdjRb&( z(OeV`Apo3x?#rGKwu!+QXdzU1HAMPPqtBz`yShL~DWD?PRKn1Jemkn^Ym-9GHTsN& z28hqKw8GZKUBuH-lW$Q&4oto~dkwt*13#3b9L?Q9`nmO+eXL3xY)~n9UR3u1 zKKba+N%cFGZ>}O3=R}9cnmqJDE5d{=+}{T>yn_1S-?g&p-q!w?G71 zoi1i^5~pNJ#;g6lx^qo{+=kaY;>pNFZnSqH*J|?ADD}3RGt>|= z&*x(y6Sg33Sq=I;Y2z{Kc2YxLPjYLMeNFlSrZN{?!NXU5F+#qKpa*s)s( z<=(cc>0n?9-Fg6vDm^aL^&$;oLlPhd1W?jQRGZHZ?-;ZYM^F@kfQc4Tr->pMh#$y3 z%-zj}tNUD*KmfPG@*EX;-WLFnI=c5DySaAMPMW((K%^J}sA0PieP__-v9%g^H4t&VOq1NnteiPSV8*6^ihO8^Lu)pN< zY45MSI{&QKRkWLYxn%oXHk>`y2REKh{1tDH<4;}Z&#oK2sDtikOk#Yd*9<1a&4Rw! z8fOOa(0cS1^n7d(r>I;UZO2#Xw{a32FcKi`w7}5{!x3(ykF)^X)bOPriqKo>ldtB{ zz};?(rm(@m0kHvnE-+11ARqwj`2Jg{BM`b^X!(r-eLBhz_{a*4DkIQrsDjEWS12nC z?eL&Y%dwbAIjOlnDf>rOwZmSI03^+yzDCn&$-`c-2$|?Y;RfV&@!Ud-gFJN(&`_5` z#!2c(jJ}(MKq^NrycU9$Y!;13*-9YqC$ou*05Cee2c(c;`7VIz%NGXO2XItADr;wK z*k~cBYF8E^7 zS`+Cg1;Y7!7DtVxY&1TZ-NbNP{SDbmip@vc zYNf3gY$4(qHgH}VxnRfy+4%2>f=C+LlnG3vsw?d!s+-~<5Qj%?ckbMK`SN)z&zRZR zmv2EEsJo=1zP0S)pQQJIyUjhkW`r?<6WC_LMyM~WE1NF2{nV9SvhF{BILqA z-X`cGA!Fr>x+<90ajoVSOASri$VOwJ`l!$40CGVxixb&U10QE3)lg&SFw4MQUZO6* zj)YLT!H#&hqOBfMNXGXN6H;@YoROM27c|KoVnc`?YB*?sj)>BrGp(cb$Tf?$W2V%gG5vPM{Qb*aBTDoV@eh}I9rl`dDv!;& zi)vENNJszzh>(vAy~yQBEzWFH=)!2X-Db0R^k+{8v1rk{H!Ws25PKdB4pgYi}~skE((FZ3@O^r z1>($V9u)cN9AI&0UScVfc~~~uNQMSll{PSD0aH{S<;X@OI%>1X)3H%lE_MK444jJSkg6>b4KDu99FDdF)DRgN0mgWesyuh%H2S_AHnHp%YAd7fvSEWdI`-6x zsezqot0vB|!zE+$z!zdN8FiJk9ztAur8Ji*;$me8$mL&mq*d#owxo+^H_v5u0RS>P z_eV*pjRMa2RgJws{*nx8N*#l*<(-eTcJ1u9+p5&<(0A{%KW_A_@wPNKyjarFqD90( z``pQB2U5Nb#{~H@=~)MoM!PC#sx|W2Nqto}){tTZu-Mrh|F442d4KH z>XknLfRk6=4kchc&tYSZ2jYMA-~Tsp5Qui@bs7m}(R#5a0WRvh1+F7|MV+sw4y5KT z{mxzclfSOP<-0I;?$O?r)0a;iz){)%I&t~L*cY9^S^*<~6IxIUYm_fSiwIjF7!k#o zsMxedKvqh25IG_eg}e!?0wXMS^gXP1gjVRo17UQkawm)-7x>b}`3w!;oGjeU$|q7iqz6`YpG)$z3Us0ZqjVAQPQvC|O^$m%VatFJRI?#Z{Q6*g zn9a_GI@pS1v>lsbvhuGX{O3!b*Ul{@pP>6tlCI?1lXnv9jqSRhnOPO9~e{F-1|n~ zWGL9^lgA+}T<(F+-UY8ceDmt^qRp>FpM|Pm~m}R^jlO5v1{32(A z(x~fU1HJaN%&Wie2Y%q`@rSoe>vstO&{6Fk2vr4-tOW}tMJSA#sB;AKlha< zPd*L)^ueEf!z~{!1gT-yHgA35d(U4!Yv@EfG;(pC+zt%~?BNO9tvHMes%X1z{h`l? z*V=K1UcGoI^PPJ1x3?GEjsqmSTx#&qDdjV>0Q2JQ6bES)vXRy3sH`3lNFq;x6tV*1 z+=s~K`(aB?k-?L;rK2AK=xA{UIdB_3gb5vN|0s%=` z^tlM`r^&)OAD>Y^2fbTa=T--JY-rRo5FBl2Fp&w7IbbxEYRjNG$kKX21O&jiPty*9 zpgxV)NN|ut$99g6G3UKihJnwd1{&Y_Tz+#=$bcZTQGYd>Z(v zf1}JuJ)9tUA{ZtG=nI_Tr?J-B~!JzZ_6tJu@Wk9TLHS#)ZZWG!CpYIA4H z*&OuKvuDe&CiJ=Pf((s513(k{3;>Mt-NAgLg77eo?4HdHqtRI2u1JQvTS30l7A@M! zEr~Z%q(f&3z3VG}068cALB^&>b!s zcyWO8Cx5DKhcz0A-pI)f0c|L{!stJgk@{>w89im?1S_`RBL~X8fPUq4=0cfP`dQ=A zfnZwT%Lik?t3k%Zh}7IZxez#(u}P?Yfk4B0yxx$PtyM^1p6fc#0)%`)uKZ>pK_#i8NJG0swOU;Rk64vKh7n>c1hQ?p_hRf?K zYo0Fs1^e!vR9(3hKOqA^BCymX1c1{A@7R1HkUD?-C)P!=r&-CKS|tg9OpF~tNv6Z~ z?C${HQ>jz0y@UK^e4vFWjUa3`gu^}nUOV;tXwhnIj`O|kQ(fk=E@xsEDqsZH;JB(g zO5LW*g(s7!D(0|hSGlfPfj*>w4Y3w0>d#J~NbS04A&x?`7&-97%xe~HeCzvv%98oO zfYIgc+)i7Fd~B4yfE+=Lg0QS=NJ}Ahtn3BK53*%_DpD$+YV;ZT#3_eDra4&bR_+-A zlzjG`KP<`4mEeBlywsV{Ny;j)>xe0ri;hzE!z4y!GXUVDv4cK4ymdEPBN1o}4!ibW zA_BmCHn&x(fFTA&JaCa1Y@?$}fHi4dQ&7tXO2HNTDaq|G>sXrJBG0JVn=RT~i+%dR zx58D~>Ldrat)c5nIr6e?x4}=kTcJKAVITPA_r9Nkn$#;n-pu*$I(5kW5e=4(BIvDJ zv9WjUXfV(!f$RG6YT-S<`_KMKbSU@I3EtE$NHb4-P_EoY7nUD=^hs<{(KczL$@tNu zcLtvhyv~bY4s5Rf?CO~C;@KyiyD;^=-lP7@&HE>Ix~0T?`%MOw$6X1~P=}O}tt16N zufFk)jU&$hMU`FzfIM|W_ZZg=u@dhnRDBWPTfcXxwkBEypcgIz_p3%|&!4~0PvNn> z-@5+2WjtjAZGK^}goUSqD1?f2l&)Ihpfewx@$^n@&ca&AzM%NP=8LiZs}AZQLu)HL zWxIon4^U3-zwUggK~*vsh0H8&YoO#0|KN9uN1eX*eL%9{2m|E>vP}8aG|43?w-Xl~N5yE z5|NU*!=A*Y2Nv|X-ur24KHseb?MPW7{=0wcH8AV?ouC}zIuJ}S?y`-)a}CCJ4SWbbUTXbjnNLyVylj|6D?NL z(8Yow(oNSw`%&tWFmg z{I?9^M+O%6;u+S%9;#4X)UT-o7<4xa+%SMvQiBRHWwMZQEod{5_k{9$a6%nAvKuYX zs--+5FWuJPaF==BNX-pxLw9=Juot%h)1HT!ACO^~)ZD|P7i4YqLx?r>dHwZLgE&-an^_>? zO39A4Z~owZGiX{5;`MO2nEbM0vBB&{MaMB`kBoY)^n)xG>Q-n$<>=a(vi>W}TT2ru zQVNMIZY&WKZ^+eaGc&U=0B&edVRDVjOM=i^WkVAoz+&y=U-{Sndicgw?cQsj>$@*B zpPZ|r&($j<`W)>*r;?bvoz5dE0N}_+F6G!WV6qV5(i?HM^?0yH1N4R+TwAnve zh(1%bMf(KpHaFFW=X!N$Vd%4TEJ@%N+bZa@U*m?7++hd8?4~Rc4s3}^Z$zJQNe{gK z(nVR@L0oCezR20#SEIMPU1L09Y^b5FPzm6qT+m3)<3ZZEHe03t zw%afM($DRArI*=E(&JsOkRfJ(!XIz!1tb9=pItVuetWGBy|y7`oHaxussGCOFq+_u zF2tz{_7L(BkOG#JxN|93T&IlD=3>uwBjEhz|MtIBhiP}1O zfk$`KP&4gl?nY{>FT?UopQ3@Wi>uNk0G zzBW!80+0buu|UjANE(p=0W#+KX^a7o$}=0HQ0Ly)#~=VAjlO9W4gg@nN^IAW->O$b za`9NiD#%Kq{_1BLG9`a za-~YIEUu|T`|+f8N}kQF#;J#ME42C6HNb*}ubL6ujk=C~CtCmZXYc>T!Q@5B zY}XN!aujO0kkzk2K62u)v)WRY0O0!iCqv8E@@!}~|d9_&MDN{&TSy_~pm6Tqz$sqaj|K@-4=fD3u=A;zX zPVJBaL}VkN+%N3{!UiV}p{7EU7{8+OtJ=j5>aB0_;%6`b1QexKm}X~_gY%+|uw7IH zLIJoV6F>%8_NyI@fJVu!rc!dGex->z=#(d7ssCP{>-P!Hh_yb24H5rnk$X^U4A@Mk zMn1c~D&CGF0nareiye(yJ(*#~!>t9bh{O9XPdm8&6O!>r<+AD5^A|7L7YOs&3^o!e zn*f0EBPFlbdBSemfA|}J`@j7!f4#d5<>dHYp3kybJnwl3wI6F?yOxeddKBB~fj%Pa z!y6Zg%(GYybvwQDnw0tV<+Fj`)2{8<9`mO|2VnyG*%V(mvSIC4v?(u+RdN92$*Ibx zM7iY(DQBgp%u-X$0l8Idv=NFxHOH0O&9P#r@!v?`4R|{?Vj_pBdEI%yq5#{kQ-3|M5SvYc~JnY@kebe~8}Gd4z@5;Tz3}NRr&LyptrAQmWksf7jd_h!!o{ z5CbeCr^TDNONIIEaWL#4@+LpaRNDndhaXTcC}r=n@wXkj}|RjTrNgi zqFCCQr;Wd2XdO00n%mK5yAER`(yS$t$>_o4`2P9RZvrxlH4~5$qdWQRDIm8T8SvM- z)UdwoqfzxR^>^{v2DBgf>QDUBfBgUST)AcI>bPSRJ9xBc(KcgjN$LNA=58214V@+z zF*?p?S3^2oHLZ+F!m6Y<@)1~9o}v(@fZ8^8p_mNFM9<7=T6&Ok<52Bbic4R9=rdr>5m&wWm|8?6zXu!Pj$^;kZ# zfut?}+0v5@pcZHd#F9j1nL}i@_g1+|*ezm2;ZGrXD$nQ_r{k2O8;sFMz!!UE7(}?^ zif0o!8v>=h#TY#ki7E~yHTIR0~Mu%3dSY@@4hP4)fb$)cPLdl6L zK@D|{9XzzwvsqNAcA)cSRXAWk3Y02>?|DFN@rCw6OFlLFDRmxRW*?9tkqz!=Nyk_f z-9~e2r!H~p5<;69>&V!GWvqTJV_y72H}a%mb{7gQpQ8JKs#NC&y=_ z@o|4=llADvRX%TT?1;BUyB%@h@nBDfx4uGmZa9AteU7%T#)arZ%Vo1&V3nC-Tb*v4>yLS%DA%$Yk=0%CCXc7vKA(7oYtF6BCkiz~Y3j1b}S%0+>KP0+j*a z&E=C2v-`FgZtTexeXay$igqYIRz#np0dzs14~^gw9{q5$(@Il-LF|0{TK4em@4bBa zY{>*WACNf{aS@cSyx`{IX*H1=X=SV|@FGTE2^?2EoMNNhMRmcFf?atE2jKQ%_d$v9 zmNi_*se^(Z%E=Tpp8CRY7)J9AqMwm!1Hgjv?C&)oLm&VmTVgf0hiGzkKQB*LJ1xrL zTsJU+Tow25xZ8rI0+g>&c3&=ew{001BWNkl6tdZco=*^Qs->CtmizN zNtsi>VQL2MtGB?Zilr1S+76AP2ZCG-zK6ffLOZ?lV7^Voq!xw5j;rY53K?sEp>@VXpR(!=rc5j z0X)K;5?ma#jhkgRzV_0W7iN?UpqP<{aPrbXn=Pa5fFzH_CenVI)ZnWOsmtRWJZ zKDI@HnsO0XuauMrbd(Vqsq#+76Fp@cDlu5V9WkF>hcIPu;t*Du-Ao9r0pjqN3+%qq z($GmEtquiPG<%M;q{cW&MB9~$ zWdP_;kr+}R4mOG4#JAmb6V_xm3YSBL+NT@l&XwZ`3}E&NLGOiHgCC-Qjf07!@Vg1= z>Ui%bf9)H;^FIJ`=f)tB84Oz8ST$B$f||*QMN~tF{q2V+ zY_^gUZG@f;8JUG(t>W0}u-c`6raGtRqs&xD3?kFKvS*BoLV zJ$mQGi|6h)UwQ8bK7IUn58M2{(gYaev^dm2_uQ8FiNbk%GR=8wKd|TzXuh**X#A$(ohi_sA)_2?E~o`;WF1?NKDxU ze5oN~p+ir`AfMX3y#YvZ<&s^WqRPLnBwI6`p?VFn$KU>^4lTN#n4ohK)Z?bc&Hlo} zDG@02f!9*L*?Tp)IrX1RHsE2IZ*R9A87qVP1uCuz3Ks~EW;!EdM6{N?vePK6%m_N! zL;yg}O9c|Ir+}N7Wt!^_oQf;8=6W!ZrZS6Mw*xYN=;Mj#9yX7y;0>Idy}7xW)i(P1 z&E;%*z92I^Z7LVeh5L)l8~GH-yfR^o_vj@IjjMj}!Jh-bFaMRlR($h&-}wFgTypHC z5BiJ0_^+wO1oqYRpcMdk`_;%+DAxm8qEH_X*&<>RE!q-xbA7o#OKxiZ(9-(`og7>I z_+>&fF;RP(K0}(@FO_9FgMaFlx(z$)7Q(On&A)Z~pr3MDy#Lx4@7#S5%9-@CNs@_C zEz4@)R=0tMy?@J>je8CegI>SV*rBwCo$Zf1->*qQU}tDyum^WSq``99Wv@3lBQpTv zqq7oD1;s`uZHXlClpg|v4AmR}a-=8xRCwq!bHHo#>9iHdo0SS1rI@vS4ohlXj5+_U zEJ-w?>N15ZoA+cjj@<>RlcNH1(ur}NXlM@*kL>`(P9lI zkWzJ$0U|5@TL*u_t;s~8woG{fw_Zr*B&GXITgydaRA{WDogNleeJA>`o3?z`GmWOP z)`pz{57&!WHfuguC$m+!?YP6G!B=RKOFjP!@BD!NERxYq<^A3(58rwB2baC;XMf?Z zL=SoA8~NhI@EvQ7(V|6*wrD;T4Z~f1sngxqFr#`U9$oi8=KOI04mk1`bqJW0pTlC) zm4C8FN@o{V#Gr4#W>uj_$t>$m}=F{1*`zD?gzB4WjwR{vqQ`2zxPB|IBl^ zb1(Cs5W33{+naxNTQ9aZWAp3rox79M(+1Rv6+ZM%4JpX@s&^s)@HFBWdpw~q5nRy0 z>HT{>JluZR=5{MqH|RWTI)8^eX{>-{__IXnU;4}cDk4utlcqDyy)&2Jc+0TJ$Ky%M zWzU~{^5@_Dy=9a1TmSIy-QHfs1|5~@9yB7i9riZkju^|5spi~?t0AOO`aH4~^V~u#F1{$ts z*H^b=>Q9;*Oh?tx+XgTlyh}i_5cZ)3-oh%NTUpmZ1>{9%gDMoX#+C1~Qscb&mx|0jqi_^O$tx!Z^dPcpd~z1r zNTigZ9%BF`2_%*Lj5n*Jpx?B}sgCdjLZK#ViuC6CYCJjinvnfa%3!W|{(Gn)#fX_; zFm~vI#Q*@v`D_zI%L-Ha4zid-N$LhacB=hXUVm`s{@GH+%~kdIgt+LazIzL^k&8M667-@JLMYHsMLROu z3d45Y1MJcWSx?GNyK7veE$Va8xr`Pq+VC@M&}iE!EGB51m?8=>69x!gczZRw=xG@j z+8R1WA5X|U78gCX4s%-%0eJ{l1s_+fyEIgblU%QhYMf+bDXF=ilG>Beic=FH<0Yty z1)5wD+#ui8qVlOuSvfMq)yc@j9_(PpcOP86cv|GTk-?^ z3%=(sefj-A{NtuHFp;P{JFIaa+NKJfGm>Qk{{A0&?+-g*T4S$`|qzSyCwn?jYd&g_U97E?ZQDz~@?$^! z+2c=0t%Fck3rfit3SbAD!S479(Y9=pqdThw9-Pmnd*mOPbyOQxxab??tM=CRhj*tQ z1UN6q$3S^N%0KK_C9v5I$ip4B)k?$Hx}!ZZ4!a$@Vm<#MTC`|`t%Y}RQtrVUTu4pq z7@c^1-?dE`!HF)%?OZ^1Um1Z3pd3)tg1}c?1q(+SkHC{NcJ4qUWUQnk_v{YS6w-5W z^`M~!aUzOiP;;aGh3I=4SPO<+iHlg@0*6{o(LgI@gu_axMm+;c=N=tAP&o1WEJYff zRFyFaT}2CUxzGAao}~U1<`A(F8_V3H1li5Bcqwx3f@^Is0yTtTBpYZEu{I1~fW**> zR6P6aN&U+|zMTL5AOGRE{^*Y?IN;>uIG-=Kcn@c=IYo?%4kWxax@wOQ)*&rbm(5ED z_=^kM)DZ#Tv+q9cnvCJSSqu$Qog0wXK-n@OTy}XUq*K~7Nj4o#_GzgLg~;5&E7U7?zrXPGSk5nN-cfr|MDFwYZEfMn6$E5$Z6=<5iFUhZ|GisH#1_?G zintR;xA%NCg^b%);WRV(e0PBVE0RPhDP_JFZCWI$>J_MEjM3UH`|{#)-EL(|nMLSeSl!nYsi^3IdJmVE9iTb1rAs#D*DX!tt zv&>uzWg<_ENJZ%ypm(MITu^$=mCQ!N121kK*zk91?mZ{qbfFXUtKySX#5$mrFplB6 zL-a+W$ty8~t=FGc>O^aa=Tf7C01z#{>}aIaUR-anjf`e&s^$7E^kZN9iI2bYZJ)gk zWd^a~$wtMc)el+k+_uc~y&bqP4zU}|8ZLKD!}W~w77XWm-u=>}N1y-XlTWJ;4(c5E zui#5o3$0Pf?W@qGT0zefB)7*6&h9^)O#=~oL^`UFZPi{8Z+lNI9r|unl6GGR^;oKF zRucjMdZJ*rYPgLSZI``)LBWn)9*|cfp=`?=?dUpV>rvlsSw<0}T}Ru>+9FoL4tT12 zLg|Rk)xH;Ol8z4OSl-@MWnJAE0oY2^8SFbr?)T)+^-WY4Nv{GegJ{QNv z3i@ozB!GjXyJ$3Cg!zu^vsTIRt17$Hh%>U(9`^|zy{hcIw&WC@3PS%IsyRgn0LVnC z=v;mdIXnh7XSTR30i0;jG~HAw)ha+H?9w=thUy*!mgsZsCqsG0+J*}H_+&-N5@Wt{JF@{%;!&4gw1JyKTjj!G>;vG<@E-#NP%XSryHW}UW|4y^6rD%Y5W z%62MgnT$}#o1!JuGbyi$Z$#TbZN|Yr+7Rwg+{4(5YSJG5Y$GY(yYXZ*)WslHtNe3C z9p#~^kDM0j&y^>mGp&O!6-`T|r$7$~JY2N|SP@A7(|&3G6aX1av$&!GFf){X^~nRInc?JMvY7C7;B{OhD?>*Cg&S$#H>l>Cc#))nVR%_XepV3LTHi> zXlsO3Xsq%CA{&|*!hy#y^g5#f;&3^OIx>nVE_vJ$hK8_uMj&mTx7bH7+dZfX4GiU| zax=clsIm_e>_A9yI|AAA(zf(0pVWFXe)pgK!E82P?Xjx`-0R*7SRl5$QEaqfVvQKk zs!Bbc%E_=yqGU9ZdA@Ml91%HB@_c>(BC7Wv+<*4;*?~E;i-LQu(u&g2B+s)w=kG*| zwr)p=7OivBTG+tWY=O9v^hZYwn$~_}J(PU3%@1WeT=G#EF;1_yxquEc#LH6Ak`A)j zyR#mIW>pMLvdlyJ`f)#?K?hl53j#=5a8`Kx>BQ)t9ZNdN?_;nC&QTHB!> zB(NwG0U%56APS(YjF(uAB3Kbnrd1I-SeSjB5lSDT|OS++5sU#GLF;-FSaze8yq-#%d4{7BR-Z9P~vn{_#~MMQZ%2LJ+MBK_Q3kA`UGKmN5}*g$VOJoFg=TG8hf zThV+rEzsvjkG{9bpWZ76G1}od{e2Df(V{K2bnK5d8~>$pwHBL87==hTNEsb zgYa;3zW%=lue}}oDH)wC?U!#N)dx5NBeK{Wu$j~K&ds9i-xNzOReel7b zhU;t)f4cV?C(wa1qHVv9u*W*xlPpKu0H{D$zo;eYWZ*Y!lJGUC#5N6}OI8#Sg37kq zVGqZ6GHDu)o<9C|@Rn@0WIW_UCnmGO9Dsd46c}xoW)Vrj`Zqmsv@MmO*>VWF8u>2C8ABFluOMnr;?JViQ1Z+xaDUbYNaKh$+9P@;TAag1>5SfZWp~F`uSh|8_SK@ zSRvG7hn}*xj?*wM-->YvXvi6aD4btcg+{-%j-LB>kyOFdX<#}Tjrwizl_M<(zzpjX z8DpG_G)WRJM$@a8`F!d~)|&0C;OLN!j^?xL{ags8GS4^{GS5~!Tk&&0^Rxfx|N5;x z2RPDfKHr>kwB+H1gL7n;$vZN~@AvLSE-1>0MB7+Xj24S-?~J9OvPA+K-G4#=0wzGk zfwz}#RL*YW<2yH3FPogz(>t$SynMWNm&CsJC*mMbwejSXl$y=1Vo^kk?!g`=k~u+l zF%*)nE)#((sa+v*K}z}XG2Vak%g;Xgqk#C8QQI(!AE>Go*I!4AU=a7=?LiLfnk1EP z(8n~Hb0Y(mf|@(&QOHK*eN#M-0VzNTaJQ@C8;MS_O81xk}6#xmC>u& zS35dAy}r2UP{T{$oLq=C8OIoO=)E3HiiuG=K1oNDG)*|?uRr{JIzHyf1dtc9^euA9 zE$H*<$(_nK4_^D6{_x6c4~MIahYveFTxN41l6eNO;{M6{=<}Ozy|LYfyGisJx*T5E z4;ORA+%NSs#?z*IBl;X|&5jt0AQoLugB$iSHm;eZP#O$px$;xH3<%cNUH+B3fj&Rp z`)Sl$RM*gFa4A}g(C3a_GKRAo+-{~9?dY@b(j0(CcS|gm&)$s;?UQngL{%McrRK+? z^TGXt1xP3|k&b;FnE}AFkN)V5M?dOPbdirswGD$d=K2Z#i+sH-Xcv5NLtZspi9Q%t zu#!tC-U&`*)TWlhVelkp--mV^JAEA9MPMW5}X3^mZj->IfW27Y8YW*=$A zoeSukh^HeTeRi{{RhCU=i3qu{FDYd%klCn-2s|CvA^WnZs6DWAJpmBbiLN}RWM@17 zrH*|T_p7_FgFc(;+j?epX<}hbaO*zk7IZ?N0hU3Zxyjit3Nz>{K;^Y@$lj6`{C9he)QqT z5Us)P+_~3xfwQJDWimN#yOFUzhiPODKA&eQzo}guEv}uS?Yc20_O{K_@(-s5m!st_ z?7UQl<>5uDtu|dI7qz~cYJ{&{986x@S1m7GehxjP0sOX4MoP|iGF`ODNxS84(tyCk zC>=+KVSw6fnh>!=UkFMJcWDwqA*_%~Kr)+NxZnTC&-|)>@5kTzJx6*JN#2B=hbkYA zN=Uj?y=ZCbeq6yy7KlKrNfc7f1sLKAtr8gpYP2+4cj8T25Qu;rdKrJ#j_{b{2CF--Kks3q1%9DSaYNN*sz46s)FS|h(S76-lG6}lYt`86(RyBTnQvZw z{q5@j8#>xP+P+VG9TM*aK#R7DNtr)<{o&=+Wh{z~47^=Ju3_l(Pt)EZTXeD$0pOjl z{M7SLztgxsjr@}jzF~1^2>@Ss?`tm~f2V;x&1?I_=!38wH_@@wcP1>eGR-wnk7TmaT#B5+>#V3Yc&ifewybkuWAd=AOL< znc-QRpn_1M%w@T98-&mx@5mTwRS?6K2J_!wOE9lOql*nS7CF=u09wG7mQ4^WRJom6 zLkx4d7UDT80X}bk>5DI)zv!n=?gZjgY?cU6YGdydsmSN~s?f+LW zQ)?T@*y>=^Qa9@OqTS~bAx3#V>oENk;}i!(F2-D>Uk~gm=PTdG(bipFP>NRB~G;2KVTw4;q#&FkEF- zo>lm1$Q;2CR~Wj&##IejR{lSICc76FsO5MTIWZE8RH?Qi3gEY80uVL(nZi_Sbiyze z2)Glz2$|N5UM9{~NAlZMyCw*=r3LoI@BN;?_|x|fV)3$yLp3=) znO>~4Ww=tTwLKq(S%pEkjCgmY@VddC{S`9reyLJ2loC->srQQpKqRB@|Dk{J$)_JG zQjBo`jwo)XFA*3~-Vj`VzfXW39i3#^{9sx*7o60ld-e78E+V0%!wTRZJ3Bz?K$L0OJm}ox7Hb8No|^Fc~@PtLe+}FzOEE^R=%3EtJ>^x73;D1 z++0+0RFT4 z?DF|10FvZ(UOX7S}HDNaQIK zqtG~CyM+`JV;}2mO$_59OxA~4OH6}GkVNGr_FDcL3@%rwLtuEEFj~?TR<#TG`mq)f zEIGPm6e0lPqtn))$Cc~B-=@XZyDB3IS(VEH=#-1jxwhEEm+v5?dxx zxiqpH4MpiEzyTweBWanY$oQTY< zs{hu1_uoC;Gd;7j*D;qndl_D^++D1>SQ5JgDf58>1px#B8eR}I1Q9YJf-qzWeliS$ zFbu*FY(e0IAP5!&f`A_czZila4a35Uk_a0lElMJG#k~z@rZ4|rl^K4>h|GwLh`dx~ zRb^G3gF<)xS(%ZMaXaUHdEz_s)fN`D_umimPKu3R6;|@-$s5l;=w!EKzTguVe!DOQ zpDpJeiMUB> z$Fo0aM9b&6b;T(eY-(#$OfaG1G_*Xr;ATVxsNB4x#YhP@>bG)X2SiF;q}#e&<$$st zY&90_#}QZ879Kb|govX)-HomV1W?K1UU7F@{b}VGRG<`4QZE7sk#@7d)cmF4i6+nK zGc+lXhj=+Ku9{V-@k<=m5OFjB-wL9s$N>-?9M(065UEMcQJ!z&pmhm4vz&w?WM7#I zkW4zFVii1i_0<>eza}aY0000W07*naR98k)KmO1gB`%i*8GL2L(-;Y2@Xz z=dBZAM?NniN&rI200d%+G<)#MrvMY8SvJ2B@(eKn5TV@;dvMF&`uHd8Kkr>%`{#V= z%U|7I1+w{k&%Tg2k{E=`%PTmNe2;w)f6=>;FiFnIiVz8sJh*C;$hI_=SSC2Z`Pnxp zc{jF1>~?F|GdPKnb8@MYd2M82VPWa-R;;(oq6wZ2euC%6_6fN>&OSSqqmfIPG66sU zY1Kh^6~Oq1T7PZ7(EVWfuK*B$)kgxD4<>-A`Ck5+044wlU<#N5&HyvO6d(c205hNk zU=@-$3<=70&HG@r!!R{}|^CIXNm-_56LjS|O4YW)c3I|-C2kN}b(5+DI2 zK*;)E5-1ZOfk~#XCA&22@$pWB>I+y0?LJ2&vW{aIX!gBk#3`FhBn2;M6O{AIt6qy{ z3oF2S6oV~hKW?NmhF-qaIpb&oM4-DIO;d;lL{&aK6st(cvx;zPwJ1~b1;9yC=fVbF zkacz3Z6alJURQ8=asQ2XzW?w3ITSfi3Xq!{p_QG>j_)p0KHdgsE1H^6nCNm0k&UP( z-*KQfeFsyYhD1O@tyU!ybhA(G2QMGTkaF}g=N$6o-Zq{J5rZpb*I6mm+d#rKat|Jy z72c;cP>{+C^IfRJfyiziKm6{uzthwRm*>yk`(Wr05K`Fu8+MxL>qDzG32ddhBj7X_{o`WXroBmn@bC;%dBnzHCSlp2BM%vU1L zC{w1tnn1Qp)75erRX~IuLkJ|Z`SRt9p7l~n_1L;SvDM}vH1hu1j06=$A(LcvH;hFM z3Ad26aHO^xqtn;kfUjDQ`>9lOGr98m991Y);?UccozK=cw0He=4kmnz~_u3n;cb+C>QVqy)8KQ@x&-d;<+!%cZkR*%PhspmdGh*UwqDVi&3u%p-SF;4?8MGZ#29h5qmLXypW%qXj$NY9czO&} zi?hpZsm`srplLSuzz9|{j6Ux|dK>&aCf8QSszv~!O25K1J^KD=hB_4>_s|IjRc&dM zM;uf-bZbh!^(X&gO;fP+@-%E(X0$7G1hM_8&apvWRTzs%fhuZj6coVHpw9&$0hI~2 z3Q##fp^@l-wS#UdMKr|IL2hmf&#BR8*UoXmjqMASXUHI^cObb)>n6TrVE1BYoHqa(dQNf$;||~>1vbCMs*So zLL=|5jzwOapPdawp8;S$=yT7u8l%&pzlrvDum4Q6?a`o9b?Gf55^!vOJH(8PiK@BU=31*#`6ZV z=RqiMMETXHin3#(tG!|cPzqIKk`A~QpcIgRBKIN!tu_ybOE;goInH%}u(G<#yo1D8 zvxkW|l(HkN5fBlSQtp{mvHHHnz-5DUT0+$|7F1)rDT_zNivDh7BODfa9XOq&EE+Gm zLXp({QHbMbc-VYrquq?LCY`uZU{y~h$!fU_5Bu@7-RSVwRs%pRrjPn1Ta_I$H|MC} z`iLlDOd38a-O=BbFpdJZn#EI>9i9k+MPN^ZE-Yxq(B^G`WlTsN3=;cI|Be1n0G|5rr1oTo$q1C@2K{*9!`J7 zZt0@QK`NaJ^z_hY>^)$V$2Ebi7$LbEiJIZkDAK?tB=jPtZP3FB{tdD^piXZ{X@oI3 zMx%_zOtsH+li=0OU_e|sH-9P*fTRT++*CJ7f(OdaenJNlUs)U_U2v7=%%BWA&$S+z1(10Xd9~}EF8@lqz zY!0wMz9fAv5AkN@cZ_}_Om z<7p4hyW03dyBT9mS~J7bMDU7OBh=`#Sz$&-pChfLM|i9qLdS&#-1YP>aATvSaMpC_ z#c_j_>IFi-cG6dU``h2zcF*SCKG32l06<7Ne!p(B+WV5v{m47t{?>N8sqi{tC>b~D z7qFX8%&r%b+h3=u*rIR!*`KVIhQEbm#A**xkL}(Qn}Sz-FfWQpq?{2^IRPC9>X`L6 z>^LZI`W-7;d#cmg!SP4Vrb-Q)Mb#ecVRcQoU-H#brt@MTHlzwBJ=mGoc+|9D;bF;4 zXh+)Hc(6S?{<4ok3N3;tbD(i02BbECzL88QMV1+t5{m#7T{Z%NMwxA zd8xopl!Tox#O7n_XkrBI#9@6Vl2hTDf1^6F!juc3)TsX4+{k`R<$^Gc`gVl}mvFGd zo-OLwr6&fHFtn5TcI_+F_M<@8( zVTo;hDG+H&QvR!d{>|@y?>qnRH~(Pddm?V8)`yln2|o+~L?Vk|MEMSCy;;kUkORVu z`rNB=PAB$7)HtU$q=!D5lxMqDf3siy8~^=3{NMg~I>wol(rsMacyyh*-MI!2cZulKucg?+60EK}3NEG)YoV3QxHD8SyW6{V64 zJ{r2@jJ!l}{aJXhv9O%N;3roJ`uP&<4>`J0doHnS8@kxUwd(vRv0GSWip)A#X8a>e z&VzUStH1R-_uu?X{BgVwI%iUPQI-!V&FxB~A^}VQQ@{*B0!U0Q0VH7gseVn&Cj*+H zIJ1tVKr_G;P$Fe0=H^Kw2OmkM7r*+Ozr*HT&%Ruo&Bwhh(V^~k7gFvF+^0P+ z#N^Ml`;R{K=^y=SugXi#S$CQqEc?vUQ?V>3H|24{lW_vILNQ)R$?-G`3tI>*Tea$u zHcwJIo6Wf;dkpL#j%?$?6#1zFh_Nlk7Rb7);WtG9?m*T)GDVr6NTNsp2t-QRWhBXx65-_u%66HF63+*gQa=C1 zuWVmwaHp{E%EH33<2l&wZ|`unV%%dd-MrD=p-EZ-B$(WpR>Xv=b^?y?3g0kI#DY)=Xks3t!ff4(0>pUCj7A<`$`yq1_Y8dx?RG%KmdZW z`v9VhdJcie7TjDO(O-l)Edxw|Qos~21tU_fX61ublvYG@cx zq%)GKg;1jv2W^AJ6oIfq0CX88ZC#E+3{TJw?{67=}ru z5CBo8!BT$lSO5Celh<}(%MMt$ut#C+>9Me|nZ&Z*x;+~{PFkocBv9rsV+10ggU~QW zVxlQ9q&1rdS%ids4XH-7k)rk2@xNXTk-``>i5k@{u~#uS(anjN-Jm>cg3dMioB|4< z)WFj|FGpH`$i}ZlJnC80fys>kXRtm&5E;;=-9VRrgF=Y2N5nzZ_mY1@h61G zqsFN*J--NtOIKmeK4#rm=$wQ5SSP0&y4S3joXsgs0YId)O=~`lrxuAY*6-oC#%nj7 zbz#Hy7E(^Ds!rxv6o_K?!@VB&$>~O~y!F;wZ1Kc~HI53X2{~YxCFzcE`M>tp{&vd* zL6SW*B8L3=Blk4KnjvrOfU&T!jAh1jQdsV#hLvL+fxNLb8ldvo5J_%oo5|UEy=bS4 zT^g1wM=`}%b|mTSoL}CY*i;iEP10EGbBSrD9so^N;4?M3n*$q(THf#agc}ff^V(BK zH*m}#hqW6eU2!V|0bq9dYE1)8b4{sHQbN}dvjj}6gNenh(fDrDZusoa9>ufyjv^D; znE~agX5O%=pWQfOl4%$w_Srn5A5kOGHT3L|N~1`c*aM5aCmq+$z@R4k>}TI8za&X! zjdfa_-5c01Y?AImXp);mg1vunadk3I%N`z${SX!w27Qjv#~v}WBF24YoIr1e_&{1H zI|jc4DVmT_vo@zLW?eCXpyA@M0O&a9 z23jX0h3Xun+OT^ZBVE5eWNB#09c*b^xMRybjse)avGciv%GV5>6DmI1_rZ`MAn z9qliZn3jQs7neP>F7k+)K#jzfxm;VqpK+g!)8NN+gL=OD^S`)9MTR2tLn1aAZ$dJz z&BCiU%Q%u{vr``W{S+3(nJ#=}Rsc|X{-}XFqga^lzNU`xbwC`C##RF8o)7M$nT>pd z7{;TkxL}R;3jN?3J{Df^vNW6D1EPidp;iuP_oIDA|6q{inL?x- zZltsGJ(B;BTqN2CpsS>UJ=vdIVxqy1VvdjJ^%i;BvuYU3((66@B-p5rOv7%#n<3Hw z*tIRvjOd`k9cYwo$!zg(#L}+rU3YaEPGeS&HFVk79VVap)Tc)*?dIX*ZLB+Kw%BxT zu8$obCFp!$(8pmi3WzdL@M7yylvc<{-*eU$Tyenw8Vo4 zHzzRuH&k0)gcX=n&~q}s0T7WJ)np0)m|Z=IDBRAf;=t?zL72PiL(;;a(F!y!!=LS_ zWDO$gh-R9V=rf8%h-bsP5CkTR&`pWnZN z7IGLjuE*-I({WEk7w6}F0i$$4Uw-+^UmmxrU--fog2&G<&Ue>bf}>?ekc+Dauf6`! z^80*oF_Nju3WH^rBZSA>!8rDs;fiHHy&3$7-YS|1E7LRGa;^961jvJddKe4cE zQ~vJn{=-kc9oP;lggngIZO8x0wXSXX001JURZMihB^u+r&%M|Ga9agwMq;THv30{! zDDE4{m;q!%$%g&8M552E+=J2$ly0igA-*kp^2 zVACW)NGC<%VBERi$IJ@L)(8x+M^B$@XlP`MdHb~7WJ*uj_CsQqa9Wb2NtPX<>(@Qb zgvdHCFZV@e^MyUHe&s*=t%l+x4%`DcKRb*4basBRH46p@9cSqe08tm&C8C_dL}p=` znsQ;`zB`-;iN}0(uz&2NF%KsL`%X?{VPR?Y>}1M~FhVoZA+kv01`4Y?887MBHCs#e z)Kfl^I52{>6=d)-6JR$CjTE8>vCM#GXt1#8o2!6miSo=uN!t<7251J7*(HEL$_#!@ z7Dz49vzzqnp#@BPa4=a^8(`=`q5;tu!JV-+-=JumQ)Uqq>D&p&CbAL?QV8j8uSNuP zZhVR3(UCDWe#Q=w?2izP_?7b%ZQ!$uvvKpQbzpSO)vxc#*?iuuB`ldOb`c#LsQqky zxn5)4JbJx+Ied0@&Rzs#6rGY~6E%qc#&7(s={50$XAr;D;Awx#4Rn-QJvqd(%?oXD z>1oYbgS1&5Fr0Qv@{+>B!qQi|XfasU&;@I6(Ck!vUXH;MyX??-=~}hw&xK{{VjH;Z zO~DZek@h2w8!^igVqQj@!}?C z4d`)Y=r1N2paGppdJr=;8KRq!(YOx2TqD;lCpU>Ws04yXay-}I%`$K-1ZG*;simz z^5hYZn(d6d@gzwYJQ_`;mq7CT{Bo?q-+ue;&%FKVH7eu0fn_1h7x!8~jq|I{MQ!)XKkMm$%;pzKw%~SPIcdN5fGa6n*BW|6 zfvs(lZ!K@_q~1e2ARsaUGz$w0%SfxM=(l*Tv7EZp6A{ISVrG=4J|fcj!1C8re>%>z z(E??X1{CSpbwgkO%5VL4`IDGk1hhFivCk-EAWFJQ?iYZ1C4hM4@%hAYW2sFQZrN*_vg^vLP{2R`f2tRcPHHV8wlTB>x7UKL#VeopuCxSr(pcEoY zDUo%L00ao2?SDJw$I)gZBOyu1eXl>QT@VX2KBCNrJB{kts$oC1=;8ejZkBz^Y?f_j zsN;}xnkPSe{EF;it2w_6#3pYAj5hVeLA%d5;OiuXCc0Ie;T~=u?lK7NbSTLD5=mbz=a)!w{h?xm$*1$BN1WGBrsDa}u@EIFN z$Z$goHy>aFZWa;#4H3E!L#VM2K+F0<5`aQ3F7-jOiq)aeYh%zY{2PEolt>g*!qEUg z(v9Lrtj9wOj*0HlS2^kXP3Y%C8oVsCqTII#DYh}jSq3RM+Rk9+?f?j9r`*9Jg5F{3 zeQn$P8k92%QSglB)#(t|M0NsqAZeQMSer~oV-NScC701w1{=wA=)^=PdI0q$an&Z$ znO6dx!t6UWiK-!T}9B@EH&gG0Cc!Xq1_Tt^KHEuwY-!iIHfE=PK}-QuC7qI@ehZMKgFA zg3QiA@K<;xNb6tf`c$#c9@t%duWm|_0!eh^&P0)e(4^q7LFxwX92;Z(V3x-pdHOSd z^%vHhSZg3TY}BxwIKm^NOp~paKh3A!kNNxcum5cI{Yzi?BG0%j3H5Vt)_ynA2YH_+ zL-bF7?Jw?%<6 z%CoDeQmr?PH-kRQS(6>;ul(Ato8o)GRco257dKC4m-p9QU9^Rere`NOg0ro$hm9zb zfzIH>9L<4Z7=!J`oeiOuWW2*|KO_L?yZEnXNmeRJ({VH+zU%sD7xxXaEP!M{vy&a; zEJ7_{s7Pw~7%d!G)Fs!61QQ+3Oxf9^*UIB4(h9nzWL_775zsjhbB#{4vW}Q03wIX% z(C5}PhE2E`Ly^>?BM2IL1VjVY9p`Xs*f}9bFhy97*m6&1$<_VqEmzEoXq+~eNIIVd zv`agt#}jKzO@5M5B=h-JSZJj@9!i$Y-mf(0sPtkOy%c#khH=Sj0}BfaOaBEETV323 z;f5a=mBj&Qn~P)YHN0m!b^o+R1oR$tN98leK?>G-EXVI6v#@M^txY4N6kCUGOJ-eM zi@4vp3fF%}MSbs!v7M5@BG=O!L2C!xkseiI@=PCzdcMP=%;LcI94s87iHzI@f-|+|XKz4ie+g{p9 za=;DCV6cfTmQm`;R@XKL=SHoXq_dN?=4FzOxy`VdD{14$8Tv}!oZqmb2GM=6>|L_? z1vdf<%anZbK_Os$K0!!&+^mBe?KTZ*w>G=Z4~`Dsk#N(Ru(0gbf7|A6&Ph!Ho{y*I z1a)17qQ`0Ep3?x4so(3>Fh@sret(Q+vB{mW)@atsfEHhe>oK|X&1-zZ?9ak5a+EC3 z4N8rYZKHt;CjbN_^%ooMHRX$R0f3h`uUq%(6U!_jpCDyNgE}Kvz6b?AV<--~i7BHH z1A?Hz&OqppLHmpUqc=WOAJn1KfwBFM|Jm>L*CsmKAq$SQAPqn}SX)ihUSiq0yz$1< zo0|cu@spqYWW2jisJ~mNoc(r4lCAE|E z_!$c;pt(FwG8_R-6%liFTmlL?ztUmLbyPLE(Y|CzJbZ$SM%=NVdvFc@4Sg~SsS#wE zMYuIKiFA$w&{a?QxHDP=(3{)dr?$p#_Po1H0V2}P=y#4$NQ@n8PuSgP3|{YU(2GfI zrkE^=%;$gNi(6gJA3u5WQ9Ldmyyvx?hYypa6LO=*BIf-5MJ8A1`OR3iAE%8q0IKRL7oljLGIiF zI(tFTfkE0J-!Sj~U3=!~$3HO!8Zj=mF|wRrUk$Pcwwtr=h|L8~`+Q(CN zWE>SDvDNb%vN*pC&buT#=ef_q!ospYrMC^#9-9$Q&1mSLKi_A$UXQG!zAuW@H<{at zuyZyv&%^`jX6SkeEfdaz$Nmlr%gN4>5}QkVXcHXxF0%n5Q{>vA>{3p#uYL6GHK%_E zwLGU;a{vG!07*naR8%aTAR2TS0g;lK!8%141rCvTWLFRCfN0HhAsx)O!lRwwXd5G@ zCecTQ^EN}F$>qTy^eH}Ch&aOG(lJ73JAzxZ(sxi##94<|12jQr^erni-Gvqbx0|A{ z=SUevdmt{ZF4qK$=JUf?JXlW8cRHzu-Sla*8Al}?aPME=e=xOLEf)7Cz4o_YE7RZs zK&B&LVe4iB(n5>GvhKLWcnT(raALF^X(9z1O`@i1h!w_X`#!6Rg8$c*$ZaTqG{IVYe9f{FKnba6GS>ew$5*-Ai z2}RNsI^D`EU9m`$usEXy3h5Da^h-z>wnl<4Mckli=SQ5v1ZCl7+!fxkaVCtGUADsu z$BDEGj|`S$nc;mARoS&kli3?4+s8Ze{<*OM83EaaNZE6PDl6+XT-^SQ9Dbm5kZp4) z4BZ}rZBFXYIJlcJkj(ZU^26-UY@D+U(;&%wS3|P4i-eH0k9Q<8O{YCK`%l}RMka=| z3G~OH&+a|?^}qAmKlh8@7*a6=9gaO#Y-&68NAS6AkU{&b9ijAtPJY5z zRCR+MS`1*}z>sx>?yG$}N_uM9#);RY?0^7 zHOA6W3pc_pq$mn*ge_ZV3IN@I+nwR+%<2~jP`D?+@Ey=(O7<@7Qb|MoeKCn`XMA_pWFyF^e55UXPI+vfm~U0mn4FKX;n(iyLwhJz-JzUP%eHMB z1!V&cnQla&)XnR!KL3mNQS?P2M3N}Bx7$~xV(_XiXIZhz*Is0M+r7tTZpbVt^0v{~ ze_$WB2+HUYV?8V36#%I~Fq1vUh%D-fN+@Xg?uQU@E9KtY6KE1AG z+&Kp$SrFnS;2Htl?ZuXL5CFm=yP%4&0x1g+L)Q$>ZVWO>_cU3bW|M4Gr#W%Wp%7y~ zFJFCa`KNG5kefWtc7f7FLx(t^sS&yC|Jg#pVSOh*+aY<;*%#&`Pa*9uV4M44aP}l z=7X4aZu~@mY56ZE=Rg@?qOs!=n0Dx%1yJGu%>gt-kF-x}bl4&y%b9HhfG*)Ag(*ZlRCrSG*5D z^5b9r#s3nZ#GNe=86|*ll(LCjHfa?+B)Z0$5h!U;Jl8?cWjPwCrDm)#V6wP$`JJhW zbdzYN__M+800u4H%z+|K15J@o=+F_8nrRwEa&{d;x}yLzC8>i!LyQC3B~q}dpTRwj z7!G(Jgh!voN;+Ce3cC@{l2_cu8T|yF7gI=sVx~bJoZ#Q|*GC^{Ia&bQMJVg{59o z-Xh=7CZWec2`UfW1p$=)70J^h0ZC>T%a`wu(-h@vS5CjBieej-itySr0waKbg1wKp8k)K&NtLtoc;gN=x3dJGXUGLf6K!w#ByB655C z(o(l@etzjc++X_nzr2MzZ?rmk=(BGB>zk+EsR8@UBG-;7R7mHSYp+k;klmR1_ZpbIx=tsd(W`9CNF|%%3=+sQj zTjO4r6qbXrWVHfNk++ylX+xi}od~fRvYnkj00rKzqY4!EUI5qG-PM2kSN;oqMOp0%wNc8s ze}yKO(6CaD1~1_r1v(WWC|$fxL!}J*Y;qMgqjwbwp)VwIAD=*HM>N&0Zc(?q=}-;C zmpFK%(@_2%r{h%7Y|3zk>rAEle3 zPS2G6tg2Fy4jzq^Y$r1iXB;{r524NM zxVU;WsoJi$^^9nW84-~>ClLa`{QUaYfAhZ^N1X}Yv&^zh6?YgVv+#)Bychu}2i|uO zV}=Aw;;bD6AUy&~`&a5B^sq4kh@XS)EqU|$+h6>-Z?rydJ18)IHz9EXWENH>EC)DJ zNuZEdH;;efr@y|1S7-a%r#oS3d@kUN#CKw`iv=|S9qG{R)pgcSe)BP#8Ai!}cx?p4y|--zTMZ18VD@B}CWv;%_yt^W}Fah*?B zcO)6JYxb3Nw*9s`1S>-fL4-vj`Yob3omN2rwOE{8US59t+u!1Ge-uJJ0=Tv-GD%m< z!+3=yWR~YkI|MAv&hBoX)vYPBVs$&zEHwr8+MUve9)}qEqAUfCZlH93QC%U@D*iaJ8{z-`-Qt}aJmfjWO94wC15KEaKpsLY2cyHR z5Mzw2_6I-?1sMxARY)1xlkRhVT6_7DuRTrNNO;Dg3NnIuKg3&(u?_=$fx%l>49Y5(R&Klbhq zzQ6Y6MUju^)i*_mRP`VltK=ge`Q#6N@EvVVd5xorCT~Vwb6`~`tlb6u@>8p#yOmVI zBm1BgGB?3qB%LjaykJb>v>f$-FO(0NgPoydv5+y01ef_u!R_^<5zVSe|* zbzd8g6U_wm&42N4{{0_)^Hhcj5-$sENqMHE50~ z=t*wSf`>M5ha?Rk4gdlu@hGj)*8Z0d-^k9dZ=b!ZYlH+)m~duoDu`^ZR(C)p!!;DE z+xmpk=hC{mX3s#8gxxW;NTP`h3|asH3Te1F3~x0yl`@hcxKLJ-hFVEslToA$97c@v z5r*vq^nX?HSn?Y4MUljfD4*fPQm=lB3Ok%!spf#Ro(QQQ&kScEJX}w=5%pfpf)g-6 z0f3|kQ*98o8>jhdqj<#2>wC8^U-D>WIi?APgN}RVMfckmA<}hS%`J*Z=Iqa~9Iheo z;ZJ<>beoBepPx#~L>wH^!TL@`nNBD3@)6-c3_8TKQSZzZa`Du#YLNB8dS@;OfCNB# zpOO!R%(Yb^IGp-JRJB662>FoUd8FoqGShu*(b$^OM8TXJ2kI;2e}Q-}YL|D$}}H%r31z$=_Q#23YJIXeDX8Y|aM&tLRjYqBuLXI$87{pB$p*s)iWG!2tQsy2NU($k zK?jNGuap2vi-JR1e+oc>A~APquxd2wZxL}cnhOa4wbzgB7Fr*U7hbUsO#6}Cbwa!Q z_aE-vo%!LGY2Ik1eJu{xXD=B?!=bK_}s)vI>JB| zayz5lYEPLihF*Ps^~xG+zmO?U2bKfSF)WAB_gOaQR_Icz)GzAU5IW-=Kv?9?0)PNh z3x*Z|0x&bUb7D?5UodgO>*_)jv#U1uxZ@{k`p?OLW)=rd^I^pbCjbk?G?kH8$Pk zgBGoDb_)_MJOEl+#abNMHUOgFyoWk=N=8fK$X;be-k956-^x)=TCy z?!;}(5jylom|tA_2QRO#j?d>uq+k4{U+KJlvA8(IM=syt%an1SV}+|&xI_COJkwQ4 z_wV1dSN-TZ9oM?Nk-4ZskW+ve;0z$Kz~x3!$!qHR<=bIPsaqvNbE3L(~u1gE+h3MmS0&BeLrD zhv)qBt0Uwg-J)}yM~&eQR>v|s-%O!bm@l{y$_AnZ@}Oi2fXnt(L0sEGqDAO5Y{Jtn zU@fwr?C-AO6$?wZ;;l5A~9>EcO_?6ZnY^w zLLE^ey%c5hT9OG0$rI!+(P_fI^TK-nn)$vJQg-6*M8CpU;d51`M360DH?leV-JCaWel@`*=)v;1B{Er9-EOnFOPkM0hd#t zIndnY*+}XynALw`3YY>U00P7rU}A_kgc~<4fKrzpy27cA8%(L?WBb@NcsMnLm^T_N zz_0gMSXkH=-60Or($px&=#-wk98l-?)B9sYTqlO#R_fg|9S}1PXr*R|t8nr6pr&(h z&zmou4I#ZZfqa_ZyrggR= znqx#970};|eXc%sh_n~}T(f+*^dmJ-bSN4+oZC4vbYsJYBRW~Pu(UR^Z~)9eGrwbY zAHDV(_XZ1#KWVm}4wXb&L3KTaIROz=q3`Ix3d$`9 z+@gXdZ%zLqS*^!1A#;djw_RFhy60{^3|X9CJ^$b@c79s{kZ(NwF|I_=(+l=Fma;%1 z%8LAjr$Ky$vgMT!1*ny~p+~vO1JuC8Mt1|8lcJwh(MWWcHXE}Zd=J@5si|5?a z6Bs<$<7gg;g>M8z~dnT;;35QwAXfwt}b2s&LxERk*gx=KGHpELsNYDwW^85b0c% zu}Vn#<#DB6Z4?_(;C}m3U;a&6$ zhQ@K#Y+yT4p5i##vyLh&-Uvpe#XUYp>Q(Dvos z-6#&*YWZTcNjQc)dgZmqKr2cXQKi(#Q#^vbYCYZ7bT8XaNN1O^XKAeluI`=bL9CFSXg?ijJMzUi35Bf#;sU}Sd@DIvh5+4FZikZ+Q5*j4*IzPZO_(n*Na=g z1ToPkt6WF-l%}4%0HpvWD5Y^~P?X*?SLd}_p~S6^og%5w=cv5)AuA2*glX4q-_@%h z?+RJ!*FMb1&%)BznpLdS`patLD8-`4*EW#0KUiq9F%Y9pQf?q~`?WRZr;23|2m!V7 zuC;MVaK8s;L9u$_oZxm!e*0p;lpzU#$>Pd`YyDeSlov{)!=;1VaNJY@puEzorc-sq zbYAXiMN_NtrxH6R0RSSKn|HXpm(%yMAoN8l%}DRn>Z> z!=IIM_gY!)fCK<2l2ChE4meT-qy__#D{p)%_l>v$0HA)^BN}j%k6JiDH-^z|MEk{3 zv0Qa5!@I$_ws4dAVv%IYG<{2JG#33x4?2hl4b`$DjLff^-I6>YXBgmgmp>xrt8vi@ND> zZIfA~v)=efz|~xwU-9^5VPV-GIMUyvdGlj$?WS^L6*N1$8N2ZC<@580YdJNe#rs4aitS8kkOANA949bQ#r>H`PLl7l+FXh#AOMZ(Ag!7MgoyqX$ggMnodiI zHT`r=i!AEIeI%OH&rq`}qnt;Q3R3)glnEN;3@Gt9okb*Rp$MfMwEiq}64nJaD5pg; z6=8!6x=Ksvm?C!LgL@9tf#fY?$yx!fUwN|0%CKKqoS)AZvpp>^BQ15)Y;zpCL1dh# zaFPw;1RmV{i2?zqHGEhO+X#F5`bYo$zx|{A-5=N9{$}{CcDz{X+6p<#S1-pZFv%{K zx9@LI4AW(@uxvgZc^*x-Z-xXLta0+%43!O%jdCZiuzc^rdaCG%# zm{r$TJx8XX?W6)8Q8J1!eMg|_y4tX5r(uXHn7T4O7y@WzsDvx#hbpwTx(k|Q47P%; z4gxq==`zb(5Ry=M1=&FG}-+%bzBX7OEvj^!!pIgGHJJDw$lODi9 z<5+l$P&U78Xt*)Z=ej@-ea2xk{Zvu2^10O zyg(rl(Rx5-Q+v7k-DBBO-~iTvJP;JJZR|qOJX#@V7fmt{bDApb7x1MqfK4ur^6~3~ zq25>SoK-f4u5?1eI`-V3<4uANcc{k4b{`*;bEL8KUn#eBQ|$HY7>NqSq*_}LDbB6A z(a0G#VBdXraFXSo!NLz7J^9l={=-SxnY*=6BeXbm5<(0)y$h8uo!n3W0FcfvW7!Ln z*;Uaiv7rKhv&H@8GC+bxZc@P{Ye{K%tX_!9vU#3QJ-klJO;hC@g{BSSTx#dl7`!U7 z>|MV7@BW`Hn|L_n%pjem?R_cZ3mLDBq(Ph!C~-%0xM23$6$U4h{KVh&znzA zer?IJ`+=E6;(4*3qprH#TByNaM1VrWzGY-n=|)zG0rlw;pa3M4=TN)=BouQ{ciN># zp$jQvrc@bKEdhnjOjvr_Smi$QgO!wyFVoRgRzy;*q|`=}dJr1I5ko92ET^r9HgLHM zwT0bULN3B-2FI+w>Q@?e+{k}?#~X5(B0@^sw$4`oRHqFD03iECCW;hPj&cS?fh0k# zOw=#|k%69d+;pY#holVX$+T8s@9J!Q-<@00JUORgvqk z_pxo20Qx*Za|pM-h8>T&h}$U*H@;o}c8ef>S2quCpFNjJny;2)x$MVj`agK^U@eU+ zfaUOoX!CxIZnXLO*MDKGSw=x3lmPDsp2)OinTUqoX3Ee>4PBl`?B@rUU+keBVpucj z)J9-Z7@25A5Q zAOJ~3K~(?#Kl>IXmz6S|U)?xq2A!OQB~6wPvnv3cUp=yt2Ua}f8q2iSt)uLh7Gqh^m<9Hr=8#!t-95C+UrHXZ zENix5n$5S5fFX3#E+341@jw20AB!nGN^u=DT*#Wda&d7Jp9nPA$&W~yFJ)GWnCV;S?=t{tA<@#n&;)?9t5@Bd+URo&01evxc0VZ6n7usEk>Hhth2=mNO@2jm ziU!{1(RW(TuAjseuH5V{?Mm5JTZkkLo{Lsi2KQqFpil$5<#!Zw5Ob6Jw`4K4K+g(; zt_lG{Id|Y=Ksmbrz{^K(n&Z{I$N;Qp&}VdN>!Qyga9Pv^c7Htdx$URwNF0OK=h&ar z0iYdxx%^1)i5f>RfI<6MbJhO-IpNXLBn9tbu~e3h>~q>K4Oo$kjSSL3nP)96kCUm% z?uW{_bv|nQ26uenaSMeh^Y_qJxIt9%kAD6q9V6!a-nezUyuR5|^SA!w^g@zdG|u?Y zo9m>1{L0sU;iN}AuLIje<$@yC3{GJ=26=G*(XkBjm`nuQYFwD|okjB}@Ql zLZr*sUMp0&#*6F7Vlg|f;cu)m2@5xGa1}b;2>Ufb**e}ihBCK9&*X$N*HOtWm~x*_ z`79n(O{w|r#z8k>^vH)A5zt{g8imyF7<3nypGby6q#+Ql9*B>QL(;q!6`z_}H?Y=u;p6dW3)PRtjn0ccFkIY~_b;siU})E_Zm zn(Sb)=*I(&fBPT&UsiiUlAZPN3Q_=&+4*+*x#@D;fB2Y3KMTu&`-Z)sgfD*iOQ+pT z)8dm9a$)~Dzj)Bpi5mykMvuV^7;AUt+y(MKAZXC2#tjJ18 zn$q(~wf#?tBa51Iqr!{P3poe$;AyXens3n2$;RQ5i8)_bMzq1XQCnP!;f-^4alZ9h zv5Y0u`aa~*D>uiBfb+=0HO?oIwnQ|$amVW|uI(@f`j%xnzvPKL=9)lE0ne)h%RvuY z8foNP&I!ul3%idg$L`{DVvvVB+eb_UG-fUaomkgO00FcBAe84`Q4LreQDgvU`M_(0 zMVp2iih6kGmm9IO1*U;UU>^O8l{#9xxBVoay!8bOPnYfqGKxN1QPm_DfC5WA+K@Vtc1{B#(`^ynq7WWHg$x#~q0vy8^p0oei)SA^ z=Qc4a9#x_GwA-LYW{Iq8giJ7rMZMygu5Nx27V zEB8#HbJMFOPzuG}@bygr3Q&cEVco89gNX{S%ewE2B-G9a_QBe*LMd)5 z78YyO6r#wFd{UfU-aLEnyXE7?)yjt6#KtzTqaF5cr3ck_NVk%JqA-fjghi{|E1@n5 zMW*s4fC5zj0+Lku(g2qVlmbLhK<8skw$%9z%LmaMH?2(#jci*5 z4Wk7ECWm#W2%6;8Nhu%+S`8@xGUv1uURAKND}ueL9OPFOkrs2GtI@-Lu}Fxd@>P8c z)ZHYqd4Bt{KEE2kWjoi$(e%z~_=)3~+$>vf}`eYbdIvKt9&_H0&TeEIHw03=nc00>kLMFC2o5THuEtWZc$ zg@ybotoztL0@xf^KTJ+2SXX}`Avg_E^4zKkR zy+O)c86Jg(gJY<8*(POE>4pW3kC$=Kbq^{i9E?7hpBKwJ08~ZpBG(W%@J`9tIA!7y zoLu>oh$zaew%oZYv`*-1At>O)#4IC7zFPI0H@(L02k-yIpt~n&1^}PgBpb^kE%McJb;slX z)I_G~{aqvzP~H9j3ya1PwiG-?@de*dthy=Nv`-tlMXQ0VWf`W`b?;JxVoopTC1dDNr_wDhxGqX+Ds? zs>n5`gi_@l^VN%FHqURL8DzFRS^eNo|JCD<|AzhUD|kuBD#hRlyUmXss_poMQR02mrq^P z(6drbtyEF-Y1Dn~)f~Zk)u903^-q4fX=gdF-EsNi13=UP=1PfdrvD5)9F5{=Z#>3# z>o)~o>1~cmPZrk3u>h5IeBy4DW|?ojbHmMoftuIzd#^L%;^N{sY>S5vAF_cJAA;ha z{_F2Hlh=TGSxe-`bvTz@bTFH(rp-8gzDm$qI0pR_o zZ+WVXENbQiFsbtgQmPq^fq*ia-E%pPEy`oSAO6W-D5;!L&Vf>w?pZp7$Tf|!&9H27 zA48R7ufcRoA*N>OWgztP`}rvZDMI?(n#{0yJa(q6ZwH1R8f=DWpB|cY_T!SqI%I)h znXSh*R&_|Y9rqmt(4T(dlN}=jJOXI{`^J_8uV1`8Z#;^2t^$rGE`G6C@DM$enKZk& z+2760CMePE`^^_uJ<40p=^Zxla2-!|&AFY;E_jTxu$w(hb|Yu&5TbkfN^=x91JIesO|GmVgnInYeQrXaq#Qj}ep+r_KKfY$_`1+D5Q@}+iJO`C$f+b+U^H5}2kSh3GLAc2XfhC`3l}C1 zeh*#ShHHm_Y>@#bF5FyxQa}kH9bBHw+iRT<+3%wWbr@p3SOroAM)qx2z(SIS&AIAA z#Nk7<7pBoiZl1ixE5$Ah!~S6I#25d5wL?KrB^cc7USl?gl*wv!Z2ZV}X1w`){^A9v zT-*B;88v!t>xnOV043>Je)nvH6d6DwEAm?&94sTs!^cm)^X+f(y1_ElF4$S0#*#91 zR=}n>R1rhZ&*7u?-A%rP2&r|drJj#(HKgmsp*SM=Bwq7-O_`#rb?aF)LaN1q=i%K#^iyH(R-z!5x0gx%&zs`&T}y9QmcPwKBuTzpb}g$y zRY?xETctyIfBW#!gW-=g?73*&eGo*H%`%=x>w3ZmJW5eVCAcRJa@z z!@@F5e(i7mo!|buzq>ofRWGD|{=Lqmul5m9hWfhUzz{EOkIFX`{v7y80N~}TA9GJ2 zmt=!n+6_BKNupdt?u7vG(a(IzID3L)oLN{{Sa$A(Z84L1T-%Ozp-5)kRdwhWFsS#< z=2WAqNIFUl1yEvz<)(lMfRyJ?jNT^`#+zuGh$dl$(DA$?wMwg^hGiA+Ov%EDTrMM^ zt1^L{P-vu@hyzRnG)bToC;>_Ur4%S5JVMA4j@e&bgH*WVI3h3 zAmseMIay#bue+mu@K6wRV4qNfH^biYg(Yy~8%QV;t5wkrd9Jvval?ESv&+lLtp_YS zZocj9^uwWd#{t(4ttv6U%*lw5yW1$2X7i~%{x|;f-|U`uo}$Xm?$wh;Y>(BEhEL!6 z&Ll#{5mfqEG!H~uy1B5l#e)#P#nNVoi1A18rSkPEhA3)gXPK!W%_UNKPLbc02VTB>4}iwyW&7a$_qL-r zh}n2gRFvArd}LwS>Zpwj+D^X62D7vO#a;;&padvTlv{;%pOyeU+U1A^iUOdh`57rO z+>VXStqO{jamic?X|)pBLM>lda6E*VvfaC5qdonz1Z$Qlp;s*2l`MN~c^q;k_S1d) zmZIqOu!DW`;C`bJ=8nOHx&TlB$-3v3<=<=d*md>Q)PcF0VT_Z>lD( zSXfTj)Y=7ziku7jx^j%G||C^9RS*$PRnL!lcS(EgvI<^TzNC_?BgLXpd&gRcWR$)g*m z*~}zWjI&J@O-^LA{ROOYs*vQ`z_83J4Cc283?xxAh(OM8LX_1UGhiyIrQp@^`G#?jvW+H}$y z*H&ISL_*I*2x#fl;g0l4_&W1lfEfIAZj3X`|c!ktNW@M$;@aMwp$ z0w4SWnwdGs1Z_M%6r%dK z;S<^g&abW}<*%-9Ax_QH^4LCkAL<%-~Q7G7N9z&of={HiYituzh?8Re02)| zh)KuJYrU7bd-*Wj9f7@CBAK_>r@xR8QcR)SG1HG03sAC zL++tm7ft~RP=!U-p+={iD&_9>CGQVpVPRqEv{(;&sdOkDG308QpU~BYrT!8X;f4aG z0Ks_+>vAxnNVNWPoVb#IgY@?*9ICz+we6t_K&1&EN_|@7`g^T!5lDRSy>B@cRuzea zxwbB(Jl^o}RXpoMMdi_A6sRVihh5v18Yf^yqhZy&d8PsYN@glwX*P_q^+mS2dserM zZut;VCt{NpEP@w1e>!9Z%E?Bkuf~u`h2|*`5TPjQe<4bMpp;UEbpaiYl<}dY%ggiI z+i7?%(+SLKsfZf4{aZVCuMI+pY~ydiil4_BxF`j5vHMaYi{%O?F6S4Avt!6i<`GMq z&*z8q>}>(IxVU`Svy_30LEnzq?CP=hAguEsBAK-Ytc@UU%s6j>oRBd7p$i)K`GXMdU0Vd`n zP|ggSgq<_c`ckLPvyV%U=0b!RGYC*vVbN}2a;14oJ&R=~J$mx7w_Q?>MoPnQsB(7o zFhK6n{GgQrkvd2@Izy+?N>Hp#1q6~c(@5PTWhk_tAF_oXqXGLi;+KPVSCwWk9_Abk zg2oVm_&9z63c1M~Se(r-F3+YvS4oOEKGQeqc64BA{Ab(>)d>#tMQ}%}FHSoG`tELN z$D;4czgR35%jL4ysiVFdS*=!^jk+DTSN-rp$VTSCqEPDu-j0@5NNsfM<{MO6x4?Dc zsl9fq?@l5svmIu$%QB35y=B#o8E2W4JbUlmqR6=&PEr_98{6LM*VJf5J-bRIxOE0M z=sxWF6L%72rXoOte|L=d@K#YM!*#AzDw^FzP2xpWtU}RADr5)8=7OPtnDX1Lf3{x_2t?5bETYn_V-N}udP-XgMcsvv9LVjyh#F+oio+uI_G^)Au=4OHl28ci-aH zo^johlX+UKhJgks#*4DwDLum}m}$i1xoft@lc!G)(f&wg%~yg*(wnhzjgsT%m>@5U zmRcn9EiHS9%)PU7^};ftKILvb7+IX{gANa=-}J|Rzjg+fVQ;>R{Vsh$h`b8?Nt$$x zb*M76#V9pfp!zpP8{K~{AM;F?$?S-qE=_ss4-3n5L`-B|MUrj1T8)dkxV&%97eTc} z$+`J*Q5{4v_qOj;sqLyr<}(XD_q*G5;T~a(aFBxWGO5|iGy*+UgAOMic?0c!=LRC;AZ|q(M(Gi zFbNukP#ZTlTAkvTW>+sp?X7F#8#CHTj@mf^%P00Hc(KnAhQs%fM5jAQaSGPcS~SWN zs_-bh2(eIQ+HDW6@hrhhh#hd22@4IP9Y7p&{)H@?i~EnaX-=i#+V+BpduEa13D0tx z!qZ`ZB*~_9Lv%3dC~*r#4J*@H`5^?qR^E%;;n0nx--&rp7SN1!{vVNEn2oW)3_=ik zQjFJRkcuDHL>KpOc;d6LuuNS$rxPKij4rT3&bCzY2JV%dUp@eUv-^*l>WoqgyA%Kf zlv>~>T50rb=vnIAfKXz=31A8|15APDfHR;4Ug}ot!^tWw)@9P{c4r26d$zY=GARA`W!WPymUx z5)Zm>vU`3U+rtVbLkD@V=r}Sb45FQj10$Rs!O_mqFgsi@j;N*Q7xQ#J+e$O`Y^53bDoQVx!?sIagc zu>r!;Aw{ui+SSfPntR<`zu~R1#{%2Q$bs(4Z=awdB@`2wWhxSSj8@y`)vj2TFOeju z++?L!-lk?lB$X_T{<0pwW~@S2t9pBH!&Qa;+0BbQFHFK8CX!}hVVS6Q&X;2qMIu#d zd~UY@(c<1$R8_2QUjX3p#j~agZV)4&Fd8|cTo9ameI;N@0+iBW*JV<{D)nEH>+?(U zVohP8n)X0>J_$|ekuNo!g;H9FqOWZg02a#^A;v2E6rdziMQ->pz|DaicY!s-73%7t z*AQj4KyV3XDsTGP-jFeP-dX3XB!4o+YD7>I>F1fHKBAN0KRn*9*Sj`0isNh zq{>$nS%)f$AZna1Z$q|_^7zLZ0n}yBHuw#W4tK_5uQ1}&EW_2^D)&ixM@W~}n~OvB zy<-c%2a`)2m1J3Vz>82F~L;VfQ+3$ zuGd$cK&Fw>37GlHt7K>YD^=WSK1xsk>dm*mQhq^^f>Kp>!D9Ks)xxFQnY$#^%7O;K z<;29+cJ5vuR(H2{t$8LNyZ6b$y*$BY*=Y+G`CU5{kY(rNRJeUb-5spsl*!d4oKSLKW9 zJB?*41qu+QE=nm-SU0|^KtNMTU4jAt}zm_}k6;m@o^qx>NZI095V~BXZjd_B$^w9^9Y46E-`a@7QZZ(S&G3D$QU!es5Uyk3iDzkitJE z^9+R^@G93YpQ7D;BkY#e1ctugSn zF;;t)Nk9a}YV4aLLv<{t>LT*U@6k*|YKn^QxVx{<`n<0eXs=Rb@S+tHq?#UM9b#tO zW)z@Sp~7QmGM1RN%J1S;LMxtnUMydn%%sI5M$8dW@%w<07kRl(GH}+R2QM_vHX4+m zR-L0l$XUL6Iboe^e|MjP1cZaQ?G$`gIFZURnGq%V@;MZ_p`t2Zpb}si%%pTyKn+Pl zJZ8B7KqN9R=`F>oqq7l7SW_4Q3M&Di`PT`xHsvT~Ui2CamxP7Y`jO7cC~@T|n(8~o zR|y4?bcNVslp=rtmCLjHs~7KqS~bCL(}vmk_3a1m2I}-va<2dYAOJ~3K~#VQsz4!? z-Y~7Yb{JPsJCTsZ>aJmMQH0iW#G%%RrJSq{^27WsIan-=S|>n9y36iX59$KJ^>_1vww%INI4~ti6=P`5GAWdu=R+XUZ-twb0;q$O{V;8SF!~%+ z*L9uF}Q^J(u|bvABBys;D0y4Zcyb1dz;cUqr@+3f9T@cP$yclMd*{#Jd&W)CjowJ1ib1@uy-zliDGV@TxMUJS z*^7x=r#+uYV&W03@@^ z^$e`Dt4AZYz`%jT)bK1UET08f(dN zorkS&Rdx4%oX4DVXXeh_JC_{t^745lk|M7xiGpmyGAu@vEl9Kk8Abpb2n;)hjo1(n z1o@X3K_KLZW8{ZpIF1nHhXn(60t<31!?B&n32n>qLy~2RlxT{)B=2+XJkL3Mcdz{D z>h7xU>fXKIk5da9GyC-JuCA`CuC>-ztGp8x4g#6`_-au*?})Cdbp}!wJV{q{g|* zgFYfe)+Z*Y&ww-9h>j<^nj?c_K}_RPt{ZZ5ktjRQbE;T zl=Z#L%~;C;SfwIVRldP`&b^l7_FY&xrP=8X&8_njbX5(fGF~I3PvXHE|1#RMAD7Qt ze9zNsH!~sAWq_gMl5|N75=#+-h8ze}OfDY6|MMnqoEWR2x zfn&}+MyMg8V?tD=syDDQy8yImcL;08xl8+BCk2!wgZAu;L4r-POrr(VKFBH+@zLq? zbB;i@w)%KMNmYTu9FK0?FF;RK!Ne6_Y$4J4L5_$uaZEfQ#5eA}TA;}hAtqAM_<2G^ z91{W2h!7Q^unj#AybqmCd!y@A`;JdtuLAPWV zti{oLZ;H07g3J)!-^J#hJ-k?WE>>4PcPP#X7w#ChVMGUWygs&>_vlT%ar>p2kJ_A{ zI^JxfX_|JA(KNjDyIUSm^A`A#Pkdh(xUqgZr<%653&TGcXyRc3GZkurrT< z8IOh{WJx7NiqxDMC!dDmg7sJH^MYj|`MVxAdd+;)zQ5!Z?}P0_gAM%Wu4u&VmE2`HnvG){g4 z13p$3cw?n)1Q|qt(!OFFNVJo?(r2IK$=R;?ew~dNYdgZSuzK0Za}AEi^EGBZ!a3OC zL3ZHfUxn+~TG8ISr~M_wM>p$AXu+D#SiQgh(bqQ8fPp|GNRVBfZaKW3*HE+0twT0t$lh8LVpDbGN(jwe>O;T&d+OAH(1YA=7hU1 zetiD2+mJ!{0&LmVP|(9-6OSeyk{T7LG`lg&jZoz(WH>@}N=Qfzh$9QR_C*21D%q|~ zy-ZaB&{PXIR@ImCDy5xJXx6pJXsD=8)=`UqHh;E&%QhZeMnj_$gYFAnHxTCv?neuc z3bpSCLY;ZpLbRcy_Owr^o!o(jcUA)~(A>CPO*8K4s`*aU8rXi5E_c(Muy-S_Xe}h) zTN~{0UaLf)dbLBIy z{qS}t$~k*^6dchYL4p)>PcT(B;~8K@MRlqtXOnE@RF7}ocX>9U;?v?!GEr9^uM+dr z|GEsMlhfmsl(SYot{^)p!Sp(q`Fu~SYL5KWpZG7^hUgD|{-@XQ)NMHi*!wAnGLkaJ z8G2kqI$Ju9qXHmCi4;ep8)gp>Ck2T|LFH`6`PPDz$;3fB?9V0eYSUksFE*@fv0jwi z$`vUGI3Bv_vkRJ6->q8JVBexB_g*zV=tjUYxE+}0_MK1t*_>O4M@xi9TL~tHdU$&7 zvzj_?>i(p3VF z-aaO@REpQp zGY=9Z$UKu&ubJToe(-bGyP5VHwZTf~fAssc8N|de-Z(fqPLA&qsaX}y9m3~*_q}!+ zO-DK`)dUF=WIsK-rgx^jXR7Gvzxivw7$rxmK%A-2BSxou>IZ(@&oA5pLz7CNh8!Ie zf#YL;3~UvBTprODHHRW%=mAvZOVC#ZICFgDVcsZl?FtmOW1lTD5LPZFv?2gHvGHY- z$*_q*6P&^gV@BjbkiF5(SVin}2Ym-R5(#$O186aXykXQtg!t$Nk-Z{LUECd10~x{b zpo({9)$77$_#l?vgnc+5P+Q9cnRARR&~m=kWjLp`qNpwENP?K|)^y zapsrM2;pV#@aGn|iyezI7@j?M`+e?^n;X1P(YVw#EjBdF4kH8Bq7O7}3&*R{_zU*N~YLFnV*QgF3Ru~=MTEuqEvV%D27F z#GsuGtTna`s-eAlaH9%XHoO_Jb$$U#8f+S6P_rLP1=mq*bABhlTEf0|0zfA)nP+?m zO%i7-{Mme<6Z4&QmH*ISufEdYi+wID>0ITKa`ewk=!Ri@HC>To59QAE{16Mko1jXP`i_t51S!A4v`N_K4x>kF#NA18nFH~hn?nv zm;)ZYF5h5&7gvvOSQ&MrLa%eNJ&K%U2=$ffy0SUG`(Y0e)vTC~8Hn%6^@T0ZyxSXz4yG%E1PKyk zALZ!y_HO7_o~x*rKlyuYkMH>peYV9J%t2U1qzvzb6X48swhccQMDEvThfD%>eYOv{KXmDucCQhbvjc2-<>)YdP_#6BTV?rEqwqORrPU$hK$W z+UUVSft=4OazJVaKISS3p&bFO;ym^lDmLHiNe;Ol@@z*XI|14@KCb+1(H%%MI#U-C zmdjn?qwCCJ;==H-&|&)$xF`FVKhb@pxvy&$u5AdT(MsJw3sN_H^t)f}fAWqSLwi?c z73+0Q$s4!vv6{~EM7Zx==O%+dbbFvupMq80l7Kd!e7%~O5EuG2vedt-*0jrmh=>$% zp4V6t4~Y|kvLNi{eJjz)_{En$xuDx`EQ}RRMV%qf!=oAgb}~E;18qNan9`vU4q#FX zO%VEM1EQ0Yooq}C1*mjo|1fIyd2!dsli7&brF0UE>L5W5O^%MwS5?$-cw>9d!9Dz} z8u@RT+9$FOavOqN@iB7jVAFmGRr^k0E7d_u#B>XqY$frt&{(eDLM3B=gtCq5Isma1 z{>+AX13H0 zk2ve@ny=1^@$>l}sx`Gtg_pQC8XlZ+)!7*FczBKMZC2Naf?&gOF?a6V-jOl>xi9`1 zA|fb4Oo#{(A%5+r{tJUFLlY8%FC!*3A~hgr;-uK>tBDx#4I)j5j$Zla+&({#J5F}G^R zb`W`8BO3!iu&IKC>3Zj8(K&JtwnZpYdkC|YJdoThd|v38l<$PxmWgIysjP`;bbi}k zNz^d$xRKtlN#Egqw*Y9cA^=( z^%8>?Gk-$C_za~i_GfCTA=RI>T1cQefi*zP{t9di-dQa2OSEq8v>o#MPhbh)5$oC&a`9 za~v^|j&FXHC?XyZ50aZ7Cel{22p2LoW`yrOh9aV)vzH3i4kDuD_%@VzgyHE6{a$Ld zkr`-@9r7SScF!mY@5}CMli{lRJItc99~Lur_ITr%)OwmUyq-apoa6a0-_v#9Y%O%{ zLFO8|VZ&T5?CPDKA8rX)t^u-~96w)Y^QiMJwD4?H@Gfzjw4=1tm9MYj&1kS>R3FvA zqYe8rbWBPYh0y>08{dM88(IE(0?^#Rp!-KL_c?(K&B%;#KXXIX!ca9Dw^ANt934+b zB}WJ5-p>k-)|~QW8ItXFtE`nmzUY&6oGTi-FMYF$k6M0eQb=Ny6T zFE|7{g!hi1W5;S@4PDINm`%22tf)uKj^4bq_98i&!)n@uvKfs=lgVW9$6ixZ`~lIF z>|^2@fQh92cOjA5EH9aGax7_D#2tf>>tprgjjtWO|9h_kMAi>1E?^X8qey$O1hjtD9Wg?=D#|y@T2e5;`JuU)LlI zD5Iav%0Pa7f@K3v#*1!Uu1_34{zP>zw)uij~-=N z8u~8C7UlTl{Oa=A8uXpG_`uFghSkexdyZ`zal|?e#Sv;Ii<5LxFQ>{xC+<}sB0V_G zrWcJ%EId>)A|V2S%ok=7NiUyql!%!(;A_}|1w!fKVWqAFWomAhWoj^z>7;O$)5hb& z=~Br^3IH_A9>4v@4E_heYU5^sQhx{saGtq4N>+iu*nKLcg&>}p8DK>st;0rYk0E*8 zB%M|$1VEC55+EX#jLgV^)e0u$Im)J2u2Ce7wiRFF2<0$e*}NNeHCBQn$r{Ss*0XG& zSS)0UqRVROCT?K3OjS%}R;LGU#)V19m+cuQX=(y4h4nQJMhH zKrp`&6bVH)?q^TGbNiEj_{n#^N_uql?(Yune3u@dO`p97J%EY{D!Y85$LC-zGNo)n z*@P&Ij$fQU`A)H>EkqQJ&$CGnV-A`qlk{@Y?4js>eVHSX%;RjgNR%9B=~Wm>L4xe0 z1Z?^+L@i_q9`-;2v4)BO6fU>Nn`(a?qYBfj3#h0Enk?b{3bG6G;GMSu`aI`U!C_Hn z<+2d^Jlkb=dum&~HZLmUbs;TuvL1>{L_%EZ9l7)2Pd!u}GY=`|y0f?KLkVPR) z2AHPWzuah4CXwnKz|-&^fVUYfZk+_%{g?R_y6sSRUS5x8Bi4~*O%zys)<|)eypc<6 z+J+|Vlg;q3yTfX+?lGTZ(`ZXw7_6T8$3>e>pTv@;mX6|{nCX6dlP!{#MKyZ9x+Ck!lXu$R z6?@?~E%-oY2EoY!lVX-l^1JlhZZ^4m6x7iUzXqXe4#}cfowg6MQL}3a)9-bV+qZ6qM%c4SIP9)lm9MmR z*;-G%^0C)uX%J@|CZn@X4+}M2Q=XvW5fKp-Ws{P?;oD#S*KNxrU`-^?f8bL@LNc{B zzlw6$9#HzTEw6xueM?bEfB;FSCYBkv^TCgM+MuYLq*s1Tm%n0AMTo9ctHN2T2BQ~0 z@u}zTf0$U4h`V741|&7`G|UO6K$|5)lGEpksBkNqxXH9pZC~zQHkNj*3Ja<4s;Cwk zWhp5&vgyPVm|P*tzB=cfDCNCSZ;EQQqX3c1r<3NEZX#wVO#qZOmzW?^3xk$s^z=1W zFRRlwUF&q|@n)7Vcbv z$g=&jW1=Y9$7(PAs>o93+ax&gh%!rgb3|aMgyWOJ%@6AF&5LL6$>d`A+>1A!fB*OY z(f{n7H@``wMM#fski5lFLX>PK3mQ_w~ zzI^%gT_Boe!_DTmI=gxA*^>uL;{~!J_$J8uJ+vS}!iZYHs2Cij)48{RC^Zn7hSpoc z_ytLphgL~CJ%923vqulw;d>u0049=bdf6}hxdTmhbhov6`FhVChYP+xdHQ5u`XG$M zAglM44piQG>s!6gWgm%gV@|`=Ir8O`MSYir=v~5!Hb6>bU?)+-w#j03Hphg&b z`NXQz=NTwu09Opd$-}lG=>)-j+U;aHm^=E(JKl-UpeD+g+{eSw4 zPo_6$coYpzPG9`4^ZTDkf%NKW`s5v%KBegeWml$z^0nZIBrV^MpZ_Nh-~Z}sU;6uh zvv_GNRl&(Wee&=Z{^!3tdGao09>^meoL)V9;P=&C`D1_LXaDWL`jw8SzIghOOm6GN z*?Q(|>{+BAVH0JLAVGFa7C@hgD4@?PQP7g5GMy0U*~53|$wyyv@3U5w)Klr$rv>ym zNRTe!Ui*`GYN83oXAqBfgO=g#+oI&r3-X74=Ffcf*Zu`%Q*)Yw9a|w#W>K@mi@CwM zOy-^9mgP^+0Jiy;n~#I~xi)TznKUUvU}88_%MMMJ=wbOXzQ%X58T*{<}4dqcHUtp8nP&P&2_OOWl&60;URDjEtP zzM+oqkvbwCtMPr(H<8@K@Poq-e&I*|tAFw-gsT^Dps@_v@3FNR9iwoy(>VcZpL=e|1SNqVX z8@#*UsjLAu_P>gVEzMPYI3`5qICOcO)W;jr+>lnAK`@j~gY5wJSV2*n~ z=A2>qy(*{rUVQ8m%6pM}u>7zlFtM@@qWIUYB)f&6UaY^ltbPHA8A`b&FEE7AGBkA2 z4i&CY{96Xg`<4N^VzJw6SnKf;t>!Lsk)vo{7-jEpp9S-0?V$SNEjK<#Y6oX@KOaai zD}t2r(n~Mx%CJSB*$6~xaQnN7H1U}94GiCh<5#};*WMc5|AT+_=YMl5b@_$2wWlkB{zu9>aU2jwv}OeM~$g(vHDlOcwLbj85;3&hB+o{?+gQv6<6?=a7nt2pp|u z-ceB)!$E=s3DO~FXLna^ULlxN4b@z8ywMMa##Y;~^}c`g7yiy3b-nX9)3QMoRc~tBsl<0(e2m%)ZaS#*cX53 zFaFYh`zv+y`7M!OcuRixKmSK}zW>jke(a~?=U+Se!0#g-6B6QKvFKeYWAdl6ox@dL z*E~2rx!I$wX2{8n+rfh0B0c}_UQW)Bi144%C(>VnC! z)M$iCdK85g?cA||pwSC}CW6*bOw7HPu|1+9?L8h1#~=RW_qKKuydXe> zAEVrJFjsW87jx_gtZp3d1?SD_Dh^LZyJ}6N@4p9Mi6Y;H>AXiJ_dpTu z=t9TZL~Fg0az>-k9z3m|w9#EhFdt91kRno>6K;Rd-zgGVWSXnn9}RQ1@% zXq;m*m-MnxLuoHOvrh9e77MYiXrN89dLqe+9C4||C5;~MR7KcK%uOd(+nx~`T*Fjk zAj-dqa}!CY)f2;43u$y6h`{;x=U;f~YdMRt_)-9tY4Pm3P}Q+36t{BcsS>=Nt64sw|V*ZO$R> z!9PW2tMNLY`!K3zeCy?3{rmsn?YCb47Z2)V`t}QyrPINUJLz;vYDmzX{X;yM5J`G=g<$p9k|a-RV6*1 zSK1AI^wEa0+Zmo!6pc?#)_s@X_xpb&Ob9{N0}1Ser0Fzt)>iMn8O^oWB5wa07MLap zRKsb?rbIv$nFRNX&9+ekMx`BN%}e$?*YxtD@O=$%1`~EBMYcdGs$gT0s25*PZ3sW) zBsrKaMEK2r_78r~hd$v~!WHKPfHFQb&($UsE^n}S>%ncf+$mJt&n$(WrUaraBgvpt z!z$=ywNy>fkgxpuuQmg#vnr9bRKR!fAnCIwPG1A986d@aYUyMAls((>j*CRY-XUDF ztLCM&c9qjjcDqWCWOi^;2xgPC{}Aa@NoX}=23i>EbbCt0x_grA!auulbGwOTQBAV) z5M`{hc#*>ai*MYxvGOu+-@d)t0$FX6hI~E7kYv=3gv#^@5lNO3AwK&c5hR=3{q8TE zeenBEZolyN|LR|W9#7oJ;|rn(?@&r9M@RAT^U?9$V#!eoO`P%QoS@quEq`B&8$D1v!yl3Iqt}?nCyeXOMG9NyP{E#5U+kJ8o}vh-++|%cdGbH4Ln%$AJg22s)A}j>Ctc~hyEI1H0@3JMKPQ0Ew>zBo1A7nw zy)Ak0;KA~R42BM_`o5xe@C2EpKZyN4!X=9-b2kA)@J1BFfSUWtUL# zxBks9KKRE)C3 z@*#0T*_71Klt##&zMBU)k8i&+`*le#txd;L5QK5t%v2tVqVbLM7ka+#S$a9Mx0~;M zPusC~zU-Y7R&kt+_o1dCn)^CP=;d`c%SKx`ORu_T)MRkHN`rf^`qT}Amc_bKWU>sU zW3M400aFXp)CS%Mgb@`ablKKK<_PHV|7yrI#M<6U4#sMSyOx9-(p{_tu-1sAqz``6 z!3S*>Rh0~X%ZNqaVd2rEn=kyH&;Lrc$ZRGeG-bSg5c2Tfg%{+jAUumlL`zrD|dmweJIR zI2uhSlbx-e&8HDXQ547NbY&aL#>YpKS=;j$ATZe)Lz%tcOhQE2^cfKo^7&m5kMDiY zAAb1lFB1uXCvScI_|C_MH}3qCfBwy1`;FJX{5wy7`4|7?(fQ4@m!JF6uhZAQ`qra2 zzJ2lTH?!%bTs5L@3Lklo+1bSuJ0S?FFo>=1)o1cSNvF zY|=MYIv+@wk^MNEPONUSu7%anIiIJ9zl&M*TX^XFwWueQ3hV20$;FeW3(f@1fxYOi zzhynhS^0qAX^&sytjP71;-%N9nT!Q7mNCWl52TLlq+{IkFJ z&DZ~fqus%B`RL*6|DFgmy+Sl1!DK2IPcJ9g=y$*Tl?M+mqoWu9*)RR=-+t@fzxu!a z`QvvVTt0qy@$Q@Hv&S-hYL>nwCCXf;s{FN4L`B94&m@7~{&^nrl`huFi;fN5f)tnn zlksUfx!h+bKPccJVMGPlM8BUuckkJ=nal~jRR5OH=N%m3-5B)32z8JkK~^cuk<5pl ztfLM}0_L)>vhuuFs~HI}(M9!&LB&PXk+}G8xv9KHq$)mW6~6Da`omX3+lBBPY(hMB zMvelZ&QfBwf{S652O=7tJm>5=HUKMGATk-4)l*y4z2_OvQfnyqpRTt=gF%+2UF^yJ z=4u^CP?~k*SZjuK#m1M*A;A{^Lt~u)-0h6}E1hIIT%Vb6E|?Ye5IwjV)EoVX z<>x@2Z#a2-q+d6wIGT|;Gm~KM2ib-9&6={IsD|EhlqZNF0wE&Oq>t3##^Bb6RC1C| zDZRSjXn;71N5}U+{rNBdrNpet9Yu8nA|r_*U@hafAR zv2pE#GOkZ7{HmT53jhkY-}kXMzW(pR3l}8FHJ`GMj*cHceiSC;o-!PsK700F7_ohC zWK0@yZ|X!ht7w=`F51zcCPM{^OPj?u&PQ*ekD4MytN+?+yp^Ydoz!^%z|Pu_NoAHb zpn2xc;+M4l1wNue3d|kr>ti)tx>@K#%l&g)=U?qOqkY-PyB{kGW&Ft~%_{n=u zu7yK!4V6H%=@xFxw$@wc8>uMBUdi}qJh|E-%8|JjRoYb%*a!F;<;Nw<65<5`uA;;Rlxv>81r*eoH#&L(6%BVA&akP_-O1(TL!bE2J8!;oShnE`l)eAR z`YN+9lLq#ok9=dCBQ06hcJ1Bw-CNg_MRBxKIO(b+Ns`OUUaEa(V-N4$yZ4Q6e530b z2g&8d<&M>w4GgUYP(u-k&hAeiy*aq~N_u&jNk(9>lIbN!@$~UK1Rk8-d-m3E#i#eC z&)${vD!Y6@R}W0=vxkU-+I2YhK#F-TG zBuJ1TK~`&oN~duuJq*|Y-UYd~Z_2?6tGJQSb$gWoXTbmtQhym|#@IGPn5C(|MyI!* zzW0Vnv{2D{wB4eJoYj#`Cv^nVqzx3evc02)01|=Hl1_U~JXLh07zztRG{Qt8ZK0H6 z@p3dv?-S#T23xcrHAm;Kb4{*rQvZ1pDq6>#6N+D15rGUZM~#JpJQr3yD>L2j_Au(z z4SL1`3BZD0onhz7dhW7Q_JU!P-$a$x6#<>4hpGP4wC}8;w3@dO)|Pz36wAya^6=pd zg3EN8u78Bjkpv8SNcrM3n20Hx5JAO9>9e=8>E-m%>xhTx2WiSHZv()6Q?dihB3K(;-}Ftzq1qX z3}xIyXFmsg@x=>2k&9oWUklh2#$spZ6Oy+0P#^usj0_Ias`^_Ae9_1jh+c})w0yrN zXx+Mvs!gOID(M<0jiyJBwRRDjE5YCb(9kA;T5R(@o=J&L+en-Taou_9v~ZRaViAlc&!reJRrq{m>sL zlF5VLQN!o5r*9E+`tTb>Y4+^R>7(D3>?(cuyEJ`FlG5}MWmhzLM1V{m6Bh{(Km^G2 zshgO%F4@$ey{EVCTXR@eZ`itiYT%5u6C6u@Wj(HSJSP{5_$z?5%n7SNkyb1^9&C2Z zhmf4DOVD?Fr$(Qx!r_!P+vZCaxXZYM_>=`2!D6;+3SUa4(h;5G9Xvk2cMu540^Xy{ zccw^|reV5R(@Xd9@BZ}qU$NaRZFlZ<9VE2pIvUNp{EW^5Ysw4OmRa%zO55BNnFCMf z?j9QJxI)CbabHuODIfdzCuiKOu8EtKVIqb2ln@g|q)rJ#;v?cy;$tLtNu85ECw-ID4dN5RkT4<) z31i}8!idxfMW+;<5f2G5kt#kVDy>V!)4OG0l|UUVV9fCjBMu?#B1n)RK{htE?mKt0 zH?YK;-M)Fb>io5a5g@3iAhwqtnjthnkVAQ+<2eR4)QVmobp8b2$!PovL&4!WhZ^UQ z8ygFP?RZu$yqim{nDy!D|J#;n)R!I#2iHdkDkeyfAS;8{LyDvX18RK&|kO#Q^FJg4a)0(a;<7bz#wBSX^4U zz6U71D7Ly}L_#tlL**P`tQv#X}zZu!HO zIyi*k4WGx}(NJF4y6v=l&oVZgq9DlD%#6^(L4vGB2@0(-vC!71fVuKI)U;LBzf5ps zW!6DUnI#d25aHS52d<*@DNU2J&d%@G`*A=d1?dDpS?1wW_9|POnAJHUr(K@kM3Lgz zD?MK$eU`pNyiJH1Eo<2DKAZFdxNW{{_SXS$39lj9#AW$tvOiN5>JGT@MZeKp@eI zYIN5+t_X1+C{3h@m=G1$s)EGhMjkqiD+bkS?s}mKkT7Jhw9lf6rSIeFp?Z`|y zi`yhbaRvzzBuJMW9pBovv%M`<(t#9HkMQT7A6oRPAVGoz*^ms6Z-z$LbD2Sw*iIy6 z{v4g&8lK*49B<>Apq4)yAH#{kCZgFyD;L31{e0*(N!e9T5FPU-*e0 zMvjAGR59uHjY{ykL^)WkhB|D=R*ZB{x(RIR-Cf-!=!~|8TImjw6?Q8S?B5-d@pv2> zVW;Ho-FrRegSq0TPyo%!(#op%mx%}EuZWHtnw!l>jfpfNAx;Pp@rV!=0nt%Qt#aMt z%)+P7eIVC4Md6w-=zO%TPZ+yBW33`ww_85+(NBjLGf0p_lB47E;plYT^WO2%Qn&;B z8-90ru5JrJo(mvm>))CpMwdU?>vp^670kNPU;4}cU3g)G1PKykJ(>>vPT+Y8>EMj= zE}fE(=b`sHYmO{agOLMFgyHF}{2)}!@v!2LHdnEa^w~!n4HtuEHgI$KFP8wc!Mja5 zz9t<9Ss}xi`E+f{y}zc;W71V;%a?Irs%)-VoM1M-+%hU^1SVdJj~e_ zmVI%7tPggK|7xwlYt>gfGBR1I;b^!cZ4yP%2HQVO4Q)REjTM%rbTrc%7~guI9-dp? ztnxUzh%J@CK0Q%j&^bv@tJCvU6*U~5&F>GZ?M=MPP*`*T(A4Qjv+oPHoYUc!Q@YDAqNWs&?A zDo%FLd0zH}Ap5K9u-rJ|FgC8GEJv)dtR3*F*M6|~x%E^J936RdJSr6X6-w9sZ4$Q0Tt=TJc_fq<5-g`1Fx3%S+DVlHmhZNrQZw^WFO|0j_ot{ zm-_5{`-7iu*cpYW5vd^&M<*{7K686+B`hDv)_Zk#X*oH++dXB5u@$6UN%0|0ARAD( zQ5Zbi9=dAJ2P!r)!qJ(&sRIk9c4|fY5<5?WvQTN;!B+hM=(aFwZi%E0vIlQzXoDcj z%jxN9XoQ1y`j)(KW?&}!98CB!2YSz$2{`uT+$d1&a=q5DYFNm!!w_AAp;dK|d@;_f zJP5c4fM!3$j3&c|5BUY0=^f~?lD&|EKno{WNz>fbU+CqAqp_8_xd_oDfG*F3H^O}< zoRmX$#V~8M;2<7z753H9*=dyQ%9=3~(dR$^`Jnoi?)P9=uU5qUE{*i4cADD!OIDi( zZr^#IRaBW_mTtW82}++)dP&5Shu=1uTaTiXyR}#2_|^xBh$PKR7@oXP{ABL(!H<5n zF$2{{!tvP)R^_GT8CNC`-}zQ&yJpu&^X-rDZY&szc=CfUvteR4CXn^tES-iiyzQZz zuG}i*03g@NmtD=69;E9n zy(SO3pGtF&nl}Vk?IS?45}OSzo**?eNP7vkAH>>dlN?xtF7#K2vnCCtFFvI<^NF+S zivfA1!g&R?tbNh=M*WWYj9Tmwsvcj8V#_JlQSVj_#WypfIOrf7W!=g)mZ}5>kr3b( zCGLgnYbd*4qyuCru0y9+>+OB74WAZr96M< z#oaP42glY%o7IM7*4D0>2RGx>`$Q_a@d0byQkQRuicgk&X}~jF5v2nGaR|-cGr9lD z$D%ll+aOz(x3KT*V;MCjc8UbcL(NT zGxQ)oa{Tf*EHo#L`<#v9qruNGnk;so2ameE;qkI zMMQv(eYO+%df5|pUHSVpZfh*W7*<`r@mEJN6qYY!?WzoJLv78_UW6lAMZ33mc79%O z)@n5+uUq0|_h{6E?2>RiTwr?OXaOt?mLsiO+~5Vcn^!u|1z0vnkn7?L1=(v@XJw3* zIvUNTGj(*-S(6UXnS4NVjqkz+olBApzHdvv< z?zbR2_3OvXhYCNVQ+!a=tj32<_CJv zj4Va!xj$A1mU@trv(>RJ%^-NWMsu~!SvY!Q&2t5(JF5p0Tup88wm>hdz^>HZSM z@o+fWZXK96y4fwey6ACMeWO7(xv+XLsv+xKJ{dSvw|t zlnC2HSbEHBAu4twa{Kn}&*okj=I)9W3kxRqTC|XIxbz)jZD9sC95XK*V7qpWYE~JaypLI<6WJ8cLvEeV+V=Q` zpZu}aP9!(Zp9?ca5dYk9C|YL6G(wQs^61f9i}`$ujSml9uSe^Vk4!^+)3MA0OiMC8 zkBzebK6sq&g)61(~qo_DRvN>8u(yXIZvq|8q zTtRP!u$MJqIz6^6#G|?`(pf@0c2?$LC@(yFe)Z_KFA!`cu);2w>Da)F5yo_oFdl*g z=`j^Alap4pmyDKVgXIx!+_XlZQGRq0zpSl5W<`hyF_9v~gt*v3ga$i@sxC+5=jDL5 z3ilFs@T}~JD>OegAuDA3j|N>k#*{wr{e*5@h>E`>U^gHmJq5mD7*Mvw&GUNoX6`cti0C7)esp0UCde$iKTfhVJ&b3G<0PH`Sx_y;uGToy-Jya|Q8vAF z-+=CFa5{OS1}8EtqVKb5aTQw*xe!q{dAfx(N6WON$P%+=aJ_Q3kJ>R7-8G)SdZ| zT71r37g=5SQa0@hCz0&HcU`1u*j5r`-=zKZf8+JncV6!->M}>8ESv1A^0hT!HctuO zZ9wQ<8F7@Xi;9wDR&Z5KcS|ExFOd**)JUV(w)4rYxwP*uatf^c5zR@r3+5b!;6 zmHMw?Ei{=ffT|b~L@{M)ku5N5U$94yF(96OU_?ZeoZLt+FIMnM?nNk%y-+d7CAlq$ z!l*>6qXQx$l|-^yz2CeYgM^@Xj!1K$yR)DbWjpG@`JWUZqN}IRnl0lW!q#^kMR#7f z^TxNnvko`-db^LSZh_HwxXk5|j#od4^bj4zi#J{GHiU|nn!9@i2%}D6Sy57YZZtpyUoZUfL6qs5D~}6H(w#B zXn2zl6QUw4TAK)H)fIgl#)LK& zn+u+6j;zdqXbFM_6M>^7KR-S?Ay#%Y_vgOw#b|Wwc?7U0u)3lJvp!BNb~~KXhaq|i zaAv#n`-Tc^9>>nq`S9l1j%1QcBy0@rzIErBhr_|sCr?9DY+G_8BO_>%bQR&x+_{#% z?f^^>2~;HMWOoNYlt>yzUXabc8lh$OTaw}U^4XJX)56N-Xzr*gtZhBwsv&8Qit+_F zfl0{aiFO%0Dk96w{9F3Zs%ypo03ZNKL_t)3h5$M%%E^iiMmgc5vN$NkO+zAXcvtzI z-I|d5Ymn-K?EQY24RpO+s8<%tvR!mJKTs``0@vUNT7!@y|Q#@*UJta8`j{N z%#EOm2|EAN-g;~FF9BTDQl^%MrQ)>A)!n70Zqu0L)0@8M61SbKdUTo}tC-uPIGbEq ze>2s#^3<{~KSKFATiTFC>@zjy3|k=A1!tCS;WC> zM2G}nDUOR|tcMm?;CSisHw;G7HRPY-G;RwdV)#7&%}%Ah8Zl-*o; zGiI4NB6gBSaW{RzIxTY=s?Y)+ml;+%#|nKW=%}z#+zgFXV_>dSf$;BY>RZCjq0hEr z^|k{y(Pu1P?OL8pnZJ_8u#iO@#8sG$*);W_&x_h8=`?MW-vVv-2i)5hQ}Q_~&8!ou zGe&181gg;I5ca&S6oTi^o$X6i=MrYU@U^OyLS&K1{yD7{+l){|AZW|@iI=Pu>(hVz z&BKq5fz$h8b_o(>^`ewMxM#va*H(2F)t&2R=H0!2qM^||iFVsRY^4w^SvU&53&h0< znvfLy8wnvHM1-Vb-oTKM5C%kfqQaOcCJcy2#3Q1JFd)RlLzBReM^$1ali^TVmG}PZ zeXbxuf&{s~e(m*p1T1l~Q6Gh)XSAmt9Qm|rcaA%1XSITlE zSC0vb77nE4h_Zainnurk;OX1Hz3|c@pu|Lt*++*Y7wg`76C_BG@P38P+NZlC&$XMi z7v8qpt*uriqea&48Tx{}oP?aHVx`UYUKG3;nF+5hIW+QvdEhe@(O714Dx057oKem- z$t2SPWu_uhyNpE33N{b2I6Y=QINGB!f&>W?WGxcK@#N}iIj@sN)|5hXWeQ8FI8Cp1 zso`fnTIUH4O-C)G9hOrf@NZNyL7mM=&vNsSeH{}C>m15d(4W^E~k`<>%9~(s0W*v3L4wt{?z;Vu`VPeUPPV{C}6JIjsdg8zq zCKgtbr7ct~-oencN#GdrNxw?5ifD%k^_5S*vWC z_J1^JC5`h991td#}1S+OX$bino(MTjCNddI;K9d8Fni{cNuY&Rz@VT4fAE>|#EOi52&+KBg zE$FR5{L8pza=wV$A-1uB&R4Qx{AidKCa{_{8Fri6rkL4rPNijI;U zsQDJ&O*n*#GOIq#5MZHt;45_j$K{5eW(iUyS3sR}vLjrVTTT#**Fs!E3ow%6K6y}i*>x4Iu*D%DF8{SicWO!Jd7Gw1exy7uHRu_QOc;h;Vcs`k zk6mM|V^Un_RjX>tW~VgRFjN$|qp9!G=97nymIZrq%4zSz_6}->R`phGWBh2eMsTOE zktn6pv?sjSy3OR(@A{r!`?vpc4{bhabL@IEcr41!!I5N>F#LiXi2t-4VNsBNjm$(6 z+WDaSSd&cMKQrH|XNTTF4?|muh-2ILB5Mb(GO%)KiUNgBEQ5XQSY{@f60sq$$^)`0 zH@ghK67zs4%ZJ%=ls~m$qRdklmfM5Uih={=raY>l>TtY&tQ;QW;-0x| zi~QOhIxX#bq+9K_l_|3_-uv)Ga8VJEWMC~>Mo_F`$)=J`!I~r!DWTKMpwGFow)h;N z6PaF`YM3ppc7EVCEm^cfNpN8pLTuzzQI=VDf^3I?phj#`QH7KkG%Vwx_)W10nSEN) zyq4TW?&`Uqw4}c5aCSpgJ!=;zRd*XwvXaMx^k6i-c<0QgZx?jztVtaR zVD3U@*F>@j5VfF8hnH9^$brjsKt)+aOV2q=HgX1V7;J~@T~mQRm&v=Q-RLvaz!&~( zrLixWF{)zGNk=FJjLQWhGZjuOEc6-1eU+3X*O*KslwFy4=NxD@@y>Zbbj}ccMVweZ zYDU>5QCig}_s3)kH7@e@u-ORd@!I8|^E6BAN5ohNi2BPJ4MXtjn1lBzi_F`z9Gwe};-&OJ;?-ELoU~qzID5 zqZ^V<2_VWOy~<;*rOdd%iin^`#Z|C22@w&=@g)4NKhdsD1j-dwF4SA%#E_hbQ9n*l9kt4 z5!MIkTeZy!He}hoUL)I{O`TO6S!(v$d>413{2ug~x_5Lqdn2F}m0TRPGII3U8x38I z`Q7D!mV?_w8Dv!xhK|Qs+8R>~oluq*{FQZNsS`&w=d&I~$x%AJC=8Khrwp+6$5~s0 zTt~yKll}s#o1GcKms`4<0^}E_on6sBUZ8(GKAKFf0)o?1hQpKT^m3oasx<~2+GsSW zGsxm=ZvNZwz)fH>iZ9OKDF~gV@WX9Ly3BT%b8+Nx+{J0ENrVs?oVv_@fOI zbXIIbF5!6bc*yYK1sCG)(?e`)w^BAg;1~~r$dN|G|mp;%Rl1}D(&>%$7Aj+nh z3yko#v`Oo&*U?$sZ_^TYR5=s$?8z4OOlKgVs|8dN$ux}yiAi_})LKl10Ucz`Z_n!A z#jJbcHe6Ae4{q+2yH>J^L7)AX^m-y44VjZHC*LsWv+d#6EvIZI`Epp2S-0$fQxwNZ zT7=jPha)1%vW@q955tjJ1%impix++VxxeyPzw(u@Jb34=x?zz=&0J&IXY`pm!+6`$ z@sZ20(Uv=??Mso?m0Hk% z*TQ-z*;UD~Sp;D@kd>`G-NzK4qF>FX&Fh0cA3U@FbUM9%@1+M19|k2746TEcHRW8b z7khek_wwTL4!Nau^9G&nUNco7=BCbYzIc5@>8z3)F^#5{2Z+E56-cd!Ad=m<`_YR> zZd1EKRjv8UG#m8n^!L+9AUvjm|;C zN`e(!+!l4~8x^fOQ78`xv*~*C$Y_z;h1ulNoV+NKum{Ei_lAIHK5;Ggod^8M7SJZW zK0|%_hEAlwC;LxmM``6N?0zx$7vYwZU^boooSp?yGr& z57}n|*@XP^Fa6yn`b<@ZxF8$ThCDy?iA8UR7Omz)qU9|MLk4v~E=r(B~is2l@b=s5HpglT0<2dNuu`9SeCYGe zPP1rP!R`1HjS%Lh`Cf5 z(1BTcKzt7ZBBIgR>BLLr0Y5v(?kkT)yO>$B1C9CG35Fo{@mhE*tCoaNH=FCMEAL`1 zDjug-PnXilCg5wWy1W_McFjj@kiD7URytxgIsOrno*m41V^&#~uA;#H+;!5eXTh;# zSMIOPR5{|?Cd|c-8j&_MmnP$4=?@E7OLj@bM5z;ER^>rz3FT&{EVDLN%R2p- zAVGozIaKp$e=V7osARB3`&$e5h3}DT2??uTStps>X|jPeyLLp3}6A^GK!CtVOS3b(9=SrV=>7Z+K7&2vcO`FcB*wMX+^ z$Wf9_r|tsDLZhyk1`ysPf{Xg6_6aEY#MrmA15%oDh?!Lt8Et+Q8g(P!#U_XJL6otC*)%~gBJ z(ynv4@^7mwxMBg##pOke6%i3)gHuaNq)4Xe)#JiPO-(FSUN|QvwV)HugM#{52+Al{ z;NsoiCXy-xVWkT5XdssKvcjXQJoT!2G_%pTOiO509(K^T*9h5iq{TsJ7r>5}7bGQ9NYd^wQ^kE4MyRj%t$QN9(jLj$?V-lBCW%T z8Cp}$N@3&ORa2M-`QtzP=j*17){Xv0ovO>UU(Pq;-2BeVFSk||RTOlgrr~)Or|CG) zy;j**L>16nL!Vhy<_bVWz0l{wcAwGtA}%=Zr(AI?e^dt=(Df>D$yOM zm+14!t()b+>BW@|*|AoXZ{V}aPlm(ljzF>07G#-MX(ze!CX=mmU#{id8;p*HShAHT zlj*;1fmy#A+u}nX`Mx*5{gt{NRq_6FYXmQ4+gQey6x$nbd^-%nAVHQLx-wmQY#mq}ya-q>ojsJn(e_ogm!*m#O9~FDC^B-MXq3^=LeNFPwG=y)rHZ*WAb3`%O6K)XOoMIwhNP^ zll1Cx7P66V%(8|Mvy+^ViZqy}GH~qyK&i%Jz-%ib$b3zK8d*fIYoTyB0Y#Yo?B(;a zR)#JEBvzWocs%gDdPGEYb$Ll56>Yb*)+Pl6&svvZ!B-b`Sp3icXr-gA1VOJ96$;Z$ zt4t?XYd`?Nvvc|Vo`iBcRVg<~6qZoV4fY zvm-lxh4e> z@!6e^Ts(f8B#Xzl;^Eok@-d)@zX*`F<*dOM>B(vrI#Qj*~N_) zK5_BrO#+jo6+DV^UAczE*B;r8&Ni#gHi7b7XdoJK-$kf$9jQmNrQ0B|1+1r5^f@2@ zSC<`S-FxLD58rva#VISAPesM9tab!2KY=$z^o*S;Wb;$TynwQ-tT{YH-aBXkmb)@q z$ePWo*Uar%ViDbO{Fx9@d~_^OVkaRCvMX=M!7XrEo0WFox9?ga`|S7sNb`c%KKDh+ zUF$`rxs&iykRU}OEa*}Izd)PFJR6O*Z+k5$@N`Cq=*wjlKu!~T-54XCK4B^P|U{jyc`Fjn!> zbEaDGk)he!YhY}8THV;>-Se$6D{(yI+J1$xR>ZAKQ~$?T-}oC}`b|Tl*HiAk_(HHY zc2++4@+-mQUEOmmHoNhRM!>=Nw86It5+n!_(eUWGFqv#+MrAdsXpvzYY;e-)Hoyg4=OT)Ha3EretftVq<-@S{W^2*5X$vOU=0}uem1WA^1o|H^E2XF=4>^ ztWcLjJ-kCmh}0kZ+5eT05RZtD2xFssb1a*aqQLx9pwBr7?g>CfUs!qZ-m`F9a9xjs z(e(=S7#fasz$M9Zr;3OFPxJ_8M^S&)7Q)Wek$lHkc^oZP%1kZ8vl~Ai4J})JpcB2L z(*YJ5Gj0Xy7@L4pJc5-jlbHw%=d z85=NbtFwugOWMxl&ZuW@sACs;u0Y{p>reh2`3i2#(J9mz>X>+x9KHYih0hWa;vslM z`3Hme=mjE8JR%+w#>C?SeU8n)d4XIgR*s6mXDhYu?09F-pPux94X@s_K#qd@tBQa| z(I!}MAb10do#%iTgZ{zKe__%0u4#K1Lj@{vp9n4tT|}pqa4KJ~d~ALcc!Ad)n0ta` z5KNZ54te?2kFDXcH!+RpRPalRzkSf7ZG-H)oSr?u#0clkU-y2RQ#$TB!>z=Cd;WzF zw7%vBbT+F6s@kLjB6{hAp9&*6NRS}GhYZa=mmHro3;^gB-`E?z#08TET-pkYSfh$B zX6s)&dMhXHD8A>Lf+-@3s*q|#gc$0`V8;|u&d7lQA%Q+2B&^RYl8u4I)M3NTW$3g) zpVjcDamYy#Dd-V#Eh4+yTb`rSRTLf6a6j}|T~;9&Imk8FX}kUktkl!QoWItzAvu5c zs@RN(M5vgf;Vc%cS}3%ug`wPFXKkQZ^U;=COb7|o7(6tz8yFNTxSDuKJc7zW=OOVC z)G1+b_Tpzs9uGov_m%H2l(;SmR|XG7|M2IYTl;-IQiGwHNfnPwsvq3n*EhF=2Pdz^V@%q0kCFxPP?o{vgr ze!~)~*ZhCIR$cbxb-cWIvP7A(#IGxVx3KW}XvsCvJ0nnUGI`ccMp{>%JbKW214-=+ zNVSTI(ACA$KGi^#5F_9+LAKy4wEc4Xg%_SYdK6lyA1o4w6r({_GSy#QK55L=-Ra}) z6nyNSCWXTz1@9#4+5AwRP`i+d0__Ze8PtGeN(7V3NOBDb=po63M8GkTP2d`an*fxNKJT^i0R_0G? zisk&cZ8;0F?Fx7ckw(S3!Pb^vC3QOyvoG<$j+XwFMy-tE1IjN1k&Glw#<$YRW0Lg# zCqDn+t*@zQoTZn>NXYa05-uKnoAp>l<1D=(;>T})gYqoFq)4(t!^^C8!0I{zPRr*u zL!N-qQT?)b!EJHdWu9hcBJn3|UUFojNG4fe-09`B%B*5#b*LS*TUuW`qtWI|EV+A7 z1cNeJ$QIgJ$Fh+`abBDn%b19>ui{8~5*XIAFSb0~mWIi-7F}hrkoI|C>r33Sii*i% zHwBc)bj=Tl!vCDEw3SS;ig{MD=JHidcc*`MTHzfK5VcbdecLZ@y#9Kau6s(BZXtdA z>FMe9Z0$H1?qjtVo$95wodx@G42*SSNf zf<;7#RKC~?08p1t-XIc=j^2LrYb4Y3>LK#_07R)_b%4sIPp6mf8I@|#Pc|TRrQ*wF zYi^hjZD{V2Jy`Hy7z{e|tqRQJMv29+K@CI397aW2T6P_S=2XxsHoKfZ^SM7TJUOrK zA(>-=NJh-X!hF%%rR^tT;zRR(mrYM}U1rH#&}8p(RT8axhEqvQMASq=m*HcpS(RH+ zM>DbAp54@9A^+UZ|3dR1M>BbKDvpk9l6E&86gRt=bwr1YDI?g{edOfy?!))KwatEl zS{eKbcB7nXAzky02PiG+G>niSL6$NLv`(ktJzAHXpP#?;&O4zU)?fzgz6k-Vo|RMO z{^>YjCQgT>`cipsS>3PBH;sx_4z!9!>D9y10;Mc1Vt+Kr#M&4RlFHnAyW)|upuO52AK4;I<=fbO6af&>Y&1{L2& zYZvD@S^%!D6iZ!_t4YaKyKQ>eyPb%0NICZ~4fYBq$)FNRFDun!E-Ye}iF5c=3|w0% zYe_Bo=Bkq5Sh6cid$K`4Mar-%tF6R(GI8s?HYr`GvGp+!|UUjI*PIwNy^Sts8 z-}}~f3365${A-K}?_Qp{$HNlnvuDNaefK{``zK+?Ly%=q?Ssley zl@6NPW&Z!{z0I#B$CW2`&WVW3oA>M0d-dv7JysQ2{3a!eq(n6#Q-mafBw7tg&_Lbj zh76&FZpaXN&=^4wY#7F18irSc!7OGqi@~gBF@Rwh1MiFhyz?L6tykU|h5;`O%=B1d z)$`)!M?_{sWMpP!-pqT?4-e$6d-EecPDGse<;mZ<)8C)FyE7JRxC6MmyL)k$)6IaS z@~c%-(+hpsy?gQdfjJ2plxVt-C*kqq;l;~)S;ENY1WF!N@g8VgO*lRCz-D!@* zkZPHZ;#(hn_r)LnQ*oEPe^DlY2rr)J%F`+-p3`gXPnzphYH{>fb4xc$M5UW-O*G;g zUB&HQct~V#uNmxfKr6Pe&)CrdJG)!DJ9;%UHAOGyHxu?B-NJr{--kvdzZpjSBX)NV>5+qT}&tCi_ zi|m5ZmO3dv3@HUvNGSjTs_Lxb;2;0upBKpt1%L#U01BW?SE%yrf{SPv)2LR1{eNXFz_({GmhV2b6wD)<;hE6TA!Y@Q zFQK7Lfo*?erXpX)XNJTaXk&~Wf zDng`|=>m<``^`W7XTxSB47y#Y*Mkvgj4spZqi64a=Zl}!%>YF+-=NHP`C+*Mdqhr7 zeI+5Bq9muZ==q08o@fyRTey_Yi0Cd}++4B)l4HHzu&a0d@QG$Ba&8qwlAUg()Mm52 zKSNuNn(LXtU@%N~K}c?d8FtHz9aXe(&?VP=*c~0R;>ZTKTV#tDskS|)V*5%4M+_1` z{rqqLwfT+IsOMDUm(!ev2336t5->5ZsozvIcJJ6fmAvUOkDg;=R*Y>xVT4L}R5KWi z1p!HV*S;oU9YFczdpc`c1!|n$hw3~x2mudYQ6xxz1507tAtn;NDW&TK5tSXkd zBAtuB`oc{>GUuA}|6=uDXvE=mS<5z;S4Z}MtWOYP6BsostUnqrzp2P*&|2H=$((B3 zOcf*SK19-3u9WKvIPRNXI(GN3`j<1<65FrSc87oQul`N=%|((+d#^8d<(D!`>xEg` zbCz?#<@FPX9S%wkd3pWl-u;L1=h-+%23~IM7aM6~KP+qh8YNE8g#|z4-hd-lCThICYr$2Ykfi?OVY|lQec?-co zKnn-^-2AK&(5S7URp4_)D~t4A{=C-Uor}-a>qPoLHR>4=kTfl69D}kgw)LWiJ$3H? zahEj&KuT71M++P5v(;BYo#OBQ9Npfk^QNuQQO*EXdgu;@u=9!7*ZhW@GX5Se+wTKR z2z|A{fIIT5aszQ0_5@EzHKMT;xOs5P#Kc*(01}5(GZ+j8W9T-iAzRUmx+*_Q8_!#Q zqm#}=YF7}`TKqC9O^72YzLCbuzd9LR{ny1lo6I;V_x8BC^<0d{f`rGo>C|q9Oi~_` z{x0D*U@Q^a-Mu4iyPD+h5IWDZe0W~F0rwqki>c+c9#=H9u12LlS6VSXlqeFlMI zRh^DhC~xQz97RB`O*LZZ{x|NjmItc_+|lI`#P_KH07(^0G+I3<005{~+wu)FRkXRg zy%x^pky7m)YW+o!r7`>@I|d&aI<=gNs+;LvM$z9eTG%^PpkzAh%-!0S$If7exg3Z4` z(z)2BTO_Le>d*CWgi2%WB91~9Pmhm2{*>YbSTGpuPAmi2`rb(xlGm0d|aldv>i zscC9GA1)$;O}eWjv~V!dWQas#bJ0YR?2N-~$CRH@t-Wd?r!_Efz+u?-C<0M?c1Vqo z=ceehuE-($+>NJ@BAH4uYq-x7B6b}!2pUH`eaOYbQ#kfkxTevIS1F~0G5F5s0m}-t zl#(Ut1`o_&DTcwa(b1-pBw0`Iux6VJcC{Ic0Et=5#i78W_!~)$nu}Q@%GS}R!W{mctPY|7-@6D zGxc#HM6!It)8#VsZ=exyT05X2KV^`E)uMw&Jd^)j9CW^igv#++k|zSX;*?RWfRY-^ ztk%~yS*;@2xhz1X3SCA+H&r8Y=kGWnpF|6=G1Ow2eYz_MC@?3ltO6Z?`m^2{#@Omb z!V%hXSjB_low0jO7mkbT%fZ7CLt0X#N}Dc>pB_GYb(|HSWj;<2bqSdDCYK_)cR8*M z$aeR@wu?|*rjY8_bh96Sha>0brJeMUf zwsS7uFvY|lz_q!2cDNC#ZFSRpS1fFyUd<>iGXy)^x4j_D=*~CA;?sF`K4;(TtSfu2 z290yh!7JPb>5&IUXBtE2xoFEk2zEN#_!Eu13!X%U&G&?K`nZuY0rlf`sbYZB-ARd&7jR=fsTFwl=qVaP>WtpaTufx^^>)%NgiruL%S$nLvPm&J$$d!9JI`P+ zj)x!r;=lOSZ~h6l!%6Tmt|Ul$n3XKWH%Mf;MzcW>6IT2(Hu4stjW`zG*N2Pm^{}j* z%XZ2=qdfw8asqm)Jz=s+mTJ-*xXNJ6ade)W_-5Oqw{IMxk?k+v`rzB#7$>?9ZwBD#d60A^=vwSEdBd_?fm)PqA8N@78^;)N z)}kSZ>D{eWS(2c)LSDMwuzfIUxVU$5>;ZdLvlD~6W3uYhNJGm5Gfh$hgD-B?*{H3* zeh%8d@HMgoqi6_WDfbHNUb6G3XHn76NTxrq{5Oqodh*gG9p2D`u9-@Yr$qd|5qL*A zbR5mD_Qa{C&q=Z!I@xOM)z0nnZXp0&K6Nk~JiWaB#%F(gVtI_%lVh~ETaxYoV7tH0 z))(B)jI)9e^5XJ7w*%u`ru%b@&~$BvsjbI6fG z)+J^hJbD(rcDsuQY+eio?;#m%`Ex2#^@pg6ZKpc|3uQy95&;n9=7)d&ckZpSx!1Ks zW(ns@!D1B@{;Y4+n&OG)jaOfN-9e`?L(SmHka2Dh-Obgbq~ZCdHSpO*Q+k$Bmqv$` zSq|Z{?Ibm-brqS5A~g1Sw&Axp>UCRV!y9rOfBR7I*XUBtKlvUmZQhAtjxJdE2ds`ljZ%~_yx@{adXv@2IIG6g4u$v|&XS8S6 zZ#|w+2565BI_5=8*6X7*jLg!02KMF$@B1#hPEnGxxonN2vNdNAnZ?}swGY2H&uROu zcfWPo4*Guo;PUzulyU33337-O#NYAxeKUR^&?L(!VqdSICIV)55DLhZ#Pjbr zSGVOnH?U(L1vm_yuWZ*@Zo5uYAF^kcO_sdeUu6UUNVn_u zixi_wr0KH{KQy)<#Ulz7bU0qFGG2jB&ws*snEBD1LLt(?BQGu)r!K0&90mZSRGI%FsvmTMD!)fn=pL!_j)d}Jfw7P z3!=vb>g0F?5Ui)<#`Loy?JSD`bfDz%a0Bjfg+Zjb`w4whh&j~j3OXLWhsjlfA=hb? z?SoG~H9f#_;tU?#Jmhunv^Ni97JxU63`Tz_#T$DDgAu+tZ{IK<|aY8{e*t6 z61VPJh5N7`A@ub9<|0Kz^JEb}z0PJsGbF3-YYnAcP%^^>D zLtYZf51?c#vn!_tbUhlnmKnHp9k(5WV?Pzfi439M8yL2RhAXagsh5$c5EnKchm@3h z6QF20-Fr2AoUg+G{I7-Cf2FCqte-B8-vC3%@gcb!nT$Pym33BqJO$xfE9OypoiV?Qa5fGn=x`)UaN>e*BtygGyr$2O;Isd$d{i z+b55C9%C@r2myfNZA(w0kMvxB!u-Y)$BF^h^h-H|ca;p$-*BZL6t?hZG6fFz4NZJ*e_3>&pOP?Wux(2~#$ zxY3NK|B)zr_boiq&z_D*x9j$M4a^;yCX38ub$Xf`LZpp43X4r)`I2nreS@{9({hx$ zOSK;R79W4|WlY~ru*Nil5pPS-7fPOOCPv&|T(J!?S{++c8!9BxA8KiHDhFe=yS7ox z(Acw)BkxoGPnGQ(E(e)DaoRdFQ0u@qS!|q>i0x`UDK{i!GJj@&UH@F9!9hbGVT8*JQH-fONCoT^(aDGg3fw z*i}WXM{wR#DX+Ijft&@w(MX zr7{={1|#aiVyum^6ut`8;yB3F&bS5JLI#84& z)2&Q;2l&t4QS$JfZWl z4_E9ZA*Jfa0Kav83XmEBE%MiJFdg`i;+r4U1BBms=Ua1gV!r#`AGSNcluTLF_4a}- zlEGjw&U>pop-VmbLvddMK&)2Se!F+ZF|pomCm+8!`2eZdUZoV#+$qsh45wf)W;_3f z#y+F*s%t4Hg~3ENc443WCwc@r(91!4Z;Iqm+%gL0B2Swd3;J)hC}R?U2tpY88-WD0 z>-GOG^K6(^G^^*=90Tj~MRdO>jY9S+VdNo5N*sA`=R*nuuWaEo!*2chdv7~Bg7UlL zXze`U${y*ADfFxzcfi57M&hT`OI^YxU<$MbOaU{%6@UOp%=cc~?Sm+t+H9kpTc%*T zzJBzoK9}^qt4uPsEe3|E@ZLsuA#35OdZzs19dYEiQ;o`VO>*PX7(`ueO^hmELgth^pAX$XGZ(ZX3b zf{BhFQ9FEF`1F;R+jlYt(s>33xxb7c$SBo@r*4AhS zN86WgoO#A$occty$vjshe||!1%DwTzf&H}k@cTx~v5GxUu{0@3ovEFuZX zUC9`2Da66o!2t(gYZi*)?bI$sa+>MqZDu4xn)&<)lm!#XzE*hnt?YjRUW(aM}PFiD!Uj^=XqK9 z*bsuFeipU$lIijZqjO62`l{LK`#2xoq-Lqzf|R;b3)Vz7tOT^M#YeZwLt|UubGg2Iqr9zw&q#oxB)(Bd zrxwQ)OIry0-0Vbarpg@2=Hg@rM;FzF4!6UwoP>URAhaCgIzvo50X9m$zrMeGr=g_{ zlXVttASY=GjF`i^Yk0`veIJ!jPuY6A_Ey)IJ51qz-862-4yfRJ$^7e+oV9ax- z=h=zT6Vl9()0Pn~;4y7XQVHX77DzJsk+v3)T}SBkqdd^t2zj23_(sow=)v<+?S=ZM z&)&0kmHAIGiT}n^?&4?+?n=gF28IDYjT(a1D$3!R?iErJ7PCzCz-JV;IB4vy!qJRS zwgv@CBk=bK{Qh$eeMdzC>1)q4@3|F zx9||GJxb^(w&~6U5k+D! zk3mLTIV*hn{hxL$&p_V-JtcPU$?a#AZ=Nz34BkUB7?X}895b}7IFdvXGHmzPx4q^8 z=aog0)sAoDnlVnRhWPYe2qh?_BCVeB)s$%fQc0rV{ssQWD?l}r{6IuC`mr6ugweb|{gK%v|^ z-O%O90SdK>H0UXIO(%s+B>>=ogYL8ljI7rsQWbE_pBfQ+j$SAAb9@ZcDAP zq@Lyr_@(RyM$ObMx&+iDQ$pdz5Zg(HvmKlQ>y3(G?b&0Lw~80zNl!WKSunaVdAuXZLJ;g09m*{vEJRpyBN);`q-sNIALAbcVsXaJclp_VR!FpkZrU* zS$y!)E9K`u`d$}#-vJRiNNSjo@`RDNJq-S~&DK8Xt1i4(v!tgIT-$c zshGY|h`9E4f1lki27|#{eZ~wyo!;n2ujoNX>VZVU_SOmC_~8ABSG#_2J)otX;qL~{ z001BWNklKJ3pW<6}OReu8-2Y@#!xhbPz zN^PJp$mr_Vkc5O3P}*>wK?{XGC~08h&(cu-BY(>e~fD zws3H4Jy&IkwW;bXZ7fc9V1zoJSVg`fZT9%~TT!bbcR;zXRmH*@?e=&GkFb??gM}J}c_44Ma_p+TF|CYn#A$yN+ zd&6^GJF@lm`q87q=T)}hRfaK1C*pF7$~F)aNs@81HX7NgFB~ZJY}JN#t8hS(^sl6z zNdYB6Leg0K4DP~!NCLX!X#VP^DsF1VF_w9J~^O^}2x`;xzW|NXI3tamgpbBF5({R}AG#|@F0Lb>+X4%p2S_FsAqbwS2G~r;GCR!Jv z+suM{##K}tVQ#Y?)qE;2P=F=ubV}qhCR$!2N4sz*3lLF{3=EMDtoyi61(WQ8t&qWB zFc@d-S|E~$=bZRMfpFxy4DhfAx)XDa0r}l;|C{;Q;f(hI96Qf*<2g4F$rG&9aa3P= z7$-Wj_62D%gX8#y^fOXLKpR>dCcjLw$`IH^6&i&inc549jY>61Y7zzqJ)V9JVdoC2 zay6qZSLBJVDHI@n(t{wbnEZCJjyS7%ZEW=>wY!{Hap)Z_Av8p~hp~-hlZd`9GjDoz z`-~UdsZnT0#Kd-2iUZQHQ9JHBt&;szPN85+V=x#D#!>LCk3U)Zw%z~Jqo;2KpF6@5 z9~N_jG{wuUn{D>NH{UD&xxd)Q@#9DDM>{SquOnXV>iX8<4Q`ItCg+8P5O9o%&4SZ@ z&T6&o@dsf9bS(p+u*-1(<-~MFI#ZVdXz|fi?mluvOhY}tUoG&t%mgUYM%=V}E${@c zMqW?#Y>lHV$1+W4=l6A5qp2h7Iz`|4ZmQA5mfkl18C+Bx*MSjAkQ#Y$Ck!lnNcb}f zY5mMN1th6!=OYgztdrg8b{=Ua@Qu-XS1-4nHTrB+^U0n*duQ6|kilRumf~+R=Gv7Z zlv5`HqJD75JET}R5@?nO+m6?~klvXO$DvnLa^h-to6UZx?J@do^hlj??b&`9XKQb+ z#DkvHf@Ch5e!*z!{Fign81t`+Yo<2&j_S*cM=t|7vkPKfh6_jQ@W%Poy8`HNK;)Us zY^01{FvK_Nxdh7(7}&WvA59?XCG55X%+~k&4k4ixKn)!C+2)EZjlp0r7=aM-gdgVj7MKQy zTBXNPMF31z^?Z!`tB0{F^WnEYdjH!W_BiqO<;UYS@#kND@q^Dl3p_YU#)^&lm;dtL z4%^IBrm|Y^JO^&~SG~+>RPe^f<_~8VNwVd3I4AHx=(hq!X?e80KZKnlkt?cNnjAEm z8qnlrs7)5Tm6Aqs^2_KbGiqm{m4?o_51X7qm>zU|bC6ZRP=tz2#i0vFu3g0I>oUX` z<3@+L`9yV_x@?aw&}7UvSA#j9W3i?I_eDXLW(kgKHu@`k#5u%It{*=+a*HvJ>K4=k zqn^F`aoCZu-(%4y@$r42m!7`K2E<@67>pw=;L%;K`TKAf@Dv=UtVp(5kJGo<;h4t3 z4{mN`+cS*q-a_dnqr9k#MKS5LtdTLo7FedUEEiiNx6h)xrkVAQ`otZV@*1^hXe-rnAh=A5LqlG0uVYgzCGbS2M{b-fw#`)6gZ#zAxDh#~fEYcJJM3TyEJ^sMK#(!O& zkNGQ|ksuOEQA>!YHfyM*$RoRO@b>yDy=Xl9Bn(er7aD7Lit^2vTyN zy^42g9_x0uo7l;)wqgkJ-S*@I0f4&figBn>;W-RI#{Bw9oKt@tt)@wuv8~1HvR2NQ zyrIz4h=4{j@gQkR&4oy`K|oVG>5QEyX%N}gC~92~+LA+p^!I*{KuAFHkhyYQ=PrZz zyO!QT+v5SS1g#rOB+hf3_H2NFQisR^hgRLiLg7@CWxv}EE}qO*5o?sJBhATHXR=E? zwaj>RSndMVlj}tH1=HYzF?cL4Y}?sv)im2rUkEmD27|#kCH(kje_nq6^s_G`P4#nF zEV?=a<5rnMQko!&MD@E-2-Pdq9FX~eGGqndqqp1O%M>?lkD!*DawVF!>0FcWH z7rzR5I5*v2)lT{4fBAQZnM$kzc&R~@xIS&f}NY?ws7klht&1$W|T|E6+(3PZW#m;IJ7K8~eb` z?A;CqgE7*=$LZY}3$xik51!J{GnV0t1vgy2{u(VN=kZN=ah2}n%a~%sE-UZno7`3wi-2V z8fyeMXcREod?Zv`w?>vmFQU{IqYl*S7%~tGaaxD?74B0}Aeyuri z)4@Kg^dV6T*~+uq+LPp9|BYYwKe>q^yho|+g4oPe7#GZ_Ym$C4J5kwmF== zW_k7>$U9psi#?kUCG!C<(xs zFERhgK@(SD+EIckLv%L0hg33jJtRA7r+BVFj=YPAmKAol-};?z#=I7y&?u7e`Vo&^ zfPlN`4i?8UGZ+j8;}juuK?&>{%M%T=6$$y|`#%`99d2K`y?yC6Y&RFv6^Z*o-e}>; zGuluDzC@g6>yw%v zvzIC)Z(+qUBVaDOk<-v!lGAlmjp+HJHVV0acss-OuD_`XM{>FFu;|*?gq<6Hpi+c6 zN>rA{YMh%_Ua}WkXWK0^BlhZu{vM+d<8N!s)o#;n`(f01PSd-(Oh`b=u5Or%Yh6B% z_+%I-zgNE}f&HH5xDNJPBy~A>W|KG%HU?vfZu`H0m4bEUNuwv~oY!o*MXs{E|xtNA%P|sA4Ty91{=gcp;;^j`fYNxie zvYCzG_vV+B$eatVsaO~XVQWc9*?rOd^<`+Dy`wL@-U2*+{k6_lD=Hq!j2Fkh|HV(< z`|L;AMO_KDA8=Q z>v!X^oX|=u-)F{MhLJsPh^-s z4jLOgGC5_V(G&Y@GRwUMI!M~Jp^a|<08m!3&s9#dwg}nX&5b_G+doGg_?YXB%*9=q zdWOT%Dl&mEgUL=&qN3H&8a9sIyD60Q#_780aH)WY5dZDJ{&(N|v%f;Mf<|f(1|zqo z+ovCz--yZmFs$~gj*Y7j$*|GCe1DX6au^H-<1{AH==`!HQTqayLOjhLAJ?cu>!?&q zyp@nFem&1Vrc=AotXrEElc#``Y0%_p# ziIlGGnF(`Vkn%}MPfqBu2XshDw6$uID=*{tz2?Mf;z!G#On}~6*5A!Sfbv{K0FYVM z*?|qrch`I^tde7nl%f#P)fCx&+s76tUS2_GBRJeSE2~Z@(xiulSOmV^?TjRE-gpmC zP?GUV$LK$S-oE?|*O5qp+ZA?d84L!4ae_#*wK%o3b#{M%S_sNhTj)I!ZAT2GU1c%y z6pc;moFA2$t@l%U=24KO8(=UP^Vn{8yhu}ygBsDz`ZvO%4Xts+CR2gbdNC*JwdKITRt?{-x z35&yqSL4Mz)Vx0Qi1fztps;J)z33+}ZTDhZssCnb!DgovRWPnrh`DPfF8I+dFLlQE zGP#&v*{1WqkG_9Sy^lS6zQN64Fc^$s*j`*7>(;YP@fWZ<<1{O2ZEqkXzvu@5@Qc6v z)%U*t#o&#JZ>R9&l{eeY=a_>@9a<9UxmB5q9ks5r8?e|Ghc1LVUAt<;0@t$NJDV4NtyRE3VXLhKr>?hIS~cM)+C`7g%iGv@^h|P2r@c9egyBL!ARPIS#S}FB{hpRjjm; z!_Y=mYe@*}7e`UB)d(aiCb}-u0dA%njk8DvPk;fL?rf0Ob!}Fxw2NoNM!nHP-FBRf z`Z=(*@L4~9tuv%G>KO}_aDR0=F}b~HU!w{bb^g}MgRugLJ*0DY0q*_`JA)C)Z9?Bn zR$CkDvo^*q%*5w17z_rl0*t8Jk_gx7(>0;N*FB3@BpM<$PrFL9BZ$^LeCf&91M?73 zC}i6E3euTG+B{4#o6OVou_`A{rOLdj2DH&)pSy(RH*Us0d&n&clZ5tvgN?+4#ZQzL z+_4BCvJa<7+cg{65m7%L%;bci7Y0@4<=LS)y=)Q@S6Eym>9WTudi97yszRmzMj?lF zo7+ODTSCAwC(#3C%?5DU$6bv_m@;HQ-&tr*FUBdz3Mb1EErxtVW)H zl7O*-4wr7E$9+*QYki?+F<}KNU9tT$7z_qurc4LMbGMhtuq20NdT9l>1voo-5!>m> za=VPNeDLd!jI&*u$sGh;JF>|gTZN(Z1B8u|M$4C|07T9{qo_2UQ5wk%51*}C99aCf zjD1EM{cUJKQ=@7{0d#Kt@C`|uyMlIsiL>OzP>Dg#7xwT8gQs{EK=`8Vn51edm7Vu#Y6Fy*^milEU@r8*^FWLNtGvu(b(~co7_0AV!Hps64LGb@ zLL@b?WB5xji0V$=aXpI-+w%-s)$|+cSLja!m)irjsTFYFMs=A{au`mE2lkY z%yF_k^%b9z-OGlxW}A&Z^}nw59>n+2IENOA18VIHr`{kbp_fL_>{k7EWmn z)M@BuXtpgn+X#HF)rbJ_=Jk($@blj|g1*Vz#pf3ZdfG7{eg)5PnJX+535QOf*y|@k z01%0^)5p!;Jksn=Y9iuDq$=8MWVT+m+q>M{_UrSaI@%^n%(Y;hES`?wifK8BX5fVwa^V$daJhOF} z8H^dsjobo^T2mO|&m^V$kGPyG8)~Kkn{KX8_OLAgxIV2e!ee5f_A(oPO2=UBLl) z>M?S9pstYTk@|cQniV)&O?hfRvo$+PP&39dACmJFIOaD67z_sE+;RKlDf>#je1slr z=tM32?5#Iu+iara+f=W;{-(L9Ue>0BaT;KU`8Y^cdnA7U@~qZXrOm+JoO`})yNiGp zxvEAb#32D>MMHzEzDK3~_rN|UrX;k?<)pDjNtb_R9JJ8np~?JS0LqepUR^#0l%^0z zEh%D?n9l3|gFpRMmz8VY3mj3O@;0TAd$J1`MWihJHhekTk(B-8x z4pgM_;`Ta1X~&ic=%f?kh`7IaSk*MyWJzE$?eK2Z3*dP#5CU;yes z6~CNo`pySVSph1*RY5(c1p%ED0nxIOhprTv59G3qj5gFcif>5e;?97S?hJ*HTA(yi z{l78=k=Qh{5da{6=O(^+OeQVW?ootLmt)7J)~;{DKejYWDWpy7WSF3)rQvAh`NPk$8?l%L?iCxb~bH}7DIe|FZj11%E_O*W2 zeVjH&+TMG>gW?D?CWFCXFs5M&)Jh~743u0LS;k6@Ak3E}>F|q)ky1@)OQ@8p>p7ck zpD-fgv>A-pvkN!D*+R;N^6WV5tnlz>C>UF41PIpzmnC2Vpg`;Z6yOR#RcQuARs=^E zhf${KZ=_l%v@DVVYJY|PhT1-;bI>~bTnTQFB}}_6!C{l*FpdFRee;GA`qEq_Ib52x zV6eTkk(;PL1wT-Sh?X6@Q))b!7b-NJpcqTI1IKJ$|9yEJG8ha7!@WYw zrH8ZO{{Expx0lzC%uV1acwdP47ytRsThCvuH;d~;D6)x!`)rK)b>nF>wrA*3(=m)_ zzUu8S-99}<`?n?%Y!c92+quET2YEsD0ZvJZvwHB~hYar?rrK+^%O#l6TMTp;ubKDHQvi?JMs>k1a@E=| zYQ1V{u8FmX5rgK2;eCpcD00McOqnrvH;E?ea;fvk9bM<^n^)tPs(pdS!3Xr-?D1e@ zFc=KRoEesR-iyw*7fN~4-~RTub17AXEeg9sCoqZ`$4B3{5ZF%4W}K-g5IShNX6&=x zt>popYwEHaWd2iVc?DM}b|5yn;6^2~kpd)uDNqKu%DTj2H;M=VRE7_iw0s%EJB_x(2 zhHRy?%K-36$1aXnD0cQYNdfe*d4?b7L?VU2*l`;s5i0|6kk= zgEz(K`2NoPvN;>0SJgKt;O==r0lz4&aF;tF2XEw{gK_twUJ?`l&jAqb z0N_P+qdNe+tL~VWw757Pj=!rf@d)tZMX}Zw#m3@-Mnym?2AZGmsw%WMICNgl#&*w! zFR<1tAi~{Uvd(`0AOGHSA_}_u%B&qBytqR_ch6t6lnnt9?_S&mmCb)CLGb)Vj|#T< zkOc7jE~tf@#}LAc;@t9HuEV@YHren0!`}k{Df!|LhX0ngb9h%varf2pvHb0}CPg9c zo<9cwQtHJY{?I6!`r0R-^E+Q-AvOoT-_LQ8%FRCeZ)mfwq8Klpet1b6{(Ae){8 zQc3=z$N)-W8h{AyUI2=m5zbBe1>j*5{X)APR%#(A3L@JkPmBaeKnGopJGgres0%ui zuklF0oz68+Hq6H##jTPW*mz?JgM5kS2fEW?Vrrc}|Np)M03fVC^0>RR6rg##;wY4& zm524!= z-}vVDxP2HWx3@LZ%+X=FCrxoeYTtl26I@e;qsReRrWriwV_=%+8$2W)%>ROB{)`Mbq$!H*cRFy8K9!3eg=mZgnl`W$!eNynm)FgFTa;t?K*xm-U~TGQ=3F{P0IVsH?Hd z%#vin$bHvTMAzG)))Yi~HoWR|YEgm?&$ic!Pk;2ea|p(rGt9bUi#uARD@#;R*Z1=_ znF5)CpG4dUlOb7+k*g5nZ-$Yrf-w}|`sh2{2*=(PFc`;iEJiR_1b}q2o!^M7JM6AJ zqQCsrZ=gs5OubSs;w&E=is*3+S~b7+^$#6~5QJvN3t~^U`};g_8SD=*7y-5>0xYnp z0gYkDAN~q%7eqnwmb%Qv2aqWD#gPhd1t0+u!0hlx@;=ZO#SX<5C1DFDB^1OwZfZPHq0Fm8)EiVA7DjQ*5Dgq!BD~*8Gm}sP2{i8-hAHGB~IcNxG z{!pwkuQ$@tQ|s-;5e#NbjpOxh0{{=7yyWsFP@qu^>@bOnv~q8#q(o6~VBz%#ZH^6k z?~9H9cADL3v^U=Tt4(p=h!nXiRU;CqG;J|3UJn^j?H#+#9PD@Y@hc>U$1-?l#bEG& znpvrrP;8_pufDs`R>C7Zd#*|=Wg78(?G62dAiAzEU(k<7G&eJBnT^Lu$6QLfUU z(d>y(EYr%skFqK-N`eUzB)Y3p zg~_^)At_N%Xq!-*<*@I^SfGP~N4+(V83yCD7zbVm8Qr$=OI+4xVdSsB^Iq#ntnsr_ zWg%C-fAi$^w?CZIq|(2^g^)e&XZ<=&v&k)ODW2qU&4XWnWAulRD{h2E;5%RZS;sS| z5z(xFs6{%v=u~VRQ+`hk_L&Uvjf4KifrF;B(8?$%={!(c0;Yf|K(%FGApig%07*na zR06mW=`GL>a0Rpm+5n`08Q=;q14sbVBK$c6+T_RJ3b4Gmeiu~;aR>lHnE{G)cUuKM zSHaO(eAX&LvSOv{5*+bYx_Q0bUMGtk>u{{}8Gf1R;_f1qE#>KY>%g)hpz7d9eftNW z_3?BDHYRraUS?^!+l1~|TOS5=_fbhYw@AC|t1j1(3)_9OKYLpHVQ70%NMDcZ9Dzsu zZ2)MrgBc74Pvj?#{pEu*vt?U+6OzN!(Qz1br0r%jf`S&}ZZ2le+C6#p4iCVtkjbj( zAfwsU${E+J(hl-0>&>Ozc{0sLCF?V6{4~iHU?C?zkzZ_XcLZT zvd^t1q@P9RxjOqSs)%Ehx%e_Fzy!q_Fv;m@kpU)Ei1dMC#x3Bk2youy;v0w9=lsiq zD90+7;J^fE17cUGMIWwH1X)*6&j%T3Ro%T5*#H7Sxw)6K%((;y)&rt*Zn}kl#vYG* zPjwd)OO;q)_1{6WqdROC&2L&sUj4s>mcbDQBW8T0PLOnj9&C8&#>16Pl(*i2HXZ6@ zyPd1;G8WdjI6;Ah+?-#-G8hb=s2R((1sumD>=(pfy<@oq=BtP6jC5iF?0LPu{L!EM z_-B7Qw`py=zbQ8Gs_@fRwIj3jJ)STbyoj^?GrAaqoq$G>+71Bk18kS}ae2Bf0IhM* zr~nXX1(fEo$&>)4K&wJ1LjtHGu6awzEkFvmMRgyb3XTR`=f~vH&?^u-5PLWzC(PrZ zSAc1y!cj&*WBFMb($A&PGn%Og^=8p>62{E4*B;cpSlcbW+IpVveOsN)uORw zMnrTeRG^drg``1KZvg%J>}&6OlKzn=7Q3JFMwhchn)WxUj_uHF;h+B5pZ?}|zwL8+ z$D;C5$}JGRF}X<@3(aI^3P?Kh} zVRYCw4t{7fqHfZxOqa*e`7i^upv~r9_`s`4Z=iG;AKlPLu8u5qEehodN{keLl{AL{ zK%gX#fX1Wq$T-h=hXgkQgVAg3kb49jPad~@WyeuH#XgF+ zhyakRw&OPr0)UY6G%WCw?|v3oWt*@-9}iGySq;~_`)<3USe|E+X24*uAI|84%j=s3 z8Wp-puly$zEA5|tO1k8oq4*&3IB3#{U?Z%U3PxCJvCpCqcTPcUfi@_1DE5FEid~VS za0R#mSOKO$YoImY3P9zb56T{t<@y^3>N!`SrtIozk%zEQd@lKDBqJJHPfM5wiDONy z1LexzlDT$AxCb?tnS>H45;YS$JxE66k;tB){MrW>D~(}pXVZC+BEaXdd+eQ?F^W{4 zHCo(#mOKP98!nYEv!76%ecH_~s=sY{UQ+KPlJaz%Z^mqqW*ZVhNadK^+Xu9e19u(l zhBD@e^>)LJzyo2&A)Q1FckASmnAzL&7}XpSmHh2*e{9a}kqPwO#pO7o zp28UrmDDTs^p&smxaa4e|Ac2+#)NJF3bo?4I$K;nxLsh!S=lM;hvuIi?+j{v(YR(! zh@%vP7RE)YP-|I%m?~i`O zMwm0Wk8!cjt^Q||>TUA5&BF>Nnlh7^*63->09JXdG^9BtU21XUSqIZx09wCtE(s#E z;OmkvCiA}pKq#{+@VUuKlc;&x|Kfl6-%wQKvdY?HfDU2QYPCDI5jEZ{U$s3{Be%k` zA-;^=47m#6ts;33Y8zsu>V}zn86D>QCV?*3nazGNXs8{o7Dmcbk_3%f1UiIWyTYrR zs?bETRAg>dz7Fr!zD+8U#A99L2u)71tZSLAk3&4F*$jqmJ-i2Chl#oU{)^P&puwTqakzyv^A^gACa#ESSp-3gBKBG3`W^=Yy2^Q| z03?bXfS_bwu+O9^ei*FxfoMib3TY0^BbV*`J30SJs)(}=ZvRG{!6Ex@y1BOun?)=| zDo9hSpkV!j{mqs0UPg#HR_0TPM591so{kcD(;(9gmJ_@0t$J*`F!)OvHw9m}B~!L< z8SI%Gd8^A{&yT^=0fX&l<`5ja$LKeVG|SmtJ&3&@UhwwbA8+0%6*lM1j@o@wG-i^l zxakkWfZO0$Q_!-Yl8ItA^?Z^-sH3D3QR!+PV-vfW90m_?Kb!3N^IS@2pPQ%nqM=c2 zG!^MuWb`2dI@SJJi;^zoJ`PII2>_y4<=3xifY|@c80RWEp+KQDy1Wz;5hj^#W+psT z7F%05=bewUnexQUda37u`!a0hD?QpUM&lJh(AcpN@~nf$SoMZ0nG}tGpme|f@wa+j zq_|E9ecW@$s%0RYh=5*@vw$N%MPSU#HRR4_FcuGcUR~Z>G8iXM+>FDNNfmPwxZUpN z+0b8q@0&5_;jo>vLu1F-St3gBUUR(7ppY`*5y*(W`cJ&$VE<(KMmF_BAXjp?+A%Kr z*nj0_u0qi0T44*9_DFvSw_Y=u84g7*$B~Cc>y&Zvhb4F1)Bv%v)wRNFbTcV4UK@iS z72sTkvqnVLC_+*q*{s@6hfv|;WV=?I%vV>>WvEU%qdxqK^SeeE!fv* zFc=I5WBxQs#2pcibJ+>^X)x9c8B!$x@cP?dn@wFYRxcyggKLD!8g8L#Y=V5$wvZ_g z=9x_$3nM^fvbw%`dW1IQNOQ*2W7j3kVX&oI94=zDPj51+1^sHDqFvN8*jQ}qSxsV^ z9G`6o1F_WNkc~Lyf?38wl*1PaP1<2P-CWVuBD>7Bq_I^0pho%2=1m%t!1406jN}Qn zY7k?vD}|cWMrC?vc^U%l%$mh1l~i<%_9g7sI7syvaOxGoP;$i0=wOs`x;|wmd_mx# z>8TdWrA)~@F^s=q;4r0-Re!02UYz}~!WmqFF^{p?z6fGOle>NSP3|a9U;O+3{r{!W z7|(2D*D`*$d#LhzAADSX{^ei&I>0tDwnb?>E3?I9vTk*&YybY^AN@s}^;TuxZm-x> z87I23FQ^zen?~rKP^-({^X~3$v8LE$cw5^I8&^0)7K17AjDx97s|+x6$VI z+0{Q#SgxNZE!4gw)nKU2?1i+dVyLV3sj=z>6O9CuNy^}WgKKQpfdEv(<|sKItyM}F z*7)L9QSn;NLtS}eoY|$S3z`m7!G^0WEHK<^*Y29uW4Z%jr_nLyQV=$>tBpL?vd+Y2 zZ_uK&@Fm{D_x;uUBF0U7817nj5Gp+S%|KRwA2-vKyvH<^k z64OGQ?tx;GZh1aoFwW8Wn`1b6%n4S+3A;h>XRG*rpg@E*ayhUy!bSf*Vjaz5w+2m@ z6d5Un3jMN*4WP8d)CkX&Dj>=I?|fh%sWUp5PATan}1b9rTS#Q&P1Kk063 z9FGm=w;ya2cD{D6*Bv~QvQ+35${=jf8rE*)lcL66O&!za!~U_Z?l$j~CUe9c?iej5 zjupMiU_`=Ze~%l1!8q=!bCiTLj0Kp`$-^SSMuS>SRIl=_?_EdUQS%$+#~&8Q9~ZKr zs?mM(Fy0$Z{7COiaee#rgzSXP_~bkgJfcLnKb@dSQ(3YgdK5Eogu=ThZ>!!#h^X{| zM^+69>E;KWrxpeQT}gaYKT)zxFK*4k+C)@f9XJTO8(#JV?;pTVFz*uxw zq4-z2-x|L*uU`=8_HgD74ml1D>$g(L1Fk94c4vta8Ds;!3@xX6ZGDR7{v~z1;n%qp z^~-XQ7K1UZ=fiv)gTYwd)WuEEW4gb6<*hEQhX6nwqoo2!L;KxDl4iSm%P}qFffKDv zU7ia@by{%Yy*YDB8``SK526^1j`;OI`KSN<-~7Armx=uK{^B!f9|99I=#j9(u36y= zOpT&1=i<8|KvWvt6m!ld-+S_ILrc0D2VLel)UpnuM743>5#Idh^SnqXH0})N^E!R9 z&JL5fb!NAG?+J4^XLsTn$BGcW;wIH@eUR#huhONoLM_wWtp#p z*qxIN5%LZX8aomrTr4|m|y<#ccW1)yrX8s^iu;&PKoF5D%nhCMJF>H&K|^l%9g*3h9HR|xp?&C zlOO+s_>F9N8stjc<|1%iT^16F44VA0rRD(s;NQbxLaRlHR0ulqE4tDl>Rhw3h-@^4 zJ18j_XH{f46ae_Y{GWFy*V@&nL1aUv)B$jD`--#8qddkt>|Cbz_b4E#AUM<^{E`v2 zfM}7X#y4n-Q$AeQB_z@>D|T&TIG>DgML{V2kjLMM^X8NdD_ETOfF)p14~MdV}s~(=f-2DTRT}` zhwjGU9z+~uQ6uBw(*=5Zc#2zh?X^cHCKwC`W59Yo_SQhikxGj~a_^q7fnDA{?SAoQ z3L537TaMzv%%}5Sd+XhC>pIKVEFQn|29g}mfuzlENvEw3&lkgn4s)Pq=R$Bpon^@f zs?vs2#(vFZVSJAg08pe5UwjDz3Q3KF9pT=U8p%N;I5Dn3s-e+A)$y1IN{j4LQ{m8M zIvnLk(yr4ie7;_e>os`~+gx4rx4s^fs~`Xnso{d!vjUni&M1ZRc1;S~pJ}jb^Xd)g z(uOX|)_&jN65oPGnn+ZZ_HL^r%c5B9%dfr>a>Lbj$LR+bj0ZP26RxmJ@j@`_!R(|m z7^99y9%76$847eRBYpIm#+x)I<;~|e*OgoP?pCz-M24{`r?*gf3x`CX!$M!@nK8x}NUxnx=}~ zCkBJTSi%k{Cd(j`?A)4fCgmW(%Wim=#pyM*+6)PCJ-#h<+{w_=;v>{5i`Dp1-t!Y3 z^IMKLTktF}m&xelm{z2&D-l!hj0HIi2mm78k=g)&O!mPus*5f4%0N%&!TOaqtYoyc zp=x2>RHR#^iiSq=DUcvhk`+b;ZsRw`88rs~o5{NAa5JIWB z;l}!)bgbRlAZ@$1-~Rft{aozQR;7MOnE%;7Vj4#pSq47-?x&-#i4FUd>8f^3l`TVd z?@Xb;(|vJy|Ng^=+$JNASAOS_!8nbv%m`m)ixk}V%`1QR;Vso?VZ z(cABTJm(Uo*}m|GT2o75U{BeeOXX)t#XFF>t_#GvPYa%=R+~%qsZP++oUt0=i68uF z09~3A*mh*UaiQx|hwD3oTlY!NKuG2v0?C3bCNs5QaZQqdjW6@!X)H6<0;M7P^VD>= z(-zt0vfHJ}{R=f#mu*HFS6*~Y#-WwVCIkRdl2Yk1w+?z5?nmzjMpz_?e%SVEXKB*S zrggaF#J5!>*&4`jgfau_K_Zd^efouUiMh z$3Y(`W&t3I3z8B3++?(cY+jsHrWL06DQ|76B{?jp?V?ApSKzbftk$0bpFwEcF$x^? z9HAzok+ayMxHtvb^+69>?@z*to<=Pu8nN@>D^4LPeYG=!ue$^D9M}dH!bVyy)g<;YQ8hOFfOIf^(ofV5K5mC|}3hJNVnAp$oCQ zzHGEHc52V-$4@#JqssuY#EFN;#p^%WiWDfsoMbBi`1L>h8vwX^&_{_ubbm|oltrRX z507r2a3ipz%!oj{Fs2@ZIPo|Y=dD(36>H8m=lj^QyJl$IX(vz+4k3s<9Wa`f_NGE7 zN$7?8NV3u6%^>L5&blSGPWa?92F7%ArolLY?J8L*+x&p+|IBy}I}*3cTcJL!vDsZ6 zqjVyMpNuoJ9~Zgo%I^maj<{Bs8h0#>*k?m|gKT`X?z35Q6_Vw|ZsH_;{jMJCd$2E; zZZo&P>F#Ya8=**3ixLI8Tf$PZUM&n;q&)QO6*;1K53( zbOak~I-F9e&W?vxNRgz~H)sCBG`}y-V4RwpFIdx%!CN?9-r_bUv8A0nmoc}@hui(d zm=-M^(+1PT493v8#5Q^Iifo5eLtnwB5w)Rku2;jp*9>~k##|t9gj!=;T|CJNHGWx( zQx@qy|7R^4y80)$Ic^)fZPx~|jpc@mczN^EEL?XCo2WeVlT8ytq>1PH7q_>z$0&I5 zuz0R>plAhpN{CYUero=+RQYH-zC+`Q7SCTKVT1z(E31sK4HStQev#hT-!D6z>>(7> z2SE#Q?r!cXTc6<`kHLsLw;D6u<$Z3IId>R00k_5y>OQ!5wcSYl1<&Dk!Evh0BedbE zy59r6ee!JKM%%x;MbLv@HYZ*|P7=h%v$Va!@dyW`Gw8TZ=?c;9c(~%7Yj-i3WsQSI zN&yfk)ktU3bT*1e-ehfImMbH%G1o|5O=`CvWldfeKG!G}W@QaC>l=rQs>&!RYiS7$ zuHI2Es;Br%w(Gj3V3^BUyRb#4!c7REu7XW|>cHKq2nE}Yy-3Td%y9=UjWrLXSr$+! zIb=GjPCt5>6bbgCj(}Zgejaw>xsD75+je9K#fcZr%|tQIrHpOT@ki5Yvs>`+U(SmH z?kGQOVLI&JAKn%1u&4T?|LhAM%tu*(giQRq2BtgP?>Y}E4 z>t*{b0LWF^#~zG}S56u!8OMXwA0FU{3P0cf;!D@9`E7N^8G>c<7>vd3H0HSbnXCu&fIP3pZ^LG1C&bfi?H8hXyYfJ*ltfUJF4{62>P;Rh z`?HjSZnpOZ*Y(ub`y(@G=-zu|6WZI(~4k>2n3{3&*4_-rr(L1 z-4#2uQR=9Y^oVy4KAi?!XUgu5LNAJ?8*n3f8oSg8&uN@4U>YGINvJb#1jqLtTWthE zWAR^-1qUrk>Up()R2)f;#DjV~wQI0YXf3QXXe2@jb>-YJ?_zg-*(YchgYQxjmlib- zjeQ0zkF+wjs6@B;Ay;FcR_ks5I!OE(uClGHn;R)U- z-su@HOFVtQzgTXcbv@(FcfNTJbJaxGoc(L3BordG=dtu&qj&otD(?j`UZ-@`w4GbW zQODM{K*%l9f&>$_-(g4VOx#JwFtk07K>^OSR5^wGB8zkW^blg~Y2#+GX@HW6&WR(a^{QXDv>)47 z#p2@T+U|*c@c#T};O!#38U};GI4ghYtS4oe24+#?rHgTT+oVqBjbjB+kNOZO>cw&S zK@d1>!dFQ)js@27?5+3bF*F#A;WmTEEzkXjuZ=$t3~t8r7_R`iza$=vj7auRgAE?z zmC6>pj0XZ*x)Tq=>fVjJNM3H$?f*2Qn9XZ8!!nRWx-yPI@54)zO*X<{u{(3^&x5D6 z0SXM5pUf`{zb@Tv%qpP0jjPxU>SHGM-ovh!%I|JyhS&;LUf-6cuk06;-JDy?EgBHX z6b}yjy(7*qA}=0-UwB;5K8K(GFct{nNoJXl4LMO2O7}A+UT!e#$SA=z?j2FQk=~4I zCz+f;FX|G#4{x8&-ak~wFy?uhiG}>Br0oH1ZsxR z+I2PtE+XiNk9KKUpuKFyi8anQNXNr>P|o4jk~`L7u{$X>W1pdKk_(jtWC3WuJ9OlZy0dlbfMa)?E~l2denuXVRiYi?Y{kjyWPJM zp&me5ldb62<3`we*eSKc%zv$RPWD`5MXM5uRM|^@h#d}8*yvI02!jtNxJ%rjU=N@k zl19;d*s#C6r;-E!()Fh6T=d4f@72C}aC-}k(R>ANgJnZ{)5ptX#Z9DHJDWRWGS?O- zJZ2Q^F0S-{UR*w4BRJ~z=D4>D+{uix1AO-Oh&sPQjrC;Z(PJZ2`J?ZAcgWSKLE2Wl zvvbLtMF8D*KKfpoPWZ5ACh2LMLBGEH8=>fBY;1w886r8!FZ z@u;Byw(oNeng$TrU5_*$SEE%}A0u=PNZG2G)+3SyH!!<^}b$nlcw*B(GR0 zwN8g{7RJA*T_bz{;L6wXgdvtVs5hN&%OC}M+Fghm4CsiJ)lY8RrMD_TRhz;-jMJSwN3!-~)VK50M*(H-ToDpUKr2};yV+e0D8P`%ll=}J z_mP{s8BYhBiwEVDeM~>6+a1yC>Nu@ks4Q9U$E;5K5GYi_&|Fb^W&#q{(}W}cLd^(MS-TlTi^I>Wcw#G z<^`MoqyxoVWoGy7>QSZvdsO!1rtp1*FSAPL3$C}9y=EI4P_I+8lZ7avObfe_D3u*$ z;7mMtkE(!-ZVw?`je1rp2NUtmQ=<2Kt3u8Eh1ZeHApgAC-vr#tWyWN;uFn2*q&fyD zl6A_QfmK!pY}}}I!luAFV$BJOl79qR1UGtb=&DPh<3{Jsn44z;FOKmV1(?X~PMC3`uVS|f9 z?`6)lU&1QsjWu+nPB-f(VlAo4bc@`iv1YU22PezzOj9|~SwJqMlXh88n^m7?7@}j> z7x#Gv#wzDbHU++4eYDzqEEbP+E@RHKN5|7E(x53TfsXGdw4z39r2DJE_wA|d*Uo5{ z>HARQ>s=jcrTmD12oS|8^^~g~vD+#fq2ED@=9eAR6&iXSk)@Bq_ikD0Y|>6dc@e?A zx+s(=M6sk6ZIxZL$x@XMAqWq54^2TCX^edK$3N^hveGOA27@ue$Ye&I!C=H%=y^Ul z?p``P%FKEs0-(zFjWxo`BisIR)ef`;O83aUJ`;8Tk9X^HFH zQ7sK;J1U1@v%fr28Th4vg?cZGsEUG?kpIBy50_~U3o&*2hse2`GQ-ZL1CS^CX9 zCoo#~Bo-8Ww1ZGaX^V_5Gp!37^&Gxb(fA=nwd6393UuB+c{Y<_`|-y=Xny(DTkrR~ zTDrN=_L+=jPZq~mXpS$wJWz1lHkBO>DqZgkc>%A!|A-rk7)(ryronV}^5Egi(|4sz z)}5+(iZKB=vkP`ralsyL*!Vdxj7CVe`^NppXW5z|&$(c<3}0)Kb=ISw4eFWD`77GX zkT*`N4hG`rQ&bsaKIK+%aE(mrAIB@RP8JKP2Hgd*C4|4aDMe^xMijjI>g(JH<00E! zCF=`r2L^+|I7?VIHsAa57w&D3l_0MDlK|lI_H`7AHwapPxiaJrdcW^E;%+l|v$u%Y z2N~pN4{c#xltcK{czqjh1b}R9#7>e>XYfp&Hze(Y?f5-{6d=JI^31HJ7`wpU@5zXD zeV{mY%g~Zd^axNn13u-@!y}Az`vGXPA9NmY7$f;(_--Ss^#NGyCuE@uG^wzM%E7LY zvQoxj44pSny1V(1nJlqjjdOaGFuY)$OwS&9?YR*)N()gXqZ~iU%&XKIsFxj7HtcX% z#~!iUjIXta^Xu&0F&GR6V~%?{UY|N(wcbYEU7V4fxwm$u%Cm5A#I4F3p0H?gP|u$2 z!q{rjc+}Hp4RR|v_R*MTS)LP~P)2?LBjZKT6Uk*Y?Fh3C#XQ(TK;tZ%ksScWz*#N{ z@Btce(6)t-ENLExKY$Ol@S7*E8K-GarYT7~j1=rtW{k4mDdmPO7bzo)$$e$2%O6)4 zB(!AM!%&rEq@%nf)ZJw4sRf0%zS#eEOGBEj-gxuf@Z)O%)cbq)d8%YE7!1aIo!KRp z`ttIo+fG-=*|hih=yUm5-9Q}-{TOQU$fUCRmq;FNnq+3@pbrC~l2gR_OD*G!RJOu5 zJJalT&@uYtA_vk5k>;D-GTw)?PSl5v2wqJln>416+dX;^==^+=tA`Wcv7^c&6W=H1 zTs2b;9)GO0t+2&QY5i6-|5=sV1NNZNEy5ZUE~L=<>%bjmjsbUFY-zI}p3of*cAeuJ0X_udl~f``u)&VY^>#lUAQX!G^(@v45}L z|MutST6y*b88h8BwEI#gwZr6*IKeil#yk50kmc&ac6#d{MLHPTgQJa5yO6jJ9CNga zGd8V`JIoVrD_qL0XV?*9#^T^oi&9j{rrZHf@3BX`R^Wk2x;~qQn_ZDvBVdXM?Lq3F z+QAy;j7zd8>|EM(Yk6jwY>@LIq32-P4Ij}=y-r83NQiUK5xxSp9YD)6)UL#0zrbE3*>3}%t~NXY z@njp}^brToVrdM(nyW|{S5VtsDna&~gn`v@-@Ri0G0uqe6U~jOn)`t-XkHOh>K7n?BLKbR8U8ctTXmxH9XG_jNGr+_bi|PwhO1s)FD$yFTWv>zx&b z{l(SD1*TIO+Wf$8Sey2oJz|7N*BpbUpFpzPjgZ{M8%=+#{pBjuys)Hf_hwIo_nGq- zDZogV7pWUV?TT+)}4%Yqf@wVtb-Bw5x1e$urSSwPGDJ`T)v98cP zDFZ+-Ll76A79i+=Ob?50R2pcxDXgTY`7+iwSwxgv}mCNroRO_sU%L)D<6DUXj1 z|H~t(sjWzLH?|>=8n_edkxhQtTtMfoIKLiviiFIp%FvLGiCMfyFTL!3WP)ABK?K3N z=&E;pg`uZ1fRQ4Fi%E=@nbdS4BXqoS&b4;Ii=%rWqiOjeLC}rFePuCxT=Pg>*Ihi21TwpCySabQ>CaI2Xx8!ywYN?+kKt?#O`Um0|Gr$4+dzXC-8(NYmGEQLibNxnL??UZ*&|~o$qH$#$=%MO(_Qp46;|QJi#KQCHv7yHoud;1m zSbgvGiLL6)UQq=+-Z+hQJhs;N>cNx1Ypt^VBo!R@;;Z$p-}OnTc~p6Ro9hwQWt^|P zRgZ;Lw6)cEi#57G3^Cwg3}6o$u6Z%4iEQ-BY$4kiZ7s83H@yyjsStBA9dT%f2g`K- z$)EqMLrs*NctH&$hoAO^?V#les%k#Ad~dE6Y?1J8W$AspAjsHTO&!w!5Bep6vdycGyMO!Z`2In4Z2tXTqHk&+j{dHFg6D-E_ z8*z9tLzI_>+4lQ-bJ245vv?BVuOrQWcuJKGRy~eWqe()Zae?N9<5m#QogWcu)!K$~ zwRJwRt^%Ub@KT!g+$!18)>R_in1!T{27v89+2gyl!z{&a)oYHoI{3qZLvF1LQ+Uoh z(AEI~zm#;JxSUih1+^=-aq$rs-RC>bb6@A)KNdD1cIvs@4w>?km&;H(KRE$ev>-bT5tGQ}T9`n~UnF0W?RpyX@78 z494i#-<#3uNyXzmhg9^yS#d6~JtM*3b47;=BJXAy`oehL&1h#pb$_E{1J=Wq zF;`vh_u52pk@|ZfXo`NIqX61PToOPz?e0<@Ftsc+$d&mjOcyZ+BQV*ohAgNS#f(zu zEN9U^WE>D@*>l#tF7Ywys3L6lqY0sJM0xMUvZV#A$7>Ku1sy*$yQXn^vhF~vhcf02 z#%V2@cya$BHv?nQxVX4l`Y_~9TrO^(y!!vQcl9um9M`$ttE%ql`P zj-*Iaq(nh72?+urfC42*kRlsS3|NUW!-)bX3Jk*#48d?gQE;bx+Ss&(3>T+|Be<*Z=R=Uw?11Cn8h}ZK^^!B37Ru%?`UK)j6#(IX;f$*${ESw_sJd6*-prc`7*Je zk3ys!hxQ&{h3Wko& zBLPhBM^~@i#8OE~HzjLfy%Eq-&AVkc&abchi>;IgP&o2zMy4n;9Z3k4JiELae~PNp znk`$^CaiKor&QzM5UCk7iMe~&Z+!mwXS|BE%-@y<8sP71H&%lncNkYwLZF zod7SilJnX{KZLFGCXI{Oel@BNWbW+`tw>N8Zp>D+!ee1$4MWFri#qREtw@=>L}`LX zS7BbHtbicV3e%(lHe3rv{3P!msDgmsWni2UMyhrXr3trGZW6N&#cBkWv%Iqln>^o( zS1jUV=7=wYjnY!Md4CB*k_v`> z^!+&pNMo``nwUm<##)sAC9y@Pi`p(K2eV~VArFg-ca;> zfZA6iXA~FQqu647Z-f^n3>L7*T=tPKm9Tk$$Yc^uBI5bOdl+w*S}!ha?;WOKT77$2 zOpEgD%Z8wr7OA!Y(dtx`;&X{V?&f)ek=*L?!mdk0b0b-2L(V!T_SteSOvY|%N87si zq{Iho)Ax~z5Oh(b-Cx&Okq<~+W>r03KY4ZEs~mt3Lfe`!)nwA^VL#Q=N_*|CcX)wg zW2A|VZK{12x%aZMrA+K8vK!Kq-H`UL(i3#9G3C~op@Bg|CIkx5pZ(F#e)f<5T4Bwl zMhE7E)51j2=eQ7u5TG)9mI%Gj3iI;^tE*Q6P&Mi8umg}fyL!0I`G<||Fp~wK5JKsE zx;aECgg6M#blMwrIG#MGy!S2l-|hLJv`cgc`5WkoH2D`)@5gExfH1+E4e>#!*BJx85&d^zHVboURYQg5?d*x*fK2S{Say z<^7A$jkERqFq1vFq7av_zWmAOpIUV?47^U1v_cdP(7*NG*z5*s7t>Bk4u_~q^K!$s zua#}D%Rg(9uuawe=I6iI)2WS(t$$})9-o)X6!8s5_Zg`xEuGncqygv6PqXz6MT-`H z_S0Y0II=R}Y3(B2=J^M70Dum1pYzrI!09VmIe_+AAx^J0j!4;@hr~hlFl@aifrB>C z`Q^*W{b(=m)bA{nG4h|vxdy=F-QpnX?OF;(Y3}XYOOJe>I_DvBC$;>!&{Jj?JPR}go)rj z+oavJg{*=dO~&*9UrTJ|B_zV_(JQ6d*?N8a^9 zxN26sZ1IS3Rx34^h_JSyXRtM(l?O~qAs}Bp^rWJl+kKf1q`+=8z-XC_K}Uo*{9Zjw z?t|o9voo&#hZCu|5>8<9>4VxF!e;Z;?pFOBpG5|ELp^+j-!U8P_!=hE3VYnJtLk0mQ~>j-f3xXATYrO8c_#Ok7=4Y*n15K%OMGM4$DiSqXBJy1=%6Z0VaD|#8Bz>%#TrIxkE+T{Y)GPd0exxjlM>! zp+gM%r==5*nv2zFsvuX_Hx^98Hrfem4|h$e*mtP&Xr1?!nI3hX=~L~^q!DB~!>;-> zIN}@S8)p9P<$ei0*0Uo3?L25l3a{`sPF0E!L^iNXSi|S8x~Op*L$+MTqDsFW+Blb3 zYNea(bP*4w9pxw&^-S0x=Advu$C;n6<3W}eXTcilQ#uk3ZsC6Hh;sy~>p?T7@Ei|j z#k|+3ElJa;b&oDbbF}++S~fN|wqv&+|M)Ms5+-FT%efNR25e@NH8+}bi1ILH@W{@} zAuOx>(uSBryk?9#EmU3x%;Sx;4o>!8-Z&M6I7?dS#W}Q&zhFE{^=Y9SYc<;L6unH?{+I0#1nLJaU<4i3C z=ulH>!IKygy}Z0MzXown*j1Nlqv~AgVv^HdSX1}{JoPODPX{fX7^*A6#Xw8Q+mY0e zc{XCUtJ7{V8#c0Aed;tR4Bsqfm}fVSADh$b4i^B#rckTPT`&D?Y;4D{r8^P(-uM1w z+x??was+44j!1Tqo8vb0iGRU;((T=gfxO$P)Ub#?m7jE zLdGD45Y@>lUNba`%{`6n*am+WI4h;fx}I(-l_yU%X{W1`kzQG>&W~+r^!h7qB+&I}GQ3)_S5JHO7 z1^C|ZB8%MM)zSS59U*lwQ-!-4%30NL{!fXyU0q(dzec3L17aXD*XCD0Bx)7!L7=1$ zC~r$fhMuh!(MYlF;^D)@K47^t4A?LJ{%*AyR_MMAv7Wkbs@1X;GsXi!3cE*=O_9#q}1l_LyjU(f@*JS0NH zq~@T*^bt`?c(qqebU(<(b`(~>x<0NGLLLs?Hk&Q?Jm;U%=8bzG*8@=%Syl|Y8AqTr zCdxXa8=xJwsbJqH-~5pqIcVV$qJ^itER9q``eWYK3o~2Uxs1b<+K`sxK}YMkxr1(+ zC_10sC?$p21n&^!EQkn0$>fa#vXvV{Lxp2Y3qZqGkW85?wW<+enFS?i;*cdsG?SAi zN)A-sL^N+g2qCUtf32f{h#fN%+CBq~$UB-WxidIrG`tjgc@X0JKm7dXzxXR5#Om@q zQYVdDLhTEemp?@X%3T3yAy)S*g0swXI{$1tUpMgdFt56YsXWW(^Zh5!y^f8IjqNlJ zs3GwU5RkcSXb9;(`~Cw>?GBPXjV{pa>OMz&63V~}o~fP#LC(@7ohhf8J|j@ zA~8HI8Dc)wvrWaM5CSmIX6Mb|mDw^9IB9{f(C0?1EVQv{uw!8=L4#g+FP{m|k%kmP z$ZSPL=*_@jXTzVOLG~WPsZ!4MR7r|BTUA1F(&HjFm48RQ?~NYx5w!>e?jUOu4^8Ts z+@~Z*ik!fn){8;#7X_Ecn9hDZ7*}8{wIYZ<<_}Am?`fUNvP`hCnRByJx|s3#l#T6< z*-!rbufO{B&$u4g4zjWsAJ98~v2XAi2d|Xx%Wzgk-|g5jh&BS!bV{PVSBa%At75X6n(AA@yP;27un3q;uHqW-6+=&)`DR zcFsq5miz44GhT$*4BOm3fByX0GqKr8>?)se6|=D&#QyU?{_TSgzMix@k}P}D+io7c z&Xo{GNz4^x6C|eyxPAVA&6V5d&x|9AaQQE&jRPtO0pj-eb%0H|nu*(Iw&QgW0$%*? ze-qAZ8zZZm`s=Mx5R7gHHv-TIys4uqBQXO$_g7)#mcYf$tyilZD?4|^V?k$5YQtIo z-}cY-`Tf1`dS48k*7|lCFb1#q{j=Y0xmn*$Ki}+cC~a;#D}S>|%1>f2o*AaFC~P)V zqqi5q87ZOMN|g<0uT&yD05v&mrq?c;LGggSEdgVv1a=teX4$C_y|Ds-6k-E%R$gD9 zzq&lXt^?c>_c~7_%CDPSAvR)D=J^)X%t+`(m0OTv^P=uT8zIEA-~Nvf@ZbOS?{y#B zcttbH+aSv*>9Uu7vgs9@O^Yqw-qzqIlpjEAx?kN^F=vay+X4rw^VVA{O>cn+V&na^ z5n>}ytG1CTd;a`|6Ei4TeJ(plE&8E~Tx>Q@tvHez5nEl}ulKw!h@MgwWYgXKTbB2W zTPqu(8guIQ_LdwRRt#XxRzwTNmm3G3-fY_NW$FpUWK_zkmdMOT36zKQUcf`Z=jWDZ zh!?;6T|G(L&D3;nwxcke7e|)kDU%48;K0TESy39z zlG28b|D=e`mjfeb526yW0asS*3>E)-#82 z(v{4%<3OXL_4JCG;JUDbY*WaN7qC>pnRgM=+pE&%}bHLr^;-&d0y>0GE`F zjqL>O@}+C8gvpxJdvgU52XGrlf6Cx2d%gi77eWc48@w3Qa&i7x2mrN=`X>a6+U)x_ zB%K*T0@*oq-rJ*o8ygz~H=gCi;vnhnrZP?!jy$H;S$H*r)k*((qLc7!hPme~!S}WjXpl2+(^&7>TF)86^lb<#55H0d1EQ0k`YbQR-!E(7iP|w7@r?~I7I6J@GbBapkhnOzl2$u}ckDpr*3a2*f$JO5e zYS)Lxt8by|vi*F36hg@SEWlR~0e8(2i8I(@I)WHnSf3*BU*4ZGhpjLL#cc`V%vZ|@*U;AC#sF?r&6VXXTK~&-!v-P4(J*$b>Zsu!OhomkC zXw^68O_pSyxtYWyZgrWHd}ZkkuC6ZU7xyA}RVnB+cfn0z4TLvaEIOMw_}HUuecijQ zsqk)lv9YnSv9aA@d;Q5@dXY{N||y?rEq_Yc23#f1T?ifeq zCjgEu59V$SqcIFC8rrFtzbNA;u$a*x+l!WZTjX^#NAS&$s+#qTz*YB(mDKq4)u(S; z*Dd@s@El?Q-(@_)>1@56oprlxabVxdon4@{WyyDr>vh0Zofnj}V!*a~i}SPA@uNLQ zw6*8l8&54kCOarsZFPp&@5R{}af_FSj^1J>QD@2I1blh@)SnTJ zVCZeY;x3>?IMMKg>^#|mXmf<7bb$B1`Vk@K3m_;Qb9T1sw~jO%TL(R?u*H#=<$+@K z2)mnO^uqEis^;z2Vzm}R0J(OTdfc;7zySxFZh&L8tA(bIzD&cs8~Zn=~eshXdp-06?G6{BU&JiAl1j zV|A!?&clCbey#1go)vexTFe~|CWHjKx>}uRY99q26PZXC2zE2MNh{}1_w@(}D?|s% zBjro4KMDOR^942!FHP370SkWo>8Ar>OWl708d*aTJQC#>O`O9x8BHqM$vcXT#DM9rqcTA3b(uqRK`oX2d@D z${+S$4)(e9uuWvtoCd8Ih6#Ltdw#l%Oq7gCXr^A%rN->MbiOD?BKHnHe6M z7rsld7-|&`M<}C>p>%i{P~iYAgn0A^pMWg7sv7$0L4&Nz5^tJL-)^Je1_-?)u`^~k z%7dU=zj&YRBW*!uRTa5c$<|t5+*=1dtt6LS&x;;I(9yMs#vcOQuO59Nl1fX67DCVG z@u;je&$1qs+_2;0ca{9WCt(XKtJzf@z=4~UN0E*=7zEEDAp`=G4sAO1?RwEUc%R0`*4tEoziEjAANIYX zl+=MWe1@$xcW~NFAbrEJl;ln{2X%}sF+$^y=bOz{ zqX%t8s23MTo*}G$Rx_!s>viPi_4fTXbMtBE2bC~qT97q14WfPU&|gyACS6;c^v&i3nBc9wiy3$$HC+HM}3(t%c`GRc>}_01~J z?u~YALI@euJGQ(^b`9IU?T!x6i~$n*0Qa8(s~@`G2hxBAOx7pvW1ulI&+Bl?10ojA>bh)4r!cWM3>Mr?+2#WL3yuy zr)L`juLLmxKx#{XJJGUizUOkCUmlGB6x>}p`5k?z&+F!(sc*!o22_vK0ga0dTqVQz zLJcwdH%cSU6lLcoP9#L4K?)&26;vcLfO>bbo-JN(XGK2!@GGIA+x{zp*b(Xk4TSXJ z;*pd=cF&E5D2I35g1^Pn58n+H=Z8Q3W24mJg7^Sv%B(QJpCR-MRyIUa71?SrFxp6; ziaaf7bTj<^fTiQau1As)4n9$zX)7k8kW#R*@z#xvZJa*OQz{!RwSK`3sC8ebVAQ*!&K&Zs<1d> zN-B-aND^bCDKc|#C$=6HQo;5+yggaP!fo{ z@;xY3mdzHt|3CS&8&~6j`}qzeo~PE?Lis@|B-GWSgR#|QVVM=qT}E=Gum*ZQLLd+x zsqLBLjj++v&~|{BDQDIN5JF_j7J`Hx{${&%r7OV)A0DLx%L;dn3mn&1Tv=yRXaX^o zoWqqyI(tcYCEBhIMU)8+Zh6h?7F`U8gz83yPz#hfN!1MTA@wlGt{3xI`|fVGq-o}< zv$V9Jb}-wttnF-0Z$cs}(rj#OY(dLr4DYh-;V`nNefHJ$L$2+uY-^oXEO%Y`o`VV>|lYzwE=GVv-KqM3)7mzWN6V z2qLF|84X#po1qr#Kmt&_j+QvAdX^Dl+d?aty}xSR2?_&=ZX&dt z2SQap5S4fHa|lVL0H_JhVB|kcM2NHFjbB0QBpfpYiI%9JL_v~j8`a=k5A2l#w3t)Q zs&;WeOR})C^o-Y@7#h`)vc;u!OA}{_BSQdQ_waf*kG@OB6g(O&@Y>*LL%)`#VBF>9 zWk)w~<_evqG^P6vM~Q<6sM+~)8OdRr{VZc7dKX7&uG68oL(<}^x!Ty+s^O4L>r5!6 z;zr@4Yw&GBZ?_HB(Zzvlkv=E1%6;(Wd!M$)28c7Dr3)FmavYLkRh!2WBN*fq3p;eA zX-+=H-rHd(o#xFq-sa)Rc6u{#8r=zYsFUVzfOqhM|89#g%93`p{$>umitk$}{P3g) z7@_mP-ku*rzw7%L1<9AcWe`d#a7mlR zFteNRNhp)XzK!b6)+;AwsFgh`{xXy`5PQ*_O=FAr-NrgVJk>!|FbnQuILH*QFo;Bs_FvP!( zdb|-hO$>rT88)`S`X&2!S~%3`xOnjLUMpuG4oFUCD%fjDaa3jidz(*eUn#Re11C+e zf(W_8PNnnZNby6$XYXPu7~N2t>4~}uoGtDdS6b|Ne(^F^ue@MDIlA5iwlW|P&8l~? zQBMwxILu~5v-a2104ZBwG^wVcM^AySJV4NuUr&t=@LUM?s|T-s4R&+nS0Pqcmu;if zATMTatF2#psiT&_NX{%v7kr;uqIl{E)T0@o)v-I}Uy{GJa5-W}DVm9^)rMx8+Uf1A zPcdmWHnvl;d`3K=`j=n-=9jRAm_>D*N!oHJLM_9*7>t6^oqEvmeJcYo zY;0Si7$e1a_k4wI>$wr8SsOzE(8J2{^OVl@Ht`ar50GIx6+~c*2i?k@*#gbJ>~b(0 zLI|OYHI-I_Wh;AQY40;Jvp0Jsce_m;WM*e3`DpwQ(=zx#(i!W$QCu*mgFHPZDySj(Ej< zxxSO_jw}yyr$^BE9p=PH(?9sZk9M6zUJwBEumAZs-~7h6c~~9Ec?rCId|3K9%2Upk zSK%9d7+Tr%YE7ZlKG=;h=jjYOu(2I-o=J3^C6BzA(ezMxS0=gfV5-WlcSk#Ve{?5= zXzmP^WyQhI%bo9X!O-^gQEc)}GH|^J0@gsVFw~a8{ugTL3}NloT7~Fx?$<`rvPla{ zm)9lpS|FL>`rg1)20#svPDPFgNZQ6D^TLlLTP!;oQnwinY4`^21R;c8EQskE{43Un zFMZ=#1m~GHu3>&#o?q}BeyThAAzD{#Y;0_7 zY?D~TjPpai^~1cUAV!F`O#X|h(OMw2b7~s!IwBhz+enZJ4GkoZ#}P0!*eU~QHojv( zfID>@IPnwBE{m^qKGCti-{&j4d7J~g=?;>L9EN1fd}xOXWbVZVU9+eM4Yyx~$52K& zTQwi;JeVrX(z_SRycK5;jlk&b)2wYCWOEC`E-`DjI6?d!r1l&tQuSu7HI`?>#pP8% zouj0$X4Q>8v<)bP(2Kb|dpk>{tje zXwG2kt+iSo=C0478nl|xP(61sQSXHMK||63rBy#D6S(ByLVM^#&+ffyR@is>oeStE zjuto%soEWW0K#t}64)zvP6$l|+z)T+4ugl@2Ktxf)zHC_orE0LvzbYsWYTw3Vd=Nf ztEGn4ZB~U?Lxdnrn&@)E8dJwrv)F%OJ9wtG(RxP>`Q?eQN zveDInItB}$r2tkZ51N=}Z=OCO+qNbA8gpj%2xuT?E$Lq!gx5r1onPB4lu8D;vddM5 zOSO$MxK^S;Kb!Di@T1Xzp3UY3?=44@y6#A?&`ZqVwJA0(9TYw!xPdSvCyr(}p)+pp eVTx3(r~e20SED8lcH;a10000nd)JDtbCY||nKQFz@0s|Q&z}(!&=UXv0Ah7Dm@WW-0Y$&h0OF#bdEEp{ z(J$DZO6vMR^brJv$Du#tzfm*x1ON!-{(E5LM@+Mzzohe0dF7?&hVb&W@~{Q?`uYkv zxH@^-SiP|oa`UjuKarsa09XO)Fhza8g5zNSG{%MCwW~l`sC1-_U2H5+r(1#i6@V}< zL%kCoji-ha1K31`Dw2 zrNNaEYHu*eSpCAWftW*D!eO$A%5~vTudAaY)Zf6yMx?oAZ_Q3bYjF44@xzU8i2NV` zi%6s&vp=U^nqcl`JYx)@!BNeD)Zl>QYjKL4VN<>a9p@VKOm9m_=FC6M#NWD z59R}<*}cK&Cji`UN6-PN!uVijR;oA~1esO9aVp$O#as;c=!z=fCIMl?SU@=hVlI36 z=DMB!CI|z4XMoveaB&|i#TO`TUN%%E(*_H7WpV{P0^tKVWE#M1cwzcJ%yp z+KNFf7_kCHY~$-szf!Topgq_+vjePi61FD)%XbB`Jla;A^WTW{5<-*K-w;RhdaxA3h8fFSd8`tp z5(iv_mti_+tVPi;pMyI(6HEq_S}BUX^t&%eed1{3*b#j4d!=_;GvrDo$28NG*(b>p=t{_#m`80=PPEdtQgW_pzGu-|8KEL&%z{%hP_3A^5-Yp zBrvvyrJwf3hodd-j>jyaNe!|`ybVut2B7EmEOv);EoNWYU9;nhL{*BwIqgD3YuENjJOu@YVFe|So&!z+3*d@ROiz;)xrSayij=x6IT~Ztj2?r<}aqjl7!@Y zTpr=5zzYT(Yi+O-0I<0&(E4KaYDM0rjD@>0<8j1t5ZKI5v5BnHG*EO(yD}~@piE3V z063r45|m)Z5QFnsUDV+e%w8P52lT&i>99&?+j-v1)hrClp7zPtM{Tk2Sz2XBR9 zSz^h=7pOnY7sprU$gP?&(LntWAI}z^?yU;cP_O+wJRI?Jmb?wM54F4_>gX07yDfTW zfc+9DBuC4Jidgp=D+&WD9I2@^8prcNI&^2j2jRXs^r9@4Q+R06rpdsAIz2kt63G;@ zJNabk;c`}01rs#R>BVYX%z_b0)<6dO@+F8 zpXs(&6}JUieltZ3S&LQEib#V!P)We@cmd3Fd~pdR{z!+y-)^|Rx@7yXSz(){w813v zyE8mB0@Ph2@_K#HNUHF5qIJ_&WA_0?8P>sGugyV=l|Z1*wVg35WtTw1;?F;k^7_vq z!H#N_1!6-R@R&kdOuUptcW$=22)`Vnk$Aug3yljbz@TR7dIi%a1bQ0k;GYYEL-Ri? z#W842aaMF^$0c>7h6PhTWlS%*r3Qh8iB{yE4}q;MLuVyhvMI`6z8^%y2+Q2a|K}g< z&{N(~EAj4~U@OLRVUhDaK+sE#A0I;Es#fXwFllv+VPW%p1XK!KW$(-~8!S^^I|4Rm z9(-`W{TV&|cvUcRd@tMGE~bOvx<*d^oS_ zdJ#wR#THk5TTAs%XPCKY&4<07o3_l!uU(9eA$iwB)qkE8J6>BVAlL>_+Jsd*{F<;( zn*bu-9XGNWnuw61CIiad5zV=5C*@r4`sXfGo^gM}Le6}PpOO;GX|@qVgYT+8J?Uk3 zF$NrBUODS>m2y=f?&6Ve9(_2Uc8t~xDg+9yHFL(d9SrdwI|-A^m5-qaUriC}mP34)!_c>UpI%U2O%K>}hKt1PzMwWSZH5RvQ55)1Zvff`+m>8 z1-2N2SVysgbOOZWPRl>J*@aD01jn$W;jWF8`Jsw3LaIL#b1r&zeAxcx7kcf1b!f`8;3<MbABWcUVNv zUobR?{tELZa|Eo3tbU9YqG)=fE|E0sSM+v8jmc`P7#W*;Z5?@BM57eMzBVzaOg8^+ z=HH>I1}k%+@XU9TU_`o~nvLw{te)@dTZt3Q62j@xF}TwD$OjsLg#7PS(m{9qE3j!N zGKJO-4+)yV2Rz0gixIo>unFEjWReOnt09~~Iur?o%!%!Y2+?@nLvK6u+{({2kE|@= zDWQEX@=@}qcRi-%F9~v`Zi>y^cuO09nWqC%zjH?qsaLSHQrOUvd1vFOJ{-p1a}szWe+Wu zuee=9p}9Y}%2=>|TYY)p#$be)zhxWm)r6VHqaw!%VVHh%Ugj~Q*kFnHQ4HmG2G@Of zB2;=}-MI~7!7R_`M)YIL!*(! zw!3ZsNz;xO^gudz9~lUurjw>>j0;_NGd8r;so#nKt~QU(AMwrgPeNKe_cO2LsFkjaCuE9&Ls515`hcXkBatpE5jp?zrFMnc7^ZtM7yg`qIr#bwb5?@3C`6n39?A z7A|5W7*HK2JX#aTMEx~aL$AJ*X_Z#kHh@PuB@=A}v_6kRyw^bHQu1ZEWSIo`x+x{AV+pot4PNGo>o0lt5VVIG?^M? z(E9L&XL@eZ|4)mfjgLN%fLfY0@8%ChsBe?$PEY|!*iOvyF?_c#Hc;7@5(+s#RXA<0 z)EQ@9o(N-j_r#S|BI&UJ^Nr+gSD2UMI_4t@Obn}P6$unEU#LLc!IlHMTzolr!HERv zGwFnL2YTOn-oK)dhP-?$?sByDig^kUggko%$GcMjyLZWV!GY5b99X69|V^d?;OGKW1o08YSMs1g>Zy_{ zxbn%~Rqhh5eKyIH@_s7TAm0&B;S(*ibcwx3$Sk>`2s3(9@VBT>!5 zL>EFl{ni$!B5fc%rgib=HKsikM%bHoR{EkT*efWJ0cQjk2iZq%Fa<=D-GObZeVWMxm;3#u*es{Hv| zI=GQ7k@o7D$SV2Gj0I48rFj5FP1GRHaif7S3URTco*t7=rvWYypOfAAA!n&Cz7i{0 zO`GggGOj{0;fUn5-*a|CQC&0z@6RE>ZCS)IN|MzvRH>D4`+fXeq<$ZCch|jtd>qxS zqFopcy)n)yZ9xgCp1JzdFXUkhh5u;FQ@X;`Wa3g*L5v4G*faDJzw>)#`hMgK@4m^I zShWLTSQy%>T5r_sAw4j>j{9#T{mx$c5NHd^iy9NOO1kk7=LD3h#CPB^?~KymDPugR z1u+@j1u2>&@v=G4wC>?2`RvCgZ2WGYa;w1%@CZ-WZ|_14OvSAIH&vr^+(dGeDvhF< z8#+4%f%8=o-)r%`VII(mEY%#k8=HAT*O7hZg-tZsXOes z`Vqm(yx7Iv(Q74nfqzthG4*EE4tw=huB+mVcR`a{dntJw448_>h2+mXhnO6=8ahbt zU7m43*umdhlK7F=CfFTsKV%p!;QxUARR^fTW46sIVUsK}ZL`B>xAUHa%lfI$fz8=* zB$YiyaMoFa->(^yE|gVLWc>Hu>;D8g3#9Iq@)kQ*>*>+d&~q?EC=eySqQ$NfBVUDjxx z(blDs1^!k*)!?lyr7#6jhbI>J=Ye`bCsQSf;#PvfL~L4G`r;qWlio;S95*sfj3&$z z{mR#@&S|SrahDw|nMh4kcLq`(T+u!L+v|PgN$3&od6ozPmVu3Od?gM>!_y_J0hW%A zKAexrx>IDcGgKwY-;Q4~5po#nQV@2!|gH;7MUf^x*CApH!GfLV}-MN6A; z)}7?zk24>%IX?%UrOI@7EU=DLc~}?hxeC%z*D~_X{V|yA*ZqdGChK82Pqb^xI9L6n z-CFaybY;BNkka-u?`F8m+sIN!5&2)AQkDjn0M$o^0`?F>x<})9=FUDs?~g*?*nUK> zWIjzl;LC{miBhX(r?K?;7g2tI>xtOB?cglGebMw}{c&Y4S4Af*(UQ{m4M^*?M?wPN z6En%n0&IdRx>S6>VP7Uru^hU?t*Fv*Ee-#lmLFYt)WPLT9UN)8k)1Q5NPk`_C+z#A zBOUM!!*>^d_v$v1rNrL2!TUeL!{7FzN2g~?~{EpXjQpZc+> z?!LG2h+{6udULxk7lK6MHtOI$28#m`gZIm`SIvrsFEVI3ZIh9j2zfJ)FB+HxU0W5n zjSVT-s&ky~2qqwUQGlfkajBpTfSMb}u+2 zPDvkm_uI%o`w-vT3}*Zm%QDrqJQ}mUAl1l+^+M`Sy9c`SQ%ve+=(RjNbo{6d%~jY^ zPk);4!u4d4<%WI~6ypUf~=S+Oqf5?BH4>4>I`2Z)~kIP4D?iZQYlh3T@HE^@#Rx1L(WeB|gm@=aJi_b`kXdE#u&t)b}zPIvS%=1jMK%l`49L#oXWmDucq)LoW zgpwTBi7>aDcOtu3+fPDSKI0gVx<3G2utGr7b2IHlZkYR`$Z9*)_I=RK{-l|8dBI zk?Wz( zDUT(UR-feaWvZi8ks@1ubkM!rYw}2KBl4NPC$g^m0kWmPDg%q}03{FRdY@ZSV#aES z`}*}p* z+))Pll-7H?CKQ!$DkS>FYvHAJ!D|7|Z1he$ac!V~GEbgb%e5B^b14bvBY zJiHktN?92C|0`K!aqT#-wb9`p!R7Hco(A(0^p!b@Tv-Ke`Tb$3zceV`l;(|Qp0b}x!y3k=Y@*J-Ba&yh?lD{>%rGBrJZ zQSYx_yG9&S6}FFK|HotF(^^?Z0ojWxi*Hr*vClL9j}ZSQ^#vxgK&-H4hx$Er8gR4P zC~M~*iZ`I4nW1c79qmu}8Z*-2DJ~+Y%$-`#_x%gUYW1`_{OcF&QEFDC1~P+uuJ5!F zBw<**#Wr$c=RCoh@sd!2Zye29T)Bt4L?ZVx;UUaJg4Wd7|Bf{PQiI6{d2KwBe>#f$ z9>`9xOFs1}SFObS0*Lg?V7@rHI1N_w4NGenzYeREzzfbtFqvj7HMO!ik2D#H`^OH# z!-->ShXxp6V)&_RXqO6r55w4-lf_$tx?Du`0ETjsQ*h``coWt9@9EX`Xl;$2*2FB)7K zOy5|ra^VW3?g39J4OtrfTMopecenCEfIYdr;Pog<%W2*E6OwK9OpGfUuaKYE{maFt^ej=&NB=Jg*2iSe5?V5i9X ziA8aIgM)N3Ef%e8(-7(~PcOVzRb6gulPVg3uiEZUWl6=gNQzqtCO(QyR;&LSr4(-# z>X9tHq$R`-G0YJwBmnfdnl$1@X##S|(&4+s%9;c$=Y$O2woD5Da6L1ITu&>JLAFI$weq+xM{@#s@`N(|ALY1 zf#M+By^)p ze92kDhcBVt!X}9~B8+$X)uXd*s7+N|IX!w{BgZh;1kt1KPP~=3t%Z$C<7gbyz%@19 zC0$mn=Om9Hx1|&JO80eaO>oX7b;AX@;5Esf3{sP8&DkoNR6Bo#SK7P~xtgxf#{UkO z5{XZ!(dOkQ{GJ-JL%*ZBJrY>dqYf-(g$A7el$QT_F;^o9rGtF!*%%}GS(h|v^@g}7 zC7WaJAX7K|58uaaXk&FRA?S+}k?VC$jLx29d1+&AbHA$A$I!d0 z_^}*vi8$vp8;W$n1Grs!TiCt%Xe@eLl39+Qv1;4BlC^Y4WMec#fVtVe-;7{+rv;5RKb z#~NFEuYbs^>`7Z2m8{+fF}<9PoU)a>4IAZ_$`fNwM-DeMP5A^6#C{ZxM_XdycYm>P z&i$fD00BXkZAq%I!E`j9_JrKu6mjUU#2T2Qj*Xee@dj^!<-D4+ue#{da;)|6I!)|X zJ41-X=q$q&l2TLc4C`L$)GZtiJ4={m=-%}7OfJ-$UfC($YHMi)k@s6*@;ukpCdOxD zt-uC_BNbtxL?zttT@wV95jdzAk8DtMEwSF&UYT z9tcC>s!kGx=mx43YZV#d3Xg9rvX|40JJmz)dB!~larIbFckdxrYW2) zFexQe5oK$f_U)qKPF*wb^5}YCsm&=8vStMMr!d_$_U6(W%<5t~<0Rj8Uvo2Z=7$S= zTW!|bBq)2Y^dCs(HmT69u>JKw?4_JQY{%q<7BaA~t&_|$VBgw#Ta*~1tCk|~}{5tF`I$2PLZQ=DI-I6PS9IVTG>ncA~H zJJvn$aKw&~CM=j^$G*jO8))%Kc#Q)Xr#0Yu!){WJ1(DX?7>%EAw0L|S_%_T=aP>!Y zPy#?TZhy}EaNgy_V{uC4d?Abk;%K7DcZMG^sG;lQMK;q0=w-IGm~079CFm*z{}v#{ zFLedP7nb=8wqWNEU9#@dB!7 zvgGFGX6~hq)mFPHbW*rJT3~93-Q?xr(aRHYT8UAJ{jMpdD(# z6>{k&8m5-i5|JC+Ssv5=B{4-lWVG#Bd7YI`=8uQ_+t|v=%7h=z?fa6?XIkpgeK61Z zG3GX2qoZi zy5{l?D@ZWRtvy5mR%;NNS%mvoF)LelDtqhnq?>eqRg0qfC>pbntfEo7((@UJJ@8Y> znDat|IYa#ZrYju#iNq}ZN1=Jgwji!d2NRWJ`1i}6$T69B74hqHOX{8lCa_5@A=CCc zWgp(RlMY;aFx7>D{=lmf@nekMhI=fmiJp+Ri?q6^69a#hV`5fDir2Gqv$H5B8!&XRbyTfuNK03$e z`AI`n9!ddG=u9XaE+H!F4hma8Q*)p_uP^(CN|MHy@cnY3L(x|ugqJ1A>i&CoBAZ`&_tZEi+pzrv z*5MSDzoT(TZ$aFpI`>@EIxyAy(A$gAZZ@*+AQ}3UKRBrzT_z*wYV~N zkho`>g>yujw*FH>pSJIxbcb?_4g@JG@PF7J#lI*xTS|59<7 zKuYc9H+GC(bBo`MBUS~vBJoJ6xwyF_)nxW1jj;UGeC7T^UUNYXHYA!Je=fUv{!h|B zAb-*AN00LT$j*YL_&du(oc-diXs&8s1A)@|rDt9zfcmGg3Q|GlpnhVgzwAzI5(6FeHTPudQyqNTQ9B+|{Jd$b zVmTW}F~kgO&X3dW$8#`BzL9>^0)`*3%kh@E%c)X1lsk6H7^k{{!=Ah!Gj>4ivQh#$ z-!bD30^i(pc^~#NBAA4G z{_5iQcP40G@{e@!#y=@@qTro>r=(A)X?KiWZ;N*6lT4#J#C!WohLpprS9xFCT)l)> zwK`(>XtkfRn7`n9g?OPIOV_z5zyH3u!!gq#A!@60-W<)Bb*fU(+I<+e=?J>_1SsmV z9!Wl5kpH&0xR_It>2C`jNQ{5;`CuDS;`2hEl!ble=!Gx$y)xaBd4i*rig}`)d97;! zhcc1P>)#d^9dB|3jLDytFw)Z#2Pt|Q{66?V(Q~18ZMc=5cpv3TFD;Wg2s;&cZj4K& zfaucVf zjcEA7t(v6jot%yKcPcvMz+*&9$o_eHYRKR6Iam4V9W#{=)-OtI}rO{F6^1p11J(v$PtP zOGqZK*tsyyO54i6x%XdVm&s}4sy3r~M!t~BNf0UguoOD8ZV*sTUR+pFM4%DkQ-%Y9 zb>`@4^IC6r%znj>hAUS98Lo;IkWctUfNaenIS@e&5Ylt@Fq^?F7r;@#c2e+71__#A zc;CM;BAj%eC7w>$kazgHaN%3y)R7SR8Uf*~Hh(6c$qQL}N5nc*#tQvG3t8a$o))Z+ z=8?U+e=v^Dpy#(M7rg zoAeiGtC@JKY!vJiDRic>@^Y~Cj5I|A(;B`H*6uGDPDY{=jX9^a;XMj7Gn2F&#Qtgb z+xYY>KSr-Kq)?_hEF9i$^*M&!oo03?DBcd@?E$4fdnp^F)3!^I`uP`qZ+SZvPJP9U z{Sfco%b&Dio?^>hpU3BFjaU+zEcB}ajq{0jrF;`Dj0K2yml8r6XE*gY?n+h=Dw^MeAdK^Y)NX^)k4a zxz-jtyz}mrBh_MHZLJ{4!YvYFe+2sEtxAaG|tq0|2KU z$3ABf>O^qP;!Gwx%X)5)G|G9)LFLLOcoU+4L2JT39v&Va?pve!(NWbawLo!6?k{oR z?~MV>SzYOL5NCV#rg#m9_v=pwHP2Uh%(GsOPb=jdf7+C)4xUE+(>VqcaNsymW~1tmHvBVU@Y%4|Y_56^~wiaX6006%3m zEC?s?TP0)Ub>>%4vhBYr_w5ethYDPo zznFMwsiO$$z117t_}vbSg&njwxYiswXM4p@W4N`gOo?C_P|>s)^#U1d){OaXp^*14 zBMgo+6HHWJ(j^V7^XlTxh8p{yQx2~Djy0?|5wBhs!1y>kctDe})nI;rxhs0n9YFB> zIi1ODMm3&uXyAKWq)M=+>bFuO#jE}i1wO%NI&%;(GgQ|&CLE^_rfo`V)N1$c&AIHd z9Cq?$vF%UxC+N~rVY1)ub3Wk8A|qk8%)pcsnVW1UK6S>bRdF>)0d}JIgC=M^My%tLLlGuAH7{0QX?pDJ{X4dN?AX zysc5u-gkyVN=CCarzETJEGSvEd@Bf@7MPPLRBJ3torlGZ80^`r2nRyw#-kAe&5{!k z2{{ot%#Ci26i#x1QU?=6(S~J*z7tNNW6N>Nd>_zTf?o_dtRG>Z_?|qF%)Ei7-vA&- z{lO+{(U7q|m{@;7@`p?1d)EojY(xG*(0jSNpQOI8rqS+rHs}jF6J{#P&0Qo7E)RXz zr=tH+_s4h=e_i}=>20yoZ=MYLncNbmRgPAZdLMzeljd75SSR+*FKyqNBk~#H*4CRw zl=3856NZZKu^BispNfh$V>(`E%c8-y4aTh;5f1X=6}|)+ZibYVUBJ!023ZWX*J!vl z6zSr$GJ-OJ99G!k>MrC)D_s1r=wbV_wkxK9Sn6PaQ7w9UdNo|%lyxdv4CGUFqnt#llrIqaofPRGcJ(IUsuKeA`wx@x@$rYt zQt}DY$y$jGx9iQ%5o;tHd*XXescjVr*c2LxgTvT>h+M?)M{LW;F)m&g>MEr{t~70> zMQ@#sSVRmTOMdXY(A&v)p8fq2$`0s2JO#H~1e{jfKLp?D>?OvG{4Yi5Ke*&j7NAyC z1^8_?B$Iw_68|%kweT%rakw0*r8;Md$7?&AZak6S^SUvXYrM+1(wLjqf&-*+6T@t+<~0u$1H(uC*P@>$CKjpZ5G0SIIW`D zmIl)fn|PhDu93gfZU$KO_hJprhgwtTU!~nRp?lz>7x6)I>+Vd#eRpR#NEt__&e2yQ7Bw&yXe$QI@5$MY)|-bkVPBQ%xeq zlX*i*adiy9ML@7jrcQ5UAOb1-r{d6J08FrQ#qeKQ{F`7t>5R#p1l@@;j-<5hpWLUt z55k#}A-DjvH}Gz@H74bY_$05(sJv73rrwaSa7U9pv(x!Uizd@(ywrE--&r=MGRNcE z4fTU6fjYIWM^Un@aeYL#LFhVv!^h2Iv{A})mnB*3@l@3P^G;3K>Q3wL!rPA!H1(yd zxya;9|B|Jqs}9Ll8zaxv7~*MGC{o0+HpZ-iMUg|Z0YVs(&*szGAYtsQ+gzdmFuJbd z(VLw3k`6Eihd7D-;5DdJvBmGEXcl1qb5pBY-fRM`;&e0~sg5%_M0)*j@O9QCO&1&VS z6JTBS!vTGE+p)&%2XxB2%iHwBIQ+)RlK}fmd^EVdJq?p#^#!@PAE$g3G5$@o^zze3 zsoB!u_C(7%^`I2v+5%>p*Kt~6>m3ejcijQZ*0CRpppamcYjw@9V&!T_A%yiDoBL$X;nr1IIXH4D)^`<%o zAR?~r@DREu@=T@qU;_cr`m|oHG(?5a2Q;8niZnATC7dCuoHC^i2QaE>BcbjIA3M77 zCLo(=9H2V4m`=v|?^NA4)=+&;(WrXWUaYGNi5uOXj)o~{Lz}i23sDCC$-fR-BPrh# zmyo!GEqWHJ$I`;!YXZLi{t($=b~4Y%qR#vK}mm#=F|jR#|7Af|K%8) zh-OabAYGPgli_-l^D731Y)9PuJzm zYUlKI1=2w(qXIFG4y+`Mk}nI8NS)yx%sq4R8D2o>7t}fC+=DOgj;GbaR(9B(;^O^R zSXCYPzYegjPJ1T9^s5E&)`UC3aBQ;=6170I&f~>iZdh9-S18*X$MJy%8`9d^T29GE zivTb)GpFe0r2Dl6m(RRXg@ulx42q*RaO=p5cO>Y~$f?THG4z&N1)My$RD2R!PnNoSep$dSAI`DrjSwM}wz`1!l?TH_3aE$Pc{)>J- z`VB8kG<4rC%fcWcOKL)|tPF@i5dIefV8|kDWl2Tcw4bKB5jw-(V1R8|l{)Fh4Hj-& zmn~e^fIT(NeeQU)0Koc7|DFk1h;InGy?_-8E&cbSNy8EBt-0t95J#28528&8xU?lN z)Cy2u^(=z0EWDTY?Byy>R7@;S5BF1DN!JnL{QxYENPqZza$J-`5gTDm%wjZxYJi(j zP_ky#NmAE4w~Tn z+}a08{%2)*E^!B8ak#XWVMMelFP*`OaH^*q@2k1&iXJwTV{OuBjI0|%!Z2`O{T%~H z;x4TI#re*6!a>(!?xem1_;K{h8k8=mFb9hb3gNx?9xLE!bD$J5PjN(cO>$ Nb(QC^1|`dg{|7d>MZEw3 diff --git a/Robust.Client.Godot/Art/bootsplash.png.import b/Robust.Client.Godot/Art/bootsplash.png.import deleted file mode 100644 index c106ed7fb..000000000 --- a/Robust.Client.Godot/Art/bootsplash.png.import +++ /dev/null @@ -1,29 +0,0 @@ -[remap] - -importer="texture" -type="StreamTexture" -path="res://.import/bootsplash.png-edab0c323b941bd4e8220bfb7e423146.stex" - -[deps] - -source_file="res://Art/bootsplash.png" -dest_files=[ "res://.import/bootsplash.png-edab0c323b941bd4e8220bfb7e423146.stex" ] - -[params] - -compress/mode=0 -compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 -process/fix_alpha_border=true -process/premult_alpha=false -process/HDR_as_SRGB=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 diff --git a/Robust.Client.Godot/Art/copyright.md b/Robust.Client.Godot/Art/copyright.md deleted file mode 100755 index 5ab2a230b..000000000 --- a/Robust.Client.Godot/Art/copyright.md +++ /dev/null @@ -1,3 +0,0 @@ -* `background.png` a modified version from http://imgarcade.com/16-bit-space-background.html -* `bootsplash.png` is a modified version of the logo on http://spacestation13.com -* `Animal Silence.otf` is [this font](https://www.dafont.com/animal-silence.font). Somebody asked for permission years ago. diff --git a/Robust.Client.Godot/ControlWrap.cs b/Robust.Client.Godot/ControlWrap.cs deleted file mode 100644 index 57ab56e70..000000000 --- a/Robust.Client.Godot/ControlWrap.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Godot; -using System; - -namespace Robust.Client.GodotGlue -{ - ///

- /// Wraps a Godot control so we get access to its virtual functions. - /// - public class ControlWrap : Godot.Control - { - public Func GetMinimumSizeOverride { get; set; } - public Func HasPointOverride { get; set; } - public Action DrawOverride { get; set; } - - public override Vector2 _GetMinimumSize() - { - return GetMinimumSizeOverride?.Invoke() ?? new Vector2(); - } - - public override bool HasPoint(Vector2 point) - { - return HasPointOverride?.Invoke(point) ?? false; - } - - public override void _Draw() - { - DrawOverride?.Invoke(); - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - - GetMinimumSizeOverride = null; - HasPointOverride = null; - DrawOverride = null; - } - } -} diff --git a/Robust.Client.Godot/MSBuild/SS14.SolutionSpecific.targets b/Robust.Client.Godot/MSBuild/SS14.SolutionSpecific.targets deleted file mode 100644 index e390f7c7b..000000000 --- a/Robust.Client.Godot/MSBuild/SS14.SolutionSpecific.targets +++ /dev/null @@ -1,10 +0,0 @@ - - - - $(SolutionDir)..\packages\ - Yes - - diff --git a/Robust.Client.Godot/MainScene.tscn b/Robust.Client.Godot/MainScene.tscn deleted file mode 100644 index 34eada999..000000000 --- a/Robust.Client.Godot/MainScene.tscn +++ /dev/null @@ -1,9 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[ext_resource path="res://SS14Loader.cs" type="Script" id=1] - -[node name="MainScene" type="Node" index="0"] - -script = ExtResource( 1 ) - - diff --git a/Robust.Client.Godot/Properties/AssemblyInfo.cs b/Robust.Client.Godot/Properties/AssemblyInfo.cs deleted file mode 100644 index 7d1209de6..000000000 --- a/Robust.Client.Godot/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.Reflection; - -// Information about this assembly is defined by the following attributes. -// Change them to the values specific to your project. - -[assembly: AssemblyTitle("Robust.Client.Godot")] -[assembly: AssemblyDescription("SS14 Client glue code to connect the main client to Godot.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". -// The form "{Major}.{Minor}.*" will automatically update the build and revision, -// and "{Major}.{Minor}.{Build}.*" will update just the revision. - -[assembly: AssemblyVersion("1.0.*")] - -// The following attributes are used to specify the signing key for the assembly, -// if desired. See the Mono documentation for more information about signing. - -//[assembly: AssemblyDelaySign(false)] -//[assembly: AssemblyKeyFile("")] diff --git a/Robust.Client.Godot/Robust.Client.Godot.csproj b/Robust.Client.Godot/Robust.Client.Godot.csproj deleted file mode 100644 index 2bb6597ca..000000000 --- a/Robust.Client.Godot/Robust.Client.Godot.csproj +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Debug - AnyCPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB} - Library - .mono\temp\bin\$(Configuration) - Robust.Client.Godot - Robust.Client.Godot - v4.7.1 - .mono\temp\obj - $(BaseIntermediateOutputPath)\$(Configuration) - prompt - 4 - false - 7.2 - - - true - portable - false - DEBUG; - - - portable - true - - - - $(ProjectDir)\.mono\assemblies\GodotSharp.dll - False - - - $(ProjectDir)\..\Dependencies\godot\GodotSharp.dll - False - - - $(ProjectDir)\.mono\assemblies\GodotSharpEditor.dll - False - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Robust.Client.Godot/SS14.Client.Godot.sln b/Robust.Client.Godot/SS14.Client.Godot.sln deleted file mode 100644 index ed1578d9a..000000000 --- a/Robust.Client.Godot/SS14.Client.Godot.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robust.Client.Godot", "Robust.Client.Godot.csproj", "{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - Tools|Any CPU = Tools|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|Any CPU.Build.0 = Release|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|Any CPU.ActiveCfg = Tools|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|Any CPU.Build.0 = Tools|Any CPU - EndGlobalSection -EndGlobal diff --git a/Robust.Client.Godot/SS14Loader.cs b/Robust.Client.Godot/SS14Loader.cs deleted file mode 100644 index d81358468..000000000 --- a/Robust.Client.Godot/SS14Loader.cs +++ /dev/null @@ -1,240 +0,0 @@ -using Godot; -using System; -using System.Reflection; -using System.Collections.Generic; -using Environment = System.Environment; - -// NOT Robust.Client.Godot so you can still use Godot.xxx without a using statement. -namespace Robust.Client.GodotGlue -{ - /// - /// AutoLoad Node that starts the rest of the SS14 Client through . - /// - public class SS14Loader : Node - { - public static SS14Loader Instance { get; private set; } - public bool ShuttingDown { get; private set; } = false; - public Assembly SS14Assembly { get; private set; } - public IReadOnlyList EntryPoints => entryPoints; - private List entryPoints = new List(); - - private bool Started = false; - - public override void _Ready() - { - Instance = this; - CallDeferred(nameof(AnnounceMain)); - } - - public void AnnounceMain() - { - if (Started) - { - return; - } - - // Hahahah fuck you Mono - // Mono's incorrectly versioned bullshit copy of SharpZipLib is prioritized over the correct NuGet version. - // This breaks our shit because they're not compatible. - // This completely bypasses that. - // Good fucking riddance. - // I win. - // Fucking deal with it. - var path = Environment.CurrentDirectory; - Assembly.LoadFile(System.IO.Path.Combine(path, "../bin/Client/ICSharpCode.SharpZipLib.dll")); - - Started = true; - SS14Assembly = Assembly.LoadFrom("../bin/Client/Robust.Client.exe"); - var entryType = typeof(ClientEntryPoint); - foreach (var type in SS14Assembly.GetTypes()) - { - if (entryType.IsAssignableFrom(type) && !type.IsAbstract) - { - var instance = (ClientEntryPoint) Activator.CreateInstance(type); - try - { - instance.Main(GetTree()); - } - catch (Exception e) - { - GD.Print($"Caught exception inside Main:\n{e}"); - GD.Print("TO PREVENT LOG SPAM MAKING THE FORMER A PAIN TO FIND, THIS IS A FATAL ERROR."); - GetTree().Quit(); - return; - } - - entryPoints.Add(instance); - } - } - } - - public override void _PhysicsProcess(float delta) - { - try - { - if (!ShuttingDown) - { - foreach (var entrypoint in EntryPoints) - { - try - { - entrypoint.PhysicsProcess(delta); - } - catch (Exception e) - { - ExceptionCaught(e); - } - } - } - } - catch - { - GD.Print("Whoops"); - } - } - - public override void _Process(float delta) - { - if (!ShuttingDown) - { - foreach (var entrypoint in EntryPoints) - { - try - { - entrypoint.FrameProcess(delta); - } - catch (Exception e) - { - ExceptionCaught(e); - } - } - } - } - - public override void _UnhandledInput(InputEvent inputEvent) - { - if (!ShuttingDown) - { - foreach (var entrypoint in EntryPoints) - { - try - { - entrypoint.Input(inputEvent); - } - catch (Exception e) - { - ExceptionCaught(e); - } - } - } - } - - public override void _Input(InputEvent inputEvent) - { - if (!ShuttingDown) - { - foreach (var entrypoint in EntryPoints) - { - try - { - entrypoint.PreInput(inputEvent); - } - catch (Exception e) - { - ExceptionCaught(e); - } - } - } - } - - public override void _Notification(int what) - { - if (!ShuttingDown) - { - switch (what) - { - case MainLoop.NotificationWmQuitRequest: - ShuttingDown = true; - foreach (var entrypoint in EntryPoints) - { - entrypoint.QuitRequest(); - } - - break; - } - } - } - - public void ExceptionCaught(Exception exception) - { - foreach (var entrypoint in EntryPoints) - { - entrypoint.HandleException(exception); - } - } - } - - /// - /// Automatically gets created on AutoLoad by . - /// - public abstract class ClientEntryPoint - { - /// - /// Called when the entry point gets created. - /// - public virtual void Main(SceneTree tree) - { - } - - /// - /// Called every rendering frame by Godot. - /// - /// Time delta since last process tick. - public virtual void FrameProcess(float delta) - { - } - - /// - /// Called every physics process by Godot. - /// This should be a fixed update rate. - /// - /// - /// Time delta since the last process tick. - /// Should be constant if the CPU isn't being tortured. - /// - public virtual void PhysicsProcess(float delta) - { - } - - /// - /// Called whenever we receive input. - /// The UI system can still intercept this beforehand. - /// - public virtual void Input(InputEvent inputEvent) - { - } - - /// - /// Called before all other input events. This is before the UI system. - /// - public virtual void PreInput(InputEvent inputEvent) - { - } - - /// - /// Called when the OS sends a quit request, such as the user clicking the window's close button. - /// - public virtual void QuitRequest() - { - } - - /// - /// Invoked whenever an exception was caught going into Godot. - /// - /// The exception that was caught. - public virtual void HandleException(Exception exception) - { - GD.Print($"Caught unhandled exception:\n{exception}"); - } - } -} diff --git a/Robust.Client.Godot/SignalSubscriber/BaseGodotSignalSubscriber.cs b/Robust.Client.Godot/SignalSubscriber/BaseGodotSignalSubscriber.cs deleted file mode 100644 index a4f16dcf1..000000000 --- a/Robust.Client.Godot/SignalSubscriber/BaseGodotSignalSubscriber.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; - -// Godot *really* doesn't like it if you inherit Godot.Object outside the main project. -// in fact, it hard crashes. -// So we use these tiny dummies to register signals. -// It's not clean but do you have a better idea? -namespace Robust.Client.GodotGlue -{ - public abstract class BaseGodotSignalSubscriber : Godot.Reference - { - public void Connect(Godot.Object obj, string signal) - { - obj.Connect(signal, this, "SignalInvoker"); - } - - public void Disconnect(Godot.Object obj, string signal) - { - obj.Disconnect(signal, this, "SignalInvoker"); - } - - protected void HandleException(Exception exception) - { - SS14Loader.Instance.ExceptionCaught(exception); - } - } -} diff --git a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber0.cs b/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber0.cs deleted file mode 100644 index 211e3b897..000000000 --- a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber0.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; - -namespace Robust.Client.GodotGlue -{ - public class GodotSignalSubscriber0 : BaseGodotSignalSubscriber - { - public event Action Signal; - - public void SignalInvoker() - { - try - { - Signal?.Invoke(); - } - catch (Exception e) - { - HandleException(e); - } - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - - if (disposing) - { - Signal = null; - } - } - } -} diff --git a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber1.cs b/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber1.cs deleted file mode 100644 index ad634c184..000000000 --- a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber1.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; - -namespace Robust.Client.GodotGlue -{ - public class GodotSignalSubscriber1 : BaseGodotSignalSubscriber - { - public event Action Signal; - - public void SignalInvoker(object a) - { - try - { - Signal?.Invoke(a); - } - catch (Exception e) - { - HandleException(e); - } - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - - if (disposing) - { - Signal = null; - } - } - } -} diff --git a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber2.cs b/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber2.cs deleted file mode 100644 index f99612c7e..000000000 --- a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber2.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; - -namespace Robust.Client.GodotGlue -{ - public class GodotSignalSubscriber2 : BaseGodotSignalSubscriber - { - public event Action Signal; - - public void SignalInvoker(object a, object b) - { - try - { - Signal?.Invoke(a, b); - } - catch (Exception e) - { - HandleException(e); - } - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - - if (disposing) - { - Signal = null; - } - } - } -} diff --git a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber3.cs b/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber3.cs deleted file mode 100644 index 10e8ab777..000000000 --- a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber3.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; - -namespace Robust.Client.GodotGlue -{ - public class GodotSignalSubscriber3 : BaseGodotSignalSubscriber - { - public event Action Signal; - - public void SignalInvoker(object a, object b, object c) - { - try - { - Signal?.Invoke(a, b, c); - } - catch (Exception e) - { - HandleException(e); - } - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - - if (disposing) - { - Signal = null; - } - } - } -} diff --git a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber4.cs b/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber4.cs deleted file mode 100644 index 4240fad35..000000000 --- a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber4.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; - -namespace Robust.Client.GodotGlue -{ - public class GodotSignalSubscriber4 : BaseGodotSignalSubscriber - { - public event Action Signal; - - public void SignalInvoker(object a, object b, object c, object d) - { - try - { - Signal?.Invoke(a, b, c, d); - } - catch (Exception e) - { - HandleException(e); - } - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - - if (disposing) - { - Signal = null; - } - } - } -} diff --git a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber5.cs b/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber5.cs deleted file mode 100644 index eb289d9c4..000000000 --- a/Robust.Client.Godot/SignalSubscriber/GodotSignalSubscriber5.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; - -namespace Robust.Client.GodotGlue -{ - public class GodotSignalSubscriber5 : BaseGodotSignalSubscriber - { - public event Action Signal; - - public void SignalInvoker(object a, object b, object c, object d, object e) - { - try - { - Signal?.Invoke(a, b, c, d, e); - } - catch (Exception ex) - { - HandleException(ex); - } - } - - protected override void Dispose(bool disposing) - { - base.Dispose(disposing); - - if (disposing) - { - Signal = null; - } - } - } -} diff --git a/Robust.Client.Godot/SpriteView.cs b/Robust.Client.Godot/SpriteView.cs deleted file mode 100644 index 93b0c61bc..000000000 --- a/Robust.Client.Godot/SpriteView.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Godot; - -namespace Robust.Client.GodotGlue -{ - public class SpriteView : Control - { - - } -} diff --git a/Robust.Client.Godot/default_bus_layout.tres b/Robust.Client.Godot/default_bus_layout.tres deleted file mode 100644 index 0d74642f2..000000000 --- a/Robust.Client.Godot/default_bus_layout.tres +++ /dev/null @@ -1,11 +0,0 @@ -[gd_resource type="AudioBusLayout" format=2] - -[resource] - -bus/0/name = "Master" -bus/0/solo = false -bus/0/mute = false -bus/0/bypass_fx = false -bus/0/volume_db = -0.2 -bus/0/send = "" - diff --git a/Robust.Client.Godot/default_env.tres b/Robust.Client.Godot/default_env.tres deleted file mode 100644 index 8edf1e3a2..000000000 --- a/Robust.Client.Godot/default_env.tres +++ /dev/null @@ -1,102 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="ProceduralSky" id=1] - -radiance_size = 4 -sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 ) -sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 ) -sky_curve = 0.25 -sky_energy = 1.0 -ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 ) -ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 ) -ground_curve = 0.01 -ground_energy = 1.0 -sun_color = Color( 1, 1, 1, 1 ) -sun_latitude = 35.0 -sun_longitude = 0.0 -sun_angle_min = 1.0 -sun_angle_max = 100.0 -sun_curve = 0.05 -sun_energy = 16.0 -texture_size = 2 - -[resource] - -background_mode = 2 -background_sky = SubResource( 1 ) -background_sky_custom_fov = 0.0 -background_color = Color( 0, 0, 0, 1 ) -background_energy = 1.0 -background_canvas_max_layer = 0 -ambient_light_color = Color( 0, 0, 0, 1 ) -ambient_light_energy = 1.0 -ambient_light_sky_contribution = 1.0 -fog_enabled = false -fog_color = Color( 0.5, 0.6, 0.7, 1 ) -fog_sun_color = Color( 1, 0.9, 0.7, 1 ) -fog_sun_amount = 0.0 -fog_depth_enabled = true -fog_depth_begin = 10.0 -fog_depth_curve = 1.0 -fog_transmit_enabled = false -fog_transmit_curve = 1.0 -fog_height_enabled = false -fog_height_min = 0.0 -fog_height_max = 100.0 -fog_height_curve = 1.0 -tonemap_mode = 0 -tonemap_exposure = 1.0 -tonemap_white = 1.0 -auto_exposure_enabled = false -auto_exposure_scale = 0.4 -auto_exposure_min_luma = 0.05 -auto_exposure_max_luma = 8.0 -auto_exposure_speed = 0.5 -ss_reflections_enabled = false -ss_reflections_max_steps = 64 -ss_reflections_fade_in = 0.15 -ss_reflections_fade_out = 2.0 -ss_reflections_depth_tolerance = 0.2 -ss_reflections_roughness = true -ssao_enabled = false -ssao_radius = 1.0 -ssao_intensity = 1.0 -ssao_radius2 = 0.0 -ssao_intensity2 = 1.0 -ssao_bias = 0.01 -ssao_light_affect = 0.0 -ssao_ao_channel_affect = 0.0 -ssao_color = Color( 0, 0, 0, 1 ) -ssao_quality = 0 -ssao_blur = 3 -ssao_edge_sharpness = 4.0 -dof_blur_far_enabled = false -dof_blur_far_distance = 10.0 -dof_blur_far_transition = 5.0 -dof_blur_far_amount = 0.1 -dof_blur_far_quality = 1 -dof_blur_near_enabled = false -dof_blur_near_distance = 2.0 -dof_blur_near_transition = 1.0 -dof_blur_near_amount = 0.1 -dof_blur_near_quality = 1 -glow_enabled = false -glow_levels/1 = false -glow_levels/2 = false -glow_levels/3 = true -glow_levels/4 = false -glow_levels/5 = true -glow_levels/6 = false -glow_levels/7 = false -glow_intensity = 0.8 -glow_strength = 1.0 -glow_bloom = 0.0 -glow_blend_mode = 2 -glow_hdr_threshold = 1.0 -glow_hdr_scale = 2.0 -glow_bicubic_upscale = false -adjustment_enabled = false -adjustment_brightness = 1.0 -adjustment_contrast = 1.0 -adjustment_saturation = 1.0 - diff --git a/Robust.Client.Godot/export_presets.cfg b/Robust.Client.Godot/export_presets.cfg deleted file mode 100644 index 3d6dca4ab..000000000 --- a/Robust.Client.Godot/export_presets.cfg +++ /dev/null @@ -1,76 +0,0 @@ -[preset.0] - -name="mac" -platform="Mac OSX" -runnable=true -custom_features="" -export_filter="all_resources" -include_filter="" -exclude_filter="" -patch_list=PoolStringArray( ) - -[preset.0.options] - -custom_package/debug="/home/pjbriers/builds_shared/mac_export_template.zip" -custom_package/release="" -application/name="Space Station 14" -application/info="In space, nobody can hear you honk." -application/icon="" -application/identifier="io.spacestation14" -application/signature="ss14" -application/short_version="0.1" -application/version="0.1" -application/copyright="" -application/bits_mode=0 -display/high_res=false -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false - -[preset.1] - -name="win" -platform="Windows Desktop" -runnable=true -custom_features="" -export_filter="all_resources" -include_filter="" -exclude_filter="" -patch_list=PoolStringArray( ) - -[preset.1.options] - -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false -binary_format/64_bits=true -custom_template/release="" -custom_template/debug="/home/pjbriers/builds_shared/win/Robust.Client.exe" -application/icon="" -application/file_version="" -application/product_version="" -application/company_name="Space Wizards Federation" -application/product_name="Space Station 14" -application/file_description="" -application/copyright="" -application/trademarks="" - -[preset.2] - -name="x11" -platform="Linux/X11" -runnable=true -custom_features="" -export_filter="all_resources" -include_filter="" -exclude_filter="" -patch_list=PoolStringArray( ) - -[preset.2.options] - -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false -binary_format/64_bits=true -custom_template/release="" -custom_template/debug="/home/pjbriers/builds_shared/linux/Robust.Client.x86_64" diff --git a/Robust.Client.Godot/logo.png b/Robust.Client.Godot/logo.png deleted file mode 100644 index 347f15202a5f266bd09a19369003e9d7c610c3b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2729 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 P00000NkvXXu0mjftC#C5 diff --git a/Robust.Client/Audio/AudioStream.cs b/Robust.Client/Audio/AudioStream.cs index a47d8cd02..dc70eba95 100644 --- a/Robust.Client/Audio/AudioStream.cs +++ b/Robust.Client/Audio/AudioStream.cs @@ -6,7 +6,6 @@ namespace Robust.Client.Audio public sealed class AudioStream { public TimeSpan Length { get; } - internal Godot.AudioStream GodotAudioStream { get; } internal Clyde.Handle? ClydeHandle { get; } // Constructor used on headless. @@ -21,12 +20,5 @@ namespace Robust.Client.Audio ClydeHandle = handle; Length = length; } - - // Constructor used on Godot. - internal AudioStream(Godot.AudioStream godotStream) - { - GodotAudioStream = godotStream; - Length = TimeSpan.FromSeconds(godotStream.GetLength()); - } } } diff --git a/Robust.Client/Console/Commands/Debug.cs b/Robust.Client/Console/Commands/Debug.cs index 5eb1ba249..2b778a732 100644 --- a/Robust.Client/Console/Commands/Debug.cs +++ b/Robust.Client/Console/Commands/Debug.cs @@ -183,37 +183,6 @@ namespace Robust.Client.Console.Commands } } - internal class DumpDeferredLightingCommand : IConsoleCommand - { - public string Command => "dumpdeferredlighting"; - public string Help => ""; - public string Description => ""; - - public bool Execute(IDebugConsole console, params string[] args) - { - var viewport = - IoCManager.Resolve().SceneTree.Root.GetNode("LightingViewport") as Godot.Viewport; - var tex = viewport.GetTexture().GetData(); - tex.SavePng("res://deferredlightingdump.png"); - return false; - } - } - - internal class GetRootViewportTransformCommand : IConsoleCommand - { - public string Command => "rootvptransform"; - public string Help => ""; - public string Description => ""; - - public bool Execute(IDebugConsole console, params string[] args) - { - var vp = IoCManager.Resolve().SceneTree.Root; - console.AddLine( - $"canvas_transform: {vp.CanvasTransform}, global_canvas_transform: {vp.GlobalCanvasTransform}, size: {vp.Size}"); - return false; - } - } - internal class DisconnectCommand : IConsoleCommand { public string Command => "disconnect"; diff --git a/Robust.Client/GameController.cs b/Robust.Client/GameController.cs index 36aea2d4a..881fb4d5f 100644 --- a/Robust.Client/GameController.cs +++ b/Robust.Client/GameController.cs @@ -46,27 +46,17 @@ using Robust.Shared.Interfaces.Resources; namespace Robust.Client { - // Gets automatically ran by Robust.Client.Godot. [UsedImplicitly] internal sealed partial class GameController : IGameControllerInternal { public enum DisplayMode { Headless, - Godot, Clyde } internal static DisplayMode Mode { get; private set; } = DisplayMode.Headless; - internal static bool OnGodot => Mode == DisplayMode.Godot; - - /// - /// QueueFreeing a Godot node during finalization can cause segfaults. - /// As such, this var is set as soon as we tell Godot to shut down proper. - /// - public static bool ShuttingDownHard { get; private set; } = false; - [Dependency] private readonly IConfigurationManager _configurationManager; [Dependency] private readonly IResourceCacheInternal _resourceCache; [Dependency] private readonly IResourceManager _resourceManager; @@ -168,7 +158,6 @@ namespace Robust.Client _lightManager.Initialize(); _entityManager.Initialize(); _gameStateManager.Initialize(); - _overlayManager.Initialize(); _placementManager.Initialize(); _viewVariablesManager.Initialize(); @@ -197,17 +186,10 @@ namespace Robust.Client Logger.Info("Shutting down!"); } - if (Mode != DisplayMode.Godot) - { - _mainLoop.Running = false; - } + _mainLoop.Running = false; Logger.Debug("Goodbye"); IoCManager.Clear(); - ShuttingDownHard = true; - // Hahaha Godot is crashing absurdly and I can't be bothered to fix it. - // Hey now it shuts down easily. - Environment.Exit(0); } private void Update(float frameTime) @@ -242,14 +224,7 @@ namespace Robust.Client private void SetupLogging() { - if (OnGodot) - { - _logManager.RootSawmill.AddHandler(new GodotLogHandler()); - } - else - { - _logManager.RootSawmill.AddHandler(new ConsoleLogHandler()); - } + _logManager.RootSawmill.AddHandler(new ConsoleLogHandler()); _logManager.GetSawmill("res.typecheck").Level = LogLevel.Info; _logManager.GetSawmill("res.tex").Level = LogLevel.Info; @@ -264,7 +239,7 @@ namespace Robust.Client public static ICollection GetCommandLineArgs() { - return OnGodot ? Godot.OS.GetCmdlineArgs() : Environment.GetCommandLineArgs(); + return Environment.GetCommandLineArgs(); } private static string _getUserDataDir(ICollection commandLineArgs) diff --git a/Robust.Client/GameController/GameController.Godot.cs b/Robust.Client/GameController/GameController.Godot.cs deleted file mode 100644 index a4b11338a..000000000 --- a/Robust.Client/GameController/GameController.Godot.cs +++ /dev/null @@ -1,252 +0,0 @@ -using System; -using Godot; -using Robust.Client.GodotGlue; -using Robust.Client.Input; -using Robust.Client.Interfaces; -using Robust.Client.Utility; -using Robust.Shared.Interfaces.Timing; -using Robust.Shared.IoC; -using Robust.Shared.Timing; - -namespace Robust.Client -{ - internal partial class GameController : ClientEntryPoint - { - private GameTimingGodot _gameTimingGodotGodot; - - public override void Main(Godot.SceneTree tree) - { -#if !X64 - throw new InvalidOperationException("The client cannot start outside x64."); -#endif - Mode = DisplayMode.Godot; - tree.SetAutoAcceptQuit(false); - IoCManager.InitThread(); - IoCManager.Register(); - IoCManager.BuildGraph(); - IoCManager.Resolve().Initialize(tree); - -#if DEBUG - // Ensure Godot's side of the resources are up to date. - GodotResourceCopy.DoDirCopy("../Resources", "Engine"); -#endif - - Startup(); - - _gameTimingGodotGodot = IoCManager.Resolve(); - } - - public override void QuitRequest() - { - Shutdown("OS quit request"); - } - - public override void PhysicsProcess(float delta) - { - // Can't be too certain. - _gameTimingGodotGodot.InSimulation = true; - _gameTimingGodotGodot._tickRemainderTimer.Restart(); - try - { - if (!_gameTimingGodotGodot.Paused) - { - _gameTimingGodotGodot.CurTick = new GameTick(_gameTimingGodotGodot.CurTick.Value + 1); - Update(delta); - } - } - finally - { - _gameTimingGodotGodot.InSimulation = false; - } - } - - public override void FrameProcess(float delta) - { - _gameTimingGodotGodot.InSimulation = false; // Better safe than sorry. - _gameTimingGodotGodot.RealFrameTime = TimeSpan.FromSeconds(delta); - _gameTimingGodotGodot.TickRemainder = _gameTimingGodotGodot._tickRemainderTimer.Elapsed; - - _frameProcessMain(delta); - } - - public override void HandleException(Exception exception) - { - try - { - if (_logManager != null) - { - _logManager.GetSawmill("root").Error($"Unhandled exception:\n{exception}"); - } - else - { - Godot.GD.Print($"Unhandled exception:\n{exception}"); - } - } - catch (Exception e) - { - Godot.GD.Print($"Welp. The unhandled exception handler threw an exception.\n{e}\nException that was being handled:\n{exception}"); - } - } - - - // Override that converts and distributes the input events - // to the more sane methods above. - public override void Input(Godot.InputEvent inputEvent) - { - switch (inputEvent) - { - case Godot.InputEventKey keyEvent: - var keyEventArgs = (KeyEventArgs)keyEvent; - if (keyEvent.Echo) - { - return; - } - else if (keyEvent.Pressed) - { - KeyDown(keyEventArgs); - } - else - { - KeyUp(keyEventArgs); - } - break; - - case Godot.InputEventMouseButton mouseButtonEvent: - if (mouseButtonEvent.ButtonIndex >= (int)Godot.ButtonList.WheelUp && mouseButtonEvent.ButtonIndex <= (int)Godot.ButtonList.WheelRight) - { - // Mouse wheel event. - var mouseWheelEventArgs = (MouseWheelEventArgs)mouseButtonEvent; - MouseWheel(mouseWheelEventArgs); - } - else - { - // Mouse button event. - var mouseButtonEventArgs = (MouseButtonEventArgs)mouseButtonEvent; - if (mouseButtonEvent.Pressed) - { - MouseDown(mouseButtonEventArgs); - if (!mouseButtonEventArgs.Handled) - { - KeyDown((KeyEventArgs) mouseButtonEvent); - } - } - else - { - MouseUp(mouseButtonEventArgs); - if (!mouseButtonEventArgs.Handled) - { - KeyUp((KeyEventArgs)mouseButtonEvent); - } - } - } - break; - - case Godot.InputEventMouseMotion mouseMotionEvent: - var mouseMoveEventArgs = (MouseMoveEventArgs)mouseMotionEvent; - MouseMove(mouseMoveEventArgs); - break; - } - } - - public override void PreInput(Godot.InputEvent inputEvent) - { - if (inputEvent is Godot.InputEventKey keyEvent) - { - var keyEventArgs = (KeyEventArgs)keyEvent; - if (keyEvent.Echo) - { - return; - } - else if (keyEvent.Pressed) - { - // TODO: these hacks are in right now for toggling the debug console. - // Somehow find a way to make the console use the key binds system? - _userInterfaceManager.GDPreKeyDown(keyEventArgs); - } - else - { - _userInterfaceManager.GDPreKeyUp(keyEventArgs); - } - } - } - - // TODO: This class is basically just a bunch of stubs. - private class GameTimingGodot : IGameTiming - { - private static readonly IStopwatch _realTimer = new Stopwatch(); - public readonly IStopwatch _tickRemainderTimer = new Stopwatch(); - - public GameTimingGodot() - { - _realTimer.Start(); - // Not sure if Restart() starts it implicitly so... - _tickRemainderTimer.Start(); - } - - public bool InSimulation { get; set; } - public bool Paused { get; set; } - - public TimeSpan CurTime => CalcCurTime(); - - public TimeSpan RealTime => _realTimer.Elapsed; - - public TimeSpan FrameTime => CalcFrameTime(); - - public TimeSpan RealFrameTime { get; set; } - - public TimeSpan RealFrameTimeAvg => throw new NotImplementedException(); - - public TimeSpan RealFrameTimeStdDev => throw new NotImplementedException(); - - public double FramesPerSecondAvg => Godot.Performance.GetMonitor(Performance.Monitor.TimeFps); - - public GameTick CurTick { get; set; } - - public byte TickRate - { - get => (byte) Godot.Engine.IterationsPerSecond; - set => Godot.Engine.IterationsPerSecond = value; - } - - public TimeSpan TickPeriod => TimeSpan.FromTicks((long)(1.0 / TickRate * TimeSpan.TicksPerSecond)); - - public TimeSpan TickRemainder { get; set; } - public uint CurFrame { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } - public bool FastForward { get; set; } //TODO: Not implemented - public float TickTimingAdjustment { get; set; } = 1; //TODO: Not implemented - - public void ResetRealTime() - { - throw new NotImplementedException(); - } - - public void StartFrame() - { - throw new NotImplementedException(); - } - - private TimeSpan CalcCurTime() - { - // calculate simulation CurTime - var time = TimeSpan.FromTicks(TickPeriod.Ticks * CurTick.Value); - - if (!InSimulation) // rendering can draw frames between ticks - return time + TickRemainder; - return time; - } - - private TimeSpan CalcFrameTime() - { - // calculate simulation FrameTime - if (InSimulation) - { - return TimeSpan.FromTicks(TickPeriod.Ticks); - } - else - { - return Paused ? TimeSpan.Zero : RealFrameTime; - } - } - } - } -} diff --git a/Robust.Client/GameController/GameController.Input.cs b/Robust.Client/GameController/GameController.Input.cs index 166bbd9a0..0dd1c66c8 100644 --- a/Robust.Client/GameController/GameController.Input.cs +++ b/Robust.Client/GameController/GameController.Input.cs @@ -9,14 +9,11 @@ namespace Robust.Client /// public void KeyDown(KeyEventArgs keyEvent) { - if (!OnGodot) - { - _userInterfaceManager.KeyDown(keyEvent); + _userInterfaceManager.KeyDown(keyEvent); - if (keyEvent.Handled) - { - return; - } + if (keyEvent.Handled) + { + return; } _inputManager.KeyDown(keyEvent); } @@ -28,10 +25,7 @@ namespace Robust.Client { // Unlike KeyDown, InputManager still gets key ups. // My logic is that it should be fine dealing with redundant key ups and this *might* prevent edge cases. - if (!OnGodot) - { - _userInterfaceManager.KeyUp(keyEvent); - } + _userInterfaceManager.KeyUp(keyEvent); _inputManager.KeyUp(keyEvent); } @@ -45,14 +39,7 @@ namespace Robust.Client /// public void MouseDown(MouseButtonEventArgs mouseEvent) { - if (GameController.OnGodot) - { - _userInterfaceManager.GDUnhandledMouseDown(mouseEvent); - } - else - { - _userInterfaceManager.MouseDown(mouseEvent); - } + _userInterfaceManager.MouseDown(mouseEvent); _stateManager.MouseDown(mouseEvent); } @@ -61,14 +48,7 @@ namespace Robust.Client /// public void MouseUp(MouseButtonEventArgs mouseButtonEventArgs) { - if (GameController.OnGodot) - { - _userInterfaceManager.GDUnhandledMouseUp(mouseButtonEventArgs); - } - else - { - _userInterfaceManager.MouseUp(mouseButtonEventArgs); - } + _userInterfaceManager.MouseUp(mouseButtonEventArgs); _stateManager.MouseUp(mouseButtonEventArgs); } @@ -77,10 +57,7 @@ namespace Robust.Client /// public void MouseMove(MouseMoveEventArgs mouseMoveEventArgs) { - if (!GameController.OnGodot) - { - _userInterfaceManager.MouseMove(mouseMoveEventArgs); - } + _userInterfaceManager.MouseMove(mouseMoveEventArgs); _stateManager.MouseMove(mouseMoveEventArgs); } diff --git a/Robust.Client/GameController/GameController.IoC.cs b/Robust.Client/GameController/GameController.IoC.cs index 45d35db74..dbecabe29 100644 --- a/Robust.Client/GameController/GameController.IoC.cs +++ b/Robust.Client/GameController/GameController.IoC.cs @@ -91,20 +91,10 @@ namespace Robust.Client IoCManager.Register(); IoCManager.Register(); IoCManager.Register(); - if (OnGodot) - { - IoCManager.Register(); - IoCManager.Register(); - IoCManager.Register(); - IoCManager.Register(); - } - else - { - IoCManager.Register(); - IoCManager.Register(); - IoCManager.Register(); - IoCManager.Register(); - } + IoCManager.Register(); + IoCManager.Register(); + IoCManager.Register(); + IoCManager.Register(); IoCManager.Register(); IoCManager.Register(); IoCManager.Register(); @@ -141,10 +131,6 @@ namespace Robust.Client IoCManager.Register(); IoCManager.Register(); break; - case DisplayMode.Godot: - IoCManager.Register(); - IoCManager.Register(); - break; case DisplayMode.Clyde: IoCManager.Register(); IoCManager.Register(); @@ -156,16 +142,7 @@ namespace Robust.Client throw new ArgumentOutOfRangeException(); } IoCManager.Register(); - if (OnGodot) - { - IoCManager.Register(); - // Only GameController can access this because the type is private so it's fine. - IoCManager.Register(); - } - else - { - IoCManager.Register(); - } + IoCManager.Register(); IoCManager.Register(); IoCManager.Register(); @@ -173,20 +150,13 @@ namespace Robust.Client IoCManager.Register(); IoCManager.Register(); - if (OnGodot) - { - IoCManager.Register(); - } - else - { #if LINUX - IoCManager.Register(); + IoCManager.Register(); #elif WINDOWS - IoCManager.Register(); + IoCManager.Register(); #else - IoCManager.Register(); + IoCManager.Register(); #endif - } IoCManager.BuildGraph(); } diff --git a/Robust.Client/GameController/GameController.Standalone.cs b/Robust.Client/GameController/GameController.Standalone.cs index 04f1d5207..59231e347 100644 --- a/Robust.Client/GameController/GameController.Standalone.cs +++ b/Robust.Client/GameController/GameController.Standalone.cs @@ -22,8 +22,6 @@ namespace Robust.Client #endif IoCManager.InitThread(); - IoCManager.Register(); - IoCManager.BuildGraph(); if (Environment.GetCommandLineArgs().Contains("--headless")) { @@ -47,21 +45,39 @@ namespace Robust.Client SleepMode = Mode == DisplayMode.Headless ? SleepMode.Delay : SleepMode.None }; - _mainLoop.Tick += (sender, args) => Update(args.DeltaSeconds); + _mainLoop.Tick += (sender, args) => + { + if (_mainLoop.Running) + { + Update(args.DeltaSeconds); + } + }; if (Mode == DisplayMode.Clyde) { _mainLoop.Render += (sender, args) => { - _gameTimingHeadless.CurFrame++; - _clyde.Render(new FrameEventArgs(args.DeltaSeconds)); + if (_mainLoop.Running) + { + _gameTimingHeadless.CurFrame++; + _clyde.Render(new FrameEventArgs(args.DeltaSeconds)); + } + }; + _mainLoop.Input += (sender, args) => + { + if (_mainLoop.Running) + { + _clyde.ProcessInput(new FrameEventArgs(args.DeltaSeconds)); + } }; - _mainLoop.Input += (sender, args) => _clyde.ProcessInput(new FrameEventArgs(args.DeltaSeconds)); } _mainLoop.Update += (sender, args) => { - _frameProcessMain(args.DeltaSeconds); + if (_mainLoop.Running) + { + _frameProcessMain(args.DeltaSeconds); + } }; // set GameLoop.Running to false to return from this function. diff --git a/Robust.Client/GameObjects/Components/Eye/EyeComponent.cs b/Robust.Client/GameObjects/Components/Eye/EyeComponent.cs index 74f5f631e..885a7d8da 100644 --- a/Robust.Client/GameObjects/Components/Eye/EyeComponent.cs +++ b/Robust.Client/GameObjects/Components/Eye/EyeComponent.cs @@ -79,11 +79,6 @@ namespace Robust.Client.GameObjects }; transform.OnMove += Transform_OnMove; - - if (GameController.OnGodot) - { - Owner.GetComponent().SceneNode.AddChild(eye.GodotCamera); - } } public override void OnRemove() diff --git a/Robust.Client/GameObjects/Components/Light/PointLightComponent.cs b/Robust.Client/GameObjects/Components/Light/PointLightComponent.cs index f3e479d03..423eeb47a 100644 --- a/Robust.Client/GameObjects/Components/Light/PointLightComponent.cs +++ b/Robust.Client/GameObjects/Components/Light/PointLightComponent.cs @@ -85,22 +85,12 @@ namespace Robust.Client.GameObjects { if (Owner.Transform.Parent == null) return; - if (GameController.OnGodot) - { - Light.ParentTo((GodotTransformComponent) Owner.Transform.Parent); - } - _lightOnParent = true; } else { if (!_lightOnParent) return; - if (GameController.OnGodot) - { - Light.ParentTo((GodotTransformComponent) Owner.Transform); - } - _lightOnParent = false; } } @@ -123,12 +113,6 @@ namespace Robust.Client.GameObjects var tex = _resourceCache.GetResource(new ResourcePath("/Textures/Effects/Light/") / $"lighting_falloff_{(int) radius}.png"); - if (GameController.OnGodot) - { - // TODO: Maybe editing the global texture resource is not a good idea. - tex.Texture.GodotTexture.SetFlags(tex.Texture.GodotTexture.GetFlags() | - (int) Godot.Texture.FlagsEnum.Filter); - } Light.Texture = tex.Texture; } @@ -138,11 +122,6 @@ namespace Robust.Client.GameObjects { base.Initialize(); - if (GameController.OnGodot) - { - Light.ParentTo((GodotTransformComponent) Owner.Transform); - } - Owner.Transform.OnParentChanged += TransformOnOnParentChanged; } @@ -156,20 +135,11 @@ namespace Robust.Client.GameObjects if (obj.New.IsValid() && Owner.EntityManager.TryGetEntity(obj.New, out var entity)) { - if (GameController.OnGodot) - { - Light.ParentTo((GodotTransformComponent) entity.Transform); - } _lightOnParent = true; } else { - if (GameController.OnGodot) - { - Light.ParentTo((GodotTransformComponent) Owner.Transform); - } - _lightOnParent = false; } } diff --git a/Robust.Client/GameObjects/Components/Renderable/SpriteComponent.cs b/Robust.Client/GameObjects/Components/Renderable/SpriteComponent.cs index f3ea90d17..f47ab1208 100644 --- a/Robust.Client/GameObjects/Components/Renderable/SpriteComponent.cs +++ b/Robust.Client/GameObjects/Components/Renderable/SpriteComponent.cs @@ -22,7 +22,6 @@ using System.Linq; using System.Text; using Robust.Shared.Interfaces.Reflection; using Robust.Shared.ViewVariables; -using VS = Godot.VisualServer; namespace Robust.Client.GameObjects { @@ -35,18 +34,7 @@ namespace Robust.Client.GameObjects public bool Visible { get => _visible; - set - { - _visible = value; - if (value) - { - RedrawQueued = true; - } - else - { - ClearDraw(); - } - } + set => _visible = value; } private DrawDepth drawDepth = DrawDepth.Objects; @@ -58,15 +46,7 @@ namespace Robust.Client.GameObjects public DrawDepth DrawDepth { get => drawDepth; - set - { - drawDepth = value; - - if (GameController.OnGodot && SceneNode != null) - { - SceneNode.ZIndex = (int) value; - } - } + set => drawDepth = value; } private Vector2 scale = Vector2.One; @@ -78,14 +58,7 @@ namespace Robust.Client.GameObjects public Vector2 Scale { get => scale; - set - { - scale = value; - if (GameController.OnGodot && SceneNode != null) - { - SceneNode.Scale = value.Convert(); - } - } + set => scale = value; } private Angle rotation; @@ -94,14 +67,7 @@ namespace Robust.Client.GameObjects public Angle Rotation { get => rotation; - set - { - rotation = value; - if (GameController.OnGodot && SceneNode != null) - { - SceneNode.Rotation = (float) value; - } - } + set => rotation = value; } private Vector2 offset = Vector2.Zero; @@ -113,14 +79,7 @@ namespace Robust.Client.GameObjects public Vector2 Offset { get => offset; - set - { - offset = value; - if (GameController.OnGodot && SceneNode != null) - { - SceneNode.Position = value.Convert() * EyeManager.PIXELSPERMETER; - } - } + set => offset = value; } private Color color = Color.White; @@ -129,14 +88,7 @@ namespace Robust.Client.GameObjects public Color Color { get => color; - set - { - color = value; - if (GameController.OnGodot && SceneNode != null) - { - SceneNode.Modulate = value.Convert(); - } - } + set => color = value; } /// @@ -149,17 +101,11 @@ namespace Robust.Client.GameObjects public bool Directional { get => _directional; - set - { - _directional = value; - RedrawQueued = true; - } + set => _directional = value; } private bool _directional = true; - [ViewVariables(VVAccess.ReadWrite)] private bool RedrawQueued = true; - private RSI _baseRsi; [ViewVariables] @@ -210,8 +156,6 @@ namespace Robust.Client.GameObjects // This may be worth the overhead of basically reimplementing List. [ViewVariables] private List Layers; - private Godot.Node2D SceneNode; - [Dependency] private readonly IResourceCache resourceCache; [Dependency] private readonly IPrototypeManager prototypes; [Dependency] private readonly IReflectionManager reflectionManager; @@ -228,7 +172,6 @@ namespace Robust.Client.GameObjects // Do not directly store mirror instances, so that they can be picked up by the GC is not disposed correctly. // Don't need em anyways. readonly Dictionary Mirrors = new Dictionary(); - ISpriteProxy MainMirror; private static Shader _defaultShader; @@ -298,8 +241,6 @@ namespace Robust.Client.GameObjects { var layer = Layer.New(); layer.Visible = false; - // Redraw is probably not needed but eh? - RedrawQueued = true; return AddLayer(layer, newIndex); } @@ -327,7 +268,6 @@ namespace Robust.Client.GameObjects { var layer = Layer.New(); layer.Texture = texture; - RedrawQueued = true; return AddLayer(layer, newIndex); } @@ -345,7 +285,6 @@ namespace Robust.Client.GameObjects Environment.StackTrace); } - RedrawQueued = true; return AddLayer(layer, newIndex); } @@ -394,7 +333,6 @@ namespace Robust.Client.GameObjects Environment.StackTrace); } - RedrawQueued = true; return AddLayer(layer, newIndex); } @@ -462,8 +400,6 @@ namespace Robust.Client.GameObjects LayerMap[kv.Key] = kv.Value - 1; } } - - RedrawQueued = true; } public void RemoveLayer(object layerKey) @@ -490,7 +426,6 @@ namespace Robust.Client.GameObjects var thelayer = Layers[layer]; thelayer.Shader = shader; Layers[layer] = thelayer; - RedrawQueued = true; } public void LayerSetShader(object layerKey, Shader shader) @@ -576,7 +511,6 @@ namespace Robust.Client.GameObjects thelayer.State = null; thelayer.Texture = texture; Layers[layer] = thelayer; - RedrawQueued = true; } public void LayerSetTexture(object layerKey, Texture texture) @@ -668,7 +602,6 @@ namespace Robust.Client.GameObjects } Layers[layer] = thelayer; - RedrawQueued = true; } public void LayerSetState(object layerKey, RSI.StateId stateId) @@ -719,7 +652,6 @@ namespace Robust.Client.GameObjects } Layers[layer] = thelayer; - RedrawQueued = true; } public void LayerSetState(object layerKey, RSI.StateId stateId, RSI rsi) @@ -806,7 +738,6 @@ namespace Robust.Client.GameObjects } Layers[layer] = thelayer; - RedrawQueued = true; } public void LayerSetRSI(object layerKey, RSI rsi) @@ -865,7 +796,6 @@ namespace Robust.Client.GameObjects var thelayer = Layers[layer]; thelayer.Scale = scale; Layers[layer] = thelayer; - RedrawQueued = true; } public void LayerSetScale(object layerKey, Vector2 scale) @@ -893,7 +823,6 @@ namespace Robust.Client.GameObjects var thelayer = Layers[layer]; thelayer.Rotation = rotation; Layers[layer] = thelayer; - RedrawQueued = true; } public void LayerSetRotation(object layerKey, Angle rotation) @@ -920,7 +849,6 @@ namespace Robust.Client.GameObjects var thelayer = Layers[layer]; thelayer.Visible = visible; Layers[layer] = thelayer; - RedrawQueued = true; } public void LayerSetVisible(object layerKey, bool visible) @@ -947,7 +875,6 @@ namespace Robust.Client.GameObjects var thelayer = Layers[layer]; thelayer.Color = color; Layers[layer] = thelayer; - RedrawQueued = true; } public void LayerSetColor(object layerKey, Color color) @@ -1028,7 +955,6 @@ namespace Robust.Client.GameObjects // And set to said frame. theLayer.Texture = state.GetFrame(correctDir, theLayer.AnimationFrame).icon; Layers[layer] = theLayer; - RedrawQueued = true; } public void LayerSetAnimationTime(object layerKey, float animationTime) @@ -1106,51 +1032,12 @@ namespace Robust.Client.GameObjects public ISpriteProxy CreateProxy() { - if (GameController.OnGodot) - { - var item = VS.CanvasItemCreate(); - RedrawQueued = true; - return CreateMirror(item); - } - var key = NextMirrorKey++; var mirror = new SpriteMirror(key, this); Mirrors.Add(key, new MirrorData()); return mirror; } - ISpriteProxy CreateMirror(Godot.RID item) - { - var key = NextMirrorKey++; - var mirror = new SpriteMirror(key, this, item); - var data = new MirrorData - { - Root = item, - Children = new List(), - Visible = true, - }; - Mirrors.Add(key, data); - return mirror; - } - - public override void OnAdd() - { - base.OnAdd(); - - if (GameController.OnGodot) - { - SceneNode = new Godot.Node2D() - { - Name = "Sprite", - ZIndex = (int) drawDepth, - Scale = scale.Convert(), - Position = offset.Convert(), - Modulate = color.Convert(), - Rotation = (float) rotation, - }; - } - } - public override void OnRemove() { base.OnRemove(); @@ -1159,91 +1046,6 @@ namespace Robust.Client.GameObjects { DisposeMirror(key); } - - if (GameController.OnGodot) - { - MainMirror.Dispose(); - } - - if (GameController.OnGodot) - { - SceneNode.QueueFree(); - } - } - - public override void Initialize() - { - base.Initialize(); - - if (!GameController.OnGodot) - { - return; - } - - MainMirror = CreateMirror(SceneNode.GetCanvasItem()); - var mir = Mirrors[0]; - mir.DontFree = true; - Mirrors[0] = mir; - ((IGodotTransformComponent) Owner.Transform).SceneNode.AddChild(SceneNode); - } - - private void ClearDraw() - { - if (!GameController.OnGodot) - { - return; - } - - foreach (var data in Mirrors.Values) - { - foreach (var item in data.Children) - { - VS.FreeRid(item); - } - - data.Children.Clear(); - } - } - - private void Redraw() - { - ClearDraw(); - - if (!GameController.OnGodot) - { - return; - } - - foreach (var data in Mirrors.Values) - { - if (!data.Visible) - { - continue; - } - - foreach (var layer in Layers) - { - if (!layer.Visible) - { - continue; - } - - var shader = layer.Shader ?? DefaultShader; - var texture = layer.Texture ?? resourceCache.GetFallback(); - - var currentItem = VS.CanvasItemCreate(); - VS.CanvasItemSetParent(currentItem, data.Root); - data.Children.Add(currentItem); - VS.CanvasItemSetMaterial(currentItem, shader.GodotMaterial.GetRid()); - - var transform = Godot.Transform2D.Identity; - DrawingHandle.SetTransform2DRotationAndScale(ref transform, -layer.Rotation, layer.Scale); - VS.CanvasItemAddSetTransform(currentItem, transform); - // Not instantiating a DrawingHandle here because those are ref types, - // and I really don't want the extra allocation. - texture.GodotTexture.Draw(currentItem, -texture.GodotTexture.GetSize() / 2, layer.Color.Convert()); - } - } } internal void OpenGLRender(DrawingHandleWorld drawingHandle, bool useWorldTransform=true) @@ -1481,12 +1283,6 @@ namespace Robust.Client.GameObjects // TODO: This entire method is a hotspot of redundant code. // This is definitely gonna deserve some optimizations later down the line. - // Counteract world rotation so this thing gets rendered straight. - if (Directional && GameController.OnGodot) - { - SceneNode.Rotation = (float) (Owner.Transform.WorldRotation - Rotation) - MathHelper.PiOver2; - } - var dirWeAreFacing = GetDir(); var dirChanged = false; @@ -1546,15 +1342,8 @@ namespace Robust.Client.GameObjects _advanceFrameAnimation(ref layer, state, layerSpecificDir); layer.Texture = state.GetFrame(layerSpecificDir, layer.AnimationFrame).icon; - RedrawQueued = true; Layers[i] = layer; } - - if (GameController.OnGodot && RedrawQueued) - { - Redraw(); - RedrawQueued = false; - } } private static void _advanceFrameAnimation(ref Layer layer, RSI.State state, RSI.State.Direction layerSpecificDir) @@ -1751,14 +1540,6 @@ namespace Robust.Client.GameObjects return; } - // TODO: Doing a full redraw when a mirror is disposed is kinda a waste. - ClearDraw(); - RedrawQueued = true; - if (!val.DontFree && GameController.OnGodot) - { - VS.FreeRid(val.Root); - } - Mirrors.Remove(key); } @@ -1772,7 +1553,6 @@ namespace Robust.Client.GameObjects var mirror = Mirrors[key]; mirror.Visible = visible; Mirrors[key] = mirror; - RedrawQueued = true; } /// @@ -1834,8 +1614,6 @@ namespace Robust.Client.GameObjects { readonly int Key; readonly SpriteComponent Master; - private Godot.RID CanvasItem; - private Godot.RID Parent; private Vector2 _offset; public Vector2 Offset @@ -1845,7 +1623,6 @@ namespace Robust.Client.GameObjects { CheckDisposed(); _offset = value; - UpdateTransform(); } } @@ -1861,11 +1638,6 @@ namespace Robust.Client.GameObjects } } - public SpriteMirror(int key, SpriteComponent master, Godot.RID canvasItem) : this(key, master) - { - CanvasItem = canvasItem; - } - public SpriteMirror(int key, SpriteComponent master) { Master = master; @@ -1882,24 +1654,6 @@ namespace Robust.Client.GameObjects } } - private void UpdateTransform() - { - if (!GameController.OnGodot) - { - return; - } - - var transform = new Godot.Transform2D(0, Offset.Convert()); - VS.CanvasItemSetTransform(CanvasItem, transform); - } - - public void AttachToItem(Godot.RID item) - { - CheckDisposed(); - Parent = item; - VS.CanvasItemSetParent(CanvasItem, Parent); - } - public void Dispose() { if (Disposed) @@ -1916,24 +1670,16 @@ namespace Robust.Client.GameObjects Dispose(false); } - void Dispose(bool disposing) + private void Dispose(bool disposing) { Master.DisposeMirror(Key); - if (GameController.OnGodot) - { - CanvasItem = null; - } - Disposed = true; } } - struct MirrorData + private struct MirrorData { - public Godot.RID Root; - public List Children; - public bool Visible; // Don't free the canvas item if it's the scene node item. diff --git a/Robust.Client/GameObjects/Components/Transform/GodotTransformComponent.cs b/Robust.Client/GameObjects/Components/Transform/GodotTransformComponent.cs deleted file mode 100644 index 65f9a81bb..000000000 --- a/Robust.Client/GameObjects/Components/Transform/GodotTransformComponent.cs +++ /dev/null @@ -1,100 +0,0 @@ -using Robust.Client.Graphics.ClientEye; -using Robust.Client.Interfaces; -using Robust.Client.Interfaces.GameObjects.Components; -using Robust.Client.Utility; -using Robust.Shared.GameObjects.Components.Transform; -using Robust.Shared.Interfaces.GameObjects.Components; -using Robust.Shared.IoC; -using Robust.Shared.Maths; - -namespace Robust.Client.GameObjects -{ - internal class GodotTransformComponent : TransformComponent, IGodotTransformComponent - { - public Godot.Node2D SceneNode { get; private set; } - - IGodotTransformComponent IGodotTransformComponent.Parent => (IGodotTransformComponent)Parent; - - private bool visibleWhileParented; - - [Dependency] private readonly ISceneTreeHolder _sceneTreeHolder; - - public override bool VisibleWhileParented - { - get => visibleWhileParented; - set - { - visibleWhileParented = value; - UpdateSceneVisibility(); - } - } - - protected override void SetPosition(Vector2 position) - { - base.SetPosition(position); - SceneNode.Position = (position * EyeManager.PIXELSPERMETER * new Vector2(1, -1)).Rounded().Convert(); - } - - protected override void SetRotation(Angle rotation) - { - base.SetRotation(rotation); - SceneNode.Rotation = -(float) rotation + MathHelper.PiOver2; - } - - private void UpdateSceneVisibility() - { - SceneNode.Visible = VisibleWhileParented || IsMapTransform; - } - - public override void AttachParent(ITransformComponent parent) - { - if (parent == null) - { - return; - } - - base.AttachParent(parent); - SceneNode.GetParent().RemoveChild(SceneNode); - ((IGodotTransformComponent)parent).SceneNode.AddChild(SceneNode); - UpdateSceneVisibility(); - } - - public override void DetachParent() - { - if (Parent == null) - { - return; - } - - ((IGodotTransformComponent)Parent)?.SceneNode?.RemoveChild(SceneNode); - base.DetachParent(); - _sceneTreeHolder.WorldRoot.AddChild(SceneNode); - UpdateSceneVisibility(); - } - - public override void OnAdd() - { - base.OnAdd(); - SceneNode = new Godot.Node2D - { - Name = $"Transform {Owner.Uid} ({Owner.Name})", - Rotation = MathHelper.PiOver2 - }; - _sceneTreeHolder.WorldRoot.AddChild(SceneNode); - } - - public override void OnRemove() - { - base.OnRemove(); - - foreach (var child in SceneNode.GetChildren()) - { - SceneNode.RemoveChild((Godot.Node)child); - } - - SceneNode.QueueFree(); - SceneNode.Dispose(); - SceneNode = null; - } - } -} diff --git a/Robust.Client/GameObjects/EntitySystems/AudioSystem.cs b/Robust.Client/GameObjects/EntitySystems/AudioSystem.cs index a4d37ca64..c5a8ce8c1 100644 --- a/Robust.Client/GameObjects/EntitySystems/AudioSystem.cs +++ b/Robust.Client/GameObjects/EntitySystems/AudioSystem.cs @@ -1,7 +1,5 @@ using Robust.Client.Audio; -using Robust.Client.Graphics.ClientEye; using Robust.Client.Interfaces; -using Robust.Client.Interfaces.GameObjects.Components; using Robust.Client.Interfaces.ResourceManagement; using Robust.Client.ResourceManagement; using Robust.Shared.Audio; @@ -12,7 +10,6 @@ using Robust.Shared.Interfaces.Network; using Robust.Shared.IoC; using Robust.Shared.Log; using Robust.Client.Interfaces.Graphics; -using Robust.Client.Utility; using Robust.Shared.Interfaces.Map; using Robust.Shared.Map; using Robust.Shared.Utility; @@ -23,17 +20,11 @@ namespace Robust.Client.GameObjects.EntitySystems { public class AudioSystem : EntitySystem { - [Dependency] private readonly ISceneTreeHolder sceneTree; [Dependency] private readonly IResourceCache resourceCache; [Dependency] private readonly IMapManager _mapManager; private IClyde _clyde; - private uint LastPlayKey; - - private readonly Dictionary PlayingGodotStreams = - new Dictionary(); - private readonly List PlayingClydeStreams = new List(); public override void Initialize() @@ -117,30 +108,7 @@ namespace Robust.Client.GameObjects.EntitySystems Source = source, }; PlayingClydeStreams.Add(playing); - return; } - - if (GameController.Mode != GameController.DisplayMode.Godot) - { - return; - } - - var player = new Godot.AudioStreamPlayer() - { - Stream = stream.GodotAudioStream, - Playing = true, - }; - if (audioParams != null) - { - var val = audioParams.Value; - player.Bus = val.BusName; - player.VolumeDb = val.Volume; - //player.PitchScale = val.PitchScale; - player.MixTarget = (Godot.AudioStreamPlayer.MixTargetEnum) val.MixTarget; - } - - sceneTree.WorldRoot.AddChild(player); - TrackGodotPlayer(player); } /// @@ -179,32 +147,7 @@ namespace Robust.Client.GameObjects.EntitySystems TrackingEntity = entity, }; PlayingClydeStreams.Add(playing); - return; } - - if (GameController.Mode != GameController.DisplayMode.Godot) - { - return; - } - - var parent = entity.GetComponent().SceneNode; - var player = new Godot.AudioStreamPlayer2D() - { - Stream = stream.GodotAudioStream, - Playing = true - }; - if (audioParams != null) - { - var val = audioParams.Value; - player.Bus = val.BusName; - player.VolumeDb = val.Volume; - //player.PitchScale = val.PitchScale; - player.Attenuation = val.Attenuation; - player.MaxDistance = EyeManager.PIXELSPERMETER * val.MaxDistance; - } - - parent.AddChild(player); - TrackGodotPlayer(player); } /// @@ -243,33 +186,7 @@ namespace Robust.Client.GameObjects.EntitySystems TrackingCoordinates = coordinates }; PlayingClydeStreams.Add(playing); - return; } - - if (GameController.Mode != GameController.DisplayMode.Godot) - { - return; - } - - var player = new Godot.AudioStreamPlayer2D() - { - Stream = stream.GodotAudioStream, - Playing = true, - // TODO: Handle grid and map of the coordinates. - Position = (coordinates.Position * EyeManager.PIXELSPERMETER).Convert() - }; - if (audioParams != null) - { - var val = audioParams.Value; - player.Bus = audioParams.Value.BusName; - player.VolumeDb = val.Volume; - //player.PitchScale = val.PitchScale; - player.Attenuation = val.Attenuation; - player.MaxDistance = EyeManager.PIXELSPERMETER * val.MaxDistance; - } - - sceneTree.WorldRoot.AddChild(player); - TrackGodotPlayer(player); } public override void HandleNetMessage(INetChannel channel, EntitySystemMessage message) @@ -311,35 +228,6 @@ namespace Robust.Client.GameObjects.EntitySystems } } - private void TrackGodotPlayer(Godot.Node player) - { - var key = LastPlayKey++; - var signal = new GodotGlue.GodotSignalSubscriber0(); - signal.Connect(player, "finished"); - signal.Signal += () => { CleanupAudioPlayer(key); }; - PlayingGodotStreams[key] = new PlayingGodotStream() - { - Player = player, - Signal = signal - }; - } - - private void CleanupAudioPlayer(uint key) - { - var stream = PlayingGodotStreams[key]; - stream.Signal.Disconnect(stream.Player, "finished"); - stream.Signal.Dispose(); - stream.Player.QueueFree(); - stream.Player.Dispose(); - PlayingGodotStreams.Remove(key); - } - - private struct PlayingGodotStream - { - public Godot.Node Player; - public GodotGlue.GodotSignalSubscriber0 Signal; - } - private class PlayingClydeStream { public IClydeAudioSource Source; diff --git a/Robust.Client/GameObjects/GodotComponentFactory.cs b/Robust.Client/GameObjects/GodotComponentFactory.cs deleted file mode 100644 index 0a7b65265..000000000 --- a/Robust.Client/GameObjects/GodotComponentFactory.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Robust.Client.Interfaces.GameObjects.Components; -using Robust.Shared.Interfaces.GameObjects.Components; - -namespace Robust.Client.GameObjects -{ - public class GodotComponentFactory : ClientComponentFactory - { - public GodotComponentFactory() : base() - { - Register(overwrite: true); - RegisterReference(); - RegisterReference(); - } - } -} diff --git a/Robust.Client/Graphics/ClientEye/Eye.cs b/Robust.Client/Graphics/ClientEye/Eye.cs index 84036f54f..3d7b07c60 100644 --- a/Robust.Client/Graphics/ClientEye/Eye.cs +++ b/Robust.Client/Graphics/ClientEye/Eye.cs @@ -10,7 +10,6 @@ namespace Robust.Client.Graphics.ClientEye public class Eye : IEye, IDisposable { protected IEyeManager eyeManager; - public Godot.Camera2D GodotCamera { get; private set; } private bool disposed = false; public bool Current @@ -34,19 +33,7 @@ namespace Robust.Client.Graphics.ClientEye } } - private Vector2 _zoom = Vector2.One; - public Vector2 Zoom - { - get => _zoom; - set - { - _zoom = value; - if (GameController.OnGodot) - { - GodotCamera.Zoom = value.Convert(); - } - } - } + public Vector2 Zoom { get; set; } = Vector2.One; private MapCoordinates _position; @@ -61,14 +48,6 @@ namespace Robust.Client.Graphics.ClientEye public Eye() { eyeManager = IoCManager.Resolve(); - if (GameController.OnGodot) - { - GodotCamera = new Godot.Camera2D() - { - DragMarginHEnabled = false, - DragMarginVEnabled = false, - }; - } } protected virtual void Dispose(bool disposing) @@ -80,14 +59,6 @@ namespace Robust.Client.Graphics.ClientEye Current = false; eyeManager = null; } - - if (!GameController.OnGodot) - { - return; - } - GodotCamera.QueueFree(); - GodotCamera.Dispose(); - GodotCamera = null; } public void Dispose() diff --git a/Robust.Client/Graphics/ClientEye/EyeManager.cs b/Robust.Client/Graphics/ClientEye/EyeManager.cs index ba04c6bbf..b7ee52411 100644 --- a/Robust.Client/Graphics/ClientEye/EyeManager.cs +++ b/Robust.Client/Graphics/ClientEye/EyeManager.cs @@ -32,24 +32,7 @@ namespace Robust.Client.Graphics.ClientEye return; } - if (GameController.OnGodot) - { - currentEye.GodotCamera.Current = false; - } - - if (value != null) - { - currentEye = value; - } - else - { - currentEye = defaultEye; - } - - if (GameController.OnGodot) - { - currentEye.GodotCamera.Current = true; - } + currentEye = value ?? defaultEye; } } @@ -76,11 +59,6 @@ namespace Robust.Client.Graphics.ClientEye { defaultEye = new FixedEye(); currentEye = defaultEye; - - if (GameController.OnGodot) - { - currentEye.GodotCamera.Current = true; - } } public void Dispose() diff --git a/Robust.Client/Graphics/ClientEye/FixedEye.cs b/Robust.Client/Graphics/ClientEye/FixedEye.cs index d1a9e5173..50665ba6a 100644 --- a/Robust.Client/Graphics/ClientEye/FixedEye.cs +++ b/Robust.Client/Graphics/ClientEye/FixedEye.cs @@ -1,41 +1,9 @@ -using Robust.Client.Interfaces; -using Robust.Client.Utility; -using Robust.Shared.IoC; -using Robust.Shared.Map; -using Robust.Shared.Maths; - -namespace Robust.Client.Graphics.ClientEye +namespace Robust.Client.Graphics.ClientEye { /// /// A fixed eye is an eye which is fixed to one point, its position. /// public class FixedEye : Eye { - public override MapCoordinates Position - { - get => base.Position; - internal set - { - if (GameController.OnGodot) - { - GodotCamera.Position = value.Position.Convert(); - } - - base.Position = value; - } - } - - private readonly ISceneTreeHolder sceneTree; - - public FixedEye() - { - if (!GameController.OnGodot) - { - return; - } - - sceneTree = IoCManager.Resolve(); - sceneTree.WorldRoot.AddChild(GodotCamera); - } } } diff --git a/Robust.Client/Graphics/DisplayManagerGodot.cs b/Robust.Client/Graphics/DisplayManagerGodot.cs deleted file mode 100644 index 6765a0fd8..000000000 --- a/Robust.Client/Graphics/DisplayManagerGodot.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using Robust.Client.GodotGlue; -using Robust.Client.Interfaces; -using Robust.Client.Interfaces.Graphics; -using Robust.Client.Utility; -using Robust.Shared.IoC; -using Robust.Shared.Maths; - -namespace Robust.Client.Graphics -{ - internal class DisplayManagerGodot : DisplayManager - { - [Dependency] private readonly ISceneTreeHolder _sceneTreeHolder; - - public override Vector2i ScreenSize => (Vector2i)Godot.OS.WindowSize.Convert(); - - private GodotSignalSubscriber0 _rootViewportSizeChangedSubscriber; - - public override void SetWindowTitle(string title) - { - Godot.OS.SetWindowTitle(title); - } - - public override void Initialize() - { - ReloadConfig(); - - _rootViewportSizeChangedSubscriber = new GodotSignalSubscriber0(); - _rootViewportSizeChangedSubscriber.Connect(_sceneTreeHolder.SceneTree.Root, "size_changed"); - _rootViewportSizeChangedSubscriber.Signal += () => - { - // TODO: Uh maybe send oldSize correctly here. - OnWindowResized?.Invoke(new WindowResizedEventArgs(Vector2i.Zero, ScreenSize)); - }; - } - - protected override void ReloadConfig() - { - base.ReloadConfig(); - - Godot.OS.VsyncEnabled = VSync; - Godot.OS.WindowFullscreen = WindowMode == WindowMode.Fullscreen; - } - - public override event Action OnWindowResized; - } -} diff --git a/Robust.Client/Graphics/Drawing/DrawingHandle.cs b/Robust.Client/Graphics/Drawing/DrawingHandle.cs index 82d71a8de..7400c3022 100644 --- a/Robust.Client/Graphics/Drawing/DrawingHandle.cs +++ b/Robust.Client/Graphics/Drawing/DrawingHandle.cs @@ -6,7 +6,6 @@ using Robust.Client.Utility; using Robust.Shared.Interfaces.GameObjects; using Robust.Shared.Maths; using Robust.Shared.Utility; -using VS = Godot.VisualServer; namespace Robust.Client.Graphics.Drawing { @@ -15,21 +14,11 @@ namespace Robust.Client.Graphics.Drawing /// public abstract class DrawingHandle : IDisposable { - // Use RIDs in the theoretical case some nerd wants to draw something WITHOUT consulting the scene tree. - // Also it's probably faster or some shit. - - internal Godot.RID Item { get; } private protected IRenderHandle _renderHandle; private protected readonly int _handleId; public bool Disposed { get; private set; } public Color Modulate { get; set; } = Color.White; - internal DrawingHandle(Godot.RID item) - { - DebugTools.Assert(GameController.Mode == GameController.DisplayMode.Godot); - Item = item ?? throw new ArgumentNullException(nameof(item)); - } - internal DrawingHandle() { DebugTools.Assert(GameController.Mode == GameController.DisplayMode.Headless); @@ -58,26 +47,12 @@ namespace Robust.Client.Graphics.Drawing matrix.R1C2 += position.Y; _renderHandle.SetModelTransform(matrix, _handleId); } - else if (Item != null) - { - var transform = Godot.Transform2D.Identity.Rotated((float) rotation.Theta).Scaled(scale.Convert()); - SetTransform2DRotationAndScale(ref transform, rotation.Theta, scale); - transform.origin = position.Convert(); - VS.CanvasItemAddSetTransform(Item, transform); - } } public void SetTransform(in Matrix3 matrix) { CheckDisposed(); - if (_renderHandle != null) - { - _renderHandle.SetModelTransform(matrix, _handleId); - } - else if (Item != null) - { - VS.CanvasItemAddSetTransform(Item, matrix.Convert()); - } + _renderHandle?.SetModelTransform(matrix, _handleId); } internal void UseShader(Shader shader) @@ -86,13 +61,6 @@ namespace Robust.Client.Graphics.Drawing _renderHandle?.UseShader(shader, _handleId); } - // Effectively equivalent to Godot's internal Transform2D::set_rotation_and_scale defined in math_2d.h. - internal static void SetTransform2DRotationAndScale(ref Godot.Transform2D transform, double rot, Vector2 scale) - { - transform.x = new Godot.Vector2((float) Math.Cos(rot), (float) Math.Sin(rot)) * scale.X; - transform.y = new Godot.Vector2(-(float) Math.Sin(rot), (float) Math.Cos(rot)) * scale.Y; - } - protected void CheckDisposed() { if (Disposed) @@ -114,10 +82,6 @@ namespace Robust.Client.Graphics.Drawing { private const int PPM = EyeManager.PIXELSPERMETER; - internal DrawingHandleWorld(Godot.RID item) : base(item) - { - } - internal DrawingHandleWorld(IRenderHandle handle, int handleId) : base(handle, handleId) { } @@ -129,10 +93,7 @@ namespace Robust.Client.Graphics.Drawing public override void DrawCircle(Vector2 position, float radius, Color color) { CheckDisposed(); - if (Item != null) - { - VS.CanvasItemAddCircle(Item, ToPixelCoords(position), radius * PPM, (Modulate * color).Convert()); - } + // TODO: Implement this. } public override void DrawLine(Vector2 from, Vector2 to, Color color, float width = 1, bool antiAliased = false) @@ -142,11 +103,6 @@ namespace Robust.Client.Graphics.Drawing { _renderHandle.DrawLine(from, to, color, _handleId); } - else if (Item != null) - { - VS.CanvasItemAddLine(Item, ToPixelCoords(from), ToPixelCoords(to), (Modulate * color).Convert(), width, - antiAliased); - } } public override void DrawTexture(Texture texture, Vector2 position, Color? modulate = null, @@ -160,10 +116,6 @@ namespace Robust.Client.Graphics.Drawing _renderHandle.DrawTextureRect(texture, position, position + (texture.Size / (float) EyeManager.PIXELSPERMETER), actualModulate, null, _handleId); } - else if (Item != null) - { - texture.GodotTexture.Draw(Item, ToPixelCoords(position), actualModulate.Convert(), false, normalMap); - } } public void DrawTextureRect(Texture texture, Box2 rect, bool tile, Color? modulate = null, @@ -176,28 +128,16 @@ namespace Robust.Client.Graphics.Drawing _renderHandle.DrawTextureRect(texture, rect.BottomLeft, rect.TopRight, actualModulate, null, _handleId); } - else if (Item != null) - { - texture.GodotTexture.DrawRect(Item, ToPixelCoords(rect), tile, actualModulate.Convert(), transpose, - normalMap); - } } public void DrawRect(Box2 rect, Color color, bool filled = true) { CheckDisposed(); color *= Modulate; - if (filled) + if (filled && _renderHandle != null) { - if (_renderHandle != null) - { - _renderHandle.DrawTextureRect(Texture.White, rect.BottomLeft, rect.TopRight, color, null, - _handleId); - } - else if (Item != null) - { - VS.CanvasItemAddRect(Item, ToPixelCoords(rect), color.Convert()); - } + _renderHandle.DrawTextureRect(Texture.White, rect.BottomLeft, rect.TopRight, color, null, + _handleId); } else { @@ -207,24 +147,10 @@ namespace Robust.Client.Graphics.Drawing DrawLine(rect.BottomLeft, rect.TopLeft, color); } } - - private static Godot.Vector2 ToPixelCoords(Vector2 vec) - { - return (vec * new Vector2(1, -1) * PPM).Convert(); - } - - private static Godot.Rect2 ToPixelCoords(Box2 box) - { - return new Godot.Rect2(box.Left * PPM, -box.Top * PPM, box.Width * PPM, box.Height * PPM); - } } public sealed class DrawingHandleScreen : DrawingHandle { - internal DrawingHandleScreen(Godot.RID item) : base(item) - { - } - internal DrawingHandleScreen(IRenderHandle handle, int handleId) : base(handle, handleId) { } @@ -236,13 +162,8 @@ namespace Robust.Client.Graphics.Drawing public override void DrawCircle(Vector2 position, float radius, Color color) { - if (!GameController.OnGodot) - { - return; - } - CheckDisposed(); - VS.CanvasItemAddCircle(Item, position.Convert(), radius, (color * Modulate).Convert()); + // TODO: Implement this. } public void DrawStyleBox(StyleBox styleBox, UIBox2 box) @@ -253,14 +174,7 @@ namespace Robust.Client.Graphics.Drawing } CheckDisposed(); - if (GameController.OnGodot) - { - styleBox.GodotStyleBox.Draw(Item, box.Convert()); - } - else - { - styleBox.Draw(this, box); - } + styleBox.Draw(this, box); } public override void DrawLine(Vector2 from, Vector2 to, Color color, float width = 1, bool antiAliased = false) @@ -270,28 +184,16 @@ namespace Robust.Client.Graphics.Drawing { _renderHandle.DrawLine(from, to, color, _handleId); } - else if (Item != null) - { - VS.CanvasItemAddLine(Item, from.Convert(), to.Convert(), (Modulate * color).Convert(), width, - antiAliased); - } } public void DrawRect(UIBox2 rect, Color color, bool filled = true) { CheckDisposed(); color *= Modulate; - if (filled) + if (filled && _renderHandle != null) { - if (_renderHandle != null) - { _renderHandle.DrawTextureRect(Texture.White, rect.TopLeft, rect.BottomRight, color, null, _handleId); - } - else if (Item != null) - { - VS.CanvasItemAddRect(Item, rect.Convert(), color.Convert()); - } } else { @@ -309,15 +211,8 @@ namespace Robust.Client.Graphics.Drawing var actualModulate = (modulate ?? Color.White) * Modulate; - if (_renderHandle != null) - { - _renderHandle.DrawTextureRect(texture, position, position + texture.Size, actualModulate, null, - _handleId); - } - else if (Item != null) - { - texture.GodotTexture.Draw(Item, position.Convert(), actualModulate.Convert(), false, normalMap); - } + _renderHandle?.DrawTextureRect(texture, position, position + texture.Size, actualModulate, null, + _handleId); } public void DrawTextureRect(Texture texture, UIBox2 rect, bool tile, Color? modulate = null, @@ -325,30 +220,15 @@ namespace Robust.Client.Graphics.Drawing { CheckDisposed(); var actualModulate = (modulate ?? Color.White) * Modulate; - if (_renderHandle != null) - { - _renderHandle.DrawTextureRect(texture, rect.TopLeft, rect.BottomRight, actualModulate, null, _handleId); - } - else if (Item != null) - { - texture.GodotTexture.DrawRect(Item, rect.Convert(), tile, actualModulate.Convert(), transpose, - normalMap); - } + _renderHandle?.DrawTextureRect(texture, rect.TopLeft, rect.BottomRight, actualModulate, null, _handleId); } public void DrawTextureRectRegion(Texture texture, UIBox2 rect, UIBox2 subRegion, Color? modulate = null) { CheckDisposed(); var actualModulate = (modulate ?? Color.White) * Modulate; - if (_renderHandle != null) - { - _renderHandle.DrawTextureRect(texture, rect.TopLeft, rect.BottomRight, actualModulate, subRegion, - _handleId); - } - else if (Item != null) - { - texture.GodotTexture.DrawRect(Item, rect.Convert(), false, actualModulate.Convert()); - } + _renderHandle?.DrawTextureRect(texture, rect.TopLeft, rect.BottomRight, actualModulate, subRegion, + _handleId); } public void SetScissor(in UIBox2i? scissorBox) diff --git a/Robust.Client/Graphics/Drawing/StyleBox.cs b/Robust.Client/Graphics/Drawing/StyleBox.cs index 7c772f42f..21f1bfb05 100644 --- a/Robust.Client/Graphics/Drawing/StyleBox.cs +++ b/Robust.Client/Graphics/Drawing/StyleBox.cs @@ -12,8 +12,6 @@ namespace Robust.Client.Graphics.Drawing [PublicAPI] public abstract class StyleBox { - internal abstract Godot.StyleBox GodotStyleBox { get; } - public Vector2 MinimumSize => new Vector2(GetContentMargin(Margin.Left) + GetContentMargin(Margin.Right), GetContentMargin(Margin.Top) + GetContentMargin(Margin.Bottom)); @@ -25,21 +23,7 @@ namespace Robust.Client.Graphics.Drawing public float? ContentMarginLeftOverride { - get - { - if (!GameController.OnGodot) - { - return _contentMarginLeft; - } - - var c = GodotStyleBox.ContentMarginLeft; - if (c < 0) - { - return null; - } - - return c; - } + get => _contentMarginLeft; set { if (value < 0) @@ -47,34 +31,13 @@ namespace Robust.Client.Graphics.Drawing throw new ArgumentOutOfRangeException(nameof(value), value, "Value cannot be less than zero."); } - if (GameController.OnGodot) - { - GodotStyleBox.ContentMarginLeft = value ?? -1; - } - else - { - _contentMarginLeft = value; - } + _contentMarginLeft = value; } } public float? ContentMarginTopOverride { - get - { - if (!GameController.OnGodot) - { - return _contentMarginTop; - } - - var c = GodotStyleBox.ContentMarginTop; - if (c < 0) - { - return null; - } - - return c; - } + get => _contentMarginTop; set { if (value < 0) @@ -82,34 +45,13 @@ namespace Robust.Client.Graphics.Drawing throw new ArgumentOutOfRangeException(nameof(value), value, "Value cannot be less than zero."); } - if (GameController.OnGodot) - { - GodotStyleBox.ContentMarginTop = value ?? -1; - } - else - { - _contentMarginTop = value; - } + _contentMarginTop = value; } } public float? ContentMarginRightOverride { - get - { - if (!GameController.OnGodot) - { - return _contentMarginRight; - } - - var c = GodotStyleBox.ContentMarginRight; - if (c < 0) - { - return null; - } - - return c; - } + get => _contentMarginRight; set { if (value < 0) @@ -117,34 +59,13 @@ namespace Robust.Client.Graphics.Drawing throw new ArgumentOutOfRangeException(nameof(value), value, "Value cannot be less than zero."); } - if (GameController.OnGodot) - { - GodotStyleBox.ContentMarginRight = value ?? -1; - } - else - { - _contentMarginRight = value; - } + _contentMarginRight = value; } } public float? ContentMarginBottomOverride { - get - { - if (!GameController.OnGodot) - { - return _contentMarginBottom; - } - - var c = GodotStyleBox.ContentMarginBottom; - if (c < 0) - { - return null; - } - - return c; - } + get => _contentMarginBottom; set { if (value < 0) @@ -152,36 +73,17 @@ namespace Robust.Client.Graphics.Drawing throw new ArgumentOutOfRangeException(nameof(value), value, "Value cannot be less than zero."); } - if (GameController.OnGodot) - { - GodotStyleBox.ContentMarginBottom = value ?? -1; - } - else - { - _contentMarginBottom = value; - } + _contentMarginBottom = value; } } public void Draw(DrawingHandleScreen handle, UIBox2 box) { - if (GameController.OnGodot) - { - GodotStyleBox.Draw(handle.Item, box.Convert()); - } - else - { - DoDraw(handle, box); - } + DoDraw(handle, box); } public float GetContentMargin(Margin margin) { - if (GameController.OnGodot) - { - return GodotStyleBox.GetMargin((Godot.Margin) margin); - } - float? marginData; switch (margin) { @@ -301,23 +203,14 @@ namespace Robust.Client.Graphics.Drawing /// public class StyleBoxTexture : StyleBox { - private readonly Godot.StyleBoxTexture gdStyleBox; - internal override Godot.StyleBox GodotStyleBox => gdStyleBox; - public StyleBoxTexture() { - if (!GameController.OnGodot) - { - return; - } - - gdStyleBox = new Godot.StyleBoxTexture(); } /// /// Clones a stylebox so it can be separately modified. /// - public StyleBoxTexture(StyleBoxTexture copy) : this() + public StyleBoxTexture(StyleBoxTexture copy) { PatchMarginTop = copy.PatchMarginTop; PatchMarginLeft = copy.PatchMarginLeft; @@ -327,80 +220,19 @@ namespace Robust.Client.Graphics.Drawing Modulate = copy.Modulate; } - private float _expandMarginLeft; - private float _expandMarginRight; - private float _expandMarginTop; - private float _expandMarginBottom; + public float ExpandMarginLeft { get; set; } - public float ExpandMarginLeft - { - get => GameController.OnGodot ? gdStyleBox.ExpandMarginLeft : _expandMarginLeft; - set - { - if (GameController.OnGodot) - { - gdStyleBox.ExpandMarginLeft = value; - } - else - { - _expandMarginLeft = value; - } - } - } + public float ExpandMarginTop { get; set; } - public float ExpandMarginTop - { - get => GameController.OnGodot ? gdStyleBox.ExpandMarginTop : _expandMarginTop; - set - { - if (GameController.OnGodot) - { - gdStyleBox.ExpandMarginTop = value; - } - else - { - _expandMarginTop = value; - } - } - } + public float ExpandMarginBottom { get; set; } - public float ExpandMarginBottom - { - get => GameController.OnGodot ? gdStyleBox.ExpandMarginBottom : _expandMarginBottom; - set - { - if (GameController.OnGodot) - { - gdStyleBox.ExpandMarginBottom = value; - } - else - { - _expandMarginBottom = value; - } - } - } - - public float ExpandMarginRight - { - get => GameController.OnGodot ? gdStyleBox.ExpandMarginRight : _expandMarginRight; - set - { - if (GameController.OnGodot) - { - gdStyleBox.ExpandMarginRight = value; - } - else - { - _expandMarginRight = value; - } - } - } + public float ExpandMarginRight { get; set; } private float _patchMarginLeft; public float PatchMarginLeft { - get => GameController.OnGodot ? gdStyleBox.MarginLeft : _patchMarginLeft; + get => _patchMarginLeft; set { if (value < 0) @@ -408,14 +240,7 @@ namespace Robust.Client.Graphics.Drawing throw new ArgumentOutOfRangeException(nameof(value), value, "Value cannot be less than zero."); } - if (GameController.OnGodot) - { - gdStyleBox.MarginLeft = value; - } - else - { - _patchMarginLeft = value; - } + _patchMarginLeft = value; } } @@ -423,7 +248,7 @@ namespace Robust.Client.Graphics.Drawing public float PatchMarginRight { - get => GameController.OnGodot ? gdStyleBox.MarginRight : _patchMarginRight; + get => _patchMarginRight; set { if (value < 0) @@ -431,14 +256,7 @@ namespace Robust.Client.Graphics.Drawing throw new ArgumentOutOfRangeException(nameof(value), value, "Value cannot be less than zero."); } - if (GameController.OnGodot) - { - gdStyleBox.MarginRight = value; - } - else - { - _patchMarginRight = value; - } + _patchMarginRight = value; } } @@ -446,7 +264,7 @@ namespace Robust.Client.Graphics.Drawing public float PatchMarginTop { - get => GameController.OnGodot ? gdStyleBox.MarginTop : _patchMarginTop; + get => _patchMarginTop; set { if (value < 0) @@ -454,14 +272,7 @@ namespace Robust.Client.Graphics.Drawing throw new ArgumentOutOfRangeException(nameof(value), value, "Value cannot be less than zero."); } - if (GameController.OnGodot) - { - gdStyleBox.MarginTop = value; - } - else - { - _patchMarginTop = value; - } + _patchMarginTop = value; } } @@ -469,7 +280,7 @@ namespace Robust.Client.Graphics.Drawing public float PatchMarginBottom { - get => GameController.OnGodot ? gdStyleBox.MarginBottom : _patchMarginBottom; + get => _patchMarginBottom; set { if (value < 0) @@ -477,53 +288,13 @@ namespace Robust.Client.Graphics.Drawing throw new ArgumentOutOfRangeException(nameof(value), value, "Value cannot be less than zero."); } - if (GameController.OnGodot) - { - gdStyleBox.MarginBottom = value; - } - else - { - _patchMarginBottom = value; - } + _patchMarginBottom = value; } } - private Color _modulate = Color.White; + public Color Modulate { get; set; } = Color.White; - public Color Modulate - { - get => GameController.OnGodot ? gdStyleBox.ModulateColor.Convert() : _modulate; - set - { - if (GameController.OnGodot) - { - gdStyleBox.ModulateColor = value.Convert(); - } - else - { - _modulate = value; - } - } - } - - private Texture _texture; - - public Texture Texture - { - // In Godot 3.0, StyleBoxTexture.Texture is a plain resource. - // So we need this cast. - // ReSharper disable once RedundantCast - get => _texture ?? (GameController.OnGodot ? new GodotTextureSource((Godot.Texture)gdStyleBox.Texture) : null); - // Woo implicit casts. - set - { - _texture = value; - if (GameController.OnGodot) - { - gdStyleBox.Texture = value; - } - } - } + public Texture Texture { get; set; } [Obsolete("Use SetPatchMargin")] public void SetMargin(Margin margin, float value) @@ -592,7 +363,7 @@ namespace Robust.Client.Graphics.Drawing // Draw top left var topLeftBox = new UIBox2(0, 0, PatchMarginLeft, PatchMarginTop) .Translated(box.TopLeft); - handle.DrawTextureRectRegion(_texture, topLeftBox, + handle.DrawTextureRectRegion(Texture, topLeftBox, new UIBox2(0, 0, PatchMarginLeft, PatchMarginTop), Modulate); } @@ -601,7 +372,7 @@ namespace Robust.Client.Graphics.Drawing var leftBox = new UIBox2(0, PatchMarginTop, PatchMarginLeft, box.Height - PatchMarginBottom) .Translated(box.TopLeft); - handle.DrawTextureRectRegion(_texture, leftBox, + handle.DrawTextureRectRegion(Texture, leftBox, new UIBox2(0, PatchMarginTop, PatchMarginLeft, Texture.Height - PatchMarginBottom), Modulate); } @@ -611,7 +382,7 @@ namespace Robust.Client.Graphics.Drawing var bottomLeftBox = new UIBox2(0, box.Height - PatchMarginBottom, PatchMarginLeft, box.Height) .Translated(box.TopLeft); - handle.DrawTextureRectRegion(_texture, bottomLeftBox, + handle.DrawTextureRectRegion(Texture, bottomLeftBox, new UIBox2(0, Texture.Height - PatchMarginBottom, PatchMarginLeft, Texture.Height), Modulate); } } @@ -623,7 +394,7 @@ namespace Robust.Client.Graphics.Drawing // Draw top right var topRightBox = new UIBox2(box.Width - PatchMarginRight, 0, box.Width, PatchMarginTop) .Translated(box.TopLeft); - handle.DrawTextureRectRegion(_texture, topRightBox, + handle.DrawTextureRectRegion(Texture, topRightBox, new UIBox2(Texture.Width - PatchMarginRight, 0, Texture.Width, PatchMarginTop), Modulate); } @@ -633,7 +404,7 @@ namespace Robust.Client.Graphics.Drawing new UIBox2(box.Width - PatchMarginRight, PatchMarginTop, box.Width, box.Height - PatchMarginBottom) .Translated(box.TopLeft); - handle.DrawTextureRectRegion(_texture, rightBox, + handle.DrawTextureRectRegion(Texture, rightBox, new UIBox2(Texture.Width - PatchMarginRight, PatchMarginTop, Texture.Width, Texture.Height - PatchMarginBottom), Modulate); } @@ -644,7 +415,7 @@ namespace Robust.Client.Graphics.Drawing var bottomRightBox = new UIBox2(box.Width - PatchMarginRight, box.Height - PatchMarginBottom, box.Width, box.Height) .Translated(box.TopLeft); - handle.DrawTextureRectRegion(_texture, bottomRightBox, + handle.DrawTextureRectRegion(Texture, bottomRightBox, new UIBox2(Texture.Width - PatchMarginRight, Texture.Height - PatchMarginBottom, Texture.Width, Texture.Height), Modulate); } @@ -656,7 +427,7 @@ namespace Robust.Client.Graphics.Drawing var topBox = new UIBox2(PatchMarginLeft, 0, box.Width - PatchMarginRight, PatchMarginTop) .Translated(box.TopLeft); - handle.DrawTextureRectRegion(_texture, topBox, + handle.DrawTextureRectRegion(Texture, topBox, new UIBox2(PatchMarginLeft, 0, Texture.Width - PatchMarginRight, PatchMarginTop), Modulate); } @@ -667,7 +438,7 @@ namespace Robust.Client.Graphics.Drawing new UIBox2(PatchMarginLeft, box.Height - PatchMarginBottom, box.Width - PatchMarginRight, box.Height) .Translated(box.TopLeft); - handle.DrawTextureRectRegion(_texture, bottomBox, + handle.DrawTextureRectRegion(Texture, bottomBox, new UIBox2(PatchMarginLeft, Texture.Height - PatchMarginBottom, Texture.Width - PatchMarginRight, Texture.Height), Modulate); } @@ -677,7 +448,7 @@ namespace Robust.Client.Graphics.Drawing var centerBox = new UIBox2(PatchMarginLeft, PatchMarginTop, box.Width - PatchMarginRight, box.Height - PatchMarginBottom).Translated(box.TopLeft); - handle.DrawTextureRectRegion(_texture, centerBox, + handle.DrawTextureRectRegion(Texture, centerBox, new UIBox2(PatchMarginLeft, PatchMarginTop, Texture.Width - PatchMarginRight, Texture.Height - PatchMarginBottom), Modulate); } @@ -703,73 +474,19 @@ namespace Robust.Client.Graphics.Drawing public class StyleBoxFlat : StyleBox { - private Color _backgroundColor; - - public Color BackgroundColor - { - get => GameController.OnGodot ? stylebox.BgColor.Convert() : _backgroundColor; - set - { - if (GameController.OnGodot) - { - stylebox.BgColor = value.Convert(); - } - else - { - _backgroundColor = value; - } - } - } - - private readonly Godot.StyleBoxFlat stylebox; - internal override Godot.StyleBox GodotStyleBox => stylebox; - - public StyleBoxFlat() - { - if (GameController.OnGodot) - { - stylebox = new Godot.StyleBoxFlat(); - } - } + public Color BackgroundColor { get; set; } protected override void DoDraw(DrawingHandleScreen handle, UIBox2 box) { - handle.DrawRect(box, _backgroundColor); + handle.DrawRect(box, BackgroundColor); } } public class StyleBoxEmpty : StyleBox { - internal override Godot.StyleBox GodotStyleBox { get; } - - public StyleBoxEmpty() - { - if (!GameController.OnGodot) - { - return; - } - - GodotStyleBox = new Godot.StyleBoxEmpty(); - } - protected override void DoDraw(DrawingHandleScreen handle, UIBox2 box) { // It's empty what more do you want? } } - - internal class GodotStyleBoxWrap : StyleBox - { - public GodotStyleBoxWrap(Godot.StyleBox godotStyleBox) - { - GodotStyleBox = godotStyleBox; - } - - internal override Godot.StyleBox GodotStyleBox { get; } - - protected override void DoDraw(DrawingHandleScreen handle, UIBox2 box) - { - throw new NotImplementedException(); - } - } } diff --git a/Robust.Client/Graphics/Font.cs b/Robust.Client/Graphics/Font.cs index ee97209a5..1e68e2a14 100644 --- a/Robust.Client/Graphics/Font.cs +++ b/Robust.Client/Graphics/Font.cs @@ -14,22 +14,20 @@ namespace Robust.Client.Graphics /// public abstract class Font { - internal abstract Godot.Font GodotFont { get; } - /// /// The maximum amount a glyph goes above the baseline. /// - public virtual int Ascent => (int?)GodotFont?.GetAscent() ?? default; + public virtual int Ascent => default; /// /// The maximum glyph height of a line of text, not relative to the baseline. /// - public virtual int Height => (int?)GodotFont?.GetHeight() ?? default; + public virtual int Height => default; /// /// The maximum amount a glyph drops below the baseline. /// - public virtual int Descent => (int?)GodotFont?.GetDescent() ?? default; + public virtual int Descent => default; /// /// The distance between the baselines of two consecutive lines. @@ -42,11 +40,6 @@ namespace Robust.Client.Graphics /// public int LineSeparation => LineHeight - Height; - public static implicit operator Godot.Font(Font font) - { - return font?.GodotFont; - } - // Yes, I am aware that using char is bad. // At the same time the font system is nowhere close to rendering Unicode so... /// @@ -97,10 +90,6 @@ namespace Robust.Client.Graphics { public int Size { get; } - internal override Godot.Font GodotFont => _font; - - private readonly Godot.DynamicFont _font; - internal IFontInstanceHandle Handle { get; } public override int Ascent => Handle?.Ascent ?? base.Ascent; @@ -111,24 +100,11 @@ namespace Robust.Client.Graphics public VectorFont(FontResource res, int size) { Size = size; - if (GameController.OnGodot) - { - _font = new Godot.DynamicFont - { - FontData = res.FontData, - Size = size, - }; - } - else - { - Handle = IoCManager.Resolve().MakeInstance(res.FontFaceHandle, size); - } + Handle = IoCManager.Resolve().MakeInstance(res.FontFaceHandle, size); } public override float DrawChar(DrawingHandleScreen handle, char chr, Vector2 baseline, Color color) { - DebugTools.Assert(!GameController.OnGodot); - var metrics = Handle.GetCharMetrics(chr); if (!metrics.HasValue) { @@ -154,13 +130,6 @@ namespace Robust.Client.Graphics internal sealed class GodotWrapFont : Font { - public GodotWrapFont(Godot.Font godotFont) - { - GodotFont = godotFont; - } - - internal override Godot.Font GodotFont { get; } - public override float DrawChar(DrawingHandleScreen handle, char chr, Vector2 baseline, Color color) { throw new NotImplementedException(); @@ -174,7 +143,6 @@ namespace Robust.Client.Graphics public sealed class DummyFont : Font { - internal override Godot.Font GodotFont => null; public override float DrawChar(DrawingHandleScreen handle, char chr, Vector2 baseline, Color color) { // Nada, it's a dummy after all. diff --git a/Robust.Client/Graphics/Lighting/LightManager.Light.cs b/Robust.Client/Graphics/Lighting/LightManager.Light.cs index 0c51e6285..c48127bec 100644 --- a/Robust.Client/Graphics/Lighting/LightManager.Light.cs +++ b/Robust.Client/Graphics/Lighting/LightManager.Light.cs @@ -15,25 +15,17 @@ namespace Robust.Client.Graphics.Lighting { public Vector2 Offset { - get => GameController.OnGodot ? Light2D.Offset.Convert() : default; + get => default; set { - if (GameController.OnGodot) - { - Light2D.Offset = value.Convert(); - } } } public Angle Rotation { - get => GameController.OnGodot ? new Angle(Light2D.GlobalRotation) : default; + get => default; set { - if (GameController.OnGodot) - { - Light2D.GlobalRotation = (float) value.Theta; - } } } @@ -50,11 +42,6 @@ namespace Robust.Client.Graphics.Lighting } color = value; - - if (GameController.OnGodot) - { - Light2D.Color = value.Convert(); - } } } @@ -71,11 +58,6 @@ namespace Robust.Client.Graphics.Lighting } textureScale = value; - - if (GameController.OnGodot) - { - Light2D.TextureScale = value; - } } } @@ -92,10 +74,6 @@ namespace Robust.Client.Graphics.Lighting } energy = value; - if (GameController.OnGodot) - { - Light2D.Energy = value; - } } } @@ -133,10 +111,6 @@ namespace Robust.Client.Graphics.Lighting } texture = value; - if (GameController.OnGodot) - { - Light2D.Texture = value; - } } } @@ -156,74 +130,22 @@ namespace Robust.Client.Graphics.Lighting private LightManager Manager; private LightingSystem System => Manager.System; - private Godot.Light2D Light2D; - private IGodotTransformComponent parentTransform; - private Godot.Vector2 CurrentPos; public Light(LightManager manager) { Manager = manager; - if (GameController.OnGodot) - { - Light2D = new Godot.Light2D() - { - // TODO: Allow this to be modified. - ShadowEnabled = true, - ShadowFilter = Godot.Light2D.ShadowFilterEnum.Pcf5, - }; - - if (Manager.System == LightingSystem.Disabled) - { - Light2D.Enabled = Light2D.Visible = false; - } - } - Mode = new LightModeConstant(); Mode.Start(this); - - if (GameController.OnGodot && System == LightingSystem.Deferred) - { - Manager.deferredViewport.AddChild(Light2D); - } } public void DeParent() { - if (GameController.OnGodot) - { - if (System == LightingSystem.Deferred) - { - Light2D.Position = new Godot.Vector2(0, 0); - } - else - { - parentTransform.SceneNode.RemoveChild(Light2D); - } - } - UpdateEnabled(); } public void ParentTo(ITransformComponent node) { - if (!GameController.OnGodot) - { - return; - } - - if (System != LightingSystem.Deferred) - { - if (parentTransform != null) - { - DeParent(); - } - - ((IGodotTransformComponent) node).SceneNode.AddChild(Light2D); - } - - parentTransform = (IGodotTransformComponent) node; - UpdateEnabled(); } public void Dispose() @@ -238,14 +160,6 @@ namespace Robust.Client.Graphics.Lighting Manager.RemoveLight(this); Disposed = true; - - if (!GameController.OnGodot) - { - return; - } - - Light2D.QueueFree(); - Light2D.Dispose(); } private static ILightMode GetModeInstance(LightModeClass modeClass) @@ -262,26 +176,10 @@ namespace Robust.Client.Graphics.Lighting public void UpdateEnabled() { - if (GameController.OnGodot) - { - Light2D.Visible = Enabled && Manager.Enabled && parentTransform != null; - } } public void FrameProcess(FrameEventArgs args) { -// TODO: Maybe use OnMove events to make this less expensive. - if (!GameController.OnGodot || Manager.System != LightingSystem.Deferred || - parentTransform == null) - { - return; - } - - var newpos = parentTransform.SceneNode.GlobalPosition; - if (CurrentPos != newpos) - { - Light2D.Position = newpos; - } } } } diff --git a/Robust.Client/Graphics/Lighting/LightManager.Occluder.cs b/Robust.Client/Graphics/Lighting/LightManager.Occluder.cs index 273d44480..7d8d9f773 100644 --- a/Robust.Client/Graphics/Lighting/LightManager.Occluder.cs +++ b/Robust.Client/Graphics/Lighting/LightManager.Occluder.cs @@ -28,46 +28,19 @@ namespace Robust.Client.Graphics.Lighting private LightManager Manager; - private Godot.OccluderPolygon2D occluderPolygon; - private Godot.LightOccluder2D occluder; - private bool Deferred => Manager.System == LightingSystem.Deferred; public OccluderCullMode CullMode { - get => GameController.OnGodot ? (OccluderCullMode) occluderPolygon.CullMode : default; + get => default; set { - if (GameController.OnGodot) - { - occluderPolygon.CullMode = (Godot.OccluderPolygon2D.CullModeEnum) value; - } } } - - private IGodotTransformComponent parentTransform; - private Godot.Vector2 CurrentPos; - public Occluder(LightManager manager) { Manager = manager; - - if (!GameController.OnGodot) - { - return; - } - - occluderPolygon = new Godot.OccluderPolygon2D(); - occluder = new Godot.LightOccluder2D() - { - Occluder = occluderPolygon, - }; - - if (Deferred) - { - Manager.deferredViewport.AddChild(occluder); - } } public void Dispose() @@ -80,94 +53,27 @@ namespace Robust.Client.Graphics.Lighting Manager.RemoveOccluder(this); Disposed = true; - - if (!GameController.OnGodot) - { - return; - } - - occluder.QueueFree(); - occluder.Dispose(); - - occluderPolygon.Dispose(); } public void SetPolygon(Vector2[] polygon) { - if (!GameController.OnGodot) - { - return; - } - - var converted = new Godot.Vector2[polygon.Length]; - for (var i = 0; i < polygon.Length; i++) - { - converted[i] = polygon[i].Convert(); - } - - occluderPolygon.Polygon = converted; } public void DeParent() { - if (!GameController.OnGodot) - { - return; - } - - if (Deferred) - { - occluder.Position = new Godot.Vector2(0, 0); - } - else - { - parentTransform.SceneNode.RemoveChild(occluder); - } - - UpdateEnabled(); } public void ParentTo(ITransformComponent node) { - if (!GameController.OnGodot) - { - return; - } - - if (!Deferred) - { - ((IGodotTransformComponent) node).SceneNode.AddChild(occluder); - } - - parentTransform = (IGodotTransformComponent) node; - UpdateEnabled(); } private void UpdateEnabled() { - if (GameController.OnGodot) - { - occluder.Visible = parentTransform != null && Enabled; - } } public void FrameProcess(FrameEventArgs args) { - if (!GameController.OnGodot) - { - return; - } - - // TODO: Maybe use OnMove events to make this less expensive. - if (Deferred && parentTransform != null) - { - var newPos = parentTransform.SceneNode.GlobalPosition; - if (CurrentPos != newPos) - { - occluder.Position = newPos; - } - } } } } diff --git a/Robust.Client/Graphics/Lighting/LightManager.cs b/Robust.Client/Graphics/Lighting/LightManager.cs index 52b268a21..e45858c4a 100644 --- a/Robust.Client/Graphics/Lighting/LightManager.cs +++ b/Robust.Client/Graphics/Lighting/LightManager.cs @@ -24,7 +24,6 @@ namespace Robust.Client.Graphics.Lighting { public sealed partial class LightManager : ILightManager, IDisposable, IPostInjectInit { - [Dependency] readonly ISceneTreeHolder sceneTreeHolder; [Dependency] readonly IConfigurationManager configManager; [Dependency] readonly IResourceCache resourceCache; @@ -41,7 +40,6 @@ namespace Robust.Client.Graphics.Lighting } enabled = value; - UpdateEnabled(); } } @@ -50,14 +48,6 @@ namespace Robust.Client.Graphics.Lighting private LightingSystem System = LightingSystem.Normal; - private Godot.CanvasModulate canvasModulate; - private Godot.Viewport rootViewport; - private Godot.Viewport deferredViewport; - private Godot.CanvasLayer deferredMaskLayer; - private Godot.Sprite deferredMaskBackground; - private Godot.Sprite deferredMaskSprite; - private GodotGlue.GodotSignalSubscriber0 deferredSizeChangedSubscriber; - private bool disposed = false; public void PostInject() @@ -69,97 +59,8 @@ namespace Robust.Client.Graphics.Lighting public void Initialize() { System = configManager.GetCVar("display.lighting_system"); - if (!GameController.OnGodot) - { - return; - } - - canvasModulate = new Godot.CanvasModulate() - { - // Black - Color = new Godot.Color(0.1f, 0.1f, 0.1f), - Name = "LightingCanvasModulate" - }; - rootViewport = sceneTreeHolder.SceneTree.Root; - - if (System == LightingSystem.Deferred) - { - deferredViewport = new Godot.Viewport - { - Name = "LightingViewport", - RenderTargetUpdateMode = Godot.Viewport.UpdateMode.Always, - RenderTargetVFlip = true, - }; - deferredViewport.AddChild(canvasModulate); - rootViewport.AddChild(deferredViewport); - - var whiteTex = - resourceCache.GetResource(new ResourcePath(@"/Textures/Effects/Light/white.png")); - deferredMaskBackground = new Godot.Sprite() - { - Name = "DeferredMaskBackground", - Texture = whiteTex.Texture.GodotTexture, - Centered = false, - }; - deferredViewport.AddChild(deferredMaskBackground); - - deferredSizeChangedSubscriber = new GodotGlue.GodotSignalSubscriber0(); - deferredSizeChangedSubscriber.Connect(rootViewport, "size_changed"); - deferredSizeChangedSubscriber.Signal += OnWindowSizeChanged; - - deferredMaskLayer = new Godot.CanvasLayer() - { - Name = "LightingMaskLayer", - Layer = CanvasLayers.LAYER_DEFERRED_LIGHTING, - }; - rootViewport.AddChild(deferredMaskLayer); - - CreateDeferMaskSprite(); - OnWindowSizeChanged(); - } - else if (System == LightingSystem.Normal) - { - sceneTreeHolder.WorldRoot.AddChild(canvasModulate); - } } - - private void OnWindowSizeChanged() - { - if (System == LightingSystem.Deferred) - { - var size = sceneTreeHolder.SceneTree.Root.Size; - deferredViewport.Size = size; - deferredMaskBackground.Scale = size; - // Needs to be re-created because otherwise it seems to not acknowledge the updated texture size? - // Might be a better way to do this. - CreateDeferMaskSprite(); - } - } - - private void CreateDeferMaskSprite() - { - if (deferredMaskSprite != null) - { - deferredMaskSprite.QueueFree(); - deferredMaskSprite.Dispose(); - } - - var mat = new Godot.CanvasItemMaterial() - { - BlendMode = Godot.CanvasItemMaterial.BlendModeEnum.Mul - }; - deferredMaskSprite = new Godot.Sprite - { - Name = "LightingDeferMask", - Texture = deferredViewport.GetTexture(), - Centered = false, - Material = mat, - }; - deferredMaskLayer.AddChild(deferredMaskSprite); - } - - public void Dispose() { if (disposed) @@ -172,41 +73,6 @@ namespace Robust.Client.Graphics.Lighting { light.Dispose(); } - - if (!GameController.OnGodot) - { - return; - } - - if (System == LightingSystem.Deferred) - { - deferredSizeChangedSubscriber.Disconnect(rootViewport, "size_changed"); - deferredSizeChangedSubscriber.Dispose(); - deferredSizeChangedSubscriber = null; - } - - rootViewport = null; - - if (System == LightingSystem.Deferred) - { - deferredViewport.QueueFree(); - deferredViewport.Dispose(); - deferredViewport = null; - - deferredMaskLayer.QueueFree(); - deferredMaskLayer.Dispose(); - deferredMaskLayer = null; - - // These are implicitly freed by the other free calls. - deferredMaskBackground.Dispose(); - deferredMaskBackground = null; - deferredMaskSprite.Dispose(); - deferredMaskSprite = null; - } - - canvasModulate.QueueFree(); - canvasModulate.Dispose(); - canvasModulate = null; } public ILight MakeLight() @@ -240,33 +106,8 @@ namespace Robust.Client.Graphics.Lighting occluders.Remove(occluder); } - private void UpdateEnabled() - { - if (!GameController.OnGodot) - { - return; - } - if (System == LightingSystem.Deferred) - { - deferredMaskSprite.Visible = Enabled; - } - - foreach (var light in lights) - { - light.UpdateEnabled(); - } - } - public void FrameUpdate(RenderFrameEventArgs args) { - if (GameController.OnGodot && System == LightingSystem.Deferred) - { - var transform = rootViewport.CanvasTransform; - deferredViewport.CanvasTransform = transform; - deferredMaskBackground.Transform = transform.Inverse(); - deferredMaskBackground.Scale = rootViewport.Size; - } - foreach (var light in lights) { light.FrameProcess(args); diff --git a/Robust.Client/Graphics/Overlays/Overlay.cs b/Robust.Client/Graphics/Overlays/Overlay.cs index e8c953c49..674c0e7b5 100644 --- a/Robust.Client/Graphics/Overlays/Overlay.cs +++ b/Robust.Client/Graphics/Overlays/Overlay.cs @@ -7,7 +7,6 @@ using System.Collections.Generic; using JetBrains.Annotations; using Robust.Client.Graphics.Clyde; using Robust.Shared.Utility; -using VS = Godot.VisualServer; namespace Robust.Client.Graphics.Overlays { @@ -32,44 +31,14 @@ namespace Robust.Client.Graphics.Overlays private IRenderHandle _renderHandle; - private Shader _shader; + public Shader Shader { get; set; } - public Shader Shader - { - get => _shader; - set - { - _shader = value; - if (GameController.OnGodot && MainCanvasItem != null) - { - VS.CanvasItemSetMaterial(MainCanvasItem, value?.GodotMaterial?.GetRid()); - } - } - } - - private int? _zIndex; - public int? ZIndex - { - get => _zIndex; - set - { - if (value != null && (_zIndex > VS.CanvasItemZMax || _zIndex < VS.CanvasItemZMin)) - { - throw new ArgumentOutOfRangeException(nameof(value)); - } - - _zIndex = value; - UpdateZIndex(); - } - } + public int? ZIndex { get; set; } public virtual bool SubHandlesUseMainShader { get; } = true; private bool _isDirty = true; - private Godot.RID MainCanvasItem; - - private readonly List CanvasItems = new List(); private readonly List TempHandles = new List(); private bool Disposed; @@ -80,13 +49,6 @@ namespace Robust.Client.Graphics.Overlays ID = id; } - internal void AssignCanvasItem(Godot.RID canvasItem) - { - MainCanvasItem = canvasItem; - Shader?.ApplyToCanvasItem(MainCanvasItem); - UpdateZIndex(); - } - public void Dispose() { if (Disposed) @@ -106,7 +68,6 @@ namespace Robust.Client.Graphics.Overlays protected virtual void Dispose(bool disposing) { - ClearDraw(); } protected abstract void Draw(DrawingHandle handle); @@ -162,37 +123,6 @@ namespace Robust.Client.Graphics.Overlays return handle; } - case GameController.DisplayMode.Godot: - { - var item = VS.CanvasItemCreate(); - VS.CanvasItemSetParent(item, MainCanvasItem); - CanvasItems.Add(item); - if (shader != null) - { - shader.ApplyToCanvasItem(item); - } - else - { - VS.CanvasItemSetUseParentMaterial(item, SubHandlesUseMainShader); - } - - DrawingHandle handle; - switch (Space) - { - case OverlaySpace.ScreenSpaceBelowWorld: - case OverlaySpace.ScreenSpace: - handle = new DrawingHandleScreen(item); - break; - case OverlaySpace.WorldSpace: - handle = new DrawingHandleWorld(item); - break; - default: - throw new ArgumentOutOfRangeException(); - } - - TempHandles.Add(handle); - return handle; - } default: throw new ArgumentOutOfRangeException(); } @@ -205,42 +135,6 @@ namespace Robust.Client.Graphics.Overlays internal void FrameUpdate(RenderFrameEventArgs args) { - if (!IsDirty || !GameController.OnGodot) - { - return; - } - - ClearDraw(); - - try - { - Drawing = true; - DrawingHandle handle; - switch (Space) - { - case OverlaySpace.ScreenSpaceBelowWorld: - case OverlaySpace.ScreenSpace: - handle = new DrawingHandleScreen(MainCanvasItem); - break; - case OverlaySpace.WorldSpace: - handle = new DrawingHandleWorld(MainCanvasItem); - break; - default: - throw new ArgumentOutOfRangeException(); - } - - Draw(handle); - } - finally - { - Drawing = false; - foreach (var handle in TempHandles) - { - handle.Dispose(); - } - - TempHandles.Clear(); - } } internal void OpenGLRender(IRenderHandle renderHandle) @@ -265,42 +159,6 @@ namespace Robust.Client.Graphics.Overlays Drawing = false; } } - - private void ClearDraw() - { - if (!GameController.OnGodot) - { - return; - } - - foreach (var item in CanvasItems) - { - VS.FreeRid(item); - } - - VS.CanvasItemClear(MainCanvasItem); - - CanvasItems.Clear(); - } - - private void UpdateZIndex() - { - if (MainCanvasItem == null || !GameController.OnGodot) - { - return; - } - - if (Space != OverlaySpace.WorldSpace || ZIndex == null) - { - VS.CanvasItemSetZIndex(MainCanvasItem, 0); - VS.CanvasItemSetZAsRelativeToParent(MainCanvasItem, true); - } - else - { - VS.CanvasItemSetZIndex(MainCanvasItem, ZIndex.Value); - VS.CanvasItemSetZAsRelativeToParent(MainCanvasItem, false); - } - } } diff --git a/Robust.Client/Graphics/Overlays/OverlayManager.cs b/Robust.Client/Graphics/Overlays/OverlayManager.cs index 7d07bcbad..9d789cffa 100644 --- a/Robust.Client/Graphics/Overlays/OverlayManager.cs +++ b/Robust.Client/Graphics/Overlays/OverlayManager.cs @@ -5,40 +5,12 @@ using Robust.Shared.IoC; using System; using System.Collections.Generic; using Robust.Shared.Utility; -using VS = Godot.VisualServer; namespace Robust.Client.Graphics.Overlays { internal class OverlayManager : IOverlayManagerInternal { - private Godot.Node2D RootNodeWorld; - private Godot.Node2D RootNodeScreen; - private Godot.Node2D RootNodeScreenBelowWorld; - - [Dependency] readonly ISceneTreeHolder sceneTreeHolder; - private readonly Dictionary _overlays = new Dictionary(); - private readonly Dictionary _canvasItems = new Dictionary(); - - public void Initialize() - { - if (!GameController.OnGodot) - { - return; - } - - DebugTools.AssertNull(RootNodeScreenBelowWorld); - - RootNodeScreenBelowWorld = new Godot.Node2D { Name = "OverlayRoot" }; - sceneTreeHolder.BelowWorldScreenSpace.AddChild(RootNodeScreenBelowWorld); - - RootNodeWorld = new Godot.Node2D { Name = "OverlayRoot" }; - sceneTreeHolder.WorldRoot.AddChild(RootNodeWorld); - RootNodeWorld.ZIndex = (int) DrawDepth.Overlays; - - RootNodeScreen = new Godot.Node2D {Name = "OverlayRoot"}; - sceneTreeHolder.SceneTree.Root.GetNode("UILayer").AddChild(RootNodeScreen); - } public void FrameUpdate(RenderFrameEventArgs args) { @@ -56,29 +28,6 @@ namespace Robust.Client.Graphics.Overlays } _overlays.Add(overlay.ID, overlay); - if (GameController.OnGodot) - { - Godot.RID parent; - switch (overlay.Space) - { - case OverlaySpace.ScreenSpace: - parent = RootNodeScreen.GetCanvasItem(); - break; - case OverlaySpace.WorldSpace: - parent = RootNodeWorld.GetCanvasItem(); - break; - case OverlaySpace.ScreenSpaceBelowWorld: - parent = RootNodeScreenBelowWorld.GetCanvasItem(); - break; - default: - throw new NotImplementedException($"Unknown overlay space: {overlay.Space}"); - } - - var item = VS.CanvasItemCreate(); - VS.CanvasItemSetParent(item, parent); - overlay.AssignCanvasItem(item); - _canvasItems.Add(overlay, item); - } } public Overlay GetOverlay(string id) @@ -105,13 +54,6 @@ namespace Robust.Client.Graphics.Overlays overlay.Dispose(); _overlays.Remove(id); - - if (GameController.OnGodot) - { - var item = _canvasItems[overlay]; - _canvasItems.Remove(overlay); - VS.FreeRid(item); - } } public bool TryGetOverlay(string id, out Overlay overlay) diff --git a/Robust.Client/Graphics/Shaders/Shader.cs b/Robust.Client/Graphics/Shaders/Shader.cs index 0544191e0..fc349ada9 100644 --- a/Robust.Client/Graphics/Shaders/Shader.cs +++ b/Robust.Client/Graphics/Shaders/Shader.cs @@ -4,7 +4,6 @@ namespace Robust.Client.Graphics.Shaders { public sealed class Shader { - internal readonly Godot.Material GodotMaterial; internal readonly int ClydeHandle = -1; // We intentionally leak shaders to work around Godot issue #24108 @@ -16,20 +15,9 @@ namespace Robust.Client.Graphics.Shaders } - internal Shader(Godot.Material godotMaterial) - { - LeakyLeaky.Add(this); - GodotMaterial = godotMaterial; - } - internal Shader(int clydeHandle) { ClydeHandle = clydeHandle; } - - internal void ApplyToCanvasItem(Godot.RID item) - { - Godot.VisualServer.CanvasItemSetMaterial(item, GodotMaterial.GetRid()); - } } } diff --git a/Robust.Client/Graphics/Shaders/ShaderPrototype.cs b/Robust.Client/Graphics/Shaders/ShaderPrototype.cs index c0bd4609d..803078df5 100644 --- a/Robust.Client/Graphics/Shaders/ShaderPrototype.cs +++ b/Robust.Client/Graphics/Shaders/ShaderPrototype.cs @@ -10,8 +10,6 @@ using System; using System.Collections.Generic; using Robust.Client.Interfaces.Graphics; using YamlDotNet.RepresentationModel; -using BlendModeEnum = Godot.CanvasItemMaterial.BlendModeEnum; -using LightModeEnum = Godot.CanvasItemMaterial.LightModeEnum; namespace Robust.Client.Graphics.Shaders { @@ -28,7 +26,10 @@ namespace Robust.Client.Graphics.Shaders // Canvas shader variables. private LightModeEnum LightMode; +#pragma warning disable 414 + // TODO: Use this. private BlendModeEnum BlendMode; +#pragma warning restore 414 private Shader _canvasKindInstance; @@ -41,8 +42,6 @@ namespace Robust.Client.Graphics.Shaders { case GameController.DisplayMode.Headless: return new Shader(); - case GameController.DisplayMode.Godot: - return _instanceGodot(); case GameController.DisplayMode.Clyde: return _instanceOpenGL(); default: @@ -83,41 +82,6 @@ namespace Robust.Client.Graphics.Shaders } } - private Shader _instanceGodot() - { - Godot.Material mat; - - switch (Kind) - { - case ShaderKind.Source: - var shaderMat = new Godot.ShaderMaterial - { - Shader = Source.GodotShader - }; - mat = shaderMat; - if (ShaderParams != null) - { - foreach (var pair in ShaderParams) - { - shaderMat.SetShaderParam(pair.Key, pair.Value); - } - } - - break; - case ShaderKind.Canvas: - mat = new Godot.CanvasItemMaterial - { - LightMode = LightMode, - BlendMode = BlendMode, - }; - break; - default: - throw new InvalidOperationException(); - } - - return new Shader(mat); - } - public void LoadFrom(YamlMappingNode mapping) { ID = mapping.GetNode("id").ToString(); @@ -201,15 +165,15 @@ namespace Robust.Client.Graphics.Shaders break; case "subtract": - BlendMode = BlendModeEnum.Sub; + BlendMode = BlendModeEnum.Subtract; break; case "multiply": - BlendMode = BlendModeEnum.Mul; + BlendMode = BlendModeEnum.Multiply; break; case "premultiplied_alpha": - BlendMode = BlendModeEnum.PremultAlpha; + BlendMode = BlendModeEnum.PremultipliedAlpha; break; default: @@ -218,49 +182,6 @@ namespace Robust.Client.Graphics.Shaders } } - private object ParseShaderParamFor(YamlNode node, ShaderParamType type) - { - if (!GameController.OnGodot) - { - throw new NotImplementedException(); - } - switch (type) - { - case ShaderParamType.Void: - throw new NotSupportedException(); - case ShaderParamType.Bool: - return node.AsBool(); - case ShaderParamType.Int: - case ShaderParamType.UInt: - return node.AsInt(); - case ShaderParamType.Float: - return node.AsFloat(); - case ShaderParamType.Vec2: - return node.AsVector2().Convert(); - case ShaderParamType.Vec3: - return node.AsVector3().Convert(); - case ShaderParamType.Vec4: - try - { - return node.AsColor().Convert(); - } - catch - { - var vec4 = node.AsVector4(); - return new Godot.Quat(vec4.X, vec4.Y, vec4.Z, vec4.W); - } - - case ShaderParamType.Sampler2D: - var path = node.AsResourcePath(); - var resc = IoCManager.Resolve(); - return resc.GetResource(path).Texture.GodotTexture; - - // If something's not handled here, then that's probably because I was lazy. - default: - throw new NotImplementedException(); - } - } - enum ShaderKind { Source, @@ -279,5 +200,21 @@ void fragment() { COLOR = texture(TEXTURE, UV); } "; + + private enum LightModeEnum + { + Normal = 0, + Unshaded = 1, + LightOnly = 2, + } + + private enum BlendModeEnum + { + Mix = 0, + Add = 1, + Subtract = 2, + Multiply = 3, + PremultipliedAlpha = 4, + } } } diff --git a/Robust.Client/Graphics/Texture.cs b/Robust.Client/Graphics/Texture.cs index ba4cd239c..0aa1f0505 100644 --- a/Robust.Client/Graphics/Texture.cs +++ b/Robust.Client/Graphics/Texture.cs @@ -21,8 +21,6 @@ namespace Robust.Client.Graphics [PublicAPI] public abstract class Texture : IDirectionalTextureProvider { - internal abstract Godot.Texture GodotTexture { get; } - /// /// The width of the texture, in pixels. /// @@ -35,11 +33,6 @@ namespace Robust.Client.Graphics public Vector2i Size => new Vector2i(Width, Height); - public static implicit operator Godot.Texture(Texture src) - { - return src?.GodotTexture; - } - public static Texture Transparent { get; internal set; } public static Texture White { get; internal set; } @@ -60,32 +53,6 @@ namespace Robust.Client.Graphics { case GameController.DisplayMode.Headless: return new DummyTexture(image.Width, image.Height); - case GameController.DisplayMode.Godot: - { - var stream = new MemoryStream(); - - try - { - image.SaveAsPng(stream, new PngEncoder {CompressionLevel = 1}); - - var gdImage = new Godot.Image(); - var ret = gdImage.LoadPngFromBuffer(stream.ToArray()); - if (ret != Godot.Error.Ok) - { - throw new InvalidDataException(ret.ToString()); - } - - // Godot does not provide a way to load from memory directly so we turn it into a PNG I guess. - var texture = new Godot.ImageTexture(); - texture.CreateFromImage(gdImage); - (loadParameters ?? TextureLoadParameters.Default).SampleParameters.ApplyToGodotTexture(texture); - return new GodotTextureSource(texture); - } - finally - { - stream.Dispose(); - } - } case GameController.DisplayMode.Clyde: { var manager = IoCManager.Resolve(); @@ -112,24 +79,6 @@ namespace Robust.Client.Graphics { case GameController.DisplayMode.Headless: return new DummyTexture(); - case GameController.DisplayMode.Godot: - using (var memoryStream = new MemoryStream()) - { - stream.CopyTo(memoryStream); - - var data = memoryStream.ToArray(); - var gdImage = new Godot.Image(); - var ret = gdImage.LoadPngFromBuffer(data); - if (ret != Godot.Error.Ok) - { - throw new InvalidDataException(ret.ToString()); - } - - var texture = new Godot.ImageTexture(); - texture.CreateFromImage(gdImage); - (loadParameters ?? TextureLoadParameters.Default).SampleParameters.ApplyToGodotTexture(texture); - return new GodotTextureSource(texture); - } case GameController.DisplayMode.Clyde: { var manager = IoCManager.Resolve(); @@ -186,8 +135,6 @@ namespace Robust.Client.Graphics internal sealed class DummyTexture : Texture { - internal override Godot.Texture GodotTexture => null; - public override int Width { get; } public override int Height { get; } @@ -217,21 +164,10 @@ namespace Robust.Client.Graphics DebugTools.Assert(SubRegion.Left >= 0); DebugTools.Assert(SubRegion.Top >= 0); - if (GameController.OnGodot) - { - GodotTexture = new Godot.AtlasTexture - { - Atlas = texture, - Region = subRegion.Convert() - }; - } - SubRegion = subRegion; SourceTexture = texture; } - internal override Godot.Texture GodotTexture { get; } - /// /// The texture this texture is a sub region of. /// @@ -294,39 +230,6 @@ namespace Robust.Client.Graphics /// public TextureWrapMode WrapMode { get; set; } - internal void ApplyToGodotTexture(Godot.Texture texture) - { - var flags = texture.Flags; - if (Filter) - { - flags |= (int) Godot.Texture.FlagsEnum.Filter; - } - else - { - flags &= ~(int) Godot.Texture.FlagsEnum.Filter; - } - - switch (WrapMode) - { - case TextureWrapMode.None: - flags &= ~(int) Godot.Texture.FlagsEnum.Repeat; - flags &= ~(int) Godot.Texture.FlagsEnum.MirroredRepeat; - break; - case TextureWrapMode.Repeat: - flags |= (int) Godot.Texture.FlagsEnum.Repeat; - flags &= ~(int) Godot.Texture.FlagsEnum.MirroredRepeat; - break; - case TextureWrapMode.MirroredRepeat: - flags &= ~(int) Godot.Texture.FlagsEnum.Repeat; - flags |= (int) Godot.Texture.FlagsEnum.MirroredRepeat; - break; - default: - throw new ArgumentOutOfRangeException(); - } - - texture.Flags = flags; - } - public static TextureSampleParameters FromYaml(YamlMappingNode node) { var wrap = TextureWrapMode.None; @@ -389,7 +292,6 @@ namespace Robust.Client.Graphics internal class OpenGLTexture : Texture { - internal override Godot.Texture GodotTexture => null; internal int OpenGLTextureId { get; } internal int ArrayIndex { get; } @@ -411,21 +313,4 @@ namespace Robust.Client.Graphics ArrayIndex = arrayIndex; } } - - /// - /// Wraps a texture returned by Godot itself, - /// for example when the texture was set in a GUI scene. - /// - internal class GodotTextureSource : Texture - { - internal override Godot.Texture GodotTexture { get; } - public override int Width => GodotTexture.GetWidth(); - public override int Height => GodotTexture.GetHeight(); - - public GodotTextureSource(Godot.Texture texture) - { - DebugTools.Assert(GameController.OnGodot); - GodotTexture = texture; - } - } } diff --git a/Robust.Client/Input/Events.cs b/Robust.Client/Input/Events.cs index cc52502df..39fb30e22 100644 --- a/Robust.Client/Input/Events.cs +++ b/Robust.Client/Input/Events.cs @@ -47,12 +47,6 @@ namespace Robust.Client.Input /// public void Handle() { - if (GameController.OnGodot) - { - var tree = IoCManager.Resolve(); - tree.SceneTree.SetInputAsHandled(); - } - Handled = true; } } @@ -86,22 +80,6 @@ namespace Robust.Client.Input IsRepeat = repeat; } - public static explicit operator KeyEventArgs(Godot.InputEventKey args) - { - return new KeyEventArgs(Keyboard.ConvertGodotKey(args.Scancode), - args.Echo, - args.Alt, - args.Control, - args.Shift, - args.Command); - } - - public static explicit operator KeyEventArgs(Godot.InputEventMouseButton args) - { - var key = Mouse.MouseButtonToKey((Mouse.Button) args.ButtonIndex); - return new KeyEventArgs(key, false, false, false, false, false); - } - public static explicit operator KeyEventArgs(OpenTK.Input.KeyboardKeyEventArgs args) { return new KeyEventArgs(Keyboard.ConvertOpenTKKey(args.Key), args.IsRepeat, args.Alt, args.Control, args.Shift, false); @@ -200,20 +178,6 @@ namespace Robust.Client.Input DoubleClick = doubleClick; } - public static explicit operator MouseButtonEventArgs(Godot.InputEventMouseButton inputEvent) - { - // Before cutting this up, - // this line was 281 characters long. - return new MouseButtonEventArgs((Mouse.Button) inputEvent.ButtonIndex, - inputEvent.Doubleclick, - (Mouse.ButtonMask) inputEvent.ButtonMask, - inputEvent.Position.Convert(), - inputEvent.Alt, - inputEvent.Control, - inputEvent.Shift, - inputEvent.Command); - } - public static explicit operator MouseButtonEventArgs(OpenTK.Input.MouseButtonEventArgs inputEvent) { return new MouseButtonEventArgs( @@ -244,19 +208,6 @@ namespace Robust.Client.Input WheelDirection = wheelDirection; } - public static explicit operator MouseWheelEventArgs(Godot.InputEventMouseButton inputEvent) - { - // Before cutting this up, - // this line was 281 characters long. - return new MouseWheelEventArgs((Mouse.Wheel) inputEvent.ButtonIndex, - (Mouse.ButtonMask) inputEvent.ButtonMask, - inputEvent.Position.Convert(), - inputEvent.Alt, - inputEvent.Control, - inputEvent.Shift, - inputEvent.Command); - } - public static explicit operator MouseWheelEventArgs(OpenTK.Input.MouseWheelEventArgs inputEvent) { var direction = inputEvent.Delta > 0 ? Mouse.Wheel.Up : Mouse.Wheel.Down; @@ -297,18 +248,6 @@ namespace Robust.Client.Input Speed = speed; } - public static explicit operator MouseMoveEventArgs(Godot.InputEventMouseMotion inputEvent) - { - return new MouseMoveEventArgs(inputEvent.Relative.Convert(), - inputEvent.Speed.Convert(), - (Mouse.ButtonMask) inputEvent.ButtonMask, - inputEvent.Position.Convert(), - inputEvent.Alt, - inputEvent.Control, - inputEvent.Shift, - inputEvent.Command); - } - public static explicit operator MouseMoveEventArgs(OpenTK.Input.MouseMoveEventArgs inputEvent) { return new MouseMoveEventArgs( diff --git a/Robust.Client/Input/GodotInputManager.cs b/Robust.Client/Input/GodotInputManager.cs deleted file mode 100644 index f841029df..000000000 --- a/Robust.Client/Input/GodotInputManager.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Robust.Client.Interfaces; -using Robust.Client.Utility; -using Robust.Shared.IoC; -using Robust.Shared.Maths; - -namespace Robust.Client.Input -{ - internal class GodotInputManager : InputManager - { - [Dependency] - readonly ISceneTreeHolder sceneTree; - - public override Vector2 MouseScreenPosition => sceneTree.SceneTree.Root.GetMousePosition().Convert(); - } -} diff --git a/Robust.Client/Input/InputDevices.cs b/Robust.Client/Input/InputDevices.cs index fb3bbf703..44bedc898 100644 --- a/Robust.Client/Input/InputDevices.cs +++ b/Robust.Client/Input/InputDevices.cs @@ -7,8 +7,6 @@ namespace Robust.Client.Input { public static class Mouse { - public static bool IsButtonPressed(Button button) => GameController.OnGodot ? Godot.Input.IsMouseButtonPressed((int) button) : default; - /// /// Represents one of three mouse buttons. /// @@ -212,227 +210,7 @@ namespace Robust.Client.Input F15, Pause, } - - public static Key ConvertGodotKey(int key) - { - // As far as I can tell, Godot's KeyList has complete arbitrary ordering. Seriously. - // They don't even prevent overlap if you remove the SPKEY flag (they totally could too...). - // The macOS, X11 and Windows platform layers *all* have scancode translation tables so it literally can't be "oh they took them from X11!" - // Also there are dumb scan codes like YACCUTE which *literally don't get fired ever*. - switch ((Godot.KeyList) key) - { - // Dear mother of .NET optimize this nicely for me. - case Godot.KeyList.A: - return Key.A; - case Godot.KeyList.B: - return Key.B; - case Godot.KeyList.C: - return Key.C; - case Godot.KeyList.D: - return Key.D; - case Godot.KeyList.E: - return Key.E; - case Godot.KeyList.F: - return Key.F; - case Godot.KeyList.G: - return Key.G; - case Godot.KeyList.H: - return Key.H; - case Godot.KeyList.I: - return Key.I; - case Godot.KeyList.J: - return Key.J; - case Godot.KeyList.K: - return Key.K; - case Godot.KeyList.L: - return Key.L; - case Godot.KeyList.M: - return Key.M; - case Godot.KeyList.N: - return Key.N; - case Godot.KeyList.O: - return Key.O; - case Godot.KeyList.P: - return Key.P; - case Godot.KeyList.Q: - return Key.Q; - case Godot.KeyList.R: - return Key.R; - case Godot.KeyList.S: - return Key.S; - case Godot.KeyList.T: - return Key.T; - case Godot.KeyList.U: - return Key.U; - case Godot.KeyList.V: - return Key.V; - case Godot.KeyList.W: - return Key.W; - case Godot.KeyList.X: - return Key.X; - case Godot.KeyList.Y: - return Key.Y; - case Godot.KeyList.Z: - return Key.Z; - case Godot.KeyList.Key0: - return Key.Num0; - case Godot.KeyList.Key1: - return Key.Num1; - case Godot.KeyList.Key2: - return Key.Num2; - case Godot.KeyList.Key3: - return Key.Num3; - case Godot.KeyList.Key4: - return Key.Num4; - case Godot.KeyList.Key5: - return Key.Num5; - case Godot.KeyList.Key6: - return Key.Num6; - case Godot.KeyList.Key7: - return Key.Num7; - case Godot.KeyList.Key8: - return Key.Num8; - case Godot.KeyList.Key9: - return Key.Num9; - case Godot.KeyList.Kp0: - return Key.NumpadNum0; - case Godot.KeyList.Kp1: - return Key.NumpadNum1; - case Godot.KeyList.Kp2: - return Key.NumpadNum2; - case Godot.KeyList.Kp3: - return Key.NumpadNum3; - case Godot.KeyList.Kp4: - return Key.NumpadNum4; - case Godot.KeyList.Kp5: - return Key.NumpadNum5; - case Godot.KeyList.Kp6: - return Key.NumpadNum6; - case Godot.KeyList.Kp7: - return Key.NumpadNum7; - case Godot.KeyList.Kp8: - return Key.NumpadNum8; - case Godot.KeyList.Kp9: - return Key.NumpadNum9; - case Godot.KeyList.Escape: - return Key.Escape; - case Godot.KeyList.Control: - return Key.Control; - case Godot.KeyList.Shift: - return Key.Shift; - case Godot.KeyList.Alt: - return Key.Alt; - case Godot.KeyList.SuperL: - return Key.LSystem; - case Godot.KeyList.SuperR: - return Key.RSystem; - case Godot.KeyList.Menu: - return Key.Menu; - case Godot.KeyList.Bracketleft: - return Key.LBracket; - case Godot.KeyList.Bracketright: - return Key.RBracket; - case Godot.KeyList.Semicolon: - return Key.SemiColon; - case Godot.KeyList.Comma: - return Key.Comma; - case Godot.KeyList.Period: - return Key.Period; - case Godot.KeyList.Quoteleft: - return Key.Quote; - case Godot.KeyList.Apostrophe: - return Key.Apostrophe; - case Godot.KeyList.Slash: - return Key.Slash; - case Godot.KeyList.Backslash: - return Key.BackSlash; - case Godot.KeyList.Asciitilde: - return Key.Tilde; - case Godot.KeyList.Equal: - return Key.Equal; - case Godot.KeyList.Hyphen: - return Key.Dash; - case Godot.KeyList.Space: - return Key.Space; - case Godot.KeyList.Enter: - return Key.Return; - case Godot.KeyList.KpEnter: - return Key.NumpadEnter; - case Godot.KeyList.Backspace: - return Key.BackSpace; - case Godot.KeyList.Tab: - return Key.Tab; - case Godot.KeyList.Pageup: - return Key.PageUp; - case Godot.KeyList.Pagedown: - return Key.PageDown; - case Godot.KeyList.End: - return Key.End; - case Godot.KeyList.Home: - return Key.Home; - case Godot.KeyList.Insert: - return Key.Insert; - case Godot.KeyList.Delete: - return Key.Delete; - case Godot.KeyList.Plus: - return Key.Plus; - case Godot.KeyList.Minus: - return Key.Minus; - case Godot.KeyList.Asterisk: - return Key.Asterisk; - case Godot.KeyList.KpAdd: - return Key.NumpadAdd; - case Godot.KeyList.KpSubtract: - return Key.NumpadSubtract; - case Godot.KeyList.KpDivide: - return Key.NumpadDivide; - case Godot.KeyList.KpMultiply: - return Key.NumpadMultiply; - case Godot.KeyList.Left: - return Key.Left; - case Godot.KeyList.Right: - return Key.Right; - case Godot.KeyList.Up: - return Key.Up; - case Godot.KeyList.Down: - return Key.Down; - case Godot.KeyList.F1: - return Key.F1; - case Godot.KeyList.F2: - return Key.F2; - case Godot.KeyList.F3: - return Key.F3; - case Godot.KeyList.F4: - return Key.F4; - case Godot.KeyList.F5: - return Key.F5; - case Godot.KeyList.F6: - return Key.F6; - case Godot.KeyList.F7: - return Key.F7; - case Godot.KeyList.F8: - return Key.F8; - case Godot.KeyList.F9: - return Key.F9; - case Godot.KeyList.F10: - return Key.F10; - case Godot.KeyList.F11: - return Key.F11; - case Godot.KeyList.F12: - return Key.F12; - case Godot.KeyList.F13: - return Key.F13; - case Godot.KeyList.F14: - return Key.F14; - case Godot.KeyList.F15: - return Key.F15; - case Godot.KeyList.Pause: - return Key.Pause; - default: - return Key.Unknown; - } - } - + internal static Key ConvertOpenTKKey(TKKey key) { if (OpenTKKeyMap.TryGetValue(key, out var result)) diff --git a/Robust.Client/Interfaces/GameObjects/Components/IGodotTransformComponent.cs b/Robust.Client/Interfaces/GameObjects/Components/IGodotTransformComponent.cs deleted file mode 100644 index 48ad8c904..000000000 --- a/Robust.Client/Interfaces/GameObjects/Components/IGodotTransformComponent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Robust.Shared.Interfaces.GameObjects.Components; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Robust.Client.Interfaces.GameObjects.Components -{ - public interface IGodotTransformComponent : ITransformComponent - { - new IGodotTransformComponent Parent { get; } - - Godot.Node2D SceneNode { get; } - } -} diff --git a/Robust.Client/Interfaces/GameObjects/Components/ISpriteComponent.cs b/Robust.Client/Interfaces/GameObjects/Components/ISpriteComponent.cs index b7175c3e3..46868b3dd 100644 --- a/Robust.Client/Interfaces/GameObjects/Components/ISpriteComponent.cs +++ b/Robust.Client/Interfaces/GameObjects/Components/ISpriteComponent.cs @@ -198,17 +198,5 @@ namespace Robust.Client.Interfaces.GameObjects.Components public interface ISpriteProxy : IDisposable { Vector2 Offset { get; set; } - void AttachToItem(Godot.RID item); - } - - public static class SpriteProxyExt - { - public static void AttachToControl(this ISpriteProxy mirror, Control control) - { - if (GameController.OnGodot) - { - mirror.AttachToItem(control.SceneControl.GetCanvasItem()); - } - } } } diff --git a/Robust.Client/Interfaces/Graphics/ClientEye/IEye.cs b/Robust.Client/Interfaces/Graphics/ClientEye/IEye.cs index b699545d5..f41067fef 100644 --- a/Robust.Client/Interfaces/Graphics/ClientEye/IEye.cs +++ b/Robust.Client/Interfaces/Graphics/ClientEye/IEye.cs @@ -9,8 +9,6 @@ namespace Robust.Client.Interfaces.Graphics.ClientEye /// public interface IEye { - Godot.Camera2D GodotCamera { get; } - /// /// Whether this is the current eye. If true, this one will be used. /// diff --git a/Robust.Client/Interfaces/Graphics/Overlays/IOverlayManager.cs b/Robust.Client/Interfaces/Graphics/Overlays/IOverlayManager.cs index 6b3282e50..8b3b59edf 100644 --- a/Robust.Client/Interfaces/Graphics/Overlays/IOverlayManager.cs +++ b/Robust.Client/Interfaces/Graphics/Overlays/IOverlayManager.cs @@ -22,7 +22,6 @@ namespace Robust.Client.Interfaces.Graphics.Overlays internal interface IOverlayManagerInternal : IOverlayManager { - void Initialize(); void FrameUpdate(RenderFrameEventArgs args); } } diff --git a/Robust.Client/Interfaces/ISceneTreeHolder.cs b/Robust.Client/Interfaces/ISceneTreeHolder.cs deleted file mode 100644 index 9d2e4730f..000000000 --- a/Robust.Client/Interfaces/ISceneTreeHolder.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Robust.Client.Interfaces -{ - internal interface ISceneTreeHolder - { - void Initialize(Godot.SceneTree tree); - - Godot.CanvasLayer BelowWorldScreenSpace { get; } - Godot.SceneTree SceneTree { get; } - Godot.Node2D WorldRoot { get; } - } -} diff --git a/Robust.Client/Interfaces/Map/IGodotTileDefinitionManager.cs b/Robust.Client/Interfaces/Map/IGodotTileDefinitionManager.cs deleted file mode 100644 index 54a7543c9..000000000 --- a/Robust.Client/Interfaces/Map/IGodotTileDefinitionManager.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Robust.Shared.Interfaces.Map; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Robust.Client.Interfaces.Map -{ - internal interface IGodotTileDefinitionManager : ITileDefinitionManager - { - Godot.TileSet TileSet { get; } - } -} diff --git a/Robust.Client/Log/GodotLogHandler.cs b/Robust.Client/Log/GodotLogHandler.cs deleted file mode 100644 index 09a1a461f..000000000 --- a/Robust.Client/Log/GodotLogHandler.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Robust.Shared.Interfaces.Log; -using Robust.Shared.Log; - -namespace Robust.Client.Log -{ - /// - /// Handles logs using Godot's . - /// - class GodotLogHandler : ILogHandler - { - private readonly object locker = new object(); - - public void Log(in LogMessage message) - { - var name = message.LogLevelToName(); - var msg = $"[{name}] {message.SawmillName}: {message.Message}"; - lock (locker) - { - Godot.GD.Print(msg); - } - } - } -} diff --git a/Robust.Client/Map/GodotMapManager.cs b/Robust.Client/Map/GodotMapManager.cs deleted file mode 100644 index 87f1dd064..000000000 --- a/Robust.Client/Map/GodotMapManager.cs +++ /dev/null @@ -1,75 +0,0 @@ -using Robust.Shared.Map; -using System.Collections.Generic; -using Robust.Shared.Interfaces.Map; -using Robust.Client.Interfaces.Map; -using Robust.Shared.IoC; -using Robust.Client.Interfaces; -using Robust.Shared.Log; -using Robust.Client.Graphics.ClientEye; - -namespace Robust.Client.Map -{ - public class GodotMapManager : MapManager - { - [Dependency] - private IGodotTileDefinitionManager tileDefinitionManager; - [Dependency] - private ISceneTreeHolder sceneTree; - - private Dictionary RenderTileMaps = new Dictionary(); - - public GodotMapManager() - { - if (!GameController.OnGodot) - { - return; - } - TileChanged += UpdateTileMapOnUpdate; - OnGridCreated += UpdateOnGridCreated; - OnGridRemoved += UpdateOnGridRemoved; - GridChanged += UpdateOnGridModified; - } - - private void UpdateOnGridModified(object sender, GridChangedEventArgs args) - { - var tilemap = RenderTileMaps[args.Grid.Index]; - foreach (var (index, tile) in args.Modified) - { - tilemap.SetCell(index.X, -1-index.Y, tile.TypeId); - } - } - - private void UpdateTileMapOnUpdate(object sender, TileChangedEventArgs args) - { - var tilemap = RenderTileMaps[args.NewTile.GridIndex]; - tilemap.SetCell(args.NewTile.X, -1-args.NewTile.Y, args.NewTile.Tile.TypeId); - } - - private void UpdateOnGridCreated(GridId gridId) - { - var tilemap = new Godot.TileMap - { - TileSet = tileDefinitionManager.TileSet, - // TODO: Unhardcode this cell size. - CellSize = new Godot.Vector2(EyeManager.PIXELSPERMETER, EyeManager.PIXELSPERMETER), - ZIndex = -10, - // Fiddle with this some more maybe. Increases lighting performance a TON. - CellQuadrantSize = 4, - //Visible = false, - }; - tilemap.SetName($"Grid {gridId}"); - sceneTree.WorldRoot.AddChild(tilemap); - // Creating a map makes a grid before mapcreated is fired, so... - RenderTileMaps[gridId] = tilemap; - } - - private void UpdateOnGridRemoved(GridId gridId) - { - Logger.Debug($"Removing grid {gridId}"); - var tilemap = RenderTileMaps[gridId]; - tilemap.QueueFree(); - tilemap.Dispose(); - RenderTileMaps.Remove(gridId); - } - } -} diff --git a/Robust.Client/Map/GodotTileDefinitionManager.cs b/Robust.Client/Map/GodotTileDefinitionManager.cs deleted file mode 100644 index fe841b844..000000000 --- a/Robust.Client/Map/GodotTileDefinitionManager.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Robust.Client.Interfaces.Map; -using Robust.Client.Interfaces.ResourceManagement; -using Robust.Client.ResourceManagement; -using Robust.Shared.Interfaces.Map; -using Robust.Shared.IoC; -using Robust.Shared.Map; -using System.Collections.Generic; -using Robust.Shared.Utility; - -namespace Robust.Client.Map -{ - /// - /// Special TileDefinitionManager that makes a Godot TileSet for usage by TileMaps. - /// - internal sealed class GodotTileDefinitionManager : TileDefinitionManager, IGodotTileDefinitionManager - { - [Dependency] readonly IResourceCache resourceCache; - - public Godot.TileSet TileSet { get; private set; } - - private Dictionary Textures = new Dictionary(); - - public GodotTileDefinitionManager() - { - TileSet = new Godot.TileSet(); - } - - public override void Register(ITileDefinition tileDef) - { - base.Register(tileDef); - - var id = tileDef.TileId; - TileSet.CreateTile(id); - if (string.IsNullOrEmpty(tileDef.SpriteName)) - { - return; - } - - var texture = - resourceCache.GetResource( - new ResourcePath("/Textures/Tiles/") / $@"{tileDef.SpriteName}.png"); - TileSet.TileSetTexture(id, texture.Texture.GodotTexture); - Textures[id] = texture; - } - } -} diff --git a/Robust.Client/Placement/PlacementManager.cs b/Robust.Client/Placement/PlacementManager.cs index 7c6eeb707..3fd457559 100644 --- a/Robust.Client/Placement/PlacementManager.cs +++ b/Robust.Client/Placement/PlacementManager.cs @@ -52,8 +52,6 @@ namespace Robust.Client.Placement [Dependency] public readonly IEyeManager eyeManager; [Dependency] - internal readonly ISceneTreeHolder sceneTree; - [Dependency] private readonly IInputManager _inputManager; [Dependency] private readonly IEntitySystemManager _entitySystemManager; diff --git a/Robust.Client/ResourceManagement/ResourceTypes/AudioResource.cs b/Robust.Client/ResourceManagement/ResourceTypes/AudioResource.cs index 8d9784dee..2e36ae415 100644 --- a/Robust.Client/ResourceManagement/ResourceTypes/AudioResource.cs +++ b/Robust.Client/ResourceManagement/ResourceTypes/AudioResource.cs @@ -24,20 +24,6 @@ namespace Robust.Client.ResourceManagement case GameController.DisplayMode.Headless: AudioStream = new AudioStream(); break; - case GameController.DisplayMode.Godot: - using (var fileStream = cache.ContentFileRead(path)) - { - var stream = new Godot.AudioStreamOGGVorbis() - { - Data = fileStream.ToArray(), - }; - if (stream.GetLength() == 0) - { - throw new InvalidDataException(); - } - AudioStream = new AudioStream(stream); - } - break; case GameController.DisplayMode.Clyde: using (var fileStream = cache.ContentFileRead(path)) { diff --git a/Robust.Client/ResourceManagement/ResourceTypes/FontResource.cs b/Robust.Client/ResourceManagement/ResourceTypes/FontResource.cs index 0c9110181..9dee32308 100644 --- a/Robust.Client/ResourceManagement/ResourceTypes/FontResource.cs +++ b/Robust.Client/ResourceManagement/ResourceTypes/FontResource.cs @@ -14,7 +14,6 @@ namespace Robust.Client.ResourceManagement { public class FontResource : BaseResource { - internal Godot.DynamicFontData FontData { get; private set; } internal IFontFaceHandle FontFaceHandle { get; private set; } public override void Load(IResourceCache cache, ResourcePath path) @@ -26,20 +25,6 @@ namespace Robust.Client.ResourceManagement switch (GameController.Mode) { - case GameController.DisplayMode.Godot: - if (!cache.TryGetDiskFilePath(path, out string diskPath)) - { - throw new InvalidOperationException("Fonts can only be loaded from disk."); - } - - var res = Godot.ResourceLoader.Load(diskPath); - if (!(res is Godot.DynamicFontData fontData)) - { - throw new InvalidDataException("Path does not point to a font."); - } - - FontData = fontData; - break; case GameController.DisplayMode.Headless: case GameController.DisplayMode.Clyde: FontFaceHandle = IoCManager.Resolve().Load(cache.ContentFileRead(path).ToArray()); @@ -54,13 +39,5 @@ namespace Robust.Client.ResourceManagement { return new VectorFont(this, 12); } - - public override void Dispose() - { - if (GameController.OnGodot) - { - FontData.Dispose(); - } - } } } diff --git a/Robust.Client/ResourceManagement/ResourceTypes/ShaderSourceResource.cs b/Robust.Client/ResourceManagement/ResourceTypes/ShaderSourceResource.cs index 929dffc99..aa4ae1c59 100644 --- a/Robust.Client/ResourceManagement/ResourceTypes/ShaderSourceResource.cs +++ b/Robust.Client/ResourceManagement/ResourceTypes/ShaderSourceResource.cs @@ -16,7 +16,6 @@ namespace Robust.Client.ResourceManagement.ResourceTypes /// public class ShaderSourceResource : BaseResource { - internal Godot.Shader GodotShader { get; private set; } internal int ClydeHandle { get; private set; } = -1; internal ParsedShader ParsedShader { get; private set; } @@ -32,12 +31,6 @@ namespace Robust.Client.ResourceManagement.ResourceTypes { case GameController.DisplayMode.Headless: return; - case GameController.DisplayMode.Godot: - GodotShader = new Godot.Shader - { - Code = _getGodotCode(), - }; - break; case GameController.DisplayMode.Clyde: ClydeHandle = IoCManager.Resolve().LoadShader(ParsedShader); break; @@ -45,19 +38,9 @@ namespace Robust.Client.ResourceManagement.ResourceTypes throw new ArgumentOutOfRangeException(); } - if (GameController.OnGodot) - { - GodotShader = new Godot.Shader - { - Code = _getGodotCode(), - }; - } - else - { - var clyde = IoCManager.Resolve(); - // TODO: vertex shaders. - ClydeHandle = clyde.LoadShader(ParsedShader, path.ToString()); - } + var clyde = IoCManager.Resolve(); + // TODO: vertex shaders. + ClydeHandle = clyde.LoadShader(ParsedShader, path.ToString()); } private string _getGodotCode() diff --git a/Robust.Client/ResourceManagement/ResourceTypes/TextureResource.cs b/Robust.Client/ResourceManagement/ResourceTypes/TextureResource.cs index 4c9901997..7f5a2f252 100644 --- a/Robust.Client/ResourceManagement/ResourceTypes/TextureResource.cs +++ b/Robust.Client/ResourceManagement/ResourceTypes/TextureResource.cs @@ -16,7 +16,6 @@ namespace Robust.Client.ResourceManagement { public override ResourcePath Fallback { get; } = new ResourcePath("/Textures/noSprite.png"); public Texture Texture { get; private set; } - private Godot.ImageTexture godotTexture; public override void Load(IResourceCache cache, ResourcePath path) { @@ -36,9 +35,6 @@ namespace Robust.Client.ResourceManagement var image = Image.Load(cache.ContentFileRead(path).ToArray()); Texture = new DummyTexture(image.Width, image.Height); break; - case GameController.DisplayMode.Godot: - _loadGodot(cache, path, loadParameters); - break; case GameController.DisplayMode.Clyde: _loadOpenGL(cache, path, loadParameters); break; @@ -70,28 +66,6 @@ namespace Robust.Client.ResourceManagement return null; } - private void _loadGodot(IResourceCache cache, ResourcePath path, TextureLoadParameters? parameters) - { - DebugTools.Assert(GameController.Mode == GameController.DisplayMode.Godot); - - using (var stream = cache.ContentFileRead(path)) - { - var buffer = stream.ToArray(); - var image = new Godot.Image(); - var error = image.LoadPngFromBuffer(buffer); - if (error != Godot.Error.Ok) - { - throw new InvalidDataException($"Unable to load texture from buffer, reason: {error}"); - } - godotTexture = new Godot.ImageTexture(); - godotTexture.CreateFromImage(image); - } - - // Disable filter by default because pixel art. - (parameters ?? TextureLoadParameters.Default).SampleParameters.ApplyToGodotTexture(godotTexture); - Texture = new GodotTextureSource(godotTexture); - } - private void _loadOpenGL(IResourceCache cache, ResourcePath path, TextureLoadParameters? parameters) { DebugTools.Assert(GameController.Mode == GameController.DisplayMode.Clyde); @@ -105,13 +79,5 @@ namespace Robust.Client.ResourceManagement { return res?.Texture; } - - public override void Dispose() - { - if (GameController.OnGodot) - { - godotTexture.Dispose(); - } - } } } diff --git a/Robust.Client/Robust.Client.csproj b/Robust.Client/Robust.Client.csproj index 1815994ab..256b991f3 100644 --- a/Robust.Client/Robust.Client.csproj +++ b/Robust.Client/Robust.Client.csproj @@ -89,12 +89,6 @@ - - ..\Robust.Client.Godot\.mono\assemblies\GodotSharp.dll - - - ..\Dependencies\godot\GodotSharp.dll - @@ -106,7 +100,6 @@ - @@ -120,7 +113,6 @@ - @@ -131,7 +123,6 @@ - @@ -157,7 +148,6 @@ - @@ -177,7 +167,6 @@ - @@ -192,9 +181,7 @@ - - @@ -203,9 +190,6 @@ - - - @@ -219,8 +203,6 @@ - - @@ -255,12 +237,10 @@ - - @@ -272,7 +252,6 @@ - @@ -299,7 +278,6 @@ - @@ -362,10 +340,6 @@ {59250baf-0000-0000-0000-000000000000} Lidgren.Network - - {8af31169-49b1-4a12-b8f4-2a0674a9e7cb} - Robust.Client.Godot - {93f23a82-00c5-4572-964e-e7c9457726d4} Robust.Shared.Maths diff --git a/Robust.Client/SceneTreeHolder.cs b/Robust.Client/SceneTreeHolder.cs deleted file mode 100644 index d3767757b..000000000 --- a/Robust.Client/SceneTreeHolder.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Robust.Client.Interfaces; -using System; -using Robust.Client.Graphics; - -namespace Robust.Client -{ - internal class SceneTreeHolder : ISceneTreeHolder - { - public Godot.CanvasLayer BelowWorldScreenSpace { get; private set; } - public Godot.SceneTree SceneTree { get; private set; } - public Godot.Node2D WorldRoot { get; private set; } - - public void Initialize(Godot.SceneTree tree) - { - SceneTree = tree ?? throw new ArgumentNullException(nameof(tree)); - - BelowWorldScreenSpace = new Godot.CanvasLayer - { - Name = "ScreenSubWorld", - Layer = CanvasLayers.LAYER_SCREEN_BELOW_WORLD - }; - SceneTree.GetRoot().AddChild(BelowWorldScreenSpace); - - WorldRoot = new Godot.Node2D - { - Name = "WorldRoot" - }; - SceneTree.GetRoot().AddChild(WorldRoot); - } - } -} diff --git a/Robust.Client/UserInterface/ClipboardManagerGodot.cs b/Robust.Client/UserInterface/ClipboardManagerGodot.cs deleted file mode 100644 index 507b71c3e..000000000 --- a/Robust.Client/UserInterface/ClipboardManagerGodot.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Robust.Client.Interfaces.UserInterface; - -namespace Robust.Client.UserInterface -{ - internal sealed class ClipboardManagerGodot : IClipboardManager - { - public bool Available => true; - public string NotAvailableReason => ""; - public string GetText() - { - return Godot.OS.Clipboard; - } - - public void SetText(string text) - { - Godot.OS.Clipboard = text; - } - } -} diff --git a/Robust.Client/UserInterface/Control.Input.cs b/Robust.Client/UserInterface/Control.Input.cs index baa7f0cbb..62e21620a 100644 --- a/Robust.Client/UserInterface/Control.Input.cs +++ b/Robust.Client/UserInterface/Control.Input.cs @@ -52,86 +52,6 @@ namespace Robust.Client.UserInterface protected internal virtual void TextEntered(GUITextEventArgs args) { } - - private void HandleGuiInput(Godot.InputEvent input) - { - switch (input) - { - case Godot.InputEventKey keyEvent: - var keyEventArgs = new GUIKeyEventArgs(this, - Keyboard.ConvertGodotKey(keyEvent.Scancode), - keyEvent.Echo, - keyEvent.Alt, - keyEvent.Control, - keyEvent.Shift, - keyEvent.Command); - if (keyEvent.Pressed) - { - KeyDown(keyEventArgs); - } - else - { - KeyUp(keyEventArgs); - } - - break; - - case Godot.InputEventMouseButton buttonEvent: - if (buttonEvent.ButtonIndex >= (int) Godot.ButtonList.WheelUp && - buttonEvent.ButtonIndex <= (int) Godot.ButtonList.WheelRight) - { - // Mouse wheel event. - var mouseWheelEventArgs = new GUIMouseWheelEventArgs((Mouse.Wheel) buttonEvent.ButtonIndex, - this, - (Mouse.ButtonMask) buttonEvent.ButtonMask, - buttonEvent.GlobalPosition.Convert(), - buttonEvent.Position.Convert(), - buttonEvent.Alt, - buttonEvent.Control, - buttonEvent.Shift, - buttonEvent.Command); - MouseWheel(mouseWheelEventArgs); - } - else - { - // Mouse button event. - var mouseButtonEventArgs = new GUIMouseButtonEventArgs((Mouse.Button) buttonEvent.ButtonIndex, - buttonEvent.Doubleclick, - this, - (Mouse.ButtonMask) buttonEvent.ButtonMask, - buttonEvent.GlobalPosition.Convert(), - buttonEvent.Position.Convert(), - buttonEvent.Alt, - buttonEvent.Control, - buttonEvent.Shift, - buttonEvent.Command); - if (buttonEvent.Pressed) - { - MouseDown(mouseButtonEventArgs); - } - else - { - MouseUp(mouseButtonEventArgs); - } - } - - break; - - case Godot.InputEventMouseMotion motionEvent: - var mouseMoveEventArgs = new GUIMouseMoveEventArgs(motionEvent.Relative.Convert(), - motionEvent.Speed.Convert(), - this, - (Mouse.ButtonMask) motionEvent.ButtonMask, - motionEvent.GlobalPosition.Convert(), - motionEvent.Position.Convert(), - motionEvent.Alt, - motionEvent.Control, - motionEvent.Shift, - motionEvent.Command); - MouseMove(mouseMoveEventArgs); - break; - } - } } public class GUIKeyEventArgs : KeyEventArgs diff --git a/Robust.Client/UserInterface/Control.Signals.cs b/Robust.Client/UserInterface/Control.Signals.cs deleted file mode 100644 index 39c68a6e3..000000000 --- a/Robust.Client/UserInterface/Control.Signals.cs +++ /dev/null @@ -1,142 +0,0 @@ -using Robust.Client.GodotGlue; -using Robust.Client.Input; -using Robust.Shared.Log; - -namespace Robust.Client.UserInterface -{ - // Signal registration is a lot of annoying, hacky and ugly boiler plate - // so we put it in here! - public partial class Control - { - private GodotSignalSubscriber0 __mouseEnteredSubscriber; - private GodotSignalSubscriber0 __mouseExitedSubscriber; - private GodotSignalSubscriber1 __guiInputSubscriber; - private GodotSignalSubscriber0 __focusEnteredSubscriber; - private GodotSignalSubscriber0 __focusExitedSubscriber; - private GodotSignalSubscriber0 __treeExitedSubscriber; - private GodotSignalSubscriber0 __resizedSubscriber; - - protected virtual void SetupSignalHooks() - { - __mouseEnteredSubscriber = new GodotSignalSubscriber0(); - __mouseEnteredSubscriber.Connect(SceneControl, "mouse_entered"); - __mouseEnteredSubscriber.Signal += __mouseEnteredHook; - - __mouseExitedSubscriber = new GodotSignalSubscriber0(); - __mouseExitedSubscriber.Connect(SceneControl, "mouse_exited"); - __mouseExitedSubscriber.Signal += __mouseExitedHook; - - __guiInputSubscriber = new GodotSignalSubscriber1(); - __guiInputSubscriber.Connect(SceneControl, "gui_input"); - __guiInputSubscriber.Signal += __guiInputHook; - - __focusEnteredSubscriber = new GodotSignalSubscriber0(); - __focusEnteredSubscriber.Connect(SceneControl, "focus_entered"); - __focusEnteredSubscriber.Signal += __focusEnteredHook; - - __focusExitedSubscriber = new GodotSignalSubscriber0(); - __focusExitedSubscriber.Connect(SceneControl, "focus_exited"); - __focusExitedSubscriber.Signal += __focusExitedHook; - - __treeExitedSubscriber = new GodotSignalSubscriber0(); - __treeExitedSubscriber.Connect(SceneControl, "tree_exited"); - __treeExitedSubscriber.Signal += __treeExitedHook; - - __resizedSubscriber = new GodotSignalSubscriber0(); - __resizedSubscriber.Connect(SceneControl, "resized"); - __resizedSubscriber.Signal += __resizedHook; - } - - protected virtual void DisposeSignalHooks() - { - if (__mouseEnteredSubscriber != null) - { - __mouseEnteredSubscriber.Disconnect(SceneControl, "mouse_entered"); - __mouseEnteredSubscriber.Dispose(); - __mouseEnteredSubscriber = null; - } - - if (__mouseExitedSubscriber != null) - { - __mouseExitedSubscriber.Disconnect(SceneControl, "mouse_exited"); - __mouseExitedSubscriber.Dispose(); - __mouseExitedSubscriber = null; - } - - if (__guiInputSubscriber != null) - { - __guiInputSubscriber.Disconnect(SceneControl, "gui_input"); - __guiInputSubscriber.Dispose(); - __guiInputSubscriber = null; - } - - if (__focusEnteredSubscriber != null) - { - __focusEnteredSubscriber.Disconnect(SceneControl, "focus_entered"); - __focusEnteredSubscriber.Dispose(); - __focusEnteredSubscriber = null; - } - - if (__focusExitedSubscriber != null) - { - __focusExitedSubscriber.Disconnect(SceneControl, "focus_exited"); - __focusExitedSubscriber.Dispose(); - __focusExitedSubscriber = null; - } - - if (__treeExitedSubscriber != null) - { - __treeExitedSubscriber.Disconnect(SceneControl, "tree_exited"); - __treeExitedSubscriber.Dispose(); - __treeExitedSubscriber = null; - } - - if (__resizedSubscriber != null) - { - __resizedSubscriber.Disconnect(SceneControl, "resized"); - __resizedSubscriber.Dispose(); - __resizedSubscriber = null; - } - } - - private void __mouseEnteredHook() - { - UserInterfaceManagerInternal.GDMouseEntered(this); - MouseEntered(); - } - - private void __mouseExitedHook() - { - UserInterfaceManagerInternal.GDMouseExited(this); - MouseExited(); - } - - private void __guiInputHook(object ev) - { - HandleGuiInput((Godot.InputEvent) ev); - } - - private void __focusEnteredHook() - { - FocusEntered(); - } - - private void __focusExitedHook() - { - UserInterfaceManagerInternal.GDFocusExited(this); - FocusExited(); - } - - private void __treeExitedHook() - { - // Eh maybe make a separate event later. - UserInterfaceManagerInternal.GDFocusEntered(this); - FocusExited(); - } - - private void __resizedHook() - { - Resized(); - } - } -} diff --git a/Robust.Client/UserInterface/Control.cs b/Robust.Client/UserInterface/Control.cs index dacdf8be0..4537362db 100644 --- a/Robust.Client/UserInterface/Control.cs +++ b/Robust.Client/UserInterface/Control.cs @@ -1,5 +1,4 @@ -using Robust.Client.GodotGlue; -using Robust.Client.Interfaces.UserInterface; +using Robust.Client.Interfaces.UserInterface; using Robust.Shared.IoC; using System; using System.Collections; @@ -29,7 +28,7 @@ namespace Robust.Client.UserInterface /// See the official docs for more help: https://godot.readthedocs.io/en/3.0/classes/class_control.html /// [PublicAPI] - [ControlWrap(typeof(Godot.Control))] + [ControlWrap("Control")] // ReSharper disable once RequiredBaseTypesIsNotInherited public partial class Control : IDisposable { @@ -67,11 +66,6 @@ namespace Robust.Client.UserInterface _name = value; - if (GameController.OnGodot) - { - SceneControl.SetName(_name); - } - if (Parent != null) { Parent._children[_name] = (this, index); @@ -100,11 +94,6 @@ namespace Robust.Client.UserInterface [ViewVariables] public int ChildCount => _orderedChildren.Count; - /// - /// The control's representation in Godot's scene tree. - /// - internal Godot.Control SceneControl => WrappedSceneControl; - /// /// Path to the .tscn file for this scene in the VFS. /// This is mainly intended for content loading tscn files. @@ -112,8 +101,6 @@ namespace Robust.Client.UserInterface /// protected virtual ResourcePath ScenePath => null; - private ControlWrap WrappedSceneControl; - public const float ANCHOR_BEGIN = 0; public const float ANCHOR_END = 1; @@ -122,18 +109,11 @@ namespace Robust.Client.UserInterface [ViewVariables] public float AnchorBottom { - get => GameController.OnGodot ? SceneControl.AnchorBottom : _anchorBottom; + get => _anchorBottom; set { - if (GameController.OnGodot) - { - SceneControl.AnchorBottom = value; - } - else - { - _anchorBottom = value; - _updateLayout(); - } + _anchorBottom = value; + _updateLayout(); } } @@ -142,18 +122,11 @@ namespace Robust.Client.UserInterface [ViewVariables] public float AnchorLeft { - get => GameController.OnGodot ? SceneControl.AnchorLeft : _anchorLeft; + get => _anchorLeft; set { - if (GameController.OnGodot) - { - SceneControl.AnchorLeft = value; - } - else - { - _anchorLeft = value; - _updateLayout(); - } + _anchorLeft = value; + _updateLayout(); } } @@ -162,18 +135,11 @@ namespace Robust.Client.UserInterface [ViewVariables] public float AnchorRight { - get => GameController.OnGodot ? SceneControl.AnchorRight : _anchorRight; + get => _anchorRight; set { - if (GameController.OnGodot) - { - SceneControl.AnchorRight = value; - } - else - { - _anchorRight = value; - _updateLayout(); - } + _anchorRight = value; + _updateLayout(); } } @@ -182,18 +148,11 @@ namespace Robust.Client.UserInterface [ViewVariables] public float AnchorTop { - get => GameController.OnGodot ? SceneControl.AnchorTop : _anchorTop; + get => _anchorTop; set { - if (GameController.OnGodot) - { - SceneControl.AnchorTop = value; - } - else - { - _anchorTop = value; - _updateLayout(); - } + _anchorTop = value; + _updateLayout(); } } @@ -202,18 +161,11 @@ namespace Robust.Client.UserInterface [ViewVariables] public float MarginRight { - get => GameController.OnGodot ? SceneControl.MarginRight : _marginRight; + get => _marginRight; set { - if (GameController.OnGodot) - { - SceneControl.MarginRight = value; - } - else - { - _marginRight = value; - _updateLayout(); - } + _marginRight = value; + _updateLayout(); } } @@ -222,18 +174,11 @@ namespace Robust.Client.UserInterface [ViewVariables] public float MarginLeft { - get => GameController.OnGodot ? SceneControl.MarginLeft : _marginLeft; + get => _marginLeft; set { - if (GameController.OnGodot) - { - SceneControl.MarginLeft = value; - } - else - { - _marginLeft = value; - _updateLayout(); - } + _marginLeft = value; + _updateLayout(); } } @@ -242,18 +187,11 @@ namespace Robust.Client.UserInterface [ViewVariables] public float MarginTop { - get => GameController.OnGodot ? SceneControl.MarginTop : _marginTop; + get => _marginTop; set { - if (GameController.OnGodot) - { - SceneControl.MarginTop = value; - } - else - { - _marginTop = value; - _updateLayout(); - } + _marginTop = value; + _updateLayout(); } } @@ -262,18 +200,11 @@ namespace Robust.Client.UserInterface [ViewVariables] public float MarginBottom { - get => GameController.OnGodot ? SceneControl.MarginBottom : _marginBottom; + get => _marginBottom; set { - if (GameController.OnGodot) - { - SceneControl.MarginBottom = value; - } - else - { - _marginBottom = value; - _updateLayout(); - } + _marginBottom = value; + _updateLayout(); } } @@ -304,23 +235,16 @@ namespace Robust.Client.UserInterface [ViewVariables] public bool Visible { - get => GameController.OnGodot ? SceneControl.Visible : _visible; + get => _visible; set { - if (GameController.OnGodot) + if (_visible == value) { - SceneControl.Visible = value; + return; } - else - { - if (_visible == value) - { - return; - } - _visible = value; + _visible = value; - _propagateVisibilityChanged(value); - } + _propagateVisibilityChanged(value); } } @@ -394,20 +318,13 @@ namespace Robust.Client.UserInterface [ViewVariables] public Vector2 Size { - get => GameController.OnGodot ? SceneControl.GetSize().Convert() : _size; + get => _size; set { - if (GameController.OnGodot) - { - SceneControl.SetSize(value.Convert()); - } - else - { - var (diffX, diffY) = value - _sizeByMargins; - _marginRight += diffX; - _marginBottom += diffY; - _updateLayout(); - } + var (diffX, diffY) = value - _sizeByMargins; + _marginRight += diffX; + _marginBottom += diffY; + _updateLayout(); } } @@ -420,22 +337,15 @@ namespace Robust.Client.UserInterface [ViewVariables] public Vector2 Position { - get => GameController.OnGodot ? SceneControl.GetPosition().Convert() : _position; + get => _position; set { - if (GameController.OnGodot) - { - SceneControl.SetPosition(value.Convert()); - } - else - { - var (diffX, diffY) = value - _position; - _marginTop += diffY; - _marginBottom += diffY; - _marginLeft += diffX; - _marginRight += diffX; - _updateLayout(); - } + var (diffX, diffY) = value - _position; + _marginTop += diffY; + _marginBottom += diffY; + _marginLeft += diffX; + _marginRight += diffX; + _updateLayout(); } } @@ -444,11 +354,6 @@ namespace Robust.Client.UserInterface { get { - if (GameController.OnGodot) - { - return SceneControl.GetPosition().Convert(); - } - var offset = Position; var parent = Parent; while (parent != null) @@ -465,13 +370,9 @@ namespace Robust.Client.UserInterface public Vector2 Scale { - get => GameController.OnGodot ? SceneControl.RectScale.Convert() : default; + get => default; set { - if (GameController.OnGodot) - { - SceneControl.RectScale = value.Convert(); - } } } @@ -479,38 +380,15 @@ namespace Robust.Client.UserInterface public string ToolTip { - get => GameController.OnGodot ? SceneControl.GetTooltip() : _tooltip; + get => _tooltip; set { - if (GameController.OnGodot) - { - SceneControl.SetTooltip(value); - } - else - { - _tooltip = value; - } + _tooltip = value; } } - private MouseFilterMode _mouseFilter = MouseFilterMode.Stop; - [ViewVariables] - public MouseFilterMode MouseFilter - { - get => GameController.OnGodot ? (MouseFilterMode) SceneControl.MouseFilter : _mouseFilter; - set - { - if (GameController.OnGodot) - { - SceneControl.MouseFilter = (Godot.Control.MouseFilterEnum) value; - } - else - { - _mouseFilter = value; - } - } - } + public MouseFilterMode MouseFilter { get; set; } = MouseFilterMode.Stop; private bool _canKeyboardFocus; @@ -536,88 +414,32 @@ namespace Robust.Client.UserInterface public bool KeyboardFocusOnClick { get; set; } - private SizeFlags _sizeFlagsH = SizeFlags.Fill; - [ViewVariables] - public SizeFlags SizeFlagsHorizontal - { - get => GameController.OnGodot ? (SizeFlags) SceneControl.SizeFlagsHorizontal : _sizeFlagsH; - set - { - if (GameController.OnGodot) - { - SceneControl.SizeFlagsHorizontal = (int) value; - } - else - { - // TODO: Notify parent container. - _sizeFlagsH = value; - } - } - } + public SizeFlags SizeFlagsHorizontal { get; set; } = SizeFlags.Fill; private float _sizeFlagsStretchRatio = 1; [ViewVariables] public float SizeFlagsStretchRatio { - get => GameController.OnGodot ? SceneControl.SizeFlagsStretchRatio : _sizeFlagsStretchRatio; + get => _sizeFlagsStretchRatio; set { - if (GameController.OnGodot) + if (value <= 0) { - SceneControl.SizeFlagsStretchRatio = value; + throw new ArgumentOutOfRangeException(nameof(value), value, "Value must be greater than zero."); } - else - { - if (value <= 0) - { - throw new ArgumentOutOfRangeException(nameof(value), value, "Value must be greater than zero."); - } - // TODO: Notify parent container. - _sizeFlagsStretchRatio = value; - } + // TODO: Notify parent container. + _sizeFlagsStretchRatio = value; } } - private SizeFlags _sizeFlagsV = SizeFlags.Fill; - [ViewVariables] - public SizeFlags SizeFlagsVertical - { - get => GameController.OnGodot ? (SizeFlags) SceneControl.SizeFlagsVertical : _sizeFlagsV; - set - { - if (GameController.OnGodot) - { - SceneControl.SizeFlagsVertical = (int) value; - } - else - { - // TODO: Notify parent container. - _sizeFlagsV = value; - } - } - } + public SizeFlags SizeFlagsVertical { get; set; } = SizeFlags.Fill; - private bool _rectClipContent = false; [ViewVariables] - public bool RectClipContent - { - get => GameController.OnGodot ? SceneControl.RectClipContent : _rectClipContent; - set - { - if (GameController.OnGodot) - { - SceneControl.RectClipContent = _rectClipContent; - } - else - { - _rectClipContent = value; - } - } - } + public bool RectClipContent { get; set; } = false; /// /// A margin around this control. If this control + this margin is outside its parent's , @@ -631,23 +453,7 @@ namespace Robust.Client.UserInterface public Color? ModulateSelfOverride { get; set; } - private Color _modulate = Color.White; - - public Color Modulate - { - get => GameController.OnGodot ? SceneControl.Modulate.Convert() : _modulate; - set - { - if (GameController.OnGodot) - { - SceneControl.Modulate = value.Convert(); - } - else - { - _modulate = value; - } - } - } + public Color Modulate { get; set; } = Color.White; public Color ActualModulateSelf { @@ -677,20 +483,13 @@ namespace Robust.Client.UserInterface { get { - if (GameController.OnGodot) + if (!_calculatedMinimumSize.HasValue) { - return SceneControl.GetCombinedMinimumSize().Convert(); + _updateMinimumSize(); + DebugTools.Assert(_calculatedMinimumSize.HasValue); } - else - { - if (!_calculatedMinimumSize.HasValue) - { - _updateMinimumSize(); - DebugTools.Assert(_calculatedMinimumSize.HasValue); - } - return Vector2.ComponentMax(CustomMinimumSize, _calculatedMinimumSize.Value); - } + return Vector2.ComponentMax(CustomMinimumSize, _calculatedMinimumSize.Value); } } @@ -705,18 +504,11 @@ namespace Robust.Client.UserInterface [ViewVariables] public Vector2 CustomMinimumSize { - get => GameController.OnGodot ? SceneControl.RectMinSize.Convert() : _customMinimumSize; + get => _customMinimumSize; set { - if (GameController.OnGodot) - { - SceneControl.RectMinSize = value.Convert(); - } - else - { - _customMinimumSize = Vector2.ComponentMax(Vector2.Zero, value); - MinimumSizeChanged(); - } + _customMinimumSize = Vector2.ComponentMax(Vector2.Zero, value); + MinimumSizeChanged(); } } @@ -728,9 +520,7 @@ namespace Robust.Client.UserInterface } public Vector2 GlobalMousePosition => - GameController.OnGodot - ? SceneControl.GetGlobalMousePosition().Convert() - : IoCManager.Resolve().MouseScreenPosition; + IoCManager.Resolve().MouseScreenPosition; private readonly Dictionary _children = new Dictionary(); @@ -748,18 +538,10 @@ namespace Robust.Client.UserInterface { UserInterfaceManagerInternal = IoCManager.Resolve(); - if (GameController.OnGodot) + SetDefaults(); + if (ScenePath != null) { - SetupSceneControl(); - } - - else - { - SetDefaults(); - if (ScenePath != null) - { - _manualNodeSetup(); - } + _manualNodeSetup(); } Name = GetType().Name; @@ -778,17 +560,10 @@ namespace Robust.Client.UserInterface UserInterfaceManagerInternal = IoCManager.Resolve(); - if (GameController.OnGodot) + SetDefaults(); + if (ScenePath != null) { - SetupSceneControl(); - } - else - { - SetDefaults(); - if (ScenePath != null) - { - _manualNodeSetup(); - } + _manualNodeSetup(); } Name = name; @@ -797,22 +572,6 @@ namespace Robust.Client.UserInterface Restyle(); } - - /// - /// Wrap the provided Godot control with this one. - /// This does NOT set up parenting correctly! - /// - internal Control(Godot.Control control) - { - UserInterfaceManagerInternal = IoCManager.Resolve(); - _name = control.GetName(); - InjectControlWrap(control); - SetupSignalHooks(); - //Logger.Debug($"Wrapping control {Name} ({GetType()} -> {control.GetType()})"); - Initialize(); - Restyle(); - } - /// /// Use this to do various initialization of the control. /// Ranging from spawning children to prefetching them for later referencing. @@ -1053,85 +812,9 @@ namespace Robust.Client.UserInterface { _manualNodeTypeTranslations[attr.InstanceString] = type; } - - if (attr.ConcreteType != null) - { - _manualNodeTypeTranslations[attr.ConcreteType.Name] = type; - } } } - - private void SetupSceneControl() - { - Godot.Control newSceneControl; - if (ScenePath == null) - { - newSceneControl = SpawnSceneControl(); - } - else - { - // Get disk path with VFS. - var cache = IoCManager.Resolve(); - if (!cache.TryGetDiskFilePath(ScenePath, out var diskPath)) - { - throw new FileNotFoundException("Scene path must exist on disk."); - } - - newSceneControl = LoadScene(diskPath); - } - - InjectControlWrap(newSceneControl); - SetupSignalHooks(); - // Certain controls (LineEdit, WindowDialog, etc...) create sub controls automatically, - // handle these. - WrapChildControls(); - } - - // ASSUMING DIRECT CONTROL. - private void InjectControlWrap(Godot.Control control) - { - // Inject wrapper script to hook virtual functions. - // IMPORTANT: Because of how Scripts work in Godot, - // it has to effectively "replace" the type of the control. - // It... obviously cannot do this because this is [insert statically typed language]. - // As such: getting an instance to the control AFTER this point will yield a control of type ControlWrap. - // UPDATE: As of 3.1 alpha 3, the following does not work: - // Luckily, the old instance seems to still work flawlessy for everything, including signals!\ - // /UPDATE: so yes we need to use _Set and such now. Oh well. - var script = Godot.GD.Load("res://ControlWrap.cs"); - - // So... getting a new reference to ourselves is surprisingly difficult! - if (control.GetChildCount() > 0) - { - // Potentially easiest: if we have a child, get the parent of our child (us). - var child = control.GetChild(0); - control.SetScript(script); - WrappedSceneControl = (ControlWrap) child.GetParent(); - } - else if (control.GetParent() != null) - { - // If not but we have a parent use that. - var index = control.GetIndex(); - var parent = control.GetParent(); - control.SetScript(script); - WrappedSceneControl = (ControlWrap) parent.GetChild(index); - } - else - { - // Ok so we're literally a lone node guess making a temporary child'll be fine. - var node = new Godot.Node(); - control.AddChild(node); - control.SetScript(script); - WrappedSceneControl = (ControlWrap) node.GetParent(); - node.QueueFree(); - } - - WrappedSceneControl.GetMinimumSizeOverride = () => CalculateMinimumSize().Convert(); - WrappedSceneControl.HasPointOverride = point => HasPoint(point.Convert()); - WrappedSceneControl.DrawOverride = DoDraw; - } - private protected virtual void SetGodotProperty(string property, object value, GodotAssetScene context) { switch (property) @@ -1238,40 +921,18 @@ namespace Robust.Client.UserInterface return (T) result; } - private void DoDraw() - { - using (var handle = new DrawingHandleScreen(SceneControl.GetCanvasItem())) - { - Draw(handle); - } - } - protected internal virtual void Draw(DrawingHandleScreen handle) { } public void UpdateDraw() { - if (GameController.OnGodot) - { - SceneControl.Update(); - } } protected internal virtual void ModalRemoved() { } - /// - /// Overriden by child classes to change the Godot control type. - /// ONLY spawn the control in here. Use for holding references to it. - /// This is to allow children to override it without breaking the setting. - /// - private protected virtual Godot.Control SpawnSceneControl() - { - return new Godot.Control(); - } - public bool Disposed { get; private set; } = false; /// @@ -1292,26 +953,15 @@ namespace Robust.Client.UserInterface protected virtual void Dispose(bool disposing) { - if (disposing) + if (!disposing) { - DisposeAllChildren(); - Parent?.RemoveChild(this); - - OnKeyDown = null; + return; } + DisposeAllChildren(); + Parent?.RemoveChild(this); - if (GameController.OnGodot) - { - DisposeSignalHooks(); - } - - if (GameController.OnGodot && !GameController.ShuttingDownHard) - { - WrappedSceneControl?.QueueFree(); - WrappedSceneControl?.Dispose(); - WrappedSceneControl = null; - } + OnKeyDown = null; } ~Control() @@ -1382,13 +1032,6 @@ namespace Robust.Client.UserInterface child.Name = childName; } - if (GameController.OnGodot) - { - SceneControl.AddChild(child.SceneControl, LegibleUniqueName); - // Godot changes the name automatically if you would cause a naming conflict. - child._name = child.SceneControl.GetName(); - } - child.Parent = this; _children[child.Name] = (child, _orderedChildren.Count); _orderedChildren.Add(child); @@ -1435,10 +1078,6 @@ namespace Robust.Client.UserInterface _updateChildIndices(); child.Parent = null; - if (GameController.OnGodot) - { - SceneControl.RemoveChild(child.SceneControl); - } child.Deparented(); if (IsInsideTree) @@ -1482,12 +1121,6 @@ namespace Robust.Client.UserInterface /// public void MinimumSizeChanged() { - if (GameController.OnGodot) - { - SceneControl.MinimumSizeChanged(); - return; - } - _calculatedMinimumSize = null; _updateLayout(); OnMinimumSizeChanged?.Invoke(this); @@ -1592,30 +1225,6 @@ namespace Robust.Client.UserInterface return; } - if (GameController.OnGodot) - { - // Because some controls spawn other sub nodes like timers, - // This position doesn't map to the scene tree. - var parentScene = Parent.SceneControl; - var siblingCount = parentScene.GetChildCount(); - var counter = 0; - for (var i = 0; i < siblingCount; i++) - { - var sibling = parentScene.GetChild(i); - // Use a counter that counts the controls to figure out the position to move to. - if (sibling is Godot.Control) - { - if (counter == position) - { - parentScene.MoveChild(SceneControl, counter); - break; - } - - counter += 1; - } - } - } - Parent._orderedChildren.RemoveAt(posInParent); Parent._orderedChildren.Insert(position, this); Parent._updateChildIndices(); @@ -1658,164 +1267,23 @@ namespace Robust.Client.UserInterface public bool HasKeyboardFocus() { - return GameController.OnGodot ? SceneControl.HasFocus() : UserInterfaceManager.KeyboardFocused == this; + return UserInterfaceManager.KeyboardFocused == this; } public void GrabKeyboardFocus() { - if (GameController.OnGodot) - { - SceneControl.GrabFocus(); - } - else - { - UserInterfaceManager.GrabKeyboardFocus(this); - } + UserInterfaceManager.GrabKeyboardFocus(this); } public void ReleaseKeyboardFocus() { - if (GameController.OnGodot) - { - SceneControl?.ReleaseFocus(); - } - else - { - UserInterfaceManager.ReleaseKeyboardFocus(this); - } + UserInterfaceManager.ReleaseKeyboardFocus(this); } protected virtual void Resized() { } - internal static Control InstanceScene(string resourcePath) - { - var res = (Godot.PackedScene) Godot.ResourceLoader.Load(resourcePath); - return InstanceScene(res); - } - - /// - /// Instance a packed Godot scene as a child of this one, wrapping all the nodes in SS14 controls. - /// This makes it possible to use Godot's GUI editor relatively comfortably, - /// while still being able to use the better SS14 API. - /// - /// - /// - // TODO: Handle instances inside the provided scene in some way. - // Shouldn't need more than support for populating the GodotTranslationCache - // from Robust.Client.Godot I *think*? - internal static Control InstanceScene(Godot.PackedScene scene) - { - var root = (Godot.Control) scene.Instance(); - return WrapGodotControl(null, root); - } - - private static Control WrapGodotControl(Control parent, Godot.Control control) - { - var type = FindGodotTranslationType(control); - var newControl = (Control) Activator.CreateInstance(type, - BindingFlags.Instance | BindingFlags.Public | BindingFlags.CreateInstance | BindingFlags.NonPublic, - null, new object[] {control}, null, null); - - if (parent != null) - { - newControl.Parent = parent; - parent._children[newControl.Name] = (newControl, parent._orderedChildren.Count); - parent._orderedChildren.Add(newControl); - } - - newControl.WrapChildControls(); - - return newControl; - } - - private void WrapChildControls() - { - foreach (var child in SceneControl.GetChildren()) - { - // Some Godot nodes have subnodes. - // great example being the LineEdit. - // These subnodes may be other stuff like timers, - // so don't blow up on it! - if (child is Godot.Control childControl) - { - WrapGodotControl(this, childControl); - } - } - } - - private static Dictionary GodotTranslationCache; - - // Because the translation cache may not include every control, - // for example controls we don't have SS14 counterparts to, - // this method will look up the inheritance tree until (last resort) it hits Godot.Control. - // Filling in the blanks later. - private static Type FindGodotTranslationType(Godot.Control control) - { - if (GodotTranslationCache == null) - { - SetupGodotTranslationCache(); - } - - var original = control.GetType(); - var tmp = original; - // CanvasItem is the parent of Godot.Control so reaching it means we passed Godot.Control. - while (tmp != typeof(Godot.CanvasItem)) - { - if (GodotTranslationCache.TryGetValue(tmp, out var info)) - { - if (original != tmp) - { - GodotTranslationCache[original] = info; - } - - return info; - } - - tmp = tmp.BaseType; - } - - throw new InvalidOperationException( - "Managed to pass Godot.Control when finding translations. This should be impossible!"); - } - - private static void SetupGodotTranslationCache() - { - GodotTranslationCache = new Dictionary(); - var refl = IoCManager.Resolve(); - foreach (var childType in refl.GetAllChildren(inclusive: true)) - { - var attr = childType.GetCustomAttribute(); - if (attr == null) - { - continue; - } - - var godotType = attr.ConcreteType; - if (godotType == null) - { - continue; - } - - if (GodotTranslationCache.TryGetValue(godotType, out var dupe)) - { - Logger.Error( - $"Found multiple SS14 Control types pointing to a single Godot Control type. Godot: {godotType}, first: {dupe}, second: {childType}"); - continue; - } - - GodotTranslationCache[godotType] = childType; - } - - if (!GodotTranslationCache.ContainsKey(typeof(Godot.Control))) - { - GodotTranslationCache = null; - throw new InvalidOperationException( - "We don't even have the base Godot Control in the translation cache. We can't use scene instancing like this!"); - } - } - public void SetAnchorAndMarginPreset(LayoutPreset preset, LayoutPresetMode mode = LayoutPresetMode.MinSize, int margin = 0) { @@ -1839,12 +1307,6 @@ namespace Robust.Client.UserInterface /// public void SetAnchorPreset(LayoutPreset preset, bool keepMargin = false) { - if (GameController.OnGodot) - { - SceneControl.SetAnchorsPreset((Godot.Control.LayoutPreset) preset, keepMargin); - return; - } - // Left Anchor. switch (preset) { @@ -1968,13 +1430,6 @@ namespace Robust.Client.UserInterface public void SetMarginsPreset(LayoutPreset preset, LayoutPresetMode resizeMode = LayoutPresetMode.MinSize, int margin = 0) { - if (GameController.OnGodot) - { - SceneControl.SetMarginsPreset((Godot.Control.LayoutPreset) preset, - (Godot.Control.LayoutPresetMode) resizeMode, margin); - return; - } - var newSize = Size; var minSize = CombinedMinimumSize; if ((resizeMode & LayoutPresetMode.KeepWidth) == 0) @@ -2195,106 +1650,6 @@ namespace Robust.Client.UserInterface ShrinkEnd = 8, } - protected void SetColorOverride(string name, Color? color) - { - if (!GameController.OnGodot) - { - return; - } - - // So here's an interesting one. - // Godot's AddColorOverride and such API on controls - // Doesn't actually have a way to REMOVE the override. - // Passing null via Set() does though. - if (color != null) - { - SceneControl.AddColorOverride(name, color.Value.Convert()); - } - else - { - SceneControl.Set($"custom_colors/{name}", null); - } - } - - protected Color? GetColorOverride(string name) - { - if (!GameController.OnGodot) - { - return default; - } - - return SceneControl.HasColorOverride(name) ? SceneControl.GetColor(name).Convert() : (Color?) null; - } - - protected void SetConstantOverride(string name, int? constant) - { - if (!GameController.OnGodot) - { - return; - } - - if (constant != null) - { - SceneControl.AddConstantOverride(name, constant.Value); - } - else - { - SceneControl.Set($"custom_constants/{name}", null); - } - } - - protected int? GetConstantOverride(string name) - { - if (!GameController.OnGodot) - { - return default; - } - - return SceneControl.HasConstantOverride(name) ? SceneControl.GetConstant(name) : (int?) null; - } - - protected void SetStyleBoxOverride(string name, StyleBox styleBox) - { - if (!GameController.OnGodot) - { - return; - } - - SceneControl.AddStyleboxOverride(name, styleBox.GodotStyleBox); - } - - protected StyleBox GetStyleBoxOverride(string name) - { - if (!GameController.OnGodot) - { - return default; - } - - var box = SceneControl.HasStyleboxOverride(name) ? SceneControl.GetStylebox(name) : null; - return box == null ? null : new GodotStyleBoxWrap(box); - } - - protected void SetFontOverride(string name, Font font) - { - if (!GameController.OnGodot) - { - return; - } - - SceneControl.AddFontOverride(name, font); - } - - protected Font GetFontOverride(string name) - { - if (!GameController.OnGodot) - { - return default; - } - - var font = SceneControl.HasFontOverride(name) ? SceneControl.GetFont(name) : null; - return font == null ? null : new GodotWrapFont(font); - } - internal void DoUpdate(ProcessFrameEventArgs args) { Update(args); @@ -2335,11 +1690,6 @@ namespace Robust.Client.UserInterface private void _doUpdateLayout() { - if (GameController.OnGodot) - { - return; - } - var (pSizeX, pSizeY) = Parent?._size ?? Vector2.Zero; var top = _anchorTop * pSizeY + _marginTop; @@ -2398,13 +1748,9 @@ namespace Robust.Client.UserInterface public CursorShape DefaultCursorShape { - get => GameController.OnGodot ? (CursorShape) SceneControl.GetDefaultCursorShape() : default; + get => default; set { - if (GameController.OnGodot) - { - SceneControl.SetDefaultCursorShape((Godot.Control.CursorShape) value); - } } } @@ -2437,17 +1783,6 @@ namespace Robust.Client.UserInterface Ignore = 2, } - /// - /// Convenient helper to load a Godot scene without all the casting. Does NOT wrap the nodes (duh!). - /// - /// The resource path to the scene file to load. - /// The root of the loaded scene. - private protected static Godot.Control LoadScene(string path) - { - var scene2 = (Godot.PackedScene) Godot.ResourceLoader.Load(path); - return (Godot.Control) scene2.Instance(); - } - public readonly struct OrderedChildEnumerable : IEnumerable { private readonly Control Owner; @@ -2478,18 +1813,6 @@ namespace Robust.Client.UserInterface internal class ControlWrapAttribute : Attribute { public readonly string InstanceString; - public readonly Type ConcreteType; - - public ControlWrapAttribute(Type concreteType) - { - ConcreteType = concreteType; - } - - public ControlWrapAttribute(Type concreteType, string instanceString) - { - ConcreteType = concreteType; - InstanceString = instanceString; - } public ControlWrapAttribute(string instanceString) { diff --git a/Robust.Client/UserInterface/Controls/BaseButton.cs b/Robust.Client/UserInterface/Controls/BaseButton.cs index 785cffc48..7ace296bd 100644 --- a/Robust.Client/UserInterface/Controls/BaseButton.cs +++ b/Robust.Client/UserInterface/Controls/BaseButton.cs @@ -1,5 +1,4 @@ -using Robust.Client.GodotGlue; -using System; +using System; using JetBrains.Annotations; using Robust.Client.Utility; using Robust.Shared.Log; @@ -8,7 +7,7 @@ using Robust.Shared.ViewVariables; namespace Robust.Client.UserInterface.Controls { [PublicAPI] - [ControlWrap(typeof(Godot.BaseButton))] + [ControlWrap("BaseButton")] public abstract class BaseButton : Control { private bool _attemptingPress; @@ -22,50 +21,23 @@ namespace Robust.Client.UserInterface.Controls { } - internal BaseButton(Godot.BaseButton button) : base(button) - { - } - - private ActionMode _mode = ActionMode.Release; - [ViewVariables] - public ActionMode Mode - { - get => GameController.OnGodot ? (ActionMode) SceneControl.Get("action_mode") : _mode; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("action_mode", (Godot.BaseButton.ActionModeEnum) value); - } - else - { - _mode = value; - } - } - } + public ActionMode Mode { get; set; } = ActionMode.Release; private bool _disabled; [ViewVariables] public bool Disabled { - get => GameController.OnGodot ? (bool) SceneControl.Get("disabled") : _disabled; + get => _disabled; set { - if (GameController.OnGodot) - { - SceneControl.Set("disabled", value); - } - else - { - var old = _disabled; - _disabled = value; + var old = _disabled; + _disabled = value; - if (old != value) - { - DrawModeChanged(); - } + if (old != value) + { + DrawModeChanged(); } } } @@ -78,43 +50,21 @@ namespace Robust.Client.UserInterface.Controls [ViewVariables] public bool Pressed { - get => GameController.OnGodot ? (bool) SceneControl.Get("pressed") : _pressed; + get => _pressed; set { - if (GameController.OnGodot) + if (_pressed == value) { - SceneControl.Set("pressed", value); + return; } - else - { - if (_pressed != value) - { - _pressed = value; + _pressed = value; - DrawModeChanged(); - } - } + DrawModeChanged(); } } - private bool _toggleMode; - [ViewVariables] - public bool ToggleMode - { - get => GameController.OnGodot ? (bool) SceneControl.Get("toggle_mode") : _toggleMode; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("toggle_mode", value); - } - else - { - _toggleMode = value; - } - } - } + public bool ToggleMode { get; set; } public enum ActionMode { @@ -123,18 +73,13 @@ namespace Robust.Client.UserInterface.Controls } [ViewVariables] - public bool IsHovered => GameController.OnGodot ? (bool) SceneControl.Call("is_hovered") : _beingHovered; + public bool IsHovered => _beingHovered; [ViewVariables] public DrawModeEnum DrawMode { get { - if (GameController.OnGodot) - { - return (DrawModeEnum) SceneControl.Call("get_draw_mode"); - } - if (Disabled) { return DrawModeEnum.Disabled; @@ -154,21 +99,7 @@ namespace Robust.Client.UserInterface.Controls } } - private ButtonGroup _buttonGroup; - - public ButtonGroup ButtonGroup - { - get => _buttonGroup ?? (GameController.OnGodot - ? new ButtonGroup((Godot.ButtonGroup) SceneControl.Call("get_button_group")) - : null); - set - { - if (GameController.OnGodot) - { - SceneControl.Call("set_button_group", value?.GodotGroup); - } - } - } + public ButtonGroup ButtonGroup { get; set; } public event Action OnButtonDown; public event Action OnButtonUp; @@ -183,7 +114,7 @@ namespace Robust.Client.UserInterface.Controls { base.MouseDown(args); - if (GameController.OnGodot || Disabled) + if (Disabled) { return; } @@ -221,7 +152,7 @@ namespace Robust.Client.UserInterface.Controls { base.MouseUp(args); - if (GameController.OnGodot || Disabled) + if (Disabled) { return; } @@ -255,11 +186,6 @@ namespace Robust.Client.UserInterface.Controls { base.MouseEntered(); - if (GameController.OnGodot) - { - return; - } - var drawMode = DrawMode; _beingHovered = true; if (drawMode != DrawMode) @@ -272,11 +198,6 @@ namespace Robust.Client.UserInterface.Controls { base.MouseExited(); - if (GameController.OnGodot) - { - return; - } - var drawMode = DrawMode; _beingHovered = false; if (drawMode != DrawMode) @@ -319,85 +240,6 @@ namespace Robust.Client.UserInterface.Controls } } - private GodotSignalSubscriber0 __buttonDownSubscriber; - private GodotSignalSubscriber0 __buttonUpSubscriber; - private GodotSignalSubscriber1 __toggledSubscriber; - private GodotSignalSubscriber0 __pressedSubscriber; - - protected override void SetupSignalHooks() - { - base.SetupSignalHooks(); - - __buttonDownSubscriber = new GodotSignalSubscriber0(); - __buttonDownSubscriber.Connect(SceneControl, "button_down"); - __buttonDownSubscriber.Signal += __buttonDownHook; - - __buttonUpSubscriber = new GodotSignalSubscriber0(); - __buttonUpSubscriber.Connect(SceneControl, "button_up"); - __buttonUpSubscriber.Signal += __buttonUpHook; - - __toggledSubscriber = new GodotSignalSubscriber1(); - __toggledSubscriber.Connect(SceneControl, "toggled"); - __toggledSubscriber.Signal += __toggledHook; - - __pressedSubscriber = new GodotSignalSubscriber0(); - __pressedSubscriber.Connect(SceneControl, "pressed"); - __pressedSubscriber.Signal += __pressedHook; - } - - protected override void DisposeSignalHooks() - { - base.DisposeSignalHooks(); - - if (__buttonDownSubscriber != null) - { - __buttonDownSubscriber.Disconnect(SceneControl, "button_down"); - __buttonDownSubscriber.Dispose(); - __buttonDownSubscriber = null; - } - - if (__buttonUpSubscriber != null) - { - __buttonUpSubscriber.Disconnect(SceneControl, "button_up"); - __buttonUpSubscriber.Dispose(); - __buttonUpSubscriber = null; - } - - if (__toggledSubscriber != null) - { - __toggledSubscriber.Disconnect(SceneControl, "toggled"); - __toggledSubscriber.Dispose(); - __toggledSubscriber = null; - } - - if (__pressedSubscriber != null) - { - __pressedSubscriber.Disconnect(SceneControl, "pressed"); - __pressedSubscriber.Dispose(); - __pressedSubscriber = null; - } - } - - private void __buttonDownHook() - { - OnButtonDown?.Invoke(new ButtonEventArgs(this)); - } - - private void __buttonUpHook() - { - OnButtonUp?.Invoke(new ButtonEventArgs(this)); - } - - private void __pressedHook() - { - OnPressed?.Invoke(new ButtonEventArgs(this)); - } - - private void __toggledHook(object state) - { - OnToggled?.Invoke(new ButtonToggledEventArgs((bool) state, this)); - } - private protected override void SetGodotProperty(string property, object value, GodotAssetScene context) { base.SetGodotProperty(property, value, context); @@ -416,56 +258,5 @@ namespace Robust.Client.UserInterface.Controls public sealed class ButtonGroup { - public Godot.ButtonGroup GodotGroup { get; } - - public ButtonGroup() - { - if (GameController.OnGodot) - { - GodotGroup = new Godot.ButtonGroup(); - } - } - - public ButtonGroup(Godot.ButtonGroup group) - { - GodotGroup = group; - } - - private bool Equals(ButtonGroup other) - { - if (ReferenceEquals(this, other)) - { - return true; - } - - if (GameController.OnGodot) - { - return Equals(GodotGroup, other.GodotGroup); - } - - return false; - } - - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - return obj is ButtonGroup grp && Equals(grp); - } - - public override int GetHashCode() - { - return GodotGroup != null ? GodotGroup.GetHashCode() : 0; - } - - public static bool operator ==(ButtonGroup left, ButtonGroup right) - { - return Equals(left, right); - } - - public static bool operator !=(ButtonGroup left, ButtonGroup right) - { - return !Equals(left, right); - } } } diff --git a/Robust.Client/UserInterface/Controls/BoxContainer.cs b/Robust.Client/UserInterface/Controls/BoxContainer.cs index 82577e7a1..77ce81cb2 100644 --- a/Robust.Client/UserInterface/Controls/BoxContainer.cs +++ b/Robust.Client/UserInterface/Controls/BoxContainer.cs @@ -4,7 +4,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(BoxContainer))] + [ControlWrap("BoxContainer")] public abstract class BoxContainer : Container { public const string StylePropertySeparation = "separation"; @@ -20,27 +20,7 @@ namespace Robust.Client.UserInterface.Controls { } - internal BoxContainer(Godot.BoxContainer sceneControl) : base(sceneControl) - { - } - - private AlignMode _align; - - public AlignMode Align - { - get => GameController.OnGodot ? (AlignMode) SceneControl.Get("align_mode") : _align; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("align_mode", (int) value); - } - else - { - _align = value; - } - } - } + public AlignMode Align { get; set; } private int ActualSeparation { @@ -51,17 +31,11 @@ namespace Robust.Client.UserInterface.Controls return separation; } - return _separationOverride ?? 1; + return SeparationOverride ?? 1; } } - private int? _separationOverride; - - public int? SeparationOverride - { - get => _separationOverride ?? GetConstantOverride("separation"); - set => SetConstantOverride("separation", _separationOverride = value); - } + public int? SeparationOverride { get; set; } protected override void SortChildren() { @@ -160,7 +134,7 @@ namespace Robust.Client.UserInterface.Controls var offset = 0; if (!stretchingAtAll) { - switch (_align) + switch (Align) { case AlignMode.Begin: break; @@ -203,10 +177,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return base.CalculateMinimumSize(); - } var separation = ActualSeparation; var minWidth = 0f; diff --git a/Robust.Client/UserInterface/Controls/Button.cs b/Robust.Client/UserInterface/Controls/Button.cs index e1770afe7..00a815721 100644 --- a/Robust.Client/UserInterface/Controls/Button.cs +++ b/Robust.Client/UserInterface/Controls/Button.cs @@ -7,7 +7,7 @@ using Robust.Shared.ViewVariables; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.Button))] + [ControlWrap("Button")] public class Button : BaseButton { public const string StylePropertyStyleBox = "stylebox"; @@ -25,71 +25,23 @@ namespace Robust.Client.UserInterface.Controls { } - internal Button(Godot.Button button) : base(button) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.Button(); - } - - private AlignMode _textAlign = AlignMode.Center; + [ViewVariables] + public AlignMode TextAlign { get; set; } = AlignMode.Center; [ViewVariables] - public AlignMode TextAlign - { - get => GameController.OnGodot ? (AlignMode) SceneControl.Get("align") : _textAlign; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("align", (Godot.Button.TextAlign) value); - } - else - { - _textAlign = value; - } - } - } - - private bool _clipText; - - [ViewVariables] - public bool ClipText - { - get => GameController.OnGodot ? (bool) SceneControl.Get("clip_text") : _clipText; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("clip_text", value); - } - else - { - _clipText = value; - } - } - } + public bool ClipText { get; set; } private string _text; [ViewVariables] public string Text { - get => GameController.OnGodot ? (string) SceneControl.Get("text") : _text; + get => _text; set { - if (GameController.OnGodot) - { - SceneControl.Set("text", value); - } - else - { - _text = value; - _textWidthCache = null; - MinimumSizeChanged(); - } + _text = value; + _textWidthCache = null; + MinimumSizeChanged(); } } @@ -128,41 +80,14 @@ namespace Robust.Client.UserInterface.Controls return fontColor; } - return _fontColorOverride ?? Color.White; + return FontColorOverride ?? Color.White; } } - private Color? _fontColorOverride; - - public Color? FontColorOverride - { - get => _fontColorOverride ?? GetColorOverride("font_color"); - set => SetColorOverride("font_color", _fontColorOverride = value); - } - - private Color? _fontColorDisabledOverride; - - public Color? FontColorDisabledOverride - { - get => _fontColorDisabledOverride ?? GetColorOverride("font_color_disabled"); - set => SetColorOverride("font_color_disabled", _fontColorDisabledOverride = value); - } - - private Color? _fontColorHoverOverride; - - public Color? FontColorHoverOverride - { - get => _fontColorHoverOverride ?? GetColorOverride("font_color_hover"); - set => SetColorOverride("font_color_hover", _fontColorHoverOverride = value); - } - - private Color? _fontColorPressedOverride; - - public Color? FontColorPressedOverride - { - get => _fontColorPressedOverride ?? GetColorOverride("font_color_pressed"); - set => SetColorOverride("font_color_pressed", _fontColorPressedOverride = value); - } + public Color? FontColorOverride { get; set; } + public Color? FontColorDisabledOverride { get; set; } + public Color? FontColorHoverOverride { get; set; } + public Color? FontColorPressedOverride { get; set; } public enum AlignMode { @@ -175,11 +100,6 @@ namespace Robust.Client.UserInterface.Controls { base.Draw(handle); - if (GameController.OnGodot) - { - return; - } - var style = ActualStyleBox; var drawBox = SizeBox; style.Draw(handle, drawBox); @@ -243,12 +163,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return base.CalculateMinimumSize(); - } - - var uiTheme = UserInterfaceManager.ThemeDefaults; var style = ActualStyleBox; var font = ActualFont; diff --git a/Robust.Client/UserInterface/Controls/CenterContainer.cs b/Robust.Client/UserInterface/Controls/CenterContainer.cs index 83b809251..4045e35a2 100644 --- a/Robust.Client/UserInterface/Controls/CenterContainer.cs +++ b/Robust.Client/UserInterface/Controls/CenterContainer.cs @@ -2,17 +2,9 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.CenterContainer))] + [ControlWrap("CenterContainer")] public class CenterContainer : Container { - public CenterContainer() {} - public CenterContainer(Godot.CenterContainer control) : base(control) {} - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.CenterContainer(); - } - protected override void SortChildren() { foreach (var child in Children) @@ -26,11 +18,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - var min = Vector2.Zero; foreach (var child in Children) diff --git a/Robust.Client/UserInterface/Controls/CheckBox.cs b/Robust.Client/UserInterface/Controls/CheckBox.cs index 0b632c96f..063dd5d3b 100644 --- a/Robust.Client/UserInterface/Controls/CheckBox.cs +++ b/Robust.Client/UserInterface/Controls/CheckBox.cs @@ -4,7 +4,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.CheckBox))] + [ControlWrap("CheckBox")] public class CheckBox : Button { public const string StylePropertyIcon = "icon"; @@ -18,17 +18,8 @@ namespace Robust.Client.UserInterface.Controls { } - internal CheckBox(Godot.CheckBox box) : base(box) - { - } - protected internal override void Draw(DrawingHandleScreen handle) { - if (GameController.OnGodot) - { - return; - } - var offset = 0; var icon = _getIcon(); if (icon != null) @@ -43,11 +34,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - var minSize = _getIcon()?.Size ?? Vector2i.Zero; var font = ActualFont; @@ -80,11 +66,6 @@ namespace Robust.Client.UserInterface.Controls return 0; } - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.CheckBox(); - } - protected override void SetDefaults() { base.SetDefaults(); diff --git a/Robust.Client/UserInterface/Controls/CheckButton.cs b/Robust.Client/UserInterface/Controls/CheckButton.cs index 4ff2c3d01..779792ad2 100644 --- a/Robust.Client/UserInterface/Controls/CheckButton.cs +++ b/Robust.Client/UserInterface/Controls/CheckButton.cs @@ -1,14 +1,10 @@ namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.CheckButton))] + [ControlWrap("CheckButton")] public class CheckButton : Button { public CheckButton() { } - - public CheckButton(Godot.CheckButton button) : base(button) - { - } } } diff --git a/Robust.Client/UserInterface/Controls/Container.cs b/Robust.Client/UserInterface/Controls/Container.cs index ee0ed7174..6e3e95040 100644 --- a/Robust.Client/UserInterface/Controls/Container.cs +++ b/Robust.Client/UserInterface/Controls/Container.cs @@ -3,7 +3,7 @@ using Robust.Shared.Utility; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.Container))] + [ControlWrap("Container")] public class Container : Control { public Container() : base() @@ -14,17 +14,6 @@ namespace Robust.Client.UserInterface.Controls { } - // So for SOME REASON Godot.TabContainer wasn't a Container until 3.1. - // ??? - internal Container(Godot.Control sceneControl) : base(sceneControl) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.Container(); - } - protected virtual void SortChildren() { @@ -34,26 +23,20 @@ namespace Robust.Client.UserInterface.Controls { base.ChildAdded(newChild); - if (!GameController.OnGodot) - { - newChild.OnMinimumSizeChanged += _childChanged; - newChild.OnVisibilityChanged += _childChanged; - MinimumSizeChanged(); - SortChildren(); - } + newChild.OnMinimumSizeChanged += _childChanged; + newChild.OnVisibilityChanged += _childChanged; + MinimumSizeChanged(); + SortChildren(); } protected override void ChildRemoved(Control child) { base.ChildRemoved(child); - if (!GameController.OnGodot) - { - child.OnMinimumSizeChanged -= _childChanged; - child.OnVisibilityChanged -= _childChanged; - MinimumSizeChanged(); - SortChildren(); - } + child.OnMinimumSizeChanged -= _childChanged; + child.OnVisibilityChanged -= _childChanged; + MinimumSizeChanged(); + SortChildren(); } protected void FitChildInBox(Control child, UIBox2 box) @@ -109,11 +92,6 @@ namespace Robust.Client.UserInterface.Controls { base.Resized(); - if (GameController.OnGodot) - { - return; - } - SortChildren(); } } diff --git a/Robust.Client/UserInterface/Controls/GridContainer.cs b/Robust.Client/UserInterface/Controls/GridContainer.cs index 508fd8c7c..d4b5b4319 100644 --- a/Robust.Client/UserInterface/Controls/GridContainer.cs +++ b/Robust.Client/UserInterface/Controls/GridContainer.cs @@ -4,7 +4,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.GridContainer))] + [ControlWrap("GridContainer")] public class GridContainer : Container { private int _columns = 1; @@ -17,35 +17,19 @@ namespace Robust.Client.UserInterface.Controls { } - internal GridContainer(Godot.GridContainer sceneControl) : base(sceneControl) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.GridContainer(); - } - public int Columns { - get => GameController.OnGodot ? (int) SceneControl.Get("columns") : _columns; + get => _columns; set { - if (GameController.OnGodot) + if (value <= 0) { - SceneControl.Set("columns", value); + throw new ArgumentOutOfRangeException(nameof(value), value, "Value must be greater than zero."); } - else - { - if (value <= 0) - { - throw new ArgumentOutOfRangeException(nameof(value), value, "Value must be greater than zero."); - } - _columns = value; - MinimumSizeChanged(); - SortChildren(); - } + _columns = value; + MinimumSizeChanged(); + SortChildren(); } } @@ -73,8 +57,8 @@ namespace Robust.Client.UserInterface.Controls [SuppressMessage("ReSharper", "StringLiteralTypo")] public int? VSeparationOverride { - get => _vSeparationOverride ?? GetConstantOverride("vseparation"); - set => SetConstantOverride("vseparation", _vSeparationOverride = value); + get => _vSeparationOverride; + set => _vSeparationOverride = value; } private int? _hSeparationOverride; @@ -82,19 +66,14 @@ namespace Robust.Client.UserInterface.Controls [SuppressMessage("ReSharper", "StringLiteralTypo")] public int? HSeparationOverride { - get => _hSeparationOverride ?? GetConstantOverride("hseparation"); - set => SetConstantOverride("hseparation", _hSeparationOverride = value); + get => _hSeparationOverride; + set => _hSeparationOverride = value; } private (int h, int v) Separations => (_hSeparationOverride ?? 4, _vSeparationOverride ?? 4); protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - var firstRow = true; var totalMinSize = Vector2.Zero; var thisRowSize = Vector2.Zero; diff --git a/Robust.Client/UserInterface/Controls/HBoxContainer.cs b/Robust.Client/UserInterface/Controls/HBoxContainer.cs index f1c468cb7..53f08256d 100644 --- a/Robust.Client/UserInterface/Controls/HBoxContainer.cs +++ b/Robust.Client/UserInterface/Controls/HBoxContainer.cs @@ -1,6 +1,6 @@ namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.HBoxContainer))] + [ControlWrap("HBoxContainer")] public class HBoxContainer : BoxContainer { public HBoxContainer() : base() @@ -11,15 +11,6 @@ { } - internal HBoxContainer(Godot.HBoxContainer sceneControl) : base(sceneControl) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.HBoxContainer(); - } - private protected override bool Vertical => false; } } diff --git a/Robust.Client/UserInterface/Controls/HScrollBar.cs b/Robust.Client/UserInterface/Controls/HScrollBar.cs index 81374038e..e802c5edd 100644 --- a/Robust.Client/UserInterface/Controls/HScrollBar.cs +++ b/Robust.Client/UserInterface/Controls/HScrollBar.cs @@ -1,19 +1,10 @@ namespace Robust.Client.UserInterface.Controls { - [Control.ControlWrapAttribute(typeof(Godot.HScrollBar))] + [Control.ControlWrapAttribute("HScrollBar")] public class HScrollBar : ScrollBar { public HScrollBar() : base(OrientationMode.Horizontal) { } - - internal HScrollBar(Godot.HScrollBar control) : base(control) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.HScrollBar(); - } } } diff --git a/Robust.Client/UserInterface/Controls/HSplitContainer.cs b/Robust.Client/UserInterface/Controls/HSplitContainer.cs index e75e765ff..d2da585c3 100644 --- a/Robust.Client/UserInterface/Controls/HSplitContainer.cs +++ b/Robust.Client/UserInterface/Controls/HSplitContainer.cs @@ -1,11 +1,10 @@ namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.HSplitContainer))] + [ControlWrap("HSplitContainer")] public class HSplitContainer : SplitContainer { private protected sealed override bool Vertical => false; public HSplitContainer() {} - public HSplitContainer(Godot.HSplitContainer control) : base(control) {} } } diff --git a/Robust.Client/UserInterface/Controls/ItemList.cs b/Robust.Client/UserInterface/Controls/ItemList.cs index 06396383e..66dc6d1fa 100644 --- a/Robust.Client/UserInterface/Controls/ItemList.cs +++ b/Robust.Client/UserInterface/Controls/ItemList.cs @@ -11,7 +11,7 @@ using Font = Robust.Client.Graphics.Font; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.ItemList))] + [ControlWrap("ItemList")] public class ItemList : Control { private bool _isAtBottom = true; @@ -29,7 +29,7 @@ namespace Robust.Client.UserInterface.Controls public const string StylePropertySelectedItemBackground = "selected-item-background"; public const string StylePropertyDisabledItemBackground = "disabled-item-background"; - public int ItemCount => GameController.OnGodot ? (int)SceneControl.Call("get_item_count") : _itemList.Count; + public int ItemCount => _itemList.Count; public bool ScrollFollowing { get; set; } = true; @@ -45,20 +45,11 @@ namespace Robust.Client.UserInterface.Controls { } - internal ItemList(Godot.ItemList control) : base(control) - { - } - protected override void SetDefaults() { RectClipContent = true; } - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.ItemList(); - } - private void RecalculateContentHeight() { _totalContentHeight = 0; @@ -74,236 +65,118 @@ namespace Robust.Client.UserInterface.Controls public void AddItem(string text, Texture icon = null, bool selectable = true) { - if (GameController.OnGodot) + var item = new Item {Text = text, Icon = icon, Selectable = selectable}; + _itemList.Add(item); + RecalculateContentHeight(); + if (_isAtBottom && ScrollFollowing) { - SceneControl.Call("add_item", text, icon, selectable); - } - else - { - var item = new Item() {Text = text, Icon = icon, Selectable = selectable}; - _itemList.Add(item); - RecalculateContentHeight(); - if (_isAtBottom && ScrollFollowing) - { - _scrollBar.Value = ScrollLimit; + _scrollBar.Value = ScrollLimit; - } } } public void AddIconItem(Texture icon, bool selectable = true) { - if (GameController.OnGodot) - { - SceneControl.Call("add_icon_item", icon, selectable); - } - else - { - AddItem(null, icon, selectable); - } + AddItem(null, icon, selectable); } public void Clear() { - if (GameController.OnGodot) - { - SceneControl.Call("clear"); - } - else - { - _itemList.Clear(); - _totalContentHeight = 0; - } + _itemList.Clear(); + _totalContentHeight = 0; } public void EnsureCurrentIsVisible() { - if (GameController.OnGodot) - { - SceneControl.Call("ensure_current_is_visible"); - } + // TODO: Implement this. } public int GetItemAtPosition(Vector2 position, bool exact = false) { - return GameController.OnGodot ? (int)SceneControl.Call("get_item_at_position", position.Convert(), exact) : default; + throw new NotImplementedException(); } public bool IsSelected(int idx) { - return GameController.OnGodot ? (bool)SceneControl.Call("is_selected", idx) : _itemList[idx].Selected; + return _itemList[idx].Selected; } public void RemoveItem(int idx) { - if (GameController.OnGodot) - { - SceneControl.Call("remove_item", idx); - } - else - { - _itemList.RemoveAt(idx); - RecalculateContentHeight(); - } + _itemList.RemoveAt(idx); + RecalculateContentHeight(); } public void Select(int idx, bool single = true) { - if (GameController.OnGodot) + if (single) { - SceneControl.Call("select", idx, single); + for (var jdx = 0; jdx < _itemList.Count; jdx++) + { + Unselect(jdx); + } } - else + + var i = _itemList[idx]; + + if (i.Selectable) { - if (single) - { - for (var jdx = 0; jdx < _itemList.Count; jdx++) - { - Unselect(jdx); - } - } - - var i = _itemList[idx]; - - if (i.Selectable) - { - i.Selected = true; - OnItemSelected?.Invoke(new ItemListSelectedEventArgs(idx, this)); - } + i.Selected = true; + OnItemSelected?.Invoke(new ItemListSelectedEventArgs(idx, this)); } } public void Select(Item item, bool single = true) { - if (GameController.OnGodot) - { - return; - } - else - { - var idx = _itemList.IndexOf(item); - if (idx != -1) - Select(idx, single); - } - } - - public void SetItemCustomBgColor(int idx, Color color) - { - if (GameController.OnGodot) - { - SceneControl.Call("set_icon_custom_bg_color", idx, color.Convert()); - } - else - { - //_itemList[idx].CustomBg = color; - } + var idx = _itemList.IndexOf(item); + if (idx != -1) + Select(idx, single); } public void SetItemDisabled(int idx, bool disabled) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_disabled", idx, disabled); - } - else - { - Unselect(idx); - var i = _itemList[idx]; - i.Disabled = disabled; - } + Unselect(idx); + var i = _itemList[idx]; + i.Disabled = disabled; } public void SetItemIcon(int idx, Texture icon) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_icon", idx, icon); - } - else - { - _itemList[idx].Icon = icon; - } + _itemList[idx].Icon = icon; } public void SetItemIconRegion(int idx, UIBox2 region) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_icon_region", idx, region.Convert()); - } - else - { - _itemList[idx].IconRegion = region; - } + _itemList[idx].IconRegion = region; } public void SetItemSelectable(int idx, bool selectable) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_selectable", idx, selectable); - } - else - { - _itemList[idx].Selectable = selectable; - } + _itemList[idx].Selectable = selectable; } public void SetItemText(int idx, string text) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_text", idx, text); - } - else - { - _itemList[idx].Text = text; - } + _itemList[idx].Text = text; } public void SetItemTooltip(int idx, string tooltip) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_tooltip", idx, tooltip); - } - else - { - _itemList[idx].TooltipText = tooltip; - } + _itemList[idx].TooltipText = tooltip; } public void SetItemTooltipEnabled(int idx, bool enabled) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_tooltip_enabled", idx, enabled); - } - else - { - _itemList[idx].TooltipEnabled = true; - } + _itemList[idx].TooltipEnabled = true; } public void SortItemsByText() { - if (GameController.OnGodot) - { - SceneControl.Call("sort_items_by_text"); - } - else - { - _itemList.Sort((p, q) => string.Compare(p.Text, q.Text, StringComparison.Ordinal)); - } + _itemList.Sort((p, q) => string.Compare(p.Text, q.Text, StringComparison.Ordinal)); } public void Unselect(int idx) { - if (GameController.OnGodot) - { - SceneControl.Call("unselect", idx); - } - else { var i = _itemList[idx]; if (!i.Selected) return; @@ -314,16 +187,9 @@ namespace Robust.Client.UserInterface.Controls public void Unselect(Item item) { - if (GameController.OnGodot) - { - return; - } - else - { - var idx = _itemList.IndexOf(item); - if (idx == -1) return; - Unselect(idx); - } + var idx = _itemList.IndexOf(item); + if (idx == -1) return; + Unselect(idx); } public Font ActualFont @@ -413,11 +279,6 @@ namespace Robust.Client.UserInterface.Controls { base.Draw(handle); - if (GameController.OnGodot) - { - return; - } - var font = ActualFont; var listBg = ActualBackground; var iconBg = ActualItemBackground; @@ -516,11 +377,6 @@ namespace Robust.Client.UserInterface.Controls { base.MouseMove(args); - if (GameController.OnGodot) - { - return; - } - for (var idx = 0; idx < _itemList.Count; idx++) { var item = _itemList[idx]; @@ -535,11 +391,6 @@ namespace Robust.Client.UserInterface.Controls { base.MouseWheel(args); - if (GameController.OnGodot) - { - return; - } - if (args.WheelDirection == Mouse.Wheel.Up) { _scrollBar.Value = _scrollBar.Value - _getScrollSpeed(); @@ -563,7 +414,7 @@ namespace Robust.Client.UserInterface.Controls { base.MouseDown(args); - if (GameController.OnGodot || SelectMode == ItemListSelectMode.None || args.Button != Mouse.Button.Left) + if (SelectMode == ItemListSelectMode.None || args.Button != Mouse.Button.Left) { return; } @@ -584,8 +435,6 @@ namespace Robust.Client.UserInterface.Controls protected override void Initialize() { base.Initialize(); - if (GameController.OnGodot) - return; _scrollBar = new VScrollBar {Name = "_v_scroll"}; AddChild(_scrollBar); diff --git a/Robust.Client/UserInterface/Controls/Label.cs b/Robust.Client/UserInterface/Controls/Label.cs index 0a53da2df..884a914ac 100644 --- a/Robust.Client/UserInterface/Controls/Label.cs +++ b/Robust.Client/UserInterface/Controls/Label.cs @@ -11,7 +11,7 @@ namespace Robust.Client.UserInterface.Controls /// /// A label is a GUI control that displays simple text. /// - [ControlWrap(typeof(Godot.Label))] + [ControlWrap("Label")] public class Label : Control { public const string StylePropertyFontColor = "font-color"; @@ -23,11 +23,7 @@ namespace Robust.Client.UserInterface.Controls { } - public Label() : base() - { - } - - internal Label(Godot.Label control) : base(control) + public Label() { } @@ -36,90 +32,39 @@ namespace Robust.Client.UserInterface.Controls [ViewVariables] public string Text { - get => GameController.OnGodot ? (string) SceneControl.Get("text") : _text; + get => _text; set { - if (GameController.OnGodot) - { - SceneControl.Set("text", value); - } - else - { - _text = value; - _textDimensionCache = null; - MinimumSizeChanged(); - } + _text = value; + _textDimensionCache = null; + MinimumSizeChanged(); } } [ViewVariables] public bool AutoWrap { - get => GameController.OnGodot ? (bool) SceneControl.Get("autowrap") : default; + get => default; set { - if (GameController.OnGodot) - { - SceneControl.Set("autowrap", value); - } } } - private AlignMode _align; - [ViewVariables] - public AlignMode Align - { - get => GameController.OnGodot ? (AlignMode) SceneControl.Get("align") : _align; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("align", (Godot.Label.AlignEnum) value); - } - else - { - _align = value; - } - } - } - - private VAlignMode _vAlign; + public AlignMode Align { get; set; } [ViewVariables] - public VAlignMode VAlign - { - // ReSharper disable once StringLiteralTypo - get => GameController.OnGodot ? (VAlignMode) SceneControl.Get("valign") : _vAlign; - set - { - if (GameController.OnGodot) - { - // ReSharper disable once StringLiteralTypo - SceneControl.Set("valign", (Godot.Label.VAlign) value); - } - else - { - _vAlign = value; - } - } - } + public VAlignMode VAlign { get; set; } - private Font _fontOverride; - - public Font FontOverride - { - get => _fontOverride ?? GetFontOverride("font"); - set => SetFontOverride("font", _fontOverride = value); - } + public Font FontOverride { get; set; } private Font ActualFont { get { - if (_fontOverride != null) + if (FontOverride != null) { - return _fontOverride; + return FontOverride; } if (TryGetStyleProperty(StylePropertyFont, out var font)) @@ -131,21 +76,15 @@ namespace Robust.Client.UserInterface.Controls } } - private Color? _fontColorShadowOverride; - - public Color? FontColorShadowOverride - { - get => _fontColorShadowOverride ?? GetColorOverride("font_color_shadow"); - set => SetColorOverride("font_color_shadow", _fontColorShadowOverride = value); - } + public Color? FontColorShadowOverride { get; set; } private Color ActualFontColor { get { - if (_fontColorOverride.HasValue) + if (FontColorOverride.HasValue) { - return _fontColorOverride.Value; + return FontColorOverride.Value; } if (TryGetStyleProperty(StylePropertyFontColor, out var color)) @@ -157,42 +96,15 @@ namespace Robust.Client.UserInterface.Controls } } - private Color? _fontColorOverride; + public Color? FontColorOverride { get; set; } - public Color? FontColorOverride - { - get => _fontColorOverride ?? GetColorOverride("font_color"); - set => SetColorOverride("font_color", _fontColorOverride = value); - } + public int? ShadowOffsetXOverride { get; set; } - private int? _shadowOffsetXOverride; + public int? ShadowOffsetYOverride { get; set; } - public int? ShadowOffsetXOverride - { - get => _shadowOffsetXOverride ?? GetConstantOverride("shadow_offset_x"); - set => SetConstantOverride("shadow_offset_x", _shadowOffsetXOverride = value); - } - - private int? _shadowOffsetYOverride; - - public int? ShadowOffsetYOverride - { - get => _shadowOffsetYOverride ?? GetConstantOverride("shadow_offset_y"); - set => SetConstantOverride("shadow_offset_y", _shadowOffsetYOverride = value); - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.Label(); - } protected internal override void Draw(DrawingHandleScreen handle) { - if (GameController.OnGodot) - { - return; - } - if (_text == null) { return; @@ -273,11 +185,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return base.CalculateMinimumSize(); - } - if (!_textDimensionCache.HasValue) { _calculateTextDimension(); diff --git a/Robust.Client/UserInterface/Controls/LineEdit.cs b/Robust.Client/UserInterface/Controls/LineEdit.cs index caa71deab..50aa93a4b 100644 --- a/Robust.Client/UserInterface/Controls/LineEdit.cs +++ b/Robust.Client/UserInterface/Controls/LineEdit.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using JetBrains.Annotations; -using Robust.Client.GodotGlue; using Robust.Client.Graphics; using Robust.Client.Graphics.Drawing; using Robust.Client.Input; @@ -12,7 +11,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.LineEdit))] + [ControlWrap("LineEdit")] public class LineEdit : Control { public const string StylePropertyStyleBox = "stylebox"; @@ -20,7 +19,6 @@ namespace Robust.Client.UserInterface.Controls public const string StylePseudoClassPlaceholder = "placeholder"; [NotNull] private string _text = ""; - private AlignMode _textAlign; private bool _editable = true; [CanBeNull] private string _placeHolder; private int _cursorPosition; @@ -38,92 +36,48 @@ namespace Robust.Client.UserInterface.Controls { } - internal LineEdit(Godot.LineEdit control) : base(control) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.LineEdit(); - } - - public AlignMode TextAlign - { - get => GameController.OnGodot ? (AlignMode) SceneControl.Get("align") : _textAlign; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("align", (Godot.LineEdit.AlignEnum) value); - } - else - { - _textAlign = value; - } - } - } + public AlignMode TextAlign { get; set; } public string Text { - get => GameController.OnGodot ? (string) SceneControl.Get("text") : _text; + get => _text; set { - if (GameController.OnGodot) + if (value == null) { - SceneControl.Set("text", value); + value = ""; } - else - { - if (value == null) - { - value = ""; - } - _text = value; - _cursorPosition = 0; - _updatePseudoClass(); - } + _text = value; + _cursorPosition = 0; + _updatePseudoClass(); } } public bool Editable { - get => GameController.OnGodot ? (bool) SceneControl.Get("editable") : _editable; + get => _editable; set { - if (GameController.OnGodot) + _editable = value; + if (!_editable) { - SceneControl.Set("editable", value); + AddStyleClass(StyleClassLineEditNotEditable); } else { - _editable = value; - if (!_editable) - { - AddStyleClass(StyleClassLineEditNotEditable); - } - else - { - RemoveStyleClass(StyleClassLineEditNotEditable); - } + RemoveStyleClass(StyleClassLineEditNotEditable); } } } public string PlaceHolder { - get => GameController.OnGodot ? (string) SceneControl.Get("placeholder_text") : _placeHolder; + get => _placeHolder; set { - if (GameController.OnGodot) - { - SceneControl.Set("placeholder_text", value); - } - else - { - _placeHolder = value; - _updatePseudoClass(); - } + _placeHolder = value; + _updatePseudoClass(); } } @@ -136,51 +90,19 @@ namespace Robust.Client.UserInterface.Controls // Future me reporting, thanks past me. // Second future me reporting, thanks again. // Third future me is here to say thanks. - - public void AppendAtCursor(string text) - { - if (GameController.OnGodot) - { - SceneControl.Call("append_at_cursor", text); - } - } + // Fourth future me is here to continue the tradition. public void Clear() { - if (GameController.OnGodot) - { - SceneControl.Call("clear"); - } - Text = ""; } - public int CursorPosition - { - get => GameController.OnGodot ? (int) SceneControl.Get("caret_position") : default; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("caret_position", value); - } - } - } - public void Select(int from = 0, int to = -1) { - if (GameController.OnGodot) - { - SceneControl.Call("select", from, to); - } } public void SelectAll() { - if (GameController.OnGodot) - { - SceneControl.Call("select_all"); - } } public event Action OnTextChanged; @@ -188,12 +110,6 @@ namespace Robust.Client.UserInterface.Controls public void InsertAtCursor(string text) { - if (GameController.OnGodot) - { - SceneControl.Call("append_at_cursor", text); - return; - } - // Strip newlines. var chars = new List(text.Length); foreach (var chr in text) @@ -218,11 +134,6 @@ namespace Robust.Client.UserInterface.Controls protected internal override void Draw(DrawingHandleScreen handle) { - if (GameController.OnGodot) - { - return; - } - var styleBox = _getStyleBox(); var drawBox = SizeBox; var contentBox = styleBox.GetContentBox(drawBox); @@ -287,11 +198,6 @@ namespace Robust.Client.UserInterface.Controls { base.FrameUpdate(args); - if (GameController.OnGodot) - { - return; - } - _cursorBlinkTimer -= args.Elapsed; if (_cursorBlinkTimer <= 0) { @@ -302,11 +208,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - var font = _getFont(); var style = _getStyleBox(); return new Vector2(0, font.Height) + style.MinimumSize; @@ -316,7 +217,7 @@ namespace Robust.Client.UserInterface.Controls { base.TextEntered(args); - if (GameController.OnGodot || !Editable) + if (!Editable) { return; } @@ -337,11 +238,6 @@ namespace Robust.Client.UserInterface.Controls { base.KeyDown(args); - if (GameController.OnGodot) - { - return; - } - // Just eat all keyboard input. args.Handle(); @@ -407,11 +303,6 @@ namespace Robust.Client.UserInterface.Controls { base.MouseDown(args); - if (GameController.OnGodot) - { - return; - } - // Find closest cursor position under mouse. var style = _getStyleBox(); var contentBox = style.GetContentBox(SizeBox); @@ -466,12 +357,6 @@ namespace Robust.Client.UserInterface.Controls { base.FocusEntered(); - - if (GameController.OnGodot) - { - return; - } - // Reset this so the cursor is always visible immediately after gaining focus.. _cursorCurrentlyLit = true; _cursorBlinkTimer = BlinkTime; @@ -543,51 +428,6 @@ namespace Robust.Client.UserInterface.Controls } } - private GodotSignalSubscriber1 __textChangedSubscriber; - private GodotSignalSubscriber1 __textEnteredSubscriber; - - protected override void SetupSignalHooks() - { - base.SetupSignalHooks(); - - __textChangedSubscriber = new GodotSignalSubscriber1(); - __textChangedSubscriber.Connect(SceneControl, "text_changed"); - __textChangedSubscriber.Signal += __textChangedHook; - - __textEnteredSubscriber = new GodotSignalSubscriber1(); - __textEnteredSubscriber.Connect(SceneControl, "text_entered"); - __textEnteredSubscriber.Signal += __textEnteredHook; - } - - protected override void DisposeSignalHooks() - { - base.DisposeSignalHooks(); - - if (__textChangedSubscriber != null) - { - __textChangedSubscriber.Disconnect(SceneControl, "text_changed"); - __textChangedSubscriber.Dispose(); - __textChangedSubscriber = null; - } - - if (__textEnteredSubscriber != null) - { - __textEnteredSubscriber.Disconnect(SceneControl, "text_entered"); - __textEnteredSubscriber.Dispose(); - __textEnteredSubscriber = null; - } - } - - private void __textChangedHook(object text) - { - OnTextChanged?.Invoke(new LineEditEventArgs(this, (string) text)); - } - - private void __textEnteredHook(object text) - { - OnTextEntered?.Invoke(new LineEditEventArgs(this, (string) text)); - } - private protected override void SetGodotProperty(string property, object value, GodotAssetScene context) { base.SetGodotProperty(property, value, context); diff --git a/Robust.Client/UserInterface/Controls/MarginContainer.cs b/Robust.Client/UserInterface/Controls/MarginContainer.cs index e45435b5a..8ca3e98b7 100644 --- a/Robust.Client/UserInterface/Controls/MarginContainer.cs +++ b/Robust.Client/UserInterface/Controls/MarginContainer.cs @@ -3,7 +3,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.MarginContainer))] + [ControlWrap("MarginContainer")] public class MarginContainer : Container { public MarginContainer() @@ -14,53 +14,17 @@ namespace Robust.Client.UserInterface.Controls { } - internal MarginContainer(Godot.MarginContainer sceneControl) : base(sceneControl) - { - } - - private int? _marginBottomOverride; - - public int? MarginBottomOverride - { - get => _marginBottomOverride ?? GetConstantOverride("margin_bottom"); - set => SetConstantOverride("margin_bottom", _marginBottomOverride = value); - } - - private int? _marginTopOverride; - - public int? MarginTopOverride - { - get => _marginTopOverride ?? GetConstantOverride("margin_top"); - set => SetConstantOverride("margin_top", _marginTopOverride = value); - } - - private int? _marginRightOverride; - - public int? MarginRightOverride - { - get => _marginRightOverride ?? GetConstantOverride("margin_right"); - set => SetConstantOverride("margin_right", _marginRightOverride = value); - } - - private int? _marginLeftOverride; - - public int? MarginLeftOverride - { - get => _marginLeftOverride ?? GetConstantOverride("margin_left"); - set => SetConstantOverride("margin_left", _marginLeftOverride = value); - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.MarginContainer(); - } + public int? MarginBottomOverride { get; set; } + public int? MarginTopOverride { get; set; } + public int? MarginRightOverride { get; set; } + public int? MarginLeftOverride { get; set; } protected override void SortChildren() { - var top = _marginTopOverride ?? 0; - var bottom = _marginBottomOverride ?? 0; - var left = _marginLeftOverride ?? 0; - var right = _marginRightOverride ?? 0; + var top = MarginTopOverride ?? 0; + var bottom = MarginBottomOverride ?? 0; + var left = MarginLeftOverride ?? 0; + var right = MarginRightOverride ?? 0; var box = new UIBox2(left, top, Width - right - left, Height - bottom - top); @@ -72,15 +36,10 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - - var top = _marginTopOverride ?? 0; - var bottom = _marginBottomOverride ?? 0; - var left = _marginLeftOverride ?? 0; - var right = _marginRightOverride ?? 0; + var top = MarginTopOverride ?? 0; + var bottom = MarginBottomOverride ?? 0; + var left = MarginLeftOverride ?? 0; + var right = MarginRightOverride ?? 0; var childMinSize = Vector2.Zero; @@ -96,24 +55,20 @@ namespace Robust.Client.UserInterface.Controls { base.SetGodotProperty(property, value, context); - if (property == "custom_constants/margin_right") + switch (property) { - MarginRightOverride = (int)(long)value; - } - - if (property == "custom_constants/margin_left") - { - MarginLeftOverride = (int)(long)value; - } - - if (property == "custom_constants/margin_bottom") - { - MarginBottomOverride = (int)(long)value; - } - - if (property == "custom_constants/margin_top") - { - MarginTopOverride = (int)(long)value; + case "custom_constants/margin_right": + MarginRightOverride = (int)(long)value; + break; + case "custom_constants/margin_left": + MarginLeftOverride = (int)(long)value; + break; + case "custom_constants/margin_bottom": + MarginBottomOverride = (int)(long)value; + break; + case "custom_constants/margin_top": + MarginTopOverride = (int)(long)value; + break; } } } diff --git a/Robust.Client/UserInterface/Controls/OptionButton.cs b/Robust.Client/UserInterface/Controls/OptionButton.cs index 54b07d8b1..4ca82d5d6 100644 --- a/Robust.Client/UserInterface/Controls/OptionButton.cs +++ b/Robust.Client/UserInterface/Controls/OptionButton.cs @@ -1,83 +1,55 @@ using System; using System.Collections.Generic; -using Robust.Client.GodotGlue; using Robust.Client.Graphics; using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.OptionButton))] + [ControlWrap("OptionButton")] public class OptionButton : Button { private List _buttonData = new List(); private Dictionary _idMap = new Dictionary(); private Popup _popup; private VBoxContainer _popupVBox; - private int _selectedId; public event Action OnItemSelected; - public int Selected - { - get => GameController.OnGodot ? (int) SceneControl.Get("selected") : default; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("selected", value); - } - } - } - public void AddItem(Texture icon, string label, int? id = null) { - if (GameController.OnGodot) - { - SceneControl.Call("add_icon_item", icon.GodotTexture, label, id ?? -1); - } - else - { - AddItem(label, id); - } + AddItem(label, id); } public void AddItem(string label, int? id = null) { - if (GameController.OnGodot) + if (id == null) { - SceneControl.Call("add_item", label, id ?? -1); + id = _buttonData.Count; } - else + + if (_idMap.ContainsKey(id.Value)) { - if (id == null) - { - id = _buttonData.Count; - } + throw new ArgumentException("An item with the same ID already exists."); + } - if (_idMap.ContainsKey(id.Value)) - { - throw new ArgumentException("An item with the same ID already exists."); - } - - var button = new Button - { - Text = label, - ToggleMode = true - }; - button.OnPressed += ButtonOnPressed; - var data = new ButtonData - { - Text = label, - Id = id.Value, - Button = button - }; - _idMap.Add(id.Value, _buttonData.Count); - _buttonData.Add(data); - _popupVBox.AddChild(button); - if (_buttonData.Count == 1) - { - Select(0); - } + var button = new Button + { + Text = label, + ToggleMode = true + }; + button.OnPressed += ButtonOnPressed; + var data = new ButtonData + { + Text = label, + Id = id.Value, + Button = button + }; + _idMap.Add(id.Value, _buttonData.Count); + _buttonData.Add(data); + _popupVBox.AddChild(button); + if (_buttonData.Count == 1) + { + Select(0); } } @@ -100,75 +72,49 @@ namespace Robust.Client.UserInterface.Controls public void Clear() { - if (GameController.OnGodot) - { - SceneControl.Call("clear"); - } - else - { - _idMap.Clear(); - _buttonData.Clear(); - _popupVBox.DisposeAllChildren(); - _selectedId = 0; - } + _idMap.Clear(); + _buttonData.Clear(); + _popupVBox.DisposeAllChildren(); + SelectedId = 0; } - public int ItemCount => GameController.OnGodot ? (int) SceneControl.Call("get_item_count") : _buttonData.Count; + public int ItemCount => _buttonData.Count; public int GetItemId(int idx) { - return GameController.OnGodot ? (int) SceneControl.Call("get_item_id", idx) : _buttonData[idx].Id; + return _buttonData[idx].Id; } public object GetItemMetadata(int idx) { - return GameController.OnGodot ? SceneControl.Call("get_item_metadata", idx) : _buttonData[idx].Metadata; + return _buttonData[idx].Metadata; } - public int SelectedId => GameController.OnGodot ? (int) SceneControl.Call("get_selected_id") : _selectedId; + public int SelectedId { get; private set; } - public object SelectedMetadata => - GameController.OnGodot - ? SceneControl.GetSceneInstanceLoadPlaceholder() - : _buttonData[_idMap[_selectedId]].Metadata; + public object SelectedMetadata => _buttonData[_idMap[SelectedId]].Metadata; public bool IsItemDisabled(int idx) { - return GameController.OnGodot - ? (bool) SceneControl.Call("is_item_disabled", idx) - : _buttonData[idx].Disabled; + return _buttonData[idx].Disabled; } public void RemoveItem(int idx) { - if (GameController.OnGodot) - { - SceneControl.Call("remove_item", idx); - } - else - { - var data = _buttonData[idx]; - _idMap.Remove(data.Id); - _popupVBox.RemoveChild(data.Button); - _buttonData.RemoveAt(idx); - } + var data = _buttonData[idx]; + _idMap.Remove(data.Id); + _popupVBox.RemoveChild(data.Button); + _buttonData.RemoveAt(idx); } public void Select(int idx) { - if (GameController.OnGodot) - { - SceneControl.Call("select", idx); - } - else - { - var prev = _buttonData[_idMap[_selectedId]]; - prev.Button.Pressed = false; - var data = _buttonData[idx]; - _selectedId = data.Id; - Text = data.Text; - data.Button.Pressed = true; - } + var prev = _buttonData[_idMap[SelectedId]]; + prev.Button.Pressed = false; + var data = _buttonData[idx]; + SelectedId = data.Id; + Text = data.Text; + data.Button.Pressed = true; } public void SelectId(int id) @@ -178,93 +124,48 @@ namespace Robust.Client.UserInterface.Controls public int GetIdx(int id) { - if (!GameController.OnGodot) - { - return _idMap[id]; - } - - for (var i = 0; i < ItemCount; i++) - { - if (id == GetItemId(i)) - { - return i; - } - } - - throw new ArgumentException("ID does not exist."); + return _idMap[id]; } public void SetItemDisabled(int idx, bool disabled) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_disabled", idx, disabled); - } - else - { - var data = _buttonData[idx]; - data.Disabled = disabled; - data.Button.Disabled = disabled; - } + var data = _buttonData[idx]; + data.Disabled = disabled; + data.Button.Disabled = disabled; } public void SetItemIcon(int idx, Texture texture) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_icon", idx, texture); - } } public void SetItemId(int idx, int id) { - if (GameController.OnGodot) + if (_idMap.TryGetValue(id, out var existIdx) && existIdx != id) { - SceneControl.Call("set_item_id", idx, id); + throw new InvalidOperationException("An item with said ID already exists."); } - else - { - if (_idMap.TryGetValue(id, out var existIdx) && existIdx != id) - { - throw new InvalidOperationException("An item with said ID already exists."); - } - var data = _buttonData[idx]; - _idMap.Remove(data.Id); - _idMap.Add(id, idx); - data.Id = id; - } + var data = _buttonData[idx]; + _idMap.Remove(data.Id); + _idMap.Add(id, idx); + data.Id = id; } public void SetItemMetadata(int idx, object metadata) { - if (GameController.OnGodot) - { - SceneControl.Call("set_item_metadata", idx, metadata); - } - else - { - _buttonData[idx].Metadata = metadata; - } + _buttonData[idx].Metadata = metadata; } public void SetItemText(int idx, string text) { - if (GameController.OnGodot) + var data = _buttonData[idx]; + data.Text = text; + if (SelectedId == data.Id) { - SceneControl.Call("set_item_text", idx, text); + Text = text; } - else - { - var data = _buttonData[idx]; - data.Text = text; - if (_selectedId == data.Id) - { - Text = text; - } - data.Button.Text = text; - } + data.Button.Text = text; } private void _onPressed(ButtonEventArgs args) @@ -274,7 +175,7 @@ namespace Robust.Client.UserInterface.Controls _popup.Open(box); } - public OptionButton() : base() + public OptionButton() { } @@ -282,28 +183,16 @@ namespace Robust.Client.UserInterface.Controls { } - internal OptionButton(Godot.OptionButton button) : base(button) - { - } - protected override void Initialize() { base.Initialize(); - if (!GameController.OnGodot) - { - OnPressed += _onPressed; - _popup = new Popup(); - AddChild(_popup); - _popupVBox = new VBoxContainer(); - _popup.AddChild(_popupVBox); - _popupVBox.SetAnchorAndMarginPreset(LayoutPreset.Wide); - } - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.OptionButton(); + OnPressed += _onPressed; + _popup = new Popup(); + AddChild(_popup); + _popupVBox = new VBoxContainer(); + _popup.AddChild(_popupVBox); + _popupVBox.SetAnchorAndMarginPreset(LayoutPreset.Wide); } public class ItemSelectedEventArgs : EventArgs @@ -322,34 +211,6 @@ namespace Robust.Client.UserInterface.Controls } } - private GodotSignalSubscriber1 __itemSelectedSubscriber; - - protected override void SetupSignalHooks() - { - base.SetupSignalHooks(); - - __itemSelectedSubscriber = new GodotSignalSubscriber1(); - __itemSelectedSubscriber.Connect(SceneControl, "item_selected"); - __itemSelectedSubscriber.Signal += __itemSelectedHook; - } - - protected override void DisposeSignalHooks() - { - base.DisposeSignalHooks(); - - if (__itemSelectedSubscriber != null) - { - __itemSelectedSubscriber.Disconnect(SceneControl, "item_selected"); - __itemSelectedSubscriber.Dispose(); - __itemSelectedSubscriber = null; - } - } - - private void __itemSelectedHook(object id) - { - OnItemSelected?.Invoke(new ItemSelectedEventArgs((int) id, this)); - } - private sealed class ButtonData { public string Text; diff --git a/Robust.Client/UserInterface/Controls/OutputPanel.cs b/Robust.Client/UserInterface/Controls/OutputPanel.cs index 07682ac19..b96bea8a1 100644 --- a/Robust.Client/UserInterface/Controls/OutputPanel.cs +++ b/Robust.Client/UserInterface/Controls/OutputPanel.cs @@ -21,9 +21,6 @@ namespace Robust.Client.UserInterface.Controls private readonly List _entries = new List(); private bool _isAtBottom = true; - // These two are used to implement this on Godot. - private PanelContainer _godotPanelContainer; - private Godot.RichTextLabel _godotRichTextLabel; private int _totalContentHeight; private bool _firstLine = true; private StyleBox _styleBoxOverride; @@ -39,43 +36,22 @@ namespace Robust.Client.UserInterface.Controls set { _styleBoxOverride = value; - if (GameController.OnGodot) - { - // Have to set this to empty so Godot doesn't set it to that ugly default one. - _godotPanelContainer.PanelOverride = value ?? new StyleBoxEmpty(); - } - else - { - MinimumSizeChanged(); - _invalidateEntries(); - } + MinimumSizeChanged(); + _invalidateEntries(); } } public void Clear() { _firstLine = true; - if (GameController.OnGodot) - { - _godotRichTextLabel.Clear(); - } - else - { - _entries.Clear(); - _totalContentHeight = 0; - _scrollBar.MaxValue = Math.Max(_scrollBar.Page, _totalContentHeight); - _scrollBar.Value = 0; - } + _entries.Clear(); + _totalContentHeight = 0; + _scrollBar.MaxValue = Math.Max(_scrollBar.Page, _totalContentHeight); + _scrollBar.Value = 0; } public void RemoveLine(int line) { - if (GameController.OnGodot) - { - _godotRichTextLabel.RemoveLine(line); - return; - } - var entry = _entries[line]; _entries.RemoveAt(line); @@ -90,12 +66,6 @@ namespace Robust.Client.UserInterface.Controls public void AddMessage(FormattedMessage message) { - if (GameController.OnGodot) - { - _addMessageGodot(message); - return; - } - var entry = new RichTextEntry(message); entry.Update(_getFont(), _getContentBox().Width); @@ -129,32 +99,16 @@ namespace Robust.Client.UserInterface.Controls { base.Initialize(); - if (GameController.OnGodot) - { - _godotPanelContainer = new PanelContainer {PanelOverride = new StyleBoxEmpty()}; - _godotPanelContainer.SetAnchorPreset(LayoutPreset.Wide); - AddChild(_godotPanelContainer); - _godotRichTextLabel = new Godot.RichTextLabel {ScrollFollowing = true}; - _godotPanelContainer.SceneControl.AddChild(_godotRichTextLabel); - } - else - { - _scrollBar = new VScrollBar {Name = "_v_scroll"}; - AddChild(_scrollBar); - _scrollBar.SetAnchorAndMarginPreset(LayoutPreset.RightWide); - _scrollBar.OnValueChanged += _ => _isAtBottom = _scrollBar.IsAtEnd; - } + _scrollBar = new VScrollBar {Name = "_v_scroll"}; + AddChild(_scrollBar); + _scrollBar.SetAnchorAndMarginPreset(LayoutPreset.RightWide); + _scrollBar.OnValueChanged += _ => _isAtBottom = _scrollBar.IsAtEnd; } protected internal override void Draw(DrawingHandleScreen handle) { base.Draw(handle); - if (GameController.OnGodot) - { - return; - } - var style = _getStyleBox(); var font = _getFont(); style?.Draw(handle, SizeBox); @@ -190,11 +144,6 @@ namespace Robust.Client.UserInterface.Controls { base.MouseWheel(args); - if (GameController.OnGodot) - { - return; - } - if (args.WheelDirection == Mouse.Wheel.Up) { _scrollBar.Value = _scrollBar.Value - _getScrollSpeed(); @@ -202,7 +151,6 @@ namespace Robust.Client.UserInterface.Controls } else if (args.WheelDirection == Mouse.Wheel.Down) { - var limit = ScrollLimit; _scrollBar.Value = _scrollBar.Value + _getScrollSpeed(); if (_scrollBar.IsAtEnd) { @@ -211,44 +159,6 @@ namespace Robust.Client.UserInterface.Controls } } - private void _addMessageGodot(FormattedMessage message) - { - DebugTools.Assert(GameController.OnGodot); - - if (!_firstLine) - { - _godotRichTextLabel.Newline(); - } - else - { - _firstLine = false; - } - - var pushCount = 0; - foreach (var tag in message.Tags) - switch (tag) - { - case FormattedMessage.TagText text: - _godotRichTextLabel.AddText(text.Text); - break; - case FormattedMessage.TagColor color: - _godotRichTextLabel.PushColor(color.Color.Convert()); - pushCount++; - break; - case FormattedMessage.TagPop _: - if (pushCount <= 0) throw new InvalidOperationException(); - - _godotRichTextLabel.Pop(); - pushCount--; - break; - } - - for (; pushCount > 0; pushCount--) - { - _godotRichTextLabel.Pop(); - } - } - protected override void SetDefaults() { base.SetDefaults(); @@ -260,11 +170,6 @@ namespace Robust.Client.UserInterface.Controls { base.Resized(); - if (GameController.OnGodot) - { - return; - } - var styleBoxSize = _getStyleBox()?.MinimumSize.Y ?? 0; _scrollBar.Page = Size.Y - styleBoxSize; diff --git a/Robust.Client/UserInterface/Controls/Panel.cs b/Robust.Client/UserInterface/Controls/Panel.cs index 557b5741d..23a3a07f5 100644 --- a/Robust.Client/UserInterface/Controls/Panel.cs +++ b/Robust.Client/UserInterface/Controls/Panel.cs @@ -4,7 +4,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.Panel))] + [ControlWrap("Panel")] public class Panel : Control { public const string StylePropertyPanel = "panel"; @@ -13,25 +13,16 @@ namespace Robust.Client.UserInterface.Controls { } - public Panel() : base() + public Panel() { } - internal Panel(Godot.Panel panel) : base(panel) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.Panel(); - } - private StyleBox _panelOverride; public StyleBox PanelOverride { - get => _panelOverride ?? GetStyleBoxOverride("panel"); - set => SetStyleBoxOverride("panel", _panelOverride = value); + get => _panelOverride; + set => _panelOverride = value; } private StyleBox ActualPanel @@ -56,11 +47,8 @@ namespace Robust.Client.UserInterface.Controls { base.Draw(handle); - if (!GameController.OnGodot) - { - var panel = ActualPanel; - panel.Draw(handle, SizeBox); - } + var panel = ActualPanel; + panel.Draw(handle, SizeBox); } private protected override void SetGodotProperty(string property, object value, GodotAssetScene context) @@ -75,11 +63,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - return ActualPanel.MinimumSize; } } diff --git a/Robust.Client/UserInterface/Controls/PanelContainer.cs b/Robust.Client/UserInterface/Controls/PanelContainer.cs index 25f77260c..698964cb9 100644 --- a/Robust.Client/UserInterface/Controls/PanelContainer.cs +++ b/Robust.Client/UserInterface/Controls/PanelContainer.cs @@ -4,7 +4,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.PanelContainer))] + [ControlWrap("PanelContainer")] public class PanelContainer : Container { public const string StylePropertyPanel = "panel"; @@ -17,32 +17,19 @@ namespace Robust.Client.UserInterface.Controls { } - internal PanelContainer(Godot.PanelContainer container) : base(container) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.PanelContainer(); - } private StyleBox _panelOverride; public StyleBox PanelOverride { - get => _panelOverride ?? GetStyleBoxOverride("panel"); - set => SetStyleBoxOverride("panel", _panelOverride = value); + get => _panelOverride; + set => _panelOverride = value; } protected internal override void Draw(DrawingHandleScreen handle) { base.Draw(handle); - if (GameController.OnGodot) - { - return; - } - var style = _getStyleBox(); style?.Draw(handle, SizeBox); } @@ -61,11 +48,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - var styleSize = _getStyleBox()?.MinimumSize ?? Vector2.Zero; var childSize = Vector2.Zero; foreach (var child in Children) diff --git a/Robust.Client/UserInterface/Controls/Popup.cs b/Robust.Client/UserInterface/Controls/Popup.cs index a34e46fc6..1e4cad6ac 100644 --- a/Robust.Client/UserInterface/Controls/Popup.cs +++ b/Robust.Client/UserInterface/Controls/Popup.cs @@ -1,14 +1,12 @@ using System; -using Robust.Client.GodotGlue; -using Robust.Client.Utility; using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.Popup))] + [ControlWrap("Popup")] public class Popup : Control { - public Popup() : base() + public Popup() { } @@ -16,34 +14,18 @@ namespace Robust.Client.UserInterface.Controls { } - internal Popup(Godot.Popup control) : base(control) - { - } - public event Action OnPopupHide; - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.Popup(); - } - public void Open(UIBox2? box = null) { - if (GameController.OnGodot) + if (box != null) { - SceneControl.Call("popup", box?.Convert()); + Position = box.Value.TopLeft; + Size = box.Value.Size; } - else - { - if (box != null) - { - Position = box.Value.TopLeft; - Size = box.Value.Size; - } - Visible = true; - UserInterfaceManagerInternal.PushModal(this); - } + Visible = true; + UserInterfaceManagerInternal.PushModal(this); } protected internal override void ModalRemoved() @@ -54,31 +36,6 @@ namespace Robust.Client.UserInterface.Controls OnPopupHide?.Invoke(); } - private GodotSignalSubscriber0 __popupHideSubscriber; - - protected override void SetupSignalHooks() - { - base.SetupSignalHooks(); - - __popupHideSubscriber = new GodotSignalSubscriber0(); - __popupHideSubscriber.Connect(SceneControl, "popup_hide"); - __popupHideSubscriber.Signal += __popupHideHook; - } - - protected override void DisposeSignalHooks() - { - base.DisposeSignalHooks(); - - __popupHideSubscriber.Disconnect(SceneControl, "popup_hide"); - __popupHideSubscriber.Dispose(); - __popupHideSubscriber = null; - } - - private void __popupHideHook() - { - OnPopupHide?.Invoke(); - } - protected override void SetDefaults() { base.SetDefaults(); diff --git a/Robust.Client/UserInterface/Controls/ProgressBar.cs b/Robust.Client/UserInterface/Controls/ProgressBar.cs index efbb4430a..158aaf68c 100644 --- a/Robust.Client/UserInterface/Controls/ProgressBar.cs +++ b/Robust.Client/UserInterface/Controls/ProgressBar.cs @@ -5,7 +5,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.ProgressBar))] + [ControlWrap("ProgressBar")] public class ProgressBar : Range { public const string StylePropertyBackground = "background"; @@ -19,22 +19,6 @@ namespace Robust.Client.UserInterface.Controls { } - internal ProgressBar(Godot.ProgressBar control) : base(control) - { - } - - /// - /// True if the percentage label on top of the progress bar is visible. - /// - public bool PercentVisible - { - get => GameController.OnGodot ? (bool)SceneControl.Get("percent_visible") : default; - set - { - if (GameController.OnGodot) SceneControl.Set("percent_visible", value); - } - } - [Pure] private StyleBox _getBackground() { @@ -53,11 +37,6 @@ namespace Robust.Client.UserInterface.Controls { base.Draw(handle); - if (GameController.OnGodot) - { - return; - } - var bg = _getBackground(); bg?.Draw(handle, SizeBox); @@ -76,20 +55,10 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - var bgSize = _getBackground()?.MinimumSize ?? Vector2.Zero; var fgSize = _getForeground()?.MinimumSize ?? Vector2.Zero; return Vector2.ComponentMax(bgSize, fgSize); } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.ProgressBar(); - } } } diff --git a/Robust.Client/UserInterface/Controls/Range.cs b/Robust.Client/UserInterface/Controls/Range.cs index 43bcfd31e..42ee01b46 100644 --- a/Robust.Client/UserInterface/Controls/Range.cs +++ b/Robust.Client/UserInterface/Controls/Range.cs @@ -6,7 +6,7 @@ using Robust.Shared.ViewVariables; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.Range))] + [ControlWrap("Range")] public abstract class Range : Control { private float _maxValue = 100; @@ -22,94 +22,57 @@ namespace Robust.Client.UserInterface.Controls { } - internal Range(Godot.Range control) : base(control) - { - } - public event Action OnValueChanged; public float GetAsRatio() { - if (GameController.OnGodot) - { - return (float)SceneControl.Call("get_as_ratio"); - } - return (_value - _minValue) / (_maxValue - _minValue); } [ViewVariables] public float Page { - get => GameController.OnGodot ? (float)SceneControl.Get("page") : _page; + get => _page; set { - if (GameController.OnGodot) - { - SceneControl.Set("page", value); - } - else - { - _page = value; - _ensureValueClamped(); - } + _page = value; + _ensureValueClamped(); } } [ViewVariables] public float MaxValue { - get => GameController.OnGodot ? (float)SceneControl.Get("max_value") : _maxValue; + get => _maxValue; set { - if (GameController.OnGodot) - { - SceneControl.Set("max_value", value); - } - else - { - _maxValue = value; - _ensureValueClamped(); - } + _maxValue = value; + _ensureValueClamped(); } } [ViewVariables] public float MinValue { - get => GameController.OnGodot ? (float)SceneControl.Get("min_value") : _minValue; + get => _minValue; set { - if (GameController.OnGodot) - { - SceneControl.Set("min_value", value); - } - else - { - _minValue = value; - _ensureValueClamped(); - } + _minValue = value; + _ensureValueClamped(); } } [ViewVariables] public float Value { - get => GameController.OnGodot ? (float) SceneControl.Get("value") : _value; + get => _value; set { - if (GameController.OnGodot) + var newValue = ClampValue(value); + if (!FloatMath.CloseTo(newValue, _value)) { - SceneControl.Set("value", value); - } - else - { - var newValue = ClampValue(value); - if (!FloatMath.CloseTo(newValue, _value)) - { - _value = newValue; - OnValueChanged?.Invoke(this); - } + _value = newValue; + OnValueChanged?.Invoke(this); } } } diff --git a/Robust.Client/UserInterface/Controls/RichTextLabel.cs b/Robust.Client/UserInterface/Controls/RichTextLabel.cs index d0a6a4533..f915b83f5 100644 --- a/Robust.Client/UserInterface/Controls/RichTextLabel.cs +++ b/Robust.Client/UserInterface/Controls/RichTextLabel.cs @@ -57,7 +57,7 @@ namespace Robust.Client.UserInterface.Controls { base.Draw(handle); - if (GameController.OnGodot || _message == null) + if (_message == null) { return; } diff --git a/Robust.Client/UserInterface/Controls/ScrollBar.cs b/Robust.Client/UserInterface/Controls/ScrollBar.cs index 2fb3f98b3..8bc31a59d 100644 --- a/Robust.Client/UserInterface/Controls/ScrollBar.cs +++ b/Robust.Client/UserInterface/Controls/ScrollBar.cs @@ -6,7 +6,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.ScrollBar))] + [ControlWrap("ScrollBar")] public abstract class ScrollBar : Range { public const string StylePropertyGrabber = "grabber"; @@ -22,10 +22,6 @@ namespace Robust.Client.UserInterface.Controls _orientation = orientation; } - private protected ScrollBar(Godot.ScrollBar control) : base(control) - { - } - public bool IsAtEnd { get @@ -37,11 +33,6 @@ namespace Robust.Client.UserInterface.Controls protected internal override void Draw(DrawingHandleScreen handle) { - if (GameController.OnGodot) - { - return; - } - var styleBox = _getGrabberStyleBox(); styleBox?.Draw(handle, _getGrabberBox()); @@ -58,22 +49,12 @@ namespace Robust.Client.UserInterface.Controls { base.MouseExited(); - if (GameController.OnGodot) - { - return; - } - _isHovered = false; _updatePseudoClass(); } protected internal override void MouseMove(GUIMouseMoveEventArgs args) { - if (GameController.OnGodot) - { - return; - } - if (_grabData == null) { var box = _getGrabberBox(); @@ -103,7 +84,7 @@ namespace Robust.Client.UserInterface.Controls protected internal override void MouseDown(GUIMouseButtonEventArgs args) { - if (GameController.OnGodot || args.Button != Mouse.Button.Left) + if (args.Button != Mouse.Button.Left) { return; } @@ -120,7 +101,7 @@ namespace Robust.Client.UserInterface.Controls protected internal override void MouseUp(GUIMouseButtonEventArgs args) { - if (GameController.OnGodot || args.Button != Mouse.Button.Left) + if (args.Button != Mouse.Button.Left) { return; } diff --git a/Robust.Client/UserInterface/Controls/ScrollContainer.cs b/Robust.Client/UserInterface/Controls/ScrollContainer.cs index 161705ad1..7f901096f 100644 --- a/Robust.Client/UserInterface/Controls/ScrollContainer.cs +++ b/Robust.Client/UserInterface/Controls/ScrollContainer.cs @@ -5,7 +5,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.ScrollContainer))] + [ControlWrap("ScrollContainer")] public class ScrollContainer : Container { private bool _vScrollEnabled = true; @@ -27,10 +27,6 @@ namespace Robust.Client.UserInterface.Controls { } - internal ScrollContainer(Godot.ScrollContainer container) : base(container) - { - } - public bool VScrollEnabled { get => _vScrollEnabled; @@ -51,20 +47,10 @@ namespace Robust.Client.UserInterface.Controls } } - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.ScrollContainer(); - } - protected override void Initialize() { base.Initialize(); - if (GameController.OnGodot) - { - return; - } - Action ev = _scrollValueChanged; _hScrollBar = new HScrollBar {Visible = false}; _vScrollBar = new VScrollBar {Visible = false}; @@ -149,11 +135,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - var totalX = 0f; var totalY = 0f; diff --git a/Robust.Client/UserInterface/Controls/SplitContainer.cs b/Robust.Client/UserInterface/Controls/SplitContainer.cs index 2bbef0890..d818562e5 100644 --- a/Robust.Client/UserInterface/Controls/SplitContainer.cs +++ b/Robust.Client/UserInterface/Controls/SplitContainer.cs @@ -3,7 +3,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.SplitContainer))] + [ControlWrap("SplitContainer")] public abstract class SplitContainer : Container { // TODO: Implement the grabber. @@ -11,14 +11,6 @@ namespace Robust.Client.UserInterface.Controls private protected abstract bool Vertical { get; } - protected SplitContainer() - { - } - - protected SplitContainer(Godot.SplitContainer control) : base(control) - { - } - protected override void SortChildren() { base.SortChildren(); @@ -75,11 +67,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - if (ChildCount != 2) { return Vector2.Zero; diff --git a/Robust.Client/UserInterface/Controls/SpriteView.cs b/Robust.Client/UserInterface/Controls/SpriteView.cs index 22239691b..d6a930c9c 100644 --- a/Robust.Client/UserInterface/Controls/SpriteView.cs +++ b/Robust.Client/UserInterface/Controls/SpriteView.cs @@ -10,7 +10,7 @@ using Robust.Shared.Maths; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(GodotGlue.SpriteView), "res://Engine/Scenes/SpriteMirror/SpriteView.tscn")] + [ControlWrap("res://Engine/Scenes/SpriteMirror/SpriteView.tscn")] public class SpriteView : Control { ISpriteProxy Mirror; @@ -31,7 +31,6 @@ namespace Robust.Client.UserInterface.Controls if (value != null) { Mirror = value.CreateProxy(); - Mirror.AttachToControl(this); UpdateMirrorPosition(); } } @@ -45,10 +44,6 @@ namespace Robust.Client.UserInterface.Controls { } - public SpriteView(Godot.Control control) : base(control) - { - } - protected override void Initialize() { base.Initialize(); @@ -88,7 +83,7 @@ namespace Robust.Client.UserInterface.Controls protected internal override void Draw(DrawingHandleScreen handle) { - if (GameController.OnGodot || _sprite == null) + if (_sprite == null) { return; } diff --git a/Robust.Client/UserInterface/Controls/TabContainer.cs b/Robust.Client/UserInterface/Controls/TabContainer.cs index 10fae38e5..357a04296 100644 --- a/Robust.Client/UserInterface/Controls/TabContainer.cs +++ b/Robust.Client/UserInterface/Controls/TabContainer.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using JetBrains.Annotations; -using Robust.Client.GodotGlue; using Robust.Client.Graphics; using Robust.Client.Graphics.Drawing; using Robust.Shared.Maths; @@ -10,7 +9,7 @@ using PureAttribute = System.Diagnostics.Contracts.PureAttribute; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.TabContainer))] + [ControlWrap("TabContainer")] public class TabContainer : Container { public const string StylePropertyTabStyleBox = "tab-stylebox"; @@ -19,9 +18,6 @@ namespace Robust.Client.UserInterface.Controls public const string StylePropertyTabFontColorInactive = "tab-font-color-inactive"; public const string StylePropertyPanelStyleBox = "panel-stylebox"; - private GodotSignalSubscriber1 _onTabSelectedSubscriber; - private GodotSignalSubscriber1 _onTabChangedSubscriber; - private int _currentTab; private bool _tabsVisible = true; private readonly List _tabData = new List(); @@ -34,100 +30,58 @@ namespace Robust.Client.UserInterface.Controls { } - internal TabContainer(Godot.TabContainer control) : base(control) - { - } - public int CurrentTab { - get => GameController.OnGodot ? (int) SceneControl.Call("get_current_tab") : _currentTab; + get => _currentTab; set { - if (GameController.OnGodot) + if (_currentTab < 0) { - SceneControl.Call("set_current_tab", value); + throw new ArgumentOutOfRangeException(nameof(value), value, "Current tab must be positive."); } - else + + if (_currentTab >= ChildCount) { - if (_currentTab < 0) - { - throw new ArgumentOutOfRangeException(nameof(value), value, "Current tab must be positive."); - } - - if (_currentTab >= ChildCount) - { - throw new ArgumentOutOfRangeException(nameof(value), value, - "Current tab must less than the amount of tabs."); - } - - if (_currentTab == value) - { - return; - } - - var old = _currentTab; - _currentTab = value; - - GetChild(old).Visible = false; - var newSelected = GetChild(value); - newSelected.Visible = true; - _fixChildMargins(newSelected); - - OnTabChanged?.Invoke(value); + throw new ArgumentOutOfRangeException(nameof(value), value, + "Current tab must less than the amount of tabs."); } - } - } - public TabAlignMode TabAlign - { - get => GameController.OnGodot ? (TabAlignMode) SceneControl.Call("get_tab_align") : default; - set - { - if (GameController.OnGodot) + if (_currentTab == value) { - SceneControl.Call("set_tab_align", (Godot.TabContainer.TabAlignEnum) value); + return; } + + var old = _currentTab; + _currentTab = value; + + GetChild(old).Visible = false; + var newSelected = GetChild(value); + newSelected.Visible = true; + _fixChildMargins(newSelected); + + OnTabChanged?.Invoke(value); } } public bool TabsVisible { - get => GameController.OnGodot ? (bool) SceneControl.Get("tabs_visible") : _tabsVisible; + get => _tabsVisible; set { - if (GameController.OnGodot) - { - SceneControl.Set("tabs_visible", value); - } - else - { - _tabsVisible = value; - MinimumSizeChanged(); - } + _tabsVisible = value; + MinimumSizeChanged(); } } - public event Action OnTabSelected; public event Action OnTabChanged; public string GetTabTitle(int tab) { - if (GameController.OnGodot) - { - return (string) SceneControl.Call("get_tab_title", tab); - } - return _tabData[tab].Name ?? GetChild(tab).Name; } public void SetTabTitle(int tab, string title) { - if (GameController.OnGodot) - { - SceneControl.Call("set_tab_title", tab, title); - return; - } - _tabData[tab].Name = title; } @@ -135,11 +89,6 @@ namespace Robust.Client.UserInterface.Controls { base.ChildAdded(newChild); - if (GameController.OnGodot) - { - return; - } - _tabData.Add(new TabData(newChild)); if (ChildCount == 1) @@ -159,11 +108,6 @@ namespace Robust.Client.UserInterface.Controls { base.ChildRemoved(child); - if (GameController.OnGodot) - { - return; - } - for (var i = 0; i < _tabData.Count; i++) { if (_tabData[i].Control == child) @@ -178,11 +122,6 @@ namespace Robust.Client.UserInterface.Controls { base.ChildMoved(child, oldIndex, newIndex); - if (GameController.OnGodot) - { - return; - } - var data = _tabData[oldIndex]; DebugTools.Assert(data.Control == child); _tabData.RemoveAt(oldIndex); @@ -193,11 +132,6 @@ namespace Robust.Client.UserInterface.Controls { base.Draw(handle); - if (GameController.OnGodot) - { - return; - } - // First, draw panel. var headerSize = _getHeaderSize(); var panel = _getPanel(); @@ -270,11 +204,6 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot) - { - return Vector2.Zero; - } - var total = new Vector2(); foreach (var child in Children) @@ -319,7 +248,7 @@ namespace Robust.Client.UserInterface.Controls { base.MouseDown(args); - if (GameController.OnGodot || !TabsVisible) + if (!TabsVisible) { return; } @@ -457,50 +386,6 @@ namespace Robust.Client.UserInterface.Controls return UserInterfaceManager.ThemeDefaults.DefaultFont; } - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.TabContainer(); - } - - protected override void SetupSignalHooks() - { - base.SetupSignalHooks(); - - _onTabSelectedSubscriber = new GodotSignalSubscriber1(); - _onTabSelectedSubscriber.Connect(SceneControl, "tab_selected"); - _onTabSelectedSubscriber.Signal += tab => OnTabSelected?.Invoke((int) tab); - - _onTabChangedSubscriber = new GodotSignalSubscriber1(); - _onTabChangedSubscriber.Connect(SceneControl, "tab_changed"); - _onTabChangedSubscriber.Signal += tab => OnTabChanged?.Invoke((int) tab); - } - - protected override void DisposeSignalHooks() - { - base.DisposeSignalHooks(); - - if (_onTabSelectedSubscriber != null) - { - _onTabSelectedSubscriber.Disconnect(SceneControl, "tab_selected"); - _onTabSelectedSubscriber.Dispose(); - _onTabSelectedSubscriber = null; - } - - if (_onTabChangedSubscriber != null) - { - _onTabChangedSubscriber.Disconnect(SceneControl, "tab_changed"); - _onTabChangedSubscriber.Dispose(); - _onTabChangedSubscriber = null; - } - } - - public enum TabAlignMode - { - Left = 0, - Center = 1, - Right = 2 - } - private class TabData { public string Name; diff --git a/Robust.Client/UserInterface/Controls/TextureButton.cs b/Robust.Client/UserInterface/Controls/TextureButton.cs index b0518f261..c67d1ffd9 100644 --- a/Robust.Client/UserInterface/Controls/TextureButton.cs +++ b/Robust.Client/UserInterface/Controls/TextureButton.cs @@ -11,7 +11,7 @@ using Robust.Shared.Utility; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.TextureButton))] + [ControlWrap("TextureButton")] public class TextureButton : BaseButton { public const string StylePropertyTexture = "texture"; @@ -20,9 +20,6 @@ namespace Robust.Client.UserInterface.Controls public const string StylePseudoClassDisabled = "disabled"; public const string StylePseudoClassPressed = "pressed"; - private Texture _textureNormal; - private Texture _textureHover; - public TextureButton() { } @@ -31,41 +28,8 @@ namespace Robust.Client.UserInterface.Controls { } - internal TextureButton(Godot.TextureButton button) : base(button) - { - } - - public Texture TextureNormal - { - get => _textureNormal ?? (GameController.OnGodot - ? new GodotTextureSource((Godot.Texture) SceneControl.Get("texture_normal")) - : null); - set - { - if (GameController.OnGodot) - { - SceneControl.Set("texture_normal", value.GodotTexture); - } - - _textureNormal = value; - } - } - - public Texture TextureHover - { - get => _textureHover ?? (GameController.OnGodot - ? new GodotTextureSource((Godot.Texture) SceneControl.Get("texture_hover")) - : null); - set - { - if (GameController.OnGodot) - { - SceneControl.Set("texture_hover", value.GodotTexture); - } - - _textureHover = value; - } - } + public Texture TextureNormal { get; set; } + public Texture TextureHover { get; set; } protected override void Initialize() { @@ -95,18 +59,8 @@ namespace Robust.Client.UserInterface.Controls } } - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.TextureButton(); - } - protected internal override void Draw(DrawingHandleScreen handle) { - if (GameController.OnGodot) - { - return; - } - var texture = TextureNormal; if (IsHovered && TextureHover != null) diff --git a/Robust.Client/UserInterface/Controls/TextureRect.cs b/Robust.Client/UserInterface/Controls/TextureRect.cs index e5a12e2b8..13fdd4a9c 100644 --- a/Robust.Client/UserInterface/Controls/TextureRect.cs +++ b/Robust.Client/UserInterface/Controls/TextureRect.cs @@ -11,13 +11,13 @@ using Robust.Shared.Utility; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.TextureRect))] + [ControlWrap("TextureRect")] public class TextureRect : Control { - private bool _canShrink = false; + private bool _canShrink; private StretchMode _stretch = StretchMode.Keep; - public TextureRect() : base() + public TextureRect() { } @@ -25,60 +25,23 @@ namespace Robust.Client.UserInterface.Controls { } - public TextureRect(Godot.TextureRect button) : base(button) - { - } - private Texture _texture; public Texture Texture { - // TODO: Maybe store the texture passed in in case it's like a TextureResource or whatever. - get => _texture ?? (GameController.OnGodot - ? new GodotTextureSource((Godot.Texture) SceneControl.Get("texture")) - : null); + get => _texture; set { - if (GameController.OnGodot) - { - SceneControl.Set("texture", value?.GodotTexture); - } - _texture = value; MinimumSizeChanged(); } } - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.TextureRect(); - } - - protected override void Initialize() - { - base.Initialize(); - -#pragma warning disable 618 - if (GameController.OnGodot && Stretch == StretchMode.ScaleOnExpand) -#pragma warning restore 618 - { - // Turn the old compat mode into the non deprecated mode. - if (CanShrink) - { - Stretch = StretchMode.Scale; - } - else - { - Stretch = StretchMode.Keep; - } - } - } - protected internal override void Draw(DrawingHandleScreen handle) { base.Draw(handle); - if (_texture == null || GameController.OnGodot) + if (_texture == null) { return; } @@ -125,7 +88,6 @@ namespace Robust.Client.UserInterface.Controls var (scaleX, scaleY) = Size / _texture.Size; // Use whichever scale is greater. var scale = Math.Max(scaleX, scaleY); - var texSize = _texture.Size * scale; // Offset inside the actual texture. var offset = (_texture.Size - Size) / scale / 2f; handle.DrawTextureRectRegion(_texture, SizeBox, UIBox2.FromDimensions(offset, Size / scale)); @@ -161,42 +123,28 @@ namespace Robust.Client.UserInterface.Controls public bool CanShrink { - get => GameController.OnGodot ? (bool) SceneControl.Get("expand") : _canShrink; + get => _canShrink; set { - if (GameController.OnGodot) - { - SceneControl.Set("expand", value); - } - else - { - _canShrink = value; - MinimumSizeChanged(); - } + _canShrink = value; + MinimumSizeChanged(); } } public StretchMode Stretch { - get => GameController.OnGodot ? (StretchMode) SceneControl.Get("stretch_mode") : _stretch; + get => _stretch; set { - if (GameController.OnGodot) - { - SceneControl.Set("stretch_mode", (Godot.TextureRect.StretchModeEnum) value); - } - else - { #pragma warning disable 618 - if (value == StretchMode.ScaleOnExpand) + if (value == StretchMode.ScaleOnExpand) #pragma warning restore 618 - { - throw new ArgumentException("ScaleOnExpand is a deprecated holdover from Godot, do not use it.", - nameof(value)); - } - - _stretch = value; + { + throw new ArgumentException("ScaleOnExpand is a deprecated holdover from Godot, do not use it.", + nameof(value)); } + + _stretch = value; } } @@ -216,7 +164,7 @@ namespace Robust.Client.UserInterface.Controls protected override Vector2 CalculateMinimumSize() { - if (GameController.OnGodot || _texture == null || CanShrink) + if (_texture == null || CanShrink) { return Vector2.Zero; } diff --git a/Robust.Client/UserInterface/Controls/Tree.cs b/Robust.Client/UserInterface/Controls/Tree.cs index b9101f4c2..d09150c45 100644 --- a/Robust.Client/UserInterface/Controls/Tree.cs +++ b/Robust.Client/UserInterface/Controls/Tree.cs @@ -8,52 +8,24 @@ using Robust.Shared.Utility; namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.Tree))] + [ControlWrap("Tree")] public class Tree : Control { public const string StylePropertyItemBoxSelected = "item-selected"; public const string StylePropertyBackground = "background"; - readonly Dictionary ItemMap = new Dictionary(); private readonly List _itemList = new List(); - private bool _hideRoot; - private Item _root; private int? _selectedIndex; private VScrollBar _scrollBar; - public bool HideRoot - { - get => GameController.OnGodot ? (bool) SceneControl.Get("hide_root") : _hideRoot; - set - { - if (GameController.OnGodot) - { - SceneControl.Set("hide_root", value); - } - else - { - _hideRoot = value; - } - } - } + public bool HideRoot { get; set; } - public Item Root => GameController.OnGodot ? GetItem((Godot.TreeItem) SceneControl.Call("get_root")) : _root; + public Item Root => _root; - public Item Selected - { - get - { - if (GameController.OnGodot) - { - return GetItem((Godot.TreeItem) SceneControl.Call("get_selected")); - } - - return _selectedIndex == null ? null : _itemList[_selectedIndex.Value]; - } - } + public Item Selected => _selectedIndex == null ? null : _itemList[_selectedIndex.Value]; public event Action OnItemSelected; @@ -67,30 +39,10 @@ namespace Robust.Client.UserInterface.Controls { } - internal Tree(Godot.Tree panel) : base(panel) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.Tree(); - } - #endregion Construction public void Clear() { - foreach (var item in ItemMap.Values) - { - item.Dispose(); - } - - ItemMap.Clear(); - if (GameController.OnGodot) - { - SceneControl.Call("clear"); - } - foreach (var item in _itemList) { item.Dispose(); @@ -117,54 +69,21 @@ namespace Robust.Client.UserInterface.Controls } } - if (GameController.OnGodot) + var item = new Item(this, _itemList.Count); + _itemList.Add(item); + + if (_root == null) { - var nativeItem = (Godot.TreeItem) SceneControl.Call("create_item", parent?.NativeItem); - var item = new Item(nativeItem, this, ItemMap.Count); - ItemMap[nativeItem] = item; - return item; + _root = item; } else { - var item = new Item(this, _itemList.Count); - _itemList.Add(item); - - if (_root == null) - { - _root = item; - } - else - { - parent = parent ?? _root; - parent.Children.Add(item); - } - - _updateScrollbar(); - return item; - } - } - - public void EnsureCursorIsVisible() - { - if (GameController.OnGodot) - { - SceneControl.Call("ensure_cursor_is_visible"); - } - } - - public Vector2 GetScroll() - { - return GameController.OnGodot ? ((Godot.Vector2) SceneControl.Call("get_scroll")).Convert() : default; - } - - private Item GetItem(Godot.TreeItem item) - { - if (ItemMap.TryGetValue(item, out var ret)) - { - return ret; + parent = parent ?? _root; + parent.Children.Add(item); } - return null; + _updateScrollbar(); + return item; } protected override void SetDefaults() @@ -178,11 +97,6 @@ namespace Robust.Client.UserInterface.Controls { base.Initialize(); - if (GameController.OnGodot) - { - return; - } - _scrollBar = new VScrollBar {Name = "_v_scroll"}; AddChild(_scrollBar); _scrollBar.SetAnchorAndMarginPreset(LayoutPreset.RightWide); @@ -192,11 +106,6 @@ namespace Robust.Client.UserInterface.Controls { base.MouseDown(args); - if (GameController.OnGodot) - { - return; - } - var item = _tryFindItemAtPosition(args.RelativePosition); if (item != null && item.Selectable) @@ -208,8 +117,6 @@ namespace Robust.Client.UserInterface.Controls private Item _tryFindItemAtPosition(Vector2 position) { - DebugTools.Assert(!GameController.OnGodot); - var font = _getFont(); if (font == null || _root == null) { @@ -271,11 +178,6 @@ namespace Robust.Client.UserInterface.Controls { base.Draw(handle); - if (GameController.OnGodot) - { - return; - } - var font = _getFont(); if (font == null || _root == null) { @@ -374,11 +276,6 @@ namespace Robust.Client.UserInterface.Controls private void _updateScrollbar() { - if (GameController.OnGodot) - { - return; - } - var internalHeight = _getInternalHeight(); _scrollBar.MaxValue = internalHeight; _scrollBar.Page = Height; @@ -432,88 +329,17 @@ namespace Robust.Client.UserInterface.Controls } } - #region Signals - - private GodotGlue.GodotSignalSubscriber0 __itemSelectedSubscriber; - - protected override void SetupSignalHooks() - { - base.SetupSignalHooks(); - - __itemSelectedSubscriber = new GodotGlue.GodotSignalSubscriber0(); - __itemSelectedSubscriber.Connect(SceneControl, "item_selected"); - __itemSelectedSubscriber.Signal += () => OnItemSelected?.Invoke(); - } - - protected override void DisposeSignalHooks() - { - base.DisposeSignalHooks(); - - if (__itemSelectedSubscriber != null) - { - __itemSelectedSubscriber?.Disconnect(SceneControl, "item_selected"); - __itemSelectedSubscriber?.Dispose(); - __itemSelectedSubscriber = null; - } - } - - #endregion Signals - public sealed class Item : IDisposable { - internal readonly Godot.TreeItem NativeItem; internal readonly List Children = new List(); internal readonly int Index; public readonly Tree Parent; public object Metadata { get; set; } public bool Disposed { get; private set; } - private string _text; - private bool _selectable = true; + public string Text { get; set; } - public string Text - { - get => GameController.OnGodot ? NativeItem.GetText(0) : _text; - set - { - if (GameController.OnGodot) - { - NativeItem.SetText(0, value); - } - else - { - _text = value; - } - } - } - - [Obsolete("Use Text")] - public void SetText(int column, string text) - { - Text = text; - } - - public bool Selectable - { - get => GameController.OnGodot ? NativeItem.IsSelectable(0) : _selectable; - set - { - if (GameController.OnGodot) - { - NativeItem.SetSelectable(0, value); - } - else - { - _selectable = value; - } - } - } - - [Obsolete("Use Selectable")] - public void SetSelectable(int column, bool selectable) - { - Selectable = selectable; - } + public bool Selectable { get; set; } = true; internal Item(Tree parent, int index) { @@ -521,20 +347,8 @@ namespace Robust.Client.UserInterface.Controls Index = index; } - internal Item(Godot.TreeItem native, Tree parent, int index) - { - NativeItem = native; - Parent = parent; - Index = index; - } - public void Dispose() { - if (GameController.OnGodot) - { - NativeItem?.Dispose(); - } - Disposed = true; } } diff --git a/Robust.Client/UserInterface/Controls/VBoxContainer.cs b/Robust.Client/UserInterface/Controls/VBoxContainer.cs index 31d7e9d27..fb5bc8f66 100644 --- a/Robust.Client/UserInterface/Controls/VBoxContainer.cs +++ b/Robust.Client/UserInterface/Controls/VBoxContainer.cs @@ -1,9 +1,9 @@ namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.VBoxContainer))] + [ControlWrap("VBoxContainer")] public class VBoxContainer : BoxContainer { - public VBoxContainer() : base() + public VBoxContainer() { } @@ -11,15 +11,6 @@ { } - internal VBoxContainer(Godot.VBoxContainer sceneControl) : base(sceneControl) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.VBoxContainer(); - } - private protected override bool Vertical => true; } } diff --git a/Robust.Client/UserInterface/Controls/VScrollBar.cs b/Robust.Client/UserInterface/Controls/VScrollBar.cs index 1fed8907c..731ddbd36 100644 --- a/Robust.Client/UserInterface/Controls/VScrollBar.cs +++ b/Robust.Client/UserInterface/Controls/VScrollBar.cs @@ -1,19 +1,10 @@ namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.VScrollBar))] + [ControlWrap("VScrollBar")] public class VScrollBar : ScrollBar { public VScrollBar() : base(OrientationMode.Vertical) { } - - internal VScrollBar(Godot.ScrollBar control) : base(control) - { - } - - private protected override Godot.Control SpawnSceneControl() - { - return new Godot.VScrollBar(); - } } } diff --git a/Robust.Client/UserInterface/Controls/VSplitContainer.cs b/Robust.Client/UserInterface/Controls/VSplitContainer.cs index 7ab0809a9..0a7b9cffc 100644 --- a/Robust.Client/UserInterface/Controls/VSplitContainer.cs +++ b/Robust.Client/UserInterface/Controls/VSplitContainer.cs @@ -1,11 +1,10 @@ namespace Robust.Client.UserInterface.Controls { - [ControlWrap(typeof(Godot.VSplitContainer))] + [ControlWrap("VSplitContainer")] public class VSplitContainer : SplitContainer { private protected sealed override bool Vertical => true; public VSplitContainer() {} - public VSplitContainer(Godot.VSplitContainer control) : base(control) {} } } diff --git a/Robust.Client/UserInterface/CustomControls/SS14Window.cs b/Robust.Client/UserInterface/CustomControls/SS14Window.cs index 06004839a..23efcb009 100644 --- a/Robust.Client/UserInterface/CustomControls/SS14Window.cs +++ b/Robust.Client/UserInterface/CustomControls/SS14Window.cs @@ -97,13 +97,10 @@ namespace Robust.Client.UserInterface.CustomControls TitleLabel.AddStyleClass(StyleClassWindowTitle); AddStyleClass(StyleClassWindowPanel); header.AddStyleClass(StyleClassWindowHeader); - // TODO: Remove this check by making UI in Godot also use CSS. - if (!GameController.OnGodot) - { - header.PanelOverride = null; - CloseButton.TextureNormal = null; - CloseButton.AddStyleClass(StyleClassWindowCloseButton); - } + + header.PanelOverride = null; + CloseButton.TextureNormal = null; + CloseButton.AddStyleClass(StyleClassWindowCloseButton); if (CustomSize != null) { diff --git a/Robust.Client/UserInterface/RichTextEntry.cs b/Robust.Client/UserInterface/RichTextEntry.cs index 6d87c25c2..d2f7b656b 100644 --- a/Robust.Client/UserInterface/RichTextEntry.cs +++ b/Robust.Client/UserInterface/RichTextEntry.cs @@ -43,7 +43,6 @@ namespace Robust.Client.UserInterface /// The horizontal size of the container of this entry. public void Update(Font font, float sizeX) { - DebugTools.Assert(!GameController.OnGodot); // This method is gonna suck due to complexity. // Bear with me here. // I am so deeply sorry for the person adding stuff to this in the future. diff --git a/Robust.Client/UserInterface/UserInterfaceManager.cs b/Robust.Client/UserInterface/UserInterfaceManager.cs index f4ee16c6e..2d1c3d070 100644 --- a/Robust.Client/UserInterface/UserInterfaceManager.cs +++ b/Robust.Client/UserInterface/UserInterfaceManager.cs @@ -29,7 +29,6 @@ namespace Robust.Client.UserInterface { internal sealed class UserInterfaceManager : IDisposable, IUserInterfaceManagerInternal { - [Dependency] private readonly ISceneTreeHolder _sceneTreeHolder; [Dependency] private readonly IInputManager _inputManager; [Dependency] private readonly IDisplayManager _displayManager; [Dependency] private readonly IClientConsole _console; @@ -50,7 +49,6 @@ namespace Robust.Client.UserInterface // So we keep track of which control is "focused" by the mouse. private Control _mouseFocused; - private Godot.CanvasLayer CanvasLayer; public Control StateRoot { get; private set; } public Control CurrentlyHovered { get; private set; } public Control RootControl { get; private set; } @@ -94,33 +92,14 @@ namespace Robust.Client.UserInterface private void _initializeCommon() { - if (GameController.OnGodot) - { - CanvasLayer = new Godot.CanvasLayer - { - Name = "UILayer", - Layer = CanvasLayers.LAYER_GUI - }; - - _sceneTreeHolder.SceneTree.GetRoot().AddChild(CanvasLayer); - } - RootControl = new Control("UIRoot") { MouseFilter = Control.MouseFilterMode.Ignore, IsInsideTree = true }; RootControl.SetAnchorPreset(Control.LayoutPreset.Wide); - if (!GameController.OnGodot) - { - RootControl.Size = _displayManager.ScreenSize; - _displayManager.OnWindowResized += args => RootControl.Size = args.NewSize; - } - - if (GameController.OnGodot) - { - CanvasLayer.AddChild(RootControl.SceneControl); - } + RootControl.Size = _displayManager.ScreenSize; + _displayManager.OnWindowResized += args => RootControl.Size = args.NewSize; StateRoot = new Control("StateRoot") { diff --git a/Robust.Client/Utility/GodotConversions.cs b/Robust.Client/Utility/GodotConversions.cs deleted file mode 100644 index 373287482..000000000 --- a/Robust.Client/Utility/GodotConversions.cs +++ /dev/null @@ -1,75 +0,0 @@ -using Robust.Shared.Maths; - -namespace Robust.Client.Utility -{ - internal static class GodotConversions - { - public static Vector2 Convert(this Godot.Vector2 vector2) - { - return new Vector2(vector2.x, vector2.y); - } - - public static Godot.Vector2 Convert(this Vector2 vector2) - { - return new Godot.Vector2(vector2.X, vector2.Y); - } - - public static Vector3 Convert(this Godot.Vector3 vector3) - { - return new Vector3(vector3.x, vector3.y, vector3.z); - } - - public static Godot.Vector3 Convert(this Vector3 vector3) - { - return new Godot.Vector3(vector3.X, vector3.Y, vector3.Z); - } - - public static Color Convert(this Godot.Color color) - { - return new Color(color.r, color.g, color.b, color.a); - } - - public static Godot.Color Convert(this Color color) - { - return new Godot.Color(color.R, color.G, color.B, color.A); - } - - public static Godot.Rect2 Convert(this UIBox2 box) - { - return new Godot.Rect2(box.Left, box.Top, box.Width, box.Height); - } - - public static UIBox2 Convert(this Godot.Rect2 rect) - { - return new UIBox2(rect.Position.x, rect.Position.y, rect.End.x, rect.End.y); - } - - /// - /// Loosely convert a 3x3 matrix into a Godot 2D transform. - /// This does not copy over the third row, as Godot's 2D transforms don't have it. - /// - public static Godot.Transform2D Convert(in this Matrix3 matrix) - { - return new Godot.Transform2D - { - origin = new Godot.Vector2(matrix.R0C2, matrix.R1C2), - x = new Godot.Vector2(matrix.R0C0, matrix.R1C0), - y = new Godot.Vector2(matrix.R0C1, matrix.R1C1), - }; - } - - /// - /// Loosely convert a 2D Godot transform into a 3x3 matrix. - /// The third row will be initialized to 0, 0, 1 as does not carry it. - /// - public static Matrix3 Convert(in this Godot.Transform2D transform) - { - return new Matrix3 - { - R0C0 = transform.x.x, R0C1 = transform.y.x, R0C2 = transform.origin.x, - R1C0 = transform.x.y, R1C1 = transform.y.y, R1C2 = transform.origin.y, - R2C0 = 0, R2C1 = 0, R2C2 = 1 - }; - } - } -} diff --git a/Robust.Client/Utility/GodotResourceCopy.cs b/Robust.Client/Utility/GodotResourceCopy.cs deleted file mode 100644 index 2a034b115..000000000 --- a/Robust.Client/Utility/GodotResourceCopy.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using Robust.Shared.ContentPack; -using Robust.Shared.Utility; - -namespace Robust.Client.Utility -{ - // Don't use this outside debug builds. - // Seriously. - // For release builds, this should be handled by the release packaging script. -#if DEBUG - /// - /// Handles the automatic copying of resources that need to be accessible to Godot's res://. - /// That's .tscn files, font files and GUI image files. - /// I say copy but if you're on Unix, it'll use symlinks. Like a sane person. - /// - public static class GodotResourceCopy - { - /// - /// Ensure that the directory is a mirror of . - /// On Windows this does a recursive copy. - /// On Unix it uses a symlink. - /// - public static void DoDirCopy(string sourcePath, string targetPath) - { - if (!GameController.OnGodot) - { - return; - } -#if UNIX - if (Directory.Exists(targetPath)) - { - return; - } - var process = Process.Start("ln", $"-s \"{sourcePath}\" \"{targetPath}\""); - if (process == null) - { - throw new IOException(); - } - - process.WaitForExit(); - DebugTools.Assert(process.ExitCode == 0); -#else - if (File.Exists(Path.Combine(targetPath, "I_MADE_THE_SYMLINK"))) - { - return; - } - - var dirQueue = new Queue(); - dirQueue.Enqueue("."); - - while (dirQueue.Count > 0) - { - var relative = dirQueue.Dequeue(); - var sourceRelative = Path.Combine(sourcePath, relative); - var targetRelative = Path.Combine(targetPath, relative); - - Directory.CreateDirectory(targetRelative); - - foreach (var dirChild in Directory.EnumerateDirectories(sourceRelative).Select(Path.GetFileName)) - { - dirQueue.Enqueue(Path.Combine(relative, dirChild)); - } - - foreach (var fileChild in Directory.EnumerateFiles(sourceRelative).Select(Path.GetFileName)) - { - var sourceFile = Path.Combine(sourceRelative, fileChild); - var targetFile = Path.Combine(targetRelative, fileChild); - - if (!File.Exists(targetFile) || File.GetLastWriteTime(targetFile) < File.GetLastWriteTime(sourceFile)) - { - File.Copy(sourceFile, targetFile, true); - } - } - } -#endif - } - } -#endif // DEBUG -} diff --git a/Robust.UnitTesting/Client/Utility/GodotConversionsTest.cs b/Robust.UnitTesting/Client/Utility/GodotConversionsTest.cs deleted file mode 100644 index 95f710373..000000000 --- a/Robust.UnitTesting/Client/Utility/GodotConversionsTest.cs +++ /dev/null @@ -1,44 +0,0 @@ -using NUnit.Framework; -using Robust.Client.Utility; -using Robust.Shared.Maths; - -namespace Robust.UnitTesting.Client.Utility -{ - [Parallelizable(ParallelScope.All | ParallelScope.Fixtures)] - [TestFixture] - [TestOf(typeof(GodotConversions))] - class GodotConversionsTest - { - [Test] - public void TestTransform2DConversion() - { - var matrix = Matrix3.Identity; - var xform = matrix.Convert(); - var vec = new Vector2(5, 7); - - Assert.That(Xform(vec, xform), Is.EqualTo(matrix.Transform(vec))); - - matrix = new Matrix3(0.75f, 0.20f, 5, - 0.66f, 0.15f, 5, - 0, 0, 1); - xform = matrix.Convert(); - Assert.That(Xform(vec, xform), Is.EqualTo(matrix.Transform(vec))); - Assert.That(Xform(vec, xform.Convert()), Is.EqualTo(matrix.Transform(vec))); - vec = Vector2.Zero; - Assert.That(Xform(vec, xform), Is.EqualTo(matrix.Transform(vec))); - Assert.That(Xform(vec, xform.Convert()), Is.EqualTo(matrix.Transform(vec))); - } - - private static Vector2 Xform(Vector2 vector, Matrix3 matrix) - { - var vec3 = new Vector3(vector.X, vector.Y, 1); - matrix.Transform(ref vec3); - return new Vector2(vec3.X, vec3.Y); - } - - private static Vector2 Xform(Vector2 vector, Godot.Transform2D transform) - { - return transform.Xform(vector.Convert()).Convert(); - } - } -} diff --git a/Robust.UnitTesting/Robust.UnitTesting.csproj b/Robust.UnitTesting/Robust.UnitTesting.csproj index 48376405f..48075418f 100644 --- a/Robust.UnitTesting/Robust.UnitTesting.csproj +++ b/Robust.UnitTesting/Robust.UnitTesting.csproj @@ -30,7 +30,6 @@ 7.2 - true true @@ -73,12 +72,6 @@ - - ..\Robust.Client.Godot\.mono\assemblies\GodotSharp.dll - - - ..\Dependencies\godot\GodotSharp.dll - @@ -101,7 +94,6 @@ - diff --git a/Robust.UnitTesting/RobustUnitTest.cs b/Robust.UnitTesting/RobustUnitTest.cs index 9c851ab32..7c1bb248a 100644 --- a/Robust.UnitTesting/RobustUnitTest.cs +++ b/Robust.UnitTesting/RobustUnitTest.cs @@ -231,7 +231,6 @@ namespace Robust.UnitTesting //IoCManager.Register(); IoCManager.Register(); IoCManager.Register(); - IoCManager.Register(); IoCManager.Register(); IoCManager.Register(); IoCManager.Register(); diff --git a/RobustToolbox.sln b/RobustToolbox.sln index 0d71d0c72..c394ce878 100644 --- a/RobustToolbox.sln +++ b/RobustToolbox.sln @@ -16,8 +16,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{795D76AB EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robust.Client", "Robust.Client\Robust.Client.csproj", "{83429BD6-6358-4B18-BE51-401DF8EA2673}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robust.Client.Godot", "Robust.Client.Godot\Robust.Client.Godot.csproj", "{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robust.Shared.Maths", "Robust.Shared.Maths\Robust.Shared.Maths.csproj", "{93F23A82-00C5-4572-964E-E7C9457726D4}" EndProject Global @@ -141,24 +139,6 @@ Global {83429BD6-6358-4B18-BE51-401DF8EA2673}.Tools|x64.Build.0 = Debug|x64 {83429BD6-6358-4B18-BE51-401DF8EA2673}.Tools|x86.ActiveCfg = Debug|x86 {83429BD6-6358-4B18-BE51-401DF8EA2673}.Tools|x86.Build.0 = Debug|x86 - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|x64.ActiveCfg = Debug|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|x64.Build.0 = Debug|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|x86.ActiveCfg = Debug|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|x86.Build.0 = Debug|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|Any CPU.Build.0 = Release|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|x64.ActiveCfg = Release|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|x64.Build.0 = Release|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|x86.ActiveCfg = Release|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|x86.Build.0 = Release|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|Any CPU.ActiveCfg = Tools|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|Any CPU.Build.0 = Tools|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|x64.ActiveCfg = Tools|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|x64.Build.0 = Tools|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|x86.ActiveCfg = Tools|Any CPU - {8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|x86.Build.0 = Tools|Any CPU {93F23A82-00C5-4572-964E-E7C9457726D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {93F23A82-00C5-4572-964E-E7C9457726D4}.Debug|Any CPU.Build.0 = Debug|Any CPU {93F23A82-00C5-4572-964E-E7C9457726D4}.Debug|x64.ActiveCfg = Debug|x64