From 81ca8ecd5be85a342cd4fa8e3e61f0041ae167a2 Mon Sep 17 00:00:00 2001 From: neonhuang <87560459+neonhuang@users.noreply.github.com> Date: Tue, 11 Jan 2022 09:45:30 +0800 Subject: [PATCH] add paddle2onnx doc (#5446) * update paddle2onnx readme --- .../Step6/deploy/onnx_python/README.md | 126 +++++++++++ .../Step6/deploy/onnx_python/infer.py | 105 ++++++++++ .../images/py2onnx_inference_pipeline.png | Bin 0 -> 207988 bytes tutorials/tipc/paddle2onnx/paddle2onnx.md | 198 +++++++++++++++++- 4 files changed, 426 insertions(+), 3 deletions(-) create mode 100644 tutorials/mobilenetv3_prod/Step6/deploy/onnx_python/infer.py create mode 100644 tutorials/tipc/paddle2onnx/images/py2onnx_inference_pipeline.png diff --git a/tutorials/mobilenetv3_prod/Step6/deploy/onnx_python/README.md b/tutorials/mobilenetv3_prod/Step6/deploy/onnx_python/README.md index e69de29b..1752b25c 100644 --- a/tutorials/mobilenetv3_prod/Step6/deploy/onnx_python/README.md +++ b/tutorials/mobilenetv3_prod/Step6/deploy/onnx_python/README.md @@ -0,0 +1,126 @@ +# Paddle2ONNX 推理 + +# 目录 + +- [1. 简介](#1) +- [2. Paddle2ONNX推理过程](#2) + - [2.1 准备推理环境](#2.1) + - [2.2 模型转换](#2.2) + - [2.3 ONNX 推理](#2.3) +- [3. FAQ](#3) + +## 1. 简介 +Paddle2ONNX 支持将 PaddlePaddle 模型格式转化到 ONNX 模型格式,算子目前稳定支持导出 ONNX Opset 9~11,部分Paddle算子支持更低的ONNX Opset转换。 + +本文档主要介绍 MobileNetV3 模型如何转化为 ONNX 模型,并基于 ONNXRuntime 引擎预测。 + +更多细节可参考 [Paddle2ONNX官方教程](https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/README_zh.md) + +## 2. Paddle2ONNX推理过程 +### 2.1 准备推理环境 + +需要准备 Paddle2ONNX 模型转化环境,和 ONNX 模型预测环境 + +- 安装 Paddle2ONNX +``` +python3 -m pip install paddle2onnx +``` + +- 安装 ONNXRuntime +``` +# 建议安装 1.9.0 版本,可根据环境更换版本号 +python3 -m pip install onnxruntime==1.9.0 +``` + +- 下载代码 +```bash +git clone https://github.com/PaddlePaddle/models.git +cd models/tutorials/mobilenetv3_prod/Step6 +``` + +### 2.2 模型转换 + + +- Paddle 模型动转静导出 + +使用下面的命令完成`mobilenet_v3_net`模型的动转静导出。 + +```bash +#下载预训练好的参数 +wget https://paddle-model-ecology.bj.bcebos.com/model/mobilenetv3_reprod/mobilenet_v3_small_pretrained.pdparams +#生成推理模型 +python tools/export_model.py --pretrained=./mobilenet_v3_small_pretrained.pdparams --save-inference-dir="./mobilenet_v3_small_infer" --model=mobilenet_v3_small +``` + +最终在`mobilenet_v3_small_infer/`文件夹下会生成下面的3个文件。 + +``` +mobilenet_v3_small_infer + |----inference.pdiparams : 模型参数文件 + |----inference.pdmodel : 模型结构文件 + |----inference.pdiparams.info: 模型参数信息文件 +``` + +- ONNX 模型转换 + +使用 Paddle2ONNX 将Paddle静态图模型转换为ONNX模型格式: + +``` +paddle2onnx --model_dir=./mobilenetv3_model/ \ +--model_filename=inference.pdmodel \ +--params_filename=inference.pdiparams \ +--save_file=./inference/mobilenetv3_model/model.onnx \ +--opset_version=10 \ +--enable_onnx_checker=True +``` + +执行完毕后,ONNX 模型会被保存在 `./inference/mobilenetv3_model/` 路径下 + +更多关于参数的用法,可参考 [Paddle2ONNX官方教程](https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/README_zh.md) + + +### 2.3 ONNX 推理 + +ONNX模型测试步骤如下: + +- Step1:初始化`ONNXRuntime`库并配置相应参数, 并进行预测 +- Step2:`ONNXRuntime`预测结果和`Paddle Inference`预测结果对比 + +对于下面的图像进行预测 + +
!lv~PC=?ce=7L^&!uBBPz78)M|A|C)R(qcq!`t;64>c1+KZ9sIDKrdvv$RL2+onHx-gV}8+QX6#koQ&G{m^=mf*hdPe>>ONe~MPA@s zGWcpa=u7BP>${n{js5MmMP5#>{@Lulzy8au+U@B4-9X6n4J>;-VNXO$luXo7X;PK> zZQWk)_w5_aZRz #0tC|g$TkhlkbomP1IhVMX)UT+n z7}vp`T7PSsb{cxCw(MIvO&-Gp76kOYu^w}4AF67$EPEWyNxqj=pRWnI`Hw#C?Qs3+ z{BzCS$FJ;!POMJ)dJr~6=0F_Dv*e!c+x9N?LdHdAOibq}OnA(B|22}RGjkz}H%^gz zeVKUG=Meaq_pe#IRh^7Oum!|@^ptoY29#C2Z=Lw=t#q92v-GX#a;9RutTrdtwc|~G zD#Jxc>fPrr 7~PP%n-R-?|tI_Pi}Abhr_wjY41nJ?!#^t z2y!v7+i}ftwnxtU(d@@R?}e92v>CEYp%I@hK6O@3s)I@J-y#S&qRbqWzDWUyxdlk0 zJ{MT?$YbVmTyYnF4ayrK<7r KNr^A4MN%4AOD+v6dUWpDBo)xwedjf&v8n=NJJ329gj0_HzXJ*#sep z{@<}ABrOE=|I9-{K!jOC!2Ituil6;|SNv!D@0tInhsuZgKPzA^@}d9F7;53arG0<7 z!#_L3AJRH55D>W3|20S%RjL~Z2w?~raS?S-$ct|HE-EQEW c$6iUbb2dGzKi~Wt^sZfg`m5z9^xn6v=~a}ioZmJ)F%$l_6^~i@ zx?MNQj0S{FX33oXof@-p4mQ1w0;L%2cve52e=wtQ!6qv;<9hj2`!t+Cbb%s{V@`;` zmA7rTg55hu{e=Obh*a6QtZAa_MN|8a5xoyBKb;GIfx4B>O_jd?Z2{OnkoZR7W1;@P zOusb1kXgE&o07D}#vn6Aww<=&khKLP0w`%0`(|Y#4ZyJETsg9Esq?_LB7y~It2nEe zY)BeB?i!Q@_zA}RY}fmyp+!aF5_G{on`WXym4|nTL5D3aTN2Kr#Vi%l>eLj_6~0>6 z1ZYT4XTsd`lSmv7A3EqMUc|W2lFyY^r%DK)(vKpFca_j`(eM9b>Vn~S-$mNl#YLO% zQ}MgvL@Iajqw4khzdoOzw^0X}bV>m{Xq05F?LxsHjhOu(`@v2O5)taMW4@4DL2HSt zs;UuG)R;u^vaa}YqE*G1gSdwFEmk%pGiZSK}E+CaWU=ft8XyBpeBSe zxj {>87R5;aqlaoPmZ;56y*1n-LE=|$@dKD^-vDNqt9 z )Dg4u4#jnLD585shY#^Ni<%7CszvW=hgVHX|iY1@k<)^8Ctxk-VK#Ee# zh-W`s0Llqg1lVVpc9ak-7x$Z#`5O7t%lGyZz|8ZH^^cUvp1nAq?FqWr*)bvFrk@5w zuVn|EAOdihDJLj)0(dogK%A!`euOn@wFw7Tc 2ptW~!6+^C~k# z-J#65eW9MT588lMP2cJ)o{&6%W^eoJYG*ky_m{&wp6FlLN)B)ypI0`G7?v1TQ~|QA z{)^jP`+!Fl6z^`;Y{d_TlnLc7rvOX%fLtxM;BM85ppPdZE>xJGxmcQf5xeBdT*%NT zm0B5DA?q@>oD+}~z&cGQDG3rB&&)d?{+Ymn9PQO}*C6A(3TUyCJR)>@YA*(@o~7?= z5wa3KXdLLYoAgJ~Dt#$(V+_hmKlx`wjkzL-kvc$}*zSwpM!~W?mMN}+*DQf7{TJyC zMjcS@u!95=#LaYL4D*nzX9(Dy%A3QI1#Lvb*7P^O3g(CgzCvThpk?x7n&ytMak3=f z=h}js*;c&T`0=ro-xsp63?^9UkIS*?Qhb^q3P5q7T7!3$29u*hAMmKm4}}a99NKL3 zjp+#?#c+))9az$%9R2!wtmDkrqM+ezTMUHQx}bicQTotNcb7%t?t~%R?s8N`oBB_N zvToEZ-(}J3jinv3Y}X;-2^yv_S9;F-Ei;Gc9Fe@JSB3AHKtEQbs|YsnTst1J2rPTG zb#Y*8hx@PoBTj30;~{Nwo`_wk?%EFuiu<@|lOMHAR_n^;FN&)C?QTz8w028ygb5x7 zA>e5iS!8P_skvvD`V2V{bqe}Am~InPwzoDXL4{^)vG<&hvNzlT*&EJ*%BuqIQ!5F; z=&r!2y|M7uu-aw2(T)t$N}Md_R1Mu+rm9v0`XZv-=-;ZWrE>paLqTDH+G=QJyPk2U zL|`bKA7hjvxoc>PI%q1y*nK%oj~S4GtT_i#xp2WG`Wh^Z3c;hj6r<1jn8BTX*f8BL zB(&C_O+xIvqlkL(ml=ppOiqJoUVVrJ7uJJ}A|WrxUI;BgFUB1{#0V{; z?Xe*O?Y-a|Eb=7E=r)2$XW3AHdoO5f!O>Jz}1pC`2iq!aEv;%KOyI5oEeyIyZ2) zSVRR?8<8$Ra>KZDxJsXj*9s(yX%heMl^%b!z%n~!uf@(vcP8_}*-;2bWJlYgpgIF% z(e_b9R+kpKqudF>X|N*0qg^aR^ycE`gfO2-i!|=eSg(2| ^Z*N6DY@9aDn_{^e^F !{4^^tUt?8* zI;#Y1i=CxNRcHYyn6);afdl}tmP5jVMHThz1^MNNN#G;g_cIkor+<%|*(sh`O2P1= zFLk9Hxy;%KeFErLE-c(9{@ZRH@`Fa@B@qIx%n*rlkqBWKU}%n}vDPNAfqgbcrdf1R zE4>p*GLT8(knP6bO!@VR(2g}OCeH}l9fS7b^$Cvl;u`_hx|K6_k;apG1SJr}9Er$k zA>lBvumETMY&@al1r3hGS~Y2~OQsZGa-sm_u@LE`jT;Tb$KZpt7)L5WakMz}%IgUi zL9i+wJ!`ZdaBO%DSo;WOWah?G ?vgA{{TA$K(5CM*BYVSo5 zK8CV-{nV6tJ-((|+YK?!$RP(pbPM)2y}nOTzG ^8O9@fgU5yBaxe*U6^6ZY>B7NBiQsRrd~=?mNH3PbW3o#m!~}i zLdEIPq){=p#M7*(Z+acfE>~nI8{<+(;(fP9+i5 Gmko@1DB&2hBVNsxFlvY{j#`KSCNh-q|F@i-CwY+2zJC6=zCKa3+Vv0K(2kl{B z+{%-nvJ{*|VbY&}$S^vB^p^k(GHAZqEB3JM!F03Lh-&>|rpZbT6?uzEcJ{>d7k@#3 zu$DVmo`$Qx-W6fJ4peqLk(Zek2}^!dIyB4AIKPitVMZ3OZJj0_=}jd|=EfQkBgq;Z zXxL!|yW$L;8S7();aXG81}5Esc-;ag3M&qg_--515zsW4lV4NyXihYsXd4J>OjM{* z@!oTjUoXoME2di0XOV|s%K(`(`QACrtk>c|NrK8?nNRjmm~LTNksmcN6oRIMAB^1m z1xsA$Y$y#hTlkk29z5heE;J$7S@Bw=8jEFS%P#j59tQf5^k}CK0*|x2uV{Y;lrkZ3 z#8A_Fz)~V^>vF^~Jq-nIP~f9EK#z~(wzx?8#6Yj6){ b_4!Ah z8RFL7Q{JjU85%9hfm;2Vseh_Wf6ZP%5xne!|C>IjJGxB)#T-v?W#UCqoBm -=dxBgii5e{S?4j_r&k1IQaZO_B%{qf!MCU z>=b@tJC$K+`KJBHI)YLd{B0a)=vmDl AjpDIFA)D^r?OKiyEXOoqTRVEFC#3$4)VRD8dd{C3 `wNP09#_XB~-p<<(3x4Mq)D?`~b* U@R$$S3hmm8;hY5O5^c-trZQ}N14 z)J|dEYFQd=xrL~m205YiObYx+#;lo6ndQ_HCsDwy2%oeN2%e$Ja}u$GL%=xJ!!C+z zaHrEu)tV$6$mx;@-I_?bupGB+;2Dmh4?ns4bg8+jk78Bns~FGlZ3c>i>8N$HLwa`e z7bFgjWc@=j`m>-=nted<*H&htH8U{K `w(Kq;UwN8;@+mHjqf(XAF$~$ z{<*)&@&DW3M$N$t62i3k(7humeiBR5Q^~BmQ4 i=S+m!281B?~>IL{gFa zv!}=kk5M#MaW(0igu=6ScFXN=D`xW{h?79c2+QC}{6NHy6)7>frZAyGK(xV0h7r7` zqV~hKXu5a9(}#p5oic-;!DMlxG11CqNjapEDTYW1a_o{Eiu{BNk#eo{iTu|;v>!Io zWtfKs>ZoKi3v{tD{FX;~5(_$ ?Npeh6_8XTvjB+}>Q^ys+7!>^FTIY%6sUlV837kz9M4P6eubo}_` zR%n9%!+ebTYQry8@JdoLyzS2H@_W<;F`;Y#o~=*mTh(#wEUts_5z$*~&qvc2Bx>3N zfbgrA^3_QEBDKtB_JL>+D2}A)H&$o`wVtdZk3>&HRMl-;irN_`h6m0K`jPrn^qOi# z$llkL52nzb%eEFk80mW~Kj_Y5VrsSK81}Fd#a2QwsGtuWH+Uevym|wEc+2$VrhBU3 zD!h^J7SW#(sDF=J*7ik=vV;8}KP;nQ?@84e{V8odKhh6$D-5^$S!~F}5Q{o@a&A7N zQJ%~r;&xSA1+vt~nSYz+)4!?>!m#WzaTfBvaKRu5OIWXujH9P`R&&*Oa6=**=&y?v z%nAO6;szFV12Szn 8ls_eEkDrvCQRs2sR5JP$@r8@ z&+z?W!c|`0H?veh#?gcHxEOW< 8yQ_TCB9hscV%Ja}mP;$9hlX>GC1NYbs!5i;7IRP%t zS9Z~lxaFmUE{WkBxydpJ>zV7!$n7 $=1_;(TP5JS`JRUvkTf3N@6}Rx`K?bcfSa-r(W$w-TyEpx zD%25qcMV_rTs+yA13QK@rDUHuDKBNz!K?0~`-Q`KonxDlXx8_)4i%!&t$qSA>~jzl zs__cm^aXu8J}j oFgjuIFe%y1o%`1n zz}4x&42N_;LPBD-p%N8D0wi5gv)T?_WSbgHz%gW<)oE0jPX{_EVxnze3YGShG$c6D zP`WULzgKrZ1(Eh|{t(u434;qgIy>*G3@+v5a{>jOR6v_peWdC>Rl?qvVL3s?eFoAv z7hCF#M!B_#GSrF%Jv9bH>)LRf2_asCS+htBD4*ScIK&@NNGV=msgNYV-%M}A_}a$O z#(ObIs^k=Z22J#F)kG}CaIyFKkZ;z9d18&khLd#upX63joCIf}sR_58=bI**kECIJ ziRvcfFO_!lExGzS6jMOsqQmm2KB6G@@XgxugH!rM;;gD9xDh`uv|+i1u?aLS`bLJ+ zjfDk!qacq;T0GSlE +_6RW5}r-Wz#tl)DrYI zm&vYb*W4SENy;HlQE>!7(z6cMTS$p#qr)0a`wnb(2&lh1 ?m&lZ zDPXc(LJ-=Iz{DeX*w+wn)z^$fbHTwD_mLSQk99g@Lz@GTu)+hr_ sKS zT-CcyzgHA1CYpfkB5Hf&C&m}4zQUY}P(cnY%@_Io!`4Yv$&l<(9a1Y$X2t3s42!aW z;{PU@?6g3u>5~VFTMscv@fY8i|Il7bA4WyRHHTKlx+nQ OXlTHEVl qmQX&ZYtj2v%nQB7`fcOq zF3IyQ Xb+mR_P|v^Nk99^B=PUNU&CAMz4RSrJL*JOu(0L zDrvNv5o2|65I^By2-U8q)$F== EKXdCB+PponPf~r@{$*jex6HtiFFg&tfftZ@_)R@uBR&Oypd8X6O zO9?9~Av%IlqVuAM9r&SNz|jbf?>iggv6SKaRE>*w^l d_h0k%9_TL$6 z+)H1e{k6^Xkq 7@PRxc` zakS($Da%X!>ix=*D1_j;C^5FY!;=h! PmseKT5l+ml%pS?h%QSPMhL1nr9K`TW z4Dp~;CeF)NX#&_2)6oi;#m*eVH9r`EnFHRpCw+q!m0&+ZauAv?&*87~sSL*suD%l( zw**pa`iM`2)upJPDZ-?*8DhRe=Kn>1`wDfhPexsNMW2Yy!cKoQWI;DX25kJxE}kTy z3#Vx(7P2NHZ$J#F%%x7QTf$4;W6+DAJfgTRgu5LYjuZL025epve292?)FCkc2@ z{PHiqXTrsjoZqe*GxU@CLd|TTQ-uKdN^si|aGN0kQ>ViLaYXXw-0|*6vHsQjsxNpa z`BKR9w`V9_leX_MZbA&g)ZA=@Ri`&8Mn*`UN-5S%m+FkyHjpZp_&0E~?!UB1_dk!= zQ&f3drPCT|* z ztpRYz*N}`fLV4|-Q18b;YdoU+{Mn+87*I%Lq(HJeLPy4K@@?<4hPEa*5-x%1^=%Sf zKPr(g&O!Td|1rc=F`ZA;)hTsZOdZX%bH#r5Qt~=!M*D&PmXg4mBv~O^cKMb``$3N* z*$?|g 2z_?y(c-EBcl{6Y&Y5E~TRv*nSZ-xz?lDxTKk;qw?0pWug z0 BD#@w3@KSqLXXG%r$p z*}M$n;j4e%*w9zu !tEk*IboRCJ;i3$XZLEr2Ej(`EoW04fdThsGmbUuaGc}r=! z2Tz$AUNoA t@olMs6M3P}nDFX2fTy^jqyeNu$!_D7>4TfJ)j6r$T-+ehZ;4oBcFJXz zT(b0PxDfM>WgR3yHm@jNCeeHsYjDyO`Yc564FonR-;4xK6(hPKS-c?QiecH%pFfX+ zj0IOtF%sOHAsVEo0|TMr`-sahFzgaC-?l&KN;1b8a12R1u3{SRQXjJ>xdveVRVRgq z*dJfLcUTZ7m|a7y&kS m@1HiuCvNnZX`~u3!TS(u zqGfNIE?yi^UatZjtn=3)h2BO!wJnH`!!*I&HPzntN;{9P*s`|(ePf#t2Q5Jv ^hc2~>7k*?1@#&T!O?}in5jV83fB^pJ3}CV^jU?V3Hr-Au5;M3x$8Zgf zWxgIKQm16gWcIA=?$zBM+wM6Cus;saM1nns%FnZMy6B)^;I@f(7vDrdMqd+6(jm&3 zAMd5CkS4w3pR|l-<>wif&Xu9nO+57;w{(E3R&TQ6JI{)C&Bz4FfADfki ?3iW~XcaZrPEm zm&Ep0Gh`w~Smm9PP`Y|T6*Croxx;_(yPD8F?+)(^!@}#nhLT+TKlg|>bv{d#f#zy` z6c?!qydI|bwD}D09nQAsa q z1f ~x-UYrIT}c`{`64vd0~i*$! _J AnqR5JYc=mK_P#( zB(HH>+?9Fh mv|ZIg_eTUGVBhnYUfqPho@DhDp5Y7=dh*5V^g z5jt@G5u?HyujaYrqbji^f@EiMoMh)2g~0!U(B*+ZSE8lbabMCSVy UU}X8P8&}F zc^s_eqpNA(y`(boA9{phpEiB%#8sUUpl`-5r#RoYU>Cvq0+&{<{=Ar`c!x5cq6a`P zO7~eSH%m&=v=$$d;nnZ|K($`s7r<-BOfaGpM0XwbRbJj=8sAj-gbO+u|5lO2`T1tK zFDiZbqW~|v8M~1(61aFMDs|4V1P_?49DgV~-RBhylwPGm&2aUGgn9xTK3FR3-pg{a zapob-KQ6d9BRwV-BV3WQ<1)6flHk$PXl5OxCG>2kCkZMq4vV04^qkXp6{!r8lqHPpN%NIwP0WxbjtgT99rSztZ-p>IylIU8SQ2{0&7GUV zjV50A_R4jXcfD+SU&QsoopE69JH8|sRa6(9ov#5Y(+B>B*1DeH7DBwO3q(kF!Z+Zj zj|<;^)`)K!^SFz*M2DPDh+$J@0$2IsQ-9WVPOFgDe}b=n?WXe%K<-os7(AV(-zgg& zB7HK Y *MP$!Yk7=FBGh|9uex%|3a;>B9DWCAf*~r=~4x%ilFy676c7;{l;TcgN=nVylLV zlD>*Pr&PW!R=w?r-fLeFk5+B?KfycizSm`v-tfbuX~$`6Ff+wKvC;B!_3i9DH5(D@ zCI+MVsx9YwwNt@A^H*OjjGflHV{0dWCNr(H)|+JAl911f1u}}=v%IrSRSDgiEAGpq zs330q=-^zoB5@P!VXJ1Sq@3{a4e 9>;YHmMXWV0>b#E{tz?kOXbM%3dvWu^y* zKO4$Tv_7vA3|NUlqrKXDs9hAy^8*$YeP)_IuD&YV|IUhr#)*2hGSk`SU=rN;ElFA* zF(_g?D{-lhe-;;|_;YaJVDWrIS^mpqX!>wioETs=ZMQ55GRvLCA~44pP~1^fsxiI9 zvX OrAnPox2vjusUi=J~0gY#NiZj5S6&I^7_x4GfunH%>5~-ik(7d(khW;r9UTX zflb)7=j 0#tp+mQT76TG8Eqkyx*52-hT2)wI?)4V4_x? iLbQUu=-Yb+kv657sNTpQNICn+t%$EdFERH3dPDXgbMaNYRr74QsI(qt8}s)NBFT zcW(!qM3i3Rps5~ArS@KN{b6-w0|o}(iVxpl1P8F4J-YI{UaWWv#6>MR(TYZ~Zm^gz z>apI-Q_)scEAf@o9lwcI<#6>XwXx-(<}66U!|`2}DhXHJh|^zQg@Jr6S~uSxP6$f$ z`7e#4MiulP1A0m!?)N?u?)z`BZL-th;p&WRn2cPra>fwyt|2clsXNcv;X1&5Fh9u( zno**pp#)penC`pF%Z=icJEb}!4%s&hWB4v_>LVeVTWMT=S+g9m6{a)>6IN #Z*9o8ueZvmBx8AtY{2(f>+d?gohGZg39?B?K0rBEQAuU+22u7tYg z{3yvwwx3+&Zn0>(FC<1bGOMvd4M`qT9@&_Z(~SmFB;KSg@#GvHb&6hheEEgBFKtn> zKN2kSzu}z5t2Uzag9ex kg@$;r=g7;*f%oJ^G`O62t zC#)N_Gd2PuZ1w;%70OX$yDL(;5;lO;!ZK-975{=JzuLvF*VTsfGL~>5L@?)cGB()Z zd6i ~Umb;g<~r}Igw7$lLv^4)@R z`P^m))Dcb*`#-5AyQp0=G9oV7G`rLu4Ey+iBjv@dCVbfH#%|?uVY=^}ufI(~AFM|m z1*!$dPk)C@7-ZU8up@^geT(u>9#zz7#b;rB<2M)D>N|AC8KawhY9u0P5Deqdyu$mg zCgU;tXh`u{)-`rrbWt?mW!fT{Rx$b$KGvcDh`YczVE8dyS~eaTqhx<&;gRy0cJ}cj zaZeBPJGTYbtL8f$r3&_!GnzE>W |E8vhhbm@Y9K_jzTo9a8b-O^Vnf!t0fn+m}?4eu%0jG!9L` z7qj1~ 6)m&gn7lSM z9C0@q+G=29uG9=@W*EC+4dN*H;LzXQlp<<*cci=gw;J<7eh{Z`dWeN#^hQi&Mdzw} z^&2?2>4`M9JGhv;`L@MyRH(I06LJ6dNN{HBgm$hK`$xCQ&Nts{t P-T9nm49)(8P>cRQAZ1Ci#qk7Q`iNRwP6#yTz&BctUQ zp~~iz8QYg^kouI!p**Pyb!1Y=QUXEl5hvGQPe;P@>>nmO{_#gKmg?v%`2@SZ8`7gd z=u7#V)J{4Y4$kH2V@9d~E>CS4t&>Z|g&qoDvt}*Nc+AuZ-AeX1Zgo1JqNVAcn hTZXQKj!F|}o|mZ_WBty#CBGQ@4v6^EUzT4e1YRBHwTW;!S8t+OANO5? z#vVRa)E`{a`(wYy!M-U!)c#4}-EC45sWw3t0xj|#1(Nj^*qS@BxML%5e8L^`RL#jm zY=77vn6rtR+E+{VW#B}QZ?pj+TO_3cA?}cTdREJ^ZCF(+Eb>GYYi~Hg;;LVaY^hHr z0xdwTym~T5Ohv0p15<}KmcEnf`*?f1Y-a{pAWi;^D9pC6YHo)?mz{|7Ee0J>i5Cj7 zGQ2#0A|~`Hk|q)hi$H!PoUs%!Sq!%|tK@H<63o&NjIRWu&+5@0LnRD0JT&pV-8_Bc zz%L`~Lk_^I01MRnM9}OhQELA$#*U6$T!-EV>~bkt67F5G+x }A28Y BJk1Spl=+8&Cn*LNORJ{%>3n&-`t6lVEX9z(PiiLN;X!> zH2ZxdX_F}y>P-%Eh3}u^#-rVIyR%#q(lf@y(E@(@oClWM;#))H>g6x$$Oi3Zm2nHp zv!q|BYb2K^tx<8im{^I7+dw*TCI#>dI-281#=s0vRX6t3G@52KVvIB19Sz`h@rL>E z4`6e_n6JFYCDAfwa*h_60D0EBSg5%!s`xkuhlFlCf{-@6ACTa?jNSftNM_EvC2z(q zbAvyx5<5$%T@Vu%eM2z1`b(Nl(yw&f8~e?U$Z%~yO3hlGRy_J4_V5BO;-C;> z+8B)_(nM7SZlO3}8hT+Ul32g}kDium+<7QumkwAh!A-oB{BNLHDcYdr7HY)QHkH$d zJ3gcWeEog5KGl!Xp>6@?Y*bn6XVUS(WVQ@xY3gszFsjs6$;v%8;<$@IfWqO(h|idi zq~kG6+hekXh;7^mNSz)-J}82`G9N`2uAiNCR|_nAlmjRvyhfX70A) T)B)DcF;)ZMMU%<@~C%(=Ia0@i87vlq*VRRT@i`?C&)zA)b5$G z;|Iek?y1=qZ z+G>wYkbm@Bj-(7?Iv!0S((F?np2^w)0)>w1_zd74MWq7kRr{DMLw_IXwd0ip=!2C^ z_A>{_hn{O(1l@3{wX)vJDIiXT;u+dF1J90dHZ2edD&~k?ga89q5FO`iGS4ps^}&GI zl2}!Ubf|nnOKNI(DxD4`%#yHx#$b=bcp5+563pQ9rTAfS@Af5Yq&X#QbNz*UE&QA` zT0VNM@(UzyKwg6&GOPHSqQ6b-Y{z`%A&~wu5zc({v M7%!e|VMw8qm%VMu=JexfA&(s|0z!gW+Ae 0tP%T{ilQ>K$HChTK+x@U*3! zxMnR?&@|xkX^SE6vmClzk@zW-u;I_Vza5gn3FQYR9A}6_x>u@S2|Qre&(~D6Vd*pk z^`M`*xb#qqQ !6j{%qz54G3@$h+*)<3#z~3L-IP{X6s$z4Ar#rv zp4@T1`wzXV0`dnwKk%bfSY)*hg{Y7Xvs)U}>ylEA*xKc1K1n6iRMiRV?C9|yvHZlF z|A-||9#jm&$9;^bOT1Xv#e`5W>8eN-5yDKF-boxcM0V~mRUx2C3y-zGNC|kZE2ZV| z^*SZ66I2F34u>!o4%V~KQw`n1oa~2DBMqdpYq>+&-{y{kN N@$h|x#KL7Fd9eURtgD$X$*CoCdmIEe9tea{+8gUKCHgW2|8m$ANN_*r#= zQIY92Qk?h5k?YUzv!PYgLhes9FQwvh^s38tI_rfgGOERng@P;%(Dg(6anM%ysb9Ds z<@p7NvlfWb{?&9ylN@N#BZ(M7Sx+dJdam8ujjy_VO9iAr`K-iH%=J4Qa4}J+?arz8 zCQ$r%2vxydFF q%7jbzLfq(SY~yxd2Q`+0 zy&h&S)~m92Z!RTh3LdxoMqho< Po=2;sg@H327_*ubJ-8gDS zuTApGu8h{mm*RU~R SjBC#x^ k9J`5FDMn5?C_(j zK$gyAY{{9V#8yHdo5Ar4B{GRs>+MV~t`F=K|G#R{V FbGyDaQ)v>TBI wc_@|a%0GSAIfY%2IK%p~qrV!O!4wLdRP>)h zAzGO=e$vwZqliul6HMc`t`DJxL1N9ivcwVmBNZ8wwCs^sc^oLa9E3~oo%vYbbxDKb zvOb}lPqDgY4ZtqtA7x$=2sQc|W1xoc$v-04^LdNlBASc-5uL&%0PIyQ0^Lp|!CQ QT9ZdGODoSovt@YLjfq4QU*QCv2@s@TJOF4(^BzE#`Mzpu4`!O zfE=DYXQsUOu1|?yrjpntM*&BH#VFtqc8gKQoewkxbmgB26HX*1CJI2 )Qxzast+{!p%jVwK z90k} ar}(1T_n-$v7f4@r)6*W5 zss;E$EFscxrR)7)vo)w)SCM`9e9jzhUROKo_JT!$bt^@Z&_WdR<8tVc@5%bpUlObW zy3#lb1c(9-VHcpra79@j1?U@vs0E@Ih-9GeI%g8LJX*H%E}|ZZek>NPj~z}f`ofnT zf@~Ob%km-kt~&^Y-2@bN&Ualqd2Kn*jzoO4OHmSt+?%NElX!VQ6nMc^tn%BT>?3l; z^K4XX7{4v2>h7M7P{2lGwDK=J+Ai`Lm5uaYM+6R0T#SJ0Qt&81MI6UKg#r<`Nh2S+ zT}t-zT&%OGKkK{B`Pl4st1R?>$|M`vnq%o=k%+s6t_%LT$vrm+15QLS6 jb@!Wvt9MvQgIQNU4PaSFK6{o=H7{{)Z%x^k;NoakGJ$dbv)GW^)7U!4FJ+!YBF zpi_M7;CObnh)G`#E4YIOsiD5?g67L AZ7bt-{u1mf^09GBQkp}*YsqZkWW zh3f3AjmkbSFktGXNOtXKTV2_O`ac^b+4?@@KFjA)a4Ep{nVzPS)tA+)+0T>%)BiO~ zwf*;6< *8*0p;@wZ<+_bf*zH2hiNlY6Uy8Ydk{oc5$gVVmduiY);Cjx$H<2sg zu_$0sCPZz~LA=vJAB$ey`=2IzG+9m>L?kDEoV@mWqA#>Wd9Nh>Jra*(p-^G438%0N zYP-iH1^61=BPoA3kdaW{1vJ^HopIv^fDspcpJs}#OAlysp;*?(nC}y1OjKmBe2gtd zH} ?V?(zR;}i+9b+heb=?iBschN6NVDT zF+O8NYockx*Pr-aPR8#4sv-2o)nTA_f0vPgCx)?}Q1Lw(+y2G=CWfoMqrg!p;Itb@ zA&&biI26#8TV45A-#WQm4y(y&AQobnxN 3KVVBI58Z;cePhb8Z2fdoY*k&?-z$rYi}sfnk`J^fC|SA_zR z#U5l|?;wkFxhX`v-HCebgZx_|8#g`<5miSG&BOj 0{t_$%Q5$yDd*6Rp%&nw6scYNQF{;abu!8aey**+Djo=3A-BJJ|%Q}d_`5uH-y zGwr8ZEx+`+_5EKq8wX;GJ~pYK4xa*OcJ{D5{O~XEz1AzKYx{a$bNlT^WbN9MWy6Lu zy7eh9`@LNF;aHlkWr)y>M94qg?f;fineoT26|XQQDO6z 2TiXz@VIE6{xS|_?vU_N^$k+p4lPwp#A;dLtMRycv9|d|#8_+&FxhDsZ0`)$e z7=ceC*9EYsODfW1kKHQ&{Le2i3a#J&{ZGjS7rb~$_Xqo8n#9nTT>_H|npZ`junTsH zkGFJ0*rg%|Bv~1QkF;<{!rFIO Qh%Ox!4z7^fLM5 zKmN*+@9X{zRICzB%kdc(R_VqhJj$W*oj)=pTn%L%xjwAv;H1bKJ|yxbTb(1SaUK+R z|Nd@~Q#Kv(SLjZxMeqqK?56kqQp%-Si6w?ZR|i*MM}c-zAbiVR?WTx(exNBpA5Prp z!>LdxVFj>=Rb&r?K_a&}Pz`ezEoQ>{5C3opR;0&Jw{iLKhksMP^{saVx=of^I3fV@ zd9L32SamOAKX2NU?aCE;U8P^@bGv!HmRtFg6D4l>Tvkd2L>?{em$-kBUi`XQ%;S3Z z-H(b~@LG{CTr*!;$A@x2|G+LN>^>-R)juH8TzIPqrBFqp2nrJMXQiCmFQwd=l!_T6 zbF_W6y^o8aP28;SA@YeE5q8|H@6IBSS{2Aanp%dlE2nbqYhQb_y#M_#kUQ`EKI$=F zSw|90Oze@*e)hHUXMeWNAn%$WTc9uD1Q ~}lyxl7oeztg_PZkQ_-x0E*YXz*rERoWn#E4; z{#nbP?;hwV& uFI{JX?um7BU-~%th z#AvqqUJi_Q?6{?R+#5S=vjiro!H8nlPMR`+0VBjFDpNph%|a1$q(Y*d?{C$!e{!41 zQ~sC8{_$f!@pC^A`SrIP`?{cBf$0iX=F3p7!koD>j%cx{v>z;Fq?%XSZz#M`JHPtX zzmo5N{~w!T1)8S) iVEw#K|yy4pIhMgk4ZeYTXww!Y9!-+-wB);Ffne zC1W4^iBG&@L1poBo)?sRs2sCM_U`c+7ZT{J(fZgVl)ita9BbE}6ckoiVmY|zZ7m@< zwk8^wW9=}cV)lT{9s>LyX;nxScH;>6ars+C4ow|Nahk-g1#*z)?Mz%KedoW4yzCw3 zFw{S*<~(00LNe5qafNpjXafbpZAa4vg1AQplLG2nhby>DT lnl(YMNXe=hQof3IEhqgzF;xmo17 zPYOvT7bs?=f(jS+OWE5aUh#A(#|9v0tf0|VfK@X906+jqL_t*cUf{O2oNDAN`WDJ$ zqL6`9{Dd<)EKUEfxdxETx)hDZ =75U_ML|*%%+W%qOTMdQX7}iE7=1iKyR(@Ar zM}c-zpnsOT+D%FK{EkzA0}4hR3xDVE(0=B}S#<%hgxEzHgLuqzl`s<|BpZjozCC zYWpYr13+m_7~geajSl-hxZ# 2$M@Fu!?;JY*aQ%E+>G)rK$Re}*!Q{KM$}3;qr?9DzrWom;FPSRqbJCF-gCda z_O+jri!Xkq@R)&jF1+w1@aefrPB`H-b7?+5Dm!lF#bB3rsmw4rxmUjQrN3C}ZK1fH3u8ps5gFMnKC3M#kcY@Sy~RJFV1#8C(grUH z0}@!PII-&|W>?W#dOj@q?t>y%|8Rb3U;P4+Z@g>1vW{20{tA&F{!{JR*M9)(i+0_o zb}~eJiin&!aJ!W9(A>G?DBvhCj{;6%H;)|dAgC1JiXJ!h!NL{XB6_D>&d2JXHQfnn z*^gE(PCjqB<(o&l1pkE(m38zASsy6`)#dYLw4rAZc5G9w&~wxFKKgTl^RJe-(T9%| zc8Qb@1Ww_z6w1Bli?yqN^v@#aol-ll-y0nix$TosAI 8|ByRETel?@E!N2qUAH6c@5~E z?=-nP^gf!R63t2fgC6+JA~`9;w7pfn9B+a2IgR|2$q+>v-tpP-(k0CIQ^`wYZ9ZSY zMxW80@BfxcKQ)KtSR{<;v;T?VVx7|M8Ryx>(Z%X=*@Yt8HrRhl0RMmBYl~eO{PP1? z3{K41{ACW^6Z`_Z5;_WWm;z2=*I|OY*R_rU98eHtVv#1{WaWW@QDH %#i2O&=3S% zPbEdNC%T5PBZ`z(5Mh;5J;e@7t_;U!bhn_ 7}oeXFcl=;ma*9Z+OFZ r#M60pIZOSj(+ zr#+!eL>N<1M_;UE$UqzUw;jl*X33*`+{kBz0;7BO9zrUYn?mH_*UTf&MHjtn-f{R3 zG;lx!vZ7=VQtd)=s+?-<|0tt~r0 C=z8Tv_O8 jqW!Ys`870{ z)~%bljoKMr KDT<@3p =mf#kH&VdL;y>#zag<0 a5ey1j_PVY-sAdw@s|vdLWSyK8x%Zy3Oi!0( z?10tsq>>ifAD@# ~S%g1GOU`95r@? ~yNq-ihw*yXI;NG2_UFc!1z-~M1q%4b#~t$dcxTRyws!W8&SWMm|~eAdVf4?cLk z{P%x s%_7nid=VHK@K0z!M~{WZ;(h(2}}8 Jr3wrB8 P zy1`@)2sNu{Zt}KJU$*-|t@!o+>}qGjvB$}5I$4lZqJW8R8G~dyISoSTso3Fn6OAr+ zq8)@ |JriJ7o20%=CLK*-3rG$cQ-FFCOE 6eSkX`t@*wqG~??2nqq^Ormd f*5y!lUFRTFHY? zRq<+PzBN8=m;BN9*!L=5C4umxvb&ci!i#+wRMvg$W4}Ews_f9vs-7@mB#%WQ8~lnz zQr6_)V$^8Qc}QUMV12*u+mG1r8I(P}!e`(4&fm$QLp!QOBuevn&->ri<6hjc{Vezl z{jBHBmtS^LeEhXm{%P$0D5K)>XwNJx%*-5+x4->~a`51z3leR7e3x8(_3P!~hkqe- zbCOJkH2Q(5omKWmqp)6qKUaZ_>U{sVAek3DnTP>?hNRXR3tkl9lLujOqKTu4&tC(D z+{fXo)`Fk)FQKoy8xdQB+k3t!@`b+ ^e%sF20Pbwp_)HVdY;HbzLk@TV6c?gjNCyA5NC~A^qV$ z)oS@Wm(}*exJN`CH=^re5f8alssy1fiDcX$X2O7cSSr0duOO3?`%Dzr2Ojuun2ml_ zcJ91=-eWGi?9b*Mhw*^m$Y?AQX!KefC{D`fUf{F6d$-GXzx#J}tP+7z<>RQIH4m-( zqsMmXE~Gn3GerUS0{@UHe)5x#!>^kvJr`$_8*aE-ve_vF5d%Cbq{%3H%@~dRW49nz zB@we`*w7D$GGz<3Vsjz;4Iio 8ZK#(b*2o^=wX-;2uHZmE}S-~Gn91o2Z^>94T2 iAtWvlp z_Y`4l^Y;6&n l8!d$JU%5D@d zkYSNXxr&fddD7Ganz?9^{*U}aWnr%{dDHqzjs%V4$xt?jRtmly5rK|1E_miKvZmr6{eX+#7^zseIEk zXGo-n#!`XqMV|L0k*z0)eCb+|>+V1_RiN#dKKON!r{VuAFSW;E{jKk2%0;y2(8jP< z#g*Gppyd>B3cHq*)IG3M6yO+9m37?bz_b@q5C=o;psQK6CBlx{ogPhz7?D|Jn7#Ej z!j6$)U;eIIBfj*R;Wme@)r4||C_7J*v7!_L(u_1Uv&y<25qedEADzIA y3&23t#wFdCz+;kq00AAM@X5KJ#jM=R4=4gR3`% zWXC9c@e>cQoFXaXQH!wa0-Lv_CF>P-^$*;#UgY*qiL4&2oqfe~?f%nVC-RGX?fxqO z9)1yGIBDR9+STFNBd@Xj%2=-=!p )fI2R=RpU4ioaX&njqH@)4KJvN^W-}FRG>4@hH2SIP UfE`hThxsgfhHypMwDPQS3YTt+bPN+!XBs}cMr$&;|Y5V1u!zs@q ziBTDIIg6xN wHWOjUKBEs~UuNWol_#C5g!0)u*@be@Zy+~S42N0aLi6e`fB7%w zk@UBI>peXc(Q{tq8V;<&1xQZQ&)Pmp Xda bfjiazEr&?SIg{A1D(pCJYD}k}D6-?r z^Obe=*ZlmWB5POJGjvb+{5RGA8_s<-i!B$N!Y-UG=t|u#3ZM&j$x$Gj6tJi|HHYny z5#fSO5h4xNg5_WQWSEq5i`QcDe_~OZQ}(v9?t8xw`N~gfG NmQn$uv|GvzExOh!>mWVhwj``+ zXlQk{=r4K6-^t@1_nhkSLOZPU`RBi&`q%dDKd$bFb;s~ez?(1{v4L_x{!k{3kXm2( zufAh$L8ty?!~UCoyLRIGyKDPl-Q&UnlLkJrNAA~Az)`@N#5x`b1qHa0%d}9=!359u z&g8Xs6?FB?#wM-6S%=w(FfnPao#&z!)?XineMNoRmFO^(`1r~=HUU%Ech;WqgwsS` zcSY^E7xu`fo*$J`Ia-xJ7Mari+Nr$L_o 88=UxrIGHZZpz4Tv(pjdJf8DE=zF*~W_e#==H`A}!9d~@M`Y0+> z7-*t*#tPM{ExJQKE5pXDTt<{ngAV4U+RlsKwyZyTvHv^oyk9jYuA4WXBftLZf87*a zh`_t;wr`tj@44qka?wRsHg#VRFJd25#yHJ`RZFZIJgYtYb3FAg`8J{`iW$l@R9lxa z<)^PYj;D^5p8ojS75vukepKY#ZMAb@+tc=oC+lp0!&V7bUPpm8P(VkCZFsbMq@zH) zDPRW;R$15XcXjXiwMl#T%FvEC6S2ezgkM$Gwc{<_eP$Vo9v@pTCYoTp@GT-UbKn&Y zIIsV3@6{Ab0aC8SF=1K2W~EEj)u1~@>C>e$bn><5p8Guc*vDq75j}VBzEkLzEX;{= z-S;5_8$FB%s8V!6Q7+R=H$a7IvM9OSw0!onubFrCbDs032DLfwWRD*hJ~L*{oo__) zj~$ }K z?+drX ;z&5S0pItyPtnFPt z;a^_8=JTua4;L0VE@QM~xZUiVRBuMh2(n>LY)c;qO*2l5*>+aG2~xd^zE$urU_ltu zX`APl`jk!cj~6>)unPU&c#Q_3SnT>BpQnh@x;TVgkXy=?ts4|@3cGGl-MzDA6yU&t zN*|hq9si)SWyNw2YJvi6H=62rVI5&LQAaB5;)qqx;1kt3c@y^q{gTgLBl6*I)=K&I zSBX6JoZ4|O>~Y{o-%CVDmdi2lY1{ $=KLKO }Bu| z7zjiOwzB7Ft;Q&?j5JJyFa6jxlg7p#tX{TiRf8s``cLq8$UAgd!kk-B`oD!J7j~1_ z$88l!B}EEzy53y}7pmov=k_)z?9Re-!kX$8c5!DC8`frYQd@)v}?1)G`#c`WiZtnym c;l#ZaN4j~w4?f(llO4ZdFRgC<=SgM1ccy# zJpAx4 unRkE6n_R4hxOK(tV5uAWwL2LtDj z)q8$<)jWG9j|m^@!r&8OPruwQa@k)Be7V`0tQZox>$736)#By%5EV9)OG~zpHbEyi zVXGnQ=C}9aPif6R`d-cRc{r{?8W_;;rZw;B)Kj)?d$M^|sg#pzuK8fo3cE)iy=h(% z&pGG0^Nz!Gz)5haRF*vCUv0rc`AYN7)=2qF<(J_zDD28 X|ijV4H`kkC! L@v_ovmhMUFQ+?Ff`txDf&!WCegR8@- B-^+D QMROs>kHK^1-zH(WFl!pZtqNKXxdV&gHDt*Z7VNDlb{EBMPfB3^=!^w&2+_B>} za}UjEFSy`}>iuEbF%}S|BH9m1SB2CExB`;}tFUVf!VushA5pa5gKjr92WF 62$Y>&y(NN)E4i(DL+78P^{|M~s7z)@ zWhOr)B?K)9YofC5(m#i?Zq8hR?Q_jPiEP^#)*3ZeZVzpiDGoqkHwc7X5`4)vWS3dr zZIW5r$FM5%^t~(tw?dwZl<-c3hlkeysq)flLwxqLuc_`Yv~&3IWAcFyybx&IO!e=J zE_zvYKWsZznL^|fQFd_afQh}?=K8tr)yML)@);E_1=yH{S>e(>T6Xu%x*%3EC^wFu zAh)U=tjaCTTT|A?{x1(XRe)12npTE2opsiw)uKQ2(Dm}*gV$G&8+S693Hk7c>66ng zvOfOtzuI_7XpYH0>|+eV4(=hk(f=)lSTluFun@ukC$)verQ9EcYX{RJZ~2{CNj`z~ zsUOY>%|8y?QDzPuIkd_t?84S|uDtE1K(Jr~?XRzULr+nF zgCY+bQFgtfuxo6hUQ^&{eK-l^V2~^DRZE@5%7^@TVrE2A@e(HH;Z)cioD_M^Ux=u0 z5jMx`Uo0{Sy~%$pK5v=VYR`YNNC++J#Df|0Yz_)LY#w~r1u127Irwr s=SgRabpnHf=f^zU|Tmg*HCEQ?9%2Q}W{ Nm z^{1=HVcIdi>wtPHLGD=}QNiuIvanHNgxD}ET*AZ~tt_iWZ~`F(loW$Ibt4f8%%CMy z{)9DgahSm-_UyR_GRc?szV|Zuqd)qBoPG9l;F4g4saByd3tybSl+S$T4}^;gOk8aF z-QPVnBF|hLz#o3|RJInWa1DV=4 ^a9 zze(hh^F@C3DI%wB7P%3wNq%~}$W8anuN~2KfBswZ&xP$s&6%A^Y}i`PmA4ZV2-Ym5 z6E$}42sH&bcw%DC-DuSMu;W0gSCT5UdZj)`)`QNBxe;Lkm20UY@w6(mZ2PtowRB{8 zmVbtWawdabsLP{KD_W;=t7K%L7+Qqgtq&ZzTK(Z~ig0T--FLOfnISaOAi{1YKP n =ipG_hE z7<6~A$7d7y#~FnkeZQ@>y3|n7oQ37QX8Y$vHUp@MPuHaD?m%!aY>TBNKDTeYd$E7R zah@Ptb-Ch9V#Cp9u9TgnfJ)!azSX_WQJ@7Bh(_VgKSDdb0tQQSJzEQ&>mJcw3UDG( z!m2<0Bb5-rfc|xQH65B-1vJ_S23~do6SjKp8$bRMHyiEj_}|ppClpID({>Z4{etB* zJ)6l1%@sXpyg6YEtCIh`^L|ZU|N5_ElA;QGV5Nb^VYJSLly!{I`1ZHoB2Rtl%Uj#n z9ef(2F6N Mg~`%5$wXc(m4urfdb*2 zMRtKu?v>r4fUe*wvX16COf<8gzlvDQ!( m`qPs@a16@HC)<(9nl;vm{J?; D z ?ZWo6ux5eb&Ur&*e=U)k)Hi(j{Tbn*X!{LjEpQqDMct*km@gRI}SO1#LBY}{x= zwvCS3Je5kBDyW=lRehANN+r9dHZx-vBn}*~-^l|Hj2m?7 4|MD*{hFRIq7eo!xM0V@eC&(M$cnxF+W+)*}ahS-jU00CRYl?Ek6)6PH z@MX&uD=${9vV4_JTfWl%u3gn_ -cJ^1y%l8tpB_3zFDJ`o|y^%`0Q7H i?EYsp+xj%T1qu zn{nAeD{P|G!kSJx0j@{BC-S=Yi+u4~1~9ADg!SUs>`8F-_LaAX*Zj9uBaw+YCF`m! z&z`3kufN9aI|}qO1%f>r?&p?qbw4Hrh_H*rh%(7TdDlA#JDNycbkR%Y(4j{S4NgD( z;$zYxOc$`NDizo)NY)If=B!G?RE4I?TBxj&Vr5i{ehPkIX!=%$SrQd2;Yd%%yyNQs zb9`kzYwPjd-|4%pQX&GsbqUG)D<$WzfQQUrDO_!!9R>r);~OH%I04?Oq0~A}v*Udq z&12vC)}NWj+;-c4$nM>D$;8ASD6-C%CqMb6!vA|EQU3XU7VVV_e47!$&aF}*ik-?l z@>qEJ>}Wi6`sq)Xk9=eTrph@eQ3s$H9y!|Of&b687yDUmO+a M8hM~(_?b;&EJrF@4eRe+kE`ve+`PQ7l(c^fizSlEag-rk~eZH z8V!fSb!7b$C7v7=uQ)B!SrMYo!k#_~pe8q(`O-y69OC!l-dbBQO*B4ZTWZzTOT*q| zuKbPyZJ~fu*tLbM?xC%wfFf9QB{-2tKv@?x=mh$)%jLo`plFsZ@pxJ;zx;2Sy*y;s zF)A#bQPV%tAlfix5R fk}Ea79R7U zQ2>8l@!YVqLaWLdfk(9{6n06e#MeQ=dIBZ^LpT>V4*2;NZSPjSak1y *X0gsE^*jJ%dcxqDM#N3-m~!Ifs~6y4kTo=61C4DcTpi}~QQ81hKl`dO8S z%E#LO4GhE#|5(>0RQz&bA;hq!xds~@JwYzL^mS%yXB&3o*>(Yyi;9#_704=%v$@z< zlT+H>-6-GD-bvX+h0no iI5p6SeaIDeU9C6zm5Wq z0`n*k{+@GQb=*NeQNa4J z9rXG7J=DuRzH?w;0LT@hj5CmTIk*Mr0o$K; z5i>B)WpEHKP!PFN2HFXDH6Yj+kyYhIr}#@rqI{;gzQ2Z$vc9WgF;3p8bg@46^nRBI zkpko~yNH=gM!;Kf@EN0ATi?GdvC5U>Exq!M=E^_H&+Pw7rMOWX(gg;iZAYWlZ{G2~ z+uh$T3Q$4EekE&=nTbRS`JBZ-0}{AhB{-hvt~vQv&Fz!3zy-rw1X$mtfKy;>F1Xp6 zZEU;n`r{2anO*ThP64Oc2zdkcbMY0rPXqu_CY1^|hX4pFPjIqo{n^m8%C7tqCE4o< zYDt+ct(6&Xos=+PaVgjoU_{@U(rUEV8iTGgGu;3dnF?=swt>u>!FR<43nFWJ|9c8x zQ#4g1`tYJzsqfQ!I8jgZ5f%LQV*eV!LPI1ngYr`m6yB)BO*K@=FDjSm+tMO$t*=W4 zrs-a#EJBlTC-RRQpLMS#ntOA(OrL{vC^iGWp^R$ozMx!1gx2WBi%fC$&nbd}QZ`qP zBPl?0*n@L1TsEHldq-a2&NvD<3K$AFgq>rAKvO_hZZ&UQ!6nj!=#zMyCPo~jIs`y) z8 U0_1` 00MV)N7M|8o0|0*(T86mST;I%2rpa8ke`O}KhH4Z%;Oi9-Mcu_fta z&>|scFd*c_ue&S%ouUz3eoL;rN-{99%)&2Pv78hi$`+S`MF9qG@GCLnzit+2$l2l= zDOapQC0HfZ($Msc=G8g#U6soWJ`tXPCR&Sr$t^mKXvk^EzVIMdtgl!#iOoO(LxePW z&!r$yK*v2);M=j#G?c^Lmj||==RzG9ROt(m<#YTKB;K)Q;c5@9AlRo^ixr|H! T(b7vITW^x4!00kVvE&z?-ig0WS=!&qe;3_hK zE4aQ-1OOcy7bTl@2!LZ#vpZLCA`y+wV#S{;xA5(T=!o=j!=x*>L0z#u7R4I*Q&*(P zpMszT$-(s!iBC(euu5|9Wj7F;k!0LWT8>56PX6yhVTbsgQt*eQ9N#RF^cG1Etv1nN zRo jqgYBjah$?our+6*Rd%;gdI^&arm$t z9v;G?MYM{1Qu(KHMBDw?Pi@T=`ab0|^+87YMbswcb-5e|pK Uq=B)fdwhxU>*yS#hnZj1vsFHM(GnMi$S49063&ckXn!{ zx7L3X);lp^C&DD0E4Ry{DuST+Pz04KBQjZ7BU6RdQgpuTmPN{T-sJgENEAk7y0{8K zLRKP{CzKTk84~P7+2=v-O<)_xx8)GVL2EDTTd;`sA-agOlUcM`c$D>43B+izL`Y8> zUgP4JOTnT5$2>&Ymdo@v$cU^|jCG&SEdLNqUqaa?!9!DKaWz=fbERQqVH oC3<6VDR30nIcAHr>cmT65_?ME%I6B?C=etH1bsFVBwD$$ zbddtOqNhlNMg+j{@Bjvba27v9DE~CJ5lo64dv~$Ps;{;yw?shZfv6+O&X ZvK&B-i4}iRdI#}hO_G{YS-73HGS)=?K9UVpgnvg?>CLp(Gfa+Y)ts=Vj zE 3IYY_yRKZG!8V2B zaOIy$1)}cyE0tvc(PB@K$@~eDDGVZFY{L1n3jhlMJ7n4+S4zu7VT0Mc3Kc5hNEWS1 z>ej7O z_wqMJ2CMn9E2WyFA%(1>bh;ny9{VNIJ<6~Bqnt5XELqZIab+^&c&{pAN|%yQ6+Daj zuFK_EAAK+m_rdVO;10{rt}A# RSpP&UW_XfIlZ9avffIFJa1ICC3^f9L?#<4J6Q4q7{&i+v z>vw6N@aXTR%ou%sWy~lOit-tP5hzr*QPMRj1fRHH#!_*qizeV4*#<2~Ujy?mfx#v+ zSp=KNHpyuCSV_f>mxh+rQiot6%8=CdM&(rNd;WKw+m%7N(&wUF(MMEE3mL{?_=uu0 zC63=18Bo@}&kg0pIh*YtnJYClL#QV*i$aL*>kY!e_HU`>O5a%T8 4Bs+UMm$fJ>D3=Gk?}K9xpQi)_DKbz%1{9|WwYET6ivC!GNS`fK4J zf=gn_=*nit@Y$x-W`J$c4s+Hvn@z)bO22}=_}m92&<6!sw40W2!MRWre(V}t#Mr*k zE{P)w={N!gSXy2LQkjShr&^?c43T`(D^NcznE5TAdQl%ykqDVwJ@~D0Bg>BMVfit+ zmRA}U?(Uwol9W`6eNjK^B98X2e3>g`MU!Pmf3fLwFJ#PoCN7+`%)cb>yDot`p>McB z6jYi%621J8`9~%fWhai!Rzl3b<`?ElG9Br=j?B7nm`rU(^sS6Z#84kWabK)|NptD>6A|0Rpf;40I^GXTWR3^HnL zPY;#BW(+WzG1FW=%iGGorV8JHN+12|B;aF V5S&l$lj1SM+5!FyI-+$s}c}E&rG{d%e{4#rrWTY%Z5TdpCsk zE{nl%6zw0|f!qYcPTL7>H?*FY<9T^ceGZi~m4EiHOl-gC%Pt-#i<3(mxu2WK81Y$- zL}neAnTA5>OPaz?-(mD<8uGROSt>bG`O*97{R`VE`m!4uqI(QZ;xS6R`LbIMxzT%) z>6pv)y5Dnia}DID6%0-Pd)ME;wg=1IKIt>hC11Vm8hQM;ACl35ow9SE$d(Orx!TTM zXao`<)^a&46PGL-!`5SAe+_||5HN<_ObFTWvO&NzP3UK542obk1{0G^lXCPKR5rjD zc~JUpN~Z@L8-u=&eB`mpn7J+T%Cp*?LG;mq@m10{wpQX}twP^vT#{*NX%Wa~Ly|(E zn&I(A=^0%I1L`_S=9*wmDNp0Wq%XTT+P*&g?&vRyj225viGXJ{=1>P?uI)>wX+)*( zPS!>FGal)SjO-{fa#AV!yc)rPzkHd4ODP)*doTJP%Rt8H501J{H;gWv7-K}%g}u{4 zmgeP$(PG&~QI5>#=0f5-+p_!$h!pBz*vSu#cA*d_Sj)eSD#RcZj>(owKIwLGS?rL- z`YMEH$v;2xr1xFdw*Ep{b>h`aet)~6AyBRe7{jhyYpzP4TW9!m#!qJe3ukb1xhNO_ zR9*)#prDVZ7N8Y@GE%}?Yz5XQ74cB0N21X_X>F~==QiY?xui4iIuoxm^OaIZ`aa4a zRQYUgZ-+Uk1x%=8Bohluf9i2*OeUqJrdJxAQ|<~Bgc5zFOfDj0=>{1}cgkpF3w#S6 zCrx13aXGBkmonLw%XghZr@xD!T&XWK$`x0?4h(QvTogXWdXd**Ahr^W2_K1B%d&j& z5y--uHiLgeB4n<_!AxsG9tCrSeNl1d)8aqb^mkA>Q+e0+OXZ9VJIYymI|Dm~q_2-b z4jQm^qTupbMm{|X<#AMfkCDM1jmEJhAZJ~WvsxFGoNuA}k?Kp@ek}GI>U~sxv_19h zR0!?V0AwbEoN`1zh%Js8xY*BS DT!={97?Q} z?vd4!NFrzemU7dvyQRfNfCdNRJeI1FzR`4jbx<5pvo97P!9xNpE(z`s+#z^yg8Sm` z?g4_kEbat%_uz{|@Zj#g$RclZzk6TZdR6bQshX)XbEZ%CY5Vo*k3Ie$eHL9uJU|as zX!$#UL14|y5CLFt^&TU^G_@Z}SpVhcg0Zi;fq0HmY0}+_3|G3jF!MY~YLl+;`7Y=r ziNo$@Rw^ZHWNBvZ&2zUYJK~gM8-; ;b&Gnv z?kpkaVH^R_i z9#c!Qo-;GlBwmEU8iwn46-`4dgK#`P$f@$U%&k8~K?6ycDdc7wn%NwaDR^Y?n3{l6 zl|r(vjF}!mY7&x4C1hu*u_uN^@nhG^96QJJ-19tiL{n_~0wq8w2?@#1O)VPVzLi2@ z9jbAHzuXIfbb+SMI2%Aq9Grjw3bbH7%GFO{gWPfkX7!vdHc1d&A_C;ovq3PeO6bq| zlKFE=q1A@3$Ii4SlDo1XouqPIW>_aa;(%ybO3`2v$`5_^g>0wAA#S~xPINZRL#8#I zh60YI-c&mgr(_+jyS`e;pbRv(>o@e$yYee6&w>`vxuvCWcZr&m&0vf5uq$Pg5z>lY z?`44t1ogg#f%{zTumFFov<$W#+le9a-HO`yiZ6d8zeSIxmgUSr*l2~96-u9KvhpX# z^YVlQxKq{3StKxJ#sq(qH++2*f5 KjNT~qy}Wm~ zP4_NIoo}@?4W9R(mADNH@~qiL&iT(qCDpe2EJH%4zRqp)3S3C&@b?5<*yw?>;sNj8 zMvHH<`u>Wybixj8*Y_!|#=mZ?*StOT&1a=ICe|bq@q@eF@a2Bcx*ce9_Dsnb>3wi3 z!=08{00-u&&tx39RIt=_M_JT(xTedSj67MC6BBDw2$~QDyvi~nmu2>F3Tbl*@Q)h4 zxO-sR=GsG};2S-hzKk%Qxwj+=eqs;hs%h|z7{|w%B$Ussj41Fo^`7iXSs$6Hl?i*; z;+u87kpn4U@tTpCM&T^_-ndF$W*r{Q@Sg34jg9#c_|OUenYK77wiimw87M225A|}? z9UR0IBRlIIJgAw=!?!1|FF$s9GLtx4fj6*9mZQ~WyaZ{qLcPC2?(XFj`&AaD#}LNH z(4^acmEo|4>Zxn^KXi3WY#@WE`GVVx2j001Qn11u7;yz=M!YSVUCzr)TV# jmF;5#3VkO3`tixmUH&E6?U3@lt Ta3=7vp=``Ib@4^e~Vuly{ SOm$=Z_ri5Le$6`Ey|AXyt|LE;b*IPc>uGp~mRUiuBAMR#CK%?>k8Ci}c{ zpQlb35J(z$9DQ6*Sb4o>1jt6Ud`_pa<6BlaeLTb_2=(p{%egRjpgW1!u1-61;WtAi zK=_KyI{FpI(8m3N3L8@u00=`EUb5hui#D7hbV6=dqKz NHBVf 7t%~qK&7~bd;9q;E9?`|qckhRWaXj;r6H=+hyb}qH VNTW3GL4JR5Q90JSnV(h9n2c4v`<6|FS=F ziSK7Ka%RiTjzo_E|bk9sPX-dO$8>?vM t+5ThX<8^ql=YZz>SZpE1bCy?-!mo^HV0AMwQ9}wY`SBj zHedFOu3P=Bxjw2T;pGMCWyKC1T%O`wo#+O)5Xr zlR7U}J6%C4Konim!CJz=Fncvt^1V+$06K6CT3DDlH$T%8GLrqy&|$_ y-SKC?bzx#Q^kb>@(n0s4fp`yg8a{$qO$NS=n{p|6E;^j4 zjU^|0Rxb%zNi0625@7*{3E3B}50s--$Y8W&(TV%C-ibiYYGGc(5%?n^^a)JE;wHSD z6*lLUU0F2t)Ia;*izfc!1uLy d2J4oJn${FPDW;QW-nsX>OUjX9=BVH4Ml{ zjCZq|+-Ww6YqhTLv9jp5zYrB#57f>C71aRq+2}aFtzelFB+=K4 A`WBE z))_y!V@IJog9z)J2epZYXBA#mWD2MTScM%Vk)7<3DR*Ykq7x=V%&|xUYp&!3xT!5z zeC*v2_=JHG9LLg@{!2=@edgop{QRC%GRIt)+C pM-ekKF8-hE#w<@(gO}dKVNWjb`zdv&uQBi6yL<9z)07xI2s`b&?vE~R z;9hwXoGK7RQ2ftX026`JRf8veQW)pknw8yQ&Uex}%nyYXJZBFtk m?C zM@&Os4ik0YUKW?sso0w)g}y;1rBp2=%jqQ!oen{kXYQ-Av)OyGR$i}(vQs3p2hPvU z-HJ_wDrxSr@d(bwAg>z@V+DtVP;l$QZ_?oZYSu~@MDP=%z+l{t%RyA|GiC!Tn6h%1 z$4XpsSZB YxY4=aCAi|tQkT5w!FnW4$a$ Zuiv;OvvRZbM5_;RbG%|B*?U6ewjA0tMl7+4a_MIHoT zwp|#c$W%#t7n>3^Cm}u)8mQeci0+12q4gpY{53_I8@7R}V18CaY(FEgJQdJCa!wrk zU@BtiYw>L1Yxz8Wl_KYtE|kM=l|=C?s@G+ir37;I@pn(OJU@FbWb $ZpDMA@ zx4u%K$rmU%eGeLC>%jyKaQ K;x4 z1Es48q#BHGWhC)G%-M`(Dq^swy+vf7x^KmbIwrj-M}Lo<6~|#ZQ`S`=zoHV)kxXQ( z*yuY4akF~ZOjs0;OBKcUO)IC6Siaz|-vsLx(xMFdab@(_ i1A{M%e+Ez_dV_l >S5d>(!O_x#qtM_cCS2aP$EIXr zh(l2B#_ey;c{8(5VQOY$!<`25?Xkz! %wj08Wa_{*DA9W#ON{i2=?#0@O&-Tp8l_ zseO)U`=meweD(U3i^#jGAZ#$FQn3UD6+ObBg1@^Yrs=#4r9MmPUm>kI=^QsdYyowW zC84x!fT3}P9wvHq{MjG68MLQ#zGhjB6ryVF&Oy<_F2vC+_#&sGZieTqQeC>>ue;!8 z|DST1f zqx$;57A!yJ%tq9Xx6CD2)8}dUOn{m9{Pq`>&XUhNvI? zx&?2t?wDIn9eXP}7vZVf=&$y+14t3FSNdIL>6Pl)^STWiXx#IZD2J}3dq=YM&RZkM zlKYdp&`Go##+<+qH`)eIc7ER3Nbt+f98ITelOS}R!oI1>1MgyqF0`ithc$S$BCigY z;SK!6;^S~FFoLbjfDkb%X|!M(lTpyJ_mbd)IMnl=Z$C Eq~3%9yEfa5Qx+9&XbA@xrH*gq)kg; zZGpn~-Ru;9#5$pA@yem)?X7r^EoxiE8^7uGB^S@3LAl+Na(g%V_UU*;T*-F4Dv4$n zBm^xNU#zqDyu;)-(is!a*1Vg)U&9pVo- 9l>K z1;0#}`pD_7`~72O6eopfx#(#53wY8)^2a_aK(5KZ`;o`PafMxYVnK+Lnz)R`&BDo~ zEA%_lOM)DK!!yQkJ`~}D`=`97y_{&&H_3ecP0MI;IcZbrbJPa=>ck#5-dn-F48Fg_ z1H5TB_npN&j2gt@>Pev}Cx|XS-su_UGyg@DWXn!)lrSH&T?8-0uu!3OtT6kl1}v}q z)F{;8*D&TZa@%? U1faAil8O?T!z;FGSwM8f78D`!q8pa$R zfufS-&9G0&f{#7sWu;J}zn#{(F#$3X$M{aoBiJGvvy0me=*VXGH3oAD(UM9Fu8MeL zXG^kBL2hpWgv; Y_V;_i3B`F zZ8f{Xu{YpLeq;70aS=L}Ae?&jH1jNi`1`zu$c{5i#yRU>6174f_oZPel2)`)lV&?O z?nRU&gI_C2zPu*n^6TB=pC;~E?=kFJcXF@|x0p;{^&tqMBBhjuc;PCQ0PiYT$0Fno zNA%(0hJxOh;CarjSaGAX02R&7>C>O$%=^B14lp;tAM+wSITqP^ETITnB`wyJbC%Ka zzDW*)!k9dW4yf|8|0n7%rbh7@rNkuEr`3?Yxq%+?`k280N5()B8JPdu>$a4-NbbFD z{Ykxk-e{hdwPMku>SvmYK0#8DvLMRTS$v+TfwHB%rb~e3!WKIH9GEj3SaD-Q{`Yjb zJ3ZacP+|~Q%D%t4&Cl6mlea`B#|<#NRC8?J$?}!i5t!sANe`I@?(2F03~~n*?6Iji z%24i4COHa1FTD$o5pVA_23fq4Vik(bn5A;uET52~jFJNYO=F0#vVd%=0Y>Dj|t >ZYBAozWCZ#;9q%RsHn+r27ZhQvh947rI#qU%qej zBiWWE`%;uobP`2Gg36x|sCqmQz?i;g6>h=d1>R*>9ooKmaav;HB+q#+Zu8rwZC64W z0Seh#CCWI-(*-RIxZ;k?il6XaNB!1F0SnZYL6s#@{yE_R<3-Ga1goIZncQ8A_@ z_ZWFlFmx%=&Sb}+;xiDjOE;9!i&&v 0It@PB~%UukrvQUljTfSH5J9sI{ zSPapL>;RlU9DL#wbwla3>f6$3$oPa~cSb9bGQTMdlL9gu#m_B32L{1oZBF*x?^Z~_ z!!Q-obT>^4N~dEDau@Tn=wE?rHA33rJFuM_{IdfLjQyS^dx}izT~x~!?naODkf*q5 zGk5EsR1_jx`}olbqTU^s)$Nya()MiP1b6)>*f256DO0*$gADKJyQwNBKCSIKLmmHl zbye*(koPviUdCi!#`GE!k{c@0N~x5U?$J7*B6yciv7rTbV}kF_(Y(DK+@e7!>+ `>9p!C5>unL|!a{T*^1 YR+XkHF080Oxk zpu?h1On^Ub1x2v)!@roO({9TF3?CW670ShMAe>fR0{M2Hq->#kc|edDNtjp*A)*Fh zIX!p83Gl-rJhxI2f~HPJfC~GMUoMp%cY|-u!YA&nT~r6uL3k1E^TAuTtx_V6Z^1cR zCGxC-RURrr0N@t+6+zk?Xeg1XO^c4URP*Rjad2H-sZPF8ow#QXShs43wg%CJ$;qNn zu5Bnb@eJo)*P2IxaAUZu-db>tkA3r4reKpUdv`(}bb2neE4lKeQvu{g?;qkc;Jm01 zDyDpY6SeK0Bfhc_+gYv$-CuGeM%5@@&Q&%%Y{&}b6NXdB$B^&E|FH4`dE2ToXf|bD z0^x{g-;%dsU^|2!LXkl#^kE@Rk|q)7<|aR9)-W_x;yBv0a&wp@;Y|%xM?#IrdgwqW zp|B7v@Dw{u8DL{H40x_HrAc!=a)xCZ^yqS(id(D%H@51eA3NyD=!NSKUoD2CC1ox} zg;{H`9td{A*u{n081$fpyCzZtpU;bdaFX_Q>g{>e`LFh-Ve1<^VWHpVCd(RMbq-|D z1@@eH@8;Y`5xHOTZqAX9F&XQh$-V6c-Y+Rc=)a-qM@t~_SogIli>LfDUU#aMld4YB z_4~Z0J2Zfz<`b$~@m}Yrsikl9AK}kALSkxp;|Ri31VgpPkkZ_!4B;9S#&*~fY ~t3Zf*weEw>mm<=NaMhJFti`!>p@HY$G1Lr8Ysl^w^ z+=Gg~>+Zuky+gpjn#L*tI!zS9=*D|a BS~V;&4*c?F$xzsl7;r*wyo-GWzRdqvSZY-|EI ztEzq*b1El5eoIT4koeBARW5rq+H@V97d3fyuEP@K@ZyHBKx6P~f~YOGHYSpq%q&3H z7dhGrKXY>qWStY1`*h3qnU-`NqbNMM)oiCcm$tHhuVfya>bQkcp$kcoy)~S2!9HI` zF|9Gs)?VcN6QCuPW01)4(hJbZy3{bx;@hrnp gigOeT#?&-55&i^#3zIfk0H$2atryrlI$Cm3pWXhXh zB1@Tic!UvsDxN*Hz+HN&>@iG}thh22^OR&;B}F$bsOD2piqjGdfW*ofWNe_7^) Qq%Z-QT|fe{l#JkFLP8tVwo~@wP5D0n$I}TiI-sbyd@a&W3+&*Ril45xhyQZ(L&Z z{la!-RL!yYwIFzLNZOB>)*)ux>`4yl4u`B(h1~U5yQe{%JR&a+ohAc_+MgQ_>}*(= zlVM29Yn*mODwd`|*~aXp Ie5zvVxJB9 X8Y+Kzo#-!=y|Esd-I#WsyNGPUh^HAK9R$mQSl%QT@}#P}Y~?hm0a+PWY(OZgf$<7Rvn9Zxu7Itgf7si=WW=)ts&h0<|$0 zrUkCK6Z5R`nEg#ZZIV9WZ4e-$TM!;IG6^EowqY)LEtzLtp2cUZF<$yM^KlWTMpqqS z?{8Ptj^P!t=JpFQUi%^-U9-7CrFCDtPCU<(G0Z!^{=Q(c`j
jC62J^n1eyo1@j2;G|I`+{#JLBY#?fHq=%rm#`+etak$I zyI?^f7MLkZ#Q`qna}tJ8#}H4xg;VY_f*FbLVZhn?+^*BDdP&r0(-c~LQQg(A5c7G| zU&P2Dq~7O ooFjpP5bHIar{kKyz1iMfeoI;aT uVjEjr-6g%$s_kn~E#b z`0lx%SX3145o!_#p(a5MP&z&1kcvCh;yBGkgs9@G$Wv+J1KEI_e|3a;5h|!FwkxO0 z-k}?;Sd(@2D2>|1-AYLrN?YeUHG8mPhlTDQ)v^NLcmB?Ba)TOJq%6hIDMLy~-YT)q zGQJT0Lx1>*XL%kLUyi1ZwkXlQ#Ee2dzU4T6P1#SK>Nv9D-T&B~(naG(-EIe^eOh_0 zChnoPwR3@XAg{i?R>4$YV?WAC9c%-Fx21!3LhE0}xH2!z-&dLxddU6L?|)%VkzK2G z&zS)iDlKlnNt9XyM~g0{PNWYi_)maI=8wK;B~;6Xa#5P`Xus_I;nWyU?n90+IXa&Y zLhMHek+D&Hb- 3dDq>xSv>|4v)IwUYg;w^ z16{FW2jkdO;K%`qaFpjc&a8S{3S!$e35Y01CHvM;CXDL^1rjmGdTdbT`6Rl=4Mzuc zcNQ*P#@G;1HYGaD3%@-ME&O&^VAewNl`%fF)?td4NcuBFT!B(n7}Pb>BKI8|#HcGK z9L4pcqMaI@*%vzW7ELnoR-SepVhP>%^<^HH2(^DDkYNjnwk7v1@_aP{PJT`V%H2^( z1*Fhw4N__97YiL7$c@c7k+Y6)nsl %*b|QdJ1yyf+83C??x&|Hq6Qblddw*OPxiG~2 zRPLjPYICkQeoophYN7!D&WYItoqmY+h_oIqc=G7WG&p4~El`#uD9yOyKz-Q!^maGQ z@9|z=W~b{_=R}B*yN=TuNo=O}P|Ggz92(8>_x9u|klZeDC0|K>xJ@UzvN62-Sqs0z zf`&b=UzE{%6>FMsOIJ*2j;ks@TG5lAvZo7Y+TgMVX1R;!0 o ze=VAiAWF&Zcb3IOdzN5?|A^Hija6L=UjDOwe$^#JuZTd6dtHN$Y3%iG8vH&yiKwF3 z$l>Ch5gIaH=D6*kq|~WPPzUEAD+Z IL#iLH-QZzTigKxbCwDLgfJo3Y@MJy6u0c&h9Jol^4T=BAPRT_F4;p=#?5 zFTe#6(a^o8)th~qsS$_3M)i3{je`;+-j3jWYet(t;B$RiYZy*7X8k?q-+15Vv=Jga zanuCSZQWq>7_MP#beHD>CibMW-&YHGBcUtUKm?m!zI&>mysFYSC#VF6YC_4%xn2E9 z4~1ijriQ;V=~czA2YkAnX!&V1dSOXt`o))9h}fvq(RoS7S6%3k8&kY=fv>g5N{}fy z#&Qf28*I|#kFL_&dpX0nz6H0);$Eceh#J}okM4GOARObC7QCgr@Zwl%FNX%w1F&ZM zw3j%21oF|%D*3w7BT55AsWlWBW9|!_im!@JQz7-UBY-cnf$)&-Bo1Vu(m YyB|`)Zy_$`fOv>@f ztp9*pPIxj%wBNGTJBsBh&-|9`_jL^xX--^D3f`mR*tg->Ce`^@_~Q5SeXDoiE@(F` z3RxFs8-BsVqZ$f=7s_7fvQ7;}wO%?i4sI)@Bf;JyO05y|rx;tO4aMN?qPoXIjgc}Y z4H+J7Gi%R}x}z9@@1%MN+&=2}LcAiw;midsHwtp%DN0UY{cJO@hJFQcE_x1f3u H}PorbPsWfY1@gQ5W5f#;%;FM8tDPDe`egttdp2W_2e> zTs`q}M)F4u={)iL4%5uBN4{j4|M{H2dQ+HAd>xD24$lfNg*|2ZX^ysb`8zGh$Z}95 zVuZjIGxYsqU(?T%e2Fy+(US8o7S>AL4j+3Uv4~p^EpJcBX&5_R*=%2ZR`yrAN17b! z#?jh7PI1L1Y@l2o#m3mOu5|XT2!APz!x@H5LL2he1+x|Bv+7U?LK=P;HcEj+dKS>2 zeDi?kgx>ylWTu=i#VTyWAD1Lg%<0U5P31<5QYmvUjjZO8>Mg_xp{yyR-pW-j1(^@y z^#|{uS}fK#*8J(IzEMHF$Tv=VzCH8v3EyNvH>Vo3z_D)uwf*6)2Pw7D%+{cdG|SO*uhEv+Cf4~qyEkR%LS+5D zIq$uKNoZgO8O{mScB)(n9SnfPxS-NXKJ~{n-KKR1mpR{R9alL18Ou+-t=S*HYg5vc z?5WT3fld`M6p8cimp&3iVP}4AD$;#7DbYb-4=S_!=}@K}u}*fzhJ94`HwFb)$+o$b zs`%w%S6t|6Fohv%67@gK;<#6Bi8dutM?w*J{?n`i2(F+2IF)xj%5jE_Qkq$SIL2{~ zIVo<45O?`Obl4ra{HJk%D9S4vtvLm^#aDDXTGPM32%HQ>_reX*d#}}afmL7%6wE|K z72%DWm|4p-hQId}eoNK_qr|O0@{6e>1m3)f^VCjH=ZVY=uIB4*5CgcRGpNb{J|C6K zfIiRhZDSdxekskQpA`WxY;Uje*MJYFuu~I^vW0ROt`)9(dwB?4006SnFc;%cVO~^3 zl9b${8hI{+&@6PyvJ+YawNEwCG8j*Aa|4DOZ#e3a_rFqTOvIrel16*{CD$ZS>7$hj zCdP1{;2A2ait}f!8dUkBIiVd!j2 jvU15)=@?D2s;Q9WSx>DnF6u8`x>?O#814b2L`CJdDqr)g z+In?ri0U-NWl{GmSG4#tCnCXfUo;)m>$!+**}m`G _g{&l#DN<8FLpK;KQ6Bc&H-svh07nOCwbt*!qfq~M?4Wal+ PlbH?@`TIJ&Uk_7&)FwKmj5^ZY66{2clj)-U@!-9VYU51H z;B1fwYt_O~$&3f(6U!{J13;CBX^70O)C%3)WKu1xG(U0(5S@0_=Z7mAJvig}unAOS zI^s-8C2CT2UDR++Bd)bAuybpnh@F&KnwCLg5l=!pGIYuNoq6@!Eh6!49` 98&of ;xwY zZ?lcpVS$3&A2=5`>F@nSyg9{leXut+RLotT;kc8x$l1~RNTP@|@rd5VzZEgf#u;sq zpC`HyKny{Ack3=SP~*Vb+l$CO8JBT0vIAfSKE^8#f&3(;(5T+i=7j9BJHAC#rA1=u zQTa#}cjug171oM5SkKlipD`9p_}Czh{hk?A8QULEQ%D-xj!YnOl*c>cAhk{EyY}_) z8ncc7zCQ8f!(`$03GZW(Nzwuk8NCgd6}6>b0E3>3HY`lbbL4k%$xue-60mLzSRJud zV8|e*w6c9MekfPuoY$mhL4pN-M!0 aF2#ve{!`$$0WT}; RQgVSowK>LMqIBeiXQ|+gM1{ zs;!}VyxMc#Orvh?GJ*;-zfvIL4C6+V02{bPyL^P@LWy?Ah%ScpXZ%v+$VV{0o1pDR zCfY7f&eUv~f=2;RErsQHk}na*tU;mj1IFOo0v1i`M2=W-%V$&Xt!QhQp4$f8IT#1k z#SawX?1qh2jkK9SKlDnZEX;K{rs1L`k%2Spt7(O;3RNF2Pd}K3I{l7jmR(es?lz*8 z01@`dqEv vuc9@RfW0k$zG9!k|EUiw?OP!7a!%HaAkN zz~8-$-xrgMQ(b_S@0MEEYL@FB;hfb1vm?hoqYcL}E78ys2B2NN+Ol_NVMB@--=W`D z0MLLfW&o>(RU92{29pcNjRG*&Q}et!3O|Hq_&{l07gkgt)ShHnIL4FJtFia <}QH6CW5 b>4aEEw>lL@h>bBI&Sn{k8>Mlu~e-4^CZE+?C4_Ul-ezcdm3#MoH$d z^$&8wOJYgp5L9$dR%KG$l|Q$3D*oc+QFU8%ThcmTKi}TOL64t~vO@D*<;0cvbnwi% zus{7cqq{444cdVPpPi3iF{|&a9#Tlj;v`-R?1-X;nGYQqQx$$oQ9l8TK{SVZ)O5;i zpkIOIBsR)>7n@qMQ=c(Nbh6^Bs!R(2`(EgRRW++$)tRSfe=|?So{Cqg%$@X%1DFqqfxB#GU|bR6^yc8S)Oyc=D=j$_fJ*( zZ=9J7% 5Y0M+>?fyctM=JYJ0y!6!eUR`_i=Gs+jit7q6 z7Ei`X=7vd9 L_q<^D*nKn=1wJ|0kTj`0_vzryuxj_ q!`g>)k;QM%08o+J^Ipwbh58ZmRE A6K3J!!3bFA}~K^PI(fN^1o&De^cR~ z{F(*@u$_Pl^H11D5d$~ItQ{o3$68kn-JZfC?QI6mSw=8!GQNe{I5SON9f^_CYCP&W zCrdpGsgg?AH(hDS+rfBOs#`~&6m{$qOYio;4%2-TJy!bhrLj}t{-L9w!5xemqqu>& z#BaLs6U#R|dz&>LrgUS=i4R{4Vc+o)tXgMc!9Z$wxwX7$->Xk15;PcvNr`W(Sy~ z{TkwDyVn0~G$O84hUo1_RsP=I|37(v$x7gRaoBHv{!RhmNsbn&1uYpvBlGe&>S0rZ zpiI`EhxVw!W*WvpvcPVh& IA!@Bb6PEr6fvS&`#hjT zORYEn!DkqPq@o~jj10*S-7=Xc#QxVfShV{;d!Pil73=?|D=QI_6L0*Qgshj8N>Hq` z>;Q7dzjt&j1~kLIvWs-b-A`H9RwQXfnYTd!{cnl?zndxJzal3cr{UAk|5-N?Px3hM z&Q3~} H@#0t2uQh1{zI2qE?!75Hl8f1wIEqFeaXIKMmt)p#p=EzwDid3^Z z8^w=I_VmgdtS7Ro-ow&6dY}K~clOm$PNhnZ-jN+78=Miu2_kOSac3uq_sNvjba`n< zO~;PXyX+k6SeuG_SL*tRWeB_$Vp>*mygzT~Ve08cM>^$hN8a^j{UzW42R8Q6g ;K;vD=)s&$R4tz F_G`f!+z?t?;@?}YJ~OJ}W+;D1;6t}s2