From eb8afd5bac06e584d20fce3fb71752678d616cd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=27=C3=A9lectron=20rare?= <108685187+electron-rare@users.noreply.github.com> Date: Wed, 13 May 2026 10:11:04 +0200 Subject: [PATCH] nlf: extract SMPL face topology to binary --- data_only_viz/scripts/dump_smpl_faces.py | 122 ++++++++++++++++++ .../AV-Live-Body/Resources/smpl_faces.bin | Bin 0 -> 165312 bytes 2 files changed, 122 insertions(+) create mode 100644 data_only_viz/scripts/dump_smpl_faces.py create mode 100644 launcher/AV-Live-Body/Resources/smpl_faces.bin diff --git a/data_only_viz/scripts/dump_smpl_faces.py b/data_only_viz/scripts/dump_smpl_faces.py new file mode 100644 index 0000000..21c31fb --- /dev/null +++ b/data_only_viz/scripts/dump_smpl_faces.py @@ -0,0 +1,122 @@ +"""Extrait les 13776 triangles SMPL (6890 vertices) et les serialise en +binaire little-endian (uint32) pour consommation par l'app Swift RealityKit. + +Strategie : tente d'abord d'extraire depuis nlf_data_files.zip si present, +sinon charge le modele TorchScript et tente d'acceder aux faces embarquees, +sinon telecharge le fichier SMPL faces standard depuis un repo open-source. +""" +import struct +import sys +from pathlib import Path + +import numpy as np + +CACHE = Path.home() / ".cache" / "av-live-nlf" +OUT = (Path(__file__).parent.parent.parent + / "launcher" / "AV-Live-Body" / "Resources" / "smpl_faces.bin") + +# SMPL standard : 13776 triangles, 6890 vertices +EXPECTED_FACES = 13776 +EXPECTED_VERTS = 6890 + + +def try_from_data_files() -> np.ndarray | None: + """Tente d'extraire depuis nlf_data_files.zip.""" + import zipfile + zf = CACHE / "nlf_data_files.zip" + if not zf.exists(): + return None + with zipfile.ZipFile(zf) as z: + for name in z.namelist(): + if "smpl" in name.lower() and name.endswith(".npy"): + with z.open(name) as f: + arr = np.load(f) + if arr.shape == (EXPECTED_FACES, 3): + return arr + return None + + +def try_from_torchscript() -> np.ndarray | None: + """Charge le checkpoint et cherche les faces SMPL.""" + try: + import torch + import torchvision # noqa: F401 - register torchvision::nms op for TorchScript + ckpt = CACHE / "nlf_l_multi.torchscript" + if not ckpt.exists(): + return None + model = torch.jit.load(str(ckpt), map_location="cpu") + for name, buf in model.named_buffers(): + if buf.shape == (EXPECTED_FACES, 3): + print(f"Found faces in buffer '{name}'") + return buf.numpy().astype(np.int32) + for attr in dir(model): + try: + val = getattr(model, attr) + if hasattr(val, 'shape') and val.shape == (EXPECTED_FACES, 3): + print(f"Found faces in attr '{attr}'") + return val.numpy().astype(np.int32) if hasattr(val, 'numpy') else np.array(val, dtype=np.int32) + except Exception: + continue + except Exception as e: + print(f"TorchScript extraction failed: {e}") + return None + + +def download_smpl_faces() -> np.ndarray: + """Telecharge les faces SMPL standard depuis un repo open-source. + + Strategie multi-URL : essaie plusieurs sources, la premiere qui repond + avec le bon shape (13776, 3) gagne. Aucun de ces fichiers ne contient + de poids SMPL proprietaires, juste la topologie publique du mesh. + """ + import urllib.request + import tempfile + + candidates = [ + # HMR (akanazawa) ships the standard SMPL face topology as a public .npy + # — verified (13776, 3) uint32, max index 6889. + "https://github.com/akanazawa/hmr/raw/master/src/tf_smpl/smpl_faces.npy", + ] + last_err = None + for url in candidates: + print(f"Downloading SMPL faces from {url}...") + try: + with tempfile.NamedTemporaryFile(suffix=".npy", delete=False) as tmp: + urllib.request.urlretrieve(url, tmp.name) + faces = np.load(tmp.name) + if faces.shape == (EXPECTED_FACES, 3): + print(f" -> OK: {faces.shape} {faces.dtype}") + return faces.astype(np.int32) + print(f" -> wrong shape {faces.shape}, skip") + except Exception as e: + print(f" -> failed: {e}") + last_err = e + raise RuntimeError(f"All SMPL face download candidates failed: {last_err}") + + +def main(): + faces = try_from_data_files() + if faces is None: + print("nlf_data_files.zip absent ou faces non trouvees, essai TorchScript...") + faces = try_from_torchscript() + if faces is None: + print("TorchScript: faces non trouvees dans les buffers, download fallback...") + faces = download_smpl_faces() + + print(f"SMPL faces: {faces.shape} dtype={faces.dtype}") + assert faces.shape == (EXPECTED_FACES, 3), f"shape attendu ({EXPECTED_FACES}, 3), got {faces.shape}" + assert faces.max() < EXPECTED_VERTS, f"index max {faces.max()} >= {EXPECTED_VERTS}" + + OUT.parent.mkdir(parents=True, exist_ok=True) + with open(OUT, "wb") as f: + for tri in faces: + for idx in tri: + f.write(struct.pack("(7F;Nl01O!1*u>-ri^UlY+ z_823Ci&8_Nv% za$!8T|dtP-mY_^M%y)nl0fSAUIoeyla%YsL%Wg|YU4 zuM_KyxNZ^3!qJ}?d#aO1i@DCEKIvppAIHQ;jg`{1zW;I9t*eMs1I@I&LUI6P(@@LA%> zI4X`9@T23{I4+JE@Z;meI4MpT@RQ@zI4w>Y@YCbWI4jN=@U!FGI4{l_@bd>3j50ZX zVO$*kchP`f;{Wx(nS+C0I^yiZUGvw(YvXk>-+*5>;Fk~h6>(K;5LXVkGk97}{8E|`IUY`wf1AjOk zjnBm+1O8Z;m$^PZ;Gd5t;|uY`fPXQ*6km>~2K+1WbbK|wKHy)AZ-%zt7;t?X+gRTk zaC>Eba^D_sb-okE)E~IMz8l{Qa{xC_>$48+!Hx0#u;yn5+}an5AH*U9zG(a?ejGm> z@Snub;^*!|CDoeZ>juKar=OOX82u2dGNQ6 z_|D<3`E4WGdk*fti0%Uickk|qc^m)EBKUkUe=HDpR|f9hPPwVRdh+`DbZ8I0VA1{8 zZlN4pUyH=*`NBo;MT^gl=ftxH{JF7s99o^lir|OD61jKEl11>Z$I|&SvDAP+FP4p+ z%WpQ|yT>!N*lesTW+ z-z8SA{N2Tsis0ABs`-t@Rf^zmjPJ#2U4O9%{zUP+v3l;k2L58>{^f^SyTul_b4@GU~WTZVDKw+j6^JNg87ezpl?Y(3z{d1-7L zD>feZcCmfz5Gz#%Za(&D$8dhZcZy$Br|{qR+Qq{Q|9$W6T;iuW_{-v#xp%yG5%@f@ zTkH|54fuiav3M|M8}NrhJ^7Uf+-HjZe-ruz|6^!BQ|J$Tme{2^Y+ZE!!QJ~=!~EtP zaPvGf&WK&R20v_+9W~rFKRk?OoCgM6`7v>P%st?9#O(FCTTJ`It!a85C_Gp;=lnvILyi1epLj2by$zj zTk8Wqq;l)>nRH^;;D^Rxad>>YGVn)=M;4EYBL@8FI5v)pV+Q>AI5AF&69)X`I3-RE zdGOQX^f)8V8t^mY>^LXp8SuH|_08#BVIJV;7PZme)DJg?&z*VW{nZ2iKyiWM{4ss6 z;P+K7YQw>`(?(mLP1^Vlq7U$eioTniH?EcO^W%cJFy2=g_=k!Yjob%ws3*@K4tem4 zi`rch+JgUc#7l>}=H~L+qWyf$fZK21gYS>m<=~eUzg3jGJO`I|9^|gb!R594PiPB% zW$~)GdR!~x%CCuQSO@qG@s{#`ifLV3ZjV?fpPmK&>v&cy z8lEw5&(R->Ylrs|_-kXmxFXgW@YluFaaF8TTktExv-yMK^iJRl$I9Wox5|K<&tlbo zVJtr2F9`31H^v(V{Kha(^V1)=zUD6Hxv+L{`{NyRQ|J#|Uw^O7n~J`_fxkJN-M57A zT;Okw=j5x$a|e8p%2yrN`xhav{B3b_Y}_^Yi;FKUKD#)ri@PUF#Y(aCfcuPFvA9BL z2d>TXqkPFClf9Rd81T2pj^$P??oK%_?g!lVD;=cIjfO{^#AGg=Y*$4Mbh;nNc!Jmmc@)_gK0XOJfad&*FOK{~g#YO2~ z2mI|}-S*<01Ab3z9q)>527KvQt2Xa0u2BTvytuZqFfVX(+92K&8xHur;r?w}T%rj6 z;@Be8RcEPCHqC*ncX9P+F4|M@pBCK@_r>QYxIK4Y+>-+beBW@koT=%|bLAVyqT#zA zxN~go)?$H$5X(y6dx}4k$6K6{>I|>;=A#=0snlwJ65jF zjYaSqipv*28lG$L`{OU=yxXQ{gnuj^h>wTo5&Y`7FfNG82Ha<#c+qgz{PMUYwDGwH zuC2Z-)g@#f1j^E%8u%A|4#@PsUF1saRsbpRSKj7gq`U1#aJ-itogi2Hg9@ zJ7tFW%z%53%!yL77QyF;L-XT`4;R5dTb#Z4iFnO`&r-Q|`tlhJK3BMZkH+@~e6`Ar zWt`cH;K#?2aX{A(6v01UwBHwpJqN!c9*NuH-0FazSA0{vB~I@e{58eB;+3)YfbSFT z|D)l)fxBl%#@TUQ?ZM}X_40LNg8|<#wu?>TbJYQVtoW+pE92k+-*32f^5FWqB8+j> zfE(-D@Qj%QxOo|CpQ7=>_YUnngZcx%Jbn<1#li!=K-?Is)|clD{5{35g!j{T2YmH% zcf{l2vjY72;k+&x>kRn1@%h*>UO3?DtP$EjQ@`MA#q#;$vB-d%tIwBZW61%3-f&Sn zaBW^*U*5m38t@-hzGd-wvDJVt6YGU{ceQ2DQ6qhT4Zxr&{ylcQW4>@&=18xlO z*C#@s;KuSkH`jv(+?)@MhvUS?1V5>GU~$pnRG+)I)?*!847mAhTW-(TV!*eIwPT%l z?SQ{7=B~}_W3B=JQ{|q`!^86m?z8H*;XQF|5&XE~tBa=>_bh^+7UzX$^86zB^la|; zKjr*_^6r`MXVZP;2bc5t<1@)P;Kn#64(WQD5C2_dXT_P}{Q-Vk@yEprL%-n0HD~j6 zKfs-#+2Z)z{Qo~9YiXyoFe^j)F59Hwbc`_b|+Xvj|(ih^3@udNOD!vj=$Cn5E ztHZ^U2K?msdZ_!g0ar)6Z-jc_-yHs}qPF1Q9#K7Yz7yXa?wYG-41J$A;3vlS;+fD6 zT$}I54?-SX?%KE}emLMiiXX>MLOXD6l>c;GE8{;K@#n)`^Iwek%i*s1uSWd!aM%1d z@!R-aO!MT^+<%{&Gx#xad{`d`pVlmAufXl?AHo>Z{%~V`GVJM@18#3047oD~T%AA0 zpW-hA{^xio{u+ND@V|vU{YSV4S1$f@xNH8e_;=`ogHL&F{xjfyus2g^J7W=C9Z_!T zhtE8&MdN_a66R@s(|O>tRxVl_2e&up#M$8-fnOI#jCf=b%BFhy)(-rJn5{l%kHd2C z!;5nkor^h&;Lge?;_KmlfPXEFdvwfIUGTY!^Mo_w%z``5+7!vn@A&4lchyEEwhtZXL$a##rFmsjuEbMR3o|BKe}R@PI!ntkL@9!R6e?YhtR; z<@NvUFc0wOjQHH)uK8lIcq}p8HJ8^`GzW0GB}2WX27KyEPJiG_hc>RAVQ}YGl%LKy zcdnlo%f>PTzFaIHE5x*Ke8o{Fx6**G9Qsjbl>t{re{!o1xH`XUPOBBy81U8O`6I4b zgfh9cV(pm9`BYb&=ELR--#9NfJ!jym4=;PUoE&i;YR+gqPy)BWW>>lUiq^XJ@v`)rffhJ(w$ zHupZ8H3#>O$l5pd6rvn%KM1efQYVR>+K{CjEoIT)Y#W`_qoIl{_#f5QETrl7lhxwV;B?EqGyf$7JuNm;m!romT z(|+oo@7^)sw}tVHbNhhb5qHL2@y-FiJKh!Vj(Z0DJ@MYKmU{>Meer?N=KTY%?T2Fb z_~3wBm-XE@+%;F{!|{=Et&D#(?vIa!Jh_ zd?Kd%!mo)>#i!$w1OA!#Y&;wX4)}iYNIV*k4fyBc@%Vf^Ip9yk7vuE!!hpMnUy3is zQv?2$_-cGDo*wY8$2a3!@r?ohc9^&MerLeH8=i;nh35nOnfO8cFup(FKZ^b1C-LI} z|7rX@ei1(#@L$HS<2UiE0sn3ME`A?>9PmHHpW@H)*8%@a{5}2=e;e?B#=qk~@vi}& zVdlQt#LO|{fX@=M#q2TbfX@+g#oRIHfX@^2g?l=05q$pQ0UYG~?`eA(Y zH3x8O*f8$uGj)R^`1EsOxx2dt-zZ)b8^>oV1AlS6BsK|q2yS0Di_K%x0pB9FimhYI z0pBKG8r#P91HN7C5Icr@0q!2{6vn=-F~N<$bMa-d>wxbPyT=}}+ko#GuZUO1%Ln|9 z`q{g7rSi!0*FxO~8`ifiK9xO%{^i|ga{;U0mzcQ?cv zV!FTljd4@FDQ+C_H^*Dzt;1b&b#9JZ;%x)|f%f6;#Say4ErNeA*2|rR^#}YNaeLem zw+;B6aaTA)+JS5H&T!W69&qRV)VMOH^Uu|}C*BoDbPaxF@!iOM_rQO>YtM=Maqob; zU!wcN!QIpM#{1#}1OEQ_P}~{rF-0D1I>DKaQWq&*CQo z{`2@{{3?Di;J+UJo1#4UZ%6#yaM%3z@y8MWP=qqMKgFNpuLJ&<_Uvd6eAlx5t_r`wMqlLN#U$D4vEE3Ne@I^zpy?S;L{5i$v z#$w@~g1gs?kDU7o_2ic*E*b6PTzFe#jE5`BzzEZ3ltAz2u z&1uz;GcR!Y)nfH95AZeO`5|Y%;PPvQ+?oTv_JB|G=i0q6)`=Gk_`0!PtRK_5xV3H& z8-}%jTjPsjI>Eo1Wm-zv6=m&VouzHMw5+sBRrzC-L3JBK{D z+%B_r+*Iz2e|;PRibbD2%N5-ZaQB3Z?$LCg+@m+fjq!#7-)Z=o#hV6v?N}>zj2931 zM)9V2bF4bxE5}>nt?{-2m%AlyjhhGj?eUJdEtYJ);7b+nDBc;j5BObicf51BYp#wc z_pSlIC*Bjc_+D59zd7F4825Jlz5#!4>{I#si~APA-&p)W@q=-74*sDyKEJPcOcDIU z@sapwTsh#E#r-iu^*&Yv_p^zoSx__t&G+I*+@(jxeG5us`tYpxHF~1~4z7+U=jVUmo{Qhr*YD%E1OA8jQ!G~gk411lH}Z4AKX*O-9Er>Od7ht>`I#QL zpPl)+nxFCgWx)Nc&(A0SQoFwm_+R67;SBwKz@4RkhG*j+MeyTdfqed$X~1WU3(MUe z7Y+Dr;hFhYTt48=u;=ODArCJ1kJ$HUC>v;oTzWA*2&yGb0{5kR5SZug!uFe6qGp7TK z;O6CLck9;Q_C@f;%YA%YFOfq|`H~~IQP)sUeyLbG7O6e>qQwou&-0e)8vL8_jd)(y z99(|cST6JjuCL`|g;;UGy=y+)nOP}!j=-IvmF4UAMa>WVtFdb3-ixag!M!V2%U6$6 zstbNqan5pAgkRn%u|aGYuWt_Edlfe-?pJ(K5&Xc|IDc_$GT<+XO=GjTp*rAiC~jWdB7Ek8zq|SS z8Pk^e+o}U@U0WBuceg5ndl&O=87i|SI6^l zYIsJ#Pm43+%s73(&x&*6+&Fu{&x;GEiQ^HyS}&xepS4)J$+Zax-#&CiU-Hl<)?Cf zOmaYucE-y46< zFD*{rqxjKrRQQg?!PU9GeqJB;8{A&s5O0VZ2mFokrg(GQG~jQEx5drz)&ajIZjHCc zZ3F&}Sg(7%a@;lGYsD&Yd-+w1;CIBGaaY{l+`&Ilyt+Eq#Rpmo_}%6Ho_qIsPl0>? zy|dgsacmBLT+zIoYjXp4*6%3yuA=uVxOeON`MZne3vRAHD}7F$I^cc};4{^EPx;Rl z!S9Xt#rxyE1O9_z~gP)1Ru|V@2?n#qROx*k!;EZT~-0 z{A{c`;J#BnTzn+1sSfzHMbEEaYfa_+AK`oDoH3m@?ySvKoI9K|@EO9na8{fnaA#=2 z@V#N?0r%bF;o5rk9w~x*1|N;j#T$BN!QWVXy!iQeY`~w0FT@w)$pL>Vz7$`MFV+^^ zfBW)u@vHHb0smTjJwDXDHY$Sq&iZii8(mMoe&knFc4_#v>o>aw_s-)-)lMG#Ta_JI zJS@JQgS$8P7JpN{U5ntp|8Jf@QQW!+en{~J!=vCgfQ03<&6(M zdu4OR8C}m&1V26I&gY4_27KO_Kjh{caCH`pg<^pLUpN+xXT>4|{_J>eEEdlh@Wo@v zSSpqn@TKEe*Nzv4wY*@! z*NOFF{aAOvH;9emMX}+4Z#>G3#lg+27K$-CSDr$ z3fvxU7u(0S1HMD-6g$U`1OBqub;MnYP$su~>=C;S_@42KcxAkN!1s!MV&B+%!1s#- z;=tH{zz>R7#ldmNfWJBpi^Jp40Y4&)XPhGk{HQo4j*X)S{J1zFPK@IR{G>P~PK}cX z{IobD&WzIs{H!=T&IxM)w?_S+7v~Q6`Efz$)4qb+(~IKbxNyKP3HxF{E*J6+%;Fn_~!If?-B4PizoIjI3tec({Q9^d-Vm=J@HfUhZ*0pBn-jV&HB?!GM20Hj8Cr z^8ueX-VmM`Gv86m@~L_91zBE zufdIVWoYN@gX_yP;GH;?b9EOBXMOPjx6cp8n(_32KR;d@mxcE(xOc1lSTgJh_!6;K z>=Q=~_}+1F*o#*WxIH;G&Wqy){HyU;93GDk_-SE$bJ7-EpYGc=;ogD2Cw7Ui#jXSH z48LQ<+lo*o_w{(7GxNA6qn!9}l?s z%vE34mpfv>uM6dijGQulO;P{)U9|}Q#JCpUGvKS0cP-vi1b=k6_^tteBsORbey#qK z<_GTA>p#tZ78~Z^ejjkl=CxsLHsC)mw`y_i*kZuf3V#m&7v=rAeDLKepCy)zZ3cX) zm?>tAnFoC7kk^KTt7D9p#5689M{$GUuDQ9IgYkdaJiwQYU**3Jb-=Cbxazx?zsbSf z(-Vtwrwq9Ky6w?_I**IDXW%OpUs$;_BM&aOcJ3U>gHLBmZkevZmx~o+jqv;4;2Vy( z`f%5LqY*#VI2_!617yE85BCk+K76{dW^NsR_6Y9R<;S!>e>UIx!JTQ(oj6Zz!R3BC za`RRO_2g%d`Qq^EfS+6RcMJTkIkTNBhOP)*raKi^me79{4YdOBI)nB?o+&ST>f6=MDJsv0|(gD-8I`u}Wz3 zjh+Q?ZM~DdkEi$W^lo0Y+z+ewr2+qPtXBEz@s`?w-&9jWdGK{&y;wii9q=4ChuU!Q@vgx?U%at)Z;U5$@F$CYp6&bY90TrqwQ=SM zV}bv*x?G&*$^Q}ybat%GI>4=A!OG=!%)#aLXARneoBK?SeQCL!ssp}rahBS-_H%9U zGmE#@?v^+!2lsPt`~9-8=is}<+2x(N>3(tNZj*42e>~vs?aYm9PR0i}wsGv8vB2%2 z{d3RkA-MbY_TsIvYi+@I8!kGp;GR|MHYaNbH@DsMJ!0180>0-c^UQE?XZhvvXyd=4 z2<};Oe$B~w1vf7)I>X@R<^AJKzjDBx?VD@&w%9ud->V4E-c-&#gZsvQvCn|-A3N6W zfZ|R?@B`zZ(B@SGuC29O=WIprgTr$xT06L$ca3+B=Na5{y+UIhQhfD*9~#cfVd2bx zA3oTpzK+Pjok3^MyNiR%JEPub)A{6bFRRY{<$R`qFHre>#ku3i9Ne7tt&Ta&)it>(1mAeXmliqrhOtd-7kFN>yeZz&TEO4zI^G&L5BS^S)_8l|GT`gf?zU0>jv|zs z`yFAvw-2~A+!c4nodf>PxF?M9bbW#w%lhq!KEaJ+Ugm0F!R_U{;@z=9eSoi9ymyqp zrwHZ7H6Qoxy#xNfFfV(h4!Cyj4}0ZagF6Gpm7CVZJG zNPILtJm5D~UsQ*KuU&Ni-D_t6{Qhvy+~Y;61MWWC2V;C}z>W3scrYFq@Q30P@yYn~ zfPX4J6Q2$3z_n5SNIX2?kH+WXvEi=yt9xuf|sf{A=-z z_-1^4z`qsWj_<_x2K>A6Ong6nIN(2sABDC4WWaws%B-7%|1^FUKaZ(@Zp>fCui_U2 z{_FT{{4Rbo;J+U({$arX7=Mnx#GeNIui-xZEvEhFe~*90zv3SQ{_pUYoX;5l$-!re zSz^|hdBA6jIbzP3eZc36xnrKN4sdIjuQ-3qJKzh%f?+KS6~WbCB)7JOi{RF1PZ#Za z+GqZ(cy_oa99*5}=I+~bis0_0^;xsEPwQW-Yx`xNoKtXT)Opgz`2t@&L^*o}zC>}U zSUQ#*@MYq8v1}|q;LC+`={&BGgRfXzIqc&~MQ~?hmE2y-gUhW}Ts>AD@HJx1@T@++ z2)t;TsgE{<${d zhQnQR{k$lgv5f|N<9JDI5-%Qb_a4r~RL(bz&0~w$Y{0jStzzr&egfYnUK-nm=Na5{ z?JPM*)APl*i|u2F*lECbjF-hOvGaiM8oR~rF~@*=#`XyB#FrPr_bhrQUm33$@V#Q6 z*f;hb@cqKMa~3^^;GRcu|KYCr0pY!JV9~n;{Gf2|oW)lS_`&g?>daJ}=EGkdhlKaK zIfHxGADYX1cEGjqe)7(8AHdy%!{dlJY`~9 zi&F;t^mwZA&n%uX;Ah3zaZY@(Jovd`@6HQ*2|jO}9~Z=h1Mc2l6f=kY0Jj(R-`TP6 z;1`GUVr{z)xHW3$OlS-4UR)ZliAx6jwPBxp2H7j{*A8+!t-ohWB-!LN?_;+mL$z^{!3 z`+~W>AqRI)wRvMq_m|7-@5Yb^mlNe~8t^xTd8jwdpX>9@u}C;e;BN`-tU+7wg<_+4 zYrJT{-xjxwcykfTFcIOM_a3HRLC?<#^DfBW$HZg0T#v2VOP_8ah>!(KbH_8#22;e1;w_Ffd*fO0zIgV4zdt?@&y5cb_;W^?+@=Hmp|~&fsXe%HKO7&4U$-7`-}mk>YWL9r z*O&1w8Sa{^^Re)~dd(uZ&*?++2jZdu|9C7N55_VB{!keA6Y;*)_zlW)0Rnt&3Z?^;xs^fm@sV^O=~wlkO#=zE8X?PK~1m{FG2nez5`HJ8p>E@z@72$#WOK|kK%q^W6!@I_8R=Ib{p^?gn66q z>;t}6{4jnL(|Wl*FyG6Hzbb;iE_|=>zTGJY-@Z71TpP;{_>aSQ#xXB&b25&xKRe(L z$GmZF%s1fY#82Xu_{4zU96t;1&7Tgqcjq0&yW{5reoq`7?~J`^i z!*64S_|1T?81AEI`*#EGS#e)?jr|6EyErm_ABPRN^ZAGPV>s8~e~QJzdqrDteR>z3 z7T+K63x|u-edl|`GvSPQ_Q9Q#onpthc)(ANHDdKxd%%BKJJ;e1ir||RpDFUM=iu6W zF6`Z718xr=FMmk!y#xNPcuU+9?;P;E!~4cNdaok*D~iX&(ecv(_Y58xN5mBaer0^H zcK5{d``IJ7pYJ*w&c(__aPMO8E@MpJskpJ6Mdxqb0beD49nPpcxSacWc>HO=4-5O` zX9V`pyX?;~odND#xL1FPpAYz7<8Q&;TX1zfqkoU7oU8kp_(#Zt%js8tcMSMHhl_U( z_`e4K{-1LGv-nS_^Z)+<;{Ut8W}35KAI6LWKFjb~i}K*J4WGTJ9{3zFXUsLOmGQX; z^ZZXaS6?(24nA+_M|)#|8-Ko-KNcMD1%|694{omd)Za8uZe8w!{dNtm9DJc7xc#>; zatjZ*yfNe!8E|#OChG3;x^z*KYAxVz_Ir zj=VP7PVJY>jbRuZg8eoS?^9H#lI$EP*OtvTS@ z7{{JZ{cwGQuQlLn#|vYfc)@_Hqc3e-gHLU>o9grF42jeI<#NVx?>V?S=IuON54d|| zKF;;DE-t5B*)$(+j^^QckO$Ys_|Ez?PcG+OGiNL~;IoDD`NNq6H_y33ovECwyF>T) zOR?jCKNUyCvEkP=;Jd_SaYDRqz>g2#349lj2bc4m;b_VNT{|9B^Y8-=3HQ_->)CcJ>c^_t+!sk+Hz{j90`fcOK;Jhy4P#Z}#6B>^rzQ930m0ssXnS`(>YAJ>d4iIk8Xn5nPVj>!}~EZ+UH| zedgAvU;Q02;P%=+S=+Q;ZjH{-w>uy93;a7_-TJV0aQ#@L=fL>@cRt-yW0@DY`8#js zHqD<~lRcEPC*bNB=g^q;haVP)k8<;Za&?agIqLzJKQiR38(dz$`g0$^j~Xu8U+|;j zn6Td*T>jWl=ePma*9mcA96#VEjk1%6yXL2i@>9pPGJaZ|9%qbeW&F&+S^rbcr~2v{ zAKcj7T+SKrvqPJ6!AFLMUJFfJZ`Q4z|GCCaHY)w?8r%_zUL2z9i3ZM<%{Yc8*iI+qQ&KCDffXc4TF73%w&ea8f(}3F}*Kdxg4%gRP;;k{&=W>|ls~(@$AosQb*T#L( zm$AV0DazeE;J3uv;~jD9fUBb~ZCry-ZMB=~^Xbfq?kTvOahwGXE^pq>yY+y(N9J=` zOzYxu%9Ty?;pS)_o+Wv3ZH#|mO!MS&SH|ga&VZi~X9SpTDjB9-3fj<=1_K7eaxN+5yw|?+X#;3xX^$Gsz_)L5@9vSe5 zLml~PKK#+p&Yrmj|6JHVxoO|HF&~S^W4bT=wo&%^;jX#;d?MTfZNc^VWZ0u=pSihd zW6k;ix9%^*7h}3#-2IiaANCL2-q~ksu)pBO{Zd%NQv+@-p9y>RjAO6+&+9)?KC|CFEA!j|{^4|zK>jszCum0Qz z@NW(m?Kk+h2HzfK%DH>+olxhy1Fo-U;`{Nv0sp}$`{8ic{70kw$KzTV|4IBbem1U^ z@t+TV@jvB!s;{2$!KZor@_)+tuj1EXd~LyvZ(r@9Jh&YAZwB0+T8rFo2V5QNm;2p- zt79y4p8DtZ(74L%A-Hn$)z|L_T%Ui4KgKjJS1$f(xNENMpW`o~9k{yuuOScqx6n@h z?*p!l@vLv^hil`!iS`6s&e;D5>j3}faM8U0|5sSEJ^A;5yYKG*e}=o}>dY|L|DVOF zzH_M$`5DVi9m`kFZhpQ&hUbKv0evxK!hKH#1w&%vzazElK%tf-!-9k?79?Jf9h z<64~dpU)n11UC-2Hq%~D{g{uw=L~JW)it^w%Seg`E=&Q>ArJ0 z<2Vx>Tpjav-mM4RJu;ua7pHY`IpxZx`EYae9H}$ShpTIR&&E{F)%{m^_f5|Q_dat@ z`E)+Hx_{`i>d$d+4*uTa2jj!>OkHkZ9f5?N&9Z`Qi4cChmW$`$lDM52X61|w>8*vaO1u-tYMo0w+{PdpSB%v`(Xc^4cFlI z&OYl)9$cT+B5!@*+UQq*+YPwAwole(t>D(^3|-svWB{CE+ko#Ld&HjciUEK5;FbSV&i5MSdly}U?=#}Q#r+3- zzu^ZI)dN>w-nH?-jmypHpaDNHUKPgI7Toyu)gH=&%Yh#};PzCxvT42i)p1A|i-W6U zEOVav=l0FG%IqWfw4eGiXYfPgusA%X{<)lZ#BkSK{UhV3&<0pB7#2WP}f2YjSOna>^%twFcgf_bjxOT2RtMcIXhl}S9xczZ`UQG45zRr&eVye&OV9x4*PivC9 zaKN>3AM|A`aD9q$7Y+EuacR6JE*Wrj^rek!@TskKQ++<2LD4-0motuYz`^CM!`!Fm zf;<1_b8JlO;#0Y@X+GQ>&BL>#9k@2eKQyL!a=8;?-#BQ%_l*65Pv?`X`};ntj*Mk; z@aGkmk5yuY0bf1Vj}7Aa1HNXg7i))WaOL`0E?zj`uMPd`Z|Z02+h?aaZCMW7y!eK( z&Va8QzULXsyur=?vhe3HUsnWQq5L=E@~*cif?qMN#VsoXzcQ|htK-qiz&~H~XOOSS z^#`smV;Se#BDnu9)A;739k@2vg?gW>4!HW$*wcK>V;Wx@a{$-w`r_-uHMqWR2s!fx zmw!XZ=@(r7jUi`zaCv>{bJ|aSB2mGdZQ&=AdpYqzidBEQiZ;PAbtpk3`D7$sI zYyS38{*H02jNcZw#~tHZ8CQPiC^HV^jB$6!-8JCy=JC$quDLq;x+jbYZa((a9=Zls z4*sqIx2M)3_wE5#$GCFu8E|!sYb{g%+`buCnSBITZoc}ucfj@e-gsY3<8tNV`-i*c z+I}ED7}|lW%RdzI;P-`g@*f^>ZH#AqQ$JiA=S{RH;BvM~92k{o?MSHQST> z2i#fsSUfP?HJ|EyJl77~nUsGpraD|sxxPLz;17kd&4GifV=QM(J#c4>i&K5Bk1OJn zapi#9n`^?eboqdPD&)1{;Og*Chdj9ZB7SDLYwo^%HstgRu8-;7s0(w^-@~EJO#`l- zYtOzs_?w4|j|{l|bp2>d^|`)27mvkMpUc6V)d8Q@B=`7$YvaD@%UIz06y-iY;7`Pp z@r6+)$G;f*(uRXiZKrnH^689<(>dXC#&L!?xH{Hh?$dL`Juk-h3{C6eQ@OHfKHMD5 z!Lz3wxHiVWH{`+P-q>fx+r#f$g8My7`i+DPJUJ-o%qWqG@sScMD<(4Xfe>Fs7aPY5< zXigmb>*4#4{a7mpS3XN|=J-Yqeo>f{@s}xLnv477&rG;);O>q6{z2#$T>tjXc;*4F z{Mz#C6kj{wFO22Fo=@dmUH8#?^b4*ZQEu7?ZcVVBshrzC(fX$S{yXAa`wxi=)y?emFSv;xu?c&Kr z@bAPa`FD$_7Qw$4XXVcn&n|+0KhDX2P&~H?{=-pz;kZ`De^mUj7(dCue_S+&X?%0w z#{O;o`}kQ7{?nqh{5+268hro$enN9L-w)*AzX)?SU+V|A51*~hFN+Ts!G9IjVjYiE z2L9_%N8bK{+dFg9)_lSBt*v(U58U3_kN@sPKJCl2ALeaOz|CLI9MlE3uh#e9eJcKT z_-~5F_+3~h`0qnM`u*d8{~`2Y&$R{rQ|Mp6<^cZZ(5L?FA^2ayy#5;23I4a?qIrRv zlkxRy4&eINkGX0OZqEM*d;9kRxA*GE>la*qTr?KA{<&!0;MQghuBUzA%KsG~?eAj! zXA%4(q5i*P+6V4z&M^1?pNs$Ga7LUJ`5DWp1Mcivhqb8#uATd!t$P8kZ}W3)d~ki+ z3(v>2KYXU@zpG}CgnwHB+`qT*aPdd|`PYkcaQ_wp{2K{VIlrR3cvz8xf4e?rZj4#t z#P$UIq~h7L{(o-Knfpu*_2i$M`}=6W(BBIS?(e8oU%hjR;7bn|XRST>axq)}DzSNi z9~6hhqg}tc2!2TM;PCIDPUZaYQD#mY+`Rm~wf?@^>F?3y{%+mldbiG6pZ*S8aR0vK z`EgO4G~oX29Qz?>Pw-#w+Wf7@yup_%9vk{QaKNq0I{aH%)&j17f0wVn$JgAz?Wey} z*Waf*&68V$eK<7yJF(#Y?VlNo3m5%+vEcp<`5P+#RsH!phQa;a!>8sij&le6y!b)P z-dryzf?rtFpTD12pWyz^V*BH4T%Uu#zGy$}(K9*t_ly2*Tyve~&&^jmXGmLc^Ep3^ zG0le?#~CxmG=FX!^PQ*u%o*JNI0w$EwS$}gx-olgZ>kRXn~HN5|4_X-ir~MG8Oq&X zoU1bMxr<+_pWE`^4Y>MGRz6SpFBHM&jT`G{t*)nW`I_-q%vb*LBKZ9AXuiPzl=IJ5 zwpx5SrvCXC^9Q-*&`(clsJK&4O z;;}?LT|Mxx7O#z^@+AlSE$xB*FvikFaO3yaQI~t4QHKqkBgBzRi${91b{6evCEI8ncjJmfESLWNd zA92y)%6yv<7aOk34=bJ=r^Vux!Ivn0w0K-BnS(D?TsrRlKlNPOWvV}=V~_`zTQ*-V zllJ_U@|Sm9KZu0}+;2HQ5nG4f zi3VRZ?vBatH*YlDZ#v%*ey7>*ID`A`X1`6nVfejjaKGj3ce1aJNj*QJ*B0@r;mZ8T z5sit18`l~!UwpVaaO3oQ)?56adVX|y(J^yy$L_d)7z+>hG3CX#4p-)mciwQ!<^bGr zui89sR{Th9!Og>lBj?zmo%|-bHggX6TjGr|eat`LZwtS*y+|xR;7i1tVwQNvfUh>{ zmK?6kwVxsEW6c4#FTWXnRO4E^2)<77+_)gtAMg#r{67?ve)z@V_#E@s2VDER!dUMa zaARI8>|?TDZeRBAcgl?c+&nB6m&9Zqxc!AF=1a zIr#ZS{oNM&1ivtxUt{|J$DbS9W8oOSQ3Q7^D~5ec_RH zYtJ5&~ij?T|V^)=uZhu_M!?d3W66~#}+Y4OK6Pc;|3sKFf&b6gl{t!~XSU4B+}(qkXIy_ml^>-?d`xn5FT7zooct@vX&mir{mF zXH(CS@2y|(gNkz&--4cr{zpDnesp{^JQss|CibkWuP;^x*Pmxy&$%}@M({5cJ+s=! z-*WtKf9337&KSVuuP^s(*XE>uzFxVrYjZ_8&*R{p#r@xAo~2(Z5AIp}8`ZC0yt@eg zWPNQ|{7LOLD1tu|8|Sk(Pa74%XNyhpXWCvKTyEZYXXW{d;6Ew1X>qgIV!$_#HEQ$r zc*lS*GF;qcz_%SPUg21Se|EU|nE}6QxVUBe0{>ZTm3t4n^?*;+JiI=(8LrH=QGaOr zQU>34M4wG?@a>A;mwT_ieGdMoIQ5%S=2?=H7n>@ncG z$6q?XFUMXv_@2eRW1m>FZNb+n?pxe1Hp{^`FYaHo%@#Sh?G7j&7(3?RI~Ctkd~fWM zgYR0@pK<9E{P5yIMfyVEn$d0RCw8;)jMS^Tk@5M--2Y!w3ARI697r z4-fc9;-m4gSf*{kmn|M!TyK=s@k#x0qpXgvTihd#&-W~XuT=zJy9j!ZHcE0SLUZRr{bx@mH98~=YMs>l~2omHsU9TEAzjP zc=~W<{*MvQ7_Q7e72=u0mHAn5cAOJSb&TLkkND}~%G`N5H_XxGd~x&Syq*`%Gx+&& zL0lNmH5Tw^i(Y>=%)QotZxrG>!_?Kd{wljYmT%Lb9QamEu?9 z0|WlSQRf=q;I4}$+Qv2Gbp_mY<8{RA$1z3lCF5(k*N?2 zx$)^ZV!)4#!{ex!^v^#Oj>9oK_Q~;EbLyN^4sNZ9&OHaWR;({;Zn7S@wPIae7TSPY zcgr`o%f)*J{O)q%N4h6)@Owr)X1FrHcf^I-hJ)WXqW2~oeDe{#hvDE`jJW!6Wxji? z6Klt=1HN|{xA7fV1mAi@b+k ztN&)NEChhq-@#VNFJ~QB-jjzPl;@ScK ze0(tMg4!$`Jm8c4a%0&&^fj3u z{&1KNeVG$*eV!HX31a{^Kj!t*MRN;oey)i}V=@oiIIoB=#AM#M`FSv|jO_+|`~0$&-dpS!M_<^lP(B(a5+)#*zN(~UZ=R|y%o6Esc*#}D?d;K|3iEy|4;GTMeu*e zgZX#k`R*a$-;2Fs&yWX~duaIgi%|b^bM(gIY%xXS0@wc!i?hZL23-IDEoTh#=im}!?o9!zcK%;2=4F9wzb_pMer9!Sv<3L;HMXVUexC$wFSSl zXuta1AqRg~@qho{efycZbA;FC)5Wv(#W!hfg8RS2MLBII?R>Xo^-in*|M~I(e}CJ( zrMO?YU$j5)UlunlZV|uA!GB%!e^1LD*0$jCzlkl%y;ua_Jbss7QT%NY+!$WUzf}Bv z5&Y)3F1Y`98vFz8$NxY5!J_}C8vN@;<65X_Y~Z)YA9L{!MR4tn^G{)X;P(|Dub;{qkXszCYmR$uT;IRtmitHjFT7{MQkziQKY{!0;j^_aUc{H?OT zAAr9cFLsUpz3BT2;48)FI>-MgE;!)-4BspCUBl0o2me>~uY|u#=o8$2-cfsFuzzs- zHa6pWwFqvW{+<6PChLJ)SN|^9ZH&vl<{fZjnJ?xK;{`X?1!BQ?+kh_=3&$ei_`%K7qD9-heZXz2 zezDLF-1sMRsy~?D#bd+9>)6&E@b$uRnnz`D^~SVBJllE#UviYi=c)r=Dwd9AhAVS< z+ip7g( zjBgD1-LYchdANAXfZr3>#MSY@fPX7~8qdeK2mG6HVw@BY4)}NDv3MfBH{joiQ^J_O zKj6mp!}w9$HQ*1$8R6It@A$zTqhogLAF2-g$fEYzZQq=MzpH3I&7(HpwsRaW<&FjX z#xQ?hESf{`o8pB0`1n!|{^jD+#b@J|9Q@{yzjw6Jj(??SKAsA50{+$N&7V0khv4SQ ze3(;n0&Z@dA7gTkz>UlPoik$qckYhsnEzIJts?l^#qHuu_<>57+nCi^lr3BDgX0ON+M`!7q<{ z@;hUr9NhRf594)w;Ev64|Eo5R9sD1m{W9^+0be@IpJQ2Rz*mk{V%=DEz&D5`V)0mg zz}JXldR&)-UtiQle$fG+^!H+}Pw+L0C%5l4i<5EkZ zIi<3Ffjh3>gk$?p5!~^4CiDF0IKUml+C|SE%HW>y)(Oue^5Alw4Ll1iG2rWl=cx5Y zogDYfA+A4MnS1WoAUumGgR6hCF>P3UwK0Pq);ZXyxN)pj9{e4{H_7F}-x>1Cwg=xd z_N%Xt$NmGpb^UBM^0tMxwz;)2Y+n3Y(KC%_QqMTxe+$nshlXbz@ZI7yy+8R+`Mq=S zeTq|5@40s09DKjx>#DcS{yDhqwkW@49FT(_Slp_(b-X7Be{WG=`rN$;?%8>pqJ12c zgWHeowhh~YA6ztEV>RZKI@tsFP}AhN9WDO z$^7tH!h4`i%Dt-yzC+P_Am{YeBDnMP-`sn+N&V#g+%nbi*VYDH+s_x}rmPNJ-ny_> zCiVRFqt3bJ;8PW?2WxVg9Q+MM>(*L&V-7xT(R#CXr^~^oA92Uw%6x{R_ZHr7m=ADs zVII8q@_q_@k>b0XJMXiWAMj;EKdxa8u8q%+e8%wGwgdOM!!N>TE<4u-e5c|+n(jN= z=CuR9OZC?lcP(C11pi*~{J1bS9`H?K;re-JagieUrm;*c9aj(d58~MPckRAY1V5?x z&*Ejpe-*(mj$h|n6<;iZzq>K{49w?cK1Tuf`HIi8e5T^_E$}I7zgze$%x7TWKL7H0 z)}Qj_Ti@V5%ds!}*{MAEMMd*z9w(oD@jq8*9?jqDir`xo&G!{Wa}NHy>U_?%d*#Vz zU)*PY->iO()`jx`?i~2MX^-OMvnjr3yt6TH68|3Xy+%9v$!9x!@9^1`&)4(^t}ol$ zZt|MT_lc>(=R~#z*Qaa#hcVlL?^}NVI3V^L@B`z$u}}Ao_Y}eRkAw3=;-CS4UmRTS z(BgqbaBUBZ_s0hZ`~z|LD1WF3dG&|3?Vd5I=SNg;e8zR;fFBjcVgHkH@(;%`@sT)s zz#Y@a!nPkBaL0UHXnX8{>*s{f=kWvXm`{vP#K#BRu_}uv4Y*@Fd6XSDEXX zjmbDB`!@z|-;V3lFlKPa^2s zz8p6X_$~3(;9nVVZEuaQ#n%V?wzwnijN1qNuDE-|Zxo?UPCxp%XTa}``{SE&-+(_5 z>c17r;NOn##Dnp@0sn4%KOP#c%(eMpJRCn5@JEI}T9gO>Q9Krp$Bzg6iFh)e3T1Hh z&Zjlwe1M-B&ezl7{DVIe&goBLa^AW1rj5LH0sd?}7ur|@;FEQ6RsQ^d|1|8|TAqxD zTPNE6EUYJRYss2;A*>m2>-^{OipW=fusS zopFF`?>f`QdIZ;p@f(vh32toG;^|>Mfqycr(_6zhz<(XqD4D0*0u&%+s7S^1#Ia!C?+P1c=!O8jM4~2E}?XX_Jt(8aO z;h4-PH}}qybL#wnJ3nWIW1h?>ckIu`Ps6c;Ulr!soSP5u$-KB^KEUIb8y$5^I~1!Kj43gi{pw=Lr15_-niz&L{W} z!g~H&IG^CorTxDYkB#{F@V^)T5l0R9k+ECP;e3ytQ^Efk|B6?JEAt~_zu3EW`xn9Y ziudFnj`t4u(Q#0`r~JW1aL?DD$PbOf2K@c;zH%QZ9#jNZ|DoWXufer-44)_(7q~GQ zkLP{+2eIO3azEAyE~oO!r1pJl{1 z4_D^1hH=>cYy&>~aB+?SpL4kQmI0qD^rg?Y4*1-mo%}olKJRdGz5$emfr@byNNTYtdq*Lio&rycMOhKsWg_=aJQ zHj2sl<<7sj@o;5sy?{^F72hQEr|z8tKB-q{U*MaLxY=-JzIhm*cCH`rEk@LigKs&a z?Kt>Wp}(z1SsmYI#BGNw^X+2&*gniJ_ztn-i0>*woo)2D({N=juin0u!FL|fv2$?q z<2sl%b{X)u#u6d7>ws&sWXQdHz_nR6&z?>FH4hjS$7+<|LjeOZfB4fxcdUY$7vfBkTAGS7U< zQ5GlXg=;^h4D1LHm6+;ebkT!XH^_YU|$;aZh@-GFPOUY%IFyMy{7p*;T>&@B{4;yefW%2z3t}kWr z0|Rc~%HjtH+*p;xEeCvyuy*bHLj!J~%HrVzZlB8H5d&_Y%Hoj&ZlB8HRs(Jf%GTYa zJwIxc#YzAC!-J#$Pd%TEjZenUj~Qjr@qtgSN%12CE@!)s4p-*dsJDM*@Q;OY9XrbE zxO&IoI+F*N)7Npa`+)BeuJ1kL_yIp5_71s^54bk!)$KFjCk{UGf9m-9d3&<;ne%A3Mt8>&k|cfg6)!aUAC~zu@1l&fJ>UPge)-I~YHSXX3rJ12=EC)Sod- zz8k=OXW+cH_5F==i{LZFwdI`$-!}pG9T@ZN9GF*dbL#uJ=GT0Hn~U@7bIr=e1#V3G z)ZccM!M7|r7RO;+;KpR!lkYfeQ9G{vc^&sz;X5PXzAtjd@GmqDsJ|zii+w9QKj8bs zd*Z;D%o{%-wi@-m?+f+5i|lysiJJ%f?(ltN$NxwX+`5>mx%gB}J>dT?|K{Rfi?bHN z|1#>WOV<>*Yt7ow&UyjYw_|jC*A>A(-+qn3{wMq8)~)mM&3v-1_!^CMy5{)1 z^W*;MzUlq}?%uIp{q0wO7gPp6FkEY{v$+TSfa=BXwmk>eUUV)vxc=s?z39Aw%Y7?; z7ry5R?mLUCbPS8-Hw^fqq2636gIg26W3f;EnfS$GnXfR|Ma_xI%4?D*E>$lYc{UWaS@~Kc@J$>cNi={n*~WJplLb3Z4%Cj^LRA ze==T-m*O`A{`;7|{-+IP@ZT1fEY20b%fYo@qPSSdgUcNl2gJbx?t9ROw9OgC_Z7iU zkF(>bMth$`8$8$ zPsOhF^O5qu$idC^ck``U3-{SJ_?EFt?RSogbMQ-wUo2i;yrBqwS=iQg_ZPwadlLVy z#J?%|Y7zX#_>OY%!6NuqVv5FNt{$%r-1%LtxN+Q38}K`e8x?mB{{{lw_t8I4bS$o2 zaM$ha`C~=j0|ozaICsw5bvgJ`Mc0Ds;JF-pr?{>5FIE0}5&ZY@nzs8x@ww{2)lWI< zXD&khALHk>`BQPm>cG{%JnH{mg!(@ZUa0(+9DJd+n=cj!|0V%keuLuQi>nsFUyi>8 zU%NVR{|028{9nawi{SqZ-)nodxNi~smAI(;%u}t)$C@W_>+{*%?=sz61b=h9v$^`k7>Ke&BwQS_TAn-;-$i`RD^risaTxZg?oS;yx4#V-`WXNo)Wxr){!xV7jW z=>8`UF1K9wPv2W#z6kESw1<~Jw0J}j+(WyHR|N}XJeb#Hm)4-NxizQ2mI>zd|VsX47mEO zf^RwC*M)nL`_LDP;Od=+&lH^taO3n_Hk04Bv7Wf~HB)mtW31P9;9l3>IO^vpLjCN+ zMb9nZo>dl(#bbd1UoaL4xkU$Do43cZqfU-579VckUN?R39NhYGFLfVv9|Cs|@^2b% zDqd3rcOQ0-b$>mv2=4Xtmf}~#>nga{)Z2=;$K<}s-EZA1Cie;V3ho|pd45T_H-lds z?m6x^3l_oMpS*tFT|A@+?!N7w<9@SM5!`*oJ^87aJj-#bGMyq3f%l3)EIm(;NT*-?+_di`^PZ@{*gF74herR2meGI z9mmC_J@;9ZyzeV$1FnDf+xHgTXTkOV+U~dZ@tPvI{Vbg?7pn~Ts=^5XGWfc&Qs~d;x!^wUwY}~3A8?=3`n=AzK3@aZ_Y`4Flksz7)2IGU81Uml zzxq3Nz0@zvBVEV{99T#zh1EChdz~3~j(a84H)2vA!P2!M|0UxqH)Y#ThDttABTX zL410^&yRCEhD(a)6~QkK?;$T8d2P7d+4Xg9T#rs3iYmBEeE9GX9$If46kNtYGP;g{+ce4gqruFYb_ z#|Qk0@cHT*#k*?@Zhkf{ZWL<`_}Z~StQ#8+_&VVnT|V|@f873^C+FvY>c9^!`fX9a zDQ;VE{lB%SPv;HXIh($IjA^poxUp^2Ts&FaxCrjJ9t-~bfd4FRtRL3~2X}qE!}eV} zlk>Iz_%?r7tX`l^#^YKINy_h&$M;zxb`2azj=z@OM`p= zym9_q`@SRxU#6V@3+=V_>Hky%_kXLsrs)4no1zHr|54+Uyf)l6{x3EER~rYH_kR-Z z-urKPaJfHKzeg?)F1KIYRaqWf?&ab)LLOZ1lDIqM!R0QFdqN)k?l`J#rwn;;IrYbc zGWfmKgWp#KKVp={Z&n9>_}~w{N0`*}`^$^J9Inh~s{Jjw_&^a{Zspd{in08FFBj@p z31#q=;;(J@ySDqyfUi^i+hW~N23LP+Yv9Li^W=d4DDH_3%3oF<{PGbu9Ini-7;&TF z%KS4$@Xr>(=L!3kRGt;L0Bx@PpzF)lVDp;BwOxXAOC9xtU_NkO!B0rEPu@ zQ{>>Y3>V)z;I{GlcyVky;M>LY-OIdIzAp#&46$<@8@mkn$Knm;r;Af^@KcLF>A1gC zJZHc^9XrKkvBQ908mGs(ar1y{zexA2?TcR>aO2dEZEO#2TjMjX&kguD!e>){YtQFZ z;C`2U>c;!Jcp(S>dGXKjr}*1|zZ?rT9%K4k_iu1xyD1#wHQmR-uPu6>@{IL(4*o>Z zXA`r>(>eGvMf))(`vNzveak;texb_X`dP01uUGk$0be&h*EWv(iUC*e_@)ZS2!3jO zGR}(A2mH)%9-YJe27Lc;j8}*4z-@C@<5{Y)K9_?(U%b9~_ zo$-(Q`BZUoUGtsd*7#@~J>bX0`QbM>Pb`AFZy5g>jmx;fPag5((?)z{xHA9bi2oX{%ugS2mm&v0V?>|Haqu&XOEf3v6fdd_e)gz8vZxIH={O?H z#km7+KK#E1A1O|*FK*sG93PL#eDXU-y*876xc*&7&gJBK|?w{v59v2AxLg5OyE%JqL!QNQ5&w^k?X)LP}%sNc?fZDY2s z!L8}p@_qAvcZ}fQuFm+4d(|TNuiMXmYV)1)4-fdw|57|w`zOQSdBA@> z+Q_ezgHKr>bH%&jpY03$??wBwpFgxc_yg6M6Z7$&9Q@1i$J%_W@*@L&OZCd)H;Uko z7X8-GKf>=DgMYtzed=$k#sR)#(Ps;rh0hznH;TnpRu(i5B|Sg?z4s+Y6I@`hWQ%jt;J>P1ANKi&5dojqCB|VZSnQ^+JN64 zcaC^R5$fdbif@GNz}4Rq_r~1=eqVeu9*Fw~{9Eyzcrd;_;NOk!$3yYG0sld0C;!6% ze|Y#K#YsQ>(fDyZ7C##B$K%O(DxMhdr{gDK-_H!VF{rogvjhHI7>7RW4_rUb$4}#h z0smQO|MQsammAA3;+OI30smF}CVm?)4*2gzo!svS{H6F~{3-r0;D3(4#^2&E1O9US zBmNnGAMk(0tMTu6Wx)RvQ_RrkO!40wTzm1g!CM0bemzj#Xl%0be!V5vz?lIj-#*@wLXidJ%lh;#zTAE)OoZ zcJAIG4=%S(zHYcLfUg%DjQaJ9P_M1^ZC!7egKt#aI5vq%d;ZSYEH;l#2V8E;*ebRd z@U3H;(3gFI>vOwsPusQ#zJ2jsv19Bo;5)@Gv1{x+;O`FYCV6eR-0rbQ>^9(g#$K^^ z$b-x66Z?ka19xoVe#4dd{$V?P9WdYr#(U$Sc+Y?zJX}0vz~2{##rxyX0slaJC=QPg z4)_sqWE>UFH@Mdf^JMNmJm5#iG4YXb?BM3)qw%pYUT|YQE{>052mFLMF^ucu18%G* z#mVuB0Y4>9i%-U>1Acm(5ub{)2K>yhjcv~!@N>ev*w?2A+!&R`a|hg*ZD*gh1wSv0 z^ZYO_@C!nJj?MPqj@fZKz6%HZqVU>zanWlTxYx%^iwAUYCQcn--8kSk#m(`hIB>uZh+E<-@#O*kYTO#;)pY=FuB{bo=C%R< zTC5&x#@7e@_E2vOYYh0V!^O1*e5Y`|tUX+rYxCi_Bjmy5?uu{3odbS%+#8v3;BwBBb0ZHfw`c4T z4-EJ>!#Vp_>^0e>={3eRR!7s00~J`+EQrw9Dmm?374DF*yC@!An* zDMFpx>td=fW^l*iIncgcXW;h#hVZO9dlB3`Y##f^a|8Z-Y!zF^PY3*G@rigLP8#s@ z!+q@M;l2ibL7W;V$7us@TY203V!$tqU&gOuss3I9?l%@+EdC~bJ>b6$^XeEq!-9Lx z^?Yu=Juic6`}^Wc@w);4Lp)jTPsKkD_@Co1@z;2&Jh=BJFBiR6`CAeE@5O(Hef(p< z?dxChO6U{Zz8(*2$9}-=L!bJ4b-@1}euvWUQ$E}N!2eUd@obhqR~@+Dt29s6?i4fr zKlp#cvz_;bYv$meDf%5szwdZO4t{&ly~h3ht{nWz;+!#EcqX4bmrq;ysQ6HLW&r1xcpaRh06K^ z*Oz^)Sd<5sGq>h-r2$_#R*l1Iw@MNG&`}oOQ62cFM_F90I&f=b_59YN{=oI6evMI9 z$JdOtV(nOWz}E@q(K)oPz&DNc^7X@*!5xeE#qyKm;@id5;qxok0k~_^HRJi)H3shU zto3T+Ir#b__;tl~V}tOS4!F;DHY{!wlh;=M&iGEbi;Gj%H@Iulc&>`cXHeWd^4G=R z#-juNNL<)@xga)ZTX6RT+Zo^F9?Ol>{J1X62e|9Tc76lcw%~6pUQ+a1#W&Ul{N|$H zFupXtl!II2-w)4MKHmfP`Pt86_HvVYuC32gHf%pW*8<-t%(c()CdbA9Q+uy*&*ffg z!F{eL|C7)L+-sv8_xU0CGqG{|*d#U`@OOr1G0$gH4*2WCz1aPFvjJbR`ss?R72RvW zFAewd&%~YW3*76gYtTJna@}$F0c(Bpu=c?(Dqa}kuLfLhi`X*0RvG-Z;#S4ei(41L z)xSGdkDCVk>#=QZ%*8eXZcd&ow_WkyMetXPo};$UJzIhM-1C>^jOiCeaO2vc_^$YU z4*pW{ukrWr90l%t{tmO;S++Ji z7r~ba^Jy-BKH#5>1!DPFaKJscOx3othWi-!VPEAdVmK^J9y6KDHe2{o~pAN$go4;CmGB=osAZCf5je&s(G1UAb!%{Lb(?xNJ;b z%edE8uY=3QFKHXD2AGoiA-%{MW+&;0_fbSdsE%&3?F9$y( z%+XI{GH-nU^6nMq<);t$so`F7K-`vtZyla{?~6OD1HY#@d$|MS?K${+;*R{tSbM+6N$3E|vscaFfViTm4Tsmhxc!RL-YHFkez@Od}5XM=;w z`FqPjMex_Q-J4^kn0vtI8ZPP&eA2J}HmVH1LD3joPsRnlam*64g?)kB|N2GOpl!kR z=kIeqcXYo1zqtDS;%Bk{fVI> z^CfEU8g#D(ca1t{o?|EN`ApRtk7N7ifIG(jl%JvaN)ddDST{W5u2%$qFgVex?he}8-^4v!BG_z|%{$SpYF+9-=h z4){^=;W#?91J~Cv@sZFUxV&haiGOsI)$xzTLScUk54iox9~;_$A2;Ih!_*BS)%h}hNVT|Bs#XNC#I393g zoHyhgH@LjHl{1&%^7_=@#|HeISUAkz;sd_-aB+zN-zz>H=f?R1eqQVw7sN#ae&OKa z|5MM+{Uvc}Oxkd{%R|ZIs2&4ESf`b0gXw>g2e6$b(-QSB0@p)&n!YeZtekpORN|A)&|_RbHvp#=YU@m)`hil?SOwij*O#X?*ZQ@ zu8XQ8~7)Oi#HCq^?p-0hMNc6vDlA& zPp%7Y+tWjvFAcapZi%nNmk0c-qs}pNaL3Nqib;EZV%!>Ei^+Jn{%?z~hdj94?ICx^ zfXmz7m?rJHHh0Edp&husz7cZz1E2J3O;75%wX7`K4&2(lC+>~A2mHRcKfW20dE*bn zw@3U|5$fc)_?-dQkFxmSfZK=r(0Ake1OB~uD1IzE6wO!@2>t#wKe^9@^T*{cOFsYQR^HC1S7P%3Pbf!kTuCfZsh_ zbPa-A=lC5(aOZjTe2rLZz}JkmW1U!Uz}Jlp!aS`%;O1_lu-zKz^-*&*a3&&+mZeIl7Vfed>^5Bkn$Kp<-td8$I;x5CL z`L6Nq*ezU7;I1X(GcNN5Zr=8Yd1Chgw`QEjJ!5iSxVhRp_KCd)eBW@5>{oQ%fbSm% z#DVeN0e?>%6bHxq2Kar%It8E3`W@#z6S zC(e!Y;(`G`KQ4-ku)g|4Q5%UyH8}_-*n2_tFfN zkO%)!{CGsKaZo3xe`9!jz#j|yHzvmc?ihRqyj9yjk%K>3d@97PD}&2DT|A(;djEz2 ze2t=cd?w5*_)p@wcs`yT@SnyD@$>lEfd3+X8NZ4b2mIIJeEcSyAMoFXec8_j1OB`C zeY_NZ9PmHHpW`p_rvd+KY!olY-v<2e@z3~I{A0jhiGRm`;?)8FZ@gxvUfW}e0e@Xg z8Ltn=4epqYZ>rpQ!KaQl#2aIp0iQOej~QaR0iQA66f?yv13q(@Cv!Jz4*upMW{=qh ze2#ca%oTGE_*>)1wwt?nR1tihm@np!c?bM$u|O;slX>O~h2wP|7RkXEE-o65`RxPl z*cXo_VzB{VGM0{IVyOXNHk_yBiq0GO^07j!7?bnMSBh0))mVAJ-!Xi(qCEKOv0Z(x zSzKel*NW|{-yzn{!PhCS8`i>OmBC$`>lZhO^#**ykhfkY*Dv2FtZ(aj;~adG;Y;O{ z_0Q*wcb0o&anmCB^s!mKIr9IJZ;`t`w#c0iaOaDQ&JnnCxn*n>+YI>Dv0ZE*+Ya~+ zv19BM?;7x(W2)FCoNMs6$Gc;<*mb~n59`VGYJGw4QQR~33Tp%0n%O7zjlBnazc?Tc zjQt1vJ@MW+DC`T|7!HZ|#lZu9=y36{0e^pdAU-%;nQJ4;eQ3ZBk0av9;mTZ_5697Q z)PNroAB~U2M+W@ZI6h8@;|BcW@rgJoP8{%)GPExw>-FuL4DQ+3?FUMEITzzH0wRK)^4d)sBYr{q775uhv?!F$*6Zq|MXV~W*1MWP2Bkqp7 z2K=75FYb?f2mG61{||)yfq!ebXbj-rj_-sqe0RVfjPHeU$%D&16ms7m@E?RcpNyYt z`*1uGKOFE!!!i6QCdb8p9FFI)aD3p8$CL3?JTc%;$4}zfcxJ$#i=W2N;`sr8A$}3R zjGqtquj1G7V*GZ%e-pn8x!(`CHh+je#!CbKr}#_!HU2!{e~Z7zKjP&9|7VzwSK?m- z{_6057ymop|A{GP?pY`73)~o9TYO!-e!!=UsbiX$YQWzR_C0O!jRQX2@ac>4;KpoB z;tZ9+<wlB9`%#wq@xwunt$Cxz-pKbW;Bd-m2Z<(VwXSim; zUB}>`E`q-$-Wt~2Tt#r#(meT(igOpi=Pg=K*3o=9`20oZ`EA9?{PP83!EkOkxHbzH z7m0-i{Oz$=EFOyv_!6;XoYi($5BQhknz%Tw9q`NI^Kogo4}vdMAJ-L^E?!>*Unb0* z`TFdD-x$l5TP{`@@a4lj>h?H$!0(7phWmv38Ti-3edzdbF9JU<%=I^7a$fkk;atc$ zN8sAH?pCV2;()I_e3jzl{=?m8o(R|MlLPL)!9cvEw zI^q56x<&6{!PkooV#8Q}z&DDGLvE7+*GBoBArHQ3tX-e$#b!D9=EXG{^A^Re27Jp{ zq57?hljm*jJ<>MCrOItr1mCvkH_x{(PFERx`l9vs^>WrD_-(O6{;s&JKEW?9?pWL@ zj>^FgFYZ#@HFh5GcgJqAdpuMdaPQ5%&-MP+`&w}CXVY=`+jTZ=VL|iV~fYd@$vBiKOsI5C&h^a zesXwjU#M-p{|4V8PAPY4aBz9=@x8yld%%6BpnPadJ_q1;hU-E+Y{2C{S%0U;X#;*n ze4yOz@u?jA%;9H^yf*xU#f#&jICj8~i{sXfjFB~&; z?5>0Ja`5wuUo2h`Hw^gYv0iK#^9}g?VZB}u)-SkgOZ-pQ69;#VU6@}K`?u!7cQ4-D z_-~3!DuZ8Kyeuw{O9%Xl_)L6uxH8v9lsl{K!Ot%GJIT65e=7lBCq7sH%D8&KuZnBq z^Ks39e<9ZHn0IVD@4vy{71x#Xx1Z~a;Qj{0#V;1Ycdh*{aYJPeF8@G&Qam!?uEm?m z-5fU#_?L#irQhq22cI+S-Hr-!b`Ds{5*T z`K?9puf#chzUMQ(uT=;BMD_f(kOx1zXxp!c{=jdKJL1l`Yrx%Wte0NzsaL*v$EItr^F9qChwro}0GM3H3 z{eFt^m^7t6K(?-#-U(Rd%qe-N+c;65Y#Ve#R3 zbif~p72EDd#g&TSKaR&@?Y4Wo2)i&B|JUQS`#nbW3aAmH|lJ&Dh ztl9S9%g0a3ZPGklPy~06crJfFo*nR?#?Rt~m}$V*ufM%wpM0?*_}(#dxM%&m2=3m+ zw`*U&D1vVrOO#tYepwy(uZl0mEb;3Be{-xE>%?pWKI^DkZn!d^J?0p3*&@`*@$=i4 zJouc&w}g06WpKIQ6zBRs^<3NE##=)kTuzjmcfePUxnrf6f53kiFU8y9_X9p(ED(Q) z1qb|(@#pwU{As}d8ZXD+<8K50kN8)-68{`<_3w#;Lmpi2-|?S#b-@1{ubHLyelf*> zzb;-MQ^k}6KJ{>MmewBln~RUu*CX+U%HY!!r;X|2jRQV?%ouNq83uf&m?hpEGY|Nz zFOD}&EdoHyo+ z1uBCtSbS}~vwmM!1m7g49Obvw4s!DsS1i6EmK*Q|M&5SXfUh5u?>g*UJN&78o7YFL zdvd$x;PPHi-W^|QTkr+zZ>yqX+o(El$2V=_=@p(``)PQ^}!)hwur@+q*&vmP}&5T9xHNyCe%i0FF-d|{&HH+@0 z;2RW;YppOgaDPu&D!g|3%pctA=i24hiT&CZeDC6V#r0#|0pB1tjEzDbT<)N@d2bvr z;0MOX;-m550Y5sHZ~SY=l{xsv^|M0pg39i%;O?I%g!kqr5BQ03a9k3H4ER;?!MH3A z8*raNELERJ7MCu99}~v3Ol1x(Z@iwR<-z5Qb}GF9qR{7U|r# z6%Q(c?;d-`Ua`l3?;ZcF&K8aBo&n#d^5u&A7MCxA?^^UMTPF7F82rVte?CX^;NbGE z!)*E6i{Nv{#^JM)BdZJUXM$NO->2x`#KC`9JiT~YoSTCmP<#922Nw4&g1;j??+*&k zQ}B1j71g;a{?z&47lij4^OnD_2>#-DZg^dK*MKh+?}_)uy9a!++PS)O{}9&<`0v9Q z^#AMue@^(hV&&$1M-kl55;Mm8%fD~HKM>v%|0;f3UGRe|x1SFwdYu9H8gpoTFb=N_ z{DZ~qPPZfV#{B#j~#@1%OcuPKi5&X^J8Dbr$ zaz1aI9J_>{hro}jJ#n|;j`?Sb4|MI{kx##e!~G8G(dG6kcWuYu*A+L6jpCT{;Kvph z4SVjh18(m<*?BYfy{11dg3lB$Xbww;`v%-SZ0IZla_2K?0F;%NhZdVC?yh|drB7vsxuW_)SDzY=G~+40o@KPS$M z^W)qBzaTD*i{fho{`I&dE{%%^{IXE*@^Bvb6>();72g=}tK-_ZF0L8y>*JeYE;kJL zjd4@l9N!x7TjI93J#HQFJHj~iB@ZrVoaXWE0lzcuj(g&+0lzoykMG2N1O7l*uLr~W zfj<=AjYs0)0sme+8jr>I2mJ9-CijB@eXBr@8b9I%z*zP{uF)a9rMIo1Fn7Rr%h`JK5xty^T%@re1TXftkHr+ zaBF2f7Vg-ZfG-lyjm2Wo0be|x7tfDr-MF<}V#FnjP$uVd0R8XhIWpXs^fOC!^aVb1 z%-{1v-_y_a+!(ItT(6D#2iLynb&`YY-{%qLJbnJa&HDwhl=Aulw?~#Pz9?Qe;4hA4 z;w5oyb->-j%NAc6r{&=8FVCZ|#LGGcKRw(J?t|qj17E&q|G&Jr!ho+BuZWdmVUsK){HlV_Q2JBW4Ipr z2iNyZ;hY(Y;Ldw=`r!M7}WE_o(xm4kbRcvj3=oaV)i-?>|d_Q2g^o)w-G+YGqp z?Y713;)gl7>%M)Q(y`Yi@SEf0@LK8h1l((hHFuA=4&d%3uZw5Kl>_ee&bW+q`uvc) zSKYVnSI-ad1!9MAuU*`^;8z#z3-`Uf0q$9_W6?A8tpn~^x?H&bIJi1H#m+HZ7rsj@ z7Q4pc1HM}*x9=T;yZ?;W^VOKaJ(IPoJ=Y)H>(q0LZw&2$Ys-DXJr}{%wa)hSS)B`h zcJZ3<{^D&NgKt>$JYBTt84K>Ydv1O~SSN66{e%&MNU+^D{DCgM-zH;mtkM=%yyY>LM zzcaml?{D`iH%IFMzD#kmSi5?AcMQHyao^Z47OyYx=N0!azCG6OJn#*Qf9|~Viwjf- ze8J(f7UjWxhQ2`@(78)?4E}=R8I^w_j?KZ3DS8$x6<)u=z1Q(R$g{vR4cs$fqu4ke z?il=>qI2D6+5_JrtcNvPxBkG_DjwFqbA2cdED!#U;$i));{O&NJmCI+q5oHSXMAM9 zkBwWx|KGc5!2KV;tLo#F@NbCV{ymwCM;5_-AI(z5gT`2lha2M?D}O^QHsI&QnsG%q z23P*^(XQ_zfj+eVJEL&>w~WhYJ3#&ii)p$8q0)-yb)|yUQP61V5p8eOwn$4Y>dF_~ke=zBJ%Bj52u+ z?i}NJBJ>BYUt@bD6~^?Q#sO|z=J4K_=EdI^uG>=O-(LiO!8jI|9q<>&4XxFw zap{2jcW=?2;ouLBc-3&n{QeQI9PXIkRJ=JJiMt2QUt&bL3vzJx9T&e=1ph#+m|qx+4)|H|+&DW9t`7J` zVOuz2Y3C5uq5?$R;k)!}m5)SfYb8`lT(55=JaepvYKqPLfyzH66n6~2>o z#^Ma!JK(-c=J3vOuD=Td?(el6QT%Xxbih9nA0P2!MJW5kaPi0i|KxD-(*ypgn5k=Y zRB@dmxbkP^pBZ^|xZLVJSC1(kJ>bX2mhFwt7B??~9~b{_KYXtEpCb72;cvgp6Y}74 z*20?nv-oi9^S$_2xG&rj-yHDE!tYK@zfU2@)jg*2&0_lf3NEMI_bE9B_q}N1FNQnj zKOFJr!yWS{;(=Iu94q6>mx!kuyF9quAB+B$hCI03Gx5BUSBJ~pTU;pQ!Q~c?dt(3Q z0zPZZ680Demwzm`@8rSd9?gAEp**;p^7V@U{SL#*_*2C#ig%S;w+Mb`DBorrE91W( zaqHoZ`5#8~y-FP1cPsh7<-ds&+5_N6x7SY0Pl`{rN5D^xQ{%KaWx!95&&Lpz9K2`3E#i>63Qk)rIi7yZMSL5tBC(au1bL0HDAkG``uZ4Q@?`cnhUl^Xl zp2wcQ;GWS3#$j>5fL~PougCJO$HhhP<>He3(l{^&zbq~f{|0bH5q$6XMt)_yx4Ph0 z#WitlTs`2|#XJM+8Z+XH@goK`#c6c6Y;@Oxu}&f)78!S9PRs_*^o7mMKQ z#c}BPb4Bp`t1s@~F$X^|-X1U2XAyka@OkzL#p!)7-@o%dSNWGhU*P)Z#wQPce9`Y4 z8n5|*o5Q7*f2Sx9E~h=`|92jh|JOTyu-u}J;ejIfXJf8WHg^$nU+%m)@;4XfEQ0&p z#D~g19IgYnYhaJrU#=7Q;>G*x`#t4cXK>e6Kl;}f_?boPWbO11u5Z`JHM54`*7lKn z<>GgX;H$(1xt#q9F0X%MvL4{p;(Ph`gM0qm6P`gFT;Bcdeszz7yN9{x`2y}4Bf94~xMz)c$#BQ~ zWg{+9WKE^wJA2pvneh}-of4#p0_ug)U;D4(x@V^#~-`M6K@CCy7 z_2qpixc8vi^1jfzf?Ly9*VgQ@!hruhR*F}|Pr8QSe=Vvf@81o;{hQfrMRoo$;48iOLiZ#L(b6qgzBWy3i6O9%XAVcf>M z+<-41FOL;tg#mv>Xjgl0Yb@X^g?6ope!#7T@mW9P1-EYBYMieu-c$r%IrPh4HQ=v~ zRl~JgWx$O`J!|DWaAS47t(EH!{+i+9G%v2-FE<8jcta7~`n)z)kJSczjaa6+zrOgo z0bet&?Ob)_!R6i%uC;vuZcn(TuIHCJ58QRsuJ+zI;MU>I@s@bgfUgy6$2zgzfUg_t zhx`Tu?wpNc1DwjS{9VuyHZY(L;T#?G-z>@?uJ z#%}Sp*kizVk3D0r*k{1^j(ualFi-IPhl}P8{`NQ^w0Yow>+_&^XS`#;-xcqP_r|*i z{C)9(kbD1tt8+*k8V3*f2jfF=SXg&(*Y1e;a2!71ABm5}$K#^|{)sp;J{6xF@K48Q z;^;VPz>f*zJvNLP{Il`7I6jUW@Dt+1I4R5rTpQ+N9w!g@DRF9?7SAuG$XP#d`7`4y@#O*kYMd2k$GHQ3 zPMjb1=y?OaQ@F;~@qz*W+9kzE12B?gQxv;CIDtad#Xz;P=G6VQ)?M7q`Fei~Hk& z0sl@s6c5LP1ODAOIv$B*2K;;R{dhFC8t}*B2k}HaKH%=%AH|dL!vX(sxF64o;|JWH z6y<(8;6I6<#Zz&}fP2>bA})-d5BO)}m+`Tf#=}1vzY62sbig+YdFQyFz<(Xq`y*k^ z!9N_oji=)`1OB`CLp&3|AMiiMpW`p_rvd+K{5|;J23*~L#=qhp1OD%rVd35<#(#3~ z?TXJT&Jwne9Xf>0)IHH zyX&t#aBa<1J9EdJ13ph!Cu{f40iU<>=Y+oB)iJpK=PS-13l8`KVeZp}2mHj!7cXv8bS=P*(X}(S=T!#2 z?KpmZ$J6!Y+7_1>?wIT21tTt5gfcnjt2d3G8{1N0Z=EvWFRbjOqVZ}ETw6=Wi{i$P z!EYE*?!^PXOt_veiDgH8>2SyVWg~7;8ywuV*fN&uc)CX1o?O1TLaaF8FAw*|D~jd- zZZ0du$sKcW^VOGrUReaU4?G*K%Lj|#>OUAO=RYcfdw!XteQce7bzdE; z#MCcWchz`JoL-yYrxsT$zBarzfPcQYdQt9{99&*o+H^kn8u5;DuPYu@1b=-vPg`pa z_#1}1FXh4Yy>{oW7ncwC8!LZPyg57{z&$hGQd}#}%)!4>TqV}dS1p3;clLa?nC8We zX|CcNar1zGE3S>XN0}T~SCm_)bHT5P>tfxGIk>#n?l;8G2YjKhzn>TK;Bxl*df^@b ze}3iWVQ$mCz~#)*{LBa3yv)-)%p2U?yvD6x-gN_a%|4TFQ1qG%zF}+}w{^Tx5&YKJ zG~X;X8Su^H>*X$rJqCP>%D0T&hCAl!Y?W^vUN69ZT0A`d6!#AJL*cdY&mj*k_qX9* zOQBp{{_T(l-=;pqZHpXyyKrCLS8n?v_ye&+{??dvz-Nn#%k5aaqzJxKY?$v{+$G#E z?nC#`bWgf(e_Wkii=QZhf3)bC<8}D=1ODCkVL0cE0e9ZpI&ZnyZNL`~?WwbS5&X%x zIu3{n2mEVcKY0DKN5G#7`~Rk}*TJt0d-}8S%>h3)4vszQ?~o$+p7ChDSJ7I7Tl2l+ ziE`f?@MGc!VGc(X!Og?m_K9h}eBYQ}%imdDcwIM#L*xGN+y!@Cy}q6s3s(<(zoP#2 zZ4A>m^zWX~kNW~#-!sLt;)LpeA6Im*E)(uu@crYUa-NZIAMgXhYsw07;D9eb%DnEp ze8B%$8_sv$RL;GA{l1*MeFW|td)7XFuw!tqH=E>}g?j?r^?6x%J@GmNZvT3%GuC$u zxG_7&xvn$#WAT>C&n&vP!QJE5#CmvUfqT6;q}-mxX&>_S;-*8x8ozVZ1w3$C$ylkMrZacz1d5_Y~a&?&J3s!Cgn!)O(1B2K?TzKi?O> z$-#eHe1Gu+VGn~J9M1EsaW427;d$tu{Z|e?TYNtkA1#8*x$h6|c-kl2-uZicC*~** zet&#Du84~Ve6LaFdBedygVb~EnG3#WSS#za`G9W{uZ&-ne{~Uj({P`y6t5WY7slh| zJdZsKz&(T9Z-30)f8fu=0{PR$1&iR;*=M;c6|d4H2mHwRRD624 zW3CQY=Q9I-R2&`0j50ZXY{-2!rutmnY59<`dl=3aC=h!=5XeKyB4mc>-Loa zw+4>C8uH-wgq*!N)#qo0yt1jwP1czv872MoA-L6lQxs^?s8 zt>nQk7||MY@UMkBj;H&JUl`gk2IqrYyNkkosSdbvm7Du?&+;SU>tWvV;Bv|xUp(O2 zyCmc;9dLDw%Xp`LxpMKc;f}d;_2b-W{kgWU7-g3iA+MZY8Q&Q2t3tWFV{q*&S66%B z_7WFeSMU>u+Y?iLu5Z`D9ySkfbI`YFzk|yuHx9?(#-o3^>Av93b8N3q^Ww(zsW>){ zAMg_f_MI=)>FzD@Dr;vd4#FW|qAzs6r;-s*rqXGHH0IQSgJ ze;2*ycxw(mTTwgC*AKWpjK?^(AMm|GJIuMF61NTbt?`-qxV^Z+fZq|{jypp?;QF{b?uokw{N8wP ztQ_|b_=G--K{ho|#2K>iioqrP3_2qKf zasE#S+_lrcb(+?nyI#&WPwj!5ul@0}n64v#DyB7>*3Ei3$68x+V+Pl^aU1W?2mBXd z9jx6i2izKp*2y}8+b3Kb))rhl<|9At2kso}s*hg{xW3HCJf`__YxlO;Ev9wj_Lg~D zi>V#1ZTr)GV1Iy{v+?W87{Fa?<2SZx9k@N{Se&jex3>B--ro%PuS2;q;{yNfaM66g zpB^rnBlzz^d)8Z<;J+Wy`f~6;jA*?%_%rdx_)|>vx%U1Ne~mv6_}}91@sE%PmjnOT zfd4c89se0+a(sqG{y#TkajMVNmDA5u&ZoYgRc;y&pDFaAubFdjV}v!F%DJ^xK1=l+ zgIiN`nKhrz<#MwHpZewMYS&unAKV;7x#_xa{mx$0mNA2CQ+xc`13t$na}EceGt_fD z*MQGGe4gUe4xcxi^PHI4;p(d=uYYj!1-B;P_M85Vd;S5RZzhyG;p)0~%;U)cU#xP^v&D<<2XOa= zD5uU;&$-;%%7Z^|MAw9aKR?uQtWEGG!g<=VzTn2RWYPVp4!HA_Ta)Sj)Um(-^~Nu9P}-^AHe058;4_X#Ulg$y;1g^;g0!tpz9R*yB}wFCaTczvuHM>j_BM~ZJ4xeXgL)RTWx@y+qZ0e?%Z6~?4L@TuRm zbNzvv?>ga}X&t!p)(w4_Blvo;erymM4fuv3Z!GG7ZycM1HJi%0_Ovff>&C6A>#}LM z9^jjW_1rw_t)}%--aGx27KGF4%TYB0bf6?9k&O-t()_mCl7AT%}2fIx^wldt3I|LaDADNd6+l2 zwX;SaXg}FE;69%Z?fV&27i``?Y&$YK_>=k>Kjna^U+9_dNV7D(BihDBc;4!HrEn#-u&)ca3Nb zIk>f!fA=_6#;vKjyeH(raFo-uK0{o?M&n4}E-Kz?I7% zJlru?=a6vDp#!d5l>5+te=wYPSWNA6=jz8f<_PXwE?N_C`^|XF;fMi0e3ZF19Q?!K zT3VNn47jy%{pCJ7;OfZPi&K66u~1Lh#|L~W|3t1m@K1)m#c4cTZu2mYO$YqQ@I3oe zY&+oY5m8Q^sh)GWb(IJI^oZ7+gC7;@IG*l1{+ZB@F*qOGS|1(mS9QRhtK6DQ_cGrl zjtT1_4=$(N@v#H0z0Zc+aRaW7aT)K_FIO&pZn$IaT<2*^f8egs2_qg~gfcmPQk*#8 zCx>!*$KcvmuCDgL?L98Krr@qMw^ye6T;HyP{caxM=Adu!umP7-ZXAxmjYqk<)A+f2 z3-9}%a&AnXQ3u9B18#4E+n3-6#42$}uUV@W!4Hm8^3`L@0e@|*8LyAE2Yj7T_J-k( z`C8%MPTx}Wnh5^p(7v{`3$9IL(Ek=iaIdM()7CT|zCh*Ldef+@K3_M?%NWcD-21-M zil@h^1OE9qBfc1481OF*7r#8v2h38kZ0FWpTxb3pN)hllw+o8CMVZRiU42LSNvHgJ9E|JpDHaBFm3IM-T% zYg<1z#PtJieQu0z#Wx51rZCQ%!+GG&xh1SI2iJ~v#c7?nYvB6b8mA5TZDE~nkLmhy zIp@1R(>VDZVf~G1x?bEGI^R6C2X4Oh$G78*0lzb>({*93ruA};HMicz3~nsOZM=64 z_}yV0tld2WZVjy;pY{p2cFuR6JovQE=B5s~bFHgB?j3M_nU8r)^X1lVk@ncaVXeUJ zEAzG%Q#)MS_NRNn{s1>;- z{6_=+!{JXBe=^`d4!NJkRG&}v^f{GtZHqq(;{tyw^kYog1ONGm){ui+Yx!S{V`bc$ z{&M&V``r}S3k}%PjKgQ(VBqUZ^rzmFfQ;vhjQ1#G5BA?wX`mO9dK)- zT$w!p{9pf_Qsb8*KoPD@s?p)_-Yr0@iSYt8M0sXo`Y@w+z04Q~JI+wmWB@TuH5ruy7?^zR(^6S(uZ`(c_F zH>StKGtd11Zf}Cym*Dp8S@GN6E1q2he_yX*=jZ3eg#&(3TpO3ibpw9c;EMk#=hwtM zjrW}5)dN1Y?ObhwYugy~e@7AAYb?Jit{?C#!}#@O+~D5#`5n@oV&3`(e@=0ia<}L6 z=iu{=c-wHte1YPo)nBl*tNX27S6%7_nxA@7sI?k&VSMJHUGODFG#?JW*UU;V8#;Km4RIF)m2t^AeY7~Gng%gQmG%jHD5R}J{oueQwx+**Q9*M;lX zcwZgUdU9>968czmz?I9tX1HUn&T8SD*ABRHQErU^Up<`nx|rJM&ee}|%n{tVT(l@o&Vx0lE4hzTp@qz(gH`EiI2QKFttQS)|T+a1bKjguu zoH(`5HwfqJf2z-2n+?PLtPZ$yMY$yge5p~k(QwDydW!07JmA{fB;+<7aCMB!n5TZZ za&fcaj=6K4r>*Jwa@TZ=5jQVFncSA+ciuYCqzI$<>SUlc8;4_EU^O?eHI=KH!v}SE-)4xT6>ywMq|C!?R zh5x&>ck##~_@|2J#yPQH$KcyEUz}T;Q#tou z|Nd_hxUstq{vU;F1n$~t%i2!ubJs$-zNYbTYw3O7RWVO_aG!}-Ysb_2bLFm?Hq8fI z+uYpc!HwTqnU7;|<)WNkESx7ae@QF(lEzz>VJ#+ySPTyDqCxvaQT z5&Y6{zVkjl;75$I4-I$BKRn{b!yWUxM%-w)W4=l35*vp1j^N&RZdz1F9{j(#;?5xt z{_5(B=MQ(xS1Gdixbn^8w2tM$$Xb@=<2ZIkL0PtiW{|FrB6@O=k-zX9JTJ|CwKcg)p!ZSAZY^5AlF7Uv0haJjAHpfC<_LLIfFBz#sQ%I+4=%T4 zahZ?@mzyj04|#Ao>#%0XgUi`>x7MD$2fp5j_8tef@5G&p(>~<(CiwbAaQD{>`_8^y zdhRS;1m87wi?_vcm4Po`+`YI*tdxVlytrp^uUI(;e^qhs;y$rj4!%ke{Ix~!ed7!H ze#JA2;QNPuj7eYM#&u4-JwLYyen32@?;||0Xnx@4_Kq-z9m<27hdG!dAf1+G17GOdR-;nTWUk7@keoUETQ zsE7ZKt!RGl4(kX0o_KG(FU%9%SoHD!&@T7~!nw|~?%)Ttk))BjBG1e_!G7_L;x80Pb&pe4zgi`;J(-GVl*ozIuM}|CDoePblYa zGsuI>E!cW|vVImSf*(1K#mg%LpQrzK>-%VZNA25-;Ql`OH*)pn>lj@9t1FlLROf@s zKU4fed@cw7ba{WPX6wfF*CP1eivI|I8+9t@f2zzF^e+!C=R0$KSMBsYy4-i!`VL#) zUwhnu&lvtr&H^#pfX_c%v`*mG$XJbenin@$^U~fQi{LYa_WfNf^8+_G>*>3Fjd%K< zU*GTRJ9UlC_w0h3!}*QD-}Skm2yPv&%rB0s2K@BOeW&op!*>jWzohu=cuqXfG5EZ( zU>qL{4fwml_Y?c>V*P;YwmoBeO?R}*PZjDy2zV-NO4sMOMiL*LBqcsOVJB&mB z=M=%smy6~BZVu<==f}ANenC9bbMb3Md2qQuRDNMm9$aqT#&FTdtHb3kj+d7EdJ%lt zxHMm~cu5g_iNP-aQ_e3dFD}-2Ir!xxUQy)W-x%?`&2itJE#UhV4~Px&E2{&({@_{l zF_rVH%8RoMcg(LYZdCkU=WW>a0DsJJ)Mb9m-8BZU3lFF z-=Vl=JW_tD&$V%B>+#m+c9}IAzI?~N2ikW-Uoqf&RQ_P`*6>};;J&}v_cZ(NX5Zrs zzFy@&E8ZVZ4fuWGJE?tl_EgS&f41+Wer3pm%Nd9M<-z5Q^K0R|slmS;GxRgSH5-x%B|IF6Mjg$g9KU%+dU&b>Qb!W*xp8&#Er?^{q1(tp~WZI6Kri zXTTqhi{j+?`hcGlSH&gaZz+Ob9Jj|8;*J6Te5ikA$b-viS9^C3_-S!Z_ z*_hUWf1{kf^kZGYzgyIoex`NiU#`Ucelsg}M=~y6^jpq#bO9rmR%W`o2$~(vR-GDC_uZ)++$^*VaDF0UH zy}Af)EsWD1c+G&@D~`pf9ez{i80!mT8V`SItRB~vU!w@_`*>cTKR4DK@I^!Y*M>Z} zob|F!)&=~_&|K0neZ+0DSjIUP@{Nm!T%AH^Qc@g}A_*(2(TO3^e!u&<;J9%(9 z=V{Bhz>P`2ub;Em#2ox}aYp0%R=Jak;5WsW@-N2CIruHbxoXq<$hnK)-osvyle{&%t7CwUJH{@ie`^ESxAz5n%Icaz5F{V({&p-t@_n}d6A%SGb?H>O)-pT<13 z&;5KqcccMN_<@wDon8sE;r z?;P=coyWoND!#XPck#^Xfq$iVPx0Qkf57jHZ`RU>|05%(PKn15!(lZzbu z&8@MYe;28b8)_T;+7TBV?wH?L{9*Nf6h9vDC*#o8=O@Jv7QufSk9E$^ijNn;pNe1R zKQI2O2>uJ@@#~J&0e9Y?<5wO3r3n7(_N`K|dZ#h(_ze^yj}%Q#lXXDyyx+`YNXmV?h;e1GwM@$4LYj-sF0=PX{) zxWT_sT)cIhYvk48av$luxr_4Pav!dIo{?9F%bk?ZJM!vqxfAo}jJ!HrPL!L!2tMC% zalrv!AQph9@F*Wi^g+fv2abnUF*e*hc$-h6~R9gUTdb; zAFn}tdQFn^8V>F?{*3B;KD^F@f4X*-Yz_CyeLe#2?~^ZG&fjmB2bX(c@g*S-E_XzH zw)5n{Rep(ehd7@@<&#F$;hk2<-SlI*KWzi2!3K5RUNq(R0b~ZJZ(+oT-_IzTRN5+ z@E3*G=oc5iTLf3WOuQtP9dNmqh1^RATpjNdJP)UGzFg&4A(kKTm&b}-NA7(IxM!+o zrLlQ00Pb(~dH#4F-8A4UmV2W4zM|+DT=@?wUuopk;c~yI&MS+z6~R6G&S{NS9(i@R z+}V}CYUI`7a@x~}xqzGFS!1o82kUOlUmec1Uf|Z0TT^-PAJvw>k-5rn$6VgCc-5jj zxZG>PYs_jzaIY;~wCBOy7Z=x#*A({+xckTJh}RUaAK;f1m3v)z?SQX7;A;%{Okqu5 zH{3B-$7=^S4{&o(K5IAzS6_VnaK~J~;+n%9b7K?VFx)YpA)X&^3~K;xZA7n6)4FkM zDSEx);BN}+;CF2Hd`TbMdOy_vrz@GTu`8;v=sPms=};UM>$Vw|0Ks$g9KU{H)?<6nSttar!yN z&obQ4Hc#d^1_zh_dE62|8t|Lrp)kJR6v55q&M-cCaJg^i#wQOh_k-N{(=NJHVyW0N zruzK%H^eIO=2&&W-xS)^-f9E>pV7{bim&e&{D-k!zQia~&ew>YW4_pB zz@HPl#=kpnw<7rNqg)8WtJadG7G3S6A|2#$WpW5fvPy6=9yaT>%=u1Dw1#V2nZM^H};OiFk`}2JBBKY6J zIP^c&=hjqz`kB^;+b703cUUKIYxMi#Rx!<&&l>-TzsGC?Zf!(4*8$u$(2i?2jgxO0 zUUy~<&nA^Zu-2A%WqgT7w>Pt{VeUZS#Em0 z=JInCAFLmF@CU-rqYoA3!R0p2H;Ih~eAC!GwusFJe9PD>whsS(41RU}s=rN4?eJ~G zzbX6owYNljQtpLCaQQVun`;!ocL;s_xzB{B_W9r9yy|=Z$htAoA~eFlkV>@?^wS}R{qu^_;+IGeCFa#Mev!% zvG|wT1HV6JsLlTrf6=u7|7B5MYsas0@Lw0VEp8XT$-#eH{9A4E4F-Jk*fsuI&flp9 z_qV8x%UB;Tg6}fwi%-`k`0t9wWNg1Lg6~=Gv&GxGrbidSmH#R~plD6Nt&?cZf2a*` z^ESUfjdiuQe96xHZJ6`ZMeqaTv3N9|>0IzX7I*2~UBka0fM4F2u5FL*mLHLWf4KOz z;_h*7dGI&3XZMir_zgMuw(W;KE7!+`oeMtoV+{HN|9)5xWBq4i12fgm_Kk$Er z>odb#|9?GQQ~saIkEnlRn6YE3c;O{KHEA+#`<=-8~{N4e7 zPw4x7p)YX#%R9&Tz~3K-*U!Pl4-EJracKOgwf<;%@DEltU-Njf@tP0#Peb_g~KJ@jW0XJsjIxMF3;fKeE<0EmzfPa)XhL07eb>JUY9`c_U@K1)Z9vSL^D|f#0 ztSk7Z;wO#yhhZ+@PlP!-p4O8qH_n6GM@JRGKRx0HhCAk;8SxdZ2?t*>jQ^?8o;JC* zM7f_A!OfA2t`YdraZDT=({<#BwPrpq_Zhl>PXPD+LHulWIQaT;Xnpe&D+6D&HSnHf z%B#cWmMynQymY`fkIiDu>iuHCUmx34zIALn;9JEOv1@EO;48#Vu|w=U;4g_CjM@dlc7>JqLWPcv~DEyASwbu}{1x_8su0W3PB`>^dRY8b-=CX8+%3_8s-OXZf_{QKCCOaHGNC* zg~hds;7i4u@`Hi?P;6IA*#U1he0lzbr>^yBf zuLyo)ygFYsUNhjo3gyQ1>j5`5?djvL0XJ6ty|#0v>&Q25oVQl~y8N~x_-bK1`f`oH zR|$D@o7S0|&rRdu_MIrV{(x^5#<@lD zZ$IZG$`S)OdfcO>q5eQ#`HXZHwT`cHX}E>ACTO z8>@M}q+|Vq>)Tw+<1>|kA6ztE?;njB-21f85BDAf%DuPyLdbbf0xs{pf%h5S4}qT% z-eY`m94q7AM|qF&rH}`gQ|^6-WAL?N?$+YV9iP-Z!1rnF_vB~h_ZGpw66<%)dcnb` zymO~={?+(N=f0pmW*+caLOpryfp1vcs`^*X-19E~Q14s3PxXEV-1{8AGvRjuyw?Hu ze#h?31o*k3 z{U<}a;NCZDPajVg!OtuIyZrp3_Q17eY{q3C;O5|WA}%QJ_aeZ*7Upi=)B14l_1@GP zekS~03ixNreXw|J@k2#$pAp@Zf3|pY5q!7yz_;^Ty|KR_$!*37cyuSN?s?QIK6RQ7;;?zE0EwsN#aT+III8Lel9_7pr+}wQD zwQg%P&6j&WdvfI`#k4;BhT8En&^GP6U*zChho6H!64UkNuFWS#xu4^p+|PFR=ASH1 z_eZJS{F5q7;-c@{Sxs5v)e3RmOm7fy-t`7KGm2Xg7 zKc46_9q=C%?=7wv8&wDVsm?pRct>2GgTK1`X~i$Z#g&0yQrxlrH_gw?!M|Aaxykg| zn9owU&&7PE;&YbiGcN9PvYjgTS(nekz;)}8NN+_myu(7FF5 z-!5OdQ;^;i7V1j|&I<;+Uy1Ju5EB!7nXd9#_O=1OAP{mBnXQ4}7lTRmH30+5x|2 zz^@zd>*I#_SI>y4oX=A`H&$+}-yCpb{#F>%G)``8#(HzyG~l;{`8oI20lzJ@qwehk zen*&}HoraKcZPZ09d`}*Jz*Yl_YSx^%9WWT_eLD~3G=Zr?o`?i>3K+}=`OJ>vkkC*{D`Vv_hH0Pk zS;F(hnC8gAjmy4&RZR7{Has_8U7Tyc=MMM7Dq#%;wL9^mfDCu-mGb-Ew9d(k~1}c>hL$mjOAvCi_3#w zSiC8|6_*b9CE>mF?D35p{IcS;ab;XJ;CIK|<>!cNa&UE(JN8~0{JPNpi^3Sd%~d~s z2GAF{@qD_UG0frS9NavdXWq^Qw-)9+t&?@&%DMHjPT=0_zoqi~J5~?edRxD>LVMtA z51ccVbLXuS>&9K33x4nLdy4Yl>lN3J4dTv@!M|PHu((lZ7u=XOF3L?~;PT3qZ8G4- zdVS~I7v=%3oSVNqxa+c6<(tQ*1HQ$8Z#Cds#@4aTaK~JoZDYHT2bbGEb_jWJxwpoS zArCIMa~RW318!`)hTJX#uFl&+ZnptfXOGb4?gOsRy}~(r4!Cpo3Aw!oT%G+wZr=e{ zN4s+R0axekVO{ngaBFu!SQmM4xdX$x$b-whBdm)&xZFWu9`fLF?;6MNEJDtC?+)k4 zgUh`q-WyXnSNHw#fq3759~|<|aSX0pUx&oh4wn-T9qyQ`FMe>iW3I2m;_&#;fFCjV z@c)$akHp7D{Adx%>2a)#E7z}h)PT!z>T2(}n98}jpBv@+hjMj~j}t;3 zT<*kB&;0{#yeEZv^5AkOhqmOwGH7e-!|a8#uXvA*MO_@jgZ@Cz}2}jVR~I4{0E;O7n( z?;7y)3 zI&%7(>T`MZ%~?HgZS4{}#Y+c#nOHV<8)b4_-93k|P=s=I_YS$02V8#NkXv=Y)!8HD z));Vgb_}`I2V9-k#}1=Rj;p&`Y!~w2a<7POLLOXh#n>w3!R59X{-Pq3tGj8)Ej{4! z)=ADTR#VvzqRP!2`+9qTm1LUoL{r9Y^=? zk^WEFPW=oCzH`y{%6zkbvwCj-W(NNC%Gc=M+??}hZGby($2cb6v%bI|?e}sYZcN{e z%lml~{EDJ-zpLdK-0y2Ce`FjhVm(oxOs82_<41}{SM_R#gpUW0ly@a zTaQx*{Fl{#RjeFmb`1WN;v0&7$93KM0za<3p#Rl7HU{vcyAJ9*_l*Po%Fw?)i~(Ff z+jO3}eXlhJH$T6FVXePk8MyVfZu^&;vk3n7@H+#>F#T=--@N+Aw~ze(#-p_X{#eoP zz_>Qk@0@Vg$9h}S>GxE*bv18mYwqBihW=0M*ciYcul=)%`uJKATwnS(H)8-dKlRPw z>>{|i_}!2d!|#WHuM)csU$-$p`OD*3`HbOOfV)1k6=#iU-T3UW!zh1A5z2p8J3AG3 zj7Z~F&A zYYo(jSgCSIxkE*rX_X4LwH{m|5L7y~r33=Ba_2xoA`lR?pi_ce;SMGN62d8Mpu;I3 z#}pMRR}H7sN*RuV1+?!M^L%Ic<2|4EKF_ny^X%@k&v$>D-OV8b?ipz3aDpaCxFU#{*n_Ty%`UFD`Cc+g~kjvm&_X9B;~R4$n)1FKk=E?Jsa+ z;^+O=c;4cu9Q>b(Gb?jsEE@2CjAKIHxdX1uyf`oB5BN9ZpJVOXI;{vkB~H)36DQ^1 zGvbWcujMm~;M2o)S!YHO+GF&|90!Wr?`GxQX2Tdt@F1<>u*#9SI_L26-N*FocKnZ948F;iLosB(g8myl)pZ{ zIpBAVv^$1d=06C}H?I+%)d62Cwu~)eN@c*`UR)Ma^Gl21+l2Z&m#$85&#hbU`krOA zF1Tk~zgYSgVsdT9zi%J5KVAs?9o+suGG@mm9YgTx<=LAqqw~Y^W?7;uH=-m-@{atl{tIxY9-ZPn&gYRDS&WQIz4$Q&#FFL;V z)saQ;Ma7-Vf4b;-e(;CGv*)iCz3%}2OgKkvi}MtGo$$QpjPT4S__WeJ%k5ZtP8{6v zbRHbivU36ak>cFq(eb6qfbUh5eoV~e!Otts8|f=@NWXBT&(D|V;KvugR^$tF@Y6^7 zvH90{@Y{+vhW8Qvtq3m9I|~cqfzrTN7rg_*AIrhL)8SeDugCwC2L5Q#GyDEc%X9nS zzg0Y|xo2kk=%M~z05@jOZ0wyA`?L&xOwssUp3f|T-_!nFReUsV81RQmzqxo*+%n*| z#zXOw@*ggOzfiQk_2j=vF3oM(=`4+rkKW8?0E+}H!(YeaJ*2RAQzM%J_Jr`8wnZxz=q|KTOG1ogr;O2YtjXB?(1AcUDT%PYheV_>bU~H0aI?|-` z4MX|^&$SH}CB;D^Ml;Ijw(pm41s&$SG=GRMWqar}UvFkJllfG>!X;*^mlkDnOE z&w3qC&z*z6JIpucR&x&cw4!-#px z7FWh?1Aax^6W7MQ1AbTBA9u#2JijH>e_dD)+&b#_jDvX=+VCz>UeB8)LuhI(nDp4DeTDNoCe<`J)5=@+c>N*OtMzF76l0WB&oa zp*p1dcJ+!P_!-StAF16B$A<>|m*xLy@lRrMZ-o1sQQU60W$y3Fj~74GdfOMlw~gIu zTb-}u;O@okQTp!j>m2;`;$Ii{4)+|vZz?V=+858)Z*cqMM@8FkM-kk%*eCYK9s{nA z-aGTo+0-0d+xFKf`LC-R{1-*8HG9MR57vOR`TV_t3a~ zdr|53;VzX0|5)tWm{?KX=ZfI}S$X@%H^1F;1$V#o=JI_P^p*ktLEIX*#hnB0Ta}KH zw*RaMuKnkWj@jgWH14=v&^D;+ydt9+Uy>N_#!5BR(|DvpZ<1AfAA(R$$45f2`2 znSW(O{~sX-_kR_NQ-)jS%SN18dU4wk{Ci}DUFg5Mec5c7sx=JM}vod@EF1ODKE z|Hpv;I9A7zt#|lLU2QA!%a7N02% z{K>&nZ%OAjmVa1i`|u*TK3MPc;$&UEFy3slJo$KfloOvBt}Oq~i1L0m;LnDrE)H({ ze$qO#+AoI`!4ECkkLsLR1Xt$~xoy!maDBchw|(-#<=H;%*uUWRr*!+mGPr(;+Mo23 zYgZpc{R5Y$U;1j>!5#PY%nFZiuorwIPt*f8H9-l#12{}s0=UR?f`MevK_!})IUkpZ94 zzSzF_@%Z1?1%IWeyla5Z5BOH0pD)I=9DG^xmU8l~53Zgs7xncM1FpaO7JX~ay(w__ ztB%hX)!zk0@C)O#d|`Zhz|RPM(EcZy!@-xvU$u^H{8SPAb8&cnLmV;SuCZnn&#Ha* z%fQ{k&R3ytMss zTxBjRf*%`~=MNR-gUefau?r|kfDf7Lgwf3xM^81RpVdBb-(*UZ7+Q~aISpnmB$xcekJ-EDd~R{Re-o zI>6r@w%vBGH{h?Ae^uq3Q@_f=?aLj?e_KrUCx4@KbtyNghf8JR@tZXHJA(UN+PC!SF`4K24$W8l7ymw- zbKvIxC0)aRH>?M4on^(PVLfo`nDfo|(`ygheQRUVcr=fKn?skEZ$2}w!HsEitb47K z^4#(DJ3b{Qzwi8ow#)g>{cQ;Tj__OVcY89=aC6cI<@sHg4=!)Bk^cT7q$|tK3G%_s z8{)M3#V7NKc}1FI#=#vo^Pg*p$=}7?b%^MigM+UV;^xCGbK51FyEwS*7R_;!{lNX* zEE-E3+~1XtwT?OG;sM{W@vv5Pt{EG5jKJOBxU}Q!TM2*Dx^I$yIe#;~=sT8>_e#g` z^2#4pysQX*ciZQ?xXWAqbmhQ5Goo+na`2~WcSZTn_U|IE)erDji|W53)C+!R^&5}I zt}zKd8Na@rX$*rOTm5InqU!VA0&w39{#otl_dV4KuKz2Gz9qb4b%3AWI#-tN+}Niy zaOa0_?#?RTzw?044BzLp&Z^o6x85tY>su(kzXN_$>Ar8Q?NeJ9T>DoQ?W5h!l+t|{Sl*wP1}@+CjbE+pxwQ#?Owo5rw6U}@;M(!cpvgCc+;iZI%b(ga z47ay@P36Gv8q1>N1nzkGrqQ)6-