From 75dd42a703832ff84816ded1c308982b7a88221b Mon Sep 17 00:00:00 2001 From: Vladislav Khorev Date: Wed, 19 Nov 2014 12:08:10 +0000 Subject: [PATCH] Settings + adding mutexes whenever possible. --- android/AndroidManifest.xml | 28 +- android/res/drawable/drawer_bashgid_logo.png | Bin 40901 -> 7874 bytes android/res/drawable/logo.png | Bin 57328 -> 49689 bytes android/res/layout/fragment_welcome.xml | 1 - android/res/layout/main_page_list_element.xml | 1 - android/res/layout/main_page_list_header.xml | 2 +- android/res/layout/news_page_list_element.xml | 4 +- android/res/menu/global.xml | 2 +- android/res/values-ru/strings.xml | 3 + android/res/values-zh-rCN/strings.xml | 3 + android/res/values/strings.xml | 5 +- .../fishrungames/bashgid/MainActivity.java | 355 ++++++++++-------- .../bashgid/MainPageFragment.java | 8 +- .../bashgid/NavigationDrawerFragment.java | 10 +- .../bashgid/NewsListFragment.java | 8 +- .../bashgid/SettingsFragment.java | 22 ++ .../bashgid/core/ImageManager.java | 130 +++++-- .../bashgid/core/NewsManager.java | 207 +++++++--- .../bashgid/core/XmlProcessor.java | 6 + .../bashgid/core/db/NewsDataSource.java | 154 +++++++- 20 files changed, 678 insertions(+), 271 deletions(-) create mode 100644 android/src/fishrungames/bashgid/SettingsFragment.java diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 3aea5ad..d53da66 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -23,9 +23,31 @@ android:screenOrientation="portrait" > - - - + + + + + + + + diff --git a/android/res/drawable/drawer_bashgid_logo.png b/android/res/drawable/drawer_bashgid_logo.png index b55ee7e0ec6a75b970d95f05ea4e7596efdca7ea..a6dbf1cf4e35ac847ad654cce9c5b2d6fa6ee48c 100644 GIT binary patch literal 7874 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 DiP)wy literal 40901 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 Vny=A`h=KqB002ovPDHLkV1h{^m4^TT diff --git a/android/res/drawable/logo.png b/android/res/drawable/logo.png index b227fa0e40a8a6ebc465f09e46e2bd87bc2b390c..c2bee03afe631f761eb091f2b3b359e294c115c8 100644 GIT binary patch literal 49689 zcmeEti93|<7xyC}2}#JlW#7Kpvy5$Ii!mWfN!c=%ro_lHC}hjNWgSF_$e#U6cF9_H zl6_~4br|m>zVG`tyw~;Xx?DY;=f2PKIp;p-zR$S@>+5MyUS_%s005&z+IB2uB+L;P0_|{8;?C%L`|l zYmXndcMAzzc6PfL6!h-iW2K&dTmStIkOp_Okc1NvK{!y4ydMb?lkTI!UeiD=evu@$ zC^P-m7UdTt>i6*-=I1GwO?>^j4`}}(DkcDgNcetXCnJ4xH6Z=!0AOF%Yn?6*v=IC6+`h_E z|IYI1Rm)3}56uioZN$YHY3I4WzvpiJ_jg0=>(_JCs^7B`UO#zFMNE8R=>I;6li1G} zLj0}%Ht=sN?06w5FBgQE{JEy-O8}stIsGB>v9^c;U*2$0H*qmQ+Pb(sakc@TKS4Zm z5q)Ok!XYX8kEq1E`2>9c_*YU3s$%%+(dq=**PBLF^~cD^H!^)M-MPXqNIGZ*J#jXC zxA2}WmP6&un;_pezCm2+WVBo_+8H};zq5|~XSU;YM{vjO4e}kujd@m)kaABqH&+uQ z^wiK!O?Xb?ywx4Ok7-C_V5gKI>S3qD0DFTlp}KovyH|<$||oC{eyoFLx=x#v10w-MG9C_ z$YiLq)mmo^HzkH8gpH*-R}KG37J0}jEd8UxZilFtBtHxtbCre$P8mRNq|ZnLK24za z-Yv+)R(9%HYRnFEwQbBQROzNgca#{ahVt4`%SU(7?>ORzRi_S|OIWz3=*QBKF=1W? zv@|rXUjIpTeYHjmoxO&}Dp`hVH6#elLW;Q^=C$oqi08yD?sO76#~opY37ZX;8lRn} zYp#G?^C(0_EskQIBD5Gm;0AN{S*4k0$T*1Ow!LdU> zeMx|eE97Hu=4C-{F0RZAS=3Xg!G0=BzLkn1(Gj}Nw0QMvhaA+gjn~}uRv%h6#Ba2F z27LGciZu5huIjOnyG48((HkM=BUvQd9W^#+A3+d*soMXz zNM}>G7sdCqKXJ}b5J+(#&&8z5FEdtYt~z*NVutn&!a*I3|3h3vlih1dw5Ef-x$vrt zx+;4Tk>sRg)dK>5O_zMYwmOKg?thX<$)ew*lZP)1bpO3p;+Yl*qdSzsM7+>6$Iq> zIWU3)WW8Z?16ZA6S}#~aFPSkgcgtYaf3B_Fr;8WDbCm`jNM~lKVsq-aYKPAe7BORL zKO%Gdh1!X}2rVe`Ewocxdt$^v+-CoiRsj8cRR|OL!T-a1V9+vtoVTr$FB=0BfkF*4 z&kdN%JrLLwX8rV_{Kz0)bMf0vV9-8soR6>bX+Y5|4NYA7Iikx!xD2Gk!J8B=>W<6g zXp@V+cUGb`=1yjXN)lnZAi?zi2*xg{rLuP5+)pB9^j8&xGpPN5UVDdG#)DEXQ`u`F zLAk)WcyNLKz>1wYE9aEqAv4)%a%K2%ls@X>NA$$d5AvTwIntopHM$S-n_7yCEnfv2RInKH`z6XXh^n z&ovr&==nm)v>OP_hhU!+7o`kqy;@V?&!DyjdIf%U##kD+;{6L240u6jsygQ#B8c|& z2wUY$=)6LXUc3O*T8BRrP`Voa28<<^=RP#Ji&I%r!!o<8$|jKm%T^jHiXsg$5!&n+ z+u)#FqW?7R8X(K?#;V`e;niCFMhkFY5d9VeV`-cK=r_y4=Q@~0LpF!C{@sgqXes=D z{m}O!U>D9~X?!?tywAi&184n@*g!v7^4jbrcm4ZXi+)#u^zv1Q?-A{NSW!#~$TQ(T zdt@vTf2VSOqac<+Ef4s9y%HB=qk-uR4&v88_tUu_klcN;_~~nh%ESQw+dk({Ud=hL zxVW(YQ7Bv`4)*znkvoH06!5iV7W0Wq^%t6^fwwW7`=e0~H7olbHOIpjRDfL9_1gvz z9${q~xCZ_Cce;VV(7j-^>$4PpNDu(Xg&u$NV_iDr^vUDkS`IpAvq-n(*E}|7QXJFu z7V;bb9^VNzS9p{En+Cr0pV`)NucyPX5{#g|=mEeGTX3X0xhe*_bGG0acDa57WPZjS z-p-hUsNO*EbY)+BpDl{LgPstr1~uG2=OibL225b}H;p^*k)t02KswF+_HwMz(u$Zm z7!l9SkgL|8jF#uz$5-?_G&GWD|LNaBk$e0peuqihVw_h@#TMdda{{JK88} z_@b<~(V`?MC{yfQAnPScFN=eZM~@e0l+2N#yQWc$wDwV$n4&kyTJXI!f=2eN-1zIuI^Izro*gBqHu;xH)tjAfw@YooX-*uSEtdrETIF* zQ`8~m1otZc$(zK0Z|hRD(CiH1-d(8Sf6-k;6X`O94p@IeUdIVa(*2ZSao9k5Gr^84 z^V5H#Sb7-L#2ww+zsw2%Tkm=K+8vI0l7n)G&iy4Ra#K8Ar9R4F#yT-J8UB-5 z7XV+Z3D?th6yd&akX+eWq{ua z(xQ8lbpXJ(ps^$nw^Ml?YS?tHXl$KU?6Gy0|Kwe;IDxZGVG%w)5+S9DI}hW_i>taB zEH|xqaPwfjBmI8NTuw=G!yHHEwd-e*f;DmS;;3cJu})T+fZ0rr!67gKj`v#-gSj~#8d_kTgKEaQPeSlB^?t1+6`3e`%m%Xs&sbg3hY%vKwKK zZ}%Y32L+9ut4AkVw{@7Qz?~uU6coWm!mxfF84#3vzC(dO=}-O~(Q!zd zzYjkB;?+3iOamuA^U=(TEE$!J=;UMF(~4P=mG9~zvN4EX<4nQ9e%!~W%*8S0&gya? z#J|1>O_<+A;wr77hX0L-#_>L#&}w4PTbd62YFvQlH0o8e{v9<&!HDOCp*$UHA(|N-yqv-diY`K7{LX63;fRi zmK^Kk6RH8tJ6mA<#vTSGspG3iu8Ts60+#M^jVztj|$UCPD zo>6y^9e?J8x1C$J?xPGtatN!LQ=m!Ur0*#YiGp|u8w#I%&B0seJX&yXo9eZ}Z8Q?J z0MMIg+xdtPAC=2}ZobDJv`>t)YX+ta!LI-(^(Et~58?c00sm3_q$Dn8#wO8!(&Y3j zLTGLej1Sp21#QmEi`&56dBVUbkRd}0epcq0nad~qiq3U8V;vO+g9Fl|?ss8qXnl0F4bQ=o=)`HU&C`!p<~ylD zvpDgD)c=jUnb98^Hf1_KU-O7MbxO?t7eM$Xm5exTjkxB-G zJvcwT{eFj5Nk#(+uf4;W*+}k+)uLPml*#L4Poc9BH-XF|1A<5IpCSLcKXmQTx$L>i zsZr&ES$AAA9e*Rkg3TVCeOKwHSe0)nT%_@!Aq6BY5`;HTm=8Aq-+52H$qi&wu$kG} zxY;H3pM`hb{DotBDa3%^bMc)w+#jyT=FbY>HudJjcU8^_VNDOd)WRlt$J*mds$k!Y zvXxE*8>W6)Dz$k}`UD>ziG?1cm0~fWis2G-+Qn^q?`t_id2o0Dc=RlrMeN~p_P`}Kmd=}48{T1w8!fuz=8**Ps8vG=|PCD)HU_)QE{MVW(^<#G(XQa zX>f{x(9~mxEqKX2Rk0wTS1*5-^R^yD80~e)wR~#~HcM=oAlzW_DvbClcg^!AqzxKV zA7p>NO4XN0*2A2O{2yH;N;l{2xQ*3ykAs;)U2~4@Xb(Q6aH3pP>>7xDQSNsq=MCup zD>#&M)O{HVth!B5B?H!W%Z57|lokiB!w34kcOeIH3Y@5bZ@mz5;B%S&E)EfrdtQ}E zdjIJAs)Z*WAIc1rg`%CF`3~QHH92c=9o{uS*z+i+jh+(qqNG-?8EK*UiWM|ES1+cY z;(e;HS5`whk#hd$2X=DG71+FB{-iRCXPllC6#Bp@qV{?8i%*}nS90d`&L0`F>#=0hAqqf}Q{qEjc^!7l+aNivwQc#1fD#kc9%{fYOTtjKEXS0+L;&SlW@M9QMp`-5x*V;M7XTbpJFlpqIagLgV^C!`XyS z5_JGtV;)a&4UkM??S2t{lmL^5#%lFM>~$?Qt=#gpHRZzZm#MLy$E>g=^{3p$)Ne8v zc)%^JKZ{@y77-Zaq1BV1JIld%Gh=}cm~{(3JBlZv2WtwsT+e@V=n@`E3{8 zD=CBOJQW1uE?}KZ7sdF2$Tr}h044?n*S6QV*0b#eK47-k@N2bs;916t)e>VmZWe7| z@qiQg+JBCFFlz;=y9&2nIyg`%jtL*zmcl8J`r4cGGvjfpJZD8p{%UPGu93s=#<+`>&;)=?UP>P)zyzR%CAcH+qUS&O zfE^G0M+*j*&&z1b!?+8ZPZ&4EE&=+XfwMD^)T{80f$a%B*=NQXSGvgn{SL_kA4sZx z<6p1K48KczLMUmnxCEq|sm;;zC2vlmVl<`^;5;H&)EOBn6kf6wK}?(kMC?n-?7 z=n9a|7h|Jj+LJ>IR)i&~hpRZ;5?)+O5(D4wx=!e#Typrj9=+1)(j6Mo|B++Zi58X0VIyDlYf>Qv;?Eof_!NoLrv-yP4%X z(U1s08TqTdC_4hiZRmT(pbT+g%A_!|_a->npykIvQ?e4*C;4v9sc7yJQPbl#HrAnWuE{TEtYwf9FtCz&Sz!KfRO_ac+vA2u+Hb01kg-=b50Of z{hMc&%@}|ly-1v=l>q#Qji15d!qCecT=ou05r-Yf0NOC(ToEzU4xGN zn?uEw$v>cAv*8dPv>)(-7Cp}F@uFQ?QLU=;;!tmzN8FyDuA~g?=_lE zf3^h((4<}Q>0-gy5pg&atj-#c(!etYymmQ@KS-->vjW1=MTfB}B4>dw6GppC)IUcn z3|O1lebkDjeG4L#wz_;uRA4}1Pf2`W zK@n)L)|73075aB`4r<)oLH>=%(7C~J<#bryfY+YcG@8aY?fILn|43z%Z#y-Cqx=iv zt!xxe3+-}T-Ja;#oKsKZ_WdEPhuReIOFBEns>ktm!Y&0y5?@Lb#OyA;2?Fcv3i~w0 z)Cn2x*OZ?oi($5x-Xxt>VAW%I+c!F#G5-*8tUa6l@`8&i``|f6RpWvNpjk@s59{v% zlJnDZ2$$}=wrpN)z~pJ%@X*rXzKaSJnl^u@{ux<1-w9u>kNxw%3uEw?B+YJ&j+f;{ z-!g_d1Bf};JmBb#*>$Z6h9EB}C$Z901;ZEy&)1w2;(}MX!XhmfkTqgt@@Qj#goegQ zb9?SS7KTv*Wzw2fH1azGsv;|RV@-UNPZiL_*EoWLfg_{lyLaZUV>F03oT9;aOwoCk z$IBITU!el3O(8@V{*}|Q5yJ?Aor!SC2yX-WgWAi$ig2X4*QfNeb9ZL^$Kds`lJ9&F zP_s8)|K?og;_8f=A8_m7$5;?OX00iin1mSVpH;r$UHupLBur;$*?@xWFOF*lpb%0V z-T4pNCm=l+lt+uupVFDm*89gCEhoj>B2pbh|H>`sC}BiF5ndy_%eNJde=a-#G;8!_ z18u|3R++&7v?6$Xk(L=Ku+mUuoBvDpR(GY+b-bCb9fY*EYV}h>GTsn$w*tx6PTUcA ze^Ov&I9Ryh_vz4bj_#Th*w;u3-vSjZ@2RpOQM`qfT@;WgkU8y~BE$$Z0>!|Q!$yy6 zqpWX12lmnFs6TqNzXEOE!X5)(ehgsc{-Q*QV4Kut+j3_FekF=wcJtl@@&Ay7qqXSq z%_P9eI9KvMCTozDP{qM@@Q{YvyMR87u>;D;b3$D1-I&NE-8KPtOb~=*)abF9g6U- zeEABpw5~4umF1`~Cbu_bd@+kLYo#=*Yk+ z@Q3}-lFEWDu(tcFm?TH!uVB}54!mifOp`0OXPlbiXFPA@H*wm_zzzBoFmwoa2}xs>{;QefK8t*yQLVirLWmjjz&@09nPq z!Oo$WP7%dlzUUG#0ze0sM*KNy5x`Y(!wN7;<$ggZtqT<;>~%3%%iPuskB&J#KB7-J zE8FX^kw-eDMw_|Am{OTxRD(ma_m4#95EhZ$Jug^2KYOH1J1Lg0Rtn~M%%`m3a`Wv zIcFT{Ilf-r#-f&18o1zP2&IX8tM2rpZA2~=3jur4(9|Sd09yvT1Vl>1D|VLN@Q0Ma zMrl+raca$?9$T>DmOi6vqYr^zzENxdwzUQ~bY@lVR4s{4C-Strm`JZ0yCaVr!WSwm` zYV4|+@j1uH2aJ3f$8^e1OMN&-f8F84u#dc~H%Ic0N!m;cIxNKgi}EbS*#qbMp}Fr5~<4HBhWY z0CLG9+S?JyP@C?w-{Rjen?Pj6o%*=}68N`%ZySp^eA#ejp!u9rfd8&a*`0)8y1mt` zIh1z+cmaV%N_fo}6`(mbq>ASNQyC00JwQSe$D>&6)EN9Nl?XQrfbu!#9CsAf?iy5? z$7|bR)L7y}&F40ryH_GrGsh7=hiSt~cK*BaKx((%!oN+laMKdLGT}`=S-_eV%qehl z1pBD+>L+_2h98V3j;Qk5(m9>}9+_LGALQ<;;u(QqCGE98AYVEu#VDu7j{DJSFc(0! zCx;?4slUE7ah2CNgjJAzv_ao-moRNMVo37;|`Uy=YbC7eL)8=QulJoFn7-GO&8wEaTP5 zk(rsrS12Mo()nUBm=f@_ehH>|kGpuVb-BLcocg8rq80wNh=MoRu{96KZ7ah#3PZf`9(+8(QDAyD?7aPL9hT(arT~P7Aw<+!@E0{@I>WC>FZDyEPHG zNQXEXzSF8@r*r{$@M`p1&K0f@DMfh0G;Fw+mJwJLs$|Cs_$}HXroK=IG(<*S8};$k zUcHHJ>sUc2aCw-H%1ny9N+O-Z~}3Nk1^#3CX^^8<%lyRLK{` zB%&1UUEg&Ne0#z)9fATpUIu|X%)w8%W-AZ_G4x@BUlY~F4VD@T2gnre@) z*D(mpa(cGmq=vr;WU(#|kkUvADfY=CWPR-)&JK{eDvwSk2Z>0J1n%|{fa@I>id*=? zy_VC<>R{Vz)PUmj>>p_NUD!YLDS+V&V!C;nHL{`<9kza{xQH)cmn6O2k>)48fvMNB zZ&@n7Q|;O)1MrxYJ}oFID$NA6OYU2=re{8k)v&)TY$)N_Cd7Z2IQ{PGN~Tg&J>hzK z^hc*7xnhdP;M+5G?tJ9CPN4^UD!yO;+kh-i(rKos>-p5YG9M#%jTXC)oId%$?r|1q zeenAE3TULkARN>Zgsfa|E6-2+eZ@xLT-4w$soc*PtbmXG>1aj4@;dO00=mka7A)P| zIzTA{JSYW%wJk_46j4+ENR(baTBL04wcZZ3d#IAp>C4@yF|<6fG7rjnR>td)Bh!9> zwv9d|{(zPo5KQDj;+Fihqbru)I;RN7_oB!)`#rO1ZLEBj^|kt?C$vF()etKup(TPq z^MEtwX-ft%%7A__>oJxGWO@^k>Xj|#xO-Ik5xcj}SpD9>A?NSChcKoMdyuVt;dyV&C|fCA!#z-0?gXeaXrec-3Z z!>|6Y$oo+bVN?wD+GMj&+2z9N=G(vtb_;IR#;RjXK*_4qV?K;(ke#`Q{H`+ck6w2(|=<$ zB-0Wi_6@==r&P=^+k_*HfyFS^_APRduqG^Mtwrx5i$@c9_^yWp=&KA!m(d1bZl)C7 z6c4nxEnamP%n*}dK+o58zfjA=zI(L1Betq5riQFXkMMl#>#XO~;!AWHKd}rW%@_~E z-ZILDrLpV4rzaFJ`NQj~gH=nxo6?EPuq!}rtJE3!qc2xl9lhhr^5==$VZuIR!c7*^~0;tz2^Mi3hQxnpFu}%{o zRX|yaw<8`Brr+3KF{ZqVU1yoN9yK+gP=OE1zEhs*pzAylGY~V;!^U!i@0E6#?J3Dn z;>mlA7;_SQI6|u|vI<13p_w?BQ_5zL+($w(zGek+J^PZXBsyd3Xlx2n2l}|@B^e)e z`1=(d^{|bW1EJ^-MU1RRHGTJY2`k?SgIRB~o%Z0xMY?Y*M8MPXYqqgNNmWBa**7F7 z%DJnT_5$GHTn$zm(#s}RJ9U)e=;~Q%UaN^Q_w{~A_W0zmGdf$~$w$IYJo-t;TVUnD zAntN(MKbFxrqM#6msVcenHh5@s52Rb)1B3t+9FCf+g0rdeohfzG2$?%H}y8CIm$Tf z?!1`!T$k$SrI5CdB)!4$N;Y{Mh~yFDII;uji@x@hbb1CVbGq{Tcd))2n}EKE zJava2Bu-zYUm73%9p@CJIZUG$8efiTM3^Tih)eCi??t_wdq5b>ev{?2>utI;b`^AY zGT++HoNJlbEY_N$@p*YUVDOJ2SPlXZo}a~Xf>Qm2$`t!}@hLJl6YC!bh!K_7mpd=B z&iF-8!ez}54-677M^+4N<*ktcKTC*JzUE$x<6G-RK_Z0EWMsZ(!{kVJxUlBvePnDP zdW=&%A|mmme;LO7pv2M@JEQZKjGaAmGuCkdh6qt`5_&MpzBon&*gqlj2aAN{@Zy0V zUMTwouz)u*v<#UyAXiVT__<&ckCcbbml4sTM{+@p@Ce(*BEbTBDHBklPd2o#0rYp_f~wok`WkOw#MiMg~Xu7i6!L4L1=Zrs$3R= z*+~rb<8$w>+Rf8-Y)$C@8t!a1lvnw(%s}N`)ZT#shD&#BF{X)x1sGgm0LyzV7}W5_ zWs6ckzo^SgE<uTx>2UFdaVXcqDul`G}lc>rQJSO(18~UGrZb!u4nG% zusT1O)_(-J7l3zx%2a8x*RW>pot3ngXTN*$9rWwfQYKf+?hnH+seugvLH^7#^NN_c z`cxpDO~S?#b3bS_0o*}fO0Xk|9KxW@GJ^V1#UD)Caw-f2*4!Fj$^CPGig+jHQ(^qCb zIbw*7KA7;1UI$? z|0sB@?lV8qB-J&WjVK{F!ngYv=J`&u&i-DkKRPZ{h)q4dq9ftn*d<_j=ZoW_0R?<} zfNDrXbc^*WfPK||#?d@ms60%2X5%EqWV=uBr?rO8$WWoG&r^9th;6-6)7P<;@vro$ zyYfDEd&Yvy6U$N#H4F+?=GG2C&7ia~N0_iv%maf{7Oo!(z;ZtP<-m_!pS)DCr(wgc z4*{8~M^?1Gt~Xa5%m1>g;PxE5nLE$6Q)<66y8iOmpFlt%TAQ>aE-UV$Ztqt2b*#3S z6WWsovTk>E5#nmN(b^f8`geyPX&+FN17_?#pWbF~OMezbR8BydQypOMhyAP<3#>%nuFw^${ftqCu_OU`2 zvFg*I{-*yV^wz*?J2HticJH)9Del4?F<6=poNQZ}SE(MIHRHzFuq^t_L&e)3XMC^Uu z`1SNDDZ8=I@$wu*f_a?^u<{P2PW2b+ce_J`kZD160 z@peh?OY=_x*gW%DoR>DOmpXqE>_!K^2MEQ~;i<_X_0f-~1>Tgg{)$<+H%0rs?5G!{Q$t-36|whcv&xtJ6MfRX+QvXl0a?F4 zyz_mbreTsntwNK@;~h^^lfgxVyccJwIlvJy0$zi)46=vG_r{BlyYYh;I@-WKgT&y+ zGRkl*rgRd^zFSd~G6^AV2OGa|c^GHJ9zC^(@treca~`{s8VT*a=?zyO=wsIupxt=8`VhXIBlv-Hz@;5ON=9f zIgFW;15^VVg?p@*0H!(mbNYwS61@38lAR>+jWG-)?8y9Kt!^s^LVw}$_1SKx+KOf0@&&Yhli4ChPT&*bFxuvAQ(SO{6H|?N)o2% zYeqHg@UcyF5iM1bk6GP+w*R(z7C$otS3{l`Co^I>+Y- zeTwzZylrhaZ&h~A(XftKS#aYgP1oc*JL=bOI5^C;C6w*WZi_U{Rg9&yp7i9c5dmS& zwJ-^2(OvoWp{&7^%T(zij>R(~ke~XY1H(QK>G2i(pT8B}*y_*O)l9B`tiJi8GDHOX zF0pu!T^DawXY1trz5Ih;M6uC2lfoFgZi+d!eem~;D5re?d?~~T4iZ6%=y*KC|UADe}%P|hzFh&WRSB?l3hMHaGoim?x>ws=0tHGn1qkty-% z@b-hr3^qxwkG0>JqRQUuZLcCkDNddS5|Dg0?K74EbQxT}8abTu+sdA&Cdpz|#H2!S ze^|#c1Z+?+l>ZZkk1zSRk{FQef9PHb(&|8H46D992nQiUeLAC^+)kUfrtcwk7kOgb z=CQ&KyGsq(y)VDByCq`r%EKC0Yh5WZ=Ej!e8eVT(rj+@03|tV6Z5Eb(HWZkq+yKOQ z1k8yH?3)*ZEqj^4UWd5~H|V^Mc-%0KzYQ46`NIxu#oH>00Lf7+ zu+N{vMR?l4<9tPO^Pa2IldBq_DkHy zB@C%Plr;O!lb7UV9d#RDuSHn=^P}(!gU1o8uTW|QXBfUXaSgm5>QaZ>5(t#zadM%` zCh5J)G6y>SJU+WZMMFTf=dQ^OuhlhcqW zE$n35;IG3wbzg5*+5X1OM(WJSmk6vN4<|x;Zw-Z0K?qbO`jaaLEae|tK{cBK!{pI2hUqX6`7^o;g;u6}@dwJnzk*)aH!F^(73E_C^gEBQ6ZDy21u@3!P zX$3$s1YNfx0@=~0=znDq#dH$BGfc644Ejt9>fW0DceAp7cJ$XwbDQq^J2yOc>Dqd& zHuNjW`7lm!CI@`&;|1$0P85J$Y##Ow#v}I%!f!W5!;2W?l)7O+eJV0d;?{;qf}&iv zQc2rbPvH$l5Fw$l%$TJ$H+wfVUa`xNb*kM57;G*HqV^=3(Fd@5`_zUOq_v2!dK5eQ z6}+6{FgF3p7c*cocKh%?e%P(n;*rECNN(gPJO53DJj&*wi^uckhd#I$yAgbku7Ct> zi$qdPYSj@1m2u&9{3O2d)he<{<%0-+7nQ(JPhE#&f!mCq?+xej~A4MK7+?>lF6VbNn9;zTJ>+AsKp&1}Osvc(i zqsGht`r82HSf6%4wuo;ptCe*<{^`@hw%vWX=~l}}7aHD$>eXNr`A73v^^!^z_TTrd zk%R4AReMXO1!{0Kcr!)}uP}6Zb zeHrSwIpquVUY^2ef|F8)*qYtc>^w~TVdM_;xkl0x1`$Svcc7s6zRdY*sn-gz%HP;Bn_rEm?hcz zAlTeex{UHSRh7#t!%%W7Tj4dxl;L7Ay^1MA>UT<5_vRE=`01{8^Ti)J+b(7=`z+p% zFT5dA>p-ugA9(xg4S#Fd>%(@V`bHq#h-wdUD(pz%CJmF1_3+OI%l7(Zx3iSN-&wm@ zws6}oCXqtu#QU@TY^csrOGkWm-hs#RUuS~?< zUL^PwAkn9%lvR}NR!@(?t~%e#X*GkRN(34;iB}qz7Ty2an;(be#0chTA>N%tGQ9-s z;*PzTGH>*g9()njapC}fcf%V(bv0*d>J^fhkb}P$j3cz;KRX_0Z)w0R`j3Bp?zIw3 z(lc=pmw`;AZOf;6DjDZ@AtG_x0x?OEt!@uY*Jdbz&;2~|Aepth%zr4Gf^CS(z5$q! zT##qPk9W82U1p8AW580MBuG4)zjyL= zs`mcpN67^y<-E5S|2%1IgF{nG7OnZVD!2!K6`GHsFYMb^ygFE(jeT&SZB9G_mu26} z`>Vjh;46^P2;G|W&Qg$BD(Ok)U@PEzKZ*aLX{Hv!5#K2R`DNz|R;*&j4_Ci`6y~>v zL63h2RW-KhpR#Zn^$jL4*BO@Ti4u;o)H@=?rn9DX|IwDl3dEk`V`pDWlpa^eP-rr` zEV&q%Eqwtf8zqOZ!fE^W3E~oyc99kj6+hwqe7KhpL|xAmt8a$hO8v4}h9B|sJW^a+ zEWaaZvyPn=bJM*sCVI1cI4TT2Y?U zf3E7HKrfE*4D8NZfzE8lyYQIT3Ew$A%+%W9neXg}62@@jt1WSDoUxy^Ag2f9 z1$n-kHEE25nm+yfSz<`sJ->nBX9Bg-M0N?~U=uVtHxZFO#rqQdn<$<2+16iX6%peY zCI`tx);Z_Xq`!hmic*mBRuOld#9H@ZjV401g{ptu+)hC8%sds*VPljMtD23F-2ZkwiUxiGoon7~6 zkh?xlg-sH#B$milz3eSm|B!TghTPnM8Yqga;A6EZ^{hM*_60=XpLBG1dTD3cW)V#q zzTNjFR<1cJg6RzYmaM=(ZDoq8{!@&oXX$%+dIamb9 z%EfSzpbno`&*3g&8d(XRTWer5dQ)^2^}Ypbi!sYYEez zJbwJxqOJC!iFNH;iha;_fb4xKbpNv!RkfYTCV}5y41ZmR^6pG^*s#`^niUmzvor^$ z8_P#I>)E3Bo{q^Hu*)Vx+h>w~e6c3flhevb;ymsuwtr2%=kudd>D#LzG>!PSLNFCg z$vfza+pIgEP(~(|GbOD$MIsHaN46N9qUAE7~>34UvK?A^-~!RAxah03yA% zFhDEyPuL1);)^?t3UVH4Vg|VJff)wU4dxngQMuHU-`9O`iZX6m#wB2E28m{{EEtHK z&Zv}_xdN<-t3LuM{EQ}jrdZWQb`2PH3U-_~xGu#XwiGWu)^>x$b(7~?OySQu3)D$- za_hwn_R9S)SlwZs9Ph250L%ts%8Nk#r5OU5{-_2e^2T>k> zFBx9@uF{cpyUv1c?J&m{G~I_1VL4VGHCJOs1zd^cBbzT~O0|#eoVUIi#DFJc9wFl$ zZ?+OTbBE}se8P8scs|xH>2VLRP$pEv8VA!QKl0hM-T)n>0KBUw(D|{kidV`6xEh-3 zm6S=EwYAC}k<(gvb#*aCh~2aJQ&FUm{a~n0w81mhgjJ?}`Oe>2$!&+o(U++HEp~GS z;a4Zau}}IscFVzv<01EY)ffgtSL?$#4A()$sXs8uuPprO5JPt7y9l;v{2$Y)97}s; zrXJRNGZaAaSGB`^L-m#Zbe2S>n?O*@t0(=>9y9f9WVOn8?7lt*+Yv^tEk$M}EjcA@ z2i6*IalgKOm?zm_P8JuI8!=Y&blAfFw2_Topj&mT2KSZg+*Hgzlgb@p9$=D9bBlsM zu5K9II(3rB?>C5*uXwKvTsLKk>}g*f1c;P{^>*??m?B$Ci{9ylAqRJB9@}BTEJlEr zZjHbh!0q&B7Y)S`IL~flZKbz+_u}tkt9v;09K|1uDc>KBj6s$Aw3?oP+(*T;P z*jDQ0bm#1QhncBBiI1JF5FP{K{#R_tOcp>;fI0L}KE%is#S|pdafST`5Y$cPReg%| zxR^wJUkUA%p1eQbJh)3}6*jz4oDoTjeZHKf$CWEpQDUOxlQO*O7A}Wvv|@+cYgLGC zD9z{EtFXI}O#hY--Knn*xcTHrs27TO__F-xJ*SU4AAafWr=D_NyR6 zeoSF55kg^&pHIH(iCw`5OXJiB)z0NU1&+FEIl_9o!t+C}Z&v-gf4-ZxSWmiI>mwXe zyXf+7z_)6c|HOk6H~iP%$Dy5ihEvOqQ9?KqE-7=_(Y)6P1Lz7S3daKy&IvWdkiOx{qI=dg2nB0Vn zSGZDV8nd`Ne6wENb)>;#Y9Yy}G5nQWXO1oCF0gt_G7ekgLzkbXOAIF}wj2P5H2bzd zsPo6-GVTX_Ijz##sQ&4ZI$?3i8n6{e1*zaFX}S5pa9KpY$Y_ypi+?$Dpr?rK=SoNE zTEiHIVxl2vHRva>6197ts0DA)k&N&t?+>EmgvOx3l zT}%c4Q>LyRp2L^7jY?(vKhX<6h+Ca#P)I1MqYT%pa3~D%P3rzi&~HuN=4oF*?;HC##hnu#~*h=@Xmpt@UH(V)`Z27UC4OaYc!W zzNPvCujGdN32PM#wj}HhG$S^1o(^C~bz))Q@W-Gg4Mu-?WqHtZemK*(~(7u@>AzB$@~ zWWmmY7~1SzE*K1=kGYRKO%>VLqzg4O~27&d3K?C42lXr*-d-8AC3R4>tzD- zbXeLXKFa0u`qI|cT9@K`4m7&+V+um}gOVF3(Eb|Y6eo0SiHs)6v$zgex>mu=VX5t2$GOCEccK_ZnsBBUu>c7@0?MhhuhB}tY+F_w^hjUr^tzAqJ7 z$3E6E<2}FeeBSr{?|C%8d(S=h+;h)8=X=fx{o5m9$sK3@)3+i$!n}yDjN~&Z&haYF zt&Y9jyD`jk?@*=ri+r$-tFp(-FA=ugEWo^Q-(nV9cR7MlE<07hx8}XTfX_V(n~*1A z$%GO&6`CidWgMI0$i+=n)Zs3mf`;alu=>DW7OPqr`O1>}Avm=VF@;k#>@}+4WkHUI zGK#RmL4Rc9a+T}X@s!+F{(0x%5gOBF)Z93#VOmJ+7u3f?* zGv#<|H7qwDphz$h{NzwUeOz7zx|lb7p`*_XM!7P50&B^MUAcU6$Q+0(RRU)hwQYm$ z*?v_2ja+n5A1=x-j%sWCWSM6vDp4(+ip6F&i~Z9zwRA`duOBXhqga|Wp0n|q&YLb{Lm>+TT?%*Ftz?IDj)ai zG&~*6zH`gEr76FUFZ{t*cAv10 zcWY0w-(Hm9V@=rH*V#W{lGWsW6 zROW-^=Y3B1rQNraV&q*)wgVSsT>Bxa65gAr6lnl^LAZkwvYP zU}v2pOwO|{Ef{uh;-Ne~cR*?DJV+7W^0wEaOAxG>=(sUB^{78twT^K7Jc_Mm1}pSI zzT>Fhzmh5Xc@ft+605UCCXzb*CRnuJeww7bULy>lPd?l>3VP61uk*OlqKga1hF&8N z)b5_g?D^spb5!V8QUv7MOc~zgsy42l?tDkDa!4zx87mYli~bQ|z`})kVUfDCoM>21 z|8-acFZ1YJ-Jw{$GLv&&R_WVs(Xw!LLsWFY?N-JOj<|HW=c@@@u4Geqn%N<|)M~h{l*+L+3ANnCG$YhY!k*@uy^XX*+ORg^vCndrx z%`M*WnEkuu{br-WuV{+NsGQVjG>JeX=0_aG&&l&7SLPMv-N`g5E6m3<-n`q}SwkJD z9bmPbVC3}~Gy3sXslXu4Za*%H%K)+luP-^{8~$jr%r$gA+3kO73I7F_Z;GWRR3N^Eq*jZ%tcORR;B1<06xr5gE?akJ*YH-sj|!`J3=--G<(xJksK8|%ar2@_Q~V$FDD=yFhJ%?bqM`dc{}X z0q6a1S<3NaD7I$1ofY6BIXkL~H~ONfi~qKSm3X)>+>dH|ay|AKd4nB)Od&;`V6Ri^ z9PSzJ*6-H7Vl;3afwEM3`D%-dN6xfUi91t#N2Yj1obNF4>0mI?z4Y<;QJA6#dleDm zu%-~ZI|v+rdPuzDZPtw;tPY`aQ2OM0Z{v6ZfTG~7xj0fWp;PkU<^r|(U}I88#RSWh zx3;*+OnO{g#u<+{5m3pFh9M?woqSPf#HaFgMSCCGu zUO@|@1e2V6Vczz2tcYZM0L>Tl?x+hme6Jp;%pEl5lk8EF8^Vpo=V|`M&422?*(UZ@ zod8jZrOKR%OK^g*B;84>^__`3Wd@daFa;qcT@Kx67|jhQv%52w)$!A5VN!lEP!3B% zsu1#`8Od+D<4LH^hTcvFdjBNOzXn_g&$FY&MUN@G7Az!QbdV{VU7fhguRN)Idfn&E zxA=(zI*8YNqfMgReH9*jeDM?fN6R`bniGo#-28Yy$z9O5vA|N9n0)tiS2*Cvgl|s|chV{|8ck zE0i+zdF-}4T0-vL>C-=zW7w=O`W72Eoys2nqx5>Z`L6tkug~U2F3;X_-<;L9+;W*N z0h^~W|Hq;W9L0QcP~v)+W%^(N1A!5Trze-{ZWwBCRl3}*Wrea%rTJ7_0ZKBNaC{ev zt?R(fR4q**cN2#We~Toh-*nmZT&GHiOWXkGD8$W!Ef zh(Fdt?rAvgu+-DgUovUf+_RrU#O!*yn{S`RDBuk!MHyeNKTyJPy+SkMyf=b=&0oLg zTXXI%m$HJuRa-~64~S;YSgfgo-)3XQ+s#Huo}OE=3kAxG3~UrNe?Q~cuYD`FvP$_< zp-h=j53e(Klom#Bd&EVf_81N;rz7aZ`zvE3{de~Jb#kEtTo9>B*)Ler*KoI8fdg)> zHPx>*G=46Rq_4j9%)FBI(A{*YPN7a<_I!4+s0U>;a4G(WIb`ekA?J%ZdJz;+e+Qvp zoKQ)`L{}bzDnn~K{HKaZ#wRcGVNvli*#%6x41rD5HT|ndyrE=zkt5=WT*WyOL^10h z@fTZ_nP+Af5l?qC%cpslvBv?%rgWPbeOF^wUz-;g>H*jzvki6m*`8gM*~${$x7L!n zO7R;#WderSTltr)Ff$5&yYGvUzg(TXiQh!dU!4^q7n5@M?)Nd&BwZV-1xhg8Wxey# zgO7{CD?OiPg9xw0WVSOrR@>Hjb)V`gZdqbq7G{Tc4S<93b>s0kqsf5h*cR?%0M~58Fm498a!%T78l34P4*$AGkVtzeq~HO|}Y_E>cp+v%~b{ zuzczgIo5lm>CDf}ZADoF_mK$ab93|oafYQuHe#mH#QQD3eo>Zf>yjdPlDo~|QFyf6 zy6wD=wlxujV7u@%QaB7U>jpv!cepFF-RfoD-q8J(XTBuH2;;YDbibkWS0l z<)6g$%fQU79kX!8ByN)l6Y$j|Jg!zEc#^$a)!$|`k=JedXj3t4&*NTEq# zF7<=#o-p&5$9%6Wp38KpBxh(Bk6Dn76r`)vrr z{b|i=!y}s<*nDNREMZevy8j63Cn&aD+l}-nzsn5oEAxfrM&qw&ldsR?t zxI?eUK0xm5UME%SHf>p>^b9?BwyzAtisxI!0V(%}Kesq`dpA_f*#v8Qom<9z4Y&vn z6O!L)E#1DJ!Yt17=spUumiI`f7GYRv822PTFXGC;`qMc~wvm{8=(}$6pOo2)iR4-$ zfWRh|xH5-ty{pLgxp0n@myy#`@+3m|c+A_Tn>V&CKWEe5+FIyLIi_!X@aLu`s_Rwl z{4}Bj^eJ70!rBzxLF20r>>N=%p}3q($NMZ@ zoa^&y60nSA;iP{k<=(wsR<+GHH`_6W8mqqt*j-hX6^sgh^_Y2_)|#wXvHzPCA=*TG z%QIy&!Ob+Je91%YEtWZR7qR<(tp3hSyM_JcbXTMj-yU$S~+^`QOH?9P~u0F?mXlo-UXLtN?m_**P z3uSA%R&-Z^eOrCj9~-7OUmnza=y<#q-psPea>W_zY%^s1Dlhxsu(+*}Hs(U+Gwg%q z*2YVx>oD7@Ya3lUhs|0k_14v8cuXSMy%@Wd><=n*Ex8FfGqW=tW~1#aUzC@lP%5va z=gWTZ>sopm*@(2+cm&9j8zQlK*#c%qivgiFgt@Sfvh~hzxl2_c_l*09cRtV)7CR%V zAn&x6H(GHxk>`rlghKA}@vec-X~7YE*+Ro|8S>w+Q?IE=r{wrJ*@)03{MfTe>V8LJ zC~Dl=4g3lY&{Xb;u65S37di9_LM}p_CN*-8yzS>+XN|cqoVkR3JcfiOKTVpBh8Ir| zgYsG_4qY$Q36vJz_ad2pb}iyc98?#mIp?ohici;Uu2sqfm%Z+o3nP1eU(O5Y`6=Jg zdq4d!%6dr&KfFZXU5#mCVe~)c(@Bs`7Y`jOjLuQBa{M+)!s!risiYSHghrMmY#$1N z*K|GH{$({Zl^ORXtk_NA$M1ir;W&=G+q*K?BJ4Ph1+zm zMG*FZ7-@N+KI^!Q=l%I$dk#e@{)gM9Qa)`{fK2~1?eNN@<#Q`#puWY+eVD=Ebxos> z^3@DNeB9^Hb91`~VQ z!NhWAou4BDdIqZCnddf#KQ?qFa<=@!7i)nVKg(>piRy&AXGBQ&PPgz7rV##p zf57KFuXO0am%ilD@Gs}$KR6LHY%K4dThZuo^VnU`O3CPIQYQeGs~dOq=Yz~!5nJF1 z2X8?&U>7uxbM=wy2Yu`Tg<0RFTYi+Xw@trIv3^@@fahK9tYzB$UH%fqorL1ec9ve1 z@f5!kP*pF+_x%U1_Tn#cl3{{J$)^2a#dwNYbw*(K5~;u4A}C@cw+B@%xXJ zeT|~G|CyEV(N=B1?V2=K9)DC}g!lT-KK$OHBCcjr_uOoe)oytIzy5OSd`ThCD`{)z zc_u5g^%{CHMf@8+v`YRvhAXvJ$|HidyK6l7KlZwwbNG!rP=|~G`vSS<;-Wb<*#?m~ zLQ1pQZ%u}RyBgE6_bh!lSc!ru_BwB=Gu*fS8LpIVzTuu5Q9khanoD05gu^mjA?{KZ zu9IGbJjbFG57+%U%{3>4vqN@xD1x@b!oDvuM2GI9qoX%3fG}~8rH~c+oP!lU0#Kn~ z$rc0|ma;Z0WmYDcmLs0@uNRzEa4~QRjVZ||E9xbZjoU-i3EcSj-)nPnW~~lA^#h*D zKKGX3jCta5X~V~liOb6Usybg0_&ntu!d;N#4%$j(F)|BwS)1;JI0NNfsD?jB@#Cq1 zQqD0A?>o;YSsf_1y|H$^ecGu8gd{S&U}9Grq&2HIdMmsB$a=_8isKKx1&e)b?4~11 zzG^l}ZT6U+9WBciF?J~|zH3~_L~(r6!o9`+*#7e9YDCj{dKFIJK0?WKN1RUM)cNQv|Nga(Er@?@j3{O~P7sW)9!1fymYf&}xt;U=})`4jV;X}Q-fWwcc>w3O_ zxp5M>yZyK0Sl7$i*@@`;YR_lEO*f|=3vV;>Yt>ma+V76*q&44Tj`gARNifoltN-IZyxu*ic%K5i@6Q7S)oSkbx$PK- zpMH4EO>?qbrXCl=4(q#(jRRO4XF5HQR3?@N#=A z3EydpZ8Ha#VYpI2(SMrxP82+H%K*$qS&(7ixdvIP$7i#;=q|GKe_IK1=_f-6#$f{( zb9V>k&BeVDN&WM52rX^3lr**=tg#2@_hD;mT7L+$k^Y7-xuF)y>n@BJj!u-x4AWv5?KP5LVYTUQE8|LrJLrOk^TRMRcgMjgZqpZ zxiW;XK?pyM2nW6;gipSAnDXp&kuu)pch%fB10}Zgr^{0S4=h$@P6Xs9utleY0JCwokSG zzbC8sgp54)tJ-!w`Yw(TcU!?77jd_3s^s~X@S2N!8I`YZx#$$%*OIVnaow&jkaZe< zF^0U5a5Ak7Wu)yrRM!jFQ^W_(Ne80z&X_}1r)Rd-_Tp%oGD!3?7k)0aLCPlkXUNIc z41gbHk-zt@$lU499b2El{6i(0_HHEIdN)ko2qAtSPb9~9bHq6=rW6@vnMQ0OpdE70 zpA(c2;d?xIQmHnmenoZ}MyKl4!#g0(d8^#G32R6TtN{Tp6z}Kz?B+ zt#QnJZH#0*Sj1j<+5N92*Qk)r`(XnxNurLuaSLf%te6$!MD!CUj17X+O(=zV9~z9a zFsPV>ETx5kM)$a9bL`Rkt=_OIuR9fD_dAFGdvkWr?5z~``t+i5q{Wi0)CC=^gT&Rh z3ns=zr>?Fl7EvSI@vbw)V>KHqyxKAdDym0zO!@u(m!n(!Pmr6!-R2lwg2)^xZ7y<3 zS*L#M4#*W5n~sIOCxez>tlRN$-1SB!O?L0 zTDu1BOnL`+?yB&sDzTn{Z@eO(>zalK{hY%d9bFIQvdwG)4YTn%jPIqriF^8LkdVT( zFvXKJj-&wDtSy}vvKBDd{ww|Ai88mXe;W1m1vrjmEW%Q)is_CaTzhC`)7D9pU<78v z9XYCI?>XzP^&*hkw#|doHL%l_Fs*Rf=WPTk3I~V{b{)C)^_= zd8}PU9v=j24=ajd;zt+{@jRY_2-*IY|WgoE7`25uG z%u-%#~mD#Wc@|4$P-} z#d_RIMeqY%eq0T!L*Oo*Rw@-HEw>$&5$oN$z5F!P%cXBMf1_^vWK6iKa^6>ug{TAR z5}|!-l9q_re9-mWz9Jj8!(f+98npvwB?AMjc$c=Ny>AWi{t_)C@FW5{-&Z}&WL3`P zvc&Bl#B`GYF|<B~W5`L6s)zWwTUTWrPh=S2pw#tvgwkJqP$CsE zoYks1AJpeK+NP{N}BFz;-CUUnUl(DDLvHjnRvX`H#V z^T@J~($ZuqF68Q^FE_U5(Rc3~yY>&UK33)qz4Oz@hbk)(gLjP2-4G&qvj2EQZATQP zkBiNIkht!KOGM zBW^hVB->aoM>d-!R+gRcn-SwNwC2j|v8g?XYOvA3FO>>>aj`+DXzt#jg8B~lF}eM9 z>?S5TBN?YC9v2}c+Xi|=$JtM2q$Ctft1@ziPai&RV%KZglOe9@_apH9?$=rH>8BRg9{kw64v*_=ke2gz+PKvJ@G zy%5@PR<-|ndt4hax;t?amL=5!=; zm+jci?QMG(^&DayuBOc= z(X}(*=cep33s6ig~#KHT%v~`<5bCLi3Lh%Qr+{w3p8Lp;ROH z%qxDbeG9)V)kb-c{HtHRyOlQoIzi4+{qq`AUqQuzBI3s297K1HDDs+oG}@#MKf8#S zGSTHEmcyI8*pI?1yr=}nv!-#`f+W!-=hyYRj?ijlEX= zBGSr5S( zZt~LVkrCuj7S@N{c@wr-C%A3Pu1gzQeYv-)=`Un!zSX$rew8mbAdunQF|IB1wwtS4 zp`tMps^QYA^Q5SQh}P+f7Khu}D?;0Yw{Z}d@Ajm!@`F&vJ10D6wIEvdej-jJSfETO z+S~?Bdf0Z8@s^Z`msO|Y$l)4?!KUOP60UXp%0FW2iF=^-CU9Je5HA2pGVYJ z85{_CS!K!PWL>L6HW~v@k4u`~Es|v9pHM!}Z_+iM!L{1G^THBqs!!4s9se-qSiyuI z|KZz%QAGy8wIGacz9Z8|Ipc;L^(iVf47p6=5Ta`~7ULEBTSQ5eJUKe|{luq(;%mWw zVzUXI#0{=xxo^l=b3cglVkeQ)$x74cZm+dH?pnc)<;vCX?AU5!$Q?ss#)BMyBl^~4 z4XvVGf?Pr$k|$pFeX9%W&Yf@|_LXx${9CSShp5UX8c`-Pedf_6aQw%2;c&<;Mz*ur z|G{-rSzxp7^TRUSdhD3&=853dlD~ZqD<79+nFJf{;Z-o5>7MvAV(d7~)coww?}EZw zDH{zdM5T?}$AAY6+4SnlitcxzCNS8wrz}BghOuXUn$K+u4?Fuf8{Jb1`7yu6{}gz@ zzM@})YDIYtSjqm2@P;{9M><73cvF!T65Qu`tAm1;WL>UAZD&8s^AeNdz4UZhp!;2I zh`IpEdhMgO#|H^yr?#4Qn4kkC*n&vXH`@{iNw@h`2uM_*}DXp|QEAa{r3nSLu-zW<}t zvh8`0d`hzLsB(Kf?dONskvLB9(f0+m$^XlUF`=Ck zku$j~foRlg#j(i(+K0SJRzQwmarrW_ffmy z4sKM=U>(%eaM+4C|LmTwceTV%AkWs2{eIekud=sOj4BQpa&7WuadLtt>>GQNw&7Cv zWvSuNw=6yGSONP9=n~h^9c6UGonFryHfM5|h&&7>GR^uth9gC6CERjR+ULIUg7}9O zFmivH@mG`@Wnb}YRo)DE8YZsrXIVZpI!9{#9bfhH?+#j)wMnf0?UrqORRnI+_}3;T zZ@#Wqj(JuxTVnF9E~J~>5x3}fWO-4%4S%%s!{Fwi)`-L+T!fS28iDEru8wyIKS@AM z>t5O#O-KNhy3VR_?Q|j045$3XR}CS>L)k|UuueUi+yc2e71oaMH#80Dv@Bcb7%%+Q zcxFFMjuA?xkP%t8I(I}A;&y@hrIxKC+c(&CbwkY#`hK#-Lo8(6Od!7Yrzt!9ub26ApW2G#wDuM{``_;p-%M^O{Vn*YF#J66(!ROEBLv(f(v z>1r_SB6Jc;*{sW3HBR6=EZ+iIZJS2+INi_*+v0aM?z@tkT@ve#rWx!U;nnILS%+bK zX*zjyN1%ucFi_*UVCCr=e(Ir2EOKx6LD1@3UC{a7=Vb#!;EI0XK6X_jcOnNa*SKZ} znaY6UmLGNgyG9Pt^f9MH#85(0C`wPJ{7{y7s7d014du(ce>)$n9g#l()PAGu4@s0U(*S@pDQG;L?w zv5H{1FD_?j@aJ*J;x2p(dn=b%%zHo~o@Y_YYtD7#eX|2%7TGbJ*~8250uT?G=jB_* zMPn*e!xK+b5O)R#M=L1lWfovYJdI}g9h!YSfoAK<fyrtrTaw0 ztqA^fY=%t56}Pu;S=p~YPmoWb=VKz9jb&T{sB`oiPj}983pgC$mK%Xf`Z`S@2DWG# zhWH>_T;!wjkX%KgKv;ZPu`q&%sLy&-$yD>;PqSsjS!Ts)J4j8hKN7C3S>b7vn57ta zt9N-gep`k`N(iy$_ffFB^PlX@vR=E_KUbmqOxY9K9iaGU=eC}?Tl@Jll0t%{qVkX0 zh%SeF72IVy?4c76FzI7k3VOa}@f*HtJ-+~M^2hAUs-yUy_m4WtvR`v-D(D@MVd?dK zc{j0roG&KI(QhAxXLmut|2LPKS)6jornFU^gj?MH@~Di0WLUsjp75nJ#>$Hp61MG0 zb074*8+67MKaE1P4Q zcPp6!J@CanS?tzex228&v}bWeZfoF^x-hoy#GqLI&!=LgaZNX@Neh84dO>LN`(0;sH zO4B)mzYT7!ee~2BSBA^hw~C;M+!@5mu)6aMCevO!ZYjE6LlMJbwAapf z#(&Q(%>U8>j#5U@ibP48-jQo3l+Rt6H>156+!A))MzU}uC(pw*b$!DhxB-^32kmX! zjH9+;wto)n41FHbTEXm_*=sDTt^rp-Dzw9)JwFxBBYIrMW%=y<2(QT7WZD`>d>d%t ztCzs&55Q=W{o5U9j9&!prKH|oM<|bKXa1Q&g&tDPT}ngxhz}Xu#I5>pPkFC=-1+$? z%>!wbKzr-odcScI%z-s{>%*H%0Yp?q1Nb-Db$!S6QU)F?_;-#?_cgrxXdBJZBT=>U zEcy+bCch8(mkpYDKk_g$plzdE70v0PjHeA9jHSJEun=|oZ|F4&%~2+UrVXt?rVX88 zhGhj=7tT)4XTM##2 z#K?|MN}x*W0!ta$ak{Q1!%LOt5iC`sjI6l}asLJ*GLu_eMJOHa;2oBAy9@48 z%sR~tKOlt24DfNXZD1!FwBMfsGdQnru}?yVke}Jg}=bRKc+>QD`l6FD09mKEjs3T z4|e|=XqJZomK6R+_5kXbKtLUwj`JNiu~Uruo3~UTM9=6;3lZPHCE(5mTG{xQFTkF2 zMjIZ0`ZmG;nbuVvD{f-h?Vl7gVQ>s!H!k)zijUgiG(3zBXz#%sK$gL3fKc&r+dgIU zsm1}QAs$bGbf4^xWcLVyz*zTOVLo4;@7{G$>b`>TT+!8?5dyi+nl?9Tq-@cPaSX(^QAPnl=jONtha;C zCR5lIN&rA?@&E`Y-@fj2Vi|C{Z{R}wx-4w%wllsj4-dr11_=mk&Pv$i{iY@$bPAWJ z5TK){K8V3JxGf%1+3|3`rTkoega`oi^ORk)vg)Lmyuu0xRO6hTGoaBf3@F8`0qO$& zJ@tw}TqMH8^bV{&f}k800%xxrd>Rc^HGuT>7d%%()dk#(|3Z&a8pc#P1;G-gYYzW0 zFayBnL%V6{wWrU#1dvND%OA!>L|_uDhb9fsUD37oZrf($p80I~p#oOKy}0$|V@JMindcboH-E0wIZaXNJUD=$bN&@SkFp77iQm%KRItSt+wX z7X7l4hVgEj*qMYXC7Gh~J7@Cgfd`LwK<$vixeukjtbuRu#~*JpvJl|jkA|~L-!cQ~ zNWb4&Y@a&Jg-Ljc(3P7}T2W8%KuCL@hL9F5Y_|CZfx>GLj-LP^c?V$CA;}-F3PRNT`E~b84^qU5e0&C$``ADUPX23BfA_xUAl)x@cXD%% zzveWC{FwU?mbI?A%(5PwhJikzfAC77NT!yjbuGIfSj(*^;}_CmApfmgRI(5-?f5mj zPdBC>VP0;iqfU4TLkpN%L0FvF$J!%;r;(p~EW^(~-XGL^n?g(bpvTv~h&sMCE+Mzl z2$K388{JBuoO3Le(=0&`+2D64X2|*4kSpYO77}>$b`{>rE77&A(W?9!Wk5@T@`4m7 zAjsz~5Cj)RE1loCfy`emOD`Q8N4gUpn5DCydZ#!_q?Uu}RGLzt1bP)hkYClIY(WwB zI6YT4D@jOBgFh)rbk!k=D606X7kIyDXx+n%CI!>0ged(sI0^%9bTswS2f%T=I=2g- zj-<1N+aOt4HZzhnR8w;qiYjl^bt)6R3Q=ceik1?1BZUA&?T1+`f~_=nzA?Clq`>7p zh>r8!6f)kd0d<#zI+)j{^gy4M-pYwdI0);0z8EeHiSu%&B`Z(|Ge&)b9M{{CM*n`GZ@z05CN@pWkgQm_ku zgfHZzUb={FNZOMuPPuOr^2io+#Ot&3M}qs`)V_hCgZiwzLUm2zqWAn7&24Agg|f*1 zplj0UFBOlqcDMJX{r+(D8E&$n7OZ^XOz(MK$W3lOqGaAyDkT`x@VWB@or>0Zse*5ITFQ}}mM7$aH>Uv~e+$V| z*R_F!aSL%ns1)*|-R}0VXfQSbb>hqfq;JE?2#Ci9Uuudo}GX*Sp%4!p`%M2Y&p}xug1;Tu`@%jaLN~^i9Ys4hDg05hIsF zB@Z$KS8tOyXq6x~y>r$W62%$)J>H#jS+ILye}!R9+~haIUX=Lxc7mY&J+1)-2}|aD z9#}}K29(&#MuyRV(h#WrOigI_z}6M9XTiVIpI)UbbYY5CqC~+Yp35O&7M4QSS6}T( zN{d7amlz_2JBDEUSpQyO0A+BSE+NiimG;G|F_gLJf1xhG){61HnhbR^D26uh>$r1E zQ_q)Dz7YjH-rciJfVv;&)@UDepF1snTDn`s3?%R|r&!GT|EmoW7ymZY*E{LbN4kQD z)xN#Cstib(3#~%Z&X+9{MYVNYw!*-Je=!SbZxGUib9%O0i=j|V^BY+x+z_h8K)#a0 zY8|lWILdVDU;O*jy>`C3jUlqF>>w~I=N4(jU)F+}9x|vX^ma)qPZ+RD^D!@kUxTS; zB{~WG_NrVX+E%Le<&O&CVX|BNA{c(iOoibgt4KkQKfD!Yul8&{Zu$x%+*4gVld?z& z`J^2x+v*B4oT!*G5Rg6@I)5&D5q@0U3j=y^5t;wicm9Ik-<;?;EPXa~5h6^CrU=u% zCM#KAi)cTJ!E-_hpn^xxk4Llfh14$>HXV@z32{b^g-W7GMH*+355DD(-h!q7D(2M9 z-lXStzC}lTzOaNUqw*hT`jmfzd91nC!yEUF97MGqz%8784#j#N3jAhP?tiQ6e zFuDp*gTH(%DrG-}MsA~8uPSUpi6yPk z@>lz>hAOm5iO8QkWog9(g|uK2r!g!m$^UTY#8WO@*dO|DlzLr^)j58^s0&h zocYUJy#ytDS1yM#+nVXlUJzcW(0K3&zf(T*SYqd;UH(Svc~DjBvD7fGIYhZt56GgA zT7RPp5C#nVaOL$u+3r@rj5t7*sZ%M;>&Hzdx!F*rzt!-MkNuY2PWIYV_TD6bO$5CyRMA zI8I06_XuaFw=yf04j5-e4#Ia zwLQ@9iPkDJFvR_nE*dEk>7ibhlQxU$ghx;Q4=Jx;-8;x%eMPxdgnJdY&p;77*7iNy z2_madlJLEC{5}3MnUD8zgr?R1zWJ)U@lw|u`NpjA)W`uSb?0H-w7rz}O#ZCX`gWvr z1s_T!FLn}Y|D6w|2w0ogo1vtE)7stqV2TBsLJ`c)&O(&G&F7WCY$)p&_s+xrqJhFL zl++W7@M^cxEUg&l#dXF#2!&F8!#kBVD{m1epR{^Fy-T?!0?+hVK3{BfpEy$9apml@ z{+G45k)~BtI&kj&+Dzn{|*EUN+UkeF}HKJ$t&jg#7{+s^+N^^>E=p65@m7;2V zEM(L>0`}tR%H_1@$Ot|;*)oBJ%qXdM(cMYOOcig?$^$HK*%@%vAz8%g#aGItmRqrjg}6ts?l9sX&;9j!8EaJd?IBGXi!KkP5Js zFfH_QR8^YoVAh|vd)CKSz(A+MhZgnylGNNM^HLZagSr3{&^br=L1n<0c9}_GKKPr; zhuLxXV#Tgb?o1vZoyrH|tO0X@xD#WU_tZw(EPXiy2Y*b--}#1=+&!S}!~sO{Vbf2h zqi0p_T6-X+aqZxJEZtd~&$FJ+;|(i!{dG*|)yLTd`y98-r-iJju|-*^VLGj;@QNb5 z9-0=n59-pcK^fMVj>69Ygi1mob1S^FJL|Kq)jc*iZD)3`>l&*0Ug*7s{SA1JkD+6j z3QM4?cQ0ena$4Z2%LAhWHYj7M zG}EzP{dHkIHTO(GXlo*T!hHUfqm^BZuRvZX>O}SxC?W}8;5|O`SSQYdw*80CiUDsU z_&Q&^LR1*bop=$92BA-HvDoPZn7B`kSbfJfhE4@de7tLZ(JnC6%T9wF(pz#vRpAt> zb2JJHAwvmpqR8^KfxSF|>H;K-=e{+B{VxQaqDBY^^9r<-{u=B@>SW*Drf)G8LrFDU zgJUetrr&>V{?+q}xYj#BU0IZ~m^|2HJu0LtFvABJkwm7by2pp|_((sHrfMUH_$RU7K~8i&wxomLq(_ zuMNLR`(qsKvspOVVrq*YdE8hzCl!QHW8#-Lq0}`@MmpnFRm6EUNSzQSdt-P`*XxCp z(}z&2H!hN>AEPIK8*;F@^k2Y;Uc^4z?XMWNoEC6OXP`dJ9W7Qcqz8pH9^_{PupHlg zd0{SdMOCHJSHddFWVH4d!{sJVkhJXasXRQXrK76>xP z-!y6}-X8A<52UDqDfERf4f><2KwMo)n*R!1#MOH%73e`%1MKD6^}>sLKTmevKhr2c zIjjAO;8c*fe;G>auH=^B%-}nu$pDY_qxl~wJuzy{7Zp37FITg!I4QFo4c6hQ(K%KY zsT`RGT^-`y_4`4W);?$zWkl<25N8!V4=x85^7|o3lSaBnDBM^tHUE|~*?FjROz?Mm z@9wJuGu0NDfc;Je(Cq`c2ZYsXv=x@l<+gh|qEerkb4F+uv5Pq6t-Ua(2<2<*qeSE* zhix}L|JSghYdVk&4J*8RADzUn+6APp+dZQOE@X?Nmd+0o*o5@@ojqD!RVEkm?Hl`O zR(l3lZs{AoI;VX4p)y<5MsAw&^)wZ`GKzEo4_$(h$J3c8->WBubo+DGUQ1VeU{J{< z2G#RGF?OV9hjsM$z+n|~?}kFftgg1ujeZaOtAYwq_-@r}i(4uAV5HdWFJ+xs=$4Uj z5)6*BhM)6i3*R(i&FF2v#5~os;E-}EYqm~u(S*JSqUUG-8tl{e>Iicd$k>nGi%Q_a ztxY}M_rCCVk<}&p7<${Rk}Af~#{{Q`cJO~HnSMlQTCve_V7sgddXU>MTH|$66YRL1 z`HWKv&-#xSn+#9tqLIEQJ|Cg)N$2!s=nWw+FuP8$iHA#zDgh{ktgw7kK5wRz9NqO}9D;tU?$1<9Q|BKpVy6t?1A;*Hrt9_TdOB2>=~>>zsi#2MgtvvUe4Id{(}7=+?DenO zd+=8cp*p=X-!Zy<(6%7-RK+2c{B!7&j=!hmagR|dqP6woKpxVM$FwD?;BfyO>XwDT z819Mk1El{>#Vum_O&AOnc~cNt(ph(~e!vfo>$0IzYowu#Nqu`E<)z}A{%+JQ2|bS` z!aiuhV@$5=B_mCNM2XyLGh}yFwLa1=q&eP~1E9{4&O@G7zV<#0arWs%{w-mTD;SU`#@T0f`DuQSjW zHs*Uxl}wK!K?9*A#i_mDt62TLW5+uFK{`XZ93tNv{yV@cC;`nE3=7xHW93gc%`f|s z8B_|O)1SSX_o=?B2=hdKk{W}5yzda<5YmCl#8>rIPH$(TUCjJE8HF+ohLNGMQzv`X z$vUJF$k5+vGscuzXH1!b_S?%ycdOi+E$kJSdLG%8;k1b5=80IOVHb>l$=f0a8VMRz zgCqV@YIS?zh^e2z&DjIuxdDp?f0_Slq2(Pdlt^pw1z*^BKklpQsHQ$;@V6g4H$#?E z<#|`QUF-TeEUwtcUwGP$$Ox?tFWm+BfyQw!Vh0b2=P) z3NaEWx6vE#2Peq8Td#)y$f`PZzR%Y^dY%KN$Luo?H_S=3P9kwHbd{n@tr=DdfX-t- z4!8!2EKwM21CuR``N{tC-fA-2$NrKTQHD>lI}a7`p%;<;U{cVZ(SZ-3!I_2RMvkIz zB4tl%onB6MtJCi?E`85_fx<%yUcR=Kbp9gHXR$vz-k&y!yH^HGDyB)UeKsbN!>agf zl{evajq4-dLC>>ExBE3#UrIyQK&1CpY>>reT{ZT2RA*I|ZCx8ll zA75^CAd0}BFP13D{Px4&(29(MU9qcptS^qpCneboMeGBOu8uh`_FZG)vhOF z$9Y^o-J=p(tS0Q_FL*4NKNj@t$3r7FCe(gt@+eLaNEKBypVhrVQ!LnnU2j%-%=|Z# z70)>E=i?IB<6n;k1e~!q?XLu$-6q--;FQ+HqxEZyf-dS>p?*N0HI}5(b|ov!w*idv zkuo(uTjh)5z1M4qH*a~UU#yVV5Y;3P=pXJEpmPt*1ESyJPISFE3R{r>R@2p!;qph5I#VKxb%4vJA{%zt+St6EAr3BO%>d=w1XfN^) zxikSu6v-+Yszx&+JqZgkw^YtWK0n;Q-D+y^cVD0G@N~=zT0h4gxr<~`f7i_dWy9tKw|-O5zzI!+uYb zhx84z2XUp)x3Ha+9Mr_hgHjD_l!5sQ6lZZBQk_|@xxMxE0+($uv+faN9ve@5F@NzWP3vm%5E_m88^?waF!Mc+$GwOc|TO!NQSY8C6?b?+u138e_~{7|2Fx;Ve5T%%Lys zem$?(J&&1@UpEXg!YXbL>r&`6F9Mgx5)2eLE6%9Y%YtfIvRC$Y;@R$VX-7gP^o}OP z1}*0W<;{L_=Nj@_7i!&$kvGgpAG%_*YOC@Hv_TbS{zmjRR%W#Zjlvyt4{J-$7F1HU zv38AJ%^vutnnmHp>NhM2%#*dB8CcVXe|lxpa>E;f0}Y-UO0H~z z0r|DjZKXmlyWgg|WN&*ugDM_IsKC@aU7TlR#0CBzC3@&T%;utsasp8jC#vm06*ehz z{g;s!|13Q*pYXpP97{1OYA)&(a==RF&IbmAd={FFUgeWYaL;r{1X;4q*EL?Zk^hXy zC(d=2t>3ehkJ=9DGlpOy>6sgXhLSgU$8hhC;?GCrAv?<=_q0t&h}R|P;fP2d_ueR4 zpcmfFqzof6JNvVzAMuE&U8%7h->A+P6)o8trWl&71k*}NrORx_Ddp4Vb&IvTbmpUS zkSs@^;b<3@#KyXWnnN|gE=1DBGQvKv)uO;EZ2KwdR7&Kx9etV_P@k79Pn_#!Ow6fF zBmD6C5XGnqaYSIorH$a7>JrV;4QYH)v9lhsyz;S@JF6!CyqjQ@&rx+fS`;6}je3GS zldGYT_(S4!*$kwe*3d!dy@&Leazl8EW0t=HLsy~YxD(R4@S|&Xt_iU%{99sYeqB8tORiah5k-~`-f9fA-P=S&oB3o-GjioYNZ!Dqv zO^;JUnr{Wz)=*H#pp>A9k4^LcN*=^!lTjkoqlK@-!fatc_C8=jkAgZ0rO16S8#_hR zc{OQl78Rk=V^|!gDHuk=vzij0o!NKEyF@1cS&nHXi~+HW+@yinnLqGbN&?!V&j>Ce zVY%}T(F_~j`*kIIM;k-`r8=q{vP-JJlyho6mlKtM)HJnwkU^Er^Bfj+r_~Pi-#$kq z?RJy)pIMjWB$qfQy#uy?ReH=&qi9S*=GX|G@qq08CsDh*RD57BE%%i*{*PC0+Up5C zV-upx8x1S&@6!*(l|7=q&^HMc_c~s_2eFe#l6MD8bVfVm4NjhcX=x;n;&w~Z20DH>PW2e0^v<%Jwo z{JJU+U?ko&PcXW5q5C^8i8q&))45NgkIAeee-^R27JZ&qx*MkUH!lU8(8FEoblObs z$gM>dTH6iLB<1=FcI2<$G;}3wQ~CI6%BtcMBUG$=DfLhIe*;Du5(6wIgFGWL`KN|1O063DY{k3qpal?_b@w^42e$u$=^3IJ@GFgJUkS0fvrEhbsSk} zW4EBwgylqTawP^_$|Q#Xlh2k;8~CLYeoM8~*E1}`c)<4UrJK-&sOZiU8-3rzGAvdd z{N0UyeO!mXNh7JfX(K_+oO&Z|J-eFGOg<($`Ojgt;9nxYnflUSw(@Nw5;T`{7(nfpDI^m*ou(V7eQmIb$mDBNID!grW^6Qg$dcL@Q(G)I1=$;S(0qZCWP& zje?308K`i^&0~=8c~!i*K8}~2$3gTsp`^H2Vov-%319q?0K91B;e3;wPyJzoJd_d< zdFJ_~rURp&++7###oS2ngo!$(8vn4+7@N8EJ6*5VDoahQF#O==0(_m9*!Y@o3MR@t z)A$q|9m_i*S@NbRA@etsQ`!n6Rn`#ruWgRPgKs{5zL}?pIVNfnb7b~7*;Q=vt^{+5 zaO6JHBX3fb9~q$%)G+%V^$zLL(Q;|Pxy+Z~QX>-7Fx|9ym8QHUlq!|6R630+*=y6d zkwE*CnEFhkpPPu8kCb<{A*BarDDvl(Oo%xHYWR;L?7=*aoO`)=<>gE*Vvd`d#DWh) zfpA>B=K>-T5q*YW2ewUXK{JM8n$<7S(Pxlwi>=JhR`w#fL~JsF5tZIr;3sCiCuNt*$-Dxr~F{o-1A(he9?Z9}7-iCw=Y-M=0%t`W$*ksWJqnkOw z|G5XITBOu6qbs!Y1(BTr#*byDHmkxD=VSybjj~y^?NE@le#niBAx58A8HDy-{Bp#PKxzu) zlMaYu9@#x~0p6kWLoUxR(r3(7Vf)e2&HZZ5UAh~>Ep31^OkR+XBkU@{#V>E=4Ln}B zg(@hpI`{Xr8>V*0vnOYQj>6P4Zs*;x!2 z#wac*fIjZ$;5U==F!fjGHNNllOsqz3dBZb-nHo$DL&-IuJDe}M_#mO`0>erlj6bCe zrAz#7tB6l$JY&mR8kz<-W;UfRnVkZ=PCW3PA%)Ns>4O&KX3LhR09^3iNk?>_EPD;b z;erj69Uq@Mq?P!_FuOJ~)V}yHv@THhid$$|L~c-6o#)bP9C{~r+6WCiNcP?p97mau z`(GW2pqC+2KHid$qngsxxtkquAQrPBU{&5gdPP;cu1xm?vu^1!Kv>-^rlmGDC0GsU zjj!9Heg8|8Au;HULBiCw;%JoVJT5)8yW#s%X37ia?`aXa4V`F>Z>j<_C76oqwI!>g zJ9T%4+x6@mZOZ=OFrD*6BQcF5k;Qqtz&$zN^C+bobivkFpNhpz^@sAlBjlK3e%(uZ ziAawdZV^Yc+a~0s>NE(*j2-1;=J#?~%}l10pQ-mZRHXCPbRJ02+E2yI5AVKQS}5$v zU3LdGC$!g{mP>!U#pSN&A<+jfP)(Wjdq1eFkvJoMCBciw;zIs6KzgDem7)FSAcgiW z$*Vm+z{KFivL1Mp(2Glmm*&L(=Bh}OydQQXVch&aNylxFZWwBamg{6*&OU;po^Dw@ zy1Qt4HvX4~c)!^kA_AZeb-B-ljB@^+b^B4QK}^^Vl_n7aOtdcgH2neKVw@cs<}?V* z)2^KR{vaavmq)RN{^9=1mPFEPw?m$~f?9)oNeS0fn#$j0iQY?7Jq0LpDmC>wfZM9H zGxOLu&p}k_A-;>rBlzLv#CW$5Z;d2#MmoRT5mZ2w+g-=IukK*6FZ+))>$J*%R1tqa_?_joz=+MG$ zi|y0&ewfBL#XtAu&y^QsKWb{3BrVyb2xT7g%)IrhWQmo6^zduB6PShzqt`(?_WI$T z+)Vt*$$>OA09KaD%G;i7FOI!{Gx?&q8u>@MLVN964TD%Z#-FZXP%GGlC-wlY7HZ^Pxb-&=gZS9Y$g8@%T3(pnriIs_lm40t6F zef9_+QpR~%+#YSnE4Ls5B$VD~%-Cw_6As1xY8X-|IdyAJf*TEU5t z50Dmvvb5m|`o zg{0#-n+rQPY%K9!IyAV2vMDj)1K&S)y_Qj~emyhG5H>U_iW?tonR7&_%pq=SCmn2} zsc$X#Rjx%tnb8UYxMTD!FtO{6_Z<}ze5tk11E^*4i=Xr2DUuCt@IZe}pjb1vmXPm= zH=(tPpAM6;IXNG2nIkN{K6e8JyV9i_%IC3>NVvHXmp+rP;;P^%$08pqj?0WOYh-=s zn|*PXoXGMWvtU2K1(7hx)%$2FIv0$jbu9F8N6E`S066(oc1;|^Viiz!Iu9V>a~E_z zs@%pKicI{ds?ZzU&VoODWGi%_6T$*qlv92RdemtJjfy)lvC9f!J6ZfuUyn+XvF-o$ zj>80UVX1VZpP*P1)J7|vPsWUSg4p_@7Z^pJd(9!5dT<89NRf5n95?2}WpfwPw5mlz z&SY37lTnYmQL~Fi=PR&_{fw>XDyipz-Opx2y;N^F)j1{DQm`__ZXL1jB z4C)MAqY}Igb}4RQX=07GuqHgjVN@)qYdqMDU$wlK)@Phgkt<-0S70+wtZpoh@o{?f zonGphnKhm?hJNoiT`L;!qMm z)wJ$)?dv=2yu~4#c3UKTq4-{r;}(9e)#8L~RR{|;%C2ep@E^Se+hrQXB{ z$MarvUG@iARnubHk0y-O5-x9mtYbkFA$=+qyR^Aj$z^NQ9O^unw5@vY^_dN!4bifl zFC-z2VgQBu$gEWb?n`B$w@9;G9wA}-|U`DN-@9{E+lqN&nHSG;Dl+ zDwZT2XxYEQ-%{M>R4pnFjogV;J9%<>a;1+y2U*ZLwe4tZL~ht!?DX;uAe)+7 zgps!Mpl%4{T3LpX(|?McU5kk2uF<|cFQ(n==gVxsa$C!lFiOS#d*K&WKbA1P`~c**lh$^rgtU6e*Mjxyp^_e9 zJsHp~nwn(=u)l!FqA0<{Yn6@${d)%$`&>SWLa{8#*Ol0@H4C6(Kk)7$!SIw88?%+U z*V5@LpcpF~28T6BIMzwao*SQ;h&mZ~Q3BFX6vu#@_6h#OH*l2jLM?BR@P+^j?{SC9 zl?dn=VU*P-E)NJU$pDG3f`J;a&@^K)4lBx~nFQVh3=-b(WVBZARz?qOX^&Rtn`lBM z585XC%2zlTjGW*MEyP!lU3!2JP2l_rCZ@h|{1ke*#xFhA0djq9P>t;aB2a&(NYJpc zTG8RUCwETf!zMk|VpnA@ThHM$WF|kpFXQBm_Y|o&TdjVRH z>n)KiGW%6UzRM3$NUnW#FY9c_{e82`r~b3{*Fz z^CD5u{;+N^Uwfq@=ktxXDJSJbYRFb|V`ljcV97-)1L;w{c3(@jM*1#gQnn7NTO>u~ zM$Kv35xdCaXCpr%Jye@brav&SJd^#f%AzKHqKhLrucI6A%J#UWm1?;>i`!_%@rhn?az}6B;I%^NvY2BILioIKC z>9k)Ass>igDJu{PHs*gkq#Jjpe^aN)A*cil5@uXY8>01^N}A0kYz4;Sg-celZBShi zAGacjjF73<1+6#=+WC*n#Bs(BsOK=Kw0Y#tQ`BZ_h5Y>wk%exRdP_8%HK}}qmF#Dz zuB}=-;YZ&qWZ_>z>)WSEe5+-eF(WLUPKrVLAgXdwgvL78Z1Pi){R0$~!_@sxK8`%KU{Ow0KKG^AL|7T6|6jZaBV5x zUxbi}^KnFUn&?2jNt6TuPeu(kcL>aT{}(amrvGLFZt;|(VrL{+?TVDW4HC@UNw}z* zEHOr4d}Ie(I(duLRRzo-JzfeutUcm?d|>bfx4A+qKlU1AYctxAN_IO%J$GT%dLE`D zS-huuhqYqI-^)Q=9hD&QsnoT##*z0o5^=biBX3OuMWmpKZ6xuv$IS(@9jQVVolNYsd)(sB{63ID{!U&`ilO@;=4M~h!zO#Oi zbqcVagq_fON*c1?%o`)FY(6#iMMM^{ml!^WXZ0(VP8u|KMCP9%)qKmpc=NIEOj*#4dWyHMB1@>pqZ zn5gUKf$gJa)h@$@d>Q5c(|Q|9_NQ5Wd%cOJ)0|kHL9K3vV$^)$DPn4tP;DpLgv-3Hz5j*?vP>)w zyHWfs6j!B}u{C(iAr4u%rsUj(k(gUz`=Fr62xZvIa@8hCR*At)ck#2V!p*FWCiCF6 z?)=x`$~3F3_s3`F*g6Jm9jJSOI6nW3-ET&PNLpD9n^)bhNtZxGkjO|d<}xtqU`2Wfa@W5-}eD1Yfa017JL-A7N?0)L@%W`*YX8jbJB zN9r@bb2Vz{9i3Y>!UKan9&b&IkKk`ngCAM0(aeBvIS(*Z81a54Rv0p5J&?=fGNPCq zLQFEU^`+41_W3_gdL`=VSi}TTwnUw+%da}x7M~ec&2>9VBpqLq_gtFFrF7io?i`^KJ)CAD&l_wL1) zZup0s_Z~NoLwcA9g9^EAWFr_@Lmtb7ZOM!t|EOFNirx_>-ySF4SjeO9hV6%i62jn% z_qK|P^sQIxuMaDal<;V+)aU$u8P)Op2=B=Om>OU}h*}Mvke3hcQ zOJ3NQ0@oU?P-XHVsc~rl#+p|eF*rfh!dOX1b5hgKXA$IiChUg1j31)2!9F!8nqhy2 zqI9%?Z){75t+pW-bXTRcv(*^5@5+Jv8r zdVz%Xg*6)KA=Z*auVwb=skX%hFkP69c^N0gmYwi5A$qjhG+?;I>IP@QGi8|SD-4mG z^%|JezKbAA@XS$03Ol1>Prk}Pi4=P4^j&&9ICH+d%+c$uHu@XP8Fp)rD5+ygq!WUq zA0ZNC>*bgTMu4TEWt5x$nHnRS10z&5V>>rSjAwj|m?OECU8EBuF~7PS${V>2Zy3Rh z_Uu}>c0so7I+wfB4SkHqdYWXT1b`8(Qjs3RYi=rpub-e?mEYFXlvs~4)lWWZq!m+; zeH0n))PdeH<&veKR;x`L9^J}VVoSb$iGcx%6M_erxD=+65jecWKEwXpv*emz8#(=D zSb22fC1Fc{69dbTWT$sHKcCB4C~}`|bQnUy>cXY~PHVr$Ty?52lb30#H_jsb9DLa^ zg__TI7q^ma%*|4;vJ&5}aVH2-VxFyld?H&MEo)j02kZYGaxdA@J zs(+(Z6WFhl5HH@uWHe>fo_e9+TcbfU8=xFQZ$iYYGg~Ybl4m-}n^@t~5$tmIRdy5m z=feC#B+j11S0-HT2h(N$+c^XP>a>`(khJfyFqn8>n@zB%-)Fb7jk0U!r(d(b=_!Sx zEfRz3s3e<-nuE0CUFi%ILxD}M*oT&9xlVllP+0K4>Kk9cPvg8|Eyr=J>(iI@b-kiI zSzhig7=9J4n`_oV9(Gz+L`dv?9{o+Ox=8gj4-v(nMgaUgD7x1gh= zhn@T}GXmeNp7l-z{?WU`P2hBNwfU~b@EzduIphrs6FR#1vvhRHJalx2!28EKbab}A z=uYu)(a~uw($NVGHuYXmp`$w`>#3(_X6E4+Xgp85T|IT%V!vOLsA}d zUw8h-kkxZlc=o1(^yO0{4UXAX9^8Skm62=OjnB;zg;I%eBnJbt{ub&Xt_`PlU_=b1Cd zx1Zp$&!53O(mB)BrcT#Eymh#g{q_yOVix}!wt;kXYyf-NcutK>MIQiP3I^%h1X=o_ zf8*HvVS|{(rE*E`pSpPW)+=hvLj$i%f)>gQY@}R<>`Zl}cIz zzP1#ufm-E`B(hMu(SKog%%owzR|;UrT=_wvrNl#PT4=7Kf{=AeIqAyctX=s-r}GN@ zOx?>q-o6mst_dm`y(f5RyTihIWl{=+z&qnpu_C0WE730`5NB@xN1ZaCmwuQ;{70pr z2k<77GJl%(mK-UrwAHZimdj4O@!f>--F+{r5AA5T8!XE2_jIu#WyT;nZmAndX(J4U ze*CKI2exKsl@MTMRhu*fJ-~5WOr@qtcs}Zb1EL^6mYyx$-z6ktT4NT3W}oER3b=Ei zoN^^$w(YkaP+v_b=V|j{-dgfbLTia!#CXG_gNOr#BgF>&^p|%GiS5?M)A9bANA-K| zB`msK;uKBV#O%`k@=AeUqCmGLC4sga=3%znXzG9L2pi;GV*WGsIqTeOb`(KLB20;Ky4*8fsPo0+VSZ}E`(X6dsgPLX+B z8t5QQ3Ov>c_C1F&>E0Pwa8n|sN3l4o@hY0)Tu%PhCHD;Vt#1x)KA%L8JIi`*h%KW- zOWIfHplVQrygR#dL+^_vleVrYKe@v*;=ypu2MrwwghkQ`>%Xv?`r1x++G>D@Hdaru&+<4Xo;M{}iV!xm@}*M2Vz**tIa* z3=33BTGXc<6c+UIQXa#H(#shjI?~Z*IDe_m!!-B{RTFDHu21vWl# z(Dc~rL&FvMu-tp^YMT2!oVh}SpG$bMoowX&`9xtkMOP9}gT=j%oDr(Sv+1&X?mVk#J4*&WN?qqHdC;|tNwal$_a$b@L}@e z^-LjQ;(@luN?$S;mJR!SjnT-_CV%ry;ZC0<)tF#>uI7C#GF420yk1CGXMdYiA%QTe z2EUN-?EMUWfqD*7u|ahz2=6>KBwAvk*`RdyLKvGfh6^4~X~3ReL8aAH#2$%(G;Hd+ zw_BM=kQgB`7lUCA4CDLN3ccDA4JS#2#Yy}v537n%)6A`zlB$QAp3S{l*UVzXSS7y0 z8ZuN^B+<{YTzi$9daK+4<@TMO#M_?#C5|XUDWO%mgb-&saSB~LQVoo#rHs^`oR}C9 zBResE^5rIT2f0Ch?_2hwzkp@Mo)BReCXW>Qoq}AsdW!?)U6aFLbj#-S)eS>oc-`&U zQ20aoqf+Y_M=zsMm!PzuO38PV5#6#guv~)Z@8?e9M32I#@(G z;6uCv3R0mgsQbe+kL2xjxo21+&f_P$+2zUWF4khGu$n`q0biLArDn{+osXQX;c{NC zLRMQaKyqA97{%J;5hGpuOrPS=&9Y|xJK8#mR;z5Ndm18DE$yeQSzNa$T z^Ur82faP3Wtt>ZSo?@C`setJv$S_GFgr8|sHVLM@AgHf^oOY4&#d_$n<9gR@=}>W; zZCT9~`FM&7~m-6!J| zclsZAi}6`{Y)qUo>i2Ln=E7`z%%$d4v2GQ9REUGx_{&(5a7uVNsaOKhdSczbKtO7o z%-NUPlz=%?T$XsNjE`kJcp~m9*_XH`PyC||ALK3AJ!EDTEmY&s??hQ=fCAJI3fFQRwxq70lU#OqQTP4->YHO;NfB`&dUKd!(h}tgZ5i)ADNzO9CwaQ< zyb)^#Ozj;YH5>t(PvV`l&f7%%op9MncP2VxWQWM#JgTmD3D!3z>tJ!GdXPy%=DG=M z4E35iyiBAAR1HEyJ-_<@nflAAhSyr*N*qTc=t`FcB8K{qItmZG&L&7CtATW)xy7;8 zJtZ+>uvNQmWG1PGfeSG*`4Twv;71fj4n5oGziGQyl`N_Dw7gxDVfNae<*vy;6$UCe zJCV<_EWI_2iZG;~nN$os-6BzRUw;dhDe)F^!gNT@tz2CNaW!mnPd#;t0Ns74&ujW7 zS^1EY;YQ+fzr=W^6vRZxHV?W1rax@?Izs1}#M|JLf%2M&;nH<9t!el6@TX^SMeS^f zA{B>H122*8K7yk|(9~OE_3d1VU}p|gaEp`^I5b7Jd)i!E>PFg^rW28u*YH%jmnYk3 z&5}{1WRK}&WZ*!O-JV=y>bK5TDyP1tO^5kTsxMau&dsXN-Gv|Lt%U0VqfTV>dkinJ zhoVF4+ck@l!8h&K??%G(x^O+rsnpLp>g1JOccprakezr^7bTpaAeWiQtG_jQ9x;+} zBBUlyWoyab#?=&fHplQjS`b*RP+ldi;0_VDz{0?V3LbWkH|V^DweOLnoA@>_^6avuMymR#We6yhx&Qzkt}zuDuc_XOv}KL)=}TLu-mP!BjdIFNh@Dd7=VpgJLDUXOf2)TO*byHlE=<@U0aR zp7&4Ag}}micx4c@#DemkykL`f%^Wi!T+%EB41^X*ahb&DfW^eQ8q(WLa}@`LrBbQ- zTUvnrnxD8Hx70%J*;Y(3@drjoWajC`;zk~?WaS(LB)x>?fkyP%P1-*fr4s5K`YX)w z_K;jOaR2BG&ZPW9J0+)73HLc`*XN3+b3Or<%paAO0x0;jv;fXI*N(^?`W9ea0#`O zko>-tN{>!{lg}oJV0(8mRcR~bFS;PiwM9qT*S~JKn*vNVs%H zaf*5kZvHVs0eJomAYSj!;v;%Z&p^4f-5sRz`Q-Fmv(=;+2kw|5lZD)*Lk?tcj}4+l zRu497@Wx6xR0(v8zd^i&JpTUTFwOv*^ zlb}bHBm`1FP~V$t#{)wuPKKPe7PpP7i}cqIICkkDOJ&kzTPIEnA~Up)*-=3UlF?#J zqydT?A^9UUuHRb1^VG>H5MY+WTAOWzLFrYAb!rXXHCfs4wQWABV1^^3QcGvtDPtkZ zyU0MP}j znl~5yRpTW%uAhv1Iok7>U`KQBagX`U#o|ZK`LI9~M5>BsY}Zz<=1>apcZLh7AaiXs zqqK;!lRXjNQp(^39N!YvnoIEXJ%Y&Z1ML_c1Fazy%|D|Ai;i;op&kYM=cV~4>Jj+C zFjuWgAQdR(6W=agePc{nr)ubo_J^N~i_%UW{rlm;rzsF}?_(hGZ zmmhC#6b_@SVWD8PcS|7%3(|>9lFh%kgo02$0C`E;fJd2u2r~JnUo_uZq9Ogz+)~0+ zNkm(wMDWQ;4@~Nyr^0-rpwZ$3f28@K@nj+QQ6oFTPufL|7R9M>Y4n zf|dlq6Cf)r9b^dj7ccl{8VX9`?_@ z=9OH%x-Yi?`^T3rOR*emJE+3m^F&J2D1=JEh-)5X?p zYwsN5zAeDF?`c%}*c7ksGnC)7Q6-c|5$(4)W&Nw}MBDB@!HT%Lw~_Ky*VcFIesR>#aF!#~*8?J>t%?ijo(1eTV&i8lc-?`m6k3 zz2YT2PjaS_jND5e7xo5sZ$~K}fr#ufWTj#pt#%exmO%MI(WiY0v(R$g8X__LxTj+O zGXnh&f6bw>11A2OE^GsTOG_i4$N1Nh*I&Oj(l2UyIbL)Is~e~MfGf4Yhu|wqUY=F% zM#fT)>CIb1ZlpE50XSyz`w4mxZ#Jo@16sv)iZ}=l3qjVDHXcujWoHTMGNX*6G;rp$ zj4| zur>Zn!pGu74f>Rk$Fuaw>DNq!vn*yd$Ng`%{?wE9ty#rnodq#C36fjzmP)^3VmiaA z4g^|@bFQ+fDEVgRG~C>6$R++MBZE%WO>wm&scaIXC5?1NT+;w78^U#TygcT8G!S&O z7#XNJj>=kaUb4|Y|77ZN74JuOR%I>@(+e|a3)uFi1xMq-+@M+Ma~5xq{Jg1Ii^}H_ z-%rv_=yPp~9Qs4y7^C%b8E-*IYRzJS5SwwlJL8#Fc^u;UOwvcj6kprD&*W~r8~E(& zM1;HJ=2sd;0)A>f7o9bG`QITmoM4<9N-vc$DYeP=&-LKK5g2qa<>zHN+q;clH!!w0 zLA)|xD^i1mCo2#=cwTT%Wn#2W^u+C^7rxC^-uP6F5n{{zqzjR5QifpCAFv9M$%W@a z_X^+CS}WPRMSbfzd!-&O9b^_Ze-~Zg!gv!hN@1;d4qMXZo0QIu!Re9Vy$dARW3B?!+n zn0!0TY*NFffndQIviTNEy+?d-?Rk7Bm-UdiSamWNeX9E(%Z$GVsvc*5u5ylsEDv;h zF_HvaZ7=@lRVhy-{Z8m|iH&|OAF%AW$LEO%N;!A3hnt znEaSi9`d~^XWJN&s~{J2V+8cy4CAejWfxk0YRN?l=RV>=`9dG6l~tNS_uXpvE
zUFl9^-MdjEs@$B#-m2{3Y(9LKk)6Y6VlSgj6w1?fM@we>aa?D5YUF50n066Op5cRD z%mjGVnP+w{)FZAKHf`NFD1SgHNB53J}P&~)-WoV2Car&bEO)a zi{;^ae$H@dFoHCDo>5HJTm zGtVEFH{4>$D6KJm^s|fjK2Nv%b&R9-pR?ASdvO1SjA-G_q&Hae;G}6$=)+RD48&7G z04mcOSrfFpF&A)U)ZmEsAq%Vf=44T!L2Y`z^4D4!gxwv^n=~>_ z90L8mGfOEr@l%?$hgeUj9R~%Cy5uLg0*grSO6mHnNVAD+64UbK}SL&2ZKqDYmPPQOsmo#ZZeOX zk#&P83UNEw_}$F-;KmDhJ7>ecd5ITpOaq92j)9WXIM1#CseHxk1G(i>Th9u6m0~}v zguN(z1;oN5JVj%SCJeVg#@b7z=?dG&tQn>CeMsBQI?@!^c~Wo zizo+<*qMappY=-}V(0-9I`Xnd1Je~$wwcH4CAR*F@e$mSR&#u_3}WORU_~;Rt(~(z z5bX9y4EFF5-p5eu;oMeNRgvs?72f46I4!wSTv2c}#zHjJj@|oruY%m>ibsgcT%}^;FDf@2QU-zkCBYlZG)m8Q`Lw=UAW38S-SB|hXT<&fTQl# zkD*p-@PF71Ynu}+9P2A0uv~^{c--vs=1hFUZ!u6h7amuc_;YTf#wAp|A*DevzVsD< z{EqO9OX2JG)?F&K2Cipm_>!$U5wiVe`QT8tvghJwBMpMV_rq%>5@J?9P_VS(Lc{p} zJ7m-~bn+{|HRgQ3DxsFDJEVLG`4nKo{DRha*u?z6IVnN!-=DsQB#EHD`}gD>$pJC- zcbK*+j-~rOIy)}lYnuk6WJZmHDopv6E)&ByXW~q8R_|OgXT6inwO$2nsQ95%jmYR0 zX6z#}{((A>>6{QBSEq2&D7!&59O8bUlnGE3D%q7N;Q)p#4g zXrVe-F55Gy)poe5vXYn|6kmOwTzNN3-Jn2xKj4Pl%@a=IreaXV(2y3dC>Z|xU_i{n zIOX&>Ue*kd5_Rb#eDp^4=!kQX#&&6n|EohNyab7Q`9L1lfU_l5$@04lNO&fSIwu=4 z7*S2nk|n5DYBaVbJm-Lr}crEw(TygDU^DAO7IC!3+FO;>taWHo~z$C+7y1Aq{zRo3klJR(=eq3(jG%*k5lY|;X@ zUB0UwavO{_9AC`c_PNAiWYH#C%^o4?ppF0TBpPZVf)xRw{J>nysQg-F9I%*IIMCfS zA?rj-{ooeFNT)QQd$S(vpWaVul3WQd96!22b2xfZ1iJ5FclaaqA z;6>ZP1XI~|wv6${jr0lW&3P9h#Smkg?42@5yDb_BWLkjj6jsXM81|!1!_ibOSMvKJ z-G1vBndu$oh>N*$?~tb1A1p~9C^TB!uCEgB01golRwKCw!L-3wFQJ}Wja&o5MbAQ0 zvCLE{l2m7TF6z6|XgqaM6K&=ojpGhloxR^Qum|M=M{b(IEGI8Z2lyv{m!9wjMFiB? z3m(26cU>5E3Aw0WzhaYK3O}(cE+MIhF~rnc996f`Y4^!cR~g=VRZdP}EhjBlZ3R}{ z(@8pDQb~-*k2Cw3YEj{@04>W{DrE?+D3GB!rLAxl7Yw@aY&D2DpTaa{& zn1VCcUVxU$Aph6eO9%`Atc_gFRZ-yON>*bOr8;K%ma$l0$yzzyn}xY0j3$(5OqaH~ z+D?DKEZkmWLk0Tt{8BJSRhlvH8x0pEBIB~IW->>zBkY&~VdtQ?{_ZSXz}oP5;c}U_ z8nDUu$4g8m*BdWH$G}jxNjYEC$cr%7n&zP?3X+f@YsBsF&h4F2I@OuB?-DP)7qAZg z)DyEJ2(S!*f!;2e@>*lvyVWq!A`Ty*sF7j+)Xs5UYT}$m5XY1)<^ria=2Cxdhu!)W zuhFSr^WGoaJ&;)o%os_PZ&t-W-=dpi;)w z?MU5(>z>I;xW6ntQhPTx%jXtb6}evfjq)97@AanMf|j@=6`OaVfZtX`2tNT#L&Vd! zH7c&LpYz{H7+Gi+YVb1E@Huq$Yms9-``larXNQz1`G zG9)=n0dK3_UB$op;_sl#YtZ!jdT39U2x>$rkXi|Uz6v5J$N&ezA*6j5_cG|}qyivP z!PB^u&N{w59-2nvFBsxB2`8~-bwZ{ta#f&0{xwxo>h0zak3&4*#NjRb}dd>BzDX?`%AQfn5Y1jdObK7VNnfe z|Cck~W4+{*eUf_@&hr|?yrDnJS_?KP@D+VY9)o0JXv0vv2*@rR;_u5@ysOB>gP2a+ z;ADh_;(ue8SgXLF{krn#$nWQH|7<4J21TGw6d64N#2PYFdQiTXP~7$UbOUO?%VgYh!d4kcisCH93!h=kP4(Yqfd0? zp(P9Sf56J^St0-_p?%`ZzErPhs|H7DQ_E;?+HY>Cc&l%V`m*O;vVrR*QYgii5cr)| zqR}SdSq0dh6~UDCK`}M1kfvRPAjAaMNE>w#u?d-+yBr)`G4QRgf!ZD3m-@Cn1XP^i z^O|`tU=q4)*;OGG0#-qlL@DMAfYePzyp0@0oq>`gpjg4lYKV_1AL*sudNX*Dq5php z|QKsXLt=OXk%N_C}02 zoUokR^jcOUIw#CtiQyX#(WOc_P84Uf{Jkc)Z}15=Dm-30;V@%%ReQ!*9sZI^#5aI#lssgh7^C{eNV!z>V?%N^{qZbcd2ci!ZEB0VL8^x0*fsTmJcR zj!KONiMPA}vj)Z+V;mK9&bFwlpt6VAY3^{n@AlnU#U;@!Y>is*O54V}x!NAHz3r*B zzm_(IA?m*1O}zjCSqMV<$)WTz_1frnO9Oyi7E-|OvQJGf7r+LEcCcJ=Miyk~T-d+R zC`~6`wFJ%?<7%+%>c=9P3Wv*9q3*W-3IwkaFiW1S@$o$c7*ejX$iljdfhdDY!+BI= zA%iO-@5B!<{#`t3UrOC48FmIw17XXnbu~B|BOjZ^>4R+kH#Z+k3byAzxa+aNh|U^+ zur)(^s&ho1ywqUZ_5dtASO-aeavGXqXiMp?gXb5N19lE|!ajaX!)ZJ$_ZJQd&Avud#=H`cW76<+kigrqp++a=q_rwzQz5Z=Lq11b52vMl1qC?w zHj)K&l-|D*;~jTe9ar14DW$5?1WP`_3nW6UCiscopb))CuXU|~zXWYJLQ-bh9)OYn zGhgdY7}let!#6aLmrUxD6VheN$n~$3n%Dg697X-UXP4nV&(1%&r#|M~GZL%G0I8kk z^H~%nAj~&f4V3qjd|nCQXFqFB4hbZZx-&bMd?B98&%0N}S?{_ht?Z_iW&x4GTZY_6 zH5vO+w5Picf)F1M>AmLNYg$UCd|zp014V`K+NXJ3IL}~$O9Mk}vOS}ebaiTYe3s_N z6cpnphL}7fxiB)n{X-|6d>(S!zL#0hU8|SMzW~|sKJ}2~!sf^NVsQQ$G!T%T53^zD zw_&%VE&+In_a(6IYEzf-X;V}=)hCYeBQMclH(dJuBOzgOO_Pz9%CvwUv*oNz=cLQm zQv?=}Zh8-P+yCJoQ6}O>%sn@#Sa4%vmP9){YPweP;AjqMIYI^yw)YGzkLPYGS=)#U zII|#Cc}E9;(NUofx_gm1~A~7O^G8nZLZ2l1BID}74OHGUFan&2!v_UnR zyW9*T!w%3hb$rX27}CA^C^ByATA&B(>(JEtClGasf!lz8uZWhxg1k9)#QWJjSoc@_1>_(m zFeja}JFF=C#{HM2S%5e8i$hI#Zacj3h-t=CtVCV z{s%6L#8J#WnPXO@YI*^^W|04fu$?zpwXZmMPnxjlHD`X+ovG&^nK&$MQF9g8N_F>P z-leWN6+VawmN^j&O)lHvvNyFpA!r8>w4A-E?6t4%8RjYEn!>E#!BK6_5#xbM<>t>t1v893{+{4EZDxoi`+VkmKW+hfGuT_Mb? z)0<;1nncfy3720(q4b)mHC=?S)QMU-ea_D0%pV3^Y@)JD?5IzC;yJRcidsAM4_1#E zQyl>lt9jSl<9 zkh(%JLF>j!?L z<_Pl!fnam+C!lMtAzO#;YRf|X^d|qo@ zW#Igq;et9{|0Q>zR%frnLEZ_xIjoHOZnhj2I_$7lVJ_+pz;rrNy z3$bT`aOd+I-&#xz4<^gYW~4Y=bmDVn%bi^nH(N2-%MktbeJLlDDDL&I z2hDnr3-PyyuWkm@e&FuldI*OP>pT*{n{(s3<9A{g-226{YeqJ@C&0gujQp|6sJrO8 z`#`cYOv}gXPy{HU8o z%_T$xHIxK>1dSR1^}`qV`!!Q{gIDF*#E^1_O;P>}X+me@j#pGb>f`yL@5Px~`Nmbg zf%DXu>b+oDJ1c*ya0$VAFuC#jI5AC!m!UExS*mMEKe~n7TDa>ZDo-La?%c4?W-lm= z59shsoqtaQ8wgp)TdfN9w|TLq)<%+wXnDA?y0aN<%3dXnj{LBdnmoA&ryc6*WKnL8 zDju+#dJY-Z=F9$>@(>g0r-yRV+tU}MrL9Og62FT9@`Z%+Qcm7e#ILZjzIteE8;iqp z2%yjNdA#D^R_ed{1A9qIXOimO4Bho7H_yZ}V1NG2#)sL=j|-7FjPjiXp`sto`Kt0J zy0vp=%gsn{b9{XM@_i8?FO*eu^-0oUF+rFsAmnhq7Reb{+=n~ImosULzeD;7`M=7M zlo@(@%TS>u)p|1%wV&2SH=(Wwc|7 zy^%3gONVR8=ia~Dg_-P9Tm5a5_d(ScL7#B7`nQBK-{L$wjm=TXb#mLG1gymvM}+D> zSo-_20J9Mb1RIH`Y7*;O)$cLURsE@ty(C2tPt@6#oDE44fZ3G&#m~}r zdFNUKkWGk7!$=lp;*s2)T7mcpZ&*mQn4ER^O$X&LQS_zwQb!=*%@}b)H^QXHG5Nte zzARqf`=lto=)FRml_(}DapE#i-6L9KWX2wlrI0NhpTDW_3BNhI+%$a@B3AUt)fp>l zPqdiF+b9M0;|Ag;z;f2EZ&@{)v{lBdCbGb3A?BPn?JhewE}C@mQQpG4^s2vQH*_{d zHY7wv=Ssdq`kSL;NbFCIm@LaZYrZc-GRyMyD{#kn+mQP~bidyfSUWuy>KK#Vs6 z?S>OBvNmHka~eA33dKnmV|W)*a!);6vt#hVGDZnd3+{3iY@Ry)QPOy)c=-raKp)GZL%d$B*? zR{&a3h1EnD0paF*Xc*N5O+A8R;F+bkhAvLl-1$2BRhD86P5}<79B=nesx?E2YeciZ z&td1V**(wO17rGz{x;wwK&sLFpzGPZ2fRIxX-76?!!8?X1d9|J^{%bi^(8@|@Qoq) z#G8n?vP}SZ>F1%d4mEGFx(FknPWm1S`&syt`kM05)%eHUlkG+HJDZF+e<^m;#R8ET zmW*X~N$12IdhPJ+g7_@8)Rc>ECBsO}f{=Gk1l9wkI2;+9C8wKmPm{19ku0Rt|1A;) zk}4q2y1wPFr%#!Ys>NxU86RPc~q<>xtt# zgSGT~dhk3+1^`4(I5osg^uD5%IZREE&sHY_INb=(i7soE<<@`82bz88QamA0?z@en zJ24BlPH@p}Qs493M`PkS;DLy05yb@Y>obwQ6?_@xDT#cFicFa;6sAEfEO095Zoz@B$_>#nNT{(7+*9G>i=u75~NQ9jH+O$RAn)+B_y z(KG#E9BT`9=R~v7-5tFh%pH;dyU%Z!e3ZLsQ6$b}#7?X?dW^a2{Y6Cp#=P@c-%ZFpz`wJX)~yV* zGICcc`@}9uMChQsYxM(DokJxCfKs669Mo}DQFN1Wc16R;(x!PO;{i}k8Fy(?vL3M+ z>&G$~kJ}>gQ@K&_?c%DlTKNGH(kWqb$B~jg^2(!df_Ou}U zLshM%%Cyb)X{PW%rI&3BjdJUVZWdTB zsc!hZeAWriT^AYc`Rca+=@D{ne$$0ux(xivDr=yzYT3Eq868}j6TpGbeJtm#sRbap zU$aZjr7eovskDMd+p12)o+T#cXFukM)o^R(O^OHux&P{We3X}@RFJIpL$VKv zMXLWcCo76a!M@9OG+H{1_I=}{OTw%O)fXN(e{Z_=KajdKmLP%%3BmjO>*o=D9fA+t z@qZ@Xi(+N5iV=Pe=iedgq#B@+n77+4o@HyqE=(n>fcyYfdNs;oiphgj)R<{TF+@f% z<j&&{$3TjTd8$A+=CI4v(XpzRR_!^58eIhgD`VpI{RdDl{odw$J zrIIK1Q_y&5o&#zmN>N|x)a?cpy8P1rI`Uh=#5gVs;$^^YNX$41h(8oY}J z>2dW8_mfyknz&RkQ$baHawbZesKZI=j7o7PscaBQ`mByzTvJ}%Pj{P;{nxYj;zuC^ zg@ud8oSq24AMl^{yU^Iw=gVB3?8juSmfPrx;tSCavvQCguY9eca5AB9ZPtW{Rv9k# zYI=7hNs3}f7;5!s^={+YM2t%{G{xl|45!cqnxlDA`aIFB?U9dm3y4b7|13SREwI-ympX% zM-AW}uE-=l+ng#qCFRvB@W241kG1daEpEDXiD0aPdY<)RW5tD(UAe;|_)U(p;X<^( zQhKbUFOht~JMuyOY^|#zrzZhOWEt052nfMZNMn;XSx!&yCadQywg}7Hr1=XjqH1~n z)P+ivDaF6D>#U}E_p7&AEB|Dsn}?guJ>@HMeM5Qf2vj*W(H^;vC~lg5I#3*n0b zl&3cHX5+IGkMf1cHbpgr1Ue~tF1z4E*u;Iu5@VgVjL#F`8TM?t>=M0_X(pnO8=Hxt zwW+Y)dq8c%=4ph;utSRMuwn z&axi-%ts@G;3!U^<}#&7YDbvKu-9F4h~0Q04zBpJzT)WcIobv~x3-k@`+=A$YXJlm zb&?mb-???A0=FwiRRO_Ce5)GaB)$8c0u&e9iZX7!o__@MIZ=G^~ zUqcuHv5Kr=X;I1{-)-+fdXGzn(fMJ%HuEqI&`3Uaj;-kxw|museR7<_x&iumF#?dt zWKT`4(2eP*Lf1A=Q`FbC2^BghaVyfR(o;a%!f~x$R8ESSizUQ(t}k;m(!_eMbTb`2 z<051joXaVst^bE-^}^p#n{Fka{Q>k#4_1-X#L%7yR~fMNlyyI!W@o!dxI1I^juby*wyU%gRAxMGIm=NSmSJNMtZ z8Sd`jQ__a!!dKtU$ze;nSjP9M-{8nG$3J5XUBnT@$#uL1PKFRtdmM}xzVpPIs}S`*9Sh+qi<^jt2fs<%WwOhyq_pPs$~by3I&eK;myBE4L3( z%C@@)-256?&Y=y^q$w|TXY`5HIQJXDHBrTDxc9WsATyo}F#dW^Chiu}MIucKf1VC;LtN5qs_f2bd8?_q0s~-$HgXGQ&D*8g_ z<{#bDR(sm&_8~|)d{-A~z$OY+b^LaLR0MyRh$LPTKF^7I%i8W2v1is@ja5dX@;)*R zp`p4?aiYnkv4H>l7HJ||Lw!u)dc@Ekjl?JHw@i;Lo6{-X-N8fTim&)%ACv}VOkTrQpcyE z!>7g(L2tHP^`~U3(p#icjx$k-#FB46ElLdH%U_#leY!YNotSg|*m>r^to@5oh2PS< z(~2#+?8wEJx9I!1<7y-O`WospsG21m=*MB#qokv``C%dRBD6<%J>!5ohiruHuVe}g zzS;n%xkaK&5L>i6AocJ013+cwe#Fd1PMB>?RN}SJ;NuD)0BBQwF?|~J$w@#i9s+oU zibKgTr+ z7H2Yf{k!)(#|=R6t?>aJNxytBvL!^arXPD%jTOmjsKQvI>q+`@GkvOZRRs5H}UCBPknGjb4;P+t6*7~O5oR`IIFI1qzCFuj-+w*|^<6`#}sSoZ5 z`M4zfPtE9s4OXv~YD7D95$SDvLb;&3p|CS^*D5Zcm}ttMnzBaUV}NX8@8M)k)SCVy z2J$MW-nQTZ0)~j#D`VdMyZA!IN6H(V^8Z+h>eS{)RTNJ+M66&=qZAwu(13TlPS4nlIyRT6BqB#<@d1?i4sY z-8AHatzVP6eQmyWb_|nd1Q-lz+cR4(yb(C?#&@6IYCFXQD)W0%2opnPiYd-gc8nK& zFP*E>u2VjNI$!1Mp_484`63WRnTZ=eWre^<_jiI2`02OlwkTUXMPQo%b7@Q|8_P)m$%j;fxgC1j91H6PV~J)efYC{ye5#W~|)6uQ4QD`WFdF!c<=oMxnJN zJ@CEk+^9gPwmPm7{T;TwlBs@KNONV#WTnfS({wYd2R_5is_^x9?r>kiFPal9WF4$` zKHeu@-XB-hRdpE}wDgY&Z+5#?9m%$|AuyUf%m_%QfC#ZY^rd zTU}LJItl|V8(lzILm;IyEV$+73UKLfWU|&b_s^l?Q@^WYf6vWAaef4DeF z`>tPlnWwTmH4J^TdHw#cIas4Vv|g69j8T@vnnE)ZP= zk`l(ID6)h>zWkspohLH?n63wtIXR>T$!V0!FphaS|M%(64E9ZbRLYAP_IrL5voudD z<#>!r?T(i29mCHrm46O~IXQzi&rG=K<~j{g3Oj(7>2HJ2UCAxi#07T+BCNsSUSpr3)s)mY z;?>^dTjOlXu|-hP`dF|yXGS-e|6^*sLGX`DUw+ww4+h1>y!n19xS^(tJ`vdKn!7Lf zjmmKVu(_wNP08SwV+cbt{lWRC)-MNIxYhS++)IKlDIm(wG9WRZAt`d z?hFLH+^8yM+2GG`U-ceIKGa41Fdq)TH+-?Q{2CKvf4PgGLhSF}{cQ)@@Ad(jAjbM1 zCBOaK9A>Z%zJ761ezW5_lnwCgjdKHgG8kUPvVl?g8Jy1iEjaa4x;`LL91leBdxwub zGG5~<7p9cUCqy7>o{7glpx{@->+hC}hvA=dgg6SA_b9hNdU2aQy*qX(yH_Qt3l|=r z?*T+1>q}_e&FI@BodDW2z%jb0DCWR$XaV#l`>W_Pg=YkMqgx;PLG6_usyXD3m@cQ* z&Is#2a>}{%_1IZ|W6G!}g`+Fqn|N2 zdOim%{bHQjCpFe-u%_tPrX+~Yqx8nkZfmhdNPOIsl(d9OWY=Qs?|D(UGjBs<)t?Qg zcXiXGPs_*RaO9l^^XQNkiKg-CoHbgZOPOA9P8?S9>Lzoe<*+OXr}Jd&dLk8y2~9}+ z0$gq@ZFJq!P1*2p+e%d`F5lxh5!sI!Jwl8KlaURqS2<0t=)U6M!f`WNfsE*PdC zOdS#PIU=CZ*;p&$Z>Iu_P(&@y7D7rbJGL8p2NNX6;w})RPs-w zu-}D0Y5A_t^;S+mvPu8HyUT?MFH`hQ#5>WuDJ~obFDXyVMVs{qEa#+V1ehBpg52Xm z^qynNv)$QHd_h*rIEi0}1qV5{+M!&mjMkhP?0^1-mkNm!e8p2)g)2jZA|AA;R`I^Z z>T7;>`^gcTQ%=mG=(-w&l$3V4-RVhHCX!g=+@ETDu-~X>H{%p=-L-Q6to;k zR+wEXDd^|JTyq)w*S;H81C8UY)Yt62k1BPLaN<{;R^2cSq$N21nHG~PD4uxJ3MOI|RJps({|iet}xi>l97;eqSxuY#p-2u7AtJGpX!< zey!{bH(l~dNkttX|7rHzOQhFjtuud&p%85`M*>610)}JtYRnMfHnCeA!nvI9j(b6a zJl>YSsb9&OCXX?amseN2tf)+ku^TJnFTd0R@zxS>*Gh6djsSIV_XoJ376>{m&Ack2 z*M74n$1LNu|LI?*`lGSDyIc%E7@Xw>TTexx*C)SC?m&KXeJ$b`D+c#;1@N9`@Gi*iRfIzUrdCe^7{+Ww6Z2Iyd2 zaj56}f2ex%c&N8O@c-Tl*|)I|S`;$YnHc+3A=#HKk!>=_zROxBWE;h`@01eB5=OSh zGNX(=AwtHUeaX)EO!xcw{vN;one#s9yw2;q&TDzT1jan8pr8B*#gYY|HV$kVm6YwH zn&(v`+g*raMfLYQzUdo}1bQ2cAa6ngc0$5|$6d={Dt(kK_UaH(D!0G#D5tm@#{BX* z(TEwFoD)k`ny2Z7Ik^Op3uE14QvB=qdNa%T?*dho;a1m7$4F3L+y%`8$(sLn3wn;T z{~4%=6-^|7V}&%ARX=6aGl-sOe{Mk)5Wh>MXpmlW(+)GMrN|*`e;6vCiFQ2$R}9NE z5o`IkZh{JE&k9KAbjzY;;8A5rtb_Yd zrC13H9I>8C#))oB)ZNe^vMZ@J-)`mvU#YNthDNw@7pqULJFUYX%Lk(!c~v3(5HUn- z`1nu+bfbt23V%nEXqAHovZXD;@epEMoY!wV>lii2eWp+#NYZ zo4wy+Vfy=_+=FSJGI-J@w5MkoQ`09eLVm`KN6AL8_?Yiu&FRSu})1eO7B+ekZkQVNZZ$dp^;{S-S z*vrJkyeLKu-MrRvDt%_GA$F+1CTIGZlD0%(+3{ske*q3J^Ei%>SuIOQC_V@@14~yL zUwp849_>+aQ!6iPK!$ITwbB^%mFmW+U@d>~&kc_@Ac-o-ZaviUZ=a(#SUW9#pkDp3 zTpe6g!pUXxh+@f~=`Z(cMJ%VJ#h$nwbM99XU{YwiMwdJ6-QVAU9}naLqgZMuFQG1{ zH}%637hKZu_*Gew!L+R8cf>wBjpCSRc2&riVXeW}A=hy%o*7f-@BZI7;xwZ}`1Iz; z8-In;6ss(*i292KxxwslvHDwI9ch~2J@T(&9Npsibayr+5G5+LsX!1l3?3H?epVdD zABWu{iG|0Uf?~>L*0^tRZD*nveMa8ycY6)yzrN?kpuI#f`g|In%ypLlS){@esfBfi zDism)STm}@ST1oJY$=sxu7JnR`0<+u%OYf+;}JAixV^IL{~HP_iPJAFG$2poefAnb z-1^HSmvIq2b}$&`3{jk1VJn&fVgj$FTvji8rFqJ6IQLLw;ycLC>eNb;4(%%BK=yEu zQVXTWFGb3YxZb^8x&0D`#{H(B@2QzjNrloi4TeD*O=XYY{sC!}7%#8&ez5=O$v0SM zKEtvzQ+b1$w&=Jz8Ar!{mdy<;P9@1Jqy9#%_p zqgwBSppf#wlX_pJ>rTHPK55$)C7pliyt9Rx{C_eLE0=5*3(AhgdoYWZd?9VV6Mm$Ya1* z%FW7wn#)v+DEsh|e3fjJkSgH0t0UOPaG5S=NE%jh85~``9NBX2GI7~rkDs@uV=B*6 zG3hN!3cimECl)@P7441L{PNRj(_{549j_cVt?Z-Cy3&UO3(e@tZpxy1WohmBp$oK5 zda9Ve4a-GdtbL%Y5g(?aY;DaM9xri|qM!p3j_v#Dppe9opV6qDB0Df^X+%Zsr;FX7 z%&o*2@wDiZ8dn%NiFy~zb6dZqGe1)w8OuxVcWGC&e*qMZ`cH{2W8R|AEsGAGZF>(8 z`<{I?PHDX!10k-wMJ0sd&kMsV=Eh%b5AUvCu8j*_e0vtvxK3P-aims%Ez!1dR2gV1 zHCUj;NgbaTefWC1dX~aR(KT_m33fL=tz!mkir1;augjBJloim-Vvmjlqqt#P6 zSD0ZvdL1r4Ks&&Nc_la0+j#HN$VpJ|GNb?5M?vv(WUqdt|MKQ(W_*~d5oIA1Wbb{= zH(&3xjfNEGRjWI*2MtPXIe>uBE?KVd*LvVAGSJ9MrgkszzFn%mw2E9e1NJZqj?}Sf zlO;6fkwfqMLA94aL1u~ZpIzdxLwocc{r+AlV)k_3Lc>uKcH^qJr%AP3r~dTM%Fv82 zZ?2K^;14rRPQ&#?mJRyy_s*gpDqS*vc*BsKW*F&qQ8YcFXFA>S2{{<=)*R&Or8W9R zg4mk9an!acnD!=JC3@Fum@cj4whzeeUiudtFrvZK)Whq>?(exckq22?^iZpm*Lin1 zQstIq;)HNo7Cza2Tg{L>O z8p)fbyHgW1?TasmLJ%TMI$6Eci3$DotxELJmW17Qaq?5?gKDN6Dkk_-gDG3;p^T#c z?W8C@v^deC{S1w=21t$oPUGfeI9#s`4QExq<3tK@26rqBXFEQ@5PubT4OV=z)7h>3 zbdgeS``_+@qoH!nBmP(WC2&O-dgGBuP6ukD$F#H8$yEJ=#y&Mei~wunPjptdWrt(o z7k#p{8m94j95eyA#ej`^Y+e~4g?V7~`uxcxC@(xfo8;NZTR?qw(98eE=UrUTsxoEo z-`QNuUzhu+6lsA-OZ3njF8I9AJKe2z*&^7JdoUE{d0W}we;bb&YxlPDRu2UF25HtP zv$xNA1tLGe0udhh?z=tjFb~mdx8dK;G%v;VKfOdVR#@H;M{s(Zm{@Qdzw$BIQ}L?b zaQ^wqrq0TPCO!V$n58YTI@(-RfT;I_c>BI9)5g+nxon3WP8Xjg^QNAz;}#X5y_2zA z9e2rl{p028wiHSE-+I3l^=y;`HZ}6eo@0peDrbYH-w{*yNu?7N_G%t8`c3>vBPk*< zM2EdrH7Bs-&d!GPICU)Fpu~@zO*2)RzCcx1BUJ=QuDm&- zUN5F(doPo2+ndsMl+c6C6yoDVl347Y+@w5_jb3M-q4}|vuxQD|9K;Cw!eOVEgsal; zjZoLV3q*{lJMAOw4Al9ENZQ+YV6D1Lb)S^l!<}QHM-x442$RqN9bl_LrGv&m{?$N^ zF!7~26FNi+6(t^>bw;yVX*Nqb5uC4?SbHJ$e7~$7CKf8D*yLSCI#0@JNB!?37Fxq+ zZ5?S)2dOQ@B2?lV>|}wwN8bbA{#Kck*VMYVG{Yx~D@8&Tia%!_BQ@X(&DeJkB(Ue{ z=%UXl+l8?VMqQ#g*3@Go*Ck#eUO^SjDn7MflcNX4YvQXmv9u7|k@5h6F5~l5SmtwZ z2b^1+>D1J`ofeC#V8b!x(u=2JDxsm=u7!324Hp_k;}-zTsDgXx4DoIR``)0sPeen;m1{)>pO;TcuP5XrZ6qMN)h$dv z9V@SeNPn|@+d6>7*uMkv`fF33+~vQ}v{94pDB@W$yMl=rPFDYg$Jf?nBb#B(e1vW3 z|H&UVIVmmL?3K>s=KFlXHWqs5>uZFJ1kXbxEQ}*AX_8=xnU&M01CNHr);!q#QJpX- zbK+pxH-!Hkg4_+C{@`1Jv3$C+*SsrC9NyWpXq&sUkS*J+C5qkhzx!tjK$n%;jF`ew z`}5ou^q|Yn+Il-H-T%MspLfb7e%MzZAH_2$LXZm`6(S99Jne&j<20ckteiSCo;aF1(soP|3E=B(Xvdi}#(C{YD(A%h|9!t608y+SF!}&m+41 zfC|R-l?3*spXonKgq&LiQ|5zapjK(j7CpfD6%mxC( zBAB2{?o0Pov_XCB86y|sH}3HhlN2bL4Qh7hQBn7{MsXV7U|QdUf9GNm6-A2twkJK>Qzukz;nawqd~;KJZF~mstwt@(7_`&3)d`4JMpBC zL?TOOzYGR5dgTar^;MMIAnaX|;q^Nm}iLur-m zL>l`&9;5sg%%bFJdvr)A4v|3se*| z-(Y^`L1Zx!H?#04xifj=^s2S$H!&kd9^!>=8)jy(cM{Znu!%F#2uF&1Y-nVb{M5mR zdVp7$!Bjqr=c4WJwgryWi_>3zpSJH~S`(B#P7WtQ25eDg3O>cBc0R;1M7dKD!+yHa z>$c3l8(RRLlm;`l^mgbs46i!zLE^jw~gF(;dk5KTSRi-`=eh`AsYE9vuGdPX(&X zU2nc+{kZzyN$|RxA?BfTHr(OQOl?hB&1xR6u+ zrx%zxtXy0#wcUKiA=U2W!tp3bzivWxHa*Sdg#Ie3PBCxY!YzyeWr*-(Xt`D{a5K-Y zhVx)f30!ojFjj;BS_~EI^*@umzF<@TrY5k6>7arMhcr~U9~1{p6#I5VhcM=Z3Qg2u zO0|#wO}6zPwV0+-b0U3_Eph3F*arRXvhUpYcFpUMu8Lz&7xdT6x6#Urg}RbSE3c3p z<&sCu8sUO*5p%V!E2OO#6u-fSH5(0~(6vN@5mbyhyX&zr#|lOn&jY^|EtRE%_jGW~ z$Ysjm3}g>Fwv98Xy>nghhICvQv6)!}wg4!z^Lr6)Yi{s_E&7Kq~uMK~x0( zw*_=;_lxf4t_r8TdG6+F{@*amb_o!3$WWJLrWj}i1}C4UkoW%`zU^E=aSgZmu4lDd zVw{Q18SpJ8;*=alY|o6z|3V4&N3P}1rQZu9F%ivl*_~B8FGpF?UKO`cz9n?R-LGSV z&uQPy<;&JFQ)f!O4T8a%G+miUQGWXZ%vi|R@@u8nnZlZzIpo9mPWjB}f@WY3ll$qZ zI&K5OK4AMHC6X<?Q(wx?7Yd>q^gSx)6+bb;QULwAYIM3Y0B%Nj^I}2)c*7N&+6hbcQ7E+ zDU14O;;7K#ZBrm@jOUy+d)TWs2#23^XQcaY^QafFR8M)Lun1&YW3SrHK(s%n8Xs}i~GEmhfW8b&^`uIfzAxC`tU0=jsURX&i|OYtmA@9gt>-CjTQWyl9L$FHZcsA<4oeX}EG(P4UVqsEh(*fZ+DN%Og7 zSj-y`UlJ2QssxCQYSQy>Kj$`jK|c1{LB4(8wG`_8IWXAQ>rzjZG_N5X6-D@3w7YVt zAU|kw&#K}|Ik-*K35mp;(~XtECd7)DSc;h;0&xaf85$xa87a{t+ ze0qiD9PgP0T^gcB#a(X(r6N(;DpEWaN?~C zwdGH&Dz%7?&7}#x@OX=;QNHowE`o}5kRm5-0-tEbvC{ZrC-9C;+3rFFFfg&X`ZCHb z3kXt(0FajX@ULHq&ep)855fxX!|DEZ9lLFpPtlP?Ug2LPou9X2*)^+u(mOyVxrKz) zy9e~6E8Uu?qDwSQ@*>_=QVZSq({OWyI&&D!eL%%AZ@iFOO$*(EWa~G?mMpk%?CoWg zvv-#(Rnv7`M$3BI4~-|rJv+?dzb4{7;ybo2uB5ttRQINV`%hi;Qc70)Fvc1R5@xp; zgezQ!J3p`N)s~*EY-MlzlZ-iZ|ImrAirMg# z>8WBm5^>_xD!`n=PZVusY1FYB8PGgNG)yTt*`1s8k8>7OdNGX7U>!^ z3pSen+$i)^{l?ZeIp6`NO;nXoFl=lJFdunN!9{_1@G~>2CZu_Q8>w+KVd}vPRFVaB zXydz&7))G*P?u*_Ewt7bMG7EhDK(C~`ul4Gw|z4xL-XYC{v!tN!)u5`5J^X-mT$=E{nVDak$y@`!DwxMm zdkR;K=D(4yj`znyE)arM!T7b}4)R?%OPXqt5gyDLo{spUlknsruUNrt4d>;}{rkMV zL3zn7y;YyoUSwTSN~A^0Eqg0+o+Gj~d>uzla8X>~+@trGR@Ghv7^b@1p)aDW4Ut*z zyZ|pKHQS=|SWXY>?P2WRe5#H|p!8n8=OU#asKZ?L_y^xd+#rb5{(7lTy~|GZY$-um zxR{hWCGRr+Q9TyC!t?4j%62M`f>WuOiaVa08pdfWdiepcZgc_SKjf z=y#CzQe(eYwlr1X!vCW;X-ZxAS{Ia;n< zyg|5EthIA`Xpi_6Uwt)il!lopb^GY*cRKY|7wQh2y1V=Bf(@08667T?P~b{Yy~uk; zSe=h^>{nx86k6N69i~Kxm09=8Y%z2Xjcg{*QpW`*siWHFsg;G(E2|a?o=A5v#+nW` zI_E6~sA|1E9ToP* zfW?}=8M=JI@5LLerPd#h#Va!PV3PBCXG|K{K;6@Fj_rHq?WN{Ai7i2%GM{~C)O*lz zd|6f2Z+q9Wu93;8)7RI0JqJ|WoTQF_;#_>Cf*(fmKso{)d-y!g*SX4u(o$(0Oj^nM zfB*ZAQ425yf)Yvt5V(WT^|{{k@~z0gK;YMkDOAvl#^%Mn(^^bzd1LlmQQX~?wJTbL z(_mq?c5_Y7ky$r$>6GA9K=zVesiH534mxGBhttIk?K<^;Y1EtA%h^0^3JH+{E0{UK zXJuY^+Pwi{omVJ9yOQBR^5>yhGtDfQhJ*}+YP{LGY9#f?q1B8j3)lw?!Agf9=aR4A)ja#X_y{x;;V`;)AKIDbein%2gDH$Z)) zGy4!YsM%&&JZ?sumnw5r)RJ#*qs6Qk335&*6ucI7XK?sNxK*3ff7&uJDJPS;M85p{ zS!u^hIMO_}Q>J8$rrPZ7`_b|gx2^Frndt8%lY-&D;T>R=!#E)0BJKu|a*EV|7X8-bEfD!;T4S<$!j1pf{7LI}7Aon- zBjmS{q|GPzGHN>ap<&nIFSU7Uyg4=Ht+>81OB48h{8|GJ180c(5gBqJCxyMw9~uZXdG&o7Nq;o2>{T>Xvw}3FLvdGKHB!fH z|GsC=Bf|N&YhapQi(?*3rJ!y~|7CaqI?3ms&q@-w3 z442zhvt!B<9Foj>DhZ311mnfj{j4M|p-Yv74?ZaSz+K2?_-}QV67FS=a2p@WDkf?e zhlcRaW9vHZRfnIj!*qWNo$^XYCzqyZp=G*TBd2NA60=&Kg1J#?NU*)DdthkPOPN&y zIwF91QY5pyH7UW8YRp{XAhptV^wX0K?4AorF&mPmZM3;IVF4nezxydpT$iMl>Q^$M zF5l?1=_h%imapUPH-9?=)VwnD2{$Ateo;Y{vG(k1-0jI%OURTziKS{N-eU)H20msU z(6TM&g7HBPsU8M1V9(TV3~KWB_OrYg726uW8!0!75p_opk}H3ho-WsHn1FxfJpgbW= zaE&=gwc=Kx!c{I-vr$3rU-wh;0EI>A$|@V?ntS}zwZ)R@Y<#cOvt-Hz?Gcami$6n@ zETj|OrJ+)9&1vq5D7w)5izD%Jut)l%r>~;6O{TeDzVP+SzQg;RGFGL|(B4@0Vm-D@M z@`>$EBi{}ayoN>=fBCx1-rCtC^;>PnY;-Ib4_a66*~vq?TCKUw&d0h9Nndle1y5{x zknEZL_{ZgD9suQSw0KZL;J42>ppn{oTwIjh*er?WDfhG-Pp@{aJ~-`RNAyEihFkT_ z))M##izvOstorVWPYKg)8;KS5Zx*jDr{3_|IID(noeJWgXM5> zGjt-E`UEN|A}2=Peo)}#;?ULf5JddWQ4iyX$n~(eLFA~bg6)wd zQ2|chv*ROW1mQPIJx&MvLr!AZ=TAMx<-cEZuds@E_4g{If{M>!dCLOSiisYr?fF+A ziuRRZ#+5O7DQEbEQxT@efK%^MbrKNu6~#VI?4J2o*TF#CGf-CCm=+xlJ%>aZ*UxfC3a_O<%K zr@tXD{0vYnOrNSw@-C13^TPS{q}#k{ZI1Xy315E2^!^*Di8Y#D9)d6H!7XJWJ^pRI zw^)6xv*3As&zv-kb5goGvH=eBQ})!?R34W`@1%&;4s9U+(wv)FyRBywm-sGj_F5gi ze{{O6>y*8p+v zI{Mqs>xh-u0ef1%1v&Qk;pIz;R8?k7jM5*(FH5Kz&Zn#RZLR=UTjf*!!Eis z(jz{hHR)fP_6$^TOTv)P{PpBsLn6UAR1eXSuuH79ouh8L>JEkVzB%cYncDb-m6oHg zC4os543Df~CQx!934KNR4}*E2mArH@^h`O#>Mo+V+tX;bZchVtTM}z7?_GB)Q18~8 zUfhW{P0wC#miVoHSrhl7&yaqy29<2xw6MAT#FQ# zqRE|Z5P2sii||H`7v$EBByQ%&d>Rdl@y?N@NqQQh+^E83 zk*{r~1hILnga?=MBLRW!8+&FzVIkCiC!W()XMX0KSNC6ej+!vNjTc7fQZx95 zPBW@g%G0{mp`ZNgUFluc7~x$8<9pVKG3h~_fITXIEp|%1E5HB8{L0iQ6hBoAMU=|kgNv)vZ^!|0Y{DSU{6BgLddV_3F47-z`>;GL*$X0sBdJ3r9 zlM4Dc5&o*HkiP4T({fsR8+OHuENI952aSrAdwXtj;{)py10)j?x^1^#2$!5xIM zT(f{{TT}S<_HMoRXQcaaWd_m^a3A<#`qF65pF2^Ya*D%iKmYkWiP8Bpcx|MznT-Y- zpM2PRw2uCfUVEcRJ=Mvxsyg2TY36;Sp|#gM#8sHAERS32O>v8ZUQZqHBCQL?w0B#NqwNNP30C)V*nlA%`YaZETQ&&si~7W6StD?BV0dvHFNtXGn8ZyHVf0`$*a?Jkx>yY!xU#FNfCa>)e~M{Ra7Q zEb8kyt$9-^4yuSEz7CCWo`Z|?##6+nJL%uH2%bAL#$I(Ja#;4EQ%hNhTzZY)P@vC9 za2rX%BeC>cQ%8{1gMSg);Ml*?xQskF1LbX@n|z)ryZLMH*0`7+*HEQgh?u6)3{p#{ z$|~}eU9dVlt4P$_N_pYHqW~41k@x1mu}BI1(*#ZOcRW$4MB#g`SAU>)h**4vI*w)Q zaL;NST-1jDl}TTpc$p`^%GGFRE6jkZ<<*;Te!D+yD{2Bj4cL^+7Mpj&UE7yFZ#!)n zt_mMOLM~)?OQY_-?WIRw0x-Z&Ao&fZU-06mA1314U$J~*^CK#QZ;s4=;bMD!bIEFj-dRNM4?B=$Yw z9SUA8kEHbg?s}ExzHiz)`=uI=ZWV_#9SOtKWBgkUm6L?;BkFUeYA8eh8JXhlb>3D| zf(MZtaV2pOl62({yk28nBR5A@n;gE8=5PUsYWeizP5j80 zDh|CbT$}A7-%V^TQwCvpl~J?t5og_JX8(`2(OkqUQ)o3w<>9I->N}mXoQgo=`PdnW z$>a~ofVDx_xESsr6^BU{N7W|TwDXbCUI%Zm^&OQ}E67SaRjhPTwfu?P`6hX!SBQ<3 ztnA@jn4w-@9ha-A3nw3X`4sz*jt`P(eq$&*TM)WS>*(ehPfmH2u>9|>_iU)|3~)KX zE4~^EE@ADx7!GNfC167yTQsVpf8Qu68 zau>$)v~uvvb^FE4=jEJYBC=4_p(;V-Ba!FdpB&MVgpluKr8^hMoJLv$<6F1xGMoj1i za78UEMBou?EL1ga7l?vDV@a&zEox=c9PmUmaM70mS2wd@KTxE{}t zbe%bNywIw!FD=XcFtcUF@&#>Hhosv;#3N91h94xhsNq~jtu9bo*AjE z?#YN`olG`s`9SiL*6ac9UJt00csG6-6tO|#Gj9-I6?NOw?EP>BA#}Cq6NVw8f0g0e zQ}~~`4mzFHiRD|)yzzIy6FNRIxmb(eqElh^F{3%tIbMNa#_9F=;5b2Q#m)6xvacb3 zbdvAC;0t6w(K0bMyK{Lk)|~+$QnUF$_Ac2s%#5k-QrZOys~@V1`|$DD2BKI5hzrFE zcS%g}yY(({*BMGbw(nf^iqN8i0Iiet7qPz{bAvgOF}Dlk4U^YO(()$fU-_=vnJ{b|}jA43u zjgxE;+i(t0ktA*-`cUfE<5ogM_jm3ZnXYEpahqTo%V(#e@y=q6Y55uQi9=cE)~>%r z8T{d!00vcd@8?z`0B?}ctvXEQe;LCX?wJt3pRxS>d3r95t&H<5*olC+4G@mnhjrVE z{;jMZWU)+1BRr#?a9kw%uu*hRe*e*aeU?;r&KZ`3d!i55PdPtS^wZL5F+bA>sxFcU z>oT(D-9DUF*6=&hGNO=wMEjC4H7mOb%!CEnNa?}3#Em!kpHY5|;!je3U=~L@h*xFq zE#Ph%Ea!tt0)Zk>c;sL4As;j%6X^0052RS?@tlavLIPhzo}+KE2D^#|YptlO`PUHz zEGutSn6QYRLU8W~R&+#|oJfzgTp<5?I8W_%?iuwV2hzLelJTDh^8sG@7GV7<-V#SuSLu4)!a`}q8k5ohm*1~#xLmR?czbHthJJ|@& z8-&k9I40^vI5Vo4(JbPW--ceVGvgv4+iKg-?p3CYLK*c|vu@CIKUrgoZVv?2Zg8c4 znB)2*h$3i1sjR|-u))G-UOiL4tRdx~%m8~ni=ERa(j8IRAqf%#VE{{z3 zz0Bh}^tl{v<$P+!T|Km(t?xx{!*8)C{;-fErhLc;X7=}&$yCB3`my>QHm&L1PfNbI z&TFxc!8IwnumY|IHA$6PQF65cGQ){ZU|B>)fR1+in=_q2QTi49W@>*S5iKo-`N6jL zF+?@9M;806Cbik{aRCdV*VYhKD0}$zV3>@^l8J?aNSmuRZr?4JZ6I9*DKL5sUrK* zJ%wb_!E|7Le*bt+98Ku;Js#LY5)&x)W&0t&P}4pD3Gx7lt#u{+g5_$!LpA(h(UU(KZ0WblCJ z^hD`Bf{HPYHzmbwKDM?l`V~&iZm}Z&f&)NZL^G*t3;c3rw&oB1ue(s~vt)zfn8EQi zY0#a<2T(ypJUw5f=SoO2#6q(J&4}aP7Nh~M1Ka($v#(Pw>qE2~-<99fm`o0h$S_94%c83(NEN)b*oe`@nVLWBNN0_O&t5r!&V9%v z@o4}ua}~bRc2n=89{W&bZMG?PTzuSF!>y=u-2bZ_zTCN4q-=yztTB65D0l`TI)K%J!1&?-i@_^Uo zLZf`u%UR%^Hlitqx*qS(PU$`eI?N29DQpRR^GkrO<%igL#UqqhBTOayPV=es-4XEw zdhX@i-#DDP2{A>e26zr$GW99vh^yvtwlDxy;PNq?_kE0*hF`X`xR_?HP>*?-&UcQc ze?^3hW&%z60>7qTBUKbRc7>8dDjiLTpo7VupOALj8QmzEdXSQAiYop*Io*Nx<_MxP zA!ZO(7KZU!F2`Oa1nD-dU+@SE6U6EDs6Ml}ALUF5!9@8Yg(x9sG!TL%7Px#5M?gXy zwMRN&?QYNHBMHAT!&op4&b}}8C;>%U>151G<|JPWBkFvY(F7O3Q4#?UD(t`i&phkj zhI6PGpE}&=l|pA$tR4<|McUGjE+GeRnf{I)92PVVFC+O7q2)c3S0}*F(1B&ymjX%HP;6>D2vm|!Hio3SSV87L z&Aj~YPgC4e=5Mg9T1z?r(Wm?md&4g(b?o~{xI78HnGza3F%|S9fi*BFCn9rCuu4fKe62c4|sh#uMbWTb^ z9kvR~(f`ruujr9xkVpXt%%WgY+mGa&s^R!(d2hF*%`H^;deGz!dnh*rY_Sv22Ga=R zh4H*n<)pfE$g8#VXUfk?SLUAucQlX_@e_wYOVROfpAWntm4)HC5!%e#{J>O#ZT`J# z?XqbP`%MMYUQS86@&lipNe1}od4J*~XDfLaD0iu$EZ)+d*DCH&ql~$~E$PF)c8Kgq zZ2CJ!x7bm>%Z%EI0*Y=({;;&eSG(z-0V?((G8u)lE9ozq9{5Q%Fj@m%`ma914CO*i zmohV;vQ_ZGr%^RlcTYUWWx(GzdZwk|E#yNhei>~@@BF2U&f|-YhRYuaT5D%4YQX#R zXsUmJH}jflQqXH~`v11=KJg=8*+>A2(@wE#m&Q!QqRO7!uVyLlWo56~Uvz+*o5Fd0 z4m6VD`?RfUg$%SDzbpY!k-Wnj4`xFBc=5ZHpCjEiJc2rjG-I0>MgjEhNSUSO@pCcg zb(%Y_x-yk0J7R@t6iadJrl+kwKW&Oc4<-;W*W0|=lwX(;@`}M3SA^yyXm+F9bS?xn zj9&ze^+HOp^5SJF)ywHrMxi>EzGb$lkOa+e?qZt)+(t=$UoZxF)1*aH>(7ExKNJ7u z&Ib~_y%1(|2^q3^al~_$pS`OwWSZ1b&=!qbGVyC1vqrf+VH;QX_%zMXs_^auHVmbl8bJ%cn;QW>%9D18bx@+yt; z{S*F4`qXz&Zch1^?|wcynDMFym&;nKZ*pSCj|h!Igz;Q}UEW14dJ4my3U9IyN4Pot zZUcY`#P-9W&_t$kl{|3@IqrcTq%M}38ct7gy-}H(A+xPg@0YFob`ta=qi{dzBgBk| zOyx!!QLB9wouDO%9?J=P_S0h(6&6>0Qqr5Hz2pxnxkaM4s(ok_x%$V4FKHg`n;juW z&iqdDYP21*c67Ua4+&1Ics{(Ndpdv5(=*~B$#kkdSKmWJzBGo9-L&KKY0t4`_5!iYPBv+Ep( z-M11m@3jW6u7{*)TT?t$M8wb6 zDZLw?wZKjzoZtBO_ML*!ha=NTqfn?e1OP~SnQO)7-a7li?tJH|&I@eJmRl7RWDYRP zP!UWBrs}v9bgmwzJ}^L$!5FKHxtw|DQ+c@uO-HEwaFwO z4L{X8|E&Qnzp&H!&$2M4_L+e4PAk>YY68iA*r}{Skh2Uquc=_t~P`C)b3t82)SN zep?0k`ISR`A=}bk1-2PhewMxn0cQP#_w7|mf?GbD2W`Jt-fK2WRF+kJ3>R`P0aEpH zC39y|N4>?UPilQ#3Y`j49UGpo+Z2=GrJ!G!o@!d+An3aC_CD-pz2~@6F3_k!TOrcO z(U-W5wULMB1Ffm8i2NphlR9rKkRs0!V%PJqDGp1ze_ewgG@!{z4)7gIV zG=L(0$!6v&zhCdu_judP4#e47Y-woq0@Kz0X<-UdZIpLv?5v{AykGV7m4g4>vC9%H z!;Jp=_KUO)V--hFPq-02GhP!z*gK^0M`q(f%cT`6SijU#sRri(LitU)L_aLil8Pwu zUUlgBf)+2x)=m1>p|Htlta`l{YN*RBvHE2*>Tr zABZeBUE;Je(?JpNCpe;tG&kIcV(B5#M`wJvustY+;}2`6hGF@AGfpJ&p%QkDu}0{*M!xsBDjOj3%Q8J4$MHJ=T0lh)AGg5gfc{n^l~Y zI=?0Uo|6it)#YyCUyC>ENRF6=W&gv^f^bpNma2Y|AplWDmK5d@bMZqcw3<}hV;)u_ z13KK+RMWu7ay1so481&SYHJ z>GlZW+Y7=64p3A4BL6QU=ZEau(u$9**_X%FR5Q#7@Q8@Nx~$6C(-^TXdbr>8SRXom z-Jf=*!eb-}p5yN!EygsFadA|2^KaGI4cyn*Bj!pG3lGqQf{h7VB6}^{t3>K1@e}Tw zmUjrNJlj@}?o>e9u2#9A0yxkj{1AwI6iX~0q*6p_0@lL^;VjM5|E~l42T`jXw6>NW zx4h{7O=MOZ1HfO1Q1>-%U&oVZVg(XG^S!aJMtis$p!J}tsDjklr=x!~xYH=p?IrVHT~KUY zxgSN{0`c6t-*~}EkZDv*W#}dO;IZ_EcWO8C!pPxP0SMODT$~dQrsNK#E)+FaehjTyx@2 zs7q*;8Cppba-(z^eMl90cEQe*2(o8|g+c$#Q7OyFjO(y|yLuK~v(ouo2TkTQIL+8! zaK(jr>0YU=XZ#7P(Cx$mX?MSdD_WKy-jQ^#Bg+lsh|kz&%A0Mbdjq2vMMB>Qr;UZ0 zG3liSFgyAz$IsvA^|!tpxO%MZdp#L*<7=L2<;&Q2HlqFwA3!@$N`KoL>?m}54ri$( z*$kz8M@5YYV}c+X!v59nt)21eWj(+_uzQ^^sKHf`euI7dHBCcNpHi9wd}t+EsD{!V zvzx(eedNn}40s2w;bn8X`b7G<2i;HjU5^jP!R+Aj<8}^?h;Z~(8pW+fCG7dtI$56w z>(>`+HUp$v(KBmCGqXkzdhQvba81!^TE=I@^K;Koj5&!K{;9O{FQ!!Lt zgEbhR3)KcB`*tVLGkwH);R>GV-f)~xbi%DG6s!a24Sq;$13f#~jnLkn*Za6ZHvr+0 z?OnU!;!+xQlOO|=Uiq&03}{+B7j@Hf*+VPsQ=t>d-r<&*ULuOzY8YzsU+YyPM_g;b ziLEU0>@?#BS&Be`h%@<{7Z90s6ZF}Ke0r)-^lO&w4H47r=&fWV%-p?G&w?u!Smn7% z|8-97@v2GL*`gtok^?|Xubw$6f=;FzSfRUkZw5ZgZ#^8KWzRXd{8dJ{>_XOdHB!i( z{V=Mb=(dqQq&mLf4tbrpRFBS(9-PkhS_|~( z3-m2A@I7&=Xq-LqszDl?*nrMD!eAks-52(HCC=*@~fk5rD{YEq`6zLJQFz>p3W9Uzuk1(@fqRu@E`gN7)>Q!aNWZzdsVC@afl zUUg&eqhh-;xo_%a#~JWjMSX$)ifb?a+WLgM1qGe1GaWhxlFmk)Xs*SpsaBt#Nn{?`}fx zQ_#Z)dy8gcJU{W)4z#)~Jq16I%zo}T@zW%a4yC%J2NkWWwD5F8Y#jLR+E;%fI*}>HO zwqXQ4eVG|!NAE}GWPtqPy^>r@A+0~pVMO3^l4oR~Z6iztLRtVkHIz>BBmwW$mH)_V zC*;z9&%~E_)YwgbOL>QE`Est_nE%t>o5w@FzW?K$juxq$D3R?H(n2LmlV!AskS1+* zvP29q$u?tnr;V6#&?4Iu*_VkiV;xeMWXn1jj7()2L$(>s7{2$Y)9Jj==l%Kp{`>y% zegDNH)9c!v*YmpW`+m)RdEZy7*8tb#px?h(ut&VkO1YqDJWd8hve>6*=F80V+d!{i z-70bR=ppd2)BS2}kq0ljd?OT%$>1zER$?=g2@}f{J!_vJCA$?w@ZQTe@2HHL!hnmd zO0nN&d07W~s-emPZ7ZSBEn9Uqi;`kB>Q%g<(wry)WfDx+J{{YsBf#m0LgqU#4;KQn zRh5%>2oD9g3VO47KmCDGom3ifbBtnkfWT+xwSSirn;Qkw3+pCC-#}&SRotp1MAtuf zrlA5RF)C(LS3cwf?-B|zOV-?9peq8 zr(_S^otrUuA+&bS`57==*$TU;Fxust_G~?JA}d8*(KsO&c;m$a?uznV-#Vq?jGBZ+ zPA&emBtiFU(7Dk{zocC`BO8rlKZC2g6tiF2B&knsJ&1*^X|wYJpUGa?Kg2<~4~bU)## ziMm_rR=E!oX;lRxGUk12Cy_Q46{yI-+rH>#x@p_J6lXbx85Pl8WdCfBS_q;7c6m7cv*z^6sd) zE_@AqdC{vHVt=t!I9AbbMT^MzqN-3^Xn}YhHPo|GA>_CE_`0{-huaX(At4uA*M0w3 z_EpcLsK-|#8@7XS;wRRDA?z|u4GkaGZqG;?Z zK#|6;o_iZMgQ1j>IQlD4W#)jbmIi9@dJ4~TjOM(R>i=PLEQs_ouUsJctTQHY5w zxsF)HW;2jg=kK4D$fH;Lzx=iFB;)CH#+AK|Q*R_Y%=R1zfd($>DP5BYuDEjlg>U`f zhclbNEH|*`P;71!9=1jB16?Zhs-#pLKX}YkhlQ+a0rGr5Abed8oqX{0yl%#l#9ZA` zm3Z^I!-w5GPRFiI7lg58l!{0wJ$8t|*bLseRi-e*>{savpM4*t)-fUqW(;T4s}I*8 zo;-W`R;x8LavY3-J?||LIsbkVaSw86bdAsHm#02$X=@rE$|)vjM;+DH-5u!pFUnf9 zX2_1Ih|Ky;!)FjtS#kk@Gz1IF^U=w=EnDVNP?9s)CeFsQY6!36N^G-Q%-tcGAC#8{6++gAX&{YeEZOIrt_*Ur7`8pE&ADJqSs zQ!yPi?f5uS!}wRoj;*Uj!{h3g^E~AAbsy(Yo+=s(zHt|;aZE#b;K%{lBf?x^U6mBc zrpcjwY>Q!|<0nr!-;;CQ%Rk&Rf9LZv6&f<+C9i>hn^JQsOlgmn$RkD7N&$d>8TQby z$cWz7G!D7`zJyU*)5T0&qa3ns9aw}+9&!zT{$%YbZU5~~Po7h1^M{L$<90ki%Pi|| z4%Gcp>XQL>^FIjOrYiYBe&XGYh*HD;qjK9?Bc9YrGj7*x6wP20Wb?t@oSTjxm8+JN z-{Ain()?T&D)_zU6PE2kP*TCg*h@;r)`CgW#v=DtQ`Bzf_EAL63c(~%b-iGsM`qyp z%A-(ejcXdNa*iW$^tGE#9F^Pa+OKIDQnwK!p6`^gmhdnsd#CYvP`wpZr5?z-ZT5e3 zB|w-PpsST4J2w@Ge$NpQM#)3(kjwEdn3V@`M2Xl zNSdy^?)wzXaByLOPd{R@P5&OF@M(I@M$GuaBSmAun(u{O(ykVQ_g-nYjOf&Q*Iy7xhfXqt5z)`o_B5tl z3u~OdBn!aienQ}>K4CrG9@jXf)pL4R?ok?sAA-9tos;(W)D34$KYO+S=67@IO5WJn zNa#!mZg^2Ru6FzCZqbNDFy~IU#`D<)3bbb0xBbe!`sp`bwo2b7hbww*xcl2#+r9oT zog3$eNz?DIxHmT5ekzx=s#GFOwj!ual z)|pOUa5-1(bb0NjV>R7xCf=Sre%qBujc%+hyRD?Gaxfda-8i;WFrZw~3k>{D8~cQa zl}sM1*(_;WM+XxcEuw5{`L|_l!Pj#SU6>oXlMu%Yy*s8Ay7BRo_X=Q|rQ?Hpgr=r4 zGh59)SIl2s*)He$CF#I|UWdMOunyhaExQMj~~AyK1^7rbJZ4l&Gp@Z1K^b& zxq}-Xm%pd~n&eZhJ}57bg$b!2vjm5LGAj2S>wh8tZmBg*eI_-&r7%mU`cTJR+#{>) zi+PI;D)A0$Icqo~98t9SX!K0s!j<6P_c+Py=*KU9t$!Aes4lg8`Ehi-W+u&dZKLTm z6B|BM35>E8Bty1%#Ttu+vi8u_E7Xk}G2=$w=;Iss3eF8aa7kt@xxSa!^F3$Ut4O3+8A8i+b51D8@}=rtvVQz8H!N>SZJJoDY5I+87VNQk zp-QF0@!lyvX}Wm-*$tBT2X3{_VM>Z~Iv-%9IkMFuUKsDwF2vF^pIWh9lW&~!m-ZUR zN~{C`8Qm)nuA@FsBdnuS@qRX~_ru*3`8nPy_2Xx&xytI>TDB)m5cI|%8}rG?aG zuRZKjsv6nEus-gXT8`PojX#uj7b@9Q{){55uMj#jt1fG$4GF0R zrri>l*52;4zyCs=)$LDeTQ`^2dT!kyv32hrlZz$hAWH-zE{$Uqjobea(1PH%li>7e z<+n|O32}noG!*~)q5rzz{|OYlFylGqJy~Zszq}9jV18yPYYC^Qnk-;r_9fxq+>Z?8ih-IcR^WU{tqq+q*i;KgN&*vEpY!yv;tEW?V- zCx7c&mep*amWBN7Pn*LrubVbP@!aM3kMQ4IgDx&R{P=&SRlmjEvD%S#>VbN_A?8$K z&y|ZSJFy@kNiMOUlx&(68*LTc-M{56>5i3@wAc2EM_-7!Q~Qlgb3t!s99w)sL(Y_vv1$Iw$2xZ;+#)^NerjG%(S1xn%*L_SUG--+ zyInust_@Z#;2-kSyz5ZV<4Eo36rtI#CLsLz)y4Sh%z&D$ zpWE;ikF{PWd>MzsoaCN?HZ&6YiFC09VJlq{w0=rjxh<1UfAN%BSO6|nC2r-;-04c% zV^LD5YFB-ZIBj_6q610~4ZcyD`g+Q@U3~T(xI+w5KzsX(8rP57Zm5NtIUE^RX8ciqAx;YL}M`wcbnaHLu=yZj5upUBySG z?8Z6M=g~0B%9{97_rDx)$m&BXoXEjfr&RIJ9&NzQ386cIxP<`evXH2d0TUbL3yG?d zUwYz=AXPcEj(a<+p2MAPIeXdh^CTdyc-CAQn3l$jSc8=fRr_J3fhAvhg-JJwH$Fpwh>Ry&r6U{tDC(OjPKKoVZ~8yUGv; znW-+8`Hx!qX7(S9J78mVXZ1RLxb)MHW&t+pdv-rn zJ?}o-+*_P|9VUHm;a&mIpXfJFupWvhlRBuYjS?xb|C>b{KM3dMD`yqhXZ3|#ut7)9 z&+!Aa-D8}=I~|Z+qy%HRU%i?odYf+S@^LzZ_hf5%yZj?asy@Y5$4IXV8UKJq;j6-r z?~be9eXi?BY&-ojcY6*A?_xoB);qb7e0FB{4f72$UK%?-1!yn%QHXw_(}uZRuC)8? zct>&XL|zjJQ6 zXs4Q$J}65s`TROBF&4 z&E=cz5Rox0km)=x*)HDw;^1lc*znz){1lNiaEB)H-i*$`=v_B~J*u+3*IZ9YufaA$ z>s=B3usEw^pG{+55xNqP?(VKuk6X^{zO(WoGG5#8iIzh>2%8)lqyR(Hy~Dx8Njm+B zYS=+YoQt~mhfe4)*07S651{mHA@c9I{yu5{~w0D&Z95*yzZ=zpkC9` zZnJ63bI5WPa2>FRu$X)pb&u|zNOztiMO(jEZ6s|9(XvkIs-JRESB72VsZ~AoWRvij zEXw&OPuWZHpJol|H^1lWce+I?Um^U19{hjHyKxT2$T3p zWSh5vE78n#p5NV3H}w!#l20GAHWld$obB=J-se+1{rO57RGbi^KuRG+mo>W(8sXg? z_i=E-&tS>;+UsgJ6yF7Z_IJ7{1!G@!ybv&L?h&YNP03T@*#}hh#_c&)T2^^gbYwX< zxdqAVIJFM|<;Y>CEXT_wpI&Fk{iC^M!Wu@4PCo!B?FYx6nI$xrzf#N1<$+-){g21B zuyBT!=m#_dko+~UN2+@F0DYm@DtquuTANkXx#n@q`s{B)ZWIj|c9+94yZpCciv4Ks z>(z<|5p=^Gd_@dtaKUr_tK)thmHhNvO1lcy?k7;XCE&asgQT{1$W<}9l@`f(`7PO` z-FcchT)AsJ$v;`@fP+t9s{8)Lqti*B1o)JS9p~j|HqysbraIh-{MBdr%Dt|owT)UU zAMr{$JzbGk#Ww6Kr_(HFE)G=XkB%2=L^@MfQ~E#+RrP7Ir#=1bmU#7+^J5E+s?Qma z;+5UJa46Zk|1=G6-o-gaqlACQ?9H!XZzz55DhEGaI(U%~tZ<^fnr>LWm`pM+?rWMV z0u{2BI2i9~C{1ZlK?QsIuN5lE#uS^c8VDZsEGH_o8guij4xrhikDqvI!ubdK7J7qD+M!uM zQ2g&+Nh)7<=apj;ySkj+B`A}{(YXh3M?UB0f|5p=ASSzqkhD?=IpQy^v~Y?)3q|A| z`2fwYTGs~!0sdC78@DHE;oei>pGzNGksG1FVl-QEUoM>&ZGPpU82>yi?#f^=7#FYVh$ z!mOsahIErihdr@{`7LX$rZ63@H~&Ydq`p#Pe%cF|<>R-Or*z9Clk^&GjTS9NNBv3N zPYy!7pvT$IU$q%_yfr?|RX>y3NY4htgNqSO7cm+%Fw3~1XMs9!+J+M}8+bhpx9-%F zX7Q)3NA*;LV zy3jv|Fc435Av5qSXBT@)IhcIXc^>40KwxuHAc=pXi;XV1Y#4gacq1#I+;a^!|G=A} zP3;TRevj!tj&v~`e8s#}Fgwl6Q!#jI_w=1__)+!A`#B*J z6H8D6xjeVO$(tCUjBSHC)fR+%i>7SX%J8mnGV|cHkk)fKwxh5{rQZjg8R;C z7!86^-yWZf>b6?BD{MCqv>lQmOi!fKvYK@%u$){vGgShT(U2Ef;^juBRv^5#L(0p` z^?@PF57?o^EGi6{B5 z3cHTfT~c!bn&ezN9HF(rHZ6KYYsZ8a+btUa%bLBKg8bl5M4#{PngXoAb!P<7{JT+P zX{tY<-M;}WMvL$d$+Hn?g7P7+s&hnylfL^8$x}pu`|azpHw4@8^*q@aC+X_twlFj4 z>Nh#7ioe6_fXOXq4P8!&`RM342hhljCmYDl2s+?Nc-8jl=g1@bLgaEE_iFvcM~>YG zA(huk^jJlGr<}yR$mjgNf=aI6h+GOq1q7<7ZdO^_xfik~b7*T)nD31Z2iH)BEtA5? zcKEEu^P3cQK99NAacP9&p?~c3?-6pYlUb(>@Fh0}9}lh1$92kv{#LBH>z6XRLxerQ zy1ELf@?x^;!y_rbgT_9cbpuDQ5ZcS+7#89(Hl1v*sjQ%DlTU{v=jR`;7slSu8?Ss_ zK5a7fbD^Eolb$2#=5Ods}+TY{v#N-6F%~9F)Vap)GrL zr~i=THDSAQ=Hrr_$<~aPlNa!7Xo$iN1!V9$dBXuym~BOM(olG*Z}aubI#l!`GE5=$ zvkZz-A||82I~|s08?B9hdA+h7o?miTXx*C^cPn3;h~O4nwB&M%X7{wgQ+Iq#a5V5g zU}31b3rReQS9~ol8bKcS@8r4GM|v0N9#GgREz~u*{z`dI20^wU0bA^%$3x*|O2t{>ykpaZVl z+G4)SP!VE(K=tFc%a#jGb1%j8?`UZk`IZ%(z)hx6slt~{e2PPyN*sFTAyW)*>URJ(*yW; z=(#a8=Cn_xt@YdeP37P%ifjuf=MIJ~suJoT4dVKg2qTPsz5U02CCCZW31wFIY!z)C zSwfG(uTLdvre3G;2ith|u|uQs0bFF4FDCFpSlSD36lGM1a-{obvxG}?MTtlU1u>a} zPb6kG5LAOxWTGzHeY`qy<7)bBCGSCyD^bX(F?A<5kOpJ!;$4@YD{Wzq6pl@o`;+K8 zNV=(*OsfG)`t*JrGZ7es)lBd1(OZdgnSnfXVVO|c(;LutI<7wmEO z`Xi7k0YI(BbW!L>zvn$3y2gJ%A${>STi&6HKC)=X!6 zqwWh)d<`*~dfx;X;q}*5*JU0tM3t0$2gZim0eAz7&F-8>Ewe40kygRu(SOjZK>vl) ziL8~=_uLU9t5Xmm*T$g0QQvKlDf~|Ym{WIU86DDTWSUJF<5T+yd&fsLI^(_ES2K?z zJRZ$PomonjFVQ7fho$*_c&T*Xnl4lpcWk1oySEUfnuSzs{nJagTi%UuNkWuN05RY; zDa{mi@i;jyxlxu3_30VzAW|#HO5gD%U1=i+p&vHSzmXCkmxo`mVBQyAZTXQ{o4hW= zUW7N%Lmu2bhCt6(J!z5nSRFsqgM-hx&lxd^NC{$O&!v&Da2*a)kV=pWBXx3pP20{I zb1>>;m(CNN;lW8M95*ijW%>^-;pt%Mtkrhrrl0UmSn~b~rnLwv`ql}tMfgra|zn+d9 z=TrU%0t~?MK1^PB?z*=y_KB%T(A{n8ro5NB?t2TE!d1UDi{6D3u7KA8oDDnj#2={L zDydDr;|M>0HIl%5M$zn7i0J0oYuo%$y|-oya(Q29r=CvB)4>t#!>(t2?zDjvDrjK= zc4~Rcd(KF#OQ?<+8jU%|?LJ8t=+NeT3eNx;WHfc>Q>NynDfUt~u|-jUo6b8O z%tvfh5)2QIO36Yd`wF-c=Vn~1806+??+jeP6!oZwTJw08nPPepdKSXrl14}aW^@mB zhdll9&}dgRPoM%=;AptQeCCi9aQR+@7MU^Lj|Dt3ikLd>^H5svaxi=#-kqQPQU!{B z)%62ZhGr1h#)m}FgK5e+_SMkj9pAYaJ}Tw4|5@YL^gb%f^rVzGV{%d1W0@-y`A1$D405nQo?#~qEnbcasT%G zkzlu(sd+bB{NU^H!tm&8O#-H73q0LfX5up!F#$>ZQ=;10(>{x*%p3-~ zDq1Y2n+5X7wl@amf1vx(b|^89_BLXl+(Jz5Kw}SI>W#lUMmA zTej5D>>}-iL6~!%z=-+lET)by)}AvBp1;^)6k*PZ{T{J#TO|nBz(2`sC15eaSXHb2 zHPhQQ(S8OcBPL0pCwxcBd3jL3tj{YDMQw4V)$D0c&K^+@e2>J*c4&QBOx zPj*uqNm(KXwqU4dllF-#D`*>wjR3&YS}uj9 z!CWZ4bJ$#8ogI&cdP1AehA|F$aK{S<{aT#v`7s8?t3@tzw>Kky6wG&^lR^oyV|NaJ z1yqm3W#|jf+jPX2#YHnytw;)y~z{GE**|m04@+=j0#G3VsHVvFb;-Vwci%lgj66RSRsKW~(x(7Qq4~(Znl|Mkh9{EJ zRVJ&KJoGjs-uy?%q4g@v`et!w-!ajsdxI>{LfvrRiGMlsT6sJL06tFqlGeYzNpPMM z#dL>wF(U30&9_97CX%3FH9}UcX+s?d|0fs1lp#e`kAL`!qt;Q5n60Iri>_AiP5+VO zfP0;ujY)m8CMm0E-5x;#!hG(Sd!O#CJX{`>iZ(jctb7`*d?)OYpudVZb#n#9^B533 zP}@B|S7eIISczHxFldl+hFSj`l_n1Vqg`Hd(_dZL$2%RUp(p{P%ziX@gr+zEc60!( z{Mpqhb<;4>$AL(-WtaY=bY;1-t&`~`N`Tf>pRCXdQ(9amjYkUTYzly3Bix)H|G;x) z^wVz4hirU9{n4wG#=ihj3cQ>8f0YxPrkB@c=5M__GwrVXfg)I4WeJZ& z+$#2u4e?0T=7l^5WL*8nP~eT4%4kB}?4#1nm$3=3nAhSs100bD+HaWRJCE)8X)W_! z!dPXoVnH*$ViDCX^sDh-{sSD4CbUlfAXvwwfbh&jH!Nh+w`K9|`2tH$zWgp`*ep|J zGRb0U-4cxBJ+=ycRI?NysRPCtlt9+ce9C(<}KEIPJ)HA1Xmo ztBV+SG12~efXeK_MUO; zxkgK@3TSI3rRXUlE!gE;VQh?``!{MP&Rq;+jN?}dF$*0^5$Ck1Fb#z_huDMV5~z+x zQCE)6g6E?*sD68X3go_X5}Lz#Cr-~_zPZd^+7v~&e-G3`0<}d6(l<==y#ZE%_;MCpQTQG_fxb%Afu{H$#@x_K$W zmz;AOxP8AOBqht)s}s8MUQb3qF!CHT`QlNVo+uL^Tk=tbnl=gG3hj9!jE@6 z03fy71Yjjtrv{;URtOYSOSKx1&gNmaae`H0?tx&a>gvPf*7*yvprwf&T965-N)dCa z7(}p9TTx^M9oOh}_hQ4RhyJHWPVfC?z_~JZXb-ibMLl0y39=9*;Gf~wBa@l$!81F4 zO#qgQ$xyd|`{7QqLCTy^;`nryxw$yBO2rH<+!QtT>5sJfyc(>X&HGBoj6`8MnulTU~C937EkJOW@%@k{X<*i%!}Dp;s=NkCP_eOrB1gSr5hfXB_2^12?H zP3^IBnX~`bRqBl3aq@nThO(lqK8JywnJV*+?+W5sfaB{tgt5Kd81e{p+b*s;TqNY8 z0HDQRB5D@E4P1#SBi1wTch#sp7BZ4c$K6Q*`xW_f_jfW5ZkUUjD245Ym@GSCgpBN( zG`1T68jI``Y)zQ>JPaUxQP`EK2<=G)33Ehir><>iyYq2$R6Be;!dadY zmqH0Id_I?t(E}mqDPZ<~4pUWxOd7%IY^=8u#Ds$R=52ew6vPj2dmjuY)iv8s-G66> z_r++t^7LbeB$&tEiObP#M>fz|5p0>z(& zUiLD?#E8i(OToaN8Q4Keo9p2J=0)8h*vRQR%2lN;#|TjfTli0jYxMW23awf-l-Y0Q z^Kdsj<>ryHJvGyZ-FL29wMzfg3h-C2TJ`0E;tE{CmM@exj#*abmtaiD9|C%B=l_q~h-E?uF{*p52wp)1XzhKz4qR>_rq9 zke507lePX!y&-sA#GpmY)mC`RQ3)ps>rLolnxa#Te?NOnE4*Ab+G=<*bAJFMCneo$ zt6vLAR1;U~Li6_EF(^c&kPQ`rDUq%E3N5YwtC%vMXOD)!EH$%p^Xfko$^Cw;BxNan95TkTmw5f>WAAQG* zG(2`!Dv$pmt1K?c3Q%S{*BZ!2KAwO)&FouJDH1No*z6{f(|*dDv_76DYX9;`6Xvc0~K#;OMNNbCqzQ*<5&^R-RY%pa@?|Tn5&!phlhF zK^>MMINJt|moHy@(kquyJs^srTQ4_tE9*HC5u$QWBwqgxQ`O$(bWGJMP|y56AdF>} zyg6miJfR`9h(&n2yEJ~$l;Jro=I#2>fIT#SQ@S7B!z8X!{h?6ADNi#OUQZ|6!oRso zCCj-jxF0Icxe@(#@bI`-H+;#)%aSHX-p*Cu4MEZs)I=!=WPNX-@8}x^M^m)goX%iB zFO~(bkX-*&7|UH(>M5VtxAd-{Oj6t=ZSF#0g26!MTQ5W;a}Jt z%mjtL5P3Io+eT^0=Qq{lM8zmxxa+qoL{SO_(P-N)LNTUgl8^wqtx$ya1mFp5u6td+ zyJ}kNBKwcd?<%lMffEQy0w=(tuOg~?5z$C{2e%l^ErRZu)^^bkW90_6`Jt|3aqnl# zZQZ}?5`N04w#(vDO4doRmSu&pug}@9FR8aen{1cv9aej2NO~W*f)R}6s>u};Kb(iL zs26r&c|Ex-JVVoh=WZqAUCn7mT0``pz@C@ z-RLLnuG!)(E>i-sWJPqK&Uewa!LKigBP#i9Hzf2}KiSpfPx%b0xD0tRrmyV4;HsX% zkgWWZo+#a=wr{2z+D4}BLJ4&7V2VxGaz|+BBF>*4P`&NaOtQGm6c@owK%TQLDRt*r zs~vATjqEGnKGPuGrS6sxRYH)yc$6)r%z^5n;{c23nPOxSt3Bj*GXi<6*4p{5{a98H z?PoxOJ)UwS4<jx%R~D1ec>p*Hi%p{I$XEKFP|ol@qEJfxA358@1nInddhXom~VZ$1zi+0 z`<*qUBxLh{MPu5HJtF1AgM&?c`iHF*3JonMohqbwnOfp%FM~FgX0@ue6>cs^Ezwm5F8p6YKiM| zRxh$+)9kXnnBkuK7Ovy>yUXwNL2Qdf7h#TiU2)Y)2dPPD5QjaU3Qqx zD#;xPi8PP9$vWXf5;9^%cd(p8C(^o?at4+r%6s<@xOJxAtb8}gv$v*w5vF^->0^)T zZGN26DuLss5urpHrJC+toh^GC%U7z2F(TpigVa64#HlNAT`nNamWKZ>KP%L1E`F%> zFqdHFql8BJJX-Hz~Qlu&EQyiL`iTv-W7*qO1ZC-P{+@FfIp=9#V&$ylP`SaNW zEBc#Fl13$2dD9G% zO`NKm2lL`?jsO0M`z zL3bIid>9_3$hHxulogEJ_LJ;|@mK|&Y_!1&tWLu1PIxsX3*kDATnf;&GHEsbT`RJrs67(u@X;rndDD$5&Z7jIMMFsL>w|t6Ke>n`1csX!<>l-ye5_- zzEa4nC1i=>ZA+yn@;YvhgMZSY4j~8BAbC6cX)H{Xqn~<7jDnn+pXBBCP-*DDA18o^7wN{BJ(yUR#0tK7CffNknZUPqxAWRbv0gz?O^fApqta~shZ#TE0#LZ z=p9B=-I*M{^A&i8twkTj#unrFJROJ3*Ti~oq<;cG0W7uf6svl2cMlzQ$iRC2?Wi3t z__fqQztRL-!CR1X%=aF8qQO@ zZ1hp-A}xIK1>|N6bh{G?zC>GT`zSSi>vCX>(X1u@&FJD5zjSIH;4b9Fiib_UiCYA% z1^||!WSjEyVmmh}j&<7Ss(&32a6{+ssCi?jDec-NQ2hbE`erA|FIyj0k))Q{E#Cez zD~fQBjHl(phfANi4}^H%l)mcM6P0CJY}a71|Af2F6s=@V#w1RK=vwi)dH@jDmU*w< zCCKJ(=sDmaqdD&ey>@NtsZeUIfE(;Mn%?7>l}^N(dH8iWR5%xd%Aa=c51ah14)N`z z-Tl9Zuf60j*cHNUd{TQ!8e6_Z+JnBPYPab54em$EF~B(~d8Wly4FOL$CQ~C>9Fm#4 znD?^B4H%d>MZf-y&cEq{o1iD4UKBf&K(HNp@_BEvm{l4PvVUSq%FzIKr=1jkwI7aw zF(hsZ+V-@yy}1sLfKL27H#Po5l$%N4p55GbujqQ`K0MmSX~BbN}-5v`!rkr zn^&w5KWU(_wigyj81xJ0U!@4En|&dU=Z8ta%YAAKTTMfw<|BBa8Ss#MT6uc7 zLB;nZ~s- zOD>ThEq($d#IeM{w&T}^KS@s^YBVkZK3(eNF3pzXSTj0G*9-`#ul2Z=gl%DUpK&4Q zn7qIpAcKi*j1RkGlnWS$GJ-oqz_K^t12_wR!BpNN3sT zYKt5EQ!Z4r`*LU1jJ?x0-+(2hz&Dq=B~XNZ1tL#-MX{4!6}EK)e|L^jr(r{I#gSB4 z6zb41z$ZcbLM3fAyA{atIerupb(^2r{YZ3CY@g)sOr|dF<}L{47YF1 zSG-z{WB=`6R=SJhMSjolY8^uQvqBa#!bZk6Q1U1^HkBzvf0GMZ^O9&7kwcq$G}zdy z?5;TvxlYR=ZbI45suzO}RM7OvXJKjbL_v=Oy5eH*5`kRN8#cOn-TIETZ|45&A^?%n zK0Kl51={|*(HFMDNq8WT64BN!`LSxjma|It@{D}ZNw9@Za>MtvzQ{%!43 z$3Hw}N8wExHLbceU5ir0+_!z+c!9SIoZuDB1y_%4UsQprUbk)qN56yS-^y&CRv(2ee6cxoI&hKPy)-`ml4|Mwnz3ve0aLfp~mT#JcA%LzwlUG~1?)D3? zSl@Wt1vHUqA1Ugb>5oGCJRu9(WvgK8{^As{v+U=I`@KtLM>K^FXW{Kdy;Z%=OXKAF zJ(_Pcx3=FS&Vz3H8~xfaJD76r$;{MNkKsJI#J?nh_X&JIk3qA^n{Avve_su&Z;Tam zJ$>t1<-`|z@%^pPnn#Q8N5OVO1r@njOlD+@_mC$q%SvN18r|9FK$aUs+9sxN5nW>? zJDKn)0hj)B+XeavAXgDG^Oo&<^}B_+)ps5Rl?#&S^j~-ywkU+BQiMYLL)3XfRPH{v zhH2~8<6#V4cJ(R;!nJ;R9$0K5^(wmtDXN9At@DQ(HT6w@LQ<*L%Hln z7Lx16DjcRymEh5%`e#j0M8B`~Le!a)X@&9c*k!=IM4D0UF0bn7G|N9aQ#b-$Ugx;B zmFlz2;i2=$KxtX4upt4W+7R9M0`ODbbt{big6+sI#r3Iq^2j)Kffkwa8E?+;&(YRV z%I9oXykKaAM@&gG^{>T(;tE1c^xG3bKz4_)oR$-olUaDV8H@NKYbYz6dzIG@KYHJC zeO)NE{!*C25wwDq=l6P2urdHPxywCtv*8-?DK&^uMLp4ciasr5f!nvrE1EWZ zv0p!ARrL(#*?*G`4omWIa0!2k7sr~}&iIhe&QFz#?1XX7Vx$VbKJD|li7Kwoggf3t zxm@5K3pheLvbjJ&u9L+u5)O8G@_q%v&(1!m2zFVHqX@A)`z;NjY9B&!+!mLW853r= z$Y9Bn;&q1z8YC%B_{KHcM&ufU8fD*qCct7$qwpn z4QTRdZtc9MKua_F1_8FyfpPGP0HdLB>4FaD(BT?2up=tq{>Ir;~?H>U&m^myXW5 z;PP}QWqCpMJmDp!Z+-Tn5q_WTQ?IbdWxAMKwM2-(6NbgKOo1S)=K6jo+;3I1zupN|1*E(+kV zWGY6zZHmZfx9Tt3jx09y25(w@pz&XFngtby>oSixSn%{Q%cvjr<=|iGnU(K$CMQ6d z8y{F8=il0-Ra3W&kBI-6wzJ0-Hj8j5~d= z6AQC3Sbl`fHX`?>XJ*P}mFrNV8L diff --git a/android/res/layout/main_page_list_header.xml b/android/res/layout/main_page_list_header.xml index 7369622..0387100 100644 --- a/android/res/layout/main_page_list_header.xml +++ b/android/res/layout/main_page_list_header.xml @@ -9,7 +9,7 @@ tools:context="fishrungames.bashgid.MainPageFragment" > + android:layout_height="wrap_content" /> diff --git a/android/res/menu/global.xml b/android/res/menu/global.xml index 42a675e..307306f 100644 --- a/android/res/menu/global.xml +++ b/android/res/menu/global.xml @@ -1,7 +1,7 @@ - Настройки + Выберите язык: + + Поиск Запись недоступна diff --git a/android/res/values-zh-rCN/strings.xml b/android/res/values-zh-rCN/strings.xml index 76a696d..d210653 100644 --- a/android/res/values-zh-rCN/strings.xml +++ b/android/res/values-zh-rCN/strings.xml @@ -6,6 +6,9 @@ 关闭导航窗口 设置 + 选择语言: + + 搜索标题 无法查看新闻记录 diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index d5f5ed9..9f1bc9d 100644 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -7,14 +7,17 @@ Settings + Select language: English Русский 中文 - + Search + Search hint + Record is not available Other news… diff --git a/android/src/fishrungames/bashgid/MainActivity.java b/android/src/fishrungames/bashgid/MainActivity.java index 7fc723b..378f8e0 100644 --- a/android/src/fishrungames/bashgid/MainActivity.java +++ b/android/src/fishrungames/bashgid/MainActivity.java @@ -6,103 +6,105 @@ import java.util.Locale; import fishrungames.bashgid.core.NewsManager.NewsRecord; import fishrungames.bashgid.core.db.NewsDataSource; import android.support.v7.app.ActionBarActivity; +import android.support.v7.widget.SearchView; import android.support.v4.app.Fragment; +import android.app.SearchManager; +import android.content.Context; import android.content.res.Configuration; import android.os.Bundle; import android.view.Menu; +import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.support.v4.widget.DrawerLayout; +public class MainActivity extends ActionBarActivity implements NavigationDrawerFragment.NavigationDrawerCallbacks +{ - - -public class MainActivity extends ActionBarActivity -implements NavigationDrawerFragment.NavigationDrawerCallbacks { - - public static final String TAG_FROM_MAINFRAGMENT_TO_NEWSRECORDFRAGMENT = "TAG_FROM_MAINFRAGMENT_TO_NEWSRECORDFRAGMENT"; public static final String TAG_FROM_NEWSLISTFRAGMENT_TO_NEWSRECORDFRAGMENT = "TAG_FROM_NEWSLISTFRAGMENT_TO_NEWSRECORDFRAGMENT"; - - static MainActivity instance = null; - - private NavigationDrawerFragment mNavigationDrawerFragment = null; - - public NewsDataSource newsDataSource; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - setContentView(R.layout.activity_main); - - SetupDrawer(); - - getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, new WelcomeFragment()).commit(); - - instance = this; - - newsDataSource = new NewsDataSource(this); - - newsDataSource.open(); - } - - public static MainActivity getInstance() - { - return instance; - - } - - - public void OnSelectEnglish(View view) + static MainActivity instance = null; + + private NavigationDrawerFragment mNavigationDrawerFragment = null; + + public NewsDataSource newsDataSource = null; + + @Override + protected void onCreate(Bundle savedInstanceState) { - Locale.setDefault(Locale.US); - Configuration config = new Configuration(); - config.locale = Locale.US; - getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); - - getSupportActionBar().setTitle(R.string.app_name); - - SetupDrawer(); - + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_main); + + SetupDrawer(); + + getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, new WelcomeFragment()).commit(); + + instance = this; + + + newsDataSource = new NewsDataSource(this); + + newsDataSource.open(); + + } + + public static MainActivity getInstance() + { + return instance; + + } + + public void OnSelectEnglish(View view) + { + Locale.setDefault(Locale.US); + Configuration config = new Configuration(); + config.locale = Locale.US; + getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); + + getSupportActionBar().setTitle(R.string.app_name); + + SetupDrawer(); + OpenMainScreen(); } - + public void OnSelectRussian(View view) { - Locale locale = new Locale("ru"); - Locale.setDefault(locale); - Configuration config = new Configuration(); - config.locale = locale; - getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); - - getSupportActionBar().setTitle(R.string.app_name); - SetupDrawer(); - + Locale locale = new Locale("ru"); + Locale.setDefault(locale); + Configuration config = new Configuration(); + config.locale = locale; + getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); + + getSupportActionBar().setTitle(R.string.app_name); + SetupDrawer(); + OpenMainScreen(); } - + public void OnSelectChinese(View view) { - Locale.setDefault(Locale.CHINA); - Configuration config = new Configuration(); - config.locale = Locale.CHINA; - getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); - - getSupportActionBar().setTitle(R.string.app_name); - SetupDrawer(); - + Locale.setDefault(Locale.CHINA); + Configuration config = new Configuration(); + config.locale = Locale.CHINA; + getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); + + getSupportActionBar().setTitle(R.string.app_name); + SetupDrawer(); + OpenMainScreen(); } - + public void OnSelectSemiDetails(Integer pos) { - //getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, new SemiDetailsFragment()).addToBackStack(null).commit(); + // getSupportFragmentManager().beginTransaction().add(R.id.fragment_container, + // new SemiDetailsFragment()).addToBackStack(null).commit(); } - + public void OpenMainScreen() { @@ -110,7 +112,7 @@ implements NavigationDrawerFragment.NavigationDrawerCallbacks { mNavigationDrawerFragment.EnableDrawer(); } - + public void OpenNewsScreen() { @@ -119,122 +121,145 @@ implements NavigationDrawerFragment.NavigationDrawerCallbacks { mNavigationDrawerFragment.EnableDrawer(); } + public void OpenSettingsScreen() + { + + getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new SettingsFragment()).commit(); + + mNavigationDrawerFragment.EnableDrawer(); + } + public void OpenNewsRecordScreen(NewsRecord newsRecord, String tag) { - //Xperimental -- addToBackStack provoke error "Class not found". Need to resolve somehow! - //getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new NewsRecordFragment(newsRecord)).addToBackStack(null).commit(); - - //I added workaround: - + // Xperimental -- addToBackStack provoke error "Class not found". Need + // to resolve somehow! + // getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, + // new NewsRecordFragment(newsRecord)).addToBackStack(null).commit(); + + // I added workaround: + NewsRecordFragment newsRecordFragment = new NewsRecordFragment(newsRecord); - + getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, newsRecordFragment, tag).commit(); mNavigationDrawerFragment.EnableDrawer(); } - + @Override public void onAttachFragment(Fragment fragment) { super.onAttachFragment(fragment); - + } - + public void SetupDrawer() { - - - mNavigationDrawerFragment = (NavigationDrawerFragment) - getSupportFragmentManager().findFragmentById(R.id.navigation_drawer); + + mNavigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_drawer); if (mNavigationDrawerFragment != null) { - - // Set up the drawer. - mNavigationDrawerFragment.setUp( - R.id.navigation_drawer, - (DrawerLayout) findViewById(R.id.drawer_layout)); + + // Set up the drawer. + mNavigationDrawerFragment.setUp(R.id.navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout)); } } + @Override + public boolean onCreateOptionsMenu(Menu menu) + { + + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.global, menu); + + /* + SearchManager searchManager = + (SearchManager) getSystemService(Context.SEARCH_SERVICE); + SearchView searchView = + (SearchView) menu.findItem(R.id.action_search).getActionView(); + searchView.setSearchableInfo( + searchManager.getSearchableInfo(getComponentName())); +*/ + + + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) + { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + if (id == R.id.action_settings) + { + return true; + } + return super.onOptionsItemSelected(item); + } + + @Override + public void onNavigationDrawerItemSelected(int position) + { + if (position == 1) + { + OpenMainScreen(); + } + else if (position == 2) + { + OpenNewsScreen(); + } + else if (position == 8) + { + OpenSettingsScreen(); + } + } + + @Override + public void onBackPressed() + { + + if (getSupportFragmentManager().findFragmentByTag(TAG_FROM_MAINFRAGMENT_TO_NEWSRECORDFRAGMENT) != null) + { + OpenMainScreen(); + + return; + } + + if (getSupportFragmentManager().findFragmentByTag(TAG_FROM_NEWSLISTFRAGMENT_TO_NEWSRECORDFRAGMENT) != null) + { + OpenNewsScreen(); + + return; + } + + super.onBackPressed(); + + /* + * AddToBackStack is falling. Here is workaround + * if(getSupportFragmentManager().getBackStackEntryCount() != 0) { + * getSupportFragmentManager().popBackStack(); } else { + * super.onBackPressed(); } + */ + } + + @Override + protected void onResume() + { + newsDataSource.open(); + super.onResume(); + } + + @Override + protected void onPause() + { + newsDataSource.close(); + + super.onPause(); + } + - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - - return super.onCreateOptionsMenu(menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - // Handle action bar item clicks here. The action bar will - // automatically handle clicks on the Home/Up button, so long - // as you specify a parent activity in AndroidManifest.xml. - int id = item.getItemId(); - if (id == R.id.action_settings) { - return true; - } - return super.onOptionsItemSelected(item); - } - - - @Override - public void onNavigationDrawerItemSelected(int position) - { - if (position == 1) - { - OpenMainScreen(); - } - else if (position == 2) - { - OpenNewsScreen(); - } - } - - - - @Override - public void onBackPressed() { - - if ( getSupportFragmentManager().findFragmentByTag(TAG_FROM_MAINFRAGMENT_TO_NEWSRECORDFRAGMENT) != null) - { - OpenMainScreen(); - - return; - } - - if ( getSupportFragmentManager().findFragmentByTag(TAG_FROM_NEWSLISTFRAGMENT_TO_NEWSRECORDFRAGMENT) != null) - { - OpenNewsScreen(); - - return; - } - - super.onBackPressed(); - - - /* - * AddToBackStack is falling. Here is workaround - if(getSupportFragmentManager().getBackStackEntryCount() != 0) { - getSupportFragmentManager().popBackStack(); - } else { - super.onBackPressed(); - }*/ - } - - @Override - protected void onResume() { - //Xperimental -- opening and closing leads to fail - //newsDataSource.open(); - super.onResume(); - } - - @Override - protected void onPause() { - //Xperimental -- opening and closing leads to fail - //newsDataSource.close(); - super.onPause(); - } } diff --git a/android/src/fishrungames/bashgid/MainPageFragment.java b/android/src/fishrungames/bashgid/MainPageFragment.java index 8650de6..bad6c35 100644 --- a/android/src/fishrungames/bashgid/MainPageFragment.java +++ b/android/src/fishrungames/bashgid/MainPageFragment.java @@ -47,7 +47,7 @@ public class MainPageFragment extends Fragment implements NewsUpdatedCallbackInt ListView listView; View header; - NewsManager.RemoveCallbackInterface downloadNewsCanceller; + NewsManager.RemoveCallbackInterface downloadNewsCanceller = null; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -84,7 +84,11 @@ public class MainPageFragment extends Fragment implements NewsUpdatedCallbackInt @Override public void onDestroyView() { - downloadNewsCanceller.RemoveCallback(); + if (downloadNewsCanceller != null) + { + downloadNewsCanceller.RemoveCallback(); + downloadNewsCanceller = null; + } super.onDestroyView(); } diff --git a/android/src/fishrungames/bashgid/NavigationDrawerFragment.java b/android/src/fishrungames/bashgid/NavigationDrawerFragment.java index 3faf8f8..ca38ef3 100644 --- a/android/src/fishrungames/bashgid/NavigationDrawerFragment.java +++ b/android/src/fishrungames/bashgid/NavigationDrawerFragment.java @@ -3,9 +3,11 @@ package fishrungames.bashgid; import android.support.v7.app.ActionBarActivity; import android.app.Activity; +import android.app.SearchManager; import android.support.v7.app.ActionBar; import android.support.v4.app.Fragment; import android.support.v7.app.ActionBarDrawerToggle; +import android.support.v7.widget.SearchView; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.content.Context; @@ -258,10 +260,11 @@ public class NavigationDrawerFragment extends Fragment { // showGlobalContextActionBar, which controls the top-left area of the action bar. - inflater.inflate(R.menu.global, menu); + //inflater.inflate(R.menu.global, menu); showGlobalContextActionBar(); super.onCreateOptionsMenu(menu, inflater); + } @Override @@ -271,6 +274,11 @@ public class NavigationDrawerFragment extends Fragment { if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } + + if (item.getItemId() == R.id.action_search) { + + return true; + } if (item.getItemId() == R.id.action_settings) { Toast.makeText(getActivity(), "Example action.", Toast.LENGTH_SHORT).show(); diff --git a/android/src/fishrungames/bashgid/NewsListFragment.java b/android/src/fishrungames/bashgid/NewsListFragment.java index a258b8b..d6d6e26 100644 --- a/android/src/fishrungames/bashgid/NewsListFragment.java +++ b/android/src/fishrungames/bashgid/NewsListFragment.java @@ -31,7 +31,7 @@ public class NewsListFragment extends Fragment implements NewsUpdatedCallbackInt ArrayList newsRecordArr; - NewsManager.RemoveCallbackInterface downloadNewsCanceller; + NewsManager.RemoveCallbackInterface downloadNewsCanceller = null; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -57,7 +57,11 @@ public class NewsListFragment extends Fragment implements NewsUpdatedCallbackInt @Override public void onDestroyView() { - downloadNewsCanceller.RemoveCallback(); + if (downloadNewsCanceller != null) + { + downloadNewsCanceller.RemoveCallback(); + downloadNewsCanceller = null; + } super.onDestroyView(); } diff --git a/android/src/fishrungames/bashgid/SettingsFragment.java b/android/src/fishrungames/bashgid/SettingsFragment.java new file mode 100644 index 0000000..41310c0 --- /dev/null +++ b/android/src/fishrungames/bashgid/SettingsFragment.java @@ -0,0 +1,22 @@ +package fishrungames.bashgid; + + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + + +public class SettingsFragment extends Fragment +{ + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + + View rootView = inflater.inflate(R.layout.fragment_settings_page, container, false); + + + return rootView; + } +} diff --git a/android/src/fishrungames/bashgid/core/ImageManager.java b/android/src/fishrungames/bashgid/core/ImageManager.java index 29075ed..a00c619 100644 --- a/android/src/fishrungames/bashgid/core/ImageManager.java +++ b/android/src/fishrungames/bashgid/core/ImageManager.java @@ -5,6 +5,8 @@ import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import java.util.HashMap; +import java.util.HashSet; +import java.util.concurrent.Semaphore; import fishrungames.bashgid.MainActivity; import fishrungames.bashgid.R; @@ -20,6 +22,10 @@ public class ImageManager { static ImageManager instance = null; + private volatile Semaphore downloadingFileNameSetMutex = new Semaphore(1, true); + private volatile HashSet downloadingFileNameSet = new HashSet(); + + public static ImageManager getInstance() { if (instance == null) @@ -43,6 +49,8 @@ public class ImageManager { public void ApplyImageToImageView(ImageView imageView, String imageId) { + //Xperimental -- Should be called only in main thread + if (imageId.startsWith("R.drawable.")) { Integer resourceId = PredefinedImageId.get(imageId); @@ -64,14 +72,40 @@ public class ImageManager { if (f.exists()) { - Bitmap bitmap = BitmapFactory.decodeFile( MainActivity.getInstance().getFileStreamPath(fileName).getAbsolutePath()); - imageView.setImageBitmap(bitmap); + boolean fileIsBusy = false; + + + try + { + downloadingFileNameSetMutex.acquire(); + try + { + fileIsBusy = downloadingFileNameSet.contains(fileName); + } finally + { + downloadingFileNameSetMutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in ApplyImageToImageView", "Error in ApplyImageToImageView"); + } + + + if (!fileIsBusy) + { + + Bitmap bitmap = BitmapFactory.decodeFile( MainActivity.getInstance().getFileStreamPath(fileName).getAbsolutePath()); + + imageView.setImageBitmap(bitmap); + + } + + + } else { - Log.e("Error: ", "Image requested but not downloaded: " + imageId); - imageView.setImageResource(R.drawable.transparent); } } @@ -97,26 +131,76 @@ public class ImageManager { return; } - try { - InputStream is = (InputStream) new URL(imageUrl).getContent(); - - FileOutputStream out = null; - - out = MainActivity.getInstance().openFileOutput(fileName, Context.MODE_PRIVATE); - - byte [] buf = new byte[1024]; - - int numRead; - - while ( (numRead = is.read(buf) ) >= 0) { - out.write(buf, 0, numRead); - } - - out.close(); + boolean fileIsBusy = false; + + + try + { + downloadingFileNameSetMutex.acquire(); + try + { + if (downloadingFileNameSet.contains(fileIsBusy)) + { + fileIsBusy = true; + } + else + { + downloadingFileNameSet.add(fileName); + } + } finally + { + downloadingFileNameSetMutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in DownloadImageIfNeeded", "Error in DownloadImageIfNeeded"); + } + + if (!fileIsBusy) + { + + try { + InputStream is = (InputStream) new URL(imageUrl).getContent(); + + FileOutputStream out = null; + + out = MainActivity.getInstance().openFileOutput(fileName, Context.MODE_PRIVATE); + + byte [] buf = new byte[1024]; + + int numRead; + + while ( (numRead = is.read(buf) ) >= 0) { + out.write(buf, 0, numRead); + } + + out.close(); + + + } catch (Exception e) { + e.printStackTrace(); + } + + + try + { + downloadingFileNameSetMutex.acquire(); + try + { - } catch (Exception e) { - e.printStackTrace(); - } + downloadingFileNameSet.remove(fileName); + + } finally + { + downloadingFileNameSetMutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in DownloadImageIfNeeded", "Error in DownloadImageIfNeeded"); + } + + + } } public String GetImageLocalUrl(String imageUrl) diff --git a/android/src/fishrungames/bashgid/core/NewsManager.java b/android/src/fishrungames/bashgid/core/NewsManager.java index 10c1804..74d0b20 100644 --- a/android/src/fishrungames/bashgid/core/NewsManager.java +++ b/android/src/fishrungames/bashgid/core/NewsManager.java @@ -4,16 +4,38 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Date; +import java.util.concurrent.Semaphore; + +import android.util.Log; import fishrungames.bashgid.MainActivity; +import fishrungames.bashgid.core.db.BashgidSqliteHelper; public class NewsManager { - private static NewsManager instance = null; + private static final String [] urlArr = { + "https://www.bashkortostan.ru/presscenter/news/rss/", + "http://www.bashedu.ru/rss.xml", + "http://www.bashinform.ru/rss/all.xml", + "http://www.minkult-rb.ru/news/rss/", + "http://02.mvd.ru/news/rss/" + }; + + private static NewsManager instance = null; + + private static volatile boolean SynchronizationInProcess = false; //Not strict, so don't need mutex + + private volatile Semaphore newsRecordMutex = new Semaphore(1, true); + private ArrayList newsRecord = new ArrayList(); + + + + public static boolean CanCallSynchronization() + { + return SynchronizationInProcess; + } - //Xperimental -- need do something with this. Change to semaphore? - public static volatile boolean SynchronizationInProcess = false; public static NewsManager GetInstance() @@ -60,16 +82,18 @@ public class NewsManager { } } - ArrayList newsRecord = new ArrayList(); - + public RemoveCallbackInterface DownloadNews(NewsUpdatedCallbackInterface callback) { - - DownloadNewsRunnable downloadNewsRunnable = new DownloadNewsRunnable(callback); - - Thread thread = new Thread(downloadNewsRunnable); - - thread.start(); + DownloadNewsRunnable downloadNewsRunnable = null; + if (CanCallSynchronization()) + { + downloadNewsRunnable = new DownloadNewsRunnable(callback); + + Thread thread = new Thread(downloadNewsRunnable); + + thread.start(); + } return downloadNewsRunnable; } @@ -77,70 +101,123 @@ public class NewsManager { class DownloadNewsRunnable implements Runnable, RemoveCallbackInterface { - NewsUpdatedCallbackInterface callback; + private volatile Semaphore callbackMutex = new Semaphore(1, true); + NewsUpdatedCallbackInterface callback = null; public DownloadNewsRunnable(NewsUpdatedCallbackInterface callback) { - this.callback = callback; + try + { + callbackMutex.acquire(); + try + { + + this.callback = callback; + + } finally + { + callbackMutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in DownloadNewsRunnable", "Error in DownloadNewsRunnable"); + } + } @Override public void RemoveCallback() { - callback = null; + + try + { + callbackMutex.acquire(); + try + { + + callback = null; + + } finally + { + callbackMutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in DownloadNewsRunnable", "Error in DownloadNewsRunnable"); + } } @Override public void run() { - if (SynchronizationInProcess) - { - return; - } - - SynchronizationInProcess = true; - - final String [] urlArr = { - "https://www.bashkortostan.ru/presscenter/news/rss/", - "http://www.bashedu.ru/rss.xml", - "http://www.bashinform.ru/rss/all.xml", - "http://www.minkult-rb.ru/news/rss/", - "http://02.mvd.ru/news/rss/" - - }; - + + + SynchronizationInProcess = true; + + ArrayList localNewsRecord = MainActivity.getInstance().newsDataSource.getNews(); ArrayList imageToDownloadList = new ArrayList(); for (int i = 0; i < urlArr.length; i++) { - + LoadNewsAndImagesFromRss2(urlArr[i], localNewsRecord, imageToDownloadList); - Collections.sort(localNewsRecord, new NewsSortComparator()); - - //NewsSortComparator - - //Xperimental -- need mutex right here - newsRecord = localNewsRecord; - - MainActivity.getInstance().newsDataSource.replaceNews(newsRecord); - - //Xperimental -- need mutex here, too - if (callback != null) - { - callback.OnNewsUpdated(); - } - } + Collections.sort(localNewsRecord, new NewsSortComparator()); + + + try + { + newsRecordMutex.acquire(); + try + { + + newsRecord = localNewsRecord; + + MainActivity.getInstance().newsDataSource.replaceNews(newsRecord); + + } finally + { + newsRecordMutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in DownloadNewsRunnable", "Error in DownloadNewsRunnable"); + } + + + try + { + callbackMutex.acquire(); + try + { + + if (callback != null) + { + callback.OnNewsUpdated(); + } + + } finally + { + callbackMutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in DownloadNewsRunnable", "Error in DownloadNewsRunnable"); + } + + for (String imageToDownload : imageToDownloadList) { ImageManager.getInstance().DownloadImageIfNeeded(imageToDownload); } - SynchronizationInProcess = false; + + SynchronizationInProcess = false; + } } @@ -157,14 +234,46 @@ public class NewsManager { public NewsManager() { - newsRecord = MainActivity.getInstance().newsDataSource.getNews(); + try + { + newsRecordMutex.acquire(); + try + { + newsRecord = MainActivity.getInstance().newsDataSource.getNews(); + + } finally + { + newsRecordMutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in NewsManager constructor", "Error in NewsManager constructor"); + } } public ArrayList getNews() { - return newsRecord; + ArrayList result = new ArrayList(); + + try + { + newsRecordMutex.acquire(); + try + { + result.addAll(newsRecord); + + } finally + { + newsRecordMutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error in NewsManager constructor", "Error in NewsManager constructor"); + } + + return result; } diff --git a/android/src/fishrungames/bashgid/core/XmlProcessor.java b/android/src/fishrungames/bashgid/core/XmlProcessor.java index 37a4983..bc1904c 100644 --- a/android/src/fishrungames/bashgid/core/XmlProcessor.java +++ b/android/src/fishrungames/bashgid/core/XmlProcessor.java @@ -7,6 +7,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import org.w3c.dom.DOMException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -36,6 +37,11 @@ public class XmlProcessor { Log.e("Error: ", e.getMessage()); return null; + } catch (DOMException e) + { + //Xperimental -- need to learn more about this exception + Log.e("Error: ", e.getMessage()); + return null; } catch (SAXException e) { Log.e("Error: ", e.getMessage()); diff --git a/android/src/fishrungames/bashgid/core/db/NewsDataSource.java b/android/src/fishrungames/bashgid/core/db/NewsDataSource.java index 7c6a997..9be548e 100644 --- a/android/src/fishrungames/bashgid/core/db/NewsDataSource.java +++ b/android/src/fishrungames/bashgid/core/db/NewsDataSource.java @@ -4,6 +4,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Locale; +import java.util.concurrent.Semaphore; import fishrungames.bashgid.core.NewsManager; @@ -12,6 +13,7 @@ import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; +import android.util.Log; public class NewsDataSource { @@ -19,25 +21,82 @@ public class NewsDataSource //Xperimental -- move somewhere public static final SimpleDateFormat iso8601Format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); - private SQLiteDatabase database; + private SQLiteDatabase database = null; - private BashgidSqliteHelper dbHelper; + private BashgidSqliteHelper dbHelper = null; private String[] allColumns = { BashgidSqliteHelper.COLUMN_ID, BashgidSqliteHelper.COLUMN_TITLE, BashgidSqliteHelper.COLUMN_DESCRIPTION, BashgidSqliteHelper.COLUMN_IMAGE_ID, BashgidSqliteHelper.COLUMN_PUBDATE }; + + + private final Semaphore mutex = new Semaphore(1, true); - public NewsDataSource(Context context) { - dbHelper = new BashgidSqliteHelper(context); + public NewsDataSource(Context context) + { + + try + { + mutex.acquire(); + try + { + + dbHelper = new BashgidSqliteHelper(context); + + } finally + { + mutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error when creating BashgidSqliteHelper", "Error when creating BashgidSqliteHelper"); + } } public void open() throws SQLException { - database = dbHelper.getWritableDatabase(); + try + { + mutex.acquire(); + try + { + + database = dbHelper.getWritableDatabase(); + + } finally + { + mutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error when opening NewsDataSource", "Error when opening NewsDataSource"); + + database = null; + } + } public void close() { - dbHelper.close(); + try + { + mutex.acquire(); + try + { + if (dbHelper != null) + { + dbHelper.close(); + database = null; + } + + } finally + { + mutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error when closing NewsDataSource", "Error when closing NewsDataSource"); + } + } public void createNewsRecord(NewsManager.NewsRecord newsRecord) @@ -50,14 +109,52 @@ public class NewsDataSource values.put(BashgidSqliteHelper.COLUMN_IMAGE_ID, newsRecord.imageId); values.put(BashgidSqliteHelper.COLUMN_PUBDATE, iso8601Format.format(newsRecord.pubDate)); - database.insert(BashgidSqliteHelper.TABLE_NEWS, null, values); + + try + { + mutex.acquire(); + try + { + + if (database != null) + { + database.insert(BashgidSqliteHelper.TABLE_NEWS, null, values); + } + + } finally + { + mutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error when calling createNewsRecord", "Error when calling createNewsRecord"); + } } public void replaceNews(ArrayList newsRecordArr) { - database.delete(BashgidSqliteHelper.TABLE_NEWS, null, null); + try + { + mutex.acquire(); + try + { + + if (database != null) + { + database.delete(BashgidSqliteHelper.TABLE_NEWS, null, null); + } + + } finally + { + mutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error when calling replaceNews", "Error when calling replaceNews"); + } + for (NewsManager.NewsRecord newsRecord : newsRecordArr) { @@ -70,18 +167,39 @@ public class NewsDataSource { ArrayList newsRecordArr = new ArrayList(); - - Cursor cursor = database.query(BashgidSqliteHelper.TABLE_NEWS, allColumns, null, null, null, null, null); - - cursor.moveToFirst(); - while (!cursor.isAfterLast()) +/* + try { - NewsManager.NewsRecord newsRecord = cursorToNewsRecord(cursor); - newsRecordArr.add(newsRecord); - cursor.moveToNext(); + mutex.acquire(); + try + { +*/ + if (database != null) + { + Cursor cursor = database.query(BashgidSqliteHelper.TABLE_NEWS, allColumns, null, null, null, null, null); + + cursor.moveToFirst(); + + while (!cursor.isAfterLast()) + { + NewsManager.NewsRecord newsRecord = cursorToNewsRecord(cursor); + newsRecordArr.add(newsRecord); + cursor.moveToNext(); + } + + cursor.close(); + } + + /* + } finally + { + mutex.release(); + } + } catch (InterruptedException ie) + { + Log.e("Error when calling replaceNews", "Error when calling replaceNews"); } - // make sure to close the cursor - cursor.close(); + */ return newsRecordArr; }