From 65f1d084b37a4f5c9efdd8011bb01cf2734eafe4 Mon Sep 17 00:00:00 2001 From: JohnLCaron Date: Wed, 23 Jul 2025 15:40:59 -0600 Subject: [PATCH] fix failing test --- .../com/sunya/netchdf/hdf5/H5cdmBuilder.kt | 1 - .../kotlin/com/sunya/netchdf/hdf5/Hdf5File.kt | 5 ++ core/src/commonTest/data/netcdf4/ds.mint.nc | Bin 0 -> 124968 bytes .../com/sunya/netchdf/hdf5/Btree1extTest.kt | 48 +++++++++++++----- .../com/sunya/netchdf/testutil/ReadCommon.kt | 2 + .../kotlin/com/sunya/netchdf/CountVersions.kt | 8 ++- .../netchdf/hdf5/H5readConcurrentTest.kt | 1 - 7 files changed, 48 insertions(+), 17 deletions(-) create mode 100755 core/src/commonTest/data/netcdf4/ds.mint.nc diff --git a/core/src/commonMain/kotlin/com/sunya/netchdf/hdf5/H5cdmBuilder.kt b/core/src/commonMain/kotlin/com/sunya/netchdf/hdf5/H5cdmBuilder.kt index dd3131bd..e38fa22b 100644 --- a/core/src/commonMain/kotlin/com/sunya/netchdf/hdf5/H5cdmBuilder.kt +++ b/core/src/commonMain/kotlin/com/sunya/netchdf/hdf5/H5cdmBuilder.kt @@ -185,7 +185,6 @@ internal open class DataContainerAttribute( val mdlClassCount = getDataLayoutCounts() -// TODO ?? none of the version4 layouts are implemented internal class DataContainerVariable( override val name: String, override val h5type: H5TypeInfo, diff --git a/core/src/commonMain/kotlin/com/sunya/netchdf/hdf5/Hdf5File.kt b/core/src/commonMain/kotlin/com/sunya/netchdf/hdf5/Hdf5File.kt index 4adf7a5d..1cd01aa1 100644 --- a/core/src/commonMain/kotlin/com/sunya/netchdf/hdf5/Hdf5File.kt +++ b/core/src/commonMain/kotlin/com/sunya/netchdf/hdf5/Hdf5File.kt @@ -31,6 +31,11 @@ class Hdf5File(val filename : String, strict : Boolean = false) : Netchdf { override fun type() = header.formatType() override val size : Long get() = raf.size() + fun layoutName(v: Variable<*>): String { + val vinfo = (v.spObject as DataContainerVariable) + return if (vinfo.mdl != null) vinfo.mdl.javaClass.simpleName else "none" + } + override fun readArrayData(v2: Variable, section: SectionPartial?): ArrayTyped { if (v2.nelems == 0L) { return ArrayEmpty(v2.shape.toIntArray(), v2.datatype) diff --git a/core/src/commonTest/data/netcdf4/ds.mint.nc b/core/src/commonTest/data/netcdf4/ds.mint.nc new file mode 100755 index 0000000000000000000000000000000000000000..beeba6bd749cb43ebd0dd493966c54ef74efced8 GIT binary patch literal 124968 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

9{1cxDWc(w_r3Oih6k*=7Ln z${esfYzcTGt$^rqYanyW1}Kxa1KPr2z-SvBSS7Ou2=pBQmTQiH$fy&b#^nN-B3uEt zVkB^J#SOS2;SSsn@Bo?{J%N!uFW@cU1AM>i3os1$0Y{hu0ABU(9pH4PVvXTwRCg%Vx61l*ckzC+qz)b+gmIo|1<^le;`M};@ zK5+T=Er1DH0OY+X0FGU`4OEL30;&UrK)25wz=Wv?n64`VTrG=%&9B8kSl(TLO#L2^ zx^NHRin|XKAAJBw_C5fbJW2p9`ch!9suZv`Edv%mmjT|{<-ix^3Ly4X1wa>t2C@%V z0*AXQfeK_5pg>&>JT0#V42)`k@vR!bA-xt@m#+gpZ?^$aS?vI|@>3vV<|)7**#VRY zb^>ypoj{9g7obbk4ZJMt2H6z zN;UxW+#di;^ag>M^+CWjbqLs!9tOfO!vJ~62yl(_1;E|>0=Nr*2}luPfJa3bK>PG4 zFtj`h*d&bsODDzwpW$)ftN#QL$2tknH%-2V)?>g@nq>pMVr>MlSo z^98tu`2uiY9USty?K!kIzLDVJt{y1_3$HtRy`$xer6_ys<;qCqZ){zT@)lxYHJdx zaVZHj<2wm-%77Hge~T3A@_`guszC<*aGeY)w@3yJlOu<=#*;%y$H}3($0?wxp%hR| z9|e??hY||+qJ$Q=P(oJ@Q9&gfsGtEgRM18eYAD2<8VbEf4ZX5U4IMZ`17*&ofm*H6 zK=V~;p|4YDp~vTFpUhf*s0g%?`CGWrr4gXNSHq;DCzW z;(+>m;DFX?a6-Rb=Y*;+azf+exS+l9T+l<~Tu`&)+|Zm*Zs=?uH&mF12a59IfudV@ zpq~!$LX{kNp%FE_&<+wlD5W_c)bJi3G;Nm;I&p>{%A3m%bzI|zK2Q~azE2T=%FGEs zL!<Lvc$w7yqFS-vy**S!ub|@ie;UgjFI~rlAI7}GohZct77dY$@ z;^&qW|IG>nBCEDvAEAYd)r<~e^MlwH7vDnQVu-*&jBlrg%j4Te=;87|@tixz4-CIkzd7)m1HU=&n*+Z&@S6j_Iq;hUzd7)K4+nzn)^7HuZa&)F z<0bSaJlrw^C46yljd-j{m|*)Zc?4pnw{4O5bOgi>BhKJWcpZWog@vcSxaL&<@VVai zrO@XgaS3;R4Axk&_U1nDJ#LhCuDxQ3BCRs4R@_tSD2o{~yIA^}(l=JqxmU&Rn_RDu zr)>qhAN6#iuGUeXD{?v>=bzfb9Tz2<{#19$y~yDcT*UemeGZ2MH(#wjZMz1=Q?<+~ z6SGc8>ykr_zG0-8x~?okgs}p{C${gJQkNu_c;O_R7T1+?bjLW6+TV{cRapXGg{owq z%H%E`B1m6~jO`b42PWe?7!G-c(3Dmj_f~%%QE)%IypQuR$@}?JA>)=-J@XR=mB#Ek zN_`xrQEq8vD;D89YWK_MEM(t9JdnZnOD|2Jhi+7=rM*d_=yF?FNgoJ@2L=(DDt3}Q z<06bC%Fr~>D)aJb$);!Jh~X}eyOWkc9(K-XeiN;Lu1YvIwgZb>3kwy**xPnZ4BlNx z=|-qc2|pBwE-DIx8xs^-y}9Oa(=VTL#Zj}seyX_O4Egm!ls=dLaK(ucZ77^%&jNj>|ld+kf!V`df^ zyJ|9PON%#_oOKF@w$CULwoD)4?+dt1bCunh zJvwnOR{bRFJCV!~lKuzj>dlFSy6=Z;m_I0sR(7f+hH$>Op9e;_UA>~Xk2;!O&bs^A zeF_@3I~5-tyY_mjr8a;{RP~CY3+w&+j(JtdH0>>;&(_YKH74^j)1Z08m9hNT*i`cZ zLyNl4mlZq7o(ITp-+E0ZzDlnV~lVby^jr>m4{uI-KveZoh~& zwbk7#JYIB>%?v#rA)@W*lVc)FxsppH_EkgO=lY%xRjXkKcUc6@(0UXNjFQ^QPs);H zQJ?FEg6VN3epb>Kj;}NdQ5snhFEeW>`1n_h&FHC4_ipErt$d+u7uKD9;w05_^P9zF ztox2_GW_~nw2X4}Ey`4jZ zrrPy5qN2G{OfSmAehf$@n5IAp&*_uokQeb*DtRdf3wWHz_@_z=NeJKX5%Crm8$?jN zo1tGzwxYeF7iDn$&dcsTvp{AK%&=$oG}^>96j<1l<%o(+RXkbUZ5*dD8ejtFG;-8< z7Yg@_Se+HnkN&}3DxqU?rHK$}VzwjeWBK)(rOG*K)a`=v)TRoJ1rcck_hmZT)T*reX+?lTC4qM3s)8}*@4q(FPL#ZayDr*sGN-U?6W zOZ>qErRia!m`Ga;fQu7|qDDF=E zW|fI+0{7@76XJzBO-9kiccQCIJ9G4|ET5z&wG9zj4XClRs!nw;qAY(4vzSZ`0{Q;I_EusbB3t)jN6V7NhRw(HwhE1z&ZPGS8)vaXooWMw17Y{h}a>=A#& zbu^{N%dvzY9!&W9)5Vh%N~c8-@0OX5k0Rr(fFauW4|l4k8*aS~dbLh!u_5aC!6rtN zSSh67d5&bm<%km!qRp&tI>n>7Zx;<0MT;o~y=10|MK3yzRn1Kaea)CWmspMtkaUm2 zWH@6U%_Yfv*0O6fWN6*ap-LMeC>d5_v8rO?aL>nN2s8Z1+emwMGrjaoh>gmW9xsb9 zk*nxu*bTw=v(MHIAI(#X8g}w^LjRWYrST{!!(X z+_a%F0cC979MTz!waz)-bKG0Zt15+{G|K}0W;}{Afnxm7l?NEvd9f>k z-XajX*7H`LLbcg3+#wB}eL0-&tu7IE-M+`4PbX&v+kTW)M>VlJW(sqYN{Tssjl28p zd9T9vBV&oEDP`T{MTX-8A#IGO+rGSY8oLr5NH5n$@+R=1?d_pr&E(L{hu@9A*H^R( zyE39578c2~(MI!l#0MQ8m!#Q?)jE^$IG6j31Ff9%^1Yj?9(3s(3-W9<6RKkNCoLWed?I!tA>-JVol9LoUHf;CCuziVGHz{<~K8LbwA;5(K&d~onI^h;t-nUf$ zInVts=oe?iX@vk@%@(s4WR2wr<39WT;1do;4$2NB6SOHuGvw`FuV=D!5(kDq=@;l7@Tb5@=(^7*5+>_$v8EN%iQG z;^%jw3^cKctQQjRr3@)uU^aV*OpQDGw7>1B(QV5dWUQaVSUDMIaXC*(+4zPOwR;2m zO)a)dlRY8HmvUwfxyusv>TVjD(Yd=wpNu8AM3IQnH(rC6!x4T|)^X^Y@%jS}hfzH$ zmoKmBrMBPV;0DA|~fL#-is80{nrA*7?u+ODV>NufKbn;(a1vKvd;CkDFMeKQooaHkD}|MDo%BEh>L|cY@G|Y zu%|$5_T9`Ln0skH&1%HeIK8%|Z(k{PoOUHwoh>qh z7ug^ZH~V#|CWF>w#%x-aSXg|JPs`v$n$a8#HAJ)|&fO%zGcCh$rA3zrHE!KG1>r2+ z6cZDI(;OGeWmI2(pvcwJc#T$D<_0g3*__35Y9~rLtdeqj^tGIStz}^q67|H_X0_q^ zb()zCwzehnwl80sbOuj)i#F5LtsbR`81N2ySmi@$TS|%8J)flZzSVctV$6%I!(JGm&TZcooNn=*9Oc#k9P;?dOpeQ#)|2#&+cN zXdr=@exOMR9oOn&$)W4EtIA9!iHPdeNcHa6p-J)!r&s z@4nf^W=b(dd~A`brwJsF{*7Hjzl?duPdxtM< z^9?ar^0X_Oagxax_!zguH4WC*AcAz|T4+AfvepNe74+Id=tVzC#CKk|^ir`G62Q`V zW9?O2j-2NjoOxZq>c}8-_3%J82eaIB(!lb;OUX;UnxBit*TufC(9L{qEj3H>_8{*y zx|-5m73Aqc#IbOaUv^VZi%2&?Dq|;Ha(P{6z#y(8+I`z9*hQMq$>-xY8vcZ;rmbep zF7!2MWUWzTt5>zXX4;0MZbxK+5zUoO&WVMZn{A{X5bKHRW6{@61z%#6pUH?tWZ#ak z!d%sg*&S*!Z!`0Gl_F(MEfRC0h2zQXzND2yR+uTas)F-M-Gl9i6Oy8(m}qKr#-4p; z4MN}Nr*UiqxX$U%HeGYJ-GOY|Ol8V~RJe)&9eHHo>!j9+x5>I5S?>_Ycf78fh#?^75-&2(7;42erDEOcS#c=4wm zbUOt>mwLd;Q}|i++cfjHYK|PcRkFCMHD_5|A*$FKNNhb+Bym;CJGN1B)GUpc^-NSn zu8YXB>+@QkbhGnQtuhfP8A_Dx%9!noVc5re5k;M6M%(i!CsU%&=phyKbXB?LH`So3 z&SS-e{%2LFFbZSwr5pWsE*=!Q+iw+~__uXLz--+n=#LuAI51=qyjm=G3jQw-#Tu z+cq;ey3{*r@|Y1J&)}C;+|3(%)TQT6511~WulX*{;vDmwEJ}=_#khM@mZbk%z_PMf ztC{}0P@{K95A~%Ry*DFF4P1FAA3xQRAhR}mu6VJFUo^i;S5%1Gy(hkjXX?qS!fMrZ zpO)vx%fhPG8fEUri+M1qZJ;m}OjfsEwepV{&pa5pD|8QGrqzLxO|coelD<#Q)_Q=D&C+io!>p1<+ReH)mHA+A)}3Wm22(7>V&?R0@+yF@(m4D z<$DE0*DtjP4zR5PR-;XP{cd#?EED%OD5vG!kzXyYRj%x$)6){@RcEi2#CC3wb@7=D zr7{Ioip6l>64Fap{r+X+=^|X@4D2R%XdCj%tu+!27if3dskN^gSD_XgP=hD)X4g<# zOr=!BI+GMe*4%XDDJg`?E|X`;)?Ja$a>kBXoGj3}+J@Tp{$kQOaf;Y_*fg@LfT%7v z$hf9;HR0*0tZROnNni7wcS$W7h2+^ft-cADNL?0Ly2A3(FhGeQ`;;L0&i2XX^E7e_ z?-Lv9D2#>%&`fVulH^muHTUbv?ea`;! z#GEZF&GZ#U${>ea6elM^P3`!&u5OCmv(u@Dt0%7%ie zf5-zmYbq?i7|UMO`u^O^8KyS5=OvF)BQ{=EH>R-$3kJQCS}UBT7^Iwb&QPSb);X8u z;qz=erjLX2?U^U02$dJJPQu@wBojzk-%6!awEDC|fq;#@3nyDqRQ*JV_I{z5(G;lR zc`~vo+xZPYCF5~@CdH_-%{Z?Y0lou@JJSRrkKS8IeCz z_9SJztD@f6jYHwx^WCQ~&4L7_*dkpMp1OpWj}Frh)=g2Cy5DG{je7I3l)~VK^E-kE z-<(c1iN9NYj{?Y=uZug4En~Jg%0U zwTe~Z3vn40*E>^sBCd8z?VIF8+*0^Xg2Sblf}E{n*RJrj-rKWu`t%5n!L(fBo%mTv zyWVTb)g%60OR*>HJDN5W$K<@@Z8;4H-wx$IR6qu#)?j!=ZJ1h?NE2<9mj$@E271@n z;;s{)%4l8vLV`xCJw>%|x^Z`D5Y@v59}$F4DOi<%b+clt_l_MSxhwBGVg8f|Eul3_ zSVmz9J7J@`7%UXQ_YPIx5PYA&T=nBc){UaliyOX(5lgelgiGnhqW&$kWHKC=YlZXg za-Dqqy|q}myJ!c+PCn`XZA%qKJ=s8WSR2JVo)mROJAM;|mD;^WBF+UQa zmSh`UWZ64>&20NJW}Z>#dkHyh7&et-nOO&{8AE zqS7WPo}W|ioqv+VtQBv~iN z&(jRkMv_jrJLfF4rP;&dR5WTagDep?qrCzm5j5n|5vl~GAw6M9MH7b&8lJ=^`NyN99KoGfPB-;^ zigQHnQ7>cKoNnG6tR>w(j1Zhq6-~e7oub`;SM(##i+Eo+v)s zJcHg55+VeJk53iiY(4*4u>nP|{O9DVPF~;0)XV(mbGaYV@Tx+rU*wXf_d0oeYv?mz z)eL=j)$6efYV@cG1?tprCp+iaN!I4%SKr!-r8cBL)WgvcdupT>EW!-4pFF^8YD*X+u7(tSK*6pryIw{QW8>FZZxoA=DCtg$d?tRW^T(1$Nop%6C*TXSfj z#M?_Gb*@uxo1(8RqHFr~-rtshbZJD%8x3lS6@O?LPz)(YmSXOIBb&O?vrT?Kp_+Av zNs8cOU2l49VdmU(M>@a26^rfZ*9qlTEgTtEPc>ZGo=!j$IwW}E#B99TPbPIq5ont# zRGCYm+{$U5FY8NLF7d0IyNKFTqN?^mqhQnk_@%YS1z$f-^|{aBNJ?@s!YAi4JB zGFDoa$)3!NEtIn_p;l>#%F8TD-O1vPqX9<^hCLYM3Xj>TZ_&F2BNhsZmIJ~??a5;+mx zga5$fSbCV#)b7O`v6~Yx<#amEjA@mhD@lI&h1)Y+=Cb8% zax=B^dV@qqIg+SN5Kye6u|YK7hxQqZJnzS8UJ=X=Y{hszu?)LUtU5`~DF}!n$^ZgU zrj|{m?eH+G*)4sx`*WJrGVO;aF}X93rthOQ1W5=d(9Ux&8nu%LtDHYdF;%67QKdxC zy!wdVpuIR6aIudb{XsL)!N1JV)Uh5t@b!jH=7pXe58VVW$EmQy@r;O$f%qYP!<%z$ zsxBj{LNsl0H6J+jtP6Qp&&uiWuqbg~%C~-a7qip$fNmi#34L3MT1+;aS(KzCmge2^ z?ERCx!&(yj=K0KbBbuMskmXpS30dl6sd!vkRZ+2r%f&imK3!@!{%~7vtk=Cc#`)g- z;W4>5G0!-C6B;);SQ%?|@2>xyaKrRkcs?1NMxgQI`*h`_rq$h=>(H(9S*#mES(?p>2UB^oo*aV=vlqLu&3TwvI z2No6Py}NDgo0D}r^vHhw4%xm86WR7T^)zzq z!Y9Rh<;+VLQGwo(J`lQ5RLo5m!A~9+DDw^D#cWQUGa_>oEi)Tzg#=3GGYc+Tz8j)7 zi@liyzr=G);dW!(g<6fVkU;hm9GsVtBcE)lT)EwE_uX(b8{O)AExIsauaF<^)*%S3 z(d@9dI4?^@rGMMwM74XRRRw`rQlmvOi?{UN`4*na&63+PD)~UD=ZUSw32LgXUQ3ZF zb1q7ay3^!JF9vT&j#(&Nbndn1lDkg%>H(S0L$#gxX|$MLGp58{z`aiy==CDIR~Vue zO~QG1>kSsYm`ho%FzK1rFU9eK1RGID(zlCOW99T-IQw01@QmdyqA?<(vE-!BlFvVN z!dZ2)?oEL&a!k}!t8lII%+#?}>d6as;`xKKXCD%biMk=Vg07mW@}$acP~3adgAP0* zp&L+*n8}p6R+~mh&oWr?W-Ekawa2sER$HWg?YeKBG4TvxX9R+q%k$9jxFn>}3;30Q z>RE1sW4p=@x{u}Bmn7}&eCR#oehm{Cqq<6Z;$mE>N5rd5=(yeWDvvTTo7Rlt7ue+0bjB> z;qn#aB*w1ZpK&2m9G z9jUopBfn%}%X(|EwO0|!rQ~L6mrC4`qtO>K+@FWsQRP{gs4?YL7X3ssBT8*A5TlY5 zifLVcL@mYzpE^6LxgnwRae{Hkk}3W?S-eZ25&^1EtUKv6PaEy<8Hzi z=(UkAhT7;Im9sWOLlC`gXn%= z9vS91lYFs#`Sgiisy&5|h{d~F7EC#oebUwUcE8D>ID6dYSKW~=Khy$lxR8j+(iF-K z+KF$x%dng~o63ABHq)$4QIle9yid;s(IV??kV#>0!AM@7G8a%PFhg!8bwRsW8P=x8gdBj z!8wRgwx>+kQQ7d$`Ea@yHocpe)#=!|aJ2Li(M}vat4#vhYe^(K{_{pdVUt>@H(IpD zftTd^Aud~rmT+AL|rDeP_{VRw(VZ_=IFKTE+SXI zYG(A+h9#cBlh*w#ESL+6-?HXXVxV@KEAV=Xu~XkX(0(Tb(bc-46J>~)SRWP(cDX`! z)|gWG&4u9PyXFSI%hw)$>#9K9;=06QtLt+$>bpb95bL99+ChO;pZbExl+|*A?ZfaO z1{NDsqdGt4ndfnFK>uYt(a<&2sF#jeB+9`zb)ICbIx@V8G*H%>`@;h{#@(j^^O$BQ zZ<@6?vGZ_p%!sc@uZ(-B;_5vVGt0I|HNxUK_BQ!)wBRr)RlK*F!<+S48cnM5nRFK*vCX#whXPB_GCyMxMkGc{$r{c-z z7jRO((Axw*LWsr|Jim6{DM>3bg(D7c)$BYBMHfew?cW~|8Lnu*{FI!b99DR?vgK;6 zWr8v5Y?N(;idGKV+wZWk*=V zgldeP_nA73a0wr)BTLZM_EA>Od)xRjnCodxZ#(2IulDcGZLqsrFF&{+iIp zM=W(S)GgU`Nt35KAgeuXo)p{PdU{aOQ(bKJ=o)Kpu_2yO(q27;%htlA6zY_r^KQ6u z?xmm(v{(yiDNlNJMp2UR0y)Z;Z}^J*pexM@Q3{EAQMxT|v12J-9ln(otsPlw4>EI% zKEq#LxWFK~T1ef>!$xo}k=X<5dLgmBq;L=$q9h_Yh-d#hFQ9W`=a6L{Jv?@`4_ohRmWtogYNuo@A z#f9n_PyI*P&*d1=ak&;^s|ry!`z6?!j*BLq@Oo>b-K%3<_)%bLe09sc?S6Oq8-1T` z$xw^_Q_>tyL`%tvuc|PVuEB`V@@x~k%EK4t=MUZCr<8OLY_7=|ah_gh>85Ipz0nK53O>GI|}T?~=o!@jZ9 zINKqiNOjD0wns>TE_UkCB`prvQQGO=u4P+vr24vWVtGI&#e-jqfeYbXfgSi7}dIBGF3C?`DXoDXYO6jRh!&do)iwtGjVk)qh7t|uiF~r zZ;dn1_Vm#nv5WASqP6c{7AB2_*P@RCHVq#iwNxgY6hbF!r8Bj7vSfVv7AAA-E6v1& zMqb&mfnvD%1>h=b(uBCTt(3@tV93*TNe!P zXcw;*bu9YSf2H_RPLnI$r^(|=Sr1uWS1vxvEc5Yf`6`*tT+3ht4`A>`XT^79xXNlx zC*Col=_&OdO<@0cVr$Mke)TG1P(w8nidN=hVqkz1PCx>irX|XCh*u{=;d8_DfhL(Y z8+BpUS)Yj8twu@F(hWRI@ZAJDL_J|33UMfdg^KjEN7$OYz}SiscVKbSd8e>2)xoJ0 zS53^ql_NH%6FhCiGkCU{+MZXJ(T_A2$lR+*mTz?(=xQ&Y@xbIvFJ8}pG+aDvY0D&U z!BJp8X32pWobOEZSt~=!maojMj`zg0dp2b+oFQ;!U0XV;jKXBgh-K0$y^6~|Va7(9 zGYLPbq(|gz<+m%7U~|3OOqy!alZAgZSvX$#k*CTkrgDNxrqq@kWhU1#xyJ2YU6v9| z?vvNwr%WxEQE<{l6HOIEqk$R8e&W)s=77+&ig+v-^w=XXe#_mtldVstf%$okDO(MN z#rPA#39+`i;o7DM7V*nv@7Y-Na(M=3Eu}w1BqZjqQHZn2Tf|>s?UbaB3h5ml8Xhr8 zk&BzwFl?e=G1o$CY4uA#I;>Iukkzuu)nSai-O7w=MVy(3+XItgwKd_UZ<1xbBqfZT zQ@z37Xx1xa_r$}RipogDVy-(femV~QP2^0&i}?m88}%Fy))E?h2Cpn3J8|}P6()2c zb!b7-PfmLS_*B`Tr=`2kk8pWcM~X;mstFA{>^&@+uM$m9sy(pW z#L5`!PfESUK<_E66*s-?5pSOBX(={Ks_59f#yLe=BOd(S-8SLKiNGJ;jE>Rj zT@&U(4byA(>TTjzX#8QBawykub_+HW*CQ{9M>*GZEGFv81jpF>A9W}z!DTD9u3P!b z7&cj#2Wi_R!=ALrwtZF2eEEQ-ylBb^p+IRsh)ICI8;eH1pAAfuVyzFTRLNvj=diF6 zrsgx;0%$F;4m{)-aY@8u(NV9Z-MP2h^+yFWFUdM6`9B^{%aJnh*6ru?`p)1*-IPt7 zP!qQ7Wa^GoDqpN*9U$YvG>se~(ORb5l_`6>$+}+L_GP5qc-L;W7~5bo#pO%mE%UoR=|1Dt=@|d8=2BvndR1Ggi2_?! zzyz2{L%`?ZLaqw5=n?CquWuhl2cTJ>)4v&D-=-wLvK^)CdzDnmHnuPp(ONxxXqw|f z>DA4L#%&x2Ml;hgA9&6c zcSPQ`y>hSU$y+;u1a3Il_e7~NMtDN1{4Lmh`ex{!l++RdEh(Axdjs;X+tg!l^5`%~ z6*~C!omn61I5Iv}?;6t7gv;sh6vOCG(S$MX(-Sc7CHb+j$3(eLhA;Mcqiw9{954c1 zacC~m?C&M7;d4{%_73S((j|h^USPl3Q{e4k^bxR;Iwj5mbrG)kfS@u$Wrm zdo{m|(&b-eSoeL07|m=<7kLh%U}`J2nY2&zK54yKA>OXZGa`P$Gvek;QF@!aa2a>3 zEi10(ao5%M=J%}ZC1Mh1$_#jT16`ZNIk-yYD!Vn>V<+c}77p!DPiP2S3$Cike3l+_ z#YBs)*Dsp0{&n2qrsy8EArl#Av-G9WWO_pOwoPU8^@~1i?o+Sf&rS4@c7+v;7)LNQyGhF< z;w<*bYLVz9D8KdWwV?(Kaa%xqi0~!&iQfA2^xLksD|ES+9@BABXHw~%jOpdEp7_uZ zF5;}VgZ)3ejZ>@x3Je-0a06?UQHuT5AB}9E&`KZwq^)Q3|r{W%4Br-`GMD9=#{m~ zezTkfC%f610R?C;duxhq@~78lr8$~h$==1$ctNp#QjA1d4r`NNo&8s0ywdQml zv8}PVn7Zh3o_RiY@G?31;+L#iy9~tE;ygmwFFxp4)W$^p=8^QdzfD zc-FZ@?0s3A%qggDiT33yhc@bbju?G7yUF|}wPGkRf&UE5Ua70~Zf(YAQrq4tU1|Fc zzk9*`TGHoBTKeW%g4pw&(Iu3erOv}K+MI`%`1b2fr>W`u0?=Sy`08^=ci9pY?vINk)`K&$5Tt#}K$uRWq< zOb~9!M6*`Z>f?eE zdrr#BM6k30vq@>{k2U6+t%H#TXsRcN+Q?e!zxA+z3!Lt@)CDD8VY zZ@j%*cGRl3=;xX*GupI%9~oxD{2c_&TkJ{O|CTXY_DE`KrU9!8C#e&Y1%dE6Q8_(AI3l)ytde1 z?MWwhhGyxAYTwfc(}hga)0Nfv*>FoQFE7kPe;P=+Io4)mv4vJc_*GW9j4!9Y@eG)W-+lMmY!IBrAyB

S0P{0~@AW2-9z;hzy^$bZmVr)nh-DJf%|3ID9k;CYt|&jg&`D zvTuR;+o?-~9wQZTv6D@cTUE`XqnsI6H(Y%90-PjL2?|nt3dxc8*L#tOscf;jwMW5| zq!Y7Vqa#NvTOQ7{3tLxYS05%BY3`4Rb}hB3tW}! zv!{}=_k3J-Pc`Q~l300aus40Cl`3{iKj4gCF`aFkdmHq#;!n7?{R1;5Ny@@&=JG$b z>YQi@`B8-KEqXL9!Jr?wTV8%r&z0^8PiWEoawzaMl;6E_&-;_%0m!IP~%425-0P3y1Wv;KZfsU2 zLT<_##1#Nx6>3y)rZy3J;D%$^J%m9b!p0X$j@nT^QNRvV_7Xvr?$;+rX~0ev+V0T; zm4B^1a^3lT+WUkWA|S9_i8xv=ala|YNy=$25}KWRUgy~L{b*}FBHp&>EM-p0)}KyB zI`Y`_H$}~R|AxBfrD568+-uCKV1>{HBir`*;qe;*`?Y)AjJ_aRypx$P4>jqh9!=-v zjbhpcgZ~h1AfK6Oowh!~6IW+@8%8$o1c$&+cE_ zq&|_`2r=UrC201RBvFoR4lSei2+M^7T4(*ayw)B&VRVX z9(EGQxAY1(4EFrF)QU>u=$&~i1lbdo{%*17QXF6A)bo^}^e?w=xAvnvklm1!=5EMe zZ`mU~_>d$Gi8FPlt%!7qs`UAYt8iLkq;k*pM8yZE-U^=mk$jSbk+E69N}mBf^yV%g zN%Y=cnIjELAGMyK;a8+#WsOrGb^5SgdqYmJBgu~<;2rY^`^nRxxW5f@;=OAAIl*KL z`f5>_m)i+OZRd7%@3k%OMCV11<}L~Eg&z5q@XQ6nTUoyS(F3wpvSJJRwqF3U>c-_|JNE%RiUPx`<@lUytp_bxrv2nf6G(|J_b?UI;9qIJ_9wg30*x9~PSVVNE zQ>6auR5k%8(91AziJ&vieuhCT31`$FUudIvteRT@#sG(<(n>*)^7C-m-xq&)(@PE7 z?dMwyCb01rH_#4WhIM9vC~NqEw;QHQzLu_g11gXeN6wmlRq(ezLpYWi3P90ppW~t0-iaX#1BnsJ8XWHWFptI8{e`P|dmMmsLe2hkOI-pPAZ1kQqU!ot$p zPSys7YJW%O=MY6+@&;)C3F^+Pg)Pqfz3-?XE;?~nCc0m2_|G|K9=Q@>#L^?#(Pm$* z=Qq<6rJvb(GMMz zT)|imsLr-wD)-yFgMR&1OLERJx$AZE*Jm)AAW<7VQW$~-I{%_O41d98km7hFbitAW zh6xQC+R(V)9OzF9G1-M-hUm3C$G;wk`rz(h6$i6C31xX|yBP0;0(_X#+(`!N1XmPd zs@{@;Hn|=3sNqcDq0itz+}rqynE%1{@pDk&Law1oRcYeJOlcxj_dzo(&fE2+`byHd z=QU)HiHDd$oVdSSwX*HKG>)LZYNn)GD1ir6n^5oenF4|$rz2png>N5FDLLPHr3qy9bSWICojPy5=v`i0t9KaACbVo`Rvh)F;8 zc<$@yuUJMfB|K>8nkFFZU;cf9mUIpIQiOnWRyK59?D#J^RA~jgMA{a2913rdmPLbT zJXP`ds}hrRmCy)ZFv_HM`VSc})1&XFW$bz-mxT$8)s_Jnpkrr^$ykSbPqpB?WN+LRbUiZBjU@}Ps$odv)o!H!8!Td(HZX@`A=p&Nbuctu@<|>zc`AH>cz1CCJuy;G1Ff3}Qy+&_xO^f( z@Ps`6Sfo3+?{Pj4)J){k(*By|n`0&!{66$E7K~uEslK4cC?f3S%Z$^K_>4-EAecRq)=2VAL;$y$87eZSGE_ws~L%#Z)TW=nN)yT3)=*Nus_$AYOlp z`%3{JEV2$HM#@7Plz|Q~PV}>{M+Z(8xHRxMXldS@L|ykLJ;*)nxn6lB@zoym-*NRF zbz60rW!Cgur2Jt}^gNk*1V0pKG4F|zR{80w@@aVragBfoKYztwDb&zcts6&J*>>#+ z2{yL0GRnjGRoQll0eJ(kR1nR;(Lq^;WJu|!FMJ-ah>7Ghm6W}GRwDofJhuH&ttp3D z&MzL~ej-7-&G&05<4NP!o88GjvVCKL0v_D2;$C6`8-D$#fIP5a>1KvhjT_i7(J@P^ z_BelW`7iRS-tO_heBjS~)BpEjl;uB8$Vh+O-=CG#k8Y2m>3~1(R|8Lri6+yDKMlT= zu+2Of?0XwX7Ic$32=6-Y+KU(&slGD}mYcB&QD-dB=avrm3|MBz22J0Cd3|D(ClX^pIW$`AZMCP+szvOy~B ze>6ARtr2ZfasQ(U(w2CkHpkCV!h)sqZQkt&kal?*GAs+ZMyN_$B4$ZAW5 z^hk}H>pi&xsa11b$)Jx?hvqtxflX5P|9R5^sn}Z7k)j5}up=aqg*^@2BBlO5{j-=& zVI{7%dcMe0XkWpupZCPVMUnC7J@I)VM0K6`Pu`-Uv<9^jRU<`b@Sg}Br(FAKNTXb- z{u3)Rq;WLdjp~-u=RF0!mD{O$?vDtR56xl)bUaG8%h z#6s*1Uw-Ov{oqUb=42`p5jf^j6LL7$&A68uc3`sZzv13 z651`LBHB<%tE~=4t%SUl(#~A?noT+4g-XtuR>z*=Y|iBMq1J}03(AYz&8Dv)30Z2sP+r#r3Fn1MqZFH=R-UG}(CxENxWH6cvFwsSdZ8nM`9u35NHcU_F zCLKm!j@*>ACg1sRlGr9%bMuz?D;VL@L>AxNZu-P3(#k{&2aDU`W zehbT7ARGr&FkIe%cKir|+4`#+#0t3Xz=ndVHn2SNaHRaQtk3?H%Pd7=%r9=!H&zEx$Ckuy&Fp|*qalknec?y(?g)fXZczwcrR-0skt z^{}yC!wfT6iczBvvc99BkCMK?w9;&SQ!~Z@_3o_|8QIawrmB_Gs8m6<3)Fw;=;s$A zkC(pBoO14J1jadaF0upOUu-&c6^^W z8J@^Z?@63V>if1YC+nk_#~^VpEQWSbx@eZ|B^pCL@I zc7HU?%sI*OkY;ECN7`amTnZ{W<-7=7urqQ4W}kKSHHCG~>ONpER)D zzOW`D#s!GoRqAPyRIA#nPIi)VVV`E&5*h2reBsJV3C3 z1sr@gDbPw{$pVlP{_894QIjpGgnf2W7g?E8AWTvJcL-Bq6N^!xb;biR_0Gv^pJ1)x zfs(E7x4=luHN()%lT zm|49#KucCbXi4);j_CBmEAxBeKKjfyo{VA#^;RO7)Jv$^0p)(>@s^Oc!1*m`!1O?- zK*4;i7HnDQx4o(IyxKsAr8G%^_39<_|=EzO1_LttS-4e@eJ`+K30U5$RI0udyg zRcpR=b?P^$Eh&wAJ%@bRX?7x!ndxL~Z1FWF;G%mbO(K-e+Bc;YcLBDf57p|84%*Vj zov?GRN*uo=nC6_gfuR^Oa9i?nLnKojaMCo#MZd8AI<6~T{VIf0&0E8sdf1Ut9rRA| zxpjT#mvXxqbE|&+S&PjWt|h<^0<+ho?p2@kzX8@eT0!~?A!o_8Zuzr~&YF&U=Qp!o z?*=g{dtviqm?U08zXR-TgJ^8smc*hXjLbZ6SaVrft9Oo^pXF`z`c8+)7OO0zFXm%a zE6Urbik5=Y#_^oIs@p*Go<2f!ER-yP;YtyHo-#nyF+hDKR5%RRyz7`WHUu%-4Sg;jP`G)~^aZ zrD`2f#)MKQ77ZMHOs8x^#JONAPoPJwThr4lYmQG!?c!4d;r%_ZO1iAp}9~eIT|MoeOZRH&qE*2?e->)KWz{1WA4pJh>BG3bn>=zR%GZUU%T^ z<|^fSpIUY*u`lS%s|>?CTVG}@z=dXF6MVQ_e)Tdio9HMi6TUdmq#@*u)+Cj*%q2P; zRLe6*5&(M5v3usQ*wwCCUx*yDMSYzJY5y9m8B?#<>8`vrA3GZRD{D*tP)lc#bPcaj z8lFuCU(+HKIckybEO_nk@h6@u(dfUm^Rs?*<7k?bA;N2izJ^* z61vd`7>;Kyza>dKo}xcd&FSu(&xpyE@MqB<(FRVqGzRV;sKx(S^x|{?e4of@PI2t* zrx-f*ycQ8|YDqE44*@Dsu^odB*i3;lnU6}gVl#it3l>_EliE2JN4L3M`=DyhPL~si z{D?h5Dw8eA@?s~xcyt+D&@(n5x`c+pOC~xoEMoQ{dANjp?H$@$TTW~7?bgE|qUt3H zqW9k{4iiQW4&iH}A_qRzPJ_>&X>$j_uffzG)l1k(N;lgNs@7kE|9-6!ch-t){~8Y0 z0}=&DelAZgd5ez}u*L+Sb_y=L>^VLNX=Gt0Z9ZkKCR0Pg(*V}Dxv{)EfDO>r44|;R zk}i>x#E9NB_zh+|>At;_Siv+^I6LMUY4e@@+>SvY9lh|>Hj?a>Wme7YIHqgIQ#8{DP$zUeUzAe>~eyk zMD~LrtqJ2Dy7xaxm$RMC3N3xzOWmFknI-28>&eI4=y#$ZxY)Gu)S8z1uBQwLHA0@^ z*Q>FXVcgFKEeTB~Xl@v;vSxkc%8Kb}TBS)noDk0FfP8r{3gU89KZ0*hGVM?WbrLN} zsGWI>bB<>~Xp-+}lQdt@L`zeJ?OOa!Mzt3rUZ0ZDf7p5lmBLMj2keGvwB(3oJY_|P5{AGnhp6J{sqEi zp0n$M*71Np>>jtDc7SBDlls7aOGtR0A|r83V^wZ|xSF1T8G`8((pAdccdM{oMawNAFUME^6VpVS~5r+Ff?Au+SGf84g1^na79lc&DEx(Sy23tFTAYw!4r8 zXdIq|Q3Zk6z-Rrv8RHVrJZgWVyR&`i)b?!M^DpJ$|bmpG^UCLBR41U z>IJ60jH?GZUoRT5ld$k*i`6Nw{XLTe-e z#zarQ*WBACkwu%N^MMdzc%LEMXw}WNF1kqDcT^3}TTlpW{TVT+@t?$^Qad_l|Ce- zNgc(`=LX~wP=>Chu@A(0tt=6^XaWazxJlN`Ktb8KZoCu@R1=(>bO%3XQIaHuJq@jENgNpx&uNe)e9KUb z>L;bi_aT4suq0%C64XxZHL-IW)cF-m~!Xv^P60o z*vfl(hCDGDusfURFfZP;zm3j~4c6mNA|B6#4KqZWdBv@&q_ZPdGM+1GNOZDBPmg~d zQ$!Zbym^~Fp#%InK)i&AmUg{*Pm$9^6561a-GjTNk~+aTCLw{bO{|P3JB-2XFkwB| zt_l=*J`<1t-)bW>7yB6Ji@30QD)ylRhp5EW3U~-_sMw>FAZULYSqZKWV?htMUP^Lm zpHn`ho`^as;@CUtZ8uz_drQo&bZJhbV2-%BG#!&t4PVj#+HTPBG($=>~ zJ|@s9l;Y#qT26N25hKbfZ$DeQ>kgsX=zjhEHUXDAB$0ZY?A)d0yr|tNx6UuwVwqN~ ziEzCw-CjlH>DXHQKj%Q<$koTCM;} zHkUZNZhLRgfc`78rKcB7nv@}MkiGJrH8Bu-0ci%MYjPGj2%_QY(5j&8dWucvO7|^Z`LCwZsVMH;E9af+}64ZP34K%h{ZpKQSM?udWuL zGELYD{$+1I-Z$q;gKXx$N-wd+cmm=U^D})1*crboeSSeA8cm!Z2qhic9m?>Cz;n9;Jx5^AgM@D2R$i>#MkLv+EZe1?7Sx9VPQqB)a zMHl{&I*!&JU5Vv8C_I4MBQ*4N*EYx9GXMSe{qKh$@x3}{-4y%2O} zw0fB=BFo9T&$PTY^Sga2-RK*EEY5!{jRju~qwz2=(%ZLY5?RxCqX~H>j)uhq#HCJ^ zWT41- z*w4`cA^ntUiI&t>E7Dr^F!@t4L!FV3#M$g~KYe4Fh@XX>Ua*~TWI$rM@QMqBdOhHL0i zTDSuj)HHz~Ah;_X@2(J0{jT{>zb@enC$Um%tRcw<0|h!~HMqDm=+~ zqD@S|`J6}!TG0y^7M+klN`ud4s6*XSa2-oP=JAyZBlIO~!_^QUSQv0$>m$B`>kv|K zhKPCa?d!0Q&gUv0+P1g|*6`UoE+Hj*#xD{v`u`R?x`8N~=Lm~Tw4l<@yNQ5=xzupd{bio1!3|j%gz9m2Ejla2n zp2L7@{{m;lw8w#i506NzvD*&8OKqW_yFvWDC1U-jJRX`s65yK2&LF9$A3mTH$sQY+ z#z`+stH*N%tmMsc|4rEq<1td7{qf-oL6sJOh`sq83;Sg|!7f#$6{bO_R2#sbd%9|f z+b3K_asZEpQe^4y6FU#9`o!sX0o%XJa=HT=^PSBlENpZdetQ$|$#+rBWhSPMuW>Sc zJnN@S;e|2_bC??RM0)|$%yHEhw65-W{c%ns3-k40!E-EK%{!(v%UU25hf9=#$`e}t z;*GH2i4E}s7bo^VnxVps*1`%RLWfIDXp|h@)+`3_HyFrm*x#&COLbct%bd;9TTM^i zEl`ZC`JRQ8JRUz^FHF{AT1&X|S}J(ANz@s^H*njNfNeNF8YnJN+V+#%19~?~km+QN zHd8EPxd5P_><%y`25-+Ju9g>vcB~V+0#gn@7dY1^lO~$r@ys2#o+`nD|51?o5}$v6 zzW$}+XM!_auvDMZDnmi$h2p`$QA!riU?gTzw(|f)>oZ?*zFA{cCX8 zTmAQeb8^PJOr$pTqkd;_$Y;qz_bS2nI7Aia{W<6gGbDkDoxiZYcWjRRaVf=3-_HOr z(j0$T7-rPE7^hf_7L%rPwiK8kw3gq-b--_75+HkmS}=xnj|YT&=GPmENGAp>9@1c) z5&B_h1)qzhp#-Gi_q%PiDZ-Z1u0Y9f`q;&@^%t8t13G^D-ZS#O1+@oO;0%v+#s-l_ z=j^D_m9RQ0XqT{uUf-X|8Xl-`kP2o|Q-o|?;=JH|<*ziLo@jck*`SD2ADR14?mB&7 z!vX-BLklULX{!S=ic&JEy8s2d|EidV%Z%MhR9I|2cN{qwF!hO>-I9v$P`97A6Ab<^ zi~o=BK?!g-Ux+JdXwfVPxVmDn9Jy6jk7g%4O?oF-xlD2I1w{q%x0Vl1Uz+jr5 z%nJ%qJWPNqD`i$9-LS-@wP!vupzGJBQw!cwUY76H2@+X1t0`+LhmZh&@lK-;gccB( zbJm%x=pNsk^M-yL=jD3Lnt9cRQ%O;c%QqXB+}(Hqq4>u#-ZF6!{&jn?H(q(}BAY`6 zl{O(o(Q%Yvw(h6%6Q1MF zr@+U6V0eCDOgFQwaTYde{SaUZ4|!$)G`n;dJTSB%abt&AWVZRQvy~dksmA`>v1>8# zTn;UCE5%;Ix4@3D%^k(R7tvqA_Si11%bPHArM9RZ!RStha;i|u2%j?hpBaUkM*2`y z6$jk7!%`Lr@Q=Vw=^L4P9|AHJKFO~T&v?EcZJDl?!X79_yA0Nt<5|k+ZY1QpNl>%Y z*zT^fYZ2)roa+a^6)IvA$fwv*Ev)*ESGuc#tuRE&TvOpw(O~jxwu_I#*~#9mdePt$ zC-3Xcxtx!>(UWsJ%`ETnGZ^4+8;}{l*)!C`AdmGRLa=TepqC@EA*;}nUnH!c#N={I zhe$MfWQG^R69Kcyo{!ixAp#|wG<;I4ECCZ%C6KIM^yG^T*!+1`U<; z36Styr`Mb!_3wd$@}kfo9+`%D%K1H29P*g+SP4z{-S|?@hXuMXT8sp3r*kUcYQE{%94i|j}f`=+0Uj#Ym*o^Wy^*N_c@vMqs#r&0^Uj*3owYZ&g z3_+*5fW3AxC6!RZi7h-zd6gHt6NwG$WCzuiCHjg7idck_&IndiX{DCi^~dLVkeI=S z_pc3G=|-0@iV=wo5ir6vY>%c#B&NbE%3&9zpKiUo0a>S*$RMHIPB6CC6fE9gr?=|n zRntM*$|olWgY+>z8A@|xS_5fG2a~sL3b}Q zls_(pwNutG;CM8E-V0UbJOW{w#oFZ#W_(FkpUloNFR@A8DV%d)GIdWd5QT>Yh49O7 z1Rc5awZ&e;2Bds5H%BASJXyq`jNScMf}71C2m!WrhQ?K2Xi>p8ZOzSLB7^U{-w2ig zmDYN)os zB;)haA%|&`-6fqlEztV$)0$dSuPI;nM;7|{^}SMI*}k;U}( z!63?VsgriLU^QDXl1IXmOt~hQEUpb=Ab^>RZoR-_U}^%V?n?FNcO-pCSynfvJ8p*b zpn0SN%H?6XZaRd=WWvcCyI6VqrE_H`q z@J(mu(hrCAk4B?^t#cL_KU=^=-n+MRbab07SzNCs63%7zyH7Wt z8C*1f6#402n0H^LAaCQN00!*AZp)$eH4B-d--YnUwMGL&i{=ZNx*a(;m_&EEl?HO| zyM05E%6V}79&$;6l>C=#v4mC%u%|@1!`$C?u*DI4=?G;yXqXkfk>h>8Q9rzGfZ;bN zWGbwGk05q48$99@*LP1PJxe)_a}-o`o9|SI-^HP+9e&-%-yb=<5N%&BiU-#{sx)RA zhd#rRZw2HS*r1UGpS4hoe;4@Ok*tZNCxIb_9>WiLUKiDfI{MaJNM~fzD4H;slI}L4 zyQ>xhQ-#*4dAviVhrG%rE=}y_6S~==)id8~YdjxtahVUf%xtb^4~-4DB~~xHGO_L2 z#b!zRRTr61sUN<`=h<@l$vFL~X18Y+5FXaXxe04rXqkF?zm_N4bhxP~QBxyaiR4*0W;viSjv0@ezko{%GewH${i-y_oI1w81qmjE0#ik z4txR6nd?#)??8dk`z%YOvpTa9hKG|9zlqu8k& zGy^VSI|R8^c=2pxY>QCZ==E(m`8$>^5b+5+c9mq*+(@x2x|MimPBwu6bR$ey%u4cj#K=k~wpE!b*3D^TO`@vd)_ZooA~W?B#unyt{jqRbg~ zWy$I*FOT|RHQKn3Sa~v6KJ+LB;%>&oInD#GqAILXX9tyyy?J6(;2s^ zztPzCw>f$LbG&wTWEk47{C02X2RtZ`J7Ok3H#qd?7^lv&y$<1*{u1u59kv{LLAxIe z@8vgN+id=_*X&R_E-X$TG)sfRgokNuyU@YsVCPd&$|@~E)aRt{b0wbFkq3nx_C>M= z4WJCOVBa~Z%)o?k!Dpr!e1i`Q-L#E4Wd>A( zM;}F~F>FiMH_%rh?EKLsGQkb;!`@c6E<)LN6a-y~Zdb`3(jNm&ny0}-dWgVP16{S1 z$uE5wl;+?T41r7;m}g%cjgcZ(J6ZDVyYSWi(buBQx`FKiLW}KR;Ch;VunZUq7QcFA zSTwgIq^80FO*P51m(tE2@B+hs7ykHA<-~6}JPYIGUHuyWN!uqU?m^K?|ksk z69xG|Bh^^Nn0C!f0|Al0waTx{A;4p7{je2V_m$s7RR%%#b8x}&@VPjP*+!ShiTFYd z+Xw%+l9}1JrmiuRlptPKmHOm>FnPPrwfjZ}!ag0(MO9vOZoqf>s&dH<6u67dz8$^r zL*K2TZo z>K{ekE__Jx0LnY@G_7y~lFb-T%?-&RFH484aZeO3pFMYp(M$QUG`}9%5hZx=qlT!* z7leQ>BD_)vH|k?w@qCV>L#xGGj$*<$&I(kvCyA+6q|~)%bNK?Mx1K9#-$ zlP7cj>vF|+_b&mz4<1D}sgdqRNaphdT5Zczcz*QJjn$MkC0D|<@~4k9PML<)je=n6 ze)7CJ<&RUl&Q_O4*zd+OA)4J|HD2fYD7BXcpg$r-k-8ViaRDsJ<#%vIHh2wH!Z{qn zL@LNUuDJY`bgg)pOVCz6U&*N}YeQ?tfr#m2n zs`f1VzZ>e}e9nMV{cl>cWfgA`TEww@G@Sfn>Gcb7Ne`_LeS^dw&PJ+6qJew>O~K+g z>0%=XfdzkumP47!(=~_uz#%yAw-RG)pAIGxL-m2x;{cti@vb%7_UrL&}lKjAdkzR^56*)wg;)y2hPyfZ69yNV& zdmT<1g0dIQY<5ZOFH?O%d*m-LuT8y2+9+XrU2-;6kc1qFEDE;O#VlfQ?tqW}SJ>zx zQgNZ$zLhyF-+5SQnee9)__Sfj26rUb?}iH28=&x-xX`!zPCTJuIK>WsUlo6?~&~ zv~YQvU~PZA&XUUdP+D}6zvCr^ETMt%Bka9QO(IoV@?5rXV%sAHHyARQtu4ZR+y4Ka@_@2Nq8Ad5^i4@?+5_>kN4 z1eJWo(Gu5T({=L4ATtGPJG?-H2Q{K?QEZK%)!}4f33ME>hpg~SHqLqZY#_6yeO8R9 zPA9<_fhn-ADe_SMFNH&1O)w9Bnpp$KsXm{Sm4DJFc;sk{^ z2s|yoHWa zncvVrR$$2{bZVCH^DJr4v$qKj)$M>VPcue_SP~^JzAIet85~J(6HbQYhZ>T{F9Br*{FD6?qTnt$H%KD=BceF;urkmxrlfg%Q6$!WK*3@DH z?Pw$XgsMWb2+grq1Bp9_;$fOW=Rm;l5^Z+MD@F#-r$Bke$-! zALPMmmVrI3r|aPiqd)js@?Rm6zXal^2quuX?yNnR9sa;a-Z;||JW8>+jU)xx$|01i zO;RU#xA9HPe>$*ddNdO(b6JU7%dS5geTLrtKm+4AtLn;a?uBBstBfayfUz*q8i3-- z@ppWUB`;Ga>UY*`&R^*hRy(g$DadWMZF>5;og;TXBWP}>eht6Lv`?tFrNU+&?D?Px zS7P^Up@!cV%IMfzN4~x?cVgC z5{eV4!M%w!^C^iUj4%V#LSnHk}^<8vGfw$vP@n`34-BVn<^98dD-5V$1F3NfL(` zOob58EJU<#jC|Vu`C(5pi)asqF+F+0xC9P03Y&NIn1}zO7$`Rwfn7Lc_>R>_AWT>& zpT=+a3~Tk83~?UO(Zqj~teSx3pA3wlvad-7c5YHrHc$;;I^V^JK`&!p163`_j(^}W zzP-ES%iSp-BN`T!J|a6li64PsDC`$&t6Y2Avm0{=VTt0A6<$vqTFM;x>bN72F$gTn z2HuPeTbZBZdmPpPXdnVEE;Jw#>=)WYuc_fNd=(l-`DIc(=`xI}%b`5bX)2uwWlCuJ zf>dbkx2vcsnm2pE+wWvQtij8#7>lDvD_K@@+7%<)cC)F??#ToT-K6( z!Tt_45+>-=4b@5#jglSukOhpZ!zNE#?NQ{>G!)_@d*u6 zI-&!s`!L<#3H;S05`yy!QI72RB*Db!3N3~5OvHKFLUz}jx^=CVE<|H;V{ftThh|%Z zHcYZ$V%*;kx&pFt9#ulos?cI(Xlo~$mDM`ydM0VS!~)jO`iBMg*{LZ+E&;zm2S`V+ zOqkDm-xu|`vCPE4s)QC4cY2#CGz^&J37)R6->!6K@V!y_MYn-Ns;4hQDVKrA6YS&1 zB)htv0nEhsy~=NidCdp5V4zVGI_D6a`GF)aG=%!czk0vx6;;70cf+-%kl$gv#8*4p z{ua14z)X*0Gy~Ip;N!-%`(sZ5~AI*4Q#U-?6N1ifP5nlgHgI##4+a`*? zC=zp2CyTLzL_6&H*8~M;Zhc4l^BgQ#LOe_%aeXk8XS7I(-4gz~_=w=z63;H3Ln6tW0Wr`THTX!$DvUr*hhS{jp}26CX`zGDCM%bD zSj4#s+C=r6Zxu)eq20p}kOHqJ~$ z@Rwcz|74DEyehXZ{%Rk-lPFC<1bvr{fAQ^(=BM^jD!uG8q0jGv@f|c4@nQ`ekb&iX zE6hwp%kSF)F#WI@1C2L9F;Drfgh^uY)M=BJRrM`|=c^m(lF-U8BgZ)E{%xnAhkU1ruI_Di^o{aKkScp1$NCrTm zfo&nO9(chbiAhcp+UXQDo$Rbx>2CRK*as5F=>JT#|7+$tAS}ku3g7BRlXMw6MtnLp zq;3NkEQ4rbL>x^jl5_D`cQ+5aYgR~u6HHGzhJIiK4lAVI{+e>IK&R=?!<^p!M+Xi@)~3>~-d_*aXer3(2;6mP*omrWFZHU{2K5Qp?%lq+b?SDn_cy~Us_2QZQ;C&BN=`i~HHtTs zj!1#!TOh)KuY`DkAAUvaE5Ca`>7=@5MN+kH^ep@tgV1##$&pu_4zZl@Bwk_8bvI9J z!lyRj)1%qD=6!Z;6b-Njq9%SPtW4=q(r%shfER2FSI4m|nsn6gy)JV0T>UVXAU)4^8&cBe z9~etIjdk(31P~?LQwqUzN*xCru_9;MwgUFYOZr_ta-E60D0mNXIASp1N4%c1WhT{B z#1~vBi1XRP1+)Cn`Za#}PUEU4!&>u(`q5bdKx1`ZpA}QaY0T~|mA7DAH9>WP_e#p^ z@b`lkr;0o?EF)qE+fjjSal7|L*uoQzXnOP$1spV`JMWa0JY;RR2p9erXYU;iXYl@i z>%Bxm?drXksL=&MB6=^;7mFpjMUW7pu2rK%T`kcG`R(WVeV+6C zeb0IRdj7i3-e+cZ?%jLlp1J0Fzb@OA)hem55!_{xSp2l>rtV+2K0?Cnbt;H_yfzhk zBA#rkupe*{V#*g?&-HtzCP(`umxNun0u6S!9S?=S#vT`no#3!o{GN`%vxK*M}j3lo`HxGeQRsb<`qPVnjEW!TTi-6b8Lf>A9 zy1|MQNJe}Ne*V_kqy43Kl0h+axl)u`H1m)DLAqa!%7{>y@99*iSVUAXWQTD;Se#qr zp~MR#xP-CfwF!P>_IHV0z^{&#!UYXmr2%itigmjMrL5zW=rT zTfR86$t1#4i}G$I+R4Ux){N`ZnH?Cw)vMQXb&w&2JT5udtmnHL#MfO~p$K09+H@tL2ia zCP?dKuedLNJ$D7lX9d2v+*Iw$Xjh~WpjW-<*~|Ckdy3a!@^e?3?f!V^ac~TMq#afn z%RS)vbHZWzm__k0DY@D1bHcGWZ43n+Sk*3}OIuoDlIFeH-~bJ*7fq6OsQ>pc=2vNC zXl2ZA+Y6P=QgxYZqm}IZKr`7*PxrP^4(d8Jnt6 z_G9r3?NyFxKV~*&`1c%tjlla-&JDn9A03TlM|g!fUe~#tHz)Yb6IQG@Vc9aO!I+um z{-uFm^?;*}gz{Tk;eddS@?&u5VuY@xH$GjTO`=8=hRi9VV}vf>>$WWPYNZ|%w=~kO zUSW6Rls`{G?S0=FdeyU;A4}JV>lQDjaiZ9JyW90g?uFMsesIEPx$_eq0y)ypI7*U- zv}RJHeRfz)AX%2Ph^>cS$a%hz9!Sp(=YNMZ9E$%|3fA=cg3T~N55o&A-HQV$iA}A> z&M7V?wf^DG^vw>}Y?8IE6cBTZ_jq}yZqfu}KJC#oKOJWT!tQnF3O;)gRh4d&61VhL zlS(qz^Z@Vb%>&i{^h;rn>HgBz-Gp!n;bvvoGW2NxAf@zm7b=3nzsEa3701*1Jke*B zNP`T=XCCu?VZZY;Sqqj}`^XNq7HPKua+Y>+eHJwYcN2G!ZbK#i@C4u3t@cHc!SgNp z5J$I&>jcoh<@@uHzMFp~sj{+AcR6x5D9DqMgTbV@w6e zrAj`ER_dcF-NgeFc(jWZq4Pa$^|eEs`HN;yNl}vZu}!P{-#lyLP~@BMI-Ju8+T-Kf z^vk0T(!7rO7Czr?gE*fT1c$m^HyrlEv!NNcZXQ2EO;1ipc`ggfsya{DZmnad3>YAG9>^P{4jk$ziQ=Vm~7JWm+$H*4fAL{vM$|Ak(cuCvesI zoLmgqJUqXP2zY<@1b^P=ZRT(>DTdSHrSoT>t+(D7Li&bv1Y@)eQ+VN`rcv?OFcybO zhVouiB7pMz0R${k0R!n_zTOoeGtmTt9UcY@;mJm?0L5_A)jD8yEVsl#8oW#MMt_grGj>oW1EdhTI zzM40kf8>_VYYB8YJ8v+d{u5V$+P7#`320ocx1L#VdgXHC+_i^!%AS?Q0h`w`ZpGkCI_OC=L^Owq*EcUUsRp zuLr(On7Vgj3HltV67@|Dl`lshm(uYDRBV=^&>rLkWQeo+*jHr!rsvDL`q(i@Eer2( z*=!7UB(@=l`cS`QK{`h=5K`M+7c_7u|LVg~xnZWvx1d4ZmA5C#Xv3*ESo6M63@~Ll#qs%n_+HeZ(r{xD{=V!dJ zuEIbxc$J$i!X9I+O0d z*vbN4_nak9uwd99bDtNeZ&=eAVgN=2nLie_(FT^AjEas!*IgO^&?_(ZvvgHjIvf3k zN4CD{sAT+XXu0Zm08mqgFK1rY4O3p)a%@{=CGGPx3{F$d>N=Lj+;E}CcKDQoUbL@9 zV{YEMnlBsM-20Ne)u9nukJoAVM%^y|-92lYld%z&Xkluww5omEWVi;qdUC|ve!fNR zIi@e++;OeO^#ZfX((yFn)j|(H@BB!3MY=AEwVE}Hm?3}TvD()A5(zHKu$0wt z(+`Bn9&cpLLh)KepsZS^M9!bs+rN+UxYXT%=H7c4L@F} zX^YlF!RCdXp?uWsgctuT)kvt9e+)?pZ!l!f4au;t$6%#XFC`V)-!L3N_Xyc&DAZ2} zmu@U4Z=iPwHg`4WE}#Jp(az7lFl3PeAl_ldRi4z=HiCdYGQj0rI|Hh2<1ttb3u@h2 zi<9XAe!Oz_7>ft7FB_1tX?;8<18UayRocI_8SqsHjcSj18CnRzAJ?-b*Xj}db^Gf+ zog`PysRj$EdC70KzeUYVyMZXyX>R^96MyHH4_vGy%|&UjM&7lP0oNDd=@(+GflxCh zdkkF9kG(#`YM=qGvuL2P%)d?u`S*uMuK%^S$U)W9%-|;(7c&5qHXt3#xVio2mjYGg zgk8TNk=4N4aNcJGXmJrN(QDWX0Jva3;UPe*6=R^?9by~i!YN)~( z>_Ntb@66!?x~Ncf)Y_MmlE-{vA4yTZ_%x_bj0DEaV@{1RGCp>1<4yDe&0jj`tq@>Z zBtTHoIv=~(EVzK>c&JMzW9(x>shmXH@l6`LcIs0aF<@sllf#@MQIM5SaJzZ ziHd}RIBhDSHh5!*V$Njd`RH@7tRsjOrNL=;O5&rYLU%+aypw=|5iM=Rg+jT6!y-m4 zE%gu?dmDx){nk*>cw5+3#Nt0yNd0JhxLMhDI9$4CrrJcINyHh_zdt?P{uggXCs`5B zd2#>A4pjar`9>P_)mwGd>IFK^#WZ9$>!Nva)mD!l>mbHMsDe~NMUq%yxS*v@>;={9 zX5WNvt&i}OZ?%6sSy2ng)6W65nyfKoE)s26s)b9+0)`4br~#pFz=NlJ7_=nSMf8#Y zV*VuOg9ZkUTDORygMy5I2B)zJmm%Yh4#fq$d6ga;a8Kz;shq#JZtzZAa@1LjR+{Jp z6adS+7)14>%%Ccije{KB@M)TcxSnLxd~^Jq{?h9n9_ea+N|-LJ>>p0 z7bqVU#zVCIp=vLUnh~fo03Jq&U@FZfx*_~p+aG#%CMX5b)QlH{xo(VbPTgFD4J%aI z@q3nNhfO)VyVE_fq-KDNiHIA&|Qi~=;~qLwcM;(0If&W-7U9Byqn*WAdVhwqjz zi^KXQ)9A^-w0H_udm)21pdyl6TZH|HIlsbo@Q#rY9X09sXUgpJyQ%*Nr%qu$~c> z<55h_DqbIKY?);#Rd1Q3k|0Cow%Tn~9?mNq)ci@tOGXfF%W2?!`r_I~i@9}Vwt8~w+|TRw9%au9ijhTKj!Sk;|MnrRYgu}4WkcpB zT#SbpjzjepLGz!-Qk7}IvF8f?{j)Qme=Uk_ zl1|jZtL|VV2b)R?1LUX2Vwx#BjSw~#@)}Uv1{=)>y7>I2gQ_T#&&3X{Qol_8!hw#F z750TRW==KqS3DW%df3BTMAfa#)R0RN7hGB)tP zG(~W5=bu9`Ry~~qH&1in2^Fg;^KU3%S~sA?zdyg<6n}I5Zl=ZrFh6veOTNX<0Po&= z^ES#}%C+3@IAylCMc`pILJ2~AQlI_;(3cM|v}QjXOfI(&vwg*x-ZGzAoUz+O-XwD_ zpl*^Z7S-b~9~%a#N%L~N`?0v1^wvra%joe}5!|zY+Ii~^fwAjw=l^LMY_WSb33-bq zR1u7+s0L(VU`Ammgk=xWYh)y~p3)9Ie9;87{>1c{AIo8)FZQq#={9UyehBmu9@LB6l3b7a1(V+EXYzbH7Fxfr9okleU ztI(P8nOM{PWuXO@!6b3>=KnW@>Hoqw{d2oZqZhiMJ5#F%O&z2D2@mPKX}sUz2i_}f zHQzg1QXl-NIPbqV0gGV_hA8{*rz6atpgG@m4czG7YTj8O{xKa19;R)kOx|PPZbI0* z#nAIO4CMu9+7`TO3bZa~ssO?&82RI!`BAf{3_J*Ww}XYG-wR1td=>UBHG~c3xAi6; zVhO9Xb>|quVsmWmRfn)lCR=;!AuL}9dy+W>4o|lQaSbhor`nqQUna@c@IRmakNI!O z|C;|+|BuPDh5V<@|6~69MgO1X|N5K%+ZSxT|F(%cl=q)bJQ-q%h_-z$lq7TadgyI~ z5iBi1082ZyRZ&rwh{Z5q_Ap7<$r3wE%&-!-q0XC5TLL+Ltb>bzr~OG&LobX8DUx)4 z?l6SoX#{H&6C(0Xwha$Amx#2W$6)G`&fk2rEetpPj}IQ!(kO`frrcAU?EIT1?2>Yi-bBQ%?Oy@0U6 zMtM3Cwm`e&cBN<{U+j#t+N;DbOwufpa5;-~l+q|{KI<+M7 z{-+5T0>6RV%43qS3YZ~pybuTfxg>SMPx}pW_s&D`?j$U&Yp6Xesr6cV2&tTe1#}I4 z{huZ)3Cmj>n*5*UzmIC0Ej97HxWM#bQt*uIVL{(s<2y1sSKPyZcG;-PU^4aJ@CLw4LF zNrqP=hxJvIlW=7gpSs&)y3yB3(Jd6`Sk8wxiFvcD@rdW&ISF=# z7b^3t)y4Lh{^GmWz7C*(8RM442h1iU4d}aAG#)WKFh5A~cRaT2hq>=YJeqm+&5#}c zDzI>%%?Aw}Q;{Rv<<|h6*J;mA$&WL20Gvx-Z&9pKzqANOa2>pJu!DcRsXXVYzv-`P z5vW(`@e?ZZ7%5r?x{0`BoJVzt-o1rtcOLhw+xdp0a(*xDl9IJ0{G`~Q)-vbAo_{Mj zjBk7Y#=mp%&h^VuFjo+gB}Ryw_Rv#GPbmwnE1EitAttJZ+c^9h8+i>%hL_7-r210E z;Wr3!cx8!?*58``lp?zyar?7DPe(Kd2TJ8(y3#-PEwbElAIKM{elW0Ow0|}h^#LR_ zf;fc}1q~?vUW}8C=NzUkQwn|T1R{Z`m=*`8t_>0)B+luKWKJRdrHOp@sIvoNoY8(E zzq^M-m~Kn%0L<9mpG5_B6Ega^_Vyu(>>`(xrpY}=Fo*E*{?sT*W8& zp9UIghvq{rzUrv{#ypYPW0S3vv@5|e$uCBP0r0uuK^>rWPKz3MOsFkpMs0h+LW#7F^91N3XO~bNwE+~YMA)=`eBotpm~9Ta<(!P`GezGVj0>#d>VE3uwi>BqpYK;R zec3qGc*aFO762^2<8NRFjZj9DXBpZ3Q9ZPBRXt*n6;#VSm!xD2>}ClpFurQSJUCly z^mXObJ|g|QSWc;L^Nrsi4FJ>u`hTEHBzk~!?1rdNsrVZLdHrfM_R;=yK4=!rZr0@pyERVE)^2++tHv;UX%k5}P=)rTjAT?aN4w zj~vPHvVzWoP(P)=)Cx?K+AaOb6M?Dr@b1XqpuXK!%+|nE%9IyPR5rvvUVLz$(J-;$uouvNrA20*9^k^I^cDQwsR+-lU?7Kab@M>H@a_ErL&ECe zD)1FS0?Vex3K9s~+y3SyC`-}AF2f(_F66J@@rS*@TT=q2=dzS^;~TY8!u z;0K0}okvgckG&KdhNGpF(N2Tg{RskXEGX4>d~lS5Pz?DB)7ebg`N9jsgqV8hoV8(Y z$%nnkZDby~keg+@aDH<0=K+0ZD>G+-hlqnlo*~5OvhO_KF6}9iq-f?Fg|M5tpOhHM zQ$Bfu1WuHLcF;?0?dY*HRyGfHvF#S{>ibO=2V?Z!i@+a)yJ4BahFdwNT}c?C`Z;`v zN1lLHoZU=`wm19Z~ka~8@MO6yNrudrB_5{3qSs|~OD zfTjoNzO#JjCJm3mi$-;|pl1E5N1dSD0^}g4AALHTyXAQUDTzWC3rXC#J5WH|pR&R% z9kNB5@_NS#ZuA4=_inMhuIk!4Z5BEB{yZw=tI)Z#2?;udcm{&{cX&BJYAKCY%Dy`s zLTf)csI}#a7Jg+^&;K27cOoe+)JrJ08$i9?wEEJ`Dw1scyD-VRWK-{aF22Qr*P2{T zmh21Uwj(D%v;tBI@p?<_C`hC`OA{qH*ad3+CGa{>cS*s552hEVEY7sgJ_d9Ltq4^= zo!5?icNb}-hwtZJTgw@`h@yVzE%?j0X?i(FZD2V{w7~(G?`3ZuSnr|Tom-A?(NUd; zdM1uPVHzqilY9|NmL2nB_eCnOg=LX}D+*$&T3kxJFLsm!(!L;m=j~m={B-eMyt9lm z^`@7yjFbzbqsQ?4-WQCXu3Ycam<@TH1M-TCJMwQVW+OzdxAkqXpF=LM2yq?DzmAl? z?}qsQi3+IXm8+L*7F&9t6W-*@S6OPC+68?c;66IgpfRL=wJ++9vBra&#RNECCG&aj0JADFSc$K!vb<1 zrVTnqJboU&@l^u%fHmgaojmWC++xF8*dx5ErLiyicgNr@Mv}tG(4@AqejeO(cC1 zaGs!{j6kQ|7I8V0C^FrpF=nWd+IlitMN(`y9wGbKTjZiOe#oz+P%y|@!nc~h76G>- zsnZMP6+YLROsspn3~Ygu&7TwK)M?El*3M5{lF18tfPU>pr^SEBBC67NA?P)|X=ZQ=_0Qeb1Wr_Vtsy6K>e~6!tcSll=e*m_)36z~L zIE_(2>kzk+IsI*_ggK4jU2`{BQ2d@Ybd7cRlyu9end0O4snlI7g|7E2eH%EsURwAf zR`HP#=()O2oQEoRd-pq?aN)_PKjuDz_&?z@gh;%%<&LR`fyptXg{%-CCNj5rbP72F zX~7I~E_KFXy6?Zo`#Z7En8Sj1(TPZ z$yxHPIRKr(bt3hrjf7pb0uD##y`qS3E1FC4DwLs?=mM8NTWMHe#$ z1Ax$O-#E_4=4XFDbAQy0Et>RLh=Y&BnUJsG3Lv0%@B>0c0bgtawP%jQE(&)jmx3=l zbz4)&x1q1aiGb}-@VJA#pe{w&B@i^gxry1xQ#@7qu~)D(k(~;u7=12%h~{XQWKyTU zGb!qIKRs$PmB%9UCbZCT^0~0Z9?`>+xG=?#Li*Z1Am(*wi!xot0Ur{El&W(llUZ?wus#P^JX>Fw?e(IBRe0>Nij;5*)8<)2 z{hd2*v)VVJMWb%|X^LBM;i!SsdIR0~ExC^qDVlJ7X}F*DLCa@(5wgb$>(s69GJ-Fh zox_i%VZ-|ZCehAf+$+L*-z>{~-s8U1qpFvvKVL3w?%|RbghWzQyfk? z<(NPS)S1%7pk0^b7$|&>j2S>mTWJwd$%~CuweK`^@HWt$I zWB;iO0S>R7RP{C_RON5d4K6tIxgJcjk^NiMn$3}{r;oWFIb8m$*8GNRN%VI`j~_7z zO;84_z5@S#4L(`hel-Dr(Nsf%H0E<0VaqUdb1Jec%P377hXj3-f(Z(SJGf7e9J>QT}3|c1mXYNjkIz9_JIJ)GGATa^}_? zyx%cNSgpN#{3klm5+wE-it(X^=s9OH(|E*vz;&wjY04D#G5#l0juYsQ^cI+qaEqNT z_Ye_i6+3vqu|X(I9C!waGU2PvlJPSV`Un;m5$Tvx^Uoi~pt2igY2D*}$^*Xd!xzbA zL}a2q-1oZ!KE6(b#1$x3MTmoEh+vr?+`#To_;A+VqspH8mO>*3?JkL`dS&z^O!Vk$ zk@{Gvif9YJ3Ov|owOT}J7-B)5&#Vc_1xPxs21oP$oZ)?GLL)Kn=@%cvRx&P$xSMg#kX|*W3g= zef$$)ovmxkp6bF5vG-7s+x3~RV;0qEZ8Q)pe_cG zWkl4V?XE`4fLhL=3fh6RZB%dsLGPX7p}F{-2_URHNN~1594b7BS6q3hF_VfAYcBi^ zp5YNcaE^z}I58YC;PyLznZBvCDxox2@MSK}6tofAaJg0WCLjh3dZ_1LQ={^9mqw}j zw=ZXZ))qas9e!t-<`NEC$qYsS0;OT%Y*o0T(>ei-0Qj2d$&`ovLPi^z3Un4AQ@x*; zW$2>vq&BqmeZ|nZ&y|G;dQH&8|Iu3xHy%cId{ zBzXOu*!UP!QE09QjKu9AM@z>z6=>&K=a*~FfGvn%((5Z~-^iH&ZNh_T?>5R;q-ZBy zXY^fuzk7G_T2%l50_EVdSuC2oq|2sROp4C&FcNi1`=^`n?(UqlDe@`fJ6dO?+AHlu zPZ}u^Q3HKQVn#2|-Ms2xLub^Jlx|9T?P>Um6D`fn2aazi=GRiTbMPPH81m!t!R^_N zL7b}-LREGgeYWY1qcsvCzAwt>cP9i|$xEuyrc8SM=iZwUYNfntZ-XPD;d!P{{OA3> zGNvLPIdh}0_+C8C+&g3dnC53%KB+z7fZ8z$U=k{{Bgc1N2;7rVi3N^c4RA<1Y65FI zZ=V@u`eMk~qhzbkuP&$M31{ugBTnk%I#NdjO#>Uh&ciJRQbrN?U%QM#M?Hj6l8c_? zdwO6|jIT^D>!uUw+MmSly{wQ6efZiy*dI8zuXotcH$eJIg_;JaW#@X7U*a@EsDxKZ ze4!nl*C(k3KWzUyxiJ`fnm$Zfqxst==Nmtx#^t9>;^z99PKwjR(2)7+`GU=AsEnvR zlt+aiWz+S7;j@%C@7x(qFip{$kBqjecxu{ISN-109Y=ML!l{}k>-Y#U!a;B4sDLvW zc;HP!5%qpR%1EzH-f%_-^Z^o!=d|{)?hBUYMBq@U`|F<`BVr z?`5a$Y6$ePtofTzdl;-s{_n)mdVECt+j`pLjpEb?!a@xHK+wyyL(XAIoa}Wp&EtLHdh4AlM^M-@ znN&1cg7oa-BFDdroE8f~Dxu7K$P}jn62=-MEYEkp@G?(R(n6&iZZOfx7hM`u=hY4H zYGC(Csb+7blZV4))IzVMyC1#2p>nz}_!h{vHQ-F~@?C#f6{!Ti?tFxT2$lVb*Q1b2 zCXVKkzC+^pirGnIghUxbs!sdqh9z~dAX(RY*Vd~@YfWkyP*+4u2#GF}yIxWfoY~)r zZ3-@gdZY21)!e4K3%fVfNN$%7NKV^c|0mdbmu~5;HT#x7-^0rCyWN`CyET3AOMv&} zJ$l>#GrNBtleGn698bQk4+fR|(;w`eoc#HL7uB2G-d))7uh;NoK*LAO%fVI_&hbdn z<)YAf?Op%#-b9zz4GMK5N5Yn36lX0+L{`S$&!2mEB`&BPW4BGk_W=|FpD$8&12`~5mq5q-mNh#BVN?ioz(jp5TTupp!k>YUwtC%lMrDgVh% zc$-eB_C5~h5F_|?R3}UwN*Xtn`-bnuhqbD(l#rTKUQ!#|27~m@iG+0!N7~M&4}Su* z`XlsB?Gufa5Bs8Im?>_FH*3gOTVR%cIu4x&@A?W@mmlNZQ;5goAmdK#q(W)wMdj1K+{| z9pg|q;Moduu>w+J)&)^i6iWe&(zc}{p$`Wi+Xr?(5{LvY$g-yjTxq1@;ae<{{y!dV z31EUOE}9DZJA%>K{$vB6Ctr6?BEVH2G2*A=ncq?dPjzuJ7isvd7U>I-5ebikM<%8u zcVo4S&uOh9|IAZG@Un;CA+y$KaL6a}cW8=v!H>a_4q!J!VZIW*@7h=RsfK<7Kj?a| z-RG(Lq7)k^(t^PpGxQ?L&IXfN=g`dmIKS7@spVm!^$s$ef&MuwIBZ-J_jzn5;7^1G zOeR9QX_M1$XG;sA=Pnv(e3=K?!!denzpKs^kcyli&FB+*+XuasGInU$8J7Wg9ux4Q zADu8!kFT!KfS$tRwkSmn4b&s4vcBo1*f)YjERcSod|F&$`LJS*P$egkSOUbiruCc>W@kRmBIE4@A>Z8J-`axctMl+E=K0{vaG2sN z*)}eXn_q0WPysbuNgNAKE$=G)FO$rkzACvZ)0Ma8|7?1sFq>o&7snGwBCGaXm=C}> zNz}d#ZQytfx2+8m+1CmgmjX4xv8Gs{QWp_Qi32a7rJ75aUD2|Q z7&Z~+uq#d5EEP|H9Orrh^Rok|nObomt!+Qiff!r!eU;#ZKXI$S)-e8P7L({O4L|cjtaFHM0-leF6tSg5wq&F)vq6+#OTV2MDSYnM?$f=;zg0f+r{Z*|Gr&EcYoI#jq_ZagD1`PNdJa3<(@3$Tx>-q(L@du zndR+0=#Lnk&I82DYwMF6#);*c$~`#NomRTlqavo3orkX>{<3%2br_CuS80iR+j@YJ z^)(jH8zL$B%j?I&2#@PdH1jec0i=(m`8)@|IL5*Wc}Wx|*uR5h&9zd#-OiR*ZWcim zj`)h)1)n_krs|*0w5r#`%(Ed!t2O^~LeLp(l*w)(nsnUkR)+C|!yaJgT2dsuIPaw! zcTwSosrzx>5fGpH>q@`O@<9sWSNlH$zUulB6AlT*i_mT&o>^Fc8iHKsnCfbVRPg%F z2#wIoFYP*;T6Edmsb%*rt{tW1e?P27?-W1_2lD1`$U-Zq$q_MWm^l3IQ>ud#g-7{% z;MoL{14Yyq6=dUzVREqoT$@mdLV4X0S}*M$%@}ygz2cre4*xdRDLQ6$Sf1#|Nr)na z8F;d*<71b6j4a+ElX)m>4{n_Nixcp#C275MX)&9zL)jn*-PK<*UNK#rhq*KL?uwu04Z(X9yETFFHQ54Br@2S46bwb;0St)LAZF;5(ef z!!~}M^B=sm?a;w2$tXQxy8$u9Skv>(=R*Tj1gz76g@=qup9FLf9!1%=clQB(c);>k ztjxA>(%T|{kGQES6L^z^eadAKr_FeqU@^=Lm7>U&P~mmhVoi!sk_@wR-6X+MwLpIh za~?ZFlYdnokRrO86{>xL*<^#DZkzr@CYxH&71AxdNhL`UYu48y!7n@qGB*+SOW>7% zzS)fDd#{zhBW+)BU>+E!dxPgYe$)PZN<%-i@HznWtbsDQ%2r(GHOR>C3J=}6${5_F z#!lszML72%l(YKO0fPI|^sU%+O9{!JMN$~4|FeAm@m`mGU%r8D8aIOd$K0T+mqR$> z^yaO@)&RE1q%V&h7tQqa^U>1KAf5-f>yMg)y{-W;TeGXw;?&_iH41X-r}V}B!Dv>E%{2FPmtlnlB|l}J zrahM;csb|s*5^7o9=?LRnniZ;2QudCHIzcI$p~xbmy)z4Rnt9S@(tAafo$+`i;t68 zXhsM5OfNwL9zI3mLTVmBRH#NWK>bKKKL(rylBv)C$nKUom@$NbW?c}OT$tC!#rQWE zOM}Fp8H&3l);w`K?s3@C%IZRl*S#{D*dn6ndJdq;w6Z(BFi&gmPHczk;oCj2b!mNL z3$PC_a-qI8lRkWz^qN!H^aHwpd!(PSxe`a0)a>xe-Q#Be%UMVK1zc?Gu8ypgIxfJ| zRZs3C9z#j=%z)q%GQWn!*70vwhr)F)9-Mq6B1&!)G%847K-x~j1IFbId3Lafm}z>; zz-qm-gd+Su@rwh21WFG?GAp}x0zT_u4|tU1=AM-lsBXLjTx9#aje&}Vu^t>Vp~B4U z%-@q)isOx~I3W~2i*ajz^&z1;LiXSmX1266kp|e!z`xfX)DEY(cCR6C zbkE(Or6&_{6|7&Sw;xfEJ&5>Fzx^Y1QEBBEly9cQd#>Aon@V8?+UQ}F%{3{E5qp13 z%PJN~nZxHSHovpuZgG|S$wFp8kFID=9T?Oy<%;efh(6{`oKafXrvWP9!RKU}r+1qI zGj5{?Sz6=aWvq@1w0GsK-QvSA#s06yn58k1CYde&okOzCoh` z<_mu8XsvILfqY6EZPOBG{Mt1^nOzD~>0B0!mO)4#`~$^LD+T&)WlVB84dA9CgOpCX z{Wymed?9~{nt^er*MPYWSoWYp%hFMh9{y!5GBq(W!7@!_>{Ow`qlfC?_bx+-vfvMQ z>*TxjSp|I@SPl~RkX{p5b^PW@+>wdM>$=&VMaEf`sh(l|G9vV!oR&9v;ye9MRdF>4 z8C)-0sVvqA#uX~M`Bjefv-y9d`!4#EzzoZLYf`vXs$B3sSE3XN{LxY}dPtAFaoGVo8IkO)&dG+@5Pfrqg~RgrHbUX>Gu#G1 zQKSB1Fngrg^P%J`2bnPgS$9gw3PB&3a+~sJ7b5u$Z*STb@R6^--DT zDkVYQ45>x_=mfFOKzw;q-6ovH)Tnm#;lj}$>8&H6jJd50qV`vK1|37x3PWRnpJ9De zU%QT_E?}z2)WR4!+8)=5PgpkfK(fkx_?ZZ0>8C#f9(dX%79}qsUAzeuqlv(kHuIUA zOA0IyY0G+wBXuOkHmUv&%QL$A84 zpKPwbejx&rIEc*7*x_v~L^ku`h(2Gb{4@0NB90znknn71nZW9-`bE8!?&g6@h(geg zz9w?pn}hbSc@!X;(pg6H7ujv}skXw+a;VN<-v)0XizpSx&3jqSdC=B;5gyji`Hy%D zJnq(^Rv;D=rKf>DO)WRm>oDF4I~Wu+xvG!Mlqw0n)cdN_{)>VP7?4Z)7(oLpF&)J7 z&oyo#R${zvI1-ii!Z{RD3ArmEiyq&OMYIB);%4%M)$jgxTdK~D5rhZzHS)m49&pKD z8g|eg#@4hBD#H0nmcjzz?@p3t76e23pY;SROdn^YjYysCiMoGvt1#?$Ok#941-%{U zl~*CCEF;yIwE$j3eH;(`+*k-%<9i@TGH^!*3Ag5<5Y-uNH2EvK z8P97;24&s-VY2!T|6vk*kr)T?fWiH)Hkxr5-Rv}YA!9-M16 z73tS%>`n|4LF_~^Qv-0a@bv+y>kj<7^xi|@xfvhRTy25HitHA&_7@>&En$hk@p zWub`yL16TXT-E7sY4SSnCO$g@s%sSn#MVgMo?G`Vqp~jd`)UlnwhWxq}D=+6!LXLK$3un~h*(bnjqcRzz0H6hrsdmQ2<2P(c1nwdHL0xPp3e)?Br~Q2A>FowD?>k4B6x-#kRcZRspH{;lH8qXn zYHycPYsw>T_#mx&19ZJA`fx2PFuQb_zu1GS>TqWVOQBzZuu4UQ^3&I|u-0w|D4@Em zz}3Ct;!beN z=XhPS1G48I@~!YVnv`~|e5a)(jnF&;k7?b5n&8=b<~#Dvh6#^=?|*}lBKv2jCUqR{ z<)bm(GH7L5T&KK9$9%;oY#pN4vy#y4{`@n28d~2fbwjW zV_iH$)v17jP-rt0y80_jSs#p+ffulNGgfv3DNnf0UjCvC6fS z9hrHeaG*8x`^S3N!umG*8D1piOpG6X?sr<@UtrR_R+m|CtrRa)o|ta(K&qZB2k}mG z`sv=<**n8e-<-;YVd6HIuDcZlYj`{(Z z7-nkS`H@5gT4^YkeflJ&S6`67TA7Bnar`>nJy1#ZK$Ixix{oCON2U<Gx%m5dRg<7$K}3xM=Kb}uqjCoJ5|Bg2*2wP<1H3EnKFmctpeKQUBS=$ zO@3$N5C0!X^qBC-?)#e>~f2 z6Eqd3d)^zsQI2IxNjH{_jlWlQUG2<4PSa0wbV+4Alc}<*b+5s5?>L@a>t5)oT%?p$ z!q)|fe~Nm6?{v@glr^rkr8vR#+skUUR|{4~#cExiKk3J@$z|0KT(O(5%nZhM{17$x zHGI*D9aQGwnIOUytHFOvB!efv*5F#Q(iMSYDBiqcLxSQco}`7zinxb4fpQAmK(w<3 z6Ysg|bWCl%m&1w-&K?@Rf_z?6??+~Z5X{3H-nTh|*s1sfwzWchJQIR$<{gF zk+xW|-Wh5}Nj(=O7hXQ(i$C{KU{Ws#aQ>`dFzrj%#gG*(w5qY&_A!}7tfZ4_`=c&3 zfY0u6JfRc|D02iyD2QCXFzYFwRs>`tDwe?%>Y3>atM?VpoPFrJ!b?22m6Zjk>_C!t zZ<~U-gnxmgh5DSpM?M0tq18RifS}6b68`1U(u2Rj`p$$*Z8b-*DI7qv#yolChdzNK z`CnOcr81SRcLREe)^Cau`No7^qNF1Cf#=XZKTipy?OHS4hd{zOIpwW9hL&72GE$2& zO>|d?rDa*oC7NSb;k|vyHzUyQg4Y52@K#z6Ii`sln^@(ICTh_hkuf1(!)Pz{898kd z%d#*Rx)Sn{a&WsaO2i4m4!po;Y}+2;tTz4C4#zPUAt<(>Z5(_OClqk_yTln65dC_@ zFLq@JnMFX}uioT}o;5a~-hM@H(c+Tga4BQI<|O{%8Gz{fZWqAS{ufn~lIp^R6n8gcdpHSRZwCw>Jcu)0T)&#U z1XGYOQC!GB{`aLs^n>32BJC}s+UlaNQQU(Tw^H2Q-HX#=L7U(~i@UqKJ4Ffv2u`7B z3beR}0EGgjKp{|C3KUx4=DF{C?-<|j?^iN%_Bm%{tiAU+YtA+23Xpkm5-GRZKaOKI zgb;`2`wEU$f~P+I{MgS>sBND}ozyQ)!tkme!dGPGoN#pZ)PuE~T^|hjBYA`mbJk}R z^`&xOawlfk!#X{RPMJGdl1YYOUQ=6P4HVAn6|8s#3JH)v3c+AzY_wQmMbg-K)dXK; z3Gx{xKhjGQ0k!YFHKy4t8cot=I~ABRinv~{L}(A@Kvs!Oaz6l;Jz4f zEPnQeiEShK&(3((8Hu^Rz+|klc*JB!SP{DRzV_&rz+Cps*#%-UKh$H(yeZB|1D2LY zntte(NJl0u#!@ZBO7cM|*U5X-|EN*TdBxT*+hi?~b;v>3G?^jpxwE}hCs&Qv z@6a+M`2)UTKKS``X#<6@MVqi~QwZ=kcC26kw+giM_lIs2A+n-k9=kP(53#VYu!X)1 zfT6Ggafy9*YN#FSX){=vF4bEwW;b-FP$x@Qm`kV0PXS#V{cAqfP0=_fh_Vc8ao)b< z^4ajjCqNFg3dR2`sz|uz16X}7N=1EwrfrHKsQ5%4oR2`4Si(JGF8Xdz6CJsyFyaFfxMcG*+ zM9)aKcd4!`RK((zRGOm-GCi#76lEIB;s?{t;N1`d2?9_ML+{_;`%u$IKIWW418bRv z2_;l?MDYr*s|_;=7E}j`Lel+H^a) z#aPG!+1aoiIn4u?p!cS~LD~3|vzoVxD~a8kWPw5+u{yL|VlS^wMF-0^XnGAj&cj;95e!E1)@fy2iDM-V^Xz&*v=uvTvOaSx#!M0D z7mKQ{mYmc+OcKT+-k|Ii7Hf?$TOzg>yr*6?b?HJ-^E~VK!q`50F%c&?H=`)>L#v<$ zQj_won=!bQ_+fPD(~zVxUpxTrWjOFS{z#=}z|L6x zAKM!*I9SJK6^^yyY5zQp*-|#9epvOUhs1i+`Bmk9HhMtpc2#a3X>TP&-D<&8S}JAZ zyMi;a0}^B29NwDjV$I^~Y4wdjp3HoynFI5l##J_U3B#rFMaVS<;`PUF6@If}^VE8! ze5X$NHB>LGa4Q%_N5y0%(MkyV-K>iI^&Ead3aKBkAg)j;u{ZH}yFLM8ET(ZaQYn+G zTy#wnQ>O2u4_=spjY& zp6VAK(pAlW$35APy z;ttj~(i@S@_p30N1Im=j);;5}6_e#fH%(sh&zwvy;C&0j7`ncVWlIax)sg)2^cNQD zlM!USj!(?r1vyaB-0f(;S*z4Ah(Uuk6$}c$qyo2JE(mV3yMb`q@B(h%nX3*dt+oe9 zqqw?{wrk`I3wvrpEE7^^zK9$zXSM6B?KE`8cluy@e|g*1tYEinTY1<%b?HSbH-1~2 zxWPN;E-GMEK+}4$CmB5y5Tf;@=iWYvQS-?eFXp<5>GWusEy(&8_VBHXbG-p>=@mV5 z5yf^-Z0MU>r6aT&@NJ|{Agp2;o)9cjmq;@gD&y9*te*Zd;pTZlDboW=hjhk3=OJ|S ziGei7mVK0IzYM>BAjpixt|6KD#|Adj|5Dh93A}<0YQB;fKwj!^>gxuued}Br?EO`A z5KRd5rPEDn<#~cr2S6b&g1)!D)58iyc4T0u_Gta&+DMm2dN=7P#35&f&n#dBL@8M_ z75)>fx(06E4S3J9eE6F%>XG)BmSn2wd3ER6S%Tn9V117}F8|sk`Cgzz@p;??QSr~% z(Y9YgPQZV%9DiJBa;X6Jy^=~tMjd8wmW89Qw8*P(xJR7IKi?gug#=$ysruwRcgkv( zEeOF^S4Rr^_*)gx%$_`_R#c;%Yx3fRyV*Ri1s~%#>FS!y-&VstP6&cmxDzejbiE;d z?M1)3HaP#dnlzs2!Yb>QS)q5;T6jqZzvUJWm5|!k16xeXTnUYdiD{?A zY$$jmA#T%Tk9-4nz*k1Nzuf9OvDRtp3nLPaD*tXjkXdx1Pqyh@oTSGuF4=RT!BTll zRMvocNqL}))BenNnD8H+CycJ&H-#JL(wt4ajjRhO28LXMKDYcSup{N9>m4&#uCEmS zW3SP24>93R(f|<8yKvja&&@ayJx*nR-3w^cqAW7;TaD4s`p(ExvktKgYE2U=1$8U#QZ7F8^8HSF<(@;fjrnNN#MfAm8eUntz$^%Q z#WTx*X5%w4n)k;JNuoCKrL+#=d50ZsOQ$vLF87YI2+hlVb7v$+W(xe<*cLP5`}p8x zhCs))?T58Ti^79Xc|vKm-0(z|$?=0h{78<*=qar_%Br{EuQSr3fCZy#Z!CrIrPl?= z?Vn~b$*TS(>0e|46~YU`TBUS&s;n4kU)Oh5w#BR6Gj+uA7yQQ6eff&;;T?Vvz0Zg^ z$g*PjOsc|coGSe#@2k4?OR2UeQBT`VCyRI?QitG#CJYO{J>s>qg{HK=6(iVg>c>m- z6tCrarAxTx3!S2<)?X{x^U*s$`1O#o z_s5EIyj)Cy;iDazwP%6)pWL+k2{Hzk4*#(*rs(~nZA@q`cQp0CWc_c76QidAqf8a$ z|3oAWE;B>ly!!Eng%)?`>}2tvlN@2JRM2~?g6!*)*2-}6wR{q&8%7;e_eWN8v-=~_ zqa7xr%T-f5HEk4gr?$Mq)+fy@bj@#Dye8d#w^x|32T4$2BG^Sq(&Z<8DIx|C4d>@v zRW{lDQ-olp_b#?@F!b87edVf_K&xBFGtwNax|1~1eP>cBliOWz3kWYE_utCYmZ$9_C_+BKEe0$?>_E|6|in^QiMM-R1 zcg^EFRjwI^Q>mC(V&=+I9YOciQAz>E5<97kt9TvZUf^^OETai>h@+a}=fc1p*$TcV z@OjfHL1QN1Wr)^gG1lAiVRGcS*_stMRx2FY6K~-}Ad{-ypDUVnAo<;T=Ab`0YyveI zPV@cDI(%DA}Djcmpey|v~;}<}^sK-Jv9_zrWwF@?nRp+;w@p^T$ z_{~;^l>yf=^`$T3WhJq&lm7mU*P}(FD(39?dUKwgm5JN`5bZ!J@&>RQ?BEAC$l9Ol7tHAFsWisyYg}(n*_P2pLq^E zST(lEKrOO^>IfxGG)?C@*I%8jejA-%3e_$(?kdo56cX#vvFPvl3lr~th~ZlF5Hu-q z_wZb|u@|<9zN#$5Ce`ObP?v+ImUD_t4yzU_y#u`rwR0yrYjr}ocduWfcTQQQ6~zOzc3-sNQFTgmG^ zv+FjpDd9*A6q8e(+&zm>Rs#F!C<<)0L zDZ<+b1kxgu!$ZM*S^FVHhLcV;#fGK4=3DD>Tau@~A0b~v5b)hlhztElHjo(@)f6cx zKzsNg=4<$CzPCzp9YUn{{$^YY8vmEgc4bqpfm@r}0rztc?6XGy$HTAeo6L}{lfLr_ zzs{-=H0kC%VeSCJP6!y07p}N5Q3#_P{%vW!>IuvCm-O44Xy1Yddt)Jk{N@M43KIe> zF>h$h;{!0R9!{^b^z^pl@EKL>;VVQ6h{u@KA7!Aj(YDuFe`dlad+73p7-oW2(LCYv zLI1gOEZRRS12?Ie^gBWC?+H%#gv`kk?pdD<2V3gzY-WA?@Pkx~YihJO=0#1-P&o_A z7eIpmPyBimu#*-na`SspF^+t{7^tk|5k!7oK{i9;2vRhMg8rjFSkIXo_N_)F)QMqH zznj32bvPb07UBT2S`j{9u2q&;h2z%GjSqjHqAi@Rl5BnTOPj}ieWZ@O$kRPlynktP z=lKsI=)!=9Rr@X>3LpN^^9!P^u-WkQM}E8X8z-dGN~yF7l8oo9o!j&CqvcAZOvD;B zG_?@CMF>5{KQzF(eggpJAWCntRwlc_aJiiZF&JCRRoq9~s?l*wGATzV8vwCt48sP~ zsT}Z_{=v1=n3Yus>IdYIdc1>8(%U;<0UsUI!)L?JAsaKjXQ(0)$phjNJwP8UuNWtEk@zj!UWX$5j;u;9aXHW_*`IT3Y3OoMpV0E2>yB zfJHq%%M6T{euZ|C3mJRw72{+@MC7d`1fS=$_2L?dmlRGBd?s}+u}f44XfX83)}W!f zZKWO30OrwM1pSlS9J%;N)b;Db+t4N#imxyf&JS}+OASg38&-m}a&Lu<({ZiCEG+oW zBtLkL&_|NzyTcBd1S*V&P&gZ{RG9U)HUHGP1U_0{!n<;tnLJc*cw@*3|^9w_s$))k)VvElb2q`354F!2{5RDN@-y=NDppc&RzGuC5xG9WS+3 zWvtr7hH}goNuUn#cFI^B_`uqo?+I>HFD0kx(U=LDGJw6X={ul9F}2eBOhcu|wOqGr z)vG4HQlc0uJEKFzQBQ&huXU|LA8`_a~!LVB)efuP+Ty%+{$p za$qj;DQ-JWoJI7zr}zk$2o{e)jKTQ3L$8={no|XVsW?vaF8wCRmnwIpCUCu5bonuS zGpHeg1-g>>CUWru_))xc`9T8tXcN*;1tbJzypQf$9B+%$w1S6Rb$Xdu9 z9d1R7_&%+H)H)@EMoEr-pitXXwpbjNhs{xeW3JV`BQgYYUa6m=UpZpdy5}fcQ~GA0 zLMVV9VQjfpW>zgxw_Za88K}N_eI`ybt0E3}Gh`)H^&2th%dE+;U$^Tf?n^TB=3BgX zH&@#sT(Z4;Mz}B@DE#h0-+ZC-fq?I@hXNV&%18qjIC98U$tQL;6)y#fhZPa7wfh^sNA#1yBq}As3Pun_Of}1K~ z+M-7qLMvL@+kNOO^}nx7y;+1C04lmOZ@iZfoMvbv3h)qw_}{0WsO^T4FDml*f4}(i zB!{LQbB`KE)Ba`$sZ#Qs@B?j;eLBGY#6q>JBG^L)TdQi}bktkt7i|Xx=uak+ZRG8` z8SLfHtb&@0IOpEbs@>`SHT4ww9gE65Y93v-kpe^K zQ`9{z6BQ*cMP&~6p>thw{g@r5hb!G5rscWs$Ht^P9|9UdG{Lr@rjJKD zDr>%fiU0dj>#y1UGQ}t#N2b7ZpGs4Fin5x&=>zw)z%y8+h}*xAXx3D@%ZqW69#h0h z5Bh1U%NY@a1BCOVtAvRdf%?igW=U;MI!@swj=-jPVN>=+-Swy@9N_m~?Q2t%Q2(D6 zr>ttW$z96{|2bR);F%8`5B?^r(E`;I51TxayJ7HG{M-J|)du+eLsfMYK>@fvFEaIk z6EX5ge$rmq`1k{DX|vY;f9GiPID&Z0sauJReOSxZnnV9Mk{F;_*`hW}$`^9*ffL+u(x)Bb@dclwW1KXp(kI{hyM=!&sqO_L3*8u|LzQ}i>-P} z2vL2xlvSkRpHU~r!bNxxsw1hWLOFhw>o)L;a*RmFY+D$u2dZm6FVcXip>+y+&wy-A z&4Zkn&>YkC?OY7R^X5}89SnDlwSYb};GBChVDa+4g##^jsJpY!X-3)UpanXn8$~CgnNIhU{Ku^y#5@9v!nCfu?Hq+!H%qw335kZCDo#b?G)o{m*}Y-C7sQ@{DlbO$UuEQNq!84UOkWJpE5fp+m5) z*Zdtbm%OdWbOoD(%|@`PR{Oa<`Gn^4D+LX#R35YxLN_*tqu|k4M03&j zY>uXU;oNva^b8l%sa7U1ODt%6e0i@2oq;V+ylO=+U`+FY3wiVco*&hvjVMC9&=5fV z$AV5+)c~OSybWzxoO= z2zfB)inF5;p;H{A*(un@7#5ddjz9d??Q7Atl2o9N8t4J|quHNEPFqG?d1{2i+SfCDq-fgJH>OKW0bRr0Yx8@uGIZT+ zaPJ3_!Otnyi=3Ts!`b*j^+3i4f=3b72e0^ks;`H#XIp#TBRjmvP?l>xcf45Ua=6s> z`ye$z4s7~2O?&=jWRnfHB#d7TMYZ~ z(3L9pr8y21SaCF(5qrLS@Aw|8`SF222Liu&h zv%Y9j412-K#2EEhqOwNd5r|%Tvry@4<+~+SoV9dDR}j0cpj3y(FGcn~b*!bPOxGrU zL!P0Yuk)Csvwk`s2VMlp6Q2e)9hF&-5bJiLd#LE?r@`X3ad4{MaS2mInRCt=M_tV00&$BHQ?A30#cgDiGrO(IkC%NhY!ej?*k_| z#8JITFbMyNhqh7}yZbckLF<{QL*aKVPT3MvX6AJFXYpBXF=8Nd$%y1r=3?FyV!T#D z$)h-i?@DKeFIxLLI+tPN(_UrC_Md6f8b@<_=#dg0JDjkqwbB@745{N@1?R0hh7>M? z^WCCRghfkDzAQ3Ya{3dAA+P&u1HEbkq0>Xu`>}RX>sPJLL$BDfQZOj+Uld$zqz_*Gy-gS;@^d<0pQiryK$?8>1<;WVRnX z=~y?51FlKmj8ns|${8m8ejIzhCmxgX(C8Ig6Y|V@MT{D4@RXBpts6)9xs{%RBMei1 z4Ig!OERCb8-$|Z#q!`3#1y01u2| z45J@D^RNC(n9VuV19l%eBe_h^9_hypQA8E@oOzZCzt1=rB`UX6XK<7gQxiWg`xvmG zBwAG@2GpcQoG4#&&{A+x$B-!M_b*Rb4@trM^lQ6OuZ* z78}lk)6-%wre|CvFi*b|8OKw5YZ!CPvLjW?NAc|HT0V9D-nm0j!?uCzqnrP9(o4h} zq`$CFp4DxrF2=g+@A}yoNjq6Kdy7K*I6M5fy+9E~4aVbk$obcZjM;+mCe^voz?JM; zx;0Nd)T|xGcpBv|Qp1`q!E;{1IGFE=65*B(iJ_@GwS6e#P~Qs+&BmcaLaJwtY(e5M zs>R`4QA)w#;@E_HiB+%hbPtjydCamr@U4MCAs}!s8Z=1y`<@Vau4_=?n{Cnh{>^d- zRvg4{U{onSiNHfVn{i=GsFvB2>Dh+C%g8fH5w$F`vA9Je-b28OSN0KmG(Q@Ie7kv} zI8Mo$&>=_Q=%4;!$2r@s1We`7-ePd71M*DRf2YpVykdAy*^i&rmfF79?W-_`;6*aJ zYQvUZnP)DIcB~1d0&;i#nY`F9aWfNdFq{p%91DT$g zuqz3aXZQGS1!9a=sabajUWt#%gTCQ&Z7p;UEiwdk2`*|Ca+2yzT z1>&$>&3r$=C@E&_(2Z;v%lNkTEK0tX^5wBd#a;;G)w_2dmqaxsh92=$em;G0u37;E z+0_Q2`P;EEES}$hI7i3jzMnt4gQwG(xq&}odb;1au!-o2e+1?pbvp?kHe$b@oJ_(d z0H_~5fI7i9)Be7vxAGRMv$fS4G{m zMh!I3_A|)j-xHo=8br!HJxx@YeE)#2R~SuUiXbDaNK9xMxJ-rWZ+{Wxz27O`dAN1p z=cGVr9M0Rk506rCF1*8^q%lA7n;0Fkj&QHd=DxfcTL{Tje}0=LNd-4IFn}K52i}0Q zl~k}etvb&ocwTa>nl z?rm0LyQ(LDdjIYmToD$IDweF~M1D3LUVDgqo`k=eKSi>QBfudCFMt^zj}{>tTqCf4 zI6&naZ}(R%;LJ%e`diO+X&PSzNbB3Uv!;Ozyhw`7|MBg?DVirH9BRB6O>~f2RX+h~nT(r|8Eqj? zmkE4S<) z9FNCH?+$L6kPyf`xERinXf@e>P9{EjHN#~TtePt|-UFL7mW9O%`&y(eX~}JU5V6qL zo0!L%88~8a#gzKQu#1Pt06`Fw54_x}7>JfxP~ zivcVb^7f9LXe=e`VoDBIkaA@+`aRVqPFm2m4cYFY|dS31<8PO}DHn;bO;jwrH2bNv&l{x}k5qq{Q z2)+JSeTXLolGA`SRJyx*YTA%U)-zG;olDxFD_}B18RzGJ=^#H42t6^)&4aLgAVNX6 zCMN^BceTlhehNvsx=FSwiee|tj|b|36$hUQSSK*WoPRH?H~4@n(DVjlF?xhl;_HVs z$)3+s`LV6sV9&p942j=dfhJq%nft=^t3Rfm+bHHJ_UqdB-(C9&Xr?~-Br@NC7YXu| zwlo+NfDUC$^0r+%4!9HB^zoSe&}2LnA)6iiC4`;gAZ>5TfXH-=#LGgLO-w(!OrhVD ziSkc21w8C2nZQ(DbXTn6YTPF>8|>9og_AwmwuVGBH1n{;uEwsu;(mSlI0)+mkAn1`gtBEdkBG2HJ zfdg?1Yiok~INdS?Xl$Pzb5Ctk1@;L_ye`D|7B#`Ftc#iUQ_Fr%O&S9XapW!^q+?*g z^QD!-oJp*3(q!XrGywF7ZjDRy#>dmNR|QHS6Y>(36-cFSOf6OeBU3X`em`6sCN~45+WM&eh_;vUoCdMX2xV1MbpH7g_c5Hmv(Uvhd9gx z$J(nyXPQK8ini*+?5%GHq{VaO9?v9QKT_z}O5@Hb)@WdRr)HXP0Ni!4Ic+5~nU*{h zaEqf`Bam%nwG(gbfsF48ufZ{{DOiCH!Q$-ZQw!_CExe2IM`qp^e3|GDx*^6ol|NU6ji>%KPJ&me zz=E#&XFw)r?z^nDob0)O6T5}3VvW3GoQmd5V755&OT&LSxIy)fr}*V@(#FYJg~kM1 zI@s)b2z4CymGk1Y{a-y)gd`qT9jL`ms4;_%G)9cO*e)S{3viNgHVn6W7$VP*v`s;p zOieKbd;O(C`}AmA$DBQVCTD%0b=J{UCDI)`PuN@bM?!t_th$UlA#&S*@vNIoL;qs+f9Vx@)3Ugg&pgkZsS4p8A6sYfUZow-=fL0uz zc^#W;B{Hi4KfRxDV+YFd6(w;YZRMn8wQ*g6RLv7GQUqlt*ahMjGZD1hp=!UTexCI@i#B~VxSP#G8ad&?BG9_P?T7d! z$m}uK^&4b4@9#Y`l;_6exf9U#4s43HlJ|f!H>Goc{0p>Ui0043F!kVMS{OrCVQB3p z#ikZwN$|Z!n$Rc<{|G%$Xm1N>{3jY*x?dPFQxljbRJw>z$gR0lA^6C1v%n(4a((roR%7P=8bXU6<8B^m&KLEQcMR`1J(k1gByB=)C`9inat!@rc+ryx0#LTV_JzzwI1QyTj`Q< z1m-M+Hq<}#*5tIB--|)eO;2R5$}8raIpKR@`i!LDVb;YS>()CbB5)a!OzsQWzYeSk z7#_CjSI*u})6}G1tE-v1(a>&nl`?C@_p!0u^V-h$ zgl1qu?=!)W)XzyhqCxrd2c2qpMcS@C!ucZeqt86Q%6roO5s(yflvE;if3@Mlit0dg zp0ngVIU5~nTMP^ovBa-wDf~F0)M7SlDr!Ml=(_!SY=QP(spkLt5oaX@(lp<}PO?wP zauyto?X`=xka0iprpB;m_~sIpqWw%ypH4#uiCNU|maq#YW zH=s}Z4Idf148i(Icuy-WVxvb``LxS6WZZoyIE~PNg`ja1Pd@6;6JZr#=^LEEpAt?L zzc&*r4JVuScb$)YOHgjVRNHtJ;l$=L-?R?tifJTN%d#N1lFbbhzH|<(KhRGR&+0S` zzz)-Bm(tfvwpixyyx8N^-1{ZIVa-+h>Wnp+gQ-)v>nV;9!-$W8M>5baCL&l{ueJpv ze7jkzozZn8BDF9Vhxix>aSM8iOyU-Kc0%Gf&wyyb*4w^#yylV;yd5KN@`En;n9~e$ zm#erjU$6>X9Vdp;E%_?Ybzr#}wpF7c#{&kv4BAZj_j_1e(z~Gs>Oo_7FxMaCy_c3f zC+AdLy2bFt+CtJsQ-*(E72~$XQk~AaYo?mf=%{NTv&zT*kR;1UrQPVzQP9cjLBql) zi~aJTwdR3Wvg_Kt^)s=6SA3H?dQ5+EZkMnb@cAEzHbX*?oF7}f$b2SI)ka{u$Kpi`duB4*1dC7f%%#2&w3<^910pA-->Pl|4XJMZID> zyK!zkcemFbor7mbevIjd2H>}%fzCsuU${t|G;{vfYFHcgme$*+cf-P9+qG+iN_fBV zS-eHA$XmG)<`uVZ%BKE8W2M1ibVn-^R!t$I)Qp4l9f!h+xcIoVXBQ8ML^yTL>P~Lx z>!fPMJ*D>V{m`eSYKK@^t1~}^rY4ot6@t>TUE{uWPp+Y1)7M@^>yG}}V`_M$@Zrpg zH7lB38yh+q()T-^l8Ps^!G5!ZvxDVD=F|41S~vQC0Z{%Dn(@z!+qqf*h0`S&;EY_q zJF(SwGMY?$*pf+EEF0FHmqE~OwC0j0{$EG?+JB_TnAl~N$1kZdZE<85j>5q>YJ%#P z?;}2r{px7Hjw@xL+U89M(i!8=zT5THvNb`vq2LL2UdH?+P#F?OBS$3W8>}|*uZ4%D zMdpVq@n0`C%bYths=PMOFW7jIS)cqqccZcUP;+cDsPD{XO~&ncbc`48#3QZBWd$rm zJ;hzRf9Cb))wivHaDIt7QA9gErT$xb88{1ylE>?(?8>1(t8%<$@RK={Mw=&}WZdac zp}B^X^t0YcF}}hO=P$(kKY7Sdy5glwM5S7Y6lpTM+AjT%-{4XR!t!-{kvJBVb;Z*} zK*iI>`3wW%6&ovvkvS|oK6fk==$=Te931ealzai}=W&aV(oAAN;hJt}jH_$$x)T2_ z6h|y}Z8{{y%_t*o&d+`0yn{IK#|r{}@a(&>ATCSx8pT#yMPZQipLtUdhkbXdWmIB& zD&AvEQm?o}R>bkZJ^tG^=B6(Lkx%))fYo(sJ#A4~n>Fo408Alr@|M8eARbUaL`fj> z<}IO4lo+4w_>FOm6C^3T3d{5(K{xiWNnt)#Vej7?U1JLKt=qvXi$Bdgv=I3RoIQ^{ zqZ_lOth3gacV$3}D2o4hrL;zN*RBmzII||L!BnS!_^RxTE+s4B$Su6r^X9K2D%*C} z`*O!)>&M>*)7FKx&>lMrm&+BGZ+phkh7*;hsG)&Ol0nAr;xU7JtdGGla{?YZ+GE&#lgFm-|nPUVSYmFs1gE=93JfWxIoQNx;nY)!r<9KTc_!W=oNF zTycrqSTX%xuRs^IK^T(7Fmbi`S_3wOZ*2p21Lr^ezQIxvanw?V zePP+I-HxNiyfOCdGYgQZGEzJZ1hPtlI7dYVA_#Y~7D6Urzn#5Fh@+}STPXsGl|fs1 zw|Eh(x6rBPaXGY^34u23S7KC-<&DNbk_v|5V(!_ZW(GU7H!-9~DTN!@XloCw*;ct6 zhnL?f%;G@rY4)+7A@iw08;XBgf5xBq13mkW3Lp@TlO-*fPku!_fRqXvNMdb;EQE+c zu_`&GDDtIxc6%F7F5cNimvM5mY(SK-hATw)oAJblV=8F@x$l`O9DIhb6O%svRXOm zm_v~I<_ql0Glua_$Wp-105H%x^_5B(U-RXjM`W`JZbhtUtM|qhDC_$9qs?UH6mfq?sVT0aV#2ThNP7!N&&e7ab=vIAR523EcDRAcLA7}lw&c>HFxU#f( z@mN-L$Ux7#?aK`u;dn_>(#N(WK%e(NFLP9pBQ?-VXSd_|X*kyHQruD*fZ_K5-c9&9 zo9YLUN<&4`wm!@&Q_7P*2p^L_!m5_Pd-WA~PS6RrT-5&5?bCkZKb(-Fls*@t4*P9> zumi#%8?0Gevv%g<3iQP`kv@HPCz;QXN^X(6; zpEV)s_qyWXQ;JS8F`?VnTQ`&a)>Ka}B%Z9!UsIgY1?Jgr2N&{d6S<0i0)2pn>3!}+ ze9jN2-p4Qb8UFzC->2JpBYq64d^$e?t06z5TY72XvCzwYjn%%L*=_(AOX(-D+jWVtY0U>$uPllk|vZn29YA^#EAe zA)T7Z_VwMWCY5_i3>HYgq}Pfb@zZ~2SXrw=lgSII1WlYKvEhX!bnEYhJ9_r&unvd0 zM7+d46Uoym{s_kPm}M~5g6@)NySRx7VgR3W>NB?R^FS zA}2aA(UFUl#I!aXTmBedO;5{Q0J>FhNYaOS_KxW^I%pwwXze$%B@>xzvoWF@SgyOKX1hqTWT(fFS5oz03$M&l)fb@v1Nf=&R^vCb$ zD&!O)SQu=`C+&;o`{;2-cxlm;F<(nGQ^!xHp&-tCMJ}*-VB!wmJWV6u`hqjN+$0Gr zG{z(8#cQ%Lnh}hsAqO77+K~vybw4k#+lXx?Mrhhv8t3S#!yE4W{O?{uI9tnGv4b#& z>R)n*&UBF8DQ=}Vh569DKH<`f99DoxN0Shf zbDym(S1O|ma;eBmsb5`-ER3zNxH?g}i|cc@*bgQs?(FPL+w;5HtO$5q^e_pG%s)F^ zjuR9>rP#)VCht7p4aPc&PK_si>Gl4*-S)ZgTQ5&bGoMsp8`GHKHNHw5d3~cmp6DAD z7t2FVQGII)kxd!~riWNIfvL8k-xv+buEK+Tea(D*Tb`D5RJ54e&Q!x0VC$DUFyn@- z>27)>&SYD9M3#dYZejk^C1jXG0xLM>-hF>1w!I41`gCn5bbo$cI9%H9{VYTh{m~}urTrS(D%18*S=)w8#jfJCF%x{bs|94 z9_XSK?gF_f|3~p=RE$5%)9E0i88D{Elx$efowv(TV4XLR9*fEHn|&+Ge~ zr)+9QN$G_4JQh34?9r; zCzJz@UW+En-4>(gYFAgmkafb?Cg`jj~t)$2kw!1tJhgBAFtvXxA%_lr>-vel_FBU?C z6D6NF29T{W%+xY73ji7K5-XRrGe?HfqpvsQ#FLy(?PIT`fDh#&u2RT%nr0P$C87Lc zVtb>Nn7ubCHgptwua+F%#3^EY7AuN8UWsW-H`8Gg^D6HdsoEIlRQ; z;>vMst{5=F1Yg{nVD2oq6}E2eOd9Vk9t_=EixW&IQ_+|J;_47bGQ!g`n&eU-M){R~ zzX%3@x2&Z`vXJQgl^Lyke7d+v@)s5~F=u~6Ga&cL!>If-|!nt9Ehx9n}g z8&2G1vdefO>ez>xs#D zN+eG_->Q7!S%!tX4MGl$jP#ZGVgIuo$g+`9^4V(PJD)>n2=w09JySNqJZW4Lv?C{F z?OMfDIPIKT_~?OzA_2f7qB}?Va+!$zcB8&rVgidTK^v(rZA!}C;EYCve{YVR5O-y1 zdG(6wE-zAOfn;2?ZJ8udDA5;4gAoUg>NP>CD!K&0{3kbGc(wH&_^|@rN zl^33Q;j~oa0n*!udRU-kDd?uV|6-Y!V24R;ON>VOilv{)eZ7OnTHP7ZE=OIL*Ox3n zCB)cf%d;g8@!xN$1y1671$8VFLJk&5a}HvMPL*g2kRsV z>7Bm%*3+iq36(MXNYw8Fft;pp-QALej1}Dm$=;ywC{U20dj%-XSfy|To;n#JM|v78 z`eVf5gtSnGAmkY2Sj(ls;oFoKNsRxPRwNpjZNme7_e}H_3T2%wbbyic+zqS)Uzav)!yP-ZtW{d)P`NlRB1Je@ z65WF}Gn@nI`&O2)ebzok4XTsuZlG~tNfWP>4J+svyfBRswQHZ2;qPX1mthM1|SpNTrje;ol#P-4rU&@}4+w}xf> zf1Z$k#T)#3gl^)rGE9$daxkDGIu;+}J7}lQ8W`U;ncZHK_U<>WI1ssrquor_(o9$- z7(s8b6#_f-k5ENnDIKCPW8K_&vuFCUle|wiqC4hryV{JNQ|7@I6Ea-Y zP2&aM2$2Z8cuT%4Ji?#Y_>Gr6qN0W&+_IdmV9s?jEy6qb)@70if}Eq1!obY|iw4H5 z+XrG`yW}Ogl|K{p?2z*Gur7Ys4Ik?_Q!9P$-~+UZg^9e>8w*t;4rg&c#0mU=NPFvt zCg1n{pYD+ElGKe3k!}e=KpA7yMvqXCPU#K-K|;DzYQP8y*%%<50;8lsfe|V#`q}gK zeg6mFU$@a-BCnMSCgv}3OEgSsu-Nuj%RTw8 z?zkn%lXh+T1*EzsHF0Q)$>H0V30vz_q1@WV>6~^zIUL(IWF0c~lVTweDt%zsCTXx< z4Uc+b1}lAq{zOO7A|)g{v#v)pTY#oCdo#l}*A^e^9f@(V)8Zgs*Tab(}*gzO2#@4QZWZrv_Dm;EkpgSLdx8^PFGx#8pmea zqcMi@OHXbW<6oVo_qX4~>+(s}Jt`=V$tQkSu`KcZrC|O`X{tBNX{T|;?^2QZOB4Q`})7 z?^qV&H9fW;YGs{US2rA(~VQFYOE)gt*^H z1#sY56ms|!3UFl}YiNR`%G-4+sglEKUa9QX2YQvk<7M{Y$J6HR1mdZ;>vSbmi~}AI zppfUH;&#M7$T!2hHPEa3sb*`Ua8>NM*9O6|rV&CU%xj*aa6^@J5Kf;n10`N-NAi6V^V1a!d68lL~#1BBb$1=D~6>=C7G-tTn5I&o@`c;inx+ua zz^R6|1cLMLH8x&j?tX)(uv(g5n8H6jqyFiD2P=e%uu&gnsfb{|pGimBdlER2Oa6+T(NlY_h{ zUDZ=6s#Y%%2XiXGCWnlL(E(@Rzfofz)PPyu-sQW5f-J5`)8En796W~-u{mSPbD#O$ zhLhV^dCg*XcjRDkK9LQn(GXe>EjH=87;!J^6qw{npW@4bI-;Aa#S79Wn9P6W)KlBs zF1ws_m0}g-lBFrE!n0aLpU+^pKZ7)foJ=LW^RVCCUu238lp#fGkB7ILTayv0esYpiWY_8LoYf= zTY)d5jGjDP82=P#SjBTcc4M7J_P4SD{rQaeZ=_nu*r#|>W1^I5`6Sks0zEyB1)TP2 zlVRC_TB>E80PykjtiNGcv9QYf(!HE?X5`1G6w8i5Rrs+C5|T~^3qf${Oa&=;P!*G` zTu@Y{kedmI$K517->LOBdpb8qR~OK`puFGBeu^SS2o@IhWjDx%W2H zib}_W1i}2|9=E9JB~8J;a^nwsjFt~)Jvdmn>>}muBAL!gt!FR>Iq3>NiDP>_ofJPG z3$vk=`9I3mzwk>rrwk~O1_Hk*t1tyH<>TWWo>*YFVgP{JR^Xt{OG&XC&S~}8S1T$l}kbPNCpTee5?7SGuSLfY9P`TOcW`o@3uwIXnG#s9}m>ov(5(ZeW zD(UBC#_$vd+yrlvADg+3-l8cTo8olI)l$4J7LTwI_5AsZs-5BZ7@;9#b=2wBgUB{E zhzwBjtAgZ)y@j;rC+f{Q(7(IE2*+8@8dbxeX-H&o_gy;#5V)wW2toqSpO)dFuI>j@S$5#iCy00LA0yXGQ$(7BQ#}8`E zNj{~p){F4A3$ETNoI>$Xjk!#f>!-Hozn*Mpf6Ze9^5cudH)RJ9iuT9(^HY7ZUlaY; zZV)U@#gm65>-f)@FO+FHJXUwsZS06OdNYp7v+<->i`14jM4?&cT??B8>nNLEDAq;Q z%0qC}x|U>Ww&yHYgd}3g_RQVuC25~nIOfsC$-cc3P+?A6r?2kz?`h!lZ||w!fpFjB z_lgQMG4Bm+z#?Q&_s&J$4rJ2WSp*?uDp$kLbMasQV;0G(ia6%bwb>%GJ^wqM>l|OI zFPfinLw1aEn&6X*Z}>{r?A%@(@er@>ir>3j3I?LgBNBZdwLcknoCs}qfN)FoSF6sF zzEpPU7j=F2z1U=v8MH+vUdZa!I`Z~@3_z#4@nNy0@MJ)q(4RZg4(=)UXz2$?a=Y*d z&UkTe_H^p$^am5X6GNzCG;7zS5xk~HLJ*wofQxNw&*mAjvO*UXKRWDjbAAiDa1f|# z8dz?^Js9Ngkn!3(3Z{004{5aMGs9~~Zb&DU6Z{ip4(jo}U5@Lhr0uR*;pOHeC}mJI zt15be_m24O$?@mcaEb2ovi}}(qiKdyzmb=C@o_!Gw15@D;ZK>Bl;TZQhxnBsB~W3} zW20zI(}w+=ub{{DtTa~eUHdY10!bN8T-1fuMa&m9LEX3jw~%DBiHS>e^K5d2m}cd6 z$?(cbc|B=tYI%Pr_hYJ$!Op+(B30>I1MNK zs0;bdnT9DKq_pFkNOk_R3>B~A*jaDM4k=?XcL-;~CIliY+f=zvcAl8>hRj7Nggx z>7(u$@&vg2+$`2*+t7!vikEox%%T7&U(R$n(xZxItF`YUdi8yw$WXyhZnV!v^`NIM z?}^A}+oS?ut#em7->%O8M`~$E9mN0Q2d!%`-F637rkUu4n~Z^HhVjx*M$ciU(T-*@ z2aEkq>kfW`1?6lXT3mt1Q>cd5?^ePaUbiLhu4n-|)aKpyuPti#Bg%B|urBn@W<9b2 zdAe;(TuidQ1wB8l{yVqd;)mF5B&hw5vvRmtY^A;?lhm%4^%rbmvFK0dq)CS!g1?qst@ za)TVAn{nq`8ofuc1RHo=E1cyy$~9#Aepl{Zc7CpHZYN@n%BK}?(uu(~4yUTFjbdcJ zzicE?5m+&~mjZ*Ag8=`^`lvQw5x<={g48(utWOf4r^N!E(FvK(PbA~x==f!CRaPWE z#j~7u|D{fpwC`SFg>JYDgw*A+!&_(g0EyMQt>SBs6|Tu1eCiALWsmpHRH=Vow%k;D zvp(Ot$9nF7>H9}G=Z7Qr9-Z8xbNQP7f>cF;0bcLC@qz0_DBOiq{p@5QSDq}++F9NB zyfeP*WbAwOzm<*E2Y}c(W#R7(0x#x@qqU5l1O+`jpz;im^ZG3L9TbwC=Xrg80%Gy7 zY5f6R`v{Uq^m%#WE(vZek=pRJV+lHAbnRT9zxc%fm-MS8SwH%=-E15+&2k-Ui8-Gl zCOF_~Eo)C^1-~l#NV@_W15BKr3q*M835;&tYz{s_n&P5E(sQCN$|Ha*%3AZrN$o;hWk{&AFa2f;u|7jXTR9 zTK+x`Y%9GeXp6VhTkZjE|9XS|C=whtUFa;2@O!|kh-%m_jF$;xZ@}M$yay*C^GX4A zOcMj3sd2mnPk0|r^#s>8o?~+xhnhv79npO)EN@S?MI*SXZ=)ZnpjQ>GgWN_IFpX^D zQ_r6af2I4^4sZacUTIKI=9R9b9QOxZo?(T{<+Zr+)0>;7g~lFity^ABkfbNflU$0} z8KtOS5Xcg}&;_(K<;JmA=lr}Ihp?8e^CyPR zjRfUS70)*mvmvFEX63>8}na&b#KD+27EW_)*@! z=vS99eYQUW{g?sqMR)&V)Q#lh<&VeI%WwBeFzO6-HD)jaaP`lP8GB7jaP6Z$MD80X z@p?y{oCk?<=wO1~y^pitr{7Y1l32S@jJie7UnZ6R2P4}7Xit5_71gw@;4)IKDbX65g7_-Mup6EUGO#J_!x!K zFN2@u#Tyj3+d9^8h7YMp3BO$acO7wZ^oJj4THz#Ys*%L1v5b3B@>~1whQ|Td1oE(@ z7>;p}H=NHSm-hg>KP$FSUwJXfHiVpSK8_O9A$8BI6dDz(t?kEzJ~`k=knfRA(3eNc zKc4v_6NhNqWVlCRJ*Upih{o8D{=Q&3tNTimeZNB7>#Bdvv9@wY0IO%l=vOhTd)&GV zOOLYND8O1aMOec)4Jw?f+;-(T>Pdux_8vy}J`qaG%IV9uxK0h-rCTocb8@i0=3)DI z_Zv;&RBF?(vtUgcwS_7C?PVz-)_*_;mQAh3@SuZ1Ax>)EDT04)F?nr^Z0}WBM$FLi zP6(D6#Tcx?`-XfoK|Y9QX0xPYOtcI#s#Lt5*8OK)j`3TDF&E2~5QyIAqnUxpE-r%W zu;W}fIX|l-tMJu{*mlt$1@4qbr0SVDs|pMQ9g=NccQOpaKfK>gs2D^vIFv*wtbg;H z;(I|Nmp`PEB7d|~WHZ~`_Ro?2mZC@G{`E#3>v_0cY<%N49^9kv3TD$8dOIII*-Bz} z*-r)Hw?#y9{gGzV^sdg>z){X1{)*4bY-(@9*}U3A6ag3r@lD&A^-4l_+~gwtH%DDv zb*-y7`k6Vv24{S?00335v+uTU%n3Z#eg6m}W6V#V4SDBzjp$u1 ziz@Hq!;z)Kqc5PZg2(>~97)<7f$FI_Wi~m z5%G8XkP{)&$HB^A8O-AHEFA3A@nvk{X|?lp(6NqyEW+F;EV1T)rXCdoLnQh$-*2WI zS;`x=r}Y*;4<7S5)#vq}(JOV=lrJzJ-rU&KgNBbQ5GL55?tiU_Ex}oHuVX+`9`tPM zx#=az;T!=qR1_S8>lWnmv6Z|0wRd}JSV~rxJ7aYvNaCWM4sDdTG>pn;TvlDW3`g7y zA^QtB#Xhe!Je%vjU3D~h7|-TSF9=EhK#9Had0KeefNqyp*73`^r}R#_R_L$?c^Yb4 zLENXMz6*U(vr|B~5g&Q*dP)DrA7~{Oqtr3ATC%RizHx7iH~?&j-JKllW$I z?_VZDFb<(cnILsjRUMaZq%IkCcCcevoSnM*z&qs1Iii^Az!zOhpZ7~iUoenQIIZv` ztENv+EWi;FvrASi0_Gzzk~=4Kb_rCn=Czp-i|Igo2cBF?x^HEVG8 zFIidpjn(PDvgO9nqE>MMjDUKE`8S6QtZ7y(OLD+V+!s{@H>U{H3(Wu&FE6fcMf{_V zL;5;VrUi@OmEn{EzvWklYn0$rO3S{bYbF)JkrT)Lup(Gd)N1>QS`o5t5lIu!JuiCc zE%b0jR=`JTp@98oizDaDOnjf_1k*l<*Uij)5ydiE zJ?ftfBMj`{--=fzcNSirQ~&qpq8ERS{i}xkn{wJ@7pZgnlmAePFf_;K3*w*ic;8=o zsJaMjPmWMom+MB0ip6ISx`>3AJ~T#JXR)@ zt5ILT+de)spHFgoCLZJ*gI~nnUVyM1^NI633h`;+e>do&2_#%JU*yb{0smX99*_q6 zH-`SEbK@%Dh2jdJmW;NI2PEh%2F2d!V1t*EI;5g+_j=PU4I_jOTah39Hl(Wk$pR4c z&taD6wmuJfW3+?ai5ylJDNeMkP5-n_K7_8$s8!x1Q`wI$Kw{z>T^F{aerpaY+KKqL zI^kX=5R#?sM3WzX8%P!qzjYrT8}>fhUlINgy0m#xyX`2scI}@SZzZIBLX{?7w?RYQSC=04NFWSu7%Ep>f`0B zE}Fc`6nPY6a%(8(Z;T7e<7ToV?o^Tr64c(qewh-1W>=@tDo5Qs1_v$(|1$TXoDD%d zy)zk4Yb6d8rjYhvROmB~*6V_s!g(AXVl&`atJnPr72$GqNIe93RCvZMbO|9~_!9%o z;DUXr!~gaP9CpL<2VxA5@k87hRfyw1!(X=TE~eFp@r3E6jXl)oN4HCtze1r*bq!Gi z2*Vq#yw`3beQ+nra2?fXdgW%%@*Bf_yg;xr?B*?gD2Ka6Xy&q8pRWlWo*|hEUqqda zgpvSx_`I+9UR};i4RX$L^+f<<&L&Kf&oOWHasgCqS>_W^S$}4B?ptTksVkm3|>FSV(AlexEAu{bZ@kalPc&X^89-1z$}258S)4-R zB@rZrf~L`M>Z`!b2YqA_k;q)I>8fu7&*2vjD4zKi`r)p`*NcBOM4K&Z#5c!c{6Pq` zF{!}e7bY+h;=}W?z7c&8_Ag}^D&aN=-yoe~-?RH>t3Y1nk1*Q~p?7OtV%vADW2oDs zlG$gSC*}eLg<~@wwN&FTGJj;TGfv#BVoG=BzWse`#2y8FHXM0u6wz1}_Gv?3`1~D$QT)A=)BNm2m7J zyUz(BR2~N`e5WR;_*%~FNA5vi5iO&k_5~k@I~d6&YZM(RfjKcEgtY?`OasZZM=(%(wS_ z{(>k#;w#t1YgYsMvfx%c^7GysfQ~IYTN%En*3?~z9i*=*VybC|T+y?9y=lU#njU*YG6YYb-C-zq&g zv92H5gYzo%?+~Wr%d1LsJd$s1pVSDZ{&^OmbeISNoF>hfI)dxFYYeq%VXb&v3GG?N zquQJ^KX_%j1>gtij4A1VRn3g)KmK~qNJ?cUQ7ve2w6aVstY}pAI>poij5}G_m((hX zo1+Ww!50_?U>xFj+CH`*c8(68^r-t@5bSkvJZB%viE{6X=>2>58Fel0T=q9x8Dm}B zWCs3`*R^{;{@w2X|EIkC^SDi@#GNz!<`eZ=IG%q+1P^`H_?O9G8P9lW!82Y+@QfGZ z{}?Yq|1n;o|6{yl|HpWV{~zPU7WsikUOeyT~&Kd7=Jy&)o6>lD(Bn@9@K>VS$v=NxlldI)zHyMAMi7HX2^VIB&=Aj zxe|%5mDBK$|F5D3n1U?Ok#D7$u>s)X;mrH$%A6Z!xarfGk?>@>_xIpCYPy`yAdnAF zvf^`cLHpU2FySheYaral03N4i%n3Gx{ohgl-xC_^1J3cUEK`r z=U*_Y{XsZ`$CZF)Z)Yf2_3>*1PC{LY2lmQElg{AX2b^dkxW%eCEi?()d6Y|r(1F+n z8WDr<);Dxj5dt$o3q3RY_Coc|p;dFe`Vc%NrS?@O5>Hsd?`!a!)q8kX%#3^2)BhYW za{)ET{kI0SI1{|6n+;kHpK-SrtM9z2#9LwTqL)E!co}m4C<}CD4nJEJuK!szv)^Te z7fP$<0^cG>-Wt{(^TPclb3q%bGy8Txyp&dn7aAdWo-y8yf}}cr4LW-Xm;WYEzrQo% z-fasRf1qFc(*@45cDH_ltI8s@5D9sa1^Q7xv)`i$$!RyL4gT+_OwffE9M6cVKgVx- zU6zpB|NHD7Rrr+*zhh}s`<-Eiy&)IxoT!wxk;Gdc^tC(e@V1BfcI95%M83At5Gv2#Z z_>@|>B2$R7pTBvjh*L(9CE$2rWXD*Gm|s=@t>s7)h=Jtmc(ED$biSN^)_)5b z7LAm#6QTW0UWQNkK9!tX>sO+$<@w`|U$L@?rKq*CUJ8FAkTRat#8xH(ZN*R5zhZDF zsm0-0O(~|TV6QJFrM-AoQ)>~P)g&_i?~m^L-jL$I^n>;q|0BF8Ki?XeJtsGP9LY6B z)=e--f+Y0P;PSq&@q?1NxT*fvWRA=f5i>oCR!pRnHi$5}x50W1JAT){WiRwLHADP# z=Jsh*XJ_Z)*AEA8sA{(VntBLcB-{&Da0UuDpk z&P^>cfXPV zA@J;4mc3q5f zg+sF*$uYAGJz3xeyWc%?3*`p2H(w)P+QMq{nqiN;cfGJax3j}5{YuQ)KTTfmQ41%K zi<%M(>dS~Dkp=Lyv*hXz=<9ydt`m9gqZe^!Ux(~Zr%YCIfukj*VvoO&nsl`xiVpg( zg#_hv<}A1D8n}*}(2oXQFuc=dKjW{a_C4jOtGYgnY_|C*#%#(5sATNPYa1+n`!~jf zu7UxOtSU?U>D+B`!r!41;J9kBNGaN0W+$zE49@o}pIX9!iu znq-UnkfZXaZJwvu8#V>d8)r5eMQ)+Ou8-^$PgoN@+Uqx276lGsfsBwIf&7DAN-PD!Nn`gUpGcR(zTQrKZbrp z$VKejcEh7Z|Bzdgz%wm;sld_GctVPH{=Af92VCVtiulX5FTkGLtQ$5i(B^F?#mV|H zrx#wi!t1egM3i5%A_KZ)yMs1>`v-((`3m=u;So-0-;qmFQ|d=>RJNSUCHTGesVQg5 zed>d-$nGgWkf%)mL-YXf?b593D)e0lqPRAoZ$F@+iO_H>utA0bUWFEGem{1vH#RNc z!3j~+!uH*H2eVyP6X@KF41913q!+6?%f~|mmGU}lV zm6w!5H^8&POu5Uz=}hy-3+PHKPRd>Rht&$ra*!dP4!KOCY5BHAf^j0%cQMP#AEEjl zU7dORWbh>s&`+^Ir$;WWNE4oA)_V7@6*|#V{+fKUP(g8=IMvZ!jNH=m)@f=ZEv)>Q z0E)#*+kH8Sd0x(oULhsrMv-Iv;DwRMC>gOm=Wd@=ON`YjnUPpOO372D)az~r556Af zvG-SB1th-@KOL>s)BEnPoOeYL!XP}5W9YR5ceW~=vLXf-m zawvvXv3a5l9r<&xoRr721ywp~Ua{Wa^ zWc=y}VxdXNEQyFqPaJ?11Y+AbswZnB62E~~2kzVm$eETn7cTdLbaP$Q>u zuSrx|_>1yCcX4NuS+nSzI3nHO+t+HB;{0S|GBxlfijT9@qqPNk;oWsqw z-)K9Jjt~-qom`%gQ-od{bU!Cb!6_TmiByykwsoQSA;j~*s0UCgh!Wbk1_iY?T^MyO zg;UcwK%yU7vo|ekFuD*ju#Rw8{w4rji<-d&t<{FoDf96$CAvZdxp(vw> zHIJFF${np0@cwiY2(%oqaE$%>@Y!>!DK>fEXw9w$j#dU6@UJaec3c1PTd1#JX3#_j zKPF^nUD7YQ^_Vy<+ji>%bDoQB%zN;D@2JZb3BJgk{g~-VI)1z4VSb`B_H5Ko1w%i!w@=O-RF&6TQ zEM>@I%vS7#F7a>Z6R?v@wcxjSM0MTWOH{`J+i(%8tjQpbB+-VppbhQ>Bf6mHS^3oT z{0>L%V=i_P@p$3cP04gkjhj(}biQa(8#Yp<&NS;;d?052fqMwT?cWsg9%Wqub#!wC zY2UbfOGv~Wn4tLBOJ4%?>qt@sM%q4pqx~CALz=GYCr|kDyK$D4XG?t$$a!sK?%_8- zqS1(jVRFwtegM*Cy(RslKIW&rVaEHMGcZGYfUba}AQdbvv_bjj6r@jo^;Dxs+mJ7} zWogM`vj>SdFE>|j8Ke^>ya8Nd-FisGb;k>WU{>J?x8f=uEfbi&@u6}$7;%%&hVvK4 zJ14+wf&8E5h~DU@g&OAf!1Jc89`1iv*tx`z&$&Iv_8%9zoC&u~%D2Vb^#Yp;xc+wY zVuPMDJ3%^r#RaOD4$P_iDry3*2C{#U5C6-VdsgV+i|Caa9%Q<^GJ)naRlsp308y6u z$$3$6!hod3f0dOVw8El-i=PquB3U1hT02tG-dg=C*YRFG;|FrfBs(G^aJF@5W~^`w?aOGXUJUPWTbj}_^09~H z;?mDeJ&J$pby5qo9;TP?%MTO-`|rgazyyZsKKKHGho#HOK9tzaXn;J=td@=R;K0s4 zDYB!y+U!YDKujj$@->6M3+Y3mdH`SLPRE_;nJZJDo&D@ zR0f#o*hTwT8>opJ2M$ZCt>Zas5?5IbHpqC$8t5Kn@Jx(olFC(Si+m=^-6!ZO?`3}D z>n|r6)ixtmgh)W?o6dsEP_-mXYu?JP;}3M!v(8}DECJ#~E#}?go$}VX-G(omOu%=l zAwgHCo0w>KPukTbh=Tkxek>u#o#h~YELq}<)m>}W^eGBrn1;qLA}6z19@36}zm^h_ z(f7(Jumud_Ysbk{h*uG72&OM>Q0}uSn1b%T815t7g`;H1W;R>F3S0eD+{lM#wYQ3(~>3loNV2(w1o5NkVKZ@=^Yd5ABPpN+GkRH`#gpL*{W zMb5oLp;_B3*E5dB#~;&>-}RB8>6AZfW9|~;)Im7n13z8&JyINE{(ik|% z0yg-8+eWvl0W^O!AZT5*e`Z;0dRcwwof|U0Pu2KW&65W+VnR9}_cQ>QuT+X`Gx+v} zrz}r?q_!Fj3GGu2@PvPje)znJt*()}g+HV9M>!cQrut_dGf+4tPSF2>?hEdFf13RR zs60oIgdTf#7`1fA1Nm|P;pF_<9)cWKTBz__Iyd6^315_irsfhS!T(epSX?c z*-Fq#VoG-~N;c%yzv^99O6SxK1U#APg$n85;y`XDOv5QiWF=sL_pl)zhZ+1}sV;p2 z3(d8iaCBhh8?KaM9&{@#c1;qT! z`XB_9T&9|L16^w@8lD{okMN&a2@SEf$I*~f+MM2SX0gwQd7>YZa&rUf(h9vO6@*)mhD~3@iC@K z?f~l%ilo`|kvZgC2%inB0bMvz0>e0nzR^Z598{B2ze#U1@K_y^v%HA>I~w}24u$_O z+*Vwj1Imr^|CK<0N<`0E-1ObkJSXzZExXc#ePl?r>QPWsTpZ^KoXh%52)txI>+mqO z=^~IQ+N&QaBO?4rU#^*OGyto(`U*0zkf`dN78tMmN6QU@rt5cvp7IPze)d{ZEw2zx zN?{c5-bV!S+^wgtDeYd_K8i653@cXi&l z{+IsP8gp0ZyVSViozKj1VGkp#zO>9s10tTiB(3kW*2#|a5jvU?%Dh9k4uzhCF2umD&6{8HM{poebD}r_RsXRcCDp zgDu?s^B7_r_}X@MLH~i?tA`q>^-&@##iqkwu+^dd5P;TfTf+&vBQ_FL`-ARffG)_Y z1T$LN*0cqad%&@C1-fO%DS6Hj9QCj}rqjSZI?by`BnH zyukmFpB@Rzlj3liPq&zg29^u85SzqDOw>K)?d`nS`G6EMa$dollHpP>1_~M9Q2JDnmqpEF05wS zH{xL@v;b+L{_4?Xq!tI-ByJ6u__3Djaai@pNwmH@!SLFWe0kfdMD{rAZHuQ=?fCI` z(t&0G-*H#XJ7?$XxU~f$0E02$2W2wQx^W@t!D`Wht1ZBQ^4)9}(~u1VZq_h3OK7>7 za3sMQQlDCr^!c-ql6ByZB6urfu~?|3^iN_R2<}f!^5@cl7mivtx8PSB(YZEEvnCO3 zCkHabkOQ)%50h^ziK4hrM!5dQ*K3#nxeCG!4P~6iGwacp6p;^>4D5x6?TSVtS}4{> zt0jnPi%xQyC5#YD8}_vXAmz*29a3W4RO4GOJG_*u>1m1Y$&?-EAnspJgljxm`$T^^ zJ?m$(KLGDttH~h5nHdR&vw6vaDjM$@2?kuigh37-2M4&bvRNfa^V*nngRe$iD-GzQiIc}olh!UN|8JN*7>GD zbEKYK%Q)7Q*%edHqlf4Q6|DB-;Sto4v${4JqRNcML!Xf253D!r-f1c8U)k5zzsbX_ zZ14N_JP|#K{&Xds?rlYg8>!);Jh($VZ|a}U?piTnm( zmMN{z(AZDbv)2miISYmPhHBV}L0my}$ zoyNG>+Z0a^xf8(G87a(+O=Qhb$5(!`%yJx8pe%_)>NqTVZ4luD$I zOQGQT8fq(5$bM6hq%yjV@vZzT0c`>5tuImwJlCYNHwAwQiK0g7@6$?7MI5`0!h!>K za_1Z}5UW)6aO<~JoiU^6ZRxkk#1g-0*(k_rRvkVzS{W#(-&`YzcAfVS- z(EO&8;E)iuEZlGN>l=w=qHW456=OeUq(H&_2s6?*SoayWvC0d6JJtEV<)hfx^F`O` zW+?cO`y;he`yj*PC-L9z&-e7B;ieo|h0*&6qwj9hj!marGEAQ&<_1Q(7ae8@$ZhzE zmB)-b-LfQ+ALwgmUbgK(->P{~EL}I1GB0HTjnHRAdj6GUIp#Jdev%2|L48MVFMa$X ziCbID5E^XFN2;$W=JFPsBuM=!=ikz8L`zcxyLu3Op6%>26rYrkB9Fl0E-j1cj(CJM zj0Ctb%~xnd8c%H%4pwtW0<}g&novJa!Crb8nRHh*#UxQwf3XF+Q1eD*%BIG*rlz+h zjC@;8*s-;yBw}yj4={@qe(D>dO-#E9dkrlIaB zC4IjsYjTV~>3z~{bS6dgd;_@HQXMq!tm~AqG$%0yBvdU>D`fZmVJp(}?G;4Mqd1%We0qJtO8AXWnW1mm1{f+=45>k1lMj zz^Rb!x>Pp^n~R-PaBOjBj?kXgDNZ9DktO01knS*!s$R0p%EcvXdlAX=M8P3af#5Px z)E`0)_NLrjH_mW$qFG7i;tglKm*ak7&N3U!+)33&=;21MR3O6nh6{X|@~Hl>a&N;0 zJO4Bn)EPTsUjCj~)*3+>1s~1w)h+m}J~pwpWk?3C5HHM20*pq=_0w7jb54E7o4Jan zm=x{auLx6V&%f{;>ns{r`_sD zbcGswk;>K1cxDuGBo-1)`_2ODvozp`P-IEYt;fC^_eM|INt6t-sik=>8=D(oRqX@o zf*8evw%l9m!>~CoAdc?ck`B>;*A91L7WJxCUquv4mh1^&HRlDE?zFGY1o@{YW$*YQ zd^u?lr)5R34I|&H#DIYO@yE~(n;C?(XtF^Y=r&Ngo;xzegS$HxF@coRe=jwziG8_N z4o`Dwku{xk5ro?QS_nx=IG8PR5G4{2k91Swy-!pH_XTh=O;Bdb+U^gb zx~0PY0gVp}!a0{G@XlfDTtbgzXD)VyPiq^D$5DgizVEz+ALW&pbT<&#u+gn^kYr2b zN}=+@3-m+#rs8~yi4ieCHQ?^uQOxCN7&qtXC=j+wWg3 zq@$l{Fl17gy5Sgy(PTQPcIqcGrf6JL0Y{q4Ner6HF><6*DxR$~|E(q#_F5WouU$Bw zhPBM{Ys|QGgzXU0ZI!yHP5u*p=q{sXa?${yn)~-JZyg_sj!+_iNJsfg9-@yBL;5I5 zF0uc$b$;Y4Mc#`VU*3THSX%gI_|6?5UeyqQ=grbWimTC5KCcx)UJtr(&t1tJYPb*8 zs1G)1j%o3*0S+PX#x4C1aXNB38!0B=NKaT?873@xVPRo>J{3-9iBc-w=y8Mw2ShF{ zYStxLO`-#QMh9M=b_Uye$<`HyPry}+|E9l0(O)C(8UBoA+j>d-?n1#} zY_#ukXa7D{A#EvFV$}p4KOGr#6;FQF#P&yHYKl&A0p3TV*uo+DMsm)Y2T5kuchq%g5jdWtc1 zhyzJ%_levdtiMUMXo4+!`m*lPlLc_@M53>pR4vNIO>%pZn_(AA%4bqL%We5_qWz{~ z#^?d;^xYJBth{J!f7o<)6c8`6*+lzApUH@L^Wf{@F{PFzd(tjHTZ0Ui zn`#;#T>&cJLMn3^0^8|ZQ$Z$jh4}NJmvt?R4o#TJ<_;bOXnpLN)@?XZz<}8q(GRwU zJXwBfVx(;ENB5?%RUW!W9w40o1~MSYGh2n$$(zXVdFtz(fzOmsOCpajv?77{F>!_X z*sGlt8pe+cxQOG$ImFB-5f`_3qkkWu#tOID6#(%#?4OIGvA1*#z0Ko+0X%8jTU zhLn6tYpKET)uVSX7`)?M1eO+)J6weHDjb6kP>+367_7e!7IlRJPAq1dQMPQdm*nGa zKJh;)f}J~Us6+AELgg`#oA9g*C_!w5=pQY1@58U*%kY25Pbb5>bz zl8)^!Pd%dR%4{JIq)gTw_}?jxVsf32vP(JI)$V&@1ksqI19VNZWox%e3DW^0%Nk+LCL;SA#w~ zfhu-nVs&|-d0p0~{NU12&ZU@pVdPsR+N0Ur- zD$CQKB=oAC=1SPeD{qtu%I1`|v|zV&Q5&V}@y@3q#Zi-j+5qCTBmkyoa~k>B=Nd$k zBWfmosNm_Lp)4!F8XbAHsG%=KjNp+=HiE|--j5}nJyM|h7`O8zqhpHM(nTt2UoGZM5 z&7+GyZ?p}jJpeENA7^(R)#U#_4xjE3(k&n$4U*E5k`e-A)CMAq2I+1Dq@=q+dcX+j zkPxI{j4tVvQqtf2yubh4|K8_t&c@iq;#|9Sy`J%Sw&EaCnn8vav?YdjjEvwISqoXm z)44FS-1phS4aYV2bN5tKI`z4hnWR*jQOUs%P0RV#w1iV2U;?7CHw(%gI;{PB43 z9&;vd!kX#Y(ziZ60FQpSnRZyvoCW&@+xr4h2n#+BNj|>gA(%Z#ew69=(!907_;^h; z4j3fZUnrAI|J31!Z|3PR{3Y;B_8dX4kvt(x&9IpIE3}EX^XDg5e8eRL_r)>iWS_OL zE94EC>7~q-y4tGjR)F*u`H)3=`Rn=jVsP21&$BPYV2z zolrah#p+10K}VD9pL9S>{CKo7<;DKhKf(KB6Zsr;d=u|K67m@M!8w>RLWg=A=pB9^ z+dv<=;n~!lg3juIc~!=Eu>Ka_db7amC53pr#x-gp+4qUr;i7>q4CwYnXj#pnIFT?8 zURyXll-Tn{1o#aHoF+SM_e1*%P0K@x3$6^C>=$gc_eF&CfOdU*L)h27ng{8j>4Uk~ zh1jcc{R17YI45mO{9_+m?xkNvwXZ0am}LglCBkzp#GuH2JRo?*8&+m*aWcxrMp3ul)4o$YRSngq?)1W(;=!zHJ^Bnu*QLh6%o%XO`rsQwbLQn5nXlMZ1cS zaIi)*`EcA)N4V#<+qkgrCTpR25M7-Z_!~0zXY8k$B20rUgVMEtu>7O$bPUP^v8iqrs4$TtX%}Jz@o;aEvA5SxEc<0#t7u zY^z?@$_nGiI&Cmz;4fEU`@FL2kzjR0KgyYp?)}_LZhG@3=NG0aLzwza_(>65v(|hry#P4 zj$ZVu8f#If1v6R$lfi*>129|A(fCsw`?oJMEm>ZQjDyuPdqXRzvo45Ep2Hwb9cU@x zj;>vV@8v8w*oEr_H%|m9>s-_rmJ9vKi6q6&esx zlPkFtAC48TjbLerhqhm^tOnS}@&*U^5luDcq=?d=kPgrBJ&G{6P>NdT=zO;HB1}gU zC7kFSg@#-xqvTKC>yI@wURKrZ-+sZO%~44b1<;x03OMu0xQ`y|bNDQuJfW3bYp)IZ zkLgfXah^Ztr81u!)^Uo9Ww64|o^hyYf3%fBrXTj9i(xO(*b-;>Xv#&xl>8*BJyk=- z+|nejf*a3;%N%o|Q&5ZA1UR+b*S7~D@8>7vtvaSM5ViIZCVC>S6xnmCd?x?p(Sob4 z_I)sDes@@;jk5RU`6HD_U@Z1L)e37Lf`}obJkch1xwxwZiXUxTo1SU~QGCtIi&rurBCL^97(7 zn=VTI(h@}IXZ|NJF*pt|O5Ra8UqmUGoQYCS!i3N0j4eK@TTPMoGkG8b&<-1&YCNpZ zmHX1I23Srg!&LH!u@Nt+Wb`2uiZB!3r@bN~^!88@Vm4Dq#JBgiwhZ4&hSigFcY4%b zNdQ}aJSA*bUN>~&FNVsk%%U$dMEJxPH6|e?1og`PEkt+t4{PEj7_u^T5PSH zl=^d^&67bl82^=aj}tbPX?Ln-(raj2EXOV^X#PtBw+w;?kzf{^*=}J288ApP0Goh5 z_PJL7{95~vbh2H3x|3j#CmOsm7VmF=%qyenV&7WHZEs>OdZC6dp5^i8_n<44CL3Mx zs11o29z-6Q@%bSgu;(sq;E>UbO({5;}utabi*dznb-zNMYPlC$x9WD2{UD$C^;~^jh zU27P8J#+#+(Y}+S`w&A^{|AbqLaC%Hn;elclL}iSzp;`Bgn6ag8~sph-6C2u0GyPX z?jp6-7bD8-`CAhxKJ^NQFcZM?YsKSVLiBC|5^+rszcE{lFWk~*pY9Q0A!yTWM<0CJ zaghTDi?8~E6_Ar~|7_!Pnt4j_(k5r&x8_#D9M48)Ih({EV3Em#{1T>WXVB};4u8Zb zAy(Q>w)7}}diK+CyQ?>PSoA(MD9Pb)z!*3OmjohfdQK{Ex9A~8E5;+-kup(Q4l1%H zZ46Uc>A8ly8eDMzICyc+ti8^H3mHu1gnU|ttI@+?%U5akS^L3J?VmF;15beH2kNBd zLBGxb5NQ@U*6BIlf4JspR0U>ryrdPXA!#R{0ksVLNbP=DjY_o@w2=37$(#CshT2rA z!VZnz{VSpAXuW2S6HgRRFX468KU0JVWr}F~m6t%Z=%w1?dwZKr)|wH}F|q~V|ep+sG5Wbd{j~tJfyXb@99lmzbVK-U36TRBf~)2N9TAi)|>#@JyS-=)@ayfkQ<{+bE{Kj zp7wt!$s92DZ?0xleO!L-l@9(lm~f`*zdiW9o03YISBQf=-Vo9HUmqe@ZU_v0FToH* zm|+Q@Mo=Z&J4fp*!qWg-k2i?VO};Cc-d(`S&xOj72)@xPs3SjO@kTKtajG(pAJ;w$ z7+p4S1IOZ(etNA?mMUF;Wzft~c?7%YyYm3e%{0N`^n!e2_tv(#&?O+;Is%qLy(|@t zzM)J#v#CYphW%&c0UzcVYyU<3IvVCzj{W>x$JS_&duV~k#=ywL)=Fma8LwDNr2@hz zq|;AT!;;$UiKA3DA7n$UTKgcIs?BW8CfDHQCkMRi#U+p$HY?vh~jrkE}eh~9qLydzg9Q~Ga$6LQZ9xa!>s5kpAb_8}yaqVT$WVvO&eKGKk zrJA(hM~amtlyK&5#E&!B2AJlUN3zfo(@2w?0h@DgJ9_{Z!5`~YQ zq7Ly*W|Vv8At^8w0CSk^#)oAlhk-`|7)Zt|>DP}KEhU*SX*GbEbl*7}u!L4j&;?Nw z=4e#ao&ZSB!mJTSo!UQL>T5t}$WrWf9UKxo+qro0u`yAAA7Y(hI3*)ecTY$#9%Uir zxxRE--W(xt7*hJyU6p7R&w*?0)2Cv>nlh=^bn4daLjE1#gg4HU(~^YYK^os}k`O2D z8!8Xpu9#c0Ue=Hs2ssc3$PaCZ#j)shV3k78`Y$P3`U+#f^R_mUt@>u+6weS&bkw-p*+)2XzlvC zI5o(~`0bg|Pz>Df{*jibhiO?)&dyUIo$ znJK&RsF!u|X^MD3b1nG0RZ-y{?i~7$S^QA+8ZH29dx4G8Rl%J6^7`L2s2*bH5 zAt7mOE$yBfdvm7&*fDjl<(6C?)%2w8J>Ht2E2?LJOyCS`5>q?zJJe$GAffywkUac<45i{KJV&gGXmb+J9p4trS=7%Tn2yjdQsyCjW^${=uJAjVW7fHB*9)*F26;t{$*Dk6RMaF{k2IR&o`}oDR7zGLZwzGXnRVU8miyvwohjn z-+W~Wbis3DsQHF#H&EZyz|+TfI8e`Y7HxYJn$J*!fp4$;;Gp*9Uh{!dZrZiLhD!)= zXNim;8GYi_G@%;_A_80k*EOqB&y;fc@3clpzCoKV@+<9h9ZluWpxw-eb?2>qV`4(bKW*&W z&6Lr5+d@1KF1904Qv>7+=Ctn#YK~xOI3m&tliGK5H67nEvOKxU{f7`Anm|5I@>@#B zDRs&8;lkCPeMTc=-=0=`{+Z_vo+Ey=^XZkBx;(VbPDc&1AYJ+=df-8t!n$HnDchZ; zJ)Yf#z)Q!=q}g$@F%nQ(&#yaV(!6BCHyhW+A_a znx3Wm6I%^Y-jj7viibgzvw?YZJ1(oveLIZpxSMr0&oQVG%84qd`WjX{ zeW!{+E!H6f16UM80+#QE=AT2}R*4rr$dFxc2~{(n;+rl!hdC!hu)WR_>wVL^X^oL< zX`ZY{0hcG{fgK+>HCTd!emNJVB1B6=WM02o^7Ui0>I&%is`V7#TnJ`(%lOmyT850+d z)*!n4Ms~Q}(aO{0{!s>MT=Q8fnnsqldh0@>)97@1H;}P<;&LahIjr^-m^?b&a5Oh1 zG=QXk-cSB6t!U1UwwNp+l*GPf@5Atr_ZACr|LQzo@XB0%vqdOsSkC$MT2vX}86JEk zhIB1q?wr-Bz0S@!KOR$Q^wOS48rSGsbB4x<`#Zw=Wmd~izH9BAT=Ra+8ERPq@MkZlW?t0mBYVHV@M zxdYnIJ(c-iRTt;|3KA}V^*0gm(CGpgGx`8)`sgf<4(tAawpA-G)voRBm$ekJF11G{ zkfE8j+ej$ml`0Wo8}$0Pv#yYh572aNtO^nv5(Lpzd?1s| zdh-E(DGs3D*x?$q%eaioxnAi?o4E%{J@G`dgyX2OB{_y5n}qJAFg!CXJFrUUNACAS zyqrEV^nNsy#AEc#0EaS+7nC#}=GOIdaCaJVeeqsupBEb1wTC^>p{CLv6_bp1mykza zDxp&OKj>b%C(Z|-5K4I~kZ4|*r&#m_KyXtwy)}GK{O*_1eht8UP!m~u=pu8~rQ8)l zcg;E)NNAX&+IWuE@f8`Iot;m8c$QcxkWhHCaYV%94hdx4uaDb?D0ny)O(Lr}C%c*pftkyb5wya^DUtCHv}CW70_H;-2Sdh;DO=yW7GzkJPY-xJ=-bPE-!sb z3Znx-w0Z^u6ZJ^0!@Sp4AC=T|GD-rHbtc2uN6U=sBC$~&VxN}6u0D+hJwAvx9G&9! zo;-nBK})-D88zywwX@&i7#7EY?-u6Kj-JnOq(VgLa&jrYF&rh*OJiJ<%-SSqO#2!m zM36j;EW0=g+4LgHPJ;MUo!115E2KxH{4Bl@hZjfgix9&ytqlT)ctiDx!LUPc`Q){p zibViWKd?F43|}fP&BreVz1qyPp}lW6E#jygLO4z6C}or>fB4(bL>IVf;SU zg5+Wm8eECl`4=X>n0l2c;k43ASQ3^XX762}Sh03jBqBgVcy~f^GP&-{x~McMy5!}h z*0qLt+z{t+%-`rV;Y{nrig!DFyhr^O5^_~`U1jvw>lmmj=G z!*9j#3C`oE3fvY4tcm;HljZ8=JU^uYaF?5BVl0i4IY)GUjb@Kgdiw3SF}_fX;=9|B zEf5Nzpq1)-ogTn&q?1$+9il<-Kni~1_6*K2uz|xcB4fH@#B>Wt=qC@%Npt0NF4KE= zqR*8rFqe4vp4XGyC4KgKuS7B9>nG9>?%B!ID{$Uj0h1}YXF}Pswl7@G^dWw`yUh-q2OW@iwI*uZTKxG~a0e^+ghvv=nrjL5+adTIsS(r&>$Jk}^ufxn4l zRL&j<;C47_dWj@$!M*#)yYq(icT6@ACajnpHCLHmCX1?>W<;#f+=UoEh@jp`P;8DH zmf!jZu&7*O_o}UH@-oS~IuRr>p6js8w+@n1r)yg=YGR)-?X} z+OMJTk#dxHfhT5d5*mlSwc!Qj zNFQ;n(thutFW%u(2f0NK@XQ{lX`U;bQS3NKjPlL843p>-7ZDOM0E)emt_t;q$({uL z5(&-l3^u4bqhbfkEdTXK{UASa+Rm+%J>z8;#o*~6Hhht`TeJg~qe1+}=~F4!3Xx^< zAWef}k|#sE!!IW!fZqF!9AM@d{BLxjS50ipdjrOP!Kme33gmD!G?Y~*#c+o4(lynx zF%+J4Qa}_}lt=D=j}0SX_+FNR+YsZQ+-&@CbMfVs7 z&gAVm<0c{SuOV<8v(KkQXAQ@5w`xKy_EXjHIu4b6IrbZJwZ(`n9I-+raJ$sK+j8zK{dle`+u2{&V!Oz*-8&(Fj|B& z{@sJl1#FE}l<=S~sTMV8a@@2SYXLtiPn+j$K+;4Y|^y^l%aN-mDS6 zxIba=!~oosoL_@(cs#qyGg_JZhf=+7^^#~FGxgn^_ANK686F>a99}nz;wyUXaD$pq zdq{i_Vs>i8Lu4yvwH#dh;I!yr z)CCvX%~+>!*Xb>4m}oeNvLG7ZmU--P`X#9s4A2x51Mns>a!-xt;MX)BCNx3@M2BJ* z;J6z7v8AcMb)YUXP;6N}6l8>20-_paP|(CyNzy-q;yKh53N4j=O=qYL`kIiWlA3II zVpXEMjRGu4p*k;7a)lDAnFaKfBnjuAToG0RDJ@OCeF_EslPlEejPyW-B>%}3{Usr# zC8)(G6#P%F(EguX@$a!va>c*LLZKEC(02hSxk3kZ_ya}%-_!WF)qnqx7CIoSLT6wI z>P4{&B2R1f?ljow*lOb2)i7yMB!kpzMHZq56V$+g$i`;4GOM^o36~~sA*m*K^=2I9xW)iq6mKAl#J>sKuHqM zP{$V(T%m^Q3P8aX$*98!3a;RQroKrvT;rQY#m7*!?Ioy#1}LHh1y?k{37k;`#XBhF z>eHHoeH2{r3Kiiho%2T75_O4&+jG<0T`HhlBlW6lNobQfd(AWortph^bJwLCUi{mN zwdN#xy0TphbexPrZmQt7od3OctJ1j-)KJpmQUiAqDAE62Y?aQr<3jQNzZd`ax5`$$ zn!NVcuXIaMp%bWJ793Sk4)`Zl1e8uapN{FSL$$Mme*I2W5$3JAl+x&@O+&>sN;lqJ z{@6Pxk+*&~!N`BV`X67B@;|KinsscD^R=TKfc1{e|!aMzx~Ho#Qcx1K*=a5z9J9BSJ40CD{kKW<12`&a_=2b zpIA)TVzdQ{uMowo%Dpr|X%*zKMSP12)D5Bk*5IgnFjb@0-;);MBe2C+Ysx|7hjOTq zkO@rXe{s*ifui2#$DQq|hZ5wqos8H$SSi5_S?3daXqxiGW7_hoHdEPrqPx|~$@tIF zGq)xS%ds-#IiE(^GtOcgh4SjPtls^-%guC(#t2azP$)zTmGKEoudM8|s7aG72)ynL zoDkslRT~S&Ul+RI(!5#N%^ zwP?Zx;w@`6`BOpg(@_I9_mEiorBbXigz_P5v6jlvAiU1^!Br!DG=x!S;(@M`;BnOz zw1pEd*UF4Cy@RF-ptX*K78pTB?r9oQ>5c^>U*dQ!SJ(B&DzxmE(>_%}UnTVKJgMes zC2Awt^qa?a7uP5x>aCPbvs2ZPdq!bQ2+TxrbEZL#0KO%|h!BdP{XUXw!9&ao;FN+n zbfy=nY+}EJ5ON#{(8S1^W`tdiN;X)50>fZPmfp$=a#Ht_&IF$xZuxAax{FiG{NLuE zcs_G21``O!o0z@eGfQBssS%BTch4T>gx(y)^1dY4ZBn5l5ju<38P71DQPqQ>u|E5QxDm zap~FUE17jmbiTpZcF#!!?MW7>yFOwsv6mc6IP6hBFaU?xKtQ$NQIfx|oUctjaQDZ{ z$3Z6xX54j@!acaRbkS{7AkgWa!7g0G`Iqea@gg`H0!@u)ncg|txV)mS4iLs!^2iuy zANn`b0m#c#s9&e_R?4aV>z;zB(m$wpVODsjV$T+*fcdSZTa9@FmG{OS!>YV=a8jWo z+Xl(yTZA`x9)K}_-8LA|EFb%Yo2JCzkB9N^p21ME++@kGRjFM+@5d?1$e~(aM>ee0 zPb5h^@is=K=Kg+^a?MkvpDyn&Z?5eUe+hKHLjoDm9pq|yzhA@j`<&JCm6(h5C1ro0 zqTAbeXjYDrWvamXp_1l@l+jNMV(h@$v4_ttx+$nMgg)IugRVl=-hOBOyNQ5YpM5tR z>wN-!$J-ciBSkG5hF&H_8Zs8yL;L?#$w>Dg$Av z;ym>?t9M;Zf$0S(=cZ*^NWD4u$`@xkVsqEAJq`V$3i%F%9s~sgzdo8W3m;$bw9yo# z4H9~gBBV|9l?!%zR7}O1cIMcHTAK6Ao6{lBbo$YkCkmH2@BEJ_jY^(N;tjd zbegs97GG8hs3)Ko_6?UlQ8`trk^=i^o>r{PLgQ0Eh{(TRdLOS(Wo6`!LKqkaS1Ln& z!v6Br5FI@M*&B2I&~K-U)zzn`vh}q7aZvBlDYz#Yn+N@J2f0h}LuYnh6qmoBrtl;> zY;$s!`oby(p9oc+IXH|T63N~eJ`U-c4;Z|mGY?W-s{yMNM}DM*5!$|Vo(@Cnw!*pB zQkjjL+@c3(egXWDD68&ajGs36sM zD_AX)aj^5@L_Niycu6v;EHQbwHBAL|(| z+KFlKM&*+Jc3ULBJ-4eRDY!et`bsL(4fDgydkoKTsOApEy|r&PG;hhxHmpv5<-3RT zeQ>1XP8_UkRQC={Ste@UYjDuxd@pa|BtBfmfV>n6AJh6pn(U5S)r~hpN3DXk($KXN ze>3d(Aprk&nJ-QNGW{j~R#>HO<$1!>L#djf_@-UoPfZAsORD~8Yj1LR=smW+QczMq z^hDN>=Y37j6t~TaYNKQsz*j%PD_L;xR~Mcrb5u0&P>Je&&869Ed{rHdYD%1{7*+hS z(a0({NBz*!^p1WOae8-_^oUJN!<^lpz9055?L1(;hjs@Vne$09^7&uAC^kmmN+t0| zOuQoUHg8G#niKu)$S-|y+dRMxd;_e9bbDp@_;eYadCg3%UDNHb8YwV;(&J}5`*^!8 zgO_VEZV=i$;?2h=?!jX7Yot^Mh2%7&dYJDww$MS2pO%kdV_d zI`&;OPs#RPPcixxA86|f5~f4Z{P3B13n#_Aofi((Y?y_ARUCyxDU1s6VA|XIVOI55 z*N!e4$jOD;<-T+tJ+TDaWE);IeT4|M6RS#GDL4jp%O_z zrE@NXv{&j;V5D+)Q!IrMu&Oo1CN1TK*;E-2e>$JXpOD(@Gq=6RsM*vy zc4G)uupQ8jxQhp)z}-;30?s$RJHi2mB+BbXKe6FxEcKzjVFYUE&(I|jdOCGmXV4gk zm>~VxqBF1?O=L{uCV>FkjRTKlXjK8yQ<%zG9tQU+zks!8`u+Bs!NvhbbI~t zn4TkmlsJP?n4%y@| zOx6s^f!*^3*nmAQ4BxPs$|;2HHE!O5NJ~!LeDzuqzdzP3yy!@r}wU0B70hd$TWo2QLa6q-mOD6 z(OZ$9@K?4QZbp2D+8G}2o8z*SX?EL}?C5o4V{lW(hf>i1NS?WA3q=$+BnHjpN!~2kexFaBK$)7L>d53-{g@v|I)hC5LIa@AnB3Bq6mrw8~( z>Wox{qprhQ0HT~qp5Hsy;~rbGYmCX{xnp36ZvTd*U&I z!1;3JaTKb8Z?yV$)PCtYz!~yO37?lEK3q~+8H4H0rYEv`Sy5|u3k~ssx{>W9AdE(A z3z+_V-$*vt} zXcnm%7`Ss_Iijh&3Vqwp%4hcJtqGOSg_KqL4A99XE)vF803Crb5P>@H9W`SaiOPSz zRE9+JvbKl;)e?0J$iEApBz`}Gl z{y}GOR9l=q@rEwK(XVrvE2)Sk4TIODxg5#E@*^Gh@O}X^bnN9- zs*ZjMJIU)`I8LRw;i{%$Z}CQ3vA(8Ih4HL>?K$R@*iFQv`r-k8$^Tg*ZX~_8x%0zP z?GTF=EAZ*~nduA&6zOQw`+{$!UDT`Zgx*0_srVMl!4`D+1i!gYD%0EbSup!%c=YdW ztiVL#d->npuE5m6i*a%Szb8FUnpDVU$`B;J2_9lc`e7lMOYyyiVzYEe8a`s8KStyX z;@*@FOE`h@wE6anYQPtc)-9^iOE6hp`MADY_!HiE@WTgy6m}K$$A0W`n(_$82MM00 z?$_w3a=EU6y*_OMNPUn2SDm}sF-n&vMkD2s;TW}LgoqJe8-A2 z(Vu4TUjQI7GoRFIe}%be?DVaZl=jlrHx6-G9?`D1o#v0O%&pfDT(~|A4vA--Z!}A5iQK7q z=mrKWEC!l$9{Rw#d8`S@P=@8KenT%r)YlqSzQrh0@-5VG+ajL`Z(4yBr;-= z$9Ir6YE^avsm4fT|p) z>CSH^Y8|!F)aj3VKyB3gcEv@pj;WrGPKYwF;``lPb_JS+hGy@&fW(bG9@f$|CNNgL zS}!c&iw!9Fcpsv51gI~fa}?e-chU4l z2ALPxai7{bqB~JV7W{dKqV1#D08w>mK^gP69RRj3AcTl;Lbju~cD=D9BILSd5-;WY zeYnk%f&WCt(Ln@%+U%roiL>z)ydo`M6+u|7WZjmb5(n$*@_Go3JN%QO75ma)w4eQ$ zdOf@NvY@sc@6ZIyGNrPdLRBs55PL&SN3Qz};nh3MfPSq)3%oY6)BsFK9QgTDIk)v= zP(C`^X)8&vS68+F}!tx;9U$Ema0 z883%LrQo=@sTeBA8RDIFE@o4@!n0$4ysUD&F(df^WLABo9!uJo!DS84gpmvHBGds(ajI-j6k40Kv&%Cka0&qur z_#QntqnbD6mY%@6=+oLL;*Bm_OnsRqLANt=4#q`uF!>u)xNLXnDdo>^X@k%2rN}Rl z&Dxfx{pVj#%WAyY(gOC-{3sL@oUIIVu*zi*@8)K1({AocBdIvSJ9W8}ADoDI=5Ah0 zJ+ajI+d`Qx7WFQ~%NN7Pc@V2&WS(na-(b;D5!5cuRAw&mFyLTXdF~PVilT2mSnLnI zJ}C=QyoB3=Gl%Jqd*|J1FZ)cF`*-C;^7=(6hyY6f=$|hTuu%;6IoZ_veXAnyXM5@^ z+%dqQ?ha9eFCSW9$ZCJSvI9E(7^N^&SQNQX?exTs%3QH&j zt(Gi*d;WJ?>eSpVeUE>Gb@N%x+kX0piA+FE#oB|~mp`gl)5A^k&LuNzJYB^U<*C|% zEsL@z6+zl~F7KQHf8hVFT#8@v6ay*#^tYuNlvt>h`{##FT{VfvFdHNiz8>f{3OXYd zoMo2AB2s>JmB4@zc^eiLT==-o0{(JI!i0%)n>-ZE+^H4ygv4!3C%mdVuBSsS0!61+vPo5yPR0#9I~-P49#0jlIP zJ^E`&1%+1!Zxy3{GCmFpBo_MgQfFB%Ejxji8ca{?{ICOLPD4CTr-{KNTQH{M_v8(? zuq;E@xuz=vGa_AkE8`vmr`Xzp4m3>-_-o!CVkj>AGoUJ?X=H72gA2IW4DDD0rsb;d zz1`GNo8sfO-ZH{69?bjaDA*GS?vW&ptq+An&-HMC*PnfVtMj~hNx1b;JE?ZQvb^T^ z5k6|@aKV*aqwG3NyO(>?$qJl0qlc@XBI=`<%e9DMt1(bm?>h7JCRM{4_f7n+Y9*Ffx-{%g>6w(anX)W%t2Av6_Jr{{Q9 z&dwcKY3^y3pE^-#Zpe)gT{OTA=K{t_Nz2lw9ofkCkC({pk>=jgU;)UVj8`VVdb31+ z1h8cn&mi?H*u`SA!YtTJkR;Nl?U1iCs9W!RbQRI$t?V9g1j-#>I>e6I)K4 zqRIk{q8kt{{CR$cQKC2BBT%-oc5UaN^Y{3-5e-EORF${=7X@aip7*iLtOO4`Ivuqt znr}@v+N79TO+zNuih@s{BcSB4N*(%?6nPJp`kA4)1fXPR=S`-w#Vz$>^vC+5RraXy zyy?|a9%R`dubl&!>fGD?Os8l%JWqAjokD@?T{M30dx{=G4V^qf{7oNcO?tg$ zOnPPa@PJA&??s_MxkXxZm)0WE34qC=f>`vD<`cdWJn)b$bpgUdaVnNK$69*$J#RDb z-N$o~iwPzCy2rP@P|K$8;F%vqGjZIJDHIS}pBia^ho_aCNve^C&Aj(x$OUBAc@h|dpjsB=oa}ECIrxFC!KlDW|-Pkv`&eEpd$+^ zRxO5-w;tG&M${NjffW>IE5>m+cubRaL7+?M6`^XhBSx7=!Qzcrtu9{)18KTC8 z_l5z5(Uh5Li1>1>t&%G&hyHX%-YO|NmBz?>5uVF}s=)^0d)h4%w=xJs3b&blj+8=_ zI2&j>_>&p`PxS}|s@ijTN^Nk*#FGUoLtt+_#YmvkD=s2Ao8mR+07?yD7n!tfX%ssa zIifjuS4(MC8vOIQ5ciW2>bW|=JK+&Nmun>0J?x_=0-g-ps@8AqfAd^I*R5wYYyCbl z{)4$jCciH>A6JDrUimxeiUp@~@To%F_Q!X|*Jvl8=<#nAMpI8PN=fng`TG1FVozQ) zvkDW6_HB0JL#JSIL!d)zrGWcTe==G^Kusf6c*HBBblG1YB`d-NeqUj;0nIF>9S+_PSR$dCDfVzuF@@}} zFi97(YFW-#OIc8oH=$XZMWFVa?9s1X=I!=o=BMEUAWn#I-Q6=%BD^#PgbL_Num0d; zAw;NjA3Vo|z^S`3s#&d-W?Ub7&LK`OT46{##ZuV2vx1OvQ-Iu=T(ss;RISKfKuKbLI`TFII={5p{#Z2WZxz(Y%?FZd}8A{S*~h zXtCph3rJqT(bZouVrrOnvl3{6$yZbfp7dYYgw2Xa!iv4sKDUn9>(Hf0ENGi@+GdqZ z?LsD%TeMzmHF4t_8HW@ZxCSqKP&x1!!(B^B>_8tg5}m0BvFVbZ>Z$#3UTA)|jg@Xw zke(^)X;Oh2l%`&-^*l~zZ=Z46_BQOTVnksZE5zkB9X*~!%(b-2K`$cK zxPE9-nozMr+oZ*u_OMl}F`^G2%QOQa7MEAtugukcf)iK;%vKvkaOm+{4m=Ac=TI7O zlaJCD7{2?or4Y^Mi$52MO-Rtbpu$)|FKGP1kk~JP0)aYBL9-rRd0xE!4VUaknBydX z;14M7%Jv*%80Fg;c*)G~o*?3ULx&`Z4@ZK<(O=3 z77uQQxv^fYQcn*cNFSYnOaaIYgU}p4dhk?llXbPOJiXsELTT6%5@l z`=$#NrzD&G^6uq~8T0!3(@%M}`|qlVycP9KF(>P*d&E&0DrxOY@9J^>!^ZPa1@=$h zBr(OZdu9*pir7atU|3PE;i%WUz6;?0Q?nimi{Khfi>GF|SjUdH#$W!4x!j<0Q-swX zPDQ{uNGRCcSX$xH>Ea$Xk@||vvt4G!YqCq;0?>_*0HsAWRFgD)J(a-~%f`ZH;hluE zyI`%J+v!@>U8GrX;MaXGhWxUFiBq^k1o8U?DnB0D^cO*2P85wI1?jJU^O@PpqFLZ# z&Qlp-7vL>Wb&+1l{@Gbjtv7-*ZxbQ0;UXe4-Wt?okndcR%-`)7Cb8dsguhz~RYGVb zQf&2YSk>A7HsQA?=4K1G$Kk(c8p7Epsn$%QyW@0hL;u z4~L_~RH)Ez#DoE{PTn@8BX|s$Vf0_BPCoYS)MdwoN$D|oWFc}wyEUEJFg_Vj5cb4i zS9@7Sg$Yr0z3x|TG2w6ToT_6rt_XTEaM*Cd5LXZbyAEBqW2Ks(PdgeO2TmSG(8pU3 zE4}|V>Dq6PmWkyrAMLQoZpwe?^vQ$RL8aPvp{5XRlnvdFFFV1CieX^D>df?oyY4bP zVD4wLNrf6ReF#JsN9Rd^`tEsUXxg>kz&n*T;G|7WSL6Euw+`nnw?UlOO)+FC&1t3o zT}S&$jxw=j#IYJI;fe|Ijcc%){^}GmGxrnkXCmGK)@mpwmgEaf27+blh6pWO@nw4# zT?y(`7IQxC`c1~Yt6L#txFMG$QrBa_j5zy~3O?Of^G^zsuKHIhL;0k{$gJJ$RWEn` z!y;)4yUNLM&xj8OqQCpk3FT$Lr+i*jghz*(>%!!;ljyuhX=bl{DnF=_IYs5oy*6PW zX2wnBXp0Q9-|2#KvY z<)RhG#)N>hV>y4$;7^PmOBP<_Fju!Cr4W**hjcBMYyy$rMzQnAY{9$({E_Az>1ZjYjyKWWACFdYx@uSDrZ=mufF_P>fg{wxr&INUo9Tq<%=o^ z_L87bmu_n|f7R572?-ZbY5TQ4Dm9VAn@`za=Iy`yy)KP^#*HdUtQM<|h|3gvx6Ot| zSQcUMR+O8gs{hqoG*eGPrl7!y5BegZuT$t?_yYPMZ;t+R3v3Xj^lwykbxzOXM$O$V zYDROz0<_=!JB-THcJUnpVluF>y}}!tJ~p@9l9al|+7{#?cKO_a#Ads-d-wg3I_l9G zYkmG-Y2OvqR2Ov%0qI>KbPJ(K6)7TBs)Q~jgeHlIbOe=v^j@TgCMeRyK!6AV=_DYi zfYL+gO+*M)3DW)J_`mybU+;Z7W1O9{Pxcvmt+CgdbIo<%KU4F)*`4@COo@k**Ciee zYJW9MOmxTb(C!V1XHS)MB#CToQ#HjXSu<%*SEtB1NyFKR#sp_iOvmeq!1YeLcqPot z@7DH@P$yyvTuW1v3W%P;*$3F>b^)$RoHchBzx8JJ0J2gPzlaU*&ZjJA0g&Ba14oX| z8?Dxe<}iPyzek`Dr++XPT$Gs3F4XqEjCx!4p^Z+W#t&hR0Cp8U#q323_LvE~ zRsH~!n4{!)HSg%_0m~NNAUm3tsHFFwJ>ic}3i-zsgl?}q=fz1{la1o=EdE13SvaAl z%poTe+!gYvgxsL*R4d-qhSjAEpGm3J+5lGFt%T!}w@pIqNhGo+%;xC=X=At-?j;q< zqhF$9z2NF;f*u+kd4Qqby0G0zXs?f?W-)N$4whS6&hSCnOgd&~uGfcMT3v0ex5N98 zdL%2!@aJ@kF9JbZS044KdwkH!W>Wt4qWLF-7w;&-GgQTbWyKK)wRz{WaZDr2FMSP| z5Y}Y%bT6i~hBNmQ4SUWt8TIS8s@N>{4)zhrdk!OyE;BW?rQ**Y)QO_xc|Asei^sZ6 zn9hK;hJx@q+grO(8$m~t{3d10H$ND*E0?}M#{mA^rJ%l=p9S)TAAS{NHe8_H{Be_W zn;y?|k@vyU?(+qu{$kG`XB8%n(XN42C!vD%`1_7hG=V5{@!5swlvB!-BOQ%US12DmxUeN=pmSXuz##?Zx$f`*gCVs zY&YL{wM;G1F3&z+`QB1-ti<_y+ma>_6tks7SABZt_QYF(-qn@D4VVgyV>2&0HI+%W z#%zEQ=m{zRD;?MX0}31N&O;;-;~;~xOF z>YSOZ8@l`Q(DzCjEuKd)F-#6r5HByj`N`uLT5%4RwZhCO#nNOp%~0eln&rkX^n46& z%YBBt`? z8EwNTrhnz;=a!r9c8q|$5kBoT+8mgeJm01Wm?J<+?=?Grl7 zs+T+s%n=Azs$i=5vf)KJ{nj9(*$vm&BqQ-vNx!1!0<>71XrQLN&3XxQ%)^&zOKo~o zzVc;9GxlU>Ac}n2=+G^e;lVa2ljl(xAYyz0N0vSiyHK7*o7U8%#7C33TGkTCieeobp zw9}X4!-0yMO7-y&SBbdE65^Ft8L~m>nS)K;&BtSowatbD=*;g_eO**d0u&hZu86hL zhZw%EtWI$Di}y1=t}(-G*ea0#?n~D7jdP0+Pnnwn;Kf1%4=-&71ghvA+-t=UQ+9n-fb zMS^wXe{(YWUMUDdFAc1e|8V&*hcYW!9z--cya%$teMVg+5->qjo|@Gre7{smP2E3o zf0})%{Lqnn=H=>W*lN8PH-k{IO6-mXX6I2gvAIaMcW_ldvGB9fWe%);#L~ivY8myd zY>jHQcXh(e^4O}g!={`BA)?-5+RtEKmw62MAN7t&%gnY|B0rZ}g7IeL>FN!d4bPnB z{V)j+eKDrCu3wi>O&$jvJP?$klw5G(SAL=LD_oRH)-&N47GJQ0(c2sGXd-+A z{l%3B@~Vjn60O8Mz>d=qiG78(9j4*n*+x5sjYR_mRl|d0;Y$yL(nA?XxTIMbpNXZg zsHA0j?8L_{4J}4LpTv5HwM2@%o@#GOdiB^Kkf81PPU$S!f(Eh+O~~;e75u~UwvE}JdBr8q!0(p|Qp0K_ z{9FgupGkkh6h_6VMH*J?>LlIbQ890q+NizAn)_#L*er#KU=`Ia`3Rz zSDf!SW)Y7NCUGdMjhzmw0PqA+a^1E8bJ1{?Xno0Pyb^`LCgiGw;SEtpp2^SW)wg>P zcYXWQFK`+2%p&%7tc(Vcvb(!(!LL;d$b~w=d}1~Ww&dU2sSD7@VI-K__PX(8%k(xh zcRDLCcWpLkc*P-T<%i#pYC^8hcdn?pL(D!7VJLu;oaXw?r?ByWjwbnLd+amKNiIU7 z&Nw5nP(chz%;5HA%Uf&{14j-HJH56_1zVT>GNggtLM+kIW#NBODeL)|xQ%_=)%S9u zcRbKr%g7M>-tguV4Bp5YK1QhPR0s zJdW=1{D@`x0Eessl(zMQy*pL1nMv_9N;TI#E^xw~8jjICx5}PT?L;}kFmcjiEeeIH z{V^TWUDDArz8O5HFyzFrWzdDocOWJY2!X2!l#VT5i}<74Itvi9^y>CGN%(E4cBiu7 zDW1w}f4(QUY)F$H1AE|ueq;aUWNI0hKqXHS9E!;hFCkTEz`Y?^WjNgjkAxPOT+VsVE%lsU#Z8;@k-|_ zQ~t)=-l&rKL*HFVXdLN;dM8}@EjJ96;Iny<=q5l&*ixOu(uR}-af}*aG6o~d4}cy3 z9*-$@tVi<8E>HVdrxSmOXGA6dx_~{I`xZMbouAkc=VY~kz_4yHKc4wIHTYids`nax zJK=3%X=4=6n$k=qn{(F#jMorW>Jt{MkTkP+)BWy>jQCB<-vf$~_jLWR&LS0Xv> zz^oQ|0%;MmW;gYM``o#6H^Y)Pwxi}l_RwXbijHO$-V*P~^C(Btl2wW^*^KmcFjvn}_LD5)5s(2AKU*rn0#W4{HY)5vXkZ>o^KmoU|-8`l)Q zi8N{Vu?@zaA@8%5U>aLZ-@dhx`5<*(6Vu@-g!CqSy$r5fQ?Fw~rm+LcI1+w+Y`%5* zh1ZtkYj*gMS80H0wf~VQZaeuGMUrN_CFz#LRfT}+ujiJJc5O2|VSiV))U!*43J5mQ zLd*&F&D9{K4o7~Tc0`y|U4b$nq_3unW=s|R6D3-6MU$eM!6`l7`9-$(05E{>2e#HR zY|g(_)?wz}b1?=EJ}A%Ku>i2s@A*WYO+Kf8^`Z_Ka9sq;;AP+h1kQ_L|8f*DgoN8i zMnkSZmo|hIp;O+ZROg2>h3QDg=7xCTq=<6MX9uYe`qP!XsR@ZoD=9 zTvfmguMpb-`j+&bT$04y&pK<_uD59-Z49&uf)qo7e)RvQ!Ah2KRgW)<7`^0y)!A}$ z)t5^7RzE75m}%A38Bl#T9Z5cl$*ttxGK)8zX?Aw_N~vSiah+`=bxt)XO7B?HLFeth zzc)(NsG50kYmUk%0VN@ASJgv$5P+-6Q458#U)KD1V#+Wekn9LSp*~Hl7nbpIA3hr3 z8;zN$y^o(?rO_05();&PJmIc&|kTACIWYUOnz}WK?29A+B$g{ zXJw?Yf?7d8j;a{~wvRwA(Fe(n;Rr7ymYPaI1E+4aF6fsimSg5+hh8B(xUsu}c6?&?~}RQ(>Lt8wVNPnkN(SY>Z8WypPMrq;Rvv)%sb(>K4O z+gro{zpFzYiGX+p^xZN2fKRj3nW344UN*H zz5+e{ZT=P0Mbe*JoAS;k?X|wyt*{Y$wjtZTwx?ZsE4<^=P;3+kJ)pbGvR_6O*gPNjuER-;_xZiBTuHZ zddosND~Mus$4zNmFcxUYv+rC7t!uq$T(BADamV_rr!B(kvl~4Y@wok%{QhkDZxN+A z_;x>uNsOMxp1*z2J>*`PZ`qHvjf)fvcs0jW<-C8m z{`(eZm)FPZEnDfp+ar&9b)y)yD z8$qPL88;k%VJ?YxxX=KWa9;{nP0tk}E<}M|UpH-38J8b^h`0KDbY;`s zrRUtN ze+o;enZNEHgjBwnu~dDOtD#}c3CVMZ&g(t!n!Z(18sGP^>|j+qXSrMKlECz>dP{nK z92@iP-uDs>!s2dBW!&?XWtB;mONyZaS zx-#nUOOUEHVVO9gY+Fe?xsM=L`}?8Y0&x0NwNHgQzDM}$6_w_P{=uos7&A%T$A!ND zXu|pzRReqF%PonWfuS_sM9_c~%-O8)Se^Jqn{gdLEIUETpq*a|I!2reLW{HyL!ksU zIW#_3Lz4ypfTLrJz6DhlQUt86CfX9<>AFW-m&;te89#XQ3aV=b&DL{LO{$r<*4-Uw zaYZTbya){z*JSgm{xxs6G;)2WfUjkedX8svPh}I}SnXocXMJ~UW5-<^=sD<b;DQozD~YB0n3TJ-yR@d|6@;d+sILSum1PT1uUhvfa41(!nEce_WJ zx4#yB^iDkn*?+DS$8-W9lV&@B7TAv!PWuC=-`m`nV2;JWH|H1%rVBt;iojdA%iYaZy7b9TIDc$D-NQobe zfz~IP9pdY{6DZRvxr|sP)_>ypYg&eQ<89+M%6vH0-@$9~7(?GMId)YG1aU+p<3^_;hHK>moSF4pruIGdR-pET%oU)oo-Mf{%S-2{xO zVv4*~ofaa>GYaHlv|f+=Bn_Xt7%KVVHoCtlZLL{YFGN7@*=y8#PLFvsr+?}`U%}C# z8Pw7dvy2m*jMJ=CTO%`bf@n@1bctr4D8A< zG}A*-3PI18KonK`F%KX{wRv`PxV1|t71sxqA2q`IkNXqUJoAylw~65d_JoVa6);wJ<4?R zqb9H-n4&*;+2S+ys3Yvyn&M_r(W%R3IL*(&qs?3sFR{$6m`Cyf?nHV!@~kZ-H{?4Xcb3wV zs{mougNJa9znuNyf0aefI^}>b-W6=&!f(C5J{*j`I3OPcHqc}a=yG+*;hUyHe8doD zL@u+DBZvCDT&DRjcWpEK<6E@^QwRplvfhe3vtN#_i5C|-4qzhMh}$HQ6`gifr)t^| zEs``4L z={H+dPT~)DwoQ|jR;+KBYsG0{V7?LGgrZM_+8{;nD< zObor_B8(<6aINoYV9qO;-Sa3%v|REOhVB-V+AC!?DQfAF_3zj{itCnLj^Z$k1 zI>fOar$L1pN+6tsN$xnP!CbsAHA*r5ok$J+vPqM>esHY?Hi39K>dBb1P-QP~k3DB+ zWA`wk+c$R$lf`bjsg%4>Mr>syghJ1Kc4CET@Gz%Fj~`mD9|%#Fb(UXC<>f))+4d`H zT{zh>`4A?6HWr8~)UVcxxVpKsP~wq*ZSeLoi{O;Pj|$I#i4h$#_W_&hjhI8d_j^i@ zHAc!N6c^~cOx21Yks2M`h-?I<6C!$i|A_~sk>DqjkSF9P!~~NNrhNcp4DasNtVcSK z2i^i{%(aO;uoq8~=D8!wR>sL|NpUW$aaNm6z?8$X$Qa=I5QWGAVafBM(yF zF_3)EC(=Ur%P8?4-Q^L=do>g9$lEhQJh$c7&jp9yBqDI0aF=hAN(b)-e-FuSjvQ`R zcGbJXyQppO_L}Sjx_I*f>%Ybdb5Cd?o@>{CQ8^K=s7-j;mdQ#f?Xw&a_P=M`*jm&3 zgQP@MKk)qNyjL%PWi+(A#NAznSCIC>(dS)sYUvQqpM1v}2?(YPhI%L1Hu^>>8N1}^SxsSh6DZb+Af|(jrcGr*Qei8XhHLWL2meVkx)8rH8 zX)1$%S3X&bHpB2<-$%=wx-m!Vn#b`uyE{#V&>lJ3vk~ri>2nwX) zOyOtd#;zGvkyepZHRT2KR~YXZSFOn)uYfIO9*@43*REReLEgQAioa#l&szR_L6RDx zde%{J?X1T_9A06yP}ju}Fz!|{)_HftF7?@H;JRXYj@glBp^p7}?9TX?%A6Mwb!M_P z)`x8Y^;pZ1oxG?VrgKJ0z5T-TizLS5SJ1yF$rcg&s%J(2|H2rT&;Hu~6#@62)1D0( zNgmG~7m1_x|7=7=mH%2mWsuYRQgP=kSb3sWj&lET<#HPSd{`5GkEq2F7)?$%&^~j* zM(}Newl05?8a}sc=aMq4S_wlM+F2^?AU~o+Cw>cqvmutIk27L_8dhzPkqjE(oDO@g zA~{qO(72mfbmEUCrSJyK-D%0?phx-qS$aHK)@vkCroO1nu_V~hAKch!$VGTr9_%cV zP`nISM)L}4eHCfn?rb>_Xz2ON7tFdKg8Hf^suWUG z4%tDD|Lj0ccj#JX{W11@{_m;G@dF+3R}C=~Ss%$CVr_Zy-`ZP{)6ZXk5~u!|KPdjc z%h5l(2gUy1m;W83yXP1;{>=(hoQT|rr~>hVEzitzXhjSuW{z~H1y5+%a;08D9j_Uc z=I2_UWQi`B7+0NrLHZf&fBWevdMEYsYc;2%22uEbJ4YT&F>o&Ef14`PdiCF?0@)m? zf*MGvhzNlJlPd#}R9})h_=7b(se| literal 0 HcmV?d00001 diff --git a/core/src/commonTest/kotlin/com/sunya/netchdf/hdf5/Btree1extTest.kt b/core/src/commonTest/kotlin/com/sunya/netchdf/hdf5/Btree1extTest.kt index 974fc46d..494e6267 100644 --- a/core/src/commonTest/kotlin/com/sunya/netchdf/hdf5/Btree1extTest.kt +++ b/core/src/commonTest/kotlin/com/sunya/netchdf/hdf5/Btree1extTest.kt @@ -2,27 +2,30 @@ package com.sunya.netchdf.hdf5 -import com.sunya.cdm.api.computeSize +import com.sunya.cdm.api.ArraySection import com.sunya.cdm.api.toLongArray import com.sunya.cdm.iosp.OkioFile import com.sunya.cdm.iosp.OpenFileIF -import com.sunya.cdm.layout.Tiling import com.sunya.cdm.util.InternalLibraryApi +import com.sunya.netchdf.testutil.nano +import com.sunya.netchdf.testutil.testData +import kotlin.system.measureNanoTime import kotlin.test.Test class Btree1extTest { + // 227322 == /home/all/testdata/cdmUnitTest/formats/netcdf4/ds.mint.nc#Minimum_temperature_surface_12_Hour_Minimum#DataLayoutBTreeVer1 } files + @Test fun testBTree1ext() { - val filename = "/home/all/testdata/cdmUnitTest/formats/netcdf4/hiig_forec_20140208.nc" - val varname = "salt" + val filename = testData + "netcdf4/ds.mint.nc" + val varname = "Minimum_temperature_surface_12_Hour_Minimum" Hdf5File(filename).use { myfile -> println("${myfile.type()} $filename ${myfile.size / 1000.0 / 1000.0} Mbytes") - // println(myfile.cdl()) + println(myfile.cdl()) val h5 = myfile.header - var countChunks = 0 val myvar = myfile.rootGroup().allVariables().find { it.fullname() == varname } ?: throw RuntimeException("cant find $varname") @@ -36,18 +39,11 @@ class Btree1extTest { require(myvar.spObject is DataContainerVariable) val vinfo = myvar.spObject - require(vinfo.mdl is DataLayoutBTreeVer1) + require(vinfo.mdl is DataLayoutBTreeVer1) {"must use DataLayoutBTreeVer1"} val mdl = vinfo.mdl val chunkShape = mdl.chunkDims - val tiling = Tiling(varShape, chunkShape.toLongArray()) - val nchunks = tiling.tileShape.computeSize() // a thread-safe accessor of the btree - // val raf: OpenFileExtended, - // val rootNodeAddress: Long, - // val nodeType : Int, // 0 = group/symbol table, 1 = raw data chunks - // varShape: LongArray, - // chunkShape: LongArray, val bTreeExt = BTree1ext(rafext, mdl.btreeAddress, 1, varShape, chunkShape.toLongArray()) val rootNode = bTreeExt.rootNode() @@ -55,4 +51,28 @@ class Btree1extTest { } } + @Test + fun testH5readConcurrent() { + val filename = testData + "netcdf4/ds.mint.nc" + val varname = "Minimum_temperature_surface_12_Hour_Minimum" + Hdf5File(filename).use { myfile -> + println("${myfile.type()} $filename ${myfile.size / 1000.0 / 1000.0} Mbytes") + + val myvar = myfile.rootGroup().allVariables().find { it.fullname() == varname } + ?: throw RuntimeException("cant find $varname") + + println("nthreads, time in secs") + + for (nthreads in listOf(1, 2, 4, 8, 10, 16, 20, 24, 32, 40, 48)) { + val time = measureNanoTime { + val reader = H5readConcurrent(myfile, myvar) + reader.readChunks(nthreads) { asect: ArraySection<*> -> + // println(" section = ${asect.section}") + } + } + println("$nthreads, ${time * nano}") + } + } + } + } diff --git a/core/src/commonTest/kotlin/com/sunya/netchdf/testutil/ReadCommon.kt b/core/src/commonTest/kotlin/com/sunya/netchdf/testutil/ReadCommon.kt index 6a6ea341..a18cfb46 100644 --- a/core/src/commonTest/kotlin/com/sunya/netchdf/testutil/ReadCommon.kt +++ b/core/src/commonTest/kotlin/com/sunya/netchdf/testutil/ReadCommon.kt @@ -8,6 +8,8 @@ import kotlin.test.assertTrue ////////////////////////////////////////////////////////////////////////////////////////////////////// +const val nano = 1.0e-9 + fun showNetchdfHeader(filename: String) { println(filename) openNetchdfFile(filename).use { myfile -> diff --git a/testfiles/src/test/kotlin/com/sunya/netchdf/CountVersions.kt b/testfiles/src/test/kotlin/com/sunya/netchdf/CountVersions.kt index 5feafab5..10739aa0 100644 --- a/testfiles/src/test/kotlin/com/sunya/netchdf/CountVersions.kt +++ b/testfiles/src/test/kotlin/com/sunya/netchdf/CountVersions.kt @@ -1,5 +1,6 @@ package com.sunya.netchdf +import com.sunya.netchdf.hdf5.Hdf5File import com.sunya.netchdf.testfiles.H4Files import com.sunya.netchdf.testfiles.H5Files import com.sunya.netchdf.testfiles.JhdfFiles @@ -112,8 +113,13 @@ class CountVersions { if (ncfile == null) { println("Not a netchdf file=$filename ") } else { + val hdf5File = if (ncfile.type() in listOf("netcdf4", "hdf")) { + ncfile as Hdf5File + } else null + ncfile.rootGroup().allVariables().forEach { v -> - varSizes["$filename#${v.name}" ] = v.nelems + val layout = hdf5File?.layoutName(v) ?: "" + varSizes["$filename#${v.name}#$layout"] = v.nelems } } } diff --git a/testfiles/src/test/kotlin/com/sunya/netchdf/hdf5/H5readConcurrentTest.kt b/testfiles/src/test/kotlin/com/sunya/netchdf/hdf5/H5readConcurrentTest.kt index 6dcbcabe..025ee945 100644 --- a/testfiles/src/test/kotlin/com/sunya/netchdf/hdf5/H5readConcurrentTest.kt +++ b/testfiles/src/test/kotlin/com/sunya/netchdf/hdf5/H5readConcurrentTest.kt @@ -45,7 +45,6 @@ class H5readConcurrentTest { } } - @Test fun testH5readConcurrent() { val filename = "/home/all/testdata/cdmUnitTest/formats/netcdf4/hiig_forec_20140208.nc"