tomcat-javadoc-9.0.115-150200.102.1<>, ԉiHp9|6 =ȥ =sVS$@G-lf<BOںg"ktUz&ЭE҉l!=V>*U@4Pqβ o ܓ\b+)%Y1#M+O^+*&^odGhŪq_?ȫS|uRNA?d & X 06@# 4 F h` s |d#@Db(c8l9p:$KF9GPHI?XGYG\G]j0^*bIcJsdJeJfJlJuKvmp wo\xyz 04:|Ctomcat-javadoc9.0.115150200.102.1Javadoc generated documentation for Apache TomcatJavadoc generated documentation files for Apache Tomcat.iHh03-ch2cSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Documentation/HTMLhttps://tomcat.apache.orglinuxnoarch 9' &l cU~ J9v"&XHgG'39B@O7%S(eR*~(N7%0GPL . 3#./[LH G 0e\40$H);!9"^uLVc)<;;#9nQ UoiKSUFO@\DJRLDVDJHJ>DJfD8D\+Wv\j8L\i anqEX?&F;U$C8;%o7W<:)ԍw\zW-7%0q7|I-z@ ,"KSBV;#$6%-l0Lwqeg3.Nnx _{6N% -A6Fw7#GJ*v*sgTGA-g,($z8R;w^G=:;>" C!F٘IMCBO  sXVEB>)<2 /0%***Z4@07>*{IxCzIVSE-"Q>kc\M;NJOD]Cnb@IZ.?78E{+H*_1_1&9'>/r;_$Au?)Z<$>2 ; $e8H`S]";/O%E.t%5*^'bJ$))W{+#;qFuEo~i7SĘ.s46v%w2D**E,~gMC. DBJ_CfIIQDN)1j{DZg=Rt|U-%Y=g:ݨj~6aZ!1?0T,~7Y`9e4Z6h$;h,u#K;R.'}(.(+)&J\]>#miJq&'d )~.1wPl4dP:6V8 6=+*%&SdW!:*=vo.1%K,Rف*0 /C9688Y/Y3/O/ST4n*L0&X47 5Q0C!J'<+9<7@E!'>22 =U68Q77M876U7;@C(7J87*{42A-W-9-S/,=T2gOM695FGs$%D>"5K>-=|6:Ch=56"==5u\ 56%=568LZRTj@N@}L5555=5\8݈8T!&.0DG@*]22Jep6Z@tn'+1@86ĝ.!(3I*>0+>f*ih:> &#/B0^,J&VL"4[[OH?r+B?[c#$&7 0L$83|k4<6'9'(+:H`/U&UN?1Rj,I/8/B=5lWeJ?0a0FE,ZY-\r,HQ'57"]%%%+=)iv$^JK22+> 9ook[|#'C2BhS\ePuLW~!NoMRapuo!^E$ "[w(r3%E+Y@F(FDR%% 1VE53;2=2*":7BJ2'83qEE<EpWBGcV2%M0M-BMF(])9DK)%A9V$>2<%/%/Z.1H!;,//K.4:/<.///].5..5/\// /</Y../.>د-)pm4..4/.//X../.l$0.nRy5r${c_cw_rmtb_n<4444./39*QBqu^ngYZ %&/8ap,.XB~eX5X.6UdYX`]MMM~MldsM<>CID!.6t:!"^K*jrirTV++(,F/)?n#![.n6p6{)C+F2:o*D*30,CC2+.,35-O|c7)5(55JAEAQ&3\l#]E)/1SwW,d)h>FnXQ*R)S^pL71iUX&b(((s31#.X8:4r5P-#$^O?Y[XE#1#fECI8L'3'(9D5}wo0Ui FRt,p,,,,[,y,2,p,,y,^,^,m )+*X]>\<&u1(V;O)=3$;)0^/P[&# 6<YjCN7O'<;:4:%I/V^47?/"B0AX;<,4K2p:;_@2:% /,#<k(c!/Q<:,1J?&4W,0!hD6S.76M"c{-?&p[L^:x6&;@4S80+:GO|.{CRec9/aj"0b3iD<!`tzNEXD0traMJ1G{UJR%iB9-,?,eX7/-q5eaǒ\Kq$o0%~% -L17t͒ccBSY)5L&=~8Mg;P:6Y2 )"08(V>/|YVJ2/HP30RJsf8A@ 1a@f?2:vSB9$[va3y ZU!7N/$("}L+_/W056-n&?Tq~&b&d(,7&5"a9w6kXe..!<PT0F9*32B.# p9'B,>QB]Hq:>r_6@TVgC+S0=x]|GC?5;93\?j1jL9A[C3.eG9<J{U)g!u"m;KVL0Z,q8Z>K*!@6-I00RA1+=G9A%`NxFVr3'K?#:W0rL^DK_(.-F'>-A3/ KX}/T)E*,HC$*nT3']Y8G/_kV=///4l,}$.!vF.?'&!A@L=&)$--(55+)'qF=9D6"O@?*: (-m,0-*-%+'tz60S:;?|}F}M\0[:"U9Eg4!L:!>nDQ>R8D15,JY,4>150,KYB.9+N1C$&a3:T3?*3(?2@$4`MD[ @![#Dq19 7[>C ;Q=(D;V>je69<E"1?jHbGE  .+t=`az?B=;X QJsV=U_K=IA9Za Nn!u#QN|E=ZdY27'ia4[aOdM3*$Z m2&77( &&*w(+B(T3CX+0gq?%Y35)/2/3D.*M6,,B--ViY% 5EF%F>S-)*%U*AP'+>11-[6Y2]Z221*?CS",P9]1A'--)<Ilc?0-,sv;Se`IatHH!LB7LG::[NJMc.E- $.:K50*=JUP lm5%k3I8).ՂH36vWX:A큤A큤AA큤AAA큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤i8i2i2i2i1i2i0i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i2i,i/i0i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i0i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i0i,i,i,i,i,i,i,i,i,i,i,i0i0i0i0i0i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i0i,i,i,i,i,i,i,i,i,i,i0i0i0i0i0i,i,i,i,i,i,i,i,i,i,i,i,i,i,i0i0i0i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i-i-i-i-i-i-i-i-i-i-i-i-i-i0i0i0i-i0i0i0i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i0i0i0i-i-i-i-i-i-i-i-i-i0i-i-i0i0i0i-i-i-i-i-i-i0i0i0i-i-i-i0i0i0i-i-i-i-i-i-i-i-i0i0i0i0i0i-i-i-i-i-i-i-i-i-i-i0i0i0i-i-i-i-i0i0i0i-i-i-i-i-i-i-i-i-i-i0i0i0i-i-i-i-i-i-i-i-i0i-i-i-i0i0i0i0i0i-i-i0i0i0i-i-i-i-i-i-i-i-i-i-i-i0i0i0i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i0i0i0i0i0i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i0i0i0i-i-i-i-i-i-i-i0i0i0i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i0i0i0i-i-i-i-i-i-i-i-i-i-i-i-i-i0i0i0i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i0i0i0i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i-i0i0i0i-i-i-i-i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i0i0i0i0i.i.i.i.i.i.i.i.i0i0i0i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i.i.i.i.i.i.i.i.i.i.i0i0i0i0i0i0i0i.i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i0i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i0i0i0i0i0i.i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i0i0i.i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i.i.i.i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i.i.i.i.i.i.i.i.i.i.i0i0i0i0i0i.i.i.i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i.i.i.i0i0i0i0i0i.i.i.i.i.i0i.i.i.i.i.i.i.i.i.i.i.i.i.i.i0i0i0i0i0i.i.i.i0i0i0i.i.i.i.i.i.i0i0i0i.i.i.i.i.i.i/i0i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i0i0i0i/i/i0i0i0i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i0i0i0i/i/i0i0i0i0i0i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i0i0i0i/i/i0i0i0i/i/i/i/i/i/i/i0i0i/i0i/i/i0i/i/i/i/i/i/i/i/i/i/i/i/i/i/i0i0i0i0i0i/i/i/i0i0i0i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i0i/i/i/i0i0i0i0i0i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i0i/i/i/i/i/i/i/i/i/i/i/i/i/i/i0i0i0i/i/i0i0i0i/i0i0i0i0i0i/i/i/i/i/i/i/i/i/i/i/i0i/i/i/i/i/i0i0i0i/i/i/i0i0i/i1i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i1i/i/i1i1i1i/i/i/i/i/i1i1i1i/i/i/i/i/i/i/i/i/i/i/i/i/i1i1i1i1i1i/i/i/i/i/i/i/i/i/i/i/i/i/i1i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i/i1i1i1i1i/i1i/i1i1i1i/i/i/i/i/i/i/i/i/i/i0i/i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i1i0i0i0i1i1i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i0i0i1i0i0i0i0i0i0i1i0i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i0i1i0i0i0i1i1i1i0i0i0i0i0i0i1i1i1i0i0i0i0i0i0i0i0i0i1i1i1i0i1i1i1i0i0i0i0i0i0i1i1i1i0i1i1i1i0i0i0i0i0i0i0i0i0i0i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i1i0i0i0i0i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i0i0i1i1i1i0i0i0i0i0i0i0i0i0i1i1i1i1i1i0i1i1i1i0i0i0i0i1i0i1i1i1i1i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i1i0i0i0i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i1i0i0i0i1i1i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i0i0i0i0i0i1i1i1i0i0i0i0i0i0i0i0i0i0i0i1i0i0i0i0i0i0i0i0i0i0i1i1i1i1i1i1i1i1i1i0i1i1i1i0i0i0i0i0i0i0i0i0i0i1i1i1i0i0i0i0i0i0i0i0i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i1i0i0i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i1i0i0i0i0i0i0i0i0i0i0i0i0i0i0i1i1i2i1i2i2i2i2i2i2i2i1i2i2i28c6876d613ff39cf54ffad3bfc52d9b20d8378ff34603579d43a833a2a9d4e59325eee8f12eac24a4af6ef23c8390a44a309ecaebdbe37d2b0ff93792e693ec862e86d0540b64ce535c22bd952ac21a2002a139ca6a604a7a886ec179ae07ff1ee5f62775979caacbad9bdb79b4e2a336977d38efb56db0a2ebdea68f266ca0adcce33a6bfca9200e7ca271d52c1195a80278971a12a75210afe4a11dcc705f8395e44511403cdff82bdfa14335742c0f0bbf3a909deb73df1a8a26ac2142af445ce3dbe274444507075ca0df3f790268d6cf2716a1c70262b97f5e7ff2096427856a4f84266f823004a124e7b33618d6921bcce58ec4addb9be07419efe4193e3e5bb80a58d7201c25fca5c9fe6061b2af2655e828e283555aecb8322e36bac07f10697490cbe60e1f453f4a68b5e417d297c2f2dd51f3cbe793e54c3c5764d416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37fc9a93dd241f6b045cbff0481cf4e1901becd0e12fb45166a8f17f95823f0b1aab01f1e5d951f9cfa5fed84d37004ba30724d0befcde1d6b6fcedf70419362444c0b2b6513452adf188402da32faea446b326e0a3362eda6fa8603e73594a5670ce844c4c202c352e3210a61fc0910039a70708453b0db6f29d4da9496f2711e794491b22860b2a9267b6327e19cb45cb999d290f167f7c87204ffc2ff87e457c06f765f3bed456436a8819b4d41fba66e537d88c90c4f46eb95d604c94086e3c38706b6ead21f5636ea9b79297a7976c59f8c1ff9242bf675aee5dce392ce985f8dfaf3a08014a60d94c7bbc69681481ede72a626307e40222bf371aa6d5192c9e4a52bac18aee4f3f90d05fbca603f5b0f5bf1ce8c45e60bb4ed3a2cb2ed86fea25ac3e5fa1a4302e05bf768973337cc4e68689100efecba7b8191c55717fceb1ad3e269150bd47d087122354833a8d6790ee287bf0b3f7d486ca8f563fb802e3139ef55bd45cfed872dcf6a97dfe51e91f3f6f69fd8d6d377a32272d6e8961e434b19470c5dffab6646f677e1e42b6d4611670f9c3b225712ac76a43f6190fe55ff38fcb693367856dfeea4a0b1bc3ae261053b0b23a443975f9746cbec278fcfeab37a121c6d7c65eb311dc99dbb45d1a51fdf10e47665b97f860c61cd34d4eddf48d709b7efa24a28ed673de4d6e76f54c7b36a570f2c716e1e03ae1e94b177033e1b7f478afaa788c5c68472f139ca84741d7fa7561060081b3263ce328cf2d4a77866b65a02a7f8067bd1454eafd1656285b32463767cf881912cf98dc9cdaea7a20ad518fca4771ccd3e6199425a69da84614e85b72fc06732c922bd445e71d000e284e9fe2ac6309af3a42d3c3543062ae7562584665d63ab7a4600b7f3462e9020a911e1a0eed121991781bbb2f4bd57e2b4aa1ba3c72911abbd6d9ee6885dbb7e783de38fcb64dcd40fd7b8198116ae828909fce58bb7ff1d980a3a0046e8ad828c5f86faa2969662093f0ffbc0d765286471000355539debad2626658c591bc1f759df35f771c9167d9d9e5a64254f8f1d9d93869ce869a44df3bd50efc2d1040dd38abc876a2cb87891603ae7276223f19e13492941b7ca11129523fc420ad498036107fc8d80f9794f1193feafb94e1ac6ceab32c8448ce735fa8cccaa9a274f5a388d83b8c8bc5f1d17fda988fa02db482dac3a63ac0cb94493034eda16851c9ca0cce073444a23bd4e4c363adedf28770f7dbd6452d590013cbb2ebffa0f81d8ea6f7aa09deb38ba2827b72c8f16c919a051d99d200dc9c75b2d621e3d9fbe1e0e48c12a05dd55c3a33fe43c3d5c32fbf4d456c9da3700959e73322e7caab1ecdd6eabf7c316badfcd971d616ecae83ed375d4569b64f23101304d721a8eeb0f98d1800e2079e1003b685c8d3377be51804567b2cdf609a73750b8f801295c4cb7a625b2b3d9775ae3b73d57b32580b0765fc9a0b1d3d3c1feb837765a5f60641ef9d1c0a4d009602b1f85b241e275e8e566018ecc236e6cbead4be341730ad14a9e3c7948327a2d926796c4f01f4933c798657532e9b36d9165d0a9a02f5383b9772a9dd672c292d5225c648b09343254f3828694d836b71a7a04bbc93984c5d309021c255ffe756cf5aa191ff1cf984700f2934b1b2752c2e31196d38732c2ecabc5cf613c5d8c8fe62c99980f57c21bab8341e4b95a9f6977b3952bd8f22bd2a1a4a4d74618742a0171b7a45d2ce232f69dc819fa3f70dbc748b92af06ccec4920f6b30d140de125e961d4d4cf15230646ac2576760f6b653b982174cf4ba2158a246940aa7ece7ca7e267a0d6bfaf9428ed730b46b52e1dd1f5de500e84b0f3babb9a9d04454cf65f8a40cb7741b6d54131e1618105c58ed9cb951f1ae1625bfe36df07779351bc15ebb2ad089771a818f076b6f92d4aa9cab3c3832a66a71a8fa26b2ebb0bde7cd19fb8d6d001f18bfadd83ecbe75c0ef0e5818e8836695da95f83f3d743719ee6073b42aa9795e449997d3432ed625911dba62a1f3cb080f5538cf33a34252c206c113718bb5cce296b30389efd0bc87f1a11f1ef0a736cd1aeea58e6d83b486d763a9543d174bfc44d962633a6216080c077c06a735a893e430cd3437defa822048dd3070a9d094613ec40566fd46856a1516b5bf50856e71ec75f9d293c39222c8eac0d1dff4adc1087edd7f986c00f02fc4e6005a48ee2b0a30899afd8d4e64ba02933a02bc5bd541ba13ce7cc5d4446a6b4d27b46fd36bb36daa04898fe4ccb2cf9a1c8f59d0979749f16234b11258a248d8ea89b0c2494408fb0b8fc9bc6f16eff8b1f5bb22382cdca51b6ee425e85bde512342f917095e1e9d386f52db0a7c3d90f5cf7bd664930fee11b903b13be54a5f37786c82860c7e2f9c8ff930f4d82e640ecb9e8397ee544feb037ea2c5fa07e6a5ef23272e1a997bccb526ad1302cdce104bf72e02da3099fbce140470dddeefbf605ba2048a91b51902bd0eedfaa605f64a5779413f42fb89f6f9f066a87370c2ceccf22f5bb74918094cff77425e571c039d6afaeb2b589bfb07cac10bc26b0997df659af3b56e977e448c89ecc93019c6db0cfdbf25caa41d6ab2b8178b0c32b6e17c646ddacb138480a194bc2f2f407c2c6929bfee7cbd09a19b1ebcab1dacd8da82200a2cd49df7667934374cab419a79b6ad85be8dc0d51a4652b600a3074b9bc278f1c988dc8cc06e90c72423652033bb374648974ce4834aac1f8c6cbfc1b391c439dafb5b8b8497c6f8ec4255ebc4fa418c809e40a3afd2a915c8e9d5c1aed55c8426e0b56d42829eeabd73e4518cb44546632a3445475d5eccce541776cbaf669e7b8826360f4c261f47c33f1be2bad0376d7d30feebfb56d954e5010af8d3f7ca4c244c9a09bce6f7408bc7a8d7acfc09a68341f13eebe916f7f32322cb182f832007e8c59b01304e66f0cf78be095d1602f9292fb0e9532de2c2439d0f8c0a6c660ca746553185a8e35900c240fbf76bb50dde4ed5957867bad822fd39d5dfb6ea307209bd5b104fff93d6ec67ad4f30fd9933d40328e2228bebaeb203e9a3c1a7a53cb9278ff36bd782e5c380e6c09ae9af7f8b82b62a95f0e38904750c1c5fe9e6f218d9d15f93d271af79ef4cc81958d2387c10921a9c9e76ef3c3fb9a515ce7000a6608bbb46295b76fe8fe57883523cdb78538e7f1499179cc15d63553cb1a76f6bf38270fe03f510f20d0e4e15965bbcf335569154c62e63438f0a4df04d1df5ed4e5a739f66009c3198e02362ef65883479b93fde1e42b8cbcbd42cb1bfc9f3180f3d6552454292e9e6bd8e9888ce3743e263aa7f3c49c7278b1dd7a50c66d4f4aa42299c6f1354af24cf36c6e77027bbaf21c440eed48d11950a499cf455db0d2b4bfe2d5e33212b559cb531c0119c8ee3d48157956cf4ea2baf2dc4bb7c01d76143ff28695897177d8518648b1885c7d7abd9ebab147855001911273ae17f31df86c2ab9c6bad1d902a5a4f823e9c8109958666e1d0b20cdac6f76dd58efa03a237398f269039b84de9f650143f59045a6be6cc2d1672a2c942b48816565755829babbf5096c9d89e592f85ceaad6ce23566a6441162cc3f15d3ef50ff7179469e6df4e6592d5453ac1ca05600ee350d5fffb7701981a471eef3d18d1f3cdc83d0998d4cf430744d63c0689beb2b168f6f4befce60b1a21acc66f1df96027e7341001514a0ba496e82a430d88860942054961587d5e42dda8c1a09e41db72d678c3aef2b412766a581274f9e54b56f603f23cb54b1468126c65cc3f5f8c5975d40bff1c3ed3e7b1bb2e9ae93f8eb0cd1266af5bdc412bb0ed6c2bd9038686ac08fe2157692b2d72d6e69f8c3551aac50a13089d9366c74ac541d3215e563d09b93a09aa3fe516ebefcb64ac40566cce5b66a33af43af620bb66432187b19c7e2be66b78902653424a25aa024430b85c5ed2249046752c20274c5f13c34655a56b7874403c03724cb9210ac90b9e7fabc92fc7f4c848bb4ae7f147b0b6bfe1ad529ad0ad7913bc64cdc6e37618d0d9a97f647ac76edf81a2f96d7c7f57579ca35dce02fb8dc4921cafbf5a64dbe06bfb70d5a49e9c7b2f0a2ed7eeafa2e27bcb1987dde9a79867c966d8b1eab81a5309bb4458f585743755c8b5c267bb772625734a8c6ec633480c2c737eb7f1f88d6e11e8dd8ee45e09cc5598b0ddb8d53b7460b4e6c7b14a9c25e963769cabf261ba6d9dc3d56427eab61f9fe13dad4b425b478afd1f2f8b4618d491cc7715aaa6c0cc3ea6eb14f7a05e5b095bc346a909d82d6e8705a001555d1e51e71129fa6126558fcc5a2292d7a4b04ba9f71f3dbbcb97b48b84dc808a01b750f4c4005e053842f43de5557c5d24abb99337d2eedce8e2fc34578944667248c21fc4ff3fa553ebda9c3e57857c3284486189c2fdf93e33db977ce9d9bf9e33761a77f79786025efc15784887b491b128b87d1e6ea5ee895a86459f62c1134b867de8f9d4a04ead08bbbe4987569ca0a248152ce541be798107fba8ad617c48ca390adfc5cc7643d80285ec477e085209529efecee1c16549ae632fc584ab4bc037d62f963b00cf4423a61116487a304b5ea337a1d05c48c6e91618c6496b1b2e5ad485f9923a7d5e716d4ca270f07146823aa33467210583c7d9d7f98fc47db023a117f39fea62a2081c5c3c8fb2839e88b8466655d1011ec9107e6d492d1bbbc95c393c76ce97d4136221e1ddbe40ae7d5edd1ddaa85e70cf69cd0ea213421114feed1ac46eeb40f1a8326188500fdedc8261c8adc2fcbf56b5f0dcb59c50ebed6d124023daa7f7e81e5ad2c47bec956e08b8d6fb48b9c9be20f56a9de5cbd353d0c00104e78de0bb56d7cecd15607fa669c78ff46869617d3bf93ccd5fd23f44d739a581643232a8f19f094df65c8840b42a0bbaeb016eaaa10e97d7ed4170102dc3e78f2c3b99900d43cd9edb55038a1771fad0c145cb64aedd04f38b3275e1eb0fe35fdecc7a98761ff27c5e41b3ca54510175d8a5ca440c1b3f691eddd293c32659998c7a9723f129127f9be635e3938b34e08cdc13e0ea01dced5a5af576d69e55d8dd18e1a096452dd1d28d61af87b1f8090a4a3abd765bbda0c12aa565801f35147388a6aedb67dc78314ead4155adaea5eb42a2990859f673f7bdf47be78af822938de863bb7a36c06ae1caf531dc132a1e73b61c6ced1e469b9e256450f9546f843e2c35ae96f99a735c4bf8037a14a0eda655b75fa13a52b77109ee870c5029e73b8cbec00171fa6e1ebe2d716f2b689162d9d14956086f5b1a25c90735533d7850432b2dd8dada6f552dae56a8ad7835b5768c3af5d6bb057c0c1d07021888ae89d18cfe5192df30590b6390e5736cc3293d95759123c589a69d3e96bd545b0910d9d0dee9bae80b05d097baf32859294c08bfbc8e139dcb910a9f0fcfbc5fb53374d32a60f06888f84d336a007a4c0235dcb532b2f2e9a2c7da7fc5c1e8f4d6d16be068de5023329294e4cc36af07d321eaa20e6d23d5982811953e356c22c04712efe0ac9bd2761e78a0ed634ae42e82fd7edf5d2870ea42eae6728da84dbbdfb65e4deb76b7dd6bb2cb4be0f809b999575cac5d6ebb306e1261d8d759f1042ccf6a5605bab6eccf040e41c8f7a5244b7c8846b9d6aea9912ce6915e753eb4dd430f25a7973ebbc92ef8b888cb518e97c7fe32597d8b64a1002af286bbef388967e9adda8f9279bb075e89a3bc0520dd960c565ed1f6870d68202a78b3535d7e355a2c016790cfb62896bc154908dd8bb7605f7481532e8a784d66f6a3b98115e48c23781da85a7670797fda4d2483051a66a7d8dade86fb5876b51b1827fc096884b34d6056b6b35faa5b2b943b95c4013ed1389b0d9d67ea7db29dd7726f7258d6484374a1a1b9ec4ef5f2d577c350b793ce614e8d3467289bb84fd81d08fce4c8d4104e8c16744eb8bb2426f819773c453752167eaf913cc93ac57fcfbc93859fb8d6de83531d878da2c982209230155c9619350548e1e41201fbbfa0df5a6eae241cc55c14f66ecc8c80da51ce7f4e9ad8e64f313d6a32963dd6267f621da5771767f871cf7434134e4b1f9e322854f8dd5750adea8fe854eb4a6d424684a2b6acd08155f9e9e7127d00cd1430aec1e36bdd91d2635facaac30a64406a2dabc32b9f3d688649490efe4b95f79dff1a9c301b29bb9dceda288658b5f2515d25c90fcbbc6e9029a7100f3bf35370860e8a26a366df2cb87b90f805d8dd4f1ad462aeb3ad3e8c808cebb3302540e3be5edd7345417181d435f3cd0c598c9a58e3c4ff0475b930bd3f365dabee98e7f665115db4ed1c69b9fcc48b050906db4e1dbe05563cf273396fe8f35c042d3d13628fda92bcda609f555f4477a50f08594473f8312a6105046cc03b5651238ea6e0eece60c4df7d9121de7c79650319cbd65b4f6feb6acd4a6fe53966dca58dbbcac8b4b93692f68d90bd600f1e02d14d974749b9c3cefe89083b713807a8596d3252b74b124fdbb5e7453f622ed80869697d05a2435faa2137f27de90b6e28d6bbce56181d99fb7e9065d0ed1bb50dab5fff37e5a3d6994d9166c3de16324c2c940f760b63fc8909113284a620188cf606dca486f7910a61ff937e5ba90ff208e39d8989616b7079c1e4dc9510e993a6b5a245f3d505c8d714a32c2dfbca93bba0ba1fb41b8ba9422dc603721a375505d29db30af83b3aa3d01be6ea0875212eab4d0f226559ff96d7df6f22c180b097bf9300e2779f420095fa5169e5b7a1a37c95d0180a77059e8217cb7444bc0071618443d88647941558debe3ffcc6c12d45d4193ce5bd49c73b82fb6f1d63fcf354eec113919be9c43a3e50da1d2661e576b14f2afe77c0d831586867ed31f6d4ca6b5f4de0ce96afbe154c580da00305f118eaad0f6b0f3c61310c8ea3a88156025328ce0f270fe28948edaf3b4b9ec5a0ec293e6a7f39c7cba278c39684b0ffec9edd21844f328bb3f0d7891f920fc519448ea7f51cf197b335c0d4a04ec57e26855e65d8dd1a623cdd4e88ef5b148c2d06a31630765b26fe20cbee45325995e8e27e0cff7cc8e941c01dafeb3cd77968acb7f454b5be4350e815a209c36f25eeea8ac9853a2323c2532bd48a3d04cc2bba4baa5f76c59ae85c7a35854ce4c9cc092ee945fe0e74911f6ec45a1fb1a584cbb115b13e641e0a565730fbd3cc803449d90eb9b9655e285842142b16827eddd373c3076326f014e9f124af241217da87b576b7263f9086d05ce5938c3412b724f7e610d581d5bde901987f114cfe33a8bfcffebb039e4ee1774ed04ec4eceff53aa3c7f18f6eb784b3df3b35b45f0dae703bfc5f17af6401b1362f0faa31ae498a1943657ea44ef2490a22db2fbc7f3c8cf85b2b9596babcf45f4fd806a6ef28fb0be12429acf97647be35368accd99d1f8be01d5354a13039f21fd737c55d396e83876c97831d6817977ded1ef2d034000eaacda092137773ae3c82fbb0165f84ad7ac3b489fee3c55955bed8355278d3c2703a162b8c47558dda78a0a65ce408e401fdc61a6105447e6e86a4a4fdcbe4433f665f725521c9fdcfd31832bd9ab7d80e2d130f42fc009af5e28420cc1c9d6bc28a4ccae23630183c1d7e384925dbe2df0faa29eb28926584d81c4a5eb92203716538455e1e2c134622021dbc0333f4a9f00ee6a7e3024595d366c6afea90b14a0cb527bacb04c1cf241fe8e7bc12f20d3ffab2c8dcc3ec7a24a10258a17aaff15e11b585a87ff08df89701486e3a67ff447f100b32ac7048ab381a4a50fa0eaf5e057eb1115452f59be6e33d73ab8a1220ff515689f9355b73572b1f100bfb4a58b72e995d9954063b4072ac867d17461ca1fc544bf2e2700c5712f2d6eb35f668e6883c0797adfbbeb3ce5d6ad55556717f14ad22ae34334c8dd1033cabd7cabbe275a0a23ae49b9bb594c805025c25f9471a794a6ddf3d3c2d94e2c921c98bad484b159e48189be2536bdd018a6be14aa6995041cccff4c37f4e02b7321402bcbf52c8cc53df017183dcccdaa58be28a77b46249f57aa0d8473e18a2a046e943ff17f2435af37294335c73c5dcf0ae06e4af20b4b4d5ba7d184cc736fa50102b3acd9d5b9937134f15ce0a6d2fe1a78453325ee9c3fd5fa08ec425f091e238476a2e764cbe0c088d8ce09061fcb27de591328a5162054a485718e4a6a2474eebdef24bab0768a77fcc956e6c6f346e55077b7738c47fa10b40cc31ac3243fcdc2cf067ca4d55bf2252006dc1f1f201c2a12e59c4135a24acd2b09999a6887497ec7a5f42ebceb7c669d6aecd08442d1f42eaa86fc32c83ea8cff8e9449cf4de8a0e1b0ddac532adde68d4ed7bab6da7eb980a5de6221294659c79cac8b1ed9ae3b7bc1bb701d25cb64b3a6750ae1834eddaaa94db7205b26be736b99eb617a3a8482a347288c968bc8a4dc5c330c274d469682a1d9637dcac5836433ab8a1ace42f4171018cc0cfecf0f6c50ea73a68e8eefd2b83e695ab01f141df2ddfdc7f83616032126d186558d202392cecbdab8893d26ab850ddf772704b920dc235c788b81051fd9b487b03fa6b7ded884ef9b509d8ca9da6742f438a055377c1557714248cf8cddcd9e21de8d305820a24dae97a1736bd14bfba318f0dbc341e2dbb3adc37937f0c088d3a0d734aff5b68e177e8758e433aa9b5c8c7eb626a2f5b7024bdd51e18495fb2da71438d3731fcbd3afa76ceb91bde089dc2cce00be4e1635d31a57a8faea7f69bd10a53ffdf2af0133d32aee852f7fea4ac9aefd35786bba455ac685cefe84dd350a0e68b27d025476151e567852fdc0fc08a8ae87beea8df2e8d3c86042607160818a0bde91fc8cf42b8e7ebbd30db90c435c99e3c3f641b0a6e50519ac2d05d78bb24e16a3efa0bdec95e59689dca6d627f445e4c56faf97bf5b549d9ede89cc0dbb1008ebcdf4facbfa9c21b91b55ec91c9bdddbcf22e37968e980329585fb5fe3976529e1a3bb738b4c790576f0bd22fe90dc72e6672226791d350a615056546ca8f3b3985ee449289eb535a7aa511cc80b2ac44e84a778282c717c11612b44ee11122f467c249d69e47f5a259925307ba700be316ed30558065944a0987fe43c56dccfb665f9e8afa83086b067c68de2202cbfde78140425c73f521eea7881fc182883d8492e89146e6bb21a32fcc52cdc780b8d8a01b8b22e2e7050b5e2b02cd97dde22bdc2b09f5150f325d64ea46bb05d0422677aa4c4b03ff68539dcdd429c470441743887c6f84d10a45e30a51818c22336b3eecf71c043326813b7ce759e9800a58b952e7fd65cb82e211770b67825020ea3605b28146321c6faaced81d9ebd1818cba3b73709d95e6ade78a2085ea6b83df15906f44fc39f0e82e9c3a85ef874d74a96d4d30222ac04530c21b9393e92e6ed25c489fdff51732176d3a464a1f4cc57692d69e3b47f68969d19c6839cc278286339ea29af932fd7b496cc3aa94d1f6bf3e56802b00d80917d9c873802cfed40000ae5d56745a3abbdb997eff6fe2f53fc9d7575208acf67a0a9f694807e55d64c4f87c3f341c96aa35ea5d67e420474a45046d70f722d2c23c0c3424e0270c8d27c4762acb42b40ad97bb9ff660f61592eef6366c4e5d7c681a05d9bf9b3c3467df23fd841153542fc4bcb56f9d1a0476141877d6e7e15d1b6ab2e3d2c5e62628e5b64e72b4586f8efee9e0571a5150546dc8cf71c43f92ea6f8493630820514dc8db5857dad346e5b3b392154e889791876b0b3893c015f1de966a63b0da6778307720a5f34ef52ea002f7ea94843ac869116d57c33b4758c11159fc68039fb84915bcb71aa989bb530a20ddb890fb2f2d2d76f390be190a5626c326e3249dc183e63d02fb97d6dde2275a084550168326af2a8127557a84804d066d34cf39467e6132a2aa267fe445d729ac40fbd1d6deb51bfecbe2938a6aeca6ecf4d5cc96ace9de7bb92385fbf7f4acbfe3fd292400b2cf017709b79874a9e9be11309c28902111a392acedc4fc7c55c246df0687bd8d77adbfeec9cafd40a7fc5dceaafd2a8d201878e166587f1b6defb14d619e913b1e8afb428cab1ed82b53a1f43b49e71ee1ad976606159bfaa27edd88c6de0feb29f6df3e7b007c12a11c1a118676b2bb2e578bbac6ee3d21284307686b069547ddc8c294fe561c101482e2230740ef600c0a735ac33c9861168bdf057b69ce98292d2e3288d64e177aa5ad5f9cb93652ff2f44012a1bb9cbf43e7f251dd8dcf0925a5efa6a606f718b9a5e9883ce5d63df065fec24b089db1631325df464d452998733c420d487a09ddf176c72ea8cf76e4f1fe2c2fd499f7d4ce922d271e2d6614b238801ba10fa52e21b409bdad1337a75a4db8125830107707f972a62bdf3e0afa3fdfe3943ec36049f5b151466e72b891568b383f0d925c4f512bcc614261cdefd4e171a8d3cb681b34063b3e5e2779e406dea99a87f4ed26a26dc966b824c13ac81addafc284dbdaf75617c9ff695120b64d33e6edb5a03983f5d64b2f111add47e881e9294b8c376590425b1bbf64a6bf063a2ff56355b612ca36d5af0bdfdb85ea64385960dbfddca0be14894fb900c4eedb73924006892f387e864e515a9329e2758ddb4b64fc306cadd76d49097298f0b5887ba8cdf5a2a8085f171dba4b77b3be7d2127704cf110f5cbdb823d61d23db646f03f9ed4ab5b46883e54cd5e288b42125b32e552e7c0eda895c06f012f4728cf60879f4add829af82782a19162df1ac8ffe5c84907f05f322c2a5727203495c9694bd7bc677413fa03c39102d76957796771c5150bb6438d592c16c6024f717502086cf143581a262f709db315a0e651a95a5116e6f282ae257d09c9473629d6792d7c1951df877dfa119d28317f63a7753fdaa7ce38bae908721ac3b4c7097be5f2d81419d34951bd9075736f9ed6b2a670de6e1e4703aac54b175a54468ce26caf9f2930a2b2d9d77a65359448b739a425f03eb348d39321ce8a94d74cc454001d9b5c87913fcc1897a8196381fe82cb6013d916382a4c8c069fa25355d2a90651e9b6e4c80fb78e3960c029a728f75aafdeef5a311c9ca28706251a94382c64bfb3961c5aa71b43bbd7c41ed7ce367462fbee3c8621a61c4b135108e1ea9c577f7750ec024049adfb9b0f6853b89cadf917ce9e56e73829d181866908983e5d43fe386472e3856f4f1760b810f2bd6507626916b4f7e709a100602580db9195f2e23f9ff313004e09a0c53b272cc2821324d25224f4276366f5c02c85fd992b38f3e900bc59b43a91f7a86045e34500aed419429ce1a1f51009a01b8bd860e587b23906800facd24e5297d2855ceb9d65ec3154bf18fee7ded05ad5b2fae6e69ae84751c2de022c77c76f302ab35241fae6bd69fcc959612854e9cd166316d5d09d89c45ff32b0998376f6d1e4aa0172e7b2c793d77e6c0e9774c24e3938b9b8d46375e63d897103a3bbf99f50d9a2f57052cabbdf76eb41b0bec12b24dfba3a4fc78662f4c99b64f9d8d3f4717620c9a2489ac5424c9c9dfacddab7e4b6c71c462f3d210a371e42e46cd5f8664fd9df0b8663cc9f8dae969d591722270c42bac63845018386dc12904ee25e36e5984160cf46a89e947c7676d5fb417e5af689a9460d3f738678d1adfbc121a0d98b1bd0c94d4bb082035ba348fdf99bc26e22b3c282a0cf05bfcf156fab88a5c73b325c0dc2ecff86cce1d835fded4c46667a305019b13cdea6dc967d305bd76f04d800f9dc308853a7801c3baf4d13dc37506bfacdcb8c9558bf25615c98d12a064f6ea966b894e4240753583f0556b9eeba68a7831a34824341c8218f13d98bfb76657a81ee5fdac0cc8385baf041c1a02c6ea94948729e4bb6b476c514e7ba9f66eebbeb8591ec502e33735ec441a5f1541a62a7ec74e10e7a426d9042b9f2e302bc3923736485993c3b3735623747e25b8651a88c7e2eb2d7d4e216979943d53e7ff1c3a3d18fd872cbbbf855b9edd543e3e5aaf1f93c5a472f4f931d9016979119d60ef0333bdb56f1584fc79b1ad98f3683123245f5004c1d3aa6932459d9606ed5310a9bae86e81bc14ee0b52cbdf6651e3d8f09883b63d1623541157d6e0e50ba0e454289e6b292af507c1c0fb202f7e8ebd76601ef4aaa1adcb648b6969685a20b2a4832ad59bb16f103e7881c2bd9c3ccd3b0157fdbe100505a04eabc60e8b1d0c1fa613f702a73bb06c9bd40f4d22b08c1e2b87bba5f72500d13868e74ce1cc951aade76853f30aec0178b7b33f22b8af732e8dadf82280c3d73c7d8f702f743b3e2f28d95172f2dfd46883747331a1beadf32ca8fbb533d16ecab1c2015df54db110c12ef05e73f65d8afb9c35a9253f9aec047863e975c202fd3f5b562eedd780a31d1d66d3194a189d07039aca89395175973a37e8781cc13f718f7c5c99bc575d5599b5ac9145e99997d4325f0f4917401aba313cf9e12e65e6d5f109f7198a06de01a5cc28625ead9731e51c390e2ef37b7841ad3f8063e37492e8587f236c8741eaada07be9b33322b850897b60b9fcb509c855fa0f65bb12e2b2f4fab9a82b2d0204a2227d9d6174a506228be02a3b0e865538c258a73e093333d2b477af9440bc4bf13acf874affd9dab5555b3f1abf3ce4e544af7eb4dbb02642b9bea4a6890875bb96b926ab3f73d68f30e5079d5dfc55c840ca24d9d36a92796880f19cf585b9eb0f88b4578471e2ebee76be7c0beca2ea3bda68154bbfc30c0479e0f9b98d2093665ba1d93cb2bbf673731757771141d109a5666225f9c0d757bda7124068b3139181957190d251a334e95e4f58f3b38d0b08665328c7616f3e95dfcf1038f9aad7aeca78233b1f598291e31d6cc934a4178f29429431b43577e0a8f5ad8cd2b4fb3854161c8d7a76b9a6672049019df23ac6cb0cf06c4a5913039081164e025218a9860b67c9da56a029ea999e92e8ccc926cc2966abef4761eb454b081b0549eabd94d5aebafd3fe2ec74a5cf6d3cb4afdf1579e8ce830d4a5d46571f0271c69838dfdefbf176116e9d47b94dd3defc079160f34ce5b16fca3286c1b16f0354f59986b143114ed3f55f57caaa40f632ac3a710127d8a4e3aba9e6ee92a769b4fefd1550d760f866fd69db05ade7b727a021eb1578853dd2ab61e435a45da291aaa771341279eb46ed36ab43cc9c3a229dd6394b7a058d3d0a3d29e4ca647e1bb3cc0558af92805f43ff2be0666e04352a72f94889a65eb79c6dbdcc395af84ce408d5156fc3554ac59aa80640b6a61a905d297260fc4ab51adf7288fee183d511ef6dc08336c358a4e8f9d7e0ce9395193ccb25b629ecc26c25f7c21771d503187b4e11314206aebd1643a16a98dde635ae0bc2e50429af858d41bd8af2e2f95a1a1148da75a403c5be0d2b4d48b0e091b71f887389fdd5c5b421032a25390c12483dffe6f6cb2b4714ee3c229b9186aa0fa193d7e051fceeee94aef024bf172989c15f68b08af125dc4b3c11f325a117b21a819d8974717a24c7c97966b2d73a9d241c428f2be3a7913dee670564281e650ccd68adfff5440630d4ce6520a30bfc857b4d2d5dd9799b8d2166afe3384516583e845ffdc5ce940aa91d9595d80ad825d9323d50da90c3370a8c2173fbb254cccf85e86f2f452c78037b66cb1efaa5a68035eb3d7488e6850d94ac20dc2ed2fc68843b064eb7f1a8e2b2b809d1bb5df68cde117a5ca3d473f930249792623ef79a2267ca5915d53bdc0afddee45942e7a28f37db667a1cd2efae5ba5f95c1d1264e4ace92ed4127ab9d0830d2e954ae48d6239f5276c0d5fc059510464d1852f5453975e1ee5af122318d4499e64dd69de89a16c6bcc06e266e966335a02babb8b4f3645dd10ff3d2c07cf9dc39018325877e5a5daea965f5ba9bae3c27ed688754c5f5c1b7c6b452203250916321b3653b23ed16a62f6c665b551de36acc053327f39520172fae9dae2dff09c5e64e5882f612876c5613bf0db9fe240b676c42115ab2e9861291d91f0369137251b257be17eef634af1f29a0e53132681e2ef3fe1e90c5fc1d311939e6b27c739af18378ec9fd8e4a1e38b1026cdb332ed7f8c50c2c3cf2380498d04574338a997e4f5d7ccd94d9fdac0ecf31118745a44a0beaca709843d9d162b013cfe09b341f32676065b0baaccbf5179ad57d1452d192328d14fcb2c941bcf75cb4b9441e80f2382cd5114ca88d23ed7c638a1df1517fb7c225345a081e21b8a689a208f23e5dddf47b3e626bdbae32a0c36df33292ed44e86ea33f6f59489b934784a594ec86e0c8a3689c618c556ce155206727324a44f872ee00adedd6bd92bddcade790435fbc61216833d2699ebadd9569cbcb367464f735e3a825198f94e3d14bb94647d0015f763ee52ca0fee8ceac5fae02f463ddbcf6f46173230742fc73437c885969697b61f28db2db8e567007f075a14c86ddf86444d74ce0f9b7320bde0bed2290ff0c56b8a2ab215ee7022ea7c5ee39f8bb4bc5c1fb032c30408a6a29b52ef9684529935b95cc3d4a677839f95e7150a1027f582ae0bea20c6802a668bf4245fd34ce08f1f6d469f1d0926460e8e32cf9a55a11b21b8155ade57ee9d85d28d8196fae9f103a46414ae480fba0e0080b63e61fc8049318152fa5056a5ec492ef766eabbf2bf2b01ad3e772561e2d9379e82c8e8014fcbe48fcc7bffb55d8ec32ccf4d175a302fda5a1824e39796d64800c531117345fcde1acd5ffedd2afd8c4650ce2336f6a1abfbb6d5ec99bdd7c3caba72808c0f8cf9c8ef66b8bd1905342beea360aba01cbd74ed12912fa507d51ad44c6bfcc890d2672b743e073c89237ce0d46622b7be845b6a6357df0191cb068b57cfaa81e77e741d90dea832d47599031ec2ca42bb0a55c9c8753810d87401267c53b8e594eade97b2dcef6ede3102af238fc1e1591a0fb8481d111aa32a9a310c305cbdb75968aa94150e4b821dc59a83c94ab856a550448f841a85cd88c85da9ce4ff88646786af1d601b01262e11709de96d85a6be72491e6d70e57b32cb4157c47b0024003689afc6b9c4c41101ffc2c298ac7e5a5935ff8a3d95be0ca0e6dc9d5dd76a269d1b5cfecd058463adfae62187bbf8a87ca81454f634e076195ba75bb9f82ca92fd4c9e1409e4d8c9ebe24eaea94b80ed67e939dc8c8f7ec7d3d8080b136cadb1b08a06a7c1ba34d72965c035e53e61599d447ea602114908df8790c210636c224a75a51c75e487639cf8c1dae8bfea3209752b7f8a0474002fb531feb18ab591e02610b59a36b0886df4d79e12d228d337cd3630799e22349a2407c863c1ec76a5b9e794dea143cffde3b1301912fc0fb9064f08250a8b32671a279b8f32889e2c6202b499b7d7d5723fcaf8fa170032ddfa6d13570a25c32d49936fc5e300a179fda8e0273aae6001dbb8b3961f22fe2f440ebc242b1113ada0677e8d10c6550bf4aca4cc08391005542ffaf3286882d8dfb806a565d58cff477f8cbe9be63311921fed554f3e650932ccae8ebde704147a254f084a0d15e9aba09feb5594587ccb9bf75641b7190232800f937d3e32c434501df7692956e90ce298f9fa0e0ec8768cebcc3739ebd90fae171e2de1d6aa126574fb854f5a25a5e17766327fa6f2d4dfbbdbe582105d220b700477050f8ef34a1c9ab18551bf834e5b545ef5e215a7c88da53af9c409258da3df0cc45abcafe52a8c731a8f290c2838a274418fac532b45490659a6b9ae0c698030d6544d6965eadab7800201d41ac6a075d7f964756a1f80b9d65f5f0e4c14a1381259b1e9819574c646f410109d02b5df48332db09cfcc66eafeb6ed98b39e0c6caafb17d54a1b90f677489b30d317b0d1540fd124e3fbafcc181e96c1171d9c5d690a302883db87080419365c29c509630e0165a8c942de6a9650aafa96a2d25ca4655a559f8154c816895ce299e9746ebe955e78db00aa92ed6c13514770f2f34e96e1d43d6cc2907dbb7f89441b7629ff67da1aa254b432a88a6c985b0da9431cbb6b5093214545ae4a1d54029ae557d3414cefcc61deb2426b51a5d1802995fb81ac070066cc2a88012d4b86653b3a1c33894e8d13ba2787cd94407b9ec58bfc44959c1024351d967b77e694756edfe50cea60a6a8446ea27742c0aa46a8a07eed9f0e59190b6867bad35080eec3b5ce3582fa8c2b009809f9fcebd9583d1990dc5066ab1ef208cbe81103b3c9af71b12319bf61881476a619fdeb72af9d3627e10a9937b485417dbc68813e6955ba54911ac8afdd02d0da144b957c768490213302a59c7f1d73ef283807b4505215ac1fc001d5d866d9308bb172f0080fe62236a2da934fcd94ee70d0989d195547992bf3b40416477bcc75f97828349599cbc3474d0dd986c4e4fca26a9efac9d57e68cf2475bde3592eb4c36569b5a5611a21a919b3d23495546ae7ab57a0fa8e513bfaa2a0f574fcf6d85faab4974d25b59d3e13ef812d6c0f84347924ad583618376d1247125e6696ce86aa0255067293ba000704786de14bf261c14c49448101f81ae24ea82931fa180e4fa801c7bed54da1f594ebb1704e9f544adec95f14fab701c6d79e633041db70127686139c572481e29fcdd2a927b6f4e4180b4795f56459fbfadd35594d32e7cd6241ee7828d45ac5afec14d01b2230abb706590bb7521021f26a2edf3d6f709d2db901f8dc93d5c1a7894a069599f948c87fc3e80d7fff95a7ce4c3ac66b2f8c94de7e71a1b34e9910e7497d89a44cc050074c09b5033bff27de337e75373bfc05897d7753ee22cba471a29d54e6becbe5f5dc06faaddbaf95b9c41e44ea89dc2c061dc194a27761ad221bda2ffd074f423bfe1c8496068fa3f2d1136358119d00b33063dde8a4fafc37797ba0e6b27f02346d3a8c6b89b09e9f9efdc5f2f708d13097f2817cc83ad6c3ae16e771b6336239a516e7ee80218b2266d08447114d7f7df592e7ce3689bd491e7f4adad728caf49a3429ef50f23bc540189e236bef24b9faeb24d2f9278ab4bb6cf1b7708b86b1398eb6d9634e59cad8105fb415bfdf80383ba5cc9ca7bf60a078ac90a1258137e6d2d51fbe33012abc473933ddf889eb033858b8f98d71e37575655fb56179f857b3eb19a97e5c124e3334c37a7d9ee48f8835915345ed0bcbdcb77e2184272e29c2c961b52420ebfe44ba94f11f7396f80d72152f9fcef340bd51736e6454ccfbd145021f203229dd4ffcb0ac3e47f18eb662b666db3ccd5a3caf5016743704744f1eebafca77c288814e6b3f6b8a40054ca3ef679f0671ac62c500f2268f99dda3d68e2a63b331f3f2cf70b7f66ee56df398e87dec5cc27d1797c455ee30a11b17fa04069030266446c6bbbc675f4656b89befffc1870f3b6c19389bc20285dd8005f10c8f3a23b45e5dda919d0b1a6750ddfc6f75120d8f2bfb23ea3eed6d0b221d76a7cacab65cf1c3537640566cd5b2a3c399708c0cface249560bf5afcf5feab99784db40521de89d370cf724088dd601aa879fce43348a765268135703fe743017ccf76e869f17d1c70ae60994944122587bf746c2292d04b17697b058af4a7e23d9bfcab6a8972c70d26913faf9fb13fc593d2fc5b1a3e75102cf9204ec53fe9b4e99127f19c254e989324f9fa409b9b263f765427961c5164ec211cadd4882d3334bab0f7a4f757410283b8d6b212e9e4a94eb70bafe7d7bd32ed177f4476aeda1adc2e14a6368f4383cba44a8374593e05a102c697c837e4153cee35614257d6c5874b1e73fffb7ea45c0dd1102a63810bfec7adac2527e69eb81db35bdd89c0cb5ad2b08c4c68ed23b5c2f07a6907b341f84c17137901320eac5eb7ea0ef2c51de4f8c0a63260176d9fafe916b7098e77a8fd03774d9034759638f8a360b8e0268c57cd73845af1c5f8a724102fcdf53f5db2b757d3cd02d38f6451dd85280293da29d8f510591fd84d9f78ffdc0e0e12ec51d36a98e08065b4ebae23ec18c3d682c40617b49e96d6aa298d81399e78bcb4803a83cdcea0673d59b3d29b8ec83ce33d38698785923128dff9fe0c74633f9baca08b803ae5e171867e4c8ae4bc30550d62d934d0167ac66584cae059956698daf0a80aed96fd520e6f305c60bb23cb75b10c44887719ebcdab5fadabaf2c9488daa2e3f0b7edd3402cd97d999d710ca595c90eeb2657a1ef7162ba22f5de0d17f4f0813d2740c2a849ad43f23a575cdf93e556e8d4b1ee84e360315df7ca4cfdcbcc622b668977db5621dee2e3f8b81765f348577393380b4ac995aa634ac4fed8a0d902e00e0397e27adf5412cda575d25500e92cb7341be2fd8eab3d2c49f6a8f122c74645fc74eb28fc1987213082eed6f29a347a19c4448b337555bd388b0980032bb61f5e3ce2f557c876d0c2a6a517767a49efb02eb4e01e8eb4d2548c8a3af3c6dddfcc77cd99babef14c525f6803ea2556f630ec6a0e8f330684c7e7151b9d2bad53cd059a1211bb18dda2816776f14cdc0e2ec391be529cbf77425cf5b04131af9c4a52942a33a28e6285a699ebd751a09affc353a6f2a5d887649877b8081d56d2f3cfc44db5103ec0a4a26e2d0751c510a5cd7279bf0ce028e8cbd9f4721a6943eb1a6e1ef3e98fe0539091bfe8848ae46109154a860d361b1f8050b262c02f20fd251a5e3e87565246c541b8e9cf4d54577f2604a60564277955b2288fdb867605f8c06c789a777a3e3fe411547fc51e6db8ce5e12785331c71b4c5bda3690b697dcc4ec9bf2435529fc3da8695dc4878ae0597790b0cb981876c22f4672d531aaac11fed619185bbf92826563c1cd56d0ca91ed67c6674efb55e7975f4b18ca5fc59c2d8d0165b72b8a859382d7baf30f3865f047f2be53b87bcc075aa7417c0ece49fd42a516d582c8c52e9071ad514b0a810448e30c3fe7d1849f2e96390defc32592163859300ddeebf1df36611f6dd16e25ec91b43a1deeb1f2bf4196b249d4d6d8fa40d9fa6a2097222fb08dc97365e42282df7933d3b9f123a0e19d8e23080d8f39387881a3ec2500826975040ab13f3239b8204f91a81e94077b05d9ee4ed101eb26596126c42e33ee7a194a5803b59751049e434f38144a66da14dbbc8f9f0199b98054cf68f027ac3a28bbbea67a0e181a4b4e94163b81251e17feb5d014f5179b770aab53de38f3a91e4750553b7e66a8c8f795c16ace35ae432a5040a7bb7a5e595aa8da3e1d4d5fa1117d8d49260c68d5001a48a490ab8664e49ee9ac67fc7742506c4554b4bb59a8c17f4f5c4052adc85b6ff16ecb0a886d705ce3ddc33af802b66bb4ebddf0d6af1e5cc07b5f65de4b746c2e1536d971a71dcdaa6b2b08c6f897a0c3ca466befdbee2a6787cb4b498141ebcfdc76f0f722df14bc837032764a0dbb0631b26e0a956fc535c365fe73723ad56ca14da649e8a741ee5ebb24d4088db5c48c00fa4dd2d6ef719c64bfdea384442969ab1667c04e0c8d673f120dd4a28bb688265eb50e67dd5447708f4314f2d93e95e6d7e54d83c890490120295d48957305a667fcd084adf8ec5d2a67e92f3afed29a0bbbae78abefadded5d036a8f60ee6fbab13eabc6081959fee1bb4cb16bc5b0f3be23c09f354041413eb5f0ab50cbc596ffda50c9f97ea987edeb440f1904d9049d76e62b888f56bb13fdd0a64fb61cdce921ca6e8a9e828e77a0f81133da703de3480fc4f065801af9d7880d988e5ec86a431195461d1eceeca04e0934be05f4c003a99c50e8d846ff573e4f7cc20204b4cbb907f2eff11ca786f304ae80bd11deab9523ee76b620b46240ad1423f027214d09857535b1ecd29fd71a164f4a29b911266777062731f7d7537b5739c53bc5d9dc4a4bfe7db97192de628ebec11afc9096c54e84533adb55e620d3ec6f534d4e29d6edb4ad71c904844d77599fe244085c1ac5e944610e755e103033a3e1b0c9dbc51c5ce5d27c5464ac064695858d9515a34ca5a1b11d741ae0d30c7a2b2e058b3043f549e35438e7f6e573323f654f19e6cda5bbdbd8ca6501a2caf7016ae1806ee37acc0381146a3e2da5f1920114eff8ca397b14eac513ec69e222c9d345b46b8dd1f1ffd809a58759684387abc83e4390ae9f80ec1e33dc4f23ddc6171471d553bc2665a6a8267e52034c3cc0687e5fa299ee6c3cf1471acf0d724953ef49feed243cfa1406b276ce9dd8d9bed4c0a25889aef69e4afea5137b404e268c1a71c13c5043ad9b49efde618c1b2ca28a958e61ba2503857e194b383479422515a20f5fd96e89e88a091c0698cff9866da3176d22682cd95e888a36828c1c5e2b73c23ab80618bcee81d3d0cb564d4b2c2e7bbf4936ed01dc76885988c7c77f0ce36b0a9088413c27d12193d1cc908c4d4edb56d8425927599188b7f1bb8db6005ad8ecbfbfd1e456aa1591e55ed44b20e8bef4e6ae635e32d383cd4baeca93d3715672de443c037eb47d4af72068bfd18a12eb46bf7f06ea23561bf55a82a7a5965055cfdcf3fe040f81810dd33d0405e3c64091783e3651aaac855a65dec43a683c6087362c45212286c2f4121813beb7c5f82606477ae69d1d41c08a399e2a45d710f02a0a08e6e8a901da517fdcb087e89bc13e0a63441b34b72e978295383d712d0d27f70dd774aff1fd68b23b7d06ce3339b0bc6c5fc566d9489e4e177d6071df29377b783cee435c2e6d05be6d74287d0a700274c664bff516a58a5de60e4e101d9006efacd6b6aec4af414ec8abfcb47c93737c1186cc22117c54505b85e957a7d1d9e3e499b8f8186f071218b2dac248eaff5aa85c5c9ad10863641491a13d4836474536c1767acbd5f137e1f427109f1eaa9ccae584f0da20a3076731303a9a42717d5a8fdee94cedfb5ab53293647c01df59386debdd4c4c68b7a9f1551a479e41a119aef62c7db793946a19c7f0832e8d86ca17d55e9c0f8a453d54f64d60c65003a0fec1a8ddc559e1eb1e2257b439a7e50c8cc61349798c1917c3fd853c0c684ddb39292d2a255c4db024d059b9bc0fdf06ca0a4a22dc5ae17ffb09696c4742e0b732566afeba6fd6615a2c441eee50d6b14f8d878d59af74bc400e328451f435da3939c86aa71f216945cb7b70c808e05516be2f275132b4fced6ade3fb9e1c489dadc7abbb57b259dd4dd6b2460b86a5042c4e80669da58c8335aaacd52f3ac36db36d29a99eec6b6b491d26b3f16ada933a2a3ada4afa642d0849ebe20796eb4bb021270b54ecba3e127ff6ad02aa1a80351ae36ca8e120e895a4be3d47da3da185cbc6389ec577d0f355d1ed0fe38ee4623e0074ce8b1cebb4cbdd3c9e56a273a9d8eb77e1a8ed90c8605bc8093f34fd85d617a1eb585579ecc6072d844349b712205d9e485dcc0d431770c8f3dfb624f4fc09324837a9acd7e4003c2477a489d8f7b58c324bfdf75786155355987e20e5d796e339bb7664b72b11e2ee07d43f4ddd125b374c9688acc78b6f584ba877b34f530b4d174ca1efcc90ebedda0eb2488bc31e6845e135f6623f2c060cc69ac2d5f8ae0aa16ef7d2ed149561c2a42ef9e0679f65bf9baf4695951ff728e05972f7b516f28231a1b14668cbb8d10ed8013c0917b0a71ba66f143665f16b32584622eccaf7f3422c9b6da0a9a79bb3007de81e237ea9867df85ec144d0d9d01ace748ecd42a84de8b0ed915ed1c4d3b5a4b7f669c4c27e646c2c61830113b20a898b69a08bf65c5292884e7b0ee99dc8e3927de87e794fee516a14c7787aeb368571298f4ee5037c5616820909a277372df1ce23911ca8346e6978751d4e8713c1ae56f94507f46682278939ed5c07521159d600846577a4b09e9e948aa88cdd406930115bc52f6f0485ab0950df6c88804ab6b8983e35a086d69c0b34c2fee7738d95ef023b0688dcf9baedc34f58d2cb2a02efd5bdfc699ef5f1a1d667213be668dfcff92407e41bd7f637122f594ec4f8b2d34885f8724182af3f69d7a5dfba9c1b513d4223f2f70b22c48322e44b031c15cc07f5335f1205c47467795210e673f84168f48e285aea27b137fb779f1e1dca06b997c26ae533e0d8d0e4849d3d3262a22e0323391f877e7a8faa1154e12dcd3bede3b48f12cc6088af91e4cfe1d8905ecd7bf123a3f70847417dd0c5afbb93cbea734de557d623aab0bf3e43a08a2ec35931aed01ffaa727897bdd4301cfecbc234545094a7b1032ea5bd993bc264b35a6600cd888a0c03e026eda36c7a694878255cfc092b8df16a170b7ecc8779bb5f8a2f02bff0bb8b3beb2062bb53b9578d3e9c1b10f67714bca05465248947c032894697ea4eb2fa3ff030b18f2566359ec0848fdb8cfab44f9b27e325b784b1b8c46ca79110e79ea047a3eec5d068d75f1bf99b9c75debe5619668e91cc7fa69f99948c89aa0d726d22f00185ec96c72ab6c9b24d00198a7a5fe15abe2d1f1a5e11599342793d1cae3eb477d83f9357551d3e8723a5f5323cf1b4c717469d4f9dc12022ceb2d43d042a70d62a3cf2870963111aa231cd0009b9dcb9aa9ab9d92b638ec50daf43703d02522c141242d037d5b5f485dbcdc342623cf37768e11a33dea0ab42162da0a61b5d29d628f0b5d76281afd0a4eb7b775d64ed5f512a3afa43ed45aea22446521c5120c0c4db7465828f59186316b3f2d4b53b37d788afb6a29789c3191ca15ad469a27308a8c3f24e52577119a7d1cc59b2ef777e43de8d6fb5d20374658a0a628cd965f8ef49277c4b76ae40af48a3ec81c09018b6784633ce9142133498eb02704417e78780c8060b53462871c8984a17c73348077ae20b7480b5849a81b1a49163244fc6616a4f591040f7a13ae4f0a1bcdc377e688d0ebf2b868716530f1fd0543af6f3819eb4c4dce7463b35642f94bb7b7a079a6bc8b8602e77f506321a7ce27df96f1f7ed3619da33ada1084df3f2e1e12729773a38861752fcecd042a261b8a4aaebc6480672585baa4eb72c780da22bd3af2e5bd51d466b806a5a3c45023efa7e7add372e0d05cd7d613f8d8db3e586b68694e419c77f9e454f1bc3efee60c68eccc9e484185058e67b5c1e878f573291a179255e09d7b2fb7ed77b4d6f1232ab44ba5117b2d33c96ebe1019bb562687199debeb11f2b31fb18c2bd2b90992642a379f3ca6baca6d9d72422edf3f06934eafc6f2c81738c0fb0668e4ce24a16b1e52b6a4f129fca1633bcf630c1141dc07962d10ad1db687b9424524e36fd02628e0b718056ae615b58130be849a7cb382e45f22f0412b6994c87590e83f5a32e5c0ccba5841526d8329fe4adbf90af583b4d56f641ee711770fbc5680f9a5cc4c4bc9313eaffbbddde76e29bbc78855e291711316d1a75aac20b05ddfe0ca4993ad1cbb52bce077607c5d691d6cada5ad9e81b7f04254dd1ad40d085f4d0a858d904af2e3a1448879b6a82371d4da320a8a47efff5fff3b6efdb6e11cb3a6b5ecd241496567325389dcb69d99d8e3c730091ac644ed5c35d8a345dee788d0f0709d253d301d77c9da29e270c3ee7e35bab8ae7db4cbdfde94d027526b9c4655c6b930fb923d798b587d04c83bc9cff35b362b5f08dad9d37ea58ad5b5fabfe33f07a37c054e6da2deb7d8d05e489095fbb67b1ec9be9ba3461e785431bc767e0e01d0b369b724ba745f0a5d501f3b41577f5d96c5663dec3b1564119b17c5f4f4ab8af99819b4beb02611051f5b4d81ca9edf37bda8fb14263238200ae787e7ea760e9d9cb65295ba810bbee57f0f9f4a85fe1280102bef2a9632380b03619063c465aa3494f66d7b116cb8b2deb4d81b118f3fd6aff07222e1464e254559164db4c759f340b57da10c1f6b09a8537ffe7286f767d04d4c695a8d6bfbee5dd51fac20bb47421fc5c0df9bd2fa03ea7bd6ffbc820523ded6678fcfd6590f3838a3e3b1411f3c65df915329e5524affe1f8853f3e19463aed02e3109604ce76e397c2d2bbb8ea0687e53e0ed35b41a5bf441b4df4cbe03508db2ae03b3e256ae38c677227935444ef741d0e64bea2c915023c435bbcc656fd0d736a188b352ba7fcf09dbe3321478bda8052e828b6ddc0426843c32d1e2b3b1702a20343352962e587295d3b9d373d1ddc04a774173106f2f9ea241beb71a5b5db4f2626e4d1cc4064b97726e65a75726253950d951061666f3689ef9215ce2dce4d2c5b74bb8dbfddaa67eb3b4c06c3ac55bfe0672570bceb4131949a35e8872e34373bfccfbbf70e5c21bb6bee099eb93672f488be4c351c6b817298c732753124b6d0f2588b73763c8449c2c18b4a16b3b700fdce15b1c22fe85d567454ec4ad1b3f266a9fb2a2298fee3d2198cf6a8b57ed503a5e0ecd78bf39cd7826331d42b762ae964a5c55e772f99304e4cc6db15c8bf01eef116769411708235b0b49aaca9d877887c698a37f5f08caae2bb0ae329d1fe2c1265d9e1f7863d15e39cf5036d6983530118a8a8e0c35cf4fca50339480c3286ed7644ce0d5a88ba1e98c3eaba6b9a951541545db7513966bca1a6d49740abdf8452e1707048bf0175d9ea72b8eaeaa579645750a0bc0d23273af9051696273a291d3ceb72533b88cdaea3c47d6d125f23154fa4c82ea3a94246a6e2e601018ead7e985f59c54aca537627405bae99fb8395a934c319b8162dcd9e7f0180060c2c49b312aa9542ddf0422a3b664660f1e1b0c0d2f32e68a13cb4f9f014af5497450fd9590fb86670d1f5fbb5303a03a2654c243d4bb28f8da0dbed9b0cf56b0f3d51ed6d2108970e878ee3761d20361af26ae53923afd690bdf227a94e31ad6e5bc857cbc44c69a6244384441fe6eb517f0f503a78ab17ba1654600aedfd7a50526f7cdc3eb93869a5d50005d9c37e8832e7f96f4283a6f0cbdd1318bacbd69d37b0e0ddc16752716d3b8efe423b5ffb8d910ebaa01e5fdcc1b0ef85db59635cf116c4b047094d1d5841a54b7d0b34f22bca80ecff17e19205df42cff1ed34e2e4899f1183ec69268f49f06c862d241998b7cc299350c04f3740ad5c32fb1347458ec28a8ff2e6a510a7fcc7fa08721bb65800b7b1cd539ce2a4454e24e62bb2843af9b7b736086dc0a6d4fc62cad378c0679012db4ef3f0a86e800746e9f944f4d305276078b94891953143d03415420b05ab8b47a85b5952215f49dbcddcec755416bb928c4cc3c06d738851fd4827563ab5c885558fdff6da2192a8b1984a26cb92cc7607b62c25aead2a98bac140008f44a368ee1b9d4542e2f883b2d949bb3d030158b58899c921349adfcedf7841ffb9617021381b94c7608580819f9c63cf312aa1359322bcb26dfc666eb738fbe389b4829729ee567e923ff057ba8c8fdd9d557fac1479d319e10b07e18844fe61f1d0030783268cfec8d59b8d771e3297e4cbead5ace20703abf603bfcd6ce2a417cbb1a2e79f18e116aad0d74c40dafb842fd0641ce13c59f5e91503dd6e03833350e12f70f886dfc39bcea4c8a75e0712aaeacc45a80d0834d4de2aec33c9a5566a9b1969b0c182d3e53b8af4f72ebbfbef5383634ad41440d1265f3ddcc2463ffc24c2f565f7f7ade3cc7dc1a21de3ac70d34f5fbe19b4f207b14775d52753c099bb2ee15a1e6892cec3a3504d0d676310076b561c0def9c1a92efbf2955ec36e8cd5f578c50a89564ef801c56e189d6fad5843f5be6e7bbf9562e808b23e10b302323eda07b9c4ffb65771e69ca1fedfdca25ab975014b024d987c9be18f632cba0ff5ef6f3f202546ff07e83e06a0a838e905003f160226cc3817254d158d54befa27bd45520ac7cc13cd8dc2bf01405642db9ea9ae1ff140d88c86949429eca26df2609bf1a2424abfe1d324c3cef01665303bd2eb724a4adb517b1aea8c433f4b3251c87865e618396a0de49bd07f76efb0338684c88bcf8181430a124ed7e7c0a40c497ae3a65b61473a0e5a425b1a819285ca1705539cc22e1daf18cf726af38f28a37de4aa79dc2cac0eb6e6dfacdd4c954373f77acf648dc3c8784a727baf582353a8fb3fa77e244c53fb731275936aee843f115e482939012dbd496b2ee4bf04f78a17870e93b026cd555a28bcc8bad9ae69abb44e055266d73542b4ac18e5d1c4b303d6b5a896fb065ff97151e5831fe3e071d4687d32bf4c688371c520774c0b8471806d82ebcb9b34b4bc17b418d2887659568dcac19e3d8e443bdd41609f7d02af6d90410cf03e0bd096771dcdf2858d5836317d9de688df2a4a04d83641038aef49383da9bac32f96c5fe19c4b0e4b5f8f3b1553dd7b5f9884b305973cea12b70b38574af3ab52f76415c4fa21d6373b05fe52f579154e2ee9dc601ee96288f5327b3a590a8297fc462ab34475b93212435cc84cec06a96ec73b9623a5be76546313e5bd44d01425a3c414a59d314ffe32b3c83275e16b384d9fac33bf72ed21c08e40b37c83adfa7010a1031b92510ac212617d65feaaf2597156e3d185ac006c783ddaa2e3442d26d0e5e989245869dc101f1bf08f4ff140f3eced1887f8d36b9e35cdd261b3ba93f409ef7494ce81984987fea6c09a7a3cdfbaab30cb3d2ad531c3d24106ec79820e3bde30652fab6efda06a5c7c32534e9dd98eeb76181c9e0c6aea323bcd858cf236f231bc8e6c78f3e8462f38e847b1d5f326fd195989b78a063a0dc1b0d1a6c03468cadd2fcf730da9778e5d7c1037ad8872ce075acd742f11bf6b193de81b832660d7544099eefba576557aed1137a45a7f7ec73f3823c502f2b7db967bec8f03eda2d8e24060ecc98952340dbe6ac328577fb6e0d090aa85457daeb810c7849f93e0a02429a465e1ea7471177712c99cfd3dfc929111aca81ce88d8040c95b4905361638b0d7dd107a55f0ca01cccafe2fffe8f1e8aedd02f3a6052b6293133494a4096e196ed52c4ceb04c6b30aec767e4691b5cde5f1755399ec03c7a1fd291efd3b9c701650ca22b528e4342fa930c409911f2ed65711113cb0a778e2478631c3a28dd586f4973fce647060f838626e8ba7de0b01093101de8f3b7c65afe5b3048cde42b71985d3e96785c64f4721b8e40d22543ed8774ad15d6a701b6965e1801a153f51559b35ea8515ed8ead85e442aa78101176eab03e67bd936d8db99d997942de6350f367dc6a052b4bf8e54361bdb797ac7fe1e812b326be9ca6410e67d51203774bfe35aa458d75414e9afd8ebb1f2d7cbaf713be16586c873049649f5def4f57dd0f56195799741b837d0df689a0ccf131dca398a328f8cf6bb06071c3c9480d67dce9a5a10fd8117e574f690c15b86120a467af5e95d0ceedae195c33f9654175d13c9b191649d788e98872f49400ec32897d1bdb1f16c194ca20417b0d96e4b27ebd8aa2c073fdb77c62f2603c03d8cf2834bf2287a445ffcc8332f960a8545e7153a1df787bfbca3fc5dd87fd4aca0825800f514108329aaec6dd354f66a1d3ddf799df123d301c3dc5687082624e64ed053d0cc772c6b4a01302383676656a69c861b05a560813b2a2d1b5abb288435ee177b802a44f033bfaa84911465575c52f5fc4e94e98df4448dca593b35dd9beeb1b75fe9138f2999d3c5251fb349b3b8befcbc01328833d7f5fcd1c3a08c1884aa215b85ff7a2bf82b1ceda79c5d36545b6633cbbce9836ad5ab6ee1da295ffe363884d01cb4c2b3e6fd332d786345db9f97c74890263179374ef6e67af0c1c7304068b3f3e7fcc6878e561122e20614afcf29bd7870b5aa151f07b9b6f147c26aa6ebffc56f372e27f249744c1e9582de8fe7981b933d460071262cfb336135af8796eee11c35e3df6fb8358f72538656b35e0d3c5f19a459fe16a549635a10de87c6461ab29654a6e6f2d8a5fd7ac2de6f137f178c6010e6c634eda1cd1158daa29f33aa3dd4b556240cdc4e0bc26821dbbee3a5697d696ab103818b491625b24fb2e7ea568e70ecccddc6b0119ce43715dddede810b584001f9475316aa67acd7d304048c86c600b09b84420cdf934678e3d02782ec4b53ee68017ab19edda98e9856601c869ee2df6eb0c9665cbff75947ec6113eafcdb0f6754347d856482ebc6fe4ebff262683787ea7904627ae660b4b47e8727475ebf31db7d01b43225a5481e526427732c07845f0b0131fd150f9b9402e60c3a4638536324fb7d6a391d6352c1b54ea05ee87514a676dbfeacfd0ee4b45d579bcc4e1789c80b753da0e07795c489795616eb4877c3c7392a893fe02e2bf847b5e6ef4d91681d448446037569e147ea8ca6ba9a227860856786bd2ca5dea530811c2ac845a8ac621aa0801a809e43ccf75e94fee052a34fa43c8e274291224b4d17868f338eade6f9e8b2d25c94728c1495cda7eaaab288cc0d3b30961fee06a193dae7b06e62170ba274c91ecd81564fe6255938e8ae828eb21ccdc6cab33c0d5b5040fee3b99626d2d350c75d75175c00d03c2421592e793ff90cc47c9e1522553641bdceb3cf569713987152f5e0e0f643fd0ff1cd5ed952a7c6a6dcfb8d36e876f56411ee9f30af1c2ff7f7e0520f1a9c3d9dd6177506ce74dd7e128c6e948cad1ef4b03006a4a742a02f1e814548ad9f08ddb0049556103c81613f84abd66bf03e1d3a8b78bb80aecd74730c787b008832b4ae4ed22eb03a259b8232785f04c155ddc2444cc0e433657b5793cd9f52a5941906a3f66264546b09d32dee3e6f4d5ae6374e21b057e0fed63225757114e28841d3e30d0fc90f8bda315245b2243ff90e4161e279fae1c22ee9c7499c04e5200d07768990a9d002b4709a0addb8d793a5de37a0753082cf4f6b3ace1189ed4421724f21f12a61cd436e0e55533003964985aa86e435b5f08a57486881861bd92a5be434982801a006601429ecb81019383a7d9f944c2720d914a88ba596a48b14ac5a037bbfaede3a7f523ceee616a680a263c56d483b648923adfc4054b07b8effb5254bd148853146d086f8f534a4d16640464a1a94ed650c350671a1170a3d611ed50894f86a72778f61f63e679c00cd9083a071f9bb6083d7d7420e0996a82d00b3d05a81db73c5830f50a02ffc274d5b6e9b06450eeeb38046ddf75e13357609a8a08a403ca2dd4b7715fec2ac8ba7c9adf402d1fe9dec11c9983acba2058e193f98f6ad0c63c07369648015d3eda4d292f7f507be52dff1ceeee679511b1c4c60051ef5ad7cf71d2bb7c864490d882d9a40b7327dec658b7dd4ae623dfcafd6aa25e55890a710ab6f0e6de7b8018a5165aee0cc8a409b0adb5c0f681d58b123abd2074ca37299394483a2c58e72cc1bc330a89856abb475b6690d6093a4de62592dac6a73728ee24cdce484f3d288ffa89bc1811cb0d835f1997f239ea56057ff3eff30e97b9c17574351a48b08ad9d70bc8dfdf4fbe121c07b85f5f2a668a0aea01b69b8c49f000f9e540d7ee566cf42fca665fe8319eb8d973fe4f46b31957646df24041d914871f3b6eaa9a870032e15055558aaef7d9399350ca1e2cc0135c2b8d87e66bcb72f901024d4074121d59564cddbfdf4c32679bd4a31fd53b7bd33ba554a2040e0bcd738452ab7a54b555a99fcde151ff5f477424295902c843d013fa7a0d1f030d7c37d59ca91d9ec0db972cb26de1facd04afd6158ad19175f4eb352332424570a3820d202889c6357e7cd508d8388f309be27aec9776be065805ce2db2c75e5e7bc08f389a7545a450a1b3c5fde6eb65d7546cbf87aeffc1b9069b26f7616c25fa33fbc2faffadcc79cf806542693cdcb210fc346b2acc5b0c2bd0f5c0fa79669041854a3a4eed444a35a4114880803cf273b5a450b4b77d8cbf980539b063390944c1d52493ec2aea59ec3da76045dcea7d959106abf180b3eb305fe7ef115e5f65594ef181fc35779ae774e61f5f65b277e189eef3228b8e400c0cb6de66955c395574728082f3a0bba609806188ea83c473153dc877883a5c331d6da8a2295965c3ce1f5e11b7b9fa19c915758a7bb2023fa32ddade4a5d51321fa2ef9c222b072202917effe22485661bdce8fa667b3aeca855ce643b7965c3ac880bd3b2d8fb9afc26947c2866cc9e9a49fb117434e3760ae5f4b360caf0c9a56ced258094fe8dfbf499bf2543a8b4a7957df811c444689a146702327f59b1cce57cec7f9161537dd6d465adbb8419aaeadc3f9e688e0e9100cca2c68a32d15e34501e97875b75d1a489794bb08a94c1be301ab4c90ef2a5e3c8e6ed9cc27c931e3a6a31bc9d126fa3933950fa46b710dd688d0520c66b4d78cc3245f30d6b3891e1b653501e89ddb20d9e7225e82a9361ba17b74dfa520271cc2f424d53adefcba735fc08bc132f680035f8adab188fbc614ae281f644911a63320667a58fe57449a1308c1fbfcb4aa9cdbd9d62960f439e7677c1e794f12d7676da0b87cde9a6a5a2edfbb7f2797c6670bf9f1ecba1235247bc655409b1a530de814756a1fa9ee4f22601914a089853085f72f3a8ef2432966fb54e1f9789154915497863c3fd52c4025931068412b4aeb8a1f2c1669ecde015d9f80aafe9dc262ba138bb9ecb8938168b0ce1ed36d89008107668af2071e90c749046a81c7325bd4ca98acbe28c054092e49d598d9fa07227177a69084116c69b492a82ced0ba709a1c97ac6949566038c9674074ed2b84dccf99902be57d6b6c6bb0d870dd2fce42a7c62202dc445b5b01b8262854baf238071fa92fe3ddd6216ecfd86a05699558274a0ecc4386a1151907d3da0620baf472ee3cacd56d5ee7019c977b6377891aa2a11c01fcd2a6e2561fcc4d1032da3dd03803ffec5a4b789eb0c2324c180dd5b139ed368e8a82b11902b9c59074531c8efa4a95c8144b81c7361724832ce3fcff29d0c3139484db2cc858b85a1d02cc18f220a55224eb54194fc4e89100df5a3de1c13058e0c1afea57e1a92ee85424ed5454be345ac9a5557dfe54e3d1a6ee158a66a4d8349f4ddf317bb6a27bcc02f673a4da65d18177c6a69b4db2556c3d584de6587e1a1751a5d1a86aef3f3b3317461d89f490b03920430567fef3aab6ce4aab0e2ee01b4980f3f83a2eb8f145242a36ca757eb2a87298a0eb792c2de533822af9276037f43aed09d6408a6b6b9eb8c7df2883718f792a473735aa985052ec0e5cbf3a2885e6933baf62bb26197a7ec4ab6d8d00edcd599cfb2e157717fa76b324d5c0fbc596c9e4bac3b7c56504299bffc61850893a67d43f07de3a761c008a3c45c93fcbb04a536523a6b72bc44aeebd6c37ae645038c5befd91333b86cff07dcf809722afabc9e7acabb27000d2fb06a32552b2e96349616a7131be769bcd2c099f323abb451b5961816d2ecfcb514f69183760429d99269ae001743ec2e01af9eefddd2b4182fc0ffa190d926210f9b965ae9852d864c3377112c0b2c5faad2d224b1a61884de288fb081d80887980e0b77c9c1f410aa754ea62bb2c81a4415412dace7e4602ef8d8932705cc0f8e5b28fea44d2a1749997f8fa430ac693c43a66f5ee826317105781a071e8a418dfb34f942851eb7680ebb496016557b602e8cc5b85d6e123159d935516dd9570c22053748ce7e93b4434072f21a59ca43d44ac708956db395c1bf18f6a134e4c90d842f085274fe33f692748c20bb27b7a18e6b00ff369c0b105757fb27fb378f284eb407dde07a79b3f7d5c51c2b83232de1f4f0aa5dd35ec83e591c04bfc9c4a59667f0d346ba005570727cc66ebba1a0246909321c811834f494392b9838e55e1fa005294717ec73659564ef532baf9032b48894f9e9274bbcc2865558e679d111a1c7207c73fdd96e4fb925d8210acf016b81f5e3f5f0dcbee452ee3861c53f6d115d872fb492824e7d263d752cd05cdcd475d04e3156d382d7e00d2a600970dc07606badc129ae068790a0abc84c2b810e99e521929a45438f292484494f55fd72784e7002a21b406cdca3e4002b3826eb14260e11cc74c1e420a8f690eb95c686ac716d2fa2aed20e7fb8db9bd214ba924040d1437b137930929b8be850274bc61dcd9659642bf75c88f3fded3b587c5532edb9f35dccd23aa7500841143be65266480e2644d845951ffd7fa99d5e417767f1f3b24d1cee0909a3abfc5fe5530845398c5b8b04ccb85abc0c5e83f8646cdb777f398c27046b2260f5c5870fb0ec25b183a4386bfc85e665d3ab3e6fdf1cefde2d74ce6234edc474c74ca87586bcd3193a95d0238e7da73b518273e03e3bd0375b445d6f9346b07fcfa41837bd2f0a54bfd9f167faf25d36a1f4726b6b0da073b5c93beb09334024c3c0f6eb544d53c19e3fdc67fa1a7726c741cfc0a00b8848a0d5b259ae4a48d97c103bb3e86bb493d7c9c94ddbd76304dd1824d27f9eed1376bf2dcc30c4f47e83c713e0cc987903fc9def206c66885b8ff94e51679f20d67fed8a815361ff30cca994433cb08c174736fcbf241dfdea0c991bed3edaab1060ea0b700277b60bc4671f3d54348062f15c5b53fbd4767ac658821a1f8b5164a05c51ff3d70f874fd4b4ecb8083b25d6b2f6a54887a41792c4636f9812c362863c865153d65eaa24fc1039fbffaa2210d55cd5b7ebbabcde227faf5c5264812b4723adcf992f908adcfb6962a81788fc5a8f5cd7480fa6b600a92e8d07a83eec667f61aa64fe787d32379a39bf70fa4ce2dbf3fa5126fb21290cf62794effc64ebadef782035e3fb475207c1d2d5e6379f1d5244f30233838b61fa34d7db3aaf13da97cc320bda612d4800befc4e9df5f3345a5713d70193531e085be773afa061ecbac499e0aa38c84c57941726fffd41d9e4d3fbfbeca8aa00f5c85a45ab7042fffb42e189419edfc9e905bc529e4a4d80f8b4a67de3cfa6e82237ae4a75d91321194b9ee4a3cdfc75ccc9ed5792921724f61f72e330564f1bc69ac92cab15c9eabb0d4b07cf3ffdb6529043292fe54d5483d7f9bbb9d41ab2bd54413e1eddac4e3344e12f55e5a00d932b5a5a7b119190e971fe2edefb276265a0ce1fd6a983906d40d8f0de8b0496128e2a9d883fa1c11d0a9e2b37b71cd48a6c4035336385439943b97e5bc39fb725c88a66eca578fc347869fb474d1e00184500b28062b31cfd5fc821a8bb9cb9ce1bf88b64c88ffebb861d6d1f00d3bf3b807027102e4f9e976cc5c87a3b2b01d8534d4c8f4b638109dffdf435224a4f6343e193f83897a91f634fb330f5086eaf0937b98bbd7f435e7ab82efd096b0f4b8af45323183d1fb7ef7277f0b468d8fd4d1d84379ddd655eb46a82765a17e90119930965cfa2256c2813ca915c337eaf4292d866dbdd6ad48575c19ab79b9b995bda5a9aa8c9b6a508889006742248ab4230df221194c46ac59f6ec6c4bb73d7c005ce277453fb0f9fdfe1d9811214114ab741323543c55fa06c619c02876c9e3d360c5d44d85d0496bc5eeffa2cf46cd85ec9da3e1cef6160748afd5f039c9ff241f5a43d6a7ed61fb9448af0fc602a8849d067b0e9aed98066e0e9e3463ad15184f91dfc31664d2422662cf2157685b57ad4a536c6761bee3a1724e572d021aa1af881ab89766cc02c45c3a15065ab3be732289d05a51c9a7a1d3e54b90c1bd51ae9d62797623286e6f93114ace081efd914741ebec3c021decc5eccd864547e68c704f3c8505535969dd9e83be35f3a09a7146199e3695b41dc7fbefa1c993683ac2f6910205d9b83668087418ce37b66705f6317ec88d5286ffa88fa92e2f19c27af16b667d352558153b0bd0390621966ab22a39845c9b28913dcd5d88c65107b8b20ec23d448c787f40ea140c5eead1d0fb1c6e247cca59ddd4e5572ed73a6f9dfa0d0310afab9571bb483cef222c37c0ed7c9da3d587dcc4f33789d7989c22391c85b9908960846efbd4b094902066be1ab837e08981d60898a6a8984bde13b8318c9ff015f5dfdfc955a7c5fdac3e3809540328846e08d9184ab312f7f29cfcf92c3fc559857adbbf4a1e3ba8bd6e91fb456149b7106a6a1706e00e79304d866edd7af398f3830e0a88cd1f62e4e06cb8607600d180a6aca8fc3dec898ac2c66faa19d1d8583f5d34d4575270b611a9fbb945175c9dc10a0c0f285a5b45d3ef4651b64c370454aa07e1651c4f64fae6a3153c8ae074dbea27abe3a3f728d8f29c72a49612a08abbbd0823d0f6280a84f55e81b46d1f7de03a766244b1e727a87c3f9b994396866994db302d06c9155a969154974f9cf7e8295d43df444aca77a5c127ba3bdd783799fce934f30e3e3419ab5fe98092126f869b806fe2a7bf0445d244ff0c13352e353821b801cc850f26fd371bd2630d60b31c9582b005710297e52ab0cac2b9d2d5494dab56c6557ab6ddf6c026804f80e93d3ba335be6fb6539feca65a3d55774d6299fcc73ea9e6c25c4c4ef86519abfd2d2bd4d5bfb18fc9d6411faec83a01e57bf10259cafa1027f3f5d102adf31c54acaf4857d2764829ffa5ef7eb7ca29af736953f5ee2bfd40f62e000ec2758520e5f117ddc73be6892b8416e9d85bc100ab14368d33747c4e1f99929c6b17cfab4ebce297946ffb2585208b0d587048fc289ab09e630535f2e134804888756e979422fc547c490793cec29d813379d62948166837df4c925a9b3a11b7a867a7eeb7caa9a1651be72a8377999070d6b80094b508f0eb5e146516554b437482dbee189836bc8e5164f39dd43fdc6c46711d623abcc8cb7f26e0623f0040ac3bb099895893575386728bd73826ec15ec65f5a1306c0266aedec2304c7a5df7ca513d0bc81dbbfe103753988820a61d674ab569b4e4eb49f29ad8e06bc089a5372af97cc729c1712316a68f499643669d5e4753048d6072010ac5d3a183b674061aeb81827b769db372e9500da51a01507c72fe85ac2c3022a74cf8c98a36573d9c5d793810a567d629ab182462cfb8d138f950e395e8a9c54c1310c56459249b75525c4167a46fb361b946b92c649892debb290465d7b64890b9c592f5788387bce82585d1da81dbce496bfad029896e1be5e6742bac85349c260b47757700d38d9640c93c94d8d0de3b5fab85ea20aaba5aa523fa706e7a5b7d220bbcff865aed463ae5816fd87af4388b1b6feecbff678917368b65529b81f1f575d233a82ccd0029de6d31ae9fe2329a9a3cb344759d2ef2da3defe6a212fea01ed68410bc02fb9543c8598fe7654a20ecaae911c3a87d610c1fba1c207e0d2ea3bb1d3e4f8ec3a5c19a5de2e20df62d52dd406b5422a3326caf882f4e244fb6516aa199eb7853c7aacd5cc554247af58035464f0b9ad4cee365d8ea0dd23ece47c27c49ae8626fc66504c54994e427670aeff8703838c6c3a473eb1b05b9b4eaf9394b6c1d7afe11b052031b7f087b81e15b6e9d6e2e1366daafaf1826e86b43d4665396bb75466f65480c3b1aa703a59298a70f52cb99b020b093bbfc480b718666f50d5259d188458179418fb286136a5552c27f5753c09e80c07ff1af55802a513c6b83c7bc72ffaf355ef0a5dd26f5a34d74005d918a8ac0963438d805e0dcbbaeaaaa596938f83138a7269dd6f880f9fa8f04f8981eaaddb57ab9b8616bf79ac63f90b244bbba25576ea06b24531e7907c42115a50ca04950836126f714cffa92d946afa27e662df5e40ae2eaf1f53d88ed403d454cf78f030be6a42434908be7f0f1822728efada6e39eb5e6e3e2334916866a93f909480217d14417a7a6c0d53a7a492ff7d8cbda101e248ddb02525d5fc4ebca77c52eebdc37372e8749ba5a527e5558a82d5b3c6ecad22d3d8d8d00c13e84e284e1b21f2e3ee479a07b1f07fb6c8e13218703f7e3b2fc08ac314cbe1ed55471c4473cd9d718b5f7d8ee52ca5d6d18d7f6ba011e175b95de0b8fa852dd3de1059e50819c23aa5468d13fe8f202c6c844debc08e75d8795bdc09321c571f119692622a2ec4a7cd95d4c83fc7dea53977f8d3f94b238b75c800ba17ea4a6afcca157bb30e1ad441c8f4d3fb3db5f3d914abe6bd86c9a353d93529b41a19bed92e9989311dc9530fc328b17826552c190011fc001f7d8edcb3a469d38f2b00cec37c53dcccb6b2448f3239ee9dc0e2d4bbd4ef3335174814ee02641c23600f0e8dae84191efb1e72f45107f1156984976f4e9f4d921a4bf63531a2eefa8999b6caf24c2d41d63eef77eff4108191287d8b14dec4fa6d30b6767bdbc8808d2abeca0f07f7a412c61d1ac1d3e4dfb15e87d24862e08b52c3e312a7690c4cfb760c5678ed5cb43339f50b645aeaaf1e9749519ed73e51b95977a112ecb7cc575939230d2b70dd847243c6830c7e97f32ff8a023aac131357cc4cff44acd2e7ec9e89c504b3203cc7aeb805aeb4a26f86550caa9f2bffe2ba1aaf31f964ed1c02119554148ddac71ff2c2a4adebba4efdf411c5943e6dab753b70a758d5249d98226f64f1623eb07c6245458aa704f235114fb4b923417a969761497b6ed34e1e31d1de819e4644a08cabca6e7556bce176a047992c16b1580bf739ad8d6e3a0e437386cff6eeb082e362563887c5fd1b14b96f8f875e1ecafdfa45a31280cfa7fb3fb7b5d158da20045620bec3b2afb8ee12d3708b39727566155050d84fafbd79ebf66ca9453a56f73564100e27b2d43d7f22086fc7fd0b440a8770e27648031853759d9d32cea7946ae1b727dcaa16eb5bba68901cbd2c0cbc23286da3343e3ccb5c6a3074ba213c776042f7fcea6e69ef95ae44b93d531b31b8ed7e2ce020632a203f56e76241f415d53822d592ebfabe29f2769be28ee62fdcd6b9ac922d394e4c7dde55a944a6621dff4746f6994abe3165e58bf65d05db06b8949426408cb7bbfe71d74db9604c6e5ed71cca02c1f15975437ef7f087c333c3330f958202ce3c8d555f64a1c417882379ed5668d15126df1a1e7926c9ff20414ab25bbffd3b081bcd0f2477c830f54dabe9c24090b3b65728d3195951af30e046c8798dd56b31f00df6206f8fdaf7488cd7889a11bcc4946722d11d716fd809619b57589da7dea3e754dbea8dfef21f7a8059483f1073b12920bdd1445ffd8faf922d3aeb38514f006c039efc9011c59ccc354780c4c62f7c014749db783cc8dc563214b72b807930242bfd91c7bdf899b568ac9c35d82f16028d44f40b0f793972c8310f4c1195b46a7c79372031ab8e21530ae0e0c3bd1da8c15e13a7c90497b1a3710cbb8399a028f904712ef6ac3a6949266a6bf096951e21739c7435c28064f58f6e7ab17e631c0e14c637f07d1271620eb8ed4502fc4e6ea0d344fb9cba2d0f0925d82e397adb8dbad1f2d57f0575ece229b3f90a026f61a2aea3ec31ee8937199515393a70e4b12aee673cd36f83e107700bb520e393959a2d0974b4f1a2131f9c09b2dc954a27d8595027daccc6bdc1f1fceee23b99abb612e742e1009eb4c904eead146c658b6742065d4e8bdee8ee26b61c0fbfc085ffb9bad1138967f2a17361400172131366e7148906182e96b15f6c7c4092c87c86c69c8e62fc6d293daee6678534f43e5d2942852aa4e3b712d412f27a237ef4ee99dd1e1a6ddac527a8a9a282f498dd24115c76a0500666a8778c1b684c45c2b97fb955047e04fbd6c9829f8353919518aeacafc75bb73d9c58950fca2c8bb450996301c7c8d1f280ab6ced340494043024a3ac914aaba1ca7b9687f82968a08863c21c32cdf99877720f13f3811bbf06f9fec6d88979b8a091833b69ef6c92fa84dcb2011ea97a56138f402ea194f0a9a68c393017de934445136812401fc0733388d0ba6a45418ee025a91d0a0a38c704ff5c40ae057b5ab3978f079969b0a8c2d842daf25db981aa84a1cf7c81c2c955308d1a73f612f5de440b906e414702378709100db986bf7cc0dc9359ee3dc3c91b64112d192382fa3feaccd8530324ba35cca3653f33907bfbb56b71032d4b04ce23321cae5bd2b7b62f509ae33b50048b0a51c269c6a03aa1d0009d5043aafd16e86ef888147c152a7de7afaa7c69bdcc299a6c94f1acf01227ca500f255af4f66cf769b20b03ac97668150cf001807d9c1bb1022076f736ca4173eae01da0c4d1dca77d79c272b1af4eb6f2fe1ea2d36dae193535bb601a4a556ac8244270dbc3f6b2bac82db457dc4c3eaa32a0424cbe9448a6141feff3602fd978cdbade3faf5e9d46be1e1412d65270afa611f7839180fa7646834144f8026ec7a8f5f8c94da107310baf9ba2d6a2190207c391c8597bb6e833fbae79f6410032fec0e43f6c080cf3fd28bfefd1f380e6ec6374da9ac1e073f5fb65213d89cfdfc8b7093ebb2dc29747136c380e109f8300d7d47f17ae020cb088bf4d0d64e27d9fca256a3e96f29ea5ebf72cf3b598cdf3db51bfa5773e64dac7ae331cc74559a6bf601bfc5f86c3f7c02b1339f6427929af1201f3dc1d4a6395839748a6a266ec4b808fa60fbf49c2bd9bfe75d6748b208a43245f03026e290d3aa48e94578bac152db2fb84b7787a1c26dcdbf0ebf4ca05ccd92807f3fc95726a7df4142866aebf30cc93ce84152c6978d55e8380ee57867987a915924c1404a86fecc9084d456ff1d97bd42acf8150464da58cf63eac96523030d1705d71bbde1ce6ded7d734ba718e4d0a61025c33a3369800c47ea1647d20b3098f3c1df0a419da57bea9f9c0719d271a9efc8be4fee45321a851375f7b804ed0b90060cda33ef89f8026af960626935b23737d3424edd81fdeafdaa0bf868be342a4b8e0d0145508ad422c5f970d246c64e96fbea634d672dccd793d398a47749cf66d9c13dafa57260216f8b2846779ec3a7505464bd8f5e84d64b47e3ce462aae942deb5a586b12e23b70237a07a047a69ec89508b1b18ae803c0922902afe8c64fbbf2827cf396bb2bb3b83d30bffc5df84f8540c1ff596aa2609972f41eba18d41d1ea4b1f9655fd08fd93d62474d03b43cc43cb069daf24852e376cca267b376021de2ca592d92a5dec15e5da5c05d63c0893ce7c2793bf28bbb5559102f1adee9cb9bbf164cac4497c33bcb03850d5c281bf9333322c2adf9392006786d51d190985b6e1d421f93e1ec826d05cf3276a3b2f23576f73428a4427084fd0a4f84462e682aff66f34d89710e886b6a774932f6ecfeea7c66ee041d2f7d33a8cf862c6cd25a0bddb16602c0ed96bdc783e3ea20635b1e45e07d6a6ad7518a9d4aef1805dab9f72af8ef4d48e6640bdfeb34b3af1a7519e65c70c763ef70c875f04f0fd148e075eab815ddbcb0b9b9baf45c028d1e22e186a30b57c4151b882a16d9e72160d946ac548fa20d39f86f2f98e402065ce067bcd62453d3ccb8c7ee0a18ffa8fb984d70ec4101ad0bf82d1a57a176cfc5667047e716cee5cf03d9b4f1053f437647cd576fe79b2fb30112185f7fd094e7c11b01919f9083112250f5fce3953259f0748b93353703d69f72ddcf442196c170ea0181d73f24c7de10a8c332aa97312b0e94737419e43b5c45ac45d42f34b97f15105701495e1f6c3fc0667366d4a5ca4563dade81700fb979035a6386f0bc88a61624c4e253b17b528c3db8ac743e0102eed16480e94df4d22b5d8b1d4e2828dbf6a21177b8222a80671898e7b7f606b157f9d6db1ed7d118d66fd9c08be38b994dccddac2d610d5bece82e487ba31ee6d17de7ff304c6b80ed558fa595c07c7b197818b84152553fc3307b34387a1c9b515e37cb9f892a12f90c4a5928c3e61b3ae8aeeac951c8a0ac67ff7f1c1a60cddecd0323e763926e9a02d945e4a5a4cf82f442ff577fa3dd091394cb024dc444bd693d82256e458d77c769bf492b480050ab9103510b81779c8a9aead6a55af2f3d024cb0a98d44769539a4c76b93ac16b713627116f7bdeb4df42fe1cf7163772586b49b0bba02868b065ae0c72e265369ba1bdca545e60a165d16079b2c7cc1c394d41b228a54d258778548e7985083f9de96b83ecc89298d546ce85ecded77ae21c69fd473c1f79a782915a86a93a9e525172fb51531a36ebf5935e642a7d63cc94ead584202fd5825fa6d032c5ae5216ead4d4a5b10425246524930e054796333b4c02074ee764d60c4244355de1c7b444f92585427c381f6c24bcede27a0b9114fea4792838495594609cb3203d967ab320b64162cccf64f78cf57e94da3930d2bda18095906cc64897a178eaf80a6aa2bfd3a175a0efaf0d473d9a660f32f56b764da37652891cbfc888c6003b6f1580bd2d13f870e871b448d3834a848a8a58023227e43fddc1b6a4c23b4b17052924f69cca5b7708e375c030923c90845df31d4c6c9e029871a1657f1cc60df5797af0d827e4ab403e64b581809a173a626c2e7a1f974effc42af05b86c94245a32b226d1810d87faad0d91372e757c36336dae20de0ccfbace9213fa51c0857ec1bf3d672f103ef0f151214a6329f8a372f42b8c03119a5f2a7df4f52b283f316d9b51e078cb58dd55ee461f8ff3e45cbad86509f7bb2dcebff55dd5d167c7cddcf24024a452dde4f344a8d3791e4720f4a352a9669bd4353147449dd055227a010b3bd2968e1a11266422d9e51c0fb18d14e9259a49fe8eb543396acafcd2fff2b3aff303d675a82076ed4cfe1db3d1a621ec48d24af04a5a18f7e56577257863914cc9352c2f170d90ece18b9df158e54575655d5152af56ecfed5e8df66e7c3a7197783bf603067ffd4291fd0ecdc2375c28259c8456108ce1d3de99a2f0cbdc10acc456e99cbfe8e4ba8234f36afe64bb6215763c6cce450740e7c3faa6a590960a37129d910116a92da5452c81db6d7ef18ab4e181f33592fb7c7666ea2f453f4e04663fa7788aeda39febabb2eab208f74db41b31339c22276f8b07a976b012353f5abec848f342c9722aeab9e32799cf8337bb6988b5b738dc04b584d8def0ca00633f20e04aae9f9241e276d0c30b1d5f20cb0371f515a182e38f1a4c349a54df849793fb913c9ae942aa23b9fd1190384b8c291dc7719fc335fd2a38da8ee1adcbf1093d2b47d9a78bd62823f9e2362d211b358b5ed9955bc228fbae0f5db42cbbab88d12e3218d87f64543833bee7798d005aa04209e86b9ecb26aa5f1ee8ab62e90c210392c84b7531b32b5167f1020738fecb9cdd3be056e80007f7a0fa5f8039a903ec7f6ba36481abda88da70ce990e413e22add34a54ffce689be47847e72041b2988703bf30ec09e641c607d4eac6069266b9cef032f19efe01250251b856a2b1453e2382f80d2346512a579deb7f427cdd750f9ec93b447f17249f13bc141580145db02caacc64027d1534f9a91312601f6e7967d966d574fe1412f73ac6efe74827b01d488c138d7c1be78c82a6de3795c8d7b0cb95d0cfd6325eb1fea6c4d01cd7b8e0e352bb34d20c87a2e1114f9c1c0153b10d50746f0c5ce5074781855ae07a48bf8f3af9af13280f395287cb301451049cd8d3e76090c7291b21a73b4889bef02083d98c89ffdc471e2561c1a8ba55d3e9b0728de6f55b251e2c0a5338f8ff5ce57e276d188481dc0ddfe707fdefff0ac01f70877a2c9bf83e25336f848d3072f40448f591a9a5c36aa528244d84163bbd7a1000cfa9a775ae3dd6b112dafb132bbf34552f579acc177bf5a3ef706016db6602708b7eca206617927bcbd5fd7b282917460256abcc4c3d25156edd6a1b00846fed7fc73b1ba67d2bdb18c08e79429f2fb8fd745ec084abacfae106149b5e71f8e70984cf55cfe654ba13bfd5b4c2408656702bb9cbcf4542b022b59a633e2b6b7edec10af88adf338016e44f01f54cc190f264ae1782f4649f3254c0bc9c62453a96fab4722036f7999b85c4ffe216fa2ee5e350bfa8e12df968d1ffe51f4b90ff82b93a0538b219363b1bf1bd006ede6257bceabed8c0762930a373d0ef08d7a99a37c8d625ad92719e522846f2d2e966b0e23fc983c27ac3d3a13897413adc079220f3c339d1537af4bd1ded3bfa5eb8dd17c0e2549a2ffb50a3cf825e572746764149f378fc1576d0b072ceb4d45f2e7e2c4e9602729f86fb7d4559389b756fe0dd0c293802e9cdd44300f90a61c9c3431337a450bc712427d870f216e41c25407c0706508574d7d282255d55e45f7ec6ce7cc28f4ece4282966d5197739fd54a3430ac8fdbd0fbd3a96ce2f38db0be2d6b8822e2874140368903fbc8ea051d8962b09ca78d108415d5800555db9ceabe76c080c89805eb5c69c38a8aee89165195f034b37b74dee39d5e1b97b04a8c56d6708159d40188c1129aea69539697f050dffa10f12948322265cd4f8fac24d41aaeb910dd92a84eab2818ac61cfe0cf52477ded60e4a1978ec1653f6380f5b9ad3789de12a46f0e3ba9c9387b2f6beb872293d9e25ffe944e5cbd9bc91534996d313a872b445291de0155daf87d4e3a523a706fcbc326c51e159908da9681642860b44a40eb9afa6e5b631bd84cf00ef88c98b28eaa7f43b0a224d51f34efc55022e5375d50761c3a1f54827bcb4f22ce741a53b49cd621769bfa96d71e3179bcefa9eb24e64c8a99d4946636e1af003afd51aee8871759ecc5fb8b375b3efbd4a96f3967287930efb09e32fd2b670c7f5c203022129fe9bc1e2e14401b03c33f25a9b4f8b248e3a1f6474eed2405c0554ebe9686a91146f69bc0fdac3229b12b8eeecbb66199e442b24c3f42ac4a628c7345ff4ed80d6633bfbee8f74309bc898d2f242636159a366451b9d298831aeffdccc099ddd91c36c0d9ab8fc030b2974314434844381cbfe36c90dde2f72be2249982bf60d8fa1031fe699d39697b932d695be7b410a52190e4c3c7502c7152a4a6cd00ca986cfcf95ffac4aed92c6d21db22423423714974b4a90db89684fc13ff97f3714af54536f6f0911d55252899854c5f8417cc18ed1eded26bb9aab594ca2e0a793e08e6afbba2a67805d91c6a4ddd6c3bad01f5fff73cc575fa0a6e2138bd74868db5216b872dabf9e6f359751079b0a990bb4ff3a47a72930f97d5ee6e50999a76ba1ee6dbaa9fd7e7c01e3a78760f68b651e9e699c008a629f5e4d6e6625a8b522cc5ffbbe6ffea008bc2e8b4c2edd4c0c3aaf8fc59e50711aaec4e4bf853664412254381a5d22921fff8164339789a7c8bd7bfc03f56f69b4906d5698e82dfa7bc7fa58593dbd0ed152c1a730797aa73b88a3519455fa55c17da1e5dc4aeca7534e105d7e564b291e9dfc1b69dba43cb2f87d7f607604d0dac253bab364dc06e244532d75d13541697fa89628614d30146309a2f809217ca0cba9685720f2adc98a50f25a20e711c3a0c0ec50654f1a772a8e5c910f4c4749bdb00b3edf8b3ded5d2ba1c718c3dc79eb75650fe861922e8795f64ed09e783b29969ef2e1f41b965d6f4795ded775b3ab1e12f33cb42e9dacff65dc8a7e5bd7ab167ff4970bfb1041aeb8b6f010ff2d2b0c02739dff34adb9947fbb75237706727c75021ca0e1b5c882a166910ab342361ddb3eff769ed1e2d0f6054930edbc57066583c6c4a6dd20c1239387a52a15373a69839d77f149e0e4d6de33410d1c0b604a0aec6148279f8189457a50b8cfb6eeb61e2081f7ff6236687873427e647e471a222fafba28d89cead8c54b54bf9eae4c865b99b24c60e126bd8511bfb3332031df32494a5771ee796c95d6b97362591e738044b8e8fdf99ae6e4ea1da13079b54adae7b197a92054f79215f66f12ab206aeb28076e0d9ce69c1ee44feabec7144f1871f6f306f7a8ac7987de2d7eafa7048796cc87e889391fb47a7336fe7dbbd07312580043947b72ec0a4375280426815df665ceb0857f58addeffdfcd53a55bb689759892552cdb6fb31802f0b02c8a4786de11f0c7c52ab60345a4ccf1965fe7b6a9b88b241022aef672d2c0e3ec19415562c43080ae52d73c1b1f380b5b4e1f618631c651782ab689397a42ca8aa277c6e96d49d8a8c2fa8d0d88777617d49ea782b3bcc5d8d576b2b0f3ddd177f3e72f265bc56c77dc50c6889eed967e705ecfda8f71f5ed0634e7c6026ae034a6af9a8101d16a6f9840f05c5bc6f5b9ba11c4af54c805888d89a38862c49af551fc705f368b64f0a08a7034967dfb66f9e09cb2b537646ef33580179061c83904accd066b89362113396ec782a74ee29e44165dc3c6d3b8035a2254c7dadbd0230b8bd068529b10b121f0ee0781c9318b6372196612562208975216d153660640483477783fe7719f37e5d3efffdfbe147d845805f15c180c643a53931d4388e3280927330b5ec1331730d5fdc5fdf16406fccf7d69930d27f0ed761b61d8538afcc1e48bcf9c00292e69f0f6f9bdb5c06ee261516afecab2236cc64be3dbb7f61312f60fc2ea996ef72f8e45c91be2cc6e61499ff4e2ce2afca2812d67a06067894ec111a29c584105ddc91db8ef0a015f5d8ffaaa12ae780df66d2a63d27490824120305a633d08cb6ebd292dedd007db577900dc65360c9fad2647dc1f2894b912e31458109dea0875180ee6e09897ff2956e00ecf2f7a37ca039a54d3988bac454c065f65c5e62baeeb472dfeabcd59f78d6644da32f2fb1c772da89f61fa28e84a75c2b7e295edb07b7e0410b066ed97127fd72616e2691815af2f025a25f2127f1c628c785bb0073f85d01d1eec0783f9cf9a6cd1edd372b1a727403db8e77b1f92d359784c977d36e01c68cf23013fdf2c6e7163f3934dfaafdba6d897dc12c1774d37123c1c7742b047102f72ae1de2e14be511922777d96629ca9aa99964d7a669dea50d7996c4be5c2d08f1ede9b6f4d15bd9000a47138ef17612382f587e31da043f37ffa40d3a2a2edac8a5842dedb02d7c53728ef5314749639c24c265960f25aaec6a2b2227d1fb2e620bbdfa232f9be6dfc949eddccdf69f5e4a820d2a6b42732747064b691fef889a66c6f6c89b240d02bdba24b5c88cb7252b2b0fce7d24e4b79cb79b6775352b8b36b73319c1cbd79b33e0ca32ff53473b6f6c7d19f2b7da5c4e78f89c41ba8dc1f2ab4f44643f69bf8de1f2ca7b3467d096c30fb062bf591ce5a657e3050174c7df1c224d86efbbb3187953ab1e91253fee66734f863f8dcf855cfde4190b72443c9bed4ff98a45cf04fff7daa4b72d0f95d2d00e2629d91a52b6f8a74edabbd4bb8b0cd9aca0a1558cadeadf2f046b623a389dd8b47962379944cea32e14eb508706f2c0d2be1ce6a6e049c737af4b7c7a81c60a74dde15a818032a13f90b07d80bde92127a8bde38a133566ff057c89a0e9b82f9785ca53b343a7662868dece9900bf1fd06380eaddd0b7d7d7f2532235666b2eba5bc575634232ccab64cf4d13d442717c89c27d3f356a079d44616ab1c72e6b79f101df71e7147770b1100ac237c36eef43851c47885c1c88ed6de1e571a9741c1db308d8a38dbd6da44beb6f25f3a7dcd348c28ca5ce9863e283b7dde192f2c88b6efcc3bb6c3cb25731723175e8234f5860f4de9dfc59632f20dbc2701e95142b382dd2d44688461ae2bc1075bcdb0d6ff790ff8542477a116b73475b6e6bfd4478e5cb01e36d22862018ce34083b2a55038fa967d6642df4dafaef301605c16ccac480673930931e1f464c92e86c734dadc5781a07d26e2e06da5ec497cf7b5b7ee5ac5ee9e327650ac554f084a62b81fec257a8b7e546c0bce0ab427a5b6330be339a2a459f053b6167ba38886dbf4ebc51434589230094f5ae750f4e78819513edef2c821113b3437fe4c5baf2fdaea508a6715df859ade14ccb5c0f6e8a9f1aa5a39ef64f9bc280b29dccd75677c6250f3c01986a049e2024a2fc8714fd7b36b3ef8d8dd582c7cdb8b9527397975f7bbbda720f54fa54fdae6c774b1a73aa80c539c2edcc2c37e1b64bba2edc9a2acb4eb98b038174a9cd1fc468a3014fc3bed2d27fc3de1d3f2425d11e886de9e38e168867eee024b03f94304e9a5ea3fde2050236ae2a061d5214b07b50879eac8bbc371ceda313b42369f74c87396ae562ca4b735f087c0f5461fb61cf0f8561dbc4952e59cfc8b88299e6bc0dc9fc0d28f63165f2f2625937634974d977064a1a296ffe4caf78c03c070ef22cc06f194ed5f92cc6e1f71a72ee06a9370d267122c260e62dd2a0fdabe6bdea44858ae9803e484bf53dbc38a1e7395bf7abf088470a8ea624745e3d325c2d12dc9a6316d4abd55f89de918c2aed0a3bd4a1650774c6b9e45fa0d4709f7b6912a16c7177efe8a2435e42ff5e87f0956fb56c16eb9ac6de746705287f582b8f38c0cf374af1450063cdcce36b8c62bef1a6eea2f50a885a7a90458d7336a8ff57c64f4772da1c65f5f30d4ccfe02b59b9392cf635f380ec8df9f36b6cd4eb8515968a29e27e05b0f1d568a782e7d9aaf38d8bdb87737965cae13e59d438a5be0a4e269e92796ddfbcb8e432c45ed60ccfcd40a1790f0d45e87e2bc7f86229d79d821a357de6293f6a13457930d5a1d775cab3f357aa76fe5c95789f398d3865498b58a87f1709b0b634d92501c8ce7b7a86507d164ac7d4d0e4f2c32c35bdf952f4f0b5766d72bd5fa74925cf62026d6c77382de5846974cba4b0eb6a8cb3f59ae5824a8e5a715f6a40b326b59f381f692124dc07cbbec4e2105c9f4bf55164860e2e5ccade95f4f6b3b7a992a2ef7f83f2e7716db89fff1a4e947c0149adccd7bef88ebe58af87affa8dfa57bc5cefdf240bf93f3446f13ebcbb690ffcd2c6358a56989a21c7ffdb56c15843885e1ddb3d285b6dace0964801abfe6925a2a70c446544e995a45b7c3ecbfa6f5f5471113c886fd2883c020861fd5fcb24be67189028f62af4357e9ed4f216f797bea6e43a8213383756f32dd86200723dbf04f894c3b894b760e07c0beda4b04ab4c302069a6d80a30ee7113217c8a9b05be7b29d1122743c206d7b41298aec3b388173ac4b307b22cb3bcef7e18df4bcb491d0b852d82d1cbbbfaa8798e1148bc7062c6cd52739917374d2a98da831de90a42090fe8b3736fe95e8ea0aa69b1712351832b6cb10213eb6c1d99bfdab7c463a6215eb5259dab8d5d425f33444786a5b414e46db0ff83960b1b0caf89e32c7c48d19540a6ba51889cf8df2ca42277272fee376cf3b5bd4b3e4193de0be2037a75867740cd8c2fe79ba4e83401705ae57d561251517067c3508b657b76474cb87b410acc69dadc6d49f3107609a85df1ccad4be3f377d035b59bcc84d472a6d6a3822cfcb596aac5829cf2e4da69cf65fa037e63516b74c541b91eb885ed0c19c82f05ae3f055755ef29f23a5d1b86857c072ce61bcf7d31b30fc2793deecc2e05a2827149c33fa41f65a1be54e614d602836841f4706c8f4592ec362831c8080299455350bd49ea9df99825ceaabfea3e921ce7bf5752bec760c47aeab9d8f0f6017926e7177cce634bd8a02d6d49b8fde5d2568b617553e6ceba0de63d76f043a8fb11ab5e894300649d3efd5e462d1531ec3bce8c6f7850d2cc6a051a44804f87966488fff1f6a9cf785f36607a07226b56a5eb34dc67f9a7fce431a42fd89ef5fa1f67120916594b99b88a4f4c2f619c39d6e3aa56b83bf29d07c81b92d7f049dae6fc05a49f41541d16cbf9b57c072b525759d1375dd6424027210adc54893f22ee08da93dc15c7da4f6c93faed65b1129d17c22c275ca9d4de88997d9b862a2a2e955f39997ad81ba862c36184658a4b378fbfa3e2615acea75059cef81c0991dd68f232af8063e85838a71febcc50fcd9b2732f6b61763c2ae6b46c9efbc6f05b15e4cb4e065024060ee612361f4690a416f5c020dbfb9ea5a4ac0060fc769887fa91700b47296c46295a2a8d2504819557876159d61d9049d72c851260d3a1ef6db4b9d1df488f5e592bc917a7392d233e4680455256a4716e011e50265b2d0083162c32bc0f90de6aec07672df57eaa1c708361a6b129062c9b84ee3deb5a71b677a51ae536f962b1c09b4bca787b86c4d9f38b7797957bb41cdee35ec9655740ab2861a37365776173c85a3081ef4e6192d37766c616702d5d0b661c05ecef9e4eb002d63ac55e6f8e0c38f4513a932791d0ecf2c43b9580d6e240039a543931d1da54b7d6063d4772f21a8b8b6c609d5313972ae6884c84167d7baef51cffd32e028846e8597f7d2618aa048cc82ce3e66a59af372675fcbd986055a521c9b5a6e08da747f15d59dcfe75610195207e4356925d913b1a23e52da88d1b32beb7ce126efa899590781b9bb9b62a824f1cde0a49e8b51ef85c7baca3fd6ef8113f52badac6f5cb70f087f3b1ed1bb46acc99ec6516965ba0a9baff27e6dd66293618f75f5141432170e334d072c1f476c7dbb30b03399bdf24dbb169a8cdcb908f0885d21433b8d918d32630f6e5021593407242755b913c0bf4402924cbefa776a3649f3421e14ea283cc9d565b301ff9741a8e81829745dff64fadb729469fd3d541c3a87cf38c6643af708b01d9fc842e1e5c7508df6b4522681199bf0c6b0ec3dfaae5d9c546e4a093e1138d12892242486cfb3198937a7fe8afb0535fb82a01254c234c9622357414f8a3bab012bfb732313c12ec01229e3916ece031bfe467084241285713cd559cfe8e99321f26c520fd23c4def5dba8d6a8d649f353562900e81fac7986bcd5cf5b2d7b458217547496fe1a643f2d3cd0f31e789a7f2a5b38defb275d2da1ea498f3b8786027d5e802f767050f1c52f6e0acdff011c6cf82788e5a61360bdc3b4460055434d01e3e6f4d381d35138b9b2c5a0f9cc20a4aa4b62a964f7f18b401c3287122765b1843dff5bdcb3ae2369d3a8a2dfcfd6cdda339130a0dd1672ccbde21aa9b2a222e7acef5e8a8e7f460c71778d9aac5579eef48c7225a83f44eb1ffb2103d65cbe8d1f3e776f75f9062175153ea57e592b5e8c4501b87a7c17d8b22b766f09790f5e37bcebef12b2c4d3e6806ff32a0e41433f8ba60b35202a366f76e249285688b5cbadd2d7ec2256da6d1473d36f9ccfc6d66e968255cdf9546966cf056ca78e55e8a022d85dd8473e04f0f4293619259517ddd880a25a9b721992edd921bfc5b3a364c7db84f262f17eba866c2b3c309316122f761ef5c55f688a979c7465a5ba848dca5bf3e0898346eedf6715d87b6ee93e1876930bbb86c29ee4078d31afb74634d50f72b8d8062706d092377bb96e0459bda9bf3afcebb52d7c503757ac36ebfa5c72feebba127229a17b6eafbad523bb0489645517e34cbb2171bc3458ba03aae7421a7de7e64d7dd06324c1dd3133f1c24761d92ae8a101c692e8b68071cf052afc7f325180c2edb5dd517159147c877610ca9604216af8a7f958a6a63041700acb7a393d3707c58f89e50c8e5ab36203dec57b02a39f5eab7025dd3b09488997d597af31f0e9a976be24b807fb667df11edc64d53811eb6783e717a0ff66e0c9282444f7359833a8ca52a1920a101daf8daca10775d20bd053260c9c1ac59180fd9377180a3eb2a0d826b6f4cbd4dc9ea8128b8f00496c741de52dffabc5566f367b06bb28c517ab29351016a413303a5e14a56d550a511f26768d6d698d40f96cc1fe1fbc6ae76478dfd3a9150a16d5593e01c5852ef99bc2dda739c7b80ff5a64baaa5c6242b8a3b30695d48cc28416efaa8dd1d0b19879cec6a78ea0335608ea624498f4564673e166bf792c6b6d93f09f5e70517893bcf1bc1a9bd54b4a1006f56859738c998cb652c36567575ae4e665e3c2aae265968dee56f0835b09c0bb6f106298016f1387559ef3e2244a8824a731ea294dae75d2fc6b60ea73501825dd61bd25ea0cdf259c4e45f8ee2ed31c3d52ef7a503cb51f0deeadd5513e9981710fa4ba5b377073c1f8fdc6cacc68c97596732d2605f8cc21307bb55d3e92e1aba1791589f38b2c6b4ada243c449a2a4991e5059497fb4165b0a42b8286463d4f5b159273927335fb1ac6cca8a1c30dbc76870bc7bb9f455e5d03273e4d613c1cf59405aa88846d3adef3813a87aca2ae5afe791e12923d6e78c18836c3870bc8d76b405a5c7c80d80e6498168459659ec6f7ef776ca0fd1d45914deab62be762f8fa1f4620e650e96370e21d42d0efdee7658402351c82b31bd112b8d54e3ffc33947396ee6b9a8083e080837fdabec7a8e6a162a342731d8979f9387b9714d538e7136368ff01b5e782c96229bd33c4655fb58db21b6567ccafb045faeb391638fe31fc496960aee6996c348686b221a0bb7efe9b61dca0ae2a0eff55f25acac889c73ce65cf769653ed0dc0689874d0d2469631cca1bb1b694afd71eeece1e65f59c44d2cd492c6042d49b8f3642852984f91963e38aa00240be02e36c1d579f39a9221b99934cfdd1a3c70b798696cd53a2002e31a50ffa3f0d9acd354d294db8ab2308a019be62e8d8957a2c1dba2d7fa5a4b96ca322882769a189e7ffcca7370a67edd91eca0690b7424eec455e5b96093e4c4559a6438f4a1455f6a07814d3fcb47495bbd16b7e7164b4de142943e7bbf4ececf86b5b45f932d21fecd8f61bdb797a2c05ccf5e12e8eb07675a9ce75ae5043ec03e8b5a3f34fea16e5520b6b3e3e5d11c2a30ad897984d14b39799aebaef2ad2d27be8a484dfba64829e86912ef57ef7358c0aad68684b5a16161b2fb177bc5f89d76f680e388eea2b5441e11daf4854b0fb556a27d807908ef5009edc9afd19fdd293b8afbd4cdd6308dc1c8a123f1c76216faebc34b7e9f45c59665b275c530ba01139713492077841ed90a2744b1133b0ea6942bc4ff821a5b1b5c3448de3842f7f6867f6635cff691e3f4e4f4c2ee533d38ccf5ba264f2a7981d8b2f68c0898751d2be90c8a2b60b5e2f84d577240fad20ec447a4bcfff8a08e2e55a88f286c6516a37c5b734c9f68f8816445b6daf3a89d167ead90a395d020869bb42665d290bad1716b859b49b4de707ea1a32243d4227db72b1453295209b2af632a24c4538907d46ba714f31ef7e16b770b96a0715e813e14a7e3aa85d8b76e32d73d124f14fc3cdb965b0d3a71325c37f8e53451580b0e12b1fdf20dd8716df84a57d458d9e8f010eb0befc5915b3ad060b08fdca620472086e9027d26123e5097488103a8d903e73774ec648660020fc1f8dcaecf5ebca5c8078a3120ec095a8dcf7bafb72132fc2d25314183ecbd29638b37af5cbf73f6e45d58c3ecdd4c416d21a2add2d978334d7c5a8f81142f40922413a384e425565c3b5decd52ad974b6f77ea79b86e89b222ce660aea796fd9cd8982fd1e434d512efee7b6b7be3d4924bf8794223100a0510ad1bf5474d42c8544cc0f9c3fc80691a0fcb6f3236e615ac3c91f4f0245b02e7a3a5fa3b03141e6298cc2e48d15086e2c1c4683ed59ecbdcc53f0ead1dd14e2bd7ea492cab7ad647da575bb7da49cc3a0a1d56a07908f74dae8fa533908fe25e32f374958db04fe145fa84e09f410c0a67331bbeaa33cc453a4012585ef0fc7301ad1516dd11a4ec8f6f20aee8a3d602f4b3ac57ae9d8d98aea6827a1e59e684d7562c3076d4f2b6b4abc7317a51d35758a499ec0d4194c5a20a0430e96c298333e60c473577a08b7862ce9995d6f42f9b8a7d0ab48ca505017cb36cda038d3031bcdbdba0b0029d8c524bb51910d2164b5c8f5abcf8d7dae0fc4fcc30ae003ff2745f5ebed5d61b066d7e562058e5756ad2324c3a909d2b3d50f72e974982f6821a9b59982b9d01f5d30f4b82fc0a4d40b5c08af91b911fa29fd862bbe4c9f6b72af1eaff4394105f3a41f70e16e135b165fb286e7f3f365c9906706d04eb15a8358bff6629c9338f793ea1995ad1420a6273f720cb541d7e783eb7a90be67c1dddd765201f585c360ec0794f98432b4e8645a73504ac44e3e8a9840ace85645a74815dcfaf64d4f919556cf086eec2370c4408b8a60d85dffa94185379165051ca4b38febee93934f0d47ff0cbf63f9f95714819afdb88be404ef602be7479cd999c437dbd4a4b4c7380f51826e754e5ed27e2214ef431c0f802af76969346b6b0ef3bf8b9191ff36463149c375d37616369b54c663ea7e32dc58fce212f84acb4793eceb1844f177d91a5c6acc934bdb7b7f3c731dbc73795253018620fde22e1c51d316da7ed4e8a44fe272ea9708a51f1a4f2a19c1608ac2e6c8f72668201d2e7f9089f64cc3afab6f227398bcad7d3838de2d88546f2685acc3b075e93ac72e7690c141c453a422e9e72823b2ae93a5aae08a266727f62fddc896b5c576464358735720a18deb9ff87ac41b1e7c0ac8e2cf4b68632a277507361e620689e480649d65fd2729d59c7338edf364c9fa75e8e31b442e28742ab3af5d155fd696ec4c6d1a0b3300995540b8308d1f596c15c05b34eaf748d26119690c35baf2376815e049665d9d19a8ca6b6c4da8edacef9d82ca3db555ca45e7273bf6f8e94d700c3bcb62dfc52336a34dd9f638a039966d7ffe8b221e9341d08c68913c054be2859a5ffba75d81671dd8cd9b56268693e234cda32e1ca3e4faca09b5044c18a6cab6527849d2aebb6e9239624c39cc05d8083603aaa7d50ed751e31aafdaded15cbba33f1ab2459208623e4dce416231666ba08fdcd0da3192eee7e46d05fd57a1b52256e0029eecf9ef4e39b3e44231347fbb10a191c26515db9f598ce2d2c2519fab66b990742c7a730f5c62d53a18b071a1ae0bc8fdca94432ea05d0f03284014b2e8d7c93ca31f77aca1c01c765e8915c34707b03ab6368291453aaf3c5d0ecc73d90be5a9a4a12949d57adae2ffd10723a3abde8dab18e5ebf87b1628e29cdafa506958c5e1d4f5fa01466a8054ba45159d3f66c9b554612ccd6873abc69ee862b73588b85262da9ba221c01a955c2222c2057580a64c38d1e223e845d52281e6a5018ef75946587ddc1ba0989193dd63ad80486417caa0d189cf9018b381b91b3f14f1a49f9cc0e3bee1c855ece1b72ae0a82e38398c8f3e8b5b9d1d8d8f85f1178db2fc10b8cd8b37a7de1a2f6623207df38a820034116df1a0bc77ed1ea99eeec92f944d8dbbdd88ee36aee9485f34edc6b8822ac110b462c71a86f6d51b4a2e7f8b09cc3721c1d59ce22b846f17ab48cc8cc3af8e34e76bd32b744c899bf6e4de18969ff6f5ffe14ece302db797ab1f6bc4038db2764b761589c4b551ca07c351847ffce6348325ed4fb0f5004b12f6a9e6570ddac6d1fe989267b0b42fee573e2396a70b5750d9d85742d0b393854800958667902f89ff3cd67354129aba900cfef0ad06b48c958e20f999ae3562aa87bfeca580de0c0aa3af01a71aa24835b1cf335951d3447b9d1a97614d519b41db50552455d50fe7334185ecf25c18833437236a901e532e76faa689c06f17b9cac5d83076f303e7e14dca6aac3fdbbbd26852bb7c14ae2367f6a38f553b43d66c838b862890777a966480cddb76abd8c6390e16844bad54a39e0bbb472d37bac298e85413b06e0aff4f365bef4ffac4d6de32a4e42e3c54909675c0d413ba84f03935b8d6e2703f24fa11fa6d508e289557dc589bbcbda5a9953a09dd1a0124367271d53d55af1b378c32df63f9399f8799d6174fb291f6ad237b6bfbb2aed50e988c687b9846d53dbda5b59335431a006f465db23a58d245fc7451aecb60f13b33a809d271006e766c748b5dfbd7950bf5a948b81983b76d6007ec669be7a03ab3f172f9c70ce63e1f6223cd4dc3da6fe6e836b6d0a0d8c3684d6de93d6412511da804c74e6f02a902d033c5f1683a01514cbea077941c27e320d2972493afa6aeb7055e34f67e151e029389cc3a05edff5dc93ff41178c7277a4646e211a33857578bdcb67d624097af37a0b98d83b45bbecfb8cf4dacafd3bcc8af8f5cb29d3f6f65d1d4db53df28bf246b1f683c413bd4ea93b25a50699c3c52fb35481cafcb5b31ea678e92cb574954df240d1aa1208f00c376dd7a57cfe508b9d4b3632af511558a9d73e360e2f841f684dc57ef730c6fdcba9cae46269685b03f5431abbf275baa9e923ca249c123594dfc3a9f26c087d6c201e7b827b918daf6998a374341125e9d497a94838f170583881a0673961785f8a5e707b3147e5d483bc50c81b7d6e1cc8edacd7c0b6595291ff0884785441dbb2fc66f0463aa1fc452d625670f0d3664c97cec43bdd3583e0e962a90ac400e0c5e797a3848aff7d19dd47437786a83eff607149322a0d3d70287c7663182d175c589c34d1c369f2028a2d6fa81ccda00a44d65792b3ba34430a4b22632d53f6ffe05e7baa4d868dbd46ba1242330dffb03acef93ba518e6ba4f035a13602588b50a1049f89ed971663d174c1c567a47db34adb9528e5d72a94df39fac93863a3634fffcb8c1a2e25ad20211b6af432ef6ff8a1a01fc73a27bbd74b7a838cac5462c6a0e84439daa9a488f627b4ccef28eb3b2fe586cb6ab990a4418eef68f536edb131fca721ce092f98de422e81ba87013e4f62cbb8e9e95e8e9b5a141bf6261295ea38a1ecbfd4803dbd5cf0c09d254deec81d25a18a6bf11832b07c628b878a1518c05a12e44a01699ef659ff0c49f526f6c1992866a97614658f9af195eb9f14c3e63749baa6cae26941eb68976c507c9614a028f7b0f691a36a4c29a02143a2f3e382f0a0269e171d664c8d81b3ff5ae21dc483c81848d13ed590685ce4f85f245533062acc52313598ad2ef710d0f6e6daed2b333a8d619c59bb628ea18d01482f5b2bda65446649d1dc27c966928ec116e35435777acfd54b83374d9df1160294782f69ef497b926da1d430ac963398dbeb3070560afbbff2ed30cfbd5aa6e988d88bcaa02a90e2cd2150f668a391132c7c04b540bb46e54fb30d098a8842b922bd906140fefc4f36311445aab22268f7464039ef4ab9a03d14229589673f037a8fc05d60ad71b6d52f791af5b8a347fa9aaa65bc6cd700076f6cbe2b55d7bd61ae59252ad3241c3d2819d5a96a85b8429aa9d2c5e1c582ab4af84716c4c309a1d538fac6cfba04294ef9bb8071a234813949d0c4f3af533eef4a644b47f3be6dc87bd58325a33278209dc1b90d27100f2e0eb166c0f2e152a12e6c1940a6f4caf9905cb6b9d498932fc7be7c612340f1d04648f7e4d39ec66bdc1e2e02e051f67e8b77b233087325e1b9c0c66cdfe5c3d8446a3cea924b5f3a940b5d6d439992ac1d960be499140bd6748970449d2b19c6abd71a50837980464942f3a71f0a52bdb55470bb96c597dffb9e5974613cef0cab62b9a6cf281ac24c0b5f52019f4bdda44f50cfca80eb8149ae06f4f48d5138e85541f625d413a5dfe726fe75cb2b24aa51d3993991c54bcf226c0301feb66c2c7818c640205b9240aceb4eec6b4f85e9a164326b8cb5314c5c0a5d7e5392275841b62c5e2b7696e0dfbd586ec60f459a23424b92e6b1d720c438356fbc839ba43865e8bd1cf239e9e5c5f929db7a6486089f843c38b7418c03d0f27fcdda5cf73f5b2ac7d746201115bbb30611bc60326073e5e36f63a55ca0541fbfd2b293c3df34eb5edbeb9ddcb1f4937bff4b64ac70ae5deaab4b8bbff120a9abcda458f48d46a471cc58ce2d7499db52750312ab4d738e6e53915170cf4e104c5b61df977ac4ceb274c19462ce433abc6452a30f125a1f1119142fe3da101d22d1bb83f30a5023754f88dbdf6c0854dd0e373f3f97f1c4e9519a990e8f54e4d203384e8ac88ef9466c793f32ee275cde617f88f583d9d5c572e02c40777a959afc3f36cc3b4ea0e73ecfeb8d664727023141f8a8f0728569f2a239e8a0686ef730aa34a479c5c40b224458c6151e758a7475d436e4a1a78701f51b00f45b7454a62ba0c7802e619fa06d8dde87bc1edaa22c3ace977aaee8d8488b582e6245d284eeddb5e6572ff2da5ea4afb4664eb94a13f6097ff0e8efe160d40a2b56a281595e6d74af2dfc3da423cdc8aa27206f7dde58c452fbdd5e2fa74273e329d4d0cbd70b04f823f48c873cb70eefdd32610a641087fc4a197e914a1aa92d3deb9c9fab02101b34f1a5ff1ef01f7e8d9e90836ea445b6fbd5f21fdf59823cfe580bbfdec8f946a4db3606410ad951574ad55aac561be43348a38f01976e8e2fb6471793cf2d8ba05e73194dc27788b5010f908259787b9b09b9331a9ec435fc22ae514d885fd854736380efca6883dfc4195d8f31c4a42188f995fe24ba39ce52db1bae11aa72567fe34295fff0f28eafc7081837b331c5b80c8c97f554c14afab492282ef39bb83cbbc26503e61880736f62841b8c071e4274226b231b4ac4caa4d4a920bab4c8c5edee773f14349f0cfa731206fb16d12d747b93eff3765af7df5753ce3a96b1f64f59b2c998fb2a5e1bab778cb90fc7199da811e1a7d5da7803f13b4274773a062cd56c21b7e830f391fafd3a2a2518774b88fbd243464932e8a36f5106e37f40b2c2ac2bd43e887da3359d82a47a52e030c151cfc8c3fd18bc3f99c001fb766538030b3702f890e46ac5f6a079c9d42de86cf140678fab095a0d99c7cba59c62246d6dd5039c194f9d54a281b3ead4ec2e60bf74e7b0ca9de860a0e645b3b7617106c2d12aef25edddd39edbf285a2b0b519528e67b2bdd87ee04134f7111b6e095f7f2c86bae6f743fa5be9b63641ce09af9db403eafb77b420b366bb0e1cc9783fcc1954431ea0dcc3c00551f846594b4922925b93020a4b283e1224b6c40ceb311a67dfceda80db9f9699855c2763a065c04af63a13c8a0666f44d5d512b55440ee60e6776d1f2780e541dab8c878b7b0d4c503eeded1e1dbee3a509af0d3b1bbd19a6b76bf463028e7c674aa9e3983a690c072562c1bff4271a80265afba23a9fb8040e0210fcc327113406403c9ef70b385912b16723f5e3b4b326aca8af25548dd09554a0c1e6f265470eee92399fdd8c2d28054f44c918e86977c0f6412ff5d0da49b10c8fc72a7415f747f1f2534647b371eaafdbc0998e8b12c777000104b0c8684dc4aa8d6a526ab15d761bb26f371632557b64705ace329a7e3ad6efe2da0fbfc904d38464ecda355bd88180e6e01d1ead2a90b67772c441a0caa6ab6b564cabb0ed2742bf90c7bbd09ee59563f25c0c91fbe1744ec62a1af0113f1120f06a3b506e6107db3a1cb147c46a538cba4eee8e9d5e05e02b43b8773d28e929feb13670c7eec0fc75ba1892ff49ec606e8bf617617d3b6b58c9a2c089c9c9b6b876639d08c1691e1131d7c5422083fd0174043b3416cf73eb59f076cac27fcc11541434c8f9bb12902e1f537e71be6e5268e8446103aa1c62c7138bb59c3955d14040184678f1a7cd0e03962124e6ddf6cc551821ed0ba27c7243e85ba1fd3e6aa793a52ed2b3a513e9041d6b064bae9e7205fb25b2e05cd9bf123177592c45186003408c03fe3638e54b824762393afea60a6ae30910bb5d2cd7e69217c27df2b66796524842519611f18770d9869984665802bffa62fb5893685e851e75f9aec7d63b4f04d21720ba4570faa81b0c9205c6d5112c28950031aa19c1c25acd59abc1f9f3e36e9f394d66370a6252ad0ef701203d1b3214968d2718fcfbc1d5e89eab97008b37ffa3fe7c80da65d88716ef997ab7b61a10ece9df265eff381a7e1076d90547a24e55845450d265de4e08c1b3ebb6870494024f1908d1bd075c621d8cc528a7a40e83176b9266f8f8513f10f484da44616c0dc9e1cfe1a658946a5ce70c796e603a32d7382ad78b1708b927f9e091a4ae7907a79e759850bf6fc5d9da96a2babfcfb2aeb8266ab80103b8bd78871fa020c3c6180178c9973d471ba559b2aeab73e831c226cafd87a7ce3325969ac5a09d14fda608b6c5f978a0ac6ff5e1e17d768f109f4642c8160ba97daee7be11d882f858cc738afca6a42a99a50196d6f5a1343a1d789283a5d6083750fa802aed27cc5856613b3b48da05f0f91fd663f08d2d372e82b2daa9a51a2206148456d50ea016aee36321888b4fb100e11bc038ad1b545b381d5893ac208de7ddb214851f8c7742d6ca396271ae07bd15793c8d577c4fa8705cc3d667ca71a08f07fdbc1d863d235eb7bbfdaf80026e62fc99fa8620cfd28309c3c7cb3b6d717d1d967a652b27ba9f5f2d839f85db202e4759ea225c9ca8b5b864449686c8fbf287a83e94ca585f3708078e19cd53205530b0cf1cd93a4e7d4fe4df4d2a63fb9fbcb313fe30911b8e5fc91f478fc4ecde142d017ebcba09f4002e51d2750bbbcaaee82da77fc10bb2650f49c20188ce508a597f2cb09860a0c0ca26d50a8ee9229cdb29de8c32d2cef9ed8b552b6aaf4ddfb4c13d428e2326aaaad0b5b95cfc2cc36bc12f859a203719a2d72cb04cefd1fcf56bff9ecd6ea080c2feea0199fd611d56cefbc38f499c5f2d8c4274cae364578118f889213a3cd4c5bc32ab9d297d77eba39643b1ea0d20913a74a28428c71c4d15e57ad3332fa3ef850a916f98e6c4f40f0a6aeed8e6a27a72f511027db2ce7f581d43e29fd56177a7feffb4126dc81b072db49825a9b0f0af62bb6488bbb3965f30d7cb1f90a8995e5e294b65600df4e36e8843102afcba473a3d046eb4ea103684afd6dc2330b9471e6ba8beb6777b8c30e2d1dc8a6b700f3e9bd0a16e8778cc7455ce68b041245852105e81a5631dc28a12a9e9891d7146173bd2498dda687da0b040f103ea6a7cff4195aa01237da961cb42d9c3fed3da705958f1ebfd359d3abb63a891da0c0bc2620c6a1ba20b31762fc58b6c3e389375c3c07f0e4453f74588e6407e0dedd7dfaf608738a4420e355525def403e6670186333282299dcebd128d119d438e6f414c099367d13d78ba891293b8c91b0081fd128b5c01523753c829c20dbe4c997f2a0cb07f2c02a9159e21cb635f30afa24b948d250958762b04ab91a04ff1238d94345bf82b0bb560e7f1d7ada00330dfe02dc044dd92a7c0635d7c974a1155f307666427f7f5a9defc3d1a5e8a92496c69f2ce41d8385aec46b7a6dc3e73b9a22eab745d21d7fb3e28591474afdc5f972b39ffb871534fce4622099b3a038baac3798280c66263fb7d86d9bf055fd1be4a0d40c12994e9461e98ff6165537b5550ba6fbaeb2f40c4a32e5639860a7d1343eac079c108ccc6033dbd35f384b37bfaefd1102d97116e460c2a6751f0a8f2befdaefb7ec6cc03252e63ed2350994b33a57e7038064093297157e95873f87455e35dba308838bb98ef00ba32e92723d7efd168215d7729fb09c93fb82f572d52d4724de0024fd49cac558eb2f82b833876cae646a5d9b6bef11d42240f28f3558a61bb49c3711eb9133b1d596766adb0feac345a7792778fc4abfe736f9230ea2c41f9787bfe148996680d077d397c17c08b32e14ab470b42e0c24e17fc0dd61d261e115b79767f70254a4b5e7358a5b5edbe81593281a8f11e8ba42403f6764f7b9068fc4161a7158bafd6835193a63a44b036d74cc0912153dd3132ffdf965b33f3a96cf0b5975de60e38a25df9f1c470c178119493433ca751182750cb364d4f7920d36268a24ced6be9ae2c17055b60e4d917ac15c6c1c69486963015dbb1cb4aaaf7f2131a924fc9eec88579a43e51dab6d797988fe43ccf72b6acfdaa6bafd6df9deebbed1f7b8ef320fb89e52cad0b69ae84eb5033f10eff7a9c8ce41c1d5606c00605a951af2eb5947f4b9222d05116c7173be5bc1b96c4aec975abc534b0635d9b37113631ecdcc4d9bb3f964480eec9a34dbbbf4852c0667019bc34c8d35d5668a9aedd06f9b14bdbfc12dcff678b001c71934924751e32dcdb8f07e9f16e8fbed15ceb70752e5690741a70da461fe408b3c70d2973bca1c486cbfa18c6611354716f48fe9789618c17e2c8f07786eb07e4ce0a300ed6a80c12ffa638b77aabcb520f0cca1b227253c21a8796e90e361695369772201fb084b38b461856677832ab7d1a7f16f75e49b4ae223541a3b37cfede9e15f42790d991229a416e73e1635d7889bdd9d32c61441d1b7d971fffe024103b3d3a9400c61cc2033af986e885b27c281216e386fcfc30f881c50cfeb674c19bcd315fc31f5254ab86ae7b6c6be862f9876700358616cdd6611150d4771542b9b035fe58bc3091eece87a7ce34ed3e8e10a3fc8f0f5d51a7dfe813bd3b4d54756bf5e6ab093d99839394dcb832886d38d5c54826424398381b70d8498e51e5d72bec2cb4227fca07f2228c855e0c9aaa8ca069a4764c073ba69a75d7472a530fc4da0e7f8b1e2b471da8fcc41209aa6f02fa3ebf394f3552e477dde9f64ce669f1d72ce0a8cfb10f38d7c107bf440af25b40f40ca8719ab91108f4cdb8584b03e825f52608a622b174a98f196bf94f48645cdf9e1c6a512fd86a375801c6fd7049b4d12b8fa0027cc6f54e7a7fe70d769f2c7e2dd0af573dd4c810745b932717ad4b6da808abe25cb84b3e54a7a23ca4f89cb160db1f82412d229487999be53348ccb5542970c1fffe6b71ec894eae972fb1960c1551dd87c897b130477f6a55578633b8cac9f428adad81b567b93beee235819fe0c083c36a2a9edb4da4527433dd7743edf30004adeb83e2b3a2811e222010f6909980093027ef6691bd7d02923bbbb33ee0432f7db4075bfa6757b4f3a81a3af10823916cf23596a05143a96221cb80b36a27b26e5c1a3e306723d1c7f9af17a6471da1cba8c6c3a8dee31a2035b7f4006274ea0c22d19d62d7fc6fde308da39d1e30b25dfda84a9860cc2f85d983244be4b3379a58beb8028e2d408a3d6e583d4f4860c76bf338a3b839382f1fae2de689a3fecf1c26975fcbf0a21e0f8e30d153b34e304bc21e852236a13c46574f658f284a652ba9322654d44c4c97bb14a62606625e866f2f4f6503f922127f991c8d0d010747595ce7a97dd8a0a219af3c14070667d99353f6924bd6b6f09b358b0b6f154aa92e850a74592896b5d3087726fd2e4692eec0ef240c13838cef5823fb3244861e9d9b1ea23e48220a88fd3162ce79d9ffa268d6b5fa56b34f2a1c19555a3024ebd5e9d2bc9c60de741a5bd1ee48f27b705db49efc292c8537f7278ce8d1fd417bd6cf3bc41c7bccb8bb7a01360f45545a0798afe1d1d3551395d74a2ebb076fd48398f9b10fc90fa5cbf4c4bfd6c5fc7c08a3a8683f9bcc393e172eeeed2a89bd5e0f263508670a73f14de425999fa1a26489a3282da82dcac51c40c45a158e60019d49c3b5f75a935e903ec5f6f1aa85614cd23ce4f0a24cad08375ca318fb0a3408afb03c2a92a4a3eed8502fed6a087f7675f92a209791e5bc0d750eaa35567757a582082ad710323afd4342a0e551f8de5cce5143ceafa3c5c27871755e314faf3fe04c87ce5d4980ef24db627602681281ad2f297f92727a29e9d6998c112818a9de642dd1b0154d2188396c06d645d7e428a65e24f41e20e77f35a1dcd7e5e7791b4c8ff8b8f82d3861acd1651fbc3d47bc1c939b11eeac9ab0d275f6e88e14f06327f1aafd02a030cee8d9eb62e40dbd0ccf3a7ff1a88b98477734ad3909712da7d9ff2535f380b167cea1728b38e8ec90c41dac070c4078b76102daa2e4ecee0b1f1b3615fbd64591007e04959daa3710d040ecbc2523607c9d44c625f83541c75d6842a0ca415fade63db0d63e7e9d27b54a7705945e6856cf7c06dde4f5e2e55e42a03e8bc8afc6e378c6cce52d916da3fea59db3e14aaf3cbd13962e21ca907420ab224b8868cefe55c073e07d2b41880cc6c515d41d1fa199eb519328ec94d6861a3f611892e1bb6e7eee97242f98cb702aa5c8314eb8250d2472878a15a7cd676dab35dd4ca0f52a7189a2f77a55e1a40e919c6d029760368213fcaf0743ff6bd2925c2dc8da6f3dc3354104cbce33abd7d7319ec6e3af0c4b6d12efa6a090503e81a4c44942c2374ab1ff2bc1f4eb985b12225affe175007cefac88cb47ed4ea3d2cba2d17bb6205df98fecf212537544857e385b0aef21559eb93e8e12a203b83d02256f9a795d3e631b58277b2d55e8b2562048272c11a9ee4d1235f4c75ac979c76c3f954b1fd444aac31c525fd62d833488cfcea7d5951e9a0167c0940af813e399e0f6b83c1d695a9b2edbd35a963bd1f90cabb2a2fc3e7df5a34bb863f8021905779852c4551e475efba1484fd432d9a98d1e909548d92c2c14d13ce52e5b59e76206f5e3ae23d1803a4756e67ad8133d708da2979fd8c617b119c29546b82651071fbd2b14e45ab0bab1b7d9b443d25a417a6ac57206ef612cc8ef68f85830bfe9c34940b135eb8f5851f068a68a132bb392f43770376154b3d8346e7bb402440aae8f00719c91f27e35e25e25f9feadc6e0aa1d2b00a14f126030e2189f19983aadd1f5eee96af96eb95968cd8da2d8371e104fda40c0fe6aadc1aad5eeb5be668c1bbe34ef4f1b6a410079364267014f51784ef93afeb2d273682b76d4b3e92d2d9c6d952cf2fd08241ea1356428aa58991a975f9023246acde42fa64f194c998b2d6c7c842914bc052d916fa7d7309d57e722ef1dd6aaf9bb36e5b68fcca4c5ada6d1fa270086dc6ac685f9c2721a93cd0e68eec3a16ce52522df99f5df3bdef9641ddca598e334ec1ce4382fb5b7cc0e7c43d0ee907b534d99c6ec14368b2fc3ce50d0c5cf9a414310ca040b62fbede2756ba9c9589728285e2d56ec03c42a65f35345b82664d180120884d36b396410aead1f05af6dd1cd777d6735838ca881d1871f44f167fab648f74b2d549ac86280c4e1aa16cb226959ee6034a10a54ac795f20dcbb24b0f4ce2cc61a58e3e62ea6651c2d2a38597f5d2703ee64a24c7402d9f99c898e6e915def0900d79e98be4120d4b830431743eb97650a43a7f3d99c113a92328c36f37ae2247bf8bddd5ad000f18555b5c1ed650340bd82f7335462231817cab48f78b08a51b68e2ec911506e83aa3bf7618e7c7be71388d087e86afa1c2bd61a30a62166b5f9a5fff3101f8fa03402203b373caaf24bdd029f044076c62e68f29f7f0e5cf1d22468d0e5a2ad470d1e9575da3dfc8628ef4dcc8fbbb561f488421b383e51ba6111bdc06da3d816134a52480e73ca7a8d273dc5eaaa2ade9acc3dfff12d5db0dea4584e62a64403d3332618104bb48785cf856570117daf7f21d040cca6616611d239966539b9aa8a3f189af19f5a1670cfecfbabf66235ec49e2a579dbe7d0692ae87bf63efde9cedbb09a275902451bf5649d053e66c983ace88e412e0884e724b66e5f6e798e075c74cda5614e2a234396e54fd292cac6584d47f062fc0ee315ea2a41406c58d00378c5a1ffb6568bd54464d7c6897f353cfd17b1dcf4f575ed6e36f904df9cd7b87112cf1473ca925e6dd52aaaf53a76a32de04df92ba5533273d0a919e7194041bdc2c9bdebdafb3483b4e1be1ede0dc80149f375f508df45349e081c3040bfbffcd4bfd41bd36ee75a00b10d4d98fc0bfe1377a5efeb5e02d6db091bcd1a3ab2e8bb7b5b1aa028df61b1d398c83dd34e5d0cb2ac45517f62736cd499d19ca759be8a4bffb42821d23386e74d2ba898ca094f37ef00a244929c6b7fad36c9e4511fcaadc8119e0f720584dbcbff99c6dcbda82f087c75c9b38a5d96923be61ce45195583d5880b9efecfefdf55d26978ce71797a3a9af5bbc11dea4206227eb8b74182bd9593a50ccef1d0553309d80446ab9e80f714a516f604509834e72a0062a4d4e6bdc5f27983fac67a44ded8eae1d441e8d9c5052b5a49f3900734cf37a09d3ef034733742890bf5ff4f50725f16cc184c3df76faab8a4fbc6e3c3f0ced8df3637d869618372496b097044df5f31708c556fb8198ca84eccd93d21b4c36b9d25ac7c7760d9279dfdb751a6434c6b4a3294e18c59522a8e485bda9d76b1907f6fab2959d5b90da935e5a68121bc569c55adfc1df84716f8de9fbdd7a2ee73b50d80d6889874a559fa5441b73810b827e7853630e870802ed0d2f8b70fe1fe7eae9ff86bca91826ee50ae97369c6e9c613aa5f449d4b67f8c8933aec2c3210645dac1994c6495b7372fde9c7a67440aa64638afaf665d79034251eb002dc4229e7ad32569569978c2733c694eff5faa32232bea1a3d7b78740fde8fcf49428fbd283854faadd2f83f8d70f101f557432f722bd8416b99894c6fba443300e8a3c2d3da2e5c379bce21e037ffeb7cdc24e442e3af496ff47c44bdb22672aa47f55821418602ec2ea43f534946d30a189dac959e5334dc4e03cdcb2ac0c9d6a4a118de9c583b67ec8e0422d7695340f7d00a9e218c4eeadabab870de13ac01fa1faa4c9c3dc382a39acf1d1169a41728815d4e8b761649f6e9d51d0584167e016ee07c8198689fa25f7bbd81c9e691516fb30c34c9905a2539dd3afe8c109fc387d6493496c7c2508ac6a5250ca6f42b32d6984f5d991ab7e51f7694d0006d3e9eac74ceceb61d314046e70000e765f536e655b4a23651439c72ef3d15546feca46004d437621c8223b521dcac873bae26b27806072acd17ba7c900de02fd5f48fd8b482fd8f230acaec4b74387393ea232c7bf0291e1e5df35608543b11f994859f6fce10afed004f58ffea37708ddc4a60fa2a11d8db51b51e1b3d938317d1b31db412bfe5f7053d9d8e9b42da7ed07315d5363051a003c55df05c97a81ba5fdeed4a8a56a96fdb09a34db11a6774c632dfcd5419751599177a7692ed63daeaf902e7ee450cb515dfe5bc1b89d31fcd12cfa7fdb39fb98684ed1bf01fb3b279a752b11cbaa7192c279ebcc3e726c870874578124a278f5de8499078fc7e5761de57c73d542387e1a068834df72f18722b169ee1e167c17bb561a6e44ef3a14237557c0ee78eb7ab80f4e4bc69471548a72e6101796eb1e2225fd650aaff0929f4520241704219b2158575b389dead7c431c39bd44b6f79958d2f7a13857d71c7b6e5b8ae86efda66719f7c88fe93fad514de51d88248cf8da79e6ffc32af6252dcef7dfc7168a8f54b964bbf2ff2cb053f14de1d1ca3bca17618550bace990d10f388568a53f0c96654865bbd832efbe5a48db32e7a75bc0baedd612eddcf371f91ce0f3821bb95702ab9dc40a268b67ed7b479f8f061b8ffe75d9b66b34a1c8caae0a9ad2905e1950de3b234319092f2289fe2c08bf860b113b66c023de30cbee42b1c14d8015b01dfb6fcd8262e46ba5316ea862a51df9c51529a8fb92a0badf562a0aad2d5ae668387b00798d97e06ba6afbf94f2e2a5dd4f756271e49a1c9b2023fa8bb0e85a15ba0a630270f02dc5439d1dd3b0fce0c8d2100b2322fce0ac9bb1f662ee83a78e12b1faf7f18d57541194b02c2bf241eb84329026573e4ee9db325cfed273d6f51bce484837453a30a21d73179d548ac52041f06f009d84e9e6782cd19c38736f1c01341ebe50efe109e31dd3338eed95c29ab323c7f7888e378145f16fada6d54db82fcbbff05f68cd20656686c039df2464df4e2c781899ec408393cc9d555458cd89de42001dac5e11452b90075d0110bc44fa635e14822c0dd5d65d4d6988bfe47dd0c15cb77eb84d5f54732b307bab3e1ea6bf7c15da4bb2d57f57b1f17c59a9f0d46c4cedc027e89b62162cf20e975f365a0673e551802031a8fe4c80f2e25f3a4958466b1df49b47cc2531c564b658357d86d9b67268440069f91ce12c265f446914468434c8736019fe86098a65aaf5079329d68928812f255ed8781c3f44919981aebadcd55e22eed7dff8ba87bf7c351658b8f8bb2e0f9d5f01f09b407df123eea4c50dc93fc9a2901440cf2cdec0ed203fd450ede3644b045277dcb210e10fe51327a63bd457083f23ffb430b7fd4c1a54058f13c4f9ed5ed610b942ce030e2255c5561205c348eaab11089631aa9274301e94c97c59e6ce970195d2860ad354fe513b31ad28ea8d851756443ae72cfbdf5f00c3f1ee217c3d052c22451a53a8b2b426f22ac1a68382feff9eefb1aa10bb55f932661ae6ed94966ca0c1ebc5dd6d366a8bea5aa665ef67aa6e387710078be05ec9647438090619e2529ecf53536385cdc3cb29456fcaf2fd4cd3fc6355664109941bc2a5a4eab913ba8db0159e4716752f50bf1507a5ef08b428e9b60af47b952a55ec735adafc802e57ae3006cf6606ac010356e01db200b253efd6ddac7d0154e673b5153cff0c40b952fd8f021528258583d20ca73f390a751034e168229e3eb200906dca7ded8cdf473470a3d91c85e341edce0a2ca6b70977d95e9ed1ade5dcadc4ab246f6202d2817ba17e164d1c93da56f8cdb6edacaa72d6e356126875d1f1cdfb54fd258d3072e06d2c7b723bf4ae2d779e0018429f0634b11e141c34ea635f7e7c0f5dfd52645395c2d03fd7afbf3172f703ca4544c90939e38318498946af365cb5c116f59afe38b099204e53102dbfd946f1a402de4d108f46b23c275caa32fabe36298131c29cf0d1185cb65b4618c3b7efffb6db9ba40405deef076f6e5ad3a7db05f0d2d8d41290917b6437d1e4a4b2a1d793b5187c820eb029cf36f2b0044da7c7bf92be5913c0afc806ca5e6cccc94b836e4eeb8b43b60b764f6dd69e8cf6477612ecbca9b18a10a0bf889e22d327f622c92504db7eb97ade064b18fe43d8eaf1f372c3db449576ddd00173bd4c921686f2dbaa4941748a38132ffdbb0e8a173575cd60ec97d39141ac460d739352d537a16c097de6ed021bbcddfceb95697a3bc96279d9b28b693ff006f3a6bb6c65302a8736d5366e7b17821df206bbe7e2b329d30c06044d36bde01820f2c2461fe2f1a033cec8bf83e41b560363dbfc3d2bdf24dfc24e32d6fa1240efd04244cda76072361cd6c3c72bfa2621f05a11687254102f16b6eb649fa9a03619aba53eb35e5be33e5af75c1fae0f3bd8bfccd84a7559ec158bae9d2fa56423e40225f89e052b42a10d30cdb9fe35a04e6d345aba438ac2cdf4d88ddeac7a91e0402c9af14a194d9b961d9bf927d452e34515590217bf00bf21128b5113f43508f079d8e4423a1b9a4657fe3fc4dd5747c5e2236c873e66f7624d09c469bd2aff6b518d5758acddeb683d52027622ecd55c2d91e9fca40b8a68df94b0f5c65d7d6e658828b700d4cc8e5cc5d086231707e2346a32cce93360745bb32f4ada064aef05a961147a1db71c09cfa3e23d0de0fd29e96d8404b3b36876ceb3dee927654b5bf42f2a7997a6e7ef23ff6749c8d0cd1ccee6b842019012e255cec6f035dee951281d799a6034e149fad60bfccc837186ccb02d679dac900f74424b17b43a79d426c515a084f64b9f52e5bcf7487b65eb7ffff96c183e8845f056fea496f3855f731b0f8fca0c7323e2707bccf08c04f58802e98a6c1dad1d5e01ad6ef8021f6848d07806f35d508d9fd4bd10c0648311ad85543e3d35cf1e863affa95388ec815ad28682d89920b26ea0797f0e7d98db4c11bbf217c8ec828ad8a7fe3ee68397c622148ae313781f2d02fef5658ce636f41b095fc70692c029eb056b50be6c730e155d2ce5e220dbba0b570c00485fd44d0819d4e856e66141f68c82339b89ffcd3c43223284b6aab53fe9b3f3f269c1b9265205df7acab776b04251cae9863137d821dd965e824f192c5fcc6b8be23c1ffa85076477b8168bcc920c0ac48f630219669d2abcf0f79e64759ae5fbd860f9f1fa9019d76bd1783080df878e6f9cb1094b3fbbbec19e7581d28d4cd0ad54a0576cf7f4b62f7d5be2a630b42d7ec9f538e57cdf5c92fca751e1c7862b17b4e6b8091a9bde8d7c16cd8b0fbe82d6a621a9bfb8ac4aa51e29495415f918aa618ca7de024888f67d193d3bace520c4e93f3c2ef9dfdafade9c1b89755fb65baace0e6d3822a71f0ebb9946dfcab272b0e0917f2b10f4e71668f64e637ecb89701cdef449623d4d3069110bcf727a3926e4f894209817110070228c7bf1ca1bf0b1a29594bf71c25e6b83694a576aba9503fd4cb31b911a57f3c76f8cc9bed203a77b169d9d436a6759477119a87d0007d45b981441de740a124830858343d912bd3f3ea5a5ff15559b710d40d913c702957fd4b4af2806eded4f0f7cb9a21319a8af0bf86c553bca33de0e9cd7b6cd56eedc519bbe9a5a7a7c04c9f6d57937a16851af782a585adb230d8a6d09a401234af4883066b80bacc495a500895a5c7c64e7e5239827dcdbfaf19be59d3dc25d679074a42d47aba5fb0371714a1a2e45eae3ab6b228fc56627c07340539bb0f2ae45cc7b500ee4437f78e573b730e3e538fff2786e7d51523a9f028ec59df61bd530f030c79a5ef0bbb458910eedbcf2f2023834163182da959e8329efb03abaa1863a3e2f8b5c6fda8e8537a59a3b8a1207678597d3064a3087e9a8f8b65f8b775c53e11a183eac52937e1e93a8b83393381d844a0bfafb78dda9ab6bae9d4a8cd2a65a74815288059fab264bba26eabdc0e8b1a536d8599c9099b556de2e037b92020d591a58d04fb96012d8b1ec6d23a92fa71c65d2ae408bdf3c169c13b1545e101238b5cca3d11d2237fd48772262dc2a05a502b89b69cdb06f7fc8803f5d2b6b6f86c3a2bf0f20216e0e8784a0675c37c28acee67ed89f72d6f39c1b7249b842bc64b3e87ec93ba1b6252a5be9a865fd954f5077b2e60d22c1459f28aa70a365c926b79130f50b3b3645430f8b79b585f31bdc9d294692f77356fc706e8c16b8f130270ddd63c8ac6a78fd967328135908d470644d571e4722fac0c52377762aac39905b3b5141c870773f48576069891c200b09a10dea7113353d46130d4cfbdfa9dfe0719b909d815f4b3295226130624f869b4f726945f4937600460d7f4bf18fd9b33720093a9b05a435d6e519097e363a14bab6752037924a0c0c7982f44630d70a89732aa18b06ff9d48b03f325d402f7f0f2a2f2181304f7acb101533018e1c3ab5c211a33f9c9b293a375ad5752dbe3e8edc416ff2c0c1326ad6d3bde0d9a086d1745d95a93c372cb816efd6f0f172515b0c3910df055f653e67d9bf0742045ecbc6543181b282965ec789947609707be70b96e911f242e1b05ef3aa69a20dbc91fd649d83bb7819fd9d6b3c7e936da2becfc167097a8dbb7a5f70f50a4a7c578e31e870537def0f737f9a75a0f85da027d0040dbd5209bffea08c61b0cb1aa157f640bb413ae842c77f04b20d4fd4fca56491cc78922fa3636af94bec175e387c378ee098f90400fdef3260845b796c718a4421ef932c5cd017e38843e5c8795c0a913513060bf6268203b9d11d8da773d3b0688cfb513a0e2744f8c559e5a624090a9a3498006a91f85859bfb6d067ee5c9adb68ddfff091734f4efcbb242000a22ea4d5552c89fc22f85238efed8cd592fe892e0decb14895f13e352697fef0c9099cb3121007ac9194feb605752881d377d7ba3fd37fb2052cdb1ce3a630c8005b1092d279610a6bd8de04c92b4a9d1e006425dbd283cdd9b6150f48d2b15a51cc7c6c2dec83d129cd87eeb0098623100eedc5f3bd636ddb5df1ae73d83faafed1220fcfb1bbe03953c9a06f6da62896bfc434e2db7e0fff3400c0f5a62aa94c0b763002f21136868a1763b7fbf1d462f81381b5e7099af16189043dc3330a6541716204c07df12f9fdabf054c8be3f718747bf1117ef188b69a17d65549094443d843ec9550813114b49fb8ae30e737a588c250e75d6c7d0d23e3dbd95e089fb12a2c6cd188aebb3065c3403d0b1b3b5e88d8c60dffda356285179e75d0d1a92ee58543a5089ca2359f1ce564ea4836b74d09310bbd1ac56a910acb1791b59866c4e8191d2da008b45ad3be48d58335605d5c4bf8a5d055168f53a569f3e357afb0612e492304a6a003aa1a2d7ec722739e41f1424c0df27af896f491d0e6acaae3eb9c3acc45a16980a05fa4db93f0190e2ac605ce061ee4a0bee675a75eefffa9f2fe0eb6edf4e1fa8b2602f55fc9ae929b9b0916ba0f3f09513e40a5b7b9a9e9145846c92881e6a7e88c849fd3ae1ef486ecdc555c61a5c745416ae9734d4f4bfda7e402e8b1f7982b112a692c10baa1cd996fe9a3c237206590fed42cd3e6c071f7cfd04c28f2d65f94864cd2196d08a7dbbb3db8e2b4a798924ea7701831268711fc74338d15c127f699fd2c3897b9f55180ad9e8c6b9e21eb27afcccf799e820ac079c51aaeb0fe6fbd21581e9968e9b84f8d2b71d5608e1c8664a77111bede46fef352c45fb4a4f1cd5f08144eeb7895fe5370fb562c2a8a00c8545ab987467e4b11a4a67f40cfc274de17ca89038af40afe85a5072715f50313e368728ddf13fc0367ad4908fb598f8c7af07af09cd35bd45cee4de3ea9f3e3cfe70135a246f066e3d611ed59f2af9a8720ebcf8fc04004b77f7734dee95bff358823115bd933882a228f2814e6ab7b44421428d8e78ede0702f075da1c7d25c75a3e0565ac5c64bb8ff0c8d801eb9e4142720343d75a8c0d5d0f009d8b0ffdc37ac5f32c7fc1e18f951c38a66219a877a2a1fb283ce70ec97ce20e2253030dcdbed80b063d0dc69cc5d05779dcd4a1911d89830c699f926c5a17c5e6a26328696841b58e36de92f4a3c407c9ebb29e9ae0bfae26bdeffc77c706e63e801d7ccfa7475827d833c6a591dbbc5b90c10610f66f7c89e730c5ada9dabd738e443132afd0d1701e6ec19145ef1e6555986c00f7b7efe882ce04770f47e8868e07b23fc6327559c823681441976017925458fbd1cab632a1bf8960a80246715076362ce630a21ab528cc044fa901461387783ab7581422d63738e0d32ae806995de8bfa8dff8a32f4cb1103eec14e6af05fda52383e857b215a346920f735167ed341713a01569f1aedb668eb0ddb439ad8d69de3fb6a99494bea75f6830471055e9ea54e30688abdda3eea45a7131fee6202433a87327e430ef7fd32a48f16c78487d18c15e9d29a42ab546b147c66dcc7e6fed3a52b146981587d1ec9148da226f755b875964a1b4f4310a6a07e6558b1a01dcdb33b2ea56c3e7430ef7629250696d52cb4f56d721f1a0a7b701e4fb377fd0725b6657e5603c26eed00c994c3ff59bca5e83dbc97386e6083b0588cbbe8e61fe108ab3ebc06d61e500c8a01040a7bfbb435814e8cda4569c1fcc87565ad1c0c463707977d1826720acb730e283f0292dfb2ef5e30d4a3cdf63bafc0d0f4b324e0cf2ff7f6605ae34be8ae60292cac46a5ec4c4bfd73cb0c32436a989e53def13d1ede8e3daf5e2a28f712cb1464b6929943b6d27cedccd3c20247d3866f7fbf99495db21a8e50f09f6f98d923addd1b15b9576c110a6aaed44e3e8c7149c6a65fece334d688764a97b119ca846cac31d6bda7918d16c37cf0d794ddc5096f82a8fc328dc6f7eaee3024030590fb7d6c0e43526a1b97e1d8a7fc208ff43e9e1e6cb6f0f4dcb87b3b2755888050ef684b64b14b8bc89d4a1ae42a3b9343067c99566b017b3f9f11d859d762aaecf2ab8174bba9808dd35da77552a88f8d775ef06a915f4d16a8df34ab9a6b6f080a9a4c4929c52717a62e5f198ddc273870dbe4dac9369b6d72695f96f261b335b7904a7b08aa3565cac0ca67efbb77f78d5b6ea5b2a5eeded7917b7e28946e08b0f6e8e8322f189b1e5e023fe88393f54f42fe1f8c7c79142b56ef7c155f53ead623a5cac55b4541bb5a5d18ddd56fd76fb3f752079262315b7d5762271b0f52c667b74efa3b707b4751059a3d47205ad8572e67eff146ead62f45e71b8fddabdce2ca61424cf21ac661988a8b1af7ad0a66fa8cea01dcea881494f4df43072fed4c0b0c456f74405f5a5176f743fb3ececf5349e90dd4425ba163ff8f34a17e3354ab7a24129b20672fe93ccd0bd1f8a31059e3417973119e12b5de7d7d57c7259eabdb544425f4331a451417169c3568fcd46a843d6e32043baba12618e811faada4b5e12934b20b18b03e354d88b2bc9922454ba35cc9738a5bb104fe887ee95d3007ad2e971f2e9cb0f0b4c862764ccca952753a11c041d04537a97718e6dceb3ccad7b65aeaef4c382dd1dbd02e9b6ed4d53fc9efbd8322b31a6635dd499159661c2bc49d6c9d342b7806da0ead9de5a359d52b3e38b9f30e474e3c7fdb0977f6ec135f8c91a49843db90f09fd14ea7f63676807cd2332ec2c67bbdb50a4a8fa24c1a4befe992c56d50bb54d9f7bf8922a6e1dc1e330834cf69178f8049104112259aa8d2bb897da5615f2eebc21312932ad478409798373415e50b04c7204d7ff2e760b6dab8a9dc9a5988689fecac8e0886162b26744555786ee899076fa54f0c1862316401255fc3b09e136984602c337a8db77d4b709c1312c6b4780eb4294b4cabc92d220a62fb2f41de89aef2bd6acf807efcdd57494fa725ab8b9ff363c52d6a9abae8198f1555be2f44074acde6ea7a6bd4118ab17dcee289755b157f270914629a9e1e560a2df1272f3eca5bee2ba55adc3b74305b91c256212e844024e16bfae7a6bff2523d1e63fb2733f06b75d407d9bd7df3d372858edf5013aa93af1ed501f9e7c8f42893630856443bc6462ded8e86e01fa892caf1107237498f096cde848e882d4b9a3f6a8fcba1f158dd2cece0426cafca364797355594d17386f7ad2dfea6c0dfc3104de832633023587656ea0423e234b5dead290656c727d2cbef7a095256fd053a2b5fb50ac72b22119113699d2d93f05f480e3f6e5da536d30fdf90a9478a2e12812bd14dd7cd00273780bd76a281b21636642580c9dbe1018ea70d771c0ac8963239f0ec32038822f3c5d10e1132309772daead35793bb4d1e6c6f2aa9548c025d814d32c8d51d672652aadf1e5e53da6587fe3c267a543d51f74b8968789c28d34b2878908ff5e77a7ba1e7e581d0a481eb00b8a553cd3c8ac1a3cfd64dc23670387d20c43485e2848141c1445ec75831ef3965e213710f85ddee0e37492c731f8d0d6e88f16c0415322ab7b23fd9ee7032274ffd2a4359c86eb8874df774b7c571fadad99a2372d48af322ce0565f572ed785478dc5db4b5de31f563e45a83c30ac0d7031c732424d727ccae70176d8fdc18417b24e8364a6794a3236f00a71bc4aac3e2dd3faee47059fe657df37076fc3d84f4d150e594fd33bcde86c171d172ac44a15e9c8bafd620fd1b591c3db406305b08916ce8066ac523cb9a9fb4112c4439e5c1ca6fd8fad14770ac823864dee9c797252f9e2dd8c50b02b9e564728022f5da4346a0b49bf72560d2cd8cd2e67a7430cc8756dd28ad3ded1e4fbb26e31b496deb2fca7feab987667c3daac63b7a0ef449867cfec3229a9a7915f9f42d70e9efd1dcbfb710e9caf505296836cc2d23a1c10a5143762dfb3fe30082b0f711437fda651f98ba7e3719370e8d082cf95de033e0bdbf865ceeb92358fcf34bc0d17079023d8ebf251e77be060f9a90f7bb7e6b2a51c05a95c5bdcf02f5c512c4e2966fb1007fc46e9e8d833d2693475aa88ceb6be6eb754f03d9598db5a283b2bf784566aa3dd9d7bc19193cc6e607da07486f5e68c151c09854eff623449bd84755c3c98b792b409c24ba5854cc755d0e6924dc8459ab2d78a34c82eb6a976fd16be820dc36613f76676e7bafd55d54e528b4cef2957fd27b5af8dc495cf38354d83d116282f339685789687663a157b50c60208336e1995cb8a6c7e9f52ad395a39a13bfc0d20890730f4ea07f33498773e5bb9984669f2ea1c9ed5c13a35b4780e17c21cb45fd41e59cfd8657ef8632d415f86b8b1eaf79ff74bb4daabc24a97ca0c595e94a9881b1fb8845031d238d39c4f77d9057274b3b13df41cd64948791d620bdd08d1cdc11cbb2d4698b97e7754e833d5f68a2834527ffbaa6d711a879e5399b45e5501d0ba365c48f1e5eb4cf40cd262a857bfb62e2cff96ddd5e539edc81b746ab9631795064ff84d497509334fa536e3bd7d76c2822c4b6163a7a19da1ca77bd5652f71348223dad377c132da95380396928f6c289b458090a42047fb1237cf1f41993dacdf9f10f1ad0ea03d41ced3ea0850b6a8c87ce8f79406caea2243644f65ec64bd25d712e6b86bb2e92bca26f522f6cecd4ea6d0447fa42ce5814abbbd4e8e88eb70ef1bf0dc8bf6686b2a392fc6e2afea4bd1738d0db01b4889abfa896f3cb69c92e0201dab050a8906f077864e47b1bc84e7edc39e8013613a2fa5831e08789a460de80d8db6fea0f1b957b86c9eaa589236e4ecec4adad9ca00cbeaf8d371bb791f6c790bb6cc1796cc8bd5533dd68392a068d364777cc95f24883957153fd0f4b9da78c952680b3ae29a9782aa42248f2db171499f92018b9627bb6f280489fcb4b0230680dbd9c65fb0ef0119c9f666743faccf976a31406938b805857820f2222e7c3461c37822c4c1568157d28e496e5560b9d5ae2915856a1eaeda42fef1f1545958d4a970698c0e296572b74ddfccd42b9a9afcf9a8e17eee7ca3f6f67ca901d348516f3757ce81c657b6ff7be51641eb483fa33f4b60fa5fbcd90d3aff142c39d5a21ecd8b64888f708ec754912849f7f5078a21b28a3bd1ed910b6b02a237ee3d985fdf6e12ad650e0f874529381fb44934e2b959485df3b259f8b99ff49b84d6fb9b75f77acbb7023dca04696ea859819f386686daed5860fdd84cd3c1cce3b93408900d3f4fc10018ca9575b76cc206991324582cb5f1d312270e54010d2fae3e6db6c8b5d291bd38196355f68e3f20f78b11f6801955e5d39e19d82b33570313c02128ba88f6578018610598436c7ece2fab05c391b3dfb535d157e0a35a3996314a75665a4d3447e8ba2f753827a6be8c291908ca771cbbc4b9909e7ad27460d3414091863c8414886b6eb828bc608a926b32177f2b11c2e6b759654b0bd3e4ec0608744bb7864ac209ef458f5a0267492c0f2766fbad33af4f3b2b257bae6194d5bc4182c85f8d9041a1d182f11e441b0d3bbf53d17f57c06cda812a58753a8f6ca4124d33872687843c7ba65f9adbd7ae8217e653787bc18dbaa8deff631a750a66eb5d7238983c9eb32564519eef6aa0c0ec88307487882f655e3520899d4436e86e8da5c343ffddc573e72ff68b055a15c7169a91eeb809647932c3888666a925b966fb607c9226dd4eabd36803a2b68937f630d60fc8f4294ac99dafed7275abcbd942e0aaddcaa0a4a21b6775d2a8c12441e1d035b444246c30ed8448ddda758d01030a01123b4cecc9d6df56b5619a1ae2f78de0ab90ca6de4be1ae56fa3766e8959c159b4c06f8738ae0cb7476310aeea107238bc39fe65686338cb4194547e65a8be88168edcf8ec1537de2fba2fa264822612f3bddd667f678e52326c9a4518186359fe3ba78be54b3ce2bc6cd064f4eca6ca0a2afea297f2c79d67c4534eb2cd375147d95f641ab58780f32b25e55209610d718ca466034c0de369ac1361bd832e166a9cc3b70d267eb231dfa47bd0110f07b2f55bd496cc7a6a31e5ffd4fe9f98b6010d03596c9889921720c53fef1c7a925cd881e6d2d612061c05a2748e99868e071b3de747cd4d580a463e51a1a58328fdec79fb840380fdb0a1429e4e0940815902e286065b210531f71ff6243d56bf11c891b3dca2891902a13a858ba82db91371f761f809032dc8f4a06301e04ddd9db88d303c9349948ea1feea37f56ed2280fcb150d768165911560f6deb807094c09b8eecb729b95e6befe80f2bf3f3954658ade4a7acb96f30ca5eb07a3773355a383a4f45e4ef9f55efee85f6445ff6da5b557929605d434ea7e9f72496a742a207da541fbc75491db3c5c97085b3194411d23a1eb4ee96e1e42316e8118e8367fa86bdcdbe3e0f9d9a614d99d7a477f84a487327b41f39efeafbf308ad2b8b90334f279adc62fbc99ecdf95c761f0e3bf09b3b76013bd5fd523f6fbdff07b3b7a844830d8f3efe5ab6a1009c56431454c830285be7c23d541c743c6392bc0e876df500fe74c5b9f6688ac3b67357f32dadf03972bbb0222b57f7464e74332af55bfe1f42808b1a26bb2f24475c899af41203ce8ff9e20e3a4274053abcba1ca240e311297b916cbaa99e78bcdb856e64ff92f5917af0de927885ba450be80abd258a05f92809c7a2ca90828b9ba111b85bfc41393a8521590eb9d3223f4b6a1e7775584340dd7d279dce409ca5a87be19f69196e8a21c3335920e20483373377ed6b9e9dd844e35ca430ad21b32adbd3569cf446d0cf6525f6f35c55251c63e12fc4aec6961da8d2bc9ac35aa1f366f0ae46ef89b28a992507a2a84e31b30949f0c20992a0afce5aa23cde4bf72b5844074596e9ea8f8c3356aeafceab9b7b9e9cffe1bc1748dc8d39fc52d6d6199d41bc3468fb12c080579bc34011c8d6ecd763aa5b97deb0a417fa9356594cfd1aa1242e63ed8ad19274534789bcfa7b0debec7ebff3563c98eb1556701f69c05c3e4f7e3ace5618384afbffa0ba0723985aded1ebd87110b0a541e27f59ccb54e7898f58efeae902953f8903636d47bf2bce64ec521ce125cc7a02d7b3c8a83b38eff11050ec4582002a6ad38bba85976c1814836376654d9d4cfb917081c432be0b6c3b4aa2055a7433e2b836041d6e99ff39e558b98c23ac50d96592501a58632033dfb764b8cca4c6d393ac94c12cded8ae654618b1edb877fbc21b7bfc0a0dc71d2f0fbf4d9fde15cb4874be6c67e93de7f0d69686664fd475c14ac69596ee2a2fa7e4b25eb82b3765db4c7b3ba36d1c07d261cd363d1f9839337d21a304fd4d5377cafce3f12268b251fe83c708137e957d7bb6c42b5071fff5b5a774e45a95baec5c4162e6e1bf300de0ca2e0b9745b3af94534c14e6570d2d66fdcb31caa5c5f9efed0a8c31ad036cbf277ab659025ad61b04f66b0686165bd0d40346ac57eaa4cbc0b18e3e5ad694167c4e35bcd104ff3293b12b34ba93be03cbe31cbbea855a94f1e3a8d6f15e58a6bcc09ceffded6cd7c3355f03cd9fd018e1c386c3d6ab0c6b0e0ba28a3133e410430088055093f5d01045ea9b398b6a005654eaac470ddedc1dcfa89056ca77233912bcbda9dafe45a37fbc4dc1d766d5114b3feea2429ca4e8b4949b80865f7a8a3e8e556b40a313a8a5dac5df8d62825f4bada21c2e76b17ee15f604f8dad014fbcab900d894a18f0f72944beb93cc63bec0e91a3b84a563cbb747a9d0f3b47663c6969172f9c234ca1c1fe38f265f0a4915c92e32f479e4d18fc7a286a16eb632e99d2bcfa47d4fa60e1d40fe00474b147a9e47ebae527c2262820387031f54810a870b3c41d4bc46693a6443ec14f4646e60cfd769b64e0e67a996e1b12d7adf348319ca34902325ac39b524e9d5a13ea09d295330bb97e41103bbf81225108647eaa3545d5a4f1acca3436a46d8d85ad0aacbb5065e84e711a7cb5bcabc22ceed2a1a4123a969706fb0b8622320260025e4a4365cb1c362fd8d9ec48f149cd6f5879292d89bf1e4a667242e633228459a7dec0916e2b89e3f6beb98c7b71353cdb1dc873e0719989034f144359997edac7c6c1a1ff5d9a8e16129669e61298222475eaa523508b43e527486bdf44111dc939c549b9cb2b05e40a32aa3d16d01a961aca0848a48b995b924d8ce8b6958f57566209bcf90aa15217df27d6ca356b5eade2356505d7e0f690cf1ecd0e390246c1246e7006c8c5050e3d955d7bff3a454a277e354246ffad345fd20adb5268ea08f81a233fcc8b57592e79cdf00e15bcc7277d88d6b108eac9d05884622ce72fc9cbbf2bd322b6e387f8e702d33b5ea315721128211b0f2349d59f7023527f34a845a0c39c7c9a4f3690256f904e912f597d6d15d2406cbcd08494221fb090a67205de28c1b92d4349efc59acf2064f2aba91095e4823224258b0e62097aed49956a75f664c8a6fd4d17caf1b9544a911ad28a6846102b3a7828591378d3249e5afb140cd577f7c0ea2bef6ccac146a3289e869aafe1b12068b6d2f98f1e16125808019a5f30a6b43052f1eb8020f7b75f4bee7e6076a07fd3e8b65720eddb4aacd3fe22946da66cfad2cccbb8e468571d1c167ee091dc252258df1bc25c4daa33eb68993a46e687c220fedf556cceb683399f29e1323061fe0462286ffd2bd3b332e793f5689782b7c5fb5d9eaeb1d913c52ddcdb9b0c01bb650f1c19628ced94a52a7832d20c9139218ef7210cce476dd42fbd69d36f6d6b424f9c2c818c7234c3f738b7b161d2ed0ede48d5e5e5c81de3fe531ed658d3050fd1edac6442a6940b67140cf8f0138f0f8486cd712124649a93efe9cda46c95d484b2636dc6b9acf2e6312ce0f777c66a492415d79c35246c0d3eb3bc837475d8f9510fdd22e7c47453ec574f279e74f591ba9d3fcccc3bf004006f0750a0b1a665b86854fc7bf7bc099c53150d15f6f98e67a62921c3940b333e3d93a422f0ea4a3960240ad96dad468aa44fd3abc70f11d47bc9a2b3c680db6061c4a7713198c09a11dd40f14a08c9f1720acaf731a7b824b28775ca62a0e321047b72307d12b55f4da4828cfe44e8366deb2e6c7ce8b5d89e7985874c2c4c1445f565ae5569650f4f4efb279f6c845cbd82229a1468c6288d5a29829eab96ec9ac1d8db9cc5084d50ba2796f44742b929661b29cc0d461a4f6524e2eab04c7305ca190667458404675860bfb160854135d148ccdd6b334d96087609186130ce838a90f0a4353fc52552e177cc076cb13853c34acd8f90454c8d96c36a93b1a27c3fd2bede892df740d51384b3ce56cc137ded69a543c8d5ff7e4aadf27caa1d85dfac0dcdefcca652600885b6c93a74ce9218fdd263b29e455f3a036ff3d1f6e278f1a00542ef13fbe7d22f8be4dc08cd5228f0499d43f8e3eeb335ff5e782afc02e8c309cf4532591a8f41988323d889e49306bbce132b27b63b3180db559dd5ad4731f526a658bced75a84f43345e74467a4b804b19b83776c353189022b1ab5ba46a709e7bd370edf9cd2afd655136cc2a236c53862fa8212ec14b36adc041fa62227c91235e6685ab6d33164aac524582ed0a9b909d2006ea1704c753f9e713fd4fbc894d96e6cf200ccd2ddb17fd2bd908bb5b2ec14cb46c6e4a111cd0335a4065c8c107146174a109e75f6bbb3c92e5bb7e5fe3e94c1ff662437980699ebfac484f459064316004fb18712c2ad4a211405ee6bd1d5f0dd07445a1e359493c22543d42945f26de014b92693370bb0aeb75845340b621ef00cd2b5764d3a5bec5502afb3e7dc799958dd41d420889313959247b208ba3609d4014a9cc5e86db656a791c5bb5103e4ea038a79a6a141b6e33461e4b0ea67d6c94fff7dedfb35070f415b9fde2fc380d33cf0f2ac345c4d317264f4a816f3d9024b27ef4e68cc15b433d4097a23f9df6372aa0e52530bc9bd1542c148ca08fb13fb91b44d7e1cb5fb134ed02a0e4a73fc68faa48826b4c4f5b74b5ae9d78d6a05c2ad983ed98f3cedf8a5c210cf90d4f8a57bbda48481a38892e0ccd85da9ac4d3cd119707958a7261ca5a1717cbae52e7fee3cdefe1adc6fa022875eb32fe9b46dc2f5359635df82533c6c231c4ab13d8d7b15dccb8c0972505d6a331c7de607f19e4280f30fe35f6a98df55767d14a27b8c2d79d9ea79d599501ddee7510ae6eb43ace3b869a1932f20e233570bdb16dc822a72685e46ba96aa306aabb63dd6ad257572bca1c5f1969faac14e126b911b53127601eb69a2dd5b83f21e14d58357c2601ae626cd9b9dfc2736adbad0698e10bd0446de9ede508cc355c9435270674c7b4aa2781db080aa990d9bdbd4c1bc544023889f14d8e40e4a98c9c54ca588ece7a627ce2138040e9847de0ead6a09988bba62d07a13e98f4859b09841ae30d4ec2cebe83f46d46ff7456ac14f97d84e106c0732969cafa1e03316c99ced1ffa0c62f41fb515ed204644e4b136fff86f3f206f1fc4ee3c26ae7c40a59d74b0adbb0ad31ecb12039b657117c893d2a2e8df30e668ea95ef0c7ef26831efaedb83c576075ac23f4fa1af854bbd33db66efe26aa1e0a37ee1d5ca57c0d9a303f27720587a4676ec7ce43792b856faef228e58f845e3bc58d88212c8d4a7ac3d269e23fa76b451aa300b38f0e8ae7ef8bd388ca910d7c4f3354ca57fb9d81a4ab1d2518ae18b43390adae2c1f365dd217d59a53f58bc159ff7ce7764b63973a7869f0722b0186ebd022e2de203c4d4adfd2ef97605808020675e2616a2a1fe396c0159d076af3af1bdd270e0c6fa23ec5f4915f2f61536aef3c9207818805598b845ea682401e07f413b8071f4688a810b94da6bd90ab45563dcb9472964f019e842c4ac192f119d453e873a64ce91d5045c208c42d1b3c20c6b496062c70ed5a0b0e39f2273834f83fdcfd7a0e7e6f083a3f7983a22b2e2aea034000cb4162a833a9c7a5dbac617977f2afca17d6a44866045f49db97ce78422b33e81fc9af1a5f31b665001136fcd4f38e56a1e90fa9c4bd079eb06f1ec9d0a708b7ce7a92acb661f6ee9a86b227b5916a1ef9d349984cdf0ebc135cd5d99ba7be2de76365c88e7075255053cede5337bbc2677ac862c9ef3ac6ae3562ef36baa38e43e53c93790549520e63bf5d91dc563ed6005ca7335739565c7a77e4f5c0c5d56e3df8452099de9cb0b3652151749c8c30c70f2be62898ec4adfc2d5c98334ca6b153a57a3728071380b931605583eaa54ecb656be06cc07d6e1d62ab3106b4d7cdd85b0c503d35a840240174a801f8b482d9a250ba36525d99298525a1cff9fc7ffdee1c9f426052b15299ee34c40f669da480e0fe9d238a8556c8769d042f5552c013db64154ac1b0d12cbfafb1f2989c3a36a2aface593b93cfeb7ed96c7089198901becf43119676b05269ed281b8e43809ea07401878717267696cdb9fe3eb08566309d293d1ea6f0a1a2f1a34cf332471c314834e6aed178792f57d910385c94202b0d4519ec92d4b8a309eb80c3bf20c4a1167c9cbf8e264966cf58906b8c3186bca1c8451d333f1d6ab1e0b9f8377416cfe4714e1af1a52fe8343e2b2eaf3e33fe8f3f2946f89781e44a70b9a790e78a30d519e5ed682d192981a2a06985bbf3b987720612a1ff1473bd7dfd8b01bc2ead2b9d5779b101874c90f249912fc9165947231a55d8f5f79ab9b3f101e353ff393ab2bf1f1d013ecb36585ecee955b9e4546dc012fae091ac03fd4d8d2ce42819d92206849bcb25baa56a3185e1b7b5a9b9d368c9b1e430dc168473e4f835132c8a1072ce8ad5f7513398b902f2472eb66ac8e1663ecb97156699c26938b5d1ccf9e4b0d97ef430a712416e04127edaf652052cc71055f97707040cc01c0e8fcb84d418e893b998e771cbd1b34dd26082adc6734c3a61fa1be41da66d221c470392c7d89878e214b1160616b7f991077f8ef178a47a131a6c2cf7a9657dc9572ec544791c73d52e0e8a655bba8708171f490307f7cf0e645392eef35b6fc2849315978541a2a92df950675355adcc2ae34092e93e8d6050fbd9cd5931fdda99bfc1c4dddc1f4bffd77be8a386986409c95f98ee85266f4befad90df2d4b0642033370595e4cfb39d7b2f4329d67bbc00d6ac4a71ed8499a147cec66f968836880863efcb94a80ff86d45dca9ad03f7db1f981804e6db8623eff8fcd23bfe1cf4db9ea6e13e15a2fed21e6b69d7e7c0a09c21a6a27e0eab52d3339ca0669ead9ba7e3cfafa4abc52f74201c2b42a9ec419a906370d90624e693a2d07074b32ad2ac79a99bc54ef384c433adfbfa9c1a475f9e179bb2c2951c968dcbfb257b8916505807b6695258e42e80292d95c5d278be52946c688d003c0c1f6096668d6ba059d90b6dc7ef204c942a0b38a7276e5c5fd612c4b4b6e425751ce9ec622f0c44a5d0889e1881fa2acad9df62cf5b0fad47652350b83f2edc67d8ca9bf279d308e2cf575d785f2c45884ac4b4a8a54f3e7c3e355fc3edf7b2957fddf3a6547c8dc6393c62a5e08937474a184bcbe35d8416b5ce71a5d9e4b2df591260c874940196d97112bc72f7bda2b273c04a0f828e01c7413c9a5d06d6c85cbf72369667003c72b2f7f1b5a1acdf327c72a12eabf89db7f0f5125f3806a738b2a46f8f0d30b9da825056c33948bd411c05735059e197c53b0114de17e7f2a87dc6db5205ef5de0c4a6e93b89ee01e3052679334d616e7b2b4e13f4704c691795e9df691d1103f1d9479179ac3fa5355384a763063f3b6c882974f87dfa4ef9b564951f00ba3bc43b38d42387f9feed6ff29f7fcafdee6695f6a22c4bb48ec2c1f2de941409ab3289c308622dd6ed20ebbab41498e334f5f9652f053c70f171a854cc714f57cefe79d24af4736416c214cbca57749d8083f2b8514306a89ba70f2dbcaa692a6c506c38303006b0e527fb398fb279c6f587d1c35d7b424dc298b051ffaa1bb9410a21de8a57438a8a1c0674d93d0e51e89a3d936843e1f310e3b88294a0f23821a9bc53b60e0c128201778a2e32dab9a3d3fe9042479a0354777934949a6f5bb55d4575ce2353bebacc9bd01e0151dacfce61548e5354276b266681daf3b04bc1907c527cf022d6dd380a0886a759386c29d1dc122587764ccc726f75d0a82b057e7264b1ddac6e1a193ab06f1ccbab482936dd5499332564ec4453af9ec2690d026877f07c71b014d1f66d1e25418107f1b3ca2a65fe758731d0e5d3ffa424ca15a7160003dd687b4eec5aa803f9e2af863638393e34aad41e4852229bf50cb06897a2998b61bccfd792bc10a1f4e72d6606ce4b2b7b214f9fb37072b4337a1f108aa9cba1e00a90bc559da95c59984088334c5c159bf9cb79b9d1ad088e0a5c7c8df7cbdb2d2d154c33618534a7e399db888023171f2908d62c9205fe2a41c31801a780b0784bc1eb7fd1b016fdeef88e5949c6a26fdf1d2df554c7fd922c7db427216ff06e666085648e57bd3b2979d2b22a8c80981d964811d821e097e4e290c18564f073a867f930ad7ae9d74e16ff3563bc7b878f6f18c1282eda190f1ae96b07d2253a4039a65dd17174254a960d9fd85a6ad50a05d570e9ec85e81a8ab664285d224bffd151a08fe59c1d55abb24d28db33af01b9e0ec079f600f475bb8f90dedea1fc8d0c2bd14308303956fbb3c296b74152f2474967d881bcd21d905dbcfa8b98779a8c6df8584d9d6540cf3a08935114d2f80f987dfc892b808b386f28a67fa30b11e08b4ebf82549d1bf496796f6ea020194f1f65c341297a9cc4593ab2b716530b75014c6552c2edaa8da17aa2275fb1963be66e13172127573a3c76570a96108a8c72a8a687b89683ba2cad9917670703f65620b953ca437e148fc45722361c5eb0164d7aeec2fde82fa8540266bc2aee7a63d2457134d1fbaecee82489545cd3504b77423d9325434ba1953ddda8cb2465013a855bc1f36fa373c7d9e1f509e37cdff2ab3cc90d27ebd6d26a75d680d39fb20f420cdefa8b1848c135f3b7261a5d643638a3220b8cf3104fad1f30e487895c85f865d617bcf85a7dab7725cc9d821ed83d0ff22ee96abd07f49242f68e6461c06c61003ceee62125a15c41c366590f6a4e0117018ffc7849b8eead9781a1ce25cf15d03a4454dbf3fd557ef82d5a7322d9e3d6da5b7c90af4ba385376b0173810632d94d130117e38000cb80417411ced37f4af4225ac9456f82ad69c45ea4a78bc7eb5c9fb8f801f59626421794cddd9c8b1f51730dbaa74c20df8110205ab7d874093c54de98079e98b140a6976442a1486e70c74ac37a26e55649291236d7cc3e7f02303b64c1a284214713ba6122edf94635dc814b3efc70553521e63c51ed77dafff1d3e8376b0708099cff9049408bdc1e315b56d00c854c7ecb67532ccb59dc59ba10896cf016ee6d5da32fbca3201dc40fb743e4e98f64b4505598448b0eb0d3800afb4502a4f9d9f5daf9bb137a531be21c0cf40fdbb9c68e2e10529c3bab062fd26d3909d5aae77b836a2c6f5944910933b97b1e633daf17ed1ffa90d5383709123f6176a72e0bcfbc7d1a7e4678ffe8aab843e042d2a9a4ae93895d5189fff9b6e6fb0dc0fd0bd06812c7edcb16b27c713d66b65172cfd972ced3a2417da922b354243485adf27038d2083a3a5834b914952a8525c95138c39df5c6d0f50bb072b886f39a9774dde76a98c73ce2c0c845d89ce9b407a4df99c436b358f152ae7d29600642a0a0df7e3246f67c93c5dea1f8160522eea56c492d301b7ddedee322955ea8c2f5b0269b523de5f62bc7d1f48d04f149393f96a43dc6549b905600933959399b77bc1e90394ccd5a74371801a3d995691502d996b3cb22b7231e626de48f4a9b74602788ae383cc79adf3a8141d4e8dbc85367ae456b8247dd125877d2ef4f54a26d6cb5c6c057684109253fe8e8ae7012fb310aceefcb3f4e0df3d093d7b9900975c358ecf248f7d27bf1727f956eeeffa88b17739e6f316539a8e1574b6dcffbf4d590f995207839095735ba40a7ba721373fc8b431a43f2d10aee425c7c3a903cc4236f55a092d4880822dc2021dbf1e76b423f1fb89aa3566497ed91f4d38194055e6699dfeb25b21e4ae2a7bb8b29b99654c84b1f832ad5075975538b8aa08e7b99379ff6af47bd29f27534fa157cf3343adf1098324afffb295fbd2506c302b108d1bbd37c7c9313df06260acd08cfdd7cf9172049ba75aad5b067021ce4dc6e6d9afb7f21a90399051ba34784cbf4a4a894716f0d82599dfd84f2f7275c6fcd5cb532ade1e82a6464327368e2f75a1b8215ef0e6a415fff5e721fab7cad41056439c6ff2ddf15b596c81441fd94cbe39fe73e9100f164855eb0cfbe8ae12be87818f8cc0b92c064539e08fcea5c8657dbfaa694d757d6d6fbad0bb82c0f762d785cc28b6552b7ef0ed121209b492519a209e229023dcaa5dac86ed338f15ba75fd8b1a0b5afc992e3b60a03f34267b1ef0c0c9fc605c772d7b582f43d031d7dd2052d54f81106099b6564987f327b2bc77e57cf2eb586c90c9d5aa4765f648b8ceb1742c855c6c4f233154f862b0ec79934caf0bd0897072c930415947c7a762323e17819a59d357ea9a14bd1ae62114ab3f24f3ef875d4803460f1ec81da0a9e37f18dca2420f8565b32289abc46b5c7586109ef70dc95c2a9ec664be1fee5f90277d21ae94463d75bdc88f938e71e7c4c38818ec946c909c53d046fa3f76050f72f9a0a481d5c206b2a2bb28102d5ea707fb9dd622849952ee8c2b261a119421db6ceee70042924062e0c0502e13139ad12ec33f6e807cc76088fa425d5c538cdcee7a46b68bac533337c64f11286e993bba7ff88bb17535f1768625333e86840909c704daf5da8b64be8c676bdcde9c8e4eb4d3854b153f8fca3d24c520de6b65a0eeee70352b9b1d0b44418bcaa079d4aedbfee0758455dd41aaa5ecc60073960e1fa7b390a21f3af2fcd9f4aab17ba0fbce25ae6cf5aa998231a6bfb363dcee54485b747a0b5c22ffb3048e2236b79a3c1ffabc616c8c0b82149d4756e78c6129899c31ce2663a8c00d71fab5274c860c3db54785ad9fad446775dd5d9563ee0408c4ca13adfc9cc8610a515f853d86f363834a5555e6a695b365535cec0c5cd54f00082af33b5a375a594ecf35e22209e21a677cec642d2df9247686a2ee3ce63cdce241860d70cae3f0a71b93ec1be4605c079e2c98e0546a3334b4d75a6528d9c17fd8040ff0d7423fd53e8845fe9007f8c7cf9b0414475d6998f071018c458c11791ae38826ed9d437b7041008f1d1ae1ab9bed8dae27fe9b0906ab4487c495f5f20c3c414eaa9202fa67a73d3b7bff2bdbf0dd49df3c89359b1322059c8d249c0c4c08ad417125221e41e734021298e4057d2a6de034513ee13349f1f1f67b211f8f9ee35f97885e02fb0d9b971d3c6476fd909e77772659dca590c6af45c7884d6a7bbd2be9e9b99e170103f194f9979c13ad2b2fad37db2e368c84c3fb4235043d957e5ed5033c0c9e2627123fa5c16f5212d10ad1b3ad8946d6114b9e34bf86f4fc6a9243b2bd266e2fa91b0665422bece7442ae7df0c1015a6f03e2da70834d4b7af38046bb16d0f5cc46fa0924662f1c786ae597b677e8054fd00e91cc99b4c938302c5e59ffc046f900f96d2e37e6b90ca6f790d7dc2224229de2a3b237b43c976adce3744f73c660612b19d98677f179e08f61e640e633b52bd04a7c29113259a77fe7e6e1fddb89d62a612b19ff4d1b49ee744b61fe14ba6bd5f9f0dbc98aff4999c73b692ec93f7cc5087089daf98492e1109facc10e7333eb44074c10fe35932714c53ba8d962a1efe5b3c9ffee296b790fb21fe2ab963056fc35010249544a9216e3338e48223bd032e73c50720ace92217e2de1f602011b738b49ac5f100f983c67c7d0d93608589e96c97bd4dc6a9a9fc70d5b1f60698653d771bb1e3474cfe9666a089f7aead43ce3e41fb9f9488e535d1a91553338fccfab82bc09138d5ca9f1b57d647841ce43c8087d5676b600d4b201689153ae95d2e79aa9f63f50bc461175a5cb1a81fe1b700cb9545f6628285938aa81de9b1be16fec737a5fc99b4779dd1d8bcff6a8115d3934cf082e810117a65362bdd23f38d6dc0f8bd1fd9a62e00e8f85e3bebc4027900a73a5b714df2579ced8a1928afeb6b1354ae972b7901e2de27e811c46a9fd6230aecc7fa39b6a5a6fa3721f2c55c5efc1b6221785bdcaf9ebd07cf382d4acd55a28ba6f787a75303decfaa4c65380182f62926947f5ef5dc1e77f830e33e37820ad0626802c306c0ae43e4b1dd6c3f512dea6804dce6981d5da08b08b9881c77c87e4d423bb4636bd4531adbf1a7317f3c719ddaf914423abe4381d69a11433647dd2a5db163db59e69c8cdd7ecd409ea8091378c5c2e9a66c0c1654b665b7c14fccd85c38822df60a6b241e702084cd593da5122411e9c3180955521bb14be28797e4a2f7237cfa951cb52e2f9dfa62e12a197954f268f90a2f7728d7d292ab426b66f35dfd7db6b342e6699ac37bd08076c2f7dfd5ad70e2a6d24bae6b554c3bc4d455eb3da747c46370e0d40035cd85feef3f4c56338826131df14599fe1c6c69b02701bdcf3abf62e87f5136e107e0d3bc83386a2ecaa2a3f5c7138b0d2e14c0514e2476a95da5b4993609e81e83b98d3ac79b200494933f545c62cf5482a97dbcd6c6a300f3eae2b36e0da7fcdced5f9cd1ce70cce33c69fb3d5d422ef50be0a242b5867dea32276e712882255ea426891e30f9ac780d7098399791c07b53cf6f8716fb6a1b40d9ffe4b7d9df3ffdfcd369f66fe3f352c2e2e83a9c1f876e71c2e631ce9882ed701a5a5eb15379bf21999c1d0f6ba84d4a73ef4b718a16dff433b94e01c671e5381013d9bf70bbb1e142a50cf1c89f68fb4b3f4fa49b5fa1d5d27f5322f4774fc854dbbe160f688d012d6604a981d8423a6db8d441ff9ff3624fef4c51c3f179c64ddb99a6a766f32aff90705626254c22ec075149e42ce3b900a4d7e48bc5dd7ca42547b11e1909ec2e5ee767542bcb5456270e6658dc610f2b1677f4cf390af63377f3ddc58c8fd8d3cab42e348a0c91ea73aa1430eda9e18526a294af42c21d0653a40ec5bf8b25afce43a54500826c631d1a82e2050c1b027a44cbb7c6265999274ead5c1eeccc7dc662c2818033d4281006624b63d7fbd8949406d925001d490e3ea01db49a7ed5f96ab841fa7c62db84e5130becc85da9dd7a61fd72c59166efb0eedce876408386a018bb8b35de4f3fcf98acd62dae3076b51189b69eaa4dfcce233cb1c3f5654e1aa1774364aaede6a40bda521b179ca4840e282861d739db231611ac12e3a379a5519d9ef72201f6303f0b910bc2abee76b54ec4226c4ad15fdb8c5973e9182d428ea0dc3c4f043a8adfe66b08c5dd2902bba907f6a1472cad38733b6348b95d6fd45af2f42d345607a917d24f12ffac3931c799f24b999c18980aaa24ec2ebb86a7b2831cc073a3fa9023ba818d8715b503794b5c13f297b256b17880b0af30220405b4de1a5c7fbc21851943f04faf2fdd4f00120ab5bd25e3e0f56efd2dbddbb0d9a82cc919bcef1c970a9499bbb576f867748c5bcf5127cdfc9066ef6430cda151f37f654f0f70656a3d9e9cb3d82f9dc4b824ed409d0ae6f9bac6588c27765da1c95b7d0dd9ff13fb23793dbabf0b6c523c4b1b0bac4cec187d2121dee0cf046a897285103b33341a0dc169c033f5137c60ade5c1bc6b64425f379610f60f592bcaa0d6fd509a26c6a41aa17ffb72db2d417bc450818e2aa3893ffff4276a7d8278e32c47df1a545f0382c305df988c5fcf83fbe5afed8e5503a21a4a63b19baa1b11bfbf031f4d777e9503108a0a245373602fbac7fa85e5cdd106402a105a143a0963424c0ba882ba0d5d041322fe2e918c90feaf692e8d611f8ae5ed88739c4071b2f6f787925b0167dc2524c6efc8ffc496a7f431b49a168b049fe4a12901b0502b1e428b83de2d1aeee4be9b06fb8b2eb5a3434df2e71525962df5acdc00166acdacf9843d4b244d1ecd25ee007b1a876c03be4d1167f7e2434d4e0ae1f51a74b90d9b4fbf5c9f8a5bf3a5eedcab5fbbc24b6238694708b3c4f4b066b5eca34891532cd0ec87ac27c5e0db489fb0f5592563263be6331dd10fee7fdcefb8cae13a541e3321693ce9cd3e31b44a018f3483bb8d1ff9bc8570708ee5b5e9ba58ff425e55f36f01eb8684c7d27de7991d7a9bbd4afcc6ea881b3cec61f4f8e9ed2a20a5d0ee45ce5c41dc1972e4bd0b1eeaf0436842171e12dc456b0f521701313d1c1c17a27de4fc336b79ae57798c3525918c88fa8c006a6bf447e06710527d38435699a8ab077cddfadc9d4139e10dc355611af0765b1846f928736eb0b5c5417ada77d94b1fb7ba2a8cc817beedc337ee585111f8ecb6193372d21dc268e0b1d275539d40f0d297820d31acd3603275be5ae64573fed971316abda66afe948654ad7d103bf717987571eed5047b8f3fe6a98e88e6cb7db7deea8989a75f7846dceb86381465e5c207aaa903463ee982742150672f95eff799f22d2ac1d3dc348b53d01d0db1a139ae2ed1578875785bfe620d1e0f94ac6f237ee0de898d621792204ac24305ac51d9619fdd0a85598d72a61b200bcf77271e05a58c70bf8a925185738b8d17108a41769f843d8b48679d2b11d791e3ccc37ec88cb5bee5058bd502fd73f5760a7b4b06ce9c26b322cf40f9652c1228d7ce02b5bdebdb520b53cf7fa0ad3c5ec5ec409e27dd45c9f507bf5499f355483f44bb6d2dd50d99ffbc7e4064490480206f780cede53a50a2f76ef09cafb6048705be5c7bdd324f24d38fc116875681f56f94029e712435a5bcd5fef4483a780492226e0802e7bca352fd35432919cf7f5ec79248a5fc2e9505bb034aea70485c1145b01405a058c5aaf8817d93c081cd691cc14ad833b04aa52e26ed8e1787a6cde0ae37077deb135805f33d6d5641bf8cc84a9c460ebbe086807c24cd2d48bf76a59a16f40af206c916192fddf77a3bf97ff35876137c71824842a9b90b8b20545048ccbfdae6e2a8542502da99c955801d4133a474ecef8dce8a31e9faa4b376c51ab333e89da2900eb00dc50691dc6f87d887f5df1c3b2b952611bb8a3b8edc6dcc70b40fc75ddcf0833a1af79143a411c2ded66ecb5c677f2447a066fafdce6075e2b89e81cca48ae416855922dcd980922cd1050f370a4b73b5d34bba46271cf42badf60dee0dc00d1fa696e068d16576725d85130aae422ff9e6be7f2ef967a34e3258af879d0c1b66ad1d4a7818f7b81591d262b73cb1c98b01061b060d389e932bbaf919b691bacef3a5af6d079e787446fced00eddbcf55698d64bd6c0328c867310e2a58f462078f214c2eceb6bce86191e06a53f1133fdbd95a8e4abe1f7ad87a84b349b14e1c1c89fa7ada8357dc4772b71948e578a9287a85f7b46a5cf3e5620066fffc1db130a1f94467e9371c15250c3e1af33c91cb7703c88ba73dc839f2bc86882a63a09b3f1facc311df766bcc0bb21298840d65b7500376627407239ff7dd88c0efc5b484fe010b099c17e9f7ae3de2f17e3e83a5e286e3f5a86a6bb42ab7eb59cedf6c26d562580768434e282e0a9edc17f12b8a1b0eb84e816f824c0244a05bfc80fb5ef90192e16c11d52fc9e257e2d690c97820cd4831f4ec117087ca93d5853ec8df80e470e96b83dfa8ab18d0466d2381e6cc165a3dbd51e9bee25f3137d972c0b41ede4d8c1ca8d7d0ba6bf3355dc3839422c02aa7e3f443ef461322f063ab1b6e0e23636fb63443c78e9564238ca4b59322116335fad7b55aa7c8007c4968e594b9dcca5def51b6660974797439fd390a4d36413cd25aebf54f64da6c5601a8a7cb14f0dc599a00cd380750796bb89351fe32d8cde975c963a37fe591f8eb4942466159789d5e78b21bac4e43ba0029551bf9ef804ff3f5efe99e182c9f9a8be2257d48d0b625227b52eeb6b9c7690b41cd5cbda8bf73f5d232ab003c6dd072284b222c2313bf3ff29bf20eae3c62fe35fe271eb04670b7f20d8c3e016b525f51366659744ccdf1fe31bcf342627b147bd4ef58e310bbd352b123e1a36c1844a8186e609399f4fcb1b31e8f5eeeb3bd5c272550e658d6bed85cef819e47e9e414e76f8981b9de447deb550dfd2a3856416694d25dbc283f34d668a2bd9d7cdd5bf9095aa3b8a050a2a296056fb0f68ce2d8c4f53c37309f79aecc91a19c2096a3d8e4455e203f13337d06e732c9877052a7df955559a1b0b1605308c6c3adaba4fbf4c9ca59f5164e5f8a98189b39e2348334241eaf296487bfed5f848ba19eaee6872116252732c8eed292ac8444c771d0642ba0af12507488d1500b9e60fa58c5681a731fc5182051121e264da9936ee9055b8dddc299bcb522dbb56a5cc26d2cba85c478b0bfecadde0c864a3b3e1cfade213e483f6c01de0c4b15c59b09b33be0c38c8888d05bdf93b32584bdbd30140412a5ef4844391605e128d0fc65ef5d218937bea6eed87d0aa98d1d6bbfe84e458b8bf68e1eab713360aa9d29dcc46d62edbdc717534e32bd47e3f54bc504951902ee0be796a4944d52afda7292d2db7ac404455c30b6c1af2332ca00ea3c7daea97769d1d6d27fe58c34f8ebc35aadbeab9d1c04840d6264bfc7235eb997d4733d6329dfdbe603abd57dc6336c479ca4d820403eb04aac6020e9a5064cf653e4291bd09433ab5c9c26c746652062db3646af2266dcd32a1f6cabb17ec5bad68319c9767166e1590028562be9ad157229eb29b704f3c7dcdee164e30c1d432fdab13e822993bf3d82f01a6c73f387ae2f6f4f349bfc8d2f9a990e1d741344b2cb962e90004044be4f104d7fd3979476d0f70405aba2a0ed87c28983869dcd350bcc904527b48d8729519db5cd5d6032b74936669b0524ca018459aadbdeb3e7830697603b4260b0b94b3ea048aaaea3aca5500e3fcb0696234238bcbe5625665a0288f45c0784466de3e9db1ba5a216b28753ea6a4b617a39a8e9d398a4131e3281b3f97d9049e399abcb45d11438a1318bd283ce13ca636e9656ffab7a7b17714d2e054184a69db4b3123293dd085a8436522a4112fcc62e603a08380318593fd28ac5696346c8575e0035e39ec4892a1513a8a1af31b388321b53fff1babaf53f413a3253d18be08941e905be95f829575cf33b5eea85b43d0276399d0eff544fb4515a0c1350b20e2de63b6af91f67cf37e3da59331822e0f8c7172ed5f7a497cdf8a138d550cad8223290f40a66e0f39736a23c1975daf8119ea333723f90964854836ffabfc1fa744d7cdb1134a13582535016fbbe9d09c155e9259cc0a904526f3663528d152c097678068c91c4f3e868bda0f4a99cea7174069214eff81649bd4eeffb9817a43fa9b75e451766bf4b4992548e3b234319f22bce863a39e6596f12541d4b34a8132218a496a2957ef8b16ad2f8cf08f21ee4f8ed2778ac8540839b7c7ac77d03afb5218322676923fd1751b4507a2cc30ff687c2ef0be0abad5fdf1b82908fcb80badbd9c044867ee3d96deed78cfd6f86d6eb4a43d552cc33626feb4cbb4e2be8cea29026328a338f6bc750fd16c5431713f6bdbb2dec13f3734f6a94298a010f801eb53a554953b019387d527e2e4c4062dec781878db48ba62fc4cc09de4092a9998655f6c47f8ec1154587c6568b51d53cf919f5847c27d817fce1cb6d775f6bf79679a0a7f19624b3f60d4ea8591f9b208feece171ceef1fb47921e2f2260ff5ff6ccf4e4bf2a04fc4f761c0a945a4360d1a029c5e8f93cef712935ce2d10f67b0bcc1e89550316855b00e82225c37c36c93cefc177f6f7adbb48fca8cf53a801f47715378c118ec86e331c7531db125fc6c09f37fb6a111df0b24b21f58a98574038624562d4c3ba474443268d83200c06ddbc21e8583e7523f78f9251961d62a02f25c8123a74bab94a7d2ac3893946174af5b96c444a5ee9270b74aded7b08ac7d8a5f45a54910aab60d5f059f11c5f61f77f612a2c82d2a89eb6f25b19d68c51ae3e1d44ead7c1ca027f0ed28329634be645932e1ab7c321bf27b8cfaf9aed30f2cbf5ee4478952b2074e4b64cfac3a17618a69de47892e81023b97caf77e33c4db9048dfac1a09b96bef130eb3973332837cfb7a78f7ceffbef0a1fa9fb5c09c4d73747897cec36e110d158f66eac7f84f6ae00ef1c236ff854941cf613608f7a04f2756afa496631e1c9d5e720fceb5b656a61352229a3cb45505af6c47b4978dcbeca765cb383957f31c2adc4bb197f751acffbb982fd745c6403766d9b04bf6a1ed5343bae4ac8db3c403ecf79eb594d504b5aba1d364150faaa21a9c4b50b5a55c8a7286ed1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottomcat-9.0.115-150200.102.1.src.rpmtomcat-implementation-javadoctomcat-javadoc@    javapackages-filesystemrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1tomcat-implementation-javadoc4.14.1ii_i hhP@hChZ@hK@hhg`@gw@gw@g@r@f@fA@fffeZeeПe@ee@e@e)e_>e)1@e 0@e 0@e;eRdld0d?@cc@c@c{h@cQ8@bγbbN@b!b@aaaA@a@a{@azamaamaama`X`Q@`OL@`OL@`3__F@_@___FN_!d^@^^_^@^Y^U @^1s^%@^!^@]҇]Γ@]4@]?]V]@\\\r@\k\j@\Yz\X)@\LK\?\8@\'a\[v[u[@[@[ug@ZZ_:Z!D@Z@YYYY:Y@Y@XZnW@WiW|W'A@WWKV@V2V`VA@UlI@UlI@UlI@UQU hU hTTи@ricardo.mestre@suse.commichele.bussolotto@suse.comricardo.mestre@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comfstrba@suse.commichele.bussolotto@suse.comricardo.mestre@suse.comricardo.mestre@suse.comricardo.mestre@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comricardo.mestre@suse.comricardo.mestre@suse.comdcermak@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comricardo.mestre@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.comfstrba@suse.comfstrba@suse.commichele.bussolotto@suse.comolaf@aepfle.demichele.bussolotto@suse.comfstrba@suse.commichele.bussolotto@suse.commichele.bussolotto@suse.comwittemar@googlemail.comwittemar@googlemail.comwittemar@googlemail.comamehmood@suse.comamehmood@suse.comwittemar@googlemail.comwittemar@googlemail.comwittemar@googlemail.comamehmood@suse.commalbu@suse.commalbu@suse.commalbu@suse.comjengelh@inai.defstrba@suse.commalbu@suse.comfstrba@suse.commalbu@suse.comjavier@opensuse.orgmalbu@suse.commalbu@suse.comfstrba@suse.commalbu@suse.comfstrba@suse.commalbu@suse.commalbu@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comfstrba@suse.comdimstar@opensuse.orgmalbu@suse.commalbu@suse.comfstrba@suse.commalbu@suse.commalbu@suse.commalbu@suse.commalbu@suse.comfstrba@suse.commalbu@suse.commalbu@suse.comecsos@opensuse.orgfstrba@suse.comsean@suspend.netmalbu@suse.comecsos@opensuse.orgmalbu@suse.commalbu@suse.commalbu@suse.defstrba@suse.commalbu@suse.comrbrown@suse.commalbu@suse.comecsos@opensuse.orgfstrba@suse.comecsos@opensuse.orgdziolkowski@suse.commalbu@suse.comastieger@suse.comtchvatal@suse.commalbu@suse.commalbu@suse.comdmacvicar@suse.dejcnengel@gmail.comtchvatal@suse.comdmacvicar@suse.dedmacvicar@suse.detchvatal@suse.comdmacvicar@suse.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comwittemar@googlemail.combmaryniuk@suse.com- Update to Tomcat 9.0.115 * Fixed CVEs: + CVE-2025-66614: client certificate verification bypass due to virtual host mapping (bsc#1258371) + CVE-2026-24733: improper input validation on HTTP/0.9 requests (bsc#1258385) + CVE-2026-24734: certificate revocation bypass due to incomplete OCSP verification checks (bsc#1258387) * Catalina + Fix: 69623: Additional fix for the long standing regression that meant that calls to ClassLoader.getResource().getContent() failed when made from within a web application with resource caching enabled if the target resource was packaged in a JAR file. (markt) + Fix: Pull request #923: Avoid adding multiple CSRF tokens to a URL in the CsrfPreventionFilter. (schultz) + Fix: 69918: Ensure request parameters are correctly parsed for HTTP/2 requests when the content-length header is not set. (dsoumis) + Update: Update the minimum and recommended versions for Tomcat Native to 1.3.4. (markt) + Add: Add a new ssoReauthenticationMode to the Tomcat provided Authenticators that provides a per Authenticator override of the SSO Valve requireReauthentication attribute. (markt) + Fix: Ensure URL encoding errors in the Rewrite Valve trigger an exception rather than silently using a replacement character. (markt) + Fix: 69871: Increase log level to INFO for missing configuration for the rewrite valve. (remm) + Fix: Add log warnings for additional Host appBase suspicious values. (remm) + Fix: Remove hard dependency on tomcat-jni.jar for catalina.jar. org.apache.catalina.Connector no longer requires org.apache.tomcat.jni.AprStatus to be present. (markt) + Add: Add the ability to use a custom function to generate the client identifier in the CrawlerSessionManagerValve. This is only available programmatically. Pull request #902 by Brian Matzon. (markt) + Fix: Change the SSO reauthentication behaviour for SPNEGO authentication so that a normal SPNEGO authentication is performed if the SSL Valve is configured with reauthentication enabled. This is so that the delegated credentials will be available to the web application. (markt) + Fix: When generating the class path in the Loader, re-order the check on individual class path components to avoid a potential NullPointerException. Identified by Coverity Scan. (markt) + Fix: Fix SSL socket factory configuration in the JNDI realm. Based on pull request #915 by Joshua Rogers. (remm) + Update: Add an attribute, digestInRfc3112Order, to MessageDigestCredentialHandler to control the order in which the credential and salt are digested. By default, the current, non-RFC 3112 compliant, order of salt then credential will be used. This default will change in Tomcat 12 to the RFC 3112 compliant order of credential then salt. (markt) * Cluster + Add: 62814: Document that human-readable names maybe used for mapSendOptions and align documentation with channelSendOptions. Based on pull request #929 by archan0621. (markt) * Clustering + Fix: Correct a regression introduced in 9.0.109 that broke some clustering configurations. (markt) * Coyote + Fix: Prevent concurrent release of OpenSSLEngine resources and the termination of the Tomcat Native library as it can cause crashes during Tomcat shutdown. (markt) + Fix: Avoid possible NPEs when using a TLS enabled custom connector. (remm) + Fix: Improve warnings when setting ciphers lists in the FFM code, mirroring the tomcat-native changes. (remm) + Fix: 69910: Dereference TLS objects right after closing a socket to improve memory efficiency. (remm) + Fix: Relax the JSSE vs OpenSSL configuration style checks on SSLHostConfig to reflect the existing implementation that allows one configuration style to be used for the trust attributes and a different style for all the other attributes. (markt) + Fix: Better warning message when OpenSSLConf configuration elements are used with a JSSE TLS implementation. (markt) + Fix: When using OpenSSL via FFM, don't log a warning about missing CA certificates unless CA certificates were configured and the configuration failed. (markt) + Add: For configuration consistency between OpenSSL and JSSE TLS implementations, TLSv1.3 cipher suites included in the ciphers attribute of an SSLHostConfig are now always ignored (previously they would be ignored with OpenSSL implementations and used with JSSE implementations) and a warning is logged that the cipher suite has been ignored. (markt) + Add: Add the ciphersuite attribute to SSLHostConfig to configure the TLSv1.3 cipher suites. (markt) + Add: Add OCSP support to JSSE based TLS connectors and make the use of OCSP configurable per connector for both JSSE and OpenSSL based TLS implementations. Align the checks performed by OpenSSL with those performed by JSSE. (markt) + Add: Add support for soft failure of OCSP checks with soft failure support disabled by default. (markt) + Add: Add support for configuring the verification flags passed to OCSP_basic_verify when using an OpenSSL based TLS implementation. (markt) + Fix: Fix OpenSSL FFM code compatibility with LibreSSL versions below 3.5. (remm) + Fix: Prevent concurrent release of OpenSSLEngine resources and the termination of the Tomcat Native library as it can cause crashes during Tomcat shutdown. (markt) + Fix: Don't log an incorrect certificate KeyStore location when creating a TLS connector if the KeyStore instance has been set directly on the connector. (markt) + Fix: HTTP/0.9 only allows GET as the HTTP method. (remm) + Add: Add strictSni attribute on the Connector to allow matching the SSLHostConfig configuration associated with the SNI host name to the SSLHostConfig configuration matched from the HTTP protocol host name. Non matching configurations will cause the request to be rejected. The attribute default value is true, enabling the matching. (remm) + Fix: Graceful failure for OCSP on BoringSSL in the FFM code. (remm) + Fix: 69866: Fix a memory leak when using a trust store with the OpenSSL provider. Pull request #912 by aogburn. (markt) + Fix: Fix AJP message length check. Pull request #916 by Joshua Rogers. (remm) * Jasper + Fix: 69333: Correct a regression in the previous fix for 69333 and ensure that reuse() or release() is always called for a tag. (markt) + Fix: 69877: Catch IllegalArgumentException when processing URIs when creating the classpath to handle invalid URIs. (remm) + Fix: Fix populating the classpath with the webapp classloader repositories. (remm) + Fix: 69862: Avoid NPE unwrapping Servlet exception which would hide some exception details. Patch submitted by Eric Blanquer. (remm) * Jdbc-pool + Fix: 64083: If the underlying connection has been closed, don't add it to the pool when it is returned. Pull request #235 by Alex Panchenko. (markt) * Web applications + Fix: Manager: Fix abrupt truncation of the HTML and JSON complete server status output if one or more of the web applications failed to start. (schultz) + Add: Manager: Include web application state in the HTML and JSON complete server status output. (markt) + Add: Documentation: Expand the documentation to better explain when OCSP is supported and when it is not. (markt) * Websocket + Fix: 69920: When attempting to write to a closed Writer or OutputStream obtained from a WebSocket session, throw an IOException rather than an IllegalStateExcpetion as required by Writer and strongly suggested by OutputStream. (markt) * Other + Add: Add property "gpg.sign.files" to optionally disable release artefact signing with GPG. (rjung) + Add: Add test.silent property to suppress JUnit console output during test execution. Useful for cleaner console output when running tests with multiple threads. (csutherl) + Update: Update the internal fork of Commons Pool to 2.13.1. (markt) + Update: Update the internal fork of Commons DBCP to 2.14.0. (markt) + Update: Update Commons Daemon to 1.5.1. (markt) + Update: Update ByteBuddy to 1.18.3. (markt) + Update: Update UnboundID to 7.0.4. (markt) + Update: Update Checkstyle to 12.3.1. (markt) + Add: Improvements to French translations. (markt) + Add: Improvements to Japanese translations provided by tak7iji. (markt) + Add: Improvements to Chinese translations provided by Yang. vincent.h and yong hu. (markt) + Update: Update Tomcat Native to 1.3.5. (markt) + Add: Add test profile system for selective test execution. Profiles can be specified via -Dtest.profile= to run specific test subsets without using patterns directly. Profile patterns are defined in test-profiles.properties. (csutherl) + Update: Update file extension to media type mappings to align with the current list used by the Apache Web Server (httpd). (markt) + Update: Update Commons Daemon to 1.5.0. (markt) + Update: Update Byte Buddy to 1.18.2. (markt) + Update: Update Checkstyle to 12.2.0. (markt) + Add: Improvements to Spanish translations provided by White Vogel. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations provided by tak7iji. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.11.0. (markt) + Update: Update to Byte Buddy 1.17.8. (markt) + Update: Update to Checkstyle 12.1.1. (markt) + Update: Update to Jacoco 0.8.14. (markt) + Update: Update to SpotBugs 4.9.8. (markt) + Update: Update to JSign 7.4. (markt) + Update: Update Maven Resolver Ant Tasks to 1.6.0. (rjung) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations provided by tak7iji. (markt)- make catalina.sh %config(noreplace) (bsc#1253460)- Update to Tomcat 9.0.111 * Fixed CVEs: + CVE-2025-55752: directory traversal via rewrite with possible RCE if PUT is enabled (bsc#1252753) + CVE-2025-55754: Improper Neutralization of Escape, Meta, or Control Sequences vulnerability in Apache Tomcat (bsc#1252905) + CVE-2025-61795: temporary copies during the processing of multipart upload can lead to a denial of service (bsc#1252756) * Catalina + Fix: Log warnings when the SSO configuration does not comply with the documentation. (remm) + Update: Deprecate the RemoteAddrFilter and RemoteAddValve in favour of the RemoteCIDRFilter and RemoteCIDRValve. (markt) + Fix: 69837: Fix corruption of the class path generated by the Loader when running on Windows. (markt) + Fix: Reject requests that map to invalid Windows file names earlier. (markt) + Fix: 69839: Ensure that changes to session IDs (typically after authentication) are promulgated to the SSO Valve to ensure that SSO entries are fully clean-up on session expiration. Patch provided by Kim Johan Andersson. (markt) + Fix: Fix a race condition in the creation of the storage location for the FileStore. (markt) + Update: Change the digest used to calculate strong ETags (if enabled) for the default Servlet from SHA-1 to SHA-256 to align with the recommendation in RFC 9110 that hash functions used to generate strong ETags should be collision resistant. (markt) + Fix: Correct a regression in the fix for 69781 that broke FileStore. (markt) + Fix: HTTP methods are case-sensitive so always use case sensitive comparisons when comparing HTTP methods. (markt) + Fix: 69814: Ensure that HttpSession.isNew() returns false once the client has joined the session. (markt) + Fix: Further performance improvements for ParameterMap. (jengebr/markt) + Fix: Fix a case-sensitivity issue in the trailer header allow list. (markt) + Fix: Be proactive in cleaning up temporary files after a failed multi-part upload rather than waiting for GC to do it. (markt) + Code: Remove a number of unnecessary packages from the catalina-deployer.jar. (markt) + Fix: 69781: Fix concurrent access issues in the session FileStore implementation that were causing lost sessions when the store was used with the PersistentValve. Based on pull request #882 by Aaron Ogburn. (markt) + Fix: Fix handling of QSA and QSD flags in RewriteValve. (markt) * Cluster + Fix: Prevent the channel configuration (sender, receiver, membership service) from being changed unless the channel is fully stopped. (markt) + Fix: Handle spurious wake-ups during leader election for NonBlockingCoordinator. (markt) + Fix: Handle spurious wake-ups during sending of messages by RpcChannel. (markt) * Coyote + Fix: 69848: Fix copy/paste errors in 9.0.110 that meant DELETE requests received via the AJP connector were processed as OPTIONS requests and PROPFIND requests were processed as TRACE. (markt) + Update: Add specific certificate selection code for TLS 1.3 supporting post quantum cryptography. Certificates defined with type MLDSA will be selected depending on the TLS client hello. (remm) + Update: Add groups attribute on SSLHostConfig allowing to restrict which groups can be enabled on the SSL engine. (remm) + Add: Optimize the conversion of HTTP method from byte form to String form. (markt) + Fix: Store HTTP request headers using the original case for the header name rather than forcing it to lower case. (markt) + Fix: 69762: Additional overflow fix for HPACK decoding of integers. Pull request #880 by Chenjp. (markt) + Fix: Ensure keys are handed out to OpenSSL even if PEMFile fails to process it, with appropriate logging. (remm) + Fix: Add new ML-DSA key algorithm to PEMFile and improve reporting when reading a key fails. (remm) + Fix: Fix possible early timeouts for network operations caused by a spurious wake-up of a waiting thread. Found by Coverity Scan. (markt) * Web applications + Fix: Documentation. Clarify the purpose of the maxPostSize attribute of the Connector element. (markt) + Fix: Avoid NPE in manager webapp displaying certificate information. (remm) * Websocket + Fix: 69845: When using permessage-deflate with Java 25 onwards, handle the underlying Inflater and/or Deflater throwing IllegalStateException when closed rather than NullPointerException as they do in Java 24 and earlier. (markt) * Other + Update: Update Byte Buddy to 1.17.7. (markt) + Update: Update Checkstyle to 11.1.0. (markt) + Update: Update SpotBugs to 4.9.6. (markt) + Update: Update Jsign to 7.2. (markt) + Add: Improvements to Russian translations provided by usmazat. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations provided by tak7iji. (markt) + Update: Minor refactoring in JULI loggers. Patch provided by minjund. (schultz) + Code: Review logging and include the full stack trace and exception message by default rather then just the exception message when logging an error or warning in response to an exception. (markt) + Add: Add escaping to log formatters to align with JSON formatter. (markt) + Update: Update Checkstyle to 11.0.0. (markt)- Do not use update-alternatives- Update to Tomcat 9.0.108 * Fixed CVEs: + CVE-2025-48989: Update the HTTP/2 overhead documentation (bsc#1243895) * Catalina + Fix: Fix bloom filter population for archive indexing when using a packed WAR containing one or more JAR files. (markt) * Coyote + Fix: 69748: Add missing call to set keep-alive timeout when using HTTP/1.1 following an async request, which was present for AJP. (remm/markt) + Fix: 69762: Fix possible overflow during HPACK decoding of integers. Note that the maximum permitted value of an HPACK decoded integer is Integer.MAX_VALUE. (markt) + Fix: Update the HTTP/2 overhead documentation - particularly the code comments - to reflect the deprecation of the PRIORITY frame and clarify that a stream reset always triggers an overhead increase. (markt) * Cluster + Update: Add enableStatistics configuration attribute for the DeltaManager, defaulting to true. (remm) * Web applications + Fix: Manager and Host Manager. Provide the Manager and Host Manager web applications with a dedicated favicon file rather than using the one from the ROOT web application which might not be present or may represent something entirely different. Pull requests #876 and #878 by Simon Arame. * Other + Update: Update Checkstyle to 10.26.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt)- Update to Tomcat 9.0.107 * Fixed CVEs: + CVE-2025-52520: Align size tracking for multipart requests with FileUpload's use of long. (bsc#1246388) + CVE-2025-52434: Improve stability of APR/native connector. (bsc#1246389) + CVE-2025-53506: Apply the initial HTTP/2 connection limits earlier. (bsc#1246318) * Catalina + Fix: Ensure application configured welcome files override the defaults when configuring an embedded web application programmatically. (markt) + Fix: Allow the default servlet to set the content length when the content length is known, no content has been written and a Writer is being used. (markt) + Fix: 69717: Correct a regression in the fix for CVE-2025-49125 that prevented access to PreResources and PostResources when mounted below the web application root with a path that was terminated with a file separator. (remm/markt) + Fix: 69731: Fix an issue that meant that the value of maxParameterCount applied was smaller than intended for multipart uploads with non-file parts when the parts were processed before query string parameters. (markt) + Fix: Align size tracking for multipart requests with FileUpload's use of long. (schultz) * Coyote + Fix: 69710: Increase the default for maxPartCount from 10 to 50. Update the documentation to provide more details on the memory requirements to support multi-part uploads while avoiding a denial of service risk. (markt) + Fix: 69713: Correctly handle an HTTP/2 data frame that includes padding when the headers include a content-length. (remm/markt) + Fix: Correctly collect statistics for HTTP/2 requests and avoid counting one request multiple times. Based on pull request #868 by qingdaoheze. (markt) + Fix: Fix JMX value for keepAliveCount on the endpoint. Also add the value of useVirtualThreads in JMX. (remm) + Fix: Improve stability of APR/native connector. (markt) + Fix: 69728: Remove incorrect warning when HTTP/2 is used with optional certificate verification and improve the warnings when a web application tries to use CLIENT-CERT with either HTTP/2 or a JSSE implementation of TLS 1.3. (markt) + Fix: When setting the initial HTTP/2 connection limit, apply those limits earlier. (markt) * Jasper + Code: Remove IMPL_OBJ_START from EL grammar for IDENTIFIER. (markt) + Code: Remove the INSTANCEOF and FUNCTIONSUFFIX definitions from the EL grammar as both are unused. (markt) * Web applications + Add: Documentation. Provide more explicit guidance regarding the security considerations for enabling write access to the web application via WebDAV, HTTP PUT requests or similar. (markt) + Add: Documentation. Add a section on reverse proxies to the security considerations page. (markt) * Other + Update: Update UnboundID to 7.0.3. (markt) + Update: Update Checkstyle to 10.25.1. (markt) + Update: Improvements to French translations. (remm) + Update: Improvements to Japanese translations provided by tak7iji. (markt)- Update to Tomcat 9.0.106 * Fixed CVEs: + CVE-2025-46701: refactor CGI servlet to access resources via WebResources (bsc#1243815) + CVE-2025-48988: limits the total number of parts in a multi-part request and limits the size of the headers provided with each part (bsc#1244656) + CVE-2025-49125: Expand checks for webAppMount (bsc#1244649) * Catalina + Add: Support for the java:module namespace which mirrors the java:comp namespace. + Add: Support parsing of multiple path parameters separated by ; in a single URL segment. Based on pull request #860 by Chenjp. + Add: Support for limiting the number of parameters in HTTP requests through the new ParameterLimitValve. The valve allows configurable URL-specific limits on the number of parameters. + Fix: 69699: Encode redirect URL used by the rewrite valve with the session id if appropriate, and handle cross context with different session configuration when using rewrite. + Add: #863: Support for comments at the end of lines in text rewrite map files to align behaviour with Apache httpd. Pull request provided by Chenjp. + Fix: 69706: Saved request serialization issue in FORM introduced when allowing infinite session timeouts. + Fix: Expand the path checks for Pre-Resources and Post-Resources mounted at a path within the web application. + Fix: 69588: Enable allowLinking to be set on PreResources, JarResources and PostResources. If not set explicitly, the setting will be inherited from the Resources. + Add: 69633: Support for Filters using context root mappings. + Fix: #843: Off by one validation logic for partial PUT ranges and associated test case. Submitted by Chenjp. + Refactor: Replace the unused buffer in org.apache.catalina.connector.InputBuffer with a static, zero length buffer. + Refactor: GCI servlet to access resources via the WebResource API. + Fix: 69662: Report name in exception message when a naming lookup failure occurs. Based on code submitted by Donald Smith. + Fix: Ensure that the FORM authentication attribute authenticationSessionTimeout works correctly when sessions have an infinite timeout when authentication starts. + Add: Provide a content type based on file extension when web application resources are accessed via a URL. * Coyote + Refactor: #861: TaskQueue to use the new interface RetryableQueue which enables better integration of custom Executors which provide their own BlockingQueue implementation. Pull request provided by Paulo Almeida. + Add: Finer grained control of multi-part request processing via two new attributes on the Connector element. maxPartCount limits the total number of parts in a multi-part request and maxPartHeaderSize limits the size of the headers provided with each part. Add support for these new attributes to the ParameterLimitValve. + Refactor: The SavedRequestInputFilter so the buffered data is used directly rather than copied. * Jasper + Fix: 69696: Mark the JSP wrapper for reload after a failed compilation. + Fix: 69635: Add support to javax.el.ImportHandler for resolving inner classes. + Add: #842: Support for optimized execution of c:set and c:remove tags, when activated via JSP servlet param useNonstandardTagOptimizations. + Fix: An edge case compilation bug for JSP and tag files on case insensitive file systems that was exposed by the test case for 69635. * Web applications + Fix: 69694: Improve error reporting of deployment tasks done using the manager webapp when a copy operation fails. + Add: 68876: Documentation. Update the UML diagrams for server start-up, request processing and authentication using PlantUML and include the source files for each diagram. * Other + Add: Thread name to webappClassLoader.stackTraceRequestThread message. Patch provided by Felix Zhang. + Update: The internal fork of Apache Commons FileUpload to 1.6.0-RC1 (2025-06-05). + Update: EasyMock to 5.6.0. + Update: Checkstyle to 10.25.0. + Fix: #858: Extend improvements to CVE-2024-56337 protection to service.bat. Pull request provided by Markus Hoffrogge. + Fix: Use the full path when the installer for Windows sets calls icacls.exe to set file permissions. + Update: Improvements to Japanese translations provided by tak7iji. + Update: Jacoco to 0.8.13. + Code: Explicitly set the locale to be used for Javadoc. For official releases, this locale will be English (US) to support reproducible builds. + Update: Byte Buddy to 1.17.5. + Update: Checkstyle to 10.23.1. + Update: File extension to media type mappings to align with the current list used by the Apache Web Server (httpd). + Update: Improvements to French translations. + Update: Improvements to Japanese translations provided by tak7iji.- Hardening permissions (bsc#1242722)- Make conflicts and provides more generic- Update to Tomcat 9.0.104 * Fixed CVEs: + CVE-2025-31650: invalid priority field values should be ignored (bsc#1242008) + CVE-2025-31651: Better handling of URLs with literal ';' and '?' (bsc#1242009) * Catalina + Fix: Fix use of SSS in SimpleDateFormat pattern for AccessLogValve. (rjung) + Fix: Process possible path parameters rewrite production in the rewrite valve. (remm) + Fix: 69643: Optimize directory listing for large amount of files. Patch submitted by Loic de l'Eprevier. (remm) + Fix: Return 400 if the amount of content sent for a partial PUT is inconsistent with the range that was specified. (remm) + Add: Add a new RateLimiter implementation, org.apache.catalina.util.ExactRateLimiter, that can be used with org.apache.catalina.filters.RateLimitFilter to provide rate limit based on the exact values configured. Based on pull request #794 by Chenjp. (markt) + Fix: Fix parsing of the time-taken token in the ExtendedAccessLogValve. (remm) + Fix: Fix invocation of the FFM OpenSSL code for setting a SSL engine and FIPS mode. (remm) + Fix: 69600: Add IPv6 local addresses (RFC 4193 and RFC 4291) to the default internal proxies for the RemoteIpFilter and RemoteIpValve. (markt) + Fix: 69615: Improve integration with the not found class resources cache for users who are using a custom web application class loader and/or using reflection to dynamically add external repositories to the web application class loader. (markt) + Add: Add a new initialisation parameter to the Default servlet - allowPostAsGet - which controls whether a direct request (i.e. not a forward or an include) for a static resource using the POST method will be processed as if the GET method had been used. If not allowed, the request will be rejected. The default behaviour of processing the request as if the GET method had been used is unchanged. (markt) + Fix: 69623: Correct a long standing regression that meant that calls to ClassLoader.getResource().getContent() failed when made from within a web application with resource caching enabled. (markt) + Fix: 69634: Avoid NPE on JsonErrorReportValve. (remm) + Fix: Add missing throwable stack trace to JsonErrorReportValve equivalent to the one from ErrorReportValve. (remm) + Fix: Improve the handling of %nn URL encoding in the RewriteValve and document how %nn URL encoding may be used with rewrite rules. (markt) + Fix: Fix a potential exception when calling WebappClassLoaderBase.getResource(""). (markt) * Coyote + Fix: 69607: Allow failed initialization of MD5. Based on code submitted by Shivam Verma. (remm) + Fix: 69614: HTTP/2 priority frames with an invalid priority field value should be ignored. (markt) + Fix: Improve handling of unexpected errors during HTTP/2 processing. (markt) + Fix: Add missing code to process an OpenSSL profile, such as PROFILE= SYSTEM, using FFM. (remm) + Add: Simplify the process of using a custom SSLContext for an HTTPS enabled connector. Based on pull request #805 by Hakky54. (markt) * Jasper + Code: Replace custom URL encoding provided by the JSP runtime library with calls to java.net.URLEncoder.encode(). (markt) + Add: Add compiler using the Java Compiler API, supporting exploded web applications. The compilerClassName to use is org.apache.jasper.compiler.JavaCompiler. (remm) + Add: Add support for specifying Java 25 (with the value 25) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will be used. (markt) * Cluster + Fix: Fix resetting cross context sessions in the ReplicationValve. (remm) * Web applications + Add: Documentation. Add a link to the Log4j documentation that describes how to use Log4j rather than JULI for Tomcat's internal logging. (markt) + Add: Documentation. Document the runtime attributes available to web applications via the Request or the ServletContext. Based on pull request [#832] by usmazat. (markt) * Other + Fix: Set sun.io.useCanonCaches in service.bat. Based on pull request [#841] by Paul Lodge. (remm) + Fix: The minimum Java version to build a release is now Java 22, mirroring Tomcat 10.1. This removes the need for using a java-ffm.home property. (remm) + Update: Revert JSign to 6.0 to avoid a file locking issue. (markt) + Update: Update to NSIS 3.11. (markt) + Update: Update to ByteBuddy 1.17.4. (markt) + Update: Update to Checkstyle 10.21.4. (markt) + Update: Update to SpotBugs to 4.9.3. (markt) + Update: Improvements to French translations. (remm) + Update: Improvements to Japanese translations provided by tak7iji. (markt)- Update to Tomcat 9.0.102 * Fixes: + launch with java 17 (bsc#1239676) * Catalina + Fix: Weak etags in the If-Range header should not match as strong etags are required. (remm) + Fix: When looking up class loader resources by resource name, the resource name should not start with '/'. If the resource name does start with '/', Tomcat is lenient and looks it up as if the '/' was not present. When the web application class loader was configured with external repositories and names starting with '/' were used for lookups, it was possible that cached 'not found' results could effectively hide lookup results using the correct resource name. (markt) + Fix: Enable the JNDIRealm to validate credentials provided to HttpServletRequest.login(String username, String password) when the realm is configured to use GSSAPI authentication. (markt) + Fix: Fix a bug in the JRE compatibility detection that incorrectly identified Java 19 and Java 20 as supporting Java 21 features. (markt) + Fix: Improve the checks for exposure to and protection against CVE-2024-56337 so that reflection is not used unless required. The checks for whether the file system is case sensitive or not have been removed. (markt) + Fix: Avoid scenarios where temporary files used for partial PUT would not be deleted. (remm) + Fix: 69602: Fix regression in releases from 12-2024 that were too strict and rejected weak etags in the If-Range header. (remm) + Fix: 69576: Avoid possible failure initializing JreCompat due to uncaught exception introduced for the check for CVE-2024-56337. (remm) * Cluster + Add: 69598: Add detection of service account token changes to the KubernetesMembershipProvider implementation and reload the token if it changes. Based on a patch by Miroslav Jezbera. (markt) * Coyote + Fix: 69575: Avoid using compression if a response is already compressed using compress, deflate or zstd. (remm) + Update: Use Transfer-Encoding for compression rather than Content-Encoding if the client submits a TE header containing gzip. (remm) + Fix: Fix a race condition in the handling of HTTP/2 stream reset that could cause unexpected 500 responses. (markt) * Other + Add: Add makensis as an option for building the Installer for Windows on non-Windows platforms. (rjung/markt) + Update: Update Byte Buddy to 1.17.1. (markt) + Update: Update Checkstyle to 10.21.3. (markt) + Update: Update SpotBugs to 4.9.1. (markt) + Update: Update JSign to 7.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Add org.apache.juli.JsonFormatter to format log as one line JSON documents. (remm)- Update to Tomcat 9.0.99 * Fixed CVE: + CVE-2025-24813: potential RCE and/or information disclosure/corruption with partial PUT (bsc#1239302) * Catalina + Update: Add tableName configuration on the DataSourcePropertyStore that may be used by the WebDAV Servlet. (remm) + Update: Improve HTTP If headers processing according to RFC 9110. Based on pull request #796 by Chenjp. (remm/markt) + Update: Allow readOnly attribute configuration on the Resources element and allow configure the readOnly attribute value of the main resources. The attribute value will also be used by the default and WebDAV Servlets. (remm) + Fix: 69285: Optimise the creation of the parameter map for included requests. Based on sample code and test cases provided by John Engebretson. (markt) + Fix: 69527: Avoid rare cases where a cached resource could be set with 0 content length, or could be evicted immediately. (remm) + Fix: Fix possible edge cases (such as HTTP/1.0) with trying to detect requests without body for WebDAV LOCK and PROPFIND. (remm) + Fix: 69528: Add multi-release JAR support for the bloom archiveIndexStrategy of the Resources. (remm) + Fix: Improve checks for WEB-INF and META-INF in the WebDAV servlet. Based on a patch submitted by Chenjp. (remm) + Add: Add a check to ensure that, if one or more web applications are potentially vulnerable to CVE-2024-56337, the JVM has been configured to protect against the vulnerability and to configure the JVM correctly if not. Where one or more web applications are potentially vulnerable to CVE-2024-56337 and the JVM cannot be correctly configured or it cannot be confirmed that the JVM has been correctly configured, prevent the impacted web applications from starting. (markt) + Fix: Remove unused session to client map from CrawlerSessionManagerValve. Submitted by Brian Matzon. (remm) + Fix: When using the WebDAV servlet with serveSubpathOnly set to true, ensure that the destination for any requested WebDAV operation is also restricted to the sub-path. (markt) + Fix: Generate an appropriate Allow HTTP header when the Default servlet returns a 405 (method not allowed) response in response to a DELETE request because the target resource cannot be deleted. Pull request #802 provided by Chenjp. (markt) + Code: Refactor creation of RequestDispatcher instances so that the processing of the provided path is consistent with normal request processing. (markt) + Add: Add encodedReverseSolidusHandling and encodedSolidusHandling attributes to Context to provide control over the handling of the path used to created a RequestDispatcher. (markt) + Fix: Handle a potential NullPointerException after an IOException occurs on a non-container thread during asynchronous processing. (markt) + Fix: Enhance lifecycle of temporary files used by partial PUT. (remm) * Coyote + Fix: Don't log warnings for registered HTTP/2 settings that Tomcat does not support. These settings are now silently ignored. (markt) + Fix: Avoid a rare NullPointerException when recycling the Http11InputBuffer. (markt) + Fix: Lower the log level to debug for logging an invalid socket channel when processing poller events for the NIO Connector as this may occur in normal usage. (markt) + Code: Clean-up references to the HTTP/2 stream once request processing has completed to aid GC and reduce the size of the HTTP/2 recycled request and response cache. (markt) + Add: Add a new Connector configuration attribute, encodedReverseSolidusHandling, to control how %5c sequences in URLs are handled. The default behaviour is unchanged (decode) keeping in mind that the allowBackslash attribute determines how the decoded URI is processed. (markt) + Fix: 69545: Improve CRLF skipping for the available method of the ChunkedInputFilter. (remm) + Fix: Improve the performance of repeated calls to getHeader(). Pull request #813 provided by Adwait Kumar Singh. (markt) + Fix: 69559: Ensure that the Java 24 warning regarding the use of sun.misc.Unsafe::invokeCleaner is only reported by the JRE when the code will be used. (markt) * Jasper + Fix: 69508: Correct a regression in the fix for 69382 that broke JSP include actions if both the page attribute and the body contained parameters. Pull request #803 provided by Chenjp. (markt) + Fix: 69521: Update the EL Parser to allow the full range of valid characters in an EL identifier as defined by the Java Language Specification. (markt) + Fix: 69532: Optimise the creation of ExpressionFactory instances. Patch provided by John Engebretson. (markt) * Web applications + Add: Documentation. Expand the description of the security implications of setting mapperContextRootRedirectEnabled and/or mapperDirectoryRedirectEnabled to true. (markt) + Fix: Documentation. Better document the default for the truststoreProvider attribute of a SSLHostConfig element. (markt) * Other + Update: Update to Commons Daemon 1.4.1. (markt) + Update: Update the internal fork of Commons Pool to 2.12.1. (markt) + Update: Update Byte Buddy to 1.16.1. (markt) + Update: Update UnboundID to 7.0.2. (markt) + Update: Update Checkstyle to 10.21.2. (markt) + Update: Update SpotBugs to 4.9.0. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Chinese translations by leeyazhou. (markt) + Add: Improvements to Japanese translations by tak7iji. (markt)- Update to Tomcat 9.0.98 * Fixed CVEs: + CVE-2024-54677: DoS in examples web application (bsc#1234664) + CVE-2024-50379: RCE due to TOCTOU issue in JSP compilation (bsc#1234663) + CVE-2024-52317: Request/response mix-up with HTTP/2 (bsc#1233435) * Catalina + Add: Add option to serve resources from subpath only with WebDAV Servlet like with DefaultServlet. (michaelo) + Fix: Add special handling for the protocols attribute of SSLHostConfig in storeconfig. (remm) + Fix: 69442: Fix case sensitive check on content-type when parsing request parameters. (remm) + Code: Refactor duplicate code for extracting media type and subtype from content-type into a single method. (markt) + Fix: Compatibility of generated embedded code with components where constructors or property related methods throw a checked exception. (remm) + Fix: The previous fix for inconsistent resource metadata during concurrent reads and writes was incomplete. (markt) + Fix: 69444: Ensure that the javax.servlet.error.message request attribute is set when an application defined error page is called. (markt) + Fix: Avoid quotes for numeric values in the JSON generated by the status servlet. (remm) + Add: Add strong ETag support for the WebDAV and default servlet, which can be enabled by using the useStrongETags init parameter with a value set to true. The ETag generated will be a SHA-1 checksum of the resource content. (remm) + Fix: Use client locale for directory listings. (remm) + Fix: 69439: Improve the handling of multiple Cache-Control headers in the ExpiresFilter. Based on pull request #777 by Chenjp. (markt) + Fix: 69447: Update the support for caching classes the web application class loader cannot find to take account of classes loaded from external repositories. Prior to this fix, these classes could be incorrectly marked as not found. (markt) + Fix: 69466: Rework handling of HEAD requests. Headers explicitly set by users will not be removed and any header present in a HEAD request will also be present in the equivalent GET request. There may be some headers, as per RFC 9110, section 9.3.2, that are present in a GET request that are not present in the equivalent HEAD request. (markt) + Fix: 69471: Log instances of CloseNowException caught by ApplicationDispatcher.invoke() at debug level rather than error level as they are very likely to have been caused by a client disconnection or similar I/O issue. (markt) + Add: Add a test case for the fix for 69442. Also refactor references to application/x-www-form-urlencoded. Based on pull request #779 by Chenjp. (markt) + Fix: 69476: Catch possible ISE when trying to report PUT failure in the DefaultServlet. (remm) + Add: Add support for RateLimit header fields for HTTP (draft) in the RateLimitFilter. Based on pull request #775 provided by Chenjp. (markt) + Add: #787: Add regression tests for 69478. Pull request provided by Thomas Krisch. (markt) + Fix: The default servlet now rejects HTTP range requests when two or more of the requested ranges overlap. Based on pull request #782 provided by Chenjp. (markt) + Fix: Enhance Content-Range verification for partial PUT requests handled by the default servlet. Provided by Chenjp in pull request #778. (markt) + Fix: Harmonize DataSourceStore lookup in the global resources to optionally avoid the comp/env prefix which is usually not used there. (remm) + Fix: As required by RFC 9110, the HTTP Range header will now only be processed for GET requests. Based on pull request #790 provided by Chenjp. (markt) + Fix: Deprecate the useAcceptRanges initialisation parameter for the default servlet. It will be removed in Tomcat 12 onwards where it will effectively be hard coded to true. (markt) + Add: Add DataSource based property storage for the WebdavServlet. (remm) * Coyote + Fix: Align encodedSolidusHandling with the Servlet specification. If the pass-through mode is used, any %25 sequences will now also be passed through to avoid errors and/or corruption when the application decodes the path. (markt) * Jasper + Fix: Further optimise EL evaluation of method parameters. Patch provided by Paolo B. (markt) + Fix: Follow-up to the fix for 69381. Apply the optimisation for method lookup performance in expression language to an additional location. (markt) * Web applications + Fix: Documentation. Remove references to the ResourceParams element. Support for ResourceParams was removed in Tomcat 5.5.x. (markt) + Fix: Documentation. 69477: Correct name of attribute for RemoteIPFilter. The attribute is internalProxies rather than allowedInternalProxies. Pull request #786 provided by Jorge Díaz. (markt) + Fix: Examples. Fix broken links when Servlet Request Info example is called via a URL that includes a pathInfo component. (markt) + Fix: Examples. Expand the obfuscation of session cookie values in the request header example to JSON responses. (markt) + Add: Examples. Add the ability to delete session attributes in the servlet session example. (markt) + Add: Examples. Add a hard coded limit of 10 attributes per session for the servlet session example. (markt) + Add: Examples. Add the ability to delete session attributes and add a hard coded limit of 10 attributes per session for the JSP form authentication example. (markt) + Add: Examples. Limit the shopping cart example to only allow adding the pre-defined items to the cart. (markt) + Fix: Examples. Remove JSP calendar example. (markt) * Other + Fix: 69465: Fix warnings during native image compilation using the Tomcat embedded JARs. (markt) + Update: Update Tomcat's fork of Commons DBCP to 2.13.0. (markt) + Update: Update EasyMock to 5.5.0. (markt) + Update: Update Checkstyle to 10.20.2. (markt) + Update: Update BND to 7.1.0. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Korean translations. (markt) + Add: Improvements to Chinese translations. (markt) + Add: Improvements to Japanese translations by tak7iji. (markt) - Modified patch: * tomcat-9.0-jdt.patch + rediff- Update to Tomcat 9.0.97 * Fixed CVEs: + CVE-2024-52316: If the Jakarta Authentication fails with an exception, set a 500 status (bsc#1233434) * Catalina + Add: Add support for the new Servlet API method HttpServletResponse.sendEarlyHints(). (markt) + Add: 55470: Add debug logging that reports the class path when a ClassNotFoundException occurs in the digester or the web application class loader. Based on a patch by Ralf Hauser. (markt) + Update: 69374: Properly separate between table header and body in DefaultServlet's listing. (michaelo) + Update: 69373: Make DefaultServlet's HTML listing file last modified rendering better (flexible). (michaelo) + Update: Improve HTML output of DefaultServlet. (michaelo) + Code: Refactor RateLimitFilter to use FilterBase as the base class. The primary advantage for doing this is less code to process init-param values. (markt) + Update: 69370: DefaultServlet's HTML listing uses incorrect labels. (michaelo) + Fix: Avoid NPE in CrawlerSessionManagerValve for partially mapped requests. (remm) + Fix: Add missing WebDAV Lock-Token header in the response when locking a folder. (remm) + Fix: Invalid WebDAV lock requests should be rejected with 400. (remm) + Fix: Fix regression in WebDAV when attempting to unlock a collection. (remm) + Fix: Verify that destination is not locked for a WebDAV copy operation. (remm) + Fix: Send 415 response to WebDAV MKCOL operations that include a request body since this is optional and unsupported. (remm) + Fix: Enforce DAV: namespace on WebDAV XML elements. (remm) + Fix: Do not allow a new WebDAV lock on a child resource if a parent collection is locked (RFC 4918 section 6.1). (remm) + Fix: WebDAV Delete should remove any existing lock on successfully deleted resources. (remm) + Update: Remove WebDAV lock null support in accordance with RFC 4918 section 7.3 and annex D. Instead, a lock on a non-existing resource will create an empty file locked with a regular lock. (remm) + Update: Rewrite implementation of WebDAV shared locks to comply with RFC 4918. (remm) + Update: Implement WebDAV If header using code from the Apache Jackrabbit project. (remm) + Add: Add PropertyStore interface in the WebDAV Servlet, to allow implementation of dead properties storage. The store used can be configured using the 'propertyStore' init parameter of the WebDAV servlet. A simple non-persistent implementation is used if no custom store is configured. (remm) + Update: Implement WebDAV PROPPATCH method using the newly added PropertyStore. (remm) + Fix: Cache not found results when searching for web application class loader resources. This addresses performance problems caused by components such as java.sql.DriverManager which, in some circumstances, will search for the same class repeatedly. In a large web application this can cause performance problems. The size of the cache can be controlled via the new notFoundClassResourceCacheSize on the StandardContext. (markt) + Fix: Stop after INITIALIZED state should be a noop since it is possible for subcomponents to be in FAILED after init. (remm) + Fix: Fix incorrect web resource cache size calculations when there are concurrent PUT and DELETE requests for the same resource. (markt) + Add: Add debug logging for the web resource cache so the current size can be tracked as resources are added and removed. (markt) + Update: Replace legacy WebDAV opaquelocktoken: scheme for lock tokens with urn:uuid: as recommended by RFC 4918, and remove secret init parameter. (remm) + Fix: Concurrent reads and writes (e.g. GET and PUT / DELETE) for the same path caused corruption of the FileResource where some of the fields were set as if the file exists and some as set as if it does not. This resulted in inconsistent metadata. (markt) + Fix: 69415: Ensure that the ExpiresFilter only sets cache headers on GET and HEAD requests. Also skip requests where the application has set Cache-Control: no-store. (markt) + Fix: 69419: Improve the performance of ServletRequest.getAttribute() when there are multiple levels of nested includes. Based on a patch provided by John Engebretson. (markt) + Add: All applications to send an early hints informational response by calling HttpServletResponse.sendError() with a status code of 103. (schultz) + Fix: Ensure that the Jakarta Authentication CallbackHandler only creates one GenericPrincipal in the Subject. (markt) + Fix: If the Jakarta Authentication process fails with an Exception, explicitly set the HTTP response status to 500 as the ServerAuthContext may not have set it. (markt) + Fix: When persisting the Jakarta Authentication provider configuration, create any necessary parent directories that don't already exist. (markt) + Fix: Correct the logic used to detect errors when deleting temporary files associated with persisting the Jakarta Authentication provider configuration. (markt) + Fix: When processing Jakarta Authentication callbacks, don't overwrite a Principal obtained from the PasswordValidationCallback with null if the CallerPrincipalCallback does not provide a Principal. (markt) + Fix: Avoid store config backup loss when storing one configuration more than once per second. (remm) + Fix: 69359: WebdavServlet duplicates getRelativePath() method from super class with incorrect Javadoc. (michaelo) + Fix: 69360: Inconsistent DELETE behavior between WebdavServlet and DefaultServlet. (michaelo) + Fix: Make WebdavServlet properly return the Allow header when deletion of a resource is not allowed. (michaelo) + Fix: Add log warning if non wildcard mappings are used with the WebdavServlet. (remm) + Fix: 69361: Ensure that the order of entries in a multi-status response to a WebDAV is consistent with the order in which resources were processed. (markt) + Fix: 69362: Provide a better multi-status response when deleting a collection via WebDAV fails. Empty directories that cannot be deleted will now be included in the response. (markt) + Fix: 69363: Use getPathPrefix() consistently in the WebDAV servlet to ensure that the correct path is used when the WebDAV servlet is mounted at a sub-path within the web application. (markt) + Fix: Improve performance of ApplicationHttpRequest.parseParameters(). Based on sample code and test cases provided by John Engebretson. (markt) + Add: Add support for RFC 8297 (Early Hints). Applications can use this feature by casting the HttpServletResponse to org.apache.catalina.connector.Reponse and then calling the method void sendEarlyHints(). This method will be added to the Servlet API (removing the need for the cast) in Servlet 6.2 onwards. (markt) + Fix: 69214: Do not reject a CORS request that uses POST but does not include a content-type header. Tomcat now correctly processes this as a simple CORS request. Based on a patch suggested by thebluemountain. (markt) + Fix: Refactor SpnegoAuthenticator so it uses Subject.callAs() rather than Subject.doAs() when available. (markt) * Coyote + Fix: Return null SSL session id on zero length byte array returned from the SSL implementation. (remm) + Fix: Skip OpenSSLConf with BoringSSL since it is unsupported. (remm) + Fix: Create the HttpParser in Http11Processor if it is not present on the AbstractHttp11Protocol to provide better lifecycle robustness for regular HTTP/1.1. The new behavior was introduced on a previous refactoring to improve HTTP/2 performance. (remm) + Fix: OpenSSLContext will now throw a KeyManagementException if something is known to have gone wrong in the init method, which is the behavior documented by javax.net.ssl.SSLContext.init. This makes error handling more consistent. (remm) + Fix: 69316: Ensure that FastHttpDateFormat#getCurrentDate() (used to generate Date headers for HTTP responses) generates the correct string for the given input. Prior to this change, the output may have been wrong by one second in some cases. Pull request #751 provided by Chenjp. (markt) + Add: Add server and serverRemoveAppProvidedValues to the list of attributes the HTTP/2 protocol will inherit from the HTTP/1.1 connector it is nested within. (markt) + Fix: Avoid possible crashes when using Apache Tomcat Native, caused by destroying SSLContext objects through GC after APR has been terminated. (remm) + Fix: Improve HTTP/2 handling of trailer fields for requests. Trailer fields no longer need to be received before the headers of the subsequent stream nor are trailer fields for an in-progress stream swallowed if the Connector is paused before the trailer fields are received. (markt) + Fix: Ensure the request and response are not recycled too soon for an HTTP/2 stream when a stream level error is detected during the processing of incoming HTTP/2 frames. This could lead to incorrect processing times appearing in the access log. (markt) + Fix: Fix 69320, a regression in the fix for 69302 that meant the HTTP/2 processing was likely to be broken for all clients once any client sent an HTTP/2 reset frame. (markt) + Fix: Correct a regression in the fix for non-blocking reads of chunked request bodies that caused InputStream.available() to return a non-zero value when there was no data to read. In some circumstances this could cause a blocking read to block waiting for more data rather than return the data it had already received. (markt) + Add: Add a new attribute cookiesWithoutEquals to the Rfc6265CookieProcessor. The default behaviour is unchanged. (markt) + Fix: Ensure that Tomcat sends a TLS close_notify message after receiving one from the client when using the OpenSSLImplementation. (markt) + Fix: 69301: Fix trailer headers replacing non-trailer headers when writing response headers to the access log. Based on a patch and test case provided by hypnoce. (markt) + Fix: 69302: If an HTTP/2 client resets a stream before the request body is fully written, ensure that any ReadListener is notified via a call to ReadListener.onErrror(). (markt) + Fix: Correct regressions in the refactoring that added recycling of the coyote request and response to the HTTP/2 processing. (markt) + Add: Add OpenSSL integration using the FFM API rather than Tomcat Native. OpenSSL support may be enabled by adding the org.apache.catalina.core.OpenSSLLifecycleListener listener on the Server element when using Java 22 or later. (remm) + Fix: Ensure that HTTP/2 stream input buffers are only created when there is a request body to be read. (markt) + Code: Refactor creation of HttpParser instances from the Processor level to the Protocol level since the parser configuration depends on the protocol and the parser is, otherwise, stateless. (markt) + Add: Align HTTP/2 with HTTP/1.1 and recycle the container internal request and response processing objects by default. This behaviour can be controlled via the new discardRequestsAndResponses attribute on the HTTP/2 upgrade protocol. (markt) * Jasper + Fix: Add back tag release method as deprecated in the runtime for compatibility with old generated code. (remm) + Fix: 69399: Fix regression caused by the improvement 69333 which caused the tag release to be called when using tag pooling, and to be skipped when not using it. Patch submitted by Michal Sobkiewicz. (remm) + Fix: 69381: Improve method lookup performance in expression language. When the required method has no arguments there is no need to consider casting or coercion and the method lookup process can be simplified. Based on pull request #770 by John Engebretson. + Fix: 69382: Improve the performance of the JSP include action by re-using results of relatively expensive method calls in the generated code rather than repeating them. Patch provided by John Engebretson. (markt) + Fix: 69398: Avoid unnecessary object allocation in PageContextImpl. Based on a suggestion by John Engebretson. (markt) + Fix: 69406: When using StringInterpreterEnum, do not throw an IllegalArgumentException when an invalid Enum is encountered. Instead, resolve the value at runtime. Patch provided by John Engebretson. (markt) + Fix: 69429: Optimise EL evaluation of method parameters for methods that do not accept any parameters. Patch provided by John Engebretson. (markt) + Fix: 69333: Remove unnecessary code from generated JSPs. (markt) + Fix: 69338: Improve the performance of processing expressions that include AND or OR operations with more than two operands and expressions that use not empty. (markt) + Fix: 69348: Reduce memory consumption in ELContext by using lazy initialization for the data structure used to track lambda arguments. (markt) + Fix: Switch the TldScanner back to logging detailed scan results at debug level rather than trace level. (markt) * Web applications + Fix: The manager webapp will now be able to access certificates again when OpenSSL is used. (remm) + Fix: Documentation. Align the logging configuration documentation with the current defaults. (markt) * WebSocket + Fix: If a blocking message write exceeds the timeout, don't attempt the write again before throwing the exception. (markt) + Fix: An EncodeException being thrown during a message write should not automatically cause the connection to close. The application should handle the exception and make the decision whether or not to close the connection. (markt) * jdbc-pool + Fix: 69255: Correct a regression in the fix for 69206 that meant exceptions executing statements were wrapped in a java.lang.reflect.UndeclaredThrowableException rather than the application seeing the original SQLException. Fixed by pull request #744 provided by Michael Clarke. (markt) + Fix: 69279: Correct a regression in the fix for 69206 that meant that methods that previously returned a null ResultSet were returning a proxy with a null delegate. Fixed by pull request #745 provided by Huub de Beer. (markt) + Fix: 69206: Ensure statements returned from Statement methods executeQuery(), getResultSet() and getGeneratedKeys() are correctly wrapped before being returned to the caller. Based on pull request [#742] provided by Michael Clarke. * Other + Update: Switch from DigiCert ONE to ssl.com eSigner for code signing. (markt) + Update: Update Byte Buddy to 1.15.10. (markt) + Update: Update CheckStyle to 10.20.0. (markt) + Add: Improvements to German translations. (remm) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Chinese translations by Ch_jp. (markt) + Add: Exclude the tomcat-coyote-ffm.jar from JAR scanning by default. (markt) + Fix: Change the default log handler level to ALL so log messages are not dropped by default if a logger is configured to use trace (FINEST) level logging. (markt) + Update: Update Hamcrest to 3.0. (markt) + Update: Update EasyMock to 5.4.0. (markt) + Update: Update Byte Buddy to 1.15.0. (markt) + Update: Update CheckStyle to 10.18.0. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.10.0. (markt) + Add: Improvements to Spanish translations by Fernando. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Fix: Fix packaging regression with missing osgi information following addition of the test-only build target. (remm) + Update: Update Tomcat Native to 1.3.1. (markt) + Update: Update Byte Buddy to 1.14.18. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt)- Adapt the scripts to run also with javapackages-tools >= 6.3- Fix build after removal of the default %%{java_home} define- Modified patch: * tomcat-9.0-osgi-build.patch + move the definition of bnd.classpath out of the setup-bnd task since it is one component in build.classpath- Update to Tomcat 9.0.91 * Fixed CVEs: + CVE-2024-34750: Improper handling of exceptional conditions (bsc#1227399) * Catalina + Fix: Allow JAASRealm to use the configuration source to load a configured configFile, for easier use with testing. (remm) + Fix: Add missing algorithm callback to the JAASCallbackHandler. (remm) + Fix: 69131: Expand the implementation of the filter value of the Authenticator attribute allowCorsPreflight, so that it applies to all requests that match the configured URL patterns for the CORS filter, rather than only applying if the CORS filter is mapped to /*. (markt) + Add: Add support for shallow copies when using WebDAV. (markt) + Code: Deprecate the WebdavFixFilter as it is no longer required. (markt) + Fix: 69066: Fix regression in SPNEGO authenticator when processing Base64. Submitted by Daniel Lyko. (remm) + Update: Update minimum recommended version of Tomcat Native to 1.3.0. Pull request #728 provided by Dimitrios Soumis. (markt) + Update: The system property org.apache.catalina.connector.RECYCLE_FACADES will now default to true if not specified, which will in turn set the default value for the discardFacades connector attribute, thus causing facade objects to be discarded by default. (remm) + Add: Add RealmBase.getPrincipal(GSSName, GSSCredential, GSSContext) for retrieving extended/additional information from an established GSS context. (michaelo) + Fix: Correct a regression in the fix for 68721 that caused some instances of LinkageError to be reported as ClassNotFoundException. (markt) + Fix: Ensure that static resources deployed via a JAR file remain accessible when the context is configured to use a bloom filter. Based on pull request #730 provided by bergander. (markt) + Add: Introduce reference counting so the AprLifecycleListener is more robust. This particularly targets more complex embedded configurations with multiple server instances with independent lifecycles where more than one server instance requires the AprLifecycleListener. (markt) + Update: Deprecate and remove sessionCounter (replaced by the addition of the active session count and the expired session count, as a reasonable approximation) and duplicates (which does not represent a possible event in current implementations) statistics from the session manager. (remm) + Fix: 68890 Align output encoding of JSPs in the Manager webapp with the XML declarations in those same files. (schultz) + Fix: Update Basic authentication to implement the requirements of RFC 7617 including the changing of the trimCredentials setting which is now defaults to false. Note that the trimCredentials setting will be removed in Tomcat 11. (markt) + Add: Small performance optimization when logging cookies with no values. (schultz) + Fix: Correct error handling for asynchronous requests. If the application performs an dispatch during AsyncListener.onError() the dispatch is now performed rather than completing the request using the error page mechanism. (markt) + Fix: Fix WebDAV lock null (locks for non existing resources) thread safety and removal. (remm) + Fix: Add periodic checking for WebDAV locks expiration. (remm) + Fix: Extend Asn1Parser to parse UTF8Strings. (michaelo) + Update: Add highConcurrencyStatus attribute to the SemaphoreValve to optionally allow the valve to return an error status code to the client when a permit cannot be acquired from the semaphore. (remm) + Add: Add checking of the "age" of the running Tomcat instance since its build-date to the SecurityListener, and log a warning if the server is old. (schultz) + Fix: When using the AsyncContext, throw an IllegalStateException, rather than allowing an NullPointerException, if an attempt is made to use the AsyncContext after it has been recycled. (markt) + Fix: Change the thread-safety mechanism for protecting StandardServer.services from a simple synchronized lock to a ReentrantReadWriteLock to allow multiple readers to operate simultaneously. Based upon a suggestion by Markus Wolfe. (schultz) + Fix: Improve Service connectors, Container children and Service executors access sync using a ReentrantReadWriteLock. (remm) + Fix: Improve handling of integer overflow if an attempt is made to upload a file via the Servlet API and the file is larger than Integer.MAX_VALUE. (markt) + Fix: 68862: Handle possible response commit when processing read errors. (remm) * Jasper + Fix: Update the optimisation in jakarta.el.ImportHandler so it is aware of new classes added to the java.lang package in Java 23. (markt) + Fix: Ensure that an exception in toString() still results in an ELException when an object is coerced to a String using ExpressionFactory.coerceToType(). (markt) + Add: Add support for specifying Java 24 (with the value 24) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will used. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that context relative includes are processed correctly. ( markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that file relative includes are processed correctly. (markt) + Fix: 69135: When using include directives in a tag file packaged in a JAR file, ensure that file relative includes are are not permitted to access files outside of the /META_INF/tags/ directory nor outside of the JAR file. (markt) + Fix: 68546: Small additional optimisation for initial loading of Servlet code generated for JSPs. Based on a suggestion by Dan Armstrong. (markt) + Add: Add support for specifying Java 23 (with the value 23) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will used. (markt) + Fix: Handle the case where the JSP engine forwards a request/response to a Servlet that uses an OutputStream rather than a Writer. This was triggering an IllegalStateException on code paths where there was a subsequent attempt to obtain a Writer. (markt) + Fix: Correctly handle the case where a tag library is packaged in a JAR file and the web application is deployed as a WAR file rather than an unpacked directory. (markt) + Fix: Prevent the web application's ClassLoader from being pinned by the JSP compiler if an application uses a custom XMLInputFactory. Based upon a suggestion from Simon Niederberger. (schultz) * Web applications + Fix: Fix status servlet detailed view of the connectors when using automatic port. (remm) + Add: Add the ability to set a sub-title for the Manager web application main page. This is intended to allow users with lots of instances to easily distinguish them. Based on pull request #724 by Simon Arame. (markt) + Fix: Examples: Improve performance of WebSocket chat application when multiple clients disconnect at the same time. (markt) + Update: Examples: Increase the number of previous messages displayed when using the WebSocket chat application. (markt) + Fix: Examples: Improve performance of WebSocket snake application when multiple clients disconnect at the same time. (markt) * Coyote + Fix: Improve the algorithm used to identify the IP address to use to unlock the acceptor thread when a Connector is listening on all local addresses. Interfaces that are configured for point to point connections or are not currently up are now skipped. (markt) + Fix: 69121: Ensure that the onComplete() event is triggered if AsyncListener.onError() dispatches to a target that throws an exception. (markt) + Fix: Following the trailer header field refactoring, -1 is no longer an allowed value for maxTrailerSize. Adjust documentation accordingly. (remm) + Fix: 69068: Ensure read timouts are triggered for asynchronous, non-blocking reads when using HTTP/2. (markt) + Update: 69133: Add task queue size configuration on the Connector element, similar to the Executor element, for consistency. (remm) + Fix: Make counting of active HTTP/2 streams per connection more robust. (markt) + Add: Add support for TLS 1.3 client initiated re-keying. (markt) + Fix: Align non-secure and secure writes with NIO and skip the write attempt when there are no bytes to be written. (markt) + Fix: Allow any positive value for socket.unlockTimeout. If a negative or zero value is configured, the default of 250ms will be used. (mark) + Fix: Reduce the time spent waiting for the connector to unlock. The previous default of 10s was noticeably too long for cases where the unlock has failed. The wait time is now 100ms plus twice socket.unlockTimeout. (markt) + Fix: Ensure that the onAllDataRead() event is triggered when the request body uses chunked encoding and is read using non-blocking IO. (markt) + Fix: 68934: Add debug logging in the latch object when exceeding maxConnections. (remm) + Fix: Refactor trailer field handling to use a MimeHeaders instance to store trailer fields. (markt) + Fix: Ensure that multiple instances of the same trailer field are handled correctly. (markt) + Fix: Fix non-blocking reads of chunked request bodies. (markt) + Fix: When an invalid HTTP response header was dropped, an off-by-one error meant that the first header in the response was also dropped. Fix based on pull request #710 by foremans. (markt) + Fix: Add threadsMaxIdleTime attribute to the endpoint, to allow configuring the amount of time before an internal executor will scale back to the configured minSpareThreads size. (remm) * WebSocket + Fix: 68884: Reduce the write timeout when writing WebSocket close messages for abnormal closes. The timeout defaults to 50 milliseconds and may be controlled using the org.apache.tomcat.websocket.ABNORMAL_SESSION_CLOSE_SEND_TIMEOUT property in the user properties collection associated with the WebSocket session. (markt) * Other + Update: Add test-only build target to allow running only the testsuite, supporting Java versions down to the minimum supported to run Tomcat. (rjung) + Update: Update UnboundID to 7.0.1. (markt) + Update: Update to SpotBugs 4.8.6. (markt) + Update: Remove cglib dependency as it is not required by the version of EasyMock used by the unit tests. (markt) + Update: Update EasyMock to 5.3.0. This adds a test dependency on Byte-Buddy 1.14.17. (markt) + Add: Improvements to Czech translations by Vladimír Chlup. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Chinese translations by fangzheng. (markt) + Update: Revert Derby to 10.16.1.1 as that is the latest version of Derby that runs on Java 17. (markt) + Update: Update to Commons Daemon 1.4.0. (markt) + Update: Update to Objenesis 3.4. (markt) + Update: Update to Checkstyle 10.17.0. (markt) + Update: Update to SpotBugs 4.8.5. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Switch to using the Base64 encoder and decoder provided by the JRE rather than the version provided by Commons Codec. The internal fork of Commons Codec has been deprecated and will be removed in Tomcat 11. (markt) + Update: Update NSIS to 3.10. (mark0t) + Update: Update UnboundID to 7.0.0. (markt) + Update: Update Checkstyle to 10.16.0. (markt) + Update: Update JaCoCo to 0.8.12. (markt) + Update: Update SpotBugs to 4.8.4. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.9.0. (markt) + Update: Update the internal fork of Apache Commons DBCP to 2.12.0. (markt) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Update Checkstyle to 10.14.1. (markt) + Update: Update the internal fork of Apache Commons BCEL to 6.8.2. (markt) + Update: Update the internal fork of Apache Commons Codec to 1.16.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (remm) + Add: Improvements to Chinese translations by leeyazhou. (remm) - Modified patch: * tomcat-9.0-build-with-java-11.patch + rediff to changed context- Update to Tomcat 9.0.87 * Fixed CVEs: + CVE-2024-24549: Improved request header validation for HTTP/2 stream (bsc#1221386) + CVE-2024-23672: Ensure that WebSocket connection closure completes if the connection is closed when the server side has used the proprietary suspend/resume feature to suspend the connection (bsc#1221385) * Catalina + Fix: Minor performance improvement for building filter chains. Based on ideas from #702 by Luke Miao. (remm) + Fix: Align error handling for Writer and OutputStream. Ensure use of either once the response has been recycled triggers a NullPointerException provided that discardFacades is configured with the default value of true. (markt) + Fix: 68692: The standard thread pool implementations that are configured using the Executor element now implement ExecutorService for better support NIO2. (remm) + Fix: 68495: When restoring a saved POST request after a successful FORM authentication, ensure that neither the URI, the query string nor the protocol are corrupted when restoring the request body. (markt) + Fix: 68721: Workaround a possible cause of duplicate class definitions when using ClassFileTransformers and the transformation of a class also triggers the loading of the same class. (markt) + Fix: The rewrite valve should not do a rewrite if the output is identical to the input. (remm) + Update: Add a new valveSkip (or VS) rule flag to the rewrite valve to allow skipping over the next valve in the Catalina pipeline. (remm) + Fix: Correct JPMS and OSGi meta-data for tomcat-enbed-core.jar by removing reference to org.apache.catalina.ssi package that is no longer included in the JAR. Based on pull request #684 by Jendrik Johannes. (markt) + Fix: Fix ServiceBindingPropertySource so that trailing \r\n sequences are correctly removed from files containing property values when configured to do so. Bug identified by Coverity Scan. (markt) + Add: Add improvements to the CSRF prevention filter including the ability to skip adding nonces for resource name and subtree URL patterns. (schultz) + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. (remm) + Fix: 68089: Further improve the performance of request attribute access for ApplicationHttpRequest and ApplicationRequest. (markt) + Fix: 68559: Allow asynchronous error handling to write to the response after an error during asynchronous processing. (markt) * Coyote + Fix: Improve the HTTP/2 stream prioritisation process. If a stream uses all of the connection windows and still has content to write, it will now be added to the backlog immediately rather than waiting until the write attempt for the remaining content. (markt) + Fix: Make asynchronous error handling more robust. Ensure that once a connection is marked to be closed, further asynchronous processing cannot change that. (markt) + Fix: Make asynchronous error handling more robust. Ensure that once the call to AsyncListener.onError() has returned to the container, only container threads can access the AsyncContext. This protects against various race conditions that woudl otherwise occur if application threads continued to access the AsyncContext. + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. In particular, most of the HTTP/2 debug logging has been changed to trace level. (remm) + Fix: Add support for user provided SSLContext instances configured on SSLHostConfigCertificate instances. Based on pull request #673 provided by Hakan Altındağ. (markt) + Fix: Improve the Tomcat Native shutdown process to reduce the likelihood of a JVM crash during Tomcat shutdown. (markt) + Fix: Partial fix for 68558: Cache the result of converting to String for request URI, HTTP header names and the request Content-Type value to improve performance by reducing repeated byte[] to String conversions. (markt) + Fix: Improve error reporting to HTTP/2 clients for header processing errors by reporting problems at the end of the frame where the error was detected rather than at the end of the headers. (markt) + Fix: Remove the remaining reference to a stream once the stream has been recycled. This makes the stream eligible for garbage collection earlier and thereby improves scalability. (markt) * Jasper + Add: Add support for specifying Java 22 (with the value 22) as the compiler source and/or compiler target for JSP compilation. If used with an Eclipse JDT compiler version that does not support these values, a warning will be logged and the default will used. (markt) + Fix: 68546: Generate optimal size and types for JSP imports maps, as suggested by John Engebretson. (remm) + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. (remm) * Cluster + Fix: Avoid updating request count stats on async. (remm) * WebSocket + Fix: Correct a regression in the fix for 66508 that could cause an UpgradeProcessor leak in some circumstances. (markt) + Fix: Review usage of debug logging and downgrade trace or data dumping operations from debug level to trace. (remm) + Fix: Ensure that WebSocket connection closure completes if the connection is closed when the server side has used the proprietary suspend/resume feature to suspend the connection. (markt) * Web applications + Add: Add support for responses in JSON format from the examples application RequestHeaderExample. (schultz) * Other + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Update Checkstyle to 10.13.0. (markt) + Update: Update JSign to 6.0. (markt) + Update: Add strings for debug level messages. (remm) + Update: Update Tomcat Native to 1.3.0. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt)- Add missing Requires(post): util-linux to have runuser into post- Add %%systemd_ordering to packages with systemd unit files, so that the order is the right one if those packages find themselves in the same transaction with systemd- Link ecj.jar into the install instead of copying it- rpm 4.19 requires dependencies on tomcat user and group (bsc#1219530)- Fixed CVEs: * CVE-2024-22029: run xsltproc as tomcat group (bsc#1219208)- Update to Tomcat 9.0.85 * Fixed CVEs: + CVE-2023-46589: Apache Tomcat: HTTP request smuggling due to incorrect headers parsing (bsc#1217649) * Catalina + Update: 68378: Align extension to MIME type mappings in the global web.xml with those in httpd by adding application/vnd.geogebra.slides for ggs, text/javascript for mjs and audio/ogg for opus. (markt) + Fix: Background processes should not be run concurrently with lifecycle operations of a container. (remm) + Fix: Correct unintended escaping of XML in some WebDAV responses. The XML list of support locks when provided in response to a PROPFIND request was incorrectly XML escaped. (markt) + Fix: 68227: Ensure that AsyncListener.onComplete() is called if AsyncListener.onError() calls AsyncContext.dispatch(). (markt) + Fix: 68228: Use a 408 status code if a read timeout occurs during HTTP request processing. Includes a test case based on code provided by adwsingh. (markt) + Fix: 67667: TLSCertificateReloadListener prints unreadable rendering of X509Certificate#getNotAfter(). (michaelo) + Update: The status servlet included in the manager webapp can now output statistics as JSON, using the JSON=true URL parameter. (remm) + Update: Optionally allow ServiceBindingPropertySource to trim a trailing newline from a file containing a property-value. (schultz) + Fix: 67793: Ensure the original session timeout is restored after FORM authentication if the user refreshes a page during the FORM authentication process. Based on a suggestion by Mircea Butmalai. (markt) + Update: 67926: PEMFile prints unidentifiable string representation of ASN.1 OIDs. (michaelo) + Fix: 66875: Ensure that setting the request attribute jakarta.servlet.error.exception is not sufficient to trigger error handling for the current request and response. (markt) + Fix: 68054: Avoid some file canonicalization calls introduced by the fix for 65433. (remm) + Fix: 68089: Improve performance of request attribute access for ApplicationHttpRequest and ApplicationRequest. (markt) + Fix: Use a 400 status code to report an error due to a bad request (e.g. an invalid trailer header) rather than a 500 status code. (markt) + Fix: Ensure that an IOException during the reading of the request triggers always error handling, regardless of whether the application swallows the exception. (markt) * Coyote + Fix: Refactor the VirtualThreadExecutor so that it can be used by the NIO2 connector which was using platform threads even when configured to use virtual threads. (markt) + Fix: Correct a regression in the fix for 67675 that broke TLS key file parsing for PKCS#8 format keys that do not specify an explicit pseudo-random function and rely on the default. This typically affects keys generated by OpenSSL 1.0.2. (markt) + Fix: Allow multiple operations with the same name on introspected mbeans, fixing a regression caused by the introduction of a second addSslHostConfig method. (remm) + Fix: Relax the check that the HTTP Host header is consistent with the host used in the request line, if any, to make the check case insensitive since host names are case insensitive. (markt) + Add: 68348: Add support for the partitioned attribute for cookies. (markt) + Add: 66670: Add SSLHostConfig#certificateKeyPasswordFile and SSLHostConfig#certificateKeystorePasswordFile. (michaelo) + Add: When calling SSLHostConfigCertificate.setCertificateKeystore(ks), automatically call setCertificateKeystoreType(ks.getType()). (markt) + Fix: 67628: Clarify how the ciphers attribute of the SSLHostConfig is used. (markt) + Fix: 67666: Ensure TLS connectors using PEM files either work with the TLSCertificateReloadListener or, in the rare case that they do not, log a warning on Connector start. (markt) + Fix: 67675: Support a wider range of KDF and ciphers for PEM files than the combinations supported by the JVM by default. Specifically, support the OpenSSL default of HmacSHA256 and DES-EDE3-CBC. (markt) + Fix: 67927: Reloading TLS configuration can cause the Connector to refuse new connections or the JVM to crash. (markt) + Fix: 67934: If both Tomcat Native 1.2.x and 2.0.x are available, prefer 1.2.x since it supports the APR/Native connector whereas 2.0.x does not. (markt) + Fix: 67938: Correct handling of large TLS client hello messages that were causing the TLS handshake to fail. (markt) + Fix: 68026: Convert selected MessageByte values to String when first accessed to speed up subsequent accesses and reduce garbage collection. (markt) * Jasper + Code: 68119: Refactor the CompositeELResolver to improve performance during type conversion operations. (markt) + Fix: 68068: Performance improvement for EL. Based on a suggestion by John Engebretson. (markt) * Web Applications + Fix: 68035: Additional fix to the Manager application to enable the deployment of a web application located in a Host's appBase where the web application is specified by a bare (no path) WAR or directory name as shown in the documentation. (markt) + Fix: Examples. Improve the error handling so snakes associated with a user that drops from the network are removed from the game. (markt) + Fix: 68035: Correct a regression in the fix for 56248 that prevented deployment via the Manager of a WAR or directory that was already present in the appBase or a context file that was already present in the xmlBase. (markt) * Other + Update: Update Checkstyle to 10.12.7. (markt) + Update: Update SpotBugs to 4.8.3. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Update: Update UnboundID to 6.0.11. (markt) + Update: Update Checkstyle to 10.12.5. (markt) + Update: Update SpotBugs to 4.8.2. (markt) + Update: Update Derby to 10.17.1. (markt) + Add: Improvements to French translations. (remm) + Add: Improvements to Japanese translations by tak7iji. (markt) + Add: Improvements to Brazilian Portuguese translations by John William Vicente. (markt) + Add: Improvements to Russian translations by usmazat and remm. (markt) + Add: 67538: Make use of Ant's task to enfore the mininum Java build version. (michaelo) + Update: Update Checkstyle to 10.12.4. (markt) + Update: Update JaCoCo to 0.8.11. (markt) + Update: Update SpotBugs to 4.8.0. (markt) + Update: Update BND to 7.0.0. (markt) + Update: The minimum Java version required to build Tomcat has been raised to Java 17. (markt) - Added patches: * tomcat-9.0-build-with-java-11.patch- change server.xml during %post instead of %posttrans- Fix server.xml permission (bsc#1217768, bsc#1217402) - remove serverxmltool and use xsltproc- replace prep setup and patches macro with autosetup- Update to Tomcat 9.0.82 * Fixed CVEs: + CVE-2023-45648: Improve trailer header parsing (bsc#1216118) + CVE-2023-42794: FileUpload: remove tmp files to avoid DoS on Windows (bsc#1216120) + CVE-2023-42795: Improve handling of failures during recycle() methods (bsc#1216119) * Catalina + Add: 65770: Provide a lifecycle listener that will automatically reload TLS configurations a set time before the certificate is due to expire. This is intended to be used with third-party tools that regularly renew TLS certificates. + Fix: Fix handling of an error reading a context descriptor on deployment. + Fix: Fix rewrite rule qsd (query string discard) being ignored if qsa was also use, while it should instead take precedence. + Fix: 67472: Send fewer CORS-related headers when CORS is not actually being engaged. + Add: Improve handling of failures within recycle() methods. * Coyote + Fix: 67670: Fix regression with HTTP compression after code refactoring. + Fix: 67198: Ensure that the AJP connector attribute tomcatAuthorization takes precedence over the tomcatAuthentication attribute when processing an auth_type attribute received from a proxy server. + Fix: 67235: Fix a NullPointerException when an AsyncListener handles an error with a dispatch rather than a complete. + Fix: When an error occurs during asynchronous processing, ensure that the error handling process is only triggered once per asynchronous cycle. + Fix: Fix logic issue trying to match no argument method in IntropectionUtil. + Fix: Improve thread safety around readNotify and writeNotify in the NIO2 endpoint. + Fix: Avoid rare thread safety issue accessing message digest map. + Fix: Improve statistics collection for upgraded connections under load. + Fix: Align validation of HTTP trailer fields with standard fields. + Fix: Improvements to HTTP/2 overhead protection (bsc#1216182, CVE-2023-44487) * jdbc-pool + Fix: 67664: Correct a regression in the clean-up of unnecessary use of fully qualified class names in 9.0.81 that broke the jdbc-pool. * Jasper + Fix: 67080: Improve performance of EL expressions in JSPs that use implicit objects- Update to Tomcat 9.0.80 * Catalina + Add RateLimitFilter which can be used to mitigate DoS and Brute Force attacks + Move the management of the utility executor from the init()/destroy() methods of components to the start()/stop() methods. + Add org.apache.catalina.core.StandardVirtualThreadExecutor, a virtual thread based executor that may be used with one or more Connectors to process requests received by those Connectors using virtual threads. This Executor requires a minimum Java version of Java 21. + 66513: Add a per session Semaphore to the PersistentValve that ensures that, within a single Tomcat instance, there is no more than one concurrent request per session. Also expand the debug logging to include whether a request bypasses the Valve and the reason if a request fails to obtain the per session Semaphore. + 66609: Ensure that the default servlet correctly escapes file names in directory listings when using XML output. + 66618: Add a numeric last modified field to the XML directory listings produced by the default servlet to enable sorting in the XSLT. + 66621: Attempts to lock a collection with WebDAV may incorrectly fail if a child collection has an expired lock. + 66622: Deprecate the xssProtectionEnabled setting from the HttpHeaderSecurityFilter and change the default value to false as support for the associated HTTP header has been removed from all major browsers. + 59232: Add org.apache.catalina.core.ContextNamingInfoListener, a listener which creates context naming information environment entries. + 66665: Add org.apache.catalina.core.PropertiesRoleMappingListener, a listener which populates the context's role mapping from a properties file. + Fix an edge case where intra-web application symlinks would be followed if the web applications were deliberately crafted to allow it even when allowLinking was set to false. + Add utility config file resource lookup on Context to allow looking up resources from the webapp (prefixed with webapp:) and make the resource lookup API more visible. + Fix potential database connection leaks in DataSourceUserDatabase identified by Coverity Scan. + Make parsing of ExtendedAccessLogValve patterns more robust. + Fix failure trying to persist configuration for an internal credential handler. + 66680: When serializing a session during the session presistence process, do not log a warning that null Principals are not serializable. + Catch NamingException in JNDIRealm#getPrincipal. It is used in Java up to 17 to signal closed connections. + 66822: Use the same naming format in log messages for Connector instances as the associated ProtocolHandler instance. + The parts count should also lower the actual maxParameterCount used for parsing parameters if parts are parsed first. + If an application or library sets both a non-500 error code and the javax.servlet.error.exception request attribute, use the provided error code during error page processing rather than assuming an error code of 500. + Update code comments and Tomcat output to use MiB for 1024 * 1024 bytes and KiB for 1024 bytes rather than MB and kB. + Avoid protocol relative redirects in FORM authentication (CVE-2023-41080, bsc#1214666). * Coyote + Update the HTTP/2 implementation to use the prioritization scheme defined in RFC 9218 rather than the one defined in RFC 7540. + 66602: not sending WINDOW_UPDATE when dataLength is ZERO on call SwallowedDataFramePayload. + 66627: Restore the documented behaviour of MessageBytes.getType() that it returns the type of the original content rather than reflecting the most recent conversion. + 66635: Correct certificate logging on start-up so it differentiates between keystore based keys/certificates and PEM file based keys/certificates and logs the relevant information for each. + Refactor blocking reads and writes for the NIO connector to remove code paths that could allow a notification from the Poller to be missed resuting in a timeout rather than the expected read or write. + Refactor waiting for an HTTP/2 stream or connection window update to handle spurious wake-ups during the wait. + Correct a regression introduced in 9.0.78 and use the correct constant when constructing the default value for the certificateKeystoreFile attribute of an SSLHostConfigCertificate instance. + Refactor HTTP/2 implementation to reduce pinning when using virtual threads. + Pass through ciphers referring to an OpenSSL profile, such as PROFILE=SYSTEM instead of producing an error trying to parse it. + 66841: Ensure that AsyncListener.onError() is called after an error during asynchronous processing with HTTP/2. + 66842: When using asynchronous I/O (the default for NIO and NIO2), include DATA frames when calculating the HTTP/2 overhead count to ensure that connections are not prematurely terminated. + Correct a race condition that could cause spurious RST messages to be sent after the response had been written to an HTTP/2 stream. * WebSocket + 66548: Expand the validation of the value of the Sec-Websocket-Key header in the HTTP upgrade request that initiates a WebSocket connection. The value is not decoded but it is checked for the correct length and that only valid characters from the base64 alphabet are used. + Improve handling of error conditions for the WebSocket server, particularly during Tomcat shutdown. + Correct a regression in the fix for 66574 that meant the WebSocket session could return false for onOpen() before the onClose() event had been completed. + 66681: Fix a NullPointerException when flushing batched messages with compression enabled using permessage-deflate. * Web applications + Documentation. Expand the security guidance to cover the embedded use case and add notes on the uses made of the java.io.tmpdir system property. + 66662: Documentation. Fix a typo in the name of the algorithms attribute in the configuration section for the Digest authentication value. + Documentation. Update documentation to use MiB for 1024 * 1024 bytes and KiB for 1024 bytes rather than MB and kB. * jdbc-pool + Fix the releaseIdleCounter does not increment when testAllIdle releases them. + Fix the ConnectionState state will be inconsistent with actual state on the connection when an exception occurs while writing. * Other + Update to Commons Daemon 1.3.4. + Improvements to French translations. + Update Checkstyle to 10.12.0. + Update the packaged version of the Apache Tomcat Native Library to 1.2.37 to pick up the Windows binaries built with with OpenSSL 1.1.1u. + Include the Windows specific binary distributions in the files uploaded to Maven Central. + Improvements to French translations. + Improvements to Japanese translations. + Update UnboundID to 6.0.9. + Update Checkstyle to 10.12.1. + Update BND to 6.4.1. + Update JSign to 5.0. + Correct properties for JSign dependency. + Align documentation for maxParameterCount to match hard-coded defaults. + Update NSIS to 3.0.9. + Update Checkstyle to 10.12.2. + Improvements to French translations. + Improvements to Japanese translations. + 66829: Fix quoting so users can use the _RUNJAVA environment variable as intended on Windows when the path to the Java executable contains spaces. + Update Tomcat Native to 1.2.38 to pick up Windows binaries built with OpenSSL 1.1.1v. + Improvements to Chinese translations. + Improvements to French translations. + Improvements to Japanese translations - Removed patch: * tomcat-9.0.75-CVE-2023-41080.patch + integrated in this version- Fixed CVEs: * CVE-2023-41080: Avoid protocol relative redirects in FORM authentication. (bsc#1214666) - Added patches: * tomcat-9.0.75-CVE-2023-41080.patch- Modified patch: * tomcat-9.0-osgi-build.patch + make it more robust to change in number of artifacts in bnd + do not enumerate jars, just take all jars from the aqute-bnd directory into the classpath- Require(pre) shadow because groupadd is needed early- Update to Tomcat 9.0.75. * See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.75_(markt) * Fixes: + bsc#1211608, CVE-2023-28709 + bsc#1208513, CVE-2023-24998 (previous incomplete fix) - Remove patches: * tomcat-9.0-CVE-2021-30640.patch * tomcat-9.0-CVE-2021-33037.patch * tomcat-9.0-CVE-2021-41079.patch * tomcat-9.0-CVE-2022-23181.patch * tomcat-9.0-NPE-JNDIRealm.patch * tomcat-9.0-hardening_getResources.patch * tomcat-9.0.43-CVE-2021-43980.patch * tomcat-9.0.43-CVE-2022-42252.patch * tomcat-9.0.43-CVE-2022-45143.patch * tomcat-9.0.43-CVE-2023-24998.patch * tomcat-9.0.43-CVE-2023-28708.patch + integrated in this version * tomcat-9.0.43-java8compat.patch + problem with Java 8 compatibility solved in this version - Modified patch: * tomcat-9.0.31-secretRequired-default.patch - > tomcat-9.0.75-secretRequired-default.patch + rediffed to changed context * tomcat-9.0-javadoc.patch + drop integrated hunks * tomcat-9.0-osgi-build.patch + fix to work with current version - Added patch: * tomcat-9.0-jdt.patch + fix build against our ecj- Fixed CVEs: * CVE-2022-45143: JsonErrorReportValve: add escape for type, message or description (bsc#1206840) - Added patches: * tomcat-9.0.43-CVE-2022-45143.patch- Fixed CVEs: * CVE-2023-28708: tomcat: not including the secure attribute causes information disclosure (bsc#1209622) - Added patches: * tomcat-9.0.43-CVE-2023-28708.patch- Fixed CVEs: * CVE-2023-24998: tomcat,tomcat6: FileUpload DoS with excessive parts (bsc#1208513) - Added patches: * tomcat-9.0.43-CVE-2023-24998.patch- set logrotate for localhost.log, manager.log, host-manager.log and localhost_access_log.txt - use logrotate for catalina.out * update tomcat-serverxml-tool and spec to configure server.xml - Added patch: * tomcat-9.0-logrotate_everything.patch * tomcat-serverxml-tool.tar.gz - Removed: * tomcat-serverxml-tool-1.0.tar.gz- Use catalina.out for logging (bsc#1205647) - Added patches: * tomcat-9.0-fix_catalina.patch- Fixed CVEs: * CVE-2022-42252: reject invalid content-length requests. (bsc#1204918) - Added patches: * tomcat-9.0.43-CVE-2022-42252.patch- Fixed CVEs: * CVE-2021-43980: Improve the recycling of Processor objects to make it more robust. (bsc#1203868) - Added patches: * tomcat-9.0.43-CVE-2021-43980.patch- Do not hardcode /usr/libexec but use %%_libexecdir during the build * Fixes for platforms, where /usr/libexec and %%_libexecdir are different- Fix bsc#1201081 by building with release=8 all files that can be built this way. The one file remaining, build it with source=8 and target=8 - Modified patch: * tomcat-9.0.43-java8compat.patch + Do not cast ByteBuffer to Buffer to call the Java 8 compatible methods. Build with release=8 instead- Security hardening. Deprecate getResources() and always return null. (bsc#1198136) - Added patch: tomcat-9.0-hardening_getResources.patch- Remove dependency on log4j/reload4j completely (bsc#1196137)- Do not build against the log4j12 packages, use the new reload4j- Fixed CVEs: * CVE-2022-23181: Make calculation of session storage location more robust (bsc#1195255) - Added patches: * tomcat-9.0-CVE-2022-23181.patch- remove instance units from post scripts, they can not be reloaded- Fix NPE in JNDIRealm, when userRoleAttribute is not set (bsc#1193569) - Added patch: * tomcat-9.0-NPE-JNDIRealm.patch- Modified patch: * tomcat-9.0-osgi-build.patch + account for biz.aQute.bnd.ant artifact in aqute-bnd >= 5.2.0- Fixed CVEs: * CVE-2021-30640: Escape parameters in JNDI Realm queries (bsc#1188279) * CVE-2021-33037: Process T-E header from both HTTP 1.0 and HTTP 1.1. clients (bsc#1188278) - Added patches: * tomcat-9.0-CVE-2021-30640.patch * tomcat-9.0-CVE-2021-33037.patch- Fixed CVEs: * CVE-2021-41079: Validate incoming TLS packet (bsc#1190558) - Added patches: * tomcat-9.0-CVE-2021-41079.patch- Update to Tomcat 9.0.43. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.43_(markt) - Removed Patches because fixed upstream now: * tomcat-9.0-CVE-2021-25122.patch * tomcat-9.0-CVE-2021-25329.patch - Rebased patch: tomcat-9.0.39-java8compat.patch -> tomcat-9.0.43-java8compat.patch- Update to Tomcat 9.0.41. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.41_(markt)- Update to Tomcat 9.0.40. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.40_(markt) - Removed Patches because fixed upstream now: * tomcat-9.0-CVE-2020-17527.patch * tomcat-9.0-CVE-2021-24122.patch- Fixed CVEs: * CVE-2021-25122: Apache Tomcat h2c request mix-up (bsc#1182912) * CVE-2021-25329: Complete fix for CVE-2020-9484 (bsc#1182909) - Added patches: * tomcat-9.0-CVE-2021-25122.patch * tomcat-9.0-CVE-2021-25329.patch- Log if file access is blocked due to symlinks: CVE-2021-24122 (bsc#1180947) - Added patch: * tomcat-9.0-CVE-2021-24122.patch- Update to Tomcat 9.0.39. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.39_(markt) - Rebased patches: * tomcat-9.0.38-java8compat.patch -> tomcat-9.0.39-java8compat.patch- Update to Tomcat 9.0.38. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.38_(markt) - Rebased patches: * tomcat-9.0.37-java8compat.patch -> tomcat-9.0.38-java8compat.patch - Removed tomcat-9.0-CVE-2020-13943.patch because that fix is upstream now- Update to Tomcat 9.0.37. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.37_(markt) - Fixed CVEs: * CVE-2020-13934 (bsc#1174121) * CVE-2020-13935 (bsc#1174117) - Rebased patches: * tomcat-9.0-osgi-build.patch * tomcat-9.0.31-java8compat.patch -> tomcat-9.0.37-java8compat.patch- Fix HTTP/2 request header mix-up: CVE-2020-17527 (bsc#1179602) - Added patch: * tomcat-9.0-CVE-2020-17527.patch- Add source url for tomcat-serverxml-tool - Fix typo in tomcat-webapps %postun that caused /examples context to remain in server.xml when package was removed - Remove tomcat-9.0.init and /usr/lib/tmpfiles.d/tomcat.conf from package. They're not used anymore becuse of systemd (bsc#1178396)- Fix tomcat-servlet-4_0-api package alternatives to use /usr/share/java/servlet.jar instead of /usr/share/java/tomcat-servlet.jar. Keep /usr/share/java/tomcat-servlet.jar symlink for compatibility. (bsc#1092163) - Change default file ownership in tomcat-webapps from tomcat:tomcat to root:tomcat- Fix CVE-2020-13943 (bsc#1177582) - Added patch: * tomcat-9.0-CVE-2020-13943.patch - Change /usr/lib/tomcat to /usr/libexec/tomcat in startup scripts (bsc#1177601)- Replace old specfile constructs. Remove support for SUSE 11.x. - Drop %systemd_requires, which is considered a no-op. - Trim redundant license mention from description. - Make documentation noarch. - Do not suppress errors from useradd.- Avoid hardcoding /usr/lib as libexecdir- Don't give write permissions for the tomcat group on files and directories where it's not needed (bsc#1172562) - Change tomcat.pid location from /var/run to /run (bsc#1173103) - Use the /sbin/nologin shell when creating the tomcat user - Use %tmpfiles_create macro in %post instead of calling systemd-tmpfiles directly- Update to Tomcat 9.0.36. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.36_(markt) - Fixed CVEs: CVE-2020-11996 (bsc#1173389)- Update to Tomcat 9.0.35. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.35_(markt) - Fixed CVEs: - CVE-2020-9484 (bsc#1171928) - Rebased patches: * tomcat-9.0-javadoc.patch * tomcat-9.0-osgi-build.patch * tomcat-9.0.31-java8compat.patch- Update to Tomcat 9.0.34. See changelog at https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.34_(markt) - Notable changes: * Add support for default values when using ${...} property replacement in configuration files. Based on a pull request provided by Bernd Bohmann. * When configuring an HTTP Connector, warn if the encoding specified for URIEncoding is not a superset of US-ASCII as required by RFC 7230. * Replace the system property org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH with the Connector attribute encodedSolidusHandling that adds an additional option to pass the %2f sequence through to the application without decoding it in addition to rejecting such sequences and decoding such sequences.- Update to Tomcat 9.0.33. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.33_(markt) - Notable fix: corrected a regression in the improvements to HTTP header parsing (bsc#1167438) - Rebased patches: * tomcat-9.0-javadoc.patch * tomcat-9.0-osgi-build.patch * tomcat-9.0.31-java8compat.patch- Change default value of AJP connector secretRequired to false - Added patch: * tomcat-9.0.31-secretRequired-default.patch- Update to Tomcat 9.0.31. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.30_(markt) - Fixed CVEs: * CVE-2019-17569 (bsc#1164825) * CVE-2020-1935 (bsc#1164860) * CVE-2020-1938 (bsc#1164692) - Modified patch * tomcat-9.0.30-java8compat.patch - > tomcat-9.0.31-java8compat.patch + Adapt to changed context- Modified patch: * tomcat-9.0.30-java8compat.patch + add missing casts (bsc#1162081)- Change back the build to build with any Java >= 1.8 - Added patch: * tomcat-9.0.30-java8compat.patch + Cast java.nio.ByteBuffer and java.nio.CharBuffer to java.nio.Buffer in order to avoid calling Java 9+ APIs (functions with co-variant return types) - Renamed patch: * tomcat-9.0-disable-osgi-build.patch - > tomcat-9.0-osgi-build.patch + Do not disable, but fix OSGi build since we have now aqute-bnd- Change build to always use Java 1.8 (bsc#1161025).- Update to Tomcat 9.0.30. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.30_(markt) - Fixed CVEs: - CVE-2019-0221 (bsc#1136085) - CVE-2019-10072 (bsc#1139924) - CVE-2019-12418 (bsc#1159723) - CVE-2019-17563 (bsc#1159729) - Removed patch: * tomcat-9.0-JDTCompiler-java.patch + It was not applied- Update to Tomcat 9.0.27. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.27_(markt) - Uset aqute-bnd to generate OSGi manifest, since we have that package now in openSUSE:Factory - Removed patch: * tomcat-9.0-disable-osgi-build.patch + not needed- Add maven pom files for tomcat-jni and tomcat-jaspic-api- Distribute the pom file also for tomcat-util-scan artifact- Build against compatibility log4j12 package- Adapt to the new ecj directory layout- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut the build queues by allowing usage of systemd-mini- Update to Tomcat 9.0.20. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.20_(markt) - increase maximum number of threads and open files for tomcat (bsc#1111966)- Update to Tomcat 9.0.19. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.19_(markt) Notable packaging changes: - File /usr/share/java/tomcat/catalina-jmx-remote.jar was removed. The classes contained in this jar were merged into /usr/share/java/tomcat/catalina.jar. - Fixed CVEs: - CVE-2019-0199 (bsc#1131055) - Rebased patch: - tomcat-9.0-JDTCompiler-java.patch - tomcat-9.0-javadoc.patch- Build classpath directly with the geronimo jars instead of with symlinks to them- Don't overwrite changes made to server.xml contexts when updating bundled webapps.- Set javac target to 1.8 when building docs samples and serverxmltool- Move webapps bundled with Tomcat to /usr/share/tomcat/tomcat-webapps (bsc#1092341). Affected packages: - tomcat-webapps - tomcat-admin-webapps - tomcat-docs-webapp - Remove %doc directive from tomcat-docs-webapps files section so that zypper installs files even if rpm.install.excludedocs is set to yes.- Require Java 1.8 or later (bsc#1123407)- Clean up OSGi manifest injection - Put embed maven metadata into embed subpackage - Use the .mfiles* lists generated by %%add_maven_depmap macro- Fix tomcat-tool-wrapper classpath error (bsc#1120745)- Fix tomcat-digest classpath error (bsc#1120745)- Update to Tomcat 9.0.14. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.14_(markt)- Add pom files for tomcat-jdbc and tomcat-dbcp - Add org.eclipse.jetty.orbit* aliases to correspondant artifacts- Update to Tomcat 9.0.13. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.13_(markt)- Update to Tomcat 9.0.12. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.12_(markt) - Fixed CVEs: - CVE-2018-11784 (bsc#1110850) - Rebased patches: - tomcat-9.0-disable-osgi-build.patch - tomcat-9.0-javadoc.patch - tomcat-9.0-sle.catalina.policy.patch - tomcat-9.0-tomcat-users-webapp.patch- Declare following files to config(noreplace) to prevent override access rights: - host-manager/META-INF/context.xml - manager/META-INF/context.xml- Empty tomcat-9.0.sysconfig to avoid overwriting of customer's configuration during update (bsc#1067720)- Update to Tomcat 9.0.10. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.10_(markt) - Fixed CVEs: - CVE-2018-1336 (bsc#1102400) - CVE-2018-8014 (bsc#1093697) - CVE-2018-8034 (bsc#1102379) - CVE-2018-8037 (bsc#1102410) - Rebased patch tomcat-9.0-JDTCompiler-java.patch - Added patch tomcat-9.0-disable-osgi-build.patch to disable adding OSGi metadata to JAR files- Update to Tomcat 9.0.5. See changelog at http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.5_(markt)- Modified patch: * tomcat-9.0-javadoc.patch + Don't append to javadoc --add-modules since we are building with source=8 + Avoid accessing Internet URLs from build environment- Update to Tomcat 9.0.2: * Major update for tomcat8 from tomcat9 * For full changelog please read upstream changes at: + http://tomcat.apache.org/tomcat-9.0-doc/changelog.html * Rename all tomcat-8.0-* files to tomcat-9.0-* - Changed patches: * Deleted: tomcat-8.0-bootstrap-MANIFEST.MF.patch * Deleted: tomcat-8.0-sle.catalina.policy.patch * Deleted: tomcat-8.0-tomcat-users-webapp.patch * Deleted: tomcat-8.0.33-JDTCompiler-java.patch * Deleted: tomcat-8.0.44-javadoc.patch * Deleted: tomcat-8.0.9-property-build.windows.patch * Added: tomcat-9.0-JDTCompiler-java.patch * Added: tomcat-9.0-bootstrap-MANIFEST.MF.patch * Added: tomcat-9.0-javadoc.patch * Added: tomcat-9.0-sle.catalina.policy.patch * Added: tomcat-9.0-tomcat-users-webapp.patch - Renamed subpackage tomcat-3_1-api to tomcat-4_0-api to reflect the new Servlet API version. - Commented out JAVA_HOME in /etc/tomcat/tomcat.conf - Added "tomcat-" prefix to lib symlinks under /usr/share/java to avoid file conflicts with servletapi5 and geronimo-specs - Fixed wrong %ghost file paths for alternatives symlinks- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Build with JDK 8 to fix runtime errors when running with JDK 7 and 8 - Fix tomcat-digest classpath error (bsc#977410) - Fix packaged /etc/alternatives symlinks for api libs that caused rpm -V to report link mismatch (bsc#1019016)- update to 8.0.47 http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Fixed CVE: - CVE-2017-12617 - rebase tomcat-8.0-sle.catalina.policy.patch- Added patch: * tomcat-8.0.44-javadoc.patch - generate documentation with the same source level as class files - fixes build with jdk9- Version update to 8.0.44: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Fixed CVE: - CVE-2017-5664 (bsc#1042910)- New build dependency: javapackages-local- Version update to 8.0.43: * Another bugfix release, for full details see: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Fixed CVEs: - CVE-2017-5647 (bnc#1033448) - CVE-2017-5648 (bnc#1033447) - CVE-2016-8745 - Renamed and rebased patches: * tomcat-7.0-sle.catalina.policy.patch -> tomcat-8.0-sle.catalina.policy.patch - Enable optional setenv.sh script. See section "(3.4) Using the "setenv" script (optional, recommended)" in http://tomcat.apache.org/tomcat-8.0-doc/RUNNING.txt (bnc#1002662) - Fix file conflicts when upgrading from SLES 12 to SLES 12 SP1 (bnc#1023412). Added explicit obsoletes for tomcat-el-2_2-api, tomcat-jsp-2_2-api, tomcat-servlet-3_0-api- update to 8.0.39: (boo#1003911) * Improve handling of I/O errors with async processing * Fail earlier on invalid HTTP request - includes changes from 8.0.38: * Refactoring the non-container thread Async complete()/dispatch() handling to remove the possibility of deadlock * Improved UTF-8 handling for the RewriteValve - includes changes from 8.0.37: * Treat paths used to obtain a request dispatcher as encoded (configurable) * Various jdbc-pool fixes - drop tomcat-8.0.36-jar-scanner-loop.patch, upstream- Switch to commons-dbcp2 fate#321029- Backport fix for inifinite loop in the jar scanner for 8.0.36. (bnc#993862) Added: tomcat-8.0.36-jar-scanner-loop.patch- Version update to 8.0.36: * Another bugfix release for the 8.0 series. Full details: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.36_(markt) - CVE fixed by the version update: - CVE-2016-3092 (bnc#986359) - Fixed a deployment error in the examples webapp by changing the context.xml format to the new one introduced by Tomcat 8. See http://tomcat.apache.org/migration-8.html#Web_application_resources- fix maven fragments paths to build in multiple distribution versions- Version update to 8.0.33: * Another bugfix release for 8.0 series, full details: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.33_(markt) - Rebase tomcat-8.0-tomcat-users-webapp.patch - Rebase tomcat-7.0.53-JDTCompiler-java.patch to tomcat-8.0.33-JDTCompiler-java.patch- Fix fixme for the prereq preamble value - It seems systemd prints error on adding the @ services to macros so do not do that- package was partly merged with the scripts used in the Fedora distribution - support running multiple tomcat instances on the same server (fate#317783) - add catalina-jmx-remote.jar (fate#318403) - remove sysvinit support: systemd is required- update changes file for CVE information - Fixed CVEs: - CVE-2015-5346 (bnc#967814) in 8.0.32 - CVE-2015-5351 (bnc#967812) in 8.0.32 - CVE-2016-0706 (bnc#967815) in 8.0.32 - CVE-2016-0714 (bnc#967964) in 8.0.32 - CVE-2016-0763 (bnc#967966) in 8.0.32 - CVE-2015-5345 (bnc#967965) in 8.0.30 - CVE-2015-5174 (bnc#967967) in 8.0.27- Version update to 8.0.32: * Another bugfix release for 8.0 series, full details: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.32_(markt) - Rebase patch: * tomcat-8.0.9-property-build.windows.patch- update to Tomcat 8.0.28 * Multiple fixes, read upstream changelog at: https://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.28_(markt)- Some whitespace cleanups- Remove pointless conflicts on provide/obsolete symbols- Version bump to 8.0.23 fate#318913: * Multiple testfixes all around, read upstream changelog at: http://tomcat.apache.org/tomcat-8.0-doc/changelog.html#Tomcat_8.0.23_(markt)- Fix previous commit. Fix one rpmlint warning- Drop gpg verification from spec, it is done by obs- Fix build with new jpackage-tools- update to Tomcat 8.0.18: * Major update for tomcat8 from tomcat7 * For full changelog please read upstream changes at: + http://tomcat.apache.org/tomcat-8.0-doc/changelog.html * Rename all tomcat-7.0-* files to tomcat-8.0-* * Update keyring file - Update windows patch to apply again: * Deleted: tomcat-7.0.52-property-build.windows.patch * Added: tomcat-8.0.9-property-build.windows.patch * Added:tomcat-8.0-tomcat-users-webapp.patch * Deleted: tomcat-7.0-tomcat-users-webapp.patch * Added: tomcat-8.0-bootstrap-MANIFEST.MF.patch * Deleted: tomcat-7.0-bootstrap-MANIFEST.MF.patch- Version 1.1.30 or higher is required for APR listener (bnc#914725)h03-ch2c 1773077576  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~9.0.1159.0.115-150200.102.1          !!!!!!!!!!!!!!!!!!!!!!!!!!!! """"""""" ################### $$$$$$$$$$$$$$$ %%%%%%%%%%%%%%%%%%%%%%%%%% &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ''''''''''''''''''''''''''''''''''''''''' (((((((((((((((((((((())))))))))))))))))********************************))(++++++++++(,,,(-------------------............--(((/////////(0000000000001111111022222222200(333333333 44444444444444444 55555555555555555555555555555555555555 66666666666666666666666666666666666666666666666666666666666666666666677777777777777777777777777777 888888888888888888888888888888889999 :::::::::::::::::::::::::::::;;;;;;;;;;;:<<<<<<<<<<<<<<<============<<<>>>>>>>>>>>:???????????:: @@@@@@AAAAAAAAAAAAAAAA@@@BBBBB@CCCCCCCC DDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFDGGGGGGGGGGGGGGGGGDHHHHDDDIIIIIIIIIIIIIIIIIIDJJJJDKKKKKKKKKDLMMMNNNNNNNNNNNNNNNNMMDOOOOO PPPPPPPPPPPPPPPPQQQQQPP RRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSTTTTRUUURR VVVVVVVVVVVVWWWWWWWWXXXXXVYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[Z\\\\\\\Z]]]]]]]]]]]]]]]ZZY^^^^^^^^^^^^^^________________________^^V`aaa`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccbdddddbbVeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeVVVfffffffgghhhhhhhhhhhhhhhhhhhhhhggfiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiifjkkkkkfllllllllfmmmmmmmmmmmfnnnfooooooooopppoqqqqqqqqqqqqorrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrfssssssssssssssssssssssssfttttttfuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwvxxxxxxxxxxxvvvyyyvzzzzz{{{zzuuu||||||||||||||||||||||||f}}}}}f~~~~~~~~~~~~~~~~ffffffffVtomcatallclasses-index.htmlallclasses.htmlallpackages-index.htmlconstant-values.htmldeprecated-list.htmlelement-listhelp-doc.htmlindex-all.htmlindex.htmljqueryjquery-ui.overrides.cssexternaljqueryjquery.jsjquery-3.7.1.min.jsjquery-ui.min.cssjquery-ui.min.jsjszipjszip-utilsdistjszip-utils-ie.jsjszip-utils-ie.min.jsjszip-utils.jsjszip-utils.min.jsdistjszip.jsjszip.min.jsmember-search-index.jsmember-search-index.ziporgapachecatalinaAccessLog.htmlAsyncDispatcher.htmlAuthenticator.htmlCluster.htmlContained.htmlContainer.htmlContainerEvent.htmlContainerListener.htmlContainerServlet.htmlContext.htmlCredentialHandler.htmlDistributedManager.htmlEngine.htmlExecutor.htmlGlobals.htmlGroup.htmlHost.htmlJmxEnabled.htmlLifecycle.SingleUse.htmlLifecycle.htmlLifecycleEvent.htmlLifecycleException.htmlLifecycleListener.htmlLifecycleState.htmlLoader.htmlManager.htmlPipeline.htmlRealm.htmlRole.htmlServer.htmlService.htmlSession.htmlSessionEvent.htmlSessionIdGenerator.htmlSessionListener.htmlStore.htmlStoreManager.htmlThreadBindingListener.htmlTomcatPrincipal.htmlTrackedWebResource.htmlUser.htmlUserDatabase.htmlValve.htmlWebResource.htmlWebResourceLockSet.ResourceLock.htmlWebResourceLockSet.htmlWebResourceRoot.ArchiveIndexStrategy.htmlWebResourceRoot.CacheStrategy.htmlWebResourceRoot.ResourceSetType.htmlWebResourceRoot.htmlWebResourceSet.htmlWrapper.htmlantAbstractCatalinaCommandTask.htmlAbstractCatalinaTask.htmlBaseRedirectorHelperTask.htmlDeployTask.htmlFindLeaksTask.htmlJKStatusUpdateTask.htmlJMXGetTask.htmlJMXQueryTask.htmlJMXSetTask.htmlListTask.htmlReloadTask.htmlResourcesTask.htmlServerinfoTask.htmlSessionsTask.htmlSslConnectorCiphersTask.htmlStartTask.htmlStopTask.htmlThreaddumpTask.htmlUndeployTask.htmlValidatorTask.htmlVminfoTask.htmljmxArg.htmlJMXAccessorCondition.htmlJMXAccessorConditionBase.htmlJMXAccessorCreateTask.htmlJMXAccessorEqualsCondition.htmlJMXAccessorGetTask.htmlJMXAccessorInvokeTask.htmlJMXAccessorQueryTask.htmlJMXAccessorSetTask.htmlJMXAccessorTask.htmlJMXAccessorUnregisterTask.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlauthenticatorAuthenticatorBase.AllowCorsPreflight.htmlAuthenticatorBase.SsoReauthenticationMode.htmlAuthenticatorBase.htmlBasicAuthenticator.BasicCredentials.htmlBasicAuthenticator.htmlConstants.htmlDigestAuthenticator.AuthDigest.htmlDigestAuthenticator.DigestInfo.htmlDigestAuthenticator.NonceInfo.htmlDigestAuthenticator.htmlFormAuthenticator.htmlNonLoginAuthenticator.htmlSSLAuthenticator.htmlSavedRequest.htmlSingleSignOn.htmlSingleSignOnEntry.htmlSingleSignOnListener.htmlSingleSignOnSessionKey.htmlSpnegoAuthenticator.SpnegoTokenFixer.htmlSpnegoAuthenticator.htmljaspicAuthConfigFactoryImpl.htmlCallbackHandlerImpl.htmlMessageInfoImpl.htmlPersistentProviderRegistrations.Property.htmlPersistentProviderRegistrations.Provider.htmlPersistentProviderRegistrations.Providers.htmlPersistentProviderRegistrations.htmlSimpleAuthConfigProvider.htmlSimpleServerAuthConfig.htmlSimpleServerAuthContext.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlconnectorClientAbortException.htmlConnector.htmlCoyoteAdapter.htmlCoyoteInputStream.htmlCoyoteOutputStream.htmlCoyotePrincipal.htmlCoyoteReader.htmlCoyoteWriter.htmlInputBuffer.htmlOutputBuffer.htmlRequest.htmlRequestFacade.htmlResponse.htmlResponseFacade.htmlpackage-summary.htmlpackage-tree.htmlcoreAccessLogAdapter.htmlApplicationContext.htmlApplicationContextFacade.htmlApplicationFilterChain.htmlApplicationFilterConfig.htmlApplicationFilterFactory.htmlApplicationFilterRegistration.htmlApplicationMapping.htmlApplicationPart.htmlApplicationPushBuilder.htmlApplicationServletRegistration.htmlApplicationSessionCookieConfig.htmlAprLifecycleListener.htmlAprStatus.htmlAsyncContextImpl.htmlAsyncListenerWrapper.htmlConstants.htmlContainerBase.ContainerBackgroundProcessor.htmlContainerBase.ContainerBackgroundProcessorMonitor.htmlContainerBase.PrivilegedAddChild.htmlContainerBase.htmlContextNamingInfoListener.htmlDefaultInstanceManager.htmlFrameworkListener.htmlJniLifecycleListener.htmlJreMemoryLeakPreventionListener.htmlNamingContextListener.htmlOpenSSLLifecycleListener.htmlPropertiesRoleMappingListener.htmlStandardContext.htmlStandardEngine.AccessLogListener.htmlStandardEngine.NoopAccessLog.htmlStandardEngine.htmlStandardHost.htmlStandardPipeline.htmlStandardServer.htmlStandardService.htmlStandardThreadExecutor.htmlStandardVirtualThreadExecutor.htmlStandardWrapper.htmlStandardWrapperFacade.htmlThreadLocalLeakPreventionListener.htmlpackage-summary.htmlpackage-tree.htmldeployNamingResourcesImpl.htmlpackage-summary.htmlpackage-tree.htmlfiltersAddDefaultCharsetFilter.ResponseWrapper.htmlAddDefaultCharsetFilter.htmlConstants.htmlCorsFilter.CORSRequestType.htmlCorsFilter.htmlCsrfPreventionFilter.CsrfResponseWrapper.htmlCsrfPreventionFilter.LruCache.htmlCsrfPreventionFilter.MimePredicate.htmlCsrfPreventionFilter.NonceCache.htmlCsrfPreventionFilter.PatternPredicate.htmlCsrfPreventionFilter.PrefixPredicate.htmlCsrfPreventionFilter.SuffixPredicate.htmlCsrfPreventionFilter.htmlCsrfPreventionFilterBase.htmlExpiresFilter.Duration.htmlExpiresFilter.DurationUnit.htmlExpiresFilter.ExpiresConfiguration.htmlExpiresFilter.StartingPoint.htmlExpiresFilter.XHttpServletResponse.htmlExpiresFilter.XPrintWriter.htmlExpiresFilter.XServletOutputStream.htmlExpiresFilter.htmlFailedRequestFilter.htmlFilterBase.htmlHttpHeaderSecurityFilter.htmlRateLimitFilter.htmlRemoteAddrFilter.htmlRemoteCIDRFilter.htmlRemoteHostFilter.htmlRemoteIpFilter.XForwardedRequest.htmlRemoteIpFilter.htmlRequestDumperFilter.htmlRequestFilter.htmlRestCsrfPreventionFilter.htmlSessionInitializerFilter.htmlSetCharacterEncodingFilter.htmlWebdavFixFilter.htmlpackage-summary.htmlpackage-tree.htmlhaCatalinaCluster.htmlClusterDeployer.htmlClusterListener.htmlClusterManager.htmlClusterMessage.htmlClusterMessageBase.htmlClusterRuleSet.htmlClusterSession.htmlClusterValve.htmlauthenticatorClusterSingleSignOn.htmlClusterSingleSignOnListener.htmlpackage-summary.htmlpackage-tree.htmlbackendCollectedInfo.htmlHeartbeatListener.htmlMultiCastSender.htmlProxy.htmlSender.htmlTcpSender.htmlpackage-summary.htmlpackage-tree.htmlcontextReplicatedContext.MultiEnumeration.htmlReplicatedContext.ReplApplContext.htmlReplicatedContext.htmlpackage-summary.htmlpackage-tree.htmldeployFarmWarDeployer.htmlFileChangeListener.htmlFileMessage.htmlFileMessageFactory.htmlUndeployMessage.htmlWarWatcher.WarFilter.htmlWarWatcher.WarInfo.htmlWarWatcher.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlsessionBackupManager.htmlClusterManagerBase.htmlClusterSessionListener.htmlDeltaManager.htmlDeltaRequest.htmlDeltaSession.htmlJvmRouteBinderValve.htmlReplicatedSessionListener.htmlSessionMessage.htmlSessionMessageImpl.htmlpackage-summary.htmlpackage-tree.htmltcpConstants.htmlReplicationValve.htmlSendMessageData.htmlSimpleTcpCluster.htmlpackage-summary.htmlpackage-tree.htmlloaderConstants.htmlJdbcLeakPrevention.htmlParallelWebappClassLoader.htmlResourceEntry.htmlWebappClassLoader.htmlWebappClassLoaderBase.PrivilegedFindClassByName.htmlWebappClassLoaderBase.PrivilegedGetClassLoader.htmlWebappClassLoaderBase.PrivilegedJavaseGetResource.htmlWebappClassLoaderBase.htmlWebappLoader.htmlpackage-summary.htmlpackage-tree.htmlmanagerConstants.htmlDummyProxySession.htmlHTMLManagerServlet.htmlJMXProxyServlet.htmlJspHelper.htmlManagerServlet.htmlStatusManagerServlet.htmlStatusTransformer.htmlhostConstants.htmlHTMLHostManagerServlet.htmlHostManagerServlet.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilBaseSessionComparator.htmlSessionUtils.htmlpackage-summary.htmlpackage-tree.htmlmapperConstants.htmlMapper.ContextList.htmlMapper.ContextVersion.htmlMapper.MapElement.htmlMapper.MappedContext.htmlMapper.MappedHost.htmlMapper.MappedWrapper.htmlMapper.htmlMapperListener.htmlMappingData.htmlWrapperMappingInfo.htmlpackage-summary.htmlpackage-tree.htmlmbeansBaseCatalinaMBean.htmlClassNameMBean.htmlConnectorMBean.htmlContainerMBean.htmlContextEnvironmentMBean.htmlContextMBean.htmlContextResourceLinkMBean.htmlContextResourceMBean.htmlDataSourceUserDatabaseMBean.htmlGlobalResourcesLifecycleListener.htmlGroupMBean.htmlMBeanDumper.htmlMBeanFactory.htmlMBeanUtils.htmlMemoryUserDatabaseMBean.htmlNamingResourcesMBean.htmlRoleMBean.htmlServiceMBean.htmlSparseUserDatabaseMBean.htmlUserMBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlrealmAuthenticatedUserRealm.htmlCombinedRealm.htmlDataSourceRealm.htmlDigestCredentialHandlerBase.htmlGenericPrincipal.htmlJAASCallbackHandler.htmlJAASMemoryLoginModule.htmlJAASRealm.htmlJDBCRealm.htmlJNDIRealm.JNDIConnection.htmlJNDIRealm.User.htmlJNDIRealm.htmlLockOutRealm.LockRecord.htmlLockOutRealm.htmlMemoryRealm.htmlMemoryRuleSet.htmlMessageDigestCredentialHandler.htmlNestedCredentialHandler.htmlNullRealm.htmlRealmBase.AllRolesMode.htmlRealmBase.htmlSecretKeyCredentialHandler.htmlUserDatabaseRealm.UserDatabasePrincipal.htmlUserDatabaseRealm.htmlX509SubjectDnRetriever.htmlX509UsernameRetriever.htmlpackage-summary.htmlpackage-tree.htmlsecurityConstants.htmlDeployXmlPermission.htmlSecurityClassLoad.htmlSecurityConfig.htmlSecurityListener.htmlSecurityUtil.htmlTLSCertificateReloadListener.htmlpackage-summary.htmlpackage-tree.htmlservletsCGIServlet.CGIEnvironment.htmlCGIServlet.CGIRunner.htmlCGIServlet.HTTPHeaderInputStream.htmlCGIServlet.htmlConstants.htmlDataSourcePropertyStore.htmlDefaultServlet.CompressionFormat.htmlDefaultServlet.Range.htmlDefaultServlet.SortManager.Order.htmlDefaultServlet.SortManager.htmlDefaultServlet.htmlWebdavServlet.MemoryPropertyStore.htmlWebdavServlet.PropertyStore.htmlWebdavServlet.PropertyUpdateType.htmlWebdavServlet.PropfindType.htmlWebdavServlet.ProppatchOperation.htmlWebdavServlet.htmlpackage-summary.htmlpackage-tree.htmlsessionConstants.htmlDataSourceStore.htmlFileStore.htmlJDBCStore.htmlManagerBase.SessionTiming.htmlManagerBase.htmlPersistentManager.htmlPersistentManagerBase.htmlStandardManager.htmlStandardSession.htmlStandardSessionFacade.htmlStoreBase.htmlTooManyActiveSessionsException.htmlpackage-summary.htmlpackage-tree.htmlssiByteArrayServletOutputStream.htmlExpressionParseTree.htmlExpressionTokenizer.htmlResponseIncludeWrapper.htmlSSICommand.htmlSSIConditional.htmlSSIConditionalState.htmlSSIConfig.htmlSSIEcho.htmlSSIExec.htmlSSIExternalResolver.htmlSSIFilter.htmlSSIFlastmod.htmlSSIFsize.htmlSSIInclude.htmlSSIMediator.htmlSSIPrintenv.htmlSSIProcessor.htmlSSIServlet.htmlSSIServletExternalResolver.ServletContextAndPath.htmlSSIServletExternalResolver.htmlSSIServletRequestUtil.htmlSSISet.htmlSSIStopProcessingException.htmlpackage-summary.htmlpackage-tree.htmlstartupAddPortOffsetRule.htmlBootstrap.htmlCatalina.CatalinaShutdownHook.htmlCatalina.ServerXml.htmlCatalina.htmlCatalinaBaseConfigurationSource.htmlCatalinaProperties.htmlCertificateCreateRule.htmlClassLoaderFactory.Repository.htmlClassLoaderFactory.RepositoryType.htmlClassLoaderFactory.htmlConnectorCreateRule.htmlConstants.htmlContextConfig.ContextXml.htmlContextConfig.DefaultWebXmlCacheEntry.htmlContextConfig.JavaClassCacheEntry.htmlContextConfig.htmlContextRuleSet.htmlCopyParentClassLoaderRule.htmlCredentialHandlerRuleSet.htmlEngineConfig.htmlEngineRuleSet.htmlExpandWar.htmlFailedContext.htmlHomesUserDatabase.htmlHostConfig.DeployedApplication.htmlHostConfig.htmlHostRuleSet.htmlLifecycleListenerRule.htmlListenerCreateRule.OptionalListener.htmlListenerCreateRule.htmlNamingRuleSet.htmlPasswdUserDatabase.htmlRealmRuleSet.htmlSafeForkJoinWorkerThreadFactory.htmlSetAllPropertiesRule.htmlSetContextPropertiesRule.htmlSetNextNamingRule.htmlTomcat.DefaultWebXmlListener.htmlTomcat.ExistingStandardWrapper.htmlTomcat.FixContextListener.htmlTomcat.htmlTool.htmlUserConfig.htmlUserDatabase.htmlVersionLoggerListener.htmlWebAnnotationSet.htmlWebappServiceLoader.htmlpackage-summary.htmlpackage-tree.htmlstoreconfigCatalinaClusterSF.htmlCertificateStoreAppender.htmlChannelSF.htmlConnectorSF.htmlConnectorStoreAppender.htmlConstants.htmlCredentialHandlerSF.htmlGlobalNamingResourcesSF.htmlIStoreConfig.htmlIStoreFactory.htmlInterceptorSF.htmlJarScannerSF.htmlLoaderSF.htmlManagerSF.htmlNamingResourcesSF.htmlOpenSSLConfSF.htmlPersistentManagerSF.htmlRealmSF.htmlSSLHostConfigSF.htmlSenderSF.htmlStandardContextSF.htmlStandardEngineSF.htmlStandardHostSF.htmlStandardServerSF.htmlStandardServiceSF.htmlStoreAppender.htmlStoreConfig.htmlStoreConfigLifecycleListener.htmlStoreContextAppender.htmlStoreDescription.htmlStoreFactoryBase.htmlStoreFactoryRule.htmlStoreFileMover.htmlStoreLoader.htmlStoreRegistry.htmlWatchedResourceSF.htmlWebResourceRootSF.htmlWrapperLifecycleSF.htmlWrapperListenerSF.htmlpackage-summary.htmlpackage-tree.htmltribesByteMessage.htmlChannel.htmlChannelException.FaultyMember.htmlChannelException.htmlChannelInterceptor.InterceptorEvent.htmlChannelInterceptor.htmlChannelListener.htmlChannelMessage.htmlChannelReceiver.htmlChannelSender.htmlErrorHandler.htmlHeartbeat.htmlJmxChannel.htmlManagedChannel.htmlMember.htmlMembershipListener.htmlMembershipProvider.htmlMembershipService.htmlMessageListener.htmlRemoteProcessException.htmlUniqueId.htmlgroupAbsoluteOrder.AbsoluteComparator.htmlAbsoluteOrder.htmlChannelCoordinator.htmlChannelInterceptorBase.htmlExtendedRpcCallback.htmlGroupChannel.HeartbeatRunnable.htmlGroupChannel.InterceptorIterator.htmlGroupChannel.htmlGroupChannelMBean.htmlInterceptorPayload.htmlResponse.htmlRpcCallback.htmlRpcChannel.RpcCollector.htmlRpcChannel.RpcCollectorKey.htmlRpcChannel.htmlRpcMessage.NoRpcChannelReply.htmlRpcMessage.htmlinterceptorsDomainFilterInterceptor.htmlDomainFilterInterceptorMBean.htmlEncryptInterceptor.htmlEncryptInterceptorMBean.htmlFragmentationInterceptor.FragCollection.htmlFragmentationInterceptor.FragKey.htmlFragmentationInterceptor.htmlFragmentationInterceptorMBean.htmlGzipInterceptor.htmlGzipInterceptorMBean.htmlMessageDispatchInterceptor.htmlMessageDispatchInterceptorMBean.htmlNonBlockingCoordinator.CoordinationEvent.htmlNonBlockingCoordinator.CoordinationMessage.htmlNonBlockingCoordinator.htmlOrderInterceptor.Counter.htmlOrderInterceptor.MessageOrder.htmlOrderInterceptor.htmlSimpleCoordinator.htmlStaticMembershipInterceptor.htmlStaticMembershipInterceptorMBean.htmlTcpFailureDetector.htmlTcpFailureDetectorMBean.htmlTcpPingInterceptor.PingThread.htmlTcpPingInterceptor.htmlTcpPingInterceptorMBean.htmlThroughputInterceptor.htmlThroughputInterceptorMBean.htmlTwoPhaseCommitInterceptor.MapEntry.htmlTwoPhaseCommitInterceptor.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlioBufferPool.BufferPoolAPI.htmlBufferPool.htmlChannelData.htmlDirectByteArrayOutputStream.htmlListenCallback.htmlObjectReader.htmlReplicationStream.htmlXByteBuffer.htmlpackage-summary.htmlpackage-tree.htmljmxJmxRegistry.htmlpackage-summary.htmlpackage-tree.htmlmembershipConstants.htmlMcastService.htmlMcastServiceImpl.ReceiverThread.htmlMcastServiceImpl.RecoveryThread.htmlMcastServiceImpl.SenderThread.htmlMcastServiceImpl.htmlMcastServiceMBean.htmlMemberImpl.htmlMembership.MbrEntry.htmlMembership.htmlMembershipProviderBase.htmlMembershipServiceBase.htmlStaticMember.htmlStaticMembershipProvider.MemberMessage.htmlStaticMembershipProvider.PingThread.htmlStaticMembershipProvider.htmlStaticMembershipService.htmlStaticMembershipServiceMBean.htmlcloudAbstractStreamProvider.htmlCertificateStreamProvider.htmlCloudMembershipProvider.htmlCloudMembershipService.htmlCloudMembershipServiceMBean.htmlDNSMembershipProvider.htmlInsecureStreamProvider.htmlKubernetesMembershipProvider.htmlStreamProvider.htmlTokenStreamProvider.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmltipisAbstractReplicatedMap.MapEntry.htmlAbstractReplicatedMap.MapMessage.htmlAbstractReplicatedMap.MapOwner.htmlAbstractReplicatedMap.htmlLazyReplicatedMap.htmlReplicatedMap.htmlReplicatedMapEntry.htmlpackage-summary.htmlpackage-tree.htmltransportAbstractRxTask.htmlAbstractSender.htmlConstants.htmlDataSender.htmlMultiPointSender.htmlPooledSender.htmlReceiverBase.htmlReplicationTransmitter.htmlRxTaskPool.TaskCreator.htmlRxTaskPool.htmlSenderState.htmlbioBioReceiver.htmlBioReplicationTask.htmlBioSender.htmlMultipointBioSender.htmlPooledMultiSender.htmlpackage-summary.htmlpackage-tree.htmlnioNioReceiver.htmlNioReceiverMBean.htmlNioReplicationTask.htmlNioSender.htmlParallelNioSender.htmlPooledParallelSender.htmlPooledParallelSenderMBean.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilArrays.htmlExceptionUtils.htmlExecutorFactory.htmlLogs.htmlStringManager.htmlTcclThreadFactory.htmlUUIDGenerator.htmlpackage-summary.htmlpackage-tree.htmlusersAbstractGroup.htmlAbstractRole.htmlAbstractUser.htmlConstants.htmlDataSourceUserDatabase.htmlDataSourceUserDatabaseFactory.htmlGenericGroup.htmlGenericRole.htmlGenericUser.htmlMemoryGroup.htmlMemoryRole.htmlMemoryUser.htmlMemoryUserDatabase.htmlMemoryUserDatabaseFactory.htmlSparseUserDatabase.htmlpackage-summary.htmlpackage-tree.htmlutilCharsetMapper.htmlConcurrentDateFormat.htmlContextName.htmlCustomObjectInputStream.htmlDOMWriter.htmlErrorPageSupport.htmlExactRateLimiter.htmlExtension.htmlExtensionValidator.htmlFastRateLimiter.htmlFilterUtil.htmlIOTools.htmlIntrospection.htmlLifecycleBase.htmlLifecycleMBeanBase.htmlManifestResource.htmlNetMask.htmlNetMaskSet.htmlParameterMap.htmlRateLimiter.htmlRateLimiterBase.htmlRequestUtil.htmlResourceSet.htmlServerInfo.htmlSessionConfig.htmlSessionIdGeneratorBase.htmlStandardSessionIdGenerator.htmlStrftime.htmlStringUtil.htmlTLSUtil.htmlTimeBucketCounter.htmlTimeBucketCounterBase.htmlToStringUtil.htmlTomcatCSS.htmlURLEncoder.htmlXMLWriter.htmlpackage-summary.htmlpackage-tree.htmlvalvesAbstractAccessLogValve.AccessLogElement.htmlAbstractAccessLogValve.ByteSentElement.htmlAbstractAccessLogValve.CachedElement.htmlAbstractAccessLogValve.ConnectionStatusElement.htmlAbstractAccessLogValve.CookieElement.htmlAbstractAccessLogValve.DateAndTimeElement.htmlAbstractAccessLogValve.DateFormatCache.Cache.htmlAbstractAccessLogValve.DateFormatCache.htmlAbstractAccessLogValve.ElapsedTimeElement.htmlAbstractAccessLogValve.FirstByteTimeElement.htmlAbstractAccessLogValve.HeaderElement.htmlAbstractAccessLogValve.HostElement.htmlAbstractAccessLogValve.HttpStatusCodeElement.htmlAbstractAccessLogValve.LocalAddrElement.htmlAbstractAccessLogValve.LocalServerNameElement.htmlAbstractAccessLogValve.LogicalUserNameElement.htmlAbstractAccessLogValve.MethodElement.htmlAbstractAccessLogValve.PortElement.htmlAbstractAccessLogValve.ProtocolElement.htmlAbstractAccessLogValve.QueryElement.htmlAbstractAccessLogValve.RemoteAddrElement.htmlAbstractAccessLogValve.RequestAttributeElement.htmlAbstractAccessLogValve.RequestElement.htmlAbstractAccessLogValve.RequestURIElement.htmlAbstractAccessLogValve.ResponseHeaderElement.htmlAbstractAccessLogValve.SessionAttributeElement.htmlAbstractAccessLogValve.SessionIdElement.htmlAbstractAccessLogValve.StringElement.htmlAbstractAccessLogValve.ThreadNameElement.htmlAbstractAccessLogValve.UserElement.htmlAbstractAccessLogValve.htmlAccessLogValve.htmlConstants.AccessLog.htmlConstants.htmlCrawlerSessionManagerValve.htmlErrorReportValve.htmlExtendedAccessLogValve.CookieElement.htmlExtendedAccessLogValve.DateElement.htmlExtendedAccessLogValve.PatternTokenizer.htmlExtendedAccessLogValve.RequestAttributeElement.htmlExtendedAccessLogValve.RequestHeaderElement.htmlExtendedAccessLogValve.RequestParameterElement.htmlExtendedAccessLogValve.ResponseAllHeaderElement.htmlExtendedAccessLogValve.ResponseHeaderElement.htmlExtendedAccessLogValve.ServletContextElement.htmlExtendedAccessLogValve.SessionAttributeElement.htmlExtendedAccessLogValve.TimeElement.htmlExtendedAccessLogValve.htmlHealthCheckValve.htmlJDBCAccessLogValve.htmlJsonAccessLogValve.CharElement.htmlJsonAccessLogValve.htmlJsonErrorReportValve.htmlLoadBalancerDrainingValve.htmlParameterLimitValve.htmlPersistentValve.htmlProxyErrorReportValve.htmlRemoteAddrValve.htmlRemoteCIDRValve.htmlRemoteHostValve.htmlRemoteIpValve.htmlRequestFilterValve.htmlSSLValve.htmlSemaphoreValve.htmlStuckThreadDetectionValve.htmlValveBase.htmlpackage-summary.htmlpackage-tree.htmlrewriteInternalRewriteMap.Escape.htmlInternalRewriteMap.LowerCase.htmlInternalRewriteMap.Unescape.htmlInternalRewriteMap.UpperCase.htmlInternalRewriteMap.htmlQuotedStringTokenizer.htmlRandomizedTextRewriteMap.htmlResolver.htmlResolverImpl.htmlRewriteCond.Condition.htmlRewriteCond.LexicalCondition.htmlRewriteCond.PatternCondition.htmlRewriteCond.ResourceCondition.htmlRewriteCond.htmlRewriteMap.htmlRewriteRule.htmlRewriteValve.htmlSubstitution.MapElement.htmlSubstitution.RewriteCondBackReferenceElement.htmlSubstitution.RewriteRuleBackReferenceElement.htmlSubstitution.ServerVariableElement.htmlSubstitution.ServerVariableEnvElement.htmlSubstitution.ServerVariableHttpElement.htmlSubstitution.ServerVariableSslElement.htmlSubstitution.StaticElement.htmlSubstitution.SubstitutionElement.htmlSubstitution.htmlpackage-summary.htmlpackage-tree.htmlwebresourcesAbstractArchiveResource.JarInputStreamWrapper.htmlAbstractArchiveResource.htmlAbstractArchiveResourceSet.htmlAbstractFileResourceSet.htmlAbstractResource.htmlAbstractResourceSet.htmlAbstractSingleArchiveResource.htmlAbstractSingleArchiveResourceSet.htmlCache.htmlCachedResource.htmlClasspathURLStreamHandler.htmlDirResourceSet.htmlEmptyResource.htmlEmptyResourceSet.htmlExtractingRoot.htmlFileResource.htmlFileResourceSet.htmlJarContents.htmlJarResource.htmlJarResourceRoot.htmlJarResourceSet.htmlJarWarResource.htmlJarWarResourceSet.htmlStandardRoot.htmlTomcatJarInputStream.htmlTomcatURLStreamHandlerFactory.htmlVirtualResource.htmlWarResource.htmlWarResourceSet.htmlpackage-summary.htmlpackage-tree.htmlwarHandler.htmlWarURLConnection.htmlpackage-summary.htmlpackage-tree.htmlcoyoteAbstractProcessor.htmlAbstractProcessorLight.htmlAbstractProtocol.ConnectionHandler.htmlAbstractProtocol.RecycledProcessors.htmlAbstractProtocol.htmlActionCode.htmlActionHook.htmlAdapter.htmlAsyncContextCallback.htmlBadRequestException.htmlCloseNowException.htmlCompressionConfig.htmlConstants.htmlContainerThreadMarker.htmlContinueResponseTiming.htmlErrorState.htmlInputBuffer.htmlNonPipeliningProcessor.htmlOutputBuffer.htmlProcessor.htmlProtocolException.htmlProtocolHandler.htmlRequest.htmlRequestGroupInfo.htmlRequestInfo.htmlResponse.htmlUpgradeProtocol.htmlUpgradeToken.htmlajpAbstractAjpProtocol.htmlAjpAprProtocol.htmlAjpMessage.htmlAjpNio2Protocol.htmlAjpNioProtocol.htmlAjpProcessor.SocketInputBuffer.htmlAjpProcessor.SocketOutputBuffer.htmlAjpProcessor.htmlConstants.htmlpackage-summary.htmlpackage-tree.htmlhttp11AbstractHttp11JsseProtocol.htmlAbstractHttp11Protocol.htmlConstants.htmlHeadersTooLargeException.htmlHttp11AprProtocol.htmlHttp11InputBuffer.htmlHttp11Nio2Protocol.htmlHttp11NioProtocol.htmlHttp11OutputBuffer.SocketOutputBuffer.htmlHttp11OutputBuffer.htmlHttp11Processor.htmlHttpOutputBuffer.htmlInputFilter.htmlOutputFilter.htmlfiltersBufferedInputFilter.htmlChunkedInputFilter.htmlChunkedOutputFilter.htmlGzipOutputFilter.FakeOutputStream.htmlGzipOutputFilter.htmlIdentityInputFilter.htmlIdentityOutputFilter.htmlSavedRequestInputFilter.htmlVoidInputFilter.htmlVoidOutputFilter.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlupgradeInternalHttpUpgradeHandler.htmlUpgradeApplicationBufferHandler.htmlUpgradeGroupInfo.htmlUpgradeInfo.htmlUpgradeProcessorBase.htmlUpgradeProcessorExternal.htmlUpgradeProcessorInternal.htmlUpgradeServletInputStream.htmlUpgradeServletOutputStream.htmlpackage-summary.htmlpackage-tree.htmlhttp2Constants.htmlHPackHuffman.HuffmanCode.htmlHPackHuffman.htmlHpackDecoder.htmlHttp2AsyncUpgradeHandler.AsyncPingManager.htmlHttp2AsyncUpgradeHandler.SendfileCompletionHandler.htmlHttp2AsyncUpgradeHandler.htmlHttp2OutputBuffer.htmlHttp2Protocol.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlelExpressionFactoryImpl.htmlMethodExpressionImpl.htmlMethodExpressionLiteral.htmlValueExpressionImpl.htmlValueExpressionLiteral.htmllangELArithmetic.BigDecimalDelegate.htmlELArithmetic.BigIntegerDelegate.htmlELArithmetic.DoubleDelegate.htmlELArithmetic.LongDelegate.htmlELArithmetic.htmlELSupport.htmlEvaluationContext.htmlExpressionBuilder.htmlFunctionMapperFactory.htmlFunctionMapperImpl.Function.htmlFunctionMapperImpl.htmlLambdaExpressionNestedState.htmlVariableMapperFactory.htmlVariableMapperImpl.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlstreamOptional.htmlStream.htmlStreamELResolverImpl.htmlpackage-summary.htmlpackage-tree.htmlutilConcurrentCache.htmlExceptionUtils.htmlJreCompat.htmlMessageFactory.htmlReflectionUtil.htmlValidation.htmlpackage-summary.htmlpackage-tree.htmljasperConstants.htmlEmbeddedServletOptions.htmlJasperException.htmlJspC.htmlJspCompilationContext.htmlOptions.htmlTrimSpacesOption.htmlcompilerAntCompiler.JasperAntLogger.htmlAntCompiler.SystemLogHandler.htmlAntCompiler.htmlAttributeParser.htmlBeanRepository.htmlCompiler.htmlELFunctionMapper.htmlELInterpreter.htmlELInterpreterFactory.DefaultELInterpreter.htmlELInterpreterFactory.htmlELNode.ELText.htmlELNode.Function.htmlELNode.Nodes.htmlELNode.Root.htmlELNode.Text.htmlELNode.Visitor.htmlELNode.htmlELParser.htmlErrorDispatcher.htmlErrorHandler.htmlJDTCompiler.htmlJarScannerFactory.htmlJavaCompiler.htmlJavacErrorDetail.htmlJspConfig.JspProperty.htmlJspConfig.JspPropertyGroup.htmlJspConfig.htmlJspRuntimeContext.htmlJspUtil.ValidAttribute.htmlJspUtil.htmlLocalizer.htmlMark.htmlNewlineReductionServletWriter.htmlNode.AttributeDirective.htmlNode.AttributeGenerator.htmlNode.ChildInfo.htmlNode.ChildInfoBase.htmlNode.Comment.htmlNode.CustomTag.htmlNode.Declaration.htmlNode.DoBodyAction.htmlNode.ELExpression.htmlNode.Expression.htmlNode.FallBackAction.htmlNode.ForwardAction.htmlNode.GetProperty.htmlNode.IncludeAction.htmlNode.IncludeDirective.htmlNode.InvokeAction.htmlNode.JspAttribute.htmlNode.JspBody.htmlNode.JspElement.htmlNode.JspOutput.htmlNode.JspRoot.htmlNode.JspText.htmlNode.NamedAttribute.htmlNode.Nodes.htmlNode.PageDirective.htmlNode.ParamAction.htmlNode.ParamsAction.htmlNode.PlugIn.htmlNode.Root.htmlNode.ScriptingElement.htmlNode.Scriptlet.htmlNode.SetProperty.htmlNode.TagDirective.htmlNode.TaglibDirective.htmlNode.TemplateText.htmlNode.UninterpretedTag.htmlNode.UseBean.htmlNode.VariableDirective.htmlNode.Visitor.htmlNode.htmlPageInfo.htmlParserController.htmlServletWriter.htmlSmapInput.htmlSmapStratum.LineInfo.htmlSmapStratum.htmlSmapUtil.htmlStringInterpreter.htmlStringInterpreterFactory.DefaultStringInterpreter.htmlStringInterpreterFactory.htmlTagConstants.htmlTagFileProcessor.htmlTagPluginManager.htmlTextOptimizer.htmlTldCache.htmlpackage-summary.htmlpackage-tree.htmltagpluginTagPlugin.htmlTagPluginContext.htmlpackage-summary.htmlpackage-tree.htmlelELContextImpl.htmlELContextWrapper.htmlELResolverImpl.htmlExpressionEvaluatorImpl.htmlExpressionImpl.htmlFunctionMapperImpl.htmlJasperELResolver.GraalBeanELResolver.htmlJasperELResolver.htmlJspELException.htmlJspMethodExpression.htmlJspMethodNotFoundException.htmlJspPropertyNotFoundException.htmlJspPropertyNotWritableException.htmlJspValueExpression.htmlVariableResolverImpl.htmlpackage-summary.htmlpackage-tree.htmloptimizationsELInterpreterTagSetters.htmlStringInterpreterEnum.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlruntimeBodyContentImpl.htmlExceptionUtils.htmlHttpJspBase.htmlInstanceManagerFactory.htmlJspApplicationContextImpl.htmlJspContextWrapper.htmlJspFactoryImpl.htmlJspFragmentHelper.htmlJspRuntimeLibrary.htmlJspSourceDependent.htmlJspSourceImports.htmlJspWriterImpl.htmlPageContextImpl.htmlProtectedFunctionMapper.htmlServletResponseWrapperInclude.htmlTagHandlerPool.htmlpackage-summary.htmlpackage-tree.htmlsecuritySecurityClassLoad.htmlSecurityUtil.htmlpackage-summary.htmlpackage-tree.htmlservletJasperInitializer.htmlJasperLoader.htmlJspCServletContext.htmlJspServlet.htmlJspServletWrapper.htmlTldPreScanned.htmlTldScanner.htmlpackage-summary.htmlpackage-tree.htmltagpluginsjstlUtil.ImportResponseWrapper.htmlUtil.htmlcoreCatch.htmlChoose.htmlForEach.htmlForTokens.htmlIf.htmlImport.htmlOtherwise.htmlOut.htmlParam.htmlRedirect.htmlRemove.htmlSet.htmlUrl.htmlWhen.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilFastRemovalDequeue.Entry.htmlFastRemovalDequeue.htmlUniqueAttributesImpl.htmlpackage-summary.htmlpackage-tree.htmljuliAsyncFileHandler.htmlClassLoaderLogManager.ClassLoaderLogInfo.htmlClassLoaderLogManager.LogNode.htmlClassLoaderLogManager.RootLogger.htmlClassLoaderLogManager.htmlDateFormatCache.htmlFileHandler.ThreadFactory.htmlFileHandler.htmlJdkLoggerFormatter.htmlJsonFormatter.JSONFilter.htmlJsonFormatter.htmlLogUtil.htmlOneLineFormatter.htmlVerbatimFormatter.htmlWebappProperties.htmlloggingLog.htmlLogConfigurationException.htmlLogFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlnamingAbstractRef.htmlContextAccessController.htmlContextBindings.htmlEjbRef.htmlHandlerRef.htmlLookupRef.htmlNameParserImpl.htmlNamingContext.htmlNamingContextBindingsEnumeration.htmlNamingContextEnumeration.htmlNamingEntry.htmlResourceEnvRef.htmlResourceLinkRef.htmlResourceRef.htmlSelectorContext.htmlServiceRef.htmlStringManager.htmlTransactionRef.htmlfactoryBeanFactory.htmlConstants.htmlDataSourceLinkFactory.DataSourceHandler.htmlDataSourceLinkFactory.htmlEjbFactory.htmlFactoryBase.htmlLookupFactory.htmlMailSessionFactory.htmlOpenEjbFactory.htmlResourceEnvFactory.htmlResourceFactory.htmlResourceLinkFactory.htmlSendMailFactory.htmlTransactionFactory.htmlpackage-summary.htmlpackage-tree.htmlwebservicesServiceProxy.htmlServiceRefFactory.htmlpackage-summary.htmlpackage-tree.htmljavajavaURLContextFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmltomcatContextBind.htmlInstanceManager.htmlInstanceManagerBindings.htmlInstrumentableClassLoader.htmlJar.htmlJarScanFilter.htmlJarScanType.htmlJarScanner.htmlJarScannerCallback.htmlPeriodicEventListener.htmlSimpleInstanceManager.htmlbuildutilCheckEol.htmlForceUtcTimeZone.htmlRepeatableArchive.htmlTxt2Html.htmlUtils.htmlpackage-summary.htmlpackage-tree.htmltranslateConstants.htmlImport.htmlUtils.htmlpackage-summary.htmlpackage-tree.htmldbcpdbcp2AbandonedTrace.htmlBasicDataSource.htmlBasicDataSourceFactory.htmlBasicDataSourceMXBean.htmlConnectionFactory.htmlConstants.htmlDataSourceConnectionFactory.htmlDataSourceMXBean.htmlDelegatingCallableStatement.htmlDelegatingConnection.htmlDelegatingDatabaseMetaData.htmlDelegatingPreparedStatement.htmlDelegatingResultSet.htmlDelegatingStatement.htmlDriverConnectionFactory.htmlDriverManagerConnectionFactory.htmlJdbc41Bridge.htmlListException.htmlPStmtKey.htmlPoolableCallableStatement.htmlPoolableConnection.htmlPoolableConnectionFactory.htmlPoolableConnectionMXBean.htmlPoolablePreparedStatement.htmlPoolingConnection.StatementType.htmlPoolingConnection.htmlPoolingDataSource.htmlPoolingDriver.htmlSQLExceptionList.htmlSwallowedExceptionLogger.htmlUtils.htmlcpdsadapterDriverAdapterCPDS.htmlPStmtKeyCPDS.htmlpackage-summary.htmlpackage-tree.htmldatasourcesInstanceKeyDataSource.htmlPerUserPoolDataSource.htmlPerUserPoolDataSourceFactory.htmlSharedPoolDataSource.htmlSharedPoolDataSourceFactory.htmlpackage-summary.htmlpackage-tree.htmlmanagedBasicManagedDataSource.htmlDataSourceXAConnectionFactory.htmlLocalXAConnectionFactory.LocalXAResource.htmlLocalXAConnectionFactory.htmlManagedConnection.CompletionListener.htmlManagedConnection.htmlManagedDataSource.htmlPoolableManagedConnection.htmlPoolableManagedConnectionFactory.htmlTransactionContext.htmlTransactionContextListener.htmlTransactionRegistry.htmlXAConnectionFactory.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpool2BaseObject.htmlBaseObjectPool.htmlDestroyMode.htmlKeyedObjectPool.htmlKeyedPooledObjectFactory.htmlObjectPool.htmlPoolUtils.htmlPooledObject.htmlPooledObjectFactory.htmlPooledObjectState.htmlSwallowedExceptionListener.htmlTrackedUse.htmlUsageTracking.htmlimplAbandonedConfig.htmlBaseGenericObjectPool.htmlBaseObjectPoolConfig.htmlCallStack.htmlCallStackUtils.htmlDefaultEvictionPolicy.htmlDefaultPooledObject.htmlDefaultPooledObjectInfo.htmlDefaultPooledObjectInfoMBean.htmlEvictionConfig.htmlEvictionPolicy.htmlGenericKeyedObjectPool.htmlGenericKeyedObjectPoolConfig.htmlGenericKeyedObjectPoolMXBean.htmlGenericObjectPool.htmlGenericObjectPoolConfig.htmlGenericObjectPoolMXBean.htmlNoOpCallStack.htmlPooledSoftReference.htmlSecurityManagerCallStack.htmlSoftReferenceObjectPool.htmlThrowableCallStack.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmljdbcnamingGenericNamingResourcesFactory.htmlpackage-summary.htmlpackage-tree.htmlpoolClassLoaderUtil.htmlConnectionPool.ConnectionFuture.htmlConnectionPool.PoolCleaner.htmlConnectionPool.htmlDataSource.htmlDataSourceFactory.htmlDataSourceProxy.htmlDisposableConnectionFacade.htmlFairBlockingQueue.ExchangeCountDownLatch.htmlFairBlockingQueue.FairIterator.htmlFairBlockingQueue.ItemFuture.htmlFairBlockingQueue.htmlJdbcInterceptor.htmlMultiLockFairBlockingQueue.ExchangeCountDownLatch.htmlMultiLockFairBlockingQueue.FairIterator.htmlMultiLockFairBlockingQueue.ItemFuture.htmlMultiLockFairBlockingQueue.htmlPoolConfiguration.htmlPoolExhaustedException.htmlPoolProperties.InterceptorDefinition.htmlPoolProperties.InterceptorProperty.htmlPoolProperties.htmlPoolUtilities.htmlPooledConnection.htmlPooledConnectionMBean.htmlProxyConnection.htmlStatementFacade.ResultSetProxy.htmlStatementFacade.StatementProxy.htmlStatementFacade.htmlTrapException.htmlValidator.htmlXADataSource.htmlinterceptorAbstractCreateStatementInterceptor.htmlAbstractQueryReport.StatementProxy.htmlAbstractQueryReport.htmlConnectionState.htmlQueryTimeoutInterceptor.htmlResetAbandonedTimer.htmlResetAbandonedTimerMBean.htmlSlowQueryReport.QueryStats.htmlSlowQueryReport.QueryStatsComparator.htmlSlowQueryReport.htmlSlowQueryReportJmx.htmlSlowQueryReportJmxMBean.htmlStatementCache.CachedStatement.htmlStatementCache.htmlStatementCacheMBean.htmlStatementDecoratorInterceptor.ResultSetProxy.htmlStatementDecoratorInterceptor.StatementProxy.htmlStatementDecoratorInterceptor.htmlStatementFinalizer.StatementEntry.htmlStatementFinalizer.htmlpackage-summary.htmlpackage-tree.htmljmxConnectionPool.htmlConnectionPoolMBean.htmlJmxUtil.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmljniAddress.htmlAprStatus.htmlBIOCallback.htmlBuffer.htmlCertificateVerifier.htmlDirectory.htmlError.htmlFile.htmlFileInfo.htmlGlobal.htmlLibrary.htmlLibraryNotFoundError.htmlLocal.htmlLock.htmlMmap.htmlMulticast.htmlOS.htmlPasswordCallback.htmlPoll.htmlPool.htmlPoolCallback.htmlProc.htmlProcErrorCallback.htmlProcattr.htmlRegistry.htmlSSL.htmlSSLConf.htmlSSLContext.SNICallBack.htmlSSLContext.htmlSSLSocket.htmlShm.htmlSockaddr.htmlSocket.htmlStatus.htmlStdlib.htmlThread.htmlTime.htmlUser.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlutilDiagnostics.htmlExceptionUtils.htmlIntrospectionUtils.PropertySource.htmlIntrospectionUtils.SecurePropertySource.htmlIntrospectionUtils.htmlMultiThrowable.htmlbcelConst.htmlclassfileAnnotationElementValue.htmlAnnotationEntry.htmlAnnotations.htmlArrayElementValue.htmlClassElementValue.htmlClassFormatException.htmlClassParser.htmlConstant.htmlConstantClass.htmlConstantDouble.htmlConstantFloat.htmlConstantInteger.htmlConstantLong.htmlConstantPool.htmlConstantUtf8.htmlElementValue.htmlElementValuePair.htmlEnumElementValue.htmlJavaClass.htmlSimpleElementValue.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlbufAbstractChunk.htmlAscii.htmlAsn1Parser.htmlAsn1Writer.htmlB2CConverter.htmlByteBufferHolder.htmlByteBufferUtils.htmlByteChunk.BufferOverflowException.htmlByteChunk.ByteInputChannel.htmlByteChunk.ByteOutputChannel.htmlByteChunk.htmlC2BConverter.htmlCharChunk.CharInputChannel.htmlCharChunk.CharOutputChannel.htmlCharChunk.htmlCharsetCache.htmlCharsetUtil.htmlEncodedSolidusHandling.htmlHexUtils.htmlMessageBytes.htmlStringCache.ByteEntry.htmlStringCache.CharEntry.htmlStringCache.htmlStringUtils.htmlToStringUtil.htmlUDecoder.htmlUEncoder.SafeCharsSet.htmlUEncoder.htmlUriUtil.htmlUtf8Decoder.htmlUtf8Encoder.htmlpackage-summary.htmlpackage-tree.htmlcodecbinaryBase64.htmlBaseNCodec.htmlStringUtils.htmlpackage-summary.htmlpackage-tree.htmlcollectionsCaseInsensitiveKeyMap.htmlConcurrentCache.htmlConcurrentLruCache.htmlManagedConcurrentWeakHashMap.htmlSynchronizedQueue.htmlSynchronizedStack.htmlpackage-summary.htmlpackage-tree.htmlcompatJre12Compat.htmlJre19Compat.htmlJre20Compat.htmlJre21Compat.htmlJre22Compat.htmlJreCompat.htmlJrePlatform.htmlJreVendor.htmlTLS.htmlpackage-summary.htmlpackage-tree.htmlconcurrentKeyedReentrantReadWriteLock.htmlpackage-summary.htmlpackage-tree.htmldescriptorConstants.htmlDigesterFactory.htmlInputSourceUtil.htmlLocalResolver.htmlXmlErrorHandler.htmlXmlIdentifiers.htmlpackage-summary.htmlpackage-tree.htmltagpluginTagPluginParser.htmlpackage-summary.htmlpackage-tree.htmltldImplicitTldRuleSet.htmlTagFileXml.htmlTagXml.htmlTaglibXml.htmlTldParser.htmlTldResourcePath.htmlTldRuleSet.Attribute.htmlTldRuleSet.Variable.htmlTldRuleSet.htmlValidatorXml.htmlpackage-summary.htmlpackage-tree.htmlwebApplicationParameter.htmlConstants.htmlContextEjb.htmlContextEnvironment.htmlContextHandler.htmlContextLocalEjb.htmlContextResource.htmlContextResourceEnvRef.htmlContextResourceLink.htmlContextService.htmlContextTransaction.htmlErrorPage.htmlFilterDef.htmlFilterMap.htmlFragmentJarScannerCallback.htmlInjectable.htmlInjectionTarget.htmlJspConfigDescriptorImpl.htmlJspPropertyGroup.htmlJspPropertyGroupDescriptorImpl.htmlLoginConfig.htmlMessageDestination.htmlMessageDestinationRef.htmlMultipartDef.htmlNamingResources.htmlResourceBase.htmlSecurityCollection.htmlSecurityConstraint.htmlSecurityRoleRef.htmlServletDef.htmlSessionConfig.htmlTaglibDescriptorImpl.htmlWebRuleSet.htmlWebXml.htmlWebXmlParser.htmlXmlEncodingBase.htmlpackage-summary.htmlpackage-tree.htmldigesterAbstractObjectCreationFactory.htmlArrayStack.htmlCallMethodRule.htmlCallParamRule.htmlDigester.EnvironmentPropertySource.htmlDigester.GeneratedCodeLoader.htmlDigester.htmlDocumentProperties.Charset.htmlDocumentProperties.htmlEnvironmentPropertySource.htmlFactoryCreateRule.htmlObjectCreateRule.htmlObjectCreationFactory.htmlRule.htmlRuleSet.htmlRules.htmlRulesBase.htmlServiceBindingPropertySource.htmlSetNextRule.htmlSetPropertiesRule.Listener.htmlSetPropertiesRule.htmlSystemPropertySource.htmlpackage-summary.htmlpackage-tree.htmlfileConfigFileLoader.htmlConfigurationSource.Resource.htmlConfigurationSource.htmlMatcher.htmlpackage-summary.htmlpackage-tree.htmlhttpConcurrentDateFormat.htmlCookieProcessor.htmlCookieProcessorBase.htmlCookiesWithoutEquals.htmlFastHttpDateFormat.htmlHeaderUtil.htmlLegacyCookieProcessor.htmlMethod.htmlMimeHeaders.htmlParameters.FailReason.htmlParameters.htmlRequestUtil.htmlResponseUtil.htmlRfc6265CookieProcessor.htmlSameSiteCookies.htmlServerCookie.htmlServerCookies.htmlWebdavIfHeader.htmlfileuploadByteArrayOutputStream.htmlDeferredFileOutputStream.htmlFileItem.htmlFileItemFactory.htmlFileItemHeaders.htmlFileItemHeadersSupport.htmlFileItemIterator.htmlFileItemStream.ItemSkippedException.htmlFileItemStream.htmlFileUpload.htmlFileUploadBase.htmlFileUploadException.htmlFileUtils.htmlIOUtils.htmlInvalidFileNameException.htmlMultipartStream.IllegalBoundaryException.htmlMultipartStream.ItemInputStream.htmlMultipartStream.MalformedStreamException.htmlMultipartStream.ProgressNotifier.htmlMultipartStream.htmlParameterParser.htmlProgressListener.htmlRequestContext.htmlThresholdingOutputStream.htmlUploadContext.htmldiskDiskFileItem.htmlDiskFileItemFactory.htmlpackage-summary.htmlpackage-tree.htmlimplFileCountLimitExceededException.htmlFileItemIteratorImpl.htmlFileItemStreamImpl.htmlFileSizeLimitExceededException.htmlFileUploadIOException.htmlIOFileUploadException.htmlInvalidContentTypeException.htmlSizeException.htmlSizeLimitExceededException.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlservletServletRequestContext.htmlpackage-summary.htmlpackage-tree.htmlutilCloseable.htmlFileItemHeadersImpl.htmlLimitedInputStream.htmlStreams.htmlmimeMimeUtility.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlparserAcceptEncoding.htmlAcceptLanguage.htmlAuthorization.htmlContentRange.htmlCookie.htmlEntityTag.htmlHost.htmlHttpHeaderParser.HeaderDataSource.htmlHttpHeaderParser.HeaderParsePosition.htmlHttpHeaderParser.HeaderParseStatus.htmlHttpHeaderParser.htmlHttpParser.htmlMediaType.htmlMediaTypeCache.htmlPriority.htmlRanges.Entry.htmlRanges.htmlStructuredField.htmlTE.htmlTokenList.htmlUpgrade.htmlVary.htmlpackage-summary.htmlpackage-tree.htmllogSystemLogHandler.htmlUserDataHelper.Mode.htmlUserDataHelper.htmlpackage-summary.htmlpackage-tree.htmlmodelerAttributeInfo.htmlBaseAttributeFilter.htmlBaseModelMBean.htmlBaseNotificationBroadcaster.htmlFeatureInfo.htmlManagedBean.htmlNoDescriptorRegistry.htmlNotificationInfo.htmlOperationInfo.htmlParameterInfo.htmlRegistry.htmlRegistryMBean.htmlUtil.htmlmodulesMbeansDescriptorsDigesterSource.htmlMbeansDescriptorsIntrospectionSource.htmlModelerSource.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlnetAbstractEndpoint.BindState.htmlAbstractEndpoint.Handler.SocketState.htmlAbstractEndpoint.Handler.htmlAbstractEndpoint.htmlAbstractJsseEndpoint.htmlAcceptor.AcceptorState.htmlAcceptor.htmlApplicationBufferHandler.htmlAprEndpoint.AprSocketWrapper.htmlAprEndpoint.Poller.htmlAprEndpoint.Sendfile.htmlAprEndpoint.SendfileData.htmlAprEndpoint.SocketInfo.htmlAprEndpoint.SocketList.htmlAprEndpoint.SocketProcessor.htmlAprEndpoint.SocketTimeouts.htmlAprEndpoint.SocketWithOptionsProcessor.htmlAprEndpoint.htmlAprSSLSupport.htmlConstants.htmlContainerThreadMarker.htmlDispatchType.htmlIPv6Utils.htmlNio2Channel.htmlNio2Endpoint.Nio2Acceptor.htmlNio2Endpoint.Nio2SocketWrapper.htmlNio2Endpoint.SendfileData.htmlNio2Endpoint.SocketProcessor.htmlNio2Endpoint.htmlNioChannel.htmlNioEndpoint.NioSocketWrapper.htmlNioEndpoint.Poller.htmlNioEndpoint.PollerEvent.htmlNioEndpoint.SendfileData.htmlNioEndpoint.SocketProcessor.htmlNioEndpoint.htmlSSLContext.htmlSSLHostConfig.CertificateVerification.htmlSSLHostConfig.Type.htmlSSLHostConfig.htmlSSLHostConfigCertificate.Type.htmlSSLHostConfigCertificate.htmlSSLImplementation.htmlSSLSessionManager.htmlSSLSupport.htmlSSLUtil.ProtocolInfo.htmlSSLUtil.htmlSSLUtilBase.htmlSecureNio2Channel.htmlSecureNioChannel.htmlSendfileDataBase.htmlSendfileKeepAliveState.htmlSendfileState.htmlSocketBufferHandler.htmlSocketEvent.htmlSocketProcessorBase.htmlSocketProperties.htmlSocketWrapperBase.BlockingMode.htmlSocketWrapperBase.CompletionCheck.htmlSocketWrapperBase.CompletionHandlerCall.htmlSocketWrapperBase.CompletionState.htmlSocketWrapperBase.OperationState.htmlSocketWrapperBase.VectoredIOCompletionHandler.htmlSocketWrapperBase.htmlTLSClientHelloExtractor.ExtractorResult.htmlTLSClientHelloExtractor.htmlWriteBuffer.Sink.htmlWriteBuffer.htmljsseJSSEImplementation.htmlJSSEKeyManager.htmlJSSESupport.htmlJSSEUtil.htmlPEMFile.htmlpackage-summary.htmlpackage-tree.htmlopensslOpenSSLCertificateVerifier.htmlOpenSSLConf.htmlOpenSSLConfCmd.htmlOpenSSLContext.htmlOpenSSLEngine.htmlOpenSSLImplementation.htmlOpenSSLSessionContext.htmlOpenSSLSessionStats.htmlOpenSSLStatus.Name.htmlOpenSSLStatus.htmlOpenSSLUtil.htmlciphersAuthentication.htmlCipher.htmlEncryption.htmlEncryptionLevel.htmlGroup.htmlKeyExchange.htmlMessageDigest.htmlOpenSSLCipherConfigurationParser.htmlProtocol.htmlSignatureScheme.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlpackage-summary.htmlpackage-tree.htmlresStringManager.htmlpackage-summary.htmlpackage-tree.htmlscanAbstractInputStreamJar.htmlConstants.htmlJarFactory.htmlJarFileUrlJar.htmlJarFileUrlNestedJar.htmlNonClosingJarInputStream.htmlReferenceCountedJar.htmlStandardJarScanFilter.htmlStandardJarScanner.htmlUrlJar.htmlpackage-summary.htmlpackage-tree.htmlsecurityConcurrentMessageDigest.htmlEscape.htmlKeyStoreUtil.htmlMD5Encoder.htmlPermissionCheck.htmlPrivilegedGetTccl.htmlPrivilegedSetAccessControlContext.htmlPrivilegedSetTccl.htmlpackage-summary.htmlpackage-tree.htmlthreadsConstants.htmlInlineExecutorService.htmlLimitLatch.htmlResizableExecutor.htmlRetryableQueue.htmlScheduledThreadPoolExecutor.htmlStopPooledThreadException.htmlTaskQueue.htmlTaskThread.htmlTaskThreadFactory.htmlThreadPoolExecutor.AbortPolicy.htmlThreadPoolExecutor.CallerRunsPolicy.htmlThreadPoolExecutor.DiscardOldestPolicy.htmlThreadPoolExecutor.DiscardPolicy.htmlThreadPoolExecutor.RejectedExecutionHandler.htmlThreadPoolExecutor.htmlVirtualThreadExecutor.htmlpackage-summary.htmlpackage-tree.htmlxreflectionObjectReflectionPropertyInspector.htmlSetPropertyClass.htmlpackage-summary.htmlpackage-tree.htmlwebsocketAsyncChannelGroupUtil.htmlAsyncChannelWrapper.htmlAsyncChannelWrapperNonSecure.htmlAsyncChannelWrapperSecure.htmlAuthenticationException.htmlAuthenticationType.htmlAuthenticator.htmlAuthenticatorFactory.htmlBackgroundProcess.htmlBackgroundProcessManager.htmlBasicAuthenticator.htmlClientEndpointHolder.htmlConstants.htmlDecoderEntry.htmlDigestAuthenticator.htmlEndpointClassHolder.htmlEndpointHolder.htmlMessageHandlerResult.htmlMessageHandlerResultType.htmlMessagePart.htmlPerMessageDeflate.htmlPojoClassHolder.htmlPojoHolder.htmlReadBufferOverflowException.htmlTransformation.htmlTransformationBuilder.htmlTransformationFactory.htmlTransformationResult.htmlUtil.DecoderMatch.htmlUtil.htmlWrappedMessageHandler.htmlWsContainerProvider.htmlWsExtension.htmlWsExtensionParameter.htmlWsFrameBase.ReadState.htmlWsFrameBase.htmlWsFrameClient.htmlWsHandshakeResponse.htmlWsIOException.htmlWsPongMessage.htmlWsRemoteEndpointAsync.htmlWsRemoteEndpointBase.htmlWsRemoteEndpointBasic.htmlWsRemoteEndpointImplBase.htmlWsRemoteEndpointImplClient.htmlWsSession.htmlWsWebSocketContainer.htmlpackage-summary.htmlpackage-tree.htmlpojoConstants.htmlPojoEndpointBase.htmlPojoEndpointClient.htmlPojoEndpointServer.htmlPojoMessageHandlerBase.htmlPojoMessageHandlerPartialBase.htmlPojoMessageHandlerPartialBinary.htmlPojoMessageHandlerPartialText.htmlPojoMessageHandlerWholeBase.htmlPojoMessageHandlerWholeBinary.htmlPojoMessageHandlerWholePong.htmlPojoMessageHandlerWholeText.htmlPojoMethodMapping.htmlPojoPathParam.htmlpackage-summary.htmlpackage-tree.htmlserverConstants.htmlDefaultServerEndpointConfigurator.htmlUpgradeUtil.htmlUriTemplate.htmlWsContextListener.htmlWsFilter.htmlWsFrameServer.htmlWsHandshakeRequest.htmlWsHttpUpgradeHandler.htmlWsRemoteEndpointImplServer.htmlWsSci.htmlWsServerContainer.htmlWsSessionListener.htmlWsWriteTimeout.htmlpackage-summary.htmlpackage-tree.htmloverview-summary.htmloverview-tree.htmlpackage-search-index.jspackage-search-index.zipresourcesglass.pngx.pngscript.jssearch.jsserialized-form.htmlstylesheet.csstype-search-index.jstype-search-index.zip/usr/share/javadoc//usr/share/javadoc/tomcat//usr/share/javadoc/tomcat/jquery//usr/share/javadoc/tomcat/jquery/external//usr/share/javadoc/tomcat/jquery/external/jquery//usr/share/javadoc/tomcat/jquery/jszip-utils//usr/share/javadoc/tomcat/jquery/jszip-utils/dist//usr/share/javadoc/tomcat/jquery/jszip//usr/share/javadoc/tomcat/jquery/jszip/dist//usr/share/javadoc/tomcat/org//usr/share/javadoc/tomcat/org/apache//usr/share/javadoc/tomcat/org/apache/catalina//usr/share/javadoc/tomcat/org/apache/catalina/ant//usr/share/javadoc/tomcat/org/apache/catalina/ant/jmx//usr/share/javadoc/tomcat/org/apache/catalina/authenticator//usr/share/javadoc/tomcat/org/apache/catalina/authenticator/jaspic//usr/share/javadoc/tomcat/org/apache/catalina/connector//usr/share/javadoc/tomcat/org/apache/catalina/core//usr/share/javadoc/tomcat/org/apache/catalina/deploy//usr/share/javadoc/tomcat/org/apache/catalina/filters//usr/share/javadoc/tomcat/org/apache/catalina/ha//usr/share/javadoc/tomcat/org/apache/catalina/ha/authenticator//usr/share/javadoc/tomcat/org/apache/catalina/ha/backend//usr/share/javadoc/tomcat/org/apache/catalina/ha/context//usr/share/javadoc/tomcat/org/apache/catalina/ha/deploy//usr/share/javadoc/tomcat/org/apache/catalina/ha/session//usr/share/javadoc/tomcat/org/apache/catalina/ha/tcp//usr/share/javadoc/tomcat/org/apache/catalina/loader//usr/share/javadoc/tomcat/org/apache/catalina/manager//usr/share/javadoc/tomcat/org/apache/catalina/manager/host//usr/share/javadoc/tomcat/org/apache/catalina/manager/util//usr/share/javadoc/tomcat/org/apache/catalina/mapper//usr/share/javadoc/tomcat/org/apache/catalina/mbeans//usr/share/javadoc/tomcat/org/apache/catalina/realm//usr/share/javadoc/tomcat/org/apache/catalina/security//usr/share/javadoc/tomcat/org/apache/catalina/servlets//usr/share/javadoc/tomcat/org/apache/catalina/session//usr/share/javadoc/tomcat/org/apache/catalina/ssi//usr/share/javadoc/tomcat/org/apache/catalina/startup//usr/share/javadoc/tomcat/org/apache/catalina/storeconfig//usr/share/javadoc/tomcat/org/apache/catalina/tribes//usr/share/javadoc/tomcat/org/apache/catalina/tribes/group//usr/share/javadoc/tomcat/org/apache/catalina/tribes/group/interceptors//usr/share/javadoc/tomcat/org/apache/catalina/tribes/io//usr/share/javadoc/tomcat/org/apache/catalina/tribes/jmx//usr/share/javadoc/tomcat/org/apache/catalina/tribes/membership//usr/share/javadoc/tomcat/org/apache/catalina/tribes/membership/cloud//usr/share/javadoc/tomcat/org/apache/catalina/tribes/tipis//usr/share/javadoc/tomcat/org/apache/catalina/tribes/transport//usr/share/javadoc/tomcat/org/apache/catalina/tribes/transport/bio//usr/share/javadoc/tomcat/org/apache/catalina/tribes/transport/nio//usr/share/javadoc/tomcat/org/apache/catalina/tribes/util//usr/share/javadoc/tomcat/org/apache/catalina/users//usr/share/javadoc/tomcat/org/apache/catalina/util//usr/share/javadoc/tomcat/org/apache/catalina/valves//usr/share/javadoc/tomcat/org/apache/catalina/valves/rewrite//usr/share/javadoc/tomcat/org/apache/catalina/webresources//usr/share/javadoc/tomcat/org/apache/catalina/webresources/war//usr/share/javadoc/tomcat/org/apache/coyote//usr/share/javadoc/tomcat/org/apache/coyote/ajp//usr/share/javadoc/tomcat/org/apache/coyote/http11//usr/share/javadoc/tomcat/org/apache/coyote/http11/filters//usr/share/javadoc/tomcat/org/apache/coyote/http11/upgrade//usr/share/javadoc/tomcat/org/apache/coyote/http2//usr/share/javadoc/tomcat/org/apache/el//usr/share/javadoc/tomcat/org/apache/el/lang//usr/share/javadoc/tomcat/org/apache/el/stream//usr/share/javadoc/tomcat/org/apache/el/util//usr/share/javadoc/tomcat/org/apache/jasper//usr/share/javadoc/tomcat/org/apache/jasper/compiler//usr/share/javadoc/tomcat/org/apache/jasper/compiler/tagplugin//usr/share/javadoc/tomcat/org/apache/jasper/el//usr/share/javadoc/tomcat/org/apache/jasper/optimizations//usr/share/javadoc/tomcat/org/apache/jasper/runtime//usr/share/javadoc/tomcat/org/apache/jasper/security//usr/share/javadoc/tomcat/org/apache/jasper/servlet//usr/share/javadoc/tomcat/org/apache/jasper/tagplugins//usr/share/javadoc/tomcat/org/apache/jasper/tagplugins/jstl//usr/share/javadoc/tomcat/org/apache/jasper/tagplugins/jstl/core//usr/share/javadoc/tomcat/org/apache/jasper/util//usr/share/javadoc/tomcat/org/apache/juli//usr/share/javadoc/tomcat/org/apache/juli/logging//usr/share/javadoc/tomcat/org/apache/naming//usr/share/javadoc/tomcat/org/apache/naming/factory//usr/share/javadoc/tomcat/org/apache/naming/factory/webservices//usr/share/javadoc/tomcat/org/apache/naming/java//usr/share/javadoc/tomcat/org/apache/tomcat//usr/share/javadoc/tomcat/org/apache/tomcat/buildutil//usr/share/javadoc/tomcat/org/apache/tomcat/buildutil/translate//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2/cpdsadapter//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2/datasources//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/dbcp2/managed//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/pool2//usr/share/javadoc/tomcat/org/apache/tomcat/dbcp/pool2/impl//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/naming//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/pool//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/pool/interceptor//usr/share/javadoc/tomcat/org/apache/tomcat/jdbc/pool/jmx//usr/share/javadoc/tomcat/org/apache/tomcat/jni//usr/share/javadoc/tomcat/org/apache/tomcat/util//usr/share/javadoc/tomcat/org/apache/tomcat/util/bcel//usr/share/javadoc/tomcat/org/apache/tomcat/util/bcel/classfile//usr/share/javadoc/tomcat/org/apache/tomcat/util/buf//usr/share/javadoc/tomcat/org/apache/tomcat/util/codec//usr/share/javadoc/tomcat/org/apache/tomcat/util/codec/binary//usr/share/javadoc/tomcat/org/apache/tomcat/util/collections//usr/share/javadoc/tomcat/org/apache/tomcat/util/compat//usr/share/javadoc/tomcat/org/apache/tomcat/util/concurrent//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor/tagplugin//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor/tld//usr/share/javadoc/tomcat/org/apache/tomcat/util/descriptor/web//usr/share/javadoc/tomcat/org/apache/tomcat/util/digester//usr/share/javadoc/tomcat/org/apache/tomcat/util/file//usr/share/javadoc/tomcat/org/apache/tomcat/util/http//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/disk//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/impl//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/servlet//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/util//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/fileupload/util/mime//usr/share/javadoc/tomcat/org/apache/tomcat/util/http/parser//usr/share/javadoc/tomcat/org/apache/tomcat/util/log//usr/share/javadoc/tomcat/org/apache/tomcat/util/modeler//usr/share/javadoc/tomcat/org/apache/tomcat/util/modeler/modules//usr/share/javadoc/tomcat/org/apache/tomcat/util/net//usr/share/javadoc/tomcat/org/apache/tomcat/util/net/jsse//usr/share/javadoc/tomcat/org/apache/tomcat/util/net/openssl//usr/share/javadoc/tomcat/org/apache/tomcat/util/net/openssl/ciphers//usr/share/javadoc/tomcat/org/apache/tomcat/util/res//usr/share/javadoc/tomcat/org/apache/tomcat/util/scan//usr/share/javadoc/tomcat/org/apache/tomcat/util/security//usr/share/javadoc/tomcat/org/apache/tomcat/util/threads//usr/share/javadoc/tomcat/org/apache/tomcat/util/xreflection//usr/share/javadoc/tomcat/org/apache/tomcat/websocket//usr/share/javadoc/tomcat/org/apache/tomcat/websocket/pojo//usr/share/javadoc/tomcat/org/apache/tomcat/websocket/server//usr/share/javadoc/tomcat/resources/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:43099/SUSE_SLE-15-SP2_Update/d0238f4fb58572cd7e78b5259adc0e32-tomcat.SUSE_SLE-15-SP2_Updatedrpmxz5noarch-suse-linux   directoryHTML document, ASCII text, with very long linesHTML document, ASCII textASCII textASCII text, with very long linesUTF-8 Unicode text, with very long linesASCII text, with very long lines, with no line terminatorsASCII text, with very long lines, with no line terminators (Zip archive data, at least v2.0 to extract Zip archive data, at least v2.0 to extract)HTML document, UTF-8 Unicode text, with very long linesPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedR6!gͽ~8utf-87dee65f9731c9793e6207a23d8b6d0bbce8e0de54cd76a368233442048cb56f8?7zXZ !t/rr]"k%3 ?`iA.̮GcϝfՎuviTeuuȶZ%&@j߮f_^ڋ/Kx.0ױѣjYՕQ9ۀ5_ilAlP. Mb΄Ύ]나mAE-0fAR`Ɂa3d-TY%~1zgs%ۚw(;-|j-i eѡ`Ҳ7e \I[r Zi`rY|xQdZpuβ^-\ط]Yk)#S蔖罢x Aͬg1>H{W9L̀⹿AثfW-۸GZ4Oy8嗸H 9h?!R 1C#[ڰ~Yɒ%΅FVG;Y<WFUPo)"yXc}m !hOKaoPbЯ<RKWi)*ޭUjJ* '4zys5@#{x"3}zZha뉕z>SڰX7ʨ:?rw@%$ds ӟb7?e,XZtNQHqAX Jy~ ~$kK[SV;= z8 l3TRŸDA/h 1?i@7 g B }kDbh3f?x_5^;4,ޡ'46\~KfT7eay_]JxU 1>5Sl;&xʲ\S? dJ?ƊͺBHD&*z)f[5\ʹj]+Fc'gb᳡5n:C@Mhfl]ۚi)uMW ;EHA=)Wyyky% }]AߧlS;%bdFZg cryA a!<Ш|f4Bk'b;44T~;1ǝa[Zà.RGv5 pi&R&LGH&)3?GONHSbhCDЗf*FBnE>KrpLYs7fz:"zBb%AȦRTJ0/=F@= evLJI*C6q#P}rC&\rHsO8tƆ)K;a˾Ϣw*1ڄ݉Ob!=SSGaXcAi{fPm$%ФΑتƬVXm421DclWX^ {pWSJxÖ kZ =&[98A{.`.+r:kS0mp nS"]V7PBљΩ/;ž6I^oH=/gFx,K|m\MlǴ{K:Ph9,F~O38E$3deM0=]:/Ԡf1Q!yplmB4FЕKl=[8kYTd }2l+(V g $xÈ?QJvST TȔK%dxu6G] 'Z$P?tڕ-OM2`:o XZN]GvncD>ŮDl] ڈzpGw\~5lW"mlӬKŤgk>heƭXEKNc_:ChGmbݿQ&\d-vIYdm:Nx:u烺Zr`f G+(9Xzf&+ DY]id Lw'SR^ wG;%x[^]cMtG&r6=(mh&j oL6w!4A$}wV#>2M3''q6cqp{te؂;5c1u|(&|u+Z<aZ)9'(P_7FVH/$kX jn2acB8'JXQYlucA~\|Ov8F2U!3 hYX1x \`t~k@)7hw+cseS)eKAK:0(siusP{DT: eWS4>t}{??]+ou'b!?>.>D=e^kn=к@127Mhc:閝?-l6(Z-I#vwWϧ֜9,W4!$Y9G\t5/i# t#Ud!Kћb ؙ52\ _ٍYV2Z'@|hBq Z #\!BDYͦyZ#!Ld?r?%lOeVuG:`揇x{E dyHj]_ ܴ`gGF̯f Q}4Qk"\woiIf4&FS@fA$?gK=cGdl08<{ ڶTb7dyN{Dw>F3^.6|8*#**Yp@.pyxW@< o>ΛLjP; M(N1J&P|ڮp}b$Qم)B@*Mb9*&rF } ,sz*K('э^؁X.WWLiJ%_p<<YPC޹D>Ψn?$V8`DxtWIRhVop~,@?=#O B*srqNf:193e"Mn'C `;$.LhL}'.Ĺ0La5YyG, FA/Zʹ| TNʇfkB-Ey5!FUxg #XH9R:{| ĥzd$zO=oZ5?a$2X9&Lk{%HTB)|I;2d]ڢ@Ym{*9h., ImxƼ;uksބg\rD*n(a6.IÉeҌ9cG}\ॾԞ}'{.U&?F~[N,AJaj d㛡h%+C96m:e=ݒg$XMVAYϕgKF# Z֋oEXk<8\t'Nz*-qnV2^DYb-n ڙ#@B -']3Sn-} dnBS$m9̘ieC:ٺ8.N,P^sV$q>2@IG,9z+SÅ7CKG tLt 6-QA'# eB*P[R:;rr[7to wמ5u4wחg$!hؚlm ﺝt3Q@G{iv?n!10F3 d!jIVN yA[rߧc⏝Q+sƊ19ȩdtj*uD9 m`ե#z<ȼu6>g*I͙ܘcT6ஸC\7)IALub~\<`=ggRz$-н "ܥi. b_[bd@5eQK6DqlDsbښVN,+ F+$/1!A1ir YHc_=gAQZy !s踌n(G/Q3_g-$XQ:t;Co?j-✧~$R&Ҭ5)xr'~dhgh+ys JRjfAZkHy cB3=q9<t`v,rI$#b;3t &jLz! Y,ØK>aFcOv|/S`,1F)$%  {\ :V9O+5U|"XϹss0oEM1LфKTfPf68G/RȆMA,U[$`!4ˑ<.ɉxí][FX rnLlN pv \3nprLIZxHƧ(ŲKc3,FE  X:##f+ N!ymv83/#'KA.$CJᩖLV}@WN~,zY:I{b &Pn'wN!QHwD*l>13NC7Ii[I4]tiH{MPw{@ Io2-?vGJ]cߏxB5X+-#/XG).M pQKx:dAfDmeFe8LŔW-ePuxunv+3ĎF$2hгBG`g^ZxAy=UcE{3Zya]NYаU՜ Īxڍ uGf&p;c\Ya =;[zx( ȝ7 rf?5VO>s黅AǵjH[*f 6͆^ۜ=L֨r@*"}NBWφ8 X-m?>48W[jYJul?7{`>uP« g}K(WH#Qx~J8%1N +G [kPa􃌂PhwRΓ@r+eAsҠ {kk eܤ~ ,Hϛ$8a5{#S& k)P 4 m]@&E靭< \ Xt iJ+oǮ=$d ZQKR!zݫ\Q׺ RS((k+Dbd5H,O7$&e6jk}6๔m і n}ސswIfMe)h ,Of}:AQ h [wg1P,pU}V xda5`+2,ifͬOfj:3k`_js!aG ;7nxg|"_SV|02Qt%VHI/ND_$/,aE@>x/oHyIFNoP#C^au*^rؾ )ЊkowQs?G|?iZ6bwׁ ^tJb3[ P;:9)ǀHPCbSP'4,מ'n~媚Xrku/zňqI_Hq8[yTO׵\Br_$K|:&enXn7!}"Qn(rT;* eUhNz~Sw#kN'6eaX%Zb,j:8Thm&$ F"+RUk Y* ķY]+䝒Zty)ehY&^H8Qg_aJɍoW+U:%EI@~w 2L{É!i+ΓnkN]EɺPPKU[zWGZe%Y)/}UrGB95| 4YA[Q<v)HIhwAZ'$oΧI.HJ#}a^j&*Eg)Ȇ؊<'|OY-iGr3]|cKSGS:=;2c|KM8a-ȇ( &*Xjqx.@w5@A \?N& GZil8C͑'?Ү̅y_E]q0yLNW.LpwbQN>:rBZ ve+pk=:Xaö @#XmD0R;v]RLFq@|/_Ώhϕ_wae;C~**hO=;V\(C )"ţM9߶F,qwi+*W2<LC2nH\\Ce)!K{ctT i˲*+K1٨/vM _ң'3NrLO'vk 4]De$#0#F)LpIEGL/R"H/ :0H &)$oL9N9YN65R7uj=w#1zUWЏB #Ax~|1r<:Tϋ`ATtn4ل,TPZ!`+-姲xOqLCPe:,FJɗt89VTg[::b\6 qA}#bVqů ڟ\&}ܙw&QM]Y^[zVc{aOZk%n=0Vn,^½꽤lݱ D{/~:7{U>c$ V0EY8C\VPd>|aQB!jBuME]8*mcd/E9&(+&^,fZp+K&F>pMZ+ :߭؃{?Fք#Qa>[GT=%E^nQy@#$'XGG/,>^5n9$g_,pbVEǧdbN+ȣڿ"9oq%aA'oR"('ew+r@f`D(Q)@(%h s@R^Y^ LW Pe'h#ї豥T9>Z,9A@:XW~ ީep8C1skxL$ B$ѝjdZأl}܄zlZ}2p`l~BQܜ.YR>YXOztǪ:Y5( E1ҋBWAG^=e S1ە(ZB.%.D%[~S };-u*I"$:I[ aTY 5A6HR`:;W^wuy'a]s'i6m-d%r 8`/uڪF7cx%H/e&eYӨ/F%&H}rN7 g 9Gf9q~쏠XBgqz0)6?E$QҸU&&> + m)cc{ḪlWV[(\-nׂ;v&=IkT_qbJ\_|c}s'A((/M؊$ރXkt2 txc-׉\v<A fudV>J.raf~䤫zS*[B]M廹05ɨs?ߜ/x5>~}QAiP|P#A^eBx2*fx駎xA$߿|r|WHCFP%2hf@m}yPKQNʒH鲇$ffehFqlz`ۿVAdvY% q֪p(,g`P3tV%wuywAN }~k©\B_G^Uq󇈊_՞u]և (u:dwSck>,Ld7Bu`tUBԡTZ[)& (x7j ҹU5x=ߙPβؓp?5/V7] 7ìfͯ :!0SSbڜQ,yT0횱cƱPN|>Cz볯䭽@\fVs˨MG@Y#^RDs'L7T0e[ҥ1Kj:}8j)*p.r2y_ ֘U{1Qe+ `]|^ ֛؞غC^Bzv\<Ð qfr%1mtEzthW;1hHҠū4pe. %}%aI e!Jk6)3pRaR7XH< Wr-j2๺6nAf'Lhki`GM V]7rQRhL˙z"7FboǶ7$sz5*!_LPy>W~s|&4rEcP[\pُ_+ K{@"8a#(ic+P.+k(`}@Ag.:Dn/z r͡LgFcFV.s'kxQNU2j3fo-QȰ% `h{{hlN HFDOYaZ;10.oz<%Ok A'T2)v2 oNSPG( p&JZGfQ5ފb^- P$Lw`b^#^onG88/Fn [U_UY? fqnQY:LӬbJv۴Y} $f*Y3 Ftg԰9r)0ųu hnk @Ԝ43F%%n4:@óWtJmb>tzфc*/B(-6x op9HqB-a΂ˠBJۺi˅ⳕe"[κ^5}ڸ.&AjsاKoEKM­A_ȼCJ/(VU斯уߥ, ƋaB6p\ CˡRREW=ڗIJLP4(Cah2IL6@i5ғ(7 [UvEM9,DR jCiH-PDXjgch -B_&8ZZ} 7=s*s6HNO YvCyFٜ;'l90ZvkikF$CjR]!Z jN!cF Ȗr /I Ȍh/scdrp't Wj'saMpk(׮L詿Q@ l2L@Z?4y < 8 O2los!GR㻝25%m~G[j1,):vW6T2_&oIDFvo|Vcts?x=JkiS7lbW> O5jbIFOj MG[#'q'd5 t]CaF|mM'ɵwb!9.k%QWG|ΏoE kSޕ}-Eh;wRՈFXQGG uE)3\mBw1D3f;4ER@Vx9N붰r!<[< oIʦE!\ *:*E8S<z4:g l9w^כi?róJ#IE637K[2>WWKg1tZq /.z>4Dg+-4zF`oa|8L-tBh K^XuA#Z_@ouzKOͫ: ~!m ,҃ ݢ+m]i ^oN? Ղe׬,s>SFQ'`TYï6 "C< I0ڳvgF?:O0rhf%HGu7i+};OkVUbQ5%Ke"W]C& trH rقU\tmF]S~~{Q-;?k FqyXK'Ρ-ֲHAClls%5g)2خ0<͵J% -۹u` {Nc9tvc-{ݓu͠7πB2T}dhpԸl2rU>ex=zM1|ǾT/$FWz 8ZWS邃^{#̾oMK gh55jp7o B 5>jg9-pNчI.q^ŭO@\ш_Dx!ى}=G֚ \dXM9_KǤįHdkfz^c,1 XhGUi=Hb"O2|[?R5^0Bּa}VjXU~>ej Mh9\+P U/B[G Ӡ(_2o=a{\vҿq,%FPz(! g)~tuNcR1GU H7c##KOS0Ja4]=aY1{ޒ֮~ (~Pnm t?'qۅڄ8 t֋Uȭ|{tV׀: :P6F(q'"B,fG&w壿"#k&r 247X_/!U'TiN}l9h*!WNq 9U gd`MuȂv'q"?{-O`.QF_\uA)\H1iuziKf7n@A o43،\eaSnt|$kiD. !yz5{5ئ\IߦD0rSq$p>03IM.UJԼO)|>#Č o\aRqJ"ǫC#z$s$?cVs~%$H"k\KGbg`u4Kk7TaY&$jRn% H5N s+^ˁ9߲@uh^*;F a7tV|hDLBVXXT텍6 `<玬]t%qv [ZՈSI2VԭIgšNJy=b^[~jA" N1$TݷPr%R"*u- Oy$ToU:-E[s[AX}y.B$F 2;,?QOh (;)[?{3M'+~b$ItCJM'ZTZ>w^zo Yݿ V%iZUlQLT~f3 ^,Of6[ O pyچ~'|ekmAxr3 B*lehw&4oT.F>eJ 5⫸*8l,9ZX5A嫜.iK,"Uᛠ''cz k%bŽU&0:踗]^n6^g;n+{2[w5u>gh ר{a)Z|Kĩg[hK>ڀB>jI:*g@K >qH YRnSU>%,wDR[0l`dk4 24:*Ϟll?;i:͕D 'X^D]zcNsѰL7@$=.qRՆ.c Sg8cb):qIc#~ =,Va 0zt_j) %'U^Ks= XEZBvCiΘo^ )ܱLy?H7d:lpZĈH/O{j- iJd*IE -x(Q?qpޠS=İQ{IH$Un>:!y˧UO<] rMtg;N,@7 Œ9jqitQ*Kyr=q R..ď?^= մ6OS6aAy}]y=*NO$=(eE8a#I"8( 966?DEƱw?uS*دG؇'rɐ|=(IK bYG~1]GcaIB}'~;/Lr3B-rv*D*+Pd-Dm!|]UKb9<&\/LCa5ؑ2`.XpZ1÷tC"VOkPPvP%3: _x6 %jQg~ iL}f27)+!="w8nP9*S,Sie肇ҎFGale,0#oˬF߀T'|}6 `aiI2Ԅ_T>ѽ1 H:!Fl)g=o[q>F% g_ .~P  )FZ'Ч}Ci/REY-O\oؾINXVrV!C݉c%ծwŊnӡ~J=O{L%;OX QxКXT%縫d΃n˖|;A;n|!Há`BjT'.@FǟN5[&|)AdF7.vQ8EΖa T[#CI'ځh6õTB}C߉{gv&`  GM9w|@1_mB̔-v8A8<4^CA>j&j]khzI_cwk"̶4N˷6De].Jl2,z^FI3U0C@ w>~)Ӡ⢇``9bTFx1> )y;j1J773Äo(ܨH/ ;b!oߌmО2(.R);ȑH}K4t*3 xϸ `VGXO4p)9,Dm@ߵ7ġ4;T=FC-J61Tqfue,ΔD4|͍mw =re*UKnd>*W_'M0յQ2X2$t_$kw^v4SsuGiWߙo%26F*|D6+,{FlrYB}cZ9QqaDZ[Ť3vnmH $:F2 UoЮh!]N"iJ'3 wξ )3R}Q&&;Odq&˺ KaHꓻAB7O Hbf5B"3m$< 3$yu它Motqcxvp-InG MHi6*/߇f_WtKQJyH0g*0M2l<QDگؽ W:0Z~J맵Ŵrǫ r8B2a_ό%-ü-7<'w'8T/0'["/<хJ<͛H`hRq8iN_rlh6m0C ?e6 hJޟ_;:)5hٻ x 8H9=,7ֹ_$dyXf)c;h!0EN^TcC3Ax]+<~}9J2V -nSEqkKaZPQ'h>~d0)ephw g:g1mҪ\4BH?4UXˋ{/V빁.O^Z*F ],>!błm^7 bNWBP-,* eom-~G*ode'8uINO>xMLhRw.0GJ5Y=#@)ZF"`xՊ*,q M7&ލ"mY>sp2qKSa(3qF\AmlFP3 Zvz?"ӽq)ぶnf?Դt a79}MVDeC9bc] J`ި!4S2kΎY?g|ߓТa\,heZT_VMHGX -p{H{L J+{o1IyP<^}$htN8\•cG_(7xm@VhUToZprS~BiQ%Vvj_"D(L]$4{5߽WvsdMt*_NV՛*c"P=;R>(Ch[[8GA+I= Y3rQ 'we ]wx%P\\D۽w +Y-Ks|S#O]cg]A: Jl{'O[U6)Ti/.biir]B zGJeB3Ð+mtC_=剆-MZz 'uM(-/w]󝖦E?[l-SC=J"00 +j]h[k͏~Kg~˦+χ"f|X/cko.o``{*dm#L"U U?gX4X(k hܞ3>ĭWyzD ºdrK}w]Pe: 0Qd z"}._!ZORLKԅ#a}}ª%'.T3 tm1c; Fc&e%Ht_fݢ[X38*.qExڙR {׻ʤS1'k̷|lsbӠ@~>NxTli/EIu34Gp_uZ{B0Dfh 1kWr&L͈u[3n|s\M}쩌*za&F\ "vyK;J|1Wd\;/l4h0\{?Q | TNDz:kn#BMZθֶMI5A;K/ ԏxok# zW |u9_-ĩܑ|wvP[+I:Df^.9~'?^k4}Z9}O xwo! x {)!u0Dd2{#*gv;K7ɤK(+:w::P"X νgfh찕+/A>`)X NY˨` "Z+N 33.wWZAB3qHH0UC+'ӻ&2,{omT MD|7M ݢu vHddկ5uZ@ ]};X!VR P֣}~o k}.h4H׮ ;OJ j~mb87HI#oExR5#|H[D?{t= Oe1qLj=%a׏ge (([o-R?XjC0 ze"4!{1#ߒ*Xb>űtTu!AvT>!m[yy~$1 Pb&f,7|/fTXuȗtDYѣ*l=1CM%Ι8 g_#`n[-кN~Rz@O6~Cbג>?1mG%sIeIi=U)PC[ ^ow=c7a( Qhh~0':1'Ę}~De\zn%ι=0Y]K/6hjK!|=Nҝz*4_t!t Q%ołLƃ y_AI/yN:o)ٟǝǶO'pH&󨘯HB_i0H47g/Y`)yw@)=t4/ܺ&='n ٭r,EmȮJL:Ӹ ٙC 'ˋj&Z*/{OȮm};gȽћ@ JWFҿ*FڅgSрMgqĬT*NU.-V6GyDϧXTƘIa,2{ W K뮒NrGfI+0wVQJyt7$ЗF˪-ewqðblVMYXuWИSH)6K}Y4gMtcZǺގVr] h~A,.0OWD#wOR(6W Ҕ.Z0@e_ϗE pE¸In"f<.{8-~# -IFm#L]dnF I>qOT9t "ZĄLJ= % k rZX(eS-.} P?:(CV  nvAwñ&hPWrlENnm_xi\ <᠗p%LBc׆6**dmaIĵ]_omu֑,-Xћ9ل[ɲĘ!Ȟv] lЋ>I?pl{k˶$ k{ {~F̂{YE7M7DZãgK Z X92s q0e"JU:;<;6 ;>nwڮ14gxc.@8ꁜ*5ɏXMcYmYv 5ֈqUJ/@>rP\ z^1:'i>|=|1Z!̋j!XC[8 ӗ)G]T1R] awb Rr r/u^S󺐼L :^C-/gv{#i/Ǖ|zaa$L;A:KFa\Vq}G HQNn*xFXiO!'Ug72_'K."z $W<WNDz"cNyg='{ms -Va"UsEaR lm P1IUf9XL;b9.X'r.LoXe4&~dXlf^ŵpy, 5u2뛵lA$AӶ-f맟|JHMªqq|4I^:琡 1/3'x1-&.БJܾWS1/R Ґhʚ}LtMƭ 1Y؈`I'/Bg\?|R[0cqjwWp.<'P+;H"c﨨Cjk` }jhއB:5dX[ ~\)uoj5QV3A䟂jnދ Cg?$̐Q:7Q2ZYE8I$F{R,`  <] IX|P+_28f]$nܦ1Sm(  ]dKH C a?yFE!inP/M_1:|RU3 z :ncΊ2k*_ ĩ3(I4vgqD@F?[q5fK|\MP l mӽr'P0ttPl-@ [WwϴTd2BlO8 h W]V4u^T۴3pK ,7MОߜSG RmFHy&j?VeZҋJ50˭)|:ǹ]. \`4_WIЗR :WJXgZD/MsfETK*[/ޛf7v>S4!'ԲJ|Di8C,wD9X -𙰶>Z^u4%LO wKDlKۈ]^{U#a=\phDm5BjGr5n${vz abŌ$FQz׵Q].UBkxǣX~Ă̰D賯tXTTG)4B+Rx;p4sx-zn$@ }5ui4M^.Br&W^k_}zY͎SHX1N:_H|E^>dI&VLMs75Fn4GT8k5//_WXNd1ς98n>2mf`%a> o\w+6fp%R EWÝ"ZNDeY8S ' ]cĚ6niˡQS6E*cR호 |~x蹻Pƣo(q ]ڈ\c !۬opg }6V偾xG H$HTd*XJExl4R~AZ 6T~lUK,ҳÕ%g/u{>DOg:S)gYz4p^,J-2<"gΗ"T u^1څd$QCj׏W>8ӊf㩘ŚI+Y#A9=>o,]jzuU h0d-c `uT ,ʘ=h}U8] 0xȜT"1:xt_ޙ|'ptE?T }XHnk^톘U5UEoʪP6f9$xoNS(нr9~%ZƗ !ޘl $qq>(EѲ<%QRȖ:\0O'>9F-|n imPۂ"n}p ܛ T@gqk+pKFVo1HXvŎk_g;- G%$=fT*WEfȌ8S@ ˛N'ts/pefkcF̑/Nd۽Q/Q1[EyzWȰf>{g_S+Yc:lH #mq_%8?Aܙ@_euC\l^bG$NF[= z0L c$B]GS tggK)O$qO2~ aVu))mG^֛Iz0bn<68 QT4PbN[ܾ­qٕ/6KR͛Eկao$pTCa{zZc'^q\dK?o[Y]OdTϮ{`磌ҟ[ Dž s`#Пe4W%|Ǔ> dyFzo$H7n ]%?PdN5*ʈN,/S"e ?LKzR0-L𔍻 C'ىnB~h+q6NQϲa$tϰqf{'_*c2 V |'"=4ʦc]rJ̞ƤDzU pSu{ q2㚶U׉'W̢b,'Vl#4]S2){/ g19GR䧐:kf iJToP ~ZԬ0}W$C_Vdm{gcF%лֳP҈" p@p.X ?ߓfVi#[[&쿽GWRwPb7hL¯:.YRgd}!# }Dš(O omFj<2΍׼w k =bӖ"-j B@ACnp_՚Xm*WT]!^Rzk)tAc`dN+3jkW:is܄arg]ž $ߥd|E&WdMEJ=bP_71G /i;qOvs{>(>[U hsO>a]pǖ챋yvϟR(ذM#`yvRX/a˗Y%LL|.~*v#(΄B1nBLdJq>n}9tˑֲ?A <D)]FL}BYu$( mnt*VDz:+N|yht*5# NSc@[1 "ⓠ VoQ^yYMBy,\!ӉeIg} 6 q{z7k_5GsSa3.1ZrsE-:Ǽ3[t9ԮiFX{ĜACP->w)6d-ַUۈTb*Јa-d#1\ TPgmW^ /)xP%.2eT &4zҊd{l` 'өTLHSZ<{:Oȇ^[i%b(X,,@'["=;D8΃t`CTu¥;T[a\N]f4H$k2,b%kjBK6_(J1Eȴ2 ~^a\RgxDB_HɖB/8J:&i:^<䘘oR-$B<>lү}Ma"YpFپPNǦ9VcUpt.:&/gF/([Hd8h |?B[od* qXZ 2*wFS/#fb>p!@ ǽm\ m@$iRH!09_{> A)lN kX8t/P0K rka7 j6ΐ>y>bEdC^@ :ʓHͫMޘ?}F G}Γwz[1G~*y)!+cn{KU+H ϭ U 9ŝ,r\oq jO,r;%2l!('?{eIܳ4f)?Y}Ӿ3&UIb}@R96w=8PmQ5K骵:͒[R4bXfNdENo.D!U8 b'%V0޴iT-딴^f8>戁bͽX wak3!fq!O0Z(kV&VhaW1$X"n.N'fdJq;<#.Ի"L#$T(".F秕ɓ}ƕFy*] b7(dj7!aQT %9MPD!T[δ!Ƹֳ܀+>|([/]J0s-o>71 0ӫJ) !ePlFx SYgW/| eZ-/(-R(Z'szkƬ>M u'zߏݥ̡}pdp%ODxJO:v~>n-+2qϔ(?Rp"Ҧ<<*H  3Iv,醻&V,77u彼 eZYAf.Waѫ)س DI^S2yn@pRĜ5*a7$`M 8ek\%aʠtUA<`B/,]1WvPXs,J#i_@% B鼽`tVyYQ_Aӄ0;zlWv,Af|VU@hTq^.߸2_K4><@}ޣ*@<>OhPmt "y}Cpc}\Bh؁ 49rԐַ%ݟjusFeJY?%|}MǕesE|C= Qð%<>f gϾ8+/6<ϑY &n\{ 6r|==c5})ӷIV)Үp'T1|)¢{nݺTݖ@HR(}gS%-@}T͛0F(!-2C-+}"̃c]5o<7zߟ@qaRa A3l U=5TŬZ-Be-{UӅxq2ũDGFl 4"þҷP !Dsx\|mK_mcsB(}UTC w%5q}Lxcc /Nq'ƯJNjуh;Eb0q~^k*h_c|zPWڔ-R~d+n>bw]k)l- l*E$Sdh)[]E9e 'iX<2h1W Ie H˪r hmFj&JM6‘G/Z1l^=AUa, 'GQfyXs[WD`/yT,D6TD=/;C|5ݿ7J.xt94UpͅUճI'댩8bO;S7}ȂpWx,?`(mJ{\;bwmJz#T~zW]Rdoa;]Y0T!EKR%)8w 3w7xC(KrQtFKYt꺣,HQR#W{@5-I GWn7@ˑ WF6%PCҦ^ͥhĈ 6OY*#b_0fGfS0=akzc M#[&34@œ&n< Z|.̤ժ`wZ+;Rƨ~fzL*5|ٶ{$#za9pb\5{ `ϯ?;Z\ݛW5в IX;]dp^Z-[Hq7li}Em<-smƻ bؼr'2yE%^y`ίY`ZfbGسϮ(]$ +rԊ[IwYuBڹEҠ^0B\Wsm4k2x>؉&# Z{u;}rj:-V"Q.Gœ 鸷x_)oJ*i9bt*|V'tHUJ OjU޽J%3<h '%o7'?D.@k'ݠfdv{2n4s!q7qђɁx$De y "'򽴔N&=֌+8 PR OBY^z ‘$bc | ~<>CYԓ燔Z44׶( P/ʸ>4^ā6?TbL5$$x&1jx,60^ W~ո mK߀4鲙 <gHn qG,̲?UGG 6Ϛ@)J$ LՇ{R<'%62tT4w"|20]FF9uf8앵(֊^0EmE[@ceߏ?CN]eRf]󪤞CZ)۬zYf`etbH7J3>EfvV IRv.ԯb Hf6)DU ZB.. ma5r {"FzIu'\s WI'Bרf9 1_ª02sB44G, 9R3z`ܠ'e D9p|ƆC,';"ߜdhRl jAcYiqۃ$pbrM Zs0AY0hT'w1C`^-,& *t:N$zR!P 'AHL) $aa'?ЬVE4R|R,T4bhMw*/)5wj@YFΡyw,cڜ;^Q"%;Gb( e!&#E@O)cʏz0Q͖0twfii䟅ЧbMm,ki*'3,&g6Up6"W& $\sb3A+ =?0SW$Rpu8TU3tա.OH%бrg!}puhq1?VCBD^ne*sm$OI,_AyZ':d.pVql"Dc[Y%[Ƌ{Q-j@|=*xecVU;hijjlnTc;:'RFN.5HF9qh$ 637=rE#hFȳ/5:Eit 8&Da]iYUXZױ;.01w>tQ_Lv,H,ˊ@pl׵^5 0d`=*H 5k7 OGhj,H"PLR q82z=J'8O,MUVm* 8Q,~/zn6еJ_us?if6&6?BqSC}>Hl6Uo&bP7 b]5Y-#?9Gd1UH̲pY#46*s\͟.P36&niՁW{ipꃂ%?d3+S@fn7" >_9dFӆ}s;rqQ t.ɋbAMbVQnWPR58Z( e!0_sG8h@R}AVr!sGѿr3ܐ{77| '܂%)PSbBZ0FNM=VkCԮ+z~q4F̡10TEU5?:{]wZT-/q|d߰oIxE:5"y&w@>]ۼ"w5AM~M#pJ fK \ZaFEG^3h2xaj/>upF~Ѣ\]Voj,ކYnm\b0[GkO%b{%A%+jvsRٹwhЁtJAC=/6|k}ΑޣtUcnib>X$\1]׻['b 6@KhZNB[Xy%eѓCO2s0)vH&a[^$nR7 G32R&uN"6eYZ(kfy˒};k vih4tx7Oʮߞ}Os\BE,Uر39gׯ)O-=(W̍E͕uF ]&Lzq<)+ Y/gjv.=Y@ VXGhc w (O)H͢5̑7]Əƪi'mnWD|)ϰ#K"^ mWUu&r^k@,WZ)oǚ@ HKbE᦯^oB (~{!c)Np{FVӬ?HO]t2iXC齷SO#ZvسlppZxc%gQh TsITf,ُe6蛬lA+Ҳ3_BluHBD񿁯tTKy{# EovO[@{c)V]ջ;[2w[9u=(8ӍgC JmZrcyٻVRCo¶)Z1ڋD%O0JH+A]M]&.LHBiDz)q-#(ޤDt;$S3RUCZlXv{̥B6 mogұW&/&Qi6fnh>ٶy (<" G9 /hY{ :i7}4ȉI_)Z>% rRd/g%渗o#R/cK} RK9"dL&9[~vO <0闳C@ِBhW/ ;ªMwI@?y[Y şk`@uh"FE땄? Lbb^X 9M;SR&.z;v񎵿n3gO 1$R#ʰ4 &cŇv{%'%.C ;tWGYpxNpP)#VG|V@.!퓙xL~}W< *tA<Ɩ/>djalbif!vG㩙]oBzR"!;f|%^(ɏ4O+FO8*`ʨIrYGg=5L^^uG5(9@_3B~/ࡧhﱃ%*WIG44ts:^[3b$qhw;E󗀕`[$6+\F:%ry}=ĦOFZ% FNF;V}iRe0*Yf r߀pWR=;0LPccUvD6 !7j?`$~u NGNq/EQ/=R&ڞ7cW0~xw†˰Bh Li!Awo#Bq3X`ԏ+ǩ!ڸ zֽzSرE3w=m/yt&:Zv!ГM Vwzs,O<ӍPB}? ̖Y"SvnVՈl2PT;t袃n`wRX·.6!YåS2:W] =nK}0> Wa(8< dጋʠ JQڒp^6 B0FJnqTm_PVXI(㰙>W`HQ\;eHa1%>&T'#筇J+OLTI>|zn5Kz5Yn6xP *et|n&e+Ll9Iv]LXtӏ 6H}g6|-/p1i]:E(:1_zKw. z]F/)"szX|=zWik4*X`hAF0Y@ %չD 2I'x >3/f1d,7n]YC dޱ ߼4T6 >Mvluy-۞Ge(X$`W&fEM5ǭTƼsn-"4Zj;Z]_.$5CF:f-Xjc' @el/p<^&Iεʁ0kxlp.şCZnw2jL e ˣw&&d T %-376E7S^R۾I{$ʻRUӚSʞ'W=2jp a$܇`{ȜȖworgy-4H>gyXƚy!~H h lo#Hi}N[K%:RG)|>z_ioR@q2ܽ6kr's ާM'- i偝n4  T^%h'⣄M^5 'w]>q¿<?d~TxTC ViUZѩG|[İWPTF5+$̀ 5҇K2Z1䊌.Ti5g6cʦ$70f9"*7#7ߓN6qQ|EޒL9 gj+#z586m$ 6_T)c=v]!!"6s˃CX#j]bD?،s7%|U7G!sdm'Y:u%|uhoEjC Z^5JQ%gI !\/lY糞_2=@(Ha̤ "UKgF:?T 'o:@w]ReB#E`,%U5]I4hGj=ؐIW6+UP%|Sؿ݌D) !րI1Ru@jY%x28{Cy<Щן8R:\H-G/`fJjv㍋D*l0O Q( RÃ]R^A,\iB'A1b Hg.()g:A;bԖ,jQ1 bhnKw_U1xr9s=5zPɫ6>?wD2O:TJTJz)wK3)aʥP8:E Qu|aC2 _@!MAl 648xֺRҋBZKɒGl).K;׹5TIM/\>'Q{lA.A(m ' QJ%nQNXb*`N-g SM$BpX (];9ҐU.rv%g0e;{LNEf_PX~c=3M0)BDޣ0p9AMǂhkM_߼csgJ*a&ny.%[LH 7٫v.fmЎAaix'X>Ru#.!԰[HdAnɺ` FMJ)*ӫ ٵу!dePysY4~`yȞ}]S#mw?cIbwIhصFcJhIc C[ؔ1!*a(;HL0L|4ywKK*x 5p[@npV8;54zG: &S%^cwܴ=HiTrS:B6`Z[8f{k L+܃AK ̚ceV˄#\lo7׀9 9i]S'r5{@SCZ"^TX?Mi:eJF8JϭRG;'.hrAmny8hehJjY*-άLM|)jœR _4q!MźGx-A8 ʏ !_Vn阅?_D)bWK3'^DA_p04񌃇Bt+Pv'(ƸH2$S /dwxWo/;2Q}#_geF7 -7N/ܣ.@w$M_7//r_c`gl$ C3C] "Ϗs]h,A(bz֭yΥ  .㴽6\0WW+]$UK3GZ;ȉ,Wiy(%7^dXq~ \r)|U4v*hL0,<~ bzJֺm%}N,G鲩}ỳ2SV ":+ZMc\wmjAm[W}UE{ڹ+V >u:% lvdMjT7CaϛdO*|xh@];}'=؏#M])EQmD }SNqCH3D@z&ֆ4GK-—_%NE$A3F%:ވ{d 9n]q2ØFXk41iD l>#}Z?kWo~5E>^ (^INK0&bQ.nfhQ}?C/*_B?I?*G.rTҰT v!KZn7n㙰z5bݞw5wNyg<07~Bf.m9ACC0}RC+P(yOf]B|+Acb0K78XKhבnoo?K)Ќڻ-E^C\gވ 4T& ;YŴNMVמ.9W*~WȆUя(cvl/ΐ˽ QYGʀ ΁)uE(E uEߺ:b,lNAL\X<"FA$A*jh eTn)=%#ƯTlO&82dؔڣep45N:*Azznk R_U=QғpH=DQsY?7+sqR7Gʮ›v(߬b\- GamSXͱDB260Umes5/<㶆- ]nhܠ+o-],XӃ{lN߁~.]D#٭.4A*+{s'*, [S8kQPI4nVztF49VkΡ)D= ŏdÖb=5/oQV!ZÇ$Y` fwJK o/YcG65 jBI5l ű R9;ĸ&Cm5\̇-L@pFjAcNR) j !T ו>4 cR?8+ۮsrqtpC µEҳ[r7=;}gKza M.V~@Z #Z\>) S{魷JY cON "0`W')U~غn-F}oVu%!S UBQ:4/-cTbW>:],r)BZe" y>mpݹ# 7_Z7R>IVAQXӷs(W!~t'Nv&f^XcemPHwܴ!0"swL@a1a+"=unacwqoOPUXWyX,D'rW)U ."4(bE{:Kaz["SSfDH|ժ:G4CJM>AwfR}3-h ǫN*Hi"[$Z&71lV֫M@)[w;*ݼZ!nZdÜM4MHQl=sw){0l}v\wL>aټ(]Oi9ѯ+>W7k[vY<hYC^`vP+Ztcns62ZF݀,&P/v\/!⓸tE""P ^ 2TfS yY>"lyhyٻy!9uiq#$s6ky? KbAݡ3簳 ;R3`z9SyNgd)EH#_Z ȧ$T1ytuαأCeGz]4ԫ '!($LC&5$u{teyk g֞f![ OtZ>3qA f'hݳzcE]xt2,Mk9f#)ew+R6g ާ=')l[hW2M͹Qfc -ꡡOz]* 5+Nv]l2`kݬ hs@4Y)Y8"ۈdBn9l,+=}# iF~r_;LJ5SЁ=r|lGEE%(_N2v"+_SfV5iB22vPzL@:pp1`֎Q _vHyVכI"^c݅yx=XZ4[4'a0';`'2LBVf"bK6כ="%uw|XD3pq *?f!Ͻ4^[~m1ؒCᨪ&9N!{66/ŴU3xքϮ28J.F+F,,co#9Arf(YU[koE>bW2;;b#Ndy&z_%R@:0ә[~,oA8CP $H/ب*\#oã3>SYĀ =+'Y27 >@Cxi+!jon7)>32oOz*U#[. .YAD GL3D^O}~l/56u\kL2и6[J2Z;gY/z^5(3suG!8AKZ| FI1flEdÔgh](\ۋ Z20,F/6-{NdN?F^z3C?#9,Ĝ& U-MLpcaVS\ϷI9ʐJ͞]l'h9tKcA W0z9dGZ49s4u +pz0q`PB 6n&thxy 3]u{[SӤ)8m흵ĸ>JG@큥v,#2jX'ObPe]vp`c 噫Z{`IQlib/zQ\-Q_H̷Zi8vC̽~nņc Ub֑fO>'9TJHYrUv5P+}`c oIֺ䣛puW(IOh+\bFfPޝP~q# P{Ʉib9Aʆ[˜)Qu+iv=5fmS] Ч ÊS8> ʫxQ k{0T5a^5m4QcFyү=wSn2;GQ=5a>[t'8OhefPIHÞƮcNUSA_Oj"t<;^c'MXw T i?4 Kc%ifӪ> n$L׆]#hJq'N!\t]p|{[GΪZl݊Wrn x}WZ;hff#{[<4# ~)>/}}ok4[@_%!Ξ1dkAD -I uŠ [u.:tqDۈ;NNx]f*FcWw04GlI sAB5S; a7BR\a9?~n7ꨢ^cYa8ԲsD`R߿֚)}OoW@ YBs؍o^c(3 ՞J%i4992)="5Xh«cQ+\D*) TҬkK;˗;sPcB8z Dd2&YhQoe|B5MӋ 2A6%CqI- 9>߯΋L.#fznυIK Pyg M qY)4s]F t,&y/ e{*եn5xC)hv`.Շ=ʸ) mfohXG* {dWBQ*DXC qZeΡoLK+ UaO#+ѶHvXbV^?[l6jIQs. ]%l!@z]&)6aTu @?*{LrufD+.٬iP|[Z&Njף6QŠ$M1[ͤYo`'mMو+|cp?gSxG%:/ dA~U],A@ވ pPpoyug4*!?@wPOτ-З2P &O :/"I-C#'LS9{8-[R__E$*'3dیK?!6}J|vI&A L^82i6Fxz*<2:Rz&QEa q9;qrcRj,֙wS,P eh)*٥g(6#yr;]J swd.wV9# n-a R4G J]s~b$< b1ܹcIA"IOlB3tt2x9)xv/FǛ,f)?BL[i߷Xؖ/Sİ-B|vQvg;wAh | .8gwo5F|Wi&LI\0i!}%贰jM t{ Fl%Dt1 , V E}Pǹ5"#`Gǜ$>ka0`ݞh,{0ZlcO]6s: `M3#lc.F{҈Y 5MǔI+|BYK5?`[jdEjd= ƅ/t"߻Y׭k(vUK?%#3 3Zz؏+e 1Ӟ ϏR~4\mƥ%А2J`x:b/ j2iIeS( .~ǫ2N~2ƥfN {4PRϢ $m>\Cd6cZ?A36Dq#8 ܌ZgUЄ{N;j0Ӱ[: )I(+2j[X|" vqeIЄ(S`.a_C00K>g{; +Fs5xVElJ+C%sx:ScF:NʺZ9"_WXh|G N4^9sG(WH5{5:R%LeŏTJtV30W# G..,jHcC7gOH.Z+̉cm3eF# :;,pƠT;6% R'˫GH>7r9Dăj-@RZLl 1Gg "||9,v0U~s|E|nvG[_׿t"$\"ܘcB!J'ֳgZt6kd\_&4D c>W@(Le^*ϫ\X؜GIXW)q>ےɈ:͐aHaYۣ?OBEV]7,ex X u5PSnx/!eGt&DeSIuIGT_),eQqD/m*j:jQz;@ + ۏm$AA$UZ<04?j9 Gr-'C:$`GBO#ՒC*;Ty/3VQ,uS)2\6>YOƯbD`Ȼ^+fB˴L>E!l(Zf๭,z4W+#Mcz,[fb9㎙nl2du[4VM]Y" !}xcDd'2*AۛuVΦLGL& zt-}ݘTl_lusJx0h &_a"R`F0=J𫎖uܡ 6HT?Z4]Z+q0ܸL4۲1U%d!c*٠J &q J#9<j{ˆL!/#3U\d~!6e#̆? s۶:]2ZGzK4F&Jc{Fzbs(,bO]QTnOC4Qkrɕ/@|`ɊRmRn3,IL0mLA~߳!zIAZSϓD:U{A4"$U5h Iޒ2 j5[\Bt&TqE9ޱ?cw ob=nL0itclSuXvۡ99 Tue="DkAQp֞'φfx<.quN+VTUw)°nK|""^Ml39eW\rcU4xGd\jտ-BqݔvB:;A ,4FrIr/sq}nyfzn5j D jt'F4/x2n;50PD[%%׾^>wylv*Rj#2A-!x'uE%1-LjƵ [V?'bFz,둽?~[UcQq 41<ߤ# Rp|4& XG~3DR'gj`Jfkan^P!EƈSwȃ7m%EP+UGY},ޞbbrn8";JlQKTk~-8  i֙jWm E64^ "Ul7x"=֦9ھ֗Rfٵ:SBtaLyC& L?k/߄&u£k'b+!ǜwlśLH5/R t HC5Wh*ZS3FmϺ"$.wrŲmɃM[S0;)ę|.=XIRtm{*.g."?O}owp*kf7pRy"R8\t-mɿ&rvZD/[#£-4ԭ7'f}hYmCҍ~CS4)LJjqiz& `1ʂ&έ Z+c P`xLg9ϩp%峄=( '1q Yo-$q@J^[¶2#MSmf \t6R:@(%*$Go_?m4.{lMUuTLf`lیsUTkF+$KUl1*V%OdD ,% K{)ؗHC^@G)y B4FCP)Aobݹ}ElM8+m ^o{xb av ,WɦfߏeIpiΥDxJ] %fÓ4lUy[.>8y6ͬgb;zV ʝ\an{UMAb J],aLΗ~|}=5c-z#YXM O][ݽ HSs2" {;-^fh$rNYH^R[pѠYV|,t1-n0%&(5i \ ǯgWR[{? k>EDbg-ޏR%(esy*5MZ(%&UIj{K]cU>)}{Sǘ9YqC݂jA\~@|A/ۜSmBS$jNHh4ip&Xy)7Z*,,Y :5YT;n"^h킭eZ>cخqH}R+t0?,' ٓ KlJY$gPD|Ti\˿ziu"2?nKIh/u:vk א6Ƒі&E3 8s|gN-3/ϠU蚧lp/(ECC97'fq'j7uZFK8Mz"sdcao!i VaVQg`$+=n8{X=ߺ2ʬ5X;^Vms;Wr6 x^łj0~ <ƓZiN}`g50WL>.܉y9ym݂>"fbe^ҋ_'s9NÌ2y> cZ ^ayR ?6Q1>991ɔ9z؂݇ۯQ!Ydz@(<H^ :?eaƴ,_V25Ãb2"/oBjT% Δ8uP+MDj 98EXF!gZ8lԯ縃Ub-MH ZzIHb0cyyf/VmJXRY`{+w6ol?fuG`\U!HЃY` oU6*[U\83Γ<ځ*5LXسdO4:O yrFOCg։2k1ANqIvٲ(yωEy=_rHOfo2klrYtnOw)0d|69,6("n rT|?H>M ;-V `ߺIЭlp^68~ [y "P*YWԠA?~I'/5>,y፶ {œR>U??pucܐX0 xN(yOAB{Çwf%-B ߟɋ,.jVj[v- iXNf(+FƩq_@,W$S%Λlœo3r|:':׮l4ӇͽYOivKul^{NahσSuT3=fV!̍7fY]}9%PlsIni6 hq-<\DLjM k T_9@Xwg{A2a- hn %r3$[bE'oxIVOpcOjѵ%kZ(Geu`me4(eRfLe$G8R'a -gjKb\k$˾ǑɈԵE)(鱺-dُv%eXˉCT M\yase/o]:K y<~۟9:-nHޞǛ<~EK *bBS1 :-ngQ"E(YPRl E[yڧ΁'u 4 M?$amd1eڢлǣ pAc@؉D}f읝/`9􊤺հ;K <˸A`՗90ϒcULa?&WEFD[!{p@F_ _5od%4$>~<̟kLTʣ/j St\L!:Bt{C`1ޣI?P./qI*K\:\Slʎ$eH˴$iӑ+uLuFk;_/ۣt~.ɷ_f=#ԉ_vV s'xۓY}F8ÁMW @ǘ2Z-Ch iIPC@MCpOWūg;pP-+/)}EGS4uH $e_[*^=hfT0Ag2#:{IE ]Mɋ_*5Qm"3Rjhxe-Mx dQ 5 DN''[,t~^i(Le3P (vorN`*'X2j9D^zE*6a,U_lo 4=ր#k!de5̙~!'nlB<~D+Vpt'iݰMv^ Ubdz!na"O7{bE!rOQ{6jUs:, ?0u1 E@..b:;Ⱦ< Vm_)>%T-mZeqO}+6KqDibcc:<5qTIƨjgn89ybNNńG86kj/J\@R)poulZ7'&C?YT>Q Dۣ`lgR/ ϾßJXjuGBeiD!(QqLJ!>PE$Vrr@~萨LO >Ircv "~3/>=V**Fc^ƒ@i.%9iAI$xO1L<. Yzd؉}efc~jn0U+x>[+4 );WmX{:k8jWztPf% K.A?k\NmvhqBd<[*:6z&abd[2z&|\%8y~*j8xyk/,b3IO3R)VQ{Tn-ߡէzyk'i&h>{Pv[ͬŕŸW~ _,צ-w:F{eS׾mЧ>u&1&vB, {5!-*m}|֧Q΃w9[v{Օߵ0 'Km?_.&eEc`^{>^AXNxq¿vF}`NtVb]Lz OYR*,kwDލГރ2@j|;cޝxۯo{vmNԻ>Of6m{ =\#\N{(yN`٣r݇8WȉnWWGr4 l}z+kkfu/Km} AۖWn< gc)vg.fB_=gGnh Zun~*;0z}{abkPluvONxNniy{Aj~Y7钴SG4o$:^~W!+?̐@"X>lykǃ1ڂUr5Ն!3${g7du۽2ܺW^,wX}}HEh[*!kUi \IIWjt~e/#kjs` ح:5f~vZtfˏ^ UlѿE@&͞':zi)8A pX}PjiWTLPլba`2gon]kv_*K~G":k̑@tʶF^eItЇ8=An ŁhmPa_xۯ:|'? ^/b kК9Er>/*+칃]r @v^|TΥp0Tזg`ڵ^uu T7*2ONSq77˅nZjUHgKYDW9[؎wԊNgoZ_َ5TWpc &K~}ͤWi;x4Q]aUK$D%S>tI.ܘz\nOfZjcQ_HA]^}\,G^ 8i^vP{L?=8@>j<6 8hBBxWmީJ/+ t?(_ W P<}QR2iA'fĘlP dMqy*^9\?aR”V Uj,UH=00K!K?FEY7,V 4nY68ݑq1/Wr@?{DG T="˵Gk8쵐hԃSEEo*KTv y7C !1i +FAr^@h疫rsYB ɖ>(t,j씔(m yZK^[G=kc1@I.I$9|J.IsqSye/D)xKT)Qڝɷզt"7jԣݜ:Lwi?@4͂/k3m$ϗK <,Aϖq~Y"lf7 6e֦ Z?>ߓE|kcձ+I ,4}9XM6.)L(z sm(2/,͎d҇mI3Ո`qOoptpm9}b?$RǣYvҩNƒBxbi=T@,17U3H:Ijc'ҽ3Dub-~ $('7 + ܄׊)J;# J?QZJhqmYڄƤi'YtNiǷzNoSD_;Rp>d%Qq#h)iHHgx+Lr^ DL(CXh4qץYg`@g#?}w]w/ɞwOŠwГI˟φ$ح|_k15i񉇠%?ǿI-yocjx}a8^u2aIP`F".ӿk`.` Uȭ[[$ F,߷h\Z̡g]m A%(&'rh_f'j͢k}Q\ч 7Qi}fx^g ͔گ7y%cZt J/$ csfZiQ=ٚ>qL-2kWahd`Ǥ ɀZ}Ϛ eK56GsjMf+H6x=QAZ]2F<><.@iAQ E{K<10zs[8>7d_ؚ5r^5+(qK/hAzP`e`6( o wPY|H3ެˇcL# fwË$G>!AQ>-=(MCsbP}rhmdٶZz%xon5 "|!Y_y )I.$*#>G[$ gN}I|D”nΠ9ZJvwc47OhB-&>RYÏ1DarߺUP"6:?6zwL"A<>3xó‰c-L/t&U$_'h;C@%UF'>s*h=V$Qlj ؋DKwfv#K0N{_jO9pA7 Q L# H)箄YVvt/;7NF!:N]c\W'eM#t(}0E pr^!+K K6L`Mᜪx^L"0~iZlyykʱ+O1:pi[y0U8ofȆݿȨI"ڿpdGƐHA G L%aN^uh r;9w av6Qrr!h_.DDl<5t fw=Sı3*>DIe넖xl2y tC~;1yQy."m.Xi^zZ8|Z|sXKSz@byH7c*Ճj'}nr/w煣Ə`P :+'c pH!~('^Djϒ_S' *G؈ΜZ痰y![Q:"? -q߉۟Y5HJy[E$[pT#v (¯ /0{!Oњ|>*c1xVݻ6އ P4^{p޵w/MUWy_syEbF,kS͙]^]!_ 96ӻr"8ݡD6SGS>Θ"6K9KD-CX#8غ3_dqa%hHOƄdFYŠ{ȄS+̴ؘ6̳-O샩钒U/R K pf4PD0\TBյƝgtmIhSn\`IWk Z2tWհƹMҦ+{Ǝh' 5W4f]bëPM y2Rh|&Yc?75,G ]vң0ҕVVzzHgꉴ%);2mܨJm7噼򑧛->tf{ݗ'Zo zYвS(<.EZ֐{0+<ܛ7(ivt1Kiœ6&K#r|c1 5Tqyt'=pߐx,ج[x~g,nogSl5*6 /ߘь%݌,П~-γg\Yddh WVe )SI2ooK@rG^ΗZ4&6Ȅk;5- -bzjDd(j֣Ѵfh@_usEk䴫 :qrM=vЀ|߈|Z^;Ph8)gkEG[~Lq>uE XHK!Stf.k^D})P~ kZ5,:W)SV? mF0Lݥ]4Qo\VWŨ0W2ICQ0l DD A[z jKn'Ѫ> vc<|u^ 2Xlj`K>{jjؽN;g%wpJth| dhZAXt;Hy SK`G>>Ḋ7-|xq5M _64OڠA =ЋG- |z \llTDڿ}9 K?ۖև)D+^u}O-!V3E۝,kqG Gݻgv#; /a]l=爱DΗ;Ee۫i?f}xZ$VS푛_=.x7Y0bSxc1BPw`ѳ"\y>S}y,dHوYd)M,A`,hkэ )w&8iA-fNUՇ1%0x/8{G| 9`y?<74|L,SŮ~CiS`5ֶD&I;ß]`7]#X?e] z(Hﵰ<ZJIJpP6~[Uq{uBԿd`JMrw:r@J}j#, 2L \F>d8ƉG nRq۷:y׫CeJ*o(bey;O+~cQ  |ndHa^xF!)Փ$# %D%<TT%Ȟ;,`eyWDKXOrm.-v} ?h1w5CQwQLEX|*`7PFo͑)S_6,St ˾X- :g;,H3jL2D)ޡC!#ߛ2 6oepn$t^AEf5Xb65k B!kf夸C'`@<*S kׇFd8JZGu@ .ne^j׬ɯji"rnuE P$<.Sk 6E2 .( +Nc,܌<0PT_<6Uԗ/0(9? .qEbweyk*mEdOFp崽ڟޭnM-]d6vMc6b#}U7T2ĚFɄӷ`f,cC*a.<1F%ixj]t fU$' T' c8$E-  OaJ>M\m@쿼?yt(\U͒ q31h5^Ls*ńΜo~_AL0ϣ_' d\#sBp!fӹ=q;UԦjc`3TeXnp\cg#p?- #l(B(gFnCɹu<H =M ͵ta6`yQ')+Nlٺ`w]|eSǦY!S$ >2 ]i y;%4uFdkdBWj^ lK4]цP9iua2DYf<-wǁ_]f3]ۮ7õ&Z Z?'0eH87*N[@]XY>85 74Oppɟ=5ߌyX?u}U芯:;ت9Gt3 ݯe"]<[UO-陁xWL,9Nwqi!T/'OFmNFg9 -8EpQ9̮fh>eI~+f"5Jq_VmRp0.IǕioH`6t):ߵLQR*lFA+o~pO%n^!3\UE5"8v p [Y>7U|=F_WۿGO fl؜Sv%䡋Zx~0&7Ыzc]O?fRfښǰTd2JxcaSP xz 5yY5{'S,1 ķ:;rɤrW?*7ͦZ]_ҷcͣ MzJRRmg3]>'Lw cY{-U wھjEtrenԹ2XN8jFI@X~% l@yc)jFZ{hO^; ˿Qlja;yw= ;sxn:~p׷ 7wRthS<Qn$Rx7Ƥ/bf6v Nઑ,X wh b\O"CiE])Gn }@2z\}>L'*).2Dlz;; rLZLSǙ'BG3^ WІziS}'.EF@x"Jn%N=[fힰ9_Dgtygiy9n-Ħʂ\ɝ=`znd XyNz't9:8\1?j:@Ő<4.LӛAB3|I OїD+B-76+$R5"%g௮4P)D;⿻0U3 !)c>KC460̓q.yS `GnD9rR/o~obD8}fo^:>S!4K٣0xp㴜%xFϳGXeC{?Z-m h!/^o!{_AQ0HaS:I;֟8SGɶŠv@T^,{BmgXRW? TGAMx Re ޷J/HMzmx[R .a]pDz:ZW;U:7= zeM(FgFn,]sQz8yUuZҮB$ +S5Pb¡'P]gG ԟ]G N@!A){eр㣂S: t?\QA_g,S.)?J8kιZC']ft z’[9-zqAt Ul@K!v0`bCǷ 6}xK-W4*bSHwE[4걆lه[ \o=xErpL4X UfOҋyBd3KLG@z2#+ם+Ά LG&v_W1pǏqV|zJ ЗT9 FziܦOl (Y!I! QZ A6 $UJ6&(+g71{ðZ/ϋ5ۖu/rCCŌ0$.Սh P#z*l%7rG{b@-7p`&3t{[w`"*|Mj ymso-ؤ RsI7MFh_C c&8a钥=|段y'IgO@ .uh Ye f& 3hsuNnfXĸ^>Ӗtks7xN-`:y:cCY!-U%&;˴;p1"c9+= N͙8:87aeݣn)Y" Ma:z$tWBKt[)::dE.<QM>V%AD&0eYq" VQWd^)| H !X/o*h1i ~_mNJ"t_mZ|4YDۄMUA#<@e7@KQAr 0I(-I2c/^?!LeNH&e)VsRVmTi?0`+P,!6ѭb}v3xfثZ=i&Jy9Jd>;7hکc8MdɓZ8ڳlWr'R4 dRbEXh$r?|kŠ-!Z]U2ِ*> fk}6{Tv%(Ҙ w8[VucSOvʂ (yqQL qk/k+4 0JX֢h^u 2C:C' 0Ql#0|7NO3l#eí4qm\15WdgÜrL:yv!"%]8u"?$c4MIpB7.-K'FG=X#QOQZqf9ݢD;Nlt2V. r:TN=pÐb[;;8SpX3vE(f*%:iZ,[TgJ] rKZ ;*a\q]ag@*6!uqLXw 泤A`Y5n>pI.Am$sᢑ TrOi)n8E6tŁ"¤+-#`WfaZ&;ĸC<4T(MovbVe ƙI`|o]p{%$!&SssPCnNksěb  |Yj64ֺNlWZ<¢n: &Ÿ/OzK<C\okZ{gƌj`$_*0|/#'Ӈ,G;G:`(bv5w_Ov^O; rgSRQC`wVUuoxO㬄6㠃.;qj6H]j]8[n],pBw4DNPkQf*CCP!1w3DzWyDhlk>j]|nb[NS\>eR̯뚲SZ<|Sry".WTwo|6#f9$,jѹ29̖SǞ@CՆ :^weںV=ňq;{᳛`-I@ˈ-U;M֌G "Uˌ8p߸a[u+clO$;(f㲿Me;4 ysnzI 'uK*jRklM PΡ⟐*bK NJ.*I@ C.vIt_cTl\қ/1Bީ<="Иخ܇h=@E\hM! tV5FtpH>vURWn[+$^"踊JZtX)M$p9[ZAWy8[]{-mk +T1)/_1ߏQ 3T84f8`5ԑ\'퀣舢^5.m0qZꝄٜlN|nTv'{ƵRlG!9>`[i6t΃b3Z6O.")R$cD"H.}*óHP~:JP.æĖ odۀSJSϳdƓ{KKSA.1ۀΖ9M8}g."-.᭏܈ (\iلđ#F9Yƅ+9=\ r}vX#=@ JZOy#@s'A79edmgE(twN玪MaGea}b,B+U^62R" :64?. iMt Mה*E9a_<@ X榼8*1=SH( (1kKf6 uWIZٴRfA\Q,.Px8X!QS3Ko@_\c(H֪"\П8=ó eT.* Kފ<ƷYT^k`ő?,+ P\Uk+:,=ͮHds'9I钠2MzAL! hBP+uSVVg5\K6_&aNI3́Ix*CGR %3]ū8-z{I>n#"e1{H^Cl.lIԒnlf*BWWxH4v8 ".Ms)^m|{:SzM!Ah(Ka;fdwm#&WĠ4ʋgO!nQ?U xr͆6k=@֛J 6Fohc )W$v.\z,ݟCM%E\O^]h P'38r-0q 5!9kO7"nQj$φ;+6fy'6+ q{jMI(&,8OuF*e.Jɰ~OeF.bFڬr,,o߰$(,-TDpBE#}WO'm98a '}CvJV-aoYDTы9eyבjFfڹ *Yw.`o{Zw =@Ƞ:j,i:<'啬3qː Yv}aɈqW2 aj.G<`NYOj1PЖށCUtl \P363>ۏP޷ " nZ9+ok3rӏУK618Hk2ӛt }GeXF"q%WC= Xff{š j7UjAELʇyAFţ^Vi$TJ\4")2*vwn@*f'i2v͉8Ʈ4kRwe5H\u&&j{I_/T,F/^Cڮ¡Kl)ds&;7Ix.4%).7'^e#rrх z&2-DQly1icpKsҧԑOi.I,™H<02AĀ40(MC)q_6б(>)=\U 4'|H¹ʼn&.k@#tWwfġPo@7+F]Ceh=N#(ǑZy 7{Q®?i|vOh>>g}V7T;U{ <{I Wh璈٨ Md_1⼁z]$2teRt5ZRw0uMfNN=xx< 8A4ynnw.mT[Η - jq?l\Kc(;;A'˒fRoJ0 tw,ݓM8 K1I&p;.ԅ*1IR} 5 p1ʹ~rPJ>4;6{KS*զyN$)xApR`v0{)X01G]mGY cIL]X-c,E• 8ؼ 5r(;D7-Q Si'BwL!v$e{*/+JA;^Űar{/Q'4h_^0MTA{@A;C E% .e@d."Jn=}KO4=T#'O /b$ȗeӴ*$ >p300l#cp)[6AyJ&`VzW3I˵gI ʝtj7O2?^'&烒/LX$6ق^$([Gж疀(?i, GL6'T{a4X) <L9{ 8x7LqC?L4d/B>C+ƍ^KX`O#"q`O}'pPN ~1 o#޺@.p֖ $^lk'dk sd5X&v\Av:ܾ.GNm1Hˈ VDPH$hXK ;ah G}k"E.i7 ToQWÕ2:pv^Y:xHs=[;өs9.:Ɩv 軄֜V7 tJnWA  /~<v:w$kTи=KxZ$QCtK!bx;k"GKK|uC} =# i|.t֐~vW:bO-2>x8%wB/l ?~B>- 8k鍏JXtK'G^f)vb쒳*ռ5O'x3o]SrI6Y&R-.D=` )vYe4OI*2L:~,:i1Hsl r{'۞2z5B0*gǫi/Cogu(6\i [ 1( *ې 7\g(O[=Gg<*!cY6 pG`4ETc&>hTC`egI ? T6>pϦRŞJpA3yYIU(7n4{)|H% 'iN-(2Cd26N=*٤f6 oH_Fh'YSZ#)A7 <loJ-z@9{Y̱E(cm҅&'n3x yr2TŏQH_?(bO1;0#>U8Ok@}=߄xi^. Ч_FnrmWm8-Ɠڻ/E6XSy,0CSXmN%:R 'T3E=  N QAzB#roy˼+q#j#0ECNAS{|5 nq\aD+g ~ՓFo"f~V^wMB1='G>VtYm7 ඘ֿ5<<ҳ>M1B.G;KH1=_]rzZH&e}*Ce6%7(r7]uViZbbtLYUTкLn)0yRRf$ E o&s{FCH1* .v*{܀aՕb|nDd. (0*SGم@G,cz/Ex7:S(A 'C5@<5 )gB׶D`fpj]} kҭ.;~r>[' Z 4[Q߯د$ޟs<f} k=44?~̮D^1/Y謨QGؤdNu}v!-&{I 23oO y-3VŜB$%̶86%L;s4U:B~"%cGl:2o&^ijkn x ]ĻDC,D$%~sT9TpЇ_bCMc^MYbPIWqI=U;P,g yXηfn"2T{Kp;nКӏqzbLJ4kG`jvYw1;! /͎co_Ͻ8&ZKf(+;Ctir36 ord~r(B+\286nbٿkX3\b*{/.'bcyzdp,f{XGXt~%o$YTVھ5# (䚔\1LOʬOXFS1Ll޿}#\c8'{9o!KΧCyNiq|ѯkB\m&c"~v V ݜLw.\(tF>=b?A4P^Gӓ*m={pJRX~e(gI RFF oߠ+,\@c> 7Q$mkD\dLoߐK<+ĠI8 Ʋ~KzN򽇍Նva_Ar.5܉=35▾oЗkڎ)LgZ/5a|i겈Ǡه\_}oofOy yڡ\7TgW?2kC? v~q21.==5L)H#5ٻQh hSLOO('C!T?ƁJ|%~YFUOS:cKIYIIk;SR lD0$}Ãԙ؝ߥd@[QfXU`un,$ mұԦ˚@-V866nӵ~姧3{S5L&G+4XRE ߜ:堸:DH`w,QJ)ֈpDj,2r2;¨Z@YPhYSu~B{i G{feupקE6ņ!?88qg,},L Ę| 4`OϠ(mH/KL"cD?6\O^ZG/ԋLy懣D$@GP(䒛H{#X_OQ#*'(\N7FWt=y>p/U~Y8^Io;nnr:f|vP>EYt_Cr7]Yzd@ҴTe^LDCp?j1@Ѧ.i+eqVaeQYqr Df:ʬKNlDG[KpSu=4C^~B3VºEK9`V"$?lpz1r^I9VWv ;6 E@570Zq R]S܀6 O$o{c+óW̶vyzI "U)\x=o`F8Dn ^w1]L,tAm*"+_:=SBz!ptӒ}x~dmreDZ,%\>HglOجM$c{4yJf[=-J@ETβUdJLs#'(1g4,[;Ъ~]Жߺ/S)n_^cEt` * DSFvP~t `AZ>XSOGݛxʌSS; b{#qZ%=5-t=gp{ĦՎI,J7}K &~R@$TǪV:dSn>^wQah'f:ԓ?lfR4#\^ hv'|AE}4>YtVK-v8v8Mo? 1p@bZja/Z9x#M0UxkR]?{\̅Zjw)@:Z^UYM d>FA(F,~Am+T+c,"$Q Mʭ&x2svM!3&5CNJSY+_sTA=#ri ?vJ(\޴ӊ ςGQ9/&!{`4FQ6DK ZP呦קu*ތȿa$ } ȴ 6p _cW\ci{ ':Mƭ3V ߕjY;׹!)D qZ/A)}3/ae,%?bz+O&)N5U&>z>u:I)Xec3&4ل+BuHw욛.I_{Fw+r[4\g/I'7.gh$܃Mf30pmE9o\a?ʴtC$kB+&GzI8;+szvzCqU {3wi*z߸EŝTj/\d4C@x}yytu8C9jcb/K9.br!q!eNvaU7Y2G} >vvei ([g{ ^cռ^n˚j5Ƅ"z>zb?0;+ Mo[)p9,\x7luEˠ)߷Gf"LT "CWZnSVbطAxŝӎXq?V&U쫒}@]xu 6ghC{N8 KcnKY4%K_p5|rpfO4夏KyLec! ӯQ`mٝzo/K^lѳ+&pZYzD;%:Nd&K^8Rn׶\8eq[vيCոNϭ5!&F ƕYyFxMZE]/ RY8}&N8Wvu 8NЦwK8JνSF9S!L2BGWVdvoÑ $iU$ EncK#CgZe0+?aEgwQ(wIv.aU ^ה;Xw*,GGB0OD&ɶRMkb~ oW[<-;zR ͞V*H" ؈sQuCG~|?:][jVB%Cl݉>&f?-|M|+ k: e9(ըwdcn`h׎?Н:o|d< u}OA0'}7,LbW@YϜL t"C3P%gv;bɛ.Wq7 z73M:Y7DxwRd y+5W:/xW 3uΚjfw/?C0uD&$d, 46(H`I~9e3+,f~Hr棢spdL}w + yeeLJw w.EF]k=Ċi dntx@^5KԼo.5ė; pULL$jH-Ҍ-pG!1+@`:p09>P.q p-ګqZ?/_JE(5+lT:Ř)c~aP~Gn.8|7sh{xb+q~n^EV_1kgdKl#WuxB '[ apX8#DBQ$+ b~ U*n>qGI*6Ɛjq-ϰx܆2fkW&hj%M1{,xDf]8+~ u}P֏|5Jӯ1.{vEXu5pHkYǍ~ u1FneȊiT 33AtT$ PMEUiyWVϳOzMe=%`z4VY0/|o݅Mv G< PBR&N-7@Jx6]%%C1jr84Y?8P3`4Z %XYCŚhI->{NɁZk eCú6YoY.7( [Vmm{p[LU d?=t3iZG_%f^UIf|Gx-9%|$k`[g'^)&4ʦ+`f"`U{>W~%yTQXX.sӮq%ni}}ϠfVb+~j .n]TK" z5]pvEwVVJ&~U%jv1t~i=-_5/ͪ:Md cU.ߌMX 4ARTr.ۻGŅ3ϸ']sywfEr^sef2墐7_F@,(!1;4lڢz)^ .wR??1בk9 0 klO ~XBPt!a^^jW|(}Fp7t{5gd`\P71Q|?Cݔ:*k˴Bs}if}٤21hSJ"1/]HTeE9:Fu՘|W'qy|~At4b.Ǝ~oWڦzu/p כpYmY-rzĬn?ub]/*2܌a>"o9{GCr^5Y ЦCGDּŒWs(M7C2C?-,xÒZɄRqCnAyshUʟV壣@n%9qN+dg 8)PN͊Om`?N22{RV+,bZm&nM_# R˘!=' lr{*Pȴ}@4[fqZ>-\SK3 7B;%NzY̶v /'Pp? E|;g⩁p] oTO87˨@{qh)G6/Vf<xoЮ޺2) kf> ;U7=m 9S^Y=gV| zJ#d-1PY>+£L=(";wh * ~q8Ğn4'G8@֐"G{P HUA!R+i㚞w5.:•,zߤ RZ,ltR`c' #|ݵHilbs _>8-6/hHv̾5F+n8;#]uWk.ߕ}eyu$*VxV([gMK% JD@AeY{s* ^|8J ﭠvgxn!P>ڞ$lcs-7_p]^_L'#4']Ġ {tCڗݧhvBgvWccT{ cU7!N*"t%%TsAp hf=p%h8'q9}]ȖwƈzªV"|<ȩĘ!u>;26˻zlVm` rֈz5 f2Uo'(Xk$EWg*_EhZK(Bej"hw /y\<85 d==kT!͙S M$鍒KD2˽Uo76 )y$"nIʬ|i $uM}*\5Xio2\mS_ѧ^l@;G(qT'iC-r++e8W \c6=%QsAޫ.٘)W/|4q"ݞئ|_I?XMFʋSvƊ+#l5}*RnT#5#]mWKj|ww&sq. tD,Yi@x}s C) {X? yus.de>ZPȣ/n0T npTNF/` M)mv*G[.rzYw)}+ܝ4 ݙ>\-@Y/%դ>ps_w㚙3MӓLFࢺՌ?: [.c;"vGJ777C%nd̢{>f58Ιd=]>>!&C 麫u ``ݯ#ߐ 7 :OW@(\Dzi iƴd" zd]zT"E  y 4yvru--^dZ,U*a0vx1_f)Mk9o7YwW_x˫D'YaK&o6%l]w; 7WqOZHVMH+*oW&w0V0d~tm1k;֡}R4s/Gv|M]Rw8ؑ$b(r^^zviGhLF", n `{䡥_j08\Dc5O+]M I$ 2mW?vT.]&UGSCy{_{x-pp3L%l쫍tO68Nb~9y W%]^j>w<\v3v )C$5ZVg)O,(:R1&v~ }lo/MdO kfpA6c H w3-pXEtJ1?6]r\L'#(M1jK'pތ7֙l2N|yL=)eܮbRe_1 AFQ#dsT/r8Y!Jc:A&p`40I)'9_?,K9Oq$}4+o8| g|3z1~M ?Gp4[i(

= f>]Kc!X!+tkdz0u|+|Fغꁈ 'Ré\v 'Zwk>'vX2mjȡ3|.&$DiئV=i ں[ *ބs֮'_϶tsBT@9( (K.jb|:nBt +p 26އ?bu)O@Pr[ ~~GW`vD87C15l 7ǢI1o.,:m} 6AyWP_7d;͹|qqa἖/)J5kSQ(t^CRRuti:hQ]6K[?jږu Վ9{ %PSmb`d`4>ćF0&S{8 H!܆}>;Tk a7 ]d@y%[ A+v&{3ȞV 4>\c,A{|K w J`$rˬ\%b勼ή]gŸ0cAMĚ~ÚS6N߬".5Q\iȺXѳ0AKٮge%ʣkA?_ g|'A̝! < \N1VS/hmŸSP OYII4g;|[+^gۊ [nQb8,}-oPMj-!y޸1ɹb'p$ŧ!5q=DqLzZykpMڡbyvG aHiA`vRgD9Alc("5PQ֣dY#[u\&)Y K]M&a˂C뤷 ڱWkQ!{V5DIɡ_ 2e8 NBrQ3IӼOzg߁N\b,}9Mx׺!yا9iȅH{8|."M i "o+/@vS Rx%xAR=+Vxz6l ֊yI (Kx4$wVQP_t}ѻ}O++8%.P9Dsݚe@ ,HS?pZ= W/4ؑry`hӲ9Me G8;eZ qX5uwAl1L{]oi2vP^2~"}nmڭH;Zy6#U=`8qufdˆ/9tG<uvj.Ty#RQp  hYj;*Lj{cEG\bb=h&ČByKl8 \o7u8tW6YRR\3՛TdžW{Fg剽n^JvX;=J]_e̗5*5߆_dNQ)D9"hfq_(('le},)G-wIaG Zii;$ R^cVvdS#<&Si=Bʑ2vْ9S{80D7p-]*g礈Opv0 yphlk:sm/tyD<Ȱ R{ondLȷ"7!d=Zpw1ps]v4#e/6U@r dp[x1(GWHݡ9eE$؆ oMNrSC] 5Q&VBe 5P"6-X Y^̢+g/*]]eH\9gq>nA-aOIZ1{vGP/dcvCرvn1tMC١3;=.6\Z]kڐ mQf5gɐ] C#j!9<<2f`s"VPAVy9Sxq+ߕVY}K[cdz$e5YplLyLFB~qGb*c\iڵ]A|ܔ nBre Wpe7F8fΟNj'@mX湐p t=!BcSG Ơd ildjed3=G&~tN]q>NH`I;FT{EɭB*b8fqpEdo1l ޾!.8->$\cQ2f-_y3m*8S?7|8-_ %陧KCAe#@GɽtrBbziݫtkb/ !_H5P$݈BY"v)L$\)"ߌ=nvmM15eֆ?Ck{mU;=}H)? NaNNn*Eǎ"ހM$+Y?ڿe1Ng7lu2?gqǟu'mm/qnv@IG`ZPMJ`tİP/[O2E`Mw.ufPЏWɢcPH9^+ǡ& Ƌ?GD}:j 8`l"e@dD4U#V}V|))?< GQ5UP2/ֲsiugvx0@>.FJ;@]pֈM>@:JOOb@O=QB:w්籘'' rA=z| }`tS7F}%cf,#V!߼q E:LIz[\ktpjI%xϛ %)~+NʏBa:\z)af{:`,5`~1 릕4Ά2 rM Oq~w `U?e ut#?e3 ~nOܼdB3 n?|0p?y7Kh,1.Hʟsq]jYxܥ{fgl(I\Ə?I7MuuZɠO\ݳ6!nnR Y5=H4+EGv2۩!}&xFͫܚ82OДز(P8ycN6o5'?C3 d?FSD9l%=0= (kr,cN6J"s!Qs~R2t=op1O{F36" =ZŧjcC8pHdfzO '?& ӈX-j,x#HY[Cɦ T3o(IdMI6(~=bCKhcZ?Ȭ:N|#&"~)rx!@S],-XHwi}msHk{vm.rvQiI*2 Y}|m,f7Y\jQ-NV%* q_ǁ9;sml-y58)yDP Yv,ܧhiOslGO>f&_J5:)#?M, +DxTmYM Ľ8@ &&N?rK"g2)p׬_A6~4Y?Hc" [OQX5ƨ ﷺ4$wJ}e+&⋜6J^5KtXM|IWU!N-nf )["h`V.qtFĀ]\hkƨcK2$K4k@.XX`Ulv^,~ n7cp)_H6E *Ӡiߘ?vݻ~eV4EC}x zP1Wg[;̮!ICgL.A $&:iz)!ƞ˨x((,Y4*S~!WʝHDk(,ɀ 笏bћ; ]⚮^i4/T^`ePr3&'uM/P 3;%pDd0F]U3V|ɋDj!!Mewfam\Wv9E+=j[3xHޑ뮳v^JRMU0^\_LL\,.IG6%ٻ.q0l,:.mJNFjlCZh,(H gtAMosTy{ş@xA)cѶWbǐ5Th3zƃ˵&r&]q@,Lg|Շ}v̡j_++Zeak+,ѱߪ>KSuW tvp\j=O/Hݘ RȿF㻞G^Ӑ eןo Aq@ϗl]"` JȽz^ ry.(%+eF;Iu}D\Jo-&ʿ23xp=;~DX^yX+#@0ɛvvamC`u5eg,gp"&҄y& W-Ee!I9)bkď+?-ћ/FyIVk $`]#7t ;$dO{T gNvc=ƉKiՂ,}&06gʈvsf )`'1ϓ`eRbk"QVB^lvx?oG佇I|8

v38;Cܧ&X NY8ld= yY:;:x*^/p^fspD;~÷*REW.pGBo4E\_XjĘ&\tѽK2ǪUkE]p 1&]lȎ#R[a-9z_c+׌t-bNӈmgI$ :4%nWp?4-̊KjzKS=!jm c$ACfjjulg`Yu12:} s: J"a%ٿ-o^lʒ'rPsr?ຸnNM4@-8:(Bgws+c"bT-'Vh|l(NazȸS%%=iD6LݱgI^R5KY:VogK ×wu{dٱZ9{708`&єh1ʍ"7E6o&uo3$F.vǹ! w..J>+}\r#F>*Ka0@cu !y D$'ٚU%֌+s+PVSIIQ\kfZ()`*<l1:rhȲ&Kt#D|~<@c$.}2btc'!p|Y>{p2Bm<%g)sԲ[S!"1byW*MJh5!|1`-GbZ~,.3p?"KX[R)dƃRL.UGUQ7qky$CFrb;KPs5WÏ!{ ?odCZ*y[Rd\m>)#f&)68 A+"]`iB5 gAm 3dcZ;,Tܵ58t-8"6?dw#d:Gz~d?ɗ D:"82|sD'O>Z9AGrA6c~uXx912QMTN?|3,; I2֒׆}7Kso0#@n$Gn vًвp>,Eo@)f)fqqeRAzgwWօC~lXDs oj'xt4gQ(e_F uda.4Z.Km.f%ص.~< g.SXWJ\}Xj Jf@Ԗ> ki0-or>|zXԶ=з;St!9\iBbT(0QVfJX*wjD5&*t8yM &[Fmm$'Fg,r^f=GHW,qzf] D遨yH#m ꒇs.h{O'3B P{Yz2"vG;t~Yeg$3,>JR9LjI,:jIS>[wjn :`Ʊ\S3j:f4G5$E@4K1{g!!49 Hb.ɋ0c%IyP57' 7%H ڎ "+Y -DQHt]sY0&3eTMl T61y&w*'7 # R>EY1~VldWo {%v_u{Z?f͚>a36n ݤjG WĪ#H5ʟ 5W[1/s^힐YmCK'/cѱZ~12ūRY@@c왈]_d8hz<V7x.IBUm-tX:+e='iщ_+<4'!!$>p2^CYLZwB~O52eAF#zZ"j /"QrY7!P1X Pea8HRkb!K#U}amP :J! xgl VT! 1n3 B쾖Z\D'n~0t1H'e Da%]~8Igc?H8^eӞ!|w.jMkenb.<9Fy8^C.K8Ό1J:c ]T&?|2n4;|X/,F# )&xu䆧*2JؖϷ5a !Y '1VH]{j9`OEnB`4*zIRSuE(l=6)9;=ȃi|EL/m3mJ !L(SrbP| APhU@ }u%@x]Ui$X䌶,/YIGq7prlnFkb :r'ou ;Y=5TgDX|Q<2pVV[dfR2ޟؼv_WSߣh-wja)C{o^ߪ<ۋv?{#?bS+ 3 I$06A޾6%׈C*G1VJy@'~6=x%?(K;3Wžy&: NP!:J"TvJToИO<(fOB5-DV% ,sƔ_Um2jУ6*ňY.^aZX]*E.цQ89 QȽq;+vӞvgD`~DP49K\T  -5ZbR7͛d\jh]AIv#tqo,@/v:~KSa)pЃw5Dȯ|5.eglyg@ ((ߏStR׼5)<̼ W%.9K s8\تɬr(=Fݴ`Q,= K{P*-fE-9C_[J$!qój<K hͣA[W(@+rwKx[\+>LeMACZOO-ojߟm@Stjqh:8Hjf"spO 9nqW K(ucG J{pBlky,]U< 82({zb2B;a22O&;֎HZZ"Tt: ZN&P,+*7|]ur@)Wn)u-5BMՉ:h.4YNyvu@4˓0Z&~f?YqWdz8U Utm=\6gPXȶy.L:^t+sCzWw=r 6]2(CQ\biz}FTK+ X'㪁hIwLhx*LCϑӸ^*5ٖ'%襖"*h;[#9:T~ P1dC-kN(8 YH0i+%ԝˤ̕Acщn3};ۂŇm>dܪ *y@*t3}1T$gzЄG *v wNSGX(zGP!Ҵp@#Ӷ.W.w|+ ,:K-SnF}ޥ'{#\<`c'u3]`qoU*8Ζ>9(_V$4w1N` F*ETwv%tиa +q #٫mz!G2Q/P+ß)*5"8`AțAq1'8{H|HZElA~ ON@m& iW\劆9DNl8iI|].&ޘϏBK3u7BwHx4|O0JXcIYIQLQZ1|8< ̴6Z j 8NG| ;,OxT%0IpB@f6y|%G<o/tEHgz1B1$ *ǭX.AO)}_8 vQR} |r&Y'QW A[?YHK6)|O*vPNsm/\D~@Ž7\zb na"*˄&yDvE fk5t틲\y⦠0.@bv2jQFp]6Rǘ9UDvX'Z\ˑ߭)O~{Ưj}~lhr7}z2}E1e`"|9ޤ_1[3ʎeaޅbŇ5|I>o&GKl,gl2|aBgÖXX"MLj]U(]q]T Pr>=Ii|cY1hR-K1AGeq9iDwRxA2*4O]@XUFPwWשzه.!@~ T.{m  Z h@~(ɅP\ȵ/܄'y-[\MPyNR (G] 6r4b9h/MP-f)3f]\AZ߁NN@K$HǵD%fr9 kB\J_YD2|pl90:] X2ѫ|ct xU(h)1-Y 5w >%' VTPg}o:muZmߧ4;5|F]bPBzdnvC 9&V8#gT ]uT2ʵqV<4+@.W=XD &3<)H^<8,׶YMn8(FzWU!riM9VP = r$-W\TV xh- bLǎjI@cbUv:Y~쯗׽^ $P5.F*3Z‘e_D{D0Z^F&H@$aC6dMP<jelX <*pH-SX1P Icҳ7\WvT@V##^G 0! 4M|~JcQၔBIGFկwfqa"xIxU剨+Q Ws,iՄqއ u4Ǻ/;{y xVP'y݁b@߶"3' ̷# yvuwYm,G|BDϿ6 :\ܽisܸ&W?8*ܘ7Ĺ[QmLLtPUDE%dB }n<D"u P"̰pfꀜ_,>D.Wٟ v۰m\񷢅'lIY."=yH;Y36Ԓ,g̊FLalȦ_^<}ٲD9@I>U8+x_Ij"il31ɪ'~N0Qtle:!r'yCiWogA LPpٖ}^cH d[&=5K? 7ۺf<Ɍճ\EpN+T,K%SH\7S +%]6JaV׃[?c'tYCܤX9K̝%O1ӘygI^z+aSʴV+o!ƣIԙ1qlp|+ H0 y쿔'JoMj2fh99QX7UìثOJvIҩ /JW;`ҷ;|A SX#:vq&zap6=yMw-{ y&O*AN\ڔx~ۼ#8þ=]G ʓs逵_q@ケK4R8UW8;%lǨ}-{듢Vb]<ٕX#R +>UgK4lu7_a Yo5k ~VfROe](k{򨪚'Mݴ*z]^TN 3n¦ e'$sN*?9*gnQ5k۝T =$9IcOHShuE i  KkĘݓ;Aaՙ {i/-!HpwDg1jvA4H|#\{ܖa 2vnJ~ &e?ǦJ]HuzgՄ7%snTwiU5Z]p2~,kg:ZcMz$Ɯ3|ǯG%lS<(]KinXh\N86P; 35lD[Hg8K:|+~ș3t%3n\EJu1OCܴI(Hp[ІFRW^A:a'BzBtHӸ.ƙ‘l:1YGS4J*2I8&]gjQRAe zc–7 e u^/IQOčpot}Q[ l c݈ uhvps"-1,ޥ2ۦrp"o!#a=3[S RWDkpEo <& YеN>Y\>/mj}+7bOC`A'Oee_b=1 Ne̖eKa" zػ݉YR%t?-UCjIPmϒ d_Fm<(bwc%I p T)$A N2ݚeWvHk7Xju oI| >*_ 1̢zQ  ۄ h@{,oxɲav>x4z[-R?(K.8XLtO`%EJYu~<;ϞEFE}'[Fl~1Vg?|( HFE➾<<&:,'g[ߖ9ڑ޷ 2+ {StS^/Lğ(=ۇfI'9FpDwctJܟc&FgȞ>H<^t`(bskk$1%6LIxԬ ۹ħ:ܔ;Ri=&3 h"X[1Mx^o=O3Zߊ4nB;YWܴAz*u|y  A*yGݾ=3A'k]<8[iW_כ1,߀d si4=-a0Ϡr68zh6[7^.-J.nڿ]F*7b%q3_߽-d>2CY9/osHnI:k.^϶Z[pW[p2>szk>8%b6&Tzx N7-e&k𞄯ԊpWh#o ]bIKj1~j7aY< bQrIkDӜ ӌ=/0[f ^<8c0&7g'^Hwڧ"e;g 2IȔ7f6"?VKPR~'SR g_pXԦ}`1Y@fIa#rxE,N=TW ;\ԄmoM=Z$]$rVCZzYoXXnBr_]Ƭ01HGD43:mb]_h#3hX崝 t*++ۋ"6!<ot uCU\"Oo@^>XwJJRRš*Z0.wm!RN[$bDhBF@ec7f=I:&?a Om-B{xQ m$&n͍uTt!":3l#Źc::OC#AC 79cuH#A`yt _;z{(ɤ?BFG=amdQ'Y~"{{5SA%NŶkS7-Qr3:#G,uơRU$4p`OT-jL\9spl~wYŒd6/tE*~xuaWc ~MW5{N0&iOR:Ay47H}$Z?K=[C0-Q-ci'jxFؗM=^Bpq҇1` &mL'|sr0a8QCcauAb@vN.TuٛN@ ,[:CIZXW^W \\ n`R cuaGM{_nJ=UъMWOՎ݀C>T0$~nHP _0G<;7ŎÈDb,' MQqR5}3@pzA53Jܑ.Dnܻɋs1q}S6Ƭdo N6CYmԳ2_ì?Mf^8ZݾxUDzߺ}Q%}t "(mckO$ڇc=QO~@V$t%|$_ˍ\|Q x)Ago {B*#;jMym*g6: Y{G'wW? (7G՗LhW'7G\]-`.yˈy:M-gT:SwUp]pqm$5*?4GX ?m_4ћJ⍇}, {Cz5$I%oIwtNӲY/ɦT]66f^ I= Ebpͽc 3\r5ްPύ"ݯR҄bn^H D61\c+x;PDeKVbӽiw$ho93gL>xl)L žIcŶPp:2Wqz2|oC5k//(btnr[B@LބyuCLUOO/ݠe}9#ʻѢGvۅaFkEk tNXBrK1]BX^>]/,.-gY^y#>USlcc^ 'wЀ yx}oC_gmV;d 裷 K|%tzƌ `#3*HTOSb@`Βr/ơ~e=sq,8KfdXֵL_hT+/ߴTj5J9{ 'e]@t 8GxGUp b3XU& t 8/YֈCI)ߋGPuǛQM]\I}I /o7QvdhkJD;nͣ9:-&3.׆=$.G9מ %9K.S|}n5-7n)d,w0? p ?dVWb1<h }X/? $ :6e' gg|5iORy,**kXuG*t)6Ũ0EuקTa3rѰG2&uMK 'D{J,Dju(`OR3|!uP'^ôA dW d +{ȑG?/xLǍoK ODVScᴼoͤgv3UNc<;t6!!TLJFlz=/Z ]5uDHZlsTAYZl?>4a ^M;k^ysdA~[(I9ry%n i2oK^~û|xg۠SA,CU`4{c_uFh3G]YFޙ WZ_0Vwb>τ/\UOy$̤,;#K3m B:QH.wU%:xDm~\NZ!ḾHNA'ti7 z Tc-t#\-ެc Ӻbƿm4maD~:iI=㔸9#*)znΌuA:Y!|ߛˆ[LAHeqJ÷r.B#7E3q$%nyom-2,:^,o'уblV/ɒ;]8Z_R|qJ؏0NTVws_.ĬRgOƢ g6? A[( CKQϊY9Ij_^P ؁ 7i)9R=YhˉeͻB4V6#wT&zӽjY3{ÿu֚3IPziG0QG dTs/;=;ѐċU ~u>m]y{)'1+2f4]i 0͐ HiI4(/ 7{Gꎥf3̱/k=e  FZnYX,.R}T~Q.tTxj/)?C, .{_XtSpC vGಢv Mۼ0<zPUȫFO&$QdK-tuX/ȆB1x2S{Gl`%^=):]c ;P#|Zēqx2<*UIi;]O]ہiTҙ̧nHEAJ -\M#ܧnXP1' f,R޵0L[ P:g$%5x &B8eC);hCYGnwQn7:(-w. 4S]9'|5R\JxUk澒iɝJ&R00u]9J_VO*qeϊu1^Ќan, Zۦ nԍ/3@)棾gcuVnf}?Ÿf9{l)bW3 C?X4 _6p8^a vK驧)q U8N=|{WABܣf+$޽: cGԮ@p7ӱkz|oqkĿ(xŇ{ JIL N,-Liv..ᰙ+h?IGIUN<:of"2)4>#MǒG+HX sfڶM=/l7t|&3Ȅ[6tKw3QO#ޞ̩nn1iD.MpH?rP}EFpWDq}FF~-RdP>D-yиAqo.49>h'9pw}3bh"&ΚvrӰ>JŪz+bJ$y~iGu\ ے[^\3^^ Fx2US s`Vz=sA*-?;t-T;GoT.t-9lRm`2$ 55( 5bu^2L ]gd吀ތápFf/oqzn_EZa}~4 >*a@1HL\I/6 f'v[F` \ZK 92ҩ)^׷nq׍G rN 97bSXj܍:;m* מ>F`|%c1~ĵX̮dtBN+XLV 5;T 'B37,jkRZvFH5/MJ+6Z5mQ{Dl^P9x0b%cdRiXkTVzp>D_6XH5-#R cx 3*V); qFZw%gmGX͉mgddw7;Q{$Aأ"آ~Sr/ : 3/I'sNEIp>(#&~hX7] G1X:"a[LGS_T c@g??<5d}'1h%*ZG f7@z\>u-*^ 1g |3նYp]1<# \}h&nvf,gpP !JүU܋;ܷ- Ml0^b; W3bkOcGZyc,%X{">(<6gq\54 ggRt"bD/uq]+͂@̫ _Z ˆL1/M R8A+ [C?S+53Z_H|y*@Jc72M¤Dqt*c⹯@7}q=bC N:NqLB;K>eCLxq.u]}&"8-֌ ՍOL98[9yp4SѝH)PAL|R8# |,u&[kA3> ƖX {JŖߊS3"RY}QnK-?V`ݑ7nCGG,EcE4\C-+K?@_j3ÉN-(7RWM-ui7kit1^hmc਎4S-' w9y:ߧ<m"B韏g=ccÕʑd}>r i.?nγs`beGH48 %|fcpv9I9 G76Ft+[]0!E.dD.|ICH9U8SLPjCkhkx$yҾcؼi!^mJkdfM"뜼MJwhSypF%0``̀ ;BrOeω;,5Tb_ oVMGZ0_q7?|&: (X%9W$/Y?1w/1/G*A˿!+T$׉Ȕ>s,t9{v+AaÉpW_.ZQaqN[VF%`yD %x)yyb@RMӫmzqϜ4< դ9< ݿ7g}Ղ&b[4ysmW9MOgW)s/ʧ%EXT0QVd8/W~V wТWlz'`|`j7+Ǔňmn=lF奖x8+W9gMj߿_aV϶xΏL Xo,3X펡\/ie-mxLw#bc$s.IEgABLsQ - 2M !ZϷK/uW;+Iy~L{ݭG`/\n>gċŋCnj-V}3%D|dղdCUd4o6?72! DU+ 3m'*OoiHrÙZMAz gJ} &44)ˑE& ̷W$cwv;`\ w{56,4l&467oAVVOG |ʾ4ŧ́6&CPE ȮhP#6ADhؘӮ^A%W.a9NUvZN$n_C .Ekh/QZF$cu}ujIe͙W&mڤ3| 빃Abq6+]:@4```| :qpfya66wB':_Nf?tXue}.\B[ J7~\w;g5xdd=Bv yW']cB!mUJ[ž@ s{rRJNʗ֝=&I7"-I|Bɳer;d )ڔF0ehjx"-}f)%/ -G7|xwCYO<]h 8txΎ{Z?$D/_Q^𲽛 /C%bD+&{p BQFn&UOvְ8i gb ׀+fFA3l+Qձa(Fހ̬$.HY-YQyJz %ZӝQ:rO֌9k*GM$7 44񵯚!CZ)>c@.ncY陼'sUhi'bntTr|KwufC3(?dW586m EMI;5(B&iN@9Jm{>0:*!I`8ȯL vz:@3E!U}@2'Mn#ÀaoY ANߓ LJ HNㅌ7S8a/jW#,r@omT`?RuE\#RZI 4FުY갭zl#_h@5#\10| <*5Jly/vŻ:Rp.mjcSlEU|\:•C&#~E5ınQu]PGxqHCPm^^ur]ߒEB4t8 R I3w:.I9#ٙ2K򸔡&ep D~?mQTn3\kpK᧫s!#yC |ҋAAõJ7ųfl#SP0_hVM[z߻_\#O='0(E{~/Є1?e;iَ Ɠᧂd^Cᑒ7{'%t-=ۯG8D da4~ܲL`ŝg&+ wXaPf 4k`hKrZwɞ>툚ʼn"/꾤UH"mP:{l$`<}@`W͏Ʊc+6N_9r%hlɂD?ݍɉ;/s˜](@˶Zh!m4fi<: Ge3=,*7QD1+#>*pU0:\$]=_PfI”D,yH=ԔQ ~Z$Ԗc-Ds~U+ 6dDA*.#! [|X\%Ht|DGEРg?~%u)Gc^ޏ2}N>ߏ.'? ?ZkJ拕w\צbjAD@p;tk(dȒ0"hs}Exq4H()Sm |1g[(9yI1\GLJOvkQ|1ǭ&W〾*- NИw큥fĎ<W$e93bQ4N?-9%{6]$N.뢨`T3kpB%k9H =[IBA`4RįB_f4rߝ63unFXЋ}T 0{"a<_Z;`X eig9Tz!(˅6)9fzʜ˜PL 8Ͻ%AMb^Q3N'siLaJް-u{ن\[cVMM!r}ÃI!KMs9?(J :ѾƻEo k"pl+}0Q@k _G*6nlS;c8ixKK{֛F ZMꢗE2hfceGU1reOs$vHq2w>J14a_6j0*Ua3I\ u*+iQQQECJv'݄pB$ܢE| bkf Ey#8ل<{qo dQ<@K6tQq1y urJqT(NefwFxRzDw (̤;WU[q JM+ 5 >~͖9_.ftZ· cp)Q]qQ>1v˗Q4z@#}0AkV4V93-{_&-<(< )1U<>fMz8{&~\'O+<臦6G%cKj@踺s:LjYpq"%y9nB^^B-[]'\O镚BS`U7xanbQ4S>N j~_P*햁f1SNbL9:m, 5vfP4+5'k6hp`u)x]5,pIE?qtqjZAӣ7!tu}r}uzwytuqy&DnVgۓ˛r6']}\t]i2PԚl k9_$9]^8%כ̭gʬ384:z*N9fψH3"7M59yHVEav{^u!AZ+W|3绨Z4rH}5;cX`Q_T}oǍoy3YC{wMО;G4xfd ;ŷԁF߀ U6uXAWB|bkRf{cCfzLyzlP\h(Y#*[pF_ hc ̇w,D3(dI !h Ss8 /=Nh 8FB?m_%y,nI #$HB @:]*sQv{HPyyC>k5+N´j4р} ʫ2ޯ:U)m'ZmTޑjӽV72ʿ쟚 (0?߆4ΰH;b3(!Ҿ(8= ރ '|x'G[dXUØ|c؜vHwy:q*N ٭q/G#*&sJ=^5$UYv}!M}7 ַNi0 &E9% ] /O+^atX'W'p}L!dH9H;I5))/QɂM <mG9GnITg\п n SIAk82N|UP7tn{*1 T>ljD4ҒMSW!̩}+[] ;|͊Q.ݻLݻI*+H(o`8`DƋ,DH~̰d2w՝nZI IgBh]&0e`gF(!3șДџhx-Gڳ6L;dѣp h*_rb*NV:yhȺ%{8Oϧ \M~er_77& VXRQg]dtCK1]Cyg$Vrl08N:|tCY)gYV'o0`ЌXȱd8YW j|V1J}gTkf3Hǂ*dx.FLDNJ#YoIVM=%]"Ĝ~9 4leN0Yj/,9min [UQy˿ά}yW)YC}u$$,&C.[4:mn6ڸظb(MA{q_M6?ކϣ6n>֗ىA9UN0(s楨ġe" L4c.bjK3VL f!G)Fʱ8=Lc}@ADd^RK~?-\&.uubTpkZi!s.WZD] l~ 6+'eX‘s):A6G0WD7/d-yvPP1%!ڙjЛSW!&BB EvF{o;vXK]Q,xVVntY|5VH,d *Vꮓa81E0z(Y. XM |i$g/ 2Jɮ @O*nI;U\P\x$ثe3x@aWNuo멠TDz{l=Om!rF>َd<7B3Vb,ͭG:ZAWro;c}L8PE{ٯwǨ7ҍ0@.c̙i®iMSjd%h Tb)7b5|ߔ&{١nӾY}F]7y(hr{O6 53֙|O:ZW>< f+ BؙeCyATBGtt47bGRK %65;Z^C~R>3e9G*\ja\8U 8ov$Ыnɚnd-qQɟFLC: k:ϼ'l64Oy?gVDaLx *=j* ١$)-mjz8ܑiܟdU YU;>1+kg`"9 +p-]K诜^ԪEK E(;xց|)u6t`gCa84;.t]%* _9$Td @5Z,O lipMClm'*YVݞlt4].7@ e<5? ċrsLl۟/&&JxbbQ{eb"^/aGp# \W#y Aj\wMi#U[` E3ƌ (@,|4D|1K (`a<$PX42>a8Ȩ>EY'o2*YЍs"q/NVTY@+K&>-ՑNa&bbc2OjaZ졫Qx8M>1j@bjNcr=CNۦl6"Sw91oUݩa~mށΌbg%>d!@;ۍKJ7x%G~܄X| |YaY)X>&c #pY|k!q$rFYhu'ٕaʴLVωȭ3, 9Q"r [`E(ȾT6͞2 y)pqzсQى TFXZW[J؍i&C-s; /ЦD3\>08:u1_D&hH"x10&sgO O=U!#~yE[X^ 5h ڧNT̾ ׸:8ƖWeh"J4֢0ޯiװ:rug6q3XٛlNU0;I~tˊG& JOc fCdUEf0;B,צM؊2/0Gr#,'OE]nz|p"pt7'͖n#dm<.1>k#2rђm _1Ih`(@:)w osA{8\Z xu(Q&'XpxXI,_i ;F}tGucB󝙍8ҏJĊN0֡A:ŚOH엊pT j/bZhBrdh+.к[B:=7e3?G!~:mi=5\eQsx:.I#XVtTLZKKqPͻveP}C%kc]vCxj#`-d9wQNz 9V 'O,ll_g^DfL;j_w{_Gԣ걡槐lfIH(CSƦAA!,&bE[vmQ?` [r߱LUwS6k_ـx..7׍~6H~@&7FayN}:5їLoM[̨=spM > Twe~wS*{~7IDqʎ>18X0 " fPߒ-x[Kdhm#:#-W @%cMRYEm}| m*:RYfbIFvv\F)& 8DJ4Xsr7߱Kb0ȥ=ܠ!=Px94Η~ Ej' ς$ԠY9y[SAV"=%Vܬ3^4t;7s:R$^BjRC%YWp)){T6xsO;f\aփsF;\t ]:5@QAuɅ-Gq_B=b N#dT!"r  E,7Lඍ_5q0i7ʒ)' ğ>Q;b8Ir2^5"xdt\,BBkՁ9r$G6Ύr "[^p. ]HeFҕM@V GHN/Or pBgK0U uv:mZa'1S?l,DW&,KlɄQ*um )+FV!Hehv%k0<*-35m*-VxhnCMs4k\rFT@3֑WY^$fl~#|Fj:@ͨ4) lu(BS^)~>,kk\)~\z{˧fQu fӞcBJD,ʽ tvF?;n+FYDt%= P[r #R{)%W,(:rCھFCU{;*(;=40(TDZ]9>G7ZZxV9B c#uW{2m(qg)#Tx޽3,y-vx[/6>X/r;pWNo\T`hGˢG'QllJ󂮚}՟ ,#+`.J5rv"cJrV/E{ʮX8\DۡCA=r 4mKHm#0ج .zukyϘ.߯{#:`Zqv--Bd*h_(V[aDda`Ω&bcw[ﱉ_oBNsw5 ,׍rQ6 T\ e߻r1tnudz|GdskǑNcߔ^Áe7PKcEwpTl6CI6ɱ7ckxxdu]M9şʒ: g.a+4ֱ܋]d!BeTR4ӫCÒ=4~SPsv&.@ѹ6OqfI7h\ ;pƛss 5*ޙnê@+G@%aL/QVrTiU_4:-])PqOCEz:0s ѿ15τf9ɧ`y*9n'\.n^+MR}h M6'YU6s(uM(ϳeTB/Qe24 lZ}iG.h} T)VQHU1ѽi@!x36;48*v H?jTk0>:)J#2ϰfɝj1m"d[ndrtiac˧sE,u`(j{b61%T 4)ߴ(tO d4n!HSAq*`-MXB'.8uBY9{`K>T1˟{2EB7=J,f"gt_O{I,9nλm(DLyr5{N*}>tCH1@S\O갭]|>\76O21n:d!{((GIPA ZV@XUFu 4TppQ}sx2^An (L`/V4Mv:Fu`?7ts׳5A f( /D%j4XיO{Q޷%@Bl`A])n8<_g#eXzz=zrf[TH|_Yws0Qv_ƙ|(bdM6s_2ś&"e/m%‚8[~l+1GL,|6u޳H,D4~b F>N-##I >Ҟ#jovG?:评6̰+:y֕%D")W9ԑN70nm3@ RjBP f-nxq|t w0 4A6 vjf/(ԱϨpyvPJ{+ uca/pPE1`U~O;"l>FZh;p좽 =EZ NW«Zy>ko!6 vSyTLbNg:5;Uz64ېӌg&cFM18uޏÙ(A,00+uZՂ.gJ/*1DF v.B/}UE&@W4@1k we{EǀN +VvbNH$!%ont5 ,_s5\($_ykԬt]bvoVpHtd:+ 7?/(5ϬG1LO{f)E$P-@‹z$=oY>>!.@.xm޽VWR_)3tG>-=fb _Џآ6}YBPdT8_3K#':&9[{59\$^ǎ &Gݛ~lޘO g (.[צnړrDZ3Zk:/W#zS*CF#VwE= )c"!oԣlet %]04M4ntG;|ކ =v@n:LNc{eՖpGu-ʉF^uhAj /bcNͼjx AG@BD3T NZȼ}cfoQ}>դ3:(erHVЙly{wbi8:.?!?DaOP8yyʄDFNqmV"n<S%)4Ze y(`#v诏NaD^5Tq6<}ƈLyEo4a|jѰ =a}yyfè%:xg1g͞`VI6WhmM sE._ގuJٵS!&BA.lد\hFT40Yő}g< ØEs uODW }n^}ؠbGR9s?T<`ReKzG{HD+N9o L`E $Ũ6-'h)Vǟb[Llg^>"AXvoN;tܙsK?ChQ),B"nS& -2}hs7[mšϿxEF~?jwdO:t\Qڥsu9 3_O7cF)yNB8úo|ǚnǦvDeLm,koavj>*@#@Z2wB$l\7[8 )i3eC'GĽ>W@s* yЀtZ*Szc+4gV__G7ee'/Les]6}!ŸirSMjIM曖?Yzڋ5,ɝ$fNTqcʛ@o]oڲ -W9˾xאj jݯgY4 @/%_6,JC,~džRKI6yXCq!Ol&/DhI~e2цd)geev1LP heˆǃP9Ȅ=J{)KְX 5V1]iJ6A5GG-Za:\H^ Jg:^UQMztWYAŜHtpRIN$#Js$q_}q.X;4>ES| t6fAim34zͫ@7!- lT'b00t{s7#aB04.tkX .2JA]Ǿ.~K_UKK6zY,֒$Xߏz#ާ jX)w- ʢjB!ͣ>:wb!tzUq**T&fI8*N\B4'heLm1ۿ _!no_]6FƞnwOo.7nnV"şU# u@㟑b*PQ7j+o'5=- gAD$HT d%u^`̘s֬ɀs In5T2fQ=ffrm7N(3!.b*]{^20U>E#5SRd򔚊B{l[ޙzHcKu\6<S:>qOw<23+1՞<LiITpɐ`D_OtbK@WpGs%wGJ*pDѳ٨k9x3.DG5 q1f@ |?s2.K_7: X$ꪚd@:uH'h* C`7W277% ~ $%u@=w0[4i<#[]lIo{y]L\''Jtg3}3th3|+x\bd(M(.`8nL( 5q^&4bZEE:"Ѽnj!L^xlzCv8mmUHC7^©Zo@g<3iv,E|  9BsxT_2z3-N#oJ,'TDGJ FrSmEIM%B=0ЉKPdF?'[߮Sm?f/a@TN6b"gB@1޳EIsR3c1=MŽp ~Tӳ[UcR$S@a&;"KO}N. ص1>h['UUo :BpI)DȟW,!}ުuR:i d"〸 VFE|3Kus*> 3ojb 3qDx`V-w9;m>9"PxR^MCҫdk^g 6–ȏ]ӹla^@' ZMC$ Ps8e ]\ț CQ WN wzIqQvoɄ/d삿nr%6]!f2*N%gqC#Dm8L: +5\Ȗ _ntaZ9zKJ+ɦ*7ǺΈ8H|ϱ5uC;@ kݩ_ǐz yEБ+?#9-$~{ӀEm0}8HtlSKLG] w9 K6'="'ebmxR0`SƝ!Э,ɻ-? 7̴`#Vzn%lVDeEPxPRU5`b4"\'uNKo:Deoٱh@rGb9),CھuC>N5^-@Jv4L$7Y"Ͷ`2y)ybF|MD +UɶBaBgu Ol%ȷ`=,ښ+ J1M|/|Wo1C ,n9KR4/Pް׮r{璘-;=>?$,~) @(X)ћX!ͽNG~Q>w;Ev4}y-7338#`.Y1xqK@4*.(TTSfԊ52PP@8OwfG~DH.ՖB fqSU 6L ࣱqk(,8S(Jm/Tx5tjOHh.RHAǚ8́I IDzuJ?#_= Jf]\\┝ꕡ_}4+a"]L`]S hgKm] V-t$};>]^{4KXvC%ZSJox{W]{1.Eכ`PC +߱^#2) <P#I ?C͓Coaha"avIa N-Hi1 I,rNK*W8/){US,+ X.PD"߲,bW_Կ4,. [qeTOǃf[P(<̓pюȔgfNN[Usu%=S"X bhNLZ5J =?'oNZbU;yX݋v-ܴa}\㚥H\{@}<ɮ@XF}NUppȢ}q`pP`j~XeƤ7"F nNF]ZmGkf_;1Q!-oqo29EK@"x!;Q2F*u%f4{i!0F΅xʔ-t.+ɐ"gFtZ=|ztS1P`iPc-ŁS=q>t) a]ŵExΠ? w{Q2zQXޒxTPZ((t)5=t(а:F4Lu DײlVp,eE#CUw{vw3xȵpxzS?0B2SxpT^%ɚG Ж;S_$Xr]lwө1~Cxt<6OǃE6Zi.d h^}OFle[|Ps.f5S2቞!!, ȭ)oc8Ko6vc_TyH `sh;\UR]I1I)lR#`l(0FYaJC 8bs'SW5G(:ߕuh0v0M?J-6z$`4(ҩ.y A"mRҝ8t8IQiĜ%w4[yP) [;xV`wn.N쟎ˉ !YDiBQ0Fe @y?RPRUuk|\(rOadjrziI s7|t- _&NG< jN%u?MUZCo~Gv{oɑ->Wt9@#@Y|9 ,5ϩ.<~9@:@ <ܣ%:yQ PD| ڡ8Zx;|1\ԢI̯ZsX8ϡOh]JƉdJ >炿 1WSqL[YtFDAxy3%E&H]y?U> I*/ęVtd_Eڵ=e0Z̄ CF$F!gB18" qϪby( _Rj'~BLh@"]^Dzƕ-E:GDF6*i.VL2s'<2_ߺSǞyX|uoj/|u񔚥p% %zA=WWyL?plOGDGB&ȭ_@lӢ/DȪi |˝=q[HϾ= &#k0NGB#t.b/ۀEMEM/!&izN%v [ޞv:umB㬼emzyV``[@t jo,8f Un kϒmlC(=*3b?iFnk8W剂\Iv0ٹS[ :eob&caA#,YSݱyǖ^XoJlI; U̎ ^%R~HGx5~gLi\ BTl,<'2 y&jɪjↂgY?<~#|cv>ʠ ;=> ^ބWGyGDR.h6S4 7xwg׬5B$F=L\%XX" f,Sqӈ!}g3x,Lt/ƔwS%44gy Tf@_Z:~9?9A[)RV]ku'-vl끽dac#RNA #ϋ ʎIL]L … d"}Q@ DuJj\@= :R*mǫ/'8,ʿ}e 17ڿ\df[Dh'%8DםEF獆)-7FB^v:?7TS1N@x̸DTSVnL8&!S^f"|;q/J V|3s9߲Z9f #mɤoxYWMraK᜾ LdMy)D2V+^.x̌>$8}iysn"{D&i==V, oӒ LjTʪnhPOrUetg ]hQ dNt^HM^.(K9vߡHk̬)-ZM퇂:y ÞouU};w:O~rdBW{qhSpl.͡S@SI *W: F#p-O'>[3G#saXw)p HEŭc@A,0EmJċ}^ӀͶtv Pv8)T'3|7Ňnӑ%.3//M YFh1#i)yB@XpINf6'e& tXE#MRӢMCO >B|_*tfc6$ |MAXt͔BtA~c:V s;-D^:+"Tk>Qاacfl?$ԞϚ'4yj#cjL iYտ 9F^4CD $@]-ln9B `J׼D$LF&`~3'n`jM |!xKc5,ޛ"dXIMPGE]W9ߦػg77Q~ fU}}Z:T}9 T%?q񰫥)$_ͮQŋ5|\qvc1R3UФ 56lOu|Qm$¶*4PRgqQ##xH ^=;*ێ+bzɏKpZt@ue}}>H,k-:~ @%e;'JH(\ )A"v;ݸA,os $6$]WJJ7M "M$CǬ&EFSgU3SKCu$9\{ d7z,nY1t"z\U)C(~l$#4CNlʑŰ'(cGJu33L.hMIt?OF |8yv]j866Pn6 m P 2i fuu[U}Mw8˔O0}82,z̙Pіpp9W)d$;Je&jI\"\`~-:-]mCrσ5hnXn4E jI/ \CbALzҜUEaF'v\iz[@?7R9AIY|#4|iѤB0 eO-@%&" }ͅnJl:¦=Xkìr-dwclMg:# =.^EM:Jv G8c_(.[_S& ʌ/RX0/[X3"& ٮ+ - sn.-w~Ê<$eAx*Qayv  ^T{gP {7wS޿xКTJ$zL+,ޗ!ncʏHg; hBnjʶYD ! 3ʊrpr}+KUHh ,=Y :,93/4%}` 5O{VoA}{MIe@۾kw'giJ:-+| f$rvPcT7)iX^2^?gߋw hڞ #a(=pYQ1Cq-0!: |gVWZߐo/}sÒ_wQr2r%&Yv?]kڰvn?}.gzڣio@ba>}I.lNH5T=ww-zN97e0v)m!L"hWi]c:vu9Y3R1M|]2·gz2|~$hʿH||]gn=UfCQ}}qiq?{U?Amu$"_N|uā1[bT[N .0z O23}L}^i"")Ҡ`"X^ ?9-'rݰ\Cχ TK߰wհPy1)pGG~D?C2[V҉/Ͽ`Rm-r(ub`G# ls75"CQx\LD̔kt8 9RN&=guܹPE׼Vx#%}jcGkSLJ('CJAS~!G –()p5.P$;A#P,ɤsdBgTu߿f,Rn͏7C866,!+Nݥ0VppVWMPC7(t)Z| ! r6p_svP~ni3f"8I>]4&,?Gs2 T@&)}%HX?:vm#᜙#R@Q Ǟ1(6¦y]=.s|VFbNh ̋_\a;<$(m]:6%Qkr؃*r%xyt潊Qjnๆ }ߥIUæDZLOXԠV/m>f^<0bJ=kR1RK`$0Ēo*,LU37W"~Z H_WHFI"tt㒑AoI%DbҥAۼLY>#K$b}Y~2hw;cU"%5:*Y㮀E*YN@(EӼ=*cs&le:AmM?:w'HW|Ӿv> ͞y_xU7=szksؾۏhNϼ6b$ey8vF)XɫW?* 0ܺЖO:*N'p#F闬yɖ?6= k$N\O kjoBp ?iÄ˧Ff]U:nY^(Kh !ŷu[ xF4Ok5zӴ=4^W~RUil($^aR.+?f&+W m "Pv 5M,U%ҧ`N(?tU6 e x̘"$7aDB(ZAk9XD|Fxf0ufn!3s( ,A==+{ B6!Y녖 ShdWdљD!o١;!ŶX5栊Zn_uf﻾cZ<zRdtPDi$0&x4YršZn9oI4` Q``a~E%cU2|!><4ZD6Mzs_ ~/]kD%6k]\yhgEDc|Z}JaC2ﳍj}tਃ2k)&*&...Tm[{|g 5BL '#Dt#nNؾȑ\˒R8`oن*8F#AG?Um^'Ө|LS}>dreqWpyǢ,J^jtDޓZRZ'Kf%lஒjG _ȳep}Eh 6"!-$un'ڬPKDRq8òoP:~d ([s XLȁ J4գc#߯Xe; U8n%G~?I='ǩ6*2Sc!Ӈ LtNCyڣmϫ},#jI@ԯ (G~x2h*EP Hm8융B YEu{<MF}a!BSU\ 0΄F^ }?ɀeX;mPԱr>O[S;nq^mϬgp2dRx\:4 hwWBإhҹs V ILdS+KujB25SC[Guنo3`YE2ǖl_=dnMǖyH47["8&A)/^y)ŭ~irrS̶XBc( ])oJ^tdRbd-"lw(|#kVߚ3ʉ|WᇑABb=r Px˭çl>j B*Ԛx|Ϭ~d8=(V?ǪpbK_T %OOYa,N߃9d+VD#xOtkC~{UW^y]FPdׄeXtP%Z5d'0ީ1 u;z;S'$ Kmd,4JDrtkS C sz- t4` Jd1U^bgn\i:{bls::sIYVع~I _0GS48갊FD-J;UZ+Uzb%Yk87C/0Y)ÏI ׬MJ6dWIo X{rFuvr1XxI8XGM Etm8}MגAcW鏓M\)d@۱ W2KS|)?@?Rrl48.HSq4\i #N*.Qnn@C.72aBtYw7Wћ0H[$#fY+Fa<b0bH*K<EM^ JN$LqQ!C=JQs4|qօpTd|ţh]D܊B]b!~ g *ayhԩOJDYsݍEEO.1z ^{XT䓘HRC`_geY݂5YW@۔7F_m~oh-_҂ATnC0MwA)D U`gux09vF/, :#l2  Úc-'kQþtuN"=FϚjS<_1v%v_6FeR'Sp(!L0JlJAE]m;{ubΪ);+]aYNR_}!65%+M_N=>pX 1iI2ƵjGY$B\^mJF'#PYnV˹nId\EH ஍DP`'țhj6xJ"SĄzV=5b`>p1kͰ-,{Ak}^ ! cONoL)v;QߖcQ-EK)/DcVu(*<}NAG@| C a<91/} z4A۝=;^=r 428MqgJ}VTv}f&~H4I2dp'WM%=E| t5{_iRӦ7ub}L`+f2~gMnSD: m (REcArWt s@_:CO* 3SgDs gƖv10:G[XL$,ó#!IKE f`/@A}m5#ax`x))p7$ע'OBp~/KZZ)>13zj>T ;ߙsizz}[gV?TN=bdt"򠣄x?"Ō׷P<9%#u& 6 I YRhɗW߳>!ew yNFϪB9id(y9m9Wt/6/*ӗd?*/B ( .7O˷XOB cXV{WN1vHo,;lnqcsYY1[g&K~s;ȴn2&;ӓ'ߔ~r޸훪7gyƌ_K 7ޞ ~+o,oP{0zE[{od.7pV'?u…;۳Z7fqwfع9 ^"f?AP:7&껇iY@qbQCXe_\η{o$_9Q1"X<~3_Ԁ%|'%0UgaBQ1V) C+µJ8 ɋ5 5tՐhb/.]vy /;ҧiB;ChDi:"L]c_nY̹> VOyd64~u}Axib0+oiۙf vϒ`Q@"QFgyS(fv3Χۂntq>0Z? %^t V$~rLFPܱh$L -dE %qB%}vx}aF&cOfM6ތY! NNʭ9&0}\Bw6!E`ulV8IQ֏6ܹFU>:uQb:$A!B((Sfc\Gl-#`pj(8pDR`H!4pdxҼ4yȁ=mE8 <ܕސe33 6CôDU('*h܊9=)u!rUtO;lӟ!s<t$r>4%cGn"g t8BPD9f>D: 11V4<2EMG4eq̩|Ti>uŏ\_i缾Qs|gNj QDuvt8ʯbursվ y/缮ʽ<Ԭv[~^n9柞WO%ٟ_g|TuL=Rr#,jz:z"Rصv˶E&co W΢OEu "4lxGX:|Kt1c>dXX@̧~&{ͫ' f3:m"N3Lq LWRjcӵN>-ʓ_eW~[&p3'cQ' 6lض)S!#wߜ3шC xQ|"jPL.{eXn.FBKlb` Y2޴3Z# g\j,6#IN:Ah5J< $BWTdVӲv2+h rx 6X@mEeBM`ΛIgԱe(7ui d,fJ/^ԛrK Qs2Cb^Zʷ CNu_^B~j_7;+4v ILp,T ,f3ηZ\Î۪st4]\v %}sU&JoJy^iA'}o.p^,zp;.B H!Z~Vosy'Q yw[Һw{M7GH_`Bն֙3n+c ͞!pВ(9W2ԹP]c^h (^"'C}:z_>ӡ: n@Q ՚0ɫE U|j3g(X!oi,H&lݣgIև[> YECaG,*0QyLNLh>':X,b.-ԇ$ZֱW8UZere0_]v}ף!riu*?lƟ +V>luО =È&͠\A:sTCX8yR 7R;mpm8Bƪָ5 =gP2\4r逴,[yÖP}h\ QeH[ln ˾X5jop] X⏕:;$rtFx Qqɑc`PJ*ҕ'dI!5~fW HYBţ}$lL#Κdu. )`H?))8:KB*;Qey5Î-M1:=6-{EN,+D(P!<:dNü`k$tX 62m ¦N_0jGSgɬ< y~ۜyj~]@Ba!kǓ,-;86oggLpq˾Ke B-I~HĈ|Y<H8Fk@=3J![^ : ʯrd7d5b3T?"R~ Q^1t d&4j+Ȑ(-]:ԉ"B^nr%z7C\je`Pr$߂T}4H! uf iQ]Y^:]~].h"MkM2 VeRADK\|X ('m2/J$/Xp ?H Bp|JR4pU" ,o DLMCU r#,F&s93@l(* syZuh끯rSF7ɩH& f7zy!EWazJݤQHͱ < oO4mꔛG-r%! {hYO6DʹR.b=G۲=ρEQU-fPZ~z82"ffaxt8dɾ\NZʋħ*bV}VFYs'm2:x߽ޓc"WH+#x!Y}dƺ#W!3Oaso:WM97h0n@q>M1T!r)vnz6ʃF}UR*xw=GrU1Qn)~0Tsznm.p .[8w&g!Ëň v_ѰYL''$Nּu꘶ #1#Ʈcsc,m{-V* "K7vC*c<:Г;_TUtm<5G9ב3gK;7$h P<Xk >@[_uQykw_a<džy3o279=Ԑ4t`GDR,ߠџ8S76Q0d>PQq5T Eh㥅2> /=- lrYs䡑 /XFiϚf Tl+X7LR ȁ!*KbDJmv**m3{ň̹ &Bw<֕oT(@ȦO 4>y+$=9Tc*!JBcݯBPl]eXN'JZq!I9 ȼb >>ūũR"md\5 AD#@V_x#'%'1{z[jJ&7NZ)j+FaFI7d)AFYkAhR]ԭ*n$d,`$)!Ls97 }]hpF&3(zm3E8v,1wTPs\"'%;kg|{tcɧ7:5k3/U"_f=0^AJ<"lC%2*:IG*)"z|!Q)2ҡNXhK*Y[r6?r VL$d_UԦ>ݐr\K*u.1k|>q蓷 &jp'VK9Z->} ڂר&Z4AE{E*Ï:3DXF#KB:°5F&8OϢ7=Gnq6hFw擔4O[*荹 CV7ILQMH[ߨ?d(x +ƆB15Wk|;fngdWM3h v0_cIiIs|"!Y[s9ѮNMl' (dOb?Є9%fY y`pmR wR̒UQg'ԥ ?K:ך4 @cUOddrTi泈W C3*.)]s!Z |X{{;(J}{k)ML0\}&=2ȭ &= s?]67F1djxGK%t"6l|wIO,j_?;%5wOiHkDC`Ob> E FJRY%r|^௵I(M& q7`!=[wQrQ3N-9 wƴ>\Clg5ۂpY^rp8USû:o|VzdZsC6 @:'W K5t,B W_65I??/uݱ @I[WF8E %;Wy˭{eEMRc<6{5[&8 K$C7BZ6Qܐ"Tn>-DpQheC>(ry3)_q[v{]JX/@HW2,R1&XCqMn G3Wþ>4|h"K;G{vl83w΂[V%Y{itl2*)/W R ,&BI^<Ӛk>%7R8-Õd48`F$|8B4*JFnR쪚ς̤_Q>pI{N@FvzFg9b'5K䠹r3zRۡ֝ i?:c|#Zw`{wd(E a.X>4^/1i6⾏!a&m3ñ01 rٱ&6A'EVyP ֓;0/>i:wV@ (=5=MR0xFNӧYT6!#h$,_qde B10y񥎴B clsP&j IEsҿ_7wɪ;o$ЊXƝ`rMK]?϶ 4oec "5k9xo P!"45W]m{3OGLarHv Ґ @@%A!MG[qaVOt,_^Gu`et33+)9c tqňլ$AKDAdv_( /O-]('ZdB'R'VX9 M~ w @ԋryRU498 #MY ?M&jck G1띝?`jCIr\Ao"נlAأb-:|5W}=|BE)kdMc"o DQO &D_H|yRZF`nM]j.?-X$tf'0GQNWs&@NX9FĜT%ҙ86.o \4 bhic9 3 pV>R ԅ]h(0guGo}YC=^'j*È1^/f#b" "UI7\jVxؿ+tuT|Bfň0ӖOӰ{<4X=o=Vų J=M:h7 жsioXCV2LY%F%um`׬} o4M~Qf`x.ѫQʛ/#l܀wbn= ekIMyTۂJ+ݪsZj-Y;?EWjc+ 31K{qZbK7Ly(_<3x@l3`#UTnp5 U0FVfϽp@j*GBL-I uDYwJ(7-ghBx';p|NZ0[!eLj{ yKa?}[sp-HK5Aj?~f5ȟ O<ɵ_\C[gv8^, 2jÑw' uk!iK8+jA*Q`YČE@F_Q&zx[AG\\.>:BD 1i$¢ZIo1tƵCM %_j7L @C C Z| M\ZdLDH% + Z^e-<'؊t F2h!Ӷ IJu'rۭjx0*ۂ \j=:dš5+mZ-_=w/-J96»LLKf&n7A%'5ȌEk]/л@mW.[Wb'WNs51(Af3 GihL}DGY }<'"[`iugXtS$P1T {@Veig&jpDJtW9"UִҴ‹4x0NUx2h4SM:{Isu -@kya[Ymi?=rgJL#bbSyť `:4dHjs"^X=<_o<FN >Oo*Mٗ:brR{/V[ޔD=H0=AW^'wڭ,MBd~~o\2P|U&(VyGݖ:䶪Ew8Ǭ :M@62/j\=#IZ}y.d[h(~XrBvEnB>la+#!V#lg4R6du"ؕ!k%afwh Vd8:vF2`cћ#A\ !\q DIr#laYq{D8J0^ 4AZ}ۿ$c ft@9߀.2f%?f+qO><pJ~)Ti?~:U`}}g*O9u2x`(H"aWTۘ6> }dž"G~\Ӣ[DWtGW>VE&3 îf!z|_GS~H0_Xt6O)rњ6yEGV20}|GU,`-#Q0M+Y2E=g\n0w5fa y(=0U0p@Fh ! *}oF14u1QN+|wu i=:褄o'Z̃:ӈ*OJUUeU[#L<c/:`ofVSGVK˫^`#/ y嗀+MЫI/Mv`.³4:D=I[%lhmïdY-b}x”Ta>qgr >2A^ BS\@`F mY2/FQnU6~PZRU и9KUV%?7mk/x MB$س],Lx\hp1I&M4pZ4eF@m4f3m_3!X.x$dk4dGB_v{F'9z>M" o}xV!FOo]$Lpnhpۦ)V#(q ~8&g3Ͽָ#g '" %؊w1GwSy|/s]/{&'L]?H7VRTrLe[t2~f.ꖍ#"dDG٫klR&GmyLǺ} / [Ր @6bl5B >UZB||RPx)|0|". q)%T~8Ӭ.J= gROY^N @9{̋mBvf4T\=Z<>T7pz(t؈muxb{8 %zoه (e}eNfgh<` UCv&6yυϤWd~ }? s`zREWtC@ ^EXz(Wqܕ~q@cs6ԼOl&8~ |ߚ|6rGbS_ NXkYE#S;[~Ȼ;!cz1S@W`nFuˑcѵy *F7Z &@YD":tyNoS/ '@ie tm7|g$-ClSzp ߧa: M5O|}ѣ!IBTl(*uCqeִݞ tTiS k= +pv}5̩(e'p` 9Iy2B~` m4#d]r>%:t&`M>aʰ[tiar ,[S-8ȜTƺn!Xr+8Kٶ'Y0 `2uQUfL.I\ jd 1!g Q=^*>Il|%բ1 +g!M4gim`x!pnYŦ6G{}fMP0*^g-*㳘獆oy3 bijB[2X9FyV G6w(k5j UB#rZ 8}mYCA'AȀ' 6@ˏi^yǵ6&Z*IW/yJUf{ɟ#+ # KLhYM)Ų]NC:fw]2zNm/8ԞaX S -+Th ߢ\0xxtS)ICT,3@hnӠDz{,ܵbtͶ`lB4}޶ Ũ $"$Ysdf<3>۰SW^U3'!e6#<|Moua& 2pe^ۣ=RB B`^wԘ;1,`v\+?. OiET}?#.$q:9geAdBsY*/ ү>YkUOQ\`u&(q .s( :潶Ým'+Ut6#^AR~z?3Y;DF>ʗ7_cV oCϞ'MہH9#z?װ`&J0gMg^gZ}: 3U-"5v,[E]WuWbn>\Ma-|'ء?iq4E؉!syZP70e`_f$c$^6$9-Wkb&XxY9S^ROS?CD˴Pjb]Wo2:I,2dH&"ToYz|)g3H3_#_Ȱ ɠ`;Li)ڸ,I-D1QtwEYmuhOp'EeYlv rb^%#^9|2k,*nz%@GqΛ!a,wf91pk5kVK6EpV(Ν p =;^[?fVvG}b5;{'a4I-ȸmW .z>[xIzuR҃芖!WZcM1SK~0qN_(\gX %ӛh_qpvgj|3ɔ0q 19Wᣏ&pj.ߧSƋ1N] i?bMHH!oǢKdY۲I` e;+~F@U}wYTQS0 uWC sk }ħi ;yd5< ?ĮE)5 +.O{H߀TmQduv?IӰrNc~. ~yZּE#8$Qb)%;>Á<ŋ%y@Gyq=ISg<7n\rHph.I@TNY9&?Hbc~aݦ%+tt/swE{i:Y%ݕQ,Zן8jtW›0qjϲAo`ۯ*YB]n|r4֞~?/u5)BCn=)P(}4HH!#rՕE0Ja\pg=::=Wf[bN1@@kü$J+ shs18痵PڸygywVE`O ecٲ>8X*ÉCO.ߟl ?eTz\?mD?יDk,|J&L<z|z-pyjvCY<@4/_bo~-*UVi't pl#DjY@2w ڌ|9JL՗u,A#B,ȬpaىnYN Pߵ{Oݺy;&kZ8sM6NgjRjIMUwH LpXDPw꿺S{F*aLj~x(iLGcwoᐁԭ Yw niUP+dG60F'n& qyf-eFY<lW] Q74A?Uiךйs=TKC֛0zAnJ*`@$Puܭ0,AFLJcmN"EHp@GDi?y:T߆[Ud|/Y֩⏋+ \tu ^AY}DY/?9,+`l a*3Yzz1i$'WRbPl\+ީAnw0!ܬvyFGr!\;J> 9ȫQ~ȧeͥmÊHcV'GvWO!^C]Y`Q鋲ڗ&lҰ|t}&!b@8Hb.]B3 Eg3p]6J09ŗ;wY5dd޷d+ C@Lν4z!KrDܢgv0hPx[dUޤg~ǯNqާݿR_w]_0H=5#RK8qs/1[sdi8.->.2Ma\Eh,>r6QU%ϵ?:>810]yЄרEY p59SE 6G;{GLD!XÒˍ_6BʺO)hO JnncIkmM:)P;\(+D8 ]8S{0C%YA#̀+VdpybU7EE Δ^A~dm]yj-J pNX.D:ZT~/nHLq-[K_oF+[[,CmcR}sPR=ENMjJ3i/CְХP*S쐸IW\vO;n`,pϺ?Tp.XѨڝgDH0(UPEѩCU՝k<S2NI [@¯V 5 4ߘ<@S8_;>WҴY$F!Vi1jOʼ\)&`~W3oI(j{iAUVh3 E9-0/-.Ȏ ێq@y@<^ &{6ɏvpmO]1dcw0NB@* DR ]bSn)Is.ђ.i WlJmeJjs!ё4HP~ m)} C+CRm\DŽm/ՙ9hxjf@b;t?<'@PJGI^&V ޙM4 'ϐP{Yۏ(dgCi׌٦2+-bfQ&BB"џAlŜ&_Ϩ &J iը9ZLɎ*Ө4Bwo<243"b:P5pWM:BP ڌ~Gˣ$6z5| hDZ62'UC֍S@#x<X@M[5@l'U39auPGwIDMѩrĠ=\ Hs8B[`QL[_q<Y!>!M[ @ʰOn3ƶ6.\޲s[,k1g <9T=h#Jy .+w-T͚<H{,bjum9 As x葱v]`a-/-gوGrsKp8 L!KtUcOM蟱7  +gxz(`JH^pwgU |遊7iUAD+0 f[Zj+jIn0ʀ] J)n^c/ӧ$p'[pN0>3sMt ΉogHWxáZgjg辴^yxծ!68M*$Ҹ-c㶨&QtrI_*FX1ZMT?e3 B9$BYq9XFzqfT& _q@Ǻi2 *œ'Ra~]KL˜Z]QKIOfe<̬R dLucݸ+ Ia+k3VRȩE?YQzb]&RSZ0w,_jZx !c+08/'C\jJ|?=>lrb#8}RR sa^Sy%ڠǣ{>1WEQtrD'7 _~Ȉ*V2LO_mf{/_N 5rͅ;&t5{@cF۰kkr.NP6Nk2ha@4z~J0t>9aCh#NcoTO[|?m mFkl/oTbU0x:n! <ڈmotc"N'R̃YDŽ:1cZ#<,`띈>W1 Glҏs N: <=0sp|Ľz\ v ZM 2z kni½MYb> K}H/kB6Q q_ #'D@7HaSܥDںv?^a\l!9۰/ 5 IhB>:b6w}JnCw P#]RD_H*: m:+?*njm}}#ⴿ!褊&ͣ \i**Ԧ6=NƔnm?G솃N` ro:`duOYUbGG\Ը,uC3QNjQW ~`^PĨq9>]?(HX֯=rzDOAdJWFxCTjnv*9E/S略OШfS# wbcPvARئ;D6H{m ,,/5IB^meF9I{fJ;`kχ`=q;P wv&\u3 ?q;cYj{nYw@IFF1:"~$"ttȅyvW%^^TX eC:f% nv;(v^y]vZiû2Mgnj6?, f)ό7#b@`y&}ȏ;~iOc-RSz|UOs!33F#&;)0dCj+j7Lt4Z Lכ_9OI lsOh"aLJ`-p_#ukTܰ Zsu/6KWXeSF=Pq͘.4E`ۯ f&Q J_DEQiڎm]NAk K \}qۡ=]2(34?$]n xgnr֠+# N!DƒlAsrŻ3](@UDŽ+3Y(SO L~X˲8KZE[]~NBSt@T%mq$8iw&3v/H։#!+COP̖L<h v~Kor䩤 '돪T kv9$Fһ6Mpaܛ<B,=GS?N_! Ț,MP>Mb_/=n Z7es@g k=}!4 %F" It15/E_3@ZmhI$ˏu]ŏ}R,3"vu2-ޣ5VĜ ق\)`Hz_dN)ey] ~>",;, [8CIInxc H*YTVݦuwaPuŷ`jjp -]%tWbEqY~Mvs L?>sa"F\Cݺh'O![$!w[c,a:@5Lt Wϋ ]hqss3g@(܄, g:Tq aoFԾVܒ|q 䫁=-m9M i ۡmU_DR`kzj/{+O.ɝ:Yus/GXE-0:H3|KEBUf#TmʐPyvn7yFI=Av8YK}\$Psek@-=\^g1ݒH :5B![eh}L7hleXf/TqMX }1ֿuxZ՘^Zwhn@ {gۃ+qwXmKgЖwՁ(M/_ gU !تBa!4.L{QLjwl{!@%4Dl 9c*MOJ7B-NXh8="ۧޔ{?vNh~;ZW E]Ⱥnk{pHh|朲$yLb =r#m|\|1 a)K@_tvGQTdv%A:HxdDC{\E)-Ŀ,]^yڢ+wkIW}AvɄa<+ٿ^3Loy^qnIn'y~)SQ QW[l= j<nFX"eQG/ mo48-/o'Cʰ}C Pdv^3SI{r=^.G嶺v ~nWb/Wz+ݴ!{6qkPSLE,!kӯt}@Rv3*>NvZFG!y@\wGZ_s\pK} yTr^#yO !&JavA!iKs̛zӯxID?09S$(L^H,׏Ul f= 6Jnǔ7Lgm(Gt'Q8G"'%dxs_ڨ;<0|X%VN~ޗ&NB"kw0#V&|5|AZo.V M>-828T{|HC\VXƀX YZp;I>r7,^08_ %n9,4d"XLs^>dd>N;[3$'a2":yȳV(!z&ƹ8~TUs\m yzLc@4DfV-#C1 5 8PUe\ !쁤/@{8k9`74zj-(i{fԆi;7zu90@iFP%)@7FWתxʶ={ul4A5H{r(.``>u.6Su*b%,?|ilΚvaJqCu^-tf,jOn Ȗ{io@1$-2LxSU5)"V\*DZD#Le&U12}(xaϣW 3xVISczL#20s,broϧ"nLʐDT[qDx+ 0wzmkQjt39`i{hv"YR;ip CCuS AuV7`V#JVaf~ {g0x7ۮs.U 8jر&i6mҼB3#So,r~:S'hWBӅB!ꀞyuD||"I,:7 -?!{$we[H?ժSRc nEڰkb ] ʫvb#m⓽٪oO ŅOw$IKyql?)`^akMVn5{w60NwR2F8.ͱb얜Hlh*Y=M_)QHt~JUdT4]-& rZM/׷]oX] ]3 `o.'FΓRz[W3){.y$#]ڎaU8848O4׭B'cY!9ERnq˧ 1{{y*l†?\_cAdT_@R)ӵzpBɩ+v`$f-DpB=](WFFZ9M"QsUa_u~D38n+J M,&d4 aܷ&&Gw:l ]4 ٶ%Mݗ4^ϖ}֣#yyZo}sv9A;[@=HVHpYj ~Usj oiEns?S%ف:0j1&z5;^Oog-`wNr5{730bbiBH0D YM yXp C5P:f&  U/flC\o=fI #\<bw,v! Qo yZ-|/q:چk;#8 G}ρfFwj2n 5WϘ\hΫV>ߠ;rtߺ۸2P4>Tڹ_#K%cQdMg5Wl"iwzohWGyq4^dˋq7lR7EM"0L <%jm㊜7Q@rWOM?:2'cR$^1@r51r̋]Fz0(fw0BAH%$I/.ҒX}bTX)=rTՖiO"笶'nBgakvf~2*л<)2-$?< l5;g5h'5-@4+D=m@u;C|3fu{{զWw땲#Kq깙rѓ c $ۏĜ:{blrK;[[ݿD-4 r(Ո35L?/el̲ y?#ŦWFʙMsVsR{ {}ɶY z2jycAI&#7dO L JɊY; ႁBf,50Q_QKIuwfh'=&]ts˽ nc`oy.Պ %6fU(n Um評6ɞ5~D sfR[:OJ#^E?i#9eô"XӪ뱰VqiW{Br2_mPfUU> "Q.s t6Ñ.:tBLf::/Z#2Fr C@0@ude%gTg- `lzJ5 ԍOCgy.nNEaYM/;afo߀--yw#k[~qmǶ2"K:> H: \Eǽq'h)?sGa5?dimc0u{̷|~Am^%X%=803ZmoGT>W./fv=[LM "M W@ßvqa7I }PyNTf}pzqUQCܮO/o'keu?jT<~"9}99kӖ܂EG-<6C9ޥ3 mRbFͫF"$`ݧ GGf-nJ#hX%Hq ݞ0Czb9Z:I[6>0Erwߞa)"b6Uax J,>@ "D:F{Ú$ ]g,],₶Ŋ 5N3 *hHώoDwˢ- UKܥkgZl3\Ln[2M>d^{TT0~dD ,g)S`.nRE>@T-d*vO & G4?(urI-@N%r[r1M(ʰ:=t3᱕:%ZO='efN|t!YË:l y"y_mX/?;}\ZF'éG׽({u7DL7n6)aسFf驤mVHт3csnh>Suulo N6ObS)Vu y%/4JQ$e~H]z`[..F`EMi"’dxd@II5~R K Z7te]'T!/4s8U^#Hr]w71 ۞3CLAgͺ_NFi)W m`iTRpTؔL,p#7]{8{h,`L2cI`܋Oj߱ۖ-D|6Δe4F (^Jwrn$Nc` YSnAfu׹G4WEϹP|(q}Plrgpɦ;y/]_hCsquLRf<~bbY(GJ>RKυo7!=k@uoCی[*23ŇҞSʝ >q;;yyd9ZrKʺ;%޽B 6H!9f95՘t{ 5X~Nr}a@>MH06#9Tz5Tj&iyx_H(lJ1䌹Px>XBTx?lCŌ)C8׏LNm7 Ѵd_A/6  RTFLDU~C@aג0 _H ϶IzuBޱq|_%UK{X5"Thp|%C#0.mE;IUl!ݳ-&Nv<UiF&Y54t?< !nIeΪ,r8iqyu9rZ%U[siDUzNs@H"cfu6ހ+Um"'=RFSL)$=jǏ /=~Wқ6J~V|!G7ibīiz4x3lB,-|׊gss7M$ pKJ`=gR OzQ?}x `PQ>͐2N-e!5lEjp_XrlRP?X>\OW9b^S}AZ-?Ϧc%HDIV${B`ji[MGh.QB"v^zԊť9 QB9Rb't"k3 8W`9nqc;4c%TUկ6n 涑gm.hzKQ)HzE(Iqz;(!?YQI> )ю-zPN]?I)~mW?7($X?T%z~shgd*|\-D> s-+ 49ʽhP(Ȍ0Y+7Bz]B=d8cFsu܉JU&UGyy&u;vDlw6\Do)T@CEc'3LfH kaN'u(Z4AO%Uƛ^cgl1}fc/("YǷooLd5oíoߍꬆN맃SsP~$4q}euRa_sDsUNE`{yKDq}tUw㟸Pk!Zݲ@YJ:SA:aFfBԸ7 3Z&3̀:ZyܟDw1bi3?5tcZ=RP2$Hљvk@~ѮFw?HPgD̈́e?#tS3?Qݭ׹"vAM66|C4PzO1pFH>$ |qP,Kl[C Q r֑H}Eu:'14i?t^wpt§LdO8~L7_&?L?gfmBMx*r>ﯜhkrWJKBJ28 331x]4ow݋5cQBho88~[; ";7MS#j 3~̠)WvZ-\m-o׳ty]ķz jļlkfwKUj,Fۥ2":zm+WFpseƵsr2Z/W-GMt}3ZY*>r5ϧ:~__]-Wk7l.iW|^ !Q E { m0r>Zԁ9^fb6Ot4Q.'_ 6rfک/.k[k]L7mQ 8me8p|u3AZh9}Rm$r.0Ժ/pyZH홬kʟ!l7,2ڐ' ,Gm< ;"*I3cW 1ƄU Cc@p8NN!g >E?e33'aHB?T q)GkFa%Ł`?,>mMY 2ׁ;RCit di/|N6~:mSI%'3\ٯN5\SRl,[Z S%WwGAǀ}3.OF2fϢ-%ޗ*=+ s3]Q"?֏NKaͅ"#I |_V/B` 80I b#fE;GBAZuKQ<|<dPahǺ۱Ppk~Zz]v \ fs[Jm[ٌ!!ꍛ5vnxf#'3eClNpEVNiOB 5Kia]/M.!̦]Ay=j}y1XZ/GpIzs8gڤgA·^LEU>W7jw6 b/dHr#!QRBo VĞT6Hᨃ6 &bS#x$rt҇z'HyHԉ)gٮEi]<`&:VYH5BѡxHN%Q=GtSV j&*j6h13 :$mIZ<(5xb&&*ge^sˏ527i&+Dmdx|.7`t3PaUMU.7k#;&C"NwP`Hp2#+RN*-$ކY62R _Sª e*&Ev8Kצ/.|kZdLzxqpeeIBZӰp zY[rH֏,'0gW}ڴX6검!^ܕ8!,\#  Q{o$SHiHo Ed'm9ca /z,f_l,AspH8qلr]~X@iy'چ>j.+8"VA$)Tj =i]6I_uhOV-GmmAWxe{$ 0*榋}_E%0rKig΀k}vOzY.0(q޷Ų֏^z <)-r?nI0q-tOs4. oiwO0 PLڟ kں3 kw3YIʑWmȉD]Fvm¬ 'ɖR s Xja`j_4Ȕ/J*^*CZƘVEZ#~֙`(I_%0 S I@qyULUGE҉xHoX:4l q zZeWZYwX>bv/{n*=&vIbc,rt˜. Jw(l堲gL<"K! Q 7aEq;nLM-tU&;n1G&8ERT#V +6 &mJSUѾـ Zl/.ړwU' YTqy}L$#)Ŝ-9J/<}.a`Qyat#$pُ0ߧUKAXl›w8=g $弨@ctHlϔ냣9xVl#wrdMa+ g:$Wr6aDki'saEiPq&Y3H2Hz|]c&zi܉ FX`ךkq0x*]3釯7&>zKtC/*B )t!@c:.p9;!#Шj:*/a7+;Z`^;ͬL?ICvhbS)튆k jꭔ΅f]Qlrpl@NFJV.Wh@&i%}Vn0=C0U`FV;CB '.(|Yȣ;ͨvaMnFUy@=d~͒@Ʒ@el| JONP lv0H)hM~ops dj|w[jPyZ eVP>ߐ^!OwY. %9I('m2௫~ǑxX^6a=Fg0 JηɞBζ8WpUI|Stu/(xGT̒͠E݄+6 mu$MРSmL6b:O &r F 7ioz$or`7xh.s6pv$<Y66q \%.=$qwm >oB8\0xkSg7|\]Ţy0C Li F ?]8 T#!:$82rb:YIe`IBHb7O2oi5K`zy1)lf<._(TI`6جA{k;[C醳)9mtyݍR`w3dD&el8 Dh7*OȮi"p}fأmXԈ"f3@!au}gH]*EB_'$C`ADw~_?l $bGsVc\9~-⚭̝248˒* *T8Y8eͷGQ K"rM]޹4G3\At9[>2¢N;vo*3M,uF0_b!&S ӜՐfę1/ PUw$~q&fֿshi{ZfzHZȈI@Ը0B _}ͅ^%R QP;H&6̉)w <_vGh+~Dj YWr7evԥ2Ow%S:i)%$S>M ]i'P;DcA;~~L3;pe0~􌖱BQ@dfE)<0N$z/^n|QڈJ -ƈp-OǺ\*2@4lJxl&  V{lq_Re[8! ޓ~@PI 4đڡ!)Dc6:/;Ov.Ilb6Ot`%gGEQ9!Tʿ,{9|ʴ F}LiGon>v!㼛 0\Կ*Urx\VUڧ+ Q:,Acqc\SW{n-b~s0ώ/x!cANjnAuQXՍP/Ա@*Y֯GOu!>+W֤l L{;ԶE X H #o4 tgE:bЇ%z͆l~,zGNɞK0bȵ$Ӓ@t&{;a pE;d"MWe9d򫨎C,<&*'@xUue_+ ʫI?"}(_/>WUK\JfN/&XbK #(\vحx F?' JU+36yDJ^iLuZGZPEzu[_e*O)'pNg6_P?G%tNqd5`Tk&Jyx-s\ r8Ⱦ} IOp?k#E: g8-)?9)M~MMhfگA8核qY՚U^[o7w3IAh~Ѥ#wte*isYt=spn`a LJTpvm!/$KM wOn2}I>ƒ@T,ec:gNyj뺴4O;RZXHg)F8 +|ګ!)LK#Q^M1ö39l_Rx \!N+%8s4u^uHL"*p23Nho%ghDձ(&UX,VHl< ̡s1ϟmls9Q]E϶P0҇o}]`n]OIu(39&l`MS+v6g`X"t]pRQysX.g^|h:@ٱSiՙGRC&C5 xaZ\ba;=pژ 4WP0 i>\Nfb;HIyP5!xȮ58Opȡ$,{YԎ̣.v*߬Gp8V6A?`s>pOU\G;F`}!-Aw2pOtO|$c`d!+΄IU8^FBSz8Qg&EF'Zw>C+Gߓ2&S$ZJQOʧ2K?d v$"ƆD? ( a,Fo<(b5=7I#ޝ8Br c_O`cd5}2ٯ&@Г1c";g'XfKF"FzW]<úvHR1z!VB(1=,5UVb!۝cC /!\`iIWZ?X1p5=4/.ژTɒ>ϒ(Akl"nT~ Bjt^v@hʿ@B(j&kD1ͿDeI#[Di!勲zgE Ik#R5r# -n㲒sSn/EK`ouGLFsS8 *u ,@{{#EŤVLC'ňgpGX:^Y<Ƀ>=I/DpȻfHnjHb oiCoص 9T urOoyz,[,0jzk$l~k].t{A*\~4Ǒ6@bjG u(C4;(p(!#:4vo 15# 6P0qs8C5>F<eda7K/" n# x<{sKBX0M:ޜ9)dV(f1(Z#g׿<ƅZ b ^E /uq<\%Ј3x"`*y8,uMyl1Qv,HYw0ѱGL#U3B_zB3GڦEK TL^z3Z&ϊ䶽l>nﺝ@\D 8Q})ڕrgcDzn;b_yT~b1*fij>8 :=5@zϣ$A~|$p<̮Cx"Kn1淎V@*>aQkk F Uq7}Timжm`!:~L/3=G/8&g!\!D,5i/X"CpDr]lg[&TIoiq9Ρ| D49vԍ˘sZsZ[4c%Jd0p˞_"NhtOyx % B3zwf, .ڂ3 cd7E`F%0u/"TWm_2x>c};Pܣ?_}?ڇRք /R(YvJHUx ]w4)|8mgx)& 7Kk\Mr&C/ݬFWWr|K$S EY)+1r]J1/MKdu;.|@r,&qLi48Lo"bIzp0ʲ9B<-fpogEvL D>gnz֐z7o!V~h $87 }xDխ3%-\%8]*G@IѽpUV}NTN0~9_hA;ނxyyq{Z^MWx9/1Sȷ*5N,_P6&C6 ~d| ikܗ$EWSCGY!+5;)ylNh~K.[W KVj{ɕu7z KR&TG4R"+gcP{`.7t, ߸+!-o1-y4QՓ CrcٌBVXc2ԓgJJJ.o44E>APenQүq]vήWsE1yA$&6:TKv ~y7ALBQwI21o?/#ph~;oFѢ(v)g|bUkNFa}O+HyMb-=K<30dWJGkVBRIWl\?V70QO%!)r"c&];W98CPؑT#uijB41op7WhD kP$w B}Ղ2)0FRab_nz{ Cmh34E`(1':b~Bm4*oyu5^f|EWٶ /B(lJҺVY΃ ʒ//I\2B9cX+3אx`a,>B@\F4a_xwQVzKuos?Y{{gd@Ai#z\;H)6k9j_ #59̋rRgCC@2{ҍA룯_>QS|BFCνtWfÌNboUz7YM jV ޵) e/Y{'~n>nұI~o5mt&oWq3iS3hm-%mM aD.5Dc2)dİC:`&IT|C_1eJK>hLN0֌M!ka `_~a+Bw gve~4˰ t DrS{ {ge<5Pp_VQve>ŶD~4Biҹ1H[ Zܚ|+l$.&wBoE >d8tiPx0`v\j=iCpо|]vc=z7E p'ƻ^chui^[SE14<~'xn(uyöq=Ӊ3p; Mq DS%K4}WMwY⌂k.i)>h j{+ w,mGK%lA~Ɖ*N 0هLpg(j?n=˜.5O▥+$Gjܾ"%퓿}=Tqw)u6*y34oSoW}E#_?CWPi!]Jq|z`uH*s)3{#䆂kT8jԺ8o]npg,EBx5D䐻(+#KgfئlGɄQWXǡ*)~: P۹"־TݰdDm 4Qq"מUC Nu5H\xMǓtkؾݐvρ~ /-%`tHy!{2?I]8v9/;-Es׹~?ώH>8Ffid U3@J3N+NK^&dKPzY.cI@s?|gE 4=ey}t^$irT;%d ٚR`4\|\. Gw;I Й|ۖdOOTԅr[%Ê>xހVܡS>u gUzmg*bzAgwUR=w{'kԣm J΍<:/xe4U|7LZ٢04lGQ{*\Wm>Zs*SBo.]J;o#cD.[x12Rx F;]4, HlnSkc5=W 1/kE|X!\7}F@p_{##T41}^4y۟V.;nHzћaVJ%ZNx~ˆp"ɉIJ&?!HKt1_Hr;JKppwʟ癰ƈ{"5mCZ@އ8多7k&"7b6.FfcQI;[C J~'8^ݎCwi}>Tc=zNO>ZwiIL i{֓ ١]V2^"phƚy_Ak e!a\91` w,Q֦lpR̔Mٴ.G ZO-cKgsD"${HH([7G!G'8:J>p!v&p0H)29-ztr:wjY-?Y2S x5:åD|}~~L/ܥzm_.׳ S7y 1<7˕م? } ^۸b۳0/!XvrDq$n7_~1 b5S3`*%pЃ85>n)7e9VU}A|]buQbD@8'Y\jԟ+5fBI>0PӭzYcAY:ZDRI΄ɅrK D1ل5xUn".-:lb.1Ɩ/oʲnl?C8AhOqg;F Egޥ;Dc6yydE?Uԅ^4 ŵ_|ivآdwMZ[)J< "(QCJ(BtB+8jf琝F⶚ *ݕxm^[|)/X{2W" 3lU "]mغ_I'}H>{VzJDn-Iz:%fG5$_,\Hĕle?t"g-,, h01@0#jн~ gWb4y7DGJUqQJQ]T顴ʛVoU6 )~(Ny[/hɝS,d4yB',l6vHNG8= %H> AJ']RӈY'+}5'WR9U*?7go+{m!>T?kh  Ӄi)XN7-b1#ôCqc~Q9Ω Kcn>dKc̐_yslQG1Gi4MUKѥ1|CzH*~Dv!c1])2&2B=t`b.g˚E9!݇D%F*2dSA^_d!8j? b +Y6Z/oĭɩ+$w_utIrM|'/If+HxyS ʊEmp s݅Hg1~BW U<gNMڵ3Xӥa)*ߝOMgԩᔢ*Z//Wdr]O$];u;{?4l'IR6^ 4E_ӥZO[p -m-t3r6֠(FmwN;qyڣpJg`d!s&l89T{p&iqJ+ݲsMA1T]J.toj2;Ii?gSj+iڡ`ƞU|FxBgUQJIQJQJ͓"r1+J@LV{ eHG q-f ?(E0j *&FG\Ѿ\MHN@"K-ŕ|s uOnˎ~&3MKS=FSY). Y`5VMBHVVxS iҸn4bd=lR?W7C_\aYtMlm4b_7n6Df8P& (q#JjmV1M)Ll%?a:ћGh8ֺHyQ. zC=yQ64njTF£ݩA I;vq8qfٖDcZȓe+gxjY;jmu[npclPWqg4YpW pJ}UBZmm_r)ڦvL ?%ІMIoXp!UMՕ:oarmzթH貣P؉J%rڜI0;B{В)s7*j"Ӟ΃ض^#82 yx8d$ '!d$=uBpj.$BV5^aaYUEJ*UZ,a_ho| }FMe!MP!ZXPaݡޓHC=BP1"hqA>$!kҪ"^Z4uz7MP*#$!Ld+'d6p K̬:Q{oICb{4\u&ae=ɡ*xኻsșw2O#!:$Vq_8w`q@&Wfxr S`-)lj%OVy/_AMxu{∵ |i<蚓Sgy+Nc/kﺙGUF*/f"qjH"[ _P/%oޝI %c3v! 4 5}dL]DʪZթȽy'bQ\$}:l3^IŁ:~]g9eY|4J}VqD U޾E$ zzAb(w֠fA.[Tv3?A8mvd٥zA [S S[(A(̂SI,8VS%LBO7Ȋ>U4U =H6=;xvg6KY*dx@e++vu]<֮/f 4ˎi`:5r4fXLOHa&u@ dss7]XBM #0ҥv\auߔ0&v>TQmp.$:Iwh7%e qC8㳻Q)-7GX &>Q@E7$w86}-)iJJ#M>ÂYAT4wU6!q3z=qKi@)1rˬ;;|2wՄPk=ؚ 0xΔ6r39WcϺ*yyFN׿@WHydU/`@ JК&ڰ^*e[ d{b|_e2$OV:c&HF,DL,j$qPMo{jh]!M pyڱHRH.\*T~hs=\iO`j8RJS~0_ם/5us=Vz"yLCuirrt#Ae,_? P*nG .dnmnCG\# tİ\(C*рAJQQE(l>MR/{c=X.s<ˎ?[k/Spߥ\4BJB[\lF5v#;4ns^YM/݌_Csq_ElA.e41Sv6[PP_/Ɯڢq,=pqYQ43q/F &nX]=t 55}$):N yy[T0;.)ɟW 3qm&uaU? i ,3jRW|*vN's@>DC8X?jE4{@A;eMC EMap@|Y9NX̞c=zrox*!F<뤇Fk!47IjJ\68qoMnf+#ذ[[4vh6S~'- ^/osI2 &=r&Y XſcѮCLTw}aMTdn!9hr~8 fLj/9:)CQE 6"2{auq17XNq\ #$tm^?5J2d|48<,N_xRJ4(8hEk5,v:rY.O7K5=V᷍l>FUM;); M"D w JqUEnNWh)F@ 3tG%gVa`Hw^Cp3%allhԜ3Pt]Lza\MS +?z9}gb6Ä 4EFbXu}Qi l32N#^uC-J2MjS2NO,RϩJ9CúRk9^G~+\1ېKR-n^34ZRPb;bc63{&ߓ*Y$wS"_C<<TbρԹMdܡܚ[Sޫ wygqE|ٔeJYMkC&pbr;-Y}CeϝAFg?g.3?ڟV;QoU=:}dzXĞpu3C_m b?rdpvJu {qǼ>7WYVxvJD1dt})5do7'YNHBLYttzv9i~(3@\%~6َaUgq99$q8f#E8z҃JPI?X"\MA|\n[VwE@Wdacf qe϶)o&r܌á1d*\NwQ0Oc>0 Kx瞛WRЀ<ourk̾蕂7PPv8Ѳƅs؏u>MVQͷuK1'EtKZCZ|lX0|npU(R>pb-38IˀzqEbRxvI^ Z*Gg:#2;QN {!Ƭx#΃ *j/0ؼ*]Q Gh? r>@:0^a)̋F![ϰch ~`M69Y3srrld?QR#ۦ*ɸ憎JkFS~fU&# 6nkک#BlOKG(hzoB77dcjUfLB3\m?}YْOo?NNeLag%ʓnb.; ?Y67 zd#듛Alyh(鲸!c&[m jzv<9YY0RU/`G & $O? Ij#H!l|{ Gt0&Ǫ11;9z0qQ@$<!NFҘCSu&V)ơBl9< ?ڷ>_}} bSY>-3֜af0H6Ƙl{E~tt1UeOʾ#>PJΒpU">UB2,-ͶV[Rn}C"!IGuCn7ͩ 49Otc37*O11| 3WCu4w R"s.J퐍rT8jn*)O8T- vޢ]Raw_@a=N Ifwl;@?s.O}5YG64s6}\nm$XqhVXMC1yՐZoțaDDGj{.amG 6Γ} [2sHiei䐔;u# |%Nr)u[!FA٦a/[͕վ *}'tfBԚI~).nˋ&)*k: [GvY*1(OA$g*<|A|a^CQj 4_Mh"wp[T6NՕ:mj%^.Atf5?M"WT'~a&[p4KpS=r{|.P*S:~Z@bŌ*dԕ.zjD&~>*MW!2\޳N=s}OIUI௷7bW{beF{jkf3EM 5I6E%FTN`7,ޘ)fa>6|J6'~+xn6OC{72%q9쏌u" *1? o^Կ)2ΑRBЈvcGЖuH^ Sc~޳UǩbD3N3%w{/y+yyPC8<_v FP8so G&GD=hƧ=wS_?ie"@Brq a2h^KY0f.RyyÄ̖hK]-B >4 |qDz>ξӳK .NOE74EJO2絻7ߙF]nW_ BmtN֝8Yrg,<$`WaK/:crzv0Lr>SDfJVݣ 8>fتXy㨻YciN6.@q4B^~f m@SjkқiBМǿmqwrP7yrԐ$#eFeIg˷{a1+_-D_D}¤B*<. Y. yOy2NJAqtWդM˒rs լ++{5ۍ`3ORQ8GId(;ˏBy. 3Lz90 ZpωcpC/񂧏W`$r!N%͢j=\;Ek<\Ejg^'`Iy Nğ},%dnGa·3qT?_t4yp`>#~r}]cF;zd\lݕs ~sDA /c:Ƀsj#t*~M8pfmlg F#Bcqҁ[7m:E.H>''.`蚾"{*x[,9c@ѦmIP[%o ƼL-4ɵ=xT2Ƌ/T&Vfʽg*qɮI+SK\ؘ"1C;.Its{?.L0B@6:گ.|-~'p _eVx~A!>:4eml{HB-"K]4V^ ><%q#7I:?p)sZ%"(_Hl!,{+%"Z Bxc炜} ?V=Z&iL>Ɓ auݪ9Nve|)lZwf%]|*E~6jUruBS u8Ե`Y*_4:Ar:ra#1iW  J(Zx@O >8 "p7iי懲<}IxC?1SQJQJ>CsIs+#"6fm$|;ɚ񥀴eN(ur2ѡeg.loy)q6L.CW eUgti*ud;fzt|_qOE3mѰ\4Z+ `*th|<<O?߂>zQ7/G^SYgZg.^AQG+ӸՓ*Ȟ3a6m\ʤgs:_|W/{R[ni KJlL7l(9 r7Apv!62uOIԸ_Xo߇P@|L})'tx$}x:;~cFv dǔfpA]ΏIӞ;luXܹg^WZT1Ӆ櫗 |?MH1Z0b~vqQz0epI"4/VҭtU7IĥWX_ !؇`* ҃-fޣF'f*Affm]xx~Eє#@\ b &1Ao?W4DLoQ"SO1(*gQZKmӼ)5m8rTjאވxd~!4aX>0MH$ZXmi\$LG;-@ʇq>}%yc 6Oc͒bs19;nQpSDξݶuWk_"w`}Oջ??/'hi&*ǵdζ5ssJROد&+KsΆ\`0YmmlۤۚE䩘7(Szg[$6|o%ο$w t1,XDxrZ4WxxqTG+q"V'1{Ϯ]2T6ءj4[_${m1 zr&)m?3\7++}SL'C%R!|JJ r9;J$P1Kk7ڕuFxz|^eE8 a3+zPf߹-{bt,fFoj6TyxqQw U9Ӽ("NVVVM+Ctgr;NJVs_gS*a޸4Ys=,X-uRȗpW&o}q)E C"|s /yӇ>8^jI`X*W'Szrl$z5SDT36s~UhݻX&crtZ6wp};&}|tcwO^<\ۦ#Qv:t-Z<4!E6 J&Ww+f%RVY=Rj Kr6={ O[R+1P6L>Ʌ+h\qs?}1EG8͙oaE_e>v4P7dY5eN0{ᡥt~=p:jv;wgomʗ[) _iQԸ=uT t09Oo!,7RɀgpS ˜xXuuC;;:ªRsd fHP`B w *OI}z_up;yU hd*͚CV$.eJB/q<0x]iS-db[R!ys5 .Zl`o -څ+ѳ)f\h*8(=?$%q=T׶ \!p_՗A;87ctWiyn#+ p[J<9lPOZS9"f:aX9\,w>*Hm EMmٳ-^|[%~e ?C,ugsDڠ:aWð+łƔt GjW"ulPK=c}1K d$؈ۓ -w0B xA$d:Z>.F7ʲoiR|AGT<Ż I>/+ >^Yso0Xfą3$_Nu8:͆_'u<4k.WhT54(o`.v2O'5h g*%dp87 f5I:FJq%<|!I(~eG-P6o: qx+BfgkZUzآ_EVl0h]gHkX*S;[`Pjw+ώ:Ai|YS@Y- jUy M)fŊ!霽M/Uk>Kѵbtݎ̫cԇ Kn <"XߓixM$bZ(_ݮ adBC#-h <(}ő.~|ճ&[RGq*4іk6trz D!Wmh~]6&)jև6$[o?YGs{s 1^Y>ⅽȓzPF=,`/d_tTsKiN9bg +w{e!GG$^'» #z+o54}q$KͲ՟5s/Kϵ;SBbƊ:f138K_%3hH(a- ›Q.~SgqzpDz^I}"c*@bI$FTw4cqu'|q@*Y!k\ 20Ң]Vr'c&@5?D}n-8E}4Z[a^7 bV@2XMl-{@pof7LB -:7i1S;o9ÉQ/*_(?> K;_ccRd"ŢO%P|o6bpB8W&#N:6ϲ 0_Te=0hC?%J^uU+'3tEb'7xy&dSCo?ɉ-rMXYH#}\4J8܍zٙYZ0вuu) wte N%MCNLC\\`UҰv"k_@i1Fب5oUT>V/9GR j75o8:7ʘͧjwbK,jO.xkindHܕų1B2q٠j?ҮKa{;X+x>\ɛȸ[_a`Kdݒݳ=He:^/ᬊʼne;`!k L4󟁸w\0c]+$#KTJ vE[g<Ӱ޼0CӀd uZZBwxV[SylDkYf .M1I?Mtuu-92 †g,f Ŗ[#ص՝p9¬\ٽ"h ο7y̳Cv*Jj4HF퐹'oɏ7%DNcZj<p} ;WǍ.nWR]H> Qji'> ´uեFA}q~ڴ.{ƅ[n@Ӈfǎ$*娽Z8y y!,.gJb];+^Y8;Q$&'c۫B=Ը8BL.sjtVkkCgQFptrJ͸4K,ߢ:EP5{%=;3VT8*I4Txd1E>9@[s!cX&~!oz'[kX4{ZF@#$Tnu)_K[d| ~teFa .OI;p<@n\QC7NrbF@)IlimhNH`Ap!^7m\+x!Yw.!7҃j6*N4;ln7_nu >k{:ȃizE:dA[%:~,㇤5{jov(>"=b!:v)͇<+BY(H֓A Y06^ٳ ծfCsIu6>ren3,{zpwĪK% !}> @U+@k\({]^tTFbPKñZa@OzAc֙4eFp Fh39hq˓zB`j$:Z":Z)޽{߾rFśGЬ8~a;z#:E-hk[M$ Tѣ)r̲W): 6A6˹{7YYɣzj/>neɤe?~;%3ZZb ߪÑ]Zn=ҝ<4j8GF|L/5S)'^wZYwN^\Yh;$2ޣIRQRqܣGXo2<ߖO%z9a}-3 iM).ZG git tM{rSkr>!_܏(hJ~#+8(]!I.}Q,`l{צRmܱEfe5wh%e 3NrwB!VL 1%!(*woa@>HgYi|H] LK|e~?4|j&_gWhuV4w:y#Y mr5uf1Щ3n&9: YPL,} hC+k\ԾmT&`ԝ*`mJHF `gcApJ?]L#:R8H"wPvܻ'pgx!4B;*BwI>-ǹ>nd vўc1eɮ{ZWdNU9W)GH j 䟒yl 9Иa**/@gaU "zl"V[n.M0fHu,_ "W79vl9}"ns̋ƫr5Z\o}z2 7.iG!?+P*^OM0V?Q֓`,6@Kqo9"Br:@ATAU%|q9ױ,t`V=n--v%5($wE+!\8 8'oI5 ۅWT),́|ǒ`|D(UB}9xRnc`nRxltE?bHɏ@Mߩ@zP%p)>M/IBi*&D@8!gr` 9&d.TXr[fhUniIˇN]Zj %:Dks?OCГMb^MÕɋg4]D+W|= Ş#r2ʢu#X&`Q=H5!eh*(O(J=z8MzBߠY7T37Tռ'ȳxVsS><NE}hׯ< s;Al/d 'w0ѧ@>u}5tR\UXN`,V$'IR= چXbA\:gG ]( ct?.$]5~sw0zcz 6.ضE,u<= CZ;D۔_6U d_s4KeJc\>ެq!$Rqh#3|Iྲ@R-$;t"d7]eq%!\"IzKbp>!BkJ$S?1ꑯ-0[秢7jZs'L U96c!l'r5X8;z 4zr*Ei͐wr,DM3g)> 7M޾fjQk۷ gx|fs)4O6ϛ]"i=udg)[2Rl}, ?\{}[DC"xgE'L#`XEi8Rњ}myǡ/UX1ȓҧq>ߎlj<О>+cAXxEYI>N_ &_&驘];+#WiͩPp|Su>[3E>eǀ/qcاkEz?_ jyډpf[c$TtꟖv|̶2hWň_Kc-Nw~Q49v5WPMTѤxqKސ 'yZb@^.yfk8qPb\m>&beHp PӉlj"Ǚjz@lη$O"K.cA;\D]Qi 6wf bl8\-Lk3Ek@+9%mŨ-M[R "(wn8~B*Ur%) M!y2[2<Kzytw>M%@_rc%0vj3hr fEtJL /Z)}pG|B9鑀S2z ~4zyI0C8l9~b"-ږ()SIBʽ/0:42Nr'f9B<64NX֤~$ui#UCs:?yjqq=4Z%;v)ڃ V# C7 {9R-X4'# ^#XDlI`h^3 0ǕJ B7e&;lkjٝ#|x+~p} =M5/ WioN@$92-@}"~ bM@4L"y-Uv]QI܀oK2^J,tqZu]4Wm+ DqP-,6*iZOkT}ɤaƉjmqϨlBVY Ir0Vcߝ`f|t[KA=;QjEa2}BsLBsU>㸤1|EҲ@,٦1FP4;{Q ױ6lk4bԧ'Ա\!/N-^:JDQfyg,K "tƢkG$[ :;̍fȘiqHnsCa NVnX.ri6ZK; ΦX1ȝY5Ip*}vLb ҄p b+e=o ?@^৏q*|,n7ߖIP;*.tO,\xL,gi4y7 \oߠ2 E:.JXVxZm*uSw)U ?=)(H{\.ɴ0>}!՜(KJI8'eJ]0XzFtiȪR/luoQ Fa@t rhW'PL6MC:Mg'&2m1Vgk13]#]|:krh'}B jTH@*+βM4бKLcg;fx[ :oy7^n}3HRWh(N٫#7i*|xh ~2M Za|pQԯfL~q=WhB7b4X #idlE u%l_Eץ}v+ bSBɘ);O%o3*d05:- `1 鄞|M[_;szH 搥Iֵ4X;/QGGNZ Z)LwKV5#:}CTqq sR4Q 'Akm)P+xT2mnMcD0]:sUn n^6ҕXJ^BaAARXdU6p߇JqNF dY ʫz|M/K®2zRϔBGz2!~o3vNLg lNojw >l/y{!:gZC㜠Sǟu5nӤԱ)U;Q}ՔJ]oNZ:u\t3[&(ۥS=Ak0nVʸzܡO)a-) ;":{sK@9wD}n4d7o&hm9Tq3DE1fN}Y6@Bp=28{s,>[hOu!&1P 3 -]G~wpH}Gba˥ɳRb tSHz8 0mQc92p} Kw`H/fͪЭ@\#)֬ɏ;Z ĜPo@Q_Ԫc;ը#ރ;n;n؂{ؔqE~Z#Id->ԫ%WZ>:+?pQZi9i~hlÅRiW=%HYpl8 xR ?l0M\--HpB}ηvdA@|ۦĥXlqoGUc*9iSD`m(Ǔ{Cr?`.n4Ö 6O>6 R7,`6|6[-h}(}"Ow:l]DVmD)OI)46P^oM:CJkYtORpo$e\Ka9 &s5FBMdd1nϚLZIsr@9Km AK}Opш%cq2Ǘ󼄳h1 ɫ~8qrL76H`IO ):냣dGn'4G2|9iU_9y8) 5=D{뜘$BVyso$^%4%' fS+ECpwl](ܜ,Y0i-/-L:  ͗ljp?̉7Kxwx.紑79Zld{l@G:u:MG|c3"ΜMѬӚrK5S6}SªnnZgL|c1ll6Q{F_|тXWoɰ~$e/Ezoc2Bxe7 _ZX_Җ-Ar>G@z$..'p:o@lm+;e8bDCՃr+-E,=N7jO?9pӛWdANvH&sC5sf( nqAs+ΆdSl0X󇌳ےGmcʏ|7TJ Ԣ/NH 7dgܐ)!/Ģ}`ۓ8W_A |4BeWST)hS꫷M:x3 ;BsϹGk+!R}5=Ӂ<=G[5 5z5×MG_3KJW"MI|>l D~rpwq֊R 3PȿV5GT%P9x^_0z$z1uŰ@dv@gA|-jI4{a|l!!6|I` FF@n*+!i8R,fzJNWI5۰POʷc)??tT2G%9̰ہ v'_?pf9b|^z05bp'pgX-a\,l$s|x}D'¡tFH.KFmΞr^H.KQUqQ8A }H.)H.PVP\S#ݗ>!H3~ ~7yrU|'K2ֱk/[hz *ǒ<{m˘R?^-vW|c}V\;˩o#7xMEֆO|DF^v'K<.lճ.~4LZxpLqq"#B0pڊsM$fUN,vk3`‡Sy5 +'֋Sƪlr#Lw4}g]N# yEl h4Åt tgp^ w{I!\ 5g 9kӡ3z"Trm=̇uܝi3tA)..hgs\srČ1+g~Y8 4<u qVFcm}X7ňD݊b[B 4;,9cȌ}v;ߩ}A}}Dv{ ^zj͒m璤X<08-RW5&=|HHff4s>3m|,Sͧ (3 ՛kf)VR+W%^Qr}~;N^ ﴈˊs|X38"B6ηf#%˿Z" pJL07k^p(L 9OeݲxD΀ʺZ8C:.#Β?`"ٳI ]-`ձ zEwO7NdVvSzZn6SKu>ĩ+pX`+ئ'R&ؼ!D%ݷ OŊC!X+dC z<+H |}:=÷2 #+]Z *bj$C,%&Oq'19v3#N~'t|Eп[;ILӾS`K{ˈC>uS'Ѐd}~)*<1Tw5 Q"NJKI%Q6)Or^Ҧ@ɪ/fc*5=F:DLar@3v+_"i#lVѪ+P $Tet[@G8F%iN@j}ҋu8d=+A]+՛H@֣A$H%"nCQ/pt|uvlQT"RI@_0MԄ4Y:6LXC$aJ+;]ّje~\ce U)xr` M!";$[_)y6ݘ8H~ AzZǝ Sagg[!1Bv 2?[yeo,+؂㫍+7$h[qDJ!Ǽ+tS+D\x" E4 O :0z0_TxqnM] K7ez܌4OWe )"\2襛z橓ddP); rsωWѿ+=;go CNuJS~p h7c|P 7b} Z\n8bRt:X-]Qtؕ_$b9c wQV{Rn _c=j-4;9K&:XP)(7q xMyrRo׾-q6.؀i ︉G> l|oi84j Z::0T:,vC/nfpvbvj6+qL4@Y[aR6ه9%_jpsi^y"{c2H*! *6}]0MCŸ@ X.Y5Fa1E; hvSy<蘔{g htC"O{4(d1Gh1D&w!_;őt?-wYeضcik,uHamH qy*C7:D?$(54#P 1#}],uHmo.||oضtDvdA䋥D8][YZ!8J?~@-×q=VWVcm;?Xcq}^@gy<&^GXwz6\1㇤4+bQc(d)< jkx@?cl}@22f[&&av qu>@(} 1ڼdh5FNضw`$靲^N}>MK?;Pj1]o+# O##WOԡv,^e%[tm1X(jBk s? Ui0ZZXURߦ7׷ sBhJQgّ6ycg _kTHC|{irX5ׇ M4PIRfUfNttN9~dq>xhO:Szm}3XqDXZ ^ WyLWԙW}FSO'&V? v3t/߹'hoݛEھp gHfbj5KApgL>e3P1BL=Z 4IHkG:Σ3L#Hjy?Iw`9ʼnĄj \ʻLC,qƘ MWvQ3(ٜPg:.cvɋ/_t|.j:m7o0g۫ tV#ql=C**r,k ]?9lvmB#ӓE#dg4b9!be6=5Wl=%WI)5KW-+Iɽ|=hU f}ZP1Кz٩] 9VdVA AJe(W>GswEIIҶg;1\teRM.c<;T.T eY%BespD5 mӮEa rqm v.훺훛մ*'1d{ d+-OoAPo쒂n1fuI3 a}"!y|$EٞNGIvipC1]@E B蒤hh|J]9Z!Ӌ@h4Z6̓ԁuDo>k4U>CĈ(WI;xy>1\c!s䐖{ 5Atb >,/̜v ڎ9m306Qގ՗~ l@]AB"Qw2cHmDexƔb~l|218Diڗ&#0"-mn-rUN r27\U@"z-1b lA8T7[0&Ūem\SQ+AxQ?tWp֩1ݷ}&Vn p0%6MobB0٦if925Oɳd;@>xn33Io9&;*d.i8,~D?c!B !|87s`KnV|rC tJF_ETu97٣HcZ{Îpd Ќ)SACI.T?= ]bTa, ESSL?F|hoߌai4r;͟_3{U :%o纕1J mPЮw,ƗOډT/lyv{cy y?#c4M[k1ڋ' ('^V ! ~I֎ !]paXbC8_Q8_߇7ioF*]/np5}2?Zh=ẎK8tux{g l6Y/p}:~$hqlIofެ{! ¾ *3gj8xHLtFb5ftE0ENV݄7!N0: ~t1m2Od8&2s2_Ú\/V-g_ojߪFz/,LMosmNO} m4[̯h7/&Oˇ Y{E*\ 9vE7"tF A`I\DՇh8tڅ=-Pv͚F LoI%BQqo XsinϤx6ЪTU/pa8׫ՍZWq!#'G!U!D'z &]WdV1klit:BgsIS< &HԪF\ƌ/CFWy@L`%,:`-^\žj%YN>\əpe=b7@\O&n>w;w?_E>2|K̺k9l%$|VdqXw=8l.PB_vxד8Q6-Vo`7Vo7wpho>ڄ~]UmlX73mt?7llc@=ao ;H;##,wec6Y^Iy >7 9δݶnp睏.KQ1-o TgKP|U !;KhngjQW1UW1p2$;x(闚%U]xL#Ypϩ||wJ3A } ӊ5@ѥoM2 pPQ#;~-g')4$2N iQY !kmSlQF}8 铟TK77aM2Z[@S oCѽ ρhjFۇ-Bqfr<|DViG8FޠTǧ$@; &c{lRJX'X7 P~cSMbZ_Dt7=N2bgOaG5-,`]I[ԸԩJ>56W#6ducz}V m:ONpKQqZ&" }jFŵfv얄9[]Z;As8Қ'M ["+h#g3xHkދ:ߋ!d~uMӤ|i}.YS_liy|)Zko$)oEfxz]^'AK\\$)瓕`nsxR,ѩ/T 糫٦vq;Y\2t0D_í%1x%&J?Bb[=…412h+t ʪ2_LZ=`U~;6c:Vռ2h/\sML`a 7 P7zMV!d?eg"C⏷PyC5Cd"~S% 4L". exN$#/0!8dIx '~X/d$]YUbz FyvHM& ȶKEЁdq@QfŜC @۷mp ݞ{&;jwn߫3k' ">!1E:JQZeWj j 7[ qmzͱPƻ]gH~zJ"GCZ:30ZKhO"ή Wݪo=u>YC}s;3ϑ; Yg۰+ 8桳Fa,<`+-`$rln)x- fd)Bsf|(@u1]70Ǚy?hqR(Lh{)Mg̭Fn|glg{T k6*O,\+ڝ0zaAro6TEFųUH;XXܝ.av_|O,FYqٜaàI#rMOoBb$˞iĠF59d᭠HXypţpz>}8xjRr˓RΦ}"+!cy欒m~`yY{ 5=y)N.0 ځN56 G$:TR1֐uq/`gsb)lYn ̤bfqv=<=IVz OԻ1 t bp HNA!UH=+yTq0D9A20bϋ^p 4 x> 20_Tsq[|j(稺{>ƧHJ}FPp|, 8;e(el!7}R&o٣ }i3qSd0,v{1鏐 .v!RhR(do6[l) S,xbc>Ӄ'\Sv*1qZ[ X=,Q$ׄepr}\_ȪODB35ʌ$q85:7SY0kO7+CE$h(;_B3j̪1jр3nerإ(M@EfS{C7;S4r5dZu2+Is?ef"H*10ߠS+N&b9X f)aypJl[Svrޝ,Ts~һ`ۑ_'5 L=pyԢcϨJ#ū/opўSTNNj\Q!66dώr1y|ɮWEhxZ$6)PӖqު+t֯P>-~jS0]].[fБD&;Rl(^_r?hK/B?ڌ񘰦DNv74'LYn8ƾI8o4  {1K] 38"y8aT)5d콫uaH0b=l90gkwhx1]B%fw)H-gKEQ_۲ HaBbٽWCO5!.FG뮂i"y"Sěapw&Y$ٿꃰEPȧ!(}$; J d:4l~N?MYq$6^zb eݒXvacs1*[b'ExT>L!^ ~t?9#NN>;S]QMxAe1c6Njv?}:EL!fvItB-.|g_5*h+!u@mHGg5VOwL܆ ==@E%u$G ؝GG ǎgL6wkclLpW M|︸J[ Dܶ+GW-=:M.[QWYY*hp NgFl N:;rBcS;v~DLahx֔+-ԣgoJ{~ dN3юֱv'L(Y8](ЭOl&d CyMX)ud2 $AjӒbVFlW֒R>Oz3ZV=֚& #Oygn6*+t4A{oxb̻ٚ_&y6TK{_j⧛P*)Ѐ2%9_sɉыQSTx@.D$dKEAz%kׅao=JnzWweBQ+Iv U'I sO&&BI GnMFxk2Q|3whDJْ%y}Ƌ6 "] Bm 9F4 47)*Q ~E#sEMcŌzu]<# "/&QR>{dJ؈Hgf@^t"s^>u`nDV(]y|lĉBB>9\?(BPh N9>iEbru嚶E%xtx@۳T2US_}<#0߾]Q}J_|^.~Y/nۖ|3P];:,aAr+R>ɨQc%¢ZB;␇s~v57Į5wh΁T!JS'=2dgWz \ DZ(vzB SS}ʔo6;? Tʍ^߾ Zdo1X!t]7CJ)`Ȅ wO N9:t mxԴ m˼؏jݾZweO4p T/Hꍶv /9OU }.WlÃMng`SPG-Ɯ$2۹1 +I"ѿb;Ix+:FʩhU@ӔHȿĨ6VRQ~b$ ZruUh#M+GCUn-b̺_ R*L1tvb hO9mDaMp;^!<lG vꬳ]Foƚ"$wHWȪ=őHSn} ?͏hqm+e4兽ԕsptF$B-Z_9t|T㸼Ad#~YV 2"& L #( {tw9x?<7rw4ۙίuAvP}ũo ` OR)Sg~D}[P7-ަOE/=|3Y~ H>bŖXZ2e:٪Q^LuA:hQH&w'`(gk QtI-  EQ>hM3d51gJ#fbKHF6!dDq &P_4?YD#؝V*j/%ϜܬhĈy~φhB VEzwzhٖ9HV5h_b [@>'€Us%Bnp%CK:A![r M9ç_M]>=t~j&]L] {^'-~Լ7}iZLUWAK0=/1*uڻ[}A#2<ڲDu} X0P{H/\~NH4%NC_>V, Z<3 ׈Q^ #Wj9r]]ꆶ)@_yro]-cl0- x' z[SkA{S.SkMaJtl uk"GbX'$>cgo!4t74_v#ʳ5ZcZ(S5qlޚ)7П>UX:G$Jޓ] Ԛ)-j]v赗tbt*!}b:?бdy^P%Kb[hWdGPJKW&t6FePR !!.X$ֳYfjSFYPAYZV0`QŵTVqWm Q=\"; eNXknkHk_׿>=5FyǟQF6β֤>) kH[O6GZ#d." np_:OUgn=( \ww= ?:6mfgfK545) sO k^̎zE跡o1<*S%=sb3~4#>"h ]3ߦl*b>'w;>4.P|r>'H|6^7GeN-%20_x)r9~ɧGa쏒o pL*/!\] 'H&}ІԬ *a4 gt9iƯtZyo=ӑp8T_LB$w2.+qv:{wD>VS(m >bβI_$k6Jue%Bd*ڽ80D2OeEw\܌ wj8XNfYqQϥ7mm|LEG$(@˨E$OTq⣌Yuqfz-UwJxݞ"9Tۇ|=ؘ19aŕ 0-Y s;Ήږ;k,e2; TXO{~pae7E3dh]ad.Wi;|Wc^`RTܾ.߬"@IQb ytL>?[1ţVb.8Zph7NK=A_fƫƱ[Ԥ&CqZ?a6W `mW&/jQ^8zT% :@[C:v$gl#@3rjƐ#{nd.9+&%x QL}'㮇H ,sI*kB>찯RD_RĹm0~W6` IYÌ}V%I.@wE쟳^sO_GqڄJi[OyE [ڶ_ܮwCIM_782A8Q׶;`TOa5>|O` b $ ԹZq&vc:)mz{9!tܺ* ^`{w{9HyX'H"n7~Ұ,~CG {96v+:U_fL%&[n} ˅)Xe?W2|ID{90P/ΓJ}AEuX ˸Όl=@ ,^tS4`@&!ID3^bzS< K\-/BW?8_<;IZ]StgMJU&sr.EMg{na%'nCeS[WQYT>;0iL|kIHZAyzeDV&}!7)~|4CQukm)m3kɊMcRwWXu95〻m{#VLGrWbl+MI:Z@DjV6.+sܣ0saMK; c2 ߧ!1[;S>u9/G3sHyYOs77{Ly%W"cynhlE9aBj:n,SR<pK f_e;}ơxy}9dyf@IXdQj7\%@.LJ9#Ugr`[19/CrDMo{]g]2h66yKsýӶr=Sa!yaruVESE솠fƻD8)"*6Lig0`(T{ca֌$kO 6&gCwbe=g L'ZvG%,1S_JT=m\˸.t'+)"JjRwΰ߀Igx= V}g眲}] 2Ӈ;ׇEA>/84*u)/|4VKq456':,½&[&UP7xL7Ey4d з dDtqFA~h"| lMl#NϾji94#lY1E>$sCCh6}a':ɿ|[ug'*Lz|o7__ψw<̕c~j 9jA_TfwslUe 5\Rqh9T(s\A[X539>KSXIGY" %er*15 4 1DyB-51},ӡJ"n=t =HͶ6 > |4>]än`3 nGG%V'gPL/ͬmb)kT҃IimWMRCs?| |S7p,.XV9Qt_ ')TZ}#MuGNرXmU1®@KqCdzoh^>SO[s: Ⱥ oQh{%hl9˰C)zgDqF:Ӷz^W&yȫӭT~BTt_fBeMhvYĩ(oߤ:EbmJaARek߸>|վjvIzH˴9Ŗ2J]~No}l] ^cTQy/j3!O"[[ct#8Tj"O9*r}/eReN*`WϼN!oӚG`g>x^l>8jj/PFUN1XѷQ]r/+t1:/Y(_GZ9Xbǔ|BMI^𷑗7jש^ܛ;F{⪫ҷ5">ͽF]UV)5j(al9Ocmz^u<~mIPvi4WmA>}KH,i (V@ C=:z!~"EȊHs}K :ni+02?1k-UpƇjBDqe?HI龥} L!9:T."B.P&8n=޻);a[W_U.پRZ%jt,?g\SQ5nU?w\U3u#xŕ` *jBo;y 4^-g1a5)KP| owg.l'97ZMza܎/.Vf5{wv!eLƇH~ds{hmԒP_M{\r:]R p|D8t]&z]Ǣv%5*ĥQr AQ(R! Y?$GvZc:%`|Hx.f޴v(H|p| T4GF>J⒛Jgדr>u&s8+:bzr*$ j d2]o'j1S3n>,Mߒb5{?yu=1w$˚`ޏI(믿O\ܟ4h2X5USsBT![Q^9rz.@x{ni:U#:vr'Fu#%vFTBS78(]N/ap/REZuǀR8N$zJK%腟.h̖&xԸ[m~J9 cR!U{#QYl_-mұ^^Zld2M)enna&򈽨~nSDE.J5L[vYy"W.Ƥ҇DQ9!%u?#SJ܋C[˞QΎTAɃqsbҩÐQo=jXfD6S\"ȗLvM+T}J W* f.$uU U",&E V}wDeq IړPr̈́]wtLQ)a N[)YwUyل_7x5帄]}iE!04Zw&ʢݐϻ."׶D.r ޯЕdgmvܦNSLT 6ajxDOvAif11_$9VM!h[ euokip*ݖ"e`1Z=PAKJJzB]\Gg.%C >.ps5 (ZqS%FEB-_BhE{(׭nXq 0gd>C$^B7(hv8D* 5k˪{JF}WMUQXss,޶=L\/7E*h07O +¾(+zKctED18j:SZ#_Tt$dQ<ߚ':ճJH,5T(]5VmBҠg}X'2 K$:͋I,OK$Yk.\zs $٫% n # Ee])(5>O6r3-]ͣbirzϠ`?j=[FiHS,+_HL΄GTBfI|(S P6VCl]f!I>x JC2Oe^J;qD>]%ۼilLu a(b /eV|Sd b?2wUͳHxV)GgHs`/Kӝxi绤v OWE\ݵBUCcTFf5~ݓșT2|> rh"v]H0⫀"aO-[B?RўKކ{Ss,h| o~iDt%|Voil{ ˫JgJucgLg "gPh YBHzRUXmp#7s )]-YtyIh_Z#Z? d*g{vBGК'Ax(,,Csщ@}qhbTA~|ǽ>;W<8D` -L=4`SRȊGzPTw䀺%z648FK耏T:-)I)vLKܻ'TD%Rx2Iw.VoIWyșꏝ03=N&h * pO5x+םRˏ CtbKp0IуC)NjK|?&ujt^.S||;YM/כx^z!NOӇ/T''YPwʒ1WX]C/5XA1*Zh N1`- g9;׺/4rY.qmvKĸ| qTkuEaN)/Q"Y`N|M HhAHG_Ck-궱mj*W__u0ZV_ ר9Vg c; h66&k/1c2AX.f/mS xofsm95z℺_w+]8m-eOmKᄜh#j,QâM3:曚e[)7}qU͖ʳr{3kq-6[VD~$w%6fbp"%i_8$mQmM4QZ' Kk8f߂ke2 fIhte#.cEWhFwN,|{\ u{͗fvT\rSq{Ou'H*VT9^^ٮ/,ć?<T+EZ$5G6mH77 5nZ`pU4շJ%2g2h];NVzG0O@ST?uTW@f{* m0.?^XvZb7^e' _ecCV,܏NJs~X,{Z=& mAtz&D)G e*/fe{y0SztxS*,pd+Qp5*#߭2asIc6GDH&2Aݤ  >8l7 z mz3{\DYZJdiiՀeRpk0I9 60WI\l݁HKȝ"qO a݆;9?`ZASJ;6ȯT` Kca%djQ)X &(mtgD1=tFq{sE[lO [~܎'­&A](@';DVS?t6> "(Fwy3<C,<@`LePM('p/ii `3 E!> y OHpQ/ɛ.RTZp8t[C wjK^2Ru/.|[Q5Q%=Wopgm͸<WFtĪW0Ȓ{T\hPr_/DP5@P Q}Ҿvp`Úۨ{L3/ OnDRVR#cQ~LeE(>j}F\,C PR!oT" F={2զ : m j'7DAqz wH;Ͳt~vɲHƻ1v41/{h=3yTB0<>spǶ*80y?c ]p!ʎ~{!DpvaFct,u m4AvWߢޝ#P/|c`Sռ0^T4P-6Gu|_>n"dM6 E?N)ѥGd쯚jH)Mؒ"!Q΃L -RO }a*!npyKb^Hממ^;/_s^+74GЅOX_٩H|:XRG`8y<ɖQ}waP oVss׈ZR;8, ʐWeE&>Ê8śmGϞ|mxHciB#W=.ZK2ʥ`zr;k4? 7سG{meӞOWōǏ_oݮ7+ڏjzLI"^lg:v|qrKd5T~i>.Ǜ緓izC>Oрo.*b,ݨM׏f^P BADm:^vav1[Uy;Ԗtzn'ƫu/P^O)||ӗZ㞄&p=SLQզۯ".[}f/u\_|)UH \;Te\/>:!XQ+6l!=7xBk" )€jY.%<%26ٌ77wJLϒt 6>XI!LN&KtC0,vm,<s-ǔ qDy8 h>~YAzJm¡ Dz  I.}x{FFN$fLG-;ydQk.GEH[  P-}^h`9f3i,¢@Og%*5H=Gg;sr7;SW@F~{;eɎ<>OǴHh$Ƈ@M'kY֬@!j2*?MHmGg$zA䏿DrdOPOF9 ?C?fvS0A թHߓI`>NJx{>b,i+-(^vARmkQ-wn(!ִe߾Ct@ SE :ˬ+h_SW;g '}J.[ e -Q1鼅: Ugy ` j/ŗް6SkGՋx-Gy JSm@Wҷo'%<ƀ5&L8mw3I(W{~e&s U, >w#@ʟPZCظ+>wExzs)m8yGog1{Y Aj-yd}gqurG | 7ekzC.򩷕;}LBOEA6=l8W|M8pY[ImD\\EBb¼=`UlCM./XX҈P yr-R ³!Y]Isu!.O_'F~X@|Jwx撜w}|| K>G.1.}FI9WV=cvh|11z1!֗EDa$^_@㠧lG4ܤE6[Lj^Oo/dzjz;dn&C( b RxɇzaQ %o) fOmdlQr NPgCc %zszꉩ_`]߾å"/c+«3Dj[O]=>g3=&WA)ꎙ,"+8"`ŠR (F Ϛzma/9۠z]ljP{"3<>&XRӢKGSLns=,=v ˮJJ^p57W(Z?? F#s̙7d O 4rmJɁ|dt ("; q,ND^c[#ã?ODp( GA30؉ nW'7cB-)XFm=Lt_+FpNIS|>lGӹ;?dLߩ7^j},ۨҚkgc:4>x x7܀]cu#]( OirNS!4VA+k),_t\uN>30O{44yz!0@=jZ:J6?$rK(d]DiN %\Rw⛢~Tl`~.>$әÚwXwgǃx*Q9xs #3$8hGȣ K; z&'9ȼb7bgVjF|7Fu!ҞECʔT8Dpr8nM6itx9rN=|wp *Do1rBPi75"zl^+oȐ=p9 2fڴa+ >/kU;/>#חbDg_٭"F+VݾT8? G|DIT%jqlPa,R)x gQcR$f6}i M f 7]Np3\qEy"쭣_b&){s|(кȧ(eY_T+RKzծ)9! E,DP%\?3ޝmc̼2`Xz԰luq8Dz@̡2q+.bEPz,(/!^o^Lhb H_r&%|>/VJ=LҞ6SY{\gv HT4mej^/n7}58pod:'2t1Ǜt&щ:}HձeH:_>S`H2J BRtD{`|Q2y際mf>7>7Og=!fRM!C&RpiQfF1{?e jkl%/j+g[&ׁWk1L޿ZԢ@ŗ*v*VzD)ӿN #_>$ߣ[ֿt-KZoض9C3WjGgNv~z8竚tA"gTxUFڪ*,mUawdǯ[w;p;DsǯkʓuDMժ'ؠ$YC'-׬WH%_$Mj >fl`B`/por/916Wl1H%I__;,X#C/xH6&~y5βGӰyuU+92lŘch&Mܶcbn`bw:Rs4l_3j|}̆2ŜGdh>m8 YVn0 z%$3)!Va8j@MM)[U55iN Ծ{ƙjg9J#s5ACKD,тJ.t8̠vVڬ1C}JtPR>+wU~ o0ۡUK "B)kߓuONC01 Il`.V.1m"ƍXOPV +f]/՜~ڃ7We*Y+fVm6iK~R |ܖ}p3bum.:*vؿ8Qu'nz sŦGM4 f..v4B;CmX_G|ZPR5JQYY/i J_HtBJqHcx P#۞q#~IJ#1ބn qQ*y:)ȣT~oci˚nξ4]Nכ 5|~!w7w9 D{Uzc^rtmd:ܳ@cet'@Z||):G/j'tC8oim\jioaP8㿁KWĊE}oeQ[)^2+" 0vm!@nC"Sc mb1`*СA!*=Yئ]Z|vsyfeGonT|,ulT-a4U N `8Z,W =1G_Va|q2 fl*PǤթ"اб}ae iz*imfi0w'|0=瀳.3: b"fC/m?w =K3+a%('Egdz;C'xb<}R~sTk\u# 﫯 Xt" h UG ҙPvCB5…C̻C'ѩX#ymY: U1P)b^,;UC^VXk}F^_,<;t*e)GdcXHO)P?=ˬa5zYT`hÒStGe,L&8c; -T'՗+fLT0}CW᣶мJ:1Zd~ k&5Y- )EzOhtOP>ͻlr;X@|fze#xo]7'm?&M Y>5Z!j/V׋o7hk $u ő9UB EJSYs$Vv<>!n(730~,6$v3.n6b9]mjC=/j7|}:RE"EbOmzo#p#e0Ժa27 O}yY彄I}z#JC^qi {QŻɺ"GP8zV$ڡPcmc1)\{_2.OYh}Hc5 x8, Yr'ƲdJR+X$#ϩsr:$j]HA9[(H$Dž>ӚDuY=X^kͷSU>8R') 2:/Nʲ7NP ]t,gC~Od%J$oA+ JD߅ĉUҸnƟFd}y <\d`=.54C(8I<}:4Ө&&[)ߓ^/ѡ)vjU/=|_o%'fS }zc Q@M.0H ٣u<P[ كF &6%*J+55[/ 0hd&@7KT /44@I=Wx+4"t:r`L0=&h<s_d .3dV0cꁈe=ʘ[eUU4Ԙ,/ֽcqhzf2 g K.tFp6TSw%'\@e4MMCD4(_D &۳lEs/ ! sjɂfDvMy#I>e>x F.ccA  45F[5ϥ]F`|&W>G *YUxg}X H2vx?S4h`(!J9`pqf&[V٫/c}qcp-$=wdJ-Ѝ}wDkn@ -]qj-%Z|/^ӤHvpW3*v5.76xE<mT'a0g= L c%Eed^Q0&gJz E1q|'JvSQŀ,Z$ 5Kt%Q/lهJ]K])P~yQ.>־s5e\}Ȁ4f).ڲT2⒢F yokXݫ a8; OϹ(+UZj>,u Q@>BukJVUS~_Epz]:QcZ;<2ȳM5o d;Ȓ9 Fח۰ưÌ!{m&*( 4,v6Zck hI:1dNV3,g'+Ԃ%޵lhuzoʓxh1J,ul om%e[+Y o Muq]W%vܝ3 +¶NÜC ^{fc|ϻo>ҏv@-J; ?'6'p֚J9Hd_$T<̕f[c\%xFo" X d?`9}\둷=*%ա9:UMR/Σ+}}f?&Ce@vYQ-V 3dBr˸@sv[ i]嬲"L+z̍Ιq/ӧpZ3M ~R03ߒp x}w/#IIRC_C1;Nѻ2:*fyO+~;OZ0#0''YlDt%DG?ܳd\t݅?ڹ/9[&:;쒧5\ǒg^hvk<&tAĥV<#8M@υx@g=pɉ{5$K aKc\$;n#B(bl SA1YD3ܦ)MѶJ B 0P3g!dg[^17nvv[w^;;AvU].nH'_o+dFV;bJı}yK&tD\/a]]I *y:yiG1PJ:%TĢ{5EG8HT;H,̺ۄB;[YC_J5Y:~7eEB8 {Z *'U:qEۣ![XAs.;:7m׵ L`$8Q!^`'bM,STA뿾Mbɳm垚EvWI!oyY.v @hrhLSx {lA$ ^J^xeoѯ˶#G8.//ѼKu ^f֗G}à ޜ$̈́vUKNZ]'`r}.K,><+5 w_OIlpvֱRWyfn\_} AZ BފM(J($tP<~gQCPLEG-BNCmA @l@?"ĦިCoo,4FN̍or 6\`Y9;`̋}sA1&VqTIYc[i0BDbIԪtsU?O߻8eiby\q?tyӮP@OI{|?j5kN Pd*\H:FWAktDʻD{^f]_I`0MO@0=T{V6XzV4 u@]͢9;rH /H egQ*.O29Xys͂%gND]v@q-?`zSd\1pnSZЉjGU軩*4o5,g4q˞%PjbRL<$nχz7e"_>Y8MX֤ *Sh)~<0ឣ:0:y>\$tgDϮ-[ΆWo)43َx^ZCifT3B:Aj0!ƧPn9fafQMлQ %pP8cBUAQi0ʙaUʋ]oܢ-?TCl1*CV,{/Kfϒ)/2E@s=pc ɣ_r@m2Dq#*1JaMbxY;T>KLv=f*>0_3Bc6{CAFV5;~GyJ&7yDCgNPM8XLU݂*cnA2 7?SHt2BLb6v~eRu`y4T/ӰJ%c9"kqbblۧZ(w'XM.7fYY:ʆhrũBN?a'|яM^1H _1Oy: )^ :)_ 6_ j@4;+FKth߃~ dDRQk5NkBB۽y;I:;.Pڎj%M_)BכK[sJЯ$7i~g'?uMw4]8Cr?ڲ|W[ŒHJ﷍gx\dؐXDzDʬ2VCGbV B1F<2< +-6s"l~Ffǽ8=[rb02$mNkY&iՔ $b' 3x)MC/튿 /kbsRʠ|oe/<.$3?ש~w~:('S Kw E5!Nxo\k;iՆ +'pNJRU5Cv~,WlhתI,p=e43 Gbn3uuDǓB D~ҡ+3 {4'JÊ0AIc^c@Կ|}G 6ϹA<46* q^ Gg\gl׉*F_O YrxG^_~,9؄/ ߘr@ýn=8rEu~;d`ۭzF{)|NPU~{i^zEkYӝYڕ8l^LmYxC1̴-',^歵zZ d k(0HY ))_ඬg5. p@^$GQeT3 Nciq DFjn좞?QS*Dnp/×s{SÿVL\rA>;K7; ΰXӌ؊p0e^x O8TW .gA e؅ ne@٤lv郠KY@U[f{|($/kRb&0周aώ;d}ξ,8^:^4hnk"( nw}Z>VX kmX \.+תd{IL ifD" Î[@q;ƥ}L7i=WpĤ4[]c4uRL|ghz(T /E,0^MxHS"*1A1s/WAIXa0a_&!/QƵZpM{ pCfH bL@9[@1sݰlhMFUpN題= ̜|:Ěk t I9DjWdW W^~[_hk!eWE|ݱ9gDY$UeK>DŲp`kMW!P{HeB@^VnťM\UCg1~Ӟp,=ù;lݢ)sO)8nS|-rKMI5H4IË ["Aoh4ML4o0)U lL^|9>^_T"&C=|, Cn.]\$wp@5\h')79J3 :D\\O P31~!<5)ۊz S7?%-h]O^rCCD_Ol^}!J6m4(R!{n/&zCx8Ѵ[^a-Ǣ^+|JRhdTrzDشgA=bѧHB4<}Km}( VS8.߰;9hpSd)'qߓ#^+ "/{-}zC7Ƅ}[L"<~wa'-ڧxH| ʪEmU~$Cqj[tgT05#Ufdp8T%`]l18jǩt& 7o<5\1i:XA;)ŖB*IH0<pόN&PƇ{)bim)Ne9jHb!0ukxo#oO0-.d5{X,4(α SܝBZT:`h.y 1x;H.'&&Q\%cnv"$*3D?"9f,6 m)'y,ZD&q"[ ǨnAˮDDpX^cI\ƾT/ *?Uɻ^{k{ea +&1 5 !SOef= N2R~𼶁eaː.;1<e#?V%} P6RfR !~RbO%V{8:["R72"2mKnjkVMphf4~8两FK7 1QLW$[ nCLJ'!o aP oiwA24)H bE"zUDS%]y)z+{}U'77ۍWօ_ E!ʵjBΤmU)%- 08H%^O) 5˘Vw%]_cH%}y-[x/JtU@ :45szݬe!:bՉŔ3] Y`X~O -FRrX.1qB_6=d:cfyjxޫ,k/WXB=k?l\4wZ÷,-'kDɃr#<^<Ȼ熗37hXTAEm+|?xR`)]jNqEp8p y+VOBqnkNgETj@Yr@1׾oX=V3(㵉?p_v&~/TLti5mPbP* P<٨u!β5z.uquyv'$/UV>dց58}_:6+^c\] 4Pd7Z !˹ =inT14 CWPzZ(loɪKʍ;wi/$ǁf$.-gPqߦ%eK7X-?HַeqoD@a IC&y9je3r-|9֖\q9ύxB4Nvvʖcbzvc=ߚWglRg~BPLM4loEn3'Ct./ a!)Փפ {!+|IØre)OevkDLB\2U4 nlbʁWMor)(Al`F[mf Bxi 76W9d RXaz?K49'^(#36i.hƑiٱ~iWcoJQ.'y'~ӻ'a{CkJ>G JgW\T<uX;[XHIXvݶM,'; ֆ xbG.B;/swEޡBڴn*5fr^Xט (/J _Yb[(tAqΈۺ >~=(P"Y&   }pdDB|y9 0bX+Ӛm2(j=ԞEH7|~$[Vf<)/mtٰЦNHEuJvNs4 1,jTgRUU }iÏ)Wr>;;I=yrO#5,]ܥӇHIRI>1ŀHsQvpSA͚ofUb=vg͵JqܿX")yS*xrld-WiQ Mq7h:e̶cDOڦ_:5qk {! d%/@3h q^2Ob;^/ޞZ^{90Z+5<+ ɼ I;3I;`PKֻXjKK|(!?sAN,%Wc~fYv^ZLޚZi1e"|ΖSԼ"dNܵye&CO0GpEn31%b1Ri ^ S#x|k6f4̑a`6ҤxZɎ*},\7Q^G匇҈_'o>>3wa旻lS1[9`2=^Ԃ˰,[0ih/`N%d 6ZyQ|X\yN{T7-ɍ&פ৖6k4KTG_ƘT1t|AhYuLdMB?)VLDޘ/ؓˀ;򯫳} P ||us!-e@Gw= `ԋB- 6-0cfW@F! nd*,Nʷ)N ?1Px}:]WUFRu;B׺F9b J(D#9ńx] Y G:%u]j,>甭 ċg]Vug4$yB x'7Κ"o)a^ `{cid s{aUvnX0ᨂeM&9f{Qm¦Bk<;si 7ɛsQï˴OxE*  6k$ܟrǏSQֶ3g"8t42eΝK7ho,!}jjNC{]inUKOcIf7T="3)WߜJԭ 9OB/RcBi\sȑ,$5*D5SD kB${RgH'eQZOyaQ*O6[:"jĈGjxx4F^CzN;u>sfv}qBrPf>I,>XCOO ذ gEGu̾ء^ BbO9 1^џ T35"6(WFQGW<96>'Lkq{2֊!##<~(7:9;S/4N"㡆*q/$!!TII !M}&1n&`CKq}|X,Y[NPRUj~攭MR Vc1"^kj-/+Q 'l%70'qDQbG ̹gI CÜ#%ۤrMb!!b y"ȁgo"%cQO0Œf Ϳ>?3)#hBwk keᎩ6R1[QW%WEO$6`yg6ۭYbt/KUd苣u&hQܹkcrW&O Gq jץ1m,:"^$)k.Ơ|]fT0#Y](ϙU#Ku%umZlli?V4[Dl\lCiϿ }gVaޛCݠoVauϞ~ FWћؿ*zg:y[wUݮiw.xb9@ӔayG L\,*q <۬hxxGa~ݿ]x4"ICJbĠK:5_\td<~~n *}D6Cp蕣pƏz޵ݮݽ) D2ɨh2hGV+a(( tC 4Dv)1[dEĪ`qG9!4ȧ >S+o fHz'2,\T'8Gb]LPL ᭷W(2*t#>y]jOh,y+Y[<=<<skgZ*n^Ƙ"q>`b3uiU! ̔Td#0sė V_)=`E>*Kz^ώcӋG^uWXa>I;iAh7B^=Y WoK "?9".^˯MP^\Q'`#g`ػ`Ɍ[mLv/M~WSQ\e+, qXShɦ|ϗ]WIЋl4,632_qG VMM5|2gi &=7hu ¢V:$k._Ebi`bc7ʐ]RWeۦ@Ǥ*m(1\jwZ_07eMΑot8V/guF"KwmM`8-^Q9G8ҩ`9w̐y/N]PxU :gVqT}b$U:o6h->䤐 5la%LTq q:%9^C0c0g!Nv򠛁&[JsyVŀgg +w_ņˣ]ci6PH-Ocռ[I8{nsQO|H6$aV8Bꪨ􊗊RBȄ"wba_+T>k!? 5 ,_F?1]4dϟ ,,o3Roc#aOaH;f ;4U=':ny}z "@ސ}:)Bo/O#a“MΥoeQ/(!FQToMvf]+ B(^}u+D{r@)8R _1*[2SC9 E#d{0U]J~"I$?}j7e1^eݟ?ɱyijt/hnVf;j4JHЏhm7np~]Ȓ #d;䘈\be;hz6(#"wv# 7(98Ю].M@EsJxN6PV4r>>i̟'Ո2\U~kĺ}A<-EWvY]Y1 mINif yaŏo9s7@Ǥ`3VB4[J hEQA4KMk^oDl/xSاan\OPgV16{#j[`1Lڕğ2#5Jp{g`-o|0ߊhXV]kѕf>/+3Ŗi`pM%פT)F-![TP䩶syņ0)',44#@ᅬ,@xqʀkDl4mMHwCۡ__pH=Ͽ7j.ޓ9 2PZ~O5 tKN,"\e]C{}}g@v  / [fF+nvQ?UÄ#QA %/fx乆dt AD"BSL`:wQ@u.fESΞJ@jb\7Dvl4 lv8e-xPjb#@c4#Hڨ3dh7a X.s*(aBI N*qqJ5רy.J0zxsV<$` 5v_?vu;.F)}n5 58u]_GXHPzހ:9ȎXR~eEԿejam$шu'}eZ=Ys'ՄXDmi5IǍe7PO _ޚPbp!`\Hbd= 'sݖOU-R+ Ng|Q[ɾpaei~G ) 8K3ø>@[V2WUtzڦe">uuy0z/ES]xj ~Fw?jr(Y \1䪢4{ {L Blm׬RӜ@uan~N1)M*Od=r;{Na9q,=W=`488)`7!3 "E.>zfbEyBݥi#%}KcJ#|LvGc}ϧ-nviXS5o8-q`w}21sc9X+ŋpRCt怘 J^-ۗĵ^) j_܎Tw`uJG|t$e0jV^VL+YneDm-[_:)~ǥnLm1.|ug1I˰1.q;w7Ϸ&r)eS; yG6o9M,F:Kwxi?!R};G,ևXH|1'yqFg J>=c1i22ﳶ%(i<Ѹ7:&8lgϋBYUȡ.mڌ{mNU (wF3ܖ!|gI^=%>IYI.|H: )D: -X]o:(R $cyZI V{Kӥ;&yk2ᵥlTf'MEô(1.Xd`EfT#Y#ogLl΋ >JO5{$T$-fC#X\$Cfi"m /QjKAԌƟqk5 /`gDRmSeXz%UHDc>.1[nichM[Kɝ">x;I8bfYSj ԞjS?9F*[2-_=ū b:z \G%3}$^{-b}MުrMCdsf1KVGZgգ`1ݱ.u>0/%7- ~F]z̻ ox:3rY9(`"ƌ/| VL";4'60.Sҿ>1]͊|V|l|ⅠPV!<6 ;G7BwEVEN Uم:`{ 3w'q'h"z6Uj4B~`rE~~mPYS PB::3 #sݡv;η Aƴ@+Q1#F)w4vdE h&B6@rG8&jf%LzO(!)eWȊ0b!.{{9ָ?UԿWQrޘ ʥ`B<җ1D #m1%F,h+F!7~ 7mAѾw?~?![\*[ͶY/O1x/vh#gL#?8PFH%ˑ 9Ym i$5-S,^.uR?Eވlx٠=C0A{BwOvܽ)- ~xNLLW6r!]iKPKߣs(+XIՔbUd[)ȟٱ!0iGn9#J&VbXL1wћPt6շN,f-WF'8;۵'>~&~v :΁@aPe& %: U٠f%}td'H# (?Y)= 1 z~zFVM:߈E+>b^'([Y=ϷGaNKrڧ4?3/㹊2޼3P.r#-@`SRBznx 5MpQ'[5ѮBUQ̖T8Ƥ?ˊlfH0M0C2)Ͻr ho%rg.g >1j>`͊b_1uקzr+iA +U9uzf1buN╻' =1_=8j.؜+b%>(gXL<:)%cQLČa}h w6pOqojQ]]V$7f'YΨ#]E!cgF`S ˈA0#C g$dPe䫧ܧGh\x}Ci;*bco7)9|Ҋ_P==)n$Vbt*Hf-w]sh׸ƌi7C>)~YLʋэ T4V玮0kb)U?юr(*ŖKNz O)F+Õ}afkDLi8)jU5Ae ii |^KͫVqȆh+6n%E6+dl; 6ME!ڏ,ݬ/ v*>BIn^-T)Vw LjyN@\+#\2{ 'ɺ28#nsvvhi |Zm\G)6Xޔ㞉N|"ɗ&[|D6e@FLjvB?D FIǨ)('4 :(g&$j\=XU(4Y'):އc;Ă]M:3rkv:pqߤ(hxbi!%$Au|n5/ C13 qbsF֔\܏}<qFHH*uN, /(lD[$Mw$o' =O;e@(WLA9,ՃKqP?LS e_pBD-#˂E㣌2A׭g@Ѽԙ7Lϣ%ryE!]wK PC -97Q|Շ;Ā*L}r? #p r5Ddae#&5 jASiiAM{QG 3 ΃vËUe3 D#Pstq[e+ #Ҏ:25clj .`azh.w 0zv'n9ă,CwQ*!Q{f3ϓngxu@ӊ 2EM@S2Dǜy:T; :H:]6)QnBjU96uk+Izߪt-T5(aTOe0 M| %ENdn4Jln]ϧ*y z䙗fǯ ZO@}' iJxnN9;l]6IwBfw6pG4GD|ۑG;.hޛN#E Vxc{ghimgHLlۜ4l^G謼yfd"wN13!}8B܅}Fו>(ȉ}J 8Ѻ)5[Mʚq!+$D%&$+r8gEl>|ԋPK/rn$DpL$Tn@(pLf1:Bǒi; =Q RH:1kY:f@9f( G맿}6.P% eB57F[V&\e;ŶWuq?3@띶Y{kzbK~ I[cu>% ?{NHmwjTU󽀦Z+>"h#EUdNTBdJny=-4ZCW*_4u">*-3xG,f?8B}s{8OTg@fH'=1@uX |j󭢵&®tJ&lwf\h- DI@W v!Dx{t(Lyu4bS;}dՐXh@%N](wt! 1 Vr^n Gh#1=^y+2OsS gvt$mm 3L73 L&jָm턬zghBXNx`dS?y򩢞@ejf1cA3@-2c, 5w)٨l'eS~_dML+0LmYZ#H-أ lhJa XeZ#:'ʹ ¯=1PZh5<ڀg69Io)횄n!q/zQ@] .ZNxiEn-ҭ&rq%qW@xywyN!u /0B?ל1/?Ӫil+e[9Y]srt>[Aw%d4##K<}xqPӤAMCvS2lg9h1%`],EX.+dϊ,Cۙf8"û㢼Uk,eO9 -a{Ѥl.Jͺ |vuĪk]2̰[1WZD׵\ȌnZ_3D`#RQ3儨%`&EY | 6?*okr[6Dpm7VY8S'T @OxC'InЅ>6vwi|rۚie|2gC*a}^n1j_6%8"ڗ:(8}uճxlM->99 U+Fܿ#Q?~"|Su6 b $#]ҧ%ե6byAɟ <^H`֬Ҍ0WB3P 9c<'>ld8S{Hk&/4,OY,9 =M 9qQkMrVIҼO, R7|L.麣(ga?GxW>|| StBk~sNL1!3= .WfN kx໮k ^r,hn I2qE랷: uI] W{ *+=eƛն:qtP<9z̒F`3XT{ݽ_;*e!);p ܺU_DvPbLi/NT%4O zfQw7A=t:S V=/0Za}Wt*zJCB(ߎ>yra|"p=[[E'4-U=BLheĜ| rη%D6)1OsRґ=5{m޺d%˷qfxQz .O,v x;D=ޟeLZyN$Oۤ%ejtۇ }Е *j)PFpaSWQ4` 1`͠aұ@S\VhP5E p;D{lY캦$sc+لVAw+\Sp7t OS$ 2ݮ7K2IVmx[38^#bs:ziqtk#bvOc-ɓz {]5\ߢ,+]k+41ߏJ@ˋ7M؀z%.Ungh`b1)Ku>oϞ\uo5pB"N 7q &U\n񰓽Ɓ_mbqP5(oi5MqzwnLMgO޷7exJ&&䈵}qDžD&">p\]!:}C]l]QYcM;PX/[Ljx?0&vnQ6:`ൎE~!#[Sʰk:Gvv%oȷաl^r䕘>pi]&9R/ݣygf hqw(mz7ReW>^7Uf&qSL7-3'!|92/2~_l|0[[TPQ_~viE ~ jA |9ؤv] ZmU;c]8F A6@4vVA*5X_aq\9>]T(Oj5Bl#&7(yK&S?.*6o>%5Z%:UlÃ<X=4r 7Ҡzw8mR7P&.itc),mV|:qEC| B?t7mbFUR~9 ¤;W1T|1?ӏ-bn/`>GY0HނϢ6c0:D=u0i|nW ϺsA SCX^[Ns4%ăv_z/M<{|IȒ.2GS6+[1U)j^}6^q?{'9q8EnvTp2F y3R/J$">sq'$%gr_=4PO]bhǟ ueihA!|,TE )]. W_z=@kw_=z8:%'X<AૠYb|3c~&?-xu.G2( %B>Q;AѳT#OAqR2#v1.Xwz55oL"ڧ!Mh i98άĄR>y%{hs 'V +e-<-"ߕE7s?_k1|0:mAMRVB>[6¤)0O OuKPh LVi՝'eeF;x'd0z/ƴ_BKkK$Xd+DNǸ|N}@^iy ~_'c)*aKCZ$ь}kCk`w4C-k{d;dbDM38n+ٺ4[ml晁.3mN]pGƘO%k]_-GBN5X|AI<4OKQ'K|gMEޓv!bPF$ а+IbqFo%j+#cdyEG# j k|=$32O9CDk~{~M*Ҽ^,\5Ï{HcS@t[;'*D:]kav!"}ӈzSl((cpБߓXSoeZzx9'*uuˀ,$f~ dz$"E۟ [;FG#L$|~ m--#,K_ @CUTxp+)0u1x$OX%lՖ ѱ(އXbYĦg3}">񙄪gu\&zKQB3⎀:Zߖk:}<«^%wCۢd~H(#UxN.U(hZaG`'טp^!E5ZlV,un9aY/Eh+sPӮw'j]Q9p͘یȷա*o7^ʃMXj9ϘՃV0ܘ$ldSig7mW8h췻+M}{v}j4%eM`S4A>Q)4[vj-bԲqG9btwiţc$^]NQhC:`z/))+So [PvBS2 J=ޢ/H dSx +{OPΞ!]b j +Pø*0Z>R n1W`-=m[ҮB7Ċ#+ m~!"hiޗyj#pg*VF^|Z"xh#-``<fݖO>qɉbkձ;LL`Bv; P8^T{_ҵ76(HCuohy<.%O:q\1;DZr #d*X-NiOoQY C~+1=PP˞vϗpnz 'FDka"5p%x<eHd:8L!EAVȩFq0e ?7AcueKuR<.*hM:гB#TB޶}+\wI-7x{Q"/YX/bElt rspqWޡ]Z5={!w8A IyE|13HVWx^Qer qU Q(yu@=JٚT ƕq[S?S:/4xzBf!ց u64v̆䊞p&we۸]/͌cbwtT8u H#%, 7y@d3Z M}*W< $3ql0%K6Ct8'%a$W?+5#av(G! Ҷҿ#ƤF/L[r"Q7ZB!TyDK3DtS4Nasd%)]ȇ :cfOK] nMi:m 6w_'0pX!}/q#%zFD_wxڣoy+UeߟQiVAP1&2K;ʶS:)w_~Ve eHLCbw)(Oz٠AZBlu+#sZi#`:`洚lKI>f;Xo + gQ"KS;|A5F]?Z9.Gw $;pChYu!gge#l.Kcl|wȟ/2j}E&n?nVEccUSpz$bwXYM԰:k)lRrᣣ1$(>"ѫpO";_nI٥ zȰHMoe =cg#B 8.ޛ~[2U!q|R4r B x⣳:70Ԋ~)sl)s<w)NUkŒݫ~NVB,)0쪜Jy+=pQqlԬ;AQ琎`](|gZ9Ƣ,OD&,( Vre/hvMGSA{v|cfMoH\cr_$(KXDŽpsA\Av0<(WJL#_s_Xce1P[F4༆8~CCVV|dwmEt7mc]c,! b7{7(io {¯ Z6N^vn*Ϥ}~otq Bs7C^\}5r7`.O'O!_:p]jQ `cHnkŖlI[zugꖂtt1`Efoz}O$1,` 3P;nP  6 lǓcvּz5!(xe=mPF6DbА6%,/ ]B%cvCڪeyn;0y=?=[6[:\F8۠ښ}itOjhx>4r-{ni&Zh9>bA &FW" M#>?gƘxKYouǎ>iE"otFB͇[_E3|&߂ ~g`/͛\c{,^/w,!|*/JA0Β,:Vtu#1~?WBC3plZ <ʭ{ f-)^ڒ $j7 n]p7,Ke'80Nb1X-0ǪW2o|ꚽZ6?1`Id=, GL}RN&TX6]fo&!2ʢSC[h!t!+{Z𔘸?(pFt ' o#$ '&ɚ+?5Nٝ᝿JvJ)V[EUc { ~}A~8xaqv%_ ?䍁c5AV= &|MkRmloN.#Ԃ0O4#v3p8#8ӯi_'~Z/T{zdS#xByjfO%VL0d f@A믘3g;{M7_ 2Oa;CgR0VDhđYSqME\6e[˴e"/r?]/pbk]29m|ԙ;>b<p xWz"E%o} Cplgj~'o~9JϏ)gF۶G|MU[(ޙ|ä <Hlm<ZV"@[clx}5 MR|=A,Sx)4&5^i־ G`͆gB_u%6֛fFos|"9HOfE_XNrvAY9TLj >ۃp(Xi۽z׏QbM Mb#]0i^; jK'["3I@ڪLҞN#YX|J*=XiQ$--,c̬./hOR#Їb8[rO Xi?.;jp,3>C:',^m%$(+zZȂ?"7}<)+ZIazuҁr[>؋:i֢J2:ޮ'!,\71p՗ѭivSIJ`r[;R1 7DJL`ymqu6n +,U27UHl"qjl9|(5#Lm!Bi|nڷML de;,i#Z&B>i֕PfXi+Y["qҸZMȎS1=+ q8W6J0ͲCzŨWσ%,u.oP 9;*^rU?dW JSmva=m~ldH'EJetfŸt ֔C.wA;H\3Gf R5P!ȌqW#3 N%L?:С]#ժ9=;$tP\`1Qԙ9J4\#6F;п#=' ŇNNX,,y?8<0~blY7#:Xb0G nÛaWebl5רy.,4^BZT5g;GCbȐz0nx37?HqyISt@)KEtaJv]B5>P;=`aJKuIAe2xkP^ZX "}dV#iQ) Ղè!x}]EiWfȦᏫQ[w&Ztʋ[8z@ 2\AuڦzEISYLEu^ :JR͊$l+SՅZѿ 8 T ,-QE Q(UfmhӦw&<-Fnk0phvtTYpjศIvp!.`=:[2J|`iX!-r}4/ޞQcSHN9|]ps#i^fGf6JRJX)iYXa0wqQȋ.7,b6Qg`NGds"Y 9'Y#F ۤ_l=e鑮x6=4! B|4cA6 .!:AO{JR7\i1Zaj2lhwz P۱;hhp&;y=HQ_ OsZNRDy9ra2+HX\ѼһH:]oHC.T?#8hpn[ *ʸ# y0TyDiChJGQj{̓ G_CMt,wAޠFsYMr$O[~[pٗBs0s|׏-9D!_)b֘q?ƯY]bSI4S/L]QSӟQZ\8i ƃ e>yQ7|Kiֳ|8~i/#$Hul&Zd)Ã,@4 UdXS2R(qIΕן|~+_IUKWЁ+RxOx^m[,{Z}sx4H3a+OeIGirS=v<=0iᗎ7r 0z`D_k%fQ e"3C'!SxF|=QJD~OL5Z+i YGf=%U>wlLY+BPV)g/!O5b_8W_FBPCC.sO(ա #-$6q MP '}4p #YSfyH>d}zم)%xɏr"-HSN-zHieD '9)l|}wHO9 ^GypQz e94e^5F%eˏ ¬\NYY`ٯIx޼r&`հhj+0`״OqVX< ٿ*R64&K1jq78 LmߗuF{}R=!%AbU]i3\g7܂=F79gs@[95d-5&QEUC1gJx@qއu6Ό, =C;7qiV>iãPVN&'4Q &cMsƆHk]@V sɴQB{9e /&^a0mBvn g LH Txs4<ɛ3 `U]GXXu_P ?7%5?_?%)#ORTy9oIpϱVGGd>x}Q?JayE@cks[sq̎%gnˑo # Bz[dM'.WpxBݞor4g̜G79OEOGhƳG_56]xnq=gܡ%T&JL@_wՔ "nH^!?eזL]Iez37Qd!wmRgGFT$M@SNBfeZ4aVzp.6S6ȓ3‘2]QpGeCKJ. [Kd7Ř/rMvxV,cQ Z?#[fMԾ&?UN`ؽ(8.R=?Sc(^=E<_`ͧ$3]s,}-abqhYSѤN^p#t#=}2F>BW(1g_NgmBCyhl',o/_]Z_fNViHn͊WOSgz=8)4-RD}5"`)ޗa"K`w?;aQ*.ʼn"wEhuyn'Ȍy( ?HGJC: ?.MzU^'r_^yls2֜T@5ّ`N;(sʈZ2|r iuS䃽VN/Iz]U'7`!t^NV& &Ncx05U=3fR:A`m x,{HxsUl2}m{#d#Y_0 ˯7;M2 "EFBE:L4ޖ}k`5!{+pp^m }NǫT7Pa㰺>%]H`B*@͚FFpWsi^b0u? A\M>ed}oX5ނZJk4 }NFĹֻ?\TUQ5 .*s+-MY:[#U$Ƶ(}iQ'jXs103DݖA]nk@KRS:VpUy=R[H5&DTm<>Ḷf8p@ _i EȐ?Z ,#mRw׎D8ɞyomwL`F0ȖT1gĄ01nms6PZC%)GZ6 P5Ɯ~H94:/(4+& sMԩo e*bqR_U6^Foo&Am2U%(]os:wqwku:s%0m0K0L>/juS?m_)x|(.0 VZ~i:{qa(6h*K^InJ$EQ$%fKR|9< /&oFv)Ϛb~ ^hBMfk֞^sDnA5|%XA3y72ureѻ!ɿM=\E˟3M% nIhgFW|5ӏ7u΃mYOV,ջg?7!,;FqJ|jaYnm?٠pW|U._`@pB9'f ``&8C .eOX PCtNf[i͕t*np-H OH0z"#_F|f*%)y#]E ޗLϧIWDArZC]LĄs$(iNFH _ۜ3~xX:! <1E1X6[W]}hҩj蠠^XpsQDz[%c0aQY}@#Ux*MVvvo9nI6 ͈㋌ 6 -p%\"ĝ-awf5aŀhvDda#'JEގjt۲Թ#: Uo]Ǣ ΍M n&çsyȾLI/L# 'jZ1[7cqrzbk ->f  ɯZZZx]46oWF&9?ƆlmV`Ȍ<9#&8X+_{x@ba(J*R/ԡ?Ci.w`Oh{T#Ԑ>iG2AL[Z糖o؉^!˦`z~%-~( v6tqHEhj7K~N!qvY%XDX8/X)%cacBe Ŀ8wܐWKʡh]Y$cĐ_U&%ђJQ@#z2h|72~m"M8u{ tt@w7=Ek&l\]%k#0U.‡Ѵ')8.V23tj3 uԵFd=j@6bit0#كgnP\I*lH Gqe|x\-0| {c&" e?u &(JPnnQL>Tf-8c .J#'1R!!v"Eu;*aMO,S, .8,JE# !ؿâXtb13/g5K/Mts\}qD!yv1F͍~uSz'2 ^)Cs $:I1ְH#C%O˼1>kE*vru&%l|0-(Lbdv[d3eWI߰Gz13sTz{(oK5%~χiM{~F%ïI{S ED%UVIhM +[FuKk4f}%TEKr̈Ua8OΊ)Z/_[C,>pBdtYapTa)Le2naTj>g%yzх?ol4\ Txo!"d@4*99gDjJk hu6{ f )uʭ*aR$w`Qz΁X,W58Q' d Y o7!hl (3KV} :D}&ڬw2|zl9)LD M)ؕA'i̚W ON3?Bp>~CCacgqK;vSMs~$#6sLyC)cdbƧmi߈ w:-:%Lc%,bȘVɣ2`d<#R!`5= G@uN*1 AG|P?qΉuwdRf_v!"wW󉈧$$@lu Uf<䌼Hvb3 [_ݯJUNfcqxGgtB^Q*>+U\֞Jt:i+a8xFf>d2]f}(3^l_N:[WA dSG䑾D;UyCX<KL G#o&0N?&#GKԘ%>UUe̦c NVOҪ0Ah[ӹ B_ Mˑˋ&jٰF"~SXN kъL5U^}qR/ϣl.? gr>=сtK~j (BdxE&STyI(!ԥr3Fw E 1$U5"'8$8*jc)"|OgG7"1H\F W?Uȿ GQ]lJU_D- /Ǥ-{5dhm2.Kd7špC6L5=^v id89$1ì]^;=ݶ]mngV/;Jz~AQW"Hh',= 28?a, ESo5_~FzQ'{EG?/f;uӉ<|k5jիzi\?W.*餦/JĢ+eb86QӱbhI;{);'p(icBbWTCmҀqp d8 2]mUpf"Z>5Zg%ku=^n=]m2.N00yg*T3xI)iq>l:T&nT<rV=qVblrIV\kN jjX `eW`k.RƞUH}hXua;߹ne ˯4;iwNp-B>X(Fz}g^E| !Wi7O ŝV,i`eO70O9D.౒m·8M 薺?nvnwj믶o['96Dq:‘%Qoy}N?޾RcCBfANT5!-~kTuҦiX.Γv .&ecT}Oc;~;$O 0 oL$_io}ʁ&2]a #RR?&ZM1RUx? m'j&T?!ai@;MDI,]8ڭWpu[Q;# u[C Ə5Q) 5 d/]g΋]mWͪҏV z~yEv>CZ¤#Y u7Ux֓zeU's%gJ6$=]k!*J_=yԄHZtLk1sf8٦O.© g V6H*  ITy65&g E{9138W%1p`pIɾ5CջVCiDP,L]{e Nv _D,$O9]z4&| "cd !сwB:9QVVPpy'o$6Wu Y`cͩ֨0'p@郚}.0vF:Gcq4>zAls0z2 #ӆ=ݘ6 D%!PKM3|2/#f&I?W xVp['z%b \EEZ&Ua|KƈU; z ")]٠t}Џ Qwg@a΍-ELr|a=EEuo#XLW;ɾprG^i[?mZo7󩷝Of@ۇgv*V-jJ %GW+=s0Lih[m!:q˓ brQ>p]]+nIz`SJ%(gd\s*TIզՐ94+}BMY70!>JVzDQ*#rk( ܁C&~hJ_'1QM@8n[?^0zf=cKp&DB$v@$=uqe_+pW7A zw@CIIvOxC)@.Qxr-]VG ʼ989bGl|.Y ؃4U h㨈nXJ.xz6[RFA[ךEN$bpD% S+b,ܣ ~׻pr}%ԝwFT[vE |0M,Ij+JL85HϾv oFSgK4ѳzx i @$aň>6>9u !;> Zy'tpU^cUM xO#t9<8и3PZ p7 y|:0 Kc _ufWgV\X X6Q! dkET2_NIvfwg욗h{+ O߃ڥ;m,rx2C { m =ٜd}RZ!@1t?V]'a u@ EcI`E 6485k[+Wv>F2Dkx'҆sV jb}Њ& B8"-䓶rK䥄b&G|/¶ =_GdX!_].-e!|H#Cw[m`C`-'i}PF}->^͵U୰>?,ѥp...;{Q9iK; $X]=nX 9mDB?o(~"6u?.sTtəفXy7W,17UOEhvԷFAmt;#n3)6xYMȊ|k<="6)5A' >83Dܴ{UWzz՘,2gInWx9^SQ*L؜n)'_h\1ޡxhj[ئX`C1P2VS/x%ouwvD JK7m+}ѝۢ80Z.D:X; ӾlJW7 |AE3Z:r|'* = 5c- MP]/[A1qپĵ>p Gל:|Mp.w8!Mc UyyŅUhP1n$9@4騜+.!VF YҹS9Ц׆cߩ࡛&o؇*weaqIՊaNUOQ^ E*x"5!oR+Av't–ue(.HS4 d5g(X_&5%(f_ZG@2̓$730xxI530]TxD7xSHsNk4:.SӇw ~/eP­8L8,;o {CZ%5epo xf{EC>W6$Wo%8ļ-^wH:KXd01 <ݻ7ITp8&hK yO·|uV>zpO0gׄk4Qt.#Fo5I7<#utytݘxN Ә2!K{LMC޾iFT08UGn~]mt,Eyb,!;U_R)N2c7}p~J3kU lRu}q1Goah(ѬMjoWV;](|qO`nӝeiw7~-gX)t!獩0m8XU?6n |'0sQTgW^|DlmlX u;/\R XpZl|CVOw0|ٳC]87(slen2 mi*]^\TFϜCy+D,hmFB <Cy_nn~+M B,`o{td͍8,v*wy CܔvS*<8Wf:}Aa@C]ea-mvE{"pEXsW_\\]]pxO,\H Ÿ Ďydkg@w fW?X/e,/l-ԙu;wFU  7 =ng~AnP]^Lj$E#w1W]$Ph]hUh7B;OA @H,LvV׭>؇]dI zaӧm)?ۅn3FF/vu Ik }y h(znI Hԃn}bqk]zopXZAC;tzI5"PV3/pQg@)&om|FGz~~!姿W?:Y 17#XV)z"ٍg?"}G6܆piM[Ļnx ݰwSQ$zJ_t)Mvl|~c6b_mz$q{chi~?ͺUFFlcʍ]$^KPl2^.cxDgr~.ꜧERDyY\;7"ZsDԥex堘H ;d?q`o;6"IM4$J+]Y.d6GYOA3c&m|r1#ն.rPW[itcU@|4"}߂GCc;~Tĸ?ۖrI򩑪DlӂM泴%,%?X:bF537 o|(Z;t.ټ4p1xlO!h3X$@ç+ ff'i ɢJmJh$븴dIyk` N1;m{,$()b{rն0]).|({.`hj )E]?]Viչ^8 OuG2@ fPv# xu {#`9YjsԧU_nV ;ǚ/P_ j{*lVқ"TdmrUa(ħNPZz"ã y8lf=@AD=)Q/8'OcSMnpi1+KO f/DMwI-l#;PU{qy˞Gg"1]z:| Ep=&ͧW]P1:djѡ;`bF4ŅAN^`GRJH/9sh + D~)ҧP4ݕx Fe% PbV=t\n*]-#ǹ-1Վ*Ot)^kQ(?E.HHmUU=$*~ p3v a]NӺd/\r؃4I!xZTWЕ 9ˆ mAUUQR0Rdj1-7O̸PhuWC7gu 9Z ;EMjbR|HIiY `{BLaTc,p2~(8QQBvp F8iMq׍#b5dM'$sӛ# EO(w.6'<0w_섗Ԭ:yXi-w)W0FeEmr u_cu}q[ QO˩9iY\r4uai(V3Z_m 짾MAreEgFC&$;+{pu$FhlۄOg!K# 7HiB mܜCi;sZ8}oV{a#8@cU>(vty mT(l,}|M:/XO_b# 6y&efۓ݋hm$|{[Dnii0n0/XF6LץI(Mpk`TႩld(q0X`Qc|p^6pVГm(P^li#4ߖs9;XU׌/E QHFwYrxu.ϦOqrAgN#e3n^GL3iW$Yf|':du'7A-&y'd2[5>1oo^`` ɤpv咵 ́?ֻ@@O{> ǟеXho>{u();tKxKv3O ` t%S@/7,eŏ:u){bkO0'gI&إ %)_f7=1u==Ec0AZEG8UuO-܉!I tWޠ{-ᮣIHOW $e4 x1=e,aI< xva?uSX-#[#wD~~hpaHt!`շC}ptl>r%8fHqqn ap\ ’E"吨lu_keA|C JrH4Q Op8Az}GgU/W>=L;!.kLJ!Oʙh:2r.(6|wVS-Qր'':&(0^uÈmϥxo?,he3C v6_J@ A и$|7b`>'&@O垐 {p#ԚunAth ž{}:]~B.2)ӵ)jD>% j*[Uy^z?ɫܦSUpl  lIHCAIgYcU=O|$(TƑ(H ydWٲ!(DzIkU_EO[-8Q/FI߭|HӶm~D_ַf0}L p4H-$ٍprnpkX!{|/C˅q$nR؁[:xWeM9?4їׅZcv!Q0`vƺ_q&[[ؤcXlD}nEFg$vN(6%dRl*]tl-IԽP a  F BM'XGe{xWTu9bQypN+!j饏1J9iy0DsGMU3bA. {BvE)=C[Qjud6nY>_~j \$Jyzd夞`lLK>@f/ԴXrܚY6F_9h: A&d L9g:@/p'e(6!F}~L}m析]V7܉ܜMMP ~4€ti0]z[sFH=*г]q~*CxSY .p4%:ޒi6m9$sß?Rp)&<* v85)VďɎW\ dP( _z+W nzs4m 9̗g![<,953@~LEn՝.v,7@~X59G:(qفo}&zqA]o;;@J}19QP'@72 &lr&Xt+ Zn?W()2EW"֒KtPK4ANrwƉ%/|= WԑFI*-xXm \.Z@҅жhmu5wH-kl+@BrC&< e;McGW\"r]o<mB;׀00i}KԍAsɘMӫa~2+QV%&Hmt}JyhU[2gZԜ.dKv@/c}v-բwf a@>P6\7pʺG'OE,Cw1Epk0zķ7O 5r zVnduK<lO&x^U!(Yp)!G1 v~>h w@vBPOmz#X7uͅ3qm:b4R,^Ub Kȕޓ.hwx֡* 3K뿰Z"|$JXo{yd Q3j:ٞhx_ Mrg-B +x\T_xVR 4 -0.zux?fAV'kR*c)wg֊-랮sd F(jx׫(2kA!E3}4 Q2OҒp7%H y^krѡ~P (Ȥ˥/|0uǔv\*|rKz+m!u"!HA4# a2NX?q5;mr) t?/iԱq`]Ў͙}Ԡ&d۫"d|%\J)ScZ*-l\^pH ȑ7m:>Âh{J%>THm!ȝM,SХ24v=}c}(\]Ժ,\? ZX)#ɰI>@m) o1?>jKb`U>ъ+1v qUFD[-5 L/.b+渷Ahu8.FMPE߇$kYHlHi9$ \8lo4fOAY\.&c܃m6c.tNҒU'tAd_έ1FMBxU{m 5 <V=z X̽+ Β{i7>8 HttDF8/[5]ΝD'ŝ-u  Ӄ';%拜^8Liqh[Cd:GRX+̈́ 7S$铜H u0JԵn4Bpĩ2)?J4 M}k<#c|b_/qn>l7$ųD&0]P|TMy5k0+5-L6jFo!XYUY4mi}Ggpr!Xk2G1D4\C#⋜ ~Qtf nIm6YU-Y!Nd$Pl:H<|Vlܤw~`֎nƻo{^'G9 !&gLK0`5^ }Y;bA{}P²Ν/#ָ|µN`1Ϥiޓ?mA!bCZʄ4]Q+b^Ӎ{uM.KZDfѥ6~&kgs3 ]kub}IPRܯn 8 1#^@ ũ+-@?E/оj8 tXSlHQ!s &(gD$(wQžν bwd"UؕF3wl)Gl!t.D<'2 _&+_!X.7Qx'MiX.bf`Y6|kIK%al>uhD}koUoo6WpeHw}6,ڡ[z?m lvy4(#Fֿ  %C0E7t|Ό}Z]aw,Mn,$0sejonYV)ɶ(R9PEG3IA~rb9)VHoX GK!:( @874Ѳ8ٝE q>6|s"Uf8աh%+Rs#(% uvw5* tTϢKܺk p[Ѭ(g.zG>nb:=-[V,̟ ˦ c5U0S<+eY|5dxw/A 36\j _Q6(L"wj=F!dž%K Q556 CwO& 0k*33zb)=N(8pcW$n^oIXdmǬ~^C'rSx)MX*|?7(Tsavٮކ ` ̿E=EA@[]A`n8y˂1N׭p}ӦL+G T{|bt!5;Jn(dV^Ey=2Ca"uypGaP}}kE4@"8>y1"|-ǞXA> "n=,9IfTZV]kAL.CD-q$ ;`|l5\n;~a m19r #[[uqJ,26ÃԌ.(4TzD*|#ݠWe\M3Pb&~홮ůƳ -K4ؒ__DsRaШR~EtUi΅"y t!i6L642zRQ_ݷGbGMh IVd.K/muB2QӥD"c7XmHlXt9d3=3A^YJ?w%aHn-< D`Qr.bli-E@"*SEjk]Xs+yn[~KQ; [K*ul 1xZӓzȆX˻^7!/QհJ$p'|H: ʕ]o^N3A֙0Oے^{$9  d-m$#OO_&EYsAI'${w 7x<d Tx)l pCl,Mt+8^MҊ|@Lr^y;,T | VÉm%[v[]osp"FO؊_?s[#K" l%zdGKM4-ʍ|m%&kPd *A?&L=5aggjxL\w[d4elf#xY:# r?)4#.RKԾ ^^(9yόt6lQoۮl"} ?PS?:<F3ۼ^y)ULhkhM$͸S*-[oo+CۘTIOARb.=1Qs'7WqHeBY3ʫH6}jHQ'p04{Q)jt~*3xG1ąagʝ;ehVgQsT jş W5}j5\֧^C:V"+zU90PtcqlJD;/oNu Yi/Jd:DF(B mO!V}-~1څp,!C4!R@p+j|*Ncu1jќ&]I :Oz=5b;ߏ@n6'15m e#]fuWdLl@>+cI-,ĸW ߦx&X;>iU)lz@CQrzBzڢ]* N>o~y&A~-8QZPmX~?r "NYs޵. יGG FatJ.hry,оg-Ñ?@8 L,lK2nzd +Hvf+?^$wj' ,C碚pCȅЃ握4 G@FlK$>%Ǩe/u-/R)3^XvNY;BXU{ŀUb!~i} a gET:#&٭}$%:b4$7$S.4tV 9F. 'k]/ɘNH hNE/uN@ xE0y- ?Ѣzg()οj&u3T* >_KdI1l h~QaٿTD~)~fgy@ss{9b#D 'ӡa큲%髅<\+Ӆ*h,XHe#s2_VBw4CT >? f2xR{6qBûGs1*ڴ7n=6U$~ҘiWĝ-(Xw%0e$*Ó \IKI ϯAAR (T_ =qH)~ T$_r҉y1/7mYbO"ǶŠ bK:vV@t@$En+ grR5/8-bm>_ɇNH%e>_vʬigf@]gש uAQ.,{͎侉qo*vj$Δ u&2^P&&UZOE:Eg߾Ua2܍RaC4*CeJ 6Rpuо m?YVU6mlIc;=|`(Y f ,|6ߝYBC^QTnNdKGf\W/Qg}u3, c2u n{W2/b]fRyZy1ʐF:Τ4_F?ӱK2f~󭺓tȏܟ̽OuIBT5<̤̇.ޕreTc{G΁b=^cYM"()0fgM1rp8^N`yHŘI=v15ߌXʚNƇH܄o(E;Rr'$We8zOUL#pHVi čXtd`t&jjѳz7.ՙt}H=v5rؐVtNGRcV(&?flQkivp:2$Q`M`;^'*Xq}tѲe>&IƮ=,k%S #'ЮgCZL\XTY*7VGEAeSlyO3^Y>TwhUmHa.aQ%4r뮏 *?HuڹWeo݌73coخp, nvl8JB1n(52LԳk)$e#7ϱ53!p{ƈ9oOz홿 8pXtGBTl+;뾧CFwߧ"<1gͤnȕ;@77\|3=siRO:c:y)-HEA$-Xꋺl#OqdƢKB(^owȞha.Ifbc֋ Im|]c3oJ<'Q 9k1Eq3tyY $Ex$ qwHh R2L츄O$>ML7.FLw'Cc pL3 ;-6j'oØ/ @ #O ؂~$0"kPJ![X\{3}EbpMEOzWLIj,UӑH6n6qܤ4#85e@wl|hu~{̆G>=ܝv{UVzgćzs m*j= UC32^k[ 51\mV0r}3d {9"C"eNC{Z`nGgвa®Iy;R2C!9ۿ@W!8!'O%*Jb}J]}{qC `@px4єy4GDa5r`ڐq43;K[*-h7WГ0!cQ!OwLpW-6.9hOJ&V $# qTHs"1Erk񆐘QsRa՟z]X}C+d1Hڈ^Ynzal|tmefְ;bPUN+GDGCxΕ Q mŬ)>#S8U19  >^U%{ at@K*;tLIQ\xC= >s ܎}Wأ>;ci4VH}USkN ѰaG/t ט i='sx_>Z٢)d 2K|mZ~xJDm#DTTY&s v}yk jlusAA1sQY2/H ~Kde 6)i`yjܡ<~fS+wIM6dڌмDV,QϭMsi+ =k^~`G&r\?Q̂):7Cd̶[$sX#7Dkjgہ y|n-o:!-8kg_itC{/O?l?J0L$tPy26zuI0 --:|%R_{[*-[$?$[@DPkM7#\xeFug{ 3Xq5ޮEw^]lR;5J`0h/Oהz@ŝ ̹RΧ)IOv}*0?ؕ@F,Xxғ+M,7Wn~/>hPy&I5[.l`CȀ)5pY@q/,ّN}[Q'^hL'=2M fs[x% Y2{)!gPvG!y_Ez_c6Qc;1 ` FFuxȮ%6ӼNY*~*/qZvږƧ, #)3Sx??eHOƃcUD0zɖ8ߨ}"PL&K5rm`Ի-GZj`yAVGI *1AUn>Op =^U+vHЌ-6LϲishF9tד/"g&f?YKqn3'.Y**-[C%?u3DG".q?6M6[+c"o}}ɃI >D~G8>v+T/jrqPX.q HLpJ D}K ӎWc+S>U>b|. U1lͼHSn K?W̋΀K}dty47yi Wh2E [V_c֔OU*cjQn~ 2[(OE"n ۅlqEh%jhY@#*R ) O'KP-iF*:S!9a:Q6fAr-+`G!7r ft?pP}Ԥ?^_ɜKHnqD3y#pbDbrez c<(kQ}R|~ 8!iDX#i/;4eyj*Cg?f0FYŖ˄IЌ,^Q @ kڙ9*H!:{Y(w( 7b}ه 1rQk>g.x=?ia0ּ|ڍP҈2;tEsV Oz1uDu+ë6T>Bd lM^.Wp^O`f,)% 2Q;$:61BiɁocPI,y0b8}qx P@3Y\:vI^5wAou6.ĮەRx驲 Nm'u\쳲\G_ACRv:N{U>)3t_d URf+]=W5かV4g,~Xl3*TW I>R+IZWGoU XkfW)(|g{-%|s/lme>k@t‰nDѕ!XP.K6Y(ӵŠf 'x ZPbw{| ߹&4o 6ܜӤ]A ܽLZ /#Ybb6򼞹R$lPoYb#3-!=fl5d!Ne[@A f EجOFVk뇏h,wx\;E!%;`QT.8<+."0sIX#h7zḤYantig6e݀3cM/6BôxQa9+|+| d2}Qٓ[~X_ "musRTcՕbgTi\l|O S)T3K֤XVGJ|gL|~Kb0XbbȎl_M{۲~P"0 [hׁ{7J (*jAsw?$*/O-"1/bbR1SǏ k=7՛eQ2d@ƅ;ŏ^]uO *$(ծ*8ހ8GYEȲDheT%daPc܄#ȅj{ XCDhuWR\ݍ5ƇI1^Uj!+ 4)3Po|֥ĸتҰkēW3HEn <SnʬrsXO!/8 zlcL#)A=mOS:8AB%}]0/퍊eM9<zkC4{> qBXنy>^#e"f{C|k"R(QL4#{ze>mĸ<-/E!DŽ1>;>5v!QBqL ɲDӦ w-ZO_Ԯ}##=Tp o`=HsQTش[fnC'ޥ&eNȥ* .y'Z*!|ѥRzW.QV;2 Ws ΉHt; _Ǿʠn.̳TU-f{ayEdU|} 7NOк/F!R{мͻٹ'-\<Js ͣ$88Vd}n|<]>K8Uj JYh{͞$AC*a##aߓf/3ڮ U^:e8t \^/Wy6!4ltw5!V6nҤFUgx1\(*7CD HqBk JY9m/AS9|O1GPE#d;6@zrw8uzAC~ie0=PYtm&#>B`}bgC_4lok-SX,D T}n8&myB)y՗j&(S'>drf⫈ԫqP "G MQJ$!A_Wï:Cwdg&`@(;efŋ៦y)xH풙'U_n#|~zQ34yn 5eiỷʌ8_ eE)E؂tC7X.hH.S&'nkѸb=O4xM!#p4?M<_فP%J[3uA( iY>Jm5O/#<1|xK$;ë@).<`90r|ȮdU֗0e0ZVMZ,Q|2M#*QX߹@ X76EeF\d`! Y{s΍o]n$Fט 9բ=+}Vݻx'$|â_Pn=)@|\ .+{b1f(`uG1|\u}8`΋/7d!:W6dꏣz SP)C!. Vs1q1b׋;.)V&:3)ULo蜨OoG-*( 85]e2= 60bD޷AE4CΗ>o Z,sB0btf}$Cd'86_〠}8}(}t7lBH&HvY_pQ1"[dJm] #OwgB*ŴL|DKΠb_"ڸ 6.vЀF-S [^u,8Us|/h:2d"ʃʰǧA|e|S-ZK"`c8Ia e~PY[K_`.[8*g!zroZVD'OJ1-ym@G6g[r"y?g gyEsШ@^%ƴw@Pva(D}/+f̰3L6(KU9p :v.rϖ%x=?{1pGl7gdru{2nP\6"BвcfAA99i*WM.zn|Ѯ╿qa}չo|tD(GJw 5"4֢~%Nճ>_ D QK`cAktzN^;D/%;* ~H5n~ǻYFKe0DA$Ø4O% וntK9۞'/L{*?\[o@ Y&Y|fXbB4ZJ`<}ݶzH Q4_bBL-/x:L#fSrM0 tr  ^ɏ9`#¡m4z7LM]kǚLa74Ĭϥ0=GєUZPGXCX#u06=_1 j3OF^"Ͱ ?*YFΆFY,*ڹ0z1MGk43{ي(uȒ2ӴwLn^u^YK>z&0[?JesJ6!a ؟$b2q Z;pԻ j*fmHHa'u,`,G~wsXiNC+*)(J8~RzgF"Q`V "&lFv&f~'kF/4OĨE";7*4Qd'mo2#z HTJw8! -MsՄfw8/z;ÐEg2SR}r'O|/3 %;Q+7rio4~g)Ish")KZ,J{ LE@5:j9mp'Z[Cd|,dY(1V8}Kgzg4 VvZ\A~1>z5F^fݙۅiZ(]R@ Ė&:IzdtfyFطdfEMr|á"MRO-2OJJt4/zSq*S[*_ڏA:gu8HgV#!ppg2^iB$·$43R;"rjQs<bHӍYņ["US{;X=}rDN#s/é0jlxK@XYO4/( i}S h  j`,{-(CaqE7X4";kBR|m:,hc !V]ECkKn %Z!j ipBd%)a#Zre?y{O;}k&F+#,z3+֩"28Cnp-Ѱ'9m\aVζاv|jY"olM?5,P`af'=akN.J9Eϼ XiKM{ƗݨWɪg)5(ߠg`{upU;Ϩ:41'#qEb[LF0J`}=.|D驻Q J5kչfYzKf%ygVf9@ٌ<ܱL_թJ?!aC_bXkC MP8Ɲ>;K sCڗt,G^$&,JGc݌O+e= c4N E}!xsVUe]+io蠟 kKQa tkޱaq}9x7ҏ[aaURlcmU=0=OŽxO#bn_D '@ۥ`kXQU j  k:y8j 8\đYQxwt>Mq lL)Ĕ{7s\i N22m&p>HC:ȷvFiDfEvfs2.OA6Q-(|C8$4T>}%ʒ \hía붣?#RF:gB̭Jy21j=j%E>(i>0YzȴpҪč#JuVuԷ̹-0]:+ Cy.62makא~$;PofzW3YWȗB_PՌBdUNPV (²},3kzud#_E`cJ!  ;i%EbQJ9Y4' sK8j5OG.K/93۽Z"ayʳ)"ZD!3;&дj.7\\|_2]rőR𦦿Õ`~(`V=I:/C9D$x6>}U'2?˓%H1 Бcv = L~ue]xxЕm1[aHP=O7ՙ5"}ݖ "ª)X$N4"Pc!EXKS#)P<'iʮ&;!k|Hu>|R{9"QxaO=z0U&AT\B2`17O31<^ 9/OoJjE$"tc~7,\ &Pn:>.K|-2ļs™"65Re}sr(ǃu]giH֯<,ɵ3!Ԃ<+TJXo*@YS37gKeY҈~p^?Khg ix4hr=5+#.h D>wDp*R²7$ ,̯Yj:A+IiuhxG[*,R3Ҍ< X%UdUm|7 %RMC!IDM=s] L#Y+-jzLt8W\PY"y>_5z줚pl׺W9H}˩!-?<Z<>/W _ Atu2dOߚ7cj>U`@ VàE*|YŀL] ;Iv3ެ m Sl!b17i455̪a8|X3rZ.2}{׾ɳu(x|6"TY.F\Y&OмC;j]ש󫝮Jn䵜B4WO" mJz*'rz" Ցy“!<ʤO$<0р-e-}:P* \\54q2T!:waK,#lsaZ$>PϯvTʫtݽ<2`6G_7]ݺ6Ímt&0!,SUHZY :hNN,fTR7G_fU;&B>|Oča .{P?Y(%qQޢ K\|z+XnuXGiɹЊwMm>Npzv:55f$?0Me Xw1 6,1#;%ugZr]}&_b$]AF2>9[[>ɲ H/O P?l rs@dA'hϪc`DŜ[ץҫI3tC1k3 ͘`o.9r'$ъTa|o!df|hz|CBP݃I1$Ef^ns^ q~8OLA9v߆2>Ao,ǔ%"$1zES! `6i(o96we As_D3~6nD-H P Y3OY߹.oV5a+dͬV聄tR@*6 -yK6Ĕ0TfSQ1FOuNgBVW%~t }ݽybH7aEİtαչGW x)!IKG-\o&¡tO'Ҏ˦3/k-NNhyÃĈxiʭUoY|7!{R-/3"ѥV:ae͹X%>&0\`Cvje:Tc¼OW;U=8h(<}vn/h49&J,^뤼^ !ÆlB͚3I;[Ke E4?B]ꋾCUTVXH˱4_(}i,$gD tY< H_($PJ]$9DZnH8'nVġ+^1 jMzMוrWFp wy^ܩkUXS..PmY08<%ҮX}Ԍ^KL߉0Cs%[ 4Qm HTUnv$^j#P,/7oҜOܧ9 [ _wc?&-#H'- Rߢe7ΡH[ ֣8D#Eyȉ[au85 ISdyx 73JZ}OnpOei5Ηz j+1fEƘYB{Ւ멼:m<d^@ʻǜm4wQc&O,m^ָxS I DH|gQJ[{D{$l={~ެdR`|HH(LqBD.w2%nv%yC xB O}U>)į`ܙ\ ^z8\54ɨ$5'YN,>v };X7xN)ɾ964!h뻿Gݙ0vO6'`i >bjBU{$=1)N!<<|1߁Ƿ[-Gm4eX]*:* Ҵٍ_LJgA+w71Xo^\=:cӤ Q8ܡ3\ۍWM]UZі)`؞(IB+g&wK|B\#N/15ACG]8ˠ-yd-Aך-8L>,0Lҍn7?(f6 [4g,Nj֓9 p$1QAarf7z_KcJ l\@ED%  sŞJ Vc&YYGjLt:JS,p ۟@P;@vS4CލDp 6u51 DahdPQ%FgW_ ':M#lztmOhAQ挍bq7 p侁~h4~tЀqIo"[i᤽NI:eJj `s=.+H<=-::8s$'O^6֣a_}cT8iMޗK )orvƜZN wvmr $apj@0HLrqC$ߡ P"{kn5KW>8=xL:%F`>ugT9ѣ3[LO0IVeQ&Nޮ$((̄ϟIb^H)DdoB՚16:5ϵY55wA<~M^f)[bC A-lz=&BwLWP`GW lotɮr tr80-r)lFh1z/>k!!ʫ"D&|5yÛF[yE׸'cGN؅q-wP"oB| SyW RDT6.u"YKcyuʇC80t̕RkB/d$Uu:CY@GpVc i4`ҔX9-`?2_UUs7ΓӼtr:xS_tv|1蜠wM) 5 -'rw'=J5Trp|Ӫa8 ԶN5`ۣ|Jk@>I υ+:~5%#~q4e)*NE6VB Jskxݚ9Fa}:a}԰ 9Mop=1gaWF!oHc+<# |;<.XCKs:ӑ$v6GsR_M 7 =?FqbS?7i`W4&|o'L`~R2t tׁgp'Pz%o ϨBu8$GfegZkI?h@&@htn#=/u[WրbNj)r7*Z׎~u'wu3tRX=]~ kĦ4MB=Ā% <-dVl/f΢'.~@c?41jVsKb**x;׽*ߏ7$ؐ\A!]ݛ\l$7zJsc<6xi8,~{k+0h9k!,i)%GǞY۪xAZW܈R4Ph3 !UD^5@y- (Qͥ 0V-AaǸ.]*SAK"W0 Y._5{yoenk`_D\[xn󬹃KR@Lv-BP_8L ~%*mǁXS>Wh\h@$6$t>Gł5Ik:"C3H"#6W'QL~:9}DAlͱox/ 楋).fvOj~e .Y$|4YnPel;H-眇&T寢^MXvBcy(ܐgHX;c?!m(lxK|ٳToE~@K0vD`8uQs2w_QRV.5S%dZ yH.r^QbDE \U+DMLp GD%+%:]gJeUQ{cnvS\ XRI\GG뺾7VnÄ>% {o03,j{硱d{ߟ8F$߻n)wՑ>ay3ƑwFA,ꇁ^ݗ:ݢDqbKbly&&SHZەwJ h DfWX:3]99!f&F߃X?/Uw4n" QL*66ڕM6}Eve?U9Ӽ<Q {EVx_퀎s-yvjl :ҚU $Y٤>AXtȨ,E_4!"Q;X!{~jB'%Lc^~>{/I\ ^2%09UOxXٵ(lβ $"XlZȻPfCN{gip>3/CbL08es߰,eVb!\Uc39 6͝-!2bjۈh+"95_MmjT]W _4:ǀ^?b}|>X֣ޅڒjJ+j!ŗ;Fnw&kmtn4BڕJ)v\RV*G*y%7a-B|ҎAk9渤4Kq6ʘ aJ(Kyaɕ=Yn0#ES_Gh@݈^wu8`ssQ,M.d6I3#.C3 PP;oc3,/iZ0lWa?8o{?@sl tcklq11ː*ˋ"'(yP)NT_k=jNaׂ=R1+b1rlij([^ dz!Q,5X4{1 z뎥2Pat"#('7X!^ݐ6!<=M֨I4X7ۮ"&?f{‹և&W#!}R|ruĹ "+s4B`b&;)C%;Ƿ>U,8,(=/9r/o g"t`kHsMJ/HE^9O}B[TV]+O*nMQLJ9|ZwJ15 d$>S! F:_3I3wςU,5e*J8T:bߎPڪ 4:^PNoh;|1R(KuC@ߪSr*21H~1/(%b['j#o|HyXǬC2 5XaJ'{~7ˢ-o蔸ȗ1qUUaD+WOTii%LqX:;*bvYiz&hb_V T7 |0u8J!eJl*'} U/B@ncnU5e6u+vŦc]'UzFH)PnhFQ_ :|)n||Ϳ/k{evy? 4Oo[%KRig^AGCE?a,A1gZ!$'(e5.Q@C4vk[C3@t o$ tŁ8i9' UAu8cǏщBC3hb:% bxaEJ1!%pQBI 7_Ȧ< v\P3,74F#nfYJv؈]CeѹْHh'թ\^A&˝.HtpB$YrGlA̅6ǢR!xþỠYAܑac֚mq7P}ԙz嬣 ~9[ݍ~@VT",ڛ]?=II1 y=*> ΰT*4DZ-sO1/# ۶R܉Wۆx>)e\H&#2gs܏qkl 90JY_W)DP\kPy؈ެU1!znW8-?A8vT 0!mK#TCԜaԐ߷QwG\[O-w&bǔiM/,/z`UH'z(a)uv)p",3ebapϦۆU,0bE!]„,DK]cd4L|Fw1$ȃgqb!>q}ɳB0c%7`Ɔ_N'MVP -21aW5h)j p蕛8|pX][xDUK°,`sL4DR l5ٹd8 Sv:dퟭ?FsOBE6-ݸ6B&i,lNC?* '1Y\=ŵ&1  (#M^2׷S BJVhh(Garn@ׄ}+͈μX^~Xbx ;EQܼ8|Tv2A@U-u{kwle>%i>cdiǖEkp( ~*6FARO&v2($m t4H~A>"U}Z癱f#hd'&;iҘ^9 Tg+w`%-Mo6ԇ* kWm.l3 2W OcEpFipijQ1i^84h2`*YlߗrO ԑ2:# @ACT*g] ږifPX?GV0LVzDppo|)7A~rB͇g[~ u,^B)7ͨԅc!U@zT.!PR%eZ -!텧?nyݓQ3:UPbJ1f'\tIBM; c?J03K -_. fx̵\L[R|x|H_AjhJ]BuoHR7Zp:&hm`+U0lv۲}`ёdҚlঋ}d WZYZ9̞d tVoN):l`pahN}_oD٦%sTF28վ{>XV_VIXw &L@&{}%Ӓn!$ Uu %g $Hc\kI>-ꄌ4g<8F;^̾(?yϤ?h ΧPY${jr>/ `]F$#t81\g_D$;2cdb{HykzEToEۺZAvzɺY}ԺنEL鯲,F aIݐC Z*R>xW96jC${=m屡eqAxL{ƊtMG/6 O j'W4+l=Гiy$JsDGe}8w+V/Iw8mn{*!4OsK_*L7IyӋ[6ָH 15`\fLs1eH u֟:%H7MK`cdO~p!9?)<@w}'WW~-<fGuST2 %+ѰB`>7d^=RHЮOtm7}/Vi$J(fESO,.$QȷLfFj!>6B"- /g=861!F.ޔZ ):6h*p-ѲFuQ@0g^##9ak:2Txot^Sr56c60rY* k-?ӘX߽ƊAR+p 1 sjR W BZXoַGpY+bc0 |n([ _Tƨ̸,3ӄIehU]|̈́K_/Kn927b1u=*\?yњl ^6ߧxK}g09=[sN+\&oGpMH  9W{F&'* yPcF6AIO$pqA s = a?j<螙PX/fYxcMY0M*LwUM-vk-i'|RCB'[d^hj U^ޙ—/$Ci -ӗy*V s|cƐZ{5R\$# Ų{|jP`c%I)o/Z~"Y'<R}9nd6v] b?UӿqnA rf%cD}d! {F`ú@.GS cs UQ:0%TiE o7Ymn[e:Tݨ_0<1/Лȧ[)\8 x"UɓBJd$rzx¿%;[@tttԟj-MJE廤% RM\j&3.:lKLI96ȁơbGJA S,a|#;B{YW\(}iI|Z0JتieRcPbtΣmޒ~Gsؔ!cqmR}A }Qlx?C,L1]B/^WMRhhP -gU,&i_@l3?='(ڝ=X*chjmImw[wEw:CQ1Ѽ']ڕ Dog_Si;8Yi62/Lc%GR 3m68fGI]X ~^V%`E֙F3(ں{B$nokbj"cbU(bҀ.e⴩d'y2٠-:\}-앆^dK50AҊ>eIu-TLiԟ7ض/-GpgNջG f/jQw" U¡^"ެ+P~EX"'=F/C pjb ELV<[\ˈN{;?,O(fܗ<7?)`$8$TWm;I$h?{++ͺ$;|rgEfBsGp' ՚m?cպSWB Qh_EݙD gd{:zf0 HJ%f.7|&@\o7H#3B UCvop\z~( t> Ό0KݮKDZk8ڞ+r[gAE. 1F[]bl `Ct$xpf\r TF`kzED%[%9JkvHU91fR!]hO5Iz0 1D ),{_e-{4"^!$׿PζZj'W0"ųLv%tѧີ]K6}hKRO*b'&вH޺6#$;\%7?'&)2:UtL4Ş_2bb@:^ =E`;]Ϡ/BԔ^d@ Tu}ѐ[:=\m腕,} C2S'2>2%b;6u%awTspDNyIu%f24 >uZȈ.F4.lD,*lNmhu޺܌pv$llFW\EˢqBg'~cr3BF+ ѧ{ݐpL 0CQoɺ~=2Ul@8Ԕd3€*8'+nDW8nb8W&MDEaˊv켟_v={! 8$d4ә2} rrEs/H)5ݷVn^X2)<+txdOP&r Iae(Pץ_k&ju76PsiV'tՂ"rzU#څVr"D1ݪbY#1>vҼR4DkM [oǬ}  A:<  BsOdoA xVQ`PlV}@$0LtC 섭u>J{Рˡ(VCһ-V JwƉt׸; sjP_RٵLd_S{ǽ'Po،R ZBF.)72>M9>Ca_81Ѯ! 5 \#<Z덖#4ޒ>[۞)nK/0BJCWRrc;w-KP@4Vb'ѫX%hW\V[ TC&c#inbi+ї a]۫1I簂{xGrBR]R|1[.VZRX=kkPK/u#wd@>S"ɕ)>bKLe2gD_hM817zܟ7kpx}x?y&^/x)sß`i@^?I'/gV@7cSr}Փ1v)SM 9w&Eߚivj_M*b`x_@gBX^釰ɱNDɰ;ΐ7R""Lo;8KH8D=ey< 40}z x@h9" ;ݡyE_?F if9wآ{m @ b|KbA&DA!k NmDo@?+Va [tʩXS0CNyOa<$3.ko|jq)yGzk]_^$:6Dv 篠Re(7%CZb޿ٮ_fK ;oO 2q X9ĴvEc aqQmc0) wCɔ R5̗ȎP'3䤳I6F$WU0`X8!v52$ zE 1F sC%ʋE/ Zs/a\snWi;:ݭTAn|ӂB)F.]jyom@C~لw^E>ʪFS:sRQ,=`B j.wa}e.DnND%t8hjF1G&01𗆏f6JM|f#en]VA=Z9P6ކLFZ&! d*2Q'MsR ?'h(dB̦eoТ+Wq41-!Ƚt$M,ZSahapJ⧆thmDtއKs͡V:#V r2 [(I;cM,y$*@ۤ^\z)nHGQ!2{c6(hnRO!gOsJ<)x<&esNz/M4{f!h3=uOr5-,i> % L7j.gv3zMn错=]z[g[V O5B2[mk`cSj0\>J(mYt" M9WKZr~] :<"'B~T ]*^bo+5I6|aT;9 *frDjHUTK&1-$A r< l'[Myw|-"Z!j^~$(=>Z[v*OԧWb[p^ %=T{(9b9mɼ.<%"P?&6.ȗEr8IJ3H6p@ZO[EX.iZ睚ӜλyeDޡCU{>LOpPݱ|ٜ0@Z1hhUOb8D־TD*GB˽3eT^bXaƤOSJ>K@t_DXQGW?rx|_ 蒾lϣne֕Bi F~vbE,V>iz,_ eN zy/V#ӎNLcPiyz=ܣ7Z'P(>iqWo>!^ol-{%7wA]25ԯ5JWϳ+[40\f$)ң֐,7 揱7:PBbrӃh1}Rvw1! ﵷ[ym4lV$lXp3ayn*x$xRh4s ol fɤ_hvL>)ͺDqAa0A; >// zP(i99Tyŏ/,'?*,7)g`OH *r@~jXB?ۃ샡R<6YJ0q]Џ#h@1HT>0ᙧn1/TU Fz<0-5AV7|2їOJ9Hdc(QQ%)B%MV/.'rd])dCɨjmᖧxy|(OH.1;` w~7%bk{߂ٱ]zX7(cÏK:Q9!cɑcEh;{I :d7&$ ַM7MzjSy쪛?))m@ؙW- URoA[w#sGx$crȿ&Sl p]Xx"qկ=c+OѺG]ϩ7v3GfkDAM/nqC`CЉK(*:GGvҾDx&|A$m]3_MyƍڐViTFDIp]jT%2qhvp!݉4GSiѲY}o9?hS6-Q!{Ho4yy0~\梂yl0 hp?L.FA;@D߹-}caaߢ Tȋ+"x5\^t4Ս q&~ ^91YYW$8A4['@C"y@m4|$4VzTv"94^#N>EVXdbT䰛o]#_k"kSuI`Ș_R 7\ _Y ,0[9/L@Q`yB;z .@)_T!+`d@z=iH´R#L-N L9vQt8&XOĂ@M\=OgTt$_UB։t ֆ'jZç.n9s=(.xЋ]gÈ'XX$j7)jDK!eı@s;Z7i. vs޶`,<" \zpC(c4=LSsekqmF-bv}OwMH_We-|AAqj;+Ua/pnkɇcH2&Iem/O|6@"Pm,.u ZyRrSArU=˭Wq" {Ԇڟ-Y,ﭯ.au4ԴѮ gM_Y1s-Rc @sHcBq޾ncj">]%ԙ@3eS 9ho 3P_꓏/@ AQ~9N B5%=Ͻ p(rh9O-طe,4IHBw']kM1w&Ohwa>${Y\=6-*fOӞ M jju pb/\XQfm$N.3S