From 7d4a0d234c1f69cce20bd9200e368de859e2af22 Mon Sep 17 00:00:00 2001 From: NikLeberg <39563554+NikLeberg@users.noreply.github.com> Date: Thu, 15 Jan 2026 14:15:45 +0100 Subject: [PATCH 1/8] quartus: add cyclonev device --- quartus/containers.json | 19 +++++++++++++++++++ quartus/device.dockerfile | 21 +++++++++++++++++++-- quartus/test/expected23.1-cyclonev.png | Bin 0 -> 93296 bytes quartus/tests.sh | 2 ++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 quartus/test/expected23.1-cyclonev.png diff --git a/quartus/containers.json b/quartus/containers.json index e3778cd..5cab242 100644 --- a/quartus/containers.json +++ b/quartus/containers.json @@ -165,5 +165,24 @@ "testScript": "tests.sh", "testArtifact": "test/artifact.tar", "cache": false + }, + { + "name": "quartus", + "tags": "23.1-cyclonev", + "dockerfile": "device.dockerfile", + "args": [ + "BASE_IMAGE_TAG=23.1", + "DEVICE_URL=https://downloads.intel.com/akdlm/software/acdsinst/23.1std.1/993/ib_installers/cyclonev-23.1std.1.993.qdz", + "DEVICE_SHA=4d849516eac750c95eaa5848d22573d60e5cca26", + "DEVICE_FILE=cyclonev-23.1std.1.993.qdz", + "ADDON_URL=https://downloads.intel.com/akdlm/software/acdsinst/23.1std.1/993/ib_installers/RiscFreeSetup-23.1std.1.993-linux.run", + "ADDON_SHA=8c8406ab25d9a8b5855c3a589413508b75515ab2", + "ADDON_FILE=RiscFreeSetup-23.1std.1.993-linux.run" + ], + "dependsOn": "quartus:23.1", + "maximizeBuildSpace": true, + "testScript": "tests.sh", + "testArtifact": "test/artifact.tar", + "cache": false } ] \ No newline at end of file diff --git a/quartus/device.dockerfile b/quartus/device.dockerfile index a4cf3d1..81b4b4d 100644 --- a/quartus/device.dockerfile +++ b/quartus/device.dockerfile @@ -1,12 +1,12 @@ ARG BASE_IMAGE_TAG=25.1 FROM ghcr.io/nikleberg/quartus:${BASE_IMAGE_TAG}-staging +ARG DEBIAN_FRONTEND=noninteractive + ARG DEVICE_URL=https://downloads.intel.com/akdlm/software/acdsinst/25.1std/1129/ib_installers/cyclone-25.1std.0.1129.qdz ARG DEVICE_SHA=835d2b1732549294eed625b692d044135499b5e8 ARG DEVICE_FILE=cyclone-25.1std.0.1129.qdz -ARG DEBIAN_FRONTEND=noninteractive - # Install Quartus device support files for Intel FPGAs from: # https://www.intel.de/content/www/de/de/products/details/fpga/development-tools/quartus-prime/resource.html # The .qdz file is just a glorified zip archive. The device installer from: @@ -19,3 +19,20 @@ RUN <2bxDD!Gb2ZyL*7aEx5b8ySsBc&->jU z-(BmTWMw8jJw4s0PVL&YtIkhFc}cXl1aCng5Sr9iF=Y_w4e%Bogaiw`d_FhE0ba;~LK4Ah^VvCEv5d#Ym z?2nkb>^>S}{?-`~=W6TST`_guNn`uN>#-9-&dSOPA`ie6LCVT7F*OY&h802Lc$-`a zCxrChQSyKncv;_fBLDjz6e$rz`R`=lGsrvq4)p)N+JS?M8=saIVeJ2;3tVH~s@BiX zuM$oeDXR_D504Kxzp(o)3QEr8J`WF12Ri(;mWjznspyDUxJ@z*q^zCd7moJ8+2*Tw zTHUA0BDl*a@!{vnMz7J)YLOANIP#Y{>31SN$twfFbRKwFudTECN|#&pR#4be&7LFI<-XV9;ribz}jN2Zk0 zZRs$9#=MtE=JRZ!;;Vri!M?&b8gc1s%y_Hbhs17|w>hxiV$(_D+JMYrXt++{)EdkU0Vx z+Q+{<;1%@dj*L@aWmhf@T#DDW@s!#g;pVpgw7jNYpm#EC=iX>sVJf`N!K~U+bQ>Cg zZ+(3y7;B1t{4E&qKpp9@FPb0PUdsl?L6!56_J%d@b{Fh+q2LV;VY;x+9qmJhWSr!}=3 z&=Pza2SL3h_d7Qu;utpX4yXz<8n3nww-a@u_Mqt@?)S}g@0JGZIt3F^QwS{4uwe2- z!gDkG3|&pHJ~|o(Fkanl)8j(UQBNyiJ%16BE*CbX=uK<}XHgZHpZ9jM705rD9j9d= z=8nCN%Xs&aj7+p!aoC-HVJ^wn*$w}1tsY2JHb*isQR+*}D+jCz}00O-pNwiw{;UUSa=ra|)G;WmNy>G?DEHTBGKhKFksrGSFY&@|qg`e3r`DYwc)jx?rn4 z@bh|^WuRYHMO=Kg^>)MZop`%j!G*Moz$WE(T^AqE)sR=`8o`>2tDq?^UaJX8+VJc3`XXBRIDA?ae0}60%X=17 zthFVsr~AcvRl7L8WNk5y3XUjZ3JgXgMy&8S`w<#A^x$fw=ObzCWcr>FWmc*{G<~S9 zCh@lZ?C=ZTd#dUN1uiIB;_dO%{^`l(tM(Z0ZO2c%H&iP9SL(dI&b3oYDwEabvmPUX zl|~@>uIa!QZ9+y8C9n(w?LL(&9zRJE>0{z*=YXf&V&3w%H zyuWj@QPZNRaBuEf*Gcd<21wk6=72X`A6lu8=wYdX9V{?t`=G1Ollh}1qTvs8amiAN z$_$iry?$q<;Nhie>V#eJr%AscW~wSKwjb@jE~a*Nx;YjbZW?E*rF`eoXGx!}zNIL> zxX}+fnfcyj!_p@>vnod_Kb;_R*?RtE`}xR8Rc@DWL+HI^^~T?ao-(5_y2ZLUBL9g| zl(P=!dIHo{C%a(-NlFe=4&z;)$Tzzx^o*!&4{hGovS?`Raoby4I5oqI!wqRFDRS{l z_fG>~S&$w^6&(5z8x9z~e5{-+)DVj4AQILO%v_hWbx#R0reXG0Z-|*8lC@W#A(2c*A-<1tN~R-gORlVx3l0;`mO~ z`mBoZ9xv&}{Zvqw5ef!hYhCMm^FGYtp)=oim;YQYbpnIgWqHxHo!GK5eeoLSrKX`< zhrXn*S97iOq(!_=n(C5=Tns*onW`6Y8RVuo%V~wH?h7|)#*I7++9~+jE-B7O#_}o_ z0e+YeA(v%DCY6HO{w$7^lIt(O6IO9 zhvfXQ$NG%9)aMVV{kh7eW_CQ4q>0oE)w8CT?R+Bc!a7>qgEYeJUXXsg_E3a|`bS(s;wB7(>qNJ(4s zSYCH_HQMrKK5&{{r`&4!tcbs^VF;w?#5kjpc%9uM2^?`8G z4D+S5BYJP0|9MtNOk(1?Jy5A!ofj89a!TVw^jVnDoN^uM?AjXDPSb>;w^|wtb#(do8IvCG~nunVMGo4KrUiJJLYTHq3kXIGeDmj{be@ z&iXa_11Fw4@m5qD2|mgF^YMxR9m8RgM}Z~_fCw9Rk!HAq6>TW)trgk_FG(rs$_1)+ zxu^7jc`hq&5SBlT^0MZiJ~W>vJPUfeLzPxtR*JQgK7s^ambQc~+iJCTFKH?62DmQ9 z=3bW>`(5bb`&snw7#>^&k-Nteu#`8WZjGDgSTDb?XF9;FcCN0>u~y}jd-4k~ZAX3^ ze>C1jX&LbfL0(=7Oj7P1FLkYC$5*vdqI#^Y53xSM@FsZmb~7N?k+I8 z111Eq;<1925wrOlWJKDzF@5}v{HwcY4 zb=GCHvz@GsZ4yi(OL*26tjR7~XVa*k-tv_S#?^3Fok@q)toH{4R_57q3@2;(av5P| zZNq^>Yw5Y=~-3yx@R!JwB$0NJ4j@p6!Pmfr)2_wmte|$Ipp# zN-nM8ThEusH7lq1fEQIm7L8EI1CmkvyvHy7IUDvYRKjUi%jpWX5%jr;O+GsuI?@n- zkjhhw>ESNmufNTkS*vXQvdZ$mq7cDGLSmQ-)skioD!%*54V1$|v5kW!jJdYS8= zajKSRspQS8VQk(#TG|iJgv*PcE(d2#4$zbe&asbkkqsc+wKE3E7-u$gI=9DV-sT8NO}Gg^ck=EZa@Z~0;$Ov`{lyW!{j%sowVEH>Xwiwor#d+x_HB=D0s)*M&_<6LdtvS8F8Ojw+wA*iCyomxere7YO~i4onPlYJucn2*Lu)8dU7b; z&a;HGN;opT*qBhXH9V=O43W zN9wNUnJxs&rA;Xd!3Eyj?T_BGG^5j^y{9+TM4w)+uHNU!xHK)SIQiSJ#w;xKOr9u8 z79~5paAwO-CR~l-z>v+|#87jYy6gKy5Qn^jFclunGXG#v7noTbnv}3kh#!K3yDzDQ z@D_bIp`LVaF*QIB$Al!o7mHWEaQTTy|{ zqBg79^L(d0h?I3Je~biPoDw*eL4{3BWp*a>W$QUaj*R2c{M9oiKf7f3;T`rUTuKJp zjSmZG(;s4FTiup;U#8RKgDhb{u5ae=Ep|mD znOV&C6!`23YL6fFqg3sp%MeENppGF8xr51Jgf2&Oy!pqmu*>C}@uf-Qn%C+|j{Jo5 z=Q8Td!7ha581E8n;S0GGSd2htAS7Bj#`)->fPNDgfKf=WBfHH<=f?gu7~9@5H3yQ* zAAdn4QHbp_QnKq3Bn0N(p<2nKv<6q%@+-vy3_lFp)`noti6!%0k`l_7?C$)hQTVUL z2-eJ_K|(4s6PP~^qNo*`H~tnw!n)|^0XhWxb2U4s$f6{nG|u1;J|7bX=p)0?m60dY zV-%YWbIiWawzqVOlJ$XGOfLIfaUJ^!Vpd+sy@SlYmb=z>0ct-)g0_*UfssP3opuIZ z7xkM&MCPj036ieblnpWwGv~u%*REaFbnBr_7VXjUxUDvJ@!<@~w;B`-Yj$q!GV)(x ztwmch+~`HM6~bQ7L48kmcc>q9(=yC(D{CC5+)jmsFlW-RvQLtaQ}s)mg{0%B(TE~ki7 zSJ?To16|H#Gr3xX&&WB2?I~BnX{$k|CMCM}*i`saJ5oQn#?{eGvZV}7Ysdml{6gE+ z=r1B86)vx|pDdCzVo2m!n0xL*m2(g+EiDczImh=-@Bc)q=;`5SDOMb42E~Tv$E(eM z@pF7*Dt@7BPe3|l0Rk=Mc1=m!fA=TL9QpBfJR&F@QtdFBq&{MVmz}zEHOZjPEgw=+ z+~0q*aAT-{YrijqczaXyn7*{b|I1O(W{GY-j`MMb>Rg>YAtK(Xae*}#%noIzx5Sdl zN$3(&pH`%5&M|7p?0^TY(Ma~%gO8>LiO3uM8C8Jh5i> zpkKtHc6;r;Btpg7H*X$+yx01?2R}(Z?{2beOH&cvDv!j?wm`=Zly#;B@lKfZ9tMZ@ zimFqp8n~1vcOwriOs$0ntjO6zet2w0+&;FW_fJb9mY0aK={bfjPNnY0$-?Sx>^@}$ z136M=YJ3{1*6)P6y%x2LJIFOMb(lh=u>`o;ETNlqJI+n1qu46e{8wi_IqZam1!B|M zbj4ZH0^y;XFi_Rz`aLei!_1pUYBgtx=?nQtb3zQf-?X>3t5Ww9?iz%jK`c&(bjMD+ z>7vTN@_L!#2ENopr-`X6ss&8t;*b;qV$7WsGT8Wyh>n~bH9Zec%+c5FiS9q+$c`Lx zraUaxO-(Gj0<9&N0xgI39x4_t)1oWtj95O7sbgxW2OGDi{UZ0#ep|&nq61!r7i>8c zY+q?iVL^9A@7~S7{dVBg->KxFl6tY(B{$w^L=e2NS?FLP z0n~nfK_YAc?x}eWgZW9oGeT;FX^ZXS)-;+GkF(v>y&HWb15!iP;{~30U6Ed7mB^8) z2TjsW!nx&h1JU)_)JrslooTiHfFJ&Xn00GBK01sqCPee#bub?Dz2P?1bKeF`r{@|{ zNuBoYi4Q@1YFygI^L1IU{^7)%ME%6LbTvBureD34M~kCpo8!kA-Z*e)Y^%rf-Z{~~ ze_PlOgo>H8FLrhCcqL3uJw~1+ds+NFy5#0>=A+v=W9T&$jXNpV`#vDZ%E3#2zgVq3 zYFrNjDW@$FcSe=AQtzCUOXAt>tt-2_bryw>oP3G+63QS~cB^swG$}K?j4n4K8|L}P zcKt-*i?QTfylz(PV4=WLwTznHGiE}1Ow!r@-(${xPXi590z=}L)gx$~z;oZ%Fbub+ zJC!fU0kP598p>-;g-;6+7hodS2iclSG6gSa#uYze~Z^CI4l#g5Ed#=%V+Ni zup2u)uZGyRHh8{uTa^zUR;)9uzWzD+;AzqO^v4g_)jN{p0Xbo>*(S^OX(O`?+7S>N7hnre26Gx;y$k5;`~69WN-o1^F88pA1}R)=jSV zwWPFja++(AJZtx6th#M`kb|~-_@UcY@TxyM?1{Eb&me~#IWM30lYVBDmuWb}&D(ln zynz+URlOZ?o1G<+vp+T*%qDDfQFlE%O&_aW=KYFPuO{qbzrD*xPSHWZhUK%Bkoua6 zw}?yRP8^f|?sjKyL-+J57}dGmu;ShBV+-4?X#0{^SFVLh58AnTj?@+&`}S7I))SKZ z%NN!WxKZBjaBBYxK`2T;ivXHa+ZjnUAdmBy}YIj+Lz%EGm57#{0PCF_P@& zbYMl8cI-gPr)RFTXiaI-6mPMn?wUlq8fLm=ecPW`8^Wa()!q z--GI_ultNtI~Wv}GQ+scGi9etpe{Yw+B@XaRHKH)mTrH*_s8fsRPXWM>&us>hzi`cl%7z=*Ar-?Pga z$FQt!lV%{c>xJ2Wr90!I>Pn!lRrg$(HrON+UsPenjeaCUIxcxzQ;+ncCt7i=YX7t4 zGL}M``|+pbf%fIyOSN*H6&Euwb>9K>xNfYgTdVQlO=7Jv?u|!lbJGjct*9SLH+Kam z#_9uA(O22d^3$E;AF2e~>E3aY*mV3Fan`?a6mmOSx4UJ)T=2itR9GB!ql9mocC{g; zn8xGy6s&YT$C8ZNw+bZ-xAkSy@dpvS?tX2a-Am=KJ$PRs&=cs^MkqO?rb?fA^tH&u z0iw{{5{!NNBsa({PxYQ%_V9!${JD2pvSB(qJ0+j@ru}zK1HHRe8P@OLvnMPjiIXJ> zfU*PYmciE8>OpF4O)=j zUZd$DXLddXOQY^g|NO>&Zo z0w?_&gfk=0TfLz_heD4}7c#{<3AB2V6K>-#7$hyv@xQtazm{k_AMe_rg4*R!S{;^{ zxtLOzvmpBmv&+imp`+|cw=Y8{Lf0ojMK3Rgw1KFa&$av>E@R)sm*<@xbiZUgd7B^0 zNIkBzdF-95_>*H(fh^i7h{IkTVVq4GT+1`vE9E_}Lp98;&45aw2;3->v1(b<0G!f`$>CKaWZ zP&o%3ovsWKe2ZVS@VO%@K~C~?)>ss!E?{P`2V;@n1xk4nBA|QDpC+9$hzd{2WqF1k z5~-?$Ri`gfXq*88C&4HV|Aj>X3Uvz-h=k9T#h@Li>ewvhh|&mtt#Lj!x6Um3bbiQW zZ+G-8TG0B*<#2LZYs)d(+8kjv*Vc)MOo7i?i-)4refa$rp3q?8Av zd3Lktc}0nG4G;p ze;K+5dV0E>RUhG_(#c1!lWK(?d)hbk8!xJ#bAfEaPhXl!VX%4VsRRXF>7bocFt|SX z+jrZ83A(zvgYruC>QX1mfS%&_qHk_eZfiDATHkRmQ>`XgC&OK zt+W%h#fPlQ@ul{+XyF?JbH^KkoV%Un0?FOeyzd{UujP&xpd2b#>*790Lo+Uf#uc;@ zpgky5-2?lMzo{jda#OfI$Oe|T?$0)ZfXR+XVqkf9+9bHHkA zZT318qi~rZ%UN0yk)K*_(e^58xYJ3_7Kr+Yf(=U|;6@s!rZ_~?@FvhPB|}#qxmLE{ znk_mePL+&~M*Yv1*k3Q)7-JtC*Dg!sx{#2+Jesvor^zE$bsU)p+c0r5Ukr>?P+9Ic zARj|ysBjihNtUD|lhbI=tK(3}P3IQ}rP3tE60@!2K|PkfK;J7u>0Px|3-d5q`~FWusthZPjt`VVGI zl4~8l{tkTcdR#?&PzmfqH}gNjtthfc{IxjZ+TIt zLd2FZ#2Qd|k*2!d$qOC$Y zsk2->iPe1C-P?y(QC7|+&nYZV$~8YaGZQ9>y(&Q zxF_GsRtAc|@1w!VAvoF+JGXkI>`tOyy;8GebBd4#Ctg8dWgXGS)*W68OcN81fCr)#i6_OwB@Wl-6n$rR=e6?>EmR_qQ6l?EtA*;{xS5&xt| zN~Ry8up#(!Ntc2T0(Y^$;`G74((rGnz9hhdczy`)nC?!U+SLUl+U=H01Xhfaw7pP# zqG0;W&HY(GpbWrfS3v>KzOic7xP%v}m8pr$I~5_<<#Z_}ebH&UQ44N93((qG?uj>l ziZ=Kn)(L~k3N`{0VpoZP|F2%&u2^Md8Grq7E%zFGBoa+qlxeYGEQY6I2P@R+W-hqU zLZgnp(!b7{tBR`aGCBTx+~V|`_w`Gw+-+j?Kt8b!QPs(6quJ*&?FPa_*Cf(y)Va1$`ECLA-kU3uAj%5%?Iivhs36aCPg%A*lmTaiTohp zF}3W~Z2T6~73cel2-{;{aOGWn3(9{vo?()mTZlg)8#kOqJ6$ z5I$`7M)hcC6c-<4=%it)FLY5_l*7DAF*@(E52M*8D?PU?Dt|@@7+dup_Dw0PPwCi4 zH1eK?OBnVBei?Vq_*6eY5k*xB_9@us7HQi|ZSvlF){)}>zQ%ejS-=bE3*1c788ze* zLu}IDAw+>2K1CQ3>KBZ)D*Cf4eiSJy9`*5m4GkQkT1HzuF%J>1ftVu0=>Kl@e?1R{ z;_dMNnfAZu^hIU?4o}&y8?^aw@OdJUgSG$H5y6O;GK`Ldgz1b^$h6Yp(fh4Bkob)V z(zEFqcl&?e#3dm~kBbXzLwsSXs;aX3ve@39c|L%5LroE&nDhVs#4`f6L4cw|pj_tv zPsfFz_Yc94je|M*tL&-%HS!w*gUJW^18B;fWw;d=_`&wVEQKb;yP5$ONt zDgSHRV1beNKNpyyVEG!216+?IbZl&_w6t_;3T%kz|Kk4k?OWg`dwP0+ZjJwbYZ^sK zQIYHj9~0u5m6hcwusSj#Kj)YEZR7dz){$qqt4nOok1Sv;gN&M*`Un$f_)uaAAO?v< zP|(wts1(T0wZm}WXlpN;jiw_5{TPaHNa*Mz0|Ns?L#3Tn0QlJ3+kgA^tz!iVxMQaP zxlE8VjVB zMO_#$hP;|ue0n;GFs2Su9eUX0zN5AE@#$(CiU%(+U(-tW@ORgTv&V~dyXUTX%*9$4 z6XibiX(L$gug{XZOnxGHOup0{9a&je?DH_(ZS}{5Vrw#}rF^m8b8K9*^f})UpC4?9 zh=_=fkFUIy&cS{P7cZ2`@)kPW-=B8=+ukk&s;sSLN&|F`cbJ%KTU%WwtSRzJ*ML+E zm`&rejFP(g?9`N1`+E)?k|^M)IH1B_s4r&I=}AI7-W81(C}ebWb{ZQQaS@?&h^wef zwzs!;bYu&EX;8b{M3@9mg{qxCnOzQsl{5~`Z~8Eo_qEn_dJ|^%n6k04S+Hw$Uk=zL zuRii0Lv&JmH$UTtAEYR31|kD#Y}Ezw_s5&#!Ir|FLQUgAxpf@7kyBo;-8=8Bt@b+G zRow3*B>e8+Yc(sY(%-+8%6bq6M@C-m&U4DkZI-bNK;P}`Xdh`32E87xirU)R)&%ue zn%z`R>|f3|CEvVxV`pb4jEiSda(Q`~lbwx)ja@X~)z!7Ny^V&3_C`niTD+*RaBpvK zDy#5dRHGDL0xghi;I*>6(?z_frlw}LLLbgIARqu(acd|D2naph-AWZjR@If2XPvNEOKf4|$~jdk8>eqJ6>muH6}6!MWUfBIBdSvfW^ zAT1)YF^Z>p!=ts(BJ<0LPacIxYN@JT;K#D`weJ>pc@BObKvn)*?WQ02*mLzvZr`}xS-RKD zXp{}mmZ%BlRn>n#MBGpNieM%z3j^|v$JeOJDtNnIBwhI@iv(z?s=4s;m5C{A!$5gFo)r=n7S{PUQsd&{f`Wq9n&_FBn1JciQTqMg z0FK??-|H~VuB_;_PZV<-OGS6V<8zdTnt_Q&{&aM7Bqrih#}olzkemC_6&YywIzK<3 zI;^kfivGyR$Vf>+f%E>oxVShm5z)(cC0Xj2;#@|?P>GzMAtAsA$a>qV`=LMvDB$y= zGi>?^fB-?k)rEz|qXa$Gr{`xhRMf3)%LJq8;!h+|ctk|02?>ZGDJiMO#zvp2!ch3O zkXY6IKcDF6cwEoOf;%;9t>#~zAMKH$ms2wGeyH0wp;7_@hq4T9RQ=+Vo6~-R#!6`zsI*0rfg(q^Y-4NcpSb2R905{ z`@_n}3~DiMU+~h<(4Yrj9!!_m;|*?X82R|TLI$#`^g(Oix$I2;dC1n5;v~Jb5hE7> zId^xibdPb-(N%SIw`c!GWnEo?cO&3lacVD9h3t=U2?@;Fv9Yl@P`1s@O-t3^D~e_e zB0ds^hU>Sds~=E<08_4Uy06{F#$5mb_SY{=fedCkx`li>!oP%!oL~Q0q2J`fwHdG& zBs4x=?Qo`Swb@OSpS5_T=@SbJ3t;}9A#z&UePA^K#^=CIjE~szXG23n zA=+Hr#V6cspDjNN-of2YU+RrKnCW#X>|0Z$q=>)%w*P`o?PXP|o#8zBB)d|g{0grx z-HsCDLV@a`F7U`mpMpYC(YJOKv_Jq%KIqyCR+qL|mwg(y5j{-36g!{&>+ts5<8l$-CdRWipECw`Br}=B_(j99^!QB9}T$hWCFmJ&yOy2qovbiHSbl_ z2qN-2Uyo z&i}`c#TpCBz9EbM#>K_Obp;xec5HaK?0oF>*qEY*c$`Xb*jI4?Rsa0?12Ql-p98Mw z>+1{LX%*YpzN4w>c5^cydN4L7=2*Gzu$TEDh5TFh%Ni`)nN`P9RcBjm&vS{z{yO*C zgFmjGhi`U8-HJoaHbH9`({Sq2?HS6j)CVY{Yx3HL)^7o565UP_!o$N$@KE9eYwsb* z3KD#YDH6ptXG$Q%!2#>&SV4gLmiPxOtPT@az%dEv_~;N%=KfG#)5PJ=)}Gn(hr+A@ zz+`A>2sm_fbTo9C5x|_h3ILXmj*bRKzL}b;Dk}a0;`00Vrogql48R;!si^?+sLqQ3 zXTZY3PD}#w{ii!>b%!1!*l+?JuVkUi`zHWm=pLu1r>T%c+D(7>`_t_NxVgCj(*nQ% z5K-6c8`RX)eCi8p06)n00Aiz*a3IY($J`nvL{O9D2XdwXMi$ubHR0% z!p~uJvqiZK2NYQN_!@P_=f{hjAPoR^0JsJMcBAvLH1T%T<=FmJcNkuUW;Hb*U$gb1 z7Bxg5A?p!TI7#JgPu8Uo-g?YWvm1F^v+n%5d{^cAYu;y9AShVe0S#J2 zw2TZ8=S#R+beo*fCQNH^GDf4q!xva9!}zPusU=sz3c0%01F;=2VQ}ZqsHg&9pq46;(?2jULmvHrCr%u8&^v&2R;eb2=IL}a_nDTq=EUgAV1+VMQFWWJzJLF|^S@E#2E>KJZ|wlVbvle%_}ZdTbo2mtmy@=Rv^0RL z#l__f;4pLHo{qeoqGGDr^78WLW={^)4{=x>AHtH~(cL#V9jeX$OixcoOL>MB($QHe z)2>@uS|a%P_yz=7@|!@MfJa1x6XN(F-<>^Es#$F{&kDj9@ZfJAccrEa*umSoRWY=92bH#9q!$(>J*rV0Seuqc93e3{IH;ni*f%sZG%$dbOXI8= zjg7AAndV{c?;Dn2(gp%m79LNnIdm#Br|Pp>tOco%az@rIy2xMYYOu$_DIml99@wwl zdMx}s#gk~V@SYxKz!zqcjko&s4M_{RR5NU`14wWniUP~UyPw9K$jcQUSXtD+IR{)< zGl+xsy5#4}NzECPG#{9xu&*pI^K$q($pB2fIbKZoVm8pXUIN&*7l&CJX`d`Jq-IZ@RI ztG0SSYw745ZEPqHCjeO12)HqSh7dh9b$)rd-eN3=pkPLELtqANNo6RVhlXWyw`QI3 zAFKH)Y#MpRilT1l}=0x00?3p)7w)gMorX_+wvYxYy&Py-QVUdPMs zJ5aj^$YPTb@3OtfVLnMecUloyN9kqm1w`h3_4Ya&9sZuS`&+varN&dk&ICj5p9ehh z00QNEfp)Y-8_7)4-&TwVuS$Vfy8fx(ii34IZo_D?^q-cimV24lraNOb1A%`*zLLhA zQxy}9{0Kh@iW0Gih!}wNK~Jx3p$!#WGH%EUEnW--qArY(tZXU3`n$S-yb}l@0LLMK zgjFK57YovDUfoec)mi1DjA8V1DuY$BZxij^<2E3xJ6sC4NXydp3Q zFeEt3P(>4-zISVzj-_8yDC*~F|ArMN0x3k)vkDolkwnT0nu1Rjl1cd3-n4<{K1jnb z`+^D@4-BvkdJD1&7=Hqo)Z1SN!e=OxEKXIytV{9~ zdbz@m0w5tPn6B7;C3aaj_fN(*VVELlMab-aFY}0Z#^pnAkE45pW}=e@p@J2WUkbz#6A1C&F$>7~}>@87@RwCLJe=Lj}SOG`;{@w|cpL`1~d`vg1gId}pN z98u9u1U|!qUngpT50wBAs%ydNlq~g3Ok4o$Qk6=^AFq4!99Xi21w={7$;Blls|^mp zgWCcgH>Hj`=6{15$_tN_`~w>hFI7}69Y~@$|Ci7tCMBt=Om!K^b71!? z5lm73E~MqyX$OJrwN24=N{;G^z1ubgZi zE$;z%g#UP?l<8CJg8(v1ij^g)z8c+L$fzhNPRQ@_Z`nbew8MuvZe-SOFcO;F)=TXN>vk(hca_=R9=hMfD~WWS4osSWPx9$ zMi}BNqZ+q9MP6r7nC;4!o|l&g%tvJ8$Yg;+Q4~oWoXVz%16OL}^rW<($kze)%XQ;F?faB`x`wS;@uoK7uY{dwD zX!G32$Os5%Kzuc|vC)%L0*iQjVQ5m5Va zei%$&7JzZ_Kn5+e+~Rd=gMiwF^%X!lumdpw>-tj#SIKzHF(BqyCPCaT%0n8~@Mz%z zSFvGYUq%LouhFt!zZUu!OuN9!N=pN}hvjU!F6FlRb`PtCzn8C+UbVD`e5@(&bnn=@b%DyqDL&K>&(fNlf2$-%*aVq4DGoVZ-d zmolAU=WpM3PL`VrHL zHksW5m{11XL4XN%8%;ZBfFJx8Z2#gkr?$j@l)~EG@LA3vD3(8g;?(#?H?H!aIjauy z99*i<<@=t=f6Rc=Fy_Hj7y$Ys{=h5<<>Kll2>cCcFH{;>&1>V3a+shDm%l~&poq`7 z?4VDyv`Px^A$u)N&D45vT&n%QFEi2q0=eQk`!2w9kf1 zzE1o240w)OMsf=RZRp@OE)LG#{{Hs%b{u2qM=6-N2RNLUz3;;^%L(BLXfGASpGCQ}A7F z^;#^~Z342O3A||rPy60+_i};W6O$jd(Rq2MqSwsUd`{jUZMgyB?DhQM1Z0iIIC>H8 zYKx&ieU^k#(_@_ljG>~+LgvNu& z+&cbvSa4#2f0|zWJp==4KAnYKYoaM1#ua&;GeFvlzy4O8@qMdhR>w_CmMlxHv!)gcmlTHwXK$ z69D(Nsh}5-3`0qoQ=#7`Atn}k2un@&B?aIemcX{dqhmlU2TP)s&Ik=-0g^o$8pr3) zMaP@k?}|f4cLAzfHP0a!jz&IpH7)4XT>%RS%pUKOl9Dp@Vwt{|N2@TJZn(*2=H}-9l2TSt!F(k2BK`96(t!^1Pns{3 zMlIZMVH4S7R<@XVM?xYWZ2~C0Fd$neX(5IVKPj((~WO z%_$9FuVm2?-dRx`)Wq8Q`C?nfP}1+ex&i?{b$bK_A0HneU@(pYb&Dv9tz^k0%PO4zP=7G%*D%#!ix#621pv`V|=;Btv2GE5fS+njo1AJ z6>ue>6p-vTXH^>>9uCNcl|RIR{h@@^?P$z2G`#@nu8wT;FDp9+0>gimldSkd0ILA? z3!u{MT22@RTbK9arT#3Z-X{5SgMwIR4 z*}Enoq*7G4kVjKflbxW<>W0^7V`yUbCF&#~Fc1b5)oaXxznv^aD(Fc@!CGaM^w8L- zw@IUxs<(LmPNeYuFFbx$qq+PuR9P8o)$6TOC1}V`>Bssj*Tk$%!adaGkT^-4v&Y;+ zml+o1ZxGT~sO?Dd$9$Lp4|*}1(NXyLSoh+xKOP(sD-!Q7Y#C)2mf$`=2woxPeccT7 zf+?o#aa7Kq#zz(L$(lrThHVGt=b3c52$H@TjA33_qMlqYP=Dz4bmnJoJMHWZ*d`vZ z4a2m0(|DM?(3xm@r<7sv{KT|%Y0l1+{-N28gj%G z)9p!xX5H`PdaHhlTN_>aG*X~cLG`pf_NnjS+`(Kt!Ggl@%53xNN2~W3`X*bqk{F}` z-srRp424&BJ6l`kmX<2d&|+cC0D!|?L%T!--b*P93(x=U01FFq&t>I=%nE*#8c7v+ z2IMJ34AOLNuf|FYc}5^*P3LhcUg`p*AT)fI_TJtC^fzzM3ppg=Wt7$Q^z?+K1}D5m z<|3P;Y(+x{n}-$ZD~*hO*I&zZ^#p4@2b=7fJ@_IPiGc_ipq6sKi!i&wzsf*klE4oP23zK-vGo_1PpXrAK z=$&p?yg-=~x(97jIDnzaD-kr1_EPDEcKqW%9al4N-n-iLc6LM-N{Fu**HHgVe`&3t zmzm3AFD4bl8c7#G2IYU-i6Rl`YmQzY@0^?&XhQa|NM|Gr+SxP0J+=OF6q)ivFbSiQ z+rZ`a9?KE|#2gyym}qCN>j8JZwTOZ^tm~PznWtn*cojqYZx0{dxaDHEHF4bKj}gYC zFRtuvr#&AY4o|)ZD^tq{G2WdXGmMdz*?Huw|+2luTFsMi-*%}7n+JG{uay3Wn6;qBsSd+Kp|o?bsLTAgXiKn9u-6-0kZ;`&XG??s{#k%L|45?w?+FVu{%{X(P%%&_l zKZ;!()XqQ_RO7*~%G!mD5~1`Hl=5upQ5EIn-x`nwX~x+-Dg-KPnkdd`2ohmwg&Y>z zl=qcTo}V;jp_l?YV?r!%X zHpg1?^BRk2yadDRsuxh%Z!LmfTnz9eJ+v(?gNtU_8n%J5{l8sK*H9llWOKU4g;LVb z=X}2^D<{LwTaGdY-q;ks#y!$n>nwzzc-Us)MnaU?jW%ROMMasJnL&lq2BH3r+l(%9 z?{07@1I9?NwW0KKv5Yj#%oUlXmaAqn-xr%PPCM#N4vJtFmgA50S4Q>JryWNqVpOkKT3} zC|Hkkx*cfcAD{c)QFauq>H4mz$)fT2eq1A;;`%IbD9N2- zSzKtY-4MC>@c$6@7Eo11?Yr+5P(T_4q+0~(?hfe&X{EcnQ3PpeY3c561Oe&pRJyxk z-wEIOpZkq7&K-A;p$=i~RddZb-}S!F^P6w|ks$3z^M4CD%{qT^FP2nK%$3|`;rq8-5edETb5I2*Z|NNUzZFgt#c1P2>y|m z(X&6gwu(+Z^O^?!?}_znW3@pYQ~l7tO6G1uL84eGVX?+Wsso;M=Ta-jm=PDs9I3a> z<&+FV^En(Au=3QWUsK1T!Am9QyO^XTEjgH!sHjgCCVB^0nMHXCQBk9>(^~|`^<~=m z)oa%sxpTPf;!K^5sm*$2Z2nd4uQvWD=l~oy z&G;8o=_lGY-`?E!wEL-KvH9p#Bj7(1j8r~O9$cN4XgcscI}rW2lB~<0(_iLa3YN3sjb;%`hEj>F|dO=WvoM1yk(!V_3AF0pLARRuKUiLec z%7e(*yFgMYfl%`{PJgRmn}l)sdVq~BV-AYbBIwdOvbzxUV`N|V$J31Tf4a(<_Ue-N zzuHcr;k$lackX~{&z#b`*lx-#Tz-XbkK_}mh3=4!Ki|~zetE&$WcID4^mJoIL7OKO zf7t!Uk307w$7=~wp~t-&^Ls?3id&R@6o4YaB06|GCbFP)5q=F$M}x z8NT|JWC<9EU7Jqp)u8=v$fExK+Mlpwq!!eZ9(^?A$h!v@TN3Q}^MRIey4Q39qFKw0 zp+5SpEdpy%m5y^9P=mnh4%5+|TdB7Zt+C(neVfy{)>=O>f9yc%weQh~d(O|z^lB)K zxcOL@OwHzCwX^Qk#_}EEZrwy~F2iKlzaqG`XOPt>M)t3Ta4#Spzs;xmeRn(vk@U(A zcyBWQT(KTzW!<^X+zt~q@y1Giy|ja(balCQMlY3=W5Iquto_%l|6wA}(r}xax~yJ> zWde!wZeY|dlH%}R%n%w5;=)83G=gLZdIJ~e>u&F5qc4MvUju7PQF>&2-vEwt0nVIS$ zBSg`;jeSV}m{Yp5_Cqqiqlwxq&};Mc%Z)$+XsA)sQKfXX~X0*B;4xs?esUKWF82 zMD^zE2JWPN>uVjW<$yF56&1*7_}*RpGN|Bj+Ok{k!v^A{7YiEsQ6sAGWm-m;&emN|hvZKt?Guq;}Y z8Vhym_YTQ7~O_FOS>!ve3sxDuv-y^hszD`M$Ru%#(fgZ~fkbtjaLdtOu%PwlW^ zR!VrkaDEkjh1vC7sR!fBM4JAQJoz&&5(XW47ou6223gwf|BG8(%8N9cuxE&1>6fCC zvht+;w>+u7X-(@lIplvr}>D*${CuQ-=le|CjVoEH=5O#i_>_k zR{W6j!#v(fWBt7SZbsCbO-*`R{)B-R&|{)0HLw1yZM!8<&39L;$3%~9@p*?W;x5Bi z@L@vCXkl@OT}Pv`qbPeTUsu?D4lM|Y4fuTi?O6#@t55KzG8OZjye{jQmj833sO3=# zeQl^Ml-$+P`MJ0*d>yI>vIVh86ZiZZ*9jG676*dy>9?mcX5{IM)=v62`&DRFQqcqM zP8)Apmj5s)JLg+k!tr}v?17qznyhwodwb?od7x17I9WrC)aZ#o-WtYaPxttB`RDCd zzn1Zv2A7>N*S?4Z@v&&iMT3r{;7sZTWM{cK1@}3VzjQ^oNG1ydu;`CoCBuOmRG#?L zbm1Vp-J5J{tFkiFgGRQ>>9GoyX%hxtrGe@l-Z3(-xbf;H@c`xY)P!j*c;J(=Hd=C@ zlPd@|RgmQ{f#^;fe)nGSl0l)jCL;1SOulHzC3e$34aW&cdf~0RIL}$y*mz0Tk{i2k zoK;q&y?wWzqSL3VGRNJZ$|DGL6f(v|bck{Oo;HJZrej-~EFmG$s-`rc`TMl+sqSm? z(^S1_x223#SiaJ|m+$NIZ5(nx;jkCB@YbVE; zPAr%grFj@xwq&=nehEB*Wla1r>|yW_FmjO@&&OrY?1)-=^67Qy!p}!ra=K!w-x8c-1@X z$_Tyum;7Uo9EkAavTP*R+l1a*SoA)ViWb`F>NY7qKU?$h{mv`}LspPOqs@Yk6VnUB zkRTaturG-kf9QE(lhm}k$|`X3#g-?8EwwgFwR?AeUpMJqU9c^zxVR+seu`jbW;i}EuYsnUzZSOrv+h_3@tXmZ;A0wZyQ#aAI zUHG_f>#qjI>u8D5L%Fy0=PYuU)t7y=WlZszLv8}N1{$z=@{E$Qugm2$f~;>!%vi4f zg~-ij*?4QMn3Wk7vlQi@fXHOYlDv?MSgIjiuG?<I3+P`)c&Y~ zO`dYiw_79>_L(EDm0eyI5=ldT7!leLy7&1P=e2Ios(oJq!{-PXy6>>&q82*|q4e4P zuN&xjYl^?T{@%N}Dc_vycs3=2OZA4)%hYv~8oL&6>*bC`ad!TU2-Bk%@6^C>jB*z6|k`fO2~-EmCD&*h5<`ExyMiB>GtRZ9nKs{@vt2H|V2PPF$uKlcJ7W z)(}M(qq0s;oaziBaB8r7$91^DniW+m7*3K_Y9YdF~0o5sM~EQL;XC7vi4 zeM+f1IWvRw`d$eH?jZX*H#dhY;f$*!kWPY)O+`VW;$mQ3r9R*QlApELFQ0-9YsZ9A z%PK=@&zxq3&4j%NBUbZd`qOF1=##noMX{cpv`cAI0ihuCh@ezYOBPP2!3e_c7haPx z_PH|!cr_o95zeutS>ReENyzbcQ)}aX9k^OMbm^jN&l@?5M7w)186yJ&L6=U;YAn^{ zF!YY!KquLC2=*GSg1U5HaGg7>+6FUgsw%eUgvtc7{(O7z;2-)+huel3QD`Jqb*)Oj z4Q24ah+Zz?fWzhJCdx8iM^$q~Et%wR%f)if4n-M{Mk2bJ^1izHxou8dJD=RJet*3B zNqp*=B{pQDNw(*2XY6fpil>N+e^4UfVUHw~Qa4gwOKcmN5)ra+*Gw*=rTkeKhq`US zaiOe!Ca{o-fq=Pa@!Kb@G=e;v$q$?z!mV$2yko`kO5psgU$eKw<<$HjriVe4Z!w_SO=9_-(+ zVbSDlEQx>bGP65;7Gc9N7I(>%x8u{&(lR(W$Z0({QERP@AASMk@{XHB&xAxoI)J1U z$iJ{hCIW2*(c7#XZHvrjNog5Mtft&g8fsu;0|dW6vrq!VTbuVS4hDwOLBsKS`K%R? zwrGVT05?T`rk2JGhP1bf9>a$gD>cU5d_oL%%er7w*T>2CZYPC$r~GK|S$AdlYU(C6 zPH>@C<3m-gAv`@^;BlJ!OYKtE|`7(UN)9 zj*r9x|6Y|KHS5Ov!a+Vd|EMS({=L3`o)Ai#e3{hXWVIKP*niuyIOC59-kv<}%MS69 z2fxtr;U%ndl{0#akt~k?BS*%U5fSds?J0Ja;j4jX)IW0Swi{n1EgJXP3lkrDH#N-l z*WNs=asS8H`!vSG(zgD4#hFn7`69-Hd)MvUjFP-Ote3gE5`+y*b#ZTn*i(`E-{``v zF*i(G%v1@!^A8Q9PLT2Q9nR|yZI(+6q)XAm)M#uhJStL+;+T@LVF^Oi9pXpGE*ykKvv$>}o7 zOEYn;nfp!u(iI_2*pqRcUcWVa`XXQU`=sr>Z&Yw-jVhJCCJ=y+=gJ`=A)TI`rLdVt zfBxLDIh_9Nr|aPoke1KSH~suc%FElNew)#a1cNj zJmhFwo;UPB_B_&rX8?zLrL92p%VEESWY#DUO6ut97NwVzm#++2+eQ-e7rpPj2KqbIGpsQ1TS z{-ny;va=ejiO?$o59ZzT7GN*LB$0Ua!}JpdSsefyh52Yj?wsmkDbtoj%{t= zE#yl>OZU$x&lLMaC|cg(R0V6iAw)vj_l*wDVWSWL<2h`teyxw(`J9gHVKr^t6~##e zZQawb19Q&(4I14&)~zKw5u7kGAy@fWU4E9K@#BYTkLk&Zq!=^8gh-m`VUvB|OnNE> z&+`qzGqkYXs_ts*UtH0fy5%(0fmc`wlQxTmTFQ|}^JWUac zuLfBphqF>H93y4fa-hzG>Cbj1_+En`Q;R(UMwj-$fMiFU<8Cg$KI42&$+s-Nw&kg6 zN-x$)=@-!PO$L!7poO0O_gh0jo1Q^?-iJSZaKk(gHeu>T%T%Qg4ZR%^xePmm92e6f z`LzF4A9awc?P381?KU(Q$fNN|Q6&)3F3XIDz1>%kPZoiU>?J6(_V!B2V6BXPL|_*H z5@S$j&C8?S69R)4#wVDCBT$6C_7V_Ahlywn4fraNb$smw3WT5%`t3+hc5y{s^ihY! zC5%2aGz1J&8Tw0Yz9bkJ8BeuZu#bw5U>`G9E@o!=!NG_E($&GMr`Mna3gj1$m1C{U zloUcxA8nrhob+gt0y2>&Xsw0V4+tk8EbJGce?TJ zP=y!q1w~#2c5U58r(fyQ&Z5!TB_$=GG+Pd9zQe-G`UC<7H;bMLl0N%Qk(H|Hrm9?2 zXi%ryf%Q|+(R62%YQEI3zcRoqM?Cdpq3iHpt$t(!`@V*S0KI7d(F>9M1HCq%)VMgR zy|?HVQe49uT4;k;m$##OD2t!ng*nji$bATff1vad*wnvpSy) z=H_gXrH=6wRXB?;9e&BpxT$&mGWD|8v)O{bkg@kSMcPJkm@S;`etV%K+4)i?kFCtb zeL=|^T|aJz&K#M$qt^L}Q2GMjflTDTv^46)Q#{2z+$ z&TDwiwdIJAO5*}#?gY)q8+D(Kzj}qJ@0KP%sT2yu_Y9*pR9jSs#>IcGex==2zSu6l zDdNyOmtQ;)7`4l*sZo1cde~fvRn^jCPIE5s@I~JQpYv{J?sUx1q`p^ZGzPEHfZRBk zHvE|3j@xu-d>744*MnOMBujC+_!hWJ>awB=i(|9H3O~)aRzlm;QH2n(axXP*P97kiE$Z-L}Y~VH{K+tFcXpCw=W0BCBdn{xf5y%6p-SCV zH?ic+!D4s0!4w5*;QGRR0`+c!Y7i!Q^qz-m#Hdl~=AK%@xG{uH5%tcqRoLXZo zw`w))EBy3qe&~ke?XvrzX*ryN)ca^S(hU2`*Y=ytoor2Md_;Wa1!}#K@GSR31@qZG z{!4wvH!O~Vsr=`oZhxMs@JOA!hs2L>Oy>pB#_qX&enWok7_vU2RB#!{s~qxED^?;&76)YfGqA zFF->t)Tf#WcF85?HxedY{3eK^sHcQ5dMT70a5gTSC0a_rlfM3Eg}`8fv1nRr zaIC_hu+M+!IPHAvts8FqC+yE98gZ@>>;z$N89nVoy-oXw=m~4B?#-~C9Gl?rX+JNC zN=R@tMQ62^8+6L4Gri^vPNlM=_WLqg*iIdT>(z#e_T27!d*#-aWB0@q1q$aIl2E(V z?+~N8hA8V=vsAa1R(>qMpP|yB-wKc`XYE#;+854Cc26?^rrQMdQLrw868WYtJ|@BR zb8~cIsj;?UreoyfeERv)2Hnf&%caHl%NsI2O5B({sm)UdAJ%C9vQ|veJ;eKorj0=$ z&EFOehL&2=mJ*N7uTq|8O7dwHltW&&>Mqth^yF+VkG;ne-Q4CyldHik`Vebz9pC0; zkLT`w&7#t~ps+br!s`INuM6<9FX8A^KhT-eO+^Llj3oNia0jV2C@DF8q&c72HB1xd zeC-0t@E9%T#5ximG_#;P1RVTqU^hI!~hH-S9A|NOk>AD{%0S zk~)-#``lwG_ktV(xeKt&Bko0R-lNrh^LIm1(BpN+Xh9ZgiP0`XZa^`ZB#!4zU?H!r z7Mt}a%tcMjSGrO)tM76i#`5Ymlj5pr>dMV`FC5itPj^IF7d>RP7S@mNVz*Un2&~<> zrX|icc^ZW44k%|LTs0{ESoA&n9*_MDvQp872PYRs|BkxnEf#8`&*6rnR2^%H_@93e zs2}0!F;Y(x{@61imHzg=0;Ad;it8G2qZ?1CExGP6-OlD)7|72Y!@0SvH9uG>7~L>> z;GMZJ%IUkRp-Y)L}{ePA)(HO3BqX2J@F@e#?k&s!a&T1;j z%TOXc5e@qdp(p;Ula0AK=6z@Jcl06phIDXPLQChqd1-+GEp1!kf~!BJwiqtB#HLO?xy5|=<+*wl;bG85pKxj=b;vxO{lL8sWuG|wgK#o& zekqkPLc@7ka78KdV; zKFWs4Nw#OApPB^RbO__g*tP~wXUkkjd}_hfZeH0(GYi#Klna(vYIVG^qcmGf+mhb*Sz(Y(PnBT1o33_Hpnb+VeO?;QSVb?}WW%tR z(6n*bLWCYOh-K#<*xG=|&$lMi<(f}-Idv$VM*(;O%GNNl8zR5NKl*&_(d&r70_LaX z&^OeKu$qaQ&BeFWWsbLHI?Kz_QqmG_J!`+T9$I}GG9xHn6!5pLq>91V3Fy?P?D144 zI3(hW`g9C-E)`=Wb3|HY3z^je_4!0qU# z33S+RO^whumJ?IfSw!ctYm>6PO>=)9im$1pqA9DqP*da&D=c=mrshJV8~3{pKkN`X zudQV9MZ-aocD~0I-Dnlkm~pvA`rQPkKl#H(69rZglLcRUx}_lv>zkl z83PgT9=!T_=laHVV@RLV=4DsbE--AE@;6_rW*3=iD@9WZ&pGdQY9q;ZDh%wJms&4m zK+pCCmXZD>k<&DZQx2M)tW)3Kju6}6FRJVJbPrn27WlC(4MXaM33v+<_AuF##fQ1E z>%J-yd958cRD>K}$h$C))^71R{dzD(Y`Z)taYKzlc7M*nNS`y7*7CpWAO<7=tI)4x z4Wna+@keI_^XpZUuPCaHo&C>%sWWO6PM+T7fJSM{~FZ!|8KB6&{XgP;yI)8%3bT)y|!>{4j>D?`~25EygWuHHuUJ zRMAP%+nr17@i6K%kCT*>k8-#efXLZ4!(S7rVhNNOMHe#ZuTI^l3h3oT^lGyiV*VTF z>Nl21n`wSQFiUfDvOcV1v$ZZWIz(}k|8ilx!D>qQ4^6LVU!<6PS3tlBA=4c9&c7~& zt}Zg%VM!O_MUA+X?jB0NT7QNtg9D&AkaAG@_m8{KV=hy0`TNM2(x1?9sm&-#K(Vww zkETL=6Z2~oCx()fhPmPG$JCfs;3os0Syd8-@ZrBuz1G;>AJ16O6m){uv0M1P$$lBj z`l4i3!iCT+a(t}SbL%<8UhgV6excf`bG4CctIn&S!A&Y9BB2+Nmhj_8Kebe}B2gvu zx=3UA@+|&OAN`Hy%fp`Y2AMSN$P>CbPU8}N7jxBxvZcDV%x>+ipx{Y~OS{o#(XmYJo>Jq`7`x{HuqZ;FV1K0CYozvX% z1sBz{mT0w~(Rz^lH@97Y^)a!h<{g(?=u2agbhIDP&drpFR#%EQ}mHayp`-@r?&qVqf2G7vdKh zq)xR3U&#kYD7aM>c9=cl6H6RK&yG?`>N`$WNKK`2|HqG*WkklA98QseJQg`%|J# zsD!D%c=&vVO2jOvk2`FaQCatAv$9*fHy=FtH;;0&-W&dt02N@9!zx zC&iU*Li-GQlN*Q6Ec$P+X!F<1(CKQEriOJh^&IAN7HR=Md6!q=swa-Vyq5y(~Xx|ZhUnTGQ|2a439!rLvy$+lPYN>{~j%kmJ2lYpMJztL1^PATy` zYsv;4_eEK1;0L{lcea88RinhQ@27X#{+jXf8~Y#Bon{^$d?3kVu`GX%1^E!c8gXDc z!?B?l?E4WLA>)nz!j$|B8GJ3@3$Yrv@~sREwST8t`$GRmDe#2@OK8kpRsVIB83y{jg3GHiappF)`q8jA zHa}dlpnJrfSvX;?Rm#TeJw9jd-)Eh#og}5cZ}Byfgry0RnB5OMy#k$mWQ)D=G}rwU z=fh#rYHq*m{TYy`}*&mZJiFD*)6n-$4se{H^Dm>--JtJWD{i}{qLy}!WhE|s?Svxunc zo$70ru)(kuBeM_8=ED&1HptzuT~Hvl{dOcXx)SsEt+s2-{J>7(dz1&Ud^F9bHH%?v zem)9QxxIC>e9CSaUy?ZeO5c|PHbiYKm6sJ1EwKn9=1YGkZFTY#_>3I3Nkp}NTOXEn z^YfkM`=?mG-P{x?E8jd#Tl5ffnVpsToD_R%wY?IKXM-hCKbJ3qO%1V3%Ay^Azmc*w_Gdcl-}k$(X!#r3d>^`5w+ugc z(?8-t)KAF+v?^(RXktqq6$&sygXitd!=9$Lp*wfWSp=3nPOjCpjm%`M;P> z1kzK-JC)UxRdtp|%=Z}DRDq%HxSu9Kqb4XhimU9-^^=pCt|sIsh3Sj6pmqz z6>c1a+H{@xk+coREgCDx{;I*S3Uo{0XZAYi`4W>ygt7tDOPMzGhqh%j^t5lX#!a>w zJ?(WMkfnrh>sPl{0xj8j4V3}k0t)ZH-IG|VCFr_f8*Maw!Qv&L{TBMZa293hggl&X zmSH?td-|+KG5-6GD+lYr(v6aCvC|qA)w(m08CkA)?lRGPt>__4<`U#<^PZtwC7|GP)*#OFOpJ;RXRmJUx9UgB;P<|73ftodRgN?Oxo)7GPLt2s+Ic=w#%t$XYd5w z9!?g^Im-jEzuIxuPe2T*iAwR}ozHzPpHV$Zj74Lyz}d>Aa|wAZsuL4i`8M<6(fBtV z<=oTq2TYB?^M#8z8ELMPhRR`j_vw$GuwOuOX5&)O#ayar3^)l(d*4Y#vwe}G9ty*1 z;aKd_k(}=HewdwB{j%+V5bl$u>(DBOANKmwVE&r5+~!bY1*4wWsdV24pSDq1kxHMz z)EAK<$wOYL5>FQu+HjHIR()O6o4NR6Dc8#gml4*yP6WsLDU+nGtZxKQdrtr)s^_k* zTRgCD{Ji<%!0x`*V4!h2QOUJgkigCD_1(@_9b@kG`K$QrcZb)5LCr(_yi)OZ^xG@! zHAvTX;~(m#I5>!I=ub>g1iXyZBu6dCdui&#*#^_bCAWM8xow50dEecZu3m_JU~F?T zl9gIDd5b!?R|vICcpcvQUH$I1*6;J_Z{NLf8#)vZgGU!_f6Y;e})1B8eHS!5?0*6UxsG$u+ zE^S*i%R{BlDu@l%m&jwv!m3H2CD4a^N1mcJZ!Tuny^Xu)K4_*%NBTp|E;kAeNta(r zN?+2LzR-+lC7Zh(Syj<{!PjubL*H6`Be^EcMsi>X zp2Q9dT3JzYzyB#cZD@?XkxTJYTHpS+#i4=B_SIzl!i(+I{LXJ&EK}Ysd;Ui%-q}B| zW@SY$>%)6B0^dV~MhBy4vBZXZh#lT}uoS74c}C1f7H<{wLtUJEe~9Y`F8H?8qMY`3 z*Q)nZXvxjDxkkk3++CY{{t?Q$X;Exo~dD4dNlPHwMXbOe!;|Hbl(Vc$ePHeh!RH1wT@)a zg0sHptJg(LPD@ZT@y*6L(5Zlno2)$C$4%#ESyodB8H$`aTrx2q+T!QUa~;j?g7-3X zabOQ$oSCxFtiP{@z1@gMQCpuyu6nSyY}Lan6@oCD#eF$VHYZzJRoy+Nl$}^>_POT) z1|?vfT+i(&W`!E=r5 z=5AfQQiP7G_uJ-D9#{8JQ17F32?L zdp^UnTJ@M(Bk(QN9iRo5UgEI-u03kq-`eq-yno2L-Z-BjVZ$Hn>FJrAR8v>4J;)&q zP{dN7#dYr5(SNCih&(w7dpfQ>CaffvW00)xvyjs=E!J(d%r+x0BQ-c-{dehl!}fyE zUG!YfpoW;UC=`>(OnRU92Mas=5TOm}OVUrvqY)VRXEkd>%|CXVYrLz)Aqa_6ta%Ma zI!#xZg~|8iQ+hIa^_uw=RB?OFFL*b65yOje$5?lVmaw*4IQNLB)ipH5+g8`0>J4JV z3zwwnbD|cV)3&e8vNEzKO+F{EuJ-5IV!wOI6={Os*LRmaVn4ola(a|iM%YlsX5V9> zfc2cly=av6CS>7~Vb)C|ND~@Sp@K;UK`_4L4h`bk>6NK;Zi+k^2}3}9M-!aOV|0zl z$xp)r;k;V&9j-AYSz^nMi-?YnFKH@zK4~4CD`2qN?T``T@|suqesp_R@I7Q`etgrX zK61D0^DHCCO#l41CfO9>D}H!pr_vo*e1Pqu>T4ttaH zc@iL%*;Bh!Jf4 z25S3>iAc!xF$o!+B!_+0i8+U5q~Fs<%&eB$|40f3tA$)_#udxUZ)iIQ6lTXVprzOp?N{cN!BC}TP0DeP@@DQ|MZ;(vU5F9S$KfK##|}< z&&wG{!AUNM{%Bt zJRE)gkxFX+^H#npq8vRp{+dXRsBygHHyX2@tym5KCuQwt6ww%0#j3!+T(Hd;wRN|| zfCy(n7gU-Vo4RE^mhS(a_LmrKb(L)-HgrMfYH}P$)h6PuTbEl;+lzHjb0t=s!3GRt>l=CpqeJqn{$k@aRjAtO*qn8-OPx}P2_GKcL zseOgMc#&Q*OOu$-5p$xadAw<9B5ioA=Lt(BRdinz^EpGU?cT5KHc2K70?R{CF7wAq z(}z)anKEDLf%oBVm4@B%Lbtt!+LH!;Ynjx$d57*8aq+~fb+%I`zMV=GM84WdZ)p4a z?lIDPVfB3UFvw`Bdf{wNPKko_?LxS9fVxq-P}*o~cbcZF&AX)vECSWr+G;ek?N@(x z_8OYSs8% zNl>f?#eS{$8~(4vPY6@+*Nx2oII}@jUi>4Z{mFg(0=TaskQE~s8HpKT@O5y{6p$fy zPEM~}UIT0U@%cHn3qrnsvo_+s3j*&Wq7+ox5rLl_NC{5P>&q#g@T&kp3b?8nZz%RD z>?#9@;GX!bRbL-@vFv!_i4X{)LI4r`(@#&&>iFORQ&!6_xwD>4|KlCl7}n*YJmo|mJ66GTk@ zhOATT@A^*WVGaB9GTqVsDW^#r#E(85!-DeaFSy>DPW-1m$0Ki@`TMDn<|0Fm&beMu z`rp6&6!aAx6Q3cW|Kmy|8<3^A0ahMpK)+7fkMD(qF(Kg3H<~ZUuRryGU+MsLg{Ed4 z-!&aS|2?pJ14>i}Dmu76vgQVWiSEF1CTb-P3ZPymfogw;Gj;asdckhWbODnp5Ekmr zj?+yN;w*25KQGnoqjFQh{NHG?X4)0I!=ZQ;E)i92A$8OfCyHva}f7VvSB_>|CLGR0KvV;sl zsvfYYDt?x!y31GHdxQU!eOu7IQ(;4=XC z^yJzL)RO^ZD@P__>KgC;%wrcT40`H-%r7}QB7j?T+fz`I%3GjC(O;M4_t}*%;~LJZ zRDEvgnGCWCLL(ECXv*HrQ+GaMsc1gpNYZcB)og$Z#uFRp{dhYi9!bxNF~T{ma>cWb zS}sdrMAJj1ua)Y$=4nRCe%lv$$jlG~eP;qhf>a)7X>jLyRspO+8L=D?ngAChS0TML zGgEmUrsA>BO(Hx&;#l%0G{huk?C(sRF4Ys#;g-BG#)`hU6X6`@=o!N-$Pi(DoN!Q@ zEz8f(udjClzz>ir1YAgf$jZzl59*w)H11z$a8y%Mv(%=$cpQLsK0U%GJR7Vry$iM0^Jm-RK%Yk~mt3|-%Tc+ zWCVi@@vu1ArM~!abSN(AxIad7PFLk=MF;lTH8whm$71vi5K|kdiJ21z03IwTC}^7F z7JCFtH{)Yt($Lt11XnPa zZ+};4ny88zHp^&{2%c}+)FC4lIXTM%eML^-o&t@G>8e0N|du-I+*=^#gBXPGip#+A5H_y9mz-Z`K+(+&c}i-{J`*^aa)6k z*5P>p56(i&qDudRd49$Z=!*WQL+k*>7DaBRbCH>fN6vTPgG~r#ESs2YWzP6xVWeBd*b^e zDIEbJLz>U)svKydDW#N2lq*>#oB&n&6FdNrg+G4`3BY;P&>3N0d9{{{iXvomKLr3! z2hPBG_Sn)Qa!F2?F);FA^}xq*?y1kVX`jC4FTyM!%7>b!zj)6N$kGRVBij^vE9e%e zHcQQj5Kzf{^%M?lK3(S4%uh5)2*eK}B_^y|hUpGQiGZEQ2~ibBHkxvy9T??dpU&nc z*(gXSTaSrhLkarehHzKkqDyI|0e{-pf@Agf4-pa7ybU6*+p_?CVe<x*S>;xBZ1yb5*1m`=UVtgn5y;@wdBsp#@jF!?8rE-@to|D6X0#Ew{D z@+THx;j-b2s;c*wUS{@x`U-eF69bF&_5g84V4U}~5-2yo`aL$?eqX;}Bah8i9Ex@} zVeaKb7Ls+0W@?>pJ(Gz43O40)T^$x1Bj5O?+esIz}h~wBJ@%gd3y}<|Ul5X~d&PDb|owKn;l@ki-kG z@sIGKlUCTV$p zZV$fD8(o$c)l!um8Zn;gDhFB}QWbqGg1`BLI9LgsF3G<9l^fFLpQ&g70{Q39V)G^E z8)SuRJE)(NtlZ<1deb@I3)&k$Avm}<5QP8?JJNZ8sKcn&T%ROf=`C^3apG8`X;V9# zk8em?bzrrSR|l1CS8BLA9lse!bS?+dh0Ajfv1=?Ex_szHFzBatwjNI415T^$YfwE<$5eZSLqCq%D)9wU? z<$9rSGE!qKS%N{-*ivS5mphZvwO-Lu?_Ga1JB3wM0OF%Zkkb7?jG%9CapjxZt=S4J z`$hGG>%5W|+FJe2LvTUEt_M91hNZ;5l>0UAoe%;!DwLwuU5<#U!sEGqceZgwbqNUx ztzbqLgzj<9KuVjf%2C^$P;}+qoJV&XFuUn6 zKo;$~8!Tgtn@xGQ^MAOcyOY1o6LHWcbhcdoEx6YDuQrcd!L@nLTgI%7>w$C%3 z(9=C$i)8Eem+!#(Ei{lsH;2AIp&q!z@J%$V?#moCb#3~CFM-WzZT;pjlPa7$YR) zZdIE*JvEqu9?v1t+QKrff;8_rS3=yD8H@P`4>=YlMf}mgl7xUfZ`N1%Qj<~NyKl#U zS}itx_Z=qk*c0Zp|I>@E-Hr z!+C0Sn?HL$sU&$QoR4Kpi0<(8Z%t2UJx_us}PwQ!hlb0(2|_s&2D z(2&4kmaa4_kd@!sngh+RqjiClYJ-uBPXtE91;w_6D$k7jA!ohYdt7!KGN2x#j=XU< zEi7zug#9&YH(_`AAd8{MXkjzE`%X=_je*4XZG7zR2D{jai2k&1+tD|cGV%H1diz5C zi`GvUNiS)051>tV0s=vBNe^o(o06Nh_EV!HoaTZQBj(kilCv(_H(%j{2W9P98V1z<8PtAHPfXf6Tf6HIufZyFkGBEMj9xy@x)+_?xh; zaOuV~Qq{yHw_MbWa^bSyYOeU+qLpQ3@nunWoASfo$;Ttn<335rE%fRSA56O`5k8Y5 z;D?jZW_?;^-WB_Zsu@a-K$EJTn!+<{DT7&~&6#*|w~`cBbSWtH5Bl&z&_Pl%D*ERZ zxpH4%gtzITZ{nYlB?uauO>mjk-(etNuf^BJPKmueC|w3kAcJ`&5XC(_mf!( zE)ht5N>^UlLDfHz2qJhd>~x5x`V`zvj+uc7E$maK-O6 zCnET=Mxw4~5StNNf;Yb^^)D0QAx1Vw1>9+Xh zSvP6_MSZsX$Ij|Sddh;jsIt#Q3Hiz!zB||0n8d)a9|6&tm+lE2p&8CU;8 z--oHeuHqXb39-NvcartXi>!e!Nx7h6Kz93RUz6+u@29Iw^Q|8>F8X~klY5Ow{d^yS(o=%VTqIFy;kZyc^xI!aZJ`#E8 z>{%-k9$RoDVqXAT|0USy7q3V0cy}kv2NJoeJ*&uk5}Pb}ZzdMctpDaga@+RGV%ID4 z_*2^52y1$_L#nOj!z9q!{J$}*3oQ)|0}yj?z!cURK|zJ2r!XKd@051Ifk3d1ubq00 z(ewGDJfPTtPX;mVtpfUK{^bY|%2Eykt*^&EZtZlUN~|L+nJ({(oo!`&xGBkfF>USd zQt0EBZ^M!AjbAQdezdb^c|9**_f`&gA^Yt8s9(9+85YQ!jy!yDWJW&gOv#`9auVpl ziD)6IrlOf6s;(=CPeNy!PO3_f ze|0xO%<`w;^OFNgT6VZw#?otLIX}i9&O>&;9uV5u5Y}_HDe6<5^7`t$C?@=xBm>{M zclG^FQO)Qs80bN=mHpRKRSgapO)c(kckk!Am6$qd7eCK^9pW|PD@$tDFC;#|$5!0) zpW}0}Ed6)@n8?%#4hR>T-2G+6D2Vn`g|(?o9(5lGgnSzv;w&xsQOw!#GK4~LU{NLj z1QPq(FA?Cz%*sR+VnhX|^z*rg+GA@aE8iU)bkQ<880ZRPoBct><(@>bCLAQ<#7jYzku(|=8T}8UFTa7PZN%E# zSIici1hpBfg3$$fjWBl}H6m zZh(V3i!_Wa8gk%YI=_D6;6&oY_l|zS?*YR?qk(@%ABIYAO~$Wqk*@YNpLDrKGmIwK z6KrnOyZH=XcDlV)=mLO6!RaLb*|J`ttmB^Gm6lDWX)2x0x%p^^X6z0g@DWk_rXCk2-P7ZfaqW zm-RjP*(#T}cYV96r9p8%{N2y&sOyaUuDs$jyED;NB*?>7?(_A1LigoCrlrP$>o!(> zMm?{u3C1Q&F*1$Ee*I6lQk#XqlfC+RFWKEroAb~onU-&AQaWs#(jm7~E@3|%b%fql zlM^JjnMPp_H%ZezMu4)t`(wJ7z*;R-bfzTV%_(+vJa4SI&mcZkHE-9I)Xko=mmmsw zzu&A@vTZP(uU0!w?utayFlIxL&Y4A?&tXASSdnR=oC&|uF!8gqW>D-rGj6bSs|t<2 z-vngjLhVWiP+beHE#7au{o`KWJ@gz~d_K4>$<^gF_@Uz_-+pe3XBBsU^QX{NFIw=S z$JpsgCg)hW^}GEB12wK7VZQ3fk#!Dk$8A`Xl`kN<3|Lb ziHE1BMyr{^RS7&iye~tP#nj=FLw(mib-&dPF1tsdqA7;sIPwnf7h><&VyEJ4k?mN+ zd3`lHBtHU_1K;7Di>e_^!x-8hBmbZZaZ;3;l1-NXuw`jTJXwa1RLijy1EmU_B1cC? z;wfk^meU!4ozyE#BX|B7{PlgoX&Kx(NRyYRTl-8F)QZAGHF}3u6uk>efv=Kz`{?q%tq_G?X0VjvB^c8UeiYp#(;@!O`u-s;&g0FYy1NcA3V?)eW9Z+wG zrGq>7wY!tFXBP?@ABTsy@w~7D(c~V&N37a=Nl{aL{*Ob9AuIQ>c2)0%!p1OOafvqI zaA2adM0picj$q?=X#DWjy+`63M@g}!yqV)e-G;fx?YCr&koX`bQxtSJRKHa1_iJAL zFEAgTw46dOwBe}efeOf7lmA>mq^Y|$XpeYLyR}Ag#-23`k$@rZ`l_kZ1JHlNxbJ_$ zfptR^-A66gXJZRO zdx*}+KsZV_wuNVNqP#XM6nC12$u8PfHhkr7DN89UsBZdqj-52Bhn1?9jsB~d7PK>0 z1o?4;xx$G5>GzJJ#ydvMw-MXa=8_U)E05WGB!!*Ro24vrE^kAcLQ@r*T#aTA(;J?! z?)7d7$B232oR*x7?xf;Tui_=uAbSA#!d)m1O~-?z{)1d`k}dipk=+!TIsK6uuSPU-wk$vE;ou_XB>tNM4SREkb>0n&9`XXuyD zDwo*e%1z2+>ZMJJkeeE;0`mmJ9zthxLamI&hWZ!#|1y3RK>VOmCpmVB;RXwi@fikf zN@ouR#CG4i`F^tI`dv+n0CaIbn80O6Zg+I1o+G2Tx@Km=LKupO+ZT%Hj>lq*i2IZ5 znaj4%46#V1J`vvap5m4xYW+N>zCdZzU&O<2^4Gcinc)8F{dzuyeY8F(A;S@5?8kn_ ziG@TYCS1v05k>rO5{8tRy3^xT^w(2Fd&$&Z@J6J`6J%>D>U&2G3POnticjj7>Dr_Y zQKEgRWC~%gPnNxfm#_CF|;#JBs;nA zx{@60aMFGQJ_1Nyvz^|Pf?5kl<*tv+RNpI-3K2kTb$-5Edq&Cb{2`Y-Lh!d^eJU^U zM}k^`)0(H#a^}U#y`kL3^ym7=8kBEqo{1_Fou5zJQ=glROiMPN@IJmmd#F1Q`Rr`H z-HPT0S&p)jn%6=}zoX+<4CR@@{hNFNK{f_ile6iufmBKIBuc23$C0M&cW_z^>LQgE zO>izS5nLUwX7o_|A`~6Qanu$MyZy( zoJWz)(kLDqNIOViBU1$p3AD8I{vB1=$QKMd!lkuP(gj-Co*nF&4i*AQ za1_+EK!;TlP#nmU^K(iV81d@mlv@K?3K3IvS=5x|e96-amSYr05wQ$Eyl``C9rMEz zY7sDXp%+&F_DS|v#<3?vWd8If&q#Kwoti=nCpVISnZoWDgil&}de&wG!gw>y#Xi$$ zdwO|EC-2f`l|mH^#LBdwjJhA$!19HX=il_Pp3`hi7DIf31?1Ec2I6b|P z9T&?-Abqhd+E}ld&mq6>!>Qigw^{E-RF+S2kAwm~W-G*+}HYO*|cW2wbJV@~Co@ zViIO@Dg8MamJYKxhTPAr*X2f(n}*PvA3U-Rj=jr){Wxe#m}TZ~KnZTQUF<=L!Vwuz z0nd|%I@4OK&T)6++jv%m0*};P1wRMIXS`$~B7XN9wmdEdG1at$OvR?lZ$yiOE17?y z!zW8xS_x?Q2uq<|+#~7P2L8Ubn7Ngy6 z0lvrzRtmO_zt8C9Vlkr&yqw?N?DSgju?D1zhDVs98(GN3XoI7LV2l?6tDa^cZxg3~^Y>$!WCY zVE&t_dJd6w&N~z!+R0%$Ha2bx49Jz)38_D3)5R{)B|oI&7HrS4Lc0ei#(pRkO>29{ z`O~H(6}3PDwL89k>;KBaJH9r?RRQMTha9&eDqf-4&Y9`@h zkM1U$g5?xcv;hW(hok2|gHwki9HlsRi;--vmY5vRpr-k#JOmjuUP!YGkDhatV*np% ze>&C#O*(h=GWJl6lN+&DK`2r}v3tmTW^n``r^`4{Z;fB1K{uEFvM4R;xGM<@Ap{qp z3ROM6h?KFZ=N=3asb1X8i-d!RlBxB?FPRwq!xU#F9yskXq-6uoetoL{9W&6({7Zad zyn(HavZ=+Whnu+qxQIb&Tx?>T(eL@#e9eO2+OrAC)}~9caEH_A1yb_Xb8_)UhRMdx zJXrgK#%!VmrPHiRbXatDU$$qShj+C?Otrtf0Tj_e)W`0ib`6x41t>FJ0p%pc`E-!~HVTOlK%8wn+$JK4T zsM}SiH7r3%?KS;-SXc>0+&f~DKCB82At%4H3sYf9Xw83e{HdHfN>h%_2`NjjH6z)T zHDO?QGLJ1ESwIb+MS&3t&T;9HDmD+D58(jtkyJGeTwSgzKna7_Jsf>zb!}2e&X<(j zzs`8}!21hZOM3Rja=_9`^)v0Nst0WkIxF1wBnS)z?4aH{tA8e+-G_kmf3jHz9!UJ$ z!op!BDM^w5s;5eF9?eQOL`Ul-Q-eS&bIK|6L24OOxdypk+1MGXV-2+|rI{LZ1D_|w zOlBxT*gQ(~HDj|<6Z5z>(^zN~)Z~4wtZi%awR1Jgt>iqq;yF80gceX=Meh`okWJ zjnuKjH=CP>jyW-O{z**Fh|41d^B<|>Ab0+1;w)m?lLrnenX?QKD^T@U$0;b(WKvn+SbQY`Uq`q_NrlUfguXN?ahr5OYm7hBedc68cullw5ArC z))vD>CM2{IpfCQ#32J`*+dQ;JtvvMPaw!ibxsX7OdI^~&gLr3DNd&9J9OU#~buSMV_o~6aP6Z5KQw_9&tB5!hur16-e%eAMrLd9z zR8YjT!qcI|c7ui-_|u#DD_LTZoBcNkq@rM(HEuX4*ove41vhnxPd8~$av%eWr>m8a zqcentlaC>BZh3NkWT};OZ>hsHuxD$9XEAATKq3-~7#hUU*^tI}JJ1J9$$}VyY&h`= z8ibp!gS*==>^p3|PrIYdeNFWb{dYEHqBSgZn8lW5Kf7^fmX{C^s6XAH0+c;atTd$) zK-^!c0XzTO`}+mKO5C3#dPF7X%_6CCQ<%KpD7c-+Kuk+^^SPVY7})dx zjSLI!&-Zm?F{H3_zK?L%2NMW)i%WWXiVt4<+=+m;!9wu=nFr9o@9$AIT!Fu!KG7Hh zx(`JpWGTsWlK-nqpkhSf|Gm{Fs%3CGKH<-Zbz$#?kDEEj^B4R8kw0!CSP1TaVDV2B zA7rrShIwNXtkL321&8aVbJ0ep!~8wqoCLJaje(c|lR8jy{8B3|tZX=b8Xz1BMU6A3 zVdJ5kVWK<$H$5Fn@@F&F_|}2mwZN@YSTva>5zxiX zW)hOnQq}SpSMdAetP?|xX{O2EXGaov5c}@^M zh(^;|7M-G2>v1P!nD{gA)#HA=i}J9YUE4`GDo&Z${<9TVH0N9RhK*eK)ajTsc@cE5kfuxeM+~`)pdxr& zjxP7np_7VbQac!V^k9~sR~!r2=I&O~+Rn|uL82lRtVXFPUwR80Hn8sKz~Ob0&%ph2 z(FvVJzpC7EWFh?iT0IH_vP_0>KOsv%@aCnsAd`aa`_$c-Q=Xqz{uKUM#yG{u8r;9q z=N1!$Tpx^`b}@~aPl$^HzV+z`R^lzYyBvcJmp@QtWG>D&=Q>=J|&bf)uz%|2RDEuQa`KZ7Y5e}s;7U2n< zw~Xa4lp)Tq43F7~Nf`p}h8q^(aYXZJwJ}9gVf72D^*8K~bxX1tF5y;Dk856r>ohvC zNSq-TI$ej9K6&wri*0~?P--$pA7|J(rcY(TT<-y%Hpb_#aqokepzfwD1{{}~%nJ*B z2~AmL?u6?E!PXZ{U*Qs1&@wOXK!p4nSMUyIS!PIigj6cWNG5wY*|_3W^}{Qi&ko)VwD#fBqbL5LzR=*F#unLxsX@W z1Zsm7(-`YOf?~TNM2E{x?vY|41sVf=S&emIAwe1l5PAM({w!$vEfAlgq7&Lm zUCj`PVR&Ies_z6ywQL#xL7FsBFJf7XaMSv!&1j8eeJ1{PWba&Jlwn#>eg=SJ^Q4iE0OHC9b zCQyyal@`EF3Cu;;H5C)+k^>no#hSrBGJyPLW)^^i_=9v%rn|tWj#WVCI5F!0s9*-0 z@_lPcd9#e`^>K8BY6v(=aIo*MIoORID^`B4UDwA#P8FUX4*tFj`^Mi`oRP=cw9%7) z@o%*AVAI4`% z>8xDgVg|D8Pg^BEL1(Wk)4@+Nq#f8d9$6nr_|sea(-#cA^8}@XV`K-!f#=)uoFm7S=PKe?YsB_2 z(*KKvG5IA9hM@EvY$=ugo2r$s>klZ2bWy9vuCe8-QL|!5-N)SmD^W!-&_N<(O!;OY zK{4%=0ETW+P^kY`DIF)n+*mkJ754TgFl~)zVWcGEY?wH6;If~_Nl9-x8xZNBuFqQ9 z+UysrMd^|>ZP8#MBXO903GB*@2v@&d>^9S4h`kGZzg^_czV7ICtA_!ps$EQuRGss> z;d22Nj-FRNUBBv9qSBs2?v~!~43~NC2qsgzIyt~e8z_~VCJ^hst@w$>Y(Y?nQgeqG zwWilMrzLE^6%afcv$?#mAiTuk0UOCv_Y`Oos3HG^3_+H!?39!&$~f9!tC*VPZZ+b} zn-r=rs>O$})Vc+xRh^N_O*CpX#rSTClxGCe z0)xjtvAQl*sOTa9R546Y%LV?45PqJ(o~zW-{aKW_&9=2Rn(4%mZ0>q}q`ht{lzeeN zAQO6GdSUiA7hTtTRj}9=An~GiGB&uQ$AsUIS_wWFeN90@VhNl!tT#9CQ)qP|bCLHV z0D&rczucXM+32!?ftG`Bb5&?SDhJ7?m%EQRWHm?3df*^Sd8oWM&*r8gG=C~<+ekb4 zUk2^ztQJn&yM6@JQL>|5#`^`J-Y4vFwSB-477mmWtpenf~$LeVJa`_z&y;y1$sYalo_&~aU2RkO&mDT_)#Fa)8-E#d|l z323tw<9o#Dm0rU1!h)v}os%)>yVnvkXi7i*85bPHlBs`M9IGCyB@&1P0!iX74(r{k z#Zvtn+zTm-S&jHZqe3IUOJO;?+XaXEGdXJo4-5pFbDe!awlRk`dg3l~9TT=P<~H%> z7Vpq!1YQa3984I11sgAPDA*$?ouCVcq_4h{@^ik=tvO;F$*gnz`6BCXbLZY8yehX~ zIh-BFubaX0+i8a!d1zIUro3n=^XuGdUAP5RE4yX?_+p^_o6@R4_t_-s@NRLtM;7Dx z#Lc%B#(LePPa%8v7V#wkzr+0o=a%=TBWW|B7X`D9AwV%|5q@wJ^OSQQPOeSanI&XFP-#rNHA z2!aEWSL=T^HXYKfgxdF;rwygDQSvJOLxd3MC9-7Qg%G%Yi8*D^M7jCB0D>rWR( zmnPAOJt$w^!io~6n1WRI_txh=(TdTt*JJ#eQjO6hW>|=#2@_!(h?wYCPr(rU=EuXV z$4VV9Paa>Nm9KYEizNKh0f{eM-QTv&-1edLs8@v6I&3F{yz|a%s$L)Mrd`&5sMRwo z$-i;udryn}1z^XZ7#ucC>uec@hzce3S#i`ZQ>COp|Ha!PV+QytIe03#x5BV=AHw6Rd z<&S1v3jhHfHXfs88!!(+2VnC!c1OR6E9-vU@uItX)}!Kdi;)n1?7Czh2T$M}C_K}j zwN!oVR}{0Zy5!Aig8CnVZz?R}4#+m~8S+QB)sKkCf{AW>!z5?TkGQ~}lb ze|uZ!Rq(g@tgb#=qE@7QuSA?3kIksN+UcYB-wOj>t-}B<$dcq(pI==zMcn`UGa)pf z^Z!~Beq7D^D-ekvC<2l~AkhV=Q#-3R2-LF%l41r1BsY3KVs)Suhy|404~L7DoJ)Pxt>EJ2<)xw;1d^#Ys3ZRSpuLdI$P}_)!G9j9s;dJfhb2&h zbt@{1aFgU3>gpn6Viw%nNix$;84DY*JnVemHZu4wS}>x-e!i0{ZS3C^)Qs%A0O_U33q7cWGP%+_EYZ_ z|KFuzBBH}5WGD^bO9TL;q`D2}B44%3hpi}iV5C7ge=RLJbQ``*cM&b(WT$G^DN@6P zT_zOGudXiwDQ7H8dD+xedw1O=eSry)N2LwzMdLL^+mKdPeJDF-J#czct6xrM^7SPl z%1|LCn6LP6#cFrH%I!wM$?KhUWV>FP8JZAyi?6KocGEbF_%!V9b4`)qwbyRUq2-0d zb_X#Vf|QX}CswS~2K^xzd&p3rr8=^pv-P^w8U2=zP>YCeenV^m6ViInRV}8+tHD{l~oq~4#r~q*tX%tsZ>|*&is7utF6`8!|ms2 z)e1Y?Ad)BnE?9YgYQGG-(2M{@FpA5ZA8@Npmk9v|Z)I-NKS{&y9Vxrf!zE}ix$5h= ze3Vg!s_bdNVBw?2o9x$ZMwTnC+fvo=mqGq7{jfbQeF=DBPaS(3TUtYO(kP4Q9`>E= zw|1FLCx?HDP%5aDj;%$(?3R_+4E$_e$-g>x7d^y%Bsz4cCWBBODQm+5AxWK;m5!>{ z_PVn)0ysc{BV11s!gOU+-KIUSNj@;=Bj+s7ZLi1adNp$KB!=+w)41o>i5vswQ%62; z$c2zVnGLa5xN5$~qsnos-)Vh(Nhpsp?d7QZh8=y$yd&lcTe}6>c z?Zzn1w~e+UuhkNt=QE$D1%cMem)DgA=6C0cPyRsj+ry>2`Kw!chB=TWC`Y@5Qa1LF z;cfyBm6ycspZ#q4X+g@ShSOSVG5vD*taJGSRIMT|p!8P@i?)0``*Ird!B?{{{Xa&M znR&8rl!3DD3dpEYc4qjQ`W%!ZF54|GqvJPuc?PzcIDZmHXu*EtosJnOF11h|k$fvS zZ%)wB`W{BSTYhM=(uH@fpsfRQLgDxKP^F|jDo2 zHQ8T_i_i`^3!SVVJyCtLI7ba#8wZd|!F~S!V@^zd-s>J9V3u&Ig&WC=~&P zP@RO^fFC43c#j$)BYPGnG9cc_yyXrwA?0g6+WiWvf%O0--7AcqiKf?YjanlfERj1rqxJv1HVrfPi`1t%hR+ z0ou~Q{1yH}MLe$YPgm!xdq{>X{%9=E3mx^?NY4-X%SwVI?TrGAln0^hP4Tbbu>;C6 z6&o{!lUfFhG$LE~+E-;!-FQWUz#{jwlk{3R&as04Y!M>e>^T^ig=os8sIZXU7|0q= zmhYKgvUHoZ^_Dr0dCc`<6Cpt=gYUO%Ib4lvsQGzl=1|J2Cb*id)kiH*EZ4TD01aocJ9*grw7u-T*aOl!HoDK53rl4c zpWZruuL~EAOe&({U3tA{{{9?7oXNT0rD);_RHT0`sEaC01@ObJrAJ5 zLNzRpv=?$)s*hrp*68$!rL7ImwyKwb#Va~*) zML}(lC)b{ucxJp? z1N@)3u_c8zPI6K>ntuu6UX)sl+wUI$AJi-1yC_(Vi9AyKf=*QG6kxKKt>J) zx@=$B6b}`6?$m5=$*l##P!mHGtfG1l)oJ#vN!!yR0wNL=GMLG|0OKbxP(=25_Tq%B zr*oFQB5F3!?e*)7#T$MhfzD?jWwBS3u{=s!p|apS)-Fb_lq9m33r!Ohw~l7{ zfn*sU(l+`p01N@!1$WS1nPG7NCdok+F}M3L*+?ZSD-h_<%g}S7n=AWnHKN3?4s#;-xvcQ*Ra~_yUKro> z#rgHrfo%9qjavVZPmZJdi<&iyd-(?a|f zw66Z;D0VqA_Ew+Y_t{w^29OU}m?LFk@PA*};O7rF%^kv4B;t!`_c*lS22IIS86{+O z-jtV#T-`%8eZFFXf-&peJ3)6qqU`7lz ze(h~u6&PS}(Ed655yI{bH3gJ}zxXVlBDl6-U=&(XcUd>Q9G=p5gr#sn{@aoskH7il zVHBI!&1Y)Dd`=r`EVPt}1nX~lPq8WvL8e=C6Q8MFC{T*Lvtmyxs)8I@HWUZ|UbL-2AQV;r z%=s?#VBUk^Y?%$YCkY%UOD>!VXc*t`xmd6sstB%M#30YUIwXKV&9a-hocVYGk(jLm zeSh~HdI?hTEt3r82UMJalPJho4a9)ef7zp<+c^3g)_cTH<-0jpbj#dxCRlfEv2C6+ z(}lcBx7+7_JQbYHzi+n|i#5E) zO0v$^o)*3zOd3w zrvuy7+HMBcs~s){oD^f%uVu5LcD4H^w_{CO=-O@8zT?sJb{CktSEuh88eYGr=U&%} zH7ww?UhI34e1@E!Pv5`j6NrOYvfBSW9}^?oZ=`ONQiD_&q$>3}`!nE-dEZ8(%l0Jt zOJ!CH8{BjN!!p_U@;?FpnH;Kq74CwNy3z~xdXD`IRNX4HFurYZv!#{%;(tqmqu|)3 zUg(@7(MF}05?#B^vFU68Ux}&FHB(1!8$IG6G1NVMz9`iVt^H?N$*nX>jMs5Z1H~)= zEWY=>EhxfO7wa#O-fcgU0D5q>TfR!w9Q-+!R52;JQhZV51YFQF*=_HO2DtuXb4Yn@?(&>EllV+v z;ktU!fr+lQ2wf5}kAv~w-=PYGQ^EGO%&SUZidHoW1IO)8`g-Kxu%EMAB3+-MI)?5V z9sx5nBw|FSl+T&iSQ+a*%YAJNQ>CYtGfJ;F+$P&e*;EZC;Qk)&$LT}Ug)gf^H?e2# z*ivB?laq>ERn%;~4&4z%7%x#EU4}%?wS|wT$2OSe%!PNRf#dUR) zFd;M$$$4fQu0WK_wOsX;X5sYKMqpWMe2!jr&&T$ku^SJM;&*%DAae*^%^k`wurYV9 z$pQ1%e0sKgHwhkyeRY#+tx|MNdYRHt@`vk81NEor$i7#B9jH2dbH33<2B4JfODYy?=u<{YuZ3S9=>eo;O>7G3 zZ){0>(kO#o>p{hS_kTckc~@J-Qd7?KtI@*gSgS`l3$o{p)Y|@Goj-CTjH4;)%eqWe z{|m^zNKYv_$pa&m$n)c6Ub*Ot=+x`X`HqrR=QuOgtp%aTaX5Uq$qerJzrsQ@UkBSx#A8_Q-n<8Tn5p#uZ)pPMtCep?$@((W(t zTbgz;Mc4{GKD^}^%~d+W+AU8&Ih`=-Mn>R|7-Vt95TE5qcb-pC;J*uEnl9?iliT)Ta|{AQ{z_VomC%QLe#D%EK_TzQ9A8uRq1_d2=Hu4*>0s&Oi9 zDfpofAzSSJ>XaTAlGPEN^+O&Cgr8L@F9-&zU&32T67sTs9BQk~L&XHQemj$HsBQR^ zfT23_-poN8PHSvtugGZAkvs|AoBx=K4^E95$GPFC= z*|Qo3tfti(I>h1Ie6D?Cb$y+u+tC zj{X#>44#gfo}KBYiGMJI<8r~G)OR6I-%dN_=JX3FW#P#M81gZ&{^hoG zQ2EuE&z7FQu^7#c8WQ;Vjz1C1n@qZyYkkWMt{rRHvsO_Ii;R@-n>>9*3^<$Z^ce`? zYp{P`zVh+BE7pe6<;HGRo+P%vr#o#;Ikf8uH`p#xNq8nPE!yik0ypp`^H?Dbqg<<4 z+JJg@pf|{)^dmmAwCnvb5*Ncm=**qlS=GxsP}*XFF{$8UG4&&(25RFatJ%YUEt@QU z^s~n`pWb@b;hK}4Wdofg{P_7Kg&Kq;#{18*hVcR%H7=xTFTMpB5OERaJ9=h?eChSh z(KlgfTRh`;+h5G0-5tTbn>)Y1h7?w&hIt|=EY@eAnThrtCii+8L%imd+1_LJdAP^2 zc9-LZN`u4!mqk7z8VY^qz^~A_bUn-vCx#21ap0K+7hxz0UXYq0z*kPJ+t(G{J?pQ= z#IxTkZlm&bZer6)7?!2a7Jx+ z-I@VfZl~nGZJgr75>b&KMUP!zA9yqazS#mP??>_8B@$wk8j^UqMQ%nT?u5rS>YjxX z^4y!X#rX_RlWTsIC9mq%q}R-LZ?vO+E=I!g@gVf#`Voi_n#Mk=TW!EDhOo;g@`>;7 zz!r1Fs#hag$6ks>L`zkb&g!k-_P$rM^}n~KN16K8_2GF}q7ZuY8un}`>Obji`0YZ4W-ZpR=a}x3ke-q21;PTFYnJ%xCx65WQYTp~F*D>U>CNE1S-!I2)^c^1~fi^HY z*u7Zlg~QqR-MZ2%Q&gUeu1H0w5Q~jUh&_w}KWP8meZ| zGWgT%p#yW+epaNr5_&w`OefnG&LuDPu&<=qC1EKfL_&b;Hu0}=?K!2y`vv9dZkK3bl=g&fT=z@*PLyH?8{ z94t1}JEvqcyIIe`gs@K!&TZO?s_G~!E9*4**dEta4BP>a3-GQa(%^Ki z|I=zBT_{|_>GjE#E=gAzk1!<^)%prx^@w~y-k&ZsK9tkpEF2sz4i3h3OSg%CEjiA8 z(Nuy_r>TK^?fG|EugfTk`hYi8|Ct7}LUZ)rvd0o6iuKeGr(~E&&_}ujsOEkMn(p>+dM@>b%+ZPPXct~(vr^qpfx{8%dn=( z|C0;Nr3(Fh4gx-ok88o^-UmQ~01vBKcijK}0pQBpLjGp~F9+ygzGCHB7;u=Z&&bH= zR3^zqSq6%Xwz(XtI%-+ha

d;yFWX%Q~p0mwgA#%M2OBLy$nN>J*Kq3bLq&SoZ-$o z=i!J~oNNkgl@PZ|q0=zmj)x3irIQF<5M;;%8c+R+u*vJ5&M8nZ9UgdFPt^z1V4+v` z*H1z|!9ryJJMPfQRj?uXf8`EqO1Em_C{9o&(ifJjA9vLo8c&QuzcCFa5B@YF*`=9V z2K3TMnReArm# zVuzpyGAg^XhoQLP0L?4@rcA~8%|$O7pFnQc9Pmwc-O%sk$?sVanR;tjAR4Ro>w|{@Q)e0)gko@(~ zi)l~&VQJzcbHOF^{}*9%a@h*o|94@trXX@C^dcPyw6Fhz!5@+7yP3EE$@U|Q0Jtsu zNQBP(yoI4$5dU3lKLmQWBs@`qe_;ruP(SP!ZOFys10NBKUkn08R zfE7C#Xwo@Fk9@WwMurj0c7TTxhz|NbM~(yQn2NG*i8?}$L~S9)1iHy`J;SPUt0DuF`)8!Y!wcoNYY`=ZJ>q+dxb}sK*$RnP^f3b|sC%L(&-Gl_ zI$-Li?wsmGxO(?X;uC^eYv&}%$I6wYlCz$h1WP7Z`iSFow%T&NKiQS-NA#&y&hnbX zvfi}H2dx#xnNJruehS{2{vWKJWmJ@H`|gL96iMmsknTo68cAvC2I+1PrKKB@jsc0G zVGyLdJEXfi_l?i7P;c*E`dorBm z$ci&3YPKl1@{mZnl)mi7t<@cX$GhwiIeHutipZy7!_JJyI z=~XiphN+V{JsjxWdf@jwFVYX=2)y*>ZCgfc0yxyf0Dt%&?zt}Qf0;hT+044(;sPx5 z(FcG*S3qBID$2L7!L&Uye3C$s4|o%%zE)KTP)c$^5?uQHfAadC%|EI?z(EtZQ?J{5l zz|BYo^7Bm@pY8Rqdb#HZZH5O$C1qT=OMF$;1&5at;eqVCa6`GM2#W7W-SrXIR0^m2qs(Nud}~zNmuRgY7Zt_?~<`vN>tMjqoGHtUArNdPPf=-aH`ZG-{cL>_xG< z*GgNUR0JM(E2GrMKDyJhQwR=pw3{^Lp=xhrs8=*n*`m>%kj?8ds5q0^by_q1)R}Bt zQXK@*L)<(ly!ZOljQdx86(Yh0D06lqR@>h;5tQXRdV8^*lk~~tP~IT~Jm2w6#P#L4 zkZtw$t`Gt$ze$bPR7o*a40{2C%<5AEelXvYn|fF6r)q@|L&*mkTnO`9k-uHVhqrUe z)83|o8`A_vmu-(8cKhG57lnM0kLmN|*5#IFo`zWUo9Ga5a%k1EGRaaYg~{#3G`MAA z16qe7>Q4z3=DkkpvA;rZaRGYuaZBwo0sdn#3}_~CS77~D%9ctS0Hce+S|Z1e{;7pq zfV_eBrD>%yR`@J&E9xf2?wNl2Q^hp11>Di!fxM?@G0sI{2_1=GC?a(O0~n z3`Ci2>k8#N z44)GzPv4Eh1Q_$*PN(no>UmhFbBe z*uMuF-o0CVTDkj9F_iT;fv-<@$sU7Q%Zgy43a5W6MB6jD;C|!1RZopies%1FgTkz( zfdvHimS%C>Fl>O9jiyGDEiC@xGjQ?F(3`#g3p#l+ zT%ZQ$hb&?NT5*w5TjNh=Ih!L)hm#&h>L&FTNOofZs@z#IB@Sxjm|RXIWpZ+)nF86S zODz%JiH4C@w5*Hf1KTb6%MUWMI{r4mBlX;FBB5>ldjb_4kbjcKL_BgH{*KT<7&~voykbiqf^1mor4#%GLjGXfkA=O6c^hP+j%L=lOcp7!*)~}Z6cJ`npJ72{{ke>i3-L=X_CUAjnAtz7f>39pX<%>eS zPko`)hb!5LnxSH_c?7}l8S1tANEPLN)q=|Z2UCpuLavPgKO_Is6v;hDTL~tbdaTKD zNs=<&0t6`u5uS!TH#ic;?dC$tY4KHawV1lz)E@=0*)Mz63F@)q{hEQT4yaQID|%E$ zm*9g1XEgF`gmSF!Nl=I$&8P8KSRRwrF6FReQG_?r<1xHFevnh2uWuzZ@J!z>Jo=8G zE_O=#>5qJqHP3#up7FcfGK|^XH2W1-h)AaG%ed^UiPRsn+YNdyBE~;Uejgh#UBebeite4eVy zT`u48p<=(pCGWI}wY4UIS^M#-+bv{cgNmsdZnaPX?-~Rn-hDHfNRy<_7|@| zojvKtD~m7dPU=g|LrLxyUUdta50?%9A6j9bY1=>}qJ&x65_t>@bua~pAv7z7CLGRC z%X%9mfA63m6j*+jcYYdIq5J^bfz336`7C*1X9Fa=;PF6-cJ9I|&su;%*K$X*M#1?B z?3aWp8Ry$4+9Jas3C*jpDt=@ivzaXuVbGfil#BTJwp#oAU;^ZV;&CKcO6b}S;()bJ zOtxcgvasvw!CLha{pW&=%C>D5L`LigAsJ(M+gJ*QZBJxxZ!7(hh49i>B08h1+F{gr zXqgC~rx1qAmLAaKQ-qvH*E?;<-CZ6mU%f}B6cCu3oVj!P93WMj#e^5 zW=lOAKBNkL>}ce{##z$7xVi48vR}?PN&|w|`m;0q_^VsPikT^{-y2mw2I7@O#FJQ5 zVaOa|pe=KK8pwR?R`Qu|Ux9{>ufroDx$lf^Kq92D;a}n4tREd2f(0C0*NI3j<7-;L ztyI_a8yg#1^X+RVpVW~g$O-_9Xu#C{=j^^$pCuO|SkuPBVtPdrkf~Au{l+Niv+Q{* zVw6xIk74P_adckVx`rB53_dqTX&k)Pyy~gn>mk+brZT}Hv|#LxWtESJRzzoWcRm_> z8886=rC4IRX&z2Pk^Tbv!tDKFp+|qi41lFvFfW_G&B6Vaa*PZJ(d%Wz_S|?+H(hbF zv25x1RTbPbta&*SOPvyZeWE;DySNwj^jhYGn9X;iq+;$^76d+@DVmZ&j>v(|I65j_ z+hDqu4Jly48#LCf%-`KcuTX6i|63mu!fb(Z>*TPjul5|sTtwYBzGSm&Tx@$kPQXxTq8 zMT5GLo9tiO*g)PvxXp{7)ob2G7@F9426582QH-(cr3Juqmj*xN>s*TKevyMnQLfi8R-l-E<)e-gibXrm9)*i670Z38vUIxZ9N>s+86xtb9tH4Gh5@Wno|_KOwd~s!M!@v? zpYKGFXP!eC{(ie1F9ru{Vg8XjY3+DI`tNT8>Qr=)I^(3b2+)htD4jfds{ikQtIY)( znI?H#U0r?Qd;7w7gqfN7oCNltf2N3p4*L9(?D6p>G4R5~{Qmb43o6J80l{kk&tCQh zw)sIrs&V!9ukpk|tJ~#(pWF=Pp_DP15r$UOKJ7i%I-GH zo;b|mXi`ur3}<-}dRP~R5Y?C%xch5!XWm&RL%A2#vvjuNwzFi@1#kon`mT~HowW4K zJF!@+Th6UB2~Lr`?6#5x-hc?qKlXNgfKlW~J@NHL&8pzt6q&UxY(`oJ4chi>SLDT| zsOQdLGNRenPX1Knm>7SP$D_zV)QV)TAC0s(r_mR5?THS;tia)I2M7OkIWJIPOl;N0 zDEm6M?I7UMUzz`q{uM0+5swABaHof;;t$W$7YSPV5BEilxXTkh^l zF|piTnRfUytKN+8>~{3<>)G;E1^cRtpH2Id)!Oi>BUDr|vZZon_qLfIDZZxcPdBPT znf?KYwlLo5znz!UU*^*fq2 zkQXpDU_WpFwva~naoN4YmxX?=5k>1qGvu%|d)+WAB60n#;ggjrJ{^VM1<*~+6TM~t z?xvz0pi)P|AhvYj4&T_mAd=>)hS932TU142E@#z{Q zZEtq_^UYp>1^keqhDe%FH%zNtqnETG@ojfoI1D;cek28a-6K%5r|+odZ;=wTM0Kz zMnA4($L7De+FMs}P)Wy;q>_YCQ!u{&!R?4fJl7ooKH`OY_P`^_qwsfZ}Gv>;-IV6L>*DUs@g)QNDb5Kd*=oOC;+BdKx3K$>#sBv z4<$6JLJsq7rmidqRFWS>Gj4IRc+Q-eu@H1_c*_B}tfD|JUutvg^+dAMg~&f4N65d6 zgg$1zApr$Y)^HV?{qE8*XborkS%r5TMiTzUMp!;0+ugey72+j?hRx*dEhwlfpCdl$ zTOk2xxOBetA~S6C7SqzOBb4ofi$P*Jm|}6JzMYoD&ZxP~^?X(v>rJgZOn>UpwcWOL zJj{0&k0PUE(l42mV1aIWo~YuwNQiOe2WGtVv@{?`CnYs?M=;~_`2TDd#vW4Q=_9xN z>N~ANLo1v|%Tw&bR48Q)=BtyKAWk_uu=Z33?Uhd5r%jzz_-i5c8h`5*;QHJ61n9&pmGOR{>X(f~^L*{Hb$KxFP9}sLF`Q&Y zI4>>vt@CS)y{O_h-d#jOP#)#O%|SY^!&0;7+0=pHRZw>G7ukL_uBvamBEVMDH)F{S zn9_!P>TyR+7f#u=95dD^nsPe-g~~*H$h`fBkpqJI8oIU2cVZ(VN?&U-^~SxCZzkMg zljr)&MUaN@k7VUXn#A?1W!H_BwjaKR*V^fV@Jcg&C;1_!Hx+!|E|!0Wb9Lrk3<}>e z^ItHxIP%_r#ay!-@7s+d`p4mHr7%dg5F5ZP=kp(IP(Uh~(0jjr%kvtq9!2?~TlgCAfjLlfKVmlt5Q!y28-?c{H@A z`&l7()Dog2C@ARroXc_47sd^L3xvj43}qD8Iv%h53PyTqZ>tvd8b`5j%tTGz(;nR1 zhb;>yX(B$W^naSZxxn@W)rb9YQbX;*#V?&`!xG>_ksrsZj?l1XiLyA_v9}U~0aKs) z33YZUP`$!u&>;MXYO9|CuID089Lu9G)+RE5;3NRK^I3<`aISidQcWOs1(HO8>)F6j()Oz?$zDC5Pk>9>es^=t zx_t!CqEo8nMOe}xm>(oo;*?LAy=mv+qT%*CH+eW;;tCJkGGi)!KRz;}&{~0u3hIg5 zXU;ElC^cseZ)Dq%vh)yYiXwtWOT9NO{$pgtB^aaGDy^=4+kgD!ZSd4k*9E$2;U`6e zGA^sE$aMn7YJ<2BbQ4n|DlXm6&cZ)m{wi%ob zr^mnc5HnkW5!O*zU0up_hX7Jx&}jR}VO`*!Cy~LL^MOw=)lnObHq2qq+C(KKNxO(> zQRcPwTngI@^6joJMELOm>E8t)m4>d*A!YS>w(#VM7JHU`fDzJQ&s;XI-R>^kZfp^0B{Fm{MUAkQe3U)mly*j3E~q2Vay0$0R2&o5bpm03v^F z%Ol0`M%O+3`)L2I8ZwIb$jKY`sf8 zd5$uJbk~vu#_yv$@brmts#%Y#e&(KbES(AP?LABL!D$(!7hKYvY?VLVYkAF}0ADm5@oNw$PmWcK6D`GcAfG0M88Osi zysLZlf+BewC!8i9O(aG#AnsqYG;r%D{O*aRj)|;^9%o|-Lut+^9~Pzq)7MT`s{=iB zJ34WFo7&zDDP#SIw%TXY&mEuVg6Ov1_d9StjjXJ8_V#p_Q?{&Mz%f}6okXN;y>b$i zhe?(lO~8|Np7fC+GT~$rms9Wws!WeUmQ>5YO$O}E9J#IETEE+*>CPkIi{Mj3ur>~q3#B={bO+hYaWDjvnYO9+w6_ky6*NN?NQD8K|+ zS@$YOM<{OcX{Y?8-;IMMFrr*h4d;w^-jU!m!H9w<4`s|0_Dui*WeVou}4*Q?ZNYt*AWx zBqkchaQo;N3ze3p2Cg+J6+}$<#IE(%$hN*hWgZHEV?;sEq6{_}8Ce>o7EGpzt+_+n z7RQV5T5<+v?Scu_57Or4<(motai_H}%2U7G2vKfhBuaq9^EuJ4d4`lWiG88bMVj#9 z6Ofiak`qt*vlW3fO%=^WN1VVu=DAX1u|YxpDVGnVl4WIOU0z-~_)(xqDH%`}63!QY z-ehgvWSy+V>KY0pVaj3yr@7ZK`b)p6uXA__Ofo>^mR&rD7?XzuGN1N!+?eO3w*>2~ zkMwGTjg0qpEOfQLz>k-B(lHfbN7?L5EsTNtc;LRpyI)i@iVA4Q5hg2DJ4_CB#Y%&U z84`bs_!A6o+SN>z($xM;DDuI^yi{})z52Yk8FpNwuBKfE=) z06e_tXlNgpr))}jodK)pT5l~;d=p7GZF#cY&-uRWPmsaccA@9!?t#pQYz?%>B z)5mAns1-j#6xfW3Lz_Kkdah%- z20gpsueH_`oH zr!LqH4L6EUQ&jF)9Dbf;o|+ss+ZzZR+#jqy3$G=CLe3`i!AYiLR!yxW0%h?pqvSmC z;(08#Qb+312otM5sZW1>xK~s}3u?zIv=dH@%hYNpHtCnfPofX$LVV1s#X)gAH257P zyd^J}c)5A+YIt$5&_4S+_JW+!^R#PCR=WYT^6}U5#lc9DJx>8GqB;tVVuq-9_p<*o z@|j!B%oAvd1D@8x2nZXkhLHR8?ELT=4EfDORc7I#-)yxRCz5m6@KixWzv@))16ypWU%Kg2EA$g@FMbuY8C!I|I=`;C1`tluV%a7 zz7ds`jb}!v#eZ2$8AUv!5m(@;(Ag;z1th@jJ||=nP*I&<^WF4l_6|7oA%02F_w%kz z?>AV2!?(rdTD4QjW#tjJU7QOK2S5D+Nvl+80(6#-41rA73DLagE)GJ%(-J)3dxu9z z$oTD@fZKkLDaRgzIRn?JYwd#Xt-*s@v~I(^-qP)4YxPy8h#{}h1KF9hn*m=56Daav zvBbir&W+Pez^B%2{$!rtvlH~w#Wsck4oINgnkpM=`eFohyUQ4~oVu@|BE8eCHs?b+UST$zbc8Y&O;D1kadX>qR zQ~B$HtWY#Y-u>2R@rzkla@5{zF2v>{LM0a>9`UkV)a#+EnoppUcI}GJ%v+| zbvT3wO7jGK2i;eX_ELX8{*<4s7shd4y@GiThl34Z)o+|IoSFEI2~u@B-Fw61?GaXe z)qa)f8%sL`edKcM{8btO-IvZ)4d0Ms4YQ(K#ZROkLXt9-LxuS`w^GZ5Vc_{XHN%kE z(D_il7aC(^PKm49dd8Hc(>KAv%rI9MzSAMQ@gyb zDl13RS)|a%W--m%t&7-+{br@X{@Y=Helnjm?Xs$_p5r*xjdtO!NkXu6ss7o#s9*UM zshc@>sn4BfAtbCq-xnv5cIfG1wPTG}A}RXdeFKRW(KxH$kQz_+yMX~keEfTl)1fxE zLD0vcFVS0vp$-pg=1!Uh9uk|2BO!>b=(}FM)-BA3ZssIDB)}4JK`BBdqA!~JYqW{x zr65~5B#|OhaP@6vt4VPfkE0AyM;q9YYz_zQ=IblO+G=~CruQ`YocL#}5cd`XFm+VH zeYTZUo&eUd7-D`WU?fh&YY*(*Fh~R@3=O6&Y;4R=ug&CyJ2T2cc(Xe-grZ~z**QL* zMDh6>y!_*oQc8Ov(CW3{n?8(x?_!`?!nNgGH%MILc?;4v(k>qR(vhI4FDJlGRkvEn z2mSET6u2c*(B`_V9=vMZOxU-XrDvfg)=`(*3Uk-3VEjY=VcykqhrNc2VO`Kird91! zLW?ZzVy3R|<4VgIV4oKl5$~%Zx3l3MOVN0~a6&H1vkHwc={erS$+X1~xq_N^IjUM2 zFF;?e7kcvc`!u$>N}^I_JIhQ!Uu1D(c8%07Mrf&JMdn0ht`g+(x64z4^H((A5px;n zztOJL(>|-33HJbDCT2V!B8}mHeM^bM;~^6M*Mwn~-SGb6enjk7sdr3oFh1n4X7Hoy z%)`-wNJt`90x#5UA0NuGb81@M=%85fRiNdD^6ZTNfrN;ZBlYI4y@5BwO}I&9u5&y0 zKK#2Jw8gz6X_-~%OCNK=apv54>h;5IgZ==~lQ;B#7&nZX-l71pylZP~Oj(*}Tg5jZ zAbNp~5CjZ>_BLj21z06sfPjU}W4-6wWT{qRULN3YJ_WR<9#2!p+DGamE5d3;eea}% zJFz(OhBPbU&@GsZ-hZX6`x!#r`>;j2FM8EB@%#9`K$eN_GOhYdp_6#gi_ita4))kL zqLUjM8n=YVce^=keq3@I?R0lbIl3eg0HO1q^-5}(gy)pvPCAN8wK#LD6W2cBcRk^#&5s#(%;o(BbfSrS)QQHD_)Hv zBAZkfTBw*^v7`&D0NcD~V{d6W19&Wlr*D0Oz$gU2l29Z;2f@O^E4k_; z0xbi7_ozA`Hw37Hm9vCk0)UiWp1i(+gTkj-o`Y<=aktFY^t5;fx>a<`Y1^r2Xt+EM z=%a}_B}43ii0{$RVJh}*Z3E8z*kG6K#_y%{CwEEk=%vG+Ro9w<52jU*IVeCC3=`mM zL1vq_BwF!~G%MDMfeY^hy+Sy;*lpxe1jAYM=)4HkW zA+?%kOdqY4{JhD+fX{sm>p|cHvf`2LVzfWOKl}Gjg7W}#H-7{F!NK@hh1I7Ypvl|6RZ6wE<{LlTAlUz9SB~d=7ZM8~ zg|&>w7`)5*KCH6bUu=dTXYhFPumFKBe|^L8X;;8?uQk!Ptf=IBLsrKsqB3Q9HcCGO z^#NkJjwstnH|`TEEZOZnhypS86>pjtY zZPUDW{=o&=BYyjXHRNbiaXo8hIgAiUIyA0xv%Iw+@|MfmQJ*g&hP`T`^_(#Z>njE^Obv-_O}C} z+6VO!#8+jFU?X6umNpu?^^#45E}nc+3Gc(?Zh z!v{7XVPRgx;xT4RvXg5bW38~Ew8RjF<7wd(0bgNrp}w`)ZuX7W5(^Wp`-Ja?ApFba zrTxp#aJ*~bQO%#r`05?fwsKR4S}qHUAwU|K9mmtIYCG$mT_Wp5nIMJDLpa&d(_xdH zKLTCyCz5&p+K*?qC#?%!SRWKG4-U@o4@Ah~q{8n%`$M<783xg1PkyzsBBg_^uZ*vL zdDBo0Q9pjXoZqkD%|snkCz|(i&xH6MO@q-^7RmPtbhDn9+Y(yNawLig%kct5I8YF| z06^8no?aPHBPu*p7Ui9ftbTiW=~wNjaKXmmIkFl&j#L*V z+IpURBr<>IKJqzt8b(Z&{O*T$L{ILrurS{nZaV*mZ~ibJ*DCj*20k_Zf4)pWH8XSs zhdSqKHpP{f{YHo8DITxKuuHoioJ2hOpX_1V3YHyS6aCD?pB8!Cm=DG$HJ3wm_v56N zRP{JCcze6dbXHN8Y@kPUJAYps3=2bE@ootyNCx%GvPd%UJ#9y~Nm&rOGWx=bAds|g z%uDV@s{a17kSKMOjird+?@Ob7@3afA*W`o!vKD_$f0Oke{4{#)Vx_8iI3DbrO?=Ix zug7LRS*a88@acZ)a;?rki&qFZK>lo3!pi+mgR{+4TBL)qc)&(lW31SWsPJN1akv#1 zi`S#KBL4P{F6)Dv^VYQfeFh9U@ZQIdc$LZt+}FBy5_RkE+2nM{o9@OHKt+F_=U8ff z)7}aRli-B${0VaStGv4P6hmqJhya#tzv`QX&Om_4*!2lHQ;nz~({34_T7uARI?3T_>fGg&-pe#bAGC^yO_I{&PIN#sKNaC{dW zvcEpx53U$Uapnq!AL%-}Yo1=ktT5Z^P*ZCkDkq-rN-9tk7Aij)OAeer%zqbGF+lDf zbAPEvTKs>`4~-Jvkf5;)x~ z#5>PAhMqV2W2ws6lkr%}9L5F@b99dSW5_-Dt%s8@j>?lA2&xKP==q4>wjR#@wQ{iC z%SE%=jgMb`c>?*3n+~8X2Y2*z*W@8f;XHP8wzE~8Jv}`G17(342EQ%P?jGyX=9wIt zPuX_+I*P0jf~ew3FHB(rbaEFx_HVmPE?iykagvpmT$<;)684*;Io-8{9@dsEKy0<{ zOi1#r7b6<84N~eT`D)IEd!kCvPof<9dYD>*9W!Y z!-khoMZMoN>!?jhYE3$`%3m4kG(M?5Xw>L90mb8d^m2J2iB+I&Uja6EUG~dxJ~Ev5 zc56Rc@bL~>RP0RL?7v;rv*0S*_yRQ)Gf=O<;gd`V4+%nvMX*$h&)WjwBJfzORjh*M zJ!iZ8Sj?FPmVEnKI_vJIMfN)GOt1kNz)dnnhI)(;S#~-E9yjP$$ zOHL~#El$P&?WRl8a|>`QV1ET0kVJBC*=_K)^p~dJPGLtwu-`m4Lo6!j$BwtAzVr3v zmVff~6<|^G&oq|yh`_mF9Hnr*R{&wk8+$X;0L^dggt>O9Mga8oq`%!otZ zrz^Opx8_#fGg`7dxb7GvN_!0lLt248u;1?%7{Go4PAslD-ji#ZlCH$99$AMJN7bYH zn}d<>RD!kFzX`h^wE9+g=F#DT25x6yEwTOiJqB%eTPEQatU&FK)nT@;9shhQAsg;d zVUhhJmrxIJLnGe(a6m}}$$s?pUR=903FEo@lU?Lf)q)9n(E-Ecrf|#)8}Kdu*4JM^ zNDgB#-~Yj_!}2~6y(66y#`bgByvLn-MVN-Jx-1PsNRO&|zr!8Eg@I@P=pJvR0q0;UB>rBuxE1c^ z3o?9AZ#*4uvk(Pwjs0YWpR>T?dv8`>zOkSjO5W2Vk?zvY~tEfaaL)ZG~In58Yvg5-D!u)LFU1qcdBWK*2)3gv#GP;-AoTG)5*eGMT3PqtfHL@t@ozLquYi< z{XF+Se;g&fp?H zzu4=Uq^qS|nzU2%)T@;!_9IT5^PE!llyZ8$qP7`R{>D%qNO?mjp#%W`x{)x0!Ut!_ zYQw;OBl}HOtm;Lt7v#7hwW~7_L83~CU1Hh$$pG5of+@|&fe=&vYrrWtwzF3j3yw%v z1R)$IK*D#@Ro3y|SoO};J4UqH)3fV1!kJ``1XX^5-722EkBAzrtPJ7aNVJ=bRK-lG zn6_lju{2}sp*>DM4+OI5mVGO(&TYu7nBsdiD)kcX$9X$ndMXH{?#%S<(pn)1QHZHZ z;U6erZ1HZnL32=uz+N(mgs@6M7suPj{K#?KR_BSc#RrQm)z!2s1v|Ri;qwL7C^vih zJfvCkCd67#kQ4RQmue@jkFtRF**xDulgv@UVY0O8#6jkzNLD5L_uYxvX}uer3Nmqu z@4Kp?3RaxSzNzr$xY!>si^w*rSZZx0)vo%v6U9k9Ng1rmpY>BLb#C6}y#~=IXeDP` zPubsIx{cQ{RUbLrmJM$)HLtn57j(??T8@x|MmE|6;1JQam!YDp{-Kz+I6(Hr2wmP? zU&JlYvTM~l^X@>kfvoQ?KWabBi{3^z;vuoZlhq$@?kx?^`?@V1Ry*iDU|&fC1|Wb> zF?7LizkgRZ%1fEFa=qVk8M4G(*uF?$8?|8gZO&p+CvD#XZEeL`|gs3!LG??M<9h zDsjr^&u9|yPqs(HS}5w0lhh+VGRo)k5XU*y82xGiU8`}4A3Z#aEn$j>5c@v^kStxg zx;hiQ-|(Sof>&oIpGoxGHQ3gxqsyhKL9!#36Iw{rxHL4@jA8vbfs`9#Lngx-u!$vy z=Ml!DmZmFdWIRvon=7v^YMD>l=9Y~oFDJ`Wd)qY9Z(TEZe#-p1LX~lM;Te5ruq1Fc zusiQcbwKF1(NDA%{&s)B;umt&W;x=dKgIX|TI?MZ-f4_uQLtsxmhiFa!(2uU8ZO_6 zue7plrT5}F*};_W=vYQ<$YR9S)xn0g-3))Kuhp5d_G9kdt#%xItXO_ahps(3F<&gT ztUgBM>>G*g_@Ic7z);7!Z;9;=jBPaL-QB5gmphGaYfkagR>Ws5w5JU5rP7w$ywi>f zbRP^S%*@>U`H11>J_fZEZf|>$`;gnQUVyTAGQ=whT7utlQG=V!bX9|&=HpitvH@M) zAI%9Bjj^_(;=0gy!Ymv&W zLpwvAR=EI%{{roR47ujfD~-oI@|T<1Sa{peUAa|D3P$ajf2hu$al9vc$?7xBe3)Eu zhj0to7jl~AXPACH5!G}m@K?ngSF;di!Fwhhm5QUjMbQ0*xwc+NxJ`3?#L+%>eoh`5 z1t|cr&BdgyyLij31d-#mbZ*7po8a9k3KfD%=J&Dv6-~15OTaC~sm@!oGC_Tx4Yj1> zh^=?O6_aFyz$WJuUZ1^WwR&Q0^k+h2=Ka_f;OU3Pvse5!XIEJOJsu=pVpGoMMW4gHk^|gh(%`T3B{1mg}~OpsO2C zpU;kKxwcvA{T{rMS@nAW%p<6OV^{D4z=&!A=E(mLIrht~nep+tQ2KXLw`YPe@urH0 z-nopN=R+MK(-)k;ptB^1S@G8S>{Vya&I8-sbK`m`tAGdT8el#E)Wa`0{6COWtG2^W z0Xj-PRpXV3f(G=v2VafR%}#hIy{qk($>ZGgd$j~o?DRC95Qc+e( z)kjXLRY6vjfEkV|uptT@`aT!wqg8m-7)mN$l2Dg!1CFWVDo`$O+TGhOujK8v zy*tuA@}z5u*3&}rNyYJD>~{yI;{cfU>U$%r54mB{5j`-^&Y>+TrU54H&L1s(2o;h{ z&3Z#I{0deJM^kTV^+<7nIK2N`>L9I{Mr=}SLaG+ERvZ`4a9`)(P@XCsQ*n>S34Q9? z!I7~942T?cjjV;f(q_%Bp!aKx(f|YVq)IAc7hbfzn^2k%9jn~o%uoorj%QR$qPIN| zy;dWJDW*b?155=c254oajB?_vtZk^cC_$hPwvzF;tFPWk23JSwUDFf;0c*ISgLRIs zb(}fCr3y2rf5&mOb71;8-yr}F;6_DhC`+8!1waA+dkCY6KrD)tv5Svppq?VzjI=q1 zeYC`9)ifL$ZkvuZm7Glj+RaYjPEnznbOgkaFJKE#fV9zC-~x5b_XOss5-yZzFu}nE zH=+UodDS&P%!NL~bY$SAQMj(8CT?WqanSM44-Ga!=<=zB8HH$iG!O zD^$_bP%<;l{$8G~|G^E!p7kn!860xw`lAL@bEC~~9T*Xtll1oO)<}jfd>Xs>`-F;* znw~ooaUoupu)jFmYk&Y-(i|?;^*#i9gP=6|a4crh?D&k-6iZ7wtk*;%3>V#S)B&~R z+@S}nhguqa-C%U)>JbK+wk4^x|!??PGu4FcZ`W8EDQ|q zEkArF##X}swUuUDe$~0uM6SxKSC^l}+kA(BaG-9c{zM;ULYK_ZMK_+hM)U>RGvlm z<13fDNQlanCryCd;IVM1slXRkMV9!J~{umi9xQNi5&2Iz16L zqY)cLt`IF=k7}k?hCwtIe>!<14r%Ex62+ z&cepN1qdC<|(xxKw@ zH6L)MF@0~Y2?Smy=#O?F7f|~7xO|@Y_4b1dE?8O;OPw(hWLM0^Qks%yBa8I{C6s&; zB@_|O5(KYnYLpOnt6I)g>pblmSaLS58qQCtMwP@mNn1jlcyU0pZOa2z&&Z;xS*tGA z`FK_z3xroPYioEZLppo^uyar`q2|0wM`TRp;sytFRj;akpYqrh&*h{KUzKR+ij@SH zGXLU&tkZRO(mH1_D}2Cll?{w!d-aK-GqtzDB`1|VOd2*;Or2lRuEjf@Qc|)57<p`MirqU3PG37V_63^F^k%*H3dOMr1n`kD`hdn3ZmI6l!G!YBLo<`ZVpviui`_ws95bO}Z82;~f0)N;q7G^TOF z$o1{TLJl5GV_iGA!$y#3=;*>Eay&decLZbISw%!d=;*f4?Ma?}4Jds7N^nZGDz5xj zfLA~O$TwT0NWH{ny4=&tYi@piPcW&3t6?<8n4Z+G?@%PqolHk4`!k@}0wi9c&tVb( zt$Gjac{H~Ev*%g5*#I8yygVP2*$O2Ok9sf|3;^TX2OUyB0r`uD+8&HOvq0ujor9sT z%zL=vZ)SON+jzMBibg^}c%Rh!_oIcJf-OZw@0KZ^d9I>YA{X%2l5g>Ti~3|KrOkNi z5c#~I(iN@o5RtVQe%9JDtLs0O03vdro}G5Ld@;E?E(_$b1N#6+;0kw0z7|AqaT;^S zA+s0C&Jzztgb83pngTMX#elzHAN=e5B2o0`dE~#w_Gv{dj@p&~n8*V9RK7pm7PqKn zFmXkY8#7;cyoXjU8U~y)Uzg|K&CTf#gjs=}Kh#=|u0qTtBqYv#%OU9tq8~?-7c*qa zy{D0!YVo=rD}S4B?{Yb|wkqG|syoI!OKe``yhM3U$y0FQKlYbpx%PP^nr?yY?I{gr zg2al)^5jv)*L51}SJ2aTm-;TU?bH}ZwqV+3mcV09DE2}TzFWx^2Iy##PDX?G z*+UO*H)$R8CZoo{me^!5}f7Q{;*2>?vO5whO+FqrTsFqdfs=37zPXH9(2`uC8f zeT%d%jrXQfA=EtzdOG##V|&&Wlu5hZE>FGz(?ri0+Yuf*=-f$k>E*fza87#44WZ>n zm?caaCDaHUvVqJZ`d*yWtf$-Vz@Rt#v4a7$y}MQAy4hxaxjE}81#~LsJa@}AF$UhA&ajj_K_n$8l z7uIPinV2IQHkJVk2-IrrRkr9N$j~YiV15F44*-Pm64bGM@cQo0DG2mx@4n7ADKEo; z{_lj=Gz3g6En`@Si|t+esS+`O)4ij>PPkaz%H@w;nn>GF1|1gY2ik2Ni${XA z-Mt}Us+C&@_xjII?zTx_ovYM~mK=aKx%vL3oJAk>J+WzU18jI8=)Jsi=88S_#O`3a z6`I?)8%|J_8qvDX}3W0j?-iA7;*6I|M?FXs;`&?o)@LD4~l{@yFX zriSr>MPTMkrx}Cr{QjHjoF+By?Omoboj-f<>j17on&oxb-CCwl*HCtVp-F*gw3qMq zT;(b+qCkk7e{3zZ#N?_PHcj^gxVjGy#HpI4GYH<(K7P7BHPL6C8=4pY_}h^PVziqS z4~&F>HoQM+^5OYSCbGB#SE4+6E_34t)VT4dEkt+ccn_uYN$7kcx3X#A0e zLkLYil}k^hBme*fuukwGN|CGmF4Z{h)aEn(kR>Dpy} zlVv4rR6P5$xxkOY-qOm-%aRk3m@R&L-T(pD%o)ff<(q&kmHBlKn!iK!(BlCOkS_h% zZ#f1=`XI41K7W9BnzuloyX{uguRQV-dAc@30TI_@{x|mCGpebsYa5MvD~JLXihzKq z2uKqVA~gys0s;ck1q7s*&|64i0TB>T5Ri^kDWP`=LFrw3PZXqwgq8#dNzV3upXbLn z#`(^_^Y0yuk&$fnUTg2Q*P3h2YhH8Cquu7;ppVuP3|eLZsk-E8A;2#xj$T_#5@Wv> zFJ4=GC#5G<_w(nQ$9~PB-!DrUgKlMO``iq>?b>DS63qp=;jS!z3~_d4pVel+$}UaI zPJSEYmQoKBpFBgk2JrjX^t$nYEX2=mO=ishP#JG4Eio-E2e0r|Cd(8qe0jF*N@r#_7@tFNB|ST#anh0oT3V4gjG zZ+J;)C%~8n-8DN6RgEg15{OT+d)d0cmw=W9XswM*-eHj)x!~L-z?o#_LmA+oc3!Ne zQ`#=B5EP5~=2C^k#+D-OQ8G@TUoV9p1LW6AfTphEU;Yb%NcI-L-U1Uhf%(vZ7Yn$A z>j8?a4#t}JYvZn8U(aOcQ{)t!8xPQHy8w6WXvax$Bs!RE6-a~eOB|f$F|Z_CnC0({ z^8oxP1b?R$(iWD-N+?TTkMwwP?`?L}sU3O4^<6Fz+kv4&8sN#&) zlKEX(_K(J~d!}kP;&u5adRF!}xlwcObDRAh%F(D|&uG`HrFWmJBoQ!_mBC&=&F7kH7MMSmj6;#Sc{ov|mcdb|L8W z^#oLM{B$03Q7G4qMoBO4qv%(v%pI+~cb&EdeH#YJPk5a)uK-kkmM;>II-E|Q zivLe>=gg}tcLHaO+O)GNnmDM?-VIeOcTz{znP}F_k|$}$RiHYFyO#wr2R;P zR@=BhlzcK2GO0mz%Z-8Lba=UQFk?_MEv)mDs%~Oq#CKL3+it0kJvHVd^Mm-R(gCw4 zyr4bT4d-r~;OKcbSzo`|HKj7;4@CuA;o+Yngk21|%e=7}^3Rh^uZq0ZDln8wKs@~^ z+Gorwvg*tG%?PNQB4&{HY@K@NuUenWedpU^IJwGkh>iEox0z1%T|Nah!Sr6FRt+5m zFVAOVNmCSknm6%R+5AU?)iPLA-GCVc$Y~}?)%suqq9u+Epn2jClvcwbP`UB}V5gx~ zct0WJ)u^lxnm7&QW6Z(t4#ta*Eaol$*}UtuGPC&Q-SgRLCHjmkbbmo+-p;_=fw)iol|2;hx6`n5%VqO(OQmZn z$ITkG!WiA21A0?Nh{fF!f}?eWU7=wqni;FWa+{h9V1g59anhq+R`l z63Wzw>g$zQFy|e)XY?h*DC?N2X596*2QR*4BnWZdW&Xl}QWmi^(7Ju>v4KTOs*pZ! zN;02wG31s*^Y@5oOQKm z0#Id20yhbs{}xtcT8Jvxx4|Am8BM3%Hw{Y=;d_M$_`iu-Js zS`hsxsLEjgd*~Ya5sRL;w+8f$HvI`8It`@)(3To}RR{k-8Gll(K zXnU$-BPX68yZ9m$`{^BH7;SmCoafj*51XES60&(zJ>;q&SLP3ezxDcbo{;{j2h7y# zni&wJfG6`EHR2-_QVVeJ{iKoBloUg;Z}k4OEg0U_08aiEQJBY6f0d~dD1wOn z^Do2?+^otsICC|j=`LVFqOXm=vwT60O8N4CTfzN-{{>%3dFh2aQ%&Q zWn+=^3R+3pPy(PxB_PM?f1t<*R#q8*E7blq8U@e&&7P{m`4D&Puch(tG2#heNWSU~ z$BXD)I{V1(e-fm8jpb!~{fHSJ>3bSwQ0O*x0Pcn$8Q1_J@6A4 zvcHW3t^E{v4V0H`s~b1g*Zs z87j}MjNkoc%07d?m4{wsL>@aQ>+t5vH_`X6-oIxNWtIqP+oN>-Xv`IsI@3=DFdSJG zps?en;w%QW4%E2;#k~QY1%d7vJf8o_G^9*w-{X;;n8#*Wp$&&tt)~V~0aJdUiViyJ zH`E&|GV?*-57<{~%LrOO%>x7!zDn;qEV!qaDPza53XeJ5YuhMoxE-+QH~Cy)eUzO- z^ji(qcn8$0eW8(vQ)wkOGXMll zOocXB9-f?9(n-1F{Qb>Ipca5Q{vAh_R>DoAZ%@Ah`jRH>)XpbH&#_mQosW)hnNvW} z;8Pj5Y<|2sd4@~sc|D3ZB{9*s!nPw((!zrfW8tG?=xL%IX5{lVP4op5*m)$kq@=`S zzLC>kon_9%8cw27aAj2c1ZBr7f_#b!pmOmZY0wHkbpU-a(D3$F=;@0iqoV+FB^V2> zS~)9nAp!`GMo{JhQWIX+(Npq&l_u6A2g1CwCtMfWBY@f&Pi8)G`5$YV5`=R}n3fNz zQXl9)n_?C7bf2j{z*h~$9i07Rr!K+-@)tfh`OAt)U~7;n_~$w{?d;q}>k0Y15#TAt z%B&$=QTF!s?#1r_NDQb6x>Asdm?=Tm{vRF6c`dX*xH?>9R4l2=g=co?{~`lC-CyXY zoUf9#KNTz;REY~_>?J+}9*r(_x>X8FJ63-m9Smg+qJ31=@L!*}7GS4)L4ZD3eu}id zWc@eNY;k*E{s~4X6pzP`jg1YY8=`eeommJj&PtPM$b(J)pJ8XX{fSt(cyRn^NchA*FUwv-dd0`%t$WC=!Tu}ECrfP4}Qe>;X!r~t#?gHuUO{)o%QI_ zl>NSqu0w=S%>o=Di8ls;QXStKW(AafKGSMEvugdl^9f^j$E1^f8`<+((q-Pyjan%j z`R-g|X@BEFf;2AUR`H{QxPU!(T!a4j4}u25wqj}`?RCxdcVm&H45KOdjKdBDc$2P= z=MQiChiq7lzC?m$Hgfc;S}w(_*qbv8HQ*Y3alOs~oYH#t8R<5F@`d(S=nCZ+CIRu#9zpr~=aZqE^U{>NLo^4%B8oro ze4X*_Iiqot05whw-pkjvNSMuEJW*E5wkr}E2@7ou4>#rx%XW6H6ARJQFW&KV2gdn$nh<-~Vs{d#*6&HH$$2#N< zt>uN;qy=t0c*8<=MUpLuzS7`66)G%#+hjA5HoM4_AeLydR!X6N+1{{Y%HKqcfBE3# z6FP7ceG>O9sPE`57>=sWeEcBdLG{heGWo{odJIME=b!_Fyno+bYfQoUXWE?f?*w9| zW$}V0v}CHE;5ZaQ{61@yT>qNPL5>vyanx@@j$f7xURj_?^J2G(0<7-Vko^a7(>R^} zK>rujFEyFJj+6+ljC*{c>JQF3^~8N}Wa_lIV;vy1m(Pc2+s8;V<=k4xAO>R_Cgq)x zZtdp*XGyi~`;NBWpbF`s_l@wUKSeex9O)F-sJBT;#VyLR>k7BGJy!PR`IxYjxccVU!zme~J>$5?4Sf z(o)yjl(nMbJK2gorrzfzYH91>0}d|AiBITF@3kfvmcO`WPT(=k_~h4De!4-0rFay< zECijAmVeoLe^jLTC&r@Cw(ul&S~OBk;^^RT$>egy&}g_x43OvJVgk4z)l3!#TOG76 z&OrL^S|U$f0+n?63m(($527YiuqqN&-G3IxSJibL+oiiJ0fNk@6CpluC_}-yqIHh$ zssKm80rgiVrE^vsB&~Dow3nqA_Iq=Z0`K>mwusPo{b53h2Kb8jNR?nU;GM*+{icBH z#;v!(cb;!8{Y*l*dwJ?6KTIArvliicdA)Z0zIqd%I)&kp`=o%nqk|cagcQUGkmuCd zSuZQpnI0G*SNhs3r{h)mjxw19;eH{(J=GVAuR*njF9`c2h^Ab)fYb>=c5_!v1iF~m z5=3Hgs!q0@BV|_g_N}P0C;iMqu-{{`)`$h{ES*%QBoIQL*W9gAV~z;AMu&Hu5sc*_ z@6qb!cUCnp8hO2(>9m7gcGbPP@?paj)DiV_yH-*JZI3?6u6&50bPkw)asCpM!SBVGoO;Y=4}rTMM-Sjp2;12kH% z8T#kw0f!_%Y!qumX*(=QE1OsqnoHwxa>g59=8I}1V+x!r$N^@l;=2ZS@R%F0{2 z(|HzxeuOYbff~KHl@;f*6L#}I1n*9V3k2EEW%s7**8dVLAQ7H6{c(tH?kx6)P-iM|3qxdKDM6cjI28Ic4U*F?@kr(O#^)vZ5Su{Vwy zUp5_`WUdXvc)ztSWn~Cr0_~R_o~6^e!~QtTuwV9tcSYs$>z9 z-)g6+diJwlgw*?#c@42sU7NzHk~#;cN~$sQimB$rYHBHTXK-n@_a;yO4V5g4jk?^cFy}iRegVr^WDVah$v^R;_MBw1?*)-BbTEJkbWj1Bh zhieGAg5Oj*a|YxO;!8VD0yOL=nH3qh4GYTUUmu{SSbNrekOf-N;{5u{)k&(2xr;*1 zCzY?=fy(!p?J9IN&#?OBK)d4+K9TNPX%=7-oHiG$utxba8LS#G)}$b<#!Nd!fb48T zXVd09bNoEMEq^9Lnf3iYn=2;Pyd2LjS<-h|Go7g1&)uj>#Z|ilyW0wbHa4`WXYIP! zzV~x&v^}E6?u=|sX@afD*vz_JU6afc_zj7S1~U1!pV|r)TyH|2lg0&8`tXlbV(tc( zHQMhUiHbPHTsr!mJAw)p@OiPpn`baF;*ihL)ur|7X^j8q@?tn^Fmdy%e!?z{ zka$6jxx$u{k1$?kwd;_B4J0joJrg;0H^3^P_z?uEC z4nCh;rY}v+ZBcTN&sopfzBg&fKQO3n!AA0&?Lk>2&!)|~& zCT3jPo%k$WMq1wI1+%^c%sJysg=ixB&Vz_4Y3XGPGpgzqGEN^m*+_}}`yfIx*82Q;?;IfHao^FDZI#$2O#@w9t972;_ zCT;5~3xz^IcZR1UjoZ9(F#9<5Oe3cWk1{mb&0Gb{)aB}@w6w*gu=su3HqTIPD)jY~ zs83HECl3U(+pR)ea(n!;Lmb>40~poD@~G$7kLjlJ0qbDv7=8-v$RK)Fz{{b@VcZ0s zg8oxS?24uB6gz9*lqdQ=ACiyGwf4Wlm-=^-Py;-M3w0Jxu4#w2P&@h|T#}}V`qza8 z)V>)N;(x19N=;k#zMLM#QQdyvD0z?cnYY)wRLO&!u;ruk-yU@I+6`;nU*uj=k@a=&o&agCUSY|>rd;i*G> z?2N6C=dwi~=ugZ|`^Y*fBLZ_Az3CZg-KJK5wn{`Jvp>%4kDUpghs|X*p2*nDNHj!p zWJ@;qT>|-Y0%p{xV}EyaeH)I4y!QUQLRpjFS|zefy{u`uS5nb1r- zNVoTP^l>%Ikm`3+^WF6QQiI2oP0nw3vR<@~845}d*aw$1+%RtTYLmQlOaMVMQTV+F z%n8eDGy$3ivyj$<975(8?NCL&Za^sX>NOa^SEwkmS(=mU6IQF}6|zJ0?$ga+m_}B; zXE6b%&~p`(iW8JGQI$Uu;(tV8O3~U;m0$4=CHS~9V6)f;m&!0d&)0SGcA+bEM4EVv ztd-w@5y7yXed$N+!7l?lJVY|)3eA;sKNn%MXFo|Q77V5AFRcz`BDZLbDtapUItS;} z-gAnXNlBu{@}DTbUy`EmiksKE^;{TWJLo#E6S*w;=?gcY$M}eAA8jx7F{rDQIM!MJ zyX$lFu8D)R;Xyj7%F#-ore1B=pFfs3o$GRXI4Qkv=R=7LXCI-CLJ$gFPZ$mMoujP@ z<*0tygAEqUQ(Vk*Tn^6tP~A+`J+fKO-pdQ3=tvr({L>YK==*hKlg>uH^RWpf26?`R zg2+FT*1diz>90&Cx&;O6pnl-T6bjYwh>9ly%*cMYu96mh$H^)d-s zjd-GP`NIpJ>acg3^@*hrNZ?Xyo3&z|hZeJtKx|mF-u9_imgAjeZ4iE$g=Gtmp#u@{ zX=nsKS^bm_!GGgt9kzda;^!>e;V$X^qA`aX`!05v7gr1)>};mcmeGQNO3vSxCoV5XpA}~?SD2a}XbcvJ>tT>fYm~B^jowzwLbXn6 zU%=k8*b_&))rAnoUD8+%TTJ#hH?2LV;?;e>d__TPA6KZdmHI5-E-W=RuyDPJ=+n-_ zoe_Y?%1s1%IJivDpkRBO$l>X5qP}xHm$HtI&gnjG=|QvHo5n>?dJ=q)G`ojaLqE@( z6ZM08!-*lJK5K2064RZP4?VJ6rNo2B55?w%D=TxyRs52)daT(KRtLPW}sV1XB(S6;ayF01Jt zWT(d{G%skdqgFf=>=+EJ%tIdNb4Y(m&5fe1WZNJapenm)H5U!WyG<~qqp-H?NZPrDa{a>v{z-6?qK%$8m9{rKC4u71RTmsJUi zRaei*aJLv9zYOzLCSdGi?iSs5d7tgn@dqpj`!fz5xfl^Na9nyu+;MVKyU zkFBxW%hkU~P5Tz)vl2qbDp45FP3Q60TA;Y?<R5c zExKt;`|#Cgu)9!2&z(~**nLn_C{&b%--8Aq7?}n95U0WIVr=3ZEtiT@SfkISmo{Gy zJr}lUl>&P{_-+@nzkAdyEid-{As^o{HX&cPrw1q~lD3d4NSVpGf4E@Z;EXYK=~Wk` z-?E+i+-oGBC~dJ`tO*%Psd|CQA7?443R*WS*ct0wLDOb~8Z2+l9#&JsGyEC6{EF+z z#8`97tT_Y)k-qz~K=j#0&@4;^YB6;1@%6FCr&8}o-|0%k9;W6zm_)+mUDBiHp@JkG zz!Olka`tl2U=a%TCkRcNXe^4NsN9qb#lL1m;`nl{zZ$3OXrxF zCHuNjh1R%Vaj;JrUcIYbL^6g{eBON_V&*K(67fCeoBcrb_mu#Q{ZxQ8W5;B?vg6Rt z>2TqHc~CiL(HOv3quCoq$Tu2T9+wILJvxn6QH{T0x)J9IGOdK3#sm3g}Jq2NRBM+TOMb)T;mV5sGK@#}p z+0-yB`!oAd19))5f5YM;u$K!n-RV16ow#OhB4&6LChhPipH}O46aNK=u<+ao=#K%l z)+Shk2orhQgm2I~DWwhNA(HjD9F)ryE3uR&J1N;bEV(f;M}@$k9`W)O%S-91Q*+pN z?&n|an#c>!jog8uDofK|6eL~`cfEs%A6 z9Ol}+5x%G3Jx@gdJ3|S8--pe+`P(Mkbf;=?sej#SI}3PD%#a{e(g*rqCr&W*(EVwd z72(>O02T{{l8T77lS)ssMwQAZ@d;e|2kF5Eh+{s9n+1I z{TO?ls0z}w1;F^a8%z0lc|a|>&!0a7z5w^}pTL&~S3e~t)|$b9i-bNsZnv#?aJ9lr zY59HEV#EVm^klt~-M^lYaUjpHX8aBKPLBxSzL|Yv_dO=dAWw_)<})X3$gc4RoQ?Yu zxOFi5S4&{PF$;3j36Q^HY6bH|ez9rA0uYL{F;*C#(m1fLcl`o{apcnx$q9BXW8u8{ zBty9YNI?@MxL$9@l&&1K^R6_}zcJ;^(gV~ap^4aXQsWp)w=v=bUV?=X6~J9?k5K}> zD7Xj%yfsR`tK}rlXdYRI?S+nTK}6u-EU|^^K|ea!unhC=%gxI(Dlx6F?;Ak;YHyFY z$T-|6!_W_1&-^=NK-bky!?sC<4NrAB$`@x-ps&&&eur-pj)z3YPXbwTV-=Ra{O~w= z@3ko`lnk_P+8pRbk7bbnLcjphe9oij9kHsDnl-OD=E`>e`am|bTG@VpUjd%wo)^)e zqc(Pkgmp_ZKr`MBRL+E7h-e1}p+Gl%rrvAuhX(|3jk(3i9p75$h~m5BbS|o+va)h# zT0~elPd8n0v_MZ9-+2NAYRxyl29h?f78QtH(ZPt2F}EnBFR=jk!yWK<02zMeeKr-2To)LUJ1SB{ij<-5N$byItlpmBsp-0K*cK1i!Kom(BMaoe_jB;{_7*` zhMq4;6VB4ZBW(yfCegfdy=Kh3!2kWF06$h5DN~&}ninleISzDSIJPV{vhD z>FMbKRP)_TLjwb#oMD6alKeAgj)$|T6F?H~$n4FacFUSiK<7=ha>qT*&1e2QX;N_A zo>xEZAFO1Kj*Q4Zd!ZzPPQPkF;E4VQ1eyv%o%iLFbGhTUKDIVm@OP*(;ee=0N=%&i zrk}&gdG1xf$RptX@joU6*4*dny==gzfj(-{$Ibo`kIX)2%%;%bfVr`Glm7wKyefx`xzu3)0?RI-Vs z*AD^b3Y7cHJH+HRz6{ysInB2>RDwL$&Q-Rw*p$HuX%l~nK3PA<72Tr)C6ItpnfFiq zx;hV~|A|66Xb5f3M$xD$){N4xCVrw9)Jk4Pn{T@-@dR!h_jCy_#`4W0m-<(R?rtyT zQ`lOXEr)N{jH>BIi$xCx|L%}=IohUm4b6FNAIot-QwRyDD5&MN93Xar)0K<5M~WSV z@tfb+-I&BaH%A9+aXk41xPL{TZXYjJF!ryTx2Sa)2Rw~8#mpM6W(&9`sUdT0{j zuUU07T$MDtu0PqX$4>q>cG&2ZEF=+hFr`I`MXyI<-T5X_mSvm6bsju+RkjCB5 z@D$^+r!6jRx*}N8nqY*a`%KEFgkiB+pRpvLi8znAK?Nep7-c>tjyW7UUU8LkL*989 z2yIMKq3w(hVBo)Egplr0A9%HA8ShoPn(6w%-AC)BI`PZ?rs?A+7WnXX3$c2HyI&1+ zT$V;}PI^qNt-^3#alOjn-r)K&o?T;z8HEt2)8jGJdRC{&uIG9E!8wxXwafo zb0b}^eu-vXWh{tT3((6PudzvB8Bd`!E`04H7mkq#V#QoEtAo*0@ZRRnESH0w@f5-& zqh~wnx;L+gq;crS zFI0N?@8|#w(KxuXs(_??(5z_P?5h^NzatG*U10cA@x6&KwfR1y43-YS4`f)}^nUa%;8NU-*G)z#(*J7;T8fn;xXlp$}`Eqnu7<MZJWgo%b`rw=ukyLJR}@a|E& z^aDtUZPavEy8dB$I9-L&?I^I0vFRYS zvPALo8gB_W88001?I`j34`stF_4l@U6eVwBY6i_D#3i~de60WSWwrO&5Bb&?Ju2)m zw8kvos#4382?~-+Xi-bx!C%Xl~p;Sp`v=%sxIoAj^j<40avgZ02ogcQBs8k zhTLC%PJf?$PFM>+S}+PZL{H!ee8pixLM##Oy@KGeu9QOi#!SzBe#gu)0u}f}J2nyE zG3&$Md;#EhK{DoU;rK4tm$*e}v7FhQu9(zE&l-sXAYDXIjzAOLS`Wh*=s)PY4Ln#! zqonRouapdIeJ{^wR?gDzO_ZFIvB*+^D6oks!FIs$Nl1osQneCYHDs8riqYLKW#qa0 z2Oyf%W|EkGbw;PU>EvysA4f0WaxWSD)J5>4#+T{VXHD{{I|Q`sm-AN4$z@ko8S5;v z>KhyTb6n8p5C)()`f>%)>M6v2Q~lwr+dqNP3Ew7W;%HrXNOmQvIB_m+Z6b)52PMEJ zJ-qpbN?bM0)2o?^13bikX1h#DsvyB_+qc|aJ7 zgad9V2%p>z%~2}k*KbM&eQ&$%X81uFW4B!i0ojhI%fQvygxN-vd8`L^@8d*4&9ey!=!%C%c>F^xD+ z&n4xruEU>uFgM6$g6u+e>whxU(ywjg<|cYfm+TwnbPhr=hy=9;VL4dm*6&d*JS|q< zBKX8sW2D@g-=p|*YPOn#)Um?@N<|<^UL_Vfy1QS+hQc2Fq^QzJ3yCD}cMgUlynYJV z`bpP-azM2-f6VfHnJkc@Q{Mdu+^6{5|M&f9@piTMT)L^Zl^hjNf#dI3wT2FUhhwtQ zMV)G<@}%(O;)!W3_Yt6=4^7`LiL6xaYm;UJC?Lm;uNY=c3LJ~s!9GbXwjEjwe(p1| zDg9aD2tqADVMSPkv_f{<{q*obi{Fs#5%{B zO0)P!EeD8YeM$zdbZWh~Ztv^^ZA9wMuC+Kaxk{op1p;5FbAH%2=3-D6;=-Z!{`Lw( z+1{YDSx^;D9)#Vft6v>d7k3-}nvLOWIFu-HtU=x8TethvK37MC+3NOT=PkxX<&k*T zOnSydrRI_;$3vlw4F+~kGdTlI_IRdhclgT&*U6h3Srt$l7(u`4*DHW7>zWS7x%;r5v(XxmBkInDgpIoO;QfQ~#o-CP*MpaQ zx@_Q?nMr^V+QUr*-{qJkzJ@ZTKT`nkYT6=FmvHzzf~6*f0N>(=TFpRXZ7uw>NII{r z#6jUlhnFHh_h*ntNqE&*ecJa~Fg#PKWm%|S;RRamvxCb@aoueBsQ>Stq z@4VO0|Ar+3<89?>ndD%SBxa2o@Dd@p-ul&*_BL_VcOD6~@EvwXQyTMao8pHElOZEh zfq?!en#=FmwZUkicEY3-_G%%OS|-r3{8_K0XYZ4bu>u<0RolPXeK;F`ZA-R{T_;f5 zd4H=70OZ@)DKoBRI@7`_K(Q#cfN{77KAp;8fp%Xj7LjWy?Ci6iAI|H}=LZYK>LuUK z)6aPn=0o@2dE^j-_9x~bTNavL!}~b>4MDGd$ou1`1XP003MlV?v5NsHI3SMqo3~B| z!z&Xd(;ypFN&*7B`#B29zX5;TOUwM;NHs`quj0u$iqc_bA>6BK! zC$Nxy74XJ4ox-a_75-`8$J4Vv ziAfFy)8nfqT&!%sEFe%;Yn}(3bECJrd&-0Vv8HBEfB)QnbaFt-h<^kr0|vt8Tr@zk z^;o$^C<4^zIOF8o_AE`OK_`pv9p4((5VV}40V@7(GX)C^oB!w48%}9Fpg01zbLIcV zh&cBOkkgM@j^6^#(7X=Lq>ucjHWn=ixSHn@6}~+?w!+#CUjH(Qbz017AEz$rK7m!}y;YG) zAK5KY7w@Vpz$iLtQ9WQBVtC`fjXCrNu=tA3EMyDWv8V0BdOBfal6+^r`e*WGZqAn) zl$2Wl!XK0>29(;4G;zn4x)4$o`IR{QqyEy6&$!|Ju}h=aOP=fZ`N>Y>ONT?UKO&vq zG9ivMvdj7Yy;7V3YTj>iJ+xBE561QBI>pgfMnv0}kq5s9hIFw^~* zZM`TMJMSG#^sfP^scOTW0~>>1lqIYFdk>8Bzf9i?UkK`iUEF0nf7)E#bp^PK^3myT zyN|)X^n-2J%*#sPYb-()fxX&wkX`Kp8hP)(J(M2j7oT(m{DWzp6GAYFC+!CG$)lRv zu(X5j-S7m;e@{F0s~x)7g7WTZ!jT#NbGZuQ+7oWWwf50*75F_|enC>9VKM%Z;8y_s z04YU=sJkss>RHl4I;@OV1~gHVBtW$*(!ZUkLR+(AZ^Y-Ew4bq(ciKwW)aLZ3{vEP- zx0fo#?Zh_gKqSIEVXP-MeTqoeOrD0YA#9dyq!H8(j7xJ!SFw-s`F~#{P-ICaX^xmE zbV9G_LX?!#G;!4gqf*c{7p9}+Uo7UR?Ym_$rD^+OolW z8ZbGGYrQ-Ap^4WoOh*K|XfccBX2h%M8 zya>SETG@nfpy#;{n+}tdeOJm|;I0hS)vuI`n|eB#vS2t?aQDJA&&7hoZ~kh%hm_d> z92~qf1)y^4Qx$eLna6;*j%fe@QuJG|788c-|9bnwL*m}|UNET3b+2i2U0PQG%Ah7C zx&?M`qrwHT>pkY~DS8Uqt2TWtX1=R^DDc+3U!sxn+gqtt7XTD(G4jlnu1ADpQWLBD zT^b}bRMX+ph_FFhq;{#<(@KX=f>u2HYdgEK3Kj5eR(uUsdRj>R-QL=$qoLMuP&w-o zdcmA1%yTbp>a*iPexhi)VM$Y7M@7w)R2o0kQ&R>Y?n6Lo4 zb+?}vF9jM3J-1_(fHJ!9g1h$gvAaIoa|*kO_5iuTW~n}0nnoxGdtkx1j?5gpgE^HrvbHvirUkXyh8dO;Ci-sUYe!qVginl+-w-Y8k$KO(!P zjyCJpwUg4A=~dKr--e%3y-z~4WE=)-+C(q`x&V|pca*pkaE${nknPe$+RED*#|&(# z+j1-v;*F!(T|}AOnOZEF$OD@bA7M;Ym@a{`vfK|jlU6_{daf{xvI?4ae)X*dJU{ne zSxm1&;+JNnVJ^4;X_wDLwV(PN?t4miRxASloj&&Rw8*|M|9m_vU(2%hf0fR_qSJ`E z+z=6t+xz<#cubyy6n3mnDxz$YlP_Yd_cuOFcGW5GXLwh%<v4xAf# zAG9<_1O$Eg#U60yOTD0_?@5j~BFhkG4H$G3vSqQdAm2Su%G1r{*%TuhxZ|l)EPrGk z17FH>dVp<=BJ;S-N)YGGC|$CR$U9Iu_4ld#O%EKVue!%5$!vD0vXbk4wT1wL`Ep+d zeLYKTv&nt+e;R1p`B!Mi{pfU%mClq~9}h26u65mznnY%tSL>W}mgTz6(lo4;-~Y*^ zwoo5sUIW0bCS?s4@ha?hm#o_m=4RdQyk7PjjUwpE?&A|c$H0{85VRVltjmm3t^C#E z_aI4+gyb20Oi+Y}7Wsy8%du%62!_!wAnB5yaMQA4kN^`5p5TY-S+@kq9c>+MQd&r( z#^|B))Xw|s ze^OiG)oD!k>U_=V5F%$|^I3uXE(SG-SjDXfPBkKEZ44Fh^OcNCq}7A)TBw0z-6_B? z$}c*2L~4T#u8+59rq7W4iQaSRnUe3-x{pY2n{**rI&Jgoch&;;{M3=XfGz9vojW$o z@5Ss5(z@Jy6?Hg?{ZK|Wv_JFRb06OoF4lE!pZIi%5k#rGU_k8Gbm>Y{_w=FmoO6-g;IkkzpbhM!ARwz$So zmDkLDJ$kJR!f&t32Y#~#AS657VeB@=%oba9+_t|tId8}CIYlo&nmy*;M}Y_R%oVUn zSysE@OcLLHl-Wh`#d_3PnD-bYq~MX;S%tAhYAgN=kJ_j}7b*>Yhbt$Zk8MLDU zDEnQPGKc8(@sd%(pMsXzW|@@%PDzIS{?AWHBlnSS&m}@XsvxIEubIys4dx0mWtu6$ z7Ss#UcJ@ZF6pXC@k;qV*C228=YDpQ+77Z1?22~{Y-;cOP;E`WWm41hXceX_Lb{K~Q zQBON!^!IX+NL8-|jk-F4fQ}%&Cp~OtIL69)69T*PTknRhfD-<@EbLBE8t(|MVROgE zd8I`Lu~V0Mwwdt0R<5sKo@|7&Uv4ao@Vl&=u#o>X_buPW2HL@dOts0kM zQN!Z~J^Qz`t;E#0Ch3#0>zFe_7`1m(o*I`dJPOo@S$5f?ah(S$-SZfk2Q6I6DTUzolOoeeJMGg|nBZI* z_ey#QBR4I$Y6ZSUA31}~*k2r4gqD&!*O)S7D=1OcdZ{ubBoz){d&r>Wfe7}4m%ZG( zZbSnWYfQ`ZSF}6jnhuAx$-N3@Vmf-wJN<0q+U@Gymu0u6#WtlIcKZiO#m1%chhI`l zH>-AP3UCMFT8u4BnZ#<)Jlb({^qYA{5i1#sfs+C|SCg!g=V>Fex-KSYx8xLR8r*iH zunj^}IWMkX^h}vHDF$IQRKAQhX5t@fd@hljC}n8dAt;MD^7Cp|d#fAnk81LNAH4ue zhi&kruNxJPcrq@syH|VmjzKO6Q47j2mJ_vl#KsOaQR9_z^;rkTVP7U;2e9+~?*r1q zw883xfa+0f6WjD+=!#>rzxi${_{h8aZQW&KL@_}$dQzEw@Tn}_%pU*NanleJyeOq% zy|Y??aSZ!dN!2WZaa zAxkSm%9M>`U}ay2F7u^c!o=c&>;?A2MLcurpL<=>!x|e*C)l33tF5GGLgB`)curF6hL2`uCy9G zBMk)}VG2G|e;r<%sl$&DXG~hGFNDQWvA4FY`4RA=5)Tv^?>BfNbI_^@Sus-MVr1$! zcJ*OYD82-L&S1U9L*I7p7dT%!HhXCl7r0woM8%K(+z0aYmYfWo(S)SqfC)+l;Z!D<+uyLszy+PRJ10HyH)?Y6Pd?UWEG5k)0MV5LY4HYVyFix-5yk6o|b#b zBKeTkRYQX+q!wZ&z`U7Sf7hioUSd@7VXBYR|w3^|4_Cp~ucJv<*#}8D`{u2CE{+LaRCA38u z!V5pNJIYOyac{S{=4c=GQN^cwp3*EsSUJ#^y&&|U;`7*;(>Ax>Jbh0C(r;CLTPajD zvY;KjgfZ@XFCuVQGpSCD-Sri6r-!`{jPT-*4Yj{#xDp3itNPNBiseqECo>8m|>ZT$}fXEY@FyGnF*VV-Yd%tG-W}_mv0$3JjW8B z-fWIxs@-0nCF&{m{`H3Gqr5zA=Ucu+M0n5h9!;%TYFJ}&0o1N>_|@RbC;q&z!9a1a zScJ?jgo~<$==gE}W>(yul$2yBuf64u3&aJA9ENV$Q4o-O4GU> z$D5@7p_mcDjePhl49oJsryN`=rFPrRy=ydgKOIrS<=bNTr>W;E&OMG%H6F5(rG(#m z2eL+H3si%q#(Rs{Z5kVOvCKtaWg5@|3(GYu^lX$XT;Oa7gjXMur>r_x)8}{Ze$GWv z&%(8Q5(I2K#hF^2NUl$BkqfC{8Rdsvct`1uO!!#NbRUQuejd|f?X;_jg?5P^u38?( z-uVyn#7z&~*O~RRrA%Cc6(-M7Qd5Bpq}wv<)6NpaweSjXhy4~E|aMw<>`OBrk{QZyjTcaD?| z+FOc8E6S2~aQq@bMk;v_AsB1HV#HYz_C#f_UFu=U{!}|rzdSqYq`mRE5-65mY=kmH zvj#Qv{2*L~x3~B2#~*(Hii&MQ;FsAPDYqI-QQbsCx6q^ zI^=Bd$jq&pm`a)Y&umodMn_9n!|^96Sq?RCU)a5O73d|kd!&t3pQzI*TwHwlpb(*G z5Ej|~XusHLo$(VtnYCzK&V3zGAeoq4@S&S0&Eb@f;d4`%vb#0=LPBNN7ISWcTE0Wr z;JT6iIXbYRs|*$ZG#WnK6s|o{IjU6YC*T&#!*a28xLi`%sKZL`_K_m%C$VEx`E3Ji zVM=6WB{Dq2)9ajwiEmD(WbbBETtAgkDZ+$4%To?x3p2)*8_s}5$>0Oj$3KaE!g@JZ zlrp)XYMLG;sYc|bQ+P*m_*GZJg|YoDg2Dw?f~JA?XqZ61{`L7=IT5kboT`EVb{FVx zrk8YBb!OZ1f-fx%4bDGMdRx(ReU6(cH5DwS)0H^)aNT@+HM|Y>N_vRF@(9v zKB{!e(NQwDfvTBcqUoxGgxV1g8UlRmMA-H9O+EL`u8U~XG91pAEb70GKiC-5p|||D zX@gaIaRQ|97+7Z*I@|yP)2?3pk0okUP;gED+4TS{=tIkOrC(V@^`yeM!(CGRii8GL zjuCp!PA!GkUS+)Q45ohJP*?XN?aH$TiQ=T;SDsp~Aey~;iRfMO531$gwyqnshE6vO zmAn6>l*v9#M5LaKOQhBf8eB2=sqkZS%(iSd_p$K)>ka4>k1YIam&mj0+<~a|i_=7~ z>;ZZCz=(~@3`k_3{ZQ0C;CldMwgaAyn^)i8t*fu$K=kO#1PFqjs%VSeyrvc7O-q)x zMXx)2mHjBges!xd*&^QnxAJX8x}ZiyjvNI9GG>ms35ZjynOW!UvN@#l&X7;P^@R`5 zseGA)+WjwV zBf0YXQ?wvmAoww0xh##fNFhaai) zR803@wBfTQO}43lHDZ!K;L8Z=6#;!jpC}54ijR@cacg~2s)J=8bg~7b^*-c_O92K6 zVk5#-WpB2+5ABux+Ba!H)M4h>wmRe?(Q~HT07UX6+YKih-9XKxO@FOJ$}G1&YK~`y z8c-TlpIA;Q!f~^~z=ipzrblr9Y?SkJOad`+nd|7!hEA3{57aZDLae;cX0UmF=&Odl z193TjN*67a<6ILlL3@Q_nu#NM{EEZPEM2=9QXyY;h$yl|?$$62Sf1#2li&!)=x$>= zOVVe85l^~+{XoB<_GlL83{U5U=9QHWAdqm99R-xEjpb?Bq&S0@k_ZAy6bQMo#pe#~ zMekOlZ28xAf)nH%9tzFd^YyRvo$cKhl0&)%k0SNxQQS|Zh=Y^Tkn-36Ai@lg^>cX` zx75q?jCQN2M_{1Yp)TMmE1XEW5}6mi;KS#(#r#fs;>w@`j^D2uuBj^YG17NF_CB=~ zC11piLOO5A=*kad;8GE(JV@||8_W=8i|hhZxs87bmp$quRB zJ~gFjPh*8%*oSWm#r-!*GMnN^P1AYih?3ac-21~cpuqIDF0`LktsKcFP; zNCU-V_a{`uHP(I$&Cm+lj!KzSw*`zBUU3IM!(}KYG{)mK^O3pEM=i^4cPMfjeCj&5 zp=p+x^>VsXE$Os|ht0{vFE^)0hv7wxOdVgqwOnVPw#MOFUt2Wjgk1L=OHFu_sX}C$ zTR^*Tx#IYccg@53L#U+6DNmr3vaL>ueeY4y{d3IR3QnRu7b}XV*_AEFD#T8zt3ZM4 z0(^^>t?8 z+GB)!hgfMu9VKSrO5CfAgq_s!JP~7G{mF@N}s?VIG9E_49 zN|yIRxd5S-QZk<>e)Qk;D8pA2EA}$JiHM*0WB^qr%9aOF5Y?-2OV$cKtHW7bZyQbh zR-_STV&f+TZJ}+9*PU#$L7UC<-=MvQU2}xbg<#v!8X9^M=ErU1VSS9UYyF9lx>4@> z){HbHTRQogV`KoSj-1^tW7S+<%e)$geeLtN@*d)s#*{}$U3)anYo5xWOcXYUCpHZ`}V~k{XqR; zKePh46nqN|Y!$cujerhw%wMNIGk<5zf1g1BnE1<1-tOgQq1u(8oK^7n&)@J*SfC6Q z5Y^VMxqr-YKi>1|Moi-0X6_}QUo`_psqe>k4}AB)cMtr3c_1=Or4gpvk^3vIm Date: Sun, 18 Jan 2026 14:20:57 +0100 Subject: [PATCH 2/8] quartus: fix default build arg --- quartus/base.dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quartus/base.dockerfile b/quartus/base.dockerfile index dfcb1c1..03ce951 100644 --- a/quartus/base.dockerfile +++ b/quartus/base.dockerfile @@ -9,7 +9,7 @@ ARG UBUNTU_VERSION=24.04 ARG QUARTUS_VERSION=25.1 -ARG QUARTUS_URL=https://downloads.intel.com/akdlm/software/acdsinst/24.1std/1129/ib_installers/QuartusLiteSetup-25.1std.0.1129-linux.run +ARG QUARTUS_URL=https://downloads.intel.com/akdlm/software/acdsinst/25.1std/1129/ib_installers/QuartusLiteSetup-25.1std.0.1129-linux.run ARG QUARTUS_SHA=ce0773469eacab5b7035c175484625f4ec3737d1 ARG SHIZZOLATOR_NAME=i3q6bSoc4a0 ARG SHIZZOLATOR_DATA=e37e9f21a65ee0df From 74473c64336656c03f572305b94a009231d4a14b Mon Sep 17 00:00:00 2001 From: NikLeberg <39563554+NikLeberg@users.noreply.github.com> Date: Sun, 18 Jan 2026 14:21:28 +0100 Subject: [PATCH 3/8] quartus: change install path Used to be: `/opt/intelFPGA_lite/$QUARTUS_VERSION`, is now: `/opt/quartus_lite`. Note no version in path. --- quartus/base.dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/quartus/base.dockerfile b/quartus/base.dockerfile index 03ce951..f44faaa 100644 --- a/quartus/base.dockerfile +++ b/quartus/base.dockerfile @@ -13,12 +13,14 @@ ARG QUARTUS_URL=https://downloads.intel.com/akdlm/software/acdsinst/25.1std/1129 ARG QUARTUS_SHA=ce0773469eacab5b7035c175484625f4ec3737d1 ARG SHIZZOLATOR_NAME=i3q6bSoc4a0 ARG SHIZZOLATOR_DATA=e37e9f21a65ee0df +ARG QUARTUS_ROOTDIR="/opt/quartus_lite" FROM ubuntu:$UBUNTU_VERSION AS builder ARG QUARTUS_VERSION ARG QUARTUS_URL ARG QUARTUS_SHA +ARG QUARTUS_ROOTDIR ARG DEBIAN_FRONTEND=noninteractive ENV LANG=C.UTF-8 \ @@ -39,7 +41,6 @@ EOF # Install Quartus (without device support files) for Intel FPGAs from: # https://www.intel.de/content/www/de/de/products/details/fpga/development-tools/quartus-prime/resource.html # This also post-processes the install dir to remove duplicates. -ENV QUARTUS_ROOTDIR="/opt/intelFPGA_lite/$QUARTUS_VERSION" RUN < Date: Sun, 18 Jan 2026 22:31:33 +0100 Subject: [PATCH 4/8] quartus: break device dependency chain --- quartus/README.md | 84 ++++++++++++++++---------------------- quartus/containers.json | 35 ++++++---------- quartus/device.dockerfile | 40 +++++++++--------- quartus/tests.sh | 85 ++++++++++++++++++++++++++++++++------- 4 files changed, 140 insertions(+), 104 deletions(-) diff --git a/quartus/README.md b/quartus/README.md index 01f1b84..c0c99df 100644 --- a/quartus/README.md +++ b/quartus/README.md @@ -11,11 +11,11 @@ Quartus is a part of [Intel Quartus Prime Lite](https://www.intel.de/content/www ## Tags | Tag | Quartus Version | Device Support | Note | |---|---|---|---| -| `18.1-cycloneiv` | 18.1.0 | Cyclone IV | Quartus GUI non functional with WSLg (only window borders), use [`VcXsrv`](https://github.com/marchaesen/vcxsrv). | -| `22.1-cycloneiv` | 22.1.2 | Cyclone IV | - | -| `23.1-cycloneiv` | 23.1.1 | Cyclone IV | - | -| `24.1-cycloneiv` | 24.1.0 | Cyclone IV | Very slow. ~2x slowdown compared to older versions. Regardless if GUI or scripts are used. | -| `25.1-cycloneiv` | 25.1.0 | Cyclone IV | - | +| `18.1` | 18.1.0 | Cyclone IV | Quartus GUI non functional with WSLg (only window borders), use [`VcXsrv`](https://github.com/marchaesen/vcxsrv). | +| `22.1` | 22.1.2 | Cyclone IV | - | +| `23.1` | 23.1.1 | Cyclone IV | - | +| `24.1` | 24.1.0 | Cyclone IV | Very slow. ~2x slowdown compared to older versions. Regardless if GUI or scripts are used. | +| `25.1` | 25.1.0 | Cyclone IV | - | Feel free to open an issue to request other versions or additional device support. @@ -24,7 +24,7 @@ Feel free to open an issue to request other versions or additional device suppor The image has `quartus_sh` set as `ENTRYPOINT`. Simply running a container without arguments will invoke `quartus_sh` with the default `CMD` argument `-version` and print the Quartus version: ``` -$ docker run ghcr.io/nikleberg/quartus:24.1-cycloneiv +$ docker run ghcr.io/nikleberg/quartus:24.1 > Quartus Prime Shell Version 24.1std.0 Build 1077 03/04/2025 SC Lite Edition Copyright (C) 2025 Altera Corporation. All rights reserved. @@ -32,7 +32,7 @@ $ docker run ghcr.io/nikleberg/quartus:24.1-cycloneiv For an actual usage you want to override the `CMD` by giving additional arguments to the `docker run` command. For example to run a tcl script you could run: ``` -$ docker run ghcr.io/nikleberg/quartus:24.1-cycloneiv -t