From b116b4b5a7f81746f3398288b8594d50d5d4bdf9 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 10 Oct 2016 21:46:39 +0200 Subject: [PATCH] #272: Fix for LZW decoding issue caused by runs way longer than buffer. --- .../imageio/plugins/tiff/TIFFImageReader.java | 2 +- .../plugins/tiff/TIFFImageReaderTest.java | 1 + .../test/resources/tiff/lzw-colormap-iiobe.tif | Bin 0 -> 30496 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 imageio/imageio-tiff/src/test/resources/tiff/lzw-colormap-iiobe.tif diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java index a1b920dc..3f04b1ec 100755 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReader.java @@ -1906,7 +1906,7 @@ public class TIFFImageReader extends ImageReaderBase { case TIFFBaseline.COMPRESSION_PACKBITS: return new DecoderStream(stream, new PackBitsDecoder(), 1024); case TIFFExtension.COMPRESSION_LZW: - return new DecoderStream(stream, LZWDecoder.create(LZWDecoder.isOldBitReversedStream(stream)), Math.max(width * bands, 1024)); + return new DecoderStream(stream, LZWDecoder.create(LZWDecoder.isOldBitReversedStream(stream)), Math.max(width * bands, 4096)); case TIFFExtension.COMPRESSION_ZLIB: // TIFFphotoshop.pdf (aka TIFF specification, supplement 2) says ZLIB (8) and DEFLATE (32946) algorithms are identical case TIFFExtension.COMPRESSION_DEFLATE: diff --git a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java index 54822508..758f7fad 100644 --- a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java +++ b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java @@ -91,6 +91,7 @@ public class TIFFImageReaderTest extends ImageReaderAbstractTest3GEw!(633okP>(=02?{?m`Z6&_Lw-FcNc22f%DCDVU zq}z+2=GhA^-cj!7YCmmWZuhz1{$geSSAA@TT)|0r=9~kRlc*kAk z=3wwekM`BeM&%=+ah^tUH?eoe!Y_Gt1V6_=nv96|GP*Mn`FtkovRB9ILGr8l=mc+L zdEu-#%duCyUxw(FzF&(=#2eprZW9T?Sv#B6ZxA%U-uG|eO`q;pWQl4 zO7S(hJF$6ioN~?g)z^dLf1NxW5Kw21GAC0P4@MBul@lSs+Ra0kg>~oDtFXW38Pwr? zowH%Y-NVa);_b;*#`5>_Vq67#b0hG=eZ2G_(Z1aJ$Ww242QNvy$=yhn?C0a4Ao}x^ zv!n<3Fa@#$c@d@ZZ~5r8if{Ak8_vAr8+@knE^nhlZIGX%S7VT&JftQq9|W>wtv}>9sMvlK z7}CLh%-=M!9~0z6IgS;mV4cSWv97M;1(A67Pl8!N9-j&tBE2RAhc4kK3O18{CxtjE zev^eNSpic**n*&`!pPE)X`!szu<62vhV!3=hMq-!F5K+6FeA*_8#8lLW$5CpFn0XX z?9Is8%X7k6D_7=jHf&z~B0Tgf`OD4ClWX%LToBTHkt%2Ef{2|UWuYiaB4be`Tb8z1 z^ibvclE|=5)>6?AqZ`YjT&UdTVpS|-MbyrotsfnaHcoN%KHj*k zI`m}ol->BV&D&A4&wrfCUTOVt`{Cw`ty9ClI<{{AIC-@#&JF3>E>Yury(4Zf*t=75 zLE_D>_zl^C-I7Nt?|zEE*BSa*vSsvsPl6jYx>u@({rF45-gW#}=>`16zQm27sr}MN zk)IDF-d~zMDBVi_a(J4XvT#_YmbG+r+P+}rsO&=N*Waga)UN+7d(`m#&*}HiHvg1u zb!;6=a`)~Wm#Yo^Jdv~?|8-J+VfNs!~GpZw(6cU%kyNI-=IjYJbCrkMk(;PD$ z?UYcs2EoN1kL!+6s;J2h;U#82x?{E`8aE`mgbd4ae5i|_oISOa7L)BbeAW`TDY4XZ z<%Z)AW6Q}C$z^6zjuV%;l?Nwc8A;1^Qbk)$Nk}iJ<>oor*;sq1$S(I3Gn}IAtf!3R zSC}jFowA*5Jg|x@$a@7&58Z60@Ml)i9v3^|sw#wX9kveZOLm@xZ^T>%h@v$ zyWVSX*X2i<^K`QPH;7rCD_50^XO`nPl=VGV)jKZJrOw|dj`v;d?z?(6xPI&Pc;FiK z&~>`Q{X4|3-Zi_)&2z}(J1VTf^k`5AwHlk&LPZFt(tD>8DkxAnQ(k2$Z;$rpY=x?0@17QMZ)Vt$|oTHRGw zy+4;;{6QIQbGQ43_iDKGqj&0sOMd`M#T_B!!lrQLq*jJwoRylyO8eUBAG3eDt<)mt z<%IA2xl{PFp!00I1$sasu(W(VjX7XJdkCo6T?vXPlEjolRY|P15uBcxL&Q@Y~3%J`;M`Y8sd*NFmS zNeMgS)>#P%`gE-jp06iBz;Nroowxhwoc_V>fkdoz{{c65BKLR3)k`9occU4&W88sj9P=IV?bSj`GpyXw{x{&W3JNr-Rf_UPSa; z6aIVAza<5`W0cKA&>Hz6V(7b&QgC5@5w$U#X$@q580DNTH{`-43ells%k@`IKhQ z6S$&h|77ov+qxG{xG`Dve<#iVU##*Drs_~;dUP4s#G z>_?5G`snw3~VE1c|DX-HBLjWCH8NL?t3N6`GKmBEIr zEs1u#*K3^=P#Fj+)eRx1e@Bd!Xw3jVvt7kXMYd>0 zPm_QP)USx_STU`7qvn>JpNJ@6tuCj!t$;9>0tVE% zT<6J&q)o;~@h-L^)XJj!Qq;4hb~4{l$&2EP5i03T>Oc?f)*+b(4KveMgbbv5&2St#gY$^yIjc|4jxQx4u!8uM5TiAj%mp~WL%}026&x-0Nv*3_M-Mzw!J1GyA?aSwC-WzaNcbvw`!loM49 z;Y}-1?>!UV7nCrpRZWc``#WNfa=&9Eo$bNuAl<24eqo*r^gK%sN_n#BZBPCf> zcFAQRrB0g+@R(JBt=2C}84Mpn1b{tSeGcO|F7fujk=Tjrnhv zuS-hr5ewj8bE`0WSu1)}P7|GiIy@1vQZ8XMC6R3dSS6QXP|6)H0W;b?o#3YvxA}u3 zu}xQ47zS>FL>tl6U!O`A#4Eu~%GU3WhE?xkv`Pa_tvgzU_@OyPGV|!z9EWBb<^iav zqXPhl_-Lc(Te*aBcOG1!?A^+b@IE%twCyEjD4tI}-wEe%TCQ5?kYX?}% zWd+LV_G_5O(M7-l7D!)9e(0%whkIbYI5~}PqVQf3&XS8i0<9h=THNiDD@RJDn1 zAAdKRD=e2*FZ10ivbk^i-Q`z98rNmJd#!#EIvJ0JKzfzDa!fkyptK!8lFaxc z^X5m{+o~w*E{A-fYPc_qSoXduD7Iup_x_|4(UK%N8F(#WV%<=dM8fa415zX)%_?lEuw zmaAF5ptGM!5 z(BXNaDZs`7<~ZwYj$wz)OUf+3O<6~>Z2*y{2=Lq{Df&0W;ZK(>}(^=#9*TTyrhQ`K+CH8E=ZdNCq~70%MX3 znwG1Ecy=EY(1O+9$&{<)D7{J`LN?or4edB;*!GvQr)lUa^xCJg5WdS7 zY7_=gkmbTb$0vnU)Nbo@0Rk z^CF)V%j=Kgg$V_*o4)m?teO+Y&)s=c{p#-@n9METPI`ksxI9akhK#Z+Eq|S?QW@!-d+37cAj_{zOGCvZ)<_{3kJ>LaWG^OswRG^5{ z>MJJ;q=r0;jO0XK8J`&mAx~fCvF3{g%hfTr&%T{dictD()+2g-W?8`WLbvqJV8#Hv zTXV?oT};W1#-l ztlEgwLP-;4(|;8V!;c*X6`4jwfDtv-RDsb^NA7507`=5cYAkH`!(SiCh^ zBbh$sFeQ>-Mi&|rNiTCBn?XTcA|x}VCX;Q(tHv~wcPBaGoauC~`~CUt^=$3^sYX+G zUN)w(IB%F(k#1W2>$-XjJ9lFE{e63yTz8y&cbYJ$`cB#F&fW2(Wx_m z=_8HUcwYky3!XBD41^l()3J03svu8Kji##O&7xC5{S0yo1wzP|%(>siLm^c#$cJgE zAJ?gIrZjCcD$@M6z`4pABa3-*_Xs0(n`$CeV50T1yE8QPFdr!LYHeY#KvO|$jE4DC z%EBfww&nHSnHO{wnzkxcx`OJhD;A*#mC=U<8bFoLnmj1fsUw}`aO;_|?xoVuGVa~W z1gIerU`9a=(Pjh^IxZBd9i|mZMkz2*`l%@E2Pi^5DmoRd1vYD8yb-rXrCo$7TLR36 zRE!bL;0P@Mq8dgvOs4f6{g9v0BrwWEBlqr9pE|9E1-szw!FN9;ypHLnJ0_CrV3^_Lz}-tfzp_Y7~~@I zn;Zb5AXJjXNyafsa!6^kJSf4CrqBOEoyS}x6~c7(Q9r4`dy}TlKD^%8SF%P^=N&Hj zMpZ!4^d+G58htvZeLgkaG~c8pwG0k0Zla8oH;8x~9gG18D3RCOuusu_jz35h7Dc^hk-M*5)H0^&> zEI`vX9yugAa$Fo4Np)-?+p7cirj+3dhTYR4DpnYPh(J-I0O%ujo`Kz)aH1%DC{X-R zt3=zIbZAVqCosT+pP^^2(bVCZg5qdSbpWCP`^=SlNVC&t?Xdj;0LkqCaPH2VMNn0rh1;-IzN`m!$=iBsCE^ye#SdG@bPZV zAF8?(OdkVP%A~1lvs`i-*Ktmd)`aO>IEbV<&X^qo5Kf z0D^|PS}KUw3%Q25)rODjoF_ses1jPvs59=hi4)JRPV_1|^zr4-dL!J z0!{xcl;BA-_4_nJNe!}gLDoWDi)lL6pNQls2ZjfMG8N63qU6)`ja{npJ!XBOn({Oq zJE)2d0N7H`T(4WpZ{4UJ>nFRPpx$K>pbgo$ZPF9~cnIbJ5Qb-OzSCgh$ZJoiYr}*@ z)O0`TGv%3Q4`Hek@EF6OOWQxs)Qol9_k0lH=|KM6py`!Ngvyo?A>~xp3Yt#k_=!1G zqRU$Z@a&-AWK-RThG%}gpM{J(6HNZx(KEdg1ciHphy_5!x#^3hpMH(wgC?MLc<{GP zIsyev7)i}Kr@&*JP7MJF3=j{QDU@-SN|yfK4kh@)ECSr;(>Xc%?Xzw}vFlR}wsSb( zTz}eJG-Hk!`dQ-g^f_ivY!MZ82Y^gaCF(r$y=Ph&X%gMj?R(6GCwB* z_$ZL(^cg10T0zZId=44D zoXwuwsf31i^BrTexcu43eY}wHLb}L8p=f<%76HxW_3Q&xKbV2=mkh1M`EjbXxm?bB87a&90$}$mWi_Qya9k2Ys{ys z_~xYB9s>S{q_#ukmorqih*}qD=odF(maGG)f{ZT}0G-WS7)c|1Vxqp3hv_P~^eOsR zkQQ4%_z#;c>u}5mef*>=jyEL*2x&r9u}gL)zS*W~T zt?;D!!wdXb#Dbc=R{FeGMn&;*=ayBTQQ^U9Sy}+V1kvRz2==4d1wgY}0071$Vg)h9 zQOd$UvdBTh@6xpOnDS}_f4Qf@Nq+1hV{44m{&XeL%KY?~3H zPx)#^2A}4p#vKMU*e(~;(u|D)=E>F#-vV3GR{rvNS5Q|+fZ){&Zl;W{Y{f9+*udd* zzn7FCh4hvEY)12y5F%+^NPA5`bM3EfsGWI`Y9f*4D%CCNOGhyDG=tjb7c3VXG*`O5 zTDHDlp0(<;VoX_sm1+(C9QKI@uiL%5& z3zou>4jP9rX7%P4|E*T}lLGsZ<;5)7=3tUsKUNR30OmQ7#TWy@HQny~ zeCuTF)@3N+0H(g4C<2vowD~axX*=ZLxs=I?Crz2nVX&CU5Px z%Dz7bbvLA{>0Km}gRU8TxnC0nPjy%4hdSuk7o=?K-lrKIP(>VJ`fO*izeUGa1zIAg zZ`8-{M^?1`MnB8+;f&+ z>Eb)jF)M1OP+v2ui7V6|Ph|C>ZYjlH2-(jF-7m!NUh|92P=rdriNLwor+YNLC}{MZ zqBmB~xJ*zHgQBhlQ|F?p1u;1|e;G-G>?SfhP#|-%Hg^b6g#hKACs1{VFYZQAlN1?| zv_sJOgCfR3UD`qWJ*rASz${4(^{`P$gQ&{tJp!*us=@TEp*#VL4)(wHzd}{`NR3&S z^%_Q-4Ejj{wGz(B!5X zZu72hmVDyn=SfhLTTshtnqCd{Yvg6tu-{)F{yup0p*;L|{8y@})@$x4s_&ENmJIK} zqIhH3@Rsz{msZm8uFJYwhXD}j`L>Q$F(&2XdCXyoMO#%ni^{@wlkO#bl| zISx?2mQ5&8y}JS`HBkLOcn~Wn&I6pIaA5|mywDJ?RFwZ+{bQ?@`&apz=fFbv^i*NgxH@!9>OFf7ETo#L6 zc7~vTy`orr`HlQ8*=XwsC12(uqFih^vx#sP<7-rmHNS7T3quKd6 zCMYXrT_6h{o&Nv8gUVUp&{&(wR;!OinXm8AD*mf2VaDSg%N1pQMAw5Uo}L(Gdx74V z^Pg}s{)mJ$p~VkHdB)0b(F8=Gc8Xe^|9v#a4a&Xz5aBd}ckcBV@ba5mAR9D7Kn_N9 zWP`@tA?r3EpQyZRI_@T8!o$zVB0dC`D%dzxX@{^VieM~+WOo9Q=~mGj6uxy4DYL>= zUK=Gumy?8M#SWWLTgCM@?RFyjw2-!pA52&ZzDkNl(>fIZ1AVL)CW|>VTGd9FQp_Qz zw-uO{;R40b?^tszKg=Ajll8@Yy3`;;vDitz#;rqjy}@g171yeU;TJqj8QjnR7(P_k zp=bAT4TW-Y8Ap`{JuQsPe{FEtiC-Vi$S+qIs$jm)z`-FI9&S{ueune-&>N?*HB12i zf9H~`5Ii?lz)6O%toHxFgFNDzWQ$17kwyHloe#4NA;E#ir9Ya_eKskijB&SKZ9>bZWr z(eFIV`-sG*;(GTPKEZeA+utyi;|;4PLMnx9oo`m2a$9*G3H1$Xj%UOQ_v|EHIGwwz zXM!rag!d(+{pz=S)(*d2h5c~8RFiv7u_Q#IAK?jxRfZ_YWm5QQBJ%nFD;~V@&>e13 zX5v-!!60F5hFDZ>bl>`4b3gbh+Ui^cQQPXeZbcH;6=qK6P(D6&9?i^zepo|4D4kS- zF7*=>08mXVpnNTHP=8uHfMNNLG$Ay)v1-5<2Qc1ljVs zsxS0A3~_MkGy^-hWZ`P?>Po`eGaQ!;j$+WOn{|S9y1p-!005MMyE?(`Q@4Y-sJ!=` zZPvrs?$m_4=UDq+Rh*Hk+547f=YPh~Ch&V{4d3P5`#DzMT=vR(Ze@**U9(*0lrBuW zRYqjH=Afh^clYC5G|&1k{kIZ&GI7h9W9<=x> z20p~=LN!%UJN6>oi)V5wa|2=OgMv~RGpdG^vO?vLrhT;H)QfW=o3Jg>#db?7LO=oD zqb9V+addqrO10n~yQtI(vTQV8kvS)oryJ)wou?D}KDtjpO5GF&3SWeb7Z^QPTKyl( zliKjAMUQLoU6(Qfsb1W=Y8cF>AqG!-9D$Hl@TQ--5e(BG7WV(P#8a7~iZ;6;+TCai zjbWDV*?#h}Ms8W>wqhU!$mTVV+Bp3#G74t&;(4?22fmmrax{Ljv&D;P`piOxdeo`z z3Dwm({oc5ULYcN6nP7i%dCJ!2zfOHF;e}mn;C9%J9^`p(kw4F(AIfR>9R{!n82Vjn zWC1JghYx#vH+Alvd@S-wUMa}Cp2pX{fPPJ7vhN8%fv?e|T6_PP)i zIot94fMsFE>qcx8eyH^Ty*}&pC_ZX-_QgT^&Yai##0&V%j)T6VFJ4py@zi^m%J}z$IKbMIbuaDd*8^5^}!At zSt_o0KPrr!!@oPq&{*|;f9s-8*j)o%lTqbc5JXzGt;*e3o_bNt-w=RX-S zKk)C{F8gfG{&{m{3%~X9^4!UnV^-3(4|jKhFXzIsC2hw?tuNt=#L{s_?yish+bg~* zE5~n&fBIY)zVgNB>j`V+p3jXBiN4tN6U%$Qd>(yD{DS{}lJR)o=l%3m-^k6AH?0Rg zTXR>xByas??K<@3UQF`M+WBiaaOA7Dn)Idg=iiLc-@f+Wl6@O~{e3g_$M?dI&k;6@ejwg!{B4pX!NQ=<{nwi&ZJiaFYvxe?2} z?FdnKg+zNm8u5^AKNj^Mmgq2+#z>a!7*_R5tkG9k8qEFeq+Z^SR>AaI4cy~0)8B^?&vw{mjs&+WnEAdj>$jnBJ-N@i|$m4&I=(rN5wR% zs^x#vRj-Rg3hA z*x5UFT)d|7bS?MW$mo`&#sU1%3(2}J@r5$st~6cgX;D&w2%^lWvP^^&_cmZkiciMG zET`>^xKUTWu&uvBtd3N`j#QJXQCFqZ2X$k_E#dGDnRh}WvEoLtHYTKe5zsB8CU;rs zCHW>V$ax{lx- zR4}XH>&y&+L!r5O6w@~FqBvlR;arI5U4TRHd_q>_^RdTfYfh*%eNmNO79wo3HhlvC zH2b|qnXVKVJQ$jHEC@uwiC`9mvNWfCc;2ik)2ir)uc{T2s=K=gKTpn1ry3#vR77x9 z#>)KU*N8n9C5f<@GQ){->`liAggKOq1OP5rKeGt5EUhy|euGXMgf)IEy4+^woufbT6jEe_qhj zx~x}qM(5&NF)h3QiydD^4v^%cCP*Hp0YM6J7GR@G_e6J$g$YELn>x@8js+h&W zIjUNX6VbeM0YDnm_e7UEb}+o0EX75u_u&}~4)OdlycBe;z@uMnY)j>yOKo7)L= z5~EBX$%Lc`U~D7gU?86#XPiUtO$PcK^f1wvR_fcuB=gM|cb0wco`nZb^7)@}4c>8m{fRGhJAznjuN}uX9(&zf z(5=8rYq3n&l@L)7Sm>G^Nenl1`C@5iAr{;Qm?4YD4$oK2$^1%-EQm0wWHn;x2McP$ z7Xm!uzIwcs^d5VI=Y66O;OMow;_dq3O2KV+l7y$+fM-E{WI>b8vn@|_tFKwI=W46( zGgsGwR;^!B0^#-NpE)30)vu5e5rXt6SB8s_`u;dlr$Y07Ckt!=;O?x|CIUQ*7@>Ut zJbx&JNE0?whgl>b2z19v1)<6u;VyO9y1QjOB1qRgsM$AI`V-rtI1})e&(A@y(vVC3 z2LMuWA*>Jp9IMn@E`Rsh zReXJxJtPHW+Q~y$ClGPML}Nr}4iE6#82|vkP-(YDoZGWd-8RLq-H1*uHWCM)9|v3W zf+LtaVqGyZ{&VCanlkZe9@jb)oPiS{M?Y>U9|ox*WfocQXlI_%B+@GQs>z^vbUo-Ii>@@`OT@KwY#< zJciKO1SOY!_gM(PV? z0<{-O&yTK6O6%*(>4>nwi?|R8{3L$?F{r@RE-{4PHH&U>9wtvjXHs`%NmU;iXJ&&y zobiUWAQG$qk<$pAJ<(!X8f1|k){y>SGXo6EKs~;0%72~ApT1~G z7c3X_FV6%^WSR?Rwmc+E_R`6`^vR1Z30E>EiB}US)S|2me^^EpZ^r8R8&$m2DhcYL z=(U7`v`Hq4&gT^OHTZ&W%EZnY-j_0yZh(j<0_U4NWx6lC;IT7h3FhMKM&B~8BM8hO zM3nTv0=!k?+!nb7U?{VJC;Z3<06L9G;k+B60?)-;UZ0~B%1L`f0HV>-9+z)cPZXNN z3R81*=fQDcAyHQaa1%Xl5ejQ<&hA7i63-@@^Kdk0O0_bI{m&FvPjhDuTKX&T6O9F{ zBM?*fr9B!EQ%`k%B5rjHmP^6P6F!!<&PjW$l#zLF6(4t8d2;(m3J`6l8Fb5B=|fx@ zgcCJ##H0|2+g1LqC1mcZc~G^KaH&D8n88$v#!h}$buk=NVE&mQrE?1a-SV)wb1+BR zWez} z&(fvZ>Hx8N1F>81TV)17EaLT;%zzwXj5iN{O>6#dlI<7*{TK0W2I1LpKap|Izx?i^ zIQQ#`2I&tnzo+51=HP#zfY>K#FD~E||LLm${5GUPY`n4C^0AbNOyZ(c+bW_{{^3(^ znZ%#BZ=Xe6HPQ7#BE){cZ`&Zm4(fjYNjaM+^+LYRKtqCzt*-#p|BiWngu3fE$fPrg z;0=TmXApj56-*jrQM>^pfOt!n`BPYQ^>*vh&SO944F6%7&-Vd9wrvrHsmf?mYS#E_ z2q*a~Tov;9YTrWE)|7$@kTGDg#0!7^7k|2C{*<-{d=iop2d-vHdwl>-eUkYzjqqmg zT*P*rWqozb)ERtVCP_rvTf*bdywr!h<%?Z$w(IsDJBc2f|h z`rK=&GcEI=R;e>*q;%Tf+O~+t{c5!ok<#XF(N0WT3{G1` zh(CW`h4ZJEVRI5EyBsUKc4D04glh>sx*|EZJ9N0Qm!ymov~0KKoy9XSEZ%nICy zfDLtHhvA^%OP_}d_&y%xpXvPnznWOs4*D=6(06+kPta*;EHS*Qd@to|t`V0Q4X_`;3xbCbV&uy|b8G`z>?Q zJ9EXwdOflihiyu6XF=1H5#i>rdoD$LK76YNGVZM90!7S$K5zVqaUJ zG`@ApC}jDO*{2tJcA%;p{R8371AnNM3?Y;^&lq9sC6wZ0)Kw$^|IJR!W332fAp}>f zdVJ^>T-~w%DxD+r*B>z#vRcK*CMC{AE`L@5h@{9!)nyE=-B{a6Ld@lB{H?i{ILc@vBO>T%^y^_a?1)M7H`xBSZ|N_8`)z2}w$CoYq!W?y;?P9nu)H1rN&x;(MA|n{ zvD{?npX}d9r*?CrbKtq#L_0Y9DxC{D8vLKEg1RW9ACR9~^R(pKDaey7mU#9ELW&ZA zf;5{x?uQnH`lgmQO!*-zYg*63V^X^ct1_w4-?l|LQ&6UWxDZk7aa!nR#=r{il*=@` z7DXy7f2vk9hP~8Gu@hE5{ebO3=T{=^7n;?h&O=P+)=X0y@Muyd_ARp#MYhVk?&Ayk z-&BjL(RGb)-h8hE=+%`$9!lXtmUnEc7^l$oiUse2eu|cSx?oWHK4ec!LgcR zVx?}6JQ^m>@1K$=d>{7gbL7FP(ob7gI=);u6hAGHFVCKXZEPAuo)P3$G9Q}i3rAk& zXHu+aKXkW5y`wPG!yx9pAuHdyTMq7Re0~c22y078@bx*3q?CnSPhgxH_it5u(DZks zjZ-9@lEZO(gJJ@EvPXGEl@S2UXo2DsbN19v1D*XYJWtIXs@&NDo*vDAYS*id+Yvu7 z4uERi+aG|Mg7ox3)8lZPErYt(A{33c*B8H^;}X9vZMBPJ$Xdq+-j=uCO{-S4iLH5X z#%8zYiHdFPlG0)aTVU+##|oW26gvILQ&!4Mw1kZ5cNrNeB6t}fE$p;W0_2YuPtH<+F)x_0a(@Yrh^sM9O z0Us=Wk}}&5pP^)Y^JAlA@CFU|bn*|nk-tnbnQ9~az2s97IP*vf0_V@3MHKnwaf2wz zdEg^A*(OMD5It>EuzY0a@~>B&OZGNuykiH1Kfq>Wz?(I-Bmq7qMG^uh`|57k@AT?> z;fZ%1JP7~Y_oU%`;&N{E7i$%2##)^sl0r_uYA#zD@Ei67;bmd2QW?-I-6(dBPx3kO z)OC+%m0sacTjOA-h#Jm>$WZ#k)R1h`#vfbrEwEl&WY<`dlE>@H;}(GFqN1-JTC=2F zsqkX^KMu-{IQFP_QLyhCeswS76yd_vjhM=c+ft{oYs$@kf#|ba*OwChS~6Cyq=el5 zdgX6Mwd(f+Nx|4wYFBnP0{O?>urivDNNVtXNl8*bBmtFy zPB{EYuf116j-^PC_r=BJ_nq&rJITmhx7feNz5bWyP{h1^;LNo^mA`FT@?fYpn{o~k zFw?Y!Sh)zNvW-t_t;TIkExtl*W&IG1-`x_{5D{QjJ|%j28IY|0kdd=5X>my6@fWb5 z<_bw8FZ%rAvUmZH+9N~!h1h2`ZgDItBYAKY=2iclHGX4xwC6Lk3v^tj2IfPrlb~S# znXd@bIR8Ay3Vth`N^(@IrFksdL#rMSfHz_!6)eQo7bYuA0_@RE!l$a!ViArbbaW?3 ziaHpR9W(wfZvZf_5lGAVAf?-PBrgpxXI~p0Eqik_a88OaN>uF=$k9KNq}K$9Y3P&L zs)U%va~W9xSck_k_Vnv$nrMtv0Om@rX0Xe$dYDhox#DbO9JPou*S zY&AW``8;h1MNI7}L|hylCT3KrBr9jzf{T4ce_o1~m(rJ2NRJeBj}eB|cPi{~{Dzvn!75~VWUj)?zFEw;UR zF)Deq?XnAbb{musHM@*(zx8u0yPefwpH`kUJqo+%6r;e#&<`r(b`Ou9lYq^ z!>+->FE@MdS-e;eu1Z}Inj_xOa+%xj*o+z@B;8X~(C}&hwbJTi7O0E^3us##)L#^X zn1|DVZ3n1iGysxnr*jN?B6m_W`huN||4R(9b*&*%mKD_QKG?U}Wl`-D>8Ax)$Y<3K z8@x%_qtgk&1S_0%*%egAm+9+HJHamf#oq7O)n$u_KqcZR)d1k=xB1x|`(AHm;48;U zsnWjR`{J8gJYHlo=})ZLM^y{HyIwg~g%)pn)RaT}-gp-kD+nXGRe0)SvZ;kWh{b3c z$Pjz~lG}svThHCYPyFgJ!wS#$Q$z`QnpzetSVg#@8_)I_!L+DartP~AUsh5Oi}kM5 z|6mTo$~(HMF9yA21~&K@jRUy;d}IPBojT;O)R$Qx!ygcdPYI&roK}SETjrLw5aN%6 z;kSEgwhWycGK0U*zG$ak@OONvHyA&7u=-D#v$y)W>}&YdlFrS@+J;WB;hO{X?Ej22 z8{JV6!89wO^Qvb3SA?aPOKvh^FJJE^sy8Zx{ zBB-8*S2FLUdQ>pqY#?&^+jM@8o+Bkt01XG*vzET=>4g8m5hxH4m(Q8;l-F+J^Hq~D zgpW*N{NKf(7yn37Dcs#-YFxMfnf$q=^x?EM~|8~okx6M4*vl#oTKJpM>rN+SNyM0okQFCrv!=QKRcp(2h6 z83=jtj(X<%%l?6vf3{zp+I>Z=du99U)%gQ@Q4j=f%`9TU-00fr{LlFH7Gx4{LiDBd z2eQ$bOiGyPhq$yx^E7n~rS7RI9oAXT-kuLLtzkFq0nwNFyD)-X5u#mb9HxU{Xn%<5 zGPfC1g6T-1xi}Z?DR&q2j+r>K$%F6a7MsTNb?NF3%+V<3&p%#S{4xnRFm=FFXnZfz zv@8s@EigJ3-nteMdKO9g7IXuPlCu`|=PcR{Ee4G&W{fR1Oe~H~ksM}7adV`y1=0|S z#GsJgXk>&XGRX=_w?>xOAnR?B?HJ@B7CB>w+^|O;JD@lmQQ}T0WoMM33ku_k@^(W- zxTBJAD7pu##1mETg=+Uk4dPKVKBx^})G-0g;fEIYM=J-Q4Fl2tjSlZ%bVLX`DHKf) zLzjf3>(8UxBhZ79=$R<=#s&0ov?WK3rFg8R@_2MTVo2Wy$h`)ZdxZ5S<{QHOKw@$-?nZqu^ue7 zo+-25D7QYYu;Hk*5wEgQuC_6(vBA{Zc;B&!xNDPCXG6bdQ*z&?{(((v-NJajd*UG)M86-wJmA0t$$(L-flbCVLS8EcH@=p zaVLhO3nSi*QGSgv?7?7qG2VTch&Py|ehhs8Q}Py5{|?hWh#4Hh%nV~T-eZnOupFaU z@ef$#k66R8|I{7U`x7=|0-H36rB7i?rm^*(vF$V1!CCCg9CqUi_ITcoW5G^*(N1~k zzci;EX2s5X)h^yc!A-lFA9fpCcE{WH96R>nyY|XI?G5+r zF~97+_w6GN?2``d=|}b@zwPV)*tZ|s51!c1{I%csXMX}XaDp5pzz!-*4o1ulScn6j z#UYZ_AsOnB1#>86b7)|9=-_Y|;&hnha@gc{IN@>R)`T92-tKc8EI;NjT1)cHES7Jb^oLBAg_ooK&QpjAWd!vQBt8r$~9HWCf=z zMW<3Fr-n059m-BaDo(SiPMc~@C+g0e8qN}$&MI2YM%vC;9cR3*bEKYgvc7Ycfph6u z=Z1669frj%RKsRiV8$Q@AGQ=%8)GaH_tu)-N;k;W%gxgT0+iaBE z<^{KtXm`#ScZpbcm5c61aqiel?)Z53$jk1@3GP`}+)ESP8?L%{B)JbIyU(V$Z(egh zA>uemI0^E9X;GX}8V*ar;nQ)E8MtIBE{ldM&BQfa$92$ggU&4KI^ZJZw1ue2l^Y(w z6lCojlm6MKYwxCX@;#gaSghPBna~fI!mP) zhVLOldg%>qM92&Jvw@lW(v%SzM4`}ogfg@83eOP<-t45Vfo4SB$q)fZ^v7A(Pn2m<9ChkY9Oxy_hdJ99bA%6gDt+$a z_#E-AcgJV%N?FRbJgGu5tzvF&Wy=?+O9yCrR(W64DPK_YUm`+TpeSbSk#Fe{e;tJh z_1m|0b}olb8IdK4h@|O{`R)S*!Dn}ehQIs;K2xUY9UFX()wir>3DhPQIPGkI-h3lv zzW0EzabBm|L}=(Q=V{iNW|llVHqKRnOhN!O?;%Z9sP6x?ciurww0*x1kc3c_&=NqA zB$R*^l+aXq#{$w3q!X$XApxaBARq!F)k2eI#X=R3A`lRy_g)ivPeRqheLwf}zR#I6 zbN)Mjoi~%oekZfnZgzKebLDq^_7fQn+n27kOlqlRoKIj}W2xLpn!HmP4y;56Vls^7 z9+G$uHC-U88GK4E#&x=-YkGWndQo_KcWmbCaSzFo#m32QKy>ENX~ttV%HJByWfeDt zjY3$diTBvw!o;=O*^6B{0d*oQ5r}6bWG-HX1Ye60cLGh>yd<_Orpm{W&nw?kc7S%z zU7aSTv=HmCb2v$dmkzUByx>qhMv2u>1j-tb5(N=wC=wF7fdq!4Lho3H>uaC&DscoG zIHI1-%NSw6#*Q{$IPc$Z=ps0fZ$mmv9r<2>T4cZ25CC46K=Ie?vZKi`I{?_;N!fXJ zA)ElX7+OIHg>p0b-(|6}4%g-n7xRdU{Shwk2mrpvUg69HMKgMxf|#*k@A)&G%W(SW zM(*$;*4+%-`b6XkOG4)u$4= zgoqm`)dv<82xmeOj76F2-shzSTA~Xq33c!BLQDL@Xjoo_bHw(Ss}=I#U>BG8jGBAT z7b`4E5@P}4va%3Dq?a?{>tjek8hZ|B?5*g9-&v5%Y(YsqVrnj=MVI2`=xUbi>g=3_ zOD0|{cFz2)c``Om+~f)|nc=sFbe+}Np=985^K@KU+{p^|%&%_B32r9wc{S6-1$0Eb zBjn6?VnOW+#F?O*$j-*%yr2a-mABkcn$UKYun_02CgpAx9S*}^WqTOo4*(LKm%0+% zv*SXw3A5jORuw<5THaeeyP}}Y5bm$cv>|bAfnXy8jf&M~(ANbOIe<29Fg{9KDk?bz z8(&?UTst|v9J}EWHSAF^3ILDE5w(bk42=GY$DQ~zHr=th@cSR#)|yxElj{gI2LJ$D z#FSYS)CyRSS%G{CA3f(0KfGELb3eT(D)f9fAF?=`Wt{@Jz7V~B1?*`;^Yn_jPwS$H z1McdFN0<@9xmwmIeiQHg*#ICnpm8HM1m~%wjVXW^ZNU4q#j00KSf~X=+;q7P>f#?w zs3U|9^nr<%;S(2@Kl^xx61)@Ryo*n*iN|_t@p?Pelt;Ni^jRlu94`CEZ0I}q$N_wA zF!*4BbD{6Ue#-#W#6r1K1)T|7&~R@H|F~vN2m-rRdwy&3BIRh_DKw1mq9auD?$b3y zY<#uSLfm#O*Mmu}ve*hpy6|?L^UDQ*&HQYnGa;g@6NXlYm};;ue0usv#TTvST$TV7 zoCoR0MKX&KNjI+6-h_~D`Ml|Xm_dirohPy-g^P6{BwhB}%S8STs$3G)Q0S9cW{S8o zN75_EB{QNw8|3aT4nnXHQp8=;_m(6u(C(fmo+RF#orWl($~Dr^F0XI960My?vam!` z=dwfrh}oqWv+I6{a5@_rkA46Vo+0Y%v6$Vv?9A+DtxX$>14rKvW%i6Kw5B@)@DEk- zsVzB0gmSv(F#&{gcBbxz*8l+6jp$uG5vLWaA?pa}70toGTSSDvDXrp0$_`h zvkT28l)x1@cS`^VRk7Hj>(;UR?~QRL=}ZfR2zWdZVMa_;36NNRxJx*IbchyyfS7)~ zA{*|h6+^zAMnso|)|Qjw&jMQr;WjTATL|;(dJj84P@@%yoz)Q28W!w#h-oc^&w9mQ zntMAI5)uVLTLP2|0*l`Tc0PVUhqG8b2LR6RFNDk3AguQJ`0zbJl5L`eokwg}aFuy1 zWfDPAERYTfchEr;emrP$0_=4eVy0$W5q9KR|IjPts16{@JaM!>Ni>}zcHXWrV{kfu zkxH+R`NRX!2eV>VLYY?&2RAf0-k&tQ`Dix|Q~@ET3jpnxHtT62TGSBR9N8X=lJ3t; zHiQVFVY|XZ$nmJ2y>q=y7cOQ52*9YabyY-aiU6)R@OXV5LqX#SDfR}t`^QDfL>1dj zdG(9ugs^caZI^SJ8jMLdY-U=Zn(o~%0cgW-ATU8K*TA{&p@vwBUV))Y-#$Sz-|(%m zYyZP0r_#G0P2KtrKv7NhU(DSH9%&TxyOrJb7&ss_&p-HP<(wmD5srt4X*zsv;dzJ& z1X$;=#rUd=;~ly`r8_I4L?1VIdvBjU2KSlU8rY#P;eUMw^za4Nf&b;i1FX<-o!9^=P<&zgNl@^@PYl)Iy2=OPl zU_JFvBfcIaqndwA@$bHGJV=~qoQK#LtsgO@G> z&E3`Br%4850cS|vhhd18JEw`;HOfpw=`}3}Qwgok-Osh7or&y*;zk#bR&1XlxxWYMQBJ-Jd=^K@>M8c_eaxXMo;2ih0G zpr&17#jn}j7lhRAF?uDT+tXJgb))z8=>(Cyuem3#D(d&Ro5W~`YGTFx7%dG8QR z1Tb7|=T8)w6-ukLT(}=*dc{{HB2L?^RlaRuO#W(<#D%CZv$y(7goq+DMq`n$4WS5x z%2~Vz05&h{HD)T<>N7TYz1w%()M^+v-g9}YW@!7vGlO!8JSPu-_kKw+p9sjL4F3)-GAvKMBx#TN2u_G`Hv1Fo{H825%%uXB^-%dM zH!=^Q%%7P4gga>UquVGWy8+TBC-e1y+1c=$Gcob)VIHj7!Gw6t7#jwp1EWg0{Rjs` z-G-$QOT)&P5@+M4rA1{<&9_^_=E7<}VOL!SzeW5+SeCtMw-=~ceg9lc5<+;|Dxu1- zLcFBY>nCU&9>F(t7Iu5pGAceh8Di$1P78XQ*dF0@hxIbj#!~VL-WmR=Ibb3rXJP+d z)|;jMiP}%4n?0u9UA|}eItWis*Q%!AWcbs0&E5nX2p_eAYf|atC z`?GV*Bfq4zgt2#P@v5I^eyOSl;PYh^SK}0pQDv7>e#*uQ3}#9c=hD~cdcqmr_o{wK zk!C9*8rhY}qnd8aI_+>lA;IHz%@AwYb8&h0AJBw2$+N0W$xMiik<*+-ejLcn^`Lj{ zI-G!dMxtaYgNVk#6TT$X8FNTXxAGI#FNouEqv&7d#vfYOx-&P`_|%neJ>x4;ote8A z2Xwv&{S>GQ)PZt0x?V}F=xMjg1^{jiB|YXl5SsQSB=($9*UsQY%{e^5Zqy~pl=~z# zht)GoSD4r3WQso9WCXtnc-*SbAUf9ydgkK`(AkZpOuv{ER#WDA3WyZfgw*k1-#1+OjQY>uJX<2s!1A|nIpyT1Ouu=+v~Aa}=+`bj&!Uz1qOpt*6Hl!{VW#E9n` zs5{5ig{z0!2r((2CPwo$X&b+&6hH49^Ej9D#+!VZLZIp^sBJn6Wra^pgw;9mVW|3B z?q?{5!1T&okcqg4)w}-SPbLCQX3N3@IYw(PU1hNXPo}teoLQv?epugqN4RG5_LDvX z*Bw5vetVh&ta|X=odfn z`bTQb+youpQwvH5MkX!YUip2bl4}M>{@Az+56pA~-u1 zlIU|rqh${*IyaV;?2~Eya}RrAeyleA!5PQ)y+RCmZ1UxUOuvpj%5}=vpKRYVgsy$G z#_@*d`DUi{>|<{(jw==UoyqUpFEm~nw|?)JSvs&!v05Gv`Gh;uG<1M=Tp7UDlG&F57BEo{ z*mWBOH3aFKf)ek7x~#!ad$2whoahGb@??fSVAjVoCq82C3V}c)Ao|ge#K(}X1QzHs z7X37q#1|}GS*+04tontliSJmuirJuF+4RfV606v{YT2Pb*!4;5iEZp%ohP8ZC-euz zk$S2w#| z9Rqa!JYVQ(gfa|{vgi7IiCc<=yIWBy=NKf_;(4ma(|zj;Rz$4+9&n10L1g4?w>fXO z&4s6qyfZIg-Of2b{k@m84W{o~tJ?E{8F)A!^RSkv3vVF0jl|9=B5nQ8ZoWhqWMBB4 z2jDD{IIf6s;<=>!4Z?g;47y@cbx7|fzV1$_auq*HAK;zpg2F)>5WEe=XHf7ncB5x< zL1$)Cgb)lu-W9mbK!f@~6obClWeC#egdi9E1Y%s!PE6hhAU=Bw0037pzC$IQztD39 zHSw?IIBps0+eY9;TiVY_6#S-abi%fE35Bm#jMc=`rwe|skZgf%r zQuBo1j5}O86=-7zo%t-j^-RKUT;fZz#Fy6+il!~^^L~)i0 z8>aAYYbZb~rIUzie?zVb*$_yQnFvETE5Mbx9wx%@k_!-5-Aix-jImEmz3ylE&LuTzS+!h6Zku2*!skTq9VB1@ zJmtV*8>F_QrfvsPFS)_er!T?=CFLqBwK9*|+;X9+qRie#rv?ZHNL%cnw$A~dVes%}?M#oN)mv~kb5hB+&C4lsew!g>a zsw`|QC!3-uj^3)WvwIT`1>dx1{pHP|ta3Not<{FyLD8|eHi6}h_1cQa2@LlMOJ9a>(bL*(=Oeo-xRnH%B z=iN=@YaxUYSC}h5Lm)RG)3+2Hq>8b^3|f^=-a{R017QqWL=grjqz$L4!{>XY!&d!M z0N(k_T7p>sQw%PcuP$9r?%GGf zV$JUyW0YJ&&N*I48;r#aD;!ZS%}c&4Q|^}Y+KtwLwv8(~-sA>d3(=sPG9?VGO*cDNq;$R2l7+9&Ex{tI8kqKw#WX%NV`I>70#gJKEsvxg$jMogv8zp@*90tJc zAab0_L)l?uV|hlrYnh}7T+4-in+29DmZpu!xp0o^j${x(+U!U)X5mypxbSpY8^G~S z1~J08rF(Hx40u$y9uowiOmI1yinNi^j9m0<00Jcsue21Ym8%NVa{=%I5iW6k)~HNj z)-aW9JsZHuT(w7xc8m>h&hi0-(YhaemKkou+#i)jC_t$2AJc>!q$XTmZAf94M0u%o zu96KSkdb>yXO|Jc-0RaJz-w>uJvG`r<1!0j>=!`PXW3`i+RyLAY&Mlrb- zgjqXcs^Ix_JYTjr(pFW3&yI;)hW4kUD)5QWN3Li6IdWm_rZhyo9f|=ck(c#U75+3l zLqIuKc+n1_qGP;w24OC&Cx;YVjEMcJi^w_t`I0Wy$b~Sh5Wm8d91couuulOT!QKEbVvpiT#di+$|oWGq<77OQ?zVxNDw^A&#&KPe8OY9s!P>18hP1b=^K#t?viOjw2a z0eA-hINh~tkDmfCgyXXnnA0sdz!}8Pl@DI}ZWOB`z+rsNcRspId*;l*a}~tIb6y1v zJ0RJl>-eA9TUo%i;JFkEnFa4ov%{ftgT)jc zgHON31rg|h!>LHO8pwlGy?su9y-aU;Vg zMq&hl!AAAO3q~N2_E|RKsCd6hkbDRbpu87RLC$Ht+MhyHNeMoZ7GCUfpSxvoASbMT zPZMQdDzILfXjm-Xn)AHjOJtsIScBX-{7{+8;92 zJIQ&FRj^=fhX$Y{-*!m@)JfCEG0Ljt_>RUz*#_)zb=qUDMs_Gc5A6#jwZ~? zx~?PzCJUS`dGIppR0Bt6LmWqju7E@oKqaEFh7mE&Y-pPJ-RBSh$Gk@eBXj^~&5HtZ zReI_edKqK=jgK-(iNZ&ij`7>Uftz`U**@2H19wl=pnrulJdQk6=FNpcf=s)^+4^?{ z+rkl?s)_=qeEUE#)I04R^68LM1(R0gUmjGLJp2PJh1~l zc`x&1CN^IgkYFGD7{7ujs*Pu4jYk3F?KsjKfYl8g(~2-L36Re##i~~3Il=n5M2<1t zM`O{)!^7IobmWjO#y=$dlUk+b-x!b?W1$Tq0BS;pqA5A%=6vh*N=CS;#5Jz4KzPoz zyRC#skaGH9UWPwRzyOvyCaTKdk+3%ItncL?xIW5CMNv{?VzxUP|;p9 zh0Ap9Z`mOV-rg@n#lN*fy?vXqWe49X8$jqjyMi%9FTK3qfZ0YNw}XIhm%dWJ&(fgG zYk{;6t|K1~7!g0`M9(frAmUL-sZJCpUDbg8YAZqI*#|}h(`6US8TK!EXTLJWl{^;F zW#iZv%E&u)&MTKgKu@*E4TZY#tu#Hd)Xk8l)Cpko_P(c3+jq9=UCq(Ef=bjeyOQ-A z#r`d8p)xm>M-{*dP;PQ>jyo2PI=@#=yqqVInNc#6p<*IJMhS|*bF`Je-)1YVF;_Y*+{pP5#o$#vfE4_!zm%3wmNKOSe98! zW&Cnl{Q%lpOv5@{G#xOxJRNqqd(rWIlkQD$g!X&>fg{T{t53ro7vuV8#sj;)dQiU| z#do@0pHb&)%WyzuzSYitx@6*!mZpe3$JG*?8-Q)CluCxo-SIRWS;Ig5&A}s){>}38 zRlU;M0@=Ckhv@gEwnqEt&K*F<{~;VrMzgAZD!Ih2CfO%@Qti`@5>#D^M~h4Sv-E8q z4Jjj2n8s&c>;GLiia(?Ec_##+eVHd3rTs-ZK}6@WQJR>}7vC&#-OI^^XLY}n{BOe1 zD?FsjH@-@DO5eO++qd#9xI(hWoDe%V`wB~&GSBMh(B9ivjrZ6jlhv8jo1sh_o(2_^+=VNzP^X=#e- z$KNw8rH0s;$?!(onU!G@9L!~m)11u9{IZ-aWKs%UEy_xZ-S5ium*2lzMy>U-l;tJ) zSe9cteXV4T2XR*Ae*Y~TT@SRD?WYG@ms9_Q+Q`9}!)+>LI3jK3OyE(r6*wWHom?t9 z)~=%LQk=cqfNZ>d1x+c@K^~@+~>5(h6L@;j)Tc6;cb|x_&Dwe($C*Q2x>F8?E+}`&Ag}i+hz! zXNkvElfg2ND%@nn{i~^zZ}+Rp)~h|Q4$!}QR?+^{d0m4uH+WUcax{8hGle&MSL20R ze6FRTfBICHUuu7FZBVx3K{Z{e%lA55tH-xS_I97&byL#;zZ$&t5bk;!b_7>b?m33P zK8T;d*U&?z{1xHRGydOY6XpUGP1DE$-|<-s4;9l2mmYpEFJ5`1I9R^+=sUf3BTxxW z+6t_d?c51cG99D^)#4|2gO$=K`@yy4>xUsqgY@4awcCF}p5m2WSDi!j~HakL*&?rt-IUN>TX*2;^z^hte&SvX-DGJ)muO{bm!nQ;< z8cG&as|et*-BBWPf|2TSF`RbNS}~krqUseH+;+aVV>vY?H00j!+Lf3-=5)HCQBeuE z+p&)0jFQrnYvs3>#y;UJz-U$spR)J$jOT2Y*OFTlv@gLYaFVZURqP4b?}Q|BfmO8S zS&p?4(NDR=G_))Eg&lkolDIT=bmS#O9ZJ%kaXH=8sgy@M>|`Z#MH%SI>qt0C7p8C( z80%J=pL6srPUUJg*OPa-;8;?g#znT$s|>j0xKo?X4Ys`@A0y=?P0HXFbG%WRamC5E z^EtPs%T4+J7LHa{$~x^#zT}Sbz9ru(kCmpp;x6#JRXKbW>${%G-5hXRe(^fCgr3Ds z4!T{rr-a@4lg$GT(^p_oamFy`@Q4xgzwxU%`*Gy*XvP>QNN6~h!e8?^Ju&zuujNb? z%HxT8dPhM=#|4AV=P5|J^UYk(#qUx9PjiN$g3C>pQrSWt@+-q{0k>VKN=3Zj93zDo z16PdJ8(y(|qi-38u70=Q@@l>@R(NCVT59@^*Xe`tw@Oo2s`Y!`sLv(}t>$hR><8Y0 zQj>4PcisFvKk_zLnkp<>xs~FJdC4`V-}bECs3D(V;Ci#GEVlm^j#ly8yZa@4foZmy zUzKolFHQRjbNXdoC69HdW|hFAx-G8ixOiX+OJN257FFhM9)87Tu;$^rS6w_jO3TY( z97hA67K`mQ34&J{{0ATQgl)Bav=>dNkuRFl?wU@Fw+y<8uaMWS z+WfIM?ou-!iQoR3%M(rpt2ke0$?=tm?iN66IM?vM_QfUi2x#fJT$jlAElcYaz}|GJkuUV6 zW%UXCmvFRSpwQU0#{8Whu6RIzWbSs|<%3^Y`Je#B%B?1#*pF5_bc)&5{d&x2oD6CB z6xz|fCgUp(_qPMqb#y;`>eoWBPh2~C2KlM@6X$_D?&z~+#@%e7v7J$D*K26Gapy=`|pj?)6n)2$w z_khj-y3&FmbB?cKO!q@stwlj}zVG*p-iP?xOM+T&{1o5xKP)$07Q}w=`(8QtkZ!#q z82uTi*gE`37P~4~Sc>~TJo*Ulxh6=e#49e2KPtzs3sP$E-}feuZR;CnnCtzOSf&GI zqc{IsIJ$L4t2IDLVm`1uZTk%NS3s>iC6J!Ab0)g`p_0yGkZd9KOkw}STJz-~d@=0| zY4{j8T@5NPr=Owxg_f=d(Q9{wn5P4kVm5pM|5cd~AWqaFyY z=i#gu;i{MBu2<)&H{z{#fYtjRSGxG>llklO1nNsp)i<85?>p|mo~hpvY5*b{c#sVu zs0L}_26d4JBhdzje+x&GB^vV1Hk6!eXguH0ccEeKV#Cg*A3(_;JW@YIF8`3e@?kz?l^c0f8bwqarPUhM)fFxx}rx(Y?9Pqj~Or^NuG8=tbi3CW-ivq#uyfeMv@sBnKSH7f*`xCnX1v z@*a{(9+4UYNqs@2xnR;xNDJ`a!cpmn7WK#$qhmBTs>L_DC6d^Z9Mh5)+fwqlr7^Ch z?@7yCe9KNkD=@K@=V_}*Qmgc{R`ujoqm)*M)K=fL*2whMR_B=@KE>!0d*KaKK#Iu!i$E&Lf-^fUR*&%C!kOWyr#eE+lW!_T>o zKX;1TfS=lUKDUW{X_Nlire4x!RNCfH*5+H@7Fp4jT-lcQt*zu(CR*LrSJO84y=|wq z9az`SQ{OJq&@TO>UA?j0sHxqdx!sr49@)~K+}fV^v%RFPy|KN$?^pX=NBd6aFJRX% zp6*{FJ-?)T|4TUf%XjcsN}lA z)J_Llr!T!TaX~p6YHo-Q6$PJ%6T~D%1l)^zb5kL{U8$;T{c<9%IoSN3kA1bkDzqqdleP zdYaDn^k3+izt}^))C-dA<(29cz1)kr(yJleYmDi2lU z10b6LUfTgty8(>-fQG|>vEzWF(|{j#fZ#lk;xdr$I#B91(BwYQ?=dice}L*a2=W@_ z^&S-U8N@so)bJfN_8WA>4f^2+3I2mA0fYYtM*|1@g9hh=2dN=LpwJ=Sup!a#Axy-O zM&yt&VaPFR$S-<`KpaYm8Oo0xDt&x>H}z2elcD+eA!@=fC~=tg>9AR{V>ti$aOsQTrkBJ0uZHI{hpAa3pzIOeoDtF75zOlmjl2=#{1L~3 z5x>F_LeWUdo00stBc<;~n%bCNQ%T8gmoI^AnEb2|vmNVPPU=aUy?dqI7wpX=S2+ zbz**Pg1SBl+L+|soD|)f#B5J$>`WR{Cmm^%e)LJg?qtf|Wd8nS>A_^v;bi~OYphvU<$@CCB`@qUys2LgI z8BLKH6VVwbu^AkCCQ5uJRbr;#>`d9Yndb8|0~cn<7iVafX2FuPFsWIw%d;|9W;LZ} zO)#@gGP5|@*(kZ$RQcHgh1s&Jv(49L2d>YO6=!Kmb718;n97`(>YR+)oTmDmiN>6h z<{VCIE=qeYRcEe1cdkrtuKC8?z|A@GtvTB5d9eOG%wS&Z&b*A_yr$8-iSfLX$vn<< zKFVx9)qK9dV*X#k(E+RZV^t^3nhdrf!)(c7c4QfQvZe#s#F6aeM8;vsQO@L47jl6s zxy+5+>`or=Ad~NtX`U3Y7X{``5%ZzQJfLX$QcV0PPB;n7rQDqRg{J&E!Rsltri1MO@lqRQh6S#$v(q#j+QR%`X=R{t=EYfwPxj zIZI->OERyQH1n2B@|TwyqTXTq$c?X>MN`__adrSfO>Ug1c5>-K%0ft1`W-ntiJ# z{i{v`tGL0{sG-%=;njkX)w0pm=CRd*@m2D~Ds6HNJhcX!UK9IAIJ#yszve_W1*9w-_%9hufSJnnr*T`#YwDooH#yV_sU2JPzW_w+8XWfLl?nGP1(buDP*Hib_ z3-;H`4%V9w*9VT)$-mcWe>Ru_8*qjVG~YHt9lJ%!n;Gatn>xk`>8xNo*CK-6}t~MLNGVcwvijaf^Ow zn^|%jF13xmye)fWTT6P|6tj($*~ZImN6T%e$!`}bY?oi%CSBVeyuM9Q+@>q-Fe~rC zRd&#-JF;p!TIxHd8ar6c9lX{~wDwM#&Q783PPyI=>Bi3B%^k|E9r|r5vpyAWKtYx>sa*s;4rZL;l;I=fh9ZlArrsY60 zb);dPX!yT{qiHU*LRVV38;#^n8}y)2?$hX=bY?F)+?$T}q02s?Yx&Ym{peU69gn9+ z`_t0`=!FmI<&Ws3K>A=1of1r^hwL(k?!v=%(c!zY5xZKEyQYL)Y}773dN-Q5n-;TM z7`t2kc$XBnJNRUm62D7N*kexIgFoFvC+*2T+tW(kGfmmUrtaa>_M+4G(lYi6pYN3) zt2bZn4Zhl=WbVC`&xPXruqBWf_;49ess}(+ME5txBKPq_DS#e z2S5BvIC{YR=>Y!u0R81a_UnOG$$@F<0k-S_Uw#l>agbJdQ26bjyy}2deK1&aK>2<^ zuRUb0JA~ICq8kone;jHx9-1~CVw(@~q{HZz!?f1J!k>rbZHJ`x!@*yNl#WAs=Mi() z5xn~d-E$<{d!*HOWZHj(9XP@d9z_owr41hyjvSSb9+Ae52FH&m6G!yP-^^3L;nTm- zGrwi_i4Z6Nz`z7xI0imxEXVPmJjV_IF#ePOf z)4%5D`j7W{|0Bcx$$u>${?GiXUI2gq1L*IzP;UU>)IXW;IG_HHw&MR}#^dEHA7{Yv z6LCDxUyt+0EB za&ig^SFc{buB4=_tfHc(rmn83simc@t*fi2cjLybTeolP>l+x{xnpExY;0m;YHDU? zZhrT!rKOeCy?fTyHa51lc6Rpm4i1ivPEJ^?v$KnftE-!vySsQ!cDR#tX)PEKy_>(_aC`S}F} zg@r{$Z{ECp`|jQQ_a8od{8(K4>C@-WU%q_(T2fMaJPcG`UQtn5`R!X(Rdsbu&G+xM zwRLs%^$iU_el#{VH8nSrNG&a`tv`RZwY9hZ`qk0V+1b_A-QCmE+uPUI-#;)gI5;#k zJUlWoIyyEsK0YxqIXN{oJv}osJ3BWwKTjr8C<_aVi%Uz(%PT9Zt7~iP>l+)Jn_FAk x+dDf{Dvd^`@9ysH?e8BP93CDW{r>&u&))~`|Jlp`9RL40{{M6S|Nnaa|1akId&>X- literal 0 HcmV?d00001