From 27efff4f1c6cf209f5506e78c0af7a6ffe8eebb9 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Sun, 26 Nov 2017 20:22:07 +0100 Subject: [PATCH] Stack frames and debugging, XPath exercise --- Doc/Common/snippets.xml | 20 + .../Stack/ideaDebugStack.png | Bin 0 -> 61938 bytes .../Stack/ideaDebugStack.png.marked.svg | 1104 +++++++++++++++++ Doc/Sd1/objectsClasses.xml | 43 + Doc/Sda1/dom.xml | 907 ++++++++------ 5 files changed, 1699 insertions(+), 375 deletions(-) create mode 100644 Doc/Common/snippets.xml create mode 100644 Doc/Sd1/Ref/ObjectsAndClasses/Stack/ideaDebugStack.png create mode 100644 Doc/Sd1/Ref/ObjectsAndClasses/Stack/ideaDebugStack.png.marked.svg diff --git a/Doc/Common/snippets.xml b/Doc/Common/snippets.xml new file mode 100644 index 000000000..905fd413a --- /dev/null +++ b/Doc/Common/snippets.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<chapter version="5.1" xml:id="snippets" xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:trans="http://docbook.org/ns/transclusion" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:m="http://www.w3.org/1998/Math/MathML" + xmlns:html="http://www.w3.org/1999/xhtml" + xmlns:db="http://docbook.org/ns/docbook"> + <title>Useful snippets</title> + + <informaltable border="1"> + <tr> + <td valign="top"/> + + <td valign="top"/> + </tr> + </informaltable> +</chapter> diff --git a/Doc/Sd1/Ref/ObjectsAndClasses/Stack/ideaDebugStack.png b/Doc/Sd1/Ref/ObjectsAndClasses/Stack/ideaDebugStack.png new file mode 100644 index 0000000000000000000000000000000000000000..8ce00c4546499ed5bbdfbcc28f1d2d9ab9c0209e GIT binary patch literal 61938 zcma&NWl$a8w)VS_KyV2bJh;0%!QI^w+})kvPH=a3cXxMpcUZW?y8QP(r}lYI-Fxf( z)YV<p-BY^f9OL;tBUD~i3;`A!761SsNQet70s!C%003C}SMbj((DUO3p9ctspAyPn zzkXfYk=y<}MRpWXcT}=5c69k|Zv;>>b#inxvN!lM4FdoW0wjb5m0efQGhDRM#BheP zHqH<boA-|KC?(aDk!gPQ;af~E>(eOY&4^o$SlHxaeUq}Rd0eI@(g#b>RYsN<40A-h z<fy#t^pQWer3e*2eBD9Xwl*=zO3B#bnPQ0`kq{t6{t5|xEg|^+{<!rQ{ht%Rr~2-G zeLEbF{PS~5c6N5<`Ybxuf+bBiM2$ZHW$CYwyL*3#ztvO4Cr!apj+sp^?amKl{d1qd z%R7>Q>H$#WdyA!tx#9%B_X2co6pTwYZ4p)moKmL^YH7L+joPpINC#`wDlZ~#_lQ8+ zq3Q#yM%<%!FUf0yGAQ&TG7YZr4oVBS#HIYot84?Tpx;;)%Rf$VvZyb;w>D{>ghxE2 zQx%NxQqZ>z^ZR~1KGz}3v<edP;hLX~glSgD%E&}UM9@%D&X}@9MMZhNKCm(}nsp$! z7=3K2uoE$QlvU}hYtTBNTbs`NR0}nv$RoWPo+6779-mrN#;cH$s*HX(*u;=ot&J*S z%<Z++to=EljB=nej#3+@A9sAcw8~;`H<`3|)N0^#8)kCRtW!+X(_%Myjq9dWlZ9GN zhT(5^wy34I;f$pq1!Jf@O0Ig<RN&(fG28TSUe2#i&!s|_S!&L35%4Wy6bgq!7a3tE zHkiHXmrU)9blLjQ8CUles3&??jpy}_dDwT;NRSS!ag4O$YUcc2r=|FN-~PGQXslSd zG(22ttJAAM(ah2Du23e;)5{AQ0sD@C3P}#=Rn*R3!NUyhE&}Px#W`EI7x@Zmz$`vI zT)c>GrNcAuZ$cQGbBv^Q$`KtN+^!(zXnr0J<;9?1MXmYep(o2cOB%++MD64rg}1d3 zx=DnGQ085S`JlwhbvwjaP;=}*fFo}AR$>4{1I*02ubBzXO`aR7%q)cKf@QJE4OGV5 z<a8#<oG}{C{~Z+edW5LU>oeqOPOpTvB>aYBsx~!znhXAYsNGAfOP9Bm>sXmDqV>M| zkEz6z$4adc7Z(?`YB?6KJ4>V}Gb?Kbx69>xiBeu}ZYHnC!_0VIIY+}&NYXPGnHTGp zsZvpPI5e|3Kz>N9zKFI+T{}z}oPvq`JIzovrvIW*lYue(>Thaop`wc2(2uJu+aqI% zIW?7Y-tqG2z)sGO3d-?kqZ@qa8Egy}f2W~7hevc3_7!~$o{!(##$YBDDN}*O8mVe< z%J`2*&$>}LxQFI~ZM;e!!_;L6rsiR4uI2q#4F+-+*tPw~-oO<pql!syj-s_Ho(HI4 z@13LD`VjwERz|HUXpZ-Oqw-nSHMXm@c;ymRox%FNE~KmPKUff$%=v4M_J!C-M}k(9 zt1UXR)_y^pZFdK%HAxc`@}K@>gaMqUh4U>D*zTI?SgV*6BF+=IG@t?ir9eHH6qcb4 zqhh}kLh7xU7H9&sj(C@qlY<vyYQ#d_G=9(67Ll0ZzWJ0RbD$X7CKnT@X?m!ekI+)p z5GYge#k`@a#cAKL=5hK%RDG?+bMF_FSMXEV6mF;PM){a{f+CEx>X>_>@X0MvLuL(Q z-IrbpMbX!pZ(@!P$abIqmKij(khG#Al?@dHDPvMzKU)X16XVg$_dkdiv=l0CE&426 zzNRuC?1jMdrHT(E2tEZ>WF2|+i}E3h@0dJ{jDLUT1Ox=&@_V;GxWM<#o8PxOongTb z2Et()k0;N#!mg~W(1TLa)7P(Fp~pqYfgs1-Tc<DB5IH`2d>ZPB_PiIyvRgG56j*9Y zeM8z+qVD{ixv1(78IVEB+3MFVSODbbB~)h}nmsMJ)@DX(;L+x$i&L{U`GvSg$6zIR zX-@Z0ljsk+XfO5m)mJ%HqhLt<w|hTq+c3l|3i09P)-mHv4wRz5o0tkM9;2ZPN&6&0 zbGy4;sT28~^58^Pb2FQ_wF4xR3puLB2j?$`0<D&c!Xd?GQz0>U87`{Y1wHe^g9*jk zFs%}5+^nbW=88X&9(9wcbLy-zAXC$0!*S$>_<rciwrH`fIw=?7VzbjLa#+3OYzE1{ zolh>Lx0?gJ0EA<7AB^^9>3!oXVy!j!xa)OP(xT4RtrP_*8qb3|N0l$@KeIIdVs|=^ z<gT>ic|e_Y7Wbq^Ot&0#bf!C)`TH^LZPG@NfaSY5Bf|6LeZ{@KZIWG2A6~HVP9I*e zced|Kj-om-7fyM{<RdDdP}dC~%r47vI7qDKSm?g2H`Wak3`c|;fz48zjf~i0TNF+d zes6d+4&2z*=v%Y+23eHa;?_BDLr+IT>~`@*#*tl_^BQJ=3-4ul$qT7y8>?i|G^UbJ zGtRqfF}8RCa#DXr>s%!wB4YpA6+4oQk<qT(7tGt+I~t#NwatYdu)MljSWsXVH>~CK zV)VnN({pSuHylj>r`7Ieq(&M(n~WTUf&dK&^I!7A(G|9q_T4BDAGf?7*baT6$EFlS z0@d|6d!3(f_>xhtR=qE@{f^GvzX)b=M!$M_j5<ad9W#-ECh2U=j~-v~FgO!pH8y>` zJwVxVWl$~<IjS7RA?PHupMB7ci$mMI(uqTgQntpsS$eyAnJOg!)zgW=m-FF}XJl4@ zEMFBsRm{KuQJv(66$a}#HU$f95AyU|wr0=Dwd4JBt&t&SZf~G(2RBtpjkQo_fOY%b zLq9s+iSTtFJ&!DItE-7g?U`h>s9`{Pd)9OO;kA%Ba8nv!d&Zl;6BkzJVWavYy;alP zM2XnZ@jXQcgJAY2r*NM!KCUV#Ne^0cG`R#*(E_TA#k``VHu>sIuIDE%z;c2Y%$I@> z*Zr{Mte=}(v@s9dH`vNZwFwXN+mKwz*?6o`$w&(ew278vT1`7!j)jy7w5o#rjYDo* z;3DPU+EeUoW-Qtj*OGA9FoAsvcP(NvdQV;1ZSZe-k0FcHx4AY2D2ZTr6WGyX7B~1t zs<-JE_x4pFr<a`Ut^7;H5-0<QWh_(-Vd}7~uAABT!XnHXtJRc-^)iaT;xsfg_&lxx zIr7@t+JNlbT=1dm)oHFEulyyjJS`0e%KX#y^9>>6%~iJ#x4_}~jr@`EUu2tw<;Tk+ z%u`VWuaC<jW-Zu+Mze1>kBFrumz%>$am^b6_{_Xm8~`Cg?CX|-?3sw-x$wCK-*8-G z&q<SNgs#-zMM@yA`#zJI0+Pxl>qWF5aCsck=REz$#8mb+1?G%Ie`eg}9_<h0rJ-GL ztt0(fSy($5ZG<w?@kq(Ql5{le%k{b-1osS34*;jN{b)vchux0nv@!`bIdC98C-OG= z2gO0<6&NHIwu}ss2G*pD^$DFej8?Ko;KG=PBfgR4_k0_!^UpSgg-M=_rDQkYAXB&= zcoj>urDWR??3<{OBcruVPQJLMNFa!mP>xfR+>89wT&rnU1*b!U8SZ^MT8+*w8N0;i z1ce+Nnr;30W*mC+=VwCY-x)1(#9D1p&!*$oP#uKSHP>QE)XDTPH5V+7Y5%RK24OSn z$_Q(7y7(jvRejGKx`O)Vh<%tZrZ3pJPA^*l`zIaTa^LY<+prtA!^LCs6-&^*LXt=% zCMDfIzxDU`uSVC_)$#K1@Wt9ud`LmlyE{G{UBx<R5lvc!{z`6oJ$W0}sEp)mtu+<O z>cZGiZJ%vcU>SYX<rAi&qWX%;pd^*~Fy|OzZo~?MhB6fb4iI2Jgt09yeHYgzCIhf< zFMhG2)He75C30hL6?9=+Slqa8*Z3FUPZOz}YnG3JvYQGEKAbw5Ts^7=o~1|%GcKAc zra5#i#uhu)2;$vaW`il*<FXvB%zEKw1`|*v{gR2;rfYiA%0oqFGaD2u1t&xnoHqGk zH$z_ug<E=f`2y^uT`HDvMVTIOgnX&m4~bV*DQ01$Ci`CQc`ZOSt4m|X5HDE(PL;5l zNK+*<lqi|!Cs{IENleJc(d&LwBFR9|aJy{!8}4BMJunbmnfRL^+$4G&<~pwvQR|@D z@sXeNdSPuT6>Vkzoerd9hjZ4{Jvd>Q_2B};IE}FB4R$X2DZ4_(HwR`B>%B8zcTv3| znK04JT#+0t4b9!%oilJVa*rcz0?L=b=S`tP_3>g&ZOl<OJkjTg&a!#f*l0ODCjF?1 zs5Z*F(}R%DVC3emhMbF~wpj{2uKqsiPxf)-8t==|-ym?eQRKL}BYwk5g2CyzKE`RZ zeaWxWGqqOTEsls#=%|4KfNTJz0!s+uq{+1%1zj9Q8K4-DdfKaqYFpTe59MSpib?|T z{dqlzX82P<yA&!L;s-SyF<74M88<ps)D9LvuvpJsT|22H+<&~E`^^r7KY>j%pnf4H z!_Q~lDyoU)WOy_VdcXE6iZUVlYWM59nXn`l#i@qaC_#85o0uaA3<hDdMo}dTeZfBt zb09;AtrAOTt$8$-HH>{8x=)XlZgA(?tUhzg1{T4v9XElIr3!>!SXSh(q9QTeXy^v; z9Td_H$ghQ+TbNs@q&tQGc;D<eNm7&3s5X4RpK826td}p#p`@Z93DgmxJrIvskgFu% zcgWgwQ?8Cq!C>AMPpJ>;Zf<waARl95rcQ3;r7`stc;hzZ_f~nQc@WK=?;Wb@$S$Bh z?)HN~haHF`m&2e@XYl!WTd6al*KW2w7){Xgem+QLwQzKFtd}0TP~m%vob1d<P?o%* zk@-XRY@>HZ)0=bXrt*D-uv{4mN?<rlY9uM0EifK3;x~_J^KeYy$hR9Mm8y|ztx9t= zO%tDQP@;yHEj6qff&kNgk>E#Tc5l{&ndwki;mJL?5_3ZIrb!;FWDXgp#yfO<VUfeb zjRJecxEB6HX_U~jwAZ$6-x)U^cyS_rv7f$7jD^DYtrGD&+_AIhhSv%GadP6>u-dq1 zDgjfoeZI<x1%+KPD5Yg0n0V7@`8J%&x=Kg&Xzv}Dmj_H0287zgpwPS^t#4nR^}zwA zs`!)f<cvt+7B)muZ3*)+Vi8qC5H-!#Mgd%pzx&p0ep0IGbG6=o`^YarsR=8rm~y_k z&E^@UU~go1F@37}cESpIPHFt$EG^;e{C#DRCc37@vNpFo-PMDEn7b{)cx_U#O_pbp z+4>0o$!YkAZGgS9sA0MBPkw&0@FW|HWeR6~Y8W&oV&(|bF|TvH>MjC6pg_@=<kX~$ zGP9p7>8#DA{x_kDU_Biut$ZZB14XNRZ`VpRE_8qi(EVK-PZiF|tD?O8Gc#(k*`h=K z>gnnE<ms)csj07@+tSifP;fBBjCgGdECGXN^uQG2CZ>7RmHpwT;hK`n>Z<1+M0dEH zQ2u7b+n7=Nd%9x%WBu%4`}cwj`$;{A#m2d5P10L0J<JpffWE=erepN)uom~-X`o~* zT9R69_J~BvEN^i5PU0TaWg1;IHW0M1DCCoGGI{-WA_k_T^Fzt`BI!9$g*eX54z7sa zU1YOUyS@`N$vv6c?}17M<rLdplLG2E*t)HypW39-mQ+!uQt7^Wuhfb`1ROg)EEcR& zMQeI9Z1a#3Yd*9N?<h;^H<x*H=;kTLbl<z+{nkr@Szqq0!t>tqo@w1oqvy6ghA%V1 z^!RehO_y%s{yg-y7snP%djL0bYBGf`nR>r?t%F@<+w!_36U~Z)a{P<B|CT5U=#k6b zJrn^8NdAa{=`8D71ubYUHf<y$A)a%pto-^CrjzvWCz8D}<D`u*=Gqqc(Kq$AxPs5I zC^Mr(>LIIr!%Nyk^rMErIU`On)%ww{Z~Ix0`wu&O!I!C1o4hg#pBush#ngdQe*Uto z((&{Cz0j%<DOG_!>_WNqn}%uL_txoXORdf|J9}un#=miG36pRRC9!+4JyxCUO`Jf~ z!KEYry9N0HXjl%3*wRwilEI%x4N;I9-#xCTuE4`Tn1`Az_AaP1x47RQbqdC+?LJg( zGCUp@AsM4eQuzA$rD?5?dMM>uJP%NcZig!e(MYI5R1baPcK>*mXeMT1eRnQMtWG<j zZ3f`}n$8w<IGX%a6F6Ni*Z&fW_4f7#{LIP9%6j1SWiLu4Cnxtw#*A9Kzr|WfC>y5y z+LfFka(e$nb=*%?hS}key5geMhIBihla#a`J{c*CEG5w`Os5s)OmHYU#es~1np(j> z(RO5kchjWv#Zcz3W4*X|{TO<I3RPS~#op0cS=rh%Di*T)iLEODy6U~RSCycwQr_;o zd?>ns!L<F@c4LG)*k?;DOGzbBlTH)&)cQL2cTYy=cf7`xvS2(RVq(|E#5f-u7h}I4 zcmMzp6%}n(DoIHxg_2c=Wh(3=$bgN=ahk;iBcZ4IWWfofhi8RTE6AGKRW^l1kDph| zL&wE_Dr;5(1t`{)8Wepy!P_4VM7667Fkjy^KX1z1xJzZ|s1)L!J5u2H>axGO0@1dL zBf{#m6nb3L6G}5|r{z)eP(^>RneQIfz2qg{`ONGyc@4cYZcv!_D0=_{`K4aQ5sRnz z=x{+}y(8lm#JtdH&RPzmu5YP1T$)c-$+Asmn23?JQvA#=y}b%`jW&_-Twk0S+<v>Q zlbDK=pWIh-7^T&CUQ9#`S*>&F9*wRO@)K<R;3scCXDy5EtxRY`z@HvBGR1-t=)_uo z`o-Y=TABGWRb{<W?R+8U!|&<_8_;^}77BHQ6RN(-YCW>Uo+)nVHWTcl)zp}HzecQ= zneq4lX_q%C$Xj9L@@Tc%y!S>dn>3U6K5;CrhzugKI(@52lEZ)fbuH@2lIrl0e0p=P z&?BNW8;!{DhM7d!&fyb5v&ug2mNKw~<OA$^lS7MQdTB!xEZHj1O*P-d1tYIzcXrX< zb0xD8)62K}+TV5J<3q&ax+C6>0#b!mXR+^rT)nn38T<H_X8m_pY7Mc>9}_Z-z3!kp z5aY0Xbos0X-PGk9B>0I7F=|vl&Nc9Pw-e5V#)Ta2<J(YW39K?62Jk5dvuQ=m{$(8I zn*M!4u6zH>1<g<H2qI+KZNB<~CpTJpu^E&sqKVKfACd{{kSyX<h#&Oy!}Jh-ktuYk zM}Y#K6v{e{`4_wi6T^M<pyxYb27r1r#~r?eh}G%Ns|-mgMTi<_g!C0y|Br8k$OMS1 zRA2o*b;c06X^<$HDeo^D{~ZWv>5<a1BYS)*eo;i*5B9Uy$%bAq0hDhS=&8gOiw9_Z z1ZrBkde|OP?^9cFpLfT26KjTh*CFuXZ05je#P}Q#pRg<3FQwj+m&9i(z0h0B4o>h^ zSlv1hNu7NZ!bL!7sbq!4nQDIM65P46>II@d{DlB0tK)cG48Ck{bc=V`n@t;p%7xAf z_$S<On&{kB-Pq9@o1mz2q8rqe;u!^`_wfPAI4pegICVZ1Pl9P1CqYTca|63T;hY?X zy9jAst`)7b>}8KN{}^RuDPP4(k~HS}KPV&~<L$mZO}7-vL0Vap4jv47(E~~V7FwSw zBv|@t=exSioRUn3mVgQ|&{d#xa=E!~y|8%^=IN-nEEUusx=d8h4LCeL8zX0U{RqX& z4vcqc+{qLdHt4B$1ZKA$@D6|X^9OQB;*t%jDUTLAvlpFzX(FG5WOy@_e-H;&F4R$l zJS3bCLb`cAPXl#ly+QDftag;9vys|UQ<J%P#O2}|Ey?h>j4*j=sXj2@iX--291#s? zDcoXpZHe`j4Cmv;6T+7av}1A`rzG+3d6`dtKiOZ$`q>l=>PRVE?t97{V}c!a**at6 zG#-grutxS`+Nr6#HECqA6Fr=bq-5_01tf{>lW%5u^S6NvL3%W<bc-(J?=f+6sADDS zg@f<s-;GjQ*l)G07Z?g8&4i|{uPF(vVayS{*M>->yB3{{H(3g!U9*{#1ovKKN=n~O z|5DA2-KB#CLXOHf96q_W<iRsFA1??JBGXoGv3w)<h-=+)`eNvI*l^QpUK==xXj(S? z;ysg67+b(gTZD6pb!`i88{G5pIt0sUK2X<ArCq#cAb_cc!spl*_p{}ECoh(Yt1N>y z33~Lre3S{nRI=1)-(#yx_3A1Lg8M6TX(n}`^F@X#JoVSNvq*nN&HkE$D`*6lEK`y( z3iAFJL~4IZoGAVd`geiAen*}3MK8*TH5E^8y+!@D`_mBgpHzDzYixsqW&LNw)DgnH zW*IH35rbv$u4=lc1L~nFSaES{{U7><ujHuI7%oi;I?zA;4IpD2!8;f}zrCz!U=lW^ zo66!I6X}|Kx9ILh^UHQj9GCh1yWw|0pxK}r#E|14GMJdo#}Lwzw^#X~(}WMqJ>K~a z$Li?`y<A=AyB>!1^kp}JuFmi*t%Y@Z3|q+P>w0)OwMOl!_4zRW&5D=D=98kKp~<g^ z1Re`Fr1V|Z>472!r<>oS=Lv~ROQdQ~ZC=d6Y>&TwQ>Vv@YN}C4=uFNvwG5w21~U2` zoHFiD$R(-J;j0Mn9cQOSv0sBbQO?Jw)WD66Ee)w2wWQ!CmYE5l<QbG9e-&m9Ng-H= ze_z}$#ElqE`bH9Iv)K`y2eay%1Cuko4l^cRqQVf#Qw3i<8KjE~KMxO@YHRrm5May! zlXtzKHCt99UCDg}FPH6NW*#db(NNOXkpYjE*xQwXm+Zn!UCwLL2lLhc3J{<I>V;>l zqGHgr<L=nD1WJh*k&{VA9IM#8%A3<+n|$z<FqM`b4l2)#BY>)N*>q#jLe~{Sjj*RV zRrG&|cJvL7hpAwNrv=MKiV`A&l0h<z=IpN33AKf%W|D&&Z7ooKiSDLvZH)8isP|)$ zoRc|c`o1%q*4FgUHWFlUVLibok2sI!0wwb?0D<l<#<rAV9&f_3d{!IV$ddTRh2^-! z<n~2CQLg<aZ%tI_4lJg#h>{?sXu>SADZ8s{PR)!V4nUE!Fe2uJIV;x%#!r9+0+@xw zO71OdaC4uWU1Ts!E-7c2&&U4AE)pr5*ST3{kQyLO`WeAyUJr~vwM|ST#X=VI`k(-g zmBZK`U#8Q$j*P<UU&DM(bb-(Xiq;5sbFH*&4}J7>AU;*9CQMq3q4LGuSDr6|JrqU= zMS)U=x(lwk%u0T`n2_KzJex|s64MkarXA+D)BEuxivW=+%XEUO#`nUTr}rQ($D;); zl?sJe07u{UL8xDTYbz9>FEW4z*Yx7T3G~eRY8a{QZ}<Jp#~?_^;4yc3wJK%hxot8X z<BS|zxwP5QU3LujUIP0dktRF=y&1b|Mz$SHAQB=*pyJF5#X6d_P<vAZ<@75ta>!wB z1_njgo<8-m@ryeyS7i)ON0x^8w+9Aci0ui>%K|s8sRSniE95(;n62bf`v|jKvAmLS z@8;{`54eQrQE?w)f6lSjM@q#~$=am1zxT<-5~HPy9M|ol4;<Sf>f8(;ZYres`3a?- z7l(JHT#03|YRbGc&qrJqksIMeEV!#1JWVuvOCAff4(#ya)5RjNH(+N@%&-LfTk)l? z$JU*rl4%7-0XnMJf25ga*PcSIF1CCu{^)xdgDF2BP#IKEkZ~61q03J?FL*`l<M;`@ z3BAbV)D4f`HLp{pNJh>*2Z?UH)YlmhpRuk%bonqbHP0GZ>oL<SMb&6(q-)_PU2!xD zrm+-oJFhokS)3VE?oAGT)rG-<01#bEuRB`+uMsV&jVBjxZw9iyzt5rSdNThm@k#=c z-(v{|_fn&5xS*Hu_jWK4gN6TG>@SkivaD|%j__&7cC=T2fJY5KF-0+7%udgD3XJ`u zKw#0}f&FVC76!@U4(5sGbj9QzG-hMMvz3x##v+KI=VIZpP(S`B1L<1d>%oj*M};L4 z(odj0iT@{+!`d=2DL)NP<LS;ANbo4yD|H&09;;Rt_|aWp7Cm!n`UwqP(dX~Q>QznM zGb~k-rg*&n^nVTr;U*wM?~iFkahP|qH+BlxKLG$J@*h?yj05&9e8B4b@25nyvA!-p zL-dI(b1U?jZy0X6Q2s?P`(5qd9P+m!1ys-R`hQ;uM|BwEPb&ZL_=j}nF8JQHp)hRh za0AJMZH{A`3@%@6IhnqG!b?Ivm3P%75*<G8JJ<a^P(bRA_TL7Bqp7a1$f`!h7&%6t z<nxn_vfOK_#K)>jE?EtPPnwfgk&=@)<>O51*9n9^c!+(zqra$RYxGZkKdghChfa9{ zpLE~&ZDOJ=yb9Vsh}1Lpg?36xytMwxe!FSbKuTAOZSfCkRLwF?aY<s%>YsnbNzz>- zsp$cRB`RWK-e>7o4~wi@w4^)AT1f2HgU`e+k_*MX|8!<|ZpKD25id*8>foRoWFxD# z^u7Hd8U?-UC4Bi!uq}L=f#YBO;?k56As!eYWksLrlUvL@6+wk0Nq^;D%JXsIcDBIA z_MTX?uF+ZESKz1TE5vWU9*y;uWdmoyiuzY$gu3j6mbyP=4J-B}(2BIBlsO*G4J*dX zjT9e{tkOzHK51(;BHxQsHaFMhm(O8D&WiGeNEq0wIrS#bXMvxWu0%|GAgDq4Q4tHS zCx^+o`Oh$#(q_Le)%%iw0fcV;nb#1xagevjwG5XJTP-@D#MtG^4Xk7!c(F1Ss_nmq zt@UMts;0Kq{HY^w3TZ)^OedQ1_o~KM`SO2yh+Od{Um{Y$?pHFRQrB&e=hm04yB(r` zPk4iG=)f-9gE;N6&o`ClXen_BrEgwjr^o;L8qobPgjt~~4a}?j$FFRZl-v=%=YS;= zZg;7UTHXIe3BgdMF#Mw$cypui!-#X@Srd1)4E>+?0kiMug6>}5f0W%kmPcqeQn8jC z5_FwHC=3N~PbVrxOa@YJvBRiLvL{kAoDOob>+wVDINxExX+`}WW3=R)e0`1I)pH|R zxu2SV^0d>v&p9#8tUOtXriC|zgSaOb7Eg1tn_Z>k>gA&wn^m5bMUeP!F91k3p^Srl zWcK%^%!*G=Ji1GljSYrp?mjOYjq3ja#jRW;Ov~zXpIZJunfQxNN|(z*r1<#esRgEs z>X>#Q4)#64xx5wG{HvpCnF8dW%FaVc4HZSjgDw|woJmH9>U?|tWofiq4Y7wP6)O5* zX`Ok?3;K3%VmXBVy0q&QZ1N+YH$y&|)y9M(n!+I$0}!TU$_}qXV%}Qm#E4L03%gAf z#dCv`LnA-Ty8VHnZ)6H`#j9|=1f-5Q?R^@BY%_8SWf^cp-|`h7f(Jos+AV49U@Va~ zPqBoKj_#A?CrB2|%*>>*S>4><<FS}d`xNsZoOA%=ABz%9L<Oos0P^Hw?#}IYAiXx~ zIqo~naICOWV$>7gpWVFzbK{8G61@$t@s+$8N_o3gm=R8Fpx}hu|6p+tyX1Fv0?wMD zT@fuJ3`^jc*`SlKf~awU>{QKO8`q2ib+l<8OCD*rh_#=W#mU@;MAw%!<Oa<S%M~U( zybN?|)d+mvRMEVY)YQpOaD6&oqM)EKmC5^RdZ?h9uIbr7=7|^AnQBvCqBK3=|D6O- zyhpq`m#9QTCqe~=mJ$b_Xs{eEcvic{$P9H+jb52Er+O{y^CZ{oP?vvFM)iPiyf{R@ zg$r6lJA7kui}p7~2yg3Y-P>t-4J%Ev9Dv0KG1%7m)-8@7_5LkaD+rArdUxwgGN1@< z(VVuPis!!>HE%Oc-9^WzX7s#Ro=Xj)VQk&<cu-_e$#}PwZPIf)M?ie<ojNi@Nh7h) zZ_GrpeF+^?FR*B|+HRsO(S$0ou$QaQJUrtZ@3sud0Oh)gWzM&Hr4|jjCqvc-`dRih z^-mcUC7q>Ja3s51eOyT#VhH9UDw$+bljF!#+fifuZwM{fjwTTr7EO8qHE|CNG1Bf( zkuXn)bRkps0!a?%b6(O3AxJ}OJO_>QJ~f}JoGq?%+1D<6nEDWxBP7@x9DGR@-1^bE z%N$&##(q{osv=3spg}X=PQ2RMwG;uI<@DqOWrd)Sk&!7<#K*+M><vXPeMJ3E)~wKN zvc~i8X|~<zjrh)tE%$?)`}KfdZ!`P?VlnpbqYu~hb1QhH-*gv!77dM5OQth(5pdZV zEu!pf$DmS;xPw4X0fy#P7F>u*zWhlW9uV?o0n<j8cwO;DXFWOL(ZL4T#-&{u=bYc6 zYoG?UAiuq*m4}=(#8>WJ(LqvHD+G@8@gji0ArdTyMq+5WVZ>~c9x^9R5LUd-d(eL> zWslltW_PVOVXUZEKPkLgnAdS+6fTioCR8y#x^h3^=eUv|f~+vN3HyVa3s~MP>0c5W zL9Nj9%`vXh*?b;vK0g5evV%eGr^y-@3=1bICVOU-*U$cR`=<W1>52Eb!--ZCp6fQ7 zB<|`mCjG|^S9!M4ph$=T&+QqHkDJuCt-JN>C=cU+Nm}6jLAn$UeEj!E>)#|WpE$Ee zG-iE;li?|X$aZ{ci_6Y|NUiGGj>u$eWrU0a;7fGsUb^ls;6neH>YOTrG7`Ie$t7bX z^fC!4VP>q_X}8o;#@94mq?#X8rBiFlW;2x8(|SKr5?d)6zv8n)+`B4E$*!o|0A9JZ zFx6r&rJip7>(Lm$$@jM}_|ez=EqcxQ0621BiEU$MXhvCDhwqGjm6)L+N%YX1DNAT* zC<GMz)$Ogv-SNz3hX+{q;vyR@txTHmX6YP3eF+t1bU2+N!0LE#gnWpJ(Kj{yO^gK> zK!K<WZS9KE!U*P^M8sG(fay<u+GWZC$@?}1wRT@qv<FBnH|=^*0|xPi#WoSlE~|8( zZE@%FQ_yFz;>A3j#(FZD03$1q7Ls!|rjo=w_j=?LFf!VxY~J=&iO8*hteg@%2wSYr z+u{d{KYS*TszBv0*K%j}{oSW^cC#ldFH?;K_aLrYS=0GIvn&J)`)F*%3cHI8+sU=< zn-=T5xH=nBf~oVTjy~?XpJB|4R>N`Akx84G&AG%G6y8sPL!m;Lz;kJ5os${$xyoh_ zeJ2i9S72&n$EN|}$px29L1<oA&?tO-g>cTR=nIPq#y9VGO7##3--;HKIGE14kbz*K zDITW`SCgS(XJx=ub;bB;<DUNR6Q!;)z{vgS!u+=ll1Y$8Wc06%k|&Rw%Z`*t<GdP3 z#+m9A=->stvn9VoCgan<`P80!gAGFsb9=gpo|VK|XUS)sAa^^2f!P&5mH70x^keHB zr~c@8l_fw%kH7>s_`nnxfT3`DbFMAiW=eO1XT0Ro2$jb~O3PlMMD$l(U7g4E%J*kZ zb8|C5Kt$wA)Lui5)44$g?w^^8@)k5jC+mmHAIvrvJfQZUhNsrEhQ<uvY?M?T&vR2u zhN9m+&U5Rv5n`Ckyq`VRq?{f_JJb6w$nKI)db+`|z-L0HXmR+1wKH_nE1|Ua8TK6b z{H>lA;JGtifMo=H;dG>S9nN)yUp24>e(N9o2*OhM>p`6`-Ah)#IoF}hi8j}R7p!HF zO(!E`V>zw<|HF$3@wZy^hJh^Yui?*TSP8jS=fR8C0^1gC8=Y!@Sk2hKv0VDUou9h5 z{5J<a_}mi+2E{O#TVFUCd`~Zrda32$<rLWeMv8t5NL}wzqX*8o#n%|cbe>ex%c@aR zQ57H<&!Qco$G#B#sJMu?CqB6U*&Rp(rjZOvpMG&tNZR1F|3Dd=n8UZS_7nJE2LK8U zF4Zw{=I7Y6$LKe`(`g%B%yJ}VNhGKeB>e;gVh!EgIJ2hYq@^vtMtHcodXntPza=5+ z-W{J$?T{Wd3a783_AuBy&OQIF)5c*<{SN}(mj4F<&kFqq0sCVLH`Jy=hJ~02g8{N} zZXr387raR-QNH=&*q(uxpjFl&`xCjfsD}??n1sQX0010o;=Y23qEs_1is4`FWWInI z${0zjAB=&LBoas%wsbtc+6AKBIc_<`ekmlL9^&H>RMb?-ne8u6Hmtr8;ra*U{^*JE z#QhF}tV^2(%U@v4ud5@!f4LvVZD^vs-&irF5zM)p?Ts1PDXjC+z6&n{3odPG`)IQn zV?D(*%2h1!l`Lq?QMAr)*Yy-Fm=P#YHd}f{C&2y9`>afw9KGsh$&%_C^=Wg&(3m@L z_)%3D6o4^n^H==t?nDU=4vv?%W24Pwk7Lrf4s3gfz(=`k;WK7gV9Hp^Js{`|r=qLX z_|8U7a`apgQl6Iv#1ENLujTPN4@HdRX`&)CJHz`TID^yVaW_Sb@Z~1{2U*e7H-Z?L zh@7HegKWy-1mx_z0>F+o7qmZY=+B=3dEa;n>|Iihtbw7NW@*iG@N96?Qn*j5kn-Y= zH6O_x3kd_rmT#{Kh0md&Q-PTFi$PEN>#NXwp8*R$WDD<0I8V<@Q#m$2AZWac_tESV zZ4Ccw*OQknUM;b!XoCUQ#`=#9%*`)c{4CM4=l8;Cfx$6_??Mi^A+f_aato3Re<uAg z=Y4)gOS?W~TuANpSDAdS3o1ymx@azlE6w`#U!egpq!wsZrWpSQxE-huFa1(2e{bCX zqDvT|e_kxp=~(*y_S)ewM_-j$`)lOoEX(R_LXegxm-dzqF{-e%7F(T0HQdPt8WFcx zo+6XSt@c;XpXb}7&zQ<%r#FyVt@7<=jDD$HBQG!S0;ABn>So8z?|e-|qJU&-mc%p` z^w2O#glnFumcTk5WhDO{3-F1vN%d}O&=gS_g08c7h=ef6<c8%`I>?4>T1v04^#5;h z?2+{UC63*{KiSA<@)T2S{X^3k>v{tNqwE)M;59aBa`Ib%YD{rXkL5yHEu4-kn^Jts zzPR1F4O_)*X6x)ym(C(rbJh9em-6@5$4Ja;gK1=fX*hEx!H9|9F}tN<Nx+`}&0A;u z(8vSHQ6KbZ;JLdP-`)nVZoAG?3?=dhw@llWH!}#4C0kJEW-78`DP$r;yi~gWLuZX8 zHPY1NV>5I_>#R&lbdF(;zBf4_y>ab3r0wD?%}rwjecktg@GZRhtqrpwJbX0GGTS>I zUqt1XhTb)Bw>CODy0ql-`fvg6*F7{8Jatr5P(VsXmYSBPrK#!7vxgl0kcn-JT<5}A z&)jPdJU~ND4onKw@XCUoV|HX5sx&;HKdZTjNAR~kcsSCfhej&1Zj~q+&^R*|3-8#+ z^p<cf1amF9cRN#w65d?RQKMIm&2Mgxg_MyUjlbm7hHt`Ux7~8|TW|$cHR8Vz^EyNw z$??M;pTefpT6B%mmt&{=3fJQBnxVdVILN(!ciFUCB-xCUXDqfT<Yc?;YI^g~eK=Ur z3Y01dlPrM6>fCaIn*{@8Om4QuYaJ+zAwi`V848c-CK0DgO2E4;APre4!=g5SR1%+` zG5O(WJvH>%tkY{QdE6R7BWC<=IM=Td@EQudm8J(J`*_YCRu_2w(0D&@`6*Gi$<-;f zS7_q+y{6b?|9nLXYbz3KfA}x21P7K0YAfR~E_s<$xRix>aY_7Nl7@T=@+8=9)YKC; zz8v5N%wosaOP!39qR9$QL%z+w6Brt;sdbF&46feOQQHVYW<7N;YsXZhSv=w`@y0bT zQ&Z!>ei7;b1F^^B#g<D1MWwd#O`l71<@<cm!r%^WLGo6msmXcLSGmngzCvbV&@xin zqy%LZA97t>G<hcxod($8IGf_AOrB(v6jamm<^<Op(%#vvpeCsxPSuYX5CQ-TL5)u? zy3LFCZM7l*H(|J=&4ybyJc<qho5l2Uz2!6ZKKe|B?Dxgh)sy8Z?rv}AI-#!)m2da= z_mOUU?b^KYiQDYaIlt^+*42r3;Ol+KP&c~Q4`ZA-Z>!h{b~~LOle!c+5+x5QAo)d< zL@U;Y<WOLO8}b!qVlnG*<F>)A+NKS5ICb2kMM0ru2B}nqB&N1>|M(wv`h-gg<9lu8 z4TGfn8W>o?r>c{)yQ~pSVDWp}b!MkE&IJ+F8O>KzO4FcS&oRHTD?$M7@?z|`Y+Qx! z3?CV>y`m}mVYQy}CCCu~XqOU~7pK>el`$%ucbwrVTUx^YeU6gjU)WMt3?C#@Rrv}! zHC>BAD4luJ@fvi!#!5J_n`u#Sk(6Qu2;6HjvF*wM3DxN0LmWtz_a0OYy6(>lm*Oud zMZY<}wNtCJA4X@1MQN~^h!y^g&f`M_EEFBd+TY+F?Y|DG6x=8d3zJXT$?CA{D0H~| zaY8a?**)75t*fHbz{O%Q*-w;a{oK~)tX2bs^3G?c#xtsI=gTj&hzn%>@T6^3qz!9@ zx9Xx_!!PL<2DrP$QP8imXIKw_lE?teD3H;P;bFtyOn;fS3Qi*)?+N(~wJnDK@YFTR z1F{2d%5%+@wQaD(iSTdwSO5v|SsP)TBAE<=mz$9s0-DW`Xech9b0b~cK@p4#oYVI4 zU0`t6<FCdO#Y!JTqdOP8KZ;#a9V`p&oZzyCHs_bkgV)lVQJtnBR>+$!eiZC>TawL? z#^n`^NNol`XV0~jT2O$AL>RplcR8XivgPKuDlDdEavhaH)sU*Ge1Rb0`^P*9ZYX=M z)ysd=O*BwounKxH7tQ9i5WRI>)&5<|w_UxLv@G8dxK)jS-s2FqwE`Qd>sw9Ts9a(` z5&5?_^nchU$V9S51V1Gv33ETmuX|8B>5n-I_{pP>LRS{QkF}*`1QqN*0+S{>2UAa1 z^glY#0c~)^k5BOp-0$wyAp9;b{$#@k(_T&S>Hsaz;rD1_SK#?Eqw4$LJPsgG3CK!S z`cDCbmpY;f=azb9cQMY<I>|>UE>XQ-`G3hcDT!NZ>+hW%8dssHEL;%+o~7BeAD|!e zOKbrb%^Hz7#~v+q$xtuu^!M?$LU|wlc%>5o1kE6t|5>u2S%9wTgSZBpT5m-yry(6( z#a~%2fwjqO!r5A}n$BaG!i}(k<YzkfA~Om*7YpR4L|Z~;iONg}u1aI%$_8#MD()YR z!DK(tXW3dEo~0!!@pe3B+<aW6G5pUWf{I!A3jScLfYdatCjQe_$B4)WFxGX?{eJv# zOsi1!>JIu<a$LVB$e9NxwWR#@h*8C_Yc3}!(;eYu4fuF?m$#MPlb6{lSRZq0YAk@% zVT~@uYRs9Fu#VuA`|EwR!LE_h3oo_b%cb1~HFa-nr`3y^_wZfX>X>UZZFtNE(}-F- z*j!fVa(BU?0B&}EnsW)X|HG<ZMHfqYVCRzwJir?LU5Qb@#(WUn-a0V&KP3<7-;Q06 z=LIn>T(3Ln)?GKtIJhr?SyOXF!G<#9i??91{C3~V948tP-q=W0N@X65kRB#r9Z~JR z)94sLXZ^LPOnP7P?`Ca^N~d|iU)?%xXi{``gbZi3*W2x}0mlo(O^ga%oBtMw@cM{z zhqp`3=kVlyuO*%CZ3N1ESDRIshV*;dzt_r4`%t$!*qE4DRnMkJPSMc9%Fc+~L=;77 zV1K-4ZP+saU~Ns#FD<Pvwb6OYvZ6gbrM}i5O>b_#&#ZqO7?a3MMU;$&Mtr#IRH6cW zhr1H1&-81Am$Ic?9B`yPJ+>Bh>hKdgn~YHs+KSTEy>jZyMRjm7K?~>me=xD7^R2j6 zU(cS-zT2mVs{PBp-W@YdR3SPDvohmm!agK^aFhBkNntmW#cnf%jP%YHm~y?86+0*k z?tl7^cO5!PX4LF79@VKgbw&?w4jz%$?tXS=>kz6s>qs)KHc(Mf^@Yqx1-2rh*xlJo zrMfC3rtjD3%0s%-_70p%oJocz&-_Nf&_0$+`rTTzp!P@dx6gi@&h6cCLOjmj(+uxs zyf6QOIWm`fl;?|H{mzsd-hdxBINNl=W+tV*AO*dRW{F^!Ce8i5?kJ6KGKeQrW9oq2 zV(N`#)WF4yyMIhEdSE}r2^(Z$?|)hPFNNXtIb>6{Y~IeI(2~@@NmoibVwtPQPnKmJ zZVq^Qr0vE_a~U~d5_)5CRwSKT`=QC{w`uw*u`k-lxY>Od=`NFK@xC4}VaBZ7kfB$| zcB2RSG7>uWUT9^}Uk!p?MQug4IC<Pm)OBVQf9@9_9mLjhogYfv8%<~Ig9MD*4-MD9 z%V<sn4u|%SK6?t|{*)!7C!frEVf+*ju-4H!JyKgOrf~C^08Fp%SlTBEWPht#LA}0f z$jmR#`CIAzHrI;FSp8y|uB(k=?^D+Cqp<lKwo{H`TDQOE-YRpBzTJZzJ2kAh^`~55 zSsoR$8{vd=L*lqs&~#)-CNt&E^5*c3qVv;uZod~R7#4?$Kj$%_$<~?W6YZU6T)zJL z`c&9Bl!y!Jm3|^C%tJDrfm2+6-SSlkUS^i#qbZ}3Ugr06=cOrQv;N7${UkCaktF?- z&N$&vY&<5YvZdS{c+mp}aMG0ajO=Jq+xWphnx9NEyRhaD2FQQft@7b<PHmts6d-cL z;1dJ(wx4tru|f*&hcb?sJD>Jk7(sY<-IwoQm&_O%^MMI}j8N)$yv3Y8^bJJB_IglT zR{C%o&GoI84cE@^Yp43xU1%+FT8x$#;(b`z%Pl!a;RTPU@h|TO)=(r)B9`aw?;nX5 zpoGXFUkrAs*tclvWM&%eoNoBbsTz{@Z*__R&rJG61@AB}WjS5gW_lPJ(X+w@6O@1a z0N9TAud&>!pXWvzO$|^LD5jTzDUwalllR<toma_zX50|g|CS37^(Lydyf3^}F2s<s zM3Q2gb=x$Q0%+iI$(-?PX)MGfE-RGv)tAU1kp4?Ez*@I!b{d_EmQtEy-M*THEtH*% zLX8vn$7W6g1p&Bc=Jai)VHA;YXV`lGm0THDm!f~Py3!T9_xj|{iS3ZOnc<IDz1zE> zVH1KzXKVd}%<FVh5|>ga<PvF*t_W7{MP_|hawe{v39{>Pn{i>p@z*&9<ks|jY-NU> zF3*5N6H4tG)VXEiU0B=}y5ZvJnV~Gte5Pm-{EmG)IZh>Y>o3nMo?TjsI$P25CjI?t zih=%#R++$F0N|L#OM{#c4#}JOg3xKOVUD`h4orZ<+P+JqFV~<<+=LgNCD1J}zccUZ zVs6?L5Bf_=XP&<hN*LsR$J-I4dixE+x}|Y|KAAfKN(fu_mOyNNkon=EHEA~BxYdPX zyyNz~WqmL)kY>4ek~=O84DhATB3d3CU^ElN=R@0C;VR-yfqn2w_efNlus|X&%tQQH zT)B}<-kqb`1!EVP3|RN2F2%#kv5gGGLK_(y&=l6PEgX)41^CuQLSh-3<)g|Fqembw zDI*IkDh~#9>~4(ZOQK@W*kn6tINM{k+%-k&U8d3Zz^@OLuQgqaAx16=hjlijwT<9R zeOhZ}mVClmf`fbLeIgKt@vxT%>KwMS1;{^xG<i2S(8-PL*ib_ijzp|f*@Cp3jT$z9 z0u@N=zxMTW(aJPb`FTzpG?e?G3;?X;#o?%aIMWcFNYn_I{E+BYhcKCMn=};hw8S7c zeXK`}Q2R+H)}$8$ZJ7xiv-;{>ynrR!V{!56&i9q{8mild>UGIf305#;k*8FlNDdP4 z{H#=Rrjje#!wMcNd1VWn`2FW+)X!rORB3X4g$o*_h|T)uiAXI0>wyq-r~4CHkO2pj z0J8Z-ZZ=2KWRGtQ1qmeJA2T>^e8jDWCvFInncYQ5abat9JY;%FRWR6mCY$UcVipye zjU}%TMVQnA01!~#903{8d!T?l^5Y-nz)%0uOXrzC*78XM`+Csvon1Ki>}FufWY>Ol z3}5UGmyq*jqTS0alK&;Re~NK$2AY7c8JTM`!QN-89SmRRr}gJEi!Zmrt7>jeG<|T} znND<xcJ?nuAOJF=mVf$N<C3anb>lAkEw~&X3?Y!G9-=N74{CerJ09)Jlp%A%G>*GX zmqzNmc|;P>;vn%L+PYe6<^Q6^<;Ux$>i;otVt~FZVKFlqs)Um`KKZ2r<N;#$ZJEjc zRMZGOIX%g>`s9vmWm{-Eym->8v}G2AEUZjl7?R=9ctMzi1+bJbSbeV3wts)X#gXq9 zb#iTd-K)D}AWSeSInjjS_}><7+KR5IQ_B<T{*bWoi8iT&d@={0@f0G|CH6;`9<aPy zSF9Le@2CKPk-qfESzM;L(Nk2u;};E2((C<isKwxzVv@w1`K_9cGhi};FNs124RfuZ zWl26&Z5}PsT4VCAi@b&OSVl!7Q?%A^BP(FkblP5V;TEsA4JCcem0pi1dS0NpnX9bV zJx()?1rk6^tRzfzi<6MJ;laXtQP!D<Q+)wIK<4G0#`I{ta*;T3lgq9~eE+~G%Aag+ z`fw~=qALK(g=s0rAfLl?=<g6um8_GU^E6LXWLfpOI{h1hDNDYodGa66?@q?1Nvk28 z1LK=flp~YY4=kRF|D_u|4<ZL}S)a{I=+SYe_=^srgs6r)UpqvYSksD2NywtOuAB&p z9QyP0PH%*SjxR~8aoJo<mtj&#C~E6U{2?PZl6=Ia3(|_hX|`GA-s@ude^&u|1|n(S zR(IGhF)PkGo@*h3C#yA`Yt**e;GmmqUvky<FUCa9UV-g<<r3}WIr{SCgSctWTUsBy z^shJP6}<(@A_a<H;J1LSUrqqNvL-e<qZK#B2hb3cN=&&%RpDP`3rK?6PJ{PYslLEy z`z)b6s2gz3yJ&Mv-Q7e#50P6TYK>yXE=*-o$FrPO?6t9&3-7K(UB?0IaW=Z*I=)VI z+}!G=<o0Z=vFb)sidJ?+Y!>y0kgt&i@*rt4<TQoX9Ga;gXEi<hH{CIJf5tq=htiy$ zhuarb-nL0Y=b79VK47%dZO+tau_S^S-#w~KT``T`K1dxN`17D0oeRK<%Sac5Ra8g! zsOXtT-r>4vHC-8kch^?(_|)knLcIF#w0GZD_ZV8C?iJ}*>Q7oP(DdL6Nx13Gmp9jP zf$UypYFbFi8J;}X=yoHp4AzTMCI6M(+hkr9jD+%3KjufSj2~oa5FLF6^YQOC-OY^| zUU(}5p(sgoA|#2`8J^rLwlS|8+Ac+8x4Qorlkfb^(P8q-sW`dVsi@fb#8yJ~0z$PL zaWDAB6Ef`xiAY$qd{SMemL4W@uqU<_Od>F&6*TZMGjN=W>XqjLxH;X9u7Iz{4yB`t zV<O=~8??H2P_{)jqQO=Vr@x1$hrec49PDomW@!8phX!=F1waPg%^u7v8%xSyPSm-3 zf&Cc7N8vI}<qjYHwS0Hl3aW}~blv03cc=Z1b6w;TLyalf--23d=TTO(<?cLZkxO;T z<-#(?-C@00-07F)<r0S5dM|BC_?Yz>;RMNEXf%7pMh9m4&22la@PZ<qEFu`80KQss zD|ctM`f@RW)f>K9S#8gnvlm=$3xgdkUMBR%y6;N@)Jl)rUGeyv;O;uVGET4WTUYQD zF<as8F2IF|Xb0izOqLyQQ0K*_l=M;O={E7JTn=sH?6~D7=J;<DnqZPF_8Hy1SWKSU z8J*)Xv!D@9NILK_mfAT{O7p8N4y^s5+e@Z}4;9w*|Jw`TE!zpj{&3wOhQmUHT!G>E zq5duVb_iMXZXCAhu}(wZp69U&jDVc#e`e*=To9wjKrYAv?<9A#(&sa9I=;J<=cF(E zB%*;FxpnNHVbeP3)9(fp{ai<dTirZ7>+u2^XNJFgGaYKmSa63=N7Gw%R>x~6Tz;Ei z6F~8yPGsjX41++mfy_ns?=|?^ADlZ97Fkt$zBY43j7VAIiFv8s`Re8e4qt!Mt@5Q5 zG2F#-=FCb6DdLkseJNJ|TqF>~ve?1GvWWlj=b-=DJ^ClP79f28Y{kFRZ2m7A30)>e z`?V@1608JAALt&?jEw0kdylPF+#&6>U^KV}4_gHTZUw?S_Z4N0A{ZU5d%;xpjbF;v z=;bs=_y|jJ9JpkVlyX~xK3zU;({Bxn`CAFk9%>sQ{pS^(&UPSmt+73A<JIS}K<1*9 zZNr%YhZ1;vmA1Iaklr&b)hs+lS4kuVxO-UE??1ZUUW$?d-3;laedw(#uXLw4+kHL0 z!&*&7_p54?6TPl<dIizf?yrir6LaCObGSp0DNFAauFm(iwF}LHre4gS=9jgX3QzZ2 z>G85)c*Th}#OoS?3cWP{&4w&spM#oYkt}LrP=?gS>=gO#-Ovckk4f2hWUPscDWD1b zP$tOfEh*;dTO7k)|L=>H=9ONJ|A(!!42!GTwsqsd-95OwYjAf74#7RROOQYyxVuAW z+#Q0uy9al78o8bC$ld3hUB9}YUQ%6E&stUQ9AlOqu1)sKrQTt&^TgxTiNB*SA~)oq zv-{6eCtlBRDIJ_Tx0(0*WN60K!cWAX!MPrW^Rr4MIPQ+uo4x@&ObOP9G(yrlJ#t47 zt(zbVLZUaF13q<)f6vrpeBB%%NsI@GF7(+6k^Z^GOsSDuv|Ih{sICUiVsZQ!eqX<b z6)7Jl2aw#S3<hU$$lUj3QbNw9Gu*1d=v|B!s(=XmyS86)mU{4+441l))B;Dw5qh;? zn4_}xnpDFY7J!zIdt&xDa3{9}b9_hopZQds?(BRAyCIPELbPelp4>yK3Q9>bhB=(i zg<Q1Nu;Brs$rt#)`&iQlM?lxR<_?@ly{y2yrY0l1Sfz!+i}#gD-IRW=Gxj^<;^Zyc z<(o`S$Y0+V9FTsFa2}ge6#{e&b?2)4(qe_>u`u!a*G8L5Lq|AA-`)kV-8_d1pi0yx z&*e`$-tV6@gYD}-S2FojJ8I=7gpV2@5ePi~)OUHEhgqn-WdJ>#cEvM`H;{Z2t(SWp zI3)6iDnFiKkNA;92c=V`D)TfP%aQQ~o<TXm-OkIfG#y$|?r>{^W2Z`lDk=*acK&Zr z9)&0)Q5-NZe|O3Da8_6n3H65&G_l{=xi6gU%Y47_0F-nArDVi$3UL(E)386ExV7lY z&<vmw?c%$f>pDCxx19%jpDbE_ODv?>PeU=hJbA0bRknMcIow}+n^j7T1>gnj8pUJ_ zkGHa}e%s=FP+I^S4s(P%U&Twl@BHGz*TW^=R$BA?svYk0X2fwo$~;p{n&*`YQjq%c zOr5;I3$V&gO0ou+9vu_T9ms%vOMZ~F&&lVC7kl#I>L|=v=+8^-!8&j!L7Sb1;1_NC z5u4Y)r2$400;>M@uZgni3q}mm2fpA*S3sHtXv*xajwY1TMTBD4kH?%2(&etpt+cI) zIk1%<#7EqRf5N>hdpIEPsH{I7r-UW)(zDZ-7wO?n-Bx*f$^W%CawrPEx((|`8dE2p zpla8r!Hok$Jlc~!&%VG_AL2s2`{jv|iJ0L@Dn`4E<GQUNVJHDcp<5Bj%$wgiNLRLZ ztqz>~O*^K?U2|oGOx<=frK?;NVKq+Cc~o$7UxbkhZWI|S$_>j1Lwa^r{Z42iSn+l> zJd0k_39o?gpKgmuz=DD<{a{stv9TjSuD3UxyqNJRNwoVN2UPf2yCnw34uPHk=Q47V z^y_ukhgED`?fLRc0l`0~y4~MGM|o0-b#aHRIZ?L@Lk4dRM^mCM1|b7UUZwJEz+yPC z4w1U7HYc%$X&uJOvY-0(v(4mDmcY?MdYY*@3XpJF^$W&fErWb?zcC=!pBhdjg{qiV z7L|GdtctGH>T)`mpytOLXxw&T`xQ@58G^%xt3T(M`<m&<?D6bY0H6K1{a$-(T9*9g z{gJ*ylu<i@paBDwHZJzJ1O3UIyFt5c%;9fErg7T&y*=l^;#<8}#!3~a)S41_Jth`} zHh15g)VU`7=4L-Xg`je!5teB{QAdl{Y#v$hW`w#wAh#6)5P0IH^mOwR$70^inOpr- zUjU@->`Q9IB5gWhJ5R!sfuEQ9<Cq`(AbfpROcWkYK3w^HHQicQOc;<ZD(a)N@~^>P zqeO7<*EiR{%fAX1Pk|m5fQ2*&kYVB(92kdHOe5N#GLMBpxqDXB%FJ1}T$5~bTqJ#5 zpAC`Mlzy*T98+sZhqj_W!AsD5_r&{dDvG8nQ5l&-%^*XDAl5XtB4bL3pNfi_c~ud! z8Y$ky*>W{GPsx1AIzQjZt+uLcD53~jLa!LDO=ue`>au@v-t>jH_#<qw-f3^-Zk#vr zx3jojwS)q$6_~9Yhb5)MY$$+BWvxLc>~2o6X`W#s=bOO`nIQmxOb|3cg?4Ub?F6cu zDVQe*85W>2_b!j`_M&n1zASK2{VSRoC8uRopyR<18XDqLwTW~A^*xR$Pfef0+^#w% zrruB00=y^#Q(P|Y)1cgsYJId3w;Q<028|n_*KaVfz%Q(655oy?9uE^)V1L@nex~&s z!$++EL%%gM$;{RW8?IGVsup}}tS`&aa;a1E&7H@^bmQSEs^KOZ-PJHPWQ7Olg^L)o zH|qoTyc`a}Qt>!7j>Cyhbq8+8F4pPz=bc|zQv)(_xFoJm=ZK=>8u)NWAN1~$)|g&G za)%XH?k%nFV3~m1K?%0!hV))^IE?&=5V5sA+XN%wsgMwm5o5!#vAI9N5}a3x7MeY0 zDh%tcTQ@3n?en<>$38Q*Pli;E);+Z}xc4tL2R#Y8>do^%mUZY6(lT_9c~q9^Z)S2d zCzULH17~KT7uJheh#X3Whw01l1yu$^6tY;YmrIcZ1CWEe>kVFu={eL8t%|j%J-46q zo_F|_Hpe*j60iqp?6|l$zc@C2cWm}MjIcan@zXD~|6>s?npBs+>i+(F-C$5yW(I)P z6W#fd!0Mwm$?>$y!>)+=oJhQn)*uPQSa?=O&&@8dw(qqrB|C1)R+eFWZ9Xl9pw%s) zua`zvSsgK>C5%YN`}N>Rz4+a?V;{?*mX=#u>SJ<SniCZI$MJ%41(?uVMaD6`NqlM! zkLWYLD^S)T%LWpvK(+61wps6lfh`l~qS=~Yv*UYOGe-F)9#Zl6F%OlJJcD_L9wA%x z{Kg8@MYY}7-KJmg`jZOfMEq2gLB+t>9m1UdlTfeSCz(a%j*zjLd>>UE)tYTN1i*(b z$?nJ?iFV-iuG}ouO?m3Of+AZ^^UZIp`|eK*ABh*)XcSVaNb~eoxo~ccI=$je`d$nT zE14^Wv_w2Xybx5Ao+=8ECNtfSQ9VG6u4kuKt7YwO4>>N;y^YmhU8nL@^47;%M@~QV z+sA8_tJ3(|l_w{0LezrAC(18$T!MMnX(*({@jMWIgPKiPQ&G<`w{OG=;c`eLtnsdL za?+GXUYVJl<1h_lzjYf6S4)R026neoMZlpyz=(4zy7z5IbsJavo3fH3my?j|v@9Xv zA?=ewu!M9Qv*IDao;-A+2tI-jVa5B~Sg^r=4{l=CSngEzWc-$=KJ~MAnBETcpC4Y| z@I>>;0|e!oTPIk24l*0G_m;^1o@33x>GRf7OUWnvrlXXmpja&lo-t%s4!pnFYruEr zH6-L6HIvB42rDs@fpoUdQU2aVnEG8WiO@r!GyGttVKeaUQ#NdEiR$!Zkp>~7^4&fY zJUslxEb_ruzFZ9;t-itEy56WB@lY{gGk96tC-V!UXphcqsAVwX%CBT*cdU4w`N{JN zSHXZU%}QF}PtlppTmmF3k@y5zL_axEW=xoNSYKi6oMo@RSr9^jk^-fvhF{6_U$uXC zQIynGFtd}Q`ax?<*mSWrY*>bDPp~|deeky;CM>rRQ#FmI*-9<GS0GWLb`#=%{sX}~ zA*cCpP0WbvipSY}iH8TN`cuIwn~vst+LiIv@A)odrq!kX*s{Cfb4Wp?XmHiQkAVG_ z1mGG?jJzv9QazU$AaJU;f>&T$r?@PQqDwIfX%RlPt4V!mH;yowL>={!%TCA0l2Awx z@1L_{B)aD1ieT}oLJ-LTDrH>u6|5ImOH;btVY?YTE)~+GuRu#5BB4QWcPeD$dR@6R zcII&>J@5)weEwL$II85ESoDXG5dMuKn^s3h6<&Ac<Ef`9xNY}$uDjx<YSaU%-=+&L z<uwU{m^iDiZrtWyC+#f6R4+ds2L2r)W73720O-YL1DYLo`)0}ukI7_RT5N>e*`v?D z+5YxW&5;M;;K<1F{3db*m5)5<-W5-N<dQp%x95$<-!W8=T}{m;wcM>7YL^v#;tYv1 zaXvnH|NC!s_41ZMO}>Kd(qJ$8kStxktD>UoQggxI{!HbDHbk4p3z?cT3?Khnk<`W# zl_h9<guSA==lUe16k9f%%%}H!<iB+|c@PPqH*MT|2!A_S+%n5@G?R{Tnvx6A`dA;2 zmWibKlCWGz?|lFE)ukWU_XyPL0#@WjcODOYmgRUpsjcO5q!3~c=_Pim?T<;L2iXP{ z?POjO!0oFPJ%|<GxpME;weVXoXN8Tgrl{=bvA;_V0nd04hftGxzw;}Zs3Tc@An&v4 zx;BaGOxQnKiB<?f`zWz9LBC>_q_SpkYQz03F|B78UGD8~W`Sx+K_0mZdhl&;Vc*{@ z-yCJBh*F4rb6iO;E;%4ICiz3R&DD+(#maijGv#EA>UXAPSRs{kaH{8KYc7A+HeDwC zc|YUVtUU#xX!w|c{#Yo}c*y?nJ*gN|@g%}-=Ry|~SUK7uL0Ij(7zdS+{L__A$m7}& zMpM13>9zS)YxEAp1kO0~b3$ZY+0TE=_JDxGg%iBqqbZ@XJM6ZryPzKR7*HsQENi6x zrR!bvvXWlqQRrQP5cv-JZROWKfOSJ|eg4QpH3|~AH?jE?3i(+~+}5MYePFGrw9JnG zL`!bBuIIq$F<R`shDr6aP*CLqz^zA-<w7rpz?;Od6C~~@vM@5o&AzE+H+1xH670{^ z38WV^8&rRHlwN5+)-5xA_%88-+6c*jv=0V=$L=t|qp8VxtGrjOiYC3dHZoJ~zJDlY zDo-vQv-*A0qsMm%cRiVT+1+m|TDToYUm8bHo*CDj^roeY0~0)C4g=KVciU7av80H- zq2V5mtzeE+Rh1bw$Tbpa=stV+MQSWJ#?1NS!{^lAy+P*~L9aF3cT~P4NkRau5V{^- zAkfPOGZz4&%bmS;_3`s}h8D=EGFfkrC%>a0&-n*CwI|Ja?8}cOfCVRx(d#zX9R6v| zi_@1hC;?dw4_ka7#6rd5UyO(b-i5(W1l%{$Oa<e@-MA=11pv|4KdlU=RO8#*id2Cg zy@DJn1d`XH->ws~8lOej@XMgTce&vQ(6s+LD%)_}-_xGVnAV!HXOY(O5kFolViqA= znZ%qZ0|02f#x4$mG8b-^M2`7RvtIPv;pgj-hu0D>VD092D!5Nv--d21?ANQJ4Nr&8 zIK98X`E{!Pj_-xD0O4J_3KfU##{mE{j~y;yu)JwDF3XS<DTW;G{axM^oRb0fmLI`m z`B<VvlgCo$E5DzIRWF_+2Sk|TG0&Zf^BJDMW?!6oXlF18zhi-4@soq_VH#eY;d{jJ z))XL+etk733a$4hO!_(mn*=EYEnjc4<8|amA~EsE7SbxIhn2fBjUS1$)i&Fmgz()0 zUtxs9+ih9~c}&^Pl*e+8$lczd67Qzm)uq(fs!R*Pc;4y7D~At1;k6D?T#adoiO4!_ z>66ySb>U#hK1-C%*hbo%M7dIE?y%q@=vj+9J=Iigxm5lJj`{7YknbpG#PxmFN9Grt z3k7+c8ND8YV}37&5pjl40GVIiZPbcdB)XnLL8YclD#iLy1RUhl6?`Ug;4t;Za>aC# zv)6oG_0aT=sai&BghTEk-S74UhM24GDPo$1EXQ77yR(1peu?k@=wg}^dMd|a{qfWB z^dyZ`h1atRGt!~ynR)b#gCP7Q83f=;GCOMw%C}w;8qi&HVMT&wyfG{v83PC$Yr$zd z5zCV(JXxGygZ<%n(Zz1Izw-rnRkq=>zwGb+X+<U>2|Z2>0+5!3A1C(ln|YTgEa1uP zX4=q5sQF4ksrtwD0e+hWDN%i==yEgi@b!9v@{4C@bD^98-i`4{dB~c@K>EBa49@0x z>cOqmEA9za-GjrSdQHI2v;sz8JY~Om28w?3)$e6Q8g6BFgq&H&mC-Hr^!d4|-TL~$ z4A8<sd?}__V<E~4VZ!s_lFWP_{tfD)V4N0qz@GOHzXK&M;?J$YWtiU0woi?E_%kcZ zQo6nOf{OA!{{G1nqh1sJ2iD+1*VJ`mGS_M}rko)DYnps<d%H61r-xbmoZf!y*qV^Z zPz2s6ew!F-)or9+3$xn1&6%3%zJ0TP)Se14Xf~W~kP~V#r`h@Hu$WJ%8Jy~|VMd() zEz4lUQ9s(+s}v2Ah<ES>vu41eLxEBj@?&_4TcT8fs+v;^g6jsInFPe$;${l_Xf0gx zz5he}T-!cK=#WS9IO>tpy9tVgO>pW!O2M<I=3pbzKBHZ(!s!AVlu~tG)CDO`Stw0O zq<n99y0j$Ee7JbxEuvz`Z@VH=c^~gfZ@O6#J7{BO+_W__wVchU>C|ncy{iaKLFc8Q z@eL9$I3UZ@28j?t!+clJ91S4qa{BdB3yz(kHEg{<W616(blT{!-QmY=s~exdN@bH! z0$@ro=J?cm?|iQ$&Ux`ul)+sm$7J2<YN*qttBGf!T@7ZHAU%a4OlG$GdI(@9F=x>% z{M#&O5x&Io$n2bVWv^^k;DlmQ8FZ?y8oW%#k$u`mU1AkP-bPJAP>h6MZ}~RAFXZ=q zvD!KqZdlD=(ef#V6#tY8=`%Y8pC+=FLP1<cbd2v)U9PB9`EtnAs%Ee79wflP%8U-W z)c>`A_x9Cd{L&pV&>ykbb>;r70uFf9&0<Iiq+}zH+&cUsUv}k_{(2k5P=)fexwx*( zIM?t1Pr&QGzxE?b5f31GiNxrYi(|`%rasy?GXl(h&{6-w#pF9H;Q|RD%4|21s@KaD zSDg74%g`4K4#W`xqjH-{*cbf2nAtYS|6;r0)?gmr`R*d~W5-lI^%H}(??ws~VEq{- zU?-bX9#>lFlb9IE@_hdCO%QEbJwhrYPBMmq-dz{Ev~o_>h`cO=wrXzN9#v5?ph$yu z!>^V~jF$XidOUHc(U!dL_`Wm>1u{9(kJJZpuK$N}I=Y|aPs3S(<{PVGsE)AD6e_qh z)E#$DWx%#3=Uprlp3YSyWgLj#GaN+xBeg$VhR|n6(v=G|0>)Q_tfcx#53Wa$6jw7i zkEqBnjntLqUa2@H{Dt>-Q>m0|IYo!*UF1qpGrZg%{P*pqBsNEqzwtk7H6mFF``O>3 z{UWuL!d4Gy>>V3^CX#S@$=@M^l1Mg}q>PX9o(`3@AwweWA}Z?NCQx{qscdm+j1?V{ z4yXAu3;huS0y<_gPPPyW5XgA6G?Vv+GO*%{5>_FwZPn6VC^Lg3Fm1P<*}@_y>}MdR zt4m+SHWQnre1vz*VPh$F*u;BkJrf0WV)4)vx3+R^?s1XVrk<{sgSU|bozZBOZS%^P zI4~&q$?#KFgNmCpOKzmC?K#PGq1Ps(wke;)M@w9e{-XIh?(7fm0?N8oS60v8y*2!m z3~vq~fb!tnY!8V$Tjnu5Gr#MXANgk7ukWTRWIiAYISF!}I!2X-0=hvT@Z+%dEVgIH zxpR^A!s#$D=EW+h0J)q=@fP)&(5q8{C;-u~QMW2CRlu&WDq02#I?>`}NL_h?E#^%W z{TcZ_EZo<Iv*$!*_a$DUw=)xU#QY?f6Ynr+KPR{K#%8DhVSewA0(wvYf<3*eI`7f3 zU=!sw6eKyKv^W(_EPp+z8D!8s1_q$8Sxx~mZ<MF}{<F2OsULJ<yT)3obG%wnB4m2r z?{HYaZ%!Oe9}b@>^&5vH!;pL337sU$riE-ZAUyD|@TK+UElU{hOP@61b)F#}<b? zUsw%8AJD}_<GF6diqs&o3}f)fI^7o85Esrm@N%33{F;D>A`Ts^W4tVRWt%+(kSF8h znmWwWWO;|?lW_12Ar+0@MSS~y1^Q73v0F{sbCt5iS6xcSM;1WST`vE{f>v8vw5)DG zlG=Rx1n_Z6#XkE}3bJG{w<F#+nrzdRN`I&+HzLR&xPWKbcL*rBI~$f64RVyQyGpm@ zpf~0Y*w%YLqfpsj;~?3@#DjgX!(eD66A}R}YOtg`asp8joSYe<pRiSi9w8DOh%PLz z4uO=|>6&AaAcKU6Eo@C&_wAcmphi<^(TT@lLi>nh@8A65_Gu;YrmZbt<6FUqccY!T z+D-zF#`G1r2NtEG&uQloOzpe192}}~m+kE~6NjV8>R{58nfXS05=orc%$dE<Dmj3x zo>vz-mMST9{<tV^A6H$p+Ks?~LFzJ15V}x8H49!YKepZUR0iKmuzo6FID0<l;nLyY zbk}THRl6gsp-ZNaNdg-?YCn3>;q)u1u7i!Y3+@~Fw%;M+b|f?>F#lzblU+{DaN4FU zE5m%Fb<gHwSoj6ELvLE@&zbnd6GCs9=&|f3kv8`%N~%3<@YQUxTSB0k*4l9IPeeZ$ zG&Y7NY=9T)Wt;ON7GIl*sPl%##}=(lPCC?wK0u_en*&QqSA7_NO51NFFyywk3Q-#Z zhxxHx=o27YD>FEd(bUOAMdSGJF)$LHrX_(qRV(;8g}Dg5+e$@hqKhsr-ldzmME1~$ zwUlh7X%Pd5OZ_3CL%SVKVi;JIfl~Tk!I`(5Fr#Ra{6Sv6Y*f{p@Yz%5gEqM0kictt zL&X-!{{%|}@Ty4>atLUnj|t@8VTmYX#$`3;<956&Z9>POrd&a{3&mxK6O}&KqM>8n z%MArkfGGn;s9SWM<aRfYn#>tW(r{sQQFQ)&gEfM(VOJU`Oa54Vx&zF4QM!*4h1dxf zS`0ER`Z@)rDH8fEH^R3W78Z_!$%Q40>G+CCmgW(*yV`NrjKNsPCmqMS<kXSy*YsW| z+}MJsjx_Y=7G``f0MVqime=O_{i=>EuZ$G&^xv(kx1qgfoP0W=4K@%|vdSzbOZ=a? zS=1yx{3Kp^c(IwL&FInN$^KLE#`+EzpEuUrx-p~EHX71Mu@v%8?X5<r-|pxDRZK2s ztvRg?*1Qq29mY6#+ZsvRs3}5p)eW-xK!;QpRE6WH60}^a#JJR3s@AqfA$}_9H*i~Q zk<%!}!n$m0Mr{aC{oJ#ZUkBxMqS~EqsK>&0oyu5-jT_`WQ>%^I>D-x_-&eGUWyMaS zbe`TV9kRCs0V+As@!K$$8_MaTq6#>>yLrD&J!Vgv>2kd0Et8UF9V!8dfk?&f9bnz1 zXip5Kgnuydr>1r!^8EwYda@774;zK%zW3K(Kl&NLNh_C$s=ioX-Eh_A_Yv<N1pFAE z1I$@X9CwWT@V!Wb1N0PBRSZu~KRB2{bYCnl?)D?GWRJh}C(|4h8Kq<AzcU%AR%$>n z7=JRZMiZU?%3aJKgV^c?QtMvv4_I@W?psfoLT^uatmeP}V9dPHLf3xqCBXf9%S(Pz z#xM(2Sr(Ba(hN%jdzd!DFf}fF0=kc*ddhL&*|JfYhGiR+3JrtT6>q7yGV#f8a^)xf zYF9x;BR}XKtd)~*N~@u`oZnSVZz<zo;c`8Bd$SAh!;v5C8OXi5Q*cZYPrq3@65<}q z6zL95-3dE)&?o%VumW05_1a_(Guxk-q}g!7o1Prph#f*$t)^N2YOEcmJDx*NP7NWr z4{AKj{Zv>~0F#7`(SAixj11cRup27-&|9_HeB*(>+NiG0veT5|&8*GvQsG<j==bK| z4|ZN0j|X~*iS_tg_Q0PHMM0H#{9)6vYctG3IlF130t8;_VYSoB^p(*oS8^J#PXa5s z&^!*Gm5Un=rgRuH$ljrRfK|YAc6@ML-p33MqO6^hnx5fW$*Bf55GdD~f{mYseb=NR z2|-mR6Fw60bIdz7uMiNMJkFvmT}5JPQWjijPM@81cVNnxPB2S(`s|HzbHKpvTxBQ| zpk(clf#LflY5wFZ@4sP_v3aYF1qLE+mcjy_e$&scS=OEFCko{i7eK8cK>%QOu`-Mq z5<ppdjC%<zqRO<4X>M;2=MhMjl0vX!qH!SbvB-nKBp8P!Pk$VY?eB2&#HRXD^j&_j zsVTR^w1V~DKu%DtSV~UjshPdK{TVwbUd;cTLE08vO7L;hxxxZj;YoJYy>^@xqKszC zMY2Se4Se^S9I2y-*v$8=f4s-<;A(qR)QpDbzF&_gAW`f;Tsyltoz*;lQa4Cw8YMU3 zv!49nC=|aKb1vYy73ID;b~a>In_7{-6_xgI<{U1;ykW6ivN%SxQF363C|24{Zn^MK zUNi@M99@(Xg1v9D+cJZI7F7+rBfL@eOnEQ95x31IdM4@9OJZAf*i0tcIz6f5aqA}R zHx>S%(f!u#mS}SHUs?cW21X^}jhU$R<eO6e>al{Gs2@L?4!Vxh>3fS)ktg(%{H=i| zLSGm*M5a8G53RPoeJc-O42#PBsXN8Y>-1^6zjU9;YjOD2sEz-1*Ol7GlC=Gupt$0B zlN6?^{qkYQ%arw9G-l=NQqR@Toz=<YdcG8;1aIfNW1$0z9nyYjB13);X~UE&@$!>; zvJqPjCO+Ry%^zIJdRFl~t~k|E)J7`xp+pOtwirfh{-1@sx2$e(8pA_6L-|Tx-l9O} z1o|Fqr0D^xwf#2mgWFM0o?FnqbuN47?fNi>jZCOS)1@!AU3PjYYAXHg)}-yUt~*#| z>CS^6UdWHHe7Ru4D=all1A{F1wu}|t=@HNr%|>2mT$ady`kHM;0)sGDdcN|87ge}! z_}6}x9mws%<dc)i+<gqgtfc2jFFgH|Wu^F%VD6Z@@I5hQe?KuWJ1Q;wd&RdW<3A?r z)I+1Ay;5Mz7sXXzN6ew;!?^J;xcR-{S3wm&yVlIlx7L>hz1U8{f!mYIR-fphXp)_F zLFR<N*v{DJoiKOgE#3Htm!|#vs1-|+E=jIM-*BGRxkbNJLrtUN$Z>L_r{1`l1Ckr} zwDtFQJr$SMr0w%B+I7=z6AwMcte?BsDqs|qCq;e>{#Ne;c}%8}s|UdUS(@Wrc(zwH z1kEIVM-vOTc%E-azWYUc_4H%kweQv_XRVbZic7ii9nFT#Pm8Q6+LHkbAxcVJI`w3j zR??c2AXMz?Ifa0?gP^i>D{`;ehv8PGd;6`L`t6R2aTA{-i@9<oJ-3Gi8}{Z(#p8`n zGn?drw&GWPy}nf1BQi?8?;Vt+s+!$e-5LT_mZkC8)|o|5KPJ<=$^Rf`Z~c3T!p#ri zTU@JISC#N=J|VkSVudAA8Bt}IcUG#-$AjdXq|*DvzgWA%p+O6Thvf*U%U5&nt8v^7 zZ42~CK-s;@f^GVwh+#9WhZ$+&AU<vtp$DHi0IhQ%ahu7sg{KMB{{U!$FJDYpNlV@p zt>=F8)VefP`H5m`Ci%bLZ(_He1wY?jb7_~XwcON0!mScG<GQGK5>{)*G_91+K2c2C z3fLwJ?mxJEQabTECA}lMS9)Ut_0t<EZarj+kbSvJodt_LS3Odrv}#*7M$6IJwM#_a z_`enewoTMr%)2a)R|{)m6FXOi-Awu}(8n#`L%5JqYjKM+>^w{m6Z|m)j+-O?)b}1= z!hW9=vFffa*u$og`mm{Nb3FK9x_946T(39vUKk;+ZLf6E<Xg#8(VY8>>-7Q{PEms3 z2lv1MOlZ?BNrV7sX1m@ERaSJBzaEt|bdj`YWP3W#vVhL9)b0#}e!moXLIGxAaWQG> z%JIddTm4{R!Y7F;FUU}I)Rw+=!1ctNJ<bmpuhjcv^1B<7Of>GVoTi__QH?7M(~PYP zG1kL;G)=j0T$`D@WoP_z2lRM4AExmaG}2cqV*csHYOW=Ae)2uVxAw`Zs)}UIlbU8p z0vz%+s6$23HJU2tWu^lsCpcX=lxt}}*7>}9c*Rz#nE5-;tNHC~6+Ws%q3Xbdck4_( zVpsM#AGL77k1|@Y3b66$cPJrhX2;hrH<SgJe6Ph^e9XYaM651ZSxFbv@RSk*U7nVd zj5M4urrKlnoj(b<G`6J|EKXlIvCfN~#l4*si?bp&1lpP+zlj<z_?bVBic1iJeNKV& z-d{z;|LhqohEmI4T%-&93NGRfV`2rTyM72EkSqSV+J0Q#UGFHhWaE+;`ouL!Z_i7J zO!I3j^2KyoMa0&gJGj7<kk>?StV}qb{%zzA12mDf@mW%T@u`^JCA)}@sTGx&!@VzX z!d)z)P^R{tI~)1wL<64EEJ)tx7k;4Ve^DJTiV&q_Lp=enp52B;IoTI?Q&xMOE<!X^ zCu=^dqazKtS@^h0Zbe;P>cRc8K@EK6dxHdZ&hA*DI?C;%vJTqiG7IJO>zi~Wwy)mr z{2kSH(*<ZgP=(EP!q>iDE`p*B106ng%QLq-BwC!Y5@5#Tpg>G_RmXKwOQo>m=opYi zB=Y(+OJ1Omd)bpEf<fRI5;r}hILO14&FL#TnJe6T;P~#J`|{=RY(N>9NJMH`{7zj= zfx>+d%dT_!{3m*6;={m2Ylfy_w!3wlYR}o2&1CF(9lxyP@Wjtq6Q54>^W;HEnqMtH z!rT*YH!<RL5;6FL<R-`omBFM49XBg*#pAZT;Rj8ci%o4n(*=f5XWL~t?fb?9H_yJ( z#>->Bq{c?vMbqA`4sUM)6&8GHPteEOVLQ%vGOEt%t0t_2G*E#HRs2|)k!?;6kKZWf zIHI+p!q6Aq)+KHR;TY(FM($)BE%#(^{`1~_#?-0dT)qpJM}p>_;1(m%ii{~n10p^c zczCbRMQo`tA^T@t#cH%%;r;nZ!mUKvr6-HM@#7)RE%A^jBv4hs{H3h2$RTk%DFyYP z6;iK@)<<k(=z(3{nfRIt=qo53G$$@-y#CWpQxOLOk+mN&hLvA4?8@*viaov_OdIDu zpq+#fszqQXaQ<2Pv!hN^C>=p(Jkpa)94Q6Jok)cGCBIEVPp9l|s;rpoYB%3Rs4PLf z7qMp}SD=L<6hVo_$-eq+bq92#ZP7V>is{X)tEh!)e!B8wR9%FR1SB6o3=R0h`KRr! zLH>HzzkJL;RXeMGZZe-VarRC`r^c<55E1a(@);q=g7TL?&TH-rFaYkAU|97j%u-oE z;{AH%=mP2qkSpT;Ws@pLYP~8~zaCv<{b{d+wU@5xJO0PSDyqVWYeXZ`5v>63UoYaw zG~xBIRRV&K{S|y9egdnE8%%MXcv8cY6D6*hxA+xWA~(vteP^tvWItJfH^_>cDlx4o z3DQB56@~y4?w!^zu>N)6M%U;v>eyC5Nf|B11OPs_fCIQia&$19;@{Ab0fE+xQxv(| zl2`@*2`We;3a_H>(6NT(`^Uek!#CzZ5Ca1L5FC+vR+c7O5qS9)HUob`1A&6i&P*4E zTBU`#Ca=XK6XVB1_d)Ax4RB4KX_rUGzxF<HM9kX&YYr4=YwoQauch$O)ThkO)Ydi{ zKtEm!U;SJO<g)3bI&$bQuS@;rC{)Z*&qWSkF0vP*=kuZIob1M2qEo6kIxL2E52J6c zN%RijE{$LW=4>RUK0u3FoEx>&RWDZ6wd(*1W#m7YKZVM9vZd<>a1$t^nJFt*fJ|m< zPOeHrF^azD1Ds%epJukSN;O1FnieVtYCq!%qa&q=4aM?MIEGIc2g;T9^nSq`>yqoj zXQYl&qviY<Hqk*0;N+W3`fbKh6S7!P=Sz+HDNTZ$9KuRe7ON^6mijMGz)IG@0Rj#I z1lIm+FwlC^gdL}-s+2I`3;@42(aa=GY6t?s3f+GQ2cjY8Q@AKJB$=!mGHxnbjU@Dt zf^Svv?a6|#qtbs+2g$zU$uect@^E!+uH|g`=ok({pZ%z5EUitET4seA$MSe9_Ag%$ zU<^Bv2hm0GNwY*-Q18oKERyJj`AOQ}7aJxh>!~p{sMaDW)^U6m1WEPKNr|h<%Tw*d z6e_3bYV?c;VScr@IGi<HvyVfouY}-kvO*z7$o|1Zwk(K)9v<^EZ5<ycd|U1Gff5`G zQ5b)vI&0Oxy~5C>36xk7)0pNjk+rQg9zh!-{;)Ng+iBk^E9(V=VI6rHuZFa58ke#E zDkm=u4d$ZrK(VBhL~Bp}6+635Z+;0S*a=rM4z&py;5RjiOj!nhx-wVXQGlOBGL_@H z0b>d0FkJp5mP$yp7cLLv|700%CFrUnWdb`1SQ;ju*Ge@I4!s?eSnl*93!(zmk}0V> zaK5&-h324fw#cr&F;<XtXkp`K>bpFs$?i-;{bdQre_6t8y}yf(Z@}9~hW_XEs^P~L zDe)j(W=GHE8fq$PExWzhJS85{1ZR=rv6;4B!j52S49Yr8lH}vIwhXiemVBfVLoF39 zRhp^?Q>*Ov8s{9>rJ66-{UsxW9OHSkU9on8;1}29>10KUC#JuS$jYGpkVN9+@dO23 z5Q;Dh&Fu8p>Df~J?QL?lkd*9kT7cmR+}`DS$=7}oB}X{S{5Q&(S$Vuhlw?PwjxtlR zVx`pjQw>-W{6XWDMt|E~jGE7k$v|2;D(uMqFF%5y`|7H>X3VIC$LJFh4}_Ftl8%-> zTbn+#2?y))#vp$A1~j(s67hz8W%G>*c^gp@%y^1qY7lj|)(Y>O;9o3NMx;%C5BhCP z4j?~0WXS(U?Yx&qBIKd`rmodQPJLM4Tz1Z1#soW1Y!yg)C_MKj*&0$KX$c2einwsQ za!gn)z<T(s$wx+9;<%r7Jsh!v*+`J#Si_^&%d;lz+Fy4&@L*-?c8dP{=TZxupmHU> z{F;c*Q5wOr<A?M(AC*ZScpJx=#2w|jllj5U<CpY3%j_RXz>!S2!A>Ke#$;I8?Q;=x zpXcVes}ic3hn(6D-xL2e*C0w+)tU0S_Vk2howx2!$A}p`n=;r8^VjhQO{njj<^z=n z1aiJdCCCru#msnxpcz;hS`3xYCl>8kuGpyW7|^+e7<4*UFD7!KV(~YBhPJn6QO&1p zl!{G3uGb$iOffb*6+UoX5p8IkFQ&wP{R&y`155E;Y=)252~sIDP<@N6ia0G?77zn4 z@)uH#&wzV46T#FDx+4s>2K#$8i#J*@aNMcLb0`rpt3pE!S`yS`A+|q1LAPE;ZdV$$ zI<q8L>|9*X_FWrvNlIeA<JC4dp;YBl*35l9dcMc0A|~kZx(^@K6L76FwKgmKz2LlE zTw{qtpy61v)kN#58XK;ynXPZ#YL>0JZi<8czgR-My^#=qE7%3!A?=P<JtA+KU;FU_ z3)dD9xM8xKdeQ}gZM(^n$)w67Y}1WOJHh_7?zulsb1ujl>i0FaL1xfx41RX+MEbCC z-^Ic+0N49azQC5FJ*r+&FwD{SoTI%70$8J(e!n!EwB0NI_<>yOz-ZQpHvHJcwR~l~ zNeip}3fd@n(&9G$DEh&2xf;Fu{dDrU;Ne3;O+d)REFVYzV#p-VHBk+B1drK<jKHze z(1UcLACB+d-LnqaH<=H$Jwe9+5AkIyvQGqn^_w!Tx)mz_SwrQ)%7gq2914*J%jHMc zDe)>6<o`qk>yn|+svu1&1s~tL@y{2yj^r54$gkcTo&iuA7gPk{k#JGa{u!{n-#Z>1 z=j49T4gL3O-?u<odEac;>cfr_#J%f3Q$cuNe=E%0y*+$F!kvhqCs7p`5L{b%HSd$B zd{a7<#yqHmI{=Y81TC`PX2v$)2RnE>vOj$=KX6OZ7qP$otC~vK5HZ+#^o<8L_(|Gl z?t3pzv?bA|f8#x#X9LNsRXsHoKDk7}wC=|Z(H|@hBIP6<U+bST&c1Db>htT4l}sS6 z0n2Lak%%yQjaP6o10CHf*RoQ|00!>FCjK=!PavtJGMgsXgXY}l;-Wh55VO7Qu%Pbx z{te;i93GVDoWGKsV&tHmgTMNuZsXShus{a<=?+v7Lf?VQUQtp<o-;nr=5i!xx6v8m zA?y=3)`ebc0~&{HhkbyVp%CX?L#M&Mun||>e#iz(P{hJ-j&hP5uj)ttV*&kgN1;U- zg<e^x7q+hT?btn)%dhCGf?AZX4YTs9s5k?<{p(|w#{18!^r5Y=vElXpN{fOF!EKbk zb$J8JnjP?GJkF_B0{7aYiI(ck3gwSl5*{|5(CpdY2O3G6HhZ35f%_4EH7R=ah@U#R z3;F!~$oZI<j+%@YR)x-KRs%jXqzW^{u8twjg`&r?V*rMLzb+x?176r_eJ#gaTbpfc zgAlZ>k%~j-vI3NnN(P1G80eXpQdFt^gQ1v?q5`753cRA%2{EYBec4?7&~O39L(TY` z8k*B@6m9D&PtzG|lhohVQ>AwV2<t8K_+I_}rY`&_`_S<9B68(&B1PA)%gTDh-39O7 z-3t|6e0t0rv?SPNIdJf><k&xQaL919#gt<jB)K1GRhpy#2+u(>QLLo*l1)YOjRr=| z1*oVzq<CWjkDG~7$i5T;9zH_(Iyt5rmxBn-H=ic^n!oc5?tZlbi0)mSvtS|fU-E1H z^12PCS#=(`J0>1654gx#o?VWe+z$UqEPxC;l7fc;XdG?4*@fU`iwMTklwTT?g`ll_ zpP!|?MNnTnuheAOxi;H<OM4h{+nNtkFDt+ma2ANlUiy^dh*iCN`E6MkR?r~kD6hh= zwT_=nKu?m~Rvj^`coGFU<IC@JLC2l3^TrjT>`!gqMthx&a%Pch3&i;{O+Y&+<L5_( zlRF<21&gzXN&tU#9#trwm~Pt#z>GRZ-mFf6dXt|`X@R{wcNyNaI`HGwCgPl_e{7i| zd7Xh%9$!TYEIc$RJ=nK3hN^QGja>@;Q_(f=b(b%gSHz?@PXhekhkAl1U`1+pZS4mr z_f-LaqG`5SA3LtysxOiLS9oadWU4v_KYqoJF&UBEHyBJ>zWv5{IbGVj{r*+wMA(%5 zeJno@QEA>+BkE(+rhtc4U_vQ(3KOgI5tpg9@0l^y%ozu*sPFzI@=?a(NPG{<sSsK+ zW$zgREO?sm-|KR>iB!8omoY-{=4aY8w_g{p?VH#O8wl0Rc&+qFSMEe6chy<?&zEXw z_QeOGodKf%R$G7tAgeI($u2Gu5)m1V+Y>z4zNrV7#MR9wjSD7b`1j(6z@&$tT}!?% zr{DTXlmm!3y?sU^SAhu#jGgOjlSk9fEDLlN7wc0cU)~1_(#CDpu$4)(p0*#%7Z@z? zDs>l5`tDM3OH!@!Cs^in?u$-ZEa?HYw>CNNinF>kXI9uS>4hz}C6USFM9-pPkZG<r zH0$QG67PCVMfF$Tpfu+$d`fk2)e*C^h^W^2zv#=zRe(2{^iL-ei$ZC^!SxU_Yo|yk z1aC{DE}k$uL*jU@x2bF8CN`8j_sPdpjg*+Ml%Lb|Z3_}eN60-*QOeS-y&Ti!+|k$R zLes132-EAjkewIS=*c_%?R>XpZ)!@YPQhqH?uJaT4a4dTY7I&dUnR+fLDzr>(*1ZO zWW2?O!PF5>N~clb)3<Ar-QR`>0bQz61SfpQKoX;7kmRH~h@BQNwOe?$lJp|eQ~OYN zY6gYhgo%UP@-_d_&AGn~wPsqbPq?`tHx0}}(eeKs-<T&km-=ruP#_@r|JlG*H9D+% z%!)B)yQS6rEKg-S|89Vhhe(ae;s%Y?pQSVx8h36Ju-plmL?BS$`K#4^U)31A${?{& zww-`)6$>VS*2&infx~JqViM#G$kp52s%ljdgpw!u)vt@xH^*L6U+eukHZ%ss&{X94 ziss?kNkI$<I_+~3&Up7^b!(sju(p3!BovfMK5i8r4R{$cW-<94k3U>$Q*GmmiUvGB zzf<gWFw5|c>EfLzI^J-6tt2Llyv-MJ!4=c-Rce7{6C4{m1k|?I4^mD=l?#3T@S!9s zvg!R}BtfUcyZMa&>x-AV<oMAMxyie^i2r^r%#_!34CaH|YR&uBZPJ-hlFI+oQOxP& z#TB6yKCgK@{yqYYr*EA>172|yj_S`=^-wi-g43dws%4KAFGEY^FfeQJqL~{T9;hjx z{l)cPf$s|(1gt&3q#Sd3Ki0+<9)VoZ+-T<t!uF*@ae<(;xv^*heC9|zkcbfuWG!n) zJlu8Hg2YDL6u+;))&2vuubTIlwF`<jg^f$;?j_QnAB4&rCtL51Dk#VRoJArY8;zF^ zBg-;(m!G1NtK*2c*XHAs<dd)fbfs$Q>A(o*npA)&Qg-a1)vhYVf2vWc{zZ-AN9<Rk z)5`0NfPry6REfje9@gF7@E+x589U|Zv@}~t2)8hP?nu$nus3?XA?{J4Ax#+CF@Unr z>GEjC51-o_aB9{%I;1*p6Dl#mY!M+}W@#^o{^pTg@6|24yq+;_Q$?QBA*d5{j&@j; z@kG{`3JDN}Bqt@$4phbrhlWNI6qcrr<K~J}%J%Z#A9qbtN-=r{@j7`qC^2(~(<}JB z#6qi>3(-yiOy;^1qeO3b8Pw&-i819*QW|8EQtnk0r|TJ4Z!++U^8{Qk(b_NJSG`)$ zhn-NVxLzeLl!FxYG^DK?9VXUr9kM!^$(fjvx=aJg<Dj{omY))%^Ze@!w1KP)AAeBR z|MVlW=H8%whEDSq;3#W!89qK2S`7;Y06su5kSnWyWl&Rsq(^BJuD|H+?9S`zFNGM| zZH9!03HecqN@KekkC-4V!eukopsquy0&LF&YRk@qKoaWN>k)Py5<iF}5fR!KR{Sj| zHMf<gZ}0qvHh-f(gedDqYZ6KERK$AxbDQ0tGbXpH-K2?_Qc|$yg|{+`9e+vh9kjDG zi>Hn^SLR|ZTBdHfBLsK9J%r7C{YUQ58m&{Ul-_KjlH%yU=Iyb@0)Yf@Sgh&&=|d`< zEoiIMJ)N+eZ4~9|KV8ZGqLsNK>DP9&C<{7}k97dW+1@+m%tg=sB9M`j*95jjX0^y0 z`W33G8g54%e~%>#KYmAt2ENghS_4gU+p%4ELM2cfi2d*ZfJ8AZ2tc?LoC<C+6)jzm z<yMg*Kocj&0Qkw3hvO#YO)xDxOI3_Kx+clRr61DCt7^>(Hf1!oc7#E8%70lOv-P=^ z$+i_e_-ceu;sb<ir|DtCG_)o?_SDgMzz_NhGeH$d%{R|>O?HC<`XW){9H)}C$>+P8 zui+(wd-JESvDY)~2()feu5wc2VJzx$bc*}WPzEVx$&1VdYERE}wy4C9o`;}cGi!!r zJq}~!5Wik9jg*_wF9(y+i=hE|J9CG07aGegIvs<C)fsK~e{fhZg$;-s1g)fMbQK}m zJCUaGk-(`AJkjyNQ^z*sZd)Gr=E>SB_1QAAKnMV17aK)+6Dc3Ti6)-zlG9f8VxD%N z2Vv9JSTiz#tZrW?mHPf<_G0N|k#&?8NqAMoxbfX*{06$_?-LZ!->{LlH<{bawt|W1 ze((}ADuBaiW>OZq!atg+wI-l7Gc)33$&+gu2$4mz@Dr*a%(l&+<?MIim!E9NRx)%r zeJt4Nn6cH34Vh%jzffU(ux&XHe-zEe_0I4j{ttOZ{QfZtK5jNuUZ5JCJc8jwaDw?} z#PrW|$+EZves$%~x*wt0yTKUK@kncx062zBuCqs3i!VUy8eCSE{XCV6yffJljWC0> z;>HG!@Xc;Z*26Utx4GBZO0g*ZE25#U03(`?xKC<ohTkN>a(Hu7RwjrpwhKa_AcMMo zFR5Cg;3!!rIC)e|zOiRC$zG<b@x2Gl2&8m?)}$w?qVc-@bI+E0dS-dg;t|<j6$5ak z+c?`uo78(I!Pm5efLHgJ^CA{;IRVk<ZOLUzwqm%0fD0yY3A{?Gq<%2_lAJz8vb{qs zmfm+tgdNJLIM#qh>l~kth1K17cxfXUM9sskEJ^+?tQ4g}=K&IMH>-!<GGCOq0Usc` z(%^wxzk)REZU0D*_WMB1oQf%fR+6Kx$y6T9Akt~l(&NKdF_62nJWcQ=nM!^+vMBFi z7BbSe|EdYKb?p@u!I_a!a+LQq>`?hc<>PsMUzGwT6JT3F;Gtnob2H(T^>w??54Rl# z^Fbwn&#yLnXx`0_q~Hz$qZsk@zt*Gnyv;;Pp^gxf6XPeT25|27e{m97fB(O@!|v2Y z!2qiGjA(b4%j|8kEhhB)TZ{QyuBzUQ{lHIT-=b2^6jjsq+H*;5H&UUY$0V(|G=ahU z%*WS>9bCunVZ@(1&6I0R4k}TqdMP+vv@H#74i{e0QFADT6q(8)0c4B=ems(w2e{ov z_WUI7J0r^?;{K_^#(l+u;{-x9@>TDGej~RzRf}_sJ-kC&VNyRR;?*Me`co>2mg1#d zt_UAQ1h`cqdPe9mL<=-D<kXw=J2Dg@*M~-4HAzY%+QD*}1X!C|K5$2fqIH}{7Qrza zAg{ApPvptH59hS;pkw40hT<QAOPVBmM7-vEmMW!fbkKrrFD`2bKZxzZ-lzp6x4Z7+ zbTq!^7<M*094Yft)@otHTtii>&lH0#>Q%68ROaTE$AbKN`D|<;`Hp<zkK>Eqlg9nk zEb{;%@oB*H_WPRu;ke6@jWM1Fsu_ABz1?`|oxpj3z;Ts9n%hl9X`+QiqNSM}ReHd# zoALjlH~8=!4seP|XbAukh)ze6fa2k1udkbL98Oft72U?^3ywhcyNRUgY6kcxN}W_s zCdSi|tVB8B)+C!_c*tGJ4NY5Q)yw^OVH`zqxggV(k@L&;aV1w{F<Ck2-o+%`JBA?F z$n=BC?zVlhpZECKmY=tOBUvH=k+X&0WIA&C{|^0s13m-KPpUHYjNcy?@N>XP>HVjZ z8NQ_Wf1|!Y(=>s-&+eRFmBOhTw!Q;CmFBa2XKcqi&5s12HMM!<rUWLtJKFw!V?f0s zK=^>jF}j#hKXp3b?(F<0`C>yz+H%>o3=_31y_2|LXKl|PUgYPS*;u+nSg17Wc)cS% zwVuCoZ9)UMjGoFfWVZ7CmlgowsilhO?|UxGLSKcu<m=taW$0_v;2Xhp3#*;d*8?Sp zVD3I{M+V#;O3zs3y{J*P@s^HL!vR04DLciEJ44_6Gt+$qI88gL#KLJqu`p)b$^dqT zr75(+BOSTq8viD?w**MO4_8u-gpDui;v02go6HgId9x-`4+|ni8P(aCs$Q1g3~tUP zQkB=dj1fS8$ZX@HPf{_9M;BwJDhf9Lg@LTZ^WpOm^fapn3XvRuQ-mF@?STDZCD;?F zRI}W04SMG8tWSSR^531;)xRsU5oWe-KP6Quh-{b;0gc~{Q?PMpNF9#`2F8c=G=qP^ zoCRUxQW|F37&Z}vzrT$6s-1f{#YJXXEveussDt++*Ch0Dvay>pI_WaRHRt`JW`xc? z)RhZm$7{FcIdFAmDgTx8_{{J}<SJ^JGz*dan}vFzCz_KHtJ$=fG&tz5;P<C_4$h6M zlI4W`lybfCA;OQL&8b@G4f`u(=W>g)hhZh8YYp7S7mXI6ySzs<;`ZVVahbG?7Be?G z>})P5aOWUu7U9a}A1tzgO(fz73BKyzZ_odD*ueH5j}x(^Gf>DN1|C1mI4}6Q{Exi| zY2hLUf|B5Rupp%D<fYbQLdQol8ae16FOk^#(}9MU_gX=H{>+RszWFu}?^NwGTts|g zS5D!6lE#omI0bv7^}&|i*y}?Mw9+MVMHZ6c;N55MTPJ6T<w*<=kH2_kmipCEt^l?( zE~~A>aNLpB`cvgk%k$%PzF!$#1=TN3W_>%g+$}{Wce^*>ecK<7zPmINscg^2{d2DS ztE1T9ggji}7=1G;7s}+6(-G0*HEFA^nXH3`L+6~N-c+Ohr8dJLkm}{N;-h$T{$C_i ztO(j1|E5tU8`NvksCreo50-_5_wI=%X?(Xu{KuhY_^O3VLxug-o@nf|y>|O%RmiNp zkkI4g1aXUc`2hCcWB%IZ65{K9JZ3(hy{sd@i3?OAz*WB4TP+VTf7h>2cE|l=^7U^M zzwFdYgvwe=xju@wD2n1rS8#jfixNA6I-&wbDR>x#ib*bQmufpFxV=4DiT=58jKBKK z7^rERo(ZzG`Iv3R%4B1w@qlZZa<e_nR_OUqTWED>$MBy9;J(wNNRinkPy^=Es?p;_ z9&tvi{MInr>~iZ;Io!7$i2b`MDcNUV@`EmNOEYsxDl6;A>Ycxxp4tf9)G$BJV)((b z;7((RC{J0x{(S2kzrU{mOp0&L;A8O*^F&z>7P@;U1f{8fm+_4MI32Aya!*g~>|p*G zOTz5$8IuR54F7<(8>eqPxBtQ1PQU~Ze2;%otNdkie^HzWcyf2RmJQY9Jj5T+v~Wg` zp&Vw{m00}r+3wm%LLJTTP1jl0|1^|Anf@xd6@1Q#$Lbt#<Yx$+Y^bJ2Ru|z*M?UA- z^p4$;9`}ic=EiK-tlZw*;FpAV60`1c@i0dr7O=JjbK*=SjkX^F?EVwxe4j`Dq}d<i zpx^3#aq+VU0j7JNt<fEsh?Vzu(0Z++F0I%7dR<9Xf6;yl1AO$<)Jy|tDlSWb475^t zru>@B$hFh4sAy#7(ZsX?QqkPO>^pzlo5WnZYOEw}y!fcdOPXwr{!&r(E!)OQ^md<P zF<4)Ot;A&XpTA!b`SEqeQE%e^k@c2gaYRek=-_UFKybHU3GNyo1b2tv?rsAiNN{%# z?(Q<UySux)!+eu--uK?`K9?T@^vrbc-rZfbYE|u8rjEMM{y}J8b`_`pj_#tS1g(o! z=jR~>bCG_>biX55-VpshC|#4OZtnprY}Frcfh$mmY6o^46a0%5E@-(lI5EM+%KALG z+j{yw278&lTNn&Tc3o@LTJLaVD1OjT$F-G*Oz`}L+P4g#1-RL{JUitknA=hRdqa}1 z%ZQGn*+fHa6!OT&KZRy9Ip9I^4hb~UdC`4-*@|74PhfH11xq&1$Js~LmsJe?3>ZMm zSo9u>*HHpzJS(+qtIP9k#ADqD9^Ic1{L%lZGBsrkW8;0K7#Uo-kLtP!0T7WL3FR4T z<rVPMQi~u@h{(LUv}CJ2mg?2d1$l%YE#p}m6X_7nw<t8Y@IF&|ke<0TUKy1MrSd!@ z9NFkX;0IH*-{fj3crga5Kn74k@zwc4-(e|m`v-MZ{aE_jGurt{g?^OO;B}$8{M*Mn zs@88qoQ~*3{1l6-r94J#ZWrrkYpq;KBR03{!>fF>QF`H0Op254E%O32<Htr)006Zt z$mjkv;&E0qB()#wkYLG~<ZE#&T#gh^hxd*$h*}yU`2!$3a)SdLHJl?fcFy<>O~A0^ zdMHrr;Jk1@@q0Y%M#;tK(;MTTXB6=e(*Ar_T`%71(pCk}GXW;io^2(S3TD*R?EhYJ z+KnMax9gO1?BB#qc8@E6?3TW|%Vcv#(Ts$m3V8ekRqXle1)&{b=2#U?L<_dN2`$V| z<k{|Kd^zPc`JpZb?MFW?f>uyAj{agZ;}K$XF;TE+C1QflicLZ1NgaCS8<alk_U`?j zO^}lRJ(f!U6@?s{Tp0R+Jl9(t41BCRh>a<bk0kcZn{hK>aq{e;{#$aLCB!g)B4iLw zEUjt}9=%cy4kYP%lYE#exW32~ba2n=xZ`@0K`i;q@}ya<x4|N@RL#DJKV^{A09N8R z8N$o#Ud~s|&jQ=5Fqv+eVF!JRNx`C(KZoef^U@AxTfpHV!a}rZk&ux^(Jolz_w_fx zW~j9X$&~_k7Sj}8wGp5IMQkj#OYVBsbM4^AoFJkay64`lMdz<bxDo61<iEeyl2Gr5 zdPWd#QTTmM7zA)=(8)?z(j<Fmci>p%nb?#wd8KO!w<K>JQT@jvScyno-!R1Fn7oOt zF=8*E(*OWJZ7AMe-n-&uOjyKR#gwvFJXRn5b%Qb9n@&T+qI`u9<jxD))S0-&e*QEx z6lKq>d7VlqP2m;5m3`{HzKbK%H@+Pj+PD|wB;YjDK{#7z$p(5FAB9u0WM%dYlJ2|C zNccUT1%+R0x4%vNj(0fT@a#hIN}Wz)#1fkrUYg28zsH5No?P2Qe<xmZ#^g?x!Zt#u zE>yYaz)}OtY&2wqVH0;YXTaz;To3jQc96V<TM_&{-bx^Z<NU3TewG&jC>tBRl>`k? z#XDc*Z|wdF0D-`JBT3lU*lTNRgh1nuA8{5S3K#SKzdK+13a@)d7HaBRCepsnCL#gi zfwrGQZ6x5#d&y+P5ZugO@PbM`6?}6%KTzj?ZpaxwLI0RjUJ7H<2We*gFDaq{(pK!G zM+VGYoEJ-f=#dK+_)bq(3XLwEn`5nV+;56IbK54t=z5ZNMMv{&JNqk(`4~1lLvUKU zafv<-?g-zp<9F^+T9nB1=Aax;>(1!YFNyk&Jk7f&$GoI$-iJTsH`CY>{0s7uj}^!v z?$)e7rJ|AAsi_UkEpEuQm85>5L-&3_){JH-|0}G~*z<R9+Y&wpU-QQo)A`FNlv>B# zlJ4A%G2Z)YY_wt~W?B)@P_+kh(#hfB<K>nZ0s;bO>wD&hu@)!&g(jnwj*0tYoJF3= z6}dDhVO(S55fAi=#8KQJ{nV#Fgp4?S%AbFA8O|38$>3tEAXA5=VgK_&t#`uEFh1xB z(FwVLH(p1PeSNUefl2+vWVM)0-C<3@jy5wpt$5JjbZv0H*+b@oTjiS5W!~={oC&Vp z?3{S|Y&zIG31~(E-4Ua65`leIvobR@Fk!XxC?iw-ar3vB2S(lDZC2zDB*u5FwWb`P zZ-3+pVe&nSg<vz_sZ{Mia9FUNgc}ON<hC!0H}K2t(^lVhj@Zo%Gh}GIo^Ok5Yn{aY ziH>ufv-$*%)V?&@=?J}#%rRupP7ojU=lY4lDuQ~#5Mc>q1x^mMFaHpJ#`$c<Dw3}< zSLF{`y~&#tl3@o~RZjkNQO|?wMJiuj5>RE863V+_?#NmrHRAXFi&?FJ#&o`*lJ;j# z63{CHWTmMzGBgyRfb%g?`A?UzXu|2;@?nsY1iWd1jMVUq&Rtq+{)K?;_^w=Cvd_vy z{$N_<=fTW$LCnaO2@U>vF~_^k=7Z~g>04KbNUo(Ly2($|(J~VR<DaI(Wy3?2(;S|G zIUU)Wam|q4?2vX_tE;Q2$F9}4L@)^Q`YrBNng+8G0Y8xOlT%o!iYHJ`t~`-`DF95K z;Or{0?K(sV7;!!vTh8p|=hvu*D4S55Wakz}K=RIAKf$f420Un=K3-Z6H0v+yxtuJo zYej|O>^)h~TPBg)(n#3z98VLA2{{Sss*>gCIon|-O^AJ*Afeh#t>Xf|HKskE=Ma8C zp=F@NLfGw_pkxuqb#7Tc!46pNj{kVSxlR4D?izlrl$ueg_(o4z;WbgwPgr@rC~|vo znmwYDs9r@3Nj(4fGimd9Ymk2ub<Sg2@1E}EGMXOyu|UwP-*?ZKvZFd9L^#I#{5#c@ ziCk3%`OHuA*Ql5Gwn^ZXSwlGd`3gl|lwEpMQO%4|yil_zFM7JfQyLaP1uZSP>F&_* z^`u?^H1oTa`>2*Zwwt2B36HDYbXA%n=JtH8HD<^PAdE{ZK^4<)%4=Oh!BOgOsC9#n zSiRQbGQHvb6y-De4#Xw0P_uSsM&h00oN~GOBJ{Gb1d~KIDe+A?FDXW0EiId4h3wCY zLe3}L`F(qO4rSuSNGO1C$jr<LcjCMRr26+Cu9$~IT9aVWF?ZrQbsg15V3t<>!!*m~ zbm^d$a{Fp1(^oBB*dYF$gB>@i(qy0MFC_re<KZOE{;+?lw8A#4(d({J3^R%)3QfqR zR^u-$y#B&!^+nw;pHqAQYE+j|>lvSi%|bz#jLpdT4xjh5!mv!*uUfM!(TSj}RR^gc z?iS8=8n-GRVyOar*hs>s+krLTO#9mR?l^dePLdTLr(P+R+-3Ufjq#2ZEk(Sb^2<^c zKzMO$=3TK=E))5J9h77N^I$XNYQSDVan`?O1?SijnQ-t&Qw;hJ6Of(C=}=3|?nMK> zZC)vK(~YrA7KKS8yBW9j9Q(dHF;Q9EXC$n)+pFIWEcyOdl!!@r02n9eWCjBm*_ugF zP8pccTLIO_Vy0?`=|u%#O9;@&#**-O?QAxHW?{9njgEKA2LOP-aPS5k3UqmA>+9FI z36Ex>t`&@cl2Zd6_(EM4uQqqo-(B7sOc0I9MdW1o_}b0uXVQw4iARSzC+&+v#ry@| zrwz@FVp2mc-X9-s1|EV-;DKDFwUNAcvr&ZDD--&hi^v!L!4SMl#l0WgRaZB|aCy2h zLUs3Aycm0GMcciX3FD<<cm*;4q@Pw#e|}*KGX22r+Qj%vnu2&>-KeDzkIWik9B*=T zk%)x;b;3a1&xIM7_}3fa{|XcTi|doQa=>p78;i*QdDB}bdv#UkKM}!`kk<h*iTGUK z78~1&Tin|1I?B;)tb!O8bbww0jjk{zN>Nd^w?E<^B{)Uld}%aH&)~_h+33vZ^_6-0 z4N^kU51axy9_zu9v}|s+JZ=|nV?0h~@FMGsUx1Nhi2h_n8;}=7e|ACs$el^#|NQ;V z^=}JV#HlYxt$qpQ>pO=8kNU~aC+OeSyIT;CmaamX&kV(7I;YT`MPg`a(^|B+`E_Q0 zA)ZsEu9ubCQ@3bO#&8L8m<16B<SX?*clsj;xooW$QFA&TKq<5cK;BN$cZVW|Ifc37 z4Un%%Fgg+U<QKP-qoQ08F$V!3LvPIIMqT`}NO-|YwIp7d*J2^UMOL(#b%G+dt6Z^@ zsE}Ye42NBH{_D-o<r`B<S{Jv@C|ycKe-#mkPT#k0-v%OyrE0$MvlF0=)Zj7eAflqi z4;kOxjc`|ZzoyFyv>NOj88ac^=o?yFT%0d7h-u5uB=Ktw3=DvpW|o$km-p$i*7?2e zmw!V9(t_-)j}F(W<ynMgmIo_1cg90{4$i6fi-gUMw-yU7s^lV9+s{VEHRY1$$6D5{ z;F9xlOM$J)eS$A((G5gwX4wdLT5pHWQh1T#OYrgxG3E_q$A|N4QouM`7k1iw!LBoA z8-8GJ-=nbd>o%@G+4p?N2~g3{oNs{iOXrRsP8X}i$S`s6@L+_aNCb}czj=Vu^5;I! z=RcI?yhCTOa`9Xrr(~RvxDfCa#ARg1qWHy*_yuYAjyt4_=6q?|n3<`)_UBfWdF(HD zgOzO!jCA3^w!BfscBB^l;to9^P|Bh1nkL&`b<#;$d;Xi2>+6n%lhQO2Pt*>iC7*r0 zZLY|OJ%DI$-mCwoP>dc(>Q}Ni5(XgN#?D1bH3rKq`^c+<b@Q+-xwKGTFMM>~a_mQ{ zXmTU6W4rV5^31%z89h-p<R(a%%n=KIdwDpSYw6{gK62*GQ2BfY+4e>YjNBPM;TmuN z@c+_a#FD0BZEkMQy{f2x!O*|SoLo;gz9z{K^uFH+U`*&7Zj?69Qsab<gi#PD-Kb(` z(-o&DN^?7zS(`{l$nI#hSrShRA%)eB>)g|M_p!+Xk2=^yH2+OT36|H1`oXg8uGE|_ z|A5u*^BKsa$--u3yVs$xLIfbs>pcQLvNpBxjTh+fI_lzmaTF~IP6hzJur<N~HtVJ& z7cSZpO7rNAUJ5Qy5wAF?vqC&WfJwG9JoroTVo7SYYTf{aWX+@kDWO`^cYHvmHYjR< zT~_E`GzefVa@%}~&GnacE^oGDXRum?2w>moP_}=xG^S0uhz0~Tw*J`xxQiC6&;aKx znZe`tceF*(#bU3<I`?xRAjpExQ3(T~gL%KtvX(xnk+>-}T{qj1&gjK&pV|4ey(k_! zV{sVtk}Wtk>S6t(_Z|jIz7|=PXk&4?*5yI(OxJ`e-ipQV7myMA*B_rx47c73sk_{f z%KN(`T2Vx$0`*t6#m`}@-su>bz~tq%ar7*RQGqQcs@FmTz=||AH$w@_$e<25K$dJ+ zAr?LaK6;2FrnrsJY^`MV;=rZg=r2|u#Hem4vI!LRvhm%YH~)MQ;bH)g<yB;e1uce# zW~HyU+R<(pTXOOBWa6jcSNjaOI2`;^-l*L^(A{X}`K;aZOYwKF!BSZfZL?z*RK<4a z(p8x@M#iKFv*~oj=@PE%aGy;P#GPvdv?n24Y*uHOEmoAb+nAVW87z4W$IB%ONAr_F z^@ics;3v7Aw%M$@T&n0hDHT(VA<{tuHj~TJTHRI?L2MOCt?__<zrY9>Pe`kq_r)p6 zNL^%%4CMy*#xNLAtfiAU{*X9&yIDY!@OTD{Z&u3%oB1J*nN-&r%u2U>GbjE&3*8T2 zt;5T41c9}p?Okojo(3CQ8u`PYnsR0-Dll*6(h2v9KR(+KTSHp4D9o38YQm^HLzYCt z%{Q1nRnz|%mkT0yh84ktv0kn#c3v49D>oX5d_FroG*2{XwA(-jT!6rW0LatN4}8_| zogEor`0}OdI9(dj^P;Z!FBr{)hywr+rHJcPHu;+2{UBE$7W@Fsm=EjjVs7I0V(V;+ zCk?>VZ1q@7Rr<MHqy7>sq~DUXx-_4o<JUrEMYDH5#-4W1=CAV+);=I6nofWE#tPZU z$jEP%rG;B{-mlLL`*Zrh=P*?=jzmlrz1i<FOw<5CWO>@Mep{wyr+xQ9xwo3YTZ3Zf zCeq(hyvp=-@2{()r8WyBBIk~wJAPz{vAb8_+XMARqq95@)LMKBV{CMdVf|vT0AB!| z`)eB@j#yhEOLI2tYt6FE5W(A-ZF^{dU)?dgfsU6GB`7*GYM%66AOx%a)7(%+p5*6Z zPWsqkDy1LOHN`tAHy@N4n#0*`x9oiP4Yklu%-{g=8Wmqy|Ax2uLy%@=2auM!Dp)s# zlNJ7Ds=w^pPRd_@!x$MY&Z5eV-5;%?(ZhKP8XAL+O3s~Fup*Yb4C)QFvT2-8Pfx|g z#hjd+Hjp`<XJJX}XgL5a{S~GDPW7RpC_6fmuWj2`GV`OgVJ@RSI=R{)T%Wi&kstX$ zIMW~lW~!#jfgLHY^I%U8j4&*~ENo0qW>P%WrZeKBbZ<7JisMfuL0_7OsbWgA3!yPZ z2T{Qu0-h?>#BsJe>x~IEIx4Q`=^Ploca^BO>|i*RG;-}|butyY&yVlvyhmHu5>vy& zO=U6kg%vw5NdW+N3d#=v#FSvr$yD$I)vxo!R|2&(TAV9$tpO-N7ar1|*s~g%udH0y zIJh`fKh+zQf?ld;$BFD=6=m_TU;!iB(cds(zm7IJ>^SqTLByOaQX?ZG<|az2tE&N> zJ6Ay%q~ixkGWS$cu4l`4tIbXj<y&UmVm-L$TZj)mT&&K80=LSTXEJ!&pM>=D4yyjZ z8Onp6s31kdpet39Q5hO$j)d7nu63-FaFu`^h=CR?W>l*olH|YH;1;FAvT#C~Wu*1! zsPzZ0LE4wbme2MMGmHI@XQHJq7-yC^AbCrh9GcfuP!lC3*#NVEGrqE=X(G-xHdZ!i z_3yA~y9b6|;+zw=a)7{+Dl!nsME}iCsq_}PU8o|AaptT}@nu#P-&1zDMNjc~M{l1a zGgicNCEaTFl9H2XIXM%<M)G!4zS7F|^SN3o+n-(HS0V`z!6m4)?z;K};@W$P`;bEw zj!rE6D9=;qXg3sldu+S<5b{k|Vbq>Tb4$abTF1fR>-RjRPOb|`KLr(d*%{HC=mLvG zlia_5e>{YJqew0AXgdHBM-80Jmus8Ywm=ER4WOVyddywu8?pEGiSz0@*bc{8nX&Yy zI)9p34$s4Re-C9k=&>8-<NAu{Fw7s(J1>e1=qy3L4h!`tiC>XqDbT1tvk`;FoR4fs zy}?>|-36Me0IMS*tHH(xBpdFwt6LM-_>G5~c3<H$-sponZ3Qvz-)a*M=Xp96$&FQc z=u_guXa}G$J6YLv=Z$u6o`y$fy))YBL8F{0_ZRifA#v>~0RuR_`cb1h+8Tq1)4jcP zLiZxxkuk*;e?Hd2v*w+`q^8=o*dK;kaOq3uGze2Re1!u5a%5X`#89|w-e^}%4U2;F zdfSG#|Hkrd!4BcY$jcK))_I!!z+*}HIYJsd?jd_@Fo9p;D%;JTdb@b25*Sg${XE+D zEznL~8`+P3M$b#^P2=-kUP=V@w?dQZb<PA`glYU@9wjR)`t?@{h%1U8Nn*jn!;{We zijWYSsnc_VgNDGoseI|ATYp{c2J0myxxo<>L28^h2gwCSp&!@168oGLvIz3FI~LtL z+>v!>{N7|<x2HlUJz<)eqctYrY5^S&Rut`_gi9A83(bzv;r6jVP`_|t2OP-kNT&JD zHkWLy<PN`g%q}j=kMFogc8Pge^srd#y8KDhB48uik5SdJ`^5i2T6Zb=*@lKLji2P> zHW395vNXn!H+&mQoA-Tpp8(hOY-b#uwa$vx6W7@^8|UdNsSxor7JtmQt?e;{NXoOc z#`+a6(~FNu4}8f&8@4&aKAtzPdz8(6?DU+~SBJc9!AXdSE1YX-)Ik>-PH=g0x)SIY z(`@H`s5ZQ4q@zRv?RGs<)PH2s?$Rc2QreJ+ThR}rn~o+OCg|VzxzUr8FI7jnvjWkK z$GkXXf#%C5v5h#07HOH~?`w{ymNO44Uic-P{BC(Uy|h8o)VD+kMD_q3#nGiRb+-8U z)pa3f4O;Ek(n&qYqrh)W?tJge?RX|-N_%29vVI$wunwN@6AIaB#;Bv7di!^oaNfpF zv$M%U|K6g^2cZ)We;I|aZ7U5nD`ePoSa^63HK{#xPB#`g8sC4hzMW6`+NNT>WCyn! zaM=w#<uzvz>8%RU*vR;kLA7-qRm`N9@c@CqM+OgcLYK=zu{QErPrd~slN6fc%@)dU z8^t;2qA+->aE%S+AOj&!Lo+L#Hb{J;MEU-DBM<n*W-9Z0S2+c|mTcdQ5p}_jmsB{5 zWvJXrlY!t;M_oea134s~o2mbYAm~3Ln@r!AQnpV{!a(7yxXcIi3s}Fj2O{@<)7z3y zSLYhKfBU5$4;|es>G{BGemL}jgc-BZQ@N5b?47CPK7tc(7s<)VT!Y96x#;IH7g(Ms zVwC|c<~oyLTcS|5=}%5pJ9xU*HgZ}yv&%AnXhbn#J^I=Vp3A4q|Ni}Z8`a_A?jGL` zj`$Z_{ZA~`*0K4S3IY>gMgGmJ2xi{ZRtB#Nayi7o`jgq=e$&#@`fWyli_7V--P<@M z1BtB4?rXn*Whp2qM8(9W&>^2<!4J=ZjFSxU_`k7S(Z--}-0rS1JM=yM|8tz@{~UCX zAyB=?*=d}G=!~s*W0g==ZFsfn6G`PW3R$XYQb5a_+h}aPZ?Fe=OPGBap_{=QScq(S zU7RI~R{NR4Mup8uvhU=PV*M@3v4`SDkDY47(HGUZ{Qfo`KQ|y#us~Ue8WvivbnM+F z<$g$PWzKh@ob`odAJ8dGs!a5VsKjMDk-7F)90kzia-z2M#-LVauJZ=`EA{+5FE5+N ze8GYL=`vO&eP%y@@1~q7ulHmLUnxc7a|LjnMa@Fbgo#I1PAPPLbm`e7rTXz&Q?8to zlrxA-|Kw2aSCFPBJ+-uKWm7C~YldtFwN6@kUPxP|w47lm3Vlj-o(W$}lKyX<4%ACd zEabsBBsk-zQFg5cnnDzQA9i^XQ*g_ub9XQgsB&7+gYL3uXK?M|%YnH}2e4J8`(bs0 z<kW1Q%%>Ux;ZmsxzZ$|?0<QO2eV%UvQSe-CEM`W<-JeZMfCmfuzPhC{B&TnXDos<3 z{cqcW%JM9IcvKed;k}E=d4r!+kJ|`G+KriW(@>GC%#A-TkYpV5h_|tM%2sV&-NCH= zZ!N&xDJn;gqVO!$QfV2rlkdS_;!t_urz4T}bm%}<`nN~h=Yo1QBO2^i`196hU*X31 zId$b5bG6S~N9L{`-;PgRImc-xs9&>Qmc%S+<Ya6U&+k=#6z<1RrKKt2++`0gi+uHF zoS1EUPe65uQ^s-Fw=h^bfl4i(Vi~qRF7(Xedpn8ZE|=Kcvbpavb18+F`XEX!g=tSk z6J^re1vK?KHzRdVpHX;51E>+ht7VYAZ42T6b|d=N*4j&TwWRrS{>XbOH%k~QF&9{` ztywvq?~kQHWoy=&zFNLr@XL1jmoofSmGaJsjz#I?7o^^dqoRkv$zOgGcp}7YD9_^$ zXM8M8dV`qW#VNntR!DjZd^iPqRdt#V9#h>U^rfJyFmZ5H#8V;8;x{bd^fP-o-TCV; zm_l2Ax$(k48rO5CmvEA){_Q*c@G65I__zMup*RL<u`4<f{XDtwAG)A!%U9GN6y>8` zB_KWypgyD22ZfzzM@<Qi`o}xlphy_OC<V6DnvtO__$A)7KY*VTZ)Gr1PL@R*hM;{4 zH<ssZB<5><z|USo8$F5h$`PC$v+HsjY53U~pU`!flX(d{?5(2!?}9QQ8^<*W=~pM@ z-a6VC-DkHHC1cOvj>DY2ax4KQAw?k!?A*Y4Z!4&b@5q=qXQocrZT=Y__d#IbGhV1j zLXZOw688DSq3{a`Ky41i(E@&2S)CjmEv@O(aDFVRw{8oS9nZN@9c_wnVd?e*&M>~+ zCG1_vv_v$owMP1AefAE2s@dW?i0<Tw;l^+|Ik!61OZv<00%Rs`yB?a~Vl^>6y%V$Q zAf9^OJQ(N(nN$0)wbBX-k^ubu{h9HG&}a~2_mT?et^RBytl++ROJTB`uM&|m#L&=g zNd;9WyK4jMiAFx)&_{n~htwEb0qZjP(`eO=jg8qQG?l(m<3#^wR*CkyF;X=vS~Dt4 zc}T>IEba$x<PV(dKruS*+`RIGm3?zK<R5NYAB>1}muiDOU`1l7idFV)UNr@Q1)cL9 zn}<+yDY-5)7mq}D*CX^~WRE6lT3?(a2u3XGArI^}yJg}4WqoR%KJLK-kxJ1#1k45- zB-hZJji+nc*!rx>Y9yjW4Sl=}X%emXlb=LIfFQbV2rlNdTR&Z`i*TCZymG5NazpkA zhzVegRTxYERzD^SilJtL1#EK5inKtz3F5eYR!g#EYJBeUZAcN$**NO2^;qDUl|R>; zph1cl9c7Y1M6sgH>O_z1Ns~>lx1D^FPg7Wagt;+eUi1`Xof!0;R6kLdx1fOmFh4w| z3kMIrXnGf-8{t+w88j7Ql7TPY?}a#9-A`5u_<tJt9?#xR4ocD%t~eFb`X+O@txdfg z@x}zkZDe1#RT5cCLw`v)<x-&Vv0Ez|Vi;eQA2h+yP0|x&T`TW*dQ8#ZS6Rg7KauQ_ zN(snak+b?On94P-?<>8$Jl`kjOZ9U84sy$C%__lNd4$IxUaKsohwJPO24BAvFNW*n zN3z!3T<~~$|0#@@1+|<-ttI6;Ig4V0y0XSjO=Z;_Jp;pP%d}tK*WI2RQkASXN;Y0{ ze-oF!VP!yco~;%tj3ew!o!DVerLh7OsFV&&%wFreT>H~g>An$XyLaM27L?bz@T_%d zaM!2IrKS~sj@-FIMC*CG(4iRn_5J%->+-&k>suJg!1K-xs!51}Fp2jd^u>K-&%e;a z{@&|Sq^A@49PA{;D2~VzYpNkAb*O<3FmI43pF@~{%M>g=Ygzu5?q4L?fESfAk-E^~ z^HMXUR-vQW^BmxrDmcs-Ii#vgg$X;rD&y|{7(*$kR;~pHAO${>0}dNcI{Q@0bzAkg zk0|ZX#>dC&GC<R-3A-qMRR9#W?)lxztM0_SAHB3rtaZ<i9%xRjzF?r9-g-|khLe+% zEY9^j6bbtNJpAp8@ekOpgNP~&`j2)1jag?`vBt<M5^nO_T&Q6A0^n(Cz472-JJ1SU z@_t)CUC4R$kh<KC=@x?YOI8*b8tT6cabMppB8eH>a^W_x5<%sWR(xW0&lqYOTj+W1 zMFOE;kdWvOs#fc}4Jd?2EyxelYk1y>+U5Q=>`=DpUP>srL#eU=ugh{-ajX|^d$Q6T z4IbAg$p()<b_7yf%#YulsNH~47Zx(Nuj7nv);6@cyVDrm9gW}YK*X0C{CS6+`ds0` z6Z&&%A_u$G`^I~PNemQMmnC;xrvu(KRDPk$t<Q~j!MYuUr#fR8bex<GMMXts6Pbq9 zO`%m!H}I^e(rnbg;*2=MS!46V$EW_2qe8>$0O;xO!wbh6fS;diSJ&wx63_Mvk{6dt z)bt*2aXCRc(rVR2;!x6<&=4f^Gr2_vOM&zL%g;L33EWskly9P<<p!kdxKjD3vJ0H0 zi`H|0*+Njo5$XL+c(9~KElr$g+aJF>Gwarter$J7lYL{qes%$22uka>>JZ*-Zuf;T zm$&9w{orj6bYQ}T)R1PlUReAR7Cy4;pW&r3R`?G25lGOUXiJ<6*mCX5rXaKX1l@=$ z8i<uUQ<ZASDL?XO)+I9Q;NW1R*{KjxF#+jVKtEKxB^d=*e+yB^yE;}$lxJ6VPgrZV z%lg$v34?%MroKZbZH3a5m{Q(+^^iF5%Lyamx{>1NCZ4hy`03zk5e^6lXtS7DFBgE_ z{JK{-ao@tS=5Ujy1`nbT-B`X}$uM;y0WPnFz(&?^(3GxMmX>|POy=R$)<i60v|Na< zd3T%B8iypdf3Nm7ZO=hr`yPqbXm4n)@qdKXa3v)6^g5p!K_c(bfdbHlbgSfS(rX1f z^8>Fuozb@#am|%tm5{ZyH8r)>y`F0+wwd*1TrO@LqTAE`5_7s}1wrmYM%lGvVR)bO zADZtV7CoKY;jcaj2ytilK}P1A+|%otf`-uaiHA<+or+&O5=<&2@E|qUKP|K_=$t6X zkF4l{pnMY>Cnps|vxe%oE2R$uM@bP*j3d=9({_ODva`qE{pN09k!ef8tbr?t(f>kF z(6HTpY22pQ#uJJCp*OhPhG<t5p*h;5x&497Dpu+!*AP-BVX@KCe!NyZBu~O_F{7zn zSoJV}LjQ7Z7TTv$Z1O49W^u^&?syLH#i&1gIwG9K><~kfSu4WOug$@pDhe~yLln{# zN&+8+PT3)2=KzCL@N}iIvbL5@+A1R><M|ee2lyHQ^=2xSjsI-INSZsN#M(LA9WL#Y zTENe-rumxFF~)eX`nm9RRXCZ4=Lehej3%8XuX=~;?MwhpE{z@woubK0%CU4AF~<W4 zDWw_*`5Hx|itgaCrkUr70tE$MF?M)WCpjrjI|m!FI3|A5l0AMQTJz%U&1|8O)W+$E z+kSWR{$2%5&g{nVx*h}k>b|W{EyVoAjh=IH%;fD9jgV7AL*w>vDz^X%KGndPeWOSF zt2ciaizeez)s<5$SwUmHruSER?Kf|xq`&~K@(48Xc@y%k`T+0zROT0U-;6s#fIH_s zue#m+1|e+mg9=Y%aRw0Vz@dpy7X8<6=Ns&mqBb9`_>lR<g^9$8Wm4L^ZKJTQ!S=2P zkGEaix!Cb!(Sz1X$HH=h;=ylxHdB>F;U$T6b7#ec*?5*AJbRBNq778;uB{c9@T`N~ zT@5X*nu+s_rIn@q{XN1-JF^g3W5w6{x>g^Z7EaTd#aRIm>1WF;O*cYdP<^1{Mxeus zL`q_ccfI5=ja*nLbAzpw7!+cj(r4P*wq>OPT$;Y>p(i2@OpawcMVpX_J>NLB^>rEq z+i&0QoNhjQK}md;**oqXr9j7l1*pfT<R|jc|G}%sz4aIVlfm2ZAQdb!lmyml_Q>en zY6Ws|XRyZ-hNPnD39=P&PWZPrH^U(yENs7X^<4UB)4_upDPB$I=!MQ#3dZ4+E{pNY ztwEsZB2x_jrsD3cT7!~^Zf4AiE2Rs#N2WSiozrxDRt$90eg6ed9wk3kDc7OiSykxd zxb4x}+p}6u2CMe>X@<<OZVASHW0_d_GzZQgF_AxUJnAcluhylP@|ggPUg^-eIC$kA z$o7_l1LC8DA0(87(C`u>t4GFGRh)2sGhC|A?D~z7u9aPs#>jyb)YN@*^;CbK*?IcD zk#l8l2w3}*2!*U&ntNG|0HljOdKx4%k}?yu%7#N*NgDQBN#&Y-9bSLa;A}jtxn;C~ z?dIVJDxW>+7s~>mYt=f`0D$H6!VnAmzo&$0LYm$TKj)7V`2jWJ!D?_|?P||}9(xP} zrGi)(05FXlrd$m8Xk5GT&|Y3Up(D@epzwJ^Uo#})+!tn|ePMEbVWILZglLsza7J_# z*Q~ctq2nwK)}>0o>9A7Sl~OBpcYW1^u3ykSj}7kU;W&K~_Jc;TeGMkz$_oA9_k3i! zhhaH9#3yljBuxT0h8*pm*-Np%eX}@D7DgqyKbn>rGrL|N=e21!+SaoM)`@Y&LG}D1 z%iPD|JYK9~{UBpuaWk{`4UjzDKfheWj3H^$o>}t%Y|-eY^xGLO)7)9)J$5_)rF*O_ z*~^Mw#W>)QzrbEU{Ed0rXR6O*F27fC%qCs77tOY1YNKLK+C5B7Rxj({#UV5y^vEs7 z6au|2V63&eA^1TCkdm6%hF~$4%E93Q);bu^h$7~jFO(-GWC+`hkAFkxCbAwyJ9H~D zTG%PZBQX|Av45Qz0$#W}o0nn^5oXf|Xc!Fh@vRJ;8)Yu`R!Ehe8#U;Ht14Sz0Rc80 zOO1gk?LUo6Q}B7K>%n<K<BVtIHTO0)S2r@g!J=x0gqYV`9kN-^R{%ff)GE)hwGjP> zn>1yaVMd~~Nc#`iv2x&*H|eX<KA$$hNv-E4D{keSXn^1FJt1Rt#RUOU?B2pKCXEfv zSX{t`fcx$On|6G9=iv0v1Mz?`>3|@qTrPOM{(0o=b9KG`WgR~GeL_>5jzf1Kh)Y+7 zeo~S3gr@7_?mFAAY}Ywc@*uO~<i0{^>qb>ydjYDJrgr7NT=&wAd@PC2Ipy*RvAO7% zZ%qM=v|9cfdx5qQ28KSv5u&~{8KORe=9;7VWmT0F*kICEqt7aJ`G6Ads^fTn`MWE_ zj<1z{ta!A<U(r|Z&QUwwR*04x#0FZWeUzPnf`WpifJY`Kk_ZWT7Lz3hXt6CUEa0L2 zQvF%%nBKTfu*#>WKaWLJ4_MX%nHU+Zw|hfa78Fv$lVKxb0(AzB*IrI?u};!XI~v)e z^`G9Cs~vXwJ3B)e4j_D%TF=ae&%;{d9RdLs78U`4<>jP&aD}Rm?Z>Md2*<+5*NXSR zwfQo!@m%&pv)R$);|WHIpcb}e(|cQuAe^`F=WEW`=;$ho8JdFv8$kB$(*<PbJbZi$ z<c%nJ%n&jOVjp9lVx9#WNoeqa;8aobwvsdd+@XU=0f858wqvv}AF)9XweKi$)W!@_ z*o~Yp9ZUBvd_dKgnEt}*orCXV#ZO}EE^6n`{Nh2~;cY&Ubkoqx47Q5L^F!s)Qk%yO zBz!!MhHzZOcZ3+s@2G%&S0Ix&5$emv-LC56Mnsqhn6P*mT!EqbXgNrT455tJ86V&5 z{x3=j_Kxr$KZQB_zZ;|bq40POvLMX(e_16vLVk7;w2(i4gegB!F*2e?{3EZP-*~SR z1;+o?9kdBNXQZd=Otf9TLsH(5|E=F7?!+OxjOGfI@bEpZ&~2Tp`A1+~v%X%ye`Cab zX*iDT7mw!3K;V+w){ux^!1e~B{u_e=2$If${QfUj_CEvrpN$?LKk4~)IPU#;3rb2_ zm?#ly<#kTp7n0~snr%)#Ns3g>$aZ<jT*QYkdPs8W$(p0J3V%YbTNCgVr!1{}C5@nM z0$$Z`z4k{_@>fnKPC-ic7gv37SsWSDy|d-x)T%j?)$->C@??W){+|sE>MeSI>2u`? z9t4e%R)4#mtDfNdfkrf+@lp*=>ZU#rv>9UofxA<$!p0WTU#sXl=m?(VpEtaXu=L3o z6^aEx)y~PvgZ2{&u|?9eZ>LiwddIP!UW%kE4L&|hH!h%(v~a|D+;f=-nJzReG1)Ux z3=-~<91vx!J<(cjRhYowOz<0UI`qUFtfbj;f2GWRhLZi>&Wlb&4yhVe11x_MdE?yl z1><6kA1Hc<eEROFy&a>Sg0bI_ZpqA9E@l9a^Nb($-mW!-C33<O+~G0sT_}`32D*<> zgdl`CP3@3NqD`ok{DxY_UzE2(!~M|F7Q9~I31t>5M;zI3auZ@V24B~iJD`GbN(Nh; z0hX2iL@WjaAm2m^r-};0E=<pOaOixzcP+QlUd&kosXDOJTyJ!U(c*t<W@S@md%Ag1 zm)TwS&_8W^rz-c0sedx;DajcULep^nQY}nbbxHcgri)AWjQ;1jP1f5}<_l5^96^W4 z4awVzMP;Bkzs%fld#i8LYn)((H$ZndBtq!j`_<Gsr%oy<Buo&0o3a2~jydb)WNQVV zpjv#BmH|j`_Gjb;Gmjj0waEu0{9af%ZWf4IMF#MT;Bndx5sRWG!2uLOWCI-#lSuc4 zc&yP=XmuRVXXfjE^#VFS>b!VN`UMQ~XX?&$WO=jJR_10KQrizwf_cDRcTc}jM~)k% zNTOKc%vF!=>?)C@PQJ7+X+ZT=s(QeGY@s=RC*s_js?VdT?U{FpE>ZEeQlcX6aC~zo zq&(YMyP;vyU8@+wAZO)dxCa)1SB+}5#HPC@gtVRVM!Ho&jVi_@?}q15BU&yxGrHG@ z7xHFVPWnyOzGmwgA8$HR-jXi1s__|oc}+OqDo@s!oR3n%(ISm^g*x|YgI8RT$%nLF zS5F-6wCCybN~e+r<c#mU7W`p3X<nVv7x=;i=m3D2!e8V%2FV*9i7`375VdHF6$~?` zd$wVo+O3o38!9<pnHv@^t|<%$$QcWO)8ymAD@GI8qbUTlFiGV=(Qf6JE1g;cOCOLl zwMN@Z!LRea=fl$(kvfXhLoVugE{9K)P=HQ5KBtGEj($KVS3?6A$JTEofM0h`2s9x3 zuCrsT;XHE4SOgx>8JDW{S>`FU>o+uKnJTyEiiW~G%*%`IBgf~Ev+h%&4;zNJB~Z4e zu(0xko3&i8Kejc5QWWrsv6HY*H%|`(Kxn%{B8IDR+kgEd*Pg?AV+n%BPU?WN(-d`; zOLablN)q8!W~9Nv`LN+<Tf#>N@jrs>Qw-j{;UTI42D>DmPR|Ar2Head1bCgLHFk}C zL5|lEVkA!&Pa7lhXQmnjhTP%uX!c%au`iRnI8T4w)sa9)b-MblY>*oMZ^+otpJxN* z_#2;Bgd*4En1A+(rZ!j)sSOI7Q|*<`S)v0Ft7Swj*$E=YWXBZs_2yTsJVN9rmL7K% z%LR3>mqPDAsGq7<K@YQ)g|}BYI~cGYg!Jtb<+OZkXVWQSYn~WZv!YK>VqSc2KHR5Q zlUL1>-A>D+r$$oq)`$z1Z7>GbR<y%ogY>?BW4+{2Z8o`0@b6qXlqrrw#(C}y1BYZ` z`z{P~%VVIkXeorm(XyO?Fr0?@29pclB!R(?8P8iU_FLig2hUAX$Pe;FZ99Fai2iiC zSwAp49RPVDfuhqc*IRc2dwV3Pcc<X7>&YdDEtC!oZsmQTyCF8RFZJMxq^6M9K*7g? zeYLaSFPxsmd0vB?YTAvbk@iD;BX_SQVL)na*&zG!e!jH0PnDc@rV<Hh43G!OZiB93 z9sItvsLv=ZL@21^=McxEht2q{;EsNAc}$;W9Wq>NKI7Q>G~bNcZ4F#MXtmP0OZ=iE zZ31`T+eWpI-OTiv8g?r$zJo_`pd+cgcz=6qATG&$KaDNPew&qe-=hNZ_5IG__7f`v zn?m{^3rM;=-rZ1-IEVgP(GEFb4PcNjV;KBCG>(PK|7x~(@vyf3HXa83v(M1L_I0Q5 zv#;4#bdTNgTu*SCfkkXSlpnNZxDhC3+~?%-)$Qb708J3Q=6n95J%F#JWw!V|Kye|; zOz&ko>gt!!XQZ5%VwcuTj!-|O)JU)ePwnY}-MV(PblB*sr1#Sbo-Bo1rA8AivwBZl zD?8!q*r4fS5yAC6_H4eqjePOVi#B5JW|xnQ+<AkKul<peQ9VI-0u>FDj*qMx^AS&W z@<&ZixJVuFoQ6Cy;IUj(k|P6jzO!cI8s*US?>4}MfFaewLwEO2`V@6o$rCpj`?*C^ zl*tAL1|8)s>Wd!thZTRjUm@n1`a{ihM*e#vrMk2EgPm%boFwM%-pywJ5Z=J`h%cDH zpUmY7#1nLGId9SM;BFzX?u!o4^+cNyB3E-QehPNNg#xIwJQDqL(9r}ZZc8s47oB`) z8hWy%*Ake!E^t0pupT~ltudXK-2Y$zJK|$E`TyUY|Gzi`vLDR<FZl4_D}H|~b|GVA zl*w1halqP@m1M--`G*kV`aOL|AYA`s6XJCNHZJbGpApa3uhlLm^X96s9_5grH#RPA zXM5Yx(a}6rLX5I9)Tg-XZdBw)aX4HF#tR=`^435O7OcnF9Um)ejdQD191Z+~%2>PC z1B82rfq|h%HWS#LJ9<c6eNLCdVvI6YW%s@7dZfN+%@KfnZS5`%az+q`vePttuM+Vi zA95VgD@a)UDROi{3X;wp`ZGxYK|WB=y1v|zVvu*x>li_&SwllZuCA`;iR$Ru@x8|D z#y7dr57CZp!+)viorHJD>;xWPKS8EF@1bj|9U~H`nm;pS<~+qW63PXrdYWoE%y2er zBCnT^(E9Sc+2X}`Pjo&1ue|P~=pM_t2<EO(*f-{+!M#d}Hte31(X<3&6GxKCAv3+? zsTw8p(@3w_DB|EY;>!}u3uL!e{Z(ZINP-Rxz@$|N(amnORpo9m>_a~N0PA7I42FAE zS7L??a+kk|7cI^sF20rP8<}pJ`zb_(`W1NS>7CQLTzT@c@y5^6`yQAQH^vXL-XADM z7aGKBb_Rl9=1>q?kT3E4+X&ulsS4z?I^3_eYt1G)2$x42YONmoU|CpLyu7@cb<PhC z)Q>D$!m=9iJsiF-UZJlnN3>j@$IN8CEL85d@Qrvzt$w^52{E}CL~{4oo6kY7B&;l9 zS(mA)sR4AZuC`@9$t>Qnh<^ZdR;^z2KwG+;Hx^>&)~bF>XxQVn=fa-2IM(2!P4?l) zIYiEU2*1Es(Z&~&WdZmp`oJu6xVSTK-7Q>fhm8m>MX&DkBxHFaZeuXLnQmQP%|ArR zIWXe28vk90I297gd1>_ZzKCo0?OJtv!7i+L$D|So5z&hQ>z+vv+q=2hk;_Mic!<aF zxK;?(O2CHH%#OZ=8CNSo+7su8q?C!NTa37}q|;(vL(27qk>Q|4={6U<QfW=pY)Q`V zLysLx>U1i;JonBExf1dCGF)3UgtFGS+7Qe-T{bzuq^77>6?49Kt}2r1V=Otj>apqR z9$&Uxl{{}p;MlbT7xcUHS*sNW5daYq>MKs-&`P$wlqER!kvjqY1m!_Tbxw3rihxc$ zBx+<Hz%4hsTH!nZF!JRf_yUOk?)K!h4wz)_?2sl*s)f)YJXb}K4xln>v@>qHz!P#1 z)%4^V=hnA@JG_g-0&e6H^lOF_we+M&-X;q<7JOl@q_PvH#B#(mLhjYw@)t!)umPA5 z0N>z7r!-|q=$7MRb(SEhqE%3w@X^2$3P3cnPYRI-3*#hYEqTSUGqo6JtNoHc$~5L~ zifekO=PKD8^<EE;V)vQ8@$r3M6C2b@cFueMR$0LARvZ20NeY7{7~JkYnFyk-T;eW_ z<3R#+;(jCEXfr%Yts0~lFCKSsUvpRWxhjZBNlD4bC|4gVD`Sk@VPs@H7F2+X7w$y> z1eMm0@HPJSahEyI^o>Kg2}7m%5<3Equo&2sGJAME_I(%+3Cb_~dm<z!L@4F{0Sj=b z`kL_5%%lul*>b<YHP`J6OcPGYOq6f-<W9=sP6-%EiVF}C;2pfp*jr*+yjsb?yO{22 zy@V1Wuwkuuj&1uoUy0<NR~*whB=kMD^kZScP&p$Mccck-BGl$7JUUx_19J<o88RIw zM;Ch+2K|jTA2!cUa>)Ef`0v;LxcNh>?p>>#F3p!7a_hAhfSff}P8gDsQHef+%lB2g z8DrMd6-QlTY1~VEO^*$v&wH74^}x=)vZJ#_=W`EY;ia-u;?-36C{1TZDRs?efX@C_ zv(dhg`OVB#E`z9tS)$z8M!j@Y*9?%mh@ipY<df@6UU8bCIRL=va`9T(o!r5o7UlNU z_<#UXafq<Hw#;v4jv$1GfFOwhb`_8Sy7B*p<hl-CuaR<yQ$2Yhqk!Z^_DIkG*5h{( zq!_5TuCC5j^ERj8Zo^wygthu78=_VwFO6$8{<9d2Rifax;tATD-tL$SSa^5tr4>F7 zi#4z7X``!;g}dr=cy<NuNwE;ZHYG*#02Mzd7eCUJJE(XBfa<`8e`sc9VrF5Zf0dPx zu_r9FLIAOq>8I^HZ70u{6(>>7dXj8fsZ%6JZE~Ok<BKsn9r>w+ea<cHkC+&1CWjdp z)>?~ZPWQtDOsVJk?_C<4lpGms_0_=rSY=$!#BZjSE$AQNJw{$HG7df%8|rzT7<L6R zWafw=hN`<CIZNf0s75>3v#f&}mB8y%R>Ug%R1Q(plAZv-t&V3CEdT&nqr0c%KSOJk z*brBe`|y4_);+=GHTM2EaMYl4TXBKs{T?GdVpK{Q`M<RQmzuJ4WMj}l-fh<L5lE`` zb}!(LH{%AMT9}#D;RwM7vghG^*kDZ%qb;owYlV$w-S%$`Cb_eeT~T~GJZHCg7C}0K zRxc@`u3t!$LcWvtH~RN*D^#zX2K#p!*M-eO6CIO2bIT}{NeI&4TdRHbNhLqru8D`0 zq9Lj&1}iyZs6`Ppu$Qle+i^CyZ64@r3A`lzp$$CcOT<a@x|qHCUV0?NbZj`jS6ZG< zKe?vQVc8qnwi$(IXUQxj*kO8AM=sx-YxSZTqpG$e)!X;qkuv1YT%2mQJ9cLW=tor? zTS>J&cbNa|AhBJTS}5usN5MeGJD0H)zM8+7vNJX_gArb9vrjd!2%58-Em!m5m(h&m zBS_Qcj2w5E9GT0D3br6--372)egyRP_v^K~jtveLK}6G^#k}rMn_bVe3gt3>Jg{?m z$?+4d_LxnC1mCOm*QY@eyS(;Bc`dKvSjF}pTP6a|+v^tX8$#!x>qQoF)84QKznYgX zmXU2rZ?<`N2bYXMTN}G9{k&c6r615*(;hs-zILH+sq~&`3gUu;YoLsgu@VuvfWd0< zgZs0`$#H#`t<JjJ`<|fND%zZOyYmp3EODKYl%-yOK#0115gq_gcR9?{elbG`F6orL zH&h$9X>mF4L@>XoY*~K}i^Hp>ZP6h36nNWnX(Y8y*<bge_pRj#XT@zze#Ud~*S_Y_ z0N>tfYb6*XjfKD9xAvtUnH5`PX{p#$F(lWo)efGpb6O6C5*{GJs%+EVcdmvsPnA3S zvF#$hbpmWR6QZ|18#RRn98QX+PjBTW_)6YC^|mfsHq{+X<x`SoD=(1EypHRat#Y#M zQpz9SorFDCvobPuic=)<+i7&fYT~PHOk5?PrKx|S_hf0a{V-m|*i-Wy!MngTI}^Uw zMERA+6X}5a@XVCp*g|c^I~GM5*iq;CZHBx~4hG;Y=sTG$BA>}WMGC2-vGDeOg%DM^ zj2e^QpJj*F7*<#AAL@7=1&7CftQY2bEg8=pP*-1BS}N;O=&m+Ac*!(RyRHq%=C11N zsL5$9X<#iC9}xfq0f4xe#Gw?f#_mm?Ys=e}m6g_IfxD2bk#G}_&b`yM9|ZVmsGp>U zKK6H!r}j3T5~uNGG&ID;PcDz6l9=vS{gj6$udR!BjJihFsLFPhqE%<s^10Mfu_QNO zoH|-ew6sY`A`R%C>%*xq+pGF%AzXXd+hnYW%_12Z@y8cguD$*9AV%?*7%|Awly+tZ z)cIeL?QeED6knPGn`q9pM$df1WPbBLCysIiSSUyeaeF-IVYx4O%Q9N5Q7__kfV}kK zGHVtpS&k(k^Xu{D>;!8<Keyrfr&dR7u~`EyE^hv{&Wb#|O1R3J_w&S>u|L@(bjR#> z(HTZS6=PfDU4vZd4!7-h<<>2xGphtMFwOo8iRraFEMSs-0VJiXHpj&OBvyGZz_^#l zC=KJ6QorOs6BbV0zY_U&V=y`U=g*(cPT^`un`GreiPQ$Vu*8qIt@5<;zlT1*W+MVB zUROo+(@s|22Wa<%s;LNS*vuZPrhgT*J+E!jAEZ|B8Y#3v`8gt6n^is??B@T?5ikKb z-=?r3#WtM5xciY+ih>BE%&u+*^1k<4&T9IWH>Tglw0Y_4YW>(xtS{4oBa)=E#G9mq z^%ktUt!+;FaEX*?0+n2Zrc7Hthpty;4P?+3d7pZs^eySy?L2@QsR~L6G}4TuqK8Hd z3`v)kmov)NflZbRm4`0fSG&`hGbutx9RozE?~v@E23*}f#o)m4wn&JID^bllj`fV3 zgn2q`8Ege21U}O}LtgPna5=5t?@%?->?|hmu6sz#6!~Mxkb(@L{K$~1Rj4qLMcYRa zo;2skwKF2g5kCN&TX<WppITnMTQ23g+BbgV(H78DbhHWP$;yW)l+6}(2({0ic9cQ# zrhrNJE+?gZVa>X-?KdXRtBS|VPX-iUDMQE4fUlhsD+?+@+$B+2PV_6Fw>_yF`6Nyz zPxk}4AqO*G+Vjg<&Rlut*PZ1Hm@&9tq@%}G7U#j(?TK>t<I68&u`lOwYPW2CUwE$@ zjv57l6_~g)OwiZN`s&G!_@Huj(yz>32c`{8p8(g6ju9`Yw$U}tkTS{aG~msZS62g- zALn{10?!?La(#L8G0+=+WsHxicW;47+V|*$H#dQ-&~G1^b^7Lm;lg?NgL`F?cF#s- zetK%tRjsXFL;;_>`ic#I5<uvvr4*0!h!_46%5S9I@k+2s?lJ*7dLP$R$5O@l>w*5* z&AiTg1VdEk-5bsJLJbQ6v=5FhXzJ6`!j0(+nGi!L1%~*ZJ<*qmb8l=ap3a3fkQ=dj zEgO4}!UQwoNdUx#tDEMD_2<40{wc-k7c~;<FI3P30G^iH<T`8uMGbN%bX>bGPem^O zPhVdh)Mn7Vn-(Zg3dLO-v{-Q{R@|+)23p)HRtQ?$-3e0M9g33{hv4oG!71)=)9?G; znS1BX-2LO7&CVwCCfR-WInO!gIn(ENZSPm^khjg|XWUlcF-7HXj8<UhF`wuHiWhF0 zk5@y<dV12%TN_i2_Osuv#I?7|%wy;eI`>9D4!#x9<t=rq9BZEJhBo@HiiO|#x4GU` z#ANHITK*Y$wsMlU_loz=ne@Ha6<OTg-gaJ5+7`<s%V+6mZA7gx?;8XicX=tHq^GhJ zb~t#!?_KR39%e;6b9+Z@pT=8Ga0?$CEF-pA{tlB@>@Ax-y1l0G@VUIlKas9x{yJgv zFt(jHt9UDW*VD=xS?gfio(R(<o#yqixHDaSD*KcQd^UD*9+<={>ky&eZ*WTFdkY|M zxjr*G+l-IV?krB$YTFQG<W5YpZ(gb+OL^8Eo6$}Del^=8(-a*cbMx2G+vwXZ!_Gyz zW93nJ9<v7opLnG*0Gbz*d%$Nn3S3xS^fzg)W*9vw3Gqmu)<tY(Go57M1(_@CkL;I3 zt=JLxxr@Mp?3eth619lQ%McAx%`foZDcs<Blmw^i1utkIHtHzVrKt}qL%AUtS8CKN ztU&wF5oTw{FZ0{ynS3HLN@6S4k28Iv1Tk+Hnx*v{Eah}`3zyne2nij@vCRp?R|4=U zT6j}O_k~@zCnBq~efV~&gwh!}c<W9N96-?PK-pGB2<g~;ii$7R!kt{1;{jWwPT~!> z(U<KnG^$0taI`~;;lL<-9-7EjuU6Lr%ct}xs;D7aTL}2{R#dA+TzTzze07m_)%&@R z;e>UDq!k6ru-WrilnfW}<1Dq--tIU>f!Bv~M}~rqtM2@m{r4@nEtZX`<MtkYV1j}2 zefa*t;r>B2dh1|}$SfOFZriHN?LOCLn?z<h00$T;L~mkAo4*i+((fR7u^uEq457EQ zr(%MAE!)+*nGWzwgP-)=)XF!Hf*3m#+1ZKLiKFlX7lE+PhiiY&Iv%A4$^WXG^!pN0 zvsSEk1tS=moSYob>thOT%g;d)92^`Ggsd-rxJe*#^@Fa9NJ&WA(WUdUDbw#)WbW(z z@XVFT@s|d><Oh-LeB=o&?8@B1REn%0*=x3C7ET--ND3{hF<#M|D_Q=1^$c}j*}Irw z$)sqfZ_KH^v+)>^nBYO!@p&>a@|UeoFp=vO#Q7lhG;=v*F?KSWIYd_{*esA9YV$F< zOc^f)!hX{2#ae>r<R7#QZ%zNGoy_@Pw&mjy!d0>7TV>e3FgMpE6+y@tM7PQY{=4=k z0QD{4%WNgcq5oRJ{mMIq>T>V0Zy^dga&wfxg866jg%ZXhn*j8{`(FBini<d8<y>=N zdU{6Vr(#o+)hW7RidklqW7Lq1f`o9bYHsVLmc4N1vSQKqZ#ZY9hbjBU8})W`=7;vk zVAy4Axp)la<0~k)`r(4fT`lEg%3gR~UF~b`#G$1@gPA6WzdPaCD*|mkqnkw}K>{^t zHs@KZ_K(J)1U`Q#N+{}DnsRXdF;D9X!?yY6Yz6N-o6b`_N4@7$r9RtF#?UJF86w<Q z;3KgU%>R0&U|sBQ(uu(sYYE(P)t0EpVo!K?thixkXJ=#G{rW#Lv}xf4c@)^lw<^1h ziuA3X*OgjjQp_|C^>91JA?AEKP+PW$ns!1+AA<5CCFnYs%@xU1RMQk57~+h)uf^1~ zST0n8AlMR00T;B2$Tl_q182^zIBuC}+ph06Rsn^Q2zqVSAt){Ev%z#L1viuC^esI- z{mUOQF>evK)llz$2Q`cWjP3bOAV{jJ1|N(-@v!>RQAMX|?^Wj=dlFJ2u@x73_gqZu zt*8lyHJ#`Rr@fCMHje+iZCgB(4$)tmnV?GD9RCekM-(C9>(ad4<qdiJ{r?O+=Lsp7 z%+ifEFTD#nJr|Jp>+dn=L-IbK$(B#g@krt@1vvuj5U%u(9rW1cQ$G@^2Z0*G&(3)4 z&6IHnelaVl=m`!kEPQr-_(dYt(lp?uD7&FlgN~pI)sWbI>_rtG7Ih=-Xl$%|HmzLZ z;+mns+e;;P(`iCJUr^6+h6_Fs3gN&Ci^`}g%_>_9wVWE5b**W#@r_9jX}R&fNuezC zsW@pLk4B)Z|8+akUx{puTd0;U67K~gG;EYPA{>M<=T(clzWQklAeL&W(k3EFAXq$B zJ7<+eKgy@h!Qmle^X6q}OLC210!}(v6jqI%;%@NKdzNy=NR$nZO^U)fF72xA@{c9V z$P+V$8?4kW4fqb?#us~%i^@GH`ftso2>rVy=cYm#zmQ$yaa~MifWHRaF4dLQ8nZ^3 zyez?r?>-@<?msA9{q6Kyt3-rF`&sUHL&0|6a^$0utX_%dHz4>*mj?-eygfN%?Bq$~ z>l{8>&ELF$sy)%soNxaAw0tx}Zza<6IWYJIAZy$W;}Ab2*8-Ho4}c{9Qt%ugkCfFa zX!Yf@xm|y7rvQjG9Gi2Mq|Nmt;?@jxP0CFwmyyKJmL_ZmYN@HH*M4lj`8{4g9LLR^ zJe+2=NdLjL^SDzey504|QF2H0xO`ORxSB;ArfQlG-U`T$USLAdS4D@QE0MN2rRo{F zuBW+!rLT~#u&3Ut_7pm0q3)im$Ve${z;*=y96#mEF~S?PlC~8;`}ifRFOc1)#k$1p zT&(BQT@POU`m#n`L?V5gZQtKifk^6{T97#%96D1{zge)SqzjwFzuv?Prf~<!v<z_# zXWrRp;e*mL!4#g0(bohEFh=wNvrnvZ-XI&QcW<5WQvnoU5u1UIHp|Q><+dY9-<*I9 z+!v5IHF6&TXPAV<Ngv;ojC<G4<)6hxGKA;4s>Da1MOPaky>nOASTLX+5Tyy9G+&vV z!1XH#Hb+Re(t{|p+~6Wji4E+E`jTg!R}EO-*AjkKdfbgDe7G@DF$|99s?}6Hu;F6U z=Go3jrYoj5<V@*2>_H88{((zqt^3ZaMeu>RpF$|3mOjC9V#KNUeQT}}?srDNA4JFP zxcNZ=LQ?^eP*CD$-6lT<bUV5!A;lGZ*f*YXO*3uD<^|ex>+#Mx9-xR8h=V?sIPO6+ zF!{x2qTM-pXL_NQj}H?8Zs)dl+BMw$HwH{y$#*BTRg<D2Z&@RruWiB*)y1$y<B@xW zV@kgPz;7p0R-AN&#x@QI>xos$<_%j|4{GyvnGO{Nnq?22Y6%ZjnQr~vJoJ>PWQ{&1 zU2f{8SI7E}&3YInTX$MvD#U)M#J$fr47yL04~H)=*&Y(hELNPZF6Y4@Bj2cwhC0W? z5xckI`4LzA8)p{!AE9u@JHE7SQIL~}60K)d-urX4PKyu?YrwmkN|5!%CAy~G_#QU^ zAUoCHzLhN)Ciznnku)lx4hG8WZd`{)uG+CRQBk&@1xKSaWxrf8yju1~ZXG3htfsBC z4fdj1lrY(nM&6Ps8WqT!&{%k#Q<oT_qDJK0P?iLI9J&8m^yQBzgf$xiYEK~g&hu=X zMz)epZD*SvTq0nRbGWRWTaR&i9$l7we`^|Mv{D$;#g~<C<f9-A+JRJh@f|!yR46=s zL1d`WJ|v+2=16&4M3H7CVu9ApKM=3d<Djx#Y8OW@<H{;sf@DT(wBSv9vNQak&<x<P zZf-m^(5~5tq?cKxm>-0xgu4P}shH1uDzlN9pS)rTv}drX^W^VjBSwY(#YcEN7UG>f zMRKPLk4!%rKKU_&88%(@0D}gHjHdQdrPB?t$m&zx`=1exKj@4GIjqCq;mN*u!Nx>q z_Q8oL9_w*=<jV6`2=&Ca5H6E75=AD5t7c_VQoS!<#PsHRz^aq+8)?9srlW>R&60#n zFE;OqJX;60%`8>|qY-YE)~u`BC;ur@czF%BXISducsfzQ#Tnq>8GSy_mzKQ$y<3hL zgW2f3QEXpQ(`w0R$HgDUh#AWMXXkRc#f$P&A_cB;)rfkO79s3(dG!A6A0~Aey48iI z$Xgn=mB-fkq~em4UZIoI1u=+|;4{<+CDME~d9JLo_i+(2l4X6jGQCA|AMqOP9TT*1 z<lAqq3u1gLtGng*Tz@JqdO|ePxTiU$zIqkJzeeuMSWc-1K7mQ<)vh;kS(O#~=q4Qp zN+JAHSB&OJna(La#KnaA#ond#0t>HuezI0NR}3;TJ?{F9<lQ$fLgt@%J3XXrPqnYD zmkeLZ0@zK3w<kN9dwYS86_xg~!VsgvG*Zxox@)1Ix~w)|jRDMZ*lhW*HV=0`y)o3} zBL#Lrj6cU4ROGMU+VT2cVvAzC9?~EVw`a~O7YfF{!fpih&1Em%)SJ^_CBs;)yKhOc z4QFBhOZhf=fbpdQv)>j93S2)zNY-_(q^(RYeNIEuR;&P}_TR)kd$|HLOT4T{g%71Z ztdv!?L=j_yc-JnRMs@2~rWMwjR|4H*Jm@JnAaYpzmAR1r=9EBeShffmNO#2J0Hq22 zmd&&X_Cco}c#CcGaH)gg`}I<o=DhkLm*Vh=<|!nkElz?p9o@zPo{pmQUW5o3R}eOx zTqluvkA^@rk0&Wk>tC42)|9&o_7jmuN296hTf9g=x{iy?x<XxQ?&To_SwqB&B-i!y z@2a|KIvzxYZz&?!0@g*Tl`y)KX?HDrK*98W376<vv`ZTB@xZ({KjUSYi<lN1rCM78 zj;QHvd=s_gPRWPn4z$D70?lT!6E?=|jqgh6l`wIGnzXAsnb@8+UZUpzeS8b*-O0bW zEBmSFp55*v#5y$X(@ATQ0&9ljHUyDdnKNSj4A&Me&DSDNC_+}}+f>#{uOk_4WINl+ zZiGuomu+C^V4p&M@j8g@UiDh(CWk7T$)Ki2h0z@Ezh{<qZHvEhD$PB@NuSO<B63W- zH*qEXG%A@VMDSdG6eK0$AlH~>-u^S&x>H2zE|nihc+)C>Hh44Q=$LNcXSxAE!HcVA zG%OoYKH-L4)!C!q#T0Y%{BkDf7gp+P%sV!(+sP_ae_ZeFXd@>4@!llCrOP`pa@-lQ zOlHNPj5J^2%7t7*?&8q{it6?&$v$G3fWsr2uyYr!1c7;$1o7{+Ol3nRQ>R4naD{RP zw`yG`ATee_mYx?U1O>p$3U6(1i}7bo`BmV~qOT(<a+@;a_+@v7+w;V7qpv3!Z&Al* zF>GruH9s(;zf6j;`<!e(Ft)y$0}CBrF9O}J<^w0w{rTqnEDwMdxFO*K1Oa1V1O%)g zGT*9*`5%QlM&H-b`RN7qo$r-v-nYl=z3@KM&?@><SSLsXTGG^L@jic<z`#v8x7e*E z{Zgrjp1JWM=~kNs^*0DjWtnTpdaD&{v;HDafw3q?JDJP#S!be89wv8G-tm^6zv1|) zd28}?)HP;gP~S_m1sphBE>p9*j0#wrPxBG!saO1%^B00L;7C#N3hfM@sZ|2_S^ecm zt|!~O;?;8Ksvd@*_Uj6o#|8Z;_97Q>X&q|37HATY+@4ey_UDs)@1K81&ns$H)`~w| zm>3xMk8=0H#T34C_>BYLfvO&bKa#x>9rZg`-CnLKf4<mfihuA|oiqq3qQzX$kF0X{ zR8L(4Gjem+=Qt@SD%vi$@aPeUk(w(@;Z0%tWzJPJu^)1T|4X<$+h5N?w+`i{_uf+b za{7Vg-;my(o0F6G3H!qQJkPhIkIR)tR3{#GkwF_Ek#nnO!^azkdL)GSOV_?zR~g$s zU--MIid9U7?wFe(BxLaBeA6i|=?gJKm2Zy-r#qVePoMw5?EeY3L*#j$JzpIQRrVhG z0&c*^K8p(X8xzWm3DilS<qCT=Ofjr9xp6rnLxG8Oi`+N^X9euEobQv`<5}f&rG2>M zm#^B7+u_$Tt;b3^B)#y*vpz@9Ea$9q{!wR<QGPch0D@GxSNP2=|2pk}B<;N7;gja< z(-V?+-^qva^!+BfJd}|a?*Nct^SXI#R6s}QLzKQ=DO)xhy1xEJov+;7!afY{2opI& zUWq3#epj)dq%(fa#@}`5iC(1ky0jyyO6p)?wc~<fmcX1A<fHKvce<`Atkj;NsuKWB zPW|Ca1D1G=x)#yDiqIor5y+)u&Xn5-msjAFTS_j!sNF@#p9%d9p(!mcsOX8$#X(Z{ z1=X%%zt;5ZSuT8`!kDBoVte(AEDy+5vg=rLy+djQdVO9yqa9~DVM$%PZ$eH;)qm{U z**zU&jAScQD$7~y@^ugRD#6>>NgsPdXo&}AwcQMD%5Dxwk|9r(<fA=phC|lk?~)Uf zlWXS>XVxw1<_ii6u<-y-9A2NEL6AGthTOyt^vZ>5=(v91RQWtU&BU2PBb-cAzUmN( znX6BZlb%1V;g74Qf1jrZ<x|KPzMJ2c%-42{@=V=udpu1|$27p*Z)K3J-q+My`8QS! zFWB1PWw2Tukzm(oN#LeHTYMi4%`n=tQA1#(thJ}Iv1yd`-W7f?o9`~WAX2z$rh!dJ z9}T8d{Z0ib3Ko5vqo@TVU!_bnCbq!_2lW!%4rt8G%+P=&BqV59faj5iR=N{l(!jd} zIka>3lnC}1MS4||$Yh3V9Pyx_AOy>RXoya>kPK^U>u8^vzE&!bmVfRy^RWYE<GZ2M zoL$ILBzEWF7UoD{7d~C8MtZ2f?yfi1DrluFLEnYdw(^!8g`+UF*6;jI<muQ;sh(fZ zX%@4A?lg{TkBA0q$CZ}11M{>h<XT`xQ$;FXt^gfot$#~3Y9opUG;sVQBcV3^$U;UF z__-@HHqB<xOT8A)?N!S{G!>UqXwz@grNoALVOn)7Ipdk0P_y$)3i85clt4-WLQ_S& zvE+9d8B+&`VjsSS1T1IT7Aa<Kx7x41k_q~?zAf~6ya*RrY)t7Fbn8;h`DESB;|fyI zHdmZI!MsR_isr~eqh9yDus2-|xw8P>o~31>6GlJ`42)12RwLwExu}-=a)IsR_Q|p~ zr!Y4kJ4&3$BCW|G0_(bFTpP!Ny<690`R%7lhsDEAc`^x16i51`!9-GPA(Q3XlqfHg zaTq_~6$`jA8S$rlA;kI(<$b1~o{mL*3*1UVb7b`Y(;bD`RGMM%z_&MS6FAmjGkbA) zsgHs1iQEJhLa6L&>Q+8;I!d{>HRCdQOYFkp#>zg_ZJ*uC5jhd~=U(f;HU_0pTsfaX zgRRP5T(gS;lCQx*6zG#XD=~VMTbwe~f@Wc_NPrs7Je*g{TNNvXzofF#d&gB9laDzq z&@5%Y2y^Bc1mv|PqN*}ck>6Q0r=Y@id!3YUdx<xr!@hN16?-j=O>#AeKUWfIak*ix zbR45<KH*Ikl7(Qw(dVg*xWsB@!WmBOB3LZ9{R;||*;Ir*IA=|>qUSu5;u;<{HobTT zLb0`o6>)W(t7tmCJx3h&&n#v*tRTG#^|LWxgAXB->09WyX^Pa?z|CsA?6UECsWOVX zt9=kAnk;GCo%EP&%NpfrY1Xo=XF<!A&eX@a;D_f5-Ih)jAM3vh{RD$I^KqImqUJI( zi}D%Zd1+Q*Q3rYL{@)JATvjRFzDE1+SvUKpJ2)1%$L&W)<bZ5GL}g!r(T6J*th#T2 zr-lb5vPzYHCXH=4&x&H-rE6d;dq4qwDNiIl%SwwFqWt{m!LL<ogfpYxoVA?-x)Qs> z@9g0~BQ9&>ACLsrKP%(E_5+pTHl7Sqk)=bu{W#HqCf>?g6ZK8!RgWnpaeo(YjC>jR zd-w-&G)Ua2CXWuN@n)kSAEf@;6z?bg^aymdD?FeM#3s$t|GpP^eRSxN&&Xs3eU>u2 zw;O1;;XA;W7Gy(D&1apy*!niMk@jnt@w!VXP1xi&^8m~wp+4$O_l?rnZ6lo}&@A-Y zuj|&C5bRylGVD<Z32B71ul&3krz5W27ieioT(LPelXR!kPDUMumbY`={&q<kk(|re zAI-gO%;v+pYLnG17Z(q#x4Y>82P=21=)kY2N^R^>_QyX>(fD(?4CROIaGTnH&c=o7 zaXV&}QA7mN@27ww^;3N!+T~@ifPrX*Eol`EbeO<0#?1m|7b1sGP5U9)A$c8{NZ*=$ z={Y$$Dfak9M4+3FtgNj69!$iaMy>EE0?sbVGE%^buYuHzBl*~f?)IKGBaJjL5D~9o z*yet^Kh3P508_C_O~_6IvD%sE$UJ+se#;VZH<*mQ%WJ{@k8-x!h|GLOE;PIe%`uxQ zMp->|(+U`gO^ungXA;3iDfE~;JL-{cWVFP-Xpln33<MTI&pf!QYH~{M?cP*+-~WpL zoGIkn(qs7;x49E|^iA6byy5G13%!mBaXjdxfnJ8a{WVRY>AG+%7!=fa?P>Wya9~yZ zY2o_9<_V+k!G@6B(0~$Z*}D>+h8p8x<#taqZE2=vt_2ZP<=R?QW)Qa?OkS?zx5)bd zLp}uMN*t)f5X&=h7GF?6La@aHi`&}JD&JQf@_(kKvmwh4Keh(|a0KKe#WcJxE>^nk zI<k<yymMLV^WDc32CPlOS1(7;`!QWzIB+<V<gt-^Q^oUmr)Q=`M)R!RnAGSTA0KCL zx4^%?#L0FgisS(9-PkO!nNLNN2x(fg6Ev9ibT5_pes_CgX9Hi#`o25o9FwHC^=VdO zFd}sucZJ*H{>jcHX^#NiPu*v)hFPpY72QBnHz<x%98EP*S6&j#2yu9NH&9X*c0MA~ zUm~?{y!_mKB%$xcj{hd}<(o`G)U0n5f}?_#ZU2N0*o<G=5E2`TcaO~%?rx3KDKIdc zxTzh#AqEQQI3(uaW<!22EY%Nj;-E{5i9bBP^EO%UxDNd}ZW#)*iXjS;rgMMrZAy}) zr&*%0K@&p#{iEm`;5Re_s-Lw~#I=i$TXK0_i5~c#7T0_XLTQnAlKC0~LtRY`TRb^A znT7BmkBq+TAO@SMJt=+Clt27Qt`!?uykhjPsp}(-_;k#9sZN&pvQ`<HnsGFA0_3y4 zmJw~x)l9XsMn-o3j(sY&yAk;5k~@FZvzy}$##IJlj}-3}P@^PWew5$&i?jd!R+*mc zpdSZ~=M&63Os7!d7XCK)mc?Q_Po|5ywqiCK_n244hq}08<mo$`8=01w0yF6Bgv|*5 z6s-^&Pg~Q)hga|OaC;=0lDGMVs*EEu5uc3Itqn9a)MxFsjT78pfj{u9*4y8XN90~v z*IZ|pVaX<Z*Oag72$#m1`8$cTzlf+O0eHTBh_WfgPWZFw0^z_#%UNIw{46g&*dIru zkCDxZ!$3>%@-bN7-Yre}^;H(TM)CTQ;P@$*;ypAXE&t-(2I#IN&;TSuabJKDqANX= zDQ&cAQu1LzP3><yzg14=MbaD>ori+3?VEZ*cy#*tk-y3_+trSq#Cg`gW4%CF9D*j; z#;@i1Bx~hiB8E;Br>{N`6qE-yq;PwG{xgr;th+5}^E+z!IaUhBFGBE{&Dd#r4H?{5 zX8qH=r73pl_ek$Ssp2|DoU+(<N~;eC6^dCOu3X8vG~zY1FIYCU5?q@oo_}GF7eKoN zVBeK$K6%PxvPj!7hvQ89u6)E#A2hj5D~o3we&vy?zbVleiNR??2+c_wAsmZXkqM-A zAand~k&_0s`Mn!y=}D5?usM2?UnJ+II4{T9HSA(~Fd;!mmCw>fYFo&d-?5qD2RV^0 zimaf2^Wx}=*($|oz8zRPp%`_0H5i@k+n0P#xT}i2;eA8?IjFG;b8ZWALN*ToAXPSn zESVYJ`qaH996r8dTXoQ~|7qdq=xAwa>GiKYASnHCl#k!m0LK{0s@69Tj{6geOj5FX z%T5Yf7!1A##4VkjWlF@GmD`5j|FqTG026rf@d*tqe-k^e7-D2QR5H>i7L4^Ix!84b zLgxB1X)UE8=O35#tDuJ!vT=}<&%@9h%1dsONE@oY8$C-ot^wND5*m6^F!%Warbw_E zynU)W<ikySVhBfXs(w7>CyO@<{$fO`oZsfXDpDgj><9FCA`9Dg^_*kazrl_v4EdKO zCA0#i>A4Up+w?;#?ggPRDC<%MG;@0*q{eTgaN)JF3uhWVbrFxfmTYIlt4NMsR^O~A zNB>gfDDebhW6}(*5R~bM9GpLGxlL)WHRxu!=!6V#Y({r$GS*yjf8CA;t151zgl*f^ z+;C0k8O+fN#n8O>IKgy*wNH2Lr89HtvG)@5fk4HgR1JHKMXp@wp(BzC6uLkr3AN!R z6C-JT8Y&^wbdH;ks95Chk2S5Wtr7Y;h=%B#hM1b0i_5;aF$mq*KolqqwE2*^y(CW` z*TTwdLK$PsE7!df(%IRGNb153GyVD%X!$6_!7+|Vr8<skDG}hetESrfUG|X({blYc zP7})4LJyo(kUNDH$|~-8OjvaEug1n_gNAnSd2fF|TJG!Lq7~T@ItyCu{qV;}Qr9+C zQWJ5j(CVIRG$3Kb_WJq@zk{k?)HD^-LMcVRElh+0`<F95vAi(0H{~jF);_TVWlRiV z3gaDQtfsfZVnJ4;eI|-?agb5EuCi*x27mS5mnIO6Noj5e^(%zxooF@=N$oX5kcxB9 zaxVeGDg%h3JremKf-V7o9}kF62LSq4|6TvD7h4YhhD4v99M%Zvf`%?5ht}J)Dc{{J z2WhHPG@90Xv2wfs0RCcbpCp%KBUx!yb%(P(%iyu!8+Mi?`ZGNk>aJb629e06P$l`A zj=F2AsIyt%&#YC^Aq3?C9XSt5xSCTFGsbe`chBDWN^F}#!C_eXNz?qdn@NUmA!fzY zz4*x#PmhCjRp}z1r8dhHz8cQlF~uvADoJX2M|N!>%|EK7Hr=V({y35)kb9N%fkn9c zORb8cJ%)HjNUJ%2h0rz8HCIUaStwG%ZZPeqYcD(lWW)^<<a$-0D*wmwYF$;IZ0k1S ztHcmV(vO-JpxWsO&ERnb<xJm6K!Q^;F?9Jond0JWdL(5<SsQdAc6R=CbQQu#)HBwy z8)w?rRjXyTIoIdPFH^GhO*iA-aS2=A>mi{yT^@w+MbPH=qdB6o+y2+`TJ$|l_}PyY zz}ABhO-uE?X7+9uq~f0ctgfmSDxDKir?}K86>>kfTNcViyis0rj7l}zxV<!6Q|W>D z%1lZ+T8o3v?uHUJBdlm#=I`(5`P{0)<%u+>oOQgPTo1~iO&k6(!TF{4y1de8r%wWu zO<UY<3xDz=cv`%Ytj?GFGiQT9*WKl*yz?U#Dz>r8VpGa~80Sj5kYx$Zq-0uiP^1p; z>inOt>H4C(IVNJg++rb200xFj0nb>4x%Dq@42z8F7Ppm)jek^g>_k7th+mW-ynikU zM{MBssYuxI@p;WuGJ!do92W22@O#MY(U<H;b7nT){i2J(Un|%f*3yOMM~YEA1!#c^ zcuP7i4M8c)?BZxd+35u==52dl6V}$Q9S{GuVldmi;lb}t(_m7!E<TNPg&XmnMWHnA z>dhIPe|>GN$YF*Azw~{;tcpMa{7y-Sf;C6&^V`)xE{DcWgY$O0QK!rgx$=rBQdvp@ z4PfKp0jXo0W`jU%>VZfn%xD3(BlG<|%)$Z=L(2QtO%J6W{N3<xom45KQny&%ZFW}= zMn>Oo#L-M51#vm7s!w`E>QpLgv`xOJF*{>8tUigf4A64L%@Cj~!NLL#IPE`eWQ(WU zlM7@pm_DDUqsI&HEP8*Os$@oEVRiKY?~f-mPYXK`^y~RpQ0{DPZ7qo$^QO{P@9fCv zAC{*uL=2(DK;55o=8R>$n@4cAJA~nUuD4tV0dU@^lbd<2p-m@#yC$JX1m=tE`sH2O z))k>;RI)~x`TC#1<Kg=sgXhxm5V5x=)%E+fC-#<CN>$thR4xS6m+~4BrMT@VI-kiK zHu{rnPRlOOx(s#>Jx78f@Bjdh)04_<yvQ6AdL`~6pmV@o;>X$CuycbW9a?Tx=%Mja z=Y{^ErhpSN?o2~kWdydkWu*Ol0p3bu-9cQTWlU+Rb)h=F?ihBu<!4`;-HnJ@d0&kb zhWx{8Xz^h!K?$6iuPT3+BAJv`#X%*L^L4GH)p#pmV6hkP$p5xPDw3~{J}=fiVxJ&| zoWohp?v!02mx_FE9r!%k#S)|Y`%4dY_tiYAn(3_;qits<7Ecc__cE<ok3_3j-lqHN zdRm<M?J;FWU=Ei&v84Mh`da?~&62!Nk)VU7V#vIn{seYyI;UZaxZCMYK$*`C*nL)1 zgU)^xBErk<d;ii5SG@Nwqdecr5pHzPrXHXo13;`azUSlUoP6p4`PCXQ8c;HH5Eii( zekM;TUVMAmgIPE1s#}YT>vYFl#dl6hmhRzQL<}s*0Y=Ty*&0$U_M+uf&Nt1@)_{p= z5W1Vts5{SMjcKda6MVvzm6M!P?ee0WJImF{s@u`K+u5Ok(V@y@-ny~8>s>YQLoSIY zvpJ>Ee!=olj7DCPT$--kvE*<pLj$Va|6?W~$1Hoo)8iYWK6!YYeD!V&;UA?Es<e`Q zR0W0pD;e~L5uRtOJZ>b#{sI;7qw1Y69zqw}k^g9P9-lO6?bIF3@toScIZ$Ns$?-Xe ztg(_@*K{n!Eljl-zuQKi{8$2Q3x6xLHrMUQp?fD8KgHMz%+K^3H9g%8MtSRG?fI~m zheZGk_RmrOJ>q;#)vNp=><UW&6z#brj#f@$LP>wK?0`)jJQA&Un5U5ZwDM?o7`XeT zT{YP54Y!$qpe_WGtV>V*=e=ww)M&Pf5}j1=(>P6n>MRlWf~Oz4T%S=L<uCBXmX-Zk zsj5bkzze_{Y;@J1Tcr6q)MS_PkRN=3M)Ane5}xh*Cwqw0rhLhT;a1B=ey2@Vi4~vJ zq_hu8_aC^8DA^Et*z$>rN$lNJ)_6;D>$3BEeZ9SS8>5c*8#szU`pVMX2iy9e=>z+B zG=cIC1v?iHZ-^0~+r??=<)9p2U+f|em7#yJqTvyV)EP9kW;Mq&1l~f%gM{s6@E@!_ zhQQi{sI@ImXgT|RU`>`IEIsR5#ioxh06!Z`_KAGFxQ}oaB<I$LYZlIB<R{56<eNg5 zsuCT)uJ1N$_fZTA&7J0yWZ6Ytf{Y34CRWu2mpqB@uN(BUi#?BAVyT-{cu7eDODRmU zo%YUDIsZRMIP-@D9c=+B&dG!d-PXPU)&a{RPtV;UBTqGPMa6q*jc4%YXG^A-ZHr3z zLT<9%F#D*t%bXwjBXu8w%?0#DvC-s0M4{`+i=e^;|8|Bq1lI2N$}SIYCa?6lz>A@E zf*8XOAS7uE$we4;#S5?xgKz~GK5g2%xj?P!9x&pq8lfR3?<Bt3s^iG-VYfW>UM;-d zA{3}A@?h2B3bv+IVXv2`S>Gts1m=x#@gD88rCYMkXRq^XGLCc6`0R~NX~eHY{5Df% zJ<B5bU>M@T)v@rPM2SOuk0`Q|On`L{(=YDC<s75|;oqNTvNpk;ShJ<MiL!;XPoTDt zgKL5d;7(SbvMnc`bm*kcs_dKi1h4}zCARMVawe+gtNwLg#rYd%n|EP@Wl`iJuu?IZ z-#NJ9Ts}{Xe=M$J7VQqPyjNATs!d~EhSOHHj_>R8vA7CCd@O42F4&ld)6h65#Pc2q z%jY;e&!mB7G|yd=d}y!z$L5TlWaICw>@;Fw$@1b}{d3z4g^+Mpawg3#W)GE8zcPoP z6{k21Oyb4cV%;tgp&wxA$_#T1Au=qhMtod84Por!vOago4I$DW-i8}|^S)(x1-&Fr zZE(A0S<wBgL?yIfHCynlDu*@@yTnG(R*4s+9B)YA^kw?cj({A<A6299rVWV5WE6Gy zhh|3&t&ELxi;CddRFKky$yfJrSZ(3Xaqrd?Z_$?g+11-aPd>Co*ZVt!-O5YJ$RMJk zeJdAM+Q25JrpT%&Yjroj4^|Pnz&t!W!mw5U|H9H{mH)ufH5=HffPer(OU+7Y5d>R( z*&9gFd>hA``z;;;@@^K+8WACC<>iM-%-So=zBK)&?wD8Vokh(X_6U(#q34sk<XJf2 zX5!opk>(~R7uL{l>1l>|-~S#}R*tT#t1B+v{m*Fczqz^RjSz^wOy{xQD*!+z8)*$T zjDW81(8@<&{AJ4(MFRk+`i6(297q6w^Zx;`h>3uAh+hNI&iMXa?*iu<Y=|Tg=oN6& a@*twZw|ux9Jn;`W1LUNXB`d|h`2Q~;E$*lQ literal 0 HcmV?d00001 diff --git a/Doc/Sd1/Ref/ObjectsAndClasses/Stack/ideaDebugStack.png.marked.svg b/Doc/Sd1/Ref/ObjectsAndClasses/Stack/ideaDebugStack.png.marked.svg new file mode 100644 index 000000000..4c363b763 --- /dev/null +++ b/Doc/Sd1/Ref/ObjectsAndClasses/Stack/ideaDebugStack.png.marked.svg @@ -0,0 +1,1104 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!--CREATED BY XMLMIND IMAGE MAP EDITOR. PLEASE DO NOT EDIT BY HAND! numberPosition="NORTH_WEST" numberTextColor="#FFFFFF" numberBackgroundColor="#000000" numberFontSize="10" shapeLineWidth="THICK" shapeLineColor="#FF0000" shapeDashedLine="false" --> +<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='661px' height='412px' viewBox='0 0 661 412'> +<image width='661' height='412' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAApUAAAGcCAIAAAAH1MylAAAAA3NCSVQICAjb4U/gAAAAEHRFWHRT +b2Z0d2FyZQBTaHV0dGVyY4LQCQAAIABJREFUeNrsnXdcFEcbx5/d6w0OuOPoHSlKV1QQLGDDHmvQ +2GIsUaPRSGzJa2+kGBNLbLH32CsiYgGVXlQQUEGKdA7uOK7uvn9Q7HAoiUjm++EP4G5nZ5+Znd88 +zzSMJElAIBAIBALxSUH9/fffkRUQCAQCgfi0wMRicRt7pOzsbDc3N1S0ny41pddaeQ5ZggBUTAgE +4uOCIxO0KpSXzwopy2nO1+LUyBgIBAKBQPr9D0BW5e9ZGblsVWpSzT9+1Qeijgl3oC2nGJ0LU75v +EqqcbyxXYNSNc24Sr30iO3qMhS3HsOUYthzn/X1K8R+rBhXnJlk6zL0pawuW16Su8KBjGIZhGGvY +Iekbnyvuft/eLPhEyXtMmlFlHZkV4GSkw2D3+bMQTbpBID4cauvJilqtTk1NjYyMLCkp0Wg0jo6O +ffv2NTExab0Nd2X+3lU3IjF7q69d3FktcxVuaNR/sEO1mVAP+2TqEEUg6OprrpRVJSVVyv5zb5Am +bdvKUxbT47ux24LlKY5zLmaOV8gvzHT77m2fM7xnznJ0W7U5ecgyd1qzUpZfWzdn+5PALVdOBtiY +CT+4dmuyL285kiglATCu55iv+1pRPjhFad6DuNiktJyiKhVN17idd0CApzFDiwsVRck3I2PS8sRK +mr6Nd9/+XcxYgEC0Iv1WlD1+kPbkeVmVTIWxdI1tOrg5GbNbUmHkcvmyZcuoVKqLi0vfvn2lUml0 +dPSmTZt8fX0HDRr0HyoPT+99p7w/rTwzAnpFBIA6OdKz4437/7UXqObm1u2Pui4dY4O3DcvTdI0t +daFGyMbgrSM4uPnIiT0WL9oSsWB7X04z0iWKMjIrdXqOHd/Vid4iHQ2rfrMX9lM9OvPHOaWx6IPF +G0hx/KljCSzvnp/1sdGHopjTx66epgu/CjRvooVUF945diSe0WXIpGGGivvnDl49f8d8ai9TFNdE +/BtoV8/I6qICGce8fUe/Xj26OuhUPoy69bCCaEnPe9myZTo6OitWrBg9ejSNRjM1NZ07d+7UqVOj +oqKePXv20cyjrDi1+IiX+TomfTXfaFOnoIsHM0gAUMdHtKctp1hcilQCKDInGSzHsBeD1mW3Y2YM +2mErXEOnreKJ/vCfcOdmSdNXVew9zKyPhb45/q0pzPll8h4H0RoWd4N1x8Nz9xVVN9liFjz+YeBm +AWetmc+FI1maVwtUHvfn+V6OoRzmakG7PVP+yCurDWhqild4rMTwtWNPaxqyxOh+79lLZa3Ofjin +26889gaHfuHn87SIg5I1MVvPBzj9xGWs0jXbNvDblFSpVl3GtKO/D/AZITQNMmo/sefkQzfKyYba +mLBrvZ/bYAPr4MCFV7dMH6Y/6kIxCQDqm4s+1x9w4mldblVnpg7UH3e1EgAAqu9fCZk0x91lqIHp +ICvfkLkHH1e9lHfZ6eX6ZisOpl6bP3ySuUWQqMPUmedq70cU3joyOWiciXl/Q9evx/+eUvpqta+5 +deRksffQ/kZY27F842AGfYf4is8cvl7drMtIlVIJTFbLeqZE6fMitZ6xMbMFwihSRvvRE0d0cxBx +aDSOaQcHQ0xSUipvKgMlMZejxDa9B3Ux59EZgg7tLShVebliNDqAaE3+N6bv7Net/g8DPlFWEF1Q +WO2sx2sZFzwxMZFCoYSEhBw/frz2dwzD1Gr1unXrGAzGhQsXZsyY0XgK2dnZL/+ZnJzc8PsHzEUn +7/904vN1BRoDoX9fPllYlnI97WZO37HtKBhX18PHXK9Gej++ohJY9p0EhlSgWPG5GAAQ+dcSdl0s +41sLurgxK+/n3t53dbhcJ+1Ie73GrgKqocDHt0YhLo99WP3a+09WZYcEHvz1gRpwig6fKEjI2LrL +Zt44EaeR3hdRuXvKidWX5CSG0+Liv5rNpL5QAiJt09He87LFJM7VoVZm5ez65kC6bFJEiKhpz4iQ +HZ13VlylwdRExpWo4Am6SVc7Nep6alJCD/demCuhs22dBJqckosbT8c+IWJOuVs22nVUpxwaNy9S +OG36od6GUPzsztWcvGoAfQAgyy7+MXJpnMPM2Ue6sR4c3LMqTEZ2broopZlZ+cZd56763EKfWpEa +vnbJotm8HXsG676owZqM0Lnlvb6cc2mDgTLj3i2MJAGkd3YODD6jCBzz87dO3JzI1Wt+nMjZcnZy +w5iOKulqRJn9Fz4irM1YXovGoKufc+WWsDjVwO60Zl6KQYsOC8kKn1fSjYzfNtZElkT9tftmhd3g +WcPbaxMEp5q5eb7Uby8uLCN57QVNdDdUOfEJxTod+tjXfQ+n4Bip1miQriBak36/1pKo1QTOYtFb +7FWMjIzk8XgajSYxMXHAgAF+fn6PHj3au3cvANja2qalpWmTyFt1+mUhb758y+OiixRAG7px8smx +TAygJif/EQ0HAIqD14EbXkRuTIDdpUjMbPHF4In6LxopQQ//s8F2fezpOIAmK9qv/dW7YY+i5O2H +NHYV8Pr3jugPystnTQckvrqkj8zZe2PrQzVmaPfz5RHfeDBUpUXnrsobH74gctL2XpOTFN7wXZMP +jlRuHfLX/PD6z6of/7QuRwysPhsnnZ6t/2z7Uf+vM++ERl2Y9tkwbpM2UWtceyec8za4fK7b6OTs +W8nHMzt+74C9OyqZsW5DnoRuvPT2xBUd6UTxwy88Thy6eGdnsutKj0ZkhKy8n/mU5vFDSO/eTABw +6z2k4ZOKs3tvVvpM37G4tykOvb0ZmV0WH9JCOUTDZh4cVv+XXwdaypipF1JrBr80aq2pspjw60/B +QhwAbM09AYAoPhx65qnrxDs7RrajAoCHbWVWtx0XE8dPqevMkmWpybk0B2dbSpuxvDaha0tnB1ZR +cvJzoruF1imRsuoaoDMYLdl4qYsKikDkKHpbIyYvfF5O4AITo/eI1ivzom+lEZYBHc0aj8tr8h5l +VvOc7fVyr/91+qGg36TuUqkGY3PYGBIWRCuKn7/y0pSmpxexbdqZtdyrKJFILCwsHjx4QKFQXFxc +AKCiogLH8drQOoZ9pNcBo1tZcymk6tzs3UNm3tp5/nmFyNTdpMnMYCbepqzo2EUzz44f+/fYRWm5 +GiBl0vzy9w6qqe7eyJeTuN2EHjM9GDgAQyAa8bmloNGMqNOL09WAixxmfM5nsA2/mmGnU/999cNn +0aUkrtdu1hQhC6M4TOw8xBAjKnJvpWoxIoLRek/3cuVQTAd3HG6Ngbo0Nb0xb0OdnB0lJgGXXVly +rF+/A0HjYxLlAOqyxBRlo+bAdOwtTZWxoQv/PnUnu1D2UsZU2QkPNDadnUW1NZft3M1duxa6Jvfv +1ct7dB5lbBmkbzrsi9PViopK6cuZoLUbECh45X2oSbuZoHEf5GdXJxAUu87O+nmZSQ1FqSnMKyT1 +RUJa27G8VgIuFAnIwvzn2o+gqcvuHjn/iOXmad+CE2aJ8oJCla6R0VsnDrJcRny36PuJXQ2a23io +ShLOnIpXdxg40IPf+LVEaW6ujG5qLpSXFlZifKEupbS4jOQJBWj6GqJ1+t+E5Om9O08ZHbq7Grbg +i0iSpFKpFAgEJEmWl5fz+fzExMTaj7Kzsz08PD6ScSj+SwcvenT25/CSc1sizm2JYJi3++n8yFmu +jT66smhDn78W3Va80rhRNMr3Xj5EKioqCBIwU0ue9tN0iGplNQkUEc+IAgBAN+YJcKiq/UhcIyYA +N+DWBW0pXGMhBkXycm2G7XCmqLbkcbaRAIMsjVSiaaQWEeKaCgLImsqYsMpXAp9SJQnMRppHWsfx +RzaSy7b/PePYNgmm4zpsyq6f+jszAUBWJQWeDrteaOm6PComb9KGkksLQyaHm87+cdEvrgYcqubu ++u++LdeoSXgR0MV0BPqv5IiUVlWoNDErJhmsfPFAKtJeLGkwlEqlAiqV2pYsr03HlkqjgUqp0q4j +ID44wnryqUowH7Xz2GhhC/bFFYWFFVQjE0ELzhWTF9w9dSK6xmno54F23KayqiotrsT0XQR0vXaf +z/UCIIpu5tUwzCxEaPIaohXqN1GdE3MzRW7j6+/Ap7RkJkQi0dOnTy0sLPT09Hbv3o3jOJvNBoAf +f/xRrVb37dtXy3Rei5Z/+C5suMhmZdickJzntyKyjm6+eyA+Y8ny9LEnOjSyuEsVk7T1joKg6I3b +PfrnkYYCecoQk9PnP2SuH8bQ08Mx0BTkSgjQ0bJtwLl0DgYVEoWEAKAAKVE0iA7OZ/FxKC6TFqsA +qACa6sJSEnCmvh4GdXJGEiQAgELxxhRkQlFcqgagAyErLiMBo3DrOxUYjuEYAEGoX3pYXJepi4PM +xDv8cf8ezRosxVjtR00/Pmq6RloYdWTnzP/98X2njmcmCHFg8bggqZIRdbEjZZVE3aAjOIYBCQ3e +sVJVnxXVg5MXxZ1DNq4YXdu4ypI1ijfUB8NfNS7G4fFptJ7fbwoNZLwclTE0r/8epqung1VVSci2 +ZHkAgMZDXoSksgrT1dPVri7qDP793r3pl1dPWbBk/fXPtvXmtFCroSkqKCSFXUUt5UiQ1U+uHz9z +n955VLCPmRYz4kiZtIbAuLx6nSfLMjMrmLY9LGiAQPw7aD9+Vf0s9kai1MLHr72gpSvowIEDFQrF +kydPFixYMH/+/NmzZy9cuHDlypVffvnlmjVrdHR0tEzH7VU+/I3Ovp2VVEryLE2CJvlvX+sswqHm +eVUZ2SCsVAYGQMiKS8mXnDaFlASMYTxouMiQhckT8lNVr8nxW65qFFpnfxMGRmTuubE1WUEAaMRF +h/dmN3411dHQiQpEzuMLqWogFbfOPG2YOE11tvQVYkRF5ubdpXJSk7k/5kwRieub+7vggNF5PAxI +Ij9HQoAyMaZE9bpJlOE7ktIVZPGVxJNPSKAKXBzrVYTP0sOAVJalpr+QEaqrRRcd0BSkbzlUXlPn +tBT9ve7u5TKtYyBcI/+Jo4ZbEwX5YgIAaFYezpQnMQ+La28iS7uV1JBHjK/HA7G4bmWEOvdhw9xv +QilXYjq69RP+pKkRsYqmrc928vOgPMooN7Y3d2j4sRPpNQTsKWb2dkxJdnYZ2cYsj7G5bLKirJx4 +ezAjO7uMZtvOUrtOPM4zbuce+HXI5zbFN66ntdi2gqSkuETONjRsmTm0mooHFw6eyTLoPXaUVuIN +AEClUoAk6merKZ7EJpfru3e0YSBVQbQu/5usyYu9EVus4+JtRpOJxTIAwBlcHVYLdX2trKx8fX23 +b98uEAh8fHz4fH5aWlpiYqK5ubmlpeXHMw7xaO+pAQcxexdDOyMs915OIYFZeJmYNXhfeoYu5tiV +rPxlPbadsmHQrdz+3Ovl4GHVTTfptDhr3exosZf8wi8JzzQAL7V0b73KkchbO/TqhUqSFJdXkqDJ +SZnSPYeL4ZbjBu6bLrAa7//V1kN/pGfO8fzpRwFdXSFTdu2X+YVVI5N5cQunL3pF3r5ctL7/zjvO +msR7EioGdZLAsZn/veXf87Ivz94qXEpVVCpVwPD9rluQDgDodPbWpdwqj1p+MOA8JSNa9rrI4VRK +Yrirfjheo1KQwPV3HWFflwnc2MKvHX7jftG63psvO3DoDKtlF3sF6jsunGd6+cf845M2hy3lC8nq +Z88VSpr11vFdGq9wufvXTY81GxHoYCvE8yKO73uiN8DHjAoAmP6QCb6rv9r/1VrWt92YDw7sOVXZ +YAWKXZf2go03tp3puz6Q8XDv/sPPCKitPnSnnp2pS/afvN19TGdG/rEfdp2TUppu93HD4PlBO4I3 +DKUFz+pvo6sof/Ig5VKaxeo/P6ufqszs5OOJr4hLVkDDGqZP3PK10D39utCPbFu+23FyBx22kZO7 +lc4Lc6mS45LBbb43tznvEsbX54P01VDFBwo4SZKqqgqpxkLntY4EWRl78M/wAov+M8e4a+PtK57f +O/33XaXLsHH+Vm+de/bWBDGOqZk+xD9MLW7nwSlPuXzlEafzyK7GFCQqiFbmf5PignypWpafGBl2 +pZawm+ktuAAcYNCgQXPnzjUxMTl37tyRI0fCwsKEQqGfn5/2PYA3p5onJyd/mBeO2/XzGNmVq8gp +CL+YnUXq9fgq6MQqqxe9c5rZd1u7D/PUoZeX3IvOjU4QS0nARC5bjnYf5krPOBAREpqtP82752sd +8rddBWRN5r3cqKjc6AfVKhJIWVVydG5UVG58jpIEwPg2v4QHr/3CwlYfq65Qceysx4+1MGi86HDd +yTuHf99Hn1NVllouWhzqbvGiYcGdvhkdttmrhx1DIyN4tpaTfxt3ZoEhHQAA7xISFNJLl1NTmSk1 +XTTPiv6GYzYidNA0dxaVwbDp1XX/Xx1tG7JBNZq/q88YLx6jsjwuOjfqTmmpBgCoXkvGRvzpHeTK +hRJxroRq3N5q7Lee3fSaML2uQzvT51E/fb9y8PD/LbpIDgpduaZ77bQgTDDgm6MrPCqP/jZq4uaz ++qOW9H/R5DJ9x/0x3ShqwVR774U/S/rMDqjPPi4c/8vCycxrIz0Hm3Zbc8p4/JqhOlr4bZhOt2kX +Do2ySz8zd8LCUbO2b42UOgV2MHlhedwkaEgn6fWwOGWbsXztzYzHbdw6XufK3CA/H98hPye87DWr +ksKulbsNHtDMZWgYBkC+GNz4YDB++66e+s+vbtmwdu1Pfz94eQqEuuh5iQbnG4lY2jVuyeE3nkhk +edGHf1u3tpb12yNfnp339gRxo85BPa1ld/dt2rjj/CNOl9Gj/c3oSFIQ/yJt6vyxl08e+2DxRnw0 +mnP+mOry7FHBRVPSjw4w/BeXKbw4f4ws2jfUeZnF3w9/78H8TxSOMvq7DkGp36VemmreHAEnsjd2 +d1zjeCZvR1+kcQjEv+l/fyI0eOFIvBH/VgdYNHLBBNrxbWfL/hObbpHiS9sOq4MXBJs3s+XAhRbm +rMrY67EVaHcTBALpdyMSjsQb8e/54r4Ldyx3Jwv+E8euqQpUHRbv+KEXt9lXcvrMCfEv/c1PwOQF +7SxCO4wiEC3gPrSl+HktL0fREZ8izYmffyTNboifI5oDIS8vyC8DgY2ZLprnhUB8KFRdtqTtPZXN +yMMv//n0RDAAWI849B5JRW3q4ftNJKooiFc5jEzwAcQhEyAQHw7aKgiBQCAQiE/Q/0YmaD1gLIPh +A0xMyaqr53IeKj9GDnD+N+v7zrXCAUARE+0VmiNr1uUUwx9XW15fGntL/c/fC4FAIJB+I1qLfrMN +PhveoQtZkH/lI+k3UfXXmvMnqZSeU/ovbk7GzT2tbfNzIkvr/qYLjAZbVZ+Kk2ha/l4f9Hg1X4UV +9pEDAFRYG33txvrg3cBIvXJp0GOJT4nSQIOV8jlnXfSv8nEtZmcRVjkVY7OqHWWEnMM+7yY4a4Cj +OV0IBOIf0G91QUpK7GNxhUShoTD0jEw9Otlb66DYe9uDkFRUS4BSriSbM7SCESR7zLyAwbfzKFSG +W5/Oc3swo4/FUwA0LX+vDwovsHb0s96hqZ5zuYStR//whUyYrGpetERqpxfqyn5OKgbGFU2OwfIC +DB42MTmLtMko+uEJfqqT6c86Gv/4wskJ4rQA/Qz0QiEQiJbXbxJoPFs3M30ug6qWPklKi7gGg4Y4 +GKIG561QBAt/DZxqpDy1K760Y4fhTlyOWnZlV/i3t2pIjO7W2y0kyMxNRCeqqmLvpG04kv1IDhQb +14tr2tvXNfsmG/76fAOAJv/hZ/OTU0n+N+v7zrXUnP3p5NwYQreH/72ZptjD+J7LMgrId9/rNjlm +yZDVbhB9MuGxs/NntjRxRubSjSk3xP+El0fkJ96ffj+7/2T/Xyx4LtZ3J/2Qk9MSy6lYpsb97Bll +mbk381tu1TClSmlD0G7xKR9uCWoNftvHJEy/1nVm3jSmj3igMlNB4/pNqar86pEq0cv0nAGFBMpN +c+b4eLmjDDK46NVBIBAtrt80Eyd7k7rfdQVkeea18sJqsoXODmir0Pp+0ZmmkqU9Lacb6hjxcAxw +h8H++8cKOWrFs7wqXKjbY0AXVxE+dMOTQrns4aOSKjqrnS2XB8rsrMoyDWhKqmXke9+rVvDwjgM7 +CDOqniuFdu2dVgwrCPzrjYMxWsSx5fAHDXefaCTLKCfE+g4rgykbjj+9L/1AhcR0XZzWfSmM21V8 +O1/WYrv16ogVQirjyds2xsarxOsjK4xEwmmdudqMxqsMeFde6sVYiVUYk5PbxP5iZPsnEisWd7dR +XQdCg2MEkHQCvTAIBOKf0O+XGil5VdbjMiXbUMBG4t24+uCQkzpq9f1kGQCFacZXA8d0xhABR13+ +xw/Xfn2sxnXNfwn1HezhONrq6S9Ps779XxZu0O7AH15dyNIta26ckDaIyvvci6wrWbLqbuzIP/LZ +fXve+FJkZGdgjJU8a3kPnOI10MWnMHXyYcrslZbX1yVX+Lt9M0Q292BhK5ySRlpXKEldztO3ucjs +SoUxgeXqMeTNT5dVLh5VQD7ooJuON/ECdSnUlJmxC8vL18dW57mZHJaraUARo2OrEAhEM4iZH9wM +/dbkphyMyJcTJI1v3r2PownagKEJodDcCctIqVUwjTyvDKjOhl4cDNQM/8+7uZEAQDGhAVB47S1p +2FMl2aL3AqxOvzMzy6UkWVNcXU0Cj0nj4k0MSr8Xmtijt2IBgGIIAEAq71+LndoSFiy8HOFwuYVL +RWUnJkqM6FVv+1BqLhpn/j6pMqqq5sZU0cwN/7CiNl6QFIncUYllGtA5VWIhRr3DxsyKVRiLm4dO +jUYgEP+Y/00xajd4sJWypuppSsbdu7kGgZZ6aPy7MdQVEvXLjTnOoetigNE5bm4vB29JJpOKwYfp +9xv3akCp1JAAQMC/MbuZqDx+IKukNW9wjamUttXYk5aYvNYAp6Jy3j2xjonhChd2RVNBKUaV0hBo +N3h4obHRZBsAUjmmjJDpM5+idwmBQDQD758PNSd+TmPy9Zigp2PIJ0pPZKQ+N/c3RY1Oo77eq2Oa +hEwlIYFZnvHFzPi7zdAPkgSoPX8RAOhUijb3+tCcv+dlirT7in/pXu8HpVJuDfTTui029sMvLv8+ +Viq3Fy1rx6zW4vs8BUHBKGUNp4VLZF7VeKIzU4FeFwQC0TzeU4BJ0ChVaL1q89DklCTWAEXPbJwf +r7b9pvL4/YY6dOfVW1WtUZIAOMPg5YmBpLq6BgDDjYQsHGjt7XX/+TX7ZI1cg3EZ/H9jhkNj96LY +2q+Z2fm7zpwW6ycaVKq4dHpOyxz1SRrlliyLlRW4Gq/RTrwBQI0DkECt620Rbo8lplzeRRHqCCMQ +iOainRYoiuNiK9hm+nocOq6QPL2fWUgT9jBEA+DNbO6leVvPlXUfbRD0dZDfmOpyjGmiR6Opi364 +8aj+C5WPykh/I4M5y/v3KVKqSrKX/JH1mKhJyqrWOPG8RvY44EVYOzD+eVUlHqSVqnzt5vSqOpar +kldUPSz55zprjd2LIjQc2t08tyzj13vVLXM3DEjQqEUK8gHrdTMKHz/flKp46G6+ykqbpWWEXVbx +gkwy0tv4iPDt339rgmJ9ZgFU+eUqY60oJjmlXxVQznbVfYzkG4FA/EP6TaGzyMr0uNwqmUqN0/mG +Rt36tLNjI+s12wO/fzIyuNJlbl8zL1OOsVpZnFsel/A4tkGbNKU7dty3GGvrY67jzscIXgkbAwAi +8Uzcdmvv8Q5sK2bO1vPyxZ8Z/dMSXnwzYal9l+8n9RhBh8IrEd13Fas/wr0wIwGLQtbEp0tbbLS6 +yIx/taB0clj2DBKL6WgRatagnKR1hZKCUR9rtXsaYNWSCQ9r9An4LOrZZ/X/y29nPN+ZoWk0QQ1f +d2t71bTMgp0P8WJ99mkf4VU0jQSBQLyXP0Iqc9vYIyU/LBu26uHL/0Hnj32a0AcvGLJe7/7ApWmP +0epoBAKBeBXU9Ue0Vmh6nWxVl888foLEG4FAIN4AnV+CaK2oin6YfhqZAYFAIJD/jUAgEAhEGwET +i8Vt7JGys7Pd3NxQ0SIQCASirWIz8jDyvxEIBAKB+MR4cvxzpN+NQFbsHcRh8ESOvWYezlQheyAQ +CASi1YD0uxEw3eE77yeHb+iSt2Pu+nA5MggCgUAgPlX9VpckXT5+9Hjk4/+EmuFckbVj58+/CBBW +ZWYWoWVMCAQCgfg09VtVlJJYStdtxYvOaievJScnt6QbzmKzQIn2e0cgEAjEp6nfyoKkxApzT3td +rJU+TMPM85aWcAxVFAQCgUB8ovotz0tIqrTwcuC30mNLXls21oISjrHYLKiplqHagkAgEIhPTL/J +mpyEZKlVR0d+65zw9tY13y0l4VRbDzduxvkjd0rVqMIgEAgE4tPRb1KWHZ9SbeXlwP9vTlfXGbz2 +jxEVv/qL2PxBu4vQMDgCgUAgPjpaTUUjxcUlNRXPw0/WnupFEgQknPs716N/dzt2axoafs3bbrFd +2ORRPy8+ph648cqSfk42AjQYjkAgEIhPQ79xQ9fA/k5kreNJFKdcS1Q49uxkrctqZVL2D22bqsmM +jCywDj76daA7Ou4FgUAgEJ+OfgOVxeOx6n4npDQM1EyuDpv2H7ERIa2SAl9PFzneCAQCgWgtoP3X +tIAkAQBD8o1AIBCIT8z/fkXxTTp/NrIVPknL7tnyCkqFAqhUKhJwBAKBQHy6+t0qsbKyavi9hc8P +1VQmXY8pYdpZCFCsAoFAIBCtBaRJjVFxYJgOU7/zhnzfBd/04SJ7IBAIBKK1gInF4jb2SC3ofxNV ++Y9LSANTE30m6uggEAgEohWBFkQ1Bq5jaq+DzPBvU1N6DRmhAZYg4L9Wym31kRGIFlYoZIJWhfLy +WSFlOc35WhzaqxWBQCAQ76D0Lob0+/0hq/L3rIxctio1qeYfv+oDUceEO9CWU4zOhSnfNwlVzjeW +KzDqxjk3Xz8HXXb0GAtbjmHLMWw5zvv7lOJfeSTZ9c/NBnxxXvWh6WierunZjy0MZAsD9SdESJt5 +cdLaKTrCPi7L0lTSTg1JAAAgAElEQVT/TpWrODfJ0mHuTdl/oZQVd79vbxZ8ouQ9NixWZR2ZFeBk +pMNg9/mzEG14jGirtKL4uVqtTk1NjYyMLCkp0Wg0jo6Offv2NTExab36XZm/d9WNSMze6msXd1bL +XIUbGvUf7FBtJtT7dFarUQSCrr7mSllVUlLlv3dIG84xc7Ckcj/YTBTzWUf2jlUqL4dMXdRs7S+8 +fiNPDcSzm/GZGifnf/xkPk3atpWnLKbHd2P/F0qZ4T1zlqPbqs3JQ5a5N2+vKPm1dXO2PwnccuVk +gI2ZEK37RLRJBF1ILfWbKE64EJkpq+/JYmz7HgM8DVvQeZfL5cuWLaNSqS4uLn379pVKpdHR0Zs2 +bfL19R00aNB/qD/l6b3vlPenlWdGQK+IAFAnR3p2vHH/X7sr0zv0WosYiqojEumAQsDCQNPMDlxJ +wrX7lK49nVOj4q8XjHU2/4eVoubm1u2Pui4dY4P/N0oZNx85scfiRVsiFmzvy2nGdURRRmalTs+x +47s60VErj2jDNKMlwEVugX1r6dPdSb8F2xC1Wr1s2TIdHZ0VK1aMHj2aRqOZmprOnTt36tSpUVFR +z549+2jmUVacWnzEy3wdk76ab7SpU9DFgxkkAKjjI9rTllMsLkUqARSZkwyWY9iLQeuy2zEzBu2w +Fa6h01bxRH/4T7hzs6Tpqyr2HmbWxyffHP/WFOb8MnmPg2gNi7vBuuPhufuKqptsxQoe/zBws4Cz +1sznwpGsV6WJlMf9eb6XYyiHuVrQbs+UP/LKartmmuIVHisxfO3Y05qGLDG633v2UjBVnf1wTrdf +eewNDv3Cz+dpEZska2K2ng9w+onLWKVrtm3gtympWgapa3JPrVrm6znMwGyInf+ieUee1Lp9mqfH +epgEsoWBbMO3xM9lp5frm604mHpt/vBJ5hZBog5TZ54rJxtNsHErFt46MjlonIl5f0PXr8f/nlJK +vBRJiYqPJe0GzfXviGVcvVVJapWNdyZYff9KyKQ57i5DDUwHWfmGzD34uOpV69bcOnKy2HtofyOs +DZVyY+UFmEHfIb7iM4evVzfrrSVVSiUwWSzUvCPaur/XjO/SOXw+/5+IESYmJlIolJCQkOPHj9f+ +jmGYWq1et24dg8G4cOHCjBkzGk8hOzv75T9f3ovtA9aSkfd/OvH5ugKNgdC/L58sLEu5nnYzp+/Y +dhSMq+vhY65XI70fX1EJLPtOAkMqUKz4XAwAiPxrCbsulvGtBV3cmJX3c2/vuzpcrpN2pL1eY1cB +1VDg41ujEJfHPqx+rb0kq7JDAg/++kANOEWHTxQkZGzdZTNvnIjTSB+KqNw95cTqS3ISw2lx8V/N +ZlJftM5E2qajvedli0mcq0OtzMrZ9c2BdNmkiBBR094KITs676y4SoOpiYwrUcETdJOudmrUHdSk +hB7uvTBXQmfbOgk0OSUXN56OfULEnHK3xJvQzf3T5s26Zzzxu2+XO7CrMmL33XhQNsqGjQPFfODR +e/7ymrvf9NzxjntmhM4t7/XlnEsbDJQZ925hJAmAvTvBRpDc2Tkw+IwicMzP3zpxcyJXr/lxImfL +2ckmOACAIup6qtx6QHcv95p2mk0RyZLg7jpNZUP6zgRJaWZWvnHXuas+t9CnVqSGr12yaDZvx57B +uvXJqZKuRpTZf+EjwtpOKTdSXrUCrt/Vz7lyS1icamD3Zh63gGGAAucIpN8vWtSECyfvqXC2nomd +q5u9gNFir0dkZCSPx9NoNImJiQMGDPDz83v06NHevXsBwNbWNi0tTZtE3qrTH7SpKimPiy5SAG3o +xsknxzIxgJqc/Ec0HAAoDl4HbngRuTEBdpciMbPFF4Mn6r9oOAQ9/M8G2/Wxp+MAmqxov/ZX74Y9 +ipK3H9LYVcDr3zuiPygvnzUdkPjqknwyZ++NrQ/VmKHdz5dHfOPBUJUWnbsqb/zkViInbe81OUnh +Dd81+eBI5dYhf80Pr/+s+vFP63LEwOqzcdLp2frPth/1/zrzTmjUhWmfDWtyjxpSrXHtnXDO2+Dy +uW6jk7NvJR/P7Pi9wzuzQooz1m3Ik9CNl96euKIjnSh++IXHiUMX7+xMdl3p0VjTrrh7YnU4NXjv +mo29uRgA+HccNlFD1F5BZYvM2SDTfacFNFUWE379KViIA4CtuWeTCb7TiMWHQ888dZ14Z8fIdlQA +8LCtzOq242Li+CleVABlevjtamFvD2eGWY2PYN2p+Hvy7r2ZjWajsQQx0bCZB4fVX+vXgZYyZuqF +1JrB9WPdZFlqci7NwdmW0nZK+V2GenENxdLZgVWUnPyc6G6hdcSPlFXXAJ3BQM07AsXPAQAwptDe +07uLb89e3TzMqUXJN6MyJS03rVMikVhYWDx48IBCobi4uABARUUFjuO1oXXsY50cgtGtrLkUUnVu +9u4hM2/tPP+8QmTqbtJkZjATb1NWdOyimWfHj/177KK0XA2QMml++XvbS3X3Rr6cxO0m9JjpwcAB +GALRiM8tGz+HXJ1enK4GXOQw43M+g2341Qw7nfrvqx8+iy4lcb12s6YIWRjFYWLnIYYYUZF7K5XQ +wia03tO9XDkU08Edh1tjoC5NTW9s0FidnB0lJgGXXVlyrF+/A0HjYxLlAOqyxBRlo+YgHt+5X8jv +NLz7i/lpGJWibeyH1m5A4Gu73b5XgjVpNxM07oP87Op6uRS7zs76eZlJ5SQAqB/GRxYzuvo5MIDq +7ufCK08MT1E3kY1GE4Sa3L9XL+/ReZSxZZC+6bAvTlcrKiqlDWbSFOYVkvoiIa3tlHIj5fVCwIUi +AVmY/5zQ+nVRl909cv4Ry83THm1ugUD+NwAApmPuWBcb1NM3oMsv3n6cLbZ3aaFJ0iRJKpVKgUBA +kmR5eTmfz09MTGwIjHt4eHwk41D8lw5e9Ojsz+El57ZEnNsSwTBv99P5kbNcGzWasmhDn78W3Va8 +0uBQNMr3XtJDKioqCBIwU0ue9oMXRLWymgSKiGdEAQCgG/MEOFTVfiSuEROAG3DrAqkUrrEQgyJ5 +uViLxhZnigypAAA420iAQZZGKtE0UosIcU0FAWRNZUxY5cv/l0mVJDDfXXsIcYUU9HTfc5IFpiPQ +xz48QVJaVaHSxKyYZLDyRToq0l4sIcGQfBwZ/wSzm9IBpNU1pLOzJ/X69cgctbct9d3ZaCxBofTS +wpDJ4aazf1z0i6sBh6q5u/67b8s16hdlolKpgEqltqFSbqS8XnxGpdFApVRp1/sVHxxhPflUJZiP +2nlsNJp4jkD6/RZZ0+VzIa+mhoQW0m+RSPT06VMLCws9Pb3du3fjOM5mswHgxx9/VKvVffv21TKd +16LlH76LKi6yWRk2JyTn+a2IrKOb7x6Iz1iyPH3siQ6NPLcqJmnrHQVB0Ru3e/TPIw0F8pQhJqfP +Ex+QCYyhp4djoCnIlRCgo6UA4Vw6B4MKiUJCAFCAlCga4iU4n8XHobhMWqwCoAJoqgtLScCZ+noY +1I07kgQJAKBQvLGJDKEoLlUD0IGQFZeRgFG49Z0KDMdwDIAg1C89LK7L1MVBZuId/rh/j2YMYOJ8 +PS6UV5a/p90wHG9ugm8J8mAcHp9G6/n9ptBAxstRGUNzHIiSyBtP1UrVgs6DF9R/Qo9MePad7Uvj +xK9no7EEVQ9OXhR3Dtm4YrQIBwCQJWsUr2gWpqung1VVvRL2+sRLuZHyepEVSWUVpqunq1291xn8 ++7170y+vnrJgyfrrn23rzUEtPKIt8z4OjqaqshpYLFaLdW8HDhyoUCiePHmyYMGC+fPnz549e+HC +hStXrvzyyy/XrFmjo6PtFqZur/LhcYHs21lJpSTP0iRokv/2tc4iHGqeV5U1zI5lUBkYACErLiVf +8rEUUhIwhvGg4SJDFiZPyE9VvSbHb7mq8fBiZ38TBkZk7rmxNVlBAGjERYf3Zjd+NdXR0IkKRM7j +C6lqIBW3zjxtmOdMdbb0FWJERebm3aVyUpO5P+ZMEYnrm/u74IDReTwMSCI/R0KAMjGm5PXp3aQy +fEdSuoIsvpJ48gkJVIGLY33LzmfpYUAqy1LTXzTtVFeLLjqgKUjfcqi8drsaVWnR3+vuXi5rolra +dulgVBn7940X8WPQEB/QC2oyQYzNYZDiqoqX78F28vOgPMooN7Y3d2j4sRPp0YEUJ4UnEvZfLAw7 +vzH8/Mbw87/smWRJpMbfaLxU3p0gEEq5EtPRrZ+SKE2NiH1Vvylm9nZMSXZ2GdlmSlmbV1CSnV1G +s21nqV3oCecZt3MP/Drkc5viG9fT0BaGCOR/A4Cm8GFcCd1EyOfQNNLCzJSnKoGbFb/F9NvKysrX +13f79u0CgcDHx4fP56elpSUmJpqbm1taWn484xCP9p4acBCzdzG0M8Jy7+UUEpiFl4lZfZ8H0zN0 +MceuZOUv67HtlA2DbuX2514vBw+rbrpJp8VZ62ZHi73kF35JeKYBeKn1eetVjkTe2qFXL1SSpLi8 +kgRNTsqU7jlcDLccN3DfdIHVeP+vth76Iz1zjudPPwro6gqZsmu/zC+sGplgi1s4fdEr8vblovX9 +d95x1iTek1AxqGumOTbzv7f8e1725dlbhUupikqlChi+33UL0gEAnc7eupRb5VHLDwacp2REy16X +I5xKSQx31Q/Ha1QKErj+riPs6zKBG1v4tcNv3C9a13vzZQcOnWG17GKvQH3HhfNML/+Yf3zS5rCl +fCFZ/ey5Qkmz3jq+S+OmZ3QZsahn5OzZSxjfjRjkyJE9STgYZxK6McgcJ6tLi0trSKiplJEktaQo +J5cKwBKa6TY+oe/dCda9CO5dnemnzq05ZD7ekc0WWbqaszHcMHh+0I7gDUNpwbP62+gqyp88SLmU +ZrH6z8/M78RFK4RjR/fo1rnuDVJTu6zef+5qVPWkRqaHvTtBJ7pTz87UJftP3u4+pjMj/9gPu85J +Ka8+ELOTjye+Ii5ZAcbMNlLKTaNKjksGt/nezTr8D+Pr80FaJUEbryGQ/w0AGA1XPk+Pu309/Nqt +hByVyL27bztei44uDRo0aO7cuSYmJufOnTty5EhYWJhQKPTz89O+B/DmVPPk5OQP88Jxu34eI7ty +FTkF4Rezs0i9Hl8FnVhl9WKKMc3su63dh3nq0MtL7kXnRieIpSRgIpctR7sPc6VnHIgICc3Wn+bd +87V5sG+7CsiazHu5UVG50Q+qVSSQsqrk6NyoqNz4HCUJgPFtfgkPXvuFha0+Vl2h4thZjx9rYdB4 +0eG6k3cO/76PPqeqLLVctDjU3eJFHwJ3+mZ02GavHnYMjYzg2VpO/m3cmQWGdAAAvEtIUEgvXU5N +ZabUdNE8q9fXGmHsEaGDprmzqAyGTa+u+//qaNuQDarR/F19xnjxGJXlcdG5UXdKSzUAQPVaMjbi +T+8gVy6UiHMlVOP2VmO/9eym15TtKUYTdvy8K1g35o+fR45ZNmdHppGPoz4OANWn505y8hzn5PvH +VaXyUshEJ89xTl03XVG9d4J1D2Y04uvfRrOvLlkcGDRn5JZMNQAAptNt2oVDo+zSz8ydsHDUrO1b +I6VOgR1McFVMZLJE37OP+4vuL9XFO8BIERXxoNE15e9KEAAXjv9l4WTmtZGeg027rTllPH7NUJ1X +3zDcJGhIJ+n1sDhl2ynlJuU7KexaudvgAZbNixNiGABJAtJvRBunTZ0f+vLJoR8s3oiPBjp/7GVe +HMZFFu0b6rzM4u+Hv/dgtulSrn9kZfR3HYJSv0u9NNW8OQJOZG/s7rjG8Uzejr5o/zUE8r8/ERq8 +cCTeiLbY2RaNXDCBdnzb2bL/hGdJii9tO6wOXhBs3sxWChdamLMqY6/HVmhQpUEg/f7UJByJN6Jt ++uK+C3csdycLFP+Fh1UVqDos3vFDL26zr+T0mRPiX/qbn4DJC9pZhMLoiDbbpW9L8fNaXo6iIz5F +UPz8Fc1uiJ//Z0q5RR6ZkJcX5JeBwMZMl4JqEQLp939Rv58/f25sbIwqCgKBQCBaFTgywb+P8vJZ +IeUth4whEAgEAoH0+2OL9KOU6d1/F3JXUvDlFKNzYcqWv4Xs6DFW/ZGjOO/vU+81KqqOCXegfVgO +VTnfWK7AqBvn3CT+iRwitIGsODfJ0mHuTZmW31fc/b69WfCJEjQ6jEB8qqAt/v8h1Nc2hO24WY0b +6Hu5cZgG+nov9ZRwQ6P+gx2qzYQfuP8sRSDo6muulFUlJVXKWqUVWn8O2wqatG0rT1lMj68/rqxJ +GN4zZzm6rdqcPGSZOw3ZD4Fo0/pNygrTku8/KRTXEDSOnpWHr5sxOqDv3dZS5OfLCaD4L59wbebr +m5ZTPb33nfL+8JswAnpFBIA6OdKz4437rdIMrT+HbYSam1u3P+q6dIyN9gE13HzkxB6LF22JWLC9 +L9onHIH4BNH2dVeXpNyMylII23fpEdC9i6u1Hh0d7vOufs7uoFUY/tNXVzQAmshZv1KwF9Hpir2H +mfXx5FfGv8nq7X1XYdiqwKWxs/w26rDWWvUMv1xYF9ssux0zY9AOW+EaOm0VT/SH/4Q7Nz8s7EkU +PP5h4GYBZ62Zz4UjWa8ukiXlcX+e7+UYymGuFrTbM+WPvLrFxpriFR4rMXzt2NOahgdhdL/37KWQ +uTr74Zxuv/LYGxz6hZ/P0yKHZE3M1vMBTj9xGat0zbYN/DYlVapN9mUP9s0KdBJxGSxdYwefkWuu +l/3Xg8A1t46cLPYe2t/otbdSdnQEizVyX+LBbwIdhRyWjonb1BOFDfv3G/Qd4is+c/h69VtMnH5l +/579V9JR0ASB+OT1W56b/lht5d3NzdpYoC8QmVlbGKCdjd4ORhG1N/f1NbXjYwAY387U19fc17su +fk41FPj4mvu059De3v3R3P7lZiRNz4ypyomM/npdrhIAgMi/lrDrYrFE16BLd3MbTHx739Xhsx6W +vrdmEZW7p5xYfaG0rEZdHBf/1ezkghcaTKRtOtr76/jrGXKciVdm5ez65sCQ0CKtRsYJ2dF5ZzfH +SOXymowrUcET4p40cd6IJiX0cO+Z8defksZOAoPqkosbTweOTcpp6pQSdcKa0V8d0wwOPXH10tHf +5gawn+dKm7KFUlJW+iZlVQqtjKh6dmlVsK+dkMNg6tn2nHXg4QtVk2edWjzU3YTH5Bh3nPTbj0Fc +/pgTEgCA6tPj9DkD99T1LMjinf3Yggnnak/3UD6P2hkyoou1HpPG0rftNmlLXNVLB+AUbA1km0w7 +GbPnmz7OhjyeWc/lN2vP/CTKY3d9O8TLUo/F5Jl1Gv9ncoPuqpKuRpTZ+/mI3lar1HFrpmwlg7de +S0yM2DrBgU403AvT7+rnXHk9LO6NzWeJ8mvrp0yasv5aOYHeaATi09ZvTXlxGUXAq0m5fvHMqTMX +rt1NL1GgeS/vgDEgdMLtW58v8MYB8I7fjbl1e/LNs76dqAAAvP69I25Pvv5TO9236zfGHzHg9rXx +Yass6UDmx+TnEgCACXr4n01fUJg17Wb4hITbvbrQybKwR1Hy95XvnLS91+QkhTf8r9kS8fS1nqSs +oZGufvzTuhwxsPpsnF5cEXJ/q70hprgTGnWhUpvAg1rj2jOhYnH2cTcrCkhuJR/PbKyOkOKMdRvy +JHTjpbfnZCZNz3o0/HMTKL54Z2dy45JBipMSHtN7zVo2vp9/j36jZqzc+/v4prbHlhz/wkz4Jqaj +D2jRC1Lc+9+AUYfYM08+LKsqTNg/gXo9LKs2bkI8O/hFz0mXTEIuZpXmR8yQhq65rGrv7cEBAHVa +THyNvbdX3SE/yqSYJNLV24MBAKT44q9/PHaatS+mQCJ5Fj5H78K86b+nNQRB5IkxyWp26sHtZQN+ +v/Ws5PGp0WRmPgFE/skpXXv8kOr2w8WMksJ7K2yufztl08Paq8iy1ORcmoOz7VvXOWvKrKYd/m1y +T9d2jh2HzJs/2OSFsSiWzg6souTk50ilEYhPEO3Gv1VyuVpdnp5l4erdg09WZCXE375H7+tnw0ZB +9BbuTjl3NtHBMLYVn4tBlVQhIQBwzMTbNPNY7KKNZc/FKqVSnKsBUibNLyfB9H3sr04vTlcDbuQw +43M+gw5fzbBbfu1+Ve1HD59Fl5K4XrtZU4QsDBwmdh6yLGtHSe6tVGJY1yYDD7Te071cORQY3HG4 +dcrPj0tT0zXg8M4Kpk7OjhKTQJddWXIsBgMA9TM5gLosMUVJejDf/WCYrpOzmWLn2tm/kuP7+Ho5 +GnOa3p2DHbDiwtVZb4gULnBu+hA9dfKpk5mmQ3eNchVSAax9Jm70qetIVJ7/ccF50XcxG4Nd6ACi +scH+356K6tjRAgcgS+Jjs3meHe1r86Z5HBtfaRHY0QgHAIw/dMPhoXWps9z6+dl8v1tSXd+PUGfE +xFdShYOWbZ7vwgAA6DR9WScgCw9+M+0gdca10yu6cQFAOG5yv0XDomOrSGc9DDSFeYWkvqPw7dPQ +aB0HBZm+o4NDEYoE5L385wRYvPIN3GxmhGImeh8RiDag30CSpIZq5uZuJaAA6Lp3KMy98+y53MaW +hSzYws47k4oBAAXDa49QAgBl0YY+fy26rXhFfiga5fsu9yKqldUkUEQ8IwoAAN2YJ8ChVr8JcY2Y +ANyAK6odHaFwjYUYFMnLxVpEW3CmyJAKAICzjQQYZGmkEk0jFYwQ11QQQNZUxoS94t3LpEoSGtFv +oHVZdnIXufS3jV/umy/BDNzHrNu37csOjdZEir61m7vJG8+A0XlN13+KuYeHwS9/jA7IHRrYxbNz +4KBAJz4OAFB5ef/p8k7Lx7WvG0mSS6vVTE9vVxoAKBLvJYPbCI/aGZ5kVULsI4bHovZUAADZo5Mb +Vv52LCLpSbFEqSFJwFgDZ9S7zmRFfGwWJ2j3tA6MV0ImR7dfkAdsnu/LbQh2qNUYTsFr7aRSqYBK +fcez4AbCd55Vh1FpNFApVSiYhkB8ig6fdipPp+MYh8up+zaFzWGCQo5C6P8GqpikrXcUBEVv3N7p +RbIfNeVDB756+BSGYzgGQBBq7aKgOJfOwYCQKCQEAAApUTQclIzzWXwciDJpce2IqKa6sJQEnKmv +hwHUnjZO1g6fKhRvbD1DKIpL1QAAhKy4jASMwuVRGskhrsvUxYFi7n1d+T+SbPhZGvHGdP03RIfr +8sXPZ+JyysseR/wcIDnyzbx9eY0/+ofEzzHj0QcfPrgQOs6Vcn/PvAEeXUJu1QAAqO7fi6+x8ula +fxy8MuleIuHk7ckDAE1GbILEupOXsE5ek+7Eazp09mQDEM/2ju0x5bLBtL33cqtUBKGKWejAaNfJ +s348RZUUkwQdA7u/urJQkRSTpJRemmKCY3UwB+6pNGlnx64LSejpYFXvPO8aw99pUEJSWYXp6umi +bSAQiDar3xRdPR1MVi2rayA0NTIFMJgMFD3/FyClCikJGMN40HCRIQuTJ+SnvjrdCOOz9DAglWWp +6VoJONXR0IkKRM7jC6lqIBW3zjwtrb+O6mzpK8SIiszNu0vlpCZzf8yZIhLXN/d3wQGj83gYkER+ +joQAZWJMyeuTnkhl+I6kdAVZfCXx5BMSqAIXR0ojOaS6WnTRAU1B+pZD5bXTulSlRX+vu3u5TFvL +UHjWPaYvGGWnyc8tbvzJ2QErLlx9k4tr+/O1qcO4rn33EV99/9PR8J/74zlpWdUkAJCSSgmwuXVD +SGTl1f2nn+t7dbSlAEBN+v0saOfcrtYjlt46cbFI5OVljoMm49Dmy5xJv4QGdzLXoWOkOHzHkcc8 +r051cXbQPI6Nq7DsWC/8DWg0pGhqmIJ8GXVmaJfaiDnFzN6OKcnObvY0fFKSnV1Gs21n+cYQhDpu +69RJXy45mYNGxhGIVot28XOMZ24tSEtJThF42elBReaDPMLQ3YiJzNdMVzpv7dCrFypJUlxeSYIm +J2VK9xwuhluOG7hv2jvjvzQPq266SafFWetmR4u95Bd+SXimAXipwcWNLfza4TfuF63rvfmyA4fO +sFp2sVfguwsHt3D6olfk7ctF6/vvvOOsSbwnoWJQJ8Ycm/nfW/49L/vy7K3CpVRFpVIFDN/vugXp +AIBOZ29dyq3yqOUHA85TMqJlr4sFTqUkhrvqh+M1KgUJXH/XEfZYYznUd1w4z/Tyj/nHJ20OW8oX +ktXPniuUNOut47s0akTi2Y7xk++0G92/k70Iz73y81+ZosHd2zVejylGrr2M3qfEiCfbJoU8D1ow +obeLseZpWOift/mDt/QzwACA6ujmTDl85uDtr35wl8fsnjtrfwEt0Lt2KxSSJEGdGXuvaHgXZfz+ +JXP2P6MHdHalAairJdVEVVbK4yovM8n9C78tWngwh+Lb2aM+WC5JiH3E9Fzi/NrjMLoG9VIv2bTp +uu0UXwumJDsu7Nje26LvN31pV1sPmJ18PPEVcckKMG7WS6lKjksGt/neb57wpcmJPLD3pI3ZzOWf +WSLnHIH4lP1vwLi2nX0d2cWJEZcuRSSWsJ18O9lwkPvdXHenJvNeblRUbvSDahUJpKwqOTo3Kio3 +PkfZiOOEiVy2HO0+zJWecSAiJDRbf5p3z9f2zaEazd/VZ4wXj1FZHhedG3WntFTThDs5eefw7/vo +c6rKUstFi0PdLV70BnCnb0aHbfbqYcfQyAiereXk38adWWBIBwDAu4QEhfTS5dRUZkpNF82zen0B +IcYeETpomjuLymDY9Oq6/6+OtnjjOaR6LRkb8ad3kCsXSsS5Eqpxe6ux33p202uiKuo6dzTLO71u +1qi+gZ99d4ocuvVMaCD3n3o9LIZO7Vm4fZKPhZ6B0+B12T3/jPhrjDEGAIBbT9n063BiT5CFsN2A +n5+7+VrS7Tp51ca9uX1nL+he/ddAK1P34L+UHt4Cel1gnerx9brZHVIXugv07QJDIi3GDLNn2HTy +EtRHz1NiEtQu3h6vd+Zwk3E7T83TP/OVtwmXa+Qxen00Z/i8MXaUF58HDekkvR4W17w5EaqksGvl +boMHvKnQROZR22IAACAASURBVH5OvgY39vG1Rxs0IhCtFnT+WBOg88cQWvTMCrf3s1licjz3rwEf +JypFFu0b6rzM4u+Hv/fQOgPK6O86BKV+l3ppqvnrAi4+9Jn5lwU/JEaFOKKzNxGIT9z/RiAQ70aR +FJNEunl7fLQdhTHRyAUTaMe3ndV6DJwUX9p2WB28INj8zTZAEX8rljc8ZIoDEm8EohWDwmMIxIei +yYqNr7Ls29HwIw4psXwX7li++3mBAgy08sBVBaoOi3d80ettQw+MgK25BahYEYhWDoqfNwGKnyMQ +CASiFYLi5wgEAoFAIP1GIBAIBAKB9Ps/BVmVv2dl5LJVqUk1H+f+FXsHMTGc2eP3um07iLwtASwc +Y/bfpcV5pUTh9a2rtkUWvbrjhypytgWr2y9PWsk+IKobczpND1OiuoZAID550Py11qTflfl7V92I +xOytvnZx/1hby+NcZtr5y4Uzp5ngZNGlc6kMHlW7k86IwutbVp8dMXhKD1EL9Qo1GSG//PqnmADA +MJyqwxW62fsu6hvgw8GAyFu3ZfXaV87NwnguX6WP8Xr7UnDN04v70xzHBJnX/a14dvVwstW4QWh9 +MwKBaNv6rXx680zMq4cMUs27DvGxQK1fm4PetZ/vw3NXSqdOEpaGnUvt0s8n4vTHyQkhzk6UEBjN +7c/vZwzHnv91/JeQ+BOTMOPEYe3ZuNnCWVsXap788FvopnLO+PHrfm98CzYCx3J2jOxxOHiIRlkW +s3XS//aWBCzbpEEdWAQC8cminadEM/Xq3beBAHdjGt3IVISavnegygtptwKjhI7fcn9Bv82GnFUs +/d/GHpSSAEDWxGw9H+D0E5exStds28BvU1KlAADq+Ij2tOUUi0uRSgBF5iSD5Ri2nOZ8LU4NoCle +4bESw9eOPa0BgIq9h5nYckb3e8+IRu9FVm/vuwrDVgUujZ3lt1GHtdaqZ/jlQm0WB+v0GtQ56VxY +OVFx9Wx8x8EBDVuEVyft+XaEr6OpHpvJM3LuPXNXUhUJAECW7xnAxDCax8r78uRlbjQMwzCq9be3 +X2yQTtak7//az1qXxTXtMvVgppbha9nznDQCqIbWbgyMyjTqZSWkAFleWtSwxJmQPksUExjF3Mu4 +qYXKNMv+/zsVdXjIowOnUs/uS+y9//b5VYNttFiuLXuwb1agk4jLYOkaO/iMXHP91QXWsvQr+/fs +v5IuQ7UegUC0Sv3G6Bx+A6zq0jKKiZUpA1mvUUj5yZAzm2IJK0+Tdmx5XqmaBE1K6OHeM+OvPyWN +nQQG1SUXN54OHJuUQwDG1fXwMfftpKeLA+As+87mvr7mPp58Lvbe96pFc/uXm5E0PTOmKicy+ut1 +uVpIJ8YPHOQZc+5abvjZu+6DeuvXZ4GUpCfmmQ5e8Ov+sxdPbPrS6Obc/tNOlJAAGH/kX4+ePs26 +MNuB4TT3UtbTp0+fPr79Q6eG46g1GVsXHeJO3HhwV4h7/l8z5x8u0qYfoXmY+0xGYvomltY4AGie +lZVpAGPp6hvU50jx/Ol9Aij6lu5N7+VLiFMOLp0R+ti8g1kH64Lfvl68J6G86TF5dcKa0V8d0wwO +PXH10tHf5gawn+dKX847UX5t/ZRJU9ZfK0fnfCAQiH+ZZvvQZPWzJ4U0cz8j5H03ZSkCc/W/dam7 +ty6Aujr7OR3EGes25EnoxktvT1zRkU4UP/zC48Shi3d2Jruu9PA6cMOLyI0JsLsUiZktvhg8Ub9B +x97nXhgo68R4xIDbex2kW/bZzsrOj8nPJSxsm+qz4YI+AzssPfQ/RZzzwJ8M8Wv1um405rfjY+q/ +1KsbLcFs0qnbNSOHsXGOoSUH1GI+DaPzTSytrF6rG4TC49t96yeKMBjkVHil/Zob8aoJQfSmHqkq +Kb9cg1FdzMzpAKB6eilLQmDsHo529TMDiMy8ZxIS4xpbOzTZDZVH/fK/CNsVF1fVrPA7PODsWsGB +hcs3mB1aF8hpNA/ipITH9F7Ll43vxwKAHv1GoWqNQCA+Vf0mq7KflLEt3QVoZ8Um/Vhqz+mdO+nW +mpljZQ6qG9lRYhLositLjsVgAKB+JgdQlyWmKEkPJtai9wKyVr9x584mOhjGtuJzMaiSKiSEFjEX +XNRvoP2cby53+nWjCZ744v+y9GOrlv56Iiq9QCxXkxq1Eg8okZDAbirr1HZdvGuP6MBNLc0o1eXl +coCm9Fv9LK5QA5ixpwlbLS8Ku3Z8n5jUtxm4uH19TIKsTsov0QClvbl506Egpt+KU34AoLoBAIDr +eU7584wWZtV1cjZT7Fw7+1dyfB9fL0djzmvVHjebGaGYieo6AoFo/fpNlD7JlujaWPHRurOmG3+a +QEB7WdoIcU0FAWRNZUxY5ctflEmVJHygfr9+rwYYTCoGABQMxwBILTfHxs0GTZkc5tBlkAUO9fpN +Vpyf3WfcRbtv1x/43dOES1VH/6/XzFK1mgRoKusYk1X/eBiGY0AQWkSui58mK0ggCkK3zNpIYxsZ +mA8PnPGtj9uLQ7c0ufHP1SQu8DDV1b42UttPXj9N+9gRrcuyk7vIpb9t/HLffAlm4D5m3b5tX3Zg +ocqNQCA+Nf1WPX/yTC5ob8lFR4dqI6rYq7qC6zJ1cZCZeIc/7t+D1pyEAABIggQAUCjU2tzrA8Et +gzefDQYAUNT/Sxl1/FTx/9k777Coji4On7nbO733XgQEAUGwYUejJvYWYzexxG7U5FMTE1uMUaMY +jV1jFzU27IKgIlLEKIr03heWXbbe+/2BBZCqYjCZ98mTB3f3zp05d+785pxp/isiVn9efdxkRZy6 +imo121EluRlpFGLZjkqY0NW4vuqmKc2Il1GIYd7BsAWxIKTnEaTXEtPz3cZtODNug0aSFrFvyZT5 +s+d16nNpmhnuvmIwmH+cFjVE8uzUHI2RtTkXy/db9ZXcLfyEoMlN2vZnafUGLarigpNr7l4qeSkW +LDoLAZCywuIayoiYAgECiszJkJCgjIsuUv0juSflciUSab/0dSURV+7U1m/EZDFBXiVvacKyJxf2 +/LHnwpNaU7jVidlZKgqZm1rqN1DZKvPSn1XPTmd8gNLTBNbdpi8cbqfJySqsGTxQx4RMnTBp2akM +PH8Ng8G0Xf2mKjNSC2imViZ44vlb+uM6Tt/MM+WTFccnbDU232JvtoZvuH3oimfpL31cpG3gZo5A +lbOi23b/wN1dxz5I0gAQwo6+IhpoIlce6tFz9+Q/ZdQ/kntWxx4BzIidm8Lz5KqyxP2zl56R0GtJ +K83c1ZmXGrp1f8TDJ0lPUwubuYccWXr95+lTpv98veYUbrIoNkdGIpa7mXEDESLNo6xMBYX0TSzM +W88ZJjN3ju058fudxy/eDA87sHzJnmTDzl1rLTTXZNw8uG//mbgSrN8YDKbN6jclTksrZZtbGzGw +1d7aA++wbMz1332D3flQJM6S0I1drcbM9QrUfvk9w2xBSNdPvYTM0qJ7UVlRseJKCgAIv0XBi4JE +vKry5ErTJfOsmP9MTTGfuPPAFPbBQdYiHdcxJ0yXrx+hW9s1FvRfvnmSYcT8Xl6uLq49Vj94+zgB +Jc94UEwCYdLB+I3CqhK/+nG6aNlXwXdKNUDl3tuov+xLr0tp6lbpcYlcvM2yT6+ZObxPz88WhFKD +Q86s71lzgzcyJyNHQxh3CsD7uGEwmA/uE+LzQxsHnx+KaRjxn5+ZT8r9Li5ykRNekIHBYD6wR4hN +gMG8JYoHEfcFQzZNdsTijcFgsH5jMB8NrB4hWbnYDBgM5h8BL4TBYDAYDAbr978OPPiNwWAwGKzf +GAwGg8FgsH63LlTZvk94LIGhU9CMw8kqbA8MBoPBYP3+GECiIX88Sri6zi9755y1V+XYIBgMBoNp +KzR7/rmyJDk+/llOmUxNsEWG1m6ersb//m1UCb6htZOh6bgeS48+Ti4g+1ni7g4Gg8FgPib/W5Ub +dzu+iOfStd+A/kGeBrKnUdHPpVQbLE/15i0JCQnv0w3ncDmgVKooXF0wGAwG81HpNyUtFSt5ZvaW +OjwOV8vU3lKbLBdL2pyevdp57X1LOD6vBYPBYDAfo34jvp4up6ogp0RBAqUqz86rYBuZ6LStYHKd +bVPfo4QjDpcDVVIZri0YDAaDaSs0e/9zTUVaTGRsRiWJKGAbt+/cyV6rDW0a2dCe5wkJCe9hL/SK +0LG2Y55OuXzx+0A9vGEdBoPBYD4a/xs0Zcmxj8p02nft1ad3dx9T+aPbMVlV/5nxYOHA1b8NLdvY +xZCr9cnuAjwMjsFgMJh/nOa5k6rcJ49LdDoMtDVkAIDQw604O+JZpquZI79NjQzXCZi/t1PI5JEb +lh5TD/g1bFlfZxs9PBiOwWAwmI9Ev9VKpQYYr4QLIQBQqzVtrTDv8djQWsGH5Js3c61HH/2qZ3sc +PcdgMBhMm6B58XO2vqE2lfc4Pq1YIq0sy058lKXgGxsJ/iOeKFlZUQla2iLseGMwGAzm4/K/kdCx +U4Am/tGj8EtVGoItNLDx83XV/c9sZkJR8CLogMFgMBjMR6TfAATXuF0n43ZtuCTvd8+WWigVCqDT +6VjAMRgMBvOx6Xcbx8rK6tXfDa0le0s05fE3oovYdhZ6ePNUDAaDwbQVsCY1RtnBT4VsnY7rcgIW +zu7Nx/bAYDAYTFuh2fu3fDy8R/+brMhJKaJ0TU102Lijg8FgMJg2BF4Q1RiE0NReiM2AwWAwmLan +UNgEbQrlpbP6tJUMl2sxapz5/6INMRgMBuv3P4QqY7bl94j+69fhZJ1vZEePcdBKhFYitJIQnAxV +/JPZpCpy9v5wc8WqxPiqVr+qraGOvurIWEkz+uuysjVvIz0yhMMdcbLFj5kq+2uCpeOc8BoH5lCl +90Km9XQ25LO5OmYunYfN25dQ41sy/0bIqu03C8gPlcOGOk5hUwxoCCHEaL/yYY2+k+bp2o5MhBAi +ROPOKtpklVDcXexqNvpE0Vtsjqx6fmRmD2cjIYvb+/d8vLky5t+s38svrY1Mi/5v2pqmp+cfYB7g +KeI1vBKNMDDqN9BxYA997VZerUaV5+xbdWtlS/W70as+WOabqNNtIxtAiMxdXMyFLc2E5sn2H0It +ps8K5L7Wvy1D+s69RBuwfNeRA5uWjHQpPXfyXgVVU7+3/bj9Vsv1+y1z2BiMzj/dT31+4WvnGiNz +NNsvTyenJWzowWyz7ybLd8ZMp4urtiaoWnql/Nqar3ekeq0Ki//7wGh9vMYU8yFp7vg3Jcv7O/Zh +akGFAlhCQ2t3r3bG3Lepq2w661ZK5LPC51/4jkL/sS1RWD2CrvcAdcJNL+9bjxp6Hl6++0N9P9bK +1DYy31ZsyOn364N+Lb6qKjxkx1P/b0favOpaq2P3hkSJJl8MXR/EBQAYMm7GN1VVNPRP5bBREEfX +3MrSsHbm6EJjSyFHj9uG33fCfNgX3ZYu2XZ94Y4+vBZcRxY8Sy4Xdh/zub8zEzCYtuh/U5Lku1HP +FEYdegQH9+poBelRUU8r3iFUlCcpWHd9i1TZto/UfhkJn7L1/gSfXwTctfa9rvyVRQEAaAq/9/wB +EavHnNYAQNm+w2y0ktX1XmYND0id/vjrwI0C7jrHvlfPZTdtrOpEqqPrb47davIzfpm419HwJw5/ +nbX34Tn7C6RNpqgsC116pIP5GjbzRy2jzT7BFw49owBA/eC6K2MlzeLiTSWAInmCbq07ltyO/vKT +nbb6PzEZqwSGv3UZfye8qOmr3m/m5VfPm9FW0m0vR1Z7Q+rcpS4/INrPE86rAAAoeczv54Kc1vPY +P+o57J38W3YJ1bQNydyU7wZs1eOtNut0/sjzZm3dr45e7MjtNHpiB32+UcCSwwdm+xjwdD2mh+aR +AADS+L1zhwY4mWpz2QIjl14zdsW/eiM0z3/2ZyKEECLqRKdVN2dZcDp9d2jDGG8zAYdv6jf1UHLt +GH5VxJFThb6D+xm91jpNQW4+6JkYs17/isnh0ACAKt3bn40Qw/OHR/KEFR4MhBCiW8+9/cqJlB0d +yuEM2x93aHZPJ30eR2jiMfVEPvXWOaSKbv70mZshj6vj0HfZnz/15ehOON9K8fBGzNtIuRrNoezv +/TN7OhvyWRyRsWOnYT/dKKn5ViLdPoMCxGcO35C2KJ+USqkENoeDpQTTZvVbUZhXSpg6tTPV4vGE +hg7tHbTEaell7zTWo6E0m8N3PMx9/F6KkV4DAEiowbsmTVYeWng9gqljLVCmXI0aMyEmrTlhSlJ2 +dN7ZrdGVcnnVs7DI0eNjUpu6im6g1ynAvJMrj/GGl0JVpC/qeXDBnozkYpLFInNjn4XsSi9pIkHq +0c8nRq15+lAuDOhj7WWO0m48Cc8gAQDxRZ6dzAN8tEUEAMGx72geEGDeyUuLjwCAzLkWu+tCoUSk +69fV3AaJb++/MmTm42Kq8avec+bZfnZB2kiTlRGRQgEAmZUZkUIigWW/QAYA+WTz0V5fPbjxTE6w +ifLnGbtmHxy0vkDZuA3J8t2TT/x4vrikSl0Y82DKrITcZsaa1UkFFt/umOf0aP0X6xSz927oU7F/ +49FMEoCSJMVlmw5cuPHA2QsnNk8yCp/Tb9rL4VOa1dTQ5LS0x5v71ueSqRNCtqQO2huT+ujYSNWh +GfMP1zyRVhV/5XqJfedONR1YuoOrE3q4a/m2WxnS2tlGWsP2PE1Le35+liPLec7F52lpaWkpt7/z +YdS6X8xPk0Oo0SHX4uKuh4x3ZJLUW+aQzNw9YciKGMsZu0IPr/SLW7kuUtVq7VJj5m24XI3lUB37 +04gpxzQD15+4cvHopjk9uHlZlbXSQzr+nV3Kb1yOaXmpEAIcOMf8E7HGZr1MJEkCIoiXdZRGo1FS +cbkKdN4pZEQB9dfflzLLsge49n73ktS75vs96DdF6o34NHq3Ay8xPNDnRkx4wrHn3ottm7xKrXHv +FfuXr+6lvwJHJKRHJBxP9l7s2NhLLujX63o/UF46a9o/rvaSfCpj362Qx2pkYLfh0tDZnixVccFf +V+RNBCMpeUxUgQIYg3+deGoMGwFUZeQ8ZRAAQHPscPBWBzIruofdxZvIbOmF0V/ovG6J9Lp1OTva +rrc9kwDQPI/q7Hrl7uWnkXLXQY1d9b4zz7Ps24Vx8HRheKRssROvPCojXgWcnnbdhADSlJ/XZIiB +0/vXCadn6WTuONrlq+Q76yPPT/vsU1GD2SAznuy7JqdogiG7Jh4apgwZtGf+1eY9fYbXsGmDB8lS +Xddn+Y8fGewlDFgyIzlVDVZMo5Gbjo98+bOgQEas2YTQ21XDPuUCAF1oZCkEqX79xeT0/WbN8HYC +gH4LpnTa9u2tB6rxwS9eJKokMSGL4ehiS6vxe5r99I0rrw7539fdTyzUtfcJGjh25tyJnU0YAEDw +DCx5oBZrMRBTy8TSyqqe91lTYjUtfNNEcwIAHJy8X0a0W5xDTdKBkCvEkEMHvhuqjaC3pzLWfmJk +a7VLqDHzNlQuzeOGc0iJ42NTmEErV3zelwMA3foOf+OeNEsXR05BQkIe2dWi2fOCKJm0CpgsFpYS +TFv1vxFHT5+vyktJK1dRoJHlJaWWAKVUKN59siVCKCH30c2UyLZrIcTq9qmNDgKWi30fewLUxYlP +mhF9RYxe0zu482imA72HWCNQFycmvfVxq6q7t3LkFGE3vtsMTxYBwNIzHDrKsolzyBHTyppPo1R/ +zdo9aEbEH+fyygxN25s06SUgE19TTtT9JTPOfj7m5JglT7I0QMkqc0qpD5t5dvd+5mzQRN/KloE6 ++la2DGg+fW30EKgfZ0YVU4S2w8zJ+hxEc/yi4yADRJZlRSSSjXrRhUlqIAwdvxylxeIaTPnSrrlz +tpBAyEeIJ+DTBCIBAQSPz5FJpBQAgCzp2NKh/g7G2nwOh6074mi5vKRI0gw70WzdnLkvPD59XUJa +WiqvMdKQnU/pGOozamdC6Lc47GnSjQPrZve3kdza8mV376G7U5pbnxjenwSbtmieav05lMbHPEFe +QZ21UHVHL6CLa2vuHtGked8sV2M5RCJnFzPFpdWzNp4I/ztPWq/xaPqGelR+Tl7z5wGqS+4eOfeU +4+FljzfSwLTZ+DnSdvL10K1ICAs9cTw07G+NqYUAwfsIGZEU5Wbi0s02oA1biCkSEtVCriUAoDSV +kma0nATb0IAOAEBwjfRQc6+qv4evKCsjKUCmlgJaSxrhLt8OXNJLxBQX/bXt+pRPdtg4HP7tYVML +opUF63qHBH1xdd22uAN/Pjp6IjtbAwAa5Vuvs3rLzINhT7sODEocmZFQVRR+W0bSDfv2EhIApLhK +TAKhyzes9lhpfGN9BKS8VNyYcpJSpZQCmqHAiAYAwDQWNHsze4Igqv9XHX4iCILUaACosnOzeo/d +U9rl24NX7sbGxd/fPkQXqdXqZug3YjBehfcRQkCSNfRCpVIBnV6PGCC+ddcxC9btvRifcn99t6oL +P26928w4L6Gr38KjAuvNIVVZLtEgoehlzwcJtYSttnqlOeZ9o1yN55Dht+LUrkmm8b9O6ulmqmPk +NX7Xo7prKBCdwQCVUtW8zqr40FBtnkGXDUWDNm8YgSeeY9qufgPQdRwCggd/+kn/AQMH9Wov0lQh +Dof1rnWWgv4uvQa69n1fhUmozftJlJTn5qkAAMjKnAIKEI3Hp8GLzgtFUgAACsUbukgqCovVAACk +rLCEAkTjv9QvRCACAZCkupndfMTS1iYQULlZkhYtECIMbX64/HVB2pTzu7t/3oGjynq2bGVS45MW +VNHxIXcUJE177L7pBbL/aUoHD2C/a/TiLTNvYdvHldBkZd68lR6RQtLtbXvbIQAgtDhaBJAllYXV +6qWR5hdTQLB1Gl0rRvCZPASkRFGdCUqikLxj7EgZeTy00H/JntWf9/Bu5+zkZMlRV72Htb9IpC1E +FRWN5o7XbuxwH1puanpzF/4h4n3oLOKLBDSqovzlNDJKUl7Raqudm2XeuuVqIoeI7zZuw5mYjNKS +lOsbekiOzJ63P7t2nSQl5RVIpC1qnrmEA7fcuxf260AIXba2hZPeMJgPq9/VP2ZwuBwmocjNzNdo +6+u9U8gIAZrdZaqnqdt7LIxHbd6TK6C8uj0mXqrJOhVzKpMCuq6bMw0QUyBAQJE5GRISlHHRRao3 +r9oZn6SgCsPiTqVSQNdzc3qp31ocbQSUsiQxqZmKxujYxYSFyOS9t0ISFCSARlxweF96cRONJ5V+ ++3l8MSWwNAme0GXHahdDAqryKl5NuUUsOgsBkLLCGglRlYpKChDL+JMhhgYcJI/NSVTVkeN6rmqF +zAPQdPv01qarC86ue/JAhcx62bWjAwDQXSwD9BFZlrx1d7Gc0iQfiD5TQBE65l3cGqvJdCcDZzqQ +GSnnE9VAKSLOpBWT71YrSLlcWaOpl0RcufM+9JtmZm/HlqSn15oZTZVnZYpr5FeR8iyDFOrrvepa +ISaLCfIqees2FTwPbycq7mZkOQUAQJXcuf241eavvZ15m5dDmsC62/SFw+00OVmFtWoBJUlPL2HY +Olg2L1JECIwd2vf8atEom8JbN57grf4w/wDN1WBV4fNkKVdfyFSXZz1+mMOwCrTivb37rc/Xndxx +3Mex/hsx6I9uemtfR2pSTQG/s8cwewSEsKOviBZRGrnyUI9ztGdRsrqNC0GnxV1117lKVKkUFPC7 +uA+1f1FYwtiiswNx61HBml5bLznymCyrFReCetKyVw++cr6cosSl5RRoMh5O7prBR4Tl2AH7p+tZ +fd5lSsifvyUlf+318//0mOoymdK/b/I4q0ZHMMin+0L7H0L2bgZ2RijrXkY+iSw6mJi9lDmkbeBm +jsKe56zotj3UhsW08vh9XwdHT6tAUfxp8fM1s6LEHeTnf4nN1ADUaM7qvcqJfO+ZBwDCo6+tyc/R +925kAcHv2dfkxQwvns38xZYn56VfmhWi/y1dUa5UAStgQWCwEEDVcDamOo8Lunn7UsHafn/ccdHE +3ZPQEbyT+LA69ghgLt65KbznYn928uF5S89IXp0PT0kLM4tkFFQVySiKXpiRns4ExDOw0G/G+me2 +Tycv4vuYBAUYv5JnTdrOQX3P2owZ27+jrbY6+/a+n39Lt5mxI/DV5FGauaszLzV06/7+bH99FkvH +wsag8fVMb5VDmvPY6T02zJw/wYOY44fublwbQbXa+9uYed8uh2Tmzs8n3nEY0c/H3pDICtuwJ9lw +YFeHWs2fKiEmATzm+7booEGkpaMFlRUSvPEapg373wjkhUn3w6/fuPN3Edu2U1cv47ebei5XK/yt +fKf4ff5+xdvKyurNgHlCQsJ78MIJ7siNA6d34DFZbLtenQ7t87YlAIDwWxS8KEjEqypPrjRdMs+q +rjUQd+j6T6a159BZLJsg/wN7qq+q7jIZzd/Ve2QHAau8NCYqK/JOcbEGgKpKvpcVGZkV9bdURQEl +q0iIyoqMzHqQoaQAkJbNL1dHrx5nYauDpGUqnp3152MsmhrTJOz6eg7z5ysycq9eSH9OaXebEnxi +ldXrcDjDbEFI10+9hMzSontRWVGx4koKkKHbtqNdP3VnPjt4fdH6dJ1pvt3rTKyt76pWyDwAANPX +rocuAgAksuoX8KqlJZxnj7i8tUM3O5ZGRgpsLSduGntmoQETGs0GIZr4x5DFvXV4FSWJpYZL17e3 +oL1jrTCfuPPAFPbBQdYiHdcxJ0yXrx+h+7JCl5+c7GRtbW3tMvuSQn7uK0dra2trpxkXmjWHgDAJ +HuRTeeNyTI1f06w/nT/ZXXzlt28mjRwxZeVpif+S4xdXd62xy4ig//LNkwwj5vfycnVx7bH6QVNd +k7fLIWE5ac+Jbz2S14/uO3jhjXbfzO3IZLKYraLhjZn37XKIRC7eZtmn18wc3qfnZwtCqcEhZ9b3 +rKXUqvjL10o9Bva3bOFkAQRAUYD1G/NPeJf/pvNDa54c+h7EW5Ux227flhzh7OuzN3XBG8VjPghU +wf7BdZRh6QAAIABJREFULissTj7e0o3dlvOpfrDMo/ONiYm357/qmirDppgNzlyVfmmqYT1iK94/ +0HiW6GjhgYGsfyyHjaCMWtAuOHFB4sWp5i1518n0X7s6/eR0JntnH7z/Gqat+t8fBa+88PfjeWMw +/0CP2nDYwvGM49vPlrQ5l06TenL16j3nI+MfxUccXjp3R16X8UOs67QgymszLTl831WJNZZbaJI3 +dBawjSZfULSFHNbfaxJf3H5YPXrhaPMWtoiEvoU5p/z+jftlGlx3MR+af9uyxWoJx+KN+XjhBHyz +c+XuvFwF6LYtDxzRqfxrv2xbl1JQxTJpH7wodOMUq5pyxwj8IerxfDUFiK1nVWOAgmY54WBM/yoK +EE1kyvwnc9ggqlxVu6U7xwXxW3xLXu+vF3UZ8n1nvQ28PiHPz082xCvJMB/ulfw3xc+rqRlFx2Aw +mNaGlJfm5pSAno2ZiIatgflg4GHdJsjLy8NGwGAwjTWjbB0zW3ss3his3xgMBoPBYLB+/6Ooo686 +MlbSjP66/NZbkL48xvTr8Lp7jsiOHuO8PC6TEJwMVWB7/xugyv6aYOk4J7zu6boURSmVSrlcXtUo +crlcqVRSVK3pb8/OwrRgsDMCNhfsusCGW1BzupXi7mJXs9F1zvfCYDBYvzGtBU1Pzz/APMBTxPt3 +z5khU38J4NjUONb6bVFe+9KUhhBCiGb61bWW9ago8fmJ5nTE9F+f3LozjTVPtv8QajF9ViC3jngr +FAqNRlNHmOvJKEVpNBqFQvH6lxo4vRquqeGL5bB7K/RQweL+sCb+9SUs3xkznS6u2pqgwi8VBvPx +UHf+OVWeHvcorai0tFxGmfgNDrR89QNFUVJs3LPcCiWdZ2Dt4e1mwsUTLf9hWD2CrvcAdcJNL+9b +j/7F5ZQ+uPeI4TXbnfGuCTF7hORoQqSnRpuNq/D1aFFy6sch3x9H5qaoML+IBPvWG+isCg/Z8dT/ +25E2tbvWKpWqSeWuo+IqlYrJZFb30kcdgjk2UD33e9QAKHKAHbth0WZ4YQPCfNgX3ZYu2XZ94Y4+ +PPxiYTAfp/9NadTAN7Jzt699QBNVlX7/9t8Vuu2D+vTyNVen3LnztAIH2xpyF3NTvhuwVY+32qzT ++SPPaztrlDzm93NBTut57B/1HPZO/i37xSpfTeH3nj8gYvWY0xoAKNt3mI1Wsrrey6wRMlenP/46 +cKOAu86x79Vz2c2wPlUVHXKuh/PPfNYqkdn2AXMfJlY2Qyvj984dGuBkqs1lC4xces3YFf/PP2jB +sKPlFSdGCN9PaurH92Pl9r4dtFvQ/6SKQ1dtTu+3fK43rbigqDX976qII6cKfQf3M6qTu1qnlAEA +VZ509ciurb+s/emntb8evJueeHLTL/vuFFL1XoLA/KV4AwDSBhcTKCmsGUJHun0GBYjPHK7vIA5Z +UtiBvQfCkmT41cZg2rR+Ezp2Xh7Otuba7JrtByXNTMknzN09LLQFImOX9rbc0tT0Mizg9ap3+e7J +J348X1xSpS6MeTBlVkLu64aXfLL5aK+vHtx4JifYRPnzjF2zDw5aX9CsOC4pOzrv7NboSrm86llY +5OjxMalNnMChebj+cK8ZD26kUcbOerrSogu/nu45Jj6jiasoSVJctunAhRsPnL1wYvMko/A5/aY1 +OS6qlJQUv0lJRXMPiJenXVo3uZebmRaHLbLqMuPgkxcna6nvL3FiNBTupnJDenJNpp2K3ju7t4uB +QGDWfWX4y0NEG0oQAIAqenA/Q+DlXdeFJkvv75o7qIOlNoctMPP5/PeEGkqmjNu86qzBtG9G2Gpz +lIX5Nc8qbTgbDSeozIv8Y9FQP2ttNoOjYxs4YVvMqz6SKv7K9RL7zp3eWEVc1/mmKnOepSktug8d +M3bEgM52QoqkSLL2Np4N+etUCSRkgkt7qBmAQDr+nV3Kb1yOeSOETpZeWzt5wuS110pJ/HZjMG1Z +vxsQD3FpOWjp6VQH0wmRrjZNWlomx+arx1QZT/Zdk1M0wZA9syTi6au9KNmrZk+a8vOaDDFwev86 +vbBs0aMQewOkuLM+8nx5czxAtca9e2zZ0vTjHlY0kEQkHE9uTB0p8bM167IlTONvb3+dHD/9+dMh +o0yg8MKdPxIab4SR0chNxzctnjR8QM+gPsPnb/9+oPxi6O3GT6qUHB9npv8mpiMONueQMlns+uCO +484Ixu+6m1VennZpkVHC7cxqz5DuszpJRcnOjNNhe74R7pbHRSeouYmHdpT03xKRWZQSOoJKziEb +TxAAQBEXnYDad/SstYknmXNqsn+37xI9vrvwrCj/3vc2N+ZO3vz4xUVU3pHvt+X0WTjDkyUUCanC +giKyyWw0kiAlvrDxtxTnmfujcyWSzKtfa5+fN33LE80LaU1MyGI4utg2Kz6PBMa2NpYWVnaWejru +w+YsmNDJoDnvc/gauMKDuV9ArZvQLF0cOQUJCXlYpTGYj4Tm7b+mUig1iMWilT66HJ6p69fDks2E +crmSAg4eA6+DOqkwSQ2EkeOXo7RYTJjypd3Ka48qqr96nBlVTBHaDjMn63MQOH7RcdCK5zuLsiIS +yU/9m2yrGb2md3Dn0WCg9xDrhxtSihOTNODY4ONTJ6RHiilgysKWHYtGAKDOlAOoS+IeKilPdmNP +TZZ0bNW3G09EJuWK5WpKo1YSPYokFDQy24Hb4/vzV2a+0ewTei5aTVYPZezaictTPzke+0t/HQQA +4DTgu/W1S/LkfqzMfphXnbTUz6IflNP1P1mxdb4bCwDAZ/oKn2YkqH4W/aDSqn8H/RrJUfmHZ087 +RP/y2unvA/kAoD92Yt8ln0bdr6BctBFU3fnlpzDDKbeGGSKUryWkivILXx/KVn82qPxDDSeItAav +Ozz4xa05Hn072yzeLZG+GEbJz86ndJz0Ga1WP/NPw8TtMOwgjDCq8w1N31CPupeTR4JFrV4AYTbj +umIGfrMxmI9Uv1+94kwOl8umEwAAWLnr97+lSikFNEOBEQ0AgGks0COg4kUUo0pMAqHLN6weiqTx +jfURFMhLxc1wUwm2oQEdAIDgGukheK6plGgaeXykuKqMBKqqPPpyLe9eVqmkoGH9psrOzeo99oLd +3LUHt3iZ8OnqqOVBM4rVaqqx503TsfZob/JGGRBT0GTtUtzetfuJ/aT9fXQaSp4qjb2fKvDyqX3U +I1BlD+4/5wXvntaO1aIEKXFszHOOl68zvWbI5OiO8/IeW+cH8F8FO9RqRNAIBEBm7l+5s7DXr7O8 +WQCkSEsIZfmFSngxmlx/NhpNEGRPT637YdOx6/GphRKlhqIAcQZ8+dLhVqlUQKe31q7GslgYPhEM +l0LIkDcjb4jOYIBKqcLDYhjMv0q/GSwmjVIoNCKHzr0dADQ5z5XAZDOxhNejs3wmD0GZRCEhAWhA +SRSvjgYmtDhaBBSWVBaqAOgAGml+MQUEW0cbvewPUSQFAKBQqN8QZEVhsRqACaSssIQCROMLXjT5 +iEAEAiBJdQ0XmBCxRQTITHyvpvTr1nxvThl5PLTQf0XE6s+rT1GsiFNXNdmeS46PMxt75o3RFFbf +P7IuTNJvrJJoMmJiCgVevg3HEUAZH51AuQ/2rHNmlSo+Oh68/9e1ziS0JhNUJdyLI90We9Y8H1sR +Hx2vrKyYbEJMrtEpsVtgxwWovLlu7bXyMs0EU9qEF98wAwuKSeATDWejkQTJzH1jus3NG/7bvnsD +PMyETM39Je26XPTxElUngETaQlTROqdJa7JgyhDIHQjhy6C+bb5JSXkFEmmL8JJSDOZjkZvm/UpL +RwTlJaXVqkKVl5RpeDrabGy+ejpETgbOdCAzUs4nqoFSRJxJK34pq3QXywB9RJYlb91dLKc0yQei +zxRQhI55FzcCEFMgQECRORkSEpRx0UV1pxFRyqs745MUVGFY3KlUCuh6bk4v9VuLo42AUpYkJr0W +cLq7hZ8QNLlJ2/4srR69VhUXnFxz91JJ49EDuVxZow2XRFy507R+c3t8f/7Km1xY3a/J+LlGQ4Ja +Lm942bEmJSZWbOXToU43QJNyP6bM0rvDG72DJhIksxMeluq7u5sQtS+iDKdeVlA1USev92Nonv+x +cp902LFi8sWnyhszzaEov5BsPBsNJ/jsz62XeBN+WT/ax1zIRJT46s4jKYIOPi8n09HM7O3YkvT0 +lp49RknqmX9e6wfl8N2ncMUeTm8HE6L+JNLTSxi2DpZvDL2rY0KmTpi07FQGHhnHYNq2fmvkErFY +LJaqKEolFYvFYomCBMSzsDXSZCY+zCqTlOc9TkiV6dhYaWP3uz6DWjiPC2KBqmBtvz96Bv0xfI+E +/spOPJv5iy21QHZpVoi+zjrXqU8LKJb/gsBgIQAh7OgrooEmcuWhHj13T/5TVrchJui0uKvuOqst +BsamaIAf6D7U/kW6hLFFZwcCqQvW9NrqG7A7MOj6VTkgHadv5pnyyYrjE7Yam2+xN1vDN9w+dMWz +9Mb3aGN17BHAjNi5KTxPripL3D976Zka2W8ImpF7UM83CWpv0pTjT7Pr1ce+6vya5WeeiZWqypwH +x75fe7aWBkni7j9le/q41PGnJbH3n7K9fOt+3HSCJElR0qzUvJqT2Vn+wUHqC5s330gVK9Xykue3 +D/80Zcau5xpKfOmnDfespi4YpPvSBkgoElCF+S9XkDWQjYYSBKCkEilZ8fxhSoVCkvPgyOLh0w9l +0GpOpmP7dPIiEmMS3nhMCDXxHN5U7teXkHBwAqx7BiOGQtI5OHECTpyAU+Egrx2ZiEkAjwBffj1R +kpsH9+0/E1eC9RuDadP6TVWm3rkSFnYlIZ8kCxOvhYVduZNSSQHiWPkEuvCL4q5funIvk2bj7+8o +xPJdv0VFE/8Ysri3Dq+iJLHUcOn69havHRrCefaIy1s7dLNjaWSkwNZy4qaxZxYaVG+x4bcoeFGQ +iFdVnlxpumSeVd1jFhF36PpPprXn0FksmyD/A3u8bV89OrrR/F29R3YQsMpLY6KyIu8UF2sAgN5h +2Zjrv/sGu/OhSJwloRu7Wo2Z6xWo3XjmzSfuPDCFfXCQtUjHdcwJ0+XrR+i25nNmeH8XeuhLo2sz +vI20TTyHb3zuM7y3AaqxUZr22NOV4sND+AghVudf018oiOphdKzazbdWFLzxBF+Wz2b0kumO92fZ +sBHB/+zP6qP3CJOxf4TO0zkzxdeEzzfyHLE2ijdk3kg76nHI90ekfRZ85fX6WSCBSAiywoLqAHdD +2WggQRoA3fOrNbPaJX7TXk/HrueimxYjP7Vn2fh00EOvLw0e5FN543JM3UWFBFH7VSVMe3z1zVjv +F28hErgN/XreeH8DVO8lGoiLB40EfpsGw4a9+G/USqgpyKr4y9dKPQb2t3yjR0/mZORoCONOAfZ0 +/HZjMG0JfH5oE+Tl5RkbG+OKgvlAUAX7B7ussDj5eEu3mgNU1funNn8LNoQQi8Vq0mt/iTJqQbvg +xAWJF6ea1xVw8Z+fmU/K/S4ucpETPl4Lg2nL/jcGg/lHe9SGwxaOZxzffrb2GHi1HtNotCYlGSFE +o9FaIt5AiS9uP6wevXC0+ZvtgeJBxH3BkEWTHbF4YzBtDBwSw2DaFpyAb3au3J2XqwBddh1hfrGf ++ftGlatqt3TnuKD6pqWzeoRk5eKHgsG0xd4+jp83Do6fYzAYDKYNguPnGAwGg8Fg/cZgMBgMBoP1 ++6OEKr0XMq2nsyGfzdUxc+k8bN6+hHc+e5HMvxGyavvNArwG9wXSI0M43BEnFe9qQ03i955MhBBC +iPPpn5Vv8bTL/ppg6Tgn/PUjViSNEa6kW4fdVoHqdpg1faVwTFKNfGouT9tAQysRbf34v1T/jPGa +yOGHzMndxa5mo5s84g6DwWD9/gBonm4Z0nfuJdqA5buOHNi0ZKRL6bmT9975EG0y/8a2H7ffwvr9 +quaKzF1czFu0C0G9NqQ5fX0hOS0t6bdg1ts97ifbfwi1mD4rkNvMC9SFEZEyEgDIqqjwAtV//DGy +fGfMdLq4amuCCldpDKaF1J1/TpWnxz1KKyotLZdRJn6DAy3pjX+OeaN5jt0bEiWafDF0fRAXAGDI +uBnfVFXR/iO73VD50ZvczyaB3ZhH4zsbtGahOf1+fdDvfSTEEBlbiqBKn4tA3fKrq8JDdjz1/3ak +TXN7wmRuVkQySTMWGBRKMiIzM0gzu4+sE12VdudWrmGXABvu+0iNMB/2RbelS7ZdX7ijDw83HxjM +O/jflEYNfCM7d3s9olmfY97wxwpy80HPxLiGN8fkcGgAQOXv7i8UDTrwOlaoefSDJ9tyxvXqHcpl +f++f2dPZkM/iiIwdOw376UYJBQBU6d7+bIQYnj88kies8GAghBDdeu7tl/6KJu/62rGdbHS4bIGZ +98h14dWHU6ujFztyO42e2EGfbxSw5PCB2T4GPF2P6aGtfbqzOjE7W0Uha1MLnabPDg2bYsDuPG/j +zO622hyeQbuBy8NyX5/TDbKjQzmcYfvjDs3u6aTP4whNPKaeyKcANM9/9q8OeBN14ueqm7MsOJ2+ +O7RhjLeZgMM39Zt6KFkJzbBhQzSY4GstizhyqtB3cD+jZndVJHcy4lTIsJ/XYHOkfpgRVfZa2e8u +2kJH3+t/fv/IwoPOBj+xOGttxiTmUQAApdEx03tsNeSvYot+8RgQdiBRWV2JqJLMLV8e9rVdz2f+ +wBL87Njl9IZwWes+YzL/zKKhC07VfFSNIo3fO3dogJOpNpctMHLpNWNXfO1gFNLtMyhAfObwDemb +18qSwg7sPRCWJMPtCgbTtH4TOnZeHs625tp1zphs6HPMGxENB1cn9HDX8m23MqS1G1JkOGhcH9r1 +P8/kUy/F7tixJ+ZDxwRyAEAd+9OIKcc0A9efuHLx6KY5Pbh5WZUUACCtYXuepqU9Pz/LkeU85+Lz +tLS0tJTb3/lU7y0uCf+m94CV94y/2Hz87IHFHk9/HDR6e8qL26qTCiy+3THP6dH6L9YpZu/d0Kdi +/8ajmc1q3BVPH5354vdl1itmGK5a1uvE9ZgXp5hoos4v1Vn2peu5ZyoAsvRqn/9N01qx7WgVBZqk +uWuni5bNHPpAQgKZdPMn3WXTRP9bt6W08YEDVdTve6lZF1MLnp0cJd06YlxISq38qWN+mhxCjQ65 +Fhd3PWS8I5OkAGhWU0OT09Ieb+5b31podULIltRBe2NSHx0bqTo0Y/7hAqopGzbRI6kvwVfZj79y +vcS+cyfDWm8Fw3TWnqGHtng40YHu5LHl0NA9s0xf3krzIDy7EmjtA9wDPBlQlXMrWl03AnbqyoTN +uWorY28HRlm2TEGB8mHkwF7nf79RRhrrOeqqHl+4+0XPU/syKADQ5KTt2pX8SMKy97PsZAMZtxMW +Dblwovh1csW7D7HRSsQ+uKOgmTl83xEZSVJctunAhRsPnL1wYvMko/A5/abVHu5GOv6dXcpvXI55 +oztFll5bO3nC5LXXSvGwEQZTj9pgE7xnaPbTN668OuR/X3c/sVDX3ido4NiZcyd2NmEAANINHjuA +O/pwaPbEr8wJUMcdPZ5sO3yvLxMAKHF8bAozaOWKz/tyAKBb3+Gvuk48A0seqMVaDMTUMrG0snr9 +zMjMAyu3pXj9EHd0viMdAILsxHE+m/94MHW1JwAwvIZNGzxIluq6Pst//MhgL2HAkhnJqWqwanwP +EKrq7vVNw25km3qPvzjOpereb/2uHRuL9KI/cxdCWXxOuQYxPMzM6ACyvLTHJNCNrD1YCAinjYu3 +/yKLGr5u/2XSfv38eVNFzenpIWH/ZT9+5qAF0HnRjxP3ddux/+H0le1flVBTYjUtfNNEcwIAHJy8 +X9RZoZGlEKT63HpvwOn7zZrh7QQA/RZM6bTt21sPVOODmY3YsEnqTfCFqUoSE7IYji62tfcmIwR+ +Q1z9qv/WMxowwqhGb6A4IrKSpOn7dBB1KNSjh+ZHhReq+5nUzI4aGS6LGPs/XxYCsjC9kgfyv9ZE +3pHQOnw78eb3JnxSemLc7yP+TN7wR8HYH4wIPatvz7r16a0jIAA0pT933rbwbsrZSPXwQY2WsJEc +NtzVkpVLlRQAKalSU5qqinKxmABADJ6Qx2jkUSOjkZuOj3z5r6BARqzZhNDbVcM+fR19p1m6OHIK +EhLyyK4WOLyHwby1/415Z5DQb3HY06QbB9bN7m8jubXly+7eQ3enVEcbhb3GDta+c/hkOgmgun/s +ZLrLyFHVaoVEzi5mikurZ208Ef53nrR5wUnZ3ZvRaq8hn708WYLuEOivm/kgtpgCAEACIR8hnoBP +E4gEBBA8PkcmkTY1kU6eeX7mzXSZTpdf+vs4cXluTi42iCpMffyQBFBlPSjQAGHUwZSNQPM4K1NK +IR0TS+uXtUiVl/ZQTdG0LNvzmxmmoTt08BC88AnbebkRyXEPJTX9RO9Pgk1bVEdptm7O3Bdunb4u +IS0tlb9jf6yRBDX52fmUjqF+s11XqjArIokktIx9HGk23ib6BJl6OzOrtnPJ6u4924eFAAAIAysh +T1NwK1JOAioOuz6078G+waG/xakByOS4AgkFhImpDydr25ILkz4/NWrMtVNZJFCqvJyqV0nShAIb +W21bG77oHfc/lRwbbaStra2treux9K7s/v866Gpra2trGw7dX9xElZIlHVs61N/BWJvP4bB1Rxwt +l5cU1T7hnKZvqEfl57wxuEOYzbiuoBTXZ5jhdgqDwf73h9JwvnXXMQu6jlmwTpq4YVCXb37cenfc +LwEMAG7XscOMex8+njxrTsHRk9meX410ftGuMvxWnNpFfbvp10n750uQbvuRa/Zvn9SO06gaSEpL +Vaq7i525S159pFFRXuKK6oaQIIjq/xEEqv4nqWmqY6C8FXM3hUQObh19GQAAlEJWAQCIRgdQF6Yl +KCmCZ+GlTQBVFp9dqkF0NzPzl/48mZ6dUUIhjrGVc3PFAnF5r9xoBpfLoLLKK0nQftlcE7r6ui1r +uhGD8cobRAgBSb5j6LXRBFUqFdDpzX+JKu9kPFACVf54vFUyXaMqpUAdn3Gn3M/69bFwiKfH5dXs +/ZDy0jIKKHVGdEpGzYcvU0opTeb6A12XZJbXLqNS+fopaw8d+Hjo+6jS3F6rwm7MIQGo/BNfT7gR +8MeWEaYEAKHj1Ogp71TZuVm9x16wm7v24BYvEz5dHbU8aEaxWk0BvL4M0RkMUClVeBEZBoP1uw3B +azd2uM+yr1PTqyCAAQAsvzEjrLcfORrrVRha2HHhsNehV8R3G7fhzLgNGklaxL4lU+bPntepz6Vp +jXkeiK+tzWD1WBm1KbiGziOOgRUN4t8uu2ThgxwpiTgdLEzpAABkRmZaPom4JlbOBFWcm5FJIZax +tRsNQJ0Zk68BZOJl+kpt5AnZ+Wog2ptZNHtmMikuFVNgXi1IZWIlEghrue6I+ECeF3qbeR1IpC1E +FRWS5uoOGReeJaGAUilLCl7Og5Nl34rRjO5Fq5GTOlNPWFoiBDLBzKtfb+lW2xqqzA0hWeUkshk7 +KHSDq6ue+tCgDePPtY4K0gzadTEAACDT4kW0B7Ydu3aza0YvTRl5PLTQf0XE6s+rTyatiFNXvZFB +UlJegUTaIuxlYzAtAb8x7xuqPCtTXMMfUqQ8yyCF+novj6JgeI4e5Zx0YPZ3J8oCR39Wz3gfTWDd +bfrC4XaanKzC1+kgJosJ8qrawWCeX1cfetKTfGOnGjha6jTvkAvZkwt7/thz4Umtyb0aNQWA2ILq +AK4m92RilprQHuLjJkKaxOwcFYUsTcy1EChykqIUFMG26PBqRYImNzZPRSGBh6kOrVn3AgD101sR +udWllN4Jf0DatXcXtNoMyXpt+CoQwOdSZSUtmyhFM7O3Y0vS00uaJ5makojbEg3BnXhhGUUtp6hv +L0/lE6QsKryosYVrdMNAPxbSSE5vS3xevVBBJXt48vavl6ooSllRCYDoXp+4uBvQafK8e4l14ytl +x047WP1q5RB6uPgfeR1IuVxZQ5olEVfuvKHflCQ9vYRh62D5RrVRx4RMnTBp2akMPH8Ng2mGfmvk +ErFYLJaqKEolFYvFYomCbOxzTF0Dpu0c5OQ1ZP7Pu4+Fhv65Zf6gUVvSbcaMDXylqTSXUWO8su5F +V3UfPcj4lVaRmTvH9pz4/c7jF2+Ghx1YvmRPsmHnrg6vwyM0c1dnXmro1v0RD58kPU0trAIAICzG +fTdF8OcXwV9tOh5248rZP0N+mD5gxKbHzRo9J0uv/zx9yvSfr9fULMI4yFaHRokjklKL5cWXrhzY +kkdz8Rv3Pzs2UIrCyioSQKNUVEpTt1y9m00C3cjK/VUeqYq8SgoQkwZqsjn3AgBAEL3ui6UHLl0N +3TBpzqFK/8mfuzcREqKkhRnp6enpmUUyipJV/51RJGuOgtZrwxcwvTr7Me9tX7n7SuTde3Hpzdxv +h+3TyYtIjElo1t5lVFFWxGMSMY39PKvLSPP0N2Yh8tntzMaW9SHO4G/8fflU9vHTLsYbHex/0eL/ +3H7ozXPpamAYdw9kEZQqbM2F9Tvufzvqr12ZdfOtqZRmZpRnZEolmn/kdWB17BHAjNi5KTxPripL +3D976RkJvW4HTZUQkwAeAb5vHn+mybh5cN/+M3EluK3BYJrWb6oy9c6VsLArCfkkWZh4LSzsyp2U +SqrhzzFviIT1p/Mnu4uv/PbNpJEjpqw8LfFfcvzi6q41tqYgrPv2c2GIeo8aoF9jCFDk4m2WfXrN +zOF9en62IJQaHHJmfc+aDZqg//LNkwwj5vfycnVx7bH6gar6qu7rr5xbYP/31hmf9R00ftGWK2KX +foEm7xBVYQb2nr7R20YWs8lp9ar5qaIvhiy8GOyiiwAQt7t3oJeAlnZva8D+Kw8UGgoICzPL15u0 +0OzGdnJy4Jbv3j1HZ9l0qxMPq5q+HaPj3OV+CT+M/mTMmkSHhUcPzbRvKiZbfnKyk7W1tbXL7Esr +nLo5AAAgAElEQVQK+bmvHK2tra2dZlxQNqdw9drwhf2Nx/4a8rkwbE5w504BgzbENm8rF8IkeJBP +5Y3LMc25vexexn0l0GxNvfVefKLtY+ZMB1VsRpSk0V5Chy4Xrn8yK9jQEKTpWUqWsX63Mf6TAjkI +8UZvG7b8U0Pes4ffLoq8odNhRvfWP6WbsJ4TUXlngV3z7kSYT9x5YAr74CBrkY7rmBOmy9eP0K2j +36r4y9dKPQb2t3yj2pI5GTkawrhTgD0e58Ng6unc4/NDG6cVzg8l0zYHtVtldjD54Kei/3LdU4ZN +MRucuuL5la9MP95hHKpg/2CXFRYnH2/pxsbNyVtVg6gF7YITFyRenGpetxqI//zMfFLud3GRi5xo +2FAYTFP+N6ZVG3txamzUX+u/XhdlOGJSXxE2yL+gA2w4bOF4xvHtZ0twNOrtXomL2w+rRy8cbf5m +U6R4EHFfMGTRZEcs3hhMfeC41Ad1Na4v6zLsJN2294p9K7txsD3+FXACvtm5cndergJ0sQfeYlS5 +qnZLd44L4tfzHatHSFYuNhEG06D7gOPnjdMK8XMMBoPBYN4VHD9vAizeGAwGg8H6jcFgMBgMBut3 +60KV7fuExxIYOgXNOJyswvbAYDAYDNbvjwEkGvLHo4Sr6/yyd85Ze1WODYLBYDCYtkLd+edUeXrc +o7Si0tJyGWXiNzjQsvoHipKUv5+k5pVUyFSIIzK2aefhbMz9958ETvANrZ0MTcf1WHr0cXIB2c8S +d3cwGAwG0yb9b0qjBr6Rnbu9Xs1vKGlBroxn7urdOaibv6Ow/HFkxOOyNrmlYfXk84SEhPfphnO4 +HFDi05EwGAwG03b9b0LHzksHgMwquA81Ds/Qcekc+PIfulpkSW5Ubr7URVvQtlzwVyvHqiX8/a0i +Q7iiYDAYDKZN+9/NgVSrSYLDYbZR8a7mPXrhiMPlQJVUhmsLBoPBYD5e/VYXJyUVcG0czFhtV7zf +r4TTbT09+M/OHblTrMYVBoPBYDAfo36TkrR7d9JY7fzdDf5DO68KB67+bWjZxi6GXK1PdhfgYXAM +BoPB/OO0RIVJaUZ0+EO5TUAXR602eaJAHW/7vY1/yyM3LD2mHvBr2LK+zjZ6eDAcg8FgMB+PflPS +zPu34iotArq46jHaaGHe47bnNdEk37yZaz366Fc92+PjXjAYDAbTNvVbI5dI5BpSqqIoUioWi+k0 +jlDAVGTfv3W/UOjma8aQicUyACBYfCHnvyFnZGVFJWhpi7DjjcFgMJi2qt9UZeqdK4kv1nYnXgtL +JLTd+vRykubmVKqVkribOS9+h3gO3YM99f8b+5lQFAAgLN8YDAaDaTOg7OxsbAUMBoPBYD4y/5vP +52MrYDAYDAbzcYE39MZgMBgMBus3BoPBYDAYrN8YDAaDwWCwfmMwGAwGg/X7PwJV/ujcngO3csg6 +f7fW7SoST4dsv5Sm+Vhs8l9EUxB9/lpySX7shStPKvGWuhgMBut329SqyoyEB0mFVVSdvxv8vaI0 +7dHjbOlbNutUVd7Tv9NK5dTHYpP/HmTBzUOHbz0v1ShyE87tP5koxQqOwWA+NP/VDUFVxY9uXLp2 +7++MwgoFwdUxtnYNHDA4wILdsk1aKHn23bOnr8Wl5pcrCY7Q0NK1+9CRnUwg+9qu7U/9liw1473X +TV9kd7ct3vtQVeMTxO745c8T3PG2rh+27yJNOB+WaRH8ra+BnmpoQPTmM9eDXD8xp2HLYDAYrN+t +iyL90m9bzmZyXQKChg0w5FHSoszkDJmG3kKxpaQJhzcfSBB49Rra30JIyEuynldweQRAa8aUaRY9 +pwxv/3LNPqIJjD5q2cjPzzcyMvrI5Lvs/s0E8Jzkp4cAmHbdu1revnIrqfdYVxZuTzAYDNbvVkSd +fmn/uXStoJnzhzhyX0i2l391y1xyZ8+2s48KyxWIp2fTof/IIb5GDR/WQuY8Ta7kdRj/RX/XajN6 ++NT4MvvcD1+dAwC6zZDlC3vplTaUMiVNu3X69I34tBI5XWDkNWTGGK+amc0P3/7LqQr/r+YMduAC +ACCOvpWtnVatrgYlSdi/emey61dLR7twEVXxYNdPB0q6zp/fz5zeQImoioen9p5LyCkuq5RTDC0L +r+6djApj7z1KLZCA0Nyr/9iRAaZMAKoiMXTvX3HZheJKJbC1zZz9+g3u665fj0nI8qdXT/0V9SS7 +RMk2cg4cPCLYVas5YzN3797t3bs3l8tt9FfK3Dsnj16MSS1R0Hi61j0mzupjSQAAJU2/ffbsjfjU +QomaxhHoGtl0HjGpuwWhSTm+fONTvyVLB5gSAKCO3zX/j8qhP83uLEQNPWKq8smFQ+fup+aWSJQE +36rvzPn9LIj6C0WJH8alMl17OrGru1B67T0tQsPiUlSuLgzcoGAwGKzfrSffyVF38pnuE4MduG/4 +24hv2TF4TKA2jybLigw9eWC/ruWCXoYN6RCha6jPkD69dz/X1s+kbuSdMOw6ZUpXQwKAKdJBDaas +zg77bdN5iWPvz6bYa0FlGTITIih6JYrxf4aczHf+fP6gGpmlSJIkX/wLIQIhQAL3IaN8V/9++LTn +kpGmT44df6TTd2Evc3rDJaKq8p8/K9brP2GMHUtVcP/M8VOHhR7B/Uf30aby754+cXifvvU3/UwI +qiov+VmxXt8vRtmxNOUZ0WGXtv9SPGXJF57C2qVVpZ//bdstZuBnE4YYkZkRJ0/u3M1dOifIoGkF +FwgEd+7cCQoKQg3vL0/mX9//Zwyz55ivPfVp0iIxWwcBAKgzL27ZeF5s1b3/+KGGHLIo+sTh2HQx +CRaN3rUhg0izHiXminqNG+EigCqVyAA1WChNRmommHlbvhRrpGVtrS17nFpAupjh6SQYDAbrd2tB +SfLzK5GhZf1D3SwT1w4mAABgbSL9+/7BlExlL0N2Q1Kg23nc+IJdhw/+uOyKi49/QOdO7qa8Vy04 +Q2BgYmJCNJ6y/NGVq5k6PRZN+cTy9ZMgX2T0ycnf9j42GjZnXAft17qgfnpk6YwjL5+ew8gf5nbT +RoD47YaM8lu9/c+DlHHq33rBC3ua0pssEUPPytnRng72FsqkmN3lDv4d3XQQOJhJE2MOJadU9jUR +Vv9M37adixMdwLmdA1+28sjFyL4e/YxrGqLq4ZUbBTaDVw7tpI0ArM3I9Ee/xySUdO+l3+SIhL+/ +/+XLlxMTE93d3Rt+ZBUVFNfNwdnWgoPA/MWn8sTL17K0us+bMdSWCQCUfm4Yim1GBWjEIExDB3dn ++xeGq3pQf6F6EiWlKrahzusOFaGtqwNlxaUkYP3GYDBYv1tRwCkKANXv7qlLEsNOhz1IKSirAg5L +o6FsVOrGZhbT9LxGLHbrm/EoJvpu1IGfLuoEjJ0+0ku32SmTBekZcr6Do+mbj0H64MhOObvjzPmB +RrW+pFn1+XKkl6A694it89ITRjzXT0f4rgqJeGwyYEmQCb0lJWJoafMhW1JJgQ4CxBIKWZArraJA +WLfDouXiagahGVlKMGbW8I8Ls3LkqsKj38069vITDaktLidBv8mxeS6X6+jo+PDhQwcHBza7/p4S +zbpzX9e4Y9u+z/bqFNg50NtOmwFAFmRky3kOrpbMFoZfmvmIGywUxVMqgcFi1qg/TBYTVAoliZsT +DAaD9bv1QAIDfQ6VkJWjAP06ckHmX/9j52W179CxQ2206LKE41suNCdFhsjSs4elZ/ee93ev3XPw +pIPjFM83xKChlCmgKAT1RgIsPV3LY+4ePeYyZ6xnDf8bsXTMLC216rlEkfcsXcriMgoSHmT1MrNm +Nb9EiE6nA6V5qT8EnQYkVW+/BREEwBvfUEAhbvtR8wbavdJrROPpNGdinUwme/r0qbOzc0PiDQBA +N+4yfYXLs/u3b1w//svVK50nzx3pxqOAQgRRv8OLCAQaTT3r51vwiBsqFCpnMkGlVNWwgkqpBDqX +iZ1vDAbzIfnvtTkMex9PraqEsGuZijrfaHIysknLgP6BLlamJmbWpq8nYKGXfnudv2tZUsvJyYRQ +FBWWU4jBZEKV7PXa6IZSRgZmpkxJytNc9Zuape89bs7kTrSYfdvPpcibjirInpw+EI66z1g81kNy +9cC55/LGS/R2oQtZanIOZWBmzKxlB2RgZsqsysmv0jV6haG+oFmTue7cuSMQCNzc3JrqdrH0HAMH +T1+6eLBZYdSNhEoKGZiZMiSpzwvr8XoJgVAAZfkFb66gb75BGiwUEupq0+WlpbJXiVNlJWWgo6eN +9RuDwWD/u1VhOQ0YFfBsx7lf1+V169reWo+LFOX5aSlqlyFuJkZwOerSHUM/cz5dVSChXnRvEJfP +QxXPHiTkmrQ3fv23m/ruoRsSCycrIxEH5MXPIy89o3S62usThNrClBX24OIl+952jPJSmp2vUf0p +I657z67GG6/u2EH07+ygy1SWV7AdvG1fSojQbfj0YaXrj+45ZrV4nHt1zJySFaY+e8Z/5X8jvrGd +iUCRfO5IJNFlTrCdIdNgaPyP+/680H7xZ7aMBu7bIqSPb5yPqLLTY5Q/uXo6DpxG+ZsRAFQNm5i4 +9ehi/Ou1Pb/Tg7s46bM0ksIipnMXN71m3EsikfTu3buRyWsAQBYnRiSRxmY6bKoiNauCYlrzGQix +3bp10t98+Y99zP5+FhxpVmx0Lgk61TbRdfMwP/vX2QOXINBGRFOkl5FQ3ZugNdsgiNtQoRgW1uZw +KTVTHdiOAQBAidPTyziW1kZYvzEYDNbv1gUJ3UYvXGhzOex2zF8HLktViC3UN3PwcVaZ9PxiTMWx +S6e2RUg1NBaXr2XmLaIjABB59+uTcOjG0auubp+3e/W3QxCPL48NP3WzWKIEBl/X3LHvtIF97BkA +DI/BY7vtO3lt16aLTG3L7uM7fNJQykybgbNn8ULPhp/ccUmGOLo2vSZ3sH0dSaYZBI4b+fTH3X+e +cLP+wpMGAJqsazs2XqsRTvCc/PNk42snIpQ+U/vZsABA2OHT/lGrTp4K7zS/l2kD923JdmE0piLt +xuFrBXK6jpXniFlDAvUQAKCaNnGzHTR7Jv/0udund12RaphCA5sg885ues1I3M/Pr6nFY0BW5MRf +vX6qSKJCHC1Tx36TPnNnAwDL4dOZU5nHz17bv7WSEJpbi16PhBNGPSZNkh45e+Pgtr/UBFugY+rk +rccAAKIFBmE1UCik7d7e8vSV+GeKdq4sAKrsYVwGp10ve7x4DIPBfFgtE4vF2AqYBpSz4PL6H66Z +z/hxtHNb7+hRpdd/+d9ZnakfYjc6ShLzx/eHqgZ+N6uzjjr11I8bE9vPXzbYCu+Ch8FgPiQ45ofB +tLTTK/Ds38sk9fyp2JLsayfC5Z4De1hi8cZgMB8Y3OxgMC2GZhI0drgsgUsiHcfeY7q3FyBsEwwG +86FdCRw/x2AwGAzmowPHzzEYDAaDwfqNwWAwGAwG6zcGg8FgMJg3of/999/YChgMBoPBfFyg3Nxc +bAUMBoP5P3vnHR5F1cXhMzPbd5Pd9N4L6fSSUEMRAoRelSZdQBALqKigfIIIiFIFUUClSw0QeofQ +i9SQnpDe29Yp3x8bQhI2PaF53odHJzN3bjl37/3NOXNnBkHeLDB+jiAIgiCo3wiCIAiCND48juPQ +CgiCIAiC/jeCIAiCII3sf79Wtdm/f3/VCQYMGIB9hiAIgiD19L85Wl1QrH3TIvCcNj/1aZaKq7jd +kEVo8p7Gpxdzr117a1b5wkLDncqqCotpHDUIgiC1YOPGjRs3bmzYDKG+97+ZJwd+OsAf/nGoK9VQ +1erfv39lhw4cONAwd+vpqKO/HTUaOyvEkSq3XRmsjgY+r1aXOkz8qT8b2DIN094aqHfxo0Prj4mH +Tg9x5Fc88uDA2vNmIyd1d8CPXSMIglRBUVFRREREx44dSbJEPDQaDcuyFy5cCAwMlMlk9fXLOK58 +/JxNPbth4+lkLQcUX2Jsae/u17ZDW0/TlzxZx8fHv7jT2dm52uYon948e/bag/iMIoZvbOno3bFP +Lz/T2siuNuPOicPn7iXmqEBoZOHYpu+wTo7cve3LzllOmNbNut5rBZiko6t+u5jFPvubkLYcM2eg +B/Va/eh0SReORdkGTyuRaLYg6ujW3Ul+kyd1NCelPsHtLm08fqPF+EBT/OIWgiBIpURERCQmJu7f +v1+r1er37NixQyAQFBcXA0CPHj3qX0R5/5ul1SrWpfesof4CnTI3OfLqmZ3rHnUaO6aTnaCSC4CS +y4CGW8TOcZxCoTC439PTs/KCOFVM+MatdwRNu4WOdTUTavNTE3IlQjB4Asc9qzVXdptNvbDrwCOz +7oMnNzHjaXNS0gk5j+M0DMNwtW6jQctwABzl1nvGYD+RXr9JgZh8CQ8AlG1vdUlVkRF3oOl7vjLg +6LyYq6dPXozM1mrNSppCmLcKcr106trT1j3tKRygCIIgldChQ4f9+/fr1brEOdLpdDqdVCrt0KFD +/Sd+juPK6zfHcQA8gVgsEUskMrm5vaPxrrX7D1/zntDenGTyHp0+fPbfhCyVwMq3S2ifVjYCjgNQ +RR/fsDQzXUUpHJt369Pdz5wHoL67bdlFm4kfBFuTwOVc/n1tpP/McW2NuaKYC4dPXI9KL+J4Urml +T/cRvX0qfjlZLzNrbuW+UNscACGkxOn/+DK4vDvOplw6cl0XMHJCqIeYAAAwM7cFAOC00UfX772V +q6QpY/um7wwI8TUln4l6iX6XbtM5GdmUQ5dWblZ8AFCYWZemST+zZv4ZAJ5bv4/HNE0/9kKGAGxB +9LnwEzeiMtWk1L7jyLFBHABwwHGs5unZzVsf2A1+v7e7iOMAeEKpVCZ+1mou/8729SeokKlD/GRc +9tW/fr9pO3JSDwe+LubFarMpl7cduJqcXaBiKGP7gOYudOy9qJQCndjKv/ugPs3MeWxKxPYDEU+z +ClUc39jas3X3Xu1dZSSUay+AgX4sE4GIfRgr9HzXmuQ4jlPm5MtajxyrPbXxbqn6i9x8nA+efpja +3c4On11AEASpHLVaDQAEQbi5uQFATEwMx3EqlYprCKf3hfh5RQiZd8sm4dufxBQFmRRf2LHnkVXf +UTM9qMQzO/buuWD7QTcrACCkrp1DhtiKip+c3rtvJ99kajc7w54Zmxmxfcd1ceeBU9+z4udd37k5 +KlvDgVGDxGHZrKgnuXKfAa7iitnxrFsPndBBLmbSruzZFnbKxW2oj6iyWIS9lwfv4LGdZ9iurb1t +ZWVaYdl5ypROlkCQPB4BxIsZshmXd+y8bdx18FRfc1KpJM0IKAIA4Jism7t33Ja/M66Xu5QAxoCF +jQN693y8/tjRR45dCg+dU7Z4t4sDv5Jqc0UZyUUOvWeEuEDOnQN/n7rvM2joFGdJwd0D28JPuTYZ +5i8oSn9a6PDOBz3dqOLkW0fDtm0nJk/oYFlOZ5lUA/1oS5X2UUoqbR1sRQEAUNatelkDV3SjXI0F +1rZm+bEpSs5OhiF0BEEQA2zatKl0283NrWPHjvrt6OholmW3b98OAO+//z4AREREPH78WH/Uy8sr +MDCw6pxL02/atKmi/w1lHDUAAEIik8BTZTGdfPdOpkOH9wIspQR4dWhld/tudG4XSwAQWbt52JpS +YNqyV/uHP1+6l9zZ1qFcgLokaybl9s00m/YzglwVBHCEkZAoX9LzawpjY2OA3C+6OFXWgMVnEyqc +xyqLVSA1lhAvXtRITC0lAACOrZvaX7yeWcBwwuetfFY9/bZRwOAJoqsXr5zefDHczKtt1x5B7nKK +44AgCJLk8Ui9hV7MkJ9651a6faeRbV1kBICREQAwAMDm3d+/NZJuP2poMxPyWayeiT700+JwAgCA +tOo0YVx7cyO/kJ6P1h/+PYkRtRjVya6kRyqpNimSyiRSStKyqeOZ8xJTK7mMNG7hb3/mYloO62cF +AJRYrjAyooy8ggfkxa++ficlsIddmTYyBvvRxqxE45migmKRTFo2qK/f5Eq7ipDKpFBYWMhyUnTA +EQRBauQrV7azTZs2+fn5qampNjY2bdq0qdYvL5u+uue/2aJCJUgkEq6ooJCOO7zif0eeFWxioyxf +DiFWyAXFRUUcgCHHjC3IKxCaWVTnbx86dMjDwwNABABni81eTNBFmm3AjRVLxKAsVHJgUj5/JvfR +qSNn7z/NUXFCPsMaObBVls4z9WzfzzMoJDf60qEDO/5Uj/2ghwVUmyFbkFcgVCgq+P6cOunhE0bR +ysq4rJEpp67j+5eEAHgiIxIACJmHv+vRh/ckge6W/BpWmycU8WhaxwEAwRcJiJLtsiYxMjcTFBYU +sGBXtlKG+7HUzhxwBFFNFxEEAMvikEQQBDHMuHHjdDrdzp07aZqOjY3Vz6qxsbEAwOPxhg8fzueX +TPYkSXbt2vXcuXOdO3cuXaleBfr0Fy5c6NixowH/u0xonit6cOuJxjrIVUoUyaQCz64fDQ8oq1JM +VMnKLo4D4AqzcrRGdkYEx5ECPqksVrIcRzzz3zhCJBFpcwvULCd5vrOC/92nT5+SrdTEyi5DSk8t +Jymmzi5G5x79m9DJ1llQVkIfHt//L/+dMTObWQjUt7evuFrG4y9beIWK8BTuHbs1v/9HVExOVyuC +4BiaKWmjwQxBLJNoMnOUrGtpSJnjOELsFzrM9PqOndtFo0d3suWXmJcnNjaWi8uk41QxJ07GO3Zq +U3Dt8BmvCT0cBZVUu+R2fYUWcHpFfSEBp8zP10qtpFC+vWJD/fi88RKJRF1QzHAcWeFYabFccXEx +SKRSwDfvIgiCVAZN00KhkKZplmWjoqJK94tEIpqmebznfh2Px+vWrVtlbroBP5PHCw4OBoPvX2M0 +xcVFOl1xbsqTa2cvxJp0GNPajKQU/v6KLefDb8o7NzEXcco8jcTWQgoAwKoK8ouKeaqU20cvpli1 +7W1DAhDWjraa8xHX/OR+ZlR+sY4DANLOx0e29eKxu5bdPGTKuOT8Bp39KYfAbj4P9v2zlejWOcBR +IWRVOSmZlIsnxwEQwDI0XdZj5PP5yszUfJ29Kb/MNpn277V0iZO9mYTHFMRfj8zjW1jICNLExCg/ +9kF8jpGprogVswYypOwDmppuunDoimk3X0uhtkAjtjEFAAChTbuhQws3bf0n3GZiqIekxLzK4qKS +O+EEyReRT08djrR6Z0oXL5Vgyx+HznlN6mHPGa52TcI0mvTY6FSFjag4+szFRIVvV1sKgCnTXntD +/Vgq5aSZjSVEp2Wx3jaVXQfSGak5UmtrKd78RhAEqZTLly8XFxdLpVKNRkPTtF53BQJBUVHRpUuX +9IJdW7Zs2VJOyMsLPiUUk3FH1yw/SvLERuY2rk0HT27jacLjOI607Tx8IHv07D/rw4tZnsyyZf+x +PVx5MgtbyZXwdT9pWb7Myr3NiAGBFgTHcSBvHtI77eDZbWtO6Ei+1NjaT87jeI7BQ3tpwy9sXXWI +lloaMyDmkVVcbxg8Ektd2Zj6bSYomzweFeIcIhQKSw/JfAa8L7x89sLFPTfy1MCTKGxc21r5N+3S +Mzbs3B8/HdIRPJFE4eLNB44j7Zu3tdt7Zu8Vl/c7mD/fbqHKfXrz/OUjucU0KTax8eg6vIeXCAjb +Nt2bJYbvWHMFpE5dRg7v0jPuxQxtOg0fzBw9vW/DSSWITJv1m9DzmbwJHbsO6JC46dBxzyn9PDgO +mJjwVcvCn4UNZM17NU1+aNplkrcUCGmbnq3+3XLsatP323sZqjY8d6ShxCeG0iX0HAcccABcUczZ +7VczlJTc3j90WCdbkqvQXkP9+DxkIXT2dDhy7UlmJ+tny970hZXe/9bFP4njuQ+0JdH9RhAEqRT9 +zeygoCCKovQL1oYOHcowzOXLl9u2bdsgEygRFxf3sprDKHPzaaFYSIEy/e7Rf26aD/ugh71hN2/J ++aS5nRxe3D8mbUyCIAG8wemu05ysOX5+fvgreQ4bdfCnQ7whs3o712NlmSbq4LojRN+poe5CAxdV +Bbe2rb9hP3piZ2tcvIYgCFIj/vzzTwAYM2ZMg+RTmf/dmHC5D4/vPBeXp9QRYlO7Jp0HdbQlqih9 +yfmkF3dmghKGAohB4C1I2Zni6+uLv4wyFi7nKdcRgVvHjuZ/nLyY7NzVtsKDgJzqyenz2V59BlkS +6H0jCILUkNGjRwM0wJohfT7P/e+YmJg3yAoHow7uke8RegtDr4S6aFzQ/24cijPSGHNr4xddbG1O +WqHU2kyIJkIQBHnFvGH6rdFooqKi9I++eXh4lL3/jSAIgiCo3wiCIAiCvL7gKiQEQRAEQf1GEARB +EKTx4Z06dQqtgCAIgiBvFkRaWlqDZxoWFjZx4sS3yUwbN26s9rMw/00iIiJCQ0PRDgiCIC8ZjJ8j +CIIgCOo3giAIgiCo38h/k+TkZDQC9imCIKjfCIIgCIL6jSAIgiDIK4VXw3Rzzi8c7TPE39wbTVbK +3LAYHq/6CyCaZpeEuv13zJK1f4d5/+FANMoHwit8fqcKavKpn0INsyoibVQzc0fF6/gi3v2PcsMi +8140JMtyfwx0rfb0lBmjhJ4+plM/JQQCTqvN/nWZ9slD29V/160y+x7mAMBAH1Mc+AhSN2bPnt2i +RQsAuHXrVtn9K1asaFz9fqJJ+vrWT02kLu81GRjwklSc0+al5fOtLaTE69kZUplYKq5+3i9WaV5l +LTlNTlKK1szZ+mWZsfjyWU6tNh82hiBf6+hOgYZZeiklS02vuJI6u51NnSVcm5ykibyvS05iigsp +mbGkZTuRl1+DXL4M8DYRCsiTCQVk+cw0WrYmpws8fTRPHmb/usx0woc5v6/SPnko8KjjyN33MOdo +TL5+u1TC99zPHuxn1iB9sWPHjpokGzFiBGoA8uYyffr0hQsXdm1p08xFePpmqn7n119/XatMHuz9 +snr9ZljmROKFU08vxRckaXiMxNiYpMgYVeq8G8u9ZC6jmwwKsGhkFdceneo5Rbwzek2w4PH1A90A +ACAASURBVPXsDDXDUUDUJNmrrCVzf+eiHYpPfhjpQb2cAoUyKf34bvqmtVZjJhP8Bu67+n9At5TV +V1PzaFYq4elodnlE6ux2Ns4mzyX8n/vZQ2omTkxulu72VUqn5pEkm5tRFPWgyNpBMXwsz9S8/pUM +cZNTFHHmaWHZ6wGardEvymzqp3qfO/3rjzitRuDhbfbBZ3WrBkkSQiFJEHAkJo9lucF+ZnvuZx94 +nNNQ+g0AVh0GVp0g/eI+FADkjcbd3b2rXVpLO6GIT3pTuUZiUi6mbN3da3Lu5s2bAaBZs2b8av3v +PE3BgqsrolVJfKGQkgvFPD4l4JMkKeTxSIGAzxdBHbwL+s737TsvuF7IEHypmYN32x7Dpn02PcRV +XLnn+Jp3Rl9JArAQFBRURZrLly+DBADsKjStKO78gQOnbjxOzqeFJnbuLfuMHtHG4vVfjLBhwwb9 +xuTJkytLQ/EoHl+kToxKXb/CavwMSiKtzMGqvzs1fl8sSRJQ45ByWUY1tfj1boaOAz6PUDPsssvJ +nwbZOpuIAGDP/awDj3NqqN9iv+Yidy/64gku8l8AYMRibV5G7q/LFONn8q1tSwbUkX2K3gPr1kZv +E+HphHymrH4zNfK/CYHAdMKH6d/M5jRqQiA0nTiTENTxcqq/lwmPB8fj8wV84lBUzuNMZXSems9v +4IjOzn0HKztk166XB07/yBvFggULPD09AeDJkycAYGtr6+np2d1fJjYVqLVsvIpNzqHzVcy4kXUv +woB+0yz99ZXl8Uy6jbndu459Wip8jPmy4TfnkMA1kTgPdevua+xel6I4dX4uHbzyydbhMmVm7PVD +a74d0frg58fCv2glfTO7Jz4+HgCCgoIuF8kNJgiS5ZemKWuI4gfbFv18SRA0aNwcHyuRJifhSYax +mHhbfrUcyxIUKZBINBnJqWt+tJ48mydXZGRkNEZZUjElFJBQ45ByWRzlwg+aWa67na5mOR5FqGn2 +x/NP53S0v5FceDg6T8ivxdUUIRLzu/djHF3Zs4d5BEGSJKlU5m38WT5+psDWvuDoAdWZo3XT7/gc +9fLLKSAg+GVWWjB0jRrLabU5v6/iNGqWxyO1mqRfFuf3HFSo1ty5c4dhmLIpZ86cWW1ufdxNWJYL +j8kV8Im4QrWAT9AMBwiCVMK4ceM2b97s3LSNc9M28Xev6XcKeYSRhDKSUM2cRLXNTb+RJS0EAOA4 +TUG6Af0+FHcqVpdqLbf6wX+2mUCh3+nGs3nXOdRP7l7PJgmNzMwtTAgLayefwA6Ow5tNnLVu0PlP +m1Da+APzZy7Yej4yz8h/0FfrV09pJgMALvf4nECHyPtZfKcOYxau+WG4pxAg/+/+9j82u3jr26Y8 +YGN/6tT00MhHJ6fbc6knf5g1d93R++k6kYWT36Dvd68cbEsCMJXsN1AifW/dqMkrztxPyGUUXZde +PjLdrcZz+Jlf5lTYEzzrR8NJmYSj205rgz6aN85ff0va2tbFR38k++7+v3efu5+qFtv4Bg8d3a+p +KQXAxIf/8vup2IxcpY4ysvPvOXp8iKeUTb+67Y/dl6NzdEITv8GfzexmTVZyeoWLs6xb+/7ed/lx +mlJs36rf+6ODHav9EZ08ebJr165kjW9mczQDDEsRhFAkUudlZ/y1wXbGnJooRB2geMAXEABAs3U5 +3cFYOLWZ1ZqbqSqO4/EIDcP971wizYFISDFsrcWJ8vQDI4XuwN8k0HyhkGWUeRt/Fvg0pe9eE0jE +daheXI76h3NJLEUIOZJmWD5J6FgOAGi2Rq3VB88Fnj6p7braRJyCqEe2F4+Zz5rXvn37sslWrlxZ +w/qEepo+yiyOyVVTJBAExzJMeHj4kSNHVq1aBQAffvghAOi368DFVK1du1446SNvDc7OzrSdv9Lc +leQLgLAACzPC1uTw8cKWpErEJ3MytPr4eQ1zu3//fl5e3sOHD3Nzc00U8tYBHg7m1gb0+2RKBMHn +jbAPKRVvAFjUdHZDt46wHjgh9KMBh0+mfuyatWTI6L1+aw5H9uJfnD903OglrW8t9AMA0qrb1yu2 +tTDJOPL12AlDZG43FrYyHAGkH64YMnidybzN18P8xAm/Du8eHl3IVbFfd8dQiUnXT8e1WHrzQm+j +omK+U23C2ZWq9Quwaf/eTTdrNd6n4noyJunI6rWXTYfO+L6FIu/WzvXrVvO/mtfXnuLyk2Pz3d9b +OMKbLHhyZP1vvx3wWDyk6MBfN4yHz1/VVkHn5LHmZOWnlysi8fCq9Tfsx3yyJICK2rv6t/WHXb4b +7FzNDyg2NraoqKhnz55isbiKsPnzBjIMSzMlfqmdk2LUZGjo+PnG6+mnYvKEAtJIytfqWABgGG7c +3iiNlu3mppjY2qpWXvj0Fja/XEtWsRxFAUsQAoIgCGCYulwRUDb2MGC0ds8WklELREJCrWEf3hZJ +pQxN1zar2GzVojOJDEUIKYJlORFJzGplcye9+Eh0Ll2zqxW9eJtN/TTy+nW/Dz5LX7tcG/Xg4sWL +Lq27pGtKOr2FcS0WV+68nXbvaYFAQOlvxtM6JmRQSEhISD2VW8+8ltWE4XbFoCIgbxgCtxZChRGj +07CaYjZPy4jUdY6f5+fn37lzp3fv3rY2linJqeFHjwW19Dag3/HqVJZPNFN4ld25b5+BxSMDBw6s +V+MoS2sLuJaZrbnx95bHgXMPjfK3ImDgF1NW//nn8dgFfgCEvGnP3q09BOAx5afP9rov3XHzm1YG +vyJC39ry251mcx5+2t2JBI6yNSar3q+rrEQQmDk6W1kIrCxq15Sy/nfVWs4VFRSD3MS44tUBE3/p +QrJb31ndPBUEWHYbHXp77tHLCSHDXAEAKInCVKHgKVqHdDx+8Xp0DuEsFmhSklIKW1tZWVtXe/qz +IuIuX0x17/NxkL2cgJahwSc+v3g/Y6CzzYsXKqX3ufVkZGScOHGiX79+NfK/GYZjaOA40t5ZPmIC +KZboc2jAUTG+lWWuRheTrwFgaVrvKHMiIelrKX6/pWVtc3NUCGe2sf3xUhLH6ZeNcyzLsXXSbwCg +rO34g8Zod/9B0mo+n8fxeQRBMBqmtuK98GS8Xrw5jhMSxIetbRzkQge5kGW5vfcza5JJ6aNid+7c +ad++verdqclPHjRp01lbp7D31usp++5nisVUqWUYmm3YyW716tUAMGPGjNKNjC9n6A9ZLlqNYoC8 +cXAkjxCKeUIxZeVGGQsoU3Gd4+cPHz7s27evs7MzS2udnZ369Ak5fvyEAf1mSaAZ+mUsH6PTUjLA +1MKMS32apjw13Vn8ob7NLOfcKqf83ECYOTlKM1PTWShZOle+dvTThBSjJl4vKFFl+5nqS6wdNfe/ +CZmxFAryC1iwKOf4srk5+SILCxlRksrcXJiXk1uhEwipkZTQajSU15BZ7+39Z9e3H21z6Thw5OD2 +9lQNTmfzcvK1D//8eOJfJT8uMHcpNtjNZf3sDRs2WFhY9OjRo6YBBpphdDTfw1sxfDzBL1ks2bDx +c5Igpre1WXwxKVv9fC2XhYQ3rY0NRdZlIcG1hHylmi77NH+d9RsAeDb2Oldv9t8bBKn3VDmOqZ1+ +/3E1WQeskKKA40QE8VFbOydFyWjv72VG62qXm/5ut0BuYeLkeTl8b5PuQ+rQqPda277X2rZR54MZ +M2ZU2EDZRt5odFHX1JQvyRdwedkc3ww4weHbdYyf5+TkWFpass/undnb2ebm5RvQb2eJTWRR/LW0 +u31cujZm09jUPb8fKmrxWXcbfoa1hVHfhXH7RpmWmXy1R8omTouKLrZua0MBCKRSKiezvNpSphYm +xbHJ+RxYEDXab1FtiY3lf5NW3t4mB25ERPVz8yp7AUYqTOXqxMwiDhQEAFeUmaWWOymIF66j9IJA +iJ06vvdJh0HJl/9auXmdxOG7fjU4nTSSG4maDV4+M6g2z4K7ubkFBwfX4v43w/B9WygGv7ci/GbV +KT/u26bOBpfwqRmtbL+/kKhmWAAQUeT0VrZSQV2ekdt2I3X/w0yxmFc2Zs7UQ7/zwvYwF08LpZJS +o3G1dFU/6+q8+Gx8erFOTBGzg+ydTMpdqg/2t6xDrdI1FMgdHIIdlAz8NX9a8HtT7T0DXqvJ7kX/ +2/Z+M/2hFL87KAbIG0eF+HlGQdzpZGuwNgWA0zdV+jRft452r8EjZAqFIiUlxdW1JKL6NDnFRCE3 +oN89bIIeP4nd8Gh7a8sAS6l5w7ZHnZeellqsyoq7Hrbmux9OuX9x/IMmFN/53Xeduv9v1gbHr/p6 +KdishAKzVr5WAADanKeJaRmi7BubP1l8K2DW6pY8ALJFh1YF/1uxeoTDcA9hUqaSAwB+myEDrUN+ ++GSz3/e9rbPPXE8scVAq319ZiY3ufwPPvdfQ1tfXr/2JHNwvyNNCzBZnxKdQvu2bBHWwPXPor1N2 +I1qa5N7ceSjGPnikMwVg6M4plxP3WKlwshAb29spyEilCij3yk4XCPlFKQlZGncroVtgoNmSg3+f +NevXzEbCFWarZC528uqkvFu3brUyhbRDN5MBw4EgnuYUNurYsDISTGlp89PlRACY0sbW2qguD0dt +vZ6y9366WMQjgOPKrFnj2Drqd+6BXepTR8QyGbAsx3Gl1zS1ykQu4n3RxXnVpcRRzW2cTcQNbrrR +367VS3iLVk1en8nuRf8bZRt5o6kQP7/81w/du3cHgFu3bpmalrwHac2aNTV5/1rnzp2PHTvWp08f +GyuL5JSU/QfCHGzMDeh3qGPX46kXHmQ/mXD808l+73Z0aKsQyRugKYRYYco7O9vH7mOe2MSuSavu +Y7Zd/7CvuwQAhG2+2beFmb1gZKuZGTqxtf+kP84s7SGy9m1t8fNMf4dCVmIbEPLhvk2f+vEAgHSa +sHrN3Ylf9/ObU0zKLBybjnASE5JO/9v9S/HMxX28PtBa+tlrOFOhkACAyvYbLLGu7xoJkuXXyhAm +bSbNk4TvPXjk1zNblJzAyNLJ9x3HQB/HPh9Oo//etfrL7SqxtV/wtBkh9pW4k1xxwoW/N11MKdBR +Musmwe/18qCArOR0nkfnnq7r9q4/4fNVX1vXAbMms9v2rV3wdyHNlzt0mfD5CLmogX+ypgNLVqX9 +NKZbYw8PXyvpCF9LIAhfK1ndcmjwsLBJ/2HQf1jFa5ra5yMX8b7q5tpIdivjf2twkkWQRqJC/HzA +zG86u5gAwOjRo2ubFU3TAQEBx44dy8/PlxsbOdiYR8cnE2lpaQYCgJqCL28t/TfrEa3S0irNjbHH +arV+LSwsbOLEiS/XUJqMmASNkYVcyGTd++ujEeub7L63NJBf+f7asXHjxsDAiivntm3bVsPT3333 +3bf1BxoREREaGmrw0E+HrlV9bhXx8+TkZDs7uxf3N+D7z9/6rEpZuXJlFesPqj5aE2q4/ryyPgV8 +fyryNpKQkLBp0ybnpm0AoPT573Hjxjk7O9chtwsXLpiYmFhaWpL5kfo9tx4mGX7/mkJovKrtgqPJ +5449Pfs4M+oNMBUTv/ez/gtOJWQrSRO3NgO+2fZ1O35V+5HGp7Hj50jNqflD3nVW7vo8RYbCjLx9 +bNq0ydPTE1R5+vev6dm8efOCBQvqkFvHjh31Gw8u/gwAxnZ+LXwcDPvf9eRV+N+Ni0H/G6na/64P +VfhqyBsK9imCNCz4/W8EQRAEQf1GEARBEAT1G0EQBEEQ1G8EQRAEQf1GkMYBFzphnyIIgvqNIAiC +IG8bPDRBDYmIiEAjGCQsLAyNgCAIgvr9OvKWPc6OIAiCvD36nZycXM+88P4WgiAIgrxs/Ub1RRAE +QZA3hUZ5f+quXbvQsgiCIAjyMvzvBkQsFvu26o7GRZA3nQc3TuJYRpDXE3x+DEEQBEFQvxEEQRAE +Qf1GEARBEAT1G0EQBEFQvxEEQRAEeRUYXn++cuVK/YaXl9fPqj+7OnSY5j9GwpfUuZjrl45VnaB1 ++57YGQiC1AlOV5hZzLNQiInyu5UZUdFqa39HYwJthPxX9HvmzJml2+vP7L9ScO/xxQWfNZ3SxNSt +ziVVodCxT+5hTyDIm4IqYmG1acSBXzekPueGzR+xRPLVsc87Sg0c1p37sf+XwiXnPm3NL7//wprx +i83XnPywKb4oGvlP+t98YxFfICxQqT6/sXSYU8hwz1CSqEvU/ezRql7qkhj7qEuvYRX30rfXDB66 +NZF59jdlP2bXttktcCwiyBvlHuccnd35J2rhrmUDFM88YTZxw5Rh25tuODEjoPoBTUi9Og4cIXAR +VVYA2hhB/Tbgf/8WEc7nUXyJGEhyW+KRW5kP5racai42rUNhBhT6GY/+vVrJEUHrOYe+ecdIP4op +kQLFG0EaiR2bVug3Rrw/uyHzJUyCQjquWHjocm7/3qZ6AWeSTh2OtuvziW/NBrTAo8dUD+wgBKmd +/01LGB1DAwAh4AmMJI+LE6ecnfdxwPj2dq1rW9ih3b9VcTQm8t++QycZGLkyM1Mz+fP7V0zk3nlf +7Lz+JK2AkbX5YsOqock/DVh4MLFAI7DwHzBtwTdd7Slg7m2f/fme+wmZBRq+ZfMe/dtpr4VFPEzV +yr27f7j8kz6ufABdyomNP/58/GZsobRJl4mLPhniI6YTTi6f++vh2xkasUXgJyt+Gu2Iy/sQpCEE +3Lh9v0D+p6fOZ4UMsCAAgI05c+KJQ48lHhQAqK4te3EIlx/mPzlsDpknXHLu09a0gcQAwBVc+3nQ +gITIPJ5d076ffDKzr6OgYiVwyCP/Of979fmDDMvqt0kejy+TaFXqb2+vCUnrML3ZWAHFr1V5BhW6 +Jur+HDbl0bWkJrPD1nWQqlR8a1IkHb5y/XgbI+3j3fMmLV3drs0PITI2K/Z+pv/cY7NaQ9LBzz9b +c6TLwlW/t1RkHv5i7o/LWnVc013y6O9PZ59zX7hsf2fenRXzvpn9l+/hsRkrfzplNv2v690tdOmZ +jA2OZOQ/wOWzh9t1CiHJWvzc63JvW9YppKvRl8dOZPV714IENib8dJzXO4s9KAAAkaeBIVxhmN95 +lpGhxAAAhGnbD2ct9jPKObPh67nzJE5/TPMvNzfRD3HII/89/5tPk4yuzJU0kCI+nxAfTr+Qd63w +28Bax9kSCVlazL2r//zWf+7K0p2OXFElyXVXF3Xo+SMBAMBvO3P3hr7GAMA3trY3NeGDCQCAwqGJ +AgCg9cC+zbbujslkQQYAwJOaWipM+YrBgwI2rFU4ettYUNYD+/tu+DUqie3C7D8S32L0qgFuZgQE +Txvgszf8SuJYP5lQGR0TlxPs4OzohL8N5D9BYtyT4qKCjt36i8SSGobN67R+TdIitK/ZtH2nUkaM +sGcfh4elBIzt4UDp55RKhnCZYf58BqokMWHkHhjs7cgHx3dnjT06dEtY5GR/v3LyjUMe+e/538tP +7WZYpmI4jE8NcHtnkvvQOhT5onhXCb/ptF1fdjMCACBEChMCKtSFTjy3+ts/jt1OLmDFQpq2bMlW +yEBoJOWr1WoOAAixTEJqNBqOzU3NUV9e1ttreYlPz9n45FGtPl3y2Yr1vwwYsNy/99Svp/TxFOMP +BHkbKb3PrSc7M+3SmUPdeg9r1EL5AUN7O/19OOzx0PG5R8Jz2szsY0nWbAjXarwDYWxrJ8rNyCl/ +gM3EIY+8baO4Bv43oSOZcslkpHi2x+ggi+Z1K9Xazb/tkEkHlsysoYSLFLbWtmXvf5c9yBWd+uH7 +cOGMtef6uEkK908cvOPFDAiCKF2fShDAcQCkiYVC0nXy4fU95eUeDPXs/83y0Nlx4Qu+WDhT5n54 +YhMKfyXI20dZP3vHphWm5lbtg/s2eqmke8jgVlu37I5wyTvL9fyqi34lW02GcK3GO5uTGK82b2ZG +lZsrcMgjb98ort7//uHYXyxLPxs+XIBxkzleEyxEpvUp2NrNXy/eB5bMbDtkkrWbf52z4lgWgAJW +q9XwGajpWxp4fv3fsX1v09LtVhO7OhlxeamFch9PRca9u4UWHvbGJm4e5rxrRcX4UAry9uPo4vky +7n8DAJCWPUd1+PXzJct0ioHbW4nrMoQrT6wryEjJzhEWPPxn5e/33d79zosCYMViYW7846cqf2cx +DnnkraN6/5thaZKlAYACaoxjv5HOfevw/Hfr9j0NPv/df+5KvYQ7urrUqf6EUdePZ1774o/xgT8q +CaGRqXW7njWKgAmajv9pObPs52/eW5BLi8zcR3z52xdNInevWLgnLlfDk7s0G/zNyGb4qBry9hPU +pU9tT6nz+1sIo+DBfUxO7rZ9f3Dpc2O1GsKVJCYtXH1Ndy7pOaCYFVl6BY5c/9VYTwoA+K1CRzWd +v+7j3W12j3HBIY+8bRBpaWlVp+h4eBhfIrQRmM/zneajqNEjmGFhYb6tulfYefborqLC/L5DJyUS +stKdpf63I1d0aPdvVaxORxDk5fPgxskXx/LLf/8agiB18b85hu5q1mm293hpPd5/DgBdeg3TPyFW +dqn5h3MWAQBUuvgcQRAEQZAa63fZ+9/vwDsNWF5NH/JGEOR1BX1rBHl99buRwPA4giAIgjQI+MIh +BEEQBEH9RhAEQRAE9RtBEARBENRvBEEQBEH9RhAEQRAE9RtBEARBENRvBEEQBHk7qf79qXUgLCxM +pVKhcRHkTUcsFuNYRpDXk8Z6f8uwYcPQuAjyphMWFtaAYzkxMbF169ZoVQR5rfUbAJKTk+Pi4nJy +cmiaRkMjr4p9qcH1zEFKqYwFqg/7OzuY4cehEQR57fU7MjKydLtJkyYG91TNvXv3PD09AwMDKQpn +PeTV6fea3PqcThEsj2RVNH/1wfgl77uhPREEed31myAIgiAAgOO4yvZUjUqlcnJyQvFG3mgYjszX +SQWkTsmI0BoIgrwB+l1/OI5D8UbeDrQsv+yfycnJdnZ2aJZXDluUxGTeZPOjS/eQcnfKoiUpc0Dj +IG89+PwYgiB1pPfB0b0Pjn5VpdPJZ3TRO8uKNwCw+dG66J10YrghtU+NWjD64Lp7LPYc8tbrN8dx +FULlL+5BEOQ/i0Qul8jlr0a8E8OZzJuVHWVyHtDJZ16Y0bJSDuyOe5KPHYe8HfCqEO8Kd7tf3FMH +Zs+eDQAtWrQAgFu3blU4umLFCuwSBHljLv8F/FdSLluUxOQ8qDoNk3mTlLs3RCBdm3jslwU//H7o +enyhwNqv6/vf/TwvxP6FmZPNPL9s5serDj/IEbl0fv/71QsHugrwF4K8Gv1uJKZPn7548eKzZ8++ +G9rMtrNr+MUELy8ve3t7uVzu5+dX6Wm6i5+3GXlxSNjxDtvajbry7pHTn/vXr+a6O8t6j9wV8MuJ +Ze/ICXh55dahDq8br6ov3kyysrIAwNzcvJ75TNj1L0USAMCw3O/DAmp17renE6OzVUSVtuU4cDcT +z+/qWDsnmH01oegKnveM7w/bWxk/TS8AgFF9A9o1dXgu4fXX7+KLyz7ZkNzjw5WfegjiDy39ZuHw +8db3j05xLBe7ZKLXjew/P6H7t39875O9f8Hcd/sTp67+ECRBiUFekf9d7UYdcHd3byFPkIl5RZE5 +dq4+s0YEibLUzP2LZLFSeewfpYmZrENXact2L5wnEPIJgVBACgUCQijg13uaJ2VWbh7u9orqcqq0 +XK4w+sTWP3YcOX8r8mm2ijKydm0a1HPwuHEDmplXsKk2/sDcUR9fD9lzdl4zXl3q8LrxqvrijRRv +vX7XX8KlMrFQyAcAjUZX23NFAlJuxCOqFHCO44SCGq2G6bRzKElRAMAXCSUKOQD0ODRWp9YAAMsw +54fvfhn+d/l73gDQLsC+SxuXs9fi/jnxqFS/X0xWJ9N3XX7rIb8k0tDdNuFEx/UX7+imOArLDvIr +61acl446uGlOLxlAN5es6y2WrQibGzjc5K37USP/Yf8bAAa2dyhS0WIbd6F1a+2VR1RapqmVFWFq +AQAcy+Yf3a+OizYbMqr8FG9mac4zszClzC3NeGYWZvVedke5j/61BgtvKim3+P7mWRO/uyDuOvb9 +r6Y0d7OQMPlJDy+H/7140Ja/J6/ZOKeTOQkAwBZEHd+8YumasMgizqnOdXjdeFV98aaRmZmZnZ2t +V82srCyO4ywsLOo+UAWUQMQHAIartcs7t4N9eEzunn+TC/OLDCYwkssGB9iFuJnU6PLNSMoXCQGA +oEiWBADgG0l4EhEA6FX8lWBnZaz/r7r21zfVwn9+m0CZnpZPuXo4l584mYTLl5OEQT06yPSd5dkt +2PHbnRfv0sO78AFBGm0yrvqSvDHWrwl4pKmRwMk/SJKrFaemya0sATiOZTiWAeDsBg4ztbYuun65 +/BRv6+nv5e9hxrdtEuDt66EggMs89t2Id4KaNnF2sHPwaNn3o7Vb1342smtzD0dHj5Z9Ptr2sOSd +zWzSrunBzZs42Tu4+LYf+uWeKLV+wMWs6e3YdO55HUDZrOwd3JoGj1l0LElXWbkAXObhuWPmP2jz +0/GjK0J5Z5ZO7d+1S4/B0344qBq2cesYdtOkqZtiaAAANnXv/K/CmL4rVo93MWTnGtahXAfk3do8 +Z2gHPxcHB0cP/3Y9Rn53PIMDAC7n/PIJoR2aejrZO7gG9PvlHg0AbM71jR8PDPR2dnRr1m3s/8Ji +9E0H3bX5bRy7LXtY8lY87ZEP3ByH/anPJ/PEwpHvBAZ4ONnbOzVp3Xvy0mPxFafkV9UXb6Z4l5Kd +nZ2ZmVnnDBmGoxmOZjiGqcsADHEzGehna2VnaW1f8Z+VneVAP9saijcAnOy9Obzr+vCu6490Xkcz +WprRHum8Tr/nZO/Nb1xP0dfmNuETFRAP3WXone9sWthnc/bKxy2a7l/+wVg2IzWdM7WxfuaSUxY2 +lkRmaroOFQZ5y/zvnecSZGJee+tiwYUrnqFDCIpXeOl0SaSqVZBxcC/ev7dS/94kax1U5iRxjyVH +egAA9Fx6uCcAAFMQfeVSgtMna5a2k6qj9/7wzcLPLXvN/vjH6bZc9K7vF3z+kUvLY6sjjgAAIABJ +REFU8FlNKCDNAoZ8vGyUjQlVcG/7/779ZLZ9swPT3MqNPrYg+sqlBIdZvyxuJ2Myrm1ZtOKDDy1O +7ZnkQhkoF3R31i8+KBq7e0k/wYEJIz9/0PbzX/YF2yT8NmHm9Vjyp7k/z77QfdXaCyOXB0tIu7F/ +Xx9HEvTdRYurDQhWUYdSdA9Wjxq2NK3djG82tnfg519aPfuXiCeF7DuWFJt779TxSKvpPy3qYs7l +q62cKdDdXzVqxIq84I8Xb2ouST6+ZvG0IU+5o2v7WZFVVuNJxMUEh1m/LG4ro9Pv7Fm9csKghF+P +ruprSbz6vmhgvh5u19HXqMLOCw8KF+5MbkDx1u/Rb2RnZwNA3bxwmmFphtVv1K1WfTxMWY47Gptb +No7OcdDL1aSPh2kdMuQANGoVAMTGxl67ds3IyKhPnz76Q3v27Ll27VqnTp1K9zQ2e048HNzDZ8+J +h/ZWxrWbAf0+OnBjpLr8RRGpcHnhZT104t5pvd8/7r/y2C8hZsSLtoCy+zBqjrxS/W6k9efwLH5u +bW+fX6TkW9lKAlrSeTnKf2+K/Zopeg1QRT7I3b+dy82qQU6EyLFF5/bt+NDOX3XhwLT09sOG9LAn +ob1v7okDn0Vcy5nZxIIAiVdwqBcAALTwyjm979Mb/6rATfZiVs5tunXuwAdo76+63vqLkxezJ7pY +GhiF9MPwY0neI8a0EsT9uvkU23fdT9N6yIHmWenHO+Xcu6//D5svPKaDW/CAIGszjqurQ9Gpdevu +Wr3/z29z2ooBQMccEa+8W+Z0sXtQz07tSuJ1ReHrfr1nPyls7cxmAgDo0EKc0uGjlX9H9vnEu9pq +uLTp0aUjH6BT1yDT/M5frNw2M+QjT+r164v6sTIsLcBFIpc8b1i+klkZVt/P8ZUNm1cYKXovvG4S +zrAsw7L6jTrXLdTTjOW4IzE5egnnOOjtZhrqaVbbfJILU36+tHpE0yG0TgMAfD5/0KBBT5480R99 ++vRpfHz8ggULFixY0Ej6TcrdK9zb9ve0OnI+ys5K3qeje9lk1eclsfFqalNdIl3ctvd7TLnSdt3J +TaPcX1xWTlrZWBHZqekaAD4AAJORlsmZN7fC4DnyavTb29u72j31iZ/LjGV5wOXs3UoaGZsMGEnJ +FcbBIZrEuOwdmzmdtraTlNDazgweZuawYE8CIbO0lHKP8gpYsKB0SSdXLlp98FpUaiFhLNHp2JZq +bZWXH4TC1cUUrmflsGBpQLPoxLhkURMvR4qNiH8KTr29KsgPqTCRQ1FRUb0ucQzWgY69/W+hIjC4 +hbgm7lrM7X+LTIM6+pbMNYRpUEc/OHn3XhF413xNLGndJdgXvr97XwWestevL+pHvpJZeTDt6xHP +X6O28mBavpKpZ7YWFhal8lzbTwZUjFTdfPrP3WSCIPgCvtRIQtMsALAsvLf1tk6r4zhuSFO74S3t +a5Vn/ybm+x5m8ngEANA0179JXVbVLTz5Q6/2PSzllixLA4CZtdmC04uMJcbbjv3zYdDUiIiIwMBA +sVjcqVOnRpq2KIuWFfS7TydPg8kq/KAIAK783EJfm+vb/scn5T+xJBqyM2f3sNKBprz63eAp55qu +OmNQvAGAcgpsZ6/55+SloqE9ZQB09JkzCZK27QN4gCCvQr8bj2fx88ekSMRq1Fl/rbec9JG8e19d +WkrmlrWsWgUcRyhqF9AjBHw+sPSzuZcS8AmWZQGYqA1TJ63VDl6wbH4rW0H+0fkjf6rB5MDnAcuw +hpWFY1mOJCkCCIWJnEtPTmOgXASYTopPAqvmVvVc1WWoDgzNAI9X4x7jDITx9PmRFAU6ukZCRVIk +1HLNw8vri3pz4WHhhQeF+ij6hQeFFx4WNmz+9QxZDW9pzxfywx5nUTySIAmGYQGAIAmxVCQQCkK9 +zAf5WdUhW52OIQgSAHS6Orry+br8fLrwTsG934MXJ6Ymrr68PqRNT4lQrNSovj+91Oy+rF+/fgDQ +eMFzUuZAWbSs4v0tevGu+PAYYSIxI4rO7X78wM/b11Q/OKqPn3Mp27/95UnzT5c2LXp4507JcWd/ +J+7w1DajT3T849rvA80FgR/M6rBp7ocTvZZO9s7a+82S++6TVvQzxTA68rbptz5+rhAW0y0C8i5f +V5hyGb+tNB8xLnvnZra4GADycnKN+wxukLJ0j+88oJt+8/F7wbYkgDbemgc59TSYta256n58BtvN +OyTE5dctS3/p6zqjlSCngOYKMtLzEmLX7oz3eK+XW8Pfr6Wcmrjxs25ejaY7eFfbbTyXAD/puqsX +H+k6BvABgMu9cvE+uE7wlQKQ5hZmXGpUdDHnX83z1lz+jSuPwPX9JuLXsi8aAn0UXb/RGPnX82bT +ID8riiIPReVwHDDP7nwTJDnA17y/dx1XszM0w1DPLgjrhFqnTldmpEPGo/zIiKsRxkJjP8anUFkA +APnavE6+bYVCYaPPXHbB8OxB8NXz+rwo3voE5WXZ1nfe54+nrAxf3svzjz4lg6ja+Lnu34gbxcWZ +87u3mF/qnw/ekb27R9kLW8pzxo79yg8/WTaqd67QudPEv7d/30GK+oK8dfqtj59bmGjByf9pckpu +fJKCodN/+1k/2+Xl5XPeTeVBnRukLL67twexZsfKXe7DfE0Fmpgspr5vfOf7dW5v/Nc/e6LGzmz+ +0brvEqb8b2iL5SzwzRyt6d1j/XcKHXp+9fsU70awK2HSa/zQ5aPXTPlI+sW7LYyyb2y9lMtVGtU2 +fmf6ZN/+qz6YIf9idHPJ0xOrvj8m6rVylDcPABy69/Jf8uOSj1fCqJZWvOI7KTSUmW653LMbl/9Z +0NZZlHb218VHuI6LR/jwXn1fcPkn5vSaca7tiqMrepsUGN6ug7+jj6LrN17PIdrf24JjubAnz++p +h3qa1Vm8AYBlWJYh9Bt1y8FIYJRWkM7n83Q62khgpNSpUovT9YdUGlVg58CXNHnZBZNy99p8v4QQ +B88f9WR+LSesXhszmI0GDoRuiM4rc3Fg2eXznTc/R01B3mr91sfPFY8P2rlGW7VoSVhZpty9TxYW +cRwQZhaK3oMUHbo2mM/qPXXl0oyvV3435q88micxNrPx629dv/eESLtMmxrQ+5dPfw7a+kmrcesv +jFiU+DRfYOVgI1GnxucI7B3NhI0UNSOMu3y7daVo/pqNH43MJGybefH5QFa6Qk7g/9Hf2yTfff/H +J+8t1hm7BQ5euXvuQBsSAIDymLJube6XSzZ+MuZHHSUzs/PuMMD5ebyQLyq++fvn62MLBXbN+/xv ++/xRjuTr0Bdln12sbLtONHjYvGyVG2TJ5wBfS47jDkZmAUC/JuYDfC3rk5tev/kk8UE7x7rlsOid +b+edXKAmNCJO+P07C+Ydn5+U95TP5+t0OolQ7ODw8r79Rcoc8FNjyH8WIi2t4cOGYWFhoaGhe/fu +HTRoUIVDMTExixYtAoB3Q5sBQIX3pxoZGb0JRqOfHpr73kf7tIETZk4cFNzKw0rKA21+ShZnbat4 +eR9MLTgwseVH2u9vbxmmaLALBiZmTWjwBv+/byzp9NYsnR29JrehsvpreslD0jX8fuijR49K9bv+ +yz/33ksDgEH+1vXMZ9Dv153MJbM7uTqaiGs4lqtOE5ebMO/EfC2pE3KChd3nu5o4V5YyMTGxdevW +OO0iyBvpf69evdrY2LhFixYphSXfL3nw4MGDBw8AYNeuXW/I90t49n2XH/Xp9cfajb/O+O2TLA3B +4wFNC9svOr/rfftG/CIrE3N081Xa1dXWVKBMuLhp8Qlel2WdjXGNzGtLQz2yUaK79VZuPZ3dTKd2 +cBHyGuyX6mLitG3YZuxuBHnL9busQo8e/Qa/NFPs2mP6sh7Tl+mKs7OyCjSUzNzKXNa4b/Dmip/e +Orx+z+OnGYU6sZlr857fbv1iiBV+wR2pHbO6uKEREAT1G+FLzWykZi+lKMK485d7z33ZmEVQbtOP +JE7HXkUQBHntQe8NQRAEQVC/y8MwDJoYeQvgkzRJsGgHBEH+E/otEony8vLQxMhbgJxXJOcVox0Q +BPlP6LdMJrt7965Wq0UrI2+0520pzCukJV28nz9SV5OHxxAEQRoVw+vXoj+dTFJVPcnMMoz7sg1V +Z92mTZuzZ88eOnQIrYy8UoLrczLDkTRHjmzDdmtpg6ZEEOR112+FmYlQXNW7HTQqVdX5JiYmAoCP +jw+aGHm1tIL6v16NANDpf9IIgiCvtX4LhEKJtKrPTHLVfd9z5m4ZGhdB3nQmeKINEOSN0m/gWI6t +cuk4h2txEQRBEOQ102+OYbkqv03EMajfCIIgCPLa6TfDVfnoNocPdiMIgiAI6jeCIAiCIDWHrESe +WY5mqvqH8fM6Q/CCeth+GSikKmw3WnHtQ+yXBIt5b4pNEARBkHroN1PtP7RdXbWK8vI1bmVOERW2 +K01PWjvK2tpQdfy2GUG6uMl8TEjiTbEJgiAIUgMwfm5AS/zbWYxtI2tqxeNpdJGRub+G5dyp+tWZ +PH5gB/MRzaU+FjwRy6anqyKuZa67plZytStZaiOfFGIa7CQ0E3BFBdrHT3JX7s+LBeHwd+1b3oy7 +kdqwRqdCxnl841NOMYtvPQ3ZUajDYYFUyYMHD6pN4+vri4ZCkFeh3yxbjX6zb2/8nOP4Aoi6lrE7 +kxGaG40OsVpM6IbtKCysTIwF4jHjHabYM1ev5aw4qSsE0tZe4i0idLUUb0Ji9OlE207FBVsPZUUW +gsRE2NSIKWAb9xMz9NOceWGF+dyzq7JiLY1jAqkOksTvFiLI66rfwHLAVqk/LFf/ScC1peXH3Yz9 +TUhaqXtwIXn2WTUDAATl09Zicnsjf3OKz7A5udoHV9K+uaRmKPGsz5xa3ox7/4SGAQCe0XcL7BSH +omddoTkAm5a2S3vJHIxIVqW7fzdr+eH8eB0AQbXuZjOpmdjFlBKxzMPTSdNOqxmS16qT5YRWUk9T +sji9+MDRtM2RNCuWzZlp2yYudcLuwjyOvXUu7Za+jtFKjZ3RUmeRDVGZfhPeXW0mOtI7f09YFcOU +JLmXr/+/4VpV5g5bS5pL6VO7Uv6I1GdTeKJMKR49XC/2AADu/qHYKee1VpXlTFB+gZZT2hv5mZB0 +keb04aQl98r2tmDgGKcZRvmfbsi4rQIA4NTaR/HKzPJNU/jabh4lidgU9+MThiN4XUe6zDPNnfpr +VhRdmZ15HXvbjvcV2sspCcllPi3YfV1rHyAPchSYAB15P2vJvrxonf5OvO1Ef6GDnBIBm5FSHH46 +c8tDQ+/HN9RHeMPm9cHb2xuNgCCvqX5bLFlX9WnS+qu3pclXg41V59Nm3tPSEoGlhmYBAIgmXR1W +d+c/uJS1MExbRPJ79rUOduCToK56+s5LLvhjT16GkjOyVUzrazMvVzXlnJYlqCZeMpfC7MUHinOA +EhZqWSB8ujv8GMgdPJyyJpNo0s5yxii7ol8SdimBgBfuvRKkhYM81IOMv12UUFm4gScJbSXUPEze +FMtwNaxVZVdEudokmmrRwtg1IT9WXTEmkBiR/FWElgFQF+jYSnMmPLo4/NKDd/Ns+lexNMj4XCrD +lvrvJK/TQIcPLYv/92uJeAMAEECSBMU9j6pwAHkP05feclk80OLsyrQYT6vZXrot67Kj6CrsTDq5 +SOxyshbsUSr5gnd6Wk0fSF84lfXjWZqwkH/Q13pelmrCaQ1LkC6uEvuc7IX7lEqK593cbOwYR9ut +8d/do8ubznAf7czC0YogCFKt//0SQnAyngnBPIop+jeZ5UBdcj9NJHuvoyjzUsJnh1RqACD4rl1q +9PUJVVrR6TQAAEjUyL3knzuJRKBVAgCAOlN5IUpZ4veKjN9tL7gfHrvyho4FuJ8C3l723X0Eu88X +/bAksmyGfB/bQ2PkRgTkR6fPOqPSVNoKobOUi09SF3O1q5Uh/c77YadgwUCbLZ+bXb2TF3Y1/2KZ +G96aIm1smoapOmeh7N1OorQL8fOOq5/7+WSJX96mj8M3nppffks9Xeabrnw36/2LrUv+YJTLlyT8 +kwfAMZcPpx2ZaT9nCMQ5yZJPxW9P5aptkSZHdS1GqQNlJF/afSTv5s38S7kAMWq5t/FcV7HijCZH +3x3ZystPinUA1x8r88WunwQr/nyQFVfWECKjSvpIi888IAiCvHr9phPy/ow0mj3O1f1e/oEreSfj +dVoAylzsKWRuRarVtcuMsPE2+6CLcYAlX8oxaoogE0gBAS8qJWUucheSDv3dzvZ7toci0uU8Eipq +Ax2dMXVVrpWVtH83i9Xj4YPfcmIMRgAMuO21rlWpk518L33So2xvL+OeLRVfzjRPu572+f6C1Brn +rLEQe4mY29GaF4P08gDr/wnZo38kHMgod6FBJ2XP2V+Qx5W436nPvvTBKYvWHsj/c6xJ2/Ss8RdL +M6xRi7QFujwQmkoJyOWAY7MLWbCmZATkVGyu7mqkGkJEHnyI09WljxAEQVC/XwWMZt+W2Kuuxv3b +m86eavre1eQZ+4sKCCAqv7fOcMAz9BgUaWn63Sgzwa30xYdUmTTVMdRhfKWSCgTHnN2XsCH+eRm0 +Uvfioi1OS8cl03HJqps51PYpZgOdc5fFGKgWW6h9qiY62grFoC2uc63KKSr96H7Oo/u525vZ/jbC +ekZs8Vf3atxeAkgAMGQ95dPCK8bGIf2trm5IPZtfppkaXfRTdaaBU0hXN7Fcy2jNZd3ssqMS2Zq3 +iGM4HRClj4IxDAcEYXC9E8cCEEAQdewjBEGQ/zKvdB0px6bE5K37M25CuMahtWlHKbBZ6mgd5ecs +MPAeD5bJKQJLK4HkBQXnW4s8SHXYqbyrSZrYVFVsQaUFslnqaB3pbkmlZWgTnv1LLqp+LR6vsheL +0MoT93QyX7Ph9mStalX2OsTQNQmXEV0cy5L2ZjyC49Q6kImfPxtdWc566wW4CfkvZKfLLli0IfkQ +a/z1WAt/YfU9I/Ow/KId7P4j/oeHvJFDLZoJa2fnmgVNKD8XIZGlidWWs0Od+whBEAT975dy4WAq +G+BOxKXqlATPz44itLp8Gjh10T/Xdb90sftKmxWezBjbGfe0JiCvxCO+/EA9+R2LL4PhQCJNC8SW +JOhnfl2GJoGT9QlWJNxU59GEowygkkgrpyracUW7uoPtIiZrf5RWSfEczNjrV4pShGXWn5Pi0G5i ++qkmTQ0ShbhXsMIqL/9UAgek8P0PXcbmpPT6q6BMeJ+9fjwtzNV+wiRnl8u55xK1hRxpZikOoIpX +PaqkVhyTpwRTN+NOVpqzGc+3L/Lkn7fnRUar4gtYEPGbtjZvQej2xmlZlohMZUcHmI2JI+7qKCtG +dbyS9nKqou0RmtWd7RdxmftjdRo+z0SjPBX/rO2FRT9vSbeeZr2gn2rCP0X6mDkhFvi7SvLK+M5x +cZpcgWTiAAUTkbApXqvOTu80y/azbgUTj6g0NbZzFcg9Tce3o+5ms+aeplP94ca+vBgWgChjk3TD +fZSM0XMEQZDXQb8pI2HnTqYzzHhCjslMU27eln5BDQDs7SOJ83RWkzrZLJNCdrIqq8xj1PEXkudL +rCd3sFkqIRgNk55afDKbBQA2Lee7vbyPgi2XtqV4LFtYRD/5l9ZxYOjWNHvvaOLHxZYT21h+24nk +6ZikhJzIq0UpxPMb2YSQtLAxDgkUWosJbbEuMir78+PZ1zUAJCHiQ34hXSGQyxUVLV0bf6+L2YCm +5l924Qk5Jjtbc/tOsSi9kloBffJUVqfBprM7F13cVVS6ffMCkyc0HtjbxFZGAk2nJiu3/JX5VywH +wF0IT90zzGrkuw7jtPSjSymnj1eWM3v/WNLHSstJ7ay+DyY5te7+ueTT8c91j87KW3xAunmEzaxH +sd/dBwDg2Zl+P8W0TDih8JsFyXEdrQYI8uedVqkAoLBg7UnFn32tBt2I31oLO1cKrSP92luNMKd0 +eaqzB5JWXdOxAMCVs4nBPkrGwYogCFIGIi0trcEzDQsL+/1J+4aoHX/YFLfJecmvxUvBRMaLvrTm +9sR8dZfBYG6dQi6CUdNch6ckDdpbjK94e1OY4HkpNDS0oXJLTExs3bo1WhVBGmZORRPUEIGd2K24 +MOwxijeCIAjy6uGhCWqINiZ95FJg8S4sgiAI8lrpd3Jyfe8w2tnZNXDtON2uXx/vem2MheJdP/Np +/179+G+0A4IgSMPqd8OrL4IgCIIgja3fDUvEj/iFAwR549m48RIaAUFeT3D9GoIgCIKgfiMIgiAI +gvqNIAiCIAjqN/L/9u48rsbsfwD4ee5+20v74tJOKZMilVBJpsVUZAtpVTQSMYyIIZQl2zQRyfKl +MCQyKJW9ki1JWUZ+M0rd9r3uvef3R7vuTaEZxuf98sdxe55znvM5z3M/zzl3AwAAAPn7S8ArSgqZ +6xmZ8638PlXX/v4DfcfvLqya6rglowXOASAAm81ms9kQBwC+iPyNW1qqL58vCVtb9LN/Sdja6svn +ccs/8gTekhViIK3qlVjR9y85w+x7CadSCqq+la9F69rfvvQd1xVmJF1+VP6R8eFVPU29nFFYg7+W +mIB/I3lDCgfgi8jfuLm5LDqiJSudSeKKSksySdyWrPSy6Ajc3DzwhyOqqKWtxZKiEQNTf12y3xAK +VXvF3aYBTymVT85s9rYboyEvqehxsffmGl9dCvOy1leRZNJoIrLqYxwWH8juf8LE1Y9iA2xHqkgy +qHRh6SEGk31iclsQ4jzcNctp5bm/uJ+5g5VHHJhENyTxueeb4JL6lpSWlrLZ7NbhZ7PZpaWlEBMA +/jF8Pv9dm/oHtaKULiZOplIJEoF5mEqjN1WU1qZfEZ1kN7CHQ9b2PnHTe6Bq5/3f8fD/1cpKlxza +dmb5qdmyxEA11Pg0ev7U1Y+153j5RwRpKLG0aYK3rc3abGsTnC1p7RkQsVZDEpe/un/9XmULvZ8H +h8vPLbLxSJCZHrR9rYECufr1w5tFElJkhLgDOFzUUYHxOx2l23+5jSI7jAaX1LeUvMvKylqTd+sj +ZWVlCCEZGRkIDgD/zvy7Je8hlckgk0kI8zCXizCPTCZRGYyWJ/cRQoWFhTExMTExMYWFhZ88Ry27 +u8/HUltWmCEkOdjAK+5vHrcgzJih6JvcjBDC7OQNzqbDFCWYVJqIglnofQ7fXd6rk1t0LWyu+TAF +MaaYsoHz+j/+7nxNtDk7ctcNtSXxkTPpFyMO5nUkNr4N8a+H9zrWVU9FkkmlCctqW/kfz2tACCFc +ccFHQ1LV/SwbI4RQw52QmWvKfFOyE3cGutqOHzNyiLjAZNyUtdk9JFNpSWLWxYhl850dHKa5BYQe +OhZkTBPQliCcnNTr7EEuYYeD3Z1sp0yd5btu3wZHhbbh5TwK0acSBEHQTba/5PVSc+/hbXr2m628 +2Kif0ivbFgcIcTUjU7N2psaaUgTCpQluLLrawssVGCGEi0/NUhYz3vSwSWD0EH53PmiyoaaipBCN +Qhdnmbhviw73sdFXEWcwxFlj3Q8+rm/b7MJKG0MNBXEmlcqUGmo8Y935l418Y9HLOQAGLHm3lsvK +ymAWDsC/Nv8m1dWQBw8h5JUIcSmCwcSNDbiqnFz8N+nNa4TQtWvX9PX1WwsLFiz4hKabH22xs95Q +MnFFeLy5Eip9Q+jLkdCrLrPl8vtJF3IVgqL3WMviykYFdTL/Xcq7Tnwz19s6RAp5hR0J0+bej1oe +5DJHIjtliQYZIVRzNTL23eSt3qa2RZ6axtFRt5buMmcIaEhgPTKjXIOjvJQHUSofHPppuZcHy+jG +ck0SxhjjjolwwvaofNrQ0zO1Qv+uF1Yzdw3evu4HVf4T06Ybhw7nCdkfXzNBskeKJ/Ftiyxo5YKl +pU4vTz16Mtdkno7Ye5WRtfzi43w1yYgQVhhMElhzryPCfXvOb+ryZ9YxaZvGS7TXj3lcLofTmuQJ +EplMIhAh47Btn6vRtEWrHbP26l0NCEgavPpG0Ei64B7xqp7dSHuluvZY1DiRhvz/rVm6wk9+avDa +yBXK+NmRVcsXuasbZ6zWIfOqnqanvhyy6vC+caItRVnHt252nvjqZOYRZ/nuve3tHACfN3kjhDrP +/PYsDrNwAP61/E0brk/IKlTl5zXeTMf1dYSQMIOlJqo1jCYs3rpBbW1tz+u232qStu3IZi29Hb/e +kN45c3pvI0JIa4KDlXlb8qs594FdqhK3780fG5q/fYEyCSFjfU5W0rS486/9l6mR8Nv4X38nOcU5 +yhFUGXcf0+3rIhPXjZsuRfBrqOqUoHqEdW2m6yKEEBqjW3bphPft7HqkKSplv/9FZfttyb1rN+sU +RjsvCZikLdX05HDQ4pm2zSn3w02ZPWPAK8nLY5O0jQzE+E3Q+bclaCFliPeBw/lzFnl9p7rNeqab +h7ebvd6g9tElGLLqOrq6lN5r7mVEeCVXlgfNv6y9M/nAdJXORNic6s+i+befNxP2vEhZrEJChLRt ++L55hk6+3ljn9h+qa24F6tE+1COCMXTMpInmNGRuUJ8S51o0cZ6rHYuEJuqXXYxbmH6LvUpHDiGE +CKa6ma21JQ0hqynjpSt0F28+uOqHn4ejvp0DcLl/JjIyMh3pOT8/v+NxLS0tCA4A/xg+z2kUHYPy +9Kucl3lMCiEiKc6kEJyXeeXpVykjRiGELCwsXrx48erVK0tLy09pmJOfmV0tbWahR/98u3CeP3hc +05D6o7oQg8FgMBhSzkfZnKK/irgIcZ8fj05TmONpIYwQIg2e6WOLLx48/ZbXz3qaX1/cMNtclyUr +ISGnv/J6M6+xoan7bQyuffu2klCdPH+6xWj9kePmhO1wV3554n93+b/3j4dx68Ijv/WJD7bVHVV1 +2u47hYW393to/BXraag+2vf0a/4Lx/xrFhxeXB6/aMbeipkHj3ppd/sj1WhlUmZWmztRM+TbTidC +asqW3bM5Z6MuywTsXaJD60+PGEoqMqj0HZuHEEKEqLy8CK4or+w5UCQlaxufiu5uAAAROklEQVR9 +9PTew/q+ngNgIHTcx3/qDT0A4NPn3/XP88gNdXQxETKVShAExphCozbV1tU/z6NpDGOxWO7u7p/l +uudhAhGfdReMMSHp+GvaL2bUjhk8VWowFbVkxcTcq392dwxta+fcnnbo2HOPlVrkPtdDyouY5RLe +NGf7/m1jlekVCYFTfumxK0GlUQlcVVmFkTJCCFGUWUpEeSmbb/4gyamrifPOP8ipRepi3f/E7UNb +fDAUDJ0CDJ0WB55wHTvPO2i8Rbwzei9iAmsWGF5CxNDZpujk0SVLJyfvd1LuDBghOlhvlKESn5vA +2ty0zDIRCUZBQvz9IH1j4b73iKDRaIjLaY8XhUYlePx/uJVEJiPcI2sIPAfAgKdwAMC/nL9bntyn +M+gUEqn1964JhCgkEmbQmx5no++dCgsLU1JSEEKWlpYsFuujGyar648QKr2VmtNkOYr+SbsQBEKt +z/Bkdf0RQtWP86pYnmbdVqsbUmKOv9JdfuHgnI5cw7kf5uAbG/sgMNSQxLchPvU0pN97xDEMC/ac +rEJCqOmlIgWV9ThK5vAR6ij5TiYb68gRCDU+y32JWKZD+ecPhvksZ+WjR8Misq3XjhLuNkd+Iqit +zv52L3cbVmVLK13y7y9fFPEIphATV1V0fjZaUM29jAhNfWb0UUdxKxc3R0X5a7+YiH7g+bwyebVn +FMn/UsbIvRMXeK6zubNtnGgvPfq4pFFx50YO1vDTEerbOQAAAP/5/I1rqhCTweN0mzESCKHaKoRQ +SkrKyJEjWwufMhEnJB0C/YZbbneZTgr2njBUqOHtO9HxM0z7v4uZpPQg4l36qYRcXUcd+6ULh1lG +zJ1GX+NjqS7aUlLwkjlpoZ30ldgzJXpLPWwMtDvnjprz7YJP/y/25lpD854N8a+HpT1Cmwg7vDlW +e/5IaXpjQQkXkVtTyYWFo+deHXco86CjNGXEvIXjdges8w6XC7YWefJr0PGasRvnf0fhPtloZBCq +dox9ykWosykRq5C9Hmku661Mni72dRwzVJJUV/Qs41aTdbgd/7YQ0aW/wzrLdk2xPntKDSxGayuK +EdV/3jgUmspj+ZmrkinNBnqiW+NDt4wLMmMWv6GZzhbQi95HhCRvG3F2Z6GZv2vA6IxoexmitePP +76SnSXdM2Ukyw810ZOvSQxYfpCy8GmymKaS+45yBm+9Gp4ytJgwB7fYraZdf2b0hqtJMjfn2yo6f +f8eW+xboURDiffgcUIW3rw3Y5JvvG9kAAAOuuIfcZV75frMKFs3u+i/fb1ZuoGdxcXFoaGh8fHx8 +fPymTZuKBThw4ADuC05Ravj8cerSTCpFSFrdcktWCyd/6xi6wsKrTRjjruVedsG8smshkzWkFBZc +aMAYc95eC59vrikjTKXQxZV0bcIym9jHnSRoRpvzON1br7/srUiRm5dQzb+hHvU0Y4xrH8f4WmhJ +M8kkCkNUWkXLeNmlKox5Zee91MSHLvi9lIcxxphbkh4+ZwxLgkEXUTJw2XytmIsxbslaNYymvOha +c48wcMvuHV453URDVoRGJjMklHQmzN54pYjLvy3crb+d5dKHsYHOptoKYnQymSYipzVuVkjCiwaM +McYtf57+cYKqBI1CkxhiGpxWhwXV/KERwbyiuJkKVCXXMyU8XBFrz+ixnOB0orb50YZRTOUFieVt +sfgz0lpc2CQ8jyMoeu8NdMu91cPpmisyWjDGGDddXahAH7XpKad1M5qIzkRLHVkhKkNSzdxjX0Zb +Ix88B5ox+DgHDhwo7lVqampaWlpaWlpqamrxh2RmZkJIAfhciOLi4veehGsuneXcSiaRui0rYx6P +YjZJxOaHwsLC5ORkEolkYWEhaP08MTHR09MT7o26qTo5bbAf6cCrOBcJAqLxEbgFYaZ6Ed9deB1p +Bd8S84+Jjo62t7f/XLW9efPGyMgIogrAQK2fi1jaVr3I5/39GnW8LRpjQmmIsMX3CCEWi+Xh4QGB +66/GB5lPZKZFTIHkDQAAYGDyN0GjiS8MrE9Jan6QyasqJ4lL0b4bLWT5PUGFac/HY0zYkZvPJcOr +sAAAAAYofyOECCpN2OYHYZsfIECfERmy9yeFT3PF3cYVEAcAAEAI/Rd+/xsAAACA/A0AAAAAyN8A +AAAAgPwNAAAAAMjfAAAAAORvAAAAAED+/m/gFSWFzPWMzOG8Vx4g+N2FVVMdt2S0fC0xAQAA8A3l +75asEANpVa/Eii//RxMw+17CqZSCKvxeWeD2dYUZSZcflX9kz3hVT1MvZxTW4K8lJgAAAL6h/E0S +VdTS1mJJ0fr/faRNL+M8hokOW5XVOfnjlV4Pm2WoIsYUlh3+/cqzr5o/UEXjq0thXtb6KpJMGk1E +Vn2Mw+ID2f1PmLj6UWyA7UgVSQaVLiw9xGCyT0xuC0Kch7tmOa089xf3M4es8ogDk+iGJD73fBNc +BAAA8BWifK0HTtb2PnHTu99T07zEXzeuCz+VW43VOh/mvoicNXVdodX6Q5uGl50LWTl7KpGSscVE +SEAttVmbbW2CsyWtPQMi1mpI4vJX96/fq2yh9/NOApefW2TjkSAzPWj7WgMFcvXrhzeLJKTICHEH +MGzUUYHxOx3bf/GToMgOgy/FBQAAmH/3K329Ox802VBTUVKIRqGLs0zct0WH+9joq4gzGOKsse4H +H9e35dzXsa56KpJMKk1YVtvK/3heQ2vOLQgzZij6Jjd3r4pKF1XUc1h9/nXrq7+44oKPhqSq+1k2 +Rgjx/joeuOQ0d9rBo4s1unyVafPdyJ3XhV33xKyYNtnOZ09skE5B1E6BC/NNWZvdQzKVliRmXYxY +Nt/ZwWGaW0DooWNBxjRBhyoAJyf1OnuQS9jhYHcn2ylTZ/mu27fBUaFtQDiPQvSpBEEQdJPtL3m9 +1IzL7u7zsdSWFWYISQ428Ir7m9ftYJ/9ZisvNuqn9Mq23hDiakamZu1MjTWlCIRLE9xYdLWFlysw +QggXn5qlLGa86WGT4OD3cezwuwsrbQw1FMSZVCpTaqjxjHXnXzbyjQW36FrYXPNhCmJMMWUD5/V/ +/A2viwMAwJeav3lVz26kvVJddOxicsrZbTaN8Sv8okpMl0WeTTq1eWLNyUXuEblchBAiyYxyDY46 +d+1m6ukNpqUxXh77Crj8qno5xOdwwh+Xz0X5Dn28bfb8X19wEUIIY4w7EjFpsO/FP7NPrrFXY3aZ +K3MLb9/+P7rJJDOR1hUJTcuJg+sybj7in0Kabhw6nCdk//OaCZI95tt9ONSuKwgsLXV6eerRk7nV +PW8VyFp+Zx7m5OTk3D/uNpgksObmR1vsrJcni8wIj794/ljYYkd9uc4R5b495zd1+TPrg+c2je/4 +2TPM43I5bbg8jBBChIzDtn2uvMOLVl+p4BadCghIGrx6f9BIuuAe9XHseFVP01Nbx+XS6d3eqk93 +Ok/0OlPco7eNmettHcL/HLXiyJVr8av18sNc5ux7zoWLEwAAevHvrp8TjKFjJk00pyFzg/qUONei +ifNc7VgkNFG/7GLcwvRb7FU6cgQS1rWZrosQQmiMbtmlE963s+uRpmiPqphqplMmWdAQmmhQf2vo +4ovXSn9Ulyek7Pe/qOyyFannIjevpOgdlhotT29PnTIKskRp0bsWhKh8Ns7LY5O0jQzE+K2W9+1Q +27P9EO8Dh/PnLPL6TnWb9Uw3D283e71BlI7IyKrr6OpSeq+5JmnbjmzW0tvx6w3pnWm77UCvLA+a +f1l7Z/KB6Sqdiw3Nqf4smn/bf2gT9rxIWaxCQoS0bfi+eYZOvt5Y5/YfqmtuBerRPtSjPoxd67io +m9laW9IQspoyXrpCd/Hmg6t++Hl410BUJW7fmz82NH/7AmUSQsb6nKykaXHnX/svU4NPRwAAwJc3 +/+6OoaQig0rfsXkIIUSIysuL4IrySh5CqPn1xQ2zzXVZshIScvorrzfzGhuaen2nGCGloSGN2CVs +Xh/bxgihrtm419exeRgjRBAEv436e6hU1Wm77xQW3t7vofFXrKeh+mjf06/5z/r518zJz8yuljaz +0KP36FJ5/KIZeytmHjzqpd3tj1SjlUmZWW3uRM2QJ7UHbcqW3bM5Z6MuywTsXaJD60+PBI/de+ea +krWNPnp672F9t4c5zx88rmlI/VFdiMFgMBgMKeejbE7RX0UwAQcAgK8gfxM0Gg1xOe3P2RQaleDx +eAhx8yJmuYQ/0/5x/4Ubt64cWWTQl3eJUagUxGtbHO5DCOQU5Iiyonftb8TmlhSXYml5OSr/jdXV +xHkFD3Jqe/zpow4VIYaCoVPAznP3H8ZOLon2DjpdjnvcQgisGWMeJvjdbxAihs6OWuyjS5b+3v1t +7IToYL1Rhm0MNGU6O1mbm5ZZJiLBKEiIv1/Xrx4JGjs+0SOTUdcXNNp7gQlJx1+zHrZ59ORpbvKq +UVS4OgEA4MvP34I0P7n3iGPoHuw5efQIHf0xuoqff8GfzBprrNx0J/lWa0rmvEhNLRQaY6rHvyWG ++Sxn5aqEsIjsuj4fKkEg1J7Rupa73XMoW1rpkmtfvijiEUwhJq6q6PxstKCayer6I4RKb6Xm9PwM +GE19ZnRy3ALKSTfHkNs1H16CqExe7RlF8r+Qsd+hZIfnuhs1AxB8XHHnRg7W0NMR6hYHsrr+CKHq +x3lVLO0OWmqyTLg4AQCgt6nqF358NO0R2kTY4c2x2vNHStMbC0q4iNyvlHFh4ei5V8cdyjzY8aGp +nm2M9V1iFrPS31M73HsY+/e1W5+oe+10kCK4TzYaGYSqHWOfcunyUTIRq5C9Hmku661Mni72dRwz +VJJUV/Qs41aTdbidgEMlJKUHEe/STyXk6joO6yzbNcX67Ck1sBitrShGVP9541BoKo/lZ65KpjQb +6IlujQ/dMi7IjFn8hmY6W0AQCEmHQL/hlttdppOCvScMFWp4+050/AzT9lszeduIszsLzfxdA0Zn +RNvLEK0BeX4nPa0zFCSZ4WY6snXpIYsPUhZeDTbTFFLfcc7AzXejU8ZWE8anBb91BMqv7N4QVWmm +xnx7ZcfPv2PLfQv0KAjxusREx37pwmGWEXOn0df4WKqLtpQUvGROWminSobLEwAAvtr8TR4RGPtb +UcCWFQ77y1uowhIyyiNdFPvxnS2453Itn0Y0F588V++/bJvr9xX0Ieaex05sMhNGiNNY30gMkpN5 +byGXkLP79daNsWFb98et8wwrayCJyquNHD/LqkFHwKESijN+/inBZ/eP223sDn3fUZ6wZJB0zZnf +Vu77s6QOM6WHfmex+vQvK82ZCDEdQqP8FqzYMXvyRiFlI//D0zcICoLQ2F/+SJL6aW1UkMuWSkJ8 +yNjlJ6abinUcKlXDK3pPqoGrb6Ct8REnKkKo5UHEdIuILssJTifYJ4dHLN9fNzN+tYkwQkh++pa1 +h0YuD4pccH35Jwa/9RiYtXf3LNpZUE0fPNpp16Vwr6EkhBCpa0xsTTZdTpJeFXJg1extFRwhOY2x +Swy8IX8DAEBviOLi4s9eaWJioqen51cfm6qT0wb7kQ68inORIOBM+QjcgjBTvYjvLryOtIJviflK +RUdH29vbf67a3rx5Y2RkBFEF4LP4wOvfsbGxNTU1PcvfgsYHmU9kprlPgeQNAADga8vfOjo6Z86c +aU3bXcvfAsaEHbn5kTaicJIAAAD42vK3oaGhrKzslStX3it/I8hkeA32U8KnueJu41tYPP/v+pbX +5wD40vN3dnZ2SUmJtbX1e2UAAPiW1+cA+NLzd05OjrOzs6io6HtlAAD4xtfnAPii87ebm1tHwu5a +BgAAWJ8D4MvN3wAAIAiszwHwL6JACAAAH8fNzY1vGQAA828AAAAAQP4GAAAAIH8DAAAAAPI3AAAA +APqE2LVrF0QBAAAA+Lr8P0833ezdhtKwAAAAAElFTkSuQmCC +'/> +<g font-family='sans-serif' font-weight='bold' font-size='8pt' fill='none' stroke='#FF0000' stroke-width='4' stroke-dasharray='none'> +<rect x='374' y='276' width='286' height='133'/> +<g transform='translate(374,276)' stroke='none'> +<circle cx='0.8em' cy='0.8em' r='0.8em' fill='#000000'/> +<text x='0.5em' y='1.1em' fill='#FFFFFF'>2</text> +</g> +<rect x='24' y='330' width='320' height='76'/> +<g transform='translate(24,330)' stroke='none'> +<circle cx='0.8em' cy='0.8em' r='0.8em' fill='#000000'/> +<text x='0.5em' y='1.1em' fill='#FFFFFF'>1</text> +</g> +</g> +</svg> diff --git a/Doc/Sd1/objectsClasses.xml b/Doc/Sd1/objectsClasses.xml index 2dc68f5af..ac4bc7e52 100644 --- a/Doc/Sd1/objectsClasses.xml +++ b/Doc/Sd1/objectsClasses.xml @@ -8443,6 +8443,49 @@ sin(4 * PI)=4518.2187229323445, difference=4518.2187229323445</screen> </imageobject> </mediaobject> </figure> + + <figure xml:id="sd1_fig_callStackCircleAreaIdea"> + <title><xref linkend="glo_IDE"/> debugger</title> + + <mediaobject> + <imageobjectco> + <areaspec otherunits="imagemap" units="other"> + <area coords="24,330,343,405" + linkends="sd1_fig_callStackCircleAreaIdea-1" + xml:id="sd1_fig_callStackCircleAreaIdea-1-co"/> + + <area coords="374,276,659,408" + linkends="sd1_fig_callStackCircleAreaIdea-2" + xml:id="sd1_fig_callStackCircleAreaIdea-2-co"/> + </areaspec> + + <imageobject> + <imagedata fileref="Ref/ObjectsAndClasses/Stack/ideaDebugStack.png.marked.svg"/> + </imageobject> + </imageobjectco> + </mediaobject> + </figure> + + <calloutlist> + <callout arearefs="sd1_fig_callStackCircleAreaIdea-1-co" + xml:id="sd1_fig_callStackCircleAreaIdea-1"> + <para>Three call stack frames corresponding to + <methodname>main()</methodname> calling + <methodname>circleArea(2)</methodname> calling + <code>square(2)</code>.</para> + </callout> + + <callout arearefs="sd1_fig_callStackCircleAreaIdea-2-co" + xml:id="sd1_fig_callStackCircleAreaIdea-2"> + <para>Local variables corresponding to selected stack frame.</para> + + <tip> + <para>In the above example you may select stack frame + <quote>circleArea</quote> showing its local variables while leaving + your debugger resting at line 3.</para> + </tip> + </callout> + </calloutlist> </section> <section xml:id="sd1_sect_unitTestExample"> diff --git a/Doc/Sda1/dom.xml b/Doc/Sda1/dom.xml index 967f45118..f7150724b 100644 --- a/Doc/Sda1/dom.xml +++ b/Doc/Sda1/dom.xml @@ -15,15 +15,20 @@ <titleabbrev><acronym xlink:href="https://www.w3.org/DOM">DOM</acronym></titleabbrev> - <section xml:id="sda1SectDomPreconditions"> + <figure xml:id="sda1_dom_fig_requiredKnowledge"> <title>Required knowledge</title> <itemizedlist> <listitem> - <para>Functional programming basics in Java.</para> + <para>Functional programming basics in <xref + linkend="glo_Java"/>.</para> + </listitem> + + <listitem> + <para>Dependency management using <xref linkend="glo_Maven"/>.</para> </listitem> </itemizedlist> - </section> + </figure> <section xml:id="domBase"> <title>Language independent specification</title> @@ -352,69 +357,47 @@ public interface Node { <figure xml:id="sda1_fig_exportXml"> <title>Exporting data as XML</title> - <mediaobject> - <imageobject> - <imagedata fileref="???"/> - </imageobject> - </mediaobject> - </figure> - - <orderedlist> - <listitem> - <para>Create a document builder instance.</para> - </listitem> + <orderedlist> + <listitem> + <para>Create a document builder instance.</para> + </listitem> - <listitem> - <para>Create an empty <link - xlink:href="https://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Document.html">Document</link> - instance.</para> - </listitem> + <listitem> + <para>Create an empty <link + xlink:href="https://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Document.html">Document</link> + instance.</para> + </listitem> - <listitem> - <para>Fill in the desired Elements and Attributes.</para> - </listitem> + <listitem> + <para>Fill in the desired Elements and Attributes.</para> + </listitem> - <listitem> - <para>Create a serializer.</para> - </listitem> + <listitem> + <para>Create a serializer.</para> + </listitem> - <listitem> - <para>Serialize the resulting tree to a stream.</para> - </listitem> - </orderedlist> + <listitem> + <para>Serialize the resulting tree to a stream.</para> + </listitem> + </orderedlist> + </figure> - <para>An introductory piece of code illustrates these steps.</para> + <para>The subsequent code illustrates these steps:</para> <figure xml:id="simpleDomCreate"> - <title>Creation of a XML document instance from scratch.</title> - - <programlisting language="java">public class CreateDoc { - public static void main(String[] args) throws Exception { - // Create the root element - <emphasis role="bold">final Element titel = new Element("titel"); -</emphasis> - //Set a date - <emphasis role="bold">titel.setAttribute("date", "23.02.2000");</emphasis> - - // Append a text node as child - <emphasis role="bold">titel.addContent(new Text("Versuch 1"));</emphasis> - - - // Set formatting for the XML output - <emphasis role="bold">final Format outFormat = Format.getPrettyFormat();</emphasis> - - // Serialize to console - <emphasis role="bold">final XMLOutputter printer = new XMLOutputter(outFormat); - printer.output(titel, System.out);</emphasis> - }}</programlisting> - </figure> + <title><xref linkend="glo_XML"/> document creation from scratch.</title> - <para><figure xml:id="sda1_dom_createResult"> - <title>Serializing result</title> + <programlisting language="java">final Element titel = new Element("titel"); // Create the root element +titel.setAttribute("date", "23.02.2000"); //Set a date +titel.addContent(new Text("First try")); // Append a text node as child +final Format outFormat = Format.getPrettyFormat(); // Set output formatting +final XMLOutputter printer = new XMLOutputter(outFormat; +printer.output(titel, System.out); // Serialize to console</programlisting> - <screen language="xml"><?xml version="1.0" encoding="UTF-8"?> -<titel date="23.02.2000">Versuch 1</titel></screen> - </figure></para> + <para>Result:</para> + + <screen language="xml"><titel date="23.02.2000">First try</titel></screen> + </figure> </section> <section xml:id="domCreateExercises"> @@ -480,16 +463,16 @@ public interface Node { instance during <acronym xlink:href="http://www.saxproject.org">SAX</acronym> processing. A <acronym xlink:href="https://www.w3.org/DOM">DOM</acronym> Parser requires - a means to communicate parsing errors in case of trouble. In principle a - <acronym xlink:href="https://www.w3.org/DOM">DOM</acronym> parser - implementor is free to choose his implementation but most implementations - are based on top of a so called <acronym + a means to communicate parsing errors in case of <xref linkend="glo_XML"/> + related errors. A <acronym + xlink:href="https://www.w3.org/DOM">DOM</acronym> parser implementor is + free to choose his implementation but most implementations are based on + top of a so called <acronym xlink:href="http://www.saxproject.org">SAX</acronym> parser. The <acronym xlink:href="http://www.saxproject.org">SAX</acronym> parser in turn defines a standard <classname xlink:href="https://docs.oracle.com/javase/8/docs/api/org/xml/sax/ErrorHandler.html">ErrorHandler</classname> - interface we may use for the sake of conveying parsing errors within our - application:</para> + interface we may use for the sake of conveying parsing errors:</para> <programlisting language="java">public class MySaxErrorHandler implements ErrorHandler { @@ -1298,84 +1281,140 @@ public class Article2Html { <title>Using <acronym xlink:href="https://www.w3.org/DOM">DOM</acronym> with HTML/Javascript</title> - <para>Due to script language support in a variety of browsers we may also - use the <acronym xlink:href="https://www.w3.org/DOM">DOM</acronym> to - implement client side event handling. As an example we <link - xlink:href="/Sda1/Ref/src/tablesort.html">demonstrate</link> a JavaScript - based sortable HTML table. The example code along with the code - description can be found at <uri - xlink:href="http://www.kryogenix.org/code/browser/sorttable">http://www.kryogenix.org/code/browser/sorttable</uri>.</para> + <figure xml:id="sda1_dom_fig_domJavascript"> + <title><xref linkend="glo_DOM"/> and + <productname>Javascript</productname></title> - <para>Few steps are required enriching a simple HTML table with this - functionality:</para> + <itemizedlist> + <listitem> + <para>Widespread <productname>Javascript</productname> + support.</para> + </listitem> - <itemizedlist> - <listitem> - <para>Including an external Javascript library by <code><script - type="text/javascript" src="sorttable.js"></code></para> - </listitem> + <listitem> + <para>Full <xref linkend="glo_DOM"/> support.</para> + </listitem> + </itemizedlist> + </figure> - <listitem> - <para>Each sortable HTML table needs:</para> + <figure xml:id="sda1_dom_fig_domJavascriptExample"> + <title><xref linkend="glo_DOM"/> <productname>Javascript</productname> + example</title> + + <programlisting language="javascript">function sortables_init() { + if (!document.getElementsByTagName) return; + tbls = document.getElementsByTagName("table"); + for (ti=0;ti<tbls.length;ti++) { + thisTbl = tbls[ti]; + if (((' '+thisTbl.className+' ').indexOf("sortable") != -1) + && (thisTbl.id)) { + ts_makeSortable(thisTbl); + } + }}</programlisting> + </figure> - <itemizedlist> - <listitem> - <para>A unique <code>id</code> attribute</para> - </listitem> + <figure xml:id="sda1_dom_fig_domJavascriptDemo"> + <title><xref linkend="glo_DOM"/> <productname>Javascript</productname> + demo</title> - <listitem> - <para>A <code>class="sortable"</code> attribute</para> - </listitem> - </itemizedlist> - </listitem> - </itemizedlist> + <itemizedlist> + <listitem> + <para><uri + xlink:href="https://kryogenix.org/code/browser/sorttable">https://kryogenix.org/code/browser/sorttable</uri> + or <link xlink:href="/Sda1/Ref/src/tablesort.html">local + copy</link></para> + </listitem> + + <listitem> + <para>Add an external <productname>Javascript</productname> library + reference:</para> + + <para><code><script type="text/javascript" + src="sorttable.js"></code></para> + </listitem> + + <listitem> + <para>Each sortable HTML table requires:</para> + + <itemizedlist> + <listitem> + <para>A unique <code>id</code> attribute</para> + </listitem> + + <listitem> + <para>A <code>class="sortable"</code> attribute</para> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist> + </figure> </section> <section xml:id="domXpath"> - <title>Using <acronym + <title><xref linkend="glo_DOM"/> and <acronym xlink:href="https://www.w3.org/TR/xpath">XPath</acronym></title> - <para><xref linkend="domTreeTraversal"/> demonstrated the possibility to - traverse trees solely by using <acronym - xlink:href="https://www.w3.org/DOM">DOM</acronym> Method calls. Though - this approach is possible it will in general not lead to stable - applications. Real world examples are often based on large XML documents - with complex hierarchical structures. Thus using this rather primitive - approach will foster deeply nested method calls being necessary to access - desired node sets. In addition changing the conceptional schema will - require rewriting large code portions..</para> - - <para>As we already know from <abbrev - xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> transformations - <code>Xpath</code> allows to address node sets inside a XML tree. The role - of <acronym xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> can - be compared to SQL queries when working with relational databases. - <acronym xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> may also - be used within <xref linkend="glo_Java"/> code. As a first example we show - an image filename extracting application operating on XHTML documents. The - following example contains three <tag class="starttag">img</tag> - elements:</para> - - <figure xml:id="htmlGallery"> - <title>A HTML document containing <code>IMG</code> tags.</title> - - <programlisting language="xml"><!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml"> + <figure xml:id="sda1_dom_fig_whyXpath"> + <title>Why using <xref linkend="glo_XPath"/> ?</title> + + <itemizedlist> + <listitem> + <para><xref linkend="domTreeTraversal"/> effectively limited to + simple hierarchies.</para> + </listitem> + + <listitem> + <para>Unstable with complex documents.</para> + </listitem> + + <listitem> + <para>Susceptible to schema changes.</para> + </listitem> + </itemizedlist> + </figure> + + <figure xml:id="sda1_dom_fig_xpathJava"> + <title><xref linkend="glo_XPath"/> and <xref linkend="glo_Jdom"/> + </title> + + <itemizedlist> + <listitem> + <para>Addressing node sets in <xref linkend="glo_XML"/> + trees.</para> + </listitem> + + <listitem> + <para>Conceptional <xref linkend="glo_SQL"/> similarity.</para> + </listitem> + + <listitem> + <para><link + xlink:href="https://docs.oracle.com/javase/tutorial/collections">Collections</link> + representing result sets.</para> + </listitem> + </itemizedlist> + </figure> + + <figure xml:id="sda1_dom_fig_htmlImg"> + <title><xref linkend="glo_HTML"/> containing <tag + class="starttag">img</tag> tags.</title> + + <programlisting language="xml"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Picture gallery</title> </head> <body> <h1>Picture gallery</h1> - <p>Images may appear inline:<emphasis role="bold"><img src="inline.gif" alt="none"/></emphasis></p> + <p>Images may appear inline:<emphasis role="red"><img src="inline.gif" alt="none"/></emphasis></p> <table> <tbody> <tr> <td>Number one:</td> - <td><emphasis role="bold"><img src="one.gif" alt="none"/></emphasis></td> + <td><emphasis role="red"><img src="one.gif" alt="none"/></emphasis></td> </tr> <tr> <td>Number two:</td> - <td><emphasis role="bold"><img src="http://www.hdm-stuttgart.de/favicon.ico" alt="none"/></emphasis></td> + <td><emphasis role="red"><img src="http://www.hdm-stuttgart.de/favicon.ico" alt="none"/></emphasis></td> </tr> </tbody> </table> @@ -1383,29 +1422,51 @@ public class Article2Html { </html></programlisting> </figure> - <para>A given HTML document may contain <tag class="starttag">img</tag> - elements at <emphasis>arbitrary</emphasis> positions. It is sometimes - desirable to check for existence and accessibility of such external - objects being necessary for the page's correct rendering. A simple XSL - script will do first part the job namely extracting the <tag - class="starttag">img</tag> elements:</para> + <figure xml:id="sda1_dom_fig_htmlImgObjective"> + <title>Objective: Find contained images</title> - <figure xml:id="gallery2imagelist"> - <title>A <abbrev xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> - script for image name extraction.</title> + <itemizedlist> + <listitem> + <para>(Nearly) arbitrary positions.</para> + </listitem> + + <listitem> + <para>Possibly additional restrictions <abbrev>e.g.</abbrev> missing + <varname + xlink:href="https://www.w3schools.com/tags/att_img_alt.asp">alt</varname> + attribute.</para> + </listitem> + </itemizedlist> + </figure> + + <figure xml:id="sda1_dom_fig_xslExtractImg"> + <title><abbrev xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> + script extracting images.</title> + + <informaltable border="1"> + <colgroup width="64%"/> + + <colgroup width="36%"/> - <programlisting language="xml"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:html="http://www.w3.org/1999/xhtml"> + <tr> + <td valign="top"><programlisting language="xml"><xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + <emphasis role="red">xmlns:html="http://www.w3.org/1999/xhtml"</emphasis>> <xsl:output method="text"/> <xsl:template match="/"> - <xsl:for-each select="//html:img"> + <xsl:for-each select="//<emphasis role="red">html:</emphasis>img"> <xsl:value-of select="@src"/> <xsl:text> </xsl:text> </xsl:for-each> </xsl:template> -</xsl:stylesheet></programlisting> +</xsl:stylesheet></programlisting></td> + + <td valign="top"><para>Result acting on <xref + linkend="sda1_dom_fig_htmlImg"/>:</para><screen>inline.gif one.gif two.gif</screen></td> + </tr> + </informaltable> </figure> <para>Note the necessity for <code>html</code> namespace (by prefix) @@ -1421,156 +1482,127 @@ public class Article2Html { want to rewrite the above <xref linkend="glo_XSL"/> as a <xref linkend="glo_Java"/> application. A simple approach may pipe the <abbrev xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> output to our - application which then executes the readability checks. Instead we want to - incorporate the <acronym - xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> based search into - the application itself. Trying to resemble the <abbrev - xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> actions as closely - as possible our application will also have to search for <link + application which then executes the readability checks. Instead we + implement an <acronym + xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> based search + within our <xref linkend="glo_Java"/> application. Trying to resemble the + <abbrev xlink:href="https://www.w3.org/Style/XSL">XSL</abbrev> actions as + closely as possible our application will search for <link xlink:href="https://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Element.html">Element</link> - Nodes by using the <acronym + nodes using the <acronym xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> expression - <code>//html:img</code>:</para> + <code>//html:img</code>.</para> - <figure xml:id="domFindImages"> - <title>Extracting <tag class="emptytag">img</tag> element image - references from a HTML document.</title> + <figure xml:id="sda1_dom_fig_domSaxImgParse"> + <title>Setting up the parser</title> <programlisting language="java">public class DomXpath { - private final SAXBuilder builder = new SAXBuilder(); + private final SAXBuilder builder = new SAXBuilder(); - /** - * Creating a list of image URIs. - */ - public DomXpath() {} - /** - * Read an XHTML document and search for images. The image filenames will be - * written to standard out. - * - * @param xhtmlFilename The XHTML's filename to be examined. - * @return A CSV containing all image references separated by ", " - * @throws JDOMException General parsing fault - * @throws IOException file access problem - */ - public Optional<String> process(final String xhtmlFilename) + public List<Element> process(final String xhtmlFilename) throws JDOMException, IOException { - - final Document htmlInput = builder.build(xhtmlFilename); <co - linkends="programlisting_java_searchimg_parse_co" - xml:id="programlisting_java_searchimg_parse"/> - - final XPathExpression<Element> xpath = - XPathFactory.instance(). <co - linkends="programlisting_java_searchimg_pf_co" - xml:id="programlisting_java_searchimg_pf"/> - compile( <co - linkends="programlisting_java_searchimg_newxpath_co" - xml:id="programlisting_java_searchimg_newxpath"/> - "//html:img", // See last argument for prefix definition "html" - new ElementFilter(), - null, - Namespace.getNamespace("html", "http://www.w3.org/1999/xhtml")); <co - linkends="programlisting_java_searchimg_defineprefix_co" - xml:id="programlisting_java_searchimg_defineprefix"/> - - xpath.evaluate(htmlInput). <co - linkends="programlisting_java_searchimg_execquery_co" - xml:id="programlisting_java_searchimg_execquery"/> - stream(). - map(img -> img.getAttributeValue("src")). <co - linkends="programlisting_java_searchimg_loop_co" - xml:id="programlisting_java_searchimg_loop"/> - reduce((l,r) -> l.concat(", ").concat(r)). <co - linkends="programlisting_java_searchimg_reduce_co" - xml:id="programlisting_java_searchimg_reduce"/> + final Document htmlInput = builder.build(xhtmlFilename); + ... } }</programlisting> + + <tip> + <para>Complete code <link + xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/P/Sda1/NoCast">available + here</link>.</para> + </tip> </figure> - <calloutlist> - <callout arearefs="programlisting_java_searchimg_parse" - xml:id="programlisting_java_searchimg_parse_co"> - <para>Parsing a <xref linkend="glo_HTML"/> document instance to a - <xref linkend="glo_DOM"/> tree.</para> - </callout> - - <callout arearefs="programlisting_java_searchimg_pf" - xml:id="programlisting_java_searchimg_pf_co"> - <para>Retrieving an <acronym - xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> factory - instance.</para> - </callout> - - <callout arearefs="programlisting_java_searchimg_newxpath" - xml:id="programlisting_java_searchimg_newxpath_co"> - <para>Creating a <acronym - xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> query - instance. This may be used to search for a set of nodes starting from - a context node. Notice the <varname>htmlNamespace</varname> instance - which binds the prefix <quote>h</quote> to the <xref - linkend="glo_HTML"/> namespace.</para> - </callout> - - <callout arearefs="programlisting_java_searchimg_execquery" - xml:id="programlisting_java_searchimg_defineprefix_co"> - <para>Define the mapping of the <xref linkend="glo_HTML"/> namespace - <code>"http://www.w3.org/1999/xhtml"</code> to the - (<quote>placeholder</quote>) prefix <code>"html"</code>.</para> - </callout> - - <callout arearefs="programlisting_java_searchimg_execquery" - xml:id="programlisting_java_searchimg_execquery_co"> - <para>Using the document's root node as the context node to start - searching for <tag class="emptytag">img ...</tag> elements appearing - at arbitrary positions in our document. This results in a (possibly - empty) <classname - xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html">List</classname><<classname - xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html">Element</classname>>.</para> - </callout> - - <callout arearefs="programlisting_java_searchimg_loop" - xml:id="programlisting_java_searchimg_loop_co"> - <para>Mapping <tag class="emptytag">img</tag> <classname - xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html">Element</classname> - instances to their (mandatory!) <property>src</property> attribute - values.</para> - </callout> - - <callout arearefs="programlisting_java_searchimg_reduce" - xml:id="programlisting_java_searchimg_reduce_co"> - <para>Reducing a <classname - xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html">List</classname><<classname - xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html">Element</classname>> - to a <xref linkend="glo_CSV"/> <classname - xlink:href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html">Optional</classname><<classname - xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html">String</classname>>.</para> - </callout> - </calloutlist> - - <para>The result is a list of image filename references:</para> - - <screen>inline.gif, one.gif, http://www.hdm-stuttgart.de/favicon.ico</screen> - - <para>Complete Maven project code:</para> + <figure xml:id="sda1_dom_fig_domXpathImgSearch"> + <title>Search using <xref linkend="glo_XPath"/> + <code>//html:img</code></title> + + <programlisting language="java">final Namespace htmlNamespace <co + linkends="sda1_dom_fig_domXpathImgSearch-1" + xml:id="sda1_dom_fig_domXpathImgSearch-1-co"/> = + Namespace.getNamespace("html", "http://www.w3.org/1999/xhtml"); + +final XPathExpression<Element> xpath = + XPathFactory.instance().compile( + "//html:img" <co linkends="sda1_dom_fig_domXpathImgSearch-2" + xml:id="sda1_dom_fig_domXpathImgSearch-2-co"/>, + new ElementFilter()<co linkends="sda1_dom_fig_domXpathImgSearch-3" + xml:id="sda1_dom_fig_domXpathImgSearch-3-co"/>, + null <co linkends="sda1_dom_fig_domXpathImgSearch-4" + xml:id="sda1_dom_fig_domXpathImgSearch-4-co"/>, + htmlNamespace <co linkends="sda1_dom_fig_domXpathImgSearch-5" + xml:id="sda1_dom_fig_domXpathImgSearch-5-co"/>);</programlisting> + + <calloutlist> + <callout arearefs="sda1_dom_fig_domXpathImgSearch-1-co" + xml:id="sda1_dom_fig_domXpathImgSearch-1"> + <para>Associating prefix <code>html</code> and <xref + linkend="glo_HTML"/> namespace + <code>http://www.w3.org/1999/xhtml</code>.</para> + </callout> + + <callout arearefs="sda1_dom_fig_domXpathImgSearch-2-co" + xml:id="sda1_dom_fig_domXpathImgSearch-2"> + <para>Searching <tag class="starttag">img</tag> elements belonging + to the namespace <code>http://www.w3.org/1999/xhtml</code> linked by + the <code>html</code> prefix.</para> + </callout> + + <callout arearefs="sda1_dom_fig_domXpathImgSearch-3-co" + xml:id="sda1_dom_fig_domXpathImgSearch-3"> + <para>Selecting only <classname + xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Element.html">Element</classname> + instances rather than other sub classed objects below <link + xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Content.html">Content</link>.</para> + </callout> + + <callout arearefs="sda1_dom_fig_domXpathImgSearch-4-co" + xml:id="sda1_dom_fig_domXpathImgSearch-4"> + <para>Using no parameters. See <link + xlink:href="http://www.jdom.org/pipermail/jdom-interest/2012-May/016850.html">[jdom-interest] + XPath examples</link> for parameterized queries.</para> + </callout> + + <callout arearefs="sda1_dom_fig_domXpathImgSearch-5-co" + xml:id="sda1_dom_fig_domXpathImgSearch-5"> + <para>Using previously defined namespace. The ellipsis in + <methodname + xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/xpath/XPathFactory.html#compile(java.lang.String,%20org.jdom2.filter.Filter,%20java.util.Map,%20org.jdom2.Namespace...)">compile</methodname> + supports multiple definitions.</para> + </callout> + </calloutlist> + </figure> - <annotation role="make"> - <para role="eclipse">Sda1/nocast</para> - </annotation> + <figure xml:id="domFindImages"> + <title>Searching for images</title> - <section xml:id="sda1SectVerifyImgReadable"> + <programlisting language="java">public List<Element> process(final String xhtmlFilename)... { + final Document htmlInput = builder.build(xhtmlFilename); + final XPathExpression<Element> xpath =...; + return xpath.evaluate(htmlInput); +}</programlisting> + + <programlisting language="java">final DomXpath imgSearch = new DomXpath(); +imgSearch.process("src/main/resources/gallery.html").stream(). + map(img -> img.getAttributeValue("src")). + reduce((l, r) -> l.concat(", ").concat(r)). + ifPresent(System.out::println);</programlisting> + + <screen>inline.gif, one.gif, http://www.hdm-stuttgart.de/favicon.ico</screen> + </figure> + + <qandaset defaultlabel="qanda" xml:id="sda1QandaVerifyImgReadable"> <title>Verification of referenced images readability</title> - <qandaset defaultlabel="qanda" xml:id="sda1QandaVerifyImgReadable"> - <qandadiv> - <qandaentry> - <question> - <para>We want to extend the example given in <xref - linkend="domFindImages"/> by testing the existence and checking - for readability of referenced images. The following HTML - document contains <quote>dead</quote> image references:</para> + <qandadiv> + <qandaentry> + <question> + <para>We want to extend the example given in <xref + linkend="domFindImages"/> by testing the existence and checking + for readability of referenced images. The following HTML document + contains <quote>dead</quote> image references:</para> - <programlisting language="xml" - xml:id="domCheckImageAccessibility"><!DOCTYPE html> + <programlisting language="xml" xml:id="domCheckImageAccessibility"><!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>External Pictures</title> @@ -1598,132 +1630,257 @@ public class Article2Html { </body> </html></programlisting> - <para>Write an application which checks for readability of - <abbrev - xlink:href="https://www.ietf.org/rfc/rfc1738.txt">URL</abbrev> - image references to <emphasis>external</emphasis> Servers - starting either with <code>http://</code> or - <code>https://</code> ignoring other protocol types. Internal - image references referring to the <quote>current</quote> server - typically look like <code><img src="/images/test.gif"</code>. - So in order to distinguish these two types of references we may - use the XSL built in function <link - xlink:href="http://www.cafeconleche.org/books/bible2/chapters/ch17.html">starts-with()</link> - testing for the <code>http</code> or <code>https</code> protocol - definition part of an <abbrev - xlink:href="https://www.ietf.org/rfc/rfc1738.txt">URL</abbrev>. - A possible output for the above example reads:</para> - - <screen>xpath.CheckUrl (CheckUrl.java:51) - Protocol 'ftp' not yet implemented -ftp://inexistent.com/q.png, HTTP Status: null -https://www.hdm-stuttgart.de/bilder_navigation/laptop.gif, HTTP Status: OK -http://www.hdm-stuttgart.de/rotfl.gif, HTTP Status: Found</screen> - - <caution> - <para>Notice the response code for - <uri>http://www.hdm-stuttgart.de/rotfl.gif</uri>: This - resource is actually unavailable! But the web server tries to - recover by redirecting to an error page. Moreover a web server - may return misleading response codes if deciding your user - agent is unable to handle the current resource's content type - in question. You may catch a glimpse of related problems by - reading <link - xlink:href="https://stackoverflow.com/questions/1378199/how-to-check-if-a-url-exists-or-returns-404-with-java">How - to check if a URL exists or returns 404 with Java?</link>. For - the current exercise we will not dig deeper into the - subject.</para> - </caution> - - <para>Do not forget to provide unit tests at least for the image - network accessibility part.</para> - - <tip> - <para>Using XPath expressions in conjunction with namespaces - requires appropriate definitions. The following two pages are - helpful:</para> - - <itemizedlist> - <listitem> - <para><link - xlink:href="http://www.studytrails.com/java/xml/jdom2/java-xml-jdom2-namespaces.jsp">Java - XML - JDOM2 - Namespaces</link></para> - </listitem> - - <listitem> - <para><link - xlink:href="http://www.jdom.org/pipermail/jdom-interest/2012-May/016850.html">XPath - examples</link></para> - </listitem> - - <listitem> - <para>For analyzing the accessibility of referenced <xref - linkend="glo_HTTP"/> / <acronym>HTTPS</acronym> resources - see the previously mentioned discussion in <link - xlink:href="https://stackoverflow.com/questions/1378199/how-to-check-if-a-url-exists-or-returns-404-with-java">How - to check if a URL exists or returns 404 with - Java?</link>.</para> - </listitem> - </itemizedlist> - </tip> - </question> - - <answer> - <para>We are interested in the set of images within a given HTML - document containing an <link - xlink:href="https://www.w3.org/Addressing">URL</link> reference - starting with either of:</para> + <para>Write an application which checks for readability of <abbrev + xlink:href="https://www.ietf.org/rfc/rfc1738.txt">URL</abbrev> + image references to <emphasis>external</emphasis> Servers starting + either with <code>http://</code> or <code>https://</code> ignoring + other protocol types. Internal image references referring to the + <quote>current</quote> server typically look like <code><img + src="/images/test.gif"</code>. So in order to distinguish these + two types of references we may use the XSL built in function <link + xlink:href="http://www.cafeconleche.org/books/bible2/chapters/ch17.html">starts-with()</link> + testing for the <code>http</code> or <code>https</code> protocol + definition part of an <abbrev + xlink:href="https://www.ietf.org/rfc/rfc1738.txt">URL</abbrev>. + <code>ftp</code> addresses shall be ignored completely. A possible + output corresponding to the above example reads:</para> + + <screen>xpath.CheckUrl (CheckUrl.java:48) - Protocol 'ftp' not yet implemented +ftp://inexistent.com/q.png, HTTP Status: false +https://www.hdm-stuttgart.de/bilder_navigation/laptop.gif, HTTP Status: true +http://www.hdm-stuttgart.de/rotfl.gif, HTTP Status: false</screen> + + <caution> + <para>Handling <code>http</code> response codes is tricky. + Accessing <uri>http://www.hdm-stuttgart.de/rotfl.gif</uri> + actually yields a 302 (found) status code redirecting to an + error page. The resource is actually unavailable. </para> + + <para>Moreover a web server may return misleading response codes + if deciding your user agent is unable to handle the current + resource's content type in question. You may catch a glimpse of + related problems by reading <link + xlink:href="https://stackoverflow.com/questions/1378199/how-to-check-if-a-url-exists-or-returns-404-with-java">How + to check if a URL exists or returns 404 with + Java?</link>.</para> + + <para>For the current exercise we will refrain from digging + deeper into the subject: Your application shall regard all non - + 200 responses as unsuccessful ignoring the possibility of + successful redirects completely.</para> + </caution> + + <para>Do not forget to provide unit tests.</para> + + <tip> + <para>Using XPath expressions in conjunction with namespaces + requires appropriate definitions. The following two pages are + helpful:</para> <itemizedlist> <listitem> - <para>http://</para> + <para><link + xlink:href="http://www.studytrails.com/java/xml/jdom2/java-xml-jdom2-namespaces.jsp">Java + XML - JDOM2 - Namespaces</link></para> </listitem> <listitem> - <para>https://</para> + <para><link + xlink:href="http://www.jdom.org/pipermail/jdom-interest/2012-May/016850.html">XPath + examples</link></para> </listitem> <listitem> - <para>ftp://</para> + <para>For analyzing the accessibility of referenced <xref + linkend="glo_HTTP"/> / <acronym>HTTPS</acronym> resources + see the previously mentioned discussion in <link + xlink:href="https://stackoverflow.com/questions/1378199/how-to-check-if-a-url-exists-or-returns-404-with-java">How + to check if a URL exists or returns 404 with + Java?</link>.</para> </listitem> </itemizedlist> + </tip> + </question> + + <answer> + <para>We are interested in the set of images within a given HTML + document containing an <link + xlink:href="https://www.w3.org/Addressing">URL</link> reference + starting with either of:</para> + + <itemizedlist> + <listitem> + <para>http://</para> + </listitem> + + <listitem> + <para>https://</para> + </listitem> + + <listitem> + <para>ftp://</para> + </listitem> + </itemizedlist> - <para>This may be achieved by the following <acronym - xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> - expression:</para> + <para>This may be achieved by the following <acronym + xlink:href="https://www.w3.org/TR/xpath">XPath</acronym> + expression:</para> - <programlisting language="xpath">//xhtml:img[starts-with(@src, 'http://') or + <programlisting language="xpath">//xhtml:img[starts-with(@src, 'http://') or starts-with(@src, 'https://') or starts-with(@src, 'ftp://')]</programlisting> - <para>Notice the prefix <quote>xhtml</quote> in the above - <acronym - xlink:href="https://www.w3.org/TR/xpath">XPath</acronym>. - Namespace handling is essential since our elements belong to the - <xref linkend="glo_XHTML"/> namespace. We thus create a - corresponding <classname - xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/Namespace.html">Namespace</classname> - instance handling the desired one to one correspondence between - the <code>"xhtml"</code> prefix and our target namespace - <uri>http://www.w3.org/1999/xhtml</uri>:</para> - - <programlisting language="java">final Namespace htmlNamespace = // This will allow for XPath - Namespace.getNamespace("xhtml", // expressions like xhtml:img - "http://www.w3.org/1999/xhtml"); - - final XPathExpression<Element> xpath = XPathFactory.instance().compile ( - "//xhtml:img[starts-with(@src, 'http://') or starts-with(@src, - 'https://') or starts-with(@src, 'ftp://')]", - new ElementFilter(), null, htmlNamespace);</programlisting> + <para>Checking for reachability happens in:</para> + + <programlisting language="java">case "http": +case "https": + try { + final HttpURLConnection huc = (HttpURLConnection) url.openConnection(); + huc.setRequestMethod("GET"); + huc.setInstanceFollowRedirects(false); + huc.connect(); + return 200 == huc.getResponseCode(); // ignore redirects + } catch (final IOException e) { + log.error("Unable to connect to " + urlRef, e); +} +break;</programlisting> + + <annotation role="make"> + <para role="eclipse">Sda1/VerifyImgAccess</para> + </annotation> + </answer> + </qandaentry> + </qandadiv> + </qandaset> - <para>Complete solution available at:</para> + <figure xml:id="sda1_dom_fig_domXpathVariables"> + <title>Parameterized search expressions</title> - <annotation role="make"> - <para role="eclipse">Sda1/VerifyImgAccess</para> - </annotation> - </answer> - </qandaentry> - </qandadiv> - </qandaset> - </section> + <programlisting language="java">Map<String, Object> varsNamespacePrefix = new HashMap<>(); +xpathVarsNamespacePrefix.put("cssClass", null); + +XPathExpression<Element> searchCssClass = XPathFactory.instance().compile( + "//h:*[starts-with(@class, $cssClass)]", + new ElementFilter(), null, htmlNamespace); + +searchCssClass.setVariable("cssClass", "header"); +searchCssClass.evaluate(htmlInput) ... + +// Reuse by changing $cssClass +searchCssClass.setVariable("cssClass", "footer"); +searchCssClass.evaluate(htmlInput) ...</programlisting> + </figure> + + <qandaset defaultlabel="qanda" xml:id="sda1QandaVerifyInternalReferences"> + <title><xref linkend="glo_HTML"/> internal reference + verification</title> + + <qandadiv> + <qandaentry> + <question> + <para>Consider the the following sample document:</para> + + <programlisting language="xml" xml:id="domCheckImageAccessibility"><html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>Internal references sample</title> + </head> + + <body><h1 <emphasis role="red">id="start"</emphasis>>Introduction</h1><p>We categorize for <a + <emphasis role="red">href="#nativeExec"</emphasis>>native</a> and <a <emphasis + role="red">href="#vmBased"</emphasis>>VM based</a> <a + href="https://en.wikipedia.org/wiki/Runtime_system">runtimes</a>.</p><h1 + <emphasis role="red">id="languages"</emphasis>>Languages</h1><dl> + <dt <emphasis role="red">id="nativeExec"</emphasis>>Native execution code</dt> + + <dd><ul> + <li>C</li> + + <li>C++</li> + + <li>FORTRAN, see <a <emphasis role="red">href="#noexist"</emphasis>>new section</a>.</li> + </ul></dd> + + <dt <emphasis role="red">id="vmBased"</emphasis>>Virtual machine based</dt> + + <dd><ul> + <li>Java</li> + + <li>Python, see <a <emphasis role="red">href="#newSection"</emphasis>>second new section</a>.</li> + + <li>C#</li> + </ul></dd> + </dl></body> +</html></programlisting> + + <para>This document defines both anchor (target) elements like + <tag class="starttag">h1 id="start"</tag> and local references + like <tag class="starttag">a href="#vmBased"</tag>.</para> + + <para>Notice <tag class="starttag">a + href="https://en.wikipedia.org/wiki/Runtime_system"</tag> not + being highlighted: It does not start with a hash # and is thus not + a document local but an external address.</para> + + <para>Some of these local references like <tag class="starttag">a + href="#noExist"</tag> are ill-defined: There is no matching target + element <tag class="starttag">... id="#vmBased"</tag>. Write an + application which allows for identifying <quote>dead</quote> local + references:</para> + + <screen>matching target id 'nativeExec' found +matching target id 'vmBased' found +Error: matching target id 'noexist' not found +Error: matching target id 'newSection' not found</screen> + + <para>One possible strategy is:</para> + + <orderedlist> + <listitem> + <para>Search for all local <tag class="starttag">a + href="#..."</tag> references.</para> + </listitem> + + <listitem> + <para>For each reference search for a corresponding + anchor.</para> + </listitem> + </orderedlist> + + <para>Both parts may be implemented using <xref + linkend="glo_XPath"/> expressions. For the second task you are + asked to reuse your <classname + xlink:href="http://www.jdom.org/docs/apidocs/org/jdom2/xpath/XPathExpression.html">XPathExpression</classname> + using the technique being described in <xref + linkend="sda1_dom_fig_domXpathVariables"/>.</para> + </question> + + <answer> + <annotation role="make"> + <para role="eclipse">Sda1/VerifyInternalReferences</para> + </annotation> + + <para><code>h</code> denoting the <xref linkend="glo_HTML"/> + namespace prefix we search for local references using:</para> + + <programlisting language="xpath">//h:*[starts-with(@href, '#')]</programlisting> + + <para>This task is quite similar to <xref + linkend="sda1QandaVerifyImgReadable"/>. We create a reusable <xref + linkend="glo_XPath"/> expression searching for targets:</para> + + <programlisting language="xpath">//h:*[starts-with(@id, $" + ID_VAR_KEY + ")]</programlisting> + + <para>Resolving the variable <varname>ID_VAR_KEY</varname> this + actually contains <code>//h:*[starts-with(@id, $targetId)]</code>. + This latter query parameter <varname>$targetId</varname> will be + set each time prior to executing the path expression in <classname + xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/P/Sda1/VerifyInternalReferences/src/main/java/dom/xpath/CheckLocalReferences.java">CheckLocalReferences</classname>:</para> + + <programlisting language="java">searchTargetId.setVariable(ID_VAR_KEY, id); +final int targetCount = searchTargetId.evaluate(htmlInput).size();</programlisting> + </answer> + </qandaentry> + </qandadiv> + </qandaset> </section> <section xml:id="domXsl"> -- GitLab