From fedb48f21e718ed467af78819fb8e133871e32e6 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 20 Aug 2026 08:48:21 +0000 Subject: [PATCH] [feat] baseline5 fused linear+allreduce bridge --- .../python/patch_fused_linear_allreduce.py | 186 ++++++++++++++++++ qwen3_6_scripts/patch_ops.sh | 18 ++ .../ix_full_bridge_fused_ar.so | Bin 0 -> 185696 bytes 3 files changed, 204 insertions(+) create mode 100644 ex_engine/python/patch_fused_linear_allreduce.py create mode 100755 qwen3_6_scripts/prebuilt/corex-3.2.3-ivcore10/ix_full_bridge_fused_ar.so diff --git a/ex_engine/python/patch_fused_linear_allreduce.py b/ex_engine/python/patch_fused_linear_allreduce.py new file mode 100644 index 00000000..044fc519 --- /dev/null +++ b/ex_engine/python/patch_fused_linear_allreduce.py @@ -0,0 +1,186 @@ +""" +patch_fused_linear_allreduce.py — Fuse linear + allreduce into single kernel launch + +Current RowParallelLinear.forward() does: + output = self.quant_method.apply(self, input, bias=bias_) # GEMM + if self.reduce_results and self.tp_size > 1: + output = tensor_model_parallel_all_reduce(output) # NCCL allreduce + +This patch replaces it with: + output = ix_full_bridge_fused_ar.linear_allreduce(input, weight, bias) # fused + +Per decode step savings: + 32 attention o_proj + 4 GDN out_proj + 36 shared_expert_down = 72 RowParallel calls + Each saves 1 kernel launch (~10-25us Python dispatch overhead) + +Usage: + from patch_fused_linear_allreduce import apply_patch + apply_patch() # call once at startup +""" + +import logging +import os +import importlib.util + +import torch + +logger = logging.getLogger("patch_fused_linear_allreduce") + +_bridge_fused_ar = None +_bridge_loaded = False + + +def _load_bridge(): + """Load ix_full_bridge_fused_ar.so (prebuilt or JIT).""" + global _bridge_fused_ar, _bridge_loaded + if _bridge_loaded: + return _bridge_fused_ar is not None + _bridge_loaded = True + + # Search paths for the prebuilt .so + # patch_ops.sh deploys to vllm's ex_engine/ and model_executor/models/ + search = [] + # Dynamic: find vllm install path + try: + import vllm + vllm_root = os.path.dirname(vllm.__file__) + search.append(os.path.join(vllm_root, "ex_engine", "ix_full_bridge_fused_ar.so")) + search.append(os.path.join(vllm_root, "model_executor", "models", "ix_full_bridge_fused_ar.so")) + except ImportError: + pass + search.extend([ + "ex_engine/prebuilt/ix_full_bridge_fused_ar.so", + "qwen3_6_scripts/prebuilt/corex-3.2.3-ivcore10/ix_full_bridge_fused_ar.so", + "/workspace/ex_engine/prebuilt/ix_full_bridge_fused_ar.so", + "/workspace/qwen3_6_scripts/prebuilt/corex-3.2.3-ivcore10/ix_full_bridge_fused_ar.so", + "/workspace/qwen3_6_scripts/ex_engine/prebuilt/ix_full_bridge_fused_ar.so", + ]) + + for path in search: + if os.path.isfile(path): + try: + # Use importlib with RTLD_GLOBAL so libc10 symbols are visible + import sys, ctypes + old_flags = sys.getdlopenflags() + sys.setdlopenflags(old_flags | ctypes.RTLD_GLOBAL) + spec = importlib.util.spec_from_file_location( + "ix_full_bridge_fused_ar", path) + mod = importlib.util.module_from_spec(spec) + spec.loader.exec_module(mod) + sys.setdlopenflags(old_flags) + if hasattr(mod, "linear_allreduce"): + _bridge_fused_ar = mod + logger.info("Loaded ix_full_bridge_fused_ar from %s", path) + return True + except Exception as e: + logger.debug("Failed to load %s: %s", path, e) + + logger.warning("ix_full_bridge_fused_ar.so not found — fused linear_allreduce unavailable") + return False + + +def _fused_row_parallel_forward(self, input_): + """ + Replacement forward for RowParallelLinear. + Uses fused linear_allreduce when: + 1. Bridge is available + 2. reduce_results=True and tp_size>1 (i.e. needs allreduce) + 3. No bias on non-rank-0 (standard vllm behavior) + 4. fp16 (the SDK function expects fp16) + Falls back to original forward otherwise. + """ + if self.input_is_parallel: + input_parallel = input_ + else: + from vllm.model_executor.parallel_utils.communication_op import ( + split_tensor_along_last_dim) + tp_rank = self.tp_rank + splitted_input = split_tensor_along_last_dim( + input_, num_partitions=self.tp_size) + input_parallel = splitted_input[tp_rank].contiguous() + + # Decide whether to use fused path + # CRITICAL: linear_allreduce will segfault if NCCL process group is not initialized + use_fused = ( + _bridge_fused_ar is not None + and self.reduce_results + and self.tp_size > 1 + and torch.distributed.is_initialized() + and input_parallel.dtype == torch.float16 + and hasattr(self, 'weight') + and self.weight.dtype == torch.float16 + ) + + if use_fused: + # Bias handling: only rank 0 adds bias (same as original) + bias = None + if self.tp_rank == 0 and not self.skip_bias_add and self.bias is not None: + bias = self.bias + + try: + inp = input_parallel.contiguous() + wt = self.weight + output = _bridge_fused_ar.linear_allreduce( + inp, wt, + bias if bias is not None else None) + + output_bias = self.bias if self.skip_bias_add else None + return output, output_bias + + except Exception as e: + # Fall through to original on any error + logger.debug("linear_allreduce failed: %s, falling back", e) + + # Original path + return self._original_forward(input_) + + +_patched = False + + +def apply_patch(): + """ + Monkey-patch RowParallelLinear.forward to use fused linear_allreduce. + Safe to call multiple times (idempotent). + """ + global _patched + if _patched: + return + + if not _load_bridge(): + logger.info("Skipping fused linear_allreduce patch (bridge not available)") + return + + try: + from vllm.model_executor.layers.linear import RowParallelLinear + except ImportError: + logger.warning("Cannot import RowParallelLinear — patch skipped") + return + + if hasattr(RowParallelLinear, '_original_forward'): + logger.info("RowParallelLinear already patched") + _patched = True + return + + # Save original and install replacement + RowParallelLinear._original_forward = RowParallelLinear.forward + RowParallelLinear.forward = _fused_row_parallel_forward + _patched = True + logger.info("RowParallelLinear.forward patched with fused linear_allreduce " + "(saves 72 kernel launches per decode step)") + + +def revert_patch(): + """Revert the monkey-patch.""" + global _patched + if not _patched: + return + try: + from vllm.model_executor.layers.linear import RowParallelLinear + if hasattr(RowParallelLinear, '_original_forward'): + RowParallelLinear.forward = RowParallelLinear._original_forward + del RowParallelLinear._original_forward + except ImportError: + pass + _patched = False + logger.info("RowParallelLinear.forward reverted to original") \ No newline at end of file diff --git a/qwen3_6_scripts/patch_ops.sh b/qwen3_6_scripts/patch_ops.sh index 5ffc8fc4..2c392849 100755 --- a/qwen3_6_scripts/patch_ops.sh +++ b/qwen3_6_scripts/patch_ops.sh @@ -312,6 +312,13 @@ def apply(): _logger.info("ix_startup_patch: %d hot-path patches applied", k) except Exception as e: _logger.warning("ix_startup_patch: hot-path patches failed: %s", e) + try: + from ex_engine.python.patch_fused_linear_allreduce import apply_patch as apply_fused_ar + apply_fused_ar() + n += 1 + _logger.info("ix_startup_patch: fused linear_allreduce patch applied") + except Exception as e: + _logger.warning("ix_startup_patch: fused linear_allreduce patch failed: %s", e) return n # DO NOT call apply() at import time — registry subprocess would crash. # apply() is called from qwen3_5.py model init instead. @@ -479,6 +486,17 @@ if [[ -f "${EX_ENGINE_DIR}/csrc/ix_moe_bridge.cpp" ]]; then done fi +build_stage "deploying fused linear+allreduce bridge (ix_full_bridge_fused_ar.so)" +for src in "${EX_ENGINE_DIR}/prebuilt/ix_full_bridge_fused_ar.so" \ + "${SCRIPT_DIR}/prebuilt/corex-3.2.3-ivcore10/ix_full_bridge_fused_ar.so"; do + if [[ -f "$src" ]]; then + cp "$src" "${VLLM_ROOT}/ex_engine/ix_full_bridge_fused_ar.so" 2>/dev/null || true + cp "$src" "${VLLM_ROOT}/model_executor/models/ix_full_bridge_fused_ar.so" 2>/dev/null || true + echo "[patch_ops] deployed ix_full_bridge_fused_ar.so from prebuilt" + break + fi +done + build_stage "deploying all ex_engine Python modules" EX_PY_DIR="${VLLM_ROOT}/ex_engine/python" mkdir -p "${EX_PY_DIR}" diff --git a/qwen3_6_scripts/prebuilt/corex-3.2.3-ivcore10/ix_full_bridge_fused_ar.so b/qwen3_6_scripts/prebuilt/corex-3.2.3-ivcore10/ix_full_bridge_fused_ar.so new file mode 100755 index 0000000000000000000000000000000000000000..4b482e9d24b617aa0c3b1eec7780241f3882ff9f GIT binary patch literal 185696 zcmeFad3;nw_BP%D0s+B}2pSPJU>v~(lRz*LqX{9z1)Z-BI-}wqbyUPr11LepCE$iKVY@|w!!%KSlclY zcR)Dgz?=GoinFe^M1@&KJa20hj=cIut2$X%J)M--Y}PsA+H{4=&${aA1|n$fVAYPb zNAZ5&Gp|-U#$vkmLsb0sqx)Wq6|`B`1eJ|#5U#9etn$ogHY>h$E&Rk=#&mlh zSM7_up2EuDXI(AXpNDj2kc#kc{x!S7Hrp&ORz2sLnOav<>b4V*|1SKo-h;KWl5GtT zU4m`+A+{TAx&0q#IN`9uhX>fMzk5~9XveI6hmEtPTt98h--q-YSZM1vrk`VgEwR9s zFfERGeTu)`_%ra=g+Km6`1=xnUlEwUZd|{?-}m_2V{*UXy5GF-F|Slks&;?;4Zzv@t1@@>vun}1 z=O?Bttjm7+@fR-am-_qt1qjTXD<4 zXD_ds^T})P{+PY3JbyvWpt=+O{O9*Q-#bDh-g$It{@b4)^1!LL+@AQwM_UffUgh2P zR^GfTLN7hgK4g3TSLgrH_u_>yRpq(EArngg+V$%rqVwMmiO%14DCDZ8w{D*v8a@7o zkR_+DIN0&op3_Usbxajduh%qh-F^-~@J2HlT{xin7 z`|*(I`4nK>MazFB>K~2&Foyj95u@C*W5{_F>|V6|?~T!qm&AxaAqKxXh8_M4a)_q4 zoiXgd@)+&iO3g@>vx_K6Z3Uw0gb= zxkclfAh&4!IIn+nK08Kz&PC?Y^7$0wF&bYHLr)$@PG28I3QAQP1Hq`tdPj5-p!`_ULl>3iDUA_@~6^ zuf!Pg86Bhk-^H*?3u5T!r7`5`jUk7dV~oeiNzvQY978_eL20Au$y$)n|3 z8>2q&#jrEev5<;ZZZXDtwEXXiF|QpNW4`__#(cLnhTUEmV_w)ALk^Tpv~jU4MteVm z9!6`|*D?C{vKV?h9p%FG9q{{0jQ*V;!yh|0hTL|?@avv}zZ9+hbs(eZ$%Gho?1C8f z;n*1Qm&TYcu8Wb+%oy^&0hNqa|6fK#=kJd(&pKns6V-{T4{Kt~U)~t){r2eS^?5Uf z{n-{nZ@-P9w~J!P?M4VEntZmzuuDBL^1m*Iop(Ubqv?q^hI~fGuwzSN$p4BM{hkv; z&U=!hw|9JuadB7-yK!lZ_?N@JMU&@*81q+cjC`($;pe0r6+QnKVzl>Fv^SdkpN&zU z*JIc#ZqG$)SLT@L{Q4OE@<@z&o*#oxh#{Xt5kFde@?w;`FUI^e0&db1EuXj;`u}W4>KaaAm-({Yk}7Fax%sT=LCsMXWaSc@%m`KDk8^zcJ$%p#J2$vlMZP z$>&MGApSBHAJvfGhob)&d?s&=sg7jTuEL0RT?;>l?X4e$0fHZjlV6wc!)%AQr~)nB z%Yyx6eQYkpm!Tf~-8ROo=T(X?RJ5(#lv`@C;$JoS3sBr}LO>X~BJzuc_9rNduKKMu3)dQ@e6nwif(#;Eo-M99Gg{b9S>?>FmX z#(xxcn0$*v<#R5^Ie(8}9Fbo$L-Bmxz+Vvgu>R8?Q-m4a_BrIl_=SEIkIy0a`vc@a zK6$0WZ=3v3Q*O<36){-_+rB`CjNksaA}qaHV&-Er_3afi{L$(m`}}( zinz$+AAn0)bxefja2_gQW-H?HwJ!IaNoP(kwTcdAU5sEh4*@#oR5<%)nCDZg~H zzY5P(8O$~LT2r5E&QrX{SHTWylI|n>*LipO*QSwM5}w;?uC`rRqi@(Nv+rIwz-{i3fyI$TF=6YIMGBilKG1~DlB@4yR^Q!<^`{}H(^SNXrA-+ZtKpi$}Cm!Po0>SdTM>v7NUc;}Q?)TszU+1yrq732J>(sEDf6`nFg zWyXt37P)gvuk=;adQ_@#{wn?~&yp}BCDtLGTLd{D(ywxtmavNMi;BEi=!r@Q*Xvmf zJgcZ~az$00r`DTaS$IxqrJ^ReXM1YWQ{6>wPi2jFsk_!wgHElkg|PC?L?tyfo~p9^ z+2<71p`aSCYU~xBrS4KR+lvln-jY#Ts+($1=dGG`O{`Bh6Qs>)Dg zov)IDlhziMEVi2Jz9=oDqTXFsvB>8xLBvYmqFL!B-pO-3Rdv<1lGQ}?`Q&My#TBKV zOvtLD3^icZ7tK1SH)d9qXNhW1{wyZQ%&o00SvuRZz_}{ELk(4vJ%;PPoSd^AkS+aD#$GxPsq{dxV zQR%K*RK0{n&v7F%{y(1yP~EgtRgI}7bsi-lp(nYkYwCL2FbRsi2;!Vo1 zqM|9DS{R1hI;yOmMv0IGOfD^1u)vd^$z~Nm^68U3wYAl?ZeLZMucoHD*6YEbL|7%l z@{3Z#l}gJxzpBgwyW=TS@^@C&EQ0RVRa7lp#RlCT+5nD5kog1x%jK5*GOCP|K3Cvj0t4>5~ske$Y}`Y!*s|Y4eoSMzjhVCW9rc zI%uZqer;$?T3q2-5@l4y6i4r}Vb114IH zbkE1wbLx`Fj~t28WJ|q&?I46a(t0KB#t5$Ul=(_MdP$J)fi1UW9bg9j}kZ^TrIFd|_=KNH+^xXNEdrG}-)X0gv_4>^AEb>4B z%o$Yj;JodrFZGB4H3Kl|RWC8`7u0(62!%@vs>|4tJedvC*$j9J=a!cGYSHB!7nq8} z8Jfyfwy01|%HFhzwZ1BEMJ4j2Wb@K!8`vnVo5e5j9PdwQ)0^TlFM zex+@3T~!U#&%1yjS#VgZd~lQM)6(5=`P}trE_BmbR9DJ*xo~<#AtVCN2*$ZEZKB(~ zxCGXv&g=G;EX=ROjCK`0H}^D;rDx$POoeZWBK|{>qp6U&(v?{pMs$HO$}F{mKT}k9 zdTDiKO-ZfCREe-;djueB{OMY&+XB43?yFMq9u zv0&5m9-z^A>Aig(StS`Mx&od*XL_ckW=e2*7`*KGIYm&b!ll$m@$}sE2te@ScGea7 z=F<)66T{NmKBQ={%BNSe%@}oVrQhOe*LqBgz`>n{_SLvct1*l*mCJnM>Z@?B>e4IR zHPwqMN|)xR=c@?@`bX2MT=z0hWeI%`_6_=d5`2>~85-u;$bw&8>En_jzp}E@MiV3| zmp%!~Oxxs!8|SWG;I2hBFz1zC44kV_bK33M%Dz}8)pFLe;PfjCi99Whg000$2nm&C zRcj6<=DyrC7*4Mzk2bCfGl0k;3vI6`byusQg?~LIm9ec5RE{Q4-1rVMosu$JeS5VQpaK;2N)mO2|i!KB; ztpantX$j0ZEf3avy05B~t3FV1@-w1*C*I zM~%U79EdaR-(+ES!@rAW%2b?z$yHcc!@`7%f$=C?T2)esF;`krC))=Y?ggI8>RS3B z%1r|^w`7seqZ3Xnf9iGO+{K>S1z4n7oHgrDudS{uvYa@vrlvd#Ypb#P!-j#0C2Tf! zL1;TH2g2jc^?GZ=>8HZcGK0)iuuf{eqiZ&&wxrZEpOdMWt=@pV60DI9Agf_*>*;%X z7s<8@*HCm=q}QPc^z<&M@RqA4Meo)sk6KnobZk2{Nzi{aVo{}qSJqz40NZ7PObT|dQl0?cV4NaSb7F2m)A5{CrQIP5NbgQ7S z-YllGU#2Svb^)yg*mR#4OSB70YOB=R4VvX9%CASw@+|9V4SdUXnj_kR7=W|jvWw3= z3tPc30=`mOC{rOFC3SslL!POOYI`$6LltRd4O3yQ7^Qh>(zovUT#gi;vl#9Xl{vhE zsN`Y_ifHNVd?+b)wcz4gQ@y*ySI=Ib=$^`zF_xkwQ11Dttk{ygYH^6<9$pXaO4y_c zX?l%wd^K1Fs=BKC-u0%$V^Gwpu;&(3U^R|;i~F+&)TL533`zU28^wM0GIt$JTzK$> z#}8I?ea03s1|_#s)Vz*0%&clJH@vVdMu*kx8PPG*@l-1^_@NoKk&dXfF5~L`8l6xmb_P7x$j3huT8lExQ_}Q4@cysf=hH zc6OsTFC%vQBq(|Vk=?&-VSajA@4)d@Rb1)wV28Af>ykpX)vSgiIVZLjL?T#?ODF$d zB?z$~=3GMy0;>>v;!y1mD>;^oVU18zxf8=wDK-N{q?m$r?N^e7<>FLTruHGYS0&Of zRJ#eLb%piStZP)8L-U9A8NCQuRhk_H8>r@Xa|DX5G*<*{pKNMXd3$|OYZvR^xVt4q z7!zs-9@+ex$ktX7;#&sBbm)N1Ceo8vx2onDC49sKli{kwJZm06euugMRi?M617W|rDFGIE$%PO!}^|^sT7ZJW8 zc2mPVw44)gq3qi-_vvbzC~^iWJje3cdkqX8ONKq9Li+e{8YWwwJY4!;=gFsQo;>bn z6-|vbK~0T4K}k^b2@2UoouK-7@)^pFXW^L2XJH;vUVPZI;~K^C{-t-!4gB1)vam&& zgSAb>qZ(PUXVxs8k3o`_W4sC=iRM#io;N%QKt`-A+nAB#LL_c32#D8;!`Sfhmg8wZB7ZVHbrC=hPkW0 zg8Pqi=FWoo<_3Ss{EEeCTwT>wxJwt|F@rnLAKX~*5!9)${N&YuSy3UAp3~chG z7ze@RkO>cpnJ3_EHXd!m@jiUd!#dY!rT$gZ*hNzhRaaDgRE${Uo<-)pJY&^=kPj7p(0 zv{=`Pdcll<`axd&l1drRrxpADBPu zJ35x8HJj(QTg>n4SiJQ;p>+{_p&5Tm1i$+cb>6fyf^Rjk5y5vitNL_D@Xdcv{N4zD zO_Smi%=6(^J&!fdLnlY@15JKh1aC8OW(41CVn+nu{*WrSFoN$i`FRn%?O_$aID$_! z`PC78wpq`X2tLWgtr2|ZV=Djl2;SDB_#F{^qIr(FJA%L2JlAeB!!3E1n|wk9Ztn=kj=@{Kt>8vk9Gwb|Ba z{O20KPUEe2MHswRYnRS%(c%ZSe605cSd~=#S?#jkkBH>0_XQ$(hpBhuztHk8)Oftg z8_vHW2Hz5cpQrKhEX4ekYdpW5W&P?kp5M{3eycS8TZ_bXwZ`+CT-I-`#*fhWbsGPT z6&cqp8gJL)r<(m@$=6DfqxF{--R97EylNHx6>7Zot_TC?X}tCB3i)D<$EzvfU%AHP z)sFD5UgJYy)@Eza_+vGGmBuG){Az7H>U^^nKShh*ti{*))mr@VTKqK{f2zi}XneND zuhaNl8sDn%Gc;YW!l2U!&Di=aaPf);mi~maOsDX!(rOc>SAosTzO17C%$t8#O*h<5z0D zL*rLze4)mhuR2NSJdGcs4X|R3H(x1}_^UKI=zO^r-+IT432HQcwdA1wS*zuv^YvQ% z+qL)&8vkdFU#0PX(fDSKU#s!!v~qQRwHDuW(InLxjsHx`XRXFRq46ym|Fp)h)A+w@ ze5=Mkukl+next^>Yy3+ZzeD3UYka51zpn9y#_!blZjJw1<~PD`s`45+!TAwc=#RIE^2mqRPLi8jl4~_?M~i^o^`vj>fZW>*vt; z1dGJAP~)+n3;*V6{2^f$^NYq0)%bFa$3ipwtI>FSn6=sJHC~@18#LZ}=a9)(X}tB$ zF!^SUx84CJzgpw*YIpdzM&pkNv+$!d-g>8z!7UnZz0*s6oyOyp#qh6HVbWE?_o~Xr7(D-p0pQ!OC zX?&8#pQ7=}8b3kf$7y_;#;0n0y2fW}{6vk<(Rk}!Vg@@jK0}LNsPU6EexAmkuJOeh zZ@rt!;Bt-6(&E=>{23ZwuklkfzCq*9)c92zf0o8KYy8<7zgpwJ)c7?TpQG_>H9lA4 zTQq*E#;?c30l6Ewa+;}bQ0mc}P({J9#Rtnq~!KThM%)A&@4pRMtk8egRGIT}Al z;~g4*zQz}7{GpmW=V^RDjW5>txmrHu8h?St*J%7ajjz}E1TFstjlWQfze?k+Zy7MS zS>rF#;;+{Di#2|Y#$TfGYc>8djc?KTVvS#?@n30ttH%GJ@mn;$N8{TyzC`19XndK* zcWS&x;|+~ppz+-rzfj}%YJ9oI+m7$m{|b#y(D;uuK2hWMYJ8H$FVgsAjjz=BaT;Hx z@u?bLt?`)}U!(Ck8h@q6J2c+V_(F}Z)%bZDU#IcK8t>Kka*g+Ce2vD}Yka-NFV*-4 zjlW9cS84pU8sDt(*J=D}jbEnmYc#$=tN;U8nI)TKraxU!n0^H2wyS zZ`b%wG=7K12Q}+X=n; z|D?tzX#C$aK2hVJ()c8ee@5ezHGZAOkJI==Gebytluh)f5jqkZPxg$8oyfO z|Do|~H2yFx|Fs(bsusUR<6qPGbsGPM#0?Z@tO zG=84o2*g+5D3xPHtG8cIyQA@?1m#WlWb6XnbHc~?*M3|M?ucdQs;jdHzZ2dkrpMOR zE_gdJ7c*V0g0~X)CvFkEk$3>{8o}#{Y0Y6RayoIqSG_zvR1 z#D#)yA|67VBlt$*Lx@uaUr#)gI9c#j#KVXa1=kWEN^BE+IkBC%dq0R1<`X9pcM86U z_%Pyj!Lx~n6SoSUNqjhQi{PomBZ$`sK7)89akJob;v zA4Oa!csTJW;vB(4h>s>t72J<_G;y-veK;{#ehhJ<;BSbJCAJCvjQBX>?qAq`emS>1 znYdH%`^002+XZhY9!uORcq{So#4Un15~mQa5xk!G1mb4FPZ0lxxIyrP#3vHh2)>7S z9C5MWJBY^<7Ye?K_$1;S!8a10Oq?qCdg4=vlLcQzd@6CG;9BAd#5Tc~6Q4%h{j>Bx zaVl}A;ERaUh}#9vCQc`A6+Dx8B5{l0sl=0r*9bm?ID@!Za60j1;s(Jd5uZ+6BX}%v zCULRgQN&rqg@T6@pFx}>cnI+n;#9%?h|eTW7Q7E9ZOgNX69s=md={}y@Mpwl6LZz`IdP8Q8;P$VP8EDT@gm}6!B-Ji5+@3-C9Wd23BH`Tnz(zf z^gnS8ai`#mh_57W7d)G|mbg{$OyWA?7Qs`Ay~Jw-pF!*+ZWf$QyqLH_@JYl=h-(Co zC9Wqf7Cef0DRH6T;lx)F=LjA`d^K^Z;C{r{5GM=X_Ym;4#EF8xA-;~-CipYrWyIY- zNdFTz5O)fGpLjWOyWs7_*Aur2-b&m^+#+}*aTD1>Zz`BXN%48;JwNse-R3{w;B`;H!v(#EF7yiGN3I6MQ-G?}@wj zNdFTz6L$)}i1-i0?Sf|$-$dLhcqZ{5iCY9uCBB(>jo>qgZy|0LoKAczaf9HKh;JjV z5j>W7HF2@vQN*_s7YZIud-$iT_{2B3| ziMzj-{wH2T+$s2d;=7641#c(5hqzVnR^q=9w+P-y{8!>Ng4Yw@OWZ8@3F7;R8w5W{ zd_QrG;CqPI5*G`;gZKgBLcuo?KS-P-_(tM~h*Je$Py8@(vf!(TA0bW@Tub~Yu}$#h z#E%hoe<%G<+(O(b_#)!RiQ5IwCVqmrRq#yWCy84GPbK~v@fyKr5I;rSEI6I`Y2pUK zClNnGTqAfa@jBvS!J~+uB`y>^oOnHPj^H80&k?5z?nnH0;$*@59squxI8pF7#4ixr z1b;^SB60V((*MM*#GQiQC*DBZE_gffM&ee%TZuOjw+P-y{1WjR!Rv`%CTOB{<9K4gY|HX-|z5uJ2rfIwqwKI z{*JiKj&1wBBap#UcdHB%dOA_mwBGbwPc>xwkk;lq`FuxX_AbOky*}{{MO8mo8)q}p zP;H|O|7?ygK)kq1QFgd|rteyUK(ju%7v#>(ol}G*T9VVh$Kn6U6*w!`{>(}$%maMC z&%T0v;|wfuI9BYj|L!dSM{s(Nv$3tv(YSx0z41K>9?<6WzvSHT`Pt66mz>*vE;t|; zTD)*B91dx%y?Idmoq+*u4*#^21ed=oC2>L9fD~Jg!@t{@330bgOX)WdaW+p&8EA6_ z2BbKGb5atX?FR}SnPxYz}a2Lk!Q#nDFyN z4PzPQ8xKRL7c5vXA*>(%y$)9E9fyBommQTvpdS8>J#pBM#5h~mlV7t>Y|L=m6M|EZA#Kg<ZLiXQJk3ByJMR0vtUd1pjc2+^|ww6aRjvP#gi z5+zEe5?yMlQNGRP|4P%N2e5>7280zw>iQByuP#+Vvh10zD$oUiN?TVQZbX@itRQ9~ zL60)2zs>LupjNjT%jLR>9hPYP?JEegzr!yu!N`Z{qS|Fc*Zb&G5md#P(Jdq3;!O*h zbLYy~Hb$^GsA@3d#zW(5>yfpTaSZxkMXT?ST>I102MlOGbMTVWV13So>>PniM4pex zuzhoJN!y7|O=~r7L{8!1b=f9^|D|8VyjNll`~0s=aEWv^hRiXCA}|pDDKq5QM#TG0 zVvJ!A%LSvD&Di|8M61@KwWw&DbwoE#tE*Ue(cV?Hp151RyY24S(m&W$o`UPYZ7&eHR z299zB>JyC8JVXg*+&YXk?=W6E(`GZOVcJ5ejr-z!=a4H_skZ&eOa;-j^_<5+_vM#{-n z`5v?UQx8)9;Bfh;tMX6$Rps9(0_iaNN%f1nVa63wT>|eZ#+M<4OzCgGrPY2*UP4o=7ZsUetm1?h z=-<<@23c}z_2S&i&`&S4GqbD3Qb_va+av}HMktG-UR{OM_NSSf?}^Yl_$Px8ffL~! z$|~pB3XQFwLGSK`oe)37)E6|NVOg@xSLdwlTCLM}l3qyqk5G2@Yl2aZ{s`ON zMB_r~o(^LJ6r;Hi(}*Lm1TDJ&1GUZgC&utR>HLkb4GWr;J%$!HT%BO^#v7v{4W%6S zNcj1j@Wn(^D^|SXo$3erc1>BhGO7F?$zeZMFYyC*nC8+Y;b+ z`aW^2*lus)JC81Zn`6UQsX2Sv5_|*FT0=*={H=}+M&g3Ty`$`n35ciHXzS{6f!nDEP=eCCWA^FbS!J(Xn-HFZ(MpEwbPVRK) zH1*`$r)|h-{c6B8`_pga58ePPkn3;Fot;}`yiLV!dvJg$|9i$-j)!3OcqR>IWXomP3S3;l_)~E>X8jaI zG`4s3^q|8Y;_yaKYueXxi)Gk8fbK(;UI%ed!v>w1DEV|44jvS6LY&j$Sl`CQ=1)m0y23_1!oS-y@`?FM)WK&hn)>LI3jV^vKihJ2x z0asus^u?8uRFJjdIt&Y?D_zhP@3|D?-^ChJ=*cJ~82=cjaWzxRREN>2Y$4*Vfy5x! z<7KALNW~>A@(gAZ%zj!0ZI#Qg;ph~Id_DU{MD8}ivbM(cw3{ti*E09U?D-%LDr+$q zFSBD%rEDbXZ7lrfqK30=-kBod8FT|*{UZc_h7$ZlM<5Ra)f79{X;%X&Cor$q2LyS5 z<`T{pbE4d-jp25&Os}ZY3%xhB7(DO z7~`p@yBQ(L2*5Tdn*Yg8N8n7Tdd6sIsj*=)qnR#ylJQLjgH31m6d2YtSSijLm?n-u zU1maX%4z$YsY@r(5M;b0Q#woCcqE8G#*-ilR_yT}iY1yC0m0u4wWW}m$sG3 zxZwY6z{+vBL7Gfrq;X-L7r%-e!g6p$^g;>4t$*b_#T4U0l99@BgAAmxW}ywF5Y%j5 z*O=EWxEA=&GR{?fVC>!v!3Pd?_?I&T3Se)#5;t_sOc!Fs$Moy%D=z9oyZrl&07i~8 zFe6c=Z)f^I#$C75RAR16+n)A{v11%HMHKOmGLqpe8y``h0%e$xxe#TeU4FPsT&#~H zRY;0Asd9tN3XO9|g2G**k^2q zHS83YJJ@Wva|9U-S2}n(tg*uw{3(WWhcOkxXD>ItG|$>rfW>&tB|6r5&v+!LV`)ghlgVzFJbB#Dwd*eJdyRFAJfVRa~a_`W_HJ#*CWj9 zq2_gvA-a8~8WkW>M}D@FvClxcj5^bnaHy2e$+Z6B#tJ%)5l ze?P9eKinp7gmS0gu-pXv!N0q5Tv}^G_Q+e=Lzph@`5PVn+*C(fZYF0r#L2;5A#gE7 zfGBUg@I5-g7}kjrV33cX|BMg$ zqBQStnX9{V?Hi^iaA#w9XjX1udP30Alk1;F#&;I96>{TFM`QMRk%@+?L`NafP?d;` zZ?KgJ((5o+0bR#*^sS&)znKTt?^8kG=y7=dxZ zj+&qb|1B7UR74J~4~)~%Dp;)slI!R)2`rSqEPGHe?z>-SJKZjur= zG3Eu*)g49;Qs~`>eOBd;``^T7s1rMeh&+>p`8(3~xcuKZ{2PqRVSKTkar)t;4OrFvPux*LvT?@O=3TO}+q{$2WTH{ep4QfmofyaV74Kn@jS7T*M$IOeHLF4cyZB$Y zMnEO1tm?CRuyuE+Su+P~HYTEGe#!O`$(A!%Nw{Vgglkry*UVvj@Gn&}^oKNVx@56Z z)$BaIW^bVlUAM5B!HhQ%plY^1!MgKuTL5C1$C|DDu&>O%!qB#_2!?CcCJS@Q?0NGp z*?7{t6Pe93rkORHXV&at$zq|Z*)u?LRsETO0u=gM8n)0yRlAmHnMP*kj6ggn6LfMTc(wCw58k z0HUb{n=GziSxRy!k^2(`{{8e~n{FqK(fUuBU)y;5IQlEs|MGf-Fbm{(7*-<2OymRy zs9cR3sEG_dI5OgpCmQS7WuP$vxFNxW+@dHo1%&00bX{O2Wjvd@gN6sn4M)$*jw$8c zO9lmU_O58X?hvN*e`!1PTOVfE@)5_U#)qi5s+g+5V98(~(yoV0%_h3=ANV#F?vy6h#A@QZ(p?8MvB50B zYU0`(*hD^?L9JbAqO<2^S40zCXyO(bZ&nkB^fqy!WYB~RoIQ3QeLv%r9m*wm37rE+ z$=P$LeMRPe#U&!F>tp~}my40q=DobvvV<148COS)XBc0rUzw~;va1j$o~8BQln3e%OH`i(ExoygDhB-;w*+=7a9J# znL3%F8yFetl%xj7+%6jTUc%nQN5>-H8pwCEYf4QY72>n4a#6h~@*T8-9mLnvn4!{R zm35%Ta5Qc{QCW>~OdrfBgZPA450B7hOnr|m%|4ovWHi378U?lQFcuTY7*MKqR})t0 zXQ-?d^II~*m1|WVenNsRo5t)l2s&^(?nYrx&^lzSCe&q5$)sa^fr3L1=m9q>Nxy}F zuB*{cDBx_#>PjuEDzM{)y;@`I!#!TZ9#6G(z0J;O%--LK8rqw<_~?z^)yj@&%>GaX zzS1{v6QEWt`|qoMRPu5dS*)5Huuu3O%^%&rY+T4*d65$7{rvl+h1yf)yT~E2#3$XOdJ{%>ZcYzh>;}n;NZzZOwK=dzk~f@wYi%~ zuP>M}tU6S#m*)p`Bcd}!e z$t{2AR|--bWcTcEYA~&Q7j0R~mLDU9w;3bN>oB=u?~3z#jy!IY+*PW>DTs`6?cu{iu;s8`73O@%wzjq{$0jqBoMU6 zI0RA(uh7h=^>p+*jIU8k3g|)k+5eut#N|``_!1y@mTo_dlQe! zIQ(B3Q{QBDc4JP*qkLl$Dy3S$yyjwvTY0^Hki0lqt2~TNXg7C2PD6)bwKh(-p^!eT zvh0?8X0r_07@)_ATpI0f#;K+yi=5s_i zpHs|ylo;rJoFVy)e7>+`z!-tq56gFW?+)huE$L@HV~c|4t;`fVmRZ! z5T?M&iODjv{~bv?GEYF}RuB}_@F9Ti8uuPJ2H|L65Of&V3jWG?nKFU>_?Nk}^R{_? z4c9*FUp}wEx(;jJ84!ke&gWeNtCs8tUY%%6V75U#TRp+d{}^8J90<=M8nZ7z#Df^K z=an&AkM0OP&dL;;m2jBX99+%)7~>^&LGOM-KGcJ@TV8)64%|W?-G{^IKh@bORoD4};a04Wl_67Pq6BRW_+tcoLzVZ*@LrlyMCr%a~V{*rcrlmdS=lf^p$% zknc`&znHJ}rs!Kyn;Hxs^5<)^c=ZpxRnhJN2ueALc`rN6;du z$6P%Af?h3y_sUtTZL4%k=nyCc@j}xiy@;g}hua`Z2;FxaRJ6Bn*?;bxuLd?|_PZtp z9^~B^Jj#QV11ek$+zK_Ih|!?_Ja~okT=cg@kes{x;z1`E6BrMnx1vJ5&yVF9zBNFv zOW3oL+K}Ko9cQXWqAV{C7G(^@jj;@8Qt>cj3F~|~?!{NV7m?9=a%aB+A;W|D!T4m0 zgnE~mAsHx;QvpUWj@=*z6odV6DpH_AG?KGu1H4frLVwG@)DKW zFuVRZ`%6hpVJ=4~4Klvu07t|&gZ`^2yB{HGT4+3K=rI2IGL!WfZ$ZG^Z)D%4atzQA z8WY6NL-WNXl1ni5A%$bbPA^XzShBqg=F2x-T%IX=DH*st>AXP+Cz;pl*})NK%YMf` zl9K*L|5_a^Ys@|i*&U=uZsTIquW9CWym=iXSJBjDV-E92Z9YdWdWXb< zW^HiF_~_aRIrc`t`6oOQ4J=E-vnqA$=^t3bYT;cE^^LFW2cB~TGmdNhMqEB>WHZ zrRhP|z9*@|7#Ol@IvO_4cO(sq^y3JKuh&w;N}q)AgV+RYpz$e25UmTXhh_f$Q?@VT zzTI5k?SogH_mYS^Gy*cmk`Pmj?71Zxmt$;%i@g()U{AaZnVIt?9@aiXqwMdvxa)t#GST6V0$fdHuKHk@CAAju{Cr=AbwL2O+yPf0V z2YlxUuCO7F!=K;k2%<9x^A0OY{jRfAkpPOZbp^8O~26=0K_Ul5Z%8iG#WwA4sG`*w=G}hy8^$*mbZD@2}!olyS@6Y?B}4KRclaZ zSnOEwtglrfspfS%o) zmtf<;zw9SJL4MbDBEMjEC+}<3{SYXMu>kkF|FZmZ7z^~1wFf9h={%Hx_hs-n&O3@z z=3%YO4Cc!8J^lcl31Q7ioety}j^LRv@NJ0!?|{_C*W-+_FF>$?$;!apLZySoqLVrd z2U_6>#6K=}3hTlg%-AxdoET@*h9bB4w;9&hisjT<Kvue0NDqHjP`>#}oY=x#z~aS$cG3xiNqJa`GmySQz05QJPVVQ#_fx72Wb zM=rxgBf^}XE4(-$b=*ENf|KG7&WA%T$RMqN#YB~DU)2h9(^-#{OtZ4ig3v7XwD z9>SJ2EHaI0(ojf0>jRv{;L4AYEZ>C$9yEa9I5K*^P!&!vzUN)z6wY9J2!o={m;{fP*HdscXVu4%2aEslc@=aRg2L-nBhSQ^+v(t!9cbPBE+G>R^wZAVh9fm(PlO# z!5Di8<0HK+@P>$ICg*3=BJVE{qxj%$#+Gl{?2Ic*(SyN}cff6>dD#Vh;ap`c@~$_> z-TR-bW{owQbq0L=Ui%qde^_STco6xRmFTm|9NSxg8L9%^^Q8iOp2rH5L{uQotiXk4 z1@4xN+l*(`=8k%PBK8||f;ulQ{%wbGB2sYGi1UBkS;BP%t}?$`{tQln!FFg;;tXjj z5ci?~wqCXROkCxiL7BZ1jE5lwbaHNE&rshOWB)p{_vIK>Gfp}DFMCfgktIe4M$i#po)NE`BpImd$3i-Qi5+fC@t@Da2w{%3BG+YsMm z!{4XSopSade%b=&nPeq^x^-|HV;C~&+J#Yvw1bhhpif%2O4}Me?KbFr*L^B2ULQ0L z>y!2)3^I(Brs!#JVOk6$mOBV(-+o3H)Iyck5k2jNOv{~Yq#cN~xA#dK5;c#1HG0}( zm==#6m^L11FYS}ITBU8r3!YJA^&uW)bn)pF(hl%VG{*Ev`z>-tdmoOT_Fkk7U5kYM zk#OuC4Hq7@FL3=q&*$lV~}&J1(K;IN+oH#okU(&%AC?qWFF z8fi57A611j@DKL6zcG;k!T5hElqBVK7}ue;D_ZO4K)!dQdTLg1VqTFgL9h*E(X5Q8 zI8yW{O@OA(tJCc&zDhsSOVI$(hWg&#?Ip+oI@@Ob(P_{J{GJjZ-M$ej;>FTVp#C zj$>l9Ck^dEPtAkS=5&(UZS0rgNAMM#$wGA)p~t10<}rBL$2~oJ8XrLV9AB;K*+roG z4yeiydME?pS9<@`zj&9i5-hS%TQ$4UYs}C6k=2h+VN>25YVUt02^ueweta0uM%a(v zQKZ4_E169&<2Jbr`v{lygD}$?Pob7(cdds4hWdxc-9v;}W{L`2hJr&!g~qe<$8w2< z>nL3Da2aD)dizhPQ;2iA5hoGMQQ8EWLVH!Zw$1n$9<$iX@Y-G8OZ%2jIN-D}@AthoH2k!BR6yskMk8Ge@-wZ&f8E;6Zy|R;+VWa+u zP8$wIGi)p_n7u^>Kd6F#!e#v^27ibaSnu!C6%S^2U~C)fS^u5}GzjaNDK@XesDDCK zl#hU&NX>S^pOQzw$H)3}v(UvXa1Tg*e*@A6+rnz7<%zj6Fs^0)qCR|o~Pms^r$W zQgRnIbGcqfLm_B7Z{I;5h93ft?^KnzlInow__6TlwXa-n<5>}2MlftL_Aro<-5yGE zkUWnJ#T&PZn0Dg5aJ6@#&7YQi{?>t0QrHq>b62uq;W23~L+?iU*k;3tI1GsojGF)< zUop!I(4S2^z1WB51_k!j(8p6nIvvJE-y$=a;&Tw|$+!??!@-gcl(v&*ZXE73pF?Gu zXdDKb!GqHJ@unI|Q)gK@7{ZEzt z7L|UkmOh>1Mo<4CmNBu?XJ0JkAEBlHMwzVM^6x%K`rw6<{vBS-`acnwzT_b3&sXVh z)za5SrXO>V^xv!WbG7v8k?B8#>m958_p01z05BZjIsH!Lg+A_-iIL;fcoOO+k>Z zUzW2Gfd=vD{qNv|PT|Mh&{qfE{Aye${=dWS>_+t2DtZ#kZ%=112wbMK_Zbq|uj91A9rsH+bSxJtpE#7!EH`Fg}yTkvw zWBg{v_zm`^jm&Vv{{Hr-uTFJr_z_P&yPZGm$bA;s+d?NsyiYzeFk;KO!4V10o{i3) z4NiQ!#NMPb5ZA3#J zgJEQM1o}Df$_LE_{(*OFR8gq#lL0f%fxyu**g8t0b;HaBR`zrgk=!@hfvpO86!PBv z%FuB3GEXt!dB`Y4I>`KmC)JoGjcd_Sp{LCLOERu|MD^dN4_f`#`)q>mg#7^b#u$%4 zoOU(7=0+Z#$DG9H04KNtYggetK)6`Jv1t1hoD>2LTt_IibNJs6 z@Ba66I?+zJ5)JHr$!kyOgI1G*sKfv-^y~A)A1FyOd+cpPJ9a9VFT<;8LUnkKk?VOt75Q(sneyIm z+>SS$oq-qDF(bZO#Q*Ggf&V+_@|Q@3M)&#Nk}Gf;z6e#ogTkLNL10FLbIKr}Q4siD zi^5nNZEy{K#j&9)**hd{yYq*yDZfE!+jD>T+P|$Ja03T_L16S2mw(5CW_U$h6XAOv z-@5`wI}Uc-+%)Dh!khrfGwyN+B3-EABaX8AKeGN==ohM$gUxn zd7Xh}^B^8PS$c&bfn_-gJqJX?^CYg&#cOED{T=wmnzE{zTbzYC);JRbkor-L$?Qc3 zGB-v&L0dX?37azI2q%+G>m@kne`eYvycC1BJjvArt`EsomRhNZsLqky z+DjfSsXL5P$`A3cMo_N-Q0FPF_errRg|j4Yzf=A3=!lJcg$|iG`m_t$racU_Y~ByB zH{HbziC|4qDA8hmONQ3ie+gfFug5ES(EX7dCmVM6PurRHNQ zM9dEbew;vl9Zx+IaCigXrRlIYeSltd1yYW6O@W>Fec&AbhGX4cXb^tOoLTVYa6-x6 zWJCD{{$HFMe(CS>8_vdG`qjm+L+Ma}UuFhJjB}vtC6jr7mp__0Lb+bFM$-OC0FuHw+T4J5+2h{MgTolkVZ0g&%v- zt-Fn1{sQ3t?wsI&FV6`M#gQp|IR#EVzI?_9^_a2H=B{H=s3{4^1X(M&m%JrujrXuh zbm2o`IR*Z`1>-yIOV3r(I46f^3aZn4ex zK$xyTqI1ejSWs?tI|CQNtk%LU_}1R^z7SVH2oMkZH<_PzC=8`X^sjTu6^Y)NF24`S zuRtHaj5P(X>}zE6M=4}tLEvO|V%8VlHzLxzvQoX<@Ei`&4c|AR7T5SMdbPok^|HMw zggM0N|H`?cr@s?B%%THMdtMuqAk!gd7a@K-teL|;W1A~(FOF1f!{=-q_$bmid?he= z=G)TsZ({t&J1J-i`~Tx}{gZx1|6g~wnxfhDr>)^gL4a&d0{zPP{%$kG z?8xJ#l^9g`n8^Sf=FLlVK@|!`nY#AF99jEe{=KGg{RU5+vwpNU-HO11z;N2= z^x$NW%8oE4&Qb z2DE-4rX6F;otQVU3~w_o!_E({bLEN&5rY@6i_qGrTE6xMq8`gA6A?uMc(^AV{s_Vy zI17buli|Hx&SF17K%756VzrU(C#=r3`A61Q=9^!ELvj8WZQSA-%L4n^}FU+ zVNCBk>da_2EH|7h^Fee$0P7w{g1i8RPdv5dB(qyx_~esIt0C?=ojr!rzALKkD@hn?r~cLKPkKg zb)Rfe{a}2FaCZ7Y?ENTvr1n#;qc;Fo?}PtgI1YNfjT`ard)E*Ce>nYbsU;GQ^&}Sr zs>V43i}9VFxiCK)jN@UC*T#9%WkvFi@g0SLLj^8>r^A}WaL@I?*LZ#%Lf-)V@O3V} ze;YV-W?;aNXfxJR@QwZb1^Sahxz6BXOkvY87BFXChJ!$|nfV*h9lk>1-{=^;PaJ0W z+gQ1T2FU8dKN`!HLudLY{pjqO4$Ibi{7PK49k+8LuNr53rQ~U};Yyjkhyb;sGCqb` zH{Jk`p=8`I*AC+`5l@@ZCVK<;{v)ovs?#ekd4E#A1k$)4>*qJAr&t$lFwV5Ep!J*; zOc9$zkK_<^x9U@Vfn=9)@*OBMPzME9$D+9(ex)OLPGUZeYmaUg0S&~W>|GZc?@x8W z$okvadoD-dEbcbQD&iXv%5V;aJ)uO+o^$rv!{k)4Cmew|xc?4+n$th@T}R_tHt%C_ zjoL!@@y($io~Yn^*YU;{REa0Gd7Q10D^2wprz?p4gtoj?G|1NF#H4MU2AdK^9_E=| zE^7HG0Qn%hJ;rjRqaO<&7S`JVr+wIdJUzf|>Vmc$OlJ+n7oH8}?i4dQ?DDB`HZ{(~ zx7%-~M}BPmAe?tAZbE8pZ>P;TR@VFGCg+usd56)3=7jfOq5nUFk3Uo!qu@rMr+<($JY%Y)0hzrOr)PN^<`Q_2pu%>UbzwQ{{VWv^WS zp3*AUzooR}iqAZ=7)&mOTxS%6!hp%AXMicA{Z-^(&);hdy-h~6`g~i53|~wGSZu+= zf+t@{mth|NDJ~G7?OKsWuJP8bDqSM7HSQO)fVmm#^8iNDAk4x}2#WJSXf->Rz78gr zdHjbtB@_faIJ}Xc>_BtYuxeQ^(UTZwZ@Q1(F7`QSdE~rwQwpE0hE5Ruclu9rG@?py z8}Y$u6q4+k@>j{h-n0lQodJAzj4Ka3C9xS3P)p3{^tI-3`B3b|+mB`ja`XZEJ}0Hn zIsV-~PKLedx1%WOpBx*0>hEa$NjZ@Yd)_8j@RX!pC(@bqn#(?;%MrK3WuMvw=Z{Wg zx%Wt{AH*Fpeun`Kd&xq|Wf9@@pYj2g7}v?0JMa<8d1lwRg+mfioWar9Yk?~aXAk0k z*LW1YLysNZa7oHMt}3J}kV}e_v#qrBcD8gH^UzyrU$G4)CPwof!3V1Tx6QLRJ&Xdw zO?>E2y-k!4&WOVv-lAkR)l!iE^(Ui%8pied>8JtQlEAlQ;3=t2CWBp8^QABB=iymC z-3pkYYf|cQE(1aJYQyD^;y(cz&YL5e?!Bb9lkp0l4U49za<5^+sB)hSy@?|Cu9d&2 z6j3zh&ZPgnNHvYQ1jggvYs}Msj8*e%pa)TEE~ACU5Ym%9(4o251GQ7035J1Zv0ab< zj4T_oj|YE{ZO_*!{8Zxx=p}bzv7X_<>|ll+o4_3HUqIn8&+^U8c$0cxDErO$uxm@4 z{pl^@8rz?lexZM3Mu;RZgA+gjg}THL z0z@E*$qa%EqDiXLanw(1TWhuT)5R`oUF*WfS`amAT~O=N+6uUF$8o_8a3kO6>)!V) z323eD_xt<(@yP?`{eIv5o_p>&=bn4cz4y^{TEiKYqbAC5`Vr&??PSu*63WnlCbUZ$ zj#HH(UfR5tS`@H)A5Ecigbw<2eY`_63Y&ySv2Y2%-DdvsUv4lN3hO|4HHldvFHG$S$r%pKRiQa&DU%d!HYg(=F2#gPV!M% z)V!KvY|>_cu#giV&0Xp*#?3Np4@K$qT}7*Gn!GEC7MHzDpPlVRSMk)JE!qtCYH~)k zs_D~pt|rQAFS9vnC=IniNM-T zd7;=Cv@V?M)gj0-@GoCUM()bEo^LUli>(12h#P_g^f(}CpqdV>wwfwCH!XSxOyy;g z8ST`=6KDLujpLb+?ZtGU(;Xp&pyM3~w0BmodimPNsbT2yJ4Wk8UBugdcIL zFR#L{HST?xw%y0QjR8ySNOhZ$oofLh2d3!SwoL{0$_Q+{{sa&f;Ffz>=Trh_@$iHehaMA1^5kE4xC6PRtn=mLbeW z7fyHZnU&0UWi%aMrTFu@$5YHQTg+u%vgPI=C0o%wneR&Fb27&cuq3fqpKaw0X#14G1R4pl&q-;m|A|;cLez%s4O2^kI z-mgz^U)*kPbnV(i-?mM;5FpOx_g3=zJ*th1j_I-j_N0obZO3g#2t3XPK~>EBOVw_S zHPS2DeS*=0B}2|Z(naLqC1Hn*s#q>M;Urkx*<)e*ElQMjnQgKFdt~=AekcMa;g47} zEEL_uF7t7j^=-&kwF$j8i`z}w;nKd?8>G)McQXVCcUscE6N--(kC+ z?%r%=BW;tx%#a2@HNEM8TAJ2tKYN+z`4TAxXgg|jTQvJ{Vv%P#-XEQd;88Iw7=1D@ zzJl#CvWDNh^CqqKQR0U*P5|j zYtH%Sty#KLYx;k^)_in#sx@!%rq;a56ZkCB`V{dGBO+X^N5s^(%Zt{i8w`siO6khf zkwSB;R|x0B*h0VqeC4a7Z{L>dO+Zq%2R&{J$ImKqiiVNwsGcVAW?xr%gq8tRLx{PBN3zgiV}$!UA~Szs8|t*p%O6&+0zRd zhJlWB=Kb5rs#UT*f8Wru~ z))&HCSB(YQVZD?;?3m#~`*EK>!gK#woo|V9+wtASVC(okU;Cv%J-xJ8uBFA;oMdFH zqv5$CLtovkOTVg$Lu|K3(AHJueQo?MdFe@n&i7wx0TzYi+xuP<~6ZDKRr8@(4|E^1BH0)(yS%=5R2gOGdaVBkIjf1 z$uWdRZKz{T?)0Imo+Txo>duS7v?6l(uKY2j3lj^?6JSZ=yL@(I*|Bu|&5FN(&z@zk zDt`>(4}uJ!k?tT^DDoPBCk9Sc!@F;N#kq>YBOQQ;Zu%p;mxQq0xn zQ6aRi#I!-$nMKX8y5RWg=8&&)ql>tf4PQ&G27e-gS_MH!?M(DDOP|K3&Ua7MTz*1D za~F(WyLD}Wuj6?L+i#`ikIY60L4%yuAG14*3DPQonIpcjqPg1Rg1ZN_lp;8KnT-Vs z;(RHN2W)S!vCN!gOLg>DE>Q~NG+n0vSgNbuJpYuyyAy}CoV~%$uIp@hg281Pmmbww zklb(^g}^sU-~g-2uRWUngag6Y8MJYOnWOa}k(>Csw~Ie}hs5^8 z-(Bo57b`I=GxZW1Tx5S2X}U+g>LTAg!nO!+qU@Y1h)SPvksN=R9jStdyvs#uU71y< z3hFjL3%&Wd+zbFg6T9`Czk7J`CFX6wn&^TIaJ$8Jce@3rsr#HYtv|h36*=H*;iD7Gi@kJxC$4S+PzjxKR);;UMLc= zSp7{lt>)C)o7u5PDUvsn;>n(WI}cyw7A@@`)$qr!F1nYextAUj|0i3J({(6LY0T%M zJa~-SA})|B!qYQOQa#KR%h!|?=P~rM&nA%$m3P*{Y6`B^>^7Av%&^? zdVeao+D4mRb}A0u?RU!JY55Dx6KbogwnQauv?X0#bekIcp3P#x2Cq>`iZ=IVpoy)R znR}s%*jZQ-WXzdHql(%TNP1N_$?y8#|@K`QAznWTTe!zS%;Nq_Gp z-FiNuQM*sQ-29d1B-vi}wyht}e7f$~_NEgQn%`y;NP53E^XUL-F3S!Pu+0zYg>wS@ zoRy+iRlrMm{W6p;-@xOr>S%GCcf`VNyOaKC0ddBC^3)yj>4CC*@k=BPWQeK z@V-NQC&p!G`<}9uddWW4>X51Wj`w`Sd;Y_FKJPuB^qvpfCp+=nAER>mL12~t78h=odseu*66cUU zc}(IAFZ(?AR1*qJoJ#bz+_ZUbC5g#i!bzEg%gubX<_J|k+y$$8A9$NMAd{@blnZe( zxH(Pj`wTv>j0yKtb%kaOF?z%QTWOxOah!h!0h<&b0+?pw)#H`n>P~#KP zOz`r=1@0rU!h4?Mp7xepSNV@@Mh{`X%SRIb!gZWY!wB_vHHk*pMGaEf4MWiy>?gdv zN|R&7Z(OwnX1cPL!Uk_4#aHaQJ|wDV$>G5B$dU3lX*PSP01mKU=iG0p)2^_nbGYiX z`?~>?Plbt_gh6fPlfJqpyT6OS`3lO#{HN0#_gw*WU1FI5_MzpzJ0Ds&Z9gB$LY$C7}jZ?cX5fIx;dOY+@|p$JWR=~e{mL2 zPlUp8dPEASMZZn~^;6oe;+xGD^@5|4%BPX`E5OTnW*&HdznmO5sX>*lK^n#sNdG#7 z8m)6;!2IDx66&6i4+;E=qMs2{%r~c~TwD^?*^UWYI?byR`FZ}$KG&tui}P%~9&kRS z_cp^+mT3}fFqbdOHi2^Y!|HrG&qV2uH6-g~Mj^kiQ|T8_dPbV|{C{M1i5dyZuL|<| z?x~rJ#obu5O2Cih4FOtP*ZCvE1JOQ3p2z1O?55xWoG|1Zur+&c{}r7&;(zFWPI72g z+UPFQc90f>CTHHId!XsR#A@}QXQqYL9uWIBIV?xV6qzSPgyeC7mWo~d9P>X4h}|o} zA+5=RP0H-{;!cGo_s?EGgkpzd1!vbI3EMro&VgtDY5y7&XJ6`H^X-4;UsIO$rx|7a zYl_p~2k+!xvmw&EI=XL9_nN~^dn?j{=U&qv(O!-u1;6CkmNBSH`P<7TEf6~<6sti9 z*%I3ArIhh4zEi<%AIiOGH~CRjZ2K_!OeogBI=1&?^ugCIU0rqTsNnczI9#maV>EV- z+nfcfuU(wKnk_tT3r>|eh<96N(&zarR4Rait%ug#_ePcjx@QURl}aAjE6GlLD7rp5I8|#H znC`7!VWjw2AU?AoQ1)O18dd^KAEPFeKb!^K3lmV8En%H_M2i!*4&fQ-IBQByJ19tO7sqmInjbW$=-zZT((~o@$p4eKj*pK z%rjoP|9?|~c(B$31?D7=Smi$;2(3Ou9jsOk$+`pB@gMl30}x=nySu^98*Wf>5QEL8 zDhw@Q6g-*q7=7j?#r9P}fjN`_)f~4F=rq4#_2cYez4HM$`~7{=2$*ziceA%L@HPsC zhc@^t&$Zu})!7M=ItAcD$f<2Yr};S?By|eFf=qDCGM3UY`&!xi3^wG{4jmSmJ_R5E zbr(V0LSWYYA{<5uAOg{=ix%0Z<1v6d{_DIS#UaPAPm9S|D}MojT6@zjD_2a0(=p3 z=9wH=R(753-??j2Z>@u{6YvL*#PE9Uc1(m`YWbCLL}na1^Zqs|1UA92mrq6@%;ZNYd z^z>*s8?~z%hN+;>i~NLMEa2whK7ZjS^cN1Bd$3QS?3u_WEM&v}Y<_HsLA9`mnfNeX zTrWl5cAisR@}TQ7|FcAsX+Bs7K9ykd`jHm&V?!~p3uB+6Y>ae67l>gXi>c6@!1yp0 zzDLC?a>+5L?UMv07Ykuph9`6-&Q&@o^Ksk}+DR1bdMFj0Zl16GQI-qA*qK;2PsWZ7-nu;x<7Qvm zB~(=%eN(n<)8fa$>Rz7c`@zG3w)-u4;LKMkVTS}`$LhFchH{@k%te{)t1a#FbsRcS zh_wssd!R^$XiGK~LeRsZ6Sh_!UD)gP+(;!S#m+25Y8{_=wLkNn{iI!HzbKX6I%y^c zX6au?KNbM;VDb_$`H)a_DMN?W6q0{I(Zt00K*mn^EPd_eMP~`MqxV~#h(+;0G#M)X zEQ8{KvUR@p)hEF9Ed*#=x1DcL9eeJvEsGqgr$RvWQvz#YKwWU7zY5i>GpMc( zru+9#@I6rW=biAK&1Z}6%r@(___ki;XKL~N&kY{Fi+-{p*lv3zFF}j<7S6IF6qvNF zD@BtAQ9!;exBanjKddXK6c*)np9a46lfUTdil3B=MS9Pva0*iatM}D{bl|yHIkRQA zK>vM`yIcI&_H1D2K7r^yiG#?miiQ1d(#2Bqt=;2jc8RMs_z&61g2pxi=hD>lHBnQXC$sSpdWvsNk?3g<$wpqW z;MYSIzp%bwK5+lzLZKLDuozT}w5G8v5bp!NTjNA#b4aXCC=q1|fONSr56r5}VeGom z*YdB0RJdvt38@aX&CSf8B22&?1wG+xM5x^YDSXqm2-jCa;VmKs%ARUH%3_Xdip3bv z#S+?phl#$9CqdHWz8V?L4^Dp)n@C6Bv$o=X6mVGHVM_?B^0 z9&qxkr2m*(4>cR7yGe!YUc zDFL>zWvrg%M!4fe>E2~gB1;-3{N+yR&1iEYhO-7HZ(18}Ui$$_5ppgg(7eEhwPCPu ziY7tT;kHE72Ij{sayVYTN3WuI0>7qdu2x0{Chk3042RawI zybEctC4SV`@jDxrcN+BwGF!4c`7YXVwYwx_`5B1g5@3hpQ5x&!ESKM5(2(llH#1C2 zHsbA<(yKu9W{Wo=4Ob8Upg?@@EdLYWRd@8Wq!w7faS?>|GtbFf|Gqc)PyyhT^@R ze&D|L2?u5m#jaen#$*jeT2z*+Ru56xEO6t1-?tU_)q(6mh!KE?dU_DLkRNs$gj0fR z-(wJ1s(-S}LGbh+qVHb?|EK>&_+MVz1O8U}-zEH0vV|hs))e~g7HP?noPF)1KKq&? z1Ju2*sC&Pw()2sgo6L?zAli&J->>1bV@(e#;SuieAV-)rw^#Yvcf%--2|Ri3ZzlTM zb%y5XF7u&9EZLG#Nc`p^nIwp?&k<&{FFJrPL}v*neD2Ld=rxgNuy}*-JM$F4YT_1K ziX(S+LA_WRp@>Ky8H$KA>@FzcGgr}r6h(YUAKqHj*FKZt1I?rf6Xo%o&^ zMWa}RRF`dzT$=b3`5aU&%o96QPO3FM%YEY(m1`~aJQ7JtTQdw|*Wh^Y$}DjFfsf=2 zhA9LyNVi%Viye4QeoX*3XO~#Vhg&RYT z*4A2>B&6$4!NFTDChq7*>a0U!SYbD+o!u>9zwXldUizF`XV}WK*VPvR_8#l%({@@{ z2fIsynRWG5S@Pe1W<9<53<-bmv+nEZ?o;2cGQz{Z{>m8zv6jj!&vIx4IZUCE#VI*s zWvo9va(}V5N)f}jACR|Q69!8K+Sgc(lP_v7Yqh6KM5dW%drsxc3LU29XHVr_3pagj z)t+$kiQPd+t7lO0NG6hQ#^TT6;Ln#UX8KX-zo(cv513_R5Au6PD|7MA*mK5C*mL5S zVGr`we;j{~JZ;zb<8*@A{NrE3A5P(P+LrNWIuvToMj?hnjvb&-J^-=g&`J!)v$@&> zaa=o6E7OofLV1mG4xw=A^Z*Cnblf;tn1c2v#$s3^tfE!zhsLV#XcgOUDRPV8 z$-81xWR%bCO63wWpi_qVioGQ9%Wad;JXS=fu#V%L#3@+7qzcGQ<;DJ;{+=a8f!Zp= z+_O}^KFnof71C+WVrbJ)kGB^MqbK@S?dqjCl3Zd7^T%)QIz}Zq3afpyGV{SH-~q^TjSAq8*Bk7MvN$vb ze}y0#MKGGTt9TRc+t)YNzCl(6586i zBcwJjiswobv1^5O;zJw}QMObd$;0G2;)frZ{l^F} zo#sOg6ja?Gh@+F&+c2S537On^C{+b~21Hhr0<51n%)D~6&8!W)y`ZJRSU-e%&Vq!0 zYQwGOuvFdJNoI+*h$clYwUUgo{7^sbwyYYJ~L=lxve z&F6#u`DrKd8%!9x#>58$v>%2}YfMqZR~Uz85-%gjOah`OkQiesX8`j%uxw#A%}Aym!zem z7`l6r+vSuu`vM?NzA2prcmisAy!1s|1q>x^nt3VZvcy?5b~K49Ro{ zM8yW*mq+EeN40@J_QFM-O>u21cJ&A9^0^xKS3wK*sAtmIK&(viv0t02b!P6*z?a%A zsB+}eShiET&nYf+u!k39&8J*WitX5gl*zNej8|2#!wgz$>e&1a#r%nPS^JuOG#HlV zJ3IbHv?#vz^+aJ}bd^*pzV=V}vfClfjam2e6mb`vuj6JVW6W;@T=?X0VaAM-#E%pR zSa7H|+vlisWU7#MN!iXV9oX(-{j0~?{tJdm;5e!sXFF4IDv*ovwYCP0oon9HpVOd@ zpL+G$(RC4b+lZfg5f0z1W5V?|Le6i0q?KTkcSuqEmu}SwMG;zsqQi^2^K;J=X&atM zw^Ih5NK+#4qo_f=S`QlBC;cw7+&X7BwE@fBQ@wTgOJ_XqYDeAa{pBl2);0t9N8d`p z1@~?2goJ#4bFT%52LOCXHhxAG@=Xe{Qz1yFdTax$y}(p&ZQwL7(3^)~%%$|3?LQs8 z6%x8a$kOA$&w>Mriz5#@BWf1>8rm0B?!1%lWG5LYv{& zpbrL69xN1b_9e8m^FeK$nc#Fr7sP|u+rpNc*4=bcYTLuTlAJ^I-UIA4tJ+#yEvFYg zY!jk!^L^)!s&D)vs>f4MaJCTA!HCh1&~%x&B^Hi_@5=8AnCfKoH#I2%9McW}TAw#d zO6+&sy1kwMsc`BII;ll|VW>Ef8V~L2A8PAK;pF)8YEp+!VsfNzb~R8A87*`_)yA*r%Kkfd1@}F#YpyG|eS!wO zJ`nrKD%#fdF#Eb`e2)z;@^uVj(;^{PD%yW1X>-C;Gi^^!A@q71dRkT}l2`eqHgri= zXhUb}K#G*tSTxJ40n|N|EWRrPROsmHli)(4jL+`Lc5GL&W75fPRI2Ur@$c^5kd`PBrv(d3ov+Y_JsoCheXU^QV*H}qx4aMi{GXCo3!Gd+={J_MtLyi|*A(S^3}>)Rg?KI~Vd)5kyNt z5aiCggpZhYh$uY>_KA1K6!yK$_fBMdicqw1t!p6K2LVQQ+QXT+$zm^vPMOn~X32i3 zGz6S|epY~*KQ}wT^VHG&{1i5%W*}fHGpm0UKR}Asv};?{y~oU-BcPg8-ONy zsmlOsk*1oUyG>MC(6yY=Y`n(xg#9!Mvnl>e3Omvm?UYWVxD@d1z?*55O~lyjhPu{iYpo3(^f7GVAY7;uHv8+nOO729ey4fPOQ1eld zD{n}|HVWK|u-IXM4o*7Ap`>L8XPvA52Z1Mh`LKBYM!)Ph#T6G2Rr6yZ2zOPyn`S-N z9VoI+=vH%%WEv@&cbL0vccjX5dAmO(G|!-11I zf%(IJcq*wtG9AOhtRS$YkSXvtB-#MS9Gd2;)D*CzA3Kk}+&qPfPZg=W&5}y3rSmBU zto>OQ)~2N5r5ZIhb7iDf+Mbob3C3rtw8!j_4IKBOszoq{K&bD?#{EqB)wD3roFeKA znOaYT`SH1eNQxs`8ue4?1Pf+j(ctLF){7r{3CL%;nCckg<&=u#4iY2gead6?{_F*r z{pe=a$Xs-Pnwvn|x{|jr+)E|K``TCWn>FMY5;N1q$l5j&lTbn;k8zRF?vV(Qirmjd ziXvy_R6#_3E{{cD`<2}zRZvz-eOGpVB)D)0otY(ExR=jv@qbLmk5T;Zd&b}G#pj#7 z760p=@wcYqKVqa3H}s5myjL>qUlf0lMTzn%Bxo~qvYJ+2ruTi_`v|@F=iO2LS`gB+ zjs1@0D5ay`*3b-|V>R&`%nb}oVmsLA(vQxhKgFfTL{{mCdFh3(R2g5U(9*}Ljd9+S zuho}ooJUWx(T@^fO6S}6c`oVCT++=vR`0H)eO=NE!n}Xmm0D}ll!jf>`<3)Y$fJC0BNuEOJNL)n^^|4kT?%GMx zwJDu*t?D#4N;o0OPnF~tGAGuG8WJLXSVGe#aj;kBc?y}LkP~ddaAvJP%(D!1vX7-o zeCL}7v%Wn=*sa}yG`SN3e{#>n$zF8_s_+MiaMTT=l$=D!wQ7?5^)pH|(G0V)mB_7L z!!~KbO_TrXJ)hx;Nx#$6Kum0oka9fa<+#;L`D^d_Gv%1lBgeOt<9;v4gNP)1xTx3y^meX_d zy%wPeuCDs%;3J8#ai>Yna=m`dd%o;FpR-R_Z@!sL`otU$$oFPN`4cKUvBitJo~Ts+ zB}g8qeDY9GRja(BmwV4^M>e>hN&p7BMZ_Ynn^So%^uH}OnxdWglHp1|~*qwKWu zF!50D!!npcK9U!B-KMHXMH?Tt1$CO3S9+UDzm>qm@ARYHaaFp+Mhnayw@Nls7@WA% zoaE&Udd~{)S;o^t4iR`a+#Y(y!FJ1wKbq(|HGss)@yW8}NvUDE-|q06HtNyDD=;fm zqdil9!^tkwi#(HklYNrClHW>Y)0CX9l;BsV`2#63F@6)-lZK?aVE8~DLo3}oQeeJa zt|l$dH>1B#?rJlYZ&~4oLuR^Uk+wB#By^hB$ke_jGQylK-BaESZzP{^!5AOsm5JJ0 z)#oMWFyJjf-FyK>NQ~Xi+g>mffx^6{pxn>BufOZ-!_TPM0?It0@7MTNo$s-Z$e0${ z^|^N+z*BNbau?jARP1+z!0h~39yGxT%56_(#|aPvo2_O6mE+ve?Y{LpXrDXi+`Jee z2bUSYAs`L@?dcNay3G5>D}g<{{)e6lJ_K&xjR`Ms0bdo~9Oyc1#@$;|Q#5+*ZO7NX*6AOi`3-o49 z_=8pUEs|Gx{)%T3-=|LV6TK;+Yuo|0aU0BhHJ9iMh|ZuK{*TrjD|T=wb`jQWpK+&3 zbVs&*oX$ttuDOhn8}X6%g0X{Sm_HC0SSP8(w~p)Ta@Q_o`_pkZ*l(eW*ix_LthpcZ zs>=kpLtrPTu5shLJ9S;lcMqp7DsxUF^qk(*EvyF z@_AQxBBA)H-3$dov~FVXy^FDO>6SM{kANnjXz6=)u~NQ;hna+=lOPXmu`oZHW_cc2 zv|pfeNEL%?QM# zK6Pv1XQ3*QV0G+xO!y-u?%@0zZL&`9U^a6pAmS8!jnZ_1>ewPwDd4G24+F-j^lrZBcJ6Zv0jr5W$s$kR*cthOl-nvc_i}*59RDx6^@ERXA67*FqOAl@ACg(!Mh(Q`P>lOT zMsmJhVRGM0h2Bj2FjV$xBoHe5Byw;dHrsGqAHI2~7)}r5DE<{vuC;=+6tlECwv;`) zcf$LtByxN0h}>Gbd=-gMC(2UOpGvOHWv~hXsI<5Z+ z{)$=ov{R^G07fR)WhzMduX_yrpWn~2n91hE7I!~OjQ;&Q_p=D#q22zY_p=Nu70AEF z{VZ34wHZ)Y`7YxRJA=C*L$RVQcE|c^U>nelsNBqe14ky4rt-&}pB3Ulr~a{P%sx;fz4*!(P_53 zS-#Xm1!pdQ+Kpqx6aL7hkd2R%-|^H_JI}W|TqNvh=3EDeK_BSe5(+a{%42ymW(E3riIFZm>P;G#4Y}D&q>C8F?1@$I^>X?AQ?S zs^;?1;%$L@H^KS&(}jwyco=+EUHox)l;+!?nNOHoK#4X6+uqn1jL-H{sD$uZVosD} zNZT5JD0Xx*58#bn!@YZX!L^(7s&m;`8w#&uE93lvJ9Fio%Ih}sx1)5McUtu)86jK; zx%?gjq~=~*!mR!Qvtsni$rlxHAFJw2`;j*g+01+^dau)M#oG99djvYU%^Vb`40{&e ziT1YQJ=~SAyS0jF*<<)Jg2_|$RQhC(6$$r!rT_$?7%OiLds(j7!1z$CF28#G;o+mA zPYR@Tsu{mxJ&5Jw$6S0nh%kJM+3#{b)~Ys85#C@VgcG3?rD;@3&w@PvS-3`LS;L` zGu=(gp8dH^J!ony{P^}jY?(h0AAnED+WcVI+Sa|N#>PCZ%bK#~-O*dCvHA^hvool$ zmhvKh40b&lEL#)VONRrDa@>2eoO}Bwxjg5f>gZ%FR=GASIt>YF3*>TadMwXaC-H`R z0cHJz$q7=GM&%_TWW4lu^BvNY?E_OJ#EuVs+zX?jNL;27O2haupWL<1>_12{`;jd` zwp*kksZJZH6S~9)-|iIvF%K6FGb2=holcX^;?1oJ*xw?Qw=6RQ%W?~JEu4yD?TM)*J`2oMKkQK z(3E^+(!$Ou!<35GiR74}_dxVij_sXtmfkCU_bfZz`ptLo6^woy)Fp?WpZAe=wm)pI z1Jb#roM+MLYrlqsP`NLHviT@zQf6HG9}})lb3H%q@yRZ8T!@8R1N4EOmoNYS(}5#@>Ol zEiL_%gRrf|pmR&BU6f8!=i79Ag?BG77%0=QF0*$HF8LT|?4DjqJ|C*WFi6!z#$P-@cz7FYvAbVz zd$OcDHbJhw+%k7jexS=2VZZZ8a1jafcr~Ix^7Er3)DBM`kDX5gIhDi-&=(G;DJcP( zn6`Cevn1#%$>^4%5YgfDpl4r%To*c!_SD)7d1ja^`0CDnnV`ClFw@DOx(BXvl2abI z!-F~}IUdzH$uDF$jqASK^^%j)hqQIhFt?pS_W1b$^J~4t&iAX-Q2@YiKBnENyW6}K zMukWJf}Jd2fo12UiT0@uLzR_Rmy9P?lT{2*&3|A5#qhkFr?clswLjLHZ`S)LhGhjg z`<|A#MEPv4%SfGWZx%U+aj}lUyi7!CCTz&=sA`KA)0q9W%0DH}_8+n+r(d=*!KH!7nC&qJ2NG3W|Jl8sC=7 zv;Iq8W}Tu_$15?odLw;t{RQ4IBJ@K$GRmR6`m=T|j)`Sa7%WRY#Fyb*BcTFDvxCr>L%Y&I{D${o*lTq+Rx!e-rOcGK9B zZwOI6)@uM5Z^a2z9Kahc(6)KIi7~kZK50W17gRDcbUShJL*WBZS%$PyeN{%I)zL@H z#$l5Aw^*ZDR&Uk0Z)@t*<5V|#&FE)GKbAa!`^~q#5F9#&W2wdzjo#Y!>4f;nxw_4U`c`FCmbI-galuk4D2s#);M;z_#%>$M|1(ngog*aOFg;Z@ptnmwJ(?fU$6J(Xf zpquxK`fE+re!whK5d< z9zWp2P;`PgIac*6E89NFt+-#!tKRSRwgeXUCp=cs_Gxa#11@Z9McZ4sRosJIVGlP7 zKDQb6vUz%}=)-E?FaFYcQ>g!hTv>xq}9LlNh2gy#nzS6L9Vh#TQKA?2^ra+y`;UL{!|I#+bPxhq3*w z|LrSbP9a0udkU5A9nW?TZN2)-@r15x}^5jj!_4sqrz7DD0C7@t_y>_;kX8U5^I= z)yk?+Y>$e2rB@0*w=wAZ#V4(IRrl}9S$x}G3=X{zu6$umd~$AdQeoSU3BHbE5~e7s zcwcm8L1Hjr(RZmJ@~vRJ5yjwRcKniiMc;KI9F6Q#N$sKN$EmX!Cbn-4=LPY!?2Dsi za41&HXy#8Wh|NUQcsf-4UZuUBGg!PO7(Z@1gwS`z`Lqx(F1_!z(Q~(0s)oXo~JF4SLp3JF=pOdSIPbLt^lzI~BqjGDY>+y;x zHcrTrfZ`yF3YF2vzy;Q3IUzyg#sJ8W{B>3IscHx*M-OaZRcqd1jC3f%+P9fE12zVt zC;Bt9DiDPrL|a)%b>rahvNyjCFT42gZuA8*SZHr}I4Td32;E5ZiS*=(nyoKgR#^mz znU2~T5%kmoN&ag$_12U_h}Zn;vxBfu*``V;XCGf1yBpbf8wFwyqP_85vZ)V@y=)_d zi5tSRaW)X2Hi4k0!CCydpSE{xF$`(My}{CrqjmU1G3tCojj&dQ5_j{8L{bPzVdy51 zL35v5)Y2F_8U7sH_7(V9iKq_RFgPIXS_bApF!ZTF*Q1rpOS#Wn5vSOl5cMV@>djw9 zZ|)ErU}CwOr^PD|V^RibF~x0K6DWQV7F6NGDDL6DL|vgE(u zw&y}a4@Q!FHWWQLMUPGpJxb9Yj~<~ZsaP#+t={k1ws%FM-mkD{3kIKi4QjNFd)A(1 z+HGyUCDi|5O!HZ+o^<*y+VV#{%Ej#esP6aQ@F8DOBwQ6W=QXzx|X1sPnD0d^M z@TeQ@z7n7Vy%D4>B0pLgZwAJ?RS-N_1G9Y`T2xT!3vNlgLiJhHby7hL)^#hN-hKnqL z{XCn%e!v{Ah;FNjexzx<@*pdr01||hG=cq9pnoJMd1IAq$gRwqXRZW-qAIKwI5-Wn zX;#6sO~OgEe@cY^QX>1xY>4auhh#4hQu||Ht?w_S+RS<-Ti^fG!CA|dp8Ebx{?uwE zvm#0DA1!^}?jPZcoA+&A(cn#V@)hfVc=>dK%*n74X2U<+9@3aYJzlmvm)b3Frgfhw>(p$f_bLI;*TMf^R>_oWr+OJ}65- z#Z6Sc0MS+tq2M_RnS?O(F#1{vf3-xC#Z9*PSWp?o4sraqI9YfO|>`+*9ZaT~?2#l%#qzCDkLR z`>F7hKVbj%F zaGqIqpfLPMmM!^##UR!qdmzXph+$7jtE`#{vF|}zFt1W;-1`2*Kz!v4v%Z>Aw7&1u zOSkp?U{%mL$zs&MxW50}0h#svE1u@%1)kn|*Y3~LrFIOKA){>T?SOO4NbcjUZ{m{~ z#77E)Wv{SS4S!pVWEjm0##e4P2kRxaa=n01QXOBp-Ylgu6t5d?*E%N~_neZiXVBT3 z5WU5I##Y{|jMtm7WJ>L6kna?~ zU{4KIx!dzH#blum6}Ba^CLe1hj%{Ymo0Ns}4dar0b2L<0T|G?Qux)nsrZ0h`1s?3< z<(EtcJ+&Y03`d?KlT}gRPpS=&c z@t)V1h1+oDc^sMfV;ch{n$ZHw5i z{1#a}l~;7U>lj@~@6z|DnQBiR?NSeJQhG{Thn9u)fYbj#fbdb;W=1X|lIwrB+=)>cw1@@rw_bb`=*^L_m+%Ng=U~SG*)t!qFX|LQcDqS|1?Kmx zVE$ATNU$xG?U%kA3nsDwJ!~#0|RXb0Osl;blr?DR4AXq`LOMF>40>S{z|fk zk~mLH_N)B1AJR2WR%#bcm4ugWurR_l#oY_^yg-w7;Ut0fLFmmNg~jo_D==>qUP2a# zvnKaP(t}8qLQ;k+`za)-5VlopntlqYcErSmd<;Q|oRqfiI$g&?YcqTRDR;g?b*p%0 z_>}u#KF;wj2_VZi+R!tzLUmC7<2H0bR%l%}Q+NmxO<>&bq};_F@Mrwyb9? z^ugwR5AY_K&)xGvv25%!iiHI7VRf;7^E9P-lA#Rc)?|McnA`Q4IfOdj+(3YUp3h*U z^vl}S_Mmwm6F<^xj==Q~UcbV2;AM661e!Bvot5+x;vyOT=j=J8#}dD?EHJsh$DcK& zt{E)F*AA4UoPr&=YuKzB$Cb6qx;Zsg5lu ztd2GMIb<$8EPFpND94g*bkuGrnRoQo_K?y=UeC_-Ew4R6I~8waz*5QHp*f4x4o=tO zMzou3St|*VVDgW>ZEH~E&~|oG*k2~Z-mjk4rDk!<1y{`oi1MMorgL-FS$i`ng2Za1 z$+yHu@el3k$mewwr}2eC?{0jWZoHi>s0sggYVZG8%^F&GsAwoxWOjBvC-WQ2m}K=> zU}o<_3M(w7cH(CWd=NxP$MO@2jF%4iAJMPDQ?2HIoB19!rwkkq%OpP0CH@HA28j>! z64xs+Q`VBSe9szpXehnj)A;m3 zKcPt5%+G;Pk6t!`NLf;XS`eZIUhTDB?fX$X$k`73kPjuFdB!awi@PvzoJ&R7r`F%6 zidlNIstWAJxuTp}pEhtrYTzg-Yv717kG?`Xr7wGf?x^K#%pm6|R4%&jF>Y1`n`Q1u zo3A-EGaobSx&OGm$sh)mCVfqNlbQ6ugMzg;xl=s?3SZOS_P*?3!i(%>0ye2UdOi`^-S3ZrOQ4rSz+%gz*r7( zuy-hW-1_9GRLEh3OpQrdJYaq5)!x(axbA5vp4!=GBMpP@YJ|HC#lULiKZ1 zH&->Fd3IWa^zN`wyuk`_$ZI^Ey!X}k9QCE4Mvopb3BLbTeE#@vY#SJV_6z(P>nZfpFG-I*2#c zE=C++TI(%fFmC}i1A_5o7BC|OE`VfLgrO*7YHfgYi!at^+mQuhes=`~OGbMmx1YW- zLi1%zHOU#Gv2LI#oW&%PT8#CO?m(9Ef&K2T-lNwf56m=>-PXq$D6&($ul-<+GKyy| zT`smKTFH9NI*$16o?5bXZLbKnk5d8JfZSD^dbK|m*(W)*n?2F0P5GQ*e+=A7bKs}F zkar)h;27(xD5qCM$CF@Pf!hNM#fynF7a$1Q{b${XhZ$XNWQ6Lc1|4h_8SD<>!6(Ld zHz!(g0#9UMavz@P1fy%L!I@yjB<_ZFxll`Q`-vlDT9DWbwYhA&v^9N-F z9P83%sz;MeW3~To-R5UX{>5zBlt>kU2p6=9l%FZp2 zOTdIs*^7}6Mz2XcV;e3T$hD!}9XDY!7JrW#{PH;f7JcVK5qwRfaWM%|}g+saf zYrO_S4X`U8vno`!UU#Z}tNWd5=4db?&=tFk?%d`P_3rYxmSLU=00IG;Bdjv5rf8M( zr9=*A33tIPiit@km-|OlxgS);l3+ZyF%Kq5iuIf2GWtWIQb?a#>j;1~NsPq?*7C^jwtcjp=;jPjSjmSTD5-3G8N z^FemQ-}7Y3!v@N4S>{%Ar^FWq9(OYoe#!mJvvw?W2)R|+ympe(OBYBy98o7~raVGJ z(IR_D00M7VXXS>dI1c{{@kY{5%_;pf(9#&+EOThvfS>Elx{O+nSa&Mr8ECewY-!pQ zZFeLBX-&@=XgTozw^|4%f|}DwmYk;G2W@btS?xXV$WB)3Ra;<=REE8j;lI3u(M&?W z8DOj3U}kxkxP-_I^;*zf-ug;-?|y4Hc>iLCx|@ObB#)P;;XSXHI-G`gt4;q6;eCu; zk1f29JBm^*ypPgbPk6tBc;w){m!fwG?*{Zauq~JD?a?WCpKOCW%~bDsLUyu;N#+{x zKgwX?J;X~W{g79l-(07JOzzin^~C>quWt(PYj5cW@1v(vU>3ZegD-c(?+sTST3>a8cdFYKLy_b(K^OL%{>r(!&KUqCX4->=$W?mzXO&t@l^ z?NwV~PE-a9@7ukEzs)4{o8h)v_Uml#Isb#mZ-(DT+}sV`>)1=phIgIhp=^3`N!N~S zcz@rf|Az4XP8!~)kD?k2@00b`6W#+^131JzTG6|NcXW_qJa`WvnS*zW4em5&d(U~< z$=(?0sx2@t^XA}P;Uz4~B=np6l@R>yV|(9e4j}TI!Fx4aK8t?O3{h|vet#(WBOBg( z?&t>Zp*Hh-5BoT(A(5zGRF5$gjfnq#(Uq>yISf0iwXPf*|R=rF=6#`?Ju@w&=tD-RC>9 zx`RBN;r}zLF{Q=VSt5Y0jzx4*n{TS6l9=;t#^!D;yMNbckfK#33p%UL%*|O&_CZago+I5Y?$GN7^BSzaWUpihyK75F-S zY?HAsq|K_!?FT9H6Bp~17J3LE!%8PfjnBLOS19SqZ8ec&TwtmWw!@Sq<|<+0+FBxn zC>Z#%o1)@@{Ld_0G=!VY_<+VcbMv;sj%Ax(h3o#Oa{m*>bN&V0Q|X6Ly6#_R zijB|v)h}pznHzT;-rW9-Hw+jxj!z9jZ#M)in5_vXn>hVW>pCmnwRb%l53ju0|B3Qe zQQkkLC#PB8tuLh~eZD3=SusX)V&ETmRNRXYDohYPIga8zda@sVg8Fo$Cj&PzL_5=y zM2ky=g`M5r6P*os}Qi+7RhLUK9cc4u!j zQPxgrN38XTSjhqISeu9RP6Ep>^G%0M&HdL~d+-a{qj}p`ZJj6#y3 zkm7Ri&U9bwpj65q${M^u;4mTINW9Evb=Hx*i@EJ~B{Zyj^M5mYP=c1e!i#zAgB|R% z`r74~pq27&u>J+Uk$Ios%I531fl%LfwKe$x7i1QhBe(D9`T(a?naVpwi7_AT=%V;= zSh-L8P^EAi`L*gbqmr+JW6()LaD8Zl3epxdQ$)rd;l2q_-7najv#E3@^eDUCEG za>RMV%q?K0q_l%fE5+fl?&p7B68F9{*AA{s+0IyJGrCYW`VqEwldp)3yev5{HOyxc zEM&it!W8)ckr`=6`X_Hc3SKeYYM&U0fy3|u2t@go+Y2HPKhx>Rsi3pns+yip{aC3W z#);y>wg}FU-NaA-eX?s63FGsA+OsH{kzr@2$`rY6pP*FR&+j06hQMDQe;E2*(+k zk0V05f$Tz@pKjkIuX)gX0<&7Da|*`iE$&fD24X5D4X{Zbyi`heX@Nce@p*@;lyQ## z9BudNQ@~OwX&GQrMg$;`wsdDe)B6bhI?WXCIe}+(@9lh+!Q5<2=DtKe?SCp|e7Su3 zb@|CJMuOAvfp75W#!ucpCCyJByH04|ouB+s`|LaOlVw)>W5t#~pXa97r1$>?e)7mq zRMjr{$%UV$Mbt0jCsRKcK=S@^;Jc?-@KQ?uEJ0 zv<;FM22i{wFWd)_?>WBzc!}C~9^W6bQt;%3~BQM2*%tpM^UDnR;lBjhI8=0a9 zY@DggH1Tv4fjiP{N=0e4W0#allb?tyg32uK@Z0kM&70~!#fl96j9&S>R8^*-Vo4R^{Z;UulOBTO5$QH7}9P^Gu49P2!r>v}UiMl<$bZ^=fzR+4c>uk}Ay>Y*-5PgRP`tA+K-;44)0mW($4rZl9cA@krm? zr1sj1`*wt%_AzE-*hXhgiTB}gP|KC0>aohnM zG1aTf&`!)M59Y2H){RL4$AhZ`l@Mv3inQ5F-vtxUdb5lPC?0f4#ve zyq>ILvX|8$aJDe86F$3T_0Ef2Z)Lc^(Ly|kXSl_ARmfx@a zLASnqLw70{3WfN`X~J0Md;4g;RhFe)@9RuZGLbjQbIR=FoITP@q<0+$o~s|@B$4_@q=q| z6z(=xzY#yU&Km-cAC#7=f}Q!n2w6B=elSx4Q+Ix_%G1;=_nyr>yYYhwrUyUR!xjSl z+q|PIC+9=oK^&U&wmqI^9qizL|Na*O{|kZtFCegGf~$4QpL*7Q^vKaAIWty-7d18d zm({nlHt<~9(7LoXT(@YPe`(YF$dY>hxwWnSx~8Sg4NL0h`xi8|_`M8=whs5ti-fUy zulF}JhU;6JTk82u7u3*7urk($8|E#kALl=`b!1M%@|p#aB};1NwKU9MSkHTF{rsBR zmYjyhhHyjel7{n0Od}T5sG-TzpkaeHe65LJm>pc z!+Z?M88TxmNeDXE*VwV)Kb5E)RKmI$BY@(Y`c8) zsQC@8;StTXb&G2k*0+udH?`C)8bzCzMCR9%W?n<%{L!OF&94vB8uBk)+SE95QO>fa zhWY+f?6`5Mw;Hv1SY1IOn+Ps+lt@rd0W7Ph;I53{{*Es`6LPuJX^C z?ys0OeO93AWPjD1NmVmu1*cCtJ|_}hFk)=ZJlfN`q_&l=H7}{HtKVfQ$LAbZRXtWW#D0%~BUag9PZulg^^+zNE2pB$VLoK_J6PA6B*2vtm~s`Q^Q*Z*~Jr8PW% z+&Bky|6#>haX!8USXl;tL)YZ3+Xj(90;gY6#wM#~1k%1A+y2T?bg0xzy zF~5FZWFbSo&`*gCb@d~64=(VpXo~o2Tk4tEjmwyL;FnqtJ!u8(P?v=?UWr;rF~5Ge zO{Yx4e7n1;(H2G`&3qkV6G}!>%DMa*kxW7qVKDU7exW1p; zKymZx{nIN?_AhH_a%Dm~XEDg4F#;i&p!sNNGZS{v5Ah7*5UF21t~K)J{bv8%RqNCmngDoeTcM$yUF-nGz^64d4^z&Z?RTjB94jIypFP z%CKVF7GN~8Tk;hrtO(avw6xT&sHte3X=zDz(nFanH8ssmt^Q#UlDb72=tIwo6#I|2 zpdN92E7P0|-D9&Rg(Fh6ON6c~YM?b)eO%ha*ez&jTAJ!;4#4-i>UA&^GA4o%mB`s*a;O8O}uMK%XJCe5o-!q$gv` z&X{h1xLsq|A8DLl-?Csy)45-n%g($sy&jSyFhIlYNSs{1U?%zh9cEZJy2LWjQ8QO$ z7YjGcszkFxw7%8P45dN9z)r13F>HDdKWnLPW$u7ifV|f43WI!F+Av8|avH)xbGRi4 z$!ck+Z4CdrjgEw2-6<&0+{)T;t$#?lztPp>zu*FYsJ?Mwc#*%n++X4kPMcMAvgo)Y zCjQAVZAdxYION|DB?P@54LM|7Y1wc;2q(e=V47OO07L{2Or5b}mPC<}{v0Rf%=f2y z;6E4go^Cu00y5b+;=KBnCjS!KjUj$28#k`WvQoHfOZ}3DdMJYE9COX_4hT&B!rCP{ zmMtJT{kuSxXf>*`-ct2NIfw)G%WM3{m-|PI{=W#&Zj~M~ZuGHV2cE8xASX>s&q|tU zWtYYgjetec$Z-EcP&Q{sLu*Z4a|C(>nt0th?*A^D^z7BxqrV20Oqwy$se}jwSU&knf}G~D~9Aiz&+VGQ&!Eg zF*S8dY8w~UAYmiY)HOHP)Gc3LJFj7MNy$+)HCe6WSbj~H%+fQ*cvDlj8R zcLQ<_fKUlFb+yf{ET=LZoRnV7z{y#nu$=M4K*zs_oKEL;R#XoLwYZfrWYF(W1K zDzdR2$z*sFIS_ku^-1hHy;{FindD^qfIEcM;Md@=FWrVgVtQlKvp%xcQNpL?h-Q z8qD|G_9CwxE-@<7YGrFmSu%e_Yj_2+j9or1h2cWj&b8^B&?SLqUOg4g7e^N6u{fB? zssI7hA8B6LQaiuizcA9kFAz>4&Ec(nyE^dC5+_*-wP4k(nwuJ-8Os`4waRxLNvjLU zZh5Tii&1!`n}Gg9at?6}x7MGD za?96NEoIdPn&UM^Brlb0+_>y7q0}yBdn&P4T~4Y|b{qjPY8eni41XSL1gqp|sDm14 zP2q{PE|FapO2}%BG)t1GpFiH4R&KRk8xGemMIsP9SyjQw7zRjgLtRd)nw()rFeYep zjyPiRxq2(!J!iTHB+xU})RDXIo|E0Puhq{Utxa`z87qvYmT}{1s-fz3{xdsTAs9J_ zE{SB3|7?CC+CZuWP2(VmskIF&L1+>&z-2*`U6CD<10Pxd(QyFDu_~YpxB9xAPbgB~ z(yb`}tdPeBS%+q6qUb;-X30I~*0{6(EsyS&CNYI2w%|A)OV0gtN4+OE2t4xLT{ z0YU_2#^8cDBBqm&1Vl(64TLokKvp{;>5z=s%myebiXtj1qlh@@h$ABIxZ{qBh&zso zxHHNi5ww5lGsY=QR4rfH?fjyy7Hh8OaU&3yz7Tx$*! z0XgOOn%l^7g*hlhq?`e8j#z^>VnUy%hB3EAnJ1P!aADywiez0TJ|gqPp_#&q6;C6j z3rIPbONY>6DN_X?RhfRu%ncPMX9_(wasBLbPO+?fQ7eqq)`*6XiEV2}PPd}24PKq{ z51h1BldGy^#Hk{|>rMLM0jEY-)LPjzs}q}pb15rAIS8zjqn6I*=rv7$@L&p$RK--l zQG@9!*gQD1T+d=OqAJ2uj*@0(40Q%Y@$oPcdb|yp)7V%yR5=oD34sdyHEaim+e(JY z?gs%>Z2UzLX!v@J@M^4^VAaY+Id}##73)kUkSj+f-J)1MtpqBXYKNe@6dY036v060 z0%WbqR1mC(ktMqlJ-!f>AzB%LC33&xe;&U0H z%%;Y=+R6o(yCbaH*tk#i^}&NH+FBdYdW3=DghqcXV1>vT9^|+)opC0?+WjRga z%|W%R0oQ}vVP*{iSnR;437RG{wFyz>RdJyXr^uhERH&&v-k=%aWXbb_6=$FX&Smwn zdFlE94Cr`aj!o6gfm#@^%Ho^y2M<;kknd{1UW#7!gsnNiN>_HmhD~GthvIr`yl(Ci zAWDoYhBkF3)2u(bqGcrZd=LfpBNL#RDKNQoEb4A+QEXVFv^&}z&XHGyqH!=^= z9EMzYRUdob1gdmcMYGuC=2|#s3fe^t2beUdV*@5(wS!ny6=<$+QOj3mhNrBp!a^bQgv?3f%O=1V3#86bN9;k8XGVlD z%0GU5Wf{upg%@qxm5{d?B-63w94^JrqQuq`4tj zhe!}hikeJ#`pij<^GYk4X|-3E+1PZvP?LIQRU2)$K_%AhPi(!K>FB8FLv=J5$(`s# zAgw}<5)%qclkw&21-&If?zdjfB5xm1JW+T)FOkuF-iGswvR2=qKpE0Fl!nGGY*nz1 z_IFE4BgN(E&d(mGOLa&i_)AB&m*oWfWfdju{&5oq1p;#$+9)&R%MOgg4iWYOXg=|0 z`&EH?)&j|$l>G2LzQFjlR%9Fxg&no|an(nyT13CIk3Hvj3ezT_Yc1-`)3cXVldKV6 z7P~~u^(7O^0wyO~8KXU4cGCjpZmpPWWysD7dvK(WA|2Q7Y=jNS4^PGxQe(5OniUCe z^OugCkX_N5r}_M4SpmO@MQqagXGTkR_>J9&idKt8EakP^3PhPzDAXDL8B5kx_+fz) zIWa!ds;}7{s89)x(Ic8QY3zg?d{YwW!le-DwdF5c}0pR^Ww}KXc_UWVGUy&Wd6{rH zXlf`_0QsZwOn5GSd+@}073fCL6`-T>Z2m%AUkbVzzYFkgg!TA6A9O3|M$kQ=`$0W; z!$tw#RnZT0KImxBji5E4`$3n|b-d_eJzWRgN9EyNB3tphAL#p_qe1&00e#|Kczf}C z8V)CB;l0o6L92i-Jsj-?orc$#?gHJ>2RN=59F2DL#(kj6@p}(w4Sx4L7X0|#4-XCA zN!LO5;I{`aX5EF~{l?H^2`TtJJ`^eh-HNlbOM&+*MLj_`g6;?1b3R@{ z^J~=S0_X>H59pns(=J56;J)>s@8kFSi$bBaBXR!{$OBz^G1`yo`$6XuehK7)PP;S| z+6jCkXhJH=y(|<;$wYrH3x#HZPP;r5S_azl3dq6r`JmhId;RiID6v>lwvob1&*mzwg6u z+`kkwvoG$uAFsE??>(SjfbM?)?ZVsG3m%4i(9xiyi4U)PT!`PR9)%w8d;eqT7yRD; zcqp_3ziXaEyN*Nqp2FE_Q2foN(3_wepFw;2q2D&+e$f4(cYLZMRN(?A#E_xv}(54!X%*dfvFkl!ElZSaFm!$Uwd z;I9E)h~M;q8&w~9)+8b4r^zEyI(e2$A)tPNp(1uXj5z}~Dmtf)?A&uqm*jb#MPk_D zC;ukr7+8e9zZf)Y^T80B7XCmTVix`_eHlKE(BYlaiaPf!>YTaQb%kM6(ATu#ojm{q z-M19~#%(zmLiN;#u%kDr5GUR{r!6+db@t#Z)%Rum+mAWs zYEWBw7n|h~-#+|n!rZeumhVcFkLuqWdZ>BlU}yyM4cGNgxWaX%v7mELvxFotThkN8wwT2))=+9F)b#k`B~AgVv<+V!|r zfNOBQeC;%KUw{1Eh-*V|tuIvwGM5-5QWHxTcUqQ+xB4es=`y~DAs3}2Qav;AZx8Wf zK0gcJbsgp?t)Hp>4}AkpabfHxghBz5sr53vbLQ~Q{fatg6?ZOOoVd(=x#|IzS9Z=S z>fBFV<(??&TuOFO3K^R_g>+lPy44+5XZ9NS$PN~QcPZxR9DLVxs_pFYcTO9DR?_wB zsXiTCe;n7hc5wZDT;J2d^#i!>!5ahOmESu7{ocX#A-F!egX^d5o3eo>uk`-mIRX5JDI3=PAmL3-EIh zu2tbx|1u&6Wx=*!bBo=}lsw}-`Uyh}n_89{=#4vMmfzd9#tpO>kjbT37#LTR~p0VSPN`h zgm;RNeArXO9?mmuK$Sy%TL|7=i1(;WJ%-y=9~9%~EL`ikG!#lAJ))kf1JRA}8}J?l z@YNB2wZt&KCMZi?=DtRQM&s7Ckh2qVCStrg$RXDh_IpbV*Kb@-g5aM>)?TXbWr&|) zABP}om^+Rv>c1f#_>bTHxc;L$wBo)^xG(9@+Ox}uQ-@<9YZGLxMO>@qmZ-jJF#AgR z(mmi?wiqFr8kIi~8d*wAwt`JrXFwga(t30;e7OS9P)*j>aA(OBJtd-mZT zcchNtv1hzujv-~Pf^@$Z{BI(DFT{N4*#AvYw$wR}?wd$wL!hj!i2dn1efr^FDX{eQ zh*KTvI~4Ci@Q%JC6#9;C)_yxu_q}G_wLWS6_yyv6GwvgOrsK9vz>j$(8Yf-u z0NxvMzC(<6k*Q3$B*e68V0uVaN;2Aj*xz2pF~Ik3ip7Tj-?Jqer#_wxJnNBzq2utK zbi5ehF3eBaAwlx2(s3%4qM>C=4gxA2Q?WGvA2F2G)%yz+}=vV{%FF$iIgypG7cv#Dw%(0J(HLTZf)z=pr znuF%p$MJ6*+BBKUyH=N{{Tb#es-QVny%9a7P(V5h_a4B%WhnnGx<3aqp;9|0v`q7U zirU}>zZ#G>y7TDaol8qP7ml*XQqH|_EY6${5Hkme>H%Wb0CC0uF?xWC{b`;{!5X9# zG>NPK1FPLwnUNnw-qdqS`b}-a~>UFiQ7v>$aKc`yz zvk?5_!1o2@mcWlEdJ3N#4@3He^>;vBgo(r+&3&GDMtk&(d&3nb2*T^U*^LC=MgI~k- zEWkXGwH-M!DmMVzF>SrnzLqQ%WUDpc-v<79#DALR58J9Wu9|GuOqQT=wI27UVI6rh zXu{D}TMf_M#huHoO)y?^Zb7-Sf&Gxv^e)!XRG-VVJQcGvv#Dev{=~J+1o%_%DgBmBJ2-Dkz%X?^ct=x&lVH_T(&Ng&c^S<1(@f`1?Q>CxzfvAXQAF4VZyLeVA0>1GtChGV&|(+=FX2{~I;?}@rjC?o94C!4Mu$T29#1Dj1l zPIm^iVT3M6>EqmpKFB_^z_$Zq^<3in2#Hs--<6N6v^G`6@#Wy}i5xNcs)TQ~eOl{b zoMEX5c&IKbaL-!Yvy1NeTHCAkw`X%@3YGt)SbN#W7@wwW_^+|-KS|E}xc)w_t2VL! zvA2nIoPfAA{gZ>Che*dX=CmKQ>i8_Xj_JN3xbOO12SaDjeIHrdMzz(;gip;I)hI7i zF-$A&+l;5O2bkq)KY{W_bzbh`8+SzAxE$uHbh82XZp5SBFHpU2Hgy9Z7jbc_42reO zk^4|(MCOJcEQ9)(V(rPF9Sq$=Wi;w`S^OSSCrUvG?6dS*1N?7-e>?G?5v_+TZcb}d zbF!4LTZsD>BIlxfLcn^TzG;TVGIs$5=Rt9 zmI$s2!y#W(NOqKtIQ32J`#eYWJ_&Lx{y>$FkZ8VHypDm?JUb5e)nR|A4P!6igz$a3 ze7(Lb?z}vDp1m{9Vvh2?r1Le9xj!+abvP>AChAjV(5G3(NFn&Qfqy=7U42M*Z{2#LBJ60bPsV2`7hTpv-W;!T1m)T5=y0XN<#ry^#k>hx1K1 z(y{%cI&U(pleDY0r}HdLaSe_6HITXIMC9VBE^j02h`v~C%ur*V^s@=q_v89Xy8b+_ z>-osE`E#u{PjSdz@E7>-S5(v()bgC>UL;&2`5o?KDlaPq`R{D(ZBcpm*vmW9TAZ?p za`0~ie;*(CueFvJj$7dL6QXp|`*>%aEKkrj@c?A5sO0_`*2nDQuuYs5>6lEa^Dgiw zR3V2-bv{}1qw`ottxz0V;+v&P^jkkV(@PchC&BPejv6! z20Vi@L!Amzc0C{WEU(6%2i;Q^E`#f239U1=O|A$3PVi5oI^|f)h|IP3McHJbiW_(0 zzWFuSYoYs&#C>`!TgPM(+GWkvbe7KQFDyh|v#=1IRvQW(OY%NN<>HU8XPm~@ILK&) zj0euZ{x7~Kd;}RkSSRD|I8{=*+zffSb)nG1B=2U((__H&%cn>BD@zoDXCL@CoBXRa zza9fIK4MY4HWYNh*sKqQPQ*A(I1e&n+fdv&I&aZ8j$WHcCrcr3Q6u*JNUxP~X`<6!~JLBd%|HrwNBYS z;edGV#ogvtbu;;?$+-8JX6#SWy?;YiT=}eNY9B$l5?n9FHQM*=4?Z=&zYRW{Ek&(+ zjVm0ct5V(nkh2zYZlv<=&~j8Qv+rmv#?IB$p z(-roL+^f>X#diMqy2!%4<+yi0?p;G=1@yg9@jtR6s@WFbumbn2#lHS#x@SbVJky?| z;vSl>H-oABUI8C$n3Y>E{u4uxiu zot_X=x7iV0>ln8j{Qd6c_0m%aP_!L!TcX!XWVg#n{)Nb0)3`b!+!pvNl|v{Erx3bI z%LJts7p47i|2Eve{^C&RpVTH-O#N!?^%L00nU6fSiouVJ;YY^bv>mOpEbwmy|0bC9-V)B0P<*0FyWp?r|$5#}R zjV7eShA!nc&4WBW4m)g90q)5{&i+)Y!)b?9hZEw}fqceN$SYqK3b{z$ky;)ZiD8@< z&RvmxYyjVWoHg+iUl)hE?l)~V)~}K7_TqjI&Y+w|_kZpfkJ$DujPIQ1o>CRx&>63u zIJ=@^h1cT9L*~me!5Z701ujCBl*|>7nR_kEeCg+rxd$>!SFucr6P@O(A6d^K8Ho3< zW0}wXJTjL<=F;D@%%}c+ndB38LFQWQnW(w&F~~H1keVMXA#x#Nc<`qm27iiul2`CO z;SR?-*vISj&RweKn<~hA6Y@SKn>*W5zRDT7R#?})G!|BXf5jg{p%1D2)w+C@w=vEP zC!>h(aqx}9`KVIjER3TrC^`w?^K_B%?CZaVahVrcpaBd{IO&8N7>&l$a@p=4yQTw?cNdlFQ@g4>lKUrmG?*a>4#%J zzGf0aqrTc+Uy8EVI`A#L9e>x9_&(8m z(Ekp*{^`8uWbDBy{WIUcqyJryw+r%A`|l68hZ4v!?MKx_XmwZV@f=qni`>)IUOizU z*H%-6Oi1x$g!$-qLR#c^NT#WcnU`hq(}s9koL%o-H#pu+plEf76XGya1h^xI~sXX?oB=Lasew-wCNbl<&@wN0`o+Q4PAyni* zLdi8=@vgh`(j@VPyX)d4aciRYUmkgHqW5c$+?1GnTatJq(fheaevs(>#3MgV^uFhj z`x3p|J>vJBPQ<4M@^){hN4)Z0FH~!`jdbuk{P>;p+#|(x@_5!K zLYQACpDvC^w})1*Fyv*%Aon%h#kh>myNL^Aw>P_qTV?9+yWxOb`iJSMhX0S497RN;vGMZsJ0>dtX<1h1>l_S9!JDyQ`~w#+{CGx4XTcbdx*X z-pjkoeQqj!V`BPc-NhG)o)5c=eTheX++Ez(DfPAPVpFHoP2I(Josxm9^<+NT9ok90 zr@Q!zCmqPLq}02*i<^^D@8~W*NXiGY!rOaickx6@^7Y-s!IYD3>n`p}O}(VMc)OeT z+V1lEZr+=^%Zt0iO0@DqtB;kv1u3fg{Sqh1?~rnm`(`Om^RAY%Vy?+XcIL_LQzfRr z+(WA$kn#>WBKgBaac=LOiDH-RhUW*qkr~e=ie*N|Rf!mI-o=UHPNUnqiQ-8kK&Mub-PkSV`%&zF7OP4Wa!P1vu{ShU(oNTvz|?^(&$NpW(E8nEcIGLEXY`Dh^yqW4@>c|P|CyQZ14D)_vh>|XE7-CumoKi!^Jq9+Ry*C)* z3YmVHA^s>c{weXdbx!(Bigyg}XNLU5fKJ(zq1!&Pr+||=!81YRWR!@KG$E#YYGnmz z#NIubUcdMa>KIymqCBdb_ckedce`GS!QM7mJV=OhQZJR_a_L?n2aV)4iQ*C$zFzO5ueZ|IM_tJ)6UB4%b%*-;34Q&> zmAouboS%TND-!7Ijr8@tgyahn#S`>(oBH}*0$TTZLh^pM_=eC+-1K#Y8@~J|cc1@p zi&xz#yWE&C0DS6h+m$Har_;GoU@|->;T-oliRW}W$8%27Io@-U&q=}bCho-WS%ZIH z;NM34dz0zopoA0Mfq$Fvk3ON*K{-QU@En!>S3~?>dOkJ8I@$GALp(0KY%|1b(!0fw z??~^Hq~;Xxd?!=Dv&2A^t~NaP8e+AP0mgf21Y&~!$dF$c-h+nx#)$NsSq|phqq7ef z;x6g=&Jd5tu79Qyx_n}YkEQn=+$lY;8}fW31w5A9_&KaAlW(3bBz?|!6}h0j+dFLju~|#7iATB@M<1>51=KD zp7Z3qNQ)pR>2%Lk7@H+@E6Gg}^+MEp+C&@H%=n!qzQqvxR(Ac1A(k5OJgV$vZfw50 zy<6O3r91f%H|%MMx_`9~Q#-y6>2kXi6H`&Cp!aeq8$B0Exk`HeC?z`Q2`L}6j?H>G zN8Duy{By5O5%(FD2rXRROH<^HF3-{wu|CoLM2fg8@h#Nj0+09iDPpzPy*UM&W2a-- zc)MJcBA-i6*^(k&PfmF%MSPH)vMxp3mg0RdMZS>Y{W3+qk%CUe&HAJLYab!{WHgF= z=%?5-2LVT;m;=2udoGajtgwPYs|U#}L4G57o0LP=K*;;j{bwn6N%wVzM0X4EcbRrR zCJ@8@J40S#SYn>ly<}HWhy$rd!hzLxI!iVkXI3M$dTF9O;GR4D;Ue*b%YC6=JmdNh z!q>Rz`>SsEOT)$2?k>BF#1)BM{!t`uNcj*Lx(;>P4I_ZEsrk~98TC_YL~y}D5Ru5;_|QR4nCDX)(bd%Ji) z_lr=M)B_{M%CwBv{Nmj-@7I3u*R<42M~a)fcH8e4ySrW_al?n*y=#lbm)+BDD;5{0 zXIxV(-c0wbA0hsnp8DVjvARdMi${oed!&N%K#y*r;o^#n9*_FPpEHj7cDPu4SjK0= z#hr(Bd1JWPeOLx~7WeD|(Kqz$@+OMxnYwSJysDS?6TiHvR~N{6tXG$1BgFn*sdtT# z8xHp#D3;gsabG-K{Jzf?w0-AMDOVJU>yGxW9VXTv?Y?)Ic=Kp4kk!X@4;6~{j_Gpc zaBucrPln0A9!poR>)ZQZ!^EHZdfyu+-|y>vW0>6C z*Ynaad7y76T)p-<@3)2WrsKSSE0nJux8U^ z7j~c2_mU!Uk*_Bzai`CFJqq)=QI$Vudp{T|F353zH&m?4@xC=wzLGNp9`j%MDKC!_ z7Z;=~^NXtsU~p>+Jll)J`htvCi^P)!DQM%11u0JziR}d`sL96#DG>iZ3jeO4%Zg#* zl0g|?4iz^J%6M|9cyN&So}uE6K|TI5RO}hl`^ur>!oj`%a*EhAxZCDa#GeNDxcwCI z>EOdwogxkn&bZ_hasA0Xz8fO$J^8RbL&VmTySy_*e0H+;#UWzf$*9QrLp(PQ6_*Uj zKuc~M0^rUeo(qPG2Zm&z33r{6`uHjG`BS_foFZR8K zc|RN_SC3j?4g?HIy@u@6J2L0~N_G=ifQ|B8A>~A*E?PWGq0l@&0(n*mM7iO z)BWn~q?->9Qj|Pt8br=E&5CXSiQGGWDJr?k$-| zTw0#=*G$h-0rwyJq;8y<^m?Dv4Kv*z_DNko)BREa)Q=j@mz-aZ*O zJvhXTua6Fygqh})6mZ;pO2!)S4b8mgbg_46#sjB|6~lTxdb)UQSn8(J#oEFi+h&Uo ziq3s*rr0oI;Ku>+$;e)-r;BByQddqFTSsNB4TzPa4}W2d>%r0PjbmI}M9*i#B<~6?xiK(TTgdiRRRNirzCap7}xHSo?t&%k|o65V?57Kb3Zl4 z^Vu}_wlUt1r@7x9gShI;F}>cLCYFqKzcx**8|%Grx_EHx$lcS$E#o}jP7_~^OTTo6 zxN3ZtzswXjjqm>HO!2_@9+RUqlJsVVQyPI}|Cl&@zc zeRNvN?paBnpGNq%KxQN@o|f|TjHD~4rCd29Y4x;}ucs$%n0DfIbKDQ}SfU(TjK zMYBGT`f$MgU;t*cygc=`a`z48-h0d4&zF1OD0jbJj%Ht4;r>^JxUvE*xW1z6Wpl*6 z6(?RYM|@a;6EJ%!++S9RzgHZMS_t7f#|&t(_l@Mr9{hU~|L8-pz^}XYTPOx&L2|06 zQB2QRC>k;SpXa$!%8MgGisJnh97rF;4avo#zh{UXYk>`HQ z5M|!`4LRF;hanfsE?6n8k*Uv7Wa@pwkPl=1h``kI2U>4s;Nq7O{^)@8Tu*UC#_tg+ z8?d$)4e$GgeA61}QZC@|ytHqm92pSe7U}&+ihE=-f`dmTmRVdA)CFQapAh^$Bq^d@4U zwYacTy8j~O9_hZpkY7>^^beVK5rv2DYYcgLR1DNrCSESnHb?pIW91QIj1XhISkg`Q zVpV%O^wI9Ys_$IX)ht-G^+eAfq#QU~U@f15Z-1b|)=4++G1;hX1CV{g!UI8e0;1`R zOA^GTt}frX#C0kSc$X^!xxZ&!-d9`*v&(f~VGX}XUSRyrC04jR+g$Q`mv^g6u5)FF zD-c?Z{`MSyKbE2H$E2K!gx9Sy1wXlDwO&kiH_LSQZzCA;pULjb$Zy1eLlZ~JV)SRL z8v*=+BC`M$r}t02P>MmxjR->L%5k26Z1yaK-65=(S6Zx(`ZL>GD~2S`5~HX;DSsGK zHu^8ivkHCWULLL`@g6IGB~BCKG%u1u72e0Oq=vp1OV3SGTqeUBr+KwMolx%AW4#o9 z?;1?LeeuU(Jy%O{P6nW>$!za{1xJPNklzQ17fKFzek+D$1jUq0x(fmSIpM((T0I{2 z2^V#w7e~9wyf+)N#(R??nlXIO%Y?aMW&b^ya>iaMo|7qe7?{)1>vtQTjfQ;I@V;fp zS1bbo`sj1gi8m*RSs6DaAeC}eg1AOzEKU#)$<%$cB%{e3pU~`uLM%^SlHx&`0sfa@SYdO7tX}95%F7&8CC0gD z$y1>ni!CG_mj<=xSC}C6QLOFvkjbZ}y=`C_l=hlonh9igm9h6L-WL?_(-vOJ#gi)2 z{|626pq>p_W}&ULCVT|n9+7V7?@Q@M9Q2he(|Yj9erPN;xW}W0xKp|jD(#eq<2(G$ zeTIC>@Sr}=TXn4ZY&iByPJoNLNFED!b-VPgG$iuRSD;s98dipHNblbyt$3Fh@+QOk zlp*ghybl{P)_G|g_(k4N)*t0J;iqS%BhA&6fhcT=^dcl!E_0}hVM8=O1%(J6`KT1v z%TD)6d9x+6Nctb%*ZU`z7}Ir|O9Yaib;0Cax4Ps_5)0FRlHVLQX*(&Azvd}D;d|q#CGYI^fe2ak;9MZdT zz2SY-koQH|_=)nE!ChZ8#5~tChCFLDvUAb}rspKSUT(NBGL}<5f(95q%9oz#`m2;# zBd{)U{aMO(e0fB=-jVWgInZSM;lB8>?fId;g`X>!eo+EOXivDoEy@jEYPfc~Fdt*H zeE0_4jaP4r(e;RP|H@Uofk&$wF_qgPInnh$rml8FS5WGc5}6M9^pDZi z&(}8Hi@*H;7Y+QPfnPN6iw1ttz%Ls3MFYQR;1>=2qJdvD@QVh1(Ev6a=%5Qe8y0F> z%D?q5oRqmMyi_(JMK|@*Imf-rHN5czj;vmGD7zmddO9~>iBpN)JSnQ-;-FvY6}kRHVIYitf~ z#!GQ-lRk->2zvJleXvodJ}-0qlKD3_8Ptc_gvitaO)FcEJxcndYa%)^#SWhOY@4j9 zi5DX2L?5%B%UKag8dmQBqpx^Fj;entvRw4RiGKAvLH`tc`FC%>2L8#vGx_>2*)QRHoHT z+nFw5x{~QSrVlaQ!gM>+-Aun>n%Jzhlfkqv(>$glnNDR|&9t5A5~eGeu4DQT(=AN5 zGu_Sf8>WdZTt3sjO!JtIWIB~;HPd#cOPH=?x{m2XOt&!I&U81^Zwa`{aAGRYO?M!zw{f22`JD1P2FVj4xBbiQRTFtbb=@O<%^c$v$^SFGb zeVOJl9m#Ym(`u&eOqVcS$#fmlhnQ|*x}E86rr$74oX_Pm?aMTe=}4winN~AxXS#&x zN~Y_WKE!kj)9p-mGyR5X;sP$8XWIj4 z)I$sAc-dT!^ouj^Xy%{(|4}1G49@H~We)xzQCsGq0l5RRPV}{@U%qp*vj$}44#+-U z;{t!a3x8J$e-)Ab`dX$hZ$Q?7ybcR?A^J7rNGqdD7~%La8g~gZ&Wy$rgc+|z<8EQb zdC_>HFyqB&ypu5F%4i%>CC{(Xc#_C;#Jyq-_g^%Ba(KNNji(4RK99x`z0+|(+s7q3 zi~aXH;ax;OI*w=ixbUX`^>pyu_Hl`>!dwSfFS$gwI5-}U<8?taf4VU3FdFY6oZ=yu z$Pih-HY5GW9WHTLcpVTyakdZ9yEzV`@m^vZkB?~laO+R?{bMWy62#v__6u4ovHIz* z7}Lb#HofU(SDJX!hUYW?E*oCL_&ysxlksgh+h_gMGrr4)pU1ezhF`__ej9!Z<0(6% zavR>jc%2PDpYdZpiI#)ohDy#58-6R}<7_w%)#!3@Z(_X4 zhA(Ek$%e0F{Baw88{<1|I1ZXAJ?yjLuQ8tXm*{$a%=j@jTp#I66QwrXqY?#aVxbK` zg7Gyrd;sGQ*zh98_u(j@^)s3AS@Z%6%V#d*n{D`6j2G;Q=D(craW;Gn<25$?e#TeW za6D{=PnuY3!{1^20UQ1W<6CWbi1A%EyqijRq=}w?jjsQ(j4!p}1&lvn!^bkd*M^_Y zcnTh`wSLZIyyutE_=Sx3v*Fh=KH7%g!T2H@{uJY@Z1@|DulRd(xt}t=$%g-n@troj zi%NLmoz`DP%Q>3yIvbwP_(B^#mhm+$95iEE|3gJ_$IpCvl;Jg!>?pK%ZA^~_-GscFyrMm{3XU0 z+VGDU-(bVPW?VgwYH=K$RALwN0zIc{`5eLc8XJBR<9luR2*wNdN6R^l@p2n}2IGrt z_<4+Pv*A}WzR!l=%D4wF9k6~LW4yNwe~s}WHvALD>umV9jIXfa$tnS!CN|sfBN_j~ zhUYMzf>*#;Kcg5QV#8-LKFfwTGQQr1<8>wY;B_%J{94BM+VDFV@AMr?H8WNxP2dS1aK0;#y@5L9lRdz$G8_alKc(pHDLBjf5tPHYy27Jr^nz_eJ;`RUtzpUSB>xeUIVNS zQ3YIzRB`ME%|D#^zccyu0!>uu%c8KG<~R3+`!jzNa8>RfHNe{k;&+T^ZPs`W^B-V* z4IAJNmhZ?kud==yL_#Wvkjrn25>hl=mO@*5OL~YgrPo-%7 zks3GcZ3uAEr+KcyZ0|JYFT7CmoAQrCYKF=cY=F0OxwC*vhx|{o!ejGDXS1B0Ia>a; zEayfO4{F@4iJ(8#L-pLlcI#pOIY;RFWU-&Ya8REWjHhu0A7^|caFVl^^KYh{^4=OZ z&odmw{7ZmSd(HDAS2KP)` zx7f^hAv+i|6Z<#D(=O72*?dJho;4%8HP3mN{YbCBrS{&)?H$YYp;sA`-y3c7Z(TBV zeM;GHtYrRY8Q(Tl*Pn;C=-!9hdx6GHyM3PVZEt7+Q}kuA5{f1Ll-{fHvsnJqj4xtE zKF9d?z^VR)w*I>1Xe}r0JT16|<&QZ=^S{mKQcw-`c^f#DTgZ&2f6F^ozsc$dDqK6}|=Cvdwa zF}~?7%?LAApTC*-Jk4m1(;E>uQF}K$r}=W2zcU6t;aO~-CVnB~ncVMCm-_sJadEN! z4f9i3c8&p75km+_saYJ3snk2AjEK@DtY`~$|9FVg&fXME6a zbh$M)KkyQ8Dt8;}!A$qGouKi|9a@0tXGDLlC;K<^_|gj|9@6}kx_Ch^&riKoX&2wGmIITK~>Y0weGifM((=UAsoaF3WqF{Ohkoxq<(sHNK4H7oRF4tf!f6>JnU~|W7KDgWmHUB-Dh~11gu_HJA zcEQP--#q8ogZUq2JdGQKVW>W?A)3FCuQ^TE zpWU2jJ4MTHTB30;xA#@X1rKO;L&7sm^JntBY{v70fU9}a7AJ3G{xxT5!KGZEq(UvH zyh-Ec{89#-E!Kb;Z+r@z#;>{GY>wa55n9f+i*$KBlF~03~4eVn43C4HkYWtUOq$foBQ+cGrplUx;`h5)^ZjN z(s+>N-^+ND%?^)3#nilWk!DP0{y~hJ=csELuV8#{wU%GVdcG1k&7$^w@INwt;p1As zwfZ)(4LFS>^IZ0kEdOhTrwjA^wQ0{aV{|DUHb-+nKg7stS^9AN# zldl;UviyCFFJe0nFz%nA>tmk7H~XswIMsjoZ?&8QT<&_tGg<#8|Kp7Bd_oI0`M&|4 z#${Pa%0#^S2YR@h&&wk`P@iJpPW;p3;6dQ#+-;SAcO3p_ z4+8J%P|xe)@ZS;#e>x8S3h-{I|DyACAwAe%eWCE!f=`&_+^$oAca3Eib#eI5kHdc> z@IDxirF=dtlVv^xyqkmk7lEfa;P1!b{}#AYJ$sco%jpN)sodr`_{+eZ`9EX2Z9Qm&RcdE~aapZgz2k&>9b3Mn$!RvuLm3wX+ z{;T5P_s5a56*%dqmGyH1>*w1zax$hl*FPJ$Q$34-JN56BIQ+H1X`F7bjnnJm@ZSQQ z>{*P{_FU!G4fqhalRbPBM^3_Y=lXXAPV%?itK|;R#fXu>sh&+-PqXb6z@5rn76*ST z4*n%@QzmzbBHzW~?}`b+iN6nUHIMK@&5TQH;_$b{!IuDcYS(RX@S!uE`De$$SH!{Z z2kz9aXXEg@W;yfs1nyM-Y=vXrM_z{<$rxlZ9Xll%LuIJHl z@RB(AEZ|P%HUZD%zOa&Iz^UKG%^EG@i_b8==?)FBIf(CpJL$PgjWa$a4*pxnVEI$jl@`vpA%s3|q+(~{5aHsYzjf3B(za=wg%cdOU!?aqGEtV2KGPW8_PPW8#$pexds^?7z2{>y=zGP&xC+!}}f z!8rJHaq#!z;QQj>$qml!It;i|{|*FBdamL5+SEx6aMDAmUn`)18@Cj=Q+sa%Zr*Fv z!;^9NMWZu+7vN6vPf~a?UU;mfn{An-Zs{h4t@LPc^{S48HLE1rm zlFxLO^V>N1O5kaHua(>y2Y)0EzBP{gU2*XJaqw=<&h_a7+(|#9;^5VBEtmpm>STAk&e3*1Tm zQ^1|t_0Kr`ziD%pKMXjH-;a5};3RHuGjOVB=EWL#i|ct`966if;BNwVs{h~O;HmA- z{Mo>r?7Rdx)l*dH3Yz=-OR+$9;=cj7Q+?i#gZG{9EGH)pJ}M3#h=bPwcdE}NarkeF zgWs*>AU-)q_t#|ZuUCOP*@?h|(ShLn%3xD#ptWL7T`(&K$%#R7V~~L{NL~z*AA=Oc zAU=F~P+`Fw%;#;UfuV4x~k9jKijsBWvP3(RS*t(qIe_m*H) zprSceMr@URv32&vRysRYL)o!a%#PJscC6a6V=IvzTZwFkN(_o=P)-(*~ZByr~(pPbnG|@KnBBhdvtUV9x^`${pxnFAjdrH_)LB2Up~Ca6G;|hyHNzMm`63s52n1>yYa41? zMP+kqOKV$o^?*uI6>JX9t!-%yHV0bk1C@1+4Z#)>2vju&=GHaNsi+H7wKg`l1S;C* zi^|6Orn+Ejuxda-7EI2ODNv095Qa5ZEC>V}TALS$>gI}iL~L#K^$T!|{&coG6cyOPnfZno!m{DA+(TaiF%kWLiZ@cgJzUNZq{1d4*T9!Ym zGQMo|5@Ohf%2vFK2r?_qppaJo3^WHT8=I^A?NPUw70juu3sy7)I0*DlDns|pm|PMG z5PkW<=H|xcKt)}1u%c=~pe5KEUAQSJmn1a@nkrgr(RD5U()@s~E0tT;itu}K8w?;& z3o|GgSD)n{6Dh=$5!DG3vMXBiCI=f@8k_y?@YMqY6QGNd2|1O%tb)cSYHCGYNm(vb zh0A__akg&b#BgwHiXB+dJh!bLwF*$DqJPI&W&8c;%sNQQK>=BTLG6vTRZ1cLNu?tJ z;y*~Ybu)ExPD^W5K026guyn4!Y1{6T@Tra)yQUMz)$MpckTLUT!Jj0&;` zYIRo!TPteh9cSt9&N?e z(ZME)##$B^(RS%8pdnkU+7g%>YzQ{jR{AHxGP2qlYR_y72AW!%OUT4|L=LoDF!fGO zPKhZ5?HI{6K1rE)vDT{JUplt3bZqHZ3`}j;4b_eH{s~j+O56Pba$^ncjb{Y?Wq$Mx zIh^Q9o5c^B8zg&yY2XHQ7L2V0hL)!w8YQEqTAF&ucg6I$Z;&?1KwWKh5YD)%sj<10 zZP_{y%@VRre}aYhTs0KO+6}&-qOvmBf^h?NW(9ot=1*-QwZWDGm_eYTwYAyrSIw-f zsH_PplbJj*w*mG{HaxJU zvJvhT-||~(=hVTj{6+a$Was|&iIW4RBPVACikmQ${l!g_#!k+rA#JH3cT9E;oCrHo z7#u9T6~m15ipD9NUH62sQ|idf%_tPprXMwn7TR&E+hdyz2XD47Cs6gn4J_!Oef~i$ zwR0OPTHBg~QC(s7W)3naB{919k15K|Q&K0v>d>#yol;m9wQX`)q)Sax&e9qQR5aD9 zfp2OgdV=vq5;)bEsr{42s!1wFTy~DWKY$p7oUBe)!PH7j1k=3#UZ zj613~?VS|uqyEFA^}kz_?13FP4phbB82?wb;wLw&R{I=IM4P4GuiWlL8a3nvvI3(k zT542k8}7oF#eqXraDG{9Zc{~VbIDk8YB5eH5@BF;RFstEWBF0miXeka%?gwuDyeMs zwY2(y2hVInJki=%0%7=_TZ2N?_X%Z#0=|L(ra;7D4ai8-6`G0YLN?}~V0A@XU8}xW zrLLNnN}Fr3L~0Jw9cB!u#N|iY6liU(sBLX2p>R+C^T7-HQ6R=iMGJzVR$o4aIdhv) zzskmjmR77|O6H841HMVxx%}Vh*&pawONgiYH|%?Oa3c_<_EiS6vuKu9OEMK}*EH5) zd4ShTYI=T5B3}}j) zI~+t7T~AhHDMmE~Rkf9^6b;q32J6}7hS!G5k#Ztp;>eL@eoQn)!^cr%UOat5(fE=P zQQj@TvZAR4TR6%Ex8r6ki4fFB@!0#=HxM&4!gvIqbrlO5+gg>wKV-H449>elm+2o! zu7=hVF;*2eQ(t~n(5VrTI~+oFjwCE%JNC!_Df{X$l8&_A8Xsn7g>xZlrRp@7JG9sg zHL&pe|J0xR2En0YNm~_|6Rd7*4kCF_74+AW1Fv_ounwY}{ANVa5Mc|Cev}Q-vW6BV zKfD^@g+tus)`Z9!*Yp8CANlSkq$DYmLJO*Rc>^Q_?CVnI9fVo21&h*VOE4W1+ZD{M ztqZ6nB6f%?&upu0CjUcGx;5%Fmveysj}N)1#hsT zKyo3eA9p=7uMyv{^O?eER zn{P)uDA8&=5^++dBBEb~qz95h`yb|@Uu{brmL6RJD2|G-XIbRQN} zA#7-Ft8Dd`Mtr|7CN0Jbs>nJy&$3okN-BZ(fCLWYR3H=aCO_F_6_E>4dmiM9X!&c2 ztW~g7sZ0TMB^7no#?QK_>)Sdz}~u9 z6l1|LhNe=PQQM=3w1X5gM4YCV@ampcp)rH6gV@?1y<&|XLB4DZpsKc}z}&Wq=Bk*A zm_yrX*T|Pop&L>g*bHo~YYChYTwt5}a%nM+=+(ZJ48{Ho`?Ka2Ew<0`;i~^PqofWu zHNvyxA=l_XGy(mHXf15uHXE_-g8dhQ?C43VgSz~$g+Pa-QyntevIF+H#LV_0U=1hy zVn??nIY?oy3T^2Nw*I4H*|_;%6)$uC7vCo!3XYTiEsmf6RhOLezYzEH<$r(N?xbzl z#1EZt#oV*}xA$a!e5Mk1@LxTY;mbw1K@OTvf6zvz<%Gf^kFo#4c#ovzBGa1B$Gc{< zS#C~Czld*z8rKf@511`o4+2qiMyqOCBWqIBlxIVc$rX-qiA%%icV%U!X7Nj z*Jrv^GNNQ0g;ax@gV>*M;LQs@`s4GDi9X;8zY-Xz?!wsxTBAit4aX8>m3kvOd|*ad zr*$9fknQt7I0tl`OFr~Dz@k|*otT3qSNL?&yxP_pb*zg{0ARf8B@ND@m5z<7_QQue!t_^jZZm)a8};7&WqzQqGR1Cd$;aO^C-1=N!u{B zEIy>KhNaJN_FvmX5n4{)P&amW^Xj<%8$t*cDPtV{j6*E4vwM4%oQEXO1?um zZr;JO3%)%20}Vf=$79BOb~a+0NHzf{shZj_bK4(R!7Ofu%y5iRr(!8SHm7NOXz&Bx zM0Y999r*OKXY^2DXP+nfRiFnjS`Fw#@ul*l$F!I;4!UbLs=?X-Imc zM?H#a=Fee|;nQUuJT^%MM8+%CwXz*AJ88Eyj1IuqAf(&Esn}=UTW$0#aQxLuNBYmj zLrKlmb&d0Wau48n5yv-bWWtiW)_x!DXul!SS%3dUS+_FY4GrrXPKV$d^B-t+uX}4upgqBC$ZZ z|MmE6!q`a>Md%|^*hPsPZQG%1eVRc05z_hpy zhS;Dvc*b0%Q+|qjvsCRz1&%-0d93i^k=Qt@gEsqo`eCl0?$smH4rlDLvs!DK;ihmX zUFWWpY~{?+Bi8UW&Zv%QfY13!_o)8WGraYbeTNT~qdN4ihDg4IUVTB;vpxvra40OQ zOw*=vEiV}{eW5z3N<)@LY}h3Ik@=f#9K+jDrcVt7UYgMO*Mq>8A1_@{!Vij#4xPsw1f)WDp3s$-+T`*C-`vgxxwiaPmo9j}#fUX8gTFTnykoOVw!FqZu zIJ$Pw2fgdVH)u)&=CIm^V3mFwNC_4T*ePkj1pMo-a6HQ|?-kpIr z4P@u>d;O4~X|8Wk+42BqB=MB9<^3X*HqQ=JRY4>E=H|didiw@RRpsY|b8f1et@r6* z12>uTCN*?26U^ndT>3uaq6DHB)ksI5{5-sw>>r?wq$ z?FyI=xI`9e{-`ctqZ-lJg!kh>tu^$PmNJ#pp3;D)#4FDTR*k|SV7@ZEM+DzXuo#c` z#-F&#%xbBvYg3O&*0I|eq~^Mu)eXGbg9}kp{yl0Fe%uC2U*ML>^~-*=3o<& z?~TnBbAxD6wDnGDsI8gT}dMv$(dJB&;`I;DMdc%)DPKa};hcB>w1 zjwU@YZ02}T1-)_!gHIHKp2E7sV{UI#`+XU+>>)LPfq*eot*Q>KRKr^IiH+^ zxF0?_hoKq&NjvRCPHV>Q$&?1#Pop&$28JG;f!3CmfPNi{fK$f8FWN#e=3zb<#&mwy zWQ4|l*oI)WI8&Ath%qGu%~5^@JBMl|5Z|lt0Kr4?7PpOIh64nVK+a|vYVJ^{mID=Y z@DdwqHDEH6%VLHo>KbdL=wF?=L4$LmMrG`TLp6$O8azzo%~v$FAb_rJwEIk&9$Nz8 zsj<4cuB`=Ao$^9FHL~+JgOD6Gsg&@GfQpn?A4zW`L52h~$8YrnqQ}2a?q~h z0RDeOBWgaMVxh@p(eKQ`FzdJzTJo^The1y*wN+HrA-82-MH4prTB3`m$%xcHuCeiq zwk8-lqPS*e2}d8+>1qVMK8z|D>&ZK)p&n}Hy%-~AvT_boG6(rZI&@iGOV2i`Qx_CD z>cHB~qPX*UE*!TP|6aI8kL0h%aO z)H{WY$~62Gz}us>z?6o0^sMltU<=-khC=X;=bQmqXs8|^%J$k@8k$f*Yqh=aXqKlQ zj?D2U6=gphBbMLvInO8oI0$!RJLDYbwWXAy3s*{sv zVm3in%FrpJ^ z$pg&#(NyqZb1j);t~g8Z+WZFg$Sg7cRhG{$VoxmOa&t#I>~hG^sKs&2%tEucun{63 zIk~u41P99Y2bd(U*QhZ9=yEFN2G@jQBNc*_5v72hvrDa&mG;CWg(w^m}Osx<(5tZnT%mwQjJ=*>(lvy`C zz(Al9JA3m7k3N8xF?859igQPlfNGCPi5oH+OJ6!YS^AP)AYqT%|d?z+6M!!xu{uxP$M4nJd%2y{7uT0(A@xuyCz22;dtyBL>w| zYs=n-dvQouPb!4-R%K|=WD&BCdv{wfura^ScQ zIhh2=dckhP*pH4Y+JEjFjJFnHBvXAB7RJV9F*mF41pX~pPdTm{l-WIG z?eQQWSpSB}>&r_^n|*iS?lmWBaP6 zrZzFuKx5>LK%v6YZmmm@2BTC|Cy4nGzYNv7i53~AM271SUMW{0BWMuO2%RnLb8CQ2 zO}3#zdBA;l+Wi~YwI^l`6?CB>f`qK2@AB#O_QK4h%`GqzBnU0P3mVzWW=Rt0j31)> z_YSwH&e^XZLb=;ziZ(f9G)Ie9;DlRR-?rz#@~fQ|&WfydI>+Fb#n#tQ2DC{cgS`sB zG&v%7Jg8<0ZDx7CgW+ysG39m~I%Ez}HPm+w;8Zy^>C}&XKXjPjSpv z$_z{JITxv%Q7s0Q2UW4SxiTCL#T={#2|O#Z&2-#q^MMn7pgU?g2jo7~QF%e#!r?9o zNi$5F+v=|}_duuM9srwKoQWzAufDd_O#(JxbK3qfrm-A?qy^1IxET=~>eKlTV_g%S z7@u%wP@vH3fMAN|DK@5bmn&88qz1$XT_#%sU93NGPhcg$^f$wBx!pxh#C32_jv|E< zd)Q06lQg(siQz?qB#~V5L)2&L88P|H%kVFEDUY)mXXt9x!76ld)f^HqTz*oQxJ zHlzlI2>OF!C9QerQ?n0Jgo5+s5?tLdJ^Jkx$IZe)cV)h}07pllNr;Knso}duW^GNn zxadixI;M2-IB^^g<~pP;6=(o5h~;u?@lFGVTo)pmd!V0cVmYrYm5{yNyD)igCS6I% z03CzPJywyqg2eN{r%Ln8MijBOK8_lm;vq7xu{|SS)4*`NiP(__u5cHp_gwas0hbhc zW#U~WL<2S(;IxFX=gggqP*Sd!qn;!$G0=o1Z<}xsDS|s7My|sT2d(b3YN$^Gc`>t%o1j6)lFpVGrvA2pJNalm9ut!82qB$km9S}{0@l;W0@$7_w zEbu*p&sR{q(;$s;Ns(c27c2)2EOYbhk7bppfH`EP)=p_)VfI_?tmBWN$y#7qPv*(uSLNO= ziKDNz;h@niZVJe&TAR$d4C)*QFglwvoBWCl<3n`$8tMRJQe9oeE-S93h(Tv$@h)Bm zkTT1lFR)eY@5*u?uuW(dq{8a^4(|k zn5S8l(?6}JE3csBHK%VJ*9%^L`=Z@wg*7KTc?Q4k1?_*Xu9v)=u!_C@w7h`Z{|e|E z7nR=2-}F%0_#l3J`|Wh)E&SklulM{Ldd16IkLj^rcY1&S_l=(I;NSj2T<+S(#7X}Y z{-^Y9oMWFng#Yrl9+w>7@Q-Z`|31J$NPoiUz1*?(JB@#X-OCRX`rDuAonHEVPVepa zl6)LK{|lq{@|z>^h^O`4Oz1!POz-#daeuIt>HF^(y^l}jmOanPyU)iJq|g5}p}+g3 z(tG)GHZWRG`uxum`j_^U-pieY|GnS5RksuR-Jg`+%O9TeJGD%o{}oQN&O>%#_ZjVp z-AA-cpO+r*f%Y)z@t=PwecE46@8#E^IfDOAzh}?iJK*_FzYkizvD4o%`a4E{G#gml zgg>X#qe|sR{NNBd{r)i}*nd>Z4~*WgJH5YG547R)Paao-lZUMy9S(n7_I$7B=Y+m; z!X9W1ZzTNVbYA|N&^KOG`o@!5?qpBaA5Q0|f5#7=^Y_~~`hBCn{4%ffzix$RwXNZqCx*~} P_pQ<&@`f5wa#;Br(qHiG literal 0 HcmV?d00001