From b8b106eb65bb447d8ef8d646eb8a332f3c05f6f1 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 18 Nov 2017 16:28:29 +0100 Subject: [PATCH 01/57] Remove unused libs and upgrade version --- app/build.gradle | 6 +++--- app/libs/ant-contrib-0.3.jar | Bin 16337 -> 0 bytes app/libs/junit4.jar | Bin 107085 -> 0 bytes 3 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 app/libs/ant-contrib-0.3.jar delete mode 100644 app/libs/junit4.jar diff --git a/app/build.gradle b/app/build.gradle index c0805b924..18fedc719 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.kunzisoft.keepass" minSdkVersion 14 targetSdkVersion 25 - versionCode = 1 - versionName = "2.5.0.0beta1" + versionCode = 2 + versionName = "2.5.0.0beta2" testApplicationId = "com.keepassdroid.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" @@ -58,7 +58,7 @@ def supportVersion = "25.4.0" def spongycastleVersion = "1.58.0.0" dependencies { - androidTestCompile files('libs/junit4.jar') + androidTestCompile "junit:junit:4.12" compile "com.android.support:appcompat-v7:$supportVersion" compile "com.android.support:design:$supportVersion" compile "com.android.support:preference-v7:$supportVersion" diff --git a/app/libs/ant-contrib-0.3.jar b/app/libs/ant-contrib-0.3.jar deleted file mode 100644 index 34b5ea1ad7d965c725dec03e451c657e718fc841..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16337 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 b)I>zPC%~JP4WwO^L6jkqje#M_62t=lb+>8S diff --git a/app/libs/junit4.jar b/app/libs/junit4.jar deleted file mode 100644 index 84d9b4bda25426f030d7aa74dfc63af00c8c0931..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107085 zcmWIWW@h1H0D<$p*%lxghB+Bn7<^qr9CbbY-1PsQVqkzN-ucM!*n`>~0p0As4k1cnzfq=tzhku8AxlHG5OeoyUy3l#K)AUPZQbfY|87*G14URcsEvMw-fU-O02>y1xvcQ4)Rc!?vEmF4+``)C=7p;+D$UDFEh0*3Noqw&X(k?}EDQ_``9rs@$8OH|9S(`{vER zUw{9yH!yzl36Z#!K9eUnzQ(IHBvEJT|D-u>!G=Owwx|hoSWqaP^zf-=j@>PG6 z%Lh(pU0$cB-!zYJ&^a00)~eZmXNnBZTBiSY51&6uo>TL|bb`UOV=7Lmf(y-_FS_?^ zb<0{??#!>2hj;r~{;fH*nq${-o~wT=l*A5hNO~-l6&1ZTG08Fedall)O$iU$daa^( z+}zpM@;GbWOL?xYB>8c&hk;4k#~JR&Z8*2aTCA@6EOF=3t-Fk-*(x*FJT}|rb0;z5 z-0IuM*tSV-vkEUyUC4X=NNn3%qcrL7CDEmi>=x_|Yh17}+P!dE&r!z}vorpQe+-Zp zy44h3By&`2%JOz4-bbCh{I+b9g?c|Re@LmDxRiNgytn40za84DBEL*noBK9Bw5YOa zxP0O8N!8xAFs(0F6NU3Sw@gn7_cYskkLUEgcRYRD&7BYb?t13hx6iX)yMK||g`-lL zR%m>C$J zu`@8J5s`i%sb_A;>!8a~BLB+tS)8`8GBS!f26_i-9e>;!?6R>TOxvQ#s?WG@VNS+| zWj>o8KP~+8G(WA+V6m}XgZ^Xb71?jwwmD3__{XEH>{@wb_WG&o@7vch8uYO;3pO77 zdZ0AKZC~i6uXDRzr!VV1RjE6D$$BwncTZ-+#(h~=R;BNsl&^K~w9nhk4&Sq64V804 zPlYmtb9U@;IK9Mqhh}3&){~76I^mHM)fQ!JPgoGD5LggnDZeLb+Pz78W7M{tb6T1) zUHu&C|Xx#k!^@Sckh41ZGe@tDeXlCl*{+4y!fs-M@eeIX{Pjw083Rom7 z_K6*vx4D38x$iCMjT4@odr^^W{c7UsIiF;Re33HV?nRB==Z5_ zHRXin7Wo&8&T`+nJ9w2!q;T+#%m>Hx8e5;1Muvzji&Qw~elUIVW`pL)S*l@N%jd9J z=ReqXz(ICy`P46a5}Z#?y}8|W=fV|IOm9oHtkX{}D%ZV}{L5_nqB&Q~FF)PXurq>l z&!RcS6$!h(UCHkeWm&W5wU@v7sxO8v`xbq%7v6F7tjp@KDCuAK-14Wt(0n23pMUty z5?2+AXtMhINTSNsvoEw+h-Da`H^6H6u`>&_VZ~Xqh>92)fOANE=adp$@#ziNV8eUrb ze7oU}>z_E8_%kjY%!=r}!lC=Q>!mX9v));iQa3LAamuip*jIPNAicnBZ)=Ecx8Evb z4gvL!&O{-r%M*MTsm(c{aW4B4w*>dec!92qC(oa-xjM7weEf|=`%AwazV(meR%VFM zjzu#shx+tdc5?n%F6@!j%i(%_;!%}E_MiR2t8AC+%Uu1>nklN{b0 zbzeK_{_KdpjPwlK+YZ}SiM1V zjVFg8&-?0S@1Ff!c-q%}yN~+*gRf(XD^t6z*R>cNKD$jsFzRvY>1#2k(*nx2e~~Jm z)ylKxfI#Ghm1&)c2EjSg-rtJq-M{sXdEM6<#ocEG;PKj!=WXyVN4u~K?na!RUhg{6tBQ%@VmZhdCCF6z;% zON*>@7jqXf-Z*~2zhUjX+3VKM4rO}H;wlp3+@ctE#rNN-)l+xuT{@NLoPd5*>e(CD za$;{Z8ozn>lJBs`M=#swu1d9%lf;EppT2Q8mRDc&F!rj9-(G8@n@s}Vp$0v(Q*O`m z>=5_fc2M@bz@d{8hj+ACe-WAfTysY^PxG5Mk@Es?maN^y|2^u!Q;|D|R@l$*NcD(k z^*F!Y*d=zgrkbx(r_nom+~4k&Z-OIDqGu2s>a&U2|T zt)ixOdg7lq-s`4+tDJdbyYlH7ZZ=)4O0zdMPd~}^d{R?-g`dgRs=2d8+fH_eEj}xH z=FRuHOP9@_mOlNbckCON_cxc%7n-_6h0}Y#ytBs|@w;#qXqMdvFb*FU5d;W@@nih6pYUfrCs~b~v1+MlTRsP~H z^Y~k}OWy_ch?M)S5m6<7f4o2c@=LSbPsLewyc^FO&Qf#y#&NdpltZpzfMH|xzMR7| zcqA^gvHUnaMK{fRZbDUi#GU_rJK5$Pd)~jXqUY)P=P!EZE}WcoG4kW)u>Z`c8Nz4H z&I1BW3=BLh3=AsRG6X0ixTGfM7bTYD7eRBxq`P^S9Rym>KRfOxb9u|s78a-346T0{ z#5#5_@X}Zz6vPq~{q&yU?FSQXU8>@>5fN8#4BYvEu|ng>o3y8G8mq#-Rh2)hu`+&a zUtj;1?Sn{v?h}c!^h^=2{`zS)UWY8a_6W~A5pL7bs-K*=_&`APlQ~@fd+NK6vcFHA zRG^p}!DGGJP&Hj+p5C`x8L>47683Vu{MWGXV&wcwvc@89AFbah^k?gxx{+|AeAiqUj^ zyZNqGUU&6v^ft1arqr|S$_Kx4lh5|Q?%nBMcJEQyg9nUOW^zI4ddd0f#&RCw-wWm+ zoL96{!ZVif8vjwtzF@%*hXcw#?Z0Oe7_;SM@Vt3SwydU1zb5Pa(sSOq_QFd6%czFS zzd5&G|KIq^-0JBD*Y~`am}W1zqjc0vH=xo=`uaxZ7we^6Qn#!qI4mQTw)DH~)qkw7 zEMuHxWmjFk7r_)}l)$?E;uVKiD;e#sr>9P85WkW9W70<*+03kIyH6PDENjc*U_UnL z>g)N7_r6-@%A2LXbEA=Y*t51}NfGCJW=|?A?)$r5JMP=`JyVSIW54v=Gyb*c()zC5 z-j9;h-o0Mq{vWN$bo*j#=L<##hE!$-1|?i6Dmb;Iv;fxFt__L~zU&}jdwa^VmK(v!o7cMOCg^^Jax*n(mIA^GxfcpB-oIEcx9Pxu>Eog_PK*&75GZ8SbT# zbFod=%6LWPyhzIjKhqw55x@50%)zB^Y&YGTlz;Iq-}UtuxXjl*Xx;zdzeXefi`P?F zUh#5QcuZ3ilIj1jqenkzPaEIO(ofU8F4}fUgsA`NykX zbDeJ@{&MZBlDt(>K+k>K|IkbHXq1C@7t9u`n5O%r3J$*r3)PxC4PFq9@@9g5BD+~s{@;u9Pm zfeW2uUVIi4H$46N=A8NdnRB<+|Nr@s`+%L5oL0-#Zkx^$|G4a#DS@+6_6pB@nY{Az zLiY9zfv@Z*C9Z1m6Fpcfwedm2hD&liTjZzgm=eD7SI*MEdxM*bXUy}K552=-z&?G0 zL5I*!t^GEWU%AXVI_ZMMl7$`qtzBpKM3j74uA#hz?egk3(xUzxXFvUES#?VIP+Dbe ze#*4t%e?r#=VVqbx?3yHd&f*VL+IDrNYk_Do;=nIvt84(JAN7WhBh(92e;x^hnx;L zU3_S=rtiP>tsREBTht$DdC&c_X^R;XFXwCH%$A)#uePsQy^Z%~eVOd3g=VrJ3g&Mp zQQX%Nr!%R4@5Xk6^-BZXUy9EDS2$~RfL;F?&g;i~t8*Sz9M+%Yvg&X|%FHtxSpArb zEpt9DKfL((X6BF|YsDYWtY;{0&&h@Bm?b4=Z}Sazgp>Seuon!9O#+=hFG zx1X%|@A7!>L*4yv%H(Pf&*j{f#(FwuePP1sMelo?j=iwDw(+3H{DrgMtTia(zWwK( z=BfKzU+(%dp;E2lx?WCnjzN)F1Uvsf_Ko39D;_MAz5T|N_fh=WYu)=%>n8@c6xA#S z28JpI91XUD#N_P6^i@tc*>~jqT=|OMA`;{k_sP>B^o* zXa4L-`rCBm$(tizLhhc~v!$ktP0Wq0am|rUE`R47*;7*cf61CFPlVjq);;)hY0;CA z?PunMxUo5=$W|#F&Eetc;W@)2aNxuNE|r-QH_!^c4?05IJvbQ{O2ru%K%+L0As)n_ zm1A*nYEcQqjdQ1GmxP3i9{--mWGtD-)WWxrCBvy9MQx#=##JY&St&EjUJ4vgFu8c^ zp2}ncgPGi)8^TuQuFP0@H6(h2;|j4UUapN%lQ(`@xUK1^`|H)A)9Wtz+u6M|mp}dA z?)#aOXU@vL+>~8mE9cO9y`?Rw?o+@{ zN8`+C3oI{I7+sqzE8DSj+id2}84FgeFwIaao3Ya3|5~flM!O$nI&v?5chQ{V)9g=~ z)mq&Txuq5dYwVpFVq>{!q5Y1-{!Py$LtH;Ew8%Lo+{C1(EP2IR%6s`)!IQ?h4GTUw zYFmn&KeBd-!bSeAZmRoFEbyA8oUyG}*iiVT#CLte6>ZNdUa~o!zH95C&9vmkg=Hb9 zynbeCUM=iv$hr|V`&;TlwHIRIPgWRz*0be#u~3w4?GiQ}AD@$=sS5U6=FeeelXyv;@5 zI{#ifJx?s;`I+kFrn|&%>*T82%|7I`b}@g!rEu#T|I*~XEA68V~d0bkup_AEF&FbCx1pl|of8RWE{Dw=r$;E?!n5N+Mjj8>ZVMUFA0D5HudRw z5#5sadfHPzUQYfJ8TMCZ^*67pabZs-*Zg7)vwgJg*43k{+`B*BoqFbo+l+6Tzm#6v zo!u21w7t8ulJE7rguCj6w{L8heK&hv&Y?q6n z$LVzP>FmDA=2I5$3|5+I^r)sI#@&v~VAzLr(16c0|~p8CXB;_$e$?@jltR+ zt0riRzOtE{-Cq-4*E#K*;{C1bGbcuVa`kR>uyfU!5Wi+YO>?P$Yvnf1Yl`R1y&0_! zuSmXP!d+OYI?W_jG5)it*6tf6GkcajMy38Z_$4#_G+0A%Dc+0G!E031!lRfxOBZ7Ioi1N=Z zUZ*zQ$a_g>`AGzqRwky51v)oTd%d5+n_bW_|6xHEbbZG7v)DcPPTfxgzq5p zB~RHV_9>I2W9F_Yx4OxxUT!&uWy|D-qD!le@FkjTU)Yw=muJiOqwRr5pOyHznqQKu z_+l4r+t=p#>XBK;wv5Ic@9zgL?Y&^K(6(W%p+<812JRo``I;u4b@G+-Z;Q6**?m_m;F^?KaVkJLmAi&*>v@HOchl^e5A2Md zd-80>CyzP(T66NwB-hN3IOg!(B3JIn3U;oXUrY2(E)Uge@_%(}_Ti9Sdw%&yH!N-3 zC#{y*aocK(-t2z@8{{=Pgf5sdahNMLvk2t59DIMt`og)T;W}&22Hw&9ts&88QTCwY zUZZkXMZeJPMR~1V0ls}g-5>XJzm&*Ztj^`3ZIa1)WVI@Ym|Br_D>9Ph>z3ee8Xo_Z$YEk!o_HDtrw~nrV8nizipSx+fL(MJ6 zngC(>kR$xN1niF-Y2U&6QBnNSW`&x4DjySlYa#^ePfh)C+3)6Og?$ec?ACPhYd=!f zJJN6X@$sFeABEzNI0gKssmNVElHB!!GyKtc>(qF*kJ@~X41H~ub<8hOtn2FRFXVod ztaoI6^M~F^M;_0rh!K=8SN%6B_?xdle5pWx_M<}2no09!hB+?q`?V?fweF9~-7A_b zRQI>6`S51TF1Gu&`I4`s`n_X6^YuO1t@>(K@T=KXx8}ZD?YH)R^DF*!As8|UeMWJ(>7&KHdf7= z{Cw__`t~pO>jG!bxqKwru&w#`%o*Ab^R2WW)-!#NpYi!UQ^d2+!rsTuG;6K|BbOCY0|#vua{W%+Bn|tE{dQ0s`~IdZ7r*( z$0I9FD%UhPE!6q5CF+b`Ld4=Vl>yh|!dNdv&Rr+`;<+hL_}&Y_O$*z9hppVF{UUqT z0`t{%P3>uQKO#M~mPDUnyc!d5cClYzXn;{m>7m0`4-=;r@N31WJzbyYG1={E*q773 zKfZmr6wMM~rdx5oyQ^M7>*-=G_P6g1+4rA%{y^59PftXir_fet0|(~{M2jPveqJYIX!Pt5lh^Y-mYZ$)0`ReQr+9-PW61>%#q=`2RN4g_NX= zvbA%S%+dJTEKxNnpr}cZn`7F;nou9t^I9r0*8guV zbk;DR^OdjJL%aS`<}SA#IW5}K9lsxj^eyU}d12N`1ChxU6XHc!ss+w`_4qb*=BjVg zf319ZNUGFQ?d0&ZNJK+HsL)yGIXL@85rhq zF)(Oii52Jk+=9fS%;Nk!Fe|wP9w}jWgM-~g{^tr!76@~&YgJejBJI@ht2H!G+WAVx zf&PG~tzmj6d1HL?KHQUDI^X{vckK&r>s#kOT(G+$$?0Q#*^w|32rl_5R|rhwJO>{|g`BtdVYLPt4evBXzFg-leWzneY+3&Lw&Zc6Ge^03ehaH!E;G42 z^DnKP5C$#_FM&)IdF#?t$(rCqco2HC&p(=e$qaX9na>mr$B`C9h_;?%`sd zeJ+~I+aI{fyPF?su`sf^&eG;AlWU={S<*1NN=igE3F zuz1QUa zmA0_6mtr^1tx-B0xbeI54+eE+i-Q;Lb{OZ~-u1L#&Y{dh6Z9ipdyVejP%hq881-$# z9@e`o$0HqUqVE|LA93H9vTLpA?B^Ee%yV|#6`MU-MqF^}5znAI3tWN%x98>t@;^{+ zn|EwU_$fEV< zxHCVQvT90++r2~onETEjxyg4h@#e*HvjA&K9`%BuT@A;RbUwHFRnDX-H z#O(Gc>#2La*ExQA>Bj$8PGzk_nf%(h7kR(99e(|y|JXG{0omB&542yFPO00?$$h~~ z{q_Zyz$guO_S&`+Ql)=C%Jne@S^25Ym~u~@MNZSzRAoKJ5)MtT#xQ-P}l6@zM(vihjoXOO2@S){|-E@eyc0p!95{Z zSu|#;>DFtyPX~ubQIA$PvS_Jk#X7zywaFx@ipa7iLf%%GQ{`ydyGO_pkB72YwUOydGXX9eeQAdS2D|yJ1G* z7bW&hTfXlnKWYiB{BEjh zD~Y;U+WKWp;IxeJr6nrPpElIg1XbS62Ss~r)rLBuGPl3(c)PVCU!m!W zLzkmESNHcQr(G^zmVIj~;&+m$?NPk7vd&6;nfk3GG4_w;D^?zVoA>g>N^th&tgU8d!6Zu;s4ja%i6cEAoiZ>jiwnIg3lh$ zOpbjh8>hPDQ|rw*&`iKrAfv7;g*@z;9Y$1W#)%_F&~oc zv%j08rn-WcPXa;fazZ$-|*HwZbiu!DL?0_JEk38u92xQ@%Vpc z??=Wli_a*s8!@p?YCbUYU1h=t-{p>PmtT=N%-gBIL93vtBLBz2=+c>$e|sm|ZgKH? zIL~SO+6!N8)9R+IJt11Bxv?pl$@|xTjwg9?JR<6iGtCXfBo_UuXbh2ky7BSlUZ?GO z)9$jpmyYdT8gk%K*Q}$ZoxFFJDhGeQvw``0!%NOH%jQZ7aa~4)lZSM<>SC4htFT}Pk{PFA!cMaoIx4-|mxJ~}W zy%!7X&>yB6K{t@5t#3#t!=z+pJ4Te>p!;zUa#Z z3ys-qv+nINZwme*Tm3|nX+=Pa{NByS9vRQ6>pH3aW#U1ezt66?&0})^s2ACKL-74W zo&{?nS*_f+Eh*n~==sUcWs_aruXd@QGe}bGT28A^ z`TT<`URx@A$J`So?g!&lyMw*k)SeUxfB*MxLB+b>MLrsN59^w?uHA4ZY$bEc(()#W zTm@!Mj^4ywe*9LCrw5h(65|hk^i^%&>z@6Sr2cRI^y{f8YS|!d(pY+liGkrM8v}zL zmKq78Y;aCY&VaAp>kY{c77CQ8>zkzgdfAetGt=S%7=4$VG1`;T5$0^R_}O>m>Xxmg z*DZHv)UTFYI@9h8^RGbP_mLMQ99Y=Cy{WF8_r2=hpTA$F9k{HetR#}uRgZs~e07%9<9?+(U#lv#KK8U_WJg|wKm^%uY10m zI%m$)pG_h>v2_D`U{gI(0b-j>YpA8ZYztT{KO(%zL@JliUa8XoD}$@7QeT z-?`;Vb*My;Yl6oX$wU*^&aXdI?mn9qJE>(t$I~eBy;+hf3)1&LKRQ#WTFOm=&F_b$ z|E)WkD)}Z>^B&D?Gi-agt%0{ExoP2cg+ICvpDq<$V9;~?QSZd75lc#a5~G}_BreUY1~+em+# z?p9Xiv%mK)IOVc>O6jLt{CV~1-rl&EYKNoh z%VRgMTvQ(-CONx$-iHj4^chZ)NLv%*xSj$z;cLqvOgvY@ZZu)Vd!s%t$k2`0F&`RJKN;XTfxX zXQw1|lPAe-G>V7$=c^KpJgR!=l55!$tn}F)AgxxU?#DY+cmG;I?Y%wFPV2loC4DCg|L{t!UYD z&|sml@YH*6{@&a7T0TQQcemJ;O}CyF*SlSRbwA_x+{qFXT#i)EIBmE2`@e77^`HOw z`u=@A(~IN$jyZxBCgBA+_EwKiRhBBhkL&J>ef0gK=hL6*Mnwn1^J12zhYFZ7SwDMH zDyjRUOwUSb@6E!U3KyPeUZ1veN|CMg`xq%%A%SG3+m9-be_r}{dCIy4S%G_69R8kJ z5$U1bSddhFE}1Es{j%lk?B%RX58q93@U@vAs3_3TDtkjMz&zvHYt37kiY;u7Z#i!V zo;>ttOOg81l0LcF!aq$8dO1DYF4!jEApG{{=56W%r?l!l&Yo~OC*IMr+q{2+UsaTr zfq>tWyE$7{ybzOd-+58->C)KhgX*puy=F)0iyex4!@VeYL9%iww}0|}hYR1-xVEk5 zkqtNDXV)oNI9G5rn%CW z*Zh>(@L^Bd>T_m0IUlh$u5(W}(X%zxxf~>Zjq^xJA}`mQ`WU-l#|=8SS0$QRUh;_B zRKS+bDpgv0^PZERp4v}kXWsRyiHFK_)xF;=H&}9a{~o>2rC;Ao*;aY(5Qm#5ckZ$D zw=u^;mn{9-=y-W~dQ7;UT265Mb3-|orniBqH=TsUZ=|)n_OgG^wZ$eSeTz!J>4Q)o zmcog9Lw05*3QfP^-M8!Idj4GB#F%Xx*xy>6(Buv;nEF)5cxF=HZLRjE%>H*%zWr%y zHTV5_-b+7o&Xua8W*O^OrTs`RzP8NN-gVWa%KP&+iaMVO{azYane+d~p3FNyj- z3WCJcx3Os!eEAr>JLcW8`8%fi-iUPn#X7xHw$kbA!B?Smv;KaRv*UPFo0s$Y)|Jg4 z6!T{GF5~!_@Z*)T`ztNKyWf3zf3VDF{iw-);qYlOyX(818&;|+u1hjGx8x@0Y%S)z z%8KtXF#$_+P50b<@gi9%zTk4!jcZkJuV#Ph*rsMMYlTHVPu`hNi| z4fCBf4tzc#c5Y$Rm54d6m>uxy~PJdUY13hORxw(XAEsk$sEQ{jU{VxvEd~HZxuM)AVfj z>yq;Ig~uzSF3oW7oml!^XW?VBSIRYZ#o_n)?>QzfIbNf`@b{*=m%ID_g>Kfpz`oUt zZGZa<>x?>mf9bi$e7!Gba4xE|ZhOq;7Jl=qze;Gd#KNb~^A1NH>|8l7bFN8Yt^DMj%A{Wzy4lrQ5xd*_w?8PFxnnlO-OwSe#C0dYql)F)i6+TF33<5&I8JKVo%&OIPT7=*p<>?D%5c zhI}8J`_mr%;=4b4nSjc*81%JvTQ9N{TQV^)B(h*1o<=lkoD+*v-4c@%Q{X-A*nA;J z5!=J&w{;_Qv?5-HZDa~HlM=q5lal^y-sb0XtnKUSezH9b9LhT8>eJE>;&^;ex9oNH0N8n^`T() zJHonoANP4EA1uf_5?@?=X70kDYs`hFc_|;=u(OAM0?)4p3qR;&`cHjp#WQuAcKfq6 zA;0>Rm+UOqe}2NQ{L6Ql+veVSb*XB)V&Q{tt!)<9N>e5#cU*sUSI1*fpNSFA&uwoz zmj7F#p3?sPSkuA_Wx96niZa=Mzc5%BcT4VY-tT%Ng^AgJUHv7W%4ud=J98}z%b&l@ z*!u2uj{r}1$?1|s&I|u>98oypHD797f^{#~;cKg`WW@_6{?NT%ekK24+>8^+QJe=h z#9AjCtgsQ8XCEe#A$48y)bd~aou}q?xaaE%{!?z2=J{?lW$HqX^ompOC8vqRbnbg- z^|<`lfvIh8FIYWfZ0PS@slQxLGc#+&BDpOq4+gB6>#O-9-K#C=#4D|ZJhvvk_V(WL zWc8xBNry$h>0b4uG%-j2YcE!}O7J>l&vD3qQ|tCm`EAmT1*Yy1 z0ijHdZ%UIGT4ll>+n6uxO=`bzsrb)$)+YhaJ2H$zZ0p1NGx=%8BCIbV*eg*~xMJ(-xfTH}8)Z~)H zq#S6vv;GQON+SneO7jx3lxEAKBX_QR`m-qKZ^NQLlde3ObY#h#5X^-%ItzG|nX4IH zc$Jwqx1~uaGf&TUEy{BAOsk7Cv}RUUZZ>f8_HYZVvpk`*U=?(^jgNpk!$~RI2}NdZ zYzqo`6b^7~nL4$R_e47Tr-%jo$$O#66PE1tIWCiA1pj__nzjm8IsR_ z*Tm;Dc=xah9a{5oSJ|heD|6@1-FZ?tTK$5$kM!4oO`*TEzNa3Zs_e7sT(-D)cIr)` zs>+SLd3)5(e7?JXJ#+N^U7>|)DaX&v?lLbu-4duHK5?SZA@)U+4#+CFKH=tZ7HTte z|AyAOTOr%nXU)dIAjQkTAcw;@paKHoqp4xJ#loQ?b$PSZGH*0(bEVQg zhm8STQ=OtFh@IMa8Oh6*Wp)&P|aB^Gn9ynWWPbl#<7zS&E5 zhI`+9o8`rQKz)Ns`BvSjmvpQd_B(_sdN)pTF=u6(x-qfTC)e!ClZ4{_+?OX0iZT8V zn`^d~>FC2YXQq8+#SYvHB~rP(1hrZZII%La{Oo<{xz@UNRs80vt96GNO&+f*^w?Tr zS>9?_?cvXP<;XMc=Gl6D&v!q1Gp|HOw}1A_CAO>Q7uCEL33xPZ*{xfQx>L<0uB|F? zK4@$7T9;90x%g-8mVjm>r|6d{9f9k@Hi(>llF{2Vb;V+pKNb})*WE9Qjr?fgyEAa_ zkr@3An+%pYcf0Uhm@T`?mCtFn-|?-1(dLs^GAv^1e#Y@ycGHJOsnM3(TXyeM+OY4y!*tJYU-`2O zPv&#n-l*JQ*4T9?l=bb6lNoHLyYDL4yqtLQL8hgX(EY}{jC+n;IU5;tq0@Fr!?)O3 zwkdoZIrrZ&Y3@%{)ug#r*EsjBD3gH;DgEtqnbS zk&)H*MXK4##fzgRtuql_)n_xY`;HLH=QPLIwJG)ocS%l|(Jm@;FtGAon%nHNigWre zDxH71qe*y0(nr;hx$NJ$t}w(+&CQtSA^K(Utg9L)joH7ntczSJz&3%yVY2A-{AXF3 z5=R7TF9rX;{I^Z+`Lu`U+7>(VY@T}M>aw;oTMQM9Gp0yw!k9yWu*^qMv$YLU!v;CA|pMWqT$%zeyzGfhgx)1FOll+oa@QZoOh* zyRxq3{LWPqfA?rgOi!EIa*C1XVd=|bl8v`4U;7=tz!th#SMGX{roU;!<~L5oQFqh) zt?Z^)w!{`6jXtF`_w1utKR*XMTzI{ViR&|)|Lk2i>MKtk+5f?#`V?2_gGo)NjRcvG zOs!RFS-nH-!0vvLQZ-4@J?)%XeJkCfZci6jpc2q(=9YO1URs;w zr8E0yZhI8fuBX4;XnnS)#C@r%h%?Ju{3q^tTERQL@XYM~_pEbrm&SaM?z+<~Bxt|z zk6ya#iU+&rY&)R%)y2JDI*-DYLU($|ZqfQQVG-+uKH--vx_(w3-bT0d zCdue7tMBR4zN(kD*jT;m{kHa}l zSmrzwl_+e!;auLxJtua_v(%_K#lY~LW{$5tgR19VyPjd|_}bH?a3806hmqqH&z#45 zn9T(b>$bOqEi%xU-lA0YH+|*l{px-5pRefXVBB+HVt>Tu#ku!RsMiZ~O$dD>b8qLV zvlHb5?V82fx8@cpE!)_wvi9BX{=M#6yWb_wpW^rU>8a)#-^KZC$7gV=rwjZSS^a6s z7t5s{AN6n8^-kQUsq->xPTS4n;lCEj%zKxuvh!$3n&z~}ykV|PR@JNi+{&3JX%xM2 z!u$S6-T48ZjkD_dM1M3j)_0oKxV~MV`IWcrqpr`LWlzh`9DQHNRzAbs-h#zV!i>3; zGlrr2vAO3FgG|f*?K^^JrOZ8kTjuAJ_%N}^_ZB~;N>??Vk6D#=DqU@LO-p#)?0@`6 znwbQg?!C%e`=;DVJV3wl8E5RAgQAmSEj_0_ZS;Ly>-npf=jG0?f3wA^_O{pEbj~lc z_U^RV6Z6=9bC0*p|~j? z+CNqMj76#wj~rS5Pvh~-w?P~AI^)aI-=CRdT>Q@G_vh=|-!teXskU_-x{$Uuse0$6 z?7dfS_x)B2zYv;#Z_{bh@Z$oZ7Mn8nZZ1k)y=h|gu5By3=N)=DiRDEpXQ;=lM1jh* zX>>7`4$z`=8xveKdETS^vsv;Gu&PQJ7+_Lbp z1N$zKTR|_M@=dtwV9nQgHCv%=htu}V@GnVk-_9!Ip5)*EQe^F?O;2xql9h4Wd%Y|) zQDw^n2gzx3G~Qlba69{LiNRDmkLiqst)~RO&rv@sj$iCUc>-T8G7g0t{L^pHFx)@7j~#g(qcxDC|6BrCj6x zHYuf)UH!}(y<-`3CV9QGxLduiZwte9L%-F1-K8;6C$ANLFqmNS8Jq)%pXNopQ! zZme{|#yloN0hjc~f&vE-FBLlllQ}CimAV4vPEqQ(SKz(l^wDY8_I=3L{J~(yl_<{| zC=yell6~(@pa1ju$_teo6aZ?5hTJoLr#uYTgZdn>NSopH?dn&*G5<;G_3sne$#JbbG6_jzfeZujY4 zK8^VH>xF`^brf1I&Rz51Rn+n$v9%v}uS_}ZJ>Oa4-#Tkv>+PH^YKJm^e&f$j{^Qi* zw>I|3)^AN!>G$vR^5~(4h{UuXnTHt}7_3nC7NLenP-<~$PKgS1BY$mBtiQ0Mi0$RI zcQ>sm(_L|5I@jtcM8 z;z*r*bFcjKdA8qE>i+-y$?d={ZKuW4z1S&j+uz8~%7v@GB<|MlxhuHrMDCrBfvFvC ze_FN|>+#>Z-8|7_ZNJpvLr-`5M@43Ra@3Q^Dw{F0V)BdX$v@+buJ~8TMXxeA6W{r! zNSPzNdTQW%-oxG3N?RstUi&VwDt4>>vI7@59xi^j=(gfA0hSL2!bwt_dE!nxO7HdQ z>OXqX;l;m-#cBRaZSFs|D*joy@zu4Ih<$FscNBmA`*=g9E#bAdR$uP2B_B7QFepyU zt6y<-z@ckz(bOvgVw-r?2%&R_qqcZySaabAzX4V7qHEAxO(rRT;1rgKl1 zywoaLCK&Wx&2_!z_ZPQ4%+3{PS5~!Y{A_%7U8th{o};D1X~pBQU3U}?7V;OT{?%wfRrnon5)6`o(t^MbPqgmG$@u}&YT6F)1;)Wl> z2lkb_DM!j$AB&r{v;5qg;%_&f7cQ;;^Za~0Yk|Q2>jHu=_J?SS-t{?XHtkGy>hGeo zYbAGzmj!Q(;SFr8){_kH?Ma=Ymo{%l!O1hbnbx*WcDuOh#xmzZzmwW|7f(Iu>YKf^ zVp+w;lpRyJQ>2b0?=&dixATp~)~$y)Z|mJQk=6I$-JEjjY-6tEDlHA~wXMZdC)IeB z8meB1nNfH;e21OBfV6f{b<6@yLmPF0xjOnY3QZOUAGh5R?!5iLx><)gZ<|e9`qpCC zg_~TBcCu$XPF`*33(Mac?S3b^)~&rywrFd(yLB1Yn=_)`&q`8XHf5fd64x=hJW=~O zZ}zzj-9_*1dvGR?HJwppGyqhq^= zqYUQ~754Aj6?=Qy0vo^eo_TH2(5%v@z_Lqd=doWW_~!Q;e>(r#qKAFO-0i1SH|tH7 z?R3+7yM=Z3%$cA~1G1qPdLIDt%u&6-Z1ZqVXr#NyW8_7IYf!PjrM?F`wMb*;kpvA5N;)W1h;CLUPmfAw%|b@Z*DU482xW!_TU z$9X!*TkX{upJ}??JJU=eXKGnZ-m5%$>%!O5)`wX88+&ta)|y{Cd&8TL+ZP-@z^Zm^ z${(L;+N$g2mZ>arm30-F5xcyi*(`aP{mEZuEftGGA}1ZyI>>3WW9FN@#YTNX>oPPp zpE&fWti*#iyt=QvyMIUf_q_Bo?{wcza9b4Ev+bejo^=m*D<<#sb3XpPK)?G-*LROa z6+v-orh61O)LXAz^YHjpua$nvmm@6lq~0xRGhcoD?lH%s5kFp@Y|T3P@`=tg?Q2ao zVYfd7?^&JLYHZ#kC2K#q_u{Yir0h0MEk zC-aW$g+sO3hwb9F=RcnJd`Hx0k>`7xjq2SpV;ri*@$@**{qFD0SXF5%4S0tMokkw_v7Yhk{Rj zub+I;FaEaGbdJpZm$pwGPWTi>BxqvsijfVBg00DTeuk0eUfcR!Px^>L*@cVv{z?MsjBe#&+kt(QBmeY)~~(e(JJol{CS z_UT`Ce&x(HYf5)n=qF*G?}0(4k@YQi?cW` zneOd6S7I8O?j{ju*R*B+s`~4P-UL(yzfk?zGHbCdZ~VSy*vu zPVxQ!iLLERP8!7@cWvZn;x|;ajJ~e%aY3No!y<>dOLb&F>2CG#u0M3Coww}St2bL% z%H{;9>|N+FkI(f{Ugr{XmXl5#lQgt;yi(RIQn!@xSaz-8EnnUl_2BIvdyP+CIUzM~ zGJkx|n;EC~M9ncezllM{PiniKD6^v$+l;R1FH+R!?(Yc?(b^|0FyUjOx$w7u_fiC{+PI{ z{IUAJ?X@W^74!14IbiokE$tVkedn%=PAbegDHzS0t0BSWT$fRFWB<{O z2kzJ2+1t8(=c~Z;a^cL6)cjgm_ANL3VD7{m&nNXl-$c#0U{>#^z5^GZ{P}W!^5>L- z50Y}6Fa5&=z3V@HY)ibcHBn;SHN8_TWa>zp#4F5z}?p?D`zh)o1DMru+M!J zS?xK|?;mNrUtYm;{n?Y34YMxWnf}Rai7()AS+S6{_|x=*o#iuxBvW-H?-uk`etu)? z_Onh_eB%PfI#B`3XTmop#vHEJmg&#_@s(@VVtEtOO}nDfS03Ijaxnku*YYV|>zm?* zuipQUHr#q=m-Ou(Mh1p$po27U3{aw+rc@hv+V7Bqh^_L~q?KJOe$=(OI4JKbTwLgE zV(4ftF-?uR#~@ZNYHo5!+HP8f0i!`NZxR&F4(8(MQl&-tbq|i^Nvx>3Z zdef9lugOlAYYzVEd{;o+NXqc9Z>fN$YUcA*4}Z2ziR)bO);xEOvCe8mQeL(=cWCbT7`>Z#xVRJ(#dX?M3+J616IiPsd(tp19{xWyAuCG_oVY8116ZTDA zzCikv_d>1pjgxZy)PFd*x{5rHW?>Pn*?<4c`#IIc#g~^zUzX2)ch>U%=lYue&pG?| z|9Pp*Fs;+nZVKm>ywfU4X|Dsk;LbWjuJ`f5@2m9MziXF?(f?Nl-%N#$UecrcN;wQI}b}&iJj}6^=9W zR-CY$8Bue=V+yz|? z{imYm&AWOd_+TwrXnXt{G|N`}s6Q@QT8 zMU}gqEzM1$o;z`_x-3$ZZ{lfsNJ=RvdH>8U983A5Omtke&)!(LTqq{_$kecPQ}mf5 z+C=Si#8=p_OE;O*Hd-`HeMXE2itZ=oAOzV<}uS zZA7|0g+!m|FJ?LA)GM^3RO;H}7^&1ZJyOYOIx}zN9M-zm!J7(;& zjdw8lS=e~s&R0vnDeub)q?xx#OV_**>=0qTJ9USR&Bzh%;j7Yn_+n7Ulm z7ZzIH|LyUZua%(2eHPPmZy4EOp06bk4>FaVE#Rq)gv)?m0g+Xy=RB#-FbOv%k>Xs zdzx38sY!mDRaNr)*%ZCkZ|B%(Pd7N4uYTwZqndl^NhhTROJmzkH0Y)-kZCKsA#znU zl{KJGyJm;o^Q`L{A_q!$1WNs_OUp_Q556xV_H4GPkE6q~cOE^0k>N&7Q=Z>S{jJHz zZk2ZPWZT9`e-wG`exw%f2tAy;V=mt{cJ{TIYqo7H;ohp&V{KZ)BCnd#bA8^EgdB~u zC6`V;j%B>l+yB$x+`j;sWtLIA^2gO9n3G@jX4!0baO2VOy=NK&eE9g5*;@W6sMli? znUo!*SsPxilgm~hziz@Qn-vcgYc9Q#e%+H1<1g79*1Fv5YwO=zfi7>id*7D7HsL5^ z<&bFA9Ue%n-J(v16`>!}#Y{He;knpwKFgx% zykSAoOVgKIWL8Pee7@4HYw`Lv8!X#l3fy zpHRJZFzKW)`;o^7H?C`G`!6hKKdqw1``Ee5QgvPFGq&^m zgwCnpo#L48eq)P<^Z7HHlcyc3TlY}>$5NlFFwfZ1?XzO!R?K+0>H2N$k3w~C53lEl z{J5^|{)6pBc1C5hgx?!%yEOH~qwiAlj=QTax6k?^{LjbzgVQEQ*`%3^BIA}SMLUUy z2TA(nefGY-$JfnDc)Qkp`;YnZ|5UwiFDa4wr@WN)lJZHPnhn=|`aI9{XNst-U}249 zEqkiM`t66-hTluB>^`vPai9>>!>b?6|IAfi5`S&Qtb3*}kG`-nbQNX{^wf!1lVVUZ z)nVF-qe9Kc&du4Z%d&Ub*T)XIjn>!IjTT=@z4l{!&ZfPd^>P!eSWOLsebUcJ6eeHs zn336;>QNT)?b8!&{R^tz7f)_G(=g-k>a8oLif{FN64qrE_+EI=GGFZw2Vq{Li+^OE z`_A2NdP~u1R)j*ue%@!h7VQ3gMgF)&f6`ii1c8GaD=l^w7$Zh!_IjKtdu1loifWo7VZ%sKwVdb=mLaXD3wlo8>$- zEZn6Q_H5Q2wZmtY2o>#^uXIje{ijajVviNYwI^>ZP`g#Y`MLb_fn#4wmb|!dB#YCx zwJ_4H-?)ou?@1r6tU1z?r#EN%)kbRFyl`us%b|D4Zc^M5d{6&;Uexoya0cU#Cl*Jy zdVO7&$hZG;$i8Up%ZAJX_D>}B_t)Fk2!z@`=J+b__SK=_8{?I>%`477y7EA%F6Cm0 zz}erkH(R_tVP|48y5Iiow}qG4b5EZaL$8vS2Ry)E3c^z34Z zd9H1OCv$o2vuxQnhSgc>pTD*2wbqi;kFHLh6jz}%?aHa$@^VqnRh9Nev~(93{(th> z>)x5CpXI&??_|7GA|#j~s(D@^D7|Pqvu?!MseX0yT0d`WTYf!>``X7ZRWYr_mA`EK z;-5d(j5$!6(9t36y+>?1!>hNYPt^Yg^<96=>ryLdm$`qflfZPR=jUAiY`!;7Y3bK( ztlb+$1GDNyXZ*1zczeVy~1_<+n>3Y zK0kT!RLVfzr{9!k3j6lUsf&OAKKv!Oxh8nGQBqZI%QDT*y)}7iVSi60oqd!TZ4FX?|`el#0rtApHWDJozmdbpv7xjIA)AU$^Ls z+@9%7t2AEK?r2-yx@YH2rRz7N*jK*a`tb0Myacxg40#n2=C&_9HchzccuHjFn-WRE zBkUg>?NpEN^?Ua=cxSoz%cYI(-4^Yc9)Az-P(8Hdjr{RL|29mXI&smOGmj4Q7k%w( z-jOZur@L&=@(G)s8@y94;Wx0HUYPpdVfOnItGYgg-YX2b{%h6V)3TXRE6Z;a8~{Nab{m~JbyixdFsa#c2}Y=?VB)tnz+m4Y)fOkf<_+&QxoQ|>$(vro%2(TIcUOhgMCM~8x>VC%N?G+@^mT7U+o`Rj#9Fr4`(f| zzq9cFEUne0KXyIdmA_&^$0y%;t9gW%tEarN)m(gVuKM<%rMD#lx9?6`cPVhgrLcf~ zC#3?PotoCPqy`M$o8J|H&v6Lo~+S`a;%@;`{^#vufnAcy`^^o6Sl?9Dm$%s zW8=HqUN>Yz_BNfr>Uv0tIrpCOYMZBXAI}JXy*B>d;aI~9GC8LoX)-zPf3GS2_3Aw9 zKHK@nlh-Ac&0l-zZ^;klh=b|ucV`?=+q(ExR!x7Y?}T+-eY=jd_HO;OW9~xxf-C

=`#5t)5;`@!QDqe6G@y_l(=P&jp^H`qiV&-toU@{k&?2w>5oF z-wBG}Vr(yNNc|i6^wM*+X^h9W28&J;osp`8-K=MF5=MVTJ`4b%51xq`#UHn z+UEQ767JMY-eG%i*_S2Uhdb8#NnZcov_I%YPSQuwTRMg@4#y+2wrFj=v2Mi?UE%Kk z{4u4MUtjS(_wL)nyCSN&8E2yd=5KG1`*}Prq-S%0`RBh+=O~_kvNwhGk?|Vm^F|xz z9j;;8+HrsSBi8AI@0q{ZACWE$Uu> z|KaQHiyQO3nvSfv?D^Ht`kdAw!EFtlG4=i#{~mC)aJ6T*&b{aq!ZH8s>zvus)f88s z=GrgS$(8tjcK7UO1(#cv{n0oQqTVs>_Px)yc^};4oD)}OX^_5F;PR0#F-N*3ReyA> z;*{dd*R=ao-*mHT&DQhbt(%jsC8r!d{_g{0;N0{jm*%SdSg}uS*-nWt%Z0O2El+5M zEtar9|6|g^eVUU*H{Z57yLFy(Ql6yowa*IKT{HIcdq4SnWp75n-27z`Yog}Qh`sRZ z%Fbg(U)rNBrgtrCs^L2=8ORc-n6}94j8i~Jvfk7AN@>Za>*ePr>79H0^@)?=`K!0g zEcQU#U z(6BB3Qx@Nv9&zGGL`&92iS8pS^=5Xz$ zuKo6D-_dJZj^5zAvgTXC?VP*s@^*)Bzk7Gr?!TF_w{y#P-<8V_|Nei^{o@8a!sfFj z_I` zw)b}~UA(j}G~kw*=L%y%ZdbNhEXHQ;${$?}CfyL`QO}j{VrBi9qLIkG=3lJg?)!Z= zC&pRp&3L{*U3g)^;dK!uH~Lha%I2te{bs+_?0)-gg^fkR_L~zMk1TMA^4wjY5Unw1 zL-O3tg!hW?-U|Qtb$ii4yHC%GYV$2zWM{GdylPs_GVkm~yWJd3KgH6LrmfS`IpfyJ z&&~R8;e(5c?Va-{92Gm~s5+D9MyIExX4=;h)97rCvum~m9C_!#_w~lcbqW4A!kS&G zn;+U9jPSUB_w1psZff?QHeNZjbH?H%o$Uc#LS8c@crJ=`-?lrDzQsdOSIYZ^nCXhV z(@$3}n`L`y(YZrjS1yZnu25c`;8%LKgg4}Is90EX?*a?QKYmXWzH>f%cHz2&apH~h zr_aV37|+YxzC$@fkNx_aK<+i06B5~G@~1yKBXdG2$WF1wOjKWQVb)HEx;4jxP~~gn^p)!-^Z8yb&svuMbHm(A-)C3!WZSIr)Ze^; zxmZHl(E5hC>%_>94-%_S_0_+=7*}l}n6$5AV{kxPM9U)Hwbqvf^zB@veHbMEd^?xY zRCHOttiZ#vEb7Ifr#*XDPP@F==N9MdohM3u>%F}f=J6A+HcXS-b-(XRX2GhcL~duP*RE1Wqm^r=UhYeXzke-4=hUmP`nDyf z5-yucbjw|wQpQ`_+bVIT*Q+pkLe_*7=hD~zy9Kf(k_+%U9z!h>i_mD!4U>u?M|;SFnN7NfPCr z=ErLCa*O+WHcPGkQ^8akXJZ*?&vUfr*GCg?|7oIsD!9%^Rq!b<$ujZhanpQ$Os44F z{It71Cuc56ympAKohkd%^N4T7uI+`3vfsacd9tfuD*#Z1}LK zZPL;t_uo!`6~*H1;|_)I`C)Y0i_hfylva^rGd?feaV&Dhbl!!#wx-SJk5Bz=`Y7~z z2(P4EsPoB+MXQdl>zX}T>#8PqeM|U@%K=Xcz6fmo_(&!<`G4eBUj2Q`dbQgp*8E^Q z`~1faEy1-#6`@CEA4>hL;JyFpQGaCf^3^v_ZQkoxS{ZKO_Bh4m$M(Wonf#FgZ9k`+ zOxX14$4A-TmDiUa36Xkpyj=8Gdhn&yrZU^un;uS!`!=tFt$XIjl3!&3;oBK@zl<@` zWs~@6Q=Iqh-pI`Q82ILEo*vTlv)Pg14-UnCZYT8beX?gV3I0f zV`gJ0a4kK1`#!UD*SlvlH>{jF<ra8rT`#<`}?Q#6a zHf=+{n$#S{(r6Pi5ub=3>3_J_I!}!{yI`Gc*+CZtAM1M|J3ij)yvI=a+eKiOHL&-JQ}?#9L^6J$M)Y+e4|e)gghSwFa^J)b&ph4rb- z=|9W4|2M`5a{Zo_Vjy!~DpK7jf4s-xO~6KjC5h2f5Vcu1N>)xwvuY+pn&=7vl2t^B$#O=|_ffE828UipL%KwD{!7 zcjqHB#6PMXQ<(q3&uqV~NdM%psmGi{*IzEzXpXOW^xZ4)*o7I5*`6ECc;0WwYn|C5 z=Vov=WZK~;RogGv6q-z)5M{ck@YUp?q@0bvn@<)j%9?R4u{h;$_eEx- zG3&{;d;J#1&RTr?*^0f~lMAc2zfFtUm79I?yTTTOT?dkuQ~KPTu?CSYja?) z#|buXv#e7hvsZWQ?34Y>wLUKF*@pL%b!Q2#a{Bw>$x`2_l-cLlX3h7yuv+}z&zT)- zC!Xx?&p94<&u@uupkB~QE1j4XtG{kKJ&FHh-lRa+FKjc@vg%JmSh+EY~d>}>WY z2JXgtXP!TE2{V)av&rA?&D6hdk|p0NOxnP1k$YmQ)XRMj6LkCz3ddP0te9gnEi%b? z*V5(d?dM!jJo>lB$@${6bLRZl>aQv0T@87jbIbD4<<)0P&b2U|dv;GER_e32{Isf6 zgWU~24(v}9bhX<#=9|oCHYvVU-V&;&6v#LIu;0VP#)7A(4Jz1tlRwz)JT_^@NzqqZ zHE-Tu-?&xbI6D{nwI|b6(s?ayE}mO9H{iPb)+O$b&vm6|%=ou&%2Lb2dp>kjC*}D$ zRxUU`b3YkqGG&p%)#cnle_b3uolLfx^1R{Q zw#RR@?JAQV9h$&uKJ~b|e?-|ua~2#_?$o*Q zIdhZMhZIKp_k7#FzWP>GF1MzGgDj^Ph!Id5h0EvZqkz(d+KEw5bQben=PP+Q?ED>3_#H z=3qj1-OQ4gYoGVMI3g}_xRUXF_=cQG$9zulJgThNcjD;wIhP|Ev+SlXU}Kyf#JzD! zRp0_M)_>OxJWu2^Tn$-rOkn17nUc;IuWDi(jFzq0{p8&9;7C!HxI?#cf=Z`krncFz z?znN|Le2RiPL|#;2To0nsFphIpIG}{VwPvm`=!!e(Lp!%gioJtb-HlNr(Bb>8H~Q{ zYaX4yT5>{4XNk*c%~W31IR+_$w=z!HY$<-Lc$@EVMMsZl)jiEOujG!uGkkN?uDMW%;uAe_9>7b(8M)na{VUSRCwk+;w#3PiHl~=?@-A)>diEzO&Tj=D$X} z*d~redOJ^NsFrr=KUlfeJJDkHEk3RLX)8i4pI^FCqh}hcI^oGnRf`_w%P+*9EZIG| zq+ z$~W$9G-~ZPtj&?K^N=Arp1A5OCU&t&t7oWvxYBW9|9T=v;cN&g27hf_Mv|Nfve z?{N0BpSm^EzlH9;e=>pfd_|$Dv+0Q^Z&a80a{bk5VAjcMjyTm2?Wm<|;nJ1Z_Eg}T zan!ma28PKs-Jf+&UQLW~zkkPz|BkEtox|A=Yj-gAKXkL{oqghOnoWPS#^FM*0%^a; zWqTU?KfbFLzjx&BvG;#_Sbk~0{l5LY5d{fW_8ws+lKjnS2@S`2kAd{dcV`%mpRp5y15Q7m zC2}wIMU?u-x|t$Nj#S&kyFGaNv22~#^?kpd{Pw@ zZycvwDYCRz6`i*_cvHoevY`0o;(e3Phf5yOPyY}x;n_xqX%=&1&-s4l2vYi*#avx- z@9~O6r`Y39jaOWm!~LXq?xfGhQY|O1_hIsT^_C;W_#a#Af3@g)*^<8N9bauJskZrb z_D0Eq+YzRW9WUlXDgl+SYWfz-MkWie8xQhdGiPW0`0pPCUm=h~_pzM}ng`^&ek zGG(3kKkkgu$7Y_NM^qn9EG;TL_G8h8PnUQfUs^GDdSeFbzMfS6MF)zN{=10nl~28( zUHRjay8_qwQxopc6 z=L1GoS)%j#zCTU7^qceky%e$iM=O46`tLm({Jvnu4@v)jb9A3i&pi2QgV(ncaT(mU z>ay%`p=chu0)h6CIsH;DH^}Pi9{^yRonD z{N>zBqHklJwrnr&JMG(Z^1urdLI0DwcN-0NZhbuE&b7ToJ~v+6oU6@s?CHApfRN*2 zTJq`hr&sTm=JwnF{~QO`cQ&_`m;NqJ2|Qky$)3Gr@i|wktzMk0noGTk4Wgeda(edB z&SL)d9j!heT_d!+3puY_FA>TOYUK+P4=vrkv2wXh!o1BJBkeLn);cV%IklonFYNU4 zr^dhPxe{7y!sM2$;+>(%FSwW?`sCHf(gg=%XWm|$-LdtZZ*twsrIS}i)d)S^;`NWy zKWy2lPhUdbTzRJ}l`#F`@SMq?>&W2}u1g4*I&3Ib1ea-0^JiB`o8%iTo z;!Sv0PIO$G+woF8-so$|mwHCTFcN5V=D-|XH%>+dhNCF!m!YFGpvB8UrFlLm>z8u_ z&UzhokeG9I){QN_p|`spFdykYxOuq}rwdc7%G=OuWtyCc!INU;&o%QuaPItlG{Loc z*4+M|iO(N@ek*&xc3qB);T@5vXQ$S0owDeg@x>J`r!DfQ7~FB|PmK8x{%(3q-ru9% zir2alXQX}3nQ6!FxyeH!;)p@jnv}&mLbT(u3Uj0+ns2{6R4JlAxnbS1OQH95S3cS* zB;7Vs{JnKh=<}lA0(aN>_%G*q(pF;ozH?o5{npzTYaQC>Z+Y2hvgxbmRaMI`e3fxR zANRc2|G1!Sa@el8?h6u@#z@9V{pE3LV1Vo zyi$u}mEGd9aY;^-lWtX|BaO#_0&;TyOph8y28J3Y2BiIsMc{EQ{jk&`&=q=+@vYo| z(|(5n1Z=n4aBV#$eV@OEHRggq%#4IPGj?QMVL5#4Dr?>cpbCDr zDfD-FzW4HzT$Og`4PUcTd&-)72K!}8Y{PFY_G4phyHdCLZcdi2OYhau znh_rOcdN(uvR9nm$C<=3Igc-&t2ICArNr|kUp(}8T)lW;!d8!aXtEdBCA;A}&Ol%%J^521i2?cjAm z*VIy4R_;|#d8Zk$;9|Toi{PXaNo`7hC%ag9&)^m7lFDh-zp`z{{@;_9A6_KqH8mi> zMN>#7K(*qkTtMBiOUhyY`pydP|B$?<%~y)KYrFHabL^;z-{s5t@-zkphB5}^l{L^f zBRqh55;B0g=+d4&SCnXQU_B^VO_@E*x}SrAVV)53QflaBh>&IU0Y%^|3L%MWZurl7 zk#x!bd^wvAr!l4M)wCf z^WN_N`{nalKP3H8?z5B%>zTr}ZTiE_O5Wx(ij5sho3Cs0nk0ulEnWWF zO3yZPm&&H~m1`TtF0Kim6}xP%{?4$#drNq?_$8KE_I=uQE%a7!qFd5tg}jv)()*2c zZ~3JKB)&1vRXZdp`l;=y><~F5^drdpArMrZErbvKu;6#hEhX%ny?2(&ues$-n zTAy!ued7>|M~HMV=bfh9Lv#2#Q`;N;N-kP!=l6-ORh)P;>dVxlSI%9Vd5qxlK*4%{R#FUz`x|==R)67iQ*OS^HSw=h`q;YkkuXMtfqK z7jkVmER}X!e0kE`#=Ekil73!D2g?u)#g+9!DIe)*B2wO4jThHN?E9q4{j@#VXl-pdasW-lqZb9jEQ z)r|gK3~qW>UQ*9Q%&#TN2p7sIcPh;_`@pql(kfQI+2{6{W_fbzt=n&(cKdO~)HZE> z!9^jj?3lklzB+Z@ckQDug>2omR=&)8D{da2{eVR-VZFRz_imZ%Tz53Jye9B}WITTJ znMF;UnfKk3Gacu<80IJW^xl-zOy8En>#aX;zX)I2hqnLgw+a3BWX_*-LwZ%xclNb= zYR?>q{t)&qJ~aP#O!0+Tr48X1Qa7*sn*3a5|B?)*_eWA>mh0V8`+Ic9k|H~A!2R@4wZwf{$#|CVE(tPL+zwc}(#(F)| z)@zTqG>RH=^*>(BW~cUf#j(k6R6cOlX!ZHGU3t9ifUfQCvpP{(Z&tW7&p$SqXO^|& z^tsRd9PUbOKdaN_zfEIfUz=38W6JfyKF*uPyZb)>@m=crNt4~DV` z+#dNtPsDb!0%t_v%cqi$-foTd%WJG*`RUG9*E4@Y=HXXMKP0=mERxt_X|g2d(gw3x zJKlz7)w;)|$3%Ib-4$;jJ@?YwE-&xJTQwiIvTw~)P*FZx9(wH4vq;$)+jeb@*bHbeI__rLZ-Tw5G$qoBEsej!f?7DL^uUDSg_xh`*)gA}#?3d;1gNxX8F9kol z*+u4dEgyu!pkvbFJbsX@is=a=QYI?gnmsXTN3jBR_H&uvQ` ztHVnzBMxN?8ODi!yyehvbjJCsOJgEmtxl9&7w~|4!<;mWh8xx4Y!8}CoVH9)2}(6d zyLHOr0{d4eZO&uC}Wkat_&7uSUPlm3% z>+)D7DP1bLf3fbF31@jsrxliOIv}$4p}D2lvsWgU7S6GDKF9quNjhoy$$8tB7la%x zw%Df1t(`W_O+p%Q1io|s>nJ6qz?*@*TsIS%U=Cj5?nY}?Li?fJUz zaAJjUg#iD`U;YnD9gWmJRN464X-+w$9Mk>q;sjNt|7`a%i!3;c?l?zk?wpvJtdc*) zXMd%Y?6!r|zN|Uirxhi=P@L^v+ji|5GEq5vx@PTSl`A+RgC)7QcyP<_Z0L7C@II+vcY0zkzx?F? zxr{INGimt=eK@1}WYz31Iv1V2rbtSs>Tzh#`{=yKA@AkM^Yh(&KXD(Ls2^6ia%> z7i|?H51Y;kT03Y!eeu&k%{;TKaO)-S1g%v&^G+U%$Wp?az06eA-eNezVW~{jO-==ehYi zr$7Jy`Gq1w_s4u$QK__?lS_sD7ANNx7j+)X(|*0?^wP`I)*fE{@X4V?Yty8{XGCV# zG`Bh2kFuUvmSVB`ufdGcFth0;cdm-@x?TTu?b^0=>%4F2b(LjbSR}Pe^YHtSu>Hd}b#`j^UiD|+3*;Oz_Co41<^ zZ(o*RwW@T^iiJhpJFn*W%zF9n*t)lo$Gs$19OTJ6_e6&G>f0>KiJ2ihyJc=01?xKA zT5nol<9Eqm^SU=;8%t`cm2yj;18)SY+(wsa4R75i zYjrrU9Ig{a?h&gDC$(yq(;CNF#@ze)Jj687b%7oO6z*>|9UzmE6UgNQXY zJj>gJW5uU>to1aW9V!vLOXzRr<&!tRBz|0?ds<1a-R`zeq_gC2qo+aI!i!Ta&%cgv znSVO><*A8L0=*W_Gp=?gr%QDtaMr&*)wE4V!#cKLwx#J&!PAGl4s%YfxfoDf5wVTG zuQl!A|L0Q!Y-9iF7#H+?_D zlNS3Po}~Qdm2I2GzBMn_Jha%nC7}6G$I&lW+A&tkm82NYEuWN_Utdt2zn9JIp{!Db&AoXEs{@+OYU=;L!6v%qWySJF z?*h%u`qMV&YQHT}4+?WvnmOfAdURB+jG6K}5}r9DBXy<(2q&Wk=9m$dY8 ztNz@Ty2^@{DGAbAHx)%aPk!54re^xWBYNMV1G@{BwspDe+VbD+a`VoQ|9;Eu2|pex zwQPE%*$2Bl^PgDuX_qdxS|@jVRndyv=rd9!LXs=bOwlaMdSy2CwA00BQOxp(N`v$t z&D^r9D7t@Hm&$oww!9<0drr5V$qCmJ+q~)KzL=nkucxx?JbIwLQ2S@ZZI`0_*b>M7 z6(0kc<%6$JOx+y){(w5qowm7aF4vuYsnBsV-?KT+U}liO_Q!s*C~k#?+9mR+R@)->hX`I(B5wK4x=0-jzNOm*(v3)3ova0cQ&bjkug`lG-L;ohHwSU)S$5 zk4r&6Lvvy2g#*eJQ$&45)K7(N%Jq$R{JlcQKJ7uF%%nNza?h>0JW1nXM&!o#$Hh~A ziy!SSvSzCAdXsncqiUt6Z$#WgZWDgimN&Z^3EJ&kc`NuhT8s<9Iu*P5hcr~fG zKt9rT+T5j2*!Jm322SiaJyD#uhWWlqm!-vtTbD0X%7_Slv%-VVuV z72U0qvh49fGiyOv_*N^*ImJe`wBTyZe68$t714 zEtw^E-H1AN^rW%-eu1NhPP5gug-3|$tjjA+Za>`}{?3o*fwUX7I<;zh zcDf((YM8LAXm)5uy=vjFuPq;Xp8gR${5Y|oNTKz zW9ytp{{@?3XU>t`9H#a}uUj$i|hH<8C=#W&&++SqXRJG1@#bs{MGWPS`+QIG@cTD`z&Hrev zG|RnUr*g}e^P(Sp50Q#Fb$>J8Y|GjElafxd+`800^x#mr8>ZPpYR-ahGF7TT9w^*Q6NLEwb1Hus%5&8H}YPYPtTZ1^m?sV%f) z*NMQX?mbT}ro`{u=IPkN-Rt^fmwhmd*L)zy<#UJ%-JR;|6p8EQxHKS&r*~;^pZJUlxjpcW@nNt1eV+g0 zLm6Bv&azhZY-yUb!KamXF7HF;6{nLQJI3s}BAr>mlE#|yX8p(O6>FC=M&_;Hd~#8I z-qhpM+6s4n4rPr$w`%*$>d0#w58pa>@l%-C1%cmJ%jR@yi>wb#QBpNJw%YS)<1)9* zl#urkJ&ubiJB+7yL~gPXHSV0bwEgo5o8y5En`>lt&pYx{``;h<9k-CB1y`w(|@JNW9FIr=Z9@w za#5}_d;P`74C(h)+`1gNb@}DXPrjP`Y%7dja;x0!YJuGRo1L2X)ZQDEt(bX!^~_ZT zPqOA8dvEitlqcCi*LKY`rFUMN_g{OQf$d z_FrYZJaAH=&EAc#PAgY@Q(v=zW(dU?$Z3t{$<+6_RD8R#mntq!f5Fe z$oG(SkB?{E5${*q1-k6G_}`=?lp9{nOHX*0a(h>Ic6soP>Km)elO>We7k(gxn_p!f~D;rxjt!4sa^Huo`%{@ zX{{ASt^b7gC!SxS(7gX)XrIlKkGs4a^@G3W{h7x2<>J4bKYgp~Hmx}L-g5cnVNWqP^IrRc@63Co`SQVHminF`n{_Mn z^<{K}<}c*P&ib-yk)E>Rn}<8SO6@Bvtrk>GSYHt=dhOh^S<~0`mEH(_=bLKa?U6S< zJoM~C^HY;;ev8Bl`%k~JI`B#IgZFv&|G9s>758q@FZGz4t<~=(H&tz8IURrG)9&kA zk8Ld4@YCq^l07$bwwmMYOBgOjdwO}gYmqmjXL%{nulFfcHbGBPlTGB7aY z7p3b%uCsJZgCE4->SOE8>?lwx>>KvjJxNok%hgLfdv$|4*Rd0ow<2=;KHf;)tUZ0N z!@pUr_6Ouu&n-1L+sJJEIqlx@@8_S3H)zXfmT)u&i0)dmx3}t#+|HmIYCPVXO>RlX zzj(RkiH+75j`Z2z#w^-UvI^KKv%}+u}eX^L>XN#k7zps6nVS793uE4JB)KvmDzmETU(c@>%DDd&KbCG#JNBUcj zMO{6$1##Q{D<57xVP?)f%NbRlHD>DOxw9M!d!hI0mBXKNvTxdIr9$lgK!Qj&-m!yl=O98(aKV-6q|zK+i=h8lnOm*ItcUebp|v z_KH{Z+ud8ApV?czxw?3})6acx&djxZKEM8)W$`nf^Z%YtJkB^rLx!u1rO!*H`qj1c zM;A-(9t!dDUM6ahQBqssyhBf{@B5XtZ(`P$E@hqbd9lhChXps{?`l2B@NhBV?|K*( z$h7>xjb#}z+2_8LW}OUucy5N;gIuqY*5tJhQ>N_ib#&ilK5J6(w9@CC6^Ax$*P5w# z@Z-N_fp5p>Bk?1T3Uu-2R||iyMHM8*0RZBrjJVO3?&AB zwPdN=sk>U|=J}lTyLwSPeuiRA<4&{L5^FQqk6!tswMtN+z%@AXfY$8N+$*<5uRQq~ z9Upzrr}31ays65sUneK7bgALIX){@+`AU*l{>LN!PvQz(p4V;ax;aBJ;MBbwzZqhM znbN;I7m1zxKHqT;lhK{2YMz@?!hN`phrc)%7BGLitgVvmjP9RWe(XorTTkowzNIZ$ zCPn1*X^W2YAsYp{If9MFwttQKofsXOm$R`;xFXs8^}M(lK5hEv^77{Op0sjfzR6Sg zra~mV719x1vElabMSZS&HZS7))b!}OedNo_YqqRv2y%9BUUx-d>JxSC zwTVl&F?s3A>h22a4w*E6&6Sg0+1whYWhSq@dV@UcHU;r(m!901Dtr3N#;-PIj*JSL zM;%U!1U#CVFg0RI=P@Oj4US({?-1}jbnn2yU7Mm4+G0cc;*K=iE%}+#SDeVaHuU}D ziM?8S$5daN9B(aNI(tin|E}!^ z0&`0qYEKa>{V`*T&rhX`@A7n4x@OfxW*L87dAYJUd~@wOL5pkmBW`f%#khyh^-s57 zw3pL-#Sf{xB|T1O-duK(TV;6cVbSKU^~LW37isQv<(De#?qbY&=B*^e>H2$1g;!iK z-+sZe?S)yH2`8;@oG<4(^XtB)#s6uu)SGYKT-}=KKc%vldG6K~3l!wDmoXNbc-2oa zZuV`To2wD&qvg{i{N7e;U-$b!mx(u}lBQ^AzI@_3MMmXfb>aM`_rm(8MWo-?%{-xL z?Z3s)Nkb%Qwr$5;F1b^?rJOo>rmASM8M<71Kj}$ky=vX1j4uxo-voW=aJboVtgB#G z_|e4`Jz_lN%Wfzxd?nEQKF$2iMfMY0lw2$Xb*J%7p81!JwNZY(KQz1K>dbVzc^+!AivdN1>`o&D%e%H@GU;I7Wu4@0rlqF3+bD!w^oAzz9!+E*RlD{?L_tez5XWZJY zb?@-|lX1TuF`fQ*|JNzKy=;ZcxaB9%OL}+W+*`qyzS!Se^x6NKM~d8Fux2#<$DDmwru-3XhoPF8Vy>QRXS3wHHIC zC{-oSStB^@D&y3PmVew!EIx7^{C?$T%hgFIRCaGs4P1Br_>1-uwd_Q$$W0P|&hxWR z|M_L@h3hA;1kLQ8bU+}+dPT5{s{Zu7u3xMhUDT6!zJ|nh+zQIN8xtzc(7iG>vixb9 zMq{FkDN~SI_#7vN;D?7yI8EZjj~QxA&$(k_)Tkg)w20Aic1nfi@);&QT-qxYF0MGK z_;d-pqyziB`HS~)G{$I9KlCd;Qp%xZpO8etf8E&FOwn~c&Yo^`>QYR&7X zFzi~nvdHwxJLO4yZTy!Wnf`uwL+}o}X@qglD#m{|x*ss4T{-dWhhWp$-2u15r0+B* z@c!jpm{;CV>L(Rh!KTZ+W%6|E73FdtW1WA;cfX8ix0=&$e9_ge(<6v+Zd2y#rBB)| zkFE1x8Yh@3(|b8%+l&n_byFt1SF^nrps+!_nEe6wsbxwV*o)Z>^;eji=el(!SAYEG zP#}<=v)v_$f9u{OnzJ5%ZitcHRKDuTLAGpzYc|baBD@3}9~d}=c`rYyI8(;pC`+)9 z!K%rb?}AO9EqL$7dD~-ykH^Han7r1#O$qC#Y_N+xvt_E&xmeBIr4MvoiJoLVw=K20 zPxM<>(_XcH-R6TVmv64K3feZC^V_wiobcH>;nF$Lxi{x!x9**tus!O=I7E{bt%!d-qV;+>>Q<4{m$yadV&VhW8>V(uOzPc(%>by`881rk&;Y#May+Dbj{F zzTIka)lF#nynRE%QJ)Pn7|RX{=EY7Cd~>5Ix_@SLzo%~1=4f$&_d$7Sdz=r>+N~*` zzWM!+*caK0vrP?KrkERdbh8y^8ZUj%CAZ%6nEmqp%dr8;Gj}GXq)CLIEoAw*eaW4` zxFYpGJDcLw4t|>CSaY>n_q)uM%U`>mTWnus8u3o%*w?RKz4vx$O-a0C(y&rg@1`GD zh{m1ReWL%W%3F8evFykX*-`#_@%Fsd?f3R__vUW3F>SeBo?p~elwNr9!7rvM#ArkF!6v%;-#ak>%@}{IP3BZ}?HoitZG9f#sh4Ur*n6 zUUr;s;_)xsF9j-l^p|8-@ZFyxeo5+1$LS8j~ zU$1c?Uuxf)G6|3HNiy3TSG`KK*)X$d#j0KD5{HGo^L8=|GwuG65PelZ?)kP^xAt(? z*t}&rWewgQ4u2MRvT6O9y+-$#x18VGa~aq;U&Ow2(RPQ@ z?^_Bj-!INO5Ow!rV)e1EtNxA^iE*Xhw za{5)}<|o$IPedmiN_(`&WYsV;b(G4b`nF6knfpsY#SrrleD7JEE)eRFz= zd}L)%t3ux27NeJ`lRrkP9PX~3VYpwTE~hfEV|S;Xtnx$oKR@C6^_T|d;=D!wS$hKu|7gFD zzOwS+x%XU~s-{HPx~-8@58HiF;oFlZ%@Z;|OpugTJpABjgvQJwM*G_-w^CXbxwAdA zUL3FY$g}8GFzcMEuA?jU{>3xOMs6@kpOw3dw}x?jzQFtZZRTv&i|+*<-mfa!$F=M8 zJ$Z-Zb)Ekf% zc(nbiKo=2y+g%mkmPiC{2uu3%C{y~_hQ!_4FPB}||LmargMJ}(u5UsG32AcgUw?l6 zm-&F?Hxa9r#1&kz*Y3I1o?O2$skJoGd$R$ke|d5XxPR%ceXT-%QKwl&?MHUbzsCc@ zE#sq)w;arWm^oSL&GN1NWyj8!G^0}O!$C6(4PJWYCWU3@^EoFDcGUl(v<{LEs zI|RgUVNB+}eIxS$cgM!=hvulgr)7JpC%s`{U}$7yV30=XJwd_+R}XW&oDH~#*_`el zrp$HCt0>_ppRnPPyt$kzZGBelY$Ccyy%ss{kl?jNkvY+kelVVNPQBLgyQwQ{_ar z8Y@bDT&@4}(yLWL5vn{~w$~?K)$3Qg+_ZVY1!WoC^|vhLOAPM0itnFvq5ezh%#T|) z>P)b|a#_vmhJTj$nV$K+smrEKzt~k!bG^&oVng;7%Z1k0w~2lFApg2~yIQn|gR1}c zmv1f9WVX2n#XgfcQhDiLzwY^#nR@pkeD)U3x#zR4jpa~RiMVg+g1To?*HYy>UY*Ww z-q@*|WB!Tt$c=*!q)`LOS^2qL3o8Qy3pWFUDM}!L?+*swBn&;MSOp;hW+Cnto*H&H zSU4PVx9~a+jtE}YthKxkl|!R{D`pwG^s)&!2Y&2Uz1ec~tlqo430cw6uYLYE*?n0m zo10#dA^)n!W!c=9i}`Ecf7!2T`~96S6XV>n8BgXFzuWu#&$;(=icik}|K}Tf!{G{v zCV$66o4Pw&H?7>=xg<0yB=_#dGsdg(rsTd&xT~~ePWDYj7LhG_E4;G~1)NPvO3HIQ zy_4(EN*}da!`bJwGR|MwzIol+*+(C9m8t1oE)2aqH>`J)nA>Eg{}(PyXj*nLBrWSn zSXPY*&oYOd3m4opPF?P%=i9omyXU&d7LgOpt95rvp4Hj)ImPGlQ>U!TiI1`?Sr;Di zIH$XsZMxpAD989`LEB;kf(jy*%lK<`9K96%F?Z`1Uu_PRwR^-G<$p`;5>P#|aoovU{s@=nT**2qUCo&Mik7A|}m7kkUH?M~S9tqV)nY?`|`lk?WBV6!_MT^F1c zgrZ;FI~GztFOhM3=dDS3S~m`^^e)a&WfK;QJ%4ufHxAP@g=y~=XZ>Q$)xElNWn1#S zFBMr5C2}^8gbv4^->oI|Z^}ctcay_=`P(mFkhxluF57V3W{+jF4KFU3su90=i z#MC--g^8CRN4!?YzDK?atF~2&Uht0j^)iw_S-wocBdWt>{sm>}FKL&`^DaccaQ2@$ z;iaPR>%5(19@Wbu4wo$Fu72^`^b*e|_Kde3_Q&s4l!)H_*ckfd2z&U&-ywIb9PY=q zuwJ>%=(C7(x<=HrJ^l}UHyzvi+oEGTgQDyri>?Xx)L85kk9vHXytV&a^~8FWx%YjJ z&0qMO^;X8q+D49tFaGnb{d?z>Z??xDuWjF7e0H28J^%3!3GpgViTCmnPuQ~@s##>G zYhKk}a$aCcw#Wx7+iY`#p4rk2>e&sGEi^l9yjZFl+D~?~-#9*BmUD-b%7;r&>W{Bn z{Z{w9;UUMqZ{Y=P*L>^@q7PQEPQNw#RFBN(RPxUZTEzXNUG;#&zaw1Vii<;< zUawQS{rklBe;$$VpKXv^Y}jz1@NC_g9*2*06HnD^3i>H$-)x!eC127X9yTKsOlKpy}41oz#_ z-98O}uAcoPbxLmkfQ~9~V<2fYG6l*8`_~ESWY`1K}oWQ+tp7+}Cd|zYoag~>Y z?QDO+&c~$zv-7;yTK`|dwqG#8g{96T^?#LfW+~?;cJZvGOXn*Iy)(R2p|!^9j;PN6 zOA|hsO9!QGonkM1f4;DyjnUt^95a3uZi1|LbF=mCcFM!aB+sflCFhs+m%+%pQSnX(WKPvGh=(~y(fnW z`Tk-2r}21ht5dMYW#6)A`_AoL|MU0z>+%e$dpeX3YG>DL`c1uBz+4(3b7iK;Q@Cu^EXI*C4aIU?v1uKfguJ3I8T7LpuDQGAXx#d0os?$zXs4-fwydz0T5zfT*o5y#OC*cFN-tYu^_uJY z(_E%A9T$0&YHsB2(cN?RbVJEPi<^ET**wR1Ew3FDi_fa;>rw76z4}YI&1qrT?u{!e zMNMsvD6`(bu%T0T)qYcj)QI_;CTOx=-nMe(>C$tPZ0^r2v>S$38H|P3=4czS ztxdb_6sF^sKS^zm!BWRnlN@dL2}~1oYuTca$#`ahoO8{R^OyX8e|=i{pKqdmr*+9P z4{OEhj(1D;T|C~jud=acUuokTe))|)>8HNmU#w&KXs^G{>IlVdy8{!|pWA;{`6+Z{ z)soOjO#8kxEK!KeTy?ldG$|<1d;i4$b9`PupYl=Wrk&jDT9G=Z|8`!oADO%Bta2Ho zmL=bi6O<~^j*qw)!#;go!(rtOhN5$J^3_?g${Yy(uk%pyZq|j$U-Om!$)h$f=5w*= zh%+)U9KvXwdZyZy4jB3lUr^@&78wI_w?#S&hs&=a%;RZrsvGR zACf1-*m6wgDx@$A%N$dTUTxfmg*7+&2x1CNl@2#KU zne-(|d4YXxRS(#{~Pj*M4S34aynz)sm8o z3=BPt3=EPeZ8gx6EET`}Jm^hRxqhd;m>mVy_?bm+&XZF+cHQ^G0?Qp83)qi(yL9O6 zlqjBmL~-VZa|h0>tDCNVuvz|rd#A0mepBs>SMGtK@%QEDGo0HXzsTu@*Pda&NR=DA5m4%O&geuMUdOhW0|Kez-yTY@a7su+A*oj6e zW=Dt%zPjGEG@s+@Q>ynn?HTR;3O{B7=UaK;glWoxT>lg=cBO_~tYQn|DHL_J!+_RpnHc5j#&806R) z81zx12fU3UFEK~ov8X7q5?75Dk{cZCE>b7P)cH|MBJ)XTlfJ3G!;0FY3Zjc|Y+<~$ zXk%7p>?Gd^wL1pi?^%@n^8dyDYwKLiz}G&@=l@!`f5Bhl-1&E10+@_d5AUu1Hs|x4 z&vVkh|ND7<{eH#@_S=bHIF?Ao>F&N;Qaa&k-U6HOYn#32sqa5+URJhr`QNtPI;DGG zt~79BI(++6=b39uqfhJo-1mv;Zb5!^++ksfB`Z_+F0q+E`#aZmmLtoVmVe^C&c8%@ zO3L1qzb^a}W}29FaP5mtpJqmF*>Kk3`exU+?3RtfuXjB=)lkZ+Ctsv5!oN#n!^>Hp zin=YEcPy%jzcxdtS~tb^!d$k ze|@HL$a?*=o8fu>>-=|%ew}hkY|)IPF%prD#<5uzHgVxI{~htz7be=V`MR=;b?5gF zjuP*==hOu!vdceG_UrG-{gk~kd-m;BGEaEEX85xH?&4PszFX9~QK8`7hi_+>tqY$b z?#fsA`NxfeygGrEJ9n>+37cc-^fT`ZpO0SCo&!@%oWBT%zWwRAXwmA>rz^dj*f>MO zujqJ4Y}ziX^O(UnJKGs~YP zKZz{UpW8XkTs<<;y<4W}kVm?%1W7wmwUie}6F}Bk@%_ciGJIfnvHW7y3kt66(w}hFHCp2y-+g_P1V_!eflHWwi6{G5zw>_L@uq6x1L67uCufv%cYinD zIQv;@);hSH8JMd-g5QY+k)-| zU0hRA&5nFEx!7u%D?2UnwA2gl?E%&r_wvo3>n^y=_kw{d=cdMAv?j+kkt|tVHU@?p zypa3O5shDX!BLc2SejZ~QmhXi1PX%iASM3Pu*`7baEZD$2IfS8PMvp4v}Un(aF=R| z9Tmx%;yRgw_4X}Ao)m*KMYG4V`zUYA;JY_Q>+4 z$>ei>E^8a+F1_8hHnU5xc%@61f6wwuC$m3(artztz{vCb#Lg!-0-_ueN&@4iC0j;D zcP!O$zADDXVsgCn?3R?Xv!)bpyVT&uXk2)E%a^4Kl&xkY-fF&^cHzvcvOK*RQ>RZ| zAamySW=m7yGX`ac&qeGKj0s$ub0I|B*DbW?pcZu&KcA<@m@Z{*Y(BaH>NA&Ql1HlFuZ zTBHkEt~6VBUbF7U1-(RTE0!Nl4^O%Y^t0H{x{WNPuN*qcG6 zxi<_-f{FyEyQo~NJTOuHp^@9load#Z=H{IpWg@wH+FTe6&Q+AvH>VA{C7KP=E=%RO-| zRmP96bf2~^={ON!HRVMotFO7pw7#yEN*#-r7E3aBsan^)yuWMziF;QgI=io|n7!n6 z)bCP}^OmtU)^_UTZSt{ta9mTz^TGn|jD*|+ohSPOQj>)XSHB9`wpDXhr|*fwQxXgv zOHb#V+vK)GCy{mg%EKwC#j*X%4;m{!(mOl5m+9<{0KMbSmY-zVqyDhA#=&#ZtZ<&C z_Gh2hZ?$x|WVgs7f1;`IPRo29>pX#voW1LGBh2oo8$a1p@OGV4&9k0Hwi?Gg1IZ+@ z59?KGdh_RKZh6-D`TR@f+2yhBhYl=j?vMFs>w3yC=iY){Q5Sn>^GV!%!uD6=q589H zZ&z8Sd|EH5^-s__Ua3R#u9?xPj#FxR**{;rOFs2M$n~gue5u_VH`!O2>X+8B@p5d) z=eXrvbKj@_*Q5noJ&O=N$eqZH!e-}pM+ z>y>4pe)t29%ra4qH@6RN{;DDVjeljry%}BC><(_sjDHZZszZ2-o$1@;OPS@*G|!1H zTja{qYkTZN$%2J_!PP;Rx7x0Buc#GGe*7luy>g7EQmjPsY`OBog74HtCjY7B%-^xk z!e<@3;#;NftS1ZaTC^D0`d_M^uwpvL`_vYTp1M=)Mi)O{7D?MNf7i?MxeV6@+FQ&& zik;l&vwC}Ba_oj1f6IS#+3mMsKXHfAzoWg?R*?6MnBjLG-TsMl`_?6G?1)j6I&t}7 z@RQ?J^A6ts%)TOod!o{t>L>r$Z_ zO!I$hEO4!{{3`uwdCm9i_rY51wNsv1D@b7CZmYf`vNSRyNiv{Hy$aPs^5C zEb4#vKsn3b_TO?T>ObA$EOysFJ5>J@Z82ifw--IdObiUySQr=#u(w!IE1uM1l&YsU zIM!dvQN)&+n<8JR7ec4gNPR z+V|a+>h*67TD;5dK8(9A%5zfjz`95Up9fDSY}b(ctsnC#=Jv{9gB{ty_m~bBm08%# zxu_9bx!v*96`?h6w`VIc*}r?$ku>YzeA82j21iO+1g3-qxl0JPtz7iB<8a>Vh#l*H z6b2jSg;#Dq6C3^Ouk+dL8!GPmDypZh^gA0U)v}7&@^I-xSYcJ!`zL~hzz2Mb#<@qOG z&2W!eW?cGYf_i4<+G7UuWuv=uJTANyw~ab*(bbcYb-kIyGIyTDEw?tz-r6{0<;Iti zX?bQ}?%rImvh(6%Y0a&>^Fn2A2np}Mc_p-x+1tdS?$`I4j+2#2`b+k3e#%@m~sFdo@3I?fb);l=hCPvzT?}LQ}ThYZ_~dY@ROlyt8=n(R-$6lvp)h z+bvBzHA|VvZqrKrEvHPLw@l0YzE3&WaKA!f>rth*8&8!zsPg_SZkMPi>al+RnfjxL zy>;^0gAdAcJP$hPEg}C$XYLide?O=G_VNEAy0)iE&u@v4iz;WcUwG#YwV(POla^#? zy{fM5vNGG?B;odhMaM?9i%oP}Tj`?R3k8~QEL-&7r*p$sanuopG^@k z<^&S3Yf({tQBZ0@eo;wgUOGxTo*Eh*E*&cJ&reTQ=-9Mn4vo{cZ3|MHd7>jUr0Js5 z!9|)|RhA`fE%Wd@mqrK^9v@c-z(;`f=BXrYK*n~I*z z*_{6V@7w(NXXp3V|KvTO62q$4=II{N`?W2%vMseb=0@6Cfj^1OyXR$};eObW8du(u ze)HTFd9TJEISB@$jUFxD-0QV+%PVkZv(`bI!giH)5VHQurzg$qvZHyjunc|YARf`T9;RA zl82!NOVY_ZQ&JbI@+X|AZknO6Cw#)Rl@*gau3J4lxrnLxVb1P^ZHZS;#e7Ma6r_Io zm{ImM;mez4Za=r`<6QFeQ(srPq3hAqYp?I<8PB;cW?i`DOzM(jzqRZpoT#=@7dSTY zU^`cu$M)uL(sy(@SL^*fk7*CLf2FF!J={%Dwx`0mD{d%W9?H?sGnR29k=bEQf8 z$(@_sB|T$#lG-NK{&uB3dv~4lHrhO2AT+ki;h<7;q0gz?UE8OApZ&w^+_Y({LX8_@4o9f_J_$XcT&A~J?`|Bl8ae0 zORm3r6L)FJah+e2U*7w4kSET<&L_(v-`pl^hnb0SY~+Mu!{7I#K5H;@`LNZ-t5qy@ z`)MZj*4@NgWmA*p3cY9h^$X=QWVkg}YBUFYd(+2}wbA+Q&i9UvQxhLa{1V$;8qYdy zj?-%sldXMw7yHkmY?;0aPOl}SexJO+pvn74=WYzw6@!+<1NVD>)4K_}y$d=CUH!ED* z`8_V7%4$*nz9YvK_Z&J@VzRe+w)WwP4_}zsSXJ(`JvvvB`4f6bk;u5-em2% z?cKxdr1WWv{nxlIL^=~DBJUM4vgcYYGt z`%61yR>bYDKV7X;H_WSV?A48rZ8P%7YcMpb5UrI^zahms@ykPgwzTg;i+{hI@WlSh z*Q01N9rDa3db^nz7_wP$juOG^T(``elGGxUqN+FKW!_~6fq&b4Uz?cPUTThWs5-zEA)q7j_AAHWkjPteXU?7b zcy|8Z-{-%_GrUt?zp(kBz^1f!+ii}U%btIJX>&~Qr|-J=zRZ4>eO&c&*@~83rad=_TKClYQ1_+FQ{R=g*UU41ayi_6 zU!1|>BLb(pW9K=j=e>C0DDRwpOXF)pqJz8muBlV5EL1#qA-=$7-_=#&JML`M(px^c zX@lZLUr4APidnMcSR$nZzH}=`eZ0eIZ#pH}3&)aBuoy%MI%=-Ci@>yxE zFd1$h<7lO)tDgmhUi?%RTzY!@cbWCmW~q0Jl-@F3!g*seL%!DUJKsW&O3Fs+2o{!A zUY_RHS|GEm?0ii3z9kV?o-0i&ozb{n-zmFE;*Z1OQ>`~1PV5V{38~=n{A#dfss8br z@E_Y3#oRu#xnhmQr5&qw!~Z<=vt^mmdavH%hwjW9s2l4-r@ITXP~7cGNb`KfNmK z&D?~zN6Lba^?K5lzKd3V z*VQhxd-6b@A)zE6;efgyo~ zfx(18)eV_>Nr8-gl;$CJatGh_6Lyray?kxkZavn8+g7Xy3EUn1wrjh9P_v<7=8g?Z zK9*@*Hd=D-QOUI<+b6kPta!-$Bj8y6GHns>jyrE^_CK$w|NZ)V|9pmP7xfg6U-0{4 zVCOT{WMhb1#!>f;V)8+TW{-cI4N#4Gli&ZN;*VLV*9##op0Ar_-mdw0r)FKsa zH0|b@y3k<#ksa%wPV7yI$Zgx45G*Kd_il0EAuZ=0_m?orJy1NGqp)>D^jWF2jF^C* zCNpDQBU3ea)@pxw`Iz&N&@3M9>47XA7Z!1T-}=Ct+Zk)qnZDIc0X zzI?=dRn1PXbY=JT-Nn`EhxT7`QMhZ6kef?7`+mmhf^!ZUf{_0ABb!~X)ywg)6c?EM;^DZ%x$cc0M| zzq|*t?9Z+}YfxPz!JD+MLP(SCxc$@k9n;l}KIFZ9687#y-HFK|oNd#E=YD&?X^+t1 zd6Np27H_C^@a+0MX`h_Io`U7xv(_xQnEK*R{*`#umup%Nzi3{e&|fLNIU?c2?%q5} zo^G?WfGZg{+ggR3uTEcBF`2Kgwd!;~bC&Db{wkXnMXFzGQ*>11pH4_T{{MSsP_a&_ z?Ru~L9HnHQ^pB?AJM||i2a6oub$iAIsp2iAnX}E_J#K7u=eb?}hs|b6p;W`_#2uk{I!&xC^a^A1wT@|$Tl|h#<_K)d*O|%i%JS{3AF@ZE zzgT0we{or3`#=Ajz3O{PI*+gAw#ltE)sl5yw{n{1O6M!uZTC(#xqnd=y6Vy$bXnQB z@I3N8h@e%BX)FD_OBfg!S{Vor+7=`xXD6no>SpGp1TnDLN3@nd28 zKVH=GclnLAuLBqv82XtQ7@TmFzu=;_SRbv zbi>IrDfiCIuC%^yKR=$~Tw%sxr7cdzU(-6nHZCvG=@n~C7h1ctbC0(rXYZRAh3SW; z?&h(5$0>T^|b9(Yn&&rP3?Zc)r-8{!P5#i?)DQZB|{a zeYJurn;L#9J8fJV;XHdnwn?qiKIy)t%`#@O7B>{8uzQ`p{iIUkY_kO0qyX6#~@eyxJYb!W`=}Sb5ZaIwu>_sx=REej8~$6gJrZez)Z{YuJMdz0#MTcFvqL^}IjF7G10Cb)q6Q(Ftp=&GQP$ zSQE4)#qz}wmEVYFF?i3mZ~A=|h4bPPe)SE}ZwuRU!wgxhE^qykk>hFE zW2|W)zCL-Yx~t)%3!4snFI^b)EM@NJdaqOeOIJB8JzF7Z-Nmts=g0+Jflhwi?T!ns zI~YeTDY@Vv9aZv$Tjkq?#~Qy1BG_z|F2v41_F-Bw+oFu=mliNG%X5}2k-fezwqjG# zZ|`ef=cb8%3R`<;(^KoB_>ioFyC#cE{0+D&UAiUbRD*{ohuL+nSo!jZt#6mHt_rSN zUAX5)P5aW_fr+dl7eQi%u>Z8)26=)WKLgV<@VLKeDkHpa~cgZ zvle?!Jn`B>f5I*0m%^K;P2Oz0u=9KL%$_SNHrhl)&RSY}zgo?6<-Lx$>U~-Hr(~X_ z8V0l3F{dkSOJm=3WBZ$gyQd90k4uM`UlCzapYCJ*GhvZzxWU@wu6I|(n2mR6U3ew1 zcB$G<^SGC`@mGuw={zfmNq4>y&3ooCoA%RN=b3NjIe)#oPT6-`>el@9;w$RTQbxD8 z^WHfaD|W7MepUb53kn5GCdF+PzpRp|D-m&IQp3Kyr}^3}a~8D+>OAI_{cdUY_21_` zNugh_PkL&+aA}BiMML`&jma^&f))WsSI6jZ{_|!QFEH#XtkG?MC*8R6M_l{jRsJV@ z+f^@Iec%?v%kJJ6kh}6{%{me5wg3Ol6c*T4v-SG~sb61Ap6C~>Vsm-*SN!zFoIqp0 z4`;nDd|c9%{_>bc-XY@+o$p@=m$e=^T2WhUoAqIr*`LJ9pqy1N7KMKZe;etpwt0P^ zq1zJc*@ba=S3*waNKaM0#1{F3qyD~W$*JqJtmp1l+fsBtY-|3c_iHBoJXLfxvwLCl z?+-`p-aP-MtZZ5=Yf^qObKWhte#)OSxa7&|<264hD=27Akc+2t%kqOuYyz&#aamNd zZ)?fEsbSY-@BZ<6p})iHwxN@}S$RPf_uTKA^Y1$8=w3e({j+u@-&P~>$1%Jmn%^d! z@H{kqq3OF@oOcx-=pB0ZtZKrwx^?cH4|jZ;+|bv$#Kd>s{j8@ft14=q{oK1mOSxh) z%MWqJ>=^O0;b$Ice|eLjG`FJnbWKG^=?~L&oPWAzZ$A^fd&kkY&zbE1e10zGx8&>* zzISgQT$Jvy7ufyd)!Iu_wkxg_{5O01nro6Z(QD3iX#L7$l1sHaFYr#||G6M5_ljg2 z%f8hX=dXWe5?i4ep0hE+aAuq6nn}kPzDnNM^O}bO(<_ZP8Yb<=y;D}v|rJhh5Tl9^UG$wKe4 z(NW>cN5nquX~^CZbFB2=)S2g|&RDh~Fr`YQUo?2~MU~*lTVh8;RwrnkZ}<7RJ23FW zoJTg^E}Qf=vT*Xd)VZawzxz9VXJE;TC)w{&nV>Zu`Nf$fsnFWe5K{h54T<#^4ivDxd~KZ$cdVeR zi0D?Q-MTuV7uf}pxztodg#+*9pZ49Ea#Qv9!S$bxx)^*s_~T8#(Yd`QZCkEPQQK}k z*RnY6*`1sJ{(XL|-oO?Yc|!12;GM7hn*)~a;|i8+SNiZ+hbMK;kFzgcSa^kK*-N?a zOkC(tz<;#!1G8Y+U;ekwH$8PlI4>WYy;RE}Q%NjSM7Zl^qt_|znB}Hb3r(A9m70o# zj`FDJ#GJ78|Jd)cqHnXq5-qO3vCWUyJld6XhV5bTQ>~|Ni`TysZZ)d-Y+cmH@y%t;m-q8FFJM*DiC=iX zsM&q1m0N0B#9E$j_9YwQ7VOGR=Hu77qke{m(XyhW@=!|nve`y2kGzUl?Koq72z#Zz z!nGV5x0{EAohn5VWzRg)e0WwhIVRYc=24=GUkG)fq+GdCvc_+;)8NT2`G|JG!}|Ex+p)hgaY6 zwtdIB{u_63sa^VqU!5lfUYBvNkj~~j{p{strCYZT6z?%{o_O-Xd9<_8+{C_3E@EY1 zaOTB5sRL~&prul18V$=1mkt%VJ3WBy&=VnX4`=+h*5p zaNt3T+Bu)BkC9t{$$#Ph(k)-2`+HON&OdMDKj`n6_TTaD_j3YH91{*jO}74iulSqY z^Ebus|NMNPzn@v+;CHE6ER)u4pAo5N9X4U(oC9BE4xg(?J#J`gZ~RoudtE;3vz}QO zF6dm?z0Lm4w8+>TL64jW9jU%ht=n!1JN=$bN) zX|%nW`gq$!P4;PXPe#=l=v^?&*0pjA__o71bhFLGyDjg2SVp~zI3ej8RoW7^?V(Ou z8uR%gv7I-J5-+}*<4~UT_)|jMg342K%^!Cx3_hM$!g)lfxsunGX>PWPn(g_Bi9U~B zxTQ<8e0!PU9Md=N`bOd1EM@7s$InddE?!oy%dC)>Z z4ri2wbQr!9knqbn)Bc$4T2m-TvESx7RmXJ~!w z&z~!kQqObCtPK92#qM>j?xYTf%$+Lr-^z1DJB*#D{(BR#ym^IlyO~ek-RZh1Hkr3` zmbk1nK4}naZ5_D$m1z0Gp8J;yS&el{x4xZ{eLG}k*Bqlud#-9!UHg9DD|0LRa1uEPT0`5+)91Tsh~fP<~FVDdYb*i;lY(_ z(=5NwdddE;C(=Y`d6HCnV^f=D<3G2C(lgDGS)Zrh*<@?4+&?E*wcI;N=T*cZ-gzh7 zR;H{!5f^{$<3yW~Xq(M1?k&6Ac+6>egYMMT>#Cj$9t}>f$~MiqQeNS|#(t5Ox$EZh zvsX1fI>GHL>h3%{Jd-+b~1L~h?gHnKGyr&XD#?V_q*ZoPeu27ZENg~Z-0G?>4l%2llv#l zUHNuS@0s8DE|W|6uYYPw|9L)>&o>XJtM^u4Y~5?IAZ>~v-y?wqZta{(Kh8(%Hfa?0 zZ;|u(*R|Kbz(=86Ue?*)K;r{@Quw8n?I%8zx;!}k|KG}^ZBK=!12q1v#)<-t3T|NBD%Wgl;8&EO_9u5 zfs>n0ZIsLFkl~*9VQ1Im)u%k?DbK8nweqw*INNuJ;$`vReUGwoJH!r$F1@6kdD(FF zm%_D8s_E;rlPd3YTqAGu7o-$_;5r}N+O;c-)(E|l z*munQh<)J8iE1^gZSEc}Up1kreZ#NcXsf|0dY?SL!N|aHm>GSC8%9SDZAuedszVF$ zplE+#N0EPi`cw3xwOsYSGKDslL?3Pwk2g_c`dFKEsAWfko8 z;)wkPt84C$Y_6>gnXLSJ?Lw!B-GWbJ?AbZr{aEXvqp9!KU~n$)@>!m`E;H6 zispjzuA;@qvUaXWoOgj|iBS8^n*lG97pJRqEH1F(*lP0rP^71Siqj45cNW%p>4_!P zHdi(B>k5@F-G6rNW!3*#F*EnJ+?5OtEYvz~#Kn72=h=mQmV3<$HZ=P2&SrVPKUHtu zfrqDpCoaivyVEZr_$;(h=vVoQh6j84jb%H_FY#=$&Gy=zHgV46=qK;Dv`o7x6s@~i zdEe=tD-S>HJg}bsjKQ9?_ttmf{x|hL7mxUrwDfdX*u%?DHz!^@zhCX$=H-)5Z)gfV z5S2ZrZOztmonATHKQ8ci{5f|+)_d()^Vc^&Z%UQEaF)~6;gGY9))DqOtB#Z}&cE^} z{#V;^b5Sd?nCA?+(ix`e@!{7F1lw%>xqVIAZ?x&}W%27zW->7_9Kkb&4o(!s`kr~2 zC7FpinN^7;nfZC(gab_}Q=;>O90iX5k6v&>Q zdcIi9OCg)(H;enC?*DN!yO?0|i}6puv74x@6AU$(EW|HD=w-#>Xq zQpD%b)0yt`cw}F;I#up@yyC>?7Opw5U0(Ml&acp@&3D&~R~1Y@vHfTDyOJH(i^}ZG zjxOAndVk0*rxc{%ipH|o@vXi%cVS)*YhVa%t=w$FW=M7KB+9G z{J($3-rg6lHyfO?wX#XnpB^`Vr{m7NhgM;eb~rwow{Fi`5qqvnJ36CXo;OZwNGxUf zwCJLk@1*P)`);%Nt6nJ?^EU4`Iy1dZFKgkXxb8I1MK+((*hHi5cBP4#{++jN-KB&^ z%_~KI2VNv@afx^usNgX@CNs&W?UT!gKi`wC{_!w98ocsojMd}th|5zW7QRgSlCivi zlhbGNbd!6mPrd{z*ysL{84(?CId z1KaTl*I&k;>(t@*X^)ffxDjvoKeb_w*+JLl*SWJ_JeH7~wZNa#=KZz5zu7&Pm)}<{e!%%hv_vVF=k?iMu{svp=5La{|4GJp z`X{cw}q-&LyJz6yNqo`RLyUhLK&zt`g z+qRzjA~i!f?B4o2_m&Er`&K>g^;6Dy*IuyRKezN!*}dnFekE3)GW^?=uK8wl)H^?Y zX=9_eJEx!RoOAW6^U92{FLTb!tX!10^2V~|I~K02T4$|U^mLin%wAQt!-M&}Ns|?lYPm%#%Xz1zU2JW_iOu; zIh*m;{;)%{JY>}lz&9UQ8667PR`>vMC?;h0r! z7q|{pOtD$9Y0Ham=Y%2zpG|rFH8OJZgwN++ZZN#}wlm5|JxlGqYhtIz_QvExOQucQ z3*r<{>^)S-%)i*vZ7k9%NKK!;kn|ou@vCW$-uQ{%ATA|%@G3e?`+ov2Z9|~LD zTlqfrC>;HKIZx4Ca=zK~H9v9^mD1B6UDrAP)@1L>Lp@ImqEk1VPmZanp5?oFQt#n? z>DIxqtJRDQwHW^_Y4m@1nP;Mdi@Ox7>>4?MaK9zesmH z;#$}0X!I_Eb>WWd2TE)FVotL6HhkN{uX0TJ2h;6(hYpT?M-FLDYJSM`_;gOjRZ086 z4aJkEi60D)WNWPbs4?&0W~WK(!=LW-5IT8W)h7MH>>pxFUmRLsnH+k2(T>Oi`;s5* z{voGpoSv@R{^n&2@7AwXY^ zL^t%F%gT2yuh;Y55m_s}^6Q+V%J(OJPO+_PzTf)sb`bleEce*iOa9sNq~)jNtgvsg z-?TAg!MVcbgngM0#O`s~NE+F)&5jYdv4^iJx483x?4@+q^nyD-ay(7+S>~H>STOtk zmYMQbV*2#L6}V>}m6@k`HR6Pk@#U77rJ1Zt5-ZI;g1#umPL6Ip{6GBV>6LZw7cV=- zRGTVQ#vOOeD)scsyCJ2oI|i+b!z7aeQM<^UPiuO-sd}V#=3Xrfq$eq7%5kp)W;8 zv_@{ydEMN1d2f?C-ka?zvX8B75Z^vGD!buM%#~G7MD&!ti%pcCywO>a_oqh&>k~EE zqjy{G9RAoWTF{%i<9NXmnXQYZzHKRExG`ytyZC%LyMFcij;CjbZhQB5_uNcR0h36^ zeM@=jnzmhgsB&EK-`C6^%e%t1b3IY=)7;i@O!Z6e$^T53-iP0=Z`h!@>|sJ{*R@Su z$xjQ;7?e(0u$Sdl;D5Pu=N>1E=PgpzJ>YF&FSh$YNx$wR;nE!i-iIZ4j{Fq0lYMk1 z@zQfat%@~DudBPc%!BWyCj{;CTQ~9P1>X+N(zhzvGs1WSQ}-mx%{+L{)kjk%cgIS; zt!6rpHgm~8xO6cfJ45cL^^QB=w0_;nQxN+7$JgY@zKW9Alh;&jjKzMRV%n!>z2C4u z|MC>NooRt0ZMN}rH@xx~&rs?s*7vt9{&AMJR_xrUy zvo5^Of7pBdy3nt~T2A%5s*`mmZeQ&xvElZT(1*0^OqREIvz3I_D26>l@E`1 z9LSpSsJty_x8Jh8Ep>a2y_dFV-R}9a{t@S&?)&x04F3;K_S(4qQ`X8PkJY~m++-hx zezMsA*J9bZB#-oc?os_xT34;z%b9)^mdJKbsxFm!zlrIUV0iV$7W>K0?k5(0FPOgR zx7VACliqvpzVzGvg6IeFv$OaALu*-vK!8fPbjdKPM$5wYbC?bp9oD zv=dp#F(t78wBQo;uCKMB^})j7BDVUTn-%jqj(P-WCUMWmX$Z}B?Y^U<~>33{|))~Z+AbxQ~a(r|Nr0j z{reeW++Cep63>d37O#JKV_&AVop|3>1J}!iJ3gH0bt~vXEueo)ZH5vo9a2=J~uc_{h`kl1ZoYrm73NdL0*N zlU%g(&o=>&Mm}E7wvv-&6+3^Hw0G-fFFz>h=9PCeD<}HUw8sfX&)(mXb6)x7S&vFA z=knZ+W3pSPJak$o@=W=pXV5+Il9(f^ZBw4wK8SO@aehf&Tl8_)uhQ2#rt*C8U%9#0J72S1TCy-X zW!c%unbJQcZZrPMTHtBSwdBd^d#moa$&~M!bnR9`)NPYqpX#O)krOiG**6%A=w3g* zRQrBOz+D=DXOaX3|Jqxx}tadg!;4tGs%A>XBw{CUs zwfS)(d4A2+tx*d~*RK1vGW+ZDFYa6JKKFStEiA-brg?PECKV7Qcuo^F=Z`mM!nS?WUA|V=^b}gf|kRD`YpS z1WSGX;T^RebZYU%TFnFx>N7`0_T&5hJN{Aw`O&FAfwo?)_J0vph8S$_>>`OdowKj`0;w5p2BX zB_QR;&6Bfg!L93EW@-vO!4=VB9$pXrr3G!=xoF)9$D?cWE|pZDbvm~3naZ>S`!d`u z=bB1+M#iO=?rE+od$Ptbd7bsWzwv*6D=lu8xHLiR#=cvA&yOuX%j2CO@q9*tkZm?izDa&-icLc8 z9-mqm_hM@wx9JWw2G3V*ecuaTnS{#x-{Voj(1dU~&= z&(mik?~}NGZT5ow^}AQ^@O?eQvF~QW?B&bW#DsmVaAhmXnpl0?Z8r1tpLHQoVXd0g zNn*uTRfTTMw=4R~59~Reqlue{%@lbazzSnd+#WpXy&RtVZZj{YX1il z?tcxr$llm6`{9$XTXo;NFFklE=i}9YnM=GbgoR3Ko>yW|FUwu_eNRXKf=LPNT;1=a z;}}@KO+Pr@b!K|@=JU-b%KXFmjISP6{<&zf;cuPFyKlARjbblJGwzMwr?K;-$CfZD z+ll1Q{I?<;rOG8yIgbP51msrv0b`_ zOLxLrWmCV;+)LTl#=QOF_dxXx!7-){8wDo*|n)%Kg>S8 z@NdNg@5Q@!t+M_i(Yw2O2dQPVW|NZ zRvjqMKyOF3M_#|3&&0s6k(GhL5`Xy(Z$$cn$9syQZAs|N`CQPc)-@g#iLgHl9?Kk=*CX@NRq4Zy*DM>KcPf-@bCtLnE7$hkWy|~b zt@5UEE2KOOQ}}-fmdCs+ox{JD`C=c>5=k`^DfdgIuj;-}V7K|i+*Yzh|L`H9*6cXz zxZZ;{kMb11FmFnqA-&*5rB&>^lZS6So%qEz-TU^$@T%BJXW0(teY9T`r`xsn@Pt*r ztCLuGB)Qr0v|dhY6`Y|qX-96Nh%nE|MMh^$ma5-7es>zjw#w6@JUf@&fA)@#f61?R z&6-#B+OED{9=jswpa+ug@p3luwzdl=7CbvIyGcuAPRe|raNVMGqyN_CDa%ex@9TUb@%U-5&&s_{zcuA*f1aLsO=iBy z{hag5&o5tMc_zD7&UKQ|&FdnE-yM%o$WFBn)B5kS(&@Fx)XhhHgja6~j<_<(SvIg* z^t9C6V_frIKbrAv!E>~Q#BDLs8@M!Nk~LLME8 zX&Ze%i0!!|CKSOIe4X*pkz>*;1Eds=SmeEStrTcgw~D z%lvkkpY4CKz3ydy#_xO9%@Qgbzh<6IK6_^8_j#Y^eb@PZ&-~xl2cZnH70L}-jqBE! z%I=L16!)_{+(a zw|$O2N;~&Xc!jLta^qcdw_EI9oU-HoPrsKlU(QJNS=zHiwz%Z$+y|E~gj|enbUPoT z`lw~?(oO$5V!|)y3;pEmYdkD&-2*AU#lL!`Zje|{yDwO?}4oc9v1A;xoZ@8dydg$zg>ZePPM_= zzawOKT@*eLIBCNrd*1wGhK&s~ttZdhn!oBn>=Z$Zbq@=_SS^`rR^)kl&eST_TN2Gi zm*+{=GJY`*I(=l`&WR>hJOq5!KXcjUt2gP~mZh@KonIUdHfm94-By`wloXwoHtUD8 z#DSR%e%xE~Z{+f(7y2zYr*>6cJ)-v5k^>vL_Ea9M?&&`lar3p%veWk$v@QP_*0?}( z^}Nng3axv88ofC6`;|dUI+KTi{V8|TJ-p|QJdKX=Mu*KdUp#;2jzdBU&B|-$T|E`! z_S}*;xnkbl!)Ibn$C*ys9QB~4;w#(6lXD~w?P%-PvQPUG)AvxOCXlC&83-bZOKkXmMV*g;j-d3*0fo8;|Evv+GR zy?skl$uaI?fvBcg#POA)TGiJ%4(wW`?sy{d%%qIkqN0RjJ`*?YeXX+g)uBz*TyG+) zmqqhAdzVf>{*+LM9R>UiR(EVlTu^o0E3+H(nDf6vucqkUyYBhP{ zpB-(lE6iHNKdxl3JGn&9-28-8aZpvr_7_DHd3fg^OPA2}Y@T;svS@nF`Wuc*mY&c2 zVYBbRyaxuaj~saUyG2m1{rmovkH3~F>hnFS;f&{d;QjjjjeDt5Nk#X+-`0wpb;?#y zKxO&nCg;^fr%i7^5;YTK{U}|u`Ny&Yz5m6tUtf<7uzLMv`QdD_n$~lsJ*SNn_bq=I z{bSpjpYj<$6zg32r+4SMdP{29ugKYzyOG&{CA0ST3tWGf96C9zj_reRYIe} z^KN*&PFp6iT%fKkp5;SvBeV3zr4Oh75ar*ub7qd6>g6ov*!PR>EPQ72CrT~8H+9M8 z>lJ)^n{#ct^UpXwTeDK)W>luMxJ8iTo^wBM&wuQh%q(*Hb%XauCF$qO`n%Y7IaM^Y zZxVI$3X#M=kUjQ{<+~;ZC!ctW-Ev4ZCTxpMa%*Db5H$B+~<9|FNOO) zOZ8j9e_pTSRm)bsFL@#=v#VdPaeZ?3lw#D8qIqEva$;R~9KYNp9*Drj{T6{u}w}rDTSHSxJW>Hapy(b7=^hjq+W6abH z-tbRwZ}gLM2Swc`#D8_!6tCFvV8$=j|K56iyLU9Dyo}w@v1r~TndIoBqFcEZu0OHb zcv;~YegC<7&+?8Mm!7Z?OSrFF6ukI}`xIMsJ;&?w;^mYrUbj_=@44vV>#t$fkhb#V zcY&Wwd7nP+W3mfawdMHYEjw3CSzaT4<@KLQE@i=2k4v1Y-TSYP!#QKyFYX^Kk8Pfd z&Y9I+;%3eDBZo15PVmW4-xd0+(zOp-PUD{>U=ZTy<@DnCVwO8y!airzEx(EIJrvm` zQPKIv=Cn)DW|41su1f>*jTloDe|`{ETiXBn)t&7ElfR|b^xi1Hw0-)_1$F;E$~>tm zZH!92Atm#RD4bNQJYd5TdL~{bM>!JX1hFo?31@{-PGehLu4k* zdp~7W-L2rptFBkCuB)!Ayik61PRL)T71J+H38^nJBUC;T)=IeF8&#vXst+==1 zI7gJhDXxmXPl;`BD%*ZCWy*dRs9wkMT_$m#Q-$KS+qNPcJ6iWcX|HtHtU{kcM_bk4yn3%eJ{8gVREm-{^9wqUw3n=y?MXud)1!N zJ)5;EUvp{QrC=xTiE9qUUw!}j$800r9oehu|D!GKXZ5{y_y-dMgC{!!p>?J3<^^i& zcx_0w|K$Xcx_gFU=C33;q(8HrI!EjILf_Of@YcD*dR zeTC=hx|wR*WlLvUzgxA?@|^YgiKo0dj8Hfa>JH8ws$?BYD9i~ zc2i8^iSk*GnbTH>mk6reKC*7|m0yXT#igf1I=8=U?v#nT!nxzj2h+Qr*B-I>YR<@2ZCY2|B4E0bti9X7N5U_rE-xznLnQxzYEvBbWZEa+x``1P0iiE5v| zij_{zzs6U#bMM->QgasW&zNeG?7q45;~VSdq#T}L*)950m!JE-#N@J3KmVFp&c^Sv zg|9Z9*ly#y-R3MuVy>vck?5;(@^Kn+JLY5uMymaZnQeXh$weP2zgmOVww($UfvY|> zS7t=(J$;(mwyq>iy(h58)5B21{C#&%q0Pc$;n&ViO0?Wl^D#^1cKFfwBOFF2yaFVI z!W~k45+=D!oV;wxyMmWWQ9Ji6eCc*}*)d*I{p;W6<<<)Es?K4Nx^Uy`#J?JXS!a5B zBF_XqUv($;vERvS{H!gBDswZhUvF7ZR9vAI_E+-opZKiIV{r>jo5UlgI5eNWvqRKq z+6EoA#kXV5thp%oH2&|GiC@J}UCmil@wd41_gB7up~|Iy_l9ovu5tc;?dzp!KAe26 ztMxnc!tNK9pI@|h^8Jov{*$shNz z&T|Tzv@qCZYUjxmgPXN|H_Z9#+t&%QywI|EETND+t>VZbg})CYIe98)SWHSOt-Kby zscBv*|M$+14Q~Yh>om6W{wZL#_xYiaDEIT%G>*eB?ya8VV0SQim+ScnVuzS~4~e); z{MvG|bceo9hvtg96}mzS8#o0Yvlq#`o-p=FKW|vy_I$eYGYyA(+>+}rOKnyAAhdqZ zKQWtgTw!}d7ONzleQfN{^7kJD>R{pfn~Nl7u`n=f<|eqN04*Ou+UHZlx`S@JiP&}@ zT)*PN2Q@{`B_cVJ0UndLWomFfym&!s5|irE{KOOiK_TVSGnehZ$p1p$#F+QYl$mu7 z_Ny*$)=sqEmds(CAz%J|PO<#%*Y*E@|CVPkw(wct>+t=L?c)V+ZZ#(EZhX3XS@Mt6 z>s$X!+L$@DiS@Y7)N5B=nBFomU;X;f=`&cCqt>$k|-KJQ1H%@#h-IB&v`vi-!yFWCpJCK-8ie&O)h-tmYlJ@@j)`rtg> zpZna|*`x|oH@4)(e<+ij&)7J#dr8_=u5WwqYB*TCDj&KzZdmMKm8@wvQO=HbM0)wd1vDHG)dg-d!Cr|>wZg3WeHpL z>dcfV4nO5K{-vuQGi~%K({{aXET!i-**4ah>m`d?^za%`5= z>J#c88oc!9{o5!hd8v}Oe}lq;w~>x#J>ObR4h>$$sl)jtlv6I!_5AiJx{dl3R;!o& zRN6UJwbydZiK-t#5BjI=T($n(vE)yB!v1A^Yn(1D35s?x=(V{f6pDotEdgfPK%{<_`I^;ucsW4ZMK`ZYP zQ|))B7w=k{$UIx;-=ZpBmQB80>rQT7`0A~7qxD+x^_51emzKW1u;uP4-MPp3e`q$! zvmVnswDe*6pF_J(*;p0Daq*Z3Mij^Q#rxRjpAnkBh1)_We%}fk9nIYp>)sTwH%E0@ zJylC%+ z_i=XEwYYaL50`%Xb@=LzMnQ+KZld>nzokl_E7_!8**^P2-GYkx9j1JO#HE=E^Fa6zy9#DP=~|I?c)|j;M*|QYRb0X*e*E&>oy{DcPRdj{ zvciD(k>)-%Xa4VZj#>$}*t`~ep1YLM<5j(4bx;1kH3dhm{;_S9{58MFfOXzRg&zWeqtVr?7_pb*lJQ{w^N?4*L6wG2Wb%LyjQsUQw-Cqm3TcWGD@5p@%o%dtO zMKQ4{YZH1;+~-^5cg6bmj$=3bIM(s9zxplHw@A!qC&miV8z*ial4NIKn8we*U`TjS z%`>m0D8INM6>e`U0CceS9OD9{DJx*B7 zxZBW^t3)~fjp?U#yQ5V3L^KpxH0*yhJ9);S=Ef2+Ii<#b!`g!9k7Ui=~vddn?0N#b$Us*?vUNH)69I#M)0rn7H1cbJS| z$;*u6dW{}gFMO;!T->#9v6T7V?whK=K4!xn%g;^|C90O)ZHlx>uG%&yyd|*yq}snX zUz`n;l0Ro}RF`@i7rFM)m~&Qw~Aj-X`VU()+n3HiPfhipewj z9{*aFzuWI!goTV`_9m04?Z-FkiE-MBD=gg9cATXuTe`1uUZv~1u4MULkDh!il=WBe zl#@J?Q+f51h|uaQjrtE7+Wzvazc{~7{o@peGiudpkxGUut9*h*e|oS7d1Ol@xy=eM zl{jIb+qd=E=}i)|?!{Cd`Nxx(yGWx?XWrGw2ke>CCiq9RE_xZst@!=#%7veA8w(v* zl)3g{&w<6aU%sedbZ4>3+;eRAfrYunyPUVF96W60W^l@GllNxtXHC^NqY`A7Z9BeW zXHeU@lQBInDmR6SrtY2o z?9Nro?>k=qes}6x>`C3_25TRBmxM8!yc1ImITm)wu-WEs#Whtk{@V-8ueQwL-Lv|b z&(i)Ki$nB&$&{L#yY5aEo3^S;`|6T+w-uMBguUZTW2!E{V)EL^>c@dEoHqY=MujMR zHt;>Q;_am?iyl{PGWk`m(Yvr%YMi-L`( z7A3_$KP#I3d7<&^>TR1(^nDGu5RkQltJySj>6*tvdY`{7oO*egyS2^vC!qmB-_DtT z6_gb_H80&V=g1AM>Z4_+uZWt}2Qw{>j<2x}5Yy`IJz-qqBiC{N@<+3M@^d0z@#wQe zzRc~|z_nuixvC2JfV>>l`^QY9J>#mrbv>Q-m;K5cOwcII!(*|(7?oXZkgzrZprlUToc+ zF2^$G7JjR^vQIk?uRj*aoirhTLD>;YJ{8#uKmTgE>;5@*S^9;KbiM2M`Ig-U<`s)p-~^5>nlG8JXe``gb7C1CDiT!!_|Hj&M^9%Nq z{rnKFSBpjYJRIu ztZVa$Il8*5Q(|B1Ejova{*P8?4F;jk171#@+j(- zh4d{8@mn2*p$}~0p6_?5UNdQ{-{R-lPaXzuam#nl(_WP7k*g)>e_eHram&q>ceuSO zx3|Ci*=F>+>S)fP7nRAf;(3cszu0(XfoYL-mGu&x4f$7Y`nP-&=2^8-Vaby*8{qt2wAyf!>%GvMqSm+efzG#PomrFITDpBxpSh^&oZsJh zetwU(?CrUGC{FXWea4FaTBX;O7RA4;tNFh&f8Xr$|33e#f3+*g;jLWy)42()ej9SsIvs3QkFMr6nc8AyO3&VWY#vSI@UL(FkY4h#uFEQ!8^-ZshbtcJk%gFyp z_DC#nIeWoHZud4#@w!z{tSR!c1`S0jNI#nYTjim`@GL%@%ePsM}^)z4vp@CG-1Pwb@rp zT=jn{=tlffbqVm}HoJ0u_UlPGH{PARH}A)05s{<({}}40SnSr+(&Vs=$a^+3J#F6H zoAdYY`_FK}Rr?6j;m3!1E_p6p>brE?p^SAw!I`=~Gx=OH<2kMM{O(sQxydVNV50WN z)?f7c;x8E%f;)LPp4jm8;wi7G&sxuEC%0_N?AJcp?q#5JYopF=*;g~pUi>7fD(A6C z&Zs1+IQ88e1D3syLR=DdOj0-!)FbtZQ^`akOV@oxdQkWEt2YB?91MA$74{@%Zh`XL zdOkKk8)vKjhP3HN*h9Px*K9A_baQ2($-DX!N3FHFW7~Ed-0*GsXLX@u;b_G?!#C$H z+8oS1!sBgo-u2~iIeGD^Cyy4te7D)~bp0bMW0&JaOLng1Df}fan*RUp$Ad>(oOh+{ zU0)nJC8&QHudvMl=eE>I|H5v4bePwP-!Y@}F0{|Nrm#_rK5g9-mk9K#^hgQYLdQl`F@;3jV+7;$!?b>P*Pj8A2alcSiVJ z<*i?zHG@5**hJ1MrFX}}Ne||yAB;1VxqkIp#0t|hlGPJi7HtSnS*TPHV!7;xvRBTL z`hp)Tq)cY3>^QuQm2;)wpmiOL1b#4&g2a$*ZCz+Z*+1x*^#x)Rpju54OgP4Kb&oP zn3Lmd`q3)Gc>3u$@D7qsW!hPBV9CFA<8{Tl!b2 z?{(^%rUh+jC4EOCMD=1H&y|iXb(XV{-F;U<@AW!~OrviLrb=>T@5)Lw&di!yuE@hx zoNM$gb?tjY(YqneN)3FH=MU6z$~kQa?_Tw>Wv2s6ten_V?_<0i9uY2!nP*wfihA{_ zjB~Nju2h*Lerat&-+~^V@-^b)44aY z=9E#^o*Y+x{P<0-O{Zio@Fc#snD_P=C+F(tCtG@+KiK)i_@RE{?L&5F-u36%^ygaJ z-l?-$5%osA)-cZmr<;Mk+0mH*6F)HZd&u+yMJYN(qHWlUW?l9cdt0au>QQt zHr-1l7XGK_>pndwYoWT~pBCrT$}KmR)c5vWe^mNL%}e9T!VE#Rh(o7*3O^a!2_OY7QarHe0ZePwq3dGtNgMOyDCeav$#nfdmGn{8f^ z+Yh~}^7tGbO9hqt+K+3UHpOh6wDOj1cD_xC)0sMlW0o}&41)W+^>RerUiKyG=<$4p7% zr1c@|tb#OO%f%c@HJ5w9u9vQ__*l7O!Ue^hyQi+u+9qAOuvU)$^bZX?HxZ5GVH=VM)i{dh)+JtlVTY|J*{KtmLN$7ynoz-Cwxd_;>YfNo%p~ z+nM%uo#P1lc&b8Xe)4JI_&0AP)hx6RnA~(>+pqAr`-f2C0?FEqDPqr;JrCgA=k#ca z>*dtU6`p;j(;s9naq&KDP&2h8wZ;Eo?q;d9nN2!w5+ly{Dtk<@F-F)8a?AOXzf!Z}< z_2Rk@do&w#sJKf0jeb;#Mv53|$m4_1=cg z6)!r~zbv@5kkcdVS>9_iE?2t^S??&q)dQ|sJ`}{U;oz|n;?)7z2qN3W`VOP&Tkc$5+vZ|IhIO2KsoI_RjQ?KxK z{gjL`XPv+Plxb_5=Q^zeZgJNyDQ)Qb6@K}YX+)#xo^`Iat2RoSekd-Roy$7gg6VZ8 z_ui>%maqM?{Xo?%wtmsGVmZs#>z#Xl!0-6w<3Ha$`rGlIDRxIg>E()BnL5udSN)S( zcF|^L-M!gjS@(lutIkJG`ME0nf@R~>eUdUW94gDBejGd2ZXBnU*{?4CPyO-jgC`ok ze#u~7WwD*>`p2l_9yMRq$?d-A@v_(E)sM=5H(KKEA9;#p|__?d&ff>F$o{4PEDL5!4Xt+B^Ng-N@vxe=q1MzB|!USImfr?#P{2oy{1~fYI)n#X8xde%a#t!Dq+9k6xCk^Z24*qH7pnQR&X~8K6|fo z@6_wtb5w49%J)CHzxfmEBY_tOlC|G6`MK`P++*D9+duWc^bVZ_OSRiheaU)z)K@xu zx-{d!bxo}q39R?(rOJ(_e&>xl_VZxZ@AQJk=HSaaEPC6Qef%g{bINOlkb%%lgF874w|y{8EuywwjY3#>`y2#^H@X z<=^hFf5N@5^4W1pTHek3S7zsaJ)%v|a%p$9>hZaMYc?}4wf-um_pegw-675$F+1yK z7PI_}7kn~F$i{Qhji~J4l7!u}&jemhU8%XD?!R#ODX%ay)utoAe%qr?RHVM@xcQHb zfnhEm1A{K10lbP5pUmQtRQREnyaX;kr@ez?Hm7{{P%w~ z-(vgzOoqvgBDpV)<ZOYAFlwL8 z-5{&vIi_6Gf-N3RTKs1BvW*6-7CzSN_V}I=VQNtl)bi(W=U;QU7i%uFTGCn z{l%11^S9fmh3`5U)KiuyTGbl&K1E@+$Su_keZ_(MvTH7Xj_l@K_WbN@W2s+k-lw(9 zQ>(VFI&ZPNK)Wb2=i-IkO%t8$*-T2#&SbLA)t%vZR&6PdeDIC7w^Byklm0kfo-t7% zsChEen#6!aj#{Z*%}+TGueugZb@IV@UgSDhMMu^BUcMvw|{mk zbhFGpvAyFn+fTP?jU|^h^KO?le<^xV^m)$lshdhRMfb{Hu)blX{POUOL$*7@y-e0^ zkhj{|+!ylJMD4|_8*FyZpMSf$Myq4`@a`&cD=3m&``?jA!Dnv z#TmI7p~)AG(~p#&;r2a}UzD+Pxq|#uHs8z}H@PZrhKR&Huv}ZfqqFRtHSesi&AO3g zkBukUJoews+nPOjld)Xb4;{IO%aSY?2lZQ<-sUfJ2t2;{j`-!z%d(%HlZ*@KyeyRO zY8G4g^h3#ng~sBgl`ibbr(G;QEkCSOkbGBqVu0Q9fTK)rXD$42G{MM;d(zpg{!A5Fg%-21@CdT^t= z`c2PkLE1)1msgzOzHctFPqXHxN_<7x$xquw<{j;5D?Rx%^ZE*dW#76=_H&Sty>-Nm91^mpZ<^De92I#w*|nJyYP@yPC#2aDDQ8QSJ=3%mM}J4j|<{PFb`&)ANB z+H@#e>A6qEH1?otAK4BT6;-|Xv6bz`4_)qOFDtqaPw3m8X>S;&BRktF;NAQ8*FW}k zOnnyD7c03i;`Nh#y3?~)1ogFKSLpY?4vCns>wKBWq16S43dMQ6KGyzG>{*;qy)V(b z(A<2>mNPY5lHV6sE808$b9ku#L;L*vn+btgd-l8b?rc8gcXsUz;c0g^zn(Pxh2F+z zd);~krUXs!p5njy=b7%Q|L4}+ZZ@;qsPuFD#ZuAibsu*2ZWD5o{(t?HIYZTtB~I3B zj_WecJJT*9yhY^px<8>gC;0bw_xet`%2>@G^yT%E<5vDm}W~{Nh`T*>HS^J(ckAn^V}Pv0wNzib|lzvSxv5I zm%jdP)#Go%-o@t&-}p16B^}^-cVId50c*ocLLVHo59G>hU(aCCwVUa{?(mKcH@FPW z7yfWo&Y8ShpGk*>#bGzYK2hgVmdU$?ee?Pgf<8SJww(WH&6XnV*?YG4)f(;TXXa0P zzq>1`&Rce=Ro|7sb&ro+diQ=|*t-J^k2BqNnf8@v%N_BYwB(7kmeOzj`?oCP686jQ zYPljR8LXcieWt2wjZtL##JQa_^^+C0&G3ylb6jlYZp-p#RzFIOC++IF=ezRtgKxhW zp7TE~|7Lr0+0~D(Gj}g|c|xh1t>4VkI#TSjE*=fYR(;pX zF4V(p_}Jl$g@Cc0^!x6=6MLo_OnP|Ks&13WZ;s8DvjUEP$_e_UE35dgJ3py(Vut?S zjv%LrH|Go6PCKCQ%(+KPsKWNl`_NS$=l4}gzP)+BK<)SLma=y~OtB9`c)t8*xv*Pt z!V9gEo;|ZHbNLs|Sr*o}G5Pq#Zs9W@RQ}5!T3j(Bw!Wp*YU+vaNps#G^-$ORIi=^5 zZ1=Xf@1`+#Kb@)ib8+S4^WNXz=P<3aZhPHlHoa{>>$m#(R|}0kuaZ_L)Q**x*5+3GoG3yd+rdUjF*6P{>QNQw(;ND8+7L! zc8HiNWl`GQyV!KC+RSY8%T-Uie{5!nb+;C6*G!!FL~YJdruY4xwaRDsmxiz3J!9&I zKlWz#D_A&$|0tZXlQY=Ih}sG$F-^2cW?*0_W?*2DL1_hGy4Ct?{&hPxHa2IrvNAR` zH@1y`7M1*6b7{{Rp}$Q>p1e8oCFJgzJzHwZ*u>n}8rK}zaRY5Fh54@J6Je|j44ga+ z3`!`DD*~@{)^|xQPAAZjgE zbvSJK;Z(0e2kw_Xx0a<%nv^m@X*;|8AMOwA6)&6hmafo={q@TJqyLKP`JT^bvA*&y zD*ATs{=aXg^?$y8UeDn7(37Q_rAoJ2cVnPQsd=KfZ}4Ve<5`n8fAtODeukro>8?Oj!&v@n!66`I`tvze+iggl`=1&do zRlR!c=k48Z&fT2#Dr@GVcUhqyIeUKmtPj>~T6V@IoO8;_s|kML$$rwS9{2p`R~MHK znDnvpKcC3a>M8G%{r(%KE40-eQI=S+<*K8$#E}UODZa(tq3_24 zS0lR3)Bg43Kf9lC?MaZbM``1Yo^6@gmaqEuIGn$_=;bTcT+i~7M^>4$rmfyI@$kox zn9v-J%ZxrB)@*Sta7>tg{>iZdIbj>F%Up{x9$j9;#HxE`{<~d%H_rZiwKI3=t!q3* zA!naIWfQcx_5arcwrLd=!CYb!)MA`gt(o_C_uQcEH8bv~vW6E-Eo0ibYWCN=Y&#Cx ztX`geM*e-g&Z>@gCm5$&zhE=|7vd`iTF?fvBaHs4Qt zUif~=&*)1NLftvjc-SxW9u8tEDq^XXyOViIu;#cxq0^6TIdapQlrQ;cY6|`q`&lRb zenMF1%iTg5t&0*q#GQN^@j{$sQ{zD&Gl}~LKc4Bgc$mn(YQtlp-MdrVL(ZKzQMFY3 z*UM>tH|1PWwhR0Ad*2u9=d24(Fr1j)KmT&5p@xO}-#Ke{N=_AB_+R^GtwLl^^)=6` z&GWNW66eKES;GH#eSzI?p~?CNqVhG3Gri7PbFl4jIA0vH$+IMBmDUNpm?=x2U3NF} zILQ0rs*>XV#(+QUXRcgNT&LAGfnC|4zu)$;=A|@o!&3*~+#oQ=P6^AHM3u zky9y2Cp`3_Wpj6AmS z7(HrqvD_qkXT|pGtKKY5t-i%I@2~liv#yew6FFG7GoKW?vi3`H$-Ez&mW}rn#Q1pM zI_#gjq+6e5-rv8^7j`W_eC2L~<9Vjki%VW^$!IYvoO4e-v)G{7&N5F~t~qVeOcl`* zdBw8^ik$Zh?E-IF7rb7)>$S9~uFCm;oSB>VKRkF}ah{^c4Y?;061g5qbw5RZTbxmp zd=;kop=)}x&`0e@-x`#vJWf9nJbN>F&Vq8)Sr3c)c^=zkUfw@Jg?~?m+^;QqKi9pV zw7z!tlZjWV{_vw#8H&FnEAu!Q7}SIr7!7vn>(M^o!|Mq=Dg+ieZTfUU&nBx zcYA7x#}2jJ9(TXg;9Zi2n^sOqbE$g&VE(%;3r~LVxKZOZH%yt+)Kt#0?9&u6W7R7? zyi0s*eXjFxo~=!N9egdt$MkE7meCB~r>)j1A*HWGY!nt6T`^HQczJGLwq3}f^$u=Z zd!jgfrH_4fY~0Ug64)pnDrENcrDm?eY@3ymhhLp+QCqlAUp81+dDX)1|L5HMEf=P% zymg)0jalQXWCPWvB{JSQkRMlgM4 zo1fefc<5TFi%81_m4#()XL(YS4Rt3=o>p7)LH7GX$+bpNVF4*GN{(Hb#C1zxVdbqg zet+j(2uxhlf8Z{s>Ew$UMX$NkBj;cLAgF1+qw3HKf7x4cs^f1^vdxBzll4u-CBa(3Q4LyH<*x^}6wRSLap%Pn~tQcb3V%3H-{k z`Cz-sGM1(9CS7@b7oNHNDMb9>FK`@h~Q==)w(Dw!Yf!Lz0-(fqPlph`>FlXAN-z56M5bOhdo ze#ksCac#-og|jl9Lvq{I#U%Tz?t4!C{js6P*ys1BNLKzwiealownxv3>vIa!mk;|8 zIp^uI3WQMY?pOPT4Jg@Oe?)DdDWNh8;%xG!!EaC4AdFuf$B$-bnhg%%vPX zR^^?OtJIu7iFmDW4^9?dbadyHy3U)$&Y8=myj-}zKJLub*Vol1obatau5!kzu`K4W z>D5jqTeE@)jSbC?F*o=4`#+Wb(W`pzWl1(Wd&h?LJ_X5c-COOBUDw=w^#|W+j^CU3 z{U84}+NYj4+k5>^?bV%&KG&V`-f>j*wfT*YIufhX{|0GKcG+v?`V8E3tAm_6BcOiE|1c+0hJp>Mk~w;sLr>dL0X=wp+gz6$fc;maOroXnQ} z*XP!Zl(~_`_C`f-QnRnDOzzy#upuT}`qg387_qB`6PGWzD$-RvB~$Xw3q8e6_w?n$ zMfNm^&+IB&8?RTrHcu~h>diwZ^)-J?)tEm!(yqEhIXEOC{$PH}pIcu&(s;S*y6<1) zXe)7D%(+W4aL&F*d;V0j)*q0MG(A@0EWBI!*@Tr+%Z|zIOrFc8bWVN!gY!-D^*1Bd z>dX8+8pK*3`oX;L+})rhd)v*M&a{Y$$5lEXoP9{Uv~8M?zqsX&Qw1kpmrXkx9DdOI zk)f_!zCmOArAXyvUtcUrxgy&4Emw(iWAiPoO72IAUUy`Fgq<$G=lEmI!~M>4rds6j z=^qe}Yckr^u*>^K$;A6w1)}pyul-W6IdZE-I^cYL*Iu^h0@LH|7aQEz*Uw+AWf8ZP zr86MA75S+kiTwb`Yso3e?Ua>Um`z<}2a^BtJX5FKey>2sycgWt^ zmghQ8PspAA#VYpk^X=Q`AKa(OD)#h<2r zTXm}Jy$u_4QFFQfmCHg8!ra6^ZsfXS*qnUKx${M-j;)T1I^dIHDGkldBd&E{~(I=a2 z>`z?ps28e9uH~vI{^7IW)G=YR?|-`e5qHo04}R;PPS49ZoOtXl zhkk%<-;uye3&ace`F`rKJ6&Hq$GSWDht~Pq&kL-(zbeEX6Nr2KL#$1AiRSHYzLiI! zFD%Lz2!HWa-%w5Q$%oW^p+V;bYg#kplHMO(T+!1qPo;Zb+j?WQ&3|nDZ0)?hJd*yQ z_Vk?bwK<=f)mis3+%_=D7vp@GReQCf+ zr4_T7LU`vLJTJQIqD72gPz zO={f#BLC#WpN$2tnd&6##Aau_J8ik=md?H6ACo0CKHRd&^1OOYCXT-%Zo@ILgWIdp z-mGiV%oVeLm$u~n!dKOn*6ptg zh^?;@vorU^&_F@c435(c+5)bEF&6|xG;|IwowY>Om)F>$Tebe7_P+*wn~bTCf|fqr zEdMBd#rF1$M#eMF-_O3SK5tt-`@Ow=J?n*jO=eM^wd=NL=(hH8>FAfpyo?O~6shr7 z;by+Vxd}Se@nU^ZoVkJ;*Ei;ASWl31P7MgD+tmMI({9EziCOcxts^Jw`;?OC^Q+Q- zZH7qOwxadA@1I0gdS1M3;Hr%TlMlQU7(d?jrBoLm?hJ z8i&Aw*+QRv3D+1x;HV~`gq}-1?)-+IZD^3oYL!jerQwc z<_upwos%^IU6Y=?IH1`!%T=;RY-;QW6~i3Q(mbn{#!YJl&kL`Pbp2{N(dm|hy7OVa z^D?n7(pChS2q+a~YRuaHuxI+0nNnXCoo{dz)vbSOGBbU}n!XxGP1AplH@xmHSvU7_ z#zDv4lE%l2^qK=j>hy|MY39hT-68T*>Ef*ry%Y70%bEQxyJu>}EHm>xvEYT+E$bTQ za0#LRZP!$#AMRkw%G8~j?Or&2`j)aO9QwTx>&=#Q?tS+p_qzJwvnD(~1~PYY^(@s2r!&lVldg$p z4Oz1AfA6!n(`S!wO}ZksPrvp{;N+w)b60w(d|AfWS+zHP$;De)FVwD0D3KJMxJ>Wv zS2>%zf91BmF)W?eCv=)LdfLH>Wze-7=qQ~HznPhgzgbCoZuxtIIuUYtBxS!92{)?WYQ{{Mgf z@;9hnnQU>)AlbUK^!{d^@KT%8kNS35#O~}PnF+Yv7;~X>gVFXfR$Z=+fA+)pZJ<3AEmgx z$i#s)KUu5Om`D6q&byD(-bwgg->}wXS>d!qukszwKIv9%dOcy`kG3tl95jU5$}d^8 ze_k?O%~3+^SEKStgFUm4x$Zf>z{b>Py7le0-N!e~>HQ|Vvck!H>+|!HeqURi;{F`T z%ixWatDPgM=T@CIgbCVA%#p;|5k-fj*>0*{= zT$^Ty%NER4l2~9@>J=nDea@v~^V|MEKL#3!Y0XU(P?pp)eBx&GM7FPchpI*0iGo}k zE*I;?x0iWNZoVY;WcU5Phb-kXw{Jf2y|3v+sqwh6po6<_#x_ii~YStt3I^9JiCC) z=DNYvMRzl@`kvjIxJ&rQgLbZqjlC~^y>~0ARSh|LyFz74)tLfquhj?NXjFIIyVt$b z_CnvoZ?g?kEwrDn61e&8PFMPln%I4@M?9{%JlK83?XT_+kCtiMei(m@;=4E7>*zO` zxxu1=ua`2XnIDc=lMHA+^$uH++UCN@ITU zi0zVC!c-n!{f^^>{mFN3(os_{Xm^}mFx6S--IHhh1)p6#=K8CA+mhef-_fA|o++{lO@A50BOqug2}I z`M1474twQz-bf`u@L~bMVACYgL+{0@%LXPkK zs`&1V*PdB_o>xej1Vp+uqi<3@buOsdl9_=ahn;~z4SV5JT$)p&f;L$l5*d6sK;&QE zN|D<)!~z0cG`n=xM#UUpW!)O2Ar{cJ!$$Iwb{pr)$wx2Ff7-)$mA$^f{?x}gw=aY& zxZ18#Zuvag@7&(~b^m{GKCp^AE+BZ~%AB`<`toPT-TRmuZS}MC<*#YxQD(9Jmu%Wr z9C)%&WB0R}?|q!VpP4l`{`=d%1&w*{_rC1&> zBX+&^vXZy`&2b{2PW*1J(%fgKo7_r{8p^DdUw%_}mg@`Y^UwBO%;vu(KFf8&qH^=2 z44*wNM+ZN)sJeJO!m&EQZ|+=uNUg3cxfH(7TNDI-P?0x>Xlmw zlXEBNRc{kl{Ug1@b7qrQ;f)}}4O4h5mM_kKy`%cVRW82(wh^w!nXYV>sJkp3QA2}T%np89aeMnHLT|73pzJ-8m5+QPAT(@H~AI(hj&(nl91^~ z_8*IT&gbr4x9zTw{g&@9_kN%A+2*<3_Wl3={9sMs?BDER(6hC7*`D;*vs9(Gty|sp z$HnyRw5hILi3R?Zi%;mf=AY^>`+jBD(FvJrw&%`e3QHA`zPjw5SxCOt{Tl&Wrsb|s zbIj(uwr$I_n9Dw^eNIP51&8ZIrSA}mid*ga>B8-4*Dk#3TDrCLrm|jmhx+x3q}Tpi zue%&JlWaLQZK=dG>xq$^60<5w|Fk`Oa&IA|lm*X^Nvc(I{iWXdLq zbcuIq#g`4Hl-sB>x*MGNE-O6Id7k@m*A9y#1_75#zApS*6>d6DYq#zt-K)1smu_7v zA@%>8TJSaP-Zc{a*Pd1RY!#Wc%JpgmThOH^uNcl&ezp3{I_F@GSTWDhdS7A1#I_Wl zx3()e^`^dNHq71i=B~2l*|YBaOJ!#MnZHNry|Q|&2()$c`s)6=i7T6*L7=rVtd&zZAEoe^AEw&vbYy*;=3Of)z@s@UA#2E z>S}`Obcu7{6nnpUuZKFVOibzG_b4-la3t^7q6X516CS zKk3VNPvwL8imse>>~kl+lUU2;7qg%}Zs@lo zez&FbEjAT5EdD)X!l&Oe{yY-!x%hj9a*#`x$0wIym05*T3g#@zj1r8s^7^3C%d_0z zvFAyXPg}Qq5mlD2J=9}tDaWw9_QM+fxNirT8rAnbHgTSjXmvp02Tyw8x#|8tK24tQ z^uT!Ir{^0TcE>0`_23nr@2tYTQKfq$TTk2N_)b>+hfVBp9}lp;l-8?ru=;8!xh#S^ zK%}NiH0G17&(3#$j=btS!dIXgbFh0wd$Z-Ez0VBiEX#WsJALA^Z-GCBocOI@v^4K* zoGq8OZT|bE3{S#zmI$@6gkF1WJewz7Y|74F>wP}++hjN#%nGhg_xxZvY372}Len^t z-Yt|;7JfN%Aw!C>*=CRBJZuWz9~(>araw!5vC{HAd&LVGqs8$yhm}?SF`t;py((d}1ac*frNK9BvG-^X7|Hw3?7Il=knnBJtvSF-eD zvve(QdcSS{wwR%^@l=HGRFhL~pUMoDE#%*z6A)c8b?e6PxZ`1Qe>@rwh0L77vdaDV zT-KV*kVz)2UA3~2PlJ!Q{PCS*Y8AQ6!t{LQ?koMl=1a75EB5|*`z@u;IicTsy?V)d zVOxVO8>Vo`lo;iHKQVc(wq5Lh_Ls-p_|tjV_U@j&q4uuOjq`DwQ@c+XSI)4_mz?$C zY{54to~MV8=e_oC&$U)sZfk4)nu*C&;i-h+dH-{euNHgm2$(d+5Z-z#zedt2_ixQbPi`Ht?Vy=w4E1?$#j2K$j`a zaXbYJF0MYtee6g}!lJh7mD+j-*J?)ZKh-VnWAlTtZc5>{0tKPFhxg1pdHZ`=+Wvj^ zc8oHMUn)4SaQ}E?zKU0tz26j}jrEh8m}dvfWYKT5=e=@cznrhj3eKIzC+`$DUCrX> zEYsg5uBRhnlQL0x%I}~~$4@3gA7c$>aXD?3Z#`HdapcmK)63S%Kkd2j;(ubjmqu^v zK7q{!)6Pe^broF5T7NlQqUQJ`y@j`#X09Ue*WeCKEqXi z|Aogj`l)ZxuWl&0J4LC8k%3_<69a<|w#q0sF)y>AGzWash(6>Fd)OdPZ@_6UWUr6djgK4^nBFw*<1f28cVF*0%T?bvXTHs`SN`wf%I12jyTw6NFLv4rEp?Sc znNDqzXO^+Cw@jN|C~tT5=8V|xsop1ZS8cf}^X&0LQJp1n)|nj3gKGaIZu*wHXYwqI zl&nZo9pPOcyTcw`=;U3CHi5_^m{P^d#K7>8nSnuz$hd>#qTb->Y|xEDX~j27Hs@wZ z>0ix|?lqmAF}*2Yvnhl%aqWa@O?DiU&zj8LaFe%M@UP}So{tMxDExZWFLeHlld^>B z?l&>#=DfFlZk_)8`Fj2P3~v^uA4r#g~62Xrq{VNOr=$)NM_CBIhtrD+x24xKl8zW?@II8)orF_t?w1%idcH% zag?(~Ssnbc<>fZNx*1{v{n;+OZ7dO6l@ULBZrs~%@ajB^@ zb{zch;r}nb#mN(woOJNn$)mqOEzhWA+RC0wp{~NwX4@_LAko40>iP|Fa}WP(x#fOKYKP0>rTo$+ z>ld$E+m-Q_-(c}{jor_0%s71N)(q!2cN#r3%wl^_?^xuy?vYew{-s?WyI;?G#~T^4 zuJ<0liT#3Wzx$qb|Gs;EM{2^kICYi}4JL1dc6amcTA+2QtnaMy%d5F}6!T`=+}^?6 zyy*RddCy+Hxab((y`(6MrH&c3G(MdkF=IUg1A`zV1A`usi7GKECl#8o`fRxlIS91g z&+z%fZ0mMu2S?epsLrOYziK^+&YL)A_g0v3^FLU4q_?%~(E)?cZI%7+Kkm89c*cFFDlFwxhDEk;!PE?w1CA!<<@e!dvpMSRs zw9c;IH0@%iK}@Xhx?9<@2@Vl|%JNPtU*C4GSaIsVh}bg=b9@fz&ETA@|9Z{QFPtrU zx0KrNHNP);Fy(pL{jV3^%J#&edcDN9{VpFP1H&Rl1_mpFUiZrf?Gr5yO3h8o%yX?s zPDNfmKZD&A8FP$j!O2A%e?e!3yRnZ}K*Dtv<4D4$H^wGbTv< zVEm(T#Jg+8j1L9h=K8;XS6jEYp26Z+SqI<4BfEA+TyYCOboH2qI#=eGP3KaVt`!uv z4owZcx6&!A`0J#VsmkpiI2O0oOjDYkrdMar(Hvx{`#EIiq@Rb+sy60v?%imbs_HxS z)SfWAuy&4vJDJkSJiD;riNrJe zMd7wDCl$>4lRnqjsU$yp`pWFPJh%VeF1w=BV_R^2nRVF%)-<$uO z`v9YNW7h^=8?V`WIwwv3KI`d{Jv&vGFXD_VYh3(luGk7r>D6*xR!`k4U#^u?TDb2y z^TNAx{}-Fc-_}mN+IpnfPI5Wt>-h=sH+UNjoHhCqTKb2hHo_qN!ds{B=-+d1w`_`JvUN?@F3~ci`Uy=Tz_VBw`=Wp3=etfdS z_=(Gv?`!t$d(YF>mR-?zdP0@)&giU`)T@$0zN@pP=e?iBQ|>gmOgflJe#YXyY~G#w ze#tc+Dc7~Sn;fCr{&|IN+wO+vv>Dr6S&g1aT;e@# zHvd=iwwL=1Zq@Gc+4iucr|xut?mqse!1rrSlWxp;#`DrLR_CVW)x*IZ?T77G7$#f1 zkvDpB`tpwRtqZ+R>~K2r{BzL>kxvof0S*&Y`ZZ20XiI3%e0I01|NKkKb5{-;+NY0C%W3+@ zp`s$FYR}sGr!Ym1J0*US`b6KX_zBmv=1;I)6w6}yOK$?}v=v1&v%(4j-?*6FOm(Qx zZc3e6)B48Zkp8&>&gm~tN5%z;9zPXYr|@6y<*D)~^Fy{Kuko}H%Cd-`Hlv~RQmn!n zC9y)^0+H4B~On=^`2Zt}Pv zWZ-FKxcH$feDC*~yYdWf63u-Z&K@n!k=jqM>)|_-u1uJkzES*Rp7@tJywh4r zr_3%8`dVY-ny#HVqe%OjtW#0T+5a2=AG39cc)*_cwXppkT5;l;bBJ*UGXuk6b_ND* zY=w4Seo1CpW-_z^o0yqXS_G@CLjHyeyNm1J>JpHx{2hwaP3ecR~1r?%1zUPgk8< z_vBi6S?NXL2~SmH^>>B!PG(g*tG6w{#$V*=S@CtBkL~-O9mqaI@N>g8{#A2VExV$; zU1!lwU4!YrOtMw%_Nrdk{bEW9ldZ&r7snSk_-pOG%D>9#ki(qt!$P$dN)t?Uqt~0p zz0D|}{87Yk?xIzBn%5t_PuP6DI`Jy&xpHxlt0qQ;TSW5wFTFOg54d=5*}CfQTeUL7 zA5>_`Zrc2C=d{?9>IGbr+4hN8d|m10QPW!3=(s3m)2pqke&zb^y>!rRM~|k^&-s>~ zhgweA6s}nFValU_wt*||P%7Sm}URA}0ns}e{o|F3gazx5U z)yA3UuRMA8Owz)i_5F|eOv(SJdOUvg`PnL^*cb0#Zuwa`O*kcY_q5}SBOWHMtut|W z*e>$b&dqmCvA%qejm9LSD92YS{GZ%A*B7=)Z`AxK{6bAF`^<)iD<65s&&{$q&~~G? zN%W6S-~r{vx>aS02Bva_#<#Ym*rqh}EtE{{xj)6+@tDUFE8eujnLAwf=6uYZe$aN` zft?n<=c-;j>`9z)pQqk+J;z^Zk(cb&_FnOAl3?c`7$7*bEyVZ!x~wl*qEUVZW85(V_U>i2*&=N*tMHp8j%vW5qLl9#g}Q?z8u| zTD~nl73O!qGyMMcgFj*#-Y3_nTZl4!-+IvG3P-^v;Tl7snr*Q=ea|JoNszzXYFp*A z`L~Ctk#EYq#5Dft?d#17dpl>JxV)-!x35l4`s^L$3rt>of2CzPd-3;2v({VOO5zoH zd?G>e{?FEX`Pu*dEZ+T_S-WP!H|ApbG{xQRTSG7XPh8f?d+BD}Y+DsGFEa;m^S<2@ zhirHg87D`4aW&T6we1Cq++)s8-itHlKaw=`5t_yQa^YQT!NxcN(X&gMx z-yDQ~O-S4jvM=$3jBDw{!wPMmC7h-u?$MfR;r}knDgJYmhJ@PczypV+*DdY6e7Gm` z)QrU4w>B@RZ8KC(a&`}I%T|8HbM#XBpN$>Ny6<&s?rWWyYr}G=bz{3{+sbcqD7?)278KFMAFBLRmiWPWz(Y$Yr3=G>@7|_l}gH}%{WqVL*o*%fZPc4FtP%I6;op;$m zz;<@a42j7*^rloV6j-qF_O6Kn3XKjcL{?6E$-MH{zEZQ3VQIZJD<5p0py6Tjfw4v; zsqFTYRjwyQr{$bK_w>x1na~qkj&Ev}a-NX(xL|w8CXUTPniE^Kbf0(}+cRM$*Zrwk zm*==%dmEi$V6#rn;DNHCt$|5*=b7EBrx>l``Pj2?^YO{=0-hAA*=HCZ{`2z3_4+p= zmumD*err;UvT|& zVo1{Fn*GX~boWi>VAJE(cod0j9g^SokO|YpLzD4dcgNCp^;0+C2m4hz=t&g&TXyx zMJlqInvPHQlCE%R?clj&)O}QXb>8UG>K1FC+wlIYvF@z zyL%pKNv~Pd)1BMbsoI=p<-KURk0oO1-_@5x*X>*v=YHVp7o#lRy}CD2_B&ki{&cC% zxNZag@%UTrxA||F@0j2FTBkNw*eT>A$8?V(k7W!o$7KFW?`T^6r10zsp6k4Cv@gwY zY5dRncKwb@p?92DKV3O+RyM4JVfoVCJJMIZpEcumMZyC4MePkL{Uto?{&Tl@_uk4! zO+?{xX3Sq085ow5oQRAdecGkL(ctTsm&NWbi#>gbsq4{Rt-GvZl^aiO=+UXOrBX)&uu~=sH*|wt}_S78UlkfQ0xNus3%C)$qQ}$jG z(3hCwEVn&)qG;hcga7F-wi!-Le!EoVt9IM>?&%&M{12RyYrg9HYY|`DYrS;~mMzs3 zH(O`5BI%Z^tZ&=F|4X&6+6JEu@z>fIT60JIrQZF1R_D#rU2N_>UU}uY@zSNg&upma z49UK-uWh5;_mpYeOP_BIYPx>o_Lb*r{1C!~8eQE9UoRckk=tR9silEIBD= zk|x9E8H@L~O7HNL`|OssBQ@dvq+=>vfAlkIjvjK|p?CGuxdUhChL&(GU)o-gvMPV} zjN=ta3+69sZdjuBQo?V(R_63Ir_hqn&phu%pd_@BV4egmkr}Xt^xfmp|8c)6_`icgDqKSRH4O5tGwzzHF5=jEXwuu8JLk+a zHvawi`S$k=a!F_1dKEo37w(AHifoBoIpu`YRIwtJm?c5R&nNn-2=~ZjZYSn-*26n__E|r_x&=iOq+=*)u#m3&QZL& zKd^c?&$Tcs5nqFtfj6rzEo)_Xa+D9fN{?xxZS8D!)k4rB7n)^XP z?C+K{Ngsn=#Z?){MqMw-;JU5lcPVDo$Lv6#OAC9aYNagG(5vxXW;uS}`i0jn+-`CHW;toz#OdE=e{Xi)@$Z#lRNaAn zhkmETh`)F}L*P-T`3{ds-bSnsgv4IvKQvl5;drRBag6bX^Pb5nVIk#-Qy~{&XUqN7%6sP8w#%cQ$OJA>>y!MRL&!B_pih&a<9x(sV zIPzxMN+zLI+KDH>y@@$@X6DSlKVSdmXXxLUwD_37lA8uLI#YEHtqJi;S?I+rdAdW~ zDD>g%pxl|8PwaYarqiZ=m3dpGjv9NLo8hF&^4=gmEoYn58J3Sc&7T=*8Xw$H;g(bX z#-p$|ebStH#(QF|-1l{T*c;21t!yjcYYUGrxKrJ=-iVGm3{ntipL zEwB91adwfkx#TmxpMw0t>)IZ!JbEzq&ep>Ah2fHSj@sT?uB+)1_eDMW(frW6^2H)H zQlYm_1v|NmWoHRdXt|_@?qT3RQW4vw!L zzaw|`5bvEop03Fjy1EYw!)f-UqJ#_)<(cKzHBv()A6Yv8?ohwG z@5E!Deb>|4T0eixue+_eh}LOW!Ruzq&Nkw|&`$m5)G4D6czd z%C}sdP(@?M!iU*LZyV1Xxo4tS?tMI0#pXO~@Ap0`|F@Pkzq@7A_^ zYBHP7Px#WcXUqLH@-m0NPVc|?iTRu8J@v;{?(xT41pIpnr>aa(;W}V?=JNeRrFRti zXM?M;_{pGZ?0iP;!MXMi`BsXhK6vJ@ZPj@B60?m7s0>oJF}vUoErZnk=WaQTQ3gqE z_gD^UPH!f;3^Icyp=kdr4kG{3w&&f9DnGrb!u_J?O)-sqZ@S%*1%xJ_Y8JTH{_f4Y z309_i1w6mF&+JgM`@#Gt@R%`kx5lw4HvNXI(O#$2OoD_`ZrfVQ7Srf=FueQS7}wtZ*5uh^Mb^+&^b$XhAa+WB(a=Xx;ylS zPe9C%S-s{{X5RSMJMniAJES>%!FDf0#L~N~FPpBboEPVM;PngFD^gXn3r^HcT$27| z>EC649|)}5U(zv6euMr8JE`lEpkk=w5yN!PBF|+EF$Z=2>c$*3{j?)5rA?acn`NfY zq67b1uBG4kCH&6z>ZgMT&dPG$8!HH?9Fb*U=%?-&877CQ8;}clDL#y)jvbIWR1M|~9&bqEXTpL;n zm+dprmMxiEdOcF?^8QQmA2!FDWG{PJeE*m8)#__Y3sSh65^sKvoA+nPc&pK$l^lfS0(<`NOjkhd4vuD-%mDAMDt-GM!VeE5N?w^mX2D|=E z_6wcfLc1i~vW`tGlnj@Ux>7SweD1BY*FsySTyCAT_NAAX_N|R-G0y!hd2Q1+OG)nC z;n!#~J9<@a6i@6!ulGx|)m!Yoc<*prYPEi?6y#EwP_?Ce~j)wYB8+7l&icXN)~&XBj>& znQZo~wZ+2u_xul?du_@sCPrN?&8plwF)_hqfpO^3{*u^q^St`ydrCitZb*BT@k6GO zz0Q5nU)?L4t^V(Ry@;PD^WrJCuKA|kVe|Ael@=znUY>EH*U^vb#g27i-E$;PO%2#5 zz*zaxD(&Ec9s6FKW$!{Y{9o~Iq zR%W@_M1>`GyS`8R&@m~pOxWV8>cJYjLg@)lHU}Ww=mkXs5Ovin;ER6m7%SWb7@xs&% zpNrP*m^kU&o~frUzJBMTnEO;r_jp)xz0s4kH+d|sSu}MuoT}HJypl!5z~+X_59e-K zi^kx@IU*LH7ImrlJ(ksS*x~R#VUd};u(Qak0KE;>4D*>cn>;(wduZC4GaCBmW=e#J z-9Ej3MZmSPCwoe4^L(qOJ@%|B+T~Yq`I4{ow`E3$I}Ta+=kw`2m?_9?$g}#)F;*e= z0R0L3CaQDUBt25{d38e6Cp0a;@jz!db3{rg*O?6}cTH6fI>^e)du^Zbx#WwyiRfQf z=46TRitP|_Nh-R8h8JQSeodU z@bK%U4gKDym=1HLYd@T0{otCGW?J}XR`;|+GxD`|oo1Wlb$v;Zg3yas;UyBZ7Bmbz$1JEwyydalYP_KD`zg8mJd;m)Ue95OkRCHU`f`;4N+PN=d_-zo%3|pq~n`B7V^#8 zxMb?osf>YFou9Q$SN>m~@lfA>mQ3r{7Xtr(yiD0Yx%khUPd86qv|T5bQ@z;QLg=n* zN-F!^^B0A4Yy0lq|9Z{*#~Zhf^NVZB7IWKL9ILZWKl3R~=J@O!)_aE<_~%{ID{%e7 z|K-TPBe!)UZatR#6>BeRxz4io=~g@UulJ5hPMYznw)6c}#d!)JQh0sJH_T<+COmzIQ=Skj_U?^3l%o5MZR7UN zxi{IXd9RyJb8mQ`SD<&~;uNzFN6ZZzRIBP;kLxX)u`T-lo201Qvo#-{o440ajLG1* z(~k3ZY!~cheU`cL)H{cSas`g|^yg0t-euJ+YWcnOp-q~FX4~X@>T}qCxFpM86SiNu zky};gTGI7SU4h*<9sVq>x{=yj8**s*)*HD=`xU?4X1j5|so3b0>8dNY7cUg&bKCi5 z-{K?p!(}_ZJ#esDr*;3@-cPxyf9vjbMV;fiVK{sYzX7p(cMXMsQ}z#qAWb z-rsyxD97}3>f4WhC%&#v`k#L8@1nJHwBGZt`SN?>>U(UTGCE}z{h7UQ@8(-}7nUjg z&~4cM`eYt&&c*upm&=)_zqNR+*Y@fBjQf7S-^T9u{q=U!{VJ8b)~J8%sI8IZx|ffN zGBPl%#I#i z8rlijl9IhHcxQ`I0vqpav8q-CGpC=9<7_2inQ6&$JI|fiB-z)*D8a?J=%MKPs`o#4 z*)zyIl(9ObH~qxQnPGZobwswslm_XCZvGhh$2IB3YTuiQo;Or>a-L6`*j~)FPv}~5 z-qH5S=NdQswdcFPgPnu>kHQ+ecNg}fO(xlV-2Xg_fq|ilfq_98Tk93m)z)aIHQhv< z*0ku-o;_ETXmn^3V?~*JJ2L}=6+8AVx5fI7IXU1ZNRY;KZAf&qaJWcpJBzyH@l_q> zuT&$B#&E3MYA&4>D6&xP$gC-1FLOQk5))=ToXx$herf%J^>4i&te$`C`M$6GUte1Z zb4=$s>-=m^?YGpmTfbY@|Ns45nxQ-)OF}@RaBo?rZpoSjPg?twZTEjUuub|Be+{o^ z@K_g5mm-kJVvlP>F}($#NgIKC*X-Kc*t^IYnkdDPhaiTCwreNClQSxz2Fi6fScr*BrshyExz zTJ)r5$3~sKZsH#Tj^@t#*7PzmYk#&6+v;ih1xt(e97}CHSjy`8AV=P-k-Po!zfC)* zS6TQ8H-4;G`)KBpg5ImOs#Du|B4s(R7Rs9Q>}j8!;}OkPUF9dM6U1+GI&=E;M=I|k zZFVM|P78RIw%|WAepJYfd;?pL&&;aZ~rDrmUUW2TnWD3mh5qv{wB* z_x1FG$HqQc3F_x$Y>huyR_Jcgz08-I>zeRpLC@BwrjPWGFWb|tX*!vo<=kXU+Q_ z@SNLd>B6dx%;~LJ`DYIp*BqTRZS&K0!Rx9GbEf}`Z-|}TW_7i1c7kmDV`<(!6I%ZT z&PaZ^Y~`%m2DW8uuV*vgPnzhHG26`9zABM#+FM)aH;+93KX5iG`s1;BwN&*<78Y%h zWTk%A6B2vhwZ#RWi+Hte{;g^qwGg46PY1mn{<7_mI>PzRclPO$22G!1VqaK&sy6hRdrWoSB%|wW`(sb-*(rRL?KaRpMD!-?OOh7upit zhoTOmIgAVp-AuSLv1?v(PJVG}3M3Pk2KxFRauBHHKI+9P==yo@0$?mKN>qsFzAFz?DO(sPd- zv*KzybkIgDXNrW^{tVVB8$Ay9xJ*e9oYnYUKS$MBdSKMFjD84u0z~AC^OApR>)!sGbN%Z%B^>4(S-<^74G$lBU=j!}T-_3(xo{E3( z^!r;=1pkqZCUYKLS(3Tq2IJz`v&UaNF>pSimLfQ-)j5)_SR=q@v0vMw%N7bWiMgpIsYRJpsVOROUNI!*S||8>GaCvVy}xB!cJ|d@?-i7~Jox2e zY^sIUMr_!&X0^C~rmWXA6YZNh3+qhy>lo~(SX94M5|Q%wG^sM5tk3G^4|Mn{LR)* ztHTram};GlnDLf#u4qrIpXW|zg^<+i0c*6FEVU!to!==3`mW41h`MnkO!2-$PwtkD z%594@YBt`_{DW2jx6i3qynvN~VJ|oK;Un~54l2!a%*lZVwr^@lMt%x3$d`sihYN>` z{NwYSA>i&RB5+V@?FE6BklR75TU_@nRf=-XoOrLz;6TERPGez~>W^;G)tk4g|9<9O z`6{Yxt=N)vQNM59zj*cdzm{9?eJ-_3(1=~le{zmx_5Am5KG#;iH{SpM@8?>E>W{rm zT#bIG=XLm|`W)`PDS7!yu6mi<=B=4`ujW3UWVh{i&apSXOFtDaFDbtyRV?y@by4fq zHqY5Bmwr;Hy;gFoh$r0swJ%3V-+Z6UKIIK7>%C@QOwv3%r{n9%m3fV;S_~7j@{V0& z-L_`icNhMPOE(>V;MSheKZRinA7@M7Ikm4_vLn=*qxCoJd@yA@$Cc?i(_R$q-G5%{ zvh$6Wvs_s$X6uTAH?nSJI@R)yZvv;J+iR{BE!on~T*^7@uB={hD6H|8$I88>E4Y|$ zhp+@lK3d^SP0)tPhEq1Lt`OSI z+Vte!wV3WJ*F_bN7JojH>F9DWn8|c$nCRM$Nut5?OT*>AeR(0W{Z-h8c9Z@o#w8qI z)=Z6P-u1ZZN}BPL8L8qD91CUrz2&}h^-O;in|8k9|Noo)hdf@+3;d`vPxwP-akPztxN+r~*%(el$TY+N(-=eMRa*TrY*_J87hXwaweLi?7@>^`l&M>E#= zoSt`W#ivFi$>_FMn=02YihC9ubJW}7q}9wTa~SnYYbIVR)>&S6_zJtx<;A;fSM)B6 zus8i17Ua#FxlQqY@#MPlO9|aK_Ai_9bhprLmj^Z5PIENxw-7AVwbU%vwq$#~$f9Lu zi5U;;daf4ke}$_o7cQ-u?0L8F(_WW@2Eq%beBEK`9P-j|#m$fs*Uy|;frBrnF5cf;6}p09pn6SV2S1?O}dm6eVv_p1DyHk(I!aOWtLtj~;EcU<^j zxw!k%r@0%Oq<>H44QIStzUJX7rDn;zU<0qh$VAtzQ{Jj_rFG|R`t&nwg*WT;irzKr z8V*Y;n=ZTUxJP?K`T?%x#)~zTCChBs4!!*I>cbZIk{N3iHMjG(8?;y5WHmc|QB*X% zuvc=y(#yL}zRK4x@0{ZEwCw#ffzMiY6U;*|Y~AG6^)=%l>$Obn)*D;5@%XH0a!hz$ zA30%zQCX0ET19L8k(~CJvnk!)*KA!&g8s0Y#yJZu5_3t^o&KKV&HVn?zi)UxtNkOB z6!FRLS@6SX)}}d6(>b54-Oy)Tw{NB8ZMK{zpY`{#{wP_T+r1*rDR#?Sb(0@_ZqqO9 z=#gcL{l_{d?}Ps0$b^~d-3FVC7!dTMzKCog`v&cQih$Ld#g=@+iA z)LF1`;i|Bk*F$dx?Cjy5^8Hac$CkS@!(G+}N$>glf&bI}Eq}iqPWAk2dxrP=p3N=a z7j;+E3r-g=j1`*Kzx#0aYok{Mt@q=?PyRA3d2H2}ELYekyruU6+wRB5pZq??wJp8q z`Rd0ng?>y>&wjZ4tos*EfkfuN_KMn~Kd#(znKk$UiN* zKih<#za)Kk`Xls{vOWjt1uoY7ImTyld z%{+ctm#;H(p)i=$0!daE;EJ5lqqSrF- zO>8|i&E#VDjMmRPbOh`rHFugZG@9#tSs3pbt|QSgYs$SX1)|DK8z=D;$Nj8~wp*t@ zDb{Gwfnz#62Sj$vD7B3|{chFf$h5Ykn_dSs*IVvez3=rYj~#C}g?zqw{iS%?w)ZPH zaq`UDv9@97^-Cg$L?yD)Kh?Y!on5g!M0mjiZ}ll%O}4?-zR#_rge)ZQ0E< z-}!AvkMP_xo{%=}oX?V@hP#gDeS4xWsU^GKAumAe`H7721tMLd_16>a-mCZpy(zl9Yr2C;if2~%T+fn>bGNEql$dp`Kar>v zkZJJIbQ9Y?K?ytFLx+C(^yQ2rfAGBy5nimylBgzhvR98eJBj&C)BDI}&;H!yW_sB!R(C`=sQAnE zN9RMA%dAkdiJZx|Rmpet1-EBW=2}cg|8EzL&kt6)9`b1Wm7+Zd7M=}XRp+R;v&w$! z!80pP>~V8T%&<6l@YyGc_d@XrUv$`Z9Q(2N&+;c-Vcau07fz^V6%N)>GE*%4IUwaGl^V$64ly+%@Pn~TM+Y@14%Mj~p9_KhF@9?Sa|5ctd zMR|GinxIQ3H}P*MYPg!ya$)848kvWMtGDyzydRO=ho`#tPWu0XIp;*^ewVS!Ig=5yLCw}*j?|eRQ=Un;y`|=nh4)*j3IPZV0 zJL|OSaW0?rPb?07K3jd~v9^-Hysu6or5QXY->RHm*l_r**S9$znl)$t{#W}n;R36^ z&fQWLXRUu0+t17|y8P_iqRR5bNRg(JMQ^lNr{((X+~#X{y7Usy#K`Q64;@b~KGj*j z{>+t=XN2aMJr!&1W9E5#J9YBB4IOnlswfdh)vH^Qc!+o2YcvponU0>M~T3)?x*VT_Hych0od2_>ZM%B%i zF7poV__#(P?5X#M(m8j8qEthbcw%>V8K2CF(vnS=xSjr&EpxS6?(Rpsb(>VTzmT@* zT~bqfoVUeLWqzAvTlwWPS0BxOY8v`yYr;t-%l@}ss}vQ#)+#-exK&oFQ2OfZ@e5z3 z+zy+_zGSoH`L~75r;MMTzPWBmS_04Xl9)TcpIyD;S{RvE{5F$QOY;xwLkCAD%(5v!rtoELY|VRiuQ?noS3BqoBWmw%o0%i z9rm-K_*DFyE00o?kuVC3asy$Ek^2&S*+xb!MNwO=qa!EV8#y?iLr@^+d$n4yK z5GRwzIvbOx?n^zdVVim6vrXj9r)-gt;-0m~SbxPu28-~m{<0y+@36Jf-#Yin9!ou2 zo}AF?C=4}k^xR|{QrWxby1(m-{Kmk^9LrALYx>BJIu5_e$Joz|k%2*h3Ht`PV*TLK z%#u_UFbS^JQ=yeO=)?pjN0GMwhPjt@*6MV3D7mcap0=)A;gG`yp}S2VvZfq1+H~&N zyPgNDOD{5i3AiY!zoolZFYTFq@xGtW3(j5teq6ml`%U!;PLoF}Uyg@qKUNRR_6pjc zKXu`;n*IGLvw~hJ>IcZ4Uin3NrStzvi)9l(ZqO>&vuA45aW^T^?EiU+tX#p8kwPox z&gHlAuF9*`4S2IUz&lyk?Um$-vqyD7PMW_5%VBxcgcbSj_0!$t9@A&WZIMQ zvskO((#bXJ+}pMU=iK?j{_@yFsk0Jas`ULGe{WPRnDSR;f~QB@$;)qQv=?z!vu!R< z(vaU%dUN%iGTZnqmHpKpjyufwYddLK!vU`KO#HzgDs0vihCI<|7fQeOd{qyx9e-qQ z(KY3efTPnUGjkj=D+@?oz>>bbyK3_fv^~4Ocj>*{#lpbwm5TxEi89d8hn90;*}=En zL~KucM`&I&=7sA@+{#MceJYnP=>L`fE9z^_ zykw@`zS3p(t1j=(e!P4^aGJxVcYB}Dv#oxoSO5R>>-P+Kk7hQ>wRJq6X2c$P`-^ej z)or}jPd{0`EMMbAvWJvQkJW}bz6A~)@fFXe4}`R(S>Tg#8W4RU*=t2TX;_Y~tDE27n=#wESzRp;WV)%KfM z5t}5DsdVT0J-dY~E)=*PHVA2Jbe$>2k0{+-TN! zvmWiXvyghPGFi0s>ecjJfggR3e-nvGp0V3unyHlO&eXc|u76g&wo>t3!X2(-6d2I? zsHH8uu=!!u$q(;uYM<(4fm24XSSFN_lC=yH!fehctxhT@AO4$7Q2L$ z=ggnIP29Bh{DyCf?sR`zA>uVDprAW(hj83c>k9vayPq83yCik*IFl*w+h11t-tV{S z>Ac^)EOt@v*+w0u`}F^fi;N%7 zVV@!Ddfn9Ki1H?R&f2md-y_YFo-`L#ZB#sR!g$H<+^W2|MG87UcD6NrxZRLFWv=tB ztBLonUV8Y>)L==|TDcXgn`E;V7Vj!smFam{_}g!E%!lunceO@sdF<6}=NQ>o`Z4tS#N`LYuAjLPd2>&~n(IwA zjS&|=gt)kzQ@WOO{`t1NE6FcRG`2ej#s8Imv?S!-%3Zq(&x@$9(_)<|TxFDzt+f21 z+1gN@J$}45y|>#x?dYC3kE`};!i0P5f=wAW6s1mHnDIlhiZk~$%k=t#CyFI2rv6)1 zWaN3iu;)}DqeYKllic#}cE7r=G_LpF;X6w(Fw1DF)lqHr86p{bbu%u9*r;7RmOats zE3c>H(b+SUj$~F{e-SC&c~bSlL7@O+#ca6?(>wb9_Dp=jty29#SuIX!lW5)Q_vU-{ zUY%`otmdD{cK;23+&?X6n}0fJfyt4xhOSOMX0MKIa8k}lRB}t&WEH!Y(Z_C*4_~HF zf}dLE$JLrz*4178{U0B&%op5wg*)flgO8v2*tWl@l`~(_%-Wp6yKv#DlvvS^-z4G# z)~c;O*=F~p-<4st?#Wl|zl6M&Pk#6|x#p+(w&IohUvbsmUMsNiPHM&}5jBqsvdfYh zIqolOx;gEww|CXnwYQvC=Kj7kY2Jb@{F~ox53TCjBe1gAVZYzyTvO9&nt%8rzvOvO z3~=rhh^Y`dG`%wPlFX$ux4-<3)%l{2TIINP&q>K+e+Q=h3m$wsbE^kp1 z6({o;nM9bm7(n2BZ?*-9hG9+y7ARAI;jJTx>FXNesO#zHrvL9014Do}Oe+V&x!!CG z(QB!)T?`Bi^BEWzL_n&ccu6B@!z)~?ucM!*n`>~0p069i1O~7PPz_*;4NQUvkmb)A z7#Olj^D;~Hk@cKKbFd&tIT(ZVa5KX6q*j!q<`rk==N04CE&$dFB0$=$;M&tb1M21Z zMcF92L0$%_g<)P8g8`&F1Fjpo2MpQW__a=kYb{BwC@IavYbz{<7{IpfV`N~+FG|O& z0}|ID$AaAX0ICBsaM2wp4AKI|AblK65St+SGV@AOi}Dh4@LCMIZwRa(>{Lta1{6UK zXhw}Fbf-u|jA4Lyx)_H^;NzI^8-$u*)}Rr&dk7|0oTvKu%xk>8B0ELOfJbRO9c&n zf!oTkos0oUWdg|5^T+mg_b@XsJcFL#2{U*}<6&09rb1eR=w@1ZYc9CJ#K54)$^c#* zfiQD2Cl)h`t?M zRH^L8$iScn?Vur?RwxT|8oEiD`FU=MnK`K`u0=(-BE-WZLnoS*fngpO1A`{aPzI0- z+2t|KbL|vpRKaH~$i49M9neFw;N_D* zP%aGNL^o7k9n(u*H0hXqVAgP(_i*0_m?KOcpS~XR>o* zajIKla$*Yf2o3bm5Zx!4Jd=TeVLt-{gCfjOaB`SvhG}jH|Sg&{3=DOmka00s3R%*aTa9KKG|2L>74x9b zy79y)1-mcB+t7?6?8|e_Iy0UyFff!dGBAk390e{VceNomPaV^+Ry!c~L?4!1@S1^v zp`H;v_Aa(#7y%w|#U4Z()$M#gaWgRdmSJEJLvhNN4is~6v@Jkx+2LnA8|0mGMszcz zrXri+l$r*=%nm&@F56Q*=?wz|Ln9*t1ELoKDxr<0VVZ%*L(a<2?OIqF7+AO&7)((- z6h0ldhL+lwAhhxZx_Wc?q);Y-#LVRmXUUenX8 z4(rFUFfashGBB9Kj0WfU)Q$K}2e-Y0QVa5nN;31(@meC!Y@)ZDiGd-T6+P@Fw&AzL zEi+5(VI~1MD%-|m~ z!NE|h4=E8H^HRViJ*4(maRc|cAX3;viYq_lp#duc!(EIrF5m#k_F=ceOTvsNjER9E zmX(3Q2<9Jfg1vkcuN9!IoL`(-k_z<=mS!cWq;V7bHo1tEfx(#ip?&Bd_1i zXJTO3$jZQAiDCiUQ@j>{YDlo(AfX6deTJ=v4)RA^jPwRB4h9AX5%hBX%yTlV!R{AU z-)o0|FflNAvZLok?GMCRf(Gl8`OH9z3b9I&S`BV_=xe$H1Tq3mb4jE5k#;_=*zz znXF4?_NgKU28I>}bfZ&+@fuCI#w#&Rv`A)PU?^rlADC1UK{lGON#?tfPlT~DFmUpq z_qz9^m;?z`eV5eY5T*sI;WiC>xKZH8)8hxHQZx>b}%-=+#7a;%q3jrp`TfeFnzW?7SmCtCqcaftTP;-<_P*( zxd?-6oCz6BaKI4#G**P+<*q~+4m+9zR|Y~qrxRiP9(PiVho0Jro(6xSo#BWu{=X+F z#zRkZL^mG&d_RQoPCld<4?XP<-FWoV-w?((`;lTi^ei}Za_^aFDcHdTa?U=#MD82zvbgyA!z2^o&>=m~UBpr5mVu!k*{ zkUfM8AM_&-5T>8RW;$U5(GMy>7+4aA>0I<<3(!4}zGE6;nq?9;(@^(Mqnn1ls~2I~ z<78~6!M7M;-Q$aHI{Ic-gy~+XgiXh{wH4ha^vzQUn_RL9+XU)~fcvzNo(`6+ROt4h z@1Q`~w?3bseb{pk`Vw)3k&4CGjD$@5fl092VGG95or=Er8DZ}H5}f8@cOv?dLWEIM dDzO=bEpM=b*Vk1sR55&0XJBxwVq{=o001rCaO?m8 From 260de4099b1c71ce3eb73eb73cea13cf7fe546c7 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Sun, 19 Nov 2017 16:46:47 -0600 Subject: [PATCH 02/57] Fix crash on empty search results --- .../java/com/keepassdroid/GroupBaseActivity.java | 15 ++++++++------- app/src/main/res/layout/group_empty.xml | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/keepassdroid/GroupBaseActivity.java b/app/src/main/java/com/keepassdroid/GroupBaseActivity.java index bf5d66af5..1769d34c9 100644 --- a/app/src/main/java/com/keepassdroid/GroupBaseActivity.java +++ b/app/src/main/java/com/keepassdroid/GroupBaseActivity.java @@ -148,14 +148,15 @@ public abstract class GroupBaseActivity extends LockCloseListActivity { private void ensureCorrectListView(){ mList = (ListView)findViewById(R.id.group_list); - mList.setOnItemClickListener( - new AdapterView.OnItemClickListener() { - public void onItemClick(AdapterView parent, View v, int position, long id) - { - onListItemClick((ListView)parent, v, position, id); + if (mList != null) { + mList.setOnItemClickListener( + new AdapterView.OnItemClickListener() { + public void onItemClick(AdapterView parent, View v, int position, long id) { + onListItemClick((ListView) parent, v, position, id); + } } - } - ); + ); + } } @Override diff --git a/app/src/main/res/layout/group_empty.xml b/app/src/main/res/layout/group_empty.xml index 4fb17194b..9b32be7a4 100644 --- a/app/src/main/res/layout/group_empty.xml +++ b/app/src/main/res/layout/group_empty.xml @@ -24,13 +24,13 @@ android:id="@+id/group_header" android:layout_width="wrap_content" android:layout_height="wrap_content"/> - \ No newline at end of file From c11e17af057ae85aa691e9e7c47a55574c9a7d0d Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Sun, 19 Nov 2017 19:11:16 -0600 Subject: [PATCH 03/57] Remove new APIs from fingerprint helper --- .../compat/KeyGenParameterSpecCompat.java | 72 +++++++++++++++++++ .../compat/KeyguardManagerCompat.java | 53 ++++++++++++++ .../fingerprint/FingerPrintHelper.java | 46 ++++++------ 3 files changed, 145 insertions(+), 26 deletions(-) create mode 100644 app/src/main/java/com/keepassdroid/compat/KeyGenParameterSpecCompat.java create mode 100644 app/src/main/java/com/keepassdroid/compat/KeyguardManagerCompat.java diff --git a/app/src/main/java/com/keepassdroid/compat/KeyGenParameterSpecCompat.java b/app/src/main/java/com/keepassdroid/compat/KeyGenParameterSpecCompat.java new file mode 100644 index 000000000..e2dca8ae4 --- /dev/null +++ b/app/src/main/java/com/keepassdroid/compat/KeyGenParameterSpecCompat.java @@ -0,0 +1,72 @@ +/* + * Copyright 2017 Brian Pellin. + * + * This file is part of KeePassDroid. + * + * KeePassDroid is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * KeePassDroid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with KeePassDroid. If not, see . + * + */ +package com.keepassdroid.compat; + + +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.security.spec.AlgorithmParameterSpec; + +public class KeyGenParameterSpecCompat { + private static Class builder; + private static Constructor buildConst; + private static Method builderBuild; + private static Method setBlockModes; + private static Method setUserAuthReq; + private static Method setEncPad; + + private static boolean available; + + static { + try { + builder = Class.forName("android.security.keystore.KeyGenParameterSpec.Builder"); + buildConst = builder.getConstructor(String.class, int.class); + builderBuild = builder.getMethod("build", (Class [])null); + setBlockModes = builder.getMethod("setBlockModes", String[].class); + setUserAuthReq = builder.getMethod("setUserAuthenticationRequired", new Class []{boolean.class}); + setEncPad = builder.getMethod("setEncryptionPaddings", String[].class); + + + available = true; + } catch (Exception e) { + available = false; + } + } + + public static AlgorithmParameterSpec build(String keystoreAlias, int purpose, String blockMode, + boolean userAuthReq, String encPadding) { + + if (!available) { + return null; + } + + try { + Object inst = buildConst.newInstance(keystoreAlias, purpose); + inst = setBlockModes.invoke(inst, new Object[] {blockMode}); + inst = setUserAuthReq.invoke(inst, userAuthReq); + inst = setEncPad.invoke(inst, new Object[] {encPadding}); + + return (AlgorithmParameterSpec) builderBuild.invoke(inst, null); + + } catch (Exception e) { + return null; + } + } +} diff --git a/app/src/main/java/com/keepassdroid/compat/KeyguardManagerCompat.java b/app/src/main/java/com/keepassdroid/compat/KeyguardManagerCompat.java new file mode 100644 index 000000000..ef4804926 --- /dev/null +++ b/app/src/main/java/com/keepassdroid/compat/KeyguardManagerCompat.java @@ -0,0 +1,53 @@ +/* + * Copyright 2017 Brian Pellin. + * + * This file is part of KeePassDroid. + * + * KeePassDroid is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * KeePassDroid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with KeePassDroid. If not, see . + * + */ +package com.keepassdroid.compat; + +import android.app.KeyguardManager; + +import java.lang.reflect.Method; + +public class KeyguardManagerCompat { + private static Method isKeyguardSecure; + + private static boolean available; + + static { + try { + isKeyguardSecure = KeyguardManager.class.getMethod("isKeyguardSecure", (Class[]) null); + + available = true; + } catch (Exception e) { + available = false; + } + } + + public static boolean isKeyguardSecure(KeyguardManager inst) { + if (!available) { + return false; + } + + try { + return (boolean) isKeyguardSecure.invoke(inst, null); + + } catch (Exception e) { + return false; + } + } +} diff --git a/app/src/main/java/com/keepassdroid/fingerprint/FingerPrintHelper.java b/app/src/main/java/com/keepassdroid/fingerprint/FingerPrintHelper.java index 83b207d0a..503596e83 100644 --- a/app/src/main/java/com/keepassdroid/fingerprint/FingerPrintHelper.java +++ b/app/src/main/java/com/keepassdroid/fingerprint/FingerPrintHelper.java @@ -19,27 +19,28 @@ */ package com.keepassdroid.fingerprint; -import android.annotation.SuppressLint; -import android.annotation.TargetApi; import android.app.KeyguardManager; import android.content.Context; import android.os.Build; import android.support.v4.os.CancellationSignal; -import android.security.keystore.KeyGenParameterSpec; -import android.security.keystore.KeyPermanentlyInvalidatedException; import android.security.keystore.KeyProperties; import android.support.v4.hardware.fingerprint.FingerprintManagerCompat; -import android.util.Base64; import com.keepassdroid.compat.BuildCompat; +import com.keepassdroid.compat.KeyGenParameterSpecCompat; +import com.keepassdroid.compat.KeyguardManagerCompat; +import java.security.InvalidKeyException; import java.security.KeyStore; +import java.security.spec.AlgorithmParameterSpec; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.IvParameterSpec; +import biz.source_code.base64Coder.Base64Coder; + public class FingerPrintHelper { private static final String ALIAS_KEY = "example-key"; @@ -102,7 +103,6 @@ public class FingerPrintHelper { } - @TargetApi(BuildCompat.VERSION_CODE_M) public FingerPrintHelper( final Context context, final FingerPrintCallback fingerPrintCallback) { @@ -156,7 +156,7 @@ public class FingerPrintHelper { stopListening(); startListening(); - } catch (final KeyPermanentlyInvalidatedException invalidKeyException) { + } catch (final InvalidKeyException invalidKeyException) { fingerPrintCallback.onInvalidKeyException(); } catch (final Exception e) { fingerPrintCallback.onException(); @@ -174,11 +174,11 @@ public class FingerPrintHelper { try { // actual do encryption here byte[] encrypted = cipher.doFinal(value.getBytes()); - final String encryptedValue = Base64.encodeToString(encrypted, 0 /* flags */); + final String encryptedValue = new String(Base64Coder.encode(encrypted)); // passes updated iv spec on to callback so this can be stored for decryption final IvParameterSpec spec = cipher.getParameters().getParameterSpec(IvParameterSpec.class); - final String ivSpecValue = Base64.encodeToString(spec.getIV(), Base64.DEFAULT); + final String ivSpecValue = new String(Base64Coder.encode(spec.getIV())); fingerPrintCallback.handleEncryptedResult(encryptedValue, ivSpecValue); } catch (final Exception e) { @@ -201,14 +201,14 @@ public class FingerPrintHelper { final SecretKey key = (SecretKey) keyStore.getKey(ALIAS_KEY, null); // important to restore spec here that was used for decryption - final byte[] iv = Base64.decode(ivSpecValue, Base64.DEFAULT); + final byte[] iv = Base64Coder.decode(ivSpecValue); final IvParameterSpec spec = new IvParameterSpec(iv); cipher.init(Cipher.DECRYPT_MODE, key, spec); stopListening(); startListening(); - } catch (final KeyPermanentlyInvalidatedException invalidKeyException) { + } catch (final InvalidKeyException invalidKeyException) { fingerPrintCallback.onInvalidKeyException(); } catch (final Exception e) { fingerPrintCallback.onException(); @@ -225,7 +225,7 @@ public class FingerPrintHelper { } try { // actual decryption here - final byte[] encrypted = Base64.decode(encryptedValue, 0); + final byte[] encrypted = Base64Coder.decode(encryptedValue); byte[] decrypted = cipher.doFinal(encrypted); final String decryptedString = new String(decrypted); @@ -237,7 +237,6 @@ public class FingerPrintHelper { } } - @SuppressLint("NewApi") private void createNewKeyIfNeeded(final boolean allowDeleteExisting) { if (!isFingerprintInitialized()) { return; @@ -254,17 +253,13 @@ public class FingerPrintHelper { if (!keyStore.containsAlias(ALIAS_KEY)) { // Set the alias of the entry in Android KeyStore where the key will appear // and the constrains (purposes) in the constructor of the Builder - keyGenerator.init( - new KeyGenParameterSpec.Builder( - ALIAS_KEY, - KeyProperties.PURPOSE_ENCRYPT | - KeyProperties.PURPOSE_DECRYPT) - .setBlockModes(KeyProperties.BLOCK_MODE_CBC) - // Require the user to authenticate with a fingerprint to authorize every use - // of the key - .setUserAuthenticationRequired(true) - .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7) - .build()); + AlgorithmParameterSpec algSpec = KeyGenParameterSpecCompat.build(ALIAS_KEY, + KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT, + KeyProperties.BLOCK_MODE_CBC, true, + KeyProperties.ENCRYPTION_PADDING_PKCS7); + + + keyGenerator.init(algSpec); keyGenerator.generateKey(); } } catch (final Exception e) { @@ -278,7 +273,6 @@ public class FingerPrintHelper { && fingerprintManager.isHardwareDetected(); } - @SuppressLint("NewApi") public boolean hasEnrolledFingerprints() { // fingerprint hardware supported and api level OK return isHardwareDetected() @@ -286,7 +280,7 @@ public class FingerPrintHelper { && fingerprintManager != null && fingerprintManager.hasEnrolledFingerprints() // and lockscreen configured - && keyguardManager.isKeyguardSecure(); + && KeyguardManagerCompat.isKeyguardSecure(keyguardManager); } void setInitOk(final boolean initOk) { From de45421b5023ab3f3b441f9598a66a40ecae8e0c Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Sun, 19 Nov 2017 19:27:47 -0600 Subject: [PATCH 04/57] Handle devices with unconfigured fingerprint sensors better --- app/src/main/java/com/keepassdroid/PasswordActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/keepassdroid/PasswordActivity.java b/app/src/main/java/com/keepassdroid/PasswordActivity.java index dad71e379..9058433c9 100644 --- a/app/src/main/java/com/keepassdroid/PasswordActivity.java +++ b/app/src/main/java/com/keepassdroid/PasswordActivity.java @@ -271,7 +271,7 @@ public class PasswordActivity extends LockingActivity implements FingerPrintHelp private void initForFingerprint() { fingerPrintHelper = new FingerPrintHelper(this, this); - if (fingerPrintHelper.isFingerprintSupported()) { + if (fingerPrintHelper.isFingerprintInitialized()) { // when text entered we can enable the logon/purchase button and if required update encryption/decryption mode passwordView.addTextChangedListener(new TextWatcher() { From 780a0cd42d31947111e69d20902691b7458bd737 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Sun, 19 Nov 2017 19:28:52 -0600 Subject: [PATCH 05/57] Version bump --- CHANGELOG | 4 ++++ app/build.gradle | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 5a87d8eb3..e4b6b3663 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +KeePassDroid (2.2.0.3) + * Search crash fix + * Improve fingerprint handling + KeePassDroid (2.2.0.2) * Fix non fingerprint password layout diff --git a/app/build.gradle b/app/build.gradle index 7b67e3424..72743fb8a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { minSdkVersion 4 targetSdkVersion 12 - versionCode = 158 - versionName = "2.2.0.2" + versionCode = 159 + versionName = "2.2.0.3" testApplicationId = "com.keepassdroid.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" From b7aec355a22c47c9378d6a0173d1b4f1710ea7bb Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Sun, 19 Nov 2017 21:09:55 -0600 Subject: [PATCH 06/57] Fingerprint fixes --- app/src/main/java/com/keepassdroid/PasswordActivity.java | 7 ++++--- .../com/keepassdroid/compat/KeyGenParameterSpecCompat.java | 6 +++--- .../com/keepassdroid/fingerprint/FingerPrintHelper.java | 6 ++++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/keepassdroid/PasswordActivity.java b/app/src/main/java/com/keepassdroid/PasswordActivity.java index 9058433c9..060c840bd 100644 --- a/app/src/main/java/com/keepassdroid/PasswordActivity.java +++ b/app/src/main/java/com/keepassdroid/PasswordActivity.java @@ -268,10 +268,9 @@ public class PasswordActivity extends LockingActivity implements FingerPrintHelp } // fingerprint related code here - private void initForFingerprint() { fingerPrintHelper = new FingerPrintHelper(this, this); - if (fingerPrintHelper.isFingerprintInitialized()) { + if (fingerPrintHelper.hasEnrolledFingerprints()) { // when text entered we can enable the logon/purchase button and if required update encryption/decryption mode passwordView.addTextChangedListener(new TextWatcher() { @@ -373,7 +372,9 @@ public class PasswordActivity extends LockingActivity implements FingerPrintHelp break; case Cipher.DECRYPT_MODE: final String ivSpecValue = prefsNoBackup.getString(getPreferenceKeyIvSpec(), null); - fingerPrintHelper.initDecryptData(ivSpecValue); + if (ivSpecValue != null) { + fingerPrintHelper.initDecryptData(ivSpecValue); + } break; } return newMode; diff --git a/app/src/main/java/com/keepassdroid/compat/KeyGenParameterSpecCompat.java b/app/src/main/java/com/keepassdroid/compat/KeyGenParameterSpecCompat.java index e2dca8ae4..8dd2dd033 100644 --- a/app/src/main/java/com/keepassdroid/compat/KeyGenParameterSpecCompat.java +++ b/app/src/main/java/com/keepassdroid/compat/KeyGenParameterSpecCompat.java @@ -36,7 +36,7 @@ public class KeyGenParameterSpecCompat { static { try { - builder = Class.forName("android.security.keystore.KeyGenParameterSpec.Builder"); + builder = Class.forName("android.security.keystore.KeyGenParameterSpec$Builder"); buildConst = builder.getConstructor(String.class, int.class); builderBuild = builder.getMethod("build", (Class [])null); setBlockModes = builder.getMethod("setBlockModes", String[].class); @@ -59,9 +59,9 @@ public class KeyGenParameterSpecCompat { try { Object inst = buildConst.newInstance(keystoreAlias, purpose); - inst = setBlockModes.invoke(inst, new Object[] {blockMode}); + inst = setBlockModes.invoke(inst, new Object[] {new String[] {blockMode}}); inst = setUserAuthReq.invoke(inst, userAuthReq); - inst = setEncPad.invoke(inst, new Object[] {encPadding}); + inst = setEncPad.invoke(inst, new Object[] {new String[] {encPadding}}); return (AlgorithmParameterSpec) builderBuild.invoke(inst, null); diff --git a/app/src/main/java/com/keepassdroid/fingerprint/FingerPrintHelper.java b/app/src/main/java/com/keepassdroid/fingerprint/FingerPrintHelper.java index 503596e83..06701b4c9 100644 --- a/app/src/main/java/com/keepassdroid/fingerprint/FingerPrintHelper.java +++ b/app/src/main/java/com/keepassdroid/fingerprint/FingerPrintHelper.java @@ -142,7 +142,7 @@ public class FingerPrintHelper { public void initEncryptData() { if (!isFingerprintInitialized()) { - if (fingerPrintCallback != null) { + if (fingerPrintCallback != null && hasEnrolledFingerprints()) { fingerPrintCallback.onException(); } return; @@ -166,7 +166,7 @@ public class FingerPrintHelper { public void encryptData(final String value) { if (!isFingerprintInitialized()) { - if (fingerPrintCallback != null) { + if (fingerPrintCallback != null && hasEnrolledFingerprints()) { fingerPrintCallback.onException(); } return; @@ -194,6 +194,8 @@ public class FingerPrintHelper { fingerPrintCallback.onException(false); } return; + } else if (!hasEnrolledFingerprints()) { + return; } try { createNewKeyIfNeeded(false); From 1ece7b1df7d7b67484b87da6a907da65de05c2e4 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Sun, 19 Nov 2017 21:12:38 -0600 Subject: [PATCH 07/57] Version bump --- CHANGELOG | 3 +++ app/build.gradle | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index e4b6b3663..b4c9bbd73 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +KeePassDroid (2.2.0.4) + * Fingerprint fixes + KeePassDroid (2.2.0.3) * Search crash fix * Improve fingerprint handling diff --git a/app/build.gradle b/app/build.gradle index 72743fb8a..01c824939 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { minSdkVersion 4 targetSdkVersion 12 - versionCode = 159 - versionName = "2.2.0.3" + versionCode = 160 + versionName = "2.2.0.4" testApplicationId = "com.keepassdroid.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" From 9ce0a413ad750930bba45f53b4e1604380f92264 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Tue, 21 Nov 2017 20:29:48 -0600 Subject: [PATCH 08/57] Update build file versions --- app/app.iml | 3 +-- build.gradle | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/app.iml b/app/app.iml index d2dc68580..e9ff50e03 100644 --- a/app/app.iml +++ b/app/app.iml @@ -149,7 +149,6 @@ - @@ -166,6 +165,7 @@ + @@ -179,7 +179,6 @@ - diff --git a/build.gradle b/build.gradle index 248fa47e7..42c6530f5 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0' + classpath 'com.android.tools.build:gradle:3.0.1' } } From 2dae805ac0d671a7d25f5262781d0d9b097e8867 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Tue, 21 Nov 2017 20:39:40 -0600 Subject: [PATCH 09/57] Only show fingerprint prompt on devices with fingerprint hardware --- app/src/main/java/com/keepassdroid/PasswordActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/keepassdroid/PasswordActivity.java b/app/src/main/java/com/keepassdroid/PasswordActivity.java index 060c840bd..a348274d8 100644 --- a/app/src/main/java/com/keepassdroid/PasswordActivity.java +++ b/app/src/main/java/com/keepassdroid/PasswordActivity.java @@ -412,7 +412,7 @@ public class PasswordActivity extends LockingActivity implements FingerPrintHelp private void checkAvailability() { // fingerprint not supported (by API level or hardware) so keep option hidden - if (!fingerPrintHelper.isFingerprintSupported()) { + if (!fingerPrintHelper.isHardwareDetected()) { setFingerPrintVisibilty(View.GONE); } // fingerprint is available but not configured show icon but in disabled state with some information From 924db245eca15525ec602fe83444bce2bcfcb036 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Tue, 21 Nov 2017 20:40:55 -0600 Subject: [PATCH 10/57] Make DateFormatter threadsafe --- .../database/PwDatabaseV4XML.java | 21 +++++++++++-------- .../database/load/ImporterV4.java | 2 +- .../database/save/PwDbV4Output.java | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4XML.java b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4XML.java index 58dd5d32c..777b568ce 100644 --- a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4XML.java +++ b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4XML.java @@ -1,5 +1,5 @@ /* - * Copyright 2009-2013 Brian Pellin. + * Copyright 2009-2017 Brian Pellin. * * This file is part of KeePassDroid. * @@ -23,16 +23,8 @@ import android.annotation.SuppressLint; import java.text.SimpleDateFormat; import java.util.TimeZone; -@SuppressLint("SimpleDateFormat") public class PwDatabaseV4XML { - public static final SimpleDateFormat dateFormat; - - static { - dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); - dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); - } - public static final String ElemDocNode = "KeePassFile"; public static final String ElemMeta = "Meta"; public static final String ElemRoot = "Root"; @@ -134,4 +126,15 @@ public class PwDatabaseV4XML { public static final String ElemCustomData = "CustomData"; public static final String ElemStringDictExItem = "Item"; + + public static final ThreadLocal dateFormatter = + new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + SimpleDateFormat dateFormat; + dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + return dateFormat; + } + }; } diff --git a/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java b/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java index cedffb36b..17c144a55 100644 --- a/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java +++ b/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java @@ -932,7 +932,7 @@ public class ImporterV4 extends Importer { } else { try { - utcDate = PwDatabaseV4XML.dateFormat.parse(sDate); + utcDate = PwDatabaseV4XML.dateFormatter.get().parse(sDate); } catch (ParseException e) { // Catch with null test below } diff --git a/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java b/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java index 333ce5522..cda45244b 100644 --- a/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java +++ b/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java @@ -480,7 +480,7 @@ public class PwDbV4Output extends PwDbOutput { private void writeObject(String name, Date value) throws IllegalArgumentException, IllegalStateException, IOException { if (header.version < PwDbHeaderV4.FILE_VERSION_32_4) { - writeObject(name, PwDatabaseV4XML.dateFormat.format(value)); + writeObject(name, PwDatabaseV4XML.dateFormatter.get().format(value)); } else { DateTime dt = new DateTime(value); long seconds = DateUtil.convertDateToKDBX4Time(dt); From e2022183eaebf306bdcf541c3564a4c0f1047a13 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Tue, 21 Nov 2017 20:43:18 -0600 Subject: [PATCH 11/57] Version bump --- CHANGELOG | 4 ++++ app/build.gradle | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index b4c9bbd73..6f8d23faf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +KeePassDroid (2.2.0.5) + * Don't show fingerprint prompt on devices without fingerprint hardware + * Fix dateformat crashes + KeePassDroid (2.2.0.4) * Fingerprint fixes diff --git a/app/build.gradle b/app/build.gradle index 01c824939..5ceebd48f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { minSdkVersion 4 targetSdkVersion 12 - versionCode = 160 - versionName = "2.2.0.4" + versionCode = 161 + versionName = "2.2.0.5" testApplicationId = "com.keepassdroid.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" From eae321d0340b3210d5d8ebf98789bea708f70b54 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Tue, 21 Nov 2017 20:59:07 -0600 Subject: [PATCH 12/57] Add additional ndk abis --- CHANGELOG | 3 +++ app/app.iml | 13 ++----------- app/build.gradle | 9 +++++++-- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 6f8d23faf..49fa07110 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +KeePassDroid (2.2.0.6) + * Add additional ndk ABIs + KeePassDroid (2.2.0.5) * Don't show fingerprint prompt on devices without fingerprint hardware * Fix dateformat crashes diff --git a/app/app.iml b/app/app.iml index e9ff50e03..6414b0af2 100644 --- a/app/app.iml +++ b/app/app.iml @@ -149,36 +149,27 @@ + - - - - - - - - - - - + diff --git a/app/build.gradle b/app/build.gradle index 5ceebd48f..741323b9b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,12 +9,16 @@ android { minSdkVersion 4 targetSdkVersion 12 - versionCode = 161 - versionName = "2.2.0.5" + versionCode = 162 + versionName = "2.2.0.6" testApplicationId = "com.keepassdroid.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" + ndk { + abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', + 'arm64-v8a', 'mips', 'mips64' + } } externalNativeBuild { @@ -23,6 +27,7 @@ android { } } + buildTypes { release { minifyEnabled = false From 3f22bf9e5ca5efd27cd7cd71e29e73c4dccc1657 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Fri, 24 Nov 2017 19:18:06 -0600 Subject: [PATCH 13/57] Updated Hungarian translations. --- CONTRIBUTORS | 2 +- app/src/main/res/values-hu/strings.xml | 332 ++++++++++++++----------- 2 files changed, 183 insertions(+), 151 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 07711c290..6938c3970 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -30,7 +30,7 @@ Matsuu Takuto - Japanese Carlos Schlyter - Portugese (Brazil) YSmhXQDd6Z - Portugese (Portugal) andriykopanytsia - Ukranian -intel - Hungarian +intel, Zoltán Antal - Hungarian H Vanek - Czech jipanos - Spanish Erik Fdevriendt, Erik Jan Meijer - Dutch diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index cdf522df1..2543ec61e 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -1,177 +1,209 @@ + - Visszajelzés: + Visszajelzs: Weboldal: - KeePassDroid a KeePass jelszókezelő android implementációja. + KeePassDroid a KeePass jelszkezel android implementcija. Twitter: - Elfogadás - Bejegyzés hozzáadása - Csoport hozzáadása - Csoport hozzáadása + Elfogads + Bejegyzs hozzadsa + Csoport hozzadsa + Csoport hozzadsa Algoritmus Algoritmus: KeePassDroid - Alkalmazás időkorlátja - Beállíthatja, mennyi idő után kerüljön lezárásra az adatbázis - Alkalmazás - Alkalmazás beállítások - "Ne mutassa többet" - A kdbx fájlok írása jelenleg tesztüzemben működik! A változtatások elmentése előtt mindig készítsen biztonsági mentést az adatbázisáról. - Zárójelek - A fájl kiválasztásához önnek egy nyílt forrású fájlkezelő programra lesz szüksége, kattintson a lenti telepítés linkre. Előfordulhat, hogy első használatakor nem fog megfelelően működni a fájlkezelő program. - Keresési index létrehozása… - Mégsem - Vágólap törölve. - Vágólap hiba - Hiba történt a vágólap használata során. A további részletekért tekintse meg az alábbi oldalt: - Hiba történt a vágólap törlésekor - Vágólap időkorlátja - Beállíthatja, mennyi idő után kerüljön törlésre a vágólap - Felhasználónév másolása a vágólapra - Jelszó másolása a vágólapra - Adatbázis létrehozása… + Alkalmazs idkorltja + Bellthatja, mennyi id utn kerljn lezrsra az adatbzis + Alkalmazs + Alkalmazs belltsok + "Ne mutassa tbbet" + A kdbx fjlok rsa jelenleg tesztzemben mkdik! A vltoztatsok elmentse eltt mindig ksztsen biztonsgi mentst az adatbzisrl. + Zrjelek + A fjl kivlasztshoz nnek egy nylt forrs fjlkezel programra lesz szksge, kattintson a lenti telepts linkre. Elfordulhat, hogy els hasznlatakor nem fog megfelelen mkdni a fjlkezel program. + Keressi index ltrehozsa + Mgsem + Vglap trlve. + Vglap hiba + Hiba trtnt a vglap hasznlata sorn. A tovbbi rszletekrt tekintse meg az albbi oldalt: + Hiba trtnt a vglap trlsekor + Vglap idkorltja + Bellthatja, mennyi id utn kerljn trlsre a vglap + Felhasznlnv msolsa a vglapra + Jelsz msolsa a vglapra + Adatbzis ltrehozsa Jelenlegi csoport: - Jelenlegi csoport: Gyökérkönyvtár - Adatbázis - Adatbázis tartalmának dekódolása… - Bejegyzés dekódolása - Adatbázis beállítása alapértelmezettként - Számok - KeePassDroid Copyright 2009–2012 Brian Pellin. Ehhez a programhoz SEMMILYEN GARANCIA NEM JÁR; Ez egy szabad szoftver, GNU General Public License v2 vagy későbbi verziójának feltételei mellett terjeszthető, illetve módosítható. Fordította: intel - - Adja meg az adatbázis fájlnevét: - Utolsó hozzáférés: - Adja meg a jelszót és/vagy a kulcsfájlt, hogy kinyithassa az adatbázist: - Mégsem - Megjegyzés: - Jelszó megerősítése: - Létrehozva: - Lejárat: - Kulcsfájl (opcionális) - Módosítva: - Jelszó: - Mentés - Név: + Jelenlegi csoport: Gykrknyvtr + Adatbzis + Adatbzis tartalmnak dekdolsa + Bejegyzs dekdolsa + Adatbzis belltsa alaprtelmezettknt + Szmok + KeePassDroid Copyright 20092012 Brian Pellin. Ehhez a programhoz SEMMILYEN GARANCIA NEM JR; Ez egy szabad szoftver, GNU General Public License v2 vagy ksbbi verzijnak felttelei mellett terjeszthet, illetve mdosthat. Fordtotta: Eversmann + + Adja meg az adatbzis fjlnevt: + Utols hozzfrs: + Adja meg a jelszt s/vagy a kulcsfjlt, hogy kinyithassa az adatbzist: + Mgsem + Megjegyzs: + Jelsz megerstse: + Ltrehozva: + Lejrat: + Kulcsfjl (opcionlis) + Mdostva: + Jelsz: + Ments + Nv: URL: - Felhasználónév: - Az ArcFour folyamrejtjel nem támogatott. - Nem található kezelő ehhez az uri-hoz. - Hiba a csoport létrehozásakor. - Nem sikerült létrehozni szülő könyvtárat. - A fájl már létezik. - Nem sikerült meghatározni az adatbázis beállításokat. - Hiba a cím megnyitásakor. - Fájlnév szükséges. - Nem sikerült létrehozni a fájlt: - Érvénytelen adatbázis. - Érvénytelen útvonal. - Egy névre van szükség. - Jelszóra vagy kulcsfájlra van szükség. - A telefon memóriája megtelt az adatbázis feldolgozása közben. Lehet túl sok ez a telefonnak. - Legalább egy jelszógenerálási típust kell választania + Felhasznlnv: + Az ArcFour folyamrejtjel nem tmogatott. + Nem tallhat kezel ehhez az uri-hoz. + Hiba a csoport ltrehozsakor. + Nem sikerlt ltrehozni szl knyvtrat. + A fjl mr ltezik. + Nem sikerlt meghatrozni az adatbzis belltsokat. + Hiba a cm megnyitsakor. + Fjlnv szksges. + Nem sikerlt ltrehozni a fjlt: + rvnytelen adatbzis. + rvnytelen tvonal. + Nv szksges. + Jelszra vagy kulcsfjlra van szksg. + A telefon memrija megtelt az adatbzis feldolgozsa kzben. Lehet tl sok ez a telefonnak. + Legalbb egy jelszgenerlsi tpust kell vlasztania A jelszavak nem egyeznek meg. - A mező csak számokat tartalmazhat. - A menetek száma túl nagy. A maximális 2147483648. - A megnevezés mező kitöltése kötelező. - Cím szükséges. - Írjon be egy pozitív egész számot a hossz mezőbe - Megnevezés - Érték - A fájl nem található. - Fájlkezelő - Jelszó generálás + A mez csak szmokat tartalmazhat. + A menetek szma tl nagy. A maximlis 2147483648. + Az rtk mez kitltse ktelez. + Nv szksges. + rjon be egy pozitv egsz szmot a hossz mezbe + Megnevezs + rtk + A fjl nem tallhat + A fjl nem tallhat. Prblja meg jra megnyitni. + Fjlkezel + Jelsz generls Csoport - megjegyzés - jelszó megerősítése - generált jelszó - Csoportnév - kulcsfájl - hosszúság - jelszó - Jelszó - név + megjegyzs + jelsz megerstse + generlt jelsz + Csoportnv + kulcsfjl + hosszsg + jelsz + Jelsz + nv url - felhasználónév - Letöltés a Google Play-ről - Letöltés az weboldalról - Érvénytelen jelszó vagy kulcsfájl. - Érvénytelen algoritmus. - Az adabázis formátuma nem ismert. - A kulcsfájl nem létezik. - A kulcsfájl üres. + felhasznlnv + Letlts a Google Play-rl + Letlts az weboldalrl + rvnytelen jelsz vagy kulcsfjl. + rvnytelen algoritmus. + Az adabzis formtuma nem ismert. + A kulcsfjl nem ltezik. + A kulcsfjl res. Hossz - Csoportok betűmérete - Beállítja a csoportok betűméretét - Adatbázis betöltése… - Kisbetűk + Csoportok betmrete + Belltja a csoportok betmrett + Adatbzis betltse + Kisbetk ***** - Jelszó elrejtése - Jelszavak elrejtése alapértelmezésben - Névjegy - Mesterkulcs megváltoztatása - Jelszó másolása - Felhasználónév másolása - Létrehozás - Beállítások - Adatbázis beállítások - Törlés - Támogatás - Szerkeszt - Jelszó elrejtése - Weboldal megtekintése - Adatbázis lezárása - Megnyitás - Átnevezés - Keresés - Jelszó megjelenítése - Ugrás az URL-re - Mínusz + Jelsz elrejtse + Jelszavak elrejtse alaprtelmezsben + Nvjegy + Mesterkulcs megvltoztatsa + Jelsz msolsa + Felhasznlnv msolsa + Ltrehozs + Belltsok + Adatbzis belltsok + Trls + Tmogats + Szerkeszts + Jelsz elrejtse + Weboldal megtekintse + Adatbzis lezrsa + Megnyits + tnevezs + Keress + Jelsz megjelentse + Ugrs az URL-re + Mnusz Soha - Nincs bejegyzés az adatbázisban vagy csoportban. - Nincs találat - Nem található kezelő ehhez az url-hez. - Korábbi adatbázis megnyitása (kattintson rá a megnyitáshoz): - Keresési kivételek - A Backup és Lomtár csoportok kihagyása a keresésből - KeePass adatbázis fájlnév: - Adatbázis jelszó megadása - Új adatbázis létrehozása… - Feldolgozás… - Memórián belüli védelem - Jegyezze meg a kulcsfájlok helyét - Kulcsfájl mentése - Eltávolítás + Nincs bejegyzs az adatbzisban vagy csoportban. + Nincs tallat + Nem tallhat kezel ehhez az url-hez. + Korbbi adatbzis megnyitsa (kattintson r a megnyitshoz): + Keressi kivtelek + A Backup s Lomtr csoportok kihagysa a keressbl + KeePass adatbzis fjlnv: + Adatbzis jelsz + j adatbzis ltrehozsa + Feldolgozs + Memrin belli vdelem + Csak olvashat + A programnak nincs engedlye az adatbzis rshoz a jelenlegi helyn, ezrt a megnyitsa utn csak olvashat lesz. + A KitKat-es android verzitl kezdden a fut alkalmazsoknak nincs jogosultsguk rni a kls SD krtyra. + Adatbzis mentse + Jegyezze meg az adatbzisok helyt + Jegyezze meg a kulcsfjlok helyt + Kulcsfjl mentse + Eltvolts Rijndael (AES) - Gyökérkönyvár - Titkosítási menetek száma - A titkosítási menetek számának növelésével extra védelemet kaphat a brute force támadások ellen, ugyanakkor jelentősen lassíthatja az adatbázis betöltését vagy mentését. - Menetek száma - Adatbázis mentése… - Szóköz - Keresés - Jelszó megjelenítése - Rendezés név alapján - Rendezés dátum alapján - Speciális - Bejegyzés cím/leírás - Keresés eredménye + Gykrknyvr + Titkostsi menetek szma + A titkostsi menetek szmnak nvelsvel extra vdelemet kaphat a brute force tmadsok ellen, ugyanakkor jelentsen lassthatja az adatbzis betltst vagy mentst. + Menetek szma + Adatbzis mentse + Szkz + Keress + Jelsz megjelentse + Rendezs nv alapjn + Rendezs dtum alapjn + Specilis + Bejegyzs nv/lers + Keress eredmnye Twofish - Aláhúzás - Nem támogatott adatbázis. - Nagybetűk - A memóriakártya jelenleg csak olvasható. Lehet, hogy nem tudja menteni a módosításokat az adatbázisban. - A memóriakártya jelenleg el van távolítva. Nem fogja tudni az adatbázist betölteni vagy módosítani. - Verzió: + Alhzs + Nem tmogatott adatbzis. + Nagybetk + Hasznlja az Android Storage Access Framework-t a fjlok bngszshez (KitKat vagy ksbbi) + Storage Access Framework + Figyelmeztets + A .kdb formtum csak a Latin1 karakterkszletet tmogatja. A jelenlegi jelsz olyan karaktereket is tartalmazhat, amik ezen kvl esnek. Az sszes ilyen karakter t lesz lesz konvertlva, viszont ez nagyban cskkenteni fogja a jelsz erssgt. Mielbbi megvltoztatsa ajnlott. + A memriakrtya jelenleg csak olvashat. Lehet, hogy nem tudja menteni a mdostsokat az adatbzisban. + A memriakrtya jelenleg el van tvoltva. Nem fogja tudni az adatbzist betlteni vagy mdostani. + Verzi: + Az ujjlenyomat hasznlat nincs mg belltva az eszkzn + Vrakozs az ujjelnyomat megadsra + Titkostott jelsz elmentve + rvnytelen kulcs + rvnytelen ujjlenyomat + Hasznljon ujjlenyomatot a jelsz elmentshez + Nincs mg jelsz belltva ehhez az adatbzishoz - 30 másodperc + 30 msodperc 1 perc 5 perc Soha Kicsi - Közepes + Kzepes Nagy - + \ No newline at end of file From c564253206c8799b4ab999b8b279ac7ff756f78a Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Fri, 24 Nov 2017 19:19:33 -0600 Subject: [PATCH 14/57] Use ACTION_GET_CONTENT when not using the storage access framework --- .../com/keepassdroid/fileselect/FileSelectActivity.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java b/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java index 2a85f97ef..aa1e66867 100644 --- a/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java +++ b/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java @@ -225,11 +225,7 @@ public class FileSelectActivity extends Activity { } else { Intent i; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - i = new Intent(Intent.ACTION_OPEN_DOCUMENT); - } else { - i = new Intent(Intent.ACTION_GET_CONTENT); - } + i = new Intent(Intent.ACTION_GET_CONTENT); i.addCategory(Intent.CATEGORY_OPENABLE); i.setType("*/*"); From da1370e7f52873ec48939adf8510da472f4123c9 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Fri, 24 Nov 2017 20:26:23 -0600 Subject: [PATCH 15/57] Use the correct number of key encryption rounds on KDBX <4 --- app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java | 1 + app/src/main/java/com/keepassdroid/database/PwDbHeaderV4.java | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java index a470191ec..e1e2e29c4 100644 --- a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java +++ b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java @@ -73,6 +73,7 @@ public class PwDatabaseV4 extends PwDatabase { public UUID dataCipher = AesEngine.CIPHER_UUID; public CipherEngine dataEngine = new AesEngine(); public PwCompressionAlgorithm compressionAlgorithm = PwCompressionAlgorithm.Gzip; + // TODO: Refactor me away to get directly from kdfParameters public long numKeyEncRounds = 6000; public Date nameChanged = DEFAULT_NOW; public Date settingsChanged = DEFAULT_NOW; diff --git a/app/src/main/java/com/keepassdroid/database/PwDbHeaderV4.java b/app/src/main/java/com/keepassdroid/database/PwDbHeaderV4.java index eb8eb619e..d7860383e 100644 --- a/app/src/main/java/com/keepassdroid/database/PwDbHeaderV4.java +++ b/app/src/main/java/com/keepassdroid/database/PwDbHeaderV4.java @@ -194,7 +194,9 @@ public class PwDbHeaderV4 extends PwDbHeader { if (!db.kdfParameters.kdfUUID.equals(kdfR.uuid)) { db.kdfParameters = kdfR.getDefaultParameters(); } - db.kdfParameters.setUInt64(AesKdf.ParamRounds, LEDataInputStream.readLong(fieldData, 0)); + long rounds = LEDataInputStream.readLong(fieldData, 0); + db.kdfParameters.setUInt64(AesKdf.ParamRounds, rounds); + db.numKeyEncRounds = rounds; break; case PwDbHeaderV4Fields.EncryptionIV: From c686ff7156634035c92c0decd92bc5250f07a5f3 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Fri, 24 Nov 2017 21:28:23 -0600 Subject: [PATCH 16/57] Fix kdbx4 attachments --- .../java/com/keepassdroid/database/BinaryPool.java | 11 ++++++++++- .../java/com/keepassdroid/database/PwDatabaseV4.java | 3 ++- .../java/com/keepassdroid/database/PwDbHeaderV4.java | 1 - .../com/keepassdroid/database/load/ImporterV4.java | 9 +++++---- .../database/save/PwDbInnerHeaderOutputV4.java | 2 +- .../com/keepassdroid/database/save/PwDbV4Output.java | 8 +++----- 6 files changed, 21 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/keepassdroid/database/BinaryPool.java b/app/src/main/java/com/keepassdroid/database/BinaryPool.java index f3aab22c6..6cd332cdd 100644 --- a/app/src/main/java/com/keepassdroid/database/BinaryPool.java +++ b/app/src/main/java/com/keepassdroid/database/BinaryPool.java @@ -19,6 +19,7 @@ */ package com.keepassdroid.database; +import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; @@ -49,6 +50,14 @@ public class BinaryPool { public Set> entrySet() { return pool.entrySet(); } + + public void clear() { + pool.clear(); + } + + public Collection binaries() { + return pool.values(); + } private class AddBinaries extends EntryHandler { @@ -72,7 +81,7 @@ public class BinaryPool { } - private void poolAdd(ProtectedBinary pb) { + public void poolAdd(ProtectedBinary pb) { assert(pb != null); if (poolFind(pb) != -1) return; diff --git a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java index e1e2e29c4..06669ed0b 100644 --- a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java +++ b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java @@ -104,7 +104,8 @@ public class PwDatabaseV4 extends PwDatabase { public Map customData = new HashMap(); public KdfParameters kdfParameters = KdfFactory.getDefaultParameters(); public VariantDictionary publicCustomData = new VariantDictionary(); - + public BinaryPool binPool = new BinaryPool(); + public String localizedAppName = "KeePassDroid"; public class MemoryProtectionConfig { diff --git a/app/src/main/java/com/keepassdroid/database/PwDbHeaderV4.java b/app/src/main/java/com/keepassdroid/database/PwDbHeaderV4.java index d7860383e..0b67a3b2c 100644 --- a/app/src/main/java/com/keepassdroid/database/PwDbHeaderV4.java +++ b/app/src/main/java/com/keepassdroid/database/PwDbHeaderV4.java @@ -95,7 +95,6 @@ public class PwDbHeaderV4 extends PwDbHeader { public byte[] streamStartBytes = new byte[32]; public CrsAlgorithm innerRandomStream; public long version; - public List binaries = new ArrayList(); public PwDbHeaderV4(PwDatabaseV4 d) { db = d; diff --git a/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java b/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java index 17c144a55..03991f5b2 100644 --- a/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java +++ b/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java @@ -78,11 +78,11 @@ public class ImporterV4 extends Importer { private StreamCipher randomStream; private PwDatabaseV4 db; - private BinaryPool binPool = new BinaryPool(); private byte[] hashOfHeader = null; private byte[] pbHeader = null; private long version; + private int binNum = 0; Calendar utcCal; public ImporterV4() { @@ -109,7 +109,7 @@ public class ImporterV4 extends Importer { db = createDB(); PwDbHeaderV4 header = new PwDbHeaderV4(db); - header.binaries.clear(); + db.binPool.clear(); PwDbHeaderV4.HeaderAndHash hh = header.loadFromFile(inStream); version = header.version; @@ -253,6 +253,7 @@ public class ImporterV4 extends Importer { byte[] bin = new byte[data.length - 1]; System.arraycopy(data, 1, bin, 0, data.length-1); ProtectedBinary pb = new ProtectedBinary(prot, bin); + db.binPool.poolAdd(pb); if (prot) { Arrays.fill(data, (byte)0); @@ -511,7 +512,7 @@ public class ImporterV4 extends Importer { if ( key != null ) { ProtectedBinary pbData = ReadProtectedBinary(xpp); int id = Integer.parseInt(key); - binPool.put(id, pbData); + db.binPool.put(id, pbData); } else { ReadUnknown(xpp); } @@ -1061,7 +1062,7 @@ public class ImporterV4 extends Importer { xpp.next(); // Consume end tag int id = Integer.parseInt(ref); - return binPool.get(id); + return db.binPool.get(id); } boolean compressed = false; diff --git a/app/src/main/java/com/keepassdroid/database/save/PwDbInnerHeaderOutputV4.java b/app/src/main/java/com/keepassdroid/database/save/PwDbInnerHeaderOutputV4.java index 19a90b608..a5bc78d83 100644 --- a/app/src/main/java/com/keepassdroid/database/save/PwDbInnerHeaderOutputV4.java +++ b/app/src/main/java/com/keepassdroid/database/save/PwDbInnerHeaderOutputV4.java @@ -52,7 +52,7 @@ public class PwDbInnerHeaderOutputV4 { los.writeInt(streamKeySize); los.write(header.innerRandomStreamKey); - for (ProtectedBinary bin : header.binaries) { + for (ProtectedBinary bin : db.binPool.binaries()) { byte flag = KdbxBinaryFlags.None; if (bin.isProtected()) { flag |= KdbxBinaryFlags.Protected; diff --git a/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java b/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java index cda45244b..a39667ad2 100644 --- a/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java +++ b/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java @@ -82,7 +82,6 @@ public class PwDbV4Output extends PwDbOutput { PwDatabaseV4 mPM; private StreamCipher randomStream; - private BinaryPool binPool; private XmlSerializer xml; private PwDbHeaderV4 header; private byte[] hashOfHeader; @@ -201,8 +200,7 @@ public class PwDbV4Output extends PwDbOutput { } private void outputDatabase(OutputStream os) throws IllegalArgumentException, IllegalStateException, IOException { - binPool = new BinaryPool((PwGroupV4)mPM.rootGroup); - + xml = Xml.newSerializer(); xml.setOutput(os, "UTF-8"); @@ -420,7 +418,7 @@ public class PwDbV4Output extends PwDbOutput { xml.startTag(null, ElemValue); String strRef = null; if (allowRef) { - int ref = binPool.poolFind(value); + int ref = mPM.binPool.poolFind(value); strRef = Integer.toString(ref); } @@ -720,7 +718,7 @@ public class PwDbV4Output extends PwDbOutput { private void writeBinPool() throws IllegalArgumentException, IllegalStateException, IOException { xml.startTag(null, ElemBinaries); - for (Entry pair : binPool.entrySet()) { + for (Entry pair : mPM.binPool.entrySet()) { xml.startTag(null, ElemBinary); xml.attribute(null, AttrId, Integer.toString(pair.getKey())); From b4f9e06bd69eda2cbb8729c05d2665970f8eb3d6 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Fri, 24 Nov 2017 21:33:28 -0600 Subject: [PATCH 17/57] Version bump --- app/app.iml | 10 ++++++++++ app/build.gradle | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/app.iml b/app/app.iml index 6414b0af2..d2dc68580 100644 --- a/app/app.iml +++ b/app/app.iml @@ -152,18 +152,28 @@ + + + + + + + + + + diff --git a/app/build.gradle b/app/build.gradle index 741323b9b..2f20bbcd3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { minSdkVersion 4 targetSdkVersion 12 - versionCode = 162 - versionName = "2.2.0.6" + versionCode = 163 + versionName = "2.2.0.7" testApplicationId = "com.keepassdroid.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" From 0add3c76c8b013cd212e6463c978c9196c99f335 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Sat, 25 Nov 2017 23:37:15 -0600 Subject: [PATCH 18/57] Add rounds corruption fix mode. --- .../main/java/com/keepassdroid/Database.java | 34 ++++++++++- .../keepassdroid/database/PwDatabaseV4.java | 13 +++- .../keepassdroid/database/load/Importer.java | 4 +- .../database/load/ImporterV3.java | 6 +- .../database/load/ImporterV3Debug.java | 7 ++- .../database/load/ImporterV4.java | 11 ++-- .../database/load/ImporterV4Debug.java | 7 ++- .../settings/LongEditTextPreference.java | 59 +++++++++++++++++++ app/src/main/res/values/donottranslate.xml | 4 +- app/src/main/res/values/strings.xml | 4 +- app/src/main/res/xml/preferences.xml | 7 ++- 11 files changed, 132 insertions(+), 24 deletions(-) create mode 100644 app/src/main/java/com/keepassdroid/settings/LongEditTextPreference.java diff --git a/app/src/main/java/com/keepassdroid/Database.java b/app/src/main/java/com/keepassdroid/Database.java index 8b311e036..a61acd7cb 100644 --- a/app/src/main/java/com/keepassdroid/Database.java +++ b/app/src/main/java/com/keepassdroid/Database.java @@ -1,5 +1,5 @@ /* - * Copyright 2009-2015 Brian Pellin. + * Copyright 2009-2017 Brian Pellin. * * This file is part of KeePassDroid. * @@ -33,14 +33,18 @@ import java.util.Set; import android.content.ContentResolver; import android.content.Context; +import android.content.SharedPreferences; import android.net.Uri; +import android.preference.PreferenceManager; import android.util.Log; +import com.android.keepass.R; import com.keepassdroid.database.PwDatabase; import com.keepassdroid.database.PwDatabaseV3; import com.keepassdroid.database.PwGroup; import com.keepassdroid.database.exception.ContentFileNotFoundException; import com.keepassdroid.database.exception.InvalidDBException; +import com.keepassdroid.database.exception.InvalidPasswordException; import com.keepassdroid.database.exception.PwDbOutputException; import com.keepassdroid.database.load.Importer; import com.keepassdroid.database.load.ImporterFactory; @@ -92,6 +96,26 @@ public class Database { readOnly = !file.canWrite(); } + try { + passUrisAsInputStreams(ctx, uri, password, keyfile, status, debug, 0); + } catch (InvalidPasswordException e) { + // Retry with rounds fix + try { + passUrisAsInputStreams(ctx, uri, password, keyfile, status, debug, getFixRounds(ctx)); + } catch (Exception e2) { + // Rethrow original exception + throw e; + } + } + } + + private long getFixRounds(Context ctx) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); + return prefs.getLong(ctx.getString(R.string.roundsFix_key), ctx.getResources().getInteger(R.integer.roundsFix_default)); + } + + + private void passUrisAsInputStreams(Context ctx, Uri uri, String password, Uri keyfile, UpdateStatus status, boolean debug, long roundsFix) throws IOException, FileNotFoundException, InvalidDBException { InputStream is, kfIs; try { is = UriUtil.getUriInputStream(ctx, uri); @@ -106,7 +130,7 @@ public class Database { Log.e("KPD", "Database::LoadData", e); throw ContentFileNotFoundException.getInstance(keyfile); } - LoadData(ctx, is, password, kfIs, status, debug); + LoadData(ctx, is, password, kfIs, status, debug, roundsFix); } public void LoadData(Context ctx, InputStream is, String password, InputStream kfIs, boolean debug) throws IOException, InvalidDBException { @@ -114,6 +138,10 @@ public class Database { } public void LoadData(Context ctx, InputStream is, String password, InputStream kfIs, UpdateStatus status, boolean debug) throws IOException, InvalidDBException { + LoadData(ctx, is, password, kfIs, status, debug, 0); + } + + public void LoadData(Context ctx, InputStream is, String password, InputStream kfIs, UpdateStatus status, boolean debug, long roundsFix) throws IOException, InvalidDBException { BufferedInputStream bis = new BufferedInputStream(is); if ( ! bis.markSupported() ) { @@ -127,7 +155,7 @@ public class Database { bis.reset(); // Return to the start - pm = imp.openDatabase(bis, password, kfIs, status); + pm = imp.openDatabase(bis, password, kfIs, status, roundsFix); if ( pm != null ) { PwGroup root = pm.rootGroup; pm.populateGlobals(root); diff --git a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java index 06669ed0b..9ab8f42f0 100644 --- a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java +++ b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java @@ -177,13 +177,24 @@ public class PwDatabaseV4 extends PwDatabase { Arrays.fill(cmpKey, (byte)0); } } - public void makeFinalKey(byte[] masterSeed, KdfParameters kdfP) throws IOException { + makeFinalKey(masterSeed, kdfP, 0); + } + + public void makeFinalKey(byte[] masterSeed, KdfParameters kdfP, long roundsFix) + throws IOException { KdfEngine kdfEngine = KdfFactory.get(kdfP.kdfUUID); if (kdfEngine == null) { throw new IOException("Unknown key derivation function"); } + + // Set to 6000 rounds to open corrupted database + if (roundsFix > 0 && kdfP.kdfUUID.equals(AesKdf.CIPHER_UUID)) { + kdfP.setUInt32(AesKdf.ParamRounds, roundsFix); + numKeyEncRounds = roundsFix; + } + byte[] transformedMasterKey = kdfEngine.transform(masterKey, kdfP); if (transformedMasterKey.length != 32) { transformedMasterKey = CryptoUtil.hashSha256(transformedMasterKey); diff --git a/app/src/main/java/com/keepassdroid/database/load/Importer.java b/app/src/main/java/com/keepassdroid/database/load/Importer.java index da0797ef1..e3bb53fec 100644 --- a/app/src/main/java/com/keepassdroid/database/load/Importer.java +++ b/app/src/main/java/com/keepassdroid/database/load/Importer.java @@ -1,5 +1,5 @@ /* - * Copyright 2009-2016 Brian Pellin. + * Copyright 2009-2017 Brian Pellin. * * This file is part of KeePassDroid. * @@ -33,7 +33,7 @@ public abstract class Importer { public abstract PwDatabase openDatabase( InputStream inStream, String password, InputStream keyInputStream) throws IOException, InvalidDBException; - public abstract PwDatabase openDatabase( InputStream inStream, String password, InputStream keyInputStream, UpdateStatus status ) + public abstract PwDatabase openDatabase( InputStream inStream, String password, InputStream keyInputStream, UpdateStatus status, long roundsFix) throws IOException, InvalidDBException; diff --git a/app/src/main/java/com/keepassdroid/database/load/ImporterV3.java b/app/src/main/java/com/keepassdroid/database/load/ImporterV3.java index b86c409d0..e4b6ca87f 100644 --- a/app/src/main/java/com/keepassdroid/database/load/ImporterV3.java +++ b/app/src/main/java/com/keepassdroid/database/load/ImporterV3.java @@ -1,5 +1,5 @@ /* - * Copyright 2009-2016 Brian Pellin. + * Copyright 2009-2017 Brian Pellin. * * This file is part of KeePassDroid. * @@ -125,10 +125,10 @@ public class ImporterV3 extends Importer { public PwDatabaseV3 openDatabase( InputStream inStream, String password, InputStream kfIs) throws IOException, InvalidDBException { - return openDatabase(inStream, password, kfIs, new UpdateStatus()); + return openDatabase(inStream, password, kfIs, new UpdateStatus(), 0); } - public PwDatabaseV3 openDatabase( InputStream inStream, String password, InputStream kfIs, UpdateStatus status ) + public PwDatabaseV3 openDatabase( InputStream inStream, String password, InputStream kfIs, UpdateStatus status, long roundsFix) throws IOException, InvalidDBException { PwDatabaseV3 newManager; diff --git a/app/src/main/java/com/keepassdroid/database/load/ImporterV3Debug.java b/app/src/main/java/com/keepassdroid/database/load/ImporterV3Debug.java index 09f41485d..1bce98e22 100644 --- a/app/src/main/java/com/keepassdroid/database/load/ImporterV3Debug.java +++ b/app/src/main/java/com/keepassdroid/database/load/ImporterV3Debug.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 Brian Pellin. + * Copyright 2011-2017 Brian Pellin. * * This file is part of KeePassDroid. * @@ -35,9 +35,10 @@ public class ImporterV3Debug extends ImporterV3 { @Override public PwDatabaseV3Debug openDatabase(InputStream inStream, String password, - InputStream keyInputStream, UpdateStatus status) throws IOException, + InputStream keyInputStream, UpdateStatus status, long roundsFix) throws IOException, InvalidDBException { - return (PwDatabaseV3Debug) super.openDatabase(inStream, password, keyInputStream, status); + return (PwDatabaseV3Debug) super.openDatabase(inStream, password, keyInputStream, status, + roundsFix); } diff --git a/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java b/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java index 03991f5b2..162aab181 100644 --- a/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java +++ b/app/src/main/java/com/keepassdroid/database/load/ImporterV4.java @@ -98,14 +98,13 @@ public class ImporterV4 extends Importer { public PwDatabaseV4 openDatabase(InputStream inStream, String password, InputStream keyInputStream) throws IOException, InvalidDBException { - return openDatabase(inStream, password, keyInputStream, new UpdateStatus()); + return openDatabase(inStream, password, keyInputStream, new UpdateStatus(), 0); } @Override - public PwDatabaseV4 openDatabase(InputStream inStream, String password, - InputStream keyInputStream, UpdateStatus status) throws IOException, - InvalidDBException { - + public PwDatabaseV4 openDatabase(InputStream inStream, String password, + InputStream keyInputStream, UpdateStatus status, long roundsFix) throws IOException, + InvalidDBException { db = createDB(); PwDbHeaderV4 header = new PwDbHeaderV4(db); @@ -118,7 +117,7 @@ public class ImporterV4 extends Importer { pbHeader = hh.header; db.setMasterKey(password, keyInputStream); - db.makeFinalKey(header.masterSeed, db.kdfParameters); + db.makeFinalKey(header.masterSeed, db.kdfParameters, roundsFix); CipherEngine engine; Cipher cipher; diff --git a/app/src/main/java/com/keepassdroid/database/load/ImporterV4Debug.java b/app/src/main/java/com/keepassdroid/database/load/ImporterV4Debug.java index 9943d60fd..32447d42b 100644 --- a/app/src/main/java/com/keepassdroid/database/load/ImporterV4Debug.java +++ b/app/src/main/java/com/keepassdroid/database/load/ImporterV4Debug.java @@ -1,5 +1,5 @@ /* - * Copyright 2011-2016 Brian Pellin. + * Copyright 2011-2017 Brian Pellin. * * This file is part of KeePassDroid. * @@ -35,9 +35,10 @@ public class ImporterV4Debug extends ImporterV4 { @Override public PwDatabaseV4Debug openDatabase(InputStream inStream, String password, - InputStream keyInputFile, UpdateStatus status) throws IOException, + InputStream keyInputFile, UpdateStatus status, long roundsFix) throws IOException, InvalidDBException { - return (PwDatabaseV4Debug) super.openDatabase(inStream, password, keyInputFile, status); + return (PwDatabaseV4Debug) super.openDatabase(inStream, password, keyInputFile, status, + roundsFix); } } diff --git a/app/src/main/java/com/keepassdroid/settings/LongEditTextPreference.java b/app/src/main/java/com/keepassdroid/settings/LongEditTextPreference.java new file mode 100644 index 000000000..9ee1a8a6f --- /dev/null +++ b/app/src/main/java/com/keepassdroid/settings/LongEditTextPreference.java @@ -0,0 +1,59 @@ +/* + * Copyright 2017 Brian Pellin. + * + * This file is part of KeePassDroid. + * + * KeePassDroid is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * KeePassDroid is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with KeePassDroid. If not, see . + * + */ +package com.keepassdroid.settings; + + +import android.content.Context; +import android.preference.EditTextPreference; +import android.util.AttributeSet; +import android.widget.Toast; + +import com.android.keepass.R; + +public class LongEditTextPreference extends EditTextPreference { + + public LongEditTextPreference(Context context) { + super(context); + } + + public LongEditTextPreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public LongEditTextPreference(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + @Override + protected String getPersistedString(String defaultReturnValue) { + return String.valueOf(getPersistedLong(-1)); + } + + @Override + protected boolean persistString(String value) { + try { + return persistLong(Long.valueOf(value)); + } catch (NumberFormatException e) { + Toast.makeText(getContext(), R.string.error_rounds_not_number, Toast.LENGTH_LONG).show(); + } + + return false; + } +} \ No newline at end of file diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index 373c835ad..9435e2129 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -1,6 +1,6 @@ - Visszajelzs: + Visszajelzés: Weboldal: - KeePassDroid a KeePass jelszkezel android implementcija. + KeePassDroid a KeePass jelszókezelő android implementációja. Twitter: - Elfogads - Bejegyzs hozzadsa - Csoport hozzadsa - Csoport hozzadsa + Elfogadás + Bejegyzés hozzáadása + Csoport hozzáadása + Csoport hozzáadása Algoritmus Algoritmus: KeePassDroid - Alkalmazs idkorltja - Bellthatja, mennyi id utn kerljn lezrsra az adatbzis - Alkalmazs - Alkalmazs belltsok - "Ne mutassa tbbet" - A kdbx fjlok rsa jelenleg tesztzemben mkdik! A vltoztatsok elmentse eltt mindig ksztsen biztonsgi mentst az adatbzisrl. - Zrjelek - A fjl kivlasztshoz nnek egy nylt forrs fjlkezel programra lesz szksge, kattintson a lenti telepts linkre. Elfordulhat, hogy els hasznlatakor nem fog megfelelen mkdni a fjlkezel program. - Keressi index ltrehozsa - Mgsem - Vglap trlve. - Vglap hiba - Hiba trtnt a vglap hasznlata sorn. A tovbbi rszletekrt tekintse meg az albbi oldalt: - Hiba trtnt a vglap trlsekor - Vglap idkorltja - Bellthatja, mennyi id utn kerljn trlsre a vglap - Felhasznlnv msolsa a vglapra - Jelsz msolsa a vglapra - Adatbzis ltrehozsa + Alkalmazás időkorlátja + Beállíthatja, mennyi idő után kerüljön lezárásra az adatbázis + Alkalmazás + Alkalmazás beállítások + "Ne mutassa többet" + A kdbx fájlok írása jelenleg tesztüzemben működik! A változtatások elmentése előtt mindig készítsen biztonsági mentést az adatbázisáról. + Zárójelek + A fájl kiválasztásához önnek egy nyílt forrású fájlkezelő programra lesz szüksége, kattintson a lenti telepítés linkre. Előfordulhat, hogy első használatakor nem fog megfelelően működni a fájlkezelő program. + Keresési index létrehozása… + Mégsem + Vágólap törölve. + Vágólap hiba + Hiba történt a vágólap használata során. A további részletekért tekintse meg az alábbi oldalt: + Hiba történt a vágólap törlésekor + Vágólap időkorlátja + Beállíthatja, mennyi idő után kerüljön törlésre a vágólap + Felhasználónév másolása a vágólapra + Jelszó másolása a vágólapra + Adatbázis létrehozása… Jelenlegi csoport: - Jelenlegi csoport: Gykrknyvtr - Adatbzis - Adatbzis tartalmnak dekdolsa - Bejegyzs dekdolsa - Adatbzis belltsa alaprtelmezettknt - Szmok - KeePassDroid Copyright 20092012 Brian Pellin. Ehhez a programhoz SEMMILYEN GARANCIA NEM JR; Ez egy szabad szoftver, GNU General Public License v2 vagy ksbbi verzijnak felttelei mellett terjeszthet, illetve mdosthat. Fordtotta: Eversmann - - Adja meg az adatbzis fjlnevt: - Utols hozzfrs: - Adja meg a jelszt s/vagy a kulcsfjlt, hogy kinyithassa az adatbzist: - Mgsem - Megjegyzs: - Jelsz megerstse: - Ltrehozva: - Lejrat: - Kulcsfjl (opcionlis) - Mdostva: - Jelsz: - Ments - Nv: + Jelenlegi csoport: Gyökérkönyvtár + Adatbázis + Adatbázis tartalmának dekódolása… + Bejegyzés dekódolása + Adatbázis beállítása alapértelmezettként + Számok + KeePassDroid Copyright 2009–2012 Brian Pellin. Ehhez a programhoz SEMMILYEN GARANCIA NEM JÁR; Ez egy szabad szoftver, GNU General Public License v2 vagy későbbi verziójának feltételei mellett terjeszthető, illetve módosítható. Fordította: Eversmann + + Adja meg az adatbázis fájlnevét: + Utolsó hozzáférés: + Adja meg a jelszót és/vagy a kulcsfájlt, hogy kinyithassa az adatbázist: + Mégsem + Megjegyzés: + Jelszó megerősítése: + Létrehozva: + Lejárat: + Kulcsfájl (opcionális) + Módosítva: + Jelszó: + Mentés + Név: URL: - Felhasznlnv: - Az ArcFour folyamrejtjel nem tmogatott. - Nem tallhat kezel ehhez az uri-hoz. - Hiba a csoport ltrehozsakor. - Nem sikerlt ltrehozni szl knyvtrat. - A fjl mr ltezik. - Nem sikerlt meghatrozni az adatbzis belltsokat. - Hiba a cm megnyitsakor. - Fjlnv szksges. - Nem sikerlt ltrehozni a fjlt: - rvnytelen adatbzis. - rvnytelen tvonal. - Nv szksges. - Jelszra vagy kulcsfjlra van szksg. - A telefon memrija megtelt az adatbzis feldolgozsa kzben. Lehet tl sok ez a telefonnak. - Legalbb egy jelszgenerlsi tpust kell vlasztania + Felhasználónév: + Az ArcFour folyamrejtjel nem támogatott. + Nem található kezelő ehhez az uri-hoz. + Hiba a csoport létrehozásakor. + Nem sikerült létrehozni szülő könyvtárat. + A fájl már létezik. + Nem sikerült meghatározni az adatbázis beállításokat. + Hiba a cím megnyitásakor. + Fájlnév szükséges. + Nem sikerült létrehozni a fájlt: + Érvénytelen adatbázis. + Érvénytelen útvonal. + Név szükséges. + Jelszóra vagy kulcsfájlra van szükség. + A telefon memóriája megtelt az adatbázis feldolgozása közben. Lehet túl sok ez a telefonnak. + Legalább egy jelszógenerálási típust kell választania A jelszavak nem egyeznek meg. - A mez csak szmokat tartalmazhat. - A menetek szma tl nagy. A maximlis 2147483648. - Az rtk mez kitltse ktelez. - Nv szksges. - rjon be egy pozitv egsz szmot a hossz mezbe - Megnevezs - rtk - A fjl nem tallhat - A fjl nem tallhat. Prblja meg jra megnyitni. - Fjlkezel - Jelsz generls + A mező csak számokat tartalmazhat. + A menetek száma túl nagy. A maximális 2147483648. + Az érték mező kitöltése kötelező. + Név szükséges. + Írjon be egy pozitív egész számot a hossz mezőbe + Megnevezés + Érték + A fájl nem található + A fájl nem található. Próbálja meg újra megnyitni. + Fájlkezelő + Jelszó generálás Csoport - megjegyzs - jelsz megerstse - generlt jelsz - Csoportnv - kulcsfjl - hosszsg - jelsz - Jelsz - nv + megjegyzés + jelszó megerősítése + generált jelszó + Csoportnév + kulcsfájl + hosszúság + jelszó + Jelszó + név url - felhasznlnv - Letlts a Google Play-rl - Letlts az weboldalrl - rvnytelen jelsz vagy kulcsfjl. - rvnytelen algoritmus. - Az adabzis formtuma nem ismert. - A kulcsfjl nem ltezik. - A kulcsfjl res. + felhasználónév + Letöltés a Google Play-ről + Letöltés az weboldalról + Érvénytelen jelszó vagy kulcsfájl. + Érvénytelen algoritmus. + Az adabázis formátuma nem ismert. + A kulcsfájl nem létezik. + A kulcsfájl üres. Hossz - Csoportok betmrete - Belltja a csoportok betmrett - Adatbzis betltse - Kisbetk + Csoportok betűmérete + Beállítja a csoportok betűméretét + Adatbázis betöltése… + Kisbetűk ***** - Jelsz elrejtse - Jelszavak elrejtse alaprtelmezsben - Nvjegy - Mesterkulcs megvltoztatsa - Jelsz msolsa - Felhasznlnv msolsa - Ltrehozs - Belltsok - Adatbzis belltsok - Trls - Tmogats - Szerkeszts - Jelsz elrejtse - Weboldal megtekintse - Adatbzis lezrsa - Megnyits - tnevezs - Keress - Jelsz megjelentse - Ugrs az URL-re - Mnusz + Jelszó elrejtése + Jelszavak elrejtése alapértelmezésben + Névjegy + Mesterkulcs megváltoztatása + Jelszó másolása + Felhasználónév másolása + Létrehozás + Beállítások + Adatbázis beállítások + Törlés + Támogatás + Szerkesztés + Jelszó elrejtése + Weboldal megtekintése + Adatbázis lezárása + Megnyitás + Átnevezés + Keresés + Jelszó megjelenítése + Ugrás az URL-re + Mínusz Soha - Nincs bejegyzs az adatbzisban vagy csoportban. - Nincs tallat - Nem tallhat kezel ehhez az url-hez. - Korbbi adatbzis megnyitsa (kattintson r a megnyitshoz): - Keressi kivtelek - A Backup s Lomtr csoportok kihagysa a keressbl - KeePass adatbzis fjlnv: - Adatbzis jelsz - j adatbzis ltrehozsa - Feldolgozs - Memrin belli vdelem - Csak olvashat - A programnak nincs engedlye az adatbzis rshoz a jelenlegi helyn, ezrt a megnyitsa utn csak olvashat lesz. - A KitKat-es android verzitl kezdden a fut alkalmazsoknak nincs jogosultsguk rni a kls SD krtyra. - Adatbzis mentse - Jegyezze meg az adatbzisok helyt - Jegyezze meg a kulcsfjlok helyt - Kulcsfjl mentse - Eltvolts + Nincs bejegyzés az adatbázisban vagy csoportban. + Nincs találat + Nem található kezelő ehhez az url-hez. + Korábbi adatbázis megnyitása (kattintson rá a megnyitáshoz): + Keresési kivételek + A Backup és Lomtár csoportok kihagyása a keresésből + KeePass adatbázis fájlnév: + Adatbázis jelszó + Új adatbázis létrehozása… + Feldolgozás… + Memórián belüli védelem + Csak olvasható + A programnak nincs engedélye az adatbázis írásához a jelenlegi helyén, ezért a megnyitása után csak olvasható lesz. + A KitKat-es android verziótól kezdődően a futó alkalmazásoknak nincs jogosultságuk írni a külső SD kártyára. + Adatbázis mentése + Jegyezze meg az adatbázisok helyét + Jegyezze meg a kulcsfájlok helyét + Kulcsfájl mentése + Eltávolítás Rijndael (AES) - Gykrknyvr - Titkostsi menetek szma - A titkostsi menetek szmnak nvelsvel extra vdelemet kaphat a brute force tmadsok ellen, ugyanakkor jelentsen lassthatja az adatbzis betltst vagy mentst. - Menetek szma - Adatbzis mentse - Szkz - Keress - Jelsz megjelentse - Rendezs nv alapjn - Rendezs dtum alapjn - Specilis - Bejegyzs nv/lers - Keress eredmnye + Gyökérkönyvár + Titkosítási menetek száma + A titkosítási menetek számának növelésével extra védelemet kaphat a brute force támadások ellen, ugyanakkor jelentősen lassíthatja az adatbázis betöltését vagy mentését. + Menetek száma + Adatbázis mentése… + Szóköz + Keresés + Jelszó megjelenítése + Rendezés név alapján + Rendezés dátum alapján + Speciális + Bejegyzés név/leírás + Keresés eredménye Twofish - Alhzs - Nem tmogatott adatbzis. - Nagybetk - Hasznlja az Android Storage Access Framework-t a fjlok bngszshez (KitKat vagy ksbbi) + Aláhúzás + Nem támogatott adatbázis. + Nagybetűk + Használja az Android Storage Access Framework-öt a fájlok böngészéséhez (KitKat vagy későbbi) Storage Access Framework - Figyelmeztets - A .kdb formtum csak a Latin1 karakterkszletet tmogatja. A jelenlegi jelsz olyan karaktereket is tartalmazhat, amik ezen kvl esnek. Az sszes ilyen karakter t lesz lesz konvertlva, viszont ez nagyban cskkenteni fogja a jelsz erssgt. Mielbbi megvltoztatsa ajnlott. - A memriakrtya jelenleg csak olvashat. Lehet, hogy nem tudja menteni a mdostsokat az adatbzisban. - A memriakrtya jelenleg el van tvoltva. Nem fogja tudni az adatbzist betlteni vagy mdostani. - Verzi: - Az ujjlenyomat hasznlat nincs mg belltva az eszkzn - Vrakozs az ujjelnyomat megadsra - Titkostott jelsz elmentve - rvnytelen kulcs - rvnytelen ujjlenyomat - Hasznljon ujjlenyomatot a jelsz elmentshez - Nincs mg jelsz belltva ehhez az adatbzishoz + Figyelmeztetés + A .kdb formátum csak a Latin1 karakterkészletet támogatja. A jelenlegi jelszó olyan karaktereket is tartalmazhat, amik ezen kívül esnek. Az összes ilyen karakter át lesz lesz konvertálva, viszont ez nagyban csökkenteni fogja a jelszó erősségét. Mielőbbi megváltoztatása ajánlott. + A memóriakártya jelenleg csak olvasható. Lehet, hogy nem tudja menteni a módosításokat az adatbázisban. + A memóriakártya jelenleg el van távolítva. Nem fogja tudni az adatbázist betölteni vagy módosítani. + Verzió: + Az ujjlenyomat használat nincs még beállítva az eszközön + Várakozás az ujjelnyomat megadására + Titkosított jelszó elmentve + Érvénytelen kulcs + Érvénytelen ujjlenyomat + Használjon ujjlenyomatot a jelszó elmentéséhez + Nincs még jelszó beállítva ehhez az adatbázishoz - 30 msodperc + 30 másodperc 1 perc 5 perc Soha Kicsi - Kzepes + Közepes Nagy \ No newline at end of file From 192f116925ad515c560ac031aa9ceaafc6703bc3 Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Sat, 25 Nov 2017 23:45:25 -0600 Subject: [PATCH 20/57] Version bump --- CHANGELOG | 8 ++++++++ app/build.gradle | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 49fa07110..d3aec8f0b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,11 @@ +KeePassDroid (2.2.0.8) + * Add corruption fix mode + * Update Hungarian translations + +KeePassDroid (2.2.0.7) + * Fix KDBX3 encryption rounds corruption + * Fix KDBX4 attachement crashes + KeePassDroid (2.2.0.6) * Add additional ndk ABIs diff --git a/app/build.gradle b/app/build.gradle index 2f20bbcd3..f3f469bec 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { minSdkVersion 4 targetSdkVersion 12 - versionCode = 163 - versionName = "2.2.0.7" + versionCode = 164 + versionName = "2.2.0.8" testApplicationId = "com.keepassdroid.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" From 8333a80d880d1719c52213e17eccc7524e2e5208 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 27 Nov 2017 00:07:08 +0100 Subject: [PATCH 21/57] Update gradle, .gitignore, add art screen and update readme --- .gitignore | 15 +- ReadMe.md | 13 +- art/feature_graphic.png | Bin 0 -> 79262 bytes art/feature_graphic.svg | 1186 +++++++++++++++++++++++++++++++++++++++ build.gradle | 2 +- 5 files changed, 1207 insertions(+), 9 deletions(-) create mode 100644 art/feature_graphic.png create mode 100644 art/feature_graphic.svg diff --git a/.gitignore b/.gitignore index 57157a1b1..80e465e8c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Built application files *.apk *.ap_ +app/free_google/* # Files for the ART/Dalvik VM *.dex @@ -39,7 +40,6 @@ captures/ # Intellij *.iml -<<<<<<< HEAD .idea/workspace.xml .idea/tasks.xml .idea/gradle.xml @@ -49,19 +49,16 @@ captures/ # Keystore files # Uncomment the following line if you do not want to check your keystore files in. #*.jks -======= .idea/* # Keystore files *.jks ->>>>>>> master # External native build folder generated in Android Studio 2.2 and later .externalNativeBuild # Google Services (e.g. APIs or Firebase) google-services.json -<<<<<<< HEAD # Freeline freeline.py @@ -70,5 +67,11 @@ freeline_project_description.json # Iml Files app/app.iml -======= ->>>>>>> master + +# Art +art/screen*.png +art/logo_512.png + +# Dir linux +.directory +*/.directory diff --git a/ReadMe.md b/ReadMe.md index a593f5c92..6e91db609 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -27,13 +27,22 @@ Yes, KeePass is really free, and more than that: it is open source (OSI certifie Even if the application is free, to maintain the application, you can make donations. -[![Donation Paypal](https://4.bp.blogspot.com/-ncaIbUGaHOk/WfhaThYUPGI/AAAAAAAAAVQ/_HidNgdB1q4DaC24ujaKNzH64KUUJiQewCLcBGAs/s1600/pay-with-paypal.png "")](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KM6QMDAXZM3UU "Kunzisoft Paypal Donation") +[![Donation Paypal](https://4.bp.blogspot.com/-ncaIbUGaHOk/WfhaThYUPGI/AAAAAAAAAVQ/_HidNgdB1q4DaC24ujaKNzH64KUUJiQewCLcBGAs/s1600/pay-with-paypal.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KM6QMDAXZM3UU "Kunzisoft Paypal Donation") -[![Donation Liberapay](https://liberapay.com/assets/widgets/donate.svg "")](https://liberapay.com/Kunzisoft/donate "Kunzisoft Liberapay Donation") +[![Donation Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/Kunzisoft/donate "Kunzisoft Liberapay Donation") +## Download +[Get it on F-Droid](https://f-droid.org/en/packages/com.kunzisoft.keepass.libre/) + +[Get it on Google Play](https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.free) + ### JNI Native library build instructions: diff --git a/art/feature_graphic.png b/art/feature_graphic.png new file mode 100644 index 0000000000000000000000000000000000000000..85db1282f1711dcc4973d3c5d1521b26915cad0a GIT binary patch literal 79262 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 Mp00i_>zopr0B+UX#sB~S literal 0 HcmV?d00001 diff --git a/art/feature_graphic.svg b/art/feature_graphic.svg new file mode 100644 index 000000000..a5d0610a9 --- /dev/null +++ b/art/feature_graphic.svg @@ -0,0 +1,1186 @@ + + + +image/svg+xmlKeePass DX \ No newline at end of file diff --git a/build.gradle b/build.gradle index a7a037ab2..e4465c561 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0' + classpath 'com.android.tools.build:gradle:3.0.1' } } From bd10fe85420575d1c3afa2a8f00e76b1a1004b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20JAMET?= Date: Mon, 27 Nov 2017 00:08:37 +0100 Subject: [PATCH 22/57] Update ReadMe.md --- ReadMe.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ReadMe.md b/ReadMe.md index 6e91db609..7baf0d9d6 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -34,7 +34,8 @@ Even if the application is free, to maintain the application, you can make donat -## Download +## Download + [Get it on F-Droid](https://f-droid.org/en/packages/com.kunzisoft.keepass.libre/) From fd6dd01ee7a622e5e7583a18d227cbf3e9450d8f Mon Sep 17 00:00:00 2001 From: Igor Nedoboy Date: Mon, 27 Nov 2017 03:32:54 +0300 Subject: [PATCH 23/57] Update strings.xml --- app/src/main/res/values-ru/strings.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 4bd5bc0e7..276f93c1a 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1,6 +1,6 @@ - - - diff --git a/build.gradle b/build.gradle index a7a037ab2..e4465c561 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0' + classpath 'com.android.tools.build:gradle:3.0.1' } } From 87efd1daa44ba62dfb492fd2f38f400be1da7529 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Wed, 29 Nov 2017 18:47:26 +0100 Subject: [PATCH 26/57] Merge keepassdroid 2.2.0.8 and update changelog --- .../main/java/com/keepassdroid/Database.java | 26 ++-- .../keepassdroid/database/PwDatabaseV4.java | 42 +++--- .../database/save/PwDbV4Output.java | 128 ++++++++++++++---- .../fileselect/FileSelectActivity.java | 3 +- .../settings/LongEditTextPreference.java | 4 +- app/src/main/res/xml/app_preferences.xml | 7 + 6 files changed, 146 insertions(+), 64 deletions(-) diff --git a/app/src/main/java/com/keepassdroid/Database.java b/app/src/main/java/com/keepassdroid/Database.java index e502f3bd6..24e5b7467 100644 --- a/app/src/main/java/com/keepassdroid/Database.java +++ b/app/src/main/java/com/keepassdroid/Database.java @@ -19,26 +19,12 @@ */ package com.keepassdroid; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.SyncFailedException; -import java.util.HashSet; -import java.util.Set; - -import android.content.ContentResolver; import android.content.Context; import android.content.SharedPreferences; import android.net.Uri; import android.preference.PreferenceManager; import android.util.Log; -import com.android.keepass.R; import com.keepassdroid.database.PwDatabase; import com.keepassdroid.database.PwDatabaseV3; import com.keepassdroid.database.PwGroup; @@ -52,6 +38,18 @@ import com.keepassdroid.database.save.PwDbOutput; import com.keepassdroid.icons.DrawableFactory; import com.keepassdroid.search.SearchDbHelper; import com.keepassdroid.utils.UriUtil; +import com.kunzisoft.keepass.R; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.SyncFailedException; +import java.util.HashSet; +import java.util.Set; /** * @author bpellin diff --git a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java index 8abaa1d74..4b6867667 100644 --- a/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java +++ b/app/src/main/java/com/keepassdroid/database/PwDatabaseV4.java @@ -19,12 +19,29 @@ */ package com.keepassdroid.database; -import java.io.FileInputStream; +import android.webkit.URLUtil; + +import com.keepassdroid.collections.VariantDictionary; +import com.keepassdroid.crypto.CryptoUtil; +import com.keepassdroid.crypto.engine.AesEngine; +import com.keepassdroid.crypto.engine.CipherEngine; +import com.keepassdroid.crypto.keyDerivation.AesKdf; +import com.keepassdroid.crypto.keyDerivation.KdfEngine; +import com.keepassdroid.crypto.keyDerivation.KdfFactory; +import com.keepassdroid.crypto.keyDerivation.KdfParameters; +import com.keepassdroid.database.exception.InvalidKeyFileException; +import com.keepassdroid.utils.EmptyUtils; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.w3c.dom.Text; + import java.io.IOException; import java.io.InputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.security.acl.Group; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -36,29 +53,8 @@ import java.util.UUID; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; -import org.spongycastle.crypto.engines.AESEngine; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.Text; - -import android.webkit.URLUtil; import biz.source_code.base64Coder.Base64Coder; -import com.keepassdroid.collections.VariantDictionary; -import com.keepassdroid.crypto.CipherFactory; -import com.keepassdroid.crypto.CryptoUtil; -import com.keepassdroid.crypto.PwStreamCipherFactory; -import com.keepassdroid.crypto.engine.AesEngine; -import com.keepassdroid.crypto.engine.CipherEngine; -import com.keepassdroid.crypto.keyDerivation.AesKdf; -import com.keepassdroid.crypto.keyDerivation.KdfEngine; -import com.keepassdroid.crypto.keyDerivation.KdfFactory; -import com.keepassdroid.crypto.keyDerivation.KdfParameters; -import com.keepassdroid.database.exception.InvalidKeyFileException; -import com.keepassdroid.utils.EmptyUtils; - public class PwDatabaseV4 extends PwDatabase { diff --git a/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java b/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java index c7bcb6ab7..529cfa7b9 100644 --- a/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java +++ b/app/src/main/java/com/keepassdroid/database/save/PwDbV4Output.java @@ -19,36 +19,13 @@ */ package com.keepassdroid.database.save; -import static com.keepassdroid.database.PwDatabaseV4XML.*; - -import java.io.IOException; -import java.io.OutputStream; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Stack; -import java.util.UUID; -import java.util.zip.GZIPOutputStream; - -import javax.crypto.Cipher; -import javax.crypto.CipherOutputStream; - -import org.joda.time.DateTime; -import org.spongycastle.crypto.StreamCipher; -import org.xmlpull.v1.XmlSerializer; - import android.util.Xml; -import biz.source_code.base64Coder.Base64Coder; import com.keepassdroid.crypto.CipherFactory; import com.keepassdroid.crypto.PwStreamCipherFactory; import com.keepassdroid.crypto.engine.CipherEngine; import com.keepassdroid.crypto.keyDerivation.KdfEngine; import com.keepassdroid.crypto.keyDerivation.KdfFactory; -import com.keepassdroid.database.BinaryPool; import com.keepassdroid.database.CrsAlgorithm; import com.keepassdroid.database.EntryHandler; import com.keepassdroid.database.GroupHandler; @@ -78,6 +55,111 @@ import com.keepassdroid.utils.EmptyUtils; import com.keepassdroid.utils.MemUtil; import com.keepassdroid.utils.Types; +import org.joda.time.DateTime; +import org.spongycastle.crypto.StreamCipher; +import org.xmlpull.v1.XmlSerializer; + +import java.io.IOException; +import java.io.OutputStream; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Stack; +import java.util.UUID; +import java.util.zip.GZIPOutputStream; + +import javax.crypto.Cipher; +import javax.crypto.CipherOutputStream; + +import biz.source_code.base64Coder.Base64Coder; + +import static com.keepassdroid.database.PwDatabaseV4XML.AttrCompressed; +import static com.keepassdroid.database.PwDatabaseV4XML.AttrId; +import static com.keepassdroid.database.PwDatabaseV4XML.AttrProtected; +import static com.keepassdroid.database.PwDatabaseV4XML.AttrRef; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemAutoType; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemAutoTypeDefaultSeq; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemAutoTypeEnabled; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemAutoTypeItem; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemAutoTypeObfuscation; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemBgColor; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemBinaries; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemBinary; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemCreationTime; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemCustomData; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemCustomIconID; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemCustomIconItem; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemCustomIconItemData; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemCustomIconItemID; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemCustomIcons; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbColor; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbDefaultUser; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbDefaultUserChanged; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbDesc; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbDescChanged; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbKeyChangeForce; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbKeyChangeRec; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbKeyChanged; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbMntncHistoryDays; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbName; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDbNameChanged; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDeletedObject; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDeletedObjects; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDeletionTime; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemDocNode; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemEnableAutoType; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemEnableSearching; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemEntry; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemEntryTemplatesGroup; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemEntryTemplatesGroupChanged; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemExpires; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemExpiryTime; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemFgColor; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemGenerator; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemGroup; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemGroupDefaultAutoTypeSeq; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemHeaderHash; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemHistory; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemHistoryMaxItems; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemHistoryMaxSize; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemIcon; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemIsExpanded; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemKey; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemKeystrokeSequence; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemLastAccessTime; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemLastModTime; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemLastSelectedGroup; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemLastTopVisibleEntry; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemLastTopVisibleGroup; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemLocationChanged; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemMemoryProt; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemMeta; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemName; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemNotes; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemOverrideUrl; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemProtNotes; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemProtPassword; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemProtTitle; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemProtURL; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemProtUserName; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemRecycleBinChanged; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemRecycleBinEnabled; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemRecycleBinUuid; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemRoot; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemString; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemStringDictExItem; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemTags; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemTimes; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemUsageCount; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemUuid; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemValue; +import static com.keepassdroid.database.PwDatabaseV4XML.ElemWindow; +import static com.keepassdroid.database.PwDatabaseV4XML.ValFalse; +import static com.keepassdroid.database.PwDatabaseV4XML.ValTrue; + public class PwDbV4Output extends PwDbOutput { PwDatabaseV4 mPM; diff --git a/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java b/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java index 69b7729ee..9a6396338 100644 --- a/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java +++ b/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java @@ -28,7 +28,6 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.net.Uri; import android.os.AsyncTask; -import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.preference.PreferenceManager; @@ -51,7 +50,6 @@ import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; -import com.kunzisoft.keepass.R; import com.keepassdroid.GroupActivity; import com.keepassdroid.PasswordActivity; import com.keepassdroid.ProgressTask; @@ -70,6 +68,7 @@ import com.keepassdroid.utils.MenuUtil; import com.keepassdroid.utils.UriUtil; import com.keepassdroid.utils.Util; import com.keepassdroid.view.FileNameView; +import com.kunzisoft.keepass.R; import java.io.File; import java.io.FileNotFoundException; diff --git a/app/src/main/java/com/keepassdroid/settings/LongEditTextPreference.java b/app/src/main/java/com/keepassdroid/settings/LongEditTextPreference.java index 9ee1a8a6f..c35020a85 100644 --- a/app/src/main/java/com/keepassdroid/settings/LongEditTextPreference.java +++ b/app/src/main/java/com/keepassdroid/settings/LongEditTextPreference.java @@ -21,11 +21,11 @@ package com.keepassdroid.settings; import android.content.Context; -import android.preference.EditTextPreference; +import android.support.v7.preference.EditTextPreference; import android.util.AttributeSet; import android.widget.Toast; -import com.android.keepass.R; +import com.kunzisoft.keepass.R; public class LongEditTextPreference extends EditTextPreference { diff --git a/app/src/main/res/xml/app_preferences.xml b/app/src/main/res/xml/app_preferences.xml index e641a8e75..d10314e14 100644 --- a/app/src/main/res/xml/app_preferences.xml +++ b/app/src/main/res/xml/app_preferences.xml @@ -54,6 +54,13 @@ android:defaultValue="@bool/saf_default" android:title="@string/use_saf_title" android:key="@string/saf_key"/> + From a833dfe64ac13506271db77c573c998f6683dc0d Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Sat, 18 Nov 2017 16:28:29 +0100 Subject: [PATCH 27/57] Remove unused libs and upgrade version --- app/build.gradle | 6 +++--- app/libs/ant-contrib-0.3.jar | Bin 16337 -> 0 bytes app/libs/junit4.jar | Bin 107085 -> 0 bytes 3 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 app/libs/ant-contrib-0.3.jar delete mode 100644 app/libs/junit4.jar diff --git a/app/build.gradle b/app/build.gradle index c0805b924..18fedc719 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.kunzisoft.keepass" minSdkVersion 14 targetSdkVersion 25 - versionCode = 1 - versionName = "2.5.0.0beta1" + versionCode = 2 + versionName = "2.5.0.0beta2" testApplicationId = "com.keepassdroid.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" @@ -58,7 +58,7 @@ def supportVersion = "25.4.0" def spongycastleVersion = "1.58.0.0" dependencies { - androidTestCompile files('libs/junit4.jar') + androidTestCompile "junit:junit:4.12" compile "com.android.support:appcompat-v7:$supportVersion" compile "com.android.support:design:$supportVersion" compile "com.android.support:preference-v7:$supportVersion" diff --git a/app/libs/ant-contrib-0.3.jar b/app/libs/ant-contrib-0.3.jar deleted file mode 100644 index 34b5ea1ad7d965c725dec03e451c657e718fc841..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16337 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 b)I>zPC%~JP4WwO^L6jkqje#M_62t=lb+>8S diff --git a/app/libs/junit4.jar b/app/libs/junit4.jar deleted file mode 100644 index 84d9b4bda25426f030d7aa74dfc63af00c8c0931..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107085 zcmWIWW@h1H0D<$p*%lxghB+Bn7<^qr9CbbY-1PsQVqkzN-ucM!*n`>~0p0As4k1cnzfq=tzhku8AxlHG5OeoyUy3l#K)AUPZQbfY|87*G14URcsEvMw-fU-O02>y1xvcQ4)Rc!?vEmF4+``)C=7p;+D$UDFEh0*3Noqw&X(k?}EDQ_``9rs@$8OH|9S(`{vER zUw{9yH!yzl36Z#!K9eUnzQ(IHBvEJT|D-u>!G=Owwx|hoSWqaP^zf-=j@>PG6 z%Lh(pU0$cB-!zYJ&^a00)~eZmXNnBZTBiSY51&6uo>TL|bb`UOV=7Lmf(y-_FS_?^ zb<0{??#!>2hj;r~{;fH*nq${-o~wT=l*A5hNO~-l6&1ZTG08Fedall)O$iU$daa^( z+}zpM@;GbWOL?xYB>8c&hk;4k#~JR&Z8*2aTCA@6EOF=3t-Fk-*(x*FJT}|rb0;z5 z-0IuM*tSV-vkEUyUC4X=NNn3%qcrL7CDEmi>=x_|Yh17}+P!dE&r!z}vorpQe+-Zp zy44h3By&`2%JOz4-bbCh{I+b9g?c|Re@LmDxRiNgytn40za84DBEL*noBK9Bw5YOa zxP0O8N!8xAFs(0F6NU3Sw@gn7_cYskkLUEgcRYRD&7BYb?t13hx6iX)yMK||g`-lL zR%m>C$J zu`@8J5s`i%sb_A;>!8a~BLB+tS)8`8GBS!f26_i-9e>;!?6R>TOxvQ#s?WG@VNS+| zWj>o8KP~+8G(WA+V6m}XgZ^Xb71?jwwmD3__{XEH>{@wb_WG&o@7vch8uYO;3pO77 zdZ0AKZC~i6uXDRzr!VV1RjE6D$$BwncTZ-+#(h~=R;BNsl&^K~w9nhk4&Sq64V804 zPlYmtb9U@;IK9Mqhh}3&){~76I^mHM)fQ!JPgoGD5LggnDZeLb+Pz78W7M{tb6T1) zUHu&C|Xx#k!^@Sckh41ZGe@tDeXlCl*{+4y!fs-M@eeIX{Pjw083Rom7 z_K6*vx4D38x$iCMjT4@odr^^W{c7UsIiF;Re33HV?nRB==Z5_ zHRXin7Wo&8&T`+nJ9w2!q;T+#%m>Hx8e5;1Muvzji&Qw~elUIVW`pL)S*l@N%jd9J z=ReqXz(ICy`P46a5}Z#?y}8|W=fV|IOm9oHtkX{}D%ZV}{L5_nqB&Q~FF)PXurq>l z&!RcS6$!h(UCHkeWm&W5wU@v7sxO8v`xbq%7v6F7tjp@KDCuAK-14Wt(0n23pMUty z5?2+AXtMhINTSNsvoEw+h-Da`H^6H6u`>&_VZ~Xqh>92)fOANE=adp$@#ziNV8eUrb ze7oU}>z_E8_%kjY%!=r}!lC=Q>!mX9v));iQa3LAamuip*jIPNAicnBZ)=Ecx8Evb z4gvL!&O{-r%M*MTsm(c{aW4B4w*>dec!92qC(oa-xjM7weEf|=`%AwazV(meR%VFM zjzu#shx+tdc5?n%F6@!j%i(%_;!%}E_MiR2t8AC+%Uu1>nklN{b0 zbzeK_{_KdpjPwlK+YZ}SiM1V zjVFg8&-?0S@1Ff!c-q%}yN~+*gRf(XD^t6z*R>cNKD$jsFzRvY>1#2k(*nx2e~~Jm z)ylKxfI#Ghm1&)c2EjSg-rtJq-M{sXdEM6<#ocEG;PKj!=WXyVN4u~K?na!RUhg{6tBQ%@VmZhdCCF6z;% zON*>@7jqXf-Z*~2zhUjX+3VKM4rO}H;wlp3+@ctE#rNN-)l+xuT{@NLoPd5*>e(CD za$;{Z8ozn>lJBs`M=#swu1d9%lf;EppT2Q8mRDc&F!rj9-(G8@n@s}Vp$0v(Q*O`m z>=5_fc2M@bz@d{8hj+ACe-WAfTysY^PxG5Mk@Es?maN^y|2^u!Q;|D|R@l$*NcD(k z^*F!Y*d=zgrkbx(r_nom+~4k&Z-OIDqGu2s>a&U2|T zt)ixOdg7lq-s`4+tDJdbyYlH7ZZ=)4O0zdMPd~}^d{R?-g`dgRs=2d8+fH_eEj}xH z=FRuHOP9@_mOlNbckCON_cxc%7n-_6h0}Y#ytBs|@w;#qXqMdvFb*FU5d;W@@nih6pYUfrCs~b~v1+MlTRsP~H z^Y~k}OWy_ch?M)S5m6<7f4o2c@=LSbPsLewyc^FO&Qf#y#&NdpltZpzfMH|xzMR7| zcqA^gvHUnaMK{fRZbDUi#GU_rJK5$Pd)~jXqUY)P=P!EZE}WcoG4kW)u>Z`c8Nz4H z&I1BW3=BLh3=AsRG6X0ixTGfM7bTYD7eRBxq`P^S9Rym>KRfOxb9u|s78a-346T0{ z#5#5_@X}Zz6vPq~{q&yU?FSQXU8>@>5fN8#4BYvEu|ng>o3y8G8mq#-Rh2)hu`+&a zUtj;1?Sn{v?h}c!^h^=2{`zS)UWY8a_6W~A5pL7bs-K*=_&`APlQ~@fd+NK6vcFHA zRG^p}!DGGJP&Hj+p5C`x8L>47683Vu{MWGXV&wcwvc@89AFbah^k?gxx{+|AeAiqUj^ zyZNqGUU&6v^ft1arqr|S$_Kx4lh5|Q?%nBMcJEQyg9nUOW^zI4ddd0f#&RCw-wWm+ zoL96{!ZVif8vjwtzF@%*hXcw#?Z0Oe7_;SM@Vt3SwydU1zb5Pa(sSOq_QFd6%czFS zzd5&G|KIq^-0JBD*Y~`am}W1zqjc0vH=xo=`uaxZ7we^6Qn#!qI4mQTw)DH~)qkw7 zEMuHxWmjFk7r_)}l)$?E;uVKiD;e#sr>9P85WkW9W70<*+03kIyH6PDENjc*U_UnL z>g)N7_r6-@%A2LXbEA=Y*t51}NfGCJW=|?A?)$r5JMP=`JyVSIW54v=Gyb*c()zC5 z-j9;h-o0Mq{vWN$bo*j#=L<##hE!$-1|?i6Dmb;Iv;fxFt__L~zU&}jdwa^VmK(v!o7cMOCg^^Jax*n(mIA^GxfcpB-oIEcx9Pxu>Eog_PK*&75GZ8SbT# zbFod=%6LWPyhzIjKhqw55x@50%)zB^Y&YGTlz;Iq-}UtuxXjl*Xx;zdzeXefi`P?F zUh#5QcuZ3ilIj1jqenkzPaEIO(ofU8F4}fUgsA`NykX zbDeJ@{&MZBlDt(>K+k>K|IkbHXq1C@7t9u`n5O%r3J$*r3)PxC4PFq9@@9g5BD+~s{@;u9Pm zfeW2uUVIi4H$46N=A8NdnRB<+|Nr@s`+%L5oL0-#Zkx^$|G4a#DS@+6_6pB@nY{Az zLiY9zfv@Z*C9Z1m6Fpcfwedm2hD&liTjZzgm=eD7SI*MEdxM*bXUy}K552=-z&?G0 zL5I*!t^GEWU%AXVI_ZMMl7$`qtzBpKM3j74uA#hz?egk3(xUzxXFvUES#?VIP+Dbe ze#*4t%e?r#=VVqbx?3yHd&f*VL+IDrNYk_Do;=nIvt84(JAN7WhBh(92e;x^hnx;L zU3_S=rtiP>tsREBTht$DdC&c_X^R;XFXwCH%$A)#uePsQy^Z%~eVOd3g=VrJ3g&Mp zQQX%Nr!%R4@5Xk6^-BZXUy9EDS2$~RfL;F?&g;i~t8*Sz9M+%Yvg&X|%FHtxSpArb zEpt9DKfL((X6BF|YsDYWtY;{0&&h@Bm?b4=Z}Sazgp>Seuon!9O#+=hFG zx1X%|@A7!>L*4yv%H(Pf&*j{f#(FwuePP1sMelo?j=iwDw(+3H{DrgMtTia(zWwK( z=BfKzU+(%dp;E2lx?WCnjzN)F1Uvsf_Ko39D;_MAz5T|N_fh=WYu)=%>n8@c6xA#S z28JpI91XUD#N_P6^i@tc*>~jqT=|OMA`;{k_sP>B^o* zXa4L-`rCBm$(tizLhhc~v!$ktP0Wq0am|rUE`R47*;7*cf61CFPlVjq);;)hY0;CA z?PunMxUo5=$W|#F&Eetc;W@)2aNxuNE|r-QH_!^c4?05IJvbQ{O2ru%K%+L0As)n_ zm1A*nYEcQqjdQ1GmxP3i9{--mWGtD-)WWxrCBvy9MQx#=##JY&St&EjUJ4vgFu8c^ zp2}ncgPGi)8^TuQuFP0@H6(h2;|j4UUapN%lQ(`@xUK1^`|H)A)9Wtz+u6M|mp}dA z?)#aOXU@vL+>~8mE9cO9y`?Rw?o+@{ zN8`+C3oI{I7+sqzE8DSj+id2}84FgeFwIaao3Ya3|5~flM!O$nI&v?5chQ{V)9g=~ z)mq&Txuq5dYwVpFVq>{!q5Y1-{!Py$LtH;Ew8%Lo+{C1(EP2IR%6s`)!IQ?h4GTUw zYFmn&KeBd-!bSeAZmRoFEbyA8oUyG}*iiVT#CLte6>ZNdUa~o!zH95C&9vmkg=Hb9 zynbeCUM=iv$hr|V`&;TlwHIRIPgWRz*0be#u~3w4?GiQ}AD@$=sS5U6=FeeelXyv;@5 zI{#ifJx?s;`I+kFrn|&%>*T82%|7I`b}@g!rEu#T|I*~XEA68V~d0bkup_AEF&FbCx1pl|of8RWE{Dw=r$;E?!n5N+Mjj8>ZVMUFA0D5HudRw z5#5sadfHPzUQYfJ8TMCZ^*67pabZs-*Zg7)vwgJg*43k{+`B*BoqFbo+l+6Tzm#6v zo!u21w7t8ulJE7rguCj6w{L8heK&hv&Y?q6n z$LVzP>FmDA=2I5$3|5+I^r)sI#@&v~VAzLr(16c0|~p8CXB;_$e$?@jltR+ zt0riRzOtE{-Cq-4*E#K*;{C1bGbcuVa`kR>uyfU!5Wi+YO>?P$Yvnf1Yl`R1y&0_! zuSmXP!d+OYI?W_jG5)it*6tf6GkcajMy38Z_$4#_G+0A%Dc+0G!E031!lRfxOBZ7Ioi1N=Z zUZ*zQ$a_g>`AGzqRwky51v)oTd%d5+n_bW_|6xHEbbZG7v)DcPPTfxgzq5p zB~RHV_9>I2W9F_Yx4OxxUT!&uWy|D-qD!le@FkjTU)Yw=muJiOqwRr5pOyHznqQKu z_+l4r+t=p#>XBK;wv5Ic@9zgL?Y&^K(6(W%p+<812JRo``I;u4b@G+-Z;Q6**?m_m;F^?KaVkJLmAi&*>v@HOchl^e5A2Md zd-80>CyzP(T66NwB-hN3IOg!(B3JIn3U;oXUrY2(E)Uge@_%(}_Ti9Sdw%&yH!N-3 zC#{y*aocK(-t2z@8{{=Pgf5sdahNMLvk2t59DIMt`og)T;W}&22Hw&9ts&88QTCwY zUZZkXMZeJPMR~1V0ls}g-5>XJzm&*Ztj^`3ZIa1)WVI@Ym|Br_D>9Ph>z3ee8Xo_Z$YEk!o_HDtrw~nrV8nizipSx+fL(MJ6 zngC(>kR$xN1niF-Y2U&6QBnNSW`&x4DjySlYa#^ePfh)C+3)6Og?$ec?ACPhYd=!f zJJN6X@$sFeABEzNI0gKssmNVElHB!!GyKtc>(qF*kJ@~X41H~ub<8hOtn2FRFXVod ztaoI6^M~F^M;_0rh!K=8SN%6B_?xdle5pWx_M<}2no09!hB+?q`?V?fweF9~-7A_b zRQI>6`S51TF1Gu&`I4`s`n_X6^YuO1t@>(K@T=KXx8}ZD?YH)R^DF*!As8|UeMWJ(>7&KHdf7= z{Cw__`t~pO>jG!bxqKwru&w#`%o*Ab^R2WW)-!#NpYi!UQ^d2+!rsTuG;6K|BbOCY0|#vua{W%+Bn|tE{dQ0s`~IdZ7r*( z$0I9FD%UhPE!6q5CF+b`Ld4=Vl>yh|!dNdv&Rr+`;<+hL_}&Y_O$*z9hppVF{UUqT z0`t{%P3>uQKO#M~mPDUnyc!d5cClYzXn;{m>7m0`4-=;r@N31WJzbyYG1={E*q773 zKfZmr6wMM~rdx5oyQ^M7>*-=G_P6g1+4rA%{y^59PftXir_fet0|(~{M2jPveqJYIX!Pt5lh^Y-mYZ$)0`ReQr+9-PW61>%#q=`2RN4g_NX= zvbA%S%+dJTEKxNnpr}cZn`7F;nou9t^I9r0*8guV zbk;DR^OdjJL%aS`<}SA#IW5}K9lsxj^eyU}d12N`1ChxU6XHc!ss+w`_4qb*=BjVg zf319ZNUGFQ?d0&ZNJK+HsL)yGIXL@85rhq zF)(Oii52Jk+=9fS%;Nk!Fe|wP9w}jWgM-~g{^tr!76@~&YgJejBJI@ht2H!G+WAVx zf&PG~tzmj6d1HL?KHQUDI^X{vckK&r>s#kOT(G+$$?0Q#*^w|32rl_5R|rhwJO>{|g`BtdVYLPt4evBXzFg-leWzneY+3&Lw&Zc6Ge^03ehaH!E;G42 z^DnKP5C$#_FM&)IdF#?t$(rCqco2HC&p(=e$qaX9na>mr$B`C9h_;?%`sd zeJ+~I+aI{fyPF?su`sf^&eG;AlWU={S<*1NN=igE3F zuz1QUa zmA0_6mtr^1tx-B0xbeI54+eE+i-Q;Lb{OZ~-u1L#&Y{dh6Z9ipdyVejP%hq881-$# z9@e`o$0HqUqVE|LA93H9vTLpA?B^Ee%yV|#6`MU-MqF^}5znAI3tWN%x98>t@;^{+ zn|EwU_$fEV< zxHCVQvT90++r2~onETEjxyg4h@#e*HvjA&K9`%BuT@A;RbUwHFRnDX-H z#O(Gc>#2La*ExQA>Bj$8PGzk_nf%(h7kR(99e(|y|JXG{0omB&542yFPO00?$$h~~ z{q_Zyz$guO_S&`+Ql)=C%Jne@S^25Ym~u~@MNZSzRAoKJ5)MtT#xQ-P}l6@zM(vihjoXOO2@S){|-E@eyc0p!95{Z zSu|#;>DFtyPX~ubQIA$PvS_Jk#X7zywaFx@ipa7iLf%%GQ{`ydyGO_pkB72YwUOydGXX9eeQAdS2D|yJ1G* z7bW&hTfXlnKWYiB{BEjh zD~Y;U+WKWp;IxeJr6nrPpElIg1XbS62Ss~r)rLBuGPl3(c)PVCU!m!W zLzkmESNHcQr(G^zmVIj~;&+m$?NPk7vd&6;nfk3GG4_w;D^?zVoA>g>N^th&tgU8d!6Zu;s4ja%i6cEAoiZ>jiwnIg3lh$ zOpbjh8>hPDQ|rw*&`iKrAfv7;g*@z;9Y$1W#)%_F&~oc zv%j08rn-WcPXa;fazZ$-|*HwZbiu!DL?0_JEk38u92xQ@%Vpc z??=Wli_a*s8!@p?YCbUYU1h=t-{p>PmtT=N%-gBIL93vtBLBz2=+c>$e|sm|ZgKH? zIL~SO+6!N8)9R+IJt11Bxv?pl$@|xTjwg9?JR<6iGtCXfBo_UuXbh2ky7BSlUZ?GO z)9$jpmyYdT8gk%K*Q}$ZoxFFJDhGeQvw``0!%NOH%jQZ7aa~4)lZSM<>SC4htFT}Pk{PFA!cMaoIx4-|mxJ~}W zy%!7X&>yB6K{t@5t#3#t!=z+pJ4Te>p!;zUa#Z z3ys-qv+nINZwme*Tm3|nX+=Pa{NByS9vRQ6>pH3aW#U1ezt66?&0})^s2ACKL-74W zo&{?nS*_f+Eh*n~==sUcWs_aruXd@QGe}bGT28A^ z`TT<`URx@A$J`So?g!&lyMw*k)SeUxfB*MxLB+b>MLrsN59^w?uHA4ZY$bEc(()#W zTm@!Mj^4ywe*9LCrw5h(65|hk^i^%&>z@6Sr2cRI^y{f8YS|!d(pY+liGkrM8v}zL zmKq78Y;aCY&VaAp>kY{c77CQ8>zkzgdfAetGt=S%7=4$VG1`;T5$0^R_}O>m>Xxmg z*DZHv)UTFYI@9h8^RGbP_mLMQ99Y=Cy{WF8_r2=hpTA$F9k{HetR#}uRgZs~e07%9<9?+(U#lv#KK8U_WJg|wKm^%uY10m zI%m$)pG_h>v2_D`U{gI(0b-j>YpA8ZYztT{KO(%zL@JliUa8XoD}$@7QeT z-?`;Vb*My;Yl6oX$wU*^&aXdI?mn9qJE>(t$I~eBy;+hf3)1&LKRQ#WTFOm=&F_b$ z|E)WkD)}Z>^B&D?Gi-agt%0{ExoP2cg+ICvpDq<$V9;~?QSZd75lc#a5~G}_BreUY1~+em+# z?p9Xiv%mK)IOVc>O6jLt{CV~1-rl&EYKNoh z%VRgMTvQ(-CONx$-iHj4^chZ)NLv%*xSj$z;cLqvOgvY@ZZu)Vd!s%t$k2`0F&`RJKN;XTfxX zXQw1|lPAe-G>V7$=c^KpJgR!=l55!$tn}F)AgxxU?#DY+cmG;I?Y%wFPV2loC4DCg|L{t!UYD z&|sml@YH*6{@&a7T0TQQcemJ;O}CyF*SlSRbwA_x+{qFXT#i)EIBmE2`@e77^`HOw z`u=@A(~IN$jyZxBCgBA+_EwKiRhBBhkL&J>ef0gK=hL6*Mnwn1^J12zhYFZ7SwDMH zDyjRUOwUSb@6E!U3KyPeUZ1veN|CMg`xq%%A%SG3+m9-be_r}{dCIy4S%G_69R8kJ z5$U1bSddhFE}1Es{j%lk?B%RX58q93@U@vAs3_3TDtkjMz&zvHYt37kiY;u7Z#i!V zo;>ttOOg81l0LcF!aq$8dO1DYF4!jEApG{{=56W%r?l!l&Yo~OC*IMr+q{2+UsaTr zfq>tWyE$7{ybzOd-+58->C)KhgX*puy=F)0iyex4!@VeYL9%iww}0|}hYR1-xVEk5 zkqtNDXV)oNI9G5rn%CW z*Zh>(@L^Bd>T_m0IUlh$u5(W}(X%zxxf~>Zjq^xJA}`mQ`WU-l#|=8SS0$QRUh;_B zRKS+bDpgv0^PZERp4v}kXWsRyiHFK_)xF;=H&}9a{~o>2rC;Ao*;aY(5Qm#5ckZ$D zw=u^;mn{9-=y-W~dQ7;UT265Mb3-|orniBqH=TsUZ=|)n_OgG^wZ$eSeTz!J>4Q)o zmcog9Lw05*3QfP^-M8!Idj4GB#F%Xx*xy>6(Buv;nEF)5cxF=HZLRjE%>H*%zWr%y zHTV5_-b+7o&Xua8W*O^OrTs`RzP8NN-gVWa%KP&+iaMVO{azYane+d~p3FNyj- z3WCJcx3Os!eEAr>JLcW8`8%fi-iUPn#X7xHw$kbA!B?Smv;KaRv*UPFo0s$Y)|Jg4 z6!T{GF5~!_@Z*)T`ztNKyWf3zf3VDF{iw-);qYlOyX(818&;|+u1hjGx8x@0Y%S)z z%8KtXF#$_+P50b<@gi9%zTk4!jcZkJuV#Ph*rsMMYlTHVPu`hNi| z4fCBf4tzc#c5Y$Rm54d6m>uxy~PJdUY13hORxw(XAEsk$sEQ{jU{VxvEd~HZxuM)AVfj z>yq;Ig~uzSF3oW7oml!^XW?VBSIRYZ#o_n)?>QzfIbNf`@b{*=m%ID_g>Kfpz`oUt zZGZa<>x?>mf9bi$e7!Gba4xE|ZhOq;7Jl=qze;Gd#KNb~^A1NH>|8l7bFN8Yt^DMj%A{Wzy4lrQ5xd*_w?8PFxnnlO-OwSe#C0dYql)F)i6+TF33<5&I8JKVo%&OIPT7=*p<>?D%5c zhI}8J`_mr%;=4b4nSjc*81%JvTQ9N{TQV^)B(h*1o<=lkoD+*v-4c@%Q{X-A*nA;J z5!=J&w{;_Qv?5-HZDa~HlM=q5lal^y-sb0XtnKUSezH9b9LhT8>eJE>;&^;ex9oNH0N8n^`T() zJHonoANP4EA1uf_5?@?=X70kDYs`hFc_|;=u(OAM0?)4p3qR;&`cHjp#WQuAcKfq6 zA;0>Rm+UOqe}2NQ{L6Ql+veVSb*XB)V&Q{tt!)<9N>e5#cU*sUSI1*fpNSFA&uwoz zmj7F#p3?sPSkuA_Wx96niZa=Mzc5%BcT4VY-tT%Ng^AgJUHv7W%4ud=J98}z%b&l@ z*!u2uj{r}1$?1|s&I|u>98oypHD797f^{#~;cKg`WW@_6{?NT%ekK24+>8^+QJe=h z#9AjCtgsQ8XCEe#A$48y)bd~aou}q?xaaE%{!?z2=J{?lW$HqX^ompOC8vqRbnbg- z^|<`lfvIh8FIYWfZ0PS@slQxLGc#+&BDpOq4+gB6>#O-9-K#C=#4D|ZJhvvk_V(WL zWc8xBNry$h>0b4uG%-j2YcE!}O7J>l&vD3qQ|tCm`EAmT1*Yy1 z0ijHdZ%UIGT4ll>+n6uxO=`bzsrb)$)+YhaJ2H$zZ0p1NGx=%8BCIbV*eg*~xMJ(-xfTH}8)Z~)H zq#S6vv;GQON+SneO7jx3lxEAKBX_QR`m-qKZ^NQLlde3ObY#h#5X^-%ItzG|nX4IH zc$Jwqx1~uaGf&TUEy{BAOsk7Cv}RUUZZ>f8_HYZVvpk`*U=?(^jgNpk!$~RI2}NdZ zYzqo`6b^7~nL4$R_e47Tr-%jo$$O#66PE1tIWCiA1pj__nzjm8IsR_ z*Tm;Dc=xah9a{5oSJ|heD|6@1-FZ?tTK$5$kM!4oO`*TEzNa3Zs_e7sT(-D)cIr)` zs>+SLd3)5(e7?JXJ#+N^U7>|)DaX&v?lLbu-4duHK5?SZA@)U+4#+CFKH=tZ7HTte z|AyAOTOr%nXU)dIAjQkTAcw;@paKHoqp4xJ#loQ?b$PSZGH*0(bEVQg zhm8STQ=OtFh@IMa8Oh6*Wp)&P|aB^Gn9ynWWPbl#<7zS&E5 zhI`+9o8`rQKz)Ns`BvSjmvpQd_B(_sdN)pTF=u6(x-qfTC)e!ClZ4{_+?OX0iZT8V zn`^d~>FC2YXQq8+#SYvHB~rP(1hrZZII%La{Oo<{xz@UNRs80vt96GNO&+f*^w?Tr zS>9?_?cvXP<;XMc=Gl6D&v!q1Gp|HOw}1A_CAO>Q7uCEL33xPZ*{xfQx>L<0uB|F? zK4@$7T9;90x%g-8mVjm>r|6d{9f9k@Hi(>llF{2Vb;V+pKNb})*WE9Qjr?fgyEAa_ zkr@3An+%pYcf0Uhm@T`?mCtFn-|?-1(dLs^GAv^1e#Y@ycGHJOsnM3(TXyeM+OY4y!*tJYU-`2O zPv&#n-l*JQ*4T9?l=bb6lNoHLyYDL4yqtLQL8hgX(EY}{jC+n;IU5;tq0@Fr!?)O3 zwkdoZIrrZ&Y3@%{)ug#r*EsjBD3gH;DgEtqnbS zk&)H*MXK4##fzgRtuql_)n_xY`;HLH=QPLIwJG)ocS%l|(Jm@;FtGAon%nHNigWre zDxH71qe*y0(nr;hx$NJ$t}w(+&CQtSA^K(Utg9L)joH7ntczSJz&3%yVY2A-{AXF3 z5=R7TF9rX;{I^Z+`Lu`U+7>(VY@T}M>aw;oTMQM9Gp0yw!k9yWu*^qMv$YLU!v;CA|pMWqT$%zeyzGfhgx)1FOll+oa@QZoOh* zyRxq3{LWPqfA?rgOi!EIa*C1XVd=|bl8v`4U;7=tz!th#SMGX{roU;!<~L5oQFqh) zt?Z^)w!{`6jXtF`_w1utKR*XMTzI{ViR&|)|Lk2i>MKtk+5f?#`V?2_gGo)NjRcvG zOs!RFS-nH-!0vvLQZ-4@J?)%XeJkCfZci6jpc2q(=9YO1URs;w zr8E0yZhI8fuBX4;XnnS)#C@r%h%?Ju{3q^tTERQL@XYM~_pEbrm&SaM?z+<~Bxt|z zk6ya#iU+&rY&)R%)y2JDI*-DYLU($|ZqfQQVG-+uKH--vx_(w3-bT0d zCdue7tMBR4zN(kD*jT;m{kHa}l zSmrzwl_+e!;auLxJtua_v(%_K#lY~LW{$5tgR19VyPjd|_}bH?a3806hmqqH&z#45 zn9T(b>$bOqEi%xU-lA0YH+|*l{px-5pRefXVBB+HVt>Tu#ku!RsMiZ~O$dD>b8qLV zvlHb5?V82fx8@cpE!)_wvi9BX{=M#6yWb_wpW^rU>8a)#-^KZC$7gV=rwjZSS^a6s z7t5s{AN6n8^-kQUsq->xPTS4n;lCEj%zKxuvh!$3n&z~}ykV|PR@JNi+{&3JX%xM2 z!u$S6-T48ZjkD_dM1M3j)_0oKxV~MV`IWcrqpr`LWlzh`9DQHNRzAbs-h#zV!i>3; zGlrr2vAO3FgG|f*?K^^JrOZ8kTjuAJ_%N}^_ZB~;N>??Vk6D#=DqU@LO-p#)?0@`6 znwbQg?!C%e`=;DVJV3wl8E5RAgQAmSEj_0_ZS;Ly>-npf=jG0?f3wA^_O{pEbj~lc z_U^RV6Z6=9bC0*p|~j? z+CNqMj76#wj~rS5Pvh~-w?P~AI^)aI-=CRdT>Q@G_vh=|-!teXskU_-x{$Uuse0$6 z?7dfS_x)B2zYv;#Z_{bh@Z$oZ7Mn8nZZ1k)y=h|gu5By3=N)=DiRDEpXQ;=lM1jh* zX>>7`4$z`=8xveKdETS^vsv;Gu&PQJ7+_Lbp z1N$zKTR|_M@=dtwV9nQgHCv%=htu}V@GnVk-_9!Ip5)*EQe^F?O;2xql9h4Wd%Y|) zQDw^n2gzx3G~Qlba69{LiNRDmkLiqst)~RO&rv@sj$iCUc>-T8G7g0t{L^pHFx)@7j~#g(qcxDC|6BrCj6x zHYuf)UH!}(y<-`3CV9QGxLduiZwte9L%-F1-K8;6C$ANLFqmNS8Jq)%pXNopQ! zZme{|#yloN0hjc~f&vE-FBLlllQ}CimAV4vPEqQ(SKz(l^wDY8_I=3L{J~(yl_<{| zC=yell6~(@pa1ju$_teo6aZ?5hTJoLr#uYTgZdn>NSopH?dn&*G5<;G_3sne$#JbbG6_jzfeZujY4 zK8^VH>xF`^brf1I&Rz51Rn+n$v9%v}uS_}ZJ>Oa4-#Tkv>+PH^YKJm^e&f$j{^Qi* zw>I|3)^AN!>G$vR^5~(4h{UuXnTHt}7_3nC7NLenP-<~$PKgS1BY$mBtiQ0Mi0$RI zcQ>sm(_L|5I@jtcM8 z;z*r*bFcjKdA8qE>i+-y$?d={ZKuW4z1S&j+uz8~%7v@GB<|MlxhuHrMDCrBfvFvC ze_FN|>+#>Z-8|7_ZNJpvLr-`5M@43Ra@3Q^Dw{F0V)BdX$v@+buJ~8TMXxeA6W{r! zNSPzNdTQW%-oxG3N?RstUi&VwDt4>>vI7@59xi^j=(gfA0hSL2!bwt_dE!nxO7HdQ z>OXqX;l;m-#cBRaZSFs|D*joy@zu4Ih<$FscNBmA`*=g9E#bAdR$uP2B_B7QFepyU zt6y<-z@ckz(bOvgVw-r?2%&R_qqcZySaabAzX4V7qHEAxO(rRT;1rgKl1 zywoaLCK&Wx&2_!z_ZPQ4%+3{PS5~!Y{A_%7U8th{o};D1X~pBQU3U}?7V;OT{?%wfRrnon5)6`o(t^MbPqgmG$@u}&YT6F)1;)Wl> z2lkb_DM!j$AB&r{v;5qg;%_&f7cQ;;^Za~0Yk|Q2>jHu=_J?SS-t{?XHtkGy>hGeo zYbAGzmj!Q(;SFr8){_kH?Ma=Ymo{%l!O1hbnbx*WcDuOh#xmzZzmwW|7f(Iu>YKf^ zVp+w;lpRyJQ>2b0?=&dixATp~)~$y)Z|mJQk=6I$-JEjjY-6tEDlHA~wXMZdC)IeB z8meB1nNfH;e21OBfV6f{b<6@yLmPF0xjOnY3QZOUAGh5R?!5iLx><)gZ<|e9`qpCC zg_~TBcCu$XPF`*33(Mac?S3b^)~&rywrFd(yLB1Yn=_)`&q`8XHf5fd64x=hJW=~O zZ}zzj-9_*1dvGR?HJwppGyqhq^= zqYUQ~754Aj6?=Qy0vo^eo_TH2(5%v@z_Lqd=doWW_~!Q;e>(r#qKAFO-0i1SH|tH7 z?R3+7yM=Z3%$cA~1G1qPdLIDt%u&6-Z1ZqVXr#NyW8_7IYf!PjrM?F`wMb*;kpvA5N;)W1h;CLUPmfAw%|b@Z*DU482xW!_TU z$9X!*TkX{upJ}??JJU=eXKGnZ-m5%$>%!O5)`wX88+&ta)|y{Cd&8TL+ZP-@z^Zm^ z${(L;+N$g2mZ>arm30-F5xcyi*(`aP{mEZuEftGGA}1ZyI>>3WW9FN@#YTNX>oPPp zpE&fWti*#iyt=QvyMIUf_q_Bo?{wcza9b4Ev+bejo^=m*D<<#sb3XpPK)?G-*LROa z6+v-orh61O)LXAz^YHjpua$nvmm@6lq~0xRGhcoD?lH%s5kFp@Y|T3P@`=tg?Q2ao zVYfd7?^&JLYHZ#kC2K#q_u{Yir0h0MEk zC-aW$g+sO3hwb9F=RcnJd`Hx0k>`7xjq2SpV;ri*@$@**{qFD0SXF5%4S0tMokkw_v7Yhk{Rj zub+I;FaEaGbdJpZm$pwGPWTi>BxqvsijfVBg00DTeuk0eUfcR!Px^>L*@cVv{z?MsjBe#&+kt(QBmeY)~~(e(JJol{CS z_UT`Ce&x(HYf5)n=qF*G?}0(4k@YQi?cW` zneOd6S7I8O?j{ju*R*B+s`~4P-UL(yzfk?zGHbCdZ~VSy*vu zPVxQ!iLLERP8!7@cWvZn;x|;ajJ~e%aY3No!y<>dOLb&F>2CG#u0M3Coww}St2bL% z%H{;9>|N+FkI(f{Ugr{XmXl5#lQgt;yi(RIQn!@xSaz-8EnnUl_2BIvdyP+CIUzM~ zGJkx|n;EC~M9ncezllM{PiniKD6^v$+l;R1FH+R!?(Yc?(b^|0FyUjOx$w7u_fiC{+PI{ z{IUAJ?X@W^74!14IbiokE$tVkedn%=PAbegDHzS0t0BSWT$fRFWB<{O z2kzJ2+1t8(=c~Z;a^cL6)cjgm_ANL3VD7{m&nNXl-$c#0U{>#^z5^GZ{P}W!^5>L- z50Y}6Fa5&=z3V@HY)ibcHBn;SHN8_TWa>zp#4F5z}?p?D`zh)o1DMru+M!J zS?xK|?;mNrUtYm;{n?Y34YMxWnf}Rai7()AS+S6{_|x=*o#iuxBvW-H?-uk`etu)? z_Onh_eB%PfI#B`3XTmop#vHEJmg&#_@s(@VVtEtOO}nDfS03Ijaxnku*YYV|>zm?* zuipQUHr#q=m-Ou(Mh1p$po27U3{aw+rc@hv+V7Bqh^_L~q?KJOe$=(OI4JKbTwLgE zV(4ftF-?uR#~@ZNYHo5!+HP8f0i!`NZxR&F4(8(MQl&-tbq|i^Nvx>3Z zdef9lugOlAYYzVEd{;o+NXqc9Z>fN$YUcA*4}Z2ziR)bO);xEOvCe8mQeL(=cWCbT7`>Z#xVRJ(#dX?M3+J616IiPsd(tp19{xWyAuCG_oVY8116ZTDA zzCikv_d>1pjgxZy)PFd*x{5rHW?>Pn*?<4c`#IIc#g~^zUzX2)ch>U%=lYue&pG?| z|9Pp*Fs;+nZVKm>ywfU4X|Dsk;LbWjuJ`f5@2m9MziXF?(f?Nl-%N#$UecrcN;wQI}b}&iJj}6^=9W zR-CY$8Bue=V+yz|? z{imYm&AWOd_+TwrXnXt{G|N`}s6Q@QT8 zMU}gqEzM1$o;z`_x-3$ZZ{lfsNJ=RvdH>8U983A5Omtke&)!(LTqq{_$kecPQ}mf5 z+C=Si#8=p_OE;O*Hd-`HeMXE2itZ=oAOzV<}uS zZA7|0g+!m|FJ?LA)GM^3RO;H}7^&1ZJyOYOIx}zN9M-zm!J7(;& zjdw8lS=e~s&R0vnDeub)q?xx#OV_**>=0qTJ9USR&Bzh%;j7Yn_+n7Ulm z7ZzIH|LyUZua%(2eHPPmZy4EOp06bk4>FaVE#Rq)gv)?m0g+Xy=RB#-FbOv%k>Xs zdzx38sY!mDRaNr)*%ZCkZ|B%(Pd7N4uYTwZqndl^NhhTROJmzkH0Y)-kZCKsA#znU zl{KJGyJm;o^Q`L{A_q!$1WNs_OUp_Q556xV_H4GPkE6q~cOE^0k>N&7Q=Z>S{jJHz zZk2ZPWZT9`e-wG`exw%f2tAy;V=mt{cJ{TIYqo7H;ohp&V{KZ)BCnd#bA8^EgdB~u zC6`V;j%B>l+yB$x+`j;sWtLIA^2gO9n3G@jX4!0baO2VOy=NK&eE9g5*;@W6sMli? znUo!*SsPxilgm~hziz@Qn-vcgYc9Q#e%+H1<1g79*1Fv5YwO=zfi7>id*7D7HsL5^ z<&bFA9Ue%n-J(v16`>!}#Y{He;knpwKFgx% zykSAoOVgKIWL8Pee7@4HYw`Lv8!X#l3fy zpHRJZFzKW)`;o^7H?C`G`!6hKKdqw1``Ee5QgvPFGq&^m zgwCnpo#L48eq)P<^Z7HHlcyc3TlY}>$5NlFFwfZ1?XzO!R?K+0>H2N$k3w~C53lEl z{J5^|{)6pBc1C5hgx?!%yEOH~qwiAlj=QTax6k?^{LjbzgVQEQ*`%3^BIA}SMLUUy z2TA(nefGY-$JfnDc)Qkp`;YnZ|5UwiFDa4wr@WN)lJZHPnhn=|`aI9{XNst-U}249 zEqkiM`t66-hTluB>^`vPai9>>!>b?6|IAfi5`S&Qtb3*}kG`-nbQNX{^wf!1lVVUZ z)nVF-qe9Kc&du4Z%d&Ub*T)XIjn>!IjTT=@z4l{!&ZfPd^>P!eSWOLsebUcJ6eeHs zn336;>QNT)?b8!&{R^tz7f)_G(=g-k>a8oLif{FN64qrE_+EI=GGFZw2Vq{Li+^OE z`_A2NdP~u1R)j*ue%@!h7VQ3gMgF)&f6`ii1c8GaD=l^w7$Zh!_IjKtdu1loifWo7VZ%sKwVdb=mLaXD3wlo8>$- zEZn6Q_H5Q2wZmtY2o>#^uXIje{ijajVviNYwI^>ZP`g#Y`MLb_fn#4wmb|!dB#YCx zwJ_4H-?)ou?@1r6tU1z?r#EN%)kbRFyl`us%b|D4Zc^M5d{6&;Uexoya0cU#Cl*Jy zdVO7&$hZG;$i8Up%ZAJX_D>}B_t)Fk2!z@`=J+b__SK=_8{?I>%`477y7EA%F6Cm0 zz}erkH(R_tVP|48y5Iiow}qG4b5EZaL$8vS2Ry)E3c^z34Z zd9H1OCv$o2vuxQnhSgc>pTD*2wbqi;kFHLh6jz}%?aHa$@^VqnRh9Nev~(93{(th> z>)x5CpXI&??_|7GA|#j~s(D@^D7|Pqvu?!MseX0yT0d`WTYf!>``X7ZRWYr_mA`EK z;-5d(j5$!6(9t36y+>?1!>hNYPt^Yg^<96=>ryLdm$`qflfZPR=jUAiY`!;7Y3bK( ztlb+$1GDNyXZ*1zczeVy~1_<+n>3Y zK0kT!RLVfzr{9!k3j6lUsf&OAKKv!Oxh8nGQBqZI%QDT*y)}7iVSi60oqd!TZ4FX?|`el#0rtApHWDJozmdbpv7xjIA)AU$^Ls z+@9%7t2AEK?r2-yx@YH2rRz7N*jK*a`tb0Myacxg40#n2=C&_9HchzccuHjFn-WRE zBkUg>?NpEN^?Ua=cxSoz%cYI(-4^Yc9)Az-P(8Hdjr{RL|29mXI&smOGmj4Q7k%w( z-jOZur@L&=@(G)s8@y94;Wx0HUYPpdVfOnItGYgg-YX2b{%h6V)3TXRE6Z;a8~{Nab{m~JbyixdFsa#c2}Y=?VB)tnz+m4Y)fOkf<_+&QxoQ|>$(vro%2(TIcUOhgMCM~8x>VC%N?G+@^mT7U+o`Rj#9Fr4`(f| zzq9cFEUne0KXyIdmA_&^$0y%;t9gW%tEarN)m(gVuKM<%rMD#lx9?6`cPVhgrLcf~ zC#3?PotoCPqy`M$o8J|H&v6Lo~+S`a;%@;`{^#vufnAcy`^^o6Sl?9Dm$%s zW8=HqUN>Yz_BNfr>Uv0tIrpCOYMZBXAI}JXy*B>d;aI~9GC8LoX)-zPf3GS2_3Aw9 zKHK@nlh-Ac&0l-zZ^;klh=b|ucV`?=+q(ExR!x7Y?}T+-eY=jd_HO;OW9~xxf-C

=`#5t)5;`@!QDqe6G@y_l(=P&jp^H`qiV&-toU@{k&?2w>5oF z-wBG}Vr(yNNc|i6^wM*+X^h9W28&J;osp`8-K=MF5=MVTJ`4b%51xq`#UHn z+UEQ767JMY-eG%i*_S2Uhdb8#NnZcov_I%YPSQuwTRMg@4#y+2wrFj=v2Mi?UE%Kk z{4u4MUtjS(_wL)nyCSN&8E2yd=5KG1`*}Prq-S%0`RBh+=O~_kvNwhGk?|Vm^F|xz z9j;;8+HrsSBi8AI@0q{ZACWE$Uu> z|KaQHiyQO3nvSfv?D^Ht`kdAw!EFtlG4=i#{~mC)aJ6T*&b{aq!ZH8s>zvus)f88s z=GrgS$(8tjcK7UO1(#cv{n0oQqTVs>_Px)yc^};4oD)}OX^_5F;PR0#F-N*3ReyA> z;*{dd*R=ao-*mHT&DQhbt(%jsC8r!d{_g{0;N0{jm*%SdSg}uS*-nWt%Z0O2El+5M zEtar9|6|g^eVUU*H{Z57yLFy(Ql6yowa*IKT{HIcdq4SnWp75n-27z`Yog}Qh`sRZ z%Fbg(U)rNBrgtrCs^L2=8ORc-n6}94j8i~Jvfk7AN@>Za>*ePr>79H0^@)?=`K!0g zEcQU#U z(6BB3Qx@Nv9&zGGL`&92iS8pS^=5Xz$ zuKo6D-_dJZj^5zAvgTXC?VP*s@^*)Bzk7Gr?!TF_w{y#P-<8V_|Nei^{o@8a!sfFj z_I` zw)b}~UA(j}G~kw*=L%y%ZdbNhEXHQ;${$?}CfyL`QO}j{VrBi9qLIkG=3lJg?)!Z= zC&pRp&3L{*U3g)^;dK!uH~Lha%I2te{bs+_?0)-gg^fkR_L~zMk1TMA^4wjY5Unw1 zL-O3tg!hW?-U|Qtb$ii4yHC%GYV$2zWM{GdylPs_GVkm~yWJd3KgH6LrmfS`IpfyJ z&&~R8;e(5c?Va-{92Gm~s5+D9MyIExX4=;h)97rCvum~m9C_!#_w~lcbqW4A!kS&G zn;+U9jPSUB_w1psZff?QHeNZjbH?H%o$Uc#LS8c@crJ=`-?lrDzQsdOSIYZ^nCXhV z(@$3}n`L`y(YZrjS1yZnu25c`;8%LKgg4}Is90EX?*a?QKYmXWzH>f%cHz2&apH~h zr_aV37|+YxzC$@fkNx_aK<+i06B5~G@~1yKBXdG2$WF1wOjKWQVb)HEx;4jxP~~gn^p)!-^Z8yb&svuMbHm(A-)C3!WZSIr)Ze^; zxmZHl(E5hC>%_>94-%_S_0_+=7*}l}n6$5AV{kxPM9U)Hwbqvf^zB@veHbMEd^?xY zRCHOttiZ#vEb7Ifr#*XDPP@F==N9MdohM3u>%F}f=J6A+HcXS-b-(XRX2GhcL~duP*RE1Wqm^r=UhYeXzke-4=hUmP`nDyf z5-yucbjw|wQpQ`_+bVIT*Q+pkLe_*7=hD~zy9Kf(k_+%U9z!h>i_mD!4U>u?M|;SFnN7NfPCr z=ErLCa*O+WHcPGkQ^8akXJZ*?&vUfr*GCg?|7oIsD!9%^Rq!b<$ujZhanpQ$Os44F z{It71Cuc56ympAKohkd%^N4T7uI+`3vfsacd9tfuD*#Z1}LK zZPL;t_uo!`6~*H1;|_)I`C)Y0i_hfylva^rGd?feaV&Dhbl!!#wx-SJk5Bz=`Y7~z z2(P4EsPoB+MXQdl>zX}T>#8PqeM|U@%K=Xcz6fmo_(&!<`G4eBUj2Q`dbQgp*8E^Q z`~1faEy1-#6`@CEA4>hL;JyFpQGaCf^3^v_ZQkoxS{ZKO_Bh4m$M(Wonf#FgZ9k`+ zOxX14$4A-TmDiUa36Xkpyj=8Gdhn&yrZU^un;uS!`!=tFt$XIjl3!&3;oBK@zl<@` zWs~@6Q=Iqh-pI`Q82ILEo*vTlv)Pg14-UnCZYT8beX?gV3I0f zV`gJ0a4kK1`#!UD*SlvlH>{jF<ra8rT`#<`}?Q#6a zHf=+{n$#S{(r6Pi5ub=3>3_J_I!}!{yI`Gc*+CZtAM1M|J3ij)yvI=a+eKiOHL&-JQ}?#9L^6J$M)Y+e4|e)gghSwFa^J)b&ph4rb- z=|9W4|2M`5a{Zo_Vjy!~DpK7jf4s-xO~6KjC5h2f5Vcu1N>)xwvuY+pn&=7vl2t^B$#O=|_ffE828UipL%KwD{!7 zcjqHB#6PMXQ<(q3&uqV~NdM%psmGi{*IzEzXpXOW^xZ4)*o7I5*`6ECc;0WwYn|C5 z=Vov=WZK~;RogGv6q-z)5M{ck@YUp?q@0bvn@<)j%9?R4u{h;$_eEx- zG3&{;d;J#1&RTr?*^0f~lMAc2zfFtUm79I?yTTTOT?dkuQ~KPTu?CSYja?) z#|buXv#e7hvsZWQ?34Y>wLUKF*@pL%b!Q2#a{Bw>$x`2_l-cLlX3h7yuv+}z&zT)- zC!Xx?&p94<&u@uupkB~QE1j4XtG{kKJ&FHh-lRa+FKjc@vg%JmSh+EY~d>}>WY z2JXgtXP!TE2{V)av&rA?&D6hdk|p0NOxnP1k$YmQ)XRMj6LkCz3ddP0te9gnEi%b? z*V5(d?dM!jJo>lB$@${6bLRZl>aQv0T@87jbIbD4<<)0P&b2U|dv;GER_e32{Isf6 zgWU~24(v}9bhX<#=9|oCHYvVU-V&;&6v#LIu;0VP#)7A(4Jz1tlRwz)JT_^@NzqqZ zHE-Tu-?&xbI6D{nwI|b6(s?ayE}mO9H{iPb)+O$b&vm6|%=ou&%2Lb2dp>kjC*}D$ zRxUU`b3YkqGG&p%)#cnle_b3uolLfx^1R{Q zw#RR@?JAQV9h$&uKJ~b|e?-|ua~2#_?$o*Q zIdhZMhZIKp_k7#FzWP>GF1MzGgDj^Ph!Id5h0EvZqkz(d+KEw5bQben=PP+Q?ED>3_#H z=3qj1-OQ4gYoGVMI3g}_xRUXF_=cQG$9zulJgThNcjD;wIhP|Ev+SlXU}Kyf#JzD! zRp0_M)_>OxJWu2^Tn$-rOkn17nUc;IuWDi(jFzq0{p8&9;7C!HxI?#cf=Z`krncFz z?znN|Le2RiPL|#;2To0nsFphIpIG}{VwPvm`=!!e(Lp!%gioJtb-HlNr(Bb>8H~Q{ zYaX4yT5>{4XNk*c%~W31IR+_$w=z!HY$<-Lc$@EVMMsZl)jiEOujG!uGkkN?uDMW%;uAe_9>7b(8M)na{VUSRCwk+;w#3PiHl~=?@-A)>diEzO&Tj=D$X} z*d~redOJ^NsFrr=KUlfeJJDkHEk3RLX)8i4pI^FCqh}hcI^oGnRf`_w%P+*9EZIG| zq+ z$~W$9G-~ZPtj&?K^N=Arp1A5OCU&t&t7oWvxYBW9|9T=v;cN&g27hf_Mv|Nfve z?{N0BpSm^EzlH9;e=>pfd_|$Dv+0Q^Z&a80a{bk5VAjcMjyTm2?Wm<|;nJ1Z_Eg}T zan!ma28PKs-Jf+&UQLW~zkkPz|BkEtox|A=Yj-gAKXkL{oqghOnoWPS#^FM*0%^a; zWqTU?KfbFLzjx&BvG;#_Sbk~0{l5LY5d{fW_8ws+lKjnS2@S`2kAd{dcV`%mpRp5y15Q7m zC2}wIMU?u-x|t$Nj#S&kyFGaNv22~#^?kpd{Pw@ zZycvwDYCRz6`i*_cvHoevY`0o;(e3Phf5yOPyY}x;n_xqX%=&1&-s4l2vYi*#avx- z@9~O6r`Y39jaOWm!~LXq?xfGhQY|O1_hIsT^_C;W_#a#Af3@g)*^<8N9bauJskZrb z_D0Eq+YzRW9WUlXDgl+SYWfz-MkWie8xQhdGiPW0`0pPCUm=h~_pzM}ng`^&ek zGG(3kKkkgu$7Y_NM^qn9EG;TL_G8h8PnUQfUs^GDdSeFbzMfS6MF)zN{=10nl~28( zUHRjay8_qwQxopc6 z=L1GoS)%j#zCTU7^qceky%e$iM=O46`tLm({Jvnu4@v)jb9A3i&pi2QgV(ncaT(mU z>ay%`p=chu0)h6CIsH;DH^}Pi9{^yRonD z{N>zBqHklJwrnr&JMG(Z^1urdLI0DwcN-0NZhbuE&b7ToJ~v+6oU6@s?CHApfRN*2 zTJq`hr&sTm=JwnF{~QO`cQ&_`m;NqJ2|Qky$)3Gr@i|wktzMk0noGTk4Wgeda(edB z&SL)d9j!heT_d!+3puY_FA>TOYUK+P4=vrkv2wXh!o1BJBkeLn);cV%IklonFYNU4 zr^dhPxe{7y!sM2$;+>(%FSwW?`sCHf(gg=%XWm|$-LdtZZ*twsrIS}i)d)S^;`NWy zKWy2lPhUdbTzRJ}l`#F`@SMq?>&W2}u1g4*I&3Ib1ea-0^JiB`o8%iTo z;!Sv0PIO$G+woF8-so$|mwHCTFcN5V=D-|XH%>+dhNCF!m!YFGpvB8UrFlLm>z8u_ z&UzhokeG9I){QN_p|`spFdykYxOuq}rwdc7%G=OuWtyCc!INU;&o%QuaPItlG{Loc z*4+M|iO(N@ek*&xc3qB);T@5vXQ$S0owDeg@x>J`r!DfQ7~FB|PmK8x{%(3q-ru9% zir2alXQX}3nQ6!FxyeH!;)p@jnv}&mLbT(u3Uj0+ns2{6R4JlAxnbS1OQH95S3cS* zB;7Vs{JnKh=<}lA0(aN>_%G*q(pF;ozH?o5{npzTYaQC>Z+Y2hvgxbmRaMI`e3fxR zANRc2|G1!Sa@el8?h6u@#z@9V{pE3LV1Vo zyi$u}mEGd9aY;^-lWtX|BaO#_0&;TyOph8y28J3Y2BiIsMc{EQ{jk&`&=q=+@vYo| z(|(5n1Z=n4aBV#$eV@OEHRggq%#4IPGj?QMVL5#4Dr?>cpbCDr zDfD-FzW4HzT$Og`4PUcTd&-)72K!}8Y{PFY_G4phyHdCLZcdi2OYhau znh_rOcdN(uvR9nm$C<=3Igc-&t2ICArNr|kUp(}8T)lW;!d8!aXtEdBCA;A}&Ol%%J^521i2?cjAm z*VIy4R_;|#d8Zk$;9|Toi{PXaNo`7hC%ag9&)^m7lFDh-zp`z{{@;_9A6_KqH8mi> zMN>#7K(*qkTtMBiOUhyY`pydP|B$?<%~y)KYrFHabL^;z-{s5t@-zkphB5}^l{L^f zBRqh55;B0g=+d4&SCnXQU_B^VO_@E*x}SrAVV)53QflaBh>&IU0Y%^|3L%MWZurl7 zk#x!bd^wvAr!l4M)wCf z^WN_N`{nalKP3H8?z5B%>zTr}ZTiE_O5Wx(ij5sho3Cs0nk0ulEnWWF zO3yZPm&&H~m1`TtF0Kim6}xP%{?4$#drNq?_$8KE_I=uQE%a7!qFd5tg}jv)()*2c zZ~3JKB)&1vRXZdp`l;=y><~F5^drdpArMrZErbvKu;6#hEhX%ny?2(&ues$-n zTAy!ued7>|M~HMV=bfh9Lv#2#Q`;N;N-kP!=l6-ORh)P;>dVxlSI%9Vd5qxlK*4%{R#FUz`x|==R)67iQ*OS^HSw=h`q;YkkuXMtfqK z7jkVmER}X!e0kE`#=Ekil73!D2g?u)#g+9!DIe)*B2wO4jThHN?E9q4{j@#VXl-pdasW-lqZb9jEQ z)r|gK3~qW>UQ*9Q%&#TN2p7sIcPh;_`@pql(kfQI+2{6{W_fbzt=n&(cKdO~)HZE> z!9^jj?3lklzB+Z@ckQDug>2omR=&)8D{da2{eVR-VZFRz_imZ%Tz53Jye9B}WITTJ znMF;UnfKk3Gacu<80IJW^xl-zOy8En>#aX;zX)I2hqnLgw+a3BWX_*-LwZ%xclNb= zYR?>q{t)&qJ~aP#O!0+Tr48X1Qa7*sn*3a5|B?)*_eWA>mh0V8`+Ic9k|H~A!2R@4wZwf{$#|CVE(tPL+zwc}(#(F)| z)@zTqG>RH=^*>(BW~cUf#j(k6R6cOlX!ZHGU3t9ifUfQCvpP{(Z&tW7&p$SqXO^|& z^tsRd9PUbOKdaN_zfEIfUz=38W6JfyKF*uPyZb)>@m=crNt4~DV` z+#dNtPsDb!0%t_v%cqi$-foTd%WJG*`RUG9*E4@Y=HXXMKP0=mERxt_X|g2d(gw3x zJKlz7)w;)|$3%Ib-4$;jJ@?YwE-&xJTQwiIvTw~)P*FZx9(wH4vq;$)+jeb@*bHbeI__rLZ-Tw5G$qoBEsej!f?7DL^uUDSg_xh`*)gA}#?3d;1gNxX8F9kol z*+u4dEgyu!pkvbFJbsX@is=a=QYI?gnmsXTN3jBR_H&uvQ` ztHVnzBMxN?8ODi!yyehvbjJCsOJgEmtxl9&7w~|4!<;mWh8xx4Y!8}CoVH9)2}(6d zyLHOr0{d4eZO&uC}Wkat_&7uSUPlm3% z>+)D7DP1bLf3fbF31@jsrxliOIv}$4p}D2lvsWgU7S6GDKF9quNjhoy$$8tB7la%x zw%Df1t(`W_O+p%Q1io|s>nJ6qz?*@*TsIS%U=Cj5?nY}?Li?fJUz zaAJjUg#iD`U;YnD9gWmJRN464X-+w$9Mk>q;sjNt|7`a%i!3;c?l?zk?wpvJtdc*) zXMd%Y?6!r|zN|Uirxhi=P@L^v+ji|5GEq5vx@PTSl`A+RgC)7QcyP<_Z0L7C@II+vcY0zkzx?F? zxr{INGimt=eK@1}WYz31Iv1V2rbtSs>Tzh#`{=yKA@AkM^Yh(&KXD(Ls2^6ia%> z7i|?H51Y;kT03Y!eeu&k%{;TKaO)-S1g%v&^G+U%$Wp?az06eA-eNezVW~{jO-==ehYi zr$7Jy`Gq1w_s4u$QK__?lS_sD7ANNx7j+)X(|*0?^wP`I)*fE{@X4V?Yty8{XGCV# zG`Bh2kFuUvmSVB`ufdGcFth0;cdm-@x?TTu?b^0=>%4F2b(LjbSR}Pe^YHtSu>Hd}b#`j^UiD|+3*;Oz_Co41<^ zZ(o*RwW@T^iiJhpJFn*W%zF9n*t)lo$Gs$19OTJ6_e6&G>f0>KiJ2ihyJc=01?xKA zT5nol<9Eqm^SU=;8%t`cm2yj;18)SY+(wsa4R75i zYjrrU9Ig{a?h&gDC$(yq(;CNF#@ze)Jj687b%7oO6z*>|9UzmE6UgNQXY zJj>gJW5uU>to1aW9V!vLOXzRr<&!tRBz|0?ds<1a-R`zeq_gC2qo+aI!i!Ta&%cgv znSVO><*A8L0=*W_Gp=?gr%QDtaMr&*)wE4V!#cKLwx#J&!PAGl4s%YfxfoDf5wVTG zuQl!A|L0Q!Y-9iF7#H+?_D zlNS3Po}~Qdm2I2GzBMn_Jha%nC7}6G$I&lW+A&tkm82NYEuWN_Utdt2zn9JIp{!Db&AoXEs{@+OYU=;L!6v%qWySJF z?*h%u`qMV&YQHT}4+?WvnmOfAdURB+jG6K}5}r9DBXy<(2q&Wk=9m$dY8 ztNz@Ty2^@{DGAbAHx)%aPk!54re^xWBYNMV1G@{BwspDe+VbD+a`VoQ|9;Eu2|pex zwQPE%*$2Bl^PgDuX_qdxS|@jVRndyv=rd9!LXs=bOwlaMdSy2CwA00BQOxp(N`v$t z&D^r9D7t@Hm&$oww!9<0drr5V$qCmJ+q~)KzL=nkucxx?JbIwLQ2S@ZZI`0_*b>M7 z6(0kc<%6$JOx+y){(w5qowm7aF4vuYsnBsV-?KT+U}liO_Q!s*C~k#?+9mR+R@)->hX`I(B5wK4x=0-jzNOm*(v3)3ova0cQ&bjkug`lG-L;ohHwSU)S$5 zk4r&6Lvvy2g#*eJQ$&45)K7(N%Jq$R{JlcQKJ7uF%%nNza?h>0JW1nXM&!o#$Hh~A ziy!SSvSzCAdXsncqiUt6Z$#WgZWDgimN&Z^3EJ&kc`NuhT8s<9Iu*P5hcr~fG zKt9rT+T5j2*!Jm322SiaJyD#uhWWlqm!-vtTbD0X%7_Slv%-VVuV z72U0qvh49fGiyOv_*N^*ImJe`wBTyZe68$t714 zEtw^E-H1AN^rW%-eu1NhPP5gug-3|$tjjA+Za>`}{?3o*fwUX7I<;zh zcDf((YM8LAXm)5uy=vjFuPq;Xp8gR${5Y|oNTKz zW9ytp{{@?3XU>t`9H#a}uUj$i|hH<8C=#W&&++SqXRJG1@#bs{MGWPS`+QIG@cTD`z&Hrev zG|RnUr*g}e^P(Sp50Q#Fb$>J8Y|GjElafxd+`800^x#mr8>ZPpYR-ahGF7TT9w^*Q6NLEwb1Hus%5&8H}YPYPtTZ1^m?sV%f) z*NMQX?mbT}ro`{u=IPkN-Rt^fmwhmd*L)zy<#UJ%-JR;|6p8EQxHKS&r*~;^pZJUlxjpcW@nNt1eV+g0 zLm6Bv&azhZY-yUb!KamXF7HF;6{nLQJI3s}BAr>mlE#|yX8p(O6>FC=M&_;Hd~#8I z-qhpM+6s4n4rPr$w`%*$>d0#w58pa>@l%-C1%cmJ%jR@yi>wb#QBpNJw%YS)<1)9* zl#urkJ&ubiJB+7yL~gPXHSV0bwEgo5o8y5En`>lt&pYx{``;h<9k-CB1y`w(|@JNW9FIr=Z9@w za#5}_d;P`74C(h)+`1gNb@}DXPrjP`Y%7dja;x0!YJuGRo1L2X)ZQDEt(bX!^~_ZT zPqOA8dvEitlqcCi*LKY`rFUMN_g{OQf$d z_FrYZJaAH=&EAc#PAgY@Q(v=zW(dU?$Z3t{$<+6_RD8R#mntq!f5Fe z$oG(SkB?{E5${*q1-k6G_}`=?lp9{nOHX*0a(h>Ic6soP>Km)elO>We7k(gxn_p!f~D;rxjt!4sa^Huo`%{@ zX{{ASt^b7gC!SxS(7gX)XrIlKkGs4a^@G3W{h7x2<>J4bKYgp~Hmx}L-g5cnVNWqP^IrRc@63Co`SQVHminF`n{_Mn z^<{K}<}c*P&ib-yk)E>Rn}<8SO6@Bvtrk>GSYHt=dhOh^S<~0`mEH(_=bLKa?U6S< zJoM~C^HY;;ev8Bl`%k~JI`B#IgZFv&|G9s>758q@FZGz4t<~=(H&tz8IURrG)9&kA zk8Ld4@YCq^l07$bwwmMYOBgOjdwO}gYmqmjXL%{nulFfcHbGBPlTGB7aY z7p3b%uCsJZgCE4->SOE8>?lwx>>KvjJxNok%hgLfdv$|4*Rd0ow<2=;KHf;)tUZ0N z!@pUr_6Ouu&n-1L+sJJEIqlx@@8_S3H)zXfmT)u&i0)dmx3}t#+|HmIYCPVXO>RlX zzj(RkiH+75j`Z2z#w^-UvI^KKv%}+u}eX^L>XN#k7zps6nVS793uE4JB)KvmDzmETU(c@>%DDd&KbCG#JNBUcj zMO{6$1##Q{D<57xVP?)f%NbRlHD>DOxw9M!d!hI0mBXKNvTxdIr9$lgK!Qj&-m!yl=O98(aKV-6q|zK+i=h8lnOm*ItcUebp|v z_KH{Z+ud8ApV?czxw?3})6acx&djxZKEM8)W$`nf^Z%YtJkB^rLx!u1rO!*H`qj1c zM;A-(9t!dDUM6ahQBqssyhBf{@B5XtZ(`P$E@hqbd9lhChXps{?`l2B@NhBV?|K*( z$h7>xjb#}z+2_8LW}OUucy5N;gIuqY*5tJhQ>N_ib#&ilK5J6(w9@CC6^Ax$*P5w# z@Z-N_fp5p>Bk?1T3Uu-2R||iyMHM8*0RZBrjJVO3?&AB zwPdN=sk>U|=J}lTyLwSPeuiRA<4&{L5^FQqk6!tswMtN+z%@AXfY$8N+$*<5uRQq~ z9Upzrr}31ays65sUneK7bgALIX){@+`AU*l{>LN!PvQz(p4V;ax;aBJ;MBbwzZqhM znbN;I7m1zxKHqT;lhK{2YMz@?!hN`phrc)%7BGLitgVvmjP9RWe(XorTTkowzNIZ$ zCPn1*X^W2YAsYp{If9MFwttQKofsXOm$R`;xFXs8^}M(lK5hEv^77{Op0sjfzR6Sg zra~mV719x1vElabMSZS&HZS7))b!}OedNo_YqqRv2y%9BUUx-d>JxSC zwTVl&F?s3A>h22a4w*E6&6Sg0+1whYWhSq@dV@UcHU;r(m!901Dtr3N#;-PIj*JSL zM;%U!1U#CVFg0RI=P@Oj4US({?-1}jbnn2yU7Mm4+G0cc;*K=iE%}+#SDeVaHuU}D ziM?8S$5daN9B(aNI(tin|E}!^ z0&`0qYEKa>{V`*T&rhX`@A7n4x@OfxW*L87dAYJUd~@wOL5pkmBW`f%#khyh^-s57 zw3pL-#Sf{xB|T1O-duK(TV;6cVbSKU^~LW37isQv<(De#?qbY&=B*^e>H2$1g;!iK z-+sZe?S)yH2`8;@oG<4(^XtB)#s6uu)SGYKT-}=KKc%vldG6K~3l!wDmoXNbc-2oa zZuV`To2wD&qvg{i{N7e;U-$b!mx(u}lBQ^AzI@_3MMmXfb>aM`_rm(8MWo-?%{-xL z?Z3s)Nkb%Qwr$5;F1b^?rJOo>rmASM8M<71Kj}$ky=vX1j4uxo-voW=aJboVtgB#G z_|e4`Jz_lN%Wfzxd?nEQKF$2iMfMY0lw2$Xb*J%7p81!JwNZY(KQz1K>dbVzc^+!AivdN1>`o&D%e%H@GU;I7Wu4@0rlqF3+bD!w^oAzz9!+E*RlD{?L_tez5XWZJY zb?@-|lX1TuF`fQ*|JNzKy=;ZcxaB9%OL}+W+*`qyzS!Se^x6NKM~d8Fux2#<$DDmwru-3XhoPF8Vy>QRXS3wHHIC zC{-oSStB^@D&y3PmVew!EIx7^{C?$T%hgFIRCaGs4P1Br_>1-uwd_Q$$W0P|&hxWR z|M_L@h3hA;1kLQ8bU+}+dPT5{s{Zu7u3xMhUDT6!zJ|nh+zQIN8xtzc(7iG>vixb9 zMq{FkDN~SI_#7vN;D?7yI8EZjj~QxA&$(k_)Tkg)w20Aic1nfi@);&QT-qxYF0MGK z_;d-pqyziB`HS~)G{$I9KlCd;Qp%xZpO8etf8E&FOwn~c&Yo^`>QYR&7X zFzi~nvdHwxJLO4yZTy!Wnf`uwL+}o}X@qglD#m{|x*ss4T{-dWhhWp$-2u15r0+B* z@c!jpm{;CV>L(Rh!KTZ+W%6|E73FdtW1WA;cfX8ix0=&$e9_ge(<6v+Zd2y#rBB)| zkFE1x8Yh@3(|b8%+l&n_byFt1SF^nrps+!_nEe6wsbxwV*o)Z>^;eji=el(!SAYEG zP#}<=v)v_$f9u{OnzJ5%ZitcHRKDuTLAGpzYc|baBD@3}9~d}=c`rYyI8(;pC`+)9 z!K%rb?}AO9EqL$7dD~-ykH^Han7r1#O$qC#Y_N+xvt_E&xmeBIr4MvoiJoLVw=K20 zPxM<>(_XcH-R6TVmv64K3feZC^V_wiobcH>;nF$Lxi{x!x9**tus!O=I7E{bt%!d-qV;+>>Q<4{m$yadV&VhW8>V(uOzPc(%>by`881rk&;Y#May+Dbj{F zzTIka)lF#nynRE%QJ)Pn7|RX{=EY7Cd~>5Ix_@SLzo%~1=4f$&_d$7Sdz=r>+N~*` zzWM!+*caK0vrP?KrkERdbh8y^8ZUj%CAZ%6nEmqp%dr8;Gj}GXq)CLIEoAw*eaW4` zxFYpGJDcLw4t|>CSaY>n_q)uM%U`>mTWnus8u3o%*w?RKz4vx$O-a0C(y&rg@1`GD zh{m1ReWL%W%3F8evFykX*-`#_@%Fsd?f3R__vUW3F>SeBo?p~elwNr9!7rvM#ArkF!6v%;-#ak>%@}{IP3BZ}?HoitZG9f#sh4Ur*n6 zUUr;s;_)xsF9j-l^p|8-@ZFyxeo5+1$LS8j~ zU$1c?Uuxf)G6|3HNiy3TSG`KK*)X$d#j0KD5{HGo^L8=|GwuG65PelZ?)kP^xAt(? z*t}&rWewgQ4u2MRvT6O9y+-$#x18VGa~aq;U&Ow2(RPQ@ z?^_Bj-!INO5Ow!rV)e1EtNxA^iE*Xhw za{5)}<|o$IPedmiN_(`&WYsV;b(G4b`nF6knfpsY#SrrleD7JEE)eRFz= zd}L)%t3ux27NeJ`lRrkP9PX~3VYpwTE~hfEV|S;Xtnx$oKR@C6^_T|d;=D!wS$hKu|7gFD zzOwS+x%XU~s-{HPx~-8@58HiF;oFlZ%@Z;|OpugTJpABjgvQJwM*G_-w^CXbxwAdA zUL3FY$g}8GFzcMEuA?jU{>3xOMs6@kpOw3dw}x?jzQFtZZRTv&i|+*<-mfa!$F=M8 zJ$Z-Zb)Ekf% zc(nbiKo=2y+g%mkmPiC{2uu3%C{y~_hQ!_4FPB}||LmargMJ}(u5UsG32AcgUw?l6 zm-&F?Hxa9r#1&kz*Y3I1o?O2$skJoGd$R$ke|d5XxPR%ceXT-%QKwl&?MHUbzsCc@ zE#sq)w;arWm^oSL&GN1NWyj8!G^0}O!$C6(4PJWYCWU3@^EoFDcGUl(v<{LEs zI|RgUVNB+}eIxS$cgM!=hvulgr)7JpC%s`{U}$7yV30=XJwd_+R}XW&oDH~#*_`el zrp$HCt0>_ppRnPPyt$kzZGBelY$Ccyy%ss{kl?jNkvY+kelVVNPQBLgyQwQ{_ar z8Y@bDT&@4}(yLWL5vn{~w$~?K)$3Qg+_ZVY1!WoC^|vhLOAPM0itnFvq5ezh%#T|) z>P)b|a#_vmhJTj$nV$K+smrEKzt~k!bG^&oVng;7%Z1k0w~2lFApg2~yIQn|gR1}c zmv1f9WVX2n#XgfcQhDiLzwY^#nR@pkeD)U3x#zR4jpa~RiMVg+g1To?*HYy>UY*Ww z-q@*|WB!Tt$c=*!q)`LOS^2qL3o8Qy3pWFUDM}!L?+*swBn&;MSOp;hW+Cnto*H&H zSU4PVx9~a+jtE}YthKxkl|!R{D`pwG^s)&!2Y&2Uz1ec~tlqo430cw6uYLYE*?n0m zo10#dA^)n!W!c=9i}`Ecf7!2T`~96S6XV>n8BgXFzuWu#&$;(=icik}|K}Tf!{G{v zCV$66o4Pw&H?7>=xg<0yB=_#dGsdg(rsTd&xT~~ePWDYj7LhG_E4;G~1)NPvO3HIQ zy_4(EN*}da!`bJwGR|MwzIol+*+(C9m8t1oE)2aqH>`J)nA>Eg{}(PyXj*nLBrWSn zSXPY*&oYOd3m4opPF?P%=i9omyXU&d7LgOpt95rvp4Hj)ImPGlQ>U!TiI1`?Sr;Di zIH$XsZMxpAD989`LEB;kf(jy*%lK<`9K96%F?Z`1Uu_PRwR^-G<$p`;5>P#|aoovU{s@=nT**2qUCo&Mik7A|}m7kkUH?M~S9tqV)nY?`|`lk?WBV6!_MT^F1c zgrZ;FI~GztFOhM3=dDS3S~m`^^e)a&WfK;QJ%4ufHxAP@g=y~=XZ>Q$)xElNWn1#S zFBMr5C2}^8gbv4^->oI|Z^}ctcay_=`P(mFkhxluF57V3W{+jF4KFU3su90=i z#MC--g^8CRN4!?YzDK?atF~2&Uht0j^)iw_S-wocBdWt>{sm>}FKL&`^DaccaQ2@$ z;iaPR>%5(19@Wbu4wo$Fu72^`^b*e|_Kde3_Q&s4l!)H_*ckfd2z&U&-ywIb9PY=q zuwJ>%=(C7(x<=HrJ^l}UHyzvi+oEGTgQDyri>?Xx)L85kk9vHXytV&a^~8FWx%YjJ z&0qMO^;X8q+D49tFaGnb{d?z>Z??xDuWjF7e0H28J^%3!3GpgViTCmnPuQ~@s##>G zYhKk}a$aCcw#Wx7+iY`#p4rk2>e&sGEi^l9yjZFl+D~?~-#9*BmUD-b%7;r&>W{Bn z{Z{w9;UUMqZ{Y=P*L>^@q7PQEPQNw#RFBN(RPxUZTEzXNUG;#&zaw1Vii<;< zUawQS{rklBe;$$VpKXv^Y}jz1@NC_g9*2*06HnD^3i>H$-)x!eC127X9yTKsOlKpy}41oz#_ z-98O}uAcoPbxLmkfQ~9~V<2fYG6l*8`_~ESWY`1K}oWQ+tp7+}Cd|zYoag~>Y z?QDO+&c~$zv-7;yTK`|dwqG#8g{96T^?#LfW+~?;cJZvGOXn*Iy)(R2p|!^9j;PN6 zOA|hsO9!QGonkM1f4;DyjnUt^95a3uZi1|LbF=mCcFM!aB+sflCFhs+m%+%pQSnX(WKPvGh=(~y(fnW z`Tk-2r}21ht5dMYW#6)A`_AoL|MU0z>+%e$dpeX3YG>DL`c1uBz+4(3b7iK;Q@Cu^EXI*C4aIU?v1uKfguJ3I8T7LpuDQGAXx#d0os?$zXs4-fwydz0T5zfT*o5y#OC*cFN-tYu^_uJY z(_E%A9T$0&YHsB2(cN?RbVJEPi<^ET**wR1Ew3FDi_fa;>rw76z4}YI&1qrT?u{!e zMNMsvD6`(bu%T0T)qYcj)QI_;CTOx=-nMe(>C$tPZ0^r2v>S$38H|P3=4czS ztxdb_6sF^sKS^zm!BWRnlN@dL2}~1oYuTca$#`ahoO8{R^OyX8e|=i{pKqdmr*+9P z4{OEhj(1D;T|C~jud=acUuokTe))|)>8HNmU#w&KXs^G{>IlVdy8{!|pWA;{`6+Z{ z)soOjO#8kxEK!KeTy?ldG$|<1d;i4$b9`PupYl=Wrk&jDT9G=Z|8`!oADO%Bta2Ho zmL=bi6O<~^j*qw)!#;go!(rtOhN5$J^3_?g${Yy(uk%pyZq|j$U-Om!$)h$f=5w*= zh%+)U9KvXwdZyZy4jB3lUr^@&78wI_w?#S&hs&=a%;RZrsvGR zACf1-*m6wgDx@$A%N$dTUTxfmg*7+&2x1CNl@2#KU zne-(|d4YXxRS(#{~Pj*M4S34aynz)sm8o z3=BPt3=EPeZ8gx6EET`}Jm^hRxqhd;m>mVy_?bm+&XZF+cHQ^G0?Qp83)qi(yL9O6 zlqjBmL~-VZa|h0>tDCNVuvz|rd#A0mepBs>SMGtK@%QEDGo0HXzsTu@*Pda&NR=DA5m4%O&geuMUdOhW0|Kez-yTY@a7su+A*oj6e zW=Dt%zPjGEG@s+@Q>ynn?HTR;3O{B7=UaK;glWoxT>lg=cBO_~tYQn|DHL_J!+_RpnHc5j#&806R) z81zx12fU3UFEK~ov8X7q5?75Dk{cZCE>b7P)cH|MBJ)XTlfJ3G!;0FY3Zjc|Y+<~$ zXk%7p>?Gd^wL1pi?^%@n^8dyDYwKLiz}G&@=l@!`f5Bhl-1&E10+@_d5AUu1Hs|x4 z&vVkh|ND7<{eH#@_S=bHIF?Ao>F&N;Qaa&k-U6HOYn#32sqa5+URJhr`QNtPI;DGG zt~79BI(++6=b39uqfhJo-1mv;Zb5!^++ksfB`Z_+F0q+E`#aZmmLtoVmVe^C&c8%@ zO3L1qzb^a}W}29FaP5mtpJqmF*>Kk3`exU+?3RtfuXjB=)lkZ+Ctsv5!oN#n!^>Hp zin=YEcPy%jzcxdtS~tb^!d$k ze|@HL$a?*=o8fu>>-=|%ew}hkY|)IPF%prD#<5uzHgVxI{~htz7be=V`MR=;b?5gF zjuP*==hOu!vdceG_UrG-{gk~kd-m;BGEaEEX85xH?&4PszFX9~QK8`7hi_+>tqY$b z?#fsA`NxfeygGrEJ9n>+37cc-^fT`ZpO0SCo&!@%oWBT%zWwRAXwmA>rz^dj*f>MO zujqJ4Y}ziX^O(UnJKGs~YP zKZz{UpW8XkTs<<;y<4W}kVm?%1W7wmwUie}6F}Bk@%_ciGJIfnvHW7y3kt66(w}hFHCp2y-+g_P1V_!eflHWwi6{G5zw>_L@uq6x1L67uCufv%cYinD zIQv;@);hSH8JMd-g5QY+k)-| zU0hRA&5nFEx!7u%D?2UnwA2gl?E%&r_wvo3>n^y=_kw{d=cdMAv?j+kkt|tVHU@?p zypa3O5shDX!BLc2SejZ~QmhXi1PX%iASM3Pu*`7baEZD$2IfS8PMvp4v}Un(aF=R| z9Tmx%;yRgw_4X}Ao)m*KMYG4V`zUYA;JY_Q>+4 z$>ei>E^8a+F1_8hHnU5xc%@61f6wwuC$m3(artztz{vCb#Lg!-0-_ueN&@4iC0j;D zcP!O$zADDXVsgCn?3R?Xv!)bpyVT&uXk2)E%a^4Kl&xkY-fF&^cHzvcvOK*RQ>RZ| zAamySW=m7yGX`ac&qeGKj0s$ub0I|B*DbW?pcZu&KcA<@m@Z{*Y(BaH>NA&Ql1HlFuZ zTBHkEt~6VBUbF7U1-(RTE0!Nl4^O%Y^t0H{x{WNPuN*qcG6 zxi<_-f{FyEyQo~NJTOuHp^@9load#Z=H{IpWg@wH+FTe6&Q+AvH>VA{C7KP=E=%RO-| zRmP96bf2~^={ON!HRVMotFO7pw7#yEN*#-r7E3aBsan^)yuWMziF;QgI=io|n7!n6 z)bCP}^OmtU)^_UTZSt{ta9mTz^TGn|jD*|+ohSPOQj>)XSHB9`wpDXhr|*fwQxXgv zOHb#V+vK)GCy{mg%EKwC#j*X%4;m{!(mOl5m+9<{0KMbSmY-zVqyDhA#=&#ZtZ<&C z_Gh2hZ?$x|WVgs7f1;`IPRo29>pX#voW1LGBh2oo8$a1p@OGV4&9k0Hwi?Gg1IZ+@ z59?KGdh_RKZh6-D`TR@f+2yhBhYl=j?vMFs>w3yC=iY){Q5Sn>^GV!%!uD6=q589H zZ&z8Sd|EH5^-s__Ua3R#u9?xPj#FxR**{;rOFs2M$n~gue5u_VH`!O2>X+8B@p5d) z=eXrvbKj@_*Q5noJ&O=N$eqZH!e-}pM+ z>y>4pe)t29%ra4qH@6RN{;DDVjeljry%}BC><(_sjDHZZszZ2-o$1@;OPS@*G|!1H zTja{qYkTZN$%2J_!PP;Rx7x0Buc#GGe*7luy>g7EQmjPsY`OBog74HtCjY7B%-^xk z!e<@3;#;NftS1ZaTC^D0`d_M^uwpvL`_vYTp1M=)Mi)O{7D?MNf7i?MxeV6@+FQ&& zik;l&vwC}Ba_oj1f6IS#+3mMsKXHfAzoWg?R*?6MnBjLG-TsMl`_?6G?1)j6I&t}7 z@RQ?J^A6ts%)TOod!o{t>L>r$Z_ zO!I$hEO4!{{3`uwdCm9i_rY51wNsv1D@b7CZmYf`vNSRyNiv{Hy$aPs^5C zEb4#vKsn3b_TO?T>ObA$EOysFJ5>J@Z82ifw--IdObiUySQr=#u(w!IE1uM1l&YsU zIM!dvQN)&+n<8JR7ec4gNPR z+V|a+>h*67TD;5dK8(9A%5zfjz`95Up9fDSY}b(ctsnC#=Jv{9gB{ty_m~bBm08%# zxu_9bx!v*96`?h6w`VIc*}r?$ku>YzeA82j21iO+1g3-qxl0JPtz7iB<8a>Vh#l*H z6b2jSg;#Dq6C3^Ouk+dL8!GPmDypZh^gA0U)v}7&@^I-xSYcJ!`zL~hzz2Mb#<@qOG z&2W!eW?cGYf_i4<+G7UuWuv=uJTANyw~ab*(bbcYb-kIyGIyTDEw?tz-r6{0<;Iti zX?bQ}?%rImvh(6%Y0a&>^Fn2A2np}Mc_p-x+1tdS?$`I4j+2#2`b+k3e#%@m~sFdo@3I?fb);l=hCPvzT?}LQ}ThYZ_~dY@ROlyt8=n(R-$6lvp)h z+bvBzHA|VvZqrKrEvHPLw@l0YzE3&WaKA!f>rth*8&8!zsPg_SZkMPi>al+RnfjxL zy>;^0gAdAcJP$hPEg}C$XYLide?O=G_VNEAy0)iE&u@v4iz;WcUwG#YwV(POla^#? zy{fM5vNGG?B;odhMaM?9i%oP}Tj`?R3k8~QEL-&7r*p$sanuopG^@k z<^&S3Yf({tQBZ0@eo;wgUOGxTo*Eh*E*&cJ&reTQ=-9Mn4vo{cZ3|MHd7>jUr0Js5 z!9|)|RhA`fE%Wd@mqrK^9v@c-z(;`f=BXrYK*n~I*z z*_{6V@7w(NXXp3V|KvTO62q$4=II{N`?W2%vMseb=0@6Cfj^1OyXR$};eObW8du(u ze)HTFd9TJEISB@$jUFxD-0QV+%PVkZv(`bI!giH)5VHQurzg$qvZHyjunc|YARf`T9;RA zl82!NOVY_ZQ&JbI@+X|AZknO6Cw#)Rl@*gau3J4lxrnLxVb1P^ZHZS;#e7Ma6r_Io zm{ImM;mez4Za=r`<6QFeQ(srPq3hAqYp?I<8PB;cW?i`DOzM(jzqRZpoT#=@7dSTY zU^`cu$M)uL(sy(@SL^*fk7*CLf2FF!J={%Dwx`0mD{d%W9?H?sGnR29k=bEQf8 z$(@_sB|T$#lG-NK{&uB3dv~4lHrhO2AT+ki;h<7;q0gz?UE8OApZ&w^+_Y({LX8_@4o9f_J_$XcT&A~J?`|Bl8ae0 zORm3r6L)FJah+e2U*7w4kSET<&L_(v-`pl^hnb0SY~+Mu!{7I#K5H;@`LNZ-t5qy@ z`)MZj*4@NgWmA*p3cY9h^$X=QWVkg}YBUFYd(+2}wbA+Q&i9UvQxhLa{1V$;8qYdy zj?-%sldXMw7yHkmY?;0aPOl}SexJO+pvn74=WYzw6@!+<1NVD>)4K_}y$d=CUH!ED* z`8_V7%4$*nz9YvK_Z&J@VzRe+w)WwP4_}zsSXJ(`JvvvB`4f6bk;u5-em2% z?cKxdr1WWv{nxlIL^=~DBJUM4vgcYYGt z`%61yR>bYDKV7X;H_WSV?A48rZ8P%7YcMpb5UrI^zahms@ykPgwzTg;i+{hI@WlSh z*Q01N9rDa3db^nz7_wP$juOG^T(``elGGxUqN+FKW!_~6fq&b4Uz?cPUTThWs5-zEA)q7j_AAHWkjPteXU?7b zcy|8Z-{-%_GrUt?zp(kBz^1f!+ii}U%btIJX>&~Qr|-J=zRZ4>eO&c&*@~83rad=_TKClYQ1_+FQ{R=g*UU41ayi_6 zU!1|>BLb(pW9K=j=e>C0DDRwpOXF)pqJz8muBlV5EL1#qA-=$7-_=#&JML`M(px^c zX@lZLUr4APidnMcSR$nZzH}=`eZ0eIZ#pH}3&)aBuoy%MI%=-Ci@>yxE zFd1$h<7lO)tDgmhUi?%RTzY!@cbWCmW~q0Jl-@F3!g*seL%!DUJKsW&O3Fs+2o{!A zUY_RHS|GEm?0ii3z9kV?o-0i&ozb{n-zmFE;*Z1OQ>`~1PV5V{38~=n{A#dfss8br z@E_Y3#oRu#xnhmQr5&qw!~Z<=vt^mmdavH%hwjW9s2l4-r@ITXP~7cGNb`KfNmK z&D?~zN6Lba^?K5lzKd3V z*VQhxd-6b@A)zE6;efgyo~ zfx(18)eV_>Nr8-gl;$CJatGh_6Lyray?kxkZavn8+g7Xy3EUn1wrjh9P_v<7=8g?Z zK9*@*Hd=D-QOUI<+b6kPta!-$Bj8y6GHns>jyrE^_CK$w|NZ)V|9pmP7xfg6U-0{4 zVCOT{WMhb1#!>f;V)8+TW{-cI4N#4Gli&ZN;*VLV*9##op0Ar_-mdw0r)FKsa zH0|b@y3k<#ksa%wPV7yI$Zgx45G*Kd_il0EAuZ=0_m?orJy1NGqp)>D^jWF2jF^C* zCNpDQBU3ea)@pxw`Iz&N&@3M9>47XA7Z!1T-}=Ct+Zk)qnZDIc0X zzI?=dRn1PXbY=JT-Nn`EhxT7`QMhZ6kef?7`+mmhf^!ZUf{_0ABb!~X)ywg)6c?EM;^DZ%x$cc0M| zzq|*t?9Z+}YfxPz!JD+MLP(SCxc$@k9n;l}KIFZ9687#y-HFK|oNd#E=YD&?X^+t1 zd6Np27H_C^@a+0MX`h_Io`U7xv(_xQnEK*R{*`#umup%Nzi3{e&|fLNIU?c2?%q5} zo^G?WfGZg{+ggR3uTEcBF`2Kgwd!;~bC&Db{wkXnMXFzGQ*>11pH4_T{{MSsP_a&_ z?Ru~L9HnHQ^pB?AJM||i2a6oub$iAIsp2iAnX}E_J#K7u=eb?}hs|b6p;W`_#2uk{I!&xC^a^A1wT@|$Tl|h#<_K)d*O|%i%JS{3AF@ZE zzgT0we{or3`#=Ajz3O{PI*+gAw#ltE)sl5yw{n{1O6M!uZTC(#xqnd=y6Vy$bXnQB z@I3N8h@e%BX)FD_OBfg!S{Vor+7=`xXD6no>SpGp1TnDLN3@nd28 zKVH=GclnLAuLBqv82XtQ7@TmFzu=;_SRbv zbi>IrDfiCIuC%^yKR=$~Tw%sxr7cdzU(-6nHZCvG=@n~C7h1ctbC0(rXYZRAh3SW; z?&h(5$0>T^|b9(Yn&&rP3?Zc)r-8{!P5#i?)DQZB|{a zeYJurn;L#9J8fJV;XHdnwn?qiKIy)t%`#@O7B>{8uzQ`p{iIUkY_kO0qyX6#~@eyxJYb!W`=}Sb5ZaIwu>_sx=REej8~$6gJrZez)Z{YuJMdz0#MTcFvqL^}IjF7G10Cb)q6Q(Ftp=&GQP$ zSQE4)#qz}wmEVYFF?i3mZ~A=|h4bPPe)SE}ZwuRU!wgxhE^qykk>hFE zW2|W)zCL-Yx~t)%3!4snFI^b)EM@NJdaqOeOIJB8JzF7Z-Nmts=g0+Jflhwi?T!ns zI~YeTDY@Vv9aZv$Tjkq?#~Qy1BG_z|F2v41_F-Bw+oFu=mliNG%X5}2k-fezwqjG# zZ|`ef=cb8%3R`<;(^KoB_>ioFyC#cE{0+D&UAiUbRD*{ohuL+nSo!jZt#6mHt_rSN zUAX5)P5aW_fr+dl7eQi%u>Z8)26=)WKLgV<@VLKeDkHpa~cgZ zvle?!Jn`B>f5I*0m%^K;P2Oz0u=9KL%$_SNHrhl)&RSY}zgo?6<-Lx$>U~-Hr(~X_ z8V0l3F{dkSOJm=3WBZ$gyQd90k4uM`UlCzapYCJ*GhvZzxWU@wu6I|(n2mR6U3ew1 zcB$G<^SGC`@mGuw={zfmNq4>y&3ooCoA%RN=b3NjIe)#oPT6-`>el@9;w$RTQbxD8 z^WHfaD|W7MepUb53kn5GCdF+PzpRp|D-m&IQp3Kyr}^3}a~8D+>OAI_{cdUY_21_` zNugh_PkL&+aA}BiMML`&jma^&f))WsSI6jZ{_|!QFEH#XtkG?MC*8R6M_l{jRsJV@ z+f^@Iec%?v%kJJ6kh}6{%{me5wg3Ol6c*T4v-SG~sb61Ap6C~>Vsm-*SN!zFoIqp0 z4`;nDd|c9%{_>bc-XY@+o$p@=m$e=^T2WhUoAqIr*`LJ9pqy1N7KMKZe;etpwt0P^ zq1zJc*@ba=S3*waNKaM0#1{F3qyD~W$*JqJtmp1l+fsBtY-|3c_iHBoJXLfxvwLCl z?+-`p-aP-MtZZ5=Yf^qObKWhte#)OSxa7&|<264hD=27Akc+2t%kqOuYyz&#aamNd zZ)?fEsbSY-@BZ<6p})iHwxN@}S$RPf_uTKA^Y1$8=w3e({j+u@-&P~>$1%Jmn%^d! z@H{kqq3OF@oOcx-=pB0ZtZKrwx^?cH4|jZ;+|bv$#Kd>s{j8@ft14=q{oK1mOSxh) z%MWqJ>=^O0;b$Ice|eLjG`FJnbWKG^=?~L&oPWAzZ$A^fd&kkY&zbE1e10zGx8&>* zzISgQT$Jvy7ufyd)!Iu_wkxg_{5O01nro6Z(QD3iX#L7$l1sHaFYr#||G6M5_ljg2 z%f8hX=dXWe5?i4ep0hE+aAuq6nn}kPzDnNM^O}bO(<_ZP8Yb<=y;D}v|rJhh5Tl9^UG$wKe4 z(NW>cN5nquX~^CZbFB2=)S2g|&RDh~Fr`YQUo?2~MU~*lTVh8;RwrnkZ}<7RJ23FW zoJTg^E}Qf=vT*Xd)VZawzxz9VXJE;TC)w{&nV>Zu`Nf$fsnFWe5K{h54T<#^4ivDxd~KZ$cdVeR zi0D?Q-MTuV7uf}pxztodg#+*9pZ49Ea#Qv9!S$bxx)^*s_~T8#(Yd`QZCkEPQQK}k z*RnY6*`1sJ{(XL|-oO?Yc|!12;GM7hn*)~a;|i8+SNiZ+hbMK;kFzgcSa^kK*-N?a zOkC(tz<;#!1G8Y+U;ekwH$8PlI4>WYy;RE}Q%NjSM7Zl^qt_|znB}Hb3r(A9m70o# zj`FDJ#GJ78|Jd)cqHnXq5-qO3vCWUyJld6XhV5bTQ>~|Ni`TysZZ)d-Y+cmH@y%t;m-q8FFJM*DiC=iX zsM&q1m0N0B#9E$j_9YwQ7VOGR=Hu77qke{m(XyhW@=!|nve`y2kGzUl?Koq72z#Zz z!nGV5x0{EAohn5VWzRg)e0WwhIVRYc=24=GUkG)fq+GdCvc_+;)8NT2`G|JG!}|Ex+p)hgaY6 zwtdIB{u_63sa^VqU!5lfUYBvNkj~~j{p{strCYZT6z?%{o_O-Xd9<_8+{C_3E@EY1 zaOTB5sRL~&prul18V$=1mkt%VJ3WBy&=VnX4`=+h*5p zaNt3T+Bu)BkC9t{$$#Ph(k)-2`+HON&OdMDKj`n6_TTaD_j3YH91{*jO}74iulSqY z^Ebus|NMNPzn@v+;CHE6ER)u4pAo5N9X4U(oC9BE4xg(?J#J`gZ~RoudtE;3vz}QO zF6dm?z0Lm4w8+>TL64jW9jU%ht=n!1JN=$bN) zX|%nW`gq$!P4;PXPe#=l=v^?&*0pjA__o71bhFLGyDjg2SVp~zI3ej8RoW7^?V(Ou z8uR%gv7I-J5-+}*<4~UT_)|jMg342K%^!Cx3_hM$!g)lfxsunGX>PWPn(g_Bi9U~B zxTQ<8e0!PU9Md=N`bOd1EM@7s$InddE?!oy%dC)>Z z4ri2wbQr!9knqbn)Bc$4T2m-TvESx7RmXJ~!w z&z~!kQqObCtPK92#qM>j?xYTf%$+Lr-^z1DJB*#D{(BR#ym^IlyO~ek-RZh1Hkr3` zmbk1nK4}naZ5_D$m1z0Gp8J;yS&el{x4xZ{eLG}k*Bqlud#-9!UHg9DD|0LRa1uEPT0`5+)91Tsh~fP<~FVDdYb*i;lY(_ z(=5NwdddE;C(=Y`d6HCnV^f=D<3G2C(lgDGS)Zrh*<@?4+&?E*wcI;N=T*cZ-gzh7 zR;H{!5f^{$<3yW~Xq(M1?k&6Ac+6>egYMMT>#Cj$9t}>f$~MiqQeNS|#(t5Ox$EZh zvsX1fI>GHL>h3%{Jd-+b~1L~h?gHnKGyr&XD#?V_q*ZoPeu27ZENg~Z-0G?>4l%2llv#l zUHNuS@0s8DE|W|6uYYPw|9L)>&o>XJtM^u4Y~5?IAZ>~v-y?wqZta{(Kh8(%Hfa?0 zZ;|u(*R|Kbz(=86Ue?*)K;r{@Quw8n?I%8zx;!}k|KG}^ZBK=!12q1v#)<-t3T|NBD%Wgl;8&EO_9u5 zfs>n0ZIsLFkl~*9VQ1Im)u%k?DbK8nweqw*INNuJ;$`vReUGwoJH!r$F1@6kdD(FF zm%_D8s_E;rlPd3YTqAGu7o-$_;5r}N+O;c-)(E|l z*munQh<)J8iE1^gZSEc}Up1kreZ#NcXsf|0dY?SL!N|aHm>GSC8%9SDZAuedszVF$ zplE+#N0EPi`cw3xwOsYSGKDslL?3Pwk2g_c`dFKEsAWfko8 z;)wkPt84C$Y_6>gnXLSJ?Lw!B-GWbJ?AbZr{aEXvqp9!KU~n$)@>!m`E;H6 zispjzuA;@qvUaXWoOgj|iBS8^n*lG97pJRqEH1F(*lP0rP^71Siqj45cNW%p>4_!P zHdi(B>k5@F-G6rNW!3*#F*EnJ+?5OtEYvz~#Kn72=h=mQmV3<$HZ=P2&SrVPKUHtu zfrqDpCoaivyVEZr_$;(h=vVoQh6j84jb%H_FY#=$&Gy=zHgV46=qK;Dv`o7x6s@~i zdEe=tD-S>HJg}bsjKQ9?_ttmf{x|hL7mxUrwDfdX*u%?DHz!^@zhCX$=H-)5Z)gfV z5S2ZrZOztmonATHKQ8ci{5f|+)_d()^Vc^&Z%UQEaF)~6;gGY9))DqOtB#Z}&cE^} z{#V;^b5Sd?nCA?+(ix`e@!{7F1lw%>xqVIAZ?x&}W%27zW->7_9Kkb&4o(!s`kr~2 zC7FpinN^7;nfZC(gab_}Q=;>O90iX5k6v&>Q zdcIi9OCg)(H;enC?*DN!yO?0|i}6puv74x@6AU$(EW|HD=w-#>Xq zQpD%b)0yt`cw}F;I#up@yyC>?7Opw5U0(Ml&acp@&3D&~R~1Y@vHfTDyOJH(i^}ZG zjxOAndVk0*rxc{%ipH|o@vXi%cVS)*YhVa%t=w$FW=M7KB+9G z{J($3-rg6lHyfO?wX#XnpB^`Vr{m7NhgM;eb~rwow{Fi`5qqvnJ36CXo;OZwNGxUf zwCJLk@1*P)`);%Nt6nJ?^EU4`Iy1dZFKgkXxb8I1MK+((*hHi5cBP4#{++jN-KB&^ z%_~KI2VNv@afx^usNgX@CNs&W?UT!gKi`wC{_!w98ocsojMd}th|5zW7QRgSlCivi zlhbGNbd!6mPrd{z*ysL{84(?CId z1KaTl*I&k;>(t@*X^)ffxDjvoKeb_w*+JLl*SWJ_JeH7~wZNa#=KZz5zu7&Pm)}<{e!%%hv_vVF=k?iMu{svp=5La{|4GJp z`X{cw}q-&LyJz6yNqo`RLyUhLK&zt`g z+qRzjA~i!f?B4o2_m&Er`&K>g^;6Dy*IuyRKezN!*}dnFekE3)GW^?=uK8wl)H^?Y zX=9_eJEx!RoOAW6^U92{FLTb!tX!10^2V~|I~K02T4$|U^mLin%wAQt!-M&}Ns|?lYPm%#%Xz1zU2JW_iOu; zIh*m;{;)%{JY>}lz&9UQ8667PR`>vMC?;h0r! z7q|{pOtD$9Y0Ham=Y%2zpG|rFH8OJZgwN++ZZN#}wlm5|JxlGqYhtIz_QvExOQucQ z3*r<{>^)S-%)i*vZ7k9%NKK!;kn|ou@vCW$-uQ{%ATA|%@G3e?`+ov2Z9|~LD zTlqfrC>;HKIZx4Ca=zK~H9v9^mD1B6UDrAP)@1L>Lp@ImqEk1VPmZanp5?oFQt#n? z>DIxqtJRDQwHW^_Y4m@1nP;Mdi@Ox7>>4?MaK9zesmH z;#$}0X!I_Eb>WWd2TE)FVotL6HhkN{uX0TJ2h;6(hYpT?M-FLDYJSM`_;gOjRZ086 z4aJkEi60D)WNWPbs4?&0W~WK(!=LW-5IT8W)h7MH>>pxFUmRLsnH+k2(T>Oi`;s5* z{voGpoSv@R{^n&2@7AwXY^ zL^t%F%gT2yuh;Y55m_s}^6Q+V%J(OJPO+_PzTf)sb`bleEce*iOa9sNq~)jNtgvsg z-?TAg!MVcbgngM0#O`s~NE+F)&5jYdv4^iJx483x?4@+q^nyD-ay(7+S>~H>STOtk zmYMQbV*2#L6}V>}m6@k`HR6Pk@#U77rJ1Zt5-ZI;g1#umPL6Ip{6GBV>6LZw7cV=- zRGTVQ#vOOeD)scsyCJ2oI|i+b!z7aeQM<^UPiuO-sd}V#=3Xrfq$eq7%5kp)W;8 zv_@{ydEMN1d2f?C-ka?zvX8B75Z^vGD!buM%#~G7MD&!ti%pcCywO>a_oqh&>k~EE zqjy{G9RAoWTF{%i<9NXmnXQYZzHKRExG`ytyZC%LyMFcij;CjbZhQB5_uNcR0h36^ zeM@=jnzmhgsB&EK-`C6^%e%t1b3IY=)7;i@O!Z6e$^T53-iP0=Z`h!@>|sJ{*R@Su z$xjQ;7?e(0u$Sdl;D5Pu=N>1E=PgpzJ>YF&FSh$YNx$wR;nE!i-iIZ4j{Fq0lYMk1 z@zQfat%@~DudBPc%!BWyCj{;CTQ~9P1>X+N(zhzvGs1WSQ}-mx%{+L{)kjk%cgIS; zt!6rpHgm~8xO6cfJ45cL^^QB=w0_;nQxN+7$JgY@zKW9Alh;&jjKzMRV%n!>z2C4u z|MC>NooRt0ZMN}rH@xx~&rs?s*7vt9{&AMJR_xrUy zvo5^Of7pBdy3nt~T2A%5s*`mmZeQ&xvElZT(1*0^OqREIvz3I_D26>l@E`1 z9LSpSsJty_x8Jh8Ep>a2y_dFV-R}9a{t@S&?)&x04F3;K_S(4qQ`X8PkJY~m++-hx zezMsA*J9bZB#-oc?os_xT34;z%b9)^mdJKbsxFm!zlrIUV0iV$7W>K0?k5(0FPOgR zx7VACliqvpzVzGvg6IeFv$OaALu*-vK!8fPbjdKPM$5wYbC?bp9oD zv=dp#F(t78wBQo;uCKMB^})j7BDVUTn-%jqj(P-WCUMWmX$Z}B?Y^U<~>33{|))~Z+AbxQ~a(r|Nr0j z{reeW++Cep63>d37O#JKV_&AVop|3>1J}!iJ3gH0bt~vXEueo)ZH5vo9a2=J~uc_{h`kl1ZoYrm73NdL0*N zlU%g(&o=>&Mm}E7wvv-&6+3^Hw0G-fFFz>h=9PCeD<}HUw8sfX&)(mXb6)x7S&vFA z=knZ+W3pSPJak$o@=W=pXV5+Il9(f^ZBw4wK8SO@aehf&Tl8_)uhQ2#rt*C8U%9#0J72S1TCy-X zW!c%unbJQcZZrPMTHtBSwdBd^d#moa$&~M!bnR9`)NPYqpX#O)krOiG**6%A=w3g* zRQrBOz+D=DXOaX3|Jqxx}tadg!;4tGs%A>XBw{CUs zwfS)(d4A2+tx*d~*RK1vGW+ZDFYa6JKKFStEiA-brg?PECKV7Qcuo^F=Z`mM!nS?WUA|V=^b}gf|kRD`YpS z1WSGX;T^RebZYU%TFnFx>N7`0_T&5hJN{Aw`O&FAfwo?)_J0vph8S$_>>`OdowKj`0;w5p2BX zB_QR;&6Bfg!L93EW@-vO!4=VB9$pXrr3G!=xoF)9$D?cWE|pZDbvm~3naZ>S`!d`u z=bB1+M#iO=?rE+od$Ptbd7bsWzwv*6D=lu8xHLiR#=cvA&yOuX%j2CO@q9*tkZm?izDa&-icLc8 z9-mqm_hM@wx9JWw2G3V*ecuaTnS{#x-{Voj(1dU~&= z&(mik?~}NGZT5ow^}AQ^@O?eQvF~QW?B&bW#DsmVaAhmXnpl0?Z8r1tpLHQoVXd0g zNn*uTRfTTMw=4R~59~Reqlue{%@lbazzSnd+#WpXy&RtVZZj{YX1il z?tcxr$llm6`{9$XTXo;NFFklE=i}9YnM=GbgoR3Ko>yW|FUwu_eNRXKf=LPNT;1=a z;}}@KO+Pr@b!K|@=JU-b%KXFmjISP6{<&zf;cuPFyKlARjbblJGwzMwr?K;-$CfZD z+ll1Q{I?<;rOG8yIgbP51msrv0b`_ zOLxLrWmCV;+)LTl#=QOF_dxXx!7-){8wDo*|n)%Kg>S8 z@NdNg@5Q@!t+M_i(Yw2O2dQPVW|NZ zRvjqMKyOF3M_#|3&&0s6k(GhL5`Xy(Z$$cn$9syQZAs|N`CQPc)-@g#iLgHl9?Kk=*CX@NRq4Zy*DM>KcPf-@bCtLnE7$hkWy|~b zt@5UEE2KOOQ}}-fmdCs+ox{JD`C=c>5=k`^DfdgIuj;-}V7K|i+*Yzh|L`H9*6cXz zxZZ;{kMb11FmFnqA-&*5rB&>^lZS6So%qEz-TU^$@T%BJXW0(teY9T`r`xsn@Pt*r ztCLuGB)Qr0v|dhY6`Y|qX-96Nh%nE|MMh^$ma5-7es>zjw#w6@JUf@&fA)@#f61?R z&6-#B+OED{9=jswpa+ug@p3luwzdl=7CbvIyGcuAPRe|raNVMGqyN_CDa%ex@9TUb@%U-5&&s_{zcuA*f1aLsO=iBy z{hag5&o5tMc_zD7&UKQ|&FdnE-yM%o$WFBn)B5kS(&@Fx)XhhHgja6~j<_<(SvIg* z^t9C6V_frIKbrAv!E>~Q#BDLs8@M!Nk~LLME8 zX&Ze%i0!!|CKSOIe4X*pkz>*;1Eds=SmeEStrTcgw~D z%lvkkpY4CKz3ydy#_xO9%@Qgbzh<6IK6_^8_j#Y^eb@PZ&-~xl2cZnH70L}-jqBE! z%I=L16!)_{+(a zw|$O2N;~&Xc!jLta^qcdw_EI9oU-HoPrsKlU(QJNS=zHiwz%Z$+y|E~gj|enbUPoT z`lw~?(oO$5V!|)y3;pEmYdkD&-2*AU#lL!`Zje|{yDwO?}4oc9v1A;xoZ@8dydg$zg>ZePPM_= zzawOKT@*eLIBCNrd*1wGhK&s~ttZdhn!oBn>=Z$Zbq@=_SS^`rR^)kl&eST_TN2Gi zm*+{=GJY`*I(=l`&WR>hJOq5!KXcjUt2gP~mZh@KonIUdHfm94-By`wloXwoHtUD8 z#DSR%e%xE~Z{+f(7y2zYr*>6cJ)-v5k^>vL_Ea9M?&&`lar3p%veWk$v@QP_*0?}( z^}Nng3axv88ofC6`;|dUI+KTi{V8|TJ-p|QJdKX=Mu*KdUp#;2jzdBU&B|-$T|E`! z_S}*;xnkbl!)Ibn$C*ys9QB~4;w#(6lXD~w?P%-PvQPUG)AvxOCXlC&83-bZOKkXmMV*g;j-d3*0fo8;|Evv+GR zy?skl$uaI?fvBcg#POA)TGiJ%4(wW`?sy{d%%qIkqN0RjJ`*?YeXX+g)uBz*TyG+) zmqqhAdzVf>{*+LM9R>UiR(EVlTu^o0E3+H(nDf6vucqkUyYBhP{ zpB-(lE6iHNKdxl3JGn&9-28-8aZpvr_7_DHd3fg^OPA2}Y@T;svS@nF`Wuc*mY&c2 zVYBbRyaxuaj~saUyG2m1{rmovkH3~F>hnFS;f&{d;QjjjjeDt5Nk#X+-`0wpb;?#y zKxO&nCg;^fr%i7^5;YTK{U}|u`Ny&Yz5m6tUtf<7uzLMv`QdD_n$~lsJ*SNn_bq=I z{bSpjpYj<$6zg32r+4SMdP{29ugKYzyOG&{CA0ST3tWGf96C9zj_reRYIe} z^KN*&PFp6iT%fKkp5;SvBeV3zr4Oh75ar*ub7qd6>g6ov*!PR>EPQ72CrT~8H+9M8 z>lJ)^n{#ct^UpXwTeDK)W>luMxJ8iTo^wBM&wuQh%q(*Hb%XauCF$qO`n%Y7IaM^Y zZxVI$3X#M=kUjQ{<+~;ZC!ctW-Ev4ZCTxpMa%*Db5H$B+~<9|FNOO) zOZ8j9e_pTSRm)bsFL@#=v#VdPaeZ?3lw#D8qIqEva$;R~9KYNp9*Drj{T6{u}w}rDTSHSxJW>Hapy(b7=^hjq+W6abH z-tbRwZ}gLM2Swc`#D8_!6tCFvV8$=j|K56iyLU9Dyo}w@v1r~TndIoBqFcEZu0OHb zcv;~YegC<7&+?8Mm!7Z?OSrFF6ukI}`xIMsJ;&?w;^mYrUbj_=@44vV>#t$fkhb#V zcY&Wwd7nP+W3mfawdMHYEjw3CSzaT4<@KLQE@i=2k4v1Y-TSYP!#QKyFYX^Kk8Pfd z&Y9I+;%3eDBZo15PVmW4-xd0+(zOp-PUD{>U=ZTy<@DnCVwO8y!airzEx(EIJrvm` zQPKIv=Cn)DW|41su1f>*jTloDe|`{ETiXBn)t&7ElfR|b^xi1Hw0-)_1$F;E$~>tm zZH!92Atm#RD4bNQJYd5TdL~{bM>!JX1hFo?31@{-PGehLu4k* zdp~7W-L2rptFBkCuB)!Ayik61PRL)T71J+H38^nJBUC;T)=IeF8&#vXst+==1 zI7gJhDXxmXPl;`BD%*ZCWy*dRs9wkMT_$m#Q-$KS+qNPcJ6iWcX|HtHtU{kcM_bk4yn3%eJ{8gVREm-{^9wqUw3n=y?MXud)1!N zJ)5;EUvp{QrC=xTiE9qUUw!}j$800r9oehu|D!GKXZ5{y_y-dMgC{!!p>?J3<^^i& zcx_0w|K$Xcx_gFU=C33;q(8HrI!EjILf_Of@YcD*dR zeTC=hx|wR*WlLvUzgxA?@|^YgiKo0dj8Hfa>JH8ws$?BYD9i~ zc2i8^iSk*GnbTH>mk6reKC*7|m0yXT#igf1I=8=U?v#nT!nxzj2h+Qr*B-I>YR<@2ZCY2|B4E0bti9X7N5U_rE-xznLnQxzYEvBbWZEa+x``1P0iiE5v| zij_{zzs6U#bMM->QgasW&zNeG?7q45;~VSdq#T}L*)950m!JE-#N@J3KmVFp&c^Sv zg|9Z9*ly#y-R3MuVy>vck?5;(@^Kn+JLY5uMymaZnQeXh$weP2zgmOVww($UfvY|> zS7t=(J$;(mwyq>iy(h58)5B21{C#&%q0Pc$;n&ViO0?Wl^D#^1cKFfwBOFF2yaFVI z!W~k45+=D!oV;wxyMmWWQ9Ji6eCc*}*)d*I{p;W6<<<)Es?K4Nx^Uy`#J?JXS!a5B zBF_XqUv($;vERvS{H!gBDswZhUvF7ZR9vAI_E+-opZKiIV{r>jo5UlgI5eNWvqRKq z+6EoA#kXV5thp%oH2&|GiC@J}UCmil@wd41_gB7up~|Iy_l9ovu5tc;?dzp!KAe26 ztMxnc!tNK9pI@|h^8Jov{*$shNz z&T|Tzv@qCZYUjxmgPXN|H_Z9#+t&%QywI|EETND+t>VZbg})CYIe98)SWHSOt-Kby zscBv*|M$+14Q~Yh>om6W{wZL#_xYiaDEIT%G>*eB?ya8VV0SQim+ScnVuzS~4~e); z{MvG|bceo9hvtg96}mzS8#o0Yvlq#`o-p=FKW|vy_I$eYGYyA(+>+}rOKnyAAhdqZ zKQWtgTw!}d7ONzleQfN{^7kJD>R{pfn~Nl7u`n=f<|eqN04*Ou+UHZlx`S@JiP&}@ zT)*PN2Q@{`B_cVJ0UndLWomFfym&!s5|irE{KOOiK_TVSGnehZ$p1p$#F+QYl$mu7 z_Ny*$)=sqEmds(CAz%J|PO<#%*Y*E@|CVPkw(wct>+t=L?c)V+ZZ#(EZhX3XS@Mt6 z>s$X!+L$@DiS@Y7)N5B=nBFomU;X;f=`&cCqt>$k|-KJQ1H%@#h-IB&v`vi-!yFWCpJCK-8ie&O)h-tmYlJ@@j)`rtg> zpZna|*`x|oH@4)(e<+ij&)7J#dr8_=u5WwqYB*TCDj&KzZdmMKm8@wvQO=HbM0)wd1vDHG)dg-d!Cr|>wZg3WeHpL z>dcfV4nO5K{-vuQGi~%K({{aXET!i-**4ah>m`d?^za%`5= z>J#c88oc!9{o5!hd8v}Oe}lq;w~>x#J>ObR4h>$$sl)jtlv6I!_5AiJx{dl3R;!o& zRN6UJwbydZiK-t#5BjI=T($n(vE)yB!v1A^Yn(1D35s?x=(V{f6pDotEdgfPK%{<_`I^;ucsW4ZMK`ZYP zQ|))B7w=k{$UIx;-=ZpBmQB80>rQT7`0A~7qxD+x^_51emzKW1u;uP4-MPp3e`q$! zvmVnswDe*6pF_J(*;p0Daq*Z3Mij^Q#rxRjpAnkBh1)_We%}fk9nIYp>)sTwH%E0@ zJylC%+ z_i=XEwYYaL50`%Xb@=LzMnQ+KZld>nzokl_E7_!8**^P2-GYkx9j1JO#HE=E^Fa6zy9#DP=~|I?c)|j;M*|QYRb0X*e*E&>oy{DcPRdj{ zvciD(k>)-%Xa4VZj#>$}*t`~ep1YLM<5j(4bx;1kH3dhm{;_S9{58MFfOXzRg&zWeqtVr?7_pb*lJQ{w^N?4*L6wG2Wb%LyjQsUQw-Cqm3TcWGD@5p@%o%dtO zMKQ4{YZH1;+~-^5cg6bmj$=3bIM(s9zxplHw@A!qC&miV8z*ial4NIKn8we*U`TjS z%`>m0D8INM6>e`U0CceS9OD9{DJx*B7 zxZBW^t3)~fjp?U#yQ5V3L^KpxH0*yhJ9);S=Ef2+Ii<#b!`g!9k7Ui=~vddn?0N#b$Us*?vUNH)69I#M)0rn7H1cbJS| z$;*u6dW{}gFMO;!T->#9v6T7V?whK=K4!xn%g;^|C90O)ZHlx>uG%&yyd|*yq}snX zUz`n;l0Ro}RF`@i7rFM)m~&Qw~Aj-X`VU()+n3HiPfhipewj z9{*aFzuWI!goTV`_9m04?Z-FkiE-MBD=gg9cATXuTe`1uUZv~1u4MULkDh!il=WBe zl#@J?Q+f51h|uaQjrtE7+Wzvazc{~7{o@peGiudpkxGUut9*h*e|oS7d1Ol@xy=eM zl{jIb+qd=E=}i)|?!{Cd`Nxx(yGWx?XWrGw2ke>CCiq9RE_xZst@!=#%7veA8w(v* zl)3g{&w<6aU%sedbZ4>3+;eRAfrYunyPUVF96W60W^l@GllNxtXHC^NqY`A7Z9BeW zXHeU@lQBInDmR6SrtY2o z?9Nro?>k=qes}6x>`C3_25TRBmxM8!yc1ImITm)wu-WEs#Whtk{@V-8ueQwL-Lv|b z&(i)Ki$nB&$&{L#yY5aEo3^S;`|6T+w-uMBguUZTW2!E{V)EL^>c@dEoHqY=MujMR zHt;>Q;_am?iyl{PGWk`m(Yvr%YMi-L`( z7A3_$KP#I3d7<&^>TR1(^nDGu5RkQltJySj>6*tvdY`{7oO*egyS2^vC!qmB-_DtT z6_gb_H80&V=g1AM>Z4_+uZWt}2Qw{>j<2x}5Yy`IJz-qqBiC{N@<+3M@^d0z@#wQe zzRc~|z_nuixvC2JfV>>l`^QY9J>#mrbv>Q-m;K5cOwcII!(*|(7?oXZkgzrZprlUToc+ zF2^$G7JjR^vQIk?uRj*aoirhTLD>;YJ{8#uKmTgE>;5@*S^9;KbiM2M`Ig-U<`s)p-~^5>nlG8JXe``gb7C1CDiT!!_|Hj&M^9%Nq z{rnKFSBpjYJRIu ztZVa$Il8*5Q(|B1Ejova{*P8?4F;jk171#@+j(- zh4d{8@mn2*p$}~0p6_?5UNdQ{-{R-lPaXzuam#nl(_WP7k*g)>e_eHram&q>ceuSO zx3|Ci*=F>+>S)fP7nRAf;(3cszu0(XfoYL-mGu&x4f$7Y`nP-&=2^8-Vaby*8{qt2wAyf!>%GvMqSm+efzG#PomrFITDpBxpSh^&oZsJh zetwU(?CrUGC{FXWea4FaTBX;O7RA4;tNFh&f8Xr$|33e#f3+*g;jLWy)42()ej9SsIvs3QkFMr6nc8AyO3&VWY#vSI@UL(FkY4h#uFEQ!8^-ZshbtcJk%gFyp z_DC#nIeWoHZud4#@w!z{tSR!c1`S0jNI#nYTjim`@GL%@%ePsM}^)z4vp@CG-1Pwb@rp zT=jn{=tlffbqVm}HoJ0u_UlPGH{PARH}A)05s{<({}}40SnSr+(&Vs=$a^+3J#F6H zoAdYY`_FK}Rr?6j;m3!1E_p6p>brE?p^SAw!I`=~Gx=OH<2kMM{O(sQxydVNV50WN z)?f7c;x8E%f;)LPp4jm8;wi7G&sxuEC%0_N?AJcp?q#5JYopF=*;g~pUi>7fD(A6C z&Zs1+IQ88e1D3syLR=DdOj0-!)FbtZQ^`akOV@oxdQkWEt2YB?91MA$74{@%Zh`XL zdOkKk8)vKjhP3HN*h9Px*K9A_baQ2($-DX!N3FHFW7~Ed-0*GsXLX@u;b_G?!#C$H z+8oS1!sBgo-u2~iIeGD^Cyy4te7D)~bp0bMW0&JaOLng1Df}fan*RUp$Ad>(oOh+{ zU0)nJC8&QHudvMl=eE>I|H5v4bePwP-!Y@}F0{|Nrm#_rK5g9-mk9K#^hgQYLdQl`F@;3jV+7;$!?b>P*Pj8A2alcSiVJ z<*i?zHG@5**hJ1MrFX}}Ne||yAB;1VxqkIp#0t|hlGPJi7HtSnS*TPHV!7;xvRBTL z`hp)Tq)cY3>^QuQm2;)wpmiOL1b#4&g2a$*ZCz+Z*+1x*^#x)Rpju54OgP4Kb&oP zn3Lmd`q3)Gc>3u$@D7qsW!hPBV9CFA<8{Tl!b2 z?{(^%rUh+jC4EOCMD=1H&y|iXb(XV{-F;U<@AW!~OrviLrb=>T@5)Lw&di!yuE@hx zoNM$gb?tjY(YqneN)3FH=MU6z$~kQa?_Tw>Wv2s6ten_V?_<0i9uY2!nP*wfihA{_ zjB~Nju2h*Lerat&-+~^V@-^b)44aY z=9E#^o*Y+x{P<0-O{Zio@Fc#snD_P=C+F(tCtG@+KiK)i_@RE{?L&5F-u36%^ygaJ z-l?-$5%osA)-cZmr<;Mk+0mH*6F)HZd&u+yMJYN(qHWlUW?l9cdt0au>QQt zHr-1l7XGK_>pndwYoWT~pBCrT$}KmR)c5vWe^mNL%}e9T!VE#Rh(o7*3O^a!2_OY7QarHe0ZePwq3dGtNgMOyDCeav$#nfdmGn{8f^ z+Yh~}^7tGbO9hqt+K+3UHpOh6wDOj1cD_xC)0sMlW0o}&41)W+^>RerUiKyG=<$4p7% zr1c@|tb#OO%f%c@HJ5w9u9vQ__*l7O!Ue^hyQi+u+9qAOuvU)$^bZX?HxZ5GVH=VM)i{dh)+JtlVTY|J*{KtmLN$7ynoz-Cwxd_;>YfNo%p~ z+nM%uo#P1lc&b8Xe)4JI_&0AP)hx6RnA~(>+pqAr`-f2C0?FEqDPqr;JrCgA=k#ca z>*dtU6`p;j(;s9naq&KDP&2h8wZ;Eo?q;d9nN2!w5+ly{Dtk<@F-F)8a?AOXzf!Z}< z_2Rk@do&w#sJKf0jeb;#Mv53|$m4_1=cg z6)!r~zbv@5kkcdVS>9_iE?2t^S??&q)dQ|sJ`}{U;oz|n;?)7z2qN3W`VOP&Tkc$5+vZ|IhIO2KsoI_RjQ?KxK z{gjL`XPv+Plxb_5=Q^zeZgJNyDQ)Qb6@K}YX+)#xo^`Iat2RoSekd-Roy$7gg6VZ8 z_ui>%maqM?{Xo?%wtmsGVmZs#>z#Xl!0-6w<3Ha$`rGlIDRxIg>E()BnL5udSN)S( zcF|^L-M!gjS@(lutIkJG`ME0nf@R~>eUdUW94gDBejGd2ZXBnU*{?4CPyO-jgC`ok ze#u~7WwD*>`p2l_9yMRq$?d-A@v_(E)sM=5H(KKEA9;#p|__?d&ff>F$o{4PEDL5!4Xt+B^Ng-N@vxe=q1MzB|!USImfr?#P{2oy{1~fYI)n#X8xde%a#t!Dq+9k6xCk^Z24*qH7pnQR&X~8K6|fo z@6_wtb5w49%J)CHzxfmEBY_tOlC|G6`MK`P++*D9+duWc^bVZ_OSRiheaU)z)K@xu zx-{d!bxo}q39R?(rOJ(_e&>xl_VZxZ@AQJk=HSaaEPC6Qef%g{bINOlkb%%lgF874w|y{8EuywwjY3#>`y2#^H@X z<=^hFf5N@5^4W1pTHek3S7zsaJ)%v|a%p$9>hZaMYc?}4wf-um_pegw-675$F+1yK z7PI_}7kn~F$i{Qhji~J4l7!u}&jemhU8%XD?!R#ODX%ay)utoAe%qr?RHVM@xcQHb zfnhEm1A{K10lbP5pUmQtRQREnyaX;kr@ez?Hm7{{P%w~ z-(vgzOoqvgBDpV)<ZOYAFlwL8 z-5{&vIi_6Gf-N3RTKs1BvW*6-7CzSN_V}I=VQNtl)bi(W=U;QU7i%uFTGCn z{l%11^S9fmh3`5U)KiuyTGbl&K1E@+$Su_keZ_(MvTH7Xj_l@K_WbN@W2s+k-lw(9 zQ>(VFI&ZPNK)Wb2=i-IkO%t8$*-T2#&SbLA)t%vZR&6PdeDIC7w^Byklm0kfo-t7% zsChEen#6!aj#{Z*%}+TGueugZb@IV@UgSDhMMu^BUcMvw|{mk zbhFGpvAyFn+fTP?jU|^h^KO?le<^xV^m)$lshdhRMfb{Hu)blX{POUOL$*7@y-e0^ zkhj{|+!ylJMD4|_8*FyZpMSf$Myq4`@a`&cD=3m&``?jA!Dnv z#TmI7p~)AG(~p#&;r2a}UzD+Pxq|#uHs8z}H@PZrhKR&Huv}ZfqqFRtHSesi&AO3g zkBukUJoews+nPOjld)Xb4;{IO%aSY?2lZQ<-sUfJ2t2;{j`-!z%d(%HlZ*@KyeyRO zY8G4g^h3#ng~sBgl`ibbr(G;QEkCSOkbGBqVu0Q9fTK)rXD$42G{MM;d(zpg{!A5Fg%-21@CdT^t= z`c2PkLE1)1msgzOzHctFPqXHxN_<7x$xquw<{j;5D?Rx%^ZE*dW#76=_H&Sty>-Nm91^mpZ<^De92I#w*|nJyYP@yPC#2aDDQ8QSJ=3%mM}J4j|<{PFb`&)ANB z+H@#e>A6qEH1?otAK4BT6;-|Xv6bz`4_)qOFDtqaPw3m8X>S;&BRktF;NAQ8*FW}k zOnnyD7c03i;`Nh#y3?~)1ogFKSLpY?4vCns>wKBWq16S43dMQ6KGyzG>{*;qy)V(b z(A<2>mNPY5lHV6sE808$b9ku#L;L*vn+btgd-l8b?rc8gcXsUz;c0g^zn(Pxh2F+z zd);~krUXs!p5njy=b7%Q|L4}+ZZ@;qsPuFD#ZuAibsu*2ZWD5o{(t?HIYZTtB~I3B zj_WecJJT*9yhY^px<8>gC;0bw_xet`%2>@G^yT%E<5vDm}W~{Nh`T*>HS^J(ckAn^V}Pv0wNzib|lzvSxv5I zm%jdP)#Go%-o@t&-}p16B^}^-cVId50c*ocLLVHo59G>hU(aCCwVUa{?(mKcH@FPW z7yfWo&Y8ShpGk*>#bGzYK2hgVmdU$?ee?Pgf<8SJww(WH&6XnV*?YG4)f(;TXXa0P zzq>1`&Rce=Ro|7sb&ro+diQ=|*t-J^k2BqNnf8@v%N_BYwB(7kmeOzj`?oCP686jQ zYPljR8LXcieWt2wjZtL##JQa_^^+C0&G3ylb6jlYZp-p#RzFIOC++IF=ezRtgKxhW zp7TE~|7Lr0+0~D(Gj}g|c|xh1t>4VkI#TSjE*=fYR(;pX zF4V(p_}Jl$g@Cc0^!x6=6MLo_OnP|Ks&13WZ;s8DvjUEP$_e_UE35dgJ3py(Vut?S zjv%LrH|Go6PCKCQ%(+KPsKWNl`_NS$=l4}gzP)+BK<)SLma=y~OtB9`c)t8*xv*Pt z!V9gEo;|ZHbNLs|Sr*o}G5Pq#Zs9W@RQ}5!T3j(Bw!Wp*YU+vaNps#G^-$ORIi=^5 zZ1=Xf@1`+#Kb@)ib8+S4^WNXz=P<3aZhPHlHoa{>>$m#(R|}0kuaZ_L)Q**x*5+3GoG3yd+rdUjF*6P{>QNQw(;ND8+7L! zc8HiNWl`GQyV!KC+RSY8%T-Uie{5!nb+;C6*G!!FL~YJdruY4xwaRDsmxiz3J!9&I zKlWz#D_A&$|0tZXlQY=Ih}sG$F-^2cW?*0_W?*2DL1_hGy4Ct?{&hPxHa2IrvNAR` zH@1y`7M1*6b7{{Rp}$Q>p1e8oCFJgzJzHwZ*u>n}8rK}zaRY5Fh54@J6Je|j44ga+ z3`!`DD*~@{)^|xQPAAZjgE zbvSJK;Z(0e2kw_Xx0a<%nv^m@X*;|8AMOwA6)&6hmafo={q@TJqyLKP`JT^bvA*&y zD*ATs{=aXg^?$y8UeDn7(37Q_rAoJ2cVnPQsd=KfZ}4Ve<5`n8fAtODeukro>8?Oj!&v@n!66`I`tvze+iggl`=1&do zRlR!c=k48Z&fT2#Dr@GVcUhqyIeUKmtPj>~T6V@IoO8;_s|kML$$rwS9{2p`R~MHK znDnvpKcC3a>M8G%{r(%KE40-eQI=S+<*K8$#E}UODZa(tq3_24 zS0lR3)Bg43Kf9lC?MaZbM``1Yo^6@gmaqEuIGn$_=;bTcT+i~7M^>4$rmfyI@$kox zn9v-J%ZxrB)@*Sta7>tg{>iZdIbj>F%Up{x9$j9;#HxE`{<~d%H_rZiwKI3=t!q3* zA!naIWfQcx_5arcwrLd=!CYb!)MA`gt(o_C_uQcEH8bv~vW6E-Eo0ibYWCN=Y&#Cx ztX`geM*e-g&Z>@gCm5$&zhE=|7vd`iTF?fvBaHs4Qt zUif~=&*)1NLftvjc-SxW9u8tEDq^XXyOViIu;#cxq0^6TIdapQlrQ;cY6|`q`&lRb zenMF1%iTg5t&0*q#GQN^@j{$sQ{zD&Gl}~LKc4Bgc$mn(YQtlp-MdrVL(ZKzQMFY3 z*UM>tH|1PWwhR0Ad*2u9=d24(Fr1j)KmT&5p@xO}-#Ke{N=_AB_+R^GtwLl^^)=6` z&GWNW66eKES;GH#eSzI?p~?CNqVhG3Gri7PbFl4jIA0vH$+IMBmDUNpm?=x2U3NF} zILQ0rs*>XV#(+QUXRcgNT&LAGfnC|4zu)$;=A|@o!&3*~+#oQ=P6^AHM3u zky9y2Cp`3_Wpj6AmS z7(HrqvD_qkXT|pGtKKY5t-i%I@2~liv#yew6FFG7GoKW?vi3`H$-Ez&mW}rn#Q1pM zI_#gjq+6e5-rv8^7j`W_eC2L~<9Vjki%VW^$!IYvoO4e-v)G{7&N5F~t~qVeOcl`* zdBw8^ik$Zh?E-IF7rb7)>$S9~uFCm;oSB>VKRkF}ah{^c4Y?;061g5qbw5RZTbxmp zd=;kop=)}x&`0e@-x`#vJWf9nJbN>F&Vq8)Sr3c)c^=zkUfw@Jg?~?m+^;QqKi9pV zw7z!tlZjWV{_vw#8H&FnEAu!Q7}SIr7!7vn>(M^o!|Mq=Dg+ieZTfUU&nBx zcYA7x#}2jJ9(TXg;9Zi2n^sOqbE$g&VE(%;3r~LVxKZOZH%yt+)Kt#0?9&u6W7R7? zyi0s*eXjFxo~=!N9egdt$MkE7meCB~r>)j1A*HWGY!nt6T`^HQczJGLwq3}f^$u=Z zd!jgfrH_4fY~0Ug64)pnDrENcrDm?eY@3ymhhLp+QCqlAUp81+dDX)1|L5HMEf=P% zymg)0jalQXWCPWvB{JSQkRMlgM4 zo1fefc<5TFi%81_m4#()XL(YS4Rt3=o>p7)LH7GX$+bpNVF4*GN{(Hb#C1zxVdbqg zet+j(2uxhlf8Z{s>Ew$UMX$NkBj;cLAgF1+qw3HKf7x4cs^f1^vdxBzll4u-CBa(3Q4LyH<*x^}6wRSLap%Pn~tQcb3V%3H-{k z`Cz-sGM1(9CS7@b7oNHNDMb9>FK`@h~Q==)w(Dw!Yf!Lz0-(fqPlph`>FlXAN-z56M5bOhdo ze#ksCac#-og|jl9Lvq{I#U%Tz?t4!C{js6P*ys1BNLKzwiealownxv3>vIa!mk;|8 zIp^uI3WQMY?pOPT4Jg@Oe?)DdDWNh8;%xG!!EaC4AdFuf$B$-bnhg%%vPX zR^^?OtJIu7iFmDW4^9?dbadyHy3U)$&Y8=myj-}zKJLub*Vol1obatau5!kzu`K4W z>D5jqTeE@)jSbC?F*o=4`#+Wb(W`pzWl1(Wd&h?LJ_X5c-COOBUDw=w^#|W+j^CU3 z{U84}+NYj4+k5>^?bV%&KG&V`-f>j*wfT*YIufhX{|0GKcG+v?`V8E3tAm_6BcOiE|1c+0hJp>Mk~w;sLr>dL0X=wp+gz6$fc;maOroXnQ} z*XP!Zl(~_`_C`f-QnRnDOzzy#upuT}`qg387_qB`6PGWzD$-RvB~$Xw3q8e6_w?n$ zMfNm^&+IB&8?RTrHcu~h>diwZ^)-J?)tEm!(yqEhIXEOC{$PH}pIcu&(s;S*y6<1) zXe)7D%(+W4aL&F*d;V0j)*q0MG(A@0EWBI!*@Tr+%Z|zIOrFc8bWVN!gY!-D^*1Bd z>dX8+8pK*3`oX;L+})rhd)v*M&a{Y$$5lEXoP9{Uv~8M?zqsX&Qw1kpmrXkx9DdOI zk)f_!zCmOArAXyvUtcUrxgy&4Emw(iWAiPoO72IAUUy`Fgq<$G=lEmI!~M>4rds6j z=^qe}Yckr^u*>^K$;A6w1)}pyul-W6IdZE-I^cYL*Iu^h0@LH|7aQEz*Uw+AWf8ZP zr86MA75S+kiTwb`Yso3e?Ua>Um`z<}2a^BtJX5FKey>2sycgWt^ zmghQ8PspAA#VYpk^X=Q`AKa(OD)#h<2r zTXm}Jy$u_4QFFQfmCHg8!ra6^ZsfXS*qnUKx${M-j;)T1I^dIHDGkldBd&E{~(I=a2 z>`z?ps28e9uH~vI{^7IW)G=YR?|-`e5qHo04}R;PPS49ZoOtXl zhkk%<-;uye3&ace`F`rKJ6&Hq$GSWDht~Pq&kL-(zbeEX6Nr2KL#$1AiRSHYzLiI! zFD%Lz2!HWa-%w5Q$%oW^p+V;bYg#kplHMO(T+!1qPo;Zb+j?WQ&3|nDZ0)?hJd*yQ z_Vk?bwK<=f)mis3+%_=D7vp@GReQCf+ zr4_T7LU`vLJTJQIqD72gPz zO={f#BLC#WpN$2tnd&6##Aau_J8ik=md?H6ACo0CKHRd&^1OOYCXT-%Zo@ILgWIdp z-mGiV%oVeLm$u~n!dKOn*6ptg zh^?;@vorU^&_F@c435(c+5)bEF&6|xG;|IwowY>Om)F>$Tebe7_P+*wn~bTCf|fqr zEdMBd#rF1$M#eMF-_O3SK5tt-`@Ow=J?n*jO=eM^wd=NL=(hH8>FAfpyo?O~6shr7 z;by+Vxd}Se@nU^ZoVkJ;*Ei;ASWl31P7MgD+tmMI({9EziCOcxts^Jw`;?OC^Q+Q- zZH7qOwxadA@1I0gdS1M3;Hr%TlMlQU7(d?jrBoLm?hJ z8i&Aw*+QRv3D+1x;HV~`gq}-1?)-+IZD^3oYL!jerQwc z<_upwos%^IU6Y=?IH1`!%T=;RY-;QW6~i3Q(mbn{#!YJl&kL`Pbp2{N(dm|hy7OVa z^D?n7(pChS2q+a~YRuaHuxI+0nNnXCoo{dz)vbSOGBbU}n!XxGP1AplH@xmHSvU7_ z#zDv4lE%l2^qK=j>hy|MY39hT-68T*>Ef*ry%Y70%bEQxyJu>}EHm>xvEYT+E$bTQ za0#LRZP!$#AMRkw%G8~j?Or&2`j)aO9QwTx>&=#Q?tS+p_qzJwvnD(~1~PYY^(@s2r!&lVldg$p z4Oz1AfA6!n(`S!wO}ZksPrvp{;N+w)b60w(d|AfWS+zHP$;De)FVwD0D3KJMxJ>Wv zS2>%zf91BmF)W?eCv=)LdfLH>Wze-7=qQ~HznPhgzgbCoZuxtIIuUYtBxS!92{)?WYQ{{Mgf z@;9hnnQU>)AlbUK^!{d^@KT%8kNS35#O~}PnF+Yv7;~X>gVFXfR$Z=+fA+)pZJ<3AEmgx z$i#s)KUu5Om`D6q&byD(-bwgg->}wXS>d!qukszwKIv9%dOcy`kG3tl95jU5$}d^8 ze_k?O%~3+^SEKStgFUm4x$Zf>z{b>Py7le0-N!e~>HQ|Vvck!H>+|!HeqURi;{F`T z%ixWatDPgM=T@CIgbCVA%#p;|5k-fj*>0*{= zT$^Ty%NER4l2~9@>J=nDea@v~^V|MEKL#3!Y0XU(P?pp)eBx&GM7FPchpI*0iGo}k zE*I;?x0iWNZoVY;WcU5Phb-kXw{Jf2y|3v+sqwh6po6<_#x_ii~YStt3I^9JiCC) z=DNYvMRzl@`kvjIxJ&rQgLbZqjlC~^y>~0ARSh|LyFz74)tLfquhj?NXjFIIyVt$b z_CnvoZ?g?kEwrDn61e&8PFMPln%I4@M?9{%JlK83?XT_+kCtiMei(m@;=4E7>*zO` zxxu1=ua`2XnIDc=lMHA+^$uH++UCN@ITU zi0zVC!c-n!{f^^>{mFN3(os_{Xm^}mFx6S--IHhh1)p6#=K8CA+mhef-_fA|o++{lO@A50BOqug2}I z`M1474twQz-bf`u@L~bMVACYgL+{0@%LXPkK zs`&1V*PdB_o>xej1Vp+uqi<3@buOsdl9_=ahn;~z4SV5JT$)p&f;L$l5*d6sK;&QE zN|D<)!~z0cG`n=xM#UUpW!)O2Ar{cJ!$$Iwb{pr)$wx2Ff7-)$mA$^f{?x}gw=aY& zxZ18#Zuvag@7&(~b^m{GKCp^AE+BZ~%AB`<`toPT-TRmuZS}MC<*#YxQD(9Jmu%Wr z9C)%&WB0R}?|q!VpP4l`{`=d%1&w*{_rC1&> zBX+&^vXZy`&2b{2PW*1J(%fgKo7_r{8p^DdUw%_}mg@`Y^UwBO%;vu(KFf8&qH^=2 z44*wNM+ZN)sJeJO!m&EQZ|+=uNUg3cxfH(7TNDI-P?0x>Xlmw zlXEBNRc{kl{Ug1@b7qrQ;f)}}4O4h5mM_kKy`%cVRW82(wh^w!nXYV>sJkp3QA2}T%np89aeMnHLT|73pzJ-8m5+QPAT(@H~AI(hj&(nl91^~ z_8*IT&gbr4x9zTw{g&@9_kN%A+2*<3_Wl3={9sMs?BDER(6hC7*`D;*vs9(Gty|sp z$HnyRw5hILi3R?Zi%;mf=AY^>`+jBD(FvJrw&%`e3QHA`zPjw5SxCOt{Tl&Wrsb|s zbIj(uwr$I_n9Dw^eNIP51&8ZIrSA}mid*ga>B8-4*Dk#3TDrCLrm|jmhx+x3q}Tpi zue%&JlWaLQZK=dG>xq$^60<5w|Fk`Oa&IA|lm*X^Nvc(I{iWXdLq zbcuIq#g`4Hl-sB>x*MGNE-O6Id7k@m*A9y#1_75#zApS*6>d6DYq#zt-K)1smu_7v zA@%>8TJSaP-Zc{a*Pd1RY!#Wc%JpgmThOH^uNcl&ezp3{I_F@GSTWDhdS7A1#I_Wl zx3()e^`^dNHq71i=B~2l*|YBaOJ!#MnZHNry|Q|&2()$c`s)6=i7T6*L7=rVtd&zZAEoe^AEw&vbYy*;=3Of)z@s@UA#2E z>S}`Obcu7{6nnpUuZKFVOibzG_b4-la3t^7q6X516CS zKk3VNPvwL8imse>>~kl+lUU2;7qg%}Zs@lo zez&FbEjAT5EdD)X!l&Oe{yY-!x%hj9a*#`x$0wIym05*T3g#@zj1r8s^7^3C%d_0z zvFAyXPg}Qq5mlD2J=9}tDaWw9_QM+fxNirT8rAnbHgTSjXmvp02Tyw8x#|8tK24tQ z^uT!Ir{^0TcE>0`_23nr@2tYTQKfq$TTk2N_)b>+hfVBp9}lp;l-8?ru=;8!xh#S^ zK%}NiH0G17&(3#$j=btS!dIXgbFh0wd$Z-Ez0VBiEX#WsJALA^Z-GCBocOI@v^4K* zoGq8OZT|bE3{S#zmI$@6gkF1WJewz7Y|74F>wP}++hjN#%nGhg_xxZvY372}Len^t z-Yt|;7JfN%Aw!C>*=CRBJZuWz9~(>araw!5vC{HAd&LVGqs8$yhm}?SF`t;py((d}1ac*frNK9BvG-^X7|Hw3?7Il=knnBJtvSF-eD zvve(QdcSS{wwR%^@l=HGRFhL~pUMoDE#%*z6A)c8b?e6PxZ`1Qe>@rwh0L77vdaDV zT-KV*kVz)2UA3~2PlJ!Q{PCS*Y8AQ6!t{LQ?koMl=1a75EB5|*`z@u;IicTsy?V)d zVOxVO8>Vo`lo;iHKQVc(wq5Lh_Ls-p_|tjV_U@j&q4uuOjq`DwQ@c+XSI)4_mz?$C zY{54to~MV8=e_oC&$U)sZfk4)nu*C&;i-h+dH-{euNHgm2$(d+5Z-z#zedt2_ixQbPi`Ht?Vy=w4E1?$#j2K$j`a zaXbYJF0MYtee6g}!lJh7mD+j-*J?)ZKh-VnWAlTtZc5>{0tKPFhxg1pdHZ`=+Wvj^ zc8oHMUn)4SaQ}E?zKU0tz26j}jrEh8m}dvfWYKT5=e=@cznrhj3eKIzC+`$DUCrX> zEYsg5uBRhnlQL0x%I}~~$4@3gA7c$>aXD?3Z#`HdapcmK)63S%Kkd2j;(ubjmqu^v zK7q{!)6Pe^broF5T7NlQqUQJ`y@j`#X09Ue*WeCKEqXi z|Aogj`l)ZxuWl&0J4LC8k%3_<69a<|w#q0sF)y>AGzWash(6>Fd)OdPZ@_6UWUr6djgK4^nBFw*<1f28cVF*0%T?bvXTHs`SN`wf%I12jyTw6NFLv4rEp?Sc znNDqzXO^+Cw@jN|C~tT5=8V|xsop1ZS8cf}^X&0LQJp1n)|nj3gKGaIZu*wHXYwqI zl&nZo9pPOcyTcw`=;U3CHi5_^m{P^d#K7>8nSnuz$hd>#qTb->Y|xEDX~j27Hs@wZ z>0ix|?lqmAF}*2Yvnhl%aqWa@O?DiU&zj8LaFe%M@UP}So{tMxDExZWFLeHlld^>B z?l&>#=DfFlZk_)8`Fj2P3~v^uA4r#g~62Xrq{VNOr=$)NM_CBIhtrD+x24xKl8zW?@II8)orF_t?w1%idcH% zag?(~Ssnbc<>fZNx*1{v{n;+OZ7dO6l@ULBZrs~%@ajB^@ zb{zch;r}nb#mN(woOJNn$)mqOEzhWA+RC0wp{~NwX4@_LAko40>iP|Fa}WP(x#fOKYKP0>rTo$+ z>ld$E+m-Q_-(c}{jor_0%s71N)(q!2cN#r3%wl^_?^xuy?vYew{-s?WyI;?G#~T^4 zuJ<0liT#3Wzx$qb|Gs;EM{2^kICYi}4JL1dc6amcTA+2QtnaMy%d5F}6!T`=+}^?6 zyy*RddCy+Hxab((y`(6MrH&c3G(MdkF=IUg1A`zV1A`usi7GKECl#8o`fRxlIS91g z&+z%fZ0mMu2S?epsLrOYziK^+&YL)A_g0v3^FLU4q_?%~(E)?cZI%7+Kkm89c*cFFDlFwxhDEk;!PE?w1CA!<<@e!dvpMSRs zw9c;IH0@%iK}@Xhx?9<@2@Vl|%JNPtU*C4GSaIsVh}bg=b9@fz&ETA@|9Z{QFPtrU zx0KrNHNP);Fy(pL{jV3^%J#&edcDN9{VpFP1H&Rl1_mpFUiZrf?Gr5yO3h8o%yX?s zPDNfmKZD&A8FP$j!O2A%e?e!3yRnZ}K*Dtv<4D4$H^wGbTv< zVEm(T#Jg+8j1L9h=K8;XS6jEYp26Z+SqI<4BfEA+TyYCOboH2qI#=eGP3KaVt`!uv z4owZcx6&!A`0J#VsmkpiI2O0oOjDYkrdMar(Hvx{`#EIiq@Rb+sy60v?%imbs_HxS z)SfWAuy&4vJDJkSJiD;riNrJe zMd7wDCl$>4lRnqjsU$yp`pWFPJh%VeF1w=BV_R^2nRVF%)-<$uO z`v9YNW7h^=8?V`WIwwv3KI`d{Jv&vGFXD_VYh3(luGk7r>D6*xR!`k4U#^u?TDb2y z^TNAx{}-Fc-_}mN+IpnfPI5Wt>-h=sH+UNjoHhCqTKb2hHo_qN!ds{B=-+d1w`_`JvUN?@F3~ci`Uy=Tz_VBw`=Wp3=etfdS z_=(Gv?`!t$d(YF>mR-?zdP0@)&giU`)T@$0zN@pP=e?iBQ|>gmOgflJe#YXyY~G#w ze#tc+Dc7~Sn;fCr{&|IN+wO+vv>Dr6S&g1aT;e@# zHvd=iwwL=1Zq@Gc+4iucr|xut?mqse!1rrSlWxp;#`DrLR_CVW)x*IZ?T77G7$#f1 zkvDpB`tpwRtqZ+R>~K2r{BzL>kxvof0S*&Y`ZZ20XiI3%e0I01|NKkKb5{-;+NY0C%W3+@ zp`s$FYR}sGr!Ym1J0*US`b6KX_zBmv=1;I)6w6}yOK$?}v=v1&v%(4j-?*6FOm(Qx zZc3e6)B48Zkp8&>&gm~tN5%z;9zPXYr|@6y<*D)~^Fy{Kuko}H%Cd-`Hlv~RQmn!n zC9y)^0+H4B~On=^`2Zt}Pv zWZ-FKxcH$feDC*~yYdWf63u-Z&K@n!k=jqM>)|_-u1uJkzES*Rp7@tJywh4r zr_3%8`dVY-ny#HVqe%OjtW#0T+5a2=AG39cc)*_cwXppkT5;l;bBJ*UGXuk6b_ND* zY=w4Seo1CpW-_z^o0yqXS_G@CLjHyeyNm1J>JpHx{2hwaP3ecR~1r?%1zUPgk8< z_vBi6S?NXL2~SmH^>>B!PG(g*tG6w{#$V*=S@CtBkL~-O9mqaI@N>g8{#A2VExV$; zU1!lwU4!YrOtMw%_Nrdk{bEW9ldZ&r7snSk_-pOG%D>9#ki(qt!$P$dN)t?Uqt~0p zz0D|}{87Yk?xIzBn%5t_PuP6DI`Jy&xpHxlt0qQ;TSW5wFTFOg54d=5*}CfQTeUL7 zA5>_`Zrc2C=d{?9>IGbr+4hN8d|m10QPW!3=(s3m)2pqke&zb^y>!rRM~|k^&-s>~ zhgweA6s}nFValU_wt*||P%7Sm}URA}0ns}e{o|F3gazx5U z)yA3UuRMA8Owz)i_5F|eOv(SJdOUvg`PnL^*cb0#Zuwa`O*kcY_q5}SBOWHMtut|W z*e>$b&dqmCvA%qejm9LSD92YS{GZ%A*B7=)Z`AxK{6bAF`^<)iD<65s&&{$q&~~G? zN%W6S-~r{vx>aS02Bva_#<#Ym*rqh}EtE{{xj)6+@tDUFE8eujnLAwf=6uYZe$aN` zft?n<=c-;j>`9z)pQqk+J;z^Zk(cb&_FnOAl3?c`7$7*bEyVZ!x~wl*qEUVZW85(V_U>i2*&=N*tMHp8j%vW5qLl9#g}Q?z8u| zTD~nl73O!qGyMMcgFj*#-Y3_nTZl4!-+IvG3P-^v;Tl7snr*Q=ea|JoNszzXYFp*A z`L~Ctk#EYq#5Dft?d#17dpl>JxV)-!x35l4`s^L$3rt>of2CzPd-3;2v({VOO5zoH zd?G>e{?FEX`Pu*dEZ+T_S-WP!H|ApbG{xQRTSG7XPh8f?d+BD}Y+DsGFEa;m^S<2@ zhirHg87D`4aW&T6we1Cq++)s8-itHlKaw=`5t_yQa^YQT!NxcN(X&gMx z-yDQ~O-S4jvM=$3jBDw{!wPMmC7h-u?$MfR;r}knDgJYmhJ@PczypV+*DdY6e7Gm` z)QrU4w>B@RZ8KC(a&`}I%T|8HbM#XBpN$>Ny6<&s?rWWyYr}G=bz{3{+sbcqD7?)278KFMAFBLRmiWPWz(Y$Yr3=G>@7|_l}gH}%{WqVL*o*%fZPc4FtP%I6;op;$m zz;<@a42j7*^rloV6j-qF_O6Kn3XKjcL{?6E$-MH{zEZQ3VQIZJD<5p0py6Tjfw4v; zsqFTYRjwyQr{$bK_w>x1na~qkj&Ev}a-NX(xL|w8CXUTPniE^Kbf0(}+cRM$*Zrwk zm*==%dmEi$V6#rn;DNHCt$|5*=b7EBrx>l``Pj2?^YO{=0-hAA*=HCZ{`2z3_4+p= zmumD*err;UvT|& zVo1{Fn*GX~boWi>VAJE(cod0j9g^SokO|YpLzD4dcgNCp^;0+C2m4hz=t&g&TXyx zMJlqInvPHQlCE%R?clj&)O}QXb>8UG>K1FC+wlIYvF@z zyL%pKNv~Pd)1BMbsoI=p<-KURk0oO1-_@5x*X>*v=YHVp7o#lRy}CD2_B&ki{&cC% zxNZag@%UTrxA||F@0j2FTBkNw*eT>A$8?V(k7W!o$7KFW?`T^6r10zsp6k4Cv@gwY zY5dRncKwb@p?92DKV3O+RyM4JVfoVCJJMIZpEcumMZyC4MePkL{Uto?{&Tl@_uk4! zO+?{xX3Sq085ow5oQRAdecGkL(ctTsm&NWbi#>gbsq4{Rt-GvZl^aiO=+UXOrBX)&uu~=sH*|wt}_S78UlkfQ0xNus3%C)$qQ}$jG z(3hCwEVn&)qG;hcga7F-wi!-Le!EoVt9IM>?&%&M{12RyYrg9HYY|`DYrS;~mMzs3 zH(O`5BI%Z^tZ&=F|4X&6+6JEu@z>fIT60JIrQZF1R_D#rU2N_>UU}uY@zSNg&upma z49UK-uWh5;_mpYeOP_BIYPx>o_Lb*r{1C!~8eQE9UoRckk=tR9silEIBD= zk|x9E8H@L~O7HNL`|OssBQ@dvq+=>vfAlkIjvjK|p?CGuxdUhChL&(GU)o-gvMPV} zjN=ta3+69sZdjuBQo?V(R_63Ir_hqn&phu%pd_@BV4egmkr}Xt^xfmp|8c)6_`icgDqKSRH4O5tGwzzHF5=jEXwuu8JLk+a zHvawi`S$k=a!F_1dKEo37w(AHifoBoIpu`YRIwtJm?c5R&nNn-2=~ZjZYSn-*26n__E|r_x&=iOq+=*)u#m3&QZL& zKd^c?&$Tcs5nqFtfj6rzEo)_Xa+D9fN{?xxZS8D!)k4rB7n)^XP z?C+K{Ngsn=#Z?){MqMw-;JU5lcPVDo$Lv6#OAC9aYNagG(5vxXW;uS}`i0jn+-`CHW;toz#OdE=e{Xi)@$Z#lRNaAn zhkmETh`)F}L*P-T`3{ds-bSnsgv4IvKQvl5;drRBag6bX^Pb5nVIk#-Qy~{&XUqN7%6sP8w#%cQ$OJA>>y!MRL&!B_pih&a<9x(sV zIPzxMN+zLI+KDH>y@@$@X6DSlKVSdmXXxLUwD_37lA8uLI#YEHtqJi;S?I+rdAdW~ zDD>g%pxl|8PwaYarqiZ=m3dpGjv9NLo8hF&^4=gmEoYn58J3Sc&7T=*8Xw$H;g(bX z#-p$|ebStH#(QF|-1l{T*c;21t!yjcYYUGrxKrJ=-iVGm3{ntipL zEwB91adwfkx#TmxpMw0t>)IZ!JbEzq&ep>Ah2fHSj@sT?uB+)1_eDMW(frW6^2H)H zQlYm_1v|NmWoHRdXt|_@?qT3RQW4vw!L zzaw|`5bvEop03Fjy1EYw!)f-UqJ#_)<(cKzHBv()A6Yv8?ohwG z@5E!Deb>|4T0eixue+_eh}LOW!Ruzq&Nkw|&`$m5)G4D6czd z%C}sdP(@?M!iU*LZyV1Xxo4tS?tMI0#pXO~@Ap0`|F@Pkzq@7A_^ zYBHP7Px#WcXUqLH@-m0NPVc|?iTRu8J@v;{?(xT41pIpnr>aa(;W}V?=JNeRrFRti zXM?M;_{pGZ?0iP;!MXMi`BsXhK6vJ@ZPj@B60?m7s0>oJF}vUoErZnk=WaQTQ3gqE z_gD^UPH!f;3^Icyp=kdr4kG{3w&&f9DnGrb!u_J?O)-sqZ@S%*1%xJ_Y8JTH{_f4Y z309_i1w6mF&+JgM`@#Gt@R%`kx5lw4HvNXI(O#$2OoD_`ZrfVQ7Srf=FueQS7}wtZ*5uh^Mb^+&^b$XhAa+WB(a=Xx;ylS zPe9C%S-s{{X5RSMJMniAJES>%!FDf0#L~N~FPpBboEPVM;PngFD^gXn3r^HcT$27| z>EC649|)}5U(zv6euMr8JE`lEpkk=w5yN!PBF|+EF$Z=2>c$*3{j?)5rA?acn`NfY zq67b1uBG4kCH&6z>ZgMT&dPG$8!HH?9Fb*U=%?-&877CQ8;}clDL#y)jvbIWR1M|~9&bqEXTpL;n zm+dprmMxiEdOcF?^8QQmA2!FDWG{PJeE*m8)#__Y3sSh65^sKvoA+nPc&pK$l^lfS0(<`NOjkhd4vuD-%mDAMDt-GM!VeE5N?w^mX2D|=E z_6wcfLc1i~vW`tGlnj@Ux>7SweD1BY*FsySTyCAT_NAAX_N|R-G0y!hd2Q1+OG)nC z;n!#~J9<@a6i@6!ulGx|)m!Yoc<*prYPEi?6y#EwP_?Ce~j)wYB8+7l&icXN)~&XBj>& znQZo~wZ+2u_xul?du_@sCPrN?&8plwF)_hqfpO^3{*u^q^St`ydrCitZb*BT@k6GO zz0Q5nU)?L4t^V(Ry@;PD^WrJCuKA|kVe|Ael@=znUY>EH*U^vb#g27i-E$;PO%2#5 zz*zaxD(&Ec9s6FKW$!{Y{9o~Iq zR%W@_M1>`GyS`8R&@m~pOxWV8>cJYjLg@)lHU}Ww=mkXs5Ovin;ER6m7%SWb7@xs&% zpNrP*m^kU&o~frUzJBMTnEO;r_jp)xz0s4kH+d|sSu}MuoT}HJypl!5z~+X_59e-K zi^kx@IU*LH7ImrlJ(ksS*x~R#VUd};u(Qak0KE;>4D*>cn>;(wduZC4GaCBmW=e#J z-9Ej3MZmSPCwoe4^L(qOJ@%|B+T~Yq`I4{ow`E3$I}Ta+=kw`2m?_9?$g}#)F;*e= z0R0L3CaQDUBt25{d38e6Cp0a;@jz!db3{rg*O?6}cTH6fI>^e)du^Zbx#WwyiRfQf z=46TRitP|_Nh-R8h8JQSeodU z@bK%U4gKDym=1HLYd@T0{otCGW?J}XR`;|+GxD`|oo1Wlb$v;Zg3yas;UyBZ7Bmbz$1JEwyydalYP_KD`zg8mJd;m)Ue95OkRCHU`f`;4N+PN=d_-zo%3|pq~n`B7V^#8 zxMb?osf>YFou9Q$SN>m~@lfA>mQ3r{7Xtr(yiD0Yx%khUPd86qv|T5bQ@z;QLg=n* zN-F!^^B0A4Yy0lq|9Z{*#~Zhf^NVZB7IWKL9ILZWKl3R~=J@O!)_aE<_~%{ID{%e7 z|K-TPBe!)UZatR#6>BeRxz4io=~g@UulJ5hPMYznw)6c}#d!)JQh0sJH_T<+COmzIQ=Skj_U?^3l%o5MZR7UN zxi{IXd9RyJb8mQ`SD<&~;uNzFN6ZZzRIBP;kLxX)u`T-lo201Qvo#-{o440ajLG1* z(~k3ZY!~cheU`cL)H{cSas`g|^yg0t-euJ+YWcnOp-q~FX4~X@>T}qCxFpM86SiNu zky};gTGI7SU4h*<9sVq>x{=yj8**s*)*HD=`xU?4X1j5|so3b0>8dNY7cUg&bKCi5 z-{K?p!(}_ZJ#esDr*;3@-cPxyf9vjbMV;fiVK{sYzX7p(cMXMsQ}z#qAWb z-rsyxD97}3>f4WhC%&#v`k#L8@1nJHwBGZt`SN?>>U(UTGCE}z{h7UQ@8(-}7nUjg z&~4cM`eYt&&c*upm&=)_zqNR+*Y@fBjQf7S-^T9u{q=U!{VJ8b)~J8%sI8IZx|ffN zGBPl%#I#i z8rlijl9IhHcxQ`I0vqpav8q-CGpC=9<7_2inQ6&$JI|fiB-z)*D8a?J=%MKPs`o#4 z*)zyIl(9ObH~qxQnPGZobwswslm_XCZvGhh$2IB3YTuiQo;Or>a-L6`*j~)FPv}~5 z-qH5S=NdQswdcFPgPnu>kHQ+ecNg}fO(xlV-2Xg_fq|ilfq_98Tk93m)z)aIHQhv< z*0ku-o;_ETXmn^3V?~*JJ2L}=6+8AVx5fI7IXU1ZNRY;KZAf&qaJWcpJBzyH@l_q> zuT&$B#&E3MYA&4>D6&xP$gC-1FLOQk5))=ToXx$herf%J^>4i&te$`C`M$6GUte1Z zb4=$s>-=m^?YGpmTfbY@|Ns45nxQ-)OF}@RaBo?rZpoSjPg?twZTEjUuub|Be+{o^ z@K_g5mm-kJVvlP>F}($#NgIKC*X-Kc*t^IYnkdDPhaiTCwreNClQSxz2Fi6fScr*BrshyExz zTJ)r5$3~sKZsH#Tj^@t#*7PzmYk#&6+v;ih1xt(e97}CHSjy`8AV=P-k-Po!zfC)* zS6TQ8H-4;G`)KBpg5ImOs#Du|B4s(R7Rs9Q>}j8!;}OkPUF9dM6U1+GI&=E;M=I|k zZFVM|P78RIw%|WAepJYfd;?pL&&;aZ~rDrmUUW2TnWD3mh5qv{wB* z_x1FG$HqQc3F_x$Y>huyR_Jcgz08-I>zeRpLC@BwrjPWGFWb|tX*!vo<=kXU+Q_ z@SNLd>B6dx%;~LJ`DYIp*BqTRZS&K0!Rx9GbEf}`Z-|}TW_7i1c7kmDV`<(!6I%ZT z&PaZ^Y~`%m2DW8uuV*vgPnzhHG26`9zABM#+FM)aH;+93KX5iG`s1;BwN&*<78Y%h zWTk%A6B2vhwZ#RWi+Hte{;g^qwGg46PY1mn{<7_mI>PzRclPO$22G!1VqaK&sy6hRdrWoSB%|wW`(sb-*(rRL?KaRpMD!-?OOh7upit zhoTOmIgAVp-AuSLv1?v(PJVG}3M3Pk2KxFRauBHHKI+9P==yo@0$?mKN>qsFzAFz?DO(sPd- zv*KzybkIgDXNrW^{tVVB8$Ay9xJ*e9oYnYUKS$MBdSKMFjD84u0z~AC^OApR>)!sGbN%Z%B^>4(S-<^74G$lBU=j!}T-_3(xo{E3( z^!r;=1pkqZCUYKLS(3Tq2IJz`v&UaNF>pSimLfQ-)j5)_SR=q@v0vMw%N7bWiMgpIsYRJpsVOROUNI!*S||8>GaCvVy}xB!cJ|d@?-i7~Jox2e zY^sIUMr_!&X0^C~rmWXA6YZNh3+qhy>lo~(SX94M5|Q%wG^sM5tk3G^4|Mn{LR)* ztHTram};GlnDLf#u4qrIpXW|zg^<+i0c*6FEVU!to!==3`mW41h`MnkO!2-$PwtkD z%594@YBt`_{DW2jx6i3qynvN~VJ|oK;Un~54l2!a%*lZVwr^@lMt%x3$d`sihYN>` z{NwYSA>i&RB5+V@?FE6BklR75TU_@nRf=-XoOrLz;6TERPGez~>W^;G)tk4g|9<9O z`6{Yxt=N)vQNM59zj*cdzm{9?eJ-_3(1=~le{zmx_5Am5KG#;iH{SpM@8?>E>W{rm zT#bIG=XLm|`W)`PDS7!yu6mi<=B=4`ujW3UWVh{i&apSXOFtDaFDbtyRV?y@by4fq zHqY5Bmwr;Hy;gFoh$r0swJ%3V-+Z6UKIIK7>%C@QOwv3%r{n9%m3fV;S_~7j@{V0& z-L_`icNhMPOE(>V;MSheKZRinA7@M7Ikm4_vLn=*qxCoJd@yA@$Cc?i(_R$q-G5%{ zvh$6Wvs_s$X6uTAH?nSJI@R)yZvv;J+iR{BE!on~T*^7@uB={hD6H|8$I88>E4Y|$ zhp+@lK3d^SP0)tPhEq1Lt`OSI z+Vte!wV3WJ*F_bN7JojH>F9DWn8|c$nCRM$Nut5?OT*>AeR(0W{Z-h8c9Z@o#w8qI z)=Z6P-u1ZZN}BPL8L8qD91CUrz2&}h^-O;in|8k9|Noo)hdf@+3;d`vPxwP-akPztxN+r~*%(el$TY+N(-=eMRa*TrY*_J87hXwaweLi?7@>^`l&M>E#= zoSt`W#ivFi$>_FMn=02YihC9ubJW}7q}9wTa~SnYYbIVR)>&S6_zJtx<;A;fSM)B6 zus8i17Ua#FxlQqY@#MPlO9|aK_Ai_9bhprLmj^Z5PIENxw-7AVwbU%vwq$#~$f9Lu zi5U;;daf4ke}$_o7cQ-u?0L8F(_WW@2Eq%beBEK`9P-j|#m$fs*Uy|;frBrnF5cf;6}p09pn6SV2S1?O}dm6eVv_p1DyHk(I!aOWtLtj~;EcU<^j zxw!k%r@0%Oq<>H44QIStzUJX7rDn;zU<0qh$VAtzQ{Jj_rFG|R`t&nwg*WT;irzKr z8V*Y;n=ZTUxJP?K`T?%x#)~zTCChBs4!!*I>cbZIk{N3iHMjG(8?;y5WHmc|QB*X% zuvc=y(#yL}zRK4x@0{ZEwCw#ffzMiY6U;*|Y~AG6^)=%l>$Obn)*D;5@%XH0a!hz$ zA30%zQCX0ET19L8k(~CJvnk!)*KA!&g8s0Y#yJZu5_3t^o&KKV&HVn?zi)UxtNkOB z6!FRLS@6SX)}}d6(>b54-Oy)Tw{NB8ZMK{zpY`{#{wP_T+r1*rDR#?Sb(0@_ZqqO9 z=#gcL{l_{d?}Ps0$b^~d-3FVC7!dTMzKCog`v&cQih$Ld#g=@+iA z)LF1`;i|Bk*F$dx?Cjy5^8Hac$CkS@!(G+}N$>glf&bI}Eq}iqPWAk2dxrP=p3N=a z7j;+E3r-g=j1`*Kzx#0aYok{Mt@q=?PyRA3d2H2}ELYekyruU6+wRB5pZq??wJp8q z`Rd0ng?>y>&wjZ4tos*EfkfuN_KMn~Kd#(znKk$UiN* zKih<#za)Kk`Xls{vOWjt1uoY7ImTyld z%{+ctm#;H(p)i=$0!daE;EJ5lqqSrF- zO>8|i&E#VDjMmRPbOh`rHFugZG@9#tSs3pbt|QSgYs$SX1)|DK8z=D;$Nj8~wp*t@ zDb{Gwfnz#62Sj$vD7B3|{chFf$h5Ykn_dSs*IVvez3=rYj~#C}g?zqw{iS%?w)ZPH zaq`UDv9@97^-Cg$L?yD)Kh?Y!on5g!M0mjiZ}ll%O}4?-zR#_rge)ZQ0E< z-}!AvkMP_xo{%=}oX?V@hP#gDeS4xWsU^GKAumAe`H7721tMLd_16>a-mCZpy(zl9Yr2C;if2~%T+fn>bGNEql$dp`Kar>v zkZJJIbQ9Y?K?ytFLx+C(^yQ2rfAGBy5nimylBgzhvR98eJBj&C)BDI}&;H!yW_sB!R(C`=sQAnE zN9RMA%dAkdiJZx|Rmpet1-EBW=2}cg|8EzL&kt6)9`b1Wm7+Zd7M=}XRp+R;v&w$! z!80pP>~V8T%&<6l@YyGc_d@XrUv$`Z9Q(2N&+;c-Vcau07fz^V6%N)>GE*%4IUwaGl^V$64ly+%@Pn~TM+Y@14%Mj~p9_KhF@9?Sa|5ctd zMR|GinxIQ3H}P*MYPg!ya$)848kvWMtGDyzydRO=ho`#tPWu0XIp;*^ewVS!Ig=5yLCw}*j?|eRQ=Un;y`|=nh4)*j3IPZV0 zJL|OSaW0?rPb?07K3jd~v9^-Hysu6or5QXY->RHm*l_r**S9$znl)$t{#W}n;R36^ z&fQWLXRUu0+t17|y8P_iqRR5bNRg(JMQ^lNr{((X+~#X{y7Usy#K`Q64;@b~KGj*j z{>+t=XN2aMJr!&1W9E5#J9YBB4IOnlswfdh)vH^Qc!+o2YcvponU0>M~T3)?x*VT_Hych0od2_>ZM%B%i zF7poV__#(P?5X#M(m8j8qEthbcw%>V8K2CF(vnS=xSjr&EpxS6?(Rpsb(>VTzmT@* zT~bqfoVUeLWqzAvTlwWPS0BxOY8v`yYr;t-%l@}ss}vQ#)+#-exK&oFQ2OfZ@e5z3 z+zy+_zGSoH`L~75r;MMTzPWBmS_04Xl9)TcpIyD;S{RvE{5F$QOY;xwLkCAD%(5v!rtoELY|VRiuQ?noS3BqoBWmw%o0%i z9rm-K_*DFyE00o?kuVC3asy$Ek^2&S*+xb!MNwO=qa!EV8#y?iLr@^+d$n4yK z5GRwzIvbOx?n^zdVVim6vrXj9r)-gt;-0m~SbxPu28-~m{<0y+@36Jf-#Yin9!ou2 zo}AF?C=4}k^xR|{QrWxby1(m-{Kmk^9LrALYx>BJIu5_e$Joz|k%2*h3Ht`PV*TLK z%#u_UFbS^JQ=yeO=)?pjN0GMwhPjt@*6MV3D7mcap0=)A;gG`yp}S2VvZfq1+H~&N zyPgNDOD{5i3AiY!zoolZFYTFq@xGtW3(j5teq6ml`%U!;PLoF}Uyg@qKUNRR_6pjc zKXu`;n*IGLvw~hJ>IcZ4Uin3NrStzvi)9l(ZqO>&vuA45aW^T^?EiU+tX#p8kwPox z&gHlAuF9*`4S2IUz&lyk?Um$-vqyD7PMW_5%VBxcgcbSj_0!$t9@A&WZIMQ zvskO((#bXJ+}pMU=iK?j{_@yFsk0Jas`ULGe{WPRnDSR;f~QB@$;)qQv=?z!vu!R< z(vaU%dUN%iGTZnqmHpKpjyufwYddLK!vU`KO#HzgDs0vihCI<|7fQeOd{qyx9e-qQ z(KY3efTPnUGjkj=D+@?oz>>bbyK3_fv^~4Ocj>*{#lpbwm5TxEi89d8hn90;*}=En zL~KucM`&I&=7sA@+{#MceJYnP=>L`fE9z^_ zykw@`zS3p(t1j=(e!P4^aGJxVcYB}Dv#oxoSO5R>>-P+Kk7hQ>wRJq6X2c$P`-^ej z)or}jPd{0`EMMbAvWJvQkJW}bz6A~)@fFXe4}`R(S>Tg#8W4RU*=t2TX;_Y~tDE27n=#wESzRp;WV)%KfM z5t}5DsdVT0J-dY~E)=*PHVA2Jbe$>2k0{+-TN! zvmWiXvyghPGFi0s>ecjJfggR3e-nvGp0V3unyHlO&eXc|u76g&wo>t3!X2(-6d2I? zsHH8uu=!!u$q(;uYM<(4fm24XSSFN_lC=yH!fehctxhT@AO4$7Q2L$ z=ggnIP29Bh{DyCf?sR`zA>uVDprAW(hj83c>k9vayPq83yCik*IFl*w+h11t-tV{S z>Ac^)EOt@v*+w0u`}F^fi;N%7 zVV@!Ddfn9Ki1H?R&f2md-y_YFo-`L#ZB#sR!g$H<+^W2|MG87UcD6NrxZRLFWv=tB ztBLonUV8Y>)L==|TDcXgn`E;V7Vj!smFam{_}g!E%!lunceO@sdF<6}=NQ>o`Z4tS#N`LYuAjLPd2>&~n(IwA zjS&|=gt)kzQ@WOO{`t1NE6FcRG`2ej#s8Imv?S!-%3Zq(&x@$9(_)<|TxFDzt+f21 z+1gN@J$}45y|>#x?dYC3kE`};!i0P5f=wAW6s1mHnDIlhiZk~$%k=t#CyFI2rv6)1 zWaN3iu;)}DqeYKllic#}cE7r=G_LpF;X6w(Fw1DF)lqHr86p{bbu%u9*r;7RmOats zE3c>H(b+SUj$~F{e-SC&c~bSlL7@O+#ca6?(>wb9_Dp=jty29#SuIX!lW5)Q_vU-{ zUY%`otmdD{cK;23+&?X6n}0fJfyt4xhOSOMX0MKIa8k}lRB}t&WEH!Y(Z_C*4_~HF zf}dLE$JLrz*4178{U0B&%op5wg*)flgO8v2*tWl@l`~(_%-Wp6yKv#DlvvS^-z4G# z)~c;O*=F~p-<4st?#Wl|zl6M&Pk#6|x#p+(w&IohUvbsmUMsNiPHM&}5jBqsvdfYh zIqolOx;gEww|CXnwYQvC=Kj7kY2Jb@{F~ox53TCjBe1gAVZYzyTvO9&nt%8rzvOvO z3~=rhh^Y`dG`%wPlFX$ux4-<3)%l{2TIINP&q>K+e+Q=h3m$wsbE^kp1 z6({o;nM9bm7(n2BZ?*-9hG9+y7ARAI;jJTx>FXNesO#zHrvL9014Do}Oe+V&x!!CG z(QB!)T?`Bi^BEWzL_n&ccu6B@!z)~?ucM!*n`>~0p069i1O~7PPz_*;4NQUvkmb)A z7#Olj^D;~Hk@cKKbFd&tIT(ZVa5KX6q*j!q<`rk==N04CE&$dFB0$=$;M&tb1M21Z zMcF92L0$%_g<)P8g8`&F1Fjpo2MpQW__a=kYb{BwC@IavYbz{<7{IpfV`N~+FG|O& z0}|ID$AaAX0ICBsaM2wp4AKI|AblK65St+SGV@AOi}Dh4@LCMIZwRa(>{Lta1{6UK zXhw}Fbf-u|jA4Lyx)_H^;NzI^8-$u*)}Rr&dk7|0oTvKu%xk>8B0ELOfJbRO9c&n zf!oTkos0oUWdg|5^T+mg_b@XsJcFL#2{U*}<6&09rb1eR=w@1ZYc9CJ#K54)$^c#* zfiQD2Cl)h`t?M zRH^L8$iScn?Vur?RwxT|8oEiD`FU=MnK`K`u0=(-BE-WZLnoS*fngpO1A`{aPzI0- z+2t|KbL|vpRKaH~$i49M9neFw;N_D* zP%aGNL^o7k9n(u*H0hXqVAgP(_i*0_m?KOcpS~XR>o* zajIKla$*Yf2o3bm5Zx!4Jd=TeVLt-{gCfjOaB`SvhG}jH|Sg&{3=DOmka00s3R%*aTa9KKG|2L>74x9b zy79y)1-mcB+t7?6?8|e_Iy0UyFff!dGBAk390e{VceNomPaV^+Ry!c~L?4!1@S1^v zp`H;v_Aa(#7y%w|#U4Z()$M#gaWgRdmSJEJLvhNN4is~6v@Jkx+2LnA8|0mGMszcz zrXri+l$r*=%nm&@F56Q*=?wz|Ln9*t1ELoKDxr<0VVZ%*L(a<2?OIqF7+AO&7)((- z6h0ldhL+lwAhhxZx_Wc?q);Y-#LVRmXUUenX8 z4(rFUFfashGBB9Kj0WfU)Q$K}2e-Y0QVa5nN;31(@meC!Y@)ZDiGd-T6+P@Fw&AzL zEi+5(VI~1MD%-|m~ z!NE|h4=E8H^HRViJ*4(maRc|cAX3;viYq_lp#duc!(EIrF5m#k_F=ceOTvsNjER9E zmX(3Q2<9Jfg1vkcuN9!IoL`(-k_z<=mS!cWq;V7bHo1tEfx(#ip?&Bd_1i zXJTO3$jZQAiDCiUQ@j>{YDlo(AfX6deTJ=v4)RA^jPwRB4h9AX5%hBX%yTlV!R{AU z-)o0|FflNAvZLok?GMCRf(Gl8`OH9z3b9I&S`BV_=xe$H1Tq3mb4jE5k#;_=*zz znXF4?_NgKU28I>}bfZ&+@fuCI#w#&Rv`A)PU?^rlADC1UK{lGON#?tfPlT~DFmUpq z_qz9^m;?z`eV5eY5T*sI;WiC>xKZH8)8hxHQZx>b}%-=+#7a;%q3jrp`TfeFnzW?7SmCtCqcaftTP;-<_P*( zxd?-6oCz6BaKI4#G**P+<*q~+4m+9zR|Y~qrxRiP9(PiVho0Jro(6xSo#BWu{=X+F z#zRkZL^mG&d_RQoPCld<4?XP<-FWoV-w?((`;lTi^ei}Za_^aFDcHdTa?U=#MD82zvbgyA!z2^o&>=m~UBpr5mVu!k*{ zkUfM8AM_&-5T>8RW;$U5(GMy>7+4aA>0I<<3(!4}zGE6;nq?9;(@^(Mqnn1ls~2I~ z<78~6!M7M;-Q$aHI{Ic-gy~+XgiXh{wH4ha^vzQUn_RL9+XU)~fcvzNo(`6+ROt4h z@1Q`~w?3bseb{pk`Vw)3k&4CGjD$@5fl092VGG95or=Er8DZ}H5}f8@cOv?dLWEIM dDzO=bEpM=b*Vk1sR55&0XJBxwVq{=o001rCaO?m8 From f6bcd51cd38cebc54ee4ebf724ea99b3ed9505d5 Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 27 Nov 2017 00:07:08 +0100 Subject: [PATCH 28/57] Update gradle, .gitignore, add art screen and update readme --- .gitignore | 15 +- ReadMe.md | 13 +- art/feature_graphic.png | Bin 0 -> 79262 bytes art/feature_graphic.svg | 1186 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 1206 insertions(+), 8 deletions(-) create mode 100644 art/feature_graphic.png create mode 100644 art/feature_graphic.svg diff --git a/.gitignore b/.gitignore index 57157a1b1..80e465e8c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ # Built application files *.apk *.ap_ +app/free_google/* # Files for the ART/Dalvik VM *.dex @@ -39,7 +40,6 @@ captures/ # Intellij *.iml -<<<<<<< HEAD .idea/workspace.xml .idea/tasks.xml .idea/gradle.xml @@ -49,19 +49,16 @@ captures/ # Keystore files # Uncomment the following line if you do not want to check your keystore files in. #*.jks -======= .idea/* # Keystore files *.jks ->>>>>>> master # External native build folder generated in Android Studio 2.2 and later .externalNativeBuild # Google Services (e.g. APIs or Firebase) google-services.json -<<<<<<< HEAD # Freeline freeline.py @@ -70,5 +67,11 @@ freeline_project_description.json # Iml Files app/app.iml -======= ->>>>>>> master + +# Art +art/screen*.png +art/logo_512.png + +# Dir linux +.directory +*/.directory diff --git a/ReadMe.md b/ReadMe.md index a593f5c92..6e91db609 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -27,13 +27,22 @@ Yes, KeePass is really free, and more than that: it is open source (OSI certifie Even if the application is free, to maintain the application, you can make donations. -[![Donation Paypal](https://4.bp.blogspot.com/-ncaIbUGaHOk/WfhaThYUPGI/AAAAAAAAAVQ/_HidNgdB1q4DaC24ujaKNzH64KUUJiQewCLcBGAs/s1600/pay-with-paypal.png "")](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KM6QMDAXZM3UU "Kunzisoft Paypal Donation") +[![Donation Paypal](https://4.bp.blogspot.com/-ncaIbUGaHOk/WfhaThYUPGI/AAAAAAAAAVQ/_HidNgdB1q4DaC24ujaKNzH64KUUJiQewCLcBGAs/s1600/pay-with-paypal.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KM6QMDAXZM3UU "Kunzisoft Paypal Donation") -[![Donation Liberapay](https://liberapay.com/assets/widgets/donate.svg "")](https://liberapay.com/Kunzisoft/donate "Kunzisoft Liberapay Donation") +[![Donation Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/Kunzisoft/donate "Kunzisoft Liberapay Donation") +## Download +[Get it on F-Droid](https://f-droid.org/en/packages/com.kunzisoft.keepass.libre/) + +[Get it on Google Play](https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.free) + ### JNI Native library build instructions: diff --git a/art/feature_graphic.png b/art/feature_graphic.png new file mode 100644 index 0000000000000000000000000000000000000000..85db1282f1711dcc4973d3c5d1521b26915cad0a GIT binary patch literal 79262 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 Mp00i_>zopr0B+UX#sB~S literal 0 HcmV?d00001 diff --git a/art/feature_graphic.svg b/art/feature_graphic.svg new file mode 100644 index 000000000..a5d0610a9 --- /dev/null +++ b/art/feature_graphic.svg @@ -0,0 +1,1186 @@ + + + +image/svg+xmlKeePass DX \ No newline at end of file From b1804a94b672a2784c7371c5b8f37cb7c768b622 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20JAMET?= Date: Mon, 27 Nov 2017 00:08:37 +0100 Subject: [PATCH 29/57] Update ReadMe.md --- ReadMe.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ReadMe.md b/ReadMe.md index 6e91db609..7baf0d9d6 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -34,7 +34,8 @@ Even if the application is free, to maintain the application, you can make donat -## Download +## Download + [Get it on F-Droid](https://f-droid.org/en/packages/com.kunzisoft.keepass.libre/) From b6721b32e738bfc0d55f13ab6997ce15522d698b Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Wed, 29 Nov 2017 20:36:03 +0100 Subject: [PATCH 30/57] Password length in settings #3 --- .../GeneratePasswordFragment.java | 2 ++ .../com/keepassdroid/settings/PrefsUtil.java | 8 +++++- app/src/main/res/layout/generate_password.xml | 12 ++++---- app/src/main/res/layout/password.xml | 2 +- app/src/main/res/values-ca/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-da/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-eu/strings.xml | 2 +- app/src/main/res/values-fi/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 11 +++++--- app/src/main/res/values-hu/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-iw/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-lv/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-nn/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-pt-rPT/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sk/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- app/src/main/res/values-uk/strings.xml | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values-zh-rTW/strings.xml | 2 +- app/src/main/res/values/donottranslate.xml | 7 +++-- app/src/main/res/values/strings.xml | 4 ++- app/src/main/res/xml/app_preferences.xml | 28 ++++++++++++++----- 33 files changed, 78 insertions(+), 46 deletions(-) diff --git a/app/src/main/java/com/keepassdroid/GeneratePasswordFragment.java b/app/src/main/java/com/keepassdroid/GeneratePasswordFragment.java index 1d59cdea4..cc09b01a0 100644 --- a/app/src/main/java/com/keepassdroid/GeneratePasswordFragment.java +++ b/app/src/main/java/com/keepassdroid/GeneratePasswordFragment.java @@ -35,6 +35,7 @@ import android.widget.EditText; import android.widget.SeekBar; import android.widget.Toast; +import com.keepassdroid.settings.PrefsUtil; import com.kunzisoft.keepass.R; import com.keepassdroid.password.PasswordGenerator; @@ -79,6 +80,7 @@ public class GeneratePasswordFragment extends DialogFragment { @Override public void onStopTrackingTouch(SeekBar seekBar) {} }); + seekBar.setProgress(PrefsUtil.getDefaultPasswordLength(getContext().getApplicationContext())); Button genPassButton = (Button) root.findViewById(R.id.generate_password_button); genPassButton.setOnClickListener(new OnClickListener() { diff --git a/app/src/main/java/com/keepassdroid/settings/PrefsUtil.java b/app/src/main/java/com/keepassdroid/settings/PrefsUtil.java index 5c49f964a..9812153d6 100644 --- a/app/src/main/java/com/keepassdroid/settings/PrefsUtil.java +++ b/app/src/main/java/com/keepassdroid/settings/PrefsUtil.java @@ -26,9 +26,15 @@ import android.preference.PreferenceManager; import com.kunzisoft.keepass.R; public class PrefsUtil { + public static float getListTextSize(Context ctx) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return Float.parseFloat(prefs.getString(ctx.getString(R.string.list_size_key), ctx.getString(R.string.list_size_default))); - } + + public static int getDefaultPasswordLength(Context ctx) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); + return prefs.getInt(ctx.getString(R.string.password_length_key), + Integer.parseInt(ctx.getString(R.string.default_password_length))); + } } diff --git a/app/src/main/res/layout/generate_password.xml b/app/src/main/res/layout/generate_password.xml index 58062ba61..0d2b36c44 100644 --- a/app/src/main/res/layout/generate_password.xml +++ b/app/src/main/res/layout/generate_password.xml @@ -20,6 +20,7 @@ + android:hint="@string/hint_generated_password" + tools:ignore="TextFields" />